@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,617 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file graphCompiler.ts
|
|
3
|
+
* Compiles agency() strategy configurations into CompiledExecutionGraph IR.
|
|
4
|
+
*
|
|
5
|
+
* This bridge enables the high-level agency() API to leverage the full
|
|
6
|
+
* GraphRuntime DAG engine, gaining:
|
|
7
|
+
* - Checkpointing / mid-run persistence
|
|
8
|
+
* - Structured state passing (scratch/artifacts)
|
|
9
|
+
* - Conditional edge routing
|
|
10
|
+
* - Guardrail nodes
|
|
11
|
+
* - Parallel node execution
|
|
12
|
+
* - Serializable IR
|
|
13
|
+
*
|
|
14
|
+
* Each strategy maps to a different graph topology:
|
|
15
|
+
* - sequential: A -> B -> C -> END
|
|
16
|
+
* - parallel: START -> [A, B, C] -> synthesize -> END
|
|
17
|
+
* - debate: round-based chains with a final synthesizer
|
|
18
|
+
* - review-loop: producer -> reviewer -> conditional back-edge
|
|
19
|
+
* - hierarchical: manager GMI node with delegation tool calls
|
|
20
|
+
*
|
|
21
|
+
* @see {@link compileAgencyToGraph} -- the main entry point.
|
|
22
|
+
* @see {@link GraphRuntime} -- the engine that executes the compiled graph.
|
|
23
|
+
*/
|
|
24
|
+
import { START, END } from '../../orchestration/ir/types.js';
|
|
25
|
+
import { isAgent } from './shared.js';
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Internal helpers
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
/** Auto-incrementing counter for generating unique edge IDs within a compile pass. */
|
|
30
|
+
let edgeCounter = 0;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a unique edge ID for a compile pass.
|
|
33
|
+
* Resets are not necessary because IDs only need to be unique within a single graph.
|
|
34
|
+
*
|
|
35
|
+
* @returns A string ID like `"edge_0"`, `"edge_1"`, etc.
|
|
36
|
+
*/
|
|
37
|
+
function nextEdgeId() {
|
|
38
|
+
return `edge_${edgeCounter++}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resets the edge counter at the start of each compile pass.
|
|
42
|
+
* Ensures deterministic edge IDs across calls (useful for tests).
|
|
43
|
+
*/
|
|
44
|
+
function resetEdgeCounter() {
|
|
45
|
+
edgeCounter = 0;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Extracts the `instructions` string from an agent-or-config value.
|
|
49
|
+
* Falls back to a generic label when no instructions are available.
|
|
50
|
+
*
|
|
51
|
+
* @param agentOrConfig - Either a pre-built Agent or a raw BaseAgentConfig.
|
|
52
|
+
* @param name - The agent's roster name; used in the fallback label.
|
|
53
|
+
* @returns An instruction string suitable for a GMI node's system prompt.
|
|
54
|
+
*/
|
|
55
|
+
function extractInstructions(agentOrConfig, name) {
|
|
56
|
+
if (!isAgent(agentOrConfig)) {
|
|
57
|
+
return agentOrConfig.instructions ?? `Agent "${name}"`;
|
|
58
|
+
}
|
|
59
|
+
return `Agent "${name}"`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Builds a GMI-type GraphNode representing a single agent in the compiled graph.
|
|
63
|
+
*
|
|
64
|
+
* Each agent becomes a "gmi" node whose instructions tell the LLM to:
|
|
65
|
+
* 1. Act as the named agent
|
|
66
|
+
* 2. Read relevant context from scratch (populated by previous nodes)
|
|
67
|
+
* 3. Write its output to scratch for downstream consumption
|
|
68
|
+
*
|
|
69
|
+
* @param nodeId - Unique node identifier within the graph.
|
|
70
|
+
* @param agentName - Human-readable agent name from the roster.
|
|
71
|
+
* @param instructions - System instructions for the GMI node.
|
|
72
|
+
* @param scratchReadKeys - Scratch keys to inject as context (e.g. previous output).
|
|
73
|
+
* @param scratchWriteKey - Scratch key where this node writes its output.
|
|
74
|
+
* @returns A fully configured GraphNode.
|
|
75
|
+
*/
|
|
76
|
+
function makeAgentNode(nodeId, agentName, instructions, scratchReadKeys, scratchWriteKey) {
|
|
77
|
+
// Build context injection instructions so the LLM knows where to find
|
|
78
|
+
// predecessor outputs in the scratch partition.
|
|
79
|
+
const contextLines = scratchReadKeys.length > 0
|
|
80
|
+
? `\n\nRead the following from scratch for context: ${scratchReadKeys.join(', ')}.`
|
|
81
|
+
: '';
|
|
82
|
+
return {
|
|
83
|
+
id: nodeId,
|
|
84
|
+
type: 'gmi',
|
|
85
|
+
executorConfig: {
|
|
86
|
+
type: 'gmi',
|
|
87
|
+
instructions: `You are agent "${agentName}". ${instructions}${contextLines}\n\nWrite your output to scratch key "${scratchWriteKey}".`,
|
|
88
|
+
},
|
|
89
|
+
executionMode: 'single_turn',
|
|
90
|
+
// Agent nodes are pure from the graph's perspective -- side effects
|
|
91
|
+
// happen inside the LLM call, which the graph treats as a black box.
|
|
92
|
+
effectClass: 'pure',
|
|
93
|
+
checkpoint: 'after',
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Builds a GMI-type GraphNode for synthesis (combining multiple agent outputs).
|
|
98
|
+
*
|
|
99
|
+
* @param nodeId - Unique node identifier.
|
|
100
|
+
* @param agentOutputKeys - Scratch keys holding the individual agent outputs.
|
|
101
|
+
* @param agencyInstructions - Optional agency-level instructions to append.
|
|
102
|
+
* @returns A GraphNode configured for synthesis.
|
|
103
|
+
*/
|
|
104
|
+
function makeSynthesizerNode(nodeId, agentOutputKeys, agencyInstructions) {
|
|
105
|
+
const extraInstructions = agencyInstructions
|
|
106
|
+
? `\n\n${agencyInstructions}`
|
|
107
|
+
: '';
|
|
108
|
+
return {
|
|
109
|
+
id: nodeId,
|
|
110
|
+
type: 'gmi',
|
|
111
|
+
executorConfig: {
|
|
112
|
+
type: 'gmi',
|
|
113
|
+
instructions: `You are a synthesis agent. Multiple agents have produced outputs stored in scratch keys: ${agentOutputKeys.join(', ')}. ` +
|
|
114
|
+
`Read all of them and synthesize a single coherent response. ` +
|
|
115
|
+
`Write the final answer to scratch key "finalOutput".${extraInstructions}`,
|
|
116
|
+
},
|
|
117
|
+
executionMode: 'single_turn',
|
|
118
|
+
effectClass: 'pure',
|
|
119
|
+
checkpoint: 'after',
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Creates a static edge between two nodes.
|
|
124
|
+
*
|
|
125
|
+
* @param source - Source node ID (or START sentinel).
|
|
126
|
+
* @param target - Target node ID (or END sentinel).
|
|
127
|
+
* @returns A static GraphEdge.
|
|
128
|
+
*/
|
|
129
|
+
function staticEdge(source, target) {
|
|
130
|
+
return {
|
|
131
|
+
id: nextEdgeId(),
|
|
132
|
+
source,
|
|
133
|
+
target,
|
|
134
|
+
type: 'static',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates a conditional edge with an expression-based condition.
|
|
139
|
+
*
|
|
140
|
+
* @param source - Source node ID.
|
|
141
|
+
* @param target - Target node ID.
|
|
142
|
+
* @param expr - Condition expression evaluated against GraphState.
|
|
143
|
+
* @returns A conditional GraphEdge.
|
|
144
|
+
*/
|
|
145
|
+
function conditionalEdge(source, target, expr) {
|
|
146
|
+
return {
|
|
147
|
+
id: nextEdgeId(),
|
|
148
|
+
source,
|
|
149
|
+
target,
|
|
150
|
+
type: 'conditional',
|
|
151
|
+
condition: { type: 'expression', expr },
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
// ---------------------------------------------------------------------------
|
|
155
|
+
// Strategy compilers
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
157
|
+
/**
|
|
158
|
+
* Compiles a sequential strategy into a linear chain of GMI nodes.
|
|
159
|
+
*
|
|
160
|
+
* Topology: START -> agent_0 -> agent_1 -> ... -> agent_N -> END
|
|
161
|
+
*
|
|
162
|
+
* Each agent reads the previous agent's output from scratch and writes
|
|
163
|
+
* its own output. The final agent's output becomes the graph's artifact.
|
|
164
|
+
*
|
|
165
|
+
* @param agents - Named roster of agent configs or pre-built Agent instances.
|
|
166
|
+
* @param config - Agency-level configuration.
|
|
167
|
+
* @param prompt - The user's input prompt.
|
|
168
|
+
* @returns The compiled graph components (nodes, edges, reducers).
|
|
169
|
+
*/
|
|
170
|
+
function compileSequentialGraph(agents, config, prompt) {
|
|
171
|
+
const entries = Object.entries(agents);
|
|
172
|
+
const nodes = [];
|
|
173
|
+
const edges = [];
|
|
174
|
+
for (let i = 0; i < entries.length; i++) {
|
|
175
|
+
const [name, agentOrConfig] = entries[i];
|
|
176
|
+
const nodeId = `agent_${name}`;
|
|
177
|
+
const instructions = extractInstructions(agentOrConfig, name);
|
|
178
|
+
// Each agent reads from the previous agent's output scratch key.
|
|
179
|
+
// The first agent reads from the prompt (injected as scratch.prompt).
|
|
180
|
+
const readKeys = i === 0
|
|
181
|
+
? ['prompt']
|
|
182
|
+
: [`output_${entries[i - 1][0]}`];
|
|
183
|
+
const writeKey = `output_${name}`;
|
|
184
|
+
nodes.push(makeAgentNode(nodeId, name, instructions, readKeys, writeKey));
|
|
185
|
+
// Wire edges: START -> first node, or previous node -> this node.
|
|
186
|
+
if (i === 0) {
|
|
187
|
+
edges.push(staticEdge(START, nodeId));
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
edges.push(staticEdge(`agent_${entries[i - 1][0]}`, nodeId));
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Last node -> END
|
|
194
|
+
if (entries.length > 0) {
|
|
195
|
+
edges.push(staticEdge(`agent_${entries[entries.length - 1][0]}`, END));
|
|
196
|
+
}
|
|
197
|
+
// Use 'last' reducer for output keys so each agent overwrites cleanly.
|
|
198
|
+
const reducers = {};
|
|
199
|
+
for (const [name] of entries) {
|
|
200
|
+
reducers[`scratch.output_${name}`] = 'last';
|
|
201
|
+
}
|
|
202
|
+
return { nodes, edges, reducers };
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Compiles a parallel strategy into a fan-out/fan-in graph.
|
|
206
|
+
*
|
|
207
|
+
* Topology: START -> [agent_0, agent_1, ...] -> synthesizer -> END
|
|
208
|
+
*
|
|
209
|
+
* All agent nodes connect from START (running in parallel via GraphRuntime).
|
|
210
|
+
* A synthesizer node connects from all agents to produce a merged result.
|
|
211
|
+
*
|
|
212
|
+
* @param agents - Named roster of agent configs or pre-built Agent instances.
|
|
213
|
+
* @param config - Agency-level configuration.
|
|
214
|
+
* @param prompt - The user's input prompt.
|
|
215
|
+
* @returns The compiled graph components.
|
|
216
|
+
*/
|
|
217
|
+
function compileParallelGraph(agents, config, prompt) {
|
|
218
|
+
const entries = Object.entries(agents);
|
|
219
|
+
const nodes = [];
|
|
220
|
+
const edges = [];
|
|
221
|
+
const outputKeys = [];
|
|
222
|
+
// Fan-out: each agent node connects directly from START.
|
|
223
|
+
for (const [name, agentOrConfig] of entries) {
|
|
224
|
+
const nodeId = `agent_${name}`;
|
|
225
|
+
const instructions = extractInstructions(agentOrConfig, name);
|
|
226
|
+
const writeKey = `output_${name}`;
|
|
227
|
+
outputKeys.push(writeKey);
|
|
228
|
+
nodes.push(makeAgentNode(nodeId, name, instructions, ['prompt'], writeKey));
|
|
229
|
+
edges.push(staticEdge(START, nodeId));
|
|
230
|
+
}
|
|
231
|
+
// Fan-in: synthesizer reads all agent outputs and produces finalOutput.
|
|
232
|
+
const synthId = 'synthesizer';
|
|
233
|
+
nodes.push(makeSynthesizerNode(synthId, outputKeys, config.instructions));
|
|
234
|
+
// All agents feed into the synthesizer.
|
|
235
|
+
for (const [name] of entries) {
|
|
236
|
+
edges.push(staticEdge(`agent_${name}`, synthId));
|
|
237
|
+
}
|
|
238
|
+
edges.push(staticEdge(synthId, END));
|
|
239
|
+
// Reducers: each output key uses 'last', outputs collection uses 'concat'
|
|
240
|
+
// so parallel branches can write independently without conflict.
|
|
241
|
+
const reducers = {};
|
|
242
|
+
for (const [name] of entries) {
|
|
243
|
+
reducers[`scratch.output_${name}`] = 'last';
|
|
244
|
+
}
|
|
245
|
+
reducers['scratch.agentOutputs'] = 'concat';
|
|
246
|
+
return { nodes, edges, reducers };
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Compiles a debate strategy into a round-based graph.
|
|
250
|
+
*
|
|
251
|
+
* Topology: For R rounds and N agents:
|
|
252
|
+
* START -> agent_0_r0 -> agent_1_r0 -> ... -> agent_0_r1 -> ... -> synthesizer -> END
|
|
253
|
+
*
|
|
254
|
+
* Each round, agents see all prior arguments. The debate history
|
|
255
|
+
* accumulates in scratch.debateHistory via a 'concat' reducer.
|
|
256
|
+
*
|
|
257
|
+
* @param agents - Named roster of agent configs or pre-built Agent instances.
|
|
258
|
+
* @param config - Agency-level configuration.
|
|
259
|
+
* @param prompt - The user's input prompt.
|
|
260
|
+
* @returns The compiled graph components.
|
|
261
|
+
*/
|
|
262
|
+
function compileDebateGraph(agents, config, prompt) {
|
|
263
|
+
const entries = Object.entries(agents);
|
|
264
|
+
const maxRounds = config.maxRounds ?? 3;
|
|
265
|
+
const nodes = [];
|
|
266
|
+
const edges = [];
|
|
267
|
+
let previousNodeId = null;
|
|
268
|
+
// Create nodes for each agent in each round, chained sequentially.
|
|
269
|
+
// Within each round, every agent sees the full debate history.
|
|
270
|
+
for (let round = 0; round < maxRounds; round++) {
|
|
271
|
+
for (let i = 0; i < entries.length; i++) {
|
|
272
|
+
const [name, agentOrConfig] = entries[i];
|
|
273
|
+
const nodeId = `agent_${name}_r${round}`;
|
|
274
|
+
const instructions = extractInstructions(agentOrConfig, name);
|
|
275
|
+
const node = {
|
|
276
|
+
id: nodeId,
|
|
277
|
+
type: 'gmi',
|
|
278
|
+
executorConfig: {
|
|
279
|
+
type: 'gmi',
|
|
280
|
+
instructions: `You are agent "${name}" in round ${round + 1}/${maxRounds} of a debate. ` +
|
|
281
|
+
`${instructions}\n\n` +
|
|
282
|
+
`Read scratch.debateHistory for all prior arguments. ` +
|
|
283
|
+
`Present your perspective, then write your argument to scratch.debateHistory (it will be appended via concat reducer). ` +
|
|
284
|
+
`Also write your argument to scratch.latestArgument.`,
|
|
285
|
+
},
|
|
286
|
+
executionMode: 'single_turn',
|
|
287
|
+
effectClass: 'pure',
|
|
288
|
+
checkpoint: 'none',
|
|
289
|
+
};
|
|
290
|
+
nodes.push(node);
|
|
291
|
+
// Wire edge from previous node or START.
|
|
292
|
+
if (previousNodeId === null) {
|
|
293
|
+
edges.push(staticEdge(START, nodeId));
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
edges.push(staticEdge(previousNodeId, nodeId));
|
|
297
|
+
}
|
|
298
|
+
previousNodeId = nodeId;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Synthesizer reads the full debate history and produces a final answer.
|
|
302
|
+
const synthId = 'synthesizer';
|
|
303
|
+
nodes.push(makeSynthesizerNode(synthId, ['debateHistory'], config.instructions));
|
|
304
|
+
if (previousNodeId) {
|
|
305
|
+
edges.push(staticEdge(previousNodeId, synthId));
|
|
306
|
+
}
|
|
307
|
+
edges.push(staticEdge(synthId, END));
|
|
308
|
+
// Debate history accumulates via concat; latest argument is last-write-wins.
|
|
309
|
+
const reducers = {
|
|
310
|
+
'scratch.debateHistory': 'concat',
|
|
311
|
+
'scratch.latestArgument': 'last',
|
|
312
|
+
};
|
|
313
|
+
return { nodes, edges, reducers };
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Compiles a review-loop strategy with a conditional back-edge.
|
|
317
|
+
*
|
|
318
|
+
* Topology:
|
|
319
|
+
* START -> producer -> reviewer -> (conditional)
|
|
320
|
+
* approved=true -> END
|
|
321
|
+
* approved=false -> producer (back to revision, up to maxRounds)
|
|
322
|
+
*
|
|
323
|
+
* A router node after the reviewer checks scratch.reviewApproved.
|
|
324
|
+
* If not approved and rounds remain, execution loops back to the producer.
|
|
325
|
+
* A round counter in scratch prevents infinite loops.
|
|
326
|
+
*
|
|
327
|
+
* @param agents - Named roster; first agent = producer, second = reviewer.
|
|
328
|
+
* @param config - Agency-level configuration.
|
|
329
|
+
* @param prompt - The user's input prompt.
|
|
330
|
+
* @returns The compiled graph components.
|
|
331
|
+
*/
|
|
332
|
+
function compileReviewLoopGraph(agents, config, prompt) {
|
|
333
|
+
const entries = Object.entries(agents);
|
|
334
|
+
const maxRounds = config.maxRounds ?? 3;
|
|
335
|
+
const [producerName, producerConfig] = entries[0];
|
|
336
|
+
const [reviewerName, reviewerConfig] = entries[1];
|
|
337
|
+
const producerId = `agent_${producerName}`;
|
|
338
|
+
const reviewerId = `agent_${reviewerName}`;
|
|
339
|
+
const routerId = 'review_router';
|
|
340
|
+
const producerInstructions = extractInstructions(producerConfig, producerName);
|
|
341
|
+
const reviewerInstructions = extractInstructions(reviewerConfig, reviewerName);
|
|
342
|
+
const nodes = [
|
|
343
|
+
// Producer: reads prompt + any reviewer feedback from scratch.
|
|
344
|
+
{
|
|
345
|
+
id: producerId,
|
|
346
|
+
type: 'gmi',
|
|
347
|
+
executorConfig: {
|
|
348
|
+
type: 'gmi',
|
|
349
|
+
instructions: `You are the producer agent "${producerName}". ${producerInstructions}\n\n` +
|
|
350
|
+
`Read scratch.prompt for the task. If scratch.reviewFeedback exists, incorporate that feedback to revise your work. ` +
|
|
351
|
+
`Write your draft to scratch.draft.`,
|
|
352
|
+
},
|
|
353
|
+
executionMode: 'single_turn',
|
|
354
|
+
effectClass: 'pure',
|
|
355
|
+
checkpoint: 'after',
|
|
356
|
+
},
|
|
357
|
+
// Reviewer: reads the draft and decides approval.
|
|
358
|
+
{
|
|
359
|
+
id: reviewerId,
|
|
360
|
+
type: 'gmi',
|
|
361
|
+
executorConfig: {
|
|
362
|
+
type: 'gmi',
|
|
363
|
+
instructions: `You are the reviewer agent "${reviewerName}". ${reviewerInstructions}\n\n` +
|
|
364
|
+
`Read scratch.draft for the current work. ` +
|
|
365
|
+
`Evaluate it and respond with JSON: { "approved": true/false, "feedback": "..." }. ` +
|
|
366
|
+
`Write the approval boolean to scratch.reviewApproved and your feedback to scratch.reviewFeedback. ` +
|
|
367
|
+
`Also increment scratch.reviewRound by 1.`,
|
|
368
|
+
},
|
|
369
|
+
executionMode: 'single_turn',
|
|
370
|
+
effectClass: 'pure',
|
|
371
|
+
checkpoint: 'after',
|
|
372
|
+
},
|
|
373
|
+
// Router: checks approval status and round count.
|
|
374
|
+
// Routes to END if approved or rounds exhausted, back to producer otherwise.
|
|
375
|
+
{
|
|
376
|
+
id: routerId,
|
|
377
|
+
type: 'router',
|
|
378
|
+
executorConfig: {
|
|
379
|
+
type: 'router',
|
|
380
|
+
condition: {
|
|
381
|
+
type: 'function',
|
|
382
|
+
fn: (state) => {
|
|
383
|
+
const scratch = state.scratch;
|
|
384
|
+
const approved = scratch.reviewApproved === true;
|
|
385
|
+
const round = scratch.reviewRound ?? 0;
|
|
386
|
+
// Terminate if approved or max rounds exhausted.
|
|
387
|
+
if (approved || round >= maxRounds) {
|
|
388
|
+
return END;
|
|
389
|
+
}
|
|
390
|
+
// Loop back to producer for revision.
|
|
391
|
+
return producerId;
|
|
392
|
+
},
|
|
393
|
+
description: `Route to END if approved or ${maxRounds} rounds exhausted, otherwise back to producer`,
|
|
394
|
+
},
|
|
395
|
+
},
|
|
396
|
+
executionMode: 'single_turn',
|
|
397
|
+
effectClass: 'pure',
|
|
398
|
+
checkpoint: 'none',
|
|
399
|
+
},
|
|
400
|
+
];
|
|
401
|
+
const edges = [
|
|
402
|
+
staticEdge(START, producerId),
|
|
403
|
+
staticEdge(producerId, reviewerId),
|
|
404
|
+
staticEdge(reviewerId, routerId),
|
|
405
|
+
// Conditional edges from the router.
|
|
406
|
+
conditionalEdge(routerId, END, `state.scratch.reviewApproved === true || (state.scratch.reviewRound ?? 0) >= ${maxRounds}`),
|
|
407
|
+
conditionalEdge(routerId, producerId, `state.scratch.reviewApproved !== true && (state.scratch.reviewRound ?? 0) < ${maxRounds}`),
|
|
408
|
+
];
|
|
409
|
+
const reducers = {
|
|
410
|
+
'scratch.draft': 'last',
|
|
411
|
+
'scratch.reviewApproved': 'last',
|
|
412
|
+
'scratch.reviewFeedback': 'last',
|
|
413
|
+
'scratch.reviewRound': 'sum',
|
|
414
|
+
};
|
|
415
|
+
return { nodes, edges, reducers };
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Compiles a hierarchical strategy where a manager node delegates via tool calls.
|
|
419
|
+
*
|
|
420
|
+
* Topology: START -> manager -> END
|
|
421
|
+
*
|
|
422
|
+
* The manager is a GMI node with instructions that describe the team roster.
|
|
423
|
+
* Sub-agent delegation happens via the manager's tool-calling capability --
|
|
424
|
+
* each sub-agent is described in the manager's instructions as a delegate.
|
|
425
|
+
* Actual tool wiring happens at runtime via the NodeExecutor's providerCall.
|
|
426
|
+
*
|
|
427
|
+
* @param agents - Named roster of agent configs or pre-built Agent instances.
|
|
428
|
+
* @param config - Agency-level configuration.
|
|
429
|
+
* @param prompt - The user's input prompt.
|
|
430
|
+
* @returns The compiled graph components.
|
|
431
|
+
*/
|
|
432
|
+
function compileHierarchicalGraph(agents, config, prompt) {
|
|
433
|
+
const entries = Object.entries(agents);
|
|
434
|
+
// Build the team roster for the manager's system prompt.
|
|
435
|
+
const teamRoster = entries
|
|
436
|
+
.map(([name, agentOrConfig]) => {
|
|
437
|
+
const desc = extractInstructions(agentOrConfig, name);
|
|
438
|
+
return `- delegate_to_${name}: ${desc}`;
|
|
439
|
+
})
|
|
440
|
+
.join('\n');
|
|
441
|
+
const managerInstructions = `You are a manager agent. Your task is to accomplish the user's goal by delegating subtasks to your team members.\n\n` +
|
|
442
|
+
`Available team members (use tool calls to delegate):\n${teamRoster}\n\n` +
|
|
443
|
+
`Synthesize their outputs into a final answer. ` +
|
|
444
|
+
`Write the final answer to scratch.finalOutput.` +
|
|
445
|
+
(config.instructions ? `\n\n${config.instructions}` : '');
|
|
446
|
+
const managerId = 'manager';
|
|
447
|
+
const nodes = [
|
|
448
|
+
{
|
|
449
|
+
id: managerId,
|
|
450
|
+
type: 'gmi',
|
|
451
|
+
executorConfig: {
|
|
452
|
+
type: 'gmi',
|
|
453
|
+
instructions: managerInstructions,
|
|
454
|
+
// Higher iteration budget since the manager needs to make
|
|
455
|
+
// multiple tool calls for delegation.
|
|
456
|
+
maxInternalIterations: config.maxSteps ?? 10,
|
|
457
|
+
},
|
|
458
|
+
executionMode: 'react_bounded',
|
|
459
|
+
effectClass: 'pure',
|
|
460
|
+
checkpoint: 'after',
|
|
461
|
+
},
|
|
462
|
+
];
|
|
463
|
+
const edges = [
|
|
464
|
+
staticEdge(START, managerId),
|
|
465
|
+
staticEdge(managerId, END),
|
|
466
|
+
];
|
|
467
|
+
const reducers = {
|
|
468
|
+
'scratch.finalOutput': 'last',
|
|
469
|
+
};
|
|
470
|
+
return { nodes, edges, reducers };
|
|
471
|
+
}
|
|
472
|
+
// ---------------------------------------------------------------------------
|
|
473
|
+
// Public API
|
|
474
|
+
// ---------------------------------------------------------------------------
|
|
475
|
+
/**
|
|
476
|
+
* Compiles an agency configuration into a CompiledExecutionGraph
|
|
477
|
+
* that can be executed by GraphRuntime.
|
|
478
|
+
*
|
|
479
|
+
* Each sub-agent becomes a GMI node in the graph. The strategy
|
|
480
|
+
* determines how nodes are connected:
|
|
481
|
+
* - sequential: A -> B -> C -> END
|
|
482
|
+
* - parallel: START -> [A, B, C] -> synthesize -> END
|
|
483
|
+
* - debate: round-based sequential chain -> synthesize -> END
|
|
484
|
+
* - review-loop: produce -> review -> (conditional) produce/END
|
|
485
|
+
* - hierarchical: manager GMI node -> END (delegation via tool calls)
|
|
486
|
+
*
|
|
487
|
+
* The compiled graph carries:
|
|
488
|
+
* - Proper state reducers for scratch field merging
|
|
489
|
+
* - Checkpoint policy for mid-run persistence
|
|
490
|
+
* - Schema declarations for input/scratch/artifacts
|
|
491
|
+
*
|
|
492
|
+
* @param config - The full AgencyOptions with agents, strategy, and settings.
|
|
493
|
+
* @param prompt - The user's input prompt to inject into the graph's initial state.
|
|
494
|
+
* @returns A CompiledExecutionGraph ready for GraphRuntime.invoke() or .stream().
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* ```ts
|
|
498
|
+
* const graph = compileAgencyToGraph(agencyConfig, 'Summarise AI research.');
|
|
499
|
+
* const runtime = new GraphRuntime({ checkpointStore, nodeExecutor });
|
|
500
|
+
* const result = await runtime.invoke(graph, { prompt: 'Summarise AI research.' });
|
|
501
|
+
* ```
|
|
502
|
+
*/
|
|
503
|
+
export function compileAgencyToGraph(config, prompt) {
|
|
504
|
+
resetEdgeCounter();
|
|
505
|
+
const strategy = config.strategy ?? 'sequential';
|
|
506
|
+
const agents = config.agents;
|
|
507
|
+
let compiled;
|
|
508
|
+
switch (strategy) {
|
|
509
|
+
case 'sequential':
|
|
510
|
+
compiled = compileSequentialGraph(agents, config, prompt);
|
|
511
|
+
break;
|
|
512
|
+
case 'parallel':
|
|
513
|
+
compiled = compileParallelGraph(agents, config, prompt);
|
|
514
|
+
break;
|
|
515
|
+
case 'debate':
|
|
516
|
+
compiled = compileDebateGraph(agents, config, prompt);
|
|
517
|
+
break;
|
|
518
|
+
case 'review-loop':
|
|
519
|
+
compiled = compileReviewLoopGraph(agents, config, prompt);
|
|
520
|
+
break;
|
|
521
|
+
case 'hierarchical':
|
|
522
|
+
compiled = compileHierarchicalGraph(agents, config, prompt);
|
|
523
|
+
break;
|
|
524
|
+
case 'graph':
|
|
525
|
+
// The 'graph' strategy already uses DAG semantics in its own compiler.
|
|
526
|
+
// Delegate to the sequential compiler as a baseline; the agentGraphBuilder
|
|
527
|
+
// provides the full DAG experience for 'graph' strategy users.
|
|
528
|
+
compiled = compileSequentialGraph(agents, config, prompt);
|
|
529
|
+
break;
|
|
530
|
+
default:
|
|
531
|
+
throw new Error(`Cannot compile strategy "${strategy}" to graph IR`);
|
|
532
|
+
}
|
|
533
|
+
return {
|
|
534
|
+
id: `agency-${strategy}-${crypto.randomUUID().slice(0, 8)}`,
|
|
535
|
+
name: `Agency (${strategy})`,
|
|
536
|
+
nodes: compiled.nodes,
|
|
537
|
+
edges: compiled.edges,
|
|
538
|
+
stateSchema: {
|
|
539
|
+
input: { type: 'object', properties: { prompt: { type: 'string' } } },
|
|
540
|
+
scratch: { type: 'object' },
|
|
541
|
+
artifacts: { type: 'object' },
|
|
542
|
+
},
|
|
543
|
+
reducers: compiled.reducers,
|
|
544
|
+
// Persist after each node so interrupted runs can be resumed.
|
|
545
|
+
checkpointPolicy: 'explicit',
|
|
546
|
+
memoryConsistency: 'live',
|
|
547
|
+
};
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Maps the final GraphState from a GraphRuntime run back to the shape
|
|
551
|
+
* expected by the agency API's GenerateTextResult.
|
|
552
|
+
*
|
|
553
|
+
* Extracts the final text output from artifacts/scratch and constructs
|
|
554
|
+
* the agentCalls array from the graph's diagnostic node timings.
|
|
555
|
+
*
|
|
556
|
+
* @param finalOutput - The artifacts payload returned by GraphRuntime.invoke().
|
|
557
|
+
* @param config - The original agency configuration (used for metadata).
|
|
558
|
+
* @returns An object compatible with the agency execute() return shape.
|
|
559
|
+
*/
|
|
560
|
+
export function mapGraphResultToAgencyResult(finalOutput, config) {
|
|
561
|
+
const output = finalOutput;
|
|
562
|
+
// Extract text from various possible locations in the output.
|
|
563
|
+
const text = output?.finalOutput ??
|
|
564
|
+
output?.draft ??
|
|
565
|
+
output?.text ??
|
|
566
|
+
'';
|
|
567
|
+
return {
|
|
568
|
+
text,
|
|
569
|
+
agentCalls: [],
|
|
570
|
+
usage: { promptTokens: 0, completionTokens: 0, totalTokens: 0 },
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Maps a GraphEvent from the runtime's stream into an AgencyStreamPart.
|
|
575
|
+
*
|
|
576
|
+
* Translates the lower-level graph events (node_start, node_end, text_delta)
|
|
577
|
+
* into the agency-level event vocabulary (agent-start, agent-end, text).
|
|
578
|
+
*
|
|
579
|
+
* @param event - A GraphEvent from GraphRuntime.stream().
|
|
580
|
+
* @param config - The original agency configuration (used for metadata).
|
|
581
|
+
* @returns An AgencyStreamPart, or null if the event has no agency-level equivalent.
|
|
582
|
+
*/
|
|
583
|
+
export function mapGraphEventToAgencyEvent(event, config) {
|
|
584
|
+
switch (event.type) {
|
|
585
|
+
case 'node_start':
|
|
586
|
+
return {
|
|
587
|
+
type: 'agent-start',
|
|
588
|
+
agent: event.nodeId,
|
|
589
|
+
input: '',
|
|
590
|
+
};
|
|
591
|
+
case 'node_end':
|
|
592
|
+
return {
|
|
593
|
+
type: 'agent-end',
|
|
594
|
+
agent: event.nodeId,
|
|
595
|
+
output: event.output ?? '',
|
|
596
|
+
durationMs: event.durationMs ?? 0,
|
|
597
|
+
};
|
|
598
|
+
case 'text_delta':
|
|
599
|
+
return {
|
|
600
|
+
type: 'text',
|
|
601
|
+
text: event.content,
|
|
602
|
+
agent: event.nodeId,
|
|
603
|
+
};
|
|
604
|
+
case 'run_end':
|
|
605
|
+
return {
|
|
606
|
+
type: 'agent-end',
|
|
607
|
+
agent: '__agency__',
|
|
608
|
+
output: '',
|
|
609
|
+
durationMs: event.totalDurationMs ?? 0,
|
|
610
|
+
};
|
|
611
|
+
default:
|
|
612
|
+
// Many graph events (checkpoint_saved, edge_transition) have no
|
|
613
|
+
// agency-level equivalent -- silently ignore them.
|
|
614
|
+
return null;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
//# sourceMappingURL=graphCompiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphCompiler.js","sourceRoot":"","sources":["../../../src/api/strategies/graphCompiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchical.d.ts","sourceRoot":"","sources":["../../../src/api/strategies/hierarchical.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hierarchical.d.ts","sourceRoot":"","sources":["../../../src/api/strategies/hierarchical.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,eAAe,EAEhB,MAAM,aAAa,CAAC;AAqBrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,KAAK,CAAC,EAC/C,YAAY,EAAE,aAAa,GAC1B,gBAAgB,CAqIlB"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* @see {@link compileAdaptiveWrapper} -- wraps other strategies with a hierarchical manager.
|
|
29
29
|
*/
|
|
30
30
|
import { agent as createAgent } from '../agent.js';
|
|
31
|
+
import { mergeAdaptableTools } from '../toolAdapter.js';
|
|
31
32
|
import { AgencyConfigError } from '../types.js';
|
|
32
33
|
import { isAgent, resolveAgent, checkBeforeAgent } from './shared.js';
|
|
33
34
|
/**
|
|
@@ -143,7 +144,7 @@ export function compileHierarchical(agents, agencyConfig) {
|
|
|
143
144
|
(agencyConfig.instructions ? `\n\n${agencyConfig.instructions}` : '');
|
|
144
145
|
// Merge agency-level tools with the delegation tools. Agency tools
|
|
145
146
|
// (e.g. shared search, calculator) are available alongside delegation.
|
|
146
|
-
const mergedTools =
|
|
147
|
+
const mergedTools = mergeAdaptableTools(agencyConfig.tools, agentTools);
|
|
147
148
|
const manager = createAgent({
|
|
148
149
|
model: agencyConfig.model,
|
|
149
150
|
provider: agencyConfig.provider,
|