feat: upgrade to AI SDK v6 beta and Zod v4 to fix tool schema errors
OpenAI was rejecting tool definitions with error "schema must be a JSON Schema of 'type: "object"'". This was caused by AI SDK v5 not properly converting Zod schemas to JSON Schema format. **Changes:** - Upgrade AI SDK from v5.0.104 to v6.0.0-beta.124 - Upgrade @ai-sdk/openai from v2.0.74 to v3.0.0-beta.22 - Upgrade Zod from v3.25.76 to v4.1.13 across all packages **AI SDK v6 breaking changes:** - Tool definition API: `parameters` renamed to `inputSchema` - Removed `aiTool()` wrapper - use plain object with description, inputSchema, execute - Streaming API: Use `textStream` async iterator instead of onChunk callback - Zod schemas now properly converted to JSON Schema for OpenAI **Zod v4 breaking changes:** - `z.record()` now requires two arguments: `z.record(keySchema, valueSchema)` - `z.enum()` params changed: `errorMap` removed, use `message` instead - Type system improvements require explicit type parameters - Fixed type errors in @tpmjs/env, @tpmjs/npm-client, @tpmjs/types **Files changed:** - apps/web/src/lib/ai-agent/tool-executor-agent.ts - Updated tool definition to use `inputSchema` instead of `parameters` - Removed `aiTool()` wrapper - Fixed streaming to use `textStream` iterator - packages/env/src/index.ts - Updated type constraint from `z.ZodRawShape` to `Record<string, z.ZodTypeAny>` - packages/npm-client/src/package.ts - Fixed `z.record()` calls to include both key and value schemas - Added type assertions for record indexing - packages/types/src/tpmjs.ts - Changed `errorMap` to `message` in z.enum() calls **Testing:** - ✅ Type-check passes - ✅ Production build succeeds - ✅ All routes compile correctly This fixes the tool execution error where OpenAI rejected tool schemas with invalid format. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
59da95ce85
commit
78c72b85f3
22 changed files with 172 additions and 106 deletions
|
|
@ -11,7 +11,7 @@
|
|||
"clean": "rm -rf .next .turbo"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/openai": "^2.0.74",
|
||||
"@ai-sdk/openai": "3.0.0-beta.74",
|
||||
"@tpmjs/db": "workspace:*",
|
||||
"@tpmjs/env": "workspace:*",
|
||||
"@tpmjs/npm-client": "workspace:*",
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
"@tpmjs/ui": "workspace:*",
|
||||
"@tpmjs/utils": "workspace:*",
|
||||
"@types/react-syntax-highlighter": "^15.5.13",
|
||||
"ai": "^5.0.104",
|
||||
"ai": "6.0.0-beta.124",
|
||||
"next": "^16.0.4",
|
||||
"next-themes": "^0.4.6",
|
||||
"openai": "^6.9.1",
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
"rehype-raw": "^7.0.0",
|
||||
"rehype-sanitize": "^6.0.0",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"zod": "^3.25.76"
|
||||
"zod": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/eslint-config": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/**
|
||||
* AI Agent service for executing TPMJS tools
|
||||
* Converts TPMJS metadata to Zod schemas and executes with AI SDK
|
||||
* Converts TPMJS metadata to Zod schemas and executes with AI SDK v6
|
||||
*/
|
||||
|
||||
import { openai } from '@ai-sdk/openai';
|
||||
import type { Tool } from '@tpmjs/db';
|
||||
import { executePackage } from '@tpmjs/package-executor';
|
||||
import { type CoreMessage, tool as aiTool, streamText } from 'ai';
|
||||
import { type CoreMessage, streamText } from 'ai';
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
|
|
@ -89,7 +89,7 @@ export function tpmjsParamsToZodSchema(parameters: TPMJSParameter[]): z.ZodObjec
|
|||
}
|
||||
|
||||
/**
|
||||
* Create AI SDK tool definition from TPMJS Tool
|
||||
* Create AI SDK v6 tool definition from TPMJS Tool
|
||||
*/
|
||||
export function createToolDefinition(tool: Tool) {
|
||||
const parameters = Array.isArray(tool.parameters)
|
||||
|
|
@ -100,7 +100,7 @@ export function createToolDefinition(tool: Tool) {
|
|||
console.log('[createToolDefinition] Parameters array:', JSON.stringify(parameters));
|
||||
console.log('[createToolDefinition] Parameters length:', parameters.length);
|
||||
|
||||
// Ensure we have a valid schema - if no parameters, use an empty object with explicit additionalProperties
|
||||
// Ensure we have a valid schema - if no parameters, use an empty object
|
||||
const schema =
|
||||
parameters.length > 0
|
||||
? tpmjsParamsToZodSchema(parameters)
|
||||
|
|
@ -110,9 +110,10 @@ export function createToolDefinition(tool: Tool) {
|
|||
console.log('[createToolDefinition] Schema type:', typeof schema);
|
||||
console.log('[createToolDefinition] Schema constructor:', schema.constructor.name);
|
||||
|
||||
const toolDef = aiTool({
|
||||
// AI SDK v6 beta tool definition - uses inputSchema instead of parameters
|
||||
return {
|
||||
description: tool.description,
|
||||
parameters: schema,
|
||||
inputSchema: schema, // Changed from 'parameters' to 'inputSchema' in v6
|
||||
execute: async (params: Record<string, unknown>) => {
|
||||
// Execute the actual npm package in a sandbox
|
||||
const result = await executePackage(
|
||||
|
|
@ -128,12 +129,7 @@ export function createToolDefinition(tool: Tool) {
|
|||
|
||||
return result.output;
|
||||
},
|
||||
// biome-ignore lint/suspicious/noExplicitAny: AI SDK v5 type compatibility workaround
|
||||
} as any);
|
||||
|
||||
console.log('[createToolDefinition] Tool definition created:', JSON.stringify(toolDef, null, 2));
|
||||
|
||||
return toolDef;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -223,22 +219,16 @@ export async function executeToolWithAgent(
|
|||
model: openai('gpt-4-turbo'),
|
||||
messages,
|
||||
tools: toolsConfig,
|
||||
// biome-ignore lint/suspicious/noExplicitAny: AI SDK v5 chunk type compatibility
|
||||
onChunk: ({ chunk }: { chunk: any }) => {
|
||||
if (chunk.type === 'text-delta') {
|
||||
const text = chunk.text || '';
|
||||
fullOutput += text;
|
||||
onChunk?.(text);
|
||||
}
|
||||
},
|
||||
onFinish: () => {
|
||||
agentSteps++;
|
||||
},
|
||||
// biome-ignore lint/suspicious/noExplicitAny: AI SDK v5 streaming configuration workaround
|
||||
} as any);
|
||||
});
|
||||
|
||||
// Wait for completion
|
||||
await result.text;
|
||||
// Stream and collect text
|
||||
for await (const chunk of result.textStream) {
|
||||
fullOutput += chunk;
|
||||
onChunk?.(chunk);
|
||||
}
|
||||
|
||||
// Calculate final token breakdown
|
||||
const parameters = Array.isArray(tool.parameters)
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||
"eslint-plugin-react": "^7.37.3",
|
||||
"eslint-plugin-react-hooks": "^5.1.0",
|
||||
"typescript-eslint": "^8.19.1"
|
||||
"typescript-eslint": "^8.19.1",
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,5 +2,8 @@
|
|||
"name": "@tpmjs/config",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"files": ["biome.json", "eslint", "tailwind", "tsconfig"]
|
||||
"files": ["biome.json", "eslint", "tailwind", "tsconfig"],
|
||||
"dependencies": {
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@
|
|||
"main": "./base.ts",
|
||||
"files": ["base.ts"],
|
||||
"dependencies": {
|
||||
"tailwindcss": "^3.4.17"
|
||||
"tailwindcss": "^3.4.17",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.9.3"
|
||||
|
|
|
|||
|
|
@ -2,5 +2,8 @@
|
|||
"name": "@tpmjs/tsconfig",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"files": ["base.json", "nextjs.json", "react-library.json"]
|
||||
"files": ["base.json", "nextjs.json", "react-library.json"],
|
||||
"dependencies": {
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@
|
|||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@prisma/client": "^6.2.0"
|
||||
"@prisma/client": "^6.2.0",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/tsconfig": "workspace:*",
|
||||
|
|
|
|||
2
packages/env/package.json
vendored
2
packages/env/package.json
vendored
|
|
@ -16,7 +16,7 @@
|
|||
"clean": "rm -rf dist .turbo"
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^3.24.1"
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/tsconfig": "workspace:*",
|
||||
|
|
|
|||
4
packages/env/src/index.ts
vendored
4
packages/env/src/index.ts
vendored
|
|
@ -1,6 +1,8 @@
|
|||
import { z } from 'zod';
|
||||
|
||||
export function createEnv<T extends z.ZodRawShape>(schema: T): z.infer<z.ZodObject<T>> {
|
||||
export function createEnv<T extends Record<string, z.ZodTypeAny>>(
|
||||
schema: T
|
||||
): z.infer<z.ZodObject<T>> {
|
||||
const envSchema = z.object(schema);
|
||||
|
||||
const parsed = envSchema.safeParse(process.env);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@
|
|||
"clean": "rm -rf dist .turbo"
|
||||
},
|
||||
"dependencies": {
|
||||
"msw": "^2.7.0"
|
||||
"msw": "^2.7.0",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/tsconfig": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^3.24.1"
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/tsconfig": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -62,9 +62,9 @@ const PackageVersionSchema = z.object({
|
|||
*/
|
||||
const PackageMetadataSchema = z.object({
|
||||
name: z.string(),
|
||||
'dist-tags': z.record(z.string()),
|
||||
versions: z.record(PackageVersionSchema),
|
||||
time: z.record(z.string()),
|
||||
'dist-tags': z.record(z.string(), z.string()),
|
||||
versions: z.record(z.string(), PackageVersionSchema),
|
||||
time: z.record(z.string(), z.string()),
|
||||
maintainers: z
|
||||
.array(
|
||||
z.object({
|
||||
|
|
@ -146,13 +146,13 @@ export async function fetchLatestPackageVersion(
|
|||
return null;
|
||||
}
|
||||
|
||||
const version = metadata.versions[latestTag];
|
||||
const version = metadata.versions[latestTag as string];
|
||||
if (!version) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Add publishedAt from metadata.time
|
||||
const publishedAt = metadata.time?.[latestTag];
|
||||
const publishedAt = metadata.time?.[latestTag as string];
|
||||
|
||||
return {
|
||||
...version,
|
||||
|
|
@ -185,13 +185,13 @@ export async function fetchLatestPackageWithMetadata(
|
|||
return null;
|
||||
}
|
||||
|
||||
const version = metadata.versions[latestTag];
|
||||
const version = metadata.versions[latestTag as string];
|
||||
if (!version) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Add publishedAt from metadata.time
|
||||
const publishedAt = metadata.time?.[latestTag];
|
||||
const publishedAt = metadata.time?.[latestTag as string];
|
||||
|
||||
return {
|
||||
...version,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"semver": "^7.6.0"
|
||||
"semver": "^7.6.0",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/tsconfig": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@
|
|||
"dependencies": {
|
||||
"@tpmjs/ui": "workspace:*",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0"
|
||||
"react-dom": "^19.0.0",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@storybook/addon-essentials": "^8.5.0",
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
},
|
||||
"files": ["vitest.config.ts"],
|
||||
"dependencies": {
|
||||
"vitest": "^2.1.8"
|
||||
"vitest": "^2.1.8",
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,5 +104,8 @@
|
|||
"Format an article with SEO metadata"
|
||||
]
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
"clean": "rm -rf dist .turbo"
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^3.24.1"
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/tsconfig": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { z } from 'zod';
|
|||
export const ToolParameterSchema = z.object({
|
||||
name: z.string(),
|
||||
description: z.string(),
|
||||
schema: z.record(z.unknown()),
|
||||
schema: z.record(z.string(), z.unknown()),
|
||||
required: z.boolean().default(false),
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -95,9 +95,7 @@ export type TpmjsAiAgent = z.infer<typeof TpmjsAiAgentSchema>;
|
|||
*/
|
||||
export const TpmjsMinimalSchema = z.object({
|
||||
category: z.enum(TPMJS_CATEGORIES, {
|
||||
errorMap: () => ({
|
||||
message: `Category must be one of: ${TPMJS_CATEGORIES.join(', ')}`,
|
||||
}),
|
||||
message: `Category must be one of: ${TPMJS_CATEGORIES.join(', ')}`,
|
||||
}),
|
||||
description: z.string().min(20, 'Description must be at least 20 characters').max(500),
|
||||
example: z.string().min(10, 'Example must be at least 10 characters'),
|
||||
|
|
|
|||
|
|
@ -151,7 +151,8 @@
|
|||
"react-dom": "^18.0.0 || ^19.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tpmjs/utils": "workspace:*"
|
||||
"@tpmjs/utils": "workspace:*",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@testing-library/jest-dom": "^6.9.1",
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"clsx": "^2.1.1",
|
||||
"tailwind-merge": "^2.6.0"
|
||||
"tailwind-merge": "^2.6.0",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tpmjs/test": "workspace:*",
|
||||
|
|
|
|||
164
pnpm-lock.yaml
generated
164
pnpm-lock.yaml
generated
|
|
@ -42,8 +42,8 @@ importers:
|
|||
apps/web:
|
||||
dependencies:
|
||||
'@ai-sdk/openai':
|
||||
specifier: ^2.0.74
|
||||
version: 2.0.74(zod@3.25.76)
|
||||
specifier: 3.0.0-beta.74
|
||||
version: 3.0.0-beta.74(effect@3.18.4)(zod@4.1.13)
|
||||
'@tpmjs/db':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/db
|
||||
|
|
@ -69,8 +69,8 @@ importers:
|
|||
specifier: ^15.5.13
|
||||
version: 15.5.13
|
||||
ai:
|
||||
specifier: ^5.0.104
|
||||
version: 5.0.104(zod@3.25.76)
|
||||
specifier: 6.0.0-beta.124
|
||||
version: 6.0.0-beta.124(effect@3.18.4)(zod@4.1.13)
|
||||
next:
|
||||
specifier: ^16.0.4
|
||||
version: 16.0.4(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||
|
|
@ -79,7 +79,7 @@ importers:
|
|||
version: 0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||
openai:
|
||||
specifier: ^6.9.1
|
||||
version: 6.9.1(ws@8.18.3)(zod@3.25.76)
|
||||
version: 6.9.1(ws@8.18.3)(zod@4.1.13)
|
||||
react:
|
||||
specifier: ^19.0.0
|
||||
version: 19.2.0
|
||||
|
|
@ -102,8 +102,8 @@ importers:
|
|||
specifier: ^4.0.1
|
||||
version: 4.0.1
|
||||
zod:
|
||||
specifier: ^3.25.76
|
||||
version: 3.25.76
|
||||
specifier: ^4.0.0
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/eslint-config':
|
||||
specifier: workspace:*
|
||||
|
|
@ -142,7 +142,11 @@ importers:
|
|||
specifier: ^5.9.3
|
||||
version: 5.9.3
|
||||
|
||||
packages/config: {}
|
||||
packages/config:
|
||||
dependencies:
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
|
||||
packages/config/eslint:
|
||||
dependencies:
|
||||
|
|
@ -167,24 +171,37 @@ importers:
|
|||
typescript-eslint:
|
||||
specifier: ^8.19.1
|
||||
version: 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
|
||||
packages/config/tailwind:
|
||||
dependencies:
|
||||
tailwindcss:
|
||||
specifier: ^3.4.17
|
||||
version: 3.4.18(tsx@4.20.6)
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
typescript:
|
||||
specifier: ^5.9.3
|
||||
version: 5.9.3
|
||||
|
||||
packages/config/tsconfig: {}
|
||||
packages/config/tsconfig:
|
||||
dependencies:
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
|
||||
packages/db:
|
||||
dependencies:
|
||||
'@prisma/client':
|
||||
specifier: ^6.2.0
|
||||
version: 6.19.0(prisma@6.19.0(typescript@5.9.3))(typescript@5.9.3)
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -205,8 +222,8 @@ importers:
|
|||
packages/env:
|
||||
dependencies:
|
||||
zod:
|
||||
specifier: ^3.24.1
|
||||
version: 3.25.76
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -226,6 +243,9 @@ importers:
|
|||
msw:
|
||||
specifier: ^2.7.0
|
||||
version: 2.12.3(@types/node@22.19.1)(typescript@5.9.3)
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -240,8 +260,8 @@ importers:
|
|||
packages/npm-client:
|
||||
dependencies:
|
||||
zod:
|
||||
specifier: ^3.24.1
|
||||
version: 3.25.76
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -258,6 +278,9 @@ importers:
|
|||
semver:
|
||||
specifier: ^7.6.0
|
||||
version: 7.7.3
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -283,6 +306,9 @@ importers:
|
|||
react-dom:
|
||||
specifier: ^19.0.0
|
||||
version: 19.2.0(react@19.2.0)
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@storybook/addon-essentials':
|
||||
specifier: ^8.5.0
|
||||
|
|
@ -335,8 +361,15 @@ importers:
|
|||
vitest:
|
||||
specifier: ^2.1.8
|
||||
version: 2.1.9(@types/node@22.19.1)(happy-dom@15.11.7)(msw@2.12.3(@types/node@22.19.1)(typescript@5.9.3))
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
|
||||
packages/tools/createBlogPost:
|
||||
dependencies:
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -351,8 +384,8 @@ importers:
|
|||
packages/types:
|
||||
dependencies:
|
||||
zod:
|
||||
specifier: ^3.24.1
|
||||
version: 3.25.76
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/tsconfig':
|
||||
specifier: workspace:*
|
||||
|
|
@ -369,6 +402,9 @@ importers:
|
|||
'@tpmjs/utils':
|
||||
specifier: workspace:*
|
||||
version: link:../utils
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@testing-library/jest-dom':
|
||||
specifier: ^6.9.1
|
||||
|
|
@ -427,6 +463,9 @@ importers:
|
|||
tailwind-merge:
|
||||
specifier: ^2.6.0
|
||||
version: 2.6.0
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@tpmjs/test':
|
||||
specifier: workspace:*
|
||||
|
|
@ -449,26 +488,36 @@ packages:
|
|||
'@adobe/css-tools@4.4.4':
|
||||
resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==}
|
||||
|
||||
'@ai-sdk/gateway@2.0.17':
|
||||
resolution: {integrity: sha512-oVAG6q72KsjKlrYdLhWjRO7rcqAR8CjokAbYuyVZoCO4Uh2PH/VzZoxZav71w2ipwlXhHCNaInGYWNs889MMDA==}
|
||||
'@ai-sdk/gateway@2.0.0-beta.68':
|
||||
resolution: {integrity: sha512-eYv3hBfu/M+0XmxE1RoH4X7uhYplNbSDvRClzirKzTY+ZM5yQwP86L3DqLR7Y9/vH7yrQaSIwsBT3OMmcBnGaw==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/openai@2.0.74':
|
||||
resolution: {integrity: sha512-vvsL7rGoBEyQIePs630p31ebLeF+xxwLOrRKeIArHko8w7Wh9Kj3wL4Ns+PCzrEpAij31OKKDcxLQ1dSIg/qMw==}
|
||||
'@ai-sdk/openai@3.0.0-beta.74':
|
||||
resolution: {integrity: sha512-0AofFL0odf7dUjmpiKVBxemXWK7L5YTmqD+9sY3V/0yzxtWuP8effQVOTz3rXO7kSF8OabDxW4WUHGwAOBiIJA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/provider-utils@3.0.18':
|
||||
resolution: {integrity: sha512-ypv1xXMsgGcNKUP+hglKqtdDuMg68nWHucPPAhIENrbFAI+xCHiqPVN8Zllxyv1TNZwGWUghPxJXU+Mqps0YRQ==}
|
||||
'@ai-sdk/provider-utils@4.0.0-beta.40':
|
||||
resolution: {integrity: sha512-5345iQxWV1coKbs85vkrThsEmiFcIkgqMZUKFrVDM7E4FRqgsnWtn4394/RnShOKRun5K7TWIYCLz3GfRGy/Ig==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@valibot/to-json-schema': ^1.3.0
|
||||
arktype: ^2.1.22
|
||||
effect: ^3.18.4
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
peerDependenciesMeta:
|
||||
'@valibot/to-json-schema':
|
||||
optional: true
|
||||
arktype:
|
||||
optional: true
|
||||
effect:
|
||||
optional: true
|
||||
|
||||
'@ai-sdk/provider@2.0.0':
|
||||
resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==}
|
||||
'@ai-sdk/provider@3.0.0-beta.22':
|
||||
resolution: {integrity: sha512-Ss0tgCZwzccS6MREhjAI28lkAV5PfJnoBFbv8mas74Cs5OseFKqxg3dEd1lRL8mf4Qapu1xpBLkV4/ldSShSdA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@alloc/quick-lru@5.2.0':
|
||||
|
|
@ -2268,8 +2317,8 @@ packages:
|
|||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
|
||||
ai@5.0.104:
|
||||
resolution: {integrity: sha512-MZOkL9++nY5PfkpWKBR3Rv+Oygxpb9S16ctv8h91GvrSif7UnNEdPMVZe3bUyMd2djxf0AtBk/csBixP0WwWZQ==}
|
||||
ai@6.0.0-beta.124:
|
||||
resolution: {integrity: sha512-Apl4uNZLzc4sAUtu4W77DpM9o+bJJB46A/ayVLDck3MBv+rw4/qGBY9H6/gY9Xpc/CeVogyyEr1DxBMv47olCw==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
|
@ -5094,9 +5143,6 @@ packages:
|
|||
peerDependencies:
|
||||
zod: ^3.25.0 || ^4.0.0
|
||||
|
||||
zod@3.25.76:
|
||||
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
|
||||
|
||||
zod@4.1.13:
|
||||
resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==}
|
||||
|
||||
|
|
@ -5107,27 +5153,37 @@ snapshots:
|
|||
|
||||
'@adobe/css-tools@4.4.4': {}
|
||||
|
||||
'@ai-sdk/gateway@2.0.17(zod@3.25.76)':
|
||||
'@ai-sdk/gateway@2.0.0-beta.68(effect@3.18.4)(zod@4.1.13)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.18(zod@3.25.76)
|
||||
'@ai-sdk/provider': 3.0.0-beta.22
|
||||
'@ai-sdk/provider-utils': 4.0.0-beta.40(effect@3.18.4)(zod@4.1.13)
|
||||
'@vercel/oidc': 3.0.5
|
||||
zod: 3.25.76
|
||||
zod: 4.1.13
|
||||
transitivePeerDependencies:
|
||||
- '@valibot/to-json-schema'
|
||||
- arktype
|
||||
- effect
|
||||
|
||||
'@ai-sdk/openai@2.0.74(zod@3.25.76)':
|
||||
'@ai-sdk/openai@3.0.0-beta.74(effect@3.18.4)(zod@4.1.13)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.18(zod@3.25.76)
|
||||
zod: 3.25.76
|
||||
'@ai-sdk/provider': 3.0.0-beta.22
|
||||
'@ai-sdk/provider-utils': 4.0.0-beta.40(effect@3.18.4)(zod@4.1.13)
|
||||
zod: 4.1.13
|
||||
transitivePeerDependencies:
|
||||
- '@valibot/to-json-schema'
|
||||
- arktype
|
||||
- effect
|
||||
|
||||
'@ai-sdk/provider-utils@3.0.18(zod@3.25.76)':
|
||||
'@ai-sdk/provider-utils@4.0.0-beta.40(effect@3.18.4)(zod@4.1.13)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider': 3.0.0-beta.22
|
||||
'@standard-schema/spec': 1.0.0
|
||||
eventsource-parser: 3.0.6
|
||||
zod: 3.25.76
|
||||
zod: 4.1.13
|
||||
optionalDependencies:
|
||||
effect: 3.18.4
|
||||
|
||||
'@ai-sdk/provider@2.0.0':
|
||||
'@ai-sdk/provider@3.0.0-beta.22':
|
||||
dependencies:
|
||||
json-schema: 0.4.0
|
||||
|
||||
|
|
@ -6816,13 +6872,17 @@ snapshots:
|
|||
|
||||
acorn@8.15.0: {}
|
||||
|
||||
ai@5.0.104(zod@3.25.76):
|
||||
ai@6.0.0-beta.124(effect@3.18.4)(zod@4.1.13):
|
||||
dependencies:
|
||||
'@ai-sdk/gateway': 2.0.17(zod@3.25.76)
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.18(zod@3.25.76)
|
||||
'@ai-sdk/gateway': 2.0.0-beta.68(effect@3.18.4)(zod@4.1.13)
|
||||
'@ai-sdk/provider': 3.0.0-beta.22
|
||||
'@ai-sdk/provider-utils': 4.0.0-beta.40(effect@3.18.4)(zod@4.1.13)
|
||||
'@opentelemetry/api': 1.9.0
|
||||
zod: 3.25.76
|
||||
zod: 4.1.13
|
||||
transitivePeerDependencies:
|
||||
- '@valibot/to-json-schema'
|
||||
- arktype
|
||||
- effect
|
||||
|
||||
ajv@6.12.6:
|
||||
dependencies:
|
||||
|
|
@ -7670,8 +7730,8 @@ snapshots:
|
|||
'@babel/parser': 7.28.5
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
hermes-parser: 0.25.1
|
||||
zod: 3.25.76
|
||||
zod-validation-error: 4.0.2(zod@3.25.76)
|
||||
zod: 4.1.13
|
||||
zod-validation-error: 4.0.2(zod@4.1.13)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
|
|
@ -9104,10 +9164,10 @@ snapshots:
|
|||
is-docker: 2.2.1
|
||||
is-wsl: 2.2.0
|
||||
|
||||
openai@6.9.1(ws@8.18.3)(zod@3.25.76):
|
||||
openai@6.9.1(ws@8.18.3)(zod@4.1.13):
|
||||
optionalDependencies:
|
||||
ws: 8.18.3
|
||||
zod: 3.25.76
|
||||
zod: 4.1.13
|
||||
|
||||
optionator@0.9.4:
|
||||
dependencies:
|
||||
|
|
@ -10429,11 +10489,9 @@ snapshots:
|
|||
|
||||
yoctocolors-cjs@2.1.3: {}
|
||||
|
||||
zod-validation-error@4.0.2(zod@3.25.76):
|
||||
zod-validation-error@4.0.2(zod@4.1.13):
|
||||
dependencies:
|
||||
zod: 3.25.76
|
||||
|
||||
zod@3.25.76: {}
|
||||
zod: 4.1.13
|
||||
|
||||
zod@4.1.13: {}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue