@framers/agentos 0.1.112 → 0.1.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -5
- package/dist/api/AgentOS.d.ts +45 -12
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +225 -78
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/AgentOSOrchestrator.d.ts +8 -0
- package/dist/api/AgentOSOrchestrator.d.ts.map +1 -1
- package/dist/api/AgentOSOrchestrator.js +350 -59
- package/dist/api/AgentOSOrchestrator.js.map +1 -1
- package/dist/api/StreamChunkEmitter.d.ts.map +1 -1
- package/dist/api/StreamChunkEmitter.js +2 -0
- package/dist/api/StreamChunkEmitter.js.map +1 -1
- package/dist/api/agency.d.ts.map +1 -1
- package/dist/api/agency.js +47 -1
- package/dist/api/agency.js.map +1 -1
- package/dist/api/agent.d.ts +18 -5
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +48 -9
- package/dist/api/agent.js.map +1 -1
- package/dist/api/agentExport.d.ts +202 -0
- package/dist/api/agentExport.d.ts.map +1 -0
- package/dist/api/agentExport.js +323 -0
- package/dist/api/agentExport.js.map +1 -0
- package/dist/api/editImage.d.ts +119 -0
- package/dist/api/editImage.d.ts.map +1 -0
- package/dist/api/editImage.js +150 -0
- package/dist/api/editImage.js.map +1 -0
- package/dist/api/embedText.d.ts +137 -0
- package/dist/api/embedText.d.ts.map +1 -0
- package/dist/api/embedText.js +229 -0
- package/dist/api/embedText.js.map +1 -0
- package/dist/api/externalToolRegistry.d.ts +44 -0
- package/dist/api/externalToolRegistry.d.ts.map +1 -0
- package/dist/api/externalToolRegistry.js +245 -0
- package/dist/api/externalToolRegistry.js.map +1 -0
- package/dist/api/generateImage.d.ts +1 -1
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +17 -13
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateObject.d.ts +185 -0
- package/dist/api/generateObject.d.ts.map +1 -0
- package/dist/api/generateObject.js +249 -0
- package/dist/api/generateObject.js.map +1 -0
- package/dist/api/generateText.d.ts +13 -3
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +20 -5
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/interfaces/IAgentOS.d.ts +29 -1
- package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
- package/dist/api/model.d.ts +7 -7
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +22 -16
- package/dist/api/model.js.map +1 -1
- package/dist/api/processRequestWithExternalTools.d.ts +26 -0
- package/dist/api/processRequestWithExternalTools.d.ts.map +1 -0
- package/dist/api/processRequestWithExternalTools.js +52 -0
- package/dist/api/processRequestWithExternalTools.js.map +1 -0
- package/dist/api/processRequestWithRegisteredTools.d.ts +56 -0
- package/dist/api/processRequestWithRegisteredTools.d.ts.map +1 -0
- package/dist/api/processRequestWithRegisteredTools.js +125 -0
- package/dist/api/processRequestWithRegisteredTools.js.map +1 -0
- package/dist/api/provider-defaults.d.ts.map +1 -1
- package/dist/api/provider-defaults.js +28 -0
- package/dist/api/provider-defaults.js.map +1 -1
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts +71 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts.map +1 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.js +159 -0
- package/dist/api/resumeExternalToolRequestWithRegisteredTools.js.map +1 -0
- package/dist/api/strategies/agentGraphBuilder.d.ts +170 -0
- package/dist/api/strategies/agentGraphBuilder.d.ts.map +1 -0
- package/dist/api/strategies/agentGraphBuilder.js +299 -0
- package/dist/api/strategies/agentGraphBuilder.js.map +1 -0
- package/dist/api/strategies/debate.d.ts +12 -1
- package/dist/api/strategies/debate.d.ts.map +1 -1
- package/dist/api/strategies/debate.js +41 -5
- package/dist/api/strategies/debate.js.map +1 -1
- package/dist/api/strategies/graphCompiler.d.ts +84 -0
- package/dist/api/strategies/graphCompiler.d.ts.map +1 -0
- package/dist/api/strategies/graphCompiler.js +617 -0
- package/dist/api/strategies/graphCompiler.js.map +1 -0
- package/dist/api/strategies/hierarchical.d.ts +15 -1
- package/dist/api/strategies/hierarchical.d.ts.map +1 -1
- package/dist/api/strategies/hierarchical.js +53 -8
- package/dist/api/strategies/hierarchical.js.map +1 -1
- package/dist/api/strategies/index.d.ts +29 -4
- package/dist/api/strategies/index.d.ts.map +1 -1
- package/dist/api/strategies/index.js +28 -4
- package/dist/api/strategies/index.js.map +1 -1
- package/dist/api/strategies/parallel.d.ts +15 -4
- package/dist/api/strategies/parallel.d.ts.map +1 -1
- package/dist/api/strategies/parallel.js +53 -16
- package/dist/api/strategies/parallel.js.map +1 -1
- package/dist/api/strategies/review-loop.d.ts +15 -1
- package/dist/api/strategies/review-loop.d.ts.map +1 -1
- package/dist/api/strategies/review-loop.js +36 -10
- package/dist/api/strategies/review-loop.js.map +1 -1
- package/dist/api/strategies/sequential.d.ts +11 -1
- package/dist/api/strategies/sequential.d.ts.map +1 -1
- package/dist/api/strategies/sequential.js +39 -8
- package/dist/api/strategies/sequential.js.map +1 -1
- package/dist/api/strategies/shared.d.ts +72 -8
- package/dist/api/strategies/shared.d.ts.map +1 -1
- package/dist/api/strategies/shared.js +92 -12
- package/dist/api/strategies/shared.js.map +1 -1
- package/dist/api/streamObject.d.ts +166 -0
- package/dist/api/streamObject.d.ts.map +1 -0
- package/dist/api/streamObject.js +268 -0
- package/dist/api/streamObject.js.map +1 -0
- package/dist/api/streamText.d.ts +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +26 -8
- package/dist/api/streamText.js.map +1 -1
- package/dist/api/toolAdapter.d.ts +44 -8
- package/dist/api/toolAdapter.d.ts.map +1 -1
- package/dist/api/toolAdapter.js +224 -45
- package/dist/api/toolAdapter.js.map +1 -1
- package/dist/api/types/AgentOSExternalToolRequest.d.ts +35 -0
- package/dist/api/types/AgentOSExternalToolRequest.d.ts.map +1 -0
- package/dist/api/types/AgentOSExternalToolRequest.js +2 -0
- package/dist/api/types/AgentOSExternalToolRequest.js.map +1 -0
- package/dist/api/types/AgentOSResponse.d.ts +25 -0
- package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
- package/dist/api/types/AgentOSResponse.js +20 -0
- package/dist/api/types/AgentOSResponse.js.map +1 -1
- package/dist/api/types/AgentOSToolResult.d.ts +11 -0
- package/dist/api/types/AgentOSToolResult.d.ts.map +1 -0
- package/dist/api/types/AgentOSToolResult.js +2 -0
- package/dist/api/types/AgentOSToolResult.js.map +1 -0
- package/dist/api/types.d.ts +81 -4
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/upscaleImage.d.ts +92 -0
- package/dist/api/upscaleImage.d.ts.map +1 -0
- package/dist/api/upscaleImage.js +133 -0
- package/dist/api/upscaleImage.js.map +1 -0
- package/dist/api/variateImage.d.ts +102 -0
- package/dist/api/variateImage.d.ts.map +1 -0
- package/dist/api/variateImage.js +154 -0
- package/dist/api/variateImage.js.map +1 -0
- package/dist/cognitive_substrate/GMI.d.ts +16 -2
- package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMI.js +188 -56
- package/dist/cognitive_substrate/GMI.js.map +1 -1
- package/dist/cognitive_substrate/IGMI.d.ts +10 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/IGMI.js.map +1 -1
- package/dist/config/AgentOSConfig.d.ts +19 -2
- package/dist/config/AgentOSConfig.d.ts.map +1 -1
- package/dist/config/AgentOSConfig.js +46 -29
- package/dist/config/AgentOSConfig.js.map +1 -1
- package/dist/core/guardrails/IGuardrailService.d.ts +1 -1
- package/dist/core/images/IImageProvider.d.ts +93 -0
- package/dist/core/images/IImageProvider.d.ts.map +1 -1
- package/dist/core/images/IImageProvider.js.map +1 -1
- package/dist/core/images/ImageOperationError.d.ts +52 -0
- package/dist/core/images/ImageOperationError.d.ts.map +1 -0
- package/dist/core/images/ImageOperationError.js +58 -0
- package/dist/core/images/ImageOperationError.js.map +1 -0
- package/dist/core/images/imageToBuffer.d.ts +41 -0
- package/dist/core/images/imageToBuffer.d.ts.map +1 -0
- package/dist/core/images/imageToBuffer.js +95 -0
- package/dist/core/images/imageToBuffer.js.map +1 -0
- package/dist/core/images/index.d.ts +4 -0
- package/dist/core/images/index.d.ts.map +1 -1
- package/dist/core/images/index.js +8 -0
- package/dist/core/images/index.js.map +1 -1
- package/dist/core/images/providers/FalImageProvider.d.ts +208 -0
- package/dist/core/images/providers/FalImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/FalImageProvider.js +301 -0
- package/dist/core/images/providers/FalImageProvider.js.map +1 -0
- package/dist/core/images/providers/FluxImageProvider.d.ts +197 -0
- package/dist/core/images/providers/FluxImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/FluxImageProvider.js +271 -0
- package/dist/core/images/providers/FluxImageProvider.js.map +1 -0
- package/dist/core/images/providers/OpenAIImageProvider.d.ts +33 -1
- package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/OpenAIImageProvider.js +125 -0
- package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -1
- package/dist/core/images/providers/ReplicateImageProvider.d.ts +26 -1
- package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/ReplicateImageProvider.js +118 -0
- package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -1
- package/dist/core/images/providers/StabilityImageProvider.d.ts +41 -1
- package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -1
- package/dist/core/images/providers/StabilityImageProvider.js +180 -7
- package/dist/core/images/providers/StabilityImageProvider.js.map +1 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts +29 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts.map +1 -1
- package/dist/core/images/providers/StableDiffusionLocalProvider.js +124 -0
- package/dist/core/images/providers/StableDiffusionLocalProvider.js.map +1 -1
- package/dist/core/llm/IPromptEngine.d.ts +2 -2
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
- package/dist/core/llm/IPromptEngine.js +2 -2
- package/dist/core/llm/IPromptEngine.js.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts +7 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.js +24 -0
- package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
- package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts +42 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.js +45 -0
- package/dist/core/llm/providers/errors/AnthropicProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +45 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.js +46 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.js +1 -1
- package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -1
- package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OpenAIProviderError.js +1 -1
- package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +1 -1
- package/dist/core/llm/providers/errors/OpenRouterProviderError.js +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +340 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.js +959 -0
- package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +339 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.js +1004 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GroqProvider.d.ts +105 -0
- package/dist/core/llm/providers/implementations/GroqProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GroqProvider.js +134 -0
- package/dist/core/llm/providers/implementations/GroqProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts +105 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/MistralProvider.js +146 -0
- package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +107 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.js +138 -0
- package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/XAIProvider.d.ts +102 -0
- package/dist/core/llm/providers/implementations/XAIProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/XAIProvider.js +123 -0
- package/dist/core/llm/providers/implementations/XAIProvider.js.map +1 -0
- package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -1
- package/dist/core/orchestration/AgentOrchestrator.js +26 -5
- package/dist/core/orchestration/AgentOrchestrator.js.map +1 -1
- package/dist/core/tools/IToolOrchestrator.d.ts +2 -2
- package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolExecutor.d.ts +3 -0
- package/dist/core/tools/ToolExecutor.d.ts.map +1 -1
- package/dist/core/tools/ToolExecutor.js +2 -1
- package/dist/core/tools/ToolExecutor.js.map +1 -1
- package/dist/core/tools/ToolOrchestrator.d.ts +7 -7
- package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.js +135 -36
- package/dist/core/tools/ToolOrchestrator.js.map +1 -1
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts +6 -5
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -1
- package/dist/core/tools/permissions/ToolPermissionManager.js +47 -21
- package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -1
- package/dist/core/vision/VisionPipeline.d.ts +437 -0
- package/dist/core/vision/VisionPipeline.d.ts.map +1 -0
- package/dist/core/vision/VisionPipeline.js +1113 -0
- package/dist/core/vision/VisionPipeline.js.map +1 -0
- package/dist/core/vision/index.d.ts +97 -0
- package/dist/core/vision/index.d.ts.map +1 -0
- package/dist/core/vision/index.js +182 -0
- package/dist/core/vision/index.js.map +1 -0
- package/dist/core/vision/providers/LLMVisionProvider.d.ts +135 -0
- package/dist/core/vision/providers/LLMVisionProvider.d.ts.map +1 -0
- package/dist/core/vision/providers/LLMVisionProvider.js +136 -0
- package/dist/core/vision/providers/LLMVisionProvider.js.map +1 -0
- package/dist/core/vision/providers/PipelineVisionProvider.d.ts +154 -0
- package/dist/core/vision/providers/PipelineVisionProvider.d.ts.map +1 -0
- package/dist/core/vision/providers/PipelineVisionProvider.js +160 -0
- package/dist/core/vision/providers/PipelineVisionProvider.js.map +1 -0
- package/dist/core/vision/types.d.ts +286 -0
- package/dist/core/vision/types.d.ts.map +1 -0
- package/dist/core/vision/types.js +24 -0
- package/dist/core/vision/types.js.map +1 -0
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
- package/dist/emergent/ComposableToolBuilder.d.ts +15 -4
- package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -1
- package/dist/emergent/ComposableToolBuilder.js +29 -14
- package/dist/emergent/ComposableToolBuilder.js.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.d.ts +3 -3
- package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.js +15 -12
- package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/emergent/EmergentJudge.d.ts +20 -0
- package/dist/emergent/EmergentJudge.d.ts.map +1 -1
- package/dist/emergent/EmergentJudge.js +121 -26
- package/dist/emergent/EmergentJudge.js.map +1 -1
- package/dist/emergent/EmergentToolRegistry.d.ts +17 -0
- package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -1
- package/dist/emergent/EmergentToolRegistry.js +26 -0
- package/dist/emergent/EmergentToolRegistry.js.map +1 -1
- package/dist/emergent/ForgeToolMetaTool.d.ts +1 -1
- package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -1
- package/dist/emergent/ForgeToolMetaTool.js +15 -2
- package/dist/emergent/ForgeToolMetaTool.js.map +1 -1
- package/dist/emergent/SandboxedToolForge.d.ts +2 -2
- package/dist/emergent/SandboxedToolForge.d.ts.map +1 -1
- package/dist/emergent/SandboxedToolForge.js +13 -23
- package/dist/emergent/SandboxedToolForge.js.map +1 -1
- package/dist/emergent/SkillExporter.d.ts +119 -0
- package/dist/emergent/SkillExporter.d.ts.map +1 -0
- package/dist/emergent/SkillExporter.js +344 -0
- package/dist/emergent/SkillExporter.js.map +1 -0
- package/dist/emergent/index.d.ts +1 -0
- package/dist/emergent/index.d.ts.map +1 -1
- package/dist/emergent/index.js +1 -0
- package/dist/emergent/index.js.map +1 -1
- package/dist/emergent/types.d.ts +4 -4
- package/dist/index.d.ts +30 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/memory/facade/Memory.d.ts.map +1 -1
- package/dist/memory/facade/Memory.js +8 -0
- package/dist/memory/facade/Memory.js.map +1 -1
- package/dist/memory/facade/types.d.ts +10 -0
- package/dist/memory/facade/types.d.ts.map +1 -1
- package/dist/memory/index.d.ts +15 -7
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +7 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/ingestion/DoclingLoader.d.ts +3 -3
- package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/DoclingLoader.js +12 -8
- package/dist/memory/ingestion/DoclingLoader.js.map +1 -1
- package/dist/memory/ingestion/FolderScanner.d.ts +7 -7
- package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -1
- package/dist/memory/ingestion/FolderScanner.js +6 -6
- package/dist/memory/ingestion/FolderScanner.js.map +1 -1
- package/dist/memory/ingestion/LoaderRegistry.d.ts +8 -8
- package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -1
- package/dist/memory/ingestion/LoaderRegistry.js +9 -11
- package/dist/memory/ingestion/LoaderRegistry.js.map +1 -1
- package/dist/memory/ingestion/MultimodalAggregator.d.ts +1 -1
- package/dist/memory/ingestion/MultimodalAggregator.js +1 -1
- package/dist/memory/ingestion/OcrPdfLoader.d.ts +2 -2
- package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/OcrPdfLoader.js +12 -8
- package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -1
- package/dist/memory/ingestion/PdfLoader.d.ts +8 -8
- package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -1
- package/dist/memory/ingestion/PdfLoader.js +13 -10
- package/dist/memory/ingestion/PdfLoader.js.map +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownExporter.js +1 -1
- package/dist/memory/io/MarkdownExporter.js.map +1 -1
- package/dist/memory/observation/MemoryObserver.d.ts +63 -1
- package/dist/memory/observation/MemoryObserver.d.ts.map +1 -1
- package/dist/memory/observation/MemoryObserver.js +115 -4
- package/dist/memory/observation/MemoryObserver.js.map +1 -1
- package/dist/memory/observation/ObservationCompressor.d.ts +88 -0
- package/dist/memory/observation/ObservationCompressor.d.ts.map +1 -0
- package/dist/memory/observation/ObservationCompressor.js +207 -0
- package/dist/memory/observation/ObservationCompressor.js.map +1 -0
- package/dist/memory/observation/ObservationReflector.d.ts +82 -0
- package/dist/memory/observation/ObservationReflector.d.ts.map +1 -0
- package/dist/memory/observation/ObservationReflector.js +212 -0
- package/dist/memory/observation/ObservationReflector.js.map +1 -0
- package/dist/memory/observation/temporal.d.ts +54 -0
- package/dist/memory/observation/temporal.d.ts.map +1 -0
- package/dist/memory/observation/temporal.js +115 -0
- package/dist/memory/observation/temporal.js.map +1 -0
- package/dist/memory/tools/MemoryAddTool.d.ts +2 -2
- package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryAddTool.js +8 -3
- package/dist/memory/tools/MemoryAddTool.js.map +1 -1
- package/dist/memory/tools/MemorySearchTool.d.ts +3 -3
- package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -1
- package/dist/memory/tools/MemorySearchTool.js +11 -9
- package/dist/memory/tools/MemorySearchTool.js.map +1 -1
- package/dist/memory/tools/scopeContext.d.ts +11 -0
- package/dist/memory/tools/scopeContext.d.ts.map +1 -0
- package/dist/memory/tools/scopeContext.js +46 -0
- package/dist/memory/tools/scopeContext.js.map +1 -0
- package/dist/orchestration/builders/AgentGraph.d.ts +12 -11
- package/dist/orchestration/builders/AgentGraph.d.ts.map +1 -1
- package/dist/orchestration/builders/AgentGraph.js +12 -11
- package/dist/orchestration/builders/AgentGraph.js.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +82 -25
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.js +86 -26
- package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +7 -54
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -56
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
- package/dist/orchestration/events/GraphEvent.d.ts +67 -5
- package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
- package/dist/orchestration/events/GraphEvent.js.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.js +151 -1
- package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
- package/dist/orchestration/runtime/LoopController.d.ts +3 -3
- package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
- package/dist/orchestration/runtime/LoopController.js.map +1 -1
- package/dist/orchestration/runtime/StateManager.d.ts +3 -3
- package/dist/orchestration/runtime/StateManager.js +3 -3
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +103 -26
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.js +155 -43
- package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +95 -33
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.js +83 -29
- package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +73 -20
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.js +84 -23
- package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -1
- package/dist/query-router/KeywordFallback.d.ts +70 -0
- package/dist/query-router/KeywordFallback.d.ts.map +1 -0
- package/dist/query-router/KeywordFallback.js +132 -0
- package/dist/query-router/KeywordFallback.js.map +1 -0
- package/dist/query-router/QueryClassifier.d.ts +140 -0
- package/dist/query-router/QueryClassifier.d.ts.map +1 -0
- package/dist/query-router/QueryClassifier.js +223 -0
- package/dist/query-router/QueryClassifier.js.map +1 -0
- package/dist/query-router/QueryDispatcher.d.ts +139 -0
- package/dist/query-router/QueryDispatcher.d.ts.map +1 -0
- package/dist/query-router/QueryDispatcher.js +297 -0
- package/dist/query-router/QueryDispatcher.js.map +1 -0
- package/dist/query-router/QueryGenerator.d.ts +184 -0
- package/dist/query-router/QueryGenerator.d.ts.map +1 -0
- package/dist/query-router/QueryGenerator.js +241 -0
- package/dist/query-router/QueryGenerator.js.map +1 -0
- package/dist/query-router/QueryRouter.d.ts +292 -0
- package/dist/query-router/QueryRouter.d.ts.map +1 -0
- package/dist/query-router/QueryRouter.js +803 -0
- package/dist/query-router/QueryRouter.js.map +1 -0
- package/dist/query-router/TopicExtractor.d.ts +73 -0
- package/dist/query-router/TopicExtractor.d.ts.map +1 -0
- package/dist/query-router/TopicExtractor.js +95 -0
- package/dist/query-router/TopicExtractor.js.map +1 -0
- package/dist/query-router/index.d.ts +40 -0
- package/dist/query-router/index.d.ts.map +1 -0
- package/dist/query-router/index.js +46 -0
- package/dist/query-router/index.js.map +1 -0
- package/dist/query-router/types.d.ts +508 -0
- package/dist/query-router/types.d.ts.map +1 -0
- package/dist/query-router/types.js +39 -0
- package/dist/query-router/types.js.map +1 -0
- package/dist/rag/index.d.ts +5 -0
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +7 -0
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/multimodal/LLMVisionAdapter.d.ts +43 -0
- package/dist/rag/multimodal/LLMVisionAdapter.d.ts.map +1 -0
- package/dist/rag/multimodal/LLMVisionAdapter.js +46 -0
- package/dist/rag/multimodal/LLMVisionAdapter.js.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts +244 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.js +411 -0
- package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts +448 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts.map +1 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.js +941 -0
- package/dist/rag/multimodal/MultimodalMemoryBridge.js.map +1 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.d.ts +139 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.d.ts.map +1 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.js +143 -0
- package/dist/rag/multimodal/SpeechProviderAdapter.js.map +1 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts +172 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts.map +1 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js +152 -0
- package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js.map +1 -0
- package/dist/rag/multimodal/index.d.ts +44 -0
- package/dist/rag/multimodal/index.d.ts.map +1 -0
- package/dist/rag/multimodal/index.js +42 -0
- package/dist/rag/multimodal/index.js.map +1 -0
- package/dist/rag/multimodal/types.d.ts +276 -0
- package/dist/rag/multimodal/types.d.ts.map +1 -0
- package/dist/rag/multimodal/types.js +26 -0
- package/dist/rag/multimodal/types.js.map +1 -0
- package/dist/social-posting/SocialPostManager.d.ts +3 -3
- package/dist/social-posting/SocialPostManager.d.ts.map +1 -1
- package/dist/social-posting/SocialPostManager.js +3 -5
- package/dist/social-posting/SocialPostManager.js.map +1 -1
- package/dist/speech/FallbackProxy.d.ts +6 -6
- package/dist/speech/FallbackProxy.d.ts.map +1 -1
- package/dist/speech/FallbackProxy.js +3 -3
- package/dist/speech/FallbackProxy.js.map +1 -1
- package/dist/speech/SpeechProviderResolver.d.ts +8 -8
- package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
- package/dist/speech/SpeechProviderResolver.js +22 -11
- package/dist/speech/SpeechProviderResolver.js.map +1 -1
- package/dist/speech/SpeechRuntime.d.ts +1 -5
- package/dist/speech/SpeechRuntime.d.ts.map +1 -1
- package/dist/speech/SpeechRuntime.js +17 -9
- package/dist/speech/SpeechRuntime.js.map +1 -1
- package/dist/speech/providers/AssemblyAISTTProvider.d.ts +4 -4
- package/dist/speech/providers/AssemblyAISTTProvider.js +4 -4
- package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +3 -3
- package/dist/speech/providers/AzureSpeechTTSProvider.js +2 -2
- package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +9 -9
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +5 -5
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -1
- package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +2 -2
- package/dist/speech/providers/DeepgramBatchSTTProvider.js +2 -2
- package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +3 -3
- package/dist/speech/providers/OpenAITextToSpeechProvider.js +2 -2
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +1 -1
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -1
- package/dist/voice/TelephonyStreamTransport.d.ts +6 -6
- package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
- package/dist/voice/TelephonyStreamTransport.js +5 -5
- package/dist/voice/TelephonyStreamTransport.js.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +4 -4
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.js +4 -4
- package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -1
- package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +3 -3
- package/dist/voice-pipeline/HardCutBargeinHandler.js +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -1
- package/dist/voice-pipeline/HeuristicEndpointDetector.js +3 -3
- package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -1
- package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +5 -5
- package/dist/voice-pipeline/SoftFadeBargeinHandler.js +1 -1
- package/dist/voice-pipeline/VoiceInterruptError.d.ts +6 -6
- package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -1
- package/dist/voice-pipeline/VoiceInterruptError.js +4 -4
- package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +9 -9
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js +8 -8
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
- package/dist/voice-pipeline/WebRTCStreamTransport.d.ts +421 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.d.ts.map +1 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.js +573 -0
- package/dist/voice-pipeline/WebRTCStreamTransport.js.map +1 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
- package/dist/voice-pipeline/WebSocketStreamTransport.js +5 -5
- package/dist/voice-pipeline/index.d.ts +1 -0
- package/dist/voice-pipeline/index.d.ts.map +1 -1
- package/dist/voice-pipeline/index.js +2 -0
- package/dist/voice-pipeline/index.js.map +1 -1
- package/dist/voice-pipeline/types.d.ts +43 -43
- package/dist/voice-pipeline/types.d.ts.map +1 -1
- package/package.json +19 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Implements the IProvider interface for Together AI's inference API.
|
|
3
|
+
*
|
|
4
|
+
* Together AI exposes a fully OpenAI-compatible `/v1/chat/completions` endpoint,
|
|
5
|
+
* so this provider delegates to the existing {@link OpenAIProvider} with Together's
|
|
6
|
+
* base URL and credentials. The wrapper provides Together-specific provider ID,
|
|
7
|
+
* default model catalog, and configuration.
|
|
8
|
+
*
|
|
9
|
+
* @module backend/agentos/core/llm/providers/implementations/TogetherProvider
|
|
10
|
+
* @implements {IProvider}
|
|
11
|
+
*/
|
|
12
|
+
import { IProvider, ChatMessage, ModelCompletionOptions, ModelCompletionResponse, ModelInfo, ProviderEmbeddingOptions, ProviderEmbeddingResponse } from '../IProvider';
|
|
13
|
+
/**
|
|
14
|
+
* Configuration for the TogetherProvider.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const config: TogetherProviderConfig = {
|
|
18
|
+
* apiKey: process.env.TOGETHER_API_KEY!,
|
|
19
|
+
* defaultModelId: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo',
|
|
20
|
+
* };
|
|
21
|
+
*/
|
|
22
|
+
export interface TogetherProviderConfig {
|
|
23
|
+
/** Together API key. Sourced from `TOGETHER_API_KEY`. */
|
|
24
|
+
apiKey: string;
|
|
25
|
+
/**
|
|
26
|
+
* Base URL override.
|
|
27
|
+
* @default "https://api.together.xyz/v1"
|
|
28
|
+
*/
|
|
29
|
+
baseURL?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Default model to use when none is specified.
|
|
32
|
+
* @default "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo"
|
|
33
|
+
*/
|
|
34
|
+
defaultModelId?: string;
|
|
35
|
+
/** Request timeout in milliseconds. @default 60000 */
|
|
36
|
+
requestTimeout?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @class TogetherProvider
|
|
40
|
+
* @implements {IProvider}
|
|
41
|
+
*
|
|
42
|
+
* Thin wrapper around {@link OpenAIProvider} that targets Together AI's
|
|
43
|
+
* OpenAI-compatible API endpoint. Together hosts a wide range of open-source
|
|
44
|
+
* models (Llama, Mixtral, etc.) with competitive pricing and fast inference.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const together = new TogetherProvider();
|
|
48
|
+
* await together.initialize({ apiKey: process.env.TOGETHER_API_KEY! });
|
|
49
|
+
* const res = await together.generateCompletion(
|
|
50
|
+
* 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', messages, {},
|
|
51
|
+
* );
|
|
52
|
+
*/
|
|
53
|
+
export declare class TogetherProvider implements IProvider {
|
|
54
|
+
/** @inheritdoc */
|
|
55
|
+
readonly providerId: string;
|
|
56
|
+
/** @inheritdoc */
|
|
57
|
+
isInitialized: boolean;
|
|
58
|
+
/** @inheritdoc */
|
|
59
|
+
defaultModelId?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Internal OpenAI provider instance that handles the actual API communication.
|
|
62
|
+
* Together's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
|
|
63
|
+
*/
|
|
64
|
+
private delegate;
|
|
65
|
+
constructor();
|
|
66
|
+
/**
|
|
67
|
+
* Initializes the provider by configuring the underlying OpenAI delegate
|
|
68
|
+
* with Together's base URL and the caller's API key.
|
|
69
|
+
*
|
|
70
|
+
* @param {TogetherProviderConfig} config - Together-specific configuration.
|
|
71
|
+
* @returns {Promise<void>}
|
|
72
|
+
* @throws {Error} If the API key is missing.
|
|
73
|
+
*/
|
|
74
|
+
initialize(config: TogetherProviderConfig): Promise<void>;
|
|
75
|
+
/** @inheritdoc */
|
|
76
|
+
generateCompletion(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): Promise<ModelCompletionResponse>;
|
|
77
|
+
/** @inheritdoc */
|
|
78
|
+
generateCompletionStream(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): AsyncGenerator<ModelCompletionResponse, void, undefined>;
|
|
79
|
+
/**
|
|
80
|
+
* Together AI supports embeddings for some models, delegated to the OpenAI-compatible endpoint.
|
|
81
|
+
*
|
|
82
|
+
* @param {string} modelId - Embedding model ID.
|
|
83
|
+
* @param {string[]} texts - Texts to embed.
|
|
84
|
+
* @param {ProviderEmbeddingOptions} [options] - Embedding options.
|
|
85
|
+
* @returns {Promise<ProviderEmbeddingResponse>} Embedding response.
|
|
86
|
+
*/
|
|
87
|
+
generateEmbeddings(modelId: string, texts: string[], options?: ProviderEmbeddingOptions): Promise<ProviderEmbeddingResponse>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns a static catalog of well-known Together-hosted models.
|
|
90
|
+
*
|
|
91
|
+
* @param {{ capability?: string }} [filter] - Optional capability filter.
|
|
92
|
+
* @returns {Promise<ModelInfo[]>} Together model catalog.
|
|
93
|
+
*/
|
|
94
|
+
listAvailableModels(filter?: {
|
|
95
|
+
capability?: string;
|
|
96
|
+
}): Promise<ModelInfo[]>;
|
|
97
|
+
/** @inheritdoc */
|
|
98
|
+
getModelInfo(modelId: string): Promise<ModelInfo | undefined>;
|
|
99
|
+
/** @inheritdoc */
|
|
100
|
+
checkHealth(): Promise<{
|
|
101
|
+
isHealthy: boolean;
|
|
102
|
+
details?: unknown;
|
|
103
|
+
}>;
|
|
104
|
+
/** @inheritdoc */
|
|
105
|
+
shutdown(): Promise<void>;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=TogetherProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TogetherProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/TogetherProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAOtB;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA4CD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,kBAAkB;IAClB,SAAgB,UAAU,EAAE,MAAM,CAAc;IAChD,kBAAkB;IACX,aAAa,EAAE,OAAO,CAAS;IACtC,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAwB;;IAIxC;;;;;;;OAOG;IACU,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtE,kBAAkB;IACL,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAInC,kBAAkB;IACJ,wBAAwB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAI3D;;;;;;;OAOG;IACU,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,CAAC;IAIrC;;;;;OAKG;IACU,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOxF,kBAAkB;IACL,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI1E,kBAAkB;IACL,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9E,kBAAkB;IACL,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// File: backend/agentos/core/llm/providers/implementations/TogetherProvider.ts
|
|
2
|
+
import { OpenAIProvider } from './OpenAIProvider.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Known model catalog
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
/** Static catalog of well-known Together AI models. */
|
|
7
|
+
const TOGETHER_MODELS = [
|
|
8
|
+
{
|
|
9
|
+
modelId: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo',
|
|
10
|
+
providerId: 'together',
|
|
11
|
+
displayName: 'Llama 3.1 70B Instruct Turbo',
|
|
12
|
+
description: 'Meta Llama 3.1 70B optimized for fast instruction-following on Together.',
|
|
13
|
+
capabilities: ['chat', 'tool_use'],
|
|
14
|
+
contextWindowSize: 131072,
|
|
15
|
+
supportsStreaming: true,
|
|
16
|
+
status: 'active',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
modelId: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo',
|
|
20
|
+
providerId: 'together',
|
|
21
|
+
displayName: 'Llama 3.1 8B Instruct Turbo',
|
|
22
|
+
description: 'Meta Llama 3.1 8B — cost-effective instruction model on Together.',
|
|
23
|
+
capabilities: ['chat', 'tool_use'],
|
|
24
|
+
contextWindowSize: 131072,
|
|
25
|
+
supportsStreaming: true,
|
|
26
|
+
status: 'active',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
modelId: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
|
|
30
|
+
providerId: 'together',
|
|
31
|
+
displayName: 'Mixtral 8x7B Instruct v0.1',
|
|
32
|
+
description: 'Mistral AI Mixtral MoE instruction-tuned on Together.',
|
|
33
|
+
capabilities: ['chat', 'tool_use'],
|
|
34
|
+
contextWindowSize: 32768,
|
|
35
|
+
supportsStreaming: true,
|
|
36
|
+
status: 'active',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Provider implementation
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
/**
|
|
43
|
+
* @class TogetherProvider
|
|
44
|
+
* @implements {IProvider}
|
|
45
|
+
*
|
|
46
|
+
* Thin wrapper around {@link OpenAIProvider} that targets Together AI's
|
|
47
|
+
* OpenAI-compatible API endpoint. Together hosts a wide range of open-source
|
|
48
|
+
* models (Llama, Mixtral, etc.) with competitive pricing and fast inference.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const together = new TogetherProvider();
|
|
52
|
+
* await together.initialize({ apiKey: process.env.TOGETHER_API_KEY! });
|
|
53
|
+
* const res = await together.generateCompletion(
|
|
54
|
+
* 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', messages, {},
|
|
55
|
+
* );
|
|
56
|
+
*/
|
|
57
|
+
export class TogetherProvider {
|
|
58
|
+
constructor() {
|
|
59
|
+
/** @inheritdoc */
|
|
60
|
+
this.providerId = 'together';
|
|
61
|
+
/** @inheritdoc */
|
|
62
|
+
this.isInitialized = false;
|
|
63
|
+
/**
|
|
64
|
+
* Internal OpenAI provider instance that handles the actual API communication.
|
|
65
|
+
* Together's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
|
|
66
|
+
*/
|
|
67
|
+
this.delegate = new OpenAIProvider();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Initializes the provider by configuring the underlying OpenAI delegate
|
|
71
|
+
* with Together's base URL and the caller's API key.
|
|
72
|
+
*
|
|
73
|
+
* @param {TogetherProviderConfig} config - Together-specific configuration.
|
|
74
|
+
* @returns {Promise<void>}
|
|
75
|
+
* @throws {Error} If the API key is missing.
|
|
76
|
+
*/
|
|
77
|
+
async initialize(config) {
|
|
78
|
+
if (!config.apiKey) {
|
|
79
|
+
throw new Error('API key is required for TogetherProvider. Set TOGETHER_API_KEY.');
|
|
80
|
+
}
|
|
81
|
+
this.defaultModelId = config.defaultModelId ?? 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo';
|
|
82
|
+
// Delegate to OpenAI provider with Together's endpoint
|
|
83
|
+
await this.delegate.initialize({
|
|
84
|
+
apiKey: config.apiKey,
|
|
85
|
+
baseURL: config.baseURL ?? 'https://api.together.xyz/v1',
|
|
86
|
+
defaultModelId: this.defaultModelId,
|
|
87
|
+
requestTimeout: config.requestTimeout ?? 60000,
|
|
88
|
+
});
|
|
89
|
+
this.isInitialized = true;
|
|
90
|
+
console.log(`TogetherProvider initialized. Default model: ${this.defaultModelId}.`);
|
|
91
|
+
}
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
async generateCompletion(modelId, messages, options) {
|
|
94
|
+
return this.delegate.generateCompletion(modelId, messages, options);
|
|
95
|
+
}
|
|
96
|
+
/** @inheritdoc */
|
|
97
|
+
async *generateCompletionStream(modelId, messages, options) {
|
|
98
|
+
yield* this.delegate.generateCompletionStream(modelId, messages, options);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Together AI supports embeddings for some models, delegated to the OpenAI-compatible endpoint.
|
|
102
|
+
*
|
|
103
|
+
* @param {string} modelId - Embedding model ID.
|
|
104
|
+
* @param {string[]} texts - Texts to embed.
|
|
105
|
+
* @param {ProviderEmbeddingOptions} [options] - Embedding options.
|
|
106
|
+
* @returns {Promise<ProviderEmbeddingResponse>} Embedding response.
|
|
107
|
+
*/
|
|
108
|
+
async generateEmbeddings(modelId, texts, options) {
|
|
109
|
+
return this.delegate.generateEmbeddings(modelId, texts, options);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Returns a static catalog of well-known Together-hosted models.
|
|
113
|
+
*
|
|
114
|
+
* @param {{ capability?: string }} [filter] - Optional capability filter.
|
|
115
|
+
* @returns {Promise<ModelInfo[]>} Together model catalog.
|
|
116
|
+
*/
|
|
117
|
+
async listAvailableModels(filter) {
|
|
118
|
+
if (filter?.capability) {
|
|
119
|
+
return TOGETHER_MODELS.filter(m => m.capabilities.includes(filter.capability));
|
|
120
|
+
}
|
|
121
|
+
return [...TOGETHER_MODELS];
|
|
122
|
+
}
|
|
123
|
+
/** @inheritdoc */
|
|
124
|
+
async getModelInfo(modelId) {
|
|
125
|
+
return TOGETHER_MODELS.find(m => m.modelId === modelId);
|
|
126
|
+
}
|
|
127
|
+
/** @inheritdoc */
|
|
128
|
+
async checkHealth() {
|
|
129
|
+
return this.delegate.checkHealth();
|
|
130
|
+
}
|
|
131
|
+
/** @inheritdoc */
|
|
132
|
+
async shutdown() {
|
|
133
|
+
await this.delegate.shutdown();
|
|
134
|
+
this.isInitialized = false;
|
|
135
|
+
console.log('TogetherProvider shutdown complete.');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=TogetherProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TogetherProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/TogetherProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Implements the IProvider interface for xAI's Grok API.
|
|
3
|
+
*
|
|
4
|
+
* xAI exposes a fully OpenAI-compatible `/v1/chat/completions` endpoint at
|
|
5
|
+
* `https://api.x.ai`. This provider delegates to the existing {@link OpenAIProvider}
|
|
6
|
+
* with xAI's base URL and credentials, providing xAI-specific provider identity
|
|
7
|
+
* and a curated catalog of Grok models.
|
|
8
|
+
*
|
|
9
|
+
* @module backend/agentos/core/llm/providers/implementations/XAIProvider
|
|
10
|
+
* @implements {IProvider}
|
|
11
|
+
*/
|
|
12
|
+
import { IProvider, ChatMessage, ModelCompletionOptions, ModelCompletionResponse, ModelInfo, ProviderEmbeddingOptions, ProviderEmbeddingResponse } from '../IProvider';
|
|
13
|
+
/**
|
|
14
|
+
* Configuration for the XAIProvider.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const config: XAIProviderConfig = {
|
|
18
|
+
* apiKey: process.env.XAI_API_KEY!,
|
|
19
|
+
* defaultModelId: 'grok-2',
|
|
20
|
+
* };
|
|
21
|
+
*/
|
|
22
|
+
export interface XAIProviderConfig {
|
|
23
|
+
/** xAI API key. Sourced from `XAI_API_KEY`. */
|
|
24
|
+
apiKey: string;
|
|
25
|
+
/**
|
|
26
|
+
* Base URL override.
|
|
27
|
+
* @default "https://api.x.ai/v1"
|
|
28
|
+
*/
|
|
29
|
+
baseURL?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Default model to use when none is specified.
|
|
32
|
+
* @default "grok-2"
|
|
33
|
+
*/
|
|
34
|
+
defaultModelId?: string;
|
|
35
|
+
/** Request timeout in milliseconds. @default 60000 */
|
|
36
|
+
requestTimeout?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @class XAIProvider
|
|
40
|
+
* @implements {IProvider}
|
|
41
|
+
*
|
|
42
|
+
* Thin wrapper around {@link OpenAIProvider} that targets xAI's
|
|
43
|
+
* OpenAI-compatible Grok API endpoint. xAI's Grok models are known for
|
|
44
|
+
* wit, real-time knowledge, and strong reasoning capabilities.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const xai = new XAIProvider();
|
|
48
|
+
* await xai.initialize({ apiKey: process.env.XAI_API_KEY! });
|
|
49
|
+
* const res = await xai.generateCompletion('grok-2', messages, {});
|
|
50
|
+
*/
|
|
51
|
+
export declare class XAIProvider implements IProvider {
|
|
52
|
+
/** @inheritdoc */
|
|
53
|
+
readonly providerId: string;
|
|
54
|
+
/** @inheritdoc */
|
|
55
|
+
isInitialized: boolean;
|
|
56
|
+
/** @inheritdoc */
|
|
57
|
+
defaultModelId?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Internal OpenAI provider instance that handles the actual API communication.
|
|
60
|
+
* xAI's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
|
|
61
|
+
*/
|
|
62
|
+
private delegate;
|
|
63
|
+
constructor();
|
|
64
|
+
/**
|
|
65
|
+
* Initializes the provider by configuring the underlying OpenAI delegate
|
|
66
|
+
* with xAI's base URL and the caller's API key.
|
|
67
|
+
*
|
|
68
|
+
* @param {XAIProviderConfig} config - xAI-specific configuration.
|
|
69
|
+
* @returns {Promise<void>}
|
|
70
|
+
* @throws {Error} If the API key is missing.
|
|
71
|
+
*/
|
|
72
|
+
initialize(config: XAIProviderConfig): Promise<void>;
|
|
73
|
+
/** @inheritdoc */
|
|
74
|
+
generateCompletion(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): Promise<ModelCompletionResponse>;
|
|
75
|
+
/** @inheritdoc */
|
|
76
|
+
generateCompletionStream(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): AsyncGenerator<ModelCompletionResponse, void, undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* xAI does not currently offer an embeddings API.
|
|
79
|
+
*
|
|
80
|
+
* @throws {Error} Always — embeddings are not supported on xAI.
|
|
81
|
+
*/
|
|
82
|
+
generateEmbeddings(_modelId: string, _texts: string[], _options?: ProviderEmbeddingOptions): Promise<ProviderEmbeddingResponse>;
|
|
83
|
+
/**
|
|
84
|
+
* Returns a static catalog of known xAI Grok models.
|
|
85
|
+
*
|
|
86
|
+
* @param {{ capability?: string }} [filter] - Optional capability filter.
|
|
87
|
+
* @returns {Promise<ModelInfo[]>} xAI model catalog.
|
|
88
|
+
*/
|
|
89
|
+
listAvailableModels(filter?: {
|
|
90
|
+
capability?: string;
|
|
91
|
+
}): Promise<ModelInfo[]>;
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
getModelInfo(modelId: string): Promise<ModelInfo | undefined>;
|
|
94
|
+
/** @inheritdoc */
|
|
95
|
+
checkHealth(): Promise<{
|
|
96
|
+
isHealthy: boolean;
|
|
97
|
+
details?: unknown;
|
|
98
|
+
}>;
|
|
99
|
+
/** @inheritdoc */
|
|
100
|
+
shutdown(): Promise<void>;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=XAIProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XAIProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/XAIProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAOtB;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkCD;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAY,YAAW,SAAS;IAC3C,kBAAkB;IAClB,SAAgB,UAAU,EAAE,MAAM,CAAS;IAC3C,kBAAkB;IACX,aAAa,EAAE,OAAO,CAAS;IACtC,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAwB;;IAIxC;;;;;;;OAOG;IACU,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjE,kBAAkB;IACL,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAInC,kBAAkB;IACJ,wBAAwB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAI3D;;;;OAIG;IACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,OAAO,CAAC,yBAAyB,CAAC;IAIrC;;;;;OAKG;IACU,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOxF,kBAAkB;IACL,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI1E,kBAAkB;IACL,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9E,kBAAkB;IACL,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// File: backend/agentos/core/llm/providers/implementations/XAIProvider.ts
|
|
2
|
+
import { OpenAIProvider } from './OpenAIProvider.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Known model catalog
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
/** Static catalog of well-known xAI Grok models. */
|
|
7
|
+
const XAI_MODELS = [
|
|
8
|
+
{
|
|
9
|
+
modelId: 'grok-2',
|
|
10
|
+
providerId: 'xai',
|
|
11
|
+
displayName: 'Grok 2',
|
|
12
|
+
description: 'xAI flagship model with strong reasoning and real-time knowledge.',
|
|
13
|
+
capabilities: ['chat', 'tool_use'],
|
|
14
|
+
contextWindowSize: 131072,
|
|
15
|
+
supportsStreaming: true,
|
|
16
|
+
status: 'active',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
modelId: 'grok-2-mini',
|
|
20
|
+
providerId: 'xai',
|
|
21
|
+
displayName: 'Grok 2 Mini',
|
|
22
|
+
description: 'Smaller, faster xAI model for cost-effective everyday tasks.',
|
|
23
|
+
capabilities: ['chat', 'tool_use'],
|
|
24
|
+
contextWindowSize: 131072,
|
|
25
|
+
supportsStreaming: true,
|
|
26
|
+
status: 'active',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Provider implementation
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
/**
|
|
33
|
+
* @class XAIProvider
|
|
34
|
+
* @implements {IProvider}
|
|
35
|
+
*
|
|
36
|
+
* Thin wrapper around {@link OpenAIProvider} that targets xAI's
|
|
37
|
+
* OpenAI-compatible Grok API endpoint. xAI's Grok models are known for
|
|
38
|
+
* wit, real-time knowledge, and strong reasoning capabilities.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const xai = new XAIProvider();
|
|
42
|
+
* await xai.initialize({ apiKey: process.env.XAI_API_KEY! });
|
|
43
|
+
* const res = await xai.generateCompletion('grok-2', messages, {});
|
|
44
|
+
*/
|
|
45
|
+
export class XAIProvider {
|
|
46
|
+
constructor() {
|
|
47
|
+
/** @inheritdoc */
|
|
48
|
+
this.providerId = 'xai';
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
this.isInitialized = false;
|
|
51
|
+
/**
|
|
52
|
+
* Internal OpenAI provider instance that handles the actual API communication.
|
|
53
|
+
* xAI's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
|
|
54
|
+
*/
|
|
55
|
+
this.delegate = new OpenAIProvider();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Initializes the provider by configuring the underlying OpenAI delegate
|
|
59
|
+
* with xAI's base URL and the caller's API key.
|
|
60
|
+
*
|
|
61
|
+
* @param {XAIProviderConfig} config - xAI-specific configuration.
|
|
62
|
+
* @returns {Promise<void>}
|
|
63
|
+
* @throws {Error} If the API key is missing.
|
|
64
|
+
*/
|
|
65
|
+
async initialize(config) {
|
|
66
|
+
if (!config.apiKey) {
|
|
67
|
+
throw new Error('API key is required for XAIProvider. Set XAI_API_KEY.');
|
|
68
|
+
}
|
|
69
|
+
this.defaultModelId = config.defaultModelId ?? 'grok-2';
|
|
70
|
+
// Delegate to OpenAI provider with xAI's endpoint
|
|
71
|
+
await this.delegate.initialize({
|
|
72
|
+
apiKey: config.apiKey,
|
|
73
|
+
baseURL: config.baseURL ?? 'https://api.x.ai/v1',
|
|
74
|
+
defaultModelId: this.defaultModelId,
|
|
75
|
+
requestTimeout: config.requestTimeout ?? 60000,
|
|
76
|
+
});
|
|
77
|
+
this.isInitialized = true;
|
|
78
|
+
console.log(`XAIProvider initialized. Default model: ${this.defaultModelId}.`);
|
|
79
|
+
}
|
|
80
|
+
/** @inheritdoc */
|
|
81
|
+
async generateCompletion(modelId, messages, options) {
|
|
82
|
+
return this.delegate.generateCompletion(modelId, messages, options);
|
|
83
|
+
}
|
|
84
|
+
/** @inheritdoc */
|
|
85
|
+
async *generateCompletionStream(modelId, messages, options) {
|
|
86
|
+
yield* this.delegate.generateCompletionStream(modelId, messages, options);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* xAI does not currently offer an embeddings API.
|
|
90
|
+
*
|
|
91
|
+
* @throws {Error} Always — embeddings are not supported on xAI.
|
|
92
|
+
*/
|
|
93
|
+
async generateEmbeddings(_modelId, _texts, _options) {
|
|
94
|
+
throw new Error('xAI does not currently support embeddings. Use a dedicated embedding provider.');
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Returns a static catalog of known xAI Grok models.
|
|
98
|
+
*
|
|
99
|
+
* @param {{ capability?: string }} [filter] - Optional capability filter.
|
|
100
|
+
* @returns {Promise<ModelInfo[]>} xAI model catalog.
|
|
101
|
+
*/
|
|
102
|
+
async listAvailableModels(filter) {
|
|
103
|
+
if (filter?.capability) {
|
|
104
|
+
return XAI_MODELS.filter(m => m.capabilities.includes(filter.capability));
|
|
105
|
+
}
|
|
106
|
+
return [...XAI_MODELS];
|
|
107
|
+
}
|
|
108
|
+
/** @inheritdoc */
|
|
109
|
+
async getModelInfo(modelId) {
|
|
110
|
+
return XAI_MODELS.find(m => m.modelId === modelId);
|
|
111
|
+
}
|
|
112
|
+
/** @inheritdoc */
|
|
113
|
+
async checkHealth() {
|
|
114
|
+
return this.delegate.checkHealth();
|
|
115
|
+
}
|
|
116
|
+
/** @inheritdoc */
|
|
117
|
+
async shutdown() {
|
|
118
|
+
await this.delegate.shutdown();
|
|
119
|
+
this.isInitialized = false;
|
|
120
|
+
console.log('XAIProvider shutdown complete.');
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=XAIProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XAIProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/XAIProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/AgentOrchestrator.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,YAAY,EAAqB,MAAM,8BAA8B,CAAC;AAe/E,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAclE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAMzF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAGL,KAAK,8BAA8B,EAEpC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAA8B,MAAM,2CAA2C,CAAC;AAUvH,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,8BAA8B,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sCAAsC;IACrD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;CACrE;AAkBD;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;OAMG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjD;;;OAGG;IACH,8BAA8B,CAAC,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAEvE;;;;OAIG;IACH,sCAAsC,CAAC,EAAE,sCAAsC,GAAG,IAAI,CAAC;IAEvF,sEAAsE;IACtE,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,sGAAsG;IACtG,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C,oFAAoF;IACpF,UAAU,EAAE,UAAU,CAAC;IACvB,gFAAgF;IAChF,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,6EAA6E;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mFAAmF;IACnF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,4EAA4E;IAC5E,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;CACtD;AA2BD;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAiD;IAC/D,OAAO,CAAC,YAAY,CAA6C;IAEjE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;IAE1E;;;OAGG;;IAKH;;;;;;;;;;;OAWG;IACU,UAAU,CACrB,MAAM,EAAE,yBAAyB,EACjC,YAAY,EAAE,+BAA+B,GAC5C,OAAO,CAAC,IAAI,CAAC;IAyChB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;;;OAWG;YACW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"AgentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/AgentOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,7 +149,13 @@ export class AgentOSOrchestrator {
|
|
|
149
149
|
chunk = { ...baseChunk, message: data.message, progressPercentage: data.progressPercentage, statusCode: data.statusCode };
|
|
150
150
|
break;
|
|
151
151
|
case AgentOSResponseChunkType.TOOL_CALL_REQUEST:
|
|
152
|
-
chunk = {
|
|
152
|
+
chunk = {
|
|
153
|
+
...baseChunk,
|
|
154
|
+
toolCalls: data.toolCalls,
|
|
155
|
+
rationale: data.rationale,
|
|
156
|
+
executionMode: data.executionMode,
|
|
157
|
+
requiresExternalToolResult: data.requiresExternalToolResult,
|
|
158
|
+
};
|
|
153
159
|
break;
|
|
154
160
|
case AgentOSResponseChunkType.TOOL_RESULT_EMISSION:
|
|
155
161
|
chunk = { ...baseChunk, toolCallId: data.toolCallId, toolName: data.toolName, toolResult: data.toolResult, isSuccess: data.isSuccess, errorMessage: data.errorMessage };
|
|
@@ -272,7 +278,7 @@ export class AgentOSOrchestrator {
|
|
|
272
278
|
* @param {string} activePersonaId - The definitive ID of the persona resolved for this turn. Guaranteed to be a string by caller.
|
|
273
279
|
* @returns {GMITurnInput} The structured input object ready for the GMI.
|
|
274
280
|
*/
|
|
275
|
-
constructGMITurnInput(agentOSStreamId, agentOSInput, activePersonaId) {
|
|
281
|
+
constructGMITurnInput(agentOSStreamId, agentOSInput, activePersonaId, conversationId) {
|
|
276
282
|
const { userId, sessionId, options, textInput, visionInputs, audioInput, userFeedback, selectedPersonaId, userApiKeys } = agentOSInput;
|
|
277
283
|
const gmiInputMetadata = {
|
|
278
284
|
options: {
|
|
@@ -285,6 +291,8 @@ export class AgentOSOrchestrator {
|
|
|
285
291
|
toolChoice: options?.toolChoice,
|
|
286
292
|
responseFormat: options?.responseFormat,
|
|
287
293
|
},
|
|
294
|
+
sessionId,
|
|
295
|
+
conversationId,
|
|
288
296
|
userApiKeys,
|
|
289
297
|
userFeedback,
|
|
290
298
|
explicitPersonaSwitchId: selectedPersonaId !== activePersonaId ? selectedPersonaId : undefined,
|
|
@@ -367,7 +375,7 @@ export class AgentOSOrchestrator {
|
|
|
367
375
|
};
|
|
368
376
|
this.activeStreamContexts.set(agentOSStreamId, activeStreamCtx);
|
|
369
377
|
await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.SYSTEM_PROGRESS, gmiInstanceIdForChunks, activePersonaId, false, { message: `Persona ${activePersonaId} ready. GMI Instance: ${gmiInstanceIdForChunks}`, progressPercentage: 10 });
|
|
370
|
-
const gmiTurnInput = this.constructGMITurnInput(agentOSStreamId, input, activePersonaId);
|
|
378
|
+
const gmiTurnInput = this.constructGMITurnInput(agentOSStreamId, input, activePersonaId, conversationContext.sessionId);
|
|
371
379
|
// --- Org context + long-term memory policy (persisted per conversation) ---
|
|
372
380
|
if (conversationContext) {
|
|
373
381
|
const inboundOrg = typeof input.organizationId === 'string' ? input.organizationId.trim() : '';
|
|
@@ -763,7 +771,12 @@ export class AgentOSOrchestrator {
|
|
|
763
771
|
const gmiOutputAfterTool = await gmi.handleToolResult(toolCallId, toolName, toolResultPayload, userId, userApiKeys || {});
|
|
764
772
|
await this.processGMIOutput(agentOSStreamId, streamContext, gmiOutputAfterTool, true);
|
|
765
773
|
if (gmiOutputAfterTool.toolCalls && gmiOutputAfterTool.toolCalls.length > 0 && !gmiOutputAfterTool.isFinal) {
|
|
766
|
-
await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.TOOL_CALL_REQUEST, gmiInstanceIdForChunks, personaId, false, {
|
|
774
|
+
await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.TOOL_CALL_REQUEST, gmiInstanceIdForChunks, personaId, false, {
|
|
775
|
+
toolCalls: gmiOutputAfterTool.toolCalls,
|
|
776
|
+
rationale: gmiOutputAfterTool.responseText || "Agent requires further tool execution based on previous tool's result.",
|
|
777
|
+
executionMode: 'external',
|
|
778
|
+
requiresExternalToolResult: true,
|
|
779
|
+
});
|
|
767
780
|
}
|
|
768
781
|
else if (gmiOutputAfterTool.isFinal) {
|
|
769
782
|
console.log(`AgentOSOrchestrator (Stream: ${agentOSStreamId}): GMI interaction concluded as final after tool result processing.`);
|
|
@@ -882,8 +895,16 @@ export class AgentOSOrchestrator {
|
|
|
882
895
|
if (gmiChunk.content && Array.isArray(gmiChunk.content) && gmiChunk.content.length > 0) {
|
|
883
896
|
const toolCalls = gmiChunk.content;
|
|
884
897
|
const rationale = gmiChunk.metadata?.rationale || "Agent is considering using tools.";
|
|
898
|
+
const executionMode = gmiChunk.metadata?.executionMode === 'external' ? 'external' : 'internal';
|
|
885
899
|
await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.TOOL_CALL_REQUEST, gmiInstanceIdForChunks, personaId, false, // Tool call requests are typically not final for the turn
|
|
886
|
-
{
|
|
900
|
+
{
|
|
901
|
+
toolCalls,
|
|
902
|
+
rationale,
|
|
903
|
+
executionMode,
|
|
904
|
+
requiresExternalToolResult: typeof gmiChunk.metadata?.requiresExternalToolResult === 'boolean'
|
|
905
|
+
? gmiChunk.metadata.requiresExternalToolResult
|
|
906
|
+
: executionMode === 'external',
|
|
907
|
+
});
|
|
887
908
|
}
|
|
888
909
|
break;
|
|
889
910
|
}
|