@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.
- package/lib/browser/shell-execution-tool-renderer.d.ts +1 -0
- package/lib/browser/shell-execution-tool-renderer.d.ts.map +1 -1
- package/lib/browser/shell-execution-tool-renderer.js +56 -42
- package/lib/browser/shell-execution-tool-renderer.js.map +1 -1
- package/lib/browser/shell-execution-tool.d.ts.map +1 -1
- package/lib/browser/shell-execution-tool.js +24 -1
- package/lib/browser/shell-execution-tool.js.map +1 -1
- package/lib/common/shell-execution-input-parser.d.ts +1 -0
- package/lib/common/shell-execution-input-parser.d.ts.map +1 -1
- package/lib/common/shell-execution-input-parser.js +2 -3
- package/lib/common/shell-execution-input-parser.js.map +1 -1
- package/package.json +10 -10
- package/src/browser/shell-execution-tool-renderer.tsx +76 -74
- package/src/browser/shell-execution-tool.ts +24 -1
- package/src/browser/style/shell-execution-tool.css +6 -0
- package/src/common/shell-execution-input-parser.ts +4 -3
|
@@ -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;
|
|
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;
|
|
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":";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;AAElE,yFAAmF;AACnF,0DAAgE;AAChE,6EAM0C;AAC1C,sCAA8D;AAGvD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;QAWgB,sBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-execution-tool.js","sourceRoot":"","sources":["../../src/browser/shell-execution-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-execution-input-parser.d.ts","sourceRoot":"","sources":["../../src/common/shell-execution-input-parser.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
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;;
|
|
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
|
|
3
|
+
"version": "1.71.0",
|
|
4
4
|
"description": "Theia - AI Terminal Extension",
|
|
5
5
|
"dependencies": {
|
|
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.
|
|
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.
|
|
48
|
+
"@theia/ext-scripts": "1.71.0"
|
|
49
49
|
},
|
|
50
50
|
"nyc": {
|
|
51
51
|
"extends": "../../configs/nyc.json"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
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
|
-
|
|
36
|
-
const match = /"command"\s*:\s*"([^"]*)"?/.exec(args);
|
|
37
|
-
return { command: match?.[1] ?? '' };
|
|
38
|
+
return { command: extractJsonStringField(args, 'command') ?? '' };
|
|
38
39
|
}
|
|
39
40
|
}
|