@juspay/neurolink 9.5.2 → 9.6.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 +16 -0
- package/README.md +29 -25
- package/dist/agent/directTools.d.ts +5 -5
- package/dist/cli/commands/config.d.ts +9 -9
- package/dist/cli/commands/serve.d.ts +37 -0
- package/dist/cli/commands/serve.js +302 -229
- package/dist/cli/commands/setup-anthropic.d.ts +2 -2
- package/dist/cli/commands/setup-azure.d.ts +2 -2
- package/dist/cli/commands/setup-bedrock.d.ts +2 -2
- package/dist/cli/commands/setup-gcp.d.ts +2 -2
- package/dist/cli/commands/setup-google-ai.d.ts +2 -2
- package/dist/cli/commands/setup-huggingface.d.ts +2 -2
- package/dist/cli/commands/setup-mistral.d.ts +2 -2
- package/dist/cli/commands/setup-openai.d.ts +2 -2
- package/dist/cli/commands/setup.d.ts +2 -2
- package/dist/cli/factories/commandFactory.js +16 -2
- package/dist/cli/loop/optionsSchema.d.ts +2 -2
- package/dist/cli/loop/session.d.ts +4 -0
- package/dist/cli/loop/session.js +49 -4
- package/dist/cli/utils/interactiveSetup.d.ts +4 -4
- package/dist/config/conversationMemory.d.ts +2 -0
- package/dist/config/conversationMemory.js +5 -5
- package/dist/constants/contextWindows.d.ts +46 -0
- package/dist/constants/contextWindows.js +156 -0
- package/dist/context/budgetChecker.d.ts +18 -0
- package/dist/context/budgetChecker.js +71 -0
- package/dist/context/contextCompactor.d.ts +22 -0
- package/dist/context/contextCompactor.js +106 -0
- package/dist/context/effectiveHistory.d.ts +52 -0
- package/dist/context/effectiveHistory.js +105 -0
- package/dist/context/errorDetection.d.ts +14 -0
- package/dist/context/errorDetection.js +124 -0
- package/dist/context/fileSummarizationService.d.ts +54 -0
- package/dist/context/fileSummarizationService.js +255 -0
- package/dist/context/fileSummarizer.d.ts +56 -0
- package/dist/context/fileSummarizer.js +145 -0
- package/dist/context/fileTokenBudget.d.ts +53 -0
- package/dist/context/fileTokenBudget.js +127 -0
- package/dist/context/prompts/summarizationPrompt.d.ts +17 -0
- package/dist/context/prompts/summarizationPrompt.js +110 -0
- package/dist/context/stages/fileReadDeduplicator.d.ts +10 -0
- package/dist/context/stages/fileReadDeduplicator.js +66 -0
- package/dist/context/stages/slidingWindowTruncator.d.ts +11 -0
- package/dist/context/stages/slidingWindowTruncator.js +42 -0
- package/dist/context/stages/structuredSummarizer.d.ts +10 -0
- package/dist/context/stages/structuredSummarizer.js +49 -0
- package/dist/context/stages/toolOutputPruner.d.ts +10 -0
- package/dist/context/stages/toolOutputPruner.js +52 -0
- package/dist/context/summarizationEngine.d.ts +45 -0
- package/dist/context/summarizationEngine.js +110 -0
- package/dist/context/toolOutputLimits.d.ts +17 -0
- package/dist/context/toolOutputLimits.js +84 -0
- package/dist/context/toolPairRepair.d.ts +16 -0
- package/dist/context/toolPairRepair.js +66 -0
- package/dist/core/conversationMemoryManager.d.ts +5 -15
- package/dist/core/conversationMemoryManager.js +15 -75
- package/dist/core/modules/MessageBuilder.d.ts +1 -1
- package/dist/core/modules/MessageBuilder.js +2 -0
- package/dist/core/modules/TelemetryHandler.d.ts +2 -3
- package/dist/core/modules/TelemetryHandler.js +3 -3
- package/dist/core/modules/ToolsManager.d.ts +2 -2
- package/dist/core/redisConversationMemoryManager.d.ts +8 -14
- package/dist/core/redisConversationMemoryManager.js +69 -78
- package/dist/factories/providerFactory.d.ts +2 -2
- package/dist/files/fileReferenceRegistry.d.ts +276 -0
- package/dist/files/fileReferenceRegistry.js +1543 -0
- package/dist/files/fileTools.d.ts +423 -0
- package/dist/files/fileTools.js +449 -0
- package/dist/files/index.d.ts +14 -0
- package/dist/files/index.js +13 -0
- package/dist/files/streamingReader.d.ts +93 -0
- package/dist/files/streamingReader.js +321 -0
- package/dist/files/types.d.ts +23 -0
- package/dist/files/types.js +23 -0
- package/dist/image-gen/imageGenTools.d.ts +2 -2
- package/dist/image-gen/types.d.ts +12 -12
- package/dist/lib/agent/directTools.d.ts +7 -7
- package/dist/lib/config/conversationMemory.d.ts +2 -0
- package/dist/lib/config/conversationMemory.js +5 -5
- package/dist/lib/constants/contextWindows.d.ts +46 -0
- package/dist/lib/constants/contextWindows.js +157 -0
- package/dist/lib/context/budgetChecker.d.ts +18 -0
- package/dist/lib/context/budgetChecker.js +72 -0
- package/dist/lib/context/contextCompactor.d.ts +22 -0
- package/dist/lib/context/contextCompactor.js +107 -0
- package/dist/lib/context/effectiveHistory.d.ts +52 -0
- package/dist/lib/context/effectiveHistory.js +106 -0
- package/dist/lib/context/errorDetection.d.ts +14 -0
- package/dist/lib/context/errorDetection.js +125 -0
- package/dist/lib/context/fileSummarizationService.d.ts +54 -0
- package/dist/lib/context/fileSummarizationService.js +256 -0
- package/dist/lib/context/fileSummarizer.d.ts +56 -0
- package/dist/lib/context/fileSummarizer.js +146 -0
- package/dist/lib/context/fileTokenBudget.d.ts +53 -0
- package/dist/lib/context/fileTokenBudget.js +128 -0
- package/dist/lib/context/prompts/summarizationPrompt.d.ts +17 -0
- package/dist/lib/context/prompts/summarizationPrompt.js +111 -0
- package/dist/lib/context/stages/fileReadDeduplicator.d.ts +10 -0
- package/dist/lib/context/stages/fileReadDeduplicator.js +67 -0
- package/dist/lib/context/stages/slidingWindowTruncator.d.ts +11 -0
- package/dist/lib/context/stages/slidingWindowTruncator.js +43 -0
- package/dist/lib/context/stages/structuredSummarizer.d.ts +10 -0
- package/dist/lib/context/stages/structuredSummarizer.js +50 -0
- package/dist/lib/context/stages/toolOutputPruner.d.ts +10 -0
- package/dist/lib/context/stages/toolOutputPruner.js +53 -0
- package/dist/lib/context/summarizationEngine.d.ts +45 -0
- package/dist/lib/context/summarizationEngine.js +111 -0
- package/dist/lib/context/toolOutputLimits.d.ts +17 -0
- package/dist/lib/context/toolOutputLimits.js +85 -0
- package/dist/lib/context/toolPairRepair.d.ts +16 -0
- package/dist/lib/context/toolPairRepair.js +67 -0
- package/dist/lib/core/conversationMemoryManager.d.ts +5 -15
- package/dist/lib/core/conversationMemoryManager.js +15 -75
- package/dist/lib/core/modules/MessageBuilder.d.ts +1 -1
- package/dist/lib/core/modules/MessageBuilder.js +2 -0
- package/dist/lib/core/modules/TelemetryHandler.d.ts +2 -3
- package/dist/lib/core/modules/TelemetryHandler.js +3 -3
- package/dist/lib/core/modules/ToolsManager.d.ts +2 -2
- package/dist/lib/core/redisConversationMemoryManager.d.ts +8 -14
- package/dist/lib/core/redisConversationMemoryManager.js +69 -78
- package/dist/lib/factories/providerFactory.d.ts +2 -2
- package/dist/lib/files/fileReferenceRegistry.d.ts +276 -0
- package/dist/lib/files/fileReferenceRegistry.js +1544 -0
- package/dist/lib/files/fileTools.d.ts +423 -0
- package/dist/lib/files/fileTools.js +450 -0
- package/dist/lib/files/index.d.ts +14 -0
- package/dist/lib/files/index.js +14 -0
- package/dist/lib/files/streamingReader.d.ts +93 -0
- package/dist/lib/files/streamingReader.js +322 -0
- package/dist/lib/files/types.d.ts +23 -0
- package/dist/lib/files/types.js +24 -0
- package/dist/lib/image-gen/imageGenTools.d.ts +2 -2
- package/dist/lib/image-gen/types.d.ts +12 -12
- package/dist/lib/memory/mem0Initializer.d.ts +2 -2
- package/dist/lib/neurolink.d.ts +61 -2
- package/dist/lib/neurolink.js +619 -307
- package/dist/lib/processors/archive/ArchiveProcessor.d.ts +327 -0
- package/dist/lib/processors/archive/ArchiveProcessor.js +1309 -0
- package/dist/lib/processors/archive/index.d.ts +33 -0
- package/dist/lib/processors/archive/index.js +43 -0
- package/dist/lib/processors/base/types.d.ts +70 -64
- package/dist/lib/processors/base/types.js +6 -0
- package/dist/lib/processors/cli/fileProcessorCli.d.ts +8 -8
- package/dist/lib/processors/cli/fileProcessorCli.js +5 -5
- package/dist/lib/processors/config/mimeTypes.js +25 -0
- package/dist/lib/processors/config/sizeLimits.d.ts +52 -40
- package/dist/lib/processors/config/sizeLimits.js +56 -44
- package/dist/lib/processors/document/ExcelProcessor.d.ts +14 -0
- package/dist/lib/processors/document/ExcelProcessor.js +72 -1
- package/dist/lib/processors/document/PptxProcessor.d.ts +63 -0
- package/dist/lib/processors/document/PptxProcessor.js +158 -0
- package/dist/lib/processors/document/index.d.ts +1 -0
- package/dist/lib/processors/document/index.js +6 -0
- package/dist/lib/processors/errors/FileErrorCode.d.ts +2 -2
- package/dist/lib/processors/errors/errorHelpers.d.ts +2 -2
- package/dist/lib/processors/errors/errorSerializer.d.ts +4 -4
- package/dist/lib/processors/index.d.ts +8 -2
- package/dist/lib/processors/index.js +5 -2
- package/dist/lib/processors/integration/FileProcessorIntegration.d.ts +8 -8
- package/dist/lib/processors/integration/FileProcessorIntegration.js +7 -7
- package/dist/lib/processors/media/AudioProcessor.d.ts +328 -0
- package/dist/lib/processors/media/AudioProcessor.js +708 -0
- package/dist/lib/processors/media/VideoProcessor.d.ts +350 -0
- package/dist/lib/processors/media/VideoProcessor.js +992 -0
- package/dist/lib/processors/media/index.d.ts +27 -0
- package/dist/lib/processors/media/index.js +37 -0
- package/dist/lib/processors/registry/ProcessorRegistry.d.ts +19 -5
- package/dist/lib/processors/registry/ProcessorRegistry.js +103 -8
- package/dist/lib/processors/registry/index.d.ts +1 -1
- package/dist/lib/processors/registry/index.js +1 -1
- package/dist/lib/processors/registry/types.d.ts +2 -2
- package/dist/lib/providers/googleAiStudio.d.ts +34 -0
- package/dist/lib/providers/googleAiStudio.js +267 -397
- package/dist/lib/providers/googleVertex.d.ts +55 -1
- package/dist/lib/providers/googleVertex.js +452 -719
- package/dist/lib/providers/sagemaker/detection.d.ts +6 -6
- package/dist/lib/providers/sagemaker/diagnostics.d.ts +4 -4
- package/dist/lib/providers/sagemaker/parsers.d.ts +4 -4
- package/dist/lib/rag/chunkers/RecursiveChunker.js +2 -2
- package/dist/lib/rag/document/loaders.d.ts +6 -71
- package/dist/lib/rag/document/loaders.js +5 -5
- package/dist/lib/rag/graphRag/graphRAG.js +26 -9
- package/dist/lib/rag/metadata/MetadataExtractorFactory.d.ts +5 -55
- package/dist/lib/rag/metadata/metadataExtractor.js +6 -3
- package/dist/lib/rag/pipeline/RAGPipeline.d.ts +8 -126
- package/dist/lib/rag/pipeline/RAGPipeline.js +11 -11
- package/dist/lib/rag/pipeline/contextAssembly.d.ts +3 -42
- package/dist/lib/rag/pipeline/contextAssembly.js +6 -3
- package/dist/lib/rag/reranker/RerankerFactory.d.ts +5 -60
- package/dist/lib/rag/resilience/CircuitBreaker.d.ts +3 -33
- package/dist/lib/rag/resilience/RetryHandler.d.ts +2 -21
- package/dist/lib/rag/retrieval/hybridSearch.d.ts +3 -41
- package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +2 -13
- package/dist/lib/rag/retrieval/vectorQueryTool.js +4 -3
- package/dist/lib/rag/types.d.ts +3 -3
- package/dist/lib/sdk/toolRegistration.d.ts +2 -2
- package/dist/lib/server/middleware/cache.d.ts +2 -2
- package/dist/lib/server/middleware/rateLimit.d.ts +2 -2
- package/dist/lib/server/routes/mcpRoutes.js +277 -249
- package/dist/lib/server/routes/memoryRoutes.js +287 -281
- package/dist/lib/server/utils/validation.d.ts +10 -10
- package/dist/lib/session/globalSessionState.d.ts +2 -2
- package/dist/lib/telemetry/telemetryService.d.ts +2 -2
- package/dist/lib/types/common.d.ts +39 -0
- package/dist/lib/types/contextTypes.d.ts +255 -0
- package/dist/lib/types/contextTypes.js +0 -2
- package/dist/lib/types/conversation.d.ts +62 -0
- package/dist/lib/types/conversationMemoryInterface.d.ts +27 -0
- package/dist/lib/types/conversationMemoryInterface.js +7 -0
- package/dist/lib/types/fileReferenceTypes.d.ts +222 -0
- package/dist/lib/types/fileReferenceTypes.js +9 -0
- package/dist/lib/types/fileTypes.d.ts +26 -3
- package/dist/lib/types/generateTypes.d.ts +22 -1
- package/dist/lib/types/index.d.ts +4 -5
- package/dist/lib/types/index.js +8 -10
- package/dist/lib/types/modelTypes.d.ts +2 -2
- package/dist/lib/types/processorTypes.d.ts +597 -0
- package/dist/lib/types/processorTypes.js +91 -0
- package/dist/lib/types/ragTypes.d.ts +481 -0
- package/dist/lib/types/ragTypes.js +8 -0
- package/dist/lib/types/sdkTypes.d.ts +17 -18
- package/dist/lib/types/streamTypes.d.ts +11 -1
- package/dist/lib/utils/async/retry.d.ts +2 -2
- package/dist/lib/utils/async/withTimeout.js +3 -1
- package/dist/lib/utils/conversationMemory.d.ts +12 -6
- package/dist/lib/utils/conversationMemory.js +76 -36
- package/dist/lib/utils/fileDetector.d.ts +62 -0
- package/dist/lib/utils/fileDetector.js +1014 -14
- package/dist/lib/utils/json/safeParse.d.ts +2 -2
- package/dist/lib/utils/messageBuilder.js +806 -153
- package/dist/lib/utils/modelChoices.d.ts +2 -2
- package/dist/lib/utils/multimodalOptionsBuilder.d.ts +2 -1
- package/dist/lib/utils/multimodalOptionsBuilder.js +1 -0
- package/dist/lib/utils/rateLimiter.d.ts +2 -2
- package/dist/lib/utils/sanitizers/filename.d.ts +4 -4
- package/dist/lib/utils/sanitizers/svg.d.ts +2 -2
- package/dist/lib/utils/thinkingConfig.d.ts +6 -6
- package/dist/lib/utils/tokenEstimation.d.ts +68 -0
- package/dist/lib/utils/tokenEstimation.js +113 -0
- package/dist/lib/utils/tokenUtils.d.ts +4 -4
- package/dist/lib/utils/ttsProcessor.d.ts +2 -2
- package/dist/lib/workflow/config.d.ts +150 -150
- package/dist/memory/mem0Initializer.d.ts +2 -2
- package/dist/neurolink.d.ts +61 -2
- package/dist/neurolink.js +619 -307
- package/dist/processors/archive/ArchiveProcessor.d.ts +327 -0
- package/dist/processors/archive/ArchiveProcessor.js +1308 -0
- package/dist/processors/archive/index.d.ts +33 -0
- package/dist/processors/archive/index.js +42 -0
- package/dist/processors/base/types.d.ts +70 -64
- package/dist/processors/base/types.js +6 -0
- package/dist/processors/cli/fileProcessorCli.d.ts +8 -8
- package/dist/processors/cli/fileProcessorCli.js +5 -5
- package/dist/processors/config/mimeTypes.js +25 -0
- package/dist/processors/config/sizeLimits.d.ts +52 -40
- package/dist/processors/config/sizeLimits.js +56 -44
- package/dist/processors/document/ExcelProcessor.d.ts +14 -0
- package/dist/processors/document/ExcelProcessor.js +72 -1
- package/dist/processors/document/PptxProcessor.d.ts +63 -0
- package/dist/processors/document/PptxProcessor.js +157 -0
- package/dist/processors/document/index.d.ts +1 -0
- package/dist/processors/document/index.js +6 -0
- package/dist/processors/errors/FileErrorCode.d.ts +2 -2
- package/dist/processors/errors/errorHelpers.d.ts +2 -2
- package/dist/processors/errors/errorSerializer.d.ts +4 -4
- package/dist/processors/index.d.ts +8 -2
- package/dist/processors/index.js +5 -2
- package/dist/processors/integration/FileProcessorIntegration.d.ts +8 -8
- package/dist/processors/integration/FileProcessorIntegration.js +7 -7
- package/dist/processors/media/AudioProcessor.d.ts +328 -0
- package/dist/processors/media/AudioProcessor.js +707 -0
- package/dist/processors/media/VideoProcessor.d.ts +350 -0
- package/dist/processors/media/VideoProcessor.js +991 -0
- package/dist/processors/media/ffprobe-static.d.ts +4 -0
- package/dist/processors/media/index.d.ts +27 -0
- package/dist/processors/media/index.js +36 -0
- package/dist/processors/registry/ProcessorRegistry.d.ts +19 -5
- package/dist/processors/registry/ProcessorRegistry.js +103 -8
- package/dist/processors/registry/index.d.ts +1 -1
- package/dist/processors/registry/index.js +1 -1
- package/dist/processors/registry/types.d.ts +2 -2
- package/dist/providers/googleAiStudio.d.ts +34 -0
- package/dist/providers/googleAiStudio.js +267 -397
- package/dist/providers/googleVertex.d.ts +55 -1
- package/dist/providers/googleVertex.js +452 -719
- package/dist/providers/sagemaker/detection.d.ts +6 -6
- package/dist/providers/sagemaker/diagnostics.d.ts +4 -4
- package/dist/providers/sagemaker/parsers.d.ts +4 -4
- package/dist/rag/chunkers/RecursiveChunker.js +2 -2
- package/dist/rag/document/loaders.d.ts +6 -71
- package/dist/rag/document/loaders.js +5 -5
- package/dist/rag/graphRag/graphRAG.js +26 -9
- package/dist/rag/metadata/MetadataExtractorFactory.d.ts +5 -55
- package/dist/rag/metadata/metadataExtractor.js +6 -3
- package/dist/rag/pipeline/RAGPipeline.d.ts +8 -126
- package/dist/rag/pipeline/RAGPipeline.js +11 -11
- package/dist/rag/pipeline/contextAssembly.d.ts +3 -42
- package/dist/rag/pipeline/contextAssembly.js +6 -3
- package/dist/rag/reranker/RerankerFactory.d.ts +5 -60
- package/dist/rag/resilience/CircuitBreaker.d.ts +3 -33
- package/dist/rag/resilience/RetryHandler.d.ts +2 -21
- package/dist/rag/retrieval/hybridSearch.d.ts +3 -41
- package/dist/rag/retrieval/vectorQueryTool.d.ts +2 -13
- package/dist/rag/retrieval/vectorQueryTool.js +4 -3
- package/dist/rag/types.d.ts +3 -3
- package/dist/sdk/toolRegistration.d.ts +2 -2
- package/dist/server/middleware/cache.d.ts +2 -2
- package/dist/server/middleware/rateLimit.d.ts +2 -2
- package/dist/server/routes/mcpRoutes.js +277 -249
- package/dist/server/routes/memoryRoutes.js +287 -281
- package/dist/server/utils/validation.d.ts +4 -4
- package/dist/session/globalSessionState.d.ts +2 -2
- package/dist/telemetry/telemetryService.d.ts +2 -2
- package/dist/types/common.d.ts +39 -0
- package/dist/types/contextTypes.d.ts +255 -0
- package/dist/types/contextTypes.js +0 -2
- package/dist/types/conversation.d.ts +62 -0
- package/dist/types/conversationMemoryInterface.d.ts +27 -0
- package/dist/types/conversationMemoryInterface.js +6 -0
- package/dist/types/fileReferenceTypes.d.ts +222 -0
- package/dist/types/fileReferenceTypes.js +8 -0
- package/dist/types/fileTypes.d.ts +26 -3
- package/dist/types/generateTypes.d.ts +22 -1
- package/dist/types/index.d.ts +4 -5
- package/dist/types/index.js +8 -10
- package/dist/types/processorTypes.d.ts +597 -0
- package/dist/types/processorTypes.js +90 -0
- package/dist/types/ragTypes.d.ts +481 -0
- package/dist/types/ragTypes.js +7 -0
- package/dist/types/sdkTypes.d.ts +17 -18
- package/dist/types/streamTypes.d.ts +11 -1
- package/dist/utils/async/retry.d.ts +2 -2
- package/dist/utils/async/withTimeout.js +3 -1
- package/dist/utils/conversationMemory.d.ts +12 -6
- package/dist/utils/conversationMemory.js +76 -36
- package/dist/utils/fileDetector.d.ts +62 -0
- package/dist/utils/fileDetector.js +1014 -14
- package/dist/utils/json/safeParse.d.ts +2 -2
- package/dist/utils/messageBuilder.js +806 -153
- package/dist/utils/modelChoices.d.ts +2 -2
- package/dist/utils/multimodalOptionsBuilder.d.ts +2 -1
- package/dist/utils/multimodalOptionsBuilder.js +1 -0
- package/dist/utils/rateLimiter.d.ts +2 -2
- package/dist/utils/sanitizers/filename.d.ts +4 -4
- package/dist/utils/sanitizers/svg.d.ts +2 -2
- package/dist/utils/thinkingConfig.d.ts +6 -6
- package/dist/utils/tokenEstimation.d.ts +68 -0
- package/dist/utils/tokenEstimation.js +112 -0
- package/dist/utils/tokenUtils.d.ts +4 -4
- package/dist/utils/ttsProcessor.d.ts +2 -2
- package/dist/workflow/config.d.ts +104 -104
- package/package.json +18 -6
- package/dist/lib/utils/conversationMemoryUtils.d.ts +0 -25
- package/dist/lib/utils/conversationMemoryUtils.js +0 -138
- package/dist/utils/conversationMemoryUtils.d.ts +0 -25
- package/dist/utils/conversationMemoryUtils.js +0 -137
|
@@ -307,10 +307,13 @@ export function orderByDocumentStructure(chunks) {
|
|
|
307
307
|
const byDocument = new Map();
|
|
308
308
|
for (const chunk of chunks) {
|
|
309
309
|
const docId = chunk.metadata.documentId;
|
|
310
|
-
|
|
311
|
-
|
|
310
|
+
const group = byDocument.get(docId);
|
|
311
|
+
if (group) {
|
|
312
|
+
group.push(chunk);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
byDocument.set(docId, [chunk]);
|
|
312
316
|
}
|
|
313
|
-
byDocument.get(docId).push(chunk);
|
|
314
317
|
}
|
|
315
318
|
// Sort each document's chunks by position
|
|
316
319
|
for (const docChunks of byDocument.values()) {
|
|
@@ -6,66 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { BaseFactory } from "../../core/infrastructure/index.js";
|
|
8
8
|
import type { AIProvider } from "../../types/providers.js";
|
|
9
|
-
import type {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export type
|
|
14
|
-
/**
|
|
15
|
-
* Reranker interface - all rerankers implement this
|
|
16
|
-
*/
|
|
17
|
-
export interface Reranker {
|
|
18
|
-
/** Reranker type identifier */
|
|
19
|
-
readonly type: RerankerType;
|
|
20
|
-
/**
|
|
21
|
-
* Rerank results based on query relevance
|
|
22
|
-
* @param results - Vector search results to rerank
|
|
23
|
-
* @param query - Original search query
|
|
24
|
-
* @param options - Reranking options
|
|
25
|
-
* @returns Reranked results with scores
|
|
26
|
-
*/
|
|
27
|
-
rerank(results: VectorQueryResult[], query: string, options?: RerankerOptions): Promise<RerankResult[]>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Reranker configuration
|
|
31
|
-
*/
|
|
32
|
-
export interface RerankerConfig {
|
|
33
|
-
/** Reranker type */
|
|
34
|
-
type: RerankerType;
|
|
35
|
-
/** Model name for LLM-based rerankers */
|
|
36
|
-
model?: string;
|
|
37
|
-
/** Provider for the model */
|
|
38
|
-
provider?: string;
|
|
39
|
-
/** Number of results to return after reranking */
|
|
40
|
-
topK?: number;
|
|
41
|
-
/** Scoring weights */
|
|
42
|
-
weights?: {
|
|
43
|
-
semantic?: number;
|
|
44
|
-
vector?: number;
|
|
45
|
-
position?: number;
|
|
46
|
-
};
|
|
47
|
-
/** API key for external services (e.g., Cohere) */
|
|
48
|
-
apiKey?: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Reranker metadata for discovery and documentation
|
|
52
|
-
*/
|
|
53
|
-
export interface RerankerMetadata {
|
|
54
|
-
/** Human-readable description */
|
|
55
|
-
description: string;
|
|
56
|
-
/** Default configuration */
|
|
57
|
-
defaultConfig: Partial<RerankerConfig>;
|
|
58
|
-
/** Supported configuration options */
|
|
59
|
-
supportedOptions: string[];
|
|
60
|
-
/** Recommended use cases */
|
|
61
|
-
useCases: string[];
|
|
62
|
-
/** Alternative names for this reranker */
|
|
63
|
-
aliases: string[];
|
|
64
|
-
/** Whether this reranker requires an AI model */
|
|
65
|
-
requiresModel: boolean;
|
|
66
|
-
/** Whether this reranker requires external API */
|
|
67
|
-
requiresExternalAPI: boolean;
|
|
68
|
-
}
|
|
9
|
+
import type { Reranker, RerankerConfig, RerankerMetadata, RerankerType } from "../../types/ragTypes.js";
|
|
10
|
+
export type { RerankerType } from "../../types/ragTypes.js";
|
|
11
|
+
export type { Reranker } from "../../types/ragTypes.js";
|
|
12
|
+
export type { RerankerConfig } from "../../types/ragTypes.js";
|
|
13
|
+
export type { RerankerMetadata } from "../../types/ragTypes.js";
|
|
69
14
|
/**
|
|
70
15
|
* Reranker Factory
|
|
71
16
|
*
|
|
@@ -10,39 +10,9 @@ import { TypedEventEmitter } from "../../core/infrastructure/index.js";
|
|
|
10
10
|
* Circuit breaker states
|
|
11
11
|
*/
|
|
12
12
|
export type CircuitState = "closed" | "open" | "half-open";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export interface RAGCircuitBreakerConfig {
|
|
17
|
-
/** Number of failures before opening circuit (default: 5) */
|
|
18
|
-
failureThreshold: number;
|
|
19
|
-
/** Time in ms before attempting reset (default: 60000) */
|
|
20
|
-
resetTimeout: number;
|
|
21
|
-
/** Max calls allowed in half-open state (default: 3) */
|
|
22
|
-
halfOpenMaxCalls: number;
|
|
23
|
-
/** Operation timeout in ms (default: 30000) */
|
|
24
|
-
operationTimeout: number;
|
|
25
|
-
/** Minimum calls before calculating failure rate (default: 10) */
|
|
26
|
-
minimumCallsBeforeCalculation: number;
|
|
27
|
-
/** Time window for statistics in ms (default: 300000 - 5 minutes) */
|
|
28
|
-
statisticsWindowSize: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Circuit breaker statistics
|
|
32
|
-
*/
|
|
33
|
-
export interface RAGCircuitBreakerStats {
|
|
34
|
-
state: CircuitState;
|
|
35
|
-
totalCalls: number;
|
|
36
|
-
successfulCalls: number;
|
|
37
|
-
failedCalls: number;
|
|
38
|
-
failureRate: number;
|
|
39
|
-
windowCalls: number;
|
|
40
|
-
lastStateChange: Date;
|
|
41
|
-
nextRetryTime?: Date;
|
|
42
|
-
halfOpenCalls: number;
|
|
43
|
-
averageLatency: number;
|
|
44
|
-
p95Latency: number;
|
|
45
|
-
}
|
|
13
|
+
import type { RAGCircuitBreakerConfig, RAGCircuitBreakerStats } from "../../types/ragTypes.js";
|
|
14
|
+
export type { RAGCircuitBreakerConfig } from "../../types/ragTypes.js";
|
|
15
|
+
export type { RAGCircuitBreakerStats } from "../../types/ragTypes.js";
|
|
46
16
|
/**
|
|
47
17
|
* Circuit breaker events
|
|
48
18
|
*/
|
|
@@ -5,27 +5,8 @@
|
|
|
5
5
|
* specifically designed for RAG operations including embeddings,
|
|
6
6
|
* vector queries, and LLM-based extraction.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export interface RAGRetryConfig {
|
|
12
|
-
/** Maximum number of retry attempts (default: 3) */
|
|
13
|
-
maxRetries: number;
|
|
14
|
-
/** Initial delay in ms (default: 1000) */
|
|
15
|
-
initialDelay: number;
|
|
16
|
-
/** Maximum delay in ms (default: 30000) */
|
|
17
|
-
maxDelay: number;
|
|
18
|
-
/** Backoff multiplier (default: 2) */
|
|
19
|
-
backoffMultiplier: number;
|
|
20
|
-
/** Whether to add jitter (default: true) */
|
|
21
|
-
jitter: boolean;
|
|
22
|
-
/** Custom function to determine if error is retryable */
|
|
23
|
-
shouldRetry?: (error: Error) => boolean;
|
|
24
|
-
/** Retryable error codes */
|
|
25
|
-
retryableErrorCodes?: string[];
|
|
26
|
-
/** Retryable HTTP status codes */
|
|
27
|
-
retryableStatusCodes?: number[];
|
|
28
|
-
}
|
|
8
|
+
import type { RAGRetryConfig } from "../../types/ragTypes.js";
|
|
9
|
+
export type { RAGRetryConfig } from "../../types/ragTypes.js";
|
|
29
10
|
/**
|
|
30
11
|
* Default retry configuration
|
|
31
12
|
*/
|
|
@@ -5,29 +5,8 @@
|
|
|
5
5
|
* Supports multiple fusion methods: Reciprocal Rank Fusion (RRF) and Linear Combination.
|
|
6
6
|
*/
|
|
7
7
|
import type { BM25Result, HybridSearchConfig, HybridSearchResult } from "../types.js";
|
|
8
|
-
import type {
|
|
9
|
-
|
|
10
|
-
* BM25 Index interface
|
|
11
|
-
* Implementations should provide sparse retrieval capabilities
|
|
12
|
-
*/
|
|
13
|
-
export interface BM25Index {
|
|
14
|
-
/**
|
|
15
|
-
* Search documents using BM25 algorithm
|
|
16
|
-
* @param query - Search query string
|
|
17
|
-
* @param topK - Number of results to return
|
|
18
|
-
* @returns Array of BM25 results
|
|
19
|
-
*/
|
|
20
|
-
search(query: string, topK?: number): Promise<BM25Result[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Add documents to the index
|
|
23
|
-
* @param documents - Documents to index
|
|
24
|
-
*/
|
|
25
|
-
addDocuments(documents: Array<{
|
|
26
|
-
id: string;
|
|
27
|
-
text: string;
|
|
28
|
-
metadata?: Record<string, unknown>;
|
|
29
|
-
}>): Promise<void>;
|
|
30
|
-
}
|
|
8
|
+
import type { BM25Index, HybridSearchOptions } from "../../types/ragTypes.js";
|
|
9
|
+
export type { BM25Index } from "../../types/ragTypes.js";
|
|
31
10
|
/**
|
|
32
11
|
* In-memory BM25 implementation for testing and development
|
|
33
12
|
*/
|
|
@@ -67,24 +46,7 @@ export declare function reciprocalRankFusion(rankings: Array<Array<{
|
|
|
67
46
|
* @returns Map of document IDs to combined scores
|
|
68
47
|
*/
|
|
69
48
|
export declare function linearCombination(vectorScores: Map<string, number>, bm25Scores: Map<string, number>, alpha?: number): Map<string, number>;
|
|
70
|
-
|
|
71
|
-
* Hybrid search configuration for creating a search function
|
|
72
|
-
*/
|
|
73
|
-
export interface HybridSearchOptions {
|
|
74
|
-
/** Vector store instance */
|
|
75
|
-
vectorStore: VectorStore;
|
|
76
|
-
/** BM25 index instance */
|
|
77
|
-
bm25Index: BM25Index;
|
|
78
|
-
/** Index name for vector store */
|
|
79
|
-
indexName: string;
|
|
80
|
-
/** Embedding model configuration (optional - uses defaults from ProviderFactory if not specified) */
|
|
81
|
-
embeddingModel?: {
|
|
82
|
-
provider?: string;
|
|
83
|
-
modelName?: string;
|
|
84
|
-
};
|
|
85
|
-
/** Default search configuration */
|
|
86
|
-
defaultConfig?: HybridSearchConfig;
|
|
87
|
-
}
|
|
49
|
+
export type { HybridSearchOptions } from "../../types/ragTypes.js";
|
|
88
50
|
/**
|
|
89
51
|
* Create a hybrid search function
|
|
90
52
|
*
|
|
@@ -6,19 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import type { MetadataFilter, RequestContext, VectorQueryResponse, VectorQueryResult, VectorQueryToolConfig } from "../types.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* Vector stores should implement this interface to work with the query tool
|
|
12
|
-
*/
|
|
13
|
-
export interface VectorStore {
|
|
14
|
-
query(params: {
|
|
15
|
-
indexName: string;
|
|
16
|
-
queryVector: number[];
|
|
17
|
-
topK?: number;
|
|
18
|
-
filter?: MetadataFilter;
|
|
19
|
-
includeVectors?: boolean;
|
|
20
|
-
}): Promise<VectorQueryResult[]>;
|
|
21
|
-
}
|
|
9
|
+
import type { VectorStore } from "../../types/ragTypes.js";
|
|
10
|
+
export type { VectorStore } from "../../types/ragTypes.js";
|
|
22
11
|
/**
|
|
23
12
|
* Creates a vector query tool for semantic search
|
|
24
13
|
* Follows NeuroLink's factory pattern
|
|
@@ -123,10 +123,11 @@ export class InMemoryVectorStore {
|
|
|
123
123
|
* Add vectors to an index
|
|
124
124
|
*/
|
|
125
125
|
async upsert(indexName, items) {
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
let index = this.vectors.get(indexName);
|
|
127
|
+
if (!index) {
|
|
128
|
+
index = new Map();
|
|
129
|
+
this.vectors.set(indexName, index);
|
|
128
130
|
}
|
|
129
|
-
const index = this.vectors.get(indexName);
|
|
130
131
|
for (const item of items) {
|
|
131
132
|
index.set(item.id, {
|
|
132
133
|
vector: item.vector,
|
package/dist/rag/types.d.ts
CHANGED
|
@@ -211,9 +211,9 @@ export type SemanticChunkerConfig = BaseChunkerConfig & {
|
|
|
211
211
|
*/
|
|
212
212
|
export type ChunkerConfig = CharacterChunkerConfig | RecursiveChunkerConfig | SentenceChunkerConfig | TokenChunkerConfig | MarkdownChunkerConfig | HTMLChunkerConfig | JSONChunkerConfig | LaTeXChunkerConfig | SemanticChunkerConfig;
|
|
213
213
|
/**
|
|
214
|
-
* Chunker
|
|
214
|
+
* Chunker type - all chunking strategies implement this
|
|
215
215
|
*/
|
|
216
|
-
export
|
|
216
|
+
export type Chunker = {
|
|
217
217
|
/** Strategy name for identification */
|
|
218
218
|
readonly strategy: ChunkingStrategy;
|
|
219
219
|
/**
|
|
@@ -223,7 +223,7 @@ export interface Chunker {
|
|
|
223
223
|
* @returns Array of chunks
|
|
224
224
|
*/
|
|
225
225
|
chunk(text: string, config?: BaseChunkerConfig): Promise<Chunk[]>;
|
|
226
|
-
}
|
|
226
|
+
};
|
|
227
227
|
/**
|
|
228
228
|
* Chunker metadata for factory registration
|
|
229
229
|
*/
|
|
@@ -27,7 +27,7 @@ export type ToolContext = SDKToolContext;
|
|
|
27
27
|
* Simple tool interface for SDK users
|
|
28
28
|
* Extends the core SimpleTool with specific types
|
|
29
29
|
*/
|
|
30
|
-
export
|
|
30
|
+
export type SimpleTool<TArgs = ToolArgs, TResult = JsonValue> = Omit<CoreSimpleTool<TArgs, TResult>, "execute"> & {
|
|
31
31
|
/**
|
|
32
32
|
* Tool description that helps AI understand when to use it
|
|
33
33
|
*/
|
|
@@ -51,7 +51,7 @@ export interface SimpleTool<TArgs = ToolArgs, TResult = JsonValue> extends Omit<
|
|
|
51
51
|
documentation?: string;
|
|
52
52
|
[key: string]: JsonValue | undefined;
|
|
53
53
|
};
|
|
54
|
-
}
|
|
54
|
+
};
|
|
55
55
|
/**
|
|
56
56
|
* Creates a MCPServerInfo from a set of tools
|
|
57
57
|
*/
|
|
@@ -55,12 +55,12 @@ export type CacheEntry = {
|
|
|
55
55
|
/**
|
|
56
56
|
* Cache store interface
|
|
57
57
|
*/
|
|
58
|
-
export
|
|
58
|
+
export type CacheStore = {
|
|
59
59
|
get(key: string): Promise<CacheEntry | undefined>;
|
|
60
60
|
set(key: string, entry: CacheEntry): Promise<void>;
|
|
61
61
|
delete(key: string): Promise<void>;
|
|
62
62
|
clear(): Promise<void>;
|
|
63
|
-
}
|
|
63
|
+
};
|
|
64
64
|
/**
|
|
65
65
|
* In-memory LRU cache store
|
|
66
66
|
*/
|
|
@@ -41,7 +41,7 @@ export type RateLimitEntry = {
|
|
|
41
41
|
* Rate limit store interface
|
|
42
42
|
* Implement this for custom storage (Redis, etc.)
|
|
43
43
|
*/
|
|
44
|
-
export
|
|
44
|
+
export type RateLimitStore = {
|
|
45
45
|
/**
|
|
46
46
|
* Get the current entry for a key
|
|
47
47
|
*/
|
|
@@ -59,7 +59,7 @@ export interface RateLimitStore {
|
|
|
59
59
|
* Reset the counter for a key
|
|
60
60
|
*/
|
|
61
61
|
reset(key: string): Promise<void>;
|
|
62
|
-
}
|
|
62
|
+
};
|
|
63
63
|
/**
|
|
64
64
|
* In-memory rate limit store
|
|
65
65
|
*/
|