@theia/ai-chat 1.71.0 → 1.72.0-next.11
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.
- package/lib/browser/chat-tool-preference-bindings.d.ts +28 -4
- package/lib/browser/chat-tool-preference-bindings.d.ts.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.js +55 -32
- package/lib/browser/chat-tool-preference-bindings.js.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.spec.js +168 -98
- package/lib/browser/chat-tool-preference-bindings.spec.js.map +1 -1
- package/lib/common/chat-tool-preferences.d.ts +2 -0
- package/lib/common/chat-tool-preferences.d.ts.map +1 -1
- package/lib/common/chat-tool-preferences.js +26 -9
- package/lib/common/chat-tool-preferences.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/chat-tool-preference-bindings.spec.ts +194 -104
- package/src/browser/chat-tool-preference-bindings.ts +71 -39
- package/src/common/chat-tool-preferences.ts +29 -8
|
@@ -26,9 +26,11 @@ describe('ToolConfirmationManager', () => {
|
|
|
26
26
|
let manager;
|
|
27
27
|
let preferenceServiceMock;
|
|
28
28
|
let trustAwareReaderMock;
|
|
29
|
-
let
|
|
29
|
+
let storedPerToolPreferences;
|
|
30
|
+
let storedDefaultMode;
|
|
30
31
|
let trusted;
|
|
31
|
-
let
|
|
32
|
+
let perToolInspectResult;
|
|
33
|
+
let defaultInspectResult;
|
|
32
34
|
const createToolRequest = (id, confirmAlwaysAllow) => ({
|
|
33
35
|
id,
|
|
34
36
|
name: id,
|
|
@@ -37,24 +39,48 @@ describe('ToolConfirmationManager', () => {
|
|
|
37
39
|
confirmAlwaysAllow
|
|
38
40
|
});
|
|
39
41
|
beforeEach(() => {
|
|
40
|
-
|
|
42
|
+
storedPerToolPreferences = {};
|
|
43
|
+
storedDefaultMode = undefined;
|
|
41
44
|
trusted = true;
|
|
42
|
-
|
|
45
|
+
perToolInspectResult = undefined;
|
|
46
|
+
defaultInspectResult = undefined;
|
|
43
47
|
preferenceServiceMock = {
|
|
44
|
-
updateValue: sinon.stub().callsFake((
|
|
45
|
-
|
|
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
|
+
}
|
|
46
55
|
return Promise.resolve();
|
|
47
56
|
}),
|
|
48
|
-
inspect: sinon.stub().callsFake(() =>
|
|
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
|
+
})
|
|
49
66
|
};
|
|
50
67
|
trustAwareReaderMock = {
|
|
51
|
-
get: sinon.stub().callsFake((
|
|
52
|
-
if (
|
|
53
|
-
|
|
68
|
+
get: sinon.stub().callsFake((name, fallback) => {
|
|
69
|
+
if (name === chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE) {
|
|
70
|
+
if (trusted) {
|
|
71
|
+
return storedPerToolPreferences ?? fallback;
|
|
72
|
+
}
|
|
73
|
+
const value = perToolInspectResult?.globalValue ?? perToolInspectResult?.defaultValue;
|
|
74
|
+
return (value ?? fallback);
|
|
75
|
+
}
|
|
76
|
+
if (name === chat_tool_preferences_1.DEFAULT_TOOL_CONFIRMATION_PREFERENCE) {
|
|
77
|
+
if (trusted) {
|
|
78
|
+
return storedDefaultMode ?? fallback;
|
|
79
|
+
}
|
|
80
|
+
const value = defaultInspectResult?.globalValue ?? defaultInspectResult?.defaultValue;
|
|
81
|
+
return (value ?? fallback);
|
|
54
82
|
}
|
|
55
|
-
|
|
56
|
-
const value = insp?.globalValue ?? insp?.defaultValue;
|
|
57
|
-
return (value ?? fallback);
|
|
83
|
+
return fallback;
|
|
58
84
|
})
|
|
59
85
|
};
|
|
60
86
|
const container = new inversify_1.Container();
|
|
@@ -63,203 +89,247 @@ describe('ToolConfirmationManager', () => {
|
|
|
63
89
|
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(trustAwareReaderMock);
|
|
64
90
|
manager = container.get(chat_tool_preference_bindings_1.ToolConfirmationManager);
|
|
65
91
|
});
|
|
92
|
+
describe('getDefaultConfirmationMode', () => {
|
|
93
|
+
it('returns CONFIRM when nothing is set', () => {
|
|
94
|
+
(0, chai_1.expect)(manager.getDefaultConfirmationMode()).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
95
|
+
});
|
|
96
|
+
it('returns the value stored in the user preference', () => {
|
|
97
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
98
|
+
(0, chai_1.expect)(manager.getDefaultConfirmationMode()).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
99
|
+
});
|
|
100
|
+
it('falls back to the schema-level default when no user value is set', () => {
|
|
101
|
+
defaultInspectResult = { defaultValue: chat_tool_preferences_1.ToolConfirmationMode.DISABLED };
|
|
102
|
+
(0, chai_1.expect)(manager.getDefaultConfirmationMode()).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('setDefaultConfirmationMode', () => {
|
|
106
|
+
it('persists the new default through the preference service', () => {
|
|
107
|
+
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);
|
|
111
|
+
(0, chai_1.expect)(storedDefaultMode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
66
114
|
describe('getConfirmationMode', () => {
|
|
67
|
-
it('
|
|
115
|
+
it('returns CONFIRM for regular tools by default', () => {
|
|
68
116
|
const mode = manager.getConfirmationMode('regularTool', 'chat-1');
|
|
69
|
-
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.
|
|
117
|
+
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
70
118
|
});
|
|
71
|
-
it('
|
|
119
|
+
it('returns CONFIRM for confirmAlwaysAllow tools by default', () => {
|
|
72
120
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
73
121
|
const mode = manager.getConfirmationMode('dangerousTool', 'chat-1', toolRequest);
|
|
74
122
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
75
123
|
});
|
|
76
|
-
it('
|
|
77
|
-
|
|
124
|
+
it('returns the global default for regular tools when set', () => {
|
|
125
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
126
|
+
const mode = manager.getConfirmationMode('regularTool', 'chat-1');
|
|
127
|
+
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
128
|
+
});
|
|
129
|
+
it('returns tool-specific preference when set', () => {
|
|
130
|
+
storedPerToolPreferences['myTool'] = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
|
|
78
131
|
const mode = manager.getConfirmationMode('myTool', 'chat-1');
|
|
79
132
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
80
133
|
});
|
|
81
|
-
it('
|
|
134
|
+
it('returns session override when set', () => {
|
|
82
135
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, 'chat-1');
|
|
83
136
|
const mode = manager.getConfirmationMode('myTool', 'chat-1');
|
|
84
137
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
85
138
|
});
|
|
86
|
-
it('
|
|
87
|
-
|
|
139
|
+
it('does not inherit global ALWAYS_ALLOW for confirmAlwaysAllow tools', () => {
|
|
140
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
88
141
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
89
142
|
const mode = manager.getConfirmationMode('dangerousTool', 'chat-1', toolRequest);
|
|
90
143
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
91
144
|
});
|
|
92
|
-
it('
|
|
93
|
-
|
|
145
|
+
it('inherits global DISABLED for confirmAlwaysAllow tools', () => {
|
|
146
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
|
|
94
147
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
95
148
|
const mode = manager.getConfirmationMode('dangerousTool', 'chat-1', toolRequest);
|
|
96
149
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
97
150
|
});
|
|
151
|
+
it('respects an explicit per-tool ALWAYS_ALLOW for confirmAlwaysAllow tools', () => {
|
|
152
|
+
storedPerToolPreferences['dangerousTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
153
|
+
const toolRequest = createToolRequest('dangerousTool', true);
|
|
154
|
+
const mode = manager.getConfirmationMode('dangerousTool', 'chat-1', toolRequest);
|
|
155
|
+
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
156
|
+
});
|
|
98
157
|
});
|
|
99
158
|
describe('workspace trust', () => {
|
|
100
|
-
it('ignores workspace
|
|
159
|
+
it('ignores a workspace-scoped default of ALWAYS_ALLOW when workspace is untrusted', () => {
|
|
101
160
|
trusted = false;
|
|
102
|
-
// Simulate the effective (workspace-merged)
|
|
103
|
-
//
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM },
|
|
110
|
-
workspaceValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW }
|
|
161
|
+
// Simulate the effective (workspace-merged) default being ALWAYS_ALLOW while
|
|
162
|
+
// the user/global scope is unset and the schema default is CONFIRM. With trust
|
|
163
|
+
// disabled the workspace value must be dropped, so CONFIRM wins.
|
|
164
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
165
|
+
defaultInspectResult = {
|
|
166
|
+
defaultValue: chat_tool_preferences_1.ToolConfirmationMode.CONFIRM,
|
|
167
|
+
workspaceValue: chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW
|
|
111
168
|
};
|
|
112
169
|
const mode = manager.getConfirmationMode('someTool', 'chat-1');
|
|
113
170
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
114
171
|
});
|
|
115
|
-
it('blocks confirmAlwaysAllow bypass via workspace
|
|
172
|
+
it('blocks confirmAlwaysAllow bypass via workspace ALWAYS_ALLOW default when untrusted', () => {
|
|
116
173
|
trusted = false;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
workspaceValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW }
|
|
174
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
175
|
+
defaultInspectResult = {
|
|
176
|
+
workspaceValue: chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW
|
|
121
177
|
};
|
|
122
178
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
123
179
|
const mode = manager.getConfirmationMode('dangerousTool', 'chat-1', toolRequest);
|
|
124
|
-
// Without the workspace value the map is empty, so the default for a
|
|
125
|
-
// confirmAlwaysAllow tool (CONFIRM) is used.
|
|
126
180
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
127
181
|
});
|
|
128
|
-
it('honours workspace
|
|
182
|
+
it('honours a workspace-scoped ALWAYS_ALLOW default when workspace is trusted', () => {
|
|
129
183
|
trusted = true;
|
|
130
|
-
|
|
184
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
131
185
|
const mode = manager.getConfirmationMode('regularTool', 'chat-1');
|
|
132
186
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
133
187
|
});
|
|
134
188
|
});
|
|
135
189
|
describe('setConfirmationMode', () => {
|
|
136
|
-
it('
|
|
137
|
-
storedPreferences['*'] = chat_tool_preferences_1.ToolConfirmationMode.CONFIRM;
|
|
190
|
+
it('persists ALWAYS_ALLOW for a regular tool when default is CONFIRM', () => {
|
|
138
191
|
manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
139
192
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
140
|
-
(0, chai_1.expect)(
|
|
193
|
+
(0, chai_1.expect)(storedPerToolPreferences['regularTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
141
194
|
});
|
|
142
|
-
it('
|
|
195
|
+
it('persists ALWAYS_ALLOW for confirmAlwaysAllow tools', () => {
|
|
143
196
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
144
197
|
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
|
|
145
198
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
146
|
-
(0, chai_1.expect)(
|
|
199
|
+
(0, chai_1.expect)(storedPerToolPreferences['dangerousTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
147
200
|
});
|
|
148
|
-
it('
|
|
201
|
+
it('does not persist when mode matches the global default', () => {
|
|
202
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
149
203
|
manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
150
204
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
151
205
|
});
|
|
152
|
-
it('
|
|
153
|
-
inspectResult = {
|
|
154
|
-
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
155
|
-
};
|
|
206
|
+
it('does not persist CONFIRM for a regular tool when default is CONFIRM', () => {
|
|
156
207
|
manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
157
208
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
158
209
|
});
|
|
159
|
-
it('
|
|
160
|
-
inspectResult = {
|
|
161
|
-
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
162
|
-
};
|
|
210
|
+
it('persists DISABLED when default is CONFIRM', () => {
|
|
163
211
|
manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
164
212
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
165
|
-
(0, chai_1.expect)(
|
|
213
|
+
(0, chai_1.expect)(storedPerToolPreferences['regularTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
166
214
|
});
|
|
167
|
-
it('
|
|
168
|
-
|
|
215
|
+
it('does not persist when mode matches a tool-specific schema default', () => {
|
|
216
|
+
perToolInspectResult = {
|
|
169
217
|
defaultValue: { 'myTool': chat_tool_preferences_1.ToolConfirmationMode.DISABLED }
|
|
170
218
|
};
|
|
171
219
|
manager.setConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
172
220
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
173
221
|
});
|
|
174
|
-
it('
|
|
175
|
-
|
|
222
|
+
it('removes an existing entry when mode matches the tool-specific schema default', () => {
|
|
223
|
+
perToolInspectResult = {
|
|
176
224
|
defaultValue: { 'myTool': chat_tool_preferences_1.ToolConfirmationMode.DISABLED }
|
|
177
225
|
};
|
|
178
|
-
|
|
226
|
+
storedPerToolPreferences['myTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
179
227
|
manager.setConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
180
228
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
181
|
-
(0, chai_1.expect)(
|
|
229
|
+
(0, chai_1.expect)(storedPerToolPreferences['myTool']).to.be.undefined;
|
|
182
230
|
});
|
|
183
|
-
it('
|
|
184
|
-
inspectResult = {
|
|
185
|
-
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
186
|
-
};
|
|
231
|
+
it('does not persist CONFIRM for confirmAlwaysAllow tools (matches effective default)', () => {
|
|
187
232
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
188
233
|
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, toolRequest);
|
|
189
234
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
190
235
|
});
|
|
191
|
-
it('
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
236
|
+
it('persists ALWAYS_ALLOW for a confirmAlwaysAllow tool when global default is ALWAYS_ALLOW', () => {
|
|
237
|
+
// The effective default for confirmAlwaysAllow tools is CONFIRM even when
|
|
238
|
+
// the global default is ALWAYS_ALLOW, so ALWAYS_ALLOW must still be persisted.
|
|
239
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
195
240
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
196
241
|
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
|
|
197
242
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
198
|
-
(0, chai_1.expect)(
|
|
243
|
+
(0, chai_1.expect)(storedPerToolPreferences['dangerousTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
199
244
|
});
|
|
200
|
-
it('
|
|
201
|
-
|
|
202
|
-
|
|
245
|
+
it('removes an existing entry when setting CONFIRM for a confirmAlwaysAllow tool', () => {
|
|
246
|
+
const toolRequest = createToolRequest('dangerousTool', true);
|
|
247
|
+
storedPerToolPreferences['dangerousTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
248
|
+
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, toolRequest);
|
|
203
249
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
204
|
-
(0, chai_1.expect)(
|
|
250
|
+
(0, chai_1.expect)(storedPerToolPreferences['dangerousTool']).to.be.undefined;
|
|
205
251
|
});
|
|
206
|
-
it('
|
|
252
|
+
it('persists DISABLED for any tool when default is CONFIRM', () => {
|
|
207
253
|
manager.setConfirmationMode('anyTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
208
254
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
209
|
-
(0, chai_1.expect)(
|
|
210
|
-
});
|
|
211
|
-
it('should remove entry when setting CONFIRM for confirmAlwaysAllow tools (matches effective default)', () => {
|
|
212
|
-
const toolRequest = createToolRequest('dangerousTool', true);
|
|
213
|
-
storedPreferences['dangerousTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
214
|
-
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, toolRequest);
|
|
215
|
-
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
216
|
-
(0, chai_1.expect)(storedPreferences['dangerousTool']).to.be.undefined;
|
|
255
|
+
(0, chai_1.expect)(storedPerToolPreferences['anyTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
217
256
|
});
|
|
218
257
|
});
|
|
219
258
|
describe('setSessionConfirmationMode', () => {
|
|
220
|
-
it('
|
|
259
|
+
it('sets a session override for a specific chat', () => {
|
|
221
260
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, 'chat-1');
|
|
222
261
|
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-1')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
223
|
-
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-2')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.
|
|
262
|
+
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-2')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
224
263
|
});
|
|
225
|
-
it('
|
|
226
|
-
|
|
264
|
+
it('prioritizes session override over persisted preference', () => {
|
|
265
|
+
storedPerToolPreferences['myTool'] = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
|
|
227
266
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, 'chat-1');
|
|
228
267
|
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-1')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
229
268
|
});
|
|
230
269
|
});
|
|
231
270
|
describe('clearSessionOverrides', () => {
|
|
232
|
-
it('
|
|
271
|
+
it('clears overrides for a specific chat', () => {
|
|
233
272
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, 'chat-1');
|
|
234
273
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED, 'chat-2');
|
|
235
274
|
manager.clearSessionOverrides('chat-1');
|
|
236
|
-
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-1')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.
|
|
275
|
+
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-1')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
237
276
|
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-2')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
238
277
|
});
|
|
239
|
-
it('
|
|
278
|
+
it('clears all overrides when no chatId is given', () => {
|
|
240
279
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, 'chat-1');
|
|
241
280
|
manager.setSessionConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED, 'chat-2');
|
|
242
281
|
manager.clearSessionOverrides();
|
|
243
|
-
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-1')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.
|
|
244
|
-
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-2')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.
|
|
282
|
+
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-1')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
283
|
+
(0, chai_1.expect)(manager.getConfirmationMode('myTool', 'chat-2')).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
describe('getAllConfirmationSettings', () => {
|
|
287
|
+
it('returns the per-tool record from the trust-aware reader', () => {
|
|
288
|
+
storedPerToolPreferences['toolA'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
289
|
+
storedPerToolPreferences['toolB'] = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
|
|
290
|
+
const settings = manager.getAllConfirmationSettings();
|
|
291
|
+
(0, chai_1.expect)(settings).to.deep.equal({
|
|
292
|
+
toolA: chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW,
|
|
293
|
+
toolB: chat_tool_preferences_1.ToolConfirmationMode.DISABLED
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
it('returns an empty record when no tool-specific entries are configured', () => {
|
|
297
|
+
const settings = manager.getAllConfirmationSettings();
|
|
298
|
+
(0, chai_1.expect)(settings).to.deep.equal({});
|
|
299
|
+
});
|
|
300
|
+
});
|
|
301
|
+
describe('resetAllConfirmationModeSettings', () => {
|
|
302
|
+
it('clears all per-tool entries', () => {
|
|
303
|
+
storedPerToolPreferences['toolA'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
304
|
+
storedPerToolPreferences['toolB'] = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
|
|
305
|
+
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({});
|
|
309
|
+
});
|
|
310
|
+
it('does not modify the default-confirmation preference', () => {
|
|
311
|
+
storedDefaultMode = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
312
|
+
storedPerToolPreferences['toolA'] = chat_tool_preferences_1.ToolConfirmationMode.DISABLED;
|
|
313
|
+
manager.resetAllConfirmationModeSettings();
|
|
314
|
+
(0, chai_1.expect)(storedDefaultMode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
245
315
|
});
|
|
246
316
|
});
|
|
247
317
|
describe('confirmAlwaysAllow tools - "Always Approve" workflow', () => {
|
|
248
|
-
it('
|
|
318
|
+
it('persists "Always Allow" for confirmAlwaysAllow tools', () => {
|
|
249
319
|
const toolRequest = createToolRequest('shellExecute', 'This tool has full system access.');
|
|
250
320
|
let mode = manager.getConfirmationMode('shellExecute', 'chat-1', toolRequest);
|
|
251
321
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
252
322
|
manager.setConfirmationMode('shellExecute', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
|
|
253
323
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
254
|
-
(0, chai_1.expect)(
|
|
324
|
+
(0, chai_1.expect)(storedPerToolPreferences['shellExecute']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
255
325
|
mode = manager.getConfirmationMode('shellExecute', 'chat-1', toolRequest);
|
|
256
326
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
257
327
|
});
|
|
258
|
-
it('
|
|
328
|
+
it('persists "Disabled" for confirmAlwaysAllow tools', () => {
|
|
259
329
|
const toolRequest = createToolRequest('shellExecute', true);
|
|
260
330
|
manager.setConfirmationMode('shellExecute', chat_tool_preferences_1.ToolConfirmationMode.DISABLED, toolRequest);
|
|
261
331
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
262
|
-
(0, chai_1.expect)(
|
|
332
|
+
(0, chai_1.expect)(storedPerToolPreferences['shellExecute']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
263
333
|
const mode = manager.getConfirmationMode('shellExecute', 'chat-1', toolRequest);
|
|
264
334
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
265
335
|
});
|
|
@@ -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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"}
|
|
@@ -14,12 +14,14 @@ export declare enum ToolConfirmationMode {
|
|
|
14
14
|
DISABLED = "disabled"
|
|
15
15
|
}
|
|
16
16
|
export declare const TOOL_CONFIRMATION_PREFERENCE = "ai-features.chat.toolConfirmation";
|
|
17
|
+
export declare const DEFAULT_TOOL_CONFIRMATION_PREFERENCE = "ai-features.chat.defaultToolConfirmation";
|
|
17
18
|
export declare const TOOL_CONFIRMATION_TIMEOUT_PREFERENCE = "ai-features.chat.toolConfirmationTimeout";
|
|
18
19
|
export declare const chatToolPreferences: PreferenceSchema;
|
|
19
20
|
export interface ChatToolConfiguration {
|
|
20
21
|
[TOOL_CONFIRMATION_PREFERENCE]: {
|
|
21
22
|
[toolId: string]: ToolConfirmationMode;
|
|
22
23
|
};
|
|
24
|
+
[DEFAULT_TOOL_CONFIRMATION_PREFERENCE]: ToolConfirmationMode;
|
|
23
25
|
[TOOL_CONFIRMATION_TIMEOUT_PREFERENCE]: number;
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=chat-tool-preferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tool-preferences.d.ts","sourceRoot":"","sources":["../../src/common/chat-tool-preferences.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGH,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAsC,GAAG,mBAAmB,CAE7I;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-tool-preferences.d.ts","sourceRoot":"","sources":["../../src/common/chat-tool-preferences.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGH,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAsC,GAAG,mBAAmB,CAE7I;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;AAC/F,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;AAc/F,eAAO,MAAM,mBAAmB,EAAE,gBAoCjC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,CAAC,4BAA4B,CAAC,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;IAC3E,CAAC,oCAAoC,CAAC,EAAE,oBAAoB,CAAC;IAC7D,CAAC,oCAAoC,CAAC,EAAE,MAAM,CAAC;CAClD"}
|
|
@@ -15,7 +15,7 @@
|
|
|
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.chatToolPreferences = exports.TOOL_CONFIRMATION_TIMEOUT_PREFERENCE = exports.TOOL_CONFIRMATION_PREFERENCE = exports.ToolConfirmationMode = exports.ChatToolPreferences = exports.ChatToolPreferenceContribution = void 0;
|
|
18
|
+
exports.chatToolPreferences = exports.TOOL_CONFIRMATION_TIMEOUT_PREFERENCE = exports.DEFAULT_TOOL_CONFIRMATION_PREFERENCE = exports.TOOL_CONFIRMATION_PREFERENCE = exports.ToolConfirmationMode = exports.ChatToolPreferences = exports.ChatToolPreferenceContribution = void 0;
|
|
19
19
|
exports.createChatToolPreferences = createChatToolPreferences;
|
|
20
20
|
exports.bindChatToolPreferences = bindChatToolPreferences;
|
|
21
21
|
const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
|
|
@@ -45,23 +45,40 @@ var ToolConfirmationMode;
|
|
|
45
45
|
ToolConfirmationMode["DISABLED"] = "disabled";
|
|
46
46
|
})(ToolConfirmationMode || (exports.ToolConfirmationMode = ToolConfirmationMode = {}));
|
|
47
47
|
exports.TOOL_CONFIRMATION_PREFERENCE = 'ai-features.chat.toolConfirmation';
|
|
48
|
+
exports.DEFAULT_TOOL_CONFIRMATION_PREFERENCE = 'ai-features.chat.defaultToolConfirmation';
|
|
48
49
|
exports.TOOL_CONFIRMATION_TIMEOUT_PREFERENCE = 'ai-features.chat.toolConfirmationTimeout';
|
|
50
|
+
const TOOL_CONFIRMATION_MODE_VALUES = [
|
|
51
|
+
ToolConfirmationMode.ALWAYS_ALLOW,
|
|
52
|
+
ToolConfirmationMode.CONFIRM,
|
|
53
|
+
ToolConfirmationMode.DISABLED
|
|
54
|
+
];
|
|
55
|
+
const TOOL_CONFIRMATION_MODE_DESCRIPTIONS = [
|
|
56
|
+
core_1.nls.localize('theia/ai/chat/toolConfirmation/alwaysAllow/description', 'Execute tools automatically without confirmation'),
|
|
57
|
+
core_1.nls.localize('theia/ai/chat/toolConfirmation/confirm/description', 'Ask for confirmation before executing tools'),
|
|
58
|
+
core_1.nls.localize('theia/ai/chat/toolConfirmation/disabled/description', 'Disable tool execution')
|
|
59
|
+
];
|
|
49
60
|
exports.chatToolPreferences = {
|
|
50
61
|
properties: {
|
|
62
|
+
[exports.DEFAULT_TOOL_CONFIRMATION_PREFERENCE]: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
enum: TOOL_CONFIRMATION_MODE_VALUES,
|
|
65
|
+
enumDescriptions: TOOL_CONFIRMATION_MODE_DESCRIPTIONS,
|
|
66
|
+
default: ToolConfirmationMode.CONFIRM,
|
|
67
|
+
description: core_1.nls.localize('theia/ai/chat/defaultToolConfirmation/description', 'Default confirmation behavior used for tools that do not have a tool-specific entry under ' +
|
|
68
|
+
'"ai-features.chat.toolConfirmation". Tools that explicitly require confirmation before being auto-approved ' +
|
|
69
|
+
'always default to "confirm" regardless of this setting.'),
|
|
70
|
+
title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
|
|
71
|
+
},
|
|
51
72
|
[exports.TOOL_CONFIRMATION_PREFERENCE]: {
|
|
52
73
|
type: 'object',
|
|
53
74
|
additionalProperties: {
|
|
54
75
|
type: 'string',
|
|
55
|
-
enum:
|
|
56
|
-
enumDescriptions:
|
|
57
|
-
core_1.nls.localize('theia/ai/chat/toolConfirmation/yolo/description', 'Execute tools automatically without confirmation'),
|
|
58
|
-
core_1.nls.localize('theia/ai/chat/toolConfirmation/confirm/description', 'Ask for confirmation before executing tools'),
|
|
59
|
-
core_1.nls.localize('theia/ai/chat/toolConfirmation/disabled/description', 'Disable tool execution')
|
|
60
|
-
]
|
|
76
|
+
enum: TOOL_CONFIRMATION_MODE_VALUES,
|
|
77
|
+
enumDescriptions: TOOL_CONFIRMATION_MODE_DESCRIPTIONS
|
|
61
78
|
},
|
|
62
79
|
default: {},
|
|
63
|
-
description: core_1.nls.localize('theia/ai/chat/toolConfirmation/description', 'Configure confirmation behavior for
|
|
64
|
-
'
|
|
80
|
+
description: core_1.nls.localize('theia/ai/chat/toolConfirmation/description', 'Configure confirmation behavior for individual tools. Key is the tool ID, value is the confirmation mode. ' +
|
|
81
|
+
'To change the default for all tools, use "ai-features.chat.defaultToolConfirmation".'),
|
|
65
82
|
title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
|
|
66
83
|
},
|
|
67
84
|
[exports.TOOL_CONFIRMATION_TIMEOUT_PREFERENCE]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tool-preferences.js","sourceRoot":"","sources":["../../src/common/chat-tool-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;;;AAkBhF,8DAEC;AAED,0DAQC;AA5BD,uFAA0F;AAC1F,sCAAkC;AAClC,oEAM4C;AAK/B,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAC1E,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjE,SAAgB,yBAAyB,CAAC,WAA8B,EAAE,SAA2B,2BAAmB;IACpH,OAAO,IAAA,mCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAqB;IACzD,IAAI,CAAC,2BAAmB,CAAC,CAAC,cAAc,CAAC,CAAC,GAAuB,EAAE,EAAE;QACjE,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAoB,+BAAiB,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAyB,sCAA8B,CAAC,CAAC;QAC/F,OAAO,yBAAyB,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtB,IAAI,CAAC,sCAA8B,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,2BAAmB,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,oCAAsB,CAAC,CAAC,SAAS,CAAC,sCAA8B,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,qDAA6B,CAAA;IAC7B,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;AACzB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B;AAEY,QAAA,4BAA4B,GAAG,mCAAmC,CAAC;AACnE,QAAA,oCAAoC,GAAG,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-tool-preferences.js","sourceRoot":"","sources":["../../src/common/chat-tool-preferences.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-chat",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.72.0-next.11+b1c4bde4705",
|
|
4
4
|
"description": "Theia - AI Chat Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-core": "1.
|
|
7
|
-
"@theia/core": "1.
|
|
8
|
-
"@theia/editor": "1.
|
|
9
|
-
"@theia/file-search": "1.
|
|
10
|
-
"@theia/filesystem": "1.
|
|
11
|
-
"@theia/monaco": "1.
|
|
6
|
+
"@theia/ai-core": "1.72.0-next.11+b1c4bde4705",
|
|
7
|
+
"@theia/core": "1.72.0-next.11+b1c4bde4705",
|
|
8
|
+
"@theia/editor": "1.72.0-next.11+b1c4bde4705",
|
|
9
|
+
"@theia/file-search": "1.72.0-next.11+b1c4bde4705",
|
|
10
|
+
"@theia/filesystem": "1.72.0-next.11+b1c4bde4705",
|
|
11
|
+
"@theia/monaco": "1.72.0-next.11+b1c4bde4705",
|
|
12
12
|
"@theia/monaco-editor-core": "1.108.201",
|
|
13
|
-
"@theia/workspace": "1.
|
|
13
|
+
"@theia/workspace": "1.72.0-next.11+b1c4bde4705",
|
|
14
14
|
"js-yaml": "^4.1.1",
|
|
15
15
|
"tslib": "^2.6.2"
|
|
16
16
|
},
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"nyc": {
|
|
55
55
|
"extends": "../../configs/nyc.json"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "b1c4bde470503b1cc20454841cf2c84ed7deb63f"
|
|
58
58
|
}
|