agentfootprint 10.3.1 → 10.5.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 +12 -1
- package/README.md +44 -0
- package/ai-instructions/claude-code/SKILL.md +2 -2
- package/ai-instructions/clinerules +22 -11
- package/ai-instructions/copilot-instructions.md +22 -11
- package/ai-instructions/cursor/agentfootprint.md +22 -11
- package/ai-instructions/kiro/agentfootprint.md +22 -11
- package/ai-instructions/windsurfrules +22 -11
- package/dist/adapters/llm/AnthropicProvider.js +26 -8
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +23 -7
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +57 -49
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +50 -42
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/FoundryLocalProvider.js +174 -212
- package/dist/adapters/llm/FoundryLocalProvider.js.map +1 -1
- package/dist/adapters/llm/GeminiProvider.js +23 -9
- package/dist/adapters/llm/GeminiProvider.js.map +1 -1
- package/dist/adapters/llm/InvokeModelGatewayProvider.js +32 -9
- package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
- package/dist/adapters/llm/MockProvider.js +11 -3
- package/dist/adapters/llm/MockProvider.js.map +1 -1
- package/dist/adapters/llm/OllamaProvider.js +129 -167
- package/dist/adapters/llm/OllamaProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +36 -9
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- 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 +272 -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 +222 -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 +126 -0
- package/dist/ag-ui/adapter.js.map +1 -0
- package/dist/ag-ui/framing.js +68 -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 +29 -0
- package/dist/ag-ui/index.js.map +1 -0
- package/dist/ag-ui/request.js +416 -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/answer-validation/index.js +8 -1
- package/dist/answer-validation/index.js.map +1 -1
- package/dist/answer-validation/toolLedger.js +130 -0
- package/dist/answer-validation/toolLedger.js.map +1 -0
- package/dist/answer-validation/types.js.map +1 -1
- package/dist/answer-validation/validate.js +25 -3
- package/dist/answer-validation/validate.js.map +1 -1
- package/dist/classify/typesafe.js +31 -23
- package/dist/classify/typesafe.js.map +1 -1
- package/dist/core/Agent.js +106 -20
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/LLMCall.js +16 -6
- package/dist/core/LLMCall.js.map +1 -1
- package/dist/core/RunnerBase.js +99 -13
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +17 -5
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildAgentMessageApiChart.js +22 -2
- package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +23 -4
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/buildMessageApiChart.js +22 -2
- package/dist/core/agent/buildMessageApiChart.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/answerValidation.js +22 -1
- package/dist/core/agent/stages/answerValidation.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +19 -3
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/routeTurn.js +17 -4
- package/dist/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/core/agent/stages/seed.js +58 -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 +85 -25
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/window/strategies/summarizeOldest.js +4 -0
- package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -1
- package/dist/core/agent/window/summarize.js +6 -3
- package/dist/core/agent/window/summarize.js.map +1 -1
- package/dist/core/memberRun.js +293 -0
- package/dist/core/memberRun.js.map +1 -0
- package/dist/core/requestOfRun.js +28 -0
- package/dist/core/requestOfRun.js.map +1 -0
- package/dist/core/slots/buildToolsSlot.js +11 -25
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/core-flow/Conditional.js +39 -12
- package/dist/core-flow/Conditional.js.map +1 -1
- package/dist/core-flow/Graph.js +48 -17
- package/dist/core-flow/Graph.js.map +1 -1
- package/dist/core-flow/Loop.js +39 -13
- package/dist/core-flow/Loop.js.map +1 -1
- package/dist/core-flow/Parallel.js +53 -21
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/core-flow/Sequence.js +39 -12
- package/dist/core-flow/Sequence.js.map +1 -1
- package/dist/core-flow/Workflow.js +44 -14
- 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/doors/security.js +2 -1
- package/dist/doors/security.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +9 -2
- package/dist/esm/adapters/llm/AnthropicProvider.js +26 -8
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +6 -1
- package/dist/esm/adapters/llm/BedrockProvider.js +23 -7
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +57 -49
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +50 -42
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/FoundryLocalProvider.js +171 -209
- package/dist/esm/adapters/llm/FoundryLocalProvider.js.map +1 -1
- package/dist/esm/adapters/llm/GeminiProvider.js +23 -9
- package/dist/esm/adapters/llm/GeminiProvider.js.map +1 -1
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +32 -9
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
- package/dist/esm/adapters/llm/MockProvider.js +11 -3
- package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OllamaProvider.js +126 -164
- package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +6 -1
- package/dist/esm/adapters/llm/OpenAIProvider.js +36 -9
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- 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 +267 -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 +199 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +217 -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 +118 -0
- package/dist/esm/ag-ui/adapter.js +122 -0
- package/dist/esm/ag-ui/adapter.js.map +1 -0
- package/dist/esm/ag-ui/framing.d.ts +52 -0
- package/dist/esm/ag-ui/framing.js +64 -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 +19 -0
- package/dist/esm/ag-ui/index.js +19 -0
- package/dist/esm/ag-ui/index.js.map +1 -0
- package/dist/esm/ag-ui/request.d.ts +151 -0
- package/dist/esm/ag-ui/request.js +408 -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/answer-validation/index.d.ts +2 -1
- package/dist/esm/answer-validation/index.js +1 -0
- package/dist/esm/answer-validation/index.js.map +1 -1
- package/dist/esm/answer-validation/toolLedger.d.ts +65 -0
- package/dist/esm/answer-validation/toolLedger.js +121 -0
- package/dist/esm/answer-validation/toolLedger.js.map +1 -0
- package/dist/esm/answer-validation/types.d.ts +48 -0
- package/dist/esm/answer-validation/types.js.map +1 -1
- package/dist/esm/answer-validation/validate.d.ts +2 -2
- package/dist/esm/answer-validation/validate.js +25 -3
- package/dist/esm/answer-validation/validate.js.map +1 -1
- package/dist/esm/classify/typesafe.js +30 -22
- package/dist/esm/classify/typesafe.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +11 -1
- package/dist/esm/core/Agent.js +107 -21
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/LLMCall.d.ts +2 -1
- package/dist/esm/core/LLMCall.js +17 -7
- package/dist/esm/core/LLMCall.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +39 -8
- package/dist/esm/core/RunnerBase.js +97 -12
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.js +17 -5
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +16 -0
- package/dist/esm/core/agent/buildAgentMessageApiChart.js +22 -2
- package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +23 -4
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildMessageApiChart.d.ts +16 -0
- package/dist/esm/core/agent/buildMessageApiChart.js +22 -2
- package/dist/esm/core/agent/buildMessageApiChart.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/answerValidation.js +22 -1
- package/dist/esm/core/agent/stages/answerValidation.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.js +19 -3
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/routeTurn.d.ts +1 -1
- package/dist/esm/core/agent/stages/routeTurn.js +17 -4
- package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +18 -1
- package/dist/esm/core/agent/stages/seed.js +58 -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 +32 -1
- package/dist/esm/core/agent/stages/toolCalls.js +85 -25
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +26 -6
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js +4 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
- package/dist/esm/core/agent/window/summarize.js +6 -3
- package/dist/esm/core/agent/window/summarize.js.map +1 -1
- package/dist/esm/core/memberRun.d.ts +153 -0
- package/dist/esm/core/memberRun.js +273 -0
- package/dist/esm/core/memberRun.js.map +1 -0
- package/dist/esm/core/requestOfRun.d.ts +21 -0
- package/dist/esm/core/requestOfRun.js +24 -0
- package/dist/esm/core/requestOfRun.js.map +1 -0
- package/dist/esm/core/runner.d.ts +15 -3
- package/dist/esm/core/slots/buildToolsSlot.d.ts +0 -16
- package/dist/esm/core/slots/buildToolsSlot.js +11 -25
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core-flow/Conditional.d.ts +10 -1
- package/dist/esm/core-flow/Conditional.js +40 -13
- package/dist/esm/core-flow/Conditional.js.map +1 -1
- package/dist/esm/core-flow/Graph.d.ts +2 -1
- package/dist/esm/core-flow/Graph.js +49 -18
- package/dist/esm/core-flow/Graph.js.map +1 -1
- package/dist/esm/core-flow/Loop.d.ts +10 -1
- package/dist/esm/core-flow/Loop.js +40 -14
- package/dist/esm/core-flow/Loop.js.map +1 -1
- package/dist/esm/core-flow/Parallel.d.ts +10 -1
- package/dist/esm/core-flow/Parallel.js +54 -22
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/core-flow/Sequence.d.ts +10 -1
- package/dist/esm/core-flow/Sequence.js +40 -13
- package/dist/esm/core-flow/Sequence.js.map +1 -1
- package/dist/esm/core-flow/Workflow.d.ts +2 -1
- package/dist/esm/core-flow/Workflow.js +45 -15
- 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/doors/security.d.ts +2 -1
- package/dist/esm/doors/security.js +2 -1
- package/dist/esm/doors/security.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +4 -2
- 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 +5 -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 +232 -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 +85 -0
- package/dist/esm/hosting/refusalStatus.js.map +1 -0
- package/dist/esm/hosting/requestSealing.d.ts +65 -0
- package/dist/esm/hosting/requestSealing.js +79 -0
- package/dist/esm/hosting/requestSealing.js.map +1 -0
- package/dist/esm/hosting/standingAgent.js +24 -34
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/stream.d.ts +60 -0
- package/dist/esm/hosting/stream.js +38 -2
- package/dist/esm/hosting/stream.js.map +1 -1
- package/dist/esm/hosting/streamHandler.d.ts +153 -0
- package/dist/esm/hosting/streamHandler.js +517 -0
- package/dist/esm/hosting/streamHandler.js.map +1 -0
- package/dist/esm/hosting/types.d.ts +44 -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/identity/requestContext.d.ts +96 -0
- package/dist/esm/identity/requestContext.js +131 -0
- package/dist/esm/identity/requestContext.js.map +1 -0
- package/dist/esm/identity/requestCredentials.d.ts +99 -0
- package/dist/esm/identity/requestCredentials.js +157 -0
- package/dist/esm/identity/requestCredentials.js.map +1 -0
- package/dist/esm/identity/types.d.ts +11 -0
- package/dist/esm/identity/types.js.map +1 -1
- package/dist/esm/identity.d.ts +2 -0
- package/dist/esm/identity.js +5 -0
- package/dist/esm/identity.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
- package/dist/esm/injection-engine/buildInjectionEngineSubflow.js +39 -5
- package/dist/esm/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/esm/injection-engine/constrainedEnumPick.js +4 -2
- package/dist/esm/injection-engine/constrainedEnumPick.js.map +1 -1
- package/dist/esm/injection-engine/evaluator.d.ts +6 -0
- package/dist/esm/injection-engine/evaluator.js +19 -1
- package/dist/esm/injection-engine/evaluator.js.map +1 -1
- package/dist/esm/injection-engine/skillGraph.js +26 -8
- package/dist/esm/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/injection-engine/skillIntent.d.ts +4 -2
- package/dist/esm/injection-engine/skillIntent.js +3 -0
- package/dist/esm/injection-engine/skillIntent.js.map +1 -1
- package/dist/esm/injection-engine/types.d.ts +27 -1
- package/dist/esm/injection-engine/types.js +15 -0
- package/dist/esm/injection-engine/types.js.map +1 -1
- package/dist/esm/lib/abort.d.ts +143 -0
- package/dist/esm/lib/abort.js +322 -0
- package/dist/esm/lib/abort.js.map +1 -0
- 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/maps/engagement/parkCard.d.ts +5 -1
- package/dist/esm/maps/engagement/parkCard.js +10 -3
- package/dist/esm/maps/engagement/parkCard.js.map +1 -1
- package/dist/esm/mcp/mcpClient.js +30 -2
- package/dist/esm/mcp/mcpClient.js.map +1 -1
- package/dist/esm/mcp/mcpServe.js +5 -1
- package/dist/esm/mcp/mcpServe.js.map +1 -1
- package/dist/esm/mcp/plainData.d.ts +44 -0
- package/dist/esm/mcp/plainData.js +204 -0
- package/dist/esm/mcp/plainData.js.map +1 -0
- package/dist/esm/mcp/sdkLoadFailure.d.ts +6 -7
- package/dist/esm/mcp/sdkLoadFailure.js +4 -4
- package/dist/esm/mcp/sdkLoadFailure.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/mcp/toolResult.js +8 -50
- package/dist/esm/mcp/toolResult.js.map +1 -1
- package/dist/esm/mcp/types.d.ts +10 -6
- package/dist/esm/memory/beats/llmExtractor.js +6 -3
- package/dist/esm/memory/beats/llmExtractor.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/facts/llmFactExtractor.js +6 -3
- package/dist/esm/memory/facts/llmFactExtractor.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/stages/summarize.js +16 -5
- package/dist/esm/memory/stages/summarize.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/LlmRouter.js +10 -5
- package/dist/esm/patterns/LlmRouter.js.map +1 -1
- package/dist/esm/patterns/MapReduce.js +8 -2
- package/dist/esm/patterns/MapReduce.js.map +1 -1
- package/dist/esm/redaction/conversation.js +3 -0
- package/dist/esm/redaction/conversation.js.map +1 -1
- package/dist/esm/redaction/knownStrings.js +1 -0
- package/dist/esm/redaction/knownStrings.js.map +1 -1
- package/dist/esm/reliability/buildReliabilityGateChart.js +7 -1
- package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
- package/dist/esm/resilience/withCircuitBreaker.js +5 -2
- package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/esm/resilience/withFallback.js +6 -0
- package/dist/esm/resilience/withFallback.js.map +1 -1
- package/dist/esm/resilience/withRetry.js +5 -0
- package/dist/esm/resilience/withRetry.js.map +1 -1
- package/dist/esm/time-travel/servedView.js +1 -1
- package/dist/esm/time-travel/servedView.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/tools/hostFilled.d.ts +110 -0
- package/dist/esm/tools/hostFilled.js +509 -0
- package/dist/esm/tools/hostFilled.js.map +1 -0
- 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 +88 -0
- package/dist/hosting/refusalStatus.js.map +1 -0
- package/dist/hosting/requestSealing.js +83 -0
- package/dist/hosting/requestSealing.js.map +1 -0
- package/dist/hosting/standingAgent.js +25 -35
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/hosting/stream.js +39 -3
- package/dist/hosting/stream.js.map +1 -1
- package/dist/hosting/streamHandler.js +521 -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/identity/requestContext.js +139 -0
- package/dist/identity/requestContext.js.map +1 -0
- package/dist/identity/requestCredentials.js +165 -0
- package/dist/identity/requestCredentials.js.map +1 -0
- package/dist/identity/types.js.map +1 -1
- package/dist/identity.js +13 -1
- package/dist/identity.js.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/injection-engine/buildInjectionEngineSubflow.js +38 -4
- package/dist/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/injection-engine/constrainedEnumPick.js +4 -2
- package/dist/injection-engine/constrainedEnumPick.js.map +1 -1
- package/dist/injection-engine/evaluator.js +18 -0
- package/dist/injection-engine/evaluator.js.map +1 -1
- package/dist/injection-engine/skillGraph.js +25 -7
- package/dist/injection-engine/skillGraph.js.map +1 -1
- package/dist/injection-engine/skillIntent.js +3 -0
- package/dist/injection-engine/skillIntent.js.map +1 -1
- package/dist/injection-engine/types.js +17 -1
- package/dist/injection-engine/types.js.map +1 -1
- package/dist/lib/abort.js +336 -0
- package/dist/lib/abort.js.map +1 -0
- package/dist/lib/humanizeLLMError.js +23 -8
- package/dist/lib/humanizeLLMError.js.map +1 -1
- package/dist/maps/engagement/parkCard.js +10 -3
- package/dist/maps/engagement/parkCard.js.map +1 -1
- package/dist/mcp/mcpClient.js +30 -2
- package/dist/mcp/mcpClient.js.map +1 -1
- package/dist/mcp/mcpServe.js +5 -1
- package/dist/mcp/mcpServe.js.map +1 -1
- package/dist/mcp/plainData.js +208 -0
- package/dist/mcp/plainData.js.map +1 -0
- package/dist/mcp/sdkLoadFailure.js +4 -4
- package/dist/mcp/sdkLoadFailure.js.map +1 -1
- package/dist/mcp/throttleRetry.js +41 -6
- package/dist/mcp/throttleRetry.js.map +1 -1
- package/dist/mcp/toolResult.js +8 -50
- package/dist/mcp/toolResult.js.map +1 -1
- package/dist/memory/beats/llmExtractor.js +6 -3
- package/dist/memory/beats/llmExtractor.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/facts/llmFactExtractor.js +6 -3
- package/dist/memory/facts/llmFactExtractor.js.map +1 -1
- package/dist/memory/stages/formatDefault.js +3 -1
- package/dist/memory/stages/formatDefault.js.map +1 -1
- package/dist/memory/stages/summarize.js +16 -5
- package/dist/memory/stages/summarize.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/LlmRouter.js +9 -4
- package/dist/patterns/LlmRouter.js.map +1 -1
- package/dist/patterns/MapReduce.js +8 -2
- package/dist/patterns/MapReduce.js.map +1 -1
- package/dist/redaction/conversation.js +3 -0
- package/dist/redaction/conversation.js.map +1 -1
- package/dist/redaction/knownStrings.js +1 -0
- package/dist/redaction/knownStrings.js.map +1 -1
- package/dist/reliability/buildReliabilityGateChart.js +7 -1
- package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
- package/dist/resilience/withCircuitBreaker.js +5 -2
- package/dist/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/resilience/withFallback.js +6 -0
- package/dist/resilience/withFallback.js.map +1 -1
- package/dist/resilience/withRetry.js +5 -0
- package/dist/resilience/withRetry.js.map +1 -1
- package/dist/time-travel/servedView.js +1 -1
- package/dist/time-travel/servedView.js.map +1 -1
- package/dist/tool-providers/index.js +10 -1
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/tools/hostFilled.js +517 -0
- package/dist/tools/hostFilled.js.map +1 -0
- package/dist/trace-toolpack/selfExplain.js +25 -2
- package/dist/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +9 -2
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +6 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/FoundryLocalProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/GeminiProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +6 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.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 +200 -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 +119 -0
- package/dist/types/ag-ui/adapter.d.ts.map +1 -0
- package/dist/types/ag-ui/framing.d.ts +53 -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 +20 -0
- package/dist/types/ag-ui/index.d.ts.map +1 -0
- package/dist/types/ag-ui/request.d.ts +152 -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/answer-validation/index.d.ts +2 -1
- package/dist/types/answer-validation/index.d.ts.map +1 -1
- package/dist/types/answer-validation/toolLedger.d.ts +66 -0
- package/dist/types/answer-validation/toolLedger.d.ts.map +1 -0
- package/dist/types/answer-validation/types.d.ts +48 -0
- package/dist/types/answer-validation/types.d.ts.map +1 -1
- package/dist/types/answer-validation/validate.d.ts +2 -2
- package/dist/types/answer-validation/validate.d.ts.map +1 -1
- package/dist/types/classify/typesafe.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +11 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/LLMCall.d.ts +2 -1
- package/dist/types/core/LLMCall.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +39 -8
- 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/buildAgentMessageApiChart.d.ts +16 -0
- package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildMessageApiChart.d.ts +16 -0
- package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/callerIdentity.d.ts.map +1 -1
- package/dist/types/core/agent/stages/answerValidation.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.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 +18 -1
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +32 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +26 -6
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
- package/dist/types/core/agent/window/summarize.d.ts.map +1 -1
- package/dist/types/core/memberRun.d.ts +154 -0
- package/dist/types/core/memberRun.d.ts.map +1 -0
- package/dist/types/core/requestOfRun.d.ts +22 -0
- package/dist/types/core/requestOfRun.d.ts.map +1 -0
- package/dist/types/core/runner.d.ts +15 -3
- package/dist/types/core/runner.d.ts.map +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts +0 -16
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/core-flow/Conditional.d.ts +10 -1
- package/dist/types/core-flow/Conditional.d.ts.map +1 -1
- package/dist/types/core-flow/Graph.d.ts +2 -1
- package/dist/types/core-flow/Graph.d.ts.map +1 -1
- package/dist/types/core-flow/Loop.d.ts +10 -1
- package/dist/types/core-flow/Loop.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts +10 -1
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/core-flow/Sequence.d.ts +10 -1
- package/dist/types/core-flow/Sequence.d.ts.map +1 -1
- package/dist/types/core-flow/Workflow.d.ts +2 -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/doors/security.d.ts +2 -1
- package/dist/types/doors/security.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +4 -2
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +5 -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 +233 -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/requestSealing.d.ts +66 -0
- package/dist/types/hosting/requestSealing.d.ts.map +1 -0
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/hosting/stream.d.ts +60 -0
- package/dist/types/hosting/stream.d.ts.map +1 -1
- package/dist/types/hosting/streamHandler.d.ts +154 -0
- package/dist/types/hosting/streamHandler.d.ts.map +1 -0
- package/dist/types/hosting/types.d.ts +44 -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/identity/requestContext.d.ts +97 -0
- package/dist/types/identity/requestContext.d.ts.map +1 -0
- package/dist/types/identity/requestCredentials.d.ts +100 -0
- package/dist/types/identity/requestCredentials.d.ts.map +1 -0
- package/dist/types/identity/types.d.ts +11 -0
- package/dist/types/identity/types.d.ts.map +1 -1
- package/dist/types/identity.d.ts +2 -0
- package/dist/types/identity.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
- package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
- package/dist/types/injection-engine/constrainedEnumPick.d.ts.map +1 -1
- package/dist/types/injection-engine/evaluator.d.ts +6 -0
- package/dist/types/injection-engine/evaluator.d.ts.map +1 -1
- package/dist/types/injection-engine/skillIntent.d.ts +4 -2
- package/dist/types/injection-engine/skillIntent.d.ts.map +1 -1
- package/dist/types/injection-engine/types.d.ts +27 -1
- package/dist/types/injection-engine/types.d.ts.map +1 -1
- package/dist/types/lib/abort.d.ts +144 -0
- package/dist/types/lib/abort.d.ts.map +1 -0
- package/dist/types/lib/humanizeLLMError.d.ts +15 -0
- package/dist/types/lib/humanizeLLMError.d.ts.map +1 -1
- package/dist/types/maps/engagement/parkCard.d.ts +5 -1
- package/dist/types/maps/engagement/parkCard.d.ts.map +1 -1
- package/dist/types/mcp/mcpServe.d.ts.map +1 -1
- package/dist/types/mcp/plainData.d.ts +45 -0
- package/dist/types/mcp/plainData.d.ts.map +1 -0
- package/dist/types/mcp/sdkLoadFailure.d.ts +6 -7
- package/dist/types/mcp/sdkLoadFailure.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/mcp/toolResult.d.ts.map +1 -1
- package/dist/types/mcp/types.d.ts +10 -6
- package/dist/types/mcp/types.d.ts.map +1 -1
- package/dist/types/memory/beats/llmExtractor.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/facts/llmFactExtractor.d.ts.map +1 -1
- package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
- package/dist/types/memory/stages/summarize.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/LlmRouter.d.ts.map +1 -1
- package/dist/types/patterns/MapReduce.d.ts.map +1 -1
- package/dist/types/redaction/conversation.d.ts.map +1 -1
- package/dist/types/redaction/knownStrings.d.ts.map +1 -1
- package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
- package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
- package/dist/types/resilience/withFallback.d.ts.map +1 -1
- package/dist/types/resilience/withRetry.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/tools/hostFilled.d.ts +111 -0
- package/dist/types/tools/hostFilled.d.ts.map +1 -0
- 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
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* abort — the ONE owner of how the library honours a cancellation.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: Small pure helpers over `AbortSignal`. No state between calls.
|
|
5
|
+
* Role: Leaf. Every provider adapter, the provider decorators and the
|
|
6
|
+
* agent's own provider calls stop through these, so "the caller
|
|
7
|
+
* cancelled" means the same thing at every layer. Two adapters
|
|
8
|
+
* (Ollama, Foundry Local) each kept a private copy of the first
|
|
9
|
+
* three helpers and the classifier kept a third; most adapters kept
|
|
10
|
+
* none, and an aborted run left their remote calls running — and
|
|
11
|
+
* billing. `test/architecture/abortOwner.test.ts` refuses a fourth.
|
|
12
|
+
* Emits: N/A.
|
|
13
|
+
*
|
|
14
|
+
* ── THE LAW ──────────────────────────────────────────────────────────────
|
|
15
|
+
* Once a request's signal has fired:
|
|
16
|
+
* 1. nothing more is SENT — `throwIfAborted` before every dispatch, because
|
|
17
|
+
* an already-aborted signal never dispatches another 'abort' event, so a
|
|
18
|
+
* listener alone cannot see it;
|
|
19
|
+
* 2. nothing more is WAITED FOR — `untilAborted` races every wait (the
|
|
20
|
+
* response, a body read, a stream's next chunk) against the signal, so a
|
|
21
|
+
* transport that ignores its signal still cannot hold the call open;
|
|
22
|
+
* 3. nothing more is READ — `abortableIterable` closes the source (its
|
|
23
|
+
* iterator's `return()`, plus the caller's own `close`, e.g. an SDK
|
|
24
|
+
* stream's `abort()`), so the socket is released and the server stops
|
|
25
|
+
* generating for nobody;
|
|
26
|
+
* 4. nothing that arrives LATE counts — a response or chunk that lands after
|
|
27
|
+
* the abort is refused with the abort, never returned as a success, so it
|
|
28
|
+
* cannot be recorded as an answer or billed into a run's usage.
|
|
29
|
+
*
|
|
30
|
+
* ── WHAT AN ABORT REACHES THE CALLER AS ──────────────────────────────────
|
|
31
|
+
* The signal's own `reason` when it is an `Error` — what every runtime
|
|
32
|
+
* supplies (a `DOMException` named 'AbortError', or 'TimeoutError' for
|
|
33
|
+
* `AbortSignal.timeout`), and what a caller who passed their own reason
|
|
34
|
+
* expects back. Anything else becomes an `Error` named 'AbortError' that keeps
|
|
35
|
+
* the reason as `cause`. An abort is the caller's word: it is never dressed up
|
|
36
|
+
* as a provider failure, never retried, never fallen back from.
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* The error an aborted wait rejects with. See the module notes.
|
|
40
|
+
*
|
|
41
|
+
* Never throws. A reason that cannot even be classified (a revoked `Proxy`,
|
|
42
|
+
* one whose `getPrototypeOf` throws) becomes a plain `AbortError` WITHOUT it:
|
|
43
|
+
* this runs inside abort listeners, where a throw would escape as an uncaught
|
|
44
|
+
* exception and leave the wait it should end unsettled.
|
|
45
|
+
*/
|
|
46
|
+
export function abortErrorOf(signal) {
|
|
47
|
+
let reason;
|
|
48
|
+
try {
|
|
49
|
+
reason = signal.reason;
|
|
50
|
+
if (reason instanceof Error)
|
|
51
|
+
return reason;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return Object.assign(new Error('This operation was aborted'), { name: 'AbortError' });
|
|
55
|
+
}
|
|
56
|
+
return Object.assign(new Error('This operation was aborted'), {
|
|
57
|
+
name: 'AbortError',
|
|
58
|
+
...(reason !== undefined && { cause: reason }),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/** Stop right here when `signal` has already fired. */
|
|
62
|
+
export function throwIfAborted(signal) {
|
|
63
|
+
if (signal?.aborted)
|
|
64
|
+
throw abortErrorOf(signal);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* `pending`, except that an abort ends the wait at once — with the abort,
|
|
68
|
+
* whatever `pending` later does. The abandoned promise's own rejection is
|
|
69
|
+
* swallowed, so the work given up on never surfaces as an unhandled rejection.
|
|
70
|
+
* With no signal, `pending` itself.
|
|
71
|
+
*/
|
|
72
|
+
export function untilAborted(pending, signal) {
|
|
73
|
+
if (signal === undefined)
|
|
74
|
+
return Promise.resolve(pending);
|
|
75
|
+
if (signal.aborted) {
|
|
76
|
+
Promise.resolve(pending).catch(() => undefined);
|
|
77
|
+
return Promise.reject(abortErrorOf(signal));
|
|
78
|
+
}
|
|
79
|
+
return new Promise((resolve, reject) => {
|
|
80
|
+
const onAbort = () => reject(abortErrorOf(signal));
|
|
81
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
82
|
+
Promise.resolve(pending).then((value) => {
|
|
83
|
+
signal.removeEventListener('abort', onAbort);
|
|
84
|
+
resolve(value);
|
|
85
|
+
}, (err) => {
|
|
86
|
+
signal.removeEventListener('abort', onAbort);
|
|
87
|
+
reject(err);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* A signal that fires when ANY of `signals` does, with that signal's reason.
|
|
93
|
+
* `undefined` when none is given, the one signal itself when only one is.
|
|
94
|
+
*
|
|
95
|
+
* `AbortSignal.any` where the runtime has it (Node 20.3+, every current
|
|
96
|
+
* browser): it holds its sources weakly, so a long-lived signal combined into
|
|
97
|
+
* every call does not collect a listener per call. The fallback (an older
|
|
98
|
+
* browser) listens until the first source fires, so the library's hot paths do
|
|
99
|
+
* not lean on it: a run's signal and a call's deadline are combined with
|
|
100
|
+
* {@link linkedController}, whose links end with the run or the call.
|
|
101
|
+
*/
|
|
102
|
+
export function eitherSignal(...signals) {
|
|
103
|
+
const sources = [...new Set(signals.filter((s) => s !== undefined))];
|
|
104
|
+
if (sources.length === 0)
|
|
105
|
+
return undefined;
|
|
106
|
+
if (sources.length === 1)
|
|
107
|
+
return sources[0];
|
|
108
|
+
const any = AbortSignal.any;
|
|
109
|
+
if (typeof any === 'function')
|
|
110
|
+
return any.call(AbortSignal, sources);
|
|
111
|
+
const controller = new AbortController();
|
|
112
|
+
const fired = sources.find((s) => s.aborted);
|
|
113
|
+
if (fired !== undefined) {
|
|
114
|
+
controller.abort(fired.reason);
|
|
115
|
+
return controller.signal;
|
|
116
|
+
}
|
|
117
|
+
const onAbort = (event) => {
|
|
118
|
+
for (const s of sources)
|
|
119
|
+
s.removeEventListener('abort', onAbort);
|
|
120
|
+
controller.abort(event.target.reason);
|
|
121
|
+
};
|
|
122
|
+
for (const s of sources)
|
|
123
|
+
s.addEventListener('abort', onAbort, { once: true });
|
|
124
|
+
return controller.signal;
|
|
125
|
+
}
|
|
126
|
+
/** The longest delay a platform timer holds; Node turns a longer one into 1 ms. */
|
|
127
|
+
const MAX_TIMER_MS = 2 ** 31 - 1;
|
|
128
|
+
/**
|
|
129
|
+
* A controller of the caller's own, following `sources` until `unlink()` —
|
|
130
|
+
* for work that must be cancellable by the caller's signals AND by itself (a
|
|
131
|
+
* deadline), for exactly that work's lifetime. Aborted at once when a source
|
|
132
|
+
* already has; aborted with a source's reason when one fires; `unlink()` takes
|
|
133
|
+
* every listener off the sources, so nothing outlives the work on a
|
|
134
|
+
* long-lived signal. Idempotent.
|
|
135
|
+
*/
|
|
136
|
+
export function linkedController(...sources) {
|
|
137
|
+
const controller = new AbortController();
|
|
138
|
+
const linked = [...new Set(sources.filter((s) => s !== undefined))];
|
|
139
|
+
const fired = linked.find((s) => s.aborted);
|
|
140
|
+
if (fired !== undefined) {
|
|
141
|
+
controller.abort(fired.reason);
|
|
142
|
+
return { controller, unlink: () => undefined };
|
|
143
|
+
}
|
|
144
|
+
const unlink = () => {
|
|
145
|
+
for (const s of linked)
|
|
146
|
+
s.removeEventListener('abort', onAbort);
|
|
147
|
+
};
|
|
148
|
+
const onAbort = (event) => {
|
|
149
|
+
unlink();
|
|
150
|
+
controller.abort(event.target.reason);
|
|
151
|
+
};
|
|
152
|
+
for (const s of linked)
|
|
153
|
+
s.addEventListener('abort', onAbort, { once: true });
|
|
154
|
+
return { controller, unlink };
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Abort `controller` with `reason()` once `ms` have passed — a DEADLINE, not a
|
|
158
|
+
* wait (`sleep.ts` owns waits). Returns the disarm: a deadline is released
|
|
159
|
+
* when the work it bounds settles, as the engine releases its own, so it never
|
|
160
|
+
* fires on work that already finished. A delay past what a timer holds
|
|
161
|
+
* (2^31 − 1 ms, about 24.8 days) is held at that maximum rather than firing at
|
|
162
|
+
* once.
|
|
163
|
+
*
|
|
164
|
+
* The timer is NOT `unref`'d, exactly like the engine's: while the work it
|
|
165
|
+
* bounds is pending it keeps the process alive, so a stage that hangs on work
|
|
166
|
+
* holding no handle of its own still gets its timeout instead of a process
|
|
167
|
+
* that exits with the run never settled. The disarm is what lets it go.
|
|
168
|
+
*/
|
|
169
|
+
export function armDeadline(controller, ms, reason) {
|
|
170
|
+
const timer = setTimeout(() => controller.abort(reason()), Math.min(Math.max(ms, 0), MAX_TIMER_MS));
|
|
171
|
+
return () => clearTimeout(timer);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* `request` carrying `signal` as well as any signal it already carried — the
|
|
175
|
+
* SAME object when there is nothing to add. Every place the library hands a
|
|
176
|
+
* request to a provider stamps the run's signal through here.
|
|
177
|
+
*/
|
|
178
|
+
export function withRequestSignal(request, signal) {
|
|
179
|
+
if (signal === undefined || request.signal === signal)
|
|
180
|
+
return request;
|
|
181
|
+
return { ...request, signal: eitherSignal(request.signal, signal) };
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* One non-streaming call under `signal` — the four laws in one place, for the
|
|
185
|
+
* library's own provider calls (the agent, `LLMCall`, the summarizers, the
|
|
186
|
+
* extractors, the gates): refused before it is sent when the signal has
|
|
187
|
+
* already fired, handed the request WITH the signal so the provider can cancel
|
|
188
|
+
* its own request, raced so an adapter that ignores it cannot hold the caller,
|
|
189
|
+
* and refused when its answer lands after the abort — so a late answer is
|
|
190
|
+
* never recorded or billed as if the call had completed.
|
|
191
|
+
*/
|
|
192
|
+
export function callUnder(request, signal, call) {
|
|
193
|
+
return awaitUnder(signal, () => call(withRequestSignal(request, signal)));
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Laws 1, 2 and 4 for one piece of work that cannot be handed the signal (a
|
|
197
|
+
* callback with no signal in its contract): not started when the signal has
|
|
198
|
+
* already fired, not waited for once it fires, and refused when it lands after.
|
|
199
|
+
*/
|
|
200
|
+
export async function awaitUnder(signal, start) {
|
|
201
|
+
throwIfAborted(signal);
|
|
202
|
+
const answer = await untilAborted(start(), signal);
|
|
203
|
+
throwIfAborted(signal);
|
|
204
|
+
return answer;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Iterate `source` under `signal` — laws 2, 3 and 4 for a stream. With no
|
|
208
|
+
* signal, `source` itself.
|
|
209
|
+
*
|
|
210
|
+
* Each `next()` is raced against the signal; on abort the source is CLOSED —
|
|
211
|
+
* `close()` first (an SDK stream's `abort()`, a body reader's `cancel()`),
|
|
212
|
+
* then its iterator's `return()` — and the iteration rejects with the abort. A
|
|
213
|
+
* step that lands after the abort is refused, never handed on. A consumer that
|
|
214
|
+
* stops early (`break`, a throw) on a live signal closes the source as
|
|
215
|
+
* `for await` does — its `return()` waited for, its errors propagated.
|
|
216
|
+
*
|
|
217
|
+
* The source's `return()` is NOT awaited: a source suspended inside its own
|
|
218
|
+
* await (a read the transport will never answer) cannot finish returning, and
|
|
219
|
+
* waiting for it would re-create the hang this exists to end.
|
|
220
|
+
*/
|
|
221
|
+
export function abortableIterable(source, signal, close) {
|
|
222
|
+
if (signal === undefined)
|
|
223
|
+
return source;
|
|
224
|
+
const watched = signal;
|
|
225
|
+
return {
|
|
226
|
+
[Symbol.asyncIterator]() {
|
|
227
|
+
const it = source[Symbol.asyncIterator]();
|
|
228
|
+
let shut = false;
|
|
229
|
+
const closeSource = () => {
|
|
230
|
+
if (shut)
|
|
231
|
+
return;
|
|
232
|
+
shut = true;
|
|
233
|
+
settleQuietly(() => close?.());
|
|
234
|
+
settleQuietly(() => it.return?.());
|
|
235
|
+
};
|
|
236
|
+
const refuse = () => {
|
|
237
|
+
closeSource();
|
|
238
|
+
throw abortErrorOf(watched);
|
|
239
|
+
};
|
|
240
|
+
return {
|
|
241
|
+
async next() {
|
|
242
|
+
if (watched.aborted)
|
|
243
|
+
refuse();
|
|
244
|
+
let step;
|
|
245
|
+
try {
|
|
246
|
+
step = await untilAborted(it.next(), watched);
|
|
247
|
+
}
|
|
248
|
+
catch (err) {
|
|
249
|
+
if (watched.aborted)
|
|
250
|
+
refuse();
|
|
251
|
+
throw err;
|
|
252
|
+
}
|
|
253
|
+
if (watched.aborted)
|
|
254
|
+
refuse();
|
|
255
|
+
if (step.done)
|
|
256
|
+
shut = true;
|
|
257
|
+
return step;
|
|
258
|
+
},
|
|
259
|
+
async return(value) {
|
|
260
|
+
// A consumer that stops early on a live signal closes the source
|
|
261
|
+
// the way `for await` always did: waited for, its errors its own.
|
|
262
|
+
// Only once the signal has fired is the close not waited for.
|
|
263
|
+
if (!shut && !watched.aborted) {
|
|
264
|
+
shut = true;
|
|
265
|
+
await untilAborted(it.return?.(value), watched).catch((err) => {
|
|
266
|
+
if (!watched.aborted)
|
|
267
|
+
throw err;
|
|
268
|
+
});
|
|
269
|
+
return { done: true, value: value };
|
|
270
|
+
}
|
|
271
|
+
closeSource();
|
|
272
|
+
return { done: true, value: value };
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
},
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* The chunks of a fetch body, read under `signal` — the raw-`fetch` adapters'
|
|
280
|
+
* one reader. Each read is raced against the signal, and the body is
|
|
281
|
+
* CANCELLED on every way out (the end, a consumer that stops early, an error,
|
|
282
|
+
* an abort): an open body is a socket held and, on a local model, a
|
|
283
|
+
* generation that keeps running for nobody.
|
|
284
|
+
*/
|
|
285
|
+
export async function* bodyChunks(body, signal) {
|
|
286
|
+
const reader = body.getReader();
|
|
287
|
+
try {
|
|
288
|
+
for (;;) {
|
|
289
|
+
const { value, done } = await untilAborted(reader.read(), signal);
|
|
290
|
+
if (done)
|
|
291
|
+
return;
|
|
292
|
+
if (value !== undefined)
|
|
293
|
+
yield value;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
finally {
|
|
297
|
+
// Not awaited when aborted: a reader whose transport ignores the abort may
|
|
298
|
+
// never settle its cancel, and the caller is owed the abort now.
|
|
299
|
+
const cancelled = reader.cancel().catch(() => undefined);
|
|
300
|
+
if (!signal?.aborted)
|
|
301
|
+
await cancelled;
|
|
302
|
+
try {
|
|
303
|
+
reader.releaseLock();
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
/* a lock the runtime already dropped, or a read still pending */
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
/** Run `fn`, swallowing a throw AND a rejected promise it returns. */
|
|
311
|
+
function settleQuietly(fn) {
|
|
312
|
+
try {
|
|
313
|
+
const out = fn();
|
|
314
|
+
if (out !== null && typeof out === 'object' && 'then' in out) {
|
|
315
|
+
Promise.resolve(out).catch(() => undefined);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch {
|
|
319
|
+
/* closing is best-effort: the abort is what the caller is owed */
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=abort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../src/lib/abort.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,21 @@
|
|
|
12
12
|
* as new provider failure modes surface — keep each message short and
|
|
13
13
|
* tell the user what to DO.
|
|
14
14
|
*/
|
|
15
|
+
/**
|
|
16
|
+
* The FIXED sentences {@link humanizeLLMError} answers with — every answer
|
|
17
|
+
* except the fallback, which quotes the raw message. A reader that sends a
|
|
18
|
+
* failure somewhere a person reads it (an AG-UI `RUN_ERROR`) passes on only
|
|
19
|
+
* these: the fallback's raw text may hold anything a provider put in it.
|
|
20
|
+
*/
|
|
21
|
+
export declare const LLM_ERROR_SENTENCES: Readonly<{
|
|
22
|
+
readonly unreachable: "Couldn't reach the AI model. Check your internet connection, and that the provider/API key is set up correctly.";
|
|
23
|
+
readonly auth: "The AI provider rejected the request — the API key looks missing or invalid. Add or fix it in Settings.";
|
|
24
|
+
readonly rateLimited: "The AI provider is busy (rate limit / quota). Wait a moment, then try again.";
|
|
25
|
+
readonly timeout: "The AI model took too long to respond. Try again — if it keeps happening, simplify the request.";
|
|
26
|
+
readonly providerDown: "The AI provider had a temporary problem on their end. Try again in a moment.";
|
|
27
|
+
readonly rejected: "The AI request was rejected — the model name or request may be wrong. Check the model in the code.";
|
|
28
|
+
readonly unknown: "The AI call failed for an unknown reason.";
|
|
29
|
+
}>;
|
|
15
30
|
/** Map a thrown provider/SDK error to a friendly, actionable sentence. */
|
|
16
31
|
export declare function humanizeLLMError(err: unknown): string;
|
|
17
32
|
/**
|
|
@@ -12,6 +12,21 @@
|
|
|
12
12
|
* as new provider failure modes surface — keep each message short and
|
|
13
13
|
* tell the user what to DO.
|
|
14
14
|
*/
|
|
15
|
+
/**
|
|
16
|
+
* The FIXED sentences {@link humanizeLLMError} answers with — every answer
|
|
17
|
+
* except the fallback, which quotes the raw message. A reader that sends a
|
|
18
|
+
* failure somewhere a person reads it (an AG-UI `RUN_ERROR`) passes on only
|
|
19
|
+
* these: the fallback's raw text may hold anything a provider put in it.
|
|
20
|
+
*/
|
|
21
|
+
export const LLM_ERROR_SENTENCES = Object.freeze({
|
|
22
|
+
unreachable: "Couldn't reach the AI model. Check your internet connection, and that the provider/API key is set up correctly.",
|
|
23
|
+
auth: 'The AI provider rejected the request — the API key looks missing or invalid. Add or fix it in Settings.',
|
|
24
|
+
rateLimited: 'The AI provider is busy (rate limit / quota). Wait a moment, then try again.',
|
|
25
|
+
timeout: 'The AI model took too long to respond. Try again — if it keeps happening, simplify the request.',
|
|
26
|
+
providerDown: 'The AI provider had a temporary problem on their end. Try again in a moment.',
|
|
27
|
+
rejected: 'The AI request was rejected — the model name or request may be wrong. Check the model in the code.',
|
|
28
|
+
unknown: 'The AI call failed for an unknown reason.',
|
|
29
|
+
});
|
|
15
30
|
/** Map a thrown provider/SDK error to a friendly, actionable sentence. */
|
|
16
31
|
export function humanizeLLMError(err) {
|
|
17
32
|
const e = (err ?? {});
|
|
@@ -22,7 +37,7 @@ export function humanizeLLMError(err) {
|
|
|
22
37
|
// "connection error" is the Stainless SDKs' APIConnectionError message
|
|
23
38
|
// (@anthropic-ai/sdk, openai v4/v5) — it carries NO status code.
|
|
24
39
|
if (/failed to fetch|fetch failed|network ?error|connection error|enotfound|eai_again|econnrefused|econnreset|socket hang up|load failed/i.test(raw)) {
|
|
25
|
-
return
|
|
40
|
+
return LLM_ERROR_SENTENCES.unreachable;
|
|
26
41
|
}
|
|
27
42
|
// Auth — missing/invalid API key (or, for Bedrock, IAM/model access:
|
|
28
43
|
// AccessDeniedException says "You don't have access to the model..."
|
|
@@ -30,26 +45,26 @@ export function humanizeLLMError(err) {
|
|
|
30
45
|
if (status === 401 ||
|
|
31
46
|
status === 403 ||
|
|
32
47
|
/unauthorized|forbidden|api[ _-]?key|authentication|invalid x-api-key|permission|access denied|don.?t have access/i.test(lc)) {
|
|
33
|
-
return
|
|
48
|
+
return LLM_ERROR_SENTENCES.auth;
|
|
34
49
|
}
|
|
35
50
|
// Rate limit.
|
|
36
51
|
if (status === 429 || /rate.?limit|too many requests|quota/i.test(lc)) {
|
|
37
|
-
return
|
|
52
|
+
return LLM_ERROR_SENTENCES.rateLimited;
|
|
38
53
|
}
|
|
39
54
|
// Timeout.
|
|
40
55
|
if (/timeout|timed out|etimedout|deadline/i.test(lc)) {
|
|
41
|
-
return
|
|
56
|
+
return LLM_ERROR_SENTENCES.timeout;
|
|
42
57
|
}
|
|
43
58
|
// Transient server-side (5xx).
|
|
44
59
|
if (typeof status === 'number' && status >= 500 && status < 600) {
|
|
45
|
-
return
|
|
60
|
+
return LLM_ERROR_SENTENCES.providerDown;
|
|
46
61
|
}
|
|
47
62
|
// Bad request — usually a model name or payload issue.
|
|
48
63
|
if (status === 400 || /not found|no such model|invalid model|model.*not/i.test(lc)) {
|
|
49
|
-
return
|
|
64
|
+
return LLM_ERROR_SENTENCES.rejected;
|
|
50
65
|
}
|
|
51
66
|
// Fallback: keep the raw text but frame it so it doesn't read as a crash.
|
|
52
|
-
return raw ? `The AI call failed: ${raw}` :
|
|
67
|
+
return raw ? `The AI call failed: ${raw}` : LLM_ERROR_SENTENCES.unknown;
|
|
53
68
|
}
|
|
54
69
|
/**
|
|
55
70
|
* Wrap a raw provider error in a fresh Error whose `.message` is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"humanizeLLMError.js","sourceRoot":"","sources":["../../../src/lib/humanizeLLMError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAc,CAAC;IACnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC;IACxC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAE7B,kEAAkE;IAClE,uEAAuE;IACvE,iEAAiE;IACjE,IACE,sIAAsI,CAAC,IAAI,CACzI,GAAG,CACJ,EACD,CAAC;QACD,OAAO,
|
|
1
|
+
{"version":3,"file":"humanizeLLMError.js","sourceRoot":"","sources":["../../../src/lib/humanizeLLMError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,WAAW,EACT,iHAAiH;IACnH,IAAI,EAAE,yGAAyG;IAC/G,WAAW,EAAE,8EAA8E;IAC3F,OAAO,EACL,iGAAiG;IACnG,YAAY,EAAE,8EAA8E;IAC5F,QAAQ,EACN,oGAAoG;IACtG,OAAO,EAAE,2CAA2C;CAC5C,CAAC,CAAC;AAEZ,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAc,CAAC;IACnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC;IACxC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAE7B,kEAAkE;IAClE,uEAAuE;IACvE,iEAAiE;IACjE,IACE,sIAAsI,CAAC,IAAI,CACzI,GAAG,CACJ,EACD,CAAC;QACD,OAAO,mBAAmB,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,6DAA6D;IAC7D,IACE,MAAM,KAAK,GAAG;QACd,MAAM,KAAK,GAAG;QACd,mHAAmH,CAAC,IAAI,CACtH,EAAE,CACH,EACD,CAAC;QACD,OAAO,mBAAmB,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,cAAc;IACd,IAAI,MAAM,KAAK,GAAG,IAAI,sCAAsC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,OAAO,mBAAmB,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,WAAW;IACX,IAAI,uCAAuC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrD,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACrC,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAChE,OAAO,mBAAmB,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,uDAAuD;IACvD,IAAI,MAAM,KAAK,GAAG,IAAI,mDAAmD,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACnF,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,0EAA0E;IAC1E,OAAO,GAAG,CAAC,CAAC,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,sEAAsE;IACtE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -36,8 +36,12 @@ import type { EngagementPlan, MapEngagement } from './types.js';
|
|
|
36
36
|
*
|
|
37
37
|
* Returns `undefined` when nothing is parked — the caller then adds nothing to
|
|
38
38
|
* the prompt at all, which keeps the unparked path byte-identical.
|
|
39
|
+
*
|
|
40
|
+
* `mayName` is the caller's role filter (`isHiddenSkill`, negated): a member
|
|
41
|
+
* skill the role may not read is never named, and a parked map with no member
|
|
42
|
+
* left to name gets no card line at all (may omit, never deny).
|
|
39
43
|
*/
|
|
40
|
-
export declare function parkCard(plan: EngagementPlan, engagement: MapEngagement | undefined): string | undefined;
|
|
44
|
+
export declare function parkCard(plan: EngagementPlan, engagement: MapEngagement | undefined, mayName?: (skillId: string) => boolean): string | undefined;
|
|
41
45
|
/**
|
|
42
46
|
* The injection id the card is served under.
|
|
43
47
|
*
|
|
@@ -54,8 +54,12 @@ function reasonOf(record) {
|
|
|
54
54
|
*
|
|
55
55
|
* Returns `undefined` when nothing is parked — the caller then adds nothing to
|
|
56
56
|
* the prompt at all, which keeps the unparked path byte-identical.
|
|
57
|
+
*
|
|
58
|
+
* `mayName` is the caller's role filter (`isHiddenSkill`, negated): a member
|
|
59
|
+
* skill the role may not read is never named, and a parked map with no member
|
|
60
|
+
* left to name gets no card line at all (may omit, never deny).
|
|
57
61
|
*/
|
|
58
|
-
export function parkCard(plan, engagement) {
|
|
62
|
+
export function parkCard(plan, engagement, mayName = () => true) {
|
|
59
63
|
if (engagement === undefined || engagement.length === 0)
|
|
60
64
|
return undefined;
|
|
61
65
|
const byId = new Map(plan.maps.map((m) => [m.id, m]));
|
|
@@ -70,8 +74,11 @@ export function parkCard(plan, engagement) {
|
|
|
70
74
|
// "engagement: parked" beside a skill id needs to be told in the same
|
|
71
75
|
// breath that its position did not move, or the obvious inference is that
|
|
72
76
|
// it was thrown out of the skill.
|
|
73
|
-
const
|
|
74
|
-
|
|
77
|
+
const visible = map.memberIds.filter(mayName);
|
|
78
|
+
if (visible.length === 0)
|
|
79
|
+
continue;
|
|
80
|
+
const cursor = record.at !== undefined && mayName(record.at) ? record.at : '(unknown)';
|
|
81
|
+
const members = visible.join(', ');
|
|
75
82
|
lines.push(` - ${map.id} — cursor: ${cursor} (unchanged) · engagement: PARKED · ` +
|
|
76
83
|
`reason: ${reasonOf(record)} · re-engage: available`);
|
|
77
84
|
// SAYS WHAT PARKING DOES, NOT WHAT THIS WIRE HOLDS. "…are not being sent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parkCard.js","sourceRoot":"","sources":["../../../../src/maps/engagement/parkCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,gFAAgF;AAChF,MAAM,MAAM,GAAG,6EAA6E,CAAC;AAE7F;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,MAA2B;IAC3C,OAAO,MAAM,CAAC,EAAE,KAAK,SAAS;QAC5B,CAAC,CAAC,gDAAgD;QAClD,CAAC,CAAC,2DAA2D,CAAC;AAClE,CAAC;AAED,yCAAyC;AACzC,wGAAwG;AACxG,mGAAmG;AACnG,iFAAiF;AACjF,mFAAmF;AACnF
|
|
1
|
+
{"version":3,"file":"parkCard.js","sourceRoot":"","sources":["../../../../src/maps/engagement/parkCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,gFAAgF;AAChF,MAAM,MAAM,GAAG,6EAA6E,CAAC;AAE7F;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,MAA2B;IAC3C,OAAO,MAAM,CAAC,EAAE,KAAK,SAAS;QAC5B,CAAC,CAAC,gDAAgD;QAClD,CAAC,CAAC,2DAA2D,CAAC;AAClE,CAAC;AAED,yCAAyC;AACzC,wGAAwG;AACxG,mGAAmG;AACnG,iFAAiF;AACjF,mFAAmF;AACnF;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAoB,EACpB,UAAqC,EACrC,UAAwC,GAAG,EAAE,CAAC,IAAI;IAElD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAqB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAEhC,kEAAkE;QAClE,sEAAsE;QACtE,0EAA0E;QAC1E,kCAAkC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QACvF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CACR,OAAO,GAAG,CAAC,EAAE,cAAc,MAAM,sCAAsC;YACrE,WAAW,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CACvD,CAAC;QACF,yEAAyE;QACzE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,KAAK,CAAC,IAAI,CACR,kFAAkF;YAChF,qCAAqC,OAAO,iCAAiC;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAC"}
|
|
@@ -142,6 +142,8 @@ async function openConnection(opts) {
|
|
|
142
142
|
}
|
|
143
143
|
// ─── SDK construction (lazy require, unless the caller supplied it) ─
|
|
144
144
|
async function resolveClient(transport, clientInfo, signal, retryOnThrottle, sdk) {
|
|
145
|
+
if (sdk !== undefined)
|
|
146
|
+
assertSdk(sdk, transport.transport);
|
|
145
147
|
const mod = sdk ?? loadClientModule();
|
|
146
148
|
const client = new mod.Client(clientInfo ?? DEFAULT_CLIENT_INFO, {
|
|
147
149
|
capabilities: {},
|
|
@@ -154,6 +156,31 @@ async function resolveClient(transport, clientInfo, signal, retryOnThrottle, sdk
|
|
|
154
156
|
await client.connect(transportImpl);
|
|
155
157
|
return client;
|
|
156
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* An injected `sdk` is checked before anything is built, so a wrong import (a
|
|
161
|
+
* namespace object, one module of the two) is refused by name here rather
|
|
162
|
+
* than surfacing later as "x is not a constructor".
|
|
163
|
+
*/
|
|
164
|
+
function assertSdk(sdk, transport) {
|
|
165
|
+
const needed = transport === 'stdio' ? ['Client'] : ['Client', 'StreamableHTTPClientTransport'];
|
|
166
|
+
const given = sdk;
|
|
167
|
+
const missing = needed.filter((key) => typeof given !== 'object' || given === null || typeof given[key] !== 'function');
|
|
168
|
+
if (missing.length === 0)
|
|
169
|
+
return;
|
|
170
|
+
const sources = {
|
|
171
|
+
Client: "`import { Client } from '@modelcontextprotocol/sdk/client/index.js'`",
|
|
172
|
+
StreamableHTTPClientTransport: '`import { StreamableHTTPClientTransport } from ' +
|
|
173
|
+
"'@modelcontextprotocol/sdk/client/streamableHttp.js'`",
|
|
174
|
+
};
|
|
175
|
+
throw new TypeError(`mcpClient: \`sdk\` has no ${missing.map((key) => `\`${key}\``).join(' or ')} constructor. ` +
|
|
176
|
+
`Pass ${needed.length > 1 ? 'the classes themselves' : 'the class itself'}: ` +
|
|
177
|
+
`${needed.map((key) => sources[key]).join(', ')}, ` +
|
|
178
|
+
`then \`sdk: { ${needed.join(', ')} }\`.`);
|
|
179
|
+
}
|
|
180
|
+
/** What every not-installed message adds: the bundler case, and the hook past it. */
|
|
181
|
+
const BUNDLED_HINT = ' Installed, and your app is bundled (esbuild, webpack)? The bundler cannot follow\n' +
|
|
182
|
+
' this lazy load: import the SDK yourself and pass it as `sdk`\n' +
|
|
183
|
+
' (sdk: { Client, StreamableHTTPClientTransport }), or pass `connection`.';
|
|
157
184
|
/** The Node loader path, unchanged — reached only when no `sdk` was supplied. */
|
|
158
185
|
function loadClientModule() {
|
|
159
186
|
try {
|
|
@@ -163,7 +190,7 @@ function loadClientModule() {
|
|
|
163
190
|
throw new Error(sdkLoadFailure(err, {
|
|
164
191
|
notInstalled: 'mcpClient requires @modelcontextprotocol/sdk.\n' +
|
|
165
192
|
' Install: npm install @modelcontextprotocol/sdk\n' +
|
|
166
|
-
|
|
193
|
+
BUNDLED_HINT,
|
|
167
194
|
caller: 'mcpClient',
|
|
168
195
|
specifier: '@modelcontextprotocol/sdk/client/index.js',
|
|
169
196
|
instead: 'Pass `sdk` (the two SDK modules, imported statically) or `connection` ' +
|
|
@@ -238,7 +265,8 @@ function loadHttpModule(transport) {
|
|
|
238
265
|
catch (err) {
|
|
239
266
|
throw new Error(sdkLoadFailure(err, {
|
|
240
267
|
notInstalled: `mcpClient(${transport}) requires @modelcontextprotocol/sdk/client/streamableHttp.js — ` +
|
|
241
|
-
'check that @modelcontextprotocol/sdk is installed at the latest version
|
|
268
|
+
'check that @modelcontextprotocol/sdk is installed at the latest version.\n' +
|
|
269
|
+
BUNDLED_HINT,
|
|
242
270
|
caller: `mcpClient(${transport})`,
|
|
243
271
|
specifier: '@modelcontextprotocol/sdk/client/streamableHttp.js',
|
|
244
272
|
instead: 'Pass `sdk` (the two SDK modules, imported statically) or `connection` ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../../src/mcp/mcpClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../../src/mcp/mcpClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAaH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qEAAqE;AACrE,uEAAuE;AACvE,mEAAmE;AACnE,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAA6C;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAChC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,0EAA0E;IAC1E,0DAA0D;IAC1D,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAE9C,kEAAkE;IAClE,kDAAkD;IAClD,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,UAAU,GAAG,CAAC,EAAU,EAAQ,EAAE;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,KAAK,EAAE,+DAA+D,CACxF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAA8B,EAAE;QACtD,sEAAsE;QACtE,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;YACxB,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAChE,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,KAAK,CAAC,KAAK;YACT,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,OAAO;YACX,UAAU,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;YACb,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAC3B,IAA6C;IAE7C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACpD,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAyB,CAAC;IACjD,OAAO,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,aAAa,CAC1B,SAAuB,EACvB,UAA8C,EAC9C,MAAoB,EACpB,eAAiC,EACjC,GAAY;IAEZ,IAAI,GAAG,KAAK,SAAS;QAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAkB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAErD,MAAM,MAAM,GAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,mBAAmB,EAAE;QAC7E,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;IAC5E,6EAA6E;IAC7E,IAAI,MAAM;QAAE,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;;QACvD,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAW,EAAE,SAAoC;IAClE,MAAM,MAAM,GACV,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,GAA0D,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CACzF,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,OAAO,GAAiC;QAC5C,MAAM,EAAE,sEAAsE;QAC9E,6BAA6B,EAC3B,iDAAiD;YACjD,uDAAuD;KAC1D,CAAC;IACF,MAAM,IAAI,SAAS,CACjB,6BAA6B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAC1F,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,kBAAkB,IAAI;QAC7E,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACnD,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAC5C,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,YAAY,GAChB,sFAAsF;IACtF,kEAAkE;IAClE,2EAA2E,CAAC;AAE9E,iFAAiF;AACjF,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,OAAO,WAAW,CAAgB,2CAA2C,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,GAAG,EAAE;YAClB,YAAY,EACV,iDAAiD;gBACjD,qDAAqD;gBACrD,YAAY;YACd,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,2CAA2C;YACtD,OAAO,EACL,wEAAwE;gBACxE,oCAAoC;SACvC,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,CAAe,EACf,eAAiC,EACjC,GAAY;IAEZ,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC5B,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,QAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,WAAW,CAAkB,2CAA2C,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,GAAG,EAAE;gBAClB,YAAY,EACV,wEAAwE;oBACxE,0EAA0E;gBAC5E,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,2CAA2C;gBACtD,OAAO,EACL,oEAAoE;oBACpE,wEAAwE;aAC3E,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,oBAAoB,CAAC;YACvC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,OAAO,GAAmB,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,qBAAqB;IACrB,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,qEAAqE;QACrE,0EAA0E;QAC1E,oBAAoB;QACpB,OAAO,IAAI,OAAO,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;YACjF,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC1D,OAAO,IAAI,OAAO,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;QACjF,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QAChE,GAAG,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,cAAc,CAAC,SAA6B;IACnD,IAAI,CAAC;QACH,OAAO,WAAW,CAAiB,oDAAoD,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,GAAG,EAAE;YAClB,YAAY,EACV,aAAa,SAAS,kEAAkE;gBACxF,4EAA4E;gBAC5E,YAAY;YACd,MAAM,EAAE,aAAa,SAAS,GAAG;YACjC,SAAS,EAAE,oDAAoD;YAC/D,OAAO,EACL,wEAAwE;gBACxE,oCAAoC;SACvC,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,WAAW,CAClB,UAAkB,EAClB,UAAyB,EACzB,GAAkB,EAClB,MAAoB,EACpB,UAA2C;IAE3C,MAAM,IAAI,GAAS;QACjB,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,aAAa,GAAG,CAAC,IAAI,EAAE;YACvD,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,oDAAoD;QACpD,MAAM,EAAE,UAAU;QAClB,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,kEAAkE;QAClE,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE;YAC3B,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,4DAA4D;YAC5D,+DAA+D;YAC/D,6BAA6B;YAC7B,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAE,IAAgC;gBACnC,CAAC,CAAC,EAAE,CAAC;YACT,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;YACpE,oEAAoE;YACpE,6DAA6D;YAC7D,4EAA4E;YAC5E,iFAAiF;YACjF,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,OAAO;gBAClB,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAChE,CAAC;YACF,MAAM,MAAM,GAAG,MAAM;gBACnB,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;gBAC1D,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/esm/mcp/mcpServe.js
CHANGED
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
*/
|
|
62
62
|
import { ToolSessionTier } from '../tools/toolSessions.js';
|
|
63
63
|
import { unconfiguredCredentialProvider } from '../identity/types.js';
|
|
64
|
+
import { bindRequest } from '../identity/requestContext.js';
|
|
64
65
|
import { unconfiguredArtifacts } from '../artifacts/capability.js';
|
|
65
66
|
import { wantsNeedsStoreRefusal } from '../artifacts/wants.js';
|
|
66
67
|
import { doorGuard, warnAllowedHostsUnset } from '../hosting/doorGuard.js';
|
|
@@ -86,7 +87,10 @@ export async function mcpServe(tools, opts = {}) {
|
|
|
86
87
|
const name = opts.name ?? DEFAULT_SERVER_NAME;
|
|
87
88
|
const version = opts.version ?? DEFAULT_SERVER_VERSION;
|
|
88
89
|
const byName = validateServableTools(tools, name, opts.credentials);
|
|
89
|
-
|
|
90
|
+
// A served call belongs to no agent run, so it carries no incoming request:
|
|
91
|
+
// whatever `request` a tool presents is removed (`bindRequest`), and a
|
|
92
|
+
// request-sourced credential fails closed here by name.
|
|
93
|
+
const credentials = bindRequest(opts.credentials ?? unconfiguredCredentialProvider(), undefined, undefined);
|
|
90
94
|
const listing = tools.map((t) => {
|
|
91
95
|
// The declaration half of the tool, in MCP's own extensibility bag
|
|
92
96
|
// (9.71.0). Absent fields stay absent and a tool that declares NOTHING
|