@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.
@@ -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;AA2d9D,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,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"}
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
- const [currentStep, setCurrentStep] = React.useState(0);
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
- function parseToolErrorResult(raw) {
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 && typeof candidate === 'object' && typeof candidate.error === 'string') {
256
- return candidate;
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 args = (0, user_interaction_tool_2.parseUserInteractionArgs)(response.arguments);
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 error = parseToolErrorResult(response.result);
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":"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"}
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,uFAAuF;IACvF,8EAA8E;IAC9E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,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,iFAAiF;IACjF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,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;AAEF;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACrC,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,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAI,SAAiC,CAAC,KAAK,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,oCAA2B,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC,MAAM,CAAC;IAC5B,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;;;;OAIG;IACH,kBAAkB,CAAC,QAAqC,EAAE,UAAwB;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,QAAqC,EAAE,UAAwB;QAClE,MAAM,UAAU,GAAG,IAAA,gDAAwB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzD,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,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;uBAC7C,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;AAzHY,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,CAyHvC"}
@@ -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;AAGjF,OAAO,EAAQ,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAqC,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACH,UAAU,EAEV,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EAMtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,UAAU,kBAAkB;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAgHD,qBACa,mBAAoB,YAAW,YAAY;IACpD,MAAM,CAAC,EAAE,SAAgC;IAGzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,kCAAyC;IAE/E,OAAO,IAAI,WAAW;IAWtB;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI5E;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAQvE,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI;IASrF,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAY3C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDxD,SAAS,CAAC,UAAU,CAChB,GAAG,EAAE,cAAc,GACpB,GAAG,GAAG,SAAS;cAaF,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;cAwD7F,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBjE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;IAO5D,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;IAM3D,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAK5C,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;cAI5B,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAe5D"}
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: 'Optional buttons offered to the user for this step. Omit for purely informational steps; '
84
- + 'a hardcoded "Next"/"Finish" button is always shown to advance.'
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. Otherwise the agent could send a
271
- // step the UI filters out, leaving the tool blocked on input forever.
272
- const validated = (0, user_interaction_tool_1.parseUserInteractionArgs)(argString);
273
- if (!validated || validated.interactions.length === 0) {
274
- return JSON.stringify({ error: 'No interactions provided' });
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
- response?.waitForInput();
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.equal('No interactions provided');
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.equal('Invalid arguments');
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' });