chore: add claude 3.7 support (#1678)

This commit is contained in:
Marcus Schiesser
2025-02-25 15:18:45 +07:00
committed by GitHub
parent d952e68ec4
commit 3564244ced
11 changed files with 366 additions and 84 deletions
+6
View File
@@ -0,0 +1,6 @@
---
"@llamaindex/anthropic": minor
"@llamaindex/examples": patch
---
Add support for claude 3.7 thinking (and set default temperature to 1)
+6
View File
@@ -0,0 +1,6 @@
---
"@llamaindex/anthropic": patch
"@llamaindex/examples": patch
---
add support for claude 3.7
+1 -1
View File
@@ -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({
+2 -2
View File
@@ -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);
})();
+1 -1
View File
@@ -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({
+1 -1
View File
@@ -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(
+1 -1
View File
@@ -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: [
+25
View File
@@ -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);
})();
+1 -1
View File
@@ -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"
+44 -28
View File
@@ -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;
+278 -49
View File
@@ -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'