@theia/ai-chat 1.74.0-next.8 → 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 (94) hide show
  1. package/lib/browser/agent-delegation-tool.js +6 -7
  2. package/lib/browser/agent-delegation-tool.js.map +1 -1
  3. package/lib/browser/agent-delegation-tool.spec.js +13 -0
  4. package/lib/browser/agent-delegation-tool.spec.js.map +1 -1
  5. package/lib/browser/chat-session-store-impl.d.ts.map +1 -1
  6. package/lib/browser/chat-session-store-impl.js +2 -0
  7. package/lib/browser/chat-session-store-impl.js.map +1 -1
  8. package/lib/browser/chat-session-store-impl.spec.js +51 -2
  9. package/lib/browser/chat-session-store-impl.spec.js.map +1 -1
  10. package/lib/browser/chat-tool-preference-bindings.d.ts +18 -8
  11. package/lib/browser/chat-tool-preference-bindings.d.ts.map +1 -1
  12. package/lib/browser/chat-tool-preference-bindings.js +27 -28
  13. package/lib/browser/chat-tool-preference-bindings.js.map +1 -1
  14. package/lib/browser/chat-tool-preference-bindings.spec.js +43 -46
  15. package/lib/browser/chat-tool-preference-bindings.spec.js.map +1 -1
  16. package/lib/common/chat-agents.d.ts +8 -0
  17. package/lib/common/chat-agents.d.ts.map +1 -1
  18. package/lib/common/chat-agents.js +35 -1
  19. package/lib/common/chat-agents.js.map +1 -1
  20. package/lib/common/chat-agents.spec.js +94 -0
  21. package/lib/common/chat-agents.spec.js.map +1 -1
  22. package/lib/common/chat-auto-save.spec.js +13 -0
  23. package/lib/common/chat-auto-save.spec.js.map +1 -1
  24. package/lib/common/chat-content-deserializer.d.ts.map +1 -1
  25. package/lib/common/chat-content-deserializer.js +4 -0
  26. package/lib/common/chat-content-deserializer.js.map +1 -1
  27. package/lib/common/chat-model-serialization.d.ts +12 -1
  28. package/lib/common/chat-model-serialization.d.ts.map +1 -1
  29. package/lib/common/chat-model-serialization.js.map +1 -1
  30. package/lib/common/chat-model-serialization.spec.js +29 -0
  31. package/lib/common/chat-model-serialization.spec.js.map +1 -1
  32. package/lib/common/chat-model.d.ts +104 -2
  33. package/lib/common/chat-model.d.ts.map +1 -1
  34. package/lib/common/chat-model.js +151 -2
  35. package/lib/common/chat-model.js.map +1 -1
  36. package/lib/common/chat-model.spec.d.ts +2 -0
  37. package/lib/common/chat-model.spec.d.ts.map +1 -0
  38. package/lib/common/chat-model.spec.js +42 -0
  39. package/lib/common/chat-model.spec.js.map +1 -0
  40. package/lib/common/chat-request-parser.d.ts +4 -1
  41. package/lib/common/chat-request-parser.d.ts.map +1 -1
  42. package/lib/common/chat-request-parser.js +43 -3
  43. package/lib/common/chat-request-parser.js.map +1 -1
  44. package/lib/common/chat-request-parser.spec.js +59 -0
  45. package/lib/common/chat-request-parser.spec.js.map +1 -1
  46. package/lib/common/chat-service-deletion.spec.js +43 -0
  47. package/lib/common/chat-service-deletion.spec.js.map +1 -1
  48. package/lib/common/chat-service-pinned-agent.spec.js +52 -2
  49. package/lib/common/chat-service-pinned-agent.spec.js.map +1 -1
  50. package/lib/common/chat-service-session-events.spec.d.ts +2 -0
  51. package/lib/common/chat-service-session-events.spec.d.ts.map +1 -0
  52. package/lib/common/chat-service-session-events.spec.js +130 -0
  53. package/lib/common/chat-service-session-events.spec.js.map +1 -0
  54. package/lib/common/chat-service.d.ts +3 -0
  55. package/lib/common/chat-service.d.ts.map +1 -1
  56. package/lib/common/chat-service.js +60 -6
  57. package/lib/common/chat-service.js.map +1 -1
  58. package/lib/common/chat-service.spec.d.ts +2 -0
  59. package/lib/common/chat-service.spec.d.ts.map +1 -0
  60. package/lib/common/chat-service.spec.js +177 -0
  61. package/lib/common/chat-service.spec.js.map +1 -0
  62. package/lib/common/chat-session-status.spec.d.ts +2 -0
  63. package/lib/common/chat-session-status.spec.d.ts.map +1 -0
  64. package/lib/common/chat-session-status.spec.js +213 -0
  65. package/lib/common/chat-session-status.spec.js.map +1 -0
  66. package/lib/common/chat-session-store.d.ts +8 -0
  67. package/lib/common/chat-session-store.d.ts.map +1 -1
  68. package/lib/common/tool-call-response-content.spec.js +36 -0
  69. package/lib/common/tool-call-response-content.spec.js.map +1 -1
  70. package/package.json +11 -11
  71. package/src/browser/agent-delegation-tool.spec.ts +16 -0
  72. package/src/browser/agent-delegation-tool.ts +7 -7
  73. package/src/browser/chat-session-store-impl.spec.ts +62 -2
  74. package/src/browser/chat-session-store-impl.ts +2 -0
  75. package/src/browser/chat-tool-preference-bindings.spec.ts +43 -48
  76. package/src/browser/chat-tool-preference-bindings.ts +42 -30
  77. package/src/common/chat-agents.spec.ts +112 -2
  78. package/src/common/chat-agents.ts +44 -1
  79. package/src/common/chat-auto-save.spec.ts +18 -1
  80. package/src/common/chat-content-deserializer.ts +11 -0
  81. package/src/common/chat-model-serialization.spec.ts +38 -0
  82. package/src/common/chat-model-serialization.ts +12 -1
  83. package/src/common/chat-model.spec.ts +42 -0
  84. package/src/common/chat-model.ts +233 -2
  85. package/src/common/chat-request-parser.spec.ts +69 -1
  86. package/src/common/chat-request-parser.ts +51 -6
  87. package/src/common/chat-service-deletion.spec.ts +52 -0
  88. package/src/common/chat-service-pinned-agent.spec.ts +58 -2
  89. package/src/common/chat-service-session-events.spec.ts +161 -0
  90. package/src/common/chat-service.spec.ts +211 -0
  91. package/src/common/chat-service.ts +64 -8
  92. package/src/common/chat-session-status.spec.ts +280 -0
  93. package/src/common/chat-session-store.ts +8 -0
  94. package/src/common/tool-call-response-content.spec.ts +42 -0
@@ -18,9 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ToolConfirmationManager = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
- const preferences_1 = require("@theia/core/lib/common/preferences");
22
21
  const chat_tool_preferences_1 = require("../common/chat-tool-preferences");
23
- const trust_aware_preference_reader_1 = require("@theia/ai-core/lib/browser/trust-aware-preference-reader");
22
+ const ai_core_1 = require("@theia/ai-core");
24
23
  /**
25
24
  * Utility class to manage tool confirmation settings
26
25
  */
@@ -36,7 +35,7 @@ let ToolConfirmationManager = class ToolConfirmationManager {
36
35
  * the default to a more permissive value.
37
36
  */
38
37
  getDefaultConfirmationMode() {
39
- const value = this.trustAwareReader.get(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE);
38
+ const value = this.aiConfigurationService.get(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE);
40
39
  return value ?? this.getDefaultPreferenceSchemaDefault();
41
40
  }
42
41
  /**
@@ -46,7 +45,7 @@ let ToolConfirmationManager = class ToolConfirmationManager {
46
45
  * `await` completion and react to errors (e.g. show a notification on failure).
47
46
  */
48
47
  setDefaultConfirmationMode(mode) {
49
- return this.preferenceService.updateValue(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE, mode);
48
+ return this.aiConfigurationService.update(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE, mode);
50
49
  }
51
50
  /**
52
51
  * Get the confirmation mode for a specific tool, considering session overrides first (per chat).
@@ -64,7 +63,7 @@ let ToolConfirmationManager = class ToolConfirmationManager {
64
63
  if (chatMap && chatMap.has(toolId)) {
65
64
  return chatMap.get(toolId);
66
65
  }
67
- const toolConfirmation = this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
66
+ const toolConfirmation = this.aiConfigurationService.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
68
67
  if (toolId in toolConfirmation) {
69
68
  return toolConfirmation[toolId];
70
69
  }
@@ -83,17 +82,17 @@ let ToolConfirmationManager = class ToolConfirmationManager {
83
82
  * @param toolRequest - Optional ToolRequest to check for confirmAlwaysAllow flag
84
83
  */
85
84
  setConfirmationMode(toolId, mode, toolRequest) {
86
- const current = this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
85
+ const current = this.aiConfigurationService.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
87
86
  const effectiveDefault = this.computeEffectiveDefaultForTool(toolId, toolRequest);
88
87
  if (mode === effectiveDefault) {
89
88
  if (toolId in current) {
90
89
  const { [toolId]: _, ...rest } = current;
91
- return this.preferenceService.updateValue(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, rest);
90
+ return this.aiConfigurationService.update(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, rest);
92
91
  }
93
92
  return Promise.resolve();
94
93
  }
95
94
  const updated = { ...current, [toolId]: mode };
96
- return this.preferenceService.updateValue(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, updated);
95
+ return this.aiConfigurationService.update(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, updated);
97
96
  }
98
97
  /**
99
98
  * Apply multiple per-tool confirmation modes with a single preference write.
@@ -103,11 +102,13 @@ let ToolConfirmationManager = class ToolConfirmationManager {
103
102
  * round-trip per tool.
104
103
  */
105
104
  setConfirmationModes(updates) {
106
- const current = this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
105
+ const current = this.aiConfigurationService.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
107
106
  const next = { ...current };
107
+ // Read the loop-invariant schema/global defaults once, not once per tool.
108
+ const defaults = this.readConfirmationDefaults();
108
109
  let changed = false;
109
110
  for (const { toolId, mode, toolRequest } of updates) {
110
- const effectiveDefault = this.computeEffectiveDefaultForTool(toolId, toolRequest);
111
+ const effectiveDefault = this.computeEffectiveDefaultForTool(toolId, toolRequest, defaults);
111
112
  if (mode === effectiveDefault) {
112
113
  if (toolId in next) {
113
114
  delete next[toolId];
@@ -123,7 +124,7 @@ let ToolConfirmationManager = class ToolConfirmationManager {
123
124
  if (!changed) {
124
125
  return Promise.resolve();
125
126
  }
126
- return this.preferenceService.updateValue(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, next);
127
+ return this.aiConfigurationService.update(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, next);
127
128
  }
128
129
  /**
129
130
  * Set the confirmation mode for a specific tool for this session only (not persisted, per chat)
@@ -151,45 +152,43 @@ let ToolConfirmationManager = class ToolConfirmationManager {
151
152
  * Get all tool confirmation settings
152
153
  */
153
154
  getAllConfirmationSettings() {
154
- return this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
155
+ return this.aiConfigurationService.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
155
156
  }
156
157
  resetAllConfirmationModeSettings() {
157
- return this.preferenceService.updateValue(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {});
158
+ return this.aiConfigurationService.update(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {});
158
159
  }
159
160
  /**
160
- * Compute the effective default for a given tool, taking the schema-level default,
161
- * any product-shipped per-tool default, and the confirmAlwaysAllow flag into account.
161
+ * Read the loop-invariant inputs for {@link computeEffectiveDefaultForTool}: the product-shipped
162
+ * per-tool schema defaults and the effective global default.
162
163
  */
163
- computeEffectiveDefaultForTool(toolId, toolRequest) {
164
- const perToolDefaults = this.preferenceService.inspect(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE)?.defaultValue;
165
- const perToolDefault = perToolDefaults?.[toolId];
164
+ readConfirmationDefaults() {
165
+ const perToolDefaults = this.aiConfigurationService.inspect(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE)?.defaultValue;
166
+ return { perToolDefaults, globalDefault: this.getDefaultConfirmationMode() };
167
+ }
168
+ computeEffectiveDefaultForTool(toolId, toolRequest, defaults = this.readConfirmationDefaults()) {
169
+ const perToolDefault = defaults.perToolDefaults?.[toolId];
166
170
  if (perToolDefault) {
167
171
  return perToolDefault;
168
172
  }
169
- const globalDefault = this.getDefaultConfirmationMode();
170
- if (toolRequest?.confirmAlwaysAllow && globalDefault === chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW) {
173
+ if (toolRequest?.confirmAlwaysAllow && defaults.globalDefault === chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW) {
171
174
  return chat_tool_preferences_1.ToolConfirmationMode.CONFIRM;
172
175
  }
173
- return globalDefault;
176
+ return defaults.globalDefault;
174
177
  }
175
178
  /**
176
179
  * Read the schema-level default for the default-confirmation preference.
177
180
  * Falls back to CONFIRM if the preference service has not registered the schema yet.
178
181
  */
179
182
  getDefaultPreferenceSchemaDefault() {
180
- const schemaDefault = this.preferenceService.inspect(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE)?.defaultValue;
183
+ const schemaDefault = this.aiConfigurationService.inspect(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE)?.defaultValue;
181
184
  return schemaDefault ?? chat_tool_preferences_1.ToolConfirmationMode.CONFIRM;
182
185
  }
183
186
  };
184
187
  exports.ToolConfirmationManager = ToolConfirmationManager;
185
188
  tslib_1.__decorate([
186
- (0, inversify_1.inject)(preferences_1.PreferenceService),
189
+ (0, inversify_1.inject)(ai_core_1.AiConfigurationService),
187
190
  tslib_1.__metadata("design:type", Object)
188
- ], ToolConfirmationManager.prototype, "preferenceService", void 0);
189
- tslib_1.__decorate([
190
- (0, inversify_1.inject)(trust_aware_preference_reader_1.TrustAwarePreferenceReader),
191
- tslib_1.__metadata("design:type", trust_aware_preference_reader_1.TrustAwarePreferenceReader)
192
- ], ToolConfirmationManager.prototype, "trustAwareReader", void 0);
191
+ ], ToolConfirmationManager.prototype, "aiConfigurationService", void 0);
193
192
  exports.ToolConfirmationManager = ToolConfirmationManager = tslib_1.__decorate([
194
193
  (0, inversify_1.injectable)()
195
194
  ], ToolConfirmationManager);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-tool-preference-bindings.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-tool-preference-bindings.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,10 @@ const sinon = require("sinon");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const chat_tool_preference_bindings_1 = require("./chat-tool-preference-bindings");
22
22
  const chat_tool_preferences_1 = require("../common/chat-tool-preferences");
23
- const preferences_1 = require("@theia/core/lib/common/preferences");
24
- const trust_aware_preference_reader_1 = require("@theia/ai-core/lib/browser/trust-aware-preference-reader");
23
+ const ai_core_1 = require("@theia/ai-core");
25
24
  describe('ToolConfirmationManager', () => {
26
25
  let manager;
27
- let preferenceServiceMock;
28
- let trustAwareReaderMock;
26
+ let aiConfigurationServiceMock;
29
27
  let storedPerToolPreferences;
30
28
  let storedDefaultMode;
31
29
  let trusted;
@@ -44,27 +42,9 @@ describe('ToolConfirmationManager', () => {
44
42
  trusted = true;
45
43
  perToolInspectResult = undefined;
46
44
  defaultInspectResult = undefined;
47
- preferenceServiceMock = {
48
- updateValue: sinon.stub().callsFake((key, value) => {
49
- if (key === chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE) {
50
- storedPerToolPreferences = value;
51
- }
52
- else if (key === chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE) {
53
- storedDefaultMode = value;
54
- }
55
- return Promise.resolve();
56
- }),
57
- inspect: sinon.stub().callsFake((name) => {
58
- if (name === chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE) {
59
- return perToolInspectResult;
60
- }
61
- if (name === chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE) {
62
- return defaultInspectResult;
63
- }
64
- return undefined;
65
- })
66
- };
67
- trustAwareReaderMock = {
45
+ // The manager talks only to AiConfigurationService. `get` mirrors the trust-aware read
46
+ // semantics, `update` the smart write, and `inspect` exposes schema defaults.
47
+ aiConfigurationServiceMock = {
68
48
  get: sinon.stub().callsFake((name, fallback) => {
69
49
  if (name === chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE) {
70
50
  if (trusted) {
@@ -81,12 +61,29 @@ describe('ToolConfirmationManager', () => {
81
61
  return (value ?? fallback);
82
62
  }
83
63
  return fallback;
64
+ }),
65
+ update: sinon.stub().callsFake((key, value) => {
66
+ if (key === chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE) {
67
+ storedPerToolPreferences = value;
68
+ }
69
+ else if (key === chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE) {
70
+ storedDefaultMode = value;
71
+ }
72
+ return Promise.resolve();
73
+ }),
74
+ inspect: sinon.stub().callsFake((name) => {
75
+ if (name === chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE) {
76
+ return perToolInspectResult;
77
+ }
78
+ if (name === chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE) {
79
+ return defaultInspectResult;
80
+ }
81
+ return undefined;
84
82
  })
85
83
  };
86
84
  const container = new inversify_1.Container();
87
85
  container.bind(chat_tool_preference_bindings_1.ToolConfirmationManager).toSelf().inSingletonScope();
88
- container.bind(preferences_1.PreferenceService).toConstantValue(preferenceServiceMock);
89
- container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(trustAwareReaderMock);
86
+ container.bind(ai_core_1.AiConfigurationService).toConstantValue(aiConfigurationServiceMock);
90
87
  manager = container.get(chat_tool_preference_bindings_1.ToolConfirmationManager);
91
88
  });
92
89
  describe('getDefaultConfirmationMode', () => {
@@ -105,9 +102,9 @@ describe('ToolConfirmationManager', () => {
105
102
  describe('setDefaultConfirmationMode', () => {
106
103
  it('persists the new default through the preference service', () => {
107
104
  manager.setDefaultConfirmationMode(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
108
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
109
- (0, chai_1.expect)(preferenceServiceMock.updateValue.firstCall.args[0]).to.equal(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE);
110
- (0, chai_1.expect)(preferenceServiceMock.updateValue.firstCall.args[1]).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
105
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
106
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.firstCall.args[0]).to.equal(chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE);
107
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.firstCall.args[1]).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
111
108
  (0, chai_1.expect)(storedDefaultMode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
112
109
  });
113
110
  });
@@ -189,27 +186,27 @@ describe('ToolConfirmationManager', () => {
189
186
  describe('setConfirmationMode', () => {
190
187
  it('persists ALWAYS_ALLOW for a regular tool when default is CONFIRM', () => {
191
188
  manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
192
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
189
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
193
190
  (0, chai_1.expect)(storedPerToolPreferences['regularTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
194
191
  });
195
192
  it('persists ALWAYS_ALLOW for confirmAlwaysAllow tools', () => {
196
193
  const toolRequest = createToolRequest('dangerousTool', true);
197
194
  manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
198
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
195
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
199
196
  (0, chai_1.expect)(storedPerToolPreferences['dangerousTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
200
197
  });
201
198
  it('does not persist when mode matches the global default', () => {
202
199
  storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
203
200
  manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
204
- (0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
201
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.called).to.be.false;
205
202
  });
206
203
  it('does not persist CONFIRM for a regular tool when default is CONFIRM', () => {
207
204
  manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
208
- (0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
205
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.called).to.be.false;
209
206
  });
210
207
  it('persists DISABLED when default is CONFIRM', () => {
211
208
  manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
212
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
209
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
213
210
  (0, chai_1.expect)(storedPerToolPreferences['regularTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
214
211
  });
215
212
  it('does not persist when mode matches a tool-specific schema default', () => {
@@ -217,7 +214,7 @@ describe('ToolConfirmationManager', () => {
217
214
  defaultValue: { 'myTool': chat_tool_preferences_1.ToolConfirmationMode.DISABLED }
218
215
  };
219
216
  manager.setConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
220
- (0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
217
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.called).to.be.false;
221
218
  });
222
219
  it('removes an existing entry when mode matches the tool-specific schema default', () => {
223
220
  perToolInspectResult = {
@@ -225,13 +222,13 @@ describe('ToolConfirmationManager', () => {
225
222
  };
226
223
  storedPerToolPreferences['myTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
227
224
  manager.setConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
228
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
225
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
229
226
  (0, chai_1.expect)(storedPerToolPreferences['myTool']).to.be.undefined;
230
227
  });
231
228
  it('does not persist CONFIRM for confirmAlwaysAllow tools (matches effective default)', () => {
232
229
  const toolRequest = createToolRequest('dangerousTool', true);
233
230
  manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, toolRequest);
234
- (0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
231
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.called).to.be.false;
235
232
  });
236
233
  it('persists ALWAYS_ALLOW for a confirmAlwaysAllow tool when global default is ALWAYS_ALLOW', () => {
237
234
  // The effective default for confirmAlwaysAllow tools is CONFIRM even when
@@ -239,19 +236,19 @@ describe('ToolConfirmationManager', () => {
239
236
  storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
240
237
  const toolRequest = createToolRequest('dangerousTool', true);
241
238
  manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
242
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
239
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
243
240
  (0, chai_1.expect)(storedPerToolPreferences['dangerousTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
244
241
  });
245
242
  it('removes an existing entry when setting CONFIRM for a confirmAlwaysAllow tool', () => {
246
243
  const toolRequest = createToolRequest('dangerousTool', true);
247
244
  storedPerToolPreferences['dangerousTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
248
245
  manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, toolRequest);
249
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
246
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
250
247
  (0, chai_1.expect)(storedPerToolPreferences['dangerousTool']).to.be.undefined;
251
248
  });
252
249
  it('persists DISABLED for any tool when default is CONFIRM', () => {
253
250
  manager.setConfirmationMode('anyTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
254
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
251
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
255
252
  (0, chai_1.expect)(storedPerToolPreferences['anyTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
256
253
  });
257
254
  });
@@ -303,9 +300,9 @@ describe('ToolConfirmationManager', () => {
303
300
  storedPerToolPreferences['toolA'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
304
301
  storedPerToolPreferences['toolB'] = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
305
302
  manager.resetAllConfirmationModeSettings();
306
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
307
- (0, chai_1.expect)(preferenceServiceMock.updateValue.firstCall.args[0]).to.equal(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE);
308
- (0, chai_1.expect)(preferenceServiceMock.updateValue.firstCall.args[1]).to.deep.equal({});
303
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
304
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.firstCall.args[0]).to.equal(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE);
305
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.firstCall.args[1]).to.deep.equal({});
309
306
  });
310
307
  it('does not modify the default-confirmation preference', () => {
311
308
  storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
@@ -320,7 +317,7 @@ describe('ToolConfirmationManager', () => {
320
317
  let mode = manager.getConfirmationMode('shellExecute', 'chat-1', toolRequest);
321
318
  (0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
322
319
  manager.setConfirmationMode('shellExecute', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
323
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
320
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
324
321
  (0, chai_1.expect)(storedPerToolPreferences['shellExecute']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
325
322
  mode = manager.getConfirmationMode('shellExecute', 'chat-1', toolRequest);
326
323
  (0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
@@ -328,7 +325,7 @@ describe('ToolConfirmationManager', () => {
328
325
  it('persists "Disabled" for confirmAlwaysAllow tools', () => {
329
326
  const toolRequest = createToolRequest('shellExecute', true);
330
327
  manager.setConfirmationMode('shellExecute', chat_tool_preferences_1.ToolConfirmationMode.DISABLED, toolRequest);
331
- (0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
328
+ (0, chai_1.expect)(aiConfigurationServiceMock.update.calledOnce).to.be.true;
332
329
  (0, chai_1.expect)(storedPerToolPreferences['shellExecute']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
333
330
  const mode = manager.getConfirmationMode('shellExecute', 'chat-1', toolRequest);
334
331
  (0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-tool-preference-bindings.spec.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-tool-preference-bindings.spec.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.spec.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,14 @@ export declare abstract class AbstractChatAgent implements ChatAgent {
99
99
  protected handleError(request: MutableChatRequestModel, error: Error): void;
100
100
  protected getLanguageModelSelector(languageModelPurpose: string): LanguageModelRequirement;
101
101
  protected getLanguageModel(languageModelPurpose: string): Promise<LanguageModel>;
102
+ /**
103
+ * Resolves the language model for a request, honoring a per-session model override
104
+ * ({@link CommonChatSessionSettings.modelId}) when set and resolvable, and otherwise falling
105
+ * back to the agent's configured model for the given purpose.
106
+ */
107
+ protected getLanguageModelForRequest(request: MutableChatRequestModel, languageModelPurpose: string): Promise<LanguageModel>;
108
+ /** Resolves a concrete language model (or alias) id to a ready model, or `undefined` if none is ready. */
109
+ protected resolveModelById(modelId: string): Promise<LanguageModel | undefined>;
102
110
  protected selectLanguageModel(selector: LanguageModelRequirement): Promise<LanguageModel>;
103
111
  protected getSystemMessageDescription(context: AIVariableContext): Promise<SystemMessageDescription | undefined>;
104
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chat-agents.d.ts","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-agents.d.ts","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"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"}
@@ -107,10 +107,12 @@ let AbstractChatAgent = class AbstractChatAgent {
107
107
  }
108
108
  async invoke(request) {
109
109
  try {
110
- const languageModel = await this.getLanguageModel(this.defaultLanguageModelPurpose);
110
+ const languageModel = await this.getLanguageModelForRequest(request, this.defaultLanguageModelPurpose);
111
111
  if (!languageModel) {
112
112
  throw new Error(core_1.nls.localize('theia/ai/chat/couldNotFindMatchingLM', 'Couldn\'t find a matching language model. Please check your setup!'));
113
113
  }
114
+ // Record the model that actually handled this request so the chat thread can show it.
115
+ request.response.setLanguageModel(languageModel.id);
114
116
  const context = {
115
117
  model: request.session,
116
118
  request,
@@ -169,6 +171,34 @@ let AbstractChatAgent = class AbstractChatAgent {
169
171
  async getLanguageModel(languageModelPurpose) {
170
172
  return this.selectLanguageModel(this.getLanguageModelSelector(languageModelPurpose));
171
173
  }
174
+ /**
175
+ * Resolves the language model for a request, honoring a per-session model override
176
+ * ({@link CommonChatSessionSettings.modelId}) when set and resolvable, and otherwise falling
177
+ * back to the agent's configured model for the given purpose.
178
+ */
179
+ async getLanguageModelForRequest(request, languageModelPurpose) {
180
+ const overrideId = request.session.settings?.commonSettings?.modelId;
181
+ if (overrideId) {
182
+ // Resolve the override directly. We must not go through `selectLanguageModel` here, because
183
+ // that honors the per-agent model configured in the AI settings, which would take
184
+ // precedence over and thus ignore the session override.
185
+ const overridden = await this.resolveModelById(overrideId);
186
+ if (overridden) {
187
+ return overridden;
188
+ }
189
+ }
190
+ return this.getLanguageModel(languageModelPurpose);
191
+ }
192
+ /** Resolves a concrete language model (or alias) id to a ready model, or `undefined` if none is ready. */
193
+ async resolveModelById(modelId) {
194
+ const registry = this.languageModelRegistry;
195
+ if (typeof registry.getReadyLanguageModel === 'function') {
196
+ // Frontend registry: resolves aliases and only returns the model if it is ready.
197
+ return registry.getReadyLanguageModel(modelId);
198
+ }
199
+ const model = await registry.getLanguageModel(modelId);
200
+ return model?.status.status === 'ready' ? model : undefined;
201
+ }
172
202
  async selectLanguageModel(selector) {
173
203
  const languageModel = await this.languageModelRegistry.selectLanguageModel({ agent: this.id, ...selector });
174
204
  if (!languageModel) {
@@ -361,6 +391,7 @@ let AbstractChatAgent = class AbstractChatAgent {
361
391
  serverTools: enabledServerTools.length > 0 ? enabledServerTools : undefined,
362
392
  settings,
363
393
  reasoning: commonSettings?.reasoning,
394
+ compaction: commonSettings?.compaction,
364
395
  agentId: this.id,
365
396
  sessionId: request.session.id,
366
397
  requestId: request.id,
@@ -593,6 +624,9 @@ let AbstractStreamParsingChatAgent = class AbstractStreamParsingChatAgent extend
593
624
  request.response.setTokenUsage(this.mapUsageResponsePart(token));
594
625
  return [];
595
626
  }
627
+ if ((0, ai_core_1.isCompactionResponsePart)(token)) {
628
+ return new chat_model_1.CompactionChatResponseContentImpl(token.compaction.provider, token.compaction.data, token.compaction.summary);
629
+ }
596
630
  return this.defaultContentFactory.create('', request);
597
631
  }
598
632
  /**