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.
Files changed (211) hide show
  1. package/.env.example +75 -40
  2. package/README.md +112 -345
  3. package/package.json +4 -3
  4. package/dist/chunking/file-grouper.d.ts +0 -39
  5. package/dist/chunking/file-grouper.d.ts.map +0 -1
  6. package/dist/chunking/file-grouper.js +0 -181
  7. package/dist/chunking/file-grouper.js.map +0 -1
  8. package/dist/chunking/semantic-chunker.d.ts +0 -37
  9. package/dist/chunking/semantic-chunker.d.ts.map +0 -1
  10. package/dist/chunking/semantic-chunker.js +0 -172
  11. package/dist/chunking/semantic-chunker.js.map +0 -1
  12. package/dist/chunking/token-counter.d.ts +0 -28
  13. package/dist/chunking/token-counter.d.ts.map +0 -1
  14. package/dist/chunking/token-counter.js +0 -207
  15. package/dist/chunking/token-counter.js.map +0 -1
  16. package/dist/cli/commands/ask-cmd.d.ts +0 -3
  17. package/dist/cli/commands/ask-cmd.d.ts.map +0 -1
  18. package/dist/cli/commands/ask-cmd.js +0 -130
  19. package/dist/cli/commands/ask-cmd.js.map +0 -1
  20. package/dist/cli/commands/config-cmd.d.ts +0 -3
  21. package/dist/cli/commands/config-cmd.d.ts.map +0 -1
  22. package/dist/cli/commands/config-cmd.js +0 -245
  23. package/dist/cli/commands/config-cmd.js.map +0 -1
  24. package/dist/cli/commands/context.d.ts +0 -3
  25. package/dist/cli/commands/context.d.ts.map +0 -1
  26. package/dist/cli/commands/context.js +0 -98
  27. package/dist/cli/commands/context.js.map +0 -1
  28. package/dist/cli/commands/interactive-config.d.ts +0 -2
  29. package/dist/cli/commands/interactive-config.d.ts.map +0 -1
  30. package/dist/cli/commands/interactive-config.js +0 -274
  31. package/dist/cli/commands/interactive-config.js.map +0 -1
  32. package/dist/cli.d.ts +0 -3
  33. package/dist/cli.d.ts.map +0 -1
  34. package/dist/cli.js +0 -398
  35. package/dist/cli.js.map +0 -1
  36. package/dist/codemap/io.d.ts +0 -5
  37. package/dist/codemap/io.d.ts.map +0 -1
  38. package/dist/codemap/io.js +0 -30
  39. package/dist/codemap/io.js.map +0 -1
  40. package/dist/config/apply-env.d.ts +0 -15
  41. package/dist/config/apply-env.d.ts.map +0 -1
  42. package/dist/config/apply-env.js +0 -91
  43. package/dist/config/apply-env.js.map +0 -1
  44. package/dist/config/loader.d.ts +0 -57
  45. package/dist/config/loader.d.ts.map +0 -1
  46. package/dist/config/loader.js +0 -279
  47. package/dist/config/loader.js.map +0 -1
  48. package/dist/config/types.d.ts +0 -46
  49. package/dist/config/types.d.ts.map +0 -1
  50. package/dist/config/types.js +0 -2
  51. package/dist/config/types.js.map +0 -1
  52. package/dist/context/packs.d.ts +0 -33
  53. package/dist/context/packs.d.ts.map +0 -1
  54. package/dist/context/packs.js +0 -180
  55. package/dist/context/packs.js.map +0 -1
  56. package/dist/core/batch-indexer.d.ts +0 -44
  57. package/dist/core/batch-indexer.d.ts.map +0 -1
  58. package/dist/core/batch-indexer.js +0 -161
  59. package/dist/core/batch-indexer.js.map +0 -1
  60. package/dist/core/indexer.d.ts +0 -3
  61. package/dist/core/indexer.d.ts.map +0 -1
  62. package/dist/core/indexer.js +0 -624
  63. package/dist/core/indexer.js.map +0 -1
  64. package/dist/core/metadata.d.ts +0 -19
  65. package/dist/core/metadata.d.ts.map +0 -1
  66. package/dist/core/metadata.js +0 -161
  67. package/dist/core/metadata.js.map +0 -1
  68. package/dist/core/search.d.ts +0 -7
  69. package/dist/core/search.d.ts.map +0 -1
  70. package/dist/core/search.js +0 -542
  71. package/dist/core/search.js.map +0 -1
  72. package/dist/core/symbol-extractor.d.ts +0 -3
  73. package/dist/core/symbol-extractor.d.ts.map +0 -1
  74. package/dist/core/symbol-extractor.js +0 -78
  75. package/dist/core/symbol-extractor.js.map +0 -1
  76. package/dist/core/types.d.ts +0 -104
  77. package/dist/core/types.d.ts.map +0 -1
  78. package/dist/core/types.js +0 -2
  79. package/dist/core/types.js.map +0 -1
  80. package/dist/database/db.d.ts +0 -63
  81. package/dist/database/db.d.ts.map +0 -1
  82. package/dist/database/db.js +0 -205
  83. package/dist/database/db.js.map +0 -1
  84. package/dist/indexer/merkle.d.ts +0 -13
  85. package/dist/indexer/merkle.d.ts.map +0 -1
  86. package/dist/indexer/merkle.js +0 -86
  87. package/dist/indexer/merkle.js.map +0 -1
  88. package/dist/indexer/update.d.ts +0 -19
  89. package/dist/indexer/update.d.ts.map +0 -1
  90. package/dist/indexer/update.js +0 -40
  91. package/dist/indexer/update.js.map +0 -1
  92. package/dist/indexer/watch.d.ts +0 -21
  93. package/dist/indexer/watch.d.ts.map +0 -1
  94. package/dist/indexer/watch.js +0 -222
  95. package/dist/indexer/watch.js.map +0 -1
  96. package/dist/languages/rules.d.ts +0 -11
  97. package/dist/languages/rules.d.ts.map +0 -1
  98. package/dist/languages/rules.js +0 -371
  99. package/dist/languages/rules.js.map +0 -1
  100. package/dist/languages/tree-sitter-loader.d.ts +0 -27
  101. package/dist/languages/tree-sitter-loader.d.ts.map +0 -1
  102. package/dist/languages/tree-sitter-loader.js +0 -76
  103. package/dist/languages/tree-sitter-loader.js.map +0 -1
  104. package/dist/mcp/tools/ask-codebase.d.ts +0 -85
  105. package/dist/mcp/tools/ask-codebase.d.ts.map +0 -1
  106. package/dist/mcp/tools/ask-codebase.js +0 -125
  107. package/dist/mcp/tools/ask-codebase.js.map +0 -1
  108. package/dist/mcp/tools/use-context-pack.d.ts +0 -57
  109. package/dist/mcp/tools/use-context-pack.d.ts.map +0 -1
  110. package/dist/mcp/tools/use-context-pack.js +0 -91
  111. package/dist/mcp/tools/use-context-pack.js.map +0 -1
  112. package/dist/mcp-server.d.ts +0 -3
  113. package/dist/mcp-server.d.ts.map +0 -1
  114. package/dist/mcp-server.js +0 -518
  115. package/dist/mcp-server.js.map +0 -1
  116. package/dist/providers/base.d.ts +0 -39
  117. package/dist/providers/base.d.ts.map +0 -1
  118. package/dist/providers/base.js +0 -198
  119. package/dist/providers/base.js.map +0 -1
  120. package/dist/providers/chat-llm.d.ts +0 -30
  121. package/dist/providers/chat-llm.d.ts.map +0 -1
  122. package/dist/providers/chat-llm.js +0 -82
  123. package/dist/providers/chat-llm.js.map +0 -1
  124. package/dist/providers/index.d.ts +0 -5
  125. package/dist/providers/index.d.ts.map +0 -1
  126. package/dist/providers/index.js +0 -12
  127. package/dist/providers/index.js.map +0 -1
  128. package/dist/providers/ollama.d.ts +0 -13
  129. package/dist/providers/ollama.d.ts.map +0 -1
  130. package/dist/providers/ollama.js +0 -50
  131. package/dist/providers/ollama.js.map +0 -1
  132. package/dist/providers/openai.d.ts +0 -14
  133. package/dist/providers/openai.d.ts.map +0 -1
  134. package/dist/providers/openai.js +0 -122
  135. package/dist/providers/openai.js.map +0 -1
  136. package/dist/providers/token-counter.d.ts +0 -2
  137. package/dist/providers/token-counter.d.ts.map +0 -1
  138. package/dist/providers/token-counter.js +0 -18
  139. package/dist/providers/token-counter.js.map +0 -1
  140. package/dist/ranking/api-reranker.d.ts +0 -18
  141. package/dist/ranking/api-reranker.d.ts.map +0 -1
  142. package/dist/ranking/api-reranker.js +0 -134
  143. package/dist/ranking/api-reranker.js.map +0 -1
  144. package/dist/ranking/symbol-boost.d.ts +0 -15
  145. package/dist/ranking/symbol-boost.d.ts.map +0 -1
  146. package/dist/ranking/symbol-boost.js +0 -154
  147. package/dist/ranking/symbol-boost.js.map +0 -1
  148. package/dist/search/bm25.d.ts +0 -17
  149. package/dist/search/bm25.d.ts.map +0 -1
  150. package/dist/search/bm25.js +0 -56
  151. package/dist/search/bm25.js.map +0 -1
  152. package/dist/search/hybrid.d.ts +0 -21
  153. package/dist/search/hybrid.d.ts.map +0 -1
  154. package/dist/search/hybrid.js +0 -50
  155. package/dist/search/hybrid.js.map +0 -1
  156. package/dist/search/scope.d.ts +0 -5
  157. package/dist/search/scope.d.ts.map +0 -1
  158. package/dist/search/scope.js +0 -107
  159. package/dist/search/scope.js.map +0 -1
  160. package/dist/storage/encrypted-chunks.d.ts +0 -40
  161. package/dist/storage/encrypted-chunks.d.ts.map +0 -1
  162. package/dist/storage/encrypted-chunks.js +0 -237
  163. package/dist/storage/encrypted-chunks.js.map +0 -1
  164. package/dist/symbols/extract.d.ts +0 -15
  165. package/dist/symbols/extract.d.ts.map +0 -1
  166. package/dist/symbols/extract.js +0 -187
  167. package/dist/symbols/extract.js.map +0 -1
  168. package/dist/symbols/graph.d.ts +0 -3
  169. package/dist/symbols/graph.d.ts.map +0 -1
  170. package/dist/symbols/graph.js +0 -89
  171. package/dist/symbols/graph.js.map +0 -1
  172. package/dist/synthesis/markdown-formatter.d.ts +0 -13
  173. package/dist/synthesis/markdown-formatter.d.ts.map +0 -1
  174. package/dist/synthesis/markdown-formatter.js +0 -104
  175. package/dist/synthesis/markdown-formatter.js.map +0 -1
  176. package/dist/synthesis/prompt-builder.d.ts +0 -21
  177. package/dist/synthesis/prompt-builder.d.ts.map +0 -1
  178. package/dist/synthesis/prompt-builder.js +0 -129
  179. package/dist/synthesis/prompt-builder.js.map +0 -1
  180. package/dist/synthesis/synthesizer.d.ts +0 -30
  181. package/dist/synthesis/synthesizer.d.ts.map +0 -1
  182. package/dist/synthesis/synthesizer.js +0 -210
  183. package/dist/synthesis/synthesizer.js.map +0 -1
  184. package/dist/types/ast.d.ts +0 -3
  185. package/dist/types/ast.d.ts.map +0 -1
  186. package/dist/types/ast.js +0 -2
  187. package/dist/types/ast.js.map +0 -1
  188. package/dist/types/codemap.d.ts +0 -58
  189. package/dist/types/codemap.d.ts.map +0 -1
  190. package/dist/types/codemap.js +0 -224
  191. package/dist/types/codemap.js.map +0 -1
  192. package/dist/types/context-pack.d.ts +0 -47
  193. package/dist/types/context-pack.d.ts.map +0 -1
  194. package/dist/types/context-pack.js +0 -44
  195. package/dist/types/context-pack.js.map +0 -1
  196. package/dist/types/search.d.ts +0 -15
  197. package/dist/types/search.d.ts.map +0 -1
  198. package/dist/types/search.js +0 -11
  199. package/dist/types/search.js.map +0 -1
  200. package/dist/utils/cli-ui.d.ts +0 -44
  201. package/dist/utils/cli-ui.d.ts.map +0 -1
  202. package/dist/utils/cli-ui.js +0 -139
  203. package/dist/utils/cli-ui.js.map +0 -1
  204. package/dist/utils/indexer-with-progress.d.ts +0 -10
  205. package/dist/utils/indexer-with-progress.d.ts.map +0 -1
  206. package/dist/utils/indexer-with-progress.js +0 -58
  207. package/dist/utils/indexer-with-progress.js.map +0 -1
  208. package/dist/utils/rate-limiter.d.ts +0 -34
  209. package/dist/utils/rate-limiter.d.ts.map +0 -1
  210. package/dist/utils/rate-limiter.js +0 -178
  211. 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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"}
@@ -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
@@ -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"}
@@ -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
@@ -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"}
@@ -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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"}
@@ -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