@theia/ai-chat 1.74.0-next.0 → 1.74.0-next.15

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 (43) hide show
  1. package/lib/browser/chat-tool-preference-bindings.d.ts +18 -8
  2. package/lib/browser/chat-tool-preference-bindings.d.ts.map +1 -1
  3. package/lib/browser/chat-tool-preference-bindings.js +27 -28
  4. package/lib/browser/chat-tool-preference-bindings.js.map +1 -1
  5. package/lib/browser/chat-tool-preference-bindings.spec.js +43 -46
  6. package/lib/browser/chat-tool-preference-bindings.spec.js.map +1 -1
  7. package/lib/browser/custom-agent-frontend-application-contribution.d.ts +22 -1
  8. package/lib/browser/custom-agent-frontend-application-contribution.d.ts.map +1 -1
  9. package/lib/browser/custom-agent-frontend-application-contribution.js +96 -14
  10. package/lib/browser/custom-agent-frontend-application-contribution.js.map +1 -1
  11. package/lib/common/chat-agents.d.ts.map +1 -1
  12. package/lib/common/chat-agents.js +4 -0
  13. package/lib/common/chat-agents.js.map +1 -1
  14. package/lib/common/chat-agents.spec.js +24 -0
  15. package/lib/common/chat-agents.spec.js.map +1 -1
  16. package/lib/common/chat-content-deserializer.d.ts.map +1 -1
  17. package/lib/common/chat-content-deserializer.js +4 -0
  18. package/lib/common/chat-content-deserializer.js.map +1 -1
  19. package/lib/common/chat-model.d.ts +83 -2
  20. package/lib/common/chat-model.d.ts.map +1 -1
  21. package/lib/common/chat-model.js +131 -1
  22. package/lib/common/chat-model.js.map +1 -1
  23. package/lib/common/chat-model.spec.d.ts +2 -0
  24. package/lib/common/chat-model.spec.d.ts.map +1 -0
  25. package/lib/common/chat-model.spec.js +42 -0
  26. package/lib/common/chat-model.spec.js.map +1 -0
  27. package/lib/common/chat-session-status.spec.d.ts +2 -0
  28. package/lib/common/chat-session-status.spec.d.ts.map +1 -0
  29. package/lib/common/chat-session-status.spec.js +213 -0
  30. package/lib/common/chat-session-status.spec.js.map +1 -0
  31. package/lib/common/tool-call-response-content.spec.js +36 -0
  32. package/lib/common/tool-call-response-content.spec.js.map +1 -1
  33. package/package.json +9 -9
  34. package/src/browser/chat-tool-preference-bindings.spec.ts +43 -48
  35. package/src/browser/chat-tool-preference-bindings.ts +42 -30
  36. package/src/browser/custom-agent-frontend-application-contribution.ts +105 -18
  37. package/src/common/chat-agents.spec.ts +31 -2
  38. package/src/common/chat-agents.ts +10 -0
  39. package/src/common/chat-content-deserializer.ts +11 -0
  40. package/src/common/chat-model.spec.ts +42 -0
  41. package/src/common/chat-model.ts +190 -1
  42. package/src/common/chat-session-status.spec.ts +280 -0
  43. package/src/common/tool-call-response-content.spec.ts +42 -0
@@ -1,13 +1,21 @@
1
- import { PreferenceService } from '@theia/core/lib/common/preferences';
2
1
  import { ToolConfirmationMode } from '../common/chat-tool-preferences';
3
- import { ToolRequest } from '@theia/ai-core';
4
- import { TrustAwarePreferenceReader } from '@theia/ai-core/lib/browser/trust-aware-preference-reader';
2
+ import { AiConfigurationService, ToolRequest } from '@theia/ai-core';
3
+ /**
4
+ * The loop-invariant inputs to {@link ToolConfirmationManager.computeEffectiveDefaultForTool}:
5
+ * the product-shipped per-tool schema defaults and the effective global default. Reading these
6
+ * once lets bulk operations avoid re-inspecting the preference schema per tool.
7
+ */
8
+ interface ToolConfirmationDefaults {
9
+ perToolDefaults?: {
10
+ [toolId: string]: ToolConfirmationMode;
11
+ };
12
+ globalDefault: ToolConfirmationMode;
13
+ }
5
14
  /**
6
15
  * Utility class to manage tool confirmation settings
7
16
  */
8
17
  export declare class ToolConfirmationManager {
9
- protected readonly preferenceService: PreferenceService;
10
- protected readonly trustAwareReader: TrustAwarePreferenceReader;
18
+ protected readonly aiConfigurationService: AiConfigurationService;
11
19
  protected sessionOverrides: Map<string, Map<string, ToolConfirmationMode>>;
12
20
  /**
13
21
  * Get the global default confirmation mode (used when no tool-specific entry exists).
@@ -71,14 +79,16 @@ export declare class ToolConfirmationManager {
71
79
  };
72
80
  resetAllConfirmationModeSettings(): Promise<void>;
73
81
  /**
74
- * Compute the effective default for a given tool, taking the schema-level default,
75
- * any product-shipped per-tool default, and the confirmAlwaysAllow flag into account.
82
+ * Read the loop-invariant inputs for {@link computeEffectiveDefaultForTool}: the product-shipped
83
+ * per-tool schema defaults and the effective global default.
76
84
  */
77
- protected computeEffectiveDefaultForTool(toolId: string, toolRequest?: ToolRequest): ToolConfirmationMode;
85
+ protected readConfirmationDefaults(): ToolConfirmationDefaults;
86
+ protected computeEffectiveDefaultForTool(toolId: string, toolRequest?: ToolRequest, defaults?: ToolConfirmationDefaults): ToolConfirmationMode;
78
87
  /**
79
88
  * Read the schema-level default for the default-confirmation preference.
80
89
  * Falls back to CONFIRM if the preference service has not registered the schema yet.
81
90
  */
82
91
  protected getDefaultPreferenceSchemaDefault(): ToolConfirmationMode;
83
92
  }
93
+ export {};
84
94
  //# sourceMappingURL=chat-tool-preference-bindings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-tool-preference-bindings.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,iBAAiB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,oBAAoB,EAGvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AAEtG;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;IAGhE,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAa;IAEvF;;;;;OAKG;IACH,0BAA0B,IAAI,oBAAoB;IAKlD;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAmBpG;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzG;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,oBAAoB,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjI;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5F;;OAEG;IACH,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5C;;OAEG;IACH,0BAA0B,IAAI;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE;IAMxE,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACH,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAezG;;;OAGG;IACH,SAAS,CAAC,iCAAiC,IAAI,oBAAoB;CAMtE"}
1
+ {"version":3,"file":"chat-tool-preference-bindings.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,oBAAoB,EAGvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErE;;;;GAIG;AACH,UAAU,wBAAwB;IAC9B,eAAe,CAAC,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;IAC7D,aAAa,EAAE,oBAAoB,CAAC;CACvC;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAa;IAEvF;;;;;OAKG;IACH,0BAA0B,IAAI,oBAAoB;IAKlD;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAmBpG;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzG;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,oBAAoB,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjI;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5F;;OAEG;IACH,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5C;;OAEG;IACH,0BAA0B,IAAI;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE;IAMxE,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACH,SAAS,CAAC,wBAAwB,IAAI,wBAAwB;IAO9D,SAAS,CAAC,8BAA8B,CACpC,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,EACzB,QAAQ,GAAE,wBAA0D,GACrE,oBAAoB;IAWvB;;;OAGG;IACH,SAAS,CAAC,iCAAiC,IAAI,oBAAoB;CAMtE"}
@@ -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":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,+BAA+B;AAC/B,4DAAyD;AACzD,mFAA0E;AAC1E,2EAIyC;AAEzC,oEAAuE;AACvE,4GAAsG;AAQtG,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,OAAgC,CAAC;IACrC,IAAI,qBAAoE,CAAC;IACzE,IAAI,oBAA4E,CAAC;IACjF,IAAI,wBAAoE,CAAC;IACzE,IAAI,iBAAmD,CAAC;IACxD,IAAI,OAAgB,CAAC;IACrB,IAAI,oBAA2F,CAAC;IAChG,IAAI,oBAAqE,CAAC;IAE1E,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,kBAAqC,EAAe,EAAE,CAAC,CAAC;QAC3F,EAAE;QACF,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;QACvB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9C,kBAAkB;KACrB,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,wBAAwB,GAAG,EAAE,CAAC;QAC9B,iBAAiB,GAAG,SAAS,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;QACf,oBAAoB,GAAG,SAAS,CAAC;QACjC,oBAAoB,GAAG,SAAS,CAAC;QAEjC,qBAAqB,GAAG;YACpB,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;gBAChE,IAAI,GAAG,KAAK,oDAA4B,EAAE,CAAC;oBACvC,wBAAwB,GAAG,KAAmD,CAAC;gBACnF,CAAC;qBAAM,IAAI,GAAG,KAAK,4DAAoC,EAAE,CAAC;oBACtD,iBAAiB,GAAG,KAA6B,CAAC;gBACtD,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC;YACF,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC7C,IAAI,IAAI,KAAK,oDAA4B,EAAE,CAAC;oBACxC,OAAO,oBAAoB,CAAC;gBAChC,CAAC;gBACD,IAAI,IAAI,KAAK,4DAAoC,EAAE,CAAC;oBAChD,OAAO,oBAAoB,CAAC;gBAChC,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC;SACuD,CAAC;QAE9D,oBAAoB,GAAG;YACnB,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAI,IAAY,EAAE,QAAY,EAAiB,EAAE;gBACzE,IAAI,IAAI,KAAK,oDAA4B,EAAE,CAAC;oBACxC,IAAI,OAAO,EAAE,CAAC;wBACV,OAAQ,wBAAyC,IAAI,QAAQ,CAAC;oBAClE,CAAC;oBACD,MAAM,KAAK,GAAG,oBAAoB,EAAE,WAAW,IAAI,oBAAoB,EAAE,YAAY,CAAC;oBACtF,OAAO,CAAE,KAAsB,IAAI,QAAQ,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,IAAI,KAAK,4DAAoC,EAAE,CAAC;oBAChD,IAAI,OAAO,EAAE,CAAC;wBACV,OAAQ,iBAAkC,IAAI,QAAQ,CAAC;oBAC3D,CAAC;oBACD,MAAM,KAAK,GAAG,oBAAoB,EAAE,WAAW,IAAI,oBAAoB,EAAE,YAAY,CAAC;oBACtF,OAAO,CAAE,KAAsB,IAAI,QAAQ,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC;SACgE,CAAC;QAEvE,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,uDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACpE,SAAS,CAAC,IAAI,CAAC,+BAAiB,CAAC,CAAC,eAAe,CAAC,qBAAqD,CAAC,CAAC;QACzG,SAAS,CAAC,IAAI,CAAC,0DAA0B,CAAC,CAAC,eAAe,CAAC,oBAA6D,CAAC,CAAC;QAC1H,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,uDAAuB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,IAAA,aAAM,EAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACvD,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,IAAA,aAAM,EAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,oBAAoB,GAAG,EAAE,YAAY,EAAE,4CAAoB,CAAC,QAAQ,EAAE,CAAC;YACvE,IAAA,aAAM,EAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAC/D,OAAO,CAAC,0BAA0B,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;YACtE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4DAAoC,CAAC,CAAC;YAC3G,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;YACxG,IAAA,aAAM,EAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACjD,wBAAwB,CAAC,QAAQ,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YACnE,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YACzE,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,iBAAiB,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YAClD,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YAC/E,wBAAwB,CAAC,eAAe,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YAC9E,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;YACtF,OAAO,GAAG,KAAK,CAAC;YAChB,6EAA6E;YAC7E,+EAA+E;YAC/E,iEAAiE;YACjE,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,oBAAoB,GAAG;gBACnB,YAAY,EAAE,4CAAoB,CAAC,OAAO;gBAC1C,cAAc,EAAE,4CAAoB,CAAC,YAAY;aACpD,CAAC;YAEF,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;YAC1F,OAAO,GAAG,KAAK,CAAC;YAChB,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,oBAAoB,GAAG;gBACnB,cAAc,EAAE,4CAAoB,CAAC,YAAY;aACpD,CAAC;YAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACjF,OAAO,GAAG,IAAI,CAAC;YACf,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YAEtD,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,4CAAoB,CAAC,YAAY,CAAC,CAAC;YAC9E,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,4CAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC7F,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,4CAAoB,CAAC,YAAY,CAAC,CAAC;YAC9E,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC3E,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,4CAAoB,CAAC,OAAO,CAAC,CAAC;YACzE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACjD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,4CAAoB,CAAC,QAAQ,CAAC,CAAC;YAC1E,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YACzE,oBAAoB,GAAG;gBACnB,YAAY,EAAE,EAAE,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,EAAE;aAC5D,CAAC;YACF,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACpF,oBAAoB,GAAG;gBACnB,YAAY,EAAE,EAAE,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,EAAE;aAC5D,CAAC;YACF,wBAAwB,CAAC,QAAQ,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACvE,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;YACzF,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,4CAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxF,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YAC/F,0EAA0E;YAC1E,+EAA+E;YAC/E,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,4CAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC7F,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACpF,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,wBAAwB,CAAC,eAAe,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YAC9E,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,4CAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxF,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC9D,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,4CAAoB,CAAC,QAAQ,CAAC,CAAC;YACtE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1F,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;YACpG,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC9D,wBAAwB,CAAC,QAAQ,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YACnE,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1F,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1F,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEtF,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;YAC/F,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1F,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEtF,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAEhC,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;YAC/F,IAAA,aAAM,EAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAC/D,wBAAwB,CAAC,OAAO,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtE,wBAAwB,CAAC,OAAO,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YAElE,MAAM,QAAQ,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;YAEtD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3B,KAAK,EAAE,4CAAoB,CAAC,YAAY;gBACxC,KAAK,EAAE,4CAAoB,CAAC,QAAQ;aACvC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;YACtD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACnC,wBAAwB,CAAC,OAAO,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtE,wBAAwB,CAAC,OAAO,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YAElE,OAAO,CAAC,gCAAgC,EAAE,CAAC;YAE3C,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oDAA4B,CAAC,CAAC;YACnG,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC3D,iBAAiB,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACtD,wBAAwB,CAAC,OAAO,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YAElE,OAAO,CAAC,gCAAgC,EAAE,CAAC;YAE3C,IAAA,aAAM,EAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAClE,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC5D,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;YAE3F,IAAI,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC9E,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,OAAO,CAAC,CAAC;YAEpD,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,4CAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAE5F,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;YAE7F,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1E,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YACxD,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAE5D,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,4CAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExF,IAAA,aAAM,EAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChE,IAAA,aAAM,EAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;YAEzF,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAChF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
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,7 +1,8 @@
1
1
  import { PromptFragmentCustomizationService } from '@theia/ai-core';
2
2
  import { Command, CommandContribution, CommandRegistry, ILogger, MessageService } from '@theia/core';
3
- import { FrontendApplicationContribution } from '@theia/core/lib/browser';
3
+ import { FrontendApplicationContribution, LocalStorageService } from '@theia/core/lib/browser';
4
4
  import { CustomAgentFactory } from './custom-agent-factory';
5
+ type CustomAgentMigrationReports = Awaited<ReturnType<PromptFragmentCustomizationService['migrateCustomAgentsYaml']>>;
5
6
  export declare const RERUN_CUSTOM_AGENT_MIGRATION_COMMAND: Command;
6
7
  export declare class AICustomAgentsFrontendApplicationContribution implements FrontendApplicationContribution, CommandContribution {
7
8
  protected readonly customAgentFactory: CustomAgentFactory;
@@ -9,11 +10,31 @@ export declare class AICustomAgentsFrontendApplicationContribution implements Fr
9
10
  private readonly agentService;
10
11
  private readonly chatAgentService;
11
12
  protected readonly messageService?: MessageService;
13
+ protected readonly storageService: LocalStorageService;
12
14
  protected readonly logger: ILogger;
13
15
  private knownCustomAgents;
16
+ /** Ensures the migration consent prompt is shown at most once per session. */
17
+ protected migrationPromptShown: boolean;
18
+ /** Guards against concurrent pending-migration checks from re-entrant refreshes. */
19
+ protected migrationCheckInFlight: boolean;
14
20
  registerCommands(commands: CommandRegistry): void;
15
21
  onStart(): void;
16
22
  protected refreshCustomAgents(): Promise<void>;
23
+ /**
24
+ * Prompts the user once per session before migrating legacy `customAgents.yml` files (and before
25
+ * correcting agents migrated with merged headings by an earlier Theia version). Nothing is written
26
+ * until the user confirms. Declining is safe: legacy `customAgents.yml` files keep being loaded, so
27
+ * agents continue to work unmigrated, and the prompt reappears next session until they migrate or
28
+ * pick "Don't Show Again".
29
+ *
30
+ * This is intentionally not backed by a preference: the whole migration path is transitional and
31
+ * will be removed once the legacy format is no longer supported. The "don't show again" choice is
32
+ * persisted in local storage (like the dev-container suggestion), so there is no setting to retire.
33
+ */
34
+ protected maybeMigrate(): Promise<void>;
35
+ protected promptAndMigrate(): Promise<void>;
36
+ protected showMigrationSummary(reports: CustomAgentMigrationReports): void;
17
37
  onStop(): void;
18
38
  }
39
+ export {};
19
40
  //# sourceMappingURL=custom-agent-frontend-application-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-agent-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/custom-agent-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAwC,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAG1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,eAAO,MAAM,oCAAoC,EAAE,OAQlD,CAAC;AAEF,qBACa,6CAA8C,YAAW,+BAA+B,EAAE,mBAAmB;IAEtH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;IAG5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAG5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAGpD,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,OAAO,CAAC,iBAAiB,CAAkD;IAE3E,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAoBjD,OAAO,IAAI,IAAI;cAKC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCpD,MAAM,IAAI,IAAI;CAEjB"}
1
+ {"version":3,"file":"custom-agent-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/custom-agent-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAwC,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,KAAK,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAKtH,eAAO,MAAM,oCAAoC,EAAE,OAQlD,CAAC;AAEF,qBACa,6CAA8C,YAAW,+BAA+B,EAAE,mBAAmB;IAEtH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;IAG5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAG5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAGpD,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,OAAO,CAAC,iBAAiB,CAAkD;IAE3E,8EAA8E;IAC9E,SAAS,CAAC,oBAAoB,UAAS;IACvC,oFAAoF;IACpF,SAAS,CAAC,sBAAsB,UAAS;IAEzC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAWjD,OAAO,IAAI,IAAI;cAKC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BpD;;;;;;;;;;OAUG;cACa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAyB7B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCjD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAmB1E,MAAM,IAAI,IAAI;CAEjB"}