agentfootprint 10.4.0 → 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/CAPABILITIES.md +6 -1
- 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/invoke.js +15 -8
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
- package/dist/adapters/mcp/agentcoreRuntime/transport.js +21 -3
- package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
- package/dist/ag-ui/adapter.js +69 -14
- package/dist/ag-ui/adapter.js.map +1 -1
- package/dist/ag-ui/framing.js +3 -1
- package/dist/ag-ui/framing.js.map +1 -1
- package/dist/ag-ui/index.js +4 -2
- package/dist/ag-ui/index.js.map +1 -1
- package/dist/ag-ui/request.js +66 -6
- package/dist/ag-ui/request.js.map +1 -1
- 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 +69 -16
- 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 +83 -11
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +16 -8
- 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 +22 -7
- 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/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 +14 -1
- package/dist/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/core/agent/stages/seed.js +9 -0
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +59 -20
- 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 +58 -9
- package/dist/core/memberRun.js.map +1 -1
- 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 +17 -11
- package/dist/core-flow/Conditional.js.map +1 -1
- package/dist/core-flow/Graph.js +17 -11
- package/dist/core-flow/Graph.js.map +1 -1
- package/dist/core-flow/Loop.js +17 -11
- package/dist/core-flow/Loop.js.map +1 -1
- package/dist/core-flow/Parallel.js +25 -14
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/core-flow/Sequence.js +17 -11
- package/dist/core-flow/Sequence.js.map +1 -1
- package/dist/core-flow/Workflow.js +17 -11
- package/dist/core-flow/Workflow.js.map +1 -1
- 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/invoke.d.ts +1 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +15 -8
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +26 -3
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +21 -3
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
- package/dist/esm/ag-ui/adapter.d.ts +61 -11
- package/dist/esm/ag-ui/adapter.js +70 -15
- package/dist/esm/ag-ui/adapter.js.map +1 -1
- package/dist/esm/ag-ui/framing.d.ts +2 -1
- package/dist/esm/ag-ui/framing.js +3 -1
- package/dist/esm/ag-ui/framing.js.map +1 -1
- package/dist/esm/ag-ui/index.d.ts +6 -4
- package/dist/esm/ag-ui/index.js +6 -4
- package/dist/esm/ag-ui/index.js.map +1 -1
- package/dist/esm/ag-ui/request.d.ts +86 -7
- package/dist/esm/ag-ui/request.js +63 -5
- package/dist/esm/ag-ui/request.js.map +1 -1
- 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 +9 -1
- package/dist/esm/core/Agent.js +71 -18
- 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 +80 -9
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.js +16 -8
- 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 +22 -7
- 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/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.js +14 -1
- package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +7 -0
- package/dist/esm/core/agent/stages/seed.js +9 -0
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +21 -0
- package/dist/esm/core/agent/stages/toolCalls.js +59 -20
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +10 -0
- 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 +23 -2
- package/dist/esm/core/memberRun.js +54 -8
- package/dist/esm/core/memberRun.js.map +1 -1
- 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 +2 -1
- package/dist/esm/core-flow/Conditional.js +18 -12
- 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 +18 -12
- package/dist/esm/core-flow/Graph.js.map +1 -1
- package/dist/esm/core-flow/Loop.d.ts +2 -1
- package/dist/esm/core-flow/Loop.js +18 -12
- package/dist/esm/core-flow/Loop.js.map +1 -1
- package/dist/esm/core-flow/Parallel.d.ts +2 -1
- package/dist/esm/core-flow/Parallel.js +26 -15
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/core-flow/Sequence.d.ts +2 -1
- package/dist/esm/core-flow/Sequence.js +18 -12
- 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 +18 -12
- package/dist/esm/core-flow/Workflow.js.map +1 -1
- 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/index.d.ts +1 -0
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/protocolAdapter.d.ts +4 -1
- package/dist/esm/hosting/refusalStatus.js +4 -0
- package/dist/esm/hosting/refusalStatus.js.map +1 -1
- 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 +23 -3
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/stream.d.ts +23 -2
- package/dist/esm/hosting/stream.js +5 -1
- package/dist/esm/hosting/stream.js.map +1 -1
- package/dist/esm/hosting/streamHandler.d.ts +26 -7
- package/dist/esm/hosting/streamHandler.js +36 -12
- package/dist/esm/hosting/streamHandler.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +29 -0
- package/dist/esm/hosting/types.js.map +1 -1
- 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 -2
- package/dist/esm/index.js +5 -1
- 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/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/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/facts/llmFactExtractor.js +6 -3
- package/dist/esm/memory/facts/llmFactExtractor.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/patterns/LlmRouter.js +10 -5
- package/dist/esm/patterns/LlmRouter.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/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/hosting/index.js.map +1 -1
- package/dist/hosting/refusalStatus.js +4 -0
- package/dist/hosting/refusalStatus.js.map +1 -1
- package/dist/hosting/requestSealing.js +83 -0
- package/dist/hosting/requestSealing.js.map +1 -0
- package/dist/hosting/standingAgent.js +23 -3
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/hosting/stream.js +5 -1
- package/dist/hosting/stream.js.map +1 -1
- package/dist/hosting/streamHandler.js +36 -12
- package/dist/hosting/streamHandler.js.map +1 -1
- package/dist/hosting/types.js.map +1 -1
- 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 +15 -4
- 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/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/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/facts/llmFactExtractor.js +6 -3
- package/dist/memory/facts/llmFactExtractor.js.map +1 -1
- package/dist/memory/stages/summarize.js +16 -5
- package/dist/memory/stages/summarize.js.map +1 -1
- package/dist/patterns/LlmRouter.js +9 -4
- package/dist/patterns/LlmRouter.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/tools/hostFilled.js +517 -0
- package/dist/tools/hostFilled.js.map +1 -0
- 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/invoke.d.ts +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +26 -3
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
- package/dist/types/ag-ui/adapter.d.ts +61 -11
- package/dist/types/ag-ui/adapter.d.ts.map +1 -1
- package/dist/types/ag-ui/framing.d.ts +2 -1
- package/dist/types/ag-ui/framing.d.ts.map +1 -1
- package/dist/types/ag-ui/index.d.ts +6 -4
- package/dist/types/ag-ui/index.d.ts.map +1 -1
- package/dist/types/ag-ui/request.d.ts +86 -7
- package/dist/types/ag-ui/request.d.ts.map +1 -1
- 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 +9 -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/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.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +7 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +21 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +10 -0
- 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 +23 -2
- package/dist/types/core/memberRun.d.ts.map +1 -1
- 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 +2 -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 +2 -1
- package/dist/types/core-flow/Loop.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts +2 -1
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/core-flow/Sequence.d.ts +2 -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/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/index.d.ts +1 -0
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/protocolAdapter.d.ts +4 -1
- package/dist/types/hosting/protocolAdapter.d.ts.map +1 -1
- package/dist/types/hosting/refusalStatus.d.ts.map +1 -1
- 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 +23 -2
- package/dist/types/hosting/stream.d.ts.map +1 -1
- package/dist/types/hosting/streamHandler.d.ts +26 -7
- package/dist/types/hosting/streamHandler.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +29 -0
- package/dist/types/hosting/types.d.ts.map +1 -1
- 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 -2
- 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/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/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/facts/llmFactExtractor.d.ts.map +1 -1
- package/dist/types/memory/stages/summarize.d.ts.map +1 -1
- package/dist/types/patterns/LlmRouter.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/tools/hostFilled.d.ts +111 -0
- package/dist/types/tools/hostFilled.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/esm/ag-ui/index.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* ag-ui — the AG-UI protocol adapter over agentfootprint's event stream.
|
|
3
3
|
*
|
|
4
4
|
* `agUi()` is the adapter a host takes (`streamHandler` on
|
|
5
|
-
* `agentfootprint/hosting`): it reads an untrusted `RunAgentInput`,
|
|
6
|
-
*
|
|
5
|
+
* `agentfootprint/hosting`): it reads an untrusted request (a `RunAgentInput`,
|
|
6
|
+
* or a gateway's own body through a `reader`), plans the turn against what the
|
|
7
|
+
* server holds, translates the run and frames it (`agUiSse`, or a gateway's
|
|
8
|
+
* own envelope through `framing`).
|
|
7
9
|
* `agUiSerializer` turns one run's served events into AG-UI events; `agUiSse`
|
|
8
10
|
* frames them for the wire with the official `@ag-ui/encoder`. Published
|
|
9
11
|
* through the `agentfootprint/ag-ui` door. The fixed sentences and the id
|
|
@@ -11,7 +13,7 @@
|
|
|
11
13
|
*/
|
|
12
14
|
export { agUiSerializer, AG_UI_CUSTOM_EVENTS, } from './serializer.js';
|
|
13
15
|
export { agUiSse } from './framing.js';
|
|
14
|
-
export { agUi } from './adapter.js';
|
|
15
|
-
export { AG_UI_MAX_ID_LENGTH, readAgUiRunInput } from './request.js';
|
|
16
|
+
export { agUi, } from './adapter.js';
|
|
17
|
+
export { AG_UI_MAX_ID_LENGTH, readAgUiRunInput, } from './request.js';
|
|
16
18
|
export { AG_UI_PROTOCOL_VERSION, } from './types.js';
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,cAAc,EACd,mBAAmB,GAKpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAA+C,MAAM,cAAc,CAAC;AACpF,OAAO,EACL,IAAI,GAIL,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAKjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,GAavB,MAAM,YAAY,CAAC"}
|
|
@@ -2,15 +2,28 @@
|
|
|
2
2
|
* request — an AG-UI request (`RunAgentInput`) read as UNTRUSTED browser input,
|
|
3
3
|
* and the one turn it may ask for.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Three steps. The first is the app's to replace; the other two are the CORE,
|
|
6
|
+
* and run whichever reader produced the request — so a reader can map another
|
|
7
|
+
* body onto a turn, and never weaken a rule:
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* the READER a body → an {@link AgUiTurnRequest}. The default takes
|
|
10
|
+
* the body as an AG-UI `RunAgentInput`; a gateway that
|
|
11
|
+
* sends its own body shape passes its own
|
|
12
|
+
* ({@link AgUiRequestReader}). Mapping only — it decides
|
|
13
|
+
* nothing below;
|
|
14
|
+
* readAgUiRequest what a custom reader produced, copied as plain JSON (so
|
|
15
|
+
* a getter or a proxy cannot answer the check one way and
|
|
16
|
+
* the plan another; the default reader's body is parsed
|
|
17
|
+
* JSON already and is read as it is), then
|
|
18
|
+
* readAgUiRunInput its SHAPE, field by field, and
|
|
19
|
+
* the ids' FORMAT and length — nothing here is trusted,
|
|
20
|
+
* nothing the server holds is read;
|
|
11
21
|
* planAgUiTurn the turn, from the request AND what the server holds
|
|
12
22
|
* for the bound conversation.
|
|
13
23
|
*
|
|
24
|
+
* The core's steps refuse by NAME (a `WireRequestRefusal`: its own status and
|
|
25
|
+
* code; the field named, the value never quoted back).
|
|
26
|
+
*
|
|
14
27
|
* WHAT A REQUEST MAY DECIDE, and what it may not:
|
|
15
28
|
* - the newest USER message is the run's message. Nothing else the browser
|
|
16
29
|
* sends is ever conversation: its assistant and tool messages are its own
|
|
@@ -31,9 +44,9 @@
|
|
|
31
44
|
* binds the thread to the caller the app authenticates (`ThreadBinder`).
|
|
32
45
|
* `forwardedProps` is never read.
|
|
33
46
|
*/
|
|
34
|
-
import type { HeldConversation, PlanFacts, ProtocolPlan, ThreadBinding } from '../hosting/protocolAdapter.js';
|
|
47
|
+
import type { HeldConversation, PlanFacts, ProtocolPlan, ProtocolRequestFacts, ThreadBinding } from '../hosting/protocolAdapter.js';
|
|
35
48
|
import type { Tool } from '../tools/tools.js';
|
|
36
|
-
import type { AgUiRunInput, AgUiSuspension } from './types.js';
|
|
49
|
+
import type { AgUiMessage, AgUiResumeEntry, AgUiRunInput, AgUiSuspension } from './types.js';
|
|
37
50
|
/** The longest thread or run id read — longer is refused, never truncated. */
|
|
38
51
|
export declare const AG_UI_MAX_ID_LENGTH = 128;
|
|
39
52
|
/**
|
|
@@ -43,6 +56,72 @@ export declare const AG_UI_MAX_ID_LENGTH = 128;
|
|
|
43
56
|
* @throws WireRequestRefusal (400, `ERR_INVALID_RUN_INPUT`)
|
|
44
57
|
*/
|
|
45
58
|
export declare function readAgUiRunInput(body: unknown): AgUiRunInput;
|
|
59
|
+
/**
|
|
60
|
+
* What a request reader hands the core: the one turn a request asks for, in
|
|
61
|
+
* AG-UI's terms. `AgUiRunInput` is one (a `RunAgentInput` as sent); a reader
|
|
62
|
+
* for another body builds one from it — `tools` and `context` may be left out.
|
|
63
|
+
*
|
|
64
|
+
* It carries no identity, credential or redaction setting, and the core reads
|
|
65
|
+
* nothing else a reader adds: the caller is bound by the host's `ThreadBinder`,
|
|
66
|
+
* a credential reaches a run only through the host's `sealRequest`.
|
|
67
|
+
*/
|
|
68
|
+
export interface AgUiTurnRequest {
|
|
69
|
+
/** The conversation the request NAMES — format-checked, never a key. */
|
|
70
|
+
readonly threadId: string;
|
|
71
|
+
/** The run id the stream names this run by — format-checked. */
|
|
72
|
+
readonly runId: string;
|
|
73
|
+
readonly parentRunId?: string;
|
|
74
|
+
/**
|
|
75
|
+
* The messages, newest last. Only the newest is read — a user message (the
|
|
76
|
+
* run's message), or the `tool` message answering the frontend tool call a
|
|
77
|
+
* paused run waits on. A system or developer message anywhere is refused.
|
|
78
|
+
*/
|
|
79
|
+
readonly messages: readonly AgUiMessage[];
|
|
80
|
+
/** The frontend tools the caller offers — run only when the app allow-listed the name. */
|
|
81
|
+
readonly tools?: AgUiRunInput['tools'];
|
|
82
|
+
/** Reaches the agent only through the app's `accept.context` validator. */
|
|
83
|
+
readonly context?: AgUiRunInput['context'];
|
|
84
|
+
/** Reaches the agent only through the app's `accept.state` validator. */
|
|
85
|
+
readonly state?: unknown;
|
|
86
|
+
/** Answers to the interrupt a paused run waits on — matched to the server's own record. */
|
|
87
|
+
readonly resume?: readonly AgUiResumeEntry[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* What a request reader is given: the request as the host read it — UNTRUSTED.
|
|
91
|
+
* The host port's own `ProtocolRequestFacts` (the parsed body, the headers).
|
|
92
|
+
*/
|
|
93
|
+
export type AgUiRequestFacts = ProtocolRequestFacts;
|
|
94
|
+
/**
|
|
95
|
+
* The request-reading strategy: a body → the turn it asks for. Mapping only;
|
|
96
|
+
* every rule runs after it, in the core. Refuse a body it cannot read by
|
|
97
|
+
* throwing a `WireRequestRefusal` (its status and code reach the caller);
|
|
98
|
+
* anything else it throws is refused as a malformed request, in fixed words.
|
|
99
|
+
*
|
|
100
|
+
* @example A gateway that sends `{ conversationId, requestId, text }`
|
|
101
|
+
* ```ts
|
|
102
|
+
* const reader: AgUiRequestReader = ({ body }) => {
|
|
103
|
+
* const b = body as { conversationId?: unknown; requestId?: unknown; text?: unknown };
|
|
104
|
+
* return {
|
|
105
|
+
* threadId: String(b.conversationId),
|
|
106
|
+
* runId: String(b.requestId),
|
|
107
|
+
* messages: [{ id: 'gateway-turn', role: 'user', content: String(b.text) }],
|
|
108
|
+
* };
|
|
109
|
+
* };
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export type AgUiRequestReader = (request: AgUiRequestFacts) => AgUiTurnRequest;
|
|
113
|
+
/** The default reader: the body IS an AG-UI `RunAgentInput`. */
|
|
114
|
+
export declare const runAgentInputReader: AgUiRequestReader;
|
|
115
|
+
/**
|
|
116
|
+
* The core's read of one request: `reader` maps the body, and what it produced
|
|
117
|
+
* is checked by {@link readAgUiRunInput} — whichever reader it was. A custom
|
|
118
|
+
* reader's answer is copied as plain JSON first; the default reader's is the
|
|
119
|
+
* parsed body itself, read exactly as before readers were replaceable.
|
|
120
|
+
*
|
|
121
|
+
* @throws WireRequestRefusal — the reader's own refusal, or the core's by name
|
|
122
|
+
* (400, `ERR_INVALID_RUN_INPUT`).
|
|
123
|
+
*/
|
|
124
|
+
export declare function readAgUiRequest(reader: AgUiRequestReader, request: AgUiRequestFacts): AgUiRunInput;
|
|
46
125
|
/** What a page's `state` or `context` is checked by before the agent may see it. */
|
|
47
126
|
export type AgUiValidator = (value: unknown, at: {
|
|
48
127
|
/** The conversation the request was bound to — whose state this claims to be. */
|
|
@@ -2,15 +2,28 @@
|
|
|
2
2
|
* request — an AG-UI request (`RunAgentInput`) read as UNTRUSTED browser input,
|
|
3
3
|
* and the one turn it may ask for.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Three steps. The first is the app's to replace; the other two are the CORE,
|
|
6
|
+
* and run whichever reader produced the request — so a reader can map another
|
|
7
|
+
* body onto a turn, and never weaken a rule:
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* the READER a body → an {@link AgUiTurnRequest}. The default takes
|
|
10
|
+
* the body as an AG-UI `RunAgentInput`; a gateway that
|
|
11
|
+
* sends its own body shape passes its own
|
|
12
|
+
* ({@link AgUiRequestReader}). Mapping only — it decides
|
|
13
|
+
* nothing below;
|
|
14
|
+
* readAgUiRequest what a custom reader produced, copied as plain JSON (so
|
|
15
|
+
* a getter or a proxy cannot answer the check one way and
|
|
16
|
+
* the plan another; the default reader's body is parsed
|
|
17
|
+
* JSON already and is read as it is), then
|
|
18
|
+
* readAgUiRunInput its SHAPE, field by field, and
|
|
19
|
+
* the ids' FORMAT and length — nothing here is trusted,
|
|
20
|
+
* nothing the server holds is read;
|
|
11
21
|
* planAgUiTurn the turn, from the request AND what the server holds
|
|
12
22
|
* for the bound conversation.
|
|
13
23
|
*
|
|
24
|
+
* The core's steps refuse by NAME (a `WireRequestRefusal`: its own status and
|
|
25
|
+
* code; the field named, the value never quoted back).
|
|
26
|
+
*
|
|
14
27
|
* WHAT A REQUEST MAY DECIDE, and what it may not:
|
|
15
28
|
* - the newest USER message is the run's message. Nothing else the browser
|
|
16
29
|
* sends is ever conversation: its assistant and tool messages are its own
|
|
@@ -175,6 +188,51 @@ export function readAgUiRunInput(body) {
|
|
|
175
188
|
...(resume.length > 0 && { resume: resume }),
|
|
176
189
|
};
|
|
177
190
|
}
|
|
191
|
+
/** The default reader: the body IS an AG-UI `RunAgentInput`. */
|
|
192
|
+
export const runAgentInputReader = ({ body }) => body;
|
|
193
|
+
/**
|
|
194
|
+
* The core's read of one request: `reader` maps the body, and what it produced
|
|
195
|
+
* is checked by {@link readAgUiRunInput} — whichever reader it was. A custom
|
|
196
|
+
* reader's answer is copied as plain JSON first; the default reader's is the
|
|
197
|
+
* parsed body itself, read exactly as before readers were replaceable.
|
|
198
|
+
*
|
|
199
|
+
* @throws WireRequestRefusal — the reader's own refusal, or the core's by name
|
|
200
|
+
* (400, `ERR_INVALID_RUN_INPUT`).
|
|
201
|
+
*/
|
|
202
|
+
export function readAgUiRequest(reader, request) {
|
|
203
|
+
if (reader === runAgentInputReader)
|
|
204
|
+
return readAgUiRunInput(request.body);
|
|
205
|
+
let answer;
|
|
206
|
+
let produced;
|
|
207
|
+
try {
|
|
208
|
+
answer = reader(request);
|
|
209
|
+
if (!isThenable(answer))
|
|
210
|
+
produced = plainJson(answer);
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
if (err instanceof WireRequestRefusal)
|
|
214
|
+
throw err;
|
|
215
|
+
// Never the reader's message: it may quote the body it could not read.
|
|
216
|
+
throw malformed('the request reader could not read the body.');
|
|
217
|
+
}
|
|
218
|
+
// An app's mistake, never the caller's: a reader answers at once. (A
|
|
219
|
+
// Promise copied as JSON would be `{}`, refused as the CALLER's fault.)
|
|
220
|
+
if (isThenable(answer))
|
|
221
|
+
throw new TypeError('agUi(): reader must return the turn itself, not a Promise.');
|
|
222
|
+
return readAgUiRunInput(produced);
|
|
223
|
+
}
|
|
224
|
+
const isThenable = (value) => typeof value?.then === 'function';
|
|
225
|
+
/**
|
|
226
|
+
* A custom reader's answer as plain JSON — every value read ONCE, here: a
|
|
227
|
+
* getter, a proxy or a `toJSON` cannot answer the core's check one way and its
|
|
228
|
+
* plan another. JSON's own rules apply (a non-finite number becomes `null`); a
|
|
229
|
+
* value JSON cannot hold (a cycle, a BigInt, nesting too deep to write) is
|
|
230
|
+
* refused as a malformed request.
|
|
231
|
+
*/
|
|
232
|
+
function plainJson(value) {
|
|
233
|
+
const text = JSON.stringify(value);
|
|
234
|
+
return text === undefined ? undefined : JSON.parse(text);
|
|
235
|
+
}
|
|
178
236
|
/**
|
|
179
237
|
* Plan one turn: the request (read by {@link readAgUiRunInput}) against what
|
|
180
238
|
* the server holds for its bound conversation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/ag-ui/request.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/ag-ui/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/** Explicit, bounded validation of schema-accepted JSON answers. */
|
|
2
|
-
export { AnswerValidationError, type AnswerCheck, type AnswerEvidenceRefusal, type AnswerEvidenceResolution, type AnswerEvidenceResolver, type AnswerValidationContext, type AnswerValidationLimits, type AnswerValidationOptions, type AnswerValidationReport, type AnswerValidationResult, type ResolvedAnswerValidation, } from './types.js';
|
|
2
|
+
export { AnswerValidationError, type AnswerCheck, type AnswerEvidenceRefusal, type AnswerEvidenceResolution, type AnswerEvidenceResolver, type AnswerToolCall, type AnswerToolCallsView, type AnswerValidationContext, type AnswerValidationLimits, type AnswerValidationOptions, type AnswerValidationReport, type AnswerValidationResult, type ResolvedAnswerValidation, } from './types.js';
|
|
3
3
|
export { resolveAnswerValidation, executeAnswerValidation } from './validate.js';
|
|
4
|
+
export { appendToolCall, incompleteToolCalls, ledgerAtCheck, startToolCall, toolCallsView, toolOutcomeOf, type ToolCallLedger, } from './toolLedger.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Explicit, bounded validation of schema-accepted JSON answers. */
|
|
2
2
|
export { AnswerValidationError, } from './types.js';
|
|
3
3
|
export { resolveAnswerValidation, executeAnswerValidation } from './validate.js';
|
|
4
|
+
export { appendToolCall, incompleteToolCalls, ledgerAtCheck, startToolCall, toolCallsView, toolOutcomeOf, } from './toolLedger.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/answer-validation/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/answer-validation/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EACL,qBAAqB,GAatB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GAEd,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The run's tool calls, as a bounded read-only parcel for an authored check.
|
|
3
|
+
*
|
|
4
|
+
* Names, call ids and outcomes only. Arguments and results never enter it:
|
|
5
|
+
* both are redaction-sensitive, and a rule about WHICH tools ran needs
|
|
6
|
+
* neither. The ledger is tracked state of the run that owns the check, so it
|
|
7
|
+
* cannot hold another run's calls; it is written only on an agent with
|
|
8
|
+
* `answerValidation`, so every other agent commits the keys it always did.
|
|
9
|
+
*/
|
|
10
|
+
import type { AnswerToolCall, AnswerToolCallsView } from './types.js';
|
|
11
|
+
/** Longest tool name or call id listed. A model can send any name and a
|
|
12
|
+
* provider any id; a longer one is left out and the view marked incomplete. */
|
|
13
|
+
export declare const MAX_TOOL_CALL_TEXT = 256;
|
|
14
|
+
/**
|
|
15
|
+
* The ledger as the run's state holds it: the view's fields plus the ids of
|
|
16
|
+
* calls whose `stream.tool_start` bracket opened and whose `tool_end` has not
|
|
17
|
+
* yet closed. A call still open at the check makes the view incomplete.
|
|
18
|
+
*/
|
|
19
|
+
export interface ToolCallLedger extends AnswerToolCallsView {
|
|
20
|
+
readonly inFlight?: readonly string[];
|
|
21
|
+
}
|
|
22
|
+
/** A ledger that may have missed calls: what ran before this run observed it. */
|
|
23
|
+
export declare function incompleteToolCalls(): ToolCallLedger;
|
|
24
|
+
/**
|
|
25
|
+
* The ledger after a call's `tool_start` bracket: the call is open until its
|
|
26
|
+
* `tool_end` lands. Past `max` open calls, or for an oversized id, the ledger
|
|
27
|
+
* cannot track it and says it is incomplete instead.
|
|
28
|
+
*/
|
|
29
|
+
export declare function startToolCall(prior: ToolCallLedger | undefined, callId: string, max: number): ToolCallLedger;
|
|
30
|
+
/**
|
|
31
|
+
* The ledger after one call's `tool_end` bracket: the call is closed and
|
|
32
|
+
* listed. Past `max` calls (or for an oversized name or id) nothing more is
|
|
33
|
+
* listed and the ledger says it is incomplete, so a rule that counts can tell
|
|
34
|
+
* "none ran" from "not listed". A call whose own work has not settled (a tool
|
|
35
|
+
* that declared `pending`) makes it incomplete too. Returns `prior` itself
|
|
36
|
+
* when nothing changes, so the caller can skip the write.
|
|
37
|
+
*/
|
|
38
|
+
export declare function appendToolCall(prior: ToolCallLedger | undefined, call: AnswerToolCall, max: number, settled?: boolean): ToolCallLedger;
|
|
39
|
+
/**
|
|
40
|
+
* The ledger as one check sees it, read at the moment of the check: incomplete
|
|
41
|
+
* when there is none, when a call is still open, or when the model's last
|
|
42
|
+
* reply asked for calls that never went out (`undispatched` — the check runs
|
|
43
|
+
* on the terminal branch, so a call on that reply was never dispatched: a run
|
|
44
|
+
* cut off by its iteration or cost budget with calls still pending).
|
|
45
|
+
*/
|
|
46
|
+
export declare function ledgerAtCheck(ledger: ToolCallLedger | undefined, undispatched: number): AnswerToolCallsView;
|
|
47
|
+
/**
|
|
48
|
+
* The parcel one validation receives: detached from the run's state and frozen
|
|
49
|
+
* at every level, so a check can neither edit the ledger nor reach live state
|
|
50
|
+
* through it. Anything that is not the declared shape is dropped, never passed on.
|
|
51
|
+
*/
|
|
52
|
+
export declare function toolCallsView(ledger: AnswerToolCallsView | undefined, max: number): AnswerToolCallsView;
|
|
53
|
+
/**
|
|
54
|
+
* The outcome of one `stream.tool_end` bracket, in the view's words. `ran` is
|
|
55
|
+
* whether the tool's own code ran: a call that did not run and carries no
|
|
56
|
+
* `error` (a person declined it, a rule refused it, a paused batch settled it)
|
|
57
|
+
* is `not-run`, never `ok`. A tool that ran but declared `failure`, `denied` or
|
|
58
|
+
* `invalid` (a refused oversize result among them) is `error`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function toolOutcomeOf(bracket: {
|
|
61
|
+
readonly error?: boolean;
|
|
62
|
+
readonly notExecuted?: boolean;
|
|
63
|
+
readonly notDispatched?: unknown;
|
|
64
|
+
readonly status?: string;
|
|
65
|
+
}, ran: boolean): AnswerToolCall['outcome'];
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/** Longest tool name or call id listed. A model can send any name and a
|
|
2
|
+
* provider any id; a longer one is left out and the view marked incomplete. */
|
|
3
|
+
export const MAX_TOOL_CALL_TEXT = 256;
|
|
4
|
+
const fits = (text) => typeof text === 'string' && text.length > 0 && text.length <= MAX_TOOL_CALL_TEXT;
|
|
5
|
+
/** A ledger that may have missed calls: what ran before this run observed it. */
|
|
6
|
+
export function incompleteToolCalls() {
|
|
7
|
+
return { calls: [], complete: false };
|
|
8
|
+
}
|
|
9
|
+
// Seed starts a ledger on every run that keeps one, so a missing one at a
|
|
10
|
+
// landing means a run resumed from a checkpoint written before ledgers
|
|
11
|
+
// existed: what it did before the pause was not observed.
|
|
12
|
+
const orIncomplete = (prior) => prior ?? incompleteToolCalls();
|
|
13
|
+
const withInFlight = (ledger, inFlight, complete) => ({
|
|
14
|
+
calls: [...ledger.calls],
|
|
15
|
+
complete,
|
|
16
|
+
...(inFlight.length > 0 && { inFlight: [...inFlight] }),
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* The ledger after a call's `tool_start` bracket: the call is open until its
|
|
20
|
+
* `tool_end` lands. Past `max` open calls, or for an oversized id, the ledger
|
|
21
|
+
* cannot track it and says it is incomplete instead.
|
|
22
|
+
*/
|
|
23
|
+
export function startToolCall(prior, callId, max) {
|
|
24
|
+
const ledger = orIncomplete(prior);
|
|
25
|
+
const inFlight = ledger.inFlight ?? [];
|
|
26
|
+
if (inFlight.length >= max || !fits(callId)) {
|
|
27
|
+
return ledger.complete ? withInFlight(ledger, inFlight, false) : ledger;
|
|
28
|
+
}
|
|
29
|
+
return withInFlight(ledger, [...inFlight, callId], ledger.complete);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The ledger after one call's `tool_end` bracket: the call is closed and
|
|
33
|
+
* listed. Past `max` calls (or for an oversized name or id) nothing more is
|
|
34
|
+
* listed and the ledger says it is incomplete, so a rule that counts can tell
|
|
35
|
+
* "none ran" from "not listed". A call whose own work has not settled (a tool
|
|
36
|
+
* that declared `pending`) makes it incomplete too. Returns `prior` itself
|
|
37
|
+
* when nothing changes, so the caller can skip the write.
|
|
38
|
+
*/
|
|
39
|
+
export function appendToolCall(prior, call, max, settled = true) {
|
|
40
|
+
const ledger = orIncomplete(prior);
|
|
41
|
+
const open = ledger.inFlight ?? [];
|
|
42
|
+
const at = open.indexOf(call.callId);
|
|
43
|
+
const inFlight = at === -1 ? open : [...open.slice(0, at), ...open.slice(at + 1)];
|
|
44
|
+
const complete = ledger.complete && settled;
|
|
45
|
+
if (ledger.calls.length >= max || !fits(call.name) || !fits(call.callId)) {
|
|
46
|
+
if (at === -1 && !ledger.complete)
|
|
47
|
+
return ledger;
|
|
48
|
+
return withInFlight(ledger, inFlight, false);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
...withInFlight(ledger, inFlight, complete),
|
|
52
|
+
calls: [...ledger.calls, { name: call.name, callId: call.callId, outcome: call.outcome }],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The ledger as one check sees it, read at the moment of the check: incomplete
|
|
57
|
+
* when there is none, when a call is still open, or when the model's last
|
|
58
|
+
* reply asked for calls that never went out (`undispatched` — the check runs
|
|
59
|
+
* on the terminal branch, so a call on that reply was never dispatched: a run
|
|
60
|
+
* cut off by its iteration or cost budget with calls still pending).
|
|
61
|
+
*/
|
|
62
|
+
export function ledgerAtCheck(ledger, undispatched) {
|
|
63
|
+
if (ledger === undefined)
|
|
64
|
+
return incompleteToolCalls();
|
|
65
|
+
// Anything off the declared shape (a placeholder where a list belongs) is
|
|
66
|
+
// unknown, never "empty": fail closed.
|
|
67
|
+
const wellFormed = Array.isArray(ledger.calls) &&
|
|
68
|
+
(ledger.inFlight === undefined || Array.isArray(ledger.inFlight));
|
|
69
|
+
if (!wellFormed)
|
|
70
|
+
return incompleteToolCalls();
|
|
71
|
+
const open = ledger.inFlight?.length ?? 0;
|
|
72
|
+
return {
|
|
73
|
+
calls: ledger.calls,
|
|
74
|
+
complete: ledger.complete === true && open === 0 && undispatched === 0,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The parcel one validation receives: detached from the run's state and frozen
|
|
79
|
+
* at every level, so a check can neither edit the ledger nor reach live state
|
|
80
|
+
* through it. Anything that is not the declared shape is dropped, never passed on.
|
|
81
|
+
*/
|
|
82
|
+
export function toolCallsView(ledger, max) {
|
|
83
|
+
// No ledger is not "nothing ran": a checkpoint written before the run kept
|
|
84
|
+
// one, or a caller that passed none. Fail closed — say the list is partial.
|
|
85
|
+
if (ledger === undefined)
|
|
86
|
+
return Object.freeze({ calls: Object.freeze([]), complete: false });
|
|
87
|
+
const listed = Array.isArray(ledger.calls);
|
|
88
|
+
const source = listed ? ledger.calls : [];
|
|
89
|
+
const calls = [];
|
|
90
|
+
let complete = listed && ledger.complete === true && source.length <= max;
|
|
91
|
+
for (const raw of source.slice(0, max)) {
|
|
92
|
+
const name = raw?.name;
|
|
93
|
+
const callId = raw?.callId;
|
|
94
|
+
const outcome = raw?.outcome;
|
|
95
|
+
if (!fits(name) ||
|
|
96
|
+
!fits(callId) ||
|
|
97
|
+
(outcome !== 'ok' && outcome !== 'error' && outcome !== 'not-run')) {
|
|
98
|
+
complete = false;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
calls.push(Object.freeze({ name, callId, outcome }));
|
|
102
|
+
}
|
|
103
|
+
return Object.freeze({ calls: Object.freeze(calls), complete });
|
|
104
|
+
}
|
|
105
|
+
/** A tool's own declared status that says it did not succeed. */
|
|
106
|
+
const FAILED_STATUS = new Set(['failure', 'denied', 'invalid']);
|
|
107
|
+
/**
|
|
108
|
+
* The outcome of one `stream.tool_end` bracket, in the view's words. `ran` is
|
|
109
|
+
* whether the tool's own code ran: a call that did not run and carries no
|
|
110
|
+
* `error` (a person declined it, a rule refused it, a paused batch settled it)
|
|
111
|
+
* is `not-run`, never `ok`. A tool that ran but declared `failure`, `denied` or
|
|
112
|
+
* `invalid` (a refused oversize result among them) is `error`.
|
|
113
|
+
*/
|
|
114
|
+
export function toolOutcomeOf(bracket, ran) {
|
|
115
|
+
if (bracket.error === true)
|
|
116
|
+
return 'error';
|
|
117
|
+
if (bracket.notDispatched !== undefined || bracket.notExecuted === true || !ran)
|
|
118
|
+
return 'not-run';
|
|
119
|
+
return bracket.status !== undefined && FAILED_STATUS.has(bracket.status) ? 'error' : 'ok';
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=toolLedger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolLedger.js","sourceRoot":"","sources":["../../../src/answer-validation/toolLedger.ts"],"names":[],"mappings":"AAWA;gFACgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,MAAM,IAAI,GAAG,CAAC,IAAa,EAAkB,EAAE,CAC7C,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC;AAWnF,iFAAiF;AACjF,MAAM,UAAU,mBAAmB;IACjC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,0EAA0E;AAC1E,uEAAuE;AACvE,0DAA0D;AAC1D,MAAM,YAAY,GAAG,CAAC,KAAiC,EAAkB,EAAE,CACzE,KAAK,IAAI,mBAAmB,EAAE,CAAC;AAEjC,MAAM,YAAY,GAAG,CACnB,MAAsB,EACtB,QAA2B,EAC3B,QAAiB,EACD,EAAE,CAAC,CAAC;IACpB,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IACxB,QAAQ;IACR,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAiC,EACjC,MAAc,EACd,GAAW;IAEX,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1E,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAiC,EACjC,IAAoB,EACpB,GAAW,EACX,OAAO,GAAG,IAAI;IAEd,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACjD,OAAO,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC3C,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAkC,EAClC,YAAoB;IAEpB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,mBAAmB,EAAE,CAAC;IACvD,0EAA0E;IAC1E,uCAAuC;IACvC,MAAM,UAAU,GACd,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU;QAAE,OAAO,mBAAmB,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IAC1C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC;KACvE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAuC,EACvC,GAAW;IAEX,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,IACE,CAAC,IAAI,CAAC,IAAI,CAAC;YACX,CAAC,IAAI,CAAC,MAAM,CAAC;YACb,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,EAClE,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,iEAAiE;AACjE,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,OAKC,EACD,GAAY;IAEZ,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IAC3C,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAClG,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5F,CAAC"}
|
|
@@ -28,10 +28,56 @@ export interface AnswerEvidenceResolver {
|
|
|
28
28
|
readonly kind: string;
|
|
29
29
|
}): Promise<AnswerEvidenceResolution>;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* One tool call of THIS run, as the loop reported it on `stream.tool_end`.
|
|
33
|
+
* Names and ids only: arguments and results are never in it. The call's
|
|
34
|
+
* result message carries the same `callId` (`LLMMessage.toolCallId`).
|
|
35
|
+
*/
|
|
36
|
+
export interface AnswerToolCall {
|
|
37
|
+
/** The tool name the model called (a registered name, or an unknown one it made up). */
|
|
38
|
+
readonly name: string;
|
|
39
|
+
readonly callId: string;
|
|
40
|
+
/**
|
|
41
|
+
* `ok`: the tool ran and returned — including a call that paused for a
|
|
42
|
+
* person, whose answer on `resume()` is its result. `error`: it threw, declared `failure`,
|
|
43
|
+
* `denied` or `invalid`, or could not run as written (an unknown name,
|
|
44
|
+
* rejected arguments, a missing consent). `not-run`: it never ran (a
|
|
45
|
+
* permission policy, an `onToolCall` link or a person declined it, or a
|
|
46
|
+
* paused batch never dispatched it).
|
|
47
|
+
*/
|
|
48
|
+
readonly outcome: 'ok' | 'error' | 'not-run';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The run's tool calls in landing order, frozen and detached from state: the
|
|
52
|
+
* MODEL's own calls, each closed by a `stream.tool_end` bracket. Calls a tool
|
|
53
|
+
* makes from inside itself (`ctx.tools`, an agent used as a tool) are that
|
|
54
|
+
* tool's work and are not listed. A paused run's calls cross to the resumed
|
|
55
|
+
* leg inside its checkpoint, which the host must keep server-side (as
|
|
56
|
+
* `streamHandler` does): a forged checkpoint could list calls that never ran.
|
|
57
|
+
*/
|
|
58
|
+
export interface AnswerToolCallsView {
|
|
59
|
+
readonly calls: readonly AnswerToolCall[];
|
|
60
|
+
/**
|
|
61
|
+
* `false` when the list may disagree with what the run did: more than
|
|
62
|
+
* `limits.maxToolCalls`, an oversized name or id, a call still open (its
|
|
63
|
+
* `tool_start` with no `tool_end`), a tool that declared its work
|
|
64
|
+
* `pending`, a reply whose calls never went out (a cut-off or wrapped-up
|
|
65
|
+
* turn), a `resumeOnError` leg
|
|
66
|
+
* whose failed attempt's calls this run never observed, or a resumed
|
|
67
|
+
* checkpoint written before the run kept a ledger.
|
|
68
|
+
*
|
|
69
|
+
* Fail closed: a check that reads `toolCalls` while it is incomplete gets
|
|
70
|
+
* an `unverified` report (reason `tool-calls-incomplete`) whatever it
|
|
71
|
+
* returns, so enforce mode withholds the answer.
|
|
72
|
+
*/
|
|
73
|
+
readonly complete: boolean;
|
|
74
|
+
}
|
|
31
75
|
/** Capabilities for this invocation only; retained readers close on completion. */
|
|
32
76
|
export interface AnswerValidationContext {
|
|
33
77
|
readonly signal: AbortSignal;
|
|
34
78
|
readonly artifacts: AnswerEvidenceResolver;
|
|
79
|
+
/** This run's tool calls, never another run's. Empty when no tool ran. */
|
|
80
|
+
readonly toolCalls: AnswerToolCallsView;
|
|
35
81
|
}
|
|
36
82
|
/** Bounds are per validation, positive safe integers, with no unbounded mode. */
|
|
37
83
|
export interface AnswerValidationLimits {
|
|
@@ -45,6 +91,8 @@ export interface AnswerValidationLimits {
|
|
|
45
91
|
readonly maxCandidateBytes?: number;
|
|
46
92
|
/** Async deadline; cannot preempt synchronous author code. Default 5000 ms. */
|
|
47
93
|
readonly timeoutMs?: number;
|
|
94
|
+
/** Tool calls listed in `context.toolCalls`; past it the view is incomplete. Default 256, at most 10,000. */
|
|
95
|
+
readonly maxToolCalls?: number;
|
|
48
96
|
}
|
|
49
97
|
/** The validator reports comparisons; the framework derives their outcome. */
|
|
50
98
|
export interface AnswerValidationResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/answer-validation/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/answer-validation/types.ts"],"names":[],"mappings":"AA+JA,mFAAmF;AACnF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAgC,CAAC;IACxC,MAAM,CAAyB;IAExC,YAAY,MAA8B;QACxC,KAAK,CAAC,sBAAsB,MAAM,CAAC,WAAW,mBAAmB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;gBACZ,GAAG,KAAK;gBACR,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI;oBACtC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;iBACrD,CAAC;aACH,CAAC,CACH,CACF;YACD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** One explicit JSON-answer validation; the runner owns when to invoke it. */
|
|
2
2
|
import { type OutputSchemaParser } from './outputSchema.js';
|
|
3
3
|
import type { ArtifactScope, ArtifactStore } from '../artifacts/types.js';
|
|
4
|
-
import type { AnswerValidationOptions, AnswerValidationReport, ResolvedAnswerValidation } from './types.js';
|
|
4
|
+
import type { AnswerToolCallsView, AnswerValidationOptions, AnswerValidationReport, ResolvedAnswerValidation } from './types.js';
|
|
5
5
|
/** Validate and snapshot an authored contract once, before running an agent. */
|
|
6
6
|
export declare function resolveAnswerValidation<T = unknown>(options: AnswerValidationOptions<T>): ResolvedAnswerValidation;
|
|
7
7
|
/**
|
|
@@ -9,7 +9,7 @@ export declare function resolveAnswerValidation<T = unknown>(options: AnswerVali
|
|
|
9
9
|
* contract. It is the exact JSON string whose detached value was checked;
|
|
10
10
|
* callers must not reparse through a transforming schema or rewrite afterward.
|
|
11
11
|
*/
|
|
12
|
-
export declare function executeAnswerValidation(raw: string, parser: OutputSchemaParser<unknown>, config: ResolvedAnswerValidation, store: ArtifactStore | undefined, scope: ArtifactScope, signal?: AbortSignal): Promise<{
|
|
12
|
+
export declare function executeAnswerValidation(raw: string, parser: OutputSchemaParser<unknown>, config: ResolvedAnswerValidation, store: ArtifactStore | undefined, scope: ArtifactScope, signal?: AbortSignal, toolCalls?: AnswerToolCallsView): Promise<{
|
|
13
13
|
report: AnswerValidationReport;
|
|
14
14
|
content?: string;
|
|
15
15
|
}>;
|