@framers/agentos 0.1.112 → 0.1.114
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/README.md +39 -5
- package/dist/api/AgentOS.d.ts +45 -12
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +225 -78
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/AgentOSOrchestrator.d.ts +8 -0
- package/dist/api/AgentOSOrchestrator.d.ts.map +1 -1
- package/dist/api/AgentOSOrchestrator.js +350 -59
- package/dist/api/AgentOSOrchestrator.js.map +1 -1
- package/dist/api/StreamChunkEmitter.d.ts.map +1 -1
- package/dist/api/StreamChunkEmitter.js +2 -0
- package/dist/api/StreamChunkEmitter.js.map +1 -1
- package/dist/api/agency.d.ts.map +1 -1
- package/dist/api/agency.js +47 -1
- package/dist/api/agency.js.map +1 -1
- package/dist/api/agent.d.ts +18 -5
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +48 -9
- package/dist/api/agent.js.map +1 -1
- package/dist/api/agentExport.d.ts +202 -0
- package/dist/api/agentExport.d.ts.map +1 -0
- package/dist/api/agentExport.js +323 -0
- package/dist/api/agentExport.js.map +1 -0
- package/dist/api/editImage.d.ts +119 -0
- package/dist/api/editImage.d.ts.map +1 -0
- package/dist/api/editImage.js +150 -0
- package/dist/api/editImage.js.map +1 -0
- package/dist/api/embedText.d.ts +137 -0
- package/dist/api/embedText.d.ts.map +1 -0
- package/dist/api/embedText.js +229 -0
- package/dist/api/embedText.js.map +1 -0
- package/dist/api/externalToolRegistry.d.ts +44 -0
- package/dist/api/externalToolRegistry.d.ts.map +1 -0
- package/dist/api/externalToolRegistry.js +245 -0
- package/dist/api/externalToolRegistry.js.map +1 -0
- package/dist/api/generateImage.d.ts +1 -1
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +17 -13
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateObject.d.ts +185 -0
- package/dist/api/generateObject.d.ts.map +1 -0
- package/dist/api/generateObject.js +249 -0
- package/dist/api/generateObject.js.map +1 -0
- package/dist/api/generateText.d.ts +13 -3
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +20 -5
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/interfaces/IAgentOS.d.ts +29 -1
- package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
- package/dist/api/model.d.ts +7 -7
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +22 -16
- package/dist/api/model.js.map +1 -1
- package/dist/api/processRequestWithExternalTools.d.ts +26 -0
- package/dist/api/processRequestWithExternalTools.d.ts.map +1 -0
- package/dist/api/processRequestWithExternalTools.js +52 -0
- package/dist/api/processRequestWithExternalTools.js.map +1 -0
- package/dist/api/processRequestWithRegisteredTools.d.ts +56 -0
- package/dist/api/processRequestWithRegisteredTools.d.ts.map +1 -0
- package/dist/api/processRequestWithRegisteredTools.js +125 -0
- package/dist/api/processRequestWithRegisteredTools.js.map +1 -0
- package/dist/api/provider-defaults.d.ts.map +1 -1
- package/dist/api/provider-defaults.js +28 -0
- package/dist/api/provider-defaults.js.map +1 -1
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts +71 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts.map +1 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.js +159 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.js.map +1 -0
- package/dist/api/strategies/agentGraphBuilder.d.ts +170 -0
- package/dist/api/strategies/agentGraphBuilder.d.ts.map +1 -0
- package/dist/api/strategies/agentGraphBuilder.js +299 -0
- package/dist/api/strategies/agentGraphBuilder.js.map +1 -0
- package/dist/api/strategies/debate.d.ts +12 -1
- package/dist/api/strategies/debate.d.ts.map +1 -1
- package/dist/api/strategies/debate.js +41 -5
- package/dist/api/strategies/debate.js.map +1 -1
- package/dist/api/strategies/graphCompiler.d.ts +84 -0
- package/dist/api/strategies/graphCompiler.d.ts.map +1 -0
- package/dist/api/strategies/graphCompiler.js +617 -0
- package/dist/api/strategies/graphCompiler.js.map +1 -0
- package/dist/api/strategies/hierarchical.d.ts +15 -1
- package/dist/api/strategies/hierarchical.d.ts.map +1 -1
- package/dist/api/strategies/hierarchical.js +53 -8
- package/dist/api/strategies/hierarchical.js.map +1 -1
- package/dist/api/strategies/index.d.ts +29 -4
- package/dist/api/strategies/index.d.ts.map +1 -1
- package/dist/api/strategies/index.js +28 -4
- package/dist/api/strategies/index.js.map +1 -1
- package/dist/api/strategies/parallel.d.ts +15 -4
- package/dist/api/strategies/parallel.d.ts.map +1 -1
- package/dist/api/strategies/parallel.js +53 -16
- package/dist/api/strategies/parallel.js.map +1 -1
- package/dist/api/strategies/review-loop.d.ts +15 -1
- package/dist/api/strategies/review-loop.d.ts.map +1 -1
- package/dist/api/strategies/review-loop.js +36 -10
- package/dist/api/strategies/review-loop.js.map +1 -1
- package/dist/api/strategies/sequential.d.ts +11 -1
- package/dist/api/strategies/sequential.d.ts.map +1 -1
- package/dist/api/strategies/sequential.js +39 -8
- package/dist/api/strategies/sequential.js.map +1 -1
- package/dist/api/strategies/shared.d.ts +72 -8
- package/dist/api/strategies/shared.d.ts.map +1 -1
- package/dist/api/strategies/shared.js +92 -12
- package/dist/api/strategies/shared.js.map +1 -1
- package/dist/api/streamObject.d.ts +166 -0
- package/dist/api/streamObject.d.ts.map +1 -0
- package/dist/api/streamObject.js +268 -0
- package/dist/api/streamObject.js.map +1 -0
- package/dist/api/streamText.d.ts +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +26 -8
- package/dist/api/streamText.js.map +1 -1
- package/dist/api/toolAdapter.d.ts +44 -8
- package/dist/api/toolAdapter.d.ts.map +1 -1
- package/dist/api/toolAdapter.js +224 -45
- package/dist/api/toolAdapter.js.map +1 -1
- package/dist/api/types/AgentOSExternalToolRequest.d.ts +35 -0
- package/dist/api/types/AgentOSExternalToolRequest.d.ts.map +1 -0
- package/dist/api/types/AgentOSExternalToolRequest.js +2 -0
- package/dist/api/types/AgentOSExternalToolRequest.js.map +1 -0
- package/dist/api/types/AgentOSResponse.d.ts +25 -0
- package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
- package/dist/api/types/AgentOSResponse.js +20 -0
- package/dist/api/types/AgentOSResponse.js.map +1 -1
- package/dist/api/types/AgentOSToolResult.d.ts +11 -0
- package/dist/api/types/AgentOSToolResult.d.ts.map +1 -0
- package/dist/api/types/AgentOSToolResult.js +2 -0
- package/dist/api/types/AgentOSToolResult.js.map +1 -0
- package/dist/api/types.d.ts +81 -4
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/upscaleImage.d.ts +92 -0
- package/dist/api/upscaleImage.d.ts.map +1 -0
- package/dist/api/upscaleImage.js +133 -0
- package/dist/api/upscaleImage.js.map +1 -0
- package/dist/api/variateImage.d.ts +102 -0
- package/dist/api/variateImage.d.ts.map +1 -0
- package/dist/api/variateImage.js +154 -0
- package/dist/api/variateImage.js.map +1 -0
- package/dist/cognitive_substrate/GMI.d.ts +16 -2
- package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMI.js +188 -56
- package/dist/cognitive_substrate/GMI.js.map +1 -1
- package/dist/cognitive_substrate/IGMI.d.ts +10 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/IGMI.js.map +1 -1
- package/dist/config/AgentOSConfig.d.ts +19 -2
- package/dist/config/AgentOSConfig.d.ts.map +1 -1
- package/dist/config/AgentOSConfig.js +46 -29
- package/dist/config/AgentOSConfig.js.map +1 -1
- package/dist/core/guardrails/IGuardrailService.d.ts +1 -1
- package/dist/core/images/IImageProvider.d.ts +93 -0
- package/dist/core/images/IImageProvider.d.ts.map +1 -1
- package/dist/core/images/IImageProvider.js.map +1 -1
- package/dist/core/images/ImageOperationError.d.ts +52 -0
- package/dist/core/images/ImageOperationError.d.ts.map +1 -0
- package/dist/core/images/ImageOperationError.js +58 -0
- package/dist/core/images/ImageOperationError.js.map +1 -0
- package/dist/core/images/imageToBuffer.d.ts +41 -0
- package/dist/core/images/imageToBuffer.d.ts.map +1 -0
- package/dist/core/images/imageToBuffer.js +95 -0
- package/dist/core/images/imageToBuffer.js.map +1 -0
- package/dist/core/images/index.d.ts +4 -0
- package/dist/core/images/index.d.ts.map +1 -1
- package/dist/core/images/index.js +8 -0
- package/dist/core/images/index.js.map +1 -1
- package/dist/core/images/providers/FalImageProvider.d.ts +208 -0
- package/dist/core/images/providers/FalImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/FalImageProvider.js +301 -0
- package/dist/core/images/providers/FalImageProvider.js.map +1 -0
- package/dist/core/images/providers/FluxImageProvider.d.ts +197 -0
- package/dist/core/images/providers/FluxImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/FluxImageProvider.js +271 -0
- package/dist/core/images/providers/FluxImageProvider.js.map +1 -0
- package/dist/core/images/providers/OpenAIImageProvider.d.ts +33 -1
- package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/OpenAIImageProvider.js +125 -0
- package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -1
- package/dist/core/images/providers/ReplicateImageProvider.d.ts +26 -1
- package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/ReplicateImageProvider.js +118 -0
- package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -1
- package/dist/core/images/providers/StabilityImageProvider.d.ts +41 -1
- package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/StabilityImageProvider.js +180 -7
- package/dist/core/images/providers/StabilityImageProvider.js.map +1 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts +29 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts.map +1 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.js +124 -0
- package/dist/core/images/providers/StableDiffusionLocalProvider.js.map +1 -1
- package/dist/core/llm/IPromptEngine.d.ts +2 -2
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
- package/dist/core/llm/IPromptEngine.js +2 -2
- package/dist/core/llm/IPromptEngine.js.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts +7 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.js +24 -0
- package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
- package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts +42 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.js +45 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +45 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.js +46 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.js +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -1
- package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OpenAIProviderError.js +1 -1
- package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OpenRouterProviderError.js +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +340 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.js +959 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +339 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.js +1004 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GroqProvider.d.ts +105 -0
- package/dist/core/llm/providers/implementations/GroqProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GroqProvider.js +134 -0
- package/dist/core/llm/providers/implementations/GroqProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts +105 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/MistralProvider.js +146 -0
- package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +107 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.js +138 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/XAIProvider.d.ts +102 -0
- package/dist/core/llm/providers/implementations/XAIProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/XAIProvider.js +123 -0
- package/dist/core/llm/providers/implementations/XAIProvider.js.map +1 -0
- package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -1
- package/dist/core/orchestration/AgentOrchestrator.js +26 -5
- package/dist/core/orchestration/AgentOrchestrator.js.map +1 -1
- package/dist/core/tools/IToolOrchestrator.d.ts +2 -2
- package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolExecutor.d.ts +3 -0
- package/dist/core/tools/ToolExecutor.d.ts.map +1 -1
- package/dist/core/tools/ToolExecutor.js +2 -1
- package/dist/core/tools/ToolExecutor.js.map +1 -1
- package/dist/core/tools/ToolOrchestrator.d.ts +7 -7
- package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.js +135 -36
- package/dist/core/tools/ToolOrchestrator.js.map +1 -1
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts +6 -5
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -1
- package/dist/core/tools/permissions/ToolPermissionManager.js +47 -21
- package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -1
- package/dist/core/vision/VisionPipeline.d.ts +437 -0
- package/dist/core/vision/VisionPipeline.d.ts.map +1 -0
- package/dist/core/vision/VisionPipeline.js +1113 -0
- package/dist/core/vision/VisionPipeline.js.map +1 -0
- package/dist/core/vision/index.d.ts +97 -0
- package/dist/core/vision/index.d.ts.map +1 -0
- package/dist/core/vision/index.js +182 -0
- package/dist/core/vision/index.js.map +1 -0
- package/dist/core/vision/providers/LLMVisionProvider.d.ts +135 -0
- package/dist/core/vision/providers/LLMVisionProvider.d.ts.map +1 -0
- package/dist/core/vision/providers/LLMVisionProvider.js +136 -0
- package/dist/core/vision/providers/LLMVisionProvider.js.map +1 -0
- package/dist/core/vision/providers/PipelineVisionProvider.d.ts +154 -0
- package/dist/core/vision/providers/PipelineVisionProvider.d.ts.map +1 -0
- package/dist/core/vision/providers/PipelineVisionProvider.js +160 -0
- package/dist/core/vision/providers/PipelineVisionProvider.js.map +1 -0
- package/dist/core/vision/types.d.ts +286 -0
- package/dist/core/vision/types.d.ts.map +1 -0
- package/dist/core/vision/types.js +24 -0
- package/dist/core/vision/types.js.map +1 -0
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
- package/dist/emergent/ComposableToolBuilder.d.ts +15 -4
- package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -1
- package/dist/emergent/ComposableToolBuilder.js +29 -14
- package/dist/emergent/ComposableToolBuilder.js.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.d.ts +3 -3
- package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.js +15 -12
- package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/emergent/EmergentJudge.d.ts +20 -0
- package/dist/emergent/EmergentJudge.d.ts.map +1 -1
- package/dist/emergent/EmergentJudge.js +121 -26
- package/dist/emergent/EmergentJudge.js.map +1 -1
- package/dist/emergent/EmergentToolRegistry.d.ts +17 -0
- package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -1
- package/dist/emergent/EmergentToolRegistry.js +26 -0
- package/dist/emergent/EmergentToolRegistry.js.map +1 -1
- package/dist/emergent/ForgeToolMetaTool.d.ts +1 -1
- package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -1
- package/dist/emergent/ForgeToolMetaTool.js +15 -2
- package/dist/emergent/ForgeToolMetaTool.js.map +1 -1
- package/dist/emergent/SandboxedToolForge.d.ts +2 -2
- package/dist/emergent/SandboxedToolForge.d.ts.map +1 -1
- package/dist/emergent/SandboxedToolForge.js +13 -23
- package/dist/emergent/SandboxedToolForge.js.map +1 -1
- package/dist/emergent/SkillExporter.d.ts +119 -0
- package/dist/emergent/SkillExporter.d.ts.map +1 -0
- package/dist/emergent/SkillExporter.js +344 -0
- package/dist/emergent/SkillExporter.js.map +1 -0
- package/dist/emergent/index.d.ts +1 -0
- package/dist/emergent/index.d.ts.map +1 -1
- package/dist/emergent/index.js +1 -0
- package/dist/emergent/index.js.map +1 -1
- package/dist/emergent/types.d.ts +4 -4
- package/dist/index.d.ts +30 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/memory/facade/Memory.d.ts.map +1 -1
- package/dist/memory/facade/Memory.js +8 -0
- package/dist/memory/facade/Memory.js.map +1 -1
- package/dist/memory/facade/types.d.ts +10 -0
- package/dist/memory/facade/types.d.ts.map +1 -1
- package/dist/memory/index.d.ts +15 -7
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +7 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/ingestion/DoclingLoader.d.ts +3 -3
- package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/DoclingLoader.js +12 -8
- package/dist/memory/ingestion/DoclingLoader.js.map +1 -1
- package/dist/memory/ingestion/FolderScanner.d.ts +7 -7
- package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -1
- package/dist/memory/ingestion/FolderScanner.js +6 -6
- package/dist/memory/ingestion/FolderScanner.js.map +1 -1
- package/dist/memory/ingestion/LoaderRegistry.d.ts +8 -8
- package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -1
- package/dist/memory/ingestion/LoaderRegistry.js +9 -11
- package/dist/memory/ingestion/LoaderRegistry.js.map +1 -1
- package/dist/memory/ingestion/MultimodalAggregator.d.ts +1 -1
- package/dist/memory/ingestion/MultimodalAggregator.js +1 -1
- package/dist/memory/ingestion/OcrPdfLoader.d.ts +2 -2
- package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/OcrPdfLoader.js +12 -8
- package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -1
- package/dist/memory/ingestion/PdfLoader.d.ts +8 -8
- package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/PdfLoader.js +13 -10
- package/dist/memory/ingestion/PdfLoader.js.map +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownExporter.js +1 -1
- package/dist/memory/io/MarkdownExporter.js.map +1 -1
- package/dist/memory/observation/MemoryObserver.d.ts +63 -1
- package/dist/memory/observation/MemoryObserver.d.ts.map +1 -1
- package/dist/memory/observation/MemoryObserver.js +115 -4
- package/dist/memory/observation/MemoryObserver.js.map +1 -1
- package/dist/memory/observation/ObservationCompressor.d.ts +88 -0
- package/dist/memory/observation/ObservationCompressor.d.ts.map +1 -0
- package/dist/memory/observation/ObservationCompressor.js +207 -0
- package/dist/memory/observation/ObservationCompressor.js.map +1 -0
- package/dist/memory/observation/ObservationReflector.d.ts +82 -0
- package/dist/memory/observation/ObservationReflector.d.ts.map +1 -0
- package/dist/memory/observation/ObservationReflector.js +212 -0
- package/dist/memory/observation/ObservationReflector.js.map +1 -0
- package/dist/memory/observation/temporal.d.ts +54 -0
- package/dist/memory/observation/temporal.d.ts.map +1 -0
- package/dist/memory/observation/temporal.js +115 -0
- package/dist/memory/observation/temporal.js.map +1 -0
- package/dist/memory/tools/MemoryAddTool.d.ts +2 -2
- package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryAddTool.js +8 -3
- package/dist/memory/tools/MemoryAddTool.js.map +1 -1
- package/dist/memory/tools/MemorySearchTool.d.ts +3 -3
- package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -1
- package/dist/memory/tools/MemorySearchTool.js +11 -9
- package/dist/memory/tools/MemorySearchTool.js.map +1 -1
- package/dist/memory/tools/scopeContext.d.ts +11 -0
- package/dist/memory/tools/scopeContext.d.ts.map +1 -0
- package/dist/memory/tools/scopeContext.js +46 -0
- package/dist/memory/tools/scopeContext.js.map +1 -0
- package/dist/orchestration/builders/AgentGraph.d.ts +12 -11
- package/dist/orchestration/builders/AgentGraph.d.ts.map +1 -1
- package/dist/orchestration/builders/AgentGraph.js +12 -11
- package/dist/orchestration/builders/AgentGraph.js.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +82 -25
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.js +86 -26
- package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +7 -54
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -56
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
- package/dist/orchestration/events/GraphEvent.d.ts +67 -5
- package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
- package/dist/orchestration/events/GraphEvent.js.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.js +151 -1
- package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
- package/dist/orchestration/runtime/LoopController.d.ts +3 -3
- package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
- package/dist/orchestration/runtime/LoopController.js.map +1 -1
- package/dist/orchestration/runtime/StateManager.d.ts +3 -3
- package/dist/orchestration/runtime/StateManager.js +3 -3
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +103 -26
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.js +155 -43
- package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +95 -33
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.js +83 -29
- package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +73 -20
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.js +84 -23
- package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -1
- package/dist/query-router/KeywordFallback.d.ts +70 -0
- package/dist/query-router/KeywordFallback.d.ts.map +1 -0
- package/dist/query-router/KeywordFallback.js +132 -0
- package/dist/query-router/KeywordFallback.js.map +1 -0
- package/dist/query-router/QueryClassifier.d.ts +140 -0
- package/dist/query-router/QueryClassifier.d.ts.map +1 -0
- package/dist/query-router/QueryClassifier.js +223 -0
- package/dist/query-router/QueryClassifier.js.map +1 -0
- package/dist/query-router/QueryDispatcher.d.ts +139 -0
- package/dist/query-router/QueryDispatcher.d.ts.map +1 -0
- package/dist/query-router/QueryDispatcher.js +297 -0
- package/dist/query-router/QueryDispatcher.js.map +1 -0
- package/dist/query-router/QueryGenerator.d.ts +184 -0
- package/dist/query-router/QueryGenerator.d.ts.map +1 -0
- package/dist/query-router/QueryGenerator.js +241 -0
- package/dist/query-router/QueryGenerator.js.map +1 -0
- package/dist/query-router/QueryRouter.d.ts +292 -0
- package/dist/query-router/QueryRouter.d.ts.map +1 -0
- package/dist/query-router/QueryRouter.js +803 -0
- package/dist/query-router/QueryRouter.js.map +1 -0
- package/dist/query-router/TopicExtractor.d.ts +73 -0
- package/dist/query-router/TopicExtractor.d.ts.map +1 -0
- package/dist/query-router/TopicExtractor.js +95 -0
- package/dist/query-router/TopicExtractor.js.map +1 -0
- package/dist/query-router/index.d.ts +40 -0
- package/dist/query-router/index.d.ts.map +1 -0
- package/dist/query-router/index.js +46 -0
- package/dist/query-router/index.js.map +1 -0
- package/dist/query-router/types.d.ts +508 -0
- package/dist/query-router/types.d.ts.map +1 -0
- package/dist/query-router/types.js +39 -0
- package/dist/query-router/types.js.map +1 -0
- package/dist/rag/index.d.ts +5 -0
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +7 -0
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/multimodal/LLMVisionAdapter.d.ts +43 -0
- package/dist/rag/multimodal/LLMVisionAdapter.d.ts.map +1 -0
- package/dist/rag/multimodal/LLMVisionAdapter.js +46 -0
- package/dist/rag/multimodal/LLMVisionAdapter.js.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts +244 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.js +411 -0
- package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts +448 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts.map +1 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.js +941 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.js.map +1 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.d.ts +139 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.d.ts.map +1 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.js +143 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.js.map +1 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts +172 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts.map +1 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js +152 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js.map +1 -0
- package/dist/rag/multimodal/index.d.ts +44 -0
- package/dist/rag/multimodal/index.d.ts.map +1 -0
- package/dist/rag/multimodal/index.js +42 -0
- package/dist/rag/multimodal/index.js.map +1 -0
- package/dist/rag/multimodal/types.d.ts +276 -0
- package/dist/rag/multimodal/types.d.ts.map +1 -0
- package/dist/rag/multimodal/types.js +26 -0
- package/dist/rag/multimodal/types.js.map +1 -0
- package/dist/social-posting/SocialPostManager.d.ts +3 -3
- package/dist/social-posting/SocialPostManager.d.ts.map +1 -1
- package/dist/social-posting/SocialPostManager.js +3 -5
- package/dist/social-posting/SocialPostManager.js.map +1 -1
- package/dist/speech/FallbackProxy.d.ts +6 -6
- package/dist/speech/FallbackProxy.d.ts.map +1 -1
- package/dist/speech/FallbackProxy.js +3 -3
- package/dist/speech/FallbackProxy.js.map +1 -1
- package/dist/speech/SpeechProviderResolver.d.ts +8 -8
- package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
- package/dist/speech/SpeechProviderResolver.js +22 -11
- package/dist/speech/SpeechProviderResolver.js.map +1 -1
- package/dist/speech/SpeechRuntime.d.ts +1 -5
- package/dist/speech/SpeechRuntime.d.ts.map +1 -1
- package/dist/speech/SpeechRuntime.js +17 -9
- package/dist/speech/SpeechRuntime.js.map +1 -1
- package/dist/speech/providers/AssemblyAISTTProvider.d.ts +4 -4
- package/dist/speech/providers/AssemblyAISTTProvider.js +4 -4
- package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +3 -3
- package/dist/speech/providers/AzureSpeechTTSProvider.js +2 -2
- package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +9 -9
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +5 -5
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -1
- package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +2 -2
- package/dist/speech/providers/DeepgramBatchSTTProvider.js +2 -2
- package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +3 -3
- package/dist/speech/providers/OpenAITextToSpeechProvider.js +2 -2
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -1
- package/dist/voice/TelephonyStreamTransport.d.ts +6 -6
- package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
- package/dist/voice/TelephonyStreamTransport.js +5 -5
- package/dist/voice/TelephonyStreamTransport.js.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +4 -4
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.js +4 -4
- package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -1
- package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +3 -3
- package/dist/voice-pipeline/HardCutBargeinHandler.js +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -1
- package/dist/voice-pipeline/HeuristicEndpointDetector.js +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -1
- package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +5 -5
- package/dist/voice-pipeline/SoftFadeBargeinHandler.js +1 -1
- package/dist/voice-pipeline/VoiceInterruptError.d.ts +6 -6
- package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -1
- package/dist/voice-pipeline/VoiceInterruptError.js +4 -4
- package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +9 -9
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js +8 -8
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
- package/dist/voice-pipeline/WebRTCStreamTransport.d.ts +421 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.d.ts.map +1 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.js +573 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.js.map +1 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
- package/dist/voice-pipeline/WebSocketStreamTransport.js +5 -5
- package/dist/voice-pipeline/index.d.ts +1 -0
- package/dist/voice-pipeline/index.d.ts.map +1 -1
- package/dist/voice-pipeline/index.js +2 -0
- package/dist/voice-pipeline/index.js.map +1 -1
- package/dist/voice-pipeline/types.d.ts +43 -43
- package/dist/voice-pipeline/types.d.ts.map +1 -1
- package/package.json +19 -1
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module rag/multimodal/MultimodalMemoryBridge
|
|
3
|
+
*
|
|
4
|
+
* Bridges multimodal content (images, audio, video, PDFs) into both
|
|
5
|
+
* the RAG vector store AND the cognitive memory system.
|
|
6
|
+
*
|
|
7
|
+
* Without this bridge, multimodal content only exists in RAG search.
|
|
8
|
+
* With it, agents can form long-term memories from visual/audio content
|
|
9
|
+
* and recall them during conversation — enabling genuine multimodal recall.
|
|
10
|
+
*
|
|
11
|
+
* ## Architecture
|
|
12
|
+
*
|
|
13
|
+
* ```
|
|
14
|
+
* Image ──► Vision LLM ──► Description ──┬──► RAG Vector Store
|
|
15
|
+
* └──► Cognitive Memory (semantic trace)
|
|
16
|
+
*
|
|
17
|
+
* Audio ──► STT ──► Transcript ──┬──► RAG Vector Store
|
|
18
|
+
* └──► Cognitive Memory (episodic trace)
|
|
19
|
+
*
|
|
20
|
+
* Video ──► ffmpeg (frames + audio) ──► Vision + STT ──┬──► RAG Vector Store
|
|
21
|
+
* └──► Cognitive Memory
|
|
22
|
+
*
|
|
23
|
+
* PDF ──► Text extraction + chunking ──┬──► RAG Vector Store (per-chunk)
|
|
24
|
+
* └──► Cognitive Memory (semantic trace)
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* ## Dependencies
|
|
28
|
+
*
|
|
29
|
+
* - {@link MultimodalIndexer} — handles vision/STT → embedding → vector store
|
|
30
|
+
* - {@link ICognitiveMemoryManager} — (optional) encodes traces into long-term memory
|
|
31
|
+
*
|
|
32
|
+
* When no memory manager is provided, content is still indexed into RAG
|
|
33
|
+
* but no memory traces are created. This makes the bridge usable in
|
|
34
|
+
* configurations where cognitive memory is disabled.
|
|
35
|
+
*
|
|
36
|
+
* @see {@link MultimodalIndexer} for the underlying RAG indexing.
|
|
37
|
+
* @see {@link ICognitiveMemoryManager} for the memory encoding interface.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const bridge = new MultimodalMemoryBridge(indexer, memoryManager);
|
|
42
|
+
*
|
|
43
|
+
* // Image → vision description → RAG index + episodic memory
|
|
44
|
+
* await bridge.ingestImage(imageBuffer, { source: 'user-upload' });
|
|
45
|
+
*
|
|
46
|
+
* // Audio → transcript → RAG index + episodic memory
|
|
47
|
+
* await bridge.ingestAudio(audioBuffer, { language: 'en' });
|
|
48
|
+
*
|
|
49
|
+
* // Video → frame extraction + audio → RAG index + memory
|
|
50
|
+
* await bridge.ingestVideo(videoBuffer, { extractFrames: true });
|
|
51
|
+
*
|
|
52
|
+
* // PDF → text + embedded images → RAG index + memory
|
|
53
|
+
* await bridge.ingestPDF(pdfBuffer, { extractImages: true });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
import type { MultimodalIndexer } from './MultimodalIndexer.js';
|
|
57
|
+
import type { ICognitiveMemoryManager } from '../../memory/CognitiveMemoryManager.js';
|
|
58
|
+
import type { PADState } from '../../memory/config.js';
|
|
59
|
+
/**
|
|
60
|
+
* Metadata attached to ingested content for both RAG and memory storage.
|
|
61
|
+
*
|
|
62
|
+
* Common fields like `source` and `tags` are strongly typed; additional
|
|
63
|
+
* arbitrary metadata can be passed via the index signature.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const meta: IngestMetadata = {
|
|
68
|
+
* source: 'user-upload',
|
|
69
|
+
* tags: ['meeting', 'Q4'],
|
|
70
|
+
* collection: 'project-notes',
|
|
71
|
+
* meetingDate: '2025-12-01',
|
|
72
|
+
* };
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export interface IngestMetadata {
|
|
76
|
+
/** Where the content originated (e.g. 'user-upload', 'web-scrape') */
|
|
77
|
+
source?: string;
|
|
78
|
+
/** Tags for categorization and filtering */
|
|
79
|
+
tags?: string[];
|
|
80
|
+
/** Vector store collection to index into */
|
|
81
|
+
collection?: string;
|
|
82
|
+
/** Arbitrary additional metadata */
|
|
83
|
+
[key: string]: unknown;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Result returned after ingesting multimodal content.
|
|
87
|
+
*
|
|
88
|
+
* Contains IDs for both the RAG documents and memory traces created,
|
|
89
|
+
* plus the extracted text and processing details for transparency.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const result = await bridge.ingestImage(buf, { source: 'camera' });
|
|
94
|
+
* console.log(result.ragDocumentIds); // ['uuid-1']
|
|
95
|
+
* console.log(result.memoryTraceIds); // ['trace-uuid-1']
|
|
96
|
+
* console.log(result.extractedText); // 'A cat sitting on a keyboard...'
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export interface IngestResult {
|
|
100
|
+
/** IDs of documents created in RAG vector store */
|
|
101
|
+
ragDocumentIds: string[];
|
|
102
|
+
/** IDs of memory traces created (empty if no memory manager) */
|
|
103
|
+
memoryTraceIds: string[];
|
|
104
|
+
/** Content type detected or specified */
|
|
105
|
+
contentType: 'image' | 'audio' | 'video' | 'pdf' | 'text';
|
|
106
|
+
/** Text extracted from the content (description, transcript, or raw text) */
|
|
107
|
+
extractedText: string;
|
|
108
|
+
/** Processing details for each modality */
|
|
109
|
+
details: {
|
|
110
|
+
/** Vision LLM descriptions (for images and video frames) */
|
|
111
|
+
visionDescriptions?: string[];
|
|
112
|
+
/** Audio transcript (for audio and video) */
|
|
113
|
+
audioTranscript?: string;
|
|
114
|
+
/** Number of pages (for PDFs) */
|
|
115
|
+
pageCount?: number;
|
|
116
|
+
/** Number of frames extracted (for video) */
|
|
117
|
+
frameCount?: number;
|
|
118
|
+
/** Number of embedded images extracted (for PDFs) */
|
|
119
|
+
embeddedImages?: number;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Configuration options for the multimodal memory bridge.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const bridge = new MultimodalMemoryBridge(indexer, memMgr, {
|
|
128
|
+
* enableMemory: true,
|
|
129
|
+
* defaultMood: { valence: 0, arousal: 0.3, dominance: 0 },
|
|
130
|
+
* defaultChunkSize: 800,
|
|
131
|
+
* });
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export interface MultimodalBridgeOptions {
|
|
135
|
+
/**
|
|
136
|
+
* Default mood for memory encoding (PAD model).
|
|
137
|
+
* Used when no mood context is available from the conversation.
|
|
138
|
+
* Neutral mood by default: { valence: 0, arousal: 0.3, dominance: 0 }
|
|
139
|
+
*/
|
|
140
|
+
defaultMood?: PADState;
|
|
141
|
+
/**
|
|
142
|
+
* Whether to create memory traces (requires memoryManager).
|
|
143
|
+
* When false or when no memoryManager is provided, only RAG indexing occurs.
|
|
144
|
+
* @default true
|
|
145
|
+
*/
|
|
146
|
+
enableMemory?: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* Default chunk size in characters for text splitting (PDF ingestion).
|
|
149
|
+
* @default 1000
|
|
150
|
+
*/
|
|
151
|
+
defaultChunkSize?: number;
|
|
152
|
+
/**
|
|
153
|
+
* Default overlap in characters between adjacent text chunks.
|
|
154
|
+
* Ensures context continuity across chunk boundaries.
|
|
155
|
+
* @default 200
|
|
156
|
+
*/
|
|
157
|
+
defaultChunkOverlap?: number;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Bridges multimodal content (images, audio, video, PDFs) into both
|
|
161
|
+
* the RAG vector store AND the cognitive memory system.
|
|
162
|
+
*
|
|
163
|
+
* Without this bridge, multimodal content only exists in RAG search.
|
|
164
|
+
* With it, agents can form long-term memories from visual/audio content
|
|
165
|
+
* and recall them during conversation.
|
|
166
|
+
*
|
|
167
|
+
* The bridge delegates RAG indexing to the existing {@link MultimodalIndexer}
|
|
168
|
+
* and memory encoding to the {@link ICognitiveMemoryManager}. It adds:
|
|
169
|
+
*
|
|
170
|
+
* - **Video support**: frame extraction via ffmpeg + audio track transcription
|
|
171
|
+
* - **PDF support**: text extraction + optional embedded image descriptions
|
|
172
|
+
* - **Unified ingest()**: auto-detects content type from magic bytes or extension
|
|
173
|
+
* - **Dual-write**: every piece of content enters both RAG and long-term memory
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* const bridge = new MultimodalMemoryBridge(indexer, memoryManager);
|
|
178
|
+
*
|
|
179
|
+
* // Image → vision description → RAG index + semantic memory
|
|
180
|
+
* await bridge.ingestImage(imageBuffer, { source: 'user-upload' });
|
|
181
|
+
*
|
|
182
|
+
* // Audio → transcript → RAG index + episodic memory
|
|
183
|
+
* await bridge.ingestAudio(audioBuffer, { language: 'en' });
|
|
184
|
+
*
|
|
185
|
+
* // Video → frame extraction + audio → RAG index + memory
|
|
186
|
+
* await bridge.ingestVideo(videoBuffer, { extractFrames: true });
|
|
187
|
+
*
|
|
188
|
+
* // PDF → text + embedded images → RAG index + memory
|
|
189
|
+
* await bridge.ingestPDF(pdfBuffer, { extractImages: true });
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
export declare class MultimodalMemoryBridge {
|
|
193
|
+
/** The RAG indexer that handles vision/STT and vector store writes. */
|
|
194
|
+
private readonly _indexer;
|
|
195
|
+
/** Optional cognitive memory manager for long-term memory encoding. */
|
|
196
|
+
private readonly _memoryManager?;
|
|
197
|
+
/** Resolved configuration with defaults applied. */
|
|
198
|
+
private readonly _options;
|
|
199
|
+
/**
|
|
200
|
+
* Create a new multimodal memory bridge.
|
|
201
|
+
*
|
|
202
|
+
* @param indexer - The multimodal indexer for RAG vector store operations
|
|
203
|
+
* @param memoryManager - Optional cognitive memory manager for memory trace creation
|
|
204
|
+
* @param options - Bridge configuration overrides
|
|
205
|
+
*
|
|
206
|
+
* @throws {Error} If indexer is not provided
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```typescript
|
|
210
|
+
* const bridge = new MultimodalMemoryBridge(
|
|
211
|
+
* indexer,
|
|
212
|
+
* memoryManager,
|
|
213
|
+
* { enableMemory: true, defaultChunkSize: 800 }
|
|
214
|
+
* );
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
constructor(indexer: MultimodalIndexer, memoryManager?: ICognitiveMemoryManager, options?: MultimodalBridgeOptions);
|
|
218
|
+
/**
|
|
219
|
+
* Ingest an image into both RAG and memory.
|
|
220
|
+
*
|
|
221
|
+
* Processing pipeline:
|
|
222
|
+
* 1. Vision LLM generates a text description of the image
|
|
223
|
+
* 2. Description is embedded into the RAG vector store via the indexer
|
|
224
|
+
* 3. If memory is enabled, description is encoded as a semantic memory trace
|
|
225
|
+
* (factual knowledge derived from visual input)
|
|
226
|
+
*
|
|
227
|
+
* @param image - Image as a URL string or Buffer
|
|
228
|
+
* @param metadata - Optional metadata for categorization and filtering
|
|
229
|
+
* @returns Ingest result with RAG document IDs and memory trace IDs
|
|
230
|
+
*
|
|
231
|
+
* @throws {Error} If the underlying indexer has no vision provider
|
|
232
|
+
* @throws {Error} If the vision LLM returns an empty description
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* const result = await bridge.ingestImage(
|
|
237
|
+
* fs.readFileSync('./photo.jpg'),
|
|
238
|
+
* { source: 'camera', tags: ['landscape'] }
|
|
239
|
+
* );
|
|
240
|
+
* console.log(result.extractedText); // 'Mountains at sunset with...'
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
ingestImage(image: string | Buffer, metadata?: IngestMetadata): Promise<IngestResult>;
|
|
244
|
+
/**
|
|
245
|
+
* Ingest audio into both RAG and memory.
|
|
246
|
+
*
|
|
247
|
+
* Processing pipeline:
|
|
248
|
+
* 1. STT provider transcribes the audio to text
|
|
249
|
+
* 2. Transcript is embedded into the RAG vector store via the indexer
|
|
250
|
+
* 3. If memory is enabled, transcript is encoded as an episodic memory trace
|
|
251
|
+
* (audio represents a time-bound event or conversation)
|
|
252
|
+
*
|
|
253
|
+
* @param audio - Audio data as a Buffer (WAV, MP3, OGG, etc.)
|
|
254
|
+
* @param metadata - Optional metadata; `language` provides a BCP-47 hint to STT
|
|
255
|
+
* @returns Ingest result with RAG document IDs and memory trace IDs
|
|
256
|
+
*
|
|
257
|
+
* @throws {Error} If the underlying indexer has no STT provider
|
|
258
|
+
* @throws {Error} If the STT provider returns an empty transcript
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```typescript
|
|
262
|
+
* const result = await bridge.ingestAudio(
|
|
263
|
+
* audioBuffer,
|
|
264
|
+
* { source: 'meeting-recording', language: 'en' }
|
|
265
|
+
* );
|
|
266
|
+
* console.log(result.details.audioTranscript);
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
ingestAudio(audio: Buffer, metadata?: IngestMetadata & {
|
|
270
|
+
language?: string;
|
|
271
|
+
}): Promise<IngestResult>;
|
|
272
|
+
/**
|
|
273
|
+
* Ingest a video into both RAG and memory.
|
|
274
|
+
*
|
|
275
|
+
* Processing pipeline:
|
|
276
|
+
* 1. Extract audio track → transcribe via STT
|
|
277
|
+
* 2. Extract keyframes at intervals → describe via vision LLM
|
|
278
|
+
* 3. Combine transcript + frame descriptions into a unified text
|
|
279
|
+
* 4. Index combined text in RAG + encode as episodic memory
|
|
280
|
+
*
|
|
281
|
+
* NOTE: Video frame extraction uses ffprobe/ffmpeg if available.
|
|
282
|
+
* If ffmpeg is NOT installed, the bridge falls back to audio-only
|
|
283
|
+
* extraction from the raw buffer (limited to common containers like
|
|
284
|
+
* MP4). A warning is logged recommending ffmpeg for full video support.
|
|
285
|
+
*
|
|
286
|
+
* @param video - Video data as a Buffer
|
|
287
|
+
* @param metadata - Optional metadata; includes video-specific options
|
|
288
|
+
* @param metadata.extractFrames - Extract keyframes for vision analysis (default: true)
|
|
289
|
+
* @param metadata.frameIntervalSec - Seconds between extracted frames (default: 10)
|
|
290
|
+
* @param metadata.extractAudio - Extract and transcribe audio track (default: true)
|
|
291
|
+
* @returns Ingest result with all extracted content
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```typescript
|
|
295
|
+
* const result = await bridge.ingestVideo(videoBuffer, {
|
|
296
|
+
* extractFrames: true,
|
|
297
|
+
* frameIntervalSec: 5,
|
|
298
|
+
* source: 'screen-recording',
|
|
299
|
+
* });
|
|
300
|
+
* console.log(result.details.frameCount); // 12
|
|
301
|
+
* console.log(result.details.audioTranscript); // 'Welcome to...'
|
|
302
|
+
* ```
|
|
303
|
+
*/
|
|
304
|
+
ingestVideo(video: Buffer, metadata?: IngestMetadata & {
|
|
305
|
+
extractFrames?: boolean;
|
|
306
|
+
frameIntervalSec?: number;
|
|
307
|
+
extractAudio?: boolean;
|
|
308
|
+
}): Promise<IngestResult>;
|
|
309
|
+
/**
|
|
310
|
+
* Ingest a PDF into both RAG and memory.
|
|
311
|
+
*
|
|
312
|
+
* Processing pipeline:
|
|
313
|
+
* 1. Extract text content from the PDF (page by page)
|
|
314
|
+
* 2. Optionally extract embedded images and describe via vision LLM
|
|
315
|
+
* 3. Chunk text into segments based on configured chunk size/overlap
|
|
316
|
+
* 4. Index each chunk in RAG as a separate document
|
|
317
|
+
* 5. Encode the combined text as a semantic memory trace
|
|
318
|
+
*
|
|
319
|
+
* Uses dynamic import of `pdf-parse` if available for robust extraction.
|
|
320
|
+
* Falls back to regex-based raw text extraction from the PDF buffer
|
|
321
|
+
* (limited but works for text-heavy PDFs without complex encoding).
|
|
322
|
+
*
|
|
323
|
+
* @param pdf - PDF file data as a Buffer
|
|
324
|
+
* @param metadata - Optional metadata; includes PDF-specific options
|
|
325
|
+
* @param metadata.extractImages - Extract embedded images for vision analysis (default: false)
|
|
326
|
+
* @param metadata.chunkSize - Characters per text chunk (default: 1000)
|
|
327
|
+
* @param metadata.chunkOverlap - Overlap between chunks (default: 200)
|
|
328
|
+
* @returns Ingest result with all extracted content
|
|
329
|
+
*
|
|
330
|
+
* @throws {Error} If no text can be extracted from the PDF
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
* ```typescript
|
|
334
|
+
* const result = await bridge.ingestPDF(pdfBuffer, {
|
|
335
|
+
* extractImages: true,
|
|
336
|
+
* chunkSize: 500,
|
|
337
|
+
* source: 'research-paper',
|
|
338
|
+
* });
|
|
339
|
+
* console.log(result.details.pageCount); // 12
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
|
+
ingestPDF(pdf: Buffer, metadata?: IngestMetadata & {
|
|
343
|
+
extractImages?: boolean;
|
|
344
|
+
chunkSize?: number;
|
|
345
|
+
chunkOverlap?: number;
|
|
346
|
+
}): Promise<IngestResult>;
|
|
347
|
+
/**
|
|
348
|
+
* Auto-detect content type and route to the correct handler.
|
|
349
|
+
*
|
|
350
|
+
* Detection priority:
|
|
351
|
+
* 1. Explicit `mimeType` if provided
|
|
352
|
+
* 2. File extension from `fileName` if provided
|
|
353
|
+
* 3. Magic bytes from the buffer header
|
|
354
|
+
*
|
|
355
|
+
* @param content - Raw content buffer
|
|
356
|
+
* @param options - Detection hints and metadata
|
|
357
|
+
* @param options.fileName - Original file name for extension-based detection
|
|
358
|
+
* @param options.mimeType - Explicit MIME type override
|
|
359
|
+
* @param options.metadata - Metadata to pass through to the handler
|
|
360
|
+
* @returns Ingest result from the appropriate handler
|
|
361
|
+
*
|
|
362
|
+
* @throws {Error} If content type cannot be determined
|
|
363
|
+
* @throws {Error} If the detected content type is unsupported
|
|
364
|
+
*
|
|
365
|
+
* @example
|
|
366
|
+
* ```typescript
|
|
367
|
+
* // Auto-detect from file name
|
|
368
|
+
* const result = await bridge.ingest(buffer, {
|
|
369
|
+
* fileName: 'presentation.pdf',
|
|
370
|
+
* metadata: { source: 'email-attachment' },
|
|
371
|
+
* });
|
|
372
|
+
*
|
|
373
|
+
* // Auto-detect from magic bytes
|
|
374
|
+
* const result2 = await bridge.ingest(buffer, {});
|
|
375
|
+
* ```
|
|
376
|
+
*/
|
|
377
|
+
ingest(content: Buffer, options: {
|
|
378
|
+
fileName?: string;
|
|
379
|
+
mimeType?: string;
|
|
380
|
+
metadata?: IngestMetadata;
|
|
381
|
+
}): Promise<IngestResult>;
|
|
382
|
+
/**
|
|
383
|
+
* Ingest raw text into memory only (no RAG — the standard pipeline handles that).
|
|
384
|
+
*
|
|
385
|
+
* @param text - Raw text content
|
|
386
|
+
* @param metadata - Optional metadata
|
|
387
|
+
* @returns Ingest result with memory trace IDs only
|
|
388
|
+
*/
|
|
389
|
+
private _ingestText;
|
|
390
|
+
/**
|
|
391
|
+
* Encode text into a cognitive memory trace if memory is enabled.
|
|
392
|
+
*
|
|
393
|
+
* Uses the ICognitiveMemoryManager.encode() method which creates a
|
|
394
|
+
* proper MemoryTrace with emotional context, decay parameters, etc.
|
|
395
|
+
*
|
|
396
|
+
* @param text - Text content to encode as a memory trace
|
|
397
|
+
* @param type - Memory type (semantic for factual, episodic for events)
|
|
398
|
+
* @param sourceType - How the content was produced
|
|
399
|
+
* @param metadata - Optional metadata for tags and source info
|
|
400
|
+
* @returns Array of memory trace IDs (empty if memory is disabled)
|
|
401
|
+
*/
|
|
402
|
+
private _encodeMemoryTrace;
|
|
403
|
+
/**
|
|
404
|
+
* Extract audio track from video buffer using ffmpeg.
|
|
405
|
+
*
|
|
406
|
+
* Writes the video to a temp file, runs ffmpeg to extract audio as WAV,
|
|
407
|
+
* reads the result back into a Buffer, and cleans up temp files.
|
|
408
|
+
*
|
|
409
|
+
* @param video - Video data buffer
|
|
410
|
+
* @returns Audio data buffer in WAV format
|
|
411
|
+
* @throws {Error} If ffmpeg extraction fails
|
|
412
|
+
*/
|
|
413
|
+
private _extractAudioWithFfmpeg;
|
|
414
|
+
/**
|
|
415
|
+
* Extract keyframes from video at fixed intervals using ffmpeg.
|
|
416
|
+
*
|
|
417
|
+
* Writes the video to a temp file, runs ffmpeg to extract JPEG frames
|
|
418
|
+
* at the specified interval, reads each frame back into a Buffer.
|
|
419
|
+
*
|
|
420
|
+
* @param video - Video data buffer
|
|
421
|
+
* @param intervalSec - Seconds between extracted frames
|
|
422
|
+
* @returns Array of image Buffers (JPEG format)
|
|
423
|
+
* @throws {Error} If ffmpeg extraction fails
|
|
424
|
+
*/
|
|
425
|
+
private _extractFramesWithFfmpeg;
|
|
426
|
+
/**
|
|
427
|
+
* Attempt to dynamically import the pdf-parse package.
|
|
428
|
+
*
|
|
429
|
+
* pdf-parse is an optional peer dependency — it's not bundled with agentos
|
|
430
|
+
* to keep the core lightweight. Returns null if the package is not installed.
|
|
431
|
+
*
|
|
432
|
+
* @returns The pdf-parse default export function, or null if unavailable
|
|
433
|
+
*/
|
|
434
|
+
private _tryImportPdfParse;
|
|
435
|
+
/**
|
|
436
|
+
* Fallback PDF text extraction using regex on the raw buffer.
|
|
437
|
+
*
|
|
438
|
+
* Scans the PDF byte stream for text objects (between BT/ET markers)
|
|
439
|
+
* and string literals (parenthesized and hex-encoded). This works for
|
|
440
|
+
* simple text PDFs but misses content in complex encodings, CID fonts,
|
|
441
|
+
* or image-only PDFs.
|
|
442
|
+
*
|
|
443
|
+
* @param buf - Raw PDF buffer
|
|
444
|
+
* @returns Extracted text (may be empty for non-text PDFs)
|
|
445
|
+
*/
|
|
446
|
+
private _extractTextFromPdfBuffer;
|
|
447
|
+
}
|
|
448
|
+
//# sourceMappingURL=MultimodalMemoryBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultimodalMemoryBridge.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/MultimodalMemoryBridge.ts"],"names":[],"mappings":"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"}
|