@theia/ai-anthropic 1.73.0-next.7 → 1.73.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-preferences.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,YAAY,0CAA0C,CAAC;AACpE,eAAO,MAAM,WAAW,0CAA0C,CAAC;AACnE,eAAO,MAAM,qBAAqB,sDAAsD,CAAC;AAEzF,eAAO,MAAM,0BAA0B,EAAE,gBAkFxC,CAAC"}
1
+ {"version":3,"file":"anthropic-preferences.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,YAAY,0CAA0C,CAAC;AACpE,eAAO,MAAM,WAAW,0CAA0C,CAAC;AACnE,eAAO,MAAM,qBAAqB,sDAAsD,CAAC;AAEzF,eAAO,MAAM,0BAA0B,EAAE,gBAoFxC,CAAC"}
@@ -34,9 +34,11 @@ exports.AnthropicPreferencesSchema = {
34
34
  description: core_1.nls.localize('theia/ai/anthropic/models/description', 'Official Anthropic models to use'),
35
35
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
36
36
  default: [
37
+ 'claude-opus-4-8',
37
38
  'claude-opus-4-7',
38
39
  'claude-sonnet-4-6',
39
40
  'claude-haiku-4-5',
41
+ 'claude-fable-5',
40
42
  'claude-opus-4-6',
41
43
  ],
42
44
  items: {
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-preferences.js","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,uFAA0F;AAC1F,sCAAoE;AAEvD,QAAA,YAAY,GAAG,uCAAuC,CAAC;AACvD,QAAA,WAAW,GAAG,uCAAuC,CAAC;AACtD,QAAA,qBAAqB,GAAG,mDAAmD,CAAC;AAE5E,QAAA,0BAA0B,GAAqB;IACxD,UAAU,EAAE;QACR,CAAC,oBAAY,CAAC,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,uCAAuC,EACrE;oHACoG,CAAC,GAAG,qBAAc;YAC1H,KAAK,EAAE,+CAAyB;SACnC;QACD,CAAC,mBAAW,CAAC,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,kCAAkC,CAAC;YACtG,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE;gBACL,iBAAiB;gBACjB,mBAAmB;gBACnB,kBAAkB;gBAClB,iBAAiB;aACpB;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,6BAAqB,CAAC,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,+CAAyB;YAChC,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAChF;;;;;;;;;;;;;;8HAc8G,CAAC;YACnH,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAAE,UAAU,CAAC;qBACtF;oBACD,GAAG,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAAE,iEAAiE,CAAC;qBACzI;oBACD,EAAE,EAAE;wBACA,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,6CAA6C,EAAE,0EAA0E,CAAC;qBACjJ;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;wBAC3B,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EACjE,wGAAwG,CAAC;qBAChH;oBACD,eAAe,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,0DAA0D,EAC1E,uEAAuE,CAAC;qBAC/E;oBACD,UAAU,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,qDAAqD,EACrE,wEAAwE,CAAC;qBAChF;oBACD,UAAU,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,qDAAqD,EACrE,8DAA8D,CAAC;qBACtE;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"anthropic-preferences.js","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,uFAA0F;AAC1F,sCAAoE;AAEvD,QAAA,YAAY,GAAG,uCAAuC,CAAC;AACvD,QAAA,WAAW,GAAG,uCAAuC,CAAC;AACtD,QAAA,qBAAqB,GAAG,mDAAmD,CAAC;AAE5E,QAAA,0BAA0B,GAAqB;IACxD,UAAU,EAAE;QACR,CAAC,oBAAY,CAAC,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,uCAAuC,EACrE;oHACoG,CAAC,GAAG,qBAAc;YAC1H,KAAK,EAAE,+CAAyB;SACnC;QACD,CAAC,mBAAW,CAAC,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,kCAAkC,CAAC;YACtG,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE;gBACL,iBAAiB;gBACjB,iBAAiB;gBACjB,mBAAmB;gBACnB,kBAAkB;gBAClB,gBAAgB;gBAChB,iBAAiB;aACpB;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,6BAAqB,CAAC,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,+CAAyB;YAChC,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAChF;;;;;;;;;;;;;;8HAc8G,CAAC;YACnH,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAAE,UAAU,CAAC;qBACtF;oBACD,GAAG,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAAE,iEAAiE,CAAC;qBACzI;oBACD,EAAE,EAAE;wBACA,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,6CAA6C,EAAE,0EAA0E,CAAC;qBACjJ;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;wBAC3B,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EACjE,wGAAwG,CAAC;qBAChH;oBACD,eAAe,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,0DAA0D,EAC1E,uEAAuE,CAAC;qBAC/E;oBACD,UAAU,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,qDAAqD,EACrE,wEAAwE,CAAC;qBAChF;oBACD,UAAU,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,qDAAqD,EACrE,8DAA8D,CAAC;qBACtE;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC"}
@@ -1,8 +1,14 @@
1
- import { LanguageModel, LanguageModelRequest, LanguageModelResponse, LanguageModelStatus, LanguageModelStreamResponse, LanguageModelTextResponse, ReasoningApi, ReasoningSupport, UserRequest } from '@theia/ai-core';
1
+ import { LanguageModel, LanguageModelRequest, LanguageModelResponse, LanguageModelStatus, LanguageModelStreamResponse, LanguageModelTextResponse, ReasoningApi, ReasoningSupport, ServerToolDescriptor, UserRequest } from '@theia/ai-core';
2
2
  import { CancellationToken } from '@theia/core';
3
3
  import { Anthropic } from '@anthropic-ai/sdk';
4
4
  import type { MessageParam } from '@anthropic-ai/sdk/resources';
5
5
  export declare const DEFAULT_MAX_TOKENS = 4096;
6
+ /**
7
+ * Key under which the raw Anthropic server tool result block is stored on the server tool call's `data`,
8
+ * so it can be reconstructed faithfully on replay. The human-readable `result` summary is kept separately
9
+ * for rendering (see {@link buildServerToolResultPart}).
10
+ */
11
+ export declare const ANTHROPIC_RESULT_BLOCK_DATA_KEY = "anthropicResultBlock";
6
12
  export declare function mergeConsecutiveSameRoleMessages(messages: MessageParam[]): MessageParam[];
7
13
  /**
8
14
  * If possible adds a cache control to the last message in the conversation.
@@ -32,11 +38,16 @@ export declare class AnthropicModel implements LanguageModel {
32
38
  reasoningApi?: ReasoningApi | undefined;
33
39
  supportsXHighEffort?: boolean | undefined;
34
40
  maxInputTokens?: number | undefined;
35
- constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, useCaching: boolean, apiKey: () => string | undefined, url: string | undefined, maxTokens?: number, maxRetries?: number, proxy?: string | undefined, reasoningSupport?: ReasoningSupport | undefined, reasoningApi?: ReasoningApi | undefined, supportsXHighEffort?: boolean | undefined, maxInputTokens?: number | undefined);
41
+ serverTools?: ServerToolDescriptor[] | undefined;
42
+ /** Provider identifier, used to key per-provider settings (e.g. server tool selections) and the capabilities UI. */
43
+ readonly vendor = "anthropic";
44
+ constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, useCaching: boolean, apiKey: () => string | undefined, url: string | undefined, maxTokens?: number, maxRetries?: number, proxy?: string | undefined, reasoningSupport?: ReasoningSupport | undefined, reasoningApi?: ReasoningApi | undefined, supportsXHighEffort?: boolean | undefined, maxInputTokens?: number | undefined, serverTools?: ServerToolDescriptor[] | undefined);
36
45
  protected getSettings(request: LanguageModelRequest): Readonly<Record<string, unknown>>;
37
46
  request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
38
47
  protected handleStreamingRequest(anthropic: Anthropic, request: UserRequest, cancellationToken?: CancellationToken, toolMessages?: readonly Anthropic.Messages.MessageParam[]): Promise<LanguageModelStreamResponse>;
39
- protected createTools(request: LanguageModelRequest): Anthropic.Messages.Tool[] | undefined;
48
+ protected createTools(request: LanguageModelRequest): Anthropic.Messages.ToolUnion[] | undefined;
49
+ /** Translates the enabled server tool ids on the request into native Anthropic server tool params. */
50
+ protected createServerTools(request: LanguageModelRequest): Anthropic.Messages.ToolUnion[];
40
51
  protected handleNonStreamingRequest(anthropic: Anthropic, request: UserRequest): Promise<LanguageModelTextResponse>;
41
52
  protected initializeAnthropic(): Anthropic;
42
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-model.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAIH,aAAa,EAEb,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAE3B,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAGhB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAW,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAA+C,YAAY,EAAwC,MAAM,6BAA6B,CAAC;AAInJ,eAAO,MAAM,kBAAkB,OAAO,CAAC;AA8EvC,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAwBzF;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CA2B3H;AAED,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAwC3E;;;GAGG;AACH,qBAAa,cAAe,YAAW,aAAa;aAG5B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,OAAO;IACxB,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;IAChC,GAAG,EAAE,MAAM,GAAG,SAAS;IACvB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,CAAC,EAAE,MAAM;IACd,gBAAgB,CAAC,EAAE,gBAAgB;IACnC,YAAY,CAAC,EAAE,YAAY;IAC3B,mBAAmB,CAAC,EAAE,OAAO;IAC7B,cAAc,CAAC,EAAE,MAAM;gBAbd,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,OAAO,EACxB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,GAAE,MAA2B,EACtC,UAAU,GAAE,MAAU,EACtB,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,gBAAgB,CAAC,EAAE,gBAAgB,YAAA,EACnC,YAAY,CAAC,EAAE,YAAY,YAAA,EAC3B,mBAAmB,CAAC,EAAE,OAAO,YAAA,EAC7B,cAAc,CAAC,EAAE,MAAM,YAAA;IAGlC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOjF,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAkB1F,sBAAsB,CAClC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,YAAY,CAAC,EAAE,SAAS,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAC1D,OAAO,CAAC,2BAA2B,CAAC;IA0JvC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS;cAiB3E,yBAAyB,CACrC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,yBAAyB,CAAC;IAiCrC,SAAS,CAAC,mBAAmB,IAAI,SAAS;CAW7C"}
1
+ {"version":3,"file":"anthropic-language-model.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.AnthropicModel = exports.AnthropicModelIdentifier = exports.DEFAULT_MAX_TOKENS = void 0;
18
+ exports.AnthropicModel = exports.AnthropicModelIdentifier = exports.ANTHROPIC_RESULT_BLOCK_DATA_KEY = exports.DEFAULT_MAX_TOKENS = void 0;
19
19
  exports.mergeConsecutiveSameRoleMessages = mergeConsecutiveSameRoleMessages;
20
20
  exports.addCacheControlToLastMessage = addCacheControlToLastMessage;
21
21
  const ai_core_1 = require("@theia/ai-core");
@@ -23,7 +23,14 @@ const core_1 = require("@theia/core");
23
23
  const sdk_1 = require("@anthropic-ai/sdk");
24
24
  const node_1 = require("@theia/ai-core/lib/node");
25
25
  const anthropic_reasoning_1 = require("./anthropic-reasoning");
26
+ const anthropic_server_tools_1 = require("./anthropic-server-tools");
26
27
  exports.DEFAULT_MAX_TOKENS = 4096;
28
+ /**
29
+ * Key under which the raw Anthropic server tool result block is stored on the server tool call's `data`,
30
+ * so it can be reconstructed faithfully on replay. The human-readable `result` summary is kept separately
31
+ * for rendering (see {@link buildServerToolResultPart}).
32
+ */
33
+ exports.ANTHROPIC_RESULT_BLOCK_DATA_KEY = 'anthropicResultBlock';
27
34
  const createMessageContent = (message) => {
28
35
  if (ai_core_1.LanguageModelMessage.isTextMessage(message)) {
29
36
  return [{ type: 'text', text: message.text }];
@@ -37,6 +44,41 @@ const createMessageContent = (message) => {
37
44
  else if (ai_core_1.LanguageModelMessage.isToolResultMessage(message)) {
38
45
  return [{ type: 'tool_result', tool_use_id: message.tool_use_id, content: formatToolCallResult(message.content) }];
39
46
  }
47
+ else if (ai_core_1.LanguageModelMessage.isServerToolUseMessage(message)) {
48
+ // Reconstruct the server tool invocation and its result so Anthropic can replay the prior turn.
49
+ // The raw provider result block was stored on the message's `data` (see buildServerToolResultPart);
50
+ // fall back to `result` for forward compatibility if it is missing.
51
+ const useBlock = {
52
+ type: 'server_tool_use',
53
+ id: message.id,
54
+ name: message.name,
55
+ input: message.input
56
+ };
57
+ let resultContent = message.result;
58
+ const rawBlock = message.data?.[exports.ANTHROPIC_RESULT_BLOCK_DATA_KEY];
59
+ if (rawBlock) {
60
+ try {
61
+ resultContent = JSON.parse(rawBlock);
62
+ }
63
+ catch {
64
+ // keep message.result as the fallback
65
+ }
66
+ }
67
+ if (message.name === anthropic_server_tools_1.ANTHROPIC_WEB_SEARCH) {
68
+ const resultBlock = {
69
+ type: 'web_search_tool_result',
70
+ tool_use_id: message.id,
71
+ content: resultContent
72
+ };
73
+ return [useBlock, resultBlock];
74
+ }
75
+ const fetchResultBlock = {
76
+ type: 'web_fetch_tool_result',
77
+ tool_use_id: message.id,
78
+ content: resultContent
79
+ };
80
+ return [useBlock, fetchResultBlock];
81
+ }
40
82
  else if (ai_core_1.LanguageModelMessage.isImageMessage(message)) {
41
83
  if (ai_core_1.ImageContent.isBase64(message.image)) {
42
84
  return [{ type: 'image', source: { type: 'base64', media_type: mimeTypeToMediaType(message.image.mimeType), data: message.image.base64data } }];
@@ -183,12 +225,30 @@ function formatToolCallResult(result) {
183
225
  }
184
226
  return result;
185
227
  }
228
+ /**
229
+ * Builds a finished server tool call stream part from a provider result block. The raw block is stored on
230
+ * `data` for faithful replay, while `result` holds a compact, human-readable summary for rendering (the raw
231
+ * fetched document / search payload would otherwise render as an unreadable JSON blob).
232
+ */
233
+ function buildServerToolResultPart(serverToolCalls, toolUseId, nativeName, result, rawContent) {
234
+ const matching = serverToolCalls.find(call => call.id === toolUseId);
235
+ return {
236
+ server_tool_calls: [{
237
+ id: toolUseId,
238
+ name: matching?.name ?? nativeName,
239
+ arguments: matching?.args,
240
+ finished: true,
241
+ result,
242
+ data: { [exports.ANTHROPIC_RESULT_BLOCK_DATA_KEY]: JSON.stringify(rawContent) }
243
+ }]
244
+ };
245
+ }
186
246
  /**
187
247
  * Implements the Anthropic language model integration for Theia. Reasoning-level
188
248
  * translation lives in {@link anthropicReasoningFor}.
189
249
  */
190
250
  class AnthropicModel {
191
- constructor(id, model, status, enableStreaming, useCaching, apiKey, url, maxTokens = exports.DEFAULT_MAX_TOKENS, maxRetries = 3, proxy, reasoningSupport, reasoningApi, supportsXHighEffort, maxInputTokens) {
251
+ constructor(id, model, status, enableStreaming, useCaching, apiKey, url, maxTokens = exports.DEFAULT_MAX_TOKENS, maxRetries = 3, proxy, reasoningSupport, reasoningApi, supportsXHighEffort, maxInputTokens, serverTools) {
192
252
  this.id = id;
193
253
  this.model = model;
194
254
  this.status = status;
@@ -203,6 +263,9 @@ class AnthropicModel {
203
263
  this.reasoningApi = reasoningApi;
204
264
  this.supportsXHighEffort = supportsXHighEffort;
205
265
  this.maxInputTokens = maxInputTokens;
266
+ this.serverTools = serverTools;
267
+ /** Provider identifier, used to key per-provider settings (e.g. server tool selections) and the capabilities UI. */
268
+ this.vendor = 'anthropic';
206
269
  }
207
270
  getSettings(request) {
208
271
  return {
@@ -234,6 +297,13 @@ class AnthropicModel {
234
297
  anthropicMessages = addCacheControlToLastMessage(anthropicMessages);
235
298
  }
236
299
  const tools = this.createTools(request);
300
+ if (request.deferredToolIds?.length && tools) {
301
+ console.debug('Anthropic: converted tools for deferred loading:', tools.map(tool => ({
302
+ name: 'name' in tool ? tool.name : undefined,
303
+ type: 'type' in tool ? tool.type : 'custom',
304
+ defer_loading: 'defer_loading' in tool ? tool.defer_loading : undefined
305
+ })));
306
+ }
237
307
  const params = {
238
308
  max_tokens: this.maxTokens,
239
309
  messages: anthropicMessages,
@@ -252,6 +322,9 @@ class AnthropicModel {
252
322
  async *[Symbol.asyncIterator]() {
253
323
  const toolCalls = [];
254
324
  let toolCall;
325
+ // Server tools are executed by Anthropic; we surface their invocations/results but do not call any client handler.
326
+ const serverToolCalls = [];
327
+ let serverToolCall;
255
328
  const currentMessages = [];
256
329
  let currentMessage = undefined;
257
330
  let currentOutputTokens = 0;
@@ -270,6 +343,40 @@ class AnthropicModel {
270
343
  toolCall = { name: contentBlock.name, args: '', id: contentBlock.id, index: event.index };
271
344
  yield { tool_calls: [{ finished: false, id: toolCall.id, function: { name: toolCall.name, arguments: toolCall.args } }] };
272
345
  }
346
+ if (contentBlock.type === 'server_tool_use') {
347
+ // The deferred-tool search invocation also arrives as `server_tool_use`; it is handled by Anthropic
348
+ // internally and must not be surfaced to the UI as a server tool call.
349
+ if (contentBlock.name === 'tool_search_tool_bm25') {
350
+ console.debug('Anthropic: received deferred tool stream block:', contentBlock);
351
+ }
352
+ else {
353
+ serverToolCall = { name: contentBlock.name, args: '', id: contentBlock.id, index: event.index };
354
+ yield { server_tool_calls: [{ id: serverToolCall.id, name: serverToolCall.name, arguments: '', finished: false }] };
355
+ }
356
+ }
357
+ if (contentBlock.type === 'web_fetch_tool_result') {
358
+ // Result blocks are delivered complete (not streamed). Surface them as a finished server tool call.
359
+ const fetchContent = contentBlock.content;
360
+ const result = fetchContent.type === 'web_fetch_result'
361
+ ? { content: [{ type: 'text', text: `Fetched ${fetchContent.url}${fetchContent.content.title ? ` — ${fetchContent.content.title}` : ''}` }] }
362
+ : (0, ai_core_1.createToolCallError)(`Web fetch failed: ${fetchContent.error_code}`);
363
+ yield buildServerToolResultPart(serverToolCalls, contentBlock.tool_use_id, anthropic_server_tools_1.ANTHROPIC_WEB_FETCH, result, fetchContent);
364
+ }
365
+ if (contentBlock.type === 'web_search_tool_result') {
366
+ const searchContent = contentBlock.content;
367
+ let result;
368
+ if (Array.isArray(searchContent)) {
369
+ const lines = searchContent.map(entry => [entry.title, entry.url].filter(Boolean).join(' — ')).filter(line => line.length > 0);
370
+ result = { content: [{ type: 'text', text: lines.length > 0 ? lines.join('\n') : 'No search results.' }] };
371
+ }
372
+ else {
373
+ result = (0, ai_core_1.createToolCallError)(`Web search failed: ${searchContent.error_code}`);
374
+ }
375
+ yield buildServerToolResultPart(serverToolCalls, contentBlock.tool_use_id, anthropic_server_tools_1.ANTHROPIC_WEB_SEARCH, result, searchContent);
376
+ }
377
+ if (contentBlock.type === 'tool_search_tool_result') {
378
+ console.debug('Anthropic: received deferred tool stream block:', contentBlock);
379
+ }
273
380
  }
274
381
  else if (event.type === 'content_block_delta') {
275
382
  const delta = event.delta;
@@ -286,12 +393,20 @@ class AnthropicModel {
286
393
  toolCall.args += delta.partial_json;
287
394
  yield { tool_calls: [{ function: { arguments: delta.partial_json } }] };
288
395
  }
396
+ if (serverToolCall && delta.type === 'input_json_delta') {
397
+ serverToolCall.args += delta.partial_json;
398
+ yield { server_tool_calls: [{ id: serverToolCall.id, name: serverToolCall.name, arguments: serverToolCall.args, finished: false }] };
399
+ }
289
400
  }
290
401
  else if (event.type === 'content_block_stop') {
291
402
  if (toolCall && toolCall.index === event.index) {
292
403
  toolCalls.push(toolCall);
293
404
  toolCall = undefined;
294
405
  }
406
+ if (serverToolCall && serverToolCall.index === event.index) {
407
+ serverToolCalls.push(serverToolCall);
408
+ serverToolCall = undefined;
409
+ }
295
410
  }
296
411
  else if (event.type === 'message_delta') {
297
412
  currentOutputTokens = event.usage.output_tokens;
@@ -367,20 +482,37 @@ class AnthropicModel {
367
482
  return { stream: asyncIterator };
368
483
  }
369
484
  createTools(request) {
370
- if (request.tools?.length === 0) {
371
- return undefined;
372
- }
373
- const tools = request.tools?.map(tool => ({
485
+ const deferred = new Set(request.deferredToolIds ?? []);
486
+ const tools = (request.tools ?? []).map(tool => ({
374
487
  name: tool.name,
375
488
  description: tool.description,
376
- input_schema: tool.parameters
489
+ input_schema: { ...tool.parameters, type: 'object' },
490
+ defer_loading: deferred.has(tool.id) ? true : undefined
377
491
  }));
378
- if (this.useCaching) {
379
- if (tools?.length) {
380
- tools[tools.length - 1].cache_control = { type: 'ephemeral' };
381
- }
492
+ if (deferred.size > 0) {
493
+ tools.push({
494
+ type: 'tool_search_tool_bm25',
495
+ name: 'tool_search_tool_bm25'
496
+ });
497
+ }
498
+ // Cache the client tools as before; server tools are appended afterwards.
499
+ if (this.useCaching && tools.length) {
500
+ tools[tools.length - 1].cache_control = { type: 'ephemeral' };
501
+ }
502
+ tools.push(...this.createServerTools(request));
503
+ return tools.length > 0 ? tools : undefined;
504
+ }
505
+ /** Translates the enabled server tool ids on the request into native Anthropic server tool params. */
506
+ createServerTools(request) {
507
+ const enabled = request.serverTools ?? [];
508
+ const serverTools = [];
509
+ if (enabled.includes(anthropic_server_tools_1.ANTHROPIC_WEB_FETCH)) {
510
+ serverTools.push({ type: 'web_fetch_20250910', name: 'web_fetch' });
511
+ }
512
+ if (enabled.includes(anthropic_server_tools_1.ANTHROPIC_WEB_SEARCH)) {
513
+ serverTools.push({ type: 'web_search_20250305', name: 'web_search' });
382
514
  }
383
- return tools;
515
+ return serverTools;
384
516
  }
385
517
  async handleNonStreamingRequest(anthropic, request) {
386
518
  const settings = this.getSettings(request);
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-model.js","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-language-model.js","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,14 @@ const REASONING_SUPPORT = {
22
22
  supportedLevels: ['off', 'minimal', 'low', 'medium', 'high', 'auto'],
23
23
  defaultLevel: 'auto'
24
24
  };
25
- /** Test helper that exposes the otherwise protected getSettings() method. */
25
+ /** Test helper that exposes the otherwise protected getSettings()/createTools() methods. */
26
26
  class TestableAnthropicModel extends anthropic_language_model_1.AnthropicModel {
27
27
  callGetSettings(request) {
28
28
  return this.getSettings(request);
29
29
  }
30
+ callCreateTools(request) {
31
+ return this.createTools(request);
32
+ }
30
33
  }
31
34
  function createReasoningModel(modelId, reasoningApi, supportsXHighEffort = false) {
32
35
  return new TestableAnthropicModel('test-id', modelId, { status: 'ready' }, true, false, () => 'test-key', undefined, anthropic_language_model_1.DEFAULT_MAX_TOKENS, 3, undefined, REASONING_SUPPORT, reasoningApi, supportsXHighEffort);
@@ -59,6 +62,10 @@ describe('AnthropicModel', () => {
59
62
  (0, chai_1.expect)(model.maxTokens).to.equal(anthropic_language_model_1.DEFAULT_MAX_TOKENS);
60
63
  (0, chai_1.expect)(model.maxRetries).to.equal(5);
61
64
  });
65
+ it('exposes the anthropic vendor (used to key server tool selections and the capabilities UI)', () => {
66
+ const model = createNonReasoningModel('claude-opus-4-5');
67
+ (0, chai_1.expect)(model.vendor).to.equal('anthropic');
68
+ });
62
69
  it('should set custom url when provided', () => {
63
70
  const model = new anthropic_language_model_1.AnthropicModel('test-id', 'claude-3-opus-20240229', {
64
71
  status: 'ready'
@@ -501,5 +508,130 @@ describe('AnthropicModel', () => {
501
508
  (0, chai_1.expect)(result.thinking).to.equal(undefined);
502
509
  });
503
510
  });
511
+ describe('server tools', () => {
512
+ it('createTools injects native params only for enabled server tool ids', () => {
513
+ const model = createNonReasoningModel('claude-opus-4-5');
514
+ const tools = model.callCreateTools({ messages: [], tools: [], serverTools: ['web_fetch', 'web_search'] });
515
+ (0, chai_1.expect)(tools).to.deep.include({ type: 'web_fetch_20250910', name: 'web_fetch' });
516
+ (0, chai_1.expect)(tools).to.deep.include({ type: 'web_search_20250305', name: 'web_search' });
517
+ });
518
+ it('createTools omits server tools that are not enabled', () => {
519
+ const model = createNonReasoningModel('claude-opus-4-5');
520
+ const tools = model.callCreateTools({ messages: [], tools: [], serverTools: ['web_fetch'] });
521
+ (0, chai_1.expect)(tools?.some(tool => 'type' in tool && tool.type === 'web_fetch_20250910')).to.be.true;
522
+ (0, chai_1.expect)(tools?.some(tool => 'type' in tool && tool.type === 'web_search_20250305')).to.be.false;
523
+ });
524
+ it('createTools returns undefined when neither client nor server tools are present', () => {
525
+ const model = createNonReasoningModel('claude-opus-4-5');
526
+ (0, chai_1.expect)(model.callCreateTools({ messages: [], tools: [] })).to.equal(undefined);
527
+ });
528
+ it('surfaces a finished server tool call from server_tool_use + web_fetch_tool_result blocks', async () => {
529
+ const resultContent = { type: 'web_fetch_result', url: 'https://example.com', content: { type: 'document' } };
530
+ const events = [
531
+ { type: 'message_start', message: { usage: { input_tokens: 10, output_tokens: 0 } } },
532
+ { type: 'content_block_start', index: 0, content_block: { type: 'server_tool_use', id: 'srv-1', name: 'web_fetch', input: {} } },
533
+ { type: 'content_block_delta', index: 0, delta: { type: 'input_json_delta', partial_json: '{"url":"https://example.com"}' } },
534
+ { type: 'content_block_stop', index: 0 },
535
+ { type: 'content_block_start', index: 1, content_block: { type: 'web_fetch_tool_result', tool_use_id: 'srv-1', content: resultContent } },
536
+ { type: 'content_block_stop', index: 1 },
537
+ { type: 'message_delta', delta: { stop_reason: 'end_turn' }, usage: { output_tokens: 5 } },
538
+ { type: 'message_stop' },
539
+ ];
540
+ const model = new class extends anthropic_language_model_1.AnthropicModel {
541
+ initializeAnthropic() {
542
+ return buildMockAnthropicStream(events);
543
+ }
544
+ }('test-id', 'claude-opus-4-5', { status: 'ready' }, true, false, () => 'test-key', undefined);
545
+ const parts = await collectParts(model, 'fetch https://example.com');
546
+ const serverParts = parts.filter(ai_core_1.isServerToolCallResponsePart);
547
+ const finished = serverParts.flatMap(p => p.server_tool_calls).find(c => c.finished);
548
+ (0, chai_1.expect)(finished).to.not.be.undefined;
549
+ (0, chai_1.expect)(finished.id).to.equal('srv-1');
550
+ (0, chai_1.expect)(finished.name).to.equal('web_fetch');
551
+ (0, chai_1.expect)(finished.arguments).to.equal('{"url":"https://example.com"}');
552
+ // The result is a compact, human-readable summary for rendering...
553
+ (0, chai_1.expect)(finished.result).to.deep.equal({ content: [{ type: 'text', text: 'Fetched https://example.com' }] });
554
+ // ...while the raw provider block is preserved on `data` for faithful replay.
555
+ (0, chai_1.expect)(JSON.parse(finished.data[anthropic_language_model_1.ANTHROPIC_RESULT_BLOCK_DATA_KEY])).to.deep.equal(resultContent);
556
+ });
557
+ it('reconstructs the server tool blocks from a ServerToolUseMessage on replay', async () => {
558
+ let capturedParams;
559
+ const model = new class extends anthropic_language_model_1.AnthropicModel {
560
+ initializeAnthropic() {
561
+ return {
562
+ messages: {
563
+ stream: (params) => {
564
+ capturedParams = params;
565
+ async function* iterate() { }
566
+ const iter = iterate();
567
+ iter.on = () => { };
568
+ iter.abort = () => { };
569
+ return iter;
570
+ }
571
+ }
572
+ };
573
+ }
574
+ }('test-id', 'claude-opus-4-5', { status: 'ready' }, true, false, () => 'test-key', undefined);
575
+ const rawBlock = { type: 'web_fetch_result', url: 'https://example.com', content: { type: 'document', title: 'Example' } };
576
+ const request = {
577
+ messages: [
578
+ { actor: 'user', type: 'text', text: 'hi' },
579
+ {
580
+ actor: 'ai', type: 'server_tool_use', id: 'srv-1', name: 'web_fetch',
581
+ input: { url: 'https://example.com' },
582
+ // The renderable summary lives on result; the faithful raw block lives on data.
583
+ result: { content: [{ type: 'text', text: 'Fetched https://example.com' }] },
584
+ data: { [anthropic_language_model_1.ANTHROPIC_RESULT_BLOCK_DATA_KEY]: JSON.stringify(rawBlock) }
585
+ }
586
+ ],
587
+ agentId: 'test', sessionId: 'session', requestId: 'req'
588
+ };
589
+ const response = await model.request(request);
590
+ if ('stream' in response) {
591
+ // drain to ensure stream() is invoked
592
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
593
+ for await (const _part of response.stream) { /* no-op */ }
594
+ }
595
+ const allBlocks = (capturedParams?.messages ?? []).flatMap(m => Array.isArray(m.content) ? m.content : []);
596
+ (0, chai_1.expect)(allBlocks.some(b => b.type === 'server_tool_use' && b.id === 'srv-1')).to.be.true;
597
+ const resultBlock = allBlocks.find(b => b.type === 'web_fetch_tool_result' && b.tool_use_id === 'srv-1');
598
+ (0, chai_1.expect)(resultBlock).to.not.be.undefined;
599
+ // The raw block from `data` is reconstructed faithfully (not the rendering summary).
600
+ (0, chai_1.expect)(resultBlock.content).to.deep.equal(rawBlock);
601
+ });
602
+ });
504
603
  });
604
+ /** Builds a mock Anthropic client whose messages.stream() yields the supplied raw events. */
605
+ function buildMockAnthropicStream(anthropicEvents) {
606
+ return {
607
+ messages: {
608
+ stream: (_params) => {
609
+ async function* iterate() {
610
+ for (const event of anthropicEvents) {
611
+ yield event;
612
+ }
613
+ }
614
+ const iter = iterate();
615
+ iter.on = () => { };
616
+ iter.abort = () => { };
617
+ return iter;
618
+ }
619
+ }
620
+ };
621
+ }
622
+ async function collectParts(model, text) {
623
+ const request = {
624
+ messages: [{ actor: 'user', type: 'text', text }],
625
+ serverTools: ['web_fetch'],
626
+ agentId: 'test', sessionId: 'session', requestId: 'req'
627
+ };
628
+ const response = await model.request(request);
629
+ const parts = [];
630
+ if ('stream' in response) {
631
+ for await (const part of response.stream) {
632
+ parts.push(part);
633
+ }
634
+ }
635
+ return parts;
636
+ }
505
637
  //# sourceMappingURL=anthropic-language-model.spec.js.map