@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,254 @@
1
+ "use strict";
2
+ /**
3
+ * YouTubeTranscriptLoader
4
+ *
5
+ * Downloads the caption/transcript for one or more YouTube videos and
6
+ * converts them to `Document` objects — no extra npm dependency required.
7
+ * Uses Node.js built-in `fetch` and parses the YouTube InnerTube API response.
8
+ *
9
+ * How it works:
10
+ * 1. Fetches the YouTube watch page for the video.
11
+ * 2. Extracts the `ytInitialPlayerResponse` JSON blob from the page HTML.
12
+ * 3. Locates the caption tracks list and selects the preferred language.
13
+ * 4. Fetches the caption XML file.
14
+ * 5. Parses `<text>` elements and decodes HTML entities.
15
+ * 6. Returns the transcript as one document (or split into segments).
16
+ *
17
+ * Accepts video IDs, full watch URLs, and youtu.be short URLs.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const loader = new YouTubeTranscriptLoader({
22
+ * videoId: 'dQw4w9WgXcQ',
23
+ * });
24
+ * const docs = await loader.load();
25
+ * // docs[0].content === "Never gonna give you up, never gonna let you..."
26
+ * // docs[0].metadata.title === "Rick Astley - Never Gonna Give You Up"
27
+ * // docs[0].metadata.videoId === "dQw4w9WgXcQ"
28
+ * ```
29
+ *
30
+ * Multiple videos:
31
+ * ```typescript
32
+ * const loader = new YouTubeTranscriptLoader({
33
+ * videoIds: ['VIDEO_ID_1', 'VIDEO_ID_2'],
34
+ * });
35
+ * ```
36
+ *
37
+ * Split into timed segments (useful for timestamped RAG retrieval):
38
+ * ```typescript
39
+ * const loader = new YouTubeTranscriptLoader({
40
+ * videoId: 'VIDEO_ID',
41
+ * segmentDuration: 120, // one document per 2-minute window
42
+ * });
43
+ * ```
44
+ */
45
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
46
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
47
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
48
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
49
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
50
+ };
51
+ var __metadata = (this && this.__metadata) || function (k, v) {
52
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
53
+ };
54
+ var YouTubeTranscriptLoader_1;
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.YouTubeTranscriptLoader = void 0;
57
+ const base_loader_1 = require("./base.loader");
58
+ let YouTubeTranscriptLoader = YouTubeTranscriptLoader_1 = class YouTubeTranscriptLoader extends base_loader_1.BaseDocumentLoader {
59
+ constructor(options) {
60
+ super();
61
+ if (!options.videoId && (!options.videoIds || options.videoIds.length === 0)) {
62
+ throw new Error('YouTubeTranscriptLoader: provide at least one videoId.');
63
+ }
64
+ const raw = options.videoIds ?? (options.videoId ? [options.videoId] : []);
65
+ this.videoIds = raw.map((id) => this.normaliseId(id));
66
+ this.language = options.language ?? 'en';
67
+ this.segmentDuration = options.segmentDuration;
68
+ this.timeout = options.timeout ?? 15000;
69
+ this.extraMetadata = options.metadata ?? {};
70
+ }
71
+ async load() {
72
+ const allDocs = [];
73
+ for (const videoId of this.videoIds) {
74
+ try {
75
+ const docs = await this.loadVideo(videoId);
76
+ allDocs.push(...docs);
77
+ }
78
+ catch (err) {
79
+ const message = err instanceof Error ? err.message : String(err);
80
+ // eslint-disable-next-line no-console
81
+ console.warn(`[YouTubeTranscriptLoader] Skipping ${videoId}: ${message}`);
82
+ }
83
+ }
84
+ return allDocs;
85
+ }
86
+ // ── Private: per-video pipeline ──────────────────────────────────────────
87
+ async loadVideo(videoId) {
88
+ const watchUrl = `${YouTubeTranscriptLoader_1.YOUTUBE_BASE}/watch?v=${videoId}`;
89
+ const html = await this.fetch(watchUrl);
90
+ const { captionUrl, title, channelName } = this.extractCaptionInfo(html, videoId);
91
+ const captionXml = await this.fetch(captionUrl);
92
+ const lines = this.parseCaptionXml(captionXml);
93
+ if (lines.length === 0) {
94
+ throw new Error(`No transcript lines found for video ${videoId}`);
95
+ }
96
+ const baseMetadata = {
97
+ source: watchUrl,
98
+ videoId,
99
+ loaderType: 'youtube-transcript',
100
+ language: this.language,
101
+ ...(title && { title }),
102
+ ...(channelName && { channelName }),
103
+ ...this.extraMetadata,
104
+ };
105
+ if (!this.segmentDuration) {
106
+ const fullText = lines.map((l) => l.text).join(' ');
107
+ return [this.createDocument(fullText, { ...baseMetadata, totalLines: lines.length })];
108
+ }
109
+ return this.buildSegments(lines, videoId, baseMetadata);
110
+ }
111
+ extractCaptionInfo(html, videoId) {
112
+ // Extract ytInitialPlayerResponse
113
+ const match = YouTubeTranscriptLoader_1.RE_PLAYER_RESPONSE.exec(html);
114
+ if (!match) {
115
+ throw new Error(`Could not find ytInitialPlayerResponse for video ${videoId}. ` +
116
+ `The video may be unavailable, age-restricted, or have no captions.`);
117
+ }
118
+ // Minimal safe JSON parse — the JSON is often very large
119
+ let playerResponse;
120
+ try {
121
+ playerResponse = JSON.parse(match[1]);
122
+ }
123
+ catch {
124
+ throw new Error(`Failed to parse ytInitialPlayerResponse for video ${videoId}`);
125
+ }
126
+ const title = playerResponse.videoDetails?.title;
127
+ const channelName = playerResponse.videoDetails
128
+ ?.author;
129
+ // Navigate: captions → playerCaptionsTracklistRenderer → captionTracks[]
130
+ const captionTracks = playerResponse.captions?.playerCaptionsTracklistRenderer?.captionTracks;
131
+ if (!captionTracks || captionTracks.length === 0) {
132
+ throw new Error(`No caption tracks available for video ${videoId}. ` +
133
+ `The video may not have captions/subtitles.`);
134
+ }
135
+ // Prefer the requested language; fall back to the first available track
136
+ const track = captionTracks.find((t) => t.languageCode === this.language) ?? captionTracks[0];
137
+ return {
138
+ captionUrl: `${track.baseUrl}&fmt=xml`,
139
+ title,
140
+ channelName,
141
+ };
142
+ }
143
+ parseCaptionXml(xml) {
144
+ const lines = [];
145
+ const re = new RegExp(YouTubeTranscriptLoader_1.RE_CAPTION_TEXT.source, 'g');
146
+ let match;
147
+ while ((match = re.exec(xml)) !== null) {
148
+ const start = parseFloat(match[1]);
149
+ const duration = parseFloat(match[2]);
150
+ const raw = match[3];
151
+ const text = this.decodeEntities(raw.replace(/<[^>]+>/g, '')).trim();
152
+ if (text)
153
+ lines.push({ start, duration, text });
154
+ }
155
+ return lines;
156
+ }
157
+ buildSegments(lines, videoId, baseMetadata) {
158
+ const segments = [];
159
+ const duration = this.segmentDuration;
160
+ let segStart = 0;
161
+ let buffer = [];
162
+ let windowEnd = segStart + duration;
163
+ for (const line of lines) {
164
+ if (line.start >= windowEnd) {
165
+ if (buffer.length > 0) {
166
+ const text = buffer.join(' ');
167
+ const startTime = this.formatTime(segStart);
168
+ const endTime = this.formatTime(windowEnd);
169
+ segments.push(this.createDocument(text, {
170
+ ...baseMetadata,
171
+ startTime,
172
+ endTime,
173
+ startSeconds: segStart,
174
+ youtubeUrl: `https://youtu.be/${videoId}?t=${Math.floor(segStart)}`,
175
+ }));
176
+ buffer = [];
177
+ }
178
+ segStart = Math.floor(line.start / duration) * duration;
179
+ windowEnd = segStart + duration;
180
+ }
181
+ buffer.push(line.text);
182
+ }
183
+ // Final segment
184
+ if (buffer.length > 0) {
185
+ segments.push(this.createDocument(buffer.join(' '), {
186
+ ...baseMetadata,
187
+ startTime: this.formatTime(segStart),
188
+ endTime: this.formatTime(windowEnd),
189
+ startSeconds: segStart,
190
+ youtubeUrl: `https://youtu.be/${videoId}?t=${Math.floor(segStart)}`,
191
+ }));
192
+ }
193
+ return segments;
194
+ }
195
+ // ── Utilities ────────────────────────────────────────────────────────────
196
+ normaliseId(input) {
197
+ // youtu.be/ID
198
+ const shortMatch = input.match(/youtu\.be\/([a-zA-Z0-9_-]{11})/);
199
+ if (shortMatch)
200
+ return shortMatch[1];
201
+ // youtube.com/watch?v=ID
202
+ const watchMatch = input.match(/[?&]v=([a-zA-Z0-9_-]{11})/);
203
+ if (watchMatch)
204
+ return watchMatch[1];
205
+ // Already an 11-char ID
206
+ if (/^[a-zA-Z0-9_-]{11}$/.test(input))
207
+ return input;
208
+ throw new Error(`YouTubeTranscriptLoader: cannot parse video ID from "${input}"`);
209
+ }
210
+ async fetch(url) {
211
+ const controller = new AbortController();
212
+ const timer = setTimeout(() => controller.abort(), this.timeout);
213
+ const response = await fetch(url, {
214
+ headers: {
215
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' +
216
+ '(KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
217
+ 'Accept-Language': 'en-US,en;q=0.9',
218
+ },
219
+ signal: controller.signal,
220
+ });
221
+ clearTimeout(timer);
222
+ if (!response.ok) {
223
+ throw new Error(`HTTP ${response.status} ${response.statusText} fetching ${url}`);
224
+ }
225
+ return response.text();
226
+ }
227
+ decodeEntities(text) {
228
+ return text
229
+ .replace(/&amp;/g, '&')
230
+ .replace(/&lt;/g, '<')
231
+ .replace(/&gt;/g, '>')
232
+ .replace(/&quot;/g, '"')
233
+ .replace(/&#39;/g, "'")
234
+ .replace(/&#(\d+);/g, (_, code) => String.fromCharCode(parseInt(code, 10)));
235
+ }
236
+ formatTime(seconds) {
237
+ const h = Math.floor(seconds / 3600);
238
+ const m = Math.floor((seconds % 3600) / 60);
239
+ const s = Math.floor(seconds % 60);
240
+ return [h, m, s].map((v) => String(v).padStart(2, '0')).join(':');
241
+ }
242
+ };
243
+ exports.YouTubeTranscriptLoader = YouTubeTranscriptLoader;
244
+ YouTubeTranscriptLoader.YOUTUBE_BASE = 'https://www.youtube.com';
245
+ YouTubeTranscriptLoader.RE_PLAYER_RESPONSE = /ytInitialPlayerResponse\s*=\s*({.+?})\s*;/;
246
+ YouTubeTranscriptLoader.RE_CAPTION_TEXT = /<text[^>]*start="([^"]*)"[^>]*dur="([^"]*)"[^>]*>([\s\S]*?)<\/text>/g;
247
+ exports.YouTubeTranscriptLoader = YouTubeTranscriptLoader = YouTubeTranscriptLoader_1 = __decorate([
248
+ (0, base_loader_1.Loader)({
249
+ name: 'YouTubeTranscriptLoader',
250
+ description: 'Downloads YouTube video transcripts/captions — no API key needed.',
251
+ }),
252
+ __metadata("design:paramtypes", [Object])
253
+ ], YouTubeTranscriptLoader);
254
+ //# sourceMappingURL=youtube-transcript.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube-transcript.loader.js","sourceRoot":"","sources":["../../src/loaders/youtube-transcript.loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @hazeljs/rag - Memory Module
3
+ * Persistent context and conversation management
4
+ */
5
+ export * from './types';
6
+ export * from './memory-store.interface';
7
+ export * from './stores/buffer-memory';
8
+ export * from './stores/vector-memory';
9
+ export * from './stores/hybrid-memory';
10
+ export * from './memory-manager';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,0BAA0B,CAAC;AAGzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * @hazeljs/rag - Memory Module
4
+ * Persistent context and conversation management
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
+ // Types
22
+ __exportStar(require("./types"), exports);
23
+ // Core interfaces
24
+ __exportStar(require("./memory-store.interface"), exports);
25
+ // Memory stores
26
+ __exportStar(require("./stores/buffer-memory"), exports);
27
+ __exportStar(require("./stores/vector-memory"), exports);
28
+ __exportStar(require("./stores/hybrid-memory"), exports);
29
+ // Memory manager
30
+ __exportStar(require("./memory-manager"), exports);
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,kBAAkB;AAClB,2DAAyC;AAEzC,gBAAgB;AAChB,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AAEvC,iBAAiB;AACjB,mDAAiC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Memory Manager - High-level interface for managing different types of memory
3
+ */
4
+ import { MemoryStore } from './memory-store.interface';
5
+ import { Memory, MemoryConfig, Message, Entity, MemoryQuery, MemorySearchOptions } from './types';
6
+ /**
7
+ * Central manager for all memory operations
8
+ * Provides high-level APIs for conversation, entity, fact, and working memory
9
+ */
10
+ export declare class MemoryManager {
11
+ private store;
12
+ private config;
13
+ constructor(store: MemoryStore, config?: MemoryConfig);
14
+ initialize(): Promise<void>;
15
+ /**
16
+ * Add a message to conversation history
17
+ */
18
+ addMessage(message: Message, sessionId: string, userId?: string): Promise<string>;
19
+ /**
20
+ * Get conversation history for a session
21
+ */
22
+ getConversationHistory(sessionId: string, limit?: number): Promise<Message[]>;
23
+ /**
24
+ * Summarize conversation history
25
+ */
26
+ summarizeConversation(sessionId: string): Promise<string>;
27
+ /**
28
+ * Clear conversation history for a session
29
+ */
30
+ clearConversation(sessionId: string): Promise<void>;
31
+ /**
32
+ * Track an entity mentioned in conversation
33
+ */
34
+ trackEntity(entity: Entity, sessionId?: string): Promise<void>;
35
+ /**
36
+ * Get entity by name
37
+ */
38
+ getEntity(name: string): Promise<Entity | null>;
39
+ /**
40
+ * Update entity information
41
+ */
42
+ updateEntity(name: string, updates: Partial<Entity>): Promise<void>;
43
+ /**
44
+ * Get all tracked entities
45
+ */
46
+ getAllEntities(sessionId?: string): Promise<Entity[]>;
47
+ /**
48
+ * Store a fact or piece of knowledge
49
+ */
50
+ storeFact(fact: string, metadata?: Record<string, unknown>): Promise<string>;
51
+ /**
52
+ * Recall facts related to a query
53
+ */
54
+ recallFacts(query: string, options?: MemorySearchOptions): Promise<string[]>;
55
+ /**
56
+ * Update a fact
57
+ */
58
+ updateFact(id: string, newContent: string): Promise<void>;
59
+ /**
60
+ * Set a value in working memory (temporary context)
61
+ */
62
+ setContext(key: string, value: unknown, sessionId: string): Promise<void>;
63
+ /**
64
+ * Get a value from working memory
65
+ */
66
+ getContext(key: string, sessionId: string): Promise<unknown>;
67
+ /**
68
+ * Clear working memory for a session
69
+ */
70
+ clearContext(sessionId: string): Promise<void>;
71
+ /**
72
+ * Get relevant memories for a query
73
+ */
74
+ relevantMemories(query: string, options: MemorySearchOptions): Promise<Memory[]>;
75
+ /**
76
+ * Get memories by query parameters
77
+ */
78
+ getMemories(query: MemoryQuery): Promise<Memory[]>;
79
+ /**
80
+ * Get memory statistics
81
+ */
82
+ getStats(sessionId?: string): Promise<import('./types').MemoryStats>;
83
+ /**
84
+ * Calculate importance score for content
85
+ */
86
+ private calculateImportance;
87
+ /**
88
+ * Check if conversation needs summarization
89
+ */
90
+ private checkAndSummarize;
91
+ /**
92
+ * Prune working memory to max size
93
+ */
94
+ private pruneWorkingMemory;
95
+ }
96
+ //# sourceMappingURL=memory-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,MAAM,EAEN,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,EACX,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAe;gBAEjB,KAAK,EAAE,WAAW,EAAE,MAAM,GAAE,YAAiB;IAcnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBvF;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAenF;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczD;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBrD;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BzE;;OAEG;IACG,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoB3D;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAelF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUlF;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC/E;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBlE;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxD;;OAEG;IACG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC;IAM1E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;YACW,iBAAiB;IAuB/B;;OAEG;YACW,kBAAkB;CAiBjC"}