@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":"VisionPipeline.js","sourceRoot":"","sources":["../../../src/core/vision/VisionPipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/vision
|
|
3
|
+
*
|
|
4
|
+
* Unified vision pipeline with progressive enhancement for AgentOS.
|
|
5
|
+
*
|
|
6
|
+
* Processes images through three configurable tiers:
|
|
7
|
+
*
|
|
8
|
+
* 1. **Local OCR** (PaddleOCR / Tesseract.js) — fast, free, offline
|
|
9
|
+
* 2. **Local Vision Models** (TrOCR / Florence-2 / CLIP) — offline, richer
|
|
10
|
+
* 3. **Cloud Vision LLMs** (GPT-4o / Claude / Gemini) — best quality
|
|
11
|
+
*
|
|
12
|
+
* The {@link createVisionPipeline} factory auto-detects which providers
|
|
13
|
+
* are installed and builds a pipeline with sensible defaults.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {
|
|
18
|
+
* createVisionPipeline,
|
|
19
|
+
* VisionPipeline,
|
|
20
|
+
* type VisionPipelineConfig,
|
|
21
|
+
* type VisionResult,
|
|
22
|
+
* } from '../../core/vision';
|
|
23
|
+
*
|
|
24
|
+
* // Auto-detect available providers
|
|
25
|
+
* const pipeline = await createVisionPipeline();
|
|
26
|
+
* const result = await pipeline.process(imageBuffer);
|
|
27
|
+
*
|
|
28
|
+
* // Or configure explicitly
|
|
29
|
+
* const custom = await createVisionPipeline({
|
|
30
|
+
* strategy: 'progressive',
|
|
31
|
+
* ocr: 'paddle',
|
|
32
|
+
* embedding: true,
|
|
33
|
+
* cloudProvider: 'openai',
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see {@link VisionPipeline} for the main pipeline class.
|
|
38
|
+
* @see {@link VisionPipelineConfig} for configuration options.
|
|
39
|
+
* @see {@link LLMVisionProvider} for a simple cloud-only vision provider.
|
|
40
|
+
* @see {@link PipelineVisionProvider} for wrapping the pipeline as IVisionProvider.
|
|
41
|
+
*/
|
|
42
|
+
export { VisionPipeline } from './VisionPipeline.js';
|
|
43
|
+
export { LLMVisionProvider } from './providers/LLMVisionProvider.js';
|
|
44
|
+
export type { LLMVisionProviderConfig } from './providers/LLMVisionProvider.js';
|
|
45
|
+
export { PipelineVisionProvider } from './providers/PipelineVisionProvider.js';
|
|
46
|
+
export type { VisionPipelineConfig, VisionResult, VisionStrategy, VisionTier, ContentCategory, TierResult, TextRegion, DocumentLayout, DocumentPage, LayoutBlock, VisionPreprocessingConfig, } from './types.js';
|
|
47
|
+
/**
|
|
48
|
+
* Create a vision pipeline with sensible defaults by auto-detecting
|
|
49
|
+
* which providers are installed in the current environment.
|
|
50
|
+
*
|
|
51
|
+
* The factory probes for optional peer dependencies (ppu-paddle-ocr,
|
|
52
|
+
* tesseract.js, \@huggingface/transformers) and cloud API keys in
|
|
53
|
+
* environment variables, then configures the pipeline accordingly.
|
|
54
|
+
*
|
|
55
|
+
* ## Auto-detection logic
|
|
56
|
+
*
|
|
57
|
+
* | Check | Result |
|
|
58
|
+
* |-------|--------|
|
|
59
|
+
* | `ppu-paddle-ocr` importable | `ocr: 'paddle'` |
|
|
60
|
+
* | `tesseract.js` importable (paddle missing) | `ocr: 'tesseract'` |
|
|
61
|
+
* | Neither importable | `ocr: 'none'` |
|
|
62
|
+
* | `@huggingface/transformers` importable | `handwriting: true`, `documentAI: true`, `embedding: true` |
|
|
63
|
+
* | `OPENAI_API_KEY` / `ANTHROPIC_API_KEY` / etc. set | `cloudProvider` configured |
|
|
64
|
+
*
|
|
65
|
+
* Caller-supplied config overrides always take precedence over
|
|
66
|
+
* auto-detected values.
|
|
67
|
+
*
|
|
68
|
+
* @param config - Optional partial configuration. Fields that are set
|
|
69
|
+
* override auto-detected values. Fields that are omitted are filled
|
|
70
|
+
* by the auto-detection logic.
|
|
71
|
+
* @returns A configured and ready-to-use VisionPipeline instance.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* // Full auto-detection
|
|
76
|
+
* const pipeline = await createVisionPipeline();
|
|
77
|
+
*
|
|
78
|
+
* // Override strategy but auto-detect everything else
|
|
79
|
+
* const localOnly = await createVisionPipeline({
|
|
80
|
+
* strategy: 'local-only',
|
|
81
|
+
* });
|
|
82
|
+
*
|
|
83
|
+
* // Explicit full config (no auto-detection)
|
|
84
|
+
* const explicit = await createVisionPipeline({
|
|
85
|
+
* strategy: 'progressive',
|
|
86
|
+
* ocr: 'tesseract',
|
|
87
|
+
* handwriting: true,
|
|
88
|
+
* documentAI: false,
|
|
89
|
+
* embedding: true,
|
|
90
|
+
* cloudProvider: 'openai',
|
|
91
|
+
* cloudModel: 'gpt-4o',
|
|
92
|
+
* confidenceThreshold: 0.85,
|
|
93
|
+
* });
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function createVisionPipeline(config?: Partial<import('./types.js').VisionPipelineConfig>): Promise<import('./VisionPipeline.js').VisionPipeline>;
|
|
97
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/vision/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AA4CpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,oBAAoB,CAAC,GAC1D,OAAO,CAAC,OAAO,qBAAqB,EAAE,cAAc,CAAC,CA+CvD"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/vision
|
|
3
|
+
*
|
|
4
|
+
* Unified vision pipeline with progressive enhancement for AgentOS.
|
|
5
|
+
*
|
|
6
|
+
* Processes images through three configurable tiers:
|
|
7
|
+
*
|
|
8
|
+
* 1. **Local OCR** (PaddleOCR / Tesseract.js) — fast, free, offline
|
|
9
|
+
* 2. **Local Vision Models** (TrOCR / Florence-2 / CLIP) — offline, richer
|
|
10
|
+
* 3. **Cloud Vision LLMs** (GPT-4o / Claude / Gemini) — best quality
|
|
11
|
+
*
|
|
12
|
+
* The {@link createVisionPipeline} factory auto-detects which providers
|
|
13
|
+
* are installed and builds a pipeline with sensible defaults.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {
|
|
18
|
+
* createVisionPipeline,
|
|
19
|
+
* VisionPipeline,
|
|
20
|
+
* type VisionPipelineConfig,
|
|
21
|
+
* type VisionResult,
|
|
22
|
+
* } from '../../core/vision/index.js';
|
|
23
|
+
*
|
|
24
|
+
* // Auto-detect available providers
|
|
25
|
+
* const pipeline = await createVisionPipeline();
|
|
26
|
+
* const result = await pipeline.process(imageBuffer);
|
|
27
|
+
*
|
|
28
|
+
* // Or configure explicitly
|
|
29
|
+
* const custom = await createVisionPipeline({
|
|
30
|
+
* strategy: 'progressive',
|
|
31
|
+
* ocr: 'paddle',
|
|
32
|
+
* embedding: true,
|
|
33
|
+
* cloudProvider: 'openai',
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see {@link VisionPipeline} for the main pipeline class.
|
|
38
|
+
* @see {@link VisionPipelineConfig} for configuration options.
|
|
39
|
+
* @see {@link LLMVisionProvider} for a simple cloud-only vision provider.
|
|
40
|
+
* @see {@link PipelineVisionProvider} for wrapping the pipeline as IVisionProvider.
|
|
41
|
+
*/
|
|
42
|
+
export { VisionPipeline } from './VisionPipeline.js';
|
|
43
|
+
export { LLMVisionProvider } from './providers/LLMVisionProvider.js';
|
|
44
|
+
export { PipelineVisionProvider } from './providers/PipelineVisionProvider.js';
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
// Provider availability probes
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
/**
|
|
49
|
+
* Check if a module is importable without actually loading it.
|
|
50
|
+
* Uses a dynamic import wrapped in try/catch — the module is loaded
|
|
51
|
+
* then immediately discarded, so the overhead is minimal on first probe
|
|
52
|
+
* but cached by the runtime on subsequent probes.
|
|
53
|
+
*
|
|
54
|
+
* @param moduleId - npm package name to probe.
|
|
55
|
+
* @returns True if the module can be imported.
|
|
56
|
+
*/
|
|
57
|
+
async function isModuleAvailable(moduleId) {
|
|
58
|
+
try {
|
|
59
|
+
await import(moduleId);
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Detect which cloud vision provider is available based on environment
|
|
68
|
+
* variables. Returns the first provider that has a valid API key set.
|
|
69
|
+
*
|
|
70
|
+
* @returns Provider name string, or undefined if no API keys are found.
|
|
71
|
+
*/
|
|
72
|
+
function detectCloudProvider() {
|
|
73
|
+
// Check common vision-capable provider API keys in preference order.
|
|
74
|
+
// GPT-4o is the most widely used vision LLM, so we prefer OpenAI first.
|
|
75
|
+
if (process.env.OPENAI_API_KEY)
|
|
76
|
+
return 'openai';
|
|
77
|
+
if (process.env.ANTHROPIC_API_KEY)
|
|
78
|
+
return 'anthropic';
|
|
79
|
+
if (process.env.GOOGLE_API_KEY || process.env.GEMINI_API_KEY)
|
|
80
|
+
return 'google';
|
|
81
|
+
if (process.env.OPENROUTER_API_KEY)
|
|
82
|
+
return 'openrouter';
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// Factory
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
/**
|
|
89
|
+
* Create a vision pipeline with sensible defaults by auto-detecting
|
|
90
|
+
* which providers are installed in the current environment.
|
|
91
|
+
*
|
|
92
|
+
* The factory probes for optional peer dependencies (ppu-paddle-ocr,
|
|
93
|
+
* tesseract.js, \@huggingface/transformers) and cloud API keys in
|
|
94
|
+
* environment variables, then configures the pipeline accordingly.
|
|
95
|
+
*
|
|
96
|
+
* ## Auto-detection logic
|
|
97
|
+
*
|
|
98
|
+
* | Check | Result |
|
|
99
|
+
* |-------|--------|
|
|
100
|
+
* | `ppu-paddle-ocr` importable | `ocr: 'paddle'` |
|
|
101
|
+
* | `tesseract.js` importable (paddle missing) | `ocr: 'tesseract'` |
|
|
102
|
+
* | Neither importable | `ocr: 'none'` |
|
|
103
|
+
* | `@huggingface/transformers` importable | `handwriting: true`, `documentAI: true`, `embedding: true` |
|
|
104
|
+
* | `OPENAI_API_KEY` / `ANTHROPIC_API_KEY` / etc. set | `cloudProvider` configured |
|
|
105
|
+
*
|
|
106
|
+
* Caller-supplied config overrides always take precedence over
|
|
107
|
+
* auto-detected values.
|
|
108
|
+
*
|
|
109
|
+
* @param config - Optional partial configuration. Fields that are set
|
|
110
|
+
* override auto-detected values. Fields that are omitted are filled
|
|
111
|
+
* by the auto-detection logic.
|
|
112
|
+
* @returns A configured and ready-to-use VisionPipeline instance.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* // Full auto-detection
|
|
117
|
+
* const pipeline = await createVisionPipeline();
|
|
118
|
+
*
|
|
119
|
+
* // Override strategy but auto-detect everything else
|
|
120
|
+
* const localOnly = await createVisionPipeline({
|
|
121
|
+
* strategy: 'local-only',
|
|
122
|
+
* });
|
|
123
|
+
*
|
|
124
|
+
* // Explicit full config (no auto-detection)
|
|
125
|
+
* const explicit = await createVisionPipeline({
|
|
126
|
+
* strategy: 'progressive',
|
|
127
|
+
* ocr: 'tesseract',
|
|
128
|
+
* handwriting: true,
|
|
129
|
+
* documentAI: false,
|
|
130
|
+
* embedding: true,
|
|
131
|
+
* cloudProvider: 'openai',
|
|
132
|
+
* cloudModel: 'gpt-4o',
|
|
133
|
+
* confidenceThreshold: 0.85,
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export async function createVisionPipeline(config) {
|
|
138
|
+
// Probe available OCR engines in parallel for speed
|
|
139
|
+
const [hasPaddle, hasTesseract, hasTransformers] = await Promise.all([
|
|
140
|
+
// Only probe if caller didn't explicitly set the OCR engine
|
|
141
|
+
config?.ocr !== undefined ? Promise.resolve(false) : isModuleAvailable('ppu-paddle-ocr'),
|
|
142
|
+
config?.ocr !== undefined ? Promise.resolve(false) : isModuleAvailable('tesseract.js'),
|
|
143
|
+
// Only probe if caller didn't explicitly set all HF-dependent flags
|
|
144
|
+
(config?.handwriting !== undefined && config?.documentAI !== undefined && config?.embedding !== undefined)
|
|
145
|
+
? Promise.resolve(false)
|
|
146
|
+
: isModuleAvailable('@huggingface/transformers'),
|
|
147
|
+
]);
|
|
148
|
+
// Resolve OCR engine: caller override > paddle > tesseract > none
|
|
149
|
+
let ocr = config?.ocr;
|
|
150
|
+
if (ocr === undefined) {
|
|
151
|
+
if (hasPaddle) {
|
|
152
|
+
ocr = 'paddle';
|
|
153
|
+
}
|
|
154
|
+
else if (hasTesseract) {
|
|
155
|
+
ocr = 'tesseract';
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
ocr = 'none';
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Resolve HuggingFace-dependent features: caller override > auto-detect
|
|
162
|
+
const handwriting = config?.handwriting ?? (hasTransformers ? true : false);
|
|
163
|
+
const documentAI = config?.documentAI ?? (hasTransformers ? true : false);
|
|
164
|
+
const embedding = config?.embedding ?? (hasTransformers ? true : false);
|
|
165
|
+
// Resolve cloud provider: caller override > env var auto-detect
|
|
166
|
+
const cloudProvider = config?.cloudProvider ?? detectCloudProvider();
|
|
167
|
+
// Build the final resolved config
|
|
168
|
+
const resolvedConfig = {
|
|
169
|
+
strategy: config?.strategy ?? 'progressive',
|
|
170
|
+
ocr,
|
|
171
|
+
handwriting,
|
|
172
|
+
documentAI,
|
|
173
|
+
embedding,
|
|
174
|
+
cloudProvider,
|
|
175
|
+
cloudModel: config?.cloudModel,
|
|
176
|
+
confidenceThreshold: config?.confidenceThreshold,
|
|
177
|
+
preprocessing: config?.preprocessing,
|
|
178
|
+
};
|
|
179
|
+
const { VisionPipeline } = await import('./VisionPipeline.js');
|
|
180
|
+
return new VisionPipeline(resolvedConfig);
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/vision/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/vision/providers/LLMVisionProvider
|
|
3
|
+
*
|
|
4
|
+
* Implements the {@link IVisionProvider} interface by wrapping the
|
|
5
|
+
* `generateText()` high-level API with a multimodal image message.
|
|
6
|
+
*
|
|
7
|
+
* Works with any vision-capable LLM provider — GPT-4o, Claude,
|
|
8
|
+
* Gemini, Ollama + LLaVA, OpenRouter, etc. The provider and model
|
|
9
|
+
* are specified at construction time and used for every call.
|
|
10
|
+
*
|
|
11
|
+
* This is the simplest way to add vision to the multimodal indexer
|
|
12
|
+
* without the full OCR + embedding pipeline. For the full progressive
|
|
13
|
+
* pipeline, see {@link PipelineVisionProvider}.
|
|
14
|
+
*
|
|
15
|
+
* @see {@link IVisionProvider} for the interface contract.
|
|
16
|
+
* @see {@link PipelineVisionProvider} for the full-pipeline wrapper.
|
|
17
|
+
* @see {@link VisionPipeline} for the underlying pipeline engine.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { LLMVisionProvider } from '../../../core/vision';
|
|
22
|
+
*
|
|
23
|
+
* const vision = new LLMVisionProvider({
|
|
24
|
+
* provider: 'openai',
|
|
25
|
+
* model: 'gpt-4o',
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* const description = await vision.describeImage(imageUrl);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import type { IVisionProvider } from '../../../rag/multimodal/types.js';
|
|
32
|
+
/**
|
|
33
|
+
* Configuration for the LLM vision provider.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const config: LLMVisionProviderConfig = {
|
|
38
|
+
* provider: 'openai',
|
|
39
|
+
* model: 'gpt-4o',
|
|
40
|
+
* prompt: 'Describe this image for a search index.',
|
|
41
|
+
* apiKey: process.env.OPENAI_API_KEY,
|
|
42
|
+
* };
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export interface LLMVisionProviderConfig {
|
|
46
|
+
/**
|
|
47
|
+
* LLM provider name (e.g. 'openai', 'anthropic', 'google', 'ollama').
|
|
48
|
+
* Must be resolvable by the `generateText()` API.
|
|
49
|
+
*/
|
|
50
|
+
provider: string;
|
|
51
|
+
/**
|
|
52
|
+
* Model identifier. When omitted, the provider's default vision model
|
|
53
|
+
* is used.
|
|
54
|
+
* @example 'gpt-4o', 'claude-sonnet-4-20250514', 'gemini-2.0-flash'
|
|
55
|
+
*/
|
|
56
|
+
model?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Custom prompt for image description. When omitted, a default prompt
|
|
59
|
+
* optimized for search indexing is used.
|
|
60
|
+
*/
|
|
61
|
+
prompt?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Override the API key instead of reading from environment variables.
|
|
64
|
+
* Useful for multi-tenant setups where each user has their own key.
|
|
65
|
+
*/
|
|
66
|
+
apiKey?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Override the provider base URL (e.g. for Ollama or local proxies).
|
|
69
|
+
*/
|
|
70
|
+
baseUrl?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Vision provider that delegates to a cloud LLM via `generateText()`.
|
|
74
|
+
*
|
|
75
|
+
* Satisfies the narrow {@link IVisionProvider} contract used by the
|
|
76
|
+
* {@link MultimodalIndexer}, allowing any vision-capable LLM to serve
|
|
77
|
+
* as the image description backend.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const provider = new LLMVisionProvider({ provider: 'openai' });
|
|
82
|
+
* const indexer = new MultimodalIndexer({
|
|
83
|
+
* embeddingManager,
|
|
84
|
+
* vectorStore,
|
|
85
|
+
* visionProvider: provider,
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare class LLMVisionProvider implements IVisionProvider {
|
|
90
|
+
/** Resolved configuration. */
|
|
91
|
+
private readonly _config;
|
|
92
|
+
/** Description prompt. */
|
|
93
|
+
private readonly _prompt;
|
|
94
|
+
/**
|
|
95
|
+
* Create a new LLM vision provider.
|
|
96
|
+
*
|
|
97
|
+
* @param config - Provider configuration specifying which LLM to use.
|
|
98
|
+
*
|
|
99
|
+
* @throws {Error} If `config.provider` is not specified.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const provider = new LLMVisionProvider({
|
|
104
|
+
* provider: 'anthropic',
|
|
105
|
+
* model: 'claude-sonnet-4-20250514',
|
|
106
|
+
* });
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
constructor(config: LLMVisionProviderConfig);
|
|
110
|
+
/**
|
|
111
|
+
* Generate a text description of the provided image using a cloud
|
|
112
|
+
* vision LLM.
|
|
113
|
+
*
|
|
114
|
+
* The image is sent as a base64 data URL in a multimodal message
|
|
115
|
+
* to the configured provider. The LLM's response is returned as-is.
|
|
116
|
+
*
|
|
117
|
+
* @param image - Image as a URL string (https://...) or base64 data URL
|
|
118
|
+
* (data:image/png;base64,...).
|
|
119
|
+
* @returns Detailed text description of the image content.
|
|
120
|
+
*
|
|
121
|
+
* @throws {Error} If the LLM call fails.
|
|
122
|
+
* @throws {Error} If the LLM returns an empty response.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* const description = await provider.describeImage(
|
|
127
|
+
* 'data:image/png;base64,iVBORw0KGgoAAAA...'
|
|
128
|
+
* );
|
|
129
|
+
* console.log(description);
|
|
130
|
+
* // "A golden retriever playing fetch on a sandy beach..."
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
describeImage(image: string): Promise<string>;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=LLMVisionProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLMVisionProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/vision/providers/LLMVisionProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAMxE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAElD,0BAA0B;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;;;;;;;;;;;;;OAcG;gBACS,MAAM,EAAE,uBAAuB;IAW3C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BpD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/vision/providers/LLMVisionProvider
|
|
3
|
+
*
|
|
4
|
+
* Implements the {@link IVisionProvider} interface by wrapping the
|
|
5
|
+
* `generateText()` high-level API with a multimodal image message.
|
|
6
|
+
*
|
|
7
|
+
* Works with any vision-capable LLM provider — GPT-4o, Claude,
|
|
8
|
+
* Gemini, Ollama + LLaVA, OpenRouter, etc. The provider and model
|
|
9
|
+
* are specified at construction time and used for every call.
|
|
10
|
+
*
|
|
11
|
+
* This is the simplest way to add vision to the multimodal indexer
|
|
12
|
+
* without the full OCR + embedding pipeline. For the full progressive
|
|
13
|
+
* pipeline, see {@link PipelineVisionProvider}.
|
|
14
|
+
*
|
|
15
|
+
* @see {@link IVisionProvider} for the interface contract.
|
|
16
|
+
* @see {@link PipelineVisionProvider} for the full-pipeline wrapper.
|
|
17
|
+
* @see {@link VisionPipeline} for the underlying pipeline engine.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { LLMVisionProvider } from '../../../core/vision/index.js';
|
|
22
|
+
*
|
|
23
|
+
* const vision = new LLMVisionProvider({
|
|
24
|
+
* provider: 'openai',
|
|
25
|
+
* model: 'gpt-4o',
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* const description = await vision.describeImage(imageUrl);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// Default prompt
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
/**
|
|
35
|
+
* Default prompt used when describing images for search indexing.
|
|
36
|
+
* Balances thoroughness with conciseness to produce embedding-friendly
|
|
37
|
+
* descriptions.
|
|
38
|
+
*/
|
|
39
|
+
const DEFAULT_DESCRIPTION_PROMPT = 'Describe this image in detail for use in a search index. ' +
|
|
40
|
+
'Include objects, actions, colors, text, spatial relationships, ' +
|
|
41
|
+
'and any notable characteristics. Extract all visible text exactly ' +
|
|
42
|
+
'as written. Be thorough but concise.';
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
// Implementation
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
/**
|
|
47
|
+
* Vision provider that delegates to a cloud LLM via `generateText()`.
|
|
48
|
+
*
|
|
49
|
+
* Satisfies the narrow {@link IVisionProvider} contract used by the
|
|
50
|
+
* {@link MultimodalIndexer}, allowing any vision-capable LLM to serve
|
|
51
|
+
* as the image description backend.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const provider = new LLMVisionProvider({ provider: 'openai' });
|
|
56
|
+
* const indexer = new MultimodalIndexer({
|
|
57
|
+
* embeddingManager,
|
|
58
|
+
* vectorStore,
|
|
59
|
+
* visionProvider: provider,
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export class LLMVisionProvider {
|
|
64
|
+
/**
|
|
65
|
+
* Create a new LLM vision provider.
|
|
66
|
+
*
|
|
67
|
+
* @param config - Provider configuration specifying which LLM to use.
|
|
68
|
+
*
|
|
69
|
+
* @throws {Error} If `config.provider` is not specified.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const provider = new LLMVisionProvider({
|
|
74
|
+
* provider: 'anthropic',
|
|
75
|
+
* model: 'claude-sonnet-4-20250514',
|
|
76
|
+
* });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
constructor(config) {
|
|
80
|
+
if (!config.provider) {
|
|
81
|
+
throw new Error('LLMVisionProvider: provider name is required (e.g. "openai", "anthropic").');
|
|
82
|
+
}
|
|
83
|
+
this._config = { ...config };
|
|
84
|
+
this._prompt = config.prompt ?? DEFAULT_DESCRIPTION_PROMPT;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Generate a text description of the provided image using a cloud
|
|
88
|
+
* vision LLM.
|
|
89
|
+
*
|
|
90
|
+
* The image is sent as a base64 data URL in a multimodal message
|
|
91
|
+
* to the configured provider. The LLM's response is returned as-is.
|
|
92
|
+
*
|
|
93
|
+
* @param image - Image as a URL string (https://...) or base64 data URL
|
|
94
|
+
* (data:image/png;base64,...).
|
|
95
|
+
* @returns Detailed text description of the image content.
|
|
96
|
+
*
|
|
97
|
+
* @throws {Error} If the LLM call fails.
|
|
98
|
+
* @throws {Error} If the LLM returns an empty response.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const description = await provider.describeImage(
|
|
103
|
+
* 'data:image/png;base64,iVBORw0KGgoAAAA...'
|
|
104
|
+
* );
|
|
105
|
+
* console.log(description);
|
|
106
|
+
* // "A golden retriever playing fetch on a sandy beach..."
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
async describeImage(image) {
|
|
110
|
+
// Lazy import to avoid loading the full API machinery until needed
|
|
111
|
+
const { generateText } = await import('../../../api/generateText.js');
|
|
112
|
+
// Build the multimodal message with text prompt + image.
|
|
113
|
+
// The content array format is the standard multimodal message shape
|
|
114
|
+
// accepted by all major vision LLM providers (OpenAI, Anthropic, Gemini).
|
|
115
|
+
const result = await generateText({
|
|
116
|
+
provider: this._config.provider,
|
|
117
|
+
model: this._config.model,
|
|
118
|
+
apiKey: this._config.apiKey,
|
|
119
|
+
baseUrl: this._config.baseUrl,
|
|
120
|
+
messages: [{
|
|
121
|
+
role: 'user',
|
|
122
|
+
// Serialize the content parts array as JSON. The provider adapter
|
|
123
|
+
// will parse it back into the appropriate multimodal format.
|
|
124
|
+
content: JSON.stringify([
|
|
125
|
+
{ type: 'text', text: this._prompt },
|
|
126
|
+
{ type: 'image_url', image_url: { url: image } },
|
|
127
|
+
]),
|
|
128
|
+
}],
|
|
129
|
+
});
|
|
130
|
+
if (!result.text || result.text.trim().length === 0) {
|
|
131
|
+
throw new Error(`LLMVisionProvider: ${this._config.provider} returned empty description.`);
|
|
132
|
+
}
|
|
133
|
+
return result.text;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=LLMVisionProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLMVisionProvider.js","sourceRoot":"","sources":["../../../../src/core/vision/providers/LLMVisionProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAqDH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,0BAA0B,GAC9B,2DAA2D;IAC3D,iEAAiE;IACjE,oEAAoE;IACpE,sCAAsC,CAAC;AAEzC,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,iBAAiB;IAO5B;;;;;;;;;;;;;;OAcG;IACH,YAAY,MAA+B;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,0BAA0B,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,mEAAmE;QACnE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAEtE,yDAAyD;QACzD,oEAAoE;QACpE,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,kEAAkE;oBAClE,6DAA6D;oBAC7D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;wBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;qBACjD,CAAC;iBACH,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,OAAO,CAAC,QAAQ,8BAA8B,CAC1E,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;CACF"}
|