diff --git a/forge.config.ts b/forge.config.ts index cb83df8..1b017c3 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -23,7 +23,7 @@ const config: ForgeConfig = { onlyModules: ["better-sqlite3", "sqlite-vec", "sqlite-vec-darwin-arm64"], force: true, platform: process.platform, - buildFromSource: true, + buildFromSource: false, }, makers: [ new MakerSquirrel({}), diff --git a/node-v20.msi b/node-v20.msi new file mode 100644 index 0000000..ae289ce Binary files /dev/null and b/node-v20.msi differ diff --git a/package-lock.json b/package-lock.json index 3a9d527..c89494c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "autoprefixer": "^10.4.20", - "electron": "33.2.0", + "electron": "^33.2.0", "eslint": "^8.0.1", "eslint-plugin-import": "^2.25.0", "postcss": "^8.4.49", @@ -64,13 +64,13 @@ } }, "node_modules/@ai-sdk/anthropic": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-1.0.4.tgz", - "integrity": "sha512-x5vkv0+7OJs3GUDy+Z5RDxotOmYQskxYUswQVQJ47f79JC3XRTjMVsPzkyvlb5MOW2NOFfYZ8920lHcu7zhJQA==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-1.2.12.tgz", + "integrity": "sha512-YSzjlko7JvuiyQFmI9RN1tNZdEiZxc+6xld/0tq/VkJaHpEzGAb1yiNxxvmYVcjvfu/PcvCxAAYXmTYQQ63IHQ==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.1", - "@ai-sdk/provider-utils": "2.0.3" + "@ai-sdk/provider": "1.1.3", + "@ai-sdk/provider-utils": "2.2.8" }, "engines": { "node": ">=18" @@ -79,37 +79,14 @@ "zod": "^3.0.0" } }, - "node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.3.tgz", - "integrity": "sha512-Cyk7GlFEse2jQ4I3FWYuZ1Zhr5w1mD9SHMJTYm/in1rd7r89nmEoQiOy3h8YV2ZvTa2/6aR10xZ4M0k4B3BluA==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.0.1", - "eventsource-parser": "^3.0.0", - "nanoid": "^3.3.7", - "secure-json-parse": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } - } - }, "node_modules/@ai-sdk/google": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@ai-sdk/google/-/google-1.0.3.tgz", - "integrity": "sha512-vxHQw2ogNUMgiVtflDUh+8izc1H0DUo0GusT+YHG/2qdcoY4M1GxCD6pB1osNDeIxfjzToA5HfqdatjaRiYR9g==", + "version": "1.2.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/google/-/google-1.2.22.tgz", + "integrity": "sha512-Ppxu3DIieF1G9pyQ5O1Z646GYR0gkC57YdBqXJ82qvCdhEhZHu0TWhmnOoeIWe2olSbuDeoOY+MfJrW8dzS3Hw==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.1", - "@ai-sdk/provider-utils": "2.0.2" + "@ai-sdk/provider": "1.1.3", + "@ai-sdk/provider-utils": "2.2.8" }, "engines": { "node": ">=18" @@ -119,13 +96,13 @@ } }, "node_modules/@ai-sdk/openai": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.0.4.tgz", - "integrity": "sha512-3QpgKmkCeJvUdeu3sVRL/ZKWzg8biO0tN2owQW/lFV95o8qskE3bN95R9H136Mmu0124/C28aY6ScxO93nUrtg==", + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.3.24.tgz", + "integrity": "sha512-GYXnGJTHRTZc4gJMSmFRgEQudjqd4PUN0ZjQhPwOAYH1yOAvQoG/Ikqs+HyISRbLPCrhbZnPKCNHuRU4OfpW0Q==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.1", - "@ai-sdk/provider-utils": "2.0.2" + "@ai-sdk/provider": "1.1.3", + "@ai-sdk/provider-utils": "2.2.8" }, "engines": { "node": ">=18" @@ -135,9 +112,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.1.tgz", - "integrity": "sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz", + "integrity": "sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -147,36 +124,30 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.2.tgz", - "integrity": "sha512-IAvhKhdlXqiSmvx/D4uNlFYCl8dWT+M9K+IuEcSgnE2Aj27GWu8sDIpAf4r4Voc+wOUkOECVKQhFo8g9pozdjA==", + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz", + "integrity": "sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.1", - "eventsource-parser": "^3.0.0", - "nanoid": "^3.3.7", + "@ai-sdk/provider": "1.1.3", + "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "engines": { "node": ">=18" }, "peerDependencies": { - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } + "zod": "^3.23.8" } }, "node_modules/@ai-sdk/react": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-1.0.6.tgz", - "integrity": "sha512-8Hkserq0Ge6AEi7N4hlv2FkfglAGbkoAXEZ8YSp255c3PbnZz6+/5fppw+aROmZMOfNwallSRuy1i/iPa2rBpQ==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.12.tgz", + "integrity": "sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider-utils": "2.0.4", - "@ai-sdk/ui-utils": "1.0.5", + "@ai-sdk/provider-utils": "2.2.8", + "@ai-sdk/ui-utils": "1.2.11", "swr": "^2.2.5", "throttleit": "2.1.0" }, @@ -185,45 +156,7 @@ }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.2.tgz", - "integrity": "sha512-YYtP6xWQyaAf5LiWLJ+ycGTOeBLWrED7LUrvc+SQIWhGaneylqbaGsyQL7VouQUeQ4JZ1qKYZuhmi3W56HADPA==", - "license": "Apache-2.0", - "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.4.tgz", - "integrity": "sha512-GMhcQCZbwM6RoZCri0MWeEWXRt/T+uCxsmHEsTwNvEH3GDjNzchfX25C8ftry2MeEOOn6KfqCLSKomcgK6RoOg==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.0.2", - "eventsource-parser": "^3.0.0", - "nanoid": "^3.3.8", - "secure-json-parse": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.0.0" + "zod": "^3.23.8" }, "peerDependenciesMeta": { "zod": { @@ -232,60 +165,20 @@ } }, "node_modules/@ai-sdk/ui-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.0.5.tgz", - "integrity": "sha512-DGJSbDf+vJyWmFNexSPUsS1AAy7gtsmFmoSyNbNbJjwl9hRIf2dknfA1V0ahx6pg3NNklNYFm53L8Nphjovfvg==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.0.2", - "@ai-sdk/provider-utils": "2.0.4", - "zod-to-json-schema": "^3.23.5" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } - } - }, - "node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.2.tgz", - "integrity": "sha512-YYtP6xWQyaAf5LiWLJ+ycGTOeBLWrED7LUrvc+SQIWhGaneylqbaGsyQL7VouQUeQ4JZ1qKYZuhmi3W56HADPA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz", + "integrity": "sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==", "license": "Apache-2.0", "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.4.tgz", - "integrity": "sha512-GMhcQCZbwM6RoZCri0MWeEWXRt/T+uCxsmHEsTwNvEH3GDjNzchfX25C8ftry2MeEOOn6KfqCLSKomcgK6RoOg==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.0.2", - "eventsource-parser": "^3.0.0", - "nanoid": "^3.3.8", - "secure-json-parse": "^2.7.0" + "@ai-sdk/provider": "1.1.3", + "@ai-sdk/provider-utils": "2.2.8", + "zod-to-json-schema": "^3.24.1" }, "engines": { "node": ">=18" }, "peerDependencies": { - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } + "zod": "^3.23.8" } }, "node_modules/@alloc/quick-lru": { @@ -3228,67 +3121,28 @@ } }, "node_modules/ai": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/ai/-/ai-4.0.18.tgz", - "integrity": "sha512-BTWzalLNE1LQphEka5xzJXDs5v4xXy1Uzr7dAVk+C/CnO3WNpuMBgrCymwUv0VrWaWc8xMQuh+OqsT7P7JyekQ==", + "version": "4.3.19", + "resolved": "https://registry.npmjs.org/ai/-/ai-4.3.19.tgz", + "integrity": "sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "1.0.2", - "@ai-sdk/provider-utils": "2.0.4", - "@ai-sdk/react": "1.0.6", - "@ai-sdk/ui-utils": "1.0.5", + "@ai-sdk/provider": "1.1.3", + "@ai-sdk/provider-utils": "2.2.8", + "@ai-sdk/react": "1.2.12", + "@ai-sdk/ui-utils": "1.2.11", "@opentelemetry/api": "1.9.0", - "jsondiffpatch": "0.6.0", - "zod-to-json-schema": "^3.23.5" + "jsondiffpatch": "0.6.0" }, "engines": { "node": ">=18" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", - "zod": "^3.0.0" + "zod": "^3.23.8" }, "peerDependenciesMeta": { "react": { "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/ai/node_modules/@ai-sdk/provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.2.tgz", - "integrity": "sha512-YYtP6xWQyaAf5LiWLJ+ycGTOeBLWrED7LUrvc+SQIWhGaneylqbaGsyQL7VouQUeQ4JZ1qKYZuhmi3W56HADPA==", - "license": "Apache-2.0", - "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/ai/node_modules/@ai-sdk/provider-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.4.tgz", - "integrity": "sha512-GMhcQCZbwM6RoZCri0MWeEWXRt/T+uCxsmHEsTwNvEH3GDjNzchfX25C8ftry2MeEOOn6KfqCLSKomcgK6RoOg==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.0.2", - "eventsource-parser": "^3.0.0", - "nanoid": "^3.3.8", - "secure-json-parse": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true } } }, @@ -4315,12 +4169,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -6418,15 +6266,6 @@ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", "license": "MIT" }, - "node_modules/eventsource-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz", - "integrity": "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -12921,6 +12760,9 @@ "win32" ] }, + "node_modules/sqlite-vec/node_modules/sqlite-vec-linux-arm64": { + "optional": true + }, "node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -13322,16 +13164,25 @@ } }, "node_modules/swr": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz", - "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.4.1.tgz", + "integrity": "sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==", "license": "MIT", "dependencies": { - "client-only": "^0.0.1", - "use-sync-external-store": "^1.2.0" + "dequal": "^2.0.3", + "use-sync-external-store": "^1.6.0" }, "peerDependencies": { - "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/swr/node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/tailwindcss": { @@ -14820,9 +14671,9 @@ } }, "node_modules/zod": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", - "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "license": "MIT", "peer": true, "funding": { @@ -14830,12 +14681,12 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", - "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", "license": "ISC", "peerDependencies": { - "zod": "^3.24.1" + "zod": "^3.25.28 || ^4" } }, "node_modules/zustand": { diff --git a/package.json b/package.json index 118c87f..94b3f17 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "autoprefixer": "^10.4.20", - "electron": "33.2.0", + "electron": "^33.2.0", "eslint": "^8.0.1", "eslint-plugin-import": "^2.25.0", "postcss": "^8.4.49", diff --git a/src/main/chat.ts b/src/main/chat.ts index ed0e271..0735384 100644 --- a/src/main/chat.ts +++ b/src/main/chat.ts @@ -48,7 +48,7 @@ export function setupChatHandler() { const attachments = await handleAttachments(messages); const result = streamText({ - model: getProvider(model)(model), + model: getProvider(model), temperature, topP, experimental_transform: smoothStream(), @@ -125,18 +125,24 @@ function extractParentId(messages: Message[]): string | null { } function formatMessages(messages: Message[]) { - return messages.map((message) => ({ + return messages.map(formatMessage); +} + +function formatMessage(message: Message) { + const content = message.experimental_attachments?.length > 0 + ? [ + { type: "text", text: message.content }, + ...message.experimental_attachments.map((attachment) => ({ + type: "image", + image: attachment.url, + })), + ] + : [{ type: "text", text: message.content }]; + + return { role: message.role, - content: message.experimental_attachments?.length > 0 - ? [ - { type: "text", text: message.content }, - ...message.experimental_attachments.map((attachment) => ({ - type: "image", - image: attachment.url, - })), - ] - : message.content, - })); + content, + }; } async function handleAttachments( diff --git a/src/main/models.ts b/src/main/models.ts index 654924d..b823ceb 100644 --- a/src/main/models.ts +++ b/src/main/models.ts @@ -5,10 +5,13 @@ import { anthropic, createAnthropic } from "@ai-sdk/anthropic"; import { createOpenAI, openai } from "@ai-sdk/openai"; import { apiKeys, DEFAULT_OLLAMA_URL } from "./settings"; -const getAnthropicProvider = () => - apiKeys.get("anthropic") - ? createAnthropic({ apiKey: apiKeys.get("anthropic") }) +const getAnthropicProvider = () => { + const key = apiKeys.get("anthropic"); + console.log("[Models] Anthropic API key status:", key ? "Present" : "Missing"); + return key + ? createAnthropic({ apiKey: key }) : anthropic; +}; const getGoogleProvider = () => apiKeys.get("google") @@ -69,19 +72,13 @@ const baseModelProviders = { providerName: "google", }, - "claude-3-5-sonnet-20240620": { - get provider() { - return getAnthropicProvider(); - }, - providerName: "anthropic", - }, - "claude-3-5-sonnet-20241022": { + "claude-4-sonnet-20250514": { get provider() { return getAnthropicProvider(); }, providerName: "anthropic", }, - "claude-3-5-haiku-20241022": { + "claude-4-opus-20250514": { get provider() { return getAnthropicProvider(); }, @@ -128,7 +125,32 @@ export type SupportedModel = keyof typeof baseModelProviders; export function getProvider(model: string) { if (model in modelProviders) { - return modelProviders[model as SupportedModel].provider; + try { + const providerConfig = modelProviders[model as SupportedModel]; + const provider = providerConfig.provider; + console.log(`[Models] Getting provider for model: ${model}, provider type: ${typeof provider}`); + + if (typeof provider === "function") { + return provider(model); + } + + if (typeof provider === "object") { + if (typeof (provider as any).messages === "function") { + return (provider as any).messages(model); + } + if (typeof (provider as any).chat === "function") { + return (provider as any).chat(model); + } + if (typeof (provider as any).languageModel === "function") { + return (provider as any).languageModel(model); + } + } + + return provider as any; + } catch (error) { + console.error(`[Models] Error getting provider for ${model}:`, error); + throw error; + } } throw new Error(`Unsupported model: ${model}`); } diff --git a/tmp-test-anthropic.js b/tmp-test-anthropic.js new file mode 100644 index 0000000..e85643e --- /dev/null +++ b/tmp-test-anthropic.js @@ -0,0 +1,24 @@ +const { createAnthropic } = require('./node_modules/@ai-sdk/anthropic/dist/index.js'); +const { streamText } = require('./node_modules/ai/dist/index.js'); +const fs = require('fs'); +const path = require('path'); +const config = JSON.parse(fs.readFileSync(path.join(process.env.APPDATA, 'delta', 'delta_data', 'config.json'), 'utf8')); +const provider = createAnthropic({ apiKey: config.anthropic }); +console.log('provider type', typeof provider); +const model = provider('claude-3-5-sonnet-latest'); +console.log('model doStream', typeof model.doStream, 'model run', typeof model.run); +(async () => { + try { + const res = streamText({ model, temperature: 0.7, topP: 1, messages: [{ role: 'user', content: 'hello' }] }); + let count = 0; + for await (const chunk of res.textStream) { + console.log('chunk', JSON.stringify(chunk)); + count++; + if (count > 5) break; + } + console.log('done', count); + } catch (e) { + console.error('err', e); + process.exit(1); + } +})(); diff --git a/tmp_anthropic_test.js b/tmp_anthropic_test.js new file mode 100644 index 0000000..3b5f29c --- /dev/null +++ b/tmp_anthropic_test.js @@ -0,0 +1,31 @@ +const anthropic = require('@ai-sdk/anthropic'); +const fs = require('fs'); +const path = require('path'); +const config = JSON.parse(fs.readFileSync(path.join(process.env.APPDATA, 'delta', 'delta_data', 'config.json'), 'utf8')); +const provider = anthropic.createAnthropic({ apiKey: config.anthropic }); +const models = ['claude-3-opus-latest','claude-3-5-sonnet-latest','claude-4-sonnet-20250514','claude-3-5-haiku-latest']; +(async () => { + for (const modelId of models) { + try { + console.log('testing', modelId); + const m = provider(modelId); + const args = await m.getArgs({ mode: { type: 'regular' }, inputFormat: 'messages', prompt: [{ role: 'user', content: [{ type: 'text', text: 'hello' }] }] }); + console.log('getArgs ok', modelId, JSON.stringify(args.args)); + try { + const res = await m.doStream({ mode: { type: 'regular' }, inputFormat: 'messages', prompt: [{ role: 'user', content: [{ type: 'text', text: 'hello' }] }] }); + const reader = res.stream.getReader(); + let i = 0; + while (true) { + const { done, value } = await reader.read(); + if (done) break; + i++; + } + console.log('stream finished', modelId, 'chunks=' + i); + } catch (e) { + console.error('doStream error', modelId, e.message || e); + } + } catch (e) { + console.error('error', modelId, e.message || e); + } + } +})(); diff --git a/yarn.lock b/yarn.lock index fc702bb..ecbd7e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,91 +3,63 @@ "@ai-sdk/anthropic@^1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-1.0.4.tgz" - integrity sha512-x5vkv0+7OJs3GUDy+Z5RDxotOmYQskxYUswQVQJ47f79JC3XRTjMVsPzkyvlb5MOW2NOFfYZ8920lHcu7zhJQA== + version "1.2.12" + resolved "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-1.2.12.tgz" + integrity sha512-YSzjlko7JvuiyQFmI9RN1tNZdEiZxc+6xld/0tq/VkJaHpEzGAb1yiNxxvmYVcjvfu/PcvCxAAYXmTYQQ63IHQ== dependencies: - "@ai-sdk/provider" "1.0.1" - "@ai-sdk/provider-utils" "2.0.3" + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" "@ai-sdk/google@^1.0.3": - version "1.0.3" - resolved "https://registry.npmjs.org/@ai-sdk/google/-/google-1.0.3.tgz" - integrity sha512-vxHQw2ogNUMgiVtflDUh+8izc1H0DUo0GusT+YHG/2qdcoY4M1GxCD6pB1osNDeIxfjzToA5HfqdatjaRiYR9g== + version "1.2.22" + resolved "https://registry.npmjs.org/@ai-sdk/google/-/google-1.2.22.tgz" + integrity sha512-Ppxu3DIieF1G9pyQ5O1Z646GYR0gkC57YdBqXJ82qvCdhEhZHu0TWhmnOoeIWe2olSbuDeoOY+MfJrW8dzS3Hw== dependencies: - "@ai-sdk/provider" "1.0.1" - "@ai-sdk/provider-utils" "2.0.2" + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" "@ai-sdk/openai@^1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.0.4.tgz" - integrity sha512-3QpgKmkCeJvUdeu3sVRL/ZKWzg8biO0tN2owQW/lFV95o8qskE3bN95R9H136Mmu0124/C28aY6ScxO93nUrtg== - dependencies: - "@ai-sdk/provider" "1.0.1" - "@ai-sdk/provider-utils" "2.0.2" - -"@ai-sdk/provider-utils@^2.0.0", "@ai-sdk/provider-utils@2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.2.tgz" - integrity sha512-IAvhKhdlXqiSmvx/D4uNlFYCl8dWT+M9K+IuEcSgnE2Aj27GWu8sDIpAf4r4Voc+wOUkOECVKQhFo8g9pozdjA== - dependencies: - "@ai-sdk/provider" "1.0.1" - eventsource-parser "^3.0.0" - nanoid "^3.3.7" - secure-json-parse "^2.7.0" - -"@ai-sdk/provider-utils@2.0.3": - version "2.0.3" - resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.3.tgz" - integrity sha512-Cyk7GlFEse2jQ4I3FWYuZ1Zhr5w1mD9SHMJTYm/in1rd7r89nmEoQiOy3h8YV2ZvTa2/6aR10xZ4M0k4B3BluA== + version "1.3.24" + resolved "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.3.24.tgz" + integrity sha512-GYXnGJTHRTZc4gJMSmFRgEQudjqd4PUN0ZjQhPwOAYH1yOAvQoG/Ikqs+HyISRbLPCrhbZnPKCNHuRU4OfpW0Q== dependencies: - "@ai-sdk/provider" "1.0.1" - eventsource-parser "^3.0.0" - nanoid "^3.3.7" - secure-json-parse "^2.7.0" + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" -"@ai-sdk/provider-utils@2.0.4": - version "2.0.4" - resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.4.tgz" - integrity sha512-GMhcQCZbwM6RoZCri0MWeEWXRt/T+uCxsmHEsTwNvEH3GDjNzchfX25C8ftry2MeEOOn6KfqCLSKomcgK6RoOg== +"@ai-sdk/provider-utils@^2.0.0", "@ai-sdk/provider-utils@2.2.8": + version "2.2.8" + resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz" + integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== dependencies: - "@ai-sdk/provider" "1.0.2" - eventsource-parser "^3.0.0" + "@ai-sdk/provider" "1.1.3" nanoid "^3.3.8" secure-json-parse "^2.7.0" -"@ai-sdk/provider@^1.0.0", "@ai-sdk/provider@1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.1.tgz" - integrity sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg== - dependencies: - json-schema "^0.4.0" - -"@ai-sdk/provider@1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.2.tgz" - integrity sha512-YYtP6xWQyaAf5LiWLJ+ycGTOeBLWrED7LUrvc+SQIWhGaneylqbaGsyQL7VouQUeQ4JZ1qKYZuhmi3W56HADPA== +"@ai-sdk/provider@^1.0.0", "@ai-sdk/provider@1.1.3": + version "1.1.3" + resolved "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz" + integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== dependencies: json-schema "^0.4.0" -"@ai-sdk/react@1.0.6": - version "1.0.6" - resolved "https://registry.npmjs.org/@ai-sdk/react/-/react-1.0.6.tgz" - integrity sha512-8Hkserq0Ge6AEi7N4hlv2FkfglAGbkoAXEZ8YSp255c3PbnZz6+/5fppw+aROmZMOfNwallSRuy1i/iPa2rBpQ== +"@ai-sdk/react@1.2.12": + version "1.2.12" + resolved "https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.12.tgz" + integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== dependencies: - "@ai-sdk/provider-utils" "2.0.4" - "@ai-sdk/ui-utils" "1.0.5" + "@ai-sdk/provider-utils" "2.2.8" + "@ai-sdk/ui-utils" "1.2.11" swr "^2.2.5" throttleit "2.1.0" -"@ai-sdk/ui-utils@1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.0.5.tgz" - integrity sha512-DGJSbDf+vJyWmFNexSPUsS1AAy7gtsmFmoSyNbNbJjwl9hRIf2dknfA1V0ahx6pg3NNklNYFm53L8Nphjovfvg== +"@ai-sdk/ui-utils@1.2.11": + version "1.2.11" + resolved "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz" + integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== dependencies: - "@ai-sdk/provider" "1.0.2" - "@ai-sdk/provider-utils" "2.0.4" - zod-to-json-schema "^3.23.5" + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" + zod-to-json-schema "^3.24.1" "@alloc/quick-lru@^5.2.0": version "5.2.0" @@ -709,10 +681,10 @@ minimist "^1.2.8" postject "^1.0.0-alpha.6" -"@esbuild/darwin-arm64@0.21.5": +"@esbuild/win32-x64@0.21.5": version "0.21.5" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz" - integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== "@eslint-community/eslint-utils@^4.2.0": version "4.4.1" @@ -883,10 +855,10 @@ resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@rollup/rollup-darwin-arm64@4.27.4": +"@rollup/rollup-win32-x64-msvc@4.27.4": version "4.27.4" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz" - integrity sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q== + resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz" + integrity sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug== "@rtsao/scc@^1.1.0": version "1.1.0" @@ -1383,17 +1355,16 @@ aggregate-error@^3.0.0: indent-string "^4.0.0" ai@^4.0.18: - version "4.0.18" - resolved "https://registry.npmjs.org/ai/-/ai-4.0.18.tgz" - integrity sha512-BTWzalLNE1LQphEka5xzJXDs5v4xXy1Uzr7dAVk+C/CnO3WNpuMBgrCymwUv0VrWaWc8xMQuh+OqsT7P7JyekQ== - dependencies: - "@ai-sdk/provider" "1.0.2" - "@ai-sdk/provider-utils" "2.0.4" - "@ai-sdk/react" "1.0.6" - "@ai-sdk/ui-utils" "1.0.5" + version "4.3.19" + resolved "https://registry.npmjs.org/ai/-/ai-4.3.19.tgz" + integrity sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q== + dependencies: + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" + "@ai-sdk/react" "1.2.12" + "@ai-sdk/ui-utils" "1.2.11" "@opentelemetry/api" "1.9.0" jsondiffpatch "0.6.0" - zod-to-json-schema "^3.23.5" ajv-formats@^3.0.1: version "3.0.1" @@ -1469,23 +1440,6 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -appdmg@^0.6.4: - version "0.6.6" - resolved "https://registry.npmjs.org/appdmg/-/appdmg-0.6.6.tgz" - integrity sha512-GRmFKlCG+PWbcYF4LUNonTYmy0GjguDy6Jh9WP8mpd0T6j80XIJyXBiWlD0U+MLNhqV9Nhx49Gl9GpVToulpLg== - dependencies: - async "^1.4.2" - ds-store "^0.1.5" - execa "^1.0.0" - fs-temp "^1.0.0" - fs-xattr "^0.3.0" - image-size "^0.7.4" - is-my-json-valid "^2.20.0" - minimist "^1.1.3" - parse-color "^1.0.0" - path-exists "^4.0.0" - repeat-string "^1.5.4" - arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" @@ -1589,11 +1543,6 @@ asar@^3.0.0: optionalDependencies: "@types/glob" "^7.1.1" -async@^1.4.2: - version "1.5.2" - resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" @@ -1641,13 +1590,6 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -"base32-encode@^0.1.0 || ^1.0.0": - version "1.2.0" - resolved "https://registry.npmjs.org/base32-encode/-/base32-encode-1.2.0.tgz" - integrity sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A== - dependencies: - to-data-view "^1.1.0" - base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" @@ -1710,13 +1652,6 @@ boolean@^3.0.1: resolved "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== -bplist-creator@~0.0.3: - version "0.0.8" - resolved "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz" - integrity sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA== - dependencies: - stream-buffers "~2.2.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -1965,20 +1900,6 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -client-only@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" - integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - cliui@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" @@ -2007,11 +1928,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-convert@~0.5.0: - version "0.5.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz" - integrity sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" @@ -2363,7 +2279,7 @@ depd@2.0.0: resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -2446,15 +2362,6 @@ dot-prop@^9.0.0: dependencies: type-fest "^4.18.2" -ds-store@^0.1.5: - version "0.1.6" - resolved "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz" - integrity sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw== - dependencies: - bplist-creator "~0.0.3" - macos-alias "~0.2.5" - tn1150 "^0.1.0" - eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" @@ -2465,37 +2372,6 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-installer-common@^0.10.2: - version "0.10.3" - resolved "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.3.tgz" - integrity sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA== - dependencies: - "@malept/cross-spawn-promise" "^1.0.0" - asar "^3.0.0" - debug "^4.1.1" - fs-extra "^9.0.0" - glob "^7.1.4" - lodash "^4.17.15" - parse-author "^2.0.0" - semver "^7.1.1" - tmp-promise "^3.0.2" - optionalDependencies: - "@types/fs-extra" "^9.0.1" - -electron-installer-debian@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.2.0.tgz" - integrity sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw== - dependencies: - "@malept/cross-spawn-promise" "^1.0.0" - debug "^4.1.1" - electron-installer-common "^0.10.2" - fs-extra "^9.0.0" - get-folder-size "^2.0.1" - lodash "^4.17.4" - word-wrap "^1.2.3" - yargs "^16.0.2" - electron-installer-dmg@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-5.0.1.tgz" @@ -2507,19 +2383,6 @@ electron-installer-dmg@^5.0.1: optionalDependencies: appdmg "^0.6.4" -electron-installer-redhat@^3.2.0: - version "3.4.0" - resolved "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz" - integrity sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw== - dependencies: - "@malept/cross-spawn-promise" "^1.0.0" - debug "^4.1.1" - electron-installer-common "^0.10.2" - fs-extra "^9.0.0" - lodash "^4.17.15" - word-wrap "^1.2.3" - yargs "^16.0.2" - electron-log@^5.2.4: version "5.2.4" resolved "https://registry.npmjs.org/electron-log/-/electron-log-5.2.4.tgz" @@ -2558,7 +2421,7 @@ electron-winstaller@^5.3.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@33.2.0: +electron@^33.2.0: version "33.2.0" resolved "https://registry.npmjs.org/electron/-/electron-33.2.0.tgz" integrity sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA== @@ -2577,11 +2440,6 @@ emoji-regex@^9.2.2: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" @@ -2952,11 +2810,6 @@ eventemitter3@^5.0.1: resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -eventsource-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz" - integrity sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA== - execa@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" @@ -3190,13 +3043,6 @@ flora-colossus@^2.0.0: debug "^4.3.4" fs-extra "^10.1.0" -fmix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz" - integrity sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w== - dependencies: - imul "^1.0.0" - for-each@^0.3.3: version "0.3.3" resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" @@ -3309,28 +3155,11 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: dependencies: minipass "^3.0.0" -fs-temp@^1.0.0: - version "1.2.1" - resolved "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz" - integrity sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w== - dependencies: - random-path "^0.1.0" - -fs-xattr@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz" - integrity sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA== - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -3360,25 +3189,6 @@ galactus@^1.0.0: flora-colossus "^2.0.0" fs-extra "^10.1.0" -gar@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz" - integrity sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w== - -generate-function@^2.0.0: - version "2.3.1" - resolved "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz" - integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== - dependencies: - is-property "^1.0.2" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" - integrity sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ== - dependencies: - is-property "^1.0.0" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -3389,14 +3199,6 @@ get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-folder-size@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz" - integrity sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA== - dependencies: - gar "^1.0.4" - tiny-each-async "2.0.3" - get-installed-path@^2.0.3: version "2.1.1" resolved "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz" @@ -3819,11 +3621,6 @@ ignore@^5.2.0: resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -image-size@^0.7.4: - version "0.7.5" - resolved "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz" - integrity sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g== - import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" @@ -3832,11 +3629,6 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -imul@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz" - integrity sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA== - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" @@ -4072,22 +3864,6 @@ is-map@^2.0.3: resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== -is-my-ip-valid@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz" - integrity sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg== - -is-my-json-valid@^2.20.0: - version "2.20.6" - resolved "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz" - integrity sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw== - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^5.0.0" - xtend "^4.0.0" - is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" @@ -4115,11 +3891,6 @@ is-plain-obj@^4.0.0: resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -is-property@^1.0.0, is-property@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - integrity sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g== - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" @@ -4319,11 +4090,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonpointer@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" - integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== - junk@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz" @@ -4433,7 +4199,7 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4504,13 +4270,6 @@ lucide-react@^0.460.0: resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.460.0.tgz" integrity sha512-BVtq/DykVeIvRTJvRAgCsOwaGL8Un3Bxh8MbDxMhEWlZay3T4IpEKDEpwt5KZ0KJMHzgm6jrltxlT5eXOWXDHg== -macos-alias@~0.2.5: - version "0.2.12" - resolved "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.12.tgz" - integrity sha512-yiLHa7cfJcGRFq4FrR4tMlpNHb4Vy4mWnpajlSSIFM5k4Lv8/7BbbDLzCAVogWNl0LlLhizRp1drXv0hK9h0Yw== - dependencies: - nan "^2.4.0" - make-error@^1.1.1: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" @@ -5112,7 +4871,7 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.7, minimist@^1.2.8: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.7, minimist@^1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -5218,15 +4977,6 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -"murmur-32@^0.1.0 || ^0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz" - integrity sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q== - dependencies: - encode-utf8 "^1.0.3" - fmix "^0.1.0" - imul "^1.0.0" - mz@^2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" @@ -5236,11 +4986,6 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.4.0: - version "2.22.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz" - integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== - nanoid@^3.3.7, nanoid@^3.3.8: version "3.3.8" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz" @@ -5549,13 +5294,6 @@ parse-author@^2.0.0: dependencies: author-regex "^1.0.0" -parse-color@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz" - integrity sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw== - dependencies: - color-convert "~0.5.0" - parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" @@ -5886,14 +5624,6 @@ quick-lru@^5.1.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -random-path@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz" - integrity sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw== - dependencies: - base32-encode "^0.1.0 || ^1.0.0" - murmur-32 "^0.1.0 || ^0.2.0" - range-parser@~1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" @@ -5965,7 +5695,7 @@ react-syntax-highlighter@^15.6.1: prismjs "^1.27.0" refractor "^3.6.0" -"react@^16.11.0 || ^17.0.0 || ^18.0.0", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^18 || ^19 || ^19.0.0-rc", react@^18.3.1, "react@>= 0.14.0", react@>=16.8, react@>=16.8.1, react@>=17, react@>=18: +"react@^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^18 || ^19 || ^19.0.0-rc", react@^18.3.1, "react@>= 0.14.0", react@>=16.8, react@>=16.8.1, react@>=17, react@>=18: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -6105,11 +5835,6 @@ remark-stringify@^11.0.0: mdast-util-to-markdown "^2.0.0" unified "^11.0.0" -repeat-string@^1.5.4: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -6550,10 +6275,10 @@ sprintf-js@^1.1.2, sprintf-js@^1.1.3: resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== -sqlite-vec-darwin-arm64@0.1.6: +sqlite-vec-windows-x64@0.1.6: version "0.1.6" - resolved "https://registry.npmjs.org/sqlite-vec-darwin-arm64/-/sqlite-vec-darwin-arm64-0.1.6.tgz" - integrity sha512-5duw/xhM3xE6BCQd//eAkyHgBp9FIwK6veldRhPG96dT6Zpjov3bG02RuE7JAQj0SVJYRW8bJwZ4LxqW0+Q7Dw== + resolved "https://registry.npmjs.org/sqlite-vec-windows-x64/-/sqlite-vec-windows-x64-0.1.6.tgz" + integrity sha512-Dy9/KlKJDrjuQ/RRkBqGkMZuSh5bTJDMMOFZft9VJZaXzpYxb5alpgdvD4bbKegpDdfPi2BT4+PBivsNJSlMoQ== sqlite-vec@^0.1.6: version "0.1.6" @@ -6578,11 +6303,6 @@ statuses@2.0.1: resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -stream-buffers@~2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz" - integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" @@ -6760,12 +6480,12 @@ supports-preserve-symlinks-flag@^1.0.0: integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== swr@^2.2.5: - version "2.2.5" - resolved "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz" - integrity sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg== + version "2.4.1" + resolved "https://registry.npmjs.org/swr/-/swr-2.4.1.tgz" + integrity sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA== dependencies: - client-only "^0.0.1" - use-sync-external-store "^1.2.0" + dequal "^2.0.3" + use-sync-external-store "^1.6.0" tailwindcss@^3.4.15: version "3.4.15" @@ -6870,11 +6590,6 @@ tildify@2.0.0: resolved "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz" integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== -tiny-each-async@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz" - integrity sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA== - tmp-promise@^3.0.2: version "3.0.3" resolved "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz" @@ -6887,18 +6602,6 @@ tmp@^0.2.0: resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz" integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== -tn1150@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz" - integrity sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w== - dependencies: - unorm "^1.4.1" - -to-data-view@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz" - integrity sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" @@ -7171,11 +6874,6 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unorm@^1.4.1: - version "1.6.0" - resolved "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz" - integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== - unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" @@ -7196,7 +6894,12 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -use-sync-external-store@^1.2.0, use-sync-external-store@1.2.2: +use-sync-external-store@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz" + integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== + +use-sync-external-store@1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz" integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw== @@ -7360,7 +7063,7 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -word-wrap@^1.2.3, word-wrap@^1.2.5: +word-wrap@^1.2.5: version "1.2.5" resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== @@ -7447,29 +7150,11 @@ yaml@^2.3.4: resolved "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz" integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^16.0.2: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^17.0.1: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" @@ -7509,15 +7194,15 @@ yocto-queue@^0.1.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zod-to-json-schema@^3.23.5: - version "3.24.1" - resolved "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz" - integrity sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w== +zod-to-json-schema@^3.24.1: + version "3.25.2" + resolved "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz" + integrity sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA== -zod@^3.0.0, zod@^3.24.1: - version "3.24.1" - resolved "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz" - integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A== +zod@^3.0.0, zod@^3.23.8, "zod@^3.25.28 || ^4": + version "3.25.76" + resolved "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz" + integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== zustand@^4.4.0: version "4.5.5"