@theia/ai-anthropic 1.63.0-next.24 → 1.63.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,11 +1,14 @@
1
1
  import { FrontendApplicationContribution, PreferenceService } from '@theia/core/lib/browser';
2
2
  import { AnthropicLanguageModelsManager, AnthropicModelDescription } from '../common';
3
+ import { AICorePreferences } from '@theia/ai-core/lib/browser/ai-core-preferences';
3
4
  export declare class AnthropicFrontendApplicationContribution implements FrontendApplicationContribution {
4
5
  protected preferenceService: PreferenceService;
5
6
  protected manager: AnthropicLanguageModelsManager;
7
+ protected aiCorePreferences: AICorePreferences;
6
8
  protected prevModels: string[];
7
9
  onStart(): void;
8
10
  protected handleModelChanges(newModels: string[]): void;
11
+ protected updateAllModelsWithNewRetries(): void;
9
12
  protected createAnthropicModelDescription(modelId: string): AnthropicModelDescription;
10
13
  }
11
14
  //# sourceMappingURL=anthropic-frontend-application-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/anthropic-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAetF,qBACa,wCAAyC,YAAW,+BAA+B;IAG5F,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,8BAA8B,CAAC;IAElD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpC,OAAO,IAAI,IAAI;IAmBf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB;CAoBxF"}
1
+ {"version":3,"file":"anthropic-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/anthropic-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,gDAAgD,CAAC;AAchH,qBACa,wCAAyC,YAAW,+BAA+B;IAG5F,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,8BAA8B,CAAC;IAGlD,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpC,OAAO,IAAI,IAAI;IAyBf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAK/C,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB;CAsBxF"}
@@ -21,6 +21,7 @@ const browser_1 = require("@theia/core/lib/browser");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
22
  const common_1 = require("../common");
23
23
  const anthropic_preferences_1 = require("./anthropic-preferences");
24
+ const ai_core_preferences_1 = require("@theia/ai-core/lib/browser/ai-core-preferences");
24
25
  const ANTHROPIC_PROVIDER_ID = 'anthropic';
25
26
  // Model-specific maxTokens values
26
27
  const DEFAULT_MODEL_MAX_TOKENS = {
@@ -28,7 +29,7 @@ const DEFAULT_MODEL_MAX_TOKENS = {
28
29
  'claude-3-5-haiku-latest': 8192,
29
30
  'claude-3-5-sonnet-latest': 8192,
30
31
  'claude-3-7-sonnet-latest': 64000,
31
- 'claude-opus-4-20250514': 64000,
32
+ 'claude-opus-4-20250514': 32000,
32
33
  'claude-sonnet-4-20250514': 64000
33
34
  };
34
35
  let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicationContribution {
@@ -50,6 +51,11 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
50
51
  this.handleModelChanges(event.newValue);
51
52
  }
52
53
  });
54
+ this.aiCorePreferences.onPreferenceChanged(event => {
55
+ if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
56
+ this.updateAllModelsWithNewRetries();
57
+ }
58
+ });
53
59
  });
54
60
  }
55
61
  handleModelChanges(newModels) {
@@ -61,15 +67,22 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
61
67
  this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createAnthropicModelDescription(modelId)));
62
68
  this.prevModels = newModels;
63
69
  }
70
+ updateAllModelsWithNewRetries() {
71
+ const models = this.preferenceService.get(anthropic_preferences_1.MODELS_PREF, []);
72
+ this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createAnthropicModelDescription(modelId)));
73
+ }
64
74
  createAnthropicModelDescription(modelId) {
75
+ var _a;
65
76
  const id = `${ANTHROPIC_PROVIDER_ID}/${modelId}`;
66
77
  const maxTokens = DEFAULT_MODEL_MAX_TOKENS[modelId];
78
+ const maxRetries = (_a = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES)) !== null && _a !== void 0 ? _a : 3;
67
79
  const description = {
68
80
  id: id,
69
81
  model: modelId,
70
82
  apiKey: true,
71
83
  enableStreaming: true,
72
- useCaching: true
84
+ useCaching: true,
85
+ maxRetries: maxRetries
73
86
  };
74
87
  if (maxTokens !== undefined) {
75
88
  description.maxTokens = maxTokens;
@@ -89,6 +102,10 @@ tslib_1.__decorate([
89
102
  (0, inversify_1.inject)(common_1.AnthropicLanguageModelsManager),
90
103
  tslib_1.__metadata("design:type", Object)
91
104
  ], AnthropicFrontendApplicationContribution.prototype, "manager", void 0);
105
+ tslib_1.__decorate([
106
+ (0, inversify_1.inject)(ai_core_preferences_1.AICorePreferences),
107
+ tslib_1.__metadata("design:type", Object)
108
+ ], AnthropicFrontendApplicationContribution.prototype, "aiCorePreferences", void 0);
92
109
  exports.AnthropicFrontendApplicationContribution = AnthropicFrontendApplicationContribution = tslib_1.__decorate([
93
110
  (0, inversify_1.injectable)()
94
111
  ], AnthropicFrontendApplicationContribution);
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/anthropic-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/anthropic-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,10 @@ export interface AnthropicModelDescription {
25
25
  * Maximum number of tokens to generate. Default is 4096.
26
26
  */
27
27
  maxTokens?: number;
28
+ /**
29
+ * Maximum number of retry attempts when a request fails. Default is 3.
30
+ */
31
+ maxRetries: number;
28
32
  }
29
33
  export interface AnthropicLanguageModelsManager {
30
34
  apiKey: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-language-models-manager.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AACnG,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CAEtB;AACD,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,4BAA4B,CAAC,GAAG,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACpD"}
1
+ {"version":3,"file":"anthropic-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-language-models-manager.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AACnG,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CAEtB;AACD,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,4BAA4B,CAAC,GAAG,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACpD"}
@@ -1,6 +1,7 @@
1
- import { LanguageModel, LanguageModelRequest, LanguageModelResponse, LanguageModelStreamResponse, LanguageModelTextResponse, TokenUsageService, UserRequest } from '@theia/ai-core';
1
+ import { LanguageModel, LanguageModelRequest, LanguageModelResponse, LanguageModelStreamResponse, LanguageModelTextResponse, TokenUsageService, UserRequest, ToolCallResult } from '@theia/ai-core';
2
2
  import { CancellationToken } from '@theia/core';
3
3
  import { Anthropic } from '@anthropic-ai/sdk';
4
+ import type { ToolResultBlockParam } from '@anthropic-ai/sdk/resources';
4
5
  export declare const DEFAULT_MAX_TOKENS = 4096;
5
6
  export declare const AnthropicModelIdentifier: unique symbol;
6
7
  /**
@@ -13,14 +14,12 @@ export declare class AnthropicModel implements LanguageModel {
13
14
  useCaching: boolean;
14
15
  apiKey: () => string | undefined;
15
16
  maxTokens: number;
17
+ maxRetries: number;
16
18
  protected readonly tokenUsageService?: TokenUsageService | undefined;
17
- constructor(id: string, model: string, enableStreaming: boolean, useCaching: boolean, apiKey: () => string | undefined, maxTokens?: number, tokenUsageService?: TokenUsageService | undefined);
19
+ constructor(id: string, model: string, enableStreaming: boolean, useCaching: boolean, apiKey: () => string | undefined, maxTokens?: number, maxRetries?: number, tokenUsageService?: TokenUsageService | undefined);
18
20
  protected getSettings(request: LanguageModelRequest): Readonly<Record<string, unknown>>;
19
21
  request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
20
- protected formatToolCallResult(result: unknown): string | Array<{
21
- type: 'text';
22
- text: string;
23
- }>;
22
+ protected formatToolCallResult(result: ToolCallResult): ToolResultBlockParam['content'];
24
23
  protected handleStreamingRequest(anthropic: Anthropic, request: UserRequest, cancellationToken?: CancellationToken, toolMessages?: readonly Anthropic.Messages.MessageParam[]): Promise<LanguageModelStreamResponse>;
25
24
  protected createTools(request: LanguageModelRequest): Anthropic.Messages.Tool[] | undefined;
26
25
  protected handleNonStreamingRequest(anthropic: Anthropic, request: UserRequest): Promise<LanguageModelTextResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-model.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,oBAAoB,EAEpB,qBAAqB,EACrB,2BAA2B,EAE3B,yBAAyB,EACzB,iBAAiB,EAEjB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAW,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAsFvC,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAgB3E;;GAEG;AACH,qBAAa,cAAe,YAAW,aAAa;aAG5B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,eAAe,EAAE,OAAO;IACxB,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;IAChC,SAAS,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBANrB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,OAAO,EACxB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EAChC,SAAS,GAAE,MAA2B,EAC1B,iBAAiB,CAAC,+BAAmB;IAG5D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIjF,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkB1G,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;cAiB/E,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;IA+IvC,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;IAoCrC,SAAS,CAAC,mBAAmB,IAAI,SAAS;CAQ7C"}
1
+ {"version":3,"file":"anthropic-language-model.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,oBAAoB,EAEpB,qBAAqB,EACrB,2BAA2B,EAE3B,yBAAyB,EACzB,iBAAiB,EAEjB,WAAW,EAEX,cAAc,EAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAW,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAA6E,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnJ,eAAO,MAAM,kBAAkB,OAAO,CAAC;AA2GvC,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAgB3E;;GAEG;AACH,qBAAa,cAAe,YAAW,aAAa;aAG5B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,eAAe,EAAE,OAAO;IACxB,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;IAChC,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IACzB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAPrB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,OAAO,EACxB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EAChC,SAAS,GAAE,MAA2B,EACtC,UAAU,GAAE,MAAU,EACV,iBAAiB,CAAC,+BAAmB;IAG5D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIjF,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkB1G,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC;cAwBvE,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;IA4IvC,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;IAoCrC,SAAS,CAAC,mBAAmB,IAAI,SAAS;CAQ7C"}
@@ -33,8 +33,30 @@ const createMessageContent = (message) => {
33
33
  else if (ai_core_1.LanguageModelMessage.isToolResultMessage(message)) {
34
34
  return [{ type: 'tool_result', tool_use_id: message.tool_use_id }];
35
35
  }
36
+ else if (ai_core_1.LanguageModelMessage.isImageMessage(message)) {
37
+ if (ai_core_1.ImageContent.isBase64(message.image)) {
38
+ return [{ type: 'image', source: { type: 'base64', media_type: mimeTypeToMediaType(message.image.mimeType), data: message.image.base64data } }];
39
+ }
40
+ else {
41
+ return [{ type: 'image', source: { type: 'url', url: message.image.url } }];
42
+ }
43
+ }
36
44
  throw new Error(`Unknown message type:'${JSON.stringify(message)}'`);
37
45
  };
46
+ function mimeTypeToMediaType(mimeType) {
47
+ switch (mimeType) {
48
+ case 'image/gif':
49
+ return 'image/gif';
50
+ case 'image/jpeg':
51
+ return 'image/jpeg';
52
+ case 'image/png':
53
+ return 'image/png';
54
+ case 'image/webp':
55
+ return 'image/webp';
56
+ default:
57
+ return 'image/jpeg';
58
+ }
59
+ }
38
60
  function isNonThinkingParam(content) {
39
61
  return content.type !== 'thinking' && content.type !== 'redacted_thinking';
40
62
  }
@@ -106,13 +128,14 @@ function toAnthropicRole(message) {
106
128
  * Implements the Anthropic language model integration for Theia
107
129
  */
108
130
  class AnthropicModel {
109
- constructor(id, model, enableStreaming, useCaching, apiKey, maxTokens = exports.DEFAULT_MAX_TOKENS, tokenUsageService) {
131
+ constructor(id, model, enableStreaming, useCaching, apiKey, maxTokens = exports.DEFAULT_MAX_TOKENS, maxRetries = 3, tokenUsageService) {
110
132
  this.id = id;
111
133
  this.model = model;
112
134
  this.enableStreaming = enableStreaming;
113
135
  this.useCaching = useCaching;
114
136
  this.apiKey = apiKey;
115
137
  this.maxTokens = maxTokens;
138
+ this.maxRetries = maxRetries;
116
139
  this.tokenUsageService = tokenUsageService;
117
140
  }
118
141
  getSettings(request) {
@@ -137,9 +160,18 @@ class AnthropicModel {
137
160
  }
138
161
  }
139
162
  formatToolCallResult(result) {
140
- if (typeof result === 'object' && result && 'content' in result && Array.isArray(result.content) &&
141
- result.content.every(item => typeof item === 'object' && item && 'type' in item && 'text' in item)) {
142
- return result.content;
163
+ if (typeof result === 'object' && result && 'content' in result && Array.isArray(result.content)) {
164
+ return result.content.map(content => {
165
+ if (content.type === 'text') {
166
+ return { type: 'text', text: content.text };
167
+ }
168
+ else if (content.type === 'image') {
169
+ return { type: 'image', source: { type: 'base64', data: content.base64data, media_type: mimeTypeToMediaType(content.mimeType) } };
170
+ }
171
+ else {
172
+ return { type: 'text', text: content.data };
173
+ }
174
+ });
143
175
  }
144
176
  if ((0, core_1.isArray)(result)) {
145
177
  return result.map(r => ({ type: 'text', text: r }));
@@ -166,7 +198,7 @@ class AnthropicModel {
166
198
  ...(systemMessage && { system: systemMessage }),
167
199
  ...settings
168
200
  };
169
- const stream = anthropic.messages.stream(params);
201
+ const stream = anthropic.messages.stream(params, { maxRetries: this.maxRetries });
170
202
  cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.onCancellationRequested(() => {
171
203
  stream.abort();
172
204
  });
@@ -250,10 +282,7 @@ class AnthropicModel {
250
282
  const argsObject = tc.args.length === 0 ? '{}' : tc.args;
251
283
  return { name: tc.name, result: (await (tool === null || tool === void 0 ? void 0 : tool.handler(argsObject))), id: tc.id, arguments: argsObject };
252
284
  }));
253
- const calls = toolResult.map(tr => {
254
- const resultAsString = typeof tr.result === 'string' ? tr.result : JSON.stringify(tr.result);
255
- return { finished: true, id: tr.id, result: resultAsString, function: { name: tr.name, arguments: tr.arguments } };
256
- });
285
+ const calls = toolResult.map(tr => ({ finished: true, id: tr.id, result: tr.result, function: { name: tr.name, arguments: tr.arguments } }));
257
286
  yield { tool_calls: calls };
258
287
  const toolResponseMessage = {
259
288
  role: 'user',
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=anthropic-language-model.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-language-model.spec.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const anthropic_language_model_1 = require("./anthropic-language-model");
20
+ describe('AnthropicModel', () => {
21
+ describe('constructor', () => {
22
+ it('should set default maxRetries to 3 when not provided', () => {
23
+ const model = new anthropic_language_model_1.AnthropicModel('test-id', 'claude-3-opus-20240229', true, true, () => 'test-api-key', anthropic_language_model_1.DEFAULT_MAX_TOKENS);
24
+ (0, chai_1.expect)(model.maxRetries).to.equal(3);
25
+ });
26
+ it('should set custom maxRetries when provided', () => {
27
+ const customMaxRetries = 5;
28
+ const model = new anthropic_language_model_1.AnthropicModel('test-id', 'claude-3-opus-20240229', true, true, () => 'test-api-key', anthropic_language_model_1.DEFAULT_MAX_TOKENS, customMaxRetries);
29
+ (0, chai_1.expect)(model.maxRetries).to.equal(customMaxRetries);
30
+ });
31
+ it('should preserve all other constructor parameters', () => {
32
+ const model = new anthropic_language_model_1.AnthropicModel('test-id', 'claude-3-opus-20240229', true, true, () => 'test-api-key', anthropic_language_model_1.DEFAULT_MAX_TOKENS, 5);
33
+ (0, chai_1.expect)(model.id).to.equal('test-id');
34
+ (0, chai_1.expect)(model.model).to.equal('claude-3-opus-20240229');
35
+ (0, chai_1.expect)(model.enableStreaming).to.be.true;
36
+ (0, chai_1.expect)(model.maxTokens).to.equal(anthropic_language_model_1.DEFAULT_MAX_TOKENS);
37
+ (0, chai_1.expect)(model.maxRetries).to.equal(5);
38
+ });
39
+ });
40
+ });
41
+ //# sourceMappingURL=anthropic-language-model.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-language-model.spec.js","sourceRoot":"","sources":["../../src/node/anthropic-language-model.spec.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,+BAA8B;AAC9B,yEAAgF;AAEhF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE5B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,yCAAc,CAC5B,SAAS,EACT,wBAAwB,EACxB,IAAI,EACJ,IAAI,EACJ,GAAG,EAAE,CAAC,cAAc,EACpB,6CAAkB,CACrB,CAAC;YAEF,IAAA,aAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAClD,MAAM,gBAAgB,GAAG,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,yCAAc,CAC5B,SAAS,EACT,wBAAwB,EACxB,IAAI,EACJ,IAAI,EACJ,GAAG,EAAE,CAAC,cAAc,EACpB,6CAAkB,EAClB,gBAAgB,CACnB,CAAC;YAEF,IAAA,aAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YACxD,MAAM,KAAK,GAAG,IAAI,yCAAc,CAC5B,SAAS,EACT,wBAAwB,EACxB,IAAI,EACJ,IAAI,EACJ,GAAG,EAAE,CAAC,cAAc,EACpB,6CAAkB,EAClB,CAAC,CACJ,CAAC;YAEF,IAAA,aAAM,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,IAAA,aAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvD,IAAA,aAAM,EAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACzC,IAAA,aAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAAkB,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtF,qBACa,kCAAmC,YAAW,8BAA8B;IAErF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAEK,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CpG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAO9C"}
1
+ {"version":3,"file":"anthropic-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtF,qBACa,kCAAmC,YAAW,8BAA8B;IAErF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAEK,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CpG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAO9C"}
@@ -51,10 +51,11 @@ let AnthropicLanguageModelsManagerImpl = class AnthropicLanguageModelsManagerImp
51
51
  else {
52
52
  model.maxTokens = anthropic_language_model_1.DEFAULT_MAX_TOKENS;
53
53
  }
54
+ model.maxRetries = modelDescription.maxRetries;
54
55
  }
55
56
  else {
56
57
  this.languageModelRegistry.addLanguageModels([
57
- new anthropic_language_model_1.AnthropicModel(modelDescription.id, modelDescription.model, modelDescription.enableStreaming, modelDescription.useCaching, apiKeyProvider, modelDescription.maxTokens, this.tokenUsageService)
58
+ new anthropic_language_model_1.AnthropicModel(modelDescription.id, modelDescription.model, modelDescription.enableStreaming, modelDescription.useCaching, apiKeyProvider, modelDescription.maxTokens, modelDescription.maxRetries, this.tokenUsageService)
58
59
  ]);
59
60
  }
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/anthropic-language-models-manager-impl.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,4CAA0E;AAC1E,4DAAkE;AAClE,yEAAgF;AAIzE,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAU3C,IAAI,MAAM;;QACN,OAAO,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,GAAG,iBAA8C;QAChF,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,GAAG,EAAE;gBACxB,IAAI,gBAAgB,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC;gBACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAC1B,OAAO,gBAAgB,CAAC,MAAM,CAAC;gBACnC,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC;YAEF,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,KAAK,YAAY,yCAAc,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,CAAC;oBAClF,SAAS;gBACb,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBACrC,KAAK,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC;gBACzD,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gBAC9B,IAAI,gBAAgB,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC3C,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,SAAS,GAAG,6CAAkB,CAAC;gBACzC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;oBACzC,IAAI,yCAAc,CACd,gBAAgB,CAAC,EAAE,EACnB,gBAAgB,CAAC,KAAK,EACtB,gBAAgB,CAAC,eAAe,EAChC,gBAAgB,CAAC,UAAU,EAC3B,cAAc,EACd,gBAAgB,CAAC,SAAS,EAC1B,IAAI,CAAC,iBAAiB,CACzB;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,GAAG,QAAkB;QACtC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,MAA0B;QAChC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,CAAC;IACL,CAAC;CACJ,CAAA;AAnEY,gFAAkC;AAKxB;IADlB,IAAA,kBAAM,EAAC,+BAAqB,CAAC;;iFACkC;AAG7C;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;6EAC8B;6CAR/C,kCAAkC;IAD9C,IAAA,sBAAU,GAAE;GACA,kCAAkC,CAmE9C"}
1
+ {"version":3,"file":"anthropic-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/anthropic-language-models-manager-impl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/ai-anthropic",
3
- "version": "1.63.0-next.24+83b50cc66",
3
+ "version": "1.63.0",
4
4
  "description": "Theia - Anthropic Integration",
5
5
  "dependencies": {
6
6
  "@anthropic-ai/sdk": "^0.52.0",
7
- "@theia/ai-core": "1.63.0-next.24+83b50cc66",
8
- "@theia/core": "1.63.0-next.24+83b50cc66"
7
+ "@theia/ai-core": "1.63.0",
8
+ "@theia/core": "1.63.0"
9
9
  },
10
10
  "publishConfig": {
11
11
  "access": "public"
@@ -41,10 +41,10 @@
41
41
  "watch": "theiaext watch"
42
42
  },
43
43
  "devDependencies": {
44
- "@theia/ext-scripts": "1.62.0"
44
+ "@theia/ext-scripts": "1.63.0"
45
45
  },
46
46
  "nyc": {
47
47
  "extends": "../../configs/nyc.json"
48
48
  },
49
- "gitHead": "83b50cc66b001a5b9100ccd944dcace04cd4ae2e"
49
+ "gitHead": "facf442522991134333495a0b90cf56a56990280"
50
50
  }
@@ -18,6 +18,7 @@ import { FrontendApplicationContribution, PreferenceService } from '@theia/core/
18
18
  import { inject, injectable } from '@theia/core/shared/inversify';
19
19
  import { AnthropicLanguageModelsManager, AnthropicModelDescription } from '../common';
20
20
  import { API_KEY_PREF, MODELS_PREF } from './anthropic-preferences';
21
+ import { AICorePreferences, PREFERENCE_NAME_MAX_RETRIES } from '@theia/ai-core/lib/browser/ai-core-preferences';
21
22
 
22
23
  const ANTHROPIC_PROVIDER_ID = 'anthropic';
23
24
 
@@ -27,7 +28,7 @@ const DEFAULT_MODEL_MAX_TOKENS: Record<string, number> = {
27
28
  'claude-3-5-haiku-latest': 8192,
28
29
  'claude-3-5-sonnet-latest': 8192,
29
30
  'claude-3-7-sonnet-latest': 64000,
30
- 'claude-opus-4-20250514': 64000,
31
+ 'claude-opus-4-20250514': 32000,
31
32
  'claude-sonnet-4-20250514': 64000
32
33
  };
33
34
 
@@ -40,6 +41,9 @@ export class AnthropicFrontendApplicationContribution implements FrontendApplica
40
41
  @inject(AnthropicLanguageModelsManager)
41
42
  protected manager: AnthropicLanguageModelsManager;
42
43
 
44
+ @inject(AICorePreferences)
45
+ protected aiCorePreferences: AICorePreferences;
46
+
43
47
  protected prevModels: string[] = [];
44
48
 
45
49
  onStart(): void {
@@ -58,6 +62,12 @@ export class AnthropicFrontendApplicationContribution implements FrontendApplica
58
62
  this.handleModelChanges(event.newValue as string[]);
59
63
  }
60
64
  });
65
+
66
+ this.aiCorePreferences.onPreferenceChanged(event => {
67
+ if (event.preferenceName === PREFERENCE_NAME_MAX_RETRIES) {
68
+ this.updateAllModelsWithNewRetries();
69
+ }
70
+ });
61
71
  });
62
72
  }
63
73
 
@@ -73,16 +83,23 @@ export class AnthropicFrontendApplicationContribution implements FrontendApplica
73
83
  this.prevModels = newModels;
74
84
  }
75
85
 
86
+ protected updateAllModelsWithNewRetries(): void {
87
+ const models = this.preferenceService.get<string[]>(MODELS_PREF, []);
88
+ this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createAnthropicModelDescription(modelId)));
89
+ }
90
+
76
91
  protected createAnthropicModelDescription(modelId: string): AnthropicModelDescription {
77
92
  const id = `${ANTHROPIC_PROVIDER_ID}/${modelId}`;
78
93
  const maxTokens = DEFAULT_MODEL_MAX_TOKENS[modelId];
94
+ const maxRetries = this.aiCorePreferences.get(PREFERENCE_NAME_MAX_RETRIES) ?? 3;
79
95
 
80
96
  const description: AnthropicModelDescription = {
81
97
  id: id,
82
98
  model: modelId,
83
99
  apiKey: true,
84
100
  enableStreaming: true,
85
- useCaching: true
101
+ useCaching: true,
102
+ maxRetries: maxRetries
86
103
  };
87
104
 
88
105
  if (maxTokens !== undefined) {
@@ -40,6 +40,10 @@ export interface AnthropicModelDescription {
40
40
  * Maximum number of tokens to generate. Default is 4096.
41
41
  */
42
42
  maxTokens?: number;
43
+ /**
44
+ * Maximum number of retry attempts when a request fails. Default is 3.
45
+ */
46
+ maxRetries: number;
43
47
 
44
48
  }
45
49
  export interface AnthropicLanguageModelsManager {
@@ -0,0 +1,69 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { expect } from 'chai';
18
+ import { AnthropicModel, DEFAULT_MAX_TOKENS } from './anthropic-language-model';
19
+
20
+ describe('AnthropicModel', () => {
21
+
22
+ describe('constructor', () => {
23
+ it('should set default maxRetries to 3 when not provided', () => {
24
+ const model = new AnthropicModel(
25
+ 'test-id',
26
+ 'claude-3-opus-20240229',
27
+ true,
28
+ true,
29
+ () => 'test-api-key',
30
+ DEFAULT_MAX_TOKENS
31
+ );
32
+
33
+ expect(model.maxRetries).to.equal(3);
34
+ });
35
+
36
+ it('should set custom maxRetries when provided', () => {
37
+ const customMaxRetries = 5;
38
+ const model = new AnthropicModel(
39
+ 'test-id',
40
+ 'claude-3-opus-20240229',
41
+ true,
42
+ true,
43
+ () => 'test-api-key',
44
+ DEFAULT_MAX_TOKENS,
45
+ customMaxRetries
46
+ );
47
+
48
+ expect(model.maxRetries).to.equal(customMaxRetries);
49
+ });
50
+
51
+ it('should preserve all other constructor parameters', () => {
52
+ const model = new AnthropicModel(
53
+ 'test-id',
54
+ 'claude-3-opus-20240229',
55
+ true,
56
+ true,
57
+ () => 'test-api-key',
58
+ DEFAULT_MAX_TOKENS,
59
+ 5
60
+ );
61
+
62
+ expect(model.id).to.equal('test-id');
63
+ expect(model.model).to.equal('claude-3-opus-20240229');
64
+ expect(model.enableStreaming).to.be.true;
65
+ expect(model.maxTokens).to.equal(DEFAULT_MAX_TOKENS);
66
+ expect(model.maxRetries).to.equal(5);
67
+ });
68
+ });
69
+ });
@@ -24,11 +24,14 @@ import {
24
24
  LanguageModelTextResponse,
25
25
  TokenUsageService,
26
26
  TokenUsageParams,
27
- UserRequest
27
+ UserRequest,
28
+ ImageContent,
29
+ ToolCallResult,
30
+ ImageMimeType
28
31
  } from '@theia/ai-core';
29
32
  import { CancellationToken, isArray } from '@theia/core';
30
33
  import { Anthropic } from '@anthropic-ai/sdk';
31
- import type { Message, MessageParam } from '@anthropic-ai/sdk/resources';
34
+ import type { Base64ImageSource, ImageBlockParam, Message, MessageParam, TextBlockParam, ToolResultBlockParam } from '@anthropic-ai/sdk/resources';
32
35
 
33
36
  export const DEFAULT_MAX_TOKENS = 4096;
34
37
 
@@ -48,10 +51,31 @@ const createMessageContent = (message: LanguageModelMessage): MessageParam['cont
48
51
  return [{ id: message.id, input: message.input, name: message.name, type: 'tool_use' }];
49
52
  } else if (LanguageModelMessage.isToolResultMessage(message)) {
50
53
  return [{ type: 'tool_result', tool_use_id: message.tool_use_id }];
54
+ } else if (LanguageModelMessage.isImageMessage(message)) {
55
+ if (ImageContent.isBase64(message.image)) {
56
+ return [{ type: 'image', source: { type: 'base64', media_type: mimeTypeToMediaType(message.image.mimeType), data: message.image.base64data } }];
57
+ } else {
58
+ return [{ type: 'image', source: { type: 'url', url: message.image.url } }];
59
+ }
51
60
  }
52
61
  throw new Error(`Unknown message type:'${JSON.stringify(message)}'`);
53
62
  };
54
63
 
64
+ function mimeTypeToMediaType(mimeType: ImageMimeType): Base64ImageSource['media_type'] {
65
+ switch (mimeType) {
66
+ case 'image/gif':
67
+ return 'image/gif';
68
+ case 'image/jpeg':
69
+ return 'image/jpeg';
70
+ case 'image/png':
71
+ return 'image/png';
72
+ case 'image/webp':
73
+ return 'image/webp';
74
+ default:
75
+ return 'image/jpeg';
76
+ }
77
+ }
78
+
55
79
  type NonThinkingParam = Exclude<Anthropic.Messages.ContentBlockParam, Anthropic.Messages.ThinkingBlockParam | Anthropic.Messages.RedactedThinkingBlockParam>;
56
80
  function isNonThinkingParam(
57
81
  content: Anthropic.Messages.ContentBlockParam
@@ -144,6 +168,7 @@ export class AnthropicModel implements LanguageModel {
144
168
  public useCaching: boolean,
145
169
  public apiKey: () => string | undefined,
146
170
  public maxTokens: number = DEFAULT_MAX_TOKENS,
171
+ public maxRetries: number = 3,
147
172
  protected readonly tokenUsageService?: TokenUsageService
148
173
  ) { }
149
174
 
@@ -169,10 +194,17 @@ export class AnthropicModel implements LanguageModel {
169
194
  }
170
195
  }
171
196
 
172
- protected formatToolCallResult(result: unknown): string | Array<{ type: 'text', text: string }> {
173
- if (typeof result === 'object' && result && 'content' in result && Array.isArray(result.content) &&
174
- result.content.every(item => typeof item === 'object' && item && 'type' in item && 'text' in item)) {
175
- return result.content;
197
+ protected formatToolCallResult(result: ToolCallResult): ToolResultBlockParam['content'] {
198
+ if (typeof result === 'object' && result && 'content' in result && Array.isArray(result.content)) {
199
+ return result.content.map<TextBlockParam | ImageBlockParam>(content => {
200
+ if (content.type === 'text') {
201
+ return { type: 'text', text: content.text };
202
+ } else if (content.type === 'image') {
203
+ return { type: 'image', source: { type: 'base64', data: content.base64data, media_type: mimeTypeToMediaType(content.mimeType) } };
204
+ } else {
205
+ return { type: 'text', text: content.data };
206
+ }
207
+ });
176
208
  }
177
209
 
178
210
  if (isArray(result)) {
@@ -211,7 +243,7 @@ export class AnthropicModel implements LanguageModel {
211
243
  ...(systemMessage && { system: systemMessage }),
212
244
  ...settings
213
245
  };
214
- const stream = anthropic.messages.stream(params);
246
+ const stream = anthropic.messages.stream(params, { maxRetries: this.maxRetries });
215
247
 
216
248
  cancellationToken?.onCancellationRequested(() => {
217
249
  stream.abort();
@@ -297,10 +329,7 @@ export class AnthropicModel implements LanguageModel {
297
329
 
298
330
  }));
299
331
 
300
- const calls = toolResult.map(tr => {
301
- const resultAsString = typeof tr.result === 'string' ? tr.result : JSON.stringify(tr.result);
302
- return { finished: true, id: tr.id, result: resultAsString, function: { name: tr.name, arguments: tr.arguments } };
303
- });
332
+ const calls = toolResult.map(tr => ({ finished: true, id: tr.id, result: tr.result, function: { name: tr.name, arguments: tr.arguments } }));
304
333
  yield { tool_calls: calls };
305
334
 
306
335
  const toolResponseMessage: Anthropic.Messages.MessageParam = {
@@ -60,6 +60,7 @@ export class AnthropicLanguageModelsManagerImpl implements AnthropicLanguageMode
60
60
  } else {
61
61
  model.maxTokens = DEFAULT_MAX_TOKENS;
62
62
  }
63
+ model.maxRetries = modelDescription.maxRetries;
63
64
  } else {
64
65
  this.languageModelRegistry.addLanguageModels([
65
66
  new AnthropicModel(
@@ -69,6 +70,7 @@ export class AnthropicLanguageModelsManagerImpl implements AnthropicLanguageMode
69
70
  modelDescription.useCaching,
70
71
  apiKeyProvider,
71
72
  modelDescription.maxTokens,
73
+ modelDescription.maxRetries,
72
74
  this.tokenUsageService
73
75
  )
74
76
  ]);