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,30 @@
|
|
|
1
|
+
export type { ConversationStore, MemoryConfig } from './memory/types';
|
|
2
|
+
export { InMemoryStore } from './memory/inMemory';
|
|
3
|
+
export { redisStore, dynamoStore, postgresStore } from './memory/stores';
|
|
4
|
+
export type { RedisLike, RedisStoreOptions, DynamoLike, DynamoStoreOptions, PostgresLike, PostgresStoreOptions } from './memory/stores';
|
|
5
|
+
export { MockAdapter, mock } from './mock/MockAdapter';
|
|
6
|
+
export type { MockResponse } from './mock/MockAdapter';
|
|
7
|
+
export { MockRetriever, mockRetriever } from './mock/MockRetriever';
|
|
8
|
+
export type { MockRetrievalResponse } from './mock/MockRetriever';
|
|
9
|
+
export { createAdapterSubflow } from './createAdapterSubflow';
|
|
10
|
+
export type { AdapterSubflowConfig } from './createAdapterSubflow';
|
|
11
|
+
export { mcpToolProvider } from './mcp/mcpToolProvider';
|
|
12
|
+
export type { MCPClient, MCPToolInfo, MCPToolResult, MCPToolProviderOptions, } from './mcp/mcpToolProvider';
|
|
13
|
+
export { a2aRunner } from './a2a/a2aRunner';
|
|
14
|
+
export type { A2AClient, A2AResponse, A2ARunnerOptions } from './a2a/a2aRunner';
|
|
15
|
+
export { AnthropicAdapter } from './anthropic/AnthropicAdapter';
|
|
16
|
+
export type { AnthropicAdapterOptions } from './anthropic/AnthropicAdapter';
|
|
17
|
+
export { OpenAIAdapter } from './openai/OpenAIAdapter';
|
|
18
|
+
export type { OpenAIAdapterOptions } from './openai/OpenAIAdapter';
|
|
19
|
+
export { BedrockAdapter } from './bedrock/BedrockAdapter';
|
|
20
|
+
export type { BedrockAdapterOptions } from './bedrock/BedrockAdapter';
|
|
21
|
+
export { BrowserAnthropicAdapter } from './browser/BrowserAnthropicAdapter';
|
|
22
|
+
export type { BrowserAnthropicAdapterOptions } from './browser/BrowserAnthropicAdapter';
|
|
23
|
+
export { BrowserOpenAIAdapter } from './browser/BrowserOpenAIAdapter';
|
|
24
|
+
export type { BrowserOpenAIAdapterOptions } from './browser/BrowserOpenAIAdapter';
|
|
25
|
+
export { fallbackProvider } from './fallbackProvider';
|
|
26
|
+
export type { FallbackProviderOptions } from './fallbackProvider';
|
|
27
|
+
export { resilientProvider } from './resilientProvider';
|
|
28
|
+
export type { ResilientProviderOptions } from './resilientProvider';
|
|
29
|
+
export { createProvider, resolveProvider, isLLMProvider } from './createProvider';
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGxI,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,YAAY,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mcpToolProvider — wraps an MCP server as a ToolProvider.
|
|
3
|
+
*
|
|
4
|
+
* MCP (Model Context Protocol) exposes tools from external servers.
|
|
5
|
+
* This adapter bridges MCP's tool interface to agentfootprint's ToolProvider,
|
|
6
|
+
* enabling agents to use MCP tools without knowing the protocol.
|
|
7
|
+
*
|
|
8
|
+
* The adapter accepts an MCPClient interface (transport-agnostic).
|
|
9
|
+
* Users provide their own MCP client implementation — this adapter
|
|
10
|
+
* only handles the ToolProvider mapping.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* const tools = mcpToolProvider({ client: myMcpClient });
|
|
14
|
+
* const agent = Agent.create({ provider }).build();
|
|
15
|
+
* // Agent can now call MCP tools
|
|
16
|
+
*/
|
|
17
|
+
import type { ToolProvider } from '../../core';
|
|
18
|
+
/** Minimal MCP client interface. Users bring their own implementation. */
|
|
19
|
+
export interface MCPClient {
|
|
20
|
+
/** List available tools from the MCP server. */
|
|
21
|
+
listTools(): Promise<MCPToolInfo[]>;
|
|
22
|
+
/** Call a tool on the MCP server. */
|
|
23
|
+
callTool(name: string, args: Record<string, unknown>): Promise<MCPToolResult>;
|
|
24
|
+
}
|
|
25
|
+
export interface MCPToolInfo {
|
|
26
|
+
readonly name: string;
|
|
27
|
+
readonly description?: string;
|
|
28
|
+
readonly inputSchema?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export interface MCPToolResult {
|
|
31
|
+
readonly content: string;
|
|
32
|
+
readonly isError?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface MCPToolProviderOptions {
|
|
35
|
+
/** MCP client instance. */
|
|
36
|
+
readonly client: MCPClient;
|
|
37
|
+
/** Optional prefix for tool names to avoid collisions. */
|
|
38
|
+
readonly prefix?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function mcpToolProvider(options: MCPToolProviderOptions): ToolProvider;
|
|
41
|
+
//# sourceMappingURL=mcpToolProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpToolProvider.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mcp/mcpToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAIpE,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY,CAwB7E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InMemoryStore — ConversationStore implementation backed by a plain Map.
|
|
3
|
+
*
|
|
4
|
+
* For testing and development only. Data does not survive process restarts.
|
|
5
|
+
* Use a real backend (Redis, Postgres, DynamoDB) in production.
|
|
6
|
+
*/
|
|
7
|
+
import type { Message } from '../../types/messages';
|
|
8
|
+
import type { ConversationStore } from './types';
|
|
9
|
+
export declare class InMemoryStore implements ConversationStore {
|
|
10
|
+
private readonly conversations;
|
|
11
|
+
load(conversationId: string): Message[];
|
|
12
|
+
save(conversationId: string, messages: Message[]): void;
|
|
13
|
+
/** Return all conversation IDs currently in store. */
|
|
14
|
+
ids(): string[];
|
|
15
|
+
/** Return number of messages stored for a conversation. */
|
|
16
|
+
size(conversationId: string): number;
|
|
17
|
+
/** Clear a specific conversation. */
|
|
18
|
+
delete(conversationId: string): void;
|
|
19
|
+
/** Clear all stored conversations. */
|
|
20
|
+
clear(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=inMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inMemory.d.ts","sourceRoot":"","sources":["../../../../src/adapters/memory/inMemory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,aAAc,YAAW,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAE9D,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE;IAKvC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAKvD,sDAAsD;IACtD,GAAG,IAAI,MAAM,EAAE;IAIf,2DAA2D;IAC3D,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAIpC,qCAAqC;IACrC,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIpC,sCAAsC;IACtC,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/memory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory store adapter factories — consumer brings their own client.
|
|
3
|
+
*
|
|
4
|
+
* Zero new dependencies. Each factory wraps the consumer's client instance
|
|
5
|
+
* into a ConversationStore that implements load() + save().
|
|
6
|
+
*
|
|
7
|
+
* @example Redis
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import Redis from 'ioredis';
|
|
10
|
+
* import { redisStore } from 'agentfootprint';
|
|
11
|
+
*
|
|
12
|
+
* const store = redisStore(new Redis(), { ttlSeconds: 3600 });
|
|
13
|
+
* agent.memory({ store, conversationId: 'session-123' });
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @example DynamoDB
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
19
|
+
* import { dynamoStore } from 'agentfootprint';
|
|
20
|
+
*
|
|
21
|
+
* const store = dynamoStore(new DynamoDBClient({}), { tableName: 'conversations' });
|
|
22
|
+
* agent.memory({ store, conversationId: 'session-123' });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { ConversationStore } from './types';
|
|
26
|
+
/**
|
|
27
|
+
* Duck-typed Redis client — works with ioredis and node-redis v4+.
|
|
28
|
+
* Uses variadic `set()` for ioredis compat and options object for node-redis v4.
|
|
29
|
+
*/
|
|
30
|
+
export interface RedisLike {
|
|
31
|
+
get(key: string): Promise<string | null>;
|
|
32
|
+
set(key: string, value: string, ...args: unknown[]): Promise<unknown>;
|
|
33
|
+
}
|
|
34
|
+
export interface RedisStoreOptions {
|
|
35
|
+
/** Key prefix. Default: 'agentfp:conv:' */
|
|
36
|
+
prefix?: string;
|
|
37
|
+
/** TTL in seconds. Default: no expiry. */
|
|
38
|
+
ttlSeconds?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a ConversationStore backed by Redis.
|
|
42
|
+
* Consumer provides their own Redis client (ioredis, redis, etc.).
|
|
43
|
+
*/
|
|
44
|
+
export declare function redisStore(client: RedisLike, options?: RedisStoreOptions): ConversationStore;
|
|
45
|
+
/**
|
|
46
|
+
* Duck-typed DynamoDB adapter — consumer provides get/put functions.
|
|
47
|
+
*
|
|
48
|
+
* This avoids depending on specific AWS SDK versions or Command class imports.
|
|
49
|
+
* The consumer wraps their own client:
|
|
50
|
+
*
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import { DynamoDBDocumentClient, GetCommand, PutCommand } from '@aws-sdk/lib-dynamodb';
|
|
53
|
+
*
|
|
54
|
+
* const docClient = DynamoDBDocumentClient.from(new DynamoDBClient({}));
|
|
55
|
+
* const store = dynamoStore({
|
|
56
|
+
* get: async (table, key) => {
|
|
57
|
+
* const result = await docClient.send(new GetCommand({ TableName: table, Key: key }));
|
|
58
|
+
* return result.Item ?? null;
|
|
59
|
+
* },
|
|
60
|
+
* put: async (table, item) => {
|
|
61
|
+
* await docClient.send(new PutCommand({ TableName: table, Item: item }));
|
|
62
|
+
* },
|
|
63
|
+
* }, { tableName: 'conversations' });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export interface DynamoLike {
|
|
67
|
+
get(tableName: string, key: Record<string, unknown>): Promise<Record<string, unknown> | null>;
|
|
68
|
+
put(tableName: string, item: Record<string, unknown>): Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
export interface DynamoStoreOptions {
|
|
71
|
+
/** DynamoDB table name. Required. */
|
|
72
|
+
tableName: string;
|
|
73
|
+
/** Partition key name. Default: 'id'. */
|
|
74
|
+
partitionKey?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create a ConversationStore backed by DynamoDB.
|
|
78
|
+
* Consumer provides a thin wrapper around their DynamoDB client.
|
|
79
|
+
*/
|
|
80
|
+
export declare function dynamoStore(client: DynamoLike, options: DynamoStoreOptions): ConversationStore;
|
|
81
|
+
/** Duck-typed Postgres client — works with pg (node-postgres) or any client with query(text, values). */
|
|
82
|
+
export interface PostgresLike {
|
|
83
|
+
query(text: string, values?: unknown[]): Promise<{
|
|
84
|
+
rows: unknown[];
|
|
85
|
+
}>;
|
|
86
|
+
}
|
|
87
|
+
export interface PostgresStoreOptions {
|
|
88
|
+
/** Table name. Default: 'conversations'. */
|
|
89
|
+
tableName?: string;
|
|
90
|
+
}
|
|
91
|
+
export declare function postgresStore(client: PostgresLike, options?: PostgresStoreOptions): ConversationStore;
|
|
92
|
+
//# sourceMappingURL=stores.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../../../src/adapters/memory/stores.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAKjD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAkC5F;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9F,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CA2B9F;AAID,yGAAyG;AACzG,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CA2BrG"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory adapter types — ConversationStore interface for persistent conversation history.
|
|
3
|
+
*
|
|
4
|
+
* ConversationStore is the persistence adapter: it defines WHERE messages are stored.
|
|
5
|
+
* Implement this interface to plug in Redis, Postgres, DynamoDB, localStorage,
|
|
6
|
+
* or any other backend. The library ships with InMemoryStore for testing.
|
|
7
|
+
*
|
|
8
|
+
* This is the memory equivalent of LLMProvider — same adapter-swap story:
|
|
9
|
+
* - Swap mock ↔ real adapter without changing agent logic
|
|
10
|
+
* - Swap InMemoryStore ↔ RedisStore without touching flowchart stages
|
|
11
|
+
*/
|
|
12
|
+
import type { Message } from '../../types/messages';
|
|
13
|
+
import type { MessageStrategy } from '../../core/providers';
|
|
14
|
+
/**
|
|
15
|
+
* Persistence adapter for conversation message history.
|
|
16
|
+
*
|
|
17
|
+
* Implement this to plug in any storage backend:
|
|
18
|
+
* - `InMemoryStore` (built-in, for testing)
|
|
19
|
+
* - Redis: `store.save(id, msgs)` → SETEX key ttl JSON.stringify(msgs)
|
|
20
|
+
* - Postgres: INSERT OR REPLACE INTO conversations ...
|
|
21
|
+
* - DynamoDB: PutItem with conversationId as partition key
|
|
22
|
+
* - localStorage: localStorage.setItem(id, JSON.stringify(msgs))
|
|
23
|
+
*
|
|
24
|
+
* Both methods can be sync or async. The PrepareMemory stage awaits load().
|
|
25
|
+
* The CommitMemory stage fires save() without awaiting (non-blocking).
|
|
26
|
+
*/
|
|
27
|
+
export interface ConversationStore {
|
|
28
|
+
/**
|
|
29
|
+
* Load stored messages for a conversation.
|
|
30
|
+
* Returns empty array (or null) if no history exists for this conversationId.
|
|
31
|
+
* PrepareMemory treats null the same as an empty array — safe to return either.
|
|
32
|
+
*/
|
|
33
|
+
load(conversationId: string): Message[] | null | Promise<Message[] | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Save messages for a conversation (replaces existing).
|
|
36
|
+
* Called fire-and-forget by CommitMemory — errors should be caught internally.
|
|
37
|
+
*/
|
|
38
|
+
save(conversationId: string, messages: Message[]): void | Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Configuration passed to Agent.memory().
|
|
42
|
+
*
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const store = new InMemoryStore();
|
|
45
|
+
*
|
|
46
|
+
* const agent = Agent.create({ provider: llm })
|
|
47
|
+
* .system('You are helpful.')
|
|
48
|
+
* .memory({
|
|
49
|
+
* store,
|
|
50
|
+
* conversationId: 'conv-123',
|
|
51
|
+
* strategy: slidingWindow({ maxMessages: 20 }),
|
|
52
|
+
* })
|
|
53
|
+
* .build();
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export interface MemoryConfig {
|
|
57
|
+
/** Persistence adapter — where messages are stored. */
|
|
58
|
+
readonly store: ConversationStore;
|
|
59
|
+
/**
|
|
60
|
+
* Unique identifier for this conversation.
|
|
61
|
+
* Use a stable ID (user ID, session ID, thread ID) so history persists
|
|
62
|
+
* across multiple Agent.run() calls or server restarts.
|
|
63
|
+
*/
|
|
64
|
+
readonly conversationId: string;
|
|
65
|
+
/**
|
|
66
|
+
* Optional message strategy — how history is trimmed before each LLM call.
|
|
67
|
+
* If omitted, full untruncated history is used.
|
|
68
|
+
*
|
|
69
|
+
* Recommended: pair with slidingWindow() or charBudget() to avoid
|
|
70
|
+
* exceeding the LLM's context window on long conversations.
|
|
71
|
+
*/
|
|
72
|
+
readonly strategy?: MessageStrategy;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAE3E;;;OAGG;IACH,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAID;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;CACrC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MockAdapter — scripted LLM responses for $0 testing.
|
|
3
|
+
*
|
|
4
|
+
* Same flowchart, swap the adapter, zero code changes.
|
|
5
|
+
* Tests exercise the exact same control flow as production.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { mock } from 'agentfootprint';
|
|
9
|
+
* const model = mock([
|
|
10
|
+
* { content: 'Let me search.', toolCalls: [{ id: '1', name: 'search', arguments: { q: 'test' } }] },
|
|
11
|
+
* { content: 'The answer is 42.' },
|
|
12
|
+
* ]);
|
|
13
|
+
*/
|
|
14
|
+
import type { LLMProvider, LLMResponse, LLMCallOptions, Message, ToolCall } from '../../types';
|
|
15
|
+
export interface MockResponse {
|
|
16
|
+
readonly content: string;
|
|
17
|
+
readonly toolCalls?: ToolCall[];
|
|
18
|
+
readonly usage?: {
|
|
19
|
+
inputTokens: number;
|
|
20
|
+
outputTokens: number;
|
|
21
|
+
};
|
|
22
|
+
readonly model?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare class MockAdapter implements LLMProvider {
|
|
25
|
+
private responses;
|
|
26
|
+
private callIndex;
|
|
27
|
+
private readonly calls;
|
|
28
|
+
constructor(responses: MockResponse[]);
|
|
29
|
+
chat(messages: Message[], options?: LLMCallOptions): Promise<LLMResponse>;
|
|
30
|
+
/** How many times chat() was called. */
|
|
31
|
+
getCallCount(): number;
|
|
32
|
+
/** Get the messages sent in a specific call (0-indexed). */
|
|
33
|
+
getCall(index: number): {
|
|
34
|
+
messages: Message[];
|
|
35
|
+
options?: LLMCallOptions;
|
|
36
|
+
} | undefined;
|
|
37
|
+
/** Get all calls for assertion. */
|
|
38
|
+
getAllCalls(): ReadonlyArray<{
|
|
39
|
+
messages: Message[];
|
|
40
|
+
options?: LLMCallOptions;
|
|
41
|
+
}>;
|
|
42
|
+
/** Reset call history (keep responses). */
|
|
43
|
+
reset(): void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Factory function for creating a mock model.
|
|
47
|
+
*
|
|
48
|
+
* const model = mock([{ content: 'Hello!' }]);
|
|
49
|
+
*/
|
|
50
|
+
export declare function mock(responses: MockResponse[]): MockAdapter;
|
|
51
|
+
//# sourceMappingURL=MockAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mock/MockAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,WAAY,YAAW,WAAW;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgE;gBAE1E,SAAS,EAAE,YAAY,EAAE;IAI/B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB/E,wCAAwC;IACxC,YAAY,IAAI,MAAM;IAItB,4DAA4D;IAC5D,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,SAAS;IAIrF,mCAAmC;IACnC,WAAW,IAAI,aAAa,CAAC;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAI/E,2CAA2C;IAC3C,KAAK,IAAI,IAAI;CAId;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,WAAW,CAE3D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MockRetriever — scripted retrieval responses for $0 testing.
|
|
3
|
+
*
|
|
4
|
+
* Same flowchart, swap the retriever, zero code changes.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* import { mockRetriever } from 'agentfootprint';
|
|
8
|
+
* const retriever = mockRetriever([
|
|
9
|
+
* { chunks: [{ content: 'Relevant doc', score: 0.95 }] },
|
|
10
|
+
* ]);
|
|
11
|
+
*/
|
|
12
|
+
import type { RetrieverProvider, RetrievalResult, RetrieveOptions, RetrievalChunk } from '../../types';
|
|
13
|
+
export interface MockRetrievalResponse {
|
|
14
|
+
readonly chunks: RetrievalChunk[];
|
|
15
|
+
}
|
|
16
|
+
export declare class MockRetriever implements RetrieverProvider {
|
|
17
|
+
private responses;
|
|
18
|
+
private callIndex;
|
|
19
|
+
private readonly calls;
|
|
20
|
+
constructor(responses: MockRetrievalResponse[]);
|
|
21
|
+
retrieve(query: string, options?: RetrieveOptions): Promise<RetrievalResult>;
|
|
22
|
+
/** How many times retrieve() was called. */
|
|
23
|
+
getCallCount(): number;
|
|
24
|
+
/** Get a specific call (0-indexed). */
|
|
25
|
+
getCall(index: number): {
|
|
26
|
+
query: string;
|
|
27
|
+
options?: RetrieveOptions;
|
|
28
|
+
} | undefined;
|
|
29
|
+
/** Get all calls for assertion. */
|
|
30
|
+
getAllCalls(): ReadonlyArray<{
|
|
31
|
+
query: string;
|
|
32
|
+
options?: RetrieveOptions;
|
|
33
|
+
}>;
|
|
34
|
+
/** Reset call history (keep responses). */
|
|
35
|
+
reset(): void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Factory function for creating a mock retriever.
|
|
39
|
+
*
|
|
40
|
+
* const retriever = mockRetriever([{ chunks: [{ content: 'doc', score: 0.9 }] }]);
|
|
41
|
+
*/
|
|
42
|
+
export declare function mockRetriever(responses: MockRetrievalResponse[]): MockRetriever;
|
|
43
|
+
//# sourceMappingURL=MockRetriever.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockRetriever.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mock/MockRetriever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,qBAAa,aAAc,YAAW,iBAAiB;IACrD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2D;gBAErE,SAAS,EAAE,qBAAqB,EAAE;IAIxC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBlF,4CAA4C;IAC5C,YAAY,IAAI,MAAM;IAItB,uCAAuC;IACvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,SAAS;IAIhF,mCAAmC;IACnC,WAAW,IAAI,aAAa,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IAI1E,2CAA2C;IAC3C,KAAK,IAAI,IAAI;CAId;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAE/E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAIAdapter — wraps the openai SDK as an LLMProvider.
|
|
3
|
+
*
|
|
4
|
+
* Requires: npm install openai
|
|
5
|
+
*
|
|
6
|
+
* Also works with OpenAI-compatible APIs (Ollama, Together, Groq, etc.)
|
|
7
|
+
* by setting the baseURL option.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Full chat() + chatStream() support
|
|
11
|
+
* - Multi-modal content (text, images via URL)
|
|
12
|
+
* - AbortSignal passthrough for cancellation
|
|
13
|
+
* - Normalized LLMError for uniform error handling
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* import { OpenAIAdapter } from 'agentfootprint';
|
|
17
|
+
* const provider = new OpenAIAdapter({ model: 'gpt-4o' });
|
|
18
|
+
*
|
|
19
|
+
* // Ollama (OpenAI-compatible):
|
|
20
|
+
* const ollama = new OpenAIAdapter({
|
|
21
|
+
* model: 'llama3',
|
|
22
|
+
* baseURL: 'http://localhost:11434/v1',
|
|
23
|
+
* });
|
|
24
|
+
*/
|
|
25
|
+
import type { LLMProvider, LLMResponse, LLMCallOptions, LLMStreamChunk, Message } from '../../types';
|
|
26
|
+
export interface OpenAIAdapterOptions {
|
|
27
|
+
/** Model ID (e.g., 'gpt-4o', 'gpt-4o-mini'). */
|
|
28
|
+
readonly model: string;
|
|
29
|
+
/** API key. Defaults to OPENAI_API_KEY env var. */
|
|
30
|
+
readonly apiKey?: string;
|
|
31
|
+
/** Base URL for OpenAI-compatible APIs (Ollama, Together, Groq). */
|
|
32
|
+
readonly baseURL?: string;
|
|
33
|
+
/** Max tokens in response. */
|
|
34
|
+
readonly maxTokens?: number;
|
|
35
|
+
/** @internal Pre-built client for testing. Skips SDK import. */
|
|
36
|
+
readonly _client?: unknown;
|
|
37
|
+
}
|
|
38
|
+
export declare class OpenAIAdapter implements LLMProvider {
|
|
39
|
+
private readonly client;
|
|
40
|
+
private readonly model;
|
|
41
|
+
private readonly defaultMaxTokens?;
|
|
42
|
+
constructor(options: OpenAIAdapterOptions);
|
|
43
|
+
chat(messages: Message[], options?: LLMCallOptions): Promise<LLMResponse>;
|
|
44
|
+
chatStream(messages: Message[], options?: LLMCallOptions): AsyncIterable<LLMStreamChunk>;
|
|
45
|
+
private buildParams;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=OpenAIAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/openai/OpenAIAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AAyGrB,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,WAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;gBAE/B,OAAO,EAAE,oBAAoB;IAuBnC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAaxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IA0E/F,OAAO,CAAC,WAAW;CA0BpB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* resilientProvider — fallback + circuit breaker in one call.
|
|
3
|
+
*
|
|
4
|
+
* Combines fallbackProvider() with per-provider CircuitBreaker instances.
|
|
5
|
+
* Each provider gets its own breaker. When a provider trips its breaker,
|
|
6
|
+
* it's skipped instantly (no wasted latency on known-down providers).
|
|
7
|
+
*
|
|
8
|
+
* This addresses the "sequential" con of fallbackProvider — with circuit
|
|
9
|
+
* breakers, a tripped provider is skipped in O(1) instead of waiting
|
|
10
|
+
* for it to timeout.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* const provider = resilientProvider([
|
|
14
|
+
* new AnthropicAdapter({ model: 'claude-sonnet-4-20250514' }),
|
|
15
|
+
* new OpenAIAdapter({ model: 'gpt-4o' }),
|
|
16
|
+
* new OpenAIAdapter({ model: 'llama3', baseURL: 'http://localhost:11434/v1' }),
|
|
17
|
+
* ], {
|
|
18
|
+
* circuitBreaker: { threshold: 3, resetAfterMs: 30_000 },
|
|
19
|
+
* onFallback: (from, to, err) => console.warn('Switching provider', from, '→', to),
|
|
20
|
+
* });
|
|
21
|
+
*/
|
|
22
|
+
import type { LLMProvider } from '../types/llm';
|
|
23
|
+
import { CircuitBreaker } from '../compositions/withCircuitBreaker';
|
|
24
|
+
import type { CircuitBreakerOptions } from '../compositions/withCircuitBreaker';
|
|
25
|
+
import type { FallbackProviderOptions } from './fallbackProvider';
|
|
26
|
+
export interface ResilientProviderOptions extends FallbackProviderOptions {
|
|
27
|
+
/** Circuit breaker config — applied per provider. Default: threshold=3, resetAfterMs=30000. */
|
|
28
|
+
circuitBreaker?: CircuitBreakerOptions;
|
|
29
|
+
}
|
|
30
|
+
export declare function resilientProvider(providers: readonly LLMProvider[], options?: ResilientProviderOptions): LLMProvider & {
|
|
31
|
+
breakers: CircuitBreaker[];
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=resilientProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resilientProvider.d.ts","sourceRoot":"","sources":["../../../src/adapters/resilientProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,+FAA+F;IAC/F,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,WAAW,EAAE,EACjC,OAAO,CAAC,EAAE,wBAAwB,GACjC,WAAW,GAAG;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAwE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* compositions/ — Orchestration wrappers composed from existing primitives.
|
|
3
|
+
*
|
|
4
|
+
* These are NOT new concepts — they wrap RunnerLike with cross-cutting
|
|
5
|
+
* concerns (retry, fallback, circuit breaker) without changing core.
|
|
6
|
+
*/
|
|
7
|
+
export { withRetry } from './withRetry';
|
|
8
|
+
export type { RetryOptions } from './withRetry';
|
|
9
|
+
export { withFallback } from './withFallback';
|
|
10
|
+
export type { FallbackOptions } from './withFallback';
|
|
11
|
+
export { withCircuitBreaker, CircuitBreaker } from './withCircuitBreaker';
|
|
12
|
+
export type { CircuitBreakerOptions, CircuitState } from './withCircuitBreaker';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compositions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* withCircuitBreaker — wraps a RunnerLike with circuit breaker protection.
|
|
3
|
+
*
|
|
4
|
+
* Tracks consecutive failures. After `threshold` failures, the circuit
|
|
5
|
+
* opens and all subsequent calls fail immediately (fast-fail) until
|
|
6
|
+
* `resetAfterMs` has elapsed, at which point a single probe call is
|
|
7
|
+
* allowed through (half-open state).
|
|
8
|
+
*
|
|
9
|
+
* States:
|
|
10
|
+
* CLOSED → normal operation, counting failures
|
|
11
|
+
* OPEN → fast-fail, no calls to runner
|
|
12
|
+
* HALF_OPEN → one probe call allowed; success → CLOSED, failure → OPEN
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* const protected = withCircuitBreaker(fragileAgent, {
|
|
16
|
+
* threshold: 5,
|
|
17
|
+
* resetAfterMs: 30_000,
|
|
18
|
+
* });
|
|
19
|
+
*/
|
|
20
|
+
import type { RunnerLike } from '../types/multiAgent';
|
|
21
|
+
export type CircuitState = 'closed' | 'open' | 'half_open';
|
|
22
|
+
export interface CircuitBreakerOptions {
|
|
23
|
+
/** Number of consecutive failures before opening. Default: 5. */
|
|
24
|
+
readonly threshold?: number;
|
|
25
|
+
/** How long to wait (ms) before trying a probe call. Default: 30000. */
|
|
26
|
+
readonly resetAfterMs?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare class CircuitBreaker {
|
|
29
|
+
private state;
|
|
30
|
+
private failures;
|
|
31
|
+
private lastFailureTime;
|
|
32
|
+
private readonly threshold;
|
|
33
|
+
private readonly resetAfterMs;
|
|
34
|
+
constructor(options?: CircuitBreakerOptions);
|
|
35
|
+
getState(): CircuitState;
|
|
36
|
+
recordSuccess(): void;
|
|
37
|
+
recordFailure(): void;
|
|
38
|
+
reset(): void;
|
|
39
|
+
}
|
|
40
|
+
export declare function withCircuitBreaker(runner: RunnerLike, options?: CircuitBreakerOptions): RunnerLike & {
|
|
41
|
+
breaker: CircuitBreaker;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=withCircuitBreaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withCircuitBreaker.d.ts","sourceRoot":"","sources":["../../../src/compositions/withCircuitBreaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,GAAE,qBAA0B;IAK/C,QAAQ,IAAI,YAAY;IASxB,aAAa,IAAI,IAAI;IAKrB,aAAa,IAAI,IAAI;IAQrB,KAAK,IAAI,IAAI;CAKd;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,qBAA0B,GAClC,UAAU,GAAG;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,CA0B1C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* withFallback — wraps a primary RunnerLike with a fallback.
|
|
3
|
+
*
|
|
4
|
+
* If the primary runner throws, the fallback runner is called instead.
|
|
5
|
+
* Useful for degraded-mode patterns (e.g., expensive LLM → cheap LLM).
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* const safe = withFallback(gpt4Agent, gpt35Agent);
|
|
9
|
+
* const result = await safe.run('Hello');
|
|
10
|
+
*/
|
|
11
|
+
import type { RunnerLike } from '../types/multiAgent';
|
|
12
|
+
export interface FallbackOptions {
|
|
13
|
+
/** Optional predicate — use fallback only if this returns true for the error. */
|
|
14
|
+
readonly shouldFallback?: (error: unknown) => boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function withFallback(primary: RunnerLike, fallback: RunnerLike, options?: FallbackOptions): RunnerLike;
|
|
17
|
+
//# sourceMappingURL=withFallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withFallback.d.ts","sourceRoot":"","sources":["../../../src/compositions/withFallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACvD;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,eAAoB,GAC5B,UAAU,CAgBZ"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* withRetry — wraps a RunnerLike with retry logic.
|
|
3
|
+
*
|
|
4
|
+
* On failure, retries up to maxRetries times with configurable backoff.
|
|
5
|
+
* Respects AbortSignal for cancellation during wait periods.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* const reliable = withRetry(unreliableAgent, {
|
|
9
|
+
* maxRetries: 3,
|
|
10
|
+
* backoffMs: 1000,
|
|
11
|
+
* backoffMultiplier: 2,
|
|
12
|
+
* });
|
|
13
|
+
* const result = await reliable.run('Hello');
|
|
14
|
+
*/
|
|
15
|
+
import type { RunnerLike } from '../types/multiAgent';
|
|
16
|
+
export interface RetryOptions {
|
|
17
|
+
/** Maximum number of retries after the initial attempt. Default: 3. */
|
|
18
|
+
readonly maxRetries?: number;
|
|
19
|
+
/** Initial backoff delay in milliseconds. Default: 0 (no delay). */
|
|
20
|
+
readonly backoffMs?: number;
|
|
21
|
+
/** Multiply backoff by this factor after each retry. Default: 1 (constant). */
|
|
22
|
+
readonly backoffMultiplier?: number;
|
|
23
|
+
/** Optional predicate — retry only if this returns true for the error. */
|
|
24
|
+
readonly shouldRetry?: (error: unknown) => boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function withRetry(runner: RunnerLike, options?: RetryOptions): RunnerLike;
|
|
27
|
+
//# sourceMappingURL=withRetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withRetry.d.ts","sourceRoot":"","sources":["../../../src/compositions/withRetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACpD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,UAAU,CAmCpF"}
|