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
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMhE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,GAAG,IAAI,CAWzD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAM,GAAG,eAAe,GAAG,IAAI,CAYxE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAwH/C;AAuED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,SAAM,GAAG,eAAe,CAO1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,YAAY,CAM7D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAQ9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,SAAM,GAAG,IAAI,CAW/E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,SAAM,GAAG,MAAM,CAE3D"}
@@ -1,279 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import os from 'os';
4
- const GLOBAL_CONFIG_DIR = path.join(os.homedir(), '.codevault');
5
- const GLOBAL_CONFIG_FILE = path.join(GLOBAL_CONFIG_DIR, 'config.json');
6
- const PROJECT_CONFIG_FILE = '.codevault/config.json';
7
- /**
8
- * Read global configuration from ~/.codevault/config.json
9
- * @readonly Never modifies files
10
- */
11
- export function readGlobalConfig() {
12
- try {
13
- if (!fs.existsSync(GLOBAL_CONFIG_FILE)) {
14
- return null;
15
- }
16
- const content = fs.readFileSync(GLOBAL_CONFIG_FILE, 'utf8');
17
- return JSON.parse(content);
18
- }
19
- catch (error) {
20
- console.warn(`Warning: Failed to read global config: ${error.message}`);
21
- return null;
22
- }
23
- }
24
- /**
25
- * Read project-local configuration from .codevault/config.json
26
- * @readonly Never modifies files
27
- */
28
- export function readProjectConfig(basePath = '.') {
29
- try {
30
- const configPath = path.join(path.resolve(basePath), PROJECT_CONFIG_FILE);
31
- if (!fs.existsSync(configPath)) {
32
- return null;
33
- }
34
- const content = fs.readFileSync(configPath, 'utf8');
35
- return JSON.parse(content);
36
- }
37
- catch (error) {
38
- console.warn(`Warning: Failed to read project config: ${error.message}`);
39
- return null;
40
- }
41
- }
42
- /**
43
- * Read configuration from environment variables
44
- * @readonly Never modifies files or environment
45
- */
46
- export function readEnvConfig() {
47
- const config = {};
48
- // Provider settings - New variables with backward compatibility
49
- if (process.env.CODEVAULT_EMBEDDING_API_KEY || process.env.OPENAI_API_KEY) {
50
- config.providers = config.providers || {};
51
- config.providers.openai = config.providers.openai || {};
52
- config.providers.openai.apiKey = process.env.CODEVAULT_EMBEDDING_API_KEY || process.env.OPENAI_API_KEY;
53
- }
54
- if (process.env.CODEVAULT_EMBEDDING_BASE_URL || process.env.OPENAI_BASE_URL) {
55
- config.providers = config.providers || {};
56
- config.providers.openai = config.providers.openai || {};
57
- config.providers.openai.baseUrl = process.env.CODEVAULT_EMBEDDING_BASE_URL || process.env.OPENAI_BASE_URL;
58
- }
59
- if (process.env.CODEVAULT_EMBEDDING_MODEL || process.env.CODEVAULT_OPENAI_EMBEDDING_MODEL || process.env.OPENAI_MODEL) {
60
- config.providers = config.providers || {};
61
- config.providers.openai = config.providers.openai || {};
62
- config.providers.openai.model = process.env.CODEVAULT_EMBEDDING_MODEL || process.env.CODEVAULT_OPENAI_EMBEDDING_MODEL || process.env.OPENAI_MODEL;
63
- }
64
- // Dimensions - New variable with backward compatibility
65
- if (process.env.CODEVAULT_EMBEDDING_DIMENSIONS || process.env.CODEVAULT_DIMENSIONS) {
66
- const dims = parseInt(process.env.CODEVAULT_EMBEDDING_DIMENSIONS || process.env.CODEVAULT_DIMENSIONS || '0', 10);
67
- if (!isNaN(dims) && dims > 0) {
68
- if (config.providers?.openai) {
69
- config.providers.openai.dimensions = dims;
70
- }
71
- }
72
- }
73
- // Max tokens - New variable with backward compatibility
74
- if (process.env.CODEVAULT_EMBEDDING_MAX_TOKENS || process.env.CODEVAULT_MAX_TOKENS) {
75
- const tokens = parseInt(process.env.CODEVAULT_EMBEDDING_MAX_TOKENS || process.env.CODEVAULT_MAX_TOKENS || '0', 10);
76
- if (!isNaN(tokens) && tokens > 0) {
77
- config.maxTokens = tokens;
78
- }
79
- }
80
- // Rate limiting - New variables with backward compatibility
81
- if (process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT) {
82
- const rpm = parseInt(process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT || '0', 10);
83
- if (!isNaN(rpm) && rpm > 0) {
84
- config.rateLimit = config.rateLimit || {};
85
- config.rateLimit.rpm = rpm;
86
- }
87
- }
88
- if (process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_TPM || process.env.CODEVAULT_RATE_LIMIT_TPM) {
89
- const tpm = parseInt(process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_TPM || process.env.CODEVAULT_RATE_LIMIT_TPM || '0', 10);
90
- if (!isNaN(tpm) && tpm > 0) {
91
- config.rateLimit = config.rateLimit || {};
92
- config.rateLimit.tpm = tpm;
93
- }
94
- }
95
- // Encryption
96
- if (process.env.CODEVAULT_ENCRYPTION_KEY) {
97
- config.encryption = config.encryption || {};
98
- config.encryption.key = process.env.CODEVAULT_ENCRYPTION_KEY;
99
- config.encryption.enabled = true;
100
- }
101
- // Reranker
102
- if (process.env.CODEVAULT_RERANK_API_URL) {
103
- config.reranker = config.reranker || {};
104
- config.reranker.apiUrl = process.env.CODEVAULT_RERANK_API_URL;
105
- }
106
- if (process.env.CODEVAULT_RERANK_API_KEY) {
107
- config.reranker = config.reranker || {};
108
- config.reranker.apiKey = process.env.CODEVAULT_RERANK_API_KEY;
109
- }
110
- if (process.env.CODEVAULT_RERANK_MODEL) {
111
- config.reranker = config.reranker || {};
112
- config.reranker.model = process.env.CODEVAULT_RERANK_MODEL;
113
- }
114
- // Chat LLM Configuration
115
- if (process.env.CODEVAULT_CHAT_API_KEY || process.env.OPENAI_API_KEY) {
116
- config.chatLLM = config.chatLLM || {};
117
- config.chatLLM.openai = config.chatLLM.openai || {};
118
- config.chatLLM.openai.apiKey = process.env.CODEVAULT_CHAT_API_KEY || process.env.OPENAI_API_KEY;
119
- }
120
- if (process.env.CODEVAULT_CHAT_BASE_URL || process.env.OPENAI_BASE_URL) {
121
- config.chatLLM = config.chatLLM || {};
122
- config.chatLLM.openai = config.chatLLM.openai || {};
123
- config.chatLLM.openai.baseUrl = process.env.CODEVAULT_CHAT_BASE_URL || process.env.OPENAI_BASE_URL;
124
- }
125
- if (process.env.CODEVAULT_CHAT_MODEL || process.env.CODEVAULT_OPENAI_CHAT_MODEL) {
126
- config.chatLLM = config.chatLLM || {};
127
- config.chatLLM.openai = config.chatLLM.openai || {};
128
- config.chatLLM.openai.model = process.env.CODEVAULT_CHAT_MODEL || process.env.CODEVAULT_OPENAI_CHAT_MODEL;
129
- }
130
- if (process.env.CODEVAULT_CHAT_MAX_TOKENS) {
131
- const maxTokens = parseInt(process.env.CODEVAULT_CHAT_MAX_TOKENS, 10);
132
- if (!isNaN(maxTokens) && maxTokens > 0) {
133
- config.chatLLM = config.chatLLM || {};
134
- config.chatLLM.openai = config.chatLLM.openai || {};
135
- config.chatLLM.openai.maxTokens = maxTokens;
136
- }
137
- }
138
- if (process.env.CODEVAULT_CHAT_TEMPERATURE) {
139
- const temperature = parseFloat(process.env.CODEVAULT_CHAT_TEMPERATURE);
140
- if (!isNaN(temperature)) {
141
- config.chatLLM = config.chatLLM || {};
142
- config.chatLLM.openai = config.chatLLM.openai || {};
143
- config.chatLLM.openai.temperature = temperature;
144
- }
145
- }
146
- return config;
147
- }
148
- /**
149
- * Deep merge configuration objects
150
- * Later configs override earlier ones
151
- */
152
- function deepMerge(...configs) {
153
- const result = {};
154
- for (const config of configs) {
155
- if (!config)
156
- continue;
157
- if (config.defaultProvider) {
158
- result.defaultProvider = config.defaultProvider;
159
- }
160
- if (config.maxTokens) {
161
- result.maxTokens = config.maxTokens;
162
- }
163
- if (config.providers) {
164
- result.providers = result.providers || {};
165
- if (config.providers.openai) {
166
- result.providers.openai = {
167
- ...result.providers.openai,
168
- ...config.providers.openai
169
- };
170
- }
171
- }
172
- if (config.rateLimit) {
173
- result.rateLimit = {
174
- ...result.rateLimit,
175
- ...config.rateLimit
176
- };
177
- }
178
- if (config.encryption) {
179
- result.encryption = {
180
- ...result.encryption,
181
- ...config.encryption
182
- };
183
- }
184
- if (config.reranker) {
185
- result.reranker = {
186
- ...result.reranker,
187
- ...config.reranker
188
- };
189
- }
190
- if (config.chatLLM) {
191
- result.chatLLM = result.chatLLM || {};
192
- if (config.chatLLM.openai) {
193
- result.chatLLM.openai = {
194
- ...result.chatLLM.openai,
195
- ...config.chatLLM.openai
196
- };
197
- }
198
- }
199
- }
200
- return result;
201
- }
202
- /**
203
- * Load merged configuration from all sources
204
- * Priority: env > project > global
205
- *
206
- * @readonly Never modifies config files
207
- * @param basePath Project path for project-local config
208
- * @returns Merged configuration (in-memory only)
209
- */
210
- export function loadConfig(basePath = '.') {
211
- const global = readGlobalConfig();
212
- const project = readProjectConfig(basePath);
213
- const env = readEnvConfig();
214
- // Merge with priority: env overrides project overrides global
215
- return deepMerge(global, project, env);
216
- }
217
- /**
218
- * Get configuration sources for debugging
219
- * @readonly Never modifies files
220
- */
221
- export function getConfigSources(basePath = '.') {
222
- return {
223
- global: readGlobalConfig(),
224
- project: readProjectConfig(basePath),
225
- env: readEnvConfig()
226
- };
227
- }
228
- /**
229
- * Write global configuration (CLI only)
230
- * This is the ONLY function that writes to disk
231
- */
232
- export function saveGlobalConfig(config) {
233
- // Ensure directory exists
234
- if (!fs.existsSync(GLOBAL_CONFIG_DIR)) {
235
- fs.mkdirSync(GLOBAL_CONFIG_DIR, { recursive: true });
236
- }
237
- // Write config
238
- fs.writeFileSync(GLOBAL_CONFIG_FILE, JSON.stringify(config, null, 2));
239
- }
240
- /**
241
- * Write project-local configuration (CLI only)
242
- * This is the ONLY function that writes project config
243
- */
244
- export function saveProjectConfig(config, basePath = '.') {
245
- const configDir = path.join(path.resolve(basePath), '.codevault');
246
- const configPath = path.join(configDir, 'config.json');
247
- // Ensure directory exists
248
- if (!fs.existsSync(configDir)) {
249
- fs.mkdirSync(configDir, { recursive: true });
250
- }
251
- // Write config
252
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
253
- }
254
- /**
255
- * Check if global config exists
256
- */
257
- export function hasGlobalConfig() {
258
- return fs.existsSync(GLOBAL_CONFIG_FILE);
259
- }
260
- /**
261
- * Check if project config exists
262
- */
263
- export function hasProjectConfig(basePath = '.') {
264
- const configPath = path.join(path.resolve(basePath), PROJECT_CONFIG_FILE);
265
- return fs.existsSync(configPath);
266
- }
267
- /**
268
- * Get global config file path
269
- */
270
- export function getGlobalConfigPath() {
271
- return GLOBAL_CONFIG_FILE;
272
- }
273
- /**
274
- * Get project config file path
275
- */
276
- export function getProjectConfigPath(basePath = '.') {
277
- return path.join(path.resolve(basePath), PROJECT_CONFIG_FILE);
278
- }
279
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- export interface ProviderConfig {
2
- apiKey?: string;
3
- model?: string;
4
- baseUrl?: string;
5
- dimensions?: number;
6
- }
7
- export interface RateLimitConfig {
8
- rpm?: number;
9
- tpm?: number;
10
- }
11
- export interface EncryptionConfig {
12
- enabled?: boolean;
13
- key?: string;
14
- }
15
- export interface ChatLLMConfig {
16
- apiKey?: string;
17
- baseUrl?: string;
18
- model?: string;
19
- maxTokens?: number;
20
- temperature?: number;
21
- }
22
- export interface CodevaultConfig {
23
- defaultProvider?: string;
24
- providers?: {
25
- openai?: ProviderConfig;
26
- };
27
- chatLLM?: {
28
- openai?: ChatLLMConfig;
29
- };
30
- rateLimit?: RateLimitConfig;
31
- encryption?: EncryptionConfig;
32
- maxTokens?: number;
33
- reranker?: {
34
- apiUrl?: string;
35
- apiKey?: string;
36
- model?: string;
37
- maxCandidates?: number;
38
- maxTokens?: number;
39
- };
40
- }
41
- export interface ConfigSource {
42
- global: CodevaultConfig | null;
43
- project: CodevaultConfig | null;
44
- env: CodevaultConfig;
45
- }
46
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,GAAG,EAAE,eAAe,CAAC;CACtB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- import type { ScopeFilters } from '../types/search.js';
2
- interface PackInfo {
3
- key: string;
4
- name: string;
5
- description: string | null;
6
- scope: Record<string, any>;
7
- path: string;
8
- invalid?: boolean;
9
- }
10
- interface SessionPack extends PackInfo {
11
- basePath: string;
12
- }
13
- export declare function getContextPackDirectory(basePath?: string): string;
14
- export declare function loadContextPack(name: string, basePath?: string): PackInfo;
15
- export declare function listContextPacks(basePath?: string): PackInfo[];
16
- export declare function getActiveContextPack(basePath?: string): (PackInfo & {
17
- appliedAt: string | null;
18
- }) | null;
19
- export declare function setActiveContextPack(name: string, basePath?: string): PackInfo;
20
- export declare function resolveScopeWithPack(overrides?: any, options?: {
21
- basePath?: string;
22
- sessionPack?: SessionPack | null;
23
- }): {
24
- scope: ScopeFilters;
25
- pack: {
26
- key: string;
27
- name: string;
28
- description: string | null;
29
- } | null;
30
- };
31
- export declare function clearContextPackCache(): void;
32
- export {};
33
- //# sourceMappingURL=packs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/context/packs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,WAAY,SAAQ,QAAQ;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgED,wBAAgB,uBAAuB,CAAC,QAAQ,SAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,QAAQ,CA0BtE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,QAAQ,EAAE,CA2B3D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,SAAM,GAAG,CAAC,QAAQ,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG,IAAI,CAyBrG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,QAAQ,CAW3E;AAED,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,GAAQ,EACnB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAO,GACpE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAuCjG;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -1,180 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { ContextPackSchema, extractScopeFromPackDefinition } from '../types/context-pack.js';
4
- import { normalizeScopeFilters } from '../search/scope.js';
5
- const CONTEXT_PACK_DIR = '.codevault/contextpacks';
6
- const ACTIVE_STATE_FILENAME = 'active-pack.json';
7
- const PACK_SCOPE_KEYS = ['path_glob', 'tags', 'lang', 'provider', 'reranker', 'hybrid', 'bm25', 'symbol_boost'];
8
- const packCache = new Map();
9
- function resolveBasePath(basePath = '.') {
10
- return path.resolve(basePath || '.');
11
- }
12
- function getPackDir(basePath = '.') {
13
- return path.join(resolveBasePath(basePath), CONTEXT_PACK_DIR);
14
- }
15
- function getStatePath(basePath = '.') {
16
- return path.join(getPackDir(basePath), ACTIVE_STATE_FILENAME);
17
- }
18
- function ensurePackDir(basePath = '.') {
19
- const dir = getPackDir(basePath);
20
- if (!fs.existsSync(dir)) {
21
- fs.mkdirSync(dir, { recursive: true });
22
- }
23
- return dir;
24
- }
25
- function buildCacheKey(filePath) {
26
- return path.resolve(filePath);
27
- }
28
- function readJsonFile(filePath) {
29
- const content = fs.readFileSync(filePath, 'utf8');
30
- try {
31
- return JSON.parse(content);
32
- }
33
- catch (error) {
34
- throw new Error(`Invalid JSON in context pack ${path.basename(filePath)}: ${error.message}`);
35
- }
36
- }
37
- function toContextPackObject(key, filePath, data) {
38
- const parsed = ContextPackSchema.parse(data);
39
- const scope = extractScopeFromPackDefinition(parsed);
40
- const packName = typeof parsed.name === 'string' && parsed.name.trim().length > 0
41
- ? parsed.name.trim()
42
- : key;
43
- const description = typeof parsed.description === 'string' && parsed.description.trim().length > 0
44
- ? parsed.description.trim()
45
- : undefined;
46
- const scopeDefinition = {};
47
- for (const scopeKey of PACK_SCOPE_KEYS) {
48
- if (Object.prototype.hasOwnProperty.call(scope, scopeKey) && typeof scope[scopeKey] !== 'undefined') {
49
- scopeDefinition[scopeKey] = scope[scopeKey];
50
- }
51
- }
52
- return {
53
- key,
54
- name: packName,
55
- description: description || null,
56
- scope: scopeDefinition,
57
- path: filePath
58
- };
59
- }
60
- export function getContextPackDirectory(basePath = '.') {
61
- return getPackDir(basePath);
62
- }
63
- export function loadContextPack(name, basePath = '.') {
64
- if (!name || typeof name !== 'string') {
65
- throw new Error('Context pack name must be a non-empty string');
66
- }
67
- const packDir = getPackDir(basePath);
68
- const fileName = `${name}.json`;
69
- const filePath = path.join(packDir, fileName);
70
- if (!fs.existsSync(filePath)) {
71
- throw new Error(`Context pack "${name}" not found in ${packDir}`);
72
- }
73
- const stats = fs.statSync(filePath);
74
- const cacheKey = buildCacheKey(filePath);
75
- const cached = packCache.get(cacheKey);
76
- if (cached && cached.mtimeMs === stats.mtimeMs) {
77
- return cached.pack;
78
- }
79
- const rawData = readJsonFile(filePath);
80
- const pack = toContextPackObject(name, filePath, rawData);
81
- packCache.set(cacheKey, { pack, mtimeMs: stats.mtimeMs });
82
- return pack;
83
- }
84
- export function listContextPacks(basePath = '.') {
85
- const packDir = getPackDir(basePath);
86
- if (!fs.existsSync(packDir)) {
87
- return [];
88
- }
89
- const files = fs.readdirSync(packDir).filter(file => file.endsWith('.json'));
90
- const packs = [];
91
- for (const file of files) {
92
- const key = path.basename(file, '.json');
93
- try {
94
- const pack = loadContextPack(key, basePath);
95
- packs.push(pack);
96
- }
97
- catch (error) {
98
- packs.push({
99
- key,
100
- name: key,
101
- description: `Invalid pack: ${error.message}`,
102
- scope: {},
103
- path: path.join(packDir, file),
104
- invalid: true
105
- });
106
- }
107
- }
108
- return packs;
109
- }
110
- export function getActiveContextPack(basePath = '.') {
111
- const statePath = getStatePath(basePath);
112
- if (!fs.existsSync(statePath)) {
113
- return null;
114
- }
115
- try {
116
- const rawState = readJsonFile(statePath);
117
- if (!rawState || typeof rawState !== 'object') {
118
- return null;
119
- }
120
- const key = typeof rawState.key === 'string' ? rawState.key : null;
121
- if (!key) {
122
- return null;
123
- }
124
- const pack = loadContextPack(key, basePath);
125
- return {
126
- ...pack,
127
- appliedAt: rawState.appliedAt || null
128
- };
129
- }
130
- catch (error) {
131
- return null;
132
- }
133
- }
134
- export function setActiveContextPack(name, basePath = '.') {
135
- const pack = loadContextPack(name, basePath);
136
- const dir = ensurePackDir(basePath);
137
- const statePath = path.join(dir, ACTIVE_STATE_FILENAME);
138
- const state = {
139
- key: pack.key,
140
- appliedAt: new Date().toISOString()
141
- };
142
- fs.writeFileSync(statePath, JSON.stringify(state, null, 2));
143
- return pack;
144
- }
145
- export function resolveScopeWithPack(overrides = {}, options = {}) {
146
- const basePath = options.basePath || '.';
147
- const sessionPack = options.sessionPack || null;
148
- let basePack = null;
149
- const resolvedBasePath = resolveBasePath(basePath);
150
- if (sessionPack && sessionPack.scope) {
151
- if (!sessionPack.basePath || resolveBasePath(sessionPack.basePath) === resolvedBasePath) {
152
- basePack = sessionPack;
153
- }
154
- }
155
- if (!basePack) {
156
- basePack = getActiveContextPack(basePath);
157
- }
158
- const combined = {};
159
- if (basePack && basePack.scope) {
160
- for (const key of PACK_SCOPE_KEYS) {
161
- if (Object.prototype.hasOwnProperty.call(basePack.scope, key)) {
162
- combined[key] = basePack.scope[key];
163
- }
164
- }
165
- }
166
- for (const key of PACK_SCOPE_KEYS) {
167
- if (Object.prototype.hasOwnProperty.call(overrides, key) && typeof overrides[key] !== 'undefined') {
168
- combined[key] = overrides[key];
169
- }
170
- }
171
- const scope = normalizeScopeFilters(combined);
172
- const packInfo = basePack
173
- ? { key: basePack.key, name: basePack.name, description: basePack.description || null }
174
- : null;
175
- return { scope, pack: packInfo };
176
- }
177
- export function clearContextPackCache() {
178
- packCache.clear();
179
- }
180
- //# sourceMappingURL=packs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/context/packs.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import type { EmbeddingProvider } from '../providers/base.js';
2
- import type { Database } from '../database/db.js';
3
- interface ChunkToEmbed {
4
- chunkId: string;
5
- enhancedEmbeddingText: string;
6
- params: {
7
- code: string;
8
- sha: string;
9
- lang: string;
10
- rel: string;
11
- symbol: string;
12
- chunkType: string;
13
- codevaultMetadata: any;
14
- importantVariables: any[];
15
- docComments: string | null;
16
- contextInfo: any;
17
- };
18
- }
19
- export declare class BatchEmbeddingProcessor {
20
- private embeddingProvider;
21
- private db;
22
- private batch;
23
- private batchSize;
24
- private processing;
25
- constructor(embeddingProvider: EmbeddingProvider, db: Database, batchSize?: number);
26
- /**
27
- * Add a chunk to the batch queue
28
- */
29
- addChunk(chunk: ChunkToEmbed): Promise<void>;
30
- /**
31
- * Process any remaining chunks in the batch
32
- */
33
- flush(): Promise<void>;
34
- /**
35
- * Process the current batch of chunks
36
- */
37
- private processBatch;
38
- /**
39
- * Get current batch size for monitoring
40
- */
41
- getBatchCount(): number;
42
- }
43
- export {};
44
- //# sourceMappingURL=batch-indexer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batch-indexer.d.ts","sourceRoot":"","sources":["../../src/core/batch-indexer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA4BlD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,GAAG,CAAC;QACvB,kBAAkB,EAAE,GAAG,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,GAAG,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,uBAAuB;IAOhC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,EAAE;IAPZ,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,UAAU,CAAS;gBAGjB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,QAAQ,EACpB,SAAS,GAAE,MAAmB;IAKhC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B;;OAEG;YACW,YAAY;IAoG1B;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}