agentfootprint 1.0.0
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/AGENTS.md +297 -0
- package/CLAUDE.md +297 -0
- package/LICENSE +21 -0
- package/README.md +339 -0
- package/ai-instructions/claude-code/SKILL.md +597 -0
- package/ai-instructions/clinerules +85 -0
- package/ai-instructions/copilot-instructions.md +109 -0
- package/ai-instructions/cursor/agentfootprint.md +101 -0
- package/ai-instructions/kiro/agentfootprint.md +101 -0
- package/ai-instructions/setup.sh +140 -0
- package/ai-instructions/windsurfrules +85 -0
- package/dist/adapters/a2a/a2aRunner.js +36 -0
- package/dist/adapters/a2a/a2aRunner.js.map +1 -0
- package/dist/adapters/anthropic/AnthropicAdapter.js +293 -0
- package/dist/adapters/anthropic/AnthropicAdapter.js.map +1 -0
- package/dist/adapters/bedrock/BedrockAdapter.js +313 -0
- package/dist/adapters/bedrock/BedrockAdapter.js.map +1 -0
- package/dist/adapters/browser/BrowserAnthropicAdapter.js +349 -0
- package/dist/adapters/browser/BrowserAnthropicAdapter.js.map +1 -0
- package/dist/adapters/browser/BrowserOpenAIAdapter.js +303 -0
- package/dist/adapters/browser/BrowserOpenAIAdapter.js.map +1 -0
- package/dist/adapters/browser/index.js +8 -0
- package/dist/adapters/browser/index.js.map +1 -0
- package/dist/adapters/createAdapterSubflow.js +46 -0
- package/dist/adapters/createAdapterSubflow.js.map +1 -0
- package/dist/adapters/createProvider.js +107 -0
- package/dist/adapters/createProvider.js.map +1 -0
- package/dist/adapters/fallbackProvider.js +94 -0
- package/dist/adapters/fallbackProvider.js.map +1 -0
- package/dist/adapters/index.js +47 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mcp/mcpToolProvider.js +44 -0
- package/dist/adapters/mcp/mcpToolProvider.js.map +1 -0
- package/dist/adapters/memory/inMemory.js +38 -0
- package/dist/adapters/memory/inMemory.js.map +1 -0
- package/dist/adapters/memory/index.js +6 -0
- package/dist/adapters/memory/index.js.map +1 -0
- package/dist/adapters/memory/stores.js +137 -0
- package/dist/adapters/memory/stores.js.map +1 -0
- package/dist/adapters/memory/types.js +14 -0
- package/dist/adapters/memory/types.js.map +1 -0
- package/dist/adapters/mock/MockAdapter.js +66 -0
- package/dist/adapters/mock/MockAdapter.js.map +1 -0
- package/dist/adapters/mock/MockRetriever.js +61 -0
- package/dist/adapters/mock/MockRetriever.js.map +1 -0
- package/dist/adapters/openai/OpenAIAdapter.js +276 -0
- package/dist/adapters/openai/OpenAIAdapter.js.map +1 -0
- package/dist/adapters/resilientProvider.js +93 -0
- package/dist/adapters/resilientProvider.js.map +1 -0
- package/dist/compositions/index.js +17 -0
- package/dist/compositions/index.js.map +1 -0
- package/dist/compositions/withCircuitBreaker.js +84 -0
- package/dist/compositions/withCircuitBreaker.js.map +1 -0
- package/dist/compositions/withFallback.js +33 -0
- package/dist/compositions/withFallback.js.map +1 -0
- package/dist/compositions/withRetry.js +59 -0
- package/dist/compositions/withRetry.js.map +1 -0
- package/dist/concepts/FlowChart.js +205 -0
- package/dist/concepts/FlowChart.js.map +1 -0
- package/dist/concepts/LLMCall.js +160 -0
- package/dist/concepts/LLMCall.js.map +1 -0
- package/dist/concepts/Parallel.js +254 -0
- package/dist/concepts/Parallel.js.map +1 -0
- package/dist/concepts/RAG.js +198 -0
- package/dist/concepts/RAG.js.map +1 -0
- package/dist/concepts/Swarm.js +270 -0
- package/dist/concepts/Swarm.js.map +1 -0
- package/dist/concepts/index.js +23 -0
- package/dist/concepts/index.js.map +1 -0
- package/dist/concepts/specIcons.js +48 -0
- package/dist/concepts/specIcons.js.map +1 -0
- package/dist/core/config.js +7 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/providers.js +19 -0
- package/dist/core/providers.js.map +1 -0
- package/dist/core/recorders.js +7 -0
- package/dist/core/recorders.js.map +1 -0
- package/dist/esm/adapters/a2a/a2aRunner.js +32 -0
- package/dist/esm/adapters/a2a/a2aRunner.js.map +1 -0
- package/dist/esm/adapters/anthropic/AnthropicAdapter.js +289 -0
- package/dist/esm/adapters/anthropic/AnthropicAdapter.js.map +1 -0
- package/dist/esm/adapters/bedrock/BedrockAdapter.js +309 -0
- package/dist/esm/adapters/bedrock/BedrockAdapter.js.map +1 -0
- package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js +345 -0
- package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js.map +1 -0
- package/dist/esm/adapters/browser/BrowserOpenAIAdapter.js +299 -0
- package/dist/esm/adapters/browser/BrowserOpenAIAdapter.js.map +1 -0
- package/dist/esm/adapters/browser/index.js +3 -0
- package/dist/esm/adapters/browser/index.js.map +1 -0
- package/dist/esm/adapters/createAdapterSubflow.js +42 -0
- package/dist/esm/adapters/createAdapterSubflow.js.map +1 -0
- package/dist/esm/adapters/createProvider.js +101 -0
- package/dist/esm/adapters/createProvider.js.map +1 -0
- package/dist/esm/adapters/fallbackProvider.js +90 -0
- package/dist/esm/adapters/fallbackProvider.js.map +1 -0
- package/dist/esm/adapters/index.js +23 -0
- package/dist/esm/adapters/index.js.map +1 -0
- package/dist/esm/adapters/mcp/mcpToolProvider.js +40 -0
- package/dist/esm/adapters/mcp/mcpToolProvider.js.map +1 -0
- package/dist/esm/adapters/memory/inMemory.js +34 -0
- package/dist/esm/adapters/memory/inMemory.js.map +1 -0
- package/dist/esm/adapters/memory/index.js +2 -0
- package/dist/esm/adapters/memory/index.js.map +1 -0
- package/dist/esm/adapters/memory/stores.js +131 -0
- package/dist/esm/adapters/memory/stores.js.map +1 -0
- package/dist/esm/adapters/memory/types.js +13 -0
- package/dist/esm/adapters/memory/types.js.map +1 -0
- package/dist/esm/adapters/mock/MockAdapter.js +61 -0
- package/dist/esm/adapters/mock/MockAdapter.js.map +1 -0
- package/dist/esm/adapters/mock/MockRetriever.js +56 -0
- package/dist/esm/adapters/mock/MockRetriever.js.map +1 -0
- package/dist/esm/adapters/openai/OpenAIAdapter.js +272 -0
- package/dist/esm/adapters/openai/OpenAIAdapter.js.map +1 -0
- package/dist/esm/adapters/resilientProvider.js +89 -0
- package/dist/esm/adapters/resilientProvider.js.map +1 -0
- package/dist/esm/compositions/index.js +10 -0
- package/dist/esm/compositions/index.js.map +1 -0
- package/dist/esm/compositions/withCircuitBreaker.js +79 -0
- package/dist/esm/compositions/withCircuitBreaker.js.map +1 -0
- package/dist/esm/compositions/withFallback.js +29 -0
- package/dist/esm/compositions/withFallback.js.map +1 -0
- package/dist/esm/compositions/withRetry.js +55 -0
- package/dist/esm/compositions/withRetry.js.map +1 -0
- package/dist/esm/concepts/FlowChart.js +200 -0
- package/dist/esm/concepts/FlowChart.js.map +1 -0
- package/dist/esm/concepts/LLMCall.js +155 -0
- package/dist/esm/concepts/LLMCall.js.map +1 -0
- package/dist/esm/concepts/Parallel.js +249 -0
- package/dist/esm/concepts/Parallel.js.map +1 -0
- package/dist/esm/concepts/RAG.js +193 -0
- package/dist/esm/concepts/RAG.js.map +1 -0
- package/dist/esm/concepts/Swarm.js +265 -0
- package/dist/esm/concepts/Swarm.js.map +1 -0
- package/dist/esm/concepts/index.js +8 -0
- package/dist/esm/concepts/index.js.map +1 -0
- package/dist/esm/concepts/specIcons.js +44 -0
- package/dist/esm/concepts/specIcons.js.map +1 -0
- package/dist/esm/core/config.js +6 -0
- package/dist/esm/core/config.js.map +1 -0
- package/dist/esm/core/index.js +13 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/providers.js +18 -0
- package/dist/esm/core/providers.js.map +1 -0
- package/dist/esm/core/recorders.js +6 -0
- package/dist/esm/core/recorders.js.map +1 -0
- package/dist/esm/executor/agentLoop.js +150 -0
- package/dist/esm/executor/agentLoop.js.map +1 -0
- package/dist/esm/executor/index.js +5 -0
- package/dist/esm/executor/index.js.map +1 -0
- package/dist/esm/explain.barrel.js +19 -0
- package/dist/esm/explain.barrel.js.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instructions.barrel.js +22 -0
- package/dist/esm/instructions.barrel.js.map +1 -0
- package/dist/esm/lib/call/callLLMStage.js +64 -0
- package/dist/esm/lib/call/callLLMStage.js.map +1 -0
- package/dist/esm/lib/call/handleResponseStage.js +49 -0
- package/dist/esm/lib/call/handleResponseStage.js.map +1 -0
- package/dist/esm/lib/call/helpers.js +164 -0
- package/dist/esm/lib/call/helpers.js.map +1 -0
- package/dist/esm/lib/call/index.js +7 -0
- package/dist/esm/lib/call/index.js.map +1 -0
- package/dist/esm/lib/call/parseResponseStage.js +48 -0
- package/dist/esm/lib/call/parseResponseStage.js.map +1 -0
- package/dist/esm/lib/call/streamingCallLLMStage.js +103 -0
- package/dist/esm/lib/call/streamingCallLLMStage.js.map +1 -0
- package/dist/esm/lib/call/toolExecutionSubflow.js +87 -0
- package/dist/esm/lib/call/toolExecutionSubflow.js.map +1 -0
- package/dist/esm/lib/call/types.js +10 -0
- package/dist/esm/lib/call/types.js.map +1 -0
- package/dist/esm/lib/concepts/Agent.js +7 -0
- package/dist/esm/lib/concepts/Agent.js.map +1 -0
- package/dist/esm/lib/concepts/AgentBuilder.js +224 -0
- package/dist/esm/lib/concepts/AgentBuilder.js.map +1 -0
- package/dist/esm/lib/concepts/AgentRunner.js +337 -0
- package/dist/esm/lib/concepts/AgentRunner.js.map +1 -0
- package/dist/esm/lib/concepts/index.js +2 -0
- package/dist/esm/lib/concepts/index.js.map +1 -0
- package/dist/esm/lib/instructions/InstructionRecorder.js +121 -0
- package/dist/esm/lib/instructions/InstructionRecorder.js.map +1 -0
- package/dist/esm/lib/instructions/agentInstruction.js +139 -0
- package/dist/esm/lib/instructions/agentInstruction.js.map +1 -0
- package/dist/esm/lib/instructions/buildInstructionsToLLMSubflow.js +83 -0
- package/dist/esm/lib/instructions/buildInstructionsToLLMSubflow.js.map +1 -0
- package/dist/esm/lib/instructions/evaluator.js +196 -0
- package/dist/esm/lib/instructions/evaluator.js.map +1 -0
- package/dist/esm/lib/instructions/index.js +10 -0
- package/dist/esm/lib/instructions/index.js.map +1 -0
- package/dist/esm/lib/instructions/inject.js +55 -0
- package/dist/esm/lib/instructions/inject.js.map +1 -0
- package/dist/esm/lib/instructions/preview.js +88 -0
- package/dist/esm/lib/instructions/preview.js.map +1 -0
- package/dist/esm/lib/instructions/strictFollowUp.js +125 -0
- package/dist/esm/lib/instructions/strictFollowUp.js.map +1 -0
- package/dist/esm/lib/instructions/template.js +82 -0
- package/dist/esm/lib/instructions/template.js.map +1 -0
- package/dist/esm/lib/instructions/types.js +83 -0
- package/dist/esm/lib/instructions/types.js.map +1 -0
- package/dist/esm/lib/loop/buildAgentLoop.js +401 -0
- package/dist/esm/lib/loop/buildAgentLoop.js.map +1 -0
- package/dist/esm/lib/loop/index.js +3 -0
- package/dist/esm/lib/loop/index.js.map +1 -0
- package/dist/esm/lib/loop/types.js +71 -0
- package/dist/esm/lib/loop/types.js.map +1 -0
- package/dist/esm/lib/narrative/agentRenderer.js +293 -0
- package/dist/esm/lib/narrative/agentRenderer.js.map +1 -0
- package/dist/esm/lib/narrative/groundingHelpers.js +136 -0
- package/dist/esm/lib/narrative/groundingHelpers.js.map +1 -0
- package/dist/esm/lib/narrative/index.js +3 -0
- package/dist/esm/lib/narrative/index.js.map +1 -0
- package/dist/esm/lib/slots/helpers.js +23 -0
- package/dist/esm/lib/slots/helpers.js.map +1 -0
- package/dist/esm/lib/slots/index.js +4 -0
- package/dist/esm/lib/slots/index.js.map +1 -0
- package/dist/esm/lib/slots/messages/buildMessagesSubflow.js +108 -0
- package/dist/esm/lib/slots/messages/buildMessagesSubflow.js.map +1 -0
- package/dist/esm/lib/slots/messages/index.js +2 -0
- package/dist/esm/lib/slots/messages/index.js.map +1 -0
- package/dist/esm/lib/slots/messages/types.js +10 -0
- package/dist/esm/lib/slots/messages/types.js.map +1 -0
- package/dist/esm/lib/slots/system-prompt/buildSystemPromptSubflow.js +64 -0
- package/dist/esm/lib/slots/system-prompt/buildSystemPromptSubflow.js.map +1 -0
- package/dist/esm/lib/slots/system-prompt/index.js +2 -0
- package/dist/esm/lib/slots/system-prompt/index.js.map +1 -0
- package/dist/esm/lib/slots/system-prompt/types.js +9 -0
- package/dist/esm/lib/slots/system-prompt/types.js.map +1 -0
- package/dist/esm/lib/slots/tools/buildToolsSubflow.js +67 -0
- package/dist/esm/lib/slots/tools/buildToolsSubflow.js.map +1 -0
- package/dist/esm/lib/slots/tools/index.js +2 -0
- package/dist/esm/lib/slots/tools/index.js.map +1 -0
- package/dist/esm/lib/slots/tools/types.js +11 -0
- package/dist/esm/lib/slots/tools/types.js.map +1 -0
- package/dist/esm/lib/swarm/buildSwarmRouting.js +207 -0
- package/dist/esm/lib/swarm/buildSwarmRouting.js.map +1 -0
- package/dist/esm/lib/swarm/index.js +2 -0
- package/dist/esm/lib/swarm/index.js.map +1 -0
- package/dist/esm/memory/conversationHelpers.js +56 -0
- package/dist/esm/memory/conversationHelpers.js.map +1 -0
- package/dist/esm/memory/index.js +2 -0
- package/dist/esm/memory/index.js.map +1 -0
- package/dist/esm/models/index.js +3 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/models/pricing.js +23 -0
- package/dist/esm/models/pricing.js.map +1 -0
- package/dist/esm/models/providers.js +42 -0
- package/dist/esm/models/providers.js.map +1 -0
- package/dist/esm/models/types.js +6 -0
- package/dist/esm/models/types.js.map +1 -0
- package/dist/esm/observe.barrel.js +18 -0
- package/dist/esm/observe.barrel.js.map +1 -0
- package/dist/esm/providers/index.js +12 -0
- package/dist/esm/providers/index.js.map +1 -0
- package/dist/esm/providers/messages/charBudget.js +39 -0
- package/dist/esm/providers/messages/charBudget.js.map +1 -0
- package/dist/esm/providers/messages/compositeMessages.js +33 -0
- package/dist/esm/providers/messages/compositeMessages.js.map +1 -0
- package/dist/esm/providers/messages/fullHistory.js +15 -0
- package/dist/esm/providers/messages/fullHistory.js.map +1 -0
- package/dist/esm/providers/messages/index.js +11 -0
- package/dist/esm/providers/messages/index.js.map +1 -0
- package/dist/esm/providers/messages/persistentHistory.js +40 -0
- package/dist/esm/providers/messages/persistentHistory.js.map +1 -0
- package/dist/esm/providers/messages/slidingWindow.js +24 -0
- package/dist/esm/providers/messages/slidingWindow.js.map +1 -0
- package/dist/esm/providers/messages/summaryStrategy.js +41 -0
- package/dist/esm/providers/messages/summaryStrategy.js.map +1 -0
- package/dist/esm/providers/messages/withToolPairSafety.js +76 -0
- package/dist/esm/providers/messages/withToolPairSafety.js.map +1 -0
- package/dist/esm/providers/prompt/compositePrompt.js +28 -0
- package/dist/esm/providers/prompt/compositePrompt.js.map +1 -0
- package/dist/esm/providers/prompt/index.js +8 -0
- package/dist/esm/providers/prompt/index.js.map +1 -0
- package/dist/esm/providers/prompt/skillBasedPrompt.js +37 -0
- package/dist/esm/providers/prompt/skillBasedPrompt.js.map +1 -0
- package/dist/esm/providers/prompt/static.js +9 -0
- package/dist/esm/providers/prompt/static.js.map +1 -0
- package/dist/esm/providers/prompt/template.js +20 -0
- package/dist/esm/providers/prompt/template.js.map +1 -0
- package/dist/esm/providers/tools/PermissionPolicy.js +100 -0
- package/dist/esm/providers/tools/PermissionPolicy.js.map +1 -0
- package/dist/esm/providers/tools/agentAsTool.js +47 -0
- package/dist/esm/providers/tools/agentAsTool.js.map +1 -0
- package/dist/esm/providers/tools/compositeTools.js +49 -0
- package/dist/esm/providers/tools/compositeTools.js.map +1 -0
- package/dist/esm/providers/tools/dynamicTools.js +41 -0
- package/dist/esm/providers/tools/dynamicTools.js.map +1 -0
- package/dist/esm/providers/tools/gatedTools.js +90 -0
- package/dist/esm/providers/tools/gatedTools.js.map +1 -0
- package/dist/esm/providers/tools/index.js +11 -0
- package/dist/esm/providers/tools/index.js.map +1 -0
- package/dist/esm/providers/tools/noTools.js +9 -0
- package/dist/esm/providers/tools/noTools.js.map +1 -0
- package/dist/esm/providers/tools/staticTools.js +25 -0
- package/dist/esm/providers/tools/staticTools.js.map +1 -0
- package/dist/esm/providers.barrel.js +32 -0
- package/dist/esm/providers.barrel.js.map +1 -0
- package/dist/esm/recorders/index.js +5 -0
- package/dist/esm/recorders/index.js.map +1 -0
- package/dist/esm/recorders/v2/CompositeRecorder.js +65 -0
- package/dist/esm/recorders/v2/CompositeRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/CostRecorder.js +47 -0
- package/dist/esm/recorders/v2/CostRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/ExplainRecorder.js +93 -0
- package/dist/esm/recorders/v2/ExplainRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/GuardrailRecorder.js +58 -0
- package/dist/esm/recorders/v2/GuardrailRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/OTelRecorder.js +79 -0
- package/dist/esm/recorders/v2/OTelRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/PermissionRecorder.js +86 -0
- package/dist/esm/recorders/v2/PermissionRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/QualityRecorder.js +48 -0
- package/dist/esm/recorders/v2/QualityRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/RecorderBridge.js +85 -0
- package/dist/esm/recorders/v2/RecorderBridge.js.map +1 -0
- package/dist/esm/recorders/v2/TokenRecorder.js +72 -0
- package/dist/esm/recorders/v2/TokenRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/ToolUsageRecorder.js +54 -0
- package/dist/esm/recorders/v2/ToolUsageRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/TurnRecorder.js +83 -0
- package/dist/esm/recorders/v2/TurnRecorder.js.map +1 -0
- package/dist/esm/recorders/v2/agentObservability.js +62 -0
- package/dist/esm/recorders/v2/agentObservability.js.map +1 -0
- package/dist/esm/recorders/v2/index.js +13 -0
- package/dist/esm/recorders/v2/index.js.map +1 -0
- package/dist/esm/resilience.barrel.js +16 -0
- package/dist/esm/resilience.barrel.js.map +1 -0
- package/dist/esm/scope/AgentScope.js +153 -0
- package/dist/esm/scope/AgentScope.js.map +1 -0
- package/dist/esm/scope/index.js +2 -0
- package/dist/esm/scope/index.js.map +1 -0
- package/dist/esm/scope/types.js +37 -0
- package/dist/esm/scope/types.js.map +1 -0
- package/dist/esm/security.barrel.js +17 -0
- package/dist/esm/security.barrel.js.map +1 -0
- package/dist/esm/stages/augmentPrompt.js +28 -0
- package/dist/esm/stages/augmentPrompt.js.map +1 -0
- package/dist/esm/stages/callLLM.js +15 -0
- package/dist/esm/stages/callLLM.js.map +1 -0
- package/dist/esm/stages/commitMemory.js +94 -0
- package/dist/esm/stages/commitMemory.js.map +1 -0
- package/dist/esm/stages/finalize.js +12 -0
- package/dist/esm/stages/finalize.js.map +1 -0
- package/dist/esm/stages/helpers.js +58 -0
- package/dist/esm/stages/helpers.js.map +1 -0
- package/dist/esm/stages/index.js +9 -0
- package/dist/esm/stages/index.js.map +1 -0
- package/dist/esm/stages/parseResponse.js +25 -0
- package/dist/esm/stages/parseResponse.js.map +1 -0
- package/dist/esm/stages/retrieve.js +18 -0
- package/dist/esm/stages/retrieve.js.map +1 -0
- package/dist/esm/stages/runnerAsStage.js +66 -0
- package/dist/esm/stages/runnerAsStage.js.map +1 -0
- package/dist/esm/stream.barrel.js +18 -0
- package/dist/esm/stream.barrel.js.map +1 -0
- package/dist/esm/streaming/StreamEmitter.js +43 -0
- package/dist/esm/streaming/StreamEmitter.js.map +1 -0
- package/dist/esm/streaming/index.js +2 -0
- package/dist/esm/streaming/index.js.map +1 -0
- package/dist/esm/subflows/index.js +2 -0
- package/dist/esm/subflows/index.js.map +1 -0
- package/dist/esm/subflows/prepareMemory.js +83 -0
- package/dist/esm/subflows/prepareMemory.js.map +1 -0
- package/dist/esm/tools/ToolRegistry.js +84 -0
- package/dist/esm/tools/ToolRegistry.js.map +1 -0
- package/dist/esm/tools/askHuman.js +63 -0
- package/dist/esm/tools/askHuman.js.map +1 -0
- package/dist/esm/tools/index.js +3 -0
- package/dist/esm/tools/index.js.map +1 -0
- package/dist/esm/tools/validateInput.js +56 -0
- package/dist/esm/tools/validateInput.js.map +1 -0
- package/dist/esm/tools/zodToJsonSchema.js +65 -0
- package/dist/esm/tools/zodToJsonSchema.js.map +1 -0
- package/dist/esm/types/adapter.js +11 -0
- package/dist/esm/types/adapter.js.map +1 -0
- package/dist/esm/types/agent.js +5 -0
- package/dist/esm/types/agent.js.map +1 -0
- package/dist/esm/types/content.js +82 -0
- package/dist/esm/types/content.js.map +1 -0
- package/dist/esm/types/errors.js +74 -0
- package/dist/esm/types/errors.js.map +1 -0
- package/dist/esm/types/index.js +5 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/llm.js +6 -0
- package/dist/esm/types/llm.js.map +1 -0
- package/dist/esm/types/messages.js +24 -0
- package/dist/esm/types/messages.js.map +1 -0
- package/dist/esm/types/multiAgent.js +5 -0
- package/dist/esm/types/multiAgent.js.map +1 -0
- package/dist/esm/types/retriever.js +6 -0
- package/dist/esm/types/retriever.js.map +1 -0
- package/dist/esm/types/tools.js +5 -0
- package/dist/esm/types/tools.js.map +1 -0
- package/dist/executor/agentLoop.js +154 -0
- package/dist/executor/agentLoop.js.map +1 -0
- package/dist/executor/index.js +9 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/explain.barrel.js +27 -0
- package/dist/explain.barrel.js.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/instructions.barrel.js +30 -0
- package/dist/instructions.barrel.js.map +1 -0
- package/dist/lib/call/callLLMStage.js +68 -0
- package/dist/lib/call/callLLMStage.js.map +1 -0
- package/dist/lib/call/handleResponseStage.js +53 -0
- package/dist/lib/call/handleResponseStage.js.map +1 -0
- package/dist/lib/call/helpers.js +169 -0
- package/dist/lib/call/helpers.js.map +1 -0
- package/dist/lib/call/index.js +17 -0
- package/dist/lib/call/index.js.map +1 -0
- package/dist/lib/call/parseResponseStage.js +52 -0
- package/dist/lib/call/parseResponseStage.js.map +1 -0
- package/dist/lib/call/streamingCallLLMStage.js +107 -0
- package/dist/lib/call/streamingCallLLMStage.js.map +1 -0
- package/dist/lib/call/toolExecutionSubflow.js +91 -0
- package/dist/lib/call/toolExecutionSubflow.js.map +1 -0
- package/dist/lib/call/types.js +11 -0
- package/dist/lib/call/types.js.map +1 -0
- package/dist/lib/concepts/Agent.js +12 -0
- package/dist/lib/concepts/Agent.js.map +1 -0
- package/dist/lib/concepts/AgentBuilder.js +228 -0
- package/dist/lib/concepts/AgentBuilder.js.map +1 -0
- package/dist/lib/concepts/AgentRunner.js +341 -0
- package/dist/lib/concepts/AgentRunner.js.map +1 -0
- package/dist/lib/concepts/index.js +7 -0
- package/dist/lib/concepts/index.js.map +1 -0
- package/dist/lib/instructions/InstructionRecorder.js +125 -0
- package/dist/lib/instructions/InstructionRecorder.js.map +1 -0
- package/dist/lib/instructions/agentInstruction.js +144 -0
- package/dist/lib/instructions/agentInstruction.js.map +1 -0
- package/dist/lib/instructions/buildInstructionsToLLMSubflow.js +87 -0
- package/dist/lib/instructions/buildInstructionsToLLMSubflow.js.map +1 -0
- package/dist/lib/instructions/evaluator.js +202 -0
- package/dist/lib/instructions/evaluator.js.map +1 -0
- package/dist/lib/instructions/index.js +27 -0
- package/dist/lib/instructions/index.js.map +1 -0
- package/dist/lib/instructions/inject.js +59 -0
- package/dist/lib/instructions/inject.js.map +1 -0
- package/dist/lib/instructions/preview.js +92 -0
- package/dist/lib/instructions/preview.js.map +1 -0
- package/dist/lib/instructions/strictFollowUp.js +130 -0
- package/dist/lib/instructions/strictFollowUp.js.map +1 -0
- package/dist/lib/instructions/template.js +86 -0
- package/dist/lib/instructions/template.js.map +1 -0
- package/dist/lib/instructions/types.js +88 -0
- package/dist/lib/instructions/types.js.map +1 -0
- package/dist/lib/loop/buildAgentLoop.js +405 -0
- package/dist/lib/loop/buildAgentLoop.js.map +1 -0
- package/dist/lib/loop/index.js +9 -0
- package/dist/lib/loop/index.js.map +1 -0
- package/dist/lib/loop/types.js +74 -0
- package/dist/lib/loop/types.js.map +1 -0
- package/dist/lib/narrative/agentRenderer.js +297 -0
- package/dist/lib/narrative/agentRenderer.js.map +1 -0
- package/dist/lib/narrative/groundingHelpers.js +142 -0
- package/dist/lib/narrative/groundingHelpers.js.map +1 -0
- package/dist/lib/narrative/index.js +10 -0
- package/dist/lib/narrative/index.js.map +1 -0
- package/dist/lib/slots/helpers.js +28 -0
- package/dist/lib/slots/helpers.js.map +1 -0
- package/dist/lib/slots/index.js +10 -0
- package/dist/lib/slots/index.js.map +1 -0
- package/dist/lib/slots/messages/buildMessagesSubflow.js +112 -0
- package/dist/lib/slots/messages/buildMessagesSubflow.js.map +1 -0
- package/dist/lib/slots/messages/index.js +6 -0
- package/dist/lib/slots/messages/index.js.map +1 -0
- package/dist/lib/slots/messages/types.js +11 -0
- package/dist/lib/slots/messages/types.js.map +1 -0
- package/dist/lib/slots/system-prompt/buildSystemPromptSubflow.js +68 -0
- package/dist/lib/slots/system-prompt/buildSystemPromptSubflow.js.map +1 -0
- package/dist/lib/slots/system-prompt/index.js +6 -0
- package/dist/lib/slots/system-prompt/index.js.map +1 -0
- package/dist/lib/slots/system-prompt/types.js +10 -0
- package/dist/lib/slots/system-prompt/types.js.map +1 -0
- package/dist/lib/slots/tools/buildToolsSubflow.js +71 -0
- package/dist/lib/slots/tools/buildToolsSubflow.js.map +1 -0
- package/dist/lib/slots/tools/index.js +6 -0
- package/dist/lib/slots/tools/index.js.map +1 -0
- package/dist/lib/slots/tools/types.js +12 -0
- package/dist/lib/slots/tools/types.js.map +1 -0
- package/dist/lib/swarm/buildSwarmRouting.js +211 -0
- package/dist/lib/swarm/buildSwarmRouting.js.map +1 -0
- package/dist/lib/swarm/index.js +6 -0
- package/dist/lib/swarm/index.js.map +1 -0
- package/dist/memory/conversationHelpers.js +66 -0
- package/dist/memory/conversationHelpers.js.map +1 -0
- package/dist/memory/index.js +12 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/models/index.js +12 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/pricing.js +27 -0
- package/dist/models/pricing.js.map +1 -0
- package/dist/models/providers.js +49 -0
- package/dist/models/providers.js.map +1 -0
- package/dist/models/types.js +7 -0
- package/dist/models/types.js.map +1 -0
- package/dist/observe.barrel.js +31 -0
- package/dist/observe.barrel.js.map +1 -0
- package/dist/providers/index.js +34 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/messages/charBudget.js +43 -0
- package/dist/providers/messages/charBudget.js.map +1 -0
- package/dist/providers/messages/compositeMessages.js +37 -0
- package/dist/providers/messages/compositeMessages.js.map +1 -0
- package/dist/providers/messages/fullHistory.js +19 -0
- package/dist/providers/messages/fullHistory.js.map +1 -0
- package/dist/providers/messages/index.js +22 -0
- package/dist/providers/messages/index.js.map +1 -0
- package/dist/providers/messages/persistentHistory.js +45 -0
- package/dist/providers/messages/persistentHistory.js.map +1 -0
- package/dist/providers/messages/slidingWindow.js +28 -0
- package/dist/providers/messages/slidingWindow.js.map +1 -0
- package/dist/providers/messages/summaryStrategy.js +45 -0
- package/dist/providers/messages/summaryStrategy.js.map +1 -0
- package/dist/providers/messages/withToolPairSafety.js +80 -0
- package/dist/providers/messages/withToolPairSafety.js.map +1 -0
- package/dist/providers/prompt/compositePrompt.js +32 -0
- package/dist/providers/prompt/compositePrompt.js.map +1 -0
- package/dist/providers/prompt/index.js +15 -0
- package/dist/providers/prompt/index.js.map +1 -0
- package/dist/providers/prompt/skillBasedPrompt.js +41 -0
- package/dist/providers/prompt/skillBasedPrompt.js.map +1 -0
- package/dist/providers/prompt/static.js +13 -0
- package/dist/providers/prompt/static.js.map +1 -0
- package/dist/providers/prompt/template.js +24 -0
- package/dist/providers/prompt/template.js.map +1 -0
- package/dist/providers/tools/PermissionPolicy.js +104 -0
- package/dist/providers/tools/PermissionPolicy.js.map +1 -0
- package/dist/providers/tools/agentAsTool.js +51 -0
- package/dist/providers/tools/agentAsTool.js.map +1 -0
- package/dist/providers/tools/compositeTools.js +53 -0
- package/dist/providers/tools/compositeTools.js.map +1 -0
- package/dist/providers/tools/dynamicTools.js +45 -0
- package/dist/providers/tools/dynamicTools.js.map +1 -0
- package/dist/providers/tools/gatedTools.js +94 -0
- package/dist/providers/tools/gatedTools.js.map +1 -0
- package/dist/providers/tools/index.js +21 -0
- package/dist/providers/tools/index.js.map +1 -0
- package/dist/providers/tools/noTools.js +13 -0
- package/dist/providers/tools/noTools.js.map +1 -0
- package/dist/providers/tools/staticTools.js +29 -0
- package/dist/providers/tools/staticTools.js.map +1 -0
- package/dist/providers.barrel.js +61 -0
- package/dist/providers.barrel.js.map +1 -0
- package/dist/recorders/index.js +17 -0
- package/dist/recorders/index.js.map +1 -0
- package/dist/recorders/v2/CompositeRecorder.js +69 -0
- package/dist/recorders/v2/CompositeRecorder.js.map +1 -0
- package/dist/recorders/v2/CostRecorder.js +51 -0
- package/dist/recorders/v2/CostRecorder.js.map +1 -0
- package/dist/recorders/v2/ExplainRecorder.js +97 -0
- package/dist/recorders/v2/ExplainRecorder.js.map +1 -0
- package/dist/recorders/v2/GuardrailRecorder.js +62 -0
- package/dist/recorders/v2/GuardrailRecorder.js.map +1 -0
- package/dist/recorders/v2/OTelRecorder.js +83 -0
- package/dist/recorders/v2/OTelRecorder.js.map +1 -0
- package/dist/recorders/v2/PermissionRecorder.js +90 -0
- package/dist/recorders/v2/PermissionRecorder.js.map +1 -0
- package/dist/recorders/v2/QualityRecorder.js +52 -0
- package/dist/recorders/v2/QualityRecorder.js.map +1 -0
- package/dist/recorders/v2/RecorderBridge.js +89 -0
- package/dist/recorders/v2/RecorderBridge.js.map +1 -0
- package/dist/recorders/v2/TokenRecorder.js +76 -0
- package/dist/recorders/v2/TokenRecorder.js.map +1 -0
- package/dist/recorders/v2/ToolUsageRecorder.js +58 -0
- package/dist/recorders/v2/ToolUsageRecorder.js.map +1 -0
- package/dist/recorders/v2/TurnRecorder.js +87 -0
- package/dist/recorders/v2/TurnRecorder.js.map +1 -0
- package/dist/recorders/v2/agentObservability.js +66 -0
- package/dist/recorders/v2/agentObservability.js.map +1 -0
- package/dist/recorders/v2/index.js +25 -0
- package/dist/recorders/v2/index.js.map +1 -0
- package/dist/resilience.barrel.js +25 -0
- package/dist/resilience.barrel.js.map +1 -0
- package/dist/scope/AgentScope.js +156 -0
- package/dist/scope/AgentScope.js.map +1 -0
- package/dist/scope/index.js +10 -0
- package/dist/scope/index.js.map +1 -0
- package/dist/scope/types.js +40 -0
- package/dist/scope/types.js.map +1 -0
- package/dist/security.barrel.js +22 -0
- package/dist/security.barrel.js.map +1 -0
- package/dist/stages/augmentPrompt.js +32 -0
- package/dist/stages/augmentPrompt.js.map +1 -0
- package/dist/stages/callLLM.js +19 -0
- package/dist/stages/callLLM.js.map +1 -0
- package/dist/stages/commitMemory.js +98 -0
- package/dist/stages/commitMemory.js.map +1 -0
- package/dist/stages/finalize.js +16 -0
- package/dist/stages/finalize.js.map +1 -0
- package/dist/stages/helpers.js +63 -0
- package/dist/stages/helpers.js.map +1 -0
- package/dist/stages/index.js +21 -0
- package/dist/stages/index.js.map +1 -0
- package/dist/stages/parseResponse.js +29 -0
- package/dist/stages/parseResponse.js.map +1 -0
- package/dist/stages/retrieve.js +22 -0
- package/dist/stages/retrieve.js.map +1 -0
- package/dist/stages/runnerAsStage.js +70 -0
- package/dist/stages/runnerAsStage.js.map +1 -0
- package/dist/stream.barrel.js +23 -0
- package/dist/stream.barrel.js.map +1 -0
- package/dist/streaming/StreamEmitter.js +48 -0
- package/dist/streaming/StreamEmitter.js.map +1 -0
- package/dist/streaming/index.js +7 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/subflows/index.js +6 -0
- package/dist/subflows/index.js.map +1 -0
- package/dist/subflows/prepareMemory.js +87 -0
- package/dist/subflows/prepareMemory.js.map +1 -0
- package/dist/tools/ToolRegistry.js +89 -0
- package/dist/tools/ToolRegistry.js.map +1 -0
- package/dist/tools/askHuman.js +68 -0
- package/dist/tools/askHuman.js.map +1 -0
- package/dist/tools/index.js +9 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/validateInput.js +61 -0
- package/dist/tools/validateInput.js.map +1 -0
- package/dist/tools/zodToJsonSchema.js +70 -0
- package/dist/tools/zodToJsonSchema.js.map +1 -0
- package/dist/types/adapter.js +14 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/adapters/a2a/a2aRunner.d.ts +40 -0
- package/dist/types/adapters/a2a/a2aRunner.d.ts.map +1 -0
- package/dist/types/adapters/anthropic/AnthropicAdapter.d.ts +37 -0
- package/dist/types/adapters/anthropic/AnthropicAdapter.d.ts.map +1 -0
- package/dist/types/adapters/bedrock/BedrockAdapter.d.ts +44 -0
- package/dist/types/adapters/bedrock/BedrockAdapter.d.ts.map +1 -0
- package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts +40 -0
- package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts.map +1 -0
- package/dist/types/adapters/browser/BrowserOpenAIAdapter.d.ts +46 -0
- package/dist/types/adapters/browser/BrowserOpenAIAdapter.d.ts.map +1 -0
- package/dist/types/adapters/browser/index.d.ts +5 -0
- package/dist/types/adapters/browser/index.d.ts.map +1 -0
- package/dist/types/adapters/createAdapterSubflow.d.ts +36 -0
- package/dist/types/adapters/createAdapterSubflow.d.ts.map +1 -0
- package/dist/types/adapters/createProvider.d.ts +47 -0
- package/dist/types/adapters/createProvider.d.ts.map +1 -0
- package/dist/types/adapters/fallbackProvider.d.ts +45 -0
- package/dist/types/adapters/fallbackProvider.d.ts.map +1 -0
- package/dist/types/adapters/index.d.ts +30 -0
- package/dist/types/adapters/index.d.ts.map +1 -0
- package/dist/types/adapters/mcp/mcpToolProvider.d.ts +41 -0
- package/dist/types/adapters/mcp/mcpToolProvider.d.ts.map +1 -0
- package/dist/types/adapters/memory/inMemory.d.ts +22 -0
- package/dist/types/adapters/memory/inMemory.d.ts.map +1 -0
- package/dist/types/adapters/memory/index.d.ts +3 -0
- package/dist/types/adapters/memory/index.d.ts.map +1 -0
- package/dist/types/adapters/memory/stores.d.ts +92 -0
- package/dist/types/adapters/memory/stores.d.ts.map +1 -0
- package/dist/types/adapters/memory/types.d.ts +74 -0
- package/dist/types/adapters/memory/types.d.ts.map +1 -0
- package/dist/types/adapters/mock/MockAdapter.d.ts +51 -0
- package/dist/types/adapters/mock/MockAdapter.d.ts.map +1 -0
- package/dist/types/adapters/mock/MockRetriever.d.ts +43 -0
- package/dist/types/adapters/mock/MockRetriever.d.ts.map +1 -0
- package/dist/types/adapters/openai/OpenAIAdapter.d.ts +47 -0
- package/dist/types/adapters/openai/OpenAIAdapter.d.ts.map +1 -0
- package/dist/types/adapters/resilientProvider.d.ts +33 -0
- package/dist/types/adapters/resilientProvider.d.ts.map +1 -0
- package/dist/types/agent.js +6 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/compositions/index.d.ts +13 -0
- package/dist/types/compositions/index.d.ts.map +1 -0
- package/dist/types/compositions/withCircuitBreaker.d.ts +43 -0
- package/dist/types/compositions/withCircuitBreaker.d.ts.map +1 -0
- package/dist/types/compositions/withFallback.d.ts +17 -0
- package/dist/types/compositions/withFallback.d.ts.map +1 -0
- package/dist/types/compositions/withRetry.d.ts +27 -0
- package/dist/types/compositions/withRetry.d.ts.map +1 -0
- package/dist/types/concepts/FlowChart.d.ts +52 -0
- package/dist/types/concepts/FlowChart.d.ts.map +1 -0
- package/dist/types/concepts/LLMCall.d.ts +56 -0
- package/dist/types/concepts/LLMCall.d.ts.map +1 -0
- package/dist/types/concepts/Parallel.d.ts +110 -0
- package/dist/types/concepts/Parallel.d.ts.map +1 -0
- package/dist/types/concepts/RAG.d.ts +71 -0
- package/dist/types/concepts/RAG.d.ts.map +1 -0
- package/dist/types/concepts/Swarm.d.ts +98 -0
- package/dist/types/concepts/Swarm.d.ts.map +1 -0
- package/dist/types/concepts/index.d.ts +12 -0
- package/dist/types/concepts/index.d.ts.map +1 -0
- package/dist/types/concepts/specIcons.d.ts +14 -0
- package/dist/types/concepts/specIcons.d.ts.map +1 -0
- package/dist/types/content.js +97 -0
- package/dist/types/content.js.map +1 -0
- package/dist/types/core/config.d.ts +24 -0
- package/dist/types/core/config.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +15 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/core/providers.d.ts +160 -0
- package/dist/types/core/providers.d.ts.map +1 -0
- package/dist/types/core/recorders.d.ts +54 -0
- package/dist/types/core/recorders.d.ts.map +1 -0
- package/dist/types/errors.js +80 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/executor/agentLoop.d.ts +37 -0
- package/dist/types/executor/agentLoop.d.ts.map +1 -0
- package/dist/types/executor/index.d.ts +6 -0
- package/dist/types/executor/index.d.ts.map +1 -0
- package/dist/types/explain.barrel.d.ts +20 -0
- package/dist/types/explain.barrel.d.ts.map +1 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +29 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/instructions.barrel.d.ts +24 -0
- package/dist/types/instructions.barrel.d.ts.map +1 -0
- package/dist/types/lib/call/callLLMStage.d.ts +29 -0
- package/dist/types/lib/call/callLLMStage.d.ts.map +1 -0
- package/dist/types/lib/call/handleResponseStage.d.ts +35 -0
- package/dist/types/lib/call/handleResponseStage.d.ts.map +1 -0
- package/dist/types/lib/call/helpers.d.ts +64 -0
- package/dist/types/lib/call/helpers.d.ts.map +1 -0
- package/dist/types/lib/call/index.d.ts +10 -0
- package/dist/types/lib/call/index.d.ts.map +1 -0
- package/dist/types/lib/call/parseResponseStage.d.ts +21 -0
- package/dist/types/lib/call/parseResponseStage.d.ts.map +1 -0
- package/dist/types/lib/call/streamingCallLLMStage.d.ts +23 -0
- package/dist/types/lib/call/streamingCallLLMStage.d.ts.map +1 -0
- package/dist/types/lib/call/toolExecutionSubflow.d.ts +70 -0
- package/dist/types/lib/call/toolExecutionSubflow.d.ts.map +1 -0
- package/dist/types/lib/call/types.d.ts +17 -0
- package/dist/types/lib/call/types.d.ts.map +1 -0
- package/dist/types/lib/concepts/Agent.d.ts +9 -0
- package/dist/types/lib/concepts/Agent.d.ts.map +1 -0
- package/dist/types/lib/concepts/AgentBuilder.d.ts +152 -0
- package/dist/types/lib/concepts/AgentBuilder.d.ts.map +1 -0
- package/dist/types/lib/concepts/AgentRunner.d.ts +100 -0
- package/dist/types/lib/concepts/AgentRunner.d.ts.map +1 -0
- package/dist/types/lib/concepts/index.d.ts +3 -0
- package/dist/types/lib/concepts/index.d.ts.map +1 -0
- package/dist/types/lib/instructions/InstructionRecorder.d.ts +85 -0
- package/dist/types/lib/instructions/InstructionRecorder.d.ts.map +1 -0
- package/dist/types/lib/instructions/agentInstruction.d.ts +150 -0
- package/dist/types/lib/instructions/agentInstruction.d.ts.map +1 -0
- package/dist/types/lib/instructions/buildInstructionsToLLMSubflow.d.ts +56 -0
- package/dist/types/lib/instructions/buildInstructionsToLLMSubflow.d.ts.map +1 -0
- package/dist/types/lib/instructions/evaluator.d.ts +99 -0
- package/dist/types/lib/instructions/evaluator.d.ts.map +1 -0
- package/dist/types/lib/instructions/index.d.ts +18 -0
- package/dist/types/lib/instructions/index.d.ts.map +1 -0
- package/dist/types/lib/instructions/inject.d.ts +54 -0
- package/dist/types/lib/instructions/inject.d.ts.map +1 -0
- package/dist/types/lib/instructions/preview.d.ts +85 -0
- package/dist/types/lib/instructions/preview.d.ts.map +1 -0
- package/dist/types/lib/instructions/strictFollowUp.d.ts +88 -0
- package/dist/types/lib/instructions/strictFollowUp.d.ts.map +1 -0
- package/dist/types/lib/instructions/template.d.ts +52 -0
- package/dist/types/lib/instructions/template.d.ts.map +1 -0
- package/dist/types/lib/instructions/types.d.ts +394 -0
- package/dist/types/lib/instructions/types.d.ts.map +1 -0
- package/dist/types/lib/loop/buildAgentLoop.d.ts +67 -0
- package/dist/types/lib/loop/buildAgentLoop.d.ts.map +1 -0
- package/dist/types/lib/loop/index.d.ts +5 -0
- package/dist/types/lib/loop/index.d.ts.map +1 -0
- package/dist/types/lib/loop/types.d.ts +248 -0
- package/dist/types/lib/loop/types.d.ts.map +1 -0
- package/dist/types/lib/narrative/agentRenderer.d.ts +51 -0
- package/dist/types/lib/narrative/agentRenderer.d.ts.map +1 -0
- package/dist/types/lib/narrative/groundingHelpers.d.ts +94 -0
- package/dist/types/lib/narrative/groundingHelpers.d.ts.map +1 -0
- package/dist/types/lib/narrative/index.d.ts +5 -0
- package/dist/types/lib/narrative/index.d.ts.map +1 -0
- package/dist/types/lib/slots/helpers.d.ts +16 -0
- package/dist/types/lib/slots/helpers.d.ts.map +1 -0
- package/dist/types/lib/slots/index.d.ts +7 -0
- package/dist/types/lib/slots/index.d.ts.map +1 -0
- package/dist/types/lib/slots/messages/buildMessagesSubflow.d.ts +40 -0
- package/dist/types/lib/slots/messages/buildMessagesSubflow.d.ts.map +1 -0
- package/dist/types/lib/slots/messages/index.d.ts +3 -0
- package/dist/types/lib/slots/messages/index.d.ts.map +1 -0
- package/dist/types/lib/slots/messages/types.d.ts +26 -0
- package/dist/types/lib/slots/messages/types.d.ts.map +1 -0
- package/dist/types/lib/slots/system-prompt/buildSystemPromptSubflow.d.ts +27 -0
- package/dist/types/lib/slots/system-prompt/buildSystemPromptSubflow.d.ts.map +1 -0
- package/dist/types/lib/slots/system-prompt/index.d.ts +3 -0
- package/dist/types/lib/slots/system-prompt/index.d.ts.map +1 -0
- package/dist/types/lib/slots/system-prompt/types.d.ts +17 -0
- package/dist/types/lib/slots/system-prompt/types.d.ts.map +1 -0
- package/dist/types/lib/slots/tools/buildToolsSubflow.d.ts +23 -0
- package/dist/types/lib/slots/tools/buildToolsSubflow.d.ts.map +1 -0
- package/dist/types/lib/slots/tools/index.d.ts +3 -0
- package/dist/types/lib/slots/tools/index.d.ts.map +1 -0
- package/dist/types/lib/slots/tools/types.d.ts +18 -0
- package/dist/types/lib/slots/tools/types.d.ts.map +1 -0
- package/dist/types/lib/swarm/buildSwarmRouting.d.ts +36 -0
- package/dist/types/lib/swarm/buildSwarmRouting.d.ts.map +1 -0
- package/dist/types/lib/swarm/index.d.ts +3 -0
- package/dist/types/lib/swarm/index.d.ts.map +1 -0
- package/dist/types/llm.js +7 -0
- package/dist/types/llm.js.map +1 -0
- package/dist/types/memory/conversationHelpers.d.ts +23 -0
- package/dist/types/memory/conversationHelpers.d.ts.map +1 -0
- package/dist/types/memory/index.d.ts +2 -0
- package/dist/types/memory/index.d.ts.map +1 -0
- package/dist/types/messages.js +32 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/models/index.d.ts +4 -0
- package/dist/types/models/index.d.ts.map +1 -0
- package/dist/types/models/pricing.d.ts +8 -0
- package/dist/types/models/pricing.d.ts.map +1 -0
- package/dist/types/models/providers.d.ts +23 -0
- package/dist/types/models/providers.d.ts.map +1 -0
- package/dist/types/models/types.d.ts +25 -0
- package/dist/types/models/types.d.ts.map +1 -0
- package/dist/types/multiAgent.js +6 -0
- package/dist/types/multiAgent.js.map +1 -0
- package/dist/types/observe.barrel.d.ts +21 -0
- package/dist/types/observe.barrel.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +15 -0
- package/dist/types/providers/index.d.ts.map +1 -0
- package/dist/types/providers/messages/charBudget.d.ts +19 -0
- package/dist/types/providers/messages/charBudget.d.ts.map +1 -0
- package/dist/types/providers/messages/compositeMessages.d.ts +16 -0
- package/dist/types/providers/messages/compositeMessages.d.ts.map +1 -0
- package/dist/types/providers/messages/fullHistory.d.ts +12 -0
- package/dist/types/providers/messages/fullHistory.d.ts.map +1 -0
- package/dist/types/providers/messages/index.d.ts +15 -0
- package/dist/types/providers/messages/index.d.ts.map +1 -0
- package/dist/types/providers/messages/persistentHistory.d.ts +32 -0
- package/dist/types/providers/messages/persistentHistory.d.ts.map +1 -0
- package/dist/types/providers/messages/slidingWindow.d.ts +16 -0
- package/dist/types/providers/messages/slidingWindow.d.ts.map +1 -0
- package/dist/types/providers/messages/summaryStrategy.d.ts +29 -0
- package/dist/types/providers/messages/summaryStrategy.d.ts.map +1 -0
- package/dist/types/providers/messages/withToolPairSafety.d.ts +19 -0
- package/dist/types/providers/messages/withToolPairSafety.d.ts.map +1 -0
- package/dist/types/providers/prompt/compositePrompt.d.ts +20 -0
- package/dist/types/providers/prompt/compositePrompt.d.ts.map +1 -0
- package/dist/types/providers/prompt/index.d.ts +10 -0
- package/dist/types/providers/prompt/index.d.ts.map +1 -0
- package/dist/types/providers/prompt/skillBasedPrompt.d.ts +33 -0
- package/dist/types/providers/prompt/skillBasedPrompt.d.ts.map +1 -0
- package/dist/types/providers/prompt/static.d.ts +6 -0
- package/dist/types/providers/prompt/static.d.ts.map +1 -0
- package/dist/types/providers/prompt/template.d.ts +6 -0
- package/dist/types/providers/prompt/template.d.ts.map +1 -0
- package/dist/types/providers/tools/PermissionPolicy.d.ts +76 -0
- package/dist/types/providers/tools/PermissionPolicy.d.ts.map +1 -0
- package/dist/types/providers/tools/agentAsTool.d.ts +40 -0
- package/dist/types/providers/tools/agentAsTool.d.ts.map +1 -0
- package/dist/types/providers/tools/compositeTools.d.ts +18 -0
- package/dist/types/providers/tools/compositeTools.d.ts.map +1 -0
- package/dist/types/providers/tools/dynamicTools.d.ts +27 -0
- package/dist/types/providers/tools/dynamicTools.d.ts.map +1 -0
- package/dist/types/providers/tools/gatedTools.d.ts +52 -0
- package/dist/types/providers/tools/gatedTools.d.ts.map +1 -0
- package/dist/types/providers/tools/index.d.ts +15 -0
- package/dist/types/providers/tools/index.d.ts.map +1 -0
- package/dist/types/providers/tools/noTools.d.ts +6 -0
- package/dist/types/providers/tools/noTools.d.ts.map +1 -0
- package/dist/types/providers/tools/staticTools.d.ts +7 -0
- package/dist/types/providers/tools/staticTools.d.ts.map +1 -0
- package/dist/types/providers.barrel.d.ts +34 -0
- package/dist/types/providers.barrel.d.ts.map +1 -0
- package/dist/types/recorders/index.d.ts +6 -0
- package/dist/types/recorders/index.d.ts.map +1 -0
- package/dist/types/recorders/v2/CompositeRecorder.d.ts +30 -0
- package/dist/types/recorders/v2/CompositeRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/CostRecorder.d.ts +43 -0
- package/dist/types/recorders/v2/CostRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/ExplainRecorder.d.ts +67 -0
- package/dist/types/recorders/v2/ExplainRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/GuardrailRecorder.d.ts +45 -0
- package/dist/types/recorders/v2/GuardrailRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/OTelRecorder.d.ts +50 -0
- package/dist/types/recorders/v2/OTelRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/PermissionRecorder.d.ts +66 -0
- package/dist/types/recorders/v2/PermissionRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/QualityRecorder.d.ts +37 -0
- package/dist/types/recorders/v2/QualityRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/RecorderBridge.d.ts +38 -0
- package/dist/types/recorders/v2/RecorderBridge.d.ts.map +1 -0
- package/dist/types/recorders/v2/TokenRecorder.d.ts +54 -0
- package/dist/types/recorders/v2/TokenRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/ToolUsageRecorder.d.ts +34 -0
- package/dist/types/recorders/v2/ToolUsageRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/TurnRecorder.d.ts +36 -0
- package/dist/types/recorders/v2/TurnRecorder.d.ts.map +1 -0
- package/dist/types/recorders/v2/agentObservability.d.ts +68 -0
- package/dist/types/recorders/v2/agentObservability.d.ts.map +1 -0
- package/dist/types/recorders/v2/index.d.ts +21 -0
- package/dist/types/recorders/v2/index.d.ts.map +1 -0
- package/dist/types/resilience.barrel.d.ts +18 -0
- package/dist/types/resilience.barrel.d.ts.map +1 -0
- package/dist/types/retriever.js +7 -0
- package/dist/types/retriever.js.map +1 -0
- package/dist/types/scope/AgentScope.d.ts +87 -0
- package/dist/types/scope/AgentScope.d.ts.map +1 -0
- package/dist/types/scope/index.d.ts +3 -0
- package/dist/types/scope/index.d.ts.map +1 -0
- package/dist/types/scope/types.d.ts +151 -0
- package/dist/types/scope/types.d.ts.map +1 -0
- package/dist/types/security.barrel.d.ts +17 -0
- package/dist/types/security.barrel.d.ts.map +1 -0
- package/dist/types/stages/augmentPrompt.d.ts +7 -0
- package/dist/types/stages/augmentPrompt.d.ts.map +1 -0
- package/dist/types/stages/callLLM.d.ts +8 -0
- package/dist/types/stages/callLLM.d.ts.map +1 -0
- package/dist/types/stages/commitMemory.d.ts +51 -0
- package/dist/types/stages/commitMemory.d.ts.map +1 -0
- package/dist/types/stages/finalize.d.ts +7 -0
- package/dist/types/stages/finalize.d.ts.map +1 -0
- package/dist/types/stages/helpers.d.ts +17 -0
- package/dist/types/stages/helpers.d.ts.map +1 -0
- package/dist/types/stages/index.d.ts +10 -0
- package/dist/types/stages/index.d.ts.map +1 -0
- package/dist/types/stages/parseResponse.d.ts +8 -0
- package/dist/types/stages/parseResponse.d.ts.map +1 -0
- package/dist/types/stages/retrieve.d.ts +8 -0
- package/dist/types/stages/retrieve.d.ts.map +1 -0
- package/dist/types/stages/runnerAsStage.d.ts +18 -0
- package/dist/types/stages/runnerAsStage.d.ts.map +1 -0
- package/dist/types/stream.barrel.d.ts +19 -0
- package/dist/types/stream.barrel.d.ts.map +1 -0
- package/dist/types/streaming/StreamEmitter.d.ts +93 -0
- package/dist/types/streaming/StreamEmitter.d.ts.map +1 -0
- package/dist/types/streaming/index.d.ts +3 -0
- package/dist/types/streaming/index.d.ts.map +1 -0
- package/dist/types/subflows/index.d.ts +3 -0
- package/dist/types/subflows/index.d.ts.map +1 -0
- package/dist/types/subflows/prepareMemory.d.ts +60 -0
- package/dist/types/subflows/prepareMemory.d.ts.map +1 -0
- package/dist/types/tools/ToolRegistry.d.ts +47 -0
- package/dist/types/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/types/tools/askHuman.d.ts +39 -0
- package/dist/types/tools/askHuman.d.ts.map +1 -0
- package/dist/types/tools/index.d.ts +3 -0
- package/dist/types/tools/index.d.ts.map +1 -0
- package/dist/types/tools/validateInput.d.ts +29 -0
- package/dist/types/tools/validateInput.d.ts.map +1 -0
- package/dist/types/tools/zodToJsonSchema.d.ts +9 -0
- package/dist/types/tools/zodToJsonSchema.d.ts.map +1 -0
- package/dist/types/tools.js +6 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/types/adapter.d.ts +36 -0
- package/dist/types/types/adapter.d.ts.map +1 -0
- package/dist/types/types/agent.d.ts +37 -0
- package/dist/types/types/agent.d.ts.map +1 -0
- package/dist/types/types/content.d.ts +104 -0
- package/dist/types/types/content.d.ts.map +1 -0
- package/dist/types/types/errors.d.ts +27 -0
- package/dist/types/types/errors.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +14 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/llm.d.ts +78 -0
- package/dist/types/types/llm.d.ts.map +1 -0
- package/dist/types/types/messages.d.ts +40 -0
- package/dist/types/types/messages.d.ts.map +1 -0
- package/dist/types/types/multiAgent.d.ts +57 -0
- package/dist/types/types/multiAgent.d.ts.map +1 -0
- package/dist/types/types/retriever.d.ts +41 -0
- package/dist/types/types/retriever.d.ts.map +1 -0
- package/dist/types/types/tools.d.ts +19 -0
- package/dist/types/types/tools.d.ts.map +1 -0
- package/package.json +178 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../src/tools/ToolRegistry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uDAAiE;AAEjE,MAAa,YAAY;IACN,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE3D,wDAAwD;IACxD,QAAQ,CAAC,IAAoB;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,qCAAqC;IACrC,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,mCAAmC;IACnC,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,gCAAgC;IAChC,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,wEAAwE;IACxE,YAAY,CAAC,OAAkB;QAC7B,MAAM,KAAK,GAAG,OAAO;YACnB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEf,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AArDD,oCAqDC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,UAAU,CAAC,IAAoB;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAEhC,iEAAiE;IACjE,IAAI,IAAA,6BAAW,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAA,iCAAe,EAAC,MAAa,CAAC,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AATD,gCASC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* askHuman — Built-in tool that pauses the agent loop for human input.
|
|
4
|
+
*
|
|
5
|
+
* When the LLM calls this tool, the agent loop pauses and creates a checkpoint.
|
|
6
|
+
* The human's response is provided via agent.resume(), which continues the loop
|
|
7
|
+
* with the answer as the tool result.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const agent = Agent.create({ provider })
|
|
12
|
+
* .system('You are helpful. Use ask_human when you need clarification.')
|
|
13
|
+
* .tool(askHuman())
|
|
14
|
+
* .build();
|
|
15
|
+
*
|
|
16
|
+
* const result = await agent.run('Process my refund');
|
|
17
|
+
* if (result.paused) {
|
|
18
|
+
* console.log(result.pauseData.question); // "What is your order ID?"
|
|
19
|
+
* const final = await agent.resume('ORD-123');
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.askHuman = exports.isAskHumanResult = exports.ASK_HUMAN_MARKER = void 0;
|
|
25
|
+
/** Marker on ToolResult indicating this is an ask_human pause. Not globally reachable — only importable from this module. */
|
|
26
|
+
exports.ASK_HUMAN_MARKER = Symbol('askHuman');
|
|
27
|
+
/** Check if a tool result is an ask_human pause. */
|
|
28
|
+
function isAskHumanResult(result) {
|
|
29
|
+
return (typeof result === 'object' &&
|
|
30
|
+
result !== null &&
|
|
31
|
+
Object.getOwnPropertySymbols(result).includes(exports.ASK_HUMAN_MARKER) &&
|
|
32
|
+
result[exports.ASK_HUMAN_MARKER] === true);
|
|
33
|
+
}
|
|
34
|
+
exports.isAskHumanResult = isAskHumanResult;
|
|
35
|
+
/**
|
|
36
|
+
* Create the ask_human tool definition.
|
|
37
|
+
*
|
|
38
|
+
* @param description - Custom description for the LLM (optional).
|
|
39
|
+
*/
|
|
40
|
+
function askHuman(description) {
|
|
41
|
+
return {
|
|
42
|
+
id: 'ask_human',
|
|
43
|
+
description: description ??
|
|
44
|
+
'Ask the human user a question. Use this when you need clarification, approval, or any input from the user before proceeding.',
|
|
45
|
+
inputSchema: {
|
|
46
|
+
type: 'object',
|
|
47
|
+
properties: {
|
|
48
|
+
question: {
|
|
49
|
+
type: 'string',
|
|
50
|
+
description: 'The question to ask the human.',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
required: ['question'],
|
|
54
|
+
},
|
|
55
|
+
handler: async (input) => {
|
|
56
|
+
const question = String(input.question ?? '');
|
|
57
|
+
// Return a marked result — the tool execution stage detects this and pauses.
|
|
58
|
+
// The content is a placeholder; it gets replaced with the human's actual response on resume.
|
|
59
|
+
return {
|
|
60
|
+
content: `[Waiting for human response to: "${question}"]`,
|
|
61
|
+
question,
|
|
62
|
+
[exports.ASK_HUMAN_MARKER]: true,
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
exports.askHuman = askHuman;
|
|
68
|
+
//# sourceMappingURL=askHuman.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askHuman.js","sourceRoot":"","sources":["../../src/tools/askHuman.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAIH,6HAA6H;AAChH,QAAA,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AASnD,oDAAoD;AACpD,SAAgB,gBAAgB,CAAC,MAAkB;IACjD,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,wBAAgB,CAAC;QAC9D,MAA6C,CAAC,wBAAgB,CAAC,KAAK,IAAI,CAC1E,CAAC;AACJ,CAAC;AAPD,4CAOC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,WAAoB;IAC3C,OAAO;QACL,EAAE,EAAE,WAAW;QACf,WAAW,EACT,WAAW;YACX,8HAA8H;QAChI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;QACD,OAAO,EAAE,KAAK,EAAE,KAA8B,EAA2B,EAAE;YACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9C,6EAA6E;YAC7E,6FAA6F;YAC7F,OAAO;gBACL,OAAO,EAAE,oCAAoC,QAAQ,IAAI;gBACzD,QAAQ;gBACR,CAAC,wBAAgB,CAAC,EAAE,IAAI;aACzB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA3BD,4BA2BC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askHuman = exports.defineTool = exports.ToolRegistry = void 0;
|
|
4
|
+
var ToolRegistry_1 = require("./ToolRegistry");
|
|
5
|
+
Object.defineProperty(exports, "ToolRegistry", { enumerable: true, get: function () { return ToolRegistry_1.ToolRegistry; } });
|
|
6
|
+
Object.defineProperty(exports, "defineTool", { enumerable: true, get: function () { return ToolRegistry_1.defineTool; } });
|
|
7
|
+
var askHuman_1 = require("./askHuman");
|
|
8
|
+
Object.defineProperty(exports, "askHuman", { enumerable: true, get: function () { return askHuman_1.askHuman; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0D;AAAjD,4GAAA,YAAY,OAAA;AAAE,0GAAA,UAAU,OAAA;AACjC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* validateToolInput — lightweight JSON Schema validation for tool arguments.
|
|
4
|
+
*
|
|
5
|
+
* Validates LLM-provided tool arguments against the tool's inputSchema
|
|
6
|
+
* before calling the handler. Catches malformed arguments early with
|
|
7
|
+
* a clear error message fed back to the LLM.
|
|
8
|
+
*
|
|
9
|
+
* Supports: required fields, type checking (string, number, boolean, object, array).
|
|
10
|
+
* Does NOT support: $ref, oneOf, allOf, pattern, min/max, nested validation.
|
|
11
|
+
* For complex schemas, use a full validator (Ajv) in the handler.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.formatValidationErrors = exports.validateToolInput = void 0;
|
|
15
|
+
/**
|
|
16
|
+
* Validate tool arguments against a JSON Schema.
|
|
17
|
+
* Returns { valid: true } or { valid: false, errors: [...] }.
|
|
18
|
+
*/
|
|
19
|
+
function validateToolInput(args, schema) {
|
|
20
|
+
const errors = [];
|
|
21
|
+
// Check required fields
|
|
22
|
+
const required = schema.required;
|
|
23
|
+
if (Array.isArray(required)) {
|
|
24
|
+
for (const field of required) {
|
|
25
|
+
if (args[field] === undefined || args[field] === null) {
|
|
26
|
+
errors.push({ path: field, message: `Required field '${field}' is missing.` });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Check property types
|
|
31
|
+
const properties = schema.properties;
|
|
32
|
+
if (properties) {
|
|
33
|
+
for (const [key, prop] of Object.entries(properties)) {
|
|
34
|
+
const value = args[key];
|
|
35
|
+
if (value === undefined || value === null)
|
|
36
|
+
continue; // Skip optional missing fields
|
|
37
|
+
if (prop.type) {
|
|
38
|
+
const expectedType = prop.type;
|
|
39
|
+
const actualType = Array.isArray(value) ? 'array' : typeof value;
|
|
40
|
+
if (expectedType === 'integer') {
|
|
41
|
+
if (typeof value !== 'number' || !Number.isInteger(value)) {
|
|
42
|
+
errors.push({ path: key, message: `Expected integer for '${key}', got ${actualType}.` });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else if (expectedType !== actualType) {
|
|
46
|
+
errors.push({ path: key, message: `Expected ${expectedType} for '${key}', got ${actualType}.` });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return { valid: errors.length === 0, errors };
|
|
52
|
+
}
|
|
53
|
+
exports.validateToolInput = validateToolInput;
|
|
54
|
+
/**
|
|
55
|
+
* Format validation errors as a string for the LLM tool result.
|
|
56
|
+
*/
|
|
57
|
+
function formatValidationErrors(errors) {
|
|
58
|
+
return errors.map((e) => `${e.path}: ${e.message}`).join('; ');
|
|
59
|
+
}
|
|
60
|
+
exports.formatValidationErrors = formatValidationErrors;
|
|
61
|
+
//# sourceMappingURL=validateInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateInput.js","sourceRoot":"","sources":["../../src/tools/validateInput.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAYH;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,IAA6B,EAC7B,MAA+B;IAE/B,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,wBAAwB;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAgC,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,KAAK,eAAe,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC,UAA2D,CAAC;IACtF,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS,CAAC,+BAA+B;YAEpF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;gBAEjE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,UAAU,GAAG,EAAE,CAAC,CAAC;oBAC3F,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,YAAY,SAAS,GAAG,UAAU,UAAU,GAAG,EAAE,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAvCD,8CAuCC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,MAAkC;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAFD,wDAEC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isZodSchema = exports.zodToJsonSchema = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Minimal Zod-to-JSON-Schema converter. Duck-typed — no zod dependency.
|
|
6
|
+
* Handles: object, string, number, boolean, array, enum, optional, default.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
function zodToJsonSchema(zodSchema) {
|
|
10
|
+
const def = zodSchema._def;
|
|
11
|
+
if (!def)
|
|
12
|
+
return { type: 'object' };
|
|
13
|
+
switch (def.typeName) {
|
|
14
|
+
case 'ZodObject': {
|
|
15
|
+
const shape = zodSchema.shape;
|
|
16
|
+
const properties = {};
|
|
17
|
+
const required = [];
|
|
18
|
+
for (const [key, value] of Object.entries(shape)) {
|
|
19
|
+
properties[key] = zodToJsonSchema(value);
|
|
20
|
+
if (value._def?.typeName !== 'ZodOptional') {
|
|
21
|
+
required.push(key);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties,
|
|
27
|
+
...(required.length > 0 ? { required } : {}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
case 'ZodString': {
|
|
31
|
+
const r = { type: 'string' };
|
|
32
|
+
if (def.description)
|
|
33
|
+
r.description = def.description;
|
|
34
|
+
return r;
|
|
35
|
+
}
|
|
36
|
+
case 'ZodNumber': {
|
|
37
|
+
const r = { type: 'number' };
|
|
38
|
+
if (def.description)
|
|
39
|
+
r.description = def.description;
|
|
40
|
+
return r;
|
|
41
|
+
}
|
|
42
|
+
case 'ZodBoolean':
|
|
43
|
+
return { type: 'boolean' };
|
|
44
|
+
case 'ZodArray':
|
|
45
|
+
return { type: 'array', items: zodToJsonSchema(def.type) };
|
|
46
|
+
case 'ZodEnum':
|
|
47
|
+
return { type: 'string', enum: def.values };
|
|
48
|
+
case 'ZodOptional':
|
|
49
|
+
return zodToJsonSchema(def.innerType);
|
|
50
|
+
case 'ZodDefault':
|
|
51
|
+
return zodToJsonSchema(def.innerType);
|
|
52
|
+
case 'ZodNullable': {
|
|
53
|
+
const inner = zodToJsonSchema(def.innerType);
|
|
54
|
+
return { ...inner, nullable: true };
|
|
55
|
+
}
|
|
56
|
+
case 'ZodLiteral':
|
|
57
|
+
return { const: def.value };
|
|
58
|
+
default:
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.zodToJsonSchema = zodToJsonSchema;
|
|
63
|
+
/** Duck-type check: is this a Zod schema? */
|
|
64
|
+
function isZodSchema(value) {
|
|
65
|
+
return typeof value === 'object' && value !== null
|
|
66
|
+
&& typeof value.safeParse === 'function'
|
|
67
|
+
&& value._def !== undefined;
|
|
68
|
+
}
|
|
69
|
+
exports.isZodSchema = isZodSchema;
|
|
70
|
+
//# sourceMappingURL=zodToJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zodToJsonSchema.js","sourceRoot":"","sources":["../../src/tools/zodToJsonSchema.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,eAAe,CAAC,SAAc;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEpC,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAY,CAAC,CAAC;gBAChD,IAAK,KAAa,CAAC,IAAI,EAAE,QAAQ,KAAK,aAAa,EAAE,CAAC;oBACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU;gBACV,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC;QACJ,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACtD,IAAI,GAAG,CAAC,WAAW;gBAAE,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACtD,IAAI,GAAG,CAAC,WAAW;gBAAE,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9C,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,KAAK,YAAY;YACf,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,KAAK,YAAY;YACf,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QAC9B;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AApDD,0CAoDC;AAED,6CAA6C;AAC7C,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;WAC7C,OAAQ,KAAa,CAAC,SAAS,KAAK,UAAU;WAC7C,KAAa,CAAC,IAAI,KAAK,SAAS,CAAC;AACzC,CAAC;AAJD,kCAIC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapter result — discriminated union for provider responses.
|
|
4
|
+
* Adapters normalize any provider's response into one of these shapes.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ADAPTER_PATHS = void 0;
|
|
8
|
+
/** Well-known scope paths for adapter stages. */
|
|
9
|
+
exports.ADAPTER_PATHS = {
|
|
10
|
+
REQUEST: 'adapterRequest',
|
|
11
|
+
RESPONSE: 'adapterRawResponse',
|
|
12
|
+
RESULT: 'adapterResult',
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/types/adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAgCH,iDAAiD;AACpC,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,eAAe;CACf,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* a2aRunner — wraps an A2A (Agent-to-Agent) endpoint as a RunnerLike.
|
|
3
|
+
*
|
|
4
|
+
* A2A protocol enables agents to communicate across services.
|
|
5
|
+
* This adapter bridges the A2A interface to agentfootprint's RunnerLike,
|
|
6
|
+
* enabling composition in FlowChart, Swarm, or agentAsTool.
|
|
7
|
+
*
|
|
8
|
+
* The adapter accepts an A2AClient interface (transport-agnostic).
|
|
9
|
+
* Users provide their own A2A client implementation.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* const remoteAgent = a2aRunner({
|
|
13
|
+
* client: myA2AClient,
|
|
14
|
+
* agentId: 'research-agent',
|
|
15
|
+
* });
|
|
16
|
+
* const pipeline = FlowChart.create()
|
|
17
|
+
* .agent('remote-research', 'Research', remoteAgent)
|
|
18
|
+
* .build();
|
|
19
|
+
*/
|
|
20
|
+
import type { RunnerLike } from '../../types/multiAgent';
|
|
21
|
+
/** Minimal A2A client interface. Users bring their own implementation. */
|
|
22
|
+
export interface A2AClient {
|
|
23
|
+
/** Send a message to an agent and get a response. */
|
|
24
|
+
sendMessage(agentId: string, message: string, options?: {
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
}): Promise<A2AResponse>;
|
|
28
|
+
}
|
|
29
|
+
export interface A2AResponse {
|
|
30
|
+
readonly content: string;
|
|
31
|
+
readonly metadata?: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
export interface A2ARunnerOptions {
|
|
34
|
+
/** A2A client instance. */
|
|
35
|
+
readonly client: A2AClient;
|
|
36
|
+
/** ID of the remote agent. */
|
|
37
|
+
readonly agentId: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function a2aRunner(options: A2ARunnerOptions): RunnerLike;
|
|
40
|
+
//# sourceMappingURL=a2aRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2aRunner.d.ts","sourceRoot":"","sources":["../../../../src/adapters/a2a/a2aRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,qDAAqD;IACrD,WAAW,CACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACrD,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAID,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAY/D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnthropicAdapter — wraps @anthropic-ai/sdk as an LLMProvider.
|
|
3
|
+
*
|
|
4
|
+
* Requires: npm install @anthropic-ai/sdk
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Full chat() + chatStream() support
|
|
8
|
+
* - Multi-modal content (text, images, tool_use, tool_result)
|
|
9
|
+
* - AbortSignal passthrough for cancellation
|
|
10
|
+
* - Normalized LLMError for uniform error handling
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* import { AnthropicAdapter } from 'agentfootprint';
|
|
14
|
+
* const provider = new AnthropicAdapter({ model: 'claude-sonnet-4-20250514' });
|
|
15
|
+
* const agent = Agent.create({ provider }).build();
|
|
16
|
+
*/
|
|
17
|
+
import type { LLMProvider, LLMResponse, LLMCallOptions, LLMStreamChunk, Message } from '../../types';
|
|
18
|
+
export interface AnthropicAdapterOptions {
|
|
19
|
+
/** Model ID (e.g., 'claude-sonnet-4-20250514'). */
|
|
20
|
+
readonly model: string;
|
|
21
|
+
/** API key. Defaults to ANTHROPIC_API_KEY env var. */
|
|
22
|
+
readonly apiKey?: string;
|
|
23
|
+
/** Max tokens in response. Default: 4096. */
|
|
24
|
+
readonly maxTokens?: number;
|
|
25
|
+
/** @internal Pre-built client for testing. Skips SDK import. */
|
|
26
|
+
readonly _client?: unknown;
|
|
27
|
+
}
|
|
28
|
+
export declare class AnthropicAdapter implements LLMProvider {
|
|
29
|
+
private readonly client;
|
|
30
|
+
private readonly model;
|
|
31
|
+
private readonly defaultMaxTokens;
|
|
32
|
+
constructor(options: AnthropicAdapterOptions);
|
|
33
|
+
chat(messages: Message[], options?: LLMCallOptions): Promise<LLMResponse>;
|
|
34
|
+
chatStream(messages: Message[], options?: LLMCallOptions): AsyncIterable<LLMStreamChunk>;
|
|
35
|
+
private buildParams;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=AnthropicAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnthropicAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/anthropic/AnthropicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AA6ErB,MAAM,WAAW,uBAAuB;IACtC,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,OAAO,EAAE,uBAAuB;IAsBtC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAWxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IAmD/F,OAAO,CAAC,WAAW;CA4CpB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BedrockAdapter — wraps AWS Bedrock Converse API as an LLMProvider.
|
|
3
|
+
*
|
|
4
|
+
* Requires: npm install @aws-sdk/client-bedrock-runtime
|
|
5
|
+
*
|
|
6
|
+
* Uses the model-agnostic Converse API, so it works with any Bedrock model
|
|
7
|
+
* (Claude, Llama, Mistral, Titan, etc.) without format-specific code.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Full chat() + chatStream() support via ConverseStream
|
|
11
|
+
* - Multi-modal content (text, images)
|
|
12
|
+
* - AbortSignal passthrough for cancellation
|
|
13
|
+
* - Normalized LLMError for uniform error handling
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* import { BedrockAdapter } from 'agentfootprint';
|
|
17
|
+
* const provider = new BedrockAdapter({
|
|
18
|
+
* model: 'anthropic.claude-sonnet-4-20250514-v1:0',
|
|
19
|
+
* region: 'us-east-1',
|
|
20
|
+
* });
|
|
21
|
+
*/
|
|
22
|
+
import type { LLMProvider, LLMResponse, LLMCallOptions, LLMStreamChunk, Message } from '../../types';
|
|
23
|
+
export interface BedrockAdapterOptions {
|
|
24
|
+
/** Bedrock model ID (e.g., 'anthropic.claude-sonnet-4-20250514-v1:0'). */
|
|
25
|
+
readonly model: string;
|
|
26
|
+
/** AWS region. Defaults to AWS_REGION env var. */
|
|
27
|
+
readonly region?: string;
|
|
28
|
+
/** Max tokens in response. Default: 4096. */
|
|
29
|
+
readonly maxTokens?: number;
|
|
30
|
+
/** @internal Pre-built client for testing. Skips SDK import. */
|
|
31
|
+
readonly _client?: unknown;
|
|
32
|
+
}
|
|
33
|
+
export declare class BedrockAdapter implements LLMProvider {
|
|
34
|
+
private readonly client;
|
|
35
|
+
private readonly model;
|
|
36
|
+
private readonly defaultMaxTokens;
|
|
37
|
+
private ConverseCommand;
|
|
38
|
+
private ConverseStreamCommand;
|
|
39
|
+
constructor(options: BedrockAdapterOptions);
|
|
40
|
+
chat(messages: Message[], options?: LLMCallOptions): Promise<LLMResponse>;
|
|
41
|
+
chatStream(messages: Message[], options?: LLMCallOptions): AsyncIterable<LLMStreamChunk>;
|
|
42
|
+
private buildInput;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=BedrockAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BedrockAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/bedrock/BedrockAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AA0ErB,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAG1C,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,qBAAqB,CAA+C;gBAEhE,OAAO,EAAE,qBAAqB;IA6BpC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAYxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IA4E/F,OAAO,CAAC,UAAU;CA4BnB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BrowserAnthropicAdapter — fetch-based Anthropic adapter for browser environments.
|
|
3
|
+
*
|
|
4
|
+
* Zero peer dependencies — uses the global fetch() API.
|
|
5
|
+
* Works in any modern browser. Requires the user's own API key.
|
|
6
|
+
*
|
|
7
|
+
* Note: Anthropic requires the `anthropic-dangerous-direct-browser-access` header
|
|
8
|
+
* to allow direct browser-to-API calls. This is intentional — the user explicitly
|
|
9
|
+
* provides their own key for prototyping/playground use.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* import { BrowserAnthropicAdapter } from 'agentfootprint';
|
|
13
|
+
* const provider = new BrowserAnthropicAdapter({
|
|
14
|
+
* apiKey: 'sk-ant-...',
|
|
15
|
+
* model: 'claude-sonnet-4-20250514',
|
|
16
|
+
* });
|
|
17
|
+
*/
|
|
18
|
+
import type { LLMProvider, LLMResponse, LLMCallOptions, LLMStreamChunk, Message } from '../../types';
|
|
19
|
+
export interface BrowserAnthropicAdapterOptions {
|
|
20
|
+
/** API key (required for browser use). */
|
|
21
|
+
readonly apiKey: string;
|
|
22
|
+
/** Model ID (e.g., 'claude-sonnet-4-20250514'). */
|
|
23
|
+
readonly model: string;
|
|
24
|
+
/** Max tokens in response. Default: 4096. */
|
|
25
|
+
readonly maxTokens?: number;
|
|
26
|
+
/** Override API URL (e.g., for proxy). */
|
|
27
|
+
readonly baseURL?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare class BrowserAnthropicAdapter implements LLMProvider {
|
|
30
|
+
private readonly apiKey;
|
|
31
|
+
private readonly model;
|
|
32
|
+
private readonly defaultMaxTokens;
|
|
33
|
+
private readonly baseURL;
|
|
34
|
+
constructor(options: BrowserAnthropicAdapterOptions);
|
|
35
|
+
chat(messages: Message[], options?: LLMCallOptions): Promise<LLMResponse>;
|
|
36
|
+
chatStream(messages: Message[], options?: LLMCallOptions): AsyncIterable<LLMStreamChunk>;
|
|
37
|
+
private buildBody;
|
|
38
|
+
private fetchAPI;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=BrowserAnthropicAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserAnthropicAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/browser/BrowserAnthropicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AAsDrB,MAAM,WAAW,8BAA8B;IAC7C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,uBAAwB,YAAW,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,8BAA8B;IAO7C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IA4G/F,OAAO,CAAC,SAAS;YAwCH,QAAQ;CA0CvB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BrowserOpenAIAdapter — fetch-based OpenAI adapter for browser environments.
|
|
3
|
+
*
|
|
4
|
+
* Zero peer dependencies — uses the global fetch() API.
|
|
5
|
+
* Works in any modern browser. Requires the user's own API key.
|
|
6
|
+
*
|
|
7
|
+
* Also works with OpenAI-compatible APIs (Groq, Together, etc.)
|
|
8
|
+
* by setting the baseURL option.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { BrowserOpenAIAdapter } from 'agentfootprint';
|
|
12
|
+
* const provider = new BrowserOpenAIAdapter({
|
|
13
|
+
* apiKey: 'sk-...',
|
|
14
|
+
* model: 'gpt-4o',
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* // Groq (OpenAI-compatible):
|
|
18
|
+
* const groq = new BrowserOpenAIAdapter({
|
|
19
|
+
* apiKey: 'gsk_...',
|
|
20
|
+
* model: 'llama-3.3-70b-versatile',
|
|
21
|
+
* baseURL: 'https://api.groq.com/openai/v1/chat/completions',
|
|
22
|
+
* });
|
|
23
|
+
*/
|
|
24
|
+
import type { LLMProvider, LLMResponse, LLMCallOptions, LLMStreamChunk, Message } from '../../types';
|
|
25
|
+
export interface BrowserOpenAIAdapterOptions {
|
|
26
|
+
/** API key (required for browser use). */
|
|
27
|
+
readonly apiKey: string;
|
|
28
|
+
/** Model ID (e.g., 'gpt-4o', 'gpt-4o-mini'). */
|
|
29
|
+
readonly model: string;
|
|
30
|
+
/** Max tokens in response. */
|
|
31
|
+
readonly maxTokens?: number;
|
|
32
|
+
/** Full URL for OpenAI-compatible APIs. Default: OpenAI. */
|
|
33
|
+
readonly baseURL?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare class BrowserOpenAIAdapter implements LLMProvider {
|
|
36
|
+
private readonly apiKey;
|
|
37
|
+
private readonly model;
|
|
38
|
+
private readonly defaultMaxTokens?;
|
|
39
|
+
private readonly baseURL;
|
|
40
|
+
constructor(options: BrowserOpenAIAdapterOptions);
|
|
41
|
+
chat(messages: Message[], options?: LLMCallOptions): Promise<LLMResponse>;
|
|
42
|
+
chatStream(messages: Message[], options?: LLMCallOptions): AsyncIterable<LLMStreamChunk>;
|
|
43
|
+
private buildBody;
|
|
44
|
+
private fetchAPI;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=BrowserOpenAIAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserOpenAIAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/browser/BrowserOpenAIAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AAwErB,MAAM,WAAW,2BAA2B;IAC1C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,2BAA2B;IAO1C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IA4G/F,OAAO,CAAC,SAAS;YAgBH,QAAQ;CAwCvB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BrowserAnthropicAdapter } from './BrowserAnthropicAdapter';
|
|
2
|
+
export type { BrowserAnthropicAdapterOptions } from './BrowserAnthropicAdapter';
|
|
3
|
+
export { BrowserOpenAIAdapter } from './BrowserOpenAIAdapter';
|
|
4
|
+
export type { BrowserOpenAIAdapterOptions } from './BrowserOpenAIAdapter';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a 3-stage adapter subflow (FormatRequest → ExecuteCall → MapResponse).
|
|
3
|
+
*
|
|
4
|
+
* This is the key architectural insight: the adapter is a FlowChart subflow.
|
|
5
|
+
* Swapping mock for real only changes the ExecuteCall stage.
|
|
6
|
+
* The rest of the agent flowchart runs identically.
|
|
7
|
+
*/
|
|
8
|
+
import type { TypedScope } from 'footprintjs';
|
|
9
|
+
import type { LLMProvider, LLMToolDescription, LLMResponse, Message, AdapterResult } from '../types';
|
|
10
|
+
export interface AdapterSubflowConfig {
|
|
11
|
+
/** The LLM provider (real or mock). */
|
|
12
|
+
readonly provider: LLMProvider;
|
|
13
|
+
/** Adapter ID for narrative. */
|
|
14
|
+
readonly id?: string;
|
|
15
|
+
}
|
|
16
|
+
/** Internal state shape for the adapter subflow. */
|
|
17
|
+
interface AdapterSubflowState {
|
|
18
|
+
messages: Message[];
|
|
19
|
+
toolDescriptions: LLMToolDescription[];
|
|
20
|
+
adapterRequest: {
|
|
21
|
+
messages: Message[];
|
|
22
|
+
tools: LLMToolDescription[];
|
|
23
|
+
};
|
|
24
|
+
adapterRawResponse: LLMResponse;
|
|
25
|
+
adapterResult: AdapterResult;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build a 3-stage subflow for LLM calls.
|
|
29
|
+
*
|
|
30
|
+
* Stage 1 (FormatRequest): Read messages + tools from scope → write adapter request
|
|
31
|
+
* Stage 2 (ExecuteCall): Call provider.chat() → write raw response
|
|
32
|
+
* Stage 3 (MapResponse): Normalize to AdapterResult → write result
|
|
33
|
+
*/
|
|
34
|
+
export declare function createAdapterSubflow(config: AdapterSubflowConfig): import("footprintjs").RunnableFlowChart<any, TypedScope<AdapterSubflowState>>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=createAdapterSubflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAdapterSubflow.d.ts","sourceRoot":"","sources":["../../../src/adapters/createAdapterSubflow.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGrG,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oDAAoD;AACpD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,cAAc,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IACrE,kBAAkB,EAAE,WAAW,CAAC;IAChC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,iFAgChE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* createProvider — bridges ModelConfig → LLMProvider.
|
|
3
|
+
*
|
|
4
|
+
* Resolves a ModelConfig (from anthropic(), openai(), ollama(), bedrock())
|
|
5
|
+
* into the appropriate adapter instance.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { createProvider, anthropic } from 'agentfootprint';
|
|
9
|
+
*
|
|
10
|
+
* // Config-based (simple DX):
|
|
11
|
+
* const provider = createProvider(anthropic('claude-sonnet-4-20250514'));
|
|
12
|
+
*
|
|
13
|
+
* // With options:
|
|
14
|
+
* const provider = createProvider(openai('gpt-4o', { apiKey: 'sk-...' }));
|
|
15
|
+
*
|
|
16
|
+
* // Ollama (auto-configured):
|
|
17
|
+
* const provider = createProvider(ollama('llama3'));
|
|
18
|
+
*
|
|
19
|
+
* // Bedrock with region:
|
|
20
|
+
* const provider = createProvider(bedrock('anthropic.claude-sonnet-4-20250514-v1:0', { region: 'us-east-1' }));
|
|
21
|
+
*/
|
|
22
|
+
import type { LLMProvider } from '../types';
|
|
23
|
+
import type { ModelConfig } from '../models';
|
|
24
|
+
/**
|
|
25
|
+
* Check if the value is already an LLMProvider (has a `.chat` method).
|
|
26
|
+
* Used for auto-detection in Agent.create(), LLMCall.create(), etc.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isLLMProvider(value: unknown): value is LLMProvider;
|
|
29
|
+
/**
|
|
30
|
+
* Resolve a provider-or-config to an LLMProvider.
|
|
31
|
+
*
|
|
32
|
+
* Accepts either an LLMProvider directly or a ModelConfig (from anthropic(), openai(), etc.).
|
|
33
|
+
* This enables:
|
|
34
|
+
* Agent.create({ provider: anthropic('claude-sonnet-4-20250514') })
|
|
35
|
+
* without wrapping in createProvider().
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveProvider(providerOrConfig: LLMProvider | ModelConfig): LLMProvider;
|
|
38
|
+
/**
|
|
39
|
+
* Create an LLMProvider from a ModelConfig.
|
|
40
|
+
*
|
|
41
|
+
* Maps provider factories (anthropic(), openai(), ollama(), bedrock())
|
|
42
|
+
* to their real adapter implementations.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createProvider(config: ModelConfig & {
|
|
45
|
+
_client?: unknown;
|
|
46
|
+
}): LLMProvider;
|
|
47
|
+
//# sourceMappingURL=createProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProvider.d.ts","sourceRoot":"","sources":["../../../src/adapters/createProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM7C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAGxF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1C,WAAW,CAwDb"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* fallbackProvider — LLMProvider that tries providers in order until one succeeds.
|
|
3
|
+
*
|
|
4
|
+
* Wraps multiple LLMProviders into a single LLMProvider. On each chat() call,
|
|
5
|
+
* tries providers in order. If one fails (rate limit, timeout, network error),
|
|
6
|
+
* falls through to the next.
|
|
7
|
+
*
|
|
8
|
+
* Narrative integration: the response includes `model` from whichever provider
|
|
9
|
+
* succeeded — recorders capture this via onLLMCall.model, so the narrative
|
|
10
|
+
* reflects which provider actually answered. The onFallback callback fires
|
|
11
|
+
* during traversal (not post-processing) for immediate observability.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* // Try Anthropic, fall back to OpenAI, then local Ollama
|
|
15
|
+
* const provider = fallbackProvider([
|
|
16
|
+
* new AnthropicAdapter({ model: 'claude-sonnet-4-20250514' }),
|
|
17
|
+
* new OpenAIAdapter({ model: 'gpt-4o' }),
|
|
18
|
+
* new OpenAIAdapter({ model: 'llama3', baseURL: 'http://localhost:11434/v1' }),
|
|
19
|
+
* ]);
|
|
20
|
+
*
|
|
21
|
+
* const agent = Agent.create({ provider }).system('...').build();
|
|
22
|
+
*
|
|
23
|
+
* // With observability
|
|
24
|
+
* const provider = fallbackProvider(
|
|
25
|
+
* [anthropicAdapter, openaiAdapter],
|
|
26
|
+
* {
|
|
27
|
+
* onFallback: (fromIndex, toIndex, error) =>
|
|
28
|
+
* console.warn(`Provider ${fromIndex} failed, trying ${toIndex}:`, error),
|
|
29
|
+
* shouldFallback: (error) => {
|
|
30
|
+
* // Only fall back on rate limits and network errors, not auth errors
|
|
31
|
+
* if (error instanceof LLMError) return error.statusCode === 429 || error.statusCode >= 500;
|
|
32
|
+
* return true;
|
|
33
|
+
* },
|
|
34
|
+
* },
|
|
35
|
+
* );
|
|
36
|
+
*/
|
|
37
|
+
import type { LLMProvider } from '../types/llm';
|
|
38
|
+
export interface FallbackProviderOptions {
|
|
39
|
+
/** Called when falling back from one provider to the next (during traversal). */
|
|
40
|
+
onFallback?: (fromIndex: number, toIndex: number, error: unknown) => void;
|
|
41
|
+
/** Only fall back if this returns true. Default: always fall back. */
|
|
42
|
+
shouldFallback?: (error: unknown) => boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare function fallbackProvider(providers: readonly LLMProvider[], options?: FallbackProviderOptions): LLMProvider;
|
|
45
|
+
//# sourceMappingURL=fallbackProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallbackProvider.d.ts","sourceRoot":"","sources":["../../../src/adapters/fallbackProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,cAAc,CAAC;AAG7F,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sEAAsE;IACtE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC9C;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,WAAW,EAAE,EACjC,OAAO,CAAC,EAAE,uBAAuB,GAChC,WAAW,CAwDb"}
|