@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,186 @@
1
+ /**
2
+ * GraphRAG Types
3
+ *
4
+ * GraphRAG (Graph Retrieval-Augmented Generation) extends traditional vector
5
+ * search by building a knowledge graph of entities and relationships extracted
6
+ * from documents. This enables two retrieval modes that outperform flat cosine
7
+ * similarity:
8
+ *
9
+ * - Local search — entity-centric; great for specific "who/what/how" questions
10
+ * - Global search — community-centric; great for broad thematic questions that
11
+ * span the entire corpus
12
+ *
13
+ * Architecture (mirrors Microsoft Research GraphRAG paper):
14
+ * Documents → Text Chunks → Entity/Relationship Extraction (LLM)
15
+ * → KnowledgeGraph → Community Detection (LPA)
16
+ * → Community Reports (LLM) → Retrieval → Answer
17
+ */
18
+ export type EntityType = 'CONCEPT' | 'TECHNOLOGY' | 'PERSON' | 'ORGANIZATION' | 'PROCESS' | 'FEATURE' | 'EVENT' | 'LOCATION' | 'OTHER';
19
+ export interface GraphEntity {
20
+ id: string;
21
+ /** Canonical name used for deduplication and matching. */
22
+ name: string;
23
+ type: EntityType;
24
+ description: string;
25
+ /** IDs of source documents this entity was extracted from. */
26
+ sourceDocIds: string[];
27
+ /** Optional embedding of `name + description` for similarity-based entity linking. */
28
+ embedding?: number[];
29
+ metadata?: Record<string, unknown>;
30
+ }
31
+ export type RelationshipType = 'USES' | 'IMPLEMENTS' | 'CREATED_BY' | 'PART_OF' | 'DEPENDS_ON' | 'RELATED_TO' | 'EXTENDS' | 'CONFIGURES' | 'TRIGGERS' | 'PRODUCES' | 'REPLACES' | 'OTHER';
32
+ export interface GraphRelationship {
33
+ id: string;
34
+ /** Source entity id. */
35
+ sourceId: string;
36
+ /** Target entity id. */
37
+ targetId: string;
38
+ type: RelationshipType;
39
+ description: string;
40
+ /** Importance weight 1–10 assigned by the LLM extractor. */
41
+ weight: number;
42
+ sourceDocIds: string[];
43
+ }
44
+ export interface GraphCommunity {
45
+ id: string;
46
+ /** Entity IDs belonging to this community. */
47
+ entityIds: string[];
48
+ /**
49
+ * Hierarchical level (0 = leaf, higher = more coarse-grained).
50
+ * Level 0 communities are used for local search; higher levels for global.
51
+ */
52
+ level: number;
53
+ }
54
+ export interface CommunityReport {
55
+ communityId: string;
56
+ /** One-line title summarising the community's theme. */
57
+ title: string;
58
+ /** 2–4 paragraph narrative summary generated by the LLM. */
59
+ summary: string;
60
+ /** Key findings / bullet points extracted by the LLM. */
61
+ findings: string[];
62
+ /** LLM-assigned importance score 1–10. */
63
+ rating: number;
64
+ entityIds: string[];
65
+ }
66
+ export interface KnowledgeGraph {
67
+ entities: Map<string, GraphEntity>;
68
+ relationships: Map<string, GraphRelationship>;
69
+ /** Adjacency list: entityId → Set<entityId> (undirected for traversal). */
70
+ adjacency: Map<string, Set<string>>;
71
+ communities: GraphCommunity[];
72
+ communityReports: Map<string, CommunityReport>;
73
+ }
74
+ /** Raw extraction result from the LLM for a single text chunk. */
75
+ export interface ExtractionResult {
76
+ entities: Array<{
77
+ name: string;
78
+ type: EntityType;
79
+ description: string;
80
+ }>;
81
+ relationships: Array<{
82
+ source: string;
83
+ target: string;
84
+ type: RelationshipType;
85
+ description: string;
86
+ weight: number;
87
+ }>;
88
+ }
89
+ export interface GraphRAGConfig {
90
+ /**
91
+ * Function to call the LLM for extraction and summarisation.
92
+ * Signature: (prompt: string) => Promise<string>
93
+ */
94
+ llm: (prompt: string) => Promise<string>;
95
+ /**
96
+ * Optional embedding provider for entity-similarity linking.
97
+ * When provided, near-duplicate entities (e.g. "HazelJS" / "Hazel Framework")
98
+ * are merged before graph construction.
99
+ */
100
+ embeddings?: {
101
+ embed(text: string): Promise<number[]>;
102
+ };
103
+ /**
104
+ * Max text length sent to the LLM in a single extraction call.
105
+ * Shorter = cheaper; longer = fewer API calls but may miss details.
106
+ * Default: 2000 characters.
107
+ */
108
+ extractionChunkSize?: number;
109
+ /**
110
+ * Number of LPA (Label Propagation Algorithm) iterations for community detection.
111
+ * Default: 10.
112
+ */
113
+ communityIterations?: number;
114
+ /**
115
+ * Whether to generate LLM community reports (costs tokens).
116
+ * Default: true.
117
+ */
118
+ generateCommunityReports?: boolean;
119
+ /**
120
+ * Maximum community size before splitting into sub-communities.
121
+ * Default: 10.
122
+ */
123
+ maxCommunitySize?: number;
124
+ /**
125
+ * Number of graph hops to traverse during local search.
126
+ * Default: 2.
127
+ */
128
+ localSearchDepth?: number;
129
+ /**
130
+ * Top-K entities to seed local search from.
131
+ * Default: 5.
132
+ */
133
+ localSearchTopK?: number;
134
+ /**
135
+ * Top-K community reports to include in global search context.
136
+ * Default: 5.
137
+ */
138
+ globalSearchTopK?: number;
139
+ }
140
+ export type GraphSearchMode = 'local' | 'global' | 'hybrid';
141
+ export interface GraphSearchOptions {
142
+ mode?: GraphSearchMode;
143
+ topK?: number;
144
+ depth?: number;
145
+ /** Include raw entities and relationships in the result. */
146
+ includeGraph?: boolean;
147
+ /** Include community reports in the result. */
148
+ includeCommunities?: boolean;
149
+ }
150
+ export interface GraphSearchResult {
151
+ mode: GraphSearchMode;
152
+ query: string;
153
+ answer: string;
154
+ /** Entities that seeded or appeared during the search. */
155
+ entities: GraphEntity[];
156
+ /** Relationships traversed during local search. */
157
+ relationships: GraphRelationship[];
158
+ /** Community reports used in global/hybrid search. */
159
+ communities: CommunityReport[];
160
+ /** The assembled context string sent to the LLM. */
161
+ context: string;
162
+ duration: number;
163
+ }
164
+ export interface GraphBuildStats {
165
+ documentsProcessed: number;
166
+ entitiesExtracted: number;
167
+ entitiesMerged: number;
168
+ relationshipsExtracted: number;
169
+ communitiesDetected: number;
170
+ communityReportsGenerated: number;
171
+ duration: number;
172
+ }
173
+ export interface GraphStats {
174
+ totalEntities: number;
175
+ totalRelationships: number;
176
+ totalCommunities: number;
177
+ entityTypeBreakdown: Record<string, number>;
178
+ relationshipTypeBreakdown: Record<string, number>;
179
+ avgRelationshipsPerEntity: number;
180
+ topEntities: Array<{
181
+ name: string;
182
+ type: string;
183
+ connections: number;
184
+ }>;
185
+ }
186
+ //# sourceMappingURL=graph.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.types.d.ts","sourceRoot":"","sources":["../../src/graph/graph.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * GraphRAG Types
4
+ *
5
+ * GraphRAG (Graph Retrieval-Augmented Generation) extends traditional vector
6
+ * search by building a knowledge graph of entities and relationships extracted
7
+ * from documents. This enables two retrieval modes that outperform flat cosine
8
+ * similarity:
9
+ *
10
+ * - Local search — entity-centric; great for specific "who/what/how" questions
11
+ * - Global search — community-centric; great for broad thematic questions that
12
+ * span the entire corpus
13
+ *
14
+ * Architecture (mirrors Microsoft Research GraphRAG paper):
15
+ * Documents → Text Chunks → Entity/Relationship Extraction (LLM)
16
+ * → KnowledgeGraph → Community Detection (LPA)
17
+ * → Community Reports (LLM) → Retrieval → Answer
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ //# sourceMappingURL=graph.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.types.js","sourceRoot":"","sources":["../../src/graph/graph.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @hazeljs/rag — GraphRAG
3
+ *
4
+ * Graph-based Retrieval-Augmented Generation.
5
+ * Extends traditional vector search with a knowledge graph of entities and
6
+ * relationships, enabling both entity-centric (local) and thematic (global)
7
+ * retrieval that outperforms flat cosine similarity for complex questions.
8
+ */
9
+ export * from './graph.types';
10
+ export * from './knowledge-graph';
11
+ export * from './entity-extractor';
12
+ export * from './community-detector';
13
+ export * from './community-summarizer';
14
+ export * from './graph-rag-pipeline';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * @hazeljs/rag — GraphRAG
4
+ *
5
+ * Graph-based Retrieval-Augmented Generation.
6
+ * Extends traditional vector search with a knowledge graph of entities and
7
+ * relationships, enabling both entity-centric (local) and thematic (global)
8
+ * retrieval that outperforms flat cosine similarity for complex questions.
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ __exportStar(require("./graph.types"), exports);
26
+ __exportStar(require("./knowledge-graph"), exports);
27
+ __exportStar(require("./entity-extractor"), exports);
28
+ __exportStar(require("./community-detector"), exports);
29
+ __exportStar(require("./community-summarizer"), exports);
30
+ __exportStar(require("./graph-rag-pipeline"), exports);
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,yDAAuC;AACvC,uDAAqC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * KnowledgeGraph
3
+ *
4
+ * In-memory directed graph that stores GraphRAG entities and relationships.
5
+ * Uses Map-based adjacency lists for O(1) neighbour lookup.
6
+ *
7
+ * Key operations:
8
+ * - addEntity / addRelationship — incremental loading
9
+ * - mergeEntity — fold a duplicate entity into an existing one
10
+ * - bfsNeighbours — breadth-first traversal for local context
11
+ * - findEntitiesByName — fuzzy substring + exact matching for query seeding
12
+ * - getStats — live graph metrics
13
+ */
14
+ import type { GraphEntity, GraphRelationship, GraphCommunity, CommunityReport, KnowledgeGraph, GraphStats } from './graph.types';
15
+ export declare class GraphStore implements KnowledgeGraph {
16
+ readonly entities: Map<string, GraphEntity>;
17
+ readonly relationships: Map<string, GraphRelationship>;
18
+ /** Undirected adjacency: entityId → Set<entityId> */
19
+ readonly adjacency: Map<string, Set<string>>;
20
+ communities: GraphCommunity[];
21
+ readonly communityReports: Map<string, CommunityReport>;
22
+ addEntity(entity: GraphEntity): GraphEntity;
23
+ mergeEntity(existingId: string, incoming: Partial<GraphEntity>): GraphEntity;
24
+ /** Look up an entity by exact (case-insensitive) name. */
25
+ findEntityByName(name: string): GraphEntity | undefined;
26
+ /**
27
+ * Fuzzy-match entities whose name contains `query` (case-insensitive).
28
+ * Returns up to `limit` results sorted by name length (exact-ish first).
29
+ */
30
+ findEntitiesByName(query: string, limit?: number): GraphEntity[];
31
+ addRelationship(rel: GraphRelationship): GraphRelationship;
32
+ /** Get all relationships connected to a given entity (as source or target). */
33
+ getEntityRelationships(entityId: string): GraphRelationship[];
34
+ /**
35
+ * Breadth-first search from a set of seed entity IDs.
36
+ * Returns all entities and relationships within `depth` hops,
37
+ * plus the seed entities themselves.
38
+ */
39
+ bfsNeighbours(seedIds: string[], depth?: number): {
40
+ entities: GraphEntity[];
41
+ relationships: GraphRelationship[];
42
+ };
43
+ setCommunities(communities: GraphCommunity[]): void;
44
+ addCommunityReport(report: CommunityReport): void;
45
+ getCommunityForEntity(entityId: string): GraphCommunity | undefined;
46
+ getStats(): GraphStats;
47
+ /** Returns a plain-object snapshot useful for JSON serialisation / API responses. */
48
+ toJSON(): {
49
+ entities: GraphEntity[];
50
+ relationships: GraphRelationship[];
51
+ communities: GraphCommunity[];
52
+ communityReports: CommunityReport[];
53
+ stats: GraphStats;
54
+ };
55
+ clear(): void;
56
+ }
57
+ //# sourceMappingURL=knowledge-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../src/graph/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,cAAc,EACd,UAAU,EACX,MAAM,eAAe,CAAC;AAEvB,qBAAa,UAAW,YAAW,cAAc;IAC/C,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IACxD,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAa;IACnE,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAa;IACzD,WAAW,EAAE,cAAc,EAAE,CAAM;IACnC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IAIpE,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;IAY3C,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW;IAiB5E,0DAA0D;IAC1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAQvD;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,WAAW,EAAE;IAe5D,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB;IAgB1D,+EAA+E;IAC/E,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAY7D;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,SAAI,GACR;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,aAAa,EAAE,iBAAiB,EAAE,CAAA;KAAE;IA0ClE,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI;IAInD,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIjD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAMnE,QAAQ,IAAI,UAAU;IAsCtB,qFAAqF;IACrF,MAAM,IAAI;QACR,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,aAAa,EAAE,iBAAiB,EAAE,CAAC;QACnC,WAAW,EAAE,cAAc,EAAE,CAAC;QAC9B,gBAAgB,EAAE,eAAe,EAAE,CAAC;QACpC,KAAK,EAAE,UAAU,CAAC;KACnB;IAUD,KAAK,IAAI,IAAI;CAOd"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /**
3
+ * KnowledgeGraph
4
+ *
5
+ * In-memory directed graph that stores GraphRAG entities and relationships.
6
+ * Uses Map-based adjacency lists for O(1) neighbour lookup.
7
+ *
8
+ * Key operations:
9
+ * - addEntity / addRelationship — incremental loading
10
+ * - mergeEntity — fold a duplicate entity into an existing one
11
+ * - bfsNeighbours — breadth-first traversal for local context
12
+ * - findEntitiesByName — fuzzy substring + exact matching for query seeding
13
+ * - getStats — live graph metrics
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.GraphStore = void 0;
17
+ class GraphStore {
18
+ constructor() {
19
+ this.entities = new Map();
20
+ this.relationships = new Map();
21
+ /** Undirected adjacency: entityId → Set<entityId> */
22
+ this.adjacency = new Map();
23
+ this.communities = [];
24
+ this.communityReports = new Map();
25
+ }
26
+ // ── Entities ──────────────────────────────────────────────────────────────
27
+ addEntity(entity) {
28
+ const existing = this.entities.get(entity.id);
29
+ if (existing) {
30
+ return this.mergeEntity(entity.id, entity);
31
+ }
32
+ this.entities.set(entity.id, entity);
33
+ if (!this.adjacency.has(entity.id)) {
34
+ this.adjacency.set(entity.id, new Set());
35
+ }
36
+ return entity;
37
+ }
38
+ mergeEntity(existingId, incoming) {
39
+ const existing = this.entities.get(existingId);
40
+ if (!existing)
41
+ throw new Error(`Entity ${existingId} not found`);
42
+ const merged = {
43
+ ...existing,
44
+ description: incoming.description
45
+ ? `${existing.description}. ${incoming.description}`
46
+ : existing.description,
47
+ sourceDocIds: [...new Set([...existing.sourceDocIds, ...(incoming.sourceDocIds ?? [])])],
48
+ metadata: { ...existing.metadata, ...incoming.metadata },
49
+ };
50
+ this.entities.set(existingId, merged);
51
+ return merged;
52
+ }
53
+ /** Look up an entity by exact (case-insensitive) name. */
54
+ findEntityByName(name) {
55
+ const normalized = name.toLowerCase().trim();
56
+ for (const entity of this.entities.values()) {
57
+ if (entity.name.toLowerCase().trim() === normalized)
58
+ return entity;
59
+ }
60
+ return undefined;
61
+ }
62
+ /**
63
+ * Fuzzy-match entities whose name contains `query` (case-insensitive).
64
+ * Returns up to `limit` results sorted by name length (exact-ish first).
65
+ */
66
+ findEntitiesByName(query, limit = 10) {
67
+ const normalized = query.toLowerCase().trim();
68
+ const results = [];
69
+ for (const entity of this.entities.values()) {
70
+ if (entity.name.toLowerCase().includes(normalized)) {
71
+ results.push(entity);
72
+ }
73
+ }
74
+ return results.sort((a, b) => a.name.length - b.name.length).slice(0, limit);
75
+ }
76
+ // ── Relationships ─────────────────────────────────────────────────────────
77
+ addRelationship(rel) {
78
+ this.relationships.set(rel.id, rel);
79
+ // Update undirected adjacency
80
+ const srcAdj = this.adjacency.get(rel.sourceId) ?? new Set();
81
+ const tgtAdj = this.adjacency.get(rel.targetId) ?? new Set();
82
+ srcAdj.add(rel.targetId);
83
+ tgtAdj.add(rel.sourceId);
84
+ this.adjacency.set(rel.sourceId, srcAdj);
85
+ this.adjacency.set(rel.targetId, tgtAdj);
86
+ return rel;
87
+ }
88
+ /** Get all relationships connected to a given entity (as source or target). */
89
+ getEntityRelationships(entityId) {
90
+ const results = [];
91
+ for (const rel of this.relationships.values()) {
92
+ if (rel.sourceId === entityId || rel.targetId === entityId) {
93
+ results.push(rel);
94
+ }
95
+ }
96
+ return results;
97
+ }
98
+ // ── Graph Traversal ───────────────────────────────────────────────────────
99
+ /**
100
+ * Breadth-first search from a set of seed entity IDs.
101
+ * Returns all entities and relationships within `depth` hops,
102
+ * plus the seed entities themselves.
103
+ */
104
+ bfsNeighbours(seedIds, depth = 2) {
105
+ const visitedEntities = new Set(seedIds);
106
+ const visitedRelationships = new Set();
107
+ let frontier = [...seedIds];
108
+ for (let hop = 0; hop < depth; hop++) {
109
+ const nextFrontier = [];
110
+ for (const entityId of frontier) {
111
+ const neighbours = this.adjacency.get(entityId) ?? new Set();
112
+ for (const neighbourId of neighbours) {
113
+ if (!visitedEntities.has(neighbourId)) {
114
+ visitedEntities.add(neighbourId);
115
+ nextFrontier.push(neighbourId);
116
+ }
117
+ }
118
+ }
119
+ frontier = nextFrontier;
120
+ if (frontier.length === 0)
121
+ break;
122
+ }
123
+ // Collect relationships that connect any two visited entities
124
+ for (const rel of this.relationships.values()) {
125
+ if (visitedEntities.has(rel.sourceId) && visitedEntities.has(rel.targetId)) {
126
+ visitedRelationships.add(rel.id);
127
+ }
128
+ }
129
+ const entities = [...visitedEntities]
130
+ .map((id) => this.entities.get(id))
131
+ .filter((e) => e !== undefined);
132
+ const relationships = [...visitedRelationships]
133
+ .map((id) => this.relationships.get(id))
134
+ .filter((r) => r !== undefined);
135
+ return { entities, relationships };
136
+ }
137
+ // ── Communities ───────────────────────────────────────────────────────────
138
+ setCommunities(communities) {
139
+ this.communities = communities;
140
+ }
141
+ addCommunityReport(report) {
142
+ this.communityReports.set(report.communityId, report);
143
+ }
144
+ getCommunityForEntity(entityId) {
145
+ return this.communities.find((c) => c.entityIds.includes(entityId));
146
+ }
147
+ // ── Stats ─────────────────────────────────────────────────────────────────
148
+ getStats() {
149
+ const entityTypeBreakdown = {};
150
+ const relationshipTypeBreakdown = {};
151
+ for (const entity of this.entities.values()) {
152
+ entityTypeBreakdown[entity.type] = (entityTypeBreakdown[entity.type] ?? 0) + 1;
153
+ }
154
+ for (const rel of this.relationships.values()) {
155
+ relationshipTypeBreakdown[rel.type] = (relationshipTypeBreakdown[rel.type] ?? 0) + 1;
156
+ }
157
+ // Top connected entities
158
+ const topEntities = [...this.entities.values()]
159
+ .map((e) => ({
160
+ name: e.name,
161
+ type: e.type,
162
+ connections: this.adjacency.get(e.id)?.size ?? 0,
163
+ }))
164
+ .sort((a, b) => b.connections - a.connections)
165
+ .slice(0, 10);
166
+ const totalRelationships = this.relationships.size;
167
+ const totalEntities = this.entities.size;
168
+ return {
169
+ totalEntities,
170
+ totalRelationships,
171
+ totalCommunities: this.communities.length,
172
+ entityTypeBreakdown,
173
+ relationshipTypeBreakdown,
174
+ avgRelationshipsPerEntity: totalEntities > 0 ? (totalRelationships * 2) / totalEntities : 0,
175
+ topEntities,
176
+ };
177
+ }
178
+ // ── Serialisation ─────────────────────────────────────────────────────────
179
+ /** Returns a plain-object snapshot useful for JSON serialisation / API responses. */
180
+ toJSON() {
181
+ return {
182
+ entities: [...this.entities.values()],
183
+ relationships: [...this.relationships.values()],
184
+ communities: this.communities,
185
+ communityReports: [...this.communityReports.values()],
186
+ stats: this.getStats(),
187
+ };
188
+ }
189
+ clear() {
190
+ this.entities.clear();
191
+ this.relationships.clear();
192
+ this.adjacency.clear();
193
+ this.communities = [];
194
+ this.communityReports.clear();
195
+ }
196
+ }
197
+ exports.GraphStore = GraphStore;
198
+ //# sourceMappingURL=knowledge-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../src/graph/knowledge-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @hazeljs/rag - Retrieval-Augmented Generation
3
+ * Vector search and RAG capabilities for HazelJS
4
+ */
5
+ export * from './types';
6
+ export * from './rag-pipeline';
7
+ export * from './rag.service';
8
+ export * from './rag.module';
9
+ export * from './decorators/rag.decorator';
10
+ export * from './decorators/embeddable.decorator';
11
+ export * from './decorators/semantic-search.decorator';
12
+ export * from './embeddings/openai-embeddings';
13
+ export * from './embeddings/cohere-embeddings';
14
+ export * from './vector-stores/memory-vector-store';
15
+ export * from './vector-stores/pinecone.store';
16
+ export * from './vector-stores/qdrant.store';
17
+ export * from './vector-stores/weaviate.store';
18
+ export * from './vector-stores/chroma.store';
19
+ export * from './text-splitters/recursive-text-splitter';
20
+ export * from './loaders';
21
+ export * from './retrieval/bm25';
22
+ export * from './retrieval/hybrid-search';
23
+ export * from './retrieval/multi-query';
24
+ export * from './utils/similarity';
25
+ export * from './memory';
26
+ export * from './rag-pipeline-with-memory';
27
+ export * from './agentic';
28
+ export * from './graph';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAG7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,WAAW,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAG3C,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * @hazeljs/rag - Retrieval-Augmented Generation
4
+ * Vector search and RAG capabilities for HazelJS
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ // Core types
22
+ __exportStar(require("./types"), exports);
23
+ // RAG Pipeline
24
+ __exportStar(require("./rag-pipeline"), exports);
25
+ // RAG Service & Module
26
+ __exportStar(require("./rag.service"), exports);
27
+ __exportStar(require("./rag.module"), exports);
28
+ // Decorators
29
+ __exportStar(require("./decorators/rag.decorator"), exports);
30
+ __exportStar(require("./decorators/embeddable.decorator"), exports);
31
+ __exportStar(require("./decorators/semantic-search.decorator"), exports);
32
+ // Embeddings
33
+ __exportStar(require("./embeddings/openai-embeddings"), exports);
34
+ __exportStar(require("./embeddings/cohere-embeddings"), exports);
35
+ // Vector Stores
36
+ __exportStar(require("./vector-stores/memory-vector-store"), exports);
37
+ __exportStar(require("./vector-stores/pinecone.store"), exports);
38
+ __exportStar(require("./vector-stores/qdrant.store"), exports);
39
+ __exportStar(require("./vector-stores/weaviate.store"), exports);
40
+ __exportStar(require("./vector-stores/chroma.store"), exports);
41
+ // Text Splitters
42
+ __exportStar(require("./text-splitters/recursive-text-splitter"), exports);
43
+ // Document Loaders
44
+ __exportStar(require("./loaders"), exports);
45
+ // Retrieval Strategies
46
+ __exportStar(require("./retrieval/bm25"), exports);
47
+ __exportStar(require("./retrieval/hybrid-search"), exports);
48
+ __exportStar(require("./retrieval/multi-query"), exports);
49
+ // Utils
50
+ __exportStar(require("./utils/similarity"), exports);
51
+ // Memory
52
+ __exportStar(require("./memory"), exports);
53
+ __exportStar(require("./rag-pipeline-with-memory"), exports);
54
+ // Agentic RAG - Advanced autonomous retrieval capabilities
55
+ __exportStar(require("./agentic"), exports);
56
+ // GraphRAG - Knowledge graph-based retrieval (entity + community search)
57
+ __exportStar(require("./graph"), exports);
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,0CAAwB;AAExB,eAAe;AACf,iDAA+B;AAE/B,uBAAuB;AACvB,gDAA8B;AAC9B,+CAA6B;AAE7B,aAAa;AACb,6DAA2C;AAC3C,oEAAkD;AAClD,yEAAuD;AAEvD,aAAa;AACb,iEAA+C;AAC/C,iEAA+C;AAE/C,gBAAgB;AAChB,sEAAoD;AACpD,iEAA+C;AAC/C,+DAA6C;AAC7C,iEAA+C;AAC/C,+DAA6C;AAE7C,iBAAiB;AACjB,2EAAyD;AAEzD,mBAAmB;AACnB,4CAA0B;AAE1B,uBAAuB;AACvB,mDAAiC;AACjC,4DAA0C;AAC1C,0DAAwC;AAExC,QAAQ;AACR,qDAAmC;AAEnC,SAAS;AACT,2CAAyB;AACzB,6DAA2C;AAE3C,2DAA2D;AAC3D,4CAA0B;AAE1B,yEAAyE;AACzE,0CAAwB"}