@theia/ai-anthropic 1.76.0-next.7 → 1.76.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.
Files changed (31) hide show
  1. package/lib/browser/anthropic-frontend-application-contribution.d.ts +16 -10
  2. package/lib/browser/anthropic-frontend-application-contribution.d.ts.map +1 -1
  3. package/lib/browser/anthropic-frontend-application-contribution.js +65 -64
  4. package/lib/browser/anthropic-frontend-application-contribution.js.map +1 -1
  5. package/lib/common/anthropic-language-models-manager.d.ts +22 -0
  6. package/lib/common/anthropic-language-models-manager.d.ts.map +1 -1
  7. package/lib/common/anthropic-language-models-manager.js.map +1 -1
  8. package/lib/common/anthropic-preferences.d.ts +2 -1
  9. package/lib/common/anthropic-preferences.d.ts.map +1 -1
  10. package/lib/common/anthropic-preferences.js +23 -16
  11. package/lib/common/anthropic-preferences.js.map +1 -1
  12. package/lib/node/anthropic-language-model.d.ts +19 -1
  13. package/lib/node/anthropic-language-model.d.ts.map +1 -1
  14. package/lib/node/anthropic-language-model.js +20 -11
  15. package/lib/node/anthropic-language-model.js.map +1 -1
  16. package/lib/node/anthropic-language-model.spec.js +34 -0
  17. package/lib/node/anthropic-language-model.spec.js.map +1 -1
  18. package/lib/node/anthropic-language-models-manager-impl.d.ts +21 -3
  19. package/lib/node/anthropic-language-models-manager-impl.d.ts.map +1 -1
  20. package/lib/node/anthropic-language-models-manager-impl.js +73 -11
  21. package/lib/node/anthropic-language-models-manager-impl.js.map +1 -1
  22. package/lib/node/anthropic-language-models-manager-impl.spec.js +195 -0
  23. package/lib/node/anthropic-language-models-manager-impl.spec.js.map +1 -1
  24. package/package.json +5 -5
  25. package/src/browser/anthropic-frontend-application-contribution.ts +74 -71
  26. package/src/common/anthropic-language-models-manager.ts +24 -1
  27. package/src/common/anthropic-preferences.ts +25 -15
  28. package/src/node/anthropic-language-model.spec.ts +39 -1
  29. package/src/node/anthropic-language-model.ts +33 -12
  30. package/src/node/anthropic-language-models-manager-impl.spec.ts +198 -1
  31. package/src/node/anthropic-language-models-manager-impl.ts +86 -15
@@ -1,19 +1,25 @@
1
- import { FrontendApplicationContribution } from '@theia/core/lib/browser';
2
1
  import { AnthropicLanguageModelsManager, AnthropicModelDescription } from '../common';
3
2
  import { AICorePreferences } from '@theia/ai-core/lib/common/ai-core-preferences';
4
- import { PreferenceService } from '@theia/core';
5
- export declare class AnthropicFrontendApplicationContribution implements FrontendApplicationContribution {
6
- protected preferenceService: PreferenceService;
7
- protected manager: AnthropicLanguageModelsManager;
3
+ import { PreferenceChange } from '@theia/core';
4
+ import { DiscoveringProviderContribution, ModelDiscoveryMessages } from '@theia/ai-core/lib/browser';
5
+ import { DiscoveredModel } from '@theia/ai-core/lib/common';
6
+ export declare class AnthropicFrontendApplicationContribution extends DiscoveringProviderContribution<AnthropicModelDescription> {
7
+ protected readonly manager: AnthropicLanguageModelsManager;
8
8
  protected aiCorePreferences: AICorePreferences;
9
- protected prevModels: string[];
9
+ protected readonly providerId = "anthropic";
10
+ protected readonly providerLabel = "Anthropic";
11
+ protected readonly modelOverridesPreference = "ai-features.anthropic.modelOverrides";
12
+ protected readonly allowEnvironmentApiKeyPreference = "ai-features.anthropic.allowEnvironmentApiKey";
10
13
  protected prevCustomModels: Partial<AnthropicModelDescription>[];
11
- onStart(): void;
12
- protected handleModelChanges(newModels: string[]): void;
14
+ protected get discoveryMessages(): ModelDiscoveryMessages;
15
+ protected initializeProvider(): void;
16
+ protected handlePreferenceChange(event: PreferenceChange): void;
17
+ protected updateDiscoveredModels(): void;
18
+ /** Re-applies the model descriptions of the configured custom endpoints. */
19
+ protected updateCustomModels(): void;
13
20
  protected handleCustomModelChanges(newCustomModels: Partial<AnthropicModelDescription>[]): void;
14
- protected updateAllModels(): void;
15
21
  /** Per-model details are resolved by the backend from the Anthropic /v1/models endpoint. */
16
- protected createAnthropicModelDescription(modelId: string): AnthropicModelDescription;
22
+ protected createModelDescription(model: DiscoveredModel): AnthropicModelDescription;
17
23
  protected createCustomModelDescriptionsFromPreferences(preferences: Partial<AnthropicModelDescription>[]): AnthropicModelDescription[];
18
24
  }
19
25
  //# 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,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAItF,OAAO,EACH,iBAAiB,EACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKhD,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;IACpC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAM;IAEtE,OAAO,IAAI,IAAI;IA2Cf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,GAAG,IAAI;IAsB/F,SAAS,CAAC,eAAe,IAAI,IAAI;IAQjC,4FAA4F;IAC5F,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB;IAsBrF,SAAS,CAAC,4CAA4C,CAAC,WAAW,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,GAAG,yBAAyB,EAAE;CA6BzI"}
1
+ {"version":3,"file":"anthropic-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/anthropic-frontend-application-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAItF,OAAO,EACH,iBAAiB,EAEpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAI5D,qBACa,wCAAyC,SAAQ,+BAA+B,CAAC,yBAAyB,CAAC;IAGpH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;IAG3D,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,QAAQ,CAAC,UAAU,eAAyB;IACtD,SAAS,CAAC,QAAQ,CAAC,aAAa,eAAe;IAC/C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,0CAAwB;IACnE,SAAS,CAAC,QAAQ,CAAC,gCAAgC,kDAA0B;IAE7E,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAM;IAEtE,SAAS,KAAK,iBAAiB,IAAI,sBAAsB,CAYxD;cAEkB,kBAAkB,IAAI,IAAI;cAe1B,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;cAoBrD,sBAAsB,IAAI,IAAI;IAKjD,4EAA4E;IAC5E,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAKpC,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,GAAG,IAAI;IAuB/F,4FAA4F;IAC5F,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,yBAAyB;IAuBnF,SAAS,CAAC,4CAA4C,CAAC,WAAW,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,GAAG,yBAAyB,EAAE;CA8BzI"}
@@ -23,61 +23,69 @@ const anthropic_preferences_1 = require("../common/anthropic-preferences");
23
23
  const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
24
24
  const core_1 = require("@theia/core");
25
25
  const ai_core_1 = require("@theia/ai-core");
26
+ const browser_1 = require("@theia/ai-core/lib/browser");
26
27
  const ANTHROPIC_PROVIDER_ID = 'anthropic';
27
- let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicationContribution {
28
+ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicationContribution extends browser_1.DiscoveringProviderContribution {
28
29
  constructor() {
29
- this.prevModels = [];
30
+ super(...arguments);
31
+ this.providerId = ANTHROPIC_PROVIDER_ID;
32
+ this.providerLabel = 'Anthropic';
33
+ this.modelOverridesPreference = anthropic_preferences_1.MODEL_OVERRIDES_PREF;
34
+ this.allowEnvironmentApiKeyPreference = anthropic_preferences_1.ALLOW_ENV_API_KEY_PREF;
30
35
  this.prevCustomModels = [];
31
36
  }
32
- onStart() {
33
- this.preferenceService.ready.then(() => {
34
- const apiKey = this.preferenceService.get(anthropic_preferences_1.API_KEY_PREF, undefined);
35
- this.manager.setApiKey(apiKey);
36
- const proxyUri = this.preferenceService.get('http.proxy', undefined);
37
- this.manager.setProxyUrl(proxyUri);
38
- const models = this.preferenceService.get(anthropic_preferences_1.MODELS_PREF, []);
39
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createAnthropicModelDescription(modelId)));
40
- this.prevModels = [...models];
41
- const customModels = this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
42
- this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
43
- this.prevCustomModels = [...customModels];
44
- this.preferenceService.onPreferenceChanged(event => {
45
- if (event.preferenceName === anthropic_preferences_1.API_KEY_PREF) {
46
- this.manager.setApiKey(this.preferenceService.get(anthropic_preferences_1.API_KEY_PREF, undefined));
47
- this.updateAllModels();
48
- }
49
- else if (event.preferenceName === anthropic_preferences_1.MODELS_PREF) {
50
- this.handleModelChanges(this.preferenceService.get(anthropic_preferences_1.MODELS_PREF, []));
51
- }
52
- else if (event.preferenceName === 'http.proxy') {
53
- this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
54
- this.updateAllModels();
55
- }
56
- else if (event.preferenceName === anthropic_preferences_1.SERVER_SIDE_COMPACTION_PREF ||
57
- event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION ||
58
- event.preferenceName === anthropic_preferences_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF ||
59
- event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD) {
60
- this.updateAllModels();
61
- }
62
- else if (event.preferenceName === anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF) {
63
- this.handleCustomModelChanges(this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []));
64
- }
65
- });
66
- this.aiCorePreferences.onPreferenceChanged(event => {
67
- if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
68
- this.updateAllModels();
69
- }
70
- });
37
+ get discoveryMessages() {
38
+ return {
39
+ noCredentials: core_1.nls.localize('theia/ai/anthropic/discovery/noKey', 'No Anthropic API key set. Add a key to discover models.'),
40
+ consentRequired: core_1.nls.localize('theia/ai/anthropic/discovery/consentRequired', 'An Anthropic API key was found in the environment. Confirm its use to discover models.'),
41
+ consentPrompt: core_1.nls.localize('theia/ai/anthropic/discovery/consentPrompt', 'An Anthropic API key was found in the environment (ANTHROPIC_API_KEY). Allow Theia to use it to discover and call Anthropic models?'),
42
+ useEnvironmentKey: core_1.nls.localize('theia/ai/anthropic/discovery/useEnvKey', 'Use key'),
43
+ overridden: core_1.nls.localize('theia/ai/anthropic/discovery/overridden', 'The model list is configured manually. Clear the model overrides to discover the models from the provider again.'),
44
+ cached: error => core_1.nls.localize('theia/ai/anthropic/discovery/cached', 'Showing cached models; last refresh failed: {0}', error)
45
+ };
46
+ }
47
+ initializeProvider() {
48
+ this.manager.setApiKey(this.preferenceService.get(anthropic_preferences_1.API_KEY_PREF, undefined));
49
+ this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
50
+ const customModels = this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
51
+ this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
52
+ this.prevCustomModels = [...customModels];
53
+ this.aiCorePreferences.onPreferenceChanged(event => {
54
+ if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
55
+ this.updateDiscoveredModels();
56
+ }
71
57
  });
72
58
  }
73
- handleModelChanges(newModels) {
74
- const oldModels = new Set(this.prevModels);
75
- const updatedModels = new Set(newModels);
76
- const modelsToRemove = [...oldModels].filter(model => !updatedModels.has(model));
77
- const modelsToAdd = [...updatedModels].filter(model => !oldModels.has(model));
78
- this.manager.removeLanguageModels(...modelsToRemove.map(model => `${ANTHROPIC_PROVIDER_ID}/${model}`));
79
- this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createAnthropicModelDescription(modelId)));
80
- this.prevModels = newModels;
59
+ handlePreferenceChange(event) {
60
+ if (event.preferenceName === anthropic_preferences_1.API_KEY_PREF) {
61
+ this.manager.setApiKey(this.preferenceService.get(anthropic_preferences_1.API_KEY_PREF, undefined));
62
+ this.discoverAndRegisterModels();
63
+ }
64
+ else if (event.preferenceName === 'http.proxy') {
65
+ this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
66
+ // A model keeps the proxy it was registered with, so the custom endpoints have to be
67
+ // re-registered as well: discovery only covers the models it registers itself.
68
+ this.updateCustomModels();
69
+ this.discoverAndRegisterModels();
70
+ }
71
+ else if (event.preferenceName === anthropic_preferences_1.SERVER_SIDE_COMPACTION_PREF ||
72
+ event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION ||
73
+ event.preferenceName === anthropic_preferences_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF ||
74
+ event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD) {
75
+ this.updateDiscoveredModels();
76
+ }
77
+ else if (event.preferenceName === anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF) {
78
+ this.handleCustomModelChanges(this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []));
79
+ }
80
+ }
81
+ updateDiscoveredModels() {
82
+ super.updateDiscoveredModels();
83
+ this.updateCustomModels();
84
+ }
85
+ /** Re-applies the model descriptions of the configured custom endpoints. */
86
+ updateCustomModels() {
87
+ const customModels = this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
88
+ this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
81
89
  }
82
90
  handleCustomModelChanges(newCustomModels) {
83
91
  const oldModels = this.createCustomModelDescriptionsFromPreferences(this.prevCustomModels);
@@ -91,20 +99,15 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
91
99
  model.useCaching === newModel.useCaching &&
92
100
  model.serverSideCompactionEnabledByDefault === newModel.serverSideCompactionEnabledByDefault &&
93
101
  model.serverSideCompactionTokenThresholdByDefault === newModel.serverSideCompactionTokenThresholdByDefault &&
94
- model.enableStreaming === newModel.enableStreaming));
102
+ model.enableStreaming === newModel.enableStreaming &&
103
+ JSON.stringify(model.headers) === JSON.stringify(newModel.headers)));
95
104
  this.manager.removeLanguageModels(...modelsToRemove.map(model => model.id));
96
105
  this.manager.createOrUpdateLanguageModels(...modelsToAddOrUpdate);
97
106
  this.prevCustomModels = [...newCustomModels];
98
107
  }
99
- updateAllModels() {
100
- const models = this.preferenceService.get(anthropic_preferences_1.MODELS_PREF, []);
101
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createAnthropicModelDescription(modelId)));
102
- const customModels = this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
103
- this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
104
- }
105
108
  /** Per-model details are resolved by the backend from the Anthropic /v1/models endpoint. */
106
- createAnthropicModelDescription(modelId) {
107
- const id = `${ANTHROPIC_PROVIDER_ID}/${modelId}`;
109
+ createModelDescription(model) {
110
+ const id = `${ANTHROPIC_PROVIDER_ID}/${model.id}`;
108
111
  const maxRetries = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) ?? 3;
109
112
  const globalCompaction = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION, true);
110
113
  const compactionOverride = this.preferenceService.get(anthropic_preferences_1.SERVER_SIDE_COMPACTION_PREF, 'default');
@@ -114,13 +117,14 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
114
117
  const serverSideCompactionTokenThresholdByDefault = (0, ai_core_1.resolveCompactionTokenThresholdDefault)(globalThreshold, providerThreshold);
115
118
  return {
116
119
  id: id,
117
- model: modelId,
120
+ model: model.id,
118
121
  apiKey: true,
119
122
  enableStreaming: true,
120
123
  useCaching: true,
121
124
  maxRetries: maxRetries,
122
125
  serverSideCompactionEnabledByDefault,
123
- serverSideCompactionTokenThresholdByDefault
126
+ serverSideCompactionTokenThresholdByDefault,
127
+ released: model.released
124
128
  };
125
129
  }
126
130
  createCustomModelDescriptionsFromPreferences(preferences) {
@@ -145,6 +149,7 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
145
149
  enableStreaming: pref.enableStreaming ?? true,
146
150
  useCaching: pref.useCaching ?? true,
147
151
  maxRetries: pref.maxRetries ?? maxRetries,
152
+ headers: (0, ai_core_1.resolveCustomModelHeaders)(pref.headers),
148
153
  serverSideCompactionEnabledByDefault,
149
154
  serverSideCompactionTokenThresholdByDefault
150
155
  }
@@ -153,10 +158,6 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
153
158
  }
154
159
  };
155
160
  exports.AnthropicFrontendApplicationContribution = AnthropicFrontendApplicationContribution;
156
- tslib_1.__decorate([
157
- (0, inversify_1.inject)(core_1.PreferenceService),
158
- tslib_1.__metadata("design:type", Object)
159
- ], AnthropicFrontendApplicationContribution.prototype, "preferenceService", void 0);
160
161
  tslib_1.__decorate([
161
162
  (0, inversify_1.inject)(common_1.AnthropicLanguageModelsManager),
162
163
  tslib_1.__metadata("design:type", Object)
@@ -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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"}
@@ -1,3 +1,4 @@
1
+ import { ApiKeySource, ModelDiscoveryResult } from '@theia/ai-core/lib/common';
1
2
  export declare const ANTHROPIC_LANGUAGE_MODELS_MANAGER_PATH = "/services/anthropic/language-model-manager";
2
3
  export declare const AnthropicLanguageModelsManager: unique symbol;
3
4
  export interface AnthropicModelDescription {
@@ -15,16 +16,37 @@ export interface AnthropicModelDescription {
15
16
  useCaching: boolean;
16
17
  /** Maximum number of retry attempts when a request fails. Default is 3. */
17
18
  maxRetries: number;
19
+ /** Additional HTTP headers sent with every request to the endpoint, e.g. headers required by a gateway in front of the API. */
20
+ headers?: Record<string, string>;
18
21
  /** Resolved default enablement of server-side compaction (global preference folded with the per-provider override). Defaults to disabled when omitted. */
19
22
  serverSideCompactionEnabledByDefault?: boolean;
23
+ /** Release date (ms since epoch) reported by discovery, surfaced as {@link LanguageModelMetaData.released}. */
24
+ released?: number;
20
25
  /** Resolved default input-token threshold for server-side compaction. `undefined` preserves the provider default. */
21
26
  serverSideCompactionTokenThresholdByDefault?: number;
22
27
  }
23
28
  export interface AnthropicLanguageModelsManager {
24
29
  apiKey: string | undefined;
25
30
  setApiKey(key: string | undefined): void;
31
+ /**
32
+ * Allows or refuses the use of an API key found in the environment. Refused by default: an
33
+ * environment key is only used once the user has confirmed it, and setting this back to `false`
34
+ * stops it being used immediately, wherever it would have been used.
35
+ */
36
+ setAllowEnvironmentApiKey(allowed: boolean): void;
26
37
  setProxyUrl(proxyUrl: string | undefined): void;
27
38
  createOrUpdateLanguageModels(...models: AnthropicModelDescription[]): Promise<void>;
28
39
  removeLanguageModels(...modelIds: string[]): void;
40
+ /**
41
+ * Fetches the models Anthropic currently offers from its `/v1/models` endpoint, retrying
42
+ * transient connection failures and persisting a snapshot for offline use.
43
+ *
44
+ * Requires an API key. Returns an empty result when no key is configured. On a live-fetch
45
+ * failure it falls back to the cached snapshot (`fromCache: true`) when one exists, and only
46
+ * throws when there is no cache to fall back to.
47
+ */
48
+ fetchAvailableModels(): Promise<ModelDiscoveryResult>;
49
+ /** Reports where the effective API key comes from (preference, environment, or none). */
50
+ getApiKeySource(): Promise<ApiKeySource>;
29
51
  }
30
52
  //# sourceMappingURL=anthropic-language-models-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-language-models-manager.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AACnG,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AAEvF,MAAM,WAAW,yBAAyB;IACtC,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,oIAAoI;IACpI,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,0JAA0J;IAC1J,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,qHAAqH;IACrH,2CAA2C,CAAC,EAAE,MAAM,CAAC;CACxD;AACD,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,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":"AAgBA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AACnG,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AAEvF,MAAM,WAAW,yBAAyB;IACtC,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,oIAAoI;IACpI,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,+HAA+H;IAC/H,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0JAA0J;IAC1J,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,2CAA2C,CAAC,EAAE,MAAM,CAAC;CACxD;AACD,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC;;;;OAIG;IACH,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,4BAA4B,CAAC,GAAG,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD;;;;;;;OAOG;IACH,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtD,yFAAyF;IACzF,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-models-manager.js","sourceRoot":"","sources":["../../src/common/anthropic-language-models-manager.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;;;AAEnE,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC"}
1
+ {"version":3,"file":"anthropic-language-models-manager.js","sourceRoot":"","sources":["../../src/common/anthropic-language-models-manager.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;;;AAInE,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { PreferenceSchema } from '@theia/core';
2
2
  export declare const API_KEY_PREF = "ai-features.anthropic.AnthropicApiKey";
3
- export declare const MODELS_PREF = "ai-features.anthropic.AnthropicModels";
3
+ export declare const ALLOW_ENV_API_KEY_PREF = "ai-features.anthropic.allowEnvironmentApiKey";
4
+ export declare const MODEL_OVERRIDES_PREF = "ai-features.anthropic.modelOverrides";
4
5
  export declare const CUSTOM_ENDPOINTS_PREF = "ai-features.anthropicCustom.customAnthropicModels";
5
6
  export declare const SERVER_SIDE_COMPACTION_PREF = "ai-features.anthropic.serverSideCompaction";
6
7
  export declare const SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = "ai-features.anthropic.serverSideCompactionTokenThreshold";
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-preferences.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"AAoBA,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;AACzF,eAAO,MAAM,2BAA2B,+CAA+C,CAAC;AACxF,eAAO,MAAM,2CAA2C,6DAA6D,CAAC;AAEtH,eAAO,MAAM,0BAA0B,EAAE,gBAkHxC,CAAC"}
1
+ {"version":3,"file":"anthropic-preferences.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,YAAY,0CAA0C,CAAC;AACpE,eAAO,MAAM,sBAAsB,iDAAiD,CAAC;AACrF,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAC3E,eAAO,MAAM,qBAAqB,sDAAsD,CAAC;AACzF,eAAO,MAAM,2BAA2B,+CAA+C,CAAC;AACxF,eAAO,MAAM,2CAA2C,6DAA6D,CAAC;AAEtH,eAAO,MAAM,0BAA0B,EAAE,gBA2HxC,CAAC"}
@@ -15,12 +15,13 @@
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.AnthropicPreferencesSchema = exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = exports.SERVER_SIDE_COMPACTION_PREF = exports.CUSTOM_ENDPOINTS_PREF = exports.MODELS_PREF = exports.API_KEY_PREF = void 0;
18
+ exports.AnthropicPreferencesSchema = exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = exports.SERVER_SIDE_COMPACTION_PREF = exports.CUSTOM_ENDPOINTS_PREF = exports.MODEL_OVERRIDES_PREF = exports.ALLOW_ENV_API_KEY_PREF = exports.API_KEY_PREF = void 0;
19
19
  const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
20
20
  const language_model_1 = require("@theia/ai-core/lib/common/language-model");
21
21
  const core_1 = require("@theia/core");
22
22
  exports.API_KEY_PREF = 'ai-features.anthropic.AnthropicApiKey';
23
- exports.MODELS_PREF = 'ai-features.anthropic.AnthropicModels';
23
+ exports.ALLOW_ENV_API_KEY_PREF = 'ai-features.anthropic.allowEnvironmentApiKey';
24
+ exports.MODEL_OVERRIDES_PREF = 'ai-features.anthropic.modelOverrides';
24
25
  exports.CUSTOM_ENDPOINTS_PREF = 'ai-features.anthropicCustom.customAnthropicModels';
25
26
  exports.SERVER_SIDE_COMPACTION_PREF = 'ai-features.anthropic.serverSideCompaction';
26
27
  exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = 'ai-features.anthropic.serverSideCompactionTokenThreshold';
@@ -33,23 +34,22 @@ exports.AnthropicPreferencesSchema = {
33
34
  on the machine running Theia. Use the environment variable `ANTHROPIC_API_KEY` to set the key securely.') + core_1.LINUX_ENV_HINT,
34
35
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
35
36
  },
36
- [exports.MODELS_PREF]: {
37
- type: 'array',
38
- description: core_1.nls.localize('theia/ai/anthropic/models/description', 'Official Anthropic models to use'),
37
+ [exports.ALLOW_ENV_API_KEY_PREF]: {
38
+ type: 'boolean',
39
+ default: false,
39
40
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
40
- default: [
41
- 'claude-opus-5',
42
- 'claude-sonnet-5',
43
- 'claude-fable-5',
44
- 'claude-opus-4-8',
45
- 'claude-opus-4-7',
46
- 'claude-opus-4-6',
47
- 'claude-sonnet-4-6',
48
- 'claude-haiku-4-5',
49
- ],
41
+ markdownDescription: core_1.nls.localize('theia/ai/anthropic/allowEnvApiKey/description', 'Allow Theia to use an Anthropic API key found in the environment (`ANTHROPIC_API_KEY`). '
42
+ + 'You are asked to confirm this once before the key is used; set it back to `false` to revoke consent.'),
43
+ },
44
+ [exports.MODEL_OVERRIDES_PREF]: {
45
+ type: 'array',
46
+ default: [],
50
47
  items: {
51
48
  type: 'string'
52
- }
49
+ },
50
+ title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
51
+ markdownDescription: core_1.nls.localize('theia/ai/anthropic/modelOverrides/description', 'Override the models discovered from Anthropic. When empty (default), the available models are discovered from the provider. '
52
+ + 'Set explicit model ids to use exactly those instead; discovery is then not used at all.')
53
53
  },
54
54
  [exports.SERVER_SIDE_COMPACTION_PREF]: {
55
55
  type: 'string',
@@ -92,6 +92,8 @@ exports.AnthropicPreferencesSchema = {
92
92
  \n\
93
93
  - specify `maxRetries: <number>` to indicate the maximum number of retries when a request fails. 3 by default.\
94
94
  \n\
95
+ - specify `headers` to send additional HTTP headers with every request to the endpoint, e.g. headers required by a gateway in front of the API.\
96
+ \n\
95
97
  Reasoning capabilities and the maximum output token limit are derived from the endpoint\'s `/v1/models` response.'),
96
98
  default: [],
97
99
  items: {
@@ -124,6 +126,11 @@ exports.AnthropicPreferencesSchema = {
124
126
  maxRetries: {
125
127
  type: 'number',
126
128
  title: core_1.nls.localize('theia/ai/anthropic/customEndpoints/maxRetries/title', 'Maximum number of retries when a request fails. 3 by default'),
129
+ },
130
+ headers: {
131
+ type: 'object',
132
+ additionalProperties: { type: 'string' },
133
+ title: core_1.nls.localize('theia/ai/anthropic/customEndpoints/headers/title', 'Additional HTTP headers sent with every request to the endpoint'),
127
134
  }
128
135
  }
129
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-preferences.js","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-preferences.js","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,22 @@ export declare const AnthropicModelIdentifier: unique symbol;
34
34
  * Implements the Anthropic language model integration for Theia. Reasoning-level
35
35
  * translation lives in {@link anthropicReasoningFor}.
36
36
  */
37
+ /** Options for {@link createAnthropicClient}. */
38
+ export interface AnthropicClientOptions {
39
+ /** The key to authenticate with. A custom endpoint may need none. */
40
+ readonly apiKey: string | undefined;
41
+ /** Base URL of a custom endpoint; the SDK's own default is used without one. */
42
+ readonly baseURL?: string;
43
+ readonly proxyUrl?: string;
44
+ /** Additional HTTP headers sent with every request, e.g. headers required by a gateway in front of the API. */
45
+ readonly headers?: Record<string, string>;
46
+ }
47
+ /**
48
+ * The single place an Anthropic SDK client is built, so that a chat request, a model lookup and the
49
+ * model discovery all reach the provider the same way: through the configured proxy, and with a key
50
+ * the SDK accepts.
51
+ */
52
+ export declare function createAnthropicClient(options: AnthropicClientOptions): Anthropic;
37
53
  export declare class AnthropicModel implements LanguageModel {
38
54
  readonly id: string;
39
55
  model: string;
@@ -53,9 +69,11 @@ export declare class AnthropicModel implements LanguageModel {
53
69
  serverSideCompactionSupport: boolean;
54
70
  serverSideCompactionEnabledByDefault: boolean;
55
71
  serverSideCompactionTokenThresholdByDefault?: number | undefined;
72
+ headers?: Record<string, string> | undefined;
73
+ released?: number | undefined;
56
74
  /** Provider identifier, used to key per-provider settings (e.g. server tool selections) and the capabilities UI. */
57
75
  readonly vendor = "anthropic";
58
- 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, serverSideCompactionSupport?: boolean, serverSideCompactionEnabledByDefault?: boolean, serverSideCompactionTokenThresholdByDefault?: number | undefined);
76
+ 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, serverSideCompactionSupport?: boolean, serverSideCompactionEnabledByDefault?: boolean, serverSideCompactionTokenThresholdByDefault?: number | undefined, headers?: Record<string, string> | undefined, released?: number | undefined);
59
77
  protected getSettings(request: LanguageModelRequest): Readonly<Record<string, unknown>>;
60
78
  /** Resolves whether this request will route through the Anthropic Beta Messages API for server-side compaction. */
61
79
  protected useServerSideCompaction(request: LanguageModelRequest): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-language-model.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-language-model.d.ts","sourceRoot":"","sources":["../../src/node/anthropic-language-model.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ exports.AnthropicModel = exports.AnthropicModelIdentifier = exports.ANTHROPIC_RE
19
19
  exports.transformToAnthropicParams = transformToAnthropicParams;
20
20
  exports.mergeConsecutiveSameRoleMessages = mergeConsecutiveSameRoleMessages;
21
21
  exports.addCacheControlToLastMessage = addCacheControlToLastMessage;
22
+ exports.createAnthropicClient = createAnthropicClient;
22
23
  const ai_core_1 = require("@theia/ai-core");
23
24
  const core_1 = require("@theia/core");
24
25
  const sdk_1 = require("@anthropic-ai/sdk");
@@ -283,11 +284,21 @@ function buildServerToolResultPart(serverToolCalls, toolUseId, nativeName, resul
283
284
  };
284
285
  }
285
286
  /**
286
- * Implements the Anthropic language model integration for Theia. Reasoning-level
287
- * translation lives in {@link anthropicReasoningFor}.
287
+ * The single place an Anthropic SDK client is built, so that a chat request, a model lookup and the
288
+ * model discovery all reach the provider the same way: through the configured proxy, and with a key
289
+ * the SDK accepts.
288
290
  */
291
+ function createAnthropicClient(options) {
292
+ return new sdk_1.Anthropic({
293
+ // The SDK refuses to be constructed without a key, so an endpoint that needs none still gets one.
294
+ apiKey: options.apiKey ?? 'no-key',
295
+ baseURL: options.baseURL,
296
+ fetch: (0, node_1.createProxyFetch)(options.proxyUrl),
297
+ defaultHeaders: options.headers
298
+ });
299
+ }
289
300
  class AnthropicModel {
290
- constructor(id, model, status, enableStreaming, useCaching, apiKey, url, maxTokens = exports.DEFAULT_MAX_TOKENS, maxRetries = 3, proxy, reasoningSupport, reasoningApi, supportsXHighEffort, maxInputTokens, serverTools, serverSideCompactionSupport = false, serverSideCompactionEnabledByDefault = false, serverSideCompactionTokenThresholdByDefault) {
301
+ constructor(id, model, status, enableStreaming, useCaching, apiKey, url, maxTokens = exports.DEFAULT_MAX_TOKENS, maxRetries = 3, proxy, reasoningSupport, reasoningApi, supportsXHighEffort, maxInputTokens, serverTools, serverSideCompactionSupport = false, serverSideCompactionEnabledByDefault = false, serverSideCompactionTokenThresholdByDefault, headers, released) {
291
302
  this.id = id;
292
303
  this.model = model;
293
304
  this.status = status;
@@ -306,6 +317,8 @@ class AnthropicModel {
306
317
  this.serverSideCompactionSupport = serverSideCompactionSupport;
307
318
  this.serverSideCompactionEnabledByDefault = serverSideCompactionEnabledByDefault;
308
319
  this.serverSideCompactionTokenThresholdByDefault = serverSideCompactionTokenThresholdByDefault;
320
+ this.headers = headers;
321
+ this.released = released;
309
322
  /** Provider identifier, used to key per-provider settings (e.g. server tool selections) and the capabilities UI. */
310
323
  this.vendor = 'anthropic';
311
324
  }
@@ -630,17 +643,15 @@ class AnthropicModel {
630
643
  const response = useCompaction
631
644
  ? await anthropic.beta.messages.create(params)
632
645
  : await anthropic.messages.create(params);
633
- const textContent = response.content[0];
634
646
  const usage = response.usage ? {
635
647
  input_tokens: response.usage.input_tokens,
636
648
  output_tokens: response.usage.output_tokens,
637
649
  cache_creation_input_tokens: response.usage.cache_creation_input_tokens || undefined,
638
650
  cache_read_input_tokens: response.usage.cache_read_input_tokens || undefined,
639
651
  } : undefined;
640
- if (textContent?.type === 'text') {
641
- return { text: textContent.text, usage };
642
- }
643
- return { text: '', usage };
652
+ // Thinking and other non-text blocks precede the answer, so collect every text block rather than reading content[0].
653
+ const text = response.content.flatMap(block => block.type === 'text' ? [block.text] : []).join('');
654
+ return { text, usage };
644
655
  }
645
656
  catch (error) {
646
657
  throw new Error(`Failed to get response from Anthropic API: ${error instanceof Error ? error.message : 'Unknown error'}`);
@@ -651,9 +662,7 @@ class AnthropicModel {
651
662
  if (!apiKey && !(this.url)) {
652
663
  throw new Error('Please provide ANTHROPIC_API_KEY in preferences or via environment variable');
653
664
  }
654
- // We need to hand over "some" key, even if a custom url is not key protected as otherwise the Anthropic client will throw an error
655
- const key = apiKey ?? 'no-key';
656
- return new sdk_1.Anthropic({ apiKey: key, baseURL: this.url, fetch: (0, node_1.createProxyFetch)(this.proxy) });
665
+ return createAnthropicClient({ apiKey, baseURL: this.url, proxyUrl: this.proxy, headers: this.headers });
657
666
  }
658
667
  }
659
668
  exports.AnthropicModel = AnthropicModel;