@theia/ai-chat 1.71.0-next.6 → 1.71.0-next.72
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/agent-delegation-tool.d.ts +4 -10
- package/lib/browser/agent-delegation-tool.d.ts.map +1 -1
- package/lib/browser/agent-delegation-tool.js +31 -22
- package/lib/browser/agent-delegation-tool.js.map +1 -1
- package/lib/browser/agent-delegation-tool.spec.js +3 -2
- package/lib/browser/agent-delegation-tool.spec.js.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.d.ts +3 -2
- package/lib/browser/chat-tool-preference-bindings.d.ts.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.js +9 -8
- package/lib/browser/chat-tool-preference-bindings.js.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.spec.js +72 -21
- package/lib/browser/chat-tool-preference-bindings.spec.js.map +1 -1
- package/lib/browser/chat-tool-request-service.d.ts.map +1 -1
- package/lib/browser/chat-tool-request-service.js +3 -1
- package/lib/browser/chat-tool-request-service.js.map +1 -1
- package/lib/common/chat-agents.d.ts +5 -2
- package/lib/common/chat-agents.d.ts.map +1 -1
- package/lib/common/chat-agents.js +54 -1
- package/lib/common/chat-agents.js.map +1 -1
- package/lib/common/chat-agents.spec.d.ts +2 -0
- package/lib/common/chat-agents.spec.d.ts.map +1 -0
- package/lib/common/chat-agents.spec.js +100 -0
- package/lib/common/chat-agents.spec.js.map +1 -0
- package/lib/common/chat-model-serialization.d.ts +2 -0
- package/lib/common/chat-model-serialization.d.ts.map +1 -1
- package/lib/common/chat-model-serialization.js.map +1 -1
- package/lib/common/chat-model.d.ts +59 -11
- package/lib/common/chat-model.d.ts.map +1 -1
- package/lib/common/chat-model.js +82 -2
- package/lib/common/chat-model.js.map +1 -1
- package/lib/common/chat-request-parser.spec.js +5 -2
- package/lib/common/chat-request-parser.spec.js.map +1 -1
- package/lib/common/chat-response-model.spec.d.ts +2 -0
- package/lib/common/chat-response-model.spec.d.ts.map +1 -0
- package/lib/common/chat-response-model.spec.js +43 -0
- package/lib/common/chat-response-model.spec.js.map +1 -0
- package/package.json +10 -10
- package/src/browser/agent-delegation-tool.spec.ts +4 -2
- package/src/browser/agent-delegation-tool.ts +40 -29
- package/src/browser/chat-tool-preference-bindings.spec.ts +83 -23
- package/src/browser/chat-tool-preference-bindings.ts +17 -8
- package/src/browser/chat-tool-request-service.ts +3 -2
- package/src/common/chat-agents.spec.ts +124 -0
- package/src/common/chat-agents.ts +59 -2
- package/src/common/chat-model-serialization.ts +2 -0
- package/src/common/chat-model.ts +136 -12
- package/src/common/chat-request-parser.spec.ts +6 -2
- package/src/common/chat-response-model.spec.ts +47 -0
|
@@ -15,16 +15,10 @@ export declare class AgentDelegationTool implements ToolProvider {
|
|
|
15
15
|
} | undefined;
|
|
16
16
|
private delegateToAgent;
|
|
17
17
|
/**
|
|
18
|
-
* Sets up
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Sets up all event bubbling from a delegated child session to the parent session:
|
|
19
|
+
* - Interaction forwarding: child interactionNeeded events are forwarded to the parent response
|
|
20
|
+
* - ChangeSet bubbling: child changeset changes are forwarded to the parent model
|
|
21
21
|
*/
|
|
22
|
-
private
|
|
23
|
-
/**
|
|
24
|
-
* Bubbles the ChangeSet from the delegated session to the parent session.
|
|
25
|
-
* @param delegatedSession The session from which to bubble changes
|
|
26
|
-
* @param parentModel The parent session model to receive the bubbled changes
|
|
27
|
-
*/
|
|
28
|
-
private bubbleChangeSet;
|
|
22
|
+
private setupChildSessionBubbling;
|
|
29
23
|
}
|
|
30
24
|
//# sourceMappingURL=agent-delegation-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-delegation-tool.d.ts","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAuD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-delegation-tool.d.ts","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAuD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhH,OAAO,EAEH,gBAAgB,EAIhB,WAAW,EAMX,qBAAqB,EACxB,MAAM,WAAW,CAAC;AAGnB,qBACa,mBAAoB,YAAW,YAAY;IACpD,MAAM,CAAC,EAAE,SAAgC;IAEzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB;gBAA6B,MAAM;oBAAc,qBAAqB;OAAM;IAGjH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;IAG/D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,WAAW,CAAC;IAErD,OAAO,IAAI,WAAW;IAqCtB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,qBAAqB,CAAA;KAAE,GAAG,SAAS;YAItF,eAAe;IA+J7B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAgCpC"}
|
|
@@ -87,6 +87,7 @@ let AgentDelegationTool = class AgentDelegationTool {
|
|
|
87
87
|
return errorMsg;
|
|
88
88
|
}
|
|
89
89
|
let newSession;
|
|
90
|
+
let childModelDisposable;
|
|
90
91
|
try {
|
|
91
92
|
// FIXME: this creates a new conversation visible in the UI (Panel), which we don't want
|
|
92
93
|
// It is not possible to start a session without specifying a location (default=Panel)
|
|
@@ -109,8 +110,8 @@ let AgentDelegationTool = class AgentDelegationTool {
|
|
|
109
110
|
if (currentActiveSession) {
|
|
110
111
|
chatService.setActiveSession(currentActiveSession.id, { focus: false });
|
|
111
112
|
}
|
|
112
|
-
// Setup
|
|
113
|
-
this.
|
|
113
|
+
// Setup bubbling of child session events to parent session
|
|
114
|
+
childModelDisposable = this.setupChildSessionBubbling(newSession.model, ctx.request.session, ctx.response);
|
|
114
115
|
}
|
|
115
116
|
catch (sessionError) {
|
|
116
117
|
const errorMsg = `Failed to create chat session for agent '${agentId}': ${sessionError instanceof Error ? sessionError.message : sessionError}`;
|
|
@@ -162,7 +163,8 @@ let AgentDelegationTool = class AgentDelegationTool {
|
|
|
162
163
|
// Wait for completion to return the final result as tool output
|
|
163
164
|
const result = await response.responseCompleted;
|
|
164
165
|
const stringResult = result.response.asString();
|
|
165
|
-
// Clean up the session
|
|
166
|
+
// Clean up the session and parent-child link after completion
|
|
167
|
+
childModelDisposable?.dispose();
|
|
166
168
|
const chatService = this.getChatService();
|
|
167
169
|
chatService.deleteSession(newSession.id).catch(error => {
|
|
168
170
|
console.error('Failed to delete delegated session', error);
|
|
@@ -194,27 +196,34 @@ let AgentDelegationTool = class AgentDelegationTool {
|
|
|
194
196
|
}
|
|
195
197
|
}
|
|
196
198
|
/**
|
|
197
|
-
* Sets up
|
|
198
|
-
*
|
|
199
|
-
*
|
|
199
|
+
* Sets up all event bubbling from a delegated child session to the parent session:
|
|
200
|
+
* - Interaction forwarding: child interactionNeeded events are forwarded to the parent response
|
|
201
|
+
* - ChangeSet bubbling: child changeset changes are forwarded to the parent model
|
|
200
202
|
*/
|
|
201
|
-
|
|
202
|
-
//
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
setupChildSessionBubbling(childModel, parentModel, parentResponse) {
|
|
204
|
+
// Forward interactionNeeded events to the parent response model
|
|
205
|
+
// so the UI (which subscribes to response.onInteractionNeeded) can display them.
|
|
206
|
+
// Also watch for each forwarded interaction's resolution to trigger cleanup.
|
|
207
|
+
const eventForwarding = childModel.onDidChange(event => {
|
|
208
|
+
if (common_1.ChatChangeEvent.isInteractionNeededEvent(event)) {
|
|
209
|
+
parentResponse.fireInteractionNeeded(event.contentPart);
|
|
210
|
+
event.contentPart.whenResolved.then(() => parentResponse.notifyChanged());
|
|
211
|
+
}
|
|
205
212
|
});
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
// Bubble ChangeSet changes to the parent model
|
|
214
|
+
const changeSetForwarding = childModel.changeSet.onDidChange(() => {
|
|
215
|
+
const delegatedElements = childModel.changeSet.getElements();
|
|
216
|
+
if (delegatedElements.length > 0) {
|
|
217
|
+
parentModel.changeSet.setTitle(childModel.changeSet.title);
|
|
218
|
+
parentModel.changeSet.addElements(...delegatedElements);
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
return {
|
|
222
|
+
dispose: () => {
|
|
223
|
+
eventForwarding.dispose();
|
|
224
|
+
changeSetForwarding.dispose();
|
|
225
|
+
}
|
|
226
|
+
};
|
|
218
227
|
}
|
|
219
228
|
};
|
|
220
229
|
exports.AgentDelegationTool = AgentDelegationTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-delegation-tool.js","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.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,4CAAgH;
|
|
1
|
+
{"version":3,"file":"agent-delegation-tool.js","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,14 +40,15 @@ function makeContextManager() {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
function makeChangeSet() {
|
|
43
|
-
return { onDidChange: sinon.stub() };
|
|
43
|
+
return { onDidChange: sinon.stub().returns({ dispose: sinon.stub() }) };
|
|
44
44
|
}
|
|
45
45
|
function makeNewSession(contextManager = makeContextManager()) {
|
|
46
46
|
return {
|
|
47
47
|
id: 'new-session-id',
|
|
48
48
|
model: {
|
|
49
49
|
context: contextManager,
|
|
50
|
-
changeSet: makeChangeSet()
|
|
50
|
+
changeSet: makeChangeSet(),
|
|
51
|
+
onDidChange: sinon.stub().returns({ dispose: sinon.stub() })
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-delegation-tool.spec.js","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.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,8DAAiE;AACjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AACjC,uHAAiH;AACjH,wEAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,+BAA8B;AAC9B,+BAA+B;AAC/B,mEAA8D;AAC9D,mEAAgE;AAUhE,qEAAoE;AAGpE,YAAY,EAAE,CAAC;AAEf,kBAAkB;AAElB,SAAS,uBAAuB,CAAC,gBAAkC,EAAE,WAAwB;IACzF,MAAM,IAAI,GAAG,IAAI,2CAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,2BAA2B;AAE3B,SAAS,kBAAkB;IACvB,OAAO;QACH,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE;QAC1B,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACzC,CAAC;AACN,CAAC;AAED,SAAS,aAAa;IAClB,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-delegation-tool.spec.js","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.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,8DAAiE;AACjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AACjC,uHAAiH;AACjH,wEAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,+BAA8B;AAC9B,+BAA+B;AAC/B,mEAA8D;AAC9D,mEAAgE;AAUhE,qEAAoE;AAGpE,YAAY,EAAE,CAAC;AAEf,kBAAkB;AAElB,SAAS,uBAAuB,CAAC,gBAAkC,EAAE,WAAwB;IACzF,MAAM,IAAI,GAAG,IAAI,2CAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,2BAA2B;AAE3B,SAAS,kBAAkB;IACvB,OAAO;QACH,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE;QAC1B,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACzC,CAAC;AACN,CAAC;AAED,SAAS,aAAa;IAClB,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,cAAc,GAAG,kBAAkB,EAAE;IAQzD,OAAO;QACH,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE;YACH,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,aAAa,EAAE;YAC1B,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;SAC/D;KACJ,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB;IAMtB,OAAO;QACH,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE;YACH,SAAS,EAAE;gBACP,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;gBACzB,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACxC;SACJ;KACJ,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAW,GAAG,IAAI;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,yCAAoB,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,IAAwB,CAAC;AACpC,CAAC;AAED,SAAS,eAAe;IAMpB,OAAO;QACH,iBAAiB,EAAE,SAAS;QAC5B,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE;QACzC,QAAQ,EAAE,EAAE;KACf,CAAC;AACN,CAAC;AAID,SAAS,eAAe,CAAC,UAA6C;IAClE,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;QACtC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;KACjD,CAAC,CAAC;IACH,OAAO;QACH,cAAc,EAAE,KAAK,CAAC,IAAI,EAAyB;QACnD,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE;QACxB,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC;QACnE,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE;QAC9B,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACzD,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACtC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACtC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;QACtB,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7B,sBAAsB,EAAE,KAAK,CAAC,IAAI,EAAE;QACpC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACtC,mBAAmB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrD,oBAAoB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,oBAAoB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;KACrD,CAAC;AACN,CAAC;AAED,gBAAgB;AAEhB,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,MAAM,CAAC,GAAG,EAAE;QACR,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACP,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACzD,IAAI,cAAqD,CAAC;QAC1D,IAAI,IAAyB,CAAC;QAC9B,IAAI,GAAuC,CAAC;QAE5C,UAAU,CAAC,GAAG,EAAE;YACZ,cAAc,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,GAAG,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC1D,GAAG,GAAG,eAAe,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAErH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE7C,IAAA,aAAM,EAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1D,MAAM,OAAO,GAAgC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAAqB,CAAC,CAAC;YACzD,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAEpF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE7C,IAAA,aAAM,EAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE7C,IAAA,aAAM,EAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { PreferenceService } from '@theia/core/lib/common/preferences';
|
|
2
|
-
import { ToolConfirmationMode
|
|
2
|
+
import { ToolConfirmationMode } from '../common/chat-tool-preferences';
|
|
3
3
|
import { ToolRequest } from '@theia/ai-core';
|
|
4
|
+
import { TrustAwarePreferenceReader } from '@theia/ai-core/lib/browser/trust-aware-preference-reader';
|
|
4
5
|
/**
|
|
5
6
|
* Utility class to manage tool confirmation settings
|
|
6
7
|
*/
|
|
7
8
|
export declare class ToolConfirmationManager {
|
|
8
|
-
protected readonly preferences: ChatToolPreferences;
|
|
9
9
|
protected readonly preferenceService: PreferenceService;
|
|
10
|
+
protected readonly trustAwareReader: TrustAwarePreferenceReader;
|
|
10
11
|
protected sessionOverrides: Map<string, Map<string, ToolConfirmationMode>>;
|
|
11
12
|
/**
|
|
12
13
|
* Get the confirmation mode for a specific tool, considering session overrides first (per chat).
|
|
@@ -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,EAAE,oBAAoB,EAAgC,
|
|
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,EAAE,oBAAoB,EAAgC,MAAM,iCAAiC,CAAC;AACrG,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;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAyBpG;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI;IA0BhG;;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,IAAI;CAU3C"}
|
|
@@ -20,6 +20,7 @@ const tslib_1 = require("tslib");
|
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const preferences_1 = require("@theia/core/lib/common/preferences");
|
|
22
22
|
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");
|
|
23
24
|
/**
|
|
24
25
|
* Utility class to manage tool confirmation settings
|
|
25
26
|
*/
|
|
@@ -44,7 +45,7 @@ let ToolConfirmationManager = class ToolConfirmationManager {
|
|
|
44
45
|
if (chatMap && chatMap.has(toolId)) {
|
|
45
46
|
return chatMap.get(toolId);
|
|
46
47
|
}
|
|
47
|
-
const toolConfirmation = this.
|
|
48
|
+
const toolConfirmation = this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
|
|
48
49
|
if (toolConfirmation[toolId]) {
|
|
49
50
|
return toolConfirmation[toolId];
|
|
50
51
|
}
|
|
@@ -69,7 +70,7 @@ let ToolConfirmationManager = class ToolConfirmationManager {
|
|
|
69
70
|
*/
|
|
70
71
|
setConfirmationMode(toolId, mode, toolRequest) {
|
|
71
72
|
const defaultPref = this.preferenceService.inspect(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE)?.defaultValue || {};
|
|
72
|
-
const current = this.
|
|
73
|
+
const current = this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
|
|
73
74
|
let starMode = current['*'];
|
|
74
75
|
if (starMode === undefined) {
|
|
75
76
|
starMode = defaultPref['*'] ?? chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
@@ -115,10 +116,10 @@ let ToolConfirmationManager = class ToolConfirmationManager {
|
|
|
115
116
|
* Get all tool confirmation settings
|
|
116
117
|
*/
|
|
117
118
|
getAllConfirmationSettings() {
|
|
118
|
-
return this.
|
|
119
|
+
return this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
|
|
119
120
|
}
|
|
120
121
|
resetAllConfirmationModeSettings() {
|
|
121
|
-
const current = this.
|
|
122
|
+
const current = this.trustAwareReader.get(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, {}) ?? {};
|
|
122
123
|
if ('*' in current) {
|
|
123
124
|
this.preferenceService.updateValue(chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE, { '*': current['*'] });
|
|
124
125
|
}
|
|
@@ -128,14 +129,14 @@ let ToolConfirmationManager = class ToolConfirmationManager {
|
|
|
128
129
|
}
|
|
129
130
|
};
|
|
130
131
|
exports.ToolConfirmationManager = ToolConfirmationManager;
|
|
131
|
-
tslib_1.__decorate([
|
|
132
|
-
(0, inversify_1.inject)(chat_tool_preferences_1.ChatToolPreferences),
|
|
133
|
-
tslib_1.__metadata("design:type", Object)
|
|
134
|
-
], ToolConfirmationManager.prototype, "preferences", void 0);
|
|
135
132
|
tslib_1.__decorate([
|
|
136
133
|
(0, inversify_1.inject)(preferences_1.PreferenceService),
|
|
137
134
|
tslib_1.__metadata("design:type", Object)
|
|
138
135
|
], ToolConfirmationManager.prototype, "preferenceService", void 0);
|
|
136
|
+
tslib_1.__decorate([
|
|
137
|
+
(0, inversify_1.inject)(trust_aware_preference_reader_1.TrustAwarePreferenceReader),
|
|
138
|
+
tslib_1.__metadata("design:type", trust_aware_preference_reader_1.TrustAwarePreferenceReader)
|
|
139
|
+
], ToolConfirmationManager.prototype, "trustAwareReader", void 0);
|
|
139
140
|
exports.ToolConfirmationManager = ToolConfirmationManager = tslib_1.__decorate([
|
|
140
141
|
(0, inversify_1.injectable)()
|
|
141
142
|
], ToolConfirmationManager);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tool-preference-bindings.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.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,4DAAkE;AAClE,oEAE4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"chat-tool-preference-bindings.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.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,4DAAkE;AAClE,oEAE4C;AAC5C,2EAAqG;AAErG,4GAAsG;AAEtG;;GAEG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QAOH,wDAAwD;QAC9C,qBAAgB,GAAmD,IAAI,GAAG,EAAE,CAAC;IAiH3F,CAAC;IA/GG;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,MAAc,EAAE,MAAc,EAAE,WAAyB;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAChC,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAC9C,oDAA4B,EAAE,EAAE,CACnC,IAAI,EAAE,CAAC;QACR,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,kEAAkE;YAClE,IAAI,WAAW,EAAE,kBAAkB,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,4CAAoB,CAAC,YAAY,EAAE,CAAC;gBACjG,OAAO,4CAAoB,CAAC,OAAO,CAAC;YACxC,CAAC;YACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,+EAA+E;QAC/E,OAAO,WAAW,EAAE,kBAAkB;YAClC,CAAC,CAAC,4CAAoB,CAAC,OAAO;YAC9B,CAAC,CAAC,4CAAoB,CAAC,YAAY,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAc,EAAE,IAA0B,EAAE,WAAyB;QACrF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oDAA4B,CAAC,EAAE,YAEjF,IAAI,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACrC,oDAA4B,EAAE,EAAE,CACnC,IAAI,EAAE,CAAC;QACR,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,4CAAoB,CAAC,YAAY,CAAC;QACrE,CAAC;QACD,mFAAmF;QACnF,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,kBAAkB,IAAI,QAAQ,KAAK,4CAAoB,CAAC,YAAY,CAAC;YACxG,CAAC,CAAC,4CAAoB,CAAC,OAAO;YAC9B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;QACtC,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC5B,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,oDAA4B,EAAE,IAAI,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,oDAA4B,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,MAAc,EAAE,IAA0B,EAAE,MAAc;QACjF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,MAAe;QACjC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,0BAA0B;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAC5B,oDAA4B,EAAE,EAAE,CACnC,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,gCAAgC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACrC,oDAA4B,EAAE,EAAE,CACnC,IAAI,EAAE,CAAC;QACR,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,oDAA4B,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,oDAA4B,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;CACJ,CAAA;AAzHY,0DAAuB;AAEb;IADlB,IAAA,kBAAM,EAAC,+BAAiB,CAAC;;kEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,0DAA0B,CAAC;sCACE,0DAA0B;iEAAC;kCALvD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAyHnC"}
|
|
@@ -17,12 +17,18 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const chai_1 = require("chai");
|
|
19
19
|
const sinon = require("sinon");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
20
21
|
const chat_tool_preference_bindings_1 = require("./chat-tool-preference-bindings");
|
|
21
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");
|
|
22
25
|
describe('ToolConfirmationManager', () => {
|
|
23
26
|
let manager;
|
|
24
27
|
let preferenceServiceMock;
|
|
28
|
+
let trustAwareReaderMock;
|
|
25
29
|
let storedPreferences;
|
|
30
|
+
let trusted;
|
|
31
|
+
let inspectResult;
|
|
26
32
|
const createToolRequest = (id, confirmAlwaysAllow) => ({
|
|
27
33
|
id,
|
|
28
34
|
name: id,
|
|
@@ -30,23 +36,32 @@ describe('ToolConfirmationManager', () => {
|
|
|
30
36
|
parameters: { type: 'object', properties: {} },
|
|
31
37
|
confirmAlwaysAllow
|
|
32
38
|
});
|
|
33
|
-
const getPreferencesMock = () => ({
|
|
34
|
-
get [chat_tool_preferences_1.TOOL_CONFIRMATION_PREFERENCE]() {
|
|
35
|
-
return storedPreferences;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
39
|
beforeEach(() => {
|
|
39
40
|
storedPreferences = {};
|
|
41
|
+
trusted = true;
|
|
42
|
+
inspectResult = undefined;
|
|
40
43
|
preferenceServiceMock = {
|
|
41
44
|
updateValue: sinon.stub().callsFake((_key, value) => {
|
|
42
45
|
storedPreferences = value;
|
|
43
46
|
return Promise.resolve();
|
|
44
47
|
}),
|
|
45
|
-
inspect: sinon.stub().
|
|
48
|
+
inspect: sinon.stub().callsFake(() => inspectResult)
|
|
49
|
+
};
|
|
50
|
+
trustAwareReaderMock = {
|
|
51
|
+
get: sinon.stub().callsFake((_name, fallback) => {
|
|
52
|
+
if (trusted) {
|
|
53
|
+
return storedPreferences ?? fallback;
|
|
54
|
+
}
|
|
55
|
+
const insp = inspectResult;
|
|
56
|
+
const value = insp?.globalValue ?? insp?.defaultValue;
|
|
57
|
+
return (value ?? fallback);
|
|
58
|
+
})
|
|
46
59
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
60
|
+
const container = new inversify_1.Container();
|
|
61
|
+
container.bind(chat_tool_preference_bindings_1.ToolConfirmationManager).toSelf().inSingletonScope();
|
|
62
|
+
container.bind(preferences_1.PreferenceService).toConstantValue(preferenceServiceMock);
|
|
63
|
+
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(trustAwareReaderMock);
|
|
64
|
+
manager = container.get(chat_tool_preference_bindings_1.ToolConfirmationManager);
|
|
50
65
|
});
|
|
51
66
|
describe('getConfirmationMode', () => {
|
|
52
67
|
it('should return ALWAYS_ALLOW for regular tools by default', () => {
|
|
@@ -81,6 +96,42 @@ describe('ToolConfirmationManager', () => {
|
|
|
81
96
|
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
82
97
|
});
|
|
83
98
|
});
|
|
99
|
+
describe('workspace trust', () => {
|
|
100
|
+
it('ignores workspace {"*": "always_allow"} when workspace is untrusted', () => {
|
|
101
|
+
trusted = false;
|
|
102
|
+
// Simulate the effective (workspace-merged) preference containing always_allow,
|
|
103
|
+
// while the user/global scope is not set and the schema default prescribes
|
|
104
|
+
// CONFIRM. If the workspace override were honoured the mode would be
|
|
105
|
+
// ALWAYS_ALLOW; because trust filters the workspace scope out, the default
|
|
106
|
+
// (CONFIRM) wins, which demonstrably proves the override was dropped.
|
|
107
|
+
storedPreferences['*'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
108
|
+
inspectResult = {
|
|
109
|
+
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM },
|
|
110
|
+
workspaceValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW }
|
|
111
|
+
};
|
|
112
|
+
const mode = manager.getConfirmationMode('someTool', 'chat-1');
|
|
113
|
+
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
114
|
+
});
|
|
115
|
+
it('blocks confirmAlwaysAllow bypass via workspace {"*": "always_allow"} when untrusted', () => {
|
|
116
|
+
trusted = false;
|
|
117
|
+
storedPreferences['*'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
118
|
+
inspectResult = {
|
|
119
|
+
defaultValue: {},
|
|
120
|
+
workspaceValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW }
|
|
121
|
+
};
|
|
122
|
+
const toolRequest = createToolRequest('dangerousTool', true);
|
|
123
|
+
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
|
+
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
127
|
+
});
|
|
128
|
+
it('honours workspace {"*": "always_allow"} when workspace is trusted', () => {
|
|
129
|
+
trusted = true;
|
|
130
|
+
storedPreferences['*'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
131
|
+
const mode = manager.getConfirmationMode('regularTool', 'chat-1');
|
|
132
|
+
(0, chai_1.expect)(mode).to.equal(chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
84
135
|
describe('setConfirmationMode', () => {
|
|
85
136
|
it('should persist ALWAYS_ALLOW for regular tools when different from default', () => {
|
|
86
137
|
storedPreferences['*'] = chat_tool_preferences_1.ToolConfirmationMode.CONFIRM;
|
|
@@ -99,48 +150,48 @@ describe('ToolConfirmationManager', () => {
|
|
|
99
150
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
100
151
|
});
|
|
101
152
|
it('should not persist when mode matches the global preference default', () => {
|
|
102
|
-
|
|
153
|
+
inspectResult = {
|
|
103
154
|
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
104
|
-
}
|
|
155
|
+
};
|
|
105
156
|
manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM);
|
|
106
157
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
107
158
|
});
|
|
108
159
|
it('should persist when mode differs from the global preference default', () => {
|
|
109
|
-
|
|
160
|
+
inspectResult = {
|
|
110
161
|
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
111
|
-
}
|
|
162
|
+
};
|
|
112
163
|
manager.setConfirmationMode('regularTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
113
164
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
114
165
|
(0, chai_1.expect)(storedPreferences['regularTool']).to.equal(chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
115
166
|
});
|
|
116
167
|
it('should not persist when mode matches the tool-specific preference default', () => {
|
|
117
|
-
|
|
168
|
+
inspectResult = {
|
|
118
169
|
defaultValue: { 'myTool': chat_tool_preferences_1.ToolConfirmationMode.DISABLED }
|
|
119
|
-
}
|
|
170
|
+
};
|
|
120
171
|
manager.setConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
121
172
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
122
173
|
});
|
|
123
174
|
it('should remove entry when mode matches the tool-specific preference default and entry exists', () => {
|
|
124
|
-
|
|
175
|
+
inspectResult = {
|
|
125
176
|
defaultValue: { 'myTool': chat_tool_preferences_1.ToolConfirmationMode.DISABLED }
|
|
126
|
-
}
|
|
177
|
+
};
|
|
127
178
|
storedPreferences['myTool'] = chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW;
|
|
128
179
|
manager.setConfirmationMode('myTool', chat_tool_preferences_1.ToolConfirmationMode.DISABLED);
|
|
129
180
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
130
181
|
(0, chai_1.expect)(storedPreferences['myTool']).to.be.undefined;
|
|
131
182
|
});
|
|
132
183
|
it('should not persist CONFIRM for confirmAlwaysAllow tool when global preference default is CONFIRM', () => {
|
|
133
|
-
|
|
184
|
+
inspectResult = {
|
|
134
185
|
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
135
|
-
}
|
|
186
|
+
};
|
|
136
187
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
137
188
|
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, toolRequest);
|
|
138
189
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.called).to.be.false;
|
|
139
190
|
});
|
|
140
191
|
it('should persist ALWAYS_ALLOW for confirmAlwaysAllow tool when global preference default is CONFIRM', () => {
|
|
141
|
-
|
|
192
|
+
inspectResult = {
|
|
142
193
|
defaultValue: { '*': chat_tool_preferences_1.ToolConfirmationMode.CONFIRM }
|
|
143
|
-
}
|
|
194
|
+
};
|
|
144
195
|
const toolRequest = createToolRequest('dangerousTool', true);
|
|
145
196
|
manager.setConfirmationMode('dangerousTool', chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
|
|
146
197
|
(0, chai_1.expect)(preferenceServiceMock.updateValue.calledOnce).to.be.true;
|
|
@@ -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,mFAA0E;AAC1E,2EAA0H;AAI1H,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,OAAgC,CAAC;IACrC,IAAI,qBAAoE,CAAC;IACzE,IAAI,iBAA6D,CAAC;IAElE,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,MAAM,kBAAkB,GAAG,GAAwB,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,oDAA4B,CAAC;YAC9B,OAAO,iBAAiB,CAAC;QAC7B,CAAC;KACJ,CAAmC,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE;QACZ,iBAAiB,GAAG,EAAE,CAAC;QAEvB,qBAAqB,GAAG;YACpB,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,IAAY,EAAE,KAAiD,EAAE,EAAE;gBACpG,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC;YACF,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;SACiB,CAAC;QAE9D,OAAO,GAAG,IAAI,uDAAuB,EAAE,CAAC;QACvC,OAA2D,CAAC,WAAW,GAAG,kBAAkB,EAAE,CAAC;QAC/F,OAA+D,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAC/D,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,+DAA+D,EAAE,GAAG,EAAE;YACrE,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,iDAAiD,EAAE,GAAG,EAAE;YACvD,iBAAiB,CAAC,QAAQ,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YAC5D,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,yCAAyC,EAAE,GAAG,EAAE;YAC/C,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,qEAAqE,EAAE,GAAG,EAAE;YAC3E,iBAAiB,CAAC,GAAG,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YAC3D,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,6DAA6D,EAAE,GAAG,EAAE;YACnE,iBAAiB,CAAC,GAAG,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YACvD,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;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACjF,iBAAiB,CAAC,GAAG,CAAC,GAAG,4CAAoB,CAAC,OAAO,CAAC;YACtD,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,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAChE,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,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACjF,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,oEAAoE,EAAE,GAAG,EAAE;YACzE,qBAAqB,CAAC,OAA2B,CAAC,OAAO,CAAC;gBACvD,YAAY,EAAE,EAAE,GAAG,EAAE,4CAAoB,CAAC,OAAO,EAAE;aACtD,CAAC,CAAC;YACH,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,qEAAqE,EAAE,GAAG,EAAE;YAC1E,qBAAqB,CAAC,OAA2B,CAAC,OAAO,CAAC;gBACvD,YAAY,EAAE,EAAE,GAAG,EAAE,4CAAoB,CAAC,OAAO,EAAE;aACtD,CAAC,CAAC;YACH,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,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YAChF,qBAAqB,CAAC,OAA2B,CAAC,OAAO,CAAC;gBACvD,YAAY,EAAE,EAAE,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,EAAE;aAC5D,CAAC,CAAC;YACH,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,6FAA6F,EAAE,GAAG,EAAE;YAClG,qBAAqB,CAAC,OAA2B,CAAC,OAAO,CAAC;gBACvD,YAAY,EAAE,EAAE,QAAQ,EAAE,4CAAoB,CAAC,QAAQ,EAAE;aAC5D,CAAC,CAAC;YACH,iBAAiB,CAAC,QAAQ,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YAChE,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,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kGAAkG,EAAE,GAAG,EAAE;YACvG,qBAAqB,CAAC,OAA2B,CAAC,OAAO,CAAC;gBACvD,YAAY,EAAE,EAAE,GAAG,EAAE,4CAAoB,CAAC,OAAO,EAAE;aACtD,CAAC,CAAC;YACH,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,mGAAmG,EAAE,GAAG,EAAE;YACxG,qBAAqB,CAAC,OAA2B,CAAC,OAAO,CAAC;gBACvD,YAAY,EAAE,EAAE,GAAG,EAAE,4CAAoB,CAAC,OAAO,EAAE;aACtD,CAAC,CAAC;YACH,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,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC5E,iBAAiB,CAAC,aAAa,CAAC,GAAG,4CAAoB,CAAC,OAAO,CAAC;YAChE,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,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,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,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mGAAmG,EAAE,GAAG,EAAE;YACzG,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,iBAAiB,CAAC,eAAe,CAAC,GAAG,4CAAoB,CAAC,YAAY,CAAC;YACvE,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,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACrD,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,YAAY,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACpE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,4CAAoB,CAAC,QAAQ,CAAC;YAC5D,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,0CAA0C,EAAE,GAAG,EAAE;YAChD,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,YAAY,CAAC,CAAC;YACpG,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,oDAAoD,EAAE,GAAG,EAAE;YAC1D,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,YAAY,CAAC,CAAC;YACpG,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,sDAAsD,EAAE,GAAG,EAAE;QAClE,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YAClE,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,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,YAAY,CAAC,CAAC;YAEtF,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,wDAAwD,EAAE,GAAG,EAAE;YAC9D,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,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAAoB,CAAC,QAAQ,CAAC,CAAC;YAElF,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tool-request-service.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-request-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAyB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAqB,MAAM,qCAAqC,CAAC;AAEhG,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAwB,mBAAmB,EAAwC,MAAM,iCAAiC,CAAC;AAClI,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;GAEG;AACH,qBACa,8BAA+B,SAAQ,sBAAsB;IAGtE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;cAEjC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"chat-tool-request-service.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-request-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAyB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAqB,MAAM,qCAAqC,CAAC;AAEhG,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAwB,mBAAmB,EAAwC,MAAM,iCAAiC,CAAC;AAClI,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;GAEG;AACH,qBACa,8BAA+B,SAAQ,sBAAsB;IAGtE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;cAEjC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,WAAW;IAgE7G;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,CACzB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAChC,UAAU,CAAC,EAAE,MAAM,GACpB,2BAA2B;CAyCjC"}
|
|
@@ -30,11 +30,12 @@ const chat_tool_preference_bindings_1 = require("./chat-tool-preference-bindings
|
|
|
30
30
|
*/
|
|
31
31
|
let FrontendChatToolRequestService = class FrontendChatToolRequestService extends chat_tool_request_service_1.ChatToolRequestService {
|
|
32
32
|
toChatToolRequest(toolRequest, request) {
|
|
33
|
-
const confirmationMode = this.confirmationManager.getConfirmationMode(toolRequest.id, request.session.id, toolRequest);
|
|
34
33
|
return {
|
|
35
34
|
...toolRequest,
|
|
36
35
|
handler: async (arg_string, ctx) => {
|
|
37
36
|
const toolCallId = ctx?.toolCallId;
|
|
37
|
+
const sessionId = request.session.rootSessionId ?? request.session.id;
|
|
38
|
+
const confirmationMode = this.confirmationManager.getConfirmationMode(toolRequest.id, sessionId, toolRequest);
|
|
38
39
|
switch (confirmationMode) {
|
|
39
40
|
case chat_tool_preferences_1.ToolConfirmationMode.DISABLED:
|
|
40
41
|
return { denied: true, message: `Tool ${toolRequest.id} is disabled` };
|
|
@@ -71,6 +72,7 @@ let FrontendChatToolRequestService = class FrontendChatToolRequestService extend
|
|
|
71
72
|
: this.preferences[chat_tool_preferences_1.TOOL_CONFIRMATION_TIMEOUT_PREFERENCE];
|
|
72
73
|
toolCallContent.confirmationTimeout = timeoutSeconds;
|
|
73
74
|
toolCallContent.requestUserConfirmation();
|
|
75
|
+
request.response.fireInteractionNeeded(toolCallContent);
|
|
74
76
|
confirmed = await (0, chat_tool_confirmation_timeout_1.raceConfirmationWithTimeout)(toolCallContent, timeoutSeconds);
|
|
75
77
|
}
|
|
76
78
|
if (confirmed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tool-request-service.js","sourceRoot":"","sources":["../../src/browser/chat-tool-request-service.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,4CAAoE;AACpE,sCAAsC;AACtC,4DAAyE;AACzE,mFAAgG;AAChG,6FAAuF;AACvF,qDAA4F;AAC5F,2EAAkI;AAClI,mFAA0E;AAE1E;;GAEG;AAEI,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,kDAAsB;IAWnD,iBAAiB,CAAC,WAAwB,EAAE,OAAgC;QAC3F,
|
|
1
|
+
{"version":3,"file":"chat-tool-request-service.js","sourceRoot":"","sources":["../../src/browser/chat-tool-request-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AgentSpecificVariables, AIVariableContext, AIVariableResolutionRequest, CapabilityAwareContext, LanguageModel, LanguageModelMessage, LanguageModelRequirement, LanguageModelResponse, LanguageModelService, LanguageModelStreamResponse, PromptService, ResolvedPromptFragment, PromptVariantSet, ToolCall, ToolRequest } from '@theia/ai-core';
|
|
1
|
+
import { AgentSpecificVariables, AIVariableContext, AIVariableResolutionRequest, CapabilityAwareContext, LanguageModel, TokenUsageService, UsageResponsePart, LanguageModelMessage, LanguageModelRequirement, LanguageModelResponse, LanguageModelService, LanguageModelStreamResponse, PromptService, ResolvedPromptFragment, PromptVariantSet, ToolCall, ToolRequest } from '@theia/ai-core';
|
|
2
2
|
import { Agent, LanguageModelRegistry, LanguageModelStreamResponsePart } from '@theia/ai-core/lib/common';
|
|
3
3
|
import { ContributionProvider, ILogger } from '@theia/core';
|
|
4
4
|
import { ChatAgentService } from './chat-agent-service';
|
|
5
|
-
import { ChatModel, ChatRequestModel, ChatResponseContent, CommonChatSessionSettings, MutableChatRequestModel } from './chat-model';
|
|
5
|
+
import { ChatModel, ChatRequestModel, ChatResponseContent, CommonChatSessionSettings, MutableChatRequestModel, ResponseTokenUsage } from './chat-model';
|
|
6
6
|
import { ChatToolRequestService } from './chat-tool-request-service';
|
|
7
7
|
import { DefaultResponseContentFactory, ResponseContentMatcher, ResponseContentMatcherProvider } from './response-content-matcher';
|
|
8
8
|
/**
|
|
@@ -69,6 +69,7 @@ export declare abstract class AbstractChatAgent implements ChatAgent {
|
|
|
69
69
|
protected promptService: PromptService;
|
|
70
70
|
protected contentMatcherProviders: ContributionProvider<ResponseContentMatcherProvider>;
|
|
71
71
|
protected defaultContentFactory: DefaultResponseContentFactory;
|
|
72
|
+
protected tokenUsageService: TokenUsageService | undefined;
|
|
72
73
|
readonly abstract id: string;
|
|
73
74
|
readonly abstract name: string;
|
|
74
75
|
readonly abstract languageModelRequirements: LanguageModelRequirement[];
|
|
@@ -128,6 +129,8 @@ export declare abstract class AbstractChatAgent implements ChatAgent {
|
|
|
128
129
|
* Subclasses may override this method to perform additional actions or keep the response open for processing further requests.
|
|
129
130
|
*/
|
|
130
131
|
protected onResponseComplete(request: MutableChatRequestModel): Promise<void>;
|
|
132
|
+
protected mapUsageResponsePart(usage: UsageResponsePart): ResponseTokenUsage;
|
|
133
|
+
protected recordTokenUsageFromResponse(request: MutableChatRequestModel, languageModel: LanguageModel): Promise<void>;
|
|
131
134
|
protected abstract addContentsToResponse(languageModelResponse: LanguageModelResponse, request: MutableChatRequestModel): Promise<void>;
|
|
132
135
|
}
|
|
133
136
|
export declare abstract class AbstractTextToModelParsingChatAgent<T> extends AbstractChatAgent {
|