codevault 1.8.3 → 1.8.5

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 (479) hide show
  1. package/README.md +33 -5
  2. package/dist/chunking/file-grouper.d.ts +1 -1
  3. package/dist/chunking/file-grouper.d.ts.map +1 -1
  4. package/dist/chunking/file-grouper.js +3 -3
  5. package/dist/chunking/file-grouper.js.map +1 -1
  6. package/dist/chunking/semantic-chunker.d.ts +1 -1
  7. package/dist/chunking/semantic-chunker.d.ts.map +1 -1
  8. package/dist/chunking/token-counter.d.ts +1 -1
  9. package/dist/chunking/token-counter.d.ts.map +1 -1
  10. package/dist/chunking/token-counter.js +16 -10
  11. package/dist/chunking/token-counter.js.map +1 -1
  12. package/dist/cli/commands/ask-cmd.js +15 -15
  13. package/dist/cli/commands/ask-cmd.js.map +1 -1
  14. package/dist/cli/commands/chat-cmd.d.ts.map +1 -1
  15. package/dist/cli/commands/chat-cmd.js +40 -40
  16. package/dist/cli/commands/chat-cmd.js.map +1 -1
  17. package/dist/cli/commands/config-cmd.d.ts.map +1 -1
  18. package/dist/cli/commands/config-cmd.js +61 -52
  19. package/dist/cli/commands/config-cmd.js.map +1 -1
  20. package/dist/cli/commands/context.d.ts.map +1 -1
  21. package/dist/cli/commands/context.js +20 -11
  22. package/dist/cli/commands/context.js.map +1 -1
  23. package/dist/cli/commands/index-cmd.d.ts.map +1 -1
  24. package/dist/cli/commands/index-cmd.js +109 -85
  25. package/dist/cli/commands/index-cmd.js.map +1 -1
  26. package/dist/cli/commands/info-cmd.d.ts.map +1 -1
  27. package/dist/cli/commands/info-cmd.js +12 -11
  28. package/dist/cli/commands/info-cmd.js.map +1 -1
  29. package/dist/cli/commands/interactive-config.d.ts.map +1 -1
  30. package/dist/cli/commands/interactive-config.js +60 -20
  31. package/dist/cli/commands/interactive-config.js.map +1 -1
  32. package/dist/cli/commands/search-cmd.d.ts.map +1 -1
  33. package/dist/cli/commands/search-cmd.js +22 -11
  34. package/dist/cli/commands/search-cmd.js.map +1 -1
  35. package/dist/cli/commands/search-with-code-cmd.d.ts.map +1 -1
  36. package/dist/cli/commands/search-with-code-cmd.js +25 -16
  37. package/dist/cli/commands/search-with-code-cmd.js.map +1 -1
  38. package/dist/cli/commands/update-cmd.d.ts.map +1 -1
  39. package/dist/cli/commands/update-cmd.js +16 -7
  40. package/dist/cli/commands/update-cmd.js.map +1 -1
  41. package/dist/cli/commands/watch-cmd.d.ts.map +1 -1
  42. package/dist/cli/commands/watch-cmd.js +21 -11
  43. package/dist/cli/commands/watch-cmd.js.map +1 -1
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/cli/utils.d.ts +56 -0
  46. package/dist/cli/utils.d.ts.map +1 -0
  47. package/dist/cli/utils.js +98 -0
  48. package/dist/cli/utils.js.map +1 -0
  49. package/dist/cli.js +0 -0
  50. package/dist/codemap/io.js.map +1 -1
  51. package/dist/config/constants.d.ts +4 -0
  52. package/dist/config/constants.d.ts.map +1 -1
  53. package/dist/config/constants.js +2 -0
  54. package/dist/config/constants.js.map +1 -1
  55. package/dist/config/loader.js.map +1 -1
  56. package/dist/context/packs.d.ts +2 -2
  57. package/dist/context/packs.d.ts.map +1 -1
  58. package/dist/context/packs.js +7 -4
  59. package/dist/context/packs.js.map +1 -1
  60. package/dist/core/IndexerEngine.d.ts +2 -0
  61. package/dist/core/IndexerEngine.d.ts.map +1 -1
  62. package/dist/core/IndexerEngine.js +34 -26
  63. package/dist/core/IndexerEngine.js.map +1 -1
  64. package/dist/core/SearchService.d.ts +2 -1
  65. package/dist/core/SearchService.d.ts.map +1 -1
  66. package/dist/core/SearchService.js +25 -18
  67. package/dist/core/SearchService.js.map +1 -1
  68. package/dist/core/batch-indexer.d.ts +4 -3
  69. package/dist/core/batch-indexer.d.ts.map +1 -1
  70. package/dist/core/batch-indexer.js +32 -35
  71. package/dist/core/batch-indexer.js.map +1 -1
  72. package/dist/core/indexing/FileProcessor.d.ts +1 -0
  73. package/dist/core/indexing/FileProcessor.d.ts.map +1 -1
  74. package/dist/core/indexing/FileProcessor.js +32 -9
  75. package/dist/core/indexing/FileProcessor.js.map +1 -1
  76. package/dist/core/indexing/IndexContext.d.ts +6 -4
  77. package/dist/core/indexing/IndexContext.d.ts.map +1 -1
  78. package/dist/core/indexing/IndexContext.js +3 -3
  79. package/dist/core/indexing/IndexContext.js.map +1 -1
  80. package/dist/core/indexing/IndexFinalizationStage.d.ts +6 -1
  81. package/dist/core/indexing/IndexFinalizationStage.d.ts.map +1 -1
  82. package/dist/core/indexing/IndexFinalizationStage.js +22 -3
  83. package/dist/core/indexing/IndexFinalizationStage.js.map +1 -1
  84. package/dist/core/indexing/IndexState.d.ts +3 -8
  85. package/dist/core/indexing/IndexState.d.ts.map +1 -1
  86. package/dist/core/indexing/IndexState.js.map +1 -1
  87. package/dist/core/indexing/PersistManager.d.ts +1 -1
  88. package/dist/core/indexing/PersistManager.d.ts.map +1 -1
  89. package/dist/core/indexing/PersistManager.js +17 -17
  90. package/dist/core/indexing/PersistManager.js.map +1 -1
  91. package/dist/core/indexing/chunk-pipeline.d.ts +33 -7
  92. package/dist/core/indexing/chunk-pipeline.d.ts.map +1 -1
  93. package/dist/core/indexing/chunk-pipeline.js +20 -8
  94. package/dist/core/indexing/chunk-pipeline.js.map +1 -1
  95. package/dist/core/metadata.d.ts +1 -1
  96. package/dist/core/metadata.d.ts.map +1 -1
  97. package/dist/core/metadata.js +1 -1
  98. package/dist/core/metadata.js.map +1 -1
  99. package/dist/core/search/CandidateRetriever.d.ts +1 -1
  100. package/dist/core/search/CandidateRetriever.d.ts.map +1 -1
  101. package/dist/core/search/CandidateRetriever.js +7 -5
  102. package/dist/core/search/CandidateRetriever.js.map +1 -1
  103. package/dist/core/search/HybridFusion.d.ts +1 -2
  104. package/dist/core/search/HybridFusion.d.ts.map +1 -1
  105. package/dist/core/search/HybridFusion.js +5 -17
  106. package/dist/core/search/HybridFusion.js.map +1 -1
  107. package/dist/core/search/ResultMapper.d.ts +0 -1
  108. package/dist/core/search/ResultMapper.d.ts.map +1 -1
  109. package/dist/core/search/ResultMapper.js +3 -14
  110. package/dist/core/search/ResultMapper.js.map +1 -1
  111. package/dist/core/search/SearchContextManager.d.ts +4 -1
  112. package/dist/core/search/SearchContextManager.d.ts.map +1 -1
  113. package/dist/core/search/SearchContextManager.js +19 -6
  114. package/dist/core/search/SearchContextManager.js.map +1 -1
  115. package/dist/core/search.d.ts.map +1 -1
  116. package/dist/core/search.js +9 -4
  117. package/dist/core/search.js.map +1 -1
  118. package/dist/core/types.d.ts +2 -2
  119. package/dist/core/types.d.ts.map +1 -1
  120. package/dist/database/db.d.ts +14 -14
  121. package/dist/database/db.d.ts.map +1 -1
  122. package/dist/database/db.js +14 -14
  123. package/dist/database/db.js.map +1 -1
  124. package/dist/indexer/merkle.js +1 -1
  125. package/dist/indexer/merkle.js.map +1 -1
  126. package/dist/languages/rules.d.ts +2 -1
  127. package/dist/languages/rules.d.ts.map +1 -1
  128. package/dist/languages/rules.js +14 -5
  129. package/dist/languages/rules.js.map +1 -1
  130. package/dist/languages/tree-sitter-loader.d.ts +24 -24
  131. package/dist/languages/tree-sitter-loader.d.ts.map +1 -1
  132. package/dist/languages/tree-sitter-loader.js +14 -10
  133. package/dist/languages/tree-sitter-loader.js.map +1 -1
  134. package/dist/mcp/handlers/context.d.ts +5 -11
  135. package/dist/mcp/handlers/context.d.ts.map +1 -1
  136. package/dist/mcp/handlers/context.js.map +1 -1
  137. package/dist/mcp/handlers/project.d.ts +9 -27
  138. package/dist/mcp/handlers/project.d.ts.map +1 -1
  139. package/dist/mcp/handlers/search.d.ts +24 -18
  140. package/dist/mcp/handlers/search.d.ts.map +1 -1
  141. package/dist/mcp/handlers/search.js +8 -2
  142. package/dist/mcp/handlers/search.js.map +1 -1
  143. package/dist/mcp/handlers/synthesis.d.ts +15 -11
  144. package/dist/mcp/handlers/synthesis.d.ts.map +1 -1
  145. package/dist/mcp/handlers/synthesis.js +4 -1
  146. package/dist/mcp/handlers/synthesis.js.map +1 -1
  147. package/dist/mcp/schemas.d.ts +2 -2
  148. package/dist/mcp/tools/ask-codebase.d.ts +10 -28
  149. package/dist/mcp/tools/ask-codebase.d.ts.map +1 -1
  150. package/dist/mcp/tools/ask-codebase.js +1 -1
  151. package/dist/mcp/tools/ask-codebase.js.map +1 -1
  152. package/dist/mcp/tools/use-context-pack.d.ts +14 -23
  153. package/dist/mcp/tools/use-context-pack.d.ts.map +1 -1
  154. package/dist/mcp/tools/use-context-pack.js +4 -3
  155. package/dist/mcp/tools/use-context-pack.js.map +1 -1
  156. package/dist/mcp-server.d.ts +1 -0
  157. package/dist/mcp-server.d.ts.map +1 -1
  158. package/dist/mcp-server.js +39 -24
  159. package/dist/mcp-server.js.map +1 -1
  160. package/dist/providers/base.d.ts +3 -2
  161. package/dist/providers/base.d.ts.map +1 -1
  162. package/dist/providers/base.js +3 -10
  163. package/dist/providers/base.js.map +1 -1
  164. package/dist/providers/chat-llm.d.ts +3 -2
  165. package/dist/providers/chat-llm.d.ts.map +1 -1
  166. package/dist/providers/chat-llm.js +13 -9
  167. package/dist/providers/chat-llm.js.map +1 -1
  168. package/dist/providers/mock.d.ts.map +1 -1
  169. package/dist/providers/mock.js +6 -5
  170. package/dist/providers/mock.js.map +1 -1
  171. package/dist/providers/openai.d.ts +2 -1
  172. package/dist/providers/openai.d.ts.map +1 -1
  173. package/dist/providers/openai.js +15 -19
  174. package/dist/providers/openai.js.map +1 -1
  175. package/dist/providers/token-counter.d.ts.map +1 -1
  176. package/dist/providers/token-counter.js +11 -3
  177. package/dist/providers/token-counter.js.map +1 -1
  178. package/dist/ranking/api-reranker.d.ts +1 -1
  179. package/dist/ranking/api-reranker.d.ts.map +1 -1
  180. package/dist/ranking/api-reranker.js +50 -13
  181. package/dist/ranking/api-reranker.js.map +1 -1
  182. package/dist/ranking/symbol-boost.d.ts.map +1 -1
  183. package/dist/ranking/symbol-boost.js +4 -11
  184. package/dist/ranking/symbol-boost.js.map +1 -1
  185. package/dist/search/bm25.d.ts +10 -0
  186. package/dist/search/bm25.d.ts.map +1 -1
  187. package/dist/search/bm25.js +16 -0
  188. package/dist/search/bm25.js.map +1 -1
  189. package/dist/search/hybrid.js.map +1 -1
  190. package/dist/search/scope.d.ts.map +1 -1
  191. package/dist/search/scope.js +3 -2
  192. package/dist/search/scope.js.map +1 -1
  193. package/dist/storage/encrypted-chunks.d.ts +3 -0
  194. package/dist/storage/encrypted-chunks.d.ts.map +1 -1
  195. package/dist/storage/encrypted-chunks.js +126 -47
  196. package/dist/storage/encrypted-chunks.js.map +1 -1
  197. package/dist/symbols/extract.d.ts.map +1 -1
  198. package/dist/symbols/extract.js +3 -2
  199. package/dist/symbols/extract.js.map +1 -1
  200. package/dist/symbols/graph.d.ts.map +1 -1
  201. package/dist/symbols/graph.js +14 -8
  202. package/dist/symbols/graph.js.map +1 -1
  203. package/dist/synthesis/conversational-synthesizer.d.ts +2 -1
  204. package/dist/synthesis/conversational-synthesizer.d.ts.map +1 -1
  205. package/dist/synthesis/conversational-synthesizer.js +6 -1
  206. package/dist/synthesis/conversational-synthesizer.js.map +1 -1
  207. package/dist/synthesis/markdown-formatter.d.ts.map +1 -1
  208. package/dist/synthesis/markdown-formatter.js +1 -1
  209. package/dist/synthesis/markdown-formatter.js.map +1 -1
  210. package/dist/synthesis/prompt-builder.d.ts.map +1 -1
  211. package/dist/synthesis/prompt-builder.js +42 -15
  212. package/dist/synthesis/prompt-builder.js.map +1 -1
  213. package/dist/synthesis/synthesizer.d.ts.map +1 -1
  214. package/dist/synthesis/synthesizer.js +23 -10
  215. package/dist/synthesis/synthesizer.js.map +1 -1
  216. package/dist/tests/api-reranker.test.d.ts +2 -0
  217. package/dist/tests/api-reranker.test.d.ts.map +1 -0
  218. package/dist/tests/api-reranker.test.js +575 -0
  219. package/dist/tests/api-reranker.test.js.map +1 -0
  220. package/dist/tests/bm25.test.d.ts +2 -0
  221. package/dist/tests/bm25.test.d.ts.map +1 -0
  222. package/dist/tests/bm25.test.js +340 -0
  223. package/dist/tests/bm25.test.js.map +1 -0
  224. package/dist/tests/chunking/file-grouper.test.d.ts +2 -0
  225. package/dist/tests/chunking/file-grouper.test.d.ts.map +1 -0
  226. package/dist/tests/chunking/file-grouper.test.js +495 -0
  227. package/dist/tests/chunking/file-grouper.test.js.map +1 -0
  228. package/dist/tests/chunking/semantic-chunker.test.d.ts +2 -0
  229. package/dist/tests/chunking/semantic-chunker.test.d.ts.map +1 -0
  230. package/dist/tests/chunking/semantic-chunker.test.js +509 -0
  231. package/dist/tests/chunking/semantic-chunker.test.js.map +1 -0
  232. package/dist/tests/chunking/token-counter.test.d.ts +2 -0
  233. package/dist/tests/chunking/token-counter.test.d.ts.map +1 -0
  234. package/dist/tests/chunking/token-counter.test.js +441 -0
  235. package/dist/tests/chunking/token-counter.test.js.map +1 -0
  236. package/dist/tests/cli/ask-cmd.test.d.ts +2 -0
  237. package/dist/tests/cli/ask-cmd.test.d.ts.map +1 -0
  238. package/dist/tests/cli/ask-cmd.test.js +152 -0
  239. package/dist/tests/cli/ask-cmd.test.js.map +1 -0
  240. package/dist/tests/cli/chat-cmd.test.d.ts +2 -0
  241. package/dist/tests/cli/chat-cmd.test.d.ts.map +1 -0
  242. package/dist/tests/cli/chat-cmd.test.js +118 -0
  243. package/dist/tests/cli/chat-cmd.test.js.map +1 -0
  244. package/dist/tests/cli/config-cmd.test.d.ts +2 -0
  245. package/dist/tests/cli/config-cmd.test.d.ts.map +1 -0
  246. package/dist/tests/cli/config-cmd.test.js +226 -0
  247. package/dist/tests/cli/config-cmd.test.js.map +1 -0
  248. package/dist/tests/cli/context.test.d.ts +2 -0
  249. package/dist/tests/cli/context.test.d.ts.map +1 -0
  250. package/dist/tests/cli/context.test.js +158 -0
  251. package/dist/tests/cli/context.test.js.map +1 -0
  252. package/dist/tests/cli/index-cmd.test.d.ts +2 -0
  253. package/dist/tests/cli/index-cmd.test.d.ts.map +1 -0
  254. package/dist/tests/cli/index-cmd.test.js +89 -0
  255. package/dist/tests/cli/index-cmd.test.js.map +1 -0
  256. package/dist/tests/cli/index.test.d.ts +2 -0
  257. package/dist/tests/cli/index.test.d.ts.map +1 -0
  258. package/dist/tests/cli/index.test.js +167 -0
  259. package/dist/tests/cli/index.test.js.map +1 -0
  260. package/dist/tests/cli/info-cmd.test.d.ts +2 -0
  261. package/dist/tests/cli/info-cmd.test.d.ts.map +1 -0
  262. package/dist/tests/cli/info-cmd.test.js +47 -0
  263. package/dist/tests/cli/info-cmd.test.js.map +1 -0
  264. package/dist/tests/cli/interactive-config.test.d.ts +2 -0
  265. package/dist/tests/cli/interactive-config.test.d.ts.map +1 -0
  266. package/dist/tests/cli/interactive-config.test.js +30 -0
  267. package/dist/tests/cli/interactive-config.test.js.map +1 -0
  268. package/dist/tests/cli/mcp-cmd.test.d.ts +2 -0
  269. package/dist/tests/cli/mcp-cmd.test.d.ts.map +1 -0
  270. package/dist/tests/cli/mcp-cmd.test.js +47 -0
  271. package/dist/tests/cli/mcp-cmd.test.js.map +1 -0
  272. package/dist/tests/cli/search-cmd.test.d.ts +2 -0
  273. package/dist/tests/cli/search-cmd.test.d.ts.map +1 -0
  274. package/dist/tests/cli/search-cmd.test.js +120 -0
  275. package/dist/tests/cli/search-cmd.test.js.map +1 -0
  276. package/dist/tests/cli/search-with-code-cmd.test.d.ts +2 -0
  277. package/dist/tests/cli/search-with-code-cmd.test.d.ts.map +1 -0
  278. package/dist/tests/cli/search-with-code-cmd.test.js +140 -0
  279. package/dist/tests/cli/search-with-code-cmd.test.js.map +1 -0
  280. package/dist/tests/cli/update-cmd.test.d.ts +2 -0
  281. package/dist/tests/cli/update-cmd.test.d.ts.map +1 -0
  282. package/dist/tests/cli/update-cmd.test.js +75 -0
  283. package/dist/tests/cli/update-cmd.test.js.map +1 -0
  284. package/dist/tests/cli/utils.test.d.ts +2 -0
  285. package/dist/tests/cli/utils.test.d.ts.map +1 -0
  286. package/dist/tests/cli/utils.test.js +119 -0
  287. package/dist/tests/cli/utils.test.js.map +1 -0
  288. package/dist/tests/cli/watch-cmd.test.d.ts +2 -0
  289. package/dist/tests/cli/watch-cmd.test.d.ts.map +1 -0
  290. package/dist/tests/cli/watch-cmd.test.js +84 -0
  291. package/dist/tests/cli/watch-cmd.test.js.map +1 -0
  292. package/dist/tests/cli-ui.test.d.ts +2 -0
  293. package/dist/tests/cli-ui.test.d.ts.map +1 -0
  294. package/dist/tests/cli-ui.test.js +608 -0
  295. package/dist/tests/cli-ui.test.js.map +1 -0
  296. package/dist/tests/codemap-io.test.d.ts +2 -0
  297. package/dist/tests/codemap-io.test.d.ts.map +1 -0
  298. package/dist/tests/codemap-io.test.js +992 -0
  299. package/dist/tests/codemap-io.test.js.map +1 -0
  300. package/dist/tests/config/apply-env.test.d.ts +2 -0
  301. package/dist/tests/config/apply-env.test.d.ts.map +1 -0
  302. package/dist/tests/config/apply-env.test.js +717 -0
  303. package/dist/tests/config/apply-env.test.js.map +1 -0
  304. package/dist/tests/config/constants.test.d.ts +2 -0
  305. package/dist/tests/config/constants.test.d.ts.map +1 -0
  306. package/dist/tests/config/constants.test.js +406 -0
  307. package/dist/tests/config/constants.test.js.map +1 -0
  308. package/dist/tests/config/loader.test.d.ts +2 -0
  309. package/dist/tests/config/loader.test.d.ts.map +1 -0
  310. package/dist/tests/config/loader.test.js +716 -0
  311. package/dist/tests/config/loader.test.js.map +1 -0
  312. package/dist/tests/config/resolver.test.d.ts +2 -0
  313. package/dist/tests/config/resolver.test.d.ts.map +1 -0
  314. package/dist/tests/config/resolver.test.js +402 -0
  315. package/dist/tests/config/resolver.test.js.map +1 -0
  316. package/dist/tests/config/types.test.d.ts +2 -0
  317. package/dist/tests/config/types.test.d.ts.map +1 -0
  318. package/dist/tests/config/types.test.js +460 -0
  319. package/dist/tests/config/types.test.js.map +1 -0
  320. package/dist/tests/context-packs.test.d.ts +2 -0
  321. package/dist/tests/context-packs.test.d.ts.map +1 -0
  322. package/dist/tests/context-packs.test.js +826 -0
  323. package/dist/tests/context-packs.test.js.map +1 -0
  324. package/dist/tests/conversational-synthesizer.test.d.ts +2 -0
  325. package/dist/tests/conversational-synthesizer.test.d.ts.map +1 -0
  326. package/dist/tests/conversational-synthesizer.test.js +595 -0
  327. package/dist/tests/conversational-synthesizer.test.js.map +1 -0
  328. package/dist/tests/database.test.d.ts +2 -0
  329. package/dist/tests/database.test.d.ts.map +1 -0
  330. package/dist/tests/database.test.js +965 -0
  331. package/dist/tests/database.test.js.map +1 -0
  332. package/dist/tests/encrypted-chunks.test.d.ts +2 -0
  333. package/dist/tests/encrypted-chunks.test.d.ts.map +1 -0
  334. package/dist/tests/encrypted-chunks.test.js +1470 -0
  335. package/dist/tests/encrypted-chunks.test.js.map +1 -0
  336. package/dist/tests/hybrid.test.d.ts +2 -0
  337. package/dist/tests/hybrid.test.d.ts.map +1 -0
  338. package/dist/tests/hybrid.test.js +456 -0
  339. package/dist/tests/hybrid.test.js.map +1 -0
  340. package/dist/tests/indexer/ChangeQueue.test.d.ts +12 -0
  341. package/dist/tests/indexer/ChangeQueue.test.d.ts.map +1 -0
  342. package/dist/tests/indexer/ChangeQueue.test.js +441 -0
  343. package/dist/tests/indexer/ChangeQueue.test.js.map +1 -0
  344. package/dist/tests/indexer/ProviderManager.test.d.ts +12 -0
  345. package/dist/tests/indexer/ProviderManager.test.d.ts.map +1 -0
  346. package/dist/tests/indexer/ProviderManager.test.js +290 -0
  347. package/dist/tests/indexer/ProviderManager.test.js.map +1 -0
  348. package/dist/tests/indexer/WatchService.test.d.ts +14 -0
  349. package/dist/tests/indexer/WatchService.test.d.ts.map +1 -0
  350. package/dist/tests/indexer/WatchService.test.js +667 -0
  351. package/dist/tests/indexer/WatchService.test.js.map +1 -0
  352. package/dist/tests/indexer/merkle.test.d.ts +11 -0
  353. package/dist/tests/indexer/merkle.test.d.ts.map +1 -0
  354. package/dist/tests/indexer/merkle.test.js +497 -0
  355. package/dist/tests/indexer/merkle.test.js.map +1 -0
  356. package/dist/tests/indexer/update.test.d.ts +10 -0
  357. package/dist/tests/indexer/update.test.d.ts.map +1 -0
  358. package/dist/tests/indexer/update.test.js +317 -0
  359. package/dist/tests/indexer/update.test.js.map +1 -0
  360. package/dist/tests/indexer/watch.test.d.ts +8 -0
  361. package/dist/tests/indexer/watch.test.d.ts.map +1 -0
  362. package/dist/tests/indexer/watch.test.js +95 -0
  363. package/dist/tests/indexer/watch.test.js.map +1 -0
  364. package/dist/tests/integration/index-search.integration.test.js +6 -4
  365. package/dist/tests/integration/index-search.integration.test.js.map +1 -1
  366. package/dist/tests/languages.test.d.ts +2 -0
  367. package/dist/tests/languages.test.d.ts.map +1 -0
  368. package/dist/tests/languages.test.js +575 -0
  369. package/dist/tests/languages.test.js.map +1 -0
  370. package/dist/tests/logger-redaction.test.d.ts +2 -0
  371. package/dist/tests/logger-redaction.test.d.ts.map +1 -0
  372. package/dist/tests/logger-redaction.test.js +48 -0
  373. package/dist/tests/logger-redaction.test.js.map +1 -0
  374. package/dist/tests/logger.test.d.ts +2 -0
  375. package/dist/tests/logger.test.d.ts.map +1 -0
  376. package/dist/tests/logger.test.js +468 -0
  377. package/dist/tests/logger.test.js.map +1 -0
  378. package/dist/tests/markdown-formatter.test.d.ts +2 -0
  379. package/dist/tests/markdown-formatter.test.d.ts.map +1 -0
  380. package/dist/tests/markdown-formatter.test.js +453 -0
  381. package/dist/tests/markdown-formatter.test.js.map +1 -0
  382. package/dist/tests/mcp/tools/use-context-pack.test.d.ts +7 -0
  383. package/dist/tests/mcp/tools/use-context-pack.test.d.ts.map +1 -0
  384. package/dist/tests/mcp/tools/use-context-pack.test.js +505 -0
  385. package/dist/tests/mcp/tools/use-context-pack.test.js.map +1 -0
  386. package/dist/tests/mutex.test.d.ts +2 -0
  387. package/dist/tests/mutex.test.d.ts.map +1 -0
  388. package/dist/tests/mutex.test.js +489 -0
  389. package/dist/tests/mutex.test.js.map +1 -0
  390. package/dist/tests/path-helpers.test.d.ts +2 -0
  391. package/dist/tests/path-helpers.test.d.ts.map +1 -0
  392. package/dist/tests/path-helpers.test.js +332 -0
  393. package/dist/tests/path-helpers.test.js.map +1 -0
  394. package/dist/tests/prompt-builder.test.d.ts +2 -0
  395. package/dist/tests/prompt-builder.test.d.ts.map +1 -0
  396. package/dist/tests/prompt-builder.test.js +417 -0
  397. package/dist/tests/prompt-builder.test.js.map +1 -0
  398. package/dist/tests/providers/base.test.d.ts +2 -0
  399. package/dist/tests/providers/base.test.d.ts.map +1 -0
  400. package/dist/tests/providers/base.test.js +299 -0
  401. package/dist/tests/providers/base.test.js.map +1 -0
  402. package/dist/tests/providers/chat-llm.test.d.ts +2 -0
  403. package/dist/tests/providers/chat-llm.test.d.ts.map +1 -0
  404. package/dist/tests/providers/chat-llm.test.js +435 -0
  405. package/dist/tests/providers/chat-llm.test.js.map +1 -0
  406. package/dist/tests/providers/index.test.d.ts +2 -0
  407. package/dist/tests/providers/index.test.d.ts.map +1 -0
  408. package/dist/tests/providers/index.test.js +204 -0
  409. package/dist/tests/providers/index.test.js.map +1 -0
  410. package/dist/tests/providers/mock.test.d.ts +2 -0
  411. package/dist/tests/providers/mock.test.d.ts.map +1 -0
  412. package/dist/tests/providers/mock.test.js +225 -0
  413. package/dist/tests/providers/mock.test.js.map +1 -0
  414. package/dist/tests/providers/openai.test.d.ts +2 -0
  415. package/dist/tests/providers/openai.test.d.ts.map +1 -0
  416. package/dist/tests/providers/openai.test.js +408 -0
  417. package/dist/tests/providers/openai.test.js.map +1 -0
  418. package/dist/tests/providers/token-counter.test.d.ts +2 -0
  419. package/dist/tests/providers/token-counter.test.d.ts.map +1 -0
  420. package/dist/tests/providers/token-counter.test.js +247 -0
  421. package/dist/tests/providers/token-counter.test.js.map +1 -0
  422. package/dist/tests/rate-limiter.test.js +392 -1
  423. package/dist/tests/rate-limiter.test.js.map +1 -1
  424. package/dist/tests/scope.test.d.ts +2 -0
  425. package/dist/tests/scope.test.d.ts.map +1 -0
  426. package/dist/tests/scope.test.js +529 -0
  427. package/dist/tests/scope.test.js.map +1 -0
  428. package/dist/tests/search-normalization.test.js.map +1 -1
  429. package/dist/tests/semantic-chunker.test.js.map +1 -1
  430. package/dist/tests/simple-lru.test.js +377 -0
  431. package/dist/tests/simple-lru.test.js.map +1 -1
  432. package/dist/tests/symbol-boost.test.js +730 -10
  433. package/dist/tests/symbol-boost.test.js.map +1 -1
  434. package/dist/tests/symbols-extract.test.d.ts +2 -0
  435. package/dist/tests/symbols-extract.test.d.ts.map +1 -0
  436. package/dist/tests/symbols-extract.test.js +536 -0
  437. package/dist/tests/symbols-extract.test.js.map +1 -0
  438. package/dist/tests/symbols-graph.test.d.ts +2 -0
  439. package/dist/tests/symbols-graph.test.d.ts.map +1 -0
  440. package/dist/tests/symbols-graph.test.js +656 -0
  441. package/dist/tests/symbols-graph.test.js.map +1 -0
  442. package/dist/tests/synthesizer.test.d.ts +2 -0
  443. package/dist/tests/synthesizer.test.d.ts.map +1 -0
  444. package/dist/tests/synthesizer.test.js +381 -0
  445. package/dist/tests/synthesizer.test.js.map +1 -0
  446. package/dist/types/codemap.d.ts +2 -2
  447. package/dist/types/codemap.d.ts.map +1 -1
  448. package/dist/types/codemap.js +17 -9
  449. package/dist/types/codemap.js.map +1 -1
  450. package/dist/types/context-pack.d.ts +5 -5
  451. package/dist/types/context-pack.d.ts.map +1 -1
  452. package/dist/types/context-pack.js +6 -3
  453. package/dist/types/context-pack.js.map +1 -1
  454. package/dist/utils/cli-ui.d.ts +1 -1
  455. package/dist/utils/cli-ui.d.ts.map +1 -1
  456. package/dist/utils/cli-ui.js +26 -26
  457. package/dist/utils/cli-ui.js.map +1 -1
  458. package/dist/utils/indexer-with-progress.d.ts.map +1 -1
  459. package/dist/utils/indexer-with-progress.js +0 -6
  460. package/dist/utils/indexer-with-progress.js.map +1 -1
  461. package/dist/utils/logger.d.ts +10 -1
  462. package/dist/utils/logger.d.ts.map +1 -1
  463. package/dist/utils/logger.js +158 -6
  464. package/dist/utils/logger.js.map +1 -1
  465. package/dist/utils/mutex.d.ts +7 -2
  466. package/dist/utils/mutex.d.ts.map +1 -1
  467. package/dist/utils/mutex.js +35 -7
  468. package/dist/utils/mutex.js.map +1 -1
  469. package/dist/utils/path-helpers.d.ts.map +1 -1
  470. package/dist/utils/path-helpers.js +5 -2
  471. package/dist/utils/path-helpers.js.map +1 -1
  472. package/dist/utils/rate-limiter.d.ts.map +1 -1
  473. package/dist/utils/rate-limiter.js +23 -4
  474. package/dist/utils/rate-limiter.js.map +1 -1
  475. package/dist/utils/simple-lru.d.ts +6 -0
  476. package/dist/utils/simple-lru.d.ts.map +1 -1
  477. package/dist/utils/simple-lru.js +26 -0
  478. package/dist/utils/simple-lru.js.map +1 -1
  479. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-env.test.js","sourceRoot":"","sources":["../../../src/tests/config/apply-env.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,OAAO;IACd,MAAM,OAAO,GAAG;QACd,6BAA6B;QAC7B,gBAAgB;QAChB,8BAA8B;QAC9B,iBAAiB;QACjB,2BAA2B;QAC3B,kCAAkC;QAClC,cAAc;QACd,gCAAgC;QAChC,sBAAsB;QACtB,gCAAgC;QAChC,sBAAsB;QACtB,oCAAoC;QACpC,0BAA0B;QAC1B,sBAAsB;QACtB,oCAAoC;QACpC,0BAA0B;QAC1B,0BAA0B;QAC1B,0BAA0B;QAC1B,0BAA0B;QAC1B,wBAAwB;QACxB,wBAAwB;QACxB,yBAAyB;QACzB,sBAAsB;QACtB,6BAA6B;QAC7B,2BAA2B;QAC3B,4BAA4B;KAC7B,CAAC;IAEF,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAyC;IAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,iCAAiC;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC;QACzC,+DAA+D;QAC/D,qDAAqD;QACrD,oDAAoD;IACtD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;IACvE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,cAAc;iBACvB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,OAAO,EAAE,yBAAyB;iBACnC;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,KAAK,EAAE,wBAAwB;iBAChC;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,gCAAgC,EAAE,wBAAwB,CAAC,CAAC;IACrF,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC1E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,UAAU,EAAE,IAAI;iBACjB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAChE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,KAAK;aACX;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,mBAAmB;aACzB;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,QAAQ,EAAE;gBACR,MAAM,EAAE,8BAA8B;gBACtC,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,WAAW;aACnB;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,8BAA8B,CAAC,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,0BAA0B;oBACnC,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,GAAG;iBACjB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,WAAW,EAAE,CAAC;iBACf;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,2BAA2B;oBACpC,KAAK,EAAE,wBAAwB;oBAC/B,UAAU,EAAE,IAAI;iBACjB;aACF;YACD,SAAS,EAAE;gBACT,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,KAAK;aACX;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,gBAAgB;aACtB;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,8BAA8B;gBACtC,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,WAAW;aACnB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,0BAA0B;oBACnC,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,GAAG;iBACjB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,uCAAuC;QACvC,MAAM,YAAY,GAAG;YACnB,6BAA6B;YAC7B,gBAAgB;YAChB,8BAA8B;YAC9B,iBAAiB;YACjB,2BAA2B;YAC3B,kCAAkC;YAClC,gCAAgC;YAChC,sBAAsB;YACtB,gCAAgC;YAChC,sBAAsB;YACtB,oCAAoC;YACpC,0BAA0B;YAC1B,oCAAoC;YACpC,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;YAC1B,wBAAwB;YACxB,wBAAwB;YACxB,yBAAyB;YACzB,sBAAsB;YACtB,2BAA2B;YAC3B,4BAA4B;SAC7B,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,SAAS,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,aAAa;oBACrB,KAAK,EAAE,eAAe;iBACvB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,cAAc,CAAC;QAEzD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,cAAc;iBACtB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1B,yCAAyC;QACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QAEtE,+BAA+B;QAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,qDAAqD;QACrD,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1B,yCAAyC;QACzC,gDAAgD;QAChD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,gDAAgD,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,WAAW;iBACpB;aACF;YACD,SAAS,EAAE;gBACT,GAAG,EAAE,GAAG;aACT;YACD,UAAU,EAAE;gBACV,GAAG,EAAE,SAAS;aACf;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,YAAY;aACrB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;iBACnB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,gDAAgD;QAChD,gBAAgB,EAAE,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,KAAK,EAAE,eAAe;iBACvB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,mBAAmB;QACnB,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAAC;QAEpD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE9C,0CAA0C;QAC1C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE9C,iCAAiC;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC;QACzC,qDAAqD;QACrD,oDAAoD;IACtD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,gDAAgD;QAChD,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QAEvC,MAAM,CAAC,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,aAAa;oBACrB,KAAK,EAAE,eAAe;iBACvB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,sBAAsB;QACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAAC;QAEpD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE9C,sBAAsB;QACtB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE7D,sCAAsC;QACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACrF,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,sEAAsE;QACtE,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,MAAM,EAAE,EAAE;aACX;YACD,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE;aACX;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,6EAA6E;QAC7E,4CAA4C;QAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,qCAAqC;QACrC,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE;gBACT,GAAG,EAAE,EAAE;gBACP,cAAc;aACf;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1B,+DAA+D;QAC/D,6CAA6C;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QAC3D,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE;IAC/E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAoB;YAClC,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,cAAc;aACf;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,IAAI,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constants.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.test.d.ts","sourceRoot":"","sources":["../../../src/tests/config/constants.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,406 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import {
4
+ // Grouped constants
5
+ PARSING_CONSTANTS, CACHE_CONSTANTS, INDEXING_CONSTANTS, SEARCH_CONSTANTS, SYMBOL_BOOST_CONSTANTS, WATCHER_CONSTANTS, RATE_LIMIT_CONSTANTS, BATCH_CONSTANTS, ENCRYPTION_CONSTANTS, LLM_CONSTANTS, CHUNKING_CONSTANTS, CONVERSATION_CONSTANTS, DOC_BOOST_CONSTANTS,
6
+ // Backward compatibility exports
7
+ SIZE_THRESHOLD, CHUNK_SIZE, MAX_CHUNK_SIZE, RRF_K, DOC_BOOST, MAX_NEIGHBORS, PROMPT_TRUNCATE_LENGTH, CONVERSATION_MAX_CONTEXT_CHUNKS, DEFAULT_CACHE_CLEAR_INTERVAL_MS, CHAR_TO_TOKEN_RATIO, ALL_CONSTANTS, } from '../../config/constants.js';
8
+ // =============================================================================
9
+ // PARSING_CONSTANTS tests
10
+ // =============================================================================
11
+ test('PARSING_CONSTANTS has correct SIZE_THRESHOLD', () => {
12
+ assert.equal(PARSING_CONSTANTS.SIZE_THRESHOLD, 30_000);
13
+ assert.ok(typeof PARSING_CONSTANTS.SIZE_THRESHOLD === 'number');
14
+ });
15
+ test('PARSING_CONSTANTS has correct CHUNK_SIZE', () => {
16
+ assert.equal(PARSING_CONSTANTS.CHUNK_SIZE, 30_000);
17
+ assert.ok(typeof PARSING_CONSTANTS.CHUNK_SIZE === 'number');
18
+ });
19
+ // =============================================================================
20
+ // CACHE_CONSTANTS tests
21
+ // =============================================================================
22
+ test('CACHE_CONSTANTS has positive MAX_BM25_CACHE_SIZE', () => {
23
+ assert.ok(CACHE_CONSTANTS.MAX_BM25_CACHE_SIZE > 0);
24
+ assert.ok(typeof CACHE_CONSTANTS.MAX_BM25_CACHE_SIZE === 'number');
25
+ });
26
+ test('CACHE_CONSTANTS has positive MAX_CHUNK_TEXT_CACHE_SIZE', () => {
27
+ assert.ok(CACHE_CONSTANTS.MAX_CHUNK_TEXT_CACHE_SIZE > 0);
28
+ assert.ok(typeof CACHE_CONSTANTS.MAX_CHUNK_TEXT_CACHE_SIZE === 'number');
29
+ });
30
+ test('CACHE_CONSTANTS has positive CACHE_CLEAR_INTERVAL_MS', () => {
31
+ assert.ok(CACHE_CONSTANTS.CACHE_CLEAR_INTERVAL_MS > 0);
32
+ assert.ok(typeof CACHE_CONSTANTS.CACHE_CLEAR_INTERVAL_MS === 'number');
33
+ });
34
+ test('CACHE_CONSTANTS defaults are reasonable', () => {
35
+ // Default values when env vars are not set
36
+ // These tests verify the default values are sensible
37
+ assert.ok(CACHE_CONSTANTS.MAX_BM25_CACHE_SIZE >= 1, 'should have at least 1 BM25 cache slot');
38
+ assert.ok(CACHE_CONSTANTS.MAX_BM25_CACHE_SIZE <= 1000, 'BM25 cache should not be too large');
39
+ assert.ok(CACHE_CONSTANTS.MAX_CHUNK_TEXT_CACHE_SIZE >= 100, 'chunk cache should have reasonable size');
40
+ assert.ok(CACHE_CONSTANTS.CACHE_CLEAR_INTERVAL_MS >= 60000, 'cache clear interval should be at least 1 minute');
41
+ });
42
+ // =============================================================================
43
+ // INDEXING_CONSTANTS tests
44
+ // =============================================================================
45
+ test('INDEXING_CONSTANTS has positive DEFAULT_CONCURRENCY', () => {
46
+ assert.ok(INDEXING_CONSTANTS.DEFAULT_CONCURRENCY > 0);
47
+ assert.ok(typeof INDEXING_CONSTANTS.DEFAULT_CONCURRENCY === 'number');
48
+ });
49
+ test('INDEXING_CONSTANTS has positive MAX_CONCURRENCY', () => {
50
+ assert.ok(INDEXING_CONSTANTS.MAX_CONCURRENCY > 0);
51
+ assert.ok(typeof INDEXING_CONSTANTS.MAX_CONCURRENCY === 'number');
52
+ });
53
+ test('INDEXING_CONSTANTS MAX_CONCURRENCY >= DEFAULT_CONCURRENCY', () => {
54
+ assert.ok(INDEXING_CONSTANTS.MAX_CONCURRENCY >= INDEXING_CONSTANTS.DEFAULT_CONCURRENCY);
55
+ });
56
+ // =============================================================================
57
+ // SEARCH_CONSTANTS tests
58
+ // =============================================================================
59
+ test('SEARCH_CONSTANTS has positive RERANKER_MAX_CANDIDATES', () => {
60
+ assert.ok(SEARCH_CONSTANTS.RERANKER_MAX_CANDIDATES > 0);
61
+ assert.ok(typeof SEARCH_CONSTANTS.RERANKER_MAX_CANDIDATES === 'number');
62
+ });
63
+ test('SEARCH_CONSTANTS has positive MAX_CHUNK_SIZE', () => {
64
+ assert.equal(SEARCH_CONSTANTS.MAX_CHUNK_SIZE, 100_000);
65
+ assert.ok(typeof SEARCH_CONSTANTS.MAX_CHUNK_SIZE === 'number');
66
+ });
67
+ test('SEARCH_CONSTANTS has positive DEFAULT_SEARCH_LIMIT', () => {
68
+ assert.equal(SEARCH_CONSTANTS.DEFAULT_SEARCH_LIMIT, 10);
69
+ assert.ok(typeof SEARCH_CONSTANTS.DEFAULT_SEARCH_LIMIT === 'number');
70
+ });
71
+ test('SEARCH_CONSTANTS has positive MAX_SEARCH_LIMIT', () => {
72
+ assert.equal(SEARCH_CONSTANTS.MAX_SEARCH_LIMIT, 200);
73
+ assert.ok(SEARCH_CONSTANTS.MAX_SEARCH_LIMIT >= SEARCH_CONSTANTS.DEFAULT_SEARCH_LIMIT);
74
+ });
75
+ test('SEARCH_CONSTANTS has positive BM25_PREFILTER_LIMIT', () => {
76
+ assert.ok(SEARCH_CONSTANTS.BM25_PREFILTER_LIMIT > 0);
77
+ assert.ok(typeof SEARCH_CONSTANTS.BM25_PREFILTER_LIMIT === 'number');
78
+ });
79
+ test('SEARCH_CONSTANTS has positive SELECTION_BUDGET_MULTIPLIER', () => {
80
+ assert.equal(SEARCH_CONSTANTS.SELECTION_BUDGET_MULTIPLIER, 60);
81
+ assert.ok(typeof SEARCH_CONSTANTS.SELECTION_BUDGET_MULTIPLIER === 'number');
82
+ });
83
+ test('SEARCH_CONSTANTS has positive RRF_K_CONSTANT', () => {
84
+ assert.equal(SEARCH_CONSTANTS.RRF_K_CONSTANT, 60);
85
+ assert.ok(typeof SEARCH_CONSTANTS.RRF_K_CONSTANT === 'number');
86
+ });
87
+ // =============================================================================
88
+ // SYMBOL_BOOST_CONSTANTS tests
89
+ // =============================================================================
90
+ test('SYMBOL_BOOST_CONSTANTS has correct SIGNATURE_MATCH_BOOST', () => {
91
+ assert.equal(SYMBOL_BOOST_CONSTANTS.SIGNATURE_MATCH_BOOST, 0.3);
92
+ });
93
+ test('SYMBOL_BOOST_CONSTANTS has correct NEIGHBOR_MATCH_BOOST', () => {
94
+ assert.equal(SYMBOL_BOOST_CONSTANTS.NEIGHBOR_MATCH_BOOST, 0.15);
95
+ });
96
+ test('SYMBOL_BOOST_CONSTANTS has correct MAX_SYMBOL_BOOST', () => {
97
+ assert.equal(SYMBOL_BOOST_CONSTANTS.MAX_SYMBOL_BOOST, 0.45);
98
+ // MAX should be >= sum of individual boosts (for capping purposes)
99
+ assert.ok(SYMBOL_BOOST_CONSTANTS.MAX_SYMBOL_BOOST <= 1.0, 'max boost should not exceed 1.0');
100
+ });
101
+ test('SYMBOL_BOOST_CONSTANTS has positive MIN_TOKEN_LENGTH', () => {
102
+ assert.equal(SYMBOL_BOOST_CONSTANTS.MIN_TOKEN_LENGTH, 3);
103
+ assert.ok(SYMBOL_BOOST_CONSTANTS.MIN_TOKEN_LENGTH > 0);
104
+ });
105
+ test('SYMBOL_BOOST_CONSTANTS has positive MAX_PARAMETERS', () => {
106
+ assert.equal(SYMBOL_BOOST_CONSTANTS.MAX_PARAMETERS, 12);
107
+ assert.ok(SYMBOL_BOOST_CONSTANTS.MAX_PARAMETERS > 0);
108
+ });
109
+ // =============================================================================
110
+ // WATCHER_CONSTANTS tests
111
+ // =============================================================================
112
+ test('WATCHER_CONSTANTS has positive DEFAULT_DEBOUNCE_MS', () => {
113
+ assert.equal(WATCHER_CONSTANTS.DEFAULT_DEBOUNCE_MS, 500);
114
+ assert.ok(WATCHER_CONSTANTS.DEFAULT_DEBOUNCE_MS > 0);
115
+ });
116
+ test('WATCHER_CONSTANTS has positive MIN_DEBOUNCE_MS', () => {
117
+ assert.equal(WATCHER_CONSTANTS.MIN_DEBOUNCE_MS, 50);
118
+ assert.ok(WATCHER_CONSTANTS.MIN_DEBOUNCE_MS > 0);
119
+ });
120
+ test('WATCHER_CONSTANTS DEFAULT >= MIN debounce', () => {
121
+ assert.ok(WATCHER_CONSTANTS.DEFAULT_DEBOUNCE_MS >= WATCHER_CONSTANTS.MIN_DEBOUNCE_MS);
122
+ });
123
+ test('WATCHER_CONSTANTS has positive SETTLE_DELAY_MS', () => {
124
+ assert.equal(WATCHER_CONSTANTS.SETTLE_DELAY_MS, 200);
125
+ assert.ok(WATCHER_CONSTANTS.SETTLE_DELAY_MS > 0);
126
+ });
127
+ test('WATCHER_CONSTANTS has positive STABILITY_THRESHOLD_MS', () => {
128
+ assert.equal(WATCHER_CONSTANTS.STABILITY_THRESHOLD_MS, 100);
129
+ assert.ok(WATCHER_CONSTANTS.STABILITY_THRESHOLD_MS > 0);
130
+ });
131
+ test('WATCHER_CONSTANTS has positive POLL_INTERVAL_MS', () => {
132
+ assert.equal(WATCHER_CONSTANTS.POLL_INTERVAL_MS, 50);
133
+ assert.ok(WATCHER_CONSTANTS.POLL_INTERVAL_MS > 0);
134
+ });
135
+ // =============================================================================
136
+ // RATE_LIMIT_CONSTANTS tests
137
+ // =============================================================================
138
+ test('RATE_LIMIT_CONSTANTS has RETRY_DELAYS array', () => {
139
+ assert.ok(Array.isArray(RATE_LIMIT_CONSTANTS.RETRY_DELAYS));
140
+ assert.ok(RATE_LIMIT_CONSTANTS.RETRY_DELAYS.length > 0);
141
+ });
142
+ test('RATE_LIMIT_CONSTANTS RETRY_DELAYS are increasing', () => {
143
+ const delays = RATE_LIMIT_CONSTANTS.RETRY_DELAYS;
144
+ for (let i = 1; i < delays.length; i++) {
145
+ assert.ok(delays[i] > delays[i - 1], 'delays should be increasing');
146
+ }
147
+ });
148
+ test('RATE_LIMIT_CONSTANTS RETRY_DELAYS are all positive', () => {
149
+ for (const delay of RATE_LIMIT_CONSTANTS.RETRY_DELAYS) {
150
+ assert.ok(delay > 0, 'all delays should be positive');
151
+ }
152
+ });
153
+ test('RATE_LIMIT_CONSTANTS has positive DEFAULT_MAX_QUEUE_SIZE', () => {
154
+ assert.equal(RATE_LIMIT_CONSTANTS.DEFAULT_MAX_QUEUE_SIZE, 10_000);
155
+ assert.ok(RATE_LIMIT_CONSTANTS.DEFAULT_MAX_QUEUE_SIZE > 0);
156
+ });
157
+ test('RATE_LIMIT_CONSTANTS has positive DELAY_BUFFER_MS', () => {
158
+ assert.equal(RATE_LIMIT_CONSTANTS.DELAY_BUFFER_MS, 100);
159
+ assert.ok(RATE_LIMIT_CONSTANTS.DELAY_BUFFER_MS >= 0);
160
+ });
161
+ // =============================================================================
162
+ // BATCH_CONSTANTS tests
163
+ // =============================================================================
164
+ test('BATCH_CONSTANTS has positive MAX_BATCH_RETRIES', () => {
165
+ assert.equal(BATCH_CONSTANTS.MAX_BATCH_RETRIES, 3);
166
+ assert.ok(BATCH_CONSTANTS.MAX_BATCH_RETRIES > 0);
167
+ });
168
+ test('BATCH_CONSTANTS has positive INITIAL_RETRY_DELAY_MS', () => {
169
+ assert.equal(BATCH_CONSTANTS.INITIAL_RETRY_DELAY_MS, 1000);
170
+ assert.ok(BATCH_CONSTANTS.INITIAL_RETRY_DELAY_MS > 0);
171
+ });
172
+ test('BATCH_CONSTANTS has positive MAX_BATCH_TOKENS', () => {
173
+ assert.equal(BATCH_CONSTANTS.MAX_BATCH_TOKENS, 100_000);
174
+ assert.ok(BATCH_CONSTANTS.MAX_BATCH_TOKENS > 0);
175
+ });
176
+ test('BATCH_CONSTANTS has positive MAX_ITEM_TOKENS', () => {
177
+ assert.equal(BATCH_CONSTANTS.MAX_ITEM_TOKENS, 8191);
178
+ assert.ok(BATCH_CONSTANTS.MAX_ITEM_TOKENS > 0);
179
+ });
180
+ test('BATCH_CONSTANTS MAX_BATCH_TOKENS > MAX_ITEM_TOKENS', () => {
181
+ assert.ok(BATCH_CONSTANTS.MAX_BATCH_TOKENS > BATCH_CONSTANTS.MAX_ITEM_TOKENS);
182
+ });
183
+ test('BATCH_CONSTANTS has positive DEFAULT_BATCH_SIZE', () => {
184
+ assert.equal(BATCH_CONSTANTS.DEFAULT_BATCH_SIZE, 100);
185
+ assert.ok(BATCH_CONSTANTS.DEFAULT_BATCH_SIZE > 0);
186
+ });
187
+ // =============================================================================
188
+ // ENCRYPTION_CONSTANTS tests
189
+ // =============================================================================
190
+ test('ENCRYPTION_CONSTANTS has correct MAGIC_HEADER', () => {
191
+ assert.equal(ENCRYPTION_CONSTANTS.MAGIC_HEADER, 'CVAULTE1');
192
+ assert.ok(typeof ENCRYPTION_CONSTANTS.MAGIC_HEADER === 'string');
193
+ });
194
+ test('ENCRYPTION_CONSTANTS has positive SALT_LENGTH', () => {
195
+ assert.equal(ENCRYPTION_CONSTANTS.SALT_LENGTH, 16);
196
+ assert.ok(ENCRYPTION_CONSTANTS.SALT_LENGTH > 0);
197
+ });
198
+ test('ENCRYPTION_CONSTANTS has positive IV_LENGTH', () => {
199
+ assert.equal(ENCRYPTION_CONSTANTS.IV_LENGTH, 12);
200
+ assert.ok(ENCRYPTION_CONSTANTS.IV_LENGTH > 0);
201
+ });
202
+ test('ENCRYPTION_CONSTANTS has positive TAG_LENGTH', () => {
203
+ assert.equal(ENCRYPTION_CONSTANTS.TAG_LENGTH, 16);
204
+ assert.ok(ENCRYPTION_CONSTANTS.TAG_LENGTH > 0);
205
+ });
206
+ test('ENCRYPTION_CONSTANTS has positive KEY_ID_LENGTH', () => {
207
+ assert.equal(ENCRYPTION_CONSTANTS.KEY_ID_LENGTH, 8);
208
+ assert.ok(ENCRYPTION_CONSTANTS.KEY_ID_LENGTH > 0);
209
+ });
210
+ test('ENCRYPTION_CONSTANTS has correct HKDF_INFO', () => {
211
+ assert.equal(ENCRYPTION_CONSTANTS.HKDF_INFO, 'codevault-chunk-v1');
212
+ assert.ok(typeof ENCRYPTION_CONSTANTS.HKDF_INFO === 'string');
213
+ });
214
+ test('ENCRYPTION_CONSTANTS has correct REQUIRED_KEY_LENGTH', () => {
215
+ assert.equal(ENCRYPTION_CONSTANTS.REQUIRED_KEY_LENGTH, 32);
216
+ assert.ok(ENCRYPTION_CONSTANTS.REQUIRED_KEY_LENGTH > 0);
217
+ });
218
+ // =============================================================================
219
+ // LLM_CONSTANTS tests
220
+ // =============================================================================
221
+ test('LLM_CONSTANTS has valid MULTI_QUERY_TEMPERATURE', () => {
222
+ assert.equal(LLM_CONSTANTS.MULTI_QUERY_TEMPERATURE, 0.3);
223
+ assert.ok(LLM_CONSTANTS.MULTI_QUERY_TEMPERATURE >= 0);
224
+ assert.ok(LLM_CONSTANTS.MULTI_QUERY_TEMPERATURE <= 2);
225
+ });
226
+ test('LLM_CONSTANTS has valid DEFAULT_TEMPERATURE', () => {
227
+ assert.equal(LLM_CONSTANTS.DEFAULT_TEMPERATURE, 0.7);
228
+ assert.ok(LLM_CONSTANTS.DEFAULT_TEMPERATURE >= 0);
229
+ assert.ok(LLM_CONSTANTS.DEFAULT_TEMPERATURE <= 2);
230
+ });
231
+ test('LLM_CONSTANTS has positive MULTI_QUERY_MAX_TOKENS', () => {
232
+ assert.equal(LLM_CONSTANTS.MULTI_QUERY_MAX_TOKENS, 500);
233
+ assert.ok(LLM_CONSTANTS.MULTI_QUERY_MAX_TOKENS > 0);
234
+ });
235
+ test('LLM_CONSTANTS has positive DEFAULT_CHAT_MAX_TOKENS', () => {
236
+ assert.equal(LLM_CONSTANTS.DEFAULT_CHAT_MAX_TOKENS, 256000);
237
+ assert.ok(LLM_CONSTANTS.DEFAULT_CHAT_MAX_TOKENS > 0);
238
+ });
239
+ test('LLM_CONSTANTS has positive DEFAULT_MAX_CHUNKS', () => {
240
+ assert.equal(LLM_CONSTANTS.DEFAULT_MAX_CHUNKS, 10);
241
+ assert.ok(LLM_CONSTANTS.DEFAULT_MAX_CHUNKS > 0);
242
+ });
243
+ // =============================================================================
244
+ // CHUNKING_CONSTANTS tests
245
+ // =============================================================================
246
+ test('CHUNKING_CONSTANTS has positive MIN_CHUNK_TOKENS', () => {
247
+ assert.equal(CHUNKING_CONSTANTS.MIN_CHUNK_TOKENS, 50);
248
+ assert.ok(CHUNKING_CONSTANTS.MIN_CHUNK_TOKENS > 0);
249
+ });
250
+ test('CHUNKING_CONSTANTS has valid LINE_OVERLAP_PERCENTAGE', () => {
251
+ assert.equal(CHUNKING_CONSTANTS.LINE_OVERLAP_PERCENTAGE, 0.2);
252
+ assert.ok(CHUNKING_CONSTANTS.LINE_OVERLAP_PERCENTAGE > 0);
253
+ assert.ok(CHUNKING_CONSTANTS.LINE_OVERLAP_PERCENTAGE < 1);
254
+ });
255
+ test('CHUNKING_CONSTANTS has positive MAX_SIGNATURE_SNIPPET', () => {
256
+ assert.equal(CHUNKING_CONSTANTS.MAX_SIGNATURE_SNIPPET, 400);
257
+ assert.ok(CHUNKING_CONSTANTS.MAX_SIGNATURE_SNIPPET > 0);
258
+ });
259
+ test('CHUNKING_CONSTANTS has positive MAX_CALL_SNIPPET', () => {
260
+ assert.equal(CHUNKING_CONSTANTS.MAX_CALL_SNIPPET, 120);
261
+ assert.ok(CHUNKING_CONSTANTS.MAX_CALL_SNIPPET > 0);
262
+ });
263
+ test('CHUNKING_CONSTANTS has positive MAX_RETURN_TYPE_SNIPPET', () => {
264
+ assert.equal(CHUNKING_CONSTANTS.MAX_RETURN_TYPE_SNIPPET, 80);
265
+ assert.ok(CHUNKING_CONSTANTS.MAX_RETURN_TYPE_SNIPPET > 0);
266
+ });
267
+ // =============================================================================
268
+ // CONVERSATION_CONSTANTS tests
269
+ // =============================================================================
270
+ test('CONVERSATION_CONSTANTS has positive MAX_CONTEXT_CHUNKS', () => {
271
+ assert.equal(CONVERSATION_CONSTANTS.MAX_CONTEXT_CHUNKS, 200);
272
+ assert.ok(CONVERSATION_CONSTANTS.MAX_CONTEXT_CHUNKS > 0);
273
+ });
274
+ test('CONVERSATION_CONSTANTS has positive PROMPT_TRUNCATE_LENGTH', () => {
275
+ assert.equal(CONVERSATION_CONSTANTS.PROMPT_TRUNCATE_LENGTH, 2000);
276
+ assert.ok(CONVERSATION_CONSTANTS.PROMPT_TRUNCATE_LENGTH > 0);
277
+ });
278
+ // =============================================================================
279
+ // DOC_BOOST_CONSTANTS tests
280
+ // =============================================================================
281
+ test('DOC_BOOST_CONSTANTS has valid DOC_FILE_BOOST', () => {
282
+ assert.equal(DOC_BOOST_CONSTANTS.DOC_FILE_BOOST, 0.15);
283
+ assert.ok(DOC_BOOST_CONSTANTS.DOC_FILE_BOOST >= 0);
284
+ assert.ok(DOC_BOOST_CONSTANTS.DOC_FILE_BOOST <= 1);
285
+ });
286
+ test('DOC_BOOST_CONSTANTS has valid INTENT_MATCH_BOOST', () => {
287
+ assert.equal(DOC_BOOST_CONSTANTS.INTENT_MATCH_BOOST, 0.2);
288
+ assert.ok(DOC_BOOST_CONSTANTS.INTENT_MATCH_BOOST >= 0);
289
+ assert.ok(DOC_BOOST_CONSTANTS.INTENT_MATCH_BOOST <= 1);
290
+ });
291
+ test('DOC_BOOST_CONSTANTS has valid TAG_MATCH_BOOST', () => {
292
+ assert.equal(DOC_BOOST_CONSTANTS.TAG_MATCH_BOOST, 0.1);
293
+ assert.ok(DOC_BOOST_CONSTANTS.TAG_MATCH_BOOST >= 0);
294
+ assert.ok(DOC_BOOST_CONSTANTS.TAG_MATCH_BOOST <= 1);
295
+ });
296
+ // =============================================================================
297
+ // Backward compatibility exports tests
298
+ // =============================================================================
299
+ test('SIZE_THRESHOLD matches PARSING_CONSTANTS', () => {
300
+ assert.equal(SIZE_THRESHOLD, PARSING_CONSTANTS.SIZE_THRESHOLD);
301
+ });
302
+ test('CHUNK_SIZE matches PARSING_CONSTANTS', () => {
303
+ assert.equal(CHUNK_SIZE, PARSING_CONSTANTS.CHUNK_SIZE);
304
+ });
305
+ test('MAX_CHUNK_SIZE matches SEARCH_CONSTANTS', () => {
306
+ assert.equal(MAX_CHUNK_SIZE, SEARCH_CONSTANTS.MAX_CHUNK_SIZE);
307
+ });
308
+ test('RRF_K matches SEARCH_CONSTANTS.RRF_K_CONSTANT', () => {
309
+ assert.equal(RRF_K, SEARCH_CONSTANTS.RRF_K_CONSTANT);
310
+ });
311
+ test('DOC_BOOST matches DOC_BOOST_CONSTANTS.DOC_FILE_BOOST', () => {
312
+ assert.equal(DOC_BOOST, DOC_BOOST_CONSTANTS.DOC_FILE_BOOST);
313
+ });
314
+ test('MAX_NEIGHBORS matches SYMBOL_BOOST_CONSTANTS.MAX_PARAMETERS', () => {
315
+ assert.equal(MAX_NEIGHBORS, SYMBOL_BOOST_CONSTANTS.MAX_PARAMETERS);
316
+ });
317
+ test('PROMPT_TRUNCATE_LENGTH matches CONVERSATION_CONSTANTS', () => {
318
+ assert.equal(PROMPT_TRUNCATE_LENGTH, CONVERSATION_CONSTANTS.PROMPT_TRUNCATE_LENGTH);
319
+ });
320
+ test('CONVERSATION_MAX_CONTEXT_CHUNKS matches CONVERSATION_CONSTANTS.MAX_CONTEXT_CHUNKS', () => {
321
+ assert.equal(CONVERSATION_MAX_CONTEXT_CHUNKS, CONVERSATION_CONSTANTS.MAX_CONTEXT_CHUNKS);
322
+ });
323
+ test('DEFAULT_CACHE_CLEAR_INTERVAL_MS matches CACHE_CONSTANTS.CACHE_CLEAR_INTERVAL_MS', () => {
324
+ assert.equal(DEFAULT_CACHE_CLEAR_INTERVAL_MS, CACHE_CONSTANTS.CACHE_CLEAR_INTERVAL_MS);
325
+ });
326
+ test('CHAR_TO_TOKEN_RATIO is 4', () => {
327
+ assert.equal(CHAR_TO_TOKEN_RATIO, 4);
328
+ });
329
+ // =============================================================================
330
+ // ALL_CONSTANTS aggregate tests
331
+ // =============================================================================
332
+ test('ALL_CONSTANTS contains all constant groups', () => {
333
+ assert.ok('PARSING' in ALL_CONSTANTS);
334
+ assert.ok('CACHE' in ALL_CONSTANTS);
335
+ assert.ok('SEARCH' in ALL_CONSTANTS);
336
+ assert.ok('SYMBOL_BOOST' in ALL_CONSTANTS);
337
+ assert.ok('WATCHER' in ALL_CONSTANTS);
338
+ assert.ok('RATE_LIMIT' in ALL_CONSTANTS);
339
+ assert.ok('BATCH' in ALL_CONSTANTS);
340
+ assert.ok('ENCRYPTION' in ALL_CONSTANTS);
341
+ assert.ok('LLM' in ALL_CONSTANTS);
342
+ assert.ok('CHUNKING' in ALL_CONSTANTS);
343
+ assert.ok('CONVERSATION' in ALL_CONSTANTS);
344
+ assert.ok('DOC_BOOST' in ALL_CONSTANTS);
345
+ });
346
+ test('ALL_CONSTANTS groups match individual exports', () => {
347
+ assert.deepEqual(ALL_CONSTANTS.PARSING, PARSING_CONSTANTS);
348
+ assert.deepEqual(ALL_CONSTANTS.CACHE, CACHE_CONSTANTS);
349
+ assert.deepEqual(ALL_CONSTANTS.SEARCH, SEARCH_CONSTANTS);
350
+ assert.deepEqual(ALL_CONSTANTS.SYMBOL_BOOST, SYMBOL_BOOST_CONSTANTS);
351
+ assert.deepEqual(ALL_CONSTANTS.WATCHER, WATCHER_CONSTANTS);
352
+ assert.deepEqual(ALL_CONSTANTS.RATE_LIMIT, RATE_LIMIT_CONSTANTS);
353
+ assert.deepEqual(ALL_CONSTANTS.BATCH, BATCH_CONSTANTS);
354
+ assert.deepEqual(ALL_CONSTANTS.ENCRYPTION, ENCRYPTION_CONSTANTS);
355
+ assert.deepEqual(ALL_CONSTANTS.LLM, LLM_CONSTANTS);
356
+ assert.deepEqual(ALL_CONSTANTS.CHUNKING, CHUNKING_CONSTANTS);
357
+ assert.deepEqual(ALL_CONSTANTS.CONVERSATION, CONVERSATION_CONSTANTS);
358
+ assert.deepEqual(ALL_CONSTANTS.DOC_BOOST, DOC_BOOST_CONSTANTS);
359
+ });
360
+ // =============================================================================
361
+ // Type safety tests (all constants should be readonly)
362
+ // =============================================================================
363
+ test('Constants are frozen/readonly', () => {
364
+ // The 'as const' assertion should make these readonly
365
+ // We verify by checking the object is an object (basic sanity check)
366
+ assert.ok(typeof PARSING_CONSTANTS === 'object');
367
+ assert.ok(typeof CACHE_CONSTANTS === 'object');
368
+ assert.ok(typeof INDEXING_CONSTANTS === 'object');
369
+ assert.ok(typeof SEARCH_CONSTANTS === 'object');
370
+ assert.ok(typeof SYMBOL_BOOST_CONSTANTS === 'object');
371
+ assert.ok(typeof WATCHER_CONSTANTS === 'object');
372
+ assert.ok(typeof RATE_LIMIT_CONSTANTS === 'object');
373
+ assert.ok(typeof BATCH_CONSTANTS === 'object');
374
+ assert.ok(typeof ENCRYPTION_CONSTANTS === 'object');
375
+ assert.ok(typeof LLM_CONSTANTS === 'object');
376
+ assert.ok(typeof CHUNKING_CONSTANTS === 'object');
377
+ assert.ok(typeof CONVERSATION_CONSTANTS === 'object');
378
+ assert.ok(typeof DOC_BOOST_CONSTANTS === 'object');
379
+ assert.ok(typeof ALL_CONSTANTS === 'object');
380
+ });
381
+ // =============================================================================
382
+ // Sanity checks for related constants
383
+ // =============================================================================
384
+ test('Chunking and parsing constants are consistent', () => {
385
+ // SIZE_THRESHOLD and CHUNK_SIZE should be equal for streaming parser
386
+ assert.equal(PARSING_CONSTANTS.SIZE_THRESHOLD, PARSING_CONSTANTS.CHUNK_SIZE);
387
+ });
388
+ test('Search limits are consistent', () => {
389
+ // MAX_SEARCH_LIMIT should be >= DEFAULT_SEARCH_LIMIT
390
+ assert.ok(SEARCH_CONSTANTS.MAX_SEARCH_LIMIT >= SEARCH_CONSTANTS.DEFAULT_SEARCH_LIMIT);
391
+ });
392
+ test('Symbol boost constants sum correctly', () => {
393
+ // Individual boosts should not exceed MAX_SYMBOL_BOOST (by design)
394
+ // This is a soft constraint - the code caps at MAX_SYMBOL_BOOST
395
+ assert.ok(SYMBOL_BOOST_CONSTANTS.SIGNATURE_MATCH_BOOST <= SYMBOL_BOOST_CONSTANTS.MAX_SYMBOL_BOOST);
396
+ assert.ok(SYMBOL_BOOST_CONSTANTS.NEIGHBOR_MATCH_BOOST <= SYMBOL_BOOST_CONSTANTS.MAX_SYMBOL_BOOST);
397
+ });
398
+ test('Watcher debounce values are consistent', () => {
399
+ // MIN should be less than DEFAULT
400
+ assert.ok(WATCHER_CONSTANTS.MIN_DEBOUNCE_MS <= WATCHER_CONSTANTS.DEFAULT_DEBOUNCE_MS);
401
+ });
402
+ test('Batch token limits are consistent', () => {
403
+ // A batch should be able to hold multiple items
404
+ assert.ok(BATCH_CONSTANTS.MAX_BATCH_TOKENS >= BATCH_CONSTANTS.MAX_ITEM_TOKENS);
405
+ });
406
+ //# sourceMappingURL=constants.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../../../src/tests/config/constants.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.test.d.ts","sourceRoot":"","sources":["../../../src/tests/config/loader.test.ts"],"names":[],"mappings":""}