@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
|
@@ -13,12 +13,12 @@ export declare const AgentExecuteRequestSchema: z.ZodObject<{
|
|
|
13
13
|
files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
14
|
}, "strip", z.ZodTypeAny, {
|
|
15
15
|
text: string;
|
|
16
|
-
files?: string[] | undefined;
|
|
17
16
|
images?: string[] | undefined;
|
|
17
|
+
files?: string[] | undefined;
|
|
18
18
|
}, {
|
|
19
19
|
text: string;
|
|
20
|
-
files?: string[] | undefined;
|
|
21
20
|
images?: string[] | undefined;
|
|
21
|
+
files?: string[] | undefined;
|
|
22
22
|
}>]>;
|
|
23
23
|
provider: z.ZodOptional<z.ZodString>;
|
|
24
24
|
model: z.ZodOptional<z.ZodString>;
|
|
@@ -32,8 +32,8 @@ export declare const AgentExecuteRequestSchema: z.ZodObject<{
|
|
|
32
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
33
|
input: string | {
|
|
34
34
|
text: string;
|
|
35
|
-
files?: string[] | undefined;
|
|
36
35
|
images?: string[] | undefined;
|
|
36
|
+
files?: string[] | undefined;
|
|
37
37
|
};
|
|
38
38
|
provider?: string | undefined;
|
|
39
39
|
model?: string | undefined;
|
|
@@ -42,13 +42,13 @@ export declare const AgentExecuteRequestSchema: z.ZodObject<{
|
|
|
42
42
|
sessionId?: string | undefined;
|
|
43
43
|
temperature?: number | undefined;
|
|
44
44
|
maxTokens?: number | undefined;
|
|
45
|
-
systemPrompt?: string | undefined;
|
|
46
45
|
stream?: boolean | undefined;
|
|
46
|
+
systemPrompt?: string | undefined;
|
|
47
47
|
}, {
|
|
48
48
|
input: string | {
|
|
49
49
|
text: string;
|
|
50
|
-
files?: string[] | undefined;
|
|
51
50
|
images?: string[] | undefined;
|
|
51
|
+
files?: string[] | undefined;
|
|
52
52
|
};
|
|
53
53
|
provider?: string | undefined;
|
|
54
54
|
model?: string | undefined;
|
|
@@ -57,8 +57,8 @@ export declare const AgentExecuteRequestSchema: z.ZodObject<{
|
|
|
57
57
|
sessionId?: string | undefined;
|
|
58
58
|
temperature?: number | undefined;
|
|
59
59
|
maxTokens?: number | undefined;
|
|
60
|
-
systemPrompt?: string | undefined;
|
|
61
60
|
stream?: boolean | undefined;
|
|
61
|
+
systemPrompt?: string | undefined;
|
|
62
62
|
}>;
|
|
63
63
|
/**
|
|
64
64
|
* Tool execute request schema
|
|
@@ -148,12 +148,12 @@ export declare const SessionsListQuerySchema: z.ZodObject<{
|
|
|
148
148
|
offset: z.ZodOptional<z.ZodPipeline<z.ZodEffects<z.ZodString, number, string>, z.ZodNumber>>;
|
|
149
149
|
}, "strip", z.ZodTypeAny, {
|
|
150
150
|
userId?: string | undefined;
|
|
151
|
-
offset?: number | undefined;
|
|
152
151
|
limit?: number | undefined;
|
|
152
|
+
offset?: number | undefined;
|
|
153
153
|
}, {
|
|
154
154
|
userId?: string | undefined;
|
|
155
|
-
offset?: string | undefined;
|
|
156
155
|
limit?: string | undefined;
|
|
156
|
+
offset?: string | undefined;
|
|
157
157
|
}>;
|
|
158
158
|
/**
|
|
159
159
|
* Session messages query schema (for pagination)
|
|
@@ -162,11 +162,11 @@ export declare const SessionMessagesQuerySchema: z.ZodObject<{
|
|
|
162
162
|
limit: z.ZodOptional<z.ZodPipeline<z.ZodEffects<z.ZodString, number, string>, z.ZodNumber>>;
|
|
163
163
|
offset: z.ZodOptional<z.ZodPipeline<z.ZodEffects<z.ZodString, number, string>, z.ZodNumber>>;
|
|
164
164
|
}, "strip", z.ZodTypeAny, {
|
|
165
|
-
offset?: number | undefined;
|
|
166
165
|
limit?: number | undefined;
|
|
166
|
+
offset?: number | undefined;
|
|
167
167
|
}, {
|
|
168
|
-
offset?: string | undefined;
|
|
169
168
|
limit?: string | undefined;
|
|
169
|
+
offset?: string | undefined;
|
|
170
170
|
}>;
|
|
171
171
|
/**
|
|
172
172
|
* Standardized error response format
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { NeuroLink } from "../neurolink.js";
|
|
2
2
|
import type { ConversationMemoryConfig } from "../types/conversation.js";
|
|
3
3
|
type SessionVariableValue = string | number | boolean;
|
|
4
|
-
|
|
4
|
+
type LoopSessionState = {
|
|
5
5
|
neurolinkInstance: NeuroLink;
|
|
6
6
|
sessionId: string;
|
|
7
7
|
isActive: boolean;
|
|
8
8
|
conversationMemoryConfig?: ConversationMemoryConfig;
|
|
9
9
|
sessionVariables: Record<string, SessionVariableValue>;
|
|
10
|
-
}
|
|
10
|
+
};
|
|
11
11
|
export declare class GlobalSessionManager {
|
|
12
12
|
private static instance;
|
|
13
13
|
private loopSession;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type HealthMetrics = {
|
|
2
2
|
timestamp: number;
|
|
3
3
|
memoryUsage: NodeJS.MemoryUsage;
|
|
4
4
|
uptime: number;
|
|
5
5
|
activeConnections: number;
|
|
6
6
|
errorRate: number;
|
|
7
7
|
averageResponseTime: number;
|
|
8
|
-
}
|
|
8
|
+
};
|
|
9
9
|
export declare class TelemetryService {
|
|
10
10
|
private static instance;
|
|
11
11
|
private sdk?;
|
|
@@ -135,3 +135,42 @@ export type Context = {
|
|
|
135
135
|
sessionId?: string;
|
|
136
136
|
metadata?: Record<string, string | number | boolean>;
|
|
137
137
|
};
|
|
138
|
+
/**
|
|
139
|
+
* Result of executing a child process (shell command).
|
|
140
|
+
*/
|
|
141
|
+
export type ProcessResult = {
|
|
142
|
+
/** Exit code of the process */
|
|
143
|
+
code: number | null;
|
|
144
|
+
/** Standard output */
|
|
145
|
+
stdout: string;
|
|
146
|
+
/** Standard error output */
|
|
147
|
+
stderr: string;
|
|
148
|
+
/** Whether the process exited successfully (code === 0) */
|
|
149
|
+
success: boolean;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* A named test function with an optional category.
|
|
153
|
+
*/
|
|
154
|
+
export type TestFunction = {
|
|
155
|
+
/** Display name of the test */
|
|
156
|
+
name: string;
|
|
157
|
+
/** Async function that returns true on pass, false on fail */
|
|
158
|
+
fn: () => Promise<boolean>;
|
|
159
|
+
/** Optional grouping category */
|
|
160
|
+
category?: string;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Result of a single test execution.
|
|
164
|
+
*/
|
|
165
|
+
export type TestResult = {
|
|
166
|
+
/** Display name of the test */
|
|
167
|
+
name: string;
|
|
168
|
+
/** Whether the test passed */
|
|
169
|
+
result: boolean;
|
|
170
|
+
/** Error message if the test failed, null otherwise */
|
|
171
|
+
error: string | null;
|
|
172
|
+
/** Optional grouping category */
|
|
173
|
+
category?: string;
|
|
174
|
+
/** Optional execution duration in milliseconds */
|
|
175
|
+
duration?: number;
|
|
176
|
+
};
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { JsonObject } from "./common.js";
|
|
6
6
|
import type { ExecutionContext } from "../types/tools.js";
|
|
7
|
+
import type { ChatMessage, ConversationMemoryConfig } from "./conversation.js";
|
|
8
|
+
import type { CompactionStage } from "../context/contextCompactor.js";
|
|
7
9
|
/**
|
|
8
10
|
* Base context type for all AI operations
|
|
9
11
|
*/
|
|
@@ -171,4 +173,257 @@ export declare class ContextConverter {
|
|
|
171
173
|
private static inferProvider;
|
|
172
174
|
private static extractCustomData;
|
|
173
175
|
}
|
|
176
|
+
/** Result of multi-stage context compaction. */
|
|
177
|
+
export type CompactionResult = {
|
|
178
|
+
compacted: boolean;
|
|
179
|
+
stagesUsed: CompactionStage[];
|
|
180
|
+
tokensBefore: number;
|
|
181
|
+
tokensAfter: number;
|
|
182
|
+
tokensSaved: number;
|
|
183
|
+
messages: ChatMessage[];
|
|
184
|
+
};
|
|
185
|
+
/** Configuration for the context compaction pipeline. */
|
|
186
|
+
export type CompactionConfig = {
|
|
187
|
+
enablePrune?: boolean;
|
|
188
|
+
enableDeduplicate?: boolean;
|
|
189
|
+
enableSummarize?: boolean;
|
|
190
|
+
enableTruncate?: boolean;
|
|
191
|
+
pruneProtectTokens?: number;
|
|
192
|
+
pruneMinimumSavings?: number;
|
|
193
|
+
pruneProtectedTools?: string[];
|
|
194
|
+
summarizationProvider?: string;
|
|
195
|
+
summarizationModel?: string;
|
|
196
|
+
keepRecentRatio?: number;
|
|
197
|
+
truncationFraction?: number;
|
|
198
|
+
provider?: string;
|
|
199
|
+
};
|
|
200
|
+
/** Result of a context budget check. */
|
|
201
|
+
export type BudgetCheckResult = {
|
|
202
|
+
/** Whether the request fits within the context window */
|
|
203
|
+
withinBudget: boolean;
|
|
204
|
+
/** Estimated total input tokens */
|
|
205
|
+
estimatedInputTokens: number;
|
|
206
|
+
/** Available input tokens for this model */
|
|
207
|
+
availableInputTokens: number;
|
|
208
|
+
/** Usage ratio (0.0 - 1.0+) */
|
|
209
|
+
usageRatio: number;
|
|
210
|
+
/** Whether auto-compaction should trigger */
|
|
211
|
+
shouldCompact: boolean;
|
|
212
|
+
/** Breakdown of token usage by category */
|
|
213
|
+
breakdown: {
|
|
214
|
+
systemPrompt: number;
|
|
215
|
+
conversationHistory: number;
|
|
216
|
+
currentPrompt: number;
|
|
217
|
+
toolDefinitions: number;
|
|
218
|
+
fileAttachments: number;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
/** Parameters for budget checking. */
|
|
222
|
+
export type BudgetCheckParams = {
|
|
223
|
+
provider: string;
|
|
224
|
+
model?: string;
|
|
225
|
+
maxTokens?: number;
|
|
226
|
+
systemPrompt?: string;
|
|
227
|
+
conversationMessages?: Array<{
|
|
228
|
+
role: string;
|
|
229
|
+
content: string;
|
|
230
|
+
}>;
|
|
231
|
+
currentPrompt?: string;
|
|
232
|
+
toolDefinitions?: unknown[];
|
|
233
|
+
fileAttachments?: Array<{
|
|
234
|
+
content: string;
|
|
235
|
+
}>;
|
|
236
|
+
/** Compaction trigger threshold (0.0-1.0). Default: 0.80 */
|
|
237
|
+
compactionThreshold?: number;
|
|
238
|
+
};
|
|
239
|
+
/** A file prepared for potential summarization. */
|
|
240
|
+
export type FileForSummarization = {
|
|
241
|
+
/** Display name (e.g. "report.pdf") */
|
|
242
|
+
fileName: string;
|
|
243
|
+
/** Human-readable type label (e.g. "PDF Document") */
|
|
244
|
+
fileType: string;
|
|
245
|
+
/** Extracted text content */
|
|
246
|
+
content: string;
|
|
247
|
+
/** Estimated token count (provider-adjusted) */
|
|
248
|
+
estimatedTokens: number;
|
|
249
|
+
/** Optional MIME type */
|
|
250
|
+
mimeType?: string;
|
|
251
|
+
/** Original byte size on disk */
|
|
252
|
+
originalSize?: number;
|
|
253
|
+
};
|
|
254
|
+
/** Parameters for `shouldSummarizeFiles()`. */
|
|
255
|
+
export type FileSummarizationCheckParams = {
|
|
256
|
+
/** AI provider name (e.g. "vertex", "anthropic") */
|
|
257
|
+
provider: string;
|
|
258
|
+
/** Model name (optional -- falls back to provider default) */
|
|
259
|
+
model?: string;
|
|
260
|
+
/** Token estimate for the system prompt */
|
|
261
|
+
systemPromptTokens: number;
|
|
262
|
+
/** Token estimate for conversation history */
|
|
263
|
+
conversationHistoryTokens: number;
|
|
264
|
+
/** Token estimate for the current user prompt */
|
|
265
|
+
currentPromptTokens: number;
|
|
266
|
+
/** Token estimate for tool definitions */
|
|
267
|
+
toolDefinitionTokens: number;
|
|
268
|
+
/** Token estimate for all attached files (sum) */
|
|
269
|
+
fileTokens: number;
|
|
270
|
+
/** Number of attached files */
|
|
271
|
+
fileCount?: number;
|
|
272
|
+
/** Explicit maxTokens (output reserve) from user config */
|
|
273
|
+
maxTokens?: number;
|
|
274
|
+
/** Context usage fraction that triggers summarization (0.0-1.0, default 0.80) */
|
|
275
|
+
threshold?: number;
|
|
276
|
+
/** Minimum tokens per file in the summarization plan */
|
|
277
|
+
minTokensPerFile?: number;
|
|
278
|
+
/** Maximum tokens per file in the summarization plan */
|
|
279
|
+
maxTokensPerFile?: number;
|
|
280
|
+
};
|
|
281
|
+
/** Result of `shouldSummarizeFiles()`. */
|
|
282
|
+
export type FileSummarizationCheckResult = {
|
|
283
|
+
/** Whether summarization is needed */
|
|
284
|
+
needsSummarization: boolean;
|
|
285
|
+
/** Total estimated input tokens (all categories) */
|
|
286
|
+
totalEstimatedTokens: number;
|
|
287
|
+
/** Available input tokens for the model */
|
|
288
|
+
availableInputTokens: number;
|
|
289
|
+
/** Budget remaining for files after non-file content */
|
|
290
|
+
availableBudgetForFiles: number;
|
|
291
|
+
/** If summarizing, the per-file token budget (undefined when not needed) */
|
|
292
|
+
perFileBudget?: number;
|
|
293
|
+
};
|
|
294
|
+
/** Parameters for `buildFileSummarizationPrompt()`. */
|
|
295
|
+
export type FileSummarizationPromptParams = {
|
|
296
|
+
/** File display name */
|
|
297
|
+
fileName: string;
|
|
298
|
+
/** File type label */
|
|
299
|
+
fileType: string;
|
|
300
|
+
/** Full extracted text of the file */
|
|
301
|
+
fileContent: string;
|
|
302
|
+
/** The user's original prompt / question */
|
|
303
|
+
userPrompt: string;
|
|
304
|
+
/** Target output token count for the summary */
|
|
305
|
+
targetTokens: number;
|
|
306
|
+
};
|
|
307
|
+
/** Result item from `planFileSummarization()`. */
|
|
308
|
+
export type SummarizedFile = {
|
|
309
|
+
/** File display name */
|
|
310
|
+
fileName: string;
|
|
311
|
+
/** File type label */
|
|
312
|
+
fileType: string;
|
|
313
|
+
/** Summary text (or original content if not summarized) */
|
|
314
|
+
summary: string;
|
|
315
|
+
/** Original token estimate */
|
|
316
|
+
originalTokens: number;
|
|
317
|
+
/** Token estimate of the summary */
|
|
318
|
+
summaryTokens: number;
|
|
319
|
+
/** Whether this file was actually summarized */
|
|
320
|
+
wasSummarized: boolean;
|
|
321
|
+
};
|
|
322
|
+
/** Plan entry for a single file. */
|
|
323
|
+
export type FileSummarizationPlanEntry = {
|
|
324
|
+
file: FileForSummarization;
|
|
325
|
+
action: "summarize" | "keep";
|
|
326
|
+
targetTokens?: number;
|
|
327
|
+
};
|
|
328
|
+
/** Raw file input before text extraction. */
|
|
329
|
+
export type RawFileInput = {
|
|
330
|
+
/** File content -- either a UTF-8 string or a raw Buffer */
|
|
331
|
+
content: string | Buffer;
|
|
332
|
+
/** MIME type (e.g. "application/pdf", "text/plain") */
|
|
333
|
+
mimeType: string;
|
|
334
|
+
/** Display file name */
|
|
335
|
+
fileName: string;
|
|
336
|
+
/** Original byte size on disk (optional) */
|
|
337
|
+
originalSize?: number;
|
|
338
|
+
};
|
|
339
|
+
/** Input file for aggregate budget enforcement. */
|
|
340
|
+
export type BudgetFileInput = {
|
|
341
|
+
name: string;
|
|
342
|
+
sizeBytes: number;
|
|
343
|
+
/** Optional file type hint for type-aware token estimation */
|
|
344
|
+
fileType?: string;
|
|
345
|
+
};
|
|
346
|
+
/** Options for tool output truncation. */
|
|
347
|
+
export type TruncateOptions = {
|
|
348
|
+
maxBytes?: number;
|
|
349
|
+
maxLines?: number;
|
|
350
|
+
direction?: "head" | "tail";
|
|
351
|
+
saveToDisk?: boolean;
|
|
352
|
+
saveDir?: string;
|
|
353
|
+
};
|
|
354
|
+
/** Result of tool output truncation. */
|
|
355
|
+
export type TruncateResult = {
|
|
356
|
+
content: string;
|
|
357
|
+
truncated: boolean;
|
|
358
|
+
savedPath?: string;
|
|
359
|
+
originalSize: number;
|
|
360
|
+
};
|
|
361
|
+
/** Result of tool pair repair. */
|
|
362
|
+
export type RepairResult = {
|
|
363
|
+
repaired: boolean;
|
|
364
|
+
messages: ChatMessage[];
|
|
365
|
+
orphanedCallsFixed: number;
|
|
366
|
+
orphanedResultsFixed: number;
|
|
367
|
+
};
|
|
368
|
+
/** Options for summarization prompt building. */
|
|
369
|
+
export type SummarizationPromptOptions = {
|
|
370
|
+
/**
|
|
371
|
+
* Whether this is an incremental update to an existing summary
|
|
372
|
+
*/
|
|
373
|
+
isIncremental: boolean;
|
|
374
|
+
/**
|
|
375
|
+
* The previous summary to merge with (required for incremental mode)
|
|
376
|
+
*/
|
|
377
|
+
previousSummary?: string;
|
|
378
|
+
/**
|
|
379
|
+
* List of files that have been read during the conversation
|
|
380
|
+
*/
|
|
381
|
+
filesRead?: string[];
|
|
382
|
+
/**
|
|
383
|
+
* List of files that have been modified during the conversation
|
|
384
|
+
*/
|
|
385
|
+
filesModified?: string[];
|
|
386
|
+
};
|
|
387
|
+
/** Configuration for tool output pruning (Stage 1). */
|
|
388
|
+
export type PruneConfig = {
|
|
389
|
+
protectTokens?: number;
|
|
390
|
+
minimumSavings?: number;
|
|
391
|
+
protectedTools?: string[];
|
|
392
|
+
provider?: string;
|
|
393
|
+
};
|
|
394
|
+
/** Result of tool output pruning (Stage 1). */
|
|
395
|
+
export type PruneResult = {
|
|
396
|
+
pruned: boolean;
|
|
397
|
+
messages: ChatMessage[];
|
|
398
|
+
tokensSaved: number;
|
|
399
|
+
};
|
|
400
|
+
/** Configuration for sliding window truncation (Stage 4). */
|
|
401
|
+
export type TruncationConfig = {
|
|
402
|
+
fraction?: number;
|
|
403
|
+
};
|
|
404
|
+
/** Result of sliding window truncation (Stage 4). */
|
|
405
|
+
export type TruncationResult = {
|
|
406
|
+
truncated: boolean;
|
|
407
|
+
messages: ChatMessage[];
|
|
408
|
+
messagesRemoved: number;
|
|
409
|
+
};
|
|
410
|
+
/** Configuration for structured LLM summarization (Stage 3). */
|
|
411
|
+
export type SummarizeConfig = {
|
|
412
|
+
provider?: string;
|
|
413
|
+
model?: string;
|
|
414
|
+
keepRecentRatio?: number;
|
|
415
|
+
memoryConfig?: Partial<ConversationMemoryConfig>;
|
|
416
|
+
};
|
|
417
|
+
/** Result of structured LLM summarization (Stage 3). */
|
|
418
|
+
export type SummarizeResult = {
|
|
419
|
+
summarized: boolean;
|
|
420
|
+
messages: ChatMessage[];
|
|
421
|
+
summaryText?: string;
|
|
422
|
+
};
|
|
423
|
+
/** Result of file read deduplication (Stage 2). */
|
|
424
|
+
export type DeduplicationResult = {
|
|
425
|
+
deduplicated: boolean;
|
|
426
|
+
messages: ChatMessage[];
|
|
427
|
+
filesDeduped: number;
|
|
428
|
+
};
|
|
174
429
|
export {};
|
|
@@ -398,6 +398,4 @@ export class ContextConverter {
|
|
|
398
398
|
return customData;
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
|
-
// Framework fields configuration loading moved to lazy initialization
|
|
402
|
-
// Call ContextFactory.loadFrameworkFieldsFromEnv() explicitly in application entrypoint or test setup
|
|
403
401
|
//# sourceMappingURL=contextTypes.js.map
|
|
@@ -55,6 +55,34 @@ export type ConversationMemoryConfig = {
|
|
|
55
55
|
mem0Config?: Mem0Config;
|
|
56
56
|
/** Redis configuration (optional) - overrides environment variables */
|
|
57
57
|
redisConfig?: RedisStorageConfig;
|
|
58
|
+
/** Context compaction configuration */
|
|
59
|
+
contextCompaction?: {
|
|
60
|
+
/** Enable auto-compaction (default: true when summarization enabled) */
|
|
61
|
+
enabled?: boolean;
|
|
62
|
+
/** Compaction trigger threshold (0.0-1.0, default: 0.80) */
|
|
63
|
+
threshold?: number;
|
|
64
|
+
/** Enable tool output pruning (default: true) */
|
|
65
|
+
enablePruning?: boolean;
|
|
66
|
+
/** Enable file read deduplication (default: true) */
|
|
67
|
+
enableDeduplication?: boolean;
|
|
68
|
+
/** Enable sliding window fallback (default: true) */
|
|
69
|
+
enableSlidingWindow?: boolean;
|
|
70
|
+
/** Tool output max size in bytes (default: 50KB) */
|
|
71
|
+
maxToolOutputBytes?: number;
|
|
72
|
+
/** Tool output max lines (default: 2000) */
|
|
73
|
+
maxToolOutputLines?: number;
|
|
74
|
+
/** File read budget as fraction of remaining context (default: 0.60) */
|
|
75
|
+
fileReadBudgetPercent?: number;
|
|
76
|
+
};
|
|
77
|
+
/** Configuration for automatic file content summarization when files exceed context budget */
|
|
78
|
+
fileSummarization?: {
|
|
79
|
+
enabled?: boolean;
|
|
80
|
+
provider?: string;
|
|
81
|
+
model?: string;
|
|
82
|
+
threshold?: number;
|
|
83
|
+
minTokensPerFile?: number;
|
|
84
|
+
maxTokensPerFile?: number;
|
|
85
|
+
};
|
|
58
86
|
/** @deprecated Use tokenThreshold instead - Maximum number of conversation turns to keep per session (default: 20) */
|
|
59
87
|
maxTurnsPerSession?: number;
|
|
60
88
|
/** @deprecated Use tokenThreshold instead - Turn count to trigger summarization */
|
|
@@ -97,6 +125,14 @@ export type SessionMemory = {
|
|
|
97
125
|
lastTokenCount?: number;
|
|
98
126
|
/** When token count was last calculated (NEW - for token-based memory) */
|
|
99
127
|
lastCountedAt?: number;
|
|
128
|
+
/** API-reported token count from last request (most accurate) */
|
|
129
|
+
lastApiTokenCount?: {
|
|
130
|
+
inputTokens?: number;
|
|
131
|
+
outputTokens?: number;
|
|
132
|
+
totalTokens?: number;
|
|
133
|
+
cacheReadTokens?: number;
|
|
134
|
+
cacheWriteTokens?: number;
|
|
135
|
+
};
|
|
100
136
|
/** Optional session metadata */
|
|
101
137
|
metadata?: {
|
|
102
138
|
/** User role or permissions */
|
|
@@ -199,6 +235,16 @@ export type ChatMessage = {
|
|
|
199
235
|
/** Whether extended thinking was used for this message */
|
|
200
236
|
thinkingExpanded?: boolean;
|
|
201
237
|
};
|
|
238
|
+
/** UUID identifying this condensation group */
|
|
239
|
+
condenseId?: string;
|
|
240
|
+
/** Points to summary that replaces this message */
|
|
241
|
+
condenseParent?: string;
|
|
242
|
+
/** UUID identifying this truncation group */
|
|
243
|
+
truncationId?: string;
|
|
244
|
+
/** Points to truncation marker that hides this message */
|
|
245
|
+
truncationParent?: string;
|
|
246
|
+
/** Marks this message as a truncation boundary marker */
|
|
247
|
+
isTruncationMarker?: boolean;
|
|
202
248
|
};
|
|
203
249
|
/**
|
|
204
250
|
* Multimodal message types - Re-exported from multimodal.ts
|
|
@@ -277,6 +323,14 @@ export type StoreConversationTurnOptions = {
|
|
|
277
323
|
providerDetails?: ProviderDetails;
|
|
278
324
|
enableSummarization?: boolean;
|
|
279
325
|
events?: StreamEventSequence[];
|
|
326
|
+
/** API-reported token usage from provider response */
|
|
327
|
+
tokenUsage?: {
|
|
328
|
+
inputTokens?: number;
|
|
329
|
+
outputTokens?: number;
|
|
330
|
+
totalTokens?: number;
|
|
331
|
+
cacheReadTokens?: number;
|
|
332
|
+
cacheWriteTokens?: number;
|
|
333
|
+
};
|
|
280
334
|
};
|
|
281
335
|
/**
|
|
282
336
|
* Lightweight session metadata for efficient session listing
|
|
@@ -315,6 +369,14 @@ export type ConversationBase = {
|
|
|
315
369
|
lastTokenCount?: number;
|
|
316
370
|
/** Timestamp of last token count */
|
|
317
371
|
lastCountedAt?: number;
|
|
372
|
+
/** API-reported token count from last request */
|
|
373
|
+
lastApiTokenCount?: {
|
|
374
|
+
inputTokens?: number;
|
|
375
|
+
outputTokens?: number;
|
|
376
|
+
totalTokens?: number;
|
|
377
|
+
cacheReadTokens?: number;
|
|
378
|
+
cacheWriteTokens?: number;
|
|
379
|
+
};
|
|
318
380
|
};
|
|
319
381
|
/**
|
|
320
382
|
* Redis conversation storage object format
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared type for conversation memory managers.
|
|
3
|
+
* Both ConversationMemoryManager and RedisConversationMemoryManager
|
|
4
|
+
* should implement this type.
|
|
5
|
+
*/
|
|
6
|
+
import type { ChatMessage, ConversationMemoryConfig, ConversationMemoryStats, SessionMemory, StoreConversationTurnOptions } from "./conversation.js";
|
|
7
|
+
/**
|
|
8
|
+
* Common type for all conversation memory manager implementations.
|
|
9
|
+
* Provides a consistent API for storing, retrieving, and managing conversation history.
|
|
10
|
+
*/
|
|
11
|
+
export type IConversationMemoryManager = {
|
|
12
|
+
config: ConversationMemoryConfig;
|
|
13
|
+
/** Initialize the memory manager */
|
|
14
|
+
initialize(): Promise<void> | void;
|
|
15
|
+
/** Store a conversation turn */
|
|
16
|
+
storeConversationTurn(options: StoreConversationTurnOptions): Promise<void>;
|
|
17
|
+
/** Get session by ID */
|
|
18
|
+
getSession(sessionId: string, userId?: string): SessionMemory | undefined | Promise<SessionMemory | undefined>;
|
|
19
|
+
/** Build context messages for AI prompt injection */
|
|
20
|
+
buildContextMessages(sessionId: string, userId?: string, enableSummarization?: boolean): Promise<ChatMessage[]> | ChatMessage[];
|
|
21
|
+
/** Clear a specific session */
|
|
22
|
+
clearSession(sessionId: string, userId?: string): Promise<boolean> | boolean;
|
|
23
|
+
/** Clear all sessions */
|
|
24
|
+
clearAllSessions(): Promise<void> | void;
|
|
25
|
+
/** Get memory statistics */
|
|
26
|
+
getStats(): Promise<ConversationMemoryStats> | ConversationMemoryStats;
|
|
27
|
+
};
|