@hazeljs/rag 0.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/LICENSE +192 -0
  2. package/README.md +504 -0
  3. package/dist/__tests__/graph/community-detector.test.d.ts +2 -0
  4. package/dist/__tests__/graph/community-detector.test.d.ts.map +1 -0
  5. package/dist/__tests__/graph/community-detector.test.js +87 -0
  6. package/dist/__tests__/graph/community-detector.test.js.map +1 -0
  7. package/dist/__tests__/graph/community-summarizer.test.d.ts +2 -0
  8. package/dist/__tests__/graph/community-summarizer.test.d.ts.map +1 -0
  9. package/dist/__tests__/graph/community-summarizer.test.js +131 -0
  10. package/dist/__tests__/graph/community-summarizer.test.js.map +1 -0
  11. package/dist/__tests__/graph/entity-extractor.test.d.ts +2 -0
  12. package/dist/__tests__/graph/entity-extractor.test.d.ts.map +1 -0
  13. package/dist/__tests__/graph/entity-extractor.test.js +129 -0
  14. package/dist/__tests__/graph/entity-extractor.test.js.map +1 -0
  15. package/dist/__tests__/graph/graph-rag-pipeline.test.d.ts +2 -0
  16. package/dist/__tests__/graph/graph-rag-pipeline.test.d.ts.map +1 -0
  17. package/dist/__tests__/graph/graph-rag-pipeline.test.js +158 -0
  18. package/dist/__tests__/graph/graph-rag-pipeline.test.js.map +1 -0
  19. package/dist/__tests__/graph/knowledge-graph.test.d.ts +2 -0
  20. package/dist/__tests__/graph/knowledge-graph.test.d.ts.map +1 -0
  21. package/dist/__tests__/graph/knowledge-graph.test.js +208 -0
  22. package/dist/__tests__/graph/knowledge-graph.test.js.map +1 -0
  23. package/dist/__tests__/loaders/base.loader.test.d.ts +2 -0
  24. package/dist/__tests__/loaders/base.loader.test.d.ts.map +1 -0
  25. package/dist/__tests__/loaders/base.loader.test.js +114 -0
  26. package/dist/__tests__/loaders/base.loader.test.js.map +1 -0
  27. package/dist/__tests__/loaders/csv-file.loader.test.d.ts +2 -0
  28. package/dist/__tests__/loaders/csv-file.loader.test.d.ts.map +1 -0
  29. package/dist/__tests__/loaders/csv-file.loader.test.js +98 -0
  30. package/dist/__tests__/loaders/csv-file.loader.test.js.map +1 -0
  31. package/dist/__tests__/loaders/directory.loader.test.d.ts +2 -0
  32. package/dist/__tests__/loaders/directory.loader.test.d.ts.map +1 -0
  33. package/dist/__tests__/loaders/directory.loader.test.js +154 -0
  34. package/dist/__tests__/loaders/directory.loader.test.js.map +1 -0
  35. package/dist/__tests__/loaders/html-file.loader.test.d.ts +2 -0
  36. package/dist/__tests__/loaders/html-file.loader.test.d.ts.map +1 -0
  37. package/dist/__tests__/loaders/html-file.loader.test.js +93 -0
  38. package/dist/__tests__/loaders/html-file.loader.test.js.map +1 -0
  39. package/dist/__tests__/loaders/json-file.loader.test.d.ts +2 -0
  40. package/dist/__tests__/loaders/json-file.loader.test.d.ts.map +1 -0
  41. package/dist/__tests__/loaders/json-file.loader.test.js +84 -0
  42. package/dist/__tests__/loaders/json-file.loader.test.js.map +1 -0
  43. package/dist/__tests__/loaders/markdown-file.loader.test.d.ts +2 -0
  44. package/dist/__tests__/loaders/markdown-file.loader.test.d.ts.map +1 -0
  45. package/dist/__tests__/loaders/markdown-file.loader.test.js +83 -0
  46. package/dist/__tests__/loaders/markdown-file.loader.test.js.map +1 -0
  47. package/dist/__tests__/loaders/text-file.loader.test.d.ts +2 -0
  48. package/dist/__tests__/loaders/text-file.loader.test.d.ts.map +1 -0
  49. package/dist/__tests__/loaders/text-file.loader.test.js +50 -0
  50. package/dist/__tests__/loaders/text-file.loader.test.js.map +1 -0
  51. package/dist/__tests__/rag-pipeline.test.d.ts +2 -0
  52. package/dist/__tests__/rag-pipeline.test.d.ts.map +1 -0
  53. package/dist/__tests__/rag-pipeline.test.js +210 -0
  54. package/dist/__tests__/rag-pipeline.test.js.map +1 -0
  55. package/dist/__tests__/retrieval/bm25.test.d.ts +2 -0
  56. package/dist/__tests__/retrieval/bm25.test.d.ts.map +1 -0
  57. package/dist/__tests__/retrieval/bm25.test.js +86 -0
  58. package/dist/__tests__/retrieval/bm25.test.js.map +1 -0
  59. package/dist/__tests__/retrieval/hybrid-search.test.d.ts +2 -0
  60. package/dist/__tests__/retrieval/hybrid-search.test.d.ts.map +1 -0
  61. package/dist/__tests__/retrieval/hybrid-search.test.js +85 -0
  62. package/dist/__tests__/retrieval/hybrid-search.test.js.map +1 -0
  63. package/dist/__tests__/retrieval/multi-query.test.d.ts +2 -0
  64. package/dist/__tests__/retrieval/multi-query.test.d.ts.map +1 -0
  65. package/dist/__tests__/retrieval/multi-query.test.js +90 -0
  66. package/dist/__tests__/retrieval/multi-query.test.js.map +1 -0
  67. package/dist/__tests__/text-splitters/recursive-text-splitter.test.d.ts +2 -0
  68. package/dist/__tests__/text-splitters/recursive-text-splitter.test.d.ts.map +1 -0
  69. package/dist/__tests__/text-splitters/recursive-text-splitter.test.js +97 -0
  70. package/dist/__tests__/text-splitters/recursive-text-splitter.test.js.map +1 -0
  71. package/dist/__tests__/utils/similarity.test.d.ts +2 -0
  72. package/dist/__tests__/utils/similarity.test.d.ts.map +1 -0
  73. package/dist/__tests__/utils/similarity.test.js +47 -0
  74. package/dist/__tests__/utils/similarity.test.js.map +1 -0
  75. package/dist/agentic/agentic-rag.service.d.ts +49 -0
  76. package/dist/agentic/agentic-rag.service.d.ts.map +1 -0
  77. package/dist/agentic/agentic-rag.service.js +149 -0
  78. package/dist/agentic/agentic-rag.service.js.map +1 -0
  79. package/dist/agentic/decorators/active-learning.decorator.d.ts +19 -0
  80. package/dist/agentic/decorators/active-learning.decorator.d.ts.map +1 -0
  81. package/dist/agentic/decorators/active-learning.decorator.js +98 -0
  82. package/dist/agentic/decorators/active-learning.decorator.js.map +1 -0
  83. package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts +17 -0
  84. package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts.map +1 -0
  85. package/dist/agentic/decorators/adaptive-retrieval.decorator.js +103 -0
  86. package/dist/agentic/decorators/adaptive-retrieval.decorator.js.map +1 -0
  87. package/dist/agentic/decorators/cached.decorator.d.ts +18 -0
  88. package/dist/agentic/decorators/cached.decorator.d.ts.map +1 -0
  89. package/dist/agentic/decorators/cached.decorator.js +93 -0
  90. package/dist/agentic/decorators/cached.decorator.js.map +1 -0
  91. package/dist/agentic/decorators/context-aware.decorator.d.ts +16 -0
  92. package/dist/agentic/decorators/context-aware.decorator.d.ts.map +1 -0
  93. package/dist/agentic/decorators/context-aware.decorator.js +169 -0
  94. package/dist/agentic/decorators/context-aware.decorator.js.map +1 -0
  95. package/dist/agentic/decorators/corrective-rag.decorator.d.ts +16 -0
  96. package/dist/agentic/decorators/corrective-rag.decorator.d.ts.map +1 -0
  97. package/dist/agentic/decorators/corrective-rag.decorator.js +142 -0
  98. package/dist/agentic/decorators/corrective-rag.decorator.js.map +1 -0
  99. package/dist/agentic/decorators/hyde.decorator.d.ts +15 -0
  100. package/dist/agentic/decorators/hyde.decorator.d.ts.map +1 -0
  101. package/dist/agentic/decorators/hyde.decorator.js +91 -0
  102. package/dist/agentic/decorators/hyde.decorator.js.map +1 -0
  103. package/dist/agentic/decorators/index.d.ts +16 -0
  104. package/dist/agentic/decorators/index.d.ts.map +1 -0
  105. package/dist/agentic/decorators/index.js +32 -0
  106. package/dist/agentic/decorators/index.js.map +1 -0
  107. package/dist/agentic/decorators/multi-hop.decorator.d.ts +15 -0
  108. package/dist/agentic/decorators/multi-hop.decorator.d.ts.map +1 -0
  109. package/dist/agentic/decorators/multi-hop.decorator.js +109 -0
  110. package/dist/agentic/decorators/multi-hop.decorator.js.map +1 -0
  111. package/dist/agentic/decorators/query-planner.decorator.d.ts +20 -0
  112. package/dist/agentic/decorators/query-planner.decorator.d.ts.map +1 -0
  113. package/dist/agentic/decorators/query-planner.decorator.js +213 -0
  114. package/dist/agentic/decorators/query-planner.decorator.js.map +1 -0
  115. package/dist/agentic/decorators/query-rewriter.decorator.d.ts +16 -0
  116. package/dist/agentic/decorators/query-rewriter.decorator.d.ts.map +1 -0
  117. package/dist/agentic/decorators/query-rewriter.decorator.js +143 -0
  118. package/dist/agentic/decorators/query-rewriter.decorator.js.map +1 -0
  119. package/dist/agentic/decorators/self-reflective.decorator.d.ts +20 -0
  120. package/dist/agentic/decorators/self-reflective.decorator.d.ts.map +1 -0
  121. package/dist/agentic/decorators/self-reflective.decorator.js +189 -0
  122. package/dist/agentic/decorators/self-reflective.decorator.js.map +1 -0
  123. package/dist/agentic/decorators/source-verification.decorator.d.ts +15 -0
  124. package/dist/agentic/decorators/source-verification.decorator.d.ts.map +1 -0
  125. package/dist/agentic/decorators/source-verification.decorator.js +121 -0
  126. package/dist/agentic/decorators/source-verification.decorator.js.map +1 -0
  127. package/dist/agentic/index.d.ts +9 -0
  128. package/dist/agentic/index.d.ts.map +1 -0
  129. package/dist/agentic/index.js +25 -0
  130. package/dist/agentic/index.js.map +1 -0
  131. package/dist/agentic/types.d.ts +210 -0
  132. package/dist/agentic/types.d.ts.map +1 -0
  133. package/dist/agentic/types.js +7 -0
  134. package/dist/agentic/types.js.map +1 -0
  135. package/dist/decorators/embeddable.decorator.d.ts +31 -0
  136. package/dist/decorators/embeddable.decorator.d.ts.map +1 -0
  137. package/dist/decorators/embeddable.decorator.js +44 -0
  138. package/dist/decorators/embeddable.decorator.js.map +1 -0
  139. package/dist/decorators/rag.decorator.d.ts +58 -0
  140. package/dist/decorators/rag.decorator.d.ts.map +1 -0
  141. package/dist/decorators/rag.decorator.js +78 -0
  142. package/dist/decorators/rag.decorator.js.map +1 -0
  143. package/dist/decorators/semantic-search.decorator.d.ts +69 -0
  144. package/dist/decorators/semantic-search.decorator.d.ts.map +1 -0
  145. package/dist/decorators/semantic-search.decorator.js +116 -0
  146. package/dist/decorators/semantic-search.decorator.js.map +1 -0
  147. package/dist/embeddings/cohere-embeddings.d.ts +33 -0
  148. package/dist/embeddings/cohere-embeddings.d.ts.map +1 -0
  149. package/dist/embeddings/cohere-embeddings.js +91 -0
  150. package/dist/embeddings/cohere-embeddings.js.map +1 -0
  151. package/dist/embeddings/openai-embeddings.d.ts +21 -0
  152. package/dist/embeddings/openai-embeddings.d.ts.map +1 -0
  153. package/dist/embeddings/openai-embeddings.js +53 -0
  154. package/dist/embeddings/openai-embeddings.js.map +1 -0
  155. package/dist/graph/community-detector.d.ts +45 -0
  156. package/dist/graph/community-detector.d.ts.map +1 -0
  157. package/dist/graph/community-detector.js +153 -0
  158. package/dist/graph/community-detector.js.map +1 -0
  159. package/dist/graph/community-summarizer.d.ts +41 -0
  160. package/dist/graph/community-summarizer.d.ts.map +1 -0
  161. package/dist/graph/community-summarizer.js +119 -0
  162. package/dist/graph/community-summarizer.js.map +1 -0
  163. package/dist/graph/entity-extractor.d.ts +47 -0
  164. package/dist/graph/entity-extractor.d.ts.map +1 -0
  165. package/dist/graph/entity-extractor.js +224 -0
  166. package/dist/graph/entity-extractor.js.map +1 -0
  167. package/dist/graph/graph-rag-pipeline.d.ts +83 -0
  168. package/dist/graph/graph-rag-pipeline.d.ts.map +1 -0
  169. package/dist/graph/graph-rag-pipeline.js +390 -0
  170. package/dist/graph/graph-rag-pipeline.js.map +1 -0
  171. package/dist/graph/graph.types.d.ts +186 -0
  172. package/dist/graph/graph.types.d.ts.map +1 -0
  173. package/dist/graph/graph.types.js +20 -0
  174. package/dist/graph/graph.types.js.map +1 -0
  175. package/dist/graph/index.d.ts +15 -0
  176. package/dist/graph/index.d.ts.map +1 -0
  177. package/dist/graph/index.js +31 -0
  178. package/dist/graph/index.js.map +1 -0
  179. package/dist/graph/knowledge-graph.d.ts +57 -0
  180. package/dist/graph/knowledge-graph.d.ts.map +1 -0
  181. package/dist/graph/knowledge-graph.js +198 -0
  182. package/dist/graph/knowledge-graph.js.map +1 -0
  183. package/dist/index.d.ts +29 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +58 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/loaders/base.loader.d.ts +108 -0
  188. package/dist/loaders/base.loader.d.ts.map +1 -0
  189. package/dist/loaders/base.loader.js +123 -0
  190. package/dist/loaders/base.loader.js.map +1 -0
  191. package/dist/loaders/csv-file.loader.d.ts +61 -0
  192. package/dist/loaders/csv-file.loader.d.ts.map +1 -0
  193. package/dist/loaders/csv-file.loader.js +162 -0
  194. package/dist/loaders/csv-file.loader.js.map +1 -0
  195. package/dist/loaders/directory.loader.d.ts +67 -0
  196. package/dist/loaders/directory.loader.d.ts.map +1 -0
  197. package/dist/loaders/directory.loader.js +163 -0
  198. package/dist/loaders/directory.loader.js.map +1 -0
  199. package/dist/loaders/docx.loader.d.ts +52 -0
  200. package/dist/loaders/docx.loader.d.ts.map +1 -0
  201. package/dist/loaders/docx.loader.js +110 -0
  202. package/dist/loaders/docx.loader.js.map +1 -0
  203. package/dist/loaders/github.loader.d.ts +114 -0
  204. package/dist/loaders/github.loader.d.ts.map +1 -0
  205. package/dist/loaders/github.loader.js +217 -0
  206. package/dist/loaders/github.loader.js.map +1 -0
  207. package/dist/loaders/html-file.loader.d.ts +55 -0
  208. package/dist/loaders/html-file.loader.d.ts.map +1 -0
  209. package/dist/loaders/html-file.loader.js +170 -0
  210. package/dist/loaders/html-file.loader.js.map +1 -0
  211. package/dist/loaders/index.d.ts +52 -0
  212. package/dist/loaders/index.d.ts.map +1 -0
  213. package/dist/loaders/index.js +61 -0
  214. package/dist/loaders/index.js.map +1 -0
  215. package/dist/loaders/json-file.loader.d.ts +51 -0
  216. package/dist/loaders/json-file.loader.d.ts.map +1 -0
  217. package/dist/loaders/json-file.loader.js +100 -0
  218. package/dist/loaders/json-file.loader.js.map +1 -0
  219. package/dist/loaders/markdown-file.loader.d.ts +61 -0
  220. package/dist/loaders/markdown-file.loader.d.ts.map +1 -0
  221. package/dist/loaders/markdown-file.loader.js +148 -0
  222. package/dist/loaders/markdown-file.loader.js.map +1 -0
  223. package/dist/loaders/pdf.loader.d.ts +64 -0
  224. package/dist/loaders/pdf.loader.d.ts.map +1 -0
  225. package/dist/loaders/pdf.loader.js +163 -0
  226. package/dist/loaders/pdf.loader.js.map +1 -0
  227. package/dist/loaders/text-file.loader.d.ts +39 -0
  228. package/dist/loaders/text-file.loader.d.ts.map +1 -0
  229. package/dist/loaders/text-file.loader.js +69 -0
  230. package/dist/loaders/text-file.loader.js.map +1 -0
  231. package/dist/loaders/web.loader.d.ts +87 -0
  232. package/dist/loaders/web.loader.d.ts.map +1 -0
  233. package/dist/loaders/web.loader.js +194 -0
  234. package/dist/loaders/web.loader.js.map +1 -0
  235. package/dist/loaders/youtube-transcript.loader.d.ts +92 -0
  236. package/dist/loaders/youtube-transcript.loader.d.ts.map +1 -0
  237. package/dist/loaders/youtube-transcript.loader.js +254 -0
  238. package/dist/loaders/youtube-transcript.loader.js.map +1 -0
  239. package/dist/memory/index.d.ts +11 -0
  240. package/dist/memory/index.d.ts.map +1 -0
  241. package/dist/memory/index.js +31 -0
  242. package/dist/memory/index.js.map +1 -0
  243. package/dist/memory/memory-manager.d.ts +96 -0
  244. package/dist/memory/memory-manager.d.ts.map +1 -0
  245. package/dist/memory/memory-manager.js +369 -0
  246. package/dist/memory/memory-manager.js.map +1 -0
  247. package/dist/memory/memory-store.interface.d.ts +73 -0
  248. package/dist/memory/memory-store.interface.d.ts.map +1 -0
  249. package/dist/memory/memory-store.interface.js +6 -0
  250. package/dist/memory/memory-store.interface.js.map +1 -0
  251. package/dist/memory/stores/buffer-memory.d.ts +47 -0
  252. package/dist/memory/stores/buffer-memory.d.ts.map +1 -0
  253. package/dist/memory/stores/buffer-memory.js +280 -0
  254. package/dist/memory/stores/buffer-memory.js.map +1 -0
  255. package/dist/memory/stores/hybrid-memory.d.ts +49 -0
  256. package/dist/memory/stores/hybrid-memory.d.ts.map +1 -0
  257. package/dist/memory/stores/hybrid-memory.js +194 -0
  258. package/dist/memory/stores/hybrid-memory.js.map +1 -0
  259. package/dist/memory/stores/vector-memory.d.ts +48 -0
  260. package/dist/memory/stores/vector-memory.d.ts.map +1 -0
  261. package/dist/memory/stores/vector-memory.js +312 -0
  262. package/dist/memory/stores/vector-memory.js.map +1 -0
  263. package/dist/memory/types.d.ts +119 -0
  264. package/dist/memory/types.d.ts.map +1 -0
  265. package/dist/memory/types.js +18 -0
  266. package/dist/memory/types.js.map +1 -0
  267. package/dist/prompts/agentic/adaptive-retrieval.prompt.d.ts +8 -0
  268. package/dist/prompts/agentic/adaptive-retrieval.prompt.d.ts.map +1 -0
  269. package/dist/prompts/agentic/adaptive-retrieval.prompt.js +27 -0
  270. package/dist/prompts/agentic/adaptive-retrieval.prompt.js.map +1 -0
  271. package/dist/prompts/agentic/corrective-rag.prompt.d.ts +9 -0
  272. package/dist/prompts/agentic/corrective-rag.prompt.d.ts.map +1 -0
  273. package/dist/prompts/agentic/corrective-rag.prompt.js +23 -0
  274. package/dist/prompts/agentic/corrective-rag.prompt.js.map +1 -0
  275. package/dist/prompts/agentic/hyde.prompt.d.ts +9 -0
  276. package/dist/prompts/agentic/hyde.prompt.d.ts.map +1 -0
  277. package/dist/prompts/agentic/hyde.prompt.js +18 -0
  278. package/dist/prompts/agentic/hyde.prompt.js.map +1 -0
  279. package/dist/prompts/agentic/multi-hop.prompt.d.ts +15 -0
  280. package/dist/prompts/agentic/multi-hop.prompt.d.ts.map +1 -0
  281. package/dist/prompts/agentic/multi-hop.prompt.js +38 -0
  282. package/dist/prompts/agentic/multi-hop.prompt.js.map +1 -0
  283. package/dist/prompts/agentic/query-planner.prompt.d.ts +8 -0
  284. package/dist/prompts/agentic/query-planner.prompt.d.ts.map +1 -0
  285. package/dist/prompts/agentic/query-planner.prompt.js +30 -0
  286. package/dist/prompts/agentic/query-planner.prompt.js.map +1 -0
  287. package/dist/prompts/agentic/query-rewriter.prompt.d.ts +10 -0
  288. package/dist/prompts/agentic/query-rewriter.prompt.d.ts.map +1 -0
  289. package/dist/prompts/agentic/query-rewriter.prompt.js +17 -0
  290. package/dist/prompts/agentic/query-rewriter.prompt.js.map +1 -0
  291. package/dist/prompts/agentic/self-reflective-improve.prompt.d.ts +10 -0
  292. package/dist/prompts/agentic/self-reflective-improve.prompt.d.ts.map +1 -0
  293. package/dist/prompts/agentic/self-reflective-improve.prompt.js +24 -0
  294. package/dist/prompts/agentic/self-reflective-improve.prompt.js.map +1 -0
  295. package/dist/prompts/agentic/self-reflective.prompt.d.ts +9 -0
  296. package/dist/prompts/agentic/self-reflective.prompt.d.ts.map +1 -0
  297. package/dist/prompts/agentic/self-reflective.prompt.js +32 -0
  298. package/dist/prompts/agentic/self-reflective.prompt.js.map +1 -0
  299. package/dist/prompts/community-summary.prompt.d.ts +9 -0
  300. package/dist/prompts/community-summary.prompt.d.ts.map +1 -0
  301. package/dist/prompts/community-summary.prompt.js +30 -0
  302. package/dist/prompts/community-summary.prompt.js.map +1 -0
  303. package/dist/prompts/entity-extraction.prompt.d.ts +10 -0
  304. package/dist/prompts/entity-extraction.prompt.d.ts.map +1 -0
  305. package/dist/prompts/entity-extraction.prompt.js +39 -0
  306. package/dist/prompts/entity-extraction.prompt.js.map +1 -0
  307. package/dist/prompts/graph-search.prompt.d.ts +10 -0
  308. package/dist/prompts/graph-search.prompt.d.ts.map +1 -0
  309. package/dist/prompts/graph-search.prompt.js +23 -0
  310. package/dist/prompts/graph-search.prompt.js.map +1 -0
  311. package/dist/prompts/index.d.ts +13 -0
  312. package/dist/prompts/index.d.ts.map +1 -0
  313. package/dist/prompts/index.js +29 -0
  314. package/dist/prompts/index.js.map +1 -0
  315. package/dist/prompts/rag-answer.prompt.d.ts +9 -0
  316. package/dist/prompts/rag-answer.prompt.d.ts.map +1 -0
  317. package/dist/prompts/rag-answer.prompt.js +20 -0
  318. package/dist/prompts/rag-answer.prompt.js.map +1 -0
  319. package/dist/rag-pipeline-with-memory.d.ts +68 -0
  320. package/dist/rag-pipeline-with-memory.d.ts.map +1 -0
  321. package/dist/rag-pipeline-with-memory.js +186 -0
  322. package/dist/rag-pipeline-with-memory.js.map +1 -0
  323. package/dist/rag-pipeline.d.ts +59 -0
  324. package/dist/rag-pipeline.d.ts.map +1 -0
  325. package/dist/rag-pipeline.js +181 -0
  326. package/dist/rag-pipeline.js.map +1 -0
  327. package/dist/rag.module.d.ts +26 -0
  328. package/dist/rag.module.d.ts.map +1 -0
  329. package/dist/rag.module.js +40 -0
  330. package/dist/rag.module.js.map +1 -0
  331. package/dist/rag.service.d.ts +96 -0
  332. package/dist/rag.service.d.ts.map +1 -0
  333. package/dist/rag.service.js +173 -0
  334. package/dist/rag.service.js.map +1 -0
  335. package/dist/retrieval/bm25.d.ts +57 -0
  336. package/dist/retrieval/bm25.d.ts.map +1 -0
  337. package/dist/retrieval/bm25.js +106 -0
  338. package/dist/retrieval/bm25.js.map +1 -0
  339. package/dist/retrieval/hybrid-search.d.ts +48 -0
  340. package/dist/retrieval/hybrid-search.d.ts.map +1 -0
  341. package/dist/retrieval/hybrid-search.js +123 -0
  342. package/dist/retrieval/hybrid-search.js.map +1 -0
  343. package/dist/retrieval/multi-query.d.ts +38 -0
  344. package/dist/retrieval/multi-query.d.ts.map +1 -0
  345. package/dist/retrieval/multi-query.js +135 -0
  346. package/dist/retrieval/multi-query.js.map +1 -0
  347. package/dist/text-splitters/recursive-text-splitter.d.ts +21 -0
  348. package/dist/text-splitters/recursive-text-splitter.d.ts.map +1 -0
  349. package/dist/text-splitters/recursive-text-splitter.js +95 -0
  350. package/dist/text-splitters/recursive-text-splitter.js.map +1 -0
  351. package/dist/types/index.d.ts +144 -0
  352. package/dist/types/index.d.ts.map +1 -0
  353. package/dist/types/index.js +16 -0
  354. package/dist/types/index.js.map +1 -0
  355. package/dist/utils/similarity.d.ts +16 -0
  356. package/dist/utils/similarity.d.ts.map +1 -0
  357. package/dist/utils/similarity.js +58 -0
  358. package/dist/utils/similarity.js.map +1 -0
  359. package/dist/vector-stores/chroma.store.d.ts +42 -0
  360. package/dist/vector-stores/chroma.store.d.ts.map +1 -0
  361. package/dist/vector-stores/chroma.store.js +242 -0
  362. package/dist/vector-stores/chroma.store.js.map +1 -0
  363. package/dist/vector-stores/memory-vector-store.d.ts +20 -0
  364. package/dist/vector-stores/memory-vector-store.d.ts.map +1 -0
  365. package/dist/vector-stores/memory-vector-store.js +94 -0
  366. package/dist/vector-stores/memory-vector-store.js.map +1 -0
  367. package/dist/vector-stores/pinecone.store.d.ts +34 -0
  368. package/dist/vector-stores/pinecone.store.d.ts.map +1 -0
  369. package/dist/vector-stores/pinecone.store.js +146 -0
  370. package/dist/vector-stores/pinecone.store.js.map +1 -0
  371. package/dist/vector-stores/qdrant.store.d.ts +33 -0
  372. package/dist/vector-stores/qdrant.store.d.ts.map +1 -0
  373. package/dist/vector-stores/qdrant.store.js +174 -0
  374. package/dist/vector-stores/qdrant.store.js.map +1 -0
  375. package/dist/vector-stores/weaviate.store.d.ts +37 -0
  376. package/dist/vector-stores/weaviate.store.d.ts.map +1 -0
  377. package/dist/vector-stores/weaviate.store.js +226 -0
  378. package/dist/vector-stores/weaviate.store.js.map +1 -0
  379. package/package.json +146 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * @Embeddable Decorator
4
+ * Automatically generates embeddings for entity fields
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Embeddable = Embeddable;
8
+ exports.getEmbeddableMetadata = getEmbeddableMetadata;
9
+ exports.VectorColumn = VectorColumn;
10
+ exports.getVectorColumns = getVectorColumns;
11
+ require("reflect-metadata");
12
+ const EMBEDDABLE_METADATA_KEY = Symbol('embeddable');
13
+ /**
14
+ * Marks an entity as embeddable with automatic embedding generation
15
+ */
16
+ function Embeddable(options) {
17
+ return ((target) => {
18
+ Reflect.defineMetadata(EMBEDDABLE_METADATA_KEY, options, target);
19
+ return target;
20
+ });
21
+ }
22
+ /**
23
+ * Get embeddable metadata from a class
24
+ */
25
+ function getEmbeddableMetadata(target) {
26
+ return Reflect.getMetadata(EMBEDDABLE_METADATA_KEY, target);
27
+ }
28
+ /**
29
+ * Marks a property as a vector column for storing embeddings
30
+ */
31
+ function VectorColumn() {
32
+ return (target, propertyKey) => {
33
+ const vectorColumns = Reflect.getMetadata('vectorColumns', target.constructor) || [];
34
+ vectorColumns.push(propertyKey);
35
+ Reflect.defineMetadata('vectorColumns', vectorColumns, target.constructor);
36
+ };
37
+ }
38
+ /**
39
+ * Get vector column metadata
40
+ */
41
+ function getVectorColumns(target) {
42
+ return Reflect.getMetadata('vectorColumns', target) || [];
43
+ }
44
+ //# sourceMappingURL=embeddable.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddable.decorator.js","sourceRoot":"","sources":["../../src/decorators/embeddable.decorator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAmBH,gCAKC;AAKD,sDAEC;AAKD,oCAMC;AAKD,4CAEC;AA/CD,4BAA0B;AAY1B,MAAM,uBAAuB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAErD;;GAEG;AACH,SAAgB,UAAU,CAAC,OAA0B;IACnD,OAAO,CAAC,CAAC,MAAuB,EAAE,EAAE;QAClC,OAAO,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAmB,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,MAAuB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACrF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,MAAuB;IACtD,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @RAG Module Decorator
3
+ * Configure RAG at module level
4
+ */
5
+ import 'reflect-metadata';
6
+ type NewableFunction = new (...args: unknown[]) => unknown;
7
+ export interface RAGModuleOptions {
8
+ vectorDB?: 'pinecone' | 'weaviate' | 'qdrant' | 'chroma' | 'milvus' | 'pgvector' | 'redis' | 'memory';
9
+ embeddingModel?: string;
10
+ chunkSize?: number;
11
+ chunkOverlap?: number;
12
+ indexName?: string;
13
+ apiKey?: string;
14
+ endpoint?: string;
15
+ namespace?: string;
16
+ }
17
+ export interface ConversationalRAGOptions {
18
+ memoryType?: 'buffer' | 'summary' | 'window';
19
+ maxTokens?: number;
20
+ sessionStore?: 'memory' | 'redis' | 'database';
21
+ }
22
+ export interface MultiModalEmbeddingOptions {
23
+ models?: {
24
+ text?: string;
25
+ image?: string;
26
+ code?: string;
27
+ };
28
+ }
29
+ /**
30
+ * Configure RAG for a module
31
+ */
32
+ export declare function RAG(options: RAGModuleOptions): ClassDecorator;
33
+ /**
34
+ * Get RAG module configuration
35
+ */
36
+ export declare function getRAGConfig(target: NewableFunction): RAGModuleOptions | undefined;
37
+ /**
38
+ * Configure conversational RAG with memory
39
+ */
40
+ export declare function ConversationalRAG(options: ConversationalRAGOptions): ClassDecorator;
41
+ /**
42
+ * Configure multi-modal embeddings
43
+ */
44
+ export declare function MultiModalEmbedding(options: MultiModalEmbeddingOptions): ClassDecorator;
45
+ /**
46
+ * Embed image decorator
47
+ */
48
+ export declare function EmbedImage(): MethodDecorator;
49
+ /**
50
+ * Embed code decorator
51
+ */
52
+ export declare function EmbedCode(): MethodDecorator;
53
+ /**
54
+ * Cross-modal search decorator
55
+ */
56
+ export declare function CrossModalSearch(): MethodDecorator;
57
+ export {};
58
+ //# sourceMappingURL=rag.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/rag.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,KAAK,eAAe,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EACL,UAAU,GACV,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,QAAQ,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;CAChD;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAMD;;GAEG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAK7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,SAAS,CAElF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,cAAc,CAKnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,cAAc,CAKvF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAK5C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,eAAe,CAK3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAKlD"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * @RAG Module Decorator
4
+ * Configure RAG at module level
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.RAG = RAG;
8
+ exports.getRAGConfig = getRAGConfig;
9
+ exports.ConversationalRAG = ConversationalRAG;
10
+ exports.MultiModalEmbedding = MultiModalEmbedding;
11
+ exports.EmbedImage = EmbedImage;
12
+ exports.EmbedCode = EmbedCode;
13
+ exports.CrossModalSearch = CrossModalSearch;
14
+ require("reflect-metadata");
15
+ const RAG_MODULE_KEY = Symbol('ragModule');
16
+ const CONVERSATIONAL_RAG_KEY = Symbol('conversationalRAG');
17
+ const MULTIMODAL_EMBEDDING_KEY = Symbol('multiModalEmbedding');
18
+ /**
19
+ * Configure RAG for a module
20
+ */
21
+ function RAG(options) {
22
+ return ((target) => {
23
+ Reflect.defineMetadata(RAG_MODULE_KEY, options, target);
24
+ return target;
25
+ });
26
+ }
27
+ /**
28
+ * Get RAG module configuration
29
+ */
30
+ function getRAGConfig(target) {
31
+ return Reflect.getMetadata(RAG_MODULE_KEY, target);
32
+ }
33
+ /**
34
+ * Configure conversational RAG with memory
35
+ */
36
+ function ConversationalRAG(options) {
37
+ return ((target) => {
38
+ Reflect.defineMetadata(CONVERSATIONAL_RAG_KEY, options, target);
39
+ return target;
40
+ });
41
+ }
42
+ /**
43
+ * Configure multi-modal embeddings
44
+ */
45
+ function MultiModalEmbedding(options) {
46
+ return ((target) => {
47
+ Reflect.defineMetadata(MULTIMODAL_EMBEDDING_KEY, options, target);
48
+ return target;
49
+ });
50
+ }
51
+ /**
52
+ * Embed image decorator
53
+ */
54
+ function EmbedImage() {
55
+ return (target, propertyKey, descriptor) => {
56
+ Reflect.defineMetadata('embedImage', true, target, propertyKey);
57
+ return descriptor;
58
+ };
59
+ }
60
+ /**
61
+ * Embed code decorator
62
+ */
63
+ function EmbedCode() {
64
+ return (target, propertyKey, descriptor) => {
65
+ Reflect.defineMetadata('embedCode', true, target, propertyKey);
66
+ return descriptor;
67
+ };
68
+ }
69
+ /**
70
+ * Cross-modal search decorator
71
+ */
72
+ function CrossModalSearch() {
73
+ return (target, propertyKey, descriptor) => {
74
+ Reflect.defineMetadata('crossModalSearch', true, target, propertyKey);
75
+ return descriptor;
76
+ };
77
+ }
78
+ //# sourceMappingURL=rag.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.decorator.js","sourceRoot":"","sources":["../../src/decorators/rag.decorator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA8CH,kBAKC;AAKD,oCAEC;AAKD,8CAKC;AAKD,kDAKC;AAKD,gCAKC;AAKD,8BAKC;AAKD,4CAKC;AA1GD,4BAA0B;AAqC1B,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC3C,MAAM,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC3D,MAAM,wBAAwB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE/D;;GAEG;AACH,SAAgB,GAAG,CAAC,OAAyB;IAC3C,OAAO,CAAC,CAAC,MAAuB,EAAE,EAAE;QAClC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAmB,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,MAAuB;IAClD,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAAiC;IACjE,OAAO,CAAC,CAAC,MAAuB,EAAE,EAAE;QAClC,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAmB,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,OAAmC;IACrE,OAAO,CAAC,CAAC,MAAuB,EAAE,EAAE;QAClC,OAAO,CAAC,cAAc,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAmB,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACtF,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACtF,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACtF,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Semantic Search Decorators
3
+ * Enable semantic search capabilities on methods
4
+ */
5
+ import 'reflect-metadata';
6
+ export interface SemanticSearchOptions {
7
+ topK?: number;
8
+ minScore?: number;
9
+ includeMetadata?: boolean;
10
+ filter?: Record<string, unknown>;
11
+ }
12
+ export interface HybridSearchOptions extends SemanticSearchOptions {
13
+ vectorWeight?: number;
14
+ keywordWeight?: number;
15
+ algorithm?: 'rrf' | 'weighted' | 'linear';
16
+ }
17
+ /**
18
+ * Enables semantic search on a method
19
+ */
20
+ export declare function SemanticSearch(options?: SemanticSearchOptions): MethodDecorator;
21
+ /**
22
+ * Enables hybrid search (vector + keyword) on a method
23
+ */
24
+ export declare function HybridSearch(options?: HybridSearchOptions): MethodDecorator;
25
+ /**
26
+ * Auto-embed decorator for automatic embedding generation
27
+ */
28
+ export declare function AutoEmbed(_fields?: string[]): MethodDecorator;
29
+ /**
30
+ * Multi-query RAG decorator
31
+ */
32
+ export declare function MultiQueryRAG(options?: {
33
+ queries?: number;
34
+ }): MethodDecorator;
35
+ /**
36
+ * Compress context decorator
37
+ */
38
+ export declare function CompressContext(options?: {
39
+ maxTokens?: number;
40
+ }): MethodDecorator;
41
+ /**
42
+ * Self-query RAG with automatic metadata filtering
43
+ */
44
+ export declare function SelfQueryRAG(): MethodDecorator;
45
+ /**
46
+ * Rerank results decorator
47
+ */
48
+ export declare function Rerank(options?: {
49
+ model?: string;
50
+ topN?: number;
51
+ }): MethodDecorator;
52
+ /**
53
+ * Parent-child document retrieval
54
+ */
55
+ export declare function ParentChildRetrieval(): MethodDecorator;
56
+ /**
57
+ * Ensemble retrieval combining multiple methods
58
+ */
59
+ export declare function EnsembleRetrieval(options?: {
60
+ methods?: string[];
61
+ weights?: number[];
62
+ }): MethodDecorator;
63
+ /**
64
+ * Time-weighted retrieval favoring recent documents
65
+ */
66
+ export declare function TimeWeightedRetrieval(options?: {
67
+ decayRate?: number;
68
+ }): MethodDecorator;
69
+ //# sourceMappingURL=semantic-search.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-search.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/semantic-search.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC3C;AAKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,eAAe,CAKnF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAK/E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,CAe7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAKjF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAKrF;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,eAAe,CAK9C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAKvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAKtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACf,GACL,eAAe,CAKjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAK3F"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Semantic Search Decorators
4
+ * Enable semantic search capabilities on methods
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SemanticSearch = SemanticSearch;
8
+ exports.HybridSearch = HybridSearch;
9
+ exports.AutoEmbed = AutoEmbed;
10
+ exports.MultiQueryRAG = MultiQueryRAG;
11
+ exports.CompressContext = CompressContext;
12
+ exports.SelfQueryRAG = SelfQueryRAG;
13
+ exports.Rerank = Rerank;
14
+ exports.ParentChildRetrieval = ParentChildRetrieval;
15
+ exports.EnsembleRetrieval = EnsembleRetrieval;
16
+ exports.TimeWeightedRetrieval = TimeWeightedRetrieval;
17
+ require("reflect-metadata");
18
+ const SEMANTIC_SEARCH_KEY = Symbol('semanticSearch');
19
+ const HYBRID_SEARCH_KEY = Symbol('hybridSearch');
20
+ /**
21
+ * Enables semantic search on a method
22
+ */
23
+ function SemanticSearch(options = {}) {
24
+ return (target, propertyKey, descriptor) => {
25
+ Reflect.defineMetadata(SEMANTIC_SEARCH_KEY, options, target, propertyKey);
26
+ return descriptor;
27
+ };
28
+ }
29
+ /**
30
+ * Enables hybrid search (vector + keyword) on a method
31
+ */
32
+ function HybridSearch(options = {}) {
33
+ return (target, propertyKey, descriptor) => {
34
+ Reflect.defineMetadata(HYBRID_SEARCH_KEY, options, target, propertyKey);
35
+ return descriptor;
36
+ };
37
+ }
38
+ /**
39
+ * Auto-embed decorator for automatic embedding generation
40
+ */
41
+ function AutoEmbed(_fields) {
42
+ return (target, propertyKey, descriptor) => {
43
+ const originalMethod = descriptor.value;
44
+ descriptor.value = async function (...args) {
45
+ const result = await originalMethod.apply(this, args);
46
+ // TODO: Implement automatic embedding generation
47
+ // This would integrate with the RAG service to generate embeddings
48
+ return result;
49
+ };
50
+ return descriptor;
51
+ };
52
+ }
53
+ /**
54
+ * Multi-query RAG decorator
55
+ */
56
+ function MultiQueryRAG(options = {}) {
57
+ return (target, propertyKey, descriptor) => {
58
+ Reflect.defineMetadata('multiQueryRAG', options, target, propertyKey);
59
+ return descriptor;
60
+ };
61
+ }
62
+ /**
63
+ * Compress context decorator
64
+ */
65
+ function CompressContext(options = {}) {
66
+ return (target, propertyKey, descriptor) => {
67
+ Reflect.defineMetadata('compressContext', options, target, propertyKey);
68
+ return descriptor;
69
+ };
70
+ }
71
+ /**
72
+ * Self-query RAG with automatic metadata filtering
73
+ */
74
+ function SelfQueryRAG() {
75
+ return (target, propertyKey, descriptor) => {
76
+ Reflect.defineMetadata('selfQueryRAG', true, target, propertyKey);
77
+ return descriptor;
78
+ };
79
+ }
80
+ /**
81
+ * Rerank results decorator
82
+ */
83
+ function Rerank(options = {}) {
84
+ return (target, propertyKey, descriptor) => {
85
+ Reflect.defineMetadata('rerank', options, target, propertyKey);
86
+ return descriptor;
87
+ };
88
+ }
89
+ /**
90
+ * Parent-child document retrieval
91
+ */
92
+ function ParentChildRetrieval() {
93
+ return (target, propertyKey, descriptor) => {
94
+ Reflect.defineMetadata('parentChildRetrieval', true, target, propertyKey);
95
+ return descriptor;
96
+ };
97
+ }
98
+ /**
99
+ * Ensemble retrieval combining multiple methods
100
+ */
101
+ function EnsembleRetrieval(options = {}) {
102
+ return (target, propertyKey, descriptor) => {
103
+ Reflect.defineMetadata('ensembleRetrieval', options, target, propertyKey);
104
+ return descriptor;
105
+ };
106
+ }
107
+ /**
108
+ * Time-weighted retrieval favoring recent documents
109
+ */
110
+ function TimeWeightedRetrieval(options = {}) {
111
+ return (target, propertyKey, descriptor) => {
112
+ Reflect.defineMetadata('timeWeightedRetrieval', options, target, propertyKey);
113
+ return descriptor;
114
+ };
115
+ }
116
+ //# sourceMappingURL=semantic-search.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-search.decorator.js","sourceRoot":"","sources":["../../src/decorators/semantic-search.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Cohere Embeddings Provider
3
+ * High-quality embeddings with multilingual support
4
+ */
5
+ import { EmbeddingProvider } from '../types';
6
+ export interface CohereEmbeddingsConfig {
7
+ apiKey: string;
8
+ model?: string;
9
+ inputType?: 'search_document' | 'search_query' | 'classification' | 'clustering';
10
+ truncate?: 'NONE' | 'START' | 'END';
11
+ batchSize?: number;
12
+ }
13
+ export declare class CohereEmbeddings implements EmbeddingProvider {
14
+ private client;
15
+ private model;
16
+ private inputType;
17
+ private truncate;
18
+ private batchSize;
19
+ private dimension;
20
+ constructor(config: CohereEmbeddingsConfig);
21
+ embed(text: string): Promise<number[]>;
22
+ embedBatch(texts: string[]): Promise<number[][]>;
23
+ getDimension(): number;
24
+ /**
25
+ * Get embedding dimension for a given model
26
+ */
27
+ private getModelDimension;
28
+ /**
29
+ * Create embeddings for search queries (optimized input type)
30
+ */
31
+ embedQuery(query: string): Promise<number[]>;
32
+ }
33
+ //# sourceMappingURL=cohere-embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere-embeddings.d.ts","sourceRoot":"","sources":["../../src/embeddings/cohere-embeddings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAQ7C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,iBAAiB,GAAG,cAAc,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACjF,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,sBAAsB;IAapC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAetC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAwBtD,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAcnD"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Cohere Embeddings Provider
4
+ * High-quality embeddings with multilingual support
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.CohereEmbeddings = void 0;
8
+ class CohereEmbeddings {
9
+ constructor(config) {
10
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
11
+ const { CohereClient } = require('cohere-ai');
12
+ this.client = new CohereClient({ token: config.apiKey });
13
+ this.model = config.model || 'embed-english-v3.0';
14
+ this.inputType = config.inputType || 'search_document';
15
+ this.truncate = config.truncate || 'END';
16
+ this.batchSize = config.batchSize || 96;
17
+ // Set dimension based on model
18
+ this.dimension = this.getModelDimension(this.model);
19
+ }
20
+ async embed(text) {
21
+ try {
22
+ const response = await this.client.embed({
23
+ texts: [text],
24
+ model: this.model,
25
+ inputType: this.inputType,
26
+ truncate: this.truncate,
27
+ });
28
+ return response.embeddings[0];
29
+ }
30
+ catch (error) {
31
+ throw new Error(`Failed to generate Cohere embedding: ${error}`);
32
+ }
33
+ }
34
+ async embedBatch(texts) {
35
+ const embeddings = [];
36
+ // Process in batches
37
+ for (let i = 0; i < texts.length; i += this.batchSize) {
38
+ const batch = texts.slice(i, i + this.batchSize);
39
+ try {
40
+ const response = await this.client.embed({
41
+ texts: batch,
42
+ model: this.model,
43
+ inputType: this.inputType,
44
+ truncate: this.truncate,
45
+ });
46
+ embeddings.push(...response.embeddings);
47
+ }
48
+ catch (error) {
49
+ throw new Error(`Failed to generate Cohere batch embeddings: ${error}`);
50
+ }
51
+ }
52
+ return embeddings;
53
+ }
54
+ getDimension() {
55
+ return this.dimension;
56
+ }
57
+ /**
58
+ * Get embedding dimension for a given model
59
+ */
60
+ getModelDimension(model) {
61
+ const dimensions = {
62
+ 'embed-english-v3.0': 1024,
63
+ 'embed-english-light-v3.0': 384,
64
+ 'embed-multilingual-v3.0': 1024,
65
+ 'embed-multilingual-light-v3.0': 384,
66
+ 'embed-english-v2.0': 4096,
67
+ 'embed-english-light-v2.0': 1024,
68
+ 'embed-multilingual-v2.0': 768,
69
+ };
70
+ return dimensions[model] || 1024;
71
+ }
72
+ /**
73
+ * Create embeddings for search queries (optimized input type)
74
+ */
75
+ async embedQuery(query) {
76
+ try {
77
+ const response = await this.client.embed({
78
+ texts: [query],
79
+ model: this.model,
80
+ inputType: 'search_query',
81
+ truncate: this.truncate,
82
+ });
83
+ return response.embeddings[0];
84
+ }
85
+ catch (error) {
86
+ throw new Error(`Failed to generate Cohere query embedding: ${error}`);
87
+ }
88
+ }
89
+ }
90
+ exports.CohereEmbeddings = CohereEmbeddings;
91
+ //# sourceMappingURL=cohere-embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere-embeddings.js","sourceRoot":"","sources":["../../src/embeddings/cohere-embeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * OpenAI Embeddings Provider
3
+ */
4
+ import { EmbeddingProvider } from '../types';
5
+ export interface OpenAIEmbeddingsConfig {
6
+ apiKey: string;
7
+ model?: string;
8
+ dimensions?: number;
9
+ batchSize?: number;
10
+ }
11
+ export declare class OpenAIEmbeddings implements EmbeddingProvider {
12
+ private client;
13
+ private model;
14
+ private dimensions;
15
+ private batchSize;
16
+ constructor(config: OpenAIEmbeddingsConfig);
17
+ embed(text: string): Promise<number[]>;
18
+ embedBatch(texts: string[]): Promise<number[][]>;
19
+ getDimension(): number;
20
+ }
21
+ //# sourceMappingURL=openai-embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-embeddings.d.ts","sourceRoot":"","sources":["../../src/embeddings/openai-embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,sBAAsB;IASpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IActC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAuBtD,YAAY,IAAI,MAAM;CAGvB"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * OpenAI Embeddings Provider
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OpenAIEmbeddings = void 0;
7
+ class OpenAIEmbeddings {
8
+ constructor(config) {
9
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
10
+ const { OpenAI: OpenAIClass } = require('openai');
11
+ this.client = new OpenAIClass({ apiKey: config.apiKey });
12
+ this.model = config.model || 'text-embedding-3-small';
13
+ this.dimensions = config.dimensions || 1536;
14
+ this.batchSize = config.batchSize || 100;
15
+ }
16
+ async embed(text) {
17
+ try {
18
+ const response = await this.client.embeddings.create({
19
+ model: this.model,
20
+ input: text,
21
+ dimensions: this.dimensions,
22
+ });
23
+ return response.data[0].embedding;
24
+ }
25
+ catch (error) {
26
+ throw new Error(`Failed to generate embedding: ${error}`);
27
+ }
28
+ }
29
+ async embedBatch(texts) {
30
+ const embeddings = [];
31
+ // Process in batches
32
+ for (let i = 0; i < texts.length; i += this.batchSize) {
33
+ const batch = texts.slice(i, i + this.batchSize);
34
+ try {
35
+ const response = await this.client.embeddings.create({
36
+ model: this.model,
37
+ input: batch,
38
+ dimensions: this.dimensions,
39
+ });
40
+ embeddings.push(...response.data.map((item) => item.embedding));
41
+ }
42
+ catch (error) {
43
+ throw new Error(`Failed to generate batch embeddings: ${error}`);
44
+ }
45
+ }
46
+ return embeddings;
47
+ }
48
+ getDimension() {
49
+ return this.dimensions;
50
+ }
51
+ }
52
+ exports.OpenAIEmbeddings = OpenAIEmbeddings;
53
+ //# sourceMappingURL=openai-embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-embeddings.js","sourceRoot":"","sources":["../../src/embeddings/openai-embeddings.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAeH,MAAa,gBAAgB;IAM3B,YAAY,MAA8B;QACxC,iEAAiE;QACjE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,wBAAwB,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;oBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAvDD,4CAuDC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * CommunityDetector
3
+ *
4
+ * Detects communities (clusters of closely-related entities) in the knowledge
5
+ * graph using the **Label Propagation Algorithm (LPA)**.
6
+ *
7
+ * Why LPA?
8
+ * - O(V + E) per iteration → scales well to thousands of entities
9
+ * - No parameters to tune (unlike Louvain's resolution parameter)
10
+ * - Converges in ~5–10 iterations for most real-world graphs
11
+ *
12
+ * Algorithm:
13
+ * 1. Assign each entity its own unique community label.
14
+ * 2. Shuffle entity iteration order (breaks symmetry for better convergence).
15
+ * 3. Each entity adopts the most frequent label among its neighbours,
16
+ * weighted by relationship strength.
17
+ * 4. Repeat until labels stabilise or max iterations reached.
18
+ * 5. Groups entities that share the same label into communities.
19
+ *
20
+ * Large-community splitting:
21
+ * If a community exceeds `maxCommunitySize`, it is recursively split by
22
+ * running LPA on the sub-graph of its members only.
23
+ */
24
+ import type { GraphCommunity } from './graph.types';
25
+ import type { GraphStore } from './knowledge-graph';
26
+ export interface CommunityDetectorConfig {
27
+ maxIterations?: number;
28
+ maxCommunitySize?: number;
29
+ }
30
+ export declare class CommunityDetector {
31
+ private readonly maxIterations;
32
+ private readonly maxCommunitySize;
33
+ constructor(config?: CommunityDetectorConfig);
34
+ /**
35
+ * Run community detection on the full graph.
36
+ * Returns a flat list of GraphCommunity objects (level 0 = leaf communities).
37
+ */
38
+ detect(graph: GraphStore): GraphCommunity[];
39
+ private buildWeightedAdjacency;
40
+ private runLPA;
41
+ private groupByLabel;
42
+ private splitOversized;
43
+ private shuffle;
44
+ }
45
+ //# sourceMappingURL=community-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"community-detector.d.ts","sourceRoot":"","sources":["../../src/graph/community-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,MAAM,GAAE,uBAA4B;IAKhD;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,EAAE;IAsB3C,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,MAAM;IA8Cd,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,OAAO;CAOhB"}