neuro-cli 4.2.0 → 5.0.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/dist/advisor/advisor.d.ts +0 -0
- package/dist/advisor/advisor.js +0 -0
- package/dist/agents/base.d.ts +21 -2
- package/dist/agents/base.js +174 -31
- package/dist/agents/orchestrator.d.ts +3 -1
- package/dist/agents/orchestrator.js +32 -16
- package/dist/agents/team.d.ts +0 -0
- package/dist/agents/team.js +0 -0
- package/dist/api/models.d.ts +0 -0
- package/dist/api/models.js +0 -0
- package/dist/api/ollama.d.ts +0 -0
- package/dist/api/ollama.js +0 -0
- package/dist/api/openrouter.d.ts +0 -0
- package/dist/api/openrouter.js +0 -0
- package/dist/commands/commands.d.ts +0 -0
- package/dist/commands/commands.js +0 -0
- package/dist/config/config.d.ts +0 -0
- package/dist/config/config.js +18 -18
- package/dist/context/compaction.d.ts +0 -0
- package/dist/context/compaction.js +0 -0
- package/dist/context/custom-agents.d.ts +0 -0
- package/dist/context/custom-agents.js +0 -0
- package/dist/context/custom-tools.d.ts +0 -0
- package/dist/context/custom-tools.js +0 -0
- package/dist/context/git-checkpoint.d.ts +0 -0
- package/dist/context/git-checkpoint.js +0 -0
- package/dist/context/neuro-md.d.ts +0 -0
- package/dist/context/neuro-md.js +0 -0
- package/dist/context/neuroignore.d.ts +0 -0
- package/dist/context/neuroignore.js +0 -0
- package/dist/context/repo-map.d.ts +0 -0
- package/dist/context/repo-map.js +0 -0
- package/dist/context/skill-standard.d.ts +0 -0
- package/dist/context/skill-standard.js +0 -0
- package/dist/context/skill-system.d.ts +0 -0
- package/dist/context/skill-system.js +0 -0
- package/dist/context/tree-sitter.d.ts +0 -0
- package/dist/context/tree-sitter.js +0 -0
- package/dist/core/acp.d.ts +0 -0
- package/dist/core/acp.js +0 -0
- package/dist/core/api-server.d.ts +0 -0
- package/dist/core/api-server.js +0 -0
- package/dist/core/approval.d.ts +4 -0
- package/dist/core/approval.js +46 -27
- package/dist/core/auto-compact.d.ts +0 -0
- package/dist/core/auto-compact.js +0 -0
- package/dist/core/auto-mode.d.ts +0 -0
- package/dist/core/auto-mode.js +0 -0
- package/dist/core/background-session.d.ts +0 -0
- package/dist/core/background-session.js +0 -0
- package/dist/core/cicd.d.ts +0 -0
- package/dist/core/cicd.js +0 -0
- package/dist/core/cloud-sync.d.ts +0 -0
- package/dist/core/cloud-sync.js +0 -0
- package/dist/core/code-review.d.ts +0 -0
- package/dist/core/code-review.js +0 -0
- package/dist/core/completion.d.ts +0 -0
- package/dist/core/completion.js +0 -0
- package/dist/core/context.d.ts +0 -0
- package/dist/core/context.js +0 -0
- package/dist/core/diff-preview.d.ts +0 -0
- package/dist/core/diff-preview.js +8 -16
- package/dist/core/doom-loop.d.ts +0 -0
- package/dist/core/doom-loop.js +0 -0
- package/dist/core/engine.d.ts +6 -3
- package/dist/core/engine.js +58 -56
- package/dist/core/extended-thinking.d.ts +0 -0
- package/dist/core/extended-thinking.js +0 -0
- package/dist/core/fallback.d.ts +0 -0
- package/dist/core/fallback.js +0 -0
- package/dist/core/git-worktree.d.ts +0 -0
- package/dist/core/git-worktree.js +0 -0
- package/dist/core/headless.d.ts +0 -0
- package/dist/core/headless.js +0 -0
- package/dist/core/i18n.d.ts +0 -0
- package/dist/core/i18n.js +0 -0
- package/dist/core/linting.d.ts +0 -0
- package/dist/core/linting.js +0 -0
- package/dist/core/model-router.d.ts +0 -0
- package/dist/core/model-router.js +3 -3
- package/dist/core/multi-model.d.ts +0 -0
- package/dist/core/multi-model.js +0 -0
- package/dist/core/multi-session.d.ts +0 -0
- package/dist/core/multi-session.js +0 -0
- package/dist/core/multimodal.d.ts +0 -0
- package/dist/core/multimodal.js +0 -0
- package/dist/core/observability.d.ts +0 -0
- package/dist/core/observability.js +0 -0
- package/dist/core/os-sandbox.d.ts +0 -0
- package/dist/core/os-sandbox.js +0 -0
- package/dist/core/outcome-grading.d.ts +0 -0
- package/dist/core/outcome-grading.js +0 -0
- package/dist/core/output-styles.d.ts +0 -0
- package/dist/core/output-styles.js +0 -0
- package/dist/core/parallel-agents.d.ts +0 -0
- package/dist/core/parallel-agents.js +0 -0
- package/dist/core/plugin-bundle.d.ts +0 -0
- package/dist/core/plugin-bundle.js +0 -0
- package/dist/core/plugin-sdk.d.ts +0 -0
- package/dist/core/plugin-sdk.js +0 -0
- package/dist/core/prompt-cache.d.ts +0 -0
- package/dist/core/prompt-cache.js +0 -0
- package/dist/core/sandbox.d.ts +0 -0
- package/dist/core/sandbox.js +0 -0
- package/dist/core/scheduled-tasks.d.ts +0 -0
- package/dist/core/scheduled-tasks.js +0 -0
- package/dist/core/security-scanner.d.ts +0 -0
- package/dist/core/security-scanner.js +0 -0
- package/dist/core/session.d.ts +0 -0
- package/dist/core/session.js +0 -0
- package/dist/core/shell-completion.d.ts +0 -0
- package/dist/core/shell-completion.js +0 -0
- package/dist/core/smart-monitor.d.ts +0 -0
- package/dist/core/smart-monitor.js +0 -0
- package/dist/core/spec-driven.d.ts +0 -0
- package/dist/core/spec-driven.js +0 -0
- package/dist/core/spending-warnings.d.ts +0 -0
- package/dist/core/spending-warnings.js +0 -0
- package/dist/core/sub-agent.d.ts +0 -0
- package/dist/core/sub-agent.js +0 -0
- package/dist/core/telemetry.d.ts +0 -0
- package/dist/core/telemetry.js +0 -0
- package/dist/core/terminal-ux.d.ts +0 -0
- package/dist/core/terminal-ux.js +0 -0
- package/dist/core/testing.d.ts +0 -0
- package/dist/core/testing.js +0 -0
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.js +0 -0
- package/dist/core/undo-redo.d.ts +0 -0
- package/dist/core/undo-redo.js +0 -0
- package/dist/core/updater.d.ts +0 -0
- package/dist/core/updater.js +0 -0
- package/dist/core/vim-mode.d.ts +0 -0
- package/dist/core/vim-mode.js +0 -0
- package/dist/core/voice.d.ts +0 -0
- package/dist/core/voice.js +0 -0
- package/dist/core/web-dashboard.d.ts +0 -0
- package/dist/core/web-dashboard.js +0 -0
- package/dist/hooks/hooks.d.ts +0 -0
- package/dist/hooks/hooks.js +0 -0
- package/dist/hooks/llm-evaluator.d.ts +0 -0
- package/dist/hooks/llm-evaluator.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +5 -4
- package/dist/lsp/lsp-manager.d.ts +0 -0
- package/dist/lsp/lsp-manager.js +0 -0
- package/dist/mcp/client.d.ts +0 -0
- package/dist/mcp/client.js +0 -0
- package/dist/mcp/mcp-apps.d.ts +0 -0
- package/dist/mcp/mcp-apps.js +0 -0
- package/dist/tools/bash.d.ts +0 -0
- package/dist/tools/bash.js +0 -0
- package/dist/tools/browser.d.ts +0 -0
- package/dist/tools/browser.js +0 -0
- package/dist/tools/extended.d.ts +0 -0
- package/dist/tools/extended.js +0 -0
- package/dist/tools/file.d.ts +0 -0
- package/dist/tools/file.js +0 -0
- package/dist/tools/github.d.ts +0 -0
- package/dist/tools/github.js +0 -0
- package/dist/tools/index.d.ts +0 -0
- package/dist/tools/index.js +0 -0
- package/dist/tools/memory.d.ts +0 -0
- package/dist/tools/memory.js +0 -0
- package/dist/tools/registry.d.ts +0 -0
- package/dist/tools/registry.js +0 -0
- package/dist/tools/web.d.ts +0 -0
- package/dist/tools/web.js +0 -0
- package/dist/ui/renderer.d.ts +11 -64
- package/dist/ui/renderer.js +172 -156
- package/dist/ui/theme.d.ts +5 -0
- package/dist/ui/theme.js +99 -45
- package/dist/utils/crosspath.d.ts +0 -0
- package/dist/utils/crosspath.js +0 -0
- package/package.json +1 -1
package/dist/core/engine.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// ============================================================
|
|
2
|
-
// NeuroCLI - NeuroEngine
|
|
2
|
+
// NeuroCLI - NeuroEngine v5.0 (Claude Code-style Agentic Loop)
|
|
3
3
|
// The main engine that ties everything together
|
|
4
4
|
// Now with: Sandbox, Plugin SDK, Enhanced MCP, Enhanced Approval,
|
|
5
5
|
// Model Router, Prompt Cache, Undo/Redo, Output Styles,
|
|
@@ -483,7 +483,7 @@ export class NeuroEngine {
|
|
|
483
483
|
this.gitWorktree = new GitWorktreeManager(process.cwd());
|
|
484
484
|
// Auto-Updater
|
|
485
485
|
this.updater = new AutoUpdater({
|
|
486
|
-
currentVersion: '
|
|
486
|
+
currentVersion: '5.0.0',
|
|
487
487
|
autoCheck: true,
|
|
488
488
|
autoUpdate: false,
|
|
489
489
|
});
|
|
@@ -523,6 +523,7 @@ Key responsibilities:
|
|
|
523
523
|
- Manage dependencies between sub-tasks
|
|
524
524
|
- Synthesize results from multiple agents
|
|
525
525
|
- Handle errors and re-plan if needed
|
|
526
|
+
- IMPORTANT: Keep working until the ENTIRE task is COMPLETE
|
|
526
527
|
|
|
527
528
|
Always consider the strengths of each agent when delegating:
|
|
528
529
|
- Planner: For task decomposition and architecture decisions
|
|
@@ -537,7 +538,7 @@ Always consider the strengths of each agent when delegating:
|
|
|
537
538
|
temperature: 0.7,
|
|
538
539
|
maxTokens: 4096,
|
|
539
540
|
tools: [],
|
|
540
|
-
maxIterations:
|
|
541
|
+
maxIterations: 0, // 0 = no limit, run until done
|
|
541
542
|
};
|
|
542
543
|
this.orchestrator = new Orchestrator(orchestratorConfig, this.client, this.registry, process.cwd(), this.sessionManager.getCurrent()?.id || 'default');
|
|
543
544
|
// Register all agents with orchestrator
|
|
@@ -634,7 +635,9 @@ Always consider the strengths of each agent when delegating:
|
|
|
634
635
|
}
|
|
635
636
|
}
|
|
636
637
|
/**
|
|
637
|
-
* Process a user message
|
|
638
|
+
* Process a user message — Claude Code style
|
|
639
|
+
* Every task is sent to the best agent which runs until completion.
|
|
640
|
+
* No arbitrary early termination — the agent keeps working until done.
|
|
638
641
|
*/
|
|
639
642
|
async processMessage(message, mode = 'auto', targetAgent) {
|
|
640
643
|
// Check spending limit via spending monitor
|
|
@@ -687,7 +690,7 @@ Always consider the strengths of each agent when delegating:
|
|
|
687
690
|
const skillAdditions = this.skillSystem.getSystemPromptAdditions();
|
|
688
691
|
const styleAddition = this.styleManager.getSystemPromptAddition();
|
|
689
692
|
const thinkingAddition = this.extendedThinking.getSystemPromptAddition();
|
|
690
|
-
// Build UI callbacks
|
|
693
|
+
// Build UI callbacks — Claude Code style
|
|
691
694
|
const callbacks = {
|
|
692
695
|
onThinking: (thinking) => this.ui.thinking(thinking),
|
|
693
696
|
onToken: (token) => this.ui.streamingToken(token),
|
|
@@ -702,28 +705,32 @@ Always consider the strengths of each agent when delegating:
|
|
|
702
705
|
return;
|
|
703
706
|
}
|
|
704
707
|
this.ui.toolCall(name, args);
|
|
705
|
-
// Record in undo/redo for file modification tools
|
|
706
|
-
if (['write_file', 'edit_file', 'apply_diff', 'delete_file'].includes(name)) {
|
|
707
|
-
// The undo/redo push will happen in the tool execution result handler
|
|
708
|
-
}
|
|
709
708
|
},
|
|
710
709
|
onToolResult: (name, result, isError) => this.ui.toolResult(name, result, isError),
|
|
711
710
|
onApprovalNeeded: async (name, args, risk) => {
|
|
712
711
|
return this.handleApproval(name, args, risk);
|
|
713
712
|
},
|
|
714
|
-
onIteration: (i,
|
|
715
|
-
|
|
713
|
+
onIteration: (i, _max) => {
|
|
714
|
+
// Claude Code style: show iteration count without a ceiling
|
|
715
|
+
this.ui.agentActivity(this.config.defaultModel, 'working', `step ${i}`);
|
|
716
|
+
},
|
|
717
|
+
onCycleStart: (cycle, summary) => {
|
|
718
|
+
this.ui.agentActivity(this.config.defaultModel, 'working', `cycle ${cycle}: ${summary}`);
|
|
719
|
+
},
|
|
720
|
+
onTaskComplete: (reason) => {
|
|
721
|
+
this.ui.agentActivity(this.config.defaultModel, 'done', reason);
|
|
716
722
|
},
|
|
717
723
|
};
|
|
718
724
|
let result;
|
|
719
725
|
const activeModel = routeDecision?.model || this.config.defaultModel;
|
|
726
|
+
// === Claude Code-style routing: always send to the best agent and let it run until done ===
|
|
720
727
|
if (mode === 'direct' && targetAgent) {
|
|
728
|
+
// Direct mode: use specified agent
|
|
721
729
|
const agent = this.agents.get(targetAgent);
|
|
722
730
|
if (!agent) {
|
|
723
731
|
this.ui.error(`Agent not found: ${targetAgent}`);
|
|
724
732
|
return { content: '', usage: { inputTokens: 0, outputTokens: 0, cost: 0 } };
|
|
725
733
|
}
|
|
726
|
-
// Override agent model if defaultModel differs from agent's model
|
|
727
734
|
const originalModel = agent.configModel;
|
|
728
735
|
if (this.config.defaultModel !== originalModel) {
|
|
729
736
|
agent.configModel = this.config.defaultModel;
|
|
@@ -735,10 +742,10 @@ Always consider the strengths of each agent when delegating:
|
|
|
735
742
|
finally {
|
|
736
743
|
this.ui.endStreaming();
|
|
737
744
|
}
|
|
738
|
-
// Restore original model
|
|
739
745
|
agent.configModel = originalModel;
|
|
740
746
|
}
|
|
741
747
|
else if (mode === 'agent') {
|
|
748
|
+
// Orchestration mode: multi-agent with re-planning
|
|
742
749
|
const orchestrateResult = await this.orchestrator.orchestrate(message, callbacks);
|
|
743
750
|
result = {
|
|
744
751
|
content: orchestrateResult.content,
|
|
@@ -749,58 +756,52 @@ Always consider the strengths of each agent when delegating:
|
|
|
749
756
|
};
|
|
750
757
|
}
|
|
751
758
|
else {
|
|
752
|
-
|
|
759
|
+
// Auto mode — Claude Code style: route to best agent, let it run until done
|
|
753
760
|
const category = routeDecision?.category || this.modelRouter.getCategory(message);
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
761
|
+
const targetAgentName = this.selectAgentForCategory(category);
|
|
762
|
+
const agent = this.agents.get(targetAgentName);
|
|
763
|
+
if (agent) {
|
|
764
|
+
// Override agent model with routed model if different
|
|
765
|
+
const originalModel = agent.configModel;
|
|
766
|
+
if (activeModel !== originalModel) {
|
|
767
|
+
agent.configModel = activeModel;
|
|
768
|
+
}
|
|
769
|
+
this.ui.info(`Using ${targetAgentName} agent (${category} task) — will run until complete`);
|
|
770
|
+
this.ui.startStreaming();
|
|
771
|
+
try {
|
|
772
|
+
result = await agent.run(message, callbacks);
|
|
773
|
+
}
|
|
774
|
+
finally {
|
|
775
|
+
this.ui.endStreaming();
|
|
776
|
+
}
|
|
777
|
+
// Restore original model
|
|
778
|
+
agent.configModel = originalModel;
|
|
779
|
+
}
|
|
780
|
+
else {
|
|
781
|
+
// Fallback: try Coder, then orchestrator
|
|
782
|
+
const coderAgent = this.agents.get('Coder');
|
|
783
|
+
if (coderAgent) {
|
|
784
|
+
this.ui.info(`Using Coder agent — will run until complete`);
|
|
760
785
|
this.ui.startStreaming();
|
|
761
786
|
try {
|
|
762
|
-
result = await
|
|
787
|
+
result = await coderAgent.run(message, callbacks);
|
|
763
788
|
}
|
|
764
789
|
finally {
|
|
765
790
|
this.ui.endStreaming();
|
|
766
791
|
}
|
|
767
792
|
}
|
|
768
793
|
else {
|
|
769
|
-
|
|
770
|
-
const
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
}
|
|
779
|
-
}
|
|
780
|
-
else {
|
|
781
|
-
this.ui.warning('No agents initialized, using orchestration mode');
|
|
782
|
-
const orchestrateResult = await this.orchestrator.orchestrate(message, callbacks);
|
|
783
|
-
result = {
|
|
784
|
-
content: orchestrateResult.content,
|
|
785
|
-
toolCallsMade: 0,
|
|
786
|
-
iterations: orchestrateResult.execution.iterations,
|
|
787
|
-
usage: orchestrateResult.totalUsage,
|
|
788
|
-
execution: orchestrateResult.execution,
|
|
789
|
-
};
|
|
790
|
-
}
|
|
794
|
+
this.ui.warning('No agents initialized, using orchestration mode');
|
|
795
|
+
const orchestrateResult = await this.orchestrator.orchestrate(message, callbacks);
|
|
796
|
+
result = {
|
|
797
|
+
content: orchestrateResult.content,
|
|
798
|
+
toolCallsMade: 0,
|
|
799
|
+
iterations: orchestrateResult.execution.iterations,
|
|
800
|
+
usage: orchestrateResult.totalUsage,
|
|
801
|
+
execution: orchestrateResult.execution,
|
|
802
|
+
};
|
|
791
803
|
}
|
|
792
804
|
}
|
|
793
|
-
else {
|
|
794
|
-
this.ui.thinking('Analyzing task complexity... Using multi-agent orchestration');
|
|
795
|
-
const orchestrateResult = await this.orchestrator.orchestrate(message, callbacks);
|
|
796
|
-
result = {
|
|
797
|
-
content: orchestrateResult.content,
|
|
798
|
-
toolCallsMade: 0,
|
|
799
|
-
iterations: orchestrateResult.execution.iterations,
|
|
800
|
-
usage: orchestrateResult.totalUsage,
|
|
801
|
-
execution: orchestrateResult.execution,
|
|
802
|
-
};
|
|
803
|
-
}
|
|
804
805
|
}
|
|
805
806
|
// Parse extended thinking blocks from response
|
|
806
807
|
const thinkingResult = this.extendedThinking.parseResponse(result.content);
|
|
@@ -914,8 +915,9 @@ Always consider the strengths of each agent when delegating:
|
|
|
914
915
|
return result.approved;
|
|
915
916
|
}
|
|
916
917
|
/**
|
|
917
|
-
* Assess task complexity
|
|
918
|
-
*
|
|
918
|
+
* Assess task complexity — delegates to ModelRouter
|
|
919
|
+
* Note: complexity no longer determines execution mode (all tasks run until complete)
|
|
920
|
+
* but is still used for model selection
|
|
919
921
|
*/
|
|
920
922
|
assessComplexity(message) {
|
|
921
923
|
const decision = this.modelRouter.route(message);
|
|
File without changes
|
|
File without changes
|
package/dist/core/fallback.d.ts
CHANGED
|
File without changes
|
package/dist/core/fallback.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/headless.d.ts
CHANGED
|
File without changes
|
package/dist/core/headless.js
CHANGED
|
File without changes
|
package/dist/core/i18n.d.ts
CHANGED
|
File without changes
|
package/dist/core/i18n.js
CHANGED
|
File without changes
|
package/dist/core/linting.d.ts
CHANGED
|
File without changes
|
package/dist/core/linting.js
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -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:
|
|
75
|
+
maxSteps: 0, // 0 = no limit (Claude Code style)
|
|
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:
|
|
86
|
+
maxSteps: 0, // 0 = no limit (Claude Code style)
|
|
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:
|
|
100
|
+
maxSteps: 0, // 0 = no limit (Claude Code style)
|
|
101
101
|
},
|
|
102
102
|
};
|
|
103
103
|
// ---------------------------------------------------------------------------
|
|
File without changes
|
package/dist/core/multi-model.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/multimodal.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/os-sandbox.js
CHANGED
|
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/core/plugin-sdk.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/sandbox.d.ts
CHANGED
|
File without changes
|
package/dist/core/sandbox.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/session.d.ts
CHANGED
|
File without changes
|
package/dist/core/session.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/spec-driven.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/sub-agent.d.ts
CHANGED
|
File without changes
|
package/dist/core/sub-agent.js
CHANGED
|
File without changes
|
package/dist/core/telemetry.d.ts
CHANGED
|
File without changes
|
package/dist/core/telemetry.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/core/terminal-ux.js
CHANGED
|
File without changes
|
package/dist/core/testing.d.ts
CHANGED
|
File without changes
|
package/dist/core/testing.js
CHANGED
|
File without changes
|
package/dist/core/types.d.ts
CHANGED
package/dist/core/types.js
CHANGED
|
File without changes
|
package/dist/core/undo-redo.d.ts
CHANGED
|
File without changes
|
package/dist/core/undo-redo.js
CHANGED
|
File without changes
|
package/dist/core/updater.d.ts
CHANGED
|
File without changes
|
package/dist/core/updater.js
CHANGED
|
File without changes
|
package/dist/core/vim-mode.d.ts
CHANGED
|
File without changes
|
package/dist/core/vim-mode.js
CHANGED
|
File without changes
|
package/dist/core/voice.d.ts
CHANGED
|
File without changes
|
package/dist/core/voice.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/hooks/hooks.d.ts
CHANGED
|
File without changes
|
package/dist/hooks/hooks.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// ============================================================
|
|
3
3
|
// NeuroCLI - Advanced AI Terminal Coding Assistant
|
|
4
|
-
// Main Entry Point -
|
|
4
|
+
// Main Entry Point - v5.0 (Claude Code-style Agentic Loop)
|
|
5
5
|
// ============================================================
|
|
6
6
|
import { Command } from 'commander';
|
|
7
7
|
import { createInterface } from 'readline';
|
|
@@ -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 = '
|
|
19
|
+
const VERSION = '5.0.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.
|
|
448
|
+
prompt: chalk.hex('#d97706')('> '),
|
|
448
449
|
historySize: 100,
|
|
449
450
|
completer: completionEngine.complete,
|
|
450
451
|
});
|
|
@@ -532,7 +533,7 @@ async function startInteractive(options) {
|
|
|
532
533
|
engine.ui.success(`Theme: ${args[0]}`);
|
|
533
534
|
}
|
|
534
535
|
else {
|
|
535
|
-
console.log('Available themes: dracula, dark, nord, light');
|
|
536
|
+
console.log('Available themes: claude, dracula, dark, nord, light');
|
|
536
537
|
}
|
|
537
538
|
break;
|
|
538
539
|
case 'resume':
|
|
File without changes
|
package/dist/lsp/lsp-manager.js
CHANGED
|
File without changes
|
package/dist/mcp/client.d.ts
CHANGED
|
File without changes
|
package/dist/mcp/client.js
CHANGED
|
File without changes
|
package/dist/mcp/mcp-apps.d.ts
CHANGED
|
File without changes
|
package/dist/mcp/mcp-apps.js
CHANGED
|
File without changes
|
package/dist/tools/bash.d.ts
CHANGED
|
File without changes
|
package/dist/tools/bash.js
CHANGED
|
File without changes
|
package/dist/tools/browser.d.ts
CHANGED
|
File without changes
|
package/dist/tools/browser.js
CHANGED
|
File without changes
|
package/dist/tools/extended.d.ts
CHANGED
|
File without changes
|
package/dist/tools/extended.js
CHANGED
|
File without changes
|
package/dist/tools/file.d.ts
CHANGED
|
File without changes
|
package/dist/tools/file.js
CHANGED
|
File without changes
|
package/dist/tools/github.d.ts
CHANGED
|
File without changes
|
package/dist/tools/github.js
CHANGED
|
File without changes
|
package/dist/tools/index.d.ts
CHANGED
|
File without changes
|
package/dist/tools/index.js
CHANGED
|
File without changes
|
package/dist/tools/memory.d.ts
CHANGED
|
File without changes
|
package/dist/tools/memory.js
CHANGED
|
File without changes
|
package/dist/tools/registry.d.ts
CHANGED
|
File without changes
|
package/dist/tools/registry.js
CHANGED
|
File without changes
|
package/dist/tools/web.d.ts
CHANGED
|
File without changes
|
package/dist/tools/web.js
CHANGED
|
File without changes
|