@framers/agentos 0.1.112 → 0.1.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -5
- package/dist/api/AgentOS.d.ts +45 -12
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +225 -78
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/AgentOSOrchestrator.d.ts +8 -0
- package/dist/api/AgentOSOrchestrator.d.ts.map +1 -1
- package/dist/api/AgentOSOrchestrator.js +350 -59
- package/dist/api/AgentOSOrchestrator.js.map +1 -1
- package/dist/api/StreamChunkEmitter.d.ts.map +1 -1
- package/dist/api/StreamChunkEmitter.js +2 -0
- package/dist/api/StreamChunkEmitter.js.map +1 -1
- package/dist/api/agency.d.ts.map +1 -1
- package/dist/api/agency.js +47 -1
- package/dist/api/agency.js.map +1 -1
- package/dist/api/agent.d.ts +18 -5
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +48 -9
- package/dist/api/agent.js.map +1 -1
- package/dist/api/agentExport.d.ts +202 -0
- package/dist/api/agentExport.d.ts.map +1 -0
- package/dist/api/agentExport.js +323 -0
- package/dist/api/agentExport.js.map +1 -0
- package/dist/api/editImage.d.ts +119 -0
- package/dist/api/editImage.d.ts.map +1 -0
- package/dist/api/editImage.js +150 -0
- package/dist/api/editImage.js.map +1 -0
- package/dist/api/embedText.d.ts +137 -0
- package/dist/api/embedText.d.ts.map +1 -0
- package/dist/api/embedText.js +229 -0
- package/dist/api/embedText.js.map +1 -0
- package/dist/api/externalToolRegistry.d.ts +44 -0
- package/dist/api/externalToolRegistry.d.ts.map +1 -0
- package/dist/api/externalToolRegistry.js +245 -0
- package/dist/api/externalToolRegistry.js.map +1 -0
- package/dist/api/generateImage.d.ts +1 -1
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +17 -13
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateObject.d.ts +185 -0
- package/dist/api/generateObject.d.ts.map +1 -0
- package/dist/api/generateObject.js +249 -0
- package/dist/api/generateObject.js.map +1 -0
- package/dist/api/generateText.d.ts +13 -3
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +20 -5
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/interfaces/IAgentOS.d.ts +29 -1
- package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
- package/dist/api/model.d.ts +7 -7
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +22 -16
- package/dist/api/model.js.map +1 -1
- package/dist/api/processRequestWithExternalTools.d.ts +26 -0
- package/dist/api/processRequestWithExternalTools.d.ts.map +1 -0
- package/dist/api/processRequestWithExternalTools.js +52 -0
- package/dist/api/processRequestWithExternalTools.js.map +1 -0
- package/dist/api/processRequestWithRegisteredTools.d.ts +56 -0
- package/dist/api/processRequestWithRegisteredTools.d.ts.map +1 -0
- package/dist/api/processRequestWithRegisteredTools.js +125 -0
- package/dist/api/processRequestWithRegisteredTools.js.map +1 -0
- package/dist/api/provider-defaults.d.ts.map +1 -1
- package/dist/api/provider-defaults.js +28 -0
- package/dist/api/provider-defaults.js.map +1 -1
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts +71 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts.map +1 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.js +159 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.js.map +1 -0
- package/dist/api/strategies/agentGraphBuilder.d.ts +170 -0
- package/dist/api/strategies/agentGraphBuilder.d.ts.map +1 -0
- package/dist/api/strategies/agentGraphBuilder.js +299 -0
- package/dist/api/strategies/agentGraphBuilder.js.map +1 -0
- package/dist/api/strategies/debate.d.ts +12 -1
- package/dist/api/strategies/debate.d.ts.map +1 -1
- package/dist/api/strategies/debate.js +41 -5
- package/dist/api/strategies/debate.js.map +1 -1
- package/dist/api/strategies/graphCompiler.d.ts +84 -0
- package/dist/api/strategies/graphCompiler.d.ts.map +1 -0
- package/dist/api/strategies/graphCompiler.js +617 -0
- package/dist/api/strategies/graphCompiler.js.map +1 -0
- package/dist/api/strategies/hierarchical.d.ts +15 -1
- package/dist/api/strategies/hierarchical.d.ts.map +1 -1
- package/dist/api/strategies/hierarchical.js +53 -8
- package/dist/api/strategies/hierarchical.js.map +1 -1
- package/dist/api/strategies/index.d.ts +29 -4
- package/dist/api/strategies/index.d.ts.map +1 -1
- package/dist/api/strategies/index.js +28 -4
- package/dist/api/strategies/index.js.map +1 -1
- package/dist/api/strategies/parallel.d.ts +15 -4
- package/dist/api/strategies/parallel.d.ts.map +1 -1
- package/dist/api/strategies/parallel.js +53 -16
- package/dist/api/strategies/parallel.js.map +1 -1
- package/dist/api/strategies/review-loop.d.ts +15 -1
- package/dist/api/strategies/review-loop.d.ts.map +1 -1
- package/dist/api/strategies/review-loop.js +36 -10
- package/dist/api/strategies/review-loop.js.map +1 -1
- package/dist/api/strategies/sequential.d.ts +11 -1
- package/dist/api/strategies/sequential.d.ts.map +1 -1
- package/dist/api/strategies/sequential.js +39 -8
- package/dist/api/strategies/sequential.js.map +1 -1
- package/dist/api/strategies/shared.d.ts +72 -8
- package/dist/api/strategies/shared.d.ts.map +1 -1
- package/dist/api/strategies/shared.js +92 -12
- package/dist/api/strategies/shared.js.map +1 -1
- package/dist/api/streamObject.d.ts +166 -0
- package/dist/api/streamObject.d.ts.map +1 -0
- package/dist/api/streamObject.js +268 -0
- package/dist/api/streamObject.js.map +1 -0
- package/dist/api/streamText.d.ts +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +26 -8
- package/dist/api/streamText.js.map +1 -1
- package/dist/api/toolAdapter.d.ts +44 -8
- package/dist/api/toolAdapter.d.ts.map +1 -1
- package/dist/api/toolAdapter.js +224 -45
- package/dist/api/toolAdapter.js.map +1 -1
- package/dist/api/types/AgentOSExternalToolRequest.d.ts +35 -0
- package/dist/api/types/AgentOSExternalToolRequest.d.ts.map +1 -0
- package/dist/api/types/AgentOSExternalToolRequest.js +2 -0
- package/dist/api/types/AgentOSExternalToolRequest.js.map +1 -0
- package/dist/api/types/AgentOSResponse.d.ts +25 -0
- package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
- package/dist/api/types/AgentOSResponse.js +20 -0
- package/dist/api/types/AgentOSResponse.js.map +1 -1
- package/dist/api/types/AgentOSToolResult.d.ts +11 -0
- package/dist/api/types/AgentOSToolResult.d.ts.map +1 -0
- package/dist/api/types/AgentOSToolResult.js +2 -0
- package/dist/api/types/AgentOSToolResult.js.map +1 -0
- package/dist/api/types.d.ts +81 -4
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/upscaleImage.d.ts +92 -0
- package/dist/api/upscaleImage.d.ts.map +1 -0
- package/dist/api/upscaleImage.js +133 -0
- package/dist/api/upscaleImage.js.map +1 -0
- package/dist/api/variateImage.d.ts +102 -0
- package/dist/api/variateImage.d.ts.map +1 -0
- package/dist/api/variateImage.js +154 -0
- package/dist/api/variateImage.js.map +1 -0
- package/dist/cognitive_substrate/GMI.d.ts +16 -2
- package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMI.js +188 -56
- package/dist/cognitive_substrate/GMI.js.map +1 -1
- package/dist/cognitive_substrate/IGMI.d.ts +10 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/IGMI.js.map +1 -1
- package/dist/config/AgentOSConfig.d.ts +19 -2
- package/dist/config/AgentOSConfig.d.ts.map +1 -1
- package/dist/config/AgentOSConfig.js +46 -29
- package/dist/config/AgentOSConfig.js.map +1 -1
- package/dist/core/guardrails/IGuardrailService.d.ts +1 -1
- package/dist/core/images/IImageProvider.d.ts +93 -0
- package/dist/core/images/IImageProvider.d.ts.map +1 -1
- package/dist/core/images/IImageProvider.js.map +1 -1
- package/dist/core/images/ImageOperationError.d.ts +52 -0
- package/dist/core/images/ImageOperationError.d.ts.map +1 -0
- package/dist/core/images/ImageOperationError.js +58 -0
- package/dist/core/images/ImageOperationError.js.map +1 -0
- package/dist/core/images/imageToBuffer.d.ts +41 -0
- package/dist/core/images/imageToBuffer.d.ts.map +1 -0
- package/dist/core/images/imageToBuffer.js +95 -0
- package/dist/core/images/imageToBuffer.js.map +1 -0
- package/dist/core/images/index.d.ts +4 -0
- package/dist/core/images/index.d.ts.map +1 -1
- package/dist/core/images/index.js +8 -0
- package/dist/core/images/index.js.map +1 -1
- package/dist/core/images/providers/FalImageProvider.d.ts +208 -0
- package/dist/core/images/providers/FalImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/FalImageProvider.js +301 -0
- package/dist/core/images/providers/FalImageProvider.js.map +1 -0
- package/dist/core/images/providers/FluxImageProvider.d.ts +197 -0
- package/dist/core/images/providers/FluxImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/FluxImageProvider.js +271 -0
- package/dist/core/images/providers/FluxImageProvider.js.map +1 -0
- package/dist/core/images/providers/OpenAIImageProvider.d.ts +33 -1
- package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/OpenAIImageProvider.js +125 -0
- package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -1
- package/dist/core/images/providers/ReplicateImageProvider.d.ts +26 -1
- package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/ReplicateImageProvider.js +118 -0
- package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -1
- package/dist/core/images/providers/StabilityImageProvider.d.ts +41 -1
- package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/StabilityImageProvider.js +180 -7
- package/dist/core/images/providers/StabilityImageProvider.js.map +1 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts +29 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts.map +1 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.js +124 -0
- package/dist/core/images/providers/StableDiffusionLocalProvider.js.map +1 -1
- package/dist/core/llm/IPromptEngine.d.ts +2 -2
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
- package/dist/core/llm/IPromptEngine.js +2 -2
- package/dist/core/llm/IPromptEngine.js.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts +7 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.js +24 -0
- package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
- package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts +42 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.js +45 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +45 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.js +46 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.js +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -1
- package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OpenAIProviderError.js +1 -1
- package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OpenRouterProviderError.js +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +340 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.js +959 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +339 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.js +1004 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GroqProvider.d.ts +105 -0
- package/dist/core/llm/providers/implementations/GroqProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GroqProvider.js +134 -0
- package/dist/core/llm/providers/implementations/GroqProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts +105 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/MistralProvider.js +146 -0
- package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +107 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.js +138 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/XAIProvider.d.ts +102 -0
- package/dist/core/llm/providers/implementations/XAIProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/XAIProvider.js +123 -0
- package/dist/core/llm/providers/implementations/XAIProvider.js.map +1 -0
- package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -1
- package/dist/core/orchestration/AgentOrchestrator.js +26 -5
- package/dist/core/orchestration/AgentOrchestrator.js.map +1 -1
- package/dist/core/tools/IToolOrchestrator.d.ts +2 -2
- package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolExecutor.d.ts +3 -0
- package/dist/core/tools/ToolExecutor.d.ts.map +1 -1
- package/dist/core/tools/ToolExecutor.js +2 -1
- package/dist/core/tools/ToolExecutor.js.map +1 -1
- package/dist/core/tools/ToolOrchestrator.d.ts +7 -7
- package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.js +135 -36
- package/dist/core/tools/ToolOrchestrator.js.map +1 -1
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts +6 -5
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -1
- package/dist/core/tools/permissions/ToolPermissionManager.js +47 -21
- package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -1
- package/dist/core/vision/VisionPipeline.d.ts +437 -0
- package/dist/core/vision/VisionPipeline.d.ts.map +1 -0
- package/dist/core/vision/VisionPipeline.js +1113 -0
- package/dist/core/vision/VisionPipeline.js.map +1 -0
- package/dist/core/vision/index.d.ts +97 -0
- package/dist/core/vision/index.d.ts.map +1 -0
- package/dist/core/vision/index.js +182 -0
- package/dist/core/vision/index.js.map +1 -0
- package/dist/core/vision/providers/LLMVisionProvider.d.ts +135 -0
- package/dist/core/vision/providers/LLMVisionProvider.d.ts.map +1 -0
- package/dist/core/vision/providers/LLMVisionProvider.js +136 -0
- package/dist/core/vision/providers/LLMVisionProvider.js.map +1 -0
- package/dist/core/vision/providers/PipelineVisionProvider.d.ts +154 -0
- package/dist/core/vision/providers/PipelineVisionProvider.d.ts.map +1 -0
- package/dist/core/vision/providers/PipelineVisionProvider.js +160 -0
- package/dist/core/vision/providers/PipelineVisionProvider.js.map +1 -0
- package/dist/core/vision/types.d.ts +286 -0
- package/dist/core/vision/types.d.ts.map +1 -0
- package/dist/core/vision/types.js +24 -0
- package/dist/core/vision/types.js.map +1 -0
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
- package/dist/emergent/ComposableToolBuilder.d.ts +15 -4
- package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -1
- package/dist/emergent/ComposableToolBuilder.js +29 -14
- package/dist/emergent/ComposableToolBuilder.js.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.d.ts +3 -3
- package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.js +15 -12
- package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/emergent/EmergentJudge.d.ts +20 -0
- package/dist/emergent/EmergentJudge.d.ts.map +1 -1
- package/dist/emergent/EmergentJudge.js +121 -26
- package/dist/emergent/EmergentJudge.js.map +1 -1
- package/dist/emergent/EmergentToolRegistry.d.ts +17 -0
- package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -1
- package/dist/emergent/EmergentToolRegistry.js +26 -0
- package/dist/emergent/EmergentToolRegistry.js.map +1 -1
- package/dist/emergent/ForgeToolMetaTool.d.ts +1 -1
- package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -1
- package/dist/emergent/ForgeToolMetaTool.js +15 -2
- package/dist/emergent/ForgeToolMetaTool.js.map +1 -1
- package/dist/emergent/SandboxedToolForge.d.ts +2 -2
- package/dist/emergent/SandboxedToolForge.d.ts.map +1 -1
- package/dist/emergent/SandboxedToolForge.js +13 -23
- package/dist/emergent/SandboxedToolForge.js.map +1 -1
- package/dist/emergent/SkillExporter.d.ts +119 -0
- package/dist/emergent/SkillExporter.d.ts.map +1 -0
- package/dist/emergent/SkillExporter.js +344 -0
- package/dist/emergent/SkillExporter.js.map +1 -0
- package/dist/emergent/index.d.ts +1 -0
- package/dist/emergent/index.d.ts.map +1 -1
- package/dist/emergent/index.js +1 -0
- package/dist/emergent/index.js.map +1 -1
- package/dist/emergent/types.d.ts +4 -4
- package/dist/index.d.ts +30 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/memory/facade/Memory.d.ts.map +1 -1
- package/dist/memory/facade/Memory.js +8 -0
- package/dist/memory/facade/Memory.js.map +1 -1
- package/dist/memory/facade/types.d.ts +10 -0
- package/dist/memory/facade/types.d.ts.map +1 -1
- package/dist/memory/index.d.ts +15 -7
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +7 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/ingestion/DoclingLoader.d.ts +3 -3
- package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/DoclingLoader.js +12 -8
- package/dist/memory/ingestion/DoclingLoader.js.map +1 -1
- package/dist/memory/ingestion/FolderScanner.d.ts +7 -7
- package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -1
- package/dist/memory/ingestion/FolderScanner.js +6 -6
- package/dist/memory/ingestion/FolderScanner.js.map +1 -1
- package/dist/memory/ingestion/LoaderRegistry.d.ts +8 -8
- package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -1
- package/dist/memory/ingestion/LoaderRegistry.js +9 -11
- package/dist/memory/ingestion/LoaderRegistry.js.map +1 -1
- package/dist/memory/ingestion/MultimodalAggregator.d.ts +1 -1
- package/dist/memory/ingestion/MultimodalAggregator.js +1 -1
- package/dist/memory/ingestion/OcrPdfLoader.d.ts +2 -2
- package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/OcrPdfLoader.js +12 -8
- package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -1
- package/dist/memory/ingestion/PdfLoader.d.ts +8 -8
- package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/PdfLoader.js +13 -10
- package/dist/memory/ingestion/PdfLoader.js.map +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownExporter.js +1 -1
- package/dist/memory/io/MarkdownExporter.js.map +1 -1
- package/dist/memory/observation/MemoryObserver.d.ts +63 -1
- package/dist/memory/observation/MemoryObserver.d.ts.map +1 -1
- package/dist/memory/observation/MemoryObserver.js +115 -4
- package/dist/memory/observation/MemoryObserver.js.map +1 -1
- package/dist/memory/observation/ObservationCompressor.d.ts +88 -0
- package/dist/memory/observation/ObservationCompressor.d.ts.map +1 -0
- package/dist/memory/observation/ObservationCompressor.js +207 -0
- package/dist/memory/observation/ObservationCompressor.js.map +1 -0
- package/dist/memory/observation/ObservationReflector.d.ts +82 -0
- package/dist/memory/observation/ObservationReflector.d.ts.map +1 -0
- package/dist/memory/observation/ObservationReflector.js +212 -0
- package/dist/memory/observation/ObservationReflector.js.map +1 -0
- package/dist/memory/observation/temporal.d.ts +54 -0
- package/dist/memory/observation/temporal.d.ts.map +1 -0
- package/dist/memory/observation/temporal.js +115 -0
- package/dist/memory/observation/temporal.js.map +1 -0
- package/dist/memory/tools/MemoryAddTool.d.ts +2 -2
- package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryAddTool.js +8 -3
- package/dist/memory/tools/MemoryAddTool.js.map +1 -1
- package/dist/memory/tools/MemorySearchTool.d.ts +3 -3
- package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -1
- package/dist/memory/tools/MemorySearchTool.js +11 -9
- package/dist/memory/tools/MemorySearchTool.js.map +1 -1
- package/dist/memory/tools/scopeContext.d.ts +11 -0
- package/dist/memory/tools/scopeContext.d.ts.map +1 -0
- package/dist/memory/tools/scopeContext.js +46 -0
- package/dist/memory/tools/scopeContext.js.map +1 -0
- package/dist/orchestration/builders/AgentGraph.d.ts +12 -11
- package/dist/orchestration/builders/AgentGraph.d.ts.map +1 -1
- package/dist/orchestration/builders/AgentGraph.js +12 -11
- package/dist/orchestration/builders/AgentGraph.js.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +82 -25
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.js +86 -26
- package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +7 -54
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -56
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
- package/dist/orchestration/events/GraphEvent.d.ts +67 -5
- package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
- package/dist/orchestration/events/GraphEvent.js.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.js +151 -1
- package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
- package/dist/orchestration/runtime/LoopController.d.ts +3 -3
- package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
- package/dist/orchestration/runtime/LoopController.js.map +1 -1
- package/dist/orchestration/runtime/StateManager.d.ts +3 -3
- package/dist/orchestration/runtime/StateManager.js +3 -3
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +103 -26
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.js +155 -43
- package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +95 -33
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.js +83 -29
- package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +73 -20
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.js +84 -23
- package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -1
- package/dist/query-router/KeywordFallback.d.ts +70 -0
- package/dist/query-router/KeywordFallback.d.ts.map +1 -0
- package/dist/query-router/KeywordFallback.js +132 -0
- package/dist/query-router/KeywordFallback.js.map +1 -0
- package/dist/query-router/QueryClassifier.d.ts +140 -0
- package/dist/query-router/QueryClassifier.d.ts.map +1 -0
- package/dist/query-router/QueryClassifier.js +223 -0
- package/dist/query-router/QueryClassifier.js.map +1 -0
- package/dist/query-router/QueryDispatcher.d.ts +139 -0
- package/dist/query-router/QueryDispatcher.d.ts.map +1 -0
- package/dist/query-router/QueryDispatcher.js +297 -0
- package/dist/query-router/QueryDispatcher.js.map +1 -0
- package/dist/query-router/QueryGenerator.d.ts +184 -0
- package/dist/query-router/QueryGenerator.d.ts.map +1 -0
- package/dist/query-router/QueryGenerator.js +241 -0
- package/dist/query-router/QueryGenerator.js.map +1 -0
- package/dist/query-router/QueryRouter.d.ts +292 -0
- package/dist/query-router/QueryRouter.d.ts.map +1 -0
- package/dist/query-router/QueryRouter.js +803 -0
- package/dist/query-router/QueryRouter.js.map +1 -0
- package/dist/query-router/TopicExtractor.d.ts +73 -0
- package/dist/query-router/TopicExtractor.d.ts.map +1 -0
- package/dist/query-router/TopicExtractor.js +95 -0
- package/dist/query-router/TopicExtractor.js.map +1 -0
- package/dist/query-router/index.d.ts +40 -0
- package/dist/query-router/index.d.ts.map +1 -0
- package/dist/query-router/index.js +46 -0
- package/dist/query-router/index.js.map +1 -0
- package/dist/query-router/types.d.ts +508 -0
- package/dist/query-router/types.d.ts.map +1 -0
- package/dist/query-router/types.js +39 -0
- package/dist/query-router/types.js.map +1 -0
- package/dist/rag/index.d.ts +5 -0
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +7 -0
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/multimodal/LLMVisionAdapter.d.ts +43 -0
- package/dist/rag/multimodal/LLMVisionAdapter.d.ts.map +1 -0
- package/dist/rag/multimodal/LLMVisionAdapter.js +46 -0
- package/dist/rag/multimodal/LLMVisionAdapter.js.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts +244 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.js +411 -0
- package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts +448 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts.map +1 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.js +941 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.js.map +1 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.d.ts +139 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.d.ts.map +1 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.js +143 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.js.map +1 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts +172 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts.map +1 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js +152 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js.map +1 -0
- package/dist/rag/multimodal/index.d.ts +44 -0
- package/dist/rag/multimodal/index.d.ts.map +1 -0
- package/dist/rag/multimodal/index.js +42 -0
- package/dist/rag/multimodal/index.js.map +1 -0
- package/dist/rag/multimodal/types.d.ts +276 -0
- package/dist/rag/multimodal/types.d.ts.map +1 -0
- package/dist/rag/multimodal/types.js +26 -0
- package/dist/rag/multimodal/types.js.map +1 -0
- package/dist/social-posting/SocialPostManager.d.ts +3 -3
- package/dist/social-posting/SocialPostManager.d.ts.map +1 -1
- package/dist/social-posting/SocialPostManager.js +3 -5
- package/dist/social-posting/SocialPostManager.js.map +1 -1
- package/dist/speech/FallbackProxy.d.ts +6 -6
- package/dist/speech/FallbackProxy.d.ts.map +1 -1
- package/dist/speech/FallbackProxy.js +3 -3
- package/dist/speech/FallbackProxy.js.map +1 -1
- package/dist/speech/SpeechProviderResolver.d.ts +8 -8
- package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
- package/dist/speech/SpeechProviderResolver.js +22 -11
- package/dist/speech/SpeechProviderResolver.js.map +1 -1
- package/dist/speech/SpeechRuntime.d.ts +1 -5
- package/dist/speech/SpeechRuntime.d.ts.map +1 -1
- package/dist/speech/SpeechRuntime.js +17 -9
- package/dist/speech/SpeechRuntime.js.map +1 -1
- package/dist/speech/providers/AssemblyAISTTProvider.d.ts +4 -4
- package/dist/speech/providers/AssemblyAISTTProvider.js +4 -4
- package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +3 -3
- package/dist/speech/providers/AzureSpeechTTSProvider.js +2 -2
- package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +9 -9
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +5 -5
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -1
- package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +2 -2
- package/dist/speech/providers/DeepgramBatchSTTProvider.js +2 -2
- package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +3 -3
- package/dist/speech/providers/OpenAITextToSpeechProvider.js +2 -2
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -1
- package/dist/voice/TelephonyStreamTransport.d.ts +6 -6
- package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
- package/dist/voice/TelephonyStreamTransport.js +5 -5
- package/dist/voice/TelephonyStreamTransport.js.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +4 -4
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.js +4 -4
- package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -1
- package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +3 -3
- package/dist/voice-pipeline/HardCutBargeinHandler.js +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -1
- package/dist/voice-pipeline/HeuristicEndpointDetector.js +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -1
- package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +5 -5
- package/dist/voice-pipeline/SoftFadeBargeinHandler.js +1 -1
- package/dist/voice-pipeline/VoiceInterruptError.d.ts +6 -6
- package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -1
- package/dist/voice-pipeline/VoiceInterruptError.js +4 -4
- package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +9 -9
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js +8 -8
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
- package/dist/voice-pipeline/WebRTCStreamTransport.d.ts +421 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.d.ts.map +1 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.js +573 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.js.map +1 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
- package/dist/voice-pipeline/WebSocketStreamTransport.js +5 -5
- package/dist/voice-pipeline/index.d.ts +1 -0
- package/dist/voice-pipeline/index.d.ts.map +1 -1
- package/dist/voice-pipeline/index.js +2 -0
- package/dist/voice-pipeline/index.js.map +1 -1
- package/dist/voice-pipeline/types.d.ts +43 -43
- package/dist/voice-pipeline/types.d.ts.map +1 -1
- package/package.json +19 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getImageProviderOptions, normalizeOutputFormat, parseDataUrl, } from '../IImageProvider.js';
|
|
2
|
+
import { bufferToBlobPart } from '../imageToBuffer.js';
|
|
2
3
|
export class OpenAIImageProvider {
|
|
3
4
|
constructor() {
|
|
4
5
|
this.providerId = 'openai';
|
|
@@ -98,6 +99,130 @@ export class OpenAIImageProvider {
|
|
|
98
99
|
usage: { totalImages: images.length },
|
|
99
100
|
};
|
|
100
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Edits an image using the OpenAI `/v1/images/edits` endpoint.
|
|
104
|
+
*
|
|
105
|
+
* Supports both img2img (prompt-guided transformation) and inpainting
|
|
106
|
+
* (mask-guided regional editing). The endpoint expects multipart form
|
|
107
|
+
* data with the source image and an optional mask.
|
|
108
|
+
*
|
|
109
|
+
* @param request - Edit request with source image buffer and prompt.
|
|
110
|
+
* @returns Generation result containing the edited image(s).
|
|
111
|
+
*
|
|
112
|
+
* @throws {Error} When the provider is not initialised.
|
|
113
|
+
* @throws {Error} When the API returns an HTTP error status.
|
|
114
|
+
*
|
|
115
|
+
* @see https://platform.openai.com/docs/api-reference/images/createEdit
|
|
116
|
+
*/
|
|
117
|
+
async editImage(request) {
|
|
118
|
+
if (!this.isInitialized) {
|
|
119
|
+
throw new Error('OpenAI image provider is not initialized.');
|
|
120
|
+
}
|
|
121
|
+
const formData = new FormData();
|
|
122
|
+
// OpenAI expects the image as a file-like Blob in the multipart payload.
|
|
123
|
+
formData.append('image', new Blob([bufferToBlobPart(request.image)], { type: 'image/png' }), 'image.png');
|
|
124
|
+
formData.append('prompt', request.prompt);
|
|
125
|
+
// Mask is only used for inpainting — white regions are edited.
|
|
126
|
+
if (request.mask) {
|
|
127
|
+
formData.append('mask', new Blob([bufferToBlobPart(request.mask)], { type: 'image/png' }), 'mask.png');
|
|
128
|
+
}
|
|
129
|
+
const model = request.modelId || this.defaultModelId || 'gpt-image-1';
|
|
130
|
+
formData.append('model', model);
|
|
131
|
+
if (typeof request.n === 'number')
|
|
132
|
+
formData.append('n', String(request.n));
|
|
133
|
+
if (request.size)
|
|
134
|
+
formData.append('size', request.size);
|
|
135
|
+
const headers = {
|
|
136
|
+
Authorization: `Bearer ${this.config.apiKey}`,
|
|
137
|
+
// Content-Type is NOT set manually — the browser/Node runtime sets the
|
|
138
|
+
// correct multipart boundary when FormData is used as the body.
|
|
139
|
+
};
|
|
140
|
+
if (this.config.organizationId)
|
|
141
|
+
headers['OpenAI-Organization'] = this.config.organizationId;
|
|
142
|
+
const response = await fetch(`${this.config.baseURL}/images/edits`, {
|
|
143
|
+
method: 'POST',
|
|
144
|
+
headers,
|
|
145
|
+
body: formData,
|
|
146
|
+
});
|
|
147
|
+
if (!response.ok) {
|
|
148
|
+
const errorText = await response.text();
|
|
149
|
+
throw new Error(`OpenAI image edit failed (${response.status}): ${errorText}`);
|
|
150
|
+
}
|
|
151
|
+
const json = (await response.json());
|
|
152
|
+
const images = (json.data ?? []).map((item) => {
|
|
153
|
+
if (item.b64_json) {
|
|
154
|
+
const dataUrl = `data:image/png;base64,${item.b64_json}`;
|
|
155
|
+
const parsed = parseDataUrl(dataUrl);
|
|
156
|
+
return { ...parsed, revisedPrompt: item.revised_prompt };
|
|
157
|
+
}
|
|
158
|
+
return { url: item.url, revisedPrompt: item.revised_prompt };
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
created: json.created ?? Math.floor(Date.now() / 1000),
|
|
162
|
+
modelId: model,
|
|
163
|
+
providerId: this.providerId,
|
|
164
|
+
images,
|
|
165
|
+
usage: { totalImages: images.length },
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Creates visual variations of an image using the OpenAI `/v1/images/variations` endpoint.
|
|
170
|
+
*
|
|
171
|
+
* The `variance` field in the request is not natively supported by OpenAI's
|
|
172
|
+
* variations API (there is no strength parameter), so it is currently ignored.
|
|
173
|
+
* Every call produces images with the model's default level of variation.
|
|
174
|
+
*
|
|
175
|
+
* @param request - Variation request with the source image buffer.
|
|
176
|
+
* @returns Generation result containing the variation image(s).
|
|
177
|
+
*
|
|
178
|
+
* @throws {Error} When the provider is not initialised.
|
|
179
|
+
* @throws {Error} When the API returns an HTTP error status.
|
|
180
|
+
*
|
|
181
|
+
* @see https://platform.openai.com/docs/api-reference/images/createVariation
|
|
182
|
+
*/
|
|
183
|
+
async variateImage(request) {
|
|
184
|
+
if (!this.isInitialized) {
|
|
185
|
+
throw new Error('OpenAI image provider is not initialized.');
|
|
186
|
+
}
|
|
187
|
+
const formData = new FormData();
|
|
188
|
+
formData.append('image', new Blob([bufferToBlobPart(request.image)], { type: 'image/png' }), 'image.png');
|
|
189
|
+
const model = request.modelId || this.defaultModelId || 'dall-e-2';
|
|
190
|
+
formData.append('model', model);
|
|
191
|
+
if (typeof request.n === 'number')
|
|
192
|
+
formData.append('n', String(request.n));
|
|
193
|
+
if (request.size)
|
|
194
|
+
formData.append('size', request.size);
|
|
195
|
+
const headers = {
|
|
196
|
+
Authorization: `Bearer ${this.config.apiKey}`,
|
|
197
|
+
};
|
|
198
|
+
if (this.config.organizationId)
|
|
199
|
+
headers['OpenAI-Organization'] = this.config.organizationId;
|
|
200
|
+
const response = await fetch(`${this.config.baseURL}/images/variations`, {
|
|
201
|
+
method: 'POST',
|
|
202
|
+
headers,
|
|
203
|
+
body: formData,
|
|
204
|
+
});
|
|
205
|
+
if (!response.ok) {
|
|
206
|
+
const errorText = await response.text();
|
|
207
|
+
throw new Error(`OpenAI image variation failed (${response.status}): ${errorText}`);
|
|
208
|
+
}
|
|
209
|
+
const json = (await response.json());
|
|
210
|
+
const images = (json.data ?? []).map((item) => {
|
|
211
|
+
if (item.b64_json) {
|
|
212
|
+
const dataUrl = `data:image/png;base64,${item.b64_json}`;
|
|
213
|
+
const parsed = parseDataUrl(dataUrl);
|
|
214
|
+
return { ...parsed, revisedPrompt: item.revised_prompt };
|
|
215
|
+
}
|
|
216
|
+
return { url: item.url, revisedPrompt: item.revised_prompt };
|
|
217
|
+
});
|
|
218
|
+
return {
|
|
219
|
+
created: json.created ?? Math.floor(Date.now() / 1000),
|
|
220
|
+
modelId: model,
|
|
221
|
+
providerId: this.providerId,
|
|
222
|
+
images,
|
|
223
|
+
usage: { totalImages: images.length },
|
|
224
|
+
};
|
|
225
|
+
}
|
|
101
226
|
async listAvailableModels() {
|
|
102
227
|
return [
|
|
103
228
|
{ providerId: this.providerId, modelId: 'gpt-image-1.5', displayName: 'GPT Image 1.5' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIImageProvider.js","sourceRoot":"","sources":["../../../../src/core/images/providers/OpenAIImageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EAEvB,qBAAqB,EACrB,YAAY,
|
|
1
|
+
{"version":3,"file":"OpenAIImageProvider.js","sourceRoot":"","sources":["../../../../src/core/images/providers/OpenAIImageProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type IImageProvider, type ImageGenerationRequest, type ImageGenerationResult, type ImageModelInfo } from '../IImageProvider.js';
|
|
1
|
+
import { type IImageProvider, type ImageGenerationRequest, type ImageGenerationResult, type ImageEditRequest, type ImageUpscaleRequest, type ImageModelInfo } from '../IImageProvider.js';
|
|
2
2
|
export interface ReplicateImageProviderConfig {
|
|
3
3
|
apiKey: string;
|
|
4
4
|
baseURL?: string;
|
|
@@ -11,6 +11,31 @@ export declare class ReplicateImageProvider implements IImageProvider {
|
|
|
11
11
|
private config;
|
|
12
12
|
initialize(config: Record<string, unknown>): Promise<void>;
|
|
13
13
|
generateImage(request: ImageGenerationRequest): Promise<ImageGenerationResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Edits an image using a Replicate model that supports image-to-image input.
|
|
16
|
+
*
|
|
17
|
+
* Uses `black-forest-labs/flux-fill` for inpainting (when a mask is provided)
|
|
18
|
+
* or falls back to `stability-ai/sdxl` for generic img2img transforms.
|
|
19
|
+
* The source image is passed as a base64 data URL in the model input.
|
|
20
|
+
*
|
|
21
|
+
* @param request - Edit request with source image, prompt, and optional mask.
|
|
22
|
+
* @returns Generation result with the edited image(s).
|
|
23
|
+
*
|
|
24
|
+
* @throws {Error} When the provider is not initialised or the API fails.
|
|
25
|
+
*/
|
|
26
|
+
editImage(request: ImageEditRequest): Promise<ImageGenerationResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Upscales an image using a Replicate upscaling model.
|
|
29
|
+
*
|
|
30
|
+
* Defaults to `nightmareai/real-esrgan` which supports 2x and 4x upscaling
|
|
31
|
+
* via the `scale` input parameter.
|
|
32
|
+
*
|
|
33
|
+
* @param request - Upscale request with source image and desired scale factor.
|
|
34
|
+
* @returns Generation result with the upscaled image.
|
|
35
|
+
*
|
|
36
|
+
* @throws {Error} When the provider is not initialised or the API fails.
|
|
37
|
+
*/
|
|
38
|
+
upscaleImage(request: ImageUpscaleRequest): Promise<ImageGenerationResult>;
|
|
14
39
|
listAvailableModels(): Promise<ImageModelInfo[]>;
|
|
15
40
|
private createPrediction;
|
|
16
41
|
private pollPrediction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicateImageProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/images/providers/ReplicateImageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsDD,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,SAAgB,UAAU,eAAe;IAClC,aAAa,UAAS;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,MAAM,CAAyF;IAEjG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ReplicateImageProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/images/providers/ReplicateImageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsDD,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,SAAgB,UAAU,eAAe;IAClC,aAAa,UAAS;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,MAAM,CAAyF;IAEjG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6EpF;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqE1E;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoD1E,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAQxC,gBAAgB;YAmBhB,cAAc;CAyB7B"}
|
|
@@ -130,6 +130,124 @@ export class ReplicateImageProvider {
|
|
|
130
130
|
},
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Edits an image using a Replicate model that supports image-to-image input.
|
|
135
|
+
*
|
|
136
|
+
* Uses `black-forest-labs/flux-fill` for inpainting (when a mask is provided)
|
|
137
|
+
* or falls back to `stability-ai/sdxl` for generic img2img transforms.
|
|
138
|
+
* The source image is passed as a base64 data URL in the model input.
|
|
139
|
+
*
|
|
140
|
+
* @param request - Edit request with source image, prompt, and optional mask.
|
|
141
|
+
* @returns Generation result with the edited image(s).
|
|
142
|
+
*
|
|
143
|
+
* @throws {Error} When the provider is not initialised or the API fails.
|
|
144
|
+
*/
|
|
145
|
+
async editImage(request) {
|
|
146
|
+
if (!this.isInitialized) {
|
|
147
|
+
throw new Error('Replicate image provider is not initialized.');
|
|
148
|
+
}
|
|
149
|
+
const providerOptions = getImageProviderOptions(this.providerId, request.providerOptions);
|
|
150
|
+
// Convert image buffer to a base64 data URL that Replicate models accept.
|
|
151
|
+
const imageDataUrl = `data:image/png;base64,${request.image.toString('base64')}`;
|
|
152
|
+
const input = {
|
|
153
|
+
prompt: request.prompt,
|
|
154
|
+
image: imageDataUrl,
|
|
155
|
+
...(providerOptions?.input ?? {}),
|
|
156
|
+
};
|
|
157
|
+
// Choose the model based on whether inpainting is requested.
|
|
158
|
+
const hasInpaintingMask = !!request.mask;
|
|
159
|
+
const defaultModel = hasInpaintingMask
|
|
160
|
+
? 'black-forest-labs/flux-fill' // Flux Fill is purpose-built for inpainting.
|
|
161
|
+
: 'stability-ai/sdxl'; // SDXL supports generic img2img via image input.
|
|
162
|
+
if (hasInpaintingMask) {
|
|
163
|
+
input.mask = `data:image/png;base64,${request.mask.toString('base64')}`;
|
|
164
|
+
}
|
|
165
|
+
if (request.strength !== undefined)
|
|
166
|
+
input.strength = request.strength;
|
|
167
|
+
if (request.negativePrompt)
|
|
168
|
+
input.negative_prompt = request.negativePrompt;
|
|
169
|
+
if (request.seed !== undefined)
|
|
170
|
+
input.seed = request.seed;
|
|
171
|
+
if (request.n)
|
|
172
|
+
input.num_outputs = request.n;
|
|
173
|
+
const model = request.modelId || defaultModel;
|
|
174
|
+
const body = {
|
|
175
|
+
version: model,
|
|
176
|
+
input,
|
|
177
|
+
};
|
|
178
|
+
if (providerOptions?.extraBody)
|
|
179
|
+
Object.assign(body, providerOptions.extraBody);
|
|
180
|
+
const waitSeconds = providerOptions?.wait ?? 60;
|
|
181
|
+
let prediction = await this.createPrediction(body, waitSeconds);
|
|
182
|
+
if (prediction.status
|
|
183
|
+
&& !['succeeded', 'failed', 'canceled'].includes(prediction.status)
|
|
184
|
+
&& prediction.urls?.get) {
|
|
185
|
+
prediction = await this.pollPrediction(prediction.urls.get, 60000, 1000);
|
|
186
|
+
}
|
|
187
|
+
if (prediction.status === 'failed') {
|
|
188
|
+
throw new Error(`Replicate image edit failed: ${prediction.error ?? 'unknown error'}`);
|
|
189
|
+
}
|
|
190
|
+
const images = normalizeReplicateOutput(prediction.output);
|
|
191
|
+
if (images.length === 0) {
|
|
192
|
+
throw new Error('Replicate edit returned no image output.');
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
created: Math.floor(Date.now() / 1000),
|
|
196
|
+
modelId: model,
|
|
197
|
+
providerId: this.providerId,
|
|
198
|
+
images,
|
|
199
|
+
usage: { totalImages: images.length },
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Upscales an image using a Replicate upscaling model.
|
|
204
|
+
*
|
|
205
|
+
* Defaults to `nightmareai/real-esrgan` which supports 2x and 4x upscaling
|
|
206
|
+
* via the `scale` input parameter.
|
|
207
|
+
*
|
|
208
|
+
* @param request - Upscale request with source image and desired scale factor.
|
|
209
|
+
* @returns Generation result with the upscaled image.
|
|
210
|
+
*
|
|
211
|
+
* @throws {Error} When the provider is not initialised or the API fails.
|
|
212
|
+
*/
|
|
213
|
+
async upscaleImage(request) {
|
|
214
|
+
if (!this.isInitialized) {
|
|
215
|
+
throw new Error('Replicate image provider is not initialized.');
|
|
216
|
+
}
|
|
217
|
+
const providerOptions = getImageProviderOptions(this.providerId, request.providerOptions);
|
|
218
|
+
const imageDataUrl = `data:image/png;base64,${request.image.toString('base64')}`;
|
|
219
|
+
const input = {
|
|
220
|
+
image: imageDataUrl,
|
|
221
|
+
scale: request.scale ?? 2,
|
|
222
|
+
...(providerOptions?.input ?? {}),
|
|
223
|
+
};
|
|
224
|
+
const model = request.modelId || 'nightmareai/real-esrgan';
|
|
225
|
+
const body = {
|
|
226
|
+
version: model,
|
|
227
|
+
input,
|
|
228
|
+
};
|
|
229
|
+
const waitSeconds = providerOptions?.wait ?? 60;
|
|
230
|
+
let prediction = await this.createPrediction(body, waitSeconds);
|
|
231
|
+
if (prediction.status
|
|
232
|
+
&& !['succeeded', 'failed', 'canceled'].includes(prediction.status)
|
|
233
|
+
&& prediction.urls?.get) {
|
|
234
|
+
prediction = await this.pollPrediction(prediction.urls.get, 60000, 1000);
|
|
235
|
+
}
|
|
236
|
+
if (prediction.status === 'failed') {
|
|
237
|
+
throw new Error(`Replicate image upscale failed: ${prediction.error ?? 'unknown error'}`);
|
|
238
|
+
}
|
|
239
|
+
const images = normalizeReplicateOutput(prediction.output);
|
|
240
|
+
if (images.length === 0) {
|
|
241
|
+
throw new Error('Replicate upscale returned no image output.');
|
|
242
|
+
}
|
|
243
|
+
return {
|
|
244
|
+
created: Math.floor(Date.now() / 1000),
|
|
245
|
+
modelId: model,
|
|
246
|
+
providerId: this.providerId,
|
|
247
|
+
images,
|
|
248
|
+
usage: { totalImages: images.length },
|
|
249
|
+
};
|
|
250
|
+
}
|
|
133
251
|
async listAvailableModels() {
|
|
134
252
|
return [
|
|
135
253
|
{ providerId: this.providerId, modelId: 'black-forest-labs/flux-schnell', displayName: 'Flux Schnell' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicateImageProvider.js","sourceRoot":"","sources":["../../../../src/core/images/providers/ReplicateImageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,EAKZ,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAoB9B,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAe;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,MAAM;gBACT,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;aACtE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,IAA+B,CAAC;YAClD,MAAM,KAAK,GACT,CAAC,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC;mBACjD,CAAC,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC;mBACpD,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,MAAM;gBACT,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;gBACrE,gBAAgB,EAAE,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,sBAAsB;IAAnC;QACkB,eAAU,GAAG,WAAW,CAAC;QAClC,kBAAa,GAAG,KAAK,CAAC;IA2J/B,CAAC;IAtJC,KAAK,CAAC,UAAU,CAAC,MAA+B;QAC9C,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM;YACN,OAAO,EACL,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACzD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvB,CAAC,CAAC,8BAA8B;YACpC,cAAc,EACZ,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;gBACvE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC9B,CAAC,CAAC,gCAAgC;SACvC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA+B;QACjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,eAAe,GAAG,uBAAuB,CAC7C,IAAI,CAAC,UAAU,EACf,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,MAAM,KAAK,GAA4B;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;SAClC,CAAC;QAEF,MAAM,WAAW,GAAG,eAAe,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClH,IAAI,WAAW,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;QACtF,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;QAChF,IAAI,eAAe,EAAE,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC;QAC9F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACtF,IAAI,eAAe,EAAE,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAC3E,IAAI,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;YAAE,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAClH,IAAI,eAAe,EAAE,cAAc,KAAK,SAAS;YAAE,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC,cAAc,CAAC;QAC1G,IAAI,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9D,KAAK,CAAC,aAAa,GAAG,qBAAqB,CAAC,eAAe,EAAE,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,eAAe,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YAChD,KAAK,CAAC,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,eAAe,EAAE,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC,aAAa,CAAC;QACvG,IAAI,eAAe,EAAE,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACxD,KAAK,CAAC,sBAAsB,GAAG,eAAe,CAAC,oBAAoB,CAAC;QACtE,CAAC;QACD,IAAI,eAAe,EAAE,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC;QAClF,IAAI,eAAe,EAAE,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;QAE7F,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,IAAI,gCAAgC;YACnF,KAAK;SACN,CAAC;QACF,IAAI,eAAe,EAAE,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACrE,IAAI,eAAe,EAAE,mBAAmB;YAAE,IAAI,CAAC,qBAAqB,GAAG,eAAe,CAAC,mBAAmB,CAAC;QAC3G,IAAI,eAAe,EAAE,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QAE/E,MAAM,WAAW,GAAG,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC;QAChD,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEhE,IACE,UAAU,CAAC,MAAM;eACd,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;eAChE,UAAU,CAAC,IAAI,EAAE,GAAG,EACvB,CAAC;YACD,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAM,EAAE,IAAK,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM;YACN,KAAK,EAAE;gBACL,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO;YACL,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,cAAc,EAAE;YACvG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,UAAU,EAAE;YAC/F,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,UAAU,EAAE;SAChG,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAA6B,EAAE,WAAmB;QAC/E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,cAAc,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5C,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,QAAQ,WAAW,EAAE;aAC9B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,SAAiB,EAAE,cAAsB;QACjF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;iBAC7C;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;YAC5F,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1F,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"ReplicateImageProvider.js","sourceRoot":"","sources":["../../../../src/core/images/providers/ReplicateImageProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type IImageProvider, type ImageGenerationRequest, type ImageGenerationResult, type ImageModelInfo } from '../IImageProvider.js';
|
|
1
|
+
import { type IImageProvider, type ImageGenerationRequest, type ImageGenerationResult, type ImageEditRequest, type ImageUpscaleRequest, type ImageModelInfo } from '../IImageProvider.js';
|
|
2
2
|
export interface StabilityImageProviderConfig {
|
|
3
3
|
apiKey: string;
|
|
4
4
|
baseURL?: string;
|
|
@@ -11,6 +11,46 @@ export declare class StabilityImageProvider implements IImageProvider {
|
|
|
11
11
|
private config;
|
|
12
12
|
initialize(config: Record<string, unknown>): Promise<void>;
|
|
13
13
|
generateImage(request: ImageGenerationRequest): Promise<ImageGenerationResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Edits an image using the Stability AI image-to-image endpoint.
|
|
16
|
+
*
|
|
17
|
+
* Routes to different endpoints depending on the edit mode:
|
|
18
|
+
* - `'img2img'` (default) — `/v2beta/stable-image/generate/sd3` with `image` and `strength`.
|
|
19
|
+
* - `'inpaint'` — same endpoint but additionally includes `mask_image`.
|
|
20
|
+
* - `'outpaint'` — currently treated identically to `img2img` (provider
|
|
21
|
+
* does not expose a dedicated outpainting endpoint in the v2beta surface).
|
|
22
|
+
*
|
|
23
|
+
* @param request - Edit request containing the source image, prompt, and optional mask.
|
|
24
|
+
* @returns Generation result with the edited image(s).
|
|
25
|
+
*
|
|
26
|
+
* @throws {Error} When the provider is not initialised.
|
|
27
|
+
* @throws {Error} When the Stability API returns an HTTP error status.
|
|
28
|
+
*
|
|
29
|
+
* @see https://platform.stability.ai/docs/api-reference#tag/Generate/paths/~1v2beta~1stable-image~1generate~1sd3/post
|
|
30
|
+
*/
|
|
31
|
+
editImage(request: ImageEditRequest): Promise<ImageGenerationResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Upscales an image using the Stability AI upscale endpoint.
|
|
34
|
+
*
|
|
35
|
+
* Uses `/v2beta/stable-image/upscale/conservative` which takes an image
|
|
36
|
+
* and a target width to produce a higher-resolution version.
|
|
37
|
+
*
|
|
38
|
+
* @param request - Upscale request with the source image and desired dimensions.
|
|
39
|
+
* @returns Generation result with the upscaled image.
|
|
40
|
+
*
|
|
41
|
+
* @throws {Error} When the provider is not initialised.
|
|
42
|
+
* @throws {Error} When the Stability API returns an HTTP error status.
|
|
43
|
+
*
|
|
44
|
+
* @see https://platform.stability.ai/docs/api-reference#tag/Upscale
|
|
45
|
+
*/
|
|
46
|
+
upscaleImage(request: ImageUpscaleRequest): Promise<ImageGenerationResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Parses a Stability API response into an array of {@link GeneratedImage} objects.
|
|
49
|
+
*
|
|
50
|
+
* Handles both JSON envelope responses (with `image` or `artifacts` fields)
|
|
51
|
+
* and raw binary responses (identified by non-JSON content types).
|
|
52
|
+
*/
|
|
53
|
+
private parseStabilityResponse;
|
|
14
54
|
listAvailableModels(): Promise<ImageModelInfo[]>;
|
|
15
55
|
}
|
|
16
56
|
//# sourceMappingURL=StabilityImageProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StabilityImageProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/images/providers/StabilityImageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"StabilityImageProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/images/providers/StabilityImageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkGD,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,SAAgB,UAAU,eAAe;IAClC,aAAa,UAAS;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,MAAM,CACiB;IAEzB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0HpF;;;;;;;;;;;;;;;;OAgBG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA4E1E;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwDhF;;;;;OAKG;YACW,sBAAsB;IAuC9B,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CA6BvD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getImageProviderOptions, inferAspectRatioFromSize, normalizeOutputFormat, parseDataUrl, } from '../IImageProvider.js';
|
|
2
|
+
import { bufferToBlobPart } from '../imageToBuffer.js';
|
|
2
3
|
const STABILITY_ROUTE_ALIASES = {
|
|
3
4
|
core: {
|
|
4
5
|
path: '/v2beta/stable-image/generate/core',
|
|
@@ -54,10 +55,10 @@ const STABILITY_ROUTE_ALIASES = {
|
|
|
54
55
|
};
|
|
55
56
|
function resolveStabilityRoute(modelId, providerOptions) {
|
|
56
57
|
const normalizedModelId = providerOptions?.engine?.trim() || modelId.trim();
|
|
57
|
-
return STABILITY_ROUTE_ALIASES[normalizedModelId] ?? {
|
|
58
|
+
return (STABILITY_ROUTE_ALIASES[normalizedModelId] ?? {
|
|
58
59
|
path: '/v2beta/stable-image/generate/core',
|
|
59
60
|
responseModelId: normalizedModelId,
|
|
60
|
-
};
|
|
61
|
+
});
|
|
61
62
|
}
|
|
62
63
|
function appendIfDefined(formData, key, value) {
|
|
63
64
|
if (value === undefined) {
|
|
@@ -182,13 +183,185 @@ export class StabilityImageProvider {
|
|
|
182
183
|
},
|
|
183
184
|
};
|
|
184
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Edits an image using the Stability AI image-to-image endpoint.
|
|
188
|
+
*
|
|
189
|
+
* Routes to different endpoints depending on the edit mode:
|
|
190
|
+
* - `'img2img'` (default) — `/v2beta/stable-image/generate/sd3` with `image` and `strength`.
|
|
191
|
+
* - `'inpaint'` — same endpoint but additionally includes `mask_image`.
|
|
192
|
+
* - `'outpaint'` — currently treated identically to `img2img` (provider
|
|
193
|
+
* does not expose a dedicated outpainting endpoint in the v2beta surface).
|
|
194
|
+
*
|
|
195
|
+
* @param request - Edit request containing the source image, prompt, and optional mask.
|
|
196
|
+
* @returns Generation result with the edited image(s).
|
|
197
|
+
*
|
|
198
|
+
* @throws {Error} When the provider is not initialised.
|
|
199
|
+
* @throws {Error} When the Stability API returns an HTTP error status.
|
|
200
|
+
*
|
|
201
|
+
* @see https://platform.stability.ai/docs/api-reference#tag/Generate/paths/~1v2beta~1stable-image~1generate~1sd3/post
|
|
202
|
+
*/
|
|
203
|
+
async editImage(request) {
|
|
204
|
+
if (!this.isInitialized) {
|
|
205
|
+
throw new Error('Stability image provider is not initialized.');
|
|
206
|
+
}
|
|
207
|
+
const providerOptions = getImageProviderOptions(this.providerId, request.providerOptions);
|
|
208
|
+
const formData = new FormData();
|
|
209
|
+
// Source image — sent as a Blob so the multipart encoder assigns a filename.
|
|
210
|
+
formData.append('image', new Blob([bufferToBlobPart(request.image)], { type: 'image/png' }), 'image.png');
|
|
211
|
+
formData.append('prompt', request.prompt);
|
|
212
|
+
// Strength controls how much the output deviates from the source.
|
|
213
|
+
// Stability uses 0–1 with 0 meaning "keep original".
|
|
214
|
+
appendIfDefined(formData, 'strength', request.strength ?? providerOptions?.strength ?? 0.75);
|
|
215
|
+
// When a mask is provided the request is an inpainting operation.
|
|
216
|
+
if (request.mask) {
|
|
217
|
+
formData.append('mask_image', new Blob([bufferToBlobPart(request.mask)], { type: 'image/png' }), 'mask.png');
|
|
218
|
+
}
|
|
219
|
+
appendIfDefined(formData, 'negative_prompt', request.negativePrompt ?? providerOptions?.negativePrompt);
|
|
220
|
+
appendIfDefined(formData, 'seed', request.seed ?? providerOptions?.seed);
|
|
221
|
+
appendIfDefined(formData, 'output_format', normalizeOutputFormat(providerOptions?.outputFormat));
|
|
222
|
+
appendIfDefined(formData, 'cfg_scale', providerOptions?.cfgScale);
|
|
223
|
+
appendIfDefined(formData, 'steps', providerOptions?.steps);
|
|
224
|
+
const model = request.modelId || this.defaultModelId || 'sd3-medium';
|
|
225
|
+
appendIfDefined(formData, 'model', model);
|
|
226
|
+
// Use the SD3 endpoint which supports image + strength natively.
|
|
227
|
+
const response = await fetch(`${this.config.baseURL}/v2beta/stable-image/generate/sd3`, {
|
|
228
|
+
method: 'POST',
|
|
229
|
+
headers: {
|
|
230
|
+
Authorization: `Bearer ${this.config.apiKey}`,
|
|
231
|
+
Accept: 'application/json',
|
|
232
|
+
},
|
|
233
|
+
body: formData,
|
|
234
|
+
});
|
|
235
|
+
if (!response.ok) {
|
|
236
|
+
const errorText = await response.text();
|
|
237
|
+
throw new Error(`Stability image edit failed (${response.status}): ${errorText}`);
|
|
238
|
+
}
|
|
239
|
+
const images = await this.parseStabilityResponse(response, providerOptions);
|
|
240
|
+
return {
|
|
241
|
+
created: Math.floor(Date.now() / 1000),
|
|
242
|
+
modelId: model,
|
|
243
|
+
providerId: this.providerId,
|
|
244
|
+
images,
|
|
245
|
+
usage: { totalImages: images.length },
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Upscales an image using the Stability AI upscale endpoint.
|
|
250
|
+
*
|
|
251
|
+
* Uses `/v2beta/stable-image/upscale/conservative` which takes an image
|
|
252
|
+
* and a target width to produce a higher-resolution version.
|
|
253
|
+
*
|
|
254
|
+
* @param request - Upscale request with the source image and desired dimensions.
|
|
255
|
+
* @returns Generation result with the upscaled image.
|
|
256
|
+
*
|
|
257
|
+
* @throws {Error} When the provider is not initialised.
|
|
258
|
+
* @throws {Error} When the Stability API returns an HTTP error status.
|
|
259
|
+
*
|
|
260
|
+
* @see https://platform.stability.ai/docs/api-reference#tag/Upscale
|
|
261
|
+
*/
|
|
262
|
+
async upscaleImage(request) {
|
|
263
|
+
if (!this.isInitialized) {
|
|
264
|
+
throw new Error('Stability image provider is not initialized.');
|
|
265
|
+
}
|
|
266
|
+
const providerOptions = getImageProviderOptions(this.providerId, request.providerOptions);
|
|
267
|
+
const formData = new FormData();
|
|
268
|
+
formData.append('image', new Blob([bufferToBlobPart(request.image)], { type: 'image/png' }), 'image.png');
|
|
269
|
+
// Stability's upscale endpoint accepts a target `width`.
|
|
270
|
+
// Derive from explicit width, or scale factor applied to a default 512px base.
|
|
271
|
+
const targetWidth = request.width ?? (request.scale ? 512 * request.scale : 2048);
|
|
272
|
+
appendIfDefined(formData, 'width', targetWidth);
|
|
273
|
+
if (request.height)
|
|
274
|
+
appendIfDefined(formData, 'height', request.height);
|
|
275
|
+
appendIfDefined(formData, 'output_format', normalizeOutputFormat(providerOptions?.outputFormat));
|
|
276
|
+
const response = await fetch(`${this.config.baseURL}/v2beta/stable-image/upscale/conservative`, {
|
|
277
|
+
method: 'POST',
|
|
278
|
+
headers: {
|
|
279
|
+
Authorization: `Bearer ${this.config.apiKey}`,
|
|
280
|
+
Accept: 'application/json',
|
|
281
|
+
},
|
|
282
|
+
body: formData,
|
|
283
|
+
});
|
|
284
|
+
if (!response.ok) {
|
|
285
|
+
const errorText = await response.text();
|
|
286
|
+
throw new Error(`Stability image upscale failed (${response.status}): ${errorText}`);
|
|
287
|
+
}
|
|
288
|
+
const images = await this.parseStabilityResponse(response, providerOptions);
|
|
289
|
+
return {
|
|
290
|
+
created: Math.floor(Date.now() / 1000),
|
|
291
|
+
modelId: 'stable-image-upscale',
|
|
292
|
+
providerId: this.providerId,
|
|
293
|
+
images,
|
|
294
|
+
usage: { totalImages: images.length },
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Parses a Stability API response into an array of {@link GeneratedImage} objects.
|
|
299
|
+
*
|
|
300
|
+
* Handles both JSON envelope responses (with `image` or `artifacts` fields)
|
|
301
|
+
* and raw binary responses (identified by non-JSON content types).
|
|
302
|
+
*/
|
|
303
|
+
async parseStabilityResponse(response, providerOptions) {
|
|
304
|
+
const contentType = response.headers.get('content-type') ?? '';
|
|
305
|
+
const images = [];
|
|
306
|
+
if (contentType.includes('application/json')) {
|
|
307
|
+
const json = (await response.json());
|
|
308
|
+
if (json.image) {
|
|
309
|
+
const mimeType = `image/${normalizeOutputFormat(providerOptions?.outputFormat) ?? 'png'}`;
|
|
310
|
+
images.push({
|
|
311
|
+
mimeType,
|
|
312
|
+
base64: json.image,
|
|
313
|
+
dataUrl: `data:${mimeType};base64,${json.image}`,
|
|
314
|
+
providerMetadata: { seed: json.seed, finishReason: json.finish_reason },
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
for (const artifact of json.artifacts ?? []) {
|
|
318
|
+
if (!artifact.base64)
|
|
319
|
+
continue;
|
|
320
|
+
const mimeType = `image/${normalizeOutputFormat(providerOptions?.outputFormat) ?? 'png'}`;
|
|
321
|
+
images.push({
|
|
322
|
+
mimeType,
|
|
323
|
+
base64: artifact.base64,
|
|
324
|
+
dataUrl: `data:${mimeType};base64,${artifact.base64}`,
|
|
325
|
+
providerMetadata: { seed: artifact.seed, finishReason: artifact.finishReason },
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
const buffer = Buffer.from(await response.arrayBuffer());
|
|
331
|
+
const mimeType = contentType || 'image/png';
|
|
332
|
+
const base64 = buffer.toString('base64');
|
|
333
|
+
const parsed = parseDataUrl(`data:${mimeType};base64,${base64}`);
|
|
334
|
+
images.push(parsed);
|
|
335
|
+
}
|
|
336
|
+
return images;
|
|
337
|
+
}
|
|
185
338
|
async listAvailableModels() {
|
|
186
339
|
return [
|
|
187
|
-
{
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
340
|
+
{
|
|
341
|
+
providerId: this.providerId,
|
|
342
|
+
modelId: 'stable-image-core',
|
|
343
|
+
displayName: 'Stable Image Core',
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
providerId: this.providerId,
|
|
347
|
+
modelId: 'stable-image-ultra',
|
|
348
|
+
displayName: 'Stable Image Ultra',
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
providerId: this.providerId,
|
|
352
|
+
modelId: 'sd3-medium',
|
|
353
|
+
displayName: 'Stable Diffusion 3 Medium',
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
providerId: this.providerId,
|
|
357
|
+
modelId: 'sd3-large',
|
|
358
|
+
displayName: 'Stable Diffusion 3 Large',
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
providerId: this.providerId,
|
|
362
|
+
modelId: 'sd3-large-turbo',
|
|
363
|
+
displayName: 'Stable Diffusion 3 Large Turbo',
|
|
364
|
+
},
|
|
192
365
|
];
|
|
193
366
|
}
|
|
194
367
|
}
|