codestrate 0.6.2 → 0.6.3

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 (223) hide show
  1. package/README.md +97 -101
  2. package/dist/constants.d.ts +1 -1
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +54 -4
  5. package/dist/constants.js.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +198 -119
  9. package/dist/index.js.map +1 -1
  10. package/dist/install.d.ts +0 -0
  11. package/dist/install.d.ts.map +0 -0
  12. package/dist/install.js +2 -2
  13. package/dist/install.js.map +1 -1
  14. package/dist/profiles.d.ts +28 -0
  15. package/dist/profiles.d.ts.map +1 -0
  16. package/dist/profiles.js +89 -0
  17. package/dist/profiles.js.map +1 -0
  18. package/dist/schemas/index.d.ts +1441 -126
  19. package/dist/schemas/index.d.ts.map +1 -1
  20. package/dist/schemas/index.js +221 -10
  21. package/dist/schemas/index.js.map +1 -1
  22. package/dist/security/guard.d.ts +15 -2
  23. package/dist/security/guard.d.ts.map +1 -1
  24. package/dist/security/guard.js +42 -8
  25. package/dist/security/guard.js.map +1 -1
  26. package/dist/services/code-chunker.d.ts +50 -0
  27. package/dist/services/code-chunker.d.ts.map +1 -0
  28. package/dist/services/code-chunker.js +148 -0
  29. package/dist/services/code-chunker.js.map +1 -0
  30. package/dist/services/code-searcher.d.ts +6 -2
  31. package/dist/services/code-searcher.d.ts.map +1 -1
  32. package/dist/services/code-searcher.js +111 -17
  33. package/dist/services/code-searcher.js.map +1 -1
  34. package/dist/services/context-builder.d.ts +0 -11
  35. package/dist/services/context-builder.d.ts.map +1 -1
  36. package/dist/services/context-builder.js +74 -128
  37. package/dist/services/context-builder.js.map +1 -1
  38. package/dist/services/embedding-runtime.d.ts +41 -0
  39. package/dist/services/embedding-runtime.d.ts.map +1 -0
  40. package/dist/services/embedding-runtime.js +636 -0
  41. package/dist/services/embedding-runtime.js.map +1 -0
  42. package/dist/services/embedding.d.ts +79 -0
  43. package/dist/services/embedding.d.ts.map +1 -0
  44. package/dist/services/embedding.js +257 -0
  45. package/dist/services/embedding.js.map +1 -0
  46. package/dist/services/index-state.d.ts +74 -0
  47. package/dist/services/index-state.d.ts.map +1 -0
  48. package/dist/services/index-state.js +151 -0
  49. package/dist/services/index-state.js.map +1 -0
  50. package/dist/services/index-worker.d.ts +60 -0
  51. package/dist/services/index-worker.d.ts.map +1 -0
  52. package/dist/services/index-worker.js +182 -0
  53. package/dist/services/index-worker.js.map +1 -0
  54. package/dist/services/logger.d.ts +48 -0
  55. package/dist/services/logger.d.ts.map +1 -0
  56. package/dist/services/logger.js +106 -0
  57. package/dist/services/logger.js.map +1 -0
  58. package/dist/services/memory-store.d.ts +9 -7
  59. package/dist/services/memory-store.d.ts.map +1 -1
  60. package/dist/services/memory-store.js +93 -7
  61. package/dist/services/memory-store.js.map +1 -1
  62. package/dist/services/repository-parser.d.ts +0 -0
  63. package/dist/services/repository-parser.d.ts.map +0 -0
  64. package/dist/services/repository-parser.js +0 -0
  65. package/dist/services/repository-parser.js.map +0 -0
  66. package/dist/services/symbol-indexer.d.ts +0 -0
  67. package/dist/services/symbol-indexer.d.ts.map +1 -1
  68. package/dist/services/symbol-indexer.js +25 -13
  69. package/dist/services/symbol-indexer.js.map +1 -1
  70. package/dist/services/tree-sitter.d.ts +0 -0
  71. package/dist/services/tree-sitter.d.ts.map +0 -0
  72. package/dist/services/tree-sitter.js +0 -0
  73. package/dist/services/tree-sitter.js.map +0 -0
  74. package/dist/services/validation-runner.d.ts +0 -0
  75. package/dist/services/validation-runner.d.ts.map +1 -1
  76. package/dist/services/validation-runner.js +9 -9
  77. package/dist/services/validation-runner.js.map +1 -1
  78. package/dist/services/vector-indexer.d.ts +53 -0
  79. package/dist/services/vector-indexer.d.ts.map +1 -0
  80. package/dist/services/vector-indexer.js +230 -0
  81. package/dist/services/vector-indexer.js.map +1 -0
  82. package/dist/store/index.d.ts +0 -0
  83. package/dist/store/index.d.ts.map +0 -0
  84. package/dist/store/index.js +0 -0
  85. package/dist/store/index.js.map +0 -0
  86. package/dist/store/interface.d.ts +70 -1
  87. package/dist/store/interface.d.ts.map +1 -1
  88. package/dist/store/interface.js +0 -0
  89. package/dist/store/interface.js.map +0 -0
  90. package/dist/store/memory.d.ts +0 -0
  91. package/dist/store/memory.d.ts.map +0 -0
  92. package/dist/store/memory.js +0 -0
  93. package/dist/store/memory.js.map +0 -0
  94. package/dist/store/service.d.ts +49 -0
  95. package/dist/store/service.d.ts.map +1 -0
  96. package/dist/store/service.js +147 -0
  97. package/dist/store/service.js.map +1 -0
  98. package/dist/store/sqlite.d.ts +68 -3
  99. package/dist/store/sqlite.d.ts.map +1 -1
  100. package/dist/store/sqlite.js +708 -58
  101. package/dist/store/sqlite.js.map +1 -1
  102. package/dist/store/vector-store.d.ts +66 -0
  103. package/dist/store/vector-store.d.ts.map +1 -0
  104. package/dist/store/vector-store.js +330 -0
  105. package/dist/store/vector-store.js.map +1 -0
  106. package/dist/tools/analyze-impact.d.ts +0 -0
  107. package/dist/tools/analyze-impact.d.ts.map +1 -1
  108. package/dist/tools/analyze-impact.js +101 -39
  109. package/dist/tools/analyze-impact.js.map +1 -1
  110. package/dist/tools/deep-explore.d.ts +0 -0
  111. package/dist/tools/deep-explore.d.ts.map +1 -1
  112. package/dist/tools/deep-explore.js +18 -4
  113. package/dist/tools/deep-explore.js.map +1 -1
  114. package/dist/tools/detect-cycles.d.ts +3 -0
  115. package/dist/tools/detect-cycles.d.ts.map +1 -0
  116. package/dist/tools/detect-cycles.js +61 -0
  117. package/dist/tools/detect-cycles.js.map +1 -0
  118. package/dist/tools/detect-dead-code.d.ts +0 -0
  119. package/dist/tools/detect-dead-code.d.ts.map +1 -1
  120. package/dist/tools/detect-dead-code.js +1 -0
  121. package/dist/tools/detect-dead-code.js.map +1 -1
  122. package/dist/tools/explore.d.ts +13 -0
  123. package/dist/tools/explore.d.ts.map +1 -1
  124. package/dist/tools/explore.js +122 -88
  125. package/dist/tools/explore.js.map +1 -1
  126. package/dist/tools/get-context.d.ts +15 -0
  127. package/dist/tools/get-context.d.ts.map +1 -1
  128. package/dist/tools/get-context.js +66 -61
  129. package/dist/tools/get-context.js.map +1 -1
  130. package/dist/tools/graph-explain.d.ts +3 -0
  131. package/dist/tools/graph-explain.d.ts.map +1 -0
  132. package/dist/tools/graph-explain.js +140 -0
  133. package/dist/tools/graph-explain.js.map +1 -0
  134. package/dist/tools/graph-stats.d.ts +3 -0
  135. package/dist/tools/graph-stats.d.ts.map +1 -0
  136. package/dist/tools/graph-stats.js +73 -0
  137. package/dist/tools/graph-stats.js.map +1 -0
  138. package/dist/tools/inspect-symbol.d.ts +10 -0
  139. package/dist/tools/inspect-symbol.d.ts.map +1 -1
  140. package/dist/tools/inspect-symbol.js +112 -101
  141. package/dist/tools/inspect-symbol.js.map +1 -1
  142. package/dist/tools/ping.d.ts +0 -0
  143. package/dist/tools/ping.d.ts.map +1 -1
  144. package/dist/tools/ping.js +2 -3
  145. package/dist/tools/ping.js.map +1 -1
  146. package/dist/tools/profile.d.ts +9 -0
  147. package/dist/tools/profile.d.ts.map +1 -0
  148. package/dist/tools/profile.js +101 -0
  149. package/dist/tools/profile.js.map +1 -0
  150. package/dist/tools/query-graph.d.ts +3 -0
  151. package/dist/tools/query-graph.d.ts.map +1 -0
  152. package/dist/tools/query-graph.js +157 -0
  153. package/dist/tools/query-graph.js.map +1 -0
  154. package/dist/tools/recall-experience.d.ts +0 -0
  155. package/dist/tools/recall-experience.d.ts.map +1 -1
  156. package/dist/tools/recall-experience.js +5 -5
  157. package/dist/tools/recall-experience.js.map +1 -1
  158. package/dist/tools/record-experience.d.ts +0 -0
  159. package/dist/tools/record-experience.d.ts.map +1 -1
  160. package/dist/tools/record-experience.js +2 -5
  161. package/dist/tools/record-experience.js.map +1 -1
  162. package/dist/tools/reflect.d.ts +4 -0
  163. package/dist/tools/reflect.d.ts.map +1 -0
  164. package/dist/tools/reflect.js +99 -0
  165. package/dist/tools/reflect.js.map +1 -0
  166. package/dist/tools/register.d.ts +5 -2
  167. package/dist/tools/register.d.ts.map +1 -1
  168. package/dist/tools/register.js +31 -1
  169. package/dist/tools/register.js.map +1 -1
  170. package/dist/tools/reindex.d.ts +0 -0
  171. package/dist/tools/reindex.d.ts.map +1 -1
  172. package/dist/tools/reindex.js +102 -21
  173. package/dist/tools/reindex.js.map +1 -1
  174. package/dist/tools/repo-overview.d.ts +0 -0
  175. package/dist/tools/repo-overview.d.ts.map +1 -1
  176. package/dist/tools/repo-overview.js +8 -6
  177. package/dist/tools/repo-overview.js.map +1 -1
  178. package/dist/tools/run-validation.d.ts +0 -0
  179. package/dist/tools/run-validation.d.ts.map +1 -1
  180. package/dist/tools/run-validation.js +15 -1
  181. package/dist/tools/run-validation.js.map +1 -1
  182. package/dist/tools/search-code.d.ts +0 -0
  183. package/dist/tools/search-code.d.ts.map +1 -1
  184. package/dist/tools/search-code.js +11 -4
  185. package/dist/tools/search-code.js.map +1 -1
  186. package/dist/tools/search-history.d.ts +0 -0
  187. package/dist/tools/search-history.d.ts.map +0 -0
  188. package/dist/tools/search-history.js +0 -0
  189. package/dist/tools/search-history.js.map +0 -0
  190. package/dist/tools/session-heartbeat.d.ts +0 -0
  191. package/dist/tools/session-heartbeat.d.ts.map +1 -1
  192. package/dist/tools/session-heartbeat.js +1 -0
  193. package/dist/tools/session-heartbeat.js.map +1 -1
  194. package/dist/tools/session-status.d.ts +0 -0
  195. package/dist/tools/session-status.d.ts.map +1 -1
  196. package/dist/tools/session-status.js +1 -0
  197. package/dist/tools/session-status.js.map +1 -1
  198. package/dist/tools/status.d.ts +0 -0
  199. package/dist/tools/status.d.ts.map +1 -1
  200. package/dist/tools/status.js +87 -24
  201. package/dist/tools/status.js.map +1 -1
  202. package/dist/tools/trace-bfs.d.ts +13 -0
  203. package/dist/tools/trace-bfs.d.ts.map +1 -0
  204. package/dist/tools/trace-bfs.js +251 -0
  205. package/dist/tools/trace-bfs.js.map +1 -0
  206. package/dist/tools/trace-flow.d.ts +1 -1
  207. package/dist/tools/trace-flow.d.ts.map +1 -1
  208. package/dist/tools/trace-flow.js +113 -69
  209. package/dist/tools/trace-flow.js.map +1 -1
  210. package/dist/types.d.ts +75 -13
  211. package/dist/types.d.ts.map +1 -1
  212. package/dist/types.js +15 -0
  213. package/dist/types.js.map +1 -1
  214. package/grammars/tree-sitter-c.wasm +0 -0
  215. package/grammars/tree-sitter-cpp.wasm +0 -0
  216. package/grammars/tree-sitter-go.wasm +0 -0
  217. package/grammars/tree-sitter-java.wasm +0 -0
  218. package/grammars/tree-sitter-javascript.wasm +0 -0
  219. package/grammars/tree-sitter-python.wasm +0 -0
  220. package/grammars/tree-sitter-rust.wasm +0 -0
  221. package/grammars/tree-sitter-tsx.wasm +0 -0
  222. package/grammars/tree-sitter-typescript.wasm +0 -0
  223. package/package.json +8 -6
@@ -6,7 +6,22 @@ import { initTreeSitter, isReady, parseCode, } from "./tree-sitter.js";
6
6
  * falls back to regex patterns for all other languages.
7
7
  */
8
8
  import { readFileSync } from "fs";
9
- import { join, resolve } from "path";
9
+ import { validateRepoPath } from "../security/guard.js";
10
+ // ─── Qualified name helpers ──────────────────────────────
11
+ /**
12
+ * Compute a qualified name for disambiguating symbols across modules.
13
+ * Uses the file's module path as prefix.
14
+ */
15
+ function computeQualifiedName(name, file) {
16
+ // Remove extension and known prefixes
17
+ const modulePath = file
18
+ .replace(/\.(ts|tsx|js|jsx|py|rs|java|kt)$/, "")
19
+ .replace(/^src\//, "")
20
+ .replace(/^lib\//, "")
21
+ .replace(/^app\//, "")
22
+ .replace(/[\/\\]/g, ".");
23
+ return `${modulePath}.${name}`;
24
+ }
10
25
  // ─── Language-specific parsers ───────────────────────────
11
26
  const LANGUAGE_PARSERS = {
12
27
  typescript: {
@@ -196,7 +211,7 @@ export async function indexSymbols(opts) {
196
211
  }
197
212
  const fileSymbols = parseLanguage(file, parser, opts);
198
213
  symbols.push(...fileSymbols);
199
- const imports = extractImports(file, file.language);
214
+ const imports = extractImports(file, file.language, opts.repoPath);
200
215
  importGraph.set(file.path, imports);
201
216
  }
202
217
  // Build relation graph from imports
@@ -248,10 +263,9 @@ export async function indexSymbols(opts) {
248
263
  const CALL_RE = new RegExp(`\\b(${escapedNames.join("|")})\\s*\\(`, "g");
249
264
  const JSX_RE = /<\s*([A-Z][a-zA-Z0-9_]*)\b[\s\S\n]*?\/?>/g;
250
265
  for (const [file, fileSymbols] of symbolsByFile) {
251
- const fullPath = resolve(opts.repoPath, file);
252
266
  let content;
253
267
  try {
254
- content = readFileSync(fullPath, "utf-8");
268
+ content = readFileSync(validateRepoPath(file, opts.repoPath), "utf-8");
255
269
  }
256
270
  catch {
257
271
  continue;
@@ -302,10 +316,9 @@ function parseWithTreeSitter(file, opts) {
302
316
  const grammarName = langMap[file.language];
303
317
  if (!grammarName)
304
318
  return null;
305
- const fullPath = join(opts.repoPath, file.path);
306
319
  let content;
307
320
  try {
308
- content = readFileSync(fullPath, "utf-8");
321
+ content = readFileSync(validateRepoPath(file.path, opts.repoPath), "utf-8");
309
322
  }
310
323
  catch {
311
324
  return null;
@@ -315,6 +328,7 @@ function parseWithTreeSitter(file, opts) {
315
328
  return null;
316
329
  const symbols = result.symbols.map((s) => ({
317
330
  name: s.name,
331
+ qualifiedName: computeQualifiedName(s.name, file.path),
318
332
  kind: s.kind,
319
333
  file: file.path,
320
334
  line: s.line,
@@ -333,10 +347,9 @@ function parseWithTreeSitter(file, opts) {
333
347
  // ─── Regex-based parsing ─────────────────────────────────
334
348
  function parseLanguage(file, parser, opts) {
335
349
  const symbols = [];
336
- const fullPath = join(opts.repoPath, file.path);
337
350
  let content;
338
351
  try {
339
- content = readFileSync(fullPath, "utf-8");
352
+ content = readFileSync(validateRepoPath(file.path, opts.repoPath), "utf-8");
340
353
  }
341
354
  catch {
342
355
  return [];
@@ -356,6 +369,7 @@ function parseLanguage(file, parser, opts) {
356
369
  const signature = content.substring(match.index, sigEnd).trim().split("\n")[0] || lineText;
357
370
  symbols.push({
358
371
  name,
372
+ qualifiedName: computeQualifiedName(name, file.path),
359
373
  kind,
360
374
  file: file.path,
361
375
  line: lineNum,
@@ -375,10 +389,9 @@ function parseLanguage(file, parser, opts) {
375
389
  }
376
390
  function parseGenerically(file, opts) {
377
391
  const symbols = [];
378
- const fullPath = join(opts.repoPath, file.path);
379
392
  let content;
380
393
  try {
381
- content = readFileSync(fullPath, "utf-8");
394
+ content = readFileSync(validateRepoPath(file.path, opts.repoPath), "utf-8");
382
395
  }
383
396
  catch {
384
397
  return [];
@@ -412,12 +425,11 @@ function parseGenerically(file, opts) {
412
425
  return symbols;
413
426
  }
414
427
  // ─── Import extraction ───────────────────────────────────
415
- function extractImports(file, _language) {
428
+ function extractImports(file, _language, repoPath) {
416
429
  const imports = new Set();
417
- const fullPath = resolve(file.path);
418
430
  let content;
419
431
  try {
420
- content = readFileSync(fullPath, "utf-8");
432
+ content = readFileSync(validateRepoPath(file.path, repoPath), "utf-8");
421
433
  }
422
434
  catch {
423
435
  return imports;
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-indexer.js","sourceRoot":"","sources":["../../src/services/symbol-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbol-indexer.js","sourceRoot":"","sources":["../../src/services/symbol-indexer.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"validation-runner.d.ts","sourceRoot":"","sources":["../../src/services/validation-runner.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAoB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGxF,UAAU,UAAU;IAClB,OAAO,EAAE,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;IAC/C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAW,GAAG,cAAc,EAAE,CAyC3G;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAYhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB3D;AAaD,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0BjF"}
1
+ {"version":3,"file":"validation-runner.d.ts","sourceRoot":"","sources":["../../src/services/validation-runner.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAoB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGxF,UAAU,UAAU;IAClB,OAAO,EAAE,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;IAC/C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAW,GAAG,cAAc,EAAE,CAyC3G;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAYhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB3D;AAYD,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0BjF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Validation Runner — executes build/test/lint commands via shell.
2
+ * Validation Runner — executes build/test/lint commands securely.
3
3
  *
4
4
  * Permission model:
5
5
  * - Only commands from config allowlist are executed
@@ -7,11 +7,9 @@
7
7
  * - Output capped to prevent flooding
8
8
  * - Executes in repo working directory
9
9
  */
10
- import { execFileSync, exec } from "child_process";
11
- import { promisify } from "util";
12
- import { resolve } from "path";
10
+ import { execFileSync } from "child_process";
13
11
  import { DEFAULT_VALIDATION_TIMEOUT, MAX_VALIDATION_OUTPUT } from "../constants.js";
14
- import { redactSecrets } from "../security/guard.js";
12
+ import { redactSecrets, validateRepoPath } from "../security/guard.js";
15
13
  /**
16
14
  * Search git log for commits matching a query.
17
15
  */
@@ -96,7 +94,6 @@ export function getRepoFingerprint(repoPath) {
96
94
  return `local@${Date.now()}`;
97
95
  }
98
96
  }
99
- const asyncExec = promisify(exec);
100
97
  // ─── Validation runner ────────────────────────────────────
101
98
  const VALIDATION_EXPAND = {
102
99
  build: ["build"],
@@ -131,12 +128,13 @@ async function executeCommand(type, command, opts) {
131
128
  const startedAt = Date.now();
132
129
  const timeout = opts.timeout ?? opts.config.timeout ?? DEFAULT_VALIDATION_TIMEOUT;
133
130
  try {
134
- const { stdout } = await asyncExec(command, {
135
- cwd: resolve(opts.repoPath),
131
+ const [cmd, ...args] = command.split(/\s+/);
132
+ const stdout = execFileSync(cmd, args, {
133
+ cwd: validateRepoPath(opts.repoPath, opts.repoPath),
136
134
  encoding: "utf-8",
137
135
  maxBuffer: MAX_VALIDATION_OUTPUT,
138
136
  timeout: timeout * 1000,
139
- shell: "/bin/sh",
137
+ stdio: ["ignore", "pipe", "pipe"],
140
138
  });
141
139
  const duration = Math.round((Date.now() - startedAt) / 1000);
142
140
  return {
@@ -164,6 +162,8 @@ async function executeCommand(type, command, opts) {
164
162
  errorMessage = String(error.message);
165
163
  if ('code' in error && typeof error.code === 'number')
166
164
  exitCode = error.code;
165
+ if ('status' in error && typeof error.status === 'number')
166
+ exitCode = error.status;
167
167
  }
168
168
  return {
169
169
  type,
@@ -1 +1 @@
1
- {"version":3,"file":"validation-runner.js","sourceRoot":"","sources":["../../src/services/validation-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-runner.js","sourceRoot":"","sources":["../../src/services/validation-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Vector indexer — embed code chunks and upsert into the vector store.
3
+ *
4
+ * Called from reindex when embeddingMode !== "none". Failures are non-fatal:
5
+ * lexical search continues to work.
6
+ */
7
+ import type { SymbolInfo, CIConfig } from "../types.js";
8
+ export interface VectorIndexResult {
9
+ enabled: boolean;
10
+ skipped: boolean;
11
+ reason?: string;
12
+ chunksTotal: number;
13
+ chunksEmbedded: number;
14
+ backend: string;
15
+ dim: number;
16
+ }
17
+ export interface VectorIndexOptions {
18
+ config: CIConfig;
19
+ repoPath: string;
20
+ symbols: SymbolInfo[];
21
+ files: Array<{
22
+ path: string;
23
+ language?: string;
24
+ }>;
25
+ repoFingerprint: string;
26
+ /** Recreate vector collection from scratch (full reindex). */
27
+ recreate?: boolean;
28
+ onProgress?: (message: string, progress: number, total: number) => void;
29
+ }
30
+ /**
31
+ * Index symbols + file windows into the vector store.
32
+ * Safe to call when embedding is disabled — returns skipped result.
33
+ */
34
+ export declare function indexVectors(opts: VectorIndexOptions): Promise<VectorIndexResult>;
35
+ /**
36
+ * Semantic search over the active vector store.
37
+ * Returns empty array if store/embedder unavailable.
38
+ */
39
+ export declare function semanticSearch(opts: {
40
+ config: CIConfig;
41
+ query: string;
42
+ topK: number;
43
+ repoFingerprint?: string;
44
+ }): Promise<Array<{
45
+ file: string;
46
+ line: number;
47
+ column: number;
48
+ context: string;
49
+ symbol: string | null;
50
+ score: number;
51
+ matchType: "semantic";
52
+ }>>;
53
+ //# sourceMappingURL=vector-indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-indexer.d.ts","sourceRoot":"","sources":["../../src/services/vector-indexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiBxD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAiI5B;AAoDD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CACT,KAAK,CAAC;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC,CACH,CA4DA"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * Vector indexer — embed code chunks and upsert into the vector store.
3
+ *
4
+ * Called from reindex when embeddingMode !== "none". Failures are non-fatal:
5
+ * lexical search continues to work.
6
+ */
7
+ import { buildCodeChunks } from "./code-chunker.js";
8
+ import { createEmbedder, probeEmbedder, isEmbeddingEnabled, DEFAULT_EMBEDDING_DIM, } from "./embedding.js";
9
+ import { ensureEmbeddingRuntime } from "./embedding-runtime.js";
10
+ import { openVectorStore, getVectorStore, } from "../store/vector-store.js";
11
+ /**
12
+ * Index symbols + file windows into the vector store.
13
+ * Safe to call when embedding is disabled — returns skipped result.
14
+ */
15
+ export async function indexVectors(opts) {
16
+ const { config } = opts;
17
+ const dim = config.embeddingDim ?? DEFAULT_EMBEDDING_DIM;
18
+ if (!isEmbeddingEnabled(config)) {
19
+ return {
20
+ enabled: false,
21
+ skipped: true,
22
+ reason: "embeddingMode=none",
23
+ chunksTotal: 0,
24
+ chunksEmbedded: 0,
25
+ backend: "none",
26
+ dim,
27
+ };
28
+ }
29
+ const vectorBackend = config.vectorStore ?? "zvec";
30
+ if (vectorBackend === "none") {
31
+ return {
32
+ enabled: false,
33
+ skipped: true,
34
+ reason: "vectorStore=none",
35
+ chunksTotal: 0,
36
+ chunksEmbedded: 0,
37
+ backend: "none",
38
+ dim,
39
+ };
40
+ }
41
+ opts.onProgress?.("Bootstrapping embedding runtime...", 0, 5);
42
+ const runtime = await ensureEmbeddingRuntime(config);
43
+ if (!runtime.ready) {
44
+ return {
45
+ enabled: true,
46
+ skipped: true,
47
+ reason: runtime.error ?? runtime.message ?? "embedding runtime not ready",
48
+ chunksTotal: 0,
49
+ chunksEmbedded: 0,
50
+ backend: vectorBackend,
51
+ dim: runtime.dim || dim,
52
+ };
53
+ }
54
+ const embedder = createEmbedder(config);
55
+ if (!embedder) {
56
+ return {
57
+ enabled: false,
58
+ skipped: true,
59
+ reason: "no embedder",
60
+ chunksTotal: 0,
61
+ chunksEmbedded: 0,
62
+ backend: "none",
63
+ dim,
64
+ };
65
+ }
66
+ opts.onProgress?.("Probing embedding API...", 1, 5);
67
+ const ok = await probeEmbedder(embedder);
68
+ if (!ok) {
69
+ return {
70
+ enabled: true,
71
+ skipped: true,
72
+ reason: "Embedding API unreachable after bootstrap",
73
+ chunksTotal: 0,
74
+ chunksEmbedded: 0,
75
+ backend: vectorBackend,
76
+ dim: embedder.dim,
77
+ };
78
+ }
79
+ opts.onProgress?.("Opening vector store...", 2, 5);
80
+ const store = await openVectorStore({
81
+ backend: vectorBackend,
82
+ storePath: config.storePath,
83
+ dim: embedder.dim,
84
+ recreate: opts.recreate ?? true,
85
+ });
86
+ if (!store) {
87
+ return {
88
+ enabled: true,
89
+ skipped: true,
90
+ reason: "vector store unavailable",
91
+ chunksTotal: 0,
92
+ chunksEmbedded: 0,
93
+ backend: "none",
94
+ dim,
95
+ };
96
+ }
97
+ // Full reindex path already recreated; if not recreate, clear is no-op for memory
98
+ if (opts.recreate) {
99
+ // openVectorStore already recreated on disk; memory store needs clear
100
+ if (store.backend === "memory")
101
+ store.clear();
102
+ }
103
+ opts.onProgress?.("Building code chunks...", 3, 5);
104
+ const chunks = buildCodeChunks(opts.symbols, opts.files, {
105
+ repoPath: opts.repoPath,
106
+ });
107
+ if (chunks.length === 0) {
108
+ return {
109
+ enabled: true,
110
+ skipped: false,
111
+ chunksTotal: 0,
112
+ chunksEmbedded: 0,
113
+ backend: store.backend,
114
+ dim: store.dim,
115
+ };
116
+ }
117
+ opts.onProgress?.(`Embedding ${chunks.length} chunks...`, 4, 5);
118
+ const embedded = await embedAndUpsert(store, embedder, chunks, opts.repoFingerprint);
119
+ opts.onProgress?.("Vector index ready", 5, 5);
120
+ return {
121
+ enabled: true,
122
+ skipped: false,
123
+ chunksTotal: chunks.length,
124
+ chunksEmbedded: embedded,
125
+ backend: store.backend,
126
+ dim: store.dim,
127
+ };
128
+ }
129
+ async function embedAndUpsert(store, embedder, chunks, repoFingerprint) {
130
+ const batchSize = 16;
131
+ let total = 0;
132
+ for (let i = 0; i < chunks.length; i += batchSize) {
133
+ const batch = chunks.slice(i, i + batchSize);
134
+ const texts = batch.map((c) => c.text);
135
+ let vectors;
136
+ try {
137
+ vectors = await embedder.embed(texts, "document");
138
+ }
139
+ catch (err) {
140
+ console.warn("[vector-indexer] embed batch failed:", err instanceof Error ? err.message : String(err));
141
+ continue;
142
+ }
143
+ const docs = [];
144
+ for (let j = 0; j < batch.length; j++) {
145
+ const chunk = batch[j];
146
+ const vector = vectors[j];
147
+ if (!vector || vector.length !== embedder.dim)
148
+ continue;
149
+ docs.push({
150
+ id: chunk.id,
151
+ vector,
152
+ meta: {
153
+ file: chunk.file,
154
+ startLine: chunk.startLine,
155
+ endLine: chunk.endLine,
156
+ symbol: chunk.symbol,
157
+ symbolKind: chunk.symbolKind,
158
+ kind: chunk.kind,
159
+ textPreview: chunk.text.slice(0, 400),
160
+ language: chunk.language,
161
+ repoFingerprint,
162
+ },
163
+ });
164
+ }
165
+ total += store.upsert(docs);
166
+ }
167
+ return total;
168
+ }
169
+ /**
170
+ * Semantic search over the active vector store.
171
+ * Returns empty array if store/embedder unavailable.
172
+ */
173
+ export async function semanticSearch(opts) {
174
+ const config = opts.config;
175
+ if (!isEmbeddingEnabled(config))
176
+ return [];
177
+ const runtime = await ensureEmbeddingRuntime(config);
178
+ if (!runtime.ready)
179
+ return [];
180
+ const embedder = createEmbedder(config);
181
+ if (!embedder)
182
+ return [];
183
+ let store = getVectorStore();
184
+ if (!store) {
185
+ store = await openVectorStore({
186
+ backend: config.vectorStore ?? "zvec",
187
+ storePath: config.storePath,
188
+ dim: embedder.dim,
189
+ recreate: false,
190
+ });
191
+ }
192
+ if (!store)
193
+ return [];
194
+ let queryVec;
195
+ try {
196
+ queryVec = await embedder.embedOne(opts.query, "query");
197
+ }
198
+ catch (err) {
199
+ console.warn("[vector-indexer] query embed failed:", err instanceof Error ? err.message : String(err));
200
+ return [];
201
+ }
202
+ const hits = store.search(queryVec, opts.topK, {
203
+ filterFingerprint: opts.repoFingerprint,
204
+ });
205
+ // Normalize scores to ~[0,1] if they look like distances
206
+ const scores = hits.map((h) => h.score);
207
+ const maxS = Math.max(...scores, 0);
208
+ const minS = Math.min(...scores, 0);
209
+ const looksLikeDistance = maxS > 1.5 || minS < 0;
210
+ return hits.map((h) => {
211
+ let score = h.score;
212
+ if (looksLikeDistance) {
213
+ // convert distance → similarity-ish
214
+ score = 1 / (1 + Math.max(0, h.score));
215
+ }
216
+ else {
217
+ score = Math.max(0, Math.min(1, score));
218
+ }
219
+ return {
220
+ file: h.meta.file,
221
+ line: h.meta.startLine || 1,
222
+ column: 0,
223
+ context: h.meta.textPreview,
224
+ symbol: h.meta.symbol,
225
+ score,
226
+ matchType: "semantic",
227
+ };
228
+ });
229
+ }
230
+ //# sourceMappingURL=vector-indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-indexer.js","sourceRoot":"","sources":["../../src/services/vector-indexer.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes