codevault 1.5.0 → 1.6.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/.env.example +75 -40
- package/README.md +112 -345
- package/package.json +4 -3
- package/dist/chunking/file-grouper.d.ts +0 -39
- package/dist/chunking/file-grouper.d.ts.map +0 -1
- package/dist/chunking/file-grouper.js +0 -181
- package/dist/chunking/file-grouper.js.map +0 -1
- package/dist/chunking/semantic-chunker.d.ts +0 -37
- package/dist/chunking/semantic-chunker.d.ts.map +0 -1
- package/dist/chunking/semantic-chunker.js +0 -172
- package/dist/chunking/semantic-chunker.js.map +0 -1
- package/dist/chunking/token-counter.d.ts +0 -28
- package/dist/chunking/token-counter.d.ts.map +0 -1
- package/dist/chunking/token-counter.js +0 -207
- package/dist/chunking/token-counter.js.map +0 -1
- package/dist/cli/commands/ask-cmd.d.ts +0 -3
- package/dist/cli/commands/ask-cmd.d.ts.map +0 -1
- package/dist/cli/commands/ask-cmd.js +0 -130
- package/dist/cli/commands/ask-cmd.js.map +0 -1
- package/dist/cli/commands/config-cmd.d.ts +0 -3
- package/dist/cli/commands/config-cmd.d.ts.map +0 -1
- package/dist/cli/commands/config-cmd.js +0 -245
- package/dist/cli/commands/config-cmd.js.map +0 -1
- package/dist/cli/commands/context.d.ts +0 -3
- package/dist/cli/commands/context.d.ts.map +0 -1
- package/dist/cli/commands/context.js +0 -98
- package/dist/cli/commands/context.js.map +0 -1
- package/dist/cli/commands/interactive-config.d.ts +0 -2
- package/dist/cli/commands/interactive-config.d.ts.map +0 -1
- package/dist/cli/commands/interactive-config.js +0 -274
- package/dist/cli/commands/interactive-config.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -398
- package/dist/cli.js.map +0 -1
- package/dist/codemap/io.d.ts +0 -5
- package/dist/codemap/io.d.ts.map +0 -1
- package/dist/codemap/io.js +0 -30
- package/dist/codemap/io.js.map +0 -1
- package/dist/config/apply-env.d.ts +0 -15
- package/dist/config/apply-env.d.ts.map +0 -1
- package/dist/config/apply-env.js +0 -91
- package/dist/config/apply-env.js.map +0 -1
- package/dist/config/loader.d.ts +0 -57
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -279
- package/dist/config/loader.js.map +0 -1
- package/dist/config/types.d.ts +0 -46
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -2
- package/dist/config/types.js.map +0 -1
- package/dist/context/packs.d.ts +0 -33
- package/dist/context/packs.d.ts.map +0 -1
- package/dist/context/packs.js +0 -180
- package/dist/context/packs.js.map +0 -1
- package/dist/core/batch-indexer.d.ts +0 -44
- package/dist/core/batch-indexer.d.ts.map +0 -1
- package/dist/core/batch-indexer.js +0 -161
- package/dist/core/batch-indexer.js.map +0 -1
- package/dist/core/indexer.d.ts +0 -3
- package/dist/core/indexer.d.ts.map +0 -1
- package/dist/core/indexer.js +0 -624
- package/dist/core/indexer.js.map +0 -1
- package/dist/core/metadata.d.ts +0 -19
- package/dist/core/metadata.d.ts.map +0 -1
- package/dist/core/metadata.js +0 -161
- package/dist/core/metadata.js.map +0 -1
- package/dist/core/search.d.ts +0 -7
- package/dist/core/search.d.ts.map +0 -1
- package/dist/core/search.js +0 -542
- package/dist/core/search.js.map +0 -1
- package/dist/core/symbol-extractor.d.ts +0 -3
- package/dist/core/symbol-extractor.d.ts.map +0 -1
- package/dist/core/symbol-extractor.js +0 -78
- package/dist/core/symbol-extractor.js.map +0 -1
- package/dist/core/types.d.ts +0 -104
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -2
- package/dist/core/types.js.map +0 -1
- package/dist/database/db.d.ts +0 -63
- package/dist/database/db.d.ts.map +0 -1
- package/dist/database/db.js +0 -205
- package/dist/database/db.js.map +0 -1
- package/dist/indexer/merkle.d.ts +0 -13
- package/dist/indexer/merkle.d.ts.map +0 -1
- package/dist/indexer/merkle.js +0 -86
- package/dist/indexer/merkle.js.map +0 -1
- package/dist/indexer/update.d.ts +0 -19
- package/dist/indexer/update.d.ts.map +0 -1
- package/dist/indexer/update.js +0 -40
- package/dist/indexer/update.js.map +0 -1
- package/dist/indexer/watch.d.ts +0 -21
- package/dist/indexer/watch.d.ts.map +0 -1
- package/dist/indexer/watch.js +0 -222
- package/dist/indexer/watch.js.map +0 -1
- package/dist/languages/rules.d.ts +0 -11
- package/dist/languages/rules.d.ts.map +0 -1
- package/dist/languages/rules.js +0 -371
- package/dist/languages/rules.js.map +0 -1
- package/dist/languages/tree-sitter-loader.d.ts +0 -27
- package/dist/languages/tree-sitter-loader.d.ts.map +0 -1
- package/dist/languages/tree-sitter-loader.js +0 -76
- package/dist/languages/tree-sitter-loader.js.map +0 -1
- package/dist/mcp/tools/ask-codebase.d.ts +0 -85
- package/dist/mcp/tools/ask-codebase.d.ts.map +0 -1
- package/dist/mcp/tools/ask-codebase.js +0 -125
- package/dist/mcp/tools/ask-codebase.js.map +0 -1
- package/dist/mcp/tools/use-context-pack.d.ts +0 -57
- package/dist/mcp/tools/use-context-pack.d.ts.map +0 -1
- package/dist/mcp/tools/use-context-pack.js +0 -91
- package/dist/mcp/tools/use-context-pack.js.map +0 -1
- package/dist/mcp-server.d.ts +0 -3
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js +0 -518
- package/dist/mcp-server.js.map +0 -1
- package/dist/providers/base.d.ts +0 -39
- package/dist/providers/base.d.ts.map +0 -1
- package/dist/providers/base.js +0 -198
- package/dist/providers/base.js.map +0 -1
- package/dist/providers/chat-llm.d.ts +0 -30
- package/dist/providers/chat-llm.d.ts.map +0 -1
- package/dist/providers/chat-llm.js +0 -82
- package/dist/providers/chat-llm.js.map +0 -1
- package/dist/providers/index.d.ts +0 -5
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -12
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/ollama.d.ts +0 -13
- package/dist/providers/ollama.d.ts.map +0 -1
- package/dist/providers/ollama.js +0 -50
- package/dist/providers/ollama.js.map +0 -1
- package/dist/providers/openai.d.ts +0 -14
- package/dist/providers/openai.d.ts.map +0 -1
- package/dist/providers/openai.js +0 -122
- package/dist/providers/openai.js.map +0 -1
- package/dist/providers/token-counter.d.ts +0 -2
- package/dist/providers/token-counter.d.ts.map +0 -1
- package/dist/providers/token-counter.js +0 -18
- package/dist/providers/token-counter.js.map +0 -1
- package/dist/ranking/api-reranker.d.ts +0 -18
- package/dist/ranking/api-reranker.d.ts.map +0 -1
- package/dist/ranking/api-reranker.js +0 -134
- package/dist/ranking/api-reranker.js.map +0 -1
- package/dist/ranking/symbol-boost.d.ts +0 -15
- package/dist/ranking/symbol-boost.d.ts.map +0 -1
- package/dist/ranking/symbol-boost.js +0 -154
- package/dist/ranking/symbol-boost.js.map +0 -1
- package/dist/search/bm25.d.ts +0 -17
- package/dist/search/bm25.d.ts.map +0 -1
- package/dist/search/bm25.js +0 -56
- package/dist/search/bm25.js.map +0 -1
- package/dist/search/hybrid.d.ts +0 -21
- package/dist/search/hybrid.d.ts.map +0 -1
- package/dist/search/hybrid.js +0 -50
- package/dist/search/hybrid.js.map +0 -1
- package/dist/search/scope.d.ts +0 -5
- package/dist/search/scope.d.ts.map +0 -1
- package/dist/search/scope.js +0 -107
- package/dist/search/scope.js.map +0 -1
- package/dist/storage/encrypted-chunks.d.ts +0 -40
- package/dist/storage/encrypted-chunks.d.ts.map +0 -1
- package/dist/storage/encrypted-chunks.js +0 -237
- package/dist/storage/encrypted-chunks.js.map +0 -1
- package/dist/symbols/extract.d.ts +0 -15
- package/dist/symbols/extract.d.ts.map +0 -1
- package/dist/symbols/extract.js +0 -187
- package/dist/symbols/extract.js.map +0 -1
- package/dist/symbols/graph.d.ts +0 -3
- package/dist/symbols/graph.d.ts.map +0 -1
- package/dist/symbols/graph.js +0 -89
- package/dist/symbols/graph.js.map +0 -1
- package/dist/synthesis/markdown-formatter.d.ts +0 -13
- package/dist/synthesis/markdown-formatter.d.ts.map +0 -1
- package/dist/synthesis/markdown-formatter.js +0 -104
- package/dist/synthesis/markdown-formatter.js.map +0 -1
- package/dist/synthesis/prompt-builder.d.ts +0 -21
- package/dist/synthesis/prompt-builder.d.ts.map +0 -1
- package/dist/synthesis/prompt-builder.js +0 -129
- package/dist/synthesis/prompt-builder.js.map +0 -1
- package/dist/synthesis/synthesizer.d.ts +0 -30
- package/dist/synthesis/synthesizer.d.ts.map +0 -1
- package/dist/synthesis/synthesizer.js +0 -210
- package/dist/synthesis/synthesizer.js.map +0 -1
- package/dist/types/ast.d.ts +0 -3
- package/dist/types/ast.d.ts.map +0 -1
- package/dist/types/ast.js +0 -2
- package/dist/types/ast.js.map +0 -1
- package/dist/types/codemap.d.ts +0 -58
- package/dist/types/codemap.d.ts.map +0 -1
- package/dist/types/codemap.js +0 -224
- package/dist/types/codemap.js.map +0 -1
- package/dist/types/context-pack.d.ts +0 -47
- package/dist/types/context-pack.d.ts.map +0 -1
- package/dist/types/context-pack.js +0 -44
- package/dist/types/context-pack.js.map +0 -1
- package/dist/types/search.d.ts +0 -15
- package/dist/types/search.d.ts.map +0 -1
- package/dist/types/search.js +0 -11
- package/dist/types/search.js.map +0 -1
- package/dist/utils/cli-ui.d.ts +0 -44
- package/dist/utils/cli-ui.d.ts.map +0 -1
- package/dist/utils/cli-ui.js +0 -139
- package/dist/utils/cli-ui.js.map +0 -1
- package/dist/utils/indexer-with-progress.d.ts +0 -10
- package/dist/utils/indexer-with-progress.d.ts.map +0 -1
- package/dist/utils/indexer-with-progress.js +0 -58
- package/dist/utils/indexer-with-progress.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -34
- package/dist/utils/rate-limiter.d.ts.map +0 -1
- package/dist/utils/rate-limiter.js +0 -178
- package/dist/utils/rate-limiter.js.map +0 -1
package/dist/cli.js
DELETED
|
@@ -1,398 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import 'dotenv/config';
|
|
3
|
-
import { spawn } from 'child_process';
|
|
4
|
-
import { Command } from 'commander';
|
|
5
|
-
import chalk from 'chalk';
|
|
6
|
-
import fs from 'fs';
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import { fileURLToPath } from 'url';
|
|
9
|
-
import { registerConfigCommands } from './cli/commands/config-cmd.js';
|
|
10
|
-
import { registerContextCommands } from './cli/commands/context.js';
|
|
11
|
-
import { registerAskCommand } from './cli/commands/ask-cmd.js';
|
|
12
|
-
import { resolveScopeWithPack } from './context/packs.js';
|
|
13
|
-
import { readCodemap } from './codemap/io.js';
|
|
14
|
-
import { indexProject } from './core/indexer.js';
|
|
15
|
-
import { searchCode } from './core/search.js';
|
|
16
|
-
import { startWatch } from './indexer/watch.js';
|
|
17
|
-
import { IndexerUI } from './utils/cli-ui.js';
|
|
18
|
-
import { indexProjectWithProgress } from './utils/indexer-with-progress.js';
|
|
19
|
-
import { applyConfigToEnv } from './config/apply-env.js';
|
|
20
|
-
import { createEmbeddingProvider, getModelProfile, getSizeLimits } from './providers/index.js';
|
|
21
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
22
|
-
const __dirname = path.dirname(__filename);
|
|
23
|
-
const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8'));
|
|
24
|
-
// Apply config to environment variables (CLI only - MCP uses env vars directly)
|
|
25
|
-
// This allows CLI users to use global config while MCP continues using env vars
|
|
26
|
-
applyConfigToEnv();
|
|
27
|
-
const program = new Command();
|
|
28
|
-
program
|
|
29
|
-
.name('codevault')
|
|
30
|
-
.description('CodeVault - AI-powered semantic code search via MCP')
|
|
31
|
-
.version(packageJson.version);
|
|
32
|
-
program
|
|
33
|
-
.command('index [path]')
|
|
34
|
-
.description('Index project and build codevault.codemap.json')
|
|
35
|
-
.option('-p, --provider <provider>', 'embedding provider (auto|openai)', 'auto')
|
|
36
|
-
.option('--project <path>', 'alias for project path')
|
|
37
|
-
.option('--directory <path>', 'alias for project directory')
|
|
38
|
-
.option('--encrypt <mode>', 'encrypt chunk payloads (on|off)')
|
|
39
|
-
.option('--verbose', 'show verbose output')
|
|
40
|
-
.action(async (projectPath = '.', options) => {
|
|
41
|
-
const resolvedPath = options.project || options.directory || projectPath || '.';
|
|
42
|
-
const ui = new IndexerUI();
|
|
43
|
-
try {
|
|
44
|
-
// Suppress verbose indexer logs if not in verbose mode
|
|
45
|
-
if (!options.verbose) {
|
|
46
|
-
process.env.CODEVAULT_QUIET = 'true';
|
|
47
|
-
// Cache model profile to prevent repeated console.logs
|
|
48
|
-
process.env.CODEVAULT_MODEL_PROFILE_CACHED = 'true';
|
|
49
|
-
ui.showHeader();
|
|
50
|
-
// Get provider info once for configuration display
|
|
51
|
-
const embeddingProvider = createEmbeddingProvider(options.provider);
|
|
52
|
-
if (embeddingProvider.init) {
|
|
53
|
-
await embeddingProvider.init();
|
|
54
|
-
}
|
|
55
|
-
const providerName = embeddingProvider.getName();
|
|
56
|
-
const modelName = embeddingProvider.getModelName ? embeddingProvider.getModelName() : null;
|
|
57
|
-
const profile = await getModelProfile(providerName, modelName || providerName);
|
|
58
|
-
const limits = getSizeLimits(profile);
|
|
59
|
-
ui.showConfiguration({
|
|
60
|
-
provider: providerName,
|
|
61
|
-
model: modelName || undefined,
|
|
62
|
-
dimensions: embeddingProvider.getDimensions(),
|
|
63
|
-
chunkSize: {
|
|
64
|
-
min: limits.min,
|
|
65
|
-
max: limits.max,
|
|
66
|
-
optimal: limits.optimal
|
|
67
|
-
},
|
|
68
|
-
rateLimit: embeddingProvider.rateLimiter ? {
|
|
69
|
-
rpm: embeddingProvider.rateLimiter.getStats().rpm || 0
|
|
70
|
-
} : undefined
|
|
71
|
-
});
|
|
72
|
-
ui.startScanning();
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
console.log('Starting project indexing...');
|
|
76
|
-
console.log(`Provider: ${options.provider}`);
|
|
77
|
-
}
|
|
78
|
-
let result;
|
|
79
|
-
if (!options.verbose) {
|
|
80
|
-
// Use progress-aware indexer
|
|
81
|
-
result = await indexProjectWithProgress({
|
|
82
|
-
repoPath: resolvedPath,
|
|
83
|
-
provider: options.provider,
|
|
84
|
-
encryptMode: options.encrypt,
|
|
85
|
-
callbacks: {
|
|
86
|
-
onScanComplete: (fileCount) => {
|
|
87
|
-
ui.finishScanning(fileCount, 25);
|
|
88
|
-
ui.startIndexing();
|
|
89
|
-
},
|
|
90
|
-
onFileProgress: (current, total, fileName) => {
|
|
91
|
-
ui.updateProgress(fileName);
|
|
92
|
-
},
|
|
93
|
-
onFinalizing: () => {
|
|
94
|
-
ui.showFinalizing();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
ui.cleanup();
|
|
99
|
-
ui.finishIndexing();
|
|
100
|
-
// Get file sizes
|
|
101
|
-
const dbPath = path.join(resolvedPath, '.codevault/codevault.db');
|
|
102
|
-
const codemapPath = path.join(resolvedPath, 'codevault.codemap.json');
|
|
103
|
-
const dbSize = fs.existsSync(dbPath) ? `${(fs.statSync(dbPath).size / 1024 / 1024).toFixed(1)} MB` : undefined;
|
|
104
|
-
const codemapSize = fs.existsSync(codemapPath) ? `${(fs.statSync(codemapPath).size / 1024).toFixed(1)} KB` : undefined;
|
|
105
|
-
// Update stats from result
|
|
106
|
-
if (result.chunkingStats) {
|
|
107
|
-
ui.updateStats({
|
|
108
|
-
chunks: result.processedChunks,
|
|
109
|
-
merged: result.chunkingStats.mergedSmall,
|
|
110
|
-
subdivided: result.chunkingStats.subdivided,
|
|
111
|
-
skipped: result.chunkingStats.skippedSmall
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
ui.showSummary({
|
|
115
|
-
totalChunks: result.totalChunks,
|
|
116
|
-
dbSize,
|
|
117
|
-
codemapSize,
|
|
118
|
-
tokenStats: result.tokenStats
|
|
119
|
-
});
|
|
120
|
-
// Clean up env vars
|
|
121
|
-
delete process.env.CODEVAULT_QUIET;
|
|
122
|
-
delete process.env.CODEVAULT_MODEL_PROFILE_CACHED;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
// Verbose mode uses original indexer
|
|
126
|
-
result = await indexProject({
|
|
127
|
-
repoPath: resolvedPath,
|
|
128
|
-
provider: options.provider,
|
|
129
|
-
encryptMode: options.encrypt
|
|
130
|
-
});
|
|
131
|
-
console.log('Indexing completed successfully');
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
if (!options.verbose) {
|
|
136
|
-
ui.cleanup();
|
|
137
|
-
ui.showError(error.message);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
console.error('ERROR during indexing:', error.message);
|
|
141
|
-
}
|
|
142
|
-
process.exit(1);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
program
|
|
146
|
-
.command('update [path]')
|
|
147
|
-
.description('Update index by re-scanning all files')
|
|
148
|
-
.option('-p, --provider <provider>', 'embedding provider (auto|openai)', 'auto')
|
|
149
|
-
.option('--project <path>', 'alias for project path')
|
|
150
|
-
.option('--directory <path>', 'alias for project directory')
|
|
151
|
-
.option('--encrypt <mode>', 'encrypt chunk payloads (on|off)')
|
|
152
|
-
.action(async (projectPath = '.', options) => {
|
|
153
|
-
const resolvedPath = options.project || options.directory || projectPath || '.';
|
|
154
|
-
console.log('🔄 Updating project index...');
|
|
155
|
-
console.log(`Provider: ${options.provider}`);
|
|
156
|
-
try {
|
|
157
|
-
await indexProject({ repoPath: resolvedPath, provider: options.provider, encryptMode: options.encrypt });
|
|
158
|
-
console.log('✅ Index updated successfully');
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
console.error('❌ ERROR during update:', error.message);
|
|
162
|
-
process.exit(1);
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
program
|
|
166
|
-
.command('watch [path]')
|
|
167
|
-
.description('Watch project files and update index on changes')
|
|
168
|
-
.option('-p, --provider <provider>', 'embedding provider (auto|openai)', 'auto')
|
|
169
|
-
.option('--project <path>', 'alias for project path')
|
|
170
|
-
.option('--directory <path>', 'alias for project directory')
|
|
171
|
-
.option('-d, --debounce <ms>', 'debounce interval (default 500)', '500')
|
|
172
|
-
.option('--encrypt <mode>', 'encrypt chunk payloads (on|off)')
|
|
173
|
-
.action(async (projectPath = '.', options) => {
|
|
174
|
-
const resolvedPath = options.project || options.directory || projectPath || '.';
|
|
175
|
-
const debounceMs = parseInt(options.debounce, 10);
|
|
176
|
-
console.log(`👀 Watching ${resolvedPath} for changes...`);
|
|
177
|
-
console.log(`Provider: ${options.provider}`);
|
|
178
|
-
console.log(`Debounce: ${debounceMs}ms`);
|
|
179
|
-
try {
|
|
180
|
-
const controller = startWatch({
|
|
181
|
-
repoPath: resolvedPath,
|
|
182
|
-
provider: options.provider,
|
|
183
|
-
debounceMs,
|
|
184
|
-
encrypt: options.encrypt,
|
|
185
|
-
onBatch: ({ changed, deleted }) => {
|
|
186
|
-
console.log(`🔁 Indexed ${changed.length} changed / ${deleted.length} deleted files`);
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
await controller.ready;
|
|
190
|
-
console.log('✅ Watcher active. Press Ctrl+C to stop.');
|
|
191
|
-
await new Promise(resolve => {
|
|
192
|
-
const shutdown = async () => {
|
|
193
|
-
console.log('\nStopping watcher...');
|
|
194
|
-
await controller.close();
|
|
195
|
-
process.off('SIGINT', shutdown);
|
|
196
|
-
process.off('SIGTERM', shutdown);
|
|
197
|
-
resolve();
|
|
198
|
-
};
|
|
199
|
-
process.on('SIGINT', shutdown);
|
|
200
|
-
process.on('SIGTERM', shutdown);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
catch (error) {
|
|
204
|
-
console.error('❌ Failed to start watcher:', error.message);
|
|
205
|
-
process.exit(1);
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
program
|
|
209
|
-
.command('search <query> [path]')
|
|
210
|
-
.description('Search indexed code (returns metadata only)')
|
|
211
|
-
.option('-k, --limit <num>', 'maximum results', '10')
|
|
212
|
-
.option('-p, --provider <provider>', 'embedding provider', 'auto')
|
|
213
|
-
.option('--project <path>', 'project path')
|
|
214
|
-
.option('--directory <path>', 'project directory')
|
|
215
|
-
.option('--path_glob <pattern...>', 'file patterns')
|
|
216
|
-
.option('--tags <tag...>', 'filter by tags')
|
|
217
|
-
.option('--lang <language...>', 'filter by language')
|
|
218
|
-
.option('--reranker <mode>', 'reranker (off|api)', 'off')
|
|
219
|
-
.option('--hybrid <mode>', 'hybrid search (on|off)', 'on')
|
|
220
|
-
.option('--bm25 <mode>', 'BM25 (on|off)', 'on')
|
|
221
|
-
.option('--symbol_boost <mode>', 'symbol boost (on|off)', 'on')
|
|
222
|
-
.action(async (query, projectPath = '.', options) => {
|
|
223
|
-
try {
|
|
224
|
-
// Suppress verbose logs
|
|
225
|
-
process.env.CODEVAULT_QUIET = 'true';
|
|
226
|
-
const resolvedPath = options.project || options.directory || projectPath || '.';
|
|
227
|
-
const limit = parseInt(options.limit);
|
|
228
|
-
const { scope: scopeFilters } = resolveScopeWithPack(options, { basePath: resolvedPath });
|
|
229
|
-
const results = await searchCode(query, limit, options.provider, resolvedPath, scopeFilters);
|
|
230
|
-
if (!results.success) {
|
|
231
|
-
console.log(chalk.yellow(`\nNo results found for "${query}"`));
|
|
232
|
-
if (results.suggestion) {
|
|
233
|
-
console.log(chalk.gray(`Suggestion: ${results.suggestion}`));
|
|
234
|
-
}
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
if (results.results.length === 0) {
|
|
238
|
-
console.log(chalk.yellow(`\nNo results found for "${query}"`));
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
console.log(chalk.cyan(`\n🔍 Found ${results.results.length} results for "${query}"\n`));
|
|
242
|
-
results.results.forEach((result, index) => {
|
|
243
|
-
const score = (result.meta.score * 100).toFixed(0);
|
|
244
|
-
console.log(chalk.white(`${index + 1}. ${result.path}`));
|
|
245
|
-
console.log(chalk.gray(` ${result.meta.symbol}() · ${result.lang}`));
|
|
246
|
-
console.log(chalk.gray(` Score: ${score}%\n`));
|
|
247
|
-
});
|
|
248
|
-
delete process.env.CODEVAULT_QUIET;
|
|
249
|
-
}
|
|
250
|
-
catch (error) {
|
|
251
|
-
console.error(chalk.red('\n❌ Search error:'), error.message);
|
|
252
|
-
process.exit(1);
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
program
|
|
256
|
-
.command('search-with-code <query> [path]')
|
|
257
|
-
.description('Search indexed code and display full code chunks')
|
|
258
|
-
.option('-k, --limit <num>', 'maximum results', '5')
|
|
259
|
-
.option('-p, --provider <provider>', 'embedding provider', 'auto')
|
|
260
|
-
.option('--project <path>', 'project path')
|
|
261
|
-
.option('--directory <path>', 'project directory')
|
|
262
|
-
.option('--path_glob <pattern...>', 'file patterns')
|
|
263
|
-
.option('--tags <tag...>', 'filter by tags')
|
|
264
|
-
.option('--lang <language...>', 'filter by language')
|
|
265
|
-
.option('--reranker <mode>', 'reranker (off|api)', 'off')
|
|
266
|
-
.option('--hybrid <mode>', 'hybrid search (on|off)', 'on')
|
|
267
|
-
.option('--bm25 <mode>', 'BM25 (on|off)', 'on')
|
|
268
|
-
.option('--symbol_boost <mode>', 'symbol boost (on|off)', 'on')
|
|
269
|
-
.option('--max-code-size <bytes>', 'max code size to display per chunk', '100000')
|
|
270
|
-
.action(async (query, projectPath = '.', options) => {
|
|
271
|
-
try {
|
|
272
|
-
// Suppress verbose logs
|
|
273
|
-
process.env.CODEVAULT_QUIET = 'true';
|
|
274
|
-
const resolvedPath = options.project || options.directory || projectPath || '.';
|
|
275
|
-
const limit = parseInt(options.limit);
|
|
276
|
-
const maxCodeSize = parseInt(options.maxCodeSize || '100000');
|
|
277
|
-
const { scope: scopeFilters } = resolveScopeWithPack(options, { basePath: resolvedPath });
|
|
278
|
-
const results = await searchCode(query, limit, options.provider, resolvedPath, scopeFilters);
|
|
279
|
-
if (!results.success) {
|
|
280
|
-
console.log(chalk.yellow(`\nNo results found for "${query}"`));
|
|
281
|
-
if (results.suggestion) {
|
|
282
|
-
console.log(chalk.gray(`Suggestion: ${results.suggestion}`));
|
|
283
|
-
}
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
if (results.results.length === 0) {
|
|
287
|
-
console.log(chalk.yellow(`\nNo results found for "${query}"`));
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
console.log(chalk.cyan(`\n🔍 Found ${results.results.length} results with code for "${query}"\n`));
|
|
291
|
-
const { getChunk } = await import('./core/search.js');
|
|
292
|
-
for (let index = 0; index < results.results.length; index++) {
|
|
293
|
-
const result = results.results[index];
|
|
294
|
-
const score = (result.meta.score * 100).toFixed(0);
|
|
295
|
-
console.log(chalk.gray('━'.repeat(80)));
|
|
296
|
-
console.log(chalk.white(`📄 ${result.path} · ${result.meta.symbol}() · Score: ${score}%`));
|
|
297
|
-
console.log(chalk.gray('━'.repeat(80)));
|
|
298
|
-
const chunkResult = await getChunk(result.sha, resolvedPath);
|
|
299
|
-
if (chunkResult.success && chunkResult.code) {
|
|
300
|
-
let code = chunkResult.code;
|
|
301
|
-
let truncated = false;
|
|
302
|
-
if (code.length > maxCodeSize) {
|
|
303
|
-
code = code.substring(0, maxCodeSize);
|
|
304
|
-
truncated = true;
|
|
305
|
-
}
|
|
306
|
-
console.log();
|
|
307
|
-
console.log(code);
|
|
308
|
-
if (truncated) {
|
|
309
|
-
console.log(chalk.yellow(`\n⚠️ Code truncated (${chunkResult.code.length} chars, showing ${maxCodeSize})`));
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
console.log(chalk.red(`\n❌ Error retrieving code: ${chunkResult.error}`));
|
|
314
|
-
}
|
|
315
|
-
console.log('');
|
|
316
|
-
}
|
|
317
|
-
delete process.env.CODEVAULT_QUIET;
|
|
318
|
-
}
|
|
319
|
-
catch (error) {
|
|
320
|
-
console.error(chalk.red('\n❌ Search error:'), error.message);
|
|
321
|
-
process.exit(1);
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
registerConfigCommands(program);
|
|
325
|
-
registerContextCommands(program);
|
|
326
|
-
registerAskCommand(program);
|
|
327
|
-
program
|
|
328
|
-
.command('mcp')
|
|
329
|
-
.description('Start MCP server')
|
|
330
|
-
.action(() => {
|
|
331
|
-
const serverPath = path.join(__dirname, 'mcp-server.js');
|
|
332
|
-
const mcpServer = spawn('node', [serverPath], {
|
|
333
|
-
stdio: 'inherit'
|
|
334
|
-
});
|
|
335
|
-
mcpServer.on('error', (error) => {
|
|
336
|
-
process.stderr.write(`ERROR starting MCP server: ${error.message}\n`);
|
|
337
|
-
process.exit(1);
|
|
338
|
-
});
|
|
339
|
-
mcpServer.on('exit', (code) => {
|
|
340
|
-
if (code !== 0) {
|
|
341
|
-
process.stderr.write(`MCP server terminated with code: ${code}\n`);
|
|
342
|
-
process.exit(code || 0);
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
process.on('SIGINT', () => {
|
|
346
|
-
mcpServer.kill('SIGINT');
|
|
347
|
-
});
|
|
348
|
-
process.on('SIGTERM', () => {
|
|
349
|
-
mcpServer.kill('SIGTERM');
|
|
350
|
-
});
|
|
351
|
-
});
|
|
352
|
-
program
|
|
353
|
-
.command('info')
|
|
354
|
-
.description('Show project information')
|
|
355
|
-
.action(async () => {
|
|
356
|
-
try {
|
|
357
|
-
const codemapPath = 'codevault.codemap.json';
|
|
358
|
-
if (!fs.existsSync(codemapPath)) {
|
|
359
|
-
console.log('Project not indexed');
|
|
360
|
-
console.log('TIP: Run "codevault index" to index the project');
|
|
361
|
-
return;
|
|
362
|
-
}
|
|
363
|
-
const codemap = readCodemap(codemapPath);
|
|
364
|
-
const chunks = Object.values(codemap);
|
|
365
|
-
const langStats = chunks.reduce((acc, chunk) => {
|
|
366
|
-
acc[chunk.lang || 'unknown'] = (acc[chunk.lang || 'unknown'] || 0) + 1;
|
|
367
|
-
return acc;
|
|
368
|
-
}, {});
|
|
369
|
-
const fileStats = chunks.reduce((acc, chunk) => {
|
|
370
|
-
acc[chunk.file] = (acc[chunk.file] || 0) + 1;
|
|
371
|
-
return acc;
|
|
372
|
-
}, {});
|
|
373
|
-
const topFiles = Object.entries(fileStats)
|
|
374
|
-
.sort(([, a], [, b]) => b - a)
|
|
375
|
-
.slice(0, 10);
|
|
376
|
-
console.log('CodeVault project information\n');
|
|
377
|
-
console.log(`Total indexed functions: ${chunks.length}`);
|
|
378
|
-
console.log('');
|
|
379
|
-
console.log('By language:');
|
|
380
|
-
Object.entries(langStats).forEach(([lang, count]) => {
|
|
381
|
-
console.log(` ${lang}: ${count} functions`);
|
|
382
|
-
});
|
|
383
|
-
console.log('');
|
|
384
|
-
console.log('Files with most functions:');
|
|
385
|
-
topFiles.forEach(([file, count]) => {
|
|
386
|
-
console.log(` ${file}: ${count} functions`);
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
catch (error) {
|
|
390
|
-
console.error('ERROR getting information:', error.message);
|
|
391
|
-
process.exit(1);
|
|
392
|
-
}
|
|
393
|
-
});
|
|
394
|
-
if (process.argv.length <= 2) {
|
|
395
|
-
program.help();
|
|
396
|
-
}
|
|
397
|
-
program.parse(process.argv);
|
|
398
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/codemap/io.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type Codemap } from '../types/codemap.js';
|
|
2
|
-
export declare function resolveCodemapPath(basePath?: string): string;
|
|
3
|
-
export declare function readCodemap(filePath?: string): Codemap;
|
|
4
|
-
export declare function writeCodemap(filePath: string | undefined, codemap: Codemap): Codemap;
|
|
5
|
-
//# sourceMappingURL=io.d.ts.map
|
package/dist/codemap/io.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/codemap/io.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE3E,wBAAgB,kBAAkB,CAAC,QAAQ,SAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAetD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CASpF"}
|
package/dist/codemap/io.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { normalizeCodemapRecord } from '../types/codemap.js';
|
|
4
|
-
export function resolveCodemapPath(basePath = '.') {
|
|
5
|
-
return path.resolve(basePath, 'codevault.codemap.json');
|
|
6
|
-
}
|
|
7
|
-
export function readCodemap(filePath) {
|
|
8
|
-
const resolvedPath = filePath ? path.resolve(filePath) : resolveCodemapPath('.');
|
|
9
|
-
if (!fs.existsSync(resolvedPath)) {
|
|
10
|
-
return {};
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
const raw = fs.readFileSync(resolvedPath, 'utf8');
|
|
14
|
-
const parsed = JSON.parse(raw);
|
|
15
|
-
return normalizeCodemapRecord(parsed);
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
console.warn(`Failed to read codemap at ${resolvedPath}:`, error.message);
|
|
19
|
-
return {};
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
export function writeCodemap(filePath, codemap) {
|
|
23
|
-
const resolvedPath = filePath ? path.resolve(filePath) : resolveCodemapPath('.');
|
|
24
|
-
const normalized = normalizeCodemapRecord(codemap || {});
|
|
25
|
-
const directory = path.dirname(resolvedPath);
|
|
26
|
-
fs.mkdirSync(directory, { recursive: true });
|
|
27
|
-
fs.writeFileSync(resolvedPath, JSON.stringify(normalized, null, 2));
|
|
28
|
-
return normalized;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=io.js.map
|
package/dist/codemap/io.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/codemap/io.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAgB,MAAM,qBAAqB,CAAC;AAE3E,MAAM,UAAU,kBAAkB,CAAC,QAAQ,GAAG,GAAG;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAiB;IAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEjF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,6BAA6B,YAAY,GAAG,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA4B,EAAE,OAAgB;IACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { CodevaultConfig } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Apply configuration to process.env for backward compatibility
|
|
4
|
-
* This allows existing code to work without changes
|
|
5
|
-
*
|
|
6
|
-
* @readonly Only reads config, modifies process.env (ephemeral)
|
|
7
|
-
* @param basePath Project path for loading config
|
|
8
|
-
*/
|
|
9
|
-
export declare function applyConfigToEnv(basePath?: string): void;
|
|
10
|
-
/**
|
|
11
|
-
* Get effective configuration (for display purposes)
|
|
12
|
-
* Shows what config is actually being used after merging
|
|
13
|
-
*/
|
|
14
|
-
export declare function getEffectiveConfig(basePath?: string): CodevaultConfig;
|
|
15
|
-
//# sourceMappingURL=apply-env.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-env.d.ts","sourceRoot":"","sources":["../../src/config/apply-env.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,IAAI,CA+FrD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAM,GAAG,eAAe,CAElE"}
|
package/dist/config/apply-env.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { loadConfig } from './loader.js';
|
|
2
|
-
/**
|
|
3
|
-
* Apply configuration to process.env for backward compatibility
|
|
4
|
-
* This allows existing code to work without changes
|
|
5
|
-
*
|
|
6
|
-
* @readonly Only reads config, modifies process.env (ephemeral)
|
|
7
|
-
* @param basePath Project path for loading config
|
|
8
|
-
*/
|
|
9
|
-
export function applyConfigToEnv(basePath = '.') {
|
|
10
|
-
const config = loadConfig(basePath);
|
|
11
|
-
// Only set env vars if they're not already set (env vars have priority)
|
|
12
|
-
// OpenAI provider - Set new variables with backward compatibility
|
|
13
|
-
if (config.providers?.openai) {
|
|
14
|
-
if (!process.env.CODEVAULT_EMBEDDING_API_KEY && !process.env.OPENAI_API_KEY && config.providers.openai.apiKey) {
|
|
15
|
-
process.env.CODEVAULT_EMBEDDING_API_KEY = config.providers.openai.apiKey;
|
|
16
|
-
process.env.OPENAI_API_KEY = config.providers.openai.apiKey; // Backward compatibility
|
|
17
|
-
}
|
|
18
|
-
if (!process.env.CODEVAULT_EMBEDDING_BASE_URL && !process.env.OPENAI_BASE_URL && config.providers.openai.baseUrl) {
|
|
19
|
-
process.env.CODEVAULT_EMBEDDING_BASE_URL = config.providers.openai.baseUrl;
|
|
20
|
-
process.env.OPENAI_BASE_URL = config.providers.openai.baseUrl; // Backward compatibility
|
|
21
|
-
}
|
|
22
|
-
if (!process.env.CODEVAULT_EMBEDDING_MODEL && !process.env.CODEVAULT_OPENAI_EMBEDDING_MODEL && config.providers.openai.model) {
|
|
23
|
-
process.env.CODEVAULT_EMBEDDING_MODEL = config.providers.openai.model;
|
|
24
|
-
process.env.CODEVAULT_OPENAI_EMBEDDING_MODEL = config.providers.openai.model; // Backward compatibility
|
|
25
|
-
}
|
|
26
|
-
if (!process.env.CODEVAULT_EMBEDDING_DIMENSIONS && !process.env.CODEVAULT_DIMENSIONS && config.providers.openai.dimensions) {
|
|
27
|
-
process.env.CODEVAULT_EMBEDDING_DIMENSIONS = String(config.providers.openai.dimensions);
|
|
28
|
-
process.env.CODEVAULT_DIMENSIONS = String(config.providers.openai.dimensions); // Backward compatibility
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// Max tokens - Set new variable with backward compatibility
|
|
32
|
-
if (!process.env.CODEVAULT_EMBEDDING_MAX_TOKENS && !process.env.CODEVAULT_MAX_TOKENS && config.maxTokens) {
|
|
33
|
-
process.env.CODEVAULT_EMBEDDING_MAX_TOKENS = String(config.maxTokens);
|
|
34
|
-
process.env.CODEVAULT_MAX_TOKENS = String(config.maxTokens); // Backward compatibility
|
|
35
|
-
}
|
|
36
|
-
// Rate limiting - Set new variables with backward compatibility
|
|
37
|
-
if (config.rateLimit) {
|
|
38
|
-
if (!process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_RPM && !process.env.CODEVAULT_RATE_LIMIT_RPM && config.rateLimit.rpm) {
|
|
39
|
-
process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_RPM = String(config.rateLimit.rpm);
|
|
40
|
-
process.env.CODEVAULT_RATE_LIMIT_RPM = String(config.rateLimit.rpm); // Backward compatibility
|
|
41
|
-
}
|
|
42
|
-
if (!process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_TPM && !process.env.CODEVAULT_RATE_LIMIT_TPM && config.rateLimit.tpm) {
|
|
43
|
-
process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_TPM = String(config.rateLimit.tpm);
|
|
44
|
-
process.env.CODEVAULT_RATE_LIMIT_TPM = String(config.rateLimit.tpm); // Backward compatibility
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// Encryption
|
|
48
|
-
if (config.encryption) {
|
|
49
|
-
if (!process.env.CODEVAULT_ENCRYPTION_KEY && config.encryption.key) {
|
|
50
|
-
process.env.CODEVAULT_ENCRYPTION_KEY = config.encryption.key;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// Reranker
|
|
54
|
-
if (config.reranker) {
|
|
55
|
-
if (!process.env.CODEVAULT_RERANK_API_URL && config.reranker.apiUrl) {
|
|
56
|
-
process.env.CODEVAULT_RERANK_API_URL = config.reranker.apiUrl;
|
|
57
|
-
}
|
|
58
|
-
if (!process.env.CODEVAULT_RERANK_API_KEY && config.reranker.apiKey) {
|
|
59
|
-
process.env.CODEVAULT_RERANK_API_KEY = config.reranker.apiKey;
|
|
60
|
-
}
|
|
61
|
-
if (!process.env.CODEVAULT_RERANK_MODEL && config.reranker.model) {
|
|
62
|
-
process.env.CODEVAULT_RERANK_MODEL = config.reranker.model;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// Chat LLM
|
|
66
|
-
if (config.chatLLM?.openai) {
|
|
67
|
-
if (!process.env.CODEVAULT_CHAT_API_KEY && config.chatLLM.openai.apiKey) {
|
|
68
|
-
process.env.CODEVAULT_CHAT_API_KEY = config.chatLLM.openai.apiKey;
|
|
69
|
-
}
|
|
70
|
-
if (!process.env.CODEVAULT_CHAT_BASE_URL && config.chatLLM.openai.baseUrl) {
|
|
71
|
-
process.env.CODEVAULT_CHAT_BASE_URL = config.chatLLM.openai.baseUrl;
|
|
72
|
-
}
|
|
73
|
-
if (!process.env.CODEVAULT_CHAT_MODEL && config.chatLLM.openai.model) {
|
|
74
|
-
process.env.CODEVAULT_CHAT_MODEL = config.chatLLM.openai.model;
|
|
75
|
-
}
|
|
76
|
-
if (!process.env.CODEVAULT_CHAT_MAX_TOKENS && config.chatLLM.openai.maxTokens) {
|
|
77
|
-
process.env.CODEVAULT_CHAT_MAX_TOKENS = String(config.chatLLM.openai.maxTokens);
|
|
78
|
-
}
|
|
79
|
-
if (!process.env.CODEVAULT_CHAT_TEMPERATURE && config.chatLLM.openai.temperature) {
|
|
80
|
-
process.env.CODEVAULT_CHAT_TEMPERATURE = String(config.chatLLM.openai.temperature);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Get effective configuration (for display purposes)
|
|
86
|
-
* Shows what config is actually being used after merging
|
|
87
|
-
*/
|
|
88
|
-
export function getEffectiveConfig(basePath = '.') {
|
|
89
|
-
return loadConfig(basePath);
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=apply-env.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-env.js","sourceRoot":"","sources":["../../src/config/apply-env.ts"],"names":[],"mappings":"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"}
|
package/dist/config/loader.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { CodevaultConfig, ConfigSource } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Read global configuration from ~/.codevault/config.json
|
|
4
|
-
* @readonly Never modifies files
|
|
5
|
-
*/
|
|
6
|
-
export declare function readGlobalConfig(): CodevaultConfig | null;
|
|
7
|
-
/**
|
|
8
|
-
* Read project-local configuration from .codevault/config.json
|
|
9
|
-
* @readonly Never modifies files
|
|
10
|
-
*/
|
|
11
|
-
export declare function readProjectConfig(basePath?: string): CodevaultConfig | null;
|
|
12
|
-
/**
|
|
13
|
-
* Read configuration from environment variables
|
|
14
|
-
* @readonly Never modifies files or environment
|
|
15
|
-
*/
|
|
16
|
-
export declare function readEnvConfig(): CodevaultConfig;
|
|
17
|
-
/**
|
|
18
|
-
* Load merged configuration from all sources
|
|
19
|
-
* Priority: env > project > global
|
|
20
|
-
*
|
|
21
|
-
* @readonly Never modifies config files
|
|
22
|
-
* @param basePath Project path for project-local config
|
|
23
|
-
* @returns Merged configuration (in-memory only)
|
|
24
|
-
*/
|
|
25
|
-
export declare function loadConfig(basePath?: string): CodevaultConfig;
|
|
26
|
-
/**
|
|
27
|
-
* Get configuration sources for debugging
|
|
28
|
-
* @readonly Never modifies files
|
|
29
|
-
*/
|
|
30
|
-
export declare function getConfigSources(basePath?: string): ConfigSource;
|
|
31
|
-
/**
|
|
32
|
-
* Write global configuration (CLI only)
|
|
33
|
-
* This is the ONLY function that writes to disk
|
|
34
|
-
*/
|
|
35
|
-
export declare function saveGlobalConfig(config: CodevaultConfig): void;
|
|
36
|
-
/**
|
|
37
|
-
* Write project-local configuration (CLI only)
|
|
38
|
-
* This is the ONLY function that writes project config
|
|
39
|
-
*/
|
|
40
|
-
export declare function saveProjectConfig(config: CodevaultConfig, basePath?: string): void;
|
|
41
|
-
/**
|
|
42
|
-
* Check if global config exists
|
|
43
|
-
*/
|
|
44
|
-
export declare function hasGlobalConfig(): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Check if project config exists
|
|
47
|
-
*/
|
|
48
|
-
export declare function hasProjectConfig(basePath?: string): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Get global config file path
|
|
51
|
-
*/
|
|
52
|
-
export declare function getGlobalConfigPath(): string;
|
|
53
|
-
/**
|
|
54
|
-
* Get project config file path
|
|
55
|
-
*/
|
|
56
|
-
export declare function getProjectConfigPath(basePath?: string): string;
|
|
57
|
-
//# sourceMappingURL=loader.d.ts.map
|