kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
feat: add publishing of test fixtures
rodzic
d66f8ec11c
commit
96eaf1df2c
|
@ -12,6 +12,7 @@ import { acl } from '@/lib/acl'
|
||||||
import { normalizeDeploymentVersion } from '@/lib/deployments/normalize-deployment-version'
|
import { normalizeDeploymentVersion } from '@/lib/deployments/normalize-deployment-version'
|
||||||
import { publishDeployment } from '@/lib/deployments/publish-deployment'
|
import { publishDeployment } from '@/lib/deployments/publish-deployment'
|
||||||
import { ensureAuthUser } from '@/lib/ensure-auth-user'
|
import { ensureAuthUser } from '@/lib/ensure-auth-user'
|
||||||
|
import { env } from '@/lib/env'
|
||||||
import {
|
import {
|
||||||
openapiAuthenticatedSecuritySchemas,
|
openapiAuthenticatedSecuritySchemas,
|
||||||
openapiErrorResponse404,
|
openapiErrorResponse404,
|
||||||
|
@ -77,9 +78,12 @@ export function registerV1CreateDeployment(
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!project) {
|
if (!project) {
|
||||||
|
// Used for testing e2e fixtures in the development marketplace
|
||||||
|
const isPrivate = !(user.username === 'dev' && env.isDev)
|
||||||
|
|
||||||
// Upsert the project if it doesn't already exist
|
// Upsert the project if it doesn't already exist
|
||||||
// The typecast doesn't match exactly here because we're not populating
|
// The typecast is necessary here because we're not populating the
|
||||||
// the lastPublishedDeployment, but that's fine because it's a new project
|
// lastPublishedDeployment, but that's fine because it's a new project
|
||||||
// so it will be empty anyway.
|
// so it will be empty anyway.
|
||||||
project = (
|
project = (
|
||||||
await db
|
await db
|
||||||
|
@ -90,6 +94,7 @@ export function registerV1CreateDeployment(
|
||||||
name: projectName,
|
name: projectName,
|
||||||
userId: user.id,
|
userId: user.id,
|
||||||
teamId: teamMember?.teamId,
|
teamId: teamMember?.teamId,
|
||||||
|
private: isPrivate,
|
||||||
_secret: await sha256()
|
_secret: await sha256()
|
||||||
})
|
})
|
||||||
.returning()
|
.returning()
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { createRoute, type OpenAPIHono } from '@hono/zod-openapi'
|
||||||
import type { AuthenticatedHonoEnv } from '@/lib/types'
|
import type { AuthenticatedHonoEnv } from '@/lib/types'
|
||||||
import { db, schema } from '@/db'
|
import { db, schema } from '@/db'
|
||||||
import { ensureAuthUser } from '@/lib/ensure-auth-user'
|
import { ensureAuthUser } from '@/lib/ensure-auth-user'
|
||||||
|
import { env } from '@/lib/env'
|
||||||
import {
|
import {
|
||||||
openapiAuthenticatedSecuritySchemas,
|
openapiAuthenticatedSecuritySchemas,
|
||||||
openapiErrorResponses
|
openapiErrorResponses
|
||||||
|
@ -61,6 +62,9 @@ export function registerV1CreateProject(
|
||||||
`Invalid project identifier "${identifier}"`
|
`Invalid project identifier "${identifier}"`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Used for testing e2e fixtures in the development marketplace
|
||||||
|
const isPrivate = !(user.username === 'dev' && env.isDev)
|
||||||
|
|
||||||
const [project] = await db
|
const [project] = await db
|
||||||
.insert(schema.projects)
|
.insert(schema.projects)
|
||||||
.values({
|
.values({
|
||||||
|
@ -70,6 +74,7 @@ export function registerV1CreateProject(
|
||||||
name: parsedProjectIdentifier.projectName,
|
name: parsedProjectIdentifier.projectName,
|
||||||
teamId: teamMember?.teamId,
|
teamId: teamMember?.teamId,
|
||||||
userId: user.id,
|
userId: user.id,
|
||||||
|
private: isPrivate,
|
||||||
_secret: await sha256()
|
_secret: await sha256()
|
||||||
})
|
})
|
||||||
.returning()
|
.returning()
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
import { deployFixtures } from '../src/deploy-fixtures'
|
import { deployFixtures } from '../src/project-fixtures'
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
const deployments = await deployFixtures()
|
console.log('\n\nDeploying fixtures...\n\n')
|
||||||
|
|
||||||
|
const deployments = await deployFixtures()
|
||||||
console.log(JSON.stringify(deployments, null, 2))
|
console.log(JSON.stringify(deployments, null, 2))
|
||||||
|
|
||||||
|
// eslint-disable-next-line unicorn/no-process-exit
|
||||||
|
process.exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
await main()
|
await main()
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
import { deployFixtures, publishDeployments } from '../src/project-fixtures'
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
console.log('\n\nDeploying fixtures...\n\n')
|
||||||
|
|
||||||
|
const deployments = await deployFixtures()
|
||||||
|
console.log(JSON.stringify(deployments, null, 2))
|
||||||
|
|
||||||
|
console.log('\n\nPublishing deployments...\n\n')
|
||||||
|
|
||||||
|
const publishedDeployments = await publishDeployments(deployments)
|
||||||
|
console.log(JSON.stringify(publishedDeployments, null, 2))
|
||||||
|
|
||||||
|
// eslint-disable-next-line unicorn/no-process-exit
|
||||||
|
process.exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
await main()
|
|
@ -1,7 +1,7 @@
|
||||||
import { AgenticApiClient } from '@agentic/platform-api-client'
|
import { AgenticApiClient } from '@agentic/platform-api-client'
|
||||||
|
|
||||||
import { deployFixtures } from '../src/deploy-fixtures'
|
|
||||||
import { env, isProd } from '../src/env'
|
import { env, isProd } from '../src/env'
|
||||||
|
import { deployFixtures, publishDeployments } from '../src/project-fixtures'
|
||||||
|
|
||||||
export const client = new AgenticApiClient({
|
export const client = new AgenticApiClient({
|
||||||
apiBaseUrl: env.AGENTIC_API_BASE_URL
|
apiBaseUrl: env.AGENTIC_API_BASE_URL
|
||||||
|
@ -10,6 +10,8 @@ export const client = new AgenticApiClient({
|
||||||
async function main() {
|
async function main() {
|
||||||
// TODO: clear existing tables? and include prompt to double check if so...
|
// TODO: clear existing tables? and include prompt to double check if so...
|
||||||
|
|
||||||
|
console.log('\n\nCreating dev user...\n\n')
|
||||||
|
|
||||||
const devAuthSession = await client.signUpWithPassword({
|
const devAuthSession = await client.signUpWithPassword({
|
||||||
username: 'dev',
|
username: 'dev',
|
||||||
email: env.AGENTIC_DEV_EMAIL,
|
email: env.AGENTIC_DEV_EMAIL,
|
||||||
|
@ -21,8 +23,18 @@ async function main() {
|
||||||
`\n\nREMEMBER TO UPDATE "AGENTIC_DEV_ACCESS_TOKEN" in e2e/.env${isProd ? '.production' : ''}\n\n`
|
`\n\nREMEMBER TO UPDATE "AGENTIC_DEV_ACCESS_TOKEN" in e2e/.env${isProd ? '.production' : ''}\n\n`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
console.log('\n\nDeploying fixtures...\n\n')
|
||||||
|
|
||||||
const deployments = await deployFixtures()
|
const deployments = await deployFixtures()
|
||||||
console.log(JSON.stringify(deployments, null, 2))
|
console.log(JSON.stringify(deployments, null, 2))
|
||||||
|
|
||||||
|
console.log('\n\nPublishing deployments...\n\n')
|
||||||
|
|
||||||
|
const publishedDeployments = await publishDeployments(deployments)
|
||||||
|
console.log(JSON.stringify(publishedDeployments, null, 2))
|
||||||
|
|
||||||
|
// eslint-disable-next-line unicorn/no-process-exit
|
||||||
|
process.exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
await main()
|
await main()
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"deploy-fixtures": "dotenvx run -- tsx bin/deploy-fixtures.ts",
|
"deploy-fixtures": "dotenvx run -- tsx bin/deploy-fixtures.ts",
|
||||||
"deploy-fixtures:prod": "dotenvx run -o -f .env.production -- tsx bin/deploy-fixtures.ts",
|
"deploy-fixtures:prod": "dotenvx run -o -f .env.production -- tsx bin/deploy-fixtures.ts",
|
||||||
|
"publish-fixtures": "dotenvx run -- tsx bin/publish-fixtures.ts",
|
||||||
|
"publish-fixtures:prod": "dotenvx run -o -f .env.production -- tsx bin/publish-fixtures.ts",
|
||||||
"seed-db": "dotenvx run -- tsx bin/seed-db.ts",
|
"seed-db": "dotenvx run -- tsx bin/seed-db.ts",
|
||||||
"seed-db:prod": "dotenvx run -o -f .env.production -- tsx bin/seed-db.ts",
|
"seed-db:prod": "dotenvx run -o -f .env.production -- tsx bin/seed-db.ts",
|
||||||
"test": "run-s test:*",
|
"test": "run-s test:*",
|
||||||
|
@ -29,14 +31,17 @@
|
||||||
"dotenv": "^16.5.0",
|
"dotenv": "^16.5.0",
|
||||||
"ky": "catalog:",
|
"ky": "catalog:",
|
||||||
"p-map": "catalog:",
|
"p-map": "catalog:",
|
||||||
"p-times": "^4.0.0"
|
"p-times": "^4.0.0",
|
||||||
|
"semver": "catalog:"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@agentic/platform": "workspace:*",
|
"@agentic/platform": "workspace:*",
|
||||||
"@agentic/platform-api-client": "workspace:*",
|
"@agentic/platform-api-client": "workspace:*",
|
||||||
"@agentic/platform-core": "workspace:*",
|
"@agentic/platform-core": "workspace:*",
|
||||||
"@agentic/platform-fixtures": "workspace:*",
|
"@agentic/platform-fixtures": "workspace:*",
|
||||||
|
"@agentic/platform-types": "workspace:*",
|
||||||
"@modelcontextprotocol/sdk": "catalog:",
|
"@modelcontextprotocol/sdk": "catalog:",
|
||||||
|
"@types/semver": "catalog:",
|
||||||
"fast-content-type-parse": "catalog:"
|
"fast-content-type-parse": "catalog:"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
import { fileURLToPath } from 'node:url'
|
import { fileURLToPath } from 'node:url'
|
||||||
|
|
||||||
|
import type { Deployment } from '@agentic/platform-types'
|
||||||
import { loadAgenticConfig } from '@agentic/platform'
|
import { loadAgenticConfig } from '@agentic/platform'
|
||||||
|
import { assert } from '@agentic/platform-core'
|
||||||
import pMap from 'p-map'
|
import pMap from 'p-map'
|
||||||
|
import semver from 'semver'
|
||||||
|
|
||||||
import { client } from './client'
|
import { client } from './client'
|
||||||
|
|
||||||
|
@ -42,9 +45,9 @@ export async function deployFixtures({
|
||||||
const fixtureDir = path.join(validFixturesDir, fixture)
|
const fixtureDir = path.join(validFixturesDir, fixture)
|
||||||
|
|
||||||
const config = await loadAgenticConfig({ cwd: fixtureDir })
|
const config = await loadAgenticConfig({ cwd: fixtureDir })
|
||||||
console.log(config)
|
|
||||||
|
|
||||||
const deployment = await client.createDeployment(config)
|
const deployment = await client.createDeployment(config)
|
||||||
|
console.log(`Deployed ${fixture} => ${deployment.identifier}`)
|
||||||
|
|
||||||
return deployment
|
return deployment
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -54,3 +57,41 @@ export async function deployFixtures({
|
||||||
|
|
||||||
return deployments
|
return deployments
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function publishDeployments(
|
||||||
|
deployments: Deployment[],
|
||||||
|
{
|
||||||
|
concurrency = 1
|
||||||
|
}: {
|
||||||
|
concurrency?: number
|
||||||
|
} = {}
|
||||||
|
) {
|
||||||
|
const publishedDeployments = await pMap(
|
||||||
|
deployments,
|
||||||
|
async (deployment) => {
|
||||||
|
const project = await client.getProject({
|
||||||
|
projectId: deployment.projectId,
|
||||||
|
populate: ['lastDeployment']
|
||||||
|
})
|
||||||
|
|
||||||
|
const baseVersion = project.lastPublishedDeploymentVersion || '0.0.0'
|
||||||
|
const version = semver.inc(baseVersion, 'patch')
|
||||||
|
assert(version, `Failed to increment deployment version "${baseVersion}"`)
|
||||||
|
|
||||||
|
const publishedDeployment = await client.publishDeployment(
|
||||||
|
{ version },
|
||||||
|
{
|
||||||
|
deploymentId: deployment.id
|
||||||
|
}
|
||||||
|
)
|
||||||
|
console.log(`Published ${deployment.identifier} => ${version}`)
|
||||||
|
|
||||||
|
return publishedDeployment
|
||||||
|
},
|
||||||
|
{
|
||||||
|
concurrency
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
return publishedDeployments
|
||||||
|
}
|
234
pnpm-lock.yaml
234
pnpm-lock.yaml
|
@ -6,27 +6,252 @@ settings:
|
||||||
|
|
||||||
catalogs:
|
catalogs:
|
||||||
default:
|
default:
|
||||||
|
'@apideck/better-ajv-errors':
|
||||||
|
specifier: ^0.3.6
|
||||||
|
version: 0.3.6
|
||||||
|
'@clack/prompts':
|
||||||
|
specifier: ^0.11.0
|
||||||
|
version: 0.11.0
|
||||||
|
'@cloudflare/workers-types':
|
||||||
|
specifier: ^4.20250614.0
|
||||||
|
version: 4.20250614.0
|
||||||
|
'@commander-js/extra-typings':
|
||||||
|
specifier: ^14.0.0
|
||||||
|
version: 14.0.0
|
||||||
|
'@edge-runtime/vm':
|
||||||
|
specifier: ^5.0.0
|
||||||
|
version: 5.0.0
|
||||||
|
'@fisch0920/config':
|
||||||
|
specifier: ^1.1.2
|
||||||
|
version: 1.1.2
|
||||||
|
'@fisch0920/drizzle-orm':
|
||||||
|
specifier: ^0.43.7
|
||||||
|
version: 0.43.7
|
||||||
|
'@fisch0920/drizzle-zod':
|
||||||
|
specifier: ^0.7.9
|
||||||
|
version: 0.7.9
|
||||||
|
'@hono/node-server':
|
||||||
|
specifier: ^1.14.4
|
||||||
|
version: 1.14.4
|
||||||
|
'@hono/sentry':
|
||||||
|
specifier: ^1.2.2
|
||||||
|
version: 1.2.2
|
||||||
|
'@hono/zod-openapi':
|
||||||
|
specifier: ^0.19.8
|
||||||
|
version: 0.19.8
|
||||||
|
'@hono/zod-validator':
|
||||||
|
specifier: ^0.7.0
|
||||||
|
version: 0.7.0
|
||||||
|
'@modelcontextprotocol/sdk':
|
||||||
|
specifier: ^1.12.3
|
||||||
|
version: 1.12.3
|
||||||
|
'@paralleldrive/cuid2':
|
||||||
|
specifier: ^2.2.2
|
||||||
|
version: 2.2.2
|
||||||
|
'@react-email/components':
|
||||||
|
specifier: ^0.0.42
|
||||||
|
version: 0.0.42
|
||||||
|
'@redocly/openapi-core':
|
||||||
|
specifier: ^1.34.3
|
||||||
|
version: 1.34.3
|
||||||
|
'@sentry/cli':
|
||||||
|
specifier: ^2.46.0
|
||||||
|
version: 2.46.0
|
||||||
|
'@sentry/cloudflare':
|
||||||
|
specifier: ^9.29.0
|
||||||
|
version: 9.29.0
|
||||||
|
'@sentry/core':
|
||||||
|
specifier: ^9.29.0
|
||||||
|
version: 9.29.0
|
||||||
|
'@sentry/node':
|
||||||
|
specifier: ^9.29.0
|
||||||
|
version: 9.29.0
|
||||||
|
'@types/ms':
|
||||||
|
specifier: ^2.1.0
|
||||||
|
version: 2.1.0
|
||||||
|
'@types/node':
|
||||||
|
specifier: ^24.0.1
|
||||||
|
version: 24.0.1
|
||||||
'@types/react':
|
'@types/react':
|
||||||
specifier: ^19.1.8
|
specifier: ^19.1.8
|
||||||
version: 19.1.8
|
version: 19.1.8
|
||||||
'@types/react-dom':
|
'@types/react-dom':
|
||||||
specifier: ^19.1.6
|
specifier: ^19.1.6
|
||||||
version: 19.1.6
|
version: 19.1.6
|
||||||
|
'@types/semver':
|
||||||
|
specifier: ^7.7.0
|
||||||
|
version: 7.7.0
|
||||||
|
agents:
|
||||||
|
specifier: ^0.0.95
|
||||||
|
version: 0.0.95
|
||||||
|
ajv:
|
||||||
|
specifier: ^8.17.1
|
||||||
|
version: 8.17.1
|
||||||
|
ajv-formats:
|
||||||
|
specifier: ^3.0.1
|
||||||
|
version: 3.0.1
|
||||||
|
camelcase:
|
||||||
|
specifier: ^8.0.0
|
||||||
|
version: 8.0.0
|
||||||
|
commander:
|
||||||
|
specifier: ^14.0.0
|
||||||
|
version: 14.0.0
|
||||||
|
conf:
|
||||||
|
specifier: ^14.0.0
|
||||||
|
version: 14.0.0
|
||||||
|
decamelize:
|
||||||
|
specifier: ^6.0.0
|
||||||
|
version: 6.0.0
|
||||||
|
del-cli:
|
||||||
|
specifier: ^6.0.0
|
||||||
|
version: 6.0.0
|
||||||
|
drizzle-kit:
|
||||||
|
specifier: ^0.31.1
|
||||||
|
version: 0.31.1
|
||||||
|
drizzle-orm:
|
||||||
|
specifier: ^0.44.2
|
||||||
|
version: 0.44.2
|
||||||
|
email-validator:
|
||||||
|
specifier: ^2.0.4
|
||||||
|
version: 2.0.4
|
||||||
|
eslint:
|
||||||
|
specifier: ^9.29.0
|
||||||
|
version: 9.29.0
|
||||||
|
eslint-plugin-drizzle:
|
||||||
|
specifier: ^0.2.3
|
||||||
|
version: 0.2.3
|
||||||
|
eventid:
|
||||||
|
specifier: ^2.0.1
|
||||||
|
version: 2.0.1
|
||||||
|
exit-hook:
|
||||||
|
specifier: ^4.0.0
|
||||||
|
version: 4.0.0
|
||||||
|
fast-content-type-parse:
|
||||||
|
specifier: ^3.0.0
|
||||||
|
version: 3.0.0
|
||||||
|
fast-uri:
|
||||||
|
specifier: ^3.0.6
|
||||||
|
version: 3.0.6
|
||||||
|
fastmcp:
|
||||||
|
specifier: ^3.3.0
|
||||||
|
version: 3.3.0
|
||||||
|
get-port:
|
||||||
|
specifier: ^7.1.0
|
||||||
|
version: 7.1.0
|
||||||
|
hono:
|
||||||
|
specifier: ^4.7.11
|
||||||
|
version: 4.7.11
|
||||||
|
knip:
|
||||||
|
specifier: ^5.61.0
|
||||||
|
version: 5.61.0
|
||||||
ky:
|
ky:
|
||||||
specifier: 1.8.1
|
specifier: 1.8.1
|
||||||
version: 1.8.1
|
version: 1.8.1
|
||||||
|
lint-staged:
|
||||||
|
specifier: ^16.1.1
|
||||||
|
version: 16.1.1
|
||||||
|
ms:
|
||||||
|
specifier: ^2.1.3
|
||||||
|
version: 2.1.3
|
||||||
|
npm-run-all2:
|
||||||
|
specifier: ^8.0.4
|
||||||
|
version: 8.0.4
|
||||||
|
octokit:
|
||||||
|
specifier: ^5.0.3
|
||||||
|
version: 5.0.3
|
||||||
|
only-allow:
|
||||||
|
specifier: ^1.2.1
|
||||||
|
version: 1.2.1
|
||||||
|
open:
|
||||||
|
specifier: ^10.1.2
|
||||||
|
version: 10.1.2
|
||||||
|
openapi-typescript:
|
||||||
|
specifier: ^7.8.0
|
||||||
|
version: 7.8.0
|
||||||
|
ora:
|
||||||
|
specifier: ^8.2.0
|
||||||
|
version: 8.2.0
|
||||||
|
p-all:
|
||||||
|
specifier: ^5.0.0
|
||||||
|
version: 5.0.0
|
||||||
|
p-map:
|
||||||
|
specifier: ^7.0.3
|
||||||
|
version: 7.0.3
|
||||||
|
parse-json:
|
||||||
|
specifier: ^8.3.0
|
||||||
|
version: 8.3.0
|
||||||
|
plur:
|
||||||
|
specifier: ^5.1.0
|
||||||
|
version: 5.1.0
|
||||||
|
postgres:
|
||||||
|
specifier: ^3.4.7
|
||||||
|
version: 3.4.7
|
||||||
|
prettier:
|
||||||
|
specifier: ^3.5.3
|
||||||
|
version: 3.5.3
|
||||||
react:
|
react:
|
||||||
specifier: ^19.1.0
|
specifier: ^19.1.0
|
||||||
version: 19.1.0
|
version: 19.1.0
|
||||||
react-dom:
|
react-dom:
|
||||||
specifier: ^19.1.0
|
specifier: ^19.1.0
|
||||||
version: 19.1.0
|
version: 19.1.0
|
||||||
|
react-email:
|
||||||
|
specifier: ^4.0.16
|
||||||
|
version: 4.0.16
|
||||||
|
resend:
|
||||||
|
specifier: ^4.6.0
|
||||||
|
version: 4.6.0
|
||||||
|
restore-cursor:
|
||||||
|
specifier: ^5.1.0
|
||||||
|
version: 5.1.0
|
||||||
|
semver:
|
||||||
|
specifier: ^7.7.2
|
||||||
|
version: 7.7.2
|
||||||
|
simple-git-hooks:
|
||||||
|
specifier: ^2.13.0
|
||||||
|
version: 2.13.0
|
||||||
|
sort-keys:
|
||||||
|
specifier: ^5.1.0
|
||||||
|
version: 5.1.0
|
||||||
stripe:
|
stripe:
|
||||||
specifier: ^18.2.1
|
specifier: ^18.2.1
|
||||||
version: 18.2.1
|
version: 18.2.1
|
||||||
|
tsup:
|
||||||
|
specifier: ^8.5.0
|
||||||
|
version: 8.5.0
|
||||||
|
tsx:
|
||||||
|
specifier: ^4.20.3
|
||||||
|
version: 4.20.3
|
||||||
|
turbo:
|
||||||
|
specifier: ^2.5.4
|
||||||
|
version: 2.5.4
|
||||||
type-fest:
|
type-fest:
|
||||||
specifier: ^4.41.0
|
specifier: ^4.41.0
|
||||||
version: 4.41.0
|
version: 4.41.0
|
||||||
|
typescript:
|
||||||
|
specifier: ^5.8.3
|
||||||
|
version: 5.8.3
|
||||||
|
unconfig:
|
||||||
|
specifier: ^7.3.2
|
||||||
|
version: 7.3.2
|
||||||
|
vite-tsconfig-paths:
|
||||||
|
specifier: ^5.1.4
|
||||||
|
version: 5.1.4
|
||||||
|
vitest:
|
||||||
|
specifier: ^3.2.3
|
||||||
|
version: 3.2.3
|
||||||
|
wrangler:
|
||||||
|
specifier: ^4.20.0
|
||||||
|
version: 4.20.0
|
||||||
|
zod:
|
||||||
|
specifier: ^3.25.64
|
||||||
|
version: 3.25.64
|
||||||
|
zod-to-json-schema:
|
||||||
|
specifier: ^3.24.5
|
||||||
|
version: 3.24.5
|
||||||
|
zod-validation-error:
|
||||||
|
specifier: ^3.5.0
|
||||||
|
version: 3.5.0
|
||||||
|
|
||||||
importers:
|
importers:
|
||||||
|
|
||||||
|
@ -189,6 +414,9 @@ importers:
|
||||||
p-times:
|
p-times:
|
||||||
specifier: ^4.0.0
|
specifier: ^4.0.0
|
||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
|
semver:
|
||||||
|
specifier: 'catalog:'
|
||||||
|
version: 7.7.2
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@agentic/platform':
|
'@agentic/platform':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
|
@ -202,9 +430,15 @@ importers:
|
||||||
'@agentic/platform-fixtures':
|
'@agentic/platform-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../packages/fixtures
|
version: link:../../packages/fixtures
|
||||||
|
'@agentic/platform-types':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../../packages/types
|
||||||
'@modelcontextprotocol/sdk':
|
'@modelcontextprotocol/sdk':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 1.12.3
|
version: 1.12.3
|
||||||
|
'@types/semver':
|
||||||
|
specifier: 'catalog:'
|
||||||
|
version: 7.7.0
|
||||||
fast-content-type-parse:
|
fast-content-type-parse:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.0.0
|
version: 3.0.0
|
||||||
|
|
Ładowanie…
Reference in New Issue