@workglow/anthropic 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/common/Anthropic_ToolCalling.d.ts.map +1 -1
- package/dist/ai-runtime.js +8 -4
- package/dist/ai-runtime.js.map +3 -3
- package/dist/ai.js +8 -4
- package/dist/ai.js.map +3 -3
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Anthropic_ToolCalling.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_ToolCalling.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAEX,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,SAAS,EAChD,MAAM,EAAE,OAAO,GACd,GAAG,EAAE,CA0DP;AAWD,eAAO,MAAM,4BAA4B,EAAE,eAAe,CACxD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"Anthropic_ToolCalling.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_ToolCalling.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAEX,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,SAAS,EAChD,MAAM,EAAE,OAAO,GACd,GAAG,EAAE,CA0DP;AAWD,eAAO,MAAM,4BAA4B,EAAE,eAAe,CACxD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CA0IrB,CAAC"}
|
package/dist/ai-runtime.js
CHANGED
|
@@ -272,7 +272,7 @@ var Anthropic_StructuredGeneration_Stream = async (input, model, signal, emit, o
|
|
|
272
272
|
import { getLogger } from "@workglow/util/worker";
|
|
273
273
|
|
|
274
274
|
// src/ai/common/Anthropic_ToolCalling.ts
|
|
275
|
-
import { buildToolDescription, filterValidToolCalls } from "@workglow/ai/worker";
|
|
275
|
+
import { buildToolDescription, filterValidToolCalls, sanitizeToolArgs } from "@workglow/ai/worker";
|
|
276
276
|
import { parsePartialJson as parsePartialJson2 } from "@workglow/util/worker";
|
|
277
277
|
function buildAnthropicMessages(messages, prompt) {
|
|
278
278
|
if (!messages || messages.length === 0) {
|
|
@@ -418,7 +418,7 @@ var Anthropic_ToolCalling_Stream = async (input, model, signal, emit, _outputSch
|
|
|
418
418
|
toolCallsByBlockIndex.set(index, {
|
|
419
419
|
id: meta.id ?? "",
|
|
420
420
|
name: meta.name ?? "",
|
|
421
|
-
input: parsedInput
|
|
421
|
+
input: sanitizeToolArgs(parsedInput)
|
|
422
422
|
});
|
|
423
423
|
emit({
|
|
424
424
|
type: "object-delta",
|
|
@@ -438,7 +438,11 @@ var Anthropic_ToolCalling_Stream = async (input, model, signal, emit, _outputSch
|
|
|
438
438
|
finalInput = parsePartialJson2(meta.json) ?? {};
|
|
439
439
|
}
|
|
440
440
|
const id = meta.id ?? "";
|
|
441
|
-
toolCallsByBlockIndex.set(index, {
|
|
441
|
+
toolCallsByBlockIndex.set(index, {
|
|
442
|
+
id,
|
|
443
|
+
name: meta.name ?? "",
|
|
444
|
+
input: sanitizeToolArgs(finalInput)
|
|
445
|
+
});
|
|
442
446
|
emit({
|
|
443
447
|
type: "object-delta",
|
|
444
448
|
port: "toolCalls",
|
|
@@ -590,4 +594,4 @@ export {
|
|
|
590
594
|
getClient
|
|
591
595
|
};
|
|
592
596
|
|
|
593
|
-
//# debugId=
|
|
597
|
+
//# debugId=BF5CCEA6ACB7BBAA64756E2164756E21
|
package/dist/ai-runtime.js.map
CHANGED
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai/provider-utils\";\nimport { getClient } from \"./Anthropic_Client\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\n\ninterface AnthropicModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-7\", value: \"claude-opus-4-7\" },\n { label: \"claude-sonnet-4-6\", value: \"claude-sonnet-4-6\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-opus-4-6\", value: \"claude-opus-4-6\" },\n { label: \"claude-sonnet-4-5-20250929\", value: \"claude-sonnet-4-5-20250929\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(credentialKey: string): Promise<AnthropicModelListItem[]> {\n const client = await getClient({\n provider: ANTHROPIC,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: AnthropicModelListItem[] = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: m.display_name, value: m.id, description: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: AnthropicModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n capabilities: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch_Stream: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input, _model, _signal, emit) => {\n let models: AnthropicModelListItem[];\n if (!input.credential_key) {\n models = ANTHROPIC_FALLBACK;\n } else {\n models = await listAnthropicModels(input.credential_key);\n }\n models = filterLabeledModelsByQuery(models, input.query);\n emit({ type: \"finish\", data: { results: mapModelList(models) } });\n};\n",
|
|
14
14
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\n/**\n * Streaming run-fn for the `[\"text.generation\", \"json-mode\"]` capability.\n *\n * Anthropic implements structured generation via tool-use under the hood:\n * a synthetic `structured_output` tool forces the model to emit JSON conforming\n * to the output schema. We accumulate the `input_json_delta` stream events and\n * yield `object-delta` for consumers that want incremental updates. The final\n * `finish` event carries the parsed object in `finish.data.object` per the\n * documented streaming-convention exception for structured generation (CLAUDE.md\n * lines 201-205): the `StructuredGenerationTask` consumer reads the parsed\n * object from `finish.data` directly instead of accumulating deltas.\n */\nexport const Anthropic_StructuredGeneration_Stream: AiProviderRunFn<\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, outputSchema) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const schema = input.outputSchema ?? outputSchema;\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n tools: [\n {\n name: \"structured_output\",\n description: \"Output structured data conforming to the schema\",\n input_schema: schema as any,\n },\n ],\n tool_choice: { type: \"tool\" as const, name: \"structured_output\" },\n max_tokens: getMaxTokens(input, model),\n },\n { signal }\n );\n\n let accumulatedJson = \"\";\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"input_json_delta\") {\n accumulatedJson += event.delta.partial_json;\n const partial = parsePartialJson(accumulatedJson);\n if (partial !== undefined) {\n emit({ type: \"object-delta\", port: \"object\", objectDelta: partial });\n }\n }\n }\n\n let finalObject: Record<string, unknown>;\n try {\n finalObject = JSON.parse(accumulatedJson);\n } catch {\n finalObject = parsePartialJson(accumulatedJson) ?? {};\n }\n // Exception: structured generation MUST populate finish.data.object so the\n // StructuredGenerationTask consumer can read the parsed object without a\n // JSON streaming parser. See CLAUDE.md streaming-convention-exception note.\n emit({ type: \"finish\", data: { object: finalObject } as StructuredGenerationTaskOutput });\n};\n",
|
|
15
15
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { buildAnthropicMessages } from \"./Anthropic_ToolCalling\";\n\n/**\n * Inputs that the unified `[\"text.generation\"]` runFn handles. Both\n * {@link TextGenerationTask} and {@link AiChatTask} declare\n * `requires: [\"text.generation\"]`, so the capability dispatcher routes both\n * here. AiChatTask supplies a populated `messages` array; TextGenerationTask\n * (and other simple prompt callers) supply a `prompt` string only.\n */\ninterface UnifiedTextGenerationInput extends TextGenerationTaskInput {\n readonly messages?: readonly unknown[];\n readonly systemPrompt?: string;\n}\n\n/**\n * Streaming run-fn for the `[\"text.generation\"]` capability. Used by both\n * {@link TextGenerationTask} (prompt-only input) and {@link AiChatTask}\n * (full conversation history). Yields `text-delta` events on the `text` port\n * and a final empty `finish` event per the streaming convention (consumer\n * accumulates).\n *\n * Discriminates on `Array.isArray(input.messages) && input.messages.length > 0`\n * to choose the chat vs. prompt path — safe because AiChatTask always provides\n * `messages` and TextGenerationTask never does.\n */\nexport const Anthropic_TextGeneration_Stream: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionId) => {\n const logger = getLogger();\n const timerLabel = `anthropic:TextGeneration:${getModelName(model)}`;\n logger.time(timerLabel, { model: getModelName(model) });\n try {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const unified = input as UnifiedTextGenerationInput;\n const hasMessages = Array.isArray(unified.messages) && unified.messages.length > 0;\n\n const messages = hasMessages\n ? buildAnthropicMessages(\n unified.messages as Parameters<typeof buildAnthropicMessages>[0],\n unified.prompt ?? \"\"\n )\n : [{ role: \"user\" as const, content: input.prompt }];\n\n const params: Record<string, unknown> = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n };\n if (input.temperature !== undefined) params.temperature = input.temperature;\n if ((input as { topP?: number }).topP !== undefined)\n params.top_p = (input as { topP?: number }).topP;\n\n if (unified.systemPrompt) {\n params.system = sessionId\n ? [\n {\n type: \"text\",\n text: unified.systemPrompt,\n cache_control: { type: \"ephemeral\" },\n },\n ]\n : unified.systemPrompt;\n }\n\n // Prompt caching: annotate the last user message block when sessionId is present.\n if (sessionId && hasMessages && Array.isArray(messages) && messages.length > 0) {\n const last = messages[messages.length - 1] as { content: unknown };\n if (Array.isArray(last.content) && last.content.length > 0) {\n const blocks = last.content as Array<Record<string, unknown>>;\n blocks[blocks.length - 1] = {\n ...blocks[blocks.length - 1],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = (client.messages.stream as (p: unknown, o: unknown) => AsyncIterable<unknown>)(\n params,\n { signal }\n );\n\n for await (const event of stream) {\n const e = event as {\n type: string;\n delta?: { type?: string; text?: string };\n };\n if (e.type === \"content_block_delta\" && e.delta?.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: e.delta.text ?? \"\" });\n }\n }\n emit({ type: \"finish\", data: {} as TextGenerationTaskOutput });\n } finally {\n logger.timeEnd(timerLabel, { model: getModelName(model) });\n }\n};\n",
|
|
16
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ChatMessage,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport { buildToolDescription, filterValidToolCalls } from \"@workglow/ai/worker\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport function buildAnthropicMessages(\n messages: ReadonlyArray<ChatMessage> | undefined,\n prompt: unknown\n): any[] {\n if (!messages || messages.length === 0) {\n return [{ role: \"user\", content: prompt }];\n }\n const out: any[] = [];\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: b.mimeType, data: b.data },\n };\n }\n return b;\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"assistant\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"tool_use\") {\n return { type: \"tool_use\", id: b.id, name: b.name, input: b.input };\n }\n return b;\n });\n out.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\") {\n const blocks = msg.content\n .filter(\n (b): b is Extract<ChatMessage[\"content\"][number], { type: \"tool_result\" }> =>\n b.type === \"tool_result\"\n )\n .map((b) => {\n const content = b.content.map((inner) => {\n if (inner.type === \"text\") return { type: \"text\", text: inner.text };\n if (inner.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: inner.mimeType, data: inner.data },\n };\n }\n return inner;\n });\n return {\n type: \"tool_result\",\n tool_use_id: b.tool_use_id,\n content,\n ...(b.is_error ? { is_error: true } : {}),\n };\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"system\") {\n // System prompts are handled separately via params.system; skip here.\n continue;\n }\n }\n return out;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling_Stream: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionId) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n if (sessionId) {\n // Add cache_control breakpoints for Anthropic prompt caching\n if (params.system) {\n params.system = [\n {\n type: \"text\",\n text: params.system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n if (params.tools && params.tools.length > 0) {\n const lastIdx = params.tools.length - 1;\n params.tools[lastIdx] = {\n ...params.tools[lastIdx],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = client.messages.stream(params, { signal });\n\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n /** Keyed by Anthropic content block index — avoids collisions when `id` is missing during early deltas. */\n const toolCallsByBlockIndex = new Map<number, ToolCall>();\n\n const toolCallsInStreamOrder = (): ToolCall[] =>\n [...toolCallsByBlockIndex.entries()].sort((a, b) => a[0] - b[0]).map(([, tc]) => tc);\n\n /**\n * Defence-in-depth: drop tool calls whose name isn't in the declared tool\n * set before yielding to the consumer. Anthropic's tool API normally\n * respects `input.tools`, but a stray response from a model that\n * hallucinates a function name would otherwise propagate to dispatch.\n */\n const validatedToolCallsInStreamOrder = (): ToolCall[] =>\n filterValidToolCalls(toolCallsInStreamOrder(), input.tools);\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = event.content_block;\n const index = event.index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = event.index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta.text });\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n toolCallsByBlockIndex.set(index, {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: parsedInput
|
|
16
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ChatMessage,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport { buildToolDescription, filterValidToolCalls, sanitizeToolArgs } from \"@workglow/ai/worker\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport function buildAnthropicMessages(\n messages: ReadonlyArray<ChatMessage> | undefined,\n prompt: unknown\n): any[] {\n if (!messages || messages.length === 0) {\n return [{ role: \"user\", content: prompt }];\n }\n const out: any[] = [];\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: b.mimeType, data: b.data },\n };\n }\n return b;\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"assistant\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"tool_use\") {\n return { type: \"tool_use\", id: b.id, name: b.name, input: b.input };\n }\n return b;\n });\n out.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\") {\n const blocks = msg.content\n .filter(\n (b): b is Extract<ChatMessage[\"content\"][number], { type: \"tool_result\" }> =>\n b.type === \"tool_result\"\n )\n .map((b) => {\n const content = b.content.map((inner) => {\n if (inner.type === \"text\") return { type: \"text\", text: inner.text };\n if (inner.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: inner.mimeType, data: inner.data },\n };\n }\n return inner;\n });\n return {\n type: \"tool_result\",\n tool_use_id: b.tool_use_id,\n content,\n ...(b.is_error ? { is_error: true } : {}),\n };\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"system\") {\n // System prompts are handled separately via params.system; skip here.\n continue;\n }\n }\n return out;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling_Stream: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionId) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n if (sessionId) {\n // Add cache_control breakpoints for Anthropic prompt caching\n if (params.system) {\n params.system = [\n {\n type: \"text\",\n text: params.system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n if (params.tools && params.tools.length > 0) {\n const lastIdx = params.tools.length - 1;\n params.tools[lastIdx] = {\n ...params.tools[lastIdx],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = client.messages.stream(params, { signal });\n\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n /** Keyed by Anthropic content block index — avoids collisions when `id` is missing during early deltas. */\n const toolCallsByBlockIndex = new Map<number, ToolCall>();\n\n const toolCallsInStreamOrder = (): ToolCall[] =>\n [...toolCallsByBlockIndex.entries()].sort((a, b) => a[0] - b[0]).map(([, tc]) => tc);\n\n /**\n * Defence-in-depth: drop tool calls whose name isn't in the declared tool\n * set before yielding to the consumer. Anthropic's tool API normally\n * respects `input.tools`, but a stray response from a model that\n * hallucinates a function name would otherwise propagate to dispatch.\n */\n const validatedToolCallsInStreamOrder = (): ToolCall[] =>\n filterValidToolCalls(toolCallsInStreamOrder(), input.tools);\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = event.content_block;\n const index = event.index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = event.index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta.text });\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n toolCallsByBlockIndex.set(index, {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: sanitizeToolArgs(parsedInput) as Record<string, unknown>,\n });\n emit({\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: validatedToolCallsInStreamOrder(),\n });\n }\n }\n } else if (event.type === \"content_block_stop\") {\n const index = event.index as number;\n const meta = blockMeta.get(index);\n if (meta?.type === \"tool_use\") {\n let finalInput: Record<string, unknown>;\n try {\n finalInput = JSON.parse(meta.json);\n } catch {\n finalInput = (parsePartialJson(meta.json) as Record<string, unknown>) ?? {};\n }\n const id = meta.id ?? \"\";\n toolCallsByBlockIndex.set(index, {\n id,\n name: meta.name ?? \"\",\n input: sanitizeToolArgs(finalInput) as Record<string, unknown>,\n });\n emit({\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: validatedToolCallsInStreamOrder(),\n });\n }\n blockMeta.delete(index);\n }\n }\n\n emit({ type: \"finish\", data: { text: \"\", toolCalls: [] } as ToolCallingTaskOutput });\n};\n",
|
|
17
17
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, TextRewriterTaskInput, TextRewriterTaskOutput } from \"@workglow/ai\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_TextRewriter_Stream: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: input.prompt,\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: event.delta.text });\n }\n }\n emit({ type: \"finish\", data: {} as TextRewriterTaskOutput });\n};\n",
|
|
18
18
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, TextSummaryTaskInput, TextSummaryTaskOutput } from \"@workglow/ai\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_TextSummary_Stream: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: event.delta.text });\n }\n }\n emit({ type: \"finish\", data: {} as TextSummaryTaskOutput });\n};\n",
|
|
19
19
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderPreviewRunFn, AiProviderRunFnRegistration } from \"@workglow/ai\";\nimport {\n ANTHROPIC_COUNT_TOKENS,\n ANTHROPIC_JSON_MODE,\n ANTHROPIC_MODEL_INFO,\n ANTHROPIC_MODEL_SEARCH,\n ANTHROPIC_TEXT_GENERATION,\n ANTHROPIC_TEXT_REWRITER,\n ANTHROPIC_TEXT_SUMMARY,\n ANTHROPIC_TOOL_USE,\n} from \"./Anthropic_CapabilitySets\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport { getClient, getMaxTokens, getModelName, loadAnthropicSDK } from \"./Anthropic_Client\";\n\nimport {\n Anthropic_CountTokens_Preview,\n Anthropic_CountTokens_Stream,\n} from \"./Anthropic_CountTokens\";\nimport { Anthropic_ModelInfo_Stream } from \"./Anthropic_ModelInfo\";\nimport { Anthropic_ModelSearch_Stream } from \"./Anthropic_ModelSearch\";\nimport { Anthropic_StructuredGeneration_Stream } from \"./Anthropic_StructuredGeneration\";\nimport { Anthropic_TextGeneration_Stream } from \"./Anthropic_TextGeneration\";\nimport { Anthropic_TextRewriter_Stream } from \"./Anthropic_TextRewriter\";\nimport { Anthropic_TextSummary_Stream } from \"./Anthropic_TextSummary\";\nimport { Anthropic_ToolCalling_Stream } from \"./Anthropic_ToolCalling\";\n\n/**\n * Capability-set run-fn registrations for the Anthropic provider. Order is\n * significant only as a tiebreaker — the dispatcher prefers the smallest\n * `serves` set that is a superset of the task's `requires`, so the bare\n * `[\"text.generation\"]` entry wins for a plain {@link TextGenerationTask} or\n * {@link AiChatTask} while the `[\"text.generation\", \"tool-use\"]` entry wins\n * for {@link ToolCallingTask}.\n *\n * Note: Anthropic does NOT support embeddings, image generation, or image editing.\n */\nexport const ANTHROPIC_RUN_FNS: readonly AiProviderRunFnRegistration<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n AnthropicModelConfig\n>[] = [\n { serves: ANTHROPIC_TEXT_GENERATION, runFn: Anthropic_TextGeneration_Stream },\n { serves: ANTHROPIC_TOOL_USE, runFn: Anthropic_ToolCalling_Stream },\n { serves: ANTHROPIC_JSON_MODE, runFn: Anthropic_StructuredGeneration_Stream },\n { serves: ANTHROPIC_TEXT_REWRITER, runFn: Anthropic_TextRewriter_Stream },\n { serves: ANTHROPIC_TEXT_SUMMARY, runFn: Anthropic_TextSummary_Stream },\n { serves: ANTHROPIC_COUNT_TOKENS, runFn: Anthropic_CountTokens_Stream },\n { serves: ANTHROPIC_MODEL_SEARCH, runFn: Anthropic_ModelSearch_Stream },\n { serves: ANTHROPIC_MODEL_INFO, runFn: Anthropic_ModelInfo_Stream },\n];\n\nexport const ANTHROPIC_PREVIEW_TASKS: Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AiProviderPreviewRunFn<any, any, AnthropicModelConfig>\n> = {\n CountTokensTask: Anthropic_CountTokens_Preview,\n};\n",
|
|
20
20
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { registerProviderWorker } from \"@workglow/ai/provider-utils\";\nimport { AnthropicProvider } from \"./AnthropicProvider\";\nimport { ANTHROPIC_PREVIEW_TASKS, ANTHROPIC_RUN_FNS } from \"./common/Anthropic_JobRunFns\";\n\nexport async function registerAnthropicWorker(): Promise<void> {\n await registerProviderWorker(\n (ws) =>\n new AnthropicProvider(ANTHROPIC_RUN_FNS, ANTHROPIC_PREVIEW_TASKS).registerOnWorkerServer(ws),\n \"Anthropic\"\n );\n}\n",
|
|
21
21
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport type { Capability, ModelRecord } from \"@workglow/ai/worker\";\nimport { AiProvider } from \"@workglow/ai/worker\";\nimport {\n anthropicWorkerRunFnSpecs,\n inferAnthropicCapabilities,\n} from \"./common/Anthropic_Capabilities\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\n/**\n * Worker-server registration for Anthropic cloud models. Imports `AiProvider`\n * from `@workglow/ai/worker` so the SDK is only loaded in the worker.\n *\n * The class extends the {@link createCloudProviderClass} mixin (which\n * supplies `name` / `displayName` / `isLocal` / `supportsBrowser`) and adds\n * the Anthropic-specific {@link AiProvider.inferCapabilities} and\n * {@link AiProvider.workerRunFnSpecs} overrides.\n *\n * Note: Anthropic does not offer an embeddings API.\n */\nexport class AnthropicProvider extends createCloudProviderClass<AnthropicModelConfig>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n}) {\n override inferCapabilities(model: ModelRecord): readonly Capability[] {\n return inferAnthropicCapabilities(model);\n }\n\n protected override workerRunFnSpecs(): readonly { serves: readonly Capability[] }[] {\n return anthropicWorkerRunFnSpecs();\n }\n}\n"
|
|
22
22
|
],
|
|
23
|
-
"mappings": "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",
|
|
24
|
-
"debugId": "
|
|
23
|
+
"mappings": "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",
|
|
24
|
+
"debugId": "BF5CCEA6ACB7BBAA64756E2164756E21",
|
|
25
25
|
"names": []
|
|
26
26
|
}
|
package/dist/ai.js
CHANGED
|
@@ -335,7 +335,7 @@ var Anthropic_StructuredGeneration_Stream = async (input, model, signal, emit, o
|
|
|
335
335
|
import { getLogger } from "@workglow/util/worker";
|
|
336
336
|
|
|
337
337
|
// src/ai/common/Anthropic_ToolCalling.ts
|
|
338
|
-
import { buildToolDescription, filterValidToolCalls } from "@workglow/ai/worker";
|
|
338
|
+
import { buildToolDescription, filterValidToolCalls, sanitizeToolArgs } from "@workglow/ai/worker";
|
|
339
339
|
import { parsePartialJson as parsePartialJson2 } from "@workglow/util/worker";
|
|
340
340
|
function buildAnthropicMessages(messages, prompt) {
|
|
341
341
|
if (!messages || messages.length === 0) {
|
|
@@ -481,7 +481,7 @@ var Anthropic_ToolCalling_Stream = async (input, model, signal, emit, _outputSch
|
|
|
481
481
|
toolCallsByBlockIndex.set(index, {
|
|
482
482
|
id: meta.id ?? "",
|
|
483
483
|
name: meta.name ?? "",
|
|
484
|
-
input: parsedInput
|
|
484
|
+
input: sanitizeToolArgs(parsedInput)
|
|
485
485
|
});
|
|
486
486
|
emit({
|
|
487
487
|
type: "object-delta",
|
|
@@ -501,7 +501,11 @@ var Anthropic_ToolCalling_Stream = async (input, model, signal, emit, _outputSch
|
|
|
501
501
|
finalInput = parsePartialJson2(meta.json) ?? {};
|
|
502
502
|
}
|
|
503
503
|
const id = meta.id ?? "";
|
|
504
|
-
toolCallsByBlockIndex.set(index, {
|
|
504
|
+
toolCallsByBlockIndex.set(index, {
|
|
505
|
+
id,
|
|
506
|
+
name: meta.name ?? "",
|
|
507
|
+
input: sanitizeToolArgs(finalInput)
|
|
508
|
+
});
|
|
505
509
|
emit({
|
|
506
510
|
type: "object-delta",
|
|
507
511
|
port: "toolCalls",
|
|
@@ -633,4 +637,4 @@ export {
|
|
|
633
637
|
ANTHROPIC
|
|
634
638
|
};
|
|
635
639
|
|
|
636
|
-
//# debugId=
|
|
640
|
+
//# debugId=42A8E77B749596E364756E2164756E21
|
package/dist/ai.js.map
CHANGED
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_ModelInfo_Stream: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n AnthropicModelConfig\n> = async (input, _model, _signal, emit) => {\n const result: ModelInfoTaskOutput = {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n emit({ type: \"finish\", data: result });\n};\n",
|
|
15
15
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\n/**\n * Streaming run-fn for the `[\"text.generation\", \"json-mode\"]` capability.\n *\n * Anthropic implements structured generation via tool-use under the hood:\n * a synthetic `structured_output` tool forces the model to emit JSON conforming\n * to the output schema. We accumulate the `input_json_delta` stream events and\n * yield `object-delta` for consumers that want incremental updates. The final\n * `finish` event carries the parsed object in `finish.data.object` per the\n * documented streaming-convention exception for structured generation (CLAUDE.md\n * lines 201-205): the `StructuredGenerationTask` consumer reads the parsed\n * object from `finish.data` directly instead of accumulating deltas.\n */\nexport const Anthropic_StructuredGeneration_Stream: AiProviderRunFn<\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, outputSchema) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const schema = input.outputSchema ?? outputSchema;\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n tools: [\n {\n name: \"structured_output\",\n description: \"Output structured data conforming to the schema\",\n input_schema: schema as any,\n },\n ],\n tool_choice: { type: \"tool\" as const, name: \"structured_output\" },\n max_tokens: getMaxTokens(input, model),\n },\n { signal }\n );\n\n let accumulatedJson = \"\";\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"input_json_delta\") {\n accumulatedJson += event.delta.partial_json;\n const partial = parsePartialJson(accumulatedJson);\n if (partial !== undefined) {\n emit({ type: \"object-delta\", port: \"object\", objectDelta: partial });\n }\n }\n }\n\n let finalObject: Record<string, unknown>;\n try {\n finalObject = JSON.parse(accumulatedJson);\n } catch {\n finalObject = parsePartialJson(accumulatedJson) ?? {};\n }\n // Exception: structured generation MUST populate finish.data.object so the\n // StructuredGenerationTask consumer can read the parsed object without a\n // JSON streaming parser. See CLAUDE.md streaming-convention-exception note.\n emit({ type: \"finish\", data: { object: finalObject } as StructuredGenerationTaskOutput });\n};\n",
|
|
16
16
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { buildAnthropicMessages } from \"./Anthropic_ToolCalling\";\n\n/**\n * Inputs that the unified `[\"text.generation\"]` runFn handles. Both\n * {@link TextGenerationTask} and {@link AiChatTask} declare\n * `requires: [\"text.generation\"]`, so the capability dispatcher routes both\n * here. AiChatTask supplies a populated `messages` array; TextGenerationTask\n * (and other simple prompt callers) supply a `prompt` string only.\n */\ninterface UnifiedTextGenerationInput extends TextGenerationTaskInput {\n readonly messages?: readonly unknown[];\n readonly systemPrompt?: string;\n}\n\n/**\n * Streaming run-fn for the `[\"text.generation\"]` capability. Used by both\n * {@link TextGenerationTask} (prompt-only input) and {@link AiChatTask}\n * (full conversation history). Yields `text-delta` events on the `text` port\n * and a final empty `finish` event per the streaming convention (consumer\n * accumulates).\n *\n * Discriminates on `Array.isArray(input.messages) && input.messages.length > 0`\n * to choose the chat vs. prompt path — safe because AiChatTask always provides\n * `messages` and TextGenerationTask never does.\n */\nexport const Anthropic_TextGeneration_Stream: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionId) => {\n const logger = getLogger();\n const timerLabel = `anthropic:TextGeneration:${getModelName(model)}`;\n logger.time(timerLabel, { model: getModelName(model) });\n try {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const unified = input as UnifiedTextGenerationInput;\n const hasMessages = Array.isArray(unified.messages) && unified.messages.length > 0;\n\n const messages = hasMessages\n ? buildAnthropicMessages(\n unified.messages as Parameters<typeof buildAnthropicMessages>[0],\n unified.prompt ?? \"\"\n )\n : [{ role: \"user\" as const, content: input.prompt }];\n\n const params: Record<string, unknown> = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n };\n if (input.temperature !== undefined) params.temperature = input.temperature;\n if ((input as { topP?: number }).topP !== undefined)\n params.top_p = (input as { topP?: number }).topP;\n\n if (unified.systemPrompt) {\n params.system = sessionId\n ? [\n {\n type: \"text\",\n text: unified.systemPrompt,\n cache_control: { type: \"ephemeral\" },\n },\n ]\n : unified.systemPrompt;\n }\n\n // Prompt caching: annotate the last user message block when sessionId is present.\n if (sessionId && hasMessages && Array.isArray(messages) && messages.length > 0) {\n const last = messages[messages.length - 1] as { content: unknown };\n if (Array.isArray(last.content) && last.content.length > 0) {\n const blocks = last.content as Array<Record<string, unknown>>;\n blocks[blocks.length - 1] = {\n ...blocks[blocks.length - 1],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = (client.messages.stream as (p: unknown, o: unknown) => AsyncIterable<unknown>)(\n params,\n { signal }\n );\n\n for await (const event of stream) {\n const e = event as {\n type: string;\n delta?: { type?: string; text?: string };\n };\n if (e.type === \"content_block_delta\" && e.delta?.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: e.delta.text ?? \"\" });\n }\n }\n emit({ type: \"finish\", data: {} as TextGenerationTaskOutput });\n } finally {\n logger.timeEnd(timerLabel, { model: getModelName(model) });\n }\n};\n",
|
|
17
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ChatMessage,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport { buildToolDescription, filterValidToolCalls } from \"@workglow/ai/worker\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport function buildAnthropicMessages(\n messages: ReadonlyArray<ChatMessage> | undefined,\n prompt: unknown\n): any[] {\n if (!messages || messages.length === 0) {\n return [{ role: \"user\", content: prompt }];\n }\n const out: any[] = [];\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: b.mimeType, data: b.data },\n };\n }\n return b;\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"assistant\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"tool_use\") {\n return { type: \"tool_use\", id: b.id, name: b.name, input: b.input };\n }\n return b;\n });\n out.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\") {\n const blocks = msg.content\n .filter(\n (b): b is Extract<ChatMessage[\"content\"][number], { type: \"tool_result\" }> =>\n b.type === \"tool_result\"\n )\n .map((b) => {\n const content = b.content.map((inner) => {\n if (inner.type === \"text\") return { type: \"text\", text: inner.text };\n if (inner.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: inner.mimeType, data: inner.data },\n };\n }\n return inner;\n });\n return {\n type: \"tool_result\",\n tool_use_id: b.tool_use_id,\n content,\n ...(b.is_error ? { is_error: true } : {}),\n };\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"system\") {\n // System prompts are handled separately via params.system; skip here.\n continue;\n }\n }\n return out;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling_Stream: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionId) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n if (sessionId) {\n // Add cache_control breakpoints for Anthropic prompt caching\n if (params.system) {\n params.system = [\n {\n type: \"text\",\n text: params.system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n if (params.tools && params.tools.length > 0) {\n const lastIdx = params.tools.length - 1;\n params.tools[lastIdx] = {\n ...params.tools[lastIdx],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = client.messages.stream(params, { signal });\n\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n /** Keyed by Anthropic content block index — avoids collisions when `id` is missing during early deltas. */\n const toolCallsByBlockIndex = new Map<number, ToolCall>();\n\n const toolCallsInStreamOrder = (): ToolCall[] =>\n [...toolCallsByBlockIndex.entries()].sort((a, b) => a[0] - b[0]).map(([, tc]) => tc);\n\n /**\n * Defence-in-depth: drop tool calls whose name isn't in the declared tool\n * set before yielding to the consumer. Anthropic's tool API normally\n * respects `input.tools`, but a stray response from a model that\n * hallucinates a function name would otherwise propagate to dispatch.\n */\n const validatedToolCallsInStreamOrder = (): ToolCall[] =>\n filterValidToolCalls(toolCallsInStreamOrder(), input.tools);\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = event.content_block;\n const index = event.index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = event.index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta.text });\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n toolCallsByBlockIndex.set(index, {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: parsedInput
|
|
17
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ChatMessage,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport { buildToolDescription, filterValidToolCalls, sanitizeToolArgs } from \"@workglow/ai/worker\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport function buildAnthropicMessages(\n messages: ReadonlyArray<ChatMessage> | undefined,\n prompt: unknown\n): any[] {\n if (!messages || messages.length === 0) {\n return [{ role: \"user\", content: prompt }];\n }\n const out: any[] = [];\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: b.mimeType, data: b.data },\n };\n }\n return b;\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"assistant\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"tool_use\") {\n return { type: \"tool_use\", id: b.id, name: b.name, input: b.input };\n }\n return b;\n });\n out.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\") {\n const blocks = msg.content\n .filter(\n (b): b is Extract<ChatMessage[\"content\"][number], { type: \"tool_result\" }> =>\n b.type === \"tool_result\"\n )\n .map((b) => {\n const content = b.content.map((inner) => {\n if (inner.type === \"text\") return { type: \"text\", text: inner.text };\n if (inner.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: inner.mimeType, data: inner.data },\n };\n }\n return inner;\n });\n return {\n type: \"tool_result\",\n tool_use_id: b.tool_use_id,\n content,\n ...(b.is_error ? { is_error: true } : {}),\n };\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"system\") {\n // System prompts are handled separately via params.system; skip here.\n continue;\n }\n }\n return out;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling_Stream: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionId) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n if (sessionId) {\n // Add cache_control breakpoints for Anthropic prompt caching\n if (params.system) {\n params.system = [\n {\n type: \"text\",\n text: params.system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n if (params.tools && params.tools.length > 0) {\n const lastIdx = params.tools.length - 1;\n params.tools[lastIdx] = {\n ...params.tools[lastIdx],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = client.messages.stream(params, { signal });\n\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n /** Keyed by Anthropic content block index — avoids collisions when `id` is missing during early deltas. */\n const toolCallsByBlockIndex = new Map<number, ToolCall>();\n\n const toolCallsInStreamOrder = (): ToolCall[] =>\n [...toolCallsByBlockIndex.entries()].sort((a, b) => a[0] - b[0]).map(([, tc]) => tc);\n\n /**\n * Defence-in-depth: drop tool calls whose name isn't in the declared tool\n * set before yielding to the consumer. Anthropic's tool API normally\n * respects `input.tools`, but a stray response from a model that\n * hallucinates a function name would otherwise propagate to dispatch.\n */\n const validatedToolCallsInStreamOrder = (): ToolCall[] =>\n filterValidToolCalls(toolCallsInStreamOrder(), input.tools);\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = event.content_block;\n const index = event.index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = event.index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta.text });\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n toolCallsByBlockIndex.set(index, {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: sanitizeToolArgs(parsedInput) as Record<string, unknown>,\n });\n emit({\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: validatedToolCallsInStreamOrder(),\n });\n }\n }\n } else if (event.type === \"content_block_stop\") {\n const index = event.index as number;\n const meta = blockMeta.get(index);\n if (meta?.type === \"tool_use\") {\n let finalInput: Record<string, unknown>;\n try {\n finalInput = JSON.parse(meta.json);\n } catch {\n finalInput = (parsePartialJson(meta.json) as Record<string, unknown>) ?? {};\n }\n const id = meta.id ?? \"\";\n toolCallsByBlockIndex.set(index, {\n id,\n name: meta.name ?? \"\",\n input: sanitizeToolArgs(finalInput) as Record<string, unknown>,\n });\n emit({\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: validatedToolCallsInStreamOrder(),\n });\n }\n blockMeta.delete(index);\n }\n }\n\n emit({ type: \"finish\", data: { text: \"\", toolCalls: [] } as ToolCallingTaskOutput });\n};\n",
|
|
18
18
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, TextRewriterTaskInput, TextRewriterTaskOutput } from \"@workglow/ai\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_TextRewriter_Stream: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: input.prompt,\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: event.delta.text });\n }\n }\n emit({ type: \"finish\", data: {} as TextRewriterTaskOutput });\n};\n",
|
|
19
19
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, TextSummaryTaskInput, TextSummaryTaskOutput } from \"@workglow/ai\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_TextSummary_Stream: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n emit({ type: \"text-delta\", port: \"text\", textDelta: event.delta.text });\n }\n }\n emit({ type: \"finish\", data: {} as TextSummaryTaskOutput });\n};\n",
|
|
20
20
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderPreviewRunFn, AiProviderRunFnRegistration } from \"@workglow/ai\";\nimport {\n ANTHROPIC_COUNT_TOKENS,\n ANTHROPIC_JSON_MODE,\n ANTHROPIC_MODEL_INFO,\n ANTHROPIC_MODEL_SEARCH,\n ANTHROPIC_TEXT_GENERATION,\n ANTHROPIC_TEXT_REWRITER,\n ANTHROPIC_TEXT_SUMMARY,\n ANTHROPIC_TOOL_USE,\n} from \"./Anthropic_CapabilitySets\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport { getClient, getMaxTokens, getModelName, loadAnthropicSDK } from \"./Anthropic_Client\";\n\nimport {\n Anthropic_CountTokens_Preview,\n Anthropic_CountTokens_Stream,\n} from \"./Anthropic_CountTokens\";\nimport { Anthropic_ModelInfo_Stream } from \"./Anthropic_ModelInfo\";\nimport { Anthropic_ModelSearch_Stream } from \"./Anthropic_ModelSearch\";\nimport { Anthropic_StructuredGeneration_Stream } from \"./Anthropic_StructuredGeneration\";\nimport { Anthropic_TextGeneration_Stream } from \"./Anthropic_TextGeneration\";\nimport { Anthropic_TextRewriter_Stream } from \"./Anthropic_TextRewriter\";\nimport { Anthropic_TextSummary_Stream } from \"./Anthropic_TextSummary\";\nimport { Anthropic_ToolCalling_Stream } from \"./Anthropic_ToolCalling\";\n\n/**\n * Capability-set run-fn registrations for the Anthropic provider. Order is\n * significant only as a tiebreaker — the dispatcher prefers the smallest\n * `serves` set that is a superset of the task's `requires`, so the bare\n * `[\"text.generation\"]` entry wins for a plain {@link TextGenerationTask} or\n * {@link AiChatTask} while the `[\"text.generation\", \"tool-use\"]` entry wins\n * for {@link ToolCallingTask}.\n *\n * Note: Anthropic does NOT support embeddings, image generation, or image editing.\n */\nexport const ANTHROPIC_RUN_FNS: readonly AiProviderRunFnRegistration<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n AnthropicModelConfig\n>[] = [\n { serves: ANTHROPIC_TEXT_GENERATION, runFn: Anthropic_TextGeneration_Stream },\n { serves: ANTHROPIC_TOOL_USE, runFn: Anthropic_ToolCalling_Stream },\n { serves: ANTHROPIC_JSON_MODE, runFn: Anthropic_StructuredGeneration_Stream },\n { serves: ANTHROPIC_TEXT_REWRITER, runFn: Anthropic_TextRewriter_Stream },\n { serves: ANTHROPIC_TEXT_SUMMARY, runFn: Anthropic_TextSummary_Stream },\n { serves: ANTHROPIC_COUNT_TOKENS, runFn: Anthropic_CountTokens_Stream },\n { serves: ANTHROPIC_MODEL_SEARCH, runFn: Anthropic_ModelSearch_Stream },\n { serves: ANTHROPIC_MODEL_INFO, runFn: Anthropic_ModelInfo_Stream },\n];\n\nexport const ANTHROPIC_PREVIEW_TASKS: Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AiProviderPreviewRunFn<any, any, AnthropicModelConfig>\n> = {\n CountTokensTask: Anthropic_CountTokens_Preview,\n};\n",
|
|
21
21
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// organize-imports-ignore\n\nexport * from \"./common/Anthropic_Constants\";\nexport * from \"./common/Anthropic_ModelSchema\";\nexport * from \"./common/Anthropic_ModelSearch\";\nexport * from \"./registerAnthropic\";\n\nimport { AnthropicQueuedProvider } from \"./AnthropicQueuedProvider\";\nimport { ANTHROPIC_RUN_FN_SPECS } from \"./common/Anthropic_Capabilities\";\nimport { ANTHROPIC_RUN_FNS } from \"./common/Anthropic_JobRunFns\";\n\n/**\n * @internal Symbols exported only for use by `@workglow/test`. Not part of the stable public API.\n */\nexport const _testOnly = {\n AnthropicQueuedProvider,\n ANTHROPIC_RUN_FN_SPECS,\n ANTHROPIC_RUN_FNS,\n} as const;\n"
|
|
22
22
|
],
|
|
23
|
-
"mappings": "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",
|
|
24
|
-
"debugId": "
|
|
23
|
+
"mappings": "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",
|
|
24
|
+
"debugId": "42A8E77B749596E364756E2164756E21",
|
|
25
25
|
"names": []
|
|
26
26
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@workglow/anthropic",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.5",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/workglow-dev/libs.git",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"@anthropic-ai/sdk": "^0.98.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@workglow/ai": "0.3.
|
|
38
|
-
"@workglow/job-queue": "0.3.
|
|
39
|
-
"@workglow/storage": "0.3.
|
|
40
|
-
"@workglow/task-graph": "0.3.
|
|
41
|
-
"@workglow/util": "0.3.
|
|
37
|
+
"@workglow/ai": "0.3.5",
|
|
38
|
+
"@workglow/job-queue": "0.3.5",
|
|
39
|
+
"@workglow/storage": "0.3.5",
|
|
40
|
+
"@workglow/task-graph": "0.3.5",
|
|
41
|
+
"@workglow/util": "0.3.5"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@workglow/ai": {
|
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@workglow/ai": "0.3.
|
|
62
|
-
"@workglow/job-queue": "0.3.
|
|
63
|
-
"@workglow/storage": "0.3.
|
|
64
|
-
"@workglow/task-graph": "0.3.
|
|
65
|
-
"@workglow/util": "0.3.
|
|
61
|
+
"@workglow/ai": "0.3.5",
|
|
62
|
+
"@workglow/job-queue": "0.3.5",
|
|
63
|
+
"@workglow/storage": "0.3.5",
|
|
64
|
+
"@workglow/task-graph": "0.3.5",
|
|
65
|
+
"@workglow/util": "0.3.5"
|
|
66
66
|
},
|
|
67
67
|
"files": [
|
|
68
68
|
"dist",
|