@theia/ai-anthropic 1.74.0-next.9 → 1.74.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.map +1 -1
  2. package/lib/browser/anthropic-frontend-application-contribution.js +27 -2
  3. package/lib/browser/anthropic-frontend-application-contribution.js.map +1 -1
  4. package/lib/common/anthropic-language-models-manager.d.ts +4 -0
  5. package/lib/common/anthropic-language-models-manager.d.ts.map +1 -1
  6. package/lib/common/anthropic-language-models-manager.js +2 -2
  7. package/lib/common/anthropic-language-models-manager.js.map +1 -1
  8. package/lib/common/anthropic-preferences.d.ts +2 -0
  9. package/lib/common/anthropic-preferences.d.ts.map +1 -1
  10. package/lib/common/anthropic-preferences.js +29 -3
  11. package/lib/common/anthropic-preferences.js.map +1 -1
  12. package/lib/node/anthropic-language-model.d.ts +23 -2
  13. package/lib/node/anthropic-language-model.d.ts.map +1 -1
  14. package/lib/node/anthropic-language-model.js +81 -14
  15. package/lib/node/anthropic-language-model.js.map +1 -1
  16. package/lib/node/anthropic-language-model.spec.js +139 -1
  17. package/lib/node/anthropic-language-model.spec.js.map +1 -1
  18. package/lib/node/anthropic-language-models-manager-impl.d.ts +6 -0
  19. package/lib/node/anthropic-language-models-manager-impl.d.ts.map +1 -1
  20. package/lib/node/anthropic-language-models-manager-impl.js +26 -3
  21. package/lib/node/anthropic-language-models-manager-impl.js.map +1 -1
  22. package/lib/node/anthropic-language-models-manager-impl.spec.js +48 -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 +32 -4
  26. package/src/common/anthropic-language-models-manager.ts +5 -0
  27. package/src/common/anthropic-preferences.ts +32 -3
  28. package/src/node/anthropic-language-model.spec.ts +185 -3
  29. package/src/node/anthropic-language-model.ts +86 -15
  30. package/src/node/anthropic-language-models-manager-impl.spec.ts +51 -0
  31. package/src/node/anthropic-language-models-manager-impl.ts +31 -3
@@ -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;AAEtF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,+CAA+C,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD,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;IAsCf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,GAAG,IAAI;IAoB/F,SAAS,CAAC,eAAe,IAAI,IAAI;IAQjC,4FAA4F;IAC5F,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB;IAcrF,SAAS,CAAC,4CAA4C,CAAC,WAAW,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,GAAG,yBAAyB,EAAE;CAqBzI"}
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"}
@@ -22,6 +22,7 @@ const common_1 = require("../common");
22
22
  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
+ const ai_core_1 = require("@theia/ai-core");
25
26
  const ANTHROPIC_PROVIDER_ID = 'anthropic';
26
27
  let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicationContribution {
27
28
  constructor() {
@@ -52,6 +53,12 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
52
53
  this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
53
54
  this.updateAllModels();
54
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
+ }
55
62
  else if (event.preferenceName === anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF) {
56
63
  this.handleCustomModelChanges(this.preferenceService.get(anthropic_preferences_1.CUSTOM_ENDPOINTS_PREF, []));
57
64
  }
@@ -82,6 +89,8 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
82
89
  model.apiKey === newModel.apiKey &&
83
90
  model.maxRetries === newModel.maxRetries &&
84
91
  model.useCaching === newModel.useCaching &&
92
+ model.serverSideCompactionEnabledByDefault === newModel.serverSideCompactionEnabledByDefault &&
93
+ model.serverSideCompactionTokenThresholdByDefault === newModel.serverSideCompactionTokenThresholdByDefault &&
85
94
  model.enableStreaming === newModel.enableStreaming));
86
95
  this.manager.removeLanguageModels(...modelsToRemove.map(model => model.id));
87
96
  this.manager.createOrUpdateLanguageModels(...modelsToAddOrUpdate);
@@ -97,17 +106,31 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
97
106
  createAnthropicModelDescription(modelId) {
98
107
  const id = `${ANTHROPIC_PROVIDER_ID}/${modelId}`;
99
108
  const maxRetries = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) ?? 3;
109
+ const globalCompaction = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION, true);
110
+ const compactionOverride = this.preferenceService.get(anthropic_preferences_1.SERVER_SIDE_COMPACTION_PREF, 'default');
111
+ const serverSideCompactionEnabledByDefault = (0, ai_core_1.resolveCompactionDefault)(globalCompaction, compactionOverride);
112
+ const globalThreshold = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD, undefined);
113
+ const providerThreshold = this.preferenceService.get(anthropic_preferences_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF, undefined);
114
+ const serverSideCompactionTokenThresholdByDefault = (0, ai_core_1.resolveCompactionTokenThresholdDefault)(globalThreshold, providerThreshold);
100
115
  return {
101
116
  id: id,
102
117
  model: modelId,
103
118
  apiKey: true,
104
119
  enableStreaming: true,
105
120
  useCaching: true,
106
- maxRetries: maxRetries
121
+ maxRetries: maxRetries,
122
+ serverSideCompactionEnabledByDefault,
123
+ serverSideCompactionTokenThresholdByDefault
107
124
  };
108
125
  }
109
126
  createCustomModelDescriptionsFromPreferences(preferences) {
110
127
  const maxRetries = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) ?? 3;
128
+ const globalCompaction = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION, true);
129
+ const compactionOverride = this.preferenceService.get(anthropic_preferences_1.SERVER_SIDE_COMPACTION_PREF, 'default');
130
+ const serverSideCompactionEnabledByDefault = (0, ai_core_1.resolveCompactionDefault)(globalCompaction, compactionOverride);
131
+ const globalThreshold = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD, undefined);
132
+ const providerThreshold = this.preferenceService.get(anthropic_preferences_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF, undefined);
133
+ const serverSideCompactionTokenThresholdByDefault = (0, ai_core_1.resolveCompactionTokenThresholdDefault)(globalThreshold, providerThreshold);
111
134
  return preferences.reduce((acc, pref) => {
112
135
  if (!pref.model || !pref.url || typeof pref.model !== 'string' || typeof pref.url !== 'string') {
113
136
  return acc;
@@ -121,7 +144,9 @@ let AnthropicFrontendApplicationContribution = class AnthropicFrontendApplicatio
121
144
  apiKey: typeof pref.apiKey === 'string' || pref.apiKey === true ? pref.apiKey : undefined,
122
145
  enableStreaming: pref.enableStreaming ?? true,
123
146
  useCaching: pref.useCaching ?? true,
124
- maxRetries: pref.maxRetries ?? maxRetries
147
+ maxRetries: pref.maxRetries ?? maxRetries,
148
+ serverSideCompactionEnabledByDefault,
149
+ serverSideCompactionTokenThresholdByDefault
125
150
  }
126
151
  ];
127
152
  }, []);
@@ -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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"}
@@ -15,6 +15,10 @@ export interface AnthropicModelDescription {
15
15
  useCaching: boolean;
16
16
  /** Maximum number of retry attempts when a request fails. Default is 3. */
17
17
  maxRetries: number;
18
+ /** Resolved default enablement of server-side compaction (global preference folded with the per-provider override). Defaults to disabled when omitted. */
19
+ serverSideCompactionEnabledByDefault?: boolean;
20
+ /** Resolved default input-token threshold for server-side compaction. `undefined` preserves the provider default. */
21
+ serverSideCompactionTokenThresholdByDefault?: number;
18
22
  }
19
23
  export interface AnthropicLanguageModelsManager {
20
24
  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;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;CACtB;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,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,6 +1,4 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AnthropicLanguageModelsManager = exports.ANTHROPIC_LANGUAGE_MODELS_MANAGER_PATH = void 0;
4
2
  // *****************************************************************************
5
3
  // Copyright (C) 2024 EclipseSource GmbH.
6
4
  //
@@ -16,6 +14,8 @@ exports.AnthropicLanguageModelsManager = exports.ANTHROPIC_LANGUAGE_MODELS_MANAG
16
14
  //
17
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
18
16
  // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AnthropicLanguageModelsManager = exports.ANTHROPIC_LANGUAGE_MODELS_MANAGER_PATH = void 0;
19
19
  exports.ANTHROPIC_LANGUAGE_MODELS_MANAGER_PATH = '/services/anthropic/language-model-manager';
20
20
  exports.AnthropicLanguageModelsManager = Symbol('AnthropicLanguageModelsManager');
21
21
  //# sourceMappingURL=anthropic-language-models-manager.js.map
@@ -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;AACnE,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;;;AAEnE,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC"}
@@ -2,5 +2,7 @@ import { PreferenceSchema } from '@theia/core';
2
2
  export declare const API_KEY_PREF = "ai-features.anthropic.AnthropicApiKey";
3
3
  export declare const MODELS_PREF = "ai-features.anthropic.AnthropicModels";
4
4
  export declare const CUSTOM_ENDPOINTS_PREF = "ai-features.anthropicCustom.customAnthropicModels";
5
+ export declare const SERVER_SIDE_COMPACTION_PREF = "ai-features.anthropic.serverSideCompaction";
6
+ export declare const SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = "ai-features.anthropic.serverSideCompactionTokenThreshold";
5
7
  export declare const AnthropicPreferencesSchema: PreferenceSchema;
6
8
  //# sourceMappingURL=anthropic-preferences.d.ts.map
@@ -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,gBAoFxC,CAAC"}
1
+ {"version":3,"file":"anthropic-preferences.d.ts","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"AAkBA,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,gBA8GxC,CAAC"}
@@ -15,12 +15,15 @@
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.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.MODELS_PREF = exports.API_KEY_PREF = void 0;
19
19
  const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
20
+ const language_model_1 = require("@theia/ai-core/lib/common/language-model");
20
21
  const core_1 = require("@theia/core");
21
22
  exports.API_KEY_PREF = 'ai-features.anthropic.AnthropicApiKey';
22
23
  exports.MODELS_PREF = 'ai-features.anthropic.AnthropicModels';
23
24
  exports.CUSTOM_ENDPOINTS_PREF = 'ai-features.anthropicCustom.customAnthropicModels';
25
+ exports.SERVER_SIDE_COMPACTION_PREF = 'ai-features.anthropic.serverSideCompaction';
26
+ exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = 'ai-features.anthropic.serverSideCompactionTokenThreshold';
24
27
  exports.AnthropicPreferencesSchema = {
25
28
  properties: {
26
29
  [exports.API_KEY_PREF]: {
@@ -34,17 +37,40 @@ exports.AnthropicPreferencesSchema = {
34
37
  description: core_1.nls.localize('theia/ai/anthropic/models/description', 'Official Anthropic models to use'),
35
38
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
36
39
  default: [
40
+ 'claude-opus-5',
41
+ 'claude-sonnet-5',
42
+ 'claude-fable-5',
37
43
  'claude-opus-4-8',
38
44
  'claude-opus-4-7',
45
+ 'claude-opus-4-6',
39
46
  'claude-sonnet-4-6',
40
47
  'claude-haiku-4-5',
41
- 'claude-fable-5',
42
- 'claude-opus-4-6',
43
48
  ],
44
49
  items: {
45
50
  type: 'string'
46
51
  }
47
52
  },
53
+ [exports.SERVER_SIDE_COMPACTION_PREF]: {
54
+ type: 'string',
55
+ enum: ['default', 'enabled', 'disabled'],
56
+ enumDescriptions: [
57
+ core_1.nls.localize('theia/ai/anthropic/compaction/default', 'Follow the global chat server-side compaction setting.'),
58
+ core_1.nls.localize('theia/ai/anthropic/compaction/enabled', 'Always request server-side compaction for Anthropic models.'),
59
+ core_1.nls.localize('theia/ai/anthropic/compaction/disabled', 'Never request server-side compaction for Anthropic models.')
60
+ ],
61
+ default: 'default',
62
+ markdownDescription: core_1.nls.localize('theia/ai/anthropic/compaction/description', 'Override provider-native server-side compaction for Anthropic models. "default" follows the global chat setting ' +
63
+ '({0}). When effectively enabled, the Anthropic Beta Messages API is used so the provider can summarize ' +
64
+ 'older turns once the conversation grows past its threshold.', `\`#${ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION}#\``),
65
+ title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
66
+ },
67
+ [exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF]: {
68
+ type: 'integer',
69
+ minimum: language_model_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_MINIMUM,
70
+ markdownDescription: core_1.nls.localize('theia/ai/anthropic/compactionTokenThreshold/description', 'Override the global input-token threshold for server-side compaction for Anthropic models. When unset, the global setting or provider default applies. ' +
71
+ 'If set, the value must be at least 50,000 tokens.'),
72
+ title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
73
+ },
48
74
  [exports.CUSTOM_ENDPOINTS_PREF]: {
49
75
  type: 'array',
50
76
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
@@ -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,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
+ {"version":3,"file":"anthropic-preferences.js","sourceRoot":"","sources":["../../src/common/anthropic-preferences.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LanguageModel, LanguageModelRequest, LanguageModelResponse, LanguageModelStatus, LanguageModelStreamResponse, LanguageModelTextResponse, ReasoningApi, ReasoningSupport, ServerToolDescriptor, UserRequest } from '@theia/ai-core';
1
+ import { LanguageModel, LanguageModelMessage, 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';
@@ -9,6 +9,17 @@ export declare const DEFAULT_MAX_TOKENS = 4096;
9
9
  * for rendering (see {@link buildServerToolResultPart}).
10
10
  */
11
11
  export declare const ANTHROPIC_RESULT_BLOCK_DATA_KEY = "anthropicResultBlock";
12
+ /**
13
+ * Transforms Theia language model messages to Anthropic API format
14
+ * @param messages Array of LanguageModelRequestMessage to transform
15
+ * @param addCacheControl whether to add prompt-cache control to the system message
16
+ * @param compactionEnabled whether the request will use the beta endpoint, so compaction replay blocks may be emitted
17
+ * @returns Object containing transformed messages and optional system message
18
+ */
19
+ export declare function transformToAnthropicParams(messages: readonly LanguageModelMessage[], addCacheControl?: boolean, compactionEnabled?: boolean): {
20
+ messages: MessageParam[];
21
+ systemMessage?: Anthropic.Messages.TextBlockParam[];
22
+ };
12
23
  export declare function mergeConsecutiveSameRoleMessages(messages: MessageParam[]): MessageParam[];
13
24
  /**
14
25
  * If possible adds a cache control to the last message in the conversation.
@@ -39,10 +50,20 @@ export declare class AnthropicModel implements LanguageModel {
39
50
  supportsXHighEffort?: boolean | undefined;
40
51
  maxInputTokens?: number | undefined;
41
52
  serverTools?: ServerToolDescriptor[] | undefined;
53
+ serverSideCompactionSupport: boolean;
54
+ serverSideCompactionEnabledByDefault: boolean;
55
+ serverSideCompactionTokenThresholdByDefault?: number | undefined;
42
56
  /** Provider identifier, used to key per-provider settings (e.g. server tool selections) and the capabilities UI. */
43
57
  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);
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);
45
59
  protected getSettings(request: LanguageModelRequest): Readonly<Record<string, unknown>>;
60
+ /** Resolves whether this request will route through the Anthropic Beta Messages API for server-side compaction. */
61
+ protected useServerSideCompaction(request: LanguageModelRequest): boolean;
62
+ /**
63
+ * Augments the base message-create params with the beta flag and context-management edit when server-side compaction
64
+ * is enabled for the given request. When disabled, the params are returned unchanged so the default (stable) path is byte-for-byte identical.
65
+ */
66
+ protected applyCompactionParams<T extends Anthropic.MessageCreateParams>(params: T, request: LanguageModelRequest): T;
46
67
  request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
47
68
  protected handleStreamingRequest(anthropic: Anthropic, request: UserRequest, cancellationToken?: CancellationToken, toolMessages?: readonly Anthropic.Messages.MessageParam[]): Promise<LanguageModelStreamResponse>;
48
69
  protected createTools(request: LanguageModelRequest): Anthropic.Messages.ToolUnion[] | undefined;
@@ -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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"}
@@ -16,6 +16,7 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.AnthropicModel = exports.AnthropicModelIdentifier = exports.ANTHROPIC_RESULT_BLOCK_DATA_KEY = exports.DEFAULT_MAX_TOKENS = void 0;
19
+ exports.transformToAnthropicParams = transformToAnthropicParams;
19
20
  exports.mergeConsecutiveSameRoleMessages = mergeConsecutiveSameRoleMessages;
20
21
  exports.addCacheControlToLastMessage = addCacheControlToLastMessage;
21
22
  const ai_core_1 = require("@theia/ai-core");
@@ -31,8 +32,17 @@ exports.DEFAULT_MAX_TOKENS = 4096;
31
32
  * for rendering (see {@link buildServerToolResultPart}).
32
33
  */
33
34
  exports.ANTHROPIC_RESULT_BLOCK_DATA_KEY = 'anthropicResultBlock';
34
- const createMessageContent = (message) => {
35
- if (ai_core_1.LanguageModelMessage.isTextMessage(message)) {
35
+ const createMessageContent = (message, compactionEnabled) => {
36
+ if (ai_core_1.LanguageModelMessage.isCompactionMessage(message)) {
37
+ // Only replay our own provider's compaction blocks, and only when the request will use the beta endpoint.
38
+ // Returning [] for a skipped/foreign/disabled compaction message lets the surrounding real history carry the context.
39
+ if (compactionEnabled && message.provider === 'anthropic') {
40
+ const data = message.data;
41
+ return [{ type: 'compaction', content: data.content, encrypted_content: data.encrypted_content }];
42
+ }
43
+ return [];
44
+ }
45
+ else if (ai_core_1.LanguageModelMessage.isTextMessage(message)) {
36
46
  return [{ type: 'text', text: message.text }];
37
47
  }
38
48
  else if (ai_core_1.LanguageModelMessage.isThinkingMessage(message)) {
@@ -109,9 +119,11 @@ function isNonThinkingParam(content) {
109
119
  /**
110
120
  * Transforms Theia language model messages to Anthropic API format
111
121
  * @param messages Array of LanguageModelRequestMessage to transform
122
+ * @param addCacheControl whether to add prompt-cache control to the system message
123
+ * @param compactionEnabled whether the request will use the beta endpoint, so compaction replay blocks may be emitted
112
124
  * @returns Object containing transformed messages and optional system message
113
125
  */
114
- function transformToAnthropicParams(messages, addCacheControl = true) {
126
+ function transformToAnthropicParams(messages, addCacheControl = true, compactionEnabled = false) {
115
127
  // Extract the system message (if any), as it is a separate parameter in the Anthropic API.
116
128
  const systemMessageObj = messages.find(message => message.actor === 'system');
117
129
  const systemMessageText = systemMessageObj && ai_core_1.LanguageModelMessage.isTextMessage(systemMessageObj) && systemMessageObj.text || undefined;
@@ -123,8 +135,10 @@ function transformToAnthropicParams(messages, addCacheControl = true) {
123
135
  .filter(message => !(ai_core_1.LanguageModelMessage.isServerToolUseMessage(message) && message.name === anthropic_server_tools_1.ANTHROPIC_TOOL_SEARCH))
124
136
  .map(message => ({
125
137
  role: toAnthropicRole(message),
126
- content: createMessageContent(message)
127
- }));
138
+ content: createMessageContent(message, compactionEnabled)
139
+ }))
140
+ // Drop messages whose content converted to empty (e.g. a skipped compaction message), so no empty turns are sent.
141
+ .filter(message => !Array.isArray(message.content) || message.content.length > 0);
128
142
  return {
129
143
  messages: mergeConsecutiveSameRoleMessages(convertedMessages),
130
144
  systemMessage,
@@ -251,7 +265,7 @@ function buildServerToolResultPart(serverToolCalls, toolUseId, nativeName, resul
251
265
  * translation lives in {@link anthropicReasoningFor}.
252
266
  */
253
267
  class AnthropicModel {
254
- constructor(id, model, status, enableStreaming, useCaching, apiKey, url, maxTokens = exports.DEFAULT_MAX_TOKENS, maxRetries = 3, proxy, reasoningSupport, reasoningApi, supportsXHighEffort, maxInputTokens, serverTools) {
268
+ 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) {
255
269
  this.id = id;
256
270
  this.model = model;
257
271
  this.status = status;
@@ -267,6 +281,9 @@ class AnthropicModel {
267
281
  this.supportsXHighEffort = supportsXHighEffort;
268
282
  this.maxInputTokens = maxInputTokens;
269
283
  this.serverTools = serverTools;
284
+ this.serverSideCompactionSupport = serverSideCompactionSupport;
285
+ this.serverSideCompactionEnabledByDefault = serverSideCompactionEnabledByDefault;
286
+ this.serverSideCompactionTokenThresholdByDefault = serverSideCompactionTokenThresholdByDefault;
270
287
  /** Provider identifier, used to key per-provider settings (e.g. server tool selections) and the capabilities UI. */
271
288
  this.vendor = 'anthropic';
272
289
  }
@@ -276,6 +293,29 @@ class AnthropicModel {
276
293
  ...(0, anthropic_reasoning_1.anthropicReasoningFor)(request.reasoning?.level, this.reasoningApi, this.supportsXHighEffort)
277
294
  };
278
295
  }
296
+ /** Resolves whether this request will route through the Anthropic Beta Messages API for server-side compaction. */
297
+ useServerSideCompaction(request) {
298
+ return (0, ai_core_1.resolveServerSideCompaction)(this.serverSideCompactionSupport, this.serverSideCompactionEnabledByDefault, request.compaction);
299
+ }
300
+ /**
301
+ * Augments the base message-create params with the beta flag and context-management edit when server-side compaction
302
+ * is enabled for the given request. When disabled, the params are returned unchanged so the default (stable) path is byte-for-byte identical.
303
+ */
304
+ applyCompactionParams(params, request) {
305
+ if (!this.useServerSideCompaction(request)) {
306
+ return params;
307
+ }
308
+ const betaParams = params;
309
+ const tokenThreshold = (0, ai_core_1.resolveCompactionTokenThreshold)(this.serverSideCompactionTokenThresholdByDefault, request.compaction);
310
+ betaParams.betas = ['compact-2026-01-12'];
311
+ betaParams.context_management = {
312
+ edits: [{
313
+ type: 'compact_20260112',
314
+ ...(tokenThreshold !== undefined && { trigger: { type: 'input_tokens', value: tokenThreshold } })
315
+ }]
316
+ };
317
+ return betaParams;
318
+ }
279
319
  async request(request, cancellationToken) {
280
320
  if (!request.messages?.length) {
281
321
  throw new Error('Request must contain at least one message');
@@ -294,7 +334,8 @@ class AnthropicModel {
294
334
  }
295
335
  async handleStreamingRequest(anthropic, request, cancellationToken, toolMessages) {
296
336
  const settings = this.getSettings(request);
297
- const { messages, systemMessage } = transformToAnthropicParams(request.messages, this.useCaching);
337
+ const useCompaction = this.useServerSideCompaction(request);
338
+ const { messages, systemMessage } = transformToAnthropicParams(request.messages, this.useCaching, useCompaction);
298
339
  let anthropicMessages = [...messages, ...(toolMessages ?? [])];
299
340
  if (this.useCaching && anthropicMessages.length) {
300
341
  anthropicMessages = addCacheControlToLastMessage(anthropicMessages);
@@ -307,7 +348,7 @@ class AnthropicModel {
307
348
  defer_loading: 'defer_loading' in tool ? tool.defer_loading : undefined
308
349
  })));
309
350
  }
310
- const params = {
351
+ const params = this.applyCompactionParams({
311
352
  max_tokens: this.maxTokens,
312
353
  messages: anthropicMessages,
313
354
  tools,
@@ -315,8 +356,13 @@ class AnthropicModel {
315
356
  model: this.model,
316
357
  ...(systemMessage && { system: systemMessage }),
317
358
  ...settings
318
- };
319
- const stream = anthropic.messages.stream(params, { maxRetries: this.maxRetries });
359
+ }, request);
360
+ // The beta message params are a structural superset of the stable ones for the content we build, so the cast at the beta call boundary is safe.
361
+ // The beta stream is likewise structurally compatible with the stable MessageStream: we narrow compaction events via explicit casts in the
362
+ // loop below, and casting the stream here keeps the iterator and lifecycle handling identical on both paths.
363
+ const stream = useCompaction
364
+ ? anthropic.beta.messages.stream(params, { maxRetries: this.maxRetries })
365
+ : anthropic.messages.stream(params, { maxRetries: this.maxRetries });
320
366
  cancellationToken?.onCancellationRequested(() => {
321
367
  stream.abort();
322
368
  });
@@ -332,6 +378,8 @@ class AnthropicModel {
332
378
  let currentMessage = undefined;
333
379
  let currentOutputTokens = 0;
334
380
  let usageYielded = false;
381
+ // Accumulator for a streamed compaction block (beta path only): content + opaque encrypted_content across start + deltas.
382
+ let compaction;
335
383
  try {
336
384
  for await (const event of stream) {
337
385
  if (event.type === 'content_block_start') {
@@ -342,6 +390,11 @@ class AnthropicModel {
342
390
  if (contentBlock.type === 'text') {
343
391
  yield { content: contentBlock.text };
344
392
  }
393
+ // Compaction blocks only occur on the beta path; guard via type narrowing.
394
+ if (contentBlock.type === 'compaction') {
395
+ const block = contentBlock;
396
+ compaction = { index: event.index, content: block.content, encrypted_content: block.encrypted_content };
397
+ }
345
398
  if (contentBlock.type === 'tool_use') {
346
399
  toolCall = { name: contentBlock.name, args: '', id: contentBlock.id, index: event.index };
347
400
  yield { tool_calls: [{ finished: false, id: toolCall.id, function: { name: toolCall.name, arguments: toolCall.args } }] };
@@ -403,6 +456,11 @@ class AnthropicModel {
403
456
  if (delta.type === 'text_delta') {
404
457
  yield { content: delta.text };
405
458
  }
459
+ if (compaction && delta.type === 'compaction_delta') {
460
+ const compactionDelta = delta;
461
+ compaction.content = compactionDelta.content;
462
+ compaction.encrypted_content = compactionDelta.encrypted_content;
463
+ }
406
464
  if (toolCall && delta.type === 'input_json_delta') {
407
465
  toolCall.args += delta.partial_json;
408
466
  yield { tool_calls: [{ function: { arguments: delta.partial_json } }] };
@@ -421,6 +479,11 @@ class AnthropicModel {
421
479
  serverToolCalls.push(serverToolCall);
422
480
  serverToolCall = undefined;
423
481
  }
482
+ if (compaction && compaction.index === event.index) {
483
+ const data = { content: compaction.content, encrypted_content: compaction.encrypted_content };
484
+ yield { compaction: { provider: 'anthropic', data, summary: compaction.content ?? undefined } };
485
+ compaction = undefined;
486
+ }
424
487
  }
425
488
  else if (event.type === 'message_delta') {
426
489
  currentOutputTokens = event.usage.output_tokens;
@@ -530,16 +593,20 @@ class AnthropicModel {
530
593
  }
531
594
  async handleNonStreamingRequest(anthropic, request) {
532
595
  const settings = this.getSettings(request);
533
- const { messages, systemMessage } = transformToAnthropicParams(request.messages);
534
- const params = {
596
+ const useCompaction = this.useServerSideCompaction(request);
597
+ const { messages, systemMessage } = transformToAnthropicParams(request.messages, true, useCompaction);
598
+ const params = this.applyCompactionParams({
535
599
  max_tokens: this.maxTokens,
536
600
  messages,
537
601
  model: this.model,
538
602
  ...(systemMessage && { system: systemMessage }),
539
603
  ...settings,
540
- };
604
+ }, request);
541
605
  try {
542
- const response = await anthropic.messages.create(params);
606
+ // The beta message params are a structural superset of the stable ones, so the cast at the beta call boundary is safe.
607
+ const response = useCompaction
608
+ ? await anthropic.beta.messages.create(params)
609
+ : await anthropic.messages.create(params);
543
610
  const textContent = response.content[0];
544
611
  const usage = response.usage ? {
545
612
  input_tokens: response.usage.input_tokens,