From a633b2602f511c89dd354c9d5bef6f5c6f7eab74 Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Mon, 5 Jan 2026 13:50:38 +0000 Subject: [PATCH 1/5] chore: update ai sdk v6 --- pnpm-lock.yaml | 79 ++++++++++++++++++++++++--------------------- pnpm-workspace.yaml | 8 ++--- 2 files changed, 46 insertions(+), 41 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea530fe..eb53f71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,14 +7,14 @@ settings: catalogs: dev: '@ai-sdk/openai': - specifier: ^2.0.80 - version: 2.0.80 + specifier: ^3.0.2 + version: 3.0.2 '@ai-sdk/provider': - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^3.0.1 + version: 3.0.1 '@ai-sdk/provider-utils': - specifier: ^3.0.18 - version: 3.0.18 + specifier: ^4.0.2 + version: 4.0.2 '@clack/prompts': specifier: ^0.11.0 version: 0.11.0 @@ -87,8 +87,8 @@ catalogs: specifier: ^0.52.0 version: 0.52.0 ai: - specifier: ^5.0.108 - version: 5.0.108 + specifier: ^6.0.6 + version: 6.0.6 openai: specifier: ^6.2.0 version: 6.9.1 @@ -128,10 +128,10 @@ importers: devDependencies: '@ai-sdk/provider': specifier: catalog:dev - version: 2.0.0 + version: 3.0.1 '@ai-sdk/provider-utils': specifier: catalog:dev - version: 3.0.18(zod@4.1.13) + version: 4.0.2(zod@4.1.13) '@fast-check/vitest': specifier: catalog:dev version: 0.2.4(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(jiti@2.6.1)(msw@2.12.3(@types/node@22.19.1)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) @@ -149,7 +149,7 @@ importers: version: 4.0.15(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(jiti@2.6.1)(msw@2.12.3(@types/node@22.19.1)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) ai: specifier: catalog:peer - version: 5.0.108(zod@4.1.13) + version: 6.0.6(zod@4.1.13) hono: specifier: catalog:dev version: 4.10.7 @@ -200,7 +200,7 @@ importers: dependencies: '@ai-sdk/openai': specifier: catalog:dev - version: 2.0.80(zod@4.1.13) + version: 3.0.2(zod@4.1.13) '@anthropic-ai/claude-agent-sdk': specifier: catalog:examples version: 0.1.67(zod@4.1.13) @@ -221,7 +221,7 @@ importers: version: 0.0.3(@tanstack/ai@0.0.3(@alcyone-labs/zod-to-json-schema@4.0.10(zod@4.1.13))(zod@4.1.13))(zod@4.1.13) ai: specifier: catalog:peer - version: 5.0.108(zod@4.1.13) + version: 6.0.6(zod@4.1.13) openai: specifier: catalog:peer version: 6.9.1(zod@4.1.13) @@ -238,26 +238,26 @@ importers: packages: - '@ai-sdk/gateway@2.0.18': - resolution: {integrity: sha512-sDQcW+6ck2m0pTIHW6BPHD7S125WD3qNkx/B8sEzJp/hurocmJ5Cni0ybExg6sQMGo+fr/GWOwpHF1cmCdg5rQ==} + '@ai-sdk/gateway@3.0.5': + resolution: {integrity: sha512-AtxA1wcoKTHr9uFoC5KZEXqJP4SMW4j3VbcliUECUYssbWbePJ9+b3AaCny1lxf1xhDK9EIyAgBOKhXoQSr9nA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai@2.0.80': - resolution: {integrity: sha512-tNHuraF11db+8xJEDBoU9E3vMcpnHFKRhnLQ3DQX2LnEzfPB9DksZ8rE+yVuDN1WRW9cm2OWAhgHFgVKs7ICuw==} + '@ai-sdk/openai@3.0.2': + resolution: {integrity: sha512-GONwavgSWtcWO+t9+GpGK8l7nIYh+zNtCL/NYDSeHxHiw6ksQS9XMRWrZyE5NpJ0EXNxSAWCHIDmb1WvTqhq9Q==} 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.2': + resolution: {integrity: sha512-KaykkuRBdF/ffpI5bwpL4aSCmO/99p8/ci+VeHwJO8tmvXtiVAb99QeyvvvXmL61e9Zrvv4GBGoajW19xdjkVQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider@2.0.0': - resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} + '@ai-sdk/provider@3.0.1': + resolution: {integrity: sha512-2lR4w7mr9XrydzxBSjir4N6YMGdXD+Np1Sh0RXABh7tWdNFFwIeRI1Q+SaYZMbfL8Pg8RRLcrxQm51yxTLhokg==} engines: {node: '>=18'} '@alcyone-labs/zod-to-json-schema@4.0.10': @@ -1272,6 +1272,9 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@tanstack/ai-openai@0.0.3': resolution: {integrity: sha512-JyV5KMvaUIkS/9mt8zdu+8Sl0+/btbwrsreuFXftbrL8H+ysvbmFW3KwD2eUdTBwNPv2szUn5su17X1yt1CphQ==} peerDependencies: @@ -1396,8 +1399,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ai@5.0.108: - resolution: {integrity: sha512-Jex3Lb7V41NNpuqJHKgrwoU6BCLHdI1Pg4qb4GJH4jRIDRXUBySJErHjyN4oTCwbiYCeb/8II9EnqSRPq9EifA==} + ai@6.0.6: + resolution: {integrity: sha512-LM0eAMWVn3RTj+0X5O1m/8g+7QiTeWG5aN5FsDbdmCkAQHVg93XxLbljFOLzi0NMjuJgf7fKLKmWoPsrdMyqfw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -2578,27 +2581,27 @@ packages: snapshots: - '@ai-sdk/gateway@2.0.18(zod@4.1.13)': + '@ai-sdk/gateway@3.0.5(zod@4.1.13)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.18(zod@4.1.13) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.13) '@vercel/oidc': 3.0.5 zod: 4.1.13 - '@ai-sdk/openai@2.0.80(zod@4.1.13)': + '@ai-sdk/openai@3.0.2(zod@4.1.13)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.18(zod@4.1.13) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.13) zod: 4.1.13 - '@ai-sdk/provider-utils@3.0.18(zod@4.1.13)': + '@ai-sdk/provider-utils@4.0.2(zod@4.1.13)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@standard-schema/spec': 1.0.0 + '@ai-sdk/provider': 3.0.1 + '@standard-schema/spec': 1.1.0 eventsource-parser: 3.0.6 zod: 4.1.13 - '@ai-sdk/provider@2.0.0': + '@ai-sdk/provider@3.0.1': dependencies: json-schema: 0.4.0 @@ -3250,6 +3253,8 @@ snapshots: '@standard-schema/spec@1.0.0': {} + '@standard-schema/spec@1.1.0': {} + '@tanstack/ai-openai@0.0.3(@tanstack/ai@0.0.3(@alcyone-labs/zod-to-json-schema@4.0.10(zod@4.1.13))(zod@4.1.13))(zod@4.1.13)': dependencies: '@tanstack/ai': 0.0.3(@alcyone-labs/zod-to-json-schema@4.0.10(zod@4.1.13))(zod@4.1.13) @@ -3384,11 +3389,11 @@ snapshots: acorn@8.15.0: {} - ai@5.0.108(zod@4.1.13): + ai@6.0.6(zod@4.1.13): dependencies: - '@ai-sdk/gateway': 2.0.18(zod@4.1.13) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.18(zod@4.1.13) + '@ai-sdk/gateway': 3.0.5(zod@4.1.13) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.13) '@opentelemetry/api': 1.9.0 zod: 4.1.13 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 76d9e30..db584d6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,10 +6,10 @@ catalogMode: strict catalogs: dev: - '@ai-sdk/openai': ^2.0.80 - '@ai-sdk/provider': ^2.0.0 + '@ai-sdk/openai': ^3.0.2 + '@ai-sdk/provider': ^3.0.1 '@fast-check/vitest': ^0.2.0 - '@ai-sdk/provider-utils': ^3.0.18 + '@ai-sdk/provider-utils': ^4.0.2 '@clack/prompts': ^0.11.0 '@hono/mcp': ^0.1.4 '@types/node': ^22.13.5 @@ -34,7 +34,7 @@ catalogs: '@tanstack/ai-openai': ^0.0.3 peer: '@anthropic-ai/sdk': ^0.52.0 - ai: ^5.0.108 + ai: ^6.0.6 openai: ^6.2.0 prod: '@modelcontextprotocol/sdk': ^1.24.3 From f5adb12f8a46ebb8f7dbd459e4d3f15a142cebc4 Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Mon, 5 Jan 2026 13:56:35 +0000 Subject: [PATCH 2/5] feat(deps): support AI SDK v5 and v6 via unified imports Remove direct dependencies on @ai-sdk/provider and @ai-sdk/provider-utils internal packages. Import JSONSchema7 and Tool types directly from the main 'ai' package instead. This change: - Removes @ai-sdk/provider and @ai-sdk/provider-utils from devDependencies - Updates peerDependencies to accept ai >=5.0.0 <7.0.0 - Simplifies the dependency tree for consumers Both AI SDK v5 and v6 export the required types from the main package, making the internal package dependencies unnecessary. --- package.json | 2 -- pnpm-lock.yaml | 14 +------------- pnpm-workspace.yaml | 4 +--- src/tool.ts | 22 ++++++++++++++++------ src/types.ts | 2 +- tsdown.config.ts | 2 +- 6 files changed, 20 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 40bd255..8ced8fa 100644 --- a/package.json +++ b/package.json @@ -57,8 +57,6 @@ "zod": "catalog:prod" }, "devDependencies": { - "@ai-sdk/provider": "catalog:dev", - "@ai-sdk/provider-utils": "catalog:dev", "@fast-check/vitest": "catalog:dev", "@hono/mcp": "catalog:dev", "@types/node": "catalog:dev", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb53f71..f8ffcd4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,12 +9,6 @@ catalogs: '@ai-sdk/openai': specifier: ^3.0.2 version: 3.0.2 - '@ai-sdk/provider': - specifier: ^3.0.1 - version: 3.0.1 - '@ai-sdk/provider-utils': - specifier: ^4.0.2 - version: 4.0.2 '@clack/prompts': specifier: ^0.11.0 version: 0.11.0 @@ -87,7 +81,7 @@ catalogs: specifier: ^0.52.0 version: 0.52.0 ai: - specifier: ^6.0.6 + specifier: '>=5.0.0 <7.0.0' version: 6.0.6 openai: specifier: ^6.2.0 @@ -126,12 +120,6 @@ importers: specifier: catalog:prod version: 4.1.13 devDependencies: - '@ai-sdk/provider': - specifier: catalog:dev - version: 3.0.1 - '@ai-sdk/provider-utils': - specifier: catalog:dev - version: 4.0.2(zod@4.1.13) '@fast-check/vitest': specifier: catalog:dev version: 0.2.4(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(jiti@2.6.1)(msw@2.12.3(@types/node@22.19.1)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index db584d6..a2006e3 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,9 +7,7 @@ catalogMode: strict catalogs: dev: '@ai-sdk/openai': ^3.0.2 - '@ai-sdk/provider': ^3.0.1 '@fast-check/vitest': ^0.2.0 - '@ai-sdk/provider-utils': ^4.0.2 '@clack/prompts': ^0.11.0 '@hono/mcp': ^0.1.4 '@types/node': ^22.13.5 @@ -34,7 +32,7 @@ catalogs: '@tanstack/ai-openai': ^0.0.3 peer: '@anthropic-ai/sdk': ^0.52.0 - ai: ^6.0.6 + ai: '>=5.0.0 <7.0.0' openai: ^6.2.0 prod: '@modelcontextprotocol/sdk': ^1.24.3 diff --git a/src/tool.ts b/src/tool.ts index af0f612..4d56260 100644 --- a/src/tool.ts +++ b/src/tool.ts @@ -1,4 +1,4 @@ -import type { JSONSchema7 as AISDKJSONSchema } from '@ai-sdk/provider'; +import type { JSONSchema7 as AISDKJSONSchema } from 'ai'; import type { Tool as AnthropicTool } from '@anthropic-ai/sdk/resources'; import * as orama from '@orama/orama'; import type { ChatCompletionFunctionTool } from 'openai/resources/chat/completions'; @@ -52,7 +52,9 @@ export class BaseTool { method: this.executeConfig.method, url: this.executeConfig.url, bodyType: this.executeConfig.bodyType, - params: this.executeConfig.params.map((param) => ({ ...param })), + params: this.executeConfig.params.map((param) => ({ + ...param, + })), } satisfies HttpExecuteConfig; case 'rpc': return { @@ -145,7 +147,9 @@ export class BaseTool { typeof inputParams !== 'object' ) { throw new StackOneError( - `Invalid parameters type. Expected object or string, got ${typeof inputParams}. Parameters: ${JSON.stringify(inputParams)}`, + `Invalid parameters type. Expected object or string, got ${typeof inputParams}. Parameters: ${JSON.stringify( + inputParams, + )}`, ); } @@ -257,7 +261,9 @@ export class BaseTool { try { return await this.execute(args as JsonObject); } catch (error) { - return `Error executing tool: ${error instanceof Error ? error.message : String(error)}`; + return `Error executing tool: ${ + error instanceof Error ? error.message : String(error) + }`; } } : undefined, @@ -582,7 +588,9 @@ function metaSearchTools( typeof inputParams !== 'object' ) { throw new StackOneError( - `Invalid parameters type. Expected object or string, got ${typeof inputParams}. Parameters: ${JSON.stringify(inputParams)}`, + `Invalid parameters type. Expected object or string, got ${typeof inputParams}. Parameters: ${JSON.stringify( + inputParams, + )}`, ); } @@ -712,7 +720,9 @@ function metaExecuteTool(tools: Tools): BaseTool { typeof inputParams !== 'object' ) { throw new StackOneError( - `Invalid parameters type. Expected object or string, got ${typeof inputParams}. Parameters: ${JSON.stringify(inputParams)}`, + `Invalid parameters type. Expected object or string, got ${typeof inputParams}. Parameters: ${JSON.stringify( + inputParams, + )}`, ); } diff --git a/src/types.ts b/src/types.ts index f531b1b..b45087f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -2,7 +2,7 @@ * Common type definitions for the StackOne SDK */ -import type { Tool } from '@ai-sdk/provider-utils'; +import type { Tool } from 'ai'; import type { ToolSet } from 'ai'; import type { JsonObject, JsonValue, ValueOf } from 'type-fest'; diff --git a/tsdown.config.ts b/tsdown.config.ts index 0edd12b..1ba916c 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -9,7 +9,7 @@ export default defineConfig({ treeshake: true, dts: { tsgo: true, - resolve: [/^@types\//, 'type-fest', 'ai', '@ai-sdk/provider-utils'], + resolve: [/^@types\//, 'type-fest', 'ai'], }, publint: true, unused: true, From 91c96c5083cb4bc814bb68d42cecca0eb162309d Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Mon, 5 Jan 2026 13:58:37 +0000 Subject: [PATCH 3/5] chore(deps): require ai SDK >=5.0.108 --- pnpm-lock.yaml | 2 +- pnpm-workspace.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8ffcd4..7af1228 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,7 +81,7 @@ catalogs: specifier: ^0.52.0 version: 0.52.0 ai: - specifier: '>=5.0.0 <7.0.0' + specifier: '>=5.0.108 <7.0.0' version: 6.0.6 openai: specifier: ^6.2.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a2006e3..336176b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -32,7 +32,7 @@ catalogs: '@tanstack/ai-openai': ^0.0.3 peer: '@anthropic-ai/sdk': ^0.52.0 - ai: '>=5.0.0 <7.0.0' + ai: '>=5.0.108 <7.0.0' openai: ^6.2.0 prod: '@modelcontextprotocol/sdk': ^1.24.3 From a86feff20534d6e4a01f993bccee5d3d7e33b27e Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Mon, 5 Jan 2026 16:13:28 +0000 Subject: [PATCH 4/5] fix(tool): use dynamic peerDependencies version in error message - Import peerDependencies from package.json to dynamically show supported AI SDK version range in installation error messages - Update JSDoc comments to reference 'ai' package instead of @ai-sdk/provider-utils - Simplify try-import example to use generic install hint This ensures error messages stay in sync with peerDependencies when the supported version range changes. --- src/tool.ts | 3 ++- src/types.ts | 2 +- src/utils/try-import.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tool.ts b/src/tool.ts index 4d56260..f574562 100644 --- a/src/tool.ts +++ b/src/tool.ts @@ -4,6 +4,7 @@ import * as orama from '@orama/orama'; import type { ChatCompletionFunctionTool } from 'openai/resources/chat/completions'; import type { FunctionTool as OpenAIResponsesFunctionTool } from 'openai/resources/responses/responses'; import type { OverrideProperties } from 'type-fest'; +import { peerDependencies } from '../package.json'; import { DEFAULT_HYBRID_ALPHA } from './consts'; import { RequestBuilder } from './requestBuilder'; import type { @@ -240,7 +241,7 @@ export class BaseTool { /** AI SDK is optional dependency, import only when needed */ const ai = await tryImport( 'ai', - 'npm install ai@4.x|5.x or pnpm add ai@4.x|5.x', + `npm install ai (requires ${peerDependencies.ai})`, ); const schemaObject = ai.jsonSchema(schema); diff --git a/src/types.ts b/src/types.ts index b45087f..c8e10e3 100644 --- a/src/types.ts +++ b/src/types.ts @@ -176,7 +176,7 @@ export interface ToolDefinition { /** * Extended AI SDK tool definition with StackOne-specific execution metadata. - * Extends the base Tool type from @ai-sdk/provider-utils. + * Extends the base Tool type from the 'ai' package. * * NOTE: We avoid defining our own types as much as possible and use existing * types from dependencies. This type only extends the AI SDK Tool type with diff --git a/src/utils/try-import.ts b/src/utils/try-import.ts index 0ba1540..db6eaaf 100644 --- a/src/utils/try-import.ts +++ b/src/utils/try-import.ts @@ -10,7 +10,7 @@ import { StackOneError } from './error-stackone'; * * @example * ```ts - * const ai = await tryImport('ai', 'npm install ai@4.x|5.x'); + * const ai = await tryImport('ai', 'npm install ai'); * const { jsonSchema } = ai; * ``` */ From eec6fe70298b60de3d1e54d4a49b0de1500ac10b Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Mon, 5 Jan 2026 16:40:10 +0000 Subject: [PATCH 5/5] refactor(deps): add ai to devDependencies catalog for testing Add ai package to catalog:dev (^6.0.7) for development and testing, separate from the peer dependency range (>=5.0.108 <7.0.0). Also add @ai-sdk/* and ai to minimumReleaseAgeExclude since AI SDK releases frequently and we want to stay up-to-date. --- package.json | 2 +- pnpm-lock.yaml | 34 ++++++++++++++++++++++++++++++++-- pnpm-workspace.yaml | 6 ++++++ 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 8ced8fa..f54dd6c 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@types/node": "catalog:dev", "@typescript/native-preview": "catalog:dev", "@vitest/coverage-v8": "catalog:dev", - "ai": "catalog:peer", + "ai": "catalog:dev", "hono": "catalog:dev", "knip": "catalog:dev", "lefthook": "catalog:dev", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7af1228..c83501b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,6 +27,9 @@ catalogs: '@vitest/coverage-v8': specifier: ^4.0.15 version: 4.0.15 + ai: + specifier: ^6.0.7 + version: 6.0.7 hono: specifier: ^4.9.10 version: 4.10.7 @@ -136,8 +139,8 @@ importers: specifier: catalog:dev version: 4.0.15(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(jiti@2.6.1)(msw@2.12.3(@types/node@22.19.1)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) ai: - specifier: catalog:peer - version: 6.0.6(zod@4.1.13) + specifier: catalog:dev + version: 6.0.7(zod@4.1.13) hono: specifier: catalog:dev version: 4.10.7 @@ -232,6 +235,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/gateway@3.0.6': + resolution: {integrity: sha512-oEpwjM0PIaSUErtZI8Ag+gQ+ZelysRWA96N5ahvOc5e9d7QkKJWF0POWx0nI1qBxvmUSw7ca0sLTVw+J5yn7Tg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/openai@3.0.2': resolution: {integrity: sha512-GONwavgSWtcWO+t9+GpGK8l7nIYh+zNtCL/NYDSeHxHiw6ksQS9XMRWrZyE5NpJ0EXNxSAWCHIDmb1WvTqhq9Q==} engines: {node: '>=18'} @@ -1393,6 +1402,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + ai@6.0.7: + resolution: {integrity: sha512-kLzSXHdW6cAcb2mFSIfkbfzxYqqjrUnyhrB1sg855qlC+6XkLI8hmwFE8f/4SnjmtcTDOnkIaVjWoO5i5Ir0bw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: @@ -2576,6 +2591,13 @@ snapshots: '@vercel/oidc': 3.0.5 zod: 4.1.13 + '@ai-sdk/gateway@3.0.6(zod@4.1.13)': + dependencies: + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.13) + '@vercel/oidc': 3.0.5 + zod: 4.1.13 + '@ai-sdk/openai@3.0.2(zod@4.1.13)': dependencies: '@ai-sdk/provider': 3.0.1 @@ -3385,6 +3407,14 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 4.1.13 + ai@6.0.7(zod@4.1.13): + dependencies: + '@ai-sdk/gateway': 3.0.6(zod@4.1.13) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.13) + '@opentelemetry/api': 1.9.0 + zod: 4.1.13 + ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 336176b..e3269a1 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,6 +7,7 @@ catalogMode: strict catalogs: dev: '@ai-sdk/openai': ^3.0.2 + ai: ^6.0.7 '@fast-check/vitest': ^0.2.0 '@clack/prompts': ^0.11.0 '@hono/mcp': ^0.1.4 @@ -45,9 +46,14 @@ enablePrePostScripts: true minimumReleaseAge: 1440 minimumReleaseAgeExclude: + - '@ai-sdk/gateway' + - '@ai-sdk/openai' + - '@ai-sdk/provider' + - '@ai-sdk/provider-utils' - '@anthropic-ai/claude-agent-sdk' - '@tanstack/ai' - '@tanstack/ai-openai' + - ai onlyBuiltDependencies: - esbuild