codevault 1.6.0 → 1.6.1

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 (237) hide show
  1. package/dist/chunking/file-grouper.d.ts +39 -0
  2. package/dist/chunking/file-grouper.d.ts.map +1 -0
  3. package/dist/chunking/file-grouper.js +164 -0
  4. package/dist/chunking/file-grouper.js.map +1 -0
  5. package/dist/chunking/semantic-chunker.d.ts +37 -0
  6. package/dist/chunking/semantic-chunker.d.ts.map +1 -0
  7. package/dist/chunking/semantic-chunker.js +157 -0
  8. package/dist/chunking/semantic-chunker.js.map +1 -0
  9. package/dist/chunking/token-counter.d.ts +28 -0
  10. package/dist/chunking/token-counter.d.ts.map +1 -0
  11. package/dist/chunking/token-counter.js +207 -0
  12. package/dist/chunking/token-counter.js.map +1 -0
  13. package/dist/cli/commands/ask-cmd.d.ts +3 -0
  14. package/dist/cli/commands/ask-cmd.d.ts.map +1 -0
  15. package/dist/cli/commands/ask-cmd.js +130 -0
  16. package/dist/cli/commands/ask-cmd.js.map +1 -0
  17. package/dist/cli/commands/chat-cmd.d.ts +3 -0
  18. package/dist/cli/commands/chat-cmd.d.ts.map +1 -0
  19. package/dist/cli/commands/chat-cmd.js +194 -0
  20. package/dist/cli/commands/chat-cmd.js.map +1 -0
  21. package/dist/cli/commands/config-cmd.d.ts +3 -0
  22. package/dist/cli/commands/config-cmd.d.ts.map +1 -0
  23. package/dist/cli/commands/config-cmd.js +245 -0
  24. package/dist/cli/commands/config-cmd.js.map +1 -0
  25. package/dist/cli/commands/context.d.ts +3 -0
  26. package/dist/cli/commands/context.d.ts.map +1 -0
  27. package/dist/cli/commands/context.js +98 -0
  28. package/dist/cli/commands/context.js.map +1 -0
  29. package/dist/cli/commands/interactive-config.d.ts +2 -0
  30. package/dist/cli/commands/interactive-config.d.ts.map +1 -0
  31. package/dist/cli/commands/interactive-config.js +274 -0
  32. package/dist/cli/commands/interactive-config.js.map +1 -0
  33. package/dist/cli.d.ts +3 -0
  34. package/dist/cli.d.ts.map +1 -0
  35. package/dist/cli.js +403 -0
  36. package/dist/cli.js.map +1 -0
  37. package/dist/codemap/io.d.ts +5 -0
  38. package/dist/codemap/io.d.ts.map +1 -0
  39. package/dist/codemap/io.js +30 -0
  40. package/dist/codemap/io.js.map +1 -0
  41. package/dist/config/apply-env.d.ts +15 -0
  42. package/dist/config/apply-env.d.ts.map +1 -0
  43. package/dist/config/apply-env.js +91 -0
  44. package/dist/config/apply-env.js.map +1 -0
  45. package/dist/config/constants.d.ts +326 -0
  46. package/dist/config/constants.d.ts.map +1 -0
  47. package/dist/config/constants.js +214 -0
  48. package/dist/config/constants.js.map +1 -0
  49. package/dist/config/loader.d.ts +57 -0
  50. package/dist/config/loader.d.ts.map +1 -0
  51. package/dist/config/loader.js +287 -0
  52. package/dist/config/loader.js.map +1 -0
  53. package/dist/config/types.d.ts +46 -0
  54. package/dist/config/types.d.ts.map +1 -0
  55. package/dist/config/types.js +2 -0
  56. package/dist/config/types.js.map +1 -0
  57. package/dist/context/packs.d.ts +33 -0
  58. package/dist/context/packs.d.ts.map +1 -0
  59. package/dist/context/packs.js +180 -0
  60. package/dist/context/packs.js.map +1 -0
  61. package/dist/core/batch-indexer.d.ts +56 -0
  62. package/dist/core/batch-indexer.d.ts.map +1 -0
  63. package/dist/core/batch-indexer.js +189 -0
  64. package/dist/core/batch-indexer.js.map +1 -0
  65. package/dist/core/indexer.d.ts +3 -0
  66. package/dist/core/indexer.d.ts.map +1 -0
  67. package/dist/core/indexer.js +600 -0
  68. package/dist/core/indexer.js.map +1 -0
  69. package/dist/core/metadata.d.ts +19 -0
  70. package/dist/core/metadata.d.ts.map +1 -0
  71. package/dist/core/metadata.js +161 -0
  72. package/dist/core/metadata.js.map +1 -0
  73. package/dist/core/search.d.ts +7 -0
  74. package/dist/core/search.d.ts.map +1 -0
  75. package/dist/core/search.js +545 -0
  76. package/dist/core/search.js.map +1 -0
  77. package/dist/core/symbol-extractor.d.ts +3 -0
  78. package/dist/core/symbol-extractor.d.ts.map +1 -0
  79. package/dist/core/symbol-extractor.js +78 -0
  80. package/dist/core/symbol-extractor.js.map +1 -0
  81. package/dist/core/types.d.ts +104 -0
  82. package/dist/core/types.d.ts.map +1 -0
  83. package/dist/core/types.js +2 -0
  84. package/dist/core/types.js.map +1 -0
  85. package/dist/database/db.d.ts +102 -0
  86. package/dist/database/db.d.ts.map +1 -0
  87. package/dist/database/db.js +366 -0
  88. package/dist/database/db.js.map +1 -0
  89. package/dist/indexer/merkle.d.ts +13 -0
  90. package/dist/indexer/merkle.d.ts.map +1 -0
  91. package/dist/indexer/merkle.js +86 -0
  92. package/dist/indexer/merkle.js.map +1 -0
  93. package/dist/indexer/update.d.ts +19 -0
  94. package/dist/indexer/update.d.ts.map +1 -0
  95. package/dist/indexer/update.js +40 -0
  96. package/dist/indexer/update.js.map +1 -0
  97. package/dist/indexer/watch.d.ts +21 -0
  98. package/dist/indexer/watch.d.ts.map +1 -0
  99. package/dist/indexer/watch.js +222 -0
  100. package/dist/indexer/watch.js.map +1 -0
  101. package/dist/languages/rules.d.ts +11 -0
  102. package/dist/languages/rules.d.ts.map +1 -0
  103. package/dist/languages/rules.js +371 -0
  104. package/dist/languages/rules.js.map +1 -0
  105. package/dist/languages/tree-sitter-loader.d.ts +27 -0
  106. package/dist/languages/tree-sitter-loader.d.ts.map +1 -0
  107. package/dist/languages/tree-sitter-loader.js +76 -0
  108. package/dist/languages/tree-sitter-loader.js.map +1 -0
  109. package/dist/mcp/schemas.d.ts +166 -0
  110. package/dist/mcp/schemas.d.ts.map +1 -0
  111. package/dist/mcp/schemas.js +159 -0
  112. package/dist/mcp/schemas.js.map +1 -0
  113. package/dist/mcp/tools/ask-codebase.d.ts +85 -0
  114. package/dist/mcp/tools/ask-codebase.d.ts.map +1 -0
  115. package/dist/mcp/tools/ask-codebase.js +125 -0
  116. package/dist/mcp/tools/ask-codebase.js.map +1 -0
  117. package/dist/mcp/tools/use-context-pack.d.ts +57 -0
  118. package/dist/mcp/tools/use-context-pack.d.ts.map +1 -0
  119. package/dist/mcp/tools/use-context-pack.js +91 -0
  120. package/dist/mcp/tools/use-context-pack.js.map +1 -0
  121. package/dist/mcp-server.d.ts +3 -0
  122. package/dist/mcp-server.d.ts.map +1 -0
  123. package/dist/mcp-server.js +511 -0
  124. package/dist/mcp-server.js.map +1 -0
  125. package/dist/providers/base.d.ts +39 -0
  126. package/dist/providers/base.d.ts.map +1 -0
  127. package/dist/providers/base.js +198 -0
  128. package/dist/providers/base.js.map +1 -0
  129. package/dist/providers/chat-llm.d.ts +30 -0
  130. package/dist/providers/chat-llm.d.ts.map +1 -0
  131. package/dist/providers/chat-llm.js +85 -0
  132. package/dist/providers/chat-llm.js.map +1 -0
  133. package/dist/providers/index.d.ts +5 -0
  134. package/dist/providers/index.d.ts.map +1 -0
  135. package/dist/providers/index.js +12 -0
  136. package/dist/providers/index.js.map +1 -0
  137. package/dist/providers/openai.d.ts +14 -0
  138. package/dist/providers/openai.d.ts.map +1 -0
  139. package/dist/providers/openai.js +122 -0
  140. package/dist/providers/openai.js.map +1 -0
  141. package/dist/providers/token-counter.d.ts +2 -0
  142. package/dist/providers/token-counter.d.ts.map +1 -0
  143. package/dist/providers/token-counter.js +18 -0
  144. package/dist/providers/token-counter.js.map +1 -0
  145. package/dist/ranking/api-reranker.d.ts +18 -0
  146. package/dist/ranking/api-reranker.d.ts.map +1 -0
  147. package/dist/ranking/api-reranker.js +134 -0
  148. package/dist/ranking/api-reranker.js.map +1 -0
  149. package/dist/ranking/symbol-boost.d.ts +15 -0
  150. package/dist/ranking/symbol-boost.d.ts.map +1 -0
  151. package/dist/ranking/symbol-boost.js +175 -0
  152. package/dist/ranking/symbol-boost.js.map +1 -0
  153. package/dist/search/bm25.d.ts +17 -0
  154. package/dist/search/bm25.d.ts.map +1 -0
  155. package/dist/search/bm25.js +56 -0
  156. package/dist/search/bm25.js.map +1 -0
  157. package/dist/search/hybrid.d.ts +21 -0
  158. package/dist/search/hybrid.d.ts.map +1 -0
  159. package/dist/search/hybrid.js +50 -0
  160. package/dist/search/hybrid.js.map +1 -0
  161. package/dist/search/scope.d.ts +5 -0
  162. package/dist/search/scope.d.ts.map +1 -0
  163. package/dist/search/scope.js +107 -0
  164. package/dist/search/scope.js.map +1 -0
  165. package/dist/storage/encrypted-chunks.d.ts +40 -0
  166. package/dist/storage/encrypted-chunks.d.ts.map +1 -0
  167. package/dist/storage/encrypted-chunks.js +238 -0
  168. package/dist/storage/encrypted-chunks.js.map +1 -0
  169. package/dist/symbols/extract.d.ts +15 -0
  170. package/dist/symbols/extract.d.ts.map +1 -0
  171. package/dist/symbols/extract.js +208 -0
  172. package/dist/symbols/extract.js.map +1 -0
  173. package/dist/symbols/graph.d.ts +3 -0
  174. package/dist/symbols/graph.d.ts.map +1 -0
  175. package/dist/symbols/graph.js +89 -0
  176. package/dist/symbols/graph.js.map +1 -0
  177. package/dist/synthesis/conversational-synthesizer.d.ts +61 -0
  178. package/dist/synthesis/conversational-synthesizer.d.ts.map +1 -0
  179. package/dist/synthesis/conversational-synthesizer.js +286 -0
  180. package/dist/synthesis/conversational-synthesizer.js.map +1 -0
  181. package/dist/synthesis/markdown-formatter.d.ts +13 -0
  182. package/dist/synthesis/markdown-formatter.d.ts.map +1 -0
  183. package/dist/synthesis/markdown-formatter.js +104 -0
  184. package/dist/synthesis/markdown-formatter.js.map +1 -0
  185. package/dist/synthesis/prompt-builder.d.ts +21 -0
  186. package/dist/synthesis/prompt-builder.d.ts.map +1 -0
  187. package/dist/synthesis/prompt-builder.js +129 -0
  188. package/dist/synthesis/prompt-builder.js.map +1 -0
  189. package/dist/synthesis/synthesizer.d.ts +30 -0
  190. package/dist/synthesis/synthesizer.d.ts.map +1 -0
  191. package/dist/synthesis/synthesizer.js +210 -0
  192. package/dist/synthesis/synthesizer.js.map +1 -0
  193. package/dist/types/ast.d.ts +3 -0
  194. package/dist/types/ast.d.ts.map +1 -0
  195. package/dist/types/ast.js +2 -0
  196. package/dist/types/ast.js.map +1 -0
  197. package/dist/types/codemap.d.ts +58 -0
  198. package/dist/types/codemap.d.ts.map +1 -0
  199. package/dist/types/codemap.js +224 -0
  200. package/dist/types/codemap.js.map +1 -0
  201. package/dist/types/context-pack.d.ts +47 -0
  202. package/dist/types/context-pack.d.ts.map +1 -0
  203. package/dist/types/context-pack.js +44 -0
  204. package/dist/types/context-pack.js.map +1 -0
  205. package/dist/types/search.d.ts +15 -0
  206. package/dist/types/search.d.ts.map +1 -0
  207. package/dist/types/search.js +11 -0
  208. package/dist/types/search.js.map +1 -0
  209. package/dist/utils/cli-ui.d.ts +44 -0
  210. package/dist/utils/cli-ui.d.ts.map +1 -0
  211. package/dist/utils/cli-ui.js +139 -0
  212. package/dist/utils/cli-ui.js.map +1 -0
  213. package/dist/utils/indexer-with-progress.d.ts +10 -0
  214. package/dist/utils/indexer-with-progress.d.ts.map +1 -0
  215. package/dist/utils/indexer-with-progress.js +43 -0
  216. package/dist/utils/indexer-with-progress.js.map +1 -0
  217. package/dist/utils/logger.d.ts +55 -0
  218. package/dist/utils/logger.d.ts.map +1 -0
  219. package/dist/utils/logger.js +121 -0
  220. package/dist/utils/logger.js.map +1 -0
  221. package/dist/utils/mutex.d.ts +63 -0
  222. package/dist/utils/mutex.d.ts.map +1 -0
  223. package/dist/utils/mutex.js +123 -0
  224. package/dist/utils/mutex.js.map +1 -0
  225. package/dist/utils/path-helpers.d.ts +27 -0
  226. package/dist/utils/path-helpers.d.ts.map +1 -0
  227. package/dist/utils/path-helpers.js +55 -0
  228. package/dist/utils/path-helpers.js.map +1 -0
  229. package/dist/utils/rate-limiter.d.ts +34 -0
  230. package/dist/utils/rate-limiter.d.ts.map +1 -0
  231. package/dist/utils/rate-limiter.js +178 -0
  232. package/dist/utils/rate-limiter.js.map +1 -0
  233. package/dist/utils/scan-patterns.d.ts +5 -0
  234. package/dist/utils/scan-patterns.d.ts.map +1 -0
  235. package/dist/utils/scan-patterns.js +29 -0
  236. package/dist/utils/scan-patterns.js.map +1 -0
  237. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/synthesis/prompt-builder.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;2DAgBkD,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,UAAyB,EAAE;IAC/E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;IAExD,IAAI,MAAM,GAAG,iBAAiB,KAAK,MAAM,CAAC;IAE1C,sBAAsB;IACtB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,sBAAsB,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,kBAAkB,QAAQ,CAAC,UAAU,IAAI,CAAC;QACtD,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,yBAAyB,QAAQ,CAAC,QAAQ,IAAI,CAAC;QAC3D,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,2BAA2B,QAAQ,CAAC,WAAW,IAAI,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,uBAAuB,OAAO,CAAC,MAAM,MAAM,CAAC;IACxD,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAI,4BAA4B,CAAC;IACvC,MAAM,IAAI,WAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,iEAAiE,CAAC;IAE1H,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAEpD,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5D,MAAM,IAAI,YAAY,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,cAAc,iBAAiB,CAAC;QAC3F,MAAM,IAAI,eAAe,MAAM,CAAC,IAAI,MAAM,CAAC;QAC3C,MAAM,IAAI,iBAAiB,MAAM,CAAC,IAAI,IAAI,CAAC;QAC3C,MAAM,IAAI,eAAe,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC;QAC5D,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,eAAe,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;QAClD,CAAC;QAED,mCAAmC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC;QAC3D,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,qCAAqC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAClG,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACrF,CAAC;QAED,MAAM,IAAI,iBAAiB,CAAC;QAE5B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI;gBAC3C,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,mBAAmB;gBACpD,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,IAAI,SAAS,MAAM,CAAC,IAAI,KAAK,aAAa,cAAc,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,4BAA4B,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,SAAS,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,IAAI,oBAAoB,CAAC;IAC/B,MAAM,IAAI,gEAAgE,KAAK,OAAO,CAAC;IACvF,MAAM,IAAI,yBAAyB,CAAC;IACpC,MAAM,IAAI,8DAA8D,CAAC;IACzE,MAAM,IAAI,mGAAmG,CAAC;IAC9G,MAAM,IAAI,yDAAyD,CAAC;IACpE,MAAM,IAAI,uEAAuE,CAAC;IAClF,MAAM,IAAI,0EAA0E,CAAC;IACrF,MAAM,IAAI,gEAAgE,CAAC;IAE3E,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,mEAAmE,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO;;aAEI,KAAK;;;;;;;;;;iCAUe,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;aACzD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ScopeFilters } from '../types/search.js';
2
+ export interface SynthesisOptions {
3
+ provider?: string;
4
+ chatProvider?: string;
5
+ workingPath?: string;
6
+ scope?: ScopeFilters;
7
+ maxChunks?: number;
8
+ useReranking?: boolean;
9
+ useMultiQuery?: boolean;
10
+ temperature?: number;
11
+ stream?: boolean;
12
+ }
13
+ export interface SynthesisResult {
14
+ success: boolean;
15
+ answer?: string;
16
+ query: string;
17
+ queriesUsed?: string[];
18
+ chunksAnalyzed: number;
19
+ chatProvider: string;
20
+ embeddingProvider: string;
21
+ error?: string;
22
+ metadata?: {
23
+ searchType?: string;
24
+ totalResults?: number;
25
+ multiQuery?: boolean;
26
+ };
27
+ }
28
+ export declare function synthesizeAnswer(query: string, options?: SynthesisOptions): Promise<SynthesisResult>;
29
+ export declare function synthesizeAnswerStreaming(query: string, options?: SynthesisOptions): AsyncGenerator<string>;
30
+ //# sourceMappingURL=synthesizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesizer.d.ts","sourceRoot":"","sources":["../../src/synthesis/synthesizer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAgL1B;AAED,wBAAuB,yBAAyB,CAC9C,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,MAAM,CAAC,CAkExB"}
@@ -0,0 +1,210 @@
1
+ import { searchCode, getChunk } from '../core/search.js';
2
+ import { createChatLLMProvider } from '../providers/chat-llm.js';
3
+ import { buildSystemPrompt, buildUserPrompt, buildMultiQueryPrompt, parseMultiQueryResponse } from './prompt-builder.js';
4
+ export async function synthesizeAnswer(query, options = {}) {
5
+ const { provider = 'auto', chatProvider = 'auto', workingPath = '.', scope = {}, maxChunks = 10, useReranking = true, useMultiQuery = false, temperature = 0.7 } = options;
6
+ try {
7
+ const chatLLM = createChatLLMProvider(chatProvider);
8
+ if (chatLLM.init) {
9
+ await chatLLM.init();
10
+ }
11
+ let allResults = [];
12
+ let queriesUsed = [query];
13
+ let usedMultiQuery = false;
14
+ // Multi-query support for complex questions
15
+ if (useMultiQuery && isComplexQuestion(query)) {
16
+ try {
17
+ const multiQueryPrompt = buildMultiQueryPrompt(query);
18
+ const multiQueryResponse = await chatLLM.generateCompletion([
19
+ { role: 'user', content: multiQueryPrompt }
20
+ ], { temperature: 0.3, maxTokens: 500 });
21
+ const subQueries = parseMultiQueryResponse(multiQueryResponse);
22
+ if (subQueries.length > 0) {
23
+ queriesUsed = subQueries;
24
+ usedMultiQuery = true;
25
+ if (!process.env.CODEVAULT_QUIET) {
26
+ console.log(`📝 Breaking down query into ${subQueries.length} sub-queries:`);
27
+ subQueries.forEach((q, i) => console.log(` ${i + 1}. "${q}"`));
28
+ console.log('');
29
+ }
30
+ }
31
+ }
32
+ catch (error) {
33
+ // Fall back to single query if multi-query fails
34
+ if (!process.env.CODEVAULT_QUIET) {
35
+ console.warn('Multi-query breakdown failed, using original query');
36
+ }
37
+ }
38
+ }
39
+ // Execute searches
40
+ const searchScope = {
41
+ ...scope,
42
+ reranker: useReranking ? 'api' : 'off',
43
+ hybrid: true,
44
+ bm25: true,
45
+ symbol_boost: true
46
+ };
47
+ for (const searchQuery of queriesUsed) {
48
+ const searchResult = await searchCode(searchQuery, maxChunks, provider, workingPath, searchScope);
49
+ if (searchResult.success && searchResult.results.length > 0) {
50
+ allResults.push(...searchResult.results);
51
+ }
52
+ }
53
+ // Deduplicate results by SHA
54
+ const uniqueResults = new Map();
55
+ for (const result of allResults) {
56
+ if (!uniqueResults.has(result.sha)) {
57
+ uniqueResults.set(result.sha, result);
58
+ }
59
+ else {
60
+ // Keep the one with higher score
61
+ const existing = uniqueResults.get(result.sha);
62
+ if (result.meta.score > existing.meta.score) {
63
+ uniqueResults.set(result.sha, result);
64
+ }
65
+ }
66
+ }
67
+ const deduplicatedResults = Array.from(uniqueResults.values())
68
+ .sort((a, b) => b.meta.score - a.meta.score)
69
+ .slice(0, maxChunks);
70
+ if (deduplicatedResults.length === 0) {
71
+ return {
72
+ success: false,
73
+ error: 'no_results',
74
+ query,
75
+ queriesUsed,
76
+ chunksAnalyzed: 0,
77
+ chatProvider: chatLLM.getName(),
78
+ embeddingProvider: provider,
79
+ metadata: {
80
+ multiQuery: usedMultiQuery,
81
+ totalResults: 0
82
+ }
83
+ };
84
+ }
85
+ // Retrieve code chunks
86
+ const codeChunks = new Map();
87
+ if (!process.env.CODEVAULT_QUIET) {
88
+ console.log(`🔍 Retrieved ${deduplicatedResults.length} relevant code chunks`);
89
+ }
90
+ for (const result of deduplicatedResults) {
91
+ const chunkResult = await getChunk(result.sha, workingPath);
92
+ if (chunkResult.success && chunkResult.code) {
93
+ codeChunks.set(result.sha, chunkResult.code);
94
+ }
95
+ }
96
+ // Build context for LLM
97
+ const context = {
98
+ query,
99
+ results: deduplicatedResults,
100
+ codeChunks,
101
+ metadata: {
102
+ searchType: deduplicatedResults[0]?.meta?.searchType,
103
+ provider,
104
+ totalChunks: deduplicatedResults.length
105
+ }
106
+ };
107
+ // Generate synthesis
108
+ const systemPrompt = buildSystemPrompt();
109
+ const userPrompt = buildUserPrompt(context, { maxContextChunks: maxChunks });
110
+ const messages = [
111
+ { role: 'system', content: systemPrompt },
112
+ { role: 'user', content: userPrompt }
113
+ ];
114
+ if (!process.env.CODEVAULT_QUIET) {
115
+ console.log(`🤖 Synthesizing answer with ${chatLLM.getName()}...`);
116
+ }
117
+ const answer = await chatLLM.generateCompletion(messages, {
118
+ temperature,
119
+ maxTokens: parseInt(process.env.CODEVAULT_CHAT_MAX_TOKENS || '4096', 10)
120
+ });
121
+ return {
122
+ success: true,
123
+ answer,
124
+ query,
125
+ queriesUsed,
126
+ chunksAnalyzed: deduplicatedResults.length,
127
+ chatProvider: chatLLM.getName(),
128
+ embeddingProvider: provider,
129
+ metadata: {
130
+ searchType: deduplicatedResults[0]?.meta?.searchType,
131
+ totalResults: deduplicatedResults.length,
132
+ multiQuery: usedMultiQuery
133
+ }
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ success: false,
139
+ error: error.message,
140
+ query,
141
+ chunksAnalyzed: 0,
142
+ chatProvider: chatProvider,
143
+ embeddingProvider: provider
144
+ };
145
+ }
146
+ }
147
+ export async function* synthesizeAnswerStreaming(query, options = {}) {
148
+ const { provider = 'auto', chatProvider = 'auto', workingPath = '.', scope = {}, maxChunks = 10, useReranking = true, temperature = 0.7 } = options;
149
+ const chatLLM = createChatLLMProvider(chatProvider);
150
+ if (chatLLM.init) {
151
+ await chatLLM.init();
152
+ }
153
+ // Execute search
154
+ const searchScope = {
155
+ ...scope,
156
+ reranker: useReranking ? 'api' : 'off',
157
+ hybrid: true,
158
+ bm25: true,
159
+ symbol_boost: true
160
+ };
161
+ const searchResult = await searchCode(query, maxChunks, provider, workingPath, searchScope);
162
+ if (!searchResult.success || searchResult.results.length === 0) {
163
+ yield `**No relevant code found for:** "${query}"\n\n`;
164
+ yield `Please ensure the project is indexed and try rephrasing your question.`;
165
+ return;
166
+ }
167
+ // Retrieve code chunks
168
+ const codeChunks = new Map();
169
+ for (const result of searchResult.results.slice(0, maxChunks)) {
170
+ const chunkResult = await getChunk(result.sha, workingPath);
171
+ if (chunkResult.success && chunkResult.code) {
172
+ codeChunks.set(result.sha, chunkResult.code);
173
+ }
174
+ }
175
+ // Build context
176
+ const context = {
177
+ query,
178
+ results: searchResult.results.slice(0, maxChunks),
179
+ codeChunks,
180
+ metadata: {
181
+ searchType: searchResult.searchType,
182
+ provider: searchResult.provider,
183
+ totalChunks: searchResult.results.length
184
+ }
185
+ };
186
+ // Generate streaming response
187
+ const systemPrompt = buildSystemPrompt();
188
+ const userPrompt = buildUserPrompt(context, { maxContextChunks: maxChunks });
189
+ const messages = [
190
+ { role: 'system', content: systemPrompt },
191
+ { role: 'user', content: userPrompt }
192
+ ];
193
+ for await (const chunk of chatLLM.generateStreamingCompletion(messages, { temperature })) {
194
+ yield chunk;
195
+ }
196
+ }
197
+ function isComplexQuestion(query) {
198
+ const complexIndicators = [
199
+ /\bhow\s+(does|do|can|should)\b/i,
200
+ /\bwhat\s+(is|are|does)\b/i,
201
+ /\bexplain\b/i,
202
+ /\bwalk\s+me\s+through\b/i,
203
+ /\bstep\s+by\s+step\b/i,
204
+ /\band\b.*\band\b/i, // Multiple "and"s suggest complex query
205
+ /\bor\b.*\bor\b/i, // Multiple "or"s
206
+ /\?.*\?/, // Multiple questions
207
+ ];
208
+ return complexIndicators.some(pattern => pattern.test(query));
209
+ }
210
+ //# sourceMappingURL=synthesizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesizer.js","sourceRoot":"","sources":["../../src/synthesis/synthesizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SyntaxNode } from 'tree-sitter';
2
+ export type TreeSitterNode = SyntaxNode;
3
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/types/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/types/ast.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ export declare const DEFAULT_PATH_WEIGHT = 1;
3
+ export declare const DEFAULT_SUCCESS_RATE = 0;
4
+ export declare const CodemapChunkSchema: z.ZodObject<{
5
+ file: z.ZodString;
6
+ symbol: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
7
+ sha: z.ZodString;
8
+ lang: z.ZodOptional<z.ZodString>;
9
+ chunkType: z.ZodOptional<z.ZodString>;
10
+ provider: z.ZodOptional<z.ZodString>;
11
+ dimensions: z.ZodOptional<z.ZodNumber>;
12
+ hasCodevaultTags: z.ZodOptional<z.ZodBoolean>;
13
+ hasIntent: z.ZodOptional<z.ZodBoolean>;
14
+ hasDocumentation: z.ZodOptional<z.ZodBoolean>;
15
+ variableCount: z.ZodOptional<z.ZodNumber>;
16
+ synonyms: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ path_weight: z.ZodOptional<z.ZodNumber>;
18
+ last_used_at: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
19
+ success_rate: z.ZodOptional<z.ZodNumber>;
20
+ encrypted: z.ZodOptional<z.ZodBoolean>;
21
+ symbol_signature: z.ZodOptional<z.ZodString>;
22
+ symbol_parameters: z.ZodOptional<z.ZodArray<z.ZodString>>;
23
+ symbol_return: z.ZodOptional<z.ZodString>;
24
+ symbol_calls: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ symbol_call_targets: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
+ symbol_callers: z.ZodOptional<z.ZodArray<z.ZodString>>;
27
+ symbol_neighbors: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ }, z.core.$loose>;
29
+ export declare const CodemapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
30
+ file: z.ZodString;
31
+ symbol: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
32
+ sha: z.ZodString;
33
+ lang: z.ZodOptional<z.ZodString>;
34
+ chunkType: z.ZodOptional<z.ZodString>;
35
+ provider: z.ZodOptional<z.ZodString>;
36
+ dimensions: z.ZodOptional<z.ZodNumber>;
37
+ hasCodevaultTags: z.ZodOptional<z.ZodBoolean>;
38
+ hasIntent: z.ZodOptional<z.ZodBoolean>;
39
+ hasDocumentation: z.ZodOptional<z.ZodBoolean>;
40
+ variableCount: z.ZodOptional<z.ZodNumber>;
41
+ synonyms: z.ZodOptional<z.ZodArray<z.ZodString>>;
42
+ path_weight: z.ZodOptional<z.ZodNumber>;
43
+ last_used_at: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
44
+ success_rate: z.ZodOptional<z.ZodNumber>;
45
+ encrypted: z.ZodOptional<z.ZodBoolean>;
46
+ symbol_signature: z.ZodOptional<z.ZodString>;
47
+ symbol_parameters: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
+ symbol_return: z.ZodOptional<z.ZodString>;
49
+ symbol_calls: z.ZodOptional<z.ZodArray<z.ZodString>>;
50
+ symbol_call_targets: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
+ symbol_callers: z.ZodOptional<z.ZodArray<z.ZodString>>;
52
+ symbol_neighbors: z.ZodOptional<z.ZodArray<z.ZodString>>;
53
+ }, z.core.$loose>>;
54
+ export type CodemapChunk = z.infer<typeof CodemapChunkSchema>;
55
+ export type Codemap = z.infer<typeof CodemapSchema>;
56
+ export declare function normalizeChunkMetadata(raw: any, previous?: CodemapChunk): CodemapChunk;
57
+ export declare function normalizeCodemapRecord(raw: any): Codemap;
58
+ //# sourceMappingURL=codemap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemap.d.ts","sourceRoot":"","sources":["../../src/types/codemap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBAwBf,CAAC;AAEjB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;kBAA2C,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AA4MpD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,CAKtF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAYxD"}
@@ -0,0 +1,224 @@
1
+ import { z } from 'zod';
2
+ export const DEFAULT_PATH_WEIGHT = 1;
3
+ export const DEFAULT_SUCCESS_RATE = 0;
4
+ export const CodemapChunkSchema = z.object({
5
+ file: z.string(),
6
+ symbol: z.union([z.string(), z.null()]).optional(),
7
+ sha: z.string(),
8
+ lang: z.string().optional(),
9
+ chunkType: z.string().optional(),
10
+ provider: z.string().optional(),
11
+ dimensions: z.number().optional(),
12
+ hasCodevaultTags: z.boolean().optional(),
13
+ hasIntent: z.boolean().optional(),
14
+ hasDocumentation: z.boolean().optional(),
15
+ variableCount: z.number().optional(),
16
+ synonyms: z.array(z.string()).optional(),
17
+ path_weight: z.number().optional(),
18
+ last_used_at: z.union([z.string(), z.null()]).optional(),
19
+ success_rate: z.number().optional(),
20
+ encrypted: z.boolean().optional(),
21
+ symbol_signature: z.string().optional(),
22
+ symbol_parameters: z.array(z.string()).optional(),
23
+ symbol_return: z.string().optional(),
24
+ symbol_calls: z.array(z.string()).optional(),
25
+ symbol_call_targets: z.array(z.string()).optional(),
26
+ symbol_callers: z.array(z.string()).optional(),
27
+ symbol_neighbors: z.array(z.string()).optional()
28
+ }).passthrough();
29
+ export const CodemapSchema = z.record(z.string(), CodemapChunkSchema);
30
+ const KNOWN_FIELDS = new Set([
31
+ 'file',
32
+ 'symbol',
33
+ 'sha',
34
+ 'lang',
35
+ 'chunkType',
36
+ 'provider',
37
+ 'dimensions',
38
+ 'hasCodevaultTags',
39
+ 'hasIntent',
40
+ 'hasDocumentation',
41
+ 'variableCount',
42
+ 'synonyms',
43
+ 'path_weight',
44
+ 'last_used_at',
45
+ 'success_rate',
46
+ 'symbol_signature',
47
+ 'symbol_parameters',
48
+ 'symbol_return',
49
+ 'symbol_calls',
50
+ 'symbol_call_targets',
51
+ 'symbol_callers',
52
+ 'symbol_neighbors',
53
+ 'encrypted'
54
+ ]);
55
+ function sanitizeStringArray(value, options = {}) {
56
+ if (!Array.isArray(value)) {
57
+ return [];
58
+ }
59
+ const unique = new Set();
60
+ for (const entry of value) {
61
+ if (typeof entry !== 'string') {
62
+ continue;
63
+ }
64
+ let trimmed = entry.trim();
65
+ if (trimmed.length === 0) {
66
+ continue;
67
+ }
68
+ if (options.lowercase) {
69
+ trimmed = trimmed.toLowerCase();
70
+ }
71
+ unique.add(trimmed);
72
+ }
73
+ return Array.from(unique.values());
74
+ }
75
+ function sanitizeOptionalString(value) {
76
+ if (typeof value !== 'string') {
77
+ return undefined;
78
+ }
79
+ const trimmed = value.trim();
80
+ return trimmed.length > 0 ? trimmed : undefined;
81
+ }
82
+ function sanitizePathWeight(value) {
83
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
84
+ return DEFAULT_PATH_WEIGHT;
85
+ }
86
+ if (value < 0) {
87
+ return 0;
88
+ }
89
+ return value;
90
+ }
91
+ function sanitizeSuccessRate(value) {
92
+ if (typeof value !== 'number' || Number.isNaN(value)) {
93
+ return DEFAULT_SUCCESS_RATE;
94
+ }
95
+ if (value < 0) {
96
+ return 0;
97
+ }
98
+ if (value > 1) {
99
+ return 1;
100
+ }
101
+ return value;
102
+ }
103
+ function sanitizeLastUsed(value) {
104
+ if (!value) {
105
+ return undefined;
106
+ }
107
+ const date = typeof value === 'string' ? new Date(value) : value;
108
+ if (!(date instanceof Date) || Number.isNaN(date.valueOf())) {
109
+ return undefined;
110
+ }
111
+ return date.toISOString();
112
+ }
113
+ function sanitizeVariableCount(value) {
114
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
115
+ return 0;
116
+ }
117
+ const rounded = Math.round(value);
118
+ return rounded < 0 ? 0 : rounded;
119
+ }
120
+ function extractExtras(source) {
121
+ const extras = {};
122
+ if (!source || typeof source !== 'object') {
123
+ return extras;
124
+ }
125
+ for (const [key, val] of Object.entries(source)) {
126
+ if (!KNOWN_FIELDS.has(key)) {
127
+ extras[key] = val;
128
+ }
129
+ }
130
+ return extras;
131
+ }
132
+ function internalNormalize(raw) {
133
+ const fallback = raw && typeof raw === 'object' ? raw : {};
134
+ const parsed = CodemapChunkSchema.safeParse(fallback);
135
+ const data = parsed.success ? parsed.data : fallback;
136
+ const extras = extractExtras(data);
137
+ const file = typeof data.file === 'string' && data.file.trim().length > 0 ? data.file : 'unknown';
138
+ const sha = typeof data.sha === 'string' && data.sha.trim().length > 0 ? data.sha : 'unknown';
139
+ const lang = typeof data.lang === 'string' && data.lang.trim().length > 0 ? data.lang : 'unknown';
140
+ const chunkType = typeof data.chunkType === 'string' && data.chunkType.trim().length > 0 ? data.chunkType : undefined;
141
+ const provider = typeof data.provider === 'string' && data.provider.trim().length > 0 ? data.provider : undefined;
142
+ const dimensions = typeof data.dimensions === 'number' && Number.isFinite(data.dimensions) ? data.dimensions : undefined;
143
+ const hasCodevaultTags = typeof data.hasCodevaultTags === 'boolean' ? data.hasCodevaultTags : false;
144
+ const hasIntent = typeof data.hasIntent === 'boolean' ? data.hasIntent : false;
145
+ const hasDocumentation = typeof data.hasDocumentation === 'boolean' ? data.hasDocumentation : false;
146
+ const variableCount = sanitizeVariableCount(data.variableCount);
147
+ const synonyms = sanitizeStringArray(data.synonyms);
148
+ const pathWeight = sanitizePathWeight(data.path_weight);
149
+ const lastUsed = sanitizeLastUsed(data.last_used_at);
150
+ const successRate = sanitizeSuccessRate(data.success_rate);
151
+ const encrypted = typeof data.encrypted === 'boolean' ? data.encrypted : false;
152
+ const symbolSignature = sanitizeOptionalString(data.symbol_signature);
153
+ const symbolParameters = Array.isArray(data.symbol_parameters)
154
+ ? sanitizeStringArray(data.symbol_parameters)
155
+ : [];
156
+ const symbolReturn = sanitizeOptionalString(data.symbol_return);
157
+ const symbolCalls = Array.isArray(data.symbol_calls)
158
+ ? sanitizeStringArray(data.symbol_calls)
159
+ : [];
160
+ const symbolCallTargets = Array.isArray(data.symbol_call_targets)
161
+ ? sanitizeStringArray(data.symbol_call_targets)
162
+ : [];
163
+ const symbolCallers = Array.isArray(data.symbol_callers)
164
+ ? sanitizeStringArray(data.symbol_callers)
165
+ : [];
166
+ const symbolNeighbors = Array.isArray(data.symbol_neighbors)
167
+ ? sanitizeStringArray(data.symbol_neighbors)
168
+ : [];
169
+ const symbol = typeof data.symbol === 'string' && data.symbol.trim().length > 0
170
+ ? data.symbol
171
+ : null;
172
+ const normalized = {
173
+ ...extras,
174
+ file,
175
+ symbol,
176
+ sha,
177
+ lang,
178
+ chunkType,
179
+ provider,
180
+ dimensions,
181
+ hasCodevaultTags,
182
+ hasIntent,
183
+ hasDocumentation,
184
+ variableCount,
185
+ synonyms,
186
+ path_weight: pathWeight,
187
+ success_rate: successRate,
188
+ encrypted,
189
+ symbol_calls: symbolCalls,
190
+ symbol_call_targets: symbolCallTargets,
191
+ symbol_callers: symbolCallers,
192
+ symbol_neighbors: symbolNeighbors
193
+ };
194
+ if (lastUsed) {
195
+ normalized.last_used_at = lastUsed;
196
+ }
197
+ if (symbolSignature) {
198
+ normalized.symbol_signature = symbolSignature;
199
+ }
200
+ if (symbolParameters.length > 0) {
201
+ normalized.symbol_parameters = symbolParameters;
202
+ }
203
+ if (symbolReturn) {
204
+ normalized.symbol_return = symbolReturn;
205
+ }
206
+ return normalized;
207
+ }
208
+ export function normalizeChunkMetadata(raw, previous) {
209
+ const base = previous ? internalNormalize(previous) : undefined;
210
+ const incoming = raw && typeof raw === 'object' ? raw : {};
211
+ const merged = base ? { ...base, ...incoming } : incoming;
212
+ return internalNormalize(merged);
213
+ }
214
+ export function normalizeCodemapRecord(raw) {
215
+ if (!raw || typeof raw !== 'object') {
216
+ return {};
217
+ }
218
+ const entries = Object.entries(raw)
219
+ .filter(([key]) => typeof key === 'string' && key.length > 0)
220
+ .map(([chunkId, value]) => [chunkId, normalizeChunkMetadata(value)]);
221
+ entries.sort(([a], [b]) => a.localeCompare(b));
222
+ return Object.fromEntries(entries);
223
+ }
224
+ //# sourceMappingURL=codemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemap.js","sourceRoot":"","sources":["../../src/types/codemap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ export declare const ContextPackScopeSchema: z.ZodObject<{
3
+ path_glob: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
4
+ tags: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
5
+ lang: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
6
+ provider: z.ZodOptional<z.ZodString>;
7
+ reranker: z.ZodOptional<z.ZodEnum<{
8
+ off: "off";
9
+ api: "api";
10
+ }>>;
11
+ hybrid: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
12
+ bm25: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
13
+ symbol_boost: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
14
+ }, z.core.$strict>;
15
+ export declare const ContextPackSchema: z.ZodObject<{
16
+ name: z.ZodOptional<z.ZodString>;
17
+ description: z.ZodOptional<z.ZodString>;
18
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
19
+ scope: z.ZodOptional<z.ZodObject<{
20
+ path_glob: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
21
+ tags: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
22
+ lang: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
23
+ provider: z.ZodOptional<z.ZodString>;
24
+ reranker: z.ZodOptional<z.ZodEnum<{
25
+ off: "off";
26
+ api: "api";
27
+ }>>;
28
+ hybrid: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
29
+ bm25: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
30
+ symbol_boost: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
31
+ }, z.core.$strict>>;
32
+ path_glob: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
33
+ tags: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
34
+ lang: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
35
+ provider: z.ZodOptional<z.ZodString>;
36
+ reranker: z.ZodOptional<z.ZodEnum<{
37
+ off: "off";
38
+ api: "api";
39
+ }>>;
40
+ hybrid: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
41
+ bm25: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
42
+ symbol_boost: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
43
+ }, z.core.$strict>;
44
+ export type ContextPackScope = z.infer<typeof ContextPackScopeSchema>;
45
+ export type ContextPack = z.infer<typeof ContextPackSchema>;
46
+ export declare function extractScopeFromPackDefinition(definition: ContextPack): Record<string, any>;
47
+ //# sourceMappingURL=context-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-pack.d.ts","sourceRoot":"","sources":["../../src/types/context-pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;kBASxB,CAAC;AAEZ,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAanB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkB3F"}