codehere 0.4.0 → 0.5.0-alpha.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/README.md +7 -0
- package/dist/application/agents/execution-agent.js +2 -2
- package/dist/application/agents/execution-agent.js.map +1 -1
- package/dist/application/agents/planning-agent.d.ts.map +1 -1
- package/dist/application/agents/planning-agent.js +16 -8
- package/dist/application/agents/planning-agent.js.map +1 -1
- package/dist/application/agents/validation-agent.js +2 -2
- package/dist/application/agents/validation-agent.js.map +1 -1
- package/dist/application/services/dependency-container.d.ts +30 -6
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +75 -43
- package/dist/application/services/dependency-container.js.map +1 -1
- package/dist/application/services/intelligent-router.d.ts.map +1 -1
- package/dist/application/services/intelligent-router.js +6 -3
- package/dist/application/services/intelligent-router.js.map +1 -1
- package/dist/domain/entities/task.d.ts.map +1 -1
- package/dist/domain/entities/task.js +1 -1
- package/dist/domain/entities/task.js.map +1 -1
- package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
- package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
- package/dist/domain/errors/embeddings-not-found-error.js +13 -0
- package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +5 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -1
- package/dist/domain/services/environment-mode-manager.d.ts +4 -10
- package/dist/domain/services/environment-mode-manager.d.ts.map +1 -1
- package/dist/domain/services/environment-mode-manager.js +7 -22
- package/dist/domain/services/environment-mode-manager.js.map +1 -1
- package/dist/domain/services/risk-tier-detector.d.ts +8 -9
- package/dist/domain/services/risk-tier-detector.d.ts.map +1 -1
- package/dist/domain/services/risk-tier-detector.js +53 -40
- package/dist/domain/services/risk-tier-detector.js.map +1 -1
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +18 -8
- package/dist/embed.js.map +1 -1
- package/dist/index.js +308 -48
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.js +3 -3
- package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
- package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -1
- package/dist/infrastructure/ai/provider-ai-service.js +6 -6
- package/dist/infrastructure/ai/provider-ai-service.js.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.d.ts +14 -55
- package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.js +40 -112
- package/dist/infrastructure/cache/query-result-cache.js.map +1 -1
- package/dist/infrastructure/cache/response-cache.d.ts +10 -78
- package/dist/infrastructure/cache/response-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/response-cache.js +22 -198
- package/dist/infrastructure/cache/response-cache.js.map +1 -1
- package/dist/infrastructure/cache/security-scan-cache.d.ts +8 -49
- package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/security-scan-cache.js +25 -102
- package/dist/infrastructure/cache/security-scan-cache.js.map +1 -1
- package/dist/infrastructure/completion/bash-completion.d.ts +2 -3
- package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/bash-completion.js +11 -87
- package/dist/infrastructure/completion/bash-completion.js.map +1 -1
- package/dist/infrastructure/completion/fish-completion.d.ts +2 -3
- package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/fish-completion.js +15 -58
- package/dist/infrastructure/completion/fish-completion.js.map +1 -1
- package/dist/infrastructure/completion/zsh-completion.d.ts +2 -3
- package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/zsh-completion.js +18 -73
- package/dist/infrastructure/completion/zsh-completion.js.map +1 -1
- package/dist/infrastructure/config/config-manager.js +2 -2
- package/dist/infrastructure/config/config-manager.js.map +1 -1
- package/dist/infrastructure/context/conversation-context.d.ts +27 -31
- package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
- package/dist/infrastructure/context/conversation-context.js +94 -136
- package/dist/infrastructure/context/conversation-context.js.map +1 -1
- package/dist/infrastructure/context/session-manager.d.ts +27 -11
- package/dist/infrastructure/context/session-manager.d.ts.map +1 -1
- package/dist/infrastructure/context/session-manager.js +69 -73
- package/dist/infrastructure/context/session-manager.js.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.js +102 -17
- package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
- package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
- package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/openrouter-provider.js +399 -0
- package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
- package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
- package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
- package/dist/infrastructure/serialization/toon-serializer.js +119 -0
- package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
- package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
- package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
- package/dist/infrastructure/storage/embeddings-path.js +37 -0
- package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
- package/dist/infrastructure/storage/plan-repository.d.ts +2 -0
- package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/plan-repository.js +36 -73
- package/dist/infrastructure/storage/plan-repository.js.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +10 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +37 -3
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
- package/dist/infrastructure/storage/task-helpers.d.ts +11 -0
- package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -1
- package/dist/infrastructure/storage/task-helpers.js +47 -7
- package/dist/infrastructure/storage/task-helpers.js.map +1 -1
- package/dist/infrastructure/storage/task-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/task-repository.js.map +1 -1
- package/dist/infrastructure/ux/capability-boundaries.d.ts +9 -37
- package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -1
- package/dist/infrastructure/ux/capability-boundaries.js +23 -148
- package/dist/infrastructure/ux/capability-boundaries.js.map +1 -1
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts +12 -54
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -1
- package/dist/infrastructure/ux/comprehensive-formatter.js +87 -182
- package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +5 -18
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.js +5 -139
- package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.d.ts +3 -33
- package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.js +5 -181
- package/dist/infrastructure/ux/feature-discovery.js.map +1 -1
- package/dist/infrastructure/ux/feedback-prompt.d.ts +15 -31
- package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -1
- package/dist/infrastructure/ux/feedback-prompt.js +30 -166
- package/dist/infrastructure/ux/feedback-prompt.js.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts +3 -5
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.js +34 -49
- package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts +3 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -1
- package/dist/infrastructure/ux/review-checkpoint.js +33 -80
- package/dist/infrastructure/ux/review-checkpoint.js.map +1 -1
- package/dist/infrastructure/ux/staged-feature-intro.d.ts +14 -39
- package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -1
- package/dist/infrastructure/ux/staged-feature-intro.js +12 -132
- package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -1
- package/dist/infrastructure/ux/syntax-highlighter.d.ts +1 -2
- package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -1
- package/dist/infrastructure/ux/syntax-highlighter.js +67 -148
- package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -1
- package/dist/infrastructure/validation/agent-feedback.d.ts +25 -89
- package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -1
- package/dist/infrastructure/validation/agent-feedback.js +32 -204
- package/dist/infrastructure/validation/agent-feedback.js.map +1 -1
- package/dist/infrastructure/validation/agent-validation-helper.d.ts +53 -53
- package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -1
- package/dist/infrastructure/validation/agent-validation-helper.js +110 -61
- package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -1
- package/dist/infrastructure/validation/review-handler.d.ts +13 -41
- package/dist/infrastructure/validation/review-handler.d.ts.map +1 -1
- package/dist/infrastructure/validation/review-handler.js +23 -189
- package/dist/infrastructure/validation/review-handler.js.map +1 -1
- package/dist/infrastructure/validation/summary-aggregator.d.ts +25 -22
- package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -1
- package/dist/infrastructure/validation/summary-aggregator.js +47 -133
- package/dist/infrastructure/validation/summary-aggregator.js.map +1 -1
- package/dist/infrastructure/validation/summary-extractor.d.ts +13 -48
- package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -1
- package/dist/infrastructure/validation/summary-extractor.js +32 -89
- package/dist/infrastructure/validation/summary-extractor.js.map +1 -1
- package/dist/infrastructure/validation/trace-summary.d.ts +30 -57
- package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -1
- package/dist/infrastructure/validation/trace-summary.js +37 -356
- package/dist/infrastructure/validation/trace-summary.js.map +1 -1
- package/dist/monitoring.d.ts +1 -1
- package/dist/monitoring.d.ts.map +1 -1
- package/dist/monitoring.js +12 -9
- package/dist/monitoring.js.map +1 -1
- package/dist/parallel-processor.d.ts.map +1 -1
- package/dist/parallel-processor.js +124 -45
- package/dist/parallel-processor.js.map +1 -1
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/ask-command.js +185 -128
- 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 +8 -6
- package/dist/presentation/cli/commands/config-command.js.map +1 -1
- package/dist/presentation/cli/commands/docs-command.d.ts +3 -1
- package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/docs-command.js +13 -184
- package/dist/presentation/cli/commands/docs-command.js.map +1 -1
- package/dist/presentation/cli/commands/fix-command.d.ts +2 -0
- package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/fix-command.js +25 -281
- package/dist/presentation/cli/commands/fix-command.js.map +1 -1
- package/dist/presentation/cli/commands/models-command.d.ts +13 -0
- package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/models-command.js +194 -0
- package/dist/presentation/cli/commands/models-command.js.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.js +15 -7
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/plan-command.js +9 -6
- package/dist/presentation/cli/commands/plan-command.js.map +1 -1
- package/dist/presentation/cli/commands/product-command.d.ts +6 -4
- package/dist/presentation/cli/commands/product-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/product-command.js +12 -178
- package/dist/presentation/cli/commands/product-command.js.map +1 -1
- package/dist/presentation/cli/commands/review-command.d.ts +7 -7
- package/dist/presentation/cli/commands/review-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/review-command.js +148 -16
- package/dist/presentation/cli/commands/review-command.js.map +1 -1
- package/dist/presentation/cli/commands/run-command.d.ts +6 -8
- package/dist/presentation/cli/commands/run-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/run-command.js +182 -23
- package/dist/presentation/cli/commands/run-command.js.map +1 -1
- package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/setup-command.js +15 -0
- package/dist/presentation/cli/commands/setup-command.js.map +1 -1
- package/dist/presentation/cli/commands/smart-command.js +1 -1
- package/dist/presentation/cli/commands/smart-command.js.map +1 -1
- package/dist/presentation/cli/commands/status-command.d.ts +3 -0
- package/dist/presentation/cli/commands/status-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/status-command.js +147 -156
- package/dist/presentation/cli/commands/status-command.js.map +1 -1
- package/dist/presentation/cli/commands/suggest-command.d.ts +3 -5
- package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/suggest-command.js +132 -19
- package/dist/presentation/cli/commands/suggest-command.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +6 -1
- package/dist/search.js.map +1 -1
- package/dist/session.js +1 -1
- package/dist/session.js.map +1 -1
- package/dist/ui.d.ts +6 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +35 -1
- package/dist/ui.js.map +1 -1
- package/package.json +8 -3
package/dist/embed.js
CHANGED
|
@@ -21,8 +21,13 @@ config(); // Also try current directory
|
|
|
21
21
|
const cohere = new CohereClient({
|
|
22
22
|
token: process.env.COHERE_API_KEY || '',
|
|
23
23
|
});
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
import { getEmbeddingsDbPath } from './infrastructure/storage/embeddings-path.js';
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Legacy global DB path - use getEmbeddingsDbPath() instead
|
|
27
|
+
* This function and DB_PATH are only used by the legacy indexRepository() function.
|
|
28
|
+
* The active index command uses indexRepositoryParallel() which uses per-repo paths.
|
|
29
|
+
*/
|
|
30
|
+
function getLegacyDbPath() {
|
|
26
31
|
const __filename = fileURLToPath(import.meta.url);
|
|
27
32
|
const __dirname = dirname(__filename);
|
|
28
33
|
const agentDir = join(__dirname, '..');
|
|
@@ -33,7 +38,9 @@ function getDbPath() {
|
|
|
33
38
|
// Otherwise use current directory
|
|
34
39
|
return join(process.cwd(), 'agent', 'data', 'embeddings.sqlite');
|
|
35
40
|
}
|
|
36
|
-
|
|
41
|
+
// Legacy DB_PATH - only used by deprecated indexRepository() function
|
|
42
|
+
// Active CLI uses indexRepositoryParallel() with per-repo paths
|
|
43
|
+
const DB_PATH = getLegacyDbPath();
|
|
37
44
|
const CHUNK_SIZE = 300; // target tokens per chunk
|
|
38
45
|
const OVERLAP = 50; // overlap tokens between chunks
|
|
39
46
|
const enc = encoding_for_model('gpt-3.5-turbo');
|
|
@@ -292,19 +299,22 @@ export async function indexRepositoryParallel(repoPath, options = {}) {
|
|
|
292
299
|
console.log(info('Using parallel processing with caching...'));
|
|
293
300
|
newline();
|
|
294
301
|
// Use parallel processor to get embeddings
|
|
302
|
+
// Auto-use parallel for repos with >100 files
|
|
295
303
|
const result = await indexParallel(files, {
|
|
296
|
-
maxConcurrency: options.maxConcurrency || 5,
|
|
304
|
+
maxConcurrency: options.maxConcurrency || (files.length > 100 ? 10 : 5),
|
|
297
305
|
useCache: options.useCache !== false,
|
|
298
306
|
cacheDir: join(targetDir, '.codehere-cache'),
|
|
307
|
+
sequential: files.length <= 100, // Only sequential for very small repos
|
|
299
308
|
});
|
|
300
309
|
// Now save to SQLite database
|
|
301
|
-
//
|
|
302
|
-
const
|
|
310
|
+
// Use per-repo database path for codebase isolation
|
|
311
|
+
const pathInfo = getEmbeddingsDbPath(targetDir);
|
|
312
|
+
const dbPath = pathInfo.dbPath;
|
|
303
313
|
console.log(info(`Database path: ${dbPath}`));
|
|
304
|
-
// Ensure
|
|
314
|
+
// Ensure cache directory exists (already created by getEmbeddingsDbPath, but double-check)
|
|
305
315
|
const dbDir = dirname(dbPath);
|
|
306
316
|
if (!existsSync(dbDir)) {
|
|
307
|
-
console.log(info(`Creating
|
|
317
|
+
console.log(info(`Creating cache directory: ${dbDir}`));
|
|
308
318
|
mkdirSync(dbDir, { recursive: true });
|
|
309
319
|
}
|
|
310
320
|
console.log(info('Initializing SQLite database...'));
|
package/dist/embed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,10 @@ import { executeOrchestrateCommand } from './presentation/cli/commands/orchestra
|
|
|
20
20
|
import { executeDocsCommand } from './presentation/cli/commands/docs-command.js';
|
|
21
21
|
import { executeProductCommand } from './presentation/cli/commands/product-command.js';
|
|
22
22
|
import { executeStatusCommand } from './presentation/cli/commands/status-command.js';
|
|
23
|
+
import { executeSuggestCommand } from './presentation/cli/commands/suggest-command.js';
|
|
24
|
+
import { executeRunCommand } from './presentation/cli/commands/run-command.js';
|
|
25
|
+
import { executeModelsCommand } from './presentation/cli/commands/models-command.js';
|
|
26
|
+
import { executeReviewCommand } from './presentation/cli/commands/review-command.js';
|
|
23
27
|
import { executeDecisionCommand } from './presentation/cli/commands/decision-command.js';
|
|
24
28
|
import { executeKnowledgeCommand } from './presentation/cli/commands/knowledge-command.js';
|
|
25
29
|
import { executeLearningDashboardCommand } from './presentation/cli/commands/learning-dashboard-command.js';
|
|
@@ -33,7 +37,7 @@ import { generateTests, getTestFilePath, saveTests, improveTests } from './testg
|
|
|
33
37
|
import { startSession } from './session.js';
|
|
34
38
|
import { cleanResponse } from './formatter.js';
|
|
35
39
|
import { displayError } from './presentation/cli/error-display.js';
|
|
36
|
-
import { colors, createSpinner, createBanner, createTable, success, error, warning, info, formatPath, formatNumber, sectionHeader, newline, createWelcomeMessage, } from './ui.js';
|
|
40
|
+
import { colors, createSpinner, createBanner, createTable, success, error, warning, info, formatPath, formatNumber, sectionHeader, newline, createWelcomeMessage, isMinimalStyle, printMinimalHeader, } from './ui.js';
|
|
37
41
|
// Load environment variables - try agent directory first, then current directory
|
|
38
42
|
try {
|
|
39
43
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -133,6 +137,30 @@ program
|
|
|
133
137
|
.action(async (action, key, value) => {
|
|
134
138
|
await executeConfigCommand(action, key, value);
|
|
135
139
|
});
|
|
140
|
+
program
|
|
141
|
+
.command('models')
|
|
142
|
+
.description('List, search, and get info about available AI models')
|
|
143
|
+
.option('-l, --list', 'List all available models')
|
|
144
|
+
.option('-s, --search <query>', 'Search models by name or ID')
|
|
145
|
+
.option('-i, --info <model-id>', 'Get detailed info about a specific model')
|
|
146
|
+
.option('-p, --provider <provider>', 'Filter by provider (cohere, openai, openrouter, etc.)')
|
|
147
|
+
.option('--json', 'Output in JSON format')
|
|
148
|
+
.action(async (options) => {
|
|
149
|
+
initLogFile();
|
|
150
|
+
try {
|
|
151
|
+
await executeModelsCommand({
|
|
152
|
+
list: options.list,
|
|
153
|
+
search: options.search,
|
|
154
|
+
info: options.info,
|
|
155
|
+
provider: options.provider,
|
|
156
|
+
json: options.json,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
console.error(error('Error:'), err instanceof Error ? err.message : String(err));
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
136
164
|
program
|
|
137
165
|
.command('help')
|
|
138
166
|
.description('Show help for commands')
|
|
@@ -146,7 +174,8 @@ program
|
|
|
146
174
|
.option('-r, --repo <path>', 'Repository path (default: current directory)')
|
|
147
175
|
.action(async (options) => {
|
|
148
176
|
initLogFile();
|
|
149
|
-
|
|
177
|
+
// Allow fake AI for testing, or require real API key
|
|
178
|
+
if (!process.env.COHERE_API_KEY && process.env.CODEHERE_FAKE_AI !== '1') {
|
|
150
179
|
newline();
|
|
151
180
|
console.error(error('COHERE_API_KEY not found in environment'));
|
|
152
181
|
newline();
|
|
@@ -155,12 +184,20 @@ program
|
|
|
155
184
|
console.log(' 2. Create a .env file in your project root:');
|
|
156
185
|
console.log(colors.cyan(' echo "COHERE_API_KEY=your_key_here" > .env'));
|
|
157
186
|
console.log(' 3. Run the command again');
|
|
187
|
+
console.log('');
|
|
188
|
+
console.log(colors.dim('Note: For testing without API calls, set CODEHERE_FAKE_AI=1'));
|
|
158
189
|
newline();
|
|
159
190
|
process.exit(1);
|
|
160
191
|
}
|
|
161
192
|
try {
|
|
162
|
-
|
|
163
|
-
|
|
193
|
+
if (isMinimalStyle()) {
|
|
194
|
+
console.log(colors.cyan('Indexing codebase...'));
|
|
195
|
+
newline();
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
console.log(createBanner('Indexing Repository', 'Building semantic search index'));
|
|
199
|
+
newline();
|
|
200
|
+
}
|
|
164
201
|
const repoPath = options.repo || process.cwd();
|
|
165
202
|
// NEW: Use parallel indexing with caching
|
|
166
203
|
await indexRepositoryParallel(repoPath, {
|
|
@@ -173,10 +210,32 @@ program
|
|
|
173
210
|
policyStatus: 'allowed',
|
|
174
211
|
});
|
|
175
212
|
newline();
|
|
176
|
-
|
|
213
|
+
if (isMinimalStyle()) {
|
|
214
|
+
console.log(success('Indexing complete. Cache written to .codehere-cache/'));
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
console.log(success('Indexing complete!'));
|
|
218
|
+
}
|
|
219
|
+
process.exit(0);
|
|
177
220
|
}
|
|
178
221
|
catch (err) {
|
|
179
|
-
|
|
222
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
223
|
+
// Check for 401 Unauthorized errors
|
|
224
|
+
if (errorMessage.includes('401') || errorMessage.includes('Unauthorized') || errorMessage.includes('no api key')) {
|
|
225
|
+
newline();
|
|
226
|
+
console.error(error('Authentication failed: Invalid or missing API key'));
|
|
227
|
+
newline();
|
|
228
|
+
console.log(colors.bold('Troubleshooting:'));
|
|
229
|
+
console.log(' 1. Verify your COHERE_API_KEY is set correctly:');
|
|
230
|
+
console.log(colors.cyan(' echo $COHERE_API_KEY'));
|
|
231
|
+
console.log(' 2. Check if the key is valid at: https://dashboard.cohere.com/api-keys');
|
|
232
|
+
console.log(' 3. If using a .env file, ensure it\'s loaded (e.g., use dotenv)');
|
|
233
|
+
console.log(' 4. For testing, you can use: CODEHERE_FAKE_AI=1 codehere index');
|
|
234
|
+
newline();
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
console.error(error('Error indexing repository:'), errorMessage);
|
|
238
|
+
}
|
|
180
239
|
process.exit(1);
|
|
181
240
|
}
|
|
182
241
|
});
|
|
@@ -200,7 +259,7 @@ Make sure to run "codehere index" first!
|
|
|
200
259
|
`)
|
|
201
260
|
.action(async (question) => {
|
|
202
261
|
initLogFile();
|
|
203
|
-
if (!process.env.COHERE_API_KEY) {
|
|
262
|
+
if (!process.env.COHERE_API_KEY && process.env.CODEHERE_FAKE_AI !== '1') {
|
|
204
263
|
newline();
|
|
205
264
|
console.error(error('COHERE_API_KEY not found in environment'));
|
|
206
265
|
newline();
|
|
@@ -213,21 +272,7 @@ Make sure to run "codehere index" first!
|
|
|
213
272
|
process.exit(1);
|
|
214
273
|
}
|
|
215
274
|
try {
|
|
216
|
-
|
|
217
|
-
newline();
|
|
218
|
-
// Display query
|
|
219
|
-
console.log(colors.bold('Query:'));
|
|
220
|
-
console.log(colors.cyan(' ' + question));
|
|
221
|
-
newline();
|
|
222
|
-
// Use clean architecture
|
|
223
|
-
const searchSpinner = createSpinner('Searching codebase...');
|
|
224
|
-
searchSpinner.start();
|
|
225
|
-
try {
|
|
226
|
-
await executeAskCommand(question);
|
|
227
|
-
}
|
|
228
|
-
finally {
|
|
229
|
-
searchSpinner.stop();
|
|
230
|
-
}
|
|
275
|
+
await executeAskCommand(question);
|
|
231
276
|
logEntry({
|
|
232
277
|
timestamp: new Date().toISOString(),
|
|
233
278
|
command: 'ask',
|
|
@@ -236,7 +281,12 @@ Make sure to run "codehere index" first!
|
|
|
236
281
|
});
|
|
237
282
|
}
|
|
238
283
|
catch (err) {
|
|
239
|
-
|
|
284
|
+
const errMessage = err instanceof Error ? err.message : String(err);
|
|
285
|
+
// If it's a missing embeddings error, exit with 1
|
|
286
|
+
if (errMessage.includes('No embeddings found')) {
|
|
287
|
+
process.exit(1);
|
|
288
|
+
}
|
|
289
|
+
console.error(error('Error:'), errMessage);
|
|
240
290
|
process.exit(1);
|
|
241
291
|
}
|
|
242
292
|
});
|
|
@@ -282,6 +332,23 @@ Safety policies:
|
|
|
282
332
|
process.exit(1);
|
|
283
333
|
}
|
|
284
334
|
try {
|
|
335
|
+
// Check if embeddings exist for this repository (skip check if using fake AI for testing)
|
|
336
|
+
if (process.env.CODEHERE_FAKE_AI !== '1') {
|
|
337
|
+
const { container } = await import('./application/services/dependency-container.js');
|
|
338
|
+
const embeddingRepo = container.getEmbeddingRepository(process.cwd());
|
|
339
|
+
const hasEmbeddings = await embeddingRepo.hasEmbeddings();
|
|
340
|
+
if (!hasEmbeddings) {
|
|
341
|
+
newline();
|
|
342
|
+
console.error(colors.red('No embeddings found for this repository.'));
|
|
343
|
+
newline();
|
|
344
|
+
console.log('Run:');
|
|
345
|
+
console.log(colors.cyan(' codehere index'));
|
|
346
|
+
console.log('');
|
|
347
|
+
console.log('then re-run this command.');
|
|
348
|
+
newline();
|
|
349
|
+
process.exit(1);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
285
352
|
await executeFixCommand(file, instruction, { review: options?.review });
|
|
286
353
|
logEntry({
|
|
287
354
|
timestamp: new Date().toISOString(),
|
|
@@ -332,8 +399,30 @@ This command will:
|
|
|
332
399
|
process.exit(1);
|
|
333
400
|
}
|
|
334
401
|
try {
|
|
335
|
-
|
|
336
|
-
|
|
402
|
+
// Check if embeddings exist for this repository (skip check if using fake AI for testing)
|
|
403
|
+
if (process.env.CODEHERE_FAKE_AI !== '1') {
|
|
404
|
+
const { container } = await import('./application/services/dependency-container.js');
|
|
405
|
+
const embeddingRepo = container.getEmbeddingRepository(process.cwd());
|
|
406
|
+
const hasEmbeddings = await embeddingRepo.hasEmbeddings();
|
|
407
|
+
if (!hasEmbeddings) {
|
|
408
|
+
newline();
|
|
409
|
+
console.error(colors.red('No embeddings found for this repository.'));
|
|
410
|
+
newline();
|
|
411
|
+
console.log('Run:');
|
|
412
|
+
console.log(colors.cyan(' codehere index'));
|
|
413
|
+
console.log('');
|
|
414
|
+
console.log('then re-run this command.');
|
|
415
|
+
newline();
|
|
416
|
+
process.exit(1);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
if (isMinimalStyle()) {
|
|
420
|
+
printMinimalHeader('explain', file);
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
console.log(createBanner('Explain File', 'AI-powered code explanation'));
|
|
424
|
+
newline();
|
|
425
|
+
}
|
|
337
426
|
const fullPath = join(process.cwd(), file);
|
|
338
427
|
// Check if file exists
|
|
339
428
|
const { existsSync } = await import('fs');
|
|
@@ -383,9 +472,14 @@ program
|
|
|
383
472
|
.option('-m, --metrics', 'Show detailed metrics')
|
|
384
473
|
.action((options) => {
|
|
385
474
|
const health = performHealthCheck();
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
475
|
+
if (isMinimalStyle()) {
|
|
476
|
+
printMinimalHeader('health', '');
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
newline();
|
|
480
|
+
console.log(createBanner('System Health', 'Enterprise monitoring'));
|
|
481
|
+
newline();
|
|
482
|
+
}
|
|
389
483
|
console.log(formatHealthStatus(health));
|
|
390
484
|
if (options.metrics) {
|
|
391
485
|
newline();
|
|
@@ -486,13 +580,13 @@ program
|
|
|
486
580
|
}
|
|
487
581
|
});
|
|
488
582
|
program
|
|
489
|
-
.command('review')
|
|
583
|
+
.command('git-review')
|
|
490
584
|
.description('Review git changes and suggest improvements')
|
|
491
585
|
.option('-f, --file <file>', 'Review specific file')
|
|
492
586
|
.action((options) => {
|
|
493
587
|
initLogFile();
|
|
494
588
|
try {
|
|
495
|
-
console.log(createBanner('
|
|
589
|
+
console.log(createBanner('Git Review', 'Git-aware code analysis'));
|
|
496
590
|
newline();
|
|
497
591
|
const status = getGitStatus();
|
|
498
592
|
if (!status.isRepo) {
|
|
@@ -549,9 +643,14 @@ program
|
|
|
549
643
|
process.exit(1);
|
|
550
644
|
}
|
|
551
645
|
try {
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
646
|
+
if (isMinimalStyle()) {
|
|
647
|
+
printMinimalHeader('plan', instruction);
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
console.log(createBanner('Task Planning', 'Intelligent multi-step execution'));
|
|
651
|
+
newline();
|
|
652
|
+
console.log(colors.bold('Instruction:') + ' ' + colors.cyan(instruction));
|
|
653
|
+
}
|
|
555
654
|
newline();
|
|
556
655
|
// Use new memory-based planning
|
|
557
656
|
await executePlanCommand(instruction, { execute: options.execute, review: options.review });
|
|
@@ -633,24 +732,38 @@ program
|
|
|
633
732
|
process.exit(1);
|
|
634
733
|
}
|
|
635
734
|
try {
|
|
636
|
-
|
|
637
|
-
|
|
735
|
+
if (isMinimalStyle()) {
|
|
736
|
+
console.log(colors.bold(`Review: ${file}`));
|
|
737
|
+
newline();
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
console.log(createBanner('Code Review', 'Automated senior-level analysis'));
|
|
741
|
+
newline();
|
|
742
|
+
}
|
|
638
743
|
const reviewSpinner = createSpinner('Reviewing code...');
|
|
639
744
|
reviewSpinner.start();
|
|
640
745
|
const review = await reviewFile(file);
|
|
641
746
|
reviewSpinner.stop();
|
|
642
747
|
newline();
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
748
|
+
if (isMinimalStyle()) {
|
|
749
|
+
console.log(colors.bold('Findings:'));
|
|
750
|
+
console.log(formatReview(review));
|
|
751
|
+
newline();
|
|
752
|
+
console.log(colors.dim(`Score: ${review.score}/100`));
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
console.log(formatReview(review));
|
|
756
|
+
// Display score
|
|
757
|
+
newline();
|
|
758
|
+
sectionHeader('Review Score');
|
|
759
|
+
const scoreTable = createTable(['Metric', 'Value'], [
|
|
760
|
+
['Overall Score', `${review.score}/100`],
|
|
761
|
+
['Errors', formatNumber(review.issues.filter(i => i.severity === 'error').length)],
|
|
762
|
+
['Warnings', formatNumber(review.issues.filter(i => i.severity === 'warning').length)],
|
|
763
|
+
['Info', formatNumber(review.issues.filter(i => i.severity === 'info').length)],
|
|
764
|
+
]);
|
|
765
|
+
console.log(scoreTable.toString());
|
|
766
|
+
}
|
|
654
767
|
}
|
|
655
768
|
catch (err) {
|
|
656
769
|
console.error(error('Error:'), err instanceof Error ? err.message : String(err));
|
|
@@ -820,10 +933,157 @@ Warning: This command may create new files if --output is specified.
|
|
|
820
933
|
// Status command
|
|
821
934
|
program
|
|
822
935
|
.command('status')
|
|
823
|
-
.description('Show
|
|
936
|
+
.description('Show system status and optionally list recent tasks')
|
|
824
937
|
.option('--json', 'Output machine-readable JSON summary instead of text')
|
|
938
|
+
.option('--tasks', 'Show recent tasks (experimental)')
|
|
939
|
+
.option('--env', 'Show environment details')
|
|
940
|
+
.option('--track', 'Show what works (success rates by command)')
|
|
825
941
|
.action(async (options) => {
|
|
826
|
-
await executeStatusCommand({
|
|
942
|
+
await executeStatusCommand({
|
|
943
|
+
json: Boolean(options.json),
|
|
944
|
+
tasks: Boolean(options.tasks),
|
|
945
|
+
env: Boolean(options.env),
|
|
946
|
+
track: Boolean(options.track),
|
|
947
|
+
});
|
|
948
|
+
});
|
|
949
|
+
// Suggest command - Read-only assistant mode
|
|
950
|
+
program
|
|
951
|
+
.command('suggest')
|
|
952
|
+
.description('Read-only assistant mode - ask questions and get explanations without making changes')
|
|
953
|
+
.argument('<query>', 'The question or request')
|
|
954
|
+
.option('--file <file>', 'Focus on a specific file')
|
|
955
|
+
.addHelpText('after', `
|
|
956
|
+
Examples:
|
|
957
|
+
$ codehere suggest "How does authentication work?"
|
|
958
|
+
$ codehere suggest "Explain this function" --file src/auth.ts
|
|
959
|
+
|
|
960
|
+
This command:
|
|
961
|
+
• Searches your codebase for relevant code
|
|
962
|
+
• Provides contextual answers and explanations
|
|
963
|
+
• Does NOT make any changes (read-only mode)
|
|
964
|
+
• Creates a task record for tracking
|
|
965
|
+
`)
|
|
966
|
+
.action(async (query, options) => {
|
|
967
|
+
initLogFile();
|
|
968
|
+
if (!process.env.COHERE_API_KEY) {
|
|
969
|
+
newline();
|
|
970
|
+
console.error(error('COHERE_API_KEY not found in environment'));
|
|
971
|
+
process.exit(1);
|
|
972
|
+
}
|
|
973
|
+
try {
|
|
974
|
+
await executeSuggestCommand(query, {
|
|
975
|
+
file: options.file,
|
|
976
|
+
stream: false,
|
|
977
|
+
});
|
|
978
|
+
logEntry({
|
|
979
|
+
timestamp: new Date().toISOString(),
|
|
980
|
+
command: 'suggest',
|
|
981
|
+
query,
|
|
982
|
+
policyStatus: 'allowed',
|
|
983
|
+
});
|
|
984
|
+
}
|
|
985
|
+
catch (err) {
|
|
986
|
+
const errMessage = err instanceof Error ? err.message : String(err);
|
|
987
|
+
// If it's a missing embeddings error, exit with 1 (message already shown)
|
|
988
|
+
if (errMessage.includes('No embeddings found')) {
|
|
989
|
+
process.exit(1);
|
|
990
|
+
}
|
|
991
|
+
console.error(error('Error:'), errMessage);
|
|
992
|
+
process.exit(1);
|
|
993
|
+
}
|
|
994
|
+
});
|
|
995
|
+
// Run command - Unified agentic execution
|
|
996
|
+
program
|
|
997
|
+
.command('run')
|
|
998
|
+
.description('Unified agentic execution - execute a task or goal')
|
|
999
|
+
.argument('<goal>', 'The goal to execute')
|
|
1000
|
+
.option('--task-id <id>', 'Continue execution of an existing task')
|
|
1001
|
+
.option('--file <file>', 'Focus on a specific file')
|
|
1002
|
+
.option('--files <files>', 'Comma-separated list of files to process')
|
|
1003
|
+
.option('--review', 'Enable review before applying changes')
|
|
1004
|
+
.addHelpText('after', `
|
|
1005
|
+
Examples:
|
|
1006
|
+
$ codehere run "Add error handling to the login function"
|
|
1007
|
+
$ codehere run "Refactor authentication module" --file src/auth.ts
|
|
1008
|
+
$ codehere run "Fix bug in payment processing" --task-id task-12345
|
|
1009
|
+
|
|
1010
|
+
This command:
|
|
1011
|
+
• Creates a plan for the goal
|
|
1012
|
+
• Executes the plan step-by-step
|
|
1013
|
+
• Creates/updates task records for tracking
|
|
1014
|
+
• Shows risk tier and environment mode (advisory)
|
|
1015
|
+
`)
|
|
1016
|
+
.action(async (goal, options) => {
|
|
1017
|
+
initLogFile();
|
|
1018
|
+
if (!process.env.COHERE_API_KEY) {
|
|
1019
|
+
newline();
|
|
1020
|
+
console.error(error('COHERE_API_KEY not found in environment'));
|
|
1021
|
+
process.exit(1);
|
|
1022
|
+
}
|
|
1023
|
+
try {
|
|
1024
|
+
const files = options.files ? options.files.split(',').map((f) => f.trim()) : undefined;
|
|
1025
|
+
await executeRunCommand(goal, {
|
|
1026
|
+
taskId: options.taskId,
|
|
1027
|
+
file: options.file,
|
|
1028
|
+
files,
|
|
1029
|
+
review: Boolean(options.review),
|
|
1030
|
+
});
|
|
1031
|
+
logEntry({
|
|
1032
|
+
timestamp: new Date().toISOString(),
|
|
1033
|
+
command: 'run',
|
|
1034
|
+
query: goal,
|
|
1035
|
+
policyStatus: 'allowed',
|
|
1036
|
+
});
|
|
1037
|
+
}
|
|
1038
|
+
catch (err) {
|
|
1039
|
+
console.error(error('Error:'), err instanceof Error ? err.message : String(err));
|
|
1040
|
+
process.exit(1);
|
|
1041
|
+
}
|
|
1042
|
+
});
|
|
1043
|
+
// Review command - Task review interface
|
|
1044
|
+
program
|
|
1045
|
+
.command('review')
|
|
1046
|
+
.description('Review and approve/reject tasks')
|
|
1047
|
+
.argument('[task-id]', 'Task ID to review (omit to list tasks)')
|
|
1048
|
+
.option('--list', 'List tasks needing review')
|
|
1049
|
+
.option('--approve', 'Approve the task')
|
|
1050
|
+
.option('--reject', 'Reject the task')
|
|
1051
|
+
.option('--comment <text>', 'Add a comment to the review')
|
|
1052
|
+
.option('--all', 'Show all completed tasks in list mode')
|
|
1053
|
+
.addHelpText('after', `
|
|
1054
|
+
Examples:
|
|
1055
|
+
$ codehere review --list
|
|
1056
|
+
$ codehere review task-12345
|
|
1057
|
+
$ codehere review task-12345 --approve
|
|
1058
|
+
$ codehere review task-12345 --reject --comment "Security concerns"
|
|
1059
|
+
|
|
1060
|
+
This command:
|
|
1061
|
+
• Lists tasks that need review
|
|
1062
|
+
• Shows task details (files changed, risk tier, etc.)
|
|
1063
|
+
• Allows approving or rejecting tasks
|
|
1064
|
+
• Updates task status and review records
|
|
1065
|
+
`)
|
|
1066
|
+
.action(async (taskId, options) => {
|
|
1067
|
+
initLogFile();
|
|
1068
|
+
try {
|
|
1069
|
+
await executeReviewCommand(taskId, {
|
|
1070
|
+
list: Boolean(options.list),
|
|
1071
|
+
approve: Boolean(options.approve),
|
|
1072
|
+
reject: Boolean(options.reject),
|
|
1073
|
+
comment: options.comment,
|
|
1074
|
+
all: Boolean(options.all),
|
|
1075
|
+
});
|
|
1076
|
+
logEntry({
|
|
1077
|
+
timestamp: new Date().toISOString(),
|
|
1078
|
+
command: 'review',
|
|
1079
|
+
query: taskId,
|
|
1080
|
+
policyStatus: 'allowed',
|
|
1081
|
+
});
|
|
1082
|
+
}
|
|
1083
|
+
catch (err) {
|
|
1084
|
+
console.error(error('Error:'), err instanceof Error ? err.message : String(err));
|
|
1085
|
+
process.exit(1);
|
|
1086
|
+
}
|
|
827
1087
|
});
|
|
828
1088
|
program
|
|
829
1089
|
.command('test')
|