diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..b066920 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,9 @@ +{ + "permissions": { + "allow": [ + "Bash(npm update:*)" + ], + "deny": [], + "ask": [] + } +} diff --git a/app/api/chat/route.ts b/app/api/chat/route.ts index 522eceb..950a4f9 100644 --- a/app/api/chat/route.ts +++ b/app/api/chat/route.ts @@ -101,7 +101,7 @@ ${lastMessageText} // model: google("gemini-2.5-pro"), // model: bedrock('anthropic.claude-sonnet-4-20250514-v1:0'), system: systemMessage, - model: openai.chat('gpt-5'), + model: bedrock('global.anthropic.claude-sonnet-4-5-20250929-v1:0'), // model: openrouter('moonshotai/kimi-k2:free'), // model: model, // providerOptions: { @@ -111,11 +111,11 @@ ${lastMessageText} // }, // } // }, - providerOptions: { - openai: { - reasoningEffort: "minimal" - }, - }, + // providerOptions: { + // openai: { + // reasoningEffort: "minimal" + // }, + // }, messages: enhancedMessages, tools: { // Client-side tool that will be executed on the client diff --git a/package-lock.json b/package-lock.json index a9cdc09..e79d69c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "next-ai-draw-io", "version": "0.1.0", "dependencies": { - "@ai-sdk/amazon-bedrock": "^2.0.0", + "@ai-sdk/amazon-bedrock": "^3.0.52", "@ai-sdk/google": "^2.0.0", "@ai-sdk/openai": "^2.0.19", "@ai-sdk/react": "^2.0.22", @@ -19,7 +19,7 @@ "@radix-ui/react-tooltip": "^1.1.8", "@vercel/analytics": "^1.5.0", "@xmldom/xmldom": "^0.9.8", - "ai": "^5.0.22", + "ai": "^5.0.89", "base-64": "^1.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", @@ -47,13 +47,14 @@ } }, "node_modules/@ai-sdk/amazon-bedrock": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ai-sdk/amazon-bedrock/-/amazon-bedrock-2.0.0.tgz", - "integrity": "sha512-JwLPjeCdZUkfGAmYDOxByxS16f+qilZkaGQv25BvYcmO11AzL1gPJ20JDhxMCXnqvpB6eTcECs7vMM1e2UusAg==", + "version": "3.0.52", + "resolved": "https://registry.npmjs.org/@ai-sdk/amazon-bedrock/-/amazon-bedrock-3.0.52.tgz", + "integrity": "sha512-dCse5ShXxeKB0IBg2/uac3DaHaFHYh6xoDBGjtlxeosHAppHwkal4OA5tgy6uj3Zp9bRZg4ZlkR77zdw3HC4ug==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.7", - "@ai-sdk/provider-utils": "2.1.7", + "@ai-sdk/anthropic": "2.0.42", + "@ai-sdk/provider": "2.0.0", + "@ai-sdk/provider-utils": "3.0.16", "@smithy/eventstream-codec": "^4.0.1", "@smithy/util-utf8": "^4.0.0", "aws4fetch": "^1.0.20" @@ -62,53 +63,40 @@ "node": ">=18" }, "peerDependencies": { - "zod": "^3.0.0" + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@ai-sdk/anthropic": { + "version": "2.0.42", + "resolved": "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-2.0.42.tgz", + "integrity": "sha512-5BcXMx6VTYPeA4csd1SvJgpCn5Nu9qHqsNqOr1e/R7UHq83Vv4j4OcgbFwdWgaW/wihNla5B+y4OGqTFIw216w==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@ai-sdk/provider-utils": "3.0.16" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/@ai-sdk/gateway": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-1.0.11.tgz", - "integrity": "sha512-ErwWS3sPOuWy42eE3AVxlKkTa1XjjKBEtNCOylVKMO5KNyz5qie8QVlLYbULOG56dtxX4zTKX3rQNJudplhcmQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.7.tgz", + "integrity": "sha512-/AI5AKi4vOK9SEb8Z1dfXkhsJ5NAfWsoJQc96B/mzn2KIrjw5occOjIwD06scuhV9xWlghCoXJT1sQD9QH/tyg==", "license": "Apache-2.0", "dependencies": { "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.5" + "@ai-sdk/provider-utils": "3.0.16", + "@vercel/oidc": "3.0.3" }, "engines": { "node": ">=18" }, "peerDependencies": { - "zod": "^3.25.76 || ^4" - } - }, - "node_modules/@ai-sdk/gateway/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/@ai-sdk/gateway/node_modules/@ai-sdk/provider-utils": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.5.tgz", - "integrity": "sha512-HliwB/yzufw3iwczbFVE2Fiwf1XqROB/I6ng8EKUsPM5+2wnIa8f4VbljZcDx+grhFrPV+PnRZH7zBqi8WZM7Q==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", - "eventsource-parser": "^3.0.3", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.25.76 || ^4" + "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/@ai-sdk/google": { @@ -127,18 +115,6 @@ "zod": "^3.25.76 || ^4" } }, - "node_modules/@ai-sdk/google/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/@ai-sdk/google/node_modules/@ai-sdk/provider-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.0.tgz", @@ -173,18 +149,6 @@ "zod": "^3.25.76 || ^4" } }, - "node_modules/@ai-sdk/openai/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/@ai-sdk/openai/node_modules/@ai-sdk/provider-utils": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.5.tgz", @@ -204,9 +168,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.7.tgz", - "integrity": "sha512-q1PJEZ0qD9rVR+8JFEd01/QM++csMT5UVwYXSN2u54BrVw/D8TZLTeg2FEfKK00DgAx0UtWd8XOhhwITP9BT5g==", + "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" @@ -216,26 +180,20 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.1.7.tgz", - "integrity": "sha512-5pliIKahXPlx3PZNBL3TtOBosFftoCq8bUNYdLi2M3YPBdQen9G9mR1BCrhC5hhEk4i3XTM8boqYeuRN6kLfsA==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.16.tgz", + "integrity": "sha512-lsWQY9aDXHitw7C1QRYIbVGmgwyT98TF3MfM8alNIXKpdJdi+W782Rzd9f1RyOfgRmZ08gJ2EYNDhWNK7RqpEA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.7", - "eventsource-parser": "^3.0.0", - "nanoid": "^3.3.8", - "secure-json-parse": "^2.7.0" + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" }, "engines": { "node": ">=18" }, "peerDependencies": { - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } + "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/@ai-sdk/react": { @@ -262,16 +220,20 @@ } } }, - "node_modules/@ai-sdk/react/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==", + "node_modules/@ai-sdk/react/node_modules/@ai-sdk/gateway": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-1.0.11.tgz", + "integrity": "sha512-ErwWS3sPOuWy42eE3AVxlKkTa1XjjKBEtNCOylVKMO5KNyz5qie8QVlLYbULOG56dtxX4zTKX3rQNJudplhcmQ==", "license": "Apache-2.0", "dependencies": { - "json-schema": "^0.4.0" + "@ai-sdk/provider": "2.0.0", + "@ai-sdk/provider-utils": "3.0.5" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4" } }, "node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider-utils": { @@ -292,6 +254,24 @@ "zod": "^3.25.76 || ^4" } }, + "node_modules/@ai-sdk/react/node_modules/ai": { + "version": "5.0.22", + "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.22.tgz", + "integrity": "sha512-RZiYhj7Ux7hrLtXkHPcxzdiSZt4NOiC69O5AkNfMCsz3twwz/KRkl9ASptosoOsg833s5yRcTSdIu5z53Sl6Pw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/gateway": "1.0.11", + "@ai-sdk/provider": "2.0.0", + "@ai-sdk/provider-utils": "3.0.5", + "@opentelemetry/api": "1.9.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4" + } + }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -2065,6 +2045,15 @@ } } }, + "node_modules/@vercel/oidc": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.0.3.tgz", + "integrity": "sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==", + "license": "Apache-2.0", + "engines": { + "node": ">= 20" + } + }, "node_modules/@xmldom/xmldom": { "version": "0.9.8", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.8.tgz", @@ -2084,51 +2073,21 @@ } }, "node_modules/ai": { - "version": "5.0.22", - "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.22.tgz", - "integrity": "sha512-RZiYhj7Ux7hrLtXkHPcxzdiSZt4NOiC69O5AkNfMCsz3twwz/KRkl9ASptosoOsg833s5yRcTSdIu5z53Sl6Pw==", + "version": "5.0.89", + "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.89.tgz", + "integrity": "sha512-8Nq+ZojGacQrupoJEQLrTDzT5VtR3gyp5AaqFSV3tzsAXlYQ9Igb7QE3yeoEdzOk5IRfDwWL7mDCUD+oBg1hDA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "1.0.11", + "@ai-sdk/gateway": "2.0.7", "@ai-sdk/provider": "2.0.0", - "@ai-sdk/provider-utils": "3.0.5", + "@ai-sdk/provider-utils": "3.0.16", "@opentelemetry/api": "1.9.0" }, "engines": { "node": ">=18" }, "peerDependencies": { - "zod": "^3.25.76 || ^4" - } - }, - "node_modules/ai/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/ai/node_modules/@ai-sdk/provider-utils": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.5.tgz", - "integrity": "sha512-HliwB/yzufw3iwczbFVE2Fiwf1XqROB/I6ng8EKUsPM5+2wnIa8f4VbljZcDx+grhFrPV+PnRZH7zBqi8WZM7Q==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "2.0.0", - "@standard-schema/spec": "^1.0.0", - "eventsource-parser": "^3.0.3", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.25.76 || ^4" + "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/aria-hidden": { @@ -2533,12 +2492,12 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", - "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", "license": "MIT", "engines": { - "node": ">=20.0.0" + "node": ">=18.0.0" } }, "node_modules/extend": { diff --git a/package.json b/package.json index 82ed522..1938cf2 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint": "next lint" }, "dependencies": { - "@ai-sdk/amazon-bedrock": "^2.0.0", + "@ai-sdk/amazon-bedrock": "^3.0.52", "@ai-sdk/google": "^2.0.0", "@ai-sdk/openai": "^2.0.19", "@ai-sdk/react": "^2.0.22", @@ -20,7 +20,7 @@ "@radix-ui/react-tooltip": "^1.1.8", "@vercel/analytics": "^1.5.0", "@xmldom/xmldom": "^0.9.8", - "ai": "^5.0.22", + "ai": "^5.0.89", "base-64": "^1.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1",