@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.
- package/LICENSE +192 -0
- package/README.md +504 -0
- package/dist/__tests__/graph/community-detector.test.d.ts +2 -0
- package/dist/__tests__/graph/community-detector.test.d.ts.map +1 -0
- package/dist/__tests__/graph/community-detector.test.js +87 -0
- package/dist/__tests__/graph/community-detector.test.js.map +1 -0
- package/dist/__tests__/graph/community-summarizer.test.d.ts +2 -0
- package/dist/__tests__/graph/community-summarizer.test.d.ts.map +1 -0
- package/dist/__tests__/graph/community-summarizer.test.js +131 -0
- package/dist/__tests__/graph/community-summarizer.test.js.map +1 -0
- package/dist/__tests__/graph/entity-extractor.test.d.ts +2 -0
- package/dist/__tests__/graph/entity-extractor.test.d.ts.map +1 -0
- package/dist/__tests__/graph/entity-extractor.test.js +129 -0
- package/dist/__tests__/graph/entity-extractor.test.js.map +1 -0
- package/dist/__tests__/graph/graph-rag-pipeline.test.d.ts +2 -0
- package/dist/__tests__/graph/graph-rag-pipeline.test.d.ts.map +1 -0
- package/dist/__tests__/graph/graph-rag-pipeline.test.js +158 -0
- package/dist/__tests__/graph/graph-rag-pipeline.test.js.map +1 -0
- package/dist/__tests__/graph/knowledge-graph.test.d.ts +2 -0
- package/dist/__tests__/graph/knowledge-graph.test.d.ts.map +1 -0
- package/dist/__tests__/graph/knowledge-graph.test.js +208 -0
- package/dist/__tests__/graph/knowledge-graph.test.js.map +1 -0
- package/dist/__tests__/loaders/base.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/base.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/base.loader.test.js +114 -0
- package/dist/__tests__/loaders/base.loader.test.js.map +1 -0
- package/dist/__tests__/loaders/csv-file.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/csv-file.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/csv-file.loader.test.js +98 -0
- package/dist/__tests__/loaders/csv-file.loader.test.js.map +1 -0
- package/dist/__tests__/loaders/directory.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/directory.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/directory.loader.test.js +154 -0
- package/dist/__tests__/loaders/directory.loader.test.js.map +1 -0
- package/dist/__tests__/loaders/html-file.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/html-file.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/html-file.loader.test.js +93 -0
- package/dist/__tests__/loaders/html-file.loader.test.js.map +1 -0
- package/dist/__tests__/loaders/json-file.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/json-file.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/json-file.loader.test.js +84 -0
- package/dist/__tests__/loaders/json-file.loader.test.js.map +1 -0
- package/dist/__tests__/loaders/markdown-file.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/markdown-file.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/markdown-file.loader.test.js +83 -0
- package/dist/__tests__/loaders/markdown-file.loader.test.js.map +1 -0
- package/dist/__tests__/loaders/text-file.loader.test.d.ts +2 -0
- package/dist/__tests__/loaders/text-file.loader.test.d.ts.map +1 -0
- package/dist/__tests__/loaders/text-file.loader.test.js +50 -0
- package/dist/__tests__/loaders/text-file.loader.test.js.map +1 -0
- package/dist/__tests__/rag-pipeline.test.d.ts +2 -0
- package/dist/__tests__/rag-pipeline.test.d.ts.map +1 -0
- package/dist/__tests__/rag-pipeline.test.js +210 -0
- package/dist/__tests__/rag-pipeline.test.js.map +1 -0
- package/dist/__tests__/retrieval/bm25.test.d.ts +2 -0
- package/dist/__tests__/retrieval/bm25.test.d.ts.map +1 -0
- package/dist/__tests__/retrieval/bm25.test.js +86 -0
- package/dist/__tests__/retrieval/bm25.test.js.map +1 -0
- package/dist/__tests__/retrieval/hybrid-search.test.d.ts +2 -0
- package/dist/__tests__/retrieval/hybrid-search.test.d.ts.map +1 -0
- package/dist/__tests__/retrieval/hybrid-search.test.js +85 -0
- package/dist/__tests__/retrieval/hybrid-search.test.js.map +1 -0
- package/dist/__tests__/retrieval/multi-query.test.d.ts +2 -0
- package/dist/__tests__/retrieval/multi-query.test.d.ts.map +1 -0
- package/dist/__tests__/retrieval/multi-query.test.js +90 -0
- package/dist/__tests__/retrieval/multi-query.test.js.map +1 -0
- package/dist/__tests__/text-splitters/recursive-text-splitter.test.d.ts +2 -0
- package/dist/__tests__/text-splitters/recursive-text-splitter.test.d.ts.map +1 -0
- package/dist/__tests__/text-splitters/recursive-text-splitter.test.js +97 -0
- package/dist/__tests__/text-splitters/recursive-text-splitter.test.js.map +1 -0
- package/dist/__tests__/utils/similarity.test.d.ts +2 -0
- package/dist/__tests__/utils/similarity.test.d.ts.map +1 -0
- package/dist/__tests__/utils/similarity.test.js +47 -0
- package/dist/__tests__/utils/similarity.test.js.map +1 -0
- package/dist/agentic/agentic-rag.service.d.ts +49 -0
- package/dist/agentic/agentic-rag.service.d.ts.map +1 -0
- package/dist/agentic/agentic-rag.service.js +149 -0
- package/dist/agentic/agentic-rag.service.js.map +1 -0
- package/dist/agentic/decorators/active-learning.decorator.d.ts +19 -0
- package/dist/agentic/decorators/active-learning.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/active-learning.decorator.js +98 -0
- package/dist/agentic/decorators/active-learning.decorator.js.map +1 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts +17 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.js +103 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.js.map +1 -0
- package/dist/agentic/decorators/cached.decorator.d.ts +18 -0
- package/dist/agentic/decorators/cached.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/cached.decorator.js +93 -0
- package/dist/agentic/decorators/cached.decorator.js.map +1 -0
- package/dist/agentic/decorators/context-aware.decorator.d.ts +16 -0
- package/dist/agentic/decorators/context-aware.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/context-aware.decorator.js +169 -0
- package/dist/agentic/decorators/context-aware.decorator.js.map +1 -0
- package/dist/agentic/decorators/corrective-rag.decorator.d.ts +16 -0
- package/dist/agentic/decorators/corrective-rag.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/corrective-rag.decorator.js +142 -0
- package/dist/agentic/decorators/corrective-rag.decorator.js.map +1 -0
- package/dist/agentic/decorators/hyde.decorator.d.ts +15 -0
- package/dist/agentic/decorators/hyde.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/hyde.decorator.js +91 -0
- package/dist/agentic/decorators/hyde.decorator.js.map +1 -0
- package/dist/agentic/decorators/index.d.ts +16 -0
- package/dist/agentic/decorators/index.d.ts.map +1 -0
- package/dist/agentic/decorators/index.js +32 -0
- package/dist/agentic/decorators/index.js.map +1 -0
- package/dist/agentic/decorators/multi-hop.decorator.d.ts +15 -0
- package/dist/agentic/decorators/multi-hop.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/multi-hop.decorator.js +109 -0
- package/dist/agentic/decorators/multi-hop.decorator.js.map +1 -0
- package/dist/agentic/decorators/query-planner.decorator.d.ts +20 -0
- package/dist/agentic/decorators/query-planner.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/query-planner.decorator.js +213 -0
- package/dist/agentic/decorators/query-planner.decorator.js.map +1 -0
- package/dist/agentic/decorators/query-rewriter.decorator.d.ts +16 -0
- package/dist/agentic/decorators/query-rewriter.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/query-rewriter.decorator.js +143 -0
- package/dist/agentic/decorators/query-rewriter.decorator.js.map +1 -0
- package/dist/agentic/decorators/self-reflective.decorator.d.ts +20 -0
- package/dist/agentic/decorators/self-reflective.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/self-reflective.decorator.js +189 -0
- package/dist/agentic/decorators/self-reflective.decorator.js.map +1 -0
- package/dist/agentic/decorators/source-verification.decorator.d.ts +15 -0
- package/dist/agentic/decorators/source-verification.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/source-verification.decorator.js +121 -0
- package/dist/agentic/decorators/source-verification.decorator.js.map +1 -0
- package/dist/agentic/index.d.ts +9 -0
- package/dist/agentic/index.d.ts.map +1 -0
- package/dist/agentic/index.js +25 -0
- package/dist/agentic/index.js.map +1 -0
- package/dist/agentic/types.d.ts +210 -0
- package/dist/agentic/types.d.ts.map +1 -0
- package/dist/agentic/types.js +7 -0
- package/dist/agentic/types.js.map +1 -0
- package/dist/decorators/embeddable.decorator.d.ts +31 -0
- package/dist/decorators/embeddable.decorator.d.ts.map +1 -0
- package/dist/decorators/embeddable.decorator.js +44 -0
- package/dist/decorators/embeddable.decorator.js.map +1 -0
- package/dist/decorators/rag.decorator.d.ts +58 -0
- package/dist/decorators/rag.decorator.d.ts.map +1 -0
- package/dist/decorators/rag.decorator.js +78 -0
- package/dist/decorators/rag.decorator.js.map +1 -0
- package/dist/decorators/semantic-search.decorator.d.ts +69 -0
- package/dist/decorators/semantic-search.decorator.d.ts.map +1 -0
- package/dist/decorators/semantic-search.decorator.js +116 -0
- package/dist/decorators/semantic-search.decorator.js.map +1 -0
- package/dist/embeddings/cohere-embeddings.d.ts +33 -0
- package/dist/embeddings/cohere-embeddings.d.ts.map +1 -0
- package/dist/embeddings/cohere-embeddings.js +91 -0
- package/dist/embeddings/cohere-embeddings.js.map +1 -0
- package/dist/embeddings/openai-embeddings.d.ts +21 -0
- package/dist/embeddings/openai-embeddings.d.ts.map +1 -0
- package/dist/embeddings/openai-embeddings.js +53 -0
- package/dist/embeddings/openai-embeddings.js.map +1 -0
- package/dist/graph/community-detector.d.ts +45 -0
- package/dist/graph/community-detector.d.ts.map +1 -0
- package/dist/graph/community-detector.js +153 -0
- package/dist/graph/community-detector.js.map +1 -0
- package/dist/graph/community-summarizer.d.ts +41 -0
- package/dist/graph/community-summarizer.d.ts.map +1 -0
- package/dist/graph/community-summarizer.js +119 -0
- package/dist/graph/community-summarizer.js.map +1 -0
- package/dist/graph/entity-extractor.d.ts +47 -0
- package/dist/graph/entity-extractor.d.ts.map +1 -0
- package/dist/graph/entity-extractor.js +224 -0
- package/dist/graph/entity-extractor.js.map +1 -0
- package/dist/graph/graph-rag-pipeline.d.ts +83 -0
- package/dist/graph/graph-rag-pipeline.d.ts.map +1 -0
- package/dist/graph/graph-rag-pipeline.js +390 -0
- package/dist/graph/graph-rag-pipeline.js.map +1 -0
- package/dist/graph/graph.types.d.ts +186 -0
- package/dist/graph/graph.types.d.ts.map +1 -0
- package/dist/graph/graph.types.js +20 -0
- package/dist/graph/graph.types.js.map +1 -0
- package/dist/graph/index.d.ts +15 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +31 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/knowledge-graph.d.ts +57 -0
- package/dist/graph/knowledge-graph.d.ts.map +1 -0
- package/dist/graph/knowledge-graph.js +198 -0
- package/dist/graph/knowledge-graph.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/dist/loaders/base.loader.d.ts +108 -0
- package/dist/loaders/base.loader.d.ts.map +1 -0
- package/dist/loaders/base.loader.js +123 -0
- package/dist/loaders/base.loader.js.map +1 -0
- package/dist/loaders/csv-file.loader.d.ts +61 -0
- package/dist/loaders/csv-file.loader.d.ts.map +1 -0
- package/dist/loaders/csv-file.loader.js +162 -0
- package/dist/loaders/csv-file.loader.js.map +1 -0
- package/dist/loaders/directory.loader.d.ts +67 -0
- package/dist/loaders/directory.loader.d.ts.map +1 -0
- package/dist/loaders/directory.loader.js +163 -0
- package/dist/loaders/directory.loader.js.map +1 -0
- package/dist/loaders/docx.loader.d.ts +52 -0
- package/dist/loaders/docx.loader.d.ts.map +1 -0
- package/dist/loaders/docx.loader.js +110 -0
- package/dist/loaders/docx.loader.js.map +1 -0
- package/dist/loaders/github.loader.d.ts +114 -0
- package/dist/loaders/github.loader.d.ts.map +1 -0
- package/dist/loaders/github.loader.js +217 -0
- package/dist/loaders/github.loader.js.map +1 -0
- package/dist/loaders/html-file.loader.d.ts +55 -0
- package/dist/loaders/html-file.loader.d.ts.map +1 -0
- package/dist/loaders/html-file.loader.js +170 -0
- package/dist/loaders/html-file.loader.js.map +1 -0
- package/dist/loaders/index.d.ts +52 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +61 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/json-file.loader.d.ts +51 -0
- package/dist/loaders/json-file.loader.d.ts.map +1 -0
- package/dist/loaders/json-file.loader.js +100 -0
- package/dist/loaders/json-file.loader.js.map +1 -0
- package/dist/loaders/markdown-file.loader.d.ts +61 -0
- package/dist/loaders/markdown-file.loader.d.ts.map +1 -0
- package/dist/loaders/markdown-file.loader.js +148 -0
- package/dist/loaders/markdown-file.loader.js.map +1 -0
- package/dist/loaders/pdf.loader.d.ts +64 -0
- package/dist/loaders/pdf.loader.d.ts.map +1 -0
- package/dist/loaders/pdf.loader.js +163 -0
- package/dist/loaders/pdf.loader.js.map +1 -0
- package/dist/loaders/text-file.loader.d.ts +39 -0
- package/dist/loaders/text-file.loader.d.ts.map +1 -0
- package/dist/loaders/text-file.loader.js +69 -0
- package/dist/loaders/text-file.loader.js.map +1 -0
- package/dist/loaders/web.loader.d.ts +87 -0
- package/dist/loaders/web.loader.d.ts.map +1 -0
- package/dist/loaders/web.loader.js +194 -0
- package/dist/loaders/web.loader.js.map +1 -0
- package/dist/loaders/youtube-transcript.loader.d.ts +92 -0
- package/dist/loaders/youtube-transcript.loader.d.ts.map +1 -0
- package/dist/loaders/youtube-transcript.loader.js +254 -0
- package/dist/loaders/youtube-transcript.loader.js.map +1 -0
- package/dist/memory/index.d.ts +11 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +31 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +96 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/memory/memory-manager.js +369 -0
- package/dist/memory/memory-manager.js.map +1 -0
- package/dist/memory/memory-store.interface.d.ts +73 -0
- package/dist/memory/memory-store.interface.d.ts.map +1 -0
- package/dist/memory/memory-store.interface.js +6 -0
- package/dist/memory/memory-store.interface.js.map +1 -0
- package/dist/memory/stores/buffer-memory.d.ts +47 -0
- package/dist/memory/stores/buffer-memory.d.ts.map +1 -0
- package/dist/memory/stores/buffer-memory.js +280 -0
- package/dist/memory/stores/buffer-memory.js.map +1 -0
- package/dist/memory/stores/hybrid-memory.d.ts +49 -0
- package/dist/memory/stores/hybrid-memory.d.ts.map +1 -0
- package/dist/memory/stores/hybrid-memory.js +194 -0
- package/dist/memory/stores/hybrid-memory.js.map +1 -0
- package/dist/memory/stores/vector-memory.d.ts +48 -0
- package/dist/memory/stores/vector-memory.d.ts.map +1 -0
- package/dist/memory/stores/vector-memory.js +312 -0
- package/dist/memory/stores/vector-memory.js.map +1 -0
- package/dist/memory/types.d.ts +119 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +18 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/prompts/agentic/adaptive-retrieval.prompt.d.ts +8 -0
- package/dist/prompts/agentic/adaptive-retrieval.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/adaptive-retrieval.prompt.js +27 -0
- package/dist/prompts/agentic/adaptive-retrieval.prompt.js.map +1 -0
- package/dist/prompts/agentic/corrective-rag.prompt.d.ts +9 -0
- package/dist/prompts/agentic/corrective-rag.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/corrective-rag.prompt.js +23 -0
- package/dist/prompts/agentic/corrective-rag.prompt.js.map +1 -0
- package/dist/prompts/agentic/hyde.prompt.d.ts +9 -0
- package/dist/prompts/agentic/hyde.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/hyde.prompt.js +18 -0
- package/dist/prompts/agentic/hyde.prompt.js.map +1 -0
- package/dist/prompts/agentic/multi-hop.prompt.d.ts +15 -0
- package/dist/prompts/agentic/multi-hop.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/multi-hop.prompt.js +38 -0
- package/dist/prompts/agentic/multi-hop.prompt.js.map +1 -0
- package/dist/prompts/agentic/query-planner.prompt.d.ts +8 -0
- package/dist/prompts/agentic/query-planner.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/query-planner.prompt.js +30 -0
- package/dist/prompts/agentic/query-planner.prompt.js.map +1 -0
- package/dist/prompts/agentic/query-rewriter.prompt.d.ts +10 -0
- package/dist/prompts/agentic/query-rewriter.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/query-rewriter.prompt.js +17 -0
- package/dist/prompts/agentic/query-rewriter.prompt.js.map +1 -0
- package/dist/prompts/agentic/self-reflective-improve.prompt.d.ts +10 -0
- package/dist/prompts/agentic/self-reflective-improve.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/self-reflective-improve.prompt.js +24 -0
- package/dist/prompts/agentic/self-reflective-improve.prompt.js.map +1 -0
- package/dist/prompts/agentic/self-reflective.prompt.d.ts +9 -0
- package/dist/prompts/agentic/self-reflective.prompt.d.ts.map +1 -0
- package/dist/prompts/agentic/self-reflective.prompt.js +32 -0
- package/dist/prompts/agentic/self-reflective.prompt.js.map +1 -0
- package/dist/prompts/community-summary.prompt.d.ts +9 -0
- package/dist/prompts/community-summary.prompt.d.ts.map +1 -0
- package/dist/prompts/community-summary.prompt.js +30 -0
- package/dist/prompts/community-summary.prompt.js.map +1 -0
- package/dist/prompts/entity-extraction.prompt.d.ts +10 -0
- package/dist/prompts/entity-extraction.prompt.d.ts.map +1 -0
- package/dist/prompts/entity-extraction.prompt.js +39 -0
- package/dist/prompts/entity-extraction.prompt.js.map +1 -0
- package/dist/prompts/graph-search.prompt.d.ts +10 -0
- package/dist/prompts/graph-search.prompt.d.ts.map +1 -0
- package/dist/prompts/graph-search.prompt.js +23 -0
- package/dist/prompts/graph-search.prompt.js.map +1 -0
- package/dist/prompts/index.d.ts +13 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +29 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/rag-answer.prompt.d.ts +9 -0
- package/dist/prompts/rag-answer.prompt.d.ts.map +1 -0
- package/dist/prompts/rag-answer.prompt.js +20 -0
- package/dist/prompts/rag-answer.prompt.js.map +1 -0
- package/dist/rag-pipeline-with-memory.d.ts +68 -0
- package/dist/rag-pipeline-with-memory.d.ts.map +1 -0
- package/dist/rag-pipeline-with-memory.js +186 -0
- package/dist/rag-pipeline-with-memory.js.map +1 -0
- package/dist/rag-pipeline.d.ts +59 -0
- package/dist/rag-pipeline.d.ts.map +1 -0
- package/dist/rag-pipeline.js +181 -0
- package/dist/rag-pipeline.js.map +1 -0
- package/dist/rag.module.d.ts +26 -0
- package/dist/rag.module.d.ts.map +1 -0
- package/dist/rag.module.js +40 -0
- package/dist/rag.module.js.map +1 -0
- package/dist/rag.service.d.ts +96 -0
- package/dist/rag.service.d.ts.map +1 -0
- package/dist/rag.service.js +173 -0
- package/dist/rag.service.js.map +1 -0
- package/dist/retrieval/bm25.d.ts +57 -0
- package/dist/retrieval/bm25.d.ts.map +1 -0
- package/dist/retrieval/bm25.js +106 -0
- package/dist/retrieval/bm25.js.map +1 -0
- package/dist/retrieval/hybrid-search.d.ts +48 -0
- package/dist/retrieval/hybrid-search.d.ts.map +1 -0
- package/dist/retrieval/hybrid-search.js +123 -0
- package/dist/retrieval/hybrid-search.js.map +1 -0
- package/dist/retrieval/multi-query.d.ts +38 -0
- package/dist/retrieval/multi-query.d.ts.map +1 -0
- package/dist/retrieval/multi-query.js +135 -0
- package/dist/retrieval/multi-query.js.map +1 -0
- package/dist/text-splitters/recursive-text-splitter.d.ts +21 -0
- package/dist/text-splitters/recursive-text-splitter.d.ts.map +1 -0
- package/dist/text-splitters/recursive-text-splitter.js +95 -0
- package/dist/text-splitters/recursive-text-splitter.js.map +1 -0
- package/dist/types/index.d.ts +144 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/similarity.d.ts +16 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/dist/utils/similarity.js +58 -0
- package/dist/utils/similarity.js.map +1 -0
- package/dist/vector-stores/chroma.store.d.ts +42 -0
- package/dist/vector-stores/chroma.store.d.ts.map +1 -0
- package/dist/vector-stores/chroma.store.js +242 -0
- package/dist/vector-stores/chroma.store.js.map +1 -0
- package/dist/vector-stores/memory-vector-store.d.ts +20 -0
- package/dist/vector-stores/memory-vector-store.d.ts.map +1 -0
- package/dist/vector-stores/memory-vector-store.js +94 -0
- package/dist/vector-stores/memory-vector-store.js.map +1 -0
- package/dist/vector-stores/pinecone.store.d.ts +34 -0
- package/dist/vector-stores/pinecone.store.d.ts.map +1 -0
- package/dist/vector-stores/pinecone.store.js +146 -0
- package/dist/vector-stores/pinecone.store.js.map +1 -0
- package/dist/vector-stores/qdrant.store.d.ts +33 -0
- package/dist/vector-stores/qdrant.store.d.ts.map +1 -0
- package/dist/vector-stores/qdrant.store.js +174 -0
- package/dist/vector-stores/qdrant.store.js.map +1 -0
- package/dist/vector-stores/weaviate.store.d.ts +37 -0
- package/dist/vector-stores/weaviate.store.d.ts.map +1 -0
- package/dist/vector-stores/weaviate.store.js +226 -0
- package/dist/vector-stores/weaviate.store.js.map +1 -0
- 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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,cAAc,GACd,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAID,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,UAAU,GACV,UAAU,GACV,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,2EAA2E;IAC3E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAChD;AAID,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,UAAU,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,aAAa,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,gBAAgB,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAID,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KACxC,CAAC;IACF;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,mDAAmD;IACnD,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,sDAAsD;IACtD,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,yBAAyB,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE"}
|
|
@@ -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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|