@serjm/deepseek-code 0.4.2 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +72 -108
  3. package/README.ru.md +73 -108
  4. package/dist/api/index.d.ts +9 -0
  5. package/dist/api/index.d.ts.map +1 -1
  6. package/dist/api/index.js +65 -2
  7. package/dist/api/index.js.map +1 -1
  8. package/dist/cli/index.d.ts +1 -0
  9. package/dist/cli/index.d.ts.map +1 -1
  10. package/dist/cli/index.js +15 -8
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/interactive.d.ts.map +1 -1
  13. package/dist/cli/interactive.js +65 -3
  14. package/dist/cli/interactive.js.map +1 -1
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +63 -41
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/config/defaults.d.ts.map +1 -1
  19. package/dist/config/defaults.js +8 -7
  20. package/dist/config/defaults.js.map +1 -1
  21. package/dist/core/agent-loop.d.ts +44 -2
  22. package/dist/core/agent-loop.d.ts.map +1 -1
  23. package/dist/core/agent-loop.js +318 -59
  24. package/dist/core/agent-loop.js.map +1 -1
  25. package/dist/core/i18n.d.ts +3 -0
  26. package/dist/core/i18n.d.ts.map +1 -1
  27. package/dist/core/i18n.js +9 -0
  28. package/dist/core/i18n.js.map +1 -1
  29. package/dist/core/metrics.d.ts +3 -1
  30. package/dist/core/metrics.d.ts.map +1 -1
  31. package/dist/core/metrics.js +34 -5
  32. package/dist/core/metrics.js.map +1 -1
  33. package/dist/tools/bash.d.ts.map +1 -1
  34. package/dist/tools/bash.js +299 -20
  35. package/dist/tools/bash.js.map +1 -1
  36. package/dist/tools/chrome.d.ts.map +1 -1
  37. package/dist/tools/chrome.js +1 -0
  38. package/dist/tools/chrome.js.map +1 -1
  39. package/dist/tools/glob.d.ts.map +1 -1
  40. package/dist/tools/glob.js +40 -3
  41. package/dist/tools/glob.js.map +1 -1
  42. package/dist/tools/grep.d.ts.map +1 -1
  43. package/dist/tools/grep.js +69 -13
  44. package/dist/tools/grep.js.map +1 -1
  45. package/dist/tools/read.d.ts.map +1 -1
  46. package/dist/tools/read.js +91 -0
  47. package/dist/tools/read.js.map +1 -1
  48. package/dist/tools/types.d.ts +21 -1
  49. package/dist/tools/types.d.ts.map +1 -1
  50. package/dist/tools/types.js +34 -0
  51. package/dist/tools/types.js.map +1 -1
  52. package/dist/ui/app.d.ts.map +1 -1
  53. package/dist/ui/app.js +234 -162
  54. package/dist/ui/app.js.map +1 -1
  55. package/dist/ui/chat-view.d.ts +24 -3
  56. package/dist/ui/chat-view.d.ts.map +1 -1
  57. package/dist/ui/chat-view.js +116 -58
  58. package/dist/ui/chat-view.js.map +1 -1
  59. package/dist/ui/input-bar.d.ts.map +1 -1
  60. package/dist/ui/input-bar.js +38 -4
  61. package/dist/ui/input-bar.js.map +1 -1
  62. package/dist/ui/setup-wizard.js +1 -1
  63. package/dist/ui/setup-wizard.js.map +1 -1
  64. package/dist/ui/status-bar.d.ts +5 -1
  65. package/dist/ui/status-bar.d.ts.map +1 -1
  66. package/dist/ui/status-bar.js +10 -4
  67. package/dist/ui/status-bar.js.map +1 -1
  68. package/dist/utils/logger.d.ts +15 -0
  69. package/dist/utils/logger.d.ts.map +1 -1
  70. package/dist/utils/logger.js +47 -0
  71. package/dist/utils/logger.js.map +1 -1
  72. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvC,UAAU,aAAa;IAErB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IAGd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAGrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAGnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IAGzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IAGpB,aAAa,EAAE,MAAM,CAAC;IAGtB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAGlB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IAGxB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAmRD,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAoB;IAEnC,SAAS,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,SAAS,IAAK,MAAM;IAIpB,CAAC,CAAE,GAAG,EAAE,MAAM,aAAa,GAAG,MAAM;IAIpC;;OAEG;IACH,YAAY,IAAK,MAAM;IAOvB,WAAW,IAAK,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAOtD;AAGD,eAAO,MAAM,IAAI,MAAa,CAAA"}
package/dist/core/i18n.js CHANGED
@@ -70,6 +70,9 @@ const EN = {
70
70
  apiErrorNetwork: 'No connection to DeepSeek API. Check your internet connection.',
71
71
  apiErrorTimeout: 'Request timed out. Check your internet connection or API address.',
72
72
  ctrlCHint: 'Press Ctrl+C again to exit',
73
+ agentPaused: '[PAUSED] Agent stopped. You can add a message.',
74
+ agentPausedHint: 'Enter — send continuation | Esc — return | Ctrl+C again — exit',
75
+ paused: 'Paused',
73
76
  };
74
77
  const RU = {
75
78
  welcome: 'DeepSeek Code',
@@ -143,6 +146,9 @@ const RU = {
143
146
  apiErrorNetwork: 'Нет соединения с DeepSeek API. Проверьте подключение к интернету.',
144
147
  apiErrorTimeout: 'Таймаут запроса. Проверьте подключение к интернету или адрес API.',
145
148
  ctrlCHint: 'Нажмите Ctrl+C ещё раз для выхода',
149
+ agentPaused: '[ПАУЗА] Агент остановлен. Можно дописать сообщение.',
150
+ agentPausedHint: 'Enter — отправить продолжение | Esc — вернуться | Ctrl+C ещё раз — выйти',
151
+ paused: 'Пауза',
146
152
  };
147
153
  const ZH = {
148
154
  welcome: 'DeepSeek Code',
@@ -216,6 +222,9 @@ const ZH = {
216
222
  apiErrorNetwork: '无法连接 DeepSeek API,请检查网络连接。',
217
223
  apiErrorTimeout: '请求超时,请检查网络或 API 地址。',
218
224
  ctrlCHint: '再次按 Ctrl+C 退出',
225
+ agentPaused: '[暂停] 代理已停止。您可以添加消息。',
226
+ agentPausedHint: 'Enter — 发送继续 | Esc — 返回 | Ctrl+C — 退出',
227
+ paused: '已暂停',
219
228
  };
220
229
  const LOCALES = {
221
230
  en: EN,
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
@@ -50,13 +50,15 @@ export declare class MetricsCollector {
50
50
  tool: string;
51
51
  duration: number;
52
52
  success: boolean;
53
+ label?: string;
54
+ error?: string;
53
55
  }>;
54
56
  /** Get count of a specific tool in the call log */
55
57
  getToolCallCount(name: string): number;
56
58
  /** Get count of tool calls matching any of the given names */
57
59
  getToolCallCountAny(names: string[]): number;
58
60
  recordToolCallStart(toolName: string): void;
59
- recordToolCallEnd(toolName: string, success?: boolean): void;
61
+ recordToolCallEnd(toolName: string, success?: boolean, label?: string, error?: string): void;
60
62
  recordTokens(input: number, output: number): void;
61
63
  recordUsage(usage: Partial<TokenUsage>): void;
62
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
@@ -137,13 +137,13 @@ export class MetricsCollector {
137
137
  recordToolCallStart(toolName) {
138
138
  this.toolTimings.set(toolName, { start: Date.now() });
139
139
  }
140
- recordToolCallEnd(toolName, success = true) {
140
+ recordToolCallEnd(toolName, success = true, label, error) {
141
141
  const entry = this.toolTimings.get(toolName);
142
142
  if (entry) {
143
143
  const duration = Date.now() - entry.start;
144
144
  entry.duration = duration;
145
145
  this._toolCalls++;
146
- this.toolCallLog.push({ tool: toolName, duration, success });
146
+ this.toolCallLog.push({ tool: toolName, duration, success, label, error });
147
147
  }
148
148
  }
149
149
  recordTokens(input, output) {
@@ -174,8 +174,8 @@ export class MetricsCollector {
174
174
  return 0;
175
175
  return Math.min(100, Math.round((this._lastInputTokens / maxContext) * 100));
176
176
  }
177
- estimatedCostUSD(model = 'deepseek-chat') {
178
- const pricing = MODEL_PRICING[model] ?? MODEL_PRICING['deepseek-chat'];
177
+ estimatedCostUSD(model = 'deepseek-v4-pro') {
178
+ const pricing = MODEL_PRICING[model] ?? MODEL_PRICING['deepseek-v4-pro'];
179
179
  return (this._cacheHitInputTokens / 1_000_000) * pricing.cacheHitInputPer1M +
180
180
  (this._cacheMissInputTokens / 1_000_000) * pricing.cacheMissInputPer1M +
181
181
  (this._outputTokens / 1_000_000) * pricing.outputPer1M;
@@ -198,7 +198,7 @@ export class MetricsCollector {
198
198
  return 0;
199
199
  return Math.min(100, Math.round((this.totalTokens / maxContext) * 100));
200
200
  }
201
- getSummary(model = 'deepseek-chat') {
201
+ getSummary(model = 'deepseek-v4-pro') {
202
202
  const elapsed = Math.round(this.elapsedMs / 1000);
203
203
  const mins = Math.floor(elapsed / 60);
204
204
  const secs = elapsed % 60;
@@ -260,7 +260,36 @@ export class MetricsCollector {
260
260
  }
261
261
  groups.set(call.tool, g);
262
262
  }
263
+ const failedCalls = this.toolCallLog.filter(c => !c.success);
264
+ const chromeFailures = failedCalls.filter(c => c.tool === 'chrome').length;
265
+ if (failedCalls.length > 0) {
266
+ summary += 'Quality gate: attention required';
267
+ summary += ` (${failedCalls.length} failed tool call${failedCalls.length === 1 ? '' : 's'}`;
268
+ if (chromeFailures > 0)
269
+ summary += `, ${chromeFailures} chrome failure${chromeFailures === 1 ? '' : 's'}`;
270
+ summary += ')\n';
271
+ summary += ' Final report must be Partial/Failed unless failures were non-critical and retried successfully.\n';
272
+ }
273
+ else {
274
+ summary += 'Quality gate: no failed tool calls recorded\n';
275
+ }
263
276
  summary += `Tools: ${Array.from(groups.entries()).map(([name, g]) => `${name} x${g.count}${g.fail > 0 ? ` (${g.success} ok ${g.fail} failed)` : ''}`).join(', ')}\n`;
277
+ // Failed tool calls detail block (max 3 entries to keep the visible summary readable)
278
+ if (failedCalls.length > 0) {
279
+ summary += '\nFailed tool calls (first 3):\n';
280
+ for (const fc of failedCalls.slice(0, 3)) {
281
+ const label = fc.label
282
+ ? (fc.label.length > 120 ? fc.label.slice(0, 117) + '...' : fc.label)
283
+ : '';
284
+ const error = fc.error
285
+ ? (fc.error.length > 160 ? fc.error.slice(0, 157) + '...' : fc.error)
286
+ : 'failed';
287
+ summary += `- ${fc.tool}${label ? `: ${label}` : ''} -> ${error}\n`;
288
+ }
289
+ if (failedCalls.length > 3) {
290
+ summary += ` ... and ${failedCalls.length - 3} more failed call(s)\n`;
291
+ }
292
+ }
264
293
  }
265
294
  summary += `Time: ${mins}m ${secs}s${costStr}\n`;
266
295
  summary += '━━━━━━━━━━━━━━━━━━━━━━━━━━\n';
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAmCvD,eAAO,MAAM,QAAQ,EAAE,IA4DtB,CAAA"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAoSvD,eAAO,MAAM,QAAQ,EAAE,IAyGtB,CAAA"}
@@ -1,4 +1,6 @@
1
- import { execSync } from 'node:child_process';
1
+ import { spawn } from 'node:child_process';
2
+ import { platform } from 'node:os';
3
+ import { isAbsolute, relative } from 'node:path';
2
4
  /**
3
5
  * Dangerous commands that should never be auto-approved.
4
6
  * These can destroy the system or data.
@@ -10,18 +12,83 @@ const DANGEROUS_PATTERNS = [
10
12
  /^\s*format\s/m,
11
13
  /^\s*del\s+\/f\s+\/s\s/m,
12
14
  /^\s*rd\s+\/s\s+\/q\s/m,
13
- /^\s*remove-item\b.*\s-(?:recurse|r)\b/im,
14
- /^\s*rm\b.*\s-(?:recurse|r)\b/im,
15
+ /^\s*remove-item\b\s+["']?(?:[A-Z]:\\|\/)["']?\s+-(?:recurse|r)\b/im,
16
+ /^\s*rm\b\s+["']?(?:[A-Z]:\\|\/)["']?\s+-(?:recurse|r)\b/im,
15
17
  /^\s*clear-disk\b/im,
16
18
  /^\s*format-volume\b/im,
17
19
  /^\s*stop-computer\b/im,
18
20
  /^\s*restart-computer\b/im,
21
+ /^\s*taskkill\b(?=.*(?:\/f|-f)\b)(?=.*(?:\/im|-im)\s+(?:node(?:\.exe)?|npm(?:\.cmd)?|pnpm(?:\.cmd)?|yarn(?:\.cmd)?|tsx(?:\.cmd)?|vite(?:\.cmd)?|nuxt(?:\.cmd)?|next(?:\.cmd)?|react-scripts(?:\.cmd)?|powershell(?:\.exe)?|cmd(?:\.exe)?))\b/im,
22
+ /^\s*taskkill\b(?=.*(?:\/im|-im)\s+\*)/im,
23
+ /^\s*stop-process\b(?=.*-(?:name|processname)\s+(?:node|npm|pnpm|yarn|tsx|vite|nuxt|next|react-scripts|powershell|cmd)\b)/im,
24
+ /^\s*(?:kill|pkill|killall)\b.*\b(?:node|npm|pnpm|yarn|tsx|vite|nuxt|next|react-scripts)\b/im,
19
25
  /^\s*shutdown\s/m,
20
26
  /^\s*reboot\s/m,
21
27
  /^\s*init\s+0/m,
22
28
  /^\s*:\(\)\s*\{/m, // fork bomb
23
29
  /^\s*>+\s+\/dev\//m, // destructive redirects
24
30
  ];
31
+ const WINDOWS_UNIX_COMMAND_REPLACEMENTS = {
32
+ sed: 'Use PowerShell string replacement, Select-String, or read_file/edit instead.',
33
+ head: 'Use Get-Content <path> -TotalCount <n>.',
34
+ tail: 'Use Get-Content <path> -Tail <n>.',
35
+ cat: 'Use Get-Content <path>.',
36
+ grep: 'Use grep_search, Select-String, or rg if available.',
37
+ xargs: 'Use PowerShell pipelines with ForEach-Object.',
38
+ touch: 'Use New-Item -ItemType File or Set-Content.',
39
+ rm: 'Use Remove-Item with an explicit safe path.',
40
+ };
41
+ const POWERSHELL_COMMANDS = new Set([
42
+ 'add-content',
43
+ 'copy-item',
44
+ 'get-childitem',
45
+ 'get-content',
46
+ 'move-item',
47
+ 'new-item',
48
+ 'remove-item',
49
+ 'select-object',
50
+ 'select-string',
51
+ 'set-content',
52
+ 'test-path',
53
+ 'foreach-object',
54
+ 'where-object',
55
+ 'write-output',
56
+ ]);
57
+ function findBareCommandAtSegmentStart(command, names) {
58
+ let atSegmentStart = true;
59
+ let quote = null;
60
+ for (let i = 0; i < command.length; i++) {
61
+ const char = command[i];
62
+ if (quote) {
63
+ if (char === quote)
64
+ quote = null;
65
+ continue;
66
+ }
67
+ if (char === '"' || char === "'") {
68
+ quote = char;
69
+ continue;
70
+ }
71
+ if (/[|&;()]/.test(char)) {
72
+ atSegmentStart = true;
73
+ continue;
74
+ }
75
+ if (/\s/.test(char))
76
+ continue;
77
+ if (!atSegmentStart)
78
+ continue;
79
+ const rest = command.slice(i);
80
+ const match = rest.match(/^([A-Za-z][\w.-]*)\b/);
81
+ if (!match) {
82
+ atSegmentStart = false;
83
+ continue;
84
+ }
85
+ const name = match[1].toLowerCase();
86
+ if (names.has(name))
87
+ return name;
88
+ atSegmentStart = false;
89
+ }
90
+ return null;
91
+ }
25
92
  function isDangerousCommand(command) {
26
93
  for (const pattern of DANGEROUS_PATTERNS) {
27
94
  if (pattern.test(command)) {
@@ -30,9 +97,180 @@ function isDangerousCommand(command) {
30
97
  }
31
98
  return null;
32
99
  }
100
+ function isInsideWorkspace(targetPath) {
101
+ if (!isAbsolute(targetPath))
102
+ return true;
103
+ const rel = relative(process.cwd(), targetPath);
104
+ return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
105
+ }
106
+ function extractFirstPathArgument(rest) {
107
+ const trimmed = rest.trim();
108
+ const quoted = trimmed.match(/^["']([^"']+)["']/u);
109
+ if (quoted)
110
+ return quoted[1];
111
+ const bare = trimmed.match(/^([^\s;|&]+)/u);
112
+ return bare?.[1] ?? null;
113
+ }
114
+ function getWorkspacePolicyError(command) {
115
+ const cdPattern = /(?:^|[;&|()])\s*(?:cd|chdir|set-location)\s+((?:"[^"]+")|(?:'[^']+')|[^\s;&|)]+)/gim;
116
+ let match;
117
+ while ((match = cdPattern.exec(command)) !== null) {
118
+ const target = match[1].replace(/^["']|["']$/g, '');
119
+ if (isAbsolute(target) && !isInsideWorkspace(target)) {
120
+ return `Workspace policy: refusing to change directory outside the current workspace (${process.cwd()}): ${target}. Start the CLI in the intended project directory instead of switching projects inside a shell command.`;
121
+ }
122
+ }
123
+ if (platform() !== 'win32')
124
+ return null;
125
+ const mutatingCmdletPattern = /(?:^|[;&|()])\s*(remove-item|new-item|set-content|add-content|copy-item|move-item)\b([^;&|)]*)/gim;
126
+ while ((match = mutatingCmdletPattern.exec(command)) !== null) {
127
+ const target = extractFirstPathArgument(match[2]);
128
+ if (target && isAbsolute(target) && !isInsideWorkspace(target)) {
129
+ return `Workspace policy: refusing to run ${match[1]} on a path outside the current workspace (${process.cwd()}): ${target}. Use the CLI from that project directory or ask for confirmation with the correct workspace.`;
130
+ }
131
+ }
132
+ return null;
133
+ }
134
+ function getWindowsShellPolicyError(command) {
135
+ if (platform() !== 'win32')
136
+ return null;
137
+ const commandName = findBareCommandAtSegmentStart(command, new Set(Object.keys(WINDOWS_UNIX_COMMAND_REPLACEMENTS)));
138
+ if (!commandName)
139
+ return null;
140
+ return `Windows shell policy: '${commandName}' is usually a Unix command and may fail in cmd/PowerShell. ${WINDOWS_UNIX_COMMAND_REPLACEMENTS[commandName]}`;
141
+ }
142
+ function getWindowsUnixFlagPolicyError(command) {
143
+ if (platform() !== 'win32')
144
+ return null;
145
+ const mkdirP = /(?:^|[;&|()])\s*mkdir\s+-p(?:\s|$)/im;
146
+ if (mkdirP.test(command)) {
147
+ return 'Windows shell policy: mkdir -p is Unix syntax and can create a literal "-p" directory in Windows shells. Use New-Item -ItemType Directory -Force <path> or mkdir <path> without -p.';
148
+ }
149
+ return null;
150
+ }
151
+ function shouldRunWithPowerShell(command) {
152
+ if (platform() !== 'win32')
153
+ return false;
154
+ return findBareCommandAtSegmentStart(command, POWERSHELL_COMMANDS) !== null;
155
+ }
156
+ function hasUnquotedWindowsShellChaining(command) {
157
+ let quote = null;
158
+ for (let i = 0; i < command.length - 1; i++) {
159
+ const char = command[i];
160
+ if (quote) {
161
+ if (char === quote)
162
+ quote = null;
163
+ continue;
164
+ }
165
+ if (char === '"' || char === "'") {
166
+ quote = char;
167
+ continue;
168
+ }
169
+ const pair = command.slice(i, i + 2);
170
+ if (pair === '&&' || pair === '||')
171
+ return true;
172
+ }
173
+ return false;
174
+ }
175
+ function getPowerShellSyntaxPolicyError(command) {
176
+ if (!shouldRunWithPowerShell(command))
177
+ return null;
178
+ if (!hasUnquotedWindowsShellChaining(command))
179
+ return null;
180
+ return 'Windows shell policy: this command uses PowerShell cmdlets together with cmd/bash chaining operators && or ||. Use separate tool calls, or PowerShell-compatible separators such as ; with explicit error checks.';
181
+ }
182
+ const MAX_OUTPUT_BYTES = 10 * 1024 * 1024;
183
+ /**
184
+ * Kill a child and its whole process tree. A bare `child.kill()` only signals
185
+ * the direct child (the shell wrapper); on Windows the actual command keeps the
186
+ * stdout pipe open so the `close` event never fires, and on Unix the command is
187
+ * orphaned. We therefore kill the entire tree/process group.
188
+ */
189
+ function killProcessTree(child) {
190
+ const pid = child.pid;
191
+ if (pid == null)
192
+ return;
193
+ if (platform() === 'win32') {
194
+ try {
195
+ spawn('taskkill', ['/pid', String(pid), '/t', '/f'], { windowsHide: true });
196
+ }
197
+ catch {
198
+ try {
199
+ child.kill('SIGKILL');
200
+ }
201
+ catch { /* already gone */ }
202
+ }
203
+ }
204
+ else {
205
+ try {
206
+ // Negative pid targets the process group (requires detached spawn).
207
+ process.kill(-pid, 'SIGTERM');
208
+ }
209
+ catch {
210
+ try {
211
+ child.kill('SIGKILL');
212
+ }
213
+ catch { /* already gone */ }
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Run a shell command asynchronously so the event loop (and therefore the TUI
219
+ * and Ctrl+C handling) stays responsive while the command runs. The command is
220
+ * killed if `signal` aborts (user cancellation) or the timeout elapses.
221
+ */
222
+ function executeCommand(command, timeout, signal) {
223
+ return new Promise((resolve, reject) => {
224
+ if (signal?.aborted) {
225
+ resolve({ stdout: '', stderr: '', code: null, aborted: true, timedOut: false });
226
+ return;
227
+ }
228
+ // detached on POSIX makes the child a process-group leader so the whole
229
+ // group can be killed; on Windows the tree is killed via taskkill /t.
230
+ const detached = platform() !== 'win32';
231
+ const child = shouldRunWithPowerShell(command)
232
+ ? spawn('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-Command', command], { windowsHide: true, detached })
233
+ : spawn(command, { shell: true, windowsHide: true, detached });
234
+ let stdout = '';
235
+ let stderr = '';
236
+ let stdoutBytes = 0;
237
+ let truncated = false;
238
+ let aborted = false;
239
+ let timedOut = false;
240
+ const onAbort = () => { aborted = true; killProcessTree(child); };
241
+ if (signal)
242
+ signal.addEventListener('abort', onAbort, { once: true });
243
+ const timer = setTimeout(() => { timedOut = true; killProcessTree(child); }, timeout);
244
+ child.stdout?.setEncoding('utf8');
245
+ child.stderr?.setEncoding('utf8');
246
+ child.stdout?.on('data', (chunk) => {
247
+ stdoutBytes += Buffer.byteLength(chunk);
248
+ if (stdoutBytes <= MAX_OUTPUT_BYTES)
249
+ stdout += chunk;
250
+ else
251
+ truncated = true;
252
+ });
253
+ child.stderr?.on('data', (chunk) => { stderr += chunk; });
254
+ const cleanup = () => {
255
+ clearTimeout(timer);
256
+ if (signal)
257
+ signal.removeEventListener('abort', onAbort);
258
+ };
259
+ child.on('error', (err) => {
260
+ cleanup();
261
+ reject(err);
262
+ });
263
+ child.on('close', (code) => {
264
+ cleanup();
265
+ if (truncated)
266
+ stdout += `\n\n... [output truncated at ${MAX_OUTPUT_BYTES} bytes]`;
267
+ resolve({ stdout, stderr, code, aborted, timedOut });
268
+ });
269
+ });
270
+ }
33
271
  export const bashTool = {
34
272
  name: 'run_shell_command',
35
- description: 'Execute a shell command. Use for running build tools, tests, git operations, etc.',
273
+ description: 'Execute an OS-compatible shell command. Use for build/test/git commands; prefer read_file, grep_search, and glob for repository inspection. On Windows, use PowerShell/cmd-compatible commands unless Unix tools were verified.',
36
274
  parameters: [
37
275
  {
38
276
  name: 'command',
@@ -53,40 +291,81 @@ export const bashTool = {
53
291
  required: false,
54
292
  },
55
293
  ],
56
- async execute(args) {
294
+ async execute(args, signal) {
57
295
  const command = args.command;
58
296
  const timeout = args.timeout ?? 120_000;
59
297
  // Security check — reject dangerous commands
60
298
  const danger = isDangerousCommand(command);
61
299
  if (danger) {
300
+ const isBroadProcessKill = /\b(?:taskkill|stop-process|pkill|killall)\b/iu.test(command);
62
301
  return {
63
302
  success: false,
64
303
  output: '',
65
- error: `Blocked for security: ${danger}`,
304
+ error: isBroadProcessKill
305
+ ? `Blocked for security: ${danger}. Avoid broad process-kill commands. If you started a dev server, stop only that specific process by its known PID or use the child process handle managed by the tool.`
306
+ : `Blocked for security: ${danger}. This command is potentially destructive. Use explicit safe paths inside the current workspace and avoid broad recursive deletion.`,
66
307
  };
67
308
  }
68
- try {
69
- const output = execSync(command, {
70
- timeout,
71
- encoding: 'utf-8',
72
- maxBuffer: 10 * 1024 * 1024, // 10MB
73
- windowsHide: true,
74
- });
309
+ const windowsPolicyError = getWindowsShellPolicyError(command);
310
+ if (windowsPolicyError) {
75
311
  return {
76
- success: true,
77
- output: output || '(command completed with no output)',
312
+ success: false,
313
+ output: '',
314
+ error: windowsPolicyError,
78
315
  };
79
316
  }
80
- catch (err) {
81
- const error = err;
82
- const stdout = error.stdout ?? '';
83
- const stderr = error.stderr ?? '';
317
+ const windowsUnixFlagPolicyError = getWindowsUnixFlagPolicyError(command);
318
+ if (windowsUnixFlagPolicyError) {
319
+ return {
320
+ success: false,
321
+ output: '',
322
+ error: windowsUnixFlagPolicyError,
323
+ };
324
+ }
325
+ const workspacePolicyError = getWorkspacePolicyError(command);
326
+ if (workspacePolicyError) {
327
+ return {
328
+ success: false,
329
+ output: '',
330
+ error: workspacePolicyError,
331
+ };
332
+ }
333
+ const powershellSyntaxPolicyError = getPowerShellSyntaxPolicyError(command);
334
+ if (powershellSyntaxPolicyError) {
335
+ return {
336
+ success: false,
337
+ output: '',
338
+ error: powershellSyntaxPolicyError,
339
+ };
340
+ }
341
+ try {
342
+ const { stdout, stderr, code, aborted, timedOut } = await executeCommand(command, timeout, signal);
343
+ if (aborted) {
344
+ return { success: false, output: stdout, error: 'Command aborted by user (Ctrl+C).' };
345
+ }
346
+ if (timedOut) {
347
+ return {
348
+ success: false,
349
+ output: stdout,
350
+ error: `Command timed out after ${timeout}ms.${stderr ? `\n${stderr}` : ''}`,
351
+ };
352
+ }
353
+ if (code === 0) {
354
+ return { success: true, output: stdout || '(command completed with no output)' };
355
+ }
84
356
  return {
85
357
  success: false,
86
358
  output: stdout,
87
- error: stderr || error.message,
359
+ error: stderr || `Command exited with code ${code}`,
88
360
  };
89
361
  }
362
+ catch (err) {
363
+ const error = err;
364
+ if (signal?.aborted || error.code === 'ABORT_ERR' || error.name === 'AbortError') {
365
+ return { success: false, output: '', error: 'Command aborted by user (Ctrl+C).' };
366
+ }
367
+ return { success: false, output: '', error: error.message };
368
+ }
90
369
  },
91
370
  };
92
371
  //# sourceMappingURL=bash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C;;;GAGG;AACH,MAAM,kBAAkB,GAAG;IACzB,wBAAwB;IACxB,aAAa;IACb,0BAA0B;IAC1B,eAAe;IACf,wBAAwB;IACxB,uBAAuB;IACvB,yCAAyC;IACzC,gCAAgC;IAChC,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,0BAA0B;IAC1B,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,iBAAiB,EAAE,YAAY;IAC/B,mBAAmB,EAAE,wBAAwB;CAC9C,CAAA;AAED,SAAS,kBAAkB,CAAE,OAAe;IAC1C,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,sCAAsC,OAAO,EAAE,CAAA;QACxD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mFAAmF;IAChG,UAAU,EAAE;QACV;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oDAAoD;YACjE,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,KAAK,CAAC,OAAO,CAAE,IAA6B;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAA;QACtC,MAAM,OAAO,GAAI,IAAI,CAAC,OAAkB,IAAI,OAAO,CAAA;QAEnD,6CAA6C;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,yBAAyB,MAAM,EAAE;aACzC,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE;gBAC/B,OAAO;gBACP,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;gBACpC,WAAW,EAAE,IAAI;aAClB,CAAC,CAAA;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,IAAI,oCAAoC;aACvD,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAmD,CAAA;YACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO;aAC/B,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}