@juspay/neurolink 9.1.1 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +106 -37
- package/dist/agent/directTools.d.ts +11 -11
- package/dist/cli/commands/config.d.ts +6 -6
- package/dist/cli/commands/rag.d.ts +19 -0
- package/dist/cli/commands/rag.js +756 -0
- package/dist/cli/factories/commandFactory.js +146 -83
- package/dist/cli/parser.js +4 -1
- package/dist/core/baseProvider.d.ts +43 -30
- package/dist/core/baseProvider.js +98 -138
- package/dist/core/conversationMemoryFactory.d.ts +2 -2
- package/dist/core/conversationMemoryFactory.js +2 -2
- package/dist/core/conversationMemoryInitializer.d.ts +1 -2
- package/dist/core/conversationMemoryInitializer.js +2 -2
- package/dist/core/infrastructure/baseError.d.ts +21 -0
- package/dist/core/infrastructure/baseError.js +22 -0
- package/dist/core/infrastructure/baseFactory.d.ts +21 -0
- package/dist/core/infrastructure/baseFactory.js +54 -0
- package/dist/core/infrastructure/baseRegistry.d.ts +21 -0
- package/dist/core/infrastructure/baseRegistry.js +49 -0
- package/dist/core/infrastructure/index.d.ts +5 -0
- package/dist/core/infrastructure/index.js +5 -0
- package/dist/core/infrastructure/retry.d.ts +7 -0
- package/dist/core/infrastructure/retry.js +20 -0
- package/dist/core/infrastructure/typedEventEmitter.d.ts +8 -0
- package/dist/core/infrastructure/typedEventEmitter.js +23 -0
- package/dist/core/redisConversationMemoryManager.d.ts +1 -6
- package/dist/core/redisConversationMemoryManager.js +7 -19
- package/dist/factories/providerFactory.d.ts +5 -3
- package/dist/factories/providerFactory.js +31 -24
- package/dist/image-gen/ImageGenService.d.ts +143 -0
- package/dist/image-gen/ImageGenService.js +345 -0
- package/dist/image-gen/imageGenTools.d.ts +126 -0
- package/dist/image-gen/imageGenTools.js +304 -0
- package/dist/image-gen/index.d.ts +46 -0
- package/dist/image-gen/index.js +48 -0
- package/dist/image-gen/types.d.ts +237 -0
- package/dist/image-gen/types.js +24 -0
- package/dist/index.d.ts +46 -12
- package/dist/index.js +88 -36
- package/dist/lib/agent/directTools.d.ts +8 -8
- package/dist/lib/core/baseProvider.d.ts +43 -30
- package/dist/lib/core/baseProvider.js +98 -138
- package/dist/lib/core/conversationMemoryFactory.d.ts +2 -2
- package/dist/lib/core/conversationMemoryFactory.js +2 -2
- package/dist/lib/core/conversationMemoryInitializer.d.ts +1 -2
- package/dist/lib/core/conversationMemoryInitializer.js +2 -2
- package/dist/lib/core/infrastructure/baseError.d.ts +21 -0
- package/dist/lib/core/infrastructure/baseError.js +23 -0
- package/dist/lib/core/infrastructure/baseFactory.d.ts +21 -0
- package/dist/lib/core/infrastructure/baseFactory.js +55 -0
- package/dist/lib/core/infrastructure/baseRegistry.d.ts +21 -0
- package/dist/lib/core/infrastructure/baseRegistry.js +50 -0
- package/dist/lib/core/infrastructure/index.d.ts +5 -0
- package/dist/lib/core/infrastructure/index.js +6 -0
- package/dist/lib/core/infrastructure/retry.d.ts +7 -0
- package/dist/lib/core/infrastructure/retry.js +21 -0
- package/dist/lib/core/infrastructure/typedEventEmitter.d.ts +8 -0
- package/dist/lib/core/infrastructure/typedEventEmitter.js +24 -0
- package/dist/lib/core/redisConversationMemoryManager.d.ts +1 -6
- package/dist/lib/core/redisConversationMemoryManager.js +7 -19
- package/dist/lib/factories/providerFactory.d.ts +5 -3
- package/dist/lib/factories/providerFactory.js +31 -24
- package/dist/lib/image-gen/ImageGenService.d.ts +143 -0
- package/dist/lib/image-gen/ImageGenService.js +346 -0
- package/dist/lib/image-gen/imageGenTools.d.ts +126 -0
- package/dist/lib/image-gen/imageGenTools.js +305 -0
- package/dist/lib/image-gen/index.d.ts +46 -0
- package/dist/lib/image-gen/index.js +49 -0
- package/dist/lib/image-gen/types.d.ts +237 -0
- package/dist/lib/image-gen/types.js +25 -0
- package/dist/lib/index.d.ts +46 -12
- package/dist/lib/index.js +88 -36
- package/dist/lib/mcp/index.d.ts +6 -5
- package/dist/lib/mcp/index.js +7 -5
- package/dist/lib/neurolink.d.ts +11 -13
- package/dist/lib/neurolink.js +95 -29
- package/dist/lib/processors/base/BaseFileProcessor.d.ts +273 -0
- package/dist/lib/processors/base/BaseFileProcessor.js +614 -0
- package/dist/lib/processors/base/index.d.ts +14 -0
- package/dist/lib/processors/base/index.js +20 -0
- package/dist/lib/processors/base/types.d.ts +593 -0
- package/dist/lib/processors/base/types.js +77 -0
- package/dist/lib/processors/cli/fileProcessorCli.d.ts +163 -0
- package/dist/lib/processors/cli/fileProcessorCli.js +389 -0
- package/dist/lib/processors/cli/index.d.ts +37 -0
- package/dist/lib/processors/cli/index.js +50 -0
- package/dist/lib/processors/code/ConfigProcessor.d.ts +171 -0
- package/dist/lib/processors/code/ConfigProcessor.js +401 -0
- package/dist/lib/processors/code/SourceCodeProcessor.d.ts +174 -0
- package/dist/lib/processors/code/SourceCodeProcessor.js +305 -0
- package/dist/lib/processors/code/index.d.ts +44 -0
- package/dist/lib/processors/code/index.js +61 -0
- package/dist/lib/processors/config/fileTypes.d.ts +283 -0
- package/dist/lib/processors/config/fileTypes.js +521 -0
- package/dist/lib/processors/config/index.d.ts +32 -0
- package/dist/lib/processors/config/index.js +93 -0
- package/dist/lib/processors/config/languageMap.d.ts +66 -0
- package/dist/lib/processors/config/languageMap.js +411 -0
- package/dist/lib/processors/config/mimeTypes.d.ts +376 -0
- package/dist/lib/processors/config/mimeTypes.js +339 -0
- package/dist/lib/processors/config/sizeLimits.d.ts +194 -0
- package/dist/lib/processors/config/sizeLimits.js +247 -0
- package/dist/lib/processors/data/JsonProcessor.d.ts +122 -0
- package/dist/lib/processors/data/JsonProcessor.js +204 -0
- package/dist/lib/processors/data/XmlProcessor.d.ts +160 -0
- package/dist/lib/processors/data/XmlProcessor.js +284 -0
- package/dist/lib/processors/data/YamlProcessor.d.ts +163 -0
- package/dist/lib/processors/data/YamlProcessor.js +295 -0
- package/dist/lib/processors/data/index.d.ts +49 -0
- package/dist/lib/processors/data/index.js +77 -0
- package/dist/lib/processors/document/ExcelProcessor.d.ts +238 -0
- package/dist/lib/processors/document/ExcelProcessor.js +520 -0
- package/dist/lib/processors/document/OpenDocumentProcessor.d.ts +69 -0
- package/dist/lib/processors/document/OpenDocumentProcessor.js +211 -0
- package/dist/lib/processors/document/RtfProcessor.d.ts +152 -0
- package/dist/lib/processors/document/RtfProcessor.js +362 -0
- package/dist/lib/processors/document/WordProcessor.d.ts +168 -0
- package/dist/lib/processors/document/WordProcessor.js +354 -0
- package/dist/lib/processors/document/index.d.ts +54 -0
- package/dist/lib/processors/document/index.js +91 -0
- package/dist/lib/processors/errors/FileErrorCode.d.ts +98 -0
- package/dist/lib/processors/errors/FileErrorCode.js +256 -0
- package/dist/lib/processors/errors/errorHelpers.d.ts +151 -0
- package/dist/lib/processors/errors/errorHelpers.js +379 -0
- package/dist/lib/processors/errors/errorSerializer.d.ts +139 -0
- package/dist/lib/processors/errors/errorSerializer.js +508 -0
- package/dist/lib/processors/errors/index.d.ts +46 -0
- package/dist/lib/processors/errors/index.js +50 -0
- package/dist/lib/processors/index.d.ts +76 -0
- package/dist/lib/processors/index.js +113 -0
- package/dist/lib/processors/integration/FileProcessorIntegration.d.ts +244 -0
- package/dist/lib/processors/integration/FileProcessorIntegration.js +273 -0
- package/dist/lib/processors/integration/index.d.ts +42 -0
- package/dist/lib/processors/integration/index.js +45 -0
- package/dist/lib/processors/markup/HtmlProcessor.d.ts +169 -0
- package/dist/lib/processors/markup/HtmlProcessor.js +250 -0
- package/dist/lib/processors/markup/MarkdownProcessor.d.ts +165 -0
- package/dist/lib/processors/markup/MarkdownProcessor.js +245 -0
- package/dist/lib/processors/markup/SvgProcessor.d.ts +156 -0
- package/dist/lib/processors/markup/SvgProcessor.js +241 -0
- package/dist/lib/processors/markup/TextProcessor.d.ts +135 -0
- package/dist/lib/processors/markup/TextProcessor.js +189 -0
- package/dist/lib/processors/markup/index.d.ts +66 -0
- package/dist/lib/processors/markup/index.js +103 -0
- package/dist/lib/processors/registry/ProcessorRegistry.d.ts +334 -0
- package/dist/lib/processors/registry/ProcessorRegistry.js +609 -0
- package/dist/lib/processors/registry/index.d.ts +12 -0
- package/dist/lib/processors/registry/index.js +17 -0
- package/dist/lib/processors/registry/types.d.ts +53 -0
- package/dist/lib/processors/registry/types.js +11 -0
- package/dist/lib/providers/amazonBedrock.d.ts +15 -2
- package/dist/lib/providers/amazonBedrock.js +65 -8
- package/dist/lib/providers/anthropic.d.ts +3 -3
- package/dist/lib/providers/anthropic.js +10 -7
- package/dist/lib/providers/googleAiStudio.d.ts +5 -5
- package/dist/lib/providers/googleAiStudio.js +10 -7
- package/dist/lib/providers/googleVertex.d.ts +16 -4
- package/dist/lib/providers/googleVertex.js +72 -16
- package/dist/lib/providers/litellm.d.ts +3 -3
- package/dist/lib/providers/litellm.js +10 -10
- package/dist/lib/providers/mistral.d.ts +3 -3
- package/dist/lib/providers/mistral.js +7 -6
- package/dist/lib/providers/ollama.d.ts +3 -4
- package/dist/lib/providers/ollama.js +7 -8
- package/dist/lib/providers/openAI.d.ts +14 -2
- package/dist/lib/providers/openAI.js +60 -6
- package/dist/lib/providers/openRouter.d.ts +2 -2
- package/dist/lib/providers/openRouter.js +10 -6
- package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
- package/dist/lib/rag/ChunkerFactory.d.ts +91 -0
- package/dist/lib/rag/ChunkerFactory.js +321 -0
- package/dist/lib/rag/ChunkerRegistry.d.ts +91 -0
- package/dist/lib/rag/ChunkerRegistry.js +422 -0
- package/dist/lib/rag/chunkers/BaseChunker.d.ts +53 -0
- package/dist/lib/rag/chunkers/BaseChunker.js +144 -0
- package/dist/lib/rag/chunkers/CharacterChunker.d.ts +18 -0
- package/dist/lib/rag/chunkers/CharacterChunker.js +29 -0
- package/dist/lib/rag/chunkers/HTMLChunker.d.ts +19 -0
- package/dist/lib/rag/chunkers/HTMLChunker.js +39 -0
- package/dist/lib/rag/chunkers/JSONChunker.d.ts +19 -0
- package/dist/lib/rag/chunkers/JSONChunker.js +69 -0
- package/dist/lib/rag/chunkers/LaTeXChunker.d.ts +15 -0
- package/dist/lib/rag/chunkers/LaTeXChunker.js +64 -0
- package/dist/lib/rag/chunkers/MarkdownChunker.d.ts +15 -0
- package/dist/lib/rag/chunkers/MarkdownChunker.js +103 -0
- package/dist/lib/rag/chunkers/RecursiveChunker.d.ts +27 -0
- package/dist/lib/rag/chunkers/RecursiveChunker.js +140 -0
- package/dist/lib/rag/chunkers/SemanticMarkdownChunker.d.ts +22 -0
- package/dist/lib/rag/chunkers/SemanticMarkdownChunker.js +139 -0
- package/dist/lib/rag/chunkers/SentenceChunker.d.ts +19 -0
- package/dist/lib/rag/chunkers/SentenceChunker.js +67 -0
- package/dist/lib/rag/chunkers/TokenChunker.d.ts +19 -0
- package/dist/lib/rag/chunkers/TokenChunker.js +62 -0
- package/dist/lib/rag/chunkers/index.d.ts +15 -0
- package/dist/lib/rag/chunkers/index.js +16 -0
- package/dist/lib/rag/chunking/characterChunker.d.ts +16 -0
- package/dist/lib/rag/chunking/characterChunker.js +143 -0
- package/dist/lib/rag/chunking/chunkerRegistry.d.ts +67 -0
- package/dist/lib/rag/chunking/chunkerRegistry.js +195 -0
- package/dist/lib/rag/chunking/htmlChunker.d.ts +34 -0
- package/dist/lib/rag/chunking/htmlChunker.js +248 -0
- package/dist/lib/rag/chunking/index.d.ts +15 -0
- package/dist/lib/rag/chunking/index.js +18 -0
- package/dist/lib/rag/chunking/jsonChunker.d.ts +20 -0
- package/dist/lib/rag/chunking/jsonChunker.js +282 -0
- package/dist/lib/rag/chunking/latexChunker.d.ts +26 -0
- package/dist/lib/rag/chunking/latexChunker.js +252 -0
- package/dist/lib/rag/chunking/markdownChunker.d.ts +19 -0
- package/dist/lib/rag/chunking/markdownChunker.js +202 -0
- package/dist/lib/rag/chunking/recursiveChunker.d.ts +19 -0
- package/dist/lib/rag/chunking/recursiveChunker.js +149 -0
- package/dist/lib/rag/chunking/semanticChunker.d.ts +41 -0
- package/dist/lib/rag/chunking/semanticChunker.js +307 -0
- package/dist/lib/rag/chunking/sentenceChunker.d.ts +25 -0
- package/dist/lib/rag/chunking/sentenceChunker.js +231 -0
- package/dist/lib/rag/chunking/tokenChunker.d.ts +36 -0
- package/dist/lib/rag/chunking/tokenChunker.js +184 -0
- package/dist/lib/rag/document/MDocument.d.ts +198 -0
- package/dist/lib/rag/document/MDocument.js +393 -0
- package/dist/lib/rag/document/index.d.ts +5 -0
- package/dist/lib/rag/document/index.js +6 -0
- package/dist/lib/rag/document/loaders.d.ts +201 -0
- package/dist/lib/rag/document/loaders.js +501 -0
- package/dist/lib/rag/errors/RAGError.d.ts +244 -0
- package/dist/lib/rag/errors/RAGError.js +275 -0
- package/dist/lib/rag/errors/index.d.ts +6 -0
- package/dist/lib/rag/errors/index.js +7 -0
- package/dist/lib/rag/graphRag/graphRAG.d.ts +115 -0
- package/dist/lib/rag/graphRag/graphRAG.js +385 -0
- package/dist/lib/rag/graphRag/index.d.ts +4 -0
- package/dist/lib/rag/graphRag/index.js +5 -0
- package/dist/lib/rag/index.d.ts +103 -0
- package/dist/lib/rag/index.js +142 -0
- package/dist/lib/rag/metadata/MetadataExtractorFactory.d.ts +157 -0
- package/dist/lib/rag/metadata/MetadataExtractorFactory.js +419 -0
- package/dist/lib/rag/metadata/MetadataExtractorRegistry.d.ts +99 -0
- package/dist/lib/rag/metadata/MetadataExtractorRegistry.js +363 -0
- package/dist/lib/rag/metadata/index.d.ts +6 -0
- package/dist/lib/rag/metadata/index.js +10 -0
- package/dist/lib/rag/metadata/metadataExtractor.d.ts +69 -0
- package/dist/lib/rag/metadata/metadataExtractor.js +278 -0
- package/dist/lib/rag/pipeline/RAGPipeline.d.ts +235 -0
- package/dist/lib/rag/pipeline/RAGPipeline.js +402 -0
- package/dist/lib/rag/pipeline/contextAssembly.d.ts +126 -0
- package/dist/lib/rag/pipeline/contextAssembly.js +338 -0
- package/dist/lib/rag/pipeline/index.d.ts +5 -0
- package/dist/lib/rag/pipeline/index.js +6 -0
- package/dist/lib/rag/ragIntegration.d.ts +38 -0
- package/dist/lib/rag/ragIntegration.js +212 -0
- package/dist/lib/rag/reranker/RerankerFactory.d.ts +184 -0
- package/dist/lib/rag/reranker/RerankerFactory.js +431 -0
- package/dist/lib/rag/reranker/RerankerRegistry.d.ts +119 -0
- package/dist/lib/rag/reranker/RerankerRegistry.js +403 -0
- package/dist/lib/rag/reranker/index.d.ts +6 -0
- package/dist/lib/rag/reranker/index.js +10 -0
- package/dist/lib/rag/reranker/reranker.d.ts +71 -0
- package/dist/lib/rag/reranker/reranker.js +278 -0
- package/dist/lib/rag/resilience/CircuitBreaker.d.ts +215 -0
- package/dist/lib/rag/resilience/CircuitBreaker.js +432 -0
- package/dist/lib/rag/resilience/RetryHandler.d.ts +115 -0
- package/dist/lib/rag/resilience/RetryHandler.js +301 -0
- package/dist/lib/rag/resilience/index.d.ts +7 -0
- package/dist/lib/rag/resilience/index.js +8 -0
- package/dist/lib/rag/retrieval/hybridSearch.d.ts +94 -0
- package/dist/lib/rag/retrieval/hybridSearch.js +314 -0
- package/dist/lib/rag/retrieval/index.d.ts +5 -0
- package/dist/lib/rag/retrieval/index.js +6 -0
- package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +93 -0
- package/dist/lib/rag/retrieval/vectorQueryTool.js +290 -0
- package/dist/lib/rag/types.d.ts +768 -0
- package/dist/lib/rag/types.js +9 -0
- package/dist/lib/server/index.d.ts +15 -11
- package/dist/lib/server/index.js +55 -51
- package/dist/lib/server/utils/validation.d.ts +2 -2
- package/dist/lib/types/common.d.ts +0 -1
- package/dist/lib/types/fileTypes.d.ts +1 -1
- package/dist/lib/types/generateTypes.d.ts +42 -8
- package/dist/lib/types/generateTypes.js +1 -1
- package/dist/lib/types/index.d.ts +25 -24
- package/dist/lib/types/index.js +21 -20
- package/dist/lib/types/modelTypes.d.ts +16 -16
- package/dist/lib/types/pptTypes.d.ts +14 -2
- package/dist/lib/types/pptTypes.js +16 -0
- package/dist/lib/types/streamTypes.d.ts +28 -8
- package/dist/lib/types/streamTypes.js +1 -1
- package/dist/lib/utils/async/delay.d.ts +40 -0
- package/dist/lib/utils/async/delay.js +43 -0
- package/dist/lib/utils/async/index.d.ts +23 -0
- package/dist/lib/utils/async/index.js +24 -0
- package/dist/lib/utils/async/retry.d.ts +141 -0
- package/dist/lib/utils/async/retry.js +172 -0
- package/dist/lib/utils/async/withTimeout.d.ts +73 -0
- package/dist/lib/utils/async/withTimeout.js +97 -0
- package/dist/lib/utils/fileDetector.d.ts +7 -1
- package/dist/lib/utils/fileDetector.js +91 -18
- package/dist/lib/utils/json/extract.d.ts +103 -0
- package/dist/lib/utils/json/extract.js +249 -0
- package/dist/lib/utils/json/index.d.ts +36 -0
- package/dist/lib/utils/json/index.js +37 -0
- package/dist/lib/utils/json/safeParse.d.ts +137 -0
- package/dist/lib/utils/json/safeParse.js +191 -0
- package/dist/lib/utils/messageBuilder.d.ts +2 -2
- package/dist/lib/utils/messageBuilder.js +15 -7
- package/dist/lib/utils/modelRouter.d.ts +4 -4
- package/dist/lib/utils/modelRouter.js +4 -4
- package/dist/lib/utils/sanitizers/filename.d.ts +137 -0
- package/dist/lib/utils/sanitizers/filename.js +366 -0
- package/dist/lib/utils/sanitizers/html.d.ts +170 -0
- package/dist/lib/utils/sanitizers/html.js +326 -0
- package/dist/lib/utils/sanitizers/index.d.ts +26 -0
- package/dist/lib/utils/sanitizers/index.js +30 -0
- package/dist/lib/utils/sanitizers/svg.d.ts +81 -0
- package/dist/lib/utils/sanitizers/svg.js +483 -0
- package/dist/mcp/index.d.ts +6 -5
- package/dist/mcp/index.js +7 -5
- package/dist/neurolink.d.ts +11 -13
- package/dist/neurolink.js +95 -29
- package/dist/processors/base/BaseFileProcessor.d.ts +273 -0
- package/dist/processors/base/BaseFileProcessor.js +613 -0
- package/dist/processors/base/index.d.ts +14 -0
- package/dist/processors/base/index.js +19 -0
- package/dist/processors/base/types.d.ts +593 -0
- package/dist/processors/base/types.js +76 -0
- package/dist/processors/cli/fileProcessorCli.d.ts +163 -0
- package/dist/processors/cli/fileProcessorCli.js +388 -0
- package/dist/processors/cli/index.d.ts +37 -0
- package/dist/processors/cli/index.js +49 -0
- package/dist/processors/code/ConfigProcessor.d.ts +171 -0
- package/dist/processors/code/ConfigProcessor.js +400 -0
- package/dist/processors/code/SourceCodeProcessor.d.ts +174 -0
- package/dist/processors/code/SourceCodeProcessor.js +304 -0
- package/dist/processors/code/index.d.ts +44 -0
- package/dist/processors/code/index.js +60 -0
- package/dist/processors/config/fileTypes.d.ts +283 -0
- package/dist/processors/config/fileTypes.js +520 -0
- package/dist/processors/config/index.d.ts +32 -0
- package/dist/processors/config/index.js +92 -0
- package/dist/processors/config/languageMap.d.ts +66 -0
- package/dist/processors/config/languageMap.js +410 -0
- package/dist/processors/config/mimeTypes.d.ts +376 -0
- package/dist/processors/config/mimeTypes.js +338 -0
- package/dist/processors/config/sizeLimits.d.ts +194 -0
- package/dist/processors/config/sizeLimits.js +246 -0
- package/dist/processors/data/JsonProcessor.d.ts +122 -0
- package/dist/processors/data/JsonProcessor.js +203 -0
- package/dist/processors/data/XmlProcessor.d.ts +160 -0
- package/dist/processors/data/XmlProcessor.js +283 -0
- package/dist/processors/data/YamlProcessor.d.ts +163 -0
- package/dist/processors/data/YamlProcessor.js +294 -0
- package/dist/processors/data/index.d.ts +49 -0
- package/dist/processors/data/index.js +76 -0
- package/dist/processors/document/ExcelProcessor.d.ts +238 -0
- package/dist/processors/document/ExcelProcessor.js +519 -0
- package/dist/processors/document/OpenDocumentProcessor.d.ts +69 -0
- package/dist/processors/document/OpenDocumentProcessor.js +210 -0
- package/dist/processors/document/RtfProcessor.d.ts +152 -0
- package/dist/processors/document/RtfProcessor.js +361 -0
- package/dist/processors/document/WordProcessor.d.ts +168 -0
- package/dist/processors/document/WordProcessor.js +353 -0
- package/dist/processors/document/index.d.ts +54 -0
- package/dist/processors/document/index.js +90 -0
- package/dist/processors/errors/FileErrorCode.d.ts +98 -0
- package/dist/processors/errors/FileErrorCode.js +255 -0
- package/dist/processors/errors/errorHelpers.d.ts +151 -0
- package/dist/processors/errors/errorHelpers.js +378 -0
- package/dist/processors/errors/errorSerializer.d.ts +139 -0
- package/dist/processors/errors/errorSerializer.js +507 -0
- package/dist/processors/errors/index.d.ts +46 -0
- package/dist/processors/errors/index.js +49 -0
- package/dist/processors/index.d.ts +76 -0
- package/dist/processors/index.js +112 -0
- package/dist/processors/integration/FileProcessorIntegration.d.ts +244 -0
- package/dist/processors/integration/FileProcessorIntegration.js +272 -0
- package/dist/processors/integration/index.d.ts +42 -0
- package/dist/processors/integration/index.js +44 -0
- package/dist/processors/markup/HtmlProcessor.d.ts +169 -0
- package/dist/processors/markup/HtmlProcessor.js +249 -0
- package/dist/processors/markup/MarkdownProcessor.d.ts +165 -0
- package/dist/processors/markup/MarkdownProcessor.js +244 -0
- package/dist/processors/markup/SvgProcessor.d.ts +156 -0
- package/dist/processors/markup/SvgProcessor.js +240 -0
- package/dist/processors/markup/TextProcessor.d.ts +135 -0
- package/dist/processors/markup/TextProcessor.js +188 -0
- package/dist/processors/markup/index.d.ts +66 -0
- package/dist/processors/markup/index.js +102 -0
- package/dist/processors/registry/ProcessorRegistry.d.ts +334 -0
- package/dist/processors/registry/ProcessorRegistry.js +608 -0
- package/dist/processors/registry/index.d.ts +12 -0
- package/dist/processors/registry/index.js +16 -0
- package/dist/processors/registry/types.d.ts +53 -0
- package/dist/processors/registry/types.js +10 -0
- package/dist/providers/amazonBedrock.d.ts +15 -2
- package/dist/providers/amazonBedrock.js +65 -8
- package/dist/providers/anthropic.d.ts +3 -3
- package/dist/providers/anthropic.js +10 -7
- package/dist/providers/googleAiStudio.d.ts +5 -5
- package/dist/providers/googleAiStudio.js +10 -7
- package/dist/providers/googleVertex.d.ts +16 -4
- package/dist/providers/googleVertex.js +72 -16
- package/dist/providers/litellm.d.ts +3 -3
- package/dist/providers/litellm.js +10 -10
- package/dist/providers/mistral.d.ts +3 -3
- package/dist/providers/mistral.js +7 -6
- package/dist/providers/ollama.d.ts +3 -4
- package/dist/providers/ollama.js +7 -8
- package/dist/providers/openAI.d.ts +14 -2
- package/dist/providers/openAI.js +60 -6
- package/dist/providers/openRouter.d.ts +2 -2
- package/dist/providers/openRouter.js +10 -6
- package/dist/rag/ChunkerFactory.d.ts +91 -0
- package/dist/rag/ChunkerFactory.js +320 -0
- package/dist/rag/ChunkerRegistry.d.ts +91 -0
- package/dist/rag/ChunkerRegistry.js +421 -0
- package/dist/rag/chunkers/BaseChunker.d.ts +53 -0
- package/dist/rag/chunkers/BaseChunker.js +143 -0
- package/dist/rag/chunkers/CharacterChunker.d.ts +18 -0
- package/dist/rag/chunkers/CharacterChunker.js +28 -0
- package/dist/rag/chunkers/HTMLChunker.d.ts +19 -0
- package/dist/rag/chunkers/HTMLChunker.js +38 -0
- package/dist/rag/chunkers/JSONChunker.d.ts +19 -0
- package/dist/rag/chunkers/JSONChunker.js +68 -0
- package/dist/rag/chunkers/LaTeXChunker.d.ts +15 -0
- package/dist/rag/chunkers/LaTeXChunker.js +63 -0
- package/dist/rag/chunkers/MarkdownChunker.d.ts +15 -0
- package/dist/rag/chunkers/MarkdownChunker.js +102 -0
- package/dist/rag/chunkers/RecursiveChunker.d.ts +27 -0
- package/dist/rag/chunkers/RecursiveChunker.js +139 -0
- package/dist/rag/chunkers/SemanticMarkdownChunker.d.ts +22 -0
- package/dist/rag/chunkers/SemanticMarkdownChunker.js +138 -0
- package/dist/rag/chunkers/SentenceChunker.d.ts +19 -0
- package/dist/rag/chunkers/SentenceChunker.js +66 -0
- package/dist/rag/chunkers/TokenChunker.d.ts +19 -0
- package/dist/rag/chunkers/TokenChunker.js +61 -0
- package/dist/rag/chunkers/index.d.ts +15 -0
- package/dist/rag/chunkers/index.js +15 -0
- package/dist/rag/chunking/characterChunker.d.ts +16 -0
- package/dist/rag/chunking/characterChunker.js +142 -0
- package/dist/rag/chunking/chunkerRegistry.d.ts +67 -0
- package/dist/rag/chunking/chunkerRegistry.js +194 -0
- package/dist/rag/chunking/htmlChunker.d.ts +34 -0
- package/dist/rag/chunking/htmlChunker.js +247 -0
- package/dist/rag/chunking/index.d.ts +15 -0
- package/dist/rag/chunking/index.js +17 -0
- package/dist/rag/chunking/jsonChunker.d.ts +20 -0
- package/dist/rag/chunking/jsonChunker.js +281 -0
- package/dist/rag/chunking/latexChunker.d.ts +26 -0
- package/dist/rag/chunking/latexChunker.js +251 -0
- package/dist/rag/chunking/markdownChunker.d.ts +19 -0
- package/dist/rag/chunking/markdownChunker.js +201 -0
- package/dist/rag/chunking/recursiveChunker.d.ts +19 -0
- package/dist/rag/chunking/recursiveChunker.js +148 -0
- package/dist/rag/chunking/semanticChunker.d.ts +41 -0
- package/dist/rag/chunking/semanticChunker.js +306 -0
- package/dist/rag/chunking/sentenceChunker.d.ts +25 -0
- package/dist/rag/chunking/sentenceChunker.js +230 -0
- package/dist/rag/chunking/tokenChunker.d.ts +36 -0
- package/dist/rag/chunking/tokenChunker.js +183 -0
- package/dist/rag/document/MDocument.d.ts +198 -0
- package/dist/rag/document/MDocument.js +392 -0
- package/dist/rag/document/index.d.ts +5 -0
- package/dist/rag/document/index.js +5 -0
- package/dist/rag/document/loaders.d.ts +201 -0
- package/dist/rag/document/loaders.js +500 -0
- package/dist/rag/errors/RAGError.d.ts +244 -0
- package/dist/rag/errors/RAGError.js +274 -0
- package/dist/rag/errors/index.d.ts +6 -0
- package/dist/rag/errors/index.js +6 -0
- package/dist/rag/graphRag/graphRAG.d.ts +115 -0
- package/dist/rag/graphRag/graphRAG.js +384 -0
- package/dist/rag/graphRag/index.d.ts +4 -0
- package/dist/rag/graphRag/index.js +4 -0
- package/dist/rag/index.d.ts +103 -0
- package/dist/rag/index.js +141 -0
- package/dist/rag/metadata/MetadataExtractorFactory.d.ts +157 -0
- package/dist/rag/metadata/MetadataExtractorFactory.js +418 -0
- package/dist/rag/metadata/MetadataExtractorRegistry.d.ts +99 -0
- package/dist/rag/metadata/MetadataExtractorRegistry.js +362 -0
- package/dist/rag/metadata/index.d.ts +6 -0
- package/dist/rag/metadata/index.js +9 -0
- package/dist/rag/metadata/metadataExtractor.d.ts +69 -0
- package/dist/rag/metadata/metadataExtractor.js +277 -0
- package/dist/rag/pipeline/RAGPipeline.d.ts +235 -0
- package/dist/rag/pipeline/RAGPipeline.js +401 -0
- package/dist/rag/pipeline/contextAssembly.d.ts +126 -0
- package/dist/rag/pipeline/contextAssembly.js +337 -0
- package/dist/rag/pipeline/index.d.ts +5 -0
- package/dist/rag/pipeline/index.js +5 -0
- package/dist/rag/ragIntegration.d.ts +38 -0
- package/dist/rag/ragIntegration.js +211 -0
- package/dist/rag/reranker/RerankerFactory.d.ts +184 -0
- package/dist/rag/reranker/RerankerFactory.js +430 -0
- package/dist/rag/reranker/RerankerRegistry.d.ts +119 -0
- package/dist/rag/reranker/RerankerRegistry.js +402 -0
- package/dist/rag/reranker/index.d.ts +6 -0
- package/dist/rag/reranker/index.js +9 -0
- package/dist/rag/reranker/reranker.d.ts +71 -0
- package/dist/rag/reranker/reranker.js +277 -0
- package/dist/rag/resilience/CircuitBreaker.d.ts +215 -0
- package/dist/rag/resilience/CircuitBreaker.js +431 -0
- package/dist/rag/resilience/RetryHandler.d.ts +115 -0
- package/dist/rag/resilience/RetryHandler.js +300 -0
- package/dist/rag/resilience/index.d.ts +7 -0
- package/dist/rag/resilience/index.js +7 -0
- package/dist/rag/retrieval/hybridSearch.d.ts +94 -0
- package/dist/rag/retrieval/hybridSearch.js +313 -0
- package/dist/rag/retrieval/index.d.ts +5 -0
- package/dist/rag/retrieval/index.js +5 -0
- package/dist/rag/retrieval/vectorQueryTool.d.ts +93 -0
- package/dist/rag/retrieval/vectorQueryTool.js +289 -0
- package/dist/rag/types.d.ts +768 -0
- package/dist/rag/types.js +8 -0
- package/dist/server/index.d.ts +15 -11
- package/dist/server/index.js +55 -51
- package/dist/server/utils/validation.d.ts +8 -8
- package/dist/types/common.d.ts +0 -1
- package/dist/types/fileTypes.d.ts +1 -1
- package/dist/types/generateTypes.d.ts +42 -8
- package/dist/types/generateTypes.js +1 -1
- package/dist/types/index.d.ts +25 -24
- package/dist/types/index.js +21 -20
- package/dist/types/modelTypes.d.ts +10 -10
- package/dist/types/pptTypes.d.ts +14 -2
- package/dist/types/pptTypes.js +16 -0
- package/dist/types/streamTypes.d.ts +28 -8
- package/dist/types/streamTypes.js +1 -1
- package/dist/utils/async/delay.d.ts +40 -0
- package/dist/utils/async/delay.js +42 -0
- package/dist/utils/async/index.d.ts +23 -0
- package/dist/utils/async/index.js +23 -0
- package/dist/utils/async/retry.d.ts +141 -0
- package/dist/utils/async/retry.js +171 -0
- package/dist/utils/async/withTimeout.d.ts +73 -0
- package/dist/utils/async/withTimeout.js +96 -0
- package/dist/utils/fileDetector.d.ts +7 -1
- package/dist/utils/fileDetector.js +91 -18
- package/dist/utils/json/extract.d.ts +103 -0
- package/dist/utils/json/extract.js +248 -0
- package/dist/utils/json/index.d.ts +36 -0
- package/dist/utils/json/index.js +36 -0
- package/dist/utils/json/safeParse.d.ts +137 -0
- package/dist/utils/json/safeParse.js +190 -0
- package/dist/utils/messageBuilder.d.ts +2 -2
- package/dist/utils/messageBuilder.js +15 -7
- package/dist/utils/modelRouter.d.ts +4 -4
- package/dist/utils/modelRouter.js +4 -4
- package/dist/utils/sanitizers/filename.d.ts +137 -0
- package/dist/utils/sanitizers/filename.js +365 -0
- package/dist/utils/sanitizers/html.d.ts +170 -0
- package/dist/utils/sanitizers/html.js +325 -0
- package/dist/utils/sanitizers/index.d.ts +26 -0
- package/dist/utils/sanitizers/index.js +29 -0
- package/dist/utils/sanitizers/svg.d.ts +81 -0
- package/dist/utils/sanitizers/svg.js +482 -0
- package/package.json +2 -2
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Error Types
|
|
3
|
+
*
|
|
4
|
+
* Provides typed errors for all RAG operations including chunking,
|
|
5
|
+
* metadata extraction, embedding, vector queries, and reranking.
|
|
6
|
+
* Uses the NeuroLinkFeatureError pattern for consistency.
|
|
7
|
+
*/
|
|
8
|
+
import { NeuroLinkFeatureError } from "../../core/infrastructure/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* RAG error codes for all RAG-related operations
|
|
11
|
+
*/
|
|
12
|
+
export declare const RAGErrorCodes: {
|
|
13
|
+
readonly CHUNKING_ERROR: "RAG_CHUNKING_ERROR";
|
|
14
|
+
readonly CHUNKING_INVALID_CONFIG: "RAG_CHUNKING_INVALID_CONFIG";
|
|
15
|
+
readonly CHUNKING_STRATEGY_NOT_FOUND: "RAG_CHUNKING_STRATEGY_NOT_FOUND";
|
|
16
|
+
readonly CHUNKING_EMPTY_CONTENT: "RAG_CHUNKING_EMPTY_CONTENT";
|
|
17
|
+
readonly CHUNKING_SIZE_EXCEEDED: "RAG_CHUNKING_SIZE_EXCEEDED";
|
|
18
|
+
readonly METADATA_EXTRACTION_ERROR: "RAG_METADATA_EXTRACTION_ERROR";
|
|
19
|
+
readonly METADATA_EXTRACTION_TIMEOUT: "RAG_METADATA_EXTRACTION_TIMEOUT";
|
|
20
|
+
readonly METADATA_SCHEMA_INVALID: "RAG_METADATA_SCHEMA_INVALID";
|
|
21
|
+
readonly METADATA_EXTRACTOR_NOT_FOUND: "RAG_METADATA_EXTRACTOR_NOT_FOUND";
|
|
22
|
+
readonly EMBEDDING_ERROR: "RAG_EMBEDDING_ERROR";
|
|
23
|
+
readonly EMBEDDING_DIMENSION_MISMATCH: "RAG_EMBEDDING_DIMENSION_MISMATCH";
|
|
24
|
+
readonly EMBEDDING_RATE_LIMIT: "RAG_EMBEDDING_RATE_LIMIT";
|
|
25
|
+
readonly EMBEDDING_PROVIDER_ERROR: "RAG_EMBEDDING_PROVIDER_ERROR";
|
|
26
|
+
readonly VECTOR_QUERY_ERROR: "RAG_VECTOR_QUERY_ERROR";
|
|
27
|
+
readonly VECTOR_QUERY_TIMEOUT: "RAG_VECTOR_QUERY_TIMEOUT";
|
|
28
|
+
readonly VECTOR_STORE_UNAVAILABLE: "RAG_VECTOR_STORE_UNAVAILABLE";
|
|
29
|
+
readonly VECTOR_STORE_CONNECTION_ERROR: "RAG_VECTOR_STORE_CONNECTION_ERROR";
|
|
30
|
+
readonly VECTOR_INDEX_NOT_FOUND: "RAG_VECTOR_INDEX_NOT_FOUND";
|
|
31
|
+
readonly RERANKER_ERROR: "RAG_RERANKER_ERROR";
|
|
32
|
+
readonly RERANKER_NOT_FOUND: "RAG_RERANKER_NOT_FOUND";
|
|
33
|
+
readonly RERANKER_API_ERROR: "RAG_RERANKER_API_ERROR";
|
|
34
|
+
readonly GRAPH_RAG_ERROR: "RAG_GRAPH_ERROR";
|
|
35
|
+
readonly GRAPH_TRAVERSAL_ERROR: "RAG_GRAPH_TRAVERSAL_ERROR";
|
|
36
|
+
readonly GRAPH_NODE_NOT_FOUND: "RAG_GRAPH_NODE_NOT_FOUND";
|
|
37
|
+
readonly PIPELINE_ERROR: "RAG_PIPELINE_ERROR";
|
|
38
|
+
readonly PIPELINE_STAGE_FAILED: "RAG_PIPELINE_STAGE_FAILED";
|
|
39
|
+
readonly PIPELINE_PARTIAL_FAILURE: "RAG_PIPELINE_PARTIAL_FAILURE";
|
|
40
|
+
readonly CIRCUIT_BREAKER_OPEN: "RAG_CIRCUIT_BREAKER_OPEN";
|
|
41
|
+
readonly CIRCUIT_BREAKER_HALF_OPEN_LIMIT: "RAG_CIRCUIT_BREAKER_HALF_OPEN_LIMIT";
|
|
42
|
+
readonly OPERATION_TIMEOUT: "RAG_OPERATION_TIMEOUT";
|
|
43
|
+
readonly RETRY_EXHAUSTED: "RAG_RETRY_EXHAUSTED";
|
|
44
|
+
readonly INVALID_CONFIGURATION: "RAG_INVALID_CONFIGURATION";
|
|
45
|
+
};
|
|
46
|
+
export type RAGErrorCode = (typeof RAGErrorCodes)[keyof typeof RAGErrorCodes];
|
|
47
|
+
/**
|
|
48
|
+
* RAG error factory using the infrastructure pattern
|
|
49
|
+
*/
|
|
50
|
+
export declare const RAGErrorFactory: {
|
|
51
|
+
codes: {
|
|
52
|
+
readonly CHUNKING_ERROR: "RAG_CHUNKING_ERROR";
|
|
53
|
+
readonly CHUNKING_INVALID_CONFIG: "RAG_CHUNKING_INVALID_CONFIG";
|
|
54
|
+
readonly CHUNKING_STRATEGY_NOT_FOUND: "RAG_CHUNKING_STRATEGY_NOT_FOUND";
|
|
55
|
+
readonly CHUNKING_EMPTY_CONTENT: "RAG_CHUNKING_EMPTY_CONTENT";
|
|
56
|
+
readonly CHUNKING_SIZE_EXCEEDED: "RAG_CHUNKING_SIZE_EXCEEDED";
|
|
57
|
+
readonly METADATA_EXTRACTION_ERROR: "RAG_METADATA_EXTRACTION_ERROR";
|
|
58
|
+
readonly METADATA_EXTRACTION_TIMEOUT: "RAG_METADATA_EXTRACTION_TIMEOUT";
|
|
59
|
+
readonly METADATA_SCHEMA_INVALID: "RAG_METADATA_SCHEMA_INVALID";
|
|
60
|
+
readonly METADATA_EXTRACTOR_NOT_FOUND: "RAG_METADATA_EXTRACTOR_NOT_FOUND";
|
|
61
|
+
readonly EMBEDDING_ERROR: "RAG_EMBEDDING_ERROR";
|
|
62
|
+
readonly EMBEDDING_DIMENSION_MISMATCH: "RAG_EMBEDDING_DIMENSION_MISMATCH";
|
|
63
|
+
readonly EMBEDDING_RATE_LIMIT: "RAG_EMBEDDING_RATE_LIMIT";
|
|
64
|
+
readonly EMBEDDING_PROVIDER_ERROR: "RAG_EMBEDDING_PROVIDER_ERROR";
|
|
65
|
+
readonly VECTOR_QUERY_ERROR: "RAG_VECTOR_QUERY_ERROR";
|
|
66
|
+
readonly VECTOR_QUERY_TIMEOUT: "RAG_VECTOR_QUERY_TIMEOUT";
|
|
67
|
+
readonly VECTOR_STORE_UNAVAILABLE: "RAG_VECTOR_STORE_UNAVAILABLE";
|
|
68
|
+
readonly VECTOR_STORE_CONNECTION_ERROR: "RAG_VECTOR_STORE_CONNECTION_ERROR";
|
|
69
|
+
readonly VECTOR_INDEX_NOT_FOUND: "RAG_VECTOR_INDEX_NOT_FOUND";
|
|
70
|
+
readonly RERANKER_ERROR: "RAG_RERANKER_ERROR";
|
|
71
|
+
readonly RERANKER_NOT_FOUND: "RAG_RERANKER_NOT_FOUND";
|
|
72
|
+
readonly RERANKER_API_ERROR: "RAG_RERANKER_API_ERROR";
|
|
73
|
+
readonly GRAPH_RAG_ERROR: "RAG_GRAPH_ERROR";
|
|
74
|
+
readonly GRAPH_TRAVERSAL_ERROR: "RAG_GRAPH_TRAVERSAL_ERROR";
|
|
75
|
+
readonly GRAPH_NODE_NOT_FOUND: "RAG_GRAPH_NODE_NOT_FOUND";
|
|
76
|
+
readonly PIPELINE_ERROR: "RAG_PIPELINE_ERROR";
|
|
77
|
+
readonly PIPELINE_STAGE_FAILED: "RAG_PIPELINE_STAGE_FAILED";
|
|
78
|
+
readonly PIPELINE_PARTIAL_FAILURE: "RAG_PIPELINE_PARTIAL_FAILURE";
|
|
79
|
+
readonly CIRCUIT_BREAKER_OPEN: "RAG_CIRCUIT_BREAKER_OPEN";
|
|
80
|
+
readonly CIRCUIT_BREAKER_HALF_OPEN_LIMIT: "RAG_CIRCUIT_BREAKER_HALF_OPEN_LIMIT";
|
|
81
|
+
readonly OPERATION_TIMEOUT: "RAG_OPERATION_TIMEOUT";
|
|
82
|
+
readonly RETRY_EXHAUSTED: "RAG_RETRY_EXHAUSTED";
|
|
83
|
+
readonly INVALID_CONFIGURATION: "RAG_INVALID_CONFIGURATION";
|
|
84
|
+
};
|
|
85
|
+
create: (code: "INVALID_CONFIGURATION" | "CHUNKING_ERROR" | "CHUNKING_INVALID_CONFIG" | "CHUNKING_STRATEGY_NOT_FOUND" | "CHUNKING_EMPTY_CONTENT" | "CHUNKING_SIZE_EXCEEDED" | "METADATA_EXTRACTION_ERROR" | "METADATA_EXTRACTION_TIMEOUT" | "METADATA_SCHEMA_INVALID" | "METADATA_EXTRACTOR_NOT_FOUND" | "EMBEDDING_ERROR" | "EMBEDDING_DIMENSION_MISMATCH" | "EMBEDDING_RATE_LIMIT" | "EMBEDDING_PROVIDER_ERROR" | "VECTOR_QUERY_ERROR" | "VECTOR_QUERY_TIMEOUT" | "VECTOR_STORE_UNAVAILABLE" | "VECTOR_STORE_CONNECTION_ERROR" | "VECTOR_INDEX_NOT_FOUND" | "RERANKER_ERROR" | "RERANKER_NOT_FOUND" | "RERANKER_API_ERROR" | "GRAPH_RAG_ERROR" | "GRAPH_TRAVERSAL_ERROR" | "GRAPH_NODE_NOT_FOUND" | "PIPELINE_ERROR" | "PIPELINE_STAGE_FAILED" | "PIPELINE_PARTIAL_FAILURE" | "CIRCUIT_BREAKER_OPEN" | "CIRCUIT_BREAKER_HALF_OPEN_LIMIT" | "OPERATION_TIMEOUT" | "RETRY_EXHAUSTED", message: string, options?: {
|
|
86
|
+
retryable?: boolean;
|
|
87
|
+
details?: Record<string, unknown>;
|
|
88
|
+
cause?: Error;
|
|
89
|
+
} | undefined) => NeuroLinkFeatureError;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Base RAG error class extending NeuroLinkFeatureError
|
|
93
|
+
*/
|
|
94
|
+
export declare class RAGError extends NeuroLinkFeatureError {
|
|
95
|
+
constructor(message: string, code: RAGErrorCode, options?: {
|
|
96
|
+
retryable?: boolean;
|
|
97
|
+
details?: Record<string, unknown>;
|
|
98
|
+
cause?: Error;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Chunking-specific error
|
|
103
|
+
*/
|
|
104
|
+
export declare class ChunkingError extends RAGError {
|
|
105
|
+
readonly strategy?: string;
|
|
106
|
+
readonly contentLength?: number;
|
|
107
|
+
constructor(message: string, options?: {
|
|
108
|
+
code?: RAGErrorCode;
|
|
109
|
+
retryable?: boolean;
|
|
110
|
+
details?: Record<string, unknown>;
|
|
111
|
+
cause?: Error;
|
|
112
|
+
strategy?: string;
|
|
113
|
+
contentLength?: number;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Metadata extraction error
|
|
118
|
+
*/
|
|
119
|
+
export declare class MetadataExtractionError extends RAGError {
|
|
120
|
+
readonly extractorType?: string;
|
|
121
|
+
readonly chunkId?: string;
|
|
122
|
+
constructor(message: string, options?: {
|
|
123
|
+
code?: RAGErrorCode;
|
|
124
|
+
retryable?: boolean;
|
|
125
|
+
details?: Record<string, unknown>;
|
|
126
|
+
cause?: Error;
|
|
127
|
+
extractorType?: string;
|
|
128
|
+
chunkId?: string;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Embedding error
|
|
133
|
+
*/
|
|
134
|
+
export declare class EmbeddingError extends RAGError {
|
|
135
|
+
readonly provider?: string;
|
|
136
|
+
readonly batchSize?: number;
|
|
137
|
+
constructor(message: string, options?: {
|
|
138
|
+
code?: RAGErrorCode;
|
|
139
|
+
retryable?: boolean;
|
|
140
|
+
details?: Record<string, unknown>;
|
|
141
|
+
cause?: Error;
|
|
142
|
+
provider?: string;
|
|
143
|
+
batchSize?: number;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Vector query error
|
|
148
|
+
*/
|
|
149
|
+
export declare class VectorQueryError extends RAGError {
|
|
150
|
+
readonly storeType?: string;
|
|
151
|
+
readonly queryLength?: number;
|
|
152
|
+
readonly indexName?: string;
|
|
153
|
+
constructor(message: string, options?: {
|
|
154
|
+
code?: RAGErrorCode;
|
|
155
|
+
retryable?: boolean;
|
|
156
|
+
details?: Record<string, unknown>;
|
|
157
|
+
cause?: Error;
|
|
158
|
+
storeType?: string;
|
|
159
|
+
queryLength?: number;
|
|
160
|
+
indexName?: string;
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Reranker error
|
|
165
|
+
*/
|
|
166
|
+
export declare class RerankerError extends RAGError {
|
|
167
|
+
readonly rerankerType?: string;
|
|
168
|
+
readonly documentCount?: number;
|
|
169
|
+
constructor(message: string, options?: {
|
|
170
|
+
code?: RAGErrorCode;
|
|
171
|
+
retryable?: boolean;
|
|
172
|
+
details?: Record<string, unknown>;
|
|
173
|
+
cause?: Error;
|
|
174
|
+
rerankerType?: string;
|
|
175
|
+
documentCount?: number;
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Graph RAG error
|
|
180
|
+
*/
|
|
181
|
+
export declare class GraphRAGError extends RAGError {
|
|
182
|
+
readonly traversalStrategy?: string;
|
|
183
|
+
readonly nodeId?: string;
|
|
184
|
+
constructor(message: string, options?: {
|
|
185
|
+
code?: RAGErrorCode;
|
|
186
|
+
retryable?: boolean;
|
|
187
|
+
details?: Record<string, unknown>;
|
|
188
|
+
cause?: Error;
|
|
189
|
+
traversalStrategy?: string;
|
|
190
|
+
nodeId?: string;
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Pipeline error with partial failure support
|
|
195
|
+
*/
|
|
196
|
+
export declare class PipelineError extends RAGError {
|
|
197
|
+
readonly stageName?: string;
|
|
198
|
+
readonly successfulChunks?: number;
|
|
199
|
+
readonly failedChunks?: number;
|
|
200
|
+
readonly partialResults?: unknown[];
|
|
201
|
+
constructor(message: string, options?: {
|
|
202
|
+
code?: RAGErrorCode;
|
|
203
|
+
retryable?: boolean;
|
|
204
|
+
details?: Record<string, unknown>;
|
|
205
|
+
cause?: Error;
|
|
206
|
+
stageName?: string;
|
|
207
|
+
successfulChunks?: number;
|
|
208
|
+
failedChunks?: number;
|
|
209
|
+
partialResults?: unknown[];
|
|
210
|
+
});
|
|
211
|
+
/**
|
|
212
|
+
* Check if this is a partial failure (some chunks succeeded)
|
|
213
|
+
*/
|
|
214
|
+
isPartialFailure(): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Get success rate as a percentage
|
|
217
|
+
*/
|
|
218
|
+
getSuccessRate(): number;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Circuit breaker specific error for RAG operations
|
|
222
|
+
*/
|
|
223
|
+
export declare class RAGCircuitBreakerError extends RAGError {
|
|
224
|
+
readonly circuitName?: string;
|
|
225
|
+
readonly nextRetryTime?: Date;
|
|
226
|
+
constructor(message: string, options?: {
|
|
227
|
+
code?: RAGErrorCode;
|
|
228
|
+
details?: Record<string, unknown>;
|
|
229
|
+
circuitName?: string;
|
|
230
|
+
nextRetryTime?: Date;
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Type guard for RAG errors
|
|
235
|
+
*/
|
|
236
|
+
export declare function isRAGError(error: unknown): error is RAGError;
|
|
237
|
+
/**
|
|
238
|
+
* Type guard for retryable errors
|
|
239
|
+
*/
|
|
240
|
+
export declare function isRetryableRAGError(error: unknown): boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Type guard for partial failure errors
|
|
243
|
+
*/
|
|
244
|
+
export declare function isPartialFailure(error: unknown): error is PipelineError;
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Error Types
|
|
3
|
+
*
|
|
4
|
+
* Provides typed errors for all RAG operations including chunking,
|
|
5
|
+
* metadata extraction, embedding, vector queries, and reranking.
|
|
6
|
+
* Uses the NeuroLinkFeatureError pattern for consistency.
|
|
7
|
+
*/
|
|
8
|
+
import { NeuroLinkFeatureError, createErrorFactory, } from "../../core/infrastructure/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* RAG error codes for all RAG-related operations
|
|
11
|
+
*/
|
|
12
|
+
export const RAGErrorCodes = {
|
|
13
|
+
// Chunking errors
|
|
14
|
+
CHUNKING_ERROR: "RAG_CHUNKING_ERROR",
|
|
15
|
+
CHUNKING_INVALID_CONFIG: "RAG_CHUNKING_INVALID_CONFIG",
|
|
16
|
+
CHUNKING_STRATEGY_NOT_FOUND: "RAG_CHUNKING_STRATEGY_NOT_FOUND",
|
|
17
|
+
CHUNKING_EMPTY_CONTENT: "RAG_CHUNKING_EMPTY_CONTENT",
|
|
18
|
+
CHUNKING_SIZE_EXCEEDED: "RAG_CHUNKING_SIZE_EXCEEDED",
|
|
19
|
+
// Metadata extraction errors
|
|
20
|
+
METADATA_EXTRACTION_ERROR: "RAG_METADATA_EXTRACTION_ERROR",
|
|
21
|
+
METADATA_EXTRACTION_TIMEOUT: "RAG_METADATA_EXTRACTION_TIMEOUT",
|
|
22
|
+
METADATA_SCHEMA_INVALID: "RAG_METADATA_SCHEMA_INVALID",
|
|
23
|
+
METADATA_EXTRACTOR_NOT_FOUND: "RAG_METADATA_EXTRACTOR_NOT_FOUND",
|
|
24
|
+
// Embedding errors
|
|
25
|
+
EMBEDDING_ERROR: "RAG_EMBEDDING_ERROR",
|
|
26
|
+
EMBEDDING_DIMENSION_MISMATCH: "RAG_EMBEDDING_DIMENSION_MISMATCH",
|
|
27
|
+
EMBEDDING_RATE_LIMIT: "RAG_EMBEDDING_RATE_LIMIT",
|
|
28
|
+
EMBEDDING_PROVIDER_ERROR: "RAG_EMBEDDING_PROVIDER_ERROR",
|
|
29
|
+
// Vector store/query errors
|
|
30
|
+
VECTOR_QUERY_ERROR: "RAG_VECTOR_QUERY_ERROR",
|
|
31
|
+
VECTOR_QUERY_TIMEOUT: "RAG_VECTOR_QUERY_TIMEOUT",
|
|
32
|
+
VECTOR_STORE_UNAVAILABLE: "RAG_VECTOR_STORE_UNAVAILABLE",
|
|
33
|
+
VECTOR_STORE_CONNECTION_ERROR: "RAG_VECTOR_STORE_CONNECTION_ERROR",
|
|
34
|
+
VECTOR_INDEX_NOT_FOUND: "RAG_VECTOR_INDEX_NOT_FOUND",
|
|
35
|
+
// Reranking errors
|
|
36
|
+
RERANKER_ERROR: "RAG_RERANKER_ERROR",
|
|
37
|
+
RERANKER_NOT_FOUND: "RAG_RERANKER_NOT_FOUND",
|
|
38
|
+
RERANKER_API_ERROR: "RAG_RERANKER_API_ERROR",
|
|
39
|
+
// Graph RAG errors
|
|
40
|
+
GRAPH_RAG_ERROR: "RAG_GRAPH_ERROR",
|
|
41
|
+
GRAPH_TRAVERSAL_ERROR: "RAG_GRAPH_TRAVERSAL_ERROR",
|
|
42
|
+
GRAPH_NODE_NOT_FOUND: "RAG_GRAPH_NODE_NOT_FOUND",
|
|
43
|
+
// Pipeline errors
|
|
44
|
+
PIPELINE_ERROR: "RAG_PIPELINE_ERROR",
|
|
45
|
+
PIPELINE_STAGE_FAILED: "RAG_PIPELINE_STAGE_FAILED",
|
|
46
|
+
PIPELINE_PARTIAL_FAILURE: "RAG_PIPELINE_PARTIAL_FAILURE",
|
|
47
|
+
// Circuit breaker errors
|
|
48
|
+
CIRCUIT_BREAKER_OPEN: "RAG_CIRCUIT_BREAKER_OPEN",
|
|
49
|
+
CIRCUIT_BREAKER_HALF_OPEN_LIMIT: "RAG_CIRCUIT_BREAKER_HALF_OPEN_LIMIT",
|
|
50
|
+
// General errors
|
|
51
|
+
OPERATION_TIMEOUT: "RAG_OPERATION_TIMEOUT",
|
|
52
|
+
RETRY_EXHAUSTED: "RAG_RETRY_EXHAUSTED",
|
|
53
|
+
INVALID_CONFIGURATION: "RAG_INVALID_CONFIGURATION",
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* RAG error factory using the infrastructure pattern
|
|
57
|
+
*/
|
|
58
|
+
export const RAGErrorFactory = createErrorFactory("RAG", RAGErrorCodes);
|
|
59
|
+
/**
|
|
60
|
+
* Base RAG error class extending NeuroLinkFeatureError
|
|
61
|
+
*/
|
|
62
|
+
export class RAGError extends NeuroLinkFeatureError {
|
|
63
|
+
constructor(message, code, options) {
|
|
64
|
+
super(message, code, "RAG", options);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Chunking-specific error
|
|
69
|
+
*/
|
|
70
|
+
export class ChunkingError extends RAGError {
|
|
71
|
+
strategy;
|
|
72
|
+
contentLength;
|
|
73
|
+
constructor(message, options) {
|
|
74
|
+
super(message, options?.code ?? RAGErrorCodes.CHUNKING_ERROR, {
|
|
75
|
+
retryable: options?.retryable ?? false,
|
|
76
|
+
details: {
|
|
77
|
+
...options?.details,
|
|
78
|
+
strategy: options?.strategy,
|
|
79
|
+
contentLength: options?.contentLength,
|
|
80
|
+
},
|
|
81
|
+
cause: options?.cause,
|
|
82
|
+
});
|
|
83
|
+
this.strategy = options?.strategy;
|
|
84
|
+
this.contentLength = options?.contentLength;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Metadata extraction error
|
|
89
|
+
*/
|
|
90
|
+
export class MetadataExtractionError extends RAGError {
|
|
91
|
+
extractorType;
|
|
92
|
+
chunkId;
|
|
93
|
+
constructor(message, options) {
|
|
94
|
+
super(message, options?.code ?? RAGErrorCodes.METADATA_EXTRACTION_ERROR, {
|
|
95
|
+
retryable: options?.retryable ?? true, // LLM-based extraction is often retryable
|
|
96
|
+
details: {
|
|
97
|
+
...options?.details,
|
|
98
|
+
extractorType: options?.extractorType,
|
|
99
|
+
chunkId: options?.chunkId,
|
|
100
|
+
},
|
|
101
|
+
cause: options?.cause,
|
|
102
|
+
});
|
|
103
|
+
this.extractorType = options?.extractorType;
|
|
104
|
+
this.chunkId = options?.chunkId;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Embedding error
|
|
109
|
+
*/
|
|
110
|
+
export class EmbeddingError extends RAGError {
|
|
111
|
+
provider;
|
|
112
|
+
batchSize;
|
|
113
|
+
constructor(message, options) {
|
|
114
|
+
super(message, options?.code ?? RAGErrorCodes.EMBEDDING_ERROR, {
|
|
115
|
+
retryable: options?.retryable ?? true, // Embedding operations are typically retryable
|
|
116
|
+
details: {
|
|
117
|
+
...options?.details,
|
|
118
|
+
provider: options?.provider,
|
|
119
|
+
batchSize: options?.batchSize,
|
|
120
|
+
},
|
|
121
|
+
cause: options?.cause,
|
|
122
|
+
});
|
|
123
|
+
this.provider = options?.provider;
|
|
124
|
+
this.batchSize = options?.batchSize;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Vector query error
|
|
129
|
+
*/
|
|
130
|
+
export class VectorQueryError extends RAGError {
|
|
131
|
+
storeType;
|
|
132
|
+
queryLength;
|
|
133
|
+
indexName;
|
|
134
|
+
constructor(message, options) {
|
|
135
|
+
super(message, options?.code ?? RAGErrorCodes.VECTOR_QUERY_ERROR, {
|
|
136
|
+
retryable: options?.retryable ?? true,
|
|
137
|
+
details: {
|
|
138
|
+
...options?.details,
|
|
139
|
+
storeType: options?.storeType,
|
|
140
|
+
queryLength: options?.queryLength,
|
|
141
|
+
indexName: options?.indexName,
|
|
142
|
+
},
|
|
143
|
+
cause: options?.cause,
|
|
144
|
+
});
|
|
145
|
+
this.storeType = options?.storeType;
|
|
146
|
+
this.queryLength = options?.queryLength;
|
|
147
|
+
this.indexName = options?.indexName;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Reranker error
|
|
152
|
+
*/
|
|
153
|
+
export class RerankerError extends RAGError {
|
|
154
|
+
rerankerType;
|
|
155
|
+
documentCount;
|
|
156
|
+
constructor(message, options) {
|
|
157
|
+
super(message, options?.code ?? RAGErrorCodes.RERANKER_ERROR, {
|
|
158
|
+
retryable: options?.retryable ?? true,
|
|
159
|
+
details: {
|
|
160
|
+
...options?.details,
|
|
161
|
+
rerankerType: options?.rerankerType,
|
|
162
|
+
documentCount: options?.documentCount,
|
|
163
|
+
},
|
|
164
|
+
cause: options?.cause,
|
|
165
|
+
});
|
|
166
|
+
this.rerankerType = options?.rerankerType;
|
|
167
|
+
this.documentCount = options?.documentCount;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Graph RAG error
|
|
172
|
+
*/
|
|
173
|
+
export class GraphRAGError extends RAGError {
|
|
174
|
+
traversalStrategy;
|
|
175
|
+
nodeId;
|
|
176
|
+
constructor(message, options) {
|
|
177
|
+
super(message, options?.code ?? RAGErrorCodes.GRAPH_RAG_ERROR, {
|
|
178
|
+
retryable: options?.retryable ?? false,
|
|
179
|
+
details: {
|
|
180
|
+
...options?.details,
|
|
181
|
+
traversalStrategy: options?.traversalStrategy,
|
|
182
|
+
nodeId: options?.nodeId,
|
|
183
|
+
},
|
|
184
|
+
cause: options?.cause,
|
|
185
|
+
});
|
|
186
|
+
this.traversalStrategy = options?.traversalStrategy;
|
|
187
|
+
this.nodeId = options?.nodeId;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Pipeline error with partial failure support
|
|
192
|
+
*/
|
|
193
|
+
export class PipelineError extends RAGError {
|
|
194
|
+
stageName;
|
|
195
|
+
successfulChunks;
|
|
196
|
+
failedChunks;
|
|
197
|
+
partialResults;
|
|
198
|
+
constructor(message, options) {
|
|
199
|
+
super(message, options?.code ?? RAGErrorCodes.PIPELINE_ERROR, {
|
|
200
|
+
retryable: options?.retryable ?? false,
|
|
201
|
+
details: {
|
|
202
|
+
...options?.details,
|
|
203
|
+
stageName: options?.stageName,
|
|
204
|
+
successfulChunks: options?.successfulChunks,
|
|
205
|
+
failedChunks: options?.failedChunks,
|
|
206
|
+
},
|
|
207
|
+
cause: options?.cause,
|
|
208
|
+
});
|
|
209
|
+
this.stageName = options?.stageName;
|
|
210
|
+
this.successfulChunks = options?.successfulChunks;
|
|
211
|
+
this.failedChunks = options?.failedChunks;
|
|
212
|
+
this.partialResults = options?.partialResults;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Check if this is a partial failure (some chunks succeeded)
|
|
216
|
+
*/
|
|
217
|
+
isPartialFailure() {
|
|
218
|
+
return (this.successfulChunks !== undefined &&
|
|
219
|
+
this.successfulChunks > 0 &&
|
|
220
|
+
this.failedChunks !== undefined &&
|
|
221
|
+
this.failedChunks > 0);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Get success rate as a percentage
|
|
225
|
+
*/
|
|
226
|
+
getSuccessRate() {
|
|
227
|
+
if (this.successfulChunks === undefined ||
|
|
228
|
+
this.failedChunks === undefined) {
|
|
229
|
+
return 0;
|
|
230
|
+
}
|
|
231
|
+
const total = this.successfulChunks + this.failedChunks;
|
|
232
|
+
return total > 0 ? (this.successfulChunks / total) * 100 : 0;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Circuit breaker specific error for RAG operations
|
|
237
|
+
*/
|
|
238
|
+
export class RAGCircuitBreakerError extends RAGError {
|
|
239
|
+
circuitName;
|
|
240
|
+
nextRetryTime;
|
|
241
|
+
constructor(message, options) {
|
|
242
|
+
super(message, options?.code ?? RAGErrorCodes.CIRCUIT_BREAKER_OPEN, {
|
|
243
|
+
retryable: false, // Circuit breaker errors are not immediately retryable
|
|
244
|
+
details: {
|
|
245
|
+
...options?.details,
|
|
246
|
+
circuitName: options?.circuitName,
|
|
247
|
+
nextRetryTime: options?.nextRetryTime?.toISOString(),
|
|
248
|
+
},
|
|
249
|
+
});
|
|
250
|
+
this.circuitName = options?.circuitName;
|
|
251
|
+
this.nextRetryTime = options?.nextRetryTime;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Type guard for RAG errors
|
|
256
|
+
*/
|
|
257
|
+
export function isRAGError(error) {
|
|
258
|
+
return error instanceof RAGError;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Type guard for retryable errors
|
|
262
|
+
*/
|
|
263
|
+
export function isRetryableRAGError(error) {
|
|
264
|
+
if (!isRAGError(error)) {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
return error.retryable;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Type guard for partial failure errors
|
|
271
|
+
*/
|
|
272
|
+
export function isPartialFailure(error) {
|
|
273
|
+
return error instanceof PipelineError && error.isPartialFailure();
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=RAGError.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Errors Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all RAG error types and utilities.
|
|
5
|
+
*/
|
|
6
|
+
export { RAGErrorCodes, RAGErrorFactory, RAGError, ChunkingError, MetadataExtractionError, EmbeddingError, VectorQueryError, RerankerError, GraphRAGError, PipelineError, RAGCircuitBreakerError, isRAGError, isRetryableRAGError, isPartialFailure, type RAGErrorCode, } from "./RAGError.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Errors Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all RAG error types and utilities.
|
|
5
|
+
*/
|
|
6
|
+
export { RAGErrorCodes, RAGErrorFactory, RAGError, ChunkingError, MetadataExtractionError, EmbeddingError, VectorQueryError, RerankerError, GraphRAGError, PipelineError, RAGCircuitBreakerError, isRAGError, isRetryableRAGError, isPartialFailure, } from "./RAGError.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph RAG Implementation
|
|
3
|
+
*
|
|
4
|
+
* Knowledge graph-based retrieval augmented generation.
|
|
5
|
+
* Creates semantic relationships between document chunks and uses
|
|
6
|
+
* random walk with restart for context-aware retrieval.
|
|
7
|
+
*/
|
|
8
|
+
import type { GraphNode, GraphEdge, GraphChunk, GraphEmbedding, RankedNode, GraphRAGConfig, GraphQueryParams, GraphStats } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Graph-based Retrieval Augmented Generation
|
|
11
|
+
*
|
|
12
|
+
* Creates a knowledge graph from document chunks where nodes represent
|
|
13
|
+
* documents and edges represent semantic relationships based on
|
|
14
|
+
* embedding similarity.
|
|
15
|
+
*/
|
|
16
|
+
export declare class GraphRAG {
|
|
17
|
+
private nodes;
|
|
18
|
+
private edges;
|
|
19
|
+
private dimension;
|
|
20
|
+
private threshold;
|
|
21
|
+
constructor(config?: GraphRAGConfig);
|
|
22
|
+
/**
|
|
23
|
+
* Create a knowledge graph from document chunks and embeddings
|
|
24
|
+
*
|
|
25
|
+
* @param chunks - Array of document chunks
|
|
26
|
+
* @param embeddings - Corresponding embedding vectors
|
|
27
|
+
*/
|
|
28
|
+
createGraph(chunks: GraphChunk[], embeddings: GraphEmbedding[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* Query the graph using random walk with restart
|
|
31
|
+
*
|
|
32
|
+
* @param params - Query parameters including embedding vector
|
|
33
|
+
* @returns Ranked nodes by relevance
|
|
34
|
+
*/
|
|
35
|
+
query(params: GraphQueryParams): RankedNode[];
|
|
36
|
+
/**
|
|
37
|
+
* Add a single node to the graph
|
|
38
|
+
*
|
|
39
|
+
* @param chunk - Document chunk
|
|
40
|
+
* @param embedding - Embedding vector
|
|
41
|
+
* @returns Node ID
|
|
42
|
+
*/
|
|
43
|
+
addNode(chunk: GraphChunk, embedding: GraphEmbedding): string;
|
|
44
|
+
/**
|
|
45
|
+
* Remove a node and its edges from the graph
|
|
46
|
+
*
|
|
47
|
+
* @param id - Node ID to remove
|
|
48
|
+
* @returns True if node was removed
|
|
49
|
+
*/
|
|
50
|
+
removeNode(id: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Get graph statistics
|
|
53
|
+
*/
|
|
54
|
+
getStats(): GraphStats;
|
|
55
|
+
/**
|
|
56
|
+
* Get a node by ID
|
|
57
|
+
*/
|
|
58
|
+
getNode(id: string): GraphNode | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Get all nodes
|
|
61
|
+
*/
|
|
62
|
+
getAllNodes(): GraphNode[];
|
|
63
|
+
/**
|
|
64
|
+
* Get edges for a node
|
|
65
|
+
*/
|
|
66
|
+
getEdges(nodeId: string): GraphEdge[];
|
|
67
|
+
/**
|
|
68
|
+
* Find connected components in the graph
|
|
69
|
+
*/
|
|
70
|
+
findConnectedComponents(): string[][];
|
|
71
|
+
/**
|
|
72
|
+
* Calculate cosine similarity between two vectors
|
|
73
|
+
*/
|
|
74
|
+
private cosineSimilarity;
|
|
75
|
+
/**
|
|
76
|
+
* Normalize probabilities to sum to 1
|
|
77
|
+
*/
|
|
78
|
+
private normalizeProbs;
|
|
79
|
+
/**
|
|
80
|
+
* Weighted random choice
|
|
81
|
+
*/
|
|
82
|
+
private weightedRandomChoice;
|
|
83
|
+
/**
|
|
84
|
+
* Update similarity threshold and rebuild edges
|
|
85
|
+
*/
|
|
86
|
+
updateThreshold(threshold: number): void;
|
|
87
|
+
/**
|
|
88
|
+
* Serialize graph to JSON
|
|
89
|
+
*/
|
|
90
|
+
toJSON(): {
|
|
91
|
+
nodes: GraphNode[];
|
|
92
|
+
edges: Array<{
|
|
93
|
+
source: string;
|
|
94
|
+
edges: GraphEdge[];
|
|
95
|
+
}>;
|
|
96
|
+
config: {
|
|
97
|
+
dimension: number;
|
|
98
|
+
threshold: number;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Load graph from JSON
|
|
103
|
+
*/
|
|
104
|
+
static fromJSON(json: {
|
|
105
|
+
nodes: GraphNode[];
|
|
106
|
+
edges: Array<{
|
|
107
|
+
source: string;
|
|
108
|
+
edges: GraphEdge[];
|
|
109
|
+
}>;
|
|
110
|
+
config: {
|
|
111
|
+
dimension: number;
|
|
112
|
+
threshold: number;
|
|
113
|
+
};
|
|
114
|
+
}): GraphRAG;
|
|
115
|
+
}
|