@theia/ai-ide 1.72.0-next.52 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/lib/browser/app-tester-chat-agent.js +1 -1
  2. package/lib/browser/architect-agent.js +1 -1
  3. package/lib/browser/architect-agent.js.map +1 -1
  4. package/lib/browser/chat-sessions-welcome-message-provider.d.ts +2 -1
  5. package/lib/browser/chat-sessions-welcome-message-provider.d.ts.map +1 -1
  6. package/lib/browser/chat-sessions-welcome-message-provider.js +122 -32
  7. package/lib/browser/chat-sessions-welcome-message-provider.js.map +1 -1
  8. package/lib/browser/chat-sessions-welcome-message-provider.spec.d.ts +2 -0
  9. package/lib/browser/chat-sessions-welcome-message-provider.spec.d.ts.map +1 -0
  10. package/lib/browser/chat-sessions-welcome-message-provider.spec.js +156 -0
  11. package/lib/browser/chat-sessions-welcome-message-provider.spec.js.map +1 -0
  12. package/lib/browser/explore-agent.js +1 -1
  13. package/lib/browser/frontend-module.d.ts.map +1 -1
  14. package/lib/browser/frontend-module.js +2 -0
  15. package/lib/browser/frontend-module.js.map +1 -1
  16. package/lib/browser/github-chat-agent.js +1 -1
  17. package/lib/browser/project-info-agent.js +1 -1
  18. package/lib/browser/review/pr-review-capability-contribution.d.ts +12 -0
  19. package/lib/browser/review/pr-review-capability-contribution.d.ts.map +1 -0
  20. package/lib/browser/review/pr-review-capability-contribution.js +213 -0
  21. package/lib/browser/review/pr-review-capability-contribution.js.map +1 -0
  22. package/lib/browser/review/pr-review-prompt-template.d.ts +5 -0
  23. package/lib/browser/review/pr-review-prompt-template.d.ts.map +1 -1
  24. package/lib/browser/review/pr-review-prompt-template.js +172 -139
  25. package/lib/browser/review/pr-review-prompt-template.js.map +1 -1
  26. package/lib/browser/user-interaction-tool-renderer.d.ts.map +1 -1
  27. package/lib/browser/user-interaction-tool-renderer.js +63 -39
  28. package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
  29. package/lib/browser/user-interaction-tool.d.ts +19 -10
  30. package/lib/browser/user-interaction-tool.d.ts.map +1 -1
  31. package/lib/browser/user-interaction-tool.js +43 -54
  32. package/lib/browser/user-interaction-tool.js.map +1 -1
  33. package/lib/browser/user-interaction-tool.spec.js +66 -41
  34. package/lib/browser/user-interaction-tool.spec.js.map +1 -1
  35. package/lib/common/command-chat-agents.js +1 -1
  36. package/lib/common/command-chat-agents.js.map +1 -1
  37. package/lib/common/orchestrator-chat-agent.js +1 -1
  38. package/lib/common/orchestrator-chat-agent.js.map +1 -1
  39. package/lib/common/user-interaction-tool.d.ts +1 -0
  40. package/lib/common/user-interaction-tool.d.ts.map +1 -1
  41. package/lib/common/user-interaction-tool.js +43 -15
  42. package/lib/common/user-interaction-tool.js.map +1 -1
  43. package/lib/common/user-interaction-tool.spec.js +27 -0
  44. package/lib/common/user-interaction-tool.spec.js.map +1 -1
  45. package/package.json +22 -22
  46. package/src/browser/app-tester-chat-agent.ts +1 -1
  47. package/src/browser/architect-agent.ts +1 -1
  48. package/src/browser/chat-sessions-welcome-message-provider.spec.ts +186 -0
  49. package/src/browser/chat-sessions-welcome-message-provider.tsx +132 -35
  50. package/src/browser/explore-agent.ts +1 -1
  51. package/src/browser/frontend-module.ts +2 -0
  52. package/src/browser/github-chat-agent.ts +1 -1
  53. package/src/browser/project-info-agent.ts +1 -1
  54. package/src/browser/review/pr-review-capability-contribution.ts +232 -0
  55. package/src/browser/review/pr-review-prompt-template.ts +181 -150
  56. package/src/browser/style/index.css +43 -3
  57. package/src/browser/user-interaction-tool-renderer.tsx +74 -49
  58. package/src/browser/user-interaction-tool.spec.ts +73 -46
  59. package/src/browser/user-interaction-tool.ts +52 -58
  60. package/src/common/command-chat-agents.ts +1 -1
  61. package/src/common/orchestrator-chat-agent.ts +1 -1
  62. package/src/common/user-interaction-tool.spec.ts +29 -0
  63. package/src/common/user-interaction-tool.ts +42 -15
@@ -28,21 +28,32 @@ const chat_tool_preference_bindings_1 = require("@theia/ai-chat/lib/browser/chat
28
28
  const ai_core_1 = require("@theia/ai-core");
29
29
  const user_interaction_tool_1 = require("./user-interaction-tool");
30
30
  const user_interaction_tool_2 = require("../common/user-interaction-tool");
31
- const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled, responseComplete, result, openerService }) => {
31
+ const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled, result, onPartialResult, openerService }) => {
32
32
  const steps = args.interactions;
33
33
  const stepCount = steps.length;
34
34
  const [currentStep, setCurrentStep] = React.useState(0);
35
- const [stepStates, setStepStates] = React.useState(() => steps.map(() => ({ comments: [] })));
35
+ // The tool's result (partial or final) is the single source of truth for step states.
36
+ const [stepStates, setStepStates] = React.useState(() => {
37
+ if (result) {
38
+ return steps.map((_, i) => ({
39
+ value: result.steps[i]?.value,
40
+ comments: result.steps[i]?.comments ? [...result.steps[i].comments] : []
41
+ }));
42
+ }
43
+ return steps.map(() => ({ comments: [] }));
44
+ });
45
+ // Mirror stepStates into a ref so synchronous readers (cancellation fallback,
46
+ // terminal handlers) always see the latest value. The ref is updated synchronously
47
+ // by every code path that writes to stepStates, which also keeps these handlers
48
+ // free of `stepStates` deps and avoids state-updater side effects.
49
+ const stepStatesRef = React.useRef(stepStates);
36
50
  const [pendingComment, setPendingComment] = React.useState('');
37
51
  const activeStep = steps[currentStep];
38
52
  const isLastStep = currentStep === stepCount - 1;
39
53
  const messageRef = (0, markdown_part_renderer_1.useMarkdownRendering)(activeStep?.message ?? '', openerService);
40
- // A parent response that completed without delivering a tool result means the
41
- // interaction was restored from a serialized "waiting for input" state. The
42
- // agent that was waiting is no longer running, so it must be treated as
43
- // canceled and all inputs locked.
44
- const restoredWithoutResult = responseComplete && !result;
45
- const isFinal = finished || !!result || canceled || restoredWithoutResult;
54
+ // A finished tool call has no live handler anymore (completion, cancellation, or
55
+ // restoration of a previously-pending interaction). Lock all inputs in that case.
56
+ const isFinal = finished || canceled;
46
57
  // Auto-open the active step's links the first time the user reaches it.
47
58
  // Going Back and then Forward must not re-open them.
48
59
  const visitedStepsRef = React.useRef(new Set());
@@ -53,26 +64,38 @@ const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled,
53
64
  visitedStepsRef.current.add(currentStep);
54
65
  const links = activeStep.links ?? [];
55
66
  for (const link of links) {
56
- if (link.autoOpen !== false) {
67
+ if (link.autoOpen) {
57
68
  tool.openLink(link).catch(err => console.warn('Failed to auto-open user-interaction link:', err));
58
69
  }
59
70
  }
60
71
  }, [currentStep, activeStep, isFinal, tool]);
61
- const persistStepState = React.useCallback((stepIndex, state) => {
62
- tool.setStepResult(toolCallId, stepIndex, {
63
- value: state.value,
64
- comments: state.comments.length > 0 ? state.comments : undefined
65
- });
66
- }, [tool, toolCallId]);
72
+ const buildResult = React.useCallback((completed, states) => ({
73
+ completed,
74
+ steps: steps.map((step, i) => {
75
+ const state = states[i];
76
+ const stepResult = { title: step.title };
77
+ if (state?.value !== undefined) {
78
+ stepResult.value = state.value;
79
+ }
80
+ if (state?.comments && state.comments.length > 0) {
81
+ stepResult.comments = [...state.comments];
82
+ }
83
+ // For partial/cancel results, mark untouched steps as skipped so the LLM
84
+ // can distinguish "answered" from "not answered" if the interaction never
85
+ // completes.
86
+ if (!completed && stepResult.value === undefined && stepResult.comments === undefined) {
87
+ stepResult.skipped = true;
88
+ }
89
+ return stepResult;
90
+ })
91
+ }), [steps]);
67
92
  const updateStepState = React.useCallback((stepIndex, updater) => {
68
- setStepStates(prev => {
69
- const next = prev.slice();
70
- const updated = updater(prev[stepIndex]);
71
- next[stepIndex] = updated;
72
- persistStepState(stepIndex, updated);
73
- return next;
74
- });
75
- }, [persistStepState]);
93
+ const next = stepStatesRef.current.slice();
94
+ next[stepIndex] = updater(next[stepIndex]);
95
+ stepStatesRef.current = next;
96
+ setStepStates(next);
97
+ onPartialResult(buildResult(false, next));
98
+ }, [buildResult, onPartialResult]);
76
99
  const isSingleStep = stepCount === 1;
77
100
  const hasOptions = !!activeStep?.options && activeStep.options.length > 0;
78
101
  const handleOptionClick = React.useCallback((value) => {
@@ -80,19 +103,17 @@ const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled,
80
103
  return;
81
104
  }
82
105
  if (isSingleStep) {
83
- setStepStates(prev => {
84
- const next = prev.slice();
85
- next[0] = { ...prev[0], value };
86
- return next;
87
- });
88
- tool.completeInteractionWith(toolCallId, 0, { value });
106
+ const next = [{ ...stepStatesRef.current[0], value }];
107
+ stepStatesRef.current = next;
108
+ setStepStates(next);
109
+ tool.completeInteraction(toolCallId, buildResult(true, next));
89
110
  return;
90
111
  }
91
112
  updateStepState(currentStep, prev => ({
92
113
  ...prev,
93
114
  value: prev.value === value ? undefined : value
94
115
  }));
95
- }, [currentStep, isFinal, isSingleStep, tool, toolCallId, updateStepState]);
116
+ }, [buildResult, currentStep, isFinal, isSingleStep, tool, toolCallId, updateStepState]);
96
117
  const handleAddComment = React.useCallback(() => {
97
118
  const trimmed = pendingComment.trim();
98
119
  if (isFinal || !trimmed) {
@@ -129,13 +150,13 @@ const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled,
129
150
  const handleAdvance = React.useCallback(() => {
130
151
  if (isLastStep) {
131
152
  if (!isFinal) {
132
- tool.completeInteraction(toolCallId);
153
+ tool.completeInteraction(toolCallId, buildResult(true, stepStatesRef.current));
133
154
  }
134
155
  return;
135
156
  }
136
157
  setCurrentStep(idx => idx + 1);
137
158
  setPendingComment('');
138
- }, [isFinal, isLastStep, tool, toolCallId]);
159
+ }, [buildResult, isFinal, isLastStep, tool, toolCallId]);
139
160
  const handleBack = React.useCallback(() => {
140
161
  if (currentStep === 0) {
141
162
  return;
@@ -157,13 +178,13 @@ const UserInteractionComponent = ({ args, toolCallId, tool, finished, canceled,
157
178
  React.createElement("span", { className: (0, browser_1.codicon)('comment-discussion') }),
158
179
  React.createElement("span", { className: 'user-interaction-tool title' }, activeStep.title),
159
180
  (() => {
160
- // The tool's own result is authoritative: a completed
161
- // interaction must stay "Completed" even if the chat
162
- // session is canceled later. A response that completed
163
- // without a result indicates the interaction was restored
164
- // from a "waiting" state and is treated as canceled.
181
+ // A completed result is authoritative and persists even if the
182
+ // chat is later canceled. While the tool is live we may already
183
+ // have a partial result (`completed: false`) so distinguish
184
+ // "still waiting" from "canceled" using `finished`/`canceled`:
185
+ // both are only true once no live handler is around.
165
186
  const status = result?.completed === true ? 'completed' :
166
- result?.completed === false || canceled || restoredWithoutResult ? 'canceled' :
187
+ finished || canceled ? 'canceled' :
167
188
  'waiting';
168
189
  if (status === 'completed') {
169
190
  return (React.createElement("span", { className: 'user-interaction-tool status completed' },
@@ -300,7 +321,10 @@ let UserInteractionToolRenderer = class UserInteractionToolRenderer {
300
321
  const chatId = parentNode.sessionId;
301
322
  const toolRequest = this.toolInvocationRegistry.getFunction(user_interaction_tool_2.USER_INTERACTION_FUNCTION_ID);
302
323
  const confirmationMode = this.toolConfirmationManager.getConfirmationMode(user_interaction_tool_2.USER_INTERACTION_FUNCTION_ID, chatId, toolRequest);
303
- return (React.createElement(UserInteractionWithConfirmation, { args: args, toolCallId: response.id, tool: this.userInteractionTool, finished: response.finished, canceled: parentNode.response.isCanceled, responseComplete: parentNode.response.isComplete, result: (0, user_interaction_tool_2.parseUserInteractionResult)(response.result), openerService: this.openerService, toolConfirmation: {
324
+ return (React.createElement(UserInteractionWithConfirmation, { args: args, toolCallId: response.id, tool: this.userInteractionTool, finished: response.finished, canceled: parentNode.response.isCanceled, result: (0, user_interaction_tool_2.parseUserInteractionResult)(response.result), onPartialResult: partial => {
325
+ this.userInteractionTool.recordPartial(response.id, partial);
326
+ response.updateResult(JSON.stringify(partial));
327
+ }, openerService: this.openerService, toolConfirmation: {
304
328
  response,
305
329
  confirmationMode,
306
330
  toolConfirmationManager: this.toolConfirmationManager,
@@ -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":"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"}
@@ -7,12 +7,17 @@ import URI from '@theia/core/lib/common/uri';
7
7
  import { EditorManager } from '@theia/editor/lib/browser';
8
8
  import { ScmService } from '@theia/scm/lib/browser/scm-service';
9
9
  import { WorkspaceFunctionScope } from './workspace-functions';
10
- import { ContentRef, PathContentRef, UserInteractionLink, UserInteractionStep, UserInteractionStepResult } from '../common/user-interaction-tool';
10
+ import { ContentRef, PathContentRef, UserInteractionLink, UserInteractionResult, UserInteractionStep } from '../common/user-interaction-tool';
11
11
  interface PendingInteraction {
12
12
  deferred: Deferred<string>;
13
13
  steps: UserInteractionStep[];
14
- stepResults: UserInteractionStepResult[];
15
14
  resolved: boolean;
15
+ /**
16
+ * Latest partial result pushed by the renderer via {@link UserInteractionTool.recordPartial}.
17
+ * Used to resolve the handler with what the user has collected so far when the interaction
18
+ * is canceled. If absent (no renderer mounted) the tool resolves with all steps skipped.
19
+ */
20
+ latestPartial?: UserInteractionResult;
16
21
  }
17
22
  export declare class UserInteractionTool implements ToolProvider {
18
23
  static ID: string;
@@ -23,16 +28,20 @@ export declare class UserInteractionTool implements ToolProvider {
23
28
  protected readonly resourceProvider: ResourceProvider;
24
29
  protected readonly pendingInteractions: Map<string, PendingInteraction>;
25
30
  getTool(): ToolRequest;
26
- setStepResult(toolCallId: string, stepIndex: number, partial: Partial<UserInteractionStepResult>): void;
27
- completeInteraction(toolCallId: string): void;
28
31
  /**
29
- * Set the result for a step and immediately complete the interaction.
30
- * Use this to atomically pass the user's input value into the result, avoiding
31
- * any reliance on synchronous state updates between `setStepResult` and `completeInteraction`.
32
+ * Resolve the pending interaction with the given final result. The renderer is the single
33
+ * source of truth for the collected user input and passes the full result here on Finish
34
+ * (or on a per-option click for single-step interactions).
35
+ */
36
+ completeInteraction(toolCallId: string, result: UserInteractionResult): void;
37
+ /**
38
+ * Push the latest partial result so the tool can resolve with it on cancellation.
39
+ * The renderer should call this whenever the user changes step state. Calls for
40
+ * an already-resolved interaction are silently ignored.
32
41
  */
33
- completeInteractionWith(toolCallId: string, stepIndex: number, partial: Partial<UserInteractionStepResult>): void;
34
- cancelInteraction(toolCallId: string): void;
35
- protected normalizeStepResults(pending: PendingInteraction): UserInteractionStepResult[];
42
+ recordPartial(toolCallId: string, partial: UserInteractionResult): void;
43
+ protected resolveInteraction(toolCallId: string, result: UserInteractionResult): void;
44
+ protected cancelPending(toolCallId: string): void;
36
45
  openLink(link: UserInteractionLink): Promise<void>;
37
46
  protected resolveUri(ref: PathContentRef): URI | undefined;
38
47
  protected handleInteraction(argString: string, ctx: ToolInvocationContext | undefined): Promise<string>;
@@ -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;AAEjF,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,EAEnB,mBAAmB,EACnB,yBAAyB,EAK5B,MAAM,iCAAiC,CAAC;AAEzC,UAAU,kBAAkB;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;CACrB;AA4GD,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;IAEtD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,kCAAyC;IAE/E,OAAO,IAAI,WAAW;IAWtB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI;IAgBvG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAa7C;;;;OAIG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI;IAKjH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAmB3C,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,yBAAyB,EAAE;IAIlF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CxD,SAAS,CAAC,UAAU,CAChB,GAAG,EAAE,cAAc,GACpB,GAAG,GAAG,SAAS;cAcF,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;cAmD7F,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":"AAgBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAuD,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,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;AAEzC,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;IAEtD,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;cAkD7F,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"}
@@ -93,18 +93,21 @@ const STEP_SCHEMA = {
93
93
  },
94
94
  rightRef: {
95
95
  ...CONTENT_REF_SCHEMA,
96
- description: 'Optional right-side content reference for diff views. '
96
+ description: 'Right-side content reference for a diff view. '
97
+ + 'Only provide this when the step should show a diff; omit it entirely for a single file link. '
97
98
  + 'Provide "path" for a real file, or "empty": true for files that no longer exist.'
98
99
  },
99
100
  label: { type: 'string', description: 'Optional label for the link or diff tab.' },
100
101
  autoOpen: {
101
102
  type: 'boolean',
102
- description: 'Whether to automatically open the file/diff when this step becomes active. Defaults to true.'
103
+ description: 'Whether to automatically open the file/diff when this step becomes active. Defaults to false; '
104
+ + 'set to true only when the link is essential context the user must see immediately.'
103
105
  }
104
106
  },
105
107
  required: ['ref']
106
108
  },
107
- description: 'Optional links to files or diffs to show alongside this step.'
109
+ description: 'Optional links to files or diffs to show alongside this step. '
110
+ + 'Use "ref" alone for a single file link. Add "rightRef" only when the step should show a diff.'
108
111
  }
109
112
  },
110
113
  required: ['title', 'message']
@@ -115,17 +118,18 @@ const TOOL_PARAMETERS = {
115
118
  interactions: {
116
119
  type: 'array',
117
120
  items: STEP_SCHEMA,
118
- description: 'Ordered list of wizard steps. The user walks through them sequentially without a back button.'
121
+ description: 'Ordered list of interaction steps. The user walks through them sequentially and can revisit previous steps.'
119
122
  }
120
123
  },
121
124
  required: ['interactions']
122
125
  };
123
- const TOOL_DESCRIPTION = 'Present an interactive interaction to the user. Each step has a title, a markdown message, optional option buttons, '
124
- + 'and optional file/diff links that auto-open when the step is reached. '
125
- + 'Single-step behavior: a single-step interaction with options waits for the user to pick one option, which immediately completes the interaction; '
126
- + 'a single-step interaction without options is purely informational and is auto-completed by the tool '
127
- + '(do not promise the user a "Finish" or "Next" button there is none, and no comments can be entered). '
128
- + 'Multi-step behavior: the user advances through steps with a "Next" button (or "Finish" on the last step), can navigate freely between steps, '
126
+ const TOOL_DESCRIPTION = 'Present an interactive user interaction. Each step has a title, a markdown message, optional option buttons, '
127
+ + 'and optional file/diff links that the user can click. '
128
+ + 'For links, use "ref" alone to show one file; add "rightRef" only when the step should show a diff. '
129
+ + 'Single-step behavior: if the step has options, the tool waits for the user to pick one option and then completes the interaction; '
130
+ + 'if the step has no options, it is purely informational and is auto-completed by the tool '
131
+ + '(do not promise the user a "Finish" or "Next" button; there is none, and no comments can be entered). '
132
+ + 'Multi-step behavior: the user advances through steps with a "Next" button (or "Finish" on the last step), can revisit previous steps, '
129
133
  + 'and may add free-form comments on every step. '
130
134
  + 'The tool returns a JSON string with { "completed": boolean, "steps": [{ "title", "value"?, "comments"?, "skipped"? }] }. '
131
135
  + 'If the user cancels mid-interaction, the tool returns whatever has been collected so far with "completed": false. '
@@ -147,64 +151,51 @@ let UserInteractionTool = class UserInteractionTool {
147
151
  handler: (argString, ctx) => this.handleInteraction(argString, ctx)
148
152
  };
149
153
  }
150
- setStepResult(toolCallId, stepIndex, partial) {
154
+ /**
155
+ * Resolve the pending interaction with the given final result. The renderer is the single
156
+ * source of truth for the collected user input and passes the full result here on Finish
157
+ * (or on a per-option click for single-step interactions).
158
+ */
159
+ completeInteraction(toolCallId, result) {
160
+ this.resolveInteraction(toolCallId, result);
161
+ }
162
+ /**
163
+ * Push the latest partial result so the tool can resolve with it on cancellation.
164
+ * The renderer should call this whenever the user changes step state. Calls for
165
+ * an already-resolved interaction are silently ignored.
166
+ */
167
+ recordPartial(toolCallId, partial) {
151
168
  const pending = this.pendingInteractions.get(toolCallId);
152
169
  if (!pending || pending.resolved) {
153
170
  return;
154
171
  }
155
- if (stepIndex < 0 || stepIndex >= pending.steps.length) {
156
- return;
157
- }
158
- const existing = pending.stepResults[stepIndex] ?? { title: pending.steps[stepIndex].title };
159
- pending.stepResults[stepIndex] = {
160
- ...existing,
161
- ...partial,
162
- title: pending.steps[stepIndex].title
163
- };
172
+ pending.latestPartial = partial;
164
173
  }
165
- completeInteraction(toolCallId) {
174
+ resolveInteraction(toolCallId, result) {
166
175
  const pending = this.pendingInteractions.get(toolCallId);
167
176
  if (!pending || pending.resolved) {
168
177
  return;
169
178
  }
170
179
  pending.resolved = true;
171
- const result = {
172
- completed: true,
173
- steps: this.normalizeStepResults(pending)
174
- };
175
180
  pending.deferred.resolve(JSON.stringify(result));
176
181
  }
177
- /**
178
- * Set the result for a step and immediately complete the interaction.
179
- * Use this to atomically pass the user's input value into the result, avoiding
180
- * any reliance on synchronous state updates between `setStepResult` and `completeInteraction`.
181
- */
182
- completeInteractionWith(toolCallId, stepIndex, partial) {
183
- this.setStepResult(toolCallId, stepIndex, partial);
184
- this.completeInteraction(toolCallId);
185
- }
186
- cancelInteraction(toolCallId) {
182
+ cancelPending(toolCallId) {
187
183
  const pending = this.pendingInteractions.get(toolCallId);
188
184
  if (!pending || pending.resolved) {
189
185
  return;
190
186
  }
191
- pending.resolved = true;
192
- const steps = this.normalizeStepResults(pending);
193
- // Mark steps without any user input as skipped.
194
- for (let i = 0; i < steps.length; i++) {
195
- const step = steps[i];
196
- const hasInput = step.value !== undefined || (step.comments && step.comments.length > 0);
197
- if (!hasInput) {
198
- steps[i] = { ...step, skipped: true };
199
- }
200
- }
201
- const result = { completed: false, steps };
202
- pending.deferred.resolve(JSON.stringify(result));
203
- }
204
- normalizeStepResults(pending) {
205
- return pending.steps.map((step, i) => pending.stepResults[i] ?? { title: step.title });
187
+ const result = pending.latestPartial ?? {
188
+ completed: false,
189
+ steps: pending.steps.map(step => ({ title: step.title, skipped: true }))
190
+ };
191
+ this.resolveInteraction(toolCallId, result);
206
192
  }
207
193
  async openLink(link) {
194
+ const normalizedLink = (0, user_interaction_tool_1.normalizeUserInteractionLink)(link);
195
+ if (!normalizedLink) {
196
+ return;
197
+ }
198
+ link = normalizedLink;
208
199
  if (link.rightRef !== undefined) {
209
200
  const resolvedLeftUri = await this.resolveDiffSideUri(link.ref);
210
201
  const resolvedRightUri = await this.resolveDiffSideUri(link.rightRef);
@@ -259,8 +250,7 @@ let UserInteractionTool = class UserInteractionTool {
259
250
  if (ref.gitRef) {
260
251
  const repo = this.scmService.findRepository(fileUri);
261
252
  if (repo) {
262
- const query = { path: fileUri['codeUri'].fsPath, ref: ref.gitRef };
263
- return fileUri.withScheme(repo.provider.id).withQuery(JSON.stringify(query));
253
+ return repo.toUriAtRef(fileUri, ref.gitRef);
264
254
  }
265
255
  console.warn(`No SCM repository found to resolve gitRef '${ref.gitRef}' for '${ref.path}'`);
266
256
  return undefined;
@@ -299,12 +289,11 @@ let UserInteractionTool = class UserInteractionTool {
299
289
  const pending = {
300
290
  deferred: new promise_util_1.Deferred(),
301
291
  steps,
302
- stepResults: new Array(steps.length),
303
292
  resolved: false
304
293
  };
305
294
  this.pendingInteractions.set(toolCallId, pending);
306
295
  const cancellationToken = language_model_1.ToolInvocationContext.getCancellationToken(ctx);
307
- const cancellationListener = cancellationToken?.onCancellationRequested(() => this.cancelInteraction(toolCallId));
296
+ const cancellationListener = cancellationToken?.onCancellationRequested(() => this.cancelPending(toolCallId));
308
297
  try {
309
298
  return await pending.deferred.promise;
310
299
  }
@@ -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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"}