neuro-cli 4.1.3 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/advisor/advisor.d.ts +0 -0
  2. package/dist/advisor/advisor.js +0 -0
  3. package/dist/agents/base.d.ts +0 -0
  4. package/dist/agents/base.js +1 -1
  5. package/dist/agents/orchestrator.d.ts +0 -0
  6. package/dist/agents/orchestrator.js +0 -0
  7. package/dist/agents/team.d.ts +0 -0
  8. package/dist/agents/team.js +0 -0
  9. package/dist/api/models.d.ts +0 -0
  10. package/dist/api/models.js +0 -0
  11. package/dist/api/ollama.d.ts +0 -0
  12. package/dist/api/ollama.js +0 -0
  13. package/dist/api/openrouter.d.ts +0 -0
  14. package/dist/api/openrouter.js +0 -0
  15. package/dist/commands/commands.d.ts +0 -0
  16. package/dist/commands/commands.js +0 -0
  17. package/dist/config/config.d.ts +0 -0
  18. package/dist/config/config.js +9 -9
  19. package/dist/context/compaction.d.ts +0 -0
  20. package/dist/context/compaction.js +0 -0
  21. package/dist/context/custom-agents.d.ts +0 -0
  22. package/dist/context/custom-agents.js +0 -0
  23. package/dist/context/custom-tools.d.ts +0 -0
  24. package/dist/context/custom-tools.js +0 -0
  25. package/dist/context/git-checkpoint.d.ts +0 -0
  26. package/dist/context/git-checkpoint.js +0 -0
  27. package/dist/context/neuro-md.d.ts +0 -0
  28. package/dist/context/neuro-md.js +0 -0
  29. package/dist/context/neuroignore.d.ts +0 -0
  30. package/dist/context/neuroignore.js +0 -0
  31. package/dist/context/repo-map.d.ts +0 -0
  32. package/dist/context/repo-map.js +0 -0
  33. package/dist/context/skill-standard.d.ts +0 -0
  34. package/dist/context/skill-standard.js +0 -0
  35. package/dist/context/skill-system.d.ts +0 -0
  36. package/dist/context/skill-system.js +0 -0
  37. package/dist/context/tree-sitter.d.ts +0 -0
  38. package/dist/context/tree-sitter.js +0 -0
  39. package/dist/core/acp.d.ts +0 -0
  40. package/dist/core/acp.js +0 -0
  41. package/dist/core/api-server.d.ts +0 -0
  42. package/dist/core/api-server.js +0 -0
  43. package/dist/core/approval.d.ts +4 -0
  44. package/dist/core/approval.js +74 -46
  45. package/dist/core/auto-compact.d.ts +0 -0
  46. package/dist/core/auto-compact.js +0 -0
  47. package/dist/core/auto-mode.d.ts +0 -0
  48. package/dist/core/auto-mode.js +0 -0
  49. package/dist/core/background-session.d.ts +0 -0
  50. package/dist/core/background-session.js +0 -0
  51. package/dist/core/cicd.d.ts +0 -0
  52. package/dist/core/cicd.js +0 -0
  53. package/dist/core/cloud-sync.d.ts +0 -0
  54. package/dist/core/cloud-sync.js +0 -0
  55. package/dist/core/code-review.d.ts +0 -0
  56. package/dist/core/code-review.js +0 -0
  57. package/dist/core/completion.d.ts +0 -0
  58. package/dist/core/completion.js +0 -0
  59. package/dist/core/context.d.ts +0 -0
  60. package/dist/core/context.js +0 -0
  61. package/dist/core/diff-preview.d.ts +0 -0
  62. package/dist/core/diff-preview.js +8 -16
  63. package/dist/core/doom-loop.d.ts +0 -0
  64. package/dist/core/doom-loop.js +0 -0
  65. package/dist/core/engine.d.ts +4 -0
  66. package/dist/core/engine.js +45 -13
  67. package/dist/core/extended-thinking.d.ts +0 -0
  68. package/dist/core/extended-thinking.js +0 -0
  69. package/dist/core/fallback.d.ts +0 -0
  70. package/dist/core/fallback.js +0 -0
  71. package/dist/core/git-worktree.d.ts +0 -0
  72. package/dist/core/git-worktree.js +0 -0
  73. package/dist/core/headless.d.ts +0 -0
  74. package/dist/core/headless.js +0 -0
  75. package/dist/core/i18n.d.ts +0 -0
  76. package/dist/core/i18n.js +0 -0
  77. package/dist/core/linting.d.ts +0 -0
  78. package/dist/core/linting.js +0 -0
  79. package/dist/core/model-router.d.ts +0 -0
  80. package/dist/core/model-router.js +3 -3
  81. package/dist/core/multi-model.d.ts +0 -0
  82. package/dist/core/multi-model.js +0 -0
  83. package/dist/core/multi-session.d.ts +0 -0
  84. package/dist/core/multi-session.js +0 -0
  85. package/dist/core/multimodal.d.ts +0 -0
  86. package/dist/core/multimodal.js +0 -0
  87. package/dist/core/observability.d.ts +0 -0
  88. package/dist/core/observability.js +0 -0
  89. package/dist/core/os-sandbox.d.ts +0 -0
  90. package/dist/core/os-sandbox.js +0 -0
  91. package/dist/core/outcome-grading.d.ts +0 -0
  92. package/dist/core/outcome-grading.js +0 -0
  93. package/dist/core/output-styles.d.ts +0 -0
  94. package/dist/core/output-styles.js +0 -0
  95. package/dist/core/parallel-agents.d.ts +0 -0
  96. package/dist/core/parallel-agents.js +0 -0
  97. package/dist/core/plugin-bundle.d.ts +0 -0
  98. package/dist/core/plugin-bundle.js +0 -0
  99. package/dist/core/plugin-sdk.d.ts +0 -0
  100. package/dist/core/plugin-sdk.js +0 -0
  101. package/dist/core/prompt-cache.d.ts +0 -0
  102. package/dist/core/prompt-cache.js +0 -0
  103. package/dist/core/sandbox.d.ts +0 -0
  104. package/dist/core/sandbox.js +0 -0
  105. package/dist/core/scheduled-tasks.d.ts +0 -0
  106. package/dist/core/scheduled-tasks.js +0 -0
  107. package/dist/core/security-scanner.d.ts +0 -0
  108. package/dist/core/security-scanner.js +0 -0
  109. package/dist/core/session.d.ts +0 -0
  110. package/dist/core/session.js +0 -0
  111. package/dist/core/shell-completion.d.ts +0 -0
  112. package/dist/core/shell-completion.js +0 -0
  113. package/dist/core/smart-monitor.d.ts +0 -0
  114. package/dist/core/smart-monitor.js +0 -0
  115. package/dist/core/spec-driven.d.ts +0 -0
  116. package/dist/core/spec-driven.js +0 -0
  117. package/dist/core/spending-warnings.d.ts +0 -0
  118. package/dist/core/spending-warnings.js +0 -0
  119. package/dist/core/sub-agent.d.ts +0 -0
  120. package/dist/core/sub-agent.js +0 -0
  121. package/dist/core/telemetry.d.ts +0 -0
  122. package/dist/core/telemetry.js +0 -0
  123. package/dist/core/terminal-ux.d.ts +0 -0
  124. package/dist/core/terminal-ux.js +0 -0
  125. package/dist/core/testing.d.ts +0 -0
  126. package/dist/core/testing.js +0 -0
  127. package/dist/core/types.d.ts +1 -1
  128. package/dist/core/types.js +0 -0
  129. package/dist/core/undo-redo.d.ts +0 -0
  130. package/dist/core/undo-redo.js +0 -0
  131. package/dist/core/updater.d.ts +0 -0
  132. package/dist/core/updater.js +0 -0
  133. package/dist/core/vim-mode.d.ts +0 -0
  134. package/dist/core/vim-mode.js +0 -0
  135. package/dist/core/voice.d.ts +0 -0
  136. package/dist/core/voice.js +0 -0
  137. package/dist/core/web-dashboard.d.ts +0 -0
  138. package/dist/core/web-dashboard.js +0 -0
  139. package/dist/hooks/hooks.d.ts +0 -0
  140. package/dist/hooks/hooks.js +0 -0
  141. package/dist/hooks/llm-evaluator.d.ts +0 -0
  142. package/dist/hooks/llm-evaluator.js +0 -0
  143. package/dist/index.d.ts +0 -0
  144. package/dist/index.js +11 -9
  145. package/dist/lsp/lsp-manager.d.ts +0 -0
  146. package/dist/lsp/lsp-manager.js +0 -0
  147. package/dist/mcp/client.d.ts +0 -0
  148. package/dist/mcp/client.js +0 -0
  149. package/dist/mcp/mcp-apps.d.ts +0 -0
  150. package/dist/mcp/mcp-apps.js +0 -0
  151. package/dist/tools/bash.d.ts +0 -0
  152. package/dist/tools/bash.js +0 -0
  153. package/dist/tools/browser.d.ts +0 -0
  154. package/dist/tools/browser.js +0 -0
  155. package/dist/tools/extended.d.ts +0 -0
  156. package/dist/tools/extended.js +0 -0
  157. package/dist/tools/file.d.ts +0 -0
  158. package/dist/tools/file.js +0 -0
  159. package/dist/tools/github.d.ts +0 -0
  160. package/dist/tools/github.js +0 -0
  161. package/dist/tools/index.d.ts +0 -0
  162. package/dist/tools/index.js +0 -0
  163. package/dist/tools/memory.d.ts +0 -0
  164. package/dist/tools/memory.js +0 -0
  165. package/dist/tools/registry.d.ts +0 -0
  166. package/dist/tools/registry.js +0 -0
  167. package/dist/tools/web.d.ts +0 -0
  168. package/dist/tools/web.js +0 -0
  169. package/dist/ui/renderer.d.ts +10 -63
  170. package/dist/ui/renderer.js +170 -155
  171. package/dist/ui/theme.d.ts +5 -0
  172. package/dist/ui/theme.js +99 -45
  173. package/dist/utils/crosspath.d.ts +0 -0
  174. package/dist/utils/crosspath.js +0 -0
  175. package/package.json +1 -1
@@ -72,7 +72,7 @@ const COMPLEXITY_SIGNALS = {
72
72
  /\b(hello|hi|thanks|yes|no|ok|sure|done|correct|right|please)\b/i,
73
73
  ],
74
74
  lengthThreshold: 80,
75
- maxSteps: 1,
75
+ maxSteps: 5,
76
76
  },
77
77
  moderate: {
78
78
  patterns: [
@@ -83,7 +83,7 @@ const COMPLEXITY_SIGNALS = {
83
83
  /\b(refactor|clean|simplify|optimize|restructure)\b/i,
84
84
  ],
85
85
  lengthThreshold: 300,
86
- maxSteps: 3,
86
+ maxSteps: 15,
87
87
  },
88
88
  complex: {
89
89
  patterns: [
@@ -97,7 +97,7 @@ const COMPLEXITY_SIGNALS = {
97
97
  /\b(security\s+(audit|review|hardening)|performance\s+(optim|tuning|profiling)|scalab(ility|le))\b/i,
98
98
  ],
99
99
  lengthThreshold: 500,
100
- maxSteps: 6,
100
+ maxSteps: 30,
101
101
  },
102
102
  };
103
103
  // ---------------------------------------------------------------------------
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -78,7 +78,7 @@ export interface NeuroConfig {
78
78
  maxHistory: number;
79
79
  };
80
80
  ui: {
81
- theme: 'dark' | 'light' | 'dracula' | 'nord';
81
+ theme: 'claude' | 'dark' | 'light' | 'dracula' | 'nord';
82
82
  showTokenCount: boolean;
83
83
  showCost: boolean;
84
84
  streaming: boolean;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/index.d.ts CHANGED
File without changes
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ import { HeadlessMode } from './core/headless.js';
16
16
  import { ShellCompletionGenerator } from './core/shell-completion.js';
17
17
  import chalk from 'chalk';
18
18
  import { AutoUpdater } from './core/updater.js';
19
- const VERSION = '4.1.3';
19
+ const VERSION = '4.3.0';
20
20
  // ---- Global Error Handlers (prevent crashes) ----
21
21
  process.on('unhandledRejection', (reason) => {
22
22
  console.error(chalk.red('\n⚠️ Unhandled promise rejection:'), reason);
@@ -420,6 +420,7 @@ async function startInteractive(options) {
420
420
  const updater = new AutoUpdater({ currentVersion: VERSION });
421
421
  const updateCheck = updater.checkOnStartup(); // Fire and forget — don't block startup
422
422
  // Print banner
423
+ engine.ui.setVersion(VERSION);
423
424
  engine.ui.banner();
424
425
  const theme = engine.ui.theme;
425
426
  const permMode = engine.approval.getMode();
@@ -444,7 +445,7 @@ async function startInteractive(options) {
444
445
  const rl = createInterface({
445
446
  input: process.stdin,
446
447
  output: process.stdout,
447
- prompt: chalk.cyan(' '),
448
+ prompt: chalk.hex('#d97706')('> '),
448
449
  historySize: 100,
449
450
  completer: completionEngine.complete,
450
451
  });
@@ -462,10 +463,6 @@ async function startInteractive(options) {
462
463
  rl.prompt();
463
464
  return;
464
465
  }
465
- // Prevent input while processing (approval prompt may be active)
466
- if (isProcessing) {
467
- return;
468
- }
469
466
  // Add to history
470
467
  completionEngine.addHistory(input);
471
468
  // Handle slash commands
@@ -536,7 +533,7 @@ async function startInteractive(options) {
536
533
  engine.ui.success(`Theme: ${args[0]}`);
537
534
  }
538
535
  else {
539
- console.log('Available themes: dracula, dark, nord, light');
536
+ console.log('Available themes: claude, dracula, dark, nord, light');
540
537
  }
541
538
  break;
542
539
  case 'resume':
@@ -937,7 +934,7 @@ async function startInteractive(options) {
937
934
  }
938
935
  break;
939
936
  case 'doctor':
940
- console.log(chalk.bold('\nNeuroCLI v4.1.2 Health Check:\n'));
937
+ console.log(chalk.bold('\nNeuroCLI v' + VERSION + ' Health Check:\n'));
941
938
  console.log(` API Key: ${config.apiKey ? chalk.green('configured') : chalk.red('MISSING')}`);
942
939
  console.log(` Default Model: ${chalk.cyan(config.defaultModel)} ${MODELS[config.defaultModel] ? chalk.green('valid') : chalk.red('INVALID')}`);
943
940
  console.log(` MCP Servers: ${chalk.cyan(String(engine.mcpClient.listServers().length))}`);
@@ -1139,6 +1136,11 @@ async function startInteractive(options) {
1139
1136
  return;
1140
1137
  }
1141
1138
  // Process message with the engine
1139
+ if (isProcessing) {
1140
+ engine.ui.warning('Still processing previous request. Please wait...');
1141
+ rl.prompt();
1142
+ return;
1143
+ }
1142
1144
  try {
1143
1145
  isProcessing = true;
1144
1146
  await engine.processMessage(input, currentMode, currentAgent);
@@ -1177,7 +1179,7 @@ async function startInteractive(options) {
1177
1179
  }
1178
1180
  function printHelp(engine) {
1179
1181
  const t = engine.ui.theme;
1180
- console.log(`\n ${t.bold('NeuroCLI v4.1.2 Commands:')}\n`);
1182
+ console.log(`\n ${t.bold(`NeuroCLI v${VERSION} Commands:`)}\n`);
1181
1183
  console.log(` ${t.tool('/help')} Show this help message`);
1182
1184
  console.log(` ${t.tool('/model [id]')} Switch or list models`);
1183
1185
  console.log(` ${t.tool('/agent [name]')} Switch or list agents`);
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/tools/web.js CHANGED
File without changes
@@ -4,94 +4,41 @@ export declare class TerminalUI {
4
4
  theme: Theme;
5
5
  private showTokens;
6
6
  private showCost;
7
+ private isStreaming;
8
+ version: string;
7
9
  constructor(themeName?: string, showTokens?: boolean, showCost?: boolean);
8
- /**
9
- * Print the banner / splash screen
10
- */
10
+ setVersion(v: string): void;
11
11
  banner(): void;
12
- /**
13
- * Print user message
14
- */
15
12
  userMessage(content: string): void;
16
- /**
17
- * Print assistant message with markdown-like formatting
18
- */
19
13
  assistantMessage(content: string): void;
20
- /**
21
- * Print streaming token
22
- */
23
14
  streamingToken(token: string): void;
24
- /**
25
- * Start streaming block
26
- */
27
15
  startStreaming(): void;
28
- /**
29
- * End streaming block
30
- */
31
16
  endStreaming(): void;
32
- /**
33
- * Print thinking indicator
34
- */
35
17
  thinking(message: string): void;
36
- /**
37
- * Print tool call
38
- */
39
18
  toolCall(name: string, args: Record<string, unknown>): void;
40
- /**
41
- * Print tool result
42
- */
19
+ private formatToolArgs;
43
20
  toolResult(name: string, result: string, isError: boolean): void;
44
- /**
45
- * Print approval request
46
- */
47
21
  approvalRequest(toolName: string, args: Record<string, unknown>, risk: 'low' | 'medium' | 'high'): boolean;
48
- /**
49
- * Print token usage
50
- */
51
22
  tokenUsage(usage: TokenUsage, modelId: string): void;
52
- /**
53
- * Print session stats
54
- */
55
23
  sessionStats(totalInput: number, totalOutput: number, totalCost: number): void;
56
- /**
57
- * Print agent activity
58
- */
59
24
  agentActivity(agentName: string, status: 'starting' | 'working' | 'done' | 'error'): void;
60
- /**
61
- * Print error
62
- */
63
25
  error(message: string): void;
64
- /**
65
- * Print info
66
- */
67
26
  info(message: string): void;
68
- /**
69
- * Print success
70
- */
71
27
  success(message: string): void;
72
- /**
73
- * Print warning
74
- */
75
28
  warning(message: string): void;
76
- /**
77
- * Print separator
78
- */
79
29
  separator(): void;
80
- /**
81
- * Print code block
82
- */
83
30
  codeBlock(code: string, language?: string): void;
84
- /**
85
- * Print model selection menu
86
- */
87
31
  modelList(selectedModel: string): void;
88
- /**
89
- * Print agent list
90
- */
91
32
  agentList(agents: Array<{
92
33
  name: string;
93
34
  description: string;
94
35
  model: string;
95
36
  }>): void;
37
+ diffAdd(line: string): void;
38
+ diffRemove(line: string): void;
39
+ diffContext(line: string): void;
40
+ diffHeader(file: string): void;
41
+ private truncate;
42
+ private byteSize;
96
43
  }
97
44
  //# sourceMappingURL=renderer.d.ts.map