From 3564244ced64b4f77d3b828a18642207eb13d989 Mon Sep 17 00:00:00 2001 From: Marcus Schiesser <mail@marcusschiesser.de> Date: Tue, 25 Feb 2025 15:18:45 +0700 Subject: [PATCH] chore: add claude 3.7 support (#1678) --- .changeset/ninety-walls-sort.md | 6 + .changeset/tricky-ties-film.md | 6 + examples/anthropic/agent.ts | 2 +- examples/anthropic/chat.ts | 4 +- examples/anthropic/chat_interactive.ts | 2 +- examples/anthropic/prompt-caching.ts | 2 +- examples/anthropic/stream.ts | 2 +- examples/anthropic/thinking.ts | 25 ++ packages/providers/anthropic/package.json | 2 +- packages/providers/anthropic/src/llm.ts | 72 +++-- pnpm-lock.yaml | 327 ++++++++++++++++++---- 11 files changed, 366 insertions(+), 84 deletions(-) create mode 100644 .changeset/ninety-walls-sort.md create mode 100644 .changeset/tricky-ties-film.md create mode 100644 examples/anthropic/thinking.ts diff --git a/.changeset/ninety-walls-sort.md b/.changeset/ninety-walls-sort.md new file mode 100644 index 000000000..254b1b021 --- /dev/null +++ b/.changeset/ninety-walls-sort.md @@ -0,0 +1,6 @@ +--- +"@llamaindex/anthropic": minor +"@llamaindex/examples": patch +--- + +Add support for claude 3.7 thinking (and set default temperature to 1) diff --git a/.changeset/tricky-ties-film.md b/.changeset/tricky-ties-film.md new file mode 100644 index 000000000..43564da31 --- /dev/null +++ b/.changeset/tricky-ties-film.md @@ -0,0 +1,6 @@ +--- +"@llamaindex/anthropic": patch +"@llamaindex/examples": patch +--- + +add support for claude 3.7 diff --git a/examples/anthropic/agent.ts b/examples/anthropic/agent.ts index 5d146e104..8391b44ca 100644 --- a/examples/anthropic/agent.ts +++ b/examples/anthropic/agent.ts @@ -8,7 +8,7 @@ Settings.callbackManager.on("llm-tool-call", (event) => { const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, - model: "claude-3-5-sonnet", + model: "claude-3-7-sonnet", }); const agent = new AnthropicAgent({ diff --git a/examples/anthropic/chat.ts b/examples/anthropic/chat.ts index 5663d91ea..50720935c 100644 --- a/examples/anthropic/chat.ts +++ b/examples/anthropic/chat.ts @@ -3,7 +3,7 @@ import { Anthropic } from "@llamaindex/anthropic"; (async () => { const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, - model: "claude-3-opus", + model: "claude-3-7-sonnet", }); const result = await anthropic.chat({ messages: [ @@ -15,5 +15,5 @@ import { Anthropic } from "@llamaindex/anthropic"; }, ], }); - console.log(result); + console.log(result.message.content); })(); diff --git a/examples/anthropic/chat_interactive.ts b/examples/anthropic/chat_interactive.ts index d4ee02fb7..00a3a6fc0 100644 --- a/examples/anthropic/chat_interactive.ts +++ b/examples/anthropic/chat_interactive.ts @@ -6,7 +6,7 @@ import readline from "node:readline/promises"; (async () => { const llm = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, - model: "claude-3-opus", + model: "claude-3-7-sonnet", }); // chatHistory will store all the messages in the conversation const chatHistory = new ChatMemoryBuffer({ diff --git a/examples/anthropic/prompt-caching.ts b/examples/anthropic/prompt-caching.ts index e7d371c50..145f755ea 100644 --- a/examples/anthropic/prompt-caching.ts +++ b/examples/anthropic/prompt-caching.ts @@ -2,7 +2,7 @@ import { Anthropic } from "@llamaindex/anthropic"; async function main() { const anthropic = new Anthropic({ - model: "claude-3-5-sonnet-20241022", + model: "claude-3-7-sonnet", }); const entireBook = await fetch( diff --git a/examples/anthropic/stream.ts b/examples/anthropic/stream.ts index 17b07bc55..7562f4c46 100644 --- a/examples/anthropic/stream.ts +++ b/examples/anthropic/stream.ts @@ -3,7 +3,7 @@ import { Anthropic } from "@llamaindex/anthropic"; (async () => { const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, - model: "claude-3-5-sonnet", + model: "claude-3-7-sonnet", }); const stream = await anthropic.chat({ messages: [ diff --git a/examples/anthropic/thinking.ts b/examples/anthropic/thinking.ts new file mode 100644 index 000000000..3901a4eaf --- /dev/null +++ b/examples/anthropic/thinking.ts @@ -0,0 +1,25 @@ +import { Anthropic } from "@llamaindex/anthropic"; + +(async () => { + const anthropic = new Anthropic({ + apiKey: process.env.ANTHROPIC_API_KEY, + model: "claude-3-7-sonnet", + maxTokens: 20000, + additionalChatOptions: { + thinking: { + type: "enabled", + budget_tokens: 16000, + }, + }, + }); + const result = await anthropic.chat({ + messages: [ + { + role: "user", + content: + "Are there an infinite number of prime numbers such that n mod 4 == 3?", + }, + ], + }); + console.log(result.message); +})(); diff --git a/packages/providers/anthropic/package.json b/packages/providers/anthropic/package.json index b47e4a443..63a8989cf 100644 --- a/packages/providers/anthropic/package.json +++ b/packages/providers/anthropic/package.json @@ -35,7 +35,7 @@ "vitest": "^2.1.5" }, "dependencies": { - "@anthropic-ai/sdk": "0.32.1", + "@anthropic-ai/sdk": "0.37.0", "@llamaindex/core": "workspace:*", "@llamaindex/env": "workspace:*", "remeda": "^2.17.3" diff --git a/packages/providers/anthropic/src/llm.ts b/packages/providers/anthropic/src/llm.ts index dd2f6414d..0cd80a183 100644 --- a/packages/providers/anthropic/src/llm.ts +++ b/packages/providers/anthropic/src/llm.ts @@ -6,6 +6,8 @@ import type { } from "@anthropic-ai/sdk/resources/beta/index"; import type { TextBlock } from "@anthropic-ai/sdk/resources/index"; import type { + MessageCreateParams, + MessageCreateParamsBase, MessageParam, Model, Tool, @@ -102,10 +104,17 @@ export const ALL_AVAILABLE_V3_5_MODELS = { "claude-3-5-haiku-20241022": { contextWindow: 200000 }, }; +export const ALL_AVAILABLE_V3_7_MODELS = { + "claude-3-7-sonnet": { contextWindow: 200000 }, + "claude-3-7-sonnet-20250219": { contextWindow: 200000 }, + "claude-3-7-sonnet-latest": { contextWindow: 200000 }, +}; + export const ALL_AVAILABLE_ANTHROPIC_MODELS = { ...ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS, ...ALL_AVAILABLE_V3_MODELS, ...ALL_AVAILABLE_V3_5_MODELS, + ...ALL_AVAILABLE_V3_7_MODELS, } satisfies { [key in Model]: { contextWindow: number }; }; @@ -115,9 +124,13 @@ const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = { "claude-3-sonnet": "claude-3-sonnet-20240229", "claude-3-haiku": "claude-3-haiku-20240307", "claude-3-5-sonnet": "claude-3-5-sonnet-20240620", + "claude-3-7-sonnet": "claude-3-7-sonnet-20250219", } as { [key in keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS]: string }; -export type AnthropicAdditionalChatOptions = object; +export type AnthropicAdditionalChatOptions = Pick< + MessageCreateParamsBase, + "thinking" +>; export type AnthropicToolCallLLMMessageOptions = ToolCallLLMMessageOptions & { cache_control?: BetaCacheControlEphemeral | null; }; @@ -129,8 +142,9 @@ export class Anthropic extends ToolCallLLM< // Per completion Anthropic params model: keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS | ({} & string); temperature: number; - topP: number; + topP?: number | undefined; maxTokens?: number | undefined; + additionalChatOptions?: AnthropicAdditionalChatOptions | undefined; // Anthropic session params apiKey?: string | undefined; @@ -141,13 +155,14 @@ export class Anthropic extends ToolCallLLM< constructor(init?: Partial<Anthropic>) { super(); this.model = init?.model ?? "claude-3-opus"; - this.temperature = init?.temperature ?? 0.1; - this.topP = init?.topP ?? 0.999; // Per Ben Mann + this.temperature = init?.temperature ?? 1; // default in anthropic is 1 + this.topP = init?.topP; this.maxTokens = init?.maxTokens ?? undefined; this.apiKey = init?.apiKey ?? undefined; this.maxRetries = init?.maxRetries ?? 10; this.timeout = init?.timeout ?? 60 * 1000; // Default is 60 seconds + this.additionalChatOptions = init?.additionalChatOptions; this.session = init?.session ?? getAnthropicSession({ @@ -165,7 +180,7 @@ export class Anthropic extends ToolCallLLM< return { model: this.model, temperature: this.temperature, - topP: this.topP, + topP: this.topP ?? 0, // XXX: topP needs to be returned but might be undefined for Anthropic maxTokens: this.maxTokens, contextWindow: this.model in ALL_AVAILABLE_ANTHROPIC_MODELS @@ -365,8 +380,14 @@ export class Anthropic extends ToolCallLLM< @wrapLLMEvent async chat( params: - | LLMChatParamsNonStreaming<AnthropicToolCallLLMMessageOptions> - | LLMChatParamsStreaming<AnthropicToolCallLLMMessageOptions>, + | LLMChatParamsNonStreaming< + AnthropicAdditionalChatOptions, + AnthropicToolCallLLMMessageOptions + > + | LLMChatParamsStreaming< + AnthropicAdditionalChatOptions, + AnthropicToolCallLLMMessageOptions + >, ): Promise< | ChatResponse<AnthropicToolCallLLMMessageOptions> | AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>> @@ -407,28 +428,29 @@ export class Anthropic extends ToolCallLLM< anthropic = anthropic.beta.promptCaching; } - if (stream) { - if (tools) { - console.error("Tools are not supported in streaming mode"); - } - return this.streamChat( - messages.filter((m) => m.role !== "system"), - systemPrompt, - anthropic, - ); - } - - const apiParams = { + const apiParams: MessageCreateParams = { model: this.getModelName(this.model), messages: this.mergeConsecutiveMessages( this.formatMessages(messages.filter((m) => m.role !== "system")), ), max_tokens: this.maxTokens ?? 4096, temperature: this.temperature, - top_p: this.topP, + ...(this.topP ? { top_p: this.topP } : {}), ...(systemPrompt && { system: systemPrompt }), + ...Object.assign( + {}, + this.additionalChatOptions, + params.additionalChatOptions, + ), }; + if (stream) { + if (tools) { + console.error("Tools are not supported in streaming mode"); + } + return this.streamChat(anthropic, apiParams); + } + if (tools?.length) { Object.assign(apiParams, { tools: this.prepareToolsForAPI(tools), @@ -472,18 +494,12 @@ export class Anthropic extends ToolCallLLM< } protected async *streamChat( - messages: ChatMessage<AnthropicToolCallLLMMessageOptions>[], - systemPrompt: string | Array<BetaTextBlockParam> | null, anthropic: SDKAnthropic, + params: MessageCreateParams, ): AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>> { const stream = await anthropic.messages.create({ - model: this.getModelName(this.model), - messages: this.formatMessages(messages), - max_tokens: this.maxTokens ?? 4096, - temperature: this.temperature, - top_p: this.topP, + ...params, stream: true, - ...(systemPrompt && { system: systemPrompt }), }); let idx_counter: number = 0; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8f40eb6e..d9590046f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,7 +117,7 @@ importers: version: 1.6.0(@aws-sdk/credential-provider-web-identity@3.744.0) ai: specifier: ^3.4.33 - version: 3.4.33(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2) + version: 3.4.33(openai@4.83.0(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2) class-variance-authority: specifier: ^0.7.0 version: 0.7.1 @@ -372,7 +372,7 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: ^0.5.28 - version: 0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2)) + version: 0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2)) '@cloudflare/workers-types': specifier: ^4.20241112.0 version: 4.20250204.0 @@ -387,7 +387,7 @@ importers: version: 5.7.2 vitest: specifier: 2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2) wrangler: specifier: ^3.87.0 version: 3.108.1(@cloudflare/workers-types@4.20250204.0)(bufferutil@4.0.9) @@ -403,10 +403,10 @@ importers: version: 5.7.2 vite: specifier: ^5.4.12 - version: 5.4.14(@types/node@22.9.0)(terser@5.38.2) + version: 5.4.14(@types/node@22.13.5)(terser@5.38.2) vite-plugin-wasm: specifier: ^3.3.0 - version: 3.4.1(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2)) + version: 3.4.1(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2)) e2e/examples/nextjs-agent: dependencies: @@ -542,7 +542,7 @@ importers: version: 5.7.2 vite: specifier: ^6.1.0 - version: 6.1.0(@types/node@22.9.0)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) + version: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) e2e/examples/waku-query-engine: dependencies: @@ -563,7 +563,7 @@ importers: version: 19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1) waku: specifier: 0.21.20 - version: 0.21.20(@swc/helpers@0.5.15)(@types/node@22.9.0)(jiti@2.4.2)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) + version: 0.21.20(@swc/helpers@0.5.15)(@types/node@22.13.5)(jiti@2.4.2)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) devDependencies: '@types/react': specifier: 18.3.12 @@ -777,7 +777,7 @@ importers: version: 2.10.2(@types/react@18.3.12)(react@19.0.0) openai: specifier: ^4 - version: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + version: 4.83.0(ws@8.18.0)(zod@3.24.2) typedoc: specifier: ^0.26.11 version: 0.26.11(typescript@5.7.2) @@ -829,7 +829,7 @@ importers: version: link:../../../llamaindex openai: specifier: ^4.73.1 - version: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + version: 4.83.0(ws@8.18.0)(zod@3.24.2) devDependencies: tsx: specifier: ^4.19.0 @@ -989,7 +989,7 @@ importers: version: link:.. vitest: specifier: ^2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2) packages/env: dependencies: @@ -1118,7 +1118,7 @@ importers: version: link:.. vitest: specifier: ^2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2) packages/node-parser: dependencies: @@ -1151,8 +1151,8 @@ importers: packages/providers/anthropic: dependencies: '@anthropic-ai/sdk': - specifier: 0.32.1 - version: 0.32.1 + specifier: 0.37.0 + version: 0.37.0 '@llamaindex/core': specifier: workspace:* version: link:../../core @@ -1168,7 +1168,7 @@ importers: version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3) vitest: specifier: ^2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2) packages/providers/clip: dependencies: @@ -1339,7 +1339,7 @@ importers: version: link:../../env openai: specifier: ^4.83.0 - version: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + version: 4.83.0(ws@8.18.0)(zod@3.24.2) devDependencies: bunchee: specifier: 6.3.4 @@ -1443,7 +1443,7 @@ importers: version: link:../../../env chromadb: specifier: 1.10.3 - version: 1.10.3(cohere-ai@7.14.0)(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2)) + version: 1.10.3(cohere-ai@7.14.0)(openai@4.83.0) chromadb-default-embed: specifier: ^2.13.2 version: 2.13.2 @@ -1491,7 +1491,7 @@ importers: version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3) vitest: specifier: ^2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2) packages/providers/storage/mongodb: dependencies: @@ -1576,7 +1576,7 @@ importers: version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3) vitest: specifier: ^2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2) packages/providers/storage/upstash: dependencies: @@ -1781,10 +1781,10 @@ importers: version: 18.3.1 msw: specifier: ^2.6.5 - version: 2.7.0(@types/node@22.9.0)(typescript@5.7.3) + version: 2.7.0(@types/node@22.13.5)(typescript@5.7.3) vitest: specifier: ^2.1.5 - version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2) + version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2) packages: @@ -1897,8 +1897,8 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@anthropic-ai/sdk@0.32.1': - resolution: {integrity: sha512-U9JwTrDvdQ9iWuABVsMLj8nJVwAyQz6QXvgLsVhryhCEPkLsbcP/MXxm+jYcAwLoV8ESbaTTjnD4kuAFa+Hyjg==} + '@anthropic-ai/sdk@0.37.0': + resolution: {integrity: sha512-tHjX2YbkUBwEgg0JZU3EFSSAQPoK4qQR/NFYa8Vtzd5UAyXzZksCw2In69Rml4R/TyHPBfRYaLK35XiOe33pjw==} '@apidevtools/json-schema-ref-parser@11.9.1': resolution: {integrity: sha512-OvyhwtYaWSTfo8NfibmFlgl+pIMaBOmN0OwZ3CPaGscEK3B8FCVDuQ7zgxY8seU/1kfSvNWnyB0DtKJyNLxX7g==} @@ -5109,6 +5109,12 @@ packages: '@types/node@18.19.75': resolution: {integrity: sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==} + '@types/node@18.19.76': + resolution: {integrity: sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==} + + '@types/node@22.13.5': + resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} + '@types/node@22.9.0': resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} @@ -6842,8 +6848,8 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} - esrap@1.4.4: - resolution: {integrity: sha512-tDN6xP/r/b3WmdpWm7LybrD252hY52IokcycPnO+WHfhFF0+n5AWtcLLK7VNV6m0uYgVRhGVs8OkZwRyfC7HzQ==} + esrap@1.4.5: + resolution: {integrity: sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -7123,6 +7129,10 @@ packages: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} + form-data@4.0.2: + resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + engines: {node: '>= 6'} + format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} @@ -11235,6 +11245,9 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici@5.28.5: resolution: {integrity: sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==} engines: {node: '>=14.0'} @@ -11965,9 +11978,9 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@anthropic-ai/sdk@0.32.1': + '@anthropic-ai/sdk@0.37.0': dependencies: - '@types/node': 18.19.75 + '@types/node': 18.19.76 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -12930,7 +12943,7 @@ snapshots: dependencies: mime: 3.0.0 - '@cloudflare/vitest-pool-workers@0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2))': + '@cloudflare/vitest-pool-workers@0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2))': dependencies: '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -12940,7 +12953,7 @@ snapshots: esbuild: 0.17.19 miniflare: 3.20241230.0(bufferutil@4.0.9) semver: 7.7.1 - vitest: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2) + vitest: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2) wrangler: 3.100.0(@cloudflare/workers-types@4.20250204.0)(bufferutil@4.0.9) zod: 3.24.2 transitivePeerDependencies: @@ -13722,12 +13735,33 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true + '@inquirer/confirm@5.1.5(@types/node@22.13.5)': + dependencies: + '@inquirer/core': 10.1.6(@types/node@22.13.5) + '@inquirer/type': 3.0.4(@types/node@22.13.5) + optionalDependencies: + '@types/node': 22.13.5 + '@inquirer/confirm@5.1.5(@types/node@22.9.0)': dependencies: '@inquirer/core': 10.1.6(@types/node@22.9.0) '@inquirer/type': 3.0.4(@types/node@22.9.0) optionalDependencies: '@types/node': 22.9.0 + optional: true + + '@inquirer/core@10.1.6(@types/node@22.13.5)': + dependencies: + '@inquirer/figures': 1.0.10 + '@inquirer/type': 3.0.4(@types/node@22.13.5) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.5 '@inquirer/core@10.1.6(@types/node@22.9.0)': dependencies: @@ -13741,12 +13775,18 @@ snapshots: yoctocolors-cjs: 2.1.2 optionalDependencies: '@types/node': 22.9.0 + optional: true '@inquirer/figures@1.0.10': {} + '@inquirer/type@3.0.4(@types/node@22.13.5)': + optionalDependencies: + '@types/node': 22.13.5 + '@inquirer/type@3.0.4(@types/node@22.9.0)': optionalDependencies: '@types/node': 22.9.0 + optional: true '@internationalized/date@3.7.0': dependencies: @@ -15864,8 +15904,8 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.9.0 - form-data: 4.0.1 + '@types/node': 18.19.76 + form-data: 4.0.2 '@types/node-forge@1.3.11': dependencies: @@ -15877,6 +15917,14 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@18.19.76': + dependencies: + undici-types: 5.26.5 + + '@types/node@22.13.5': + dependencies: + undici-types: 6.20.0 + '@types/node@22.9.0': dependencies: undici-types: 6.19.8 @@ -16066,14 +16114,14 @@ snapshots: transitivePeerDependencies: - utf-8-validate - '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@22.9.0)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.8 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.8) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.8) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.1.0(@types/node@22.9.0)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -16084,6 +16132,24 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 + '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))': + dependencies: + '@vitest/spy': 2.1.5 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + msw: 2.7.0(@types/node@22.13.5)(typescript@5.7.2) + vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2) + + '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))': + dependencies: + '@vitest/spy': 2.1.5 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + msw: 2.7.0(@types/node@22.13.5)(typescript@5.7.3) + vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2) + '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2))': dependencies: '@vitest/spy': 2.1.5 @@ -16452,7 +16518,7 @@ snapshots: dependencies: humanize-ms: 1.2.1 - ai@3.4.33(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2): + ai@3.4.33(openai@4.83.0(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.24.2) @@ -16468,7 +16534,7 @@ snapshots: secure-json-parse: 2.7.0 zod-to-json-schema: 3.24.1(zod@3.24.2) optionalDependencies: - openai: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + openai: 4.83.0(ws@8.18.0)(zod@3.24.2) react: 19.0.0 sswr: 2.1.0(svelte@5.19.10) svelte: 5.19.10 @@ -17067,13 +17133,13 @@ snapshots: transitivePeerDependencies: - bare-buffer - chromadb@1.10.3(cohere-ai@7.14.0)(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2)): + chromadb@1.10.3(cohere-ai@7.14.0)(openai@4.83.0): dependencies: cliui: 8.0.1 isomorphic-fetch: 3.0.0 optionalDependencies: cohere-ai: 7.14.0 - openai: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + openai: 4.83.0(ws@8.18.0)(zod@3.24.2) transitivePeerDependencies: - encoding @@ -17874,7 +17940,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.4.2)))(eslint@9.16.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: @@ -17896,7 +17962,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.16.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.4.2)))(eslint@9.16.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -18036,7 +18102,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@1.4.4: + esrap@1.4.5: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -18352,6 +18418,13 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + form-data@4.0.2: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + mime-types: 2.1.35 + format@0.2.2: {} formdata-node@4.4.1: @@ -20956,6 +21029,57 @@ snapshots: ms@2.1.3: {} + msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2): + dependencies: + '@bundled-es-modules/cookie': 2.0.1 + '@bundled-es-modules/statuses': 1.0.1 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 5.1.5(@types/node@22.13.5) + '@mswjs/interceptors': 0.37.6 + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/until': 2.1.0 + '@types/cookie': 0.6.0 + '@types/statuses': 2.0.5 + graphql: 16.10.0 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + strict-event-emitter: 0.5.1 + type-fest: 4.34.1 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - '@types/node' + optional: true + + msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3): + dependencies: + '@bundled-es-modules/cookie': 2.0.1 + '@bundled-es-modules/statuses': 1.0.1 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 5.1.5(@types/node@22.13.5) + '@mswjs/interceptors': 0.37.6 + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/until': 2.1.0 + '@types/cookie': 0.6.0 + '@types/statuses': 2.0.5 + graphql: 16.10.0 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + strict-event-emitter: 0.5.1 + type-fest: 4.34.1 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.7.3 + transitivePeerDependencies: + - '@types/node' + msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2): dependencies: '@bundled-es-modules/cookie': 2.0.1 @@ -21006,6 +21130,7 @@ snapshots: typescript: 5.7.3 transitivePeerDependencies: - '@types/node' + optional: true mustache@4.2.0: {} @@ -21346,7 +21471,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2): + openai@4.83.0(ws@8.18.0)(zod@3.24.2): dependencies: '@types/node': 18.19.75 '@types/node-fetch': 2.6.12 @@ -21884,7 +22009,7 @@ snapshots: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 22.9.0 + '@types/node': 22.13.5 long: 4.0.0 protobufjs@7.4.0: @@ -23256,7 +23381,7 @@ snapshots: axobject-query: 4.1.0 clsx: 2.1.1 esm-env: 1.2.2 - esrap: 1.4.4 + esrap: 1.4.5 is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.17 @@ -23740,6 +23865,8 @@ snapshots: undici-types@6.19.8: {} + undici-types@6.20.0: {} + undici@5.28.5: dependencies: '@fastify/busboy': 2.1.1 @@ -23977,6 +24104,24 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + vite-node@2.1.5(@types/node@22.13.5)(terser@5.38.2): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 1.1.2 + vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vite-node@2.1.5(@types/node@22.9.0)(terser@5.38.2): dependencies: cac: 6.7.14 @@ -23995,9 +24140,19 @@ snapshots: - supports-color - terser - vite-plugin-wasm@3.4.1(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2)): + vite-plugin-wasm@3.4.1(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2)): dependencies: - vite: 5.4.14(@types/node@22.9.0)(terser@5.38.2) + vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2) + + vite@5.4.14(@types/node@22.13.5)(terser@5.38.2): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.2 + rollup: 4.34.6 + optionalDependencies: + '@types/node': 22.13.5 + fsevents: 2.3.3 + terser: 5.38.2 vite@5.4.14(@types/node@22.9.0)(terser@5.38.2): dependencies: @@ -24009,19 +24164,93 @@ snapshots: fsevents: 2.3.3 terser: 5.38.2 - vite@6.1.0(@types/node@22.9.0)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0): + vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0): dependencies: esbuild: 0.24.2 postcss: 8.5.2 rollup: 4.34.6 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.13.5 fsevents: 2.3.3 jiti: 2.4.2 terser: 5.38.2 tsx: 4.19.2 yaml: 2.7.0 + vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2): + dependencies: + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2)) + '@vitest/pretty-format': 2.1.9 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2) + vite-node: 2.1.5(@types/node@22.13.5)(terser@5.38.2) + why-is-node-running: 2.3.0 + optionalDependencies: + '@edge-runtime/vm': 4.0.4 + '@types/node': 22.13.5 + happy-dom: 15.11.7 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2): + dependencies: + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2)) + '@vitest/pretty-format': 2.1.9 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2) + vite-node: 2.1.5(@types/node@22.13.5)(terser@5.38.2) + why-is-node-running: 2.3.0 + optionalDependencies: + '@edge-runtime/vm': 4.0.4 + '@types/node': 22.13.5 + happy-dom: 15.11.7 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2): dependencies: '@vitest/expect': 2.1.5 @@ -24119,18 +24348,18 @@ snapshots: w3c-keyname@2.2.8: {} - waku@0.21.20(@swc/helpers@0.5.15)(@types/node@22.9.0)(jiti@2.4.2)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0): + waku@0.21.20(@swc/helpers@0.5.15)(@types/node@22.13.5)(jiti@2.4.2)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0): dependencies: '@hono/node-server': 1.13.8(hono@4.7.1) '@swc/core': 1.10.16(@swc/helpers@0.5.15) - '@vitejs/plugin-react': 4.3.4(vite@6.1.0(@types/node@22.9.0)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0)) + '@vitejs/plugin-react': 4.3.4(vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0)) dotenv: 16.4.7 hono: 4.7.1 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-server-dom-webpack: 19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1) rsc-html-stream: 0.0.4 - vite: 6.1.0(@types/node@22.9.0)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@swc/helpers' - '@types/node' -- GitLab