deepseek-coder-agent-cli 1.0.71 → 1.0.72

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 (48) hide show
  1. package/dist/capabilities/hitlCapability.js +2 -2
  2. package/dist/capabilities/hitlCapability.js.map +1 -1
  3. package/dist/contracts/schemas/agent.schema.json +2 -1
  4. package/dist/contracts/schemas/tool-selection.schema.json +0 -1
  5. package/dist/contracts/v1/agent.d.ts +12 -2
  6. package/dist/contracts/v1/agent.d.ts.map +1 -1
  7. package/dist/contracts/v1/toolAccess.d.ts +1 -1
  8. package/dist/contracts/v1/toolAccess.d.ts.map +1 -1
  9. package/dist/core/hitl.d.ts +8 -0
  10. package/dist/core/hitl.d.ts.map +1 -1
  11. package/dist/core/hitl.js +37 -0
  12. package/dist/core/hitl.js.map +1 -1
  13. package/dist/headless/interactiveShell.js +26 -0
  14. package/dist/headless/interactiveShell.js.map +1 -1
  15. package/dist/runtime/agentController.d.ts.map +1 -1
  16. package/dist/runtime/agentController.js +10 -0
  17. package/dist/runtime/agentController.js.map +1 -1
  18. package/dist/tools/editTools.d.ts.map +1 -1
  19. package/dist/tools/editTools.js +35 -0
  20. package/dist/tools/editTools.js.map +1 -1
  21. package/dist/ui/PromptController.d.ts +4 -0
  22. package/dist/ui/PromptController.d.ts.map +1 -1
  23. package/dist/ui/PromptController.js +14 -0
  24. package/dist/ui/PromptController.js.map +1 -1
  25. package/dist/ui/UnifiedUIRenderer.d.ts +5 -2
  26. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  27. package/dist/ui/UnifiedUIRenderer.js +25 -1
  28. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  29. package/dist/ui/toolDisplay.d.ts.map +1 -1
  30. package/dist/ui/toolDisplay.js +0 -29
  31. package/dist/ui/toolDisplay.js.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/tools/humanOpsTools.d.ts +0 -3
  34. package/dist/tools/humanOpsTools.d.ts.map +0 -1
  35. package/dist/tools/humanOpsTools.js +0 -86
  36. package/dist/tools/humanOpsTools.js.map +0 -1
  37. package/dist/tools/planningTools.d.ts +0 -81
  38. package/dist/tools/planningTools.d.ts.map +0 -1
  39. package/dist/tools/planningTools.js +0 -370
  40. package/dist/tools/planningTools.js.map +0 -1
  41. package/dist/tools/unifiedOps.d.ts +0 -3
  42. package/dist/tools/unifiedOps.d.ts.map +0 -1
  43. package/dist/tools/unifiedOps.js +0 -57
  44. package/dist/tools/unifiedOps.js.map +0 -1
  45. package/dist/utils/planFormatter.d.ts +0 -34
  46. package/dist/utils/planFormatter.d.ts.map +0 -1
  47. package/dist/utils/planFormatter.js +0 -141
  48. package/dist/utils/planFormatter.js.map +0 -1
@@ -989,7 +989,8 @@ export class UnifiedUIRenderer extends EventEmitter {
989
989
  forceRender();
990
990
  break;
991
991
  case 'v':
992
- // Option+V: Available for future toggle
992
+ this.safeEmit('toggle-hitl');
993
+ forceRender();
993
994
  break;
994
995
  }
995
996
  }
@@ -2240,6 +2241,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2240
2241
  // ------------ Event queue ------------
2241
2242
  /** Track last added event to prevent duplicates */
2242
2243
  lastAddedEventSignature = '';
2244
+ lastToolProgressTime = 0;
2243
2245
  addEvent(type, content) {
2244
2246
  if (!content)
2245
2247
  return;
@@ -2250,6 +2252,13 @@ export class UnifiedUIRenderer extends EventEmitter {
2250
2252
  const normalized = this.normalizeEventType(type);
2251
2253
  if (!normalized)
2252
2254
  return;
2255
+ // Rate-limit tool-progress events to ~12/sec to prevent terminal flicker
2256
+ if (normalized === 'tool-progress') {
2257
+ const now = Date.now();
2258
+ if (now - this.lastToolProgressTime < 83)
2259
+ return;
2260
+ this.lastToolProgressTime = now;
2261
+ }
2253
2262
  // Clear deduplication tracking on new user prompt (new conversation turn)
2254
2263
  if (normalized === 'prompt') {
2255
2264
  this.recentStreamResponseContent.clear();
@@ -2519,6 +2528,8 @@ export class UnifiedUIRenderer extends EventEmitter {
2519
2528
  return 'tool';
2520
2529
  case 'tool-result':
2521
2530
  return 'tool-result';
2531
+ case 'tool-progress':
2532
+ return 'tool-progress';
2522
2533
  case 'build':
2523
2534
  return 'build';
2524
2535
  case 'test':
@@ -2575,6 +2586,15 @@ export class UnifiedUIRenderer extends EventEmitter {
2575
2586
  // Inline result: └─ summary
2576
2587
  return this.formatCompactToolResult(event.content);
2577
2588
  }
2589
+ case 'tool-progress': {
2590
+ // Real-time bash output: dim, indented with vertical bar
2591
+ if (!event.content)
2592
+ return '';
2593
+ const line = event.content.replace(/^stderr:\s*/i, '');
2594
+ const isStderr = event.content.startsWith('stderr:');
2595
+ const colored = isStderr ? chalk.yellow(line) : chalk.gray(line);
2596
+ return ` ${chalk.gray('│')} ${colored}\n`;
2597
+ }
2578
2598
  case 'build':
2579
2599
  return this.wrapBulletText(event.content, { label: 'build', labelColor: theme.warning });
2580
2600
  case 'test':
@@ -5105,6 +5125,9 @@ export class UnifiedUIRenderer extends EventEmitter {
5105
5125
  const thinkingLabel = thinkingLabelRaw.toLowerCase() === 'extended' ? 'deep' : thinkingLabelRaw || 'balanced';
5106
5126
  const thinkingActive = thinkingLabel.length > 0;
5107
5127
  addToggle('Thinking', thinkingActive, this.toggleState.thinkingHotkey, thinkingLabel);
5128
+ const hitlMode = this.toggleState.hitlMode ?? 'on';
5129
+ const hitlActive = hitlMode === 'on';
5130
+ addToggle('HITL', hitlActive, this.toggleState.hitlHotkey, hitlMode);
5108
5131
  const buildLine = (includeHotkeys) => {
5109
5132
  return toggles
5110
5133
  .map(toggle => {
@@ -5145,6 +5168,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5145
5168
  addHotkey('approvals', this.toggleState.criticalApprovalHotkey);
5146
5169
  addHotkey('auto', this.toggleState.autoContinueHotkey);
5147
5170
  addHotkey('thinking', this.toggleState.thinkingHotkey);
5171
+ addHotkey('hitl', this.toggleState.hitlHotkey);
5148
5172
  if (parts.length === 0) {
5149
5173
  return null;
5150
5174
  }