@theia/ai-terminal 1.71.0-next.8 → 1.71.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.
@@ -18,6 +18,7 @@ export declare class ShellExecutionToolRenderer implements ChatResponsePartRende
18
18
  protected shellCommandPermissionService: ShellCommandPermissionService;
19
19
  protected commandRegistry: CommandRegistry;
20
20
  canHandle(response: ChatResponseContent): number;
21
+ renderConfirmation(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
21
22
  render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
22
23
  }
23
24
  //# sourceMappingURL=shell-execution-tool-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-execution-tool-renderer.d.ts","sourceRoot":"","sources":["../../src/browser/shell-execution-tool-renderer.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAO,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAW,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AASnF,qBACa,0BAA2B,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAGpG,SAAS,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAG3D,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGzD,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAGjD,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;IAGvE,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CA0BrF"}
1
+ {"version":3,"file":"shell-execution-tool-renderer.d.ts","sourceRoot":"","sources":["../../src/browser/shell-execution-tool-renderer.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAO,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAW,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AASnF,qBACa,0BAA2B,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAGpG,SAAS,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAG3D,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGzD,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAGjD,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;IAGvE,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,kBAAkB,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;IAgD9F,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CA0BrF"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ShellExecutionToolRenderer = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const tool_confirmation_1 = require("@theia/ai-chat-ui/lib/browser/chat-response-renderer/tool-confirmation");
21
+ const tool_call_rendering_1 = require("@theia/ai-chat-ui/lib/browser/chat-response-renderer/tool-call-rendering");
21
22
  const common_1 = require("@theia/ai-chat/lib/common");
22
23
  const chat_tool_preferences_1 = require("@theia/ai-chat/lib/common/chat-tool-preferences");
23
24
  const chat_tool_preference_bindings_1 = require("@theia/ai-chat/lib/browser/chat-tool-preference-bindings");
@@ -40,6 +41,42 @@ let ShellExecutionToolRenderer = class ShellExecutionToolRenderer {
40
41
  }
41
42
  return -1;
42
43
  }
44
+ renderConfirmation(response, parentNode) {
45
+ const chatId = parentNode.sessionId;
46
+ const toolRequest = this.toolInvocationRegistry.getFunction(shell_execution_server_1.SHELL_EXECUTION_FUNCTION_ID);
47
+ const input = (0, shell_execution_input_parser_1.parseShellExecutionInput)(response.arguments);
48
+ const handleAllow = (patterns) => {
49
+ if (patterns && patterns.length > 0) {
50
+ try {
51
+ this.shellCommandPermissionService.addAllowlistPatterns(...patterns);
52
+ }
53
+ catch (err) {
54
+ console.warn('Failed to add allowlist patterns:', err);
55
+ }
56
+ }
57
+ response.confirm();
58
+ };
59
+ const handleDeny = (options) => {
60
+ if (options?.patterns && options.patterns.length > 0) {
61
+ try {
62
+ this.shellCommandPermissionService.addDenylistPatterns(...options.patterns);
63
+ }
64
+ catch (err) {
65
+ console.warn('Failed to add denylist patterns:', err);
66
+ }
67
+ }
68
+ response.deny(options?.reason);
69
+ };
70
+ const handleAllowAllForever = () => {
71
+ this.toolConfirmationManager.setConfirmationMode(shell_execution_server_1.SHELL_EXECUTION_FUNCTION_ID, chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, toolRequest);
72
+ response.confirm();
73
+ };
74
+ const handleAllowAllSession = () => {
75
+ this.toolConfirmationManager.setSessionConfirmationMode(shell_execution_server_1.SHELL_EXECUTION_FUNCTION_ID, chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, chatId);
76
+ response.confirm();
77
+ };
78
+ return (React.createElement(ConfirmationUI, { input: input, shellCommandPermissionService: this.shellCommandPermissionService, onAllow: handleAllow, onAllowAllForever: handleAllowAllForever, onAllowAllSession: handleAllowAllSession, onDeny: handleDeny, contextMenuRenderer: this.contextMenuRenderer, response: response }));
79
+ }
43
80
  render(response, parentNode) {
44
81
  const chatId = parentNode.sessionId;
45
82
  const toolRequest = this.toolInvocationRegistry.getFunction(shell_execution_server_1.SHELL_EXECUTION_FUNCTION_ID);
@@ -174,7 +211,7 @@ const ShellExecutionToolComponent = ({ response, input, confirmationMode, toolCo
174
211
  return (React.createElement("div", { className: "shell-execution-tool container" },
175
212
  React.createElement("div", { className: "shell-execution-tool header running" },
176
213
  React.createElement("span", { className: (0, browser_1.codicon)('terminal') }),
177
- React.createElement("code", { className: "shell-execution-tool command-preview" }, truncateCommand(input.command)),
214
+ React.createElement("code", { className: "shell-execution-tool command-preview", title: input.description }, truncateCommand(input.command)),
178
215
  React.createElement("span", { className: "shell-execution-tool meta-badges" },
179
216
  React.createElement("span", { className: `${(0, browser_1.codicon)('loading')} shell-execution-tool status-icon theia-animation-spin` })))));
180
217
  }
@@ -203,6 +240,7 @@ const ConfirmationUI = ({ input, shellCommandPermissionService, onAllow, onAllow
203
240
  React.createElement("div", { className: "shell-execution-tool confirmation-header" },
204
241
  React.createElement("span", { className: (0, browser_1.codicon)('shield') }),
205
242
  React.createElement("span", { className: "shell-execution-tool confirmation-title" }, common_2.nls.localize('theia/ai-terminal/confirmExecution', 'Confirm Shell Command'))),
243
+ input.description && (React.createElement("div", { className: "shell-execution-tool command-description" }, input.description)),
206
244
  React.createElement("div", { className: "shell-execution-tool command-display confirmation" },
207
245
  React.createElement("code", null, input.command)),
208
246
  React.createElement("div", { className: "shell-execution-tool confirmation-meta" },
@@ -211,7 +249,7 @@ const ConfirmationUI = ({ input, shellCommandPermissionService, onAllow, onAllow
211
249
  input.cwd)),
212
250
  input.timeout && (React.createElement("span", { className: "shell-execution-tool meta-item", title: common_2.nls.localize('theia/ai-terminal/timeout', 'Timeout') },
213
251
  React.createElement("span", { className: (0, browser_1.codicon)('clock') }),
214
- formatDuration(input.timeout)))),
252
+ (0, tool_call_rendering_1.formatDuration)(input.timeout)))),
215
253
  React.createElement(ShellExecutionConfirmationActions, { command: input.command, shellCommandPermissionService: shellCommandPermissionService, onAllow: onAllow, onAllowAllForever: onAllowAllForever, onAllowAllSession: onAllowAllSession, onDeny: onDeny, contextMenuRenderer: contextMenuRenderer, openPermissionsConfiguration: openPermissionsConfiguration }),
216
254
  React.createElement(tool_confirmation_1.CountdownTimer, { response: response }))));
217
255
  const ShellExecutionConfirmationActions = ({ command, shellCommandPermissionService, onAllow, onAllowAllForever, onAllowAllSession, onDeny, contextMenuRenderer, openPermissionsConfiguration }) => {
@@ -356,7 +394,7 @@ const ConfigurationLink = ({ openPermissionsConfiguration }) => {
356
394
  const RunningUI = ({ input, onCancel }) => (React.createElement("div", { className: "shell-execution-tool container" },
357
395
  React.createElement("div", { className: "shell-execution-tool header running" },
358
396
  React.createElement("span", { className: (0, browser_1.codicon)('terminal') }),
359
- React.createElement("code", { className: "shell-execution-tool command-preview" }, truncateCommand(input.command)),
397
+ React.createElement("code", { className: "shell-execution-tool command-preview", title: input.description }, truncateCommand(input.command)),
360
398
  React.createElement("span", { className: "shell-execution-tool meta-badges" },
361
399
  React.createElement("button", { className: "shell-execution-tool cancel-button", onClick: onCancel, title: common_2.nls.localize('theia/ai-terminal/cancelExecution', 'Cancel command execution') },
362
400
  React.createElement("span", { className: (0, browser_1.codicon)('debug-stop') })),
@@ -364,7 +402,7 @@ const RunningUI = ({ input, onCancel }) => (React.createElement("div", { classNa
364
402
  const CancelingUI = ({ input }) => (React.createElement("div", { className: "shell-execution-tool container" },
365
403
  React.createElement("div", { className: "shell-execution-tool header canceling" },
366
404
  React.createElement("span", { className: (0, browser_1.codicon)('terminal') }),
367
- React.createElement("code", { className: "shell-execution-tool command-preview" }, truncateCommand(input.command)),
405
+ React.createElement("code", { className: "shell-execution-tool command-preview", title: input.description }, truncateCommand(input.command)),
368
406
  React.createElement("span", { className: "shell-execution-tool meta-badges" },
369
407
  React.createElement("span", { className: "shell-execution-tool status-label canceling" },
370
408
  React.createElement("span", { className: `${(0, browser_1.codicon)('loading')} theia-animation-spin` }),
@@ -382,12 +420,13 @@ const DeniedUI = ({ input, confirmationState, denialReason, clipboardService })
382
420
  return (React.createElement("div", { className: `shell-execution-tool container ${isExpanded ? 'expanded' : ''}` },
383
421
  React.createElement("div", { className: "shell-execution-tool header error", onClick: () => setIsExpanded(!isExpanded) },
384
422
  React.createElement("span", { className: (0, browser_1.codicon)('terminal') }),
385
- React.createElement("code", { className: "shell-execution-tool command-preview" }, truncateCommand(input.command)),
423
+ React.createElement("code", { className: "shell-execution-tool command-preview", title: input.description }, truncateCommand(input.command)),
386
424
  React.createElement("span", { className: "shell-execution-tool meta-badges" },
387
425
  React.createElement("span", { className: "shell-execution-tool status-label error" }, getStatusLabel()))),
388
426
  isExpanded && (React.createElement("div", { className: "shell-execution-tool expanded-content" },
427
+ input.description && (React.createElement("div", { className: "shell-execution-tool command-description" }, input.description)),
389
428
  React.createElement(CommandDisplay, { command: input.command, clipboardService: clipboardService }),
390
- input.cwd && (React.createElement(MetaRow, { icon: "folder", label: common_2.nls.localize('theia/ai-terminal/workingDirectory', 'Working directory') }, input.cwd)),
429
+ input.cwd && (React.createElement(tool_call_rendering_1.MetaRow, { icon: "folder", label: common_2.nls.localize('theia/ai-terminal/workingDirectory', 'Working directory') }, input.cwd)),
391
430
  denialReason && (React.createElement("div", { className: "shell-execution-tool denial-reason" },
392
431
  React.createElement("div", { className: "shell-execution-tool denial-reason-header" },
393
432
  React.createElement("span", { className: (0, browser_1.codicon)('comment') }),
@@ -399,14 +438,15 @@ const CanceledUI = ({ input, canceledResult, clipboardService }) => {
399
438
  return (React.createElement("div", { className: `shell-execution-tool container ${isExpanded ? 'expanded' : ''}` },
400
439
  React.createElement("div", { className: "shell-execution-tool header canceled", onClick: () => setIsExpanded(!isExpanded) },
401
440
  React.createElement("span", { className: (0, browser_1.codicon)('terminal') }),
402
- React.createElement("code", { className: "shell-execution-tool command-preview" }, truncateCommand(input.command)),
441
+ React.createElement("code", { className: "shell-execution-tool command-preview", title: input.description }, truncateCommand(input.command)),
403
442
  React.createElement("span", { className: "shell-execution-tool meta-badges" },
404
- canceledResult?.duration !== undefined && (React.createElement("span", { className: "shell-execution-tool duration" }, formatDuration(canceledResult.duration))),
443
+ canceledResult?.duration !== undefined && (React.createElement("span", { className: "shell-execution-tool duration" }, (0, tool_call_rendering_1.formatDuration)(canceledResult.duration))),
405
444
  React.createElement("span", { className: "shell-execution-tool status-label canceled" }, common_2.nls.localize('theia/ai-terminal/executionCanceled', 'Canceled')))),
406
445
  isExpanded && (React.createElement("div", { className: "shell-execution-tool expanded-content" },
446
+ input.description && (React.createElement("div", { className: "shell-execution-tool command-description" }, input.description)),
407
447
  React.createElement(CommandDisplay, { command: input.command, clipboardService: clipboardService }),
408
- input.cwd && (React.createElement(MetaRow, { icon: "folder", label: common_2.nls.localize('theia/ai-terminal/workingDirectory', 'Working directory') }, input.cwd)),
409
- canceledResult?.output && (React.createElement(OutputBox, { title: common_2.nls.localize('theia/ai-terminal/partialOutput', 'Partial Output'), output: canceledResult.output, clipboardService: clipboardService }))))));
448
+ input.cwd && (React.createElement(tool_call_rendering_1.MetaRow, { icon: "folder", label: common_2.nls.localize('theia/ai-terminal/workingDirectory', 'Working directory') }, input.cwd)),
449
+ canceledResult?.output && (React.createElement(tool_call_rendering_1.OutputBox, { title: common_2.nls.localize('theia/ai-terminal/partialOutput', 'Partial Output'), output: canceledResult.output, clipboardService: clipboardService }))))));
410
450
  };
411
451
  const FinishedUI = ({ input, result, clipboardService }) => {
412
452
  const [isExpanded, setIsExpanded] = React.useState(false);
@@ -414,38 +454,23 @@ const FinishedUI = ({ input, result, clipboardService }) => {
414
454
  return (React.createElement("div", { className: `shell-execution-tool container ${isExpanded ? 'expanded' : ''}` },
415
455
  React.createElement("div", { className: `shell-execution-tool header finished ${isSuccess ? 'success' : 'failure'}`, onClick: () => setIsExpanded(!isExpanded) },
416
456
  React.createElement("span", { className: (0, browser_1.codicon)('terminal') }),
417
- React.createElement("code", { className: "shell-execution-tool command-preview" }, truncateCommand(input.command)),
457
+ React.createElement("code", { className: "shell-execution-tool command-preview", title: input.description }, truncateCommand(input.command)),
418
458
  React.createElement("span", { className: "shell-execution-tool meta-badges" },
419
- result?.duration !== undefined && (React.createElement("span", { className: "shell-execution-tool duration" }, formatDuration(result.duration))),
459
+ result?.duration !== undefined && (React.createElement("span", { className: "shell-execution-tool duration" }, (0, tool_call_rendering_1.formatDuration)(result.duration))),
420
460
  result?.exitCode !== undefined && result.exitCode !== 0 && (React.createElement("span", { className: "shell-execution-tool exit-code" }, result.exitCode)),
421
461
  React.createElement("span", { className: `${(0, browser_1.codicon)(isSuccess ? 'check' : 'error')} shell-execution-tool status-icon ${isSuccess ? 'success' : 'failure'}` }))),
422
462
  isExpanded && (React.createElement("div", { className: "shell-execution-tool expanded-content" },
463
+ input.description && (React.createElement("div", { className: "shell-execution-tool command-description" }, input.description)),
423
464
  React.createElement(CommandDisplay, { command: input.command, clipboardService: clipboardService }),
424
- (result?.cwd || input.cwd) && (React.createElement(MetaRow, { icon: "folder", label: common_2.nls.localize('theia/ai-terminal/workingDirectory', 'Working directory') }, result?.cwd || input.cwd)),
465
+ (result?.cwd || input.cwd) && (React.createElement(tool_call_rendering_1.MetaRow, { icon: "folder", label: common_2.nls.localize('theia/ai-terminal/workingDirectory', 'Working directory') }, result?.cwd || input.cwd)),
425
466
  result?.error && (React.createElement("div", { className: "shell-execution-tool error-message" }, result.error)),
426
- React.createElement(OutputBox, { title: common_2.nls.localizeByDefault('Output'), output: result?.output, clipboardService: clipboardService })))));
467
+ React.createElement(tool_call_rendering_1.OutputBox, { title: common_2.nls.localizeByDefault('Output'), output: result?.output, clipboardService: clipboardService })))));
427
468
  };
428
469
  const CommandDisplay = ({ command, clipboardService }) => (React.createElement("div", { className: "shell-execution-tool full-command-container" },
429
470
  React.createElement("div", { className: "shell-execution-tool full-command" },
430
471
  React.createElement("span", { className: "shell-execution-tool prompt" }, "$"),
431
472
  React.createElement("code", null, command)),
432
- React.createElement(CopyButton, { text: command, clipboardService: clipboardService })));
433
- const MetaRow = ({ icon, label, children }) => (React.createElement("div", { className: "shell-execution-tool meta-row", title: label },
434
- React.createElement("span", { className: (0, browser_1.codicon)(icon) }),
435
- React.createElement("span", null, children)));
436
- const OutputBox = ({ title, output, clipboardService }) => (React.createElement("div", { className: "shell-execution-tool output-box" },
437
- React.createElement("div", { className: "shell-execution-tool output-header" },
438
- React.createElement("span", { className: (0, browser_1.codicon)('output') }),
439
- title,
440
- output && React.createElement(CopyButton, { text: output, clipboardService: clipboardService })),
441
- output ? (React.createElement("pre", { className: "shell-execution-tool output" }, output)) : (React.createElement("div", { className: "shell-execution-tool no-output" }, common_2.nls.localize('theia/ai-terminal/noOutput', 'No output')))));
442
- const CopyButton = ({ text, clipboardService }) => {
443
- const handleCopy = React.useCallback(() => {
444
- clipboardService.writeText(text);
445
- }, [text, clipboardService]);
446
- return (React.createElement("button", { className: "shell-execution-tool copy-button", onClick: handleCopy, title: common_2.nls.localizeByDefault('Copy') },
447
- React.createElement("span", { className: (0, browser_1.codicon)('copy') })));
448
- };
473
+ React.createElement(tool_call_rendering_1.CopyButton, { text: command, clipboardService: clipboardService })));
449
474
  function formatSuggestionLabel(suggestion, action) {
450
475
  const quoted = suggestion.patterns.map(p => `"${truncatePattern(p)}"`);
451
476
  if (quoted.length === 2) {
@@ -473,15 +498,4 @@ function truncatePattern(pattern, maxLength = 50) {
473
498
  }
474
499
  return pattern.substring(0, maxLength - 3) + '...';
475
500
  }
476
- function formatDuration(ms) {
477
- if (ms < 1000) {
478
- return `${ms}ms`;
479
- }
480
- if (ms < 60000) {
481
- return `${(ms / 1000).toFixed(1)}s`;
482
- }
483
- const minutes = Math.floor(ms / 60000);
484
- const seconds = Math.floor((ms % 60000) / 1000);
485
- return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
486
- }
487
501
  //# sourceMappingURL=shell-execution-tool-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-execution-tool-renderer.js","sourceRoot":"","sources":["../../src/browser/shell-execution-tool-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-execution-tool-renderer.js","sourceRoot":"","sources":["../../src/browser/shell-execution-tool-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell-execution-tool.d.ts","sourceRoot":"","sources":["../../src/browser/shell-execution-tool.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAEH,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAE/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,qBACa,kBAAmB,YAAW,YAAY;IAGnD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAGrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;IAEhF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,sBAA6B;IAE3D,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3D,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C,OAAO,IAAI,WAAW;cAiFN,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,GAAG,4BAA4B,CAAC;IA+DlI,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAO7D,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;IAa/E,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAGvE"}
1
+ {"version":3,"file":"shell-execution-tool.d.ts","sourceRoot":"","sources":["../../src/browser/shell-execution-tool.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAEH,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAE/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,qBACa,kBAAmB,YAAW,YAAY;IAGnD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAGrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;IAEhF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,sBAA6B;IAE3D,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3D,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C,OAAO,IAAI,WAAW;cAwGN,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,GAAG,4BAA4B,CAAC;IA+DlI,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAO7D,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;IAa/E,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAGvE"}
@@ -87,6 +87,29 @@ TIMEOUT: Default 2 minutes, max 10 minutes. Specify higher timeout for longer co
87
87
  type: 'string',
88
88
  description: 'The shell command to execute. Can include pipes, redirects, and shell features.'
89
89
  },
90
+ description: {
91
+ type: 'string',
92
+ description: 'Describe what this command actually does in active voice, ' +
93
+ 'so the user can verify the command matches their intent without ' +
94
+ 'parsing flags or shell syntax themselves. ' +
95
+ 'Never use words like "complex" or "risk".\n\n' +
96
+ 'Reflect the actual mechanics of the command: significant flags, ' +
97
+ 'filters, pipes, and output limits. When a less obvious tool or ' +
98
+ 'flag is chosen (e.g. `find` instead of `ls`, `-type f`, `head`, ' +
99
+ '`sort`), state its effect rather than only the high-level goal.\n\n' +
100
+ 'For simple commands (git, npm, standard CLI tools), keep it brief (5-10 words):\n' +
101
+ '- cat README.md -> "Print README file contents"\n' +
102
+ '- git diff HEAD~1 -> "Show changes from last commit"\n' +
103
+ '- npm test -> "Run project test suite"\n\n' +
104
+ 'For longer or piped commands, add enough context to clarify intent and behavior:\n' +
105
+ '- grep -rn "TODO" src/ --include="*.ts" -> "Search TypeScript files in src for TODO comments"\n' +
106
+ '- git log --oneline --since="1 week" | wc -l -> "Count commits from the past week"\n' +
107
+ '- du -sh node_modules/* | sort -rh | head -5 -> "Show 5 largest packages in node_modules by size"\n' +
108
+ '- find . -type f | head -100 -> "Recursively list up to the first 100 files (excluding directories) under the current directory"\n\n' +
109
+ 'Avoid descriptions that state only the intent and hide the mechanics ' +
110
+ '(e.g. "List all files in the workspace" for `find . -type f | head -100` ' +
111
+ 'is too vague — it omits the recursion, file-only filter, and 100-entry limit).'
112
+ },
90
113
  cwd: {
91
114
  type: 'string',
92
115
  description: 'Working directory for command execution. Can be absolute or relative to workspace root. Defaults to the workspace root.'
@@ -96,7 +119,7 @@ TIMEOUT: Default 2 minutes, max 10 minutes. Specify higher timeout for longer co
96
119
  description: 'Timeout in milliseconds. Default: 120000 (2 minutes). Max: 600000 (10 minutes).'
97
120
  }
98
121
  },
99
- required: ['command']
122
+ required: ['command', 'description']
100
123
  },
101
124
  handler: (argString, ctx) => this.executeCommand(argString, ctx),
102
125
  checkAutoAction: (argString) => {
@@ -1 +1 @@
1
- {"version":3,"file":"shell-execution-tool.js","sourceRoot":"","sources":["../../src/browser/shell-execution-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-execution-tool.js","sourceRoot":"","sources":["../../src/browser/shell-execution-tool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export interface ShellExecutionInput {
2
2
  command: string;
3
+ description?: string;
3
4
  cwd?: string;
4
5
  timeout?: number;
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shell-execution-input-parser.d.ts","sourceRoot":"","sources":["../../src/common/shell-execution-input-parser.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAYtF"}
1
+ {"version":3,"file":"shell-execution-input-parser.d.ts","sourceRoot":"","sources":["../../src/common/shell-execution-input-parser.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAUtF"}
@@ -16,6 +16,7 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.parseShellExecutionInput = parseShellExecutionInput;
19
+ const toolcall_utils_1 = require("@theia/ai-chat-ui/lib/common/toolcall-utils");
19
20
  /**
20
21
  * Parses shell execution input from potentially incomplete JSON.
21
22
  * During streaming, extracts partial command value via regex when JSON.parse fails.
@@ -28,9 +29,7 @@ function parseShellExecutionInput(args) {
28
29
  return JSON.parse(args);
29
30
  }
30
31
  catch {
31
- // Extract command from incomplete JSON: "command": "value or "command":"value
32
- const match = /"command"\s*:\s*"([^"]*)"?/.exec(args);
33
- return { command: match?.[1] ?? '' };
32
+ return { command: (0, toolcall_utils_1.extractJsonStringField)(args, 'command') ?? '' };
34
33
  }
35
34
  }
36
35
  //# sourceMappingURL=shell-execution-input-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-execution-input-parser.js","sourceRoot":"","sources":["../../src/common/shell-execution-input-parser.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAYhF,4DAYC;AAhBD;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAwB;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACL,8EAA8E;QAC9E,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACzC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"shell-execution-input-parser.js","sourceRoot":"","sources":["../../src/common/shell-execution-input-parser.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAehF,4DAUC;AAvBD,gFAAqF;AASrF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAwB;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,OAAO,EAAE,IAAA,uCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IACtE,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@theia/ai-terminal",
3
- "version": "1.71.0-next.8+8ec70800c",
3
+ "version": "1.71.0",
4
4
  "description": "Theia - AI Terminal Extension",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.71.0-next.8+8ec70800c",
7
- "@theia/ai-chat-ui": "1.71.0-next.8+8ec70800c",
8
- "@theia/ai-core": "1.71.0-next.8+8ec70800c",
9
- "@theia/core": "1.71.0-next.8+8ec70800c",
10
- "@theia/terminal": "1.71.0-next.8+8ec70800c",
11
- "@theia/workspace": "1.71.0-next.8+8ec70800c",
12
- "zod": "^4.2.1"
6
+ "@theia/ai-chat": "1.71.0",
7
+ "@theia/ai-chat-ui": "1.71.0",
8
+ "@theia/ai-core": "1.71.0",
9
+ "@theia/core": "1.71.0",
10
+ "@theia/terminal": "1.71.0",
11
+ "@theia/workspace": "1.71.0",
12
+ "zod": "^4.3.6"
13
13
  },
14
14
  "publishConfig": {
15
15
  "access": "public"
@@ -45,10 +45,10 @@
45
45
  "watch": "theiaext watch"
46
46
  },
47
47
  "devDependencies": {
48
- "@theia/ext-scripts": "1.70.0"
48
+ "@theia/ext-scripts": "1.71.0"
49
49
  },
50
50
  "nyc": {
51
51
  "extends": "../../configs/nyc.json"
52
52
  },
53
- "gitHead": "8ec70800c488b9fc44915e8896636628b7cb8636"
53
+ "gitHead": "d8a596fc99f0a8e68b466828ed162569d79e3a71"
54
54
  }
@@ -17,6 +17,7 @@
17
17
  import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
18
18
  import { ResponseNode } from '@theia/ai-chat-ui/lib/browser/chat-tree-view';
19
19
  import { CountdownTimer, InlineActionMenuNode, useToolConfirmationState } from '@theia/ai-chat-ui/lib/browser/chat-response-renderer/tool-confirmation';
20
+ import { CopyButton, MetaRow, OutputBox, formatDuration } from '@theia/ai-chat-ui/lib/browser/chat-response-renderer/tool-call-rendering';
20
21
  import { ChatResponseContent, ToolCallChatResponseContent } from '@theia/ai-chat/lib/common';
21
22
  import { ToolConfirmationMode as ToolConfirmationPreferenceMode } from '@theia/ai-chat/lib/common/chat-tool-preferences';
22
23
  import { ToolConfirmationManager } from '@theia/ai-chat/lib/browser/chat-tool-preference-bindings';
@@ -69,6 +70,54 @@ export class ShellExecutionToolRenderer implements ChatResponsePartRenderer<Tool
69
70
  return -1;
70
71
  }
71
72
 
73
+ renderConfirmation(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode {
74
+ const chatId = parentNode.sessionId;
75
+ const toolRequest = this.toolInvocationRegistry.getFunction(SHELL_EXECUTION_FUNCTION_ID);
76
+ const input = parseShellExecutionInput(response.arguments);
77
+
78
+ const handleAllow = (patterns?: string[]) => {
79
+ if (patterns && patterns.length > 0) {
80
+ try {
81
+ this.shellCommandPermissionService.addAllowlistPatterns(...patterns);
82
+ } catch (err) {
83
+ console.warn('Failed to add allowlist patterns:', err);
84
+ }
85
+ }
86
+ response.confirm();
87
+ };
88
+ const handleDeny = (options?: { patterns?: string[]; reason?: string }) => {
89
+ if (options?.patterns && options.patterns.length > 0) {
90
+ try {
91
+ this.shellCommandPermissionService.addDenylistPatterns(...options.patterns);
92
+ } catch (err) {
93
+ console.warn('Failed to add denylist patterns:', err);
94
+ }
95
+ }
96
+ response.deny(options?.reason);
97
+ };
98
+ const handleAllowAllForever = () => {
99
+ this.toolConfirmationManager.setConfirmationMode(SHELL_EXECUTION_FUNCTION_ID, ToolConfirmationPreferenceMode.ALWAYS_ALLOW, toolRequest);
100
+ response.confirm();
101
+ };
102
+ const handleAllowAllSession = () => {
103
+ this.toolConfirmationManager.setSessionConfirmationMode(SHELL_EXECUTION_FUNCTION_ID, ToolConfirmationPreferenceMode.ALWAYS_ALLOW, chatId);
104
+ response.confirm();
105
+ };
106
+
107
+ return (
108
+ <ConfirmationUI
109
+ input={input}
110
+ shellCommandPermissionService={this.shellCommandPermissionService}
111
+ onAllow={handleAllow}
112
+ onAllowAllForever={handleAllowAllForever}
113
+ onAllowAllSession={handleAllowAllSession}
114
+ onDeny={handleDeny}
115
+ contextMenuRenderer={this.contextMenuRenderer}
116
+ response={response}
117
+ />
118
+ );
119
+ }
120
+
72
121
  render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode {
73
122
  const chatId = parentNode.sessionId;
74
123
  const toolRequest = this.toolInvocationRegistry.getFunction(SHELL_EXECUTION_FUNCTION_ID);
@@ -234,7 +283,7 @@ const ShellExecutionToolComponent: React.FC<ShellExecutionToolComponentProps> =
234
283
  <div className="shell-execution-tool container">
235
284
  <div className="shell-execution-tool header running">
236
285
  <span className={codicon('terminal')} />
237
- <code className="shell-execution-tool command-preview">{truncateCommand(input.command)}</code>
286
+ <code className="shell-execution-tool command-preview" title={input.description}>{truncateCommand(input.command)}</code>
238
287
  <span className="shell-execution-tool meta-badges">
239
288
  <span className={`${codicon('loading')} shell-execution-tool status-icon theia-animation-spin`} />
240
289
  </span>
@@ -339,6 +388,12 @@ const ConfirmationUI: React.FC<ConfirmationUIProps> = ({
339
388
  </span>
340
389
  </div>
341
390
 
391
+ {input.description && (
392
+ <div className="shell-execution-tool command-description">
393
+ {input.description}
394
+ </div>
395
+ )}
396
+
342
397
  <div className="shell-execution-tool command-display confirmation">
343
398
  <code>{input.command}</code>
344
399
  </div>
@@ -700,7 +755,7 @@ const RunningUI: React.FC<RunningUIProps> = ({
700
755
  <div className="shell-execution-tool container">
701
756
  <div className="shell-execution-tool header running">
702
757
  <span className={codicon('terminal')} />
703
- <code className="shell-execution-tool command-preview">{truncateCommand(input.command)}</code>
758
+ <code className="shell-execution-tool command-preview" title={input.description}>{truncateCommand(input.command)}</code>
704
759
  <span className="shell-execution-tool meta-badges">
705
760
  <button
706
761
  className="shell-execution-tool cancel-button"
@@ -723,7 +778,7 @@ const CancelingUI: React.FC<CancelingUIProps> = ({ input }) => (
723
778
  <div className="shell-execution-tool container">
724
779
  <div className="shell-execution-tool header canceling">
725
780
  <span className={codicon('terminal')} />
726
- <code className="shell-execution-tool command-preview">{truncateCommand(input.command)}</code>
781
+ <code className="shell-execution-tool command-preview" title={input.description}>{truncateCommand(input.command)}</code>
727
782
  <span className="shell-execution-tool meta-badges">
728
783
  <span className="shell-execution-tool status-label canceling">
729
784
  <span className={`${codicon('loading')} theia-animation-spin`} />
@@ -765,7 +820,7 @@ const DeniedUI: React.FC<DeniedUIProps> = ({
765
820
  onClick={() => setIsExpanded(!isExpanded)}
766
821
  >
767
822
  <span className={codicon('terminal')} />
768
- <code className="shell-execution-tool command-preview">{truncateCommand(input.command)}</code>
823
+ <code className="shell-execution-tool command-preview" title={input.description}>{truncateCommand(input.command)}</code>
769
824
  <span className="shell-execution-tool meta-badges">
770
825
  <span className="shell-execution-tool status-label error">
771
826
  {getStatusLabel()}
@@ -774,6 +829,11 @@ const DeniedUI: React.FC<DeniedUIProps> = ({
774
829
  </div>
775
830
  {isExpanded && (
776
831
  <div className="shell-execution-tool expanded-content">
832
+ {input.description && (
833
+ <div className="shell-execution-tool command-description">
834
+ {input.description}
835
+ </div>
836
+ )}
777
837
  <CommandDisplay command={input.command} clipboardService={clipboardService} />
778
838
  {input.cwd && (
779
839
  <MetaRow icon="folder" label={nls.localize('theia/ai-terminal/workingDirectory', 'Working directory')}>
@@ -817,7 +877,7 @@ const CanceledUI: React.FC<CanceledUIProps> = ({
817
877
  onClick={() => setIsExpanded(!isExpanded)}
818
878
  >
819
879
  <span className={codicon('terminal')} />
820
- <code className="shell-execution-tool command-preview">{truncateCommand(input.command)}</code>
880
+ <code className="shell-execution-tool command-preview" title={input.description}>{truncateCommand(input.command)}</code>
821
881
  <span className="shell-execution-tool meta-badges">
822
882
  {canceledResult?.duration !== undefined && (
823
883
  <span className="shell-execution-tool duration">{formatDuration(canceledResult.duration)}</span>
@@ -829,6 +889,11 @@ const CanceledUI: React.FC<CanceledUIProps> = ({
829
889
  </div>
830
890
  {isExpanded && (
831
891
  <div className="shell-execution-tool expanded-content">
892
+ {input.description && (
893
+ <div className="shell-execution-tool command-description">
894
+ {input.description}
895
+ </div>
896
+ )}
832
897
  <CommandDisplay command={input.command} clipboardService={clipboardService} />
833
898
  {input.cwd && (
834
899
  <MetaRow icon="folder" label={nls.localize('theia/ai-terminal/workingDirectory', 'Working directory')}>
@@ -869,7 +934,7 @@ const FinishedUI: React.FC<FinishedUIProps> = ({
869
934
  onClick={() => setIsExpanded(!isExpanded)}
870
935
  >
871
936
  <span className={codicon('terminal')} />
872
- <code className="shell-execution-tool command-preview">{truncateCommand(input.command)}</code>
937
+ <code className="shell-execution-tool command-preview" title={input.description}>{truncateCommand(input.command)}</code>
873
938
  <span className="shell-execution-tool meta-badges">
874
939
  {result?.duration !== undefined && (
875
940
  <span className="shell-execution-tool duration">{formatDuration(result.duration)}</span>
@@ -882,6 +947,11 @@ const FinishedUI: React.FC<FinishedUIProps> = ({
882
947
  </div>
883
948
  {isExpanded && (
884
949
  <div className="shell-execution-tool expanded-content">
950
+ {input.description && (
951
+ <div className="shell-execution-tool command-description">
952
+ {input.description}
953
+ </div>
954
+ )}
885
955
  <CommandDisplay command={input.command} clipboardService={clipboardService} />
886
956
  {(result?.cwd || input.cwd) && (
887
957
  <MetaRow icon="folder" label={nls.localize('theia/ai-terminal/workingDirectory', 'Working directory')}>
@@ -919,63 +989,6 @@ const CommandDisplay: React.FC<CommandDisplayProps> = ({ command, clipboardServi
919
989
  </div>
920
990
  );
921
991
 
922
- interface MetaRowProps {
923
- icon: string;
924
- label: string;
925
- children: React.ReactNode;
926
- }
927
-
928
- const MetaRow: React.FC<MetaRowProps> = ({ icon, label, children }) => (
929
- <div className="shell-execution-tool meta-row" title={label}>
930
- <span className={codicon(icon)} />
931
- <span>{children}</span>
932
- </div>
933
- );
934
-
935
- interface OutputBoxProps {
936
- title: string;
937
- output?: string;
938
- clipboardService: ClipboardService;
939
- }
940
-
941
- const OutputBox: React.FC<OutputBoxProps> = ({ title, output, clipboardService }) => (
942
- <div className="shell-execution-tool output-box">
943
- <div className="shell-execution-tool output-header">
944
- <span className={codicon('output')} />
945
- {title}
946
- {output && <CopyButton text={output} clipboardService={clipboardService} />}
947
- </div>
948
- {output ? (
949
- <pre className="shell-execution-tool output">{output}</pre>
950
- ) : (
951
- <div className="shell-execution-tool no-output">
952
- {nls.localize('theia/ai-terminal/noOutput', 'No output')}
953
- </div>
954
- )}
955
- </div>
956
- );
957
-
958
- interface CopyButtonProps {
959
- text: string;
960
- clipboardService: ClipboardService;
961
- }
962
-
963
- const CopyButton: React.FC<CopyButtonProps> = ({ text, clipboardService }) => {
964
- const handleCopy = React.useCallback(() => {
965
- clipboardService.writeText(text);
966
- }, [text, clipboardService]);
967
-
968
- return (
969
- <button
970
- className="shell-execution-tool copy-button"
971
- onClick={handleCopy}
972
- title={nls.localizeByDefault('Copy')}
973
- >
974
- <span className={codicon('copy')} />
975
- </button>
976
- );
977
- };
978
-
979
992
  function formatSuggestionLabel(suggestion: PatternSuggestion, action: 'allow' | 'deny'): string {
980
993
  const quoted = suggestion.patterns.map(p => `"${truncatePattern(p)}"`);
981
994
  if (quoted.length === 2) {
@@ -1006,14 +1019,3 @@ function truncatePattern(pattern: string, maxLength: number = 50): string {
1006
1019
  return pattern.substring(0, maxLength - 3) + '...';
1007
1020
  }
1008
1021
 
1009
- function formatDuration(ms: number): string {
1010
- if (ms < 1000) {
1011
- return `${ms}ms`;
1012
- }
1013
- if (ms < 60000) {
1014
- return `${(ms / 1000).toFixed(1)}s`;
1015
- }
1016
- const minutes = Math.floor(ms / 60000);
1017
- const seconds = Math.floor((ms % 60000) / 1000);
1018
- return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
1019
- }
@@ -104,6 +104,29 @@ TIMEOUT: Default 2 minutes, max 10 minutes. Specify higher timeout for longer co
104
104
  type: 'string',
105
105
  description: 'The shell command to execute. Can include pipes, redirects, and shell features.'
106
106
  },
107
+ description: {
108
+ type: 'string',
109
+ description: 'Describe what this command actually does in active voice, ' +
110
+ 'so the user can verify the command matches their intent without ' +
111
+ 'parsing flags or shell syntax themselves. ' +
112
+ 'Never use words like "complex" or "risk".\n\n' +
113
+ 'Reflect the actual mechanics of the command: significant flags, ' +
114
+ 'filters, pipes, and output limits. When a less obvious tool or ' +
115
+ 'flag is chosen (e.g. `find` instead of `ls`, `-type f`, `head`, ' +
116
+ '`sort`), state its effect rather than only the high-level goal.\n\n' +
117
+ 'For simple commands (git, npm, standard CLI tools), keep it brief (5-10 words):\n' +
118
+ '- cat README.md -> "Print README file contents"\n' +
119
+ '- git diff HEAD~1 -> "Show changes from last commit"\n' +
120
+ '- npm test -> "Run project test suite"\n\n' +
121
+ 'For longer or piped commands, add enough context to clarify intent and behavior:\n' +
122
+ '- grep -rn "TODO" src/ --include="*.ts" -> "Search TypeScript files in src for TODO comments"\n' +
123
+ '- git log --oneline --since="1 week" | wc -l -> "Count commits from the past week"\n' +
124
+ '- du -sh node_modules/* | sort -rh | head -5 -> "Show 5 largest packages in node_modules by size"\n' +
125
+ '- find . -type f | head -100 -> "Recursively list up to the first 100 files (excluding directories) under the current directory"\n\n' +
126
+ 'Avoid descriptions that state only the intent and hide the mechanics ' +
127
+ '(e.g. "List all files in the workspace" for `find . -type f | head -100` ' +
128
+ 'is too vague — it omits the recursion, file-only filter, and 100-entry limit).'
129
+ },
107
130
  cwd: {
108
131
  type: 'string',
109
132
  description: 'Working directory for command execution. Can be absolute or relative to workspace root. Defaults to the workspace root.'
@@ -113,7 +136,7 @@ TIMEOUT: Default 2 minutes, max 10 minutes. Specify higher timeout for longer co
113
136
  description: 'Timeout in milliseconds. Default: 120000 (2 minutes). Max: 600000 (10 minutes).'
114
137
  }
115
138
  },
116
- required: ['command']
139
+ required: ['command', 'description']
117
140
  },
118
141
  handler: (argString: string, ctx?: unknown) => this.executeCommand(argString, ctx),
119
142
  checkAutoAction: (argString: string): AutoActionResult | undefined => {
@@ -184,6 +184,12 @@
184
184
  color: var(--theia-foreground);
185
185
  }
186
186
 
187
+ .shell-execution-tool.command-description {
188
+ color: var(--theia-descriptionForeground);
189
+ font-size: var(--theia-ui-font-size1);
190
+ margin-bottom: var(--theia-ui-padding);
191
+ }
192
+
187
193
  .shell-execution-tool.command-display {
188
194
  padding: var(--theia-ui-padding) calc(var(--theia-ui-padding) * 1.5);
189
195
  background-color: var(--theia-textCodeBlock-background);
@@ -14,8 +14,11 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
+ import { extractJsonStringField } from '@theia/ai-chat-ui/lib/common/toolcall-utils';
18
+
17
19
  export interface ShellExecutionInput {
18
20
  command: string;
21
+ description?: string;
19
22
  cwd?: string;
20
23
  timeout?: number;
21
24
  }
@@ -32,8 +35,6 @@ export function parseShellExecutionInput(args: string | undefined): ShellExecuti
32
35
  try {
33
36
  return JSON.parse(args);
34
37
  } catch {
35
- // Extract command from incomplete JSON: "command": "value or "command":"value
36
- const match = /"command"\s*:\s*"([^"]*)"?/.exec(args);
37
- return { command: match?.[1] ?? '' };
38
+ return { command: extractJsonStringField(args, 'command') ?? '' };
38
39
  }
39
40
  }