diff --git a/.changeset/cold-zebras-eat.md b/.changeset/cold-zebras-eat.md new file mode 100644 index 00000000..ed13fdef --- /dev/null +++ b/.changeset/cold-zebras-eat.md @@ -0,0 +1,6 @@ +--- +"ai-gateway-provider": major +"workers-ai-provider": major +--- + +migrate to ai sdk v6 diff --git a/demos.json b/demos.json index e42bc37f..a269db80 100644 --- a/demos.json +++ b/demos.json @@ -1,106 +1,106 @@ { "demos": { "./demos/agent-scheduler": { - "package_json_hash": "4c76998651eefce39122261b15ba77ac0f6734dc" + "package_json_hash": "561129a3427cc4f0efbc5f21845c5f0eed5f912f" }, "./demos/agent-task-manager": { - "package_json_hash": "5774bbf3ece790ee7679379065e36b17a293c748" + "package_json_hash": "c306213d286c5145be1dfe76d6847b0d48390211" }, "./demos/agent-task-manager-human-in-the-loop": { - "package_json_hash": "0e2553ecd45b07eaa69bd1f598432c66f7b112d3" + "package_json_hash": "7713bad1cb46d55449d0ea065dbcde1d4a229975" }, "./demos/evaluator-optimiser": { - "package_json_hash": "92362612aa04fe0b0b1ce115e0f77b5a677446cd" + "package_json_hash": "adca5fc461b3937a6e9c7c991f296ad49157c226" }, "./demos/image-generation": { - "package_json_hash": "cfe85d929662486d4029ae26af2f5c911e04efea" + "package_json_hash": "adc30f356e7ac636ff7d7cadb602a04e57064233" }, "./demos/mcp-client": { - "package_json_hash": "689cda58e5013d3d05d0d65e577b9d8360390d25" + "package_json_hash": "21c33acd3387bce208570c42809fb22d23bbf629" }, "./demos/mcp-server-bearer-auth": { - "package_json_hash": "e9a390478bfc1ed50b5726cd7cbe289e2ae63027" + "package_json_hash": "339fc70abefe3d493314bf5f435efc15260b2881" }, "./demos/mcp-slack-oauth": { "package_json_hash": "a1bd8992f533470c0e6aa2a9d53f3356d2542de2" }, "./demos/mcp-stytch-b2b-okr-manager": { - "package_json_hash": "2831b46d4e5d6e96343c434c7a3c59c524c61d05" + "package_json_hash": "e0dec0f94fb78aacd5b50f38d5f5b3dc54d95292" }, "./demos/mcp-stytch-consumer-todo-list": { - "package_json_hash": "7faafb40f2e5fcc79c30ce69966dc1c894a0e0fc" + "package_json_hash": "594ff3b289fff79d2e665d10d09d2614919ee55d" }, "./demos/model-scraper": { - "package_json_hash": "b6c056b6d0c89f1f3db38749aad1d59630909161" + "package_json_hash": "c0fbe02d18c4552e5394d01fb6de3de20e9379a7" }, "./demos/orchestrator-workers": { - "package_json_hash": "20266f34ce29b11c9fbc10b6e1bdaf8256f64e4f" + "package_json_hash": "324d141c5e509683c66c5c6a39fce966d48aa3a0" }, "./demos/parallelisation": { - "package_json_hash": "ce18c0110231e4eaf8d8f2097e92da3805248937" + "package_json_hash": "38313fcb393557ade8c092c61c9107a5e25fddc4" }, "./demos/prompt-chaining": { - "package_json_hash": "112246f74e34ec5127cab623e1f110937933254b" + "package_json_hash": "b0d7b0020d02b86d11e32c5ab90208a6dac8107e" }, "./demos/remote-mcp-authkit": { - "package_json_hash": "a5c1ca5911492d0af7daa66eb32a6f7e73ebe6fd" + "package_json_hash": "be7a8b5d3598d2d2ce096040273ac2feb765bbbb" }, "./demos/remote-mcp-github-oauth": { - "package_json_hash": "0745079aec32ac6aa7241f67d7453be18c9ab89a" + "package_json_hash": "bd7d07406733a6892cd1b623aca6cd718c957f2d" }, "./demos/remote-mcp-server": { - "package_json_hash": "cdadb7fef2504cf8bdf976f6e296ece87ba8d3fc" + "package_json_hash": "c78c8d57d40dc4b1118dc45ab06c8e0e3117ec67" }, "./demos/routing": { - "package_json_hash": "edcb6084505b5e00173de9492ad48aed7c636223" + "package_json_hash": "fe55a1545bdfe347fff3c6555e26bb9549f76a1f" }, "./demos/structured-output": { - "package_json_hash": "0a4c5b493eb83113765ec8d8c812cbbbb2c391f2" + "package_json_hash": "0070ff4c7317abe9ced59f739d2e165bd919a1d3" }, "./demos/structured-output-node": { - "package_json_hash": "9fdf2b05de33b4793aa3ebec9246b3807d90f630" + "package_json_hash": "260c5a3416411c8d06fb63051d4f50b709e14463" }, "./demos/text-generation": { - "package_json_hash": "17988930e76dd8bbca97c25c1d8fe608d27759e2" + "package_json_hash": "cfaa5951559edb08a4d11d4b3205a7fbd26153aa" }, "./demos/text-generation-stream": { - "package_json_hash": "68dad518a413bc9e0fdcf1ef49a8b75e5e764ac2" + "package_json_hash": "516c45dc05cc85a8b340bb79a220baa44010879f" }, "./demos/tool-calling": { - "package_json_hash": "41b070315db72f7b5e7f53fddfc019fd43540bdc" + "package_json_hash": "54d6f0cb6f6ea3b5eafce17db5eef4f156b60eae" }, "./demos/tool-calling-stream": { - "package_json_hash": "69994deb84831c31441fce977828e7db7f1de3a4" + "package_json_hash": "49e3a59f9dd71e2376893c64db1cbe7b043f9157" }, "./demos/tool-calling-stream-traditional": { - "package_json_hash": "e279f01adc8250a3e2de25aa9a7d6ab9e3ce8b97" + "package_json_hash": "da9a9bb939ecd3d36bdb705b08659e9851bc53b8" }, "./demos/ui-worker": { - "package_json_hash": "c63d28a9eee13be59ea9792a0789d9eba1ff09c0" + "package_json_hash": "739796b3b5ca81691715314f0bba16c0f9fef3b8" }, "./demos/remote-mcp-cf-access": { - "package_json_hash": "6b349dbb16639852f2ebfc61d04e9167a76e822c" + "package_json_hash": "11794a1de40d14b1120121843cd93bac62d4ada7" }, "./demos/remote-mcp-authless": { - "package_json_hash": "8466e71e99397fc6f69e27c851f1940f0ff931e5" + "package_json_hash": "c9a9c54c3e2663d53c10fb554a7587dad130a139" }, "./demos/python-workers-mcp": { "package_json_hash": "7d63cdc2f341cb16aff1d820f4c2e341bbfd9bb8" }, "./demos/vision": { - "package_json_hash": "921ab604914e81d44dba67bc95743e3543911d38" + "package_json_hash": "0809475e725426a2cef5eafc79b2fb77d1d94444" }, "./demos/remote-mcp-google-oauth": { - "package_json_hash": "7f18eafb725f7aa956b97c15fd00736163ad2b10" + "package_json_hash": "69a4ca68428c131cbd3d2f1036d3ae09ab8c44e5" }, "./demos/remote-mcp-logto": { - "package_json_hash": "769971e717fb35db3d26836fb6edd898c6255e03" + "package_json_hash": "9bf644606c34f2dccd2706f81b4ef78140d4ac4d" }, "./demos/remote-mcp-server-descope-auth": { - "package_json_hash": "32170f6c8402cdcf8aca9e00404939910ce572e2" + "package_json_hash": "81772e4104a51bcdff2f456dadc1770d975a229d" }, "./demos/remote-mcp-server-autorag": { - "package_json_hash": "78a1ab27a54ec410357c2aceff810dfda40f6868" + "package_json_hash": "77a92ced88e030c3a1bd289ca258333af98122fd" }, "./demos/use-mcp-inspector": { "package_json_hash": "d1d084f1aa9a752ead5250e0a070f97a9114dcea" diff --git a/demos/agent-scheduler/package-lock.json b/demos/agent-scheduler/package-lock.json index 08fec810..f8aed829 100644 --- a/demos/agent-scheduler/package-lock.json +++ b/demos/agent-scheduler/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "agent-scheduler", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/agent-scheduler/package.json b/demos/agent-scheduler/package.json index 955c46b9..1a57b6ac 100644 --- a/demos/agent-scheduler/package.json +++ b/demos/agent-scheduler/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/agent-scheduler/src/SchedulerAgent.ts b/demos/agent-scheduler/src/SchedulerAgent.ts index ecddb5ce..c30c8549 100644 --- a/demos/agent-scheduler/src/SchedulerAgent.ts +++ b/demos/agent-scheduler/src/SchedulerAgent.ts @@ -6,6 +6,7 @@ import { extractAlarmType } from "./llm/extract-alarm-type"; import { extractCronSchedule } from "./llm/extract-cron-schedule"; import { extractScheduleId } from "./llm/extract-schedule-id"; import { extractScheduledDate } from "./llm/extract-scheduled-date"; +import type { LanguageModel } from "ai"; /** * Union type representing the different scheduling configurations. @@ -79,7 +80,11 @@ export class SchedulerAgent extends Agent { const workersai = createWorkersAI({ binding: this.env.AI }); const aiModel = workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"); - const { action, message } = await extractActionType(aiModel, query, this.getSchedules()); + const { action, message } = await extractActionType( + aiModel as LanguageModel, + query, + this.getSchedules(), + ); if (action === "list") { return this.getSchedules(); @@ -92,14 +97,14 @@ export class SchedulerAgent extends Agent { if (action === "add") { const [payload, scheduleType] = await Promise.all([ - extractAlarmMessage(aiModel, query), - extractAlarmType(aiModel, query), + extractAlarmMessage(aiModel as LanguageModel, query), + extractAlarmType(aiModel as LanguageModel, query), ]); // We can use the same logic for delayed and schedule as they both refer to a // specific time in the future. if (scheduleType === "scheduled" || scheduleType === "delayed") { - const date = await extractScheduledDate(aiModel, query); + const date = await extractScheduledDate(aiModel as LanguageModel, query); const newConfirmation: Confirmation = { id: crypto.randomUUID(), @@ -120,7 +125,7 @@ export class SchedulerAgent extends Agent { } if (scheduleType === "cron") { - const cron = await extractCronSchedule(aiModel, query); + const cron = await extractCronSchedule(aiModel as LanguageModel, query); const newConfirmation: Confirmation = { id: crypto.randomUUID(), @@ -142,7 +147,11 @@ export class SchedulerAgent extends Agent { } if (action === "cancel") { - const scheduleId = await extractScheduleId(aiModel, query, this.getSchedules()); + const scheduleId = await extractScheduleId( + aiModel as LanguageModel, + query, + this.getSchedules(), + ); const schedule = scheduleId && (await this.getSchedule(scheduleId)); diff --git a/demos/agent-task-manager-human-in-the-loop/package-lock.json b/demos/agent-task-manager-human-in-the-loop/package-lock.json index 8d8a3805..b395a120 100644 --- a/demos/agent-task-manager-human-in-the-loop/package-lock.json +++ b/demos/agent-task-manager-human-in-the-loop/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "agent-task-manager-human-in-the-loop", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/agent-task-manager-human-in-the-loop/package.json b/demos/agent-task-manager-human-in-the-loop/package.json index 42b28057..5c6458b6 100644 --- a/demos/agent-task-manager-human-in-the-loop/package.json +++ b/demos/agent-task-manager-human-in-the-loop/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/agent-task-manager-human-in-the-loop/src/TaskManagerAgent.ts b/demos/agent-task-manager-human-in-the-loop/src/TaskManagerAgent.ts index 40ef158f..f2a19fe8 100644 --- a/demos/agent-task-manager-human-in-the-loop/src/TaskManagerAgent.ts +++ b/demos/agent-task-manager-human-in-the-loop/src/TaskManagerAgent.ts @@ -1,5 +1,5 @@ import { Agent } from "agents"; -import { generateObject } from "ai"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -50,14 +50,19 @@ export class TaskManagerAgent extends Agent { * or do nothing. Instead of immediately performing add/delete, it creates a Confirmation. */ async query( - query: string, - ): Promise<{ confirmation?: Confirmation; message?: string } | Task[] | string | undefined> { + query: string + ): Promise< + | { confirmation?: Confirmation; message?: string } + | Task[] + | string + | undefined + > { const workersai = createWorkersAI({ binding: this.env.AI }); const aiModel = workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"); // First, determine the desired action: add, delete, list, or none. const { object: actionObject } = await generateObject({ - model: aiModel, + model: aiModel as LanguageModel, schema: z.object({ action: z.string(), message: z.string().optional(), @@ -102,7 +107,7 @@ export class TaskManagerAgent extends Agent { // If user wants to add a task, figure out what the task title should be. if (actionObject.action === "add") { const { object: addObject } = await generateObject({ - model: aiModel, + model: aiModel as LanguageModel, schema: z.object({ title: z.string().optional(), }), @@ -145,7 +150,7 @@ export class TaskManagerAgent extends Agent { // If user wants to delete a task, figure out which task ID to delete. if (actionObject.action === "delete") { const { object: deleteObject } = await generateObject({ - model: aiModel, + model: aiModel as LanguageModel, schema: z.object({ taskId: z.string().optional(), }), @@ -195,9 +200,14 @@ export class TaskManagerAgent extends Agent { * @param userConfirmed - Whether to proceed with the action (`true`) or reject it (`false`). * @returns The result of the action that was confirmed, or a message if rejected/not found. */ - confirm(confirmationId: string, userConfirmed: boolean): Task | string | false | undefined { + confirm( + confirmationId: string, + userConfirmed: boolean + ): Task | string | false | undefined { // Find the confirmation in the state. - const confirmation = this.state.confirmations.find((c) => c.id === confirmationId); + const confirmation = this.state.confirmations.find( + (c) => c.id === confirmationId + ); if (!confirmation) { return "No matching confirmation found."; @@ -221,7 +231,7 @@ export class TaskManagerAgent extends Agent { // Remove the used (or rejected) confirmation from the array. const remainingConfirmations = this.state.confirmations.filter( - (c) => c.id !== confirmationId, + (c) => c.id !== confirmationId ); this.setState({ diff --git a/demos/agent-task-manager/package-lock.json b/demos/agent-task-manager/package-lock.json index 054a18d1..14342478 100644 --- a/demos/agent-task-manager/package-lock.json +++ b/demos/agent-task-manager/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "agent-task-manager", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/agent-task-manager/package.json b/demos/agent-task-manager/package.json index 15b642ce..9a7a90f4 100644 --- a/demos/agent-task-manager/package.json +++ b/demos/agent-task-manager/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/agent-task-manager/src/TaskManagerAgent.ts b/demos/agent-task-manager/src/TaskManagerAgent.ts index 9f7f84a7..e04f2fef 100644 --- a/demos/agent-task-manager/src/TaskManagerAgent.ts +++ b/demos/agent-task-manager/src/TaskManagerAgent.ts @@ -1,5 +1,5 @@ import { Agent } from "agents"; -import { generateObject } from "ai"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -27,7 +27,7 @@ export class TaskManagerAgent extends Agent { const aiModel = workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"); const { object } = await generateObject({ - model: aiModel, + model: aiModel as LanguageModel, schema: z.object({ action: z.string(), message: z.string().optional(), @@ -61,7 +61,7 @@ export class TaskManagerAgent extends Agent { if (object.action === "add") { const { object } = await generateObject({ - model: aiModel, + model: aiModel as LanguageModel, schema: z.object({ title: z.string().optional(), }), @@ -91,7 +91,7 @@ export class TaskManagerAgent extends Agent { if (object.action === "delete") { const { object } = await generateObject({ - model: aiModel, + model: aiModel as LanguageModel, schema: z.object({ taskId: z.string().optional(), }), diff --git a/demos/evaluator-optimiser/package-lock.json b/demos/evaluator-optimiser/package-lock.json index 1652a0d8..b13fa8b1 100644 --- a/demos/evaluator-optimiser/package-lock.json +++ b/demos/evaluator-optimiser/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "evaluator-optimiser", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/evaluator-optimiser/package.json b/demos/evaluator-optimiser/package.json index 07c4eb3b..2c0441f9 100644 --- a/demos/evaluator-optimiser/package.json +++ b/demos/evaluator-optimiser/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/evaluator-optimiser/src/evaluator-optimiser-workflow.ts b/demos/evaluator-optimiser/src/evaluator-optimiser-workflow.ts index d261d115..e8f91bc2 100644 --- a/demos/evaluator-optimiser/src/evaluator-optimiser-workflow.ts +++ b/demos/evaluator-optimiser/src/evaluator-optimiser-workflow.ts @@ -1,5 +1,9 @@ -import { WorkflowEntrypoint, type WorkflowEvent, type WorkflowStep } from "cloudflare:workers"; -import { generateObject } from "ai"; +import { + WorkflowEntrypoint, + type WorkflowEvent, + type WorkflowStep, +} from "cloudflare:workers"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -27,7 +31,10 @@ export class EvaluatorOptimiserWorkflow extends WorkflowEntrypoint< Env, EvaluatorOptimiserWorkflowParams > { - async run(event: WorkflowEvent, step: WorkflowStep) { + async run( + event: WorkflowEvent, + step: WorkflowStep + ) { const { prompt } = event.payload; const workersai = createWorkersAI({ binding: this.env.AI }); @@ -40,7 +47,7 @@ export class EvaluatorOptimiserWorkflow extends WorkflowEntrypoint< const draftObj = await step.do("generate draft", async () => { const { object } = await generateObject({ - model: smallModel, + model: smallModel as LanguageModel, schema: draftSchema, prompt: draftPrompt, }); @@ -54,7 +61,7 @@ export class EvaluatorOptimiserWorkflow extends WorkflowEntrypoint< const evaluationObj = await step.do("evaluate draft", async () => { const { object } = await generateObject({ - model: smallModel, + model: smallModel as LanguageModel, schema: evaluationSchema, prompt: evaluationPrompt, }); @@ -71,7 +78,7 @@ export class EvaluatorOptimiserWorkflow extends WorkflowEntrypoint< const optimizedDraft = await step.do("optimize draft", async () => { const { object } = await generateObject({ - model: bigModel, + model: bigModel as LanguageModel, schema: optimizedSchema, prompt: optimizerPrompt, }); diff --git a/demos/image-generation/package-lock.json b/demos/image-generation/package-lock.json index 62fdc16b..815a9e8e 100644 --- a/demos/image-generation/package-lock.json +++ b/demos/image-generation/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "image-generation", "dependencies": { - "ai": "^5.0.116", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -21,13 +21,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -38,9 +38,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -50,13 +50,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1653,14 +1653,14 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -2710,6 +2710,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/image-generation/package.json b/demos/image-generation/package.json index c6020f11..aaf2650b 100644 --- a/demos/image-generation/package.json +++ b/demos/image-generation/package.json @@ -16,7 +16,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "ai": "^5.0.116", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/mcp-client/package-lock.json b/demos/mcp-client/package-lock.json index 5388a05b..9b964964 100644 --- a/demos/mcp-client/package-lock.json +++ b/demos/mcp-client/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "@cloudflare/agents-mcp-client-example", "dependencies": { - "agents": "^0.2.35", + "agents": "^0.3.0", "nanoid": "^5.1.6", "react": "^19.2.3", "react-dom": "^19.2.3" @@ -1955,9 +1955,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1976,9 +1976,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/mcp-client/package.json b/demos/mcp-client/package.json index 30eef043..4f97b0c6 100644 --- a/demos/mcp-client/package.json +++ b/demos/mcp-client/package.json @@ -11,7 +11,7 @@ "keywords": [], "author": "", "dependencies": { - "agents": "^0.2.35", + "agents": "^0.3.0", "nanoid": "^5.1.6", "react": "^19.2.3", "react-dom": "^19.2.3" diff --git a/demos/mcp-server-bearer-auth/package-lock.json b/demos/mcp-server-bearer-auth/package-lock.json index eb181922..55f91d83 100644 --- a/demos/mcp-server-bearer-auth/package-lock.json +++ b/demos/mcp-server-bearer-auth/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, @@ -1205,9 +1205,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1226,9 +1226,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/mcp-server-bearer-auth/package.json b/demos/mcp-server-bearer-auth/package.json index 00cc6831..385ea886 100644 --- a/demos/mcp-server-bearer-auth/package.json +++ b/demos/mcp-server-bearer-auth/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, diff --git a/demos/mcp-stytch-b2b-okr-manager/package-lock.json b/demos/mcp-stytch-b2b-okr-manager/package-lock.json index 6f198947..d29b3163 100644 --- a/demos/mcp-stytch-b2b-okr-manager/package-lock.json +++ b/demos/mcp-stytch-b2b-okr-manager/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@stytch/react": "^19.18.0", "@stytch/vanilla-js": "^5.44.0", - "agents": "^0.2.35", + "agents": "^0.3.0", "commander": "^14.0.2", "hono": "^4.11.1", "lucide-react": "^0.562.0", @@ -31,7 +31,7 @@ "eslint-plugin-react-refresh": "^0.4.26", "globals": "^16.5.0", "typescript": "5.9.3", - "typescript-eslint": "^8.50.0", + "typescript-eslint": "^8.50.1", "vite": "^7.3.0", "wrangler": "^4.56.0" } @@ -2198,17 +2198,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", - "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.1.tgz", + "integrity": "sha512-PKhLGDq3JAg0Jk/aK890knnqduuI/Qj+udH7wCf0217IGi4gt+acgCyPVe79qoT+qKUvHMDQkwJeKW9fwl8Cyw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/type-utils": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/type-utils": "8.50.1", + "@typescript-eslint/utils": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" @@ -2221,7 +2221,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/parser": "^8.50.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -2237,17 +2237,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", - "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.1.tgz", + "integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", "debug": "^4.3.4" }, "engines": { @@ -2263,14 +2263,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", - "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.1.tgz", + "integrity": "sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.50.0", - "@typescript-eslint/types": "^8.50.0", + "@typescript-eslint/tsconfig-utils": "^8.50.1", + "@typescript-eslint/types": "^8.50.1", "debug": "^4.3.4" }, "engines": { @@ -2285,14 +2285,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", - "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.1.tgz", + "integrity": "sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0" + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2303,9 +2303,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", - "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.1.tgz", + "integrity": "sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==", "dev": true, "license": "MIT", "engines": { @@ -2320,15 +2320,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", - "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.1.tgz", + "integrity": "sha512-7J3bf022QZE42tYMO6SL+6lTPKFk/WphhRPe9Tw/el+cEwzLz1Jjz2PX3GtGQVxooLDKeMVmMt7fWpYRdG5Etg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/utils": "8.50.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -2345,9 +2345,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", - "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.1.tgz", + "integrity": "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==", "dev": true, "license": "MIT", "engines": { @@ -2359,16 +2359,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", - "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.1.tgz", + "integrity": "sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.50.0", - "@typescript-eslint/tsconfig-utils": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", + "@typescript-eslint/project-service": "8.50.1", + "@typescript-eslint/tsconfig-utils": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", "debug": "^4.3.4", "minimatch": "^9.0.4", "semver": "^7.6.0", @@ -2426,16 +2426,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", - "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.1.tgz", + "integrity": "sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0" + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2450,13 +2450,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", - "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.1.tgz", + "integrity": "sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/types": "8.50.1", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -2536,9 +2536,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -2557,9 +2557,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -5362,16 +5362,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.0.tgz", - "integrity": "sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.1.tgz", + "integrity": "sha512-ytTHO+SoYSbhAH9CrYnMhiLx8To6PSSvqnvXyPUgPETCvB6eBKmTI9w6XMPS3HsBRGkwTVBX+urA8dYQx6bHfQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.50.0", - "@typescript-eslint/parser": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0" + "@typescript-eslint/eslint-plugin": "8.50.1", + "@typescript-eslint/parser": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/utils": "8.50.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/demos/mcp-stytch-b2b-okr-manager/package.json b/demos/mcp-stytch-b2b-okr-manager/package.json index ced3251e..7675548d 100644 --- a/demos/mcp-stytch-b2b-okr-manager/package.json +++ b/demos/mcp-stytch-b2b-okr-manager/package.json @@ -16,7 +16,7 @@ "dependencies": { "@stytch/react": "^19.18.0", "@stytch/vanilla-js": "^5.44.0", - "agents": "^0.2.35", + "agents": "^0.3.0", "commander": "^14.0.2", "hono": "^4.11.1", "lucide-react": "^0.562.0", @@ -37,7 +37,7 @@ "eslint-plugin-react-refresh": "^0.4.26", "globals": "^16.5.0", "typescript": "5.9.3", - "typescript-eslint": "^8.50.0", + "typescript-eslint": "^8.50.1", "vite": "^7.3.0", "wrangler": "^4.56.0" } diff --git a/demos/mcp-stytch-consumer-todo-list/package-lock.json b/demos/mcp-stytch-consumer-todo-list/package-lock.json index 81360f64..52da8f11 100644 --- a/demos/mcp-stytch-consumer-todo-list/package-lock.json +++ b/demos/mcp-stytch-consumer-todo-list/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@stytch/react": "^19.18.0", "@stytch/vanilla-js": "^5.44.0", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "jose": "^6.1.3", "react": "^19.2.3", @@ -29,7 +29,7 @@ "eslint-plugin-react-refresh": "^0.4.26", "globals": "^16.5.0", "typescript": "5.9.3", - "typescript-eslint": "^8.50.0", + "typescript-eslint": "^8.50.1", "vite": "^7.3.0", "wrangler": "^4.56.0" } @@ -2196,17 +2196,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", - "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.1.tgz", + "integrity": "sha512-PKhLGDq3JAg0Jk/aK890knnqduuI/Qj+udH7wCf0217IGi4gt+acgCyPVe79qoT+qKUvHMDQkwJeKW9fwl8Cyw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/type-utils": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/type-utils": "8.50.1", + "@typescript-eslint/utils": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" @@ -2219,7 +2219,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/parser": "^8.50.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -2235,17 +2235,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", - "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.1.tgz", + "integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", "debug": "^4.3.4" }, "engines": { @@ -2261,14 +2261,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", - "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.1.tgz", + "integrity": "sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.50.0", - "@typescript-eslint/types": "^8.50.0", + "@typescript-eslint/tsconfig-utils": "^8.50.1", + "@typescript-eslint/types": "^8.50.1", "debug": "^4.3.4" }, "engines": { @@ -2283,14 +2283,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", - "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.1.tgz", + "integrity": "sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0" + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2301,9 +2301,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", - "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.1.tgz", + "integrity": "sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==", "dev": true, "license": "MIT", "engines": { @@ -2318,15 +2318,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", - "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.1.tgz", + "integrity": "sha512-7J3bf022QZE42tYMO6SL+6lTPKFk/WphhRPe9Tw/el+cEwzLz1Jjz2PX3GtGQVxooLDKeMVmMt7fWpYRdG5Etg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/utils": "8.50.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -2343,9 +2343,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", - "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.1.tgz", + "integrity": "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==", "dev": true, "license": "MIT", "engines": { @@ -2357,16 +2357,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", - "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.1.tgz", + "integrity": "sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.50.0", - "@typescript-eslint/tsconfig-utils": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", + "@typescript-eslint/project-service": "8.50.1", + "@typescript-eslint/tsconfig-utils": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", "debug": "^4.3.4", "minimatch": "^9.0.4", "semver": "^7.6.0", @@ -2424,16 +2424,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", - "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.1.tgz", + "integrity": "sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0" + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2448,13 +2448,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", - "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.1.tgz", + "integrity": "sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/types": "8.50.1", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -2534,9 +2534,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -2555,9 +2555,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -5320,16 +5320,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.0.tgz", - "integrity": "sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==", + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.1.tgz", + "integrity": "sha512-ytTHO+SoYSbhAH9CrYnMhiLx8To6PSSvqnvXyPUgPETCvB6eBKmTI9w6XMPS3HsBRGkwTVBX+urA8dYQx6bHfQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.50.0", - "@typescript-eslint/parser": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0" + "@typescript-eslint/eslint-plugin": "8.50.1", + "@typescript-eslint/parser": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/utils": "8.50.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/demos/mcp-stytch-consumer-todo-list/package.json b/demos/mcp-stytch-consumer-todo-list/package.json index 41ee7a7f..a08f4be7 100644 --- a/demos/mcp-stytch-consumer-todo-list/package.json +++ b/demos/mcp-stytch-consumer-todo-list/package.json @@ -15,7 +15,7 @@ "dependencies": { "@stytch/react": "^19.18.0", "@stytch/vanilla-js": "^5.44.0", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "jose": "^6.1.3", "react": "^19.2.3", @@ -34,7 +34,7 @@ "eslint-plugin-react-refresh": "^0.4.26", "globals": "^16.5.0", "typescript": "5.9.3", - "typescript-eslint": "^8.50.0", + "typescript-eslint": "^8.50.1", "vite": "^7.3.0", "wrangler": "^4.56.0" } diff --git a/demos/model-scraper/package-lock.json b/demos/model-scraper/package-lock.json index aad9ac28..f1db7794 100644 --- a/demos/model-scraper/package-lock.json +++ b/demos/model-scraper/package-lock.json @@ -6,9 +6,9 @@ "": { "name": "model-scraper", "dependencies": { - "@ai-sdk/openai": "^2.0.88", - "agents": "^0.2.35", - "ai": "^5.0.116", + "@ai-sdk/openai": "^3.0.0", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -24,13 +24,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -41,14 +41,14 @@ } }, "node_modules/@ai-sdk/openai": { - "version": "2.0.88", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-2.0.88.tgz", - "integrity": "sha512-LlOf83haeZIiRUH1Zw1oEmqUfw5y54227CvndFoBpIkMJwQDGAB3VARUeOJ6iwAWDJjXSz06GdnEnhRU67Yatw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.0.tgz", + "integrity": "sha512-/o2xCQlRA+O0cAXIIBOfMeT35H6Fonzilz9r/IJojPOMQnmIL+0jPQVKOUPr5bouRqCjnwKpwuKEBRqm8jUZkQ==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19" + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0" }, "engines": { "node": ">=18" @@ -58,9 +58,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -70,13 +70,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1955,9 +1955,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1976,9 +1976,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -2003,15 +2003,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4314,6 +4314,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/model-scraper/package.json b/demos/model-scraper/package.json index 994bcd73..16330479 100644 --- a/demos/model-scraper/package.json +++ b/demos/model-scraper/package.json @@ -19,9 +19,9 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@ai-sdk/openai": "^2.0.88", - "agents": "^0.2.35", - "ai": "^5.0.116", + "@ai-sdk/openai": "^3.0.0", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/orchestrator-workers/package-lock.json b/demos/orchestrator-workers/package-lock.json index e108f4e7..ef7f2123 100644 --- a/demos/orchestrator-workers/package-lock.json +++ b/demos/orchestrator-workers/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "orchestrator-workers", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/orchestrator-workers/package.json b/demos/orchestrator-workers/package.json index 8b20a414..c3a37396 100644 --- a/demos/orchestrator-workers/package.json +++ b/demos/orchestrator-workers/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/orchestrator-workers/src/orchestrator-workers-workflow.ts b/demos/orchestrator-workers/src/orchestrator-workers-workflow.ts index d5b15deb..2fc9c6d3 100644 --- a/demos/orchestrator-workers/src/orchestrator-workers-workflow.ts +++ b/demos/orchestrator-workers/src/orchestrator-workers-workflow.ts @@ -1,5 +1,9 @@ -import { WorkflowEntrypoint, type WorkflowEvent, type WorkflowStep } from "cloudflare:workers"; -import { generateObject } from "ai"; +import { + WorkflowEntrypoint, + type WorkflowEvent, + type WorkflowStep, +} from "cloudflare:workers"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -23,7 +27,10 @@ export class OrchestratorWorkersWorkflow extends WorkflowEntrypoint< Env, OrchestratorWorkersWorkflowParams > { - async run(event: WorkflowEvent, step: WorkflowStep) { + async run( + event: WorkflowEvent, + step: WorkflowStep + ) { const { prompt } = event.payload; const workersai = createWorkersAI({ binding: this.env.AI }); @@ -34,7 +41,7 @@ export class OrchestratorWorkersWorkflow extends WorkflowEntrypoint< const orchestratorResult = await step.do("generate subtasks", async () => { const orchestratorPrompt = `Given the following complex coding task:\n\n${prompt}\n\nPlease break it down into a list of subtasks needed to complete the task. Return your answer as a JSON object in the format { "tasks": ["Task 1", "Task 2", ...] }`; const { object } = await generateObject({ - model: bigModel, + model: bigModel as LanguageModel, schema: orchestratorSchema, prompt: orchestratorPrompt, }); @@ -42,28 +49,35 @@ export class OrchestratorWorkersWorkflow extends WorkflowEntrypoint< }); // --- Step 2: Workers Execute Each Subtask in Parallel --- - const workerResponses = await step.do("execute subtasks in parallel", async () => { - const workerPromises = orchestratorResult.tasks.map(async (taskPrompt) => { - const workerLLMPrompt = `You are a specialised coding assistant. Please complete the following subtask:\n\n${taskPrompt}\n\nReturn your result as a JSON object in the format { "response": "Your detailed response here." }`; - const { object } = await generateObject({ - model: smallModel, - schema: workerOutputSchema, - prompt: workerLLMPrompt, - }); + const workerResponses = await step.do( + "execute subtasks in parallel", + async () => { + const workerPromises = orchestratorResult.tasks.map( + async (taskPrompt) => { + const workerLLMPrompt = `You are a specialised coding assistant. Please complete the following subtask:\n\n${taskPrompt}\n\nReturn your result as a JSON object in the format { "response": "Your detailed response here." }`; + const { object } = await generateObject({ + model: smallModel as LanguageModel, + schema: workerOutputSchema, + prompt: workerLLMPrompt, + }); - return object.response; - }); - return Promise.all(workerPromises); - }); + return object.response; + } + ); + return Promise.all(workerPromises); + } + ); // --- Step 3: Aggregator Synthesises the Worker Responses --- const aggregatorResult = await step.do("synthesise responses", async () => { const aggregatorPrompt = `The following are responses from various workers addressing subtasks for a complex coding task:\n\n - ${workerResponses.map((resp, index) => `Subtask ${index + 1}: ${resp}`).join("\n\n")} + ${workerResponses + .map((resp, index) => `Subtask ${index + 1}: ${resp}`) + .join("\n\n")} \n\nPlease synthesise these responses into a single, comprehensive final result. Return your answer as a JSON object in the format { "finalResult": "Your comprehensive result here." }`; const { object } = await generateObject({ - model: bigModel, + model: bigModel as LanguageModel, schema: aggregatorSchema, prompt: aggregatorPrompt, }); diff --git a/demos/parallelisation/package-lock.json b/demos/parallelisation/package-lock.json index 624a0342..2acc9ee6 100644 --- a/demos/parallelisation/package-lock.json +++ b/demos/parallelisation/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "parallelisation", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/parallelisation/package.json b/demos/parallelisation/package.json index 21ecf7dd..d222ac5f 100644 --- a/demos/parallelisation/package.json +++ b/demos/parallelisation/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/parallelisation/src/parallelisation-workflow.ts b/demos/parallelisation/src/parallelisation-workflow.ts index 9e75f200..8a7b3868 100644 --- a/demos/parallelisation/src/parallelisation-workflow.ts +++ b/demos/parallelisation/src/parallelisation-workflow.ts @@ -1,5 +1,9 @@ -import { WorkflowEntrypoint, type WorkflowEvent, type WorkflowStep } from "cloudflare:workers"; -import { generateObject } from "ai"; +import { + WorkflowEntrypoint, + type WorkflowEvent, + type WorkflowStep, +} from "cloudflare:workers"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -19,7 +23,10 @@ export class ParallelisationWorkflow extends WorkflowEntrypoint< Env, ParallelisationWorkflowParams > { - async run(event: WorkflowEvent, step: WorkflowStep) { + async run( + event: WorkflowEvent, + step: WorkflowStep + ) { const { prompt } = event.payload; // Initialise Workers AI using the AI binding from the environment. @@ -38,7 +45,7 @@ export class ParallelisationWorkflow extends WorkflowEntrypoint< const angleOutputs = await step.do("parallel angle calls", async () => { const calls = anglePrompts.map(async (anglePrompt) => { const { object } = await generateObject({ - model: smallModel, + model: smallModel as LanguageModel, schema: angleSchema, prompt: anglePrompt, }); @@ -52,12 +59,14 @@ export class ParallelisationWorkflow extends WorkflowEntrypoint< // Step 2: Aggregation via a Larger LLM. const aggregatorResult = await step.do("aggregate responses", async () => { const aggregatorPrompt = `The following responses provide diverse perspectives on a given prompt:\n\n - ${angleOutputs.map((output, index) => `Response ${index + 1}: ${output}`).join("\n\n")} + ${angleOutputs + .map((output, index) => `Response ${index + 1}: ${output}`) + .join("\n\n")} \n\nBased on these responses, please synthesise a comprehensive final result. Return your answer as a JSON object in the format { "finalResult": "Your comprehensive result here." }`; const { object } = await generateObject({ - model: bigModel, + model: bigModel as LanguageModel, schema: finalOutputSchema, prompt: aggregatorPrompt, }); diff --git a/demos/prompt-chaining/package-lock.json b/demos/prompt-chaining/package-lock.json index 82d535bf..33f98cd1 100644 --- a/demos/prompt-chaining/package-lock.json +++ b/demos/prompt-chaining/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "prompt-chaining", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/prompt-chaining/package.json b/demos/prompt-chaining/package.json index 0f8fd5dd..68d0795f 100644 --- a/demos/prompt-chaining/package.json +++ b/demos/prompt-chaining/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/prompt-chaining/src/prompt-chaining-workflow.ts b/demos/prompt-chaining/src/prompt-chaining-workflow.ts index 9fab0a46..0b43cd4f 100644 --- a/demos/prompt-chaining/src/prompt-chaining-workflow.ts +++ b/demos/prompt-chaining/src/prompt-chaining-workflow.ts @@ -1,5 +1,9 @@ -import { WorkflowEntrypoint, type WorkflowEvent, type WorkflowStep } from "cloudflare:workers"; -import { generateObject } from "ai"; +import { + WorkflowEntrypoint, + type WorkflowEvent, + type WorkflowStep, +} from "cloudflare:workers"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -19,8 +23,14 @@ const documentationSchema = z.object({ documentation: z.string(), }); -export class PromptChainingWorkflow extends WorkflowEntrypoint { - async run(event: WorkflowEvent, step: WorkflowStep) { +export class PromptChainingWorkflow extends WorkflowEntrypoint< + Env, + PromptChainingWorkflowParams +> { + async run( + event: WorkflowEvent, + step: WorkflowStep + ) { const { prompt } = event.payload; const workersai = createWorkersAI({ binding: this.env.AI }); @@ -30,7 +40,7 @@ export class PromptChainingWorkflow extends WorkflowEntrypoint { const outlinePrompt = `${prompt}\n\nPlease generate a detailed outline for the technical documentation.`; const { object } = await generateObject({ - model, + model: model as LanguageModel, schema: outlineSchema, prompt: outlinePrompt, }); @@ -39,9 +49,11 @@ export class PromptChainingWorkflow extends WorkflowEntrypoint { - const criteriaPrompt = `Please evaluate the following technical documentation outline against our criteria:\n\n${JSON.stringify(outlineObj)}\n\nReturn a JSON object with a boolean field "meetsCriteria" that is true if the outline meets the criteria, or false otherwise.`; + const criteriaPrompt = `Please evaluate the following technical documentation outline against our criteria:\n\n${JSON.stringify( + outlineObj + )}\n\nReturn a JSON object with a boolean field "meetsCriteria" that is true if the outline meets the criteria, or false otherwise.`; const { object } = await generateObject({ - model, + model: model as LanguageModel, schema: criteriaSchema, prompt: criteriaPrompt, }); @@ -53,15 +65,20 @@ export class PromptChainingWorkflow extends WorkflowEntrypoint { - const documentationPrompt = `Using the following approved outline for technical documentation:\n\n${JSON.stringify(outlineObj)}\n\nPlease generate the full technical documentation in a detailed and organised manner.`; - const { object } = await generateObject({ - model, - schema: documentationSchema, - prompt: documentationPrompt, - }); - return object; - }); + const documentationObj = await step.do( + "generate documentation", + async () => { + const documentationPrompt = `Using the following approved outline for technical documentation:\n\n${JSON.stringify( + outlineObj + )}\n\nPlease generate the full technical documentation in a detailed and organised manner.`; + const { object } = await generateObject({ + model: model as LanguageModel, + schema: documentationSchema, + prompt: documentationPrompt, + }); + return object; + } + ); return { outline: outlineObj, diff --git a/demos/remote-mcp-auth0/mcp-auth0-oidc/package.json b/demos/remote-mcp-auth0/mcp-auth0-oidc/package.json index d134e574..a5a11677 100644 --- a/demos/remote-mcp-auth0/mcp-auth0-oidc/package.json +++ b/demos/remote-mcp-auth0/mcp-auth0-oidc/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "jose": "^6.1.3", "just-pick": "^4.2.0", diff --git a/demos/remote-mcp-authkit/package-lock.json b/demos/remote-mcp-authkit/package-lock.json index a67493a6..77839691 100644 --- a/demos/remote-mcp-authkit/package-lock.json +++ b/demos/remote-mcp-authkit/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", "@workos-inc/node": "^7.77.0", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "jose": "^6.1.3", "zod": "^3.25.76" @@ -1607,9 +1607,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1628,9 +1628,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-authkit/package.json b/demos/remote-mcp-authkit/package.json index b635ee23..03117085 100644 --- a/demos/remote-mcp-authkit/package.json +++ b/demos/remote-mcp-authkit/package.json @@ -16,7 +16,7 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", "@workos-inc/node": "^7.77.0", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "jose": "^6.1.3", "zod": "^3.25.76" diff --git a/demos/remote-mcp-authless/package-lock.json b/demos/remote-mcp-authless/package-lock.json index b80d4517..17807b61 100644 --- a/demos/remote-mcp-authless/package-lock.json +++ b/demos/remote-mcp-authless/package-lock.json @@ -8,7 +8,7 @@ "name": "remote-mcp-server-authless", "version": "0.0.0", "dependencies": { - "agents": "^0.2.35", + "agents": "^0.3.0", "zod": "^3.25.76" }, "devDependencies": { @@ -1360,9 +1360,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1381,9 +1381,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-authless/package.json b/demos/remote-mcp-authless/package.json index a7c35bce..a22257c1 100644 --- a/demos/remote-mcp-authless/package.json +++ b/demos/remote-mcp-authless/package.json @@ -12,7 +12,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", + "agents": "^0.3.0", "zod": "^3.25.76" }, "devDependencies": { diff --git a/demos/remote-mcp-cf-access/package-lock.json b/demos/remote-mcp-cf-access/package-lock.json index 6f0e909d..17854d72 100644 --- a/demos/remote-mcp-cf-access/package-lock.json +++ b/demos/remote-mcp-cf-access/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "just-pick": "^4.2.0", "octokit": "^5.0.5", "zod": "^3.25.76" @@ -1565,9 +1565,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1586,9 +1586,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-cf-access/package.json b/demos/remote-mcp-cf-access/package.json index 29ce44c6..18518f30 100644 --- a/demos/remote-mcp-cf-access/package.json +++ b/demos/remote-mcp-cf-access/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "just-pick": "^4.2.0", "octokit": "^5.0.5", "zod": "^3.25.76" diff --git a/demos/remote-mcp-github-oauth/package-lock.json b/demos/remote-mcp-github-oauth/package-lock.json index 05579ed3..6b27c563 100644 --- a/demos/remote-mcp-github-oauth/package-lock.json +++ b/demos/remote-mcp-github-oauth/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "just-pick": "^4.2.0", "octokit": "^5.0.5", @@ -1556,9 +1556,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1577,9 +1577,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-github-oauth/package.json b/demos/remote-mcp-github-oauth/package.json index a1eaccc2..e4361282 100644 --- a/demos/remote-mcp-github-oauth/package.json +++ b/demos/remote-mcp-github-oauth/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "just-pick": "^4.2.0", "octokit": "^5.0.5", diff --git a/demos/remote-mcp-google-oauth/package-lock.json b/demos/remote-mcp-google-oauth/package-lock.json index 1138f34c..0618bb91 100644 --- a/demos/remote-mcp-google-oauth/package-lock.json +++ b/demos/remote-mcp-google-oauth/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "just-pick": "^4.2.0", "zod": "^3.25.76" @@ -1207,9 +1207,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1228,9 +1228,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-google-oauth/package.json b/demos/remote-mcp-google-oauth/package.json index 07ba9591..83ca9622 100644 --- a/demos/remote-mcp-google-oauth/package.json +++ b/demos/remote-mcp-google-oauth/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "just-pick": "^4.2.0", "zod": "^3.25.76" diff --git a/demos/remote-mcp-logto/package-lock.json b/demos/remote-mcp-logto/package-lock.json index b5f0e8f5..5ac3a8f5 100644 --- a/demos/remote-mcp-logto/package-lock.json +++ b/demos/remote-mcp-logto/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", "@logto/node": "^3.1.6", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, @@ -1248,9 +1248,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1269,9 +1269,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-logto/package.json b/demos/remote-mcp-logto/package.json index 465ca6e4..325ecf93 100644 --- a/demos/remote-mcp-logto/package.json +++ b/demos/remote-mcp-logto/package.json @@ -14,7 +14,7 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", "@logto/node": "^3.1.6", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, diff --git a/demos/remote-mcp-server-autorag/package-lock.json b/demos/remote-mcp-server-autorag/package-lock.json index 1dad1741..f2643702 100644 --- a/demos/remote-mcp-server-autorag/package-lock.json +++ b/demos/remote-mcp-server-autorag/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, @@ -1205,9 +1205,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1226,9 +1226,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-server-autorag/package.json b/demos/remote-mcp-server-autorag/package.json index 9e39a3ef..b9e0113c 100644 --- a/demos/remote-mcp-server-autorag/package.json +++ b/demos/remote-mcp-server-autorag/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, diff --git a/demos/remote-mcp-server-descope-auth/package-lock.json b/demos/remote-mcp-server-descope-auth/package-lock.json index df8e4713..f2788ced 100644 --- a/demos/remote-mcp-server-descope-auth/package-lock.json +++ b/demos/remote-mcp-server-descope-auth/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, @@ -1205,9 +1205,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1226,9 +1226,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-server-descope-auth/package.json b/demos/remote-mcp-server-descope-auth/package.json index 889f496f..f2e5550e 100644 --- a/demos/remote-mcp-server-descope-auth/package.json +++ b/demos/remote-mcp-server-descope-auth/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, diff --git a/demos/remote-mcp-server/package-lock.json b/demos/remote-mcp-server/package-lock.json index cdaac5df..b8ef77c1 100644 --- a/demos/remote-mcp-server/package-lock.json +++ b/demos/remote-mcp-server/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, @@ -1205,9 +1205,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1226,9 +1226,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", diff --git a/demos/remote-mcp-server/package.json b/demos/remote-mcp-server/package.json index 8e782c9c..fe1e6bbe 100644 --- a/demos/remote-mcp-server/package.json +++ b/demos/remote-mcp-server/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "^0.2.2", - "agents": "^0.2.35", + "agents": "^0.3.0", "hono": "^4.11.1", "zod": "^3.25.76" }, diff --git a/demos/routing/package-lock.json b/demos/routing/package-lock.json index 03fa3ca9..00f539a2 100644 --- a/demos/routing/package-lock.json +++ b/demos/routing/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "routing", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/routing/package.json b/demos/routing/package.json index bf075ede..a60cb4de 100644 --- a/demos/routing/package.json +++ b/demos/routing/package.json @@ -15,8 +15,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/routing/src/routing-workflow.ts b/demos/routing/src/routing-workflow.ts index 210d93e6..a7337bb7 100644 --- a/demos/routing/src/routing-workflow.ts +++ b/demos/routing/src/routing-workflow.ts @@ -1,5 +1,9 @@ -import { WorkflowEntrypoint, type WorkflowEvent, type WorkflowStep } from "cloudflare:workers"; -import { generateObject } from "ai"; +import { + WorkflowEntrypoint, + type WorkflowEvent, + type WorkflowStep, +} from "cloudflare:workers"; +import { generateObject, type LanguageModel } from "ai"; import { createWorkersAI } from "workers-ai-provider"; import z from "zod"; @@ -15,7 +19,10 @@ const finalOutputSchema = z.object({ result: z.string(), }); -export class RoutingWorkflow extends WorkflowEntrypoint { +export class RoutingWorkflow extends WorkflowEntrypoint< + Env, + RoutingWorkflowParams +> { async run(event: WorkflowEvent<{ prompt: string }>, step: WorkflowStep) { const { prompt } = event.payload; @@ -27,7 +34,7 @@ export class RoutingWorkflow extends WorkflowEntrypoint { const gradePrompt = `Please evaluate the following prompt and assign a grade between 0 and 100 based on its complexity and difficulty. A higher number = more complex and difficult:\n\n${prompt}\n\nReturn a JSON object like { "grade": 75 } where the number represents the grade.`; const { object } = await generateObject({ - model: smallModel, + model: smallModel as LanguageModel, schema: gradeSchema, prompt: gradePrompt, }); @@ -40,7 +47,7 @@ export class RoutingWorkflow extends WorkflowEntrypoint { const finalPrompt = `Using the prompt provided below, please produce a detailed and well-formulated response:\n\n${prompt}\n\nPlease return your result as a JSON object like { "result": "Your detailed response here." }`; const { object } = await generateObject({ - model: selectedModel, + model: selectedModel as LanguageModel, schema: finalOutputSchema, prompt: finalPrompt, }); diff --git a/demos/structured-output-node/package-lock.json b/demos/structured-output-node/package-lock.json index 03cce5a0..7670e256 100644 --- a/demos/structured-output-node/package-lock.json +++ b/demos/structured-output-node/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "structured-output-node", "dependencies": { - "ai": "^5.0.116", + "ai": "^6.0.0", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" }, @@ -18,13 +18,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -35,9 +35,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -47,13 +47,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1155,14 +1155,14 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -1840,6 +1840,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", diff --git a/demos/structured-output-node/package.json b/demos/structured-output-node/package.json index 92c27f2b..b961b7dc 100644 --- a/demos/structured-output-node/package.json +++ b/demos/structured-output-node/package.json @@ -1,6 +1,6 @@ { "dependencies": { - "ai": "^5.0.116", + "ai": "^6.0.0", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" }, diff --git a/demos/structured-output/package-lock.json b/demos/structured-output/package-lock.json index 39229c2e..e3cfa9e6 100644 --- a/demos/structured-output/package-lock.json +++ b/demos/structured-output/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "structured-output", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/structured-output/package.json b/demos/structured-output/package.json index cd0c97f4..c44ee3a8 100644 --- a/demos/structured-output/package.json +++ b/demos/structured-output/package.json @@ -17,8 +17,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/structured-output/src/index.ts b/demos/structured-output/src/index.ts index 4d12a03b..912a0a66 100644 --- a/demos/structured-output/src/index.ts +++ b/demos/structured-output/src/index.ts @@ -1,4 +1,4 @@ -import { generateObject } from "ai"; +import { generateObject, type LanguageModel } from "ai"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { createWorkersAI } from "workers-ai-provider"; @@ -13,11 +13,15 @@ app.post("/", async (c) => { const { prompt } = (await c.req.json()) as { prompt: string }; const workersai = createWorkersAI({ binding: c.env.AI }); const { object } = await generateObject({ - model: workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"), + model: workersai( + "@cf/meta/llama-3.3-70b-instruct-fp8-fast" + ) as LanguageModel, schema: z.object({ recipe: z.object({ name: z.string(), - ingredients: z.array(z.object({ name: z.string(), amount: z.string() })), + ingredients: z.array( + z.object({ name: z.string(), amount: z.string() }) + ), steps: z.array(z.string()), }), }), diff --git a/demos/text-generation-stream/package-lock.json b/demos/text-generation-stream/package-lock.json index 7d2140f6..6d18bb84 100644 --- a/demos/text-generation-stream/package-lock.json +++ b/demos/text-generation-stream/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "text-generation-stream", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/text-generation-stream/package.json b/demos/text-generation-stream/package.json index 53ed653d..99efc295 100644 --- a/demos/text-generation-stream/package.json +++ b/demos/text-generation-stream/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/text-generation-stream/src/index.ts b/demos/text-generation-stream/src/index.ts index a742f18b..41e05285 100644 --- a/demos/text-generation-stream/src/index.ts +++ b/demos/text-generation-stream/src/index.ts @@ -1,4 +1,4 @@ -import { streamText } from "ai"; +import { streamText, type LanguageModel } from "ai"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { createWorkersAI } from "workers-ai-provider"; @@ -13,7 +13,7 @@ app.post("/", async (c) => { const model = workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"); const result = streamText({ - model, + model: model as LanguageModel, prompt, }); diff --git a/demos/text-generation/package-lock.json b/demos/text-generation/package-lock.json index b1332e3d..af548e73 100644 --- a/demos/text-generation/package-lock.json +++ b/demos/text-generation/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "text-generation", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -22,13 +22,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -39,9 +39,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -51,13 +51,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1936,9 +1936,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1957,9 +1957,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1984,15 +1984,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4295,6 +4295,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/text-generation/package.json b/demos/text-generation/package.json index 89c4962d..a0d04cbb 100644 --- a/demos/text-generation/package.json +++ b/demos/text-generation/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/text-generation/src/index.ts b/demos/text-generation/src/index.ts index e56618d7..0d63c943 100644 --- a/demos/text-generation/src/index.ts +++ b/demos/text-generation/src/index.ts @@ -1,4 +1,4 @@ -import { generateText } from "ai"; +import { generateText, type LanguageModel } from "ai"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { createWorkersAI } from "workers-ai-provider"; @@ -12,7 +12,9 @@ app.post("/", async (c) => { const workersai = createWorkersAI({ binding: c.env.AI }); const result = await generateText({ - model: workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"), + model: workersai( + "@cf/meta/llama-3.3-70b-instruct-fp8-fast" + ) as LanguageModel, prompt, }); diff --git a/demos/tool-calling-stream-traditional/package-lock.json b/demos/tool-calling-stream-traditional/package-lock.json index 10025ac1..7025d517 100644 --- a/demos/tool-calling-stream-traditional/package-lock.json +++ b/demos/tool-calling-stream-traditional/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "tool-calling-stream-traditional", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "zod": "^3.25.76" }, @@ -22,13 +22,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -39,9 +39,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -51,13 +51,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1936,9 +1936,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1957,9 +1957,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1984,15 +1984,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { diff --git a/demos/tool-calling-stream-traditional/package.json b/demos/tool-calling-stream-traditional/package.json index 63f2a814..2038b2eb 100644 --- a/demos/tool-calling-stream-traditional/package.json +++ b/demos/tool-calling-stream-traditional/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "zod": "^3.25.76" }, diff --git a/demos/tool-calling-stream/package-lock.json b/demos/tool-calling-stream/package-lock.json index 2f0bdfb1..ad321743 100644 --- a/demos/tool-calling-stream/package-lock.json +++ b/demos/tool-calling-stream/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "tool-calling-stream", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/tool-calling-stream/package.json b/demos/tool-calling-stream/package.json index 2fea8951..847fce7e 100644 --- a/demos/tool-calling-stream/package.json +++ b/demos/tool-calling-stream/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/tool-calling-stream/src/index.ts b/demos/tool-calling-stream/src/index.ts index 8e15eaf3..3e5b5e7e 100644 --- a/demos/tool-calling-stream/src/index.ts +++ b/demos/tool-calling-stream/src/index.ts @@ -1,4 +1,4 @@ -import { stepCountIs, streamText, tool } from "ai"; +import { type LanguageModel, stepCountIs, streamText, tool } from "ai"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { createWorkersAI } from "workers-ai-provider"; @@ -18,7 +18,7 @@ app.post("/", async (c) => { const model = workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"); const result = streamText({ - model, + model: model as LanguageModel, messages: [ { role: "system", content: "You are a helpful AI assistant" }, { role: "user", content: prompt }, diff --git a/demos/tool-calling/package-lock.json b/demos/tool-calling/package-lock.json index 85f9d243..57fd82d1 100644 --- a/demos/tool-calling/package-lock.json +++ b/demos/tool-calling/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "tool-calling", "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" @@ -23,13 +23,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -52,13 +52,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1937,9 +1937,9 @@ } }, "node_modules/agents": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/agents/-/agents-0.2.35.tgz", - "integrity": "sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/agents/-/agents-0.3.0.tgz", + "integrity": "sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==", "license": "MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", @@ -1958,9 +1958,9 @@ "agents": "dist/cli/index.js" }, "peerDependencies": { - "@ai-sdk/openai": ">=2.0.0", - "@ai-sdk/react": ">=1.0.0", - "ai": ">=5.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", + "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "x402": "^0.7.1", @@ -1985,15 +1985,15 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "peer": true, "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -4296,6 +4296,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/tool-calling/package.json b/demos/tool-calling/package.json index 0dcb341d..0907922e 100644 --- a/demos/tool-calling/package.json +++ b/demos/tool-calling/package.json @@ -17,8 +17,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "hono": "^4.11.1", "workers-ai-provider": "^2.0.2", "zod": "^3.25.76" diff --git a/demos/tool-calling/src/index.ts b/demos/tool-calling/src/index.ts index 21d3380e..d5cd2e5e 100644 --- a/demos/tool-calling/src/index.ts +++ b/demos/tool-calling/src/index.ts @@ -1,4 +1,4 @@ -import { generateText, stepCountIs, tool } from "ai"; +import { generateText, stepCountIs, tool, type LanguageModel } from "ai"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { createWorkersAI } from "workers-ai-provider"; @@ -14,7 +14,7 @@ app.post("/", async (c) => { const workersai = createWorkersAI({ binding: c.env.AI }); const result = await generateText({ - model: workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast"), + model: workersai("@cf/meta/llama-3.3-70b-instruct-fp8-fast") as LanguageModel, messages: [ { role: "system", content: "You are a helpful AI assistant" }, { role: "user", content: prompt }, diff --git a/demos/ui-worker/package-lock.json b/demos/ui-worker/package-lock.json index 11cb760e..600f5fec 100644 --- a/demos/ui-worker/package-lock.json +++ b/demos/ui-worker/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "ui-worker", "dependencies": { - "@ai-sdk/openai": "^2.0.88", - "@ai-sdk/react": "^2.0.118", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", "@mantine/charts": "^8.3.10", "@mantine/code-highlight": "^8.3.10", "@mantine/core": "^8.3.10", @@ -16,7 +16,7 @@ "@mantine/hooks": "^8.3.10", "@mantine/modals": "^8.3.10", "@mantine/notifications": "^8.3.10", - "ai": "^5.0.116", + "ai": "^6.0.0", "hono": "^4.11.1", "react": "^19.2.3", "react-dom": "^19.2.3", @@ -40,13 +40,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -57,13 +57,13 @@ } }, "node_modules/@ai-sdk/openai": { - "version": "2.0.88", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-2.0.88.tgz", - "integrity": "sha512-LlOf83haeZIiRUH1Zw1oEmqUfw5y54227CvndFoBpIkMJwQDGAB3VARUeOJ6iwAWDJjXSz06GdnEnhRU67Yatw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.0.tgz", + "integrity": "sha512-/o2xCQlRA+O0cAXIIBOfMeT35H6Fonzilz9r/IJojPOMQnmIL+0jPQVKOUPr5bouRqCjnwKpwuKEBRqm8jUZkQ==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19" + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0" }, "engines": { "node": ">=18" @@ -73,9 +73,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -85,13 +85,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -102,13 +102,13 @@ } }, "node_modules/@ai-sdk/react": { - "version": "2.0.118", - "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-2.0.118.tgz", - "integrity": "sha512-K/5VVEGTIu9SWrdQ0s/11OldFU8IjprDzeE6TaC2fOcQWhG7dGVGl9H8Z32QBHzdfJyMhFUxEyFKSOgA2j9+VQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-3.0.1.tgz", + "integrity": "sha512-XUPDMFgalNtqBQg+Q3UiiEmWE3PC5pAoc+Drs5Z1Mxqe57za+hKCEwViYADuqeZrc0q6PXTzbcFlQb3pjyGjcQ==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider-utils": "3.0.19", - "ai": "5.0.116", + "@ai-sdk/provider-utils": "4.0.0", + "ai": "6.0.1", "swr": "^2.2.5", "throttleit": "2.1.0" }, @@ -116,13 +116,7 @@ "node": ">=18" }, "peerDependencies": { - "react": "^18 || ~19.0.1 || ~19.1.2 || ^19.2.1", - "zod": "^3.25.76 || ^4.1.8" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } + "react": "^18 || ~19.0.1 || ~19.1.2 || ^19.2.1" } }, "node_modules/@babel/code-frame": { @@ -2602,14 +2596,14 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { diff --git a/demos/ui-worker/package.json b/demos/ui-worker/package.json index bafd93e0..b9fb0995 100644 --- a/demos/ui-worker/package.json +++ b/demos/ui-worker/package.json @@ -16,8 +16,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@ai-sdk/openai": "^2.0.88", - "@ai-sdk/react": "^2.0.118", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/react": "^3.0.0", "@mantine/charts": "^8.3.10", "@mantine/code-highlight": "^8.3.10", "@mantine/core": "^8.3.10", @@ -26,7 +26,7 @@ "@mantine/hooks": "^8.3.10", "@mantine/modals": "^8.3.10", "@mantine/notifications": "^8.3.10", - "ai": "^5.0.116", + "ai": "^6.0.0", "hono": "^4.11.1", "react": "^19.2.3", "react-dom": "^19.2.3", diff --git a/demos/vision/package-lock.json b/demos/vision/package-lock.json index 220db76d..5a8b0774 100644 --- a/demos/vision/package-lock.json +++ b/demos/vision/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "vision", "dependencies": { - "ai": "^5.0.116", + "ai": "^6.0.0", "hono": "^4.11.1", "react": "^19.2.3", "react-dom": "^19.2.3", @@ -24,13 +24,13 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.23.tgz", - "integrity": "sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.0.tgz", + "integrity": "sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@vercel/oidc": "3.0.5" }, "engines": { @@ -41,9 +41,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", - "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.0.tgz", + "integrity": "sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -53,13 +53,13 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", - "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.0.tgz", + "integrity": "sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", + "@ai-sdk/provider": "3.0.0", + "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "engines": { @@ -1909,14 +1909,14 @@ } }, "node_modules/ai": { - "version": "5.0.116", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.116.tgz", - "integrity": "sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.1.tgz", + "integrity": "sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "2.0.23", - "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.19", + "@ai-sdk/gateway": "3.0.0", + "@ai-sdk/provider": "3.0.0", + "@ai-sdk/provider-utils": "4.0.0", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -2868,6 +2868,35 @@ "@ai-sdk/provider-utils": "^3.0.19" } }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/workers-ai-provider/node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/wrangler": { "version": "4.56.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.56.0.tgz", diff --git a/demos/vision/package.json b/demos/vision/package.json index 21c040b9..6a9bc6eb 100644 --- a/demos/vision/package.json +++ b/demos/vision/package.json @@ -14,7 +14,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "ai": "^5.0.116", + "ai": "^6.0.0", "hono": "^4.11.1", "react": "^19.2.3", "react-dom": "^19.2.3", diff --git a/package.json b/package.json index d789d8e8..bbe27513 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "lint-npm-lockfiles": "aicli lint-npm-lockfiles" }, "devDependencies": { - "@ai-sdk/openai": "^2.0.88", + "@ai-sdk/openai": "^3.0.0", "@biomejs/biome": "^2.3.10", "@changesets/changelog-github": "^0.5.2", "@changesets/cli": "^2.29.8", @@ -24,8 +24,8 @@ "@types/ejs": "^3.1.5", "@types/node": "^25.0.3", "@types/wait-on": "^5.3.4", - "agents": "^0.2.35", - "ai": "^5.0.116", + "agents": "^0.3.0", + "ai": "^6.0.0", "chalk": "^5.6.2", "dayjs": "^1.11.19", "dotenv": "^17.2.3", diff --git a/packages/ai-gateway-provider/package.json b/packages/ai-gateway-provider/package.json index dcf0396d..8c881076 100644 --- a/packages/ai-gateway-provider/package.json +++ b/packages/ai-gateway-provider/package.json @@ -136,31 +136,31 @@ "url": "https://github.com/cloudflare/ai/issues" }, "dependencies": { - "@ai-sdk/provider": "^2.0.0", - "@ai-sdk/provider-utils": "^3.0.19", - "ai": "^5.0.116" + "@ai-sdk/provider": "^3.0.0", + "@ai-sdk/provider-utils": "^4.0.0", + "ai": "^6.0.0" }, "peerDependencies": { - "@ai-sdk/openai-compatible": "^1.0.29" + "@ai-sdk/openai-compatible": "^2.0.0" }, "optionalDependencies": { - "@ai-sdk/amazon-bedrock": "^3.0.71", - "@ai-sdk/anthropic": "^2.0.56", - "@ai-sdk/azure": "^2.0.90", - "@ai-sdk/cerebras": "^1.0.33", - "@ai-sdk/cohere": "^2.0.21", - "@ai-sdk/deepgram": "^1.0.21", - "@ai-sdk/deepseek": "^1.0.32", - "@ai-sdk/elevenlabs": "^1.0.21", - "@ai-sdk/fireworks": "^1.0.30", - "@ai-sdk/google": "^2.0.51", - "@ai-sdk/google-vertex": "3.0.90", - "@ai-sdk/groq": "^2.0.33", - "@ai-sdk/mistral": "^2.0.26", - "@ai-sdk/openai": "^2.0.88", - "@ai-sdk/perplexity": "^2.0.22", - "@ai-sdk/xai": "^2.0.42", - "@openrouter/ai-sdk-provider": "^1.5.3" + "@ai-sdk/amazon-bedrock": "^4.0.0", + "@ai-sdk/anthropic": "^3.0.0", + "@ai-sdk/azure": "^3.0.0", + "@ai-sdk/cerebras": "^2.0.0", + "@ai-sdk/cohere": "^3.0.0", + "@ai-sdk/deepgram": "^2.0.0", + "@ai-sdk/deepseek": "^2.0.0", + "@ai-sdk/elevenlabs": "^2.0.0", + "@ai-sdk/fireworks": "^2.0.0", + "@ai-sdk/google": "^3.0.0", + "@ai-sdk/google-vertex": "^4.0.0", + "@ai-sdk/groq": "^3.0.0", + "@ai-sdk/mistral": "^3.0.0", + "@ai-sdk/openai": "^3.0.0", + "@ai-sdk/perplexity": "^3.0.0", + "@ai-sdk/xai": "^3.0.0", + "@openrouter/ai-sdk-provider": "^1.5.4" }, "devDependencies": { "@biomejs/biome": "^2.3.10", diff --git a/packages/ai-gateway-provider/src/index.ts b/packages/ai-gateway-provider/src/index.ts index 1729db50..c9fa82ba 100644 --- a/packages/ai-gateway-provider/src/index.ts +++ b/packages/ai-gateway-provider/src/index.ts @@ -1,4 +1,4 @@ -import type { LanguageModelV2 } from "@ai-sdk/provider"; +import type { LanguageModelV3 } from "@ai-sdk/provider"; import type { FetchFunction } from "@ai-sdk/provider-utils"; import { CF_TEMP_TOKEN } from "./auth"; import { providers } from "./providers"; @@ -14,19 +14,19 @@ async function streamToObject(stream: ReadableStream) { return await response.json(); } -type InternalLanguageModelV2 = LanguageModelV2 & { +type InternalLanguageModelV3 = LanguageModelV3 & { config?: { fetch?: FetchFunction | undefined }; }; -export class AiGatewayChatLanguageModel implements LanguageModelV2 { - readonly specificationVersion = "v2"; +export class AiGatewayChatLanguageModel implements LanguageModelV3 { + readonly specificationVersion = "v3"; readonly defaultObjectGenerationMode = "json"; readonly supportedUrls: Record | PromiseLike> = { // No URLS are supported for this language model }; - readonly models: InternalLanguageModelV2[]; + readonly models: InternalLanguageModelV3[]; readonly config: AiGatewaySettings; get modelId(): string { @@ -45,13 +45,13 @@ export class AiGatewayChatLanguageModel implements LanguageModelV2 { return this.models[0].provider; } - constructor(models: LanguageModelV2[], config: AiGatewaySettings) { + constructor(models: LanguageModelV3[], config: AiGatewaySettings) { this.models = models; this.config = config; } async processModelRequest< - T extends LanguageModelV2["doStream"] | LanguageModelV2["doGenerate"], + T extends LanguageModelV3["doStream"] | LanguageModelV3["doGenerate"], >( options: Parameters[0], modelMethod: "doStream" | "doGenerate", @@ -202,22 +202,22 @@ export class AiGatewayChatLanguageModel implements LanguageModelV2 { } async doStream( - options: Parameters[0], - ): Promise>> { - return this.processModelRequest(options, "doStream"); + options: Parameters[0], + ): Promise>> { + return this.processModelRequest(options, "doStream"); } async doGenerate( - options: Parameters[0], - ): Promise>> { - return this.processModelRequest(options, "doGenerate"); + options: Parameters[0], + ): Promise>> { + return this.processModelRequest(options, "doGenerate"); } } export interface AiGateway { - (models: LanguageModelV2 | LanguageModelV2[]): LanguageModelV2; + (models: LanguageModelV3 | LanguageModelV3[]): LanguageModelV3; - chat(models: LanguageModelV2 | LanguageModelV2[]): LanguageModelV2; + chat(models: LanguageModelV3 | LanguageModelV3[]): LanguageModelV3; } export type AiGatewayReties = { @@ -250,11 +250,11 @@ export type AiGatewayBindingSettings = { export type AiGatewaySettings = AiGatewayAPISettings | AiGatewayBindingSettings; export function createAiGateway(options: AiGatewaySettings): AiGateway { - const createChatModel = (models: LanguageModelV2 | LanguageModelV2[]) => { + const createChatModel = (models: LanguageModelV3 | LanguageModelV3[]) => { return new AiGatewayChatLanguageModel(Array.isArray(models) ? models : [models], options); }; - const provider = (models: LanguageModelV2 | LanguageModelV2[]) => createChatModel(models); + const provider = (models: LanguageModelV3 | LanguageModelV3[]) => createChatModel(models); provider.chat = createChatModel; diff --git a/packages/ai-gateway-provider/src/providers/google-vertex.ts b/packages/ai-gateway-provider/src/providers/google-vertex.ts index 1d6fd8ea..9ef246eb 100644 --- a/packages/ai-gateway-provider/src/providers/google-vertex.ts +++ b/packages/ai-gateway-provider/src/providers/google-vertex.ts @@ -2,12 +2,11 @@ import { createVertex as createVertexOriginal } from "@ai-sdk/google-vertex/edge import { CF_TEMP_TOKEN } from "../auth"; export const createVertex = (...args: Parameters) => { - let [config] = args; - if (config === undefined) { - config = { googleCredentials: { apiKey: CF_TEMP_TOKEN } }; - } - if (config.googleCredentials === undefined) { - config.googleCredentials = { apiKey: CF_TEMP_TOKEN }; - } - return createVertexOriginal(config); + const [config] = args; + // In v6, apiKey is a top-level property for express mode authentication + const configWithApiKey = { + ...config, + apiKey: config?.apiKey ?? CF_TEMP_TOKEN, + }; + return createVertexOriginal(configWithApiKey); }; diff --git a/packages/workers-ai-provider/package.json b/packages/workers-ai-provider/package.json index 533408e0..3d3a9826 100644 --- a/packages/workers-ai-provider/package.json +++ b/packages/workers-ai-provider/package.json @@ -39,8 +39,11 @@ "serverless" ], "dependencies": { - "@ai-sdk/provider": "^2.0.0", - "@ai-sdk/provider-utils": "^3.0.19" + "@ai-sdk/provider": "^3.0.0", + "@ai-sdk/provider-utils": "^4.0.0" + }, + "peerDependencies": { + "ai": "^6.0.0" }, "devDependencies": { "@cloudflare/workers-types": "^4.20251221.0", diff --git a/packages/workers-ai-provider/src/autorag-chat-language-model.ts b/packages/workers-ai-provider/src/autorag-chat-language-model.ts index 26f490d6..1a93c3f7 100644 --- a/packages/workers-ai-provider/src/autorag-chat-language-model.ts +++ b/packages/workers-ai-provider/src/autorag-chat-language-model.ts @@ -1,8 +1,4 @@ -import type { - LanguageModelV2, - LanguageModelV2CallWarning, - LanguageModelV2StreamPart, -} from "@ai-sdk/provider"; +import type { LanguageModelV3, SharedV3Warning, LanguageModelV3StreamPart } from "@ai-sdk/provider"; import type { AutoRAGChatSettings } from "./autorag-chat-settings"; import { convertToWorkersAIChatMessages } from "./convert-to-workersai-chat-messages"; @@ -17,8 +13,8 @@ type AutoRAGChatConfig = { gateway?: GatewayOptions; }; -export class AutoRAGChatLanguageModel implements LanguageModelV2 { - readonly specificationVersion = "v2"; +export class AutoRAGChatLanguageModel implements LanguageModelV3 { + readonly specificationVersion = "v3"; readonly defaultObjectGenerationMode = "json"; readonly supportedUrls: Record | PromiseLike> = { @@ -51,20 +47,20 @@ export class AutoRAGChatLanguageModel implements LanguageModelV2 { toolChoice, frequencyPenalty, presencePenalty, - }: Parameters[0]) { - const warnings: LanguageModelV2CallWarning[] = []; + }: Parameters[0]) { + const warnings: SharedV3Warning[] = []; if (frequencyPenalty != null) { warnings.push({ - setting: "frequencyPenalty", - type: "unsupported-setting", + feature: "frequencyPenalty", + type: "unsupported", }); } if (presencePenalty != null) { warnings.push({ - setting: "presencePenalty", - type: "unsupported-setting", + feature: "presencePenalty", + type: "unsupported", }); } @@ -79,7 +75,10 @@ export class AutoRAGChatLanguageModel implements LanguageModelV2 { switch (type) { case "text": { return { - args: { ...baseArgs, ...prepareToolsAndToolChoice(tools, toolChoice) }, + args: { + ...baseArgs, + ...prepareToolsAndToolChoice(tools, toolChoice), + }, warnings, }; } @@ -106,8 +105,8 @@ export class AutoRAGChatLanguageModel implements LanguageModelV2 { } async doGenerate( - options: Parameters[0], - ): Promise>> { + options: Parameters[0], + ): Promise>> { const { warnings } = this.getArgs(options); const { messages } = convertToWorkersAIChatMessages(options.prompt); @@ -116,7 +115,7 @@ export class AutoRAGChatLanguageModel implements LanguageModelV2 { }); return { - finishReason: "stop", + finishReason: { unified: "stop", raw: "stop" }, content: [ ...output.data.map(({ file_id, filename, score }) => ({ @@ -140,14 +139,14 @@ export class AutoRAGChatLanguageModel implements LanguageModelV2 { } async doStream( - options: Parameters[0], - ): Promise>> { + options: Parameters[0], + ): Promise>> { const { args, warnings } = this.getArgs(options); const { messages } = convertToWorkersAIChatMessages(options.prompt); const query = messages.map(({ content, role }) => `${role}: ${content}`).join("\n\n"); - // Get the underlying streaming response (assume this returns a ReadableStream) + // Get the underlying streaming response (assume this returns a ReadableStream) const response = await this.config.binding.aiSearch({ query, stream: true, @@ -155,12 +154,12 @@ export class AutoRAGChatLanguageModel implements LanguageModelV2 { // Create a new stream that first emits the stream-start part with warnings, // then pipes through the rest of the response stream - const stream = new ReadableStream({ + const stream = new ReadableStream({ start(controller) { // Emit the stream-start part with warnings controller.enqueue({ type: "stream-start", - warnings: warnings as LanguageModelV2CallWarning[], + warnings: warnings as SharedV3Warning[], }); // Pipe the rest of the response stream diff --git a/packages/workers-ai-provider/src/convert-to-workersai-chat-messages.ts b/packages/workers-ai-provider/src/convert-to-workersai-chat-messages.ts index cbbfeadb..2d1f56ca 100644 --- a/packages/workers-ai-provider/src/convert-to-workersai-chat-messages.ts +++ b/packages/workers-ai-provider/src/convert-to-workersai-chat-messages.ts @@ -1,19 +1,19 @@ -import type { LanguageModelV2Prompt, SharedV2ProviderMetadata } from "@ai-sdk/provider"; +import type { LanguageModelV3Prompt, SharedV3ProviderOptions } from "@ai-sdk/provider"; import type { WorkersAIChatPrompt } from "./workersai-chat-prompt"; -export function convertToWorkersAIChatMessages(prompt: LanguageModelV2Prompt): { +export function convertToWorkersAIChatMessages(prompt: LanguageModelV3Prompt): { messages: WorkersAIChatPrompt; images: { - mimeType: string | undefined; + mediaType: string | undefined; image: Uint8Array; - providerOptions: SharedV2ProviderMetadata | undefined; + providerOptions: SharedV3ProviderOptions | undefined; }[]; } { const messages: WorkersAIChatPrompt = []; const images: { - mimeType: string | undefined; + mediaType: string | undefined; image: Uint8Array; - providerOptions: SharedV2ProviderMetadata | undefined; + providerOptions: SharedV3ProviderOptions | undefined; }[] = []; for (const { role, content } of prompt) { @@ -38,7 +38,7 @@ export function convertToWorkersAIChatMessages(prompt: LanguageModelV2Prompt): { // For Llama 3.2 Vision model, which needs array of integers images.push({ image: part.data, - mimeType: part.mediaType, + mediaType: part.mediaType, providerOptions: part.providerOptions, }); } @@ -74,6 +74,11 @@ export function convertToWorkersAIChatMessages(prompt: LanguageModelV2Prompt): { break; } + case "file": { + // Handle file parts in assistant messages (V3) + break; + } + case "tool-call": { text = JSON.stringify({ name: part.toolName, @@ -90,9 +95,17 @@ export function convertToWorkersAIChatMessages(prompt: LanguageModelV2Prompt): { }); break; } + + case "tool-result": { + // Handle tool results in assistant messages (V3) + break; + } + default: { - const exhaustiveCheck = part; - throw new Error(`Unsupported part type: ${exhaustiveCheck.type}`); + const exhaustiveCheck = part satisfies never; + throw new Error( + `Unsupported part type: ${(exhaustiveCheck as { type: string }).type}`, + ); } } } @@ -115,12 +128,15 @@ export function convertToWorkersAIChatMessages(prompt: LanguageModelV2Prompt): { case "tool": { for (const [index, toolResponse] of content.entries()) { - messages.push({ - content: JSON.stringify(toolResponse.output), - name: toolResponse.toolName, - tool_call_id: `functions.${toolResponse.toolName}:${index}`, - role: "tool", - }); + if (toolResponse.type === "tool-result") { + messages.push({ + content: JSON.stringify(toolResponse.output), + name: toolResponse.toolName, + tool_call_id: `functions.${toolResponse.toolName}:${index}`, + role: "tool", + }); + } + // Skip tool-approval-response parts as they're not supported by Workers AI } break; } diff --git a/packages/workers-ai-provider/src/map-workersai-finish-reason.ts b/packages/workers-ai-provider/src/map-workersai-finish-reason.ts index bc0e1c9e..14b367fa 100644 --- a/packages/workers-ai-provider/src/map-workersai-finish-reason.ts +++ b/packages/workers-ai-provider/src/map-workersai-finish-reason.ts @@ -1,6 +1,6 @@ -import type { LanguageModelV2FinishReason } from "@ai-sdk/provider"; +import type { LanguageModelV3FinishReason } from "@ai-sdk/provider"; -export function mapWorkersAIFinishReason(finishReasonOrResponse: any): LanguageModelV2FinishReason { +export function mapWorkersAIFinishReason(finishReasonOrResponse: any): LanguageModelV3FinishReason { let finishReason: string | null | undefined; // If it's a string/null/undefined, use it directly (original behavior) @@ -26,22 +26,23 @@ export function mapWorkersAIFinishReason(finishReasonOrResponse: any): LanguageM } } + const raw = finishReason ?? "stop"; + switch (finishReason) { case "stop": - return "stop"; + return { unified: "stop", raw }; case "length": case "model_length": - return "length"; + return { unified: "length", raw }; case "tool_calls": - return "tool-calls"; + return { unified: "tool-calls", raw }; case "error": - return "error"; + return { unified: "error", raw }; case "other": - return "other"; case "unknown": - return "unknown"; + return { unified: "other", raw }; default: // Default to `stop` for backwards compatibility - return "stop"; + return { unified: "stop", raw }; } } diff --git a/packages/workers-ai-provider/src/map-workersai-usage.ts b/packages/workers-ai-provider/src/map-workersai-usage.ts index f56e1ce7..d58e951c 100644 --- a/packages/workers-ai-provider/src/map-workersai-usage.ts +++ b/packages/workers-ai-provider/src/map-workersai-usage.ts @@ -1,4 +1,8 @@ -export function mapWorkersAIUsage(output: AiTextGenerationOutput | AiTextToImageOutput) { +import type { LanguageModelV3Usage } from "@ai-sdk/provider"; + +export function mapWorkersAIUsage( + output: AiTextGenerationOutput | AiTextToImageOutput, +): LanguageModelV3Usage { const usage = ( output as { usage: { prompt_tokens: number; completion_tokens: number }; @@ -9,8 +13,17 @@ export function mapWorkersAIUsage(output: AiTextGenerationOutput | AiTextToImage }; return { - outputTokens: usage.completion_tokens, - inputTokens: usage.prompt_tokens, - totalTokens: usage.prompt_tokens + usage.completion_tokens, + outputTokens: { + total: usage.completion_tokens, + text: undefined, + reasoning: undefined, + }, + inputTokens: { + total: usage.prompt_tokens, + noCache: undefined, + cacheRead: undefined, + cacheWrite: undefined, + }, + raw: { total: usage.prompt_tokens + usage.completion_tokens }, }; } diff --git a/packages/workers-ai-provider/src/streaming.ts b/packages/workers-ai-provider/src/streaming.ts index 46fd9c4c..7634295c 100644 --- a/packages/workers-ai-provider/src/streaming.ts +++ b/packages/workers-ai-provider/src/streaming.ts @@ -1,4 +1,4 @@ -import type { LanguageModelV2StreamPart } from "@ai-sdk/provider"; +import type { LanguageModelV3StreamPart, LanguageModelV3Usage } from "@ai-sdk/provider"; import { generateId } from "ai"; import { events } from "fetch-event-stream"; import { mapWorkersAIUsage } from "./map-workersai-usage"; @@ -6,14 +6,25 @@ import { processPartialToolCalls } from "./utils"; export function getMappedStream(response: Response) { const chunkEvent = events(response); - let usage = { outputTokens: 0, inputTokens: 0, totalTokens: 0 }; + let usage: LanguageModelV3Usage = { + outputTokens: { total: 0, text: undefined, reasoning: undefined }, + inputTokens: { + total: 0, + noCache: undefined, + cacheRead: undefined, + cacheWrite: undefined, + }, + raw: { + totalTokens: 0, + }, + }; const partialToolCalls: any[] = []; // Track start/delta/end IDs per v5 streaming protocol let textId: string | null = null; let reasoningId: string | null = null; - return new ReadableStream({ + return new ReadableStream({ async start(controller) { for await (const event of chunkEvent) { if (!event.data) { @@ -90,7 +101,7 @@ export function getMappedStream(response: Response) { } controller.enqueue({ - finishReason: "stop", + finishReason: { unified: "stop", raw: "stop" }, type: "finish", usage: usage, }); diff --git a/packages/workers-ai-provider/src/utils.ts b/packages/workers-ai-provider/src/utils.ts index ddd4fcb1..57bc9744 100644 --- a/packages/workers-ai-provider/src/utils.ts +++ b/packages/workers-ai-provider/src/utils.ts @@ -1,4 +1,4 @@ -import type { LanguageModelV2, LanguageModelV2ToolCall } from "@ai-sdk/provider"; +import type { LanguageModelV3, LanguageModelV3ToolCall } from "@ai-sdk/provider"; import { generateId } from "ai"; /** @@ -128,8 +128,8 @@ export function createRun(config: CreateRunConfig): AiRun { } export function prepareToolsAndToolChoice( - tools: Parameters[0]["tools"], - toolChoice: Parameters[0]["toolChoice"], + tools: Parameters[0]["tools"], + toolChoice: Parameters[0]["toolChoice"], ) { if (tools == null) { return { tool_choice: undefined, tools: undefined }; @@ -213,7 +213,7 @@ function mergePartialToolCalls(partialCalls: any[]) { return Object.values(mergedCallsByIndex); } -function processToolCall(toolCall: any): LanguageModelV2ToolCall { +function processToolCall(toolCall: any): LanguageModelV3ToolCall { // Check for OpenAI format tool calls first if (toolCall.function && toolCall.id) { return { @@ -237,7 +237,7 @@ function processToolCall(toolCall: any): LanguageModelV2ToolCall { }; } -export function processToolCalls(output: any): LanguageModelV2ToolCall[] { +export function processToolCalls(output: any): LanguageModelV3ToolCall[] { if (output.tool_calls && Array.isArray(output.tool_calls)) { return output.tool_calls.map((toolCall: any) => { const processedToolCall = processToolCall(toolCall); diff --git a/packages/workers-ai-provider/src/workers-ai-embedding-model.ts b/packages/workers-ai-provider/src/workers-ai-embedding-model.ts index b83bcfa0..019bbfba 100644 --- a/packages/workers-ai-provider/src/workers-ai-embedding-model.ts +++ b/packages/workers-ai-provider/src/workers-ai-embedding-model.ts @@ -1,4 +1,9 @@ -import { type EmbeddingModelV2, TooManyEmbeddingValuesForCallError } from "@ai-sdk/provider"; +import type { + EmbeddingModelV3, + EmbeddingModelV3CallOptions, + EmbeddingModelV3Result, +} from "@ai-sdk/provider"; +import { TooManyEmbeddingValuesForCallError } from "@ai-sdk/provider"; import type { StringLike } from "./utils"; import type { EmbeddingModels } from "./workersai-models"; @@ -19,12 +24,12 @@ export type WorkersAIEmbeddingSettings = { [key: string]: StringLike; }; -export class WorkersAIEmbeddingModel implements EmbeddingModelV2 { +export class WorkersAIEmbeddingModel implements EmbeddingModelV3 { /** - * Semantic version of the {@link EmbeddingModelV1} specification implemented + * Semantic version of the {@link EmbeddingModelV3} specification implemented * by this class. It never changes. */ - readonly specificationVersion = "v2"; + readonly specificationVersion = "v3"; readonly modelId: EmbeddingModels; private readonly config: WorkersAIEmbeddingConfig; private readonly settings: WorkersAIEmbeddingSettings; @@ -56,11 +61,7 @@ export class WorkersAIEmbeddingModel implements EmbeddingModelV2 { this.config = config; } - async doEmbed({ - values, - }: Parameters["doEmbed"]>[0]): Promise< - Awaited["doEmbed"]>> - > { + async doEmbed({ values }: EmbeddingModelV3CallOptions): Promise { if (values.length > this.maxEmbeddingsPerCall) { throw new TooManyEmbeddingValuesForCallError({ maxEmbeddingsPerCall: this.maxEmbeddingsPerCall, @@ -85,6 +86,7 @@ export class WorkersAIEmbeddingModel implements EmbeddingModelV2 { return { embeddings: response.data, + warnings: [], }; } } diff --git a/packages/workers-ai-provider/src/workersai-chat-language-model.ts b/packages/workers-ai-provider/src/workersai-chat-language-model.ts index 9cf59b4f..3081a1b6 100644 --- a/packages/workers-ai-provider/src/workersai-chat-language-model.ts +++ b/packages/workers-ai-provider/src/workersai-chat-language-model.ts @@ -1,8 +1,4 @@ -import type { - LanguageModelV2, - LanguageModelV2CallWarning, - LanguageModelV2StreamPart, -} from "@ai-sdk/provider"; +import type { LanguageModelV3, SharedV3Warning, LanguageModelV3StreamPart } from "@ai-sdk/provider"; import { generateId } from "ai"; import { convertToWorkersAIChatMessages } from "./convert-to-workersai-chat-messages"; import { mapWorkersAIFinishReason } from "./map-workersai-finish-reason"; @@ -23,8 +19,8 @@ type WorkersAIChatConfig = { gateway?: GatewayOptions; }; -export class WorkersAIChatLanguageModel implements LanguageModelV2 { - readonly specificationVersion = "v2"; +export class WorkersAIChatLanguageModel implements LanguageModelV3 { + readonly specificationVersion = "v3"; readonly defaultObjectGenerationMode = "json"; readonly supportedUrls: Record | PromiseLike> = { @@ -60,22 +56,22 @@ export class WorkersAIChatLanguageModel implements LanguageModelV2 { frequencyPenalty, presencePenalty, seed, - }: Parameters[0]) { + }: Parameters[0]) { const type = responseFormat?.type ?? "text"; - const warnings: LanguageModelV2CallWarning[] = []; + const warnings: SharedV3Warning[] = []; if (frequencyPenalty != null) { warnings.push({ - setting: "frequencyPenalty", - type: "unsupported-setting", + feature: "frequencyPenalty", + type: "unsupported", }); } if (presencePenalty != null) { warnings.push({ - setting: "presencePenalty", - type: "unsupported-setting", + feature: "presencePenalty", + type: "unsupported", }); } @@ -125,11 +121,10 @@ export class WorkersAIChatLanguageModel implements LanguageModelV2 { } async doGenerate( - options: Parameters[0], - ): Promise>> { + options: Parameters[0], + ): Promise>> { const { args, warnings } = this.getArgs(options); - // biome-ignore lint/correctness/noUnusedVariables: this needs to be destructured const { gateway, safePrompt, ...passthroughOptions } = this.settings; // Extract image from messages if present @@ -198,8 +193,8 @@ export class WorkersAIChatLanguageModel implements LanguageModelV2 { } async doStream( - options: Parameters[0], - ): Promise>> { + options: Parameters[0], + ): Promise>> { const { args, warnings } = this.getArgs(options); // Extract image from messages if present @@ -221,12 +216,12 @@ export class WorkersAIChatLanguageModel implements LanguageModelV2 { return { // rawCall: { rawPrompt: messages, rawSettings: args }, - stream: new ReadableStream({ + stream: new ReadableStream({ async start(controller) { // Emit the stream-start part with warnings controller.enqueue({ type: "stream-start", - warnings: warnings as LanguageModelV2CallWarning[], + warnings: warnings as SharedV3Warning[], }); for (const contentPart of response.content) { @@ -315,12 +310,12 @@ export class WorkersAIChatLanguageModel implements LanguageModelV2 { // Create a new stream that first emits the stream-start part with warnings, // then pipes through the rest of the response stream - const stream = new ReadableStream({ + const stream = new ReadableStream({ start(controller) { // Emit the stream-start part with warnings controller.enqueue({ type: "stream-start", - warnings: warnings as LanguageModelV2CallWarning[], + warnings: warnings as SharedV3Warning[], }); // Pipe the rest of the response stream diff --git a/packages/workers-ai-provider/src/workersai-image-model.ts b/packages/workers-ai-provider/src/workersai-image-model.ts index e3020f5d..89204685 100644 --- a/packages/workers-ai-provider/src/workersai-image-model.ts +++ b/packages/workers-ai-provider/src/workersai-image-model.ts @@ -1,10 +1,10 @@ -import type { ImageModelV2, ImageModelV2CallWarning } from "@ai-sdk/provider"; +import type { ImageModelV3, SharedV3Warning } from "@ai-sdk/provider"; import type { WorkersAIImageConfig } from "./workersai-image-config"; import type { WorkersAIImageSettings } from "./workersai-image-settings"; import type { ImageGenerationModels } from "./workersai-models"; -export class WorkersAIImageModel implements ImageModelV2 { - readonly specificationVersion = "v2"; +export class WorkersAIImageModel implements ImageModelV3 { + readonly specificationVersion = "v3"; get maxImagesPerCall(): number { return this.settings.maxImagesPerCall ?? 1; @@ -25,20 +25,20 @@ export class WorkersAIImageModel implements ImageModelV2 { size, aspectRatio, seed, - // headers, - // abortSignal, - }: Parameters[0]): Promise< - Awaited> + }: // headers, + // abortSignal, + Parameters[0]): Promise< + Awaited> > { const { width, height } = getDimensionsFromSizeString(size); - const warnings: Array = []; + const warnings: Array = []; if (aspectRatio != null) { warnings.push({ details: "This model does not support aspect ratio. Use `size` instead.", - setting: "aspectRatio", - type: "unsupported-setting", + feature: "aspectRatio", + type: "unsupported", }); } @@ -47,7 +47,7 @@ export class WorkersAIImageModel implements ImageModelV2 { this.modelId, { height, - prompt, + prompt: prompt!, seed, width, }, diff --git a/packages/workers-ai-provider/test/map-workersai-finish-reason.test.ts b/packages/workers-ai-provider/test/map-workersai-finish-reason.test.ts index 6813bdc5..996ed6d8 100644 --- a/packages/workers-ai-provider/test/map-workersai-finish-reason.test.ts +++ b/packages/workers-ai-provider/test/map-workersai-finish-reason.test.ts @@ -1,108 +1,101 @@ -import type { LanguageModelV2FinishReason } from "@ai-sdk/provider"; +import type { LanguageModelV3FinishReason } from "@ai-sdk/provider"; import { describe, expect, it } from "vitest"; import { mapWorkersAIFinishReason } from "../src/map-workersai-finish-reason"; describe("mapWorkersAIFinishReason", () => { describe("direct mappings", () => { - it('should map "stop" to "stop"', () => { + it('should map "stop" to unified "stop"', () => { const result = mapWorkersAIFinishReason("stop"); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should map "length" to "length"', () => { + it('should map "length" to unified "length"', () => { const result = mapWorkersAIFinishReason("length"); - expect(result).toBe("length"); + expect(result).toEqual({ unified: "length", raw: "length" }); }); - it('should map "model_length" to "length"', () => { + it('should map "model_length" to unified "length"', () => { const result = mapWorkersAIFinishReason("model_length"); - expect(result).toBe("length"); + expect(result).toEqual({ unified: "length", raw: "model_length" }); }); - it('should map "tool_calls" to "tool-calls"', () => { + it('should map "tool_calls" to unified "tool-calls"', () => { const result = mapWorkersAIFinishReason("tool_calls"); - expect(result).toBe("tool-calls"); + expect(result).toEqual({ unified: "tool-calls", raw: "tool_calls" }); }); - it('should map "error" to "error"', () => { + it('should map "error" to unified "error"', () => { const result = mapWorkersAIFinishReason("error"); - expect(result).toBe("error"); + expect(result).toEqual({ unified: "error", raw: "error" }); }); - it('should map "other" to "other"', () => { + it('should map "other" to unified "other"', () => { const result = mapWorkersAIFinishReason("other"); - expect(result).toBe("other"); + expect(result).toEqual({ unified: "other", raw: "other" }); }); - it('should map "unknown" to "unknown"', () => { + it('should map "unknown" to unified "other"', () => { const result = mapWorkersAIFinishReason("unknown"); - expect(result).toBe("unknown"); + expect(result).toEqual({ unified: "other", raw: "unknown" }); }); }); describe("default case handling", () => { - it('should default to "stop" for null input', () => { + it('should default to unified "stop" for null input', () => { const result = mapWorkersAIFinishReason(null); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should default to "stop" for undefined input', () => { + it('should default to unified "stop" for undefined input', () => { const result = mapWorkersAIFinishReason(undefined); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should default to "stop" for unrecognized string values', () => { + it('should default to unified "stop" for unrecognized values, preserving raw', () => { const result = mapWorkersAIFinishReason("unrecognized_value"); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "unrecognized_value" }); }); - it('should default to "stop" for empty string', () => { + it('should default to unified "stop" for empty string, preserving raw', () => { const result = mapWorkersAIFinishReason(""); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "" }); }); }); describe("return type validation", () => { - it("should return a valid LanguageModelV1FinishReason type", () => { - const validReasons: LanguageModelV2FinishReason[] = [ - "stop", - "length", - "tool-calls", - "error", - "other", - "unknown", - ]; - - // Test that all our mapped values are valid - expect(validReasons).toContain(mapWorkersAIFinishReason("stop")); - expect(validReasons).toContain(mapWorkersAIFinishReason("length")); - expect(validReasons).toContain(mapWorkersAIFinishReason("model_length")); - expect(validReasons).toContain(mapWorkersAIFinishReason("tool_calls")); - expect(validReasons).toContain(mapWorkersAIFinishReason("error")); - expect(validReasons).toContain(mapWorkersAIFinishReason("other")); - expect(validReasons).toContain(mapWorkersAIFinishReason("unknown")); - expect(validReasons).toContain(mapWorkersAIFinishReason(null)); + it("should return a valid LanguageModelV3FinishReason type", () => { + const validUnifiedReasons = ["stop", "length", "tool-calls", "error", "other"]; + + // Test that all our mapped unified values are valid + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("stop").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("length").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("model_length").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("tool_calls").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("error").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("other").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason("unknown").unified); + expect(validUnifiedReasons).toContain(mapWorkersAIFinishReason(null).unified); }); }); describe("comprehensive mapping test", () => { it("should handle all expected inputs correctly", () => { - const testCases: Array<[string | null | undefined, LanguageModelV2FinishReason]> = [ - ["stop", "stop"], - ["length", "length"], - ["model_length", "length"], - ["tool_calls", "tool-calls"], - ["error", "error"], - ["other", "other"], - ["unknown", "unknown"], - [null, "stop"], - [undefined, "stop"], - ["invalid", "stop"], - ["", "stop"], + const testCases: Array<[string | null | undefined, LanguageModelV3FinishReason]> = [ + ["stop", { unified: "stop", raw: "stop" }], + ["length", { unified: "length", raw: "length" }], + ["model_length", { unified: "length", raw: "model_length" }], + ["tool_calls", { unified: "tool-calls", raw: "tool_calls" }], + ["error", { unified: "error", raw: "error" }], + ["other", { unified: "other", raw: "other" }], + ["unknown", { unified: "other", raw: "unknown" }], + [null, { unified: "stop", raw: "stop" }], + [undefined, { unified: "stop", raw: "stop" }], + ["invalid", { unified: "stop", raw: "invalid" }], + ["", { unified: "stop", raw: "" }], ]; for (const [input, expected] of testCases) { - expect(mapWorkersAIFinishReason(input)).toBe(expected); + expect(mapWorkersAIFinishReason(input)).toEqual(expected); } }); }); @@ -113,59 +106,68 @@ describe("mapWorkersAIFinishReason", () => { choices: [{ finish_reason: "stop" }], }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); it("should handle all finish reasons from choices[0]", () => { const testCases = [ - { expected: "stop", input: "stop" }, - { expected: "length", input: "length" }, - { expected: "length", input: "model_length" }, - { expected: "tool-calls", input: "tool_calls" }, - { expected: "error", input: "error" }, - { expected: "other", input: "other" }, - { expected: "unknown", input: "unknown" }, - { expected: "stop", input: "invalid_reason" }, + { expected: { unified: "stop", raw: "stop" }, input: "stop" }, + { expected: { unified: "length", raw: "length" }, input: "length" }, + { + expected: { unified: "length", raw: "model_length" }, + input: "model_length", + }, + { + expected: { unified: "tool-calls", raw: "tool_calls" }, + input: "tool_calls", + }, + { expected: { unified: "error", raw: "error" }, input: "error" }, + { expected: { unified: "other", raw: "other" }, input: "other" }, + { expected: { unified: "other", raw: "unknown" }, input: "unknown" }, + { + expected: { unified: "stop", raw: "invalid_reason" }, + input: "invalid_reason", + }, ]; for (const { input, expected } of testCases) { const response = { choices: [{ finish_reason: input }], }; - expect(mapWorkersAIFinishReason(response)).toBe(expected); + expect(mapWorkersAIFinishReason(response)).toEqual(expected); } }); - it('should default to "stop" when choices[0].finish_reason is null', () => { + it('should default to unified "stop" when choices[0].finish_reason is null', () => { const response = { choices: [{ finish_reason: null }], }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should default to "stop" when choices[0].finish_reason is undefined', () => { + it('should default to unified "stop" when choices[0].finish_reason is undefined', () => { const response = { choices: [{ finish_reason: undefined }], }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should default to "stop" when choices[0] has no finish_reason property', () => { + it('should default to unified "stop" when choices[0] has no finish_reason property', () => { const response = { choices: [{ some_other_property: "value" }], }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should default to "stop" when choices array is empty', () => { + it('should default to unified "stop" when choices array is empty', () => { const response = { choices: [], }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); it("should only use first choice when multiple choices exist", () => { @@ -173,7 +175,7 @@ describe("mapWorkersAIFinishReason", () => { choices: [{ finish_reason: "stop" }, { finish_reason: "length" }], }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); }); @@ -183,41 +185,50 @@ describe("mapWorkersAIFinishReason", () => { finish_reason: "length", }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("length"); + expect(result).toEqual({ unified: "length", raw: "length" }); }); it("should handle all finish reasons from direct property", () => { const testCases = [ - { expected: "stop", input: "stop" }, - { expected: "length", input: "length" }, - { expected: "length", input: "model_length" }, - { expected: "tool-calls", input: "tool_calls" }, - { expected: "error", input: "error" }, - { expected: "other", input: "other" }, - { expected: "unknown", input: "unknown" }, - { expected: "stop", input: "invalid_reason" }, + { expected: { unified: "stop", raw: "stop" }, input: "stop" }, + { expected: { unified: "length", raw: "length" }, input: "length" }, + { + expected: { unified: "length", raw: "model_length" }, + input: "model_length", + }, + { + expected: { unified: "tool-calls", raw: "tool_calls" }, + input: "tool_calls", + }, + { expected: { unified: "error", raw: "error" }, input: "error" }, + { expected: { unified: "other", raw: "other" }, input: "other" }, + { expected: { unified: "other", raw: "unknown" }, input: "unknown" }, + { + expected: { unified: "stop", raw: "invalid_reason" }, + input: "invalid_reason", + }, ]; for (const { input, expected } of testCases) { const response = { finish_reason: input }; - expect(mapWorkersAIFinishReason(response)).toBe(expected); + expect(mapWorkersAIFinishReason(response)).toEqual(expected); } }); - it('should default to "stop" when finish_reason is null', () => { + it('should default to unified "stop" when finish_reason is null', () => { const response = { finish_reason: null, }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); - it('should default to "stop" when finish_reason is undefined', () => { + it('should default to unified "stop" when finish_reason is undefined', () => { const response = { finish_reason: undefined, }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); }); @@ -228,7 +239,7 @@ describe("mapWorkersAIFinishReason", () => { finish_reason: "stop", }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("length"); + expect(result).toEqual({ unified: "length", raw: "length" }); }); it("should fall back to direct finish_reason when choices is not an array", () => { @@ -237,7 +248,7 @@ describe("mapWorkersAIFinishReason", () => { finish_reason: "error", }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("error"); + expect(result).toEqual({ unified: "error", raw: "error" }); }); it("should fall back to direct finish_reason when choices is null", () => { @@ -246,21 +257,21 @@ describe("mapWorkersAIFinishReason", () => { finish_reason: "other", }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("other"); + expect(result).toEqual({ unified: "other", raw: "other" }); }); - it('should default to "stop" when object has neither choices nor finish_reason', () => { + it('should default to unified "stop" when object has neither choices nor finish_reason', () => { const response = { some_other_property: "value", }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); it("should handle empty object", () => { const response = {}; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); it("should handle complex nested objects without expected properties", () => { @@ -273,24 +284,24 @@ describe("mapWorkersAIFinishReason", () => { }, }; const result = mapWorkersAIFinishReason(response); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); }); describe("type flexibility", () => { it("should handle array input", () => { const result = mapWorkersAIFinishReason([]); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); it("should handle number input", () => { const result = mapWorkersAIFinishReason(42); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); it("should handle boolean input", () => { const result = mapWorkersAIFinishReason(true); - expect(result).toBe("stop"); + expect(result).toEqual({ unified: "stop", raw: "stop" }); }); }); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9c7aed7..e10ba597 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,8 +14,8 @@ importers: .: devDependencies: '@ai-sdk/openai': - specifier: ^2.0.88 - version: 2.0.88(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@biomejs/biome': specifier: ^2.3.10 version: 2.3.10 @@ -50,11 +50,11 @@ importers: specifier: ^5.3.4 version: 5.3.4 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) chalk: specifier: ^5.6.2 version: 5.6.2 @@ -128,11 +128,11 @@ importers: demos/agent-scheduler: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -168,11 +168,11 @@ importers: demos/agent-task-manager: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -208,11 +208,11 @@ importers: demos/agent-task-manager-human-in-the-loop: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -248,11 +248,11 @@ importers: demos/evaluator-optimiser: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -288,8 +288,8 @@ importers: demos/image-generation: dependencies: ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -322,8 +322,8 @@ importers: demos/mcp-client: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) nanoid: specifier: ^5.1.6 version: 5.1.6 @@ -359,8 +359,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -421,8 +421,8 @@ importers: specifier: ^5.44.0 version: 5.44.0 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) commander: specifier: ^14.0.2 version: 14.0.2 @@ -479,8 +479,8 @@ importers: specifier: 5.9.3 version: 5.9.3 typescript-eslint: - specifier: ^8.50.0 - version: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: ^8.50.1 + version: 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) vite: specifier: ^7.3.0 version: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.1)(sugarss@5.0.0(postcss@8.5.6))(tsx@4.21.0)(yaml@2.7.1) @@ -497,8 +497,8 @@ importers: specifier: ^5.44.0 version: 5.44.0 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -549,8 +549,8 @@ importers: specifier: 5.9.3 version: 5.9.3 typescript-eslint: - specifier: ^8.50.0 - version: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: ^8.50.1 + version: 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) vite: specifier: ^7.3.0 version: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.1)(sugarss@5.0.0(postcss@8.5.6))(tsx@4.21.0)(yaml@2.7.1) @@ -561,14 +561,14 @@ importers: demos/model-scraper: dependencies: '@ai-sdk/openai': - specifier: ^2.0.88 - version: 2.0.88(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -604,11 +604,11 @@ importers: demos/orchestrator-workers: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -644,11 +644,11 @@ importers: demos/parallelisation: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -684,11 +684,11 @@ importers: demos/prompt-chaining: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -733,8 +733,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -798,8 +798,8 @@ importers: specifier: ^7.77.0 version: 7.77.0(express@5.1.0) agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -826,8 +826,8 @@ importers: demos/remote-mcp-authless: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) zod: specifier: ^3.25.76 version: 3.25.76 @@ -848,8 +848,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) just-pick: specifier: ^4.2.0 version: 4.2.0 @@ -879,8 +879,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -913,8 +913,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -947,8 +947,8 @@ importers: specifier: ^3.1.6 version: 3.1.6 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -969,8 +969,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -994,8 +994,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1019,8 +1019,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1041,11 +1041,11 @@ importers: demos/routing: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1081,11 +1081,11 @@ importers: demos/structured-output: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1121,8 +1121,8 @@ importers: demos/structured-output-node: dependencies: ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) workers-ai-provider: specifier: ^2.0.2 version: 2.0.2(zod@3.25.76) @@ -1146,11 +1146,11 @@ importers: demos/text-generation: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1183,11 +1183,11 @@ importers: demos/text-generation-stream: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1223,11 +1223,11 @@ importers: demos/tool-calling: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1263,11 +1263,11 @@ importers: demos/tool-calling-stream: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1303,11 +1303,11 @@ importers: demos/tool-calling-stream-traditional: dependencies: agents: - specifier: ^0.2.35 - version: 0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.3.0 + version: 0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1340,11 +1340,11 @@ importers: demos/ui-worker: dependencies: '@ai-sdk/openai': - specifier: ^2.0.88 - version: 2.0.88(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/react': - specifier: ^2.0.118 - version: 2.0.118(react@19.2.3)(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.1(react@19.2.3)(zod@3.25.76) '@mantine/charts': specifier: ^8.3.10 version: 8.3.10(@mantine/core@8.3.10(@mantine/hooks@8.3.10(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@mantine/hooks@8.3.10(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@18.3.1)(react@19.2.3)(redux@5.0.1)) @@ -1370,8 +1370,8 @@ importers: specifier: ^8.3.10 version: 8.3.10(@mantine/core@8.3.10(@mantine/hooks@8.3.10(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@mantine/hooks@8.3.10(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1431,8 +1431,8 @@ importers: demos/vision: dependencies: ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) hono: specifier: ^4.11.1 version: 4.11.1 @@ -1482,17 +1482,17 @@ importers: packages/ai-gateway-provider: dependencies: '@ai-sdk/openai-compatible': - specifier: ^1.0.29 - version: 1.0.29(zod@3.25.76) - '@ai-sdk/provider': specifier: ^2.0.0 - version: 2.0.0 + version: 2.0.0(zod@3.25.76) + '@ai-sdk/provider': + specifier: ^3.0.0 + version: 3.0.0 '@ai-sdk/provider-utils': - specifier: ^3.0.19 - version: 3.0.19(zod@3.25.76) + specifier: ^4.0.0 + version: 4.0.0(zod@3.25.76) ai: - specifier: ^5.0.116 - version: 5.0.116(zod@3.25.76) + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) devDependencies: '@biomejs/biome': specifier: ^2.3.10 @@ -1505,65 +1505,68 @@ importers: version: 5.9.3 optionalDependencies: '@ai-sdk/amazon-bedrock': - specifier: ^3.0.71 - version: 3.0.71(zod@3.25.76) + specifier: ^4.0.0 + version: 4.0.0(zod@3.25.76) '@ai-sdk/anthropic': - specifier: ^2.0.56 - version: 2.0.56(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/azure': - specifier: ^2.0.90 - version: 2.0.90(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/cerebras': - specifier: ^1.0.33 - version: 1.0.33(zod@3.25.76) + specifier: ^2.0.0 + version: 2.0.0(zod@3.25.76) '@ai-sdk/cohere': - specifier: ^2.0.21 - version: 2.0.21(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/deepgram': - specifier: ^1.0.21 - version: 1.0.21(zod@3.25.76) + specifier: ^2.0.0 + version: 2.0.0(zod@3.25.76) '@ai-sdk/deepseek': - specifier: ^1.0.32 - version: 1.0.32(zod@3.25.76) + specifier: ^2.0.0 + version: 2.0.0(zod@3.25.76) '@ai-sdk/elevenlabs': - specifier: ^1.0.21 - version: 1.0.21(zod@3.25.76) + specifier: ^2.0.0 + version: 2.0.0(zod@3.25.76) '@ai-sdk/fireworks': - specifier: ^1.0.30 - version: 1.0.30(zod@3.25.76) + specifier: ^2.0.0 + version: 2.0.0(zod@3.25.76) '@ai-sdk/google': - specifier: ^2.0.51 - version: 2.0.51(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/google-vertex': - specifier: 3.0.90 - version: 3.0.90(patch_hash=271963aef1bb8d69c1fbba83342f6bdf1b39f53c660e9b34659e6ce279c0a100)(zod@3.25.76) + specifier: ^4.0.0 + version: 4.0.0(patch_hash=271963aef1bb8d69c1fbba83342f6bdf1b39f53c660e9b34659e6ce279c0a100)(zod@3.25.76) '@ai-sdk/groq': - specifier: ^2.0.33 - version: 2.0.33(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/mistral': - specifier: ^2.0.26 - version: 2.0.26(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/openai': - specifier: ^2.0.88 - version: 2.0.88(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/perplexity': - specifier: ^2.0.22 - version: 2.0.22(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@ai-sdk/xai': - specifier: ^2.0.42 - version: 2.0.42(zod@3.25.76) + specifier: ^3.0.0 + version: 3.0.0(zod@3.25.76) '@openrouter/ai-sdk-provider': - specifier: ^1.5.3 - version: 1.5.3(ai@5.0.116(zod@3.25.76))(zod@3.25.76) + specifier: ^1.5.4 + version: 1.5.4(ai@6.0.1(zod@3.25.76))(zod@3.25.76) packages/workers-ai-provider: dependencies: '@ai-sdk/provider': - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^3.0.0 + version: 3.0.0 '@ai-sdk/provider-utils': - specifier: ^3.0.19 - version: 3.0.19(zod@3.25.76) + specifier: ^4.0.0 + version: 4.0.0(zod@3.25.76) + ai: + specifier: ^6.0.0 + version: 6.0.1(zod@3.25.76) devDependencies: '@cloudflare/workers-types': specifier: ^4.20251221.0 @@ -1602,116 +1605,116 @@ packages: '@adraffy/ens-normalize@1.11.1': resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} - '@ai-sdk/amazon-bedrock@3.0.71': - resolution: {integrity: sha512-uVHjjB+igO6NjPlXa3EtUXm+UFU30ayV+0u+R3cRFumoBjt4c/lmjzQhsXZoqlM9pZgbca6twcvoM/Oa9iaVqg==} + '@ai-sdk/amazon-bedrock@4.0.0': + resolution: {integrity: sha512-/6ZxbE9qxBLAAUlJaeAkELeAvLwi0PCcRz0LrNTiM+DONm+WkFggA+60r8uV0kdTTVtBpch32BQ/hAQG+UBmMQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/anthropic@2.0.56': - resolution: {integrity: sha512-XHJKu0Yvfu9SPzRfsAFESa+9T7f2YJY6TxykKMfRsAwpeWAiX/Gbx5J5uM15AzYC3Rw8tVP3oH+j7jEivENirQ==} + '@ai-sdk/anthropic@3.0.0': + resolution: {integrity: sha512-4BnxkXwRkvh+OB1ze0mHbskT90HL4MNrg6JUsRDkIsU9w5vitvGzxwc/XwlByUGMap/5I8/LZ3XZDzv6KViCuQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/azure@2.0.90': - resolution: {integrity: sha512-7Vy4h7Emtk/vzMYwpcliBfJChDQ7K8GMjbLnOLoN/vxZXq6h6QZAc9dFLoY7Pga534e2GOY6ornDfoA6GidftA==} + '@ai-sdk/azure@3.0.0': + resolution: {integrity: sha512-bY1EfX4aisnpOYcuZkmkuBIUc0noNT/25ZoWispSiMZMS53yF55xkT1SFM+cxDjJ4M3HVJwVuU6r1szA8f9IPA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/cerebras@1.0.33': - resolution: {integrity: sha512-2gSSS/7kunIwMdC4td5oWsUAzoLw84ccGpz6wQbxVnrb1iWnrEnKa5tRBduaP6IXpzLWsu8wME3+dQhZy+gT7w==} + '@ai-sdk/cerebras@2.0.0': + resolution: {integrity: sha512-VdLxIpzumo7TTd78KqE7MKl48YdoEp+60FV8IF3U/I6srzsJqk64fcQPWcNihE10VE5heMiD0xC869M0luC99w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/cohere@2.0.21': - resolution: {integrity: sha512-ZjaZFvJlc5XOPi3QwTLEFZbHIgTJc6YGvxz+8zIMGVZi/hdynR8/f/C1A9x6mhzmBtAqi/dZ2h11oouAQH5z4g==} + '@ai-sdk/cohere@3.0.0': + resolution: {integrity: sha512-ZeoVheAF866ADyC2xdjg8Z1e/K4Zv6dt6UnPmk17ZT1karOocNLiMwWpfpi5Z3b2UU+KD/LyxyLt5gFMVWFG4w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/deepgram@1.0.21': - resolution: {integrity: sha512-M6jjUTiQ7BCmY6QGgRR0qsQKD8tuOQAQHNpVoFNhGHJmcd8+QaBy0aRxOrqtd2MYGX4RE3quq4a55XZSrqK1EQ==} + '@ai-sdk/deepgram@2.0.0': + resolution: {integrity: sha512-jfo0vKaJbTGd14N5VtJl7Sb1QtZyviiLyfL19HzsLdKqiOuWPG8fnR/I8o72c3jTO+GEEyZqu8rnWIfi5HtW1A==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/deepseek@1.0.32': - resolution: {integrity: sha512-DDNZSZn6OuExVBJBAWdk3VeyQPH+pYwSykixePhzll9EnT3aakapMYr5gjw3wMl+eZ0tLplythHL1TfIehUZ0g==} + '@ai-sdk/deepseek@2.0.0': + resolution: {integrity: sha512-qRX06mouHaF4OePE4S8W8+fLX7Iq4dWk7Ul4+SSPBzx6zBJKUqwHYW2XyPShNWhT4Rcogpl5yHJUrBaOExkiyg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/elevenlabs@1.0.21': - resolution: {integrity: sha512-3BJzDyXMcWTElh1Bz7+or2couIJ0t5BidO58xcdtrTFq8s1oc3HOtHlPNu69DQQEGiTWkHc7LuA4bkw1b324sA==} + '@ai-sdk/elevenlabs@2.0.0': + resolution: {integrity: sha512-gE4aqYM2YHe8a75mWJ96CWVWCuCMPmM/766oW0sghYCccwKGM2G8JiqyfX5wEq0gDiLG73+I/M7aKS+9PjyA3Q==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/fireworks@1.0.30': - resolution: {integrity: sha512-gk4IUhDl0ELl8E6oUkJpjUGniv62+25CGoj7kRpPPTd0XSDHtfm5Js49X+yu3TLJESJ9oXByB9dyd3GzNGcZUg==} + '@ai-sdk/fireworks@2.0.0': + resolution: {integrity: sha512-2cHY0LxaL4t/DfGJ9AFC4Ch/D6MImxnM5qvnb+UFOyR2ZT4Apb1Gv6NL0VTlmjqaKLgYW9z39U/yt6ppiG+ZSQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@2.0.23': - resolution: {integrity: sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==} + '@ai-sdk/gateway@3.0.0': + resolution: {integrity: sha512-JcjePYVpbezv+XOxkxPemwnorjWpgDiiKWMYy6FXTCG2rFABIK2Co1bFxIUSDT4vYO6f1448x9rKbn38vbhDiA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/google-vertex@3.0.90': - resolution: {integrity: sha512-C9MLe1KZGg1ZbupV2osygHtL5qngyCDA6ATatunyfTbIe8TXKG8HGni/3O6ifbnI5qxTidIn150Ox7eIFZVMYg==} + '@ai-sdk/google-vertex@4.0.0': + resolution: {integrity: sha512-wbRgf8uRyKc4hZ+/zY9NUZ+hNIz41k1Zu8NfDt0raqDDBIQiB6spJ3RG9fmmACob4ITbWQQxakqwuRpAACVyZA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/google@2.0.46': - resolution: {integrity: sha512-8PK6u4sGE/kXebd7ZkTp+0aya4kNqzoqpS5m7cHY2NfTK6fhPc6GNvE+MZIZIoHQTp5ed86wGBdeBPpFaaUtyg==} + '@ai-sdk/google@3.0.0': + resolution: {integrity: sha512-KFS9pR7KGDyt7p1OQibglS3amoLjCXxwF7DVg+gL2RLcwFRQV0s6Tp7Q+PvGNFSqPdrPYW8mHyvn8ODK4WTImA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/google@2.0.51': - resolution: {integrity: sha512-5VMHdZTP4th00hthmh98jP+BZmxiTRMB9R2qh/AuF6OkQeiJikqxZg3hrWDfYrCmQ12wDjy6CbIypnhlwZiYrg==} + '@ai-sdk/groq@3.0.0': + resolution: {integrity: sha512-uWfvdzNwjXy7HiMOvKdIHnTItRViSWaqiGA4P3+Y1RB+seXHK9hJrKWXHH3hiyLFeAN9lcQp67gtipnGh68ZLg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/groq@2.0.33': - resolution: {integrity: sha512-FWGl7xNr88NBveao3y9EcVWYUt9ABPrwLFY7pIutSNgaTf32vgvyhREobaMrLU4Scr5G/2tlNqOPZ5wkYMaZig==} + '@ai-sdk/mistral@3.0.0': + resolution: {integrity: sha512-c7k/hLqXUdsbwco63kbM9mB7JA6c76kwPTtn9ulpsO8jvL+3n3+MKn0zWF7wjIZXc3kWAOBBK1zZB492hm+f3w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/mistral@2.0.26': - resolution: {integrity: sha512-jxDB++4WI1wEx5ONNBI+VbkmYJOYIuS8UQY13/83UGRaiW7oB/WHiH4ETe6KzbKpQPB3XruwTJQjUMsMfKyTXA==} + '@ai-sdk/openai-compatible@2.0.0': + resolution: {integrity: sha512-dQITHbDWLtIVB0Kpb9AXRMAZC2n4azS2T/uaVq8HOgw2Uy9x19usS0DIoXlTbj3R4rJuJXpAUhYowQ+YcK16WQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai-compatible@1.0.29': - resolution: {integrity: sha512-cZUppWzxjfpNaH1oVZ6U8yDLKKsdGbC9X0Pex8cG9CXhKWSoVLLnW1rKr6tu9jDISK5okjBIW/O1ZzfnbUrtEw==} + '@ai-sdk/openai@3.0.0': + resolution: {integrity: sha512-/o2xCQlRA+O0cAXIIBOfMeT35H6Fonzilz9r/IJojPOMQnmIL+0jPQVKOUPr5bouRqCjnwKpwuKEBRqm8jUZkQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai@2.0.88': - resolution: {integrity: sha512-LlOf83haeZIiRUH1Zw1oEmqUfw5y54227CvndFoBpIkMJwQDGAB3VARUeOJ6iwAWDJjXSz06GdnEnhRU67Yatw==} + '@ai-sdk/perplexity@3.0.0': + resolution: {integrity: sha512-7uMTi+8fVQBM4y6qzjplXTmfOa+p87ZYSEhzTbrteV3gm5DdFQwb4JCIPuZVl3nx2Ug7TajtG8UX95rIrmhLqg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/perplexity@2.0.22': - resolution: {integrity: sha512-zwzcnk08R2J3mZcQPn4Ifl4wYGrvANR7jsBB0hCTUSbb+Rx3ybpikSWiGuXQXxdiRc1I5MWXgj70m+bZaLPvHw==} + '@ai-sdk/provider-utils@3.0.19': + resolution: {integrity: sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@3.0.19': - resolution: {integrity: sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==} + '@ai-sdk/provider-utils@4.0.0': + resolution: {integrity: sha512-HyCyOls9I3a3e38+gtvOJOEjuw9KRcvbBnCL5GBuSmJvS9Jh9v3fz7pRC6ha1EUo/ZH1zwvLWYXBMtic8MTguA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -1720,18 +1723,18 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@ai-sdk/react@2.0.118': - resolution: {integrity: sha512-K/5VVEGTIu9SWrdQ0s/11OldFU8IjprDzeE6TaC2fOcQWhG7dGVGl9H8Z32QBHzdfJyMhFUxEyFKSOgA2j9+VQ==} + '@ai-sdk/provider@3.0.0': + resolution: {integrity: sha512-m9ka3ptkPQbaHHZHqDXDF9C9B5/Mav0KTdky1k2HZ3/nrW2t1AgObxIVPyGDWQNS9FXT/FS6PIoSjpcP/No8rQ==} + engines: {node: '>=18'} + + '@ai-sdk/react@3.0.1': + resolution: {integrity: sha512-XUPDMFgalNtqBQg+Q3UiiEmWE3PC5pAoc+Drs5Z1Mxqe57za+hKCEwViYADuqeZrc0q6PXTzbcFlQb3pjyGjcQ==} engines: {node: '>=18'} peerDependencies: react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 - zod: ^3.25.76 || ^4.1.8 - peerDependenciesMeta: - zod: - optional: true - '@ai-sdk/xai@2.0.42': - resolution: {integrity: sha512-wlwO4yRoZ/d+ca29vN8SDzxus7POdnL7GBTyRdSrt6icUF0hooLesauC8qRUC4aLxtqvMEc1YHtJOU7ZnLWbTQ==} + '@ai-sdk/xai@3.0.0': + resolution: {integrity: sha512-LTEfmNo0ESXnfWwOnEWcyYuJi/0xKGdjiEwRhCe7IjVxqLk2jF0Cpqk1U+S414JZdB5s9cqjcxFNdkLZ5AfbUA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -3030,16 +3033,12 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - '@openrouter/ai-sdk-provider@1.5.3': - resolution: {integrity: sha512-7SZmmLdp0x1wwuwZARn5R19ZSySHmTiUEM8IvN7O5r3ZH4drI1//BsLpfw56YFsBXu34VRtQzyvko1FLIcgtRg==} + '@openrouter/ai-sdk-provider@1.5.4': + resolution: {integrity: sha512-xrSQPUIH8n9zuyYZR0XK7Ba0h2KsjJcMkxnwaYfmv13pKs3sDkjPzVPPhlhzqBGddHb5cFEwJ9VFuFeDcxCDSw==} engines: {node: '>=18'} peerDependencies: - '@toon-format/toon': ^2.0.0 ai: ^5.0.0 zod: ^3.24.1 || ^v4 - peerDependenciesMeta: - '@toon-format/toon': - optional: true '@openrouter/sdk@0.1.27': resolution: {integrity: sha512-RH//L10bSmc81q25zAZudiI4kNkLgxF2E+WU42vghp3N6TEvZ6F0jK7uT3tOxkEn91gzmMw9YVmDENy7SJsajQ==} @@ -3263,6 +3262,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==} + '@standard-schema/utils@0.3.0': resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} @@ -3446,63 +3448,63 @@ packages: '@types/wait-on@5.3.4': resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==} - '@typescript-eslint/eslint-plugin@8.50.0': - resolution: {integrity: sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==} + '@typescript-eslint/eslint-plugin@8.50.1': + resolution: {integrity: sha512-PKhLGDq3JAg0Jk/aK890knnqduuI/Qj+udH7wCf0217IGi4gt+acgCyPVe79qoT+qKUvHMDQkwJeKW9fwl8Cyw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.50.0 + '@typescript-eslint/parser': ^8.50.1 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.50.0': - resolution: {integrity: sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==} + '@typescript-eslint/parser@8.50.1': + resolution: {integrity: sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.50.0': - resolution: {integrity: sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==} + '@typescript-eslint/project-service@8.50.1': + resolution: {integrity: sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.50.0': - resolution: {integrity: sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==} + '@typescript-eslint/scope-manager@8.50.1': + resolution: {integrity: sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.50.0': - resolution: {integrity: sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==} + '@typescript-eslint/tsconfig-utils@8.50.1': + resolution: {integrity: sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.50.0': - resolution: {integrity: sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==} + '@typescript-eslint/type-utils@8.50.1': + resolution: {integrity: sha512-7J3bf022QZE42tYMO6SL+6lTPKFk/WphhRPe9Tw/el+cEwzLz1Jjz2PX3GtGQVxooLDKeMVmMt7fWpYRdG5Etg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.50.0': - resolution: {integrity: sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==} + '@typescript-eslint/types@8.50.1': + resolution: {integrity: sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.50.0': - resolution: {integrity: sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==} + '@typescript-eslint/typescript-estree@8.50.1': + resolution: {integrity: sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.50.0': - resolution: {integrity: sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==} + '@typescript-eslint/utils@8.50.1': + resolution: {integrity: sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.50.0': - resolution: {integrity: sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==} + '@typescript-eslint/visitor-keys@8.50.1': + resolution: {integrity: sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vercel/oidc@3.0.5': @@ -3616,13 +3618,13 @@ packages: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} - agents@0.2.35: - resolution: {integrity: sha512-e6Ift6X0sFceYgFBIZGK4jQ+vyFq9caSF80ilsAVHzfFHvqb21013UrgGzZac4X+fzAP103YBSgS7C57tjAj8w==} + agents@0.3.0: + resolution: {integrity: sha512-UwhTWs6YPrhHTfV6vvEkYlJnC643nwpCSOvoUmyabWbZvUiHuIvhhAMclmsSh9J0GYQSpg7rKb1tCId2xumvbQ==} hasBin: true peerDependencies: - '@ai-sdk/openai': '>=2.0.0' - '@ai-sdk/react': '>=1.0.0' - ai: '>=5.0.0' + '@ai-sdk/openai': ^3.0.0 + '@ai-sdk/react': ^3.0.0 + ai: ^6.0.0 react: ^19.0.0 viem: '>=2.0.0' x402: ^0.7.1 @@ -3639,8 +3641,8 @@ packages: x402: optional: true - ai@5.0.116: - resolution: {integrity: sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==} + ai@6.0.1: + resolution: {integrity: sha512-g/jPakC6h4vUJKDww0d6+VaJmfMC38UqH3kKsngiP+coT0uvCUdQ7lpFDJ0mNmamaOyRMaY2zwEB2RnTAaJU/w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -6007,8 +6009,8 @@ packages: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} - typescript-eslint@8.50.0: - resolution: {integrity: sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==} + typescript-eslint@8.50.1: + resolution: {integrity: sha512-ytTHO+SoYSbhAH9CrYnMhiLx8To6PSSvqnvXyPUgPETCvB6eBKmTI9w6XMPS3HsBRGkwTVBX+urA8dYQx6bHfQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -6407,146 +6409,146 @@ snapshots: '@adraffy/ens-normalize@1.11.1': optional: true - '@ai-sdk/amazon-bedrock@3.0.71(zod@3.25.76)': + '@ai-sdk/amazon-bedrock@4.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/anthropic': 2.0.56(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/anthropic': 3.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) '@smithy/eventstream-codec': 4.2.0 '@smithy/util-utf8': 4.2.0 aws4fetch: 1.0.20 zod: 3.25.76 optional: true - '@ai-sdk/anthropic@2.0.56(zod@3.25.76)': + '@ai-sdk/anthropic@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/azure@2.0.90(zod@3.25.76)': + '@ai-sdk/azure@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/openai': 2.0.88(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/openai': 3.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/cerebras@1.0.33(zod@3.25.76)': + '@ai-sdk/cerebras@2.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/openai-compatible': 1.0.29(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/openai-compatible': 2.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/cohere@2.0.21(zod@3.25.76)': + '@ai-sdk/cohere@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/deepgram@1.0.21(zod@3.25.76)': + '@ai-sdk/deepgram@2.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/deepseek@1.0.32(zod@3.25.76)': + '@ai-sdk/deepseek@2.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/elevenlabs@1.0.21(zod@3.25.76)': + '@ai-sdk/elevenlabs@2.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/fireworks@1.0.30(zod@3.25.76)': + '@ai-sdk/fireworks@2.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/openai-compatible': 1.0.29(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/openai-compatible': 2.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/gateway@2.0.23(zod@3.25.76)': + '@ai-sdk/gateway@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) '@vercel/oidc': 3.0.5 zod: 3.25.76 - '@ai-sdk/google-vertex@3.0.90(patch_hash=271963aef1bb8d69c1fbba83342f6bdf1b39f53c660e9b34659e6ce279c0a100)(zod@3.25.76)': + '@ai-sdk/google-vertex@4.0.0(patch_hash=271963aef1bb8d69c1fbba83342f6bdf1b39f53c660e9b34659e6ce279c0a100)(zod@3.25.76)': dependencies: - '@ai-sdk/anthropic': 2.0.56(zod@3.25.76) - '@ai-sdk/google': 2.0.46(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/anthropic': 3.0.0(zod@3.25.76) + '@ai-sdk/google': 3.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) google-auth-library: 10.5.0 zod: 3.25.76 transitivePeerDependencies: - supports-color optional: true - '@ai-sdk/google@2.0.46(zod@3.25.76)': + '@ai-sdk/google@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/google@2.0.51(zod@3.25.76)': + '@ai-sdk/groq@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/groq@2.0.33(zod@3.25.76)': + '@ai-sdk/mistral@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true - '@ai-sdk/mistral@2.0.26(zod@3.25.76)': + '@ai-sdk/openai-compatible@2.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 - optional: true - '@ai-sdk/openai-compatible@1.0.29(zod@3.25.76)': + '@ai-sdk/openai@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/openai@2.0.88(zod@3.25.76)': + '@ai-sdk/perplexity@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 + optional: true - '@ai-sdk/perplexity@2.0.22(zod@3.25.76)': + '@ai-sdk/provider-utils@3.0.19(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@standard-schema/spec': 1.1.0 + eventsource-parser: 3.0.6 zod: 3.25.76 - optional: true - '@ai-sdk/provider-utils@3.0.19(zod@3.25.76)': + '@ai-sdk/provider-utils@4.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0 - '@standard-schema/spec': 1.0.0 + '@ai-sdk/provider': 3.0.0 + '@standard-schema/spec': 1.1.0 eventsource-parser: 3.0.6 zod: 3.25.76 @@ -6554,21 +6556,25 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76)': + '@ai-sdk/provider@3.0.0': dependencies: - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) - ai: 5.0.116(zod@3.25.76) + json-schema: 0.4.0 + + '@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76)': + dependencies: + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) + ai: 6.0.1(zod@3.25.76) react: 19.2.3 swr: 2.3.3(react@19.2.3) throttleit: 2.1.0 - optionalDependencies: - zod: 3.25.76 + transitivePeerDependencies: + - zod - '@ai-sdk/xai@2.0.42(zod@3.25.76)': + '@ai-sdk/xai@3.0.0(zod@3.25.76)': dependencies: - '@ai-sdk/openai-compatible': 1.0.29(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/openai-compatible': 2.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) zod: 3.25.76 optional: true @@ -7934,10 +7940,10 @@ snapshots: '@open-draft/until@2.1.0': {} - '@openrouter/ai-sdk-provider@1.5.3(ai@5.0.116(zod@3.25.76))(zod@3.25.76)': + '@openrouter/ai-sdk-provider@1.5.4(ai@6.0.1(zod@3.25.76))(zod@3.25.76)': dependencies: '@openrouter/sdk': 0.1.27 - ai: 5.0.116(zod@3.25.76) + ai: 6.0.1(zod@3.25.76) zod: 3.25.76 optional: true @@ -8158,6 +8164,8 @@ snapshots: '@standard-schema/spec@1.0.0': {} + '@standard-schema/spec@1.1.0': {} + '@standard-schema/utils@0.3.0': {} '@stytch/core@2.66.0': @@ -8368,14 +8376,14 @@ snapshots: dependencies: '@types/node': 25.0.3 - '@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.50.1(@typescript-eslint/parser@8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.50.0 - '@typescript-eslint/type-utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.50.0 + '@typescript-eslint/parser': 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.50.1 + '@typescript-eslint/type-utils': 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.50.1 eslint: 9.39.2(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -8384,41 +8392,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.50.0 - '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.50.0 + '@typescript-eslint/scope-manager': 8.50.1 + '@typescript-eslint/types': 8.50.1 + '@typescript-eslint/typescript-estree': 8.50.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.50.1 debug: 4.4.1 eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.50.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.50.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3) - '@typescript-eslint/types': 8.50.0 + '@typescript-eslint/tsconfig-utils': 8.50.1(typescript@5.9.3) + '@typescript-eslint/types': 8.50.1 debug: 4.4.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.50.0': + '@typescript-eslint/scope-manager@8.50.1': dependencies: - '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/visitor-keys': 8.50.0 + '@typescript-eslint/types': 8.50.1 + '@typescript-eslint/visitor-keys': 8.50.1 - '@typescript-eslint/tsconfig-utils@8.50.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.50.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.50.1 + '@typescript-eslint/typescript-estree': 8.50.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.1 eslint: 9.39.2(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.9.3) @@ -8426,14 +8434,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.50.0': {} + '@typescript-eslint/types@8.50.1': {} - '@typescript-eslint/typescript-estree@8.50.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.50.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.50.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3) - '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/visitor-keys': 8.50.0 + '@typescript-eslint/project-service': 8.50.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.50.1(typescript@5.9.3) + '@typescript-eslint/types': 8.50.1 + '@typescript-eslint/visitor-keys': 8.50.1 debug: 4.4.1 minimatch: 9.0.5 semver: 7.7.1 @@ -8443,20 +8451,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.50.0 - '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.50.1 + '@typescript-eslint/types': 8.50.1 + '@typescript-eslint/typescript-estree': 8.50.1(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.50.0': + '@typescript-eslint/visitor-keys@8.50.1': dependencies: - '@typescript-eslint/types': 8.50.0 + '@typescript-eslint/types': 8.50.1 eslint-visitor-keys: 4.2.1 '@vercel/oidc@3.0.5': {} @@ -8578,7 +8586,7 @@ snapshots: humanize-ms: 1.2.1 optional: true - agents@0.2.35(@ai-sdk/openai@2.0.88(zod@3.25.76))(@ai-sdk/react@2.0.118(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@5.0.116(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76): + agents@0.3.0(@ai-sdk/openai@3.0.0(zod@3.25.76))(@ai-sdk/react@3.0.1(react@19.2.3)(zod@3.25.76))(@cloudflare/workers-types@4.20251221.0)(ai@6.0.1(zod@3.25.76))(react@19.2.3)(typescript@5.9.3)(viem@2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76): dependencies: '@cfworker/json-schema': 4.1.1 '@modelcontextprotocol/sdk': 1.23.0(@cfworker/json-schema@4.1.1)(zod@3.25.76) @@ -8594,20 +8602,20 @@ snapshots: zod: 3.25.76 zod-to-ts: 2.0.0(typescript@5.9.3)(zod@3.25.76) optionalDependencies: - '@ai-sdk/openai': 2.0.88(zod@3.25.76) - '@ai-sdk/react': 2.0.118(react@19.2.3)(zod@3.25.76) - ai: 5.0.116(zod@3.25.76) + '@ai-sdk/openai': 3.0.0(zod@3.25.76) + '@ai-sdk/react': 3.0.1(react@19.2.3)(zod@3.25.76) + ai: 6.0.1(zod@3.25.76) viem: 2.37.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - '@cloudflare/workers-types' - supports-color - typescript - ai@5.0.116(zod@3.25.76): + ai@6.0.1(zod@3.25.76): dependencies: - '@ai-sdk/gateway': 2.0.23(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@3.25.76) + '@ai-sdk/gateway': 3.0.0(zod@3.25.76) + '@ai-sdk/provider': 3.0.0 + '@ai-sdk/provider-utils': 4.0.0(zod@3.25.76) '@opentelemetry/api': 1.9.0 zod: 3.25.76 @@ -11010,12 +11018,12 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.1 - typescript-eslint@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.50.1(@typescript-eslint/parser@8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.50.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: