@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":"agentExport.js","sourceRoot":"","sources":["../../src/api/agentExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { GeneratedImage, ImageEditMode, ImageProviderOptionBag } from '../core/images/IImageProvider.js';
|
|
2
|
+
import { type AgentOSUsageLedgerOptions } from './usageLedger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Options for an {@link editImage} call.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const result = await editImage({
|
|
9
|
+
* provider: 'openai',
|
|
10
|
+
* image: 'data:image/png;base64,...',
|
|
11
|
+
* prompt: 'Add a rainbow in the sky.',
|
|
12
|
+
* mode: 'img2img',
|
|
13
|
+
* strength: 0.6,
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export interface EditImageOptions {
|
|
18
|
+
/**
|
|
19
|
+
* Provider name (e.g. `"openai"`, `"stability"`, `"stable-diffusion-local"`).
|
|
20
|
+
* When omitted, auto-detection via env vars is attempted.
|
|
21
|
+
*/
|
|
22
|
+
provider?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Model in `provider:model` format (legacy) or plain model name when `provider` is set.
|
|
25
|
+
* @example `"openai:gpt-image-1"`, `"stability:sd3-medium"`
|
|
26
|
+
*/
|
|
27
|
+
model?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Source image as a base64 data URL, raw base64 string, `Buffer`,
|
|
30
|
+
* local file path, or HTTP/HTTPS URL.
|
|
31
|
+
*/
|
|
32
|
+
image: string | Buffer;
|
|
33
|
+
/** Text prompt describing the desired changes. */
|
|
34
|
+
prompt: string;
|
|
35
|
+
/**
|
|
36
|
+
* Optional mask for inpainting. White pixels mark regions to be edited;
|
|
37
|
+
* black pixels mark regions to keep. Accepts the same formats as `image`.
|
|
38
|
+
*/
|
|
39
|
+
mask?: string | Buffer;
|
|
40
|
+
/**
|
|
41
|
+
* Edit mode.
|
|
42
|
+
* - `'img2img'` (default) — prompt-guided transformation.
|
|
43
|
+
* - `'inpaint'` — mask-guided regional editing.
|
|
44
|
+
* - `'outpaint'` — extend image borders.
|
|
45
|
+
*/
|
|
46
|
+
mode?: ImageEditMode;
|
|
47
|
+
/**
|
|
48
|
+
* How much to deviate from the source image.
|
|
49
|
+
* `0` = identical, `1` = completely new. Default `0.75`.
|
|
50
|
+
*/
|
|
51
|
+
strength?: number;
|
|
52
|
+
/** Negative prompt describing content to avoid. */
|
|
53
|
+
negativePrompt?: string;
|
|
54
|
+
/** Output size (e.g. `"1024x1024"`). */
|
|
55
|
+
size?: string;
|
|
56
|
+
/** Seed for reproducibility (provider-dependent support). */
|
|
57
|
+
seed?: number;
|
|
58
|
+
/** Number of output images. */
|
|
59
|
+
n?: number;
|
|
60
|
+
/** Override the provider API key instead of reading from env vars. */
|
|
61
|
+
apiKey?: string;
|
|
62
|
+
/** Override the provider base URL. */
|
|
63
|
+
baseUrl?: string;
|
|
64
|
+
/** Arbitrary provider-specific options. */
|
|
65
|
+
providerOptions?: ImageProviderOptionBag | Record<string, unknown>;
|
|
66
|
+
/** Optional usage ledger configuration. */
|
|
67
|
+
usageLedger?: AgentOSUsageLedgerOptions;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Result returned by {@link editImage}.
|
|
71
|
+
*/
|
|
72
|
+
export interface EditImageResult {
|
|
73
|
+
/** Array of edited image objects containing URLs or base64 data. */
|
|
74
|
+
images: GeneratedImage[];
|
|
75
|
+
/** Provider identifier. */
|
|
76
|
+
provider: string;
|
|
77
|
+
/** Model identifier. */
|
|
78
|
+
model: string;
|
|
79
|
+
/** Token/credit usage reported by the provider, when available. */
|
|
80
|
+
usage: {
|
|
81
|
+
costUSD?: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Edits an image using a provider-agnostic interface.
|
|
86
|
+
*
|
|
87
|
+
* Resolves credentials via `resolveMediaProvider()`, initialises the
|
|
88
|
+
* matching image provider, converts the input image to a `Buffer`, and
|
|
89
|
+
* dispatches to the provider's `editImage` method.
|
|
90
|
+
*
|
|
91
|
+
* @param opts - Image editing options.
|
|
92
|
+
* @returns A promise resolving to the edit result with image data and metadata.
|
|
93
|
+
*
|
|
94
|
+
* @throws {ImageEditNotSupportedError} When the resolved provider does not
|
|
95
|
+
* implement image editing.
|
|
96
|
+
* @throws {Error} When no provider can be determined or credentials are missing.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```ts
|
|
100
|
+
* // Img2img transformation
|
|
101
|
+
* const result = await editImage({
|
|
102
|
+
* provider: 'stability',
|
|
103
|
+
* image: fs.readFileSync('landscape.png'),
|
|
104
|
+
* prompt: 'Convert the daytime scene to a starry night.',
|
|
105
|
+
* strength: 0.7,
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* // Inpainting with mask
|
|
109
|
+
* const inpainted = await editImage({
|
|
110
|
+
* provider: 'openai',
|
|
111
|
+
* image: 'data:image/png;base64,...',
|
|
112
|
+
* mask: 'data:image/png;base64,...',
|
|
113
|
+
* prompt: 'Replace the sky with aurora borealis.',
|
|
114
|
+
* mode: 'inpaint',
|
|
115
|
+
* });
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare function editImage(opts: EditImageOptions): Promise<EditImageResult>;
|
|
119
|
+
//# sourceMappingURL=editImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editImage.d.ts","sourceRoot":"","sources":["../../src/api/editImage.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAOtF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,2CAA2C;IAC3C,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiGhF"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file editImage.ts
|
|
3
|
+
* Provider-agnostic image editing for the AgentOS high-level API.
|
|
4
|
+
*
|
|
5
|
+
* Supports three editing modes:
|
|
6
|
+
* - **img2img** — Prompt-guided transformation of a source image, controlled by a
|
|
7
|
+
* `strength` parameter (0 = keep original, 1 = completely redrawn).
|
|
8
|
+
* - **inpaint** — Mask-guided regional editing where white mask regions are
|
|
9
|
+
* repainted according to the prompt while black regions are preserved.
|
|
10
|
+
* - **outpaint** — Extends an image beyond its original borders (provider support varies).
|
|
11
|
+
*
|
|
12
|
+
* Routing and credential resolution follow the same `provider:model` pattern
|
|
13
|
+
* established by {@link generateImage}.
|
|
14
|
+
*/
|
|
15
|
+
import { createImageProvider } from '../core/images/index.js';
|
|
16
|
+
import { ImageEditNotSupportedError } from '../core/images/ImageOperationError.js';
|
|
17
|
+
import { imageToBuffer } from '../core/images/imageToBuffer.js';
|
|
18
|
+
import { resolveModelOption, resolveMediaProvider } from './model.js';
|
|
19
|
+
import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
|
|
20
|
+
import { recordAgentOSUsage } from './usageLedger.js';
|
|
21
|
+
import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability/otel.js';
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Implementation
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
/**
|
|
26
|
+
* Edits an image using a provider-agnostic interface.
|
|
27
|
+
*
|
|
28
|
+
* Resolves credentials via `resolveMediaProvider()`, initialises the
|
|
29
|
+
* matching image provider, converts the input image to a `Buffer`, and
|
|
30
|
+
* dispatches to the provider's `editImage` method.
|
|
31
|
+
*
|
|
32
|
+
* @param opts - Image editing options.
|
|
33
|
+
* @returns A promise resolving to the edit result with image data and metadata.
|
|
34
|
+
*
|
|
35
|
+
* @throws {ImageEditNotSupportedError} When the resolved provider does not
|
|
36
|
+
* implement image editing.
|
|
37
|
+
* @throws {Error} When no provider can be determined or credentials are missing.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* // Img2img transformation
|
|
42
|
+
* const result = await editImage({
|
|
43
|
+
* provider: 'stability',
|
|
44
|
+
* image: fs.readFileSync('landscape.png'),
|
|
45
|
+
* prompt: 'Convert the daytime scene to a starry night.',
|
|
46
|
+
* strength: 0.7,
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
* // Inpainting with mask
|
|
50
|
+
* const inpainted = await editImage({
|
|
51
|
+
* provider: 'openai',
|
|
52
|
+
* image: 'data:image/png;base64,...',
|
|
53
|
+
* mask: 'data:image/png;base64,...',
|
|
54
|
+
* prompt: 'Replace the sky with aurora borealis.',
|
|
55
|
+
* mode: 'inpaint',
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export async function editImage(opts) {
|
|
60
|
+
const startedAt = Date.now();
|
|
61
|
+
let metricStatus = 'ok';
|
|
62
|
+
let metricUsage;
|
|
63
|
+
let metricProviderId;
|
|
64
|
+
let metricModelId;
|
|
65
|
+
try {
|
|
66
|
+
return await withAgentOSSpan('agentos.api.edit_image', async (span) => {
|
|
67
|
+
const { providerId, modelId } = resolveModelOption(opts, 'image');
|
|
68
|
+
const resolved = resolveMediaProvider(providerId, modelId, {
|
|
69
|
+
apiKey: opts.apiKey,
|
|
70
|
+
baseUrl: opts.baseUrl,
|
|
71
|
+
});
|
|
72
|
+
metricProviderId = resolved.providerId;
|
|
73
|
+
metricModelId = resolved.modelId;
|
|
74
|
+
span?.setAttribute('llm.provider', resolved.providerId);
|
|
75
|
+
span?.setAttribute('llm.model', resolved.modelId);
|
|
76
|
+
span?.setAttribute('agentos.api.edit_mode', opts.mode ?? 'img2img');
|
|
77
|
+
const provider = createImageProvider(resolved.providerId);
|
|
78
|
+
await provider.initialize({
|
|
79
|
+
apiKey: resolved.apiKey,
|
|
80
|
+
baseURL: resolved.baseUrl,
|
|
81
|
+
defaultModelId: resolved.modelId,
|
|
82
|
+
});
|
|
83
|
+
// Guard: the provider must implement editImage.
|
|
84
|
+
if (typeof provider.editImage !== 'function') {
|
|
85
|
+
throw new ImageEditNotSupportedError(resolved.providerId);
|
|
86
|
+
}
|
|
87
|
+
// Normalise heterogeneous image input into Buffers.
|
|
88
|
+
const imageBuffer = await imageToBuffer(opts.image);
|
|
89
|
+
const maskBuffer = opts.mask ? await imageToBuffer(opts.mask) : undefined;
|
|
90
|
+
const result = await provider.editImage({
|
|
91
|
+
modelId: resolved.modelId,
|
|
92
|
+
image: imageBuffer,
|
|
93
|
+
prompt: opts.prompt,
|
|
94
|
+
mask: maskBuffer,
|
|
95
|
+
mode: opts.mode,
|
|
96
|
+
strength: opts.strength,
|
|
97
|
+
negativePrompt: opts.negativePrompt,
|
|
98
|
+
size: opts.size,
|
|
99
|
+
seed: opts.seed,
|
|
100
|
+
n: opts.n,
|
|
101
|
+
providerOptions: opts.providerOptions,
|
|
102
|
+
});
|
|
103
|
+
metricUsage = result.usage;
|
|
104
|
+
span?.setAttribute('agentos.api.images_count', result.images.length);
|
|
105
|
+
attachUsageAttributes(span, {
|
|
106
|
+
totalCostUSD: result.usage?.totalCostUSD,
|
|
107
|
+
});
|
|
108
|
+
return {
|
|
109
|
+
images: result.images,
|
|
110
|
+
provider: result.providerId,
|
|
111
|
+
model: result.modelId,
|
|
112
|
+
usage: { costUSD: result.usage?.totalCostUSD },
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
metricStatus = 'error';
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
try {
|
|
122
|
+
await recordAgentOSUsage({
|
|
123
|
+
providerId: metricProviderId,
|
|
124
|
+
modelId: metricModelId,
|
|
125
|
+
usage: metricUsage
|
|
126
|
+
? {
|
|
127
|
+
costUSD: metricUsage.totalCostUSD,
|
|
128
|
+
}
|
|
129
|
+
: undefined,
|
|
130
|
+
options: {
|
|
131
|
+
...opts.usageLedger,
|
|
132
|
+
source: opts.usageLedger?.source ?? 'editImage',
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
// Best-effort — usage persistence must not break the edit operation.
|
|
138
|
+
}
|
|
139
|
+
recordAgentOSTurnMetrics({
|
|
140
|
+
durationMs: Date.now() - startedAt,
|
|
141
|
+
status: metricStatus,
|
|
142
|
+
usage: toTurnMetricUsage(metricUsage
|
|
143
|
+
? {
|
|
144
|
+
totalCostUSD: metricUsage.totalCostUSD,
|
|
145
|
+
}
|
|
146
|
+
: undefined),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=editImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editImage.js","sourceRoot":"","sources":["../../src/api/editImage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { type AgentOSUsageLedgerOptions } from './usageLedger.js';
|
|
2
|
+
/**
|
|
3
|
+
* Options for an {@link embedText} call.
|
|
4
|
+
*
|
|
5
|
+
* At minimum, `input` must be provided. Provider/model resolution follows
|
|
6
|
+
* the same rules as {@link generateText}: supply `provider`, `model`
|
|
7
|
+
* (optionally in `provider:model` format), or rely on env-var auto-detection.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const opts: EmbedTextOptions = {
|
|
12
|
+
* model: 'openai:text-embedding-3-small',
|
|
13
|
+
* input: ['Hello world', 'Goodbye world'],
|
|
14
|
+
* dimensions: 256,
|
|
15
|
+
* };
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export interface EmbedTextOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Provider name. When supplied without `model`, the default embedding model
|
|
21
|
+
* for the provider is resolved automatically from the built-in defaults.
|
|
22
|
+
*
|
|
23
|
+
* @example `"openai"`, `"ollama"`, `"openrouter"`
|
|
24
|
+
*/
|
|
25
|
+
provider?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Model identifier. Accepts `"provider:model"` or plain model name with `provider`.
|
|
28
|
+
*
|
|
29
|
+
* @example `"openai:text-embedding-3-small"`, `"nomic-embed-text"`
|
|
30
|
+
*/
|
|
31
|
+
model?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Text(s) to embed. Pass a single string for one embedding or an array
|
|
34
|
+
* for batch processing.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* // Single input
|
|
39
|
+
* input: 'Hello world'
|
|
40
|
+
* // Batch input
|
|
41
|
+
* input: ['Hello world', 'Goodbye world']
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
input: string | string[];
|
|
45
|
+
/**
|
|
46
|
+
* Desired output dimensionality. Only honoured by models that support
|
|
47
|
+
* dimension reduction (e.g. OpenAI `text-embedding-3-*` with `dimensions`).
|
|
48
|
+
* Ignored when the model has a fixed output size.
|
|
49
|
+
*/
|
|
50
|
+
dimensions?: number;
|
|
51
|
+
/** Override the API key instead of reading from environment variables. */
|
|
52
|
+
apiKey?: string;
|
|
53
|
+
/** Override the provider base URL (useful for local proxies or Ollama). */
|
|
54
|
+
baseUrl?: string;
|
|
55
|
+
/** Optional durable usage ledger configuration for helper-level accounting. */
|
|
56
|
+
usageLedger?: AgentOSUsageLedgerOptions;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The result returned by {@link embedText}.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const { embeddings, usage } = await embedText({
|
|
64
|
+
* model: 'openai:text-embedding-3-small',
|
|
65
|
+
* input: ['Hello', 'World'],
|
|
66
|
+
* });
|
|
67
|
+
* console.log(embeddings.length); // 2
|
|
68
|
+
* console.log(embeddings[0].length); // e.g. 1536
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export interface EmbedTextResult {
|
|
72
|
+
/**
|
|
73
|
+
* One embedding vector per input string. Each vector is a plain `number[]`
|
|
74
|
+
* of floats whose dimensionality depends on the model (and the optional
|
|
75
|
+
* `dimensions` parameter).
|
|
76
|
+
*/
|
|
77
|
+
embeddings: number[][];
|
|
78
|
+
/** Model identifier reported by the provider (may differ from the requested model). */
|
|
79
|
+
model: string;
|
|
80
|
+
/** Provider identifier used for the run. */
|
|
81
|
+
provider: string;
|
|
82
|
+
/**
|
|
83
|
+
* Token usage for the embedding request.
|
|
84
|
+
* Most embedding APIs only report prompt tokens (the input); completion
|
|
85
|
+
* tokens are typically zero.
|
|
86
|
+
*/
|
|
87
|
+
usage: {
|
|
88
|
+
/** Number of tokens consumed by the input text(s). */
|
|
89
|
+
promptTokens: number;
|
|
90
|
+
/** Sum of prompt and any other tokens (usually equal to `promptTokens`). */
|
|
91
|
+
totalTokens: number;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Generates embedding vectors for one or more text inputs using a
|
|
96
|
+
* provider-agnostic `provider:model` string.
|
|
97
|
+
*
|
|
98
|
+
* Resolves credentials via the standard AgentOS provider pipeline, then
|
|
99
|
+
* dispatches to the appropriate embedding endpoint (OpenAI, Ollama, or
|
|
100
|
+
* OpenRouter). Returns raw float arrays suitable for vector similarity
|
|
101
|
+
* search, clustering, or any downstream ML pipeline.
|
|
102
|
+
*
|
|
103
|
+
* @param opts - Embedding options including model, input text(s), and
|
|
104
|
+
* optional provider/key overrides.
|
|
105
|
+
* @returns A promise resolving to the embedding vectors, provider metadata,
|
|
106
|
+
* and token usage.
|
|
107
|
+
*
|
|
108
|
+
* @throws {Error} When provider resolution fails (missing API key, unknown
|
|
109
|
+
* provider, etc.).
|
|
110
|
+
* @throws {Error} When the embedding API returns a non-2xx status.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* import { embedText } from '@framers/agentos';
|
|
115
|
+
*
|
|
116
|
+
* // Single input
|
|
117
|
+
* const { embeddings } = await embedText({
|
|
118
|
+
* model: 'openai:text-embedding-3-small',
|
|
119
|
+
* input: 'Hello world',
|
|
120
|
+
* });
|
|
121
|
+
* console.log(embeddings[0].length); // 1536
|
|
122
|
+
*
|
|
123
|
+
* // Batch with reduced dimensions
|
|
124
|
+
* const batch = await embedText({
|
|
125
|
+
* model: 'openai:text-embedding-3-small',
|
|
126
|
+
* input: ['Hello', 'World'],
|
|
127
|
+
* dimensions: 256,
|
|
128
|
+
* });
|
|
129
|
+
* console.log(batch.embeddings.length); // 2
|
|
130
|
+
* console.log(batch.embeddings[0].length); // 256
|
|
131
|
+
* ```
|
|
132
|
+
*
|
|
133
|
+
* @see {@link generateText} for text generation.
|
|
134
|
+
* @see {@link resolveModelOption} for provider auto-detection behaviour.
|
|
135
|
+
*/
|
|
136
|
+
export declare function embedText(opts: EmbedTextOptions): Promise<EmbedTextResult>;
|
|
137
|
+
//# sourceMappingURL=embedText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedText.d.ts","sourceRoot":"","sources":["../../src/api/embedText.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAOtF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAEvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,KAAK,EAAE;QACL,sDAAsD;QACtD,YAAY,EAAE,MAAM,CAAC;QACrB,4EAA4E;QAC5E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAsID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwHhF"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file embedText.ts
|
|
3
|
+
* Provider-agnostic text embedding generation for the AgentOS high-level API.
|
|
4
|
+
*
|
|
5
|
+
* Dispatches embedding requests to OpenAI-compatible, Ollama, or OpenRouter
|
|
6
|
+
* endpoints using the same provider resolution pipeline as {@link generateText}.
|
|
7
|
+
* Supports single and batch text inputs, optional dimensionality reduction,
|
|
8
|
+
* and returns raw float vectors.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link generateText} for the text generation primitive.
|
|
11
|
+
* @see {@link resolveModelOption} for model resolution with `TaskType = 'embedding'`.
|
|
12
|
+
*/
|
|
13
|
+
import { resolveModelOption, resolveProvider } from './model.js';
|
|
14
|
+
import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
|
|
15
|
+
import { recordAgentOSUsage } from './usageLedger.js';
|
|
16
|
+
import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability/otel.js';
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Provider dispatch helpers
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
/**
|
|
21
|
+
* Calls the OpenAI-compatible `/v1/embeddings` endpoint.
|
|
22
|
+
*
|
|
23
|
+
* Works for OpenAI native, OpenRouter, and any API that follows the
|
|
24
|
+
* same request/response contract.
|
|
25
|
+
*
|
|
26
|
+
* @param baseUrl - The API base URL (e.g. `https://api.openai.com/v1`).
|
|
27
|
+
* @param apiKey - Bearer token for the Authorization header.
|
|
28
|
+
* @param modelId - The embedding model identifier.
|
|
29
|
+
* @param input - Array of strings to embed.
|
|
30
|
+
* @param dimensions - Optional dimensionality reduction hint.
|
|
31
|
+
* @returns Parsed {@link OpenAIEmbeddingResponse}.
|
|
32
|
+
* @throws {Error} On non-2xx HTTP status or network failure.
|
|
33
|
+
*/
|
|
34
|
+
async function callOpenAIEmbedding(baseUrl, apiKey, modelId, input, dimensions) {
|
|
35
|
+
// Construct the request body, omitting `dimensions` when not specified
|
|
36
|
+
// to avoid confusing models that don't support it.
|
|
37
|
+
const body = { model: modelId, input };
|
|
38
|
+
if (dimensions !== undefined) {
|
|
39
|
+
body.dimensions = dimensions;
|
|
40
|
+
}
|
|
41
|
+
const url = `${baseUrl.replace(/\/+$/, '')}/embeddings`;
|
|
42
|
+
const response = await fetch(url, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: {
|
|
45
|
+
'Content-Type': 'application/json',
|
|
46
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
47
|
+
},
|
|
48
|
+
body: JSON.stringify(body),
|
|
49
|
+
});
|
|
50
|
+
if (!response.ok) {
|
|
51
|
+
const text = await response.text().catch(() => '(no body)');
|
|
52
|
+
throw new Error(`Embedding request failed (${response.status}): ${text}`);
|
|
53
|
+
}
|
|
54
|
+
return response.json();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Calls the Ollama `/api/embed` endpoint.
|
|
58
|
+
*
|
|
59
|
+
* Ollama uses a different request shape than OpenAI: input is passed as a
|
|
60
|
+
* top-level `input` field (string or string[]), and the response has
|
|
61
|
+
* `embeddings` at the top level.
|
|
62
|
+
*
|
|
63
|
+
* @param baseUrl - The Ollama API base URL (e.g. `http://localhost:11434`).
|
|
64
|
+
* @param modelId - The Ollama model name (e.g. `nomic-embed-text`).
|
|
65
|
+
* @param input - Array of strings to embed.
|
|
66
|
+
* @returns Parsed {@link OllamaEmbedResponse}.
|
|
67
|
+
* @throws {Error} On non-2xx HTTP status or network failure.
|
|
68
|
+
*/
|
|
69
|
+
async function callOllamaEmbed(baseUrl, modelId, input) {
|
|
70
|
+
const url = `${baseUrl.replace(/\/+$/, '')}/api/embed`;
|
|
71
|
+
const response = await fetch(url, {
|
|
72
|
+
method: 'POST',
|
|
73
|
+
headers: { 'Content-Type': 'application/json' },
|
|
74
|
+
body: JSON.stringify({ model: modelId, input }),
|
|
75
|
+
});
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
const text = await response.text().catch(() => '(no body)');
|
|
78
|
+
throw new Error(`Ollama embed request failed (${response.status}): ${text}`);
|
|
79
|
+
}
|
|
80
|
+
return response.json();
|
|
81
|
+
}
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
// Main function
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
/**
|
|
86
|
+
* Generates embedding vectors for one or more text inputs using a
|
|
87
|
+
* provider-agnostic `provider:model` string.
|
|
88
|
+
*
|
|
89
|
+
* Resolves credentials via the standard AgentOS provider pipeline, then
|
|
90
|
+
* dispatches to the appropriate embedding endpoint (OpenAI, Ollama, or
|
|
91
|
+
* OpenRouter). Returns raw float arrays suitable for vector similarity
|
|
92
|
+
* search, clustering, or any downstream ML pipeline.
|
|
93
|
+
*
|
|
94
|
+
* @param opts - Embedding options including model, input text(s), and
|
|
95
|
+
* optional provider/key overrides.
|
|
96
|
+
* @returns A promise resolving to the embedding vectors, provider metadata,
|
|
97
|
+
* and token usage.
|
|
98
|
+
*
|
|
99
|
+
* @throws {Error} When provider resolution fails (missing API key, unknown
|
|
100
|
+
* provider, etc.).
|
|
101
|
+
* @throws {Error} When the embedding API returns a non-2xx status.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import { embedText } from '@framers/agentos';
|
|
106
|
+
*
|
|
107
|
+
* // Single input
|
|
108
|
+
* const { embeddings } = await embedText({
|
|
109
|
+
* model: 'openai:text-embedding-3-small',
|
|
110
|
+
* input: 'Hello world',
|
|
111
|
+
* });
|
|
112
|
+
* console.log(embeddings[0].length); // 1536
|
|
113
|
+
*
|
|
114
|
+
* // Batch with reduced dimensions
|
|
115
|
+
* const batch = await embedText({
|
|
116
|
+
* model: 'openai:text-embedding-3-small',
|
|
117
|
+
* input: ['Hello', 'World'],
|
|
118
|
+
* dimensions: 256,
|
|
119
|
+
* });
|
|
120
|
+
* console.log(batch.embeddings.length); // 2
|
|
121
|
+
* console.log(batch.embeddings[0].length); // 256
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @see {@link generateText} for text generation.
|
|
125
|
+
* @see {@link resolveModelOption} for provider auto-detection behaviour.
|
|
126
|
+
*/
|
|
127
|
+
export async function embedText(opts) {
|
|
128
|
+
const startedAt = Date.now();
|
|
129
|
+
let metricStatus = 'ok';
|
|
130
|
+
let metricProviderId;
|
|
131
|
+
let metricModelId;
|
|
132
|
+
let metricUsage;
|
|
133
|
+
try {
|
|
134
|
+
return await withAgentOSSpan('agentos.api.embed_text', async (span) => {
|
|
135
|
+
// Resolve provider/model using the 'embedding' task type so the
|
|
136
|
+
// correct default model is selected (e.g. text-embedding-3-small).
|
|
137
|
+
const { providerId, modelId } = resolveModelOption(opts, 'embedding');
|
|
138
|
+
const resolved = resolveProvider(providerId, modelId, {
|
|
139
|
+
apiKey: opts.apiKey,
|
|
140
|
+
baseUrl: opts.baseUrl,
|
|
141
|
+
});
|
|
142
|
+
metricProviderId = resolved.providerId;
|
|
143
|
+
metricModelId = resolved.modelId;
|
|
144
|
+
span?.setAttribute('llm.provider', resolved.providerId);
|
|
145
|
+
span?.setAttribute('llm.model', resolved.modelId);
|
|
146
|
+
// Normalise input to an array for uniform handling downstream
|
|
147
|
+
const inputArray = Array.isArray(opts.input) ? opts.input : [opts.input];
|
|
148
|
+
span?.setAttribute('agentos.api.embed_input_count', inputArray.length);
|
|
149
|
+
let embeddings;
|
|
150
|
+
let reportedModel;
|
|
151
|
+
let usage;
|
|
152
|
+
if (resolved.providerId === 'ollama') {
|
|
153
|
+
// Ollama uses its own /api/embed endpoint format
|
|
154
|
+
const baseUrl = resolved.baseUrl ?? 'http://localhost:11434';
|
|
155
|
+
const result = await callOllamaEmbed(baseUrl, resolved.modelId, inputArray);
|
|
156
|
+
embeddings = result.embeddings;
|
|
157
|
+
reportedModel = result.model;
|
|
158
|
+
// Ollama doesn't report token usage for embeddings
|
|
159
|
+
usage = { promptTokens: 0, totalTokens: 0 };
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// OpenAI, OpenRouter, and any OpenAI-compatible provider
|
|
163
|
+
const baseUrl = resolved.baseUrl ?? (resolved.providerId === 'openrouter'
|
|
164
|
+
? 'https://openrouter.ai/api/v1'
|
|
165
|
+
: 'https://api.openai.com/v1');
|
|
166
|
+
if (!resolved.apiKey) {
|
|
167
|
+
throw new Error(`No API key available for embedding provider "${resolved.providerId}".`);
|
|
168
|
+
}
|
|
169
|
+
const result = await callOpenAIEmbedding(baseUrl, resolved.apiKey, resolved.modelId, inputArray, opts.dimensions);
|
|
170
|
+
// Sort by index to guarantee order matches input order
|
|
171
|
+
// (the API contract already guarantees this, but defensive coding)
|
|
172
|
+
const sorted = [...result.data].sort((a, b) => a.index - b.index);
|
|
173
|
+
embeddings = sorted.map((d) => d.embedding);
|
|
174
|
+
reportedModel = result.model;
|
|
175
|
+
usage = {
|
|
176
|
+
promptTokens: result.usage.prompt_tokens,
|
|
177
|
+
totalTokens: result.usage.total_tokens,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
metricUsage = usage;
|
|
181
|
+
span?.setAttribute('agentos.api.embed_dimensions', embeddings[0]?.length ?? 0);
|
|
182
|
+
attachUsageAttributes(span, {
|
|
183
|
+
promptTokens: usage.promptTokens,
|
|
184
|
+
totalTokens: usage.totalTokens,
|
|
185
|
+
});
|
|
186
|
+
return {
|
|
187
|
+
embeddings,
|
|
188
|
+
model: reportedModel,
|
|
189
|
+
provider: resolved.providerId,
|
|
190
|
+
usage,
|
|
191
|
+
};
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
metricStatus = 'error';
|
|
196
|
+
throw error;
|
|
197
|
+
}
|
|
198
|
+
finally {
|
|
199
|
+
// Best-effort usage persistence and metrics recording
|
|
200
|
+
try {
|
|
201
|
+
await recordAgentOSUsage({
|
|
202
|
+
providerId: metricProviderId,
|
|
203
|
+
modelId: metricModelId,
|
|
204
|
+
usage: metricUsage ? {
|
|
205
|
+
promptTokens: metricUsage.promptTokens,
|
|
206
|
+
completionTokens: 0,
|
|
207
|
+
totalTokens: metricUsage.totalTokens,
|
|
208
|
+
} : undefined,
|
|
209
|
+
options: {
|
|
210
|
+
...opts.usageLedger,
|
|
211
|
+
source: opts.usageLedger?.source ?? 'embedText',
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
// Helper-level usage persistence is best-effort and should not break embedding.
|
|
217
|
+
}
|
|
218
|
+
recordAgentOSTurnMetrics({
|
|
219
|
+
durationMs: Date.now() - startedAt,
|
|
220
|
+
status: metricStatus,
|
|
221
|
+
usage: toTurnMetricUsage(metricUsage ? {
|
|
222
|
+
promptTokens: metricUsage.promptTokens,
|
|
223
|
+
completionTokens: 0,
|
|
224
|
+
totalTokens: metricUsage.totalTokens,
|
|
225
|
+
} : undefined),
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=embedText.js.map
|