codehere 0.5.0-alpha.0 → 0.5.1-alpha
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/LICENSE +1 -1
- package/README.md +106 -30
- package/dist/application/agents/execution-agent.js +2 -2
- package/dist/application/agents/multi-agent-orchestrator.d.ts +1 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.js +10 -3
- package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
- package/dist/application/agents/planning-agent.d.ts.map +1 -1
- package/dist/application/agents/planning-agent.js +15 -11
- package/dist/application/agents/planning-agent.js.map +1 -1
- package/dist/application/reasoning/multi-model-planning-strategy.d.ts +21 -0
- package/dist/application/reasoning/multi-model-planning-strategy.d.ts.map +1 -0
- package/dist/application/reasoning/multi-model-planning-strategy.js +158 -0
- package/dist/application/reasoning/multi-model-planning-strategy.js.map +1 -0
- package/dist/application/reasoning/reasoning-config.d.ts +15 -0
- package/dist/application/reasoning/reasoning-config.d.ts.map +1 -0
- package/dist/application/reasoning/reasoning-config.js +50 -0
- package/dist/application/reasoning/reasoning-config.js.map +1 -0
- package/dist/application/reasoning/reasoning-orchestrator.d.ts +18 -0
- package/dist/application/reasoning/reasoning-orchestrator.d.ts.map +1 -0
- package/dist/application/reasoning/reasoning-orchestrator.js +170 -0
- package/dist/application/reasoning/reasoning-orchestrator.js.map +1 -0
- package/dist/application/reasoning/reasoning-strategy.interface.d.ts +24 -0
- package/dist/application/reasoning/reasoning-strategy.interface.d.ts.map +1 -0
- package/dist/application/reasoning/reasoning-strategy.interface.js +6 -0
- package/dist/application/reasoning/reasoning-strategy.interface.js.map +1 -0
- package/dist/application/reasoning/role-provider-resolver.d.ts +36 -0
- package/dist/application/reasoning/role-provider-resolver.d.ts.map +1 -0
- package/dist/application/reasoning/role-provider-resolver.js +74 -0
- package/dist/application/reasoning/role-provider-resolver.js.map +1 -0
- package/dist/application/reasoning/simple-planning-strategy.d.ts +22 -0
- package/dist/application/reasoning/simple-planning-strategy.d.ts.map +1 -0
- package/dist/application/reasoning/simple-planning-strategy.js +217 -0
- package/dist/application/reasoning/simple-planning-strategy.js.map +1 -0
- package/dist/application/reasoning/types.d.ts +65 -0
- package/dist/application/reasoning/types.d.ts.map +1 -0
- package/dist/application/reasoning/types.js +6 -0
- package/dist/application/reasoning/types.js.map +1 -0
- package/dist/application/reasoning/validator-strategy.d.ts +56 -0
- package/dist/application/reasoning/validator-strategy.d.ts.map +1 -0
- package/dist/application/reasoning/validator-strategy.js +103 -0
- package/dist/application/reasoning/validator-strategy.js.map +1 -0
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +5 -7
- package/dist/application/services/dependency-container.js.map +1 -1
- package/dist/application/services/intelligent-router.d.ts +5 -5
- package/dist/application/services/intelligent-router.d.ts.map +1 -1
- package/dist/application/services/intelligent-router.js +81 -62
- package/dist/application/services/intelligent-router.js.map +1 -1
- package/dist/application/use-cases/planning-use-case.d.ts +14 -1
- package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/planning-use-case.js +109 -2
- package/dist/application/use-cases/planning-use-case.js.map +1 -1
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +18 -7
- package/dist/chat.js.map +1 -1
- package/dist/domain/entities/memory.d.ts.map +1 -1
- package/dist/domain/entities/task.d.ts +1 -1
- package/dist/domain/entities/task.js +1 -1
- package/dist/domain/services/query-intent-classifier.d.ts.map +1 -1
- package/dist/domain/services/query-intent-classifier.js +20 -1
- package/dist/domain/services/query-intent-classifier.js.map +1 -1
- package/dist/index.js +111 -14
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/config/config-manager.d.ts +10 -0
- package/dist/infrastructure/config/config-manager.d.ts.map +1 -1
- package/dist/infrastructure/config/config-manager.js +11 -0
- package/dist/infrastructure/config/config-manager.js.map +1 -1
- package/dist/infrastructure/context/conversation-context.d.ts +11 -10
- package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
- package/dist/infrastructure/context/conversation-context.js +3 -5
- package/dist/infrastructure/context/conversation-context.js.map +1 -1
- package/dist/infrastructure/index.d.ts +0 -1
- package/dist/infrastructure/index.d.ts.map +1 -1
- package/dist/infrastructure/index.js +2 -1
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/infrastructure/protocols/a2a-metadata.js +1 -1
- package/dist/infrastructure/protocols/mcp-oauth.js +1 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts +2 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.js +37 -13
- package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
- package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -1
- package/dist/infrastructure/providers/openrouter-provider.js +4 -2
- package/dist/infrastructure/providers/openrouter-provider.js.map +1 -1
- package/dist/infrastructure/security/input-validator.d.ts.map +1 -1
- package/dist/infrastructure/security/input-validator.js +19 -6
- package/dist/infrastructure/security/input-validator.js.map +1 -1
- package/dist/infrastructure/security/network-guard.d.ts +8 -0
- package/dist/infrastructure/security/network-guard.d.ts.map +1 -0
- package/dist/infrastructure/security/network-guard.js +70 -0
- package/dist/infrastructure/security/network-guard.js.map +1 -0
- package/dist/infrastructure/security/offline.d.ts +16 -0
- package/dist/infrastructure/security/offline.d.ts.map +1 -0
- package/dist/infrastructure/security/offline.js +24 -0
- package/dist/infrastructure/security/offline.js.map +1 -0
- package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -1
- package/dist/infrastructure/storage/memory-stream-service.js +88 -58
- package/dist/infrastructure/storage/memory-stream-service.js.map +1 -1
- package/dist/infrastructure/storage/sqljs-init.d.ts +8 -0
- package/dist/infrastructure/storage/sqljs-init.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqljs-init.js +23 -0
- package/dist/infrastructure/storage/sqljs-init.js.map +1 -0
- package/dist/infrastructure/storage/task-helpers.d.ts +1 -1
- package/dist/infrastructure/storage/task-helpers.js +1 -1
- package/dist/infrastructure/storage/task-repository.d.ts +2 -1
- package/dist/infrastructure/storage/task-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/task-repository.js +14 -3
- package/dist/infrastructure/storage/task-repository.js.map +1 -1
- package/dist/infrastructure/telemetry/telemetry-service.d.ts +74 -0
- package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +1 -0
- package/dist/infrastructure/telemetry/telemetry-service.js +167 -0
- package/dist/infrastructure/telemetry/telemetry-service.js.map +1 -0
- package/dist/infrastructure/ux/meta-query.d.ts +9 -0
- package/dist/infrastructure/ux/meta-query.d.ts.map +1 -0
- package/dist/infrastructure/ux/meta-query.js +63 -0
- package/dist/infrastructure/ux/meta-query.js.map +1 -0
- package/dist/infrastructure/ux/progress-indicator.d.ts +10 -49
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.js +9 -112
- package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
- package/dist/infrastructure/ux/repo-fingerprint.d.ts +10 -0
- package/dist/infrastructure/ux/repo-fingerprint.d.ts.map +1 -0
- package/dist/infrastructure/ux/repo-fingerprint.js +55 -0
- package/dist/infrastructure/ux/repo-fingerprint.js.map +1 -0
- package/dist/presentation/cli/commands/ask-command.d.ts +2 -0
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/ask-command.js +140 -31
- package/dist/presentation/cli/commands/ask-command.js.map +1 -1
- package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/config-command.js +14 -2
- package/dist/presentation/cli/commands/config-command.js.map +1 -1
- package/dist/presentation/cli/commands/decision-command.js +23 -6
- package/dist/presentation/cli/commands/decision-command.js.map +1 -1
- package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/fix-command.js +23 -4
- package/dist/presentation/cli/commands/fix-command.js.map +1 -1
- package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/help-command.js +21 -1
- package/dist/presentation/cli/commands/help-command.js.map +1 -1
- package/dist/presentation/cli/commands/memory-command.d.ts +17 -0
- package/dist/presentation/cli/commands/memory-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/memory-command.js +252 -0
- package/dist/presentation/cli/commands/memory-command.js.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.js +126 -19
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
- package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/plan-command.js +133 -27
- package/dist/presentation/cli/commands/plan-command.js.map +1 -1
- package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/react-command.js +5 -1
- package/dist/presentation/cli/commands/react-command.js.map +1 -1
- package/dist/presentation/cli/commands/review-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/review-command.js +21 -2
- package/dist/presentation/cli/commands/review-command.js.map +1 -1
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/smart-command.js +72 -5
- package/dist/presentation/cli/commands/smart-command.js.map +1 -1
- package/dist/presentation/cli/commands/status-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/status-command.js +5 -1
- package/dist/presentation/cli/commands/status-command.js.map +1 -1
- package/dist/presentation/cli/error-display.d.ts.map +1 -1
- package/dist/presentation/cli/error-display.js +75 -17
- package/dist/presentation/cli/error-display.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +18 -5
- package/dist/search.js.map +1 -1
- package/dist/session.js +44 -2
- package/dist/session.js.map +1 -1
- package/dist/tools/bash.d 2.ts +53 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +3 -0
- package/dist/tools/bash.js 2.map +1 -0
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit 2.js +235 -0
- package/dist/tools/edit.d.ts 2.map +1 -0
- package/dist/tools/git-tool.js +7 -7
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/ui.d.ts +5 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +19 -0
- package/dist/ui.js.map +1 -1
- package/package.json +11 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/plan-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"plan-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/plan-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4W3I"}
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
* Memory-based hierarchical planning
|
|
4
4
|
*/
|
|
5
5
|
import { container } from '../../../application/services/dependency-container.js';
|
|
6
|
-
import { colors, sectionHeader, success, warning, newline, createBanner, createSpinner, isMinimalStyle, } from '../../../ui.js';
|
|
6
|
+
import { colors, sectionHeader, success, warning, newline, createBanner, createSpinner, isMinimalStyle, separator, getProviderDisplayName, } from '../../../ui.js';
|
|
7
7
|
import { findCodebaseRoot } from '../../../domain/services/codebase-detector.js';
|
|
8
8
|
import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
|
|
9
9
|
import { displayError } from '../error-display.js';
|
|
10
10
|
import { summaryExtractor } from '../../../infrastructure/validation/summary-extractor.js';
|
|
11
11
|
import { reviewHandler } from '../../../infrastructure/validation/review-handler.js';
|
|
12
12
|
import { createPlanTask } from '../../../infrastructure/storage/task-helpers.js';
|
|
13
|
+
import { isReasoningEnabled, isMultiModelEnabled } from '../../../application/reasoning/reasoning-config.js';
|
|
13
14
|
export async function executePlanCommand(goal, options = {}) {
|
|
14
15
|
// TODO: Create task after plan generation
|
|
15
16
|
// Task mode: PLAN
|
|
@@ -17,7 +18,7 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
17
18
|
// Risk tier: Detect from plan (use risk tier detector)
|
|
18
19
|
// Store plan in task.plan
|
|
19
20
|
// Set task.clarificationUsed = true if clarification flow was used
|
|
20
|
-
// See:
|
|
21
|
+
// See: .internal/ARCHITECTURE.md (internal docs)
|
|
21
22
|
// Detect codebase context (for codebase-aware planning)
|
|
22
23
|
const codebaseInfo = findCodebaseRoot(process.cwd());
|
|
23
24
|
const userId = codebaseInfo?.rootPath || process.cwd() || 'cli-user';
|
|
@@ -33,25 +34,33 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
33
34
|
displayFeatureAvailability('Hierarchical Planning', 'advanced', profile.level);
|
|
34
35
|
progressiveDisclosure.recordFeatureUsage(userId, 'planning');
|
|
35
36
|
}
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
// Determine reasoning mode for header display
|
|
38
|
+
const reasoningEnabled = isReasoningEnabled();
|
|
39
|
+
const multiModelEnabled = isMultiModelEnabled();
|
|
40
|
+
let modeLabel;
|
|
41
|
+
if (multiModelEnabled) {
|
|
42
|
+
modeLabel = 'Multi-Model Reasoning (M2)';
|
|
43
|
+
}
|
|
44
|
+
else if (reasoningEnabled) {
|
|
45
|
+
modeLabel = 'Simple Reasoning (M1)';
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
modeLabel = 'Legacy Planning (M0)';
|
|
43
49
|
}
|
|
44
50
|
// Start execution tracing
|
|
45
51
|
const runId = executionTracer.startRun('plan', {
|
|
46
52
|
query: goal,
|
|
47
53
|
codebaseId: codebaseInfo?.rootPath || process.cwd(),
|
|
48
54
|
});
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
// JSON output check - must happen BEFORE any console output
|
|
56
|
+
// Set up streaming handler - suppress output in JSON mode
|
|
57
|
+
const streamHandler = options.json ? {
|
|
58
|
+
onProgress: () => { }, // Suppress progress in JSON mode
|
|
59
|
+
onToken: () => { }, // Suppress tokens in JSON mode
|
|
60
|
+
onError: (error) => {
|
|
61
|
+
console.error(JSON.stringify({ error: error.message }));
|
|
62
|
+
},
|
|
63
|
+
} : {
|
|
55
64
|
onProgress: (stage, message) => {
|
|
56
65
|
// Clear spinner and show progress
|
|
57
66
|
process.stdout.write('\r' + ' '.repeat(50) + '\r'); // Clear line
|
|
@@ -65,15 +74,44 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
65
74
|
console.error(colors.red(`\nStreaming error: ${error.message}`));
|
|
66
75
|
},
|
|
67
76
|
};
|
|
68
|
-
// Enhanced progress indicator with stages
|
|
69
|
-
const planningSpinner = createSpinner('Synthesizing memories into plan...');
|
|
70
|
-
planningSpinner
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
// Enhanced progress indicator with stages (only if not JSON)
|
|
78
|
+
const planningSpinner = options.json ? null : createSpinner('Synthesizing memories into plan...');
|
|
79
|
+
if (planningSpinner) {
|
|
80
|
+
planningSpinner.start();
|
|
81
|
+
// Update spinner text based on streaming progress
|
|
82
|
+
const originalOnProgress = streamHandler.onProgress;
|
|
83
|
+
streamHandler.onProgress = (stage, message) => {
|
|
84
|
+
if (planningSpinner) {
|
|
85
|
+
planningSpinner.text = colors.dim(`${stage}: ${message}`);
|
|
86
|
+
}
|
|
87
|
+
originalOnProgress(stage, message);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
// Header is handled by index.ts, only show banner in verbose mode (skip in JSON)
|
|
91
|
+
if (!options.json) {
|
|
92
|
+
if (!isMinimalStyle()) {
|
|
93
|
+
console.log(createBanner('Memory-Based Planning', 'Hierarchical plan synthesis from memories'));
|
|
94
|
+
newline();
|
|
95
|
+
console.log(colors.bold('Goal:'));
|
|
96
|
+
console.log(colors.cyan(' ' + goal));
|
|
97
|
+
newline();
|
|
98
|
+
// Display mode header as required by capability map (2.3)
|
|
99
|
+
console.log(colors.bold(`Mode: ${modeLabel}`));
|
|
100
|
+
// Display provider as required by capability map (2.23)
|
|
101
|
+
const providerName = getProviderDisplayName(container.aiService);
|
|
102
|
+
console.log(colors.dim(`Provider: ${providerName}`));
|
|
103
|
+
newline();
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
// Minimal style: still show mode
|
|
107
|
+
console.log(colors.dim(`Mode: ${modeLabel}`));
|
|
108
|
+
newline();
|
|
109
|
+
}
|
|
110
|
+
if (codebaseInfo) {
|
|
111
|
+
console.log(colors.dim(`Codebase: ${codebaseInfo.rootPath} (${codebaseInfo.type})`));
|
|
112
|
+
newline();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
77
115
|
try {
|
|
78
116
|
const useCase = container.planningUseCase;
|
|
79
117
|
const result = await useCase.execute({
|
|
@@ -84,7 +122,34 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
84
122
|
},
|
|
85
123
|
streamHandler, // Pass streaming handler for real-time progress
|
|
86
124
|
});
|
|
87
|
-
planningSpinner
|
|
125
|
+
if (planningSpinner) {
|
|
126
|
+
planningSpinner.stop();
|
|
127
|
+
}
|
|
128
|
+
// JSON output (capability map requirement 2.17)
|
|
129
|
+
if (options.json) {
|
|
130
|
+
const jsonOutput = {
|
|
131
|
+
goal: result.plan.goal,
|
|
132
|
+
planId: result.plan.id,
|
|
133
|
+
mode: reasoningEnabled ? (multiModelEnabled ? 'M2' : 'M1') : 'M0',
|
|
134
|
+
complexity: result.plan.metadata?.complexity || 'medium',
|
|
135
|
+
estimatedDuration: result.plan.metadata?.estimatedDuration,
|
|
136
|
+
subPlans: result.plan.subPlans.map(sp => ({
|
|
137
|
+
id: sp.id,
|
|
138
|
+
type: sp.type,
|
|
139
|
+
description: sp.description,
|
|
140
|
+
status: sp.status,
|
|
141
|
+
estimatedSteps: sp.estimatedSteps,
|
|
142
|
+
dependencies: sp.dependencies,
|
|
143
|
+
})),
|
|
144
|
+
dependencies: result.plan.dependencies,
|
|
145
|
+
memoriesUsed: result.memoriesUsed,
|
|
146
|
+
synthesisTime: result.synthesisTime,
|
|
147
|
+
provider: container.aiService.provider?.name || container.aiService.provider?.id || 'unknown',
|
|
148
|
+
};
|
|
149
|
+
console.log(JSON.stringify(jsonOutput, null, 2));
|
|
150
|
+
executionTracer.endRun();
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
88
153
|
// Display plan
|
|
89
154
|
sectionHeader('Generated Plan');
|
|
90
155
|
console.log(colors.bold(`Goal: ${result.plan.goal}`));
|
|
@@ -114,9 +179,19 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
114
179
|
console.log(colors.dim(` ${dep.from} → ${dep.to} (${dep.type})`));
|
|
115
180
|
});
|
|
116
181
|
}
|
|
182
|
+
// Memory indicators: Standardize format to match capability map requirement (2.2)
|
|
183
|
+
if (result.memoriesUsed > 0) {
|
|
184
|
+
newline();
|
|
185
|
+
console.log(colors.dim(`💭 Using ${result.memoriesUsed} memories from previous interactions`));
|
|
186
|
+
console.log(colors.dim(` (View all: codehere memory --list)`));
|
|
187
|
+
newline();
|
|
188
|
+
}
|
|
189
|
+
// Show detailed reflections if available (additional context beyond memory indicator)
|
|
117
190
|
if (result.reflections.length > 0) {
|
|
118
191
|
newline();
|
|
119
|
-
sectionHeader('Insights from Past Experiences');
|
|
192
|
+
sectionHeader('💭 Insights from Past Experiences');
|
|
193
|
+
console.log(colors.dim('Based on what I remember from previous interactions:'));
|
|
194
|
+
newline();
|
|
120
195
|
const { formatContent } = await import('../../../infrastructure/ux/comprehensive-formatter.js');
|
|
121
196
|
result.reflections.slice(0, 5).forEach((reflection, i) => {
|
|
122
197
|
console.log('');
|
|
@@ -124,6 +199,8 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
124
199
|
const formattedInsight = formatContent(reflection.insight, { indent: 4, maxWidth: 72 });
|
|
125
200
|
console.log(formattedInsight);
|
|
126
201
|
});
|
|
202
|
+
newline();
|
|
203
|
+
console.log(colors.dim(`(View all memories: codehere memory --list)`));
|
|
127
204
|
}
|
|
128
205
|
newline();
|
|
129
206
|
console.log(colors.dim(`Memories used: ${result.memoriesUsed} | Synthesis time: ${result.synthesisTime}ms`));
|
|
@@ -210,7 +287,34 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
210
287
|
}
|
|
211
288
|
newline();
|
|
212
289
|
if (executionResult.success) {
|
|
290
|
+
// Delightful UX: Success with context and next steps
|
|
213
291
|
console.log(success('Plan executed successfully!'));
|
|
292
|
+
newline();
|
|
293
|
+
if (executionResult.compositeSummary) {
|
|
294
|
+
const filesChanged = executionResult.compositeSummary.filesChanged || [];
|
|
295
|
+
const filesCreated = executionResult.compositeSummary.filesCreated || [];
|
|
296
|
+
if (filesChanged.length > 0 || filesCreated.length > 0) {
|
|
297
|
+
console.log(colors.bold('Summary:'));
|
|
298
|
+
if (filesChanged.length > 0) {
|
|
299
|
+
console.log(colors.cyan(` • ${filesChanged.length} file(s) changed`));
|
|
300
|
+
}
|
|
301
|
+
if (filesCreated.length > 0) {
|
|
302
|
+
console.log(colors.green(` • ${filesCreated.length} file(s) created`));
|
|
303
|
+
}
|
|
304
|
+
newline();
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Show next steps (delightful UX)
|
|
308
|
+
console.log(colors.bold('Next steps:'));
|
|
309
|
+
console.log(colors.cyan(` • Review changes: codehere review --list`));
|
|
310
|
+
console.log(colors.cyan(` • Check status: codehere status --tasks`));
|
|
311
|
+
console.log(colors.cyan(` • Test changes: npm test`));
|
|
312
|
+
newline();
|
|
313
|
+
// Responsible AI indicators
|
|
314
|
+
console.log(separator('─', 60));
|
|
315
|
+
console.log(colors.dim('🔒 Privacy: All operations stored locally'));
|
|
316
|
+
console.log(colors.dim('🛡️ Security: Validation passed'));
|
|
317
|
+
newline();
|
|
214
318
|
}
|
|
215
319
|
else {
|
|
216
320
|
displayError(new Error('Plan execution completed with errors'), {
|
|
@@ -230,7 +334,9 @@ export async function executePlanCommand(goal, options = {}) {
|
|
|
230
334
|
}
|
|
231
335
|
}
|
|
232
336
|
catch (err) {
|
|
233
|
-
planningSpinner
|
|
337
|
+
if (planningSpinner) {
|
|
338
|
+
planningSpinner.stop();
|
|
339
|
+
}
|
|
234
340
|
const { displayError } = await import('../error-display.js');
|
|
235
341
|
displayError(err, {
|
|
236
342
|
operation: 'plan',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/plan-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/plan-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/react-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"react-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/react-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgMtG"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Execute query using ReAct loop
|
|
4
4
|
*/
|
|
5
5
|
import { container } from '../../../application/services/dependency-container.js';
|
|
6
|
-
import { colors, sectionHeader, formatNumber, newline, createBanner, } from '../../../ui.js';
|
|
6
|
+
import { colors, sectionHeader, formatNumber, newline, createBanner, getProviderDisplayName, } from '../../../ui.js';
|
|
7
7
|
import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
|
|
8
8
|
import { findCodebaseRoot } from '../../../domain/services/codebase-detector.js';
|
|
9
9
|
import { displayError } from '../error-display.js';
|
|
@@ -33,6 +33,10 @@ export async function executeReactCommand(query, options) {
|
|
|
33
33
|
const useCase = container.reactOrchestrationUseCase;
|
|
34
34
|
console.log(createBanner('ReAct Reasoning', 'Iterative reasoning with tools'));
|
|
35
35
|
newline();
|
|
36
|
+
// Display provider as required by capability map (2.23)
|
|
37
|
+
const providerName = getProviderDisplayName(container.aiService);
|
|
38
|
+
console.log(colors.dim(`Provider: ${providerName}`));
|
|
39
|
+
newline();
|
|
36
40
|
console.log(colors.bold('Query:'));
|
|
37
41
|
console.log(colors.cyan(' ' + query));
|
|
38
42
|
newline();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/react-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,OAAO,EACP,YAAY,
|
|
1
|
+
{"version":3,"file":"react-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/react-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/review-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GACA,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"review-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/review-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GACA,OAAO,CAAC,IAAI,CAAC,CAoLf"}
|
|
@@ -23,8 +23,27 @@ export async function executeReviewCommand(taskId, options) {
|
|
|
23
23
|
console.log(colors.bold('Task Review'));
|
|
24
24
|
newline();
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
const
|
|
26
|
+
// Add timeout protection for database operations
|
|
27
|
+
const fetchWithTimeout = async (promise, timeoutMs = 5000) => {
|
|
28
|
+
return Promise.race([
|
|
29
|
+
promise,
|
|
30
|
+
new Promise((_, reject) => {
|
|
31
|
+
setTimeout(() => reject(new Error('Operation timed out')), timeoutMs);
|
|
32
|
+
}),
|
|
33
|
+
]);
|
|
34
|
+
};
|
|
35
|
+
let tasksNeedingReview = [];
|
|
36
|
+
let completedTasks = [];
|
|
37
|
+
try {
|
|
38
|
+
tasksNeedingReview = await fetchWithTimeout(taskRepo.getByStatus(TaskStatus.NEEDS_REVIEW), 5000);
|
|
39
|
+
completedTasks = await fetchWithTimeout(taskRepo.getByStatus(TaskStatus.COMPLETED), 5000);
|
|
40
|
+
}
|
|
41
|
+
catch (timeoutError) {
|
|
42
|
+
// If timeout, show empty state and exit gracefully
|
|
43
|
+
console.log(info('No tasks requiring review'));
|
|
44
|
+
newline();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
28
47
|
if (tasksNeedingReview.length === 0 && completedTasks.length === 0) {
|
|
29
48
|
console.log(info('No tasks requiring review'));
|
|
30
49
|
newline();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/review-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,MAAM,EACN,aAAa,EACb,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA0B,EAC1B,OAMC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QAErC,wCAAwC;QACxC,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;YAEjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC;gBAC7D,OAAO,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/review-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/smart-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"smart-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/smart-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyhB1G"}
|
|
@@ -84,6 +84,12 @@ export async function executeSmartCommand(query, options = {}) {
|
|
|
84
84
|
const { formatContent } = await import('../../../infrastructure/ux/comprehensive-formatter.js');
|
|
85
85
|
switch (result.action) {
|
|
86
86
|
case 'ask':
|
|
87
|
+
// Delightful UX: Show memory indicators (XAI: Show what Codehere remembers)
|
|
88
|
+
if (result.memoriesUsed && result.memoriesUsed > 0) {
|
|
89
|
+
console.log(colors.dim('💭 Using memories from previous interactions to provide context-aware answer'));
|
|
90
|
+
console.log(colors.dim(` (View all: codehere memory --list)`));
|
|
91
|
+
newline();
|
|
92
|
+
}
|
|
87
93
|
// Enhanced: Show answer with better formatting and summary
|
|
88
94
|
sectionHeader('Answer');
|
|
89
95
|
const formattedAnswer = formatContent(result.message || 'No answer generated', { indent: 0, maxWidth: 76 });
|
|
@@ -103,15 +109,31 @@ export async function executeSmartCommand(query, options = {}) {
|
|
|
103
109
|
console.log(summaryTable.toString());
|
|
104
110
|
newline();
|
|
105
111
|
}
|
|
112
|
+
// Responsible AI indicators (delightful UX: always show)
|
|
113
|
+
console.log(separator('─', 60));
|
|
114
|
+
console.log(colors.dim('🔒 Privacy: All data stored locally, no external transmission'));
|
|
115
|
+
console.log(colors.dim('🛡️ Security: Code analysis performed locally'));
|
|
116
|
+
newline();
|
|
106
117
|
break;
|
|
107
118
|
case 'explain':
|
|
108
|
-
//
|
|
119
|
+
// Delightful UX: Show memory indicators if available
|
|
120
|
+
if (result.memoriesUsed && result.memoriesUsed > 0) {
|
|
121
|
+
console.log(colors.dim('💭 Using memories from previous interactions to provide context-aware explanation'));
|
|
122
|
+
newline();
|
|
123
|
+
}
|
|
124
|
+
// Show the explanation
|
|
109
125
|
if (result.result) {
|
|
110
126
|
const explainResult = result.result;
|
|
127
|
+
sectionHeader('Explanation');
|
|
111
128
|
const formattedExplanation = formatContent(explainResult.explanation || '', { indent: 0, maxWidth: 76 });
|
|
112
129
|
console.log(formattedExplanation);
|
|
113
130
|
}
|
|
114
131
|
newline();
|
|
132
|
+
// Responsible AI indicators (delightful UX: always show)
|
|
133
|
+
console.log(separator('─', 60));
|
|
134
|
+
console.log(colors.dim('🔒 Privacy: All data stored locally'));
|
|
135
|
+
console.log(colors.dim('🛡️ Security: Code analysis performed locally'));
|
|
136
|
+
newline();
|
|
115
137
|
break;
|
|
116
138
|
case 'edit':
|
|
117
139
|
console.log(separator('═', 80));
|
|
@@ -156,7 +178,8 @@ export async function executeSmartCommand(query, options = {}) {
|
|
|
156
178
|
newline();
|
|
157
179
|
}
|
|
158
180
|
}
|
|
159
|
-
|
|
181
|
+
// Delightful UX: Success with next steps
|
|
182
|
+
console.log(success('✓ Edit applied successfully'));
|
|
160
183
|
if (editResult?.edit?.filepath) {
|
|
161
184
|
console.log(colors.dim(`File: ${formatPath(editResult.edit.filepath)}`));
|
|
162
185
|
}
|
|
@@ -169,6 +192,19 @@ export async function executeSmartCommand(query, options = {}) {
|
|
|
169
192
|
console.log(changesTable.toString());
|
|
170
193
|
newline();
|
|
171
194
|
}
|
|
195
|
+
// Delightful UX: Show next steps
|
|
196
|
+
console.log(colors.bold('Next steps:'));
|
|
197
|
+
if (editResult?.edit?.filepath) {
|
|
198
|
+
console.log(colors.cyan(` • Review changes: git diff ${editResult.edit.filepath}`));
|
|
199
|
+
console.log(colors.cyan(` • Undo if needed: codehere undo ${editResult.edit.filepath}`));
|
|
200
|
+
}
|
|
201
|
+
console.log(colors.cyan(` • Test your changes: npm test`));
|
|
202
|
+
newline();
|
|
203
|
+
// Responsible AI indicators (delightful UX: always show)
|
|
204
|
+
console.log(separator('─', 60));
|
|
205
|
+
console.log(colors.dim('🔒 Privacy: All changes stored locally'));
|
|
206
|
+
console.log(colors.dim('🛡️ Security: Validation passed'));
|
|
207
|
+
newline();
|
|
172
208
|
}
|
|
173
209
|
else {
|
|
174
210
|
// Use centralized error display
|
|
@@ -211,14 +247,25 @@ export async function executeSmartCommand(query, options = {}) {
|
|
|
211
247
|
newline();
|
|
212
248
|
break;
|
|
213
249
|
case 'react':
|
|
214
|
-
//
|
|
250
|
+
// Delightful UX: Show memory indicators if available
|
|
251
|
+
if (result.memoriesUsed && result.memoriesUsed > 0) {
|
|
252
|
+
console.log(colors.dim('💭 Using memories from previous interactions to solve this problem'));
|
|
253
|
+
newline();
|
|
254
|
+
}
|
|
255
|
+
// Show the final answer
|
|
215
256
|
if (result.result) {
|
|
216
257
|
const reactResult = result.result;
|
|
217
|
-
|
|
258
|
+
sectionHeader('Solution');
|
|
259
|
+
// Only show answer, not verbose reasoning steps (delightful UX: clean output)
|
|
218
260
|
const formattedReact = formatContent(result.message || reactResult.answer || 'Processing complete', { indent: 0, maxWidth: 76 });
|
|
219
261
|
console.log(formattedReact);
|
|
220
262
|
}
|
|
221
263
|
newline();
|
|
264
|
+
// Responsible AI indicators (delightful UX: always show)
|
|
265
|
+
console.log(separator('─', 60));
|
|
266
|
+
console.log(colors.dim('🔒 Privacy: All data stored locally'));
|
|
267
|
+
console.log(colors.dim('🛡️ Security: Problem-solving performed locally'));
|
|
268
|
+
newline();
|
|
222
269
|
break;
|
|
223
270
|
case 'plan':
|
|
224
271
|
if (result.result) {
|
|
@@ -300,11 +347,31 @@ export async function executeSmartCommand(query, options = {}) {
|
|
|
300
347
|
}
|
|
301
348
|
newline();
|
|
302
349
|
}
|
|
350
|
+
// Delightful UX: Show memory indicators if available
|
|
351
|
+
if (result.memoriesUsed && result.memoriesUsed > 0) {
|
|
352
|
+
console.log(colors.dim('💭 Used memories from previous interactions to create this plan'));
|
|
353
|
+
console.log(colors.dim(` (View all: codehere memory --list)`));
|
|
354
|
+
newline();
|
|
355
|
+
}
|
|
303
356
|
// Show final message
|
|
304
357
|
if (result.success) {
|
|
305
358
|
console.log(separator('═', 80));
|
|
306
|
-
console.log(success(
|
|
359
|
+
console.log(success('✓ Plan created successfully'));
|
|
307
360
|
console.log(separator('═', 80));
|
|
361
|
+
newline();
|
|
362
|
+
// Delightful UX: Show next steps
|
|
363
|
+
console.log(colors.bold('Next steps:'));
|
|
364
|
+
if (planResult.plan?.id) {
|
|
365
|
+
console.log(colors.cyan(` • Execute plan: codehere run "${query}"`));
|
|
366
|
+
console.log(colors.cyan(` • Review plan: codehere review --list`));
|
|
367
|
+
}
|
|
368
|
+
console.log(colors.cyan(` • View status: codehere status --tasks`));
|
|
369
|
+
newline();
|
|
370
|
+
// Responsible AI indicators (delightful UX: always show)
|
|
371
|
+
console.log(separator('─', 60));
|
|
372
|
+
console.log(colors.dim('🔒 Privacy: All planning data stored locally'));
|
|
373
|
+
console.log(colors.dim('🛡️ Security: Plan validated before execution'));
|
|
374
|
+
newline();
|
|
308
375
|
}
|
|
309
376
|
else {
|
|
310
377
|
// Use centralized error display
|