agentfootprint 10.3.1 → 10.4.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 +2 -2
- package/CAPABILITIES.md +6 -0
- package/README.md +44 -0
- package/ai-instructions/claude-code/SKILL.md +2 -2
- package/dist/adapters/mcp/agentcoreRuntime/errorType.js +24 -0
- package/dist/adapters/mcp/agentcoreRuntime/errorType.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js +265 -0
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/safeAnswer.js +415 -0
- package/dist/adapters/mcp/agentcoreRuntime/safeAnswer.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/session.js +179 -0
- package/dist/adapters/mcp/agentcoreRuntime/session.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +117 -0
- package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/strictJson.js +220 -0
- package/dist/adapters/mcp/agentcoreRuntime/strictJson.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/transport.js +204 -0
- package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -0
- package/dist/adapters/memory/agentcore.js +435 -20
- package/dist/adapters/memory/agentcore.js.map +1 -1
- package/dist/adapters/memory/memoryBank.js +16 -3
- package/dist/adapters/memory/memoryBank.js.map +1 -1
- package/dist/adapters/memory/pgVector.js +10 -4
- package/dist/adapters/memory/pgVector.js.map +1 -1
- package/dist/adapters/memory/redis.js +11 -3
- package/dist/adapters/memory/redis.js.map +1 -1
- package/dist/adapters/memory/s3Vectors.js +8 -3
- package/dist/adapters/memory/s3Vectors.js.map +1 -1
- package/dist/adapters/memory/sqliteVector.js +10 -4
- package/dist/adapters/memory/sqliteVector.js.map +1 -1
- package/dist/ag-ui/adapter.js +71 -0
- package/dist/ag-ui/adapter.js.map +1 -0
- package/dist/ag-ui/framing.js +66 -0
- package/dist/ag-ui/framing.js.map +1 -0
- package/dist/ag-ui/frontendTools.js +69 -0
- package/dist/ag-ui/frontendTools.js.map +1 -0
- package/dist/ag-ui/ids.js +54 -0
- package/dist/ag-ui/ids.js.map +1 -0
- package/dist/ag-ui/index.js +27 -0
- package/dist/ag-ui/index.js.map +1 -0
- package/dist/ag-ui/request.js +356 -0
- package/dist/ag-ui/request.js.map +1 -0
- package/dist/ag-ui/serializer.js +899 -0
- package/dist/ag-ui/serializer.js.map +1 -0
- package/dist/ag-ui/types.js +22 -0
- package/dist/ag-ui/types.js.map +1 -0
- package/dist/core/Agent.js +38 -5
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/RunnerBase.js +16 -2
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +4 -0
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +4 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/callerIdentity.js +2 -1
- package/dist/core/agent/callerIdentity.js.map +1 -1
- package/dist/core/agent/stages/routeTurn.js +3 -3
- package/dist/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/core/agent/stages/seed.js +49 -8
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/timeLayer.js +2 -2
- package/dist/core/agent/stages/timeLayer.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +26 -5
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/memberRun.js +244 -0
- package/dist/core/memberRun.js.map +1 -0
- package/dist/core/slots/buildToolsSlot.js +1 -1
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/core-flow/Conditional.js +29 -8
- package/dist/core-flow/Conditional.js.map +1 -1
- package/dist/core-flow/Graph.js +38 -13
- package/dist/core-flow/Graph.js.map +1 -1
- package/dist/core-flow/Loop.js +29 -9
- package/dist/core-flow/Loop.js.map +1 -1
- package/dist/core-flow/Parallel.js +35 -14
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/core-flow/Sequence.js +29 -8
- package/dist/core-flow/Sequence.js.map +1 -1
- package/dist/core-flow/Workflow.js +34 -10
- package/dist/core-flow/Workflow.js.map +1 -1
- package/dist/doors/ag-ui.js +36 -0
- package/dist/doors/ag-ui.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/errorType.d.ts +12 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/errorType.js +20 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/errorType.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +116 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +260 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/safeAnswer.d.ts +49 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/safeAnswer.js +409 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/safeAnswer.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/session.d.ts +80 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/session.js +175 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/session.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +61 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +112 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/strictJson.d.ts +37 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/strictJson.js +215 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/strictJson.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +176 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +199 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -0
- package/dist/esm/adapters/memory/agentcore.d.ts +152 -7
- package/dist/esm/adapters/memory/agentcore.js +433 -19
- package/dist/esm/adapters/memory/agentcore.js.map +1 -1
- package/dist/esm/adapters/memory/memoryBank.d.ts +3 -2
- package/dist/esm/adapters/memory/memoryBank.js +16 -3
- package/dist/esm/adapters/memory/memoryBank.js.map +1 -1
- package/dist/esm/adapters/memory/pgVector.js +10 -4
- package/dist/esm/adapters/memory/pgVector.js.map +1 -1
- package/dist/esm/adapters/memory/redis.d.ts +8 -3
- package/dist/esm/adapters/memory/redis.js +11 -3
- package/dist/esm/adapters/memory/redis.js.map +1 -1
- package/dist/esm/adapters/memory/s3Vectors.js +8 -3
- package/dist/esm/adapters/memory/s3Vectors.js.map +1 -1
- package/dist/esm/adapters/memory/sqliteVector.js +10 -4
- package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
- package/dist/esm/ag-ui/adapter.d.ts +68 -0
- package/dist/esm/ag-ui/adapter.js +67 -0
- package/dist/esm/ag-ui/adapter.js.map +1 -0
- package/dist/esm/ag-ui/framing.d.ts +51 -0
- package/dist/esm/ag-ui/framing.js +62 -0
- package/dist/esm/ag-ui/framing.js.map +1 -0
- package/dist/esm/ag-ui/frontendTools.d.ts +37 -0
- package/dist/esm/ag-ui/frontendTools.js +64 -0
- package/dist/esm/ag-ui/frontendTools.js.map +1 -0
- package/dist/esm/ag-ui/ids.d.ts +43 -0
- package/dist/esm/ag-ui/ids.js +49 -0
- package/dist/esm/ag-ui/ids.js.map +1 -0
- package/dist/esm/ag-ui/index.d.ts +17 -0
- package/dist/esm/ag-ui/index.js +17 -0
- package/dist/esm/ag-ui/index.js.map +1 -0
- package/dist/esm/ag-ui/request.d.ts +72 -0
- package/dist/esm/ag-ui/request.js +350 -0
- package/dist/esm/ag-ui/request.js.map +1 -0
- package/dist/esm/ag-ui/serializer.d.ts +173 -0
- package/dist/esm/ag-ui/serializer.js +895 -0
- package/dist/esm/ag-ui/serializer.js.map +1 -0
- package/dist/esm/ag-ui/types.d.ts +305 -0
- package/dist/esm/ag-ui/types.js +19 -0
- package/dist/esm/ag-ui/types.js.map +1 -0
- package/dist/esm/core/Agent.d.ts +2 -0
- package/dist/esm/core/Agent.js +38 -5
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/RunnerBase.js +17 -3
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.js +4 -0
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +4 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/callerIdentity.js +2 -1
- package/dist/esm/core/agent/callerIdentity.js.map +1 -1
- package/dist/esm/core/agent/stages/routeTurn.d.ts +1 -1
- package/dist/esm/core/agent/stages/routeTurn.js +3 -3
- package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +11 -1
- package/dist/esm/core/agent/stages/seed.js +49 -8
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/timeLayer.js +2 -2
- package/dist/esm/core/agent/stages/timeLayer.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +11 -1
- package/dist/esm/core/agent/stages/toolCalls.js +26 -5
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +16 -6
- package/dist/esm/core/memberRun.d.ts +132 -0
- package/dist/esm/core/memberRun.js +227 -0
- package/dist/esm/core/memberRun.js.map +1 -0
- package/dist/esm/core/slots/buildToolsSlot.d.ts +1 -1
- package/dist/esm/core/slots/buildToolsSlot.js +1 -1
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core-flow/Conditional.d.ts +8 -0
- package/dist/esm/core-flow/Conditional.js +29 -8
- package/dist/esm/core-flow/Conditional.js.map +1 -1
- package/dist/esm/core-flow/Graph.js +38 -13
- package/dist/esm/core-flow/Graph.js.map +1 -1
- package/dist/esm/core-flow/Loop.d.ts +8 -0
- package/dist/esm/core-flow/Loop.js +29 -9
- package/dist/esm/core-flow/Loop.js.map +1 -1
- package/dist/esm/core-flow/Parallel.d.ts +8 -0
- package/dist/esm/core-flow/Parallel.js +35 -14
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/core-flow/Sequence.d.ts +8 -0
- package/dist/esm/core-flow/Sequence.js +29 -8
- package/dist/esm/core-flow/Sequence.js.map +1 -1
- package/dist/esm/core-flow/Workflow.js +34 -10
- package/dist/esm/core-flow/Workflow.js.map +1 -1
- package/dist/esm/doors/ag-ui.d.ts +19 -0
- package/dist/esm/doors/ag-ui.js +20 -0
- package/dist/esm/doors/ag-ui.js.map +1 -0
- package/dist/esm/hosting/envelope.js +5 -0
- package/dist/esm/hosting/envelope.js.map +1 -1
- package/dist/esm/hosting/httpHost.js +5 -78
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +4 -1
- package/dist/esm/hosting/index.js +2 -0
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/pendingAsk.d.ts +19 -0
- package/dist/esm/hosting/pendingAsk.js +38 -0
- package/dist/esm/hosting/pendingAsk.js.map +1 -0
- package/dist/esm/hosting/protocolAdapter.d.ts +229 -0
- package/dist/esm/hosting/protocolAdapter.js +23 -0
- package/dist/esm/hosting/protocolAdapter.js.map +1 -0
- package/dist/esm/hosting/refusalStatus.d.ts +30 -0
- package/dist/esm/hosting/refusalStatus.js +81 -0
- package/dist/esm/hosting/refusalStatus.js.map +1 -0
- package/dist/esm/hosting/standingAgent.js +1 -31
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/stream.d.ts +39 -0
- package/dist/esm/hosting/stream.js +34 -2
- package/dist/esm/hosting/stream.js.map +1 -1
- package/dist/esm/hosting/streamHandler.d.ts +134 -0
- package/dist/esm/hosting/streamHandler.js +493 -0
- package/dist/esm/hosting/streamHandler.js.map +1 -0
- package/dist/esm/hosting/types.d.ts +15 -0
- package/dist/esm/hosting/types.js.map +1 -1
- package/dist/esm/hosting/verifiedThreads.d.ts +29 -0
- package/dist/esm/hosting/verifiedThreads.js +46 -0
- package/dist/esm/hosting/verifiedThreads.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/humanizeLLMError.d.ts +15 -0
- package/dist/esm/lib/humanizeLLMError.js +22 -7
- package/dist/esm/lib/humanizeLLMError.js.map +1 -1
- package/dist/esm/mcp/throttleRetry.d.ts +51 -0
- package/dist/esm/mcp/throttleRetry.js +37 -4
- package/dist/esm/mcp/throttleRetry.js.map +1 -1
- package/dist/esm/memory/define.js +45 -1
- package/dist/esm/memory/define.js.map +1 -1
- package/dist/esm/memory/define.types.d.ts +24 -0
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/memory/stages/formatDefault.js +3 -1
- package/dist/esm/memory/stages/formatDefault.js.map +1 -1
- package/dist/esm/memory/store/InMemoryStore.d.ts +8 -3
- package/dist/esm/memory/store/InMemoryStore.js +12 -3
- package/dist/esm/memory/store/InMemoryStore.js.map +1 -1
- package/dist/esm/memory/store/index.d.ts +1 -0
- package/dist/esm/memory/store/index.js +5 -0
- package/dist/esm/memory/store/index.js.map +1 -1
- package/dist/esm/memory/store/types.d.ts +38 -4
- package/dist/esm/memory/store/writeOptions.d.ts +118 -0
- package/dist/esm/memory/store/writeOptions.js +242 -0
- package/dist/esm/memory/store/writeOptions.js.map +1 -0
- package/dist/esm/memory-providers.d.ts +1 -1
- package/dist/esm/memory-providers.js +4 -1
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/esm/patterns/MapReduce.js +8 -2
- package/dist/esm/patterns/MapReduce.js.map +1 -1
- package/dist/esm/tool-providers/index.d.ts +5 -0
- package/dist/esm/tool-providers/index.js +6 -0
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/esm/trace-toolpack/selfExplain.d.ts +8 -0
- package/dist/esm/trace-toolpack/selfExplain.js +25 -2
- package/dist/esm/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/hosting/envelope.js +5 -0
- package/dist/hosting/envelope.js.map +1 -1
- package/dist/hosting/httpHost.js +5 -78
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/index.js +9 -3
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/pendingAsk.js +42 -0
- package/dist/hosting/pendingAsk.js.map +1 -0
- package/dist/hosting/protocolAdapter.js +24 -0
- package/dist/hosting/protocolAdapter.js.map +1 -0
- package/dist/hosting/refusalStatus.js +84 -0
- package/dist/hosting/refusalStatus.js.map +1 -0
- package/dist/hosting/standingAgent.js +2 -32
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/hosting/stream.js +35 -3
- package/dist/hosting/stream.js.map +1 -1
- package/dist/hosting/streamHandler.js +497 -0
- package/dist/hosting/streamHandler.js.map +1 -0
- package/dist/hosting/types.js.map +1 -1
- package/dist/hosting/verifiedThreads.js +50 -0
- package/dist/hosting/verifiedThreads.js.map +1 -0
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/humanizeLLMError.js +23 -8
- package/dist/lib/humanizeLLMError.js.map +1 -1
- package/dist/mcp/throttleRetry.js +41 -6
- package/dist/mcp/throttleRetry.js.map +1 -1
- package/dist/memory/define.js +45 -1
- package/dist/memory/define.js.map +1 -1
- package/dist/memory/define.types.js.map +1 -1
- package/dist/memory/stages/formatDefault.js +3 -1
- package/dist/memory/stages/formatDefault.js.map +1 -1
- package/dist/memory/store/InMemoryStore.js +12 -3
- package/dist/memory/store/InMemoryStore.js.map +1 -1
- package/dist/memory/store/index.js +11 -1
- package/dist/memory/store/index.js.map +1 -1
- package/dist/memory/store/writeOptions.js +250 -0
- package/dist/memory/store/writeOptions.js.map +1 -0
- package/dist/memory-providers.js +4 -1
- package/dist/memory-providers.js.map +1 -1
- package/dist/patterns/MapReduce.js +8 -2
- package/dist/patterns/MapReduce.js.map +1 -1
- package/dist/tool-providers/index.js +10 -1
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/trace-toolpack/selfExplain.js +25 -2
- package/dist/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/errorType.d.ts +13 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/errorType.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +117 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/safeAnswer.d.ts +50 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/safeAnswer.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/session.d.ts +81 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/session.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +62 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/strictJson.d.ts +38 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/strictJson.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +177 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -0
- package/dist/types/adapters/memory/agentcore.d.ts +152 -7
- package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/memory/memoryBank.d.ts +3 -2
- package/dist/types/adapters/memory/memoryBank.d.ts.map +1 -1
- package/dist/types/adapters/memory/pgVector.d.ts.map +1 -1
- package/dist/types/adapters/memory/redis.d.ts +8 -3
- package/dist/types/adapters/memory/redis.d.ts.map +1 -1
- package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -1
- package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
- package/dist/types/ag-ui/adapter.d.ts +69 -0
- package/dist/types/ag-ui/adapter.d.ts.map +1 -0
- package/dist/types/ag-ui/framing.d.ts +52 -0
- package/dist/types/ag-ui/framing.d.ts.map +1 -0
- package/dist/types/ag-ui/frontendTools.d.ts +38 -0
- package/dist/types/ag-ui/frontendTools.d.ts.map +1 -0
- package/dist/types/ag-ui/ids.d.ts +44 -0
- package/dist/types/ag-ui/ids.d.ts.map +1 -0
- package/dist/types/ag-ui/index.d.ts +18 -0
- package/dist/types/ag-ui/index.d.ts.map +1 -0
- package/dist/types/ag-ui/request.d.ts +73 -0
- package/dist/types/ag-ui/request.d.ts.map +1 -0
- package/dist/types/ag-ui/serializer.d.ts +174 -0
- package/dist/types/ag-ui/serializer.d.ts.map +1 -0
- package/dist/types/ag-ui/types.d.ts +306 -0
- package/dist/types/ag-ui/types.d.ts.map +1 -0
- package/dist/types/core/Agent.d.ts +2 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/callerIdentity.d.ts.map +1 -1
- package/dist/types/core/agent/stages/routeTurn.d.ts +1 -1
- package/dist/types/core/agent/stages/routeTurn.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +11 -1
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +11 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +16 -6
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/memberRun.d.ts +133 -0
- package/dist/types/core/memberRun.d.ts.map +1 -0
- package/dist/types/core/slots/buildToolsSlot.d.ts +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/core-flow/Conditional.d.ts +8 -0
- package/dist/types/core-flow/Conditional.d.ts.map +1 -1
- package/dist/types/core-flow/Graph.d.ts.map +1 -1
- package/dist/types/core-flow/Loop.d.ts +8 -0
- package/dist/types/core-flow/Loop.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts +8 -0
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/core-flow/Sequence.d.ts +8 -0
- package/dist/types/core-flow/Sequence.d.ts.map +1 -1
- package/dist/types/core-flow/Workflow.d.ts.map +1 -1
- package/dist/types/doors/ag-ui.d.ts +20 -0
- package/dist/types/doors/ag-ui.d.ts.map +1 -0
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +4 -1
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/pendingAsk.d.ts +20 -0
- package/dist/types/hosting/pendingAsk.d.ts.map +1 -0
- package/dist/types/hosting/protocolAdapter.d.ts +230 -0
- package/dist/types/hosting/protocolAdapter.d.ts.map +1 -0
- package/dist/types/hosting/refusalStatus.d.ts +31 -0
- package/dist/types/hosting/refusalStatus.d.ts.map +1 -0
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/hosting/stream.d.ts +39 -0
- package/dist/types/hosting/stream.d.ts.map +1 -1
- package/dist/types/hosting/streamHandler.d.ts +135 -0
- package/dist/types/hosting/streamHandler.d.ts.map +1 -0
- package/dist/types/hosting/types.d.ts +15 -0
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/dist/types/hosting/verifiedThreads.d.ts +30 -0
- package/dist/types/hosting/verifiedThreads.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/humanizeLLMError.d.ts +15 -0
- package/dist/types/lib/humanizeLLMError.d.ts.map +1 -1
- package/dist/types/mcp/throttleRetry.d.ts +51 -0
- package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
- package/dist/types/memory/define.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +24 -0
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
- package/dist/types/memory/store/InMemoryStore.d.ts +8 -3
- package/dist/types/memory/store/InMemoryStore.d.ts.map +1 -1
- package/dist/types/memory/store/index.d.ts +1 -0
- package/dist/types/memory/store/index.d.ts.map +1 -1
- package/dist/types/memory/store/types.d.ts +38 -4
- package/dist/types/memory/store/types.d.ts.map +1 -1
- package/dist/types/memory/store/writeOptions.d.ts +119 -0
- package/dist/types/memory/store/writeOptions.d.ts.map +1 -0
- package/dist/types/memory-providers.d.ts +1 -1
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/dist/types/patterns/MapReduce.d.ts.map +1 -1
- package/dist/types/tool-providers/index.d.ts +5 -0
- package/dist/types/tool-providers/index.d.ts.map +1 -1
- package/dist/types/trace-toolpack/selfExplain.d.ts +8 -0
- package/dist/types/trace-toolpack/selfExplain.d.ts.map +1 -1
- package/package.json +25 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../src/core-flow/Workflow.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;;;AAEH,6CAQqB;AAGrB,2DAA8E;AAC9E,0DAAgE;AAGhE,yDAAkF;AAClF,yEAAmE;AACnE,qFAA+E;AAC/E,6EAAuE;AACvE,2EAAqE;AACrE,iEAA2D;AAC3D,uDAAkF;
|
|
1
|
+
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../src/core-flow/Workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* agentfootprint/ag-ui — the AG-UI protocol, spoken by any agentfootprint run.
|
|
4
|
+
*
|
|
5
|
+
* AG-UI is the open protocol AG-UI frontends (CopilotKit, the AG-UI Dojo, any
|
|
6
|
+
* `@ag-ui/client` app) use to drive an agent: one request in, a stream of
|
|
7
|
+
* typed events out. This door is the adapter over agentfootprint's own event
|
|
8
|
+
* stream: `agUi()` is the protocol adapter a host serves runs in
|
|
9
|
+
* (`streamHandler` on `agentfootprint/hosting`); `agUiSerializer` translates
|
|
10
|
+
* one run's served events into AG-UI events, and `agUiSse` frames them with
|
|
11
|
+
* the official `@ag-ui/encoder` — an optional peer, loaded only when a framing
|
|
12
|
+
* is built.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { agUi } from 'agentfootprint/ag-ui';
|
|
17
|
+
* import { streamHandler } from 'agentfootprint/hosting';
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
23
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
24
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
25
|
+
}
|
|
26
|
+
Object.defineProperty(o, k2, desc);
|
|
27
|
+
}) : (function(o, m, k, k2) {
|
|
28
|
+
if (k2 === undefined) k2 = k;
|
|
29
|
+
o[k2] = m[k];
|
|
30
|
+
}));
|
|
31
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
32
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
__exportStar(require("../ag-ui/index.js"), exports);
|
|
36
|
+
//# sourceMappingURL=ag-ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ag-ui.js","sourceRoot":"","sources":["../../src/doors/ag-ui.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;AAEH,oDAAkC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* errorType — the error type an AWS REST answer names in its
|
|
3
|
+
* `x-amzn-errortype` header, trimmed to the bare name.
|
|
4
|
+
*
|
|
5
|
+
* The header may carry a `:` suffix (a URL) or a `namespace#` prefix; both are
|
|
6
|
+
* removed, so `aws.protocols#AccessDeniedException:http://…` reads
|
|
7
|
+
* `AccessDeniedException` — the name the SDK gives the same exception.
|
|
8
|
+
*
|
|
9
|
+
* Pattern: pure helper. Role: outer ring, vendor fact.
|
|
10
|
+
*/
|
|
11
|
+
/** The bare error type, or `undefined` when the answer names none. */
|
|
12
|
+
export declare function awsErrorType(headers: Headers): string | undefined;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* errorType — the error type an AWS REST answer names in its
|
|
3
|
+
* `x-amzn-errortype` header, trimmed to the bare name.
|
|
4
|
+
*
|
|
5
|
+
* The header may carry a `:` suffix (a URL) or a `namespace#` prefix; both are
|
|
6
|
+
* removed, so `aws.protocols#AccessDeniedException:http://…` reads
|
|
7
|
+
* `AccessDeniedException` — the name the SDK gives the same exception.
|
|
8
|
+
*
|
|
9
|
+
* Pattern: pure helper. Role: outer ring, vendor fact.
|
|
10
|
+
*/
|
|
11
|
+
/** The bare error type, or `undefined` when the answer names none. */
|
|
12
|
+
export function awsErrorType(headers) {
|
|
13
|
+
const raw = headers.get('x-amzn-errortype');
|
|
14
|
+
if (raw === null)
|
|
15
|
+
return undefined;
|
|
16
|
+
const withoutSuffix = raw.split(':')[0] ?? '';
|
|
17
|
+
const name = withoutSuffix.slice(withoutSuffix.lastIndexOf('#') + 1).trim();
|
|
18
|
+
return name === '' ? undefined : name;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=errorType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorType.js","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/errorType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* invoke — the SigV4 auth strategy: Streamable HTTP, carried by the AWS SDK's
|
|
3
|
+
* `InvokeAgentRuntime`.
|
|
4
|
+
*
|
|
5
|
+
* The MCP client speaks HTTP — a POST, a few headers, a JSON body — and the SDK
|
|
6
|
+
* operation carries exactly that, field for field. This file is the mapping and
|
|
7
|
+
* nothing else. Every name in it is the SDK's own (`InvokeAgentRuntimeRequest`
|
|
8
|
+
* / `InvokeAgentRuntimeResponse` in `@aws-sdk/client-bedrock-agentcore`), read
|
|
9
|
+
* off an installed package rather than recalled:
|
|
10
|
+
*
|
|
11
|
+
* request InvokeAgentRuntimeRequest
|
|
12
|
+
* ───────────────────────────────────────────── ────────────────────────
|
|
13
|
+
* body payload (bytes)
|
|
14
|
+
* content-type contentType
|
|
15
|
+
* accept accept
|
|
16
|
+
* mcp-session-id mcpSessionId
|
|
17
|
+
* mcp-protocol-version mcpProtocolVersion
|
|
18
|
+
* x-amzn-bedrock-agentcore-runtime-session-id runtimeSessionId
|
|
19
|
+
* (the runtime, from options) agentRuntimeArn, qualifier, accountId
|
|
20
|
+
*
|
|
21
|
+
* InvokeAgentRuntimeResponse response
|
|
22
|
+
* ───────────────────────────────────────────── ────────────────────────
|
|
23
|
+
* statusCode status
|
|
24
|
+
* contentType content-type
|
|
25
|
+
* mcpSessionId mcp-session-id
|
|
26
|
+
* mcpProtocolVersion mcp-protocol-version
|
|
27
|
+
* runtimeSessionId x-amzn-bedrock-agentcore-runtime-session-id
|
|
28
|
+
* response (a stream) body
|
|
29
|
+
*
|
|
30
|
+
* The signature is the SDK's: `send` signs every attempt with the client's own
|
|
31
|
+
* credentials, so no credential passes through this file.
|
|
32
|
+
*
|
|
33
|
+
* ── The SDK's own retry is OFF ───────────────────────────────────────────────
|
|
34
|
+
* The client built here has `maxAttempts: 1`. The SDK's standard policy would
|
|
35
|
+
* re-send a `tools/call` after a 5xx or a dropped connection — a call that may
|
|
36
|
+
* already have run, in the same pinned session — which is the one thing a retry
|
|
37
|
+
* here must never do. Every retry goes through the transport's single loop
|
|
38
|
+
* instead, which repeats only refusals the service made before running
|
|
39
|
+
* anything. A `client` you pass keeps ITS policy: build it with
|
|
40
|
+
* `maxAttempts: 1` for the same guarantee.
|
|
41
|
+
*
|
|
42
|
+
* ── A service exception is an ANSWER ─────────────────────────────────────────
|
|
43
|
+
* When the service answers with a non-2xx status, the SDK throws instead of
|
|
44
|
+
* returning — `RetryableConflictException` (409), `ThrottlingException` (429),
|
|
45
|
+
* or a hosted server's own 404 as `Unknown`. Each is handed on as the `Response`
|
|
46
|
+
* an HTTPS caller would have read: its status, its error type in
|
|
47
|
+
* `x-amzn-errortype`, `retry-after` when the service sent one, and as the body
|
|
48
|
+
* the server's own JSON-RPC error when it sent one (the SDK spreads a body it
|
|
49
|
+
* cannot model onto the exception) — never the exception's message, which can
|
|
50
|
+
* quote the signed request. What the MCP client may read of it is decided
|
|
51
|
+
* once, by `safeAnswer.ts`. So the transport's retry decision sees the 409,
|
|
52
|
+
* `mcpClient`'s 429 retry sees the 429, and the MCP client reports the
|
|
53
|
+
* status. A failure with no status — the
|
|
54
|
+
* network, an abort — never reached the service as an answer, and is thrown as
|
|
55
|
+
* it is.
|
|
56
|
+
*
|
|
57
|
+
* ── What the operation cannot carry ──────────────────────────────────────────
|
|
58
|
+
* Any method but POST. A GET (the optional server-message stream) and a DELETE
|
|
59
|
+
* (ending a session) are answered HERE with 405, which the MCP Streamable HTTP
|
|
60
|
+
* spec defines as "not offered" for both, so the MCP client carries on. And any
|
|
61
|
+
* header the operation does not model — it has no field to put one in.
|
|
62
|
+
*
|
|
63
|
+
* Pattern: Adapter (fetch ↔ command). Role: outer ring, lazy AWS peer dep.
|
|
64
|
+
*/
|
|
65
|
+
import type { ThrottleFetch } from '../../../mcp/throttleRetry.js';
|
|
66
|
+
/** A command-based SDK client — `send` is the only member this strategy uses. */
|
|
67
|
+
export interface AgentCoreRuntimeSdkClient {
|
|
68
|
+
send(command: unknown, options?: {
|
|
69
|
+
abortSignal?: AbortSignal;
|
|
70
|
+
}): Promise<unknown>;
|
|
71
|
+
}
|
|
72
|
+
/** The slice of `@aws-sdk/client-bedrock-agentcore` this strategy touches. */
|
|
73
|
+
export interface BedrockAgentCoreRuntimeSdkModule {
|
|
74
|
+
readonly BedrockAgentCoreClient?: new (config: {
|
|
75
|
+
region?: string;
|
|
76
|
+
maxAttempts?: number;
|
|
77
|
+
}) => AgentCoreRuntimeSdkClient;
|
|
78
|
+
readonly InvokeAgentRuntimeCommand?: new (input: unknown) => unknown;
|
|
79
|
+
}
|
|
80
|
+
/** Which runtime every request goes to, as the operation names it. */
|
|
81
|
+
export interface InvokeTarget {
|
|
82
|
+
readonly agentRuntimeArn: string;
|
|
83
|
+
readonly qualifier?: string;
|
|
84
|
+
readonly accountId?: string;
|
|
85
|
+
}
|
|
86
|
+
/** What the strategy is built from: a region, and optionally what was injected. */
|
|
87
|
+
export interface InvokeSdkOptions {
|
|
88
|
+
readonly region: string;
|
|
89
|
+
/**
|
|
90
|
+
* A client the caller built — its credentials, region and retry settings win,
|
|
91
|
+
* so build it with `maxAttempts: 1` (see the module note).
|
|
92
|
+
*/
|
|
93
|
+
readonly client?: AgentCoreRuntimeSdkClient;
|
|
94
|
+
/** The SDK module itself, for tests; otherwise the peer dep is loaded. */
|
|
95
|
+
readonly sdk?: BedrockAgentCoreRuntimeSdkModule;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The client and the command constructor this strategy sends with.
|
|
99
|
+
*
|
|
100
|
+
* Loaded when the transport is BUILT, not at the first call, so a missing peer
|
|
101
|
+
* dependency is refused where the transport is declared rather than mid-run.
|
|
102
|
+
*
|
|
103
|
+
* @throws when the SDK cannot be loaded, or when it lacks what is needed.
|
|
104
|
+
*/
|
|
105
|
+
export declare function invokeSdk(options: InvokeSdkOptions): {
|
|
106
|
+
readonly client: AgentCoreRuntimeSdkClient;
|
|
107
|
+
readonly InvokeAgentRuntimeCommand: new (input: unknown) => unknown;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* A `fetch` that sends each request as one `InvokeAgentRuntimeCommand`.
|
|
111
|
+
*
|
|
112
|
+
* The URL the MCP client passes is ignored on purpose: it names the endpoint for
|
|
113
|
+
* reports and errors, while the invocation goes to `target` — the SDK resolves
|
|
114
|
+
* the endpoint itself, from the client's region.
|
|
115
|
+
*/
|
|
116
|
+
export declare function invokeFetch(target: InvokeTarget, client: AgentCoreRuntimeSdkClient, InvokeAgentRuntimeCommand: new (input: unknown) => unknown): ThrottleFetch;
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* invoke — the SigV4 auth strategy: Streamable HTTP, carried by the AWS SDK's
|
|
3
|
+
* `InvokeAgentRuntime`.
|
|
4
|
+
*
|
|
5
|
+
* The MCP client speaks HTTP — a POST, a few headers, a JSON body — and the SDK
|
|
6
|
+
* operation carries exactly that, field for field. This file is the mapping and
|
|
7
|
+
* nothing else. Every name in it is the SDK's own (`InvokeAgentRuntimeRequest`
|
|
8
|
+
* / `InvokeAgentRuntimeResponse` in `@aws-sdk/client-bedrock-agentcore`), read
|
|
9
|
+
* off an installed package rather than recalled:
|
|
10
|
+
*
|
|
11
|
+
* request InvokeAgentRuntimeRequest
|
|
12
|
+
* ───────────────────────────────────────────── ────────────────────────
|
|
13
|
+
* body payload (bytes)
|
|
14
|
+
* content-type contentType
|
|
15
|
+
* accept accept
|
|
16
|
+
* mcp-session-id mcpSessionId
|
|
17
|
+
* mcp-protocol-version mcpProtocolVersion
|
|
18
|
+
* x-amzn-bedrock-agentcore-runtime-session-id runtimeSessionId
|
|
19
|
+
* (the runtime, from options) agentRuntimeArn, qualifier, accountId
|
|
20
|
+
*
|
|
21
|
+
* InvokeAgentRuntimeResponse response
|
|
22
|
+
* ───────────────────────────────────────────── ────────────────────────
|
|
23
|
+
* statusCode status
|
|
24
|
+
* contentType content-type
|
|
25
|
+
* mcpSessionId mcp-session-id
|
|
26
|
+
* mcpProtocolVersion mcp-protocol-version
|
|
27
|
+
* runtimeSessionId x-amzn-bedrock-agentcore-runtime-session-id
|
|
28
|
+
* response (a stream) body
|
|
29
|
+
*
|
|
30
|
+
* The signature is the SDK's: `send` signs every attempt with the client's own
|
|
31
|
+
* credentials, so no credential passes through this file.
|
|
32
|
+
*
|
|
33
|
+
* ── The SDK's own retry is OFF ───────────────────────────────────────────────
|
|
34
|
+
* The client built here has `maxAttempts: 1`. The SDK's standard policy would
|
|
35
|
+
* re-send a `tools/call` after a 5xx or a dropped connection — a call that may
|
|
36
|
+
* already have run, in the same pinned session — which is the one thing a retry
|
|
37
|
+
* here must never do. Every retry goes through the transport's single loop
|
|
38
|
+
* instead, which repeats only refusals the service made before running
|
|
39
|
+
* anything. A `client` you pass keeps ITS policy: build it with
|
|
40
|
+
* `maxAttempts: 1` for the same guarantee.
|
|
41
|
+
*
|
|
42
|
+
* ── A service exception is an ANSWER ─────────────────────────────────────────
|
|
43
|
+
* When the service answers with a non-2xx status, the SDK throws instead of
|
|
44
|
+
* returning — `RetryableConflictException` (409), `ThrottlingException` (429),
|
|
45
|
+
* or a hosted server's own 404 as `Unknown`. Each is handed on as the `Response`
|
|
46
|
+
* an HTTPS caller would have read: its status, its error type in
|
|
47
|
+
* `x-amzn-errortype`, `retry-after` when the service sent one, and as the body
|
|
48
|
+
* the server's own JSON-RPC error when it sent one (the SDK spreads a body it
|
|
49
|
+
* cannot model onto the exception) — never the exception's message, which can
|
|
50
|
+
* quote the signed request. What the MCP client may read of it is decided
|
|
51
|
+
* once, by `safeAnswer.ts`. So the transport's retry decision sees the 409,
|
|
52
|
+
* `mcpClient`'s 429 retry sees the 429, and the MCP client reports the
|
|
53
|
+
* status. A failure with no status — the
|
|
54
|
+
* network, an abort — never reached the service as an answer, and is thrown as
|
|
55
|
+
* it is.
|
|
56
|
+
*
|
|
57
|
+
* ── What the operation cannot carry ──────────────────────────────────────────
|
|
58
|
+
* Any method but POST. A GET (the optional server-message stream) and a DELETE
|
|
59
|
+
* (ending a session) are answered HERE with 405, which the MCP Streamable HTTP
|
|
60
|
+
* spec defines as "not offered" for both, so the MCP client carries on. And any
|
|
61
|
+
* header the operation does not model — it has no field to put one in.
|
|
62
|
+
*
|
|
63
|
+
* Pattern: Adapter (fetch ↔ command). Role: outer ring, lazy AWS peer dep.
|
|
64
|
+
*/
|
|
65
|
+
import { lazyRequire } from '../../../lib/lazyRequire.js';
|
|
66
|
+
import { sdkLoadFailure } from '../../../mcp/sdkLoadFailure.js';
|
|
67
|
+
import { AGENTCORE_RUNTIME_SESSION_HEADER, MCP_SESSION_HEADER } from './session.js';
|
|
68
|
+
const MCP_PROTOCOL_VERSION_HEADER = 'Mcp-Protocol-Version';
|
|
69
|
+
const SDK_PACKAGE = '@aws-sdk/client-bedrock-agentcore';
|
|
70
|
+
/**
|
|
71
|
+
* The client and the command constructor this strategy sends with.
|
|
72
|
+
*
|
|
73
|
+
* Loaded when the transport is BUILT, not at the first call, so a missing peer
|
|
74
|
+
* dependency is refused where the transport is declared rather than mid-run.
|
|
75
|
+
*
|
|
76
|
+
* @throws when the SDK cannot be loaded, or when it lacks what is needed.
|
|
77
|
+
*/
|
|
78
|
+
export function invokeSdk(options) {
|
|
79
|
+
const mod = options.sdk ?? loadSdk();
|
|
80
|
+
const Command = mod.InvokeAgentRuntimeCommand;
|
|
81
|
+
if (!Command) {
|
|
82
|
+
throw new Error(`agentCoreRuntimeMcpTransport: \`${SDK_PACKAGE}\` is installed but has no ` +
|
|
83
|
+
'`InvokeAgentRuntimeCommand`. Upgrade the SDK.');
|
|
84
|
+
}
|
|
85
|
+
if (options.client)
|
|
86
|
+
return { client: options.client, InvokeAgentRuntimeCommand: Command };
|
|
87
|
+
if (!mod.BedrockAgentCoreClient) {
|
|
88
|
+
throw new Error(`agentCoreRuntimeMcpTransport: \`${SDK_PACKAGE}\` is installed but has no ` +
|
|
89
|
+
'`BedrockAgentCoreClient`. Upgrade the SDK.');
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
// The SDK's own retry OFF: it would re-send work that may have run.
|
|
93
|
+
client: new mod.BedrockAgentCoreClient({ region: options.region, maxAttempts: 1 }),
|
|
94
|
+
InvokeAgentRuntimeCommand: Command,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function loadSdk() {
|
|
98
|
+
try {
|
|
99
|
+
return lazyRequire('@aws-sdk/client-bedrock-agentcore');
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
throw new Error(sdkLoadFailure(err, {
|
|
103
|
+
notInstalled: `agentCoreRuntimeMcpTransport (auth: 'sigv4') requires the \`${SDK_PACKAGE}\` peer ` +
|
|
104
|
+
'dependency.\n' +
|
|
105
|
+
` Install: npm install ${SDK_PACKAGE}\n` +
|
|
106
|
+
' Or use `auth: { bearer }` for a runtime with OAuth inbound auth — that path is plain\n' +
|
|
107
|
+
' HTTPS and loads no AWS SDK.',
|
|
108
|
+
caller: 'agentCoreRuntimeMcpTransport',
|
|
109
|
+
specifier: SDK_PACKAGE,
|
|
110
|
+
instead: 'SigV4 signs with AWS credentials, which belong on a server. From a browser, use ' +
|
|
111
|
+
'`auth: { bearer }` — plain HTTPS, no AWS SDK.',
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/** Statuses whose response may not carry a body, by the Fetch standard. */
|
|
116
|
+
const NULL_BODY_STATUS = new Set([204, 205, 304]);
|
|
117
|
+
/**
|
|
118
|
+
* A `fetch` that sends each request as one `InvokeAgentRuntimeCommand`.
|
|
119
|
+
*
|
|
120
|
+
* The URL the MCP client passes is ignored on purpose: it names the endpoint for
|
|
121
|
+
* reports and errors, while the invocation goes to `target` — the SDK resolves
|
|
122
|
+
* the endpoint itself, from the client's region.
|
|
123
|
+
*/
|
|
124
|
+
export function invokeFetch(target, client, InvokeAgentRuntimeCommand) {
|
|
125
|
+
return async (_input, init) => {
|
|
126
|
+
const method = (init?.method ?? 'GET').toUpperCase();
|
|
127
|
+
if (method !== 'POST') {
|
|
128
|
+
return new Response(null, { status: 405, statusText: 'Method Not Allowed' });
|
|
129
|
+
}
|
|
130
|
+
const headers = new Headers(init?.headers);
|
|
131
|
+
const command = new InvokeAgentRuntimeCommand({
|
|
132
|
+
agentRuntimeArn: target.agentRuntimeArn,
|
|
133
|
+
...(target.qualifier !== undefined && { qualifier: target.qualifier }),
|
|
134
|
+
...(target.accountId !== undefined && { accountId: target.accountId }),
|
|
135
|
+
payload: payloadOf(init?.body),
|
|
136
|
+
...field('contentType', headers.get('content-type')),
|
|
137
|
+
...field('accept', headers.get('accept')),
|
|
138
|
+
...field('mcpSessionId', headers.get(MCP_SESSION_HEADER)),
|
|
139
|
+
...field('mcpProtocolVersion', headers.get(MCP_PROTOCOL_VERSION_HEADER)),
|
|
140
|
+
...field('runtimeSessionId', headers.get(AGENTCORE_RUNTIME_SESSION_HEADER)),
|
|
141
|
+
});
|
|
142
|
+
let answer;
|
|
143
|
+
try {
|
|
144
|
+
answer = ((await client.send(command, init?.signal ? { abortSignal: init.signal } : undefined)) ?? {});
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
const answered = serviceAnswerOf(err);
|
|
148
|
+
if (answered === undefined)
|
|
149
|
+
throw err;
|
|
150
|
+
return answered;
|
|
151
|
+
}
|
|
152
|
+
return responseOf(answer);
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* An SDK service exception as the `Response` the service sent: its status, its
|
|
157
|
+
* error type, its `retry-after`. `undefined` for anything that carries no
|
|
158
|
+
* status — that failure never came back from the service as an answer.
|
|
159
|
+
*/
|
|
160
|
+
function serviceAnswerOf(err) {
|
|
161
|
+
if (err === null || typeof err !== 'object')
|
|
162
|
+
return undefined;
|
|
163
|
+
const failure = err;
|
|
164
|
+
const status = failure.$metadata?.httpStatusCode;
|
|
165
|
+
if (typeof status !== 'number' || !Number.isInteger(status) || status < 400 || status > 599) {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
const headers = new Headers({ 'content-type': 'application/json' });
|
|
169
|
+
if (typeof failure.name === 'string' && failure.name !== '') {
|
|
170
|
+
headers.set('x-amzn-errortype', failure.name);
|
|
171
|
+
}
|
|
172
|
+
const retryAfter = failure.$response?.headers?.['retry-after'];
|
|
173
|
+
if (typeof retryAfter === 'string')
|
|
174
|
+
headers.set('retry-after', retryAfter);
|
|
175
|
+
// The server's own JSON-RPC error when it sent one (a stateful server's 404
|
|
176
|
+
// "Session not found"), for its code. The exception's message is never put
|
|
177
|
+
// in the answer: it can quote the signed request. What the client reads of
|
|
178
|
+
// either is decided by `safeAnswer.ts`, outside the retry.
|
|
179
|
+
const error = failure.error;
|
|
180
|
+
const body = error !== null && typeof error === 'object' && !Array.isArray(error)
|
|
181
|
+
? { jsonrpc: failure.jsonrpc ?? '2.0', id: failure.id ?? null, error }
|
|
182
|
+
: {};
|
|
183
|
+
return new Response(JSON.stringify(body), { status, headers });
|
|
184
|
+
}
|
|
185
|
+
/** An optional request field: present only when the header was. */
|
|
186
|
+
function field(name, value) {
|
|
187
|
+
return value === null || value === '' ? {} : { [name]: value };
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* The request body as the bytes `payload` takes. The MCP client always sends a
|
|
191
|
+
* JSON string; the other forms are accepted because they are bytes already.
|
|
192
|
+
* A stream or a form is refused by name — re-reading one is not this file's to
|
|
193
|
+
* do, and dropping it would send an empty request.
|
|
194
|
+
*/
|
|
195
|
+
function payloadOf(body) {
|
|
196
|
+
if (body === undefined || body === null)
|
|
197
|
+
return new Uint8Array();
|
|
198
|
+
if (typeof body === 'string')
|
|
199
|
+
return new TextEncoder().encode(body);
|
|
200
|
+
if (body instanceof Uint8Array)
|
|
201
|
+
return body;
|
|
202
|
+
if (body instanceof ArrayBuffer)
|
|
203
|
+
return new Uint8Array(body);
|
|
204
|
+
if (ArrayBuffer.isView(body)) {
|
|
205
|
+
return new Uint8Array(body.buffer, body.byteOffset, body.byteLength);
|
|
206
|
+
}
|
|
207
|
+
throw new TypeError('agentCoreRuntimeMcpTransport: a request body must be a string or bytes to travel as ' +
|
|
208
|
+
"InvokeAgentRuntime's `payload`; got a stream or form body, which this transport does " +
|
|
209
|
+
'not read.');
|
|
210
|
+
}
|
|
211
|
+
/** The SDK's answer as the `Response` the MCP client reads. */
|
|
212
|
+
async function responseOf(answer) {
|
|
213
|
+
const status = answer.statusCode ?? 200;
|
|
214
|
+
const headers = new Headers();
|
|
215
|
+
if (answer.contentType)
|
|
216
|
+
headers.set('content-type', answer.contentType);
|
|
217
|
+
if (answer.mcpSessionId)
|
|
218
|
+
headers.set(MCP_SESSION_HEADER, answer.mcpSessionId);
|
|
219
|
+
if (answer.mcpProtocolVersion)
|
|
220
|
+
headers.set(MCP_PROTOCOL_VERSION_HEADER, answer.mcpProtocolVersion);
|
|
221
|
+
if (answer.runtimeSessionId) {
|
|
222
|
+
headers.set(AGENTCORE_RUNTIME_SESSION_HEADER, answer.runtimeSessionId);
|
|
223
|
+
}
|
|
224
|
+
if (NULL_BODY_STATUS.has(status)) {
|
|
225
|
+
await release(answer.response);
|
|
226
|
+
return new Response(null, { status, headers });
|
|
227
|
+
}
|
|
228
|
+
return new Response(await bodyOf(answer.response), { status, headers });
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* The SDK's streaming body, kept streaming where it can be: an SSE reply then
|
|
232
|
+
* reaches the MCP client event by event, as it would over plain HTTP.
|
|
233
|
+
*/
|
|
234
|
+
async function bodyOf(stream) {
|
|
235
|
+
if (stream === undefined || stream === null)
|
|
236
|
+
return null;
|
|
237
|
+
if (typeof stream === 'string' || stream instanceof Uint8Array)
|
|
238
|
+
return stream;
|
|
239
|
+
const sdkStream = stream;
|
|
240
|
+
if (typeof sdkStream.transformToWebStream === 'function') {
|
|
241
|
+
return sdkStream.transformToWebStream();
|
|
242
|
+
}
|
|
243
|
+
if (typeof sdkStream.transformToByteArray === 'function') {
|
|
244
|
+
return sdkStream.transformToByteArray();
|
|
245
|
+
}
|
|
246
|
+
throw new TypeError('agentCoreRuntimeMcpTransport: InvokeAgentRuntime answered with a `response` that is ' +
|
|
247
|
+
'neither bytes nor an SDK stream (no transformToWebStream / transformToByteArray). ' +
|
|
248
|
+
'Upgrade @aws-sdk/client-bedrock-agentcore.');
|
|
249
|
+
}
|
|
250
|
+
/** Drain a body nobody will read, so the SDK's socket is released. Never throws. */
|
|
251
|
+
async function release(stream) {
|
|
252
|
+
try {
|
|
253
|
+
const sdkStream = stream;
|
|
254
|
+
await sdkStream?.transformToByteArray?.();
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
// A body that will not drain is not worth failing a delivered reply over.
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=invoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* safeAnswer — what the MCP client may read of an answer: read ONCE, checked,
|
|
3
|
+
* and handed on as the canonical form of exactly what was checked.
|
|
4
|
+
*
|
|
5
|
+
* ── Why an allow-list ────────────────────────────────────────────────────────
|
|
6
|
+
* Whatever an answer's body says becomes the MCP client's error text, and a
|
|
7
|
+
* failed tool call hands that text to the model, the run's history and
|
|
8
|
+
* `tool_end`. Service text can carry anything the request did: AWS answers a
|
|
9
|
+
* signature mismatch with the whole signed request (the session token among
|
|
10
|
+
* it), its validation errors quote the value they refused, a proxy may echo a
|
|
11
|
+
* header. So a failure is RE-WRITTEN from parts that cannot carry a secret:
|
|
12
|
+
* the status; the AWS error type when it is a plain name; `Retry-After` when
|
|
13
|
+
* it is seconds or a date; and for a JSON-RPC error its integer `code`, the
|
|
14
|
+
* client's own `id`, and its `message` ONLY when it is one of the fixed
|
|
15
|
+
* sentences the MCP SDK and the AgentCore Runtime contract use
|
|
16
|
+
* ({@link KNOWN_ERROR_MESSAGES}).
|
|
17
|
+
*
|
|
18
|
+
* ── Why one reading ──────────────────────────────────────────────────────────
|
|
19
|
+
* A check that reads a body one way and a client that reads the same bytes
|
|
20
|
+
* another is a parser differential: a crafted answer passes the check and is
|
|
21
|
+
* used as something else. So a 2xx answer is never handed on as its raw bytes.
|
|
22
|
+
* It is classified by ONE rule (its media type, exactly `application/json` or
|
|
23
|
+
* `text/event-stream`, UTF-8), decoded strictly, parsed once
|
|
24
|
+
* (`strictJson.ts` — a duplicated key, trailing data or a byte-order mark is
|
|
25
|
+
* refused), checked, and RE-SERIALIZED: the client reads the value that was
|
|
26
|
+
* checked, never the bytes it came from. One message per body or event — a
|
|
27
|
+
* batch is refused. An answer that cannot be read unambiguously is refused by
|
|
28
|
+
* name, as a 502 whose text is this library's.
|
|
29
|
+
*
|
|
30
|
+
* Pattern: pure functions + one TransformStream. Role: outer ring, the
|
|
31
|
+
* transport's one rule for what the client reads.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* JSON-RPC error messages a reply may keep word for word — fixed strings that
|
|
35
|
+
* carry nothing of the request: the JSON-RPC 2.0 standard errors, the MCP
|
|
36
|
+
* Streamable HTTP session error, and the AgentCore Runtime MCP contract's
|
|
37
|
+
* mappings of its exceptions.
|
|
38
|
+
*/
|
|
39
|
+
export declare const KNOWN_ERROR_MESSAGES: ReadonlySet<string>;
|
|
40
|
+
/** Is this answer an authentication or authorization failure? */
|
|
41
|
+
export declare function isAuthFailure(status: number, type: string | undefined): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The answer the MCP client may read: a failure rewritten from safe parts; a
|
|
44
|
+
* 2xx read once and re-serialized; an answer that cannot be read
|
|
45
|
+
* unambiguously refused (502).
|
|
46
|
+
*/
|
|
47
|
+
export declare function safeAnswer(response: Response): Promise<Response>;
|
|
48
|
+
/** The fixed sentence a failure with no JSON-RPC reply is answered with. */
|
|
49
|
+
export declare function failureSentence(status: number, type: string | undefined): string;
|