@framers/agentos 0.1.113 → 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/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.map +1 -1
- package/dist/api/strategies/hierarchical.js +2 -1
- package/dist/api/strategies/hierarchical.js.map +1 -1
- package/dist/api/strategies/index.d.ts +3 -0
- package/dist/api/strategies/index.d.ts.map +1 -1
- package/dist/api/strategies/index.js +2 -0
- package/dist/api/strategies/index.js.map +1 -1
- package/dist/api/strategies/shared.d.ts +1 -1
- package/dist/api/strategies/shared.d.ts.map +1 -1
- package/dist/api/strategies/shared.js +3 -2
- 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 +28 -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/index.d.ts +10 -8
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +2 -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/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 +2 -2
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.js +2 -2
- 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 +12 -12
- 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 +6 -6
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.js +27 -10
- package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +5 -5
- package/dist/orchestration/runtime/VoiceTransportAdapter.js +5 -5
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +2 -2
- package/dist/orchestration/runtime/VoiceTurnCollector.js +2 -2
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"MultimodalMemoryBridge.js","sourceRoot":"","sources":["../../../src/rag/multimodal/MultimodalMemoryBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module rag/multimodal/SpeechProviderAdapter
|
|
3
|
+
*
|
|
4
|
+
* Adapts the voice-pipeline's {@link SpeechToTextProvider} to the narrow
|
|
5
|
+
* {@link ISpeechToTextProvider} interface expected by the multimodal RAG
|
|
6
|
+
* indexer.
|
|
7
|
+
*
|
|
8
|
+
* ## Why this adapter exists
|
|
9
|
+
*
|
|
10
|
+
* The speech subsystem (`src/speech/`) and the multimodal RAG pipeline
|
|
11
|
+
* (`src/rag/multimodal/`) each define their own STT contract:
|
|
12
|
+
*
|
|
13
|
+
* | Contract | Input | Output |
|
|
14
|
+
* |---------------------------|----------------------|---------------------------------|
|
|
15
|
+
* | `SpeechToTextProvider` | `SpeechAudioInput` | `SpeechTranscriptionResult` |
|
|
16
|
+
* | `ISpeechToTextProvider` | `Buffer` | `string` |
|
|
17
|
+
*
|
|
18
|
+
* The voice pipeline's providers (Whisper, Deepgram, AssemblyAI, Azure)
|
|
19
|
+
* implement the richer `SpeechToTextProvider` contract. This adapter
|
|
20
|
+
* wraps any of them so the multimodal indexer can consume them without
|
|
21
|
+
* requiring separate STT configuration.
|
|
22
|
+
*
|
|
23
|
+
* ## Mapping details
|
|
24
|
+
*
|
|
25
|
+
* - **Input**: The raw `Buffer` is wrapped in a `SpeechAudioInput` with
|
|
26
|
+
* a default MIME type of `audio/wav`. The optional `language` parameter
|
|
27
|
+
* is forwarded via `SpeechTranscriptionOptions.language`.
|
|
28
|
+
*
|
|
29
|
+
* - **Output**: The full `SpeechTranscriptionResult` is reduced to just
|
|
30
|
+
* the `text` string. Rich metadata (segments, confidence, usage) is
|
|
31
|
+
* intentionally discarded because the indexer only needs the text for
|
|
32
|
+
* embedding generation.
|
|
33
|
+
*
|
|
34
|
+
* @see {@link SpeechToTextProvider} for the voice pipeline contract.
|
|
35
|
+
* @see {@link ISpeechToTextProvider} for the multimodal indexer contract.
|
|
36
|
+
* @see {@link SpeechProviderResolver} for resolving STT providers.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import { SpeechProviderResolver } from '../../speech/SpeechProviderResolver.js';
|
|
41
|
+
* import { SpeechProviderAdapter } from './SpeechProviderAdapter.js';
|
|
42
|
+
*
|
|
43
|
+
* const resolver = new SpeechProviderResolver();
|
|
44
|
+
* await resolver.refresh();
|
|
45
|
+
* const stt = resolver.resolveSTT();
|
|
46
|
+
* const adapter = new SpeechProviderAdapter(stt);
|
|
47
|
+
*
|
|
48
|
+
* const indexer = new MultimodalIndexer({ sttProvider: adapter, ... });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
import type { SpeechToTextProvider } from '../../speech/types.js';
|
|
52
|
+
import type { ISpeechToTextProvider } from './types.js';
|
|
53
|
+
/**
|
|
54
|
+
* Bridges the voice-pipeline's `SpeechToTextProvider` to the multimodal
|
|
55
|
+
* indexer's `ISpeechToTextProvider` interface.
|
|
56
|
+
*
|
|
57
|
+
* Converts raw `Buffer` audio into the `SpeechAudioInput` shape expected
|
|
58
|
+
* by voice providers, forwards the language hint through
|
|
59
|
+
* `SpeechTranscriptionOptions`, and extracts the plain transcript text
|
|
60
|
+
* from the rich `SpeechTranscriptionResult`.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const whisper = resolver.resolveSTT();
|
|
65
|
+
* const adapted = new SpeechProviderAdapter(whisper);
|
|
66
|
+
*
|
|
67
|
+
* // Now usable by the multimodal indexer:
|
|
68
|
+
* const text = await adapted.transcribe(audioBuffer, 'en');
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare class SpeechProviderAdapter implements ISpeechToTextProvider {
|
|
72
|
+
/**
|
|
73
|
+
* The underlying voice-pipeline STT provider being adapted.
|
|
74
|
+
* Held as a readonly reference — the caller retains ownership.
|
|
75
|
+
*/
|
|
76
|
+
private readonly _provider;
|
|
77
|
+
/**
|
|
78
|
+
* Default MIME type applied to raw audio buffers when no format
|
|
79
|
+
* information is available. WAV is the most universally supported
|
|
80
|
+
* format across STT providers.
|
|
81
|
+
*/
|
|
82
|
+
private readonly _defaultMimeType;
|
|
83
|
+
/**
|
|
84
|
+
* Create a new adapter wrapping a voice-pipeline STT provider.
|
|
85
|
+
*
|
|
86
|
+
* @param provider - A configured `SpeechToTextProvider` instance
|
|
87
|
+
* (e.g. Whisper, Deepgram, AssemblyAI, Azure Speech).
|
|
88
|
+
* @param defaultMimeType - MIME type to assume for raw audio buffers.
|
|
89
|
+
* Defaults to `'audio/wav'` which is accepted by all major STT
|
|
90
|
+
* providers. Override to `'audio/mpeg'` or `'audio/ogg'` when
|
|
91
|
+
* indexing MP3/OGG files.
|
|
92
|
+
*
|
|
93
|
+
* @throws {Error} If provider is null or undefined.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const adapter = new SpeechProviderAdapter(whisperProvider);
|
|
98
|
+
* const mp3Adapter = new SpeechProviderAdapter(whisperProvider, 'audio/mpeg');
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
constructor(provider: SpeechToTextProvider, defaultMimeType?: string);
|
|
102
|
+
/**
|
|
103
|
+
* Transcribe audio data to text.
|
|
104
|
+
*
|
|
105
|
+
* Wraps the raw buffer in a `SpeechAudioInput` and delegates to the
|
|
106
|
+
* underlying voice-pipeline provider. The rich transcription result
|
|
107
|
+
* is reduced to the plain text string that the multimodal indexer
|
|
108
|
+
* needs for embedding generation.
|
|
109
|
+
*
|
|
110
|
+
* @param audio - Raw audio data as a Buffer (WAV, MP3, OGG, etc.).
|
|
111
|
+
* @param language - Optional BCP-47 language code hint for improved
|
|
112
|
+
* transcription accuracy (e.g. `'en'`, `'es'`, `'ja'`).
|
|
113
|
+
* @returns The transcribed text content.
|
|
114
|
+
*
|
|
115
|
+
* @throws {Error} If the underlying STT provider fails.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const transcript = await adapter.transcribe(wavBuffer);
|
|
120
|
+
* const spanishTranscript = await adapter.transcribe(audioBuffer, 'es');
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
transcribe(audio: Buffer, language?: string): Promise<string>;
|
|
124
|
+
/**
|
|
125
|
+
* Get the display name of the underlying STT provider.
|
|
126
|
+
*
|
|
127
|
+
* Useful for logging and diagnostics — lets callers identify which
|
|
128
|
+
* voice-pipeline provider is actually handling transcription.
|
|
129
|
+
*
|
|
130
|
+
* @returns The provider's display name or ID string.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* console.log(`STT via: ${adapter.getProviderName()}`); // "openai-whisper"
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
getProviderName(): string;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=SpeechProviderAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpeechProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/SpeechProviderAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;IACjE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C;;;;;;;;;;;;;;;;;OAiBG;gBACS,QAAQ,EAAE,oBAAoB,EAAE,eAAe,SAAc;IAUzE;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnE;;;;;;;;;;;;OAYG;IACH,eAAe,IAAI,MAAM;CAG1B"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module rag/multimodal/SpeechProviderAdapter
|
|
3
|
+
*
|
|
4
|
+
* Adapts the voice-pipeline's {@link SpeechToTextProvider} to the narrow
|
|
5
|
+
* {@link ISpeechToTextProvider} interface expected by the multimodal RAG
|
|
6
|
+
* indexer.
|
|
7
|
+
*
|
|
8
|
+
* ## Why this adapter exists
|
|
9
|
+
*
|
|
10
|
+
* The speech subsystem (`src/speech/`) and the multimodal RAG pipeline
|
|
11
|
+
* (`src/rag/multimodal/`) each define their own STT contract:
|
|
12
|
+
*
|
|
13
|
+
* | Contract | Input | Output |
|
|
14
|
+
* |---------------------------|----------------------|---------------------------------|
|
|
15
|
+
* | `SpeechToTextProvider` | `SpeechAudioInput` | `SpeechTranscriptionResult` |
|
|
16
|
+
* | `ISpeechToTextProvider` | `Buffer` | `string` |
|
|
17
|
+
*
|
|
18
|
+
* The voice pipeline's providers (Whisper, Deepgram, AssemblyAI, Azure)
|
|
19
|
+
* implement the richer `SpeechToTextProvider` contract. This adapter
|
|
20
|
+
* wraps any of them so the multimodal indexer can consume them without
|
|
21
|
+
* requiring separate STT configuration.
|
|
22
|
+
*
|
|
23
|
+
* ## Mapping details
|
|
24
|
+
*
|
|
25
|
+
* - **Input**: The raw `Buffer` is wrapped in a `SpeechAudioInput` with
|
|
26
|
+
* a default MIME type of `audio/wav`. The optional `language` parameter
|
|
27
|
+
* is forwarded via `SpeechTranscriptionOptions.language`.
|
|
28
|
+
*
|
|
29
|
+
* - **Output**: The full `SpeechTranscriptionResult` is reduced to just
|
|
30
|
+
* the `text` string. Rich metadata (segments, confidence, usage) is
|
|
31
|
+
* intentionally discarded because the indexer only needs the text for
|
|
32
|
+
* embedding generation.
|
|
33
|
+
*
|
|
34
|
+
* @see {@link SpeechToTextProvider} for the voice pipeline contract.
|
|
35
|
+
* @see {@link ISpeechToTextProvider} for the multimodal indexer contract.
|
|
36
|
+
* @see {@link SpeechProviderResolver} for resolving STT providers.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import { SpeechProviderResolver } from '../../speech/SpeechProviderResolver.js';
|
|
41
|
+
* import { SpeechProviderAdapter } from './SpeechProviderAdapter.js';
|
|
42
|
+
*
|
|
43
|
+
* const resolver = new SpeechProviderResolver();
|
|
44
|
+
* await resolver.refresh();
|
|
45
|
+
* const stt = resolver.resolveSTT();
|
|
46
|
+
* const adapter = new SpeechProviderAdapter(stt);
|
|
47
|
+
*
|
|
48
|
+
* const indexer = new MultimodalIndexer({ sttProvider: adapter, ... });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// Implementation
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
/**
|
|
55
|
+
* Bridges the voice-pipeline's `SpeechToTextProvider` to the multimodal
|
|
56
|
+
* indexer's `ISpeechToTextProvider` interface.
|
|
57
|
+
*
|
|
58
|
+
* Converts raw `Buffer` audio into the `SpeechAudioInput` shape expected
|
|
59
|
+
* by voice providers, forwards the language hint through
|
|
60
|
+
* `SpeechTranscriptionOptions`, and extracts the plain transcript text
|
|
61
|
+
* from the rich `SpeechTranscriptionResult`.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const whisper = resolver.resolveSTT();
|
|
66
|
+
* const adapted = new SpeechProviderAdapter(whisper);
|
|
67
|
+
*
|
|
68
|
+
* // Now usable by the multimodal indexer:
|
|
69
|
+
* const text = await adapted.transcribe(audioBuffer, 'en');
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export class SpeechProviderAdapter {
|
|
73
|
+
/**
|
|
74
|
+
* Create a new adapter wrapping a voice-pipeline STT provider.
|
|
75
|
+
*
|
|
76
|
+
* @param provider - A configured `SpeechToTextProvider` instance
|
|
77
|
+
* (e.g. Whisper, Deepgram, AssemblyAI, Azure Speech).
|
|
78
|
+
* @param defaultMimeType - MIME type to assume for raw audio buffers.
|
|
79
|
+
* Defaults to `'audio/wav'` which is accepted by all major STT
|
|
80
|
+
* providers. Override to `'audio/mpeg'` or `'audio/ogg'` when
|
|
81
|
+
* indexing MP3/OGG files.
|
|
82
|
+
*
|
|
83
|
+
* @throws {Error} If provider is null or undefined.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const adapter = new SpeechProviderAdapter(whisperProvider);
|
|
88
|
+
* const mp3Adapter = new SpeechProviderAdapter(whisperProvider, 'audio/mpeg');
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
constructor(provider, defaultMimeType = 'audio/wav') {
|
|
92
|
+
if (!provider) {
|
|
93
|
+
throw new Error('SpeechProviderAdapter: a SpeechToTextProvider instance is required.');
|
|
94
|
+
}
|
|
95
|
+
this._provider = provider;
|
|
96
|
+
this._defaultMimeType = defaultMimeType;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Transcribe audio data to text.
|
|
100
|
+
*
|
|
101
|
+
* Wraps the raw buffer in a `SpeechAudioInput` and delegates to the
|
|
102
|
+
* underlying voice-pipeline provider. The rich transcription result
|
|
103
|
+
* is reduced to the plain text string that the multimodal indexer
|
|
104
|
+
* needs for embedding generation.
|
|
105
|
+
*
|
|
106
|
+
* @param audio - Raw audio data as a Buffer (WAV, MP3, OGG, etc.).
|
|
107
|
+
* @param language - Optional BCP-47 language code hint for improved
|
|
108
|
+
* transcription accuracy (e.g. `'en'`, `'es'`, `'ja'`).
|
|
109
|
+
* @returns The transcribed text content.
|
|
110
|
+
*
|
|
111
|
+
* @throws {Error} If the underlying STT provider fails.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const transcript = await adapter.transcribe(wavBuffer);
|
|
116
|
+
* const spanishTranscript = await adapter.transcribe(audioBuffer, 'es');
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
async transcribe(audio, language) {
|
|
120
|
+
const result = await this._provider.transcribe({
|
|
121
|
+
data: audio,
|
|
122
|
+
mimeType: this._defaultMimeType,
|
|
123
|
+
}, language ? { language } : undefined);
|
|
124
|
+
return result.text;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get the display name of the underlying STT provider.
|
|
128
|
+
*
|
|
129
|
+
* Useful for logging and diagnostics — lets callers identify which
|
|
130
|
+
* voice-pipeline provider is actually handling transcription.
|
|
131
|
+
*
|
|
132
|
+
* @returns The provider's display name or ID string.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* console.log(`STT via: ${adapter.getProviderName()}`); // "openai-whisper"
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
getProviderName() {
|
|
140
|
+
return this._provider.displayName ?? this._provider.id;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=SpeechProviderAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpeechProviderAdapter.js","sourceRoot":"","sources":["../../../src/rag/multimodal/SpeechProviderAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAKH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,qBAAqB;IAchC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,QAA8B,EAAE,eAAe,GAAG,WAAW;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,QAAiB;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC5C;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI,CAAC,gBAAgB;SAChC,EACD,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CACpC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module rag/multimodal/createMultimodalIndexerFromResolver
|
|
3
|
+
*
|
|
4
|
+
* Factory function that creates a fully-wired {@link MultimodalIndexer}
|
|
5
|
+
* using the voice pipeline's {@link SpeechProviderResolver} for STT and
|
|
6
|
+
* the vision pipeline for image understanding.
|
|
7
|
+
*
|
|
8
|
+
* ## Why use this factory
|
|
9
|
+
*
|
|
10
|
+
* When both the voice pipeline and the multimodal RAG pipeline need STT
|
|
11
|
+
* (or vision), you want them to share the same providers rather than
|
|
12
|
+
* configuring each independently. This factory resolves the best available
|
|
13
|
+
* providers from the speech resolver and vision pipeline, wires them into
|
|
14
|
+
* a new multimodal indexer with the appropriate adapters, and returns
|
|
15
|
+
* the ready-to-use instance.
|
|
16
|
+
*
|
|
17
|
+
* ## Provider resolution
|
|
18
|
+
*
|
|
19
|
+
* - **STT**: Calls `resolver.resolveSTT()` and wraps the result in a
|
|
20
|
+
* {@link SpeechProviderAdapter}. If resolution fails (no configured STT
|
|
21
|
+
* provider), audio indexing is gracefully disabled — the indexer will
|
|
22
|
+
* throw only when `indexAudio()` is actually called.
|
|
23
|
+
*
|
|
24
|
+
* - **Vision**: When a `VisionPipeline` is provided, it is wrapped in a
|
|
25
|
+
* `PipelineVisionProvider`. Otherwise vision is left unconfigured.
|
|
26
|
+
* Callers can also pass a pre-built `IVisionProvider` for custom setups.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link SpeechProviderAdapter} for the STT bridge.
|
|
29
|
+
* See `PipelineVisionProvider` for the vision bridge.
|
|
30
|
+
* @see {@link MultimodalIndexer} for the indexer itself.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import { SpeechProviderResolver } from '../../speech/SpeechProviderResolver.js';
|
|
35
|
+
* import { createVisionPipeline } from '../../core/vision/index.js';
|
|
36
|
+
* import { createMultimodalIndexerFromResolver } from './createMultimodalIndexerFromResolver.js';
|
|
37
|
+
*
|
|
38
|
+
* const resolver = new SpeechProviderResolver(config, process.env);
|
|
39
|
+
* await resolver.refresh();
|
|
40
|
+
*
|
|
41
|
+
* const visionPipeline = await createVisionPipeline({ strategy: 'progressive' });
|
|
42
|
+
*
|
|
43
|
+
* const indexer = createMultimodalIndexerFromResolver({
|
|
44
|
+
* resolver,
|
|
45
|
+
* visionPipeline,
|
|
46
|
+
* embeddingManager,
|
|
47
|
+
* vectorStore,
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* // Now the indexer shares STT with the voice pipeline
|
|
51
|
+
* await indexer.indexAudio({ audio: wavBuffer, language: 'en' });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
import type { IEmbeddingManager } from '../IEmbeddingManager.js';
|
|
55
|
+
import type { IVectorStore } from '../IVectorStore.js';
|
|
56
|
+
import type { SpeechProviderResolver } from '../../speech/SpeechProviderResolver.js';
|
|
57
|
+
import type { VisionPipeline } from '../../core/vision/VisionPipeline.js';
|
|
58
|
+
import type { IVisionProvider, MultimodalIndexerConfig } from './types.js';
|
|
59
|
+
import { MultimodalIndexer } from './MultimodalIndexer.js';
|
|
60
|
+
/**
|
|
61
|
+
* Options for {@link createMultimodalIndexerFromResolver}.
|
|
62
|
+
*
|
|
63
|
+
* At minimum, `embeddingManager` and `vectorStore` are required (same as
|
|
64
|
+
* the raw `MultimodalIndexer` constructor). The resolver, vision pipeline,
|
|
65
|
+
* and config are all optional — omitting them simply disables the
|
|
66
|
+
* corresponding modality.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const opts: MultimodalIndexerFromResolverOptions = {
|
|
71
|
+
* resolver: speechResolver,
|
|
72
|
+
* visionPipeline: pipeline,
|
|
73
|
+
* embeddingManager,
|
|
74
|
+
* vectorStore,
|
|
75
|
+
* config: { defaultCollection: 'knowledge-base' },
|
|
76
|
+
* };
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export interface MultimodalIndexerFromResolverOptions {
|
|
80
|
+
/**
|
|
81
|
+
* The speech provider resolver from the voice pipeline.
|
|
82
|
+
* Used to obtain the best available STT provider.
|
|
83
|
+
* When omitted, audio indexing is unavailable.
|
|
84
|
+
*/
|
|
85
|
+
resolver?: SpeechProviderResolver;
|
|
86
|
+
/**
|
|
87
|
+
* Vision pipeline for multi-tier image processing.
|
|
88
|
+
* When provided, it is wrapped as an `IVisionProvider` via
|
|
89
|
+
* `PipelineVisionProvider`, giving the indexer the full
|
|
90
|
+
* progressive OCR + cloud fallback pipeline.
|
|
91
|
+
*
|
|
92
|
+
* Mutually exclusive with `visionProvider` — if both are set,
|
|
93
|
+
* `visionPipeline` takes precedence.
|
|
94
|
+
*/
|
|
95
|
+
visionPipeline?: VisionPipeline;
|
|
96
|
+
/**
|
|
97
|
+
* Pre-built vision provider to use instead of a pipeline.
|
|
98
|
+
* Useful when the caller already has a configured LLMVisionProvider
|
|
99
|
+
* or custom implementation. Ignored when `visionPipeline` is set.
|
|
100
|
+
*/
|
|
101
|
+
visionProvider?: IVisionProvider;
|
|
102
|
+
/**
|
|
103
|
+
* Embedding manager for generating vector representations.
|
|
104
|
+
* Required — passed through to the `MultimodalIndexer` constructor.
|
|
105
|
+
*/
|
|
106
|
+
embeddingManager: IEmbeddingManager;
|
|
107
|
+
/**
|
|
108
|
+
* Vector store for persistent document storage and search.
|
|
109
|
+
* Required — passed through to the `MultimodalIndexer` constructor.
|
|
110
|
+
*/
|
|
111
|
+
vectorStore: IVectorStore;
|
|
112
|
+
/**
|
|
113
|
+
* Optional indexer configuration overrides (collection name,
|
|
114
|
+
* image description prompt, etc.).
|
|
115
|
+
*/
|
|
116
|
+
config?: MultimodalIndexerConfig;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Create a {@link MultimodalIndexer} that reuses providers from the
|
|
120
|
+
* voice pipeline's `SpeechProviderResolver` and an optional
|
|
121
|
+
* `VisionPipeline`.
|
|
122
|
+
*
|
|
123
|
+
* This is the recommended way to instantiate a multimodal indexer in
|
|
124
|
+
* applications that also use the voice pipeline — it ensures both
|
|
125
|
+
* subsystems share the same STT and vision providers instead of
|
|
126
|
+
* requiring separate configuration.
|
|
127
|
+
*
|
|
128
|
+
* ## Error handling
|
|
129
|
+
*
|
|
130
|
+
* - If the resolver has no configured STT provider, `resolveSTT()` will
|
|
131
|
+
* throw. This function catches that error and simply leaves the STT
|
|
132
|
+
* slot empty — audio indexing will throw at call time, not at
|
|
133
|
+
* construction time. This makes the factory safe to call even when
|
|
134
|
+
* STT is not configured.
|
|
135
|
+
*
|
|
136
|
+
* - If neither `visionPipeline` nor `visionProvider` is provided, image
|
|
137
|
+
* indexing will throw at call time.
|
|
138
|
+
*
|
|
139
|
+
* @param opts - Factory options including resolver, pipeline, and
|
|
140
|
+
* required embedding/vector store dependencies.
|
|
141
|
+
* @returns A configured `MultimodalIndexer` instance.
|
|
142
|
+
*
|
|
143
|
+
* @throws {Error} If `embeddingManager` or `vectorStore` is missing
|
|
144
|
+
* (propagated from `MultimodalIndexer` constructor).
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* // Full setup: shared STT + vision
|
|
149
|
+
* const indexer = createMultimodalIndexerFromResolver({
|
|
150
|
+
* resolver: speechResolver,
|
|
151
|
+
* visionPipeline: pipeline,
|
|
152
|
+
* embeddingManager,
|
|
153
|
+
* vectorStore,
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* // Vision-only (no audio indexing)
|
|
157
|
+
* const visionIndexer = createMultimodalIndexerFromResolver({
|
|
158
|
+
* visionPipeline: pipeline,
|
|
159
|
+
* embeddingManager,
|
|
160
|
+
* vectorStore,
|
|
161
|
+
* });
|
|
162
|
+
*
|
|
163
|
+
* // STT-only (no image indexing)
|
|
164
|
+
* const audioIndexer = createMultimodalIndexerFromResolver({
|
|
165
|
+
* resolver: speechResolver,
|
|
166
|
+
* embeddingManager,
|
|
167
|
+
* vectorStore,
|
|
168
|
+
* });
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export declare function createMultimodalIndexerFromResolver(opts: MultimodalIndexerFromResolverOptions): MultimodalIndexer;
|
|
172
|
+
//# sourceMappingURL=createMultimodalIndexerFromResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMultimodalIndexerFromResolver.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/createMultimodalIndexerFromResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAyB,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAElG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAQ3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,oCAAoC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,gBAAgB,EAAE,iBAAiB,CAAC;IAEpC;;;OAGG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,oCAAoC,GACzC,iBAAiB,CA2CnB"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module rag/multimodal/createMultimodalIndexerFromResolver
|
|
3
|
+
*
|
|
4
|
+
* Factory function that creates a fully-wired {@link MultimodalIndexer}
|
|
5
|
+
* using the voice pipeline's {@link SpeechProviderResolver} for STT and
|
|
6
|
+
* the vision pipeline for image understanding.
|
|
7
|
+
*
|
|
8
|
+
* ## Why use this factory
|
|
9
|
+
*
|
|
10
|
+
* When both the voice pipeline and the multimodal RAG pipeline need STT
|
|
11
|
+
* (or vision), you want them to share the same providers rather than
|
|
12
|
+
* configuring each independently. This factory resolves the best available
|
|
13
|
+
* providers from the speech resolver and vision pipeline, wires them into
|
|
14
|
+
* a new multimodal indexer with the appropriate adapters, and returns
|
|
15
|
+
* the ready-to-use instance.
|
|
16
|
+
*
|
|
17
|
+
* ## Provider resolution
|
|
18
|
+
*
|
|
19
|
+
* - **STT**: Calls `resolver.resolveSTT()` and wraps the result in a
|
|
20
|
+
* {@link SpeechProviderAdapter}. If resolution fails (no configured STT
|
|
21
|
+
* provider), audio indexing is gracefully disabled — the indexer will
|
|
22
|
+
* throw only when `indexAudio()` is actually called.
|
|
23
|
+
*
|
|
24
|
+
* - **Vision**: When a `VisionPipeline` is provided, it is wrapped in a
|
|
25
|
+
* `PipelineVisionProvider`. Otherwise vision is left unconfigured.
|
|
26
|
+
* Callers can also pass a pre-built `IVisionProvider` for custom setups.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link SpeechProviderAdapter} for the STT bridge.
|
|
29
|
+
* See `PipelineVisionProvider` for the vision bridge.
|
|
30
|
+
* @see {@link MultimodalIndexer} for the indexer itself.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import { SpeechProviderResolver } from '../../speech/SpeechProviderResolver.js';
|
|
35
|
+
* import { createVisionPipeline } from '../../core/vision/index.js';
|
|
36
|
+
* import { createMultimodalIndexerFromResolver } from './createMultimodalIndexerFromResolver.js';
|
|
37
|
+
*
|
|
38
|
+
* const resolver = new SpeechProviderResolver(config, process.env);
|
|
39
|
+
* await resolver.refresh();
|
|
40
|
+
*
|
|
41
|
+
* const visionPipeline = await createVisionPipeline({ strategy: 'progressive' });
|
|
42
|
+
*
|
|
43
|
+
* const indexer = createMultimodalIndexerFromResolver({
|
|
44
|
+
* resolver,
|
|
45
|
+
* visionPipeline,
|
|
46
|
+
* embeddingManager,
|
|
47
|
+
* vectorStore,
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* // Now the indexer shares STT with the voice pipeline
|
|
51
|
+
* await indexer.indexAudio({ audio: wavBuffer, language: 'en' });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
import { MultimodalIndexer } from './MultimodalIndexer.js';
|
|
55
|
+
import { SpeechProviderAdapter } from './SpeechProviderAdapter.js';
|
|
56
|
+
import { PipelineVisionProvider } from '../../core/vision/providers/PipelineVisionProvider.js';
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
// Factory function
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
/**
|
|
61
|
+
* Create a {@link MultimodalIndexer} that reuses providers from the
|
|
62
|
+
* voice pipeline's `SpeechProviderResolver` and an optional
|
|
63
|
+
* `VisionPipeline`.
|
|
64
|
+
*
|
|
65
|
+
* This is the recommended way to instantiate a multimodal indexer in
|
|
66
|
+
* applications that also use the voice pipeline — it ensures both
|
|
67
|
+
* subsystems share the same STT and vision providers instead of
|
|
68
|
+
* requiring separate configuration.
|
|
69
|
+
*
|
|
70
|
+
* ## Error handling
|
|
71
|
+
*
|
|
72
|
+
* - If the resolver has no configured STT provider, `resolveSTT()` will
|
|
73
|
+
* throw. This function catches that error and simply leaves the STT
|
|
74
|
+
* slot empty — audio indexing will throw at call time, not at
|
|
75
|
+
* construction time. This makes the factory safe to call even when
|
|
76
|
+
* STT is not configured.
|
|
77
|
+
*
|
|
78
|
+
* - If neither `visionPipeline` nor `visionProvider` is provided, image
|
|
79
|
+
* indexing will throw at call time.
|
|
80
|
+
*
|
|
81
|
+
* @param opts - Factory options including resolver, pipeline, and
|
|
82
|
+
* required embedding/vector store dependencies.
|
|
83
|
+
* @returns A configured `MultimodalIndexer` instance.
|
|
84
|
+
*
|
|
85
|
+
* @throws {Error} If `embeddingManager` or `vectorStore` is missing
|
|
86
|
+
* (propagated from `MultimodalIndexer` constructor).
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* // Full setup: shared STT + vision
|
|
91
|
+
* const indexer = createMultimodalIndexerFromResolver({
|
|
92
|
+
* resolver: speechResolver,
|
|
93
|
+
* visionPipeline: pipeline,
|
|
94
|
+
* embeddingManager,
|
|
95
|
+
* vectorStore,
|
|
96
|
+
* });
|
|
97
|
+
*
|
|
98
|
+
* // Vision-only (no audio indexing)
|
|
99
|
+
* const visionIndexer = createMultimodalIndexerFromResolver({
|
|
100
|
+
* visionPipeline: pipeline,
|
|
101
|
+
* embeddingManager,
|
|
102
|
+
* vectorStore,
|
|
103
|
+
* });
|
|
104
|
+
*
|
|
105
|
+
* // STT-only (no image indexing)
|
|
106
|
+
* const audioIndexer = createMultimodalIndexerFromResolver({
|
|
107
|
+
* resolver: speechResolver,
|
|
108
|
+
* embeddingManager,
|
|
109
|
+
* vectorStore,
|
|
110
|
+
* });
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export function createMultimodalIndexerFromResolver(opts) {
|
|
114
|
+
// ---------------------------------------------------------------------------
|
|
115
|
+
// Resolve STT provider from the speech resolver
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
let sttProvider;
|
|
118
|
+
if (opts.resolver) {
|
|
119
|
+
try {
|
|
120
|
+
const speechSTT = opts.resolver.resolveSTT();
|
|
121
|
+
sttProvider = new SpeechProviderAdapter(speechSTT);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// No configured STT provider — audio indexing will be unavailable.
|
|
125
|
+
// This is not an error at construction time because the caller may
|
|
126
|
+
// only intend to index images or text.
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
// Resolve vision provider from pipeline or direct provider
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
let visionProvider;
|
|
133
|
+
if (opts.visionPipeline) {
|
|
134
|
+
// Full pipeline wrapping gives the indexer progressive OCR + cloud fallback.
|
|
135
|
+
visionProvider = new PipelineVisionProvider(opts.visionPipeline);
|
|
136
|
+
}
|
|
137
|
+
else if (opts.visionProvider) {
|
|
138
|
+
// Caller-supplied provider (LLMVisionProvider, custom impl, etc.)
|
|
139
|
+
visionProvider = opts.visionProvider;
|
|
140
|
+
}
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
142
|
+
// Build the indexer
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
return new MultimodalIndexer({
|
|
145
|
+
embeddingManager: opts.embeddingManager,
|
|
146
|
+
vectorStore: opts.vectorStore,
|
|
147
|
+
visionProvider,
|
|
148
|
+
sttProvider,
|
|
149
|
+
config: opts.config,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=createMultimodalIndexerFromResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMultimodalIndexerFromResolver.js","sourceRoot":"","sources":["../../../src/rag/multimodal/createMultimodalIndexerFromResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAQH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAsE/F,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,UAAU,mCAAmC,CACjD,IAA0C;IAE1C,8EAA8E;IAC9E,gDAAgD;IAChD,8EAA8E;IAE9E,IAAI,WAA8C,CAAC;IAEnD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC7C,WAAW,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,mEAAmE;YACnE,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,2DAA2D;IAC3D,8EAA8E;IAE9E,IAAI,cAA2C,CAAC;IAEhD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,6EAA6E;QAC7E,cAAc,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,kEAAkE;QAClE,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IACvC,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E,OAAO,IAAI,iBAAiB,CAAC;QAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc;QACd,WAAW;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC"}
|