rag-lite-ts 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/README.md +88 -5
  2. package/dist/{cli → cjs/cli}/indexer.js +73 -15
  3. package/dist/cjs/cli/ui-server.d.ts +5 -0
  4. package/dist/cjs/cli/ui-server.js +152 -0
  5. package/dist/{cli.js → cjs/cli.js} +25 -6
  6. package/dist/{core → cjs/core}/binary-index-format.js +6 -3
  7. package/dist/{core → cjs/core}/db.d.ts +56 -0
  8. package/dist/{core → cjs/core}/db.js +105 -0
  9. package/dist/{core → cjs/core}/ingestion.js +3 -0
  10. package/dist/cjs/core/knowledge-base-manager.d.ts +109 -0
  11. package/dist/cjs/core/knowledge-base-manager.js +256 -0
  12. package/dist/{core → cjs/core}/model-validator.js +1 -1
  13. package/dist/{core → cjs/core}/search-pipeline.js +1 -1
  14. package/dist/{core → cjs/core}/search.js +1 -1
  15. package/dist/cjs/core/vector-index-messages.d.ts +52 -0
  16. package/dist/cjs/core/vector-index-messages.js +5 -0
  17. package/dist/cjs/core/vector-index-worker.d.ts +6 -0
  18. package/dist/cjs/core/vector-index-worker.js +304 -0
  19. package/dist/cjs/core/vector-index.d.ts +107 -0
  20. package/dist/cjs/core/vector-index.js +344 -0
  21. package/dist/{factories → cjs/factories}/ingestion-factory.js +3 -7
  22. package/dist/{factories → cjs/factories}/search-factory.js +11 -0
  23. package/dist/{index-manager.d.ts → cjs/index-manager.d.ts} +23 -3
  24. package/dist/{index-manager.js → cjs/index-manager.js} +84 -15
  25. package/dist/{index.d.ts → cjs/index.d.ts} +2 -1
  26. package/dist/{index.js → cjs/index.js} +3 -1
  27. package/dist/esm/api-errors.d.ts +90 -0
  28. package/dist/esm/api-errors.js +320 -0
  29. package/dist/esm/cli/indexer.d.ts +11 -0
  30. package/dist/esm/cli/indexer.js +529 -0
  31. package/dist/esm/cli/search.d.ts +7 -0
  32. package/dist/esm/cli/search.js +332 -0
  33. package/dist/esm/cli/ui-server.d.ts +5 -0
  34. package/dist/esm/cli/ui-server.js +152 -0
  35. package/dist/esm/cli.d.ts +3 -0
  36. package/dist/esm/cli.js +548 -0
  37. package/dist/esm/config.d.ts +51 -0
  38. package/dist/esm/config.js +79 -0
  39. package/dist/esm/core/abstract-embedder.d.ts +125 -0
  40. package/dist/esm/core/abstract-embedder.js +264 -0
  41. package/dist/esm/core/actionable-error-messages.d.ts +60 -0
  42. package/dist/esm/core/actionable-error-messages.js +397 -0
  43. package/dist/esm/core/adapters.d.ts +93 -0
  44. package/dist/esm/core/adapters.js +139 -0
  45. package/dist/esm/core/batch-processing-optimizer.d.ts +155 -0
  46. package/dist/esm/core/batch-processing-optimizer.js +536 -0
  47. package/dist/esm/core/binary-index-format.d.ts +78 -0
  48. package/dist/esm/core/binary-index-format.js +294 -0
  49. package/dist/esm/core/chunker.d.ts +119 -0
  50. package/dist/esm/core/chunker.js +73 -0
  51. package/dist/esm/core/cli-database-utils.d.ts +53 -0
  52. package/dist/esm/core/cli-database-utils.js +239 -0
  53. package/dist/esm/core/config.d.ts +102 -0
  54. package/dist/esm/core/config.js +247 -0
  55. package/dist/esm/core/content-errors.d.ts +111 -0
  56. package/dist/esm/core/content-errors.js +362 -0
  57. package/dist/esm/core/content-manager.d.ts +335 -0
  58. package/dist/esm/core/content-manager.js +1476 -0
  59. package/dist/esm/core/content-performance-optimizer.d.ts +150 -0
  60. package/dist/esm/core/content-performance-optimizer.js +516 -0
  61. package/dist/esm/core/content-resolver.d.ts +104 -0
  62. package/dist/esm/core/content-resolver.js +285 -0
  63. package/dist/esm/core/cross-modal-search.d.ts +164 -0
  64. package/dist/esm/core/cross-modal-search.js +342 -0
  65. package/dist/esm/core/database-connection-manager.d.ts +109 -0
  66. package/dist/esm/core/database-connection-manager.js +310 -0
  67. package/dist/esm/core/db.d.ts +269 -0
  68. package/dist/esm/core/db.js +1000 -0
  69. package/dist/esm/core/embedder-factory.d.ts +154 -0
  70. package/dist/esm/core/embedder-factory.js +311 -0
  71. package/dist/esm/core/error-handler.d.ts +112 -0
  72. package/dist/esm/core/error-handler.js +239 -0
  73. package/dist/esm/core/index.d.ts +59 -0
  74. package/dist/esm/core/index.js +69 -0
  75. package/dist/esm/core/ingestion.d.ts +202 -0
  76. package/dist/esm/core/ingestion.js +904 -0
  77. package/dist/esm/core/interfaces.d.ts +408 -0
  78. package/dist/esm/core/interfaces.js +106 -0
  79. package/dist/esm/core/knowledge-base-manager.d.ts +109 -0
  80. package/dist/esm/core/knowledge-base-manager.js +256 -0
  81. package/dist/esm/core/lazy-dependency-loader.d.ts +147 -0
  82. package/dist/esm/core/lazy-dependency-loader.js +435 -0
  83. package/dist/esm/core/mode-detection-service.d.ts +150 -0
  84. package/dist/esm/core/mode-detection-service.js +565 -0
  85. package/dist/esm/core/mode-model-validator.d.ts +92 -0
  86. package/dist/esm/core/mode-model-validator.js +203 -0
  87. package/dist/esm/core/model-registry.d.ts +116 -0
  88. package/dist/esm/core/model-registry.js +411 -0
  89. package/dist/esm/core/model-validator.d.ts +217 -0
  90. package/dist/esm/core/model-validator.js +782 -0
  91. package/dist/esm/core/path-manager.d.ts +47 -0
  92. package/dist/esm/core/path-manager.js +71 -0
  93. package/dist/esm/core/raglite-paths.d.ts +121 -0
  94. package/dist/esm/core/raglite-paths.js +145 -0
  95. package/dist/esm/core/reranking-config.d.ts +42 -0
  96. package/dist/esm/core/reranking-config.js +147 -0
  97. package/dist/esm/core/reranking-factory.d.ts +92 -0
  98. package/dist/esm/core/reranking-factory.js +410 -0
  99. package/dist/esm/core/reranking-strategies.d.ts +310 -0
  100. package/dist/esm/core/reranking-strategies.js +650 -0
  101. package/dist/esm/core/resource-cleanup.d.ts +163 -0
  102. package/dist/esm/core/resource-cleanup.js +371 -0
  103. package/dist/esm/core/resource-manager.d.ts +212 -0
  104. package/dist/esm/core/resource-manager.js +564 -0
  105. package/dist/esm/core/search-pipeline.d.ts +111 -0
  106. package/dist/esm/core/search-pipeline.js +287 -0
  107. package/dist/esm/core/search.d.ts +141 -0
  108. package/dist/esm/core/search.js +320 -0
  109. package/dist/esm/core/streaming-operations.d.ts +145 -0
  110. package/dist/esm/core/streaming-operations.js +409 -0
  111. package/dist/esm/core/types.d.ts +66 -0
  112. package/dist/esm/core/types.js +6 -0
  113. package/dist/esm/core/universal-embedder.d.ts +177 -0
  114. package/dist/esm/core/universal-embedder.js +139 -0
  115. package/dist/esm/core/validation-messages.d.ts +99 -0
  116. package/dist/esm/core/validation-messages.js +334 -0
  117. package/dist/esm/core/vector-index-messages.d.ts +52 -0
  118. package/dist/esm/core/vector-index-messages.js +5 -0
  119. package/dist/esm/core/vector-index-worker.d.ts +6 -0
  120. package/dist/esm/core/vector-index-worker.js +304 -0
  121. package/dist/esm/core/vector-index.d.ts +107 -0
  122. package/dist/esm/core/vector-index.js +344 -0
  123. package/dist/esm/dom-polyfills.d.ts +6 -0
  124. package/dist/esm/dom-polyfills.js +37 -0
  125. package/dist/esm/factories/index.d.ts +27 -0
  126. package/dist/esm/factories/index.js +29 -0
  127. package/dist/esm/factories/ingestion-factory.d.ts +200 -0
  128. package/dist/esm/factories/ingestion-factory.js +473 -0
  129. package/dist/esm/factories/search-factory.d.ts +154 -0
  130. package/dist/esm/factories/search-factory.js +355 -0
  131. package/dist/esm/file-processor.d.ts +147 -0
  132. package/dist/esm/file-processor.js +963 -0
  133. package/dist/esm/index-manager.d.ts +136 -0
  134. package/dist/esm/index-manager.js +667 -0
  135. package/dist/esm/index.d.ts +76 -0
  136. package/dist/esm/index.js +112 -0
  137. package/dist/esm/indexer.d.ts +7 -0
  138. package/dist/esm/indexer.js +54 -0
  139. package/dist/esm/ingestion.d.ts +63 -0
  140. package/dist/esm/ingestion.js +124 -0
  141. package/dist/esm/mcp-server.d.ts +46 -0
  142. package/dist/esm/mcp-server.js +1820 -0
  143. package/dist/esm/multimodal/clip-embedder.d.ts +327 -0
  144. package/dist/esm/multimodal/clip-embedder.js +996 -0
  145. package/dist/esm/multimodal/index.d.ts +6 -0
  146. package/dist/esm/multimodal/index.js +6 -0
  147. package/dist/esm/preprocess.d.ts +19 -0
  148. package/dist/esm/preprocess.js +203 -0
  149. package/dist/esm/preprocessors/index.d.ts +17 -0
  150. package/dist/esm/preprocessors/index.js +38 -0
  151. package/dist/esm/preprocessors/mdx.d.ts +25 -0
  152. package/dist/esm/preprocessors/mdx.js +101 -0
  153. package/dist/esm/preprocessors/mermaid.d.ts +68 -0
  154. package/dist/esm/preprocessors/mermaid.js +329 -0
  155. package/dist/esm/preprocessors/registry.d.ts +56 -0
  156. package/dist/esm/preprocessors/registry.js +179 -0
  157. package/dist/esm/run-error-recovery-tests.d.ts +7 -0
  158. package/dist/esm/run-error-recovery-tests.js +101 -0
  159. package/dist/esm/search-standalone.d.ts +7 -0
  160. package/dist/esm/search-standalone.js +117 -0
  161. package/dist/esm/search.d.ts +99 -0
  162. package/dist/esm/search.js +177 -0
  163. package/dist/esm/test-utils.d.ts +18 -0
  164. package/dist/esm/test-utils.js +27 -0
  165. package/dist/esm/text/chunker.d.ts +33 -0
  166. package/dist/esm/text/chunker.js +279 -0
  167. package/dist/esm/text/embedder.d.ts +111 -0
  168. package/dist/esm/text/embedder.js +386 -0
  169. package/dist/esm/text/index.d.ts +8 -0
  170. package/dist/esm/text/index.js +9 -0
  171. package/dist/esm/text/preprocessors/index.d.ts +17 -0
  172. package/dist/esm/text/preprocessors/index.js +38 -0
  173. package/dist/esm/text/preprocessors/mdx.d.ts +25 -0
  174. package/dist/esm/text/preprocessors/mdx.js +101 -0
  175. package/dist/esm/text/preprocessors/mermaid.d.ts +68 -0
  176. package/dist/esm/text/preprocessors/mermaid.js +330 -0
  177. package/dist/esm/text/preprocessors/registry.d.ts +56 -0
  178. package/dist/esm/text/preprocessors/registry.js +180 -0
  179. package/dist/esm/text/reranker.d.ts +49 -0
  180. package/dist/esm/text/reranker.js +274 -0
  181. package/dist/esm/text/sentence-transformer-embedder.d.ts +96 -0
  182. package/dist/esm/text/sentence-transformer-embedder.js +340 -0
  183. package/dist/esm/text/tokenizer.d.ts +22 -0
  184. package/dist/esm/text/tokenizer.js +64 -0
  185. package/dist/esm/types.d.ts +83 -0
  186. package/dist/esm/types.js +3 -0
  187. package/dist/esm/utils/vector-math.d.ts +31 -0
  188. package/dist/esm/utils/vector-math.js +70 -0
  189. package/package.json +39 -14
  190. package/dist/core/vector-index.d.ts +0 -72
  191. package/dist/core/vector-index.js +0 -331
  192. /package/dist/{api-errors.d.ts → cjs/api-errors.d.ts} +0 -0
  193. /package/dist/{api-errors.js → cjs/api-errors.js} +0 -0
  194. /package/dist/{cli → cjs/cli}/indexer.d.ts +0 -0
  195. /package/dist/{cli → cjs/cli}/search.d.ts +0 -0
  196. /package/dist/{cli → cjs/cli}/search.js +0 -0
  197. /package/dist/{cli.d.ts → cjs/cli.d.ts} +0 -0
  198. /package/dist/{config.d.ts → cjs/config.d.ts} +0 -0
  199. /package/dist/{config.js → cjs/config.js} +0 -0
  200. /package/dist/{core → cjs/core}/abstract-embedder.d.ts +0 -0
  201. /package/dist/{core → cjs/core}/abstract-embedder.js +0 -0
  202. /package/dist/{core → cjs/core}/actionable-error-messages.d.ts +0 -0
  203. /package/dist/{core → cjs/core}/actionable-error-messages.js +0 -0
  204. /package/dist/{core → cjs/core}/adapters.d.ts +0 -0
  205. /package/dist/{core → cjs/core}/adapters.js +0 -0
  206. /package/dist/{core → cjs/core}/batch-processing-optimizer.d.ts +0 -0
  207. /package/dist/{core → cjs/core}/batch-processing-optimizer.js +0 -0
  208. /package/dist/{core → cjs/core}/binary-index-format.d.ts +0 -0
  209. /package/dist/{core → cjs/core}/chunker.d.ts +0 -0
  210. /package/dist/{core → cjs/core}/chunker.js +0 -0
  211. /package/dist/{core → cjs/core}/cli-database-utils.d.ts +0 -0
  212. /package/dist/{core → cjs/core}/cli-database-utils.js +0 -0
  213. /package/dist/{core → cjs/core}/config.d.ts +0 -0
  214. /package/dist/{core → cjs/core}/config.js +0 -0
  215. /package/dist/{core → cjs/core}/content-errors.d.ts +0 -0
  216. /package/dist/{core → cjs/core}/content-errors.js +0 -0
  217. /package/dist/{core → cjs/core}/content-manager.d.ts +0 -0
  218. /package/dist/{core → cjs/core}/content-manager.js +0 -0
  219. /package/dist/{core → cjs/core}/content-performance-optimizer.d.ts +0 -0
  220. /package/dist/{core → cjs/core}/content-performance-optimizer.js +0 -0
  221. /package/dist/{core → cjs/core}/content-resolver.d.ts +0 -0
  222. /package/dist/{core → cjs/core}/content-resolver.js +0 -0
  223. /package/dist/{core → cjs/core}/cross-modal-search.d.ts +0 -0
  224. /package/dist/{core → cjs/core}/cross-modal-search.js +0 -0
  225. /package/dist/{core → cjs/core}/database-connection-manager.d.ts +0 -0
  226. /package/dist/{core → cjs/core}/database-connection-manager.js +0 -0
  227. /package/dist/{core → cjs/core}/embedder-factory.d.ts +0 -0
  228. /package/dist/{core → cjs/core}/embedder-factory.js +0 -0
  229. /package/dist/{core → cjs/core}/error-handler.d.ts +0 -0
  230. /package/dist/{core → cjs/core}/error-handler.js +0 -0
  231. /package/dist/{core → cjs/core}/index.d.ts +0 -0
  232. /package/dist/{core → cjs/core}/index.js +0 -0
  233. /package/dist/{core → cjs/core}/ingestion.d.ts +0 -0
  234. /package/dist/{core → cjs/core}/interfaces.d.ts +0 -0
  235. /package/dist/{core → cjs/core}/interfaces.js +0 -0
  236. /package/dist/{core → cjs/core}/lazy-dependency-loader.d.ts +0 -0
  237. /package/dist/{core → cjs/core}/lazy-dependency-loader.js +0 -0
  238. /package/dist/{core → cjs/core}/mode-detection-service.d.ts +0 -0
  239. /package/dist/{core → cjs/core}/mode-detection-service.js +0 -0
  240. /package/dist/{core → cjs/core}/mode-model-validator.d.ts +0 -0
  241. /package/dist/{core → cjs/core}/mode-model-validator.js +0 -0
  242. /package/dist/{core → cjs/core}/model-registry.d.ts +0 -0
  243. /package/dist/{core → cjs/core}/model-registry.js +0 -0
  244. /package/dist/{core → cjs/core}/model-validator.d.ts +0 -0
  245. /package/dist/{core → cjs/core}/path-manager.d.ts +0 -0
  246. /package/dist/{core → cjs/core}/path-manager.js +0 -0
  247. /package/dist/{core → cjs/core}/raglite-paths.d.ts +0 -0
  248. /package/dist/{core → cjs/core}/raglite-paths.js +0 -0
  249. /package/dist/{core → cjs/core}/reranking-config.d.ts +0 -0
  250. /package/dist/{core → cjs/core}/reranking-config.js +0 -0
  251. /package/dist/{core → cjs/core}/reranking-factory.d.ts +0 -0
  252. /package/dist/{core → cjs/core}/reranking-factory.js +0 -0
  253. /package/dist/{core → cjs/core}/reranking-strategies.d.ts +0 -0
  254. /package/dist/{core → cjs/core}/reranking-strategies.js +0 -0
  255. /package/dist/{core → cjs/core}/resource-cleanup.d.ts +0 -0
  256. /package/dist/{core → cjs/core}/resource-cleanup.js +0 -0
  257. /package/dist/{core → cjs/core}/resource-manager.d.ts +0 -0
  258. /package/dist/{core → cjs/core}/resource-manager.js +0 -0
  259. /package/dist/{core → cjs/core}/search-pipeline.d.ts +0 -0
  260. /package/dist/{core → cjs/core}/search.d.ts +0 -0
  261. /package/dist/{core → cjs/core}/streaming-operations.d.ts +0 -0
  262. /package/dist/{core → cjs/core}/streaming-operations.js +0 -0
  263. /package/dist/{core → cjs/core}/types.d.ts +0 -0
  264. /package/dist/{core → cjs/core}/types.js +0 -0
  265. /package/dist/{core → cjs/core}/universal-embedder.d.ts +0 -0
  266. /package/dist/{core → cjs/core}/universal-embedder.js +0 -0
  267. /package/dist/{core → cjs/core}/validation-messages.d.ts +0 -0
  268. /package/dist/{core → cjs/core}/validation-messages.js +0 -0
  269. /package/dist/{dom-polyfills.d.ts → cjs/dom-polyfills.d.ts} +0 -0
  270. /package/dist/{dom-polyfills.js → cjs/dom-polyfills.js} +0 -0
  271. /package/dist/{factories → cjs/factories}/index.d.ts +0 -0
  272. /package/dist/{factories → cjs/factories}/index.js +0 -0
  273. /package/dist/{factories → cjs/factories}/ingestion-factory.d.ts +0 -0
  274. /package/dist/{factories → cjs/factories}/search-factory.d.ts +0 -0
  275. /package/dist/{file-processor.d.ts → cjs/file-processor.d.ts} +0 -0
  276. /package/dist/{file-processor.js → cjs/file-processor.js} +0 -0
  277. /package/dist/{indexer.d.ts → cjs/indexer.d.ts} +0 -0
  278. /package/dist/{indexer.js → cjs/indexer.js} +0 -0
  279. /package/dist/{ingestion.d.ts → cjs/ingestion.d.ts} +0 -0
  280. /package/dist/{ingestion.js → cjs/ingestion.js} +0 -0
  281. /package/dist/{mcp-server.d.ts → cjs/mcp-server.d.ts} +0 -0
  282. /package/dist/{mcp-server.js → cjs/mcp-server.js} +0 -0
  283. /package/dist/{multimodal → cjs/multimodal}/clip-embedder.d.ts +0 -0
  284. /package/dist/{multimodal → cjs/multimodal}/clip-embedder.js +0 -0
  285. /package/dist/{multimodal → cjs/multimodal}/index.d.ts +0 -0
  286. /package/dist/{multimodal → cjs/multimodal}/index.js +0 -0
  287. /package/dist/{preprocess.d.ts → cjs/preprocess.d.ts} +0 -0
  288. /package/dist/{preprocess.js → cjs/preprocess.js} +0 -0
  289. /package/dist/{preprocessors → cjs/preprocessors}/index.d.ts +0 -0
  290. /package/dist/{preprocessors → cjs/preprocessors}/index.js +0 -0
  291. /package/dist/{preprocessors → cjs/preprocessors}/mdx.d.ts +0 -0
  292. /package/dist/{preprocessors → cjs/preprocessors}/mdx.js +0 -0
  293. /package/dist/{preprocessors → cjs/preprocessors}/mermaid.d.ts +0 -0
  294. /package/dist/{preprocessors → cjs/preprocessors}/mermaid.js +0 -0
  295. /package/dist/{preprocessors → cjs/preprocessors}/registry.d.ts +0 -0
  296. /package/dist/{preprocessors → cjs/preprocessors}/registry.js +0 -0
  297. /package/dist/{run-error-recovery-tests.d.ts → cjs/run-error-recovery-tests.d.ts} +0 -0
  298. /package/dist/{run-error-recovery-tests.js → cjs/run-error-recovery-tests.js} +0 -0
  299. /package/dist/{search-standalone.d.ts → cjs/search-standalone.d.ts} +0 -0
  300. /package/dist/{search-standalone.js → cjs/search-standalone.js} +0 -0
  301. /package/dist/{search.d.ts → cjs/search.d.ts} +0 -0
  302. /package/dist/{search.js → cjs/search.js} +0 -0
  303. /package/dist/{test-utils.d.ts → cjs/test-utils.d.ts} +0 -0
  304. /package/dist/{test-utils.js → cjs/test-utils.js} +0 -0
  305. /package/dist/{text → cjs/text}/chunker.d.ts +0 -0
  306. /package/dist/{text → cjs/text}/chunker.js +0 -0
  307. /package/dist/{text → cjs/text}/embedder.d.ts +0 -0
  308. /package/dist/{text → cjs/text}/embedder.js +0 -0
  309. /package/dist/{text → cjs/text}/index.d.ts +0 -0
  310. /package/dist/{text → cjs/text}/index.js +0 -0
  311. /package/dist/{text → cjs/text}/preprocessors/index.d.ts +0 -0
  312. /package/dist/{text → cjs/text}/preprocessors/index.js +0 -0
  313. /package/dist/{text → cjs/text}/preprocessors/mdx.d.ts +0 -0
  314. /package/dist/{text → cjs/text}/preprocessors/mdx.js +0 -0
  315. /package/dist/{text → cjs/text}/preprocessors/mermaid.d.ts +0 -0
  316. /package/dist/{text → cjs/text}/preprocessors/mermaid.js +0 -0
  317. /package/dist/{text → cjs/text}/preprocessors/registry.d.ts +0 -0
  318. /package/dist/{text → cjs/text}/preprocessors/registry.js +0 -0
  319. /package/dist/{text → cjs/text}/reranker.d.ts +0 -0
  320. /package/dist/{text → cjs/text}/reranker.js +0 -0
  321. /package/dist/{text → cjs/text}/sentence-transformer-embedder.d.ts +0 -0
  322. /package/dist/{text → cjs/text}/sentence-transformer-embedder.js +0 -0
  323. /package/dist/{text → cjs/text}/tokenizer.d.ts +0 -0
  324. /package/dist/{text → cjs/text}/tokenizer.js +0 -0
  325. /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
  326. /package/dist/{types.js → cjs/types.js} +0 -0
  327. /package/dist/{utils → cjs/utils}/vector-math.d.ts +0 -0
  328. /package/dist/{utils → cjs/utils}/vector-math.js +0 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Multimodal implementation layer exports
3
+ * Provides CLIP-based embedders for cross-modal search capabilities
4
+ */
5
+ export { CLIPEmbedder } from './clip-embedder.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Multimodal implementation layer exports
3
+ * Provides CLIP-based embedders for cross-modal search capabilities
4
+ */
5
+ export { CLIPEmbedder } from './clip-embedder.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,19 @@
1
+ import { PreprocessingConfig } from './types.js';
2
+ /**
3
+ * Main preprocessing function that processes document content based on configuration
4
+ * @param content - Raw document content to preprocess
5
+ * @param filePath - Path to the file being processed (for content type detection)
6
+ * @param config - Preprocessing configuration
7
+ * @returns Processed content string
8
+ */
9
+ export declare function preprocessDocument(content: string, filePath: string, config: PreprocessingConfig): string;
10
+ /**
11
+ * Utility function to get preprocessing statistics for debugging
12
+ */
13
+ export declare function getPreprocessingStats(originalContent: string, processedContent: string): {
14
+ originalLength: number;
15
+ processedLength: number;
16
+ reductionRatio: number;
17
+ linesRemoved: number;
18
+ };
19
+ //# sourceMappingURL=preprocess.d.ts.map
@@ -0,0 +1,203 @@
1
+ import { mergePreprocessingConfig, validatePreprocessingConfig } from './core/config.js';
2
+ import { preprocessorRegistry, ContentTypeDetector } from './preprocessors/index.js';
3
+ /**
4
+ * Main preprocessing function that processes document content based on configuration
5
+ * @param content - Raw document content to preprocess
6
+ * @param filePath - Path to the file being processed (for content type detection)
7
+ * @param config - Preprocessing configuration
8
+ * @returns Processed content string
9
+ */
10
+ export function preprocessDocument(content, filePath, config) {
11
+ try {
12
+ // Validate configuration
13
+ validatePreprocessingConfig(config);
14
+ // Resolve mode configuration with overrides
15
+ const resolvedConfig = mergePreprocessingConfig(config);
16
+ // Detect content type from file path
17
+ const contentType = detectContentType(content, filePath);
18
+ // Early return if no preprocessing needed
19
+ if (!needsPreprocessing(content, contentType)) {
20
+ return content;
21
+ }
22
+ // Process content based on detected type
23
+ let processedContent = content;
24
+ try {
25
+ processedContent = processContentByType(content, contentType, resolvedConfig);
26
+ }
27
+ catch (error) {
28
+ // Fallback handling for processing failures
29
+ console.error(`Preprocessing failed for ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
30
+ processedContent = handleProcessingFailure(content, contentType);
31
+ }
32
+ // Ensure processed content is never empty
33
+ if (!processedContent || processedContent.trim().length === 0) {
34
+ console.log(`Warning: Preprocessing resulted in empty content for ${filePath}, using fallback`);
35
+ processedContent = '[content processed but empty]';
36
+ }
37
+ return processedContent;
38
+ }
39
+ catch (error) {
40
+ // Configuration or other critical errors - use fallback
41
+ console.error(`Critical preprocessing error for ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
42
+ return handleCriticalFailure(content);
43
+ }
44
+ }
45
+ /**
46
+ * Detect content type from file path and content analysis
47
+ */
48
+ function detectContentType(content, filePath) {
49
+ // First try file extension detection
50
+ const extensionType = ContentTypeDetector.detectFromExtension(filePath);
51
+ if (extensionType) {
52
+ return extensionType;
53
+ }
54
+ // Fallback to content analysis
55
+ if (ContentTypeDetector.hasJsxContent(content)) {
56
+ return 'mdx';
57
+ }
58
+ if (ContentTypeDetector.hasMermaidContent(content)) {
59
+ return 'mermaid';
60
+ }
61
+ // Default to markdown for unknown types
62
+ return 'markdown';
63
+ }
64
+ /**
65
+ * Check if content needs preprocessing based on type and content analysis
66
+ */
67
+ function needsPreprocessing(content, contentType) {
68
+ // Always preprocess MDX files
69
+ if (contentType === 'mdx') {
70
+ return true;
71
+ }
72
+ // Check for Mermaid diagrams in any markdown content
73
+ if (ContentTypeDetector.hasMermaidContent(content)) {
74
+ return true;
75
+ }
76
+ // Check for JSX content in markdown files
77
+ if (contentType === 'markdown' && ContentTypeDetector.hasJsxContent(content)) {
78
+ return true;
79
+ }
80
+ // Check for code blocks that might need processing
81
+ if (content.includes('```')) {
82
+ return true;
83
+ }
84
+ return false;
85
+ }
86
+ /**
87
+ * Process content based on detected content type and configuration
88
+ */
89
+ function processContentByType(content, contentType, resolvedConfig) {
90
+ let processedContent = content;
91
+ // Process MDX content if present
92
+ if (contentType === 'mdx' || ContentTypeDetector.hasJsxContent(content)) {
93
+ processedContent = processWithPreprocessor(processedContent, 'mdx', { mode: resolvedConfig.mdx });
94
+ }
95
+ // Process Mermaid diagrams if present (check original content, not processed)
96
+ if (ContentTypeDetector.hasMermaidContent(content)) {
97
+ processedContent = processWithPreprocessor(processedContent, 'mermaid', { mode: resolvedConfig.mermaid });
98
+ }
99
+ // Process code blocks if present and not already handled by MDX processor
100
+ if (processedContent.includes('```')) {
101
+ processedContent = processCodeBlocks(processedContent, resolvedConfig.code);
102
+ }
103
+ return processedContent;
104
+ }
105
+ /**
106
+ * Process content with a specific preprocessor
107
+ */
108
+ function processWithPreprocessor(content, preprocessorName, options) {
109
+ const preprocessor = preprocessorRegistry.get(preprocessorName);
110
+ if (!preprocessor) {
111
+ console.log(`Unknown preprocessor: ${preprocessorName}, using fallback`);
112
+ return handleUnknownContentType(content, preprocessorName);
113
+ }
114
+ try {
115
+ // Call the preprocessor directly - it will check if it needs to process the content
116
+ return preprocessor.process(content, options);
117
+ }
118
+ catch (error) {
119
+ console.error(`Preprocessor ${preprocessorName} failed: ${error instanceof Error ? error.message : String(error)}`);
120
+ return handleUnknownContentType(content, preprocessorName);
121
+ }
122
+ }
123
+ /**
124
+ * Process code blocks based on configuration
125
+ */
126
+ function processCodeBlocks(content, mode) {
127
+ if (mode === 'keep') {
128
+ return content;
129
+ }
130
+ // Find all code blocks
131
+ const codeBlockRegex = /```[\s\S]*?```/g;
132
+ if (mode === 'strip') {
133
+ return content.replace(codeBlockRegex, '');
134
+ }
135
+ if (mode === 'placeholder') {
136
+ return content.replace(codeBlockRegex, (match) => {
137
+ const language = ContentTypeDetector.extractCodeFenceLanguage(match);
138
+ return language ? `[${language} code block removed]` : '[code block removed]';
139
+ });
140
+ }
141
+ return content;
142
+ }
143
+ /**
144
+ * Handle unknown content types with fallback
145
+ */
146
+ function handleUnknownContentType(content, contentType) {
147
+ console.log(`Unknown content type detected: ${contentType}, using fallback`);
148
+ return '[content removed]';
149
+ }
150
+ /**
151
+ * Handle processing failures with graceful fallback
152
+ */
153
+ function handleProcessingFailure(content, contentType) {
154
+ console.log(`Processing failed for content type: ${contentType}, using placeholder`);
155
+ // Try to preserve basic structure while removing problematic content
156
+ switch (contentType) {
157
+ case 'mdx':
158
+ return '[MDX content removed due to processing error]';
159
+ case 'mermaid':
160
+ return '[diagram removed due to processing error]';
161
+ default:
162
+ return '[content removed due to processing error]';
163
+ }
164
+ }
165
+ /**
166
+ * Handle critical failures that prevent any processing
167
+ */
168
+ function handleCriticalFailure(content) {
169
+ console.error('Critical preprocessing failure, returning minimal fallback');
170
+ // For plain content without problematic syntax, return as-is
171
+ if (!content.includes('<') && !content.includes('```') &&
172
+ !content.includes('import ') && !content.includes('export ')) {
173
+ return content;
174
+ }
175
+ // Return a safe fallback that preserves some content structure
176
+ const lines = content.split('\n');
177
+ const safeLines = lines.filter(line => {
178
+ // Keep lines that look like plain text or basic markdown
179
+ return line.trim().length > 0 &&
180
+ !line.includes('<') &&
181
+ !line.includes('```') &&
182
+ !line.startsWith('import ') &&
183
+ !line.startsWith('export ');
184
+ });
185
+ if (safeLines.length > 0) {
186
+ return safeLines.join('\n');
187
+ }
188
+ return '[content could not be processed safely]';
189
+ }
190
+ /**
191
+ * Utility function to get preprocessing statistics for debugging
192
+ */
193
+ export function getPreprocessingStats(originalContent, processedContent) {
194
+ const originalLines = originalContent.split('\n').length;
195
+ const processedLines = processedContent.split('\n').length;
196
+ return {
197
+ originalLength: originalContent.length,
198
+ processedLength: processedContent.length,
199
+ reductionRatio: processedContent.length / originalContent.length,
200
+ linesRemoved: originalLines - processedLines
201
+ };
202
+ }
203
+ //# sourceMappingURL=preprocess.js.map
@@ -0,0 +1,17 @@
1
+ import { PreprocessorRegistry } from './registry.js';
2
+ export { PreprocessorRegistry, ContentTypeDetector } from './registry.js';
3
+ export { MdxPreprocessor } from './mdx.js';
4
+ export { MermaidPreprocessor } from './mermaid.js';
5
+ /**
6
+ * Global preprocessor registry instance
7
+ */
8
+ export declare const preprocessorRegistry: PreprocessorRegistry;
9
+ /**
10
+ * Validate that all required preprocessors are available in the registry
11
+ */
12
+ export declare function validatePreprocessorConfiguration(requiredPreprocessors: string[]): void;
13
+ /**
14
+ * Get all available preprocessor names
15
+ */
16
+ export declare function getAvailablePreprocessors(): string[];
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,38 @@
1
+ import { PreprocessorRegistry } from './registry.js';
2
+ import { MdxPreprocessor } from './mdx.js';
3
+ import { MermaidPreprocessor } from './mermaid.js';
4
+ // Export all preprocessor classes
5
+ export { PreprocessorRegistry, ContentTypeDetector } from './registry.js';
6
+ export { MdxPreprocessor } from './mdx.js';
7
+ export { MermaidPreprocessor } from './mermaid.js';
8
+ /**
9
+ * Create and initialize the global preprocessor registry
10
+ */
11
+ function createPreprocessorRegistry() {
12
+ const registry = new PreprocessorRegistry();
13
+ // Register built-in preprocessors
14
+ registry.register('mdx', new MdxPreprocessor());
15
+ registry.register('mermaid', new MermaidPreprocessor());
16
+ return registry;
17
+ }
18
+ /**
19
+ * Global preprocessor registry instance
20
+ */
21
+ export const preprocessorRegistry = createPreprocessorRegistry();
22
+ /**
23
+ * Validate that all required preprocessors are available in the registry
24
+ */
25
+ export function validatePreprocessorConfiguration(requiredPreprocessors) {
26
+ const validation = preprocessorRegistry.validatePreprocessors(requiredPreprocessors);
27
+ if (!validation.valid) {
28
+ const missingList = validation.missing.join(', ');
29
+ throw new Error(`Missing required preprocessors: ${missingList}. Available: ${preprocessorRegistry.getRegisteredNames().join(', ')}`);
30
+ }
31
+ }
32
+ /**
33
+ * Get all available preprocessor names
34
+ */
35
+ export function getAvailablePreprocessors() {
36
+ return preprocessorRegistry.getRegisteredNames();
37
+ }
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,25 @@
1
+ import { Preprocessor, PreprocessorOptions } from '../types.js';
2
+ /**
3
+ * MDX preprocessor for handling JSX content in Markdown files
4
+ * Ports the existing cleanMdxContent logic with mode-aware behavior
5
+ */
6
+ export declare class MdxPreprocessor implements Preprocessor {
7
+ /**
8
+ * Check if this preprocessor applies to the given language/content type
9
+ * Applies to .mdx files and content with JSX syntax
10
+ */
11
+ appliesTo(language: string): boolean;
12
+ /**
13
+ * Process MDX content based on the specified mode
14
+ */
15
+ process(content: string, options: PreprocessorOptions): string;
16
+ /**
17
+ * Strip JSX content entirely - ported from cleanMdxContent logic
18
+ */
19
+ private stripJsx;
20
+ /**
21
+ * Replace JSX with descriptive placeholders
22
+ */
23
+ private replaceWithPlaceholders;
24
+ }
25
+ //# sourceMappingURL=mdx.d.ts.map
@@ -0,0 +1,101 @@
1
+ import { ContentTypeDetector } from './registry.js';
2
+ /**
3
+ * MDX preprocessor for handling JSX content in Markdown files
4
+ * Ports the existing cleanMdxContent logic with mode-aware behavior
5
+ */
6
+ export class MdxPreprocessor {
7
+ /**
8
+ * Check if this preprocessor applies to the given language/content type
9
+ * Applies to .mdx files and content with JSX syntax
10
+ */
11
+ appliesTo(language) {
12
+ return language === 'mdx';
13
+ }
14
+ /**
15
+ * Process MDX content based on the specified mode
16
+ */
17
+ process(content, options) {
18
+ // Only process if content actually contains JSX
19
+ if (!ContentTypeDetector.hasJsxContent(content)) {
20
+ return content;
21
+ }
22
+ switch (options.mode) {
23
+ case 'strip':
24
+ return this.stripJsx(content);
25
+ case 'keep':
26
+ return content; // Keep JSX as-is
27
+ case 'placeholder':
28
+ return this.replaceWithPlaceholders(content);
29
+ default:
30
+ console.log(`Unknown MDX processing mode: ${options.mode}, using placeholder`);
31
+ return this.replaceWithPlaceholders(content);
32
+ }
33
+ }
34
+ /**
35
+ * Strip JSX content entirely - ported from cleanMdxContent logic
36
+ */
37
+ stripJsx(content) {
38
+ let cleaned = content;
39
+ // Remove JSX import statements (requirement 11.1)
40
+ // Matches: import ... from '...' or import ... from "..."
41
+ cleaned = cleaned.replace(/^import\s+.*?from\s+['"][^'"]*['"];?\s*$/gm, '');
42
+ // Remove JSX export statements (requirement 11.2)
43
+ // Handle both single-line and multi-line exports
44
+ // Multi-line function exports: export default function() { ... }
45
+ cleaned = cleaned.replace(/^export\s+default\s+function[^{]*\{[\s\S]*?\n\}\s*$/gm, '');
46
+ // Object exports: export const metadata = { ... }
47
+ cleaned = cleaned.replace(/^export\s+const\s+[^=]*=\s*\{[\s\S]*?\}\s*;?\s*$/gm, '');
48
+ // Single line exports: export const x = ...; or export default ...
49
+ cleaned = cleaned.replace(/^export\s+(?:default\s+)?(?:const|let|var|function|class)\s+[^;{]*;?\s*$/gm, '');
50
+ // Simple exports: export default Component
51
+ cleaned = cleaned.replace(/^export\s+default\s+[^;{]*;?\s*$/gm, '');
52
+ // Remove JSX components (requirements 11.3, 11.4)
53
+ // Self-closing tags: <Component />
54
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*\/>/g, '');
55
+ // Opening and closing tags with content: <Component>content</Component>
56
+ // This handles nested components by replacing the outermost ones first
57
+ let previousLength;
58
+ do {
59
+ previousLength = cleaned.length;
60
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*>.*?<\/[A-Z][a-zA-Z0-9]*>/gs, '');
61
+ } while (cleaned.length !== previousLength);
62
+ // Clean up multiple consecutive newlines and trim
63
+ cleaned = cleaned.replace(/\n\s*\n\s*\n/g, '\n\n').trim();
64
+ // Ensure we never return empty content (requirement 6.4)
65
+ if (!cleaned.trim()) {
66
+ return '[content removed]';
67
+ }
68
+ return cleaned;
69
+ }
70
+ /**
71
+ * Replace JSX with descriptive placeholders
72
+ */
73
+ replaceWithPlaceholders(content) {
74
+ let cleaned = content;
75
+ // Replace JSX import statements
76
+ cleaned = cleaned.replace(/^import\s+.*?from\s+['"][^'"]*['"];?\s*$/gm, '[import removed]');
77
+ // Replace JSX export statements
78
+ // Multi-line function exports: export default function() { ... }
79
+ cleaned = cleaned.replace(/^export\s+default\s+function[^{]*\{[\s\S]*?\n\}\s*$/gm, '[export removed]');
80
+ // Object exports: export const metadata = { ... }
81
+ cleaned = cleaned.replace(/^export\s+const\s+[^=]*=\s*\{[\s\S]*?\}\s*;?\s*$/gm, '[export removed]');
82
+ // Single line exports: export const x = ...; or export default ...
83
+ cleaned = cleaned.replace(/^export\s+(?:default\s+)?(?:const|let|var|function|class)\s+[^;{]*;?\s*$/gm, '[export removed]');
84
+ // Simple exports: export default Component
85
+ cleaned = cleaned.replace(/^export\s+default\s+[^;{]*;?\s*$/gm, '[export removed]');
86
+ // Replace JSX components with placeholder
87
+ // Self-closing tags: <Component />
88
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*\/>/g, '[component removed]');
89
+ // Opening and closing tags with content: <Component>content</Component>
90
+ // This handles nested components by replacing the outermost ones first
91
+ let previousLength;
92
+ do {
93
+ previousLength = cleaned.length;
94
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*>.*?<\/[A-Z][a-zA-Z0-9]*>/gs, '[component removed]');
95
+ } while (cleaned.length !== previousLength);
96
+ // Clean up multiple consecutive newlines and trim
97
+ cleaned = cleaned.replace(/\n\s*\n\s*\n/g, '\n\n').trim();
98
+ return cleaned;
99
+ }
100
+ }
101
+ //# sourceMappingURL=mdx.js.map
@@ -0,0 +1,68 @@
1
+ import { Preprocessor, PreprocessorOptions } from '../types.js';
2
+ /**
3
+ * Mermaid preprocessor for handling Mermaid diagrams in Markdown files
4
+ * Supports strip, extract, and placeholder modes
5
+ */
6
+ export declare class MermaidPreprocessor implements Preprocessor {
7
+ /**
8
+ * Check if this preprocessor applies to the given language/content type
9
+ * Applies to mermaid code blocks and content with Mermaid syntax
10
+ */
11
+ appliesTo(language: string): boolean;
12
+ /**
13
+ * Process Mermaid content based on the specified mode
14
+ */
15
+ process(content: string, options: PreprocessorOptions): string;
16
+ /**
17
+ * Strip Mermaid diagrams entirely
18
+ */
19
+ private stripMermaid;
20
+ /**
21
+ * Replace Mermaid diagrams with descriptive placeholders
22
+ */
23
+ private replaceWithPlaceholders;
24
+ /**
25
+ * Extract semantic information from Mermaid diagrams
26
+ * Converts diagram edges to plain text while ignoring styling and layout instructions
27
+ */
28
+ private extractMermaidEdges;
29
+ /**
30
+ * Extract edges and relationships from a Mermaid diagram
31
+ * Ignores styling, layout, and formatting instructions
32
+ */
33
+ private extractEdgesFromDiagram;
34
+ /**
35
+ * Build a mapping of node IDs to their labels by scanning all lines
36
+ */
37
+ private buildNodeLabelMap;
38
+ /**
39
+ * Check if a line is a layout instruction (should be ignored)
40
+ */
41
+ private isLayoutInstruction;
42
+ /**
43
+ * Check if a line is a styling instruction (should be ignored)
44
+ */
45
+ private isStyleInstruction;
46
+ /**
47
+ * Extract the meaningful label from a node definition
48
+ * Examples: A[Start] -> "Start", B{Decision} -> "Decision", C((End)) -> "End", D -> "D"
49
+ */
50
+ private extractNodeLabel;
51
+ /**
52
+ * Extract edge information from a single line
53
+ */
54
+ private extractEdgeFromLine;
55
+ /**
56
+ * Interpret flowchart connector symbols
57
+ */
58
+ private interpretConnector;
59
+ /**
60
+ * Interpret class diagram connector symbols
61
+ */
62
+ private interpretClassConnector;
63
+ /**
64
+ * Interpret ER diagram connector symbols
65
+ */
66
+ private interpretERConnector;
67
+ }
68
+ //# sourceMappingURL=mermaid.d.ts.map