codevault 1.8.4 → 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 (351) hide show
  1. package/README.md +3 -2
  2. package/dist/chunking/token-counter.d.ts.map +1 -1
  3. package/dist/chunking/token-counter.js +16 -10
  4. package/dist/chunking/token-counter.js.map +1 -1
  5. package/dist/cli/commands/index-cmd.d.ts.map +1 -1
  6. package/dist/cli/commands/index-cmd.js +108 -97
  7. package/dist/cli/commands/index-cmd.js.map +1 -1
  8. package/dist/cli/commands/interactive-config.d.ts.map +1 -1
  9. package/dist/cli/commands/interactive-config.js +40 -3
  10. package/dist/cli/commands/interactive-config.js.map +1 -1
  11. package/dist/cli/commands/search-cmd.d.ts.map +1 -1
  12. package/dist/cli/commands/search-cmd.js +11 -7
  13. package/dist/cli/commands/search-cmd.js.map +1 -1
  14. package/dist/cli/commands/search-with-code-cmd.d.ts.map +1 -1
  15. package/dist/cli/commands/search-with-code-cmd.js +3 -1
  16. package/dist/cli/commands/search-with-code-cmd.js.map +1 -1
  17. package/dist/cli/utils.d.ts +56 -0
  18. package/dist/cli/utils.d.ts.map +1 -0
  19. package/dist/cli/utils.js +98 -0
  20. package/dist/cli/utils.js.map +1 -0
  21. package/dist/config/constants.d.ts +4 -0
  22. package/dist/config/constants.d.ts.map +1 -1
  23. package/dist/config/constants.js +2 -0
  24. package/dist/config/constants.js.map +1 -1
  25. package/dist/context/packs.d.ts.map +1 -1
  26. package/dist/context/packs.js +3 -1
  27. package/dist/context/packs.js.map +1 -1
  28. package/dist/core/IndexerEngine.d.ts +2 -0
  29. package/dist/core/IndexerEngine.d.ts.map +1 -1
  30. package/dist/core/IndexerEngine.js +34 -26
  31. package/dist/core/IndexerEngine.js.map +1 -1
  32. package/dist/core/SearchService.d.ts +1 -0
  33. package/dist/core/SearchService.d.ts.map +1 -1
  34. package/dist/core/SearchService.js +18 -12
  35. package/dist/core/SearchService.js.map +1 -1
  36. package/dist/core/batch-indexer.d.ts.map +1 -1
  37. package/dist/core/batch-indexer.js +5 -13
  38. package/dist/core/batch-indexer.js.map +1 -1
  39. package/dist/core/indexing/IndexFinalizationStage.d.ts.map +1 -1
  40. package/dist/core/indexing/IndexFinalizationStage.js +21 -2
  41. package/dist/core/indexing/IndexFinalizationStage.js.map +1 -1
  42. package/dist/core/indexing/IndexState.d.ts +3 -8
  43. package/dist/core/indexing/IndexState.d.ts.map +1 -1
  44. package/dist/core/indexing/IndexState.js.map +1 -1
  45. package/dist/core/indexing/PersistManager.d.ts +1 -1
  46. package/dist/core/indexing/PersistManager.d.ts.map +1 -1
  47. package/dist/core/indexing/PersistManager.js +17 -17
  48. package/dist/core/indexing/PersistManager.js.map +1 -1
  49. package/dist/core/search/HybridFusion.d.ts +0 -1
  50. package/dist/core/search/HybridFusion.d.ts.map +1 -1
  51. package/dist/core/search/HybridFusion.js +2 -14
  52. package/dist/core/search/HybridFusion.js.map +1 -1
  53. package/dist/core/search/ResultMapper.d.ts +0 -1
  54. package/dist/core/search/ResultMapper.d.ts.map +1 -1
  55. package/dist/core/search/ResultMapper.js +2 -13
  56. package/dist/core/search/ResultMapper.js.map +1 -1
  57. package/dist/core/search/SearchContextManager.d.ts +3 -0
  58. package/dist/core/search/SearchContextManager.d.ts.map +1 -1
  59. package/dist/core/search/SearchContextManager.js +15 -2
  60. package/dist/core/search/SearchContextManager.js.map +1 -1
  61. package/dist/core/search.d.ts.map +1 -1
  62. package/dist/core/search.js +9 -4
  63. package/dist/core/search.js.map +1 -1
  64. package/dist/languages/rules.d.ts.map +1 -1
  65. package/dist/languages/rules.js +14 -5
  66. package/dist/languages/rules.js.map +1 -1
  67. package/dist/mcp/schemas.d.ts +2 -2
  68. package/dist/mcp-server.d.ts +1 -0
  69. package/dist/mcp-server.d.ts.map +1 -1
  70. package/dist/mcp-server.js +32 -21
  71. package/dist/mcp-server.js.map +1 -1
  72. package/dist/providers/base.d.ts +3 -2
  73. package/dist/providers/base.d.ts.map +1 -1
  74. package/dist/providers/base.js +3 -1
  75. package/dist/providers/base.js.map +1 -1
  76. package/dist/providers/chat-llm.d.ts +2 -2
  77. package/dist/providers/chat-llm.d.ts.map +1 -1
  78. package/dist/providers/chat-llm.js +4 -1
  79. package/dist/providers/chat-llm.js.map +1 -1
  80. package/dist/providers/openai.d.ts.map +1 -1
  81. package/dist/providers/openai.js +4 -1
  82. package/dist/providers/openai.js.map +1 -1
  83. package/dist/ranking/api-reranker.d.ts.map +1 -1
  84. package/dist/ranking/api-reranker.js +27 -8
  85. package/dist/ranking/api-reranker.js.map +1 -1
  86. package/dist/ranking/symbol-boost.d.ts.map +1 -1
  87. package/dist/ranking/symbol-boost.js +4 -11
  88. package/dist/ranking/symbol-boost.js.map +1 -1
  89. package/dist/search/bm25.d.ts +10 -0
  90. package/dist/search/bm25.d.ts.map +1 -1
  91. package/dist/search/bm25.js +16 -0
  92. package/dist/search/bm25.js.map +1 -1
  93. package/dist/storage/encrypted-chunks.d.ts +3 -0
  94. package/dist/storage/encrypted-chunks.d.ts.map +1 -1
  95. package/dist/storage/encrypted-chunks.js +108 -16
  96. package/dist/storage/encrypted-chunks.js.map +1 -1
  97. package/dist/synthesis/conversational-synthesizer.d.ts +2 -1
  98. package/dist/synthesis/conversational-synthesizer.d.ts.map +1 -1
  99. package/dist/synthesis/conversational-synthesizer.js +6 -1
  100. package/dist/synthesis/conversational-synthesizer.js.map +1 -1
  101. package/dist/synthesis/prompt-builder.d.ts.map +1 -1
  102. package/dist/synthesis/prompt-builder.js +40 -13
  103. package/dist/synthesis/prompt-builder.js.map +1 -1
  104. package/dist/synthesis/synthesizer.d.ts.map +1 -1
  105. package/dist/synthesis/synthesizer.js +14 -2
  106. package/dist/synthesis/synthesizer.js.map +1 -1
  107. package/dist/tests/api-reranker.test.d.ts +2 -0
  108. package/dist/tests/api-reranker.test.d.ts.map +1 -0
  109. package/dist/tests/api-reranker.test.js +575 -0
  110. package/dist/tests/api-reranker.test.js.map +1 -0
  111. package/dist/tests/bm25.test.d.ts +2 -0
  112. package/dist/tests/bm25.test.d.ts.map +1 -0
  113. package/dist/tests/bm25.test.js +340 -0
  114. package/dist/tests/bm25.test.js.map +1 -0
  115. package/dist/tests/chunking/file-grouper.test.d.ts +2 -0
  116. package/dist/tests/chunking/file-grouper.test.d.ts.map +1 -0
  117. package/dist/tests/chunking/file-grouper.test.js +495 -0
  118. package/dist/tests/chunking/file-grouper.test.js.map +1 -0
  119. package/dist/tests/chunking/semantic-chunker.test.d.ts +2 -0
  120. package/dist/tests/chunking/semantic-chunker.test.d.ts.map +1 -0
  121. package/dist/tests/chunking/semantic-chunker.test.js +509 -0
  122. package/dist/tests/chunking/semantic-chunker.test.js.map +1 -0
  123. package/dist/tests/chunking/token-counter.test.d.ts +2 -0
  124. package/dist/tests/chunking/token-counter.test.d.ts.map +1 -0
  125. package/dist/tests/chunking/token-counter.test.js +441 -0
  126. package/dist/tests/chunking/token-counter.test.js.map +1 -0
  127. package/dist/tests/cli/ask-cmd.test.d.ts +2 -0
  128. package/dist/tests/cli/ask-cmd.test.d.ts.map +1 -0
  129. package/dist/tests/cli/ask-cmd.test.js +152 -0
  130. package/dist/tests/cli/ask-cmd.test.js.map +1 -0
  131. package/dist/tests/cli/chat-cmd.test.d.ts +2 -0
  132. package/dist/tests/cli/chat-cmd.test.d.ts.map +1 -0
  133. package/dist/tests/cli/chat-cmd.test.js +118 -0
  134. package/dist/tests/cli/chat-cmd.test.js.map +1 -0
  135. package/dist/tests/cli/config-cmd.test.d.ts +2 -0
  136. package/dist/tests/cli/config-cmd.test.d.ts.map +1 -0
  137. package/dist/tests/cli/config-cmd.test.js +226 -0
  138. package/dist/tests/cli/config-cmd.test.js.map +1 -0
  139. package/dist/tests/cli/context.test.d.ts +2 -0
  140. package/dist/tests/cli/context.test.d.ts.map +1 -0
  141. package/dist/tests/cli/context.test.js +158 -0
  142. package/dist/tests/cli/context.test.js.map +1 -0
  143. package/dist/tests/cli/index-cmd.test.d.ts +2 -0
  144. package/dist/tests/cli/index-cmd.test.d.ts.map +1 -0
  145. package/dist/tests/cli/index-cmd.test.js +89 -0
  146. package/dist/tests/cli/index-cmd.test.js.map +1 -0
  147. package/dist/tests/cli/index.test.d.ts +2 -0
  148. package/dist/tests/cli/index.test.d.ts.map +1 -0
  149. package/dist/tests/cli/index.test.js +167 -0
  150. package/dist/tests/cli/index.test.js.map +1 -0
  151. package/dist/tests/cli/info-cmd.test.d.ts +2 -0
  152. package/dist/tests/cli/info-cmd.test.d.ts.map +1 -0
  153. package/dist/tests/cli/info-cmd.test.js +47 -0
  154. package/dist/tests/cli/info-cmd.test.js.map +1 -0
  155. package/dist/tests/cli/interactive-config.test.d.ts +2 -0
  156. package/dist/tests/cli/interactive-config.test.d.ts.map +1 -0
  157. package/dist/tests/cli/interactive-config.test.js +30 -0
  158. package/dist/tests/cli/interactive-config.test.js.map +1 -0
  159. package/dist/tests/cli/mcp-cmd.test.d.ts +2 -0
  160. package/dist/tests/cli/mcp-cmd.test.d.ts.map +1 -0
  161. package/dist/tests/cli/mcp-cmd.test.js +47 -0
  162. package/dist/tests/cli/mcp-cmd.test.js.map +1 -0
  163. package/dist/tests/cli/search-cmd.test.d.ts +2 -0
  164. package/dist/tests/cli/search-cmd.test.d.ts.map +1 -0
  165. package/dist/tests/cli/search-cmd.test.js +120 -0
  166. package/dist/tests/cli/search-cmd.test.js.map +1 -0
  167. package/dist/tests/cli/search-with-code-cmd.test.d.ts +2 -0
  168. package/dist/tests/cli/search-with-code-cmd.test.d.ts.map +1 -0
  169. package/dist/tests/cli/search-with-code-cmd.test.js +140 -0
  170. package/dist/tests/cli/search-with-code-cmd.test.js.map +1 -0
  171. package/dist/tests/cli/update-cmd.test.d.ts +2 -0
  172. package/dist/tests/cli/update-cmd.test.d.ts.map +1 -0
  173. package/dist/tests/cli/update-cmd.test.js +75 -0
  174. package/dist/tests/cli/update-cmd.test.js.map +1 -0
  175. package/dist/tests/cli/utils.test.d.ts +2 -0
  176. package/dist/tests/cli/utils.test.d.ts.map +1 -0
  177. package/dist/tests/cli/utils.test.js +119 -0
  178. package/dist/tests/cli/utils.test.js.map +1 -0
  179. package/dist/tests/cli/watch-cmd.test.d.ts +2 -0
  180. package/dist/tests/cli/watch-cmd.test.d.ts.map +1 -0
  181. package/dist/tests/cli/watch-cmd.test.js +84 -0
  182. package/dist/tests/cli/watch-cmd.test.js.map +1 -0
  183. package/dist/tests/cli-ui.test.d.ts +2 -0
  184. package/dist/tests/cli-ui.test.d.ts.map +1 -0
  185. package/dist/tests/cli-ui.test.js +608 -0
  186. package/dist/tests/cli-ui.test.js.map +1 -0
  187. package/dist/tests/codemap-io.test.d.ts +2 -0
  188. package/dist/tests/codemap-io.test.d.ts.map +1 -0
  189. package/dist/tests/codemap-io.test.js +992 -0
  190. package/dist/tests/codemap-io.test.js.map +1 -0
  191. package/dist/tests/config/apply-env.test.d.ts +2 -0
  192. package/dist/tests/config/apply-env.test.d.ts.map +1 -0
  193. package/dist/tests/config/apply-env.test.js +717 -0
  194. package/dist/tests/config/apply-env.test.js.map +1 -0
  195. package/dist/tests/config/constants.test.d.ts +2 -0
  196. package/dist/tests/config/constants.test.d.ts.map +1 -0
  197. package/dist/tests/config/constants.test.js +406 -0
  198. package/dist/tests/config/constants.test.js.map +1 -0
  199. package/dist/tests/config/loader.test.d.ts +2 -0
  200. package/dist/tests/config/loader.test.d.ts.map +1 -0
  201. package/dist/tests/config/loader.test.js +716 -0
  202. package/dist/tests/config/loader.test.js.map +1 -0
  203. package/dist/tests/config/resolver.test.d.ts +2 -0
  204. package/dist/tests/config/resolver.test.d.ts.map +1 -0
  205. package/dist/tests/config/resolver.test.js +402 -0
  206. package/dist/tests/config/resolver.test.js.map +1 -0
  207. package/dist/tests/config/types.test.d.ts +2 -0
  208. package/dist/tests/config/types.test.d.ts.map +1 -0
  209. package/dist/tests/config/types.test.js +460 -0
  210. package/dist/tests/config/types.test.js.map +1 -0
  211. package/dist/tests/context-packs.test.d.ts +2 -0
  212. package/dist/tests/context-packs.test.d.ts.map +1 -0
  213. package/dist/tests/context-packs.test.js +826 -0
  214. package/dist/tests/context-packs.test.js.map +1 -0
  215. package/dist/tests/conversational-synthesizer.test.d.ts +2 -0
  216. package/dist/tests/conversational-synthesizer.test.d.ts.map +1 -0
  217. package/dist/tests/conversational-synthesizer.test.js +595 -0
  218. package/dist/tests/conversational-synthesizer.test.js.map +1 -0
  219. package/dist/tests/database.test.d.ts +2 -0
  220. package/dist/tests/database.test.d.ts.map +1 -0
  221. package/dist/tests/database.test.js +965 -0
  222. package/dist/tests/database.test.js.map +1 -0
  223. package/dist/tests/encrypted-chunks.test.d.ts +2 -0
  224. package/dist/tests/encrypted-chunks.test.d.ts.map +1 -0
  225. package/dist/tests/encrypted-chunks.test.js +1470 -0
  226. package/dist/tests/encrypted-chunks.test.js.map +1 -0
  227. package/dist/tests/hybrid.test.d.ts +2 -0
  228. package/dist/tests/hybrid.test.d.ts.map +1 -0
  229. package/dist/tests/hybrid.test.js +456 -0
  230. package/dist/tests/hybrid.test.js.map +1 -0
  231. package/dist/tests/indexer/ChangeQueue.test.d.ts +12 -0
  232. package/dist/tests/indexer/ChangeQueue.test.d.ts.map +1 -0
  233. package/dist/tests/indexer/ChangeQueue.test.js +441 -0
  234. package/dist/tests/indexer/ChangeQueue.test.js.map +1 -0
  235. package/dist/tests/indexer/ProviderManager.test.d.ts +12 -0
  236. package/dist/tests/indexer/ProviderManager.test.d.ts.map +1 -0
  237. package/dist/tests/indexer/ProviderManager.test.js +290 -0
  238. package/dist/tests/indexer/ProviderManager.test.js.map +1 -0
  239. package/dist/tests/indexer/WatchService.test.d.ts +14 -0
  240. package/dist/tests/indexer/WatchService.test.d.ts.map +1 -0
  241. package/dist/tests/indexer/WatchService.test.js +667 -0
  242. package/dist/tests/indexer/WatchService.test.js.map +1 -0
  243. package/dist/tests/indexer/merkle.test.d.ts +11 -0
  244. package/dist/tests/indexer/merkle.test.d.ts.map +1 -0
  245. package/dist/tests/indexer/merkle.test.js +497 -0
  246. package/dist/tests/indexer/merkle.test.js.map +1 -0
  247. package/dist/tests/indexer/update.test.d.ts +10 -0
  248. package/dist/tests/indexer/update.test.d.ts.map +1 -0
  249. package/dist/tests/indexer/update.test.js +317 -0
  250. package/dist/tests/indexer/update.test.js.map +1 -0
  251. package/dist/tests/indexer/watch.test.d.ts +8 -0
  252. package/dist/tests/indexer/watch.test.d.ts.map +1 -0
  253. package/dist/tests/indexer/watch.test.js +95 -0
  254. package/dist/tests/indexer/watch.test.js.map +1 -0
  255. package/dist/tests/integration/index-search.integration.test.js +1 -0
  256. package/dist/tests/integration/index-search.integration.test.js.map +1 -1
  257. package/dist/tests/languages.test.d.ts +2 -0
  258. package/dist/tests/languages.test.d.ts.map +1 -0
  259. package/dist/tests/languages.test.js +575 -0
  260. package/dist/tests/languages.test.js.map +1 -0
  261. package/dist/tests/logger-redaction.test.d.ts +2 -0
  262. package/dist/tests/logger-redaction.test.d.ts.map +1 -0
  263. package/dist/tests/logger-redaction.test.js +48 -0
  264. package/dist/tests/logger-redaction.test.js.map +1 -0
  265. package/dist/tests/logger.test.d.ts +2 -0
  266. package/dist/tests/logger.test.d.ts.map +1 -0
  267. package/dist/tests/logger.test.js +468 -0
  268. package/dist/tests/logger.test.js.map +1 -0
  269. package/dist/tests/markdown-formatter.test.d.ts +2 -0
  270. package/dist/tests/markdown-formatter.test.d.ts.map +1 -0
  271. package/dist/tests/markdown-formatter.test.js +453 -0
  272. package/dist/tests/markdown-formatter.test.js.map +1 -0
  273. package/dist/tests/mcp/tools/use-context-pack.test.d.ts +7 -0
  274. package/dist/tests/mcp/tools/use-context-pack.test.d.ts.map +1 -0
  275. package/dist/tests/mcp/tools/use-context-pack.test.js +505 -0
  276. package/dist/tests/mcp/tools/use-context-pack.test.js.map +1 -0
  277. package/dist/tests/mutex.test.d.ts +2 -0
  278. package/dist/tests/mutex.test.d.ts.map +1 -0
  279. package/dist/tests/mutex.test.js +489 -0
  280. package/dist/tests/mutex.test.js.map +1 -0
  281. package/dist/tests/path-helpers.test.d.ts +2 -0
  282. package/dist/tests/path-helpers.test.d.ts.map +1 -0
  283. package/dist/tests/path-helpers.test.js +332 -0
  284. package/dist/tests/path-helpers.test.js.map +1 -0
  285. package/dist/tests/prompt-builder.test.d.ts +2 -0
  286. package/dist/tests/prompt-builder.test.d.ts.map +1 -0
  287. package/dist/tests/prompt-builder.test.js +417 -0
  288. package/dist/tests/prompt-builder.test.js.map +1 -0
  289. package/dist/tests/providers/base.test.d.ts +2 -0
  290. package/dist/tests/providers/base.test.d.ts.map +1 -0
  291. package/dist/tests/providers/base.test.js +299 -0
  292. package/dist/tests/providers/base.test.js.map +1 -0
  293. package/dist/tests/providers/chat-llm.test.d.ts +2 -0
  294. package/dist/tests/providers/chat-llm.test.d.ts.map +1 -0
  295. package/dist/tests/providers/chat-llm.test.js +435 -0
  296. package/dist/tests/providers/chat-llm.test.js.map +1 -0
  297. package/dist/tests/providers/index.test.d.ts +2 -0
  298. package/dist/tests/providers/index.test.d.ts.map +1 -0
  299. package/dist/tests/providers/index.test.js +204 -0
  300. package/dist/tests/providers/index.test.js.map +1 -0
  301. package/dist/tests/providers/mock.test.d.ts +2 -0
  302. package/dist/tests/providers/mock.test.d.ts.map +1 -0
  303. package/dist/tests/providers/mock.test.js +225 -0
  304. package/dist/tests/providers/mock.test.js.map +1 -0
  305. package/dist/tests/providers/openai.test.d.ts +2 -0
  306. package/dist/tests/providers/openai.test.d.ts.map +1 -0
  307. package/dist/tests/providers/openai.test.js +408 -0
  308. package/dist/tests/providers/openai.test.js.map +1 -0
  309. package/dist/tests/providers/token-counter.test.d.ts +2 -0
  310. package/dist/tests/providers/token-counter.test.d.ts.map +1 -0
  311. package/dist/tests/providers/token-counter.test.js +247 -0
  312. package/dist/tests/providers/token-counter.test.js.map +1 -0
  313. package/dist/tests/rate-limiter.test.js +392 -1
  314. package/dist/tests/rate-limiter.test.js.map +1 -1
  315. package/dist/tests/scope.test.d.ts +2 -0
  316. package/dist/tests/scope.test.d.ts.map +1 -0
  317. package/dist/tests/scope.test.js +529 -0
  318. package/dist/tests/scope.test.js.map +1 -0
  319. package/dist/tests/simple-lru.test.js +377 -0
  320. package/dist/tests/simple-lru.test.js.map +1 -1
  321. package/dist/tests/symbol-boost.test.js +730 -10
  322. package/dist/tests/symbol-boost.test.js.map +1 -1
  323. package/dist/tests/symbols-extract.test.d.ts +2 -0
  324. package/dist/tests/symbols-extract.test.d.ts.map +1 -0
  325. package/dist/tests/symbols-extract.test.js +536 -0
  326. package/dist/tests/symbols-extract.test.js.map +1 -0
  327. package/dist/tests/symbols-graph.test.d.ts +2 -0
  328. package/dist/tests/symbols-graph.test.d.ts.map +1 -0
  329. package/dist/tests/symbols-graph.test.js +656 -0
  330. package/dist/tests/symbols-graph.test.js.map +1 -0
  331. package/dist/tests/synthesizer.test.d.ts +2 -0
  332. package/dist/tests/synthesizer.test.d.ts.map +1 -0
  333. package/dist/tests/synthesizer.test.js +381 -0
  334. package/dist/tests/synthesizer.test.js.map +1 -0
  335. package/dist/types/context-pack.d.ts +3 -3
  336. package/dist/utils/logger.d.ts +5 -1
  337. package/dist/utils/logger.d.ts.map +1 -1
  338. package/dist/utils/logger.js +149 -4
  339. package/dist/utils/logger.js.map +1 -1
  340. package/dist/utils/mutex.d.ts +7 -2
  341. package/dist/utils/mutex.d.ts.map +1 -1
  342. package/dist/utils/mutex.js +31 -7
  343. package/dist/utils/mutex.js.map +1 -1
  344. package/dist/utils/path-helpers.d.ts.map +1 -1
  345. package/dist/utils/path-helpers.js +5 -2
  346. package/dist/utils/path-helpers.js.map +1 -1
  347. package/dist/utils/simple-lru.d.ts +6 -0
  348. package/dist/utils/simple-lru.d.ts.map +1 -1
  349. package/dist/utils/simple-lru.js +26 -0
  350. package/dist/utils/simple-lru.js.map +1 -1
  351. package/package.json +1 -1
@@ -0,0 +1,460 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ /**
4
+ * Tests for types.ts
5
+ *
6
+ * Since types.ts only contains TypeScript type definitions, these tests
7
+ * verify that objects conforming to the interfaces can be created and
8
+ * used correctly at runtime. This ensures the type definitions are
9
+ * valid and usable.
10
+ */
11
+ // =============================================================================
12
+ // ProviderRoutingConfig interface tests
13
+ // =============================================================================
14
+ test('ProviderRoutingConfig accepts valid config', () => {
15
+ const config = {
16
+ order: ['openai', 'azure'],
17
+ allow_fallbacks: true,
18
+ require_parameters: false,
19
+ data_collection: 'allow',
20
+ zdr: true,
21
+ enforce_distillable_text: false,
22
+ only: ['openai'],
23
+ ignore: ['azure'],
24
+ quantizations: ['fp16', 'int8'],
25
+ sort: 'price',
26
+ max_price: {
27
+ prompt: 0.001,
28
+ completion: 0.002,
29
+ request: 0.01,
30
+ image: 0.05
31
+ }
32
+ };
33
+ assert.ok(config, 'should create valid ProviderRoutingConfig');
34
+ assert.deepEqual(config.order, ['openai', 'azure']);
35
+ assert.equal(config.allow_fallbacks, true);
36
+ assert.equal(config.data_collection, 'allow');
37
+ assert.equal(config.sort, 'price');
38
+ });
39
+ test('ProviderRoutingConfig accepts data_collection deny', () => {
40
+ const config = {
41
+ data_collection: 'deny'
42
+ };
43
+ assert.equal(config.data_collection, 'deny');
44
+ });
45
+ test('ProviderRoutingConfig accepts sort options', () => {
46
+ const priceSort = { sort: 'price' };
47
+ const throughputSort = { sort: 'throughput' };
48
+ const latencySort = { sort: 'latency' };
49
+ assert.equal(priceSort.sort, 'price');
50
+ assert.equal(throughputSort.sort, 'throughput');
51
+ assert.equal(latencySort.sort, 'latency');
52
+ });
53
+ test('ProviderRoutingConfig accepts partial max_price', () => {
54
+ const config = {
55
+ max_price: {
56
+ prompt: 0.001
57
+ // Other fields optional
58
+ }
59
+ };
60
+ assert.equal(config.max_price?.prompt, 0.001);
61
+ assert.equal(config.max_price?.completion, undefined);
62
+ });
63
+ test('ProviderRoutingConfig all fields are optional', () => {
64
+ const config = {};
65
+ assert.ok(config, 'empty config should be valid');
66
+ assert.equal(Object.keys(config).length, 0);
67
+ });
68
+ // =============================================================================
69
+ // ProviderConfig interface tests
70
+ // =============================================================================
71
+ test('ProviderConfig accepts complete config', () => {
72
+ const config = {
73
+ apiKey: 'sk-test123',
74
+ model: 'text-embedding-3-small',
75
+ baseUrl: 'https://api.openai.com/v1',
76
+ dimensions: 1536,
77
+ routing: {
78
+ order: ['openai'],
79
+ allow_fallbacks: true
80
+ }
81
+ };
82
+ assert.ok(config, 'should create valid ProviderConfig');
83
+ assert.equal(config.apiKey, 'sk-test123');
84
+ assert.equal(config.model, 'text-embedding-3-small');
85
+ assert.equal(config.baseUrl, 'https://api.openai.com/v1');
86
+ assert.equal(config.dimensions, 1536);
87
+ assert.ok(config.routing);
88
+ });
89
+ test('ProviderConfig all fields are optional', () => {
90
+ const config = {};
91
+ assert.ok(config, 'empty config should be valid');
92
+ });
93
+ test('ProviderConfig accepts only apiKey', () => {
94
+ const config = {
95
+ apiKey: 'sk-minimal'
96
+ };
97
+ assert.equal(config.apiKey, 'sk-minimal');
98
+ assert.equal(config.model, undefined);
99
+ });
100
+ // =============================================================================
101
+ // RateLimitConfig interface tests
102
+ // =============================================================================
103
+ test('RateLimitConfig accepts rpm and tpm', () => {
104
+ const config = {
105
+ rpm: 100,
106
+ tpm: 50000
107
+ };
108
+ assert.equal(config.rpm, 100);
109
+ assert.equal(config.tpm, 50000);
110
+ });
111
+ test('RateLimitConfig accepts only rpm', () => {
112
+ const config = {
113
+ rpm: 60
114
+ };
115
+ assert.equal(config.rpm, 60);
116
+ assert.equal(config.tpm, undefined);
117
+ });
118
+ test('RateLimitConfig accepts only tpm', () => {
119
+ const config = {
120
+ tpm: 100000
121
+ };
122
+ assert.equal(config.rpm, undefined);
123
+ assert.equal(config.tpm, 100000);
124
+ });
125
+ test('RateLimitConfig all fields are optional', () => {
126
+ const config = {};
127
+ assert.ok(config, 'empty config should be valid');
128
+ });
129
+ // =============================================================================
130
+ // EncryptionConfig interface tests
131
+ // =============================================================================
132
+ test('EncryptionConfig accepts enabled and key', () => {
133
+ const config = {
134
+ enabled: true,
135
+ key: 'my-secret-key-32-bytes-long!!!!!'
136
+ };
137
+ assert.equal(config.enabled, true);
138
+ assert.equal(config.key, 'my-secret-key-32-bytes-long!!!!!');
139
+ });
140
+ test('EncryptionConfig accepts only enabled', () => {
141
+ const config = {
142
+ enabled: false
143
+ };
144
+ assert.equal(config.enabled, false);
145
+ assert.equal(config.key, undefined);
146
+ });
147
+ test('EncryptionConfig accepts only key', () => {
148
+ const config = {
149
+ key: 'some-key'
150
+ };
151
+ assert.equal(config.key, 'some-key');
152
+ assert.equal(config.enabled, undefined);
153
+ });
154
+ test('EncryptionConfig all fields are optional', () => {
155
+ const config = {};
156
+ assert.ok(config, 'empty config should be valid');
157
+ });
158
+ // =============================================================================
159
+ // ChatLLMConfig interface tests
160
+ // =============================================================================
161
+ test('ChatLLMConfig accepts complete config', () => {
162
+ const config = {
163
+ apiKey: 'sk-chat-key',
164
+ baseUrl: 'https://api.openai.com/v1',
165
+ model: 'gpt-4',
166
+ maxTokens: 4096,
167
+ temperature: 0.7,
168
+ routing: {
169
+ sort: 'latency'
170
+ }
171
+ };
172
+ assert.ok(config, 'should create valid ChatLLMConfig');
173
+ assert.equal(config.apiKey, 'sk-chat-key');
174
+ assert.equal(config.model, 'gpt-4');
175
+ assert.equal(config.maxTokens, 4096);
176
+ assert.equal(config.temperature, 0.7);
177
+ });
178
+ test('ChatLLMConfig accepts temperature of 0', () => {
179
+ const config = {
180
+ temperature: 0
181
+ };
182
+ assert.equal(config.temperature, 0);
183
+ });
184
+ test('ChatLLMConfig accepts high temperature', () => {
185
+ const config = {
186
+ temperature: 2.0
187
+ };
188
+ assert.equal(config.temperature, 2.0);
189
+ });
190
+ test('ChatLLMConfig all fields are optional', () => {
191
+ const config = {};
192
+ assert.ok(config, 'empty config should be valid');
193
+ });
194
+ // =============================================================================
195
+ // CodevaultConfig interface tests
196
+ // =============================================================================
197
+ test('CodevaultConfig accepts complete config', () => {
198
+ const config = {
199
+ defaultProvider: 'openai',
200
+ providers: {
201
+ openai: {
202
+ apiKey: 'sk-embed-key',
203
+ model: 'text-embedding-3-small',
204
+ baseUrl: 'https://api.openai.com/v1',
205
+ dimensions: 1536
206
+ }
207
+ },
208
+ chatLLM: {
209
+ openai: {
210
+ apiKey: 'sk-chat-key',
211
+ model: 'gpt-4',
212
+ maxTokens: 4096,
213
+ temperature: 0.7
214
+ }
215
+ },
216
+ rateLimit: {
217
+ rpm: 100,
218
+ tpm: 50000
219
+ },
220
+ encryption: {
221
+ enabled: true,
222
+ key: 'encryption-key-here'
223
+ },
224
+ maxTokens: 8192,
225
+ reranker: {
226
+ apiUrl: 'https://reranker.example.com',
227
+ apiKey: 'reranker-key',
228
+ model: 'rerank-v1',
229
+ maxCandidates: 50,
230
+ maxTokens: 8192
231
+ }
232
+ };
233
+ assert.ok(config, 'should create valid CodevaultConfig');
234
+ assert.equal(config.defaultProvider, 'openai');
235
+ assert.ok(config.providers?.openai);
236
+ assert.ok(config.chatLLM?.openai);
237
+ assert.ok(config.rateLimit);
238
+ assert.ok(config.encryption);
239
+ assert.ok(config.reranker);
240
+ });
241
+ test('CodevaultConfig accepts only defaultProvider', () => {
242
+ const config = {
243
+ defaultProvider: 'openai'
244
+ };
245
+ assert.equal(config.defaultProvider, 'openai');
246
+ assert.equal(config.providers, undefined);
247
+ });
248
+ test('CodevaultConfig accepts reranker config', () => {
249
+ const config = {
250
+ reranker: {
251
+ apiUrl: 'https://api.cohere.ai/v1/rerank',
252
+ apiKey: 'cohere-key',
253
+ model: 'rerank-english-v2.0',
254
+ maxCandidates: 100,
255
+ maxTokens: 16384
256
+ }
257
+ };
258
+ assert.ok(config.reranker);
259
+ assert.equal(config.reranker.apiUrl, 'https://api.cohere.ai/v1/rerank');
260
+ assert.equal(config.reranker.maxCandidates, 100);
261
+ assert.equal(config.reranker.maxTokens, 16384);
262
+ });
263
+ test('CodevaultConfig all fields are optional', () => {
264
+ const config = {};
265
+ assert.ok(config, 'empty config should be valid');
266
+ assert.equal(Object.keys(config).length, 0);
267
+ });
268
+ test('CodevaultConfig accepts partial providers', () => {
269
+ const config = {
270
+ providers: {
271
+ openai: {
272
+ apiKey: 'partial-key'
273
+ }
274
+ }
275
+ };
276
+ assert.equal(config.providers?.openai?.apiKey, 'partial-key');
277
+ assert.equal(config.providers?.openai?.model, undefined);
278
+ });
279
+ // =============================================================================
280
+ // ConfigSource interface tests
281
+ // =============================================================================
282
+ test('ConfigSource accepts all sources', () => {
283
+ const source = {
284
+ global: {
285
+ defaultProvider: 'openai',
286
+ maxTokens: 4096
287
+ },
288
+ project: {
289
+ providers: {
290
+ openai: {
291
+ model: 'project-model'
292
+ }
293
+ }
294
+ },
295
+ env: {
296
+ providers: {
297
+ openai: {
298
+ apiKey: 'env-key'
299
+ }
300
+ }
301
+ }
302
+ };
303
+ assert.ok(source, 'should create valid ConfigSource');
304
+ assert.ok(source.global);
305
+ assert.ok(source.project);
306
+ assert.ok(source.env);
307
+ });
308
+ test('ConfigSource global can be null', () => {
309
+ const source = {
310
+ global: null,
311
+ project: null,
312
+ env: {}
313
+ };
314
+ assert.equal(source.global, null);
315
+ assert.equal(source.project, null);
316
+ assert.ok(source.env);
317
+ });
318
+ test('ConfigSource project can be null', () => {
319
+ const source = {
320
+ global: { maxTokens: 1000 },
321
+ project: null,
322
+ env: {}
323
+ };
324
+ assert.ok(source.global);
325
+ assert.equal(source.project, null);
326
+ });
327
+ test('ConfigSource env is always an object', () => {
328
+ const source = {
329
+ global: null,
330
+ project: null,
331
+ env: {}
332
+ };
333
+ assert.ok(typeof source.env === 'object');
334
+ assert.ok(source.env !== null);
335
+ });
336
+ // =============================================================================
337
+ // Type composition tests
338
+ // =============================================================================
339
+ test('ProviderConfig can include full ProviderRoutingConfig', () => {
340
+ const providerConfig = {
341
+ apiKey: 'test-key',
342
+ routing: {
343
+ order: ['openai', 'azure', 'anthropic'],
344
+ allow_fallbacks: true,
345
+ require_parameters: false,
346
+ data_collection: 'deny',
347
+ zdr: true,
348
+ enforce_distillable_text: false,
349
+ only: ['openai'],
350
+ ignore: ['azure'],
351
+ quantizations: ['fp16', 'int8', 'bf16'],
352
+ sort: 'throughput',
353
+ max_price: {
354
+ prompt: 0.001,
355
+ completion: 0.002,
356
+ request: 0.01,
357
+ image: 0.05
358
+ }
359
+ }
360
+ };
361
+ assert.ok(providerConfig.routing);
362
+ assert.deepEqual(providerConfig.routing.order, ['openai', 'azure', 'anthropic']);
363
+ assert.equal(providerConfig.routing.sort, 'throughput');
364
+ });
365
+ test('CodevaultConfig can include all nested configs', () => {
366
+ // This tests the full type composition
367
+ const fullConfig = {
368
+ defaultProvider: 'openai',
369
+ maxTokens: 8192,
370
+ providers: {
371
+ openai: {
372
+ apiKey: 'embed-key',
373
+ model: 'text-embedding-3-small',
374
+ baseUrl: 'https://api.openai.com/v1',
375
+ dimensions: 1536,
376
+ routing: {
377
+ order: ['openai'],
378
+ allow_fallbacks: true
379
+ }
380
+ }
381
+ },
382
+ chatLLM: {
383
+ openai: {
384
+ apiKey: 'chat-key',
385
+ baseUrl: 'https://api.openai.com/v1',
386
+ model: 'gpt-4',
387
+ maxTokens: 4096,
388
+ temperature: 0.7,
389
+ routing: {
390
+ sort: 'latency'
391
+ }
392
+ }
393
+ },
394
+ rateLimit: {
395
+ rpm: 100,
396
+ tpm: 50000
397
+ },
398
+ encryption: {
399
+ enabled: true,
400
+ key: 'encryption-key'
401
+ },
402
+ reranker: {
403
+ apiUrl: 'https://reranker.example.com',
404
+ apiKey: 'reranker-key',
405
+ model: 'rerank-v1',
406
+ maxCandidates: 50,
407
+ maxTokens: 8192
408
+ }
409
+ };
410
+ // Verify structure is correct
411
+ assert.equal(fullConfig.defaultProvider, 'openai');
412
+ assert.equal(fullConfig.maxTokens, 8192);
413
+ assert.ok(fullConfig.providers?.openai?.routing);
414
+ assert.ok(fullConfig.chatLLM?.openai?.routing);
415
+ assert.equal(fullConfig.rateLimit?.rpm, 100);
416
+ assert.equal(fullConfig.encryption?.enabled, true);
417
+ assert.equal(fullConfig.reranker?.maxCandidates, 50);
418
+ });
419
+ // =============================================================================
420
+ // Edge case tests
421
+ // =============================================================================
422
+ test('Numeric fields accept zero', () => {
423
+ const rateLimit = {
424
+ rpm: 0,
425
+ tpm: 0
426
+ };
427
+ assert.equal(rateLimit.rpm, 0);
428
+ assert.equal(rateLimit.tpm, 0);
429
+ });
430
+ test('String fields accept empty strings', () => {
431
+ const provider = {
432
+ apiKey: '',
433
+ model: '',
434
+ baseUrl: ''
435
+ };
436
+ assert.equal(provider.apiKey, '');
437
+ assert.equal(provider.model, '');
438
+ assert.equal(provider.baseUrl, '');
439
+ });
440
+ test('Dimensions can be various valid values', () => {
441
+ const small = { dimensions: 256 };
442
+ const medium = { dimensions: 768 };
443
+ const large = { dimensions: 1536 };
444
+ const huge = { dimensions: 3072 };
445
+ assert.equal(small.dimensions, 256);
446
+ assert.equal(medium.dimensions, 768);
447
+ assert.equal(large.dimensions, 1536);
448
+ assert.equal(huge.dimensions, 3072);
449
+ });
450
+ test('maxTokens can be various valid values', () => {
451
+ const small = { maxTokens: 512 };
452
+ const medium = { maxTokens: 4096 };
453
+ const large = { maxTokens: 8192 };
454
+ const huge = { maxTokens: 128000 };
455
+ assert.equal(small.maxTokens, 512);
456
+ assert.equal(medium.maxTokens, 4096);
457
+ assert.equal(large.maxTokens, 8192);
458
+ assert.equal(huge.maxTokens, 128000);
459
+ });
460
+ //# sourceMappingURL=types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../../src/tests/config/types.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-packs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-packs.test.d.ts","sourceRoot":"","sources":["../../src/tests/context-packs.test.ts"],"names":[],"mappings":""}