@theia/ai-ide 1.76.0-next.18 → 1.76.0-next.28
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/user-interaction-tool-renderer.d.ts +6 -0
- package/lib/browser/user-interaction-tool-renderer.d.ts.map +1 -1
- package/lib/browser/user-interaction-tool-renderer.js +36 -7
- package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
- package/lib/browser/user-interaction-tool.d.ts +23 -1
- package/lib/browser/user-interaction-tool.d.ts.map +1 -1
- package/lib/browser/user-interaction-tool.js +56 -17
- package/lib/browser/user-interaction-tool.js.map +1 -1
- package/lib/browser/user-interaction-tool.spec.js +151 -2
- package/lib/browser/user-interaction-tool.spec.js.map +1 -1
- package/lib/common/user-interaction-tool.d.ts +19 -1
- package/lib/common/user-interaction-tool.d.ts.map +1 -1
- package/lib/common/user-interaction-tool.js +100 -29
- package/lib/common/user-interaction-tool.js.map +1 -1
- package/lib/common/user-interaction-tool.spec.js +215 -174
- package/lib/common/user-interaction-tool.spec.js.map +1 -1
- package/package.json +26 -26
- package/src/browser/user-interaction-tool-renderer.tsx +38 -8
- package/src/browser/user-interaction-tool.spec.ts +201 -2
- package/src/browser/user-interaction-tool.ts +69 -18
- package/src/common/user-interaction-tool.spec.ts +217 -161
- package/src/common/user-interaction-tool.ts +127 -32
|
@@ -25,6 +25,12 @@ export declare class UserInteractionToolRenderer implements ChatResponsePartRend
|
|
|
25
25
|
protected pendingToolConfirmationTracker: PendingToolConfirmationTracker;
|
|
26
26
|
protected keybindingRegistry: KeybindingRegistry;
|
|
27
27
|
canHandle(response: ChatResponseContent): number;
|
|
28
|
+
/**
|
|
29
|
+
* The regular rendering of this tool already is the interactive UI, so reuse it
|
|
30
|
+
* where only the pending interaction should be shown (e.g. on the collapsed
|
|
31
|
+
* summary of a delegated session, see #17952).
|
|
32
|
+
*/
|
|
33
|
+
renderConfirmation(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
|
|
28
34
|
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
|
|
29
35
|
protected getKeybindingHints(): ToolConfirmationKeybindingHints;
|
|
30
36
|
protected formatKeybinding(commandId: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-interaction-tool-renderer.d.ts","sourceRoot":"","sources":["../../src/browser/user-interaction-tool-renderer.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAW,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,+BAA+B,EAA4B,MAAM,wEAAwE,CAAC;AAKnJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,8BAA8B,EAAE,MAAM,8DAA8D,CAAC;AAC9G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"user-interaction-tool-renderer.d.ts","sourceRoot":"","sources":["../../src/browser/user-interaction-tool-renderer.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAW,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,+BAA+B,EAA4B,MAAM,wEAAwE,CAAC;AAKnJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,8BAA8B,EAAE,MAAM,8DAA8D,CAAC;AAC9G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAgf9D,qBACa,2BAA4B,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAGrG,SAAS,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAG3D,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGzD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAG/C,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAG7D,SAAS,CAAC,8BAA8B,EAAE,8BAA8B,CAAC;IAGzE,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAEjD,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;IAI9F,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;IAyDlF,SAAS,CAAC,kBAAkB,IAAI,+BAA+B;IAM/D,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAOpE"}
|
|
@@ -38,7 +38,9 @@ const user_interaction_tool_2 = require("../common/user-interaction-tool");
|
|
|
38
38
|
const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled, result, onPartialResult, openerService, themeService, clipboardService, editorProvider, untitledResourceResolver }) => {
|
|
39
39
|
const steps = args.interactions;
|
|
40
40
|
const stepCount = steps.length;
|
|
41
|
-
|
|
41
|
+
// Resume at the step another mount of this interaction left off at (e.g. the collapsed
|
|
42
|
+
// delegation summary vs. the expanded details render independent components).
|
|
43
|
+
const [currentStep, setCurrentStep] = React.useState(() => tool.getCurrentStep(toolCallId) ?? 0);
|
|
42
44
|
// The tool's result (partial or final) is the single source of truth for step states.
|
|
43
45
|
const [stepStates, setStepStates] = React.useState(() => {
|
|
44
46
|
if (result) {
|
|
@@ -75,6 +77,12 @@ const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled,
|
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
}, [currentStep, activeStep, isFinal, tool]);
|
|
80
|
+
// Keep the tool informed of the current step so that a later mount resumes here.
|
|
81
|
+
React.useEffect(() => {
|
|
82
|
+
if (!isFinal) {
|
|
83
|
+
tool.recordCurrentStep(toolCallId, currentStep);
|
|
84
|
+
}
|
|
85
|
+
}, [currentStep, isFinal, tool, toolCallId]);
|
|
78
86
|
const buildResult = React.useCallback((completed, states) => ({
|
|
79
87
|
completed,
|
|
80
88
|
steps: steps.map((step, i) => {
|
|
@@ -242,7 +250,13 @@ const StreamingProgress = ({ title, stepCount }) => {
|
|
|
242
250
|
return ((0, jsx_runtime_1.jsx)("div", { className: 'tool-call container', children: (0, jsx_runtime_1.jsxs)("div", { className: 'tool-call header pending', children: [(0, jsx_runtime_1.jsx)("span", { className: (0, browser_1.codicon)('comment-discussion') }), (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('loading')} theia-animation-spin` }), (0, jsx_runtime_1.jsx)("span", { className: 'user-interaction-tool pending-text', children: label })] }) }));
|
|
243
251
|
};
|
|
244
252
|
const MalformedInteraction = ({ message }) => ((0, jsx_runtime_1.jsxs)("div", { className: 'tool-call container', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'tool-call header error', children: [(0, jsx_runtime_1.jsx)("span", { className: (0, browser_1.codicon)('comment-discussion') }), (0, jsx_runtime_1.jsx)("span", { className: 'user-interaction-tool title', children: nls_1.nls.localize('theia/ai-ide/userInteractionMalformed', 'User interaction could not be displayed') })] }), (0, jsx_runtime_1.jsx)("div", { className: 'tool-call error-message', children: message })] }));
|
|
245
|
-
|
|
253
|
+
/**
|
|
254
|
+
* Extract the message to show for a tool result that the renderer cannot turn into an interaction.
|
|
255
|
+
* Covers both shapes the tool can produce for malformed arguments: the `{ error }` result of the
|
|
256
|
+
* handler, and the `{ denied: true, reason }` result of the auto-deny in `checkAutoAction`, which
|
|
257
|
+
* is what a validation failure produces before the handler ever runs.
|
|
258
|
+
*/
|
|
259
|
+
function extractErrorMessage(raw) {
|
|
246
260
|
let candidate = raw;
|
|
247
261
|
if (typeof raw === 'string') {
|
|
248
262
|
try {
|
|
@@ -252,8 +266,15 @@ function parseToolErrorResult(raw) {
|
|
|
252
266
|
return undefined;
|
|
253
267
|
}
|
|
254
268
|
}
|
|
255
|
-
if (candidate
|
|
256
|
-
return
|
|
269
|
+
if (!candidate || typeof candidate !== 'object') {
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
const error = candidate.error;
|
|
273
|
+
if (typeof error === 'string') {
|
|
274
|
+
return error;
|
|
275
|
+
}
|
|
276
|
+
if (common_1.ToolCallChatResponseContent.isDenialResult(candidate) && typeof candidate.reason === 'string') {
|
|
277
|
+
return candidate.reason;
|
|
257
278
|
}
|
|
258
279
|
return undefined;
|
|
259
280
|
}
|
|
@@ -264,16 +285,24 @@ let UserInteractionToolRenderer = class UserInteractionToolRenderer {
|
|
|
264
285
|
}
|
|
265
286
|
return -1;
|
|
266
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* The regular rendering of this tool already is the interactive UI, so reuse it
|
|
290
|
+
* where only the pending interaction should be shown (e.g. on the collapsed
|
|
291
|
+
* summary of a delegated session, see #17952).
|
|
292
|
+
*/
|
|
293
|
+
renderConfirmation(response, parentNode) {
|
|
294
|
+
return this.render(response, parentNode);
|
|
295
|
+
}
|
|
267
296
|
render(response, parentNode) {
|
|
268
|
-
const
|
|
297
|
+
const validation = (0, user_interaction_tool_2.parseUserInteractionArgs)(response.arguments);
|
|
298
|
+
const args = validation.ok ? validation.args : undefined;
|
|
269
299
|
if (!args || !response.id) {
|
|
270
300
|
// The tool already returned a result but the args don't validate: this
|
|
271
301
|
// is a malformed invocation (e.g., the agent sent a step the tool
|
|
272
302
|
// rejected, or arguments that fail shared parsing). Show an error state
|
|
273
303
|
// instead of a perpetual loading spinner.
|
|
274
304
|
if (response.result !== undefined) {
|
|
275
|
-
const
|
|
276
|
-
const message = error?.error
|
|
305
|
+
const message = extractErrorMessage(response.result)
|
|
277
306
|
?? nls_1.nls.localize('theia/ai-ide/userInteractionMalformedFallback', 'The arguments could not be parsed.');
|
|
278
307
|
return (0, jsx_runtime_1.jsx)(MalformedInteraction, { message: message });
|
|
279
308
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-interaction-tool-renderer.js","sourceRoot":"","sources":["../../src/browser/user-interaction-tool-renderer.tsx"],"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;AAGlE,sDAA6F;AAE7F,kDAAkD;AAClD,sCAAuD;AACvD,qDAA0G;AAC1G,iFAA6E;AAC7E,6DAA+D;AAC/D,oDAAiD;AACjD,6FAAwF;AACxF,8GAA6G;AAC7G,8GAAmJ;AACnJ,uIAGiF;AACjF,4GAAmG;AACnG,oHAA8G;AAC9G,4CAAwD;AACxD,mEAA8D;AAC9D,2EAayC;AA2BzC,MAAM,wBAAwB,GAA4C,CAAC,EACvE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAC/J,EAAE,EAAE;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxD,sFAAsF;IACtF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,GAAG,EAAE;QACjE,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK;gBAC7B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,EAAE;aAC5E,CAAC,CAAC,CAAC;QACR,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,8EAA8E;IAC9E,mFAAmF;IACnF,gFAAgF;IAChF,mEAAmE;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAoC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,WAAW,KAAK,SAAS,GAAG,CAAC,CAAC;IAEjD,iFAAiF;IACjF,kFAAkF;IAClF,MAAM,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC;IAErC,wEAAwE;IACxE,qDAAqD;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,OAAO,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrE,OAAO;QACX,CAAC;QACD,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC,CAAC;YACtG,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAkB,EAAE,MAAmB,EAAyB,EAAE,CAAC,CAAC;QACvG,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,UAAU,GAA8B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACpE,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACnC,CAAC;YACD,IAAI,KAAK,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;YACD,yEAAyE;YACzE,0EAA0E;YAC1E,aAAa;YACb,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpF,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC;KACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAiB,EAAE,OAAuC,EAAE,EAAE;QACrG,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,SAAS,KAAK,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAC1D,IAAI,OAAO,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,IAAI,GAAgB,CAAC,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QACD,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;SAClD,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAEzF,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QACD,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,IAAI;YACP,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;SACxC,CAAC,CAAC,CAAC;QACJ,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5D,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,YAAoB,EAAE,EAAE;QACnE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;SAC/D,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5C,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAsB,EAAE,EAAE;QACtE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;QACvB,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QAC/C,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,OAAO;QACX,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/B,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/B,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,SAAG,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,WAAW,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,UAAU;QAC3B,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,wCAAwC,EAAE,QAAQ,CAAC;QAClE,CAAC,CAAC,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC;IAErC,OAAO,CACH,iCAAK,SAAS,EAAC,6CAA6C,aACxD,iCAAK,SAAS,EAAC,kBAAkB,aAC7B,iCAAM,SAAS,EAAE,IAAA,iBAAO,EAAC,oBAAoB,CAAC,GAAI,EAClD,iCAAM,SAAS,EAAC,6BAA6B,YAAE,UAAU,CAAC,KAAK,GAAQ,EACtE,CAAC,GAAG,EAAE;wBACH,+DAA+D;wBAC/D,gEAAgE;wBAChE,4DAA4D;wBAC5D,+DAA+D;wBAC/D,qDAAqD;wBACrD,MAAM,MAAM,GACR,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;4BACtC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gCAC/B,SAAS,CAAC;wBACtB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;4BACzB,OAAO,CACH,kCAAM,SAAS,EAAC,wCAAwC,aACpD,8BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,OAAO,CAAC,GAAI,EACjC,SAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAChC,CACV,CAAC;wBACN,CAAC;wBACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;4BACxB,OAAO,CACH,kCAAM,SAAS,EAAC,uCAAuC,aACnD,8BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,OAAO,CAAC,GAAI,EACjC,SAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAC/B,CACV,CAAC;wBACN,CAAC;wBACD,OAAO,CACH,iCAAM,SAAS,EAAC,sCAAsC,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YAClF,SAAG,CAAC,QAAQ,CAAC,wDAAwD,EAAE,mBAAmB,CAAC,GACzF,CACV,CAAC;oBACN,CAAC,CAAC,EAAE,IACF,EACL,CAAC,YAAY,IAAI,uBAAC,YAAY,IAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,EAC3G,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAChD,gCAAK,SAAS,EAAC,6BAA6B,YACvC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/B,uBAAC,UAAU,IAEP,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC,IAFtG,CAAC,CAGR,CACL,CAAC,GACA,CACT,EAQA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACnB,gCAAa,SAAS,EAAC,+BAA+B,EAAC,MAAM,EAAE,CAAC,KAAK,WAAW,YAC5E,uBAAC,uCAAmB,IAChB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAC3B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,wBAAwB,EAAE,wBAAwB,GAAI,IAPpD,CAAC,CAQL,CACT,EACA,UAAU,IAAI,CACX,gCAAK,SAAS,EAAC,+BAA+B,YACzC,UAAU,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;oBACtD,MAAM,SAAS,GAAG,mDAAmD;0BAC/D,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC;oBAChD,OAAO,CACH,oCAEI,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM,CAAC,WAAW,kBACX,UAAU,aAIxB,iCAAM,SAAS,EAAC,iDAAiD,iBAAa,MAAM,YAAE,KAAK,GAAQ,EACnG,iCAAM,SAAS,EAAC,2CAA2C,YAAE,KAAK,GAAQ,KAVrE,CAAC,CAWD,CACZ,CAAC;gBACN,CAAC,CAAC,GACA,CACT,EACA,CAAC,YAAY,IAAI,CACd,iCAAK,SAAS,EAAC,uCAAuC,aACjD,CAAC,OAAO,IAAI,CACT,iCAAK,SAAS,EAAC,yCAAyC,aACpD,kCACI,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,uDAAuD,EACjE,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,gCAAgC,CAAC,EAC7G,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,SAAS,EAAE,oBAAoB,GACjC,EACF,mCACI,SAAS,EAAC,6DAA6D,EACvE,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,YAE/B,SAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAC5B,IACP,CACT,EACA,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,+BAAI,SAAS,EAAC,oCAAoC,YAC7C,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CACtC,gCAAY,SAAS,EAAC,oCAAoC,aACtD,iCAAM,SAAS,EAAC,oCAAoC,YAAE,OAAO,GAAQ,EACpE,CAAC,OAAO,IAAI,CACT,mCACI,SAAS,EAAC,sCAAsC,EAChD,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EACrC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAC1B,SAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAE3C,8BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,OAAO,CAAC,GAAI,GAC7B,CACZ,KAXI,CAAC,CAYL,CACR,CAAC,GACD,CACR,IACC,CACT,EACA,cAAc,IAAI,CACf,iCAAK,SAAS,EAAC,mCAAmC,aAC7C,CAAC,YAAY,IAAI,CACd,6DACI,oCACI,SAAS,EAAC,0DAA0D,EACpE,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,WAAW,KAAK,CAAC,EAC3B,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAEpC,8BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC,GAAI,EACtC,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IACzB,EACT,kCAAM,SAAS,EAAC,oCAAoC,gBAAa,SAAS,aACrE,WAAW,GAAG,CAAC,SAAK,SAAS,IAC3B,IACR,CACN,EACD,oCACI,SAAS,EAAC,wDAAwD,EAClE,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,OAAO,IAAI,UAAU,aAE9B,YAAY,EACb,8BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAI,IAC1D,IACP,CACT,IACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAKb,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC1C,gCAAK,SAAS,EAAC,gCAAgC,YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,SAAG,CAAC,QAAQ,CACtB,sCAAsC,EACtC,qBAAqB,EACrB,CAAC,GAAG,CAAC,EACL,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CACxB,CAAC;QACF,OAAO,CACH,mCAEI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oCAAoC;kBACzC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;kBAC5B,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,KAAK,gBACA,KAAK,kBACH,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAR3C,CAAC,CASR,CACL,CAAC;IACN,CAAC,CAAC,GACA,CACT,CAAC;AAEF,MAAM,UAAU,GAAiE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACnG,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAA,yCAAiB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAa,CAAC;IAClB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAChB,KAAK,GAAG,IAAA,sCAAc,EAAC,IAAI,EAAE,IAAA,yCAAiB,EAAC,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,IAAA,yCAAiB,EAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,SAAG,CAAC,QAAQ,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,OAAO,CACH,oCAAQ,SAAS,EAAC,mCAAmC,EAAC,OAAO,EAAE,OAAO,aAClE,8BAAG,SAAS,EAAE,IAAI,GAAI,EACtB,2CAAO,KAAK,GAAQ,IACf,CACZ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,IAAA,4CAAwB,EAAC,wBAAwB,CAAC,CAAC;AAE3F,MAAM,iBAAiB,GAAmD,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;IAC/F,IAAI,KAAa,CAAC;IAClB,IAAI,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,GAAG,SAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,4BAA4B,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACvH,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,SAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,SAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,+BAA+B,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,CACH,gCAAK,SAAS,EAAC,qBAAqB,YAChC,iCAAK,SAAS,EAAC,0BAA0B,aACrC,iCAAM,SAAS,EAAE,IAAA,iBAAO,EAAC,oBAAoB,CAAC,GAAI,EAClD,iCAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,SAAS,CAAC,uBAAuB,GAAI,EACjE,iCAAM,SAAS,EAAC,oCAAoC,YAAE,KAAK,GAAQ,IACjE,GACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACzE,iCAAK,SAAS,EAAC,qBAAqB,aAChC,iCAAK,SAAS,EAAC,wBAAwB,aACnC,iCAAM,SAAS,EAAE,IAAA,iBAAO,EAAC,oBAAoB,CAAC,GAAI,EAClD,iCAAM,SAAS,EAAC,6BAA6B,YACxC,SAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,yCAAyC,CAAC,GAC9F,IACL,EACN,gCAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,IACtD,CACT,CAAC;AAGF,SAAS,oBAAoB,CAAC,GAAY;IACtC,IAAI,SAAS,GAAY,GAAG,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAQ,SAAiC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7G,OAAO,SAA4B,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAGM,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAmCpC,SAAS,CAAC,QAA6B;QACnC,IAAI,oCAA2B,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,oDAA4B,EAAE,CAAC;YAC7F,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAqC,EAAE,UAAwB;QAClE,MAAM,IAAI,GAAG,IAAA,gDAAwB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACxB,uEAAuE;YACvE,kEAAkE;YAClE,wEAAwE;YACxE,0CAA0C;YAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK;uBACrB,SAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,oCAAoC,CAAC,CAAC;gBAC3G,OAAO,uBAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC;YACtD,CAAC;YACD,MAAM,KAAK,GAAG,IAAA,iDAAyB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5D,OAAO,uBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,CAAC;QACjF,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,oDAA4B,CAAC,CAAC;QAC1F,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CACrE,oDAA4B,EAAE,MAAM,EAAE,WAAW,CACpD,CAAC;QAEF,OAAO,CACH,uBAAC,+BAA+B,IAC5B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,QAAQ,CAAC,EAAE,EACvB,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,EACxC,MAAM,EAAE,IAAA,kDAA0B,EAAC,QAAQ,CAAC,MAAM,CAAC,EACnD,eAAe,EAAE,OAAO,CAAC,EAAE;gBACvB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAG,EAAE,OAAO,CAAC,CAAC;gBAC9D,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,CAAC,EACD,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EACvD,gBAAgB,EAAE;gBACd,QAAQ;gBACR,gBAAgB;gBAChB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,WAAW;gBACX,MAAM;gBACN,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU;gBAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,cAAc,EAAE,IAAI,CAAC,8BAA8B;gBACnD,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE;aAC7C,GACH,CACL,CAAC;IACN,CAAC;IAES,kBAAkB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,oFAAwC,CAAC,EAAE,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,iFAAqC,CAAC,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAES,gBAAgB,CAAC,SAAiB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;CACJ,CAAA;AAhHY,kEAA2B;AAG1B;IADT,IAAA,kBAAM,EAAC,uDAAuB,CAAC;sCACG,uDAAuB;4EAAC;AAGjD;IADT,IAAA,kBAAM,EAAC,6BAAmB,CAAC;sCACG,6BAAmB;wEAAC;AAGzC;IADT,IAAA,kBAAM,EAAC,gCAAsB,CAAC;;2EAC0B;AAG/C;IADT,IAAA,kBAAM,EAAC,2CAAmB,CAAC;sCACG,2CAAmB;wEAAC;AAGzC;IADT,IAAA,kBAAM,EAAC,uBAAa,CAAC;;kEACiB;AAG7B;IADT,IAAA,kBAAM,EAAC,sBAAY,CAAC;sCACG,sBAAY;iEAAC;AAG3B;IADT,IAAA,kBAAM,EAAC,oCAAgB,CAAC;;qEACoB;AAGnC;IADT,IAAA,kBAAM,EAAC,6CAAoB,CAAC;sCACH,6CAAoB;mEAAC;AAGrC;IADT,IAAA,kBAAM,EAAC,+BAAwB,CAAC;sCACG,+BAAwB;6EAAC;AAGnD;IADT,IAAA,kBAAM,EAAC,kEAA8B,CAAC;sCACG,kEAA8B;mFAAC;AAG/D;IADT,IAAA,kBAAM,EAAC,4BAAkB,CAAC;sCACG,4BAAkB;uEAAC;sCAjCxC,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAgHvC"}
|
|
1
|
+
{"version":3,"file":"user-interaction-tool-renderer.js","sourceRoot":"","sources":["../../src/browser/user-interaction-tool-renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ToolProvider, ToolRequest } from '@theia/ai-core';
|
|
2
|
-
import { ToolInvocationContext } from '@theia/ai-core/lib/common/language-model';
|
|
2
|
+
import { AutoActionResult, ToolInvocationContext } from '@theia/ai-core/lib/common/language-model';
|
|
3
3
|
import { OpenerService } from '@theia/core/lib/browser';
|
|
4
4
|
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
5
5
|
import { ResourceProvider } from '@theia/core/lib/common/resource';
|
|
@@ -19,6 +19,13 @@ interface PendingInteraction {
|
|
|
19
19
|
* is canceled. If absent (no renderer mounted) the tool resolves with all steps skipped.
|
|
20
20
|
*/
|
|
21
21
|
latestPartial?: UserInteractionResult;
|
|
22
|
+
/**
|
|
23
|
+
* Step the user is currently viewing, pushed by the renderer via
|
|
24
|
+
* {@link UserInteractionTool.recordCurrentStep}. Lets another mount of the same
|
|
25
|
+
* interaction (e.g. the collapsed delegation summary and the expanded details)
|
|
26
|
+
* resume at that step instead of restarting at the first one.
|
|
27
|
+
*/
|
|
28
|
+
currentStep?: number;
|
|
22
29
|
}
|
|
23
30
|
export declare class UserInteractionTool implements ToolProvider {
|
|
24
31
|
static ID: string;
|
|
@@ -30,6 +37,13 @@ export declare class UserInteractionTool implements ToolProvider {
|
|
|
30
37
|
protected readonly logger: ILogger;
|
|
31
38
|
protected readonly pendingInteractions: Map<string, PendingInteraction>;
|
|
32
39
|
getTool(): ToolRequest;
|
|
40
|
+
/**
|
|
41
|
+
* Auto-deny invocations whose arguments do not validate, handing the validation error back to
|
|
42
|
+
* the model. Without this the confirmation flow would stall: the renderer refuses to mount the
|
|
43
|
+
* interaction (and with it the Allow/Deny buttons) for arguments it cannot render, so a
|
|
44
|
+
* confirmation that nobody can give would be awaited indefinitely.
|
|
45
|
+
*/
|
|
46
|
+
protected checkArguments(argString: string): AutoActionResult | undefined;
|
|
33
47
|
/**
|
|
34
48
|
* Resolve the pending interaction with the given final result. The renderer is the single
|
|
35
49
|
* source of truth for the collected user input and passes the full result here on Finish
|
|
@@ -42,6 +56,14 @@ export declare class UserInteractionTool implements ToolProvider {
|
|
|
42
56
|
* an already-resolved interaction are silently ignored.
|
|
43
57
|
*/
|
|
44
58
|
recordPartial(toolCallId: string, partial: UserInteractionResult): void;
|
|
59
|
+
/**
|
|
60
|
+
* Remember the step the user is currently viewing so another mount of the same
|
|
61
|
+
* interaction resumes there. Calls for an unknown or already-resolved interaction
|
|
62
|
+
* are silently ignored.
|
|
63
|
+
*/
|
|
64
|
+
recordCurrentStep(toolCallId: string, step: number): void;
|
|
65
|
+
/** The step last recorded via {@link recordCurrentStep}, or undefined if nothing is pending. */
|
|
66
|
+
getCurrentStep(toolCallId: string): number | undefined;
|
|
45
67
|
protected resolveInteraction(toolCallId: string, result: UserInteractionResult): void;
|
|
46
68
|
protected cancelPending(toolCallId: string): void;
|
|
47
69
|
openLink(link: UserInteractionLink): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-interaction-tool.d.ts","sourceRoot":"","sources":["../../src/browser/user-interaction-tool.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAuD,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"user-interaction-tool.d.ts","sourceRoot":"","sources":["../../src/browser/user-interaction-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,8 +80,9 @@ const STEP_SCHEMA = {
|
|
|
80
80
|
},
|
|
81
81
|
required: ['text', 'value']
|
|
82
82
|
},
|
|
83
|
-
description: '
|
|
84
|
-
+ 'a
|
|
83
|
+
description: 'Buttons offered to the user for this step. '
|
|
84
|
+
+ 'Omit it (or pass an empty array) only for purely informational steps: a step without options is never a confirmation, '
|
|
85
|
+
+ 'so never use one to ask for approval. In a multi-step interaction a hardcoded "Next"/"Finish" button is always shown to advance.'
|
|
85
86
|
},
|
|
86
87
|
links: {
|
|
87
88
|
type: 'array',
|
|
@@ -136,7 +137,8 @@ const TOOL_DESCRIPTION = 'Present an interactive user interaction. Each step has
|
|
|
136
137
|
+ 'The tool returns a JSON string with { "completed": boolean, "steps": [{ "title", "value"?, "comments"?, "skipped"? }] }. '
|
|
137
138
|
+ 'If the user cancels mid-interaction, the tool returns whatever has been collected so far with "completed": false. '
|
|
138
139
|
+ 'Use this to walk users through a series of pre-determined findings or decisions in a single tool call, '
|
|
139
|
-
+ 'or to surface a single message/diff that should be shown inline in the chat.'
|
|
140
|
+
+ 'or to surface a single message/diff that should be shown inline in the chat. '
|
|
141
|
+
+ 'Pass nested values as real JSON arrays and objects, never as JSON-encoded strings.';
|
|
140
142
|
let UserInteractionTool = class UserInteractionTool {
|
|
141
143
|
constructor() {
|
|
142
144
|
this.pendingInteractions = new Map();
|
|
@@ -150,9 +152,20 @@ let UserInteractionTool = class UserInteractionTool {
|
|
|
150
152
|
providerName: 'ai-ide',
|
|
151
153
|
description: TOOL_DESCRIPTION,
|
|
152
154
|
parameters: TOOL_PARAMETERS,
|
|
153
|
-
handler: (argString, ctx) => this.handleInteraction(argString, ctx)
|
|
155
|
+
handler: (argString, ctx) => this.handleInteraction(argString, ctx),
|
|
156
|
+
checkAutoAction: (argString) => this.checkArguments(argString)
|
|
154
157
|
};
|
|
155
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Auto-deny invocations whose arguments do not validate, handing the validation error back to
|
|
161
|
+
* the model. Without this the confirmation flow would stall: the renderer refuses to mount the
|
|
162
|
+
* interaction (and with it the Allow/Deny buttons) for arguments it cannot render, so a
|
|
163
|
+
* confirmation that nobody can give would be awaited indefinitely.
|
|
164
|
+
*/
|
|
165
|
+
checkArguments(argString) {
|
|
166
|
+
const validation = (0, user_interaction_tool_1.parseUserInteractionArgs)(argString);
|
|
167
|
+
return validation.ok ? undefined : { action: 'deny', reason: validation.error };
|
|
168
|
+
}
|
|
156
169
|
/**
|
|
157
170
|
* Resolve the pending interaction with the given final result. The renderer is the single
|
|
158
171
|
* source of truth for the collected user input and passes the full result here on Finish
|
|
@@ -173,6 +186,23 @@ let UserInteractionTool = class UserInteractionTool {
|
|
|
173
186
|
}
|
|
174
187
|
pending.latestPartial = partial;
|
|
175
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Remember the step the user is currently viewing so another mount of the same
|
|
191
|
+
* interaction resumes there. Calls for an unknown or already-resolved interaction
|
|
192
|
+
* are silently ignored.
|
|
193
|
+
*/
|
|
194
|
+
recordCurrentStep(toolCallId, step) {
|
|
195
|
+
const pending = this.pendingInteractions.get(toolCallId);
|
|
196
|
+
if (!pending || pending.resolved) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
pending.currentStep = step;
|
|
200
|
+
}
|
|
201
|
+
/** The step last recorded via {@link recordCurrentStep}, or undefined if nothing is pending. */
|
|
202
|
+
getCurrentStep(toolCallId) {
|
|
203
|
+
const pending = this.pendingInteractions.get(toolCallId);
|
|
204
|
+
return pending && !pending.resolved ? pending.currentStep : undefined;
|
|
205
|
+
}
|
|
176
206
|
resolveInteraction(toolCallId, result) {
|
|
177
207
|
const pending = this.pendingInteractions.get(toolCallId);
|
|
178
208
|
if (!pending || pending.resolved) {
|
|
@@ -260,19 +290,14 @@ let UserInteractionTool = class UserInteractionTool {
|
|
|
260
290
|
return fileUri;
|
|
261
291
|
}
|
|
262
292
|
async handleInteraction(argString, ctx) {
|
|
263
|
-
try {
|
|
264
|
-
JSON.parse(argString);
|
|
265
|
-
}
|
|
266
|
-
catch {
|
|
267
|
-
return JSON.stringify({ error: 'Invalid arguments' });
|
|
268
|
-
}
|
|
269
293
|
// Validate via the shared parser so the tool only ever waits for steps that
|
|
270
|
-
// the renderer would actually render
|
|
271
|
-
//
|
|
272
|
-
const
|
|
273
|
-
if (!
|
|
274
|
-
return JSON.stringify({ error:
|
|
294
|
+
// the renderer would actually render, and so that anything the agent got
|
|
295
|
+
// wrong is reported back to it verbatim instead of being silently dropped.
|
|
296
|
+
const validation = (0, user_interaction_tool_1.parseUserInteractionArgs)(argString);
|
|
297
|
+
if (!validation.ok) {
|
|
298
|
+
return JSON.stringify({ error: validation.error });
|
|
275
299
|
}
|
|
300
|
+
const validated = validation.args;
|
|
276
301
|
const toolCallId = language_model_1.ToolInvocationContext.getToolCallId(ctx);
|
|
277
302
|
if (!toolCallId) {
|
|
278
303
|
return JSON.stringify({ error: 'No tool call ID available' });
|
|
@@ -298,13 +323,27 @@ let UserInteractionTool = class UserInteractionTool {
|
|
|
298
323
|
const cancellationListener = cancellationToken?.onCancellationRequested(() => this.cancelPending(toolCallId));
|
|
299
324
|
// Mark the response as waiting for input while the interaction is pending, so it is
|
|
300
325
|
// surfaced consistently with agent questions and tool confirmations (e.g. in the
|
|
301
|
-
// session overview and notifications).
|
|
326
|
+
// session overview and notifications). Announce the interaction via
|
|
327
|
+
// interactionNeeded so UIs that track pending interactions (e.g. the collapsed
|
|
328
|
+
// delegation summary) surface it like tool confirmations (#17952).
|
|
302
329
|
const response = ai_chat_1.ChatToolContext.is(ctx) ? ctx.response : undefined;
|
|
303
|
-
|
|
330
|
+
let contentPart;
|
|
331
|
+
if (response) {
|
|
332
|
+
contentPart = response.response.content.findLast((part) => ai_chat_1.ToolCallChatResponseContent.is(part) && part.id === toolCallId);
|
|
333
|
+
if (contentPart) {
|
|
334
|
+
contentPart.requestUserInput();
|
|
335
|
+
response.fireInteractionNeeded(contentPart);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
this.logger.warn(`No tool call content found for '${toolCallId}'; the pending interaction cannot be announced to interaction trackers.`);
|
|
339
|
+
}
|
|
340
|
+
response.waitForInput();
|
|
341
|
+
}
|
|
304
342
|
try {
|
|
305
343
|
return await pending.deferred.promise;
|
|
306
344
|
}
|
|
307
345
|
finally {
|
|
346
|
+
contentPart?.userInputHandled();
|
|
308
347
|
response?.stopWaitingForInput();
|
|
309
348
|
cancellationListener?.dispose();
|
|
310
349
|
this.pendingInteractions.delete(toolCallId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-interaction-tool.js","sourceRoot":"","sources":["../../src/browser/user-interaction-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user-interaction-tool.js","sourceRoot":"","sources":["../../src/browser/user-interaction-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,18 +100,167 @@ describe('UserInteractionTool', () => {
|
|
|
100
100
|
it('should return error when no interactions are provided', async () => {
|
|
101
101
|
const handler = tool.getTool().handler;
|
|
102
102
|
const result = await handler(JSON.stringify({ interactions: [] }), { toolCallId: 'x' });
|
|
103
|
-
(0, chai_1.expect)(JSON.parse(result).error).to.
|
|
103
|
+
(0, chai_1.expect)(JSON.parse(result).error).to.match(/at least one step/);
|
|
104
104
|
});
|
|
105
105
|
it('should return error when arguments are invalid JSON', async () => {
|
|
106
106
|
const handler = tool.getTool().handler;
|
|
107
107
|
const result = await handler('not-json', { toolCallId: 'x' });
|
|
108
|
-
(0, chai_1.expect)(JSON.parse(result).error).to.
|
|
108
|
+
(0, chai_1.expect)(JSON.parse(result).error).to.match(/valid JSON/i);
|
|
109
|
+
});
|
|
110
|
+
it('should reject a single step whose options are malformed instead of auto-completing it', async () => {
|
|
111
|
+
const handler = tool.getTool().handler;
|
|
112
|
+
const args = JSON.stringify({
|
|
113
|
+
interactions: [{
|
|
114
|
+
title: 'Apply fix?',
|
|
115
|
+
message: 'Should I apply this change?',
|
|
116
|
+
options: '[{"text":"Yes","value":"yes"}]'
|
|
117
|
+
}]
|
|
118
|
+
});
|
|
119
|
+
const result = JSON.parse(await handler(args, { toolCallId: 'malformed-options' }));
|
|
120
|
+
(0, chai_1.expect)(result.error).to.match(/step 1: "options" must be an array/i);
|
|
121
|
+
(0, chai_1.expect)(result.completed).to.be.undefined;
|
|
122
|
+
});
|
|
123
|
+
it('should reject a single step with a partially malformed options array instead of silently dropping the bad option', async () => {
|
|
124
|
+
const handler = tool.getTool().handler;
|
|
125
|
+
const args = JSON.stringify({
|
|
126
|
+
interactions: [{
|
|
127
|
+
title: 'Apply fix?',
|
|
128
|
+
message: 'Should I apply this change?',
|
|
129
|
+
options: [{ text: 'Approve', value: 'approve' }, { text: 'Reject', value: 'reject' }, { label: 'Defer', value: 'defer' }]
|
|
130
|
+
}]
|
|
131
|
+
});
|
|
132
|
+
const result = JSON.parse(await handler(args, { toolCallId: 'partial-options' }));
|
|
133
|
+
(0, chai_1.expect)(result.error).to.match(/step 1, option 3: "text" and "value" are required strings/i);
|
|
134
|
+
(0, chai_1.expect)(result.completed).to.be.undefined;
|
|
135
|
+
});
|
|
136
|
+
it('should reject a JSON-encoded interactions string with an actionable message', async () => {
|
|
137
|
+
const handler = tool.getTool().handler;
|
|
138
|
+
const args = JSON.stringify({ interactions: '[{"title":"T","message":"M"}]' });
|
|
139
|
+
const result = JSON.parse(await handler(args, { toolCallId: 'encoded-interactions' }));
|
|
140
|
+
(0, chai_1.expect)(result.error).to.match(/"interactions" must be an array of step objects, received string/);
|
|
141
|
+
(0, chai_1.expect)(result.error).to.match(/do not JSON-encode nested values/i);
|
|
142
|
+
});
|
|
143
|
+
it('should auto-complete a single step that genuinely has no options', async () => {
|
|
144
|
+
const handler = tool.getTool().handler;
|
|
145
|
+
const args = JSON.stringify({ interactions: [{ title: 'FYI', message: 'Heads up' }] });
|
|
146
|
+
const result = parseResult(await handler(args, { toolCallId: 'informational' }));
|
|
147
|
+
(0, chai_1.expect)(result.completed).to.be.true;
|
|
148
|
+
(0, chai_1.expect)(result.steps).to.deep.equal([{ title: 'FYI' }]);
|
|
149
|
+
});
|
|
150
|
+
describe('checkAutoAction', () => {
|
|
151
|
+
it('should auto-deny malformed arguments so the model receives the validation error', () => {
|
|
152
|
+
const args = JSON.stringify({
|
|
153
|
+
interactions: [{ title: 'Apply fix?', message: 'Confirm?', options: '[{"text":"Yes","value":"yes"}]' }]
|
|
154
|
+
});
|
|
155
|
+
const autoAction = tool.getTool().checkAutoAction(args);
|
|
156
|
+
(0, chai_1.expect)(autoAction?.action).to.equal('deny');
|
|
157
|
+
(0, chai_1.expect)(autoAction?.reason).to.match(/step 1: "options" must be an array/i);
|
|
158
|
+
});
|
|
159
|
+
it('should not auto-deny well-formed arguments, leaving confirmation to the user', () => {
|
|
160
|
+
(0, chai_1.expect)(tool.getTool().checkAutoAction(singleStepArgs())).to.be.undefined;
|
|
161
|
+
});
|
|
109
162
|
});
|
|
110
163
|
it('should return error when no tool call ID is available', async () => {
|
|
111
164
|
const handler = tool.getTool().handler;
|
|
112
165
|
const result = await handler(singleStepArgs(), undefined);
|
|
113
166
|
(0, chai_1.expect)(JSON.parse(result).error).to.equal('No tool call ID available');
|
|
114
167
|
});
|
|
168
|
+
describe('chat context surfacing', () => {
|
|
169
|
+
// Mimics the shape of ChatToolContext with a mock response model, so we can
|
|
170
|
+
// assert the tool announces its pending interaction (issue #17952: interactions
|
|
171
|
+
// inside delegated sessions were never surfaced because the tool never fired
|
|
172
|
+
// interactionNeeded).
|
|
173
|
+
const createChatCtx = (toolCallId, withContentPart = true) => {
|
|
174
|
+
const contentPart = {
|
|
175
|
+
kind: 'toolCall',
|
|
176
|
+
id: toolCallId,
|
|
177
|
+
requestUserInput: sinon.spy(),
|
|
178
|
+
userInputHandled: sinon.spy()
|
|
179
|
+
};
|
|
180
|
+
const response = {
|
|
181
|
+
response: { content: withContentPart ? [contentPart] : [] },
|
|
182
|
+
fireInteractionNeeded: sinon.spy(),
|
|
183
|
+
waitForInput: sinon.spy(),
|
|
184
|
+
stopWaitingForInput: sinon.spy()
|
|
185
|
+
};
|
|
186
|
+
return { ctx: { toolCallId, request: {}, response }, response, contentPart };
|
|
187
|
+
};
|
|
188
|
+
it('should fire interactionNeeded with the tool call content part while waiting', async () => {
|
|
189
|
+
const handler = tool.getTool().handler;
|
|
190
|
+
const { ctx, response, contentPart } = createChatCtx('call-fire');
|
|
191
|
+
const handlerPromise = handler(singleStepArgs(), ctx);
|
|
192
|
+
(0, chai_1.expect)(response.fireInteractionNeeded.calledOnce).to.be.true;
|
|
193
|
+
(0, chai_1.expect)(response.fireInteractionNeeded.firstCall.args[0]).to.equal(contentPart);
|
|
194
|
+
(0, chai_1.expect)(response.waitForInput.calledOnce).to.be.true;
|
|
195
|
+
tool.completeInteraction('call-fire', { completed: true, steps: [{ title: 'Choose', value: 'a' }] });
|
|
196
|
+
await handlerPromise;
|
|
197
|
+
});
|
|
198
|
+
it('should mark the content part as awaiting user input while blocked and clear it afterwards', async () => {
|
|
199
|
+
const handler = tool.getTool().handler;
|
|
200
|
+
const { ctx, contentPart } = createChatCtx('call-mark');
|
|
201
|
+
const handlerPromise = handler(singleStepArgs(), ctx);
|
|
202
|
+
(0, chai_1.expect)(contentPart.requestUserInput.calledOnce).to.be.true;
|
|
203
|
+
(0, chai_1.expect)(contentPart.userInputHandled.called).to.be.false;
|
|
204
|
+
tool.completeInteraction('call-mark', { completed: true, steps: [{ title: 'Choose', value: 'a' }] });
|
|
205
|
+
await handlerPromise;
|
|
206
|
+
(0, chai_1.expect)(contentPart.userInputHandled.calledOnce).to.be.true;
|
|
207
|
+
});
|
|
208
|
+
it('should not fire interactionNeeded when no matching tool call content exists', async () => {
|
|
209
|
+
const handler = tool.getTool().handler;
|
|
210
|
+
const { ctx, response } = createChatCtx('call-missing', false);
|
|
211
|
+
const handlerPromise = handler(singleStepArgs(), ctx);
|
|
212
|
+
(0, chai_1.expect)(response.fireInteractionNeeded.called).to.be.false;
|
|
213
|
+
// Waiting state must still be surfaced even without a content part.
|
|
214
|
+
(0, chai_1.expect)(response.waitForInput.calledOnce).to.be.true;
|
|
215
|
+
tool.completeInteraction('call-missing', { completed: true, steps: [{ title: 'Choose', value: 'a' }] });
|
|
216
|
+
await handlerPromise;
|
|
217
|
+
});
|
|
218
|
+
it('should not fire interactionNeeded for informational single-step interactions', async () => {
|
|
219
|
+
const handler = tool.getTool().handler;
|
|
220
|
+
const { ctx, response } = createChatCtx('call-info');
|
|
221
|
+
const result = parseResult(await handler(JSON.stringify({ interactions: [{ title: 'FYI', message: 'Just info' }] }), ctx));
|
|
222
|
+
(0, chai_1.expect)(result.completed).to.be.true;
|
|
223
|
+
(0, chai_1.expect)(response.fireInteractionNeeded.called).to.be.false;
|
|
224
|
+
(0, chai_1.expect)(response.waitForInput.called).to.be.false;
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
describe('current step across renderer mounts', () => {
|
|
228
|
+
// The wizard can be mounted twice for one interaction (collapsed delegation summary
|
|
229
|
+
// and expanded details). The tool keeps the current step so a new mount resumes
|
|
230
|
+
// where the previous one left off instead of restarting at step 0.
|
|
231
|
+
const multiStepArgs = () => JSON.stringify({
|
|
232
|
+
interactions: [
|
|
233
|
+
{ title: 'One', message: 'first' },
|
|
234
|
+
{ title: 'Two', message: 'second', options: [{ text: 'OK', value: 'ok' }] },
|
|
235
|
+
{ title: 'Three', message: 'third' }
|
|
236
|
+
]
|
|
237
|
+
});
|
|
238
|
+
const completedResult = () => ({
|
|
239
|
+
completed: true,
|
|
240
|
+
steps: [{ title: 'One' }, { title: 'Two', value: 'ok' }, { title: 'Three' }]
|
|
241
|
+
});
|
|
242
|
+
it('should return undefined when no interaction is pending', () => {
|
|
243
|
+
(0, chai_1.expect)(tool.getCurrentStep('unknown')).to.be.undefined;
|
|
244
|
+
});
|
|
245
|
+
it('should remember the recorded step while the interaction is pending', async () => {
|
|
246
|
+
const handler = tool.getTool().handler;
|
|
247
|
+
const handlerPromise = handler(multiStepArgs(), { toolCallId: 'call-step' });
|
|
248
|
+
tool.recordCurrentStep('call-step', 2);
|
|
249
|
+
(0, chai_1.expect)(tool.getCurrentStep('call-step')).to.equal(2);
|
|
250
|
+
tool.completeInteraction('call-step', completedResult());
|
|
251
|
+
await handlerPromise;
|
|
252
|
+
});
|
|
253
|
+
it('should forget the step once the interaction resolved', async () => {
|
|
254
|
+
const handler = tool.getTool().handler;
|
|
255
|
+
const handlerPromise = handler(multiStepArgs(), { toolCallId: 'call-step-done' });
|
|
256
|
+
tool.recordCurrentStep('call-step-done', 1);
|
|
257
|
+
tool.completeInteraction('call-step-done', completedResult());
|
|
258
|
+
await handlerPromise;
|
|
259
|
+
(0, chai_1.expect)(tool.getCurrentStep('call-step-done')).to.be.undefined;
|
|
260
|
+
tool.recordCurrentStep('call-step-done', 2);
|
|
261
|
+
(0, chai_1.expect)(tool.getCurrentStep('call-step-done')).to.be.undefined;
|
|
262
|
+
});
|
|
263
|
+
});
|
|
115
264
|
it('should resolve the handler with the result passed to completeInteraction', async () => {
|
|
116
265
|
const handler = tool.getTool().handler;
|
|
117
266
|
const handlerPromise = handler(singleStepArgs(), { toolCallId: 'call-1' });
|