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
|
@@ -64,6 +64,9 @@
|
|
|
64
64
|
// only notices the shape and labels it.
|
|
65
65
|
import { ollamaThinkingHandler, } from '../../thinking/OllamaThinkingHandler.js';
|
|
66
66
|
import { isSlash, trimTrailing } from '../../lib/linearText.js';
|
|
67
|
+
// The one owner of how a cancellation is honoured (lib/abort.ts) — this file
|
|
68
|
+
// kept private copies of the first three until the other adapters needed them.
|
|
69
|
+
import { abortErrorOf, bodyChunks, linkedController, throwIfAborted, untilAborted, } from '../../lib/abort.js';
|
|
67
70
|
/** Cap for any text the wire supplies before it becomes one of our messages. */
|
|
68
71
|
const ERROR_TEXT_CAP = 200;
|
|
69
72
|
// ─── Errors ─────────────────────────────────────────────────────────
|
|
@@ -143,14 +146,20 @@ export function ollama(modelOrOptions, maybeOptions) {
|
|
|
143
146
|
// for why this wire needs that at all.
|
|
144
147
|
let toolCallSeq = 0;
|
|
145
148
|
const nextToolCallId = () => `ollama-call-${++toolCallSeq}`;
|
|
146
|
-
|
|
149
|
+
/**
|
|
150
|
+
* POST under `call` — the call's own controller, linked to the caller's
|
|
151
|
+
* signal for the WHOLE call (body included) and aborted by the header
|
|
152
|
+
* deadline; `complete`/`stream` unlink it when the call ends, so no listener
|
|
153
|
+
* is left on the caller's signal (lib/abort.ts · linkedController).
|
|
154
|
+
*/
|
|
155
|
+
const post = async (body, req, call) => {
|
|
147
156
|
const response = await fetchUntilHeaders(fetchImpl, chatUrl, {
|
|
148
157
|
method: 'POST',
|
|
149
158
|
headers: { 'content-type': 'application/json' },
|
|
150
159
|
body: JSON.stringify(body),
|
|
151
|
-
}, { timeoutMs, baseUrl, ...(req.signal && { signal: req.signal }) });
|
|
160
|
+
}, { timeoutMs, baseUrl, call, ...(req.signal && { signal: req.signal }) });
|
|
152
161
|
if (!response.ok) {
|
|
153
|
-
throw await describeFailure(response, body.model, baseUrl, fetchImpl, timeoutMs);
|
|
162
|
+
throw await untilAborted(describeFailure(response, body.model, baseUrl, fetchImpl, timeoutMs), req.signal);
|
|
154
163
|
}
|
|
155
164
|
return response;
|
|
156
165
|
};
|
|
@@ -169,81 +178,96 @@ export function ollama(modelOrOptions, maybeOptions) {
|
|
|
169
178
|
// see it.
|
|
170
179
|
throwIfAborted(req.signal);
|
|
171
180
|
const body = buildBody(req, cfg, false);
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
181
|
+
const call = linkedController(req.signal);
|
|
182
|
+
try {
|
|
183
|
+
const response = await post(body, req, call.controller);
|
|
184
|
+
// `fetch` resolves on HEADERS, so reading the body is the stretch where
|
|
185
|
+
// a caller abort would otherwise be inert — honor it for that too.
|
|
186
|
+
const json = (await untilAborted(response.json(), req.signal));
|
|
187
|
+
return fromOllamaResponse(json, nextToolCallId);
|
|
188
|
+
}
|
|
189
|
+
finally {
|
|
190
|
+
call.unlink();
|
|
191
|
+
}
|
|
177
192
|
},
|
|
178
193
|
async *stream(req) {
|
|
179
194
|
throwIfAborted(req.signal);
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
const toolCalls = [];
|
|
187
|
-
let doneReason = 'stop';
|
|
188
|
-
let promptEvalCount = 0;
|
|
189
|
-
let evalCount = 0;
|
|
190
|
-
let tokenIndex = 0;
|
|
191
|
-
// The signal rides INTO the parser: it is what stops a generation the
|
|
192
|
-
// caller no longer wants, and what cancels the body when it does.
|
|
193
|
-
for await (const chunk of parseNdjson(response.body, req.signal)) {
|
|
194
|
-
const frame = chunk;
|
|
195
|
-
// An already-200 stream can still FAIL mid-generation, and this wire
|
|
196
|
-
// says so IN BAND with an `{"error": "..."}` frame. Such a frame
|
|
197
|
-
// carries no `message` and no `done`, so the guards below would skip
|
|
198
|
-
// it and the terminal chunk would report a truncated answer as
|
|
199
|
-
// `stopReason: 'stop'` with nobody told. Raise instead: a failed
|
|
200
|
-
// generation is a failure, never a shorter answer.
|
|
201
|
-
const failure = frameFailureText(frame);
|
|
202
|
-
if (failure) {
|
|
203
|
-
throw providerError(`[ollama] the stream failed mid-generation — ${failure}`);
|
|
204
|
-
}
|
|
205
|
-
// Counts ride the terminal frame, whose `message.content` is empty —
|
|
206
|
-
// read them before any content guard, or the only token counts the
|
|
207
|
-
// stream reports are thrown away (the failure that made streamed
|
|
208
|
-
// local calls report zero and disarmed `.compaction()`).
|
|
209
|
-
if (typeof frame.prompt_eval_count === 'number')
|
|
210
|
-
promptEvalCount = frame.prompt_eval_count;
|
|
211
|
-
if (typeof frame.eval_count === 'number')
|
|
212
|
-
evalCount = frame.eval_count;
|
|
213
|
-
if (frame.done_reason)
|
|
214
|
-
doneReason = frame.done_reason;
|
|
215
|
-
const message = frame.message;
|
|
216
|
-
if (message) {
|
|
217
|
-
if (message.tool_calls && message.tool_calls.length > 0) {
|
|
218
|
-
// Ollama emits each tool call whole, not as an assembled delta.
|
|
219
|
-
toolCalls.push(...message.tool_calls);
|
|
220
|
-
}
|
|
221
|
-
if (message.thinking) {
|
|
222
|
-
thinkingParts.push(message.thinking);
|
|
223
|
-
yield { tokenIndex, content: '', done: false, thinkingDelta: message.thinking };
|
|
224
|
-
tokenIndex++;
|
|
225
|
-
}
|
|
226
|
-
if (message.content) {
|
|
227
|
-
textParts.push(message.content);
|
|
228
|
-
yield { tokenIndex, content: message.content, done: false };
|
|
229
|
-
tokenIndex++;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
if (frame.done)
|
|
233
|
-
break;
|
|
195
|
+
const call = linkedController(req.signal);
|
|
196
|
+
try {
|
|
197
|
+
yield* streamUnder(req, call.controller);
|
|
198
|
+
}
|
|
199
|
+
finally {
|
|
200
|
+
call.unlink();
|
|
234
201
|
}
|
|
235
|
-
const content = textParts.join('');
|
|
236
|
-
const rawThinking = describeThinking(content, thinkingParts.join(''));
|
|
237
|
-
const authoritative = {
|
|
238
|
-
content,
|
|
239
|
-
toolCalls: toolCalls.map((tc) => toLLMToolCall(tc, nextToolCallId)),
|
|
240
|
-
usage: { input: promptEvalCount, output: evalCount },
|
|
241
|
-
stopReason: normalizeStopReason(doneReason, toolCalls.length > 0),
|
|
242
|
-
...(rawThinking && { rawThinking }),
|
|
243
|
-
};
|
|
244
|
-
yield { tokenIndex, content: '', done: true, response: authoritative };
|
|
245
202
|
},
|
|
246
203
|
};
|
|
204
|
+
async function* streamUnder(req, call) {
|
|
205
|
+
const body = buildBody(req, cfg, true);
|
|
206
|
+
const response = await post(body, req, call);
|
|
207
|
+
if (!response.body)
|
|
208
|
+
throw new Error('[ollama] response has no body');
|
|
209
|
+
const textParts = [];
|
|
210
|
+
const thinkingParts = [];
|
|
211
|
+
const toolCalls = [];
|
|
212
|
+
let doneReason = 'stop';
|
|
213
|
+
let promptEvalCount = 0;
|
|
214
|
+
let evalCount = 0;
|
|
215
|
+
let tokenIndex = 0;
|
|
216
|
+
// The signal rides INTO the parser: it is what stops a generation the
|
|
217
|
+
// caller no longer wants, and what cancels the body when it does.
|
|
218
|
+
for await (const chunk of parseNdjson(response.body, req.signal)) {
|
|
219
|
+
const frame = chunk;
|
|
220
|
+
// An already-200 stream can still FAIL mid-generation, and this wire
|
|
221
|
+
// says so IN BAND with an `{"error": "..."}` frame. Such a frame
|
|
222
|
+
// carries no `message` and no `done`, so the guards below would skip
|
|
223
|
+
// it and the terminal chunk would report a truncated answer as
|
|
224
|
+
// `stopReason: 'stop'` with nobody told. Raise instead: a failed
|
|
225
|
+
// generation is a failure, never a shorter answer.
|
|
226
|
+
const failure = frameFailureText(frame);
|
|
227
|
+
if (failure) {
|
|
228
|
+
throw providerError(`[ollama] the stream failed mid-generation — ${failure}`);
|
|
229
|
+
}
|
|
230
|
+
// Counts ride the terminal frame, whose `message.content` is empty —
|
|
231
|
+
// read them before any content guard, or the only token counts the
|
|
232
|
+
// stream reports are thrown away (the failure that made streamed
|
|
233
|
+
// local calls report zero and disarmed `.compaction()`).
|
|
234
|
+
if (typeof frame.prompt_eval_count === 'number')
|
|
235
|
+
promptEvalCount = frame.prompt_eval_count;
|
|
236
|
+
if (typeof frame.eval_count === 'number')
|
|
237
|
+
evalCount = frame.eval_count;
|
|
238
|
+
if (frame.done_reason)
|
|
239
|
+
doneReason = frame.done_reason;
|
|
240
|
+
const message = frame.message;
|
|
241
|
+
if (message) {
|
|
242
|
+
if (message.tool_calls && message.tool_calls.length > 0) {
|
|
243
|
+
// Ollama emits each tool call whole, not as an assembled delta.
|
|
244
|
+
toolCalls.push(...message.tool_calls);
|
|
245
|
+
}
|
|
246
|
+
if (message.thinking) {
|
|
247
|
+
thinkingParts.push(message.thinking);
|
|
248
|
+
yield { tokenIndex, content: '', done: false, thinkingDelta: message.thinking };
|
|
249
|
+
tokenIndex++;
|
|
250
|
+
}
|
|
251
|
+
if (message.content) {
|
|
252
|
+
textParts.push(message.content);
|
|
253
|
+
yield { tokenIndex, content: message.content, done: false };
|
|
254
|
+
tokenIndex++;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
if (frame.done)
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
const content = textParts.join('');
|
|
261
|
+
const rawThinking = describeThinking(content, thinkingParts.join(''));
|
|
262
|
+
const authoritative = {
|
|
263
|
+
content,
|
|
264
|
+
toolCalls: toolCalls.map((tc) => toLLMToolCall(tc, nextToolCallId)),
|
|
265
|
+
usage: { input: promptEvalCount, output: evalCount },
|
|
266
|
+
stopReason: normalizeStopReason(doneReason, toolCalls.length > 0),
|
|
267
|
+
...(rawThinking && { rawThinking }),
|
|
268
|
+
};
|
|
269
|
+
yield { tokenIndex, content: '', done: true, response: authoritative };
|
|
270
|
+
}
|
|
247
271
|
return provider;
|
|
248
272
|
}
|
|
249
273
|
/**
|
|
@@ -510,59 +534,38 @@ function normalizeStopReason(raw, hasToolCalls) {
|
|
|
510
534
|
* still occupies the machine.
|
|
511
535
|
*/
|
|
512
536
|
async function* parseNdjson(body, signal) {
|
|
513
|
-
const reader = body.getReader();
|
|
514
537
|
const decoder = new TextDecoder();
|
|
515
538
|
let buf = '';
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
try {
|
|
531
|
-
yield JSON.parse(line);
|
|
532
|
-
}
|
|
533
|
-
catch {
|
|
534
|
-
/* skip malformed line */
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
// A final line with no trailing newline still counts.
|
|
539
|
-
const tail = buf.trim();
|
|
540
|
-
if (tail) {
|
|
539
|
+
// `bodyChunks` races every read against the caller's signal — a signal that
|
|
540
|
+
// only reached the headers would be a cancellation that cancels nothing —
|
|
541
|
+
// and CANCELS the body on every way out: the terminal `done` frame (the
|
|
542
|
+
// stream loop breaks on it), a consumer that breaks out, an error frame, a
|
|
543
|
+
// caller abort. An open body means the local model keeps generating for
|
|
544
|
+
// nobody and the socket stays up.
|
|
545
|
+
for await (const value of bodyChunks(body, signal)) {
|
|
546
|
+
buf += decoder.decode(value, { stream: true });
|
|
547
|
+
let idx;
|
|
548
|
+
while ((idx = buf.indexOf('\n')) >= 0) {
|
|
549
|
+
const line = buf.slice(0, idx).trim();
|
|
550
|
+
buf = buf.slice(idx + 1);
|
|
551
|
+
if (!line)
|
|
552
|
+
continue;
|
|
541
553
|
try {
|
|
542
|
-
yield JSON.parse(
|
|
554
|
+
yield JSON.parse(line);
|
|
543
555
|
}
|
|
544
556
|
catch {
|
|
545
|
-
/* skip malformed
|
|
557
|
+
/* skip malformed line */
|
|
546
558
|
}
|
|
547
559
|
}
|
|
548
560
|
}
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
// a caller abort — every one of them leaves an open body, and an open
|
|
553
|
-
// body means the local model keeps generating for nobody and the socket
|
|
554
|
-
// stays up.
|
|
555
|
-
try {
|
|
556
|
-
await reader.cancel();
|
|
557
|
-
}
|
|
558
|
-
catch {
|
|
559
|
-
/* already closed or errored — nothing left to close */
|
|
560
|
-
}
|
|
561
|
+
// A final line with no trailing newline still counts.
|
|
562
|
+
const tail = buf.trim();
|
|
563
|
+
if (tail) {
|
|
561
564
|
try {
|
|
562
|
-
|
|
565
|
+
yield JSON.parse(tail);
|
|
563
566
|
}
|
|
564
567
|
catch {
|
|
565
|
-
/*
|
|
568
|
+
/* skip malformed tail */
|
|
566
569
|
}
|
|
567
570
|
}
|
|
568
571
|
}
|
|
@@ -590,11 +593,12 @@ async function fetchUntilHeaders(fetchImpl, url, init, opts) {
|
|
|
590
593
|
// caller has cancelled. Refuse before the socket opens, and refuse with the
|
|
591
594
|
// caller's own reason: an abort is their call, never a daemon fault.
|
|
592
595
|
throwIfAborted(opts.signal);
|
|
593
|
-
|
|
596
|
+
// The call's controller: it follows the caller's signal for the WHOLE call —
|
|
597
|
+
// the body included, long after this timer is cleared — and the deadline
|
|
598
|
+
// aborts it here. Its link is the call's to end (`post`).
|
|
599
|
+
const controller = opts.call;
|
|
594
600
|
let timedOut = false;
|
|
595
601
|
let timer;
|
|
596
|
-
const onCallerAbort = () => controller.abort();
|
|
597
|
-
opts.signal?.addEventListener('abort', onCallerAbort, { once: true });
|
|
598
602
|
const deadline = new Promise((_resolve, reject) => {
|
|
599
603
|
timer = setTimeout(() => {
|
|
600
604
|
timedOut = true;
|
|
@@ -603,13 +607,16 @@ async function fetchUntilHeaders(fetchImpl, url, init, opts) {
|
|
|
603
607
|
}, opts.timeoutMs);
|
|
604
608
|
});
|
|
605
609
|
try {
|
|
606
|
-
|
|
610
|
+
// The caller's abort wins the race too: a `fetch` that ignores its signal
|
|
611
|
+
// must not hold a cancelled call open until the deadline (lib/abort.ts).
|
|
612
|
+
return await untilAborted(Promise.race([fetchImpl(url, { ...init, signal: controller.signal }), deadline]), opts.signal);
|
|
607
613
|
}
|
|
608
614
|
catch (err) {
|
|
609
615
|
if (err instanceof OllamaUnavailableError)
|
|
610
616
|
throw err; // the deadline fired
|
|
617
|
+
// The caller's call, not ours — and it fails with the caller's reason.
|
|
611
618
|
if (opts.signal?.aborted && !timedOut)
|
|
612
|
-
throw
|
|
619
|
+
throw abortErrorOf(opts.signal);
|
|
613
620
|
// Timed out, or connection refused / DNS failure / TLS failure — either
|
|
614
621
|
// way, nothing answered at that address.
|
|
615
622
|
throw new OllamaUnavailableError({
|
|
@@ -621,7 +628,6 @@ async function fetchUntilHeaders(fetchImpl, url, init, opts) {
|
|
|
621
628
|
finally {
|
|
622
629
|
if (timer !== undefined)
|
|
623
630
|
clearTimeout(timer);
|
|
624
|
-
opts.signal?.removeEventListener('abort', onCallerAbort);
|
|
625
631
|
// When the fetch wins the race, the deadline promise may still reject with
|
|
626
632
|
// nobody listening. Swallow it deliberately: the answer already arrived, so
|
|
627
633
|
// an unhandled-rejection warning here would be noise about a non-event.
|
|
@@ -742,48 +748,4 @@ function providerError(message, status) {
|
|
|
742
748
|
...(status !== undefined && { status }),
|
|
743
749
|
});
|
|
744
750
|
}
|
|
745
|
-
/**
|
|
746
|
-
* An abort is the CALLER's word, so it must reach them AS an abort — never
|
|
747
|
-
* dressed up as a daemon failure. The signal's own `reason` is used when it
|
|
748
|
-
* is an Error (what every runtime supplies: a DOMException named
|
|
749
|
-
* 'AbortError'); anything else becomes one, keeping the reason as `cause`.
|
|
750
|
-
*/
|
|
751
|
-
function asAbortError(reason) {
|
|
752
|
-
if (reason instanceof Error)
|
|
753
|
-
return reason;
|
|
754
|
-
return Object.assign(new Error('This operation was aborted'), {
|
|
755
|
-
name: 'AbortError',
|
|
756
|
-
...(reason !== undefined && { cause: reason }),
|
|
757
|
-
});
|
|
758
|
-
}
|
|
759
|
-
/** Stop right here when the caller's signal has already fired. */
|
|
760
|
-
function throwIfAborted(signal) {
|
|
761
|
-
if (signal?.aborted)
|
|
762
|
-
throw asAbortError(signal.reason);
|
|
763
|
-
}
|
|
764
|
-
/**
|
|
765
|
-
* `promise`, except that a caller abort ends the wait immediately.
|
|
766
|
-
*
|
|
767
|
-
* `fetch` resolves on HEADERS. Everything after that — a streamed body, a
|
|
768
|
-
* large non-streaming JSON read — used to be deaf to the caller's signal, so
|
|
769
|
-
* a cancelled turn kept the local model generating to completion. This is
|
|
770
|
-
* what makes `LLMRequest.signal` honest for the whole call rather than only
|
|
771
|
-
* until the headers land. The CALLER's signal only: `timeoutMs` stays exactly
|
|
772
|
-
* what it always was, a bound on the wait for headers and never on generation.
|
|
773
|
-
*/
|
|
774
|
-
function untilAborted(promise, signal) {
|
|
775
|
-
if (!signal)
|
|
776
|
-
return promise;
|
|
777
|
-
if (signal.aborted) {
|
|
778
|
-
void promise.catch(() => undefined); // the abandoned work must not warn
|
|
779
|
-
return Promise.reject(asAbortError(signal.reason));
|
|
780
|
-
}
|
|
781
|
-
return new Promise((resolve, reject) => {
|
|
782
|
-
const onAbort = () => reject(asAbortError(signal.reason));
|
|
783
|
-
signal.addEventListener('abort', onAbort, { once: true });
|
|
784
|
-
promise.then(resolve, reject).finally(() => {
|
|
785
|
-
signal.removeEventListener('abort', onAbort);
|
|
786
|
-
});
|
|
787
|
-
});
|
|
788
|
-
}
|
|
789
751
|
//# sourceMappingURL=OllamaProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OllamaProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/OllamaProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OllamaProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/OllamaProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,10 +25,15 @@ import type { TokenCredentialLike } from '../identity/azure.js';
|
|
|
25
25
|
interface OpenAIClient {
|
|
26
26
|
chat: {
|
|
27
27
|
completions: {
|
|
28
|
-
create(params: OpenAICreateParams): Promise<OpenAIChatCompletion> | AsyncIterable<OpenAIStreamChunk>;
|
|
28
|
+
create(params: OpenAICreateParams, options?: OpenAIRequestOptions): Promise<OpenAIChatCompletion> | AsyncIterable<OpenAIStreamChunk>;
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
+
/** The SDK's per-request options — the one this adapter sends is the signal,
|
|
33
|
+
* so an aborted run cancels the HTTP request itself (`lib/abort.ts`). */
|
|
34
|
+
interface OpenAIRequestOptions {
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
}
|
|
32
37
|
interface OpenAICreateParams {
|
|
33
38
|
model: string;
|
|
34
39
|
messages: OpenAIMessage[];
|
|
@@ -20,10 +20,21 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { openAIThinkingHandler } from '../../thinking/OpenAIThinkingHandler.js';
|
|
22
22
|
import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
23
|
+
import { abortableIterable, abortErrorOf, throwIfAborted, untilAborted } from '../../lib/abort.js';
|
|
23
24
|
import { asContextWindowExceeded } from '../../provider-contract/contextWindow.js';
|
|
24
25
|
import { retryAfterMsFromError } from './retryAfter.js';
|
|
25
26
|
import { azureBaseUrl } from './azureUrl.js';
|
|
26
27
|
import { AZURE_COGNITIVE_SERVICES_SCOPE } from '../identity/azure.js';
|
|
28
|
+
/** `create(params)`, with the request's signal in the SDK's options when it has one. */
|
|
29
|
+
function createUnder(client, params, signal) {
|
|
30
|
+
return signal
|
|
31
|
+
? client.chat.completions.create(params, { signal })
|
|
32
|
+
: client.chat.completions.create(params);
|
|
33
|
+
}
|
|
34
|
+
/** The SDK stream's own close, where it has one (`Stream.controller`). */
|
|
35
|
+
function closeOpenAIStream(stream) {
|
|
36
|
+
stream.controller?.abort?.();
|
|
37
|
+
}
|
|
27
38
|
/**
|
|
28
39
|
* Which roles this wire carries inside `messages`.
|
|
29
40
|
*
|
|
@@ -93,21 +104,29 @@ export function openai(options = {}) {
|
|
|
93
104
|
...(!legacyEndpoint && { promptCaching: OPENAI_PROMPT_CACHING }),
|
|
94
105
|
thinkingHandler: openAIThinkingHandler,
|
|
95
106
|
async complete(req) {
|
|
107
|
+
// A cancelled call sends nothing — checked again once the credential is
|
|
108
|
+
// in hand, because asking for it can take a while (lib/abort.ts, law 1).
|
|
109
|
+
throwIfAborted(req.signal);
|
|
96
110
|
const params = buildParams(req, { ...cfg, stream: false });
|
|
97
111
|
// The credential is asked for HERE, per request, so a token that expired
|
|
98
112
|
// since the last call is a new token and not a 401.
|
|
99
|
-
const client = await connect();
|
|
113
|
+
const client = await untilAborted(connect(), req.signal);
|
|
114
|
+
throwIfAborted(req.signal);
|
|
100
115
|
try {
|
|
101
|
-
|
|
116
|
+
// The signal rides the SDK's request options, so an abort cancels the
|
|
117
|
+
// HTTP request itself; the race refuses an answer that lands after it.
|
|
118
|
+
const response = (await untilAborted(createUnder(client, params, req.signal), req.signal));
|
|
102
119
|
return fromOpenAIResponse(response);
|
|
103
120
|
}
|
|
104
121
|
catch (err) {
|
|
105
|
-
throw wrapError(err);
|
|
122
|
+
throw wrapError(err, req.signal);
|
|
106
123
|
}
|
|
107
124
|
},
|
|
108
125
|
async *stream(req) {
|
|
126
|
+
throwIfAborted(req.signal);
|
|
109
127
|
const params = buildParams(req, { ...cfg, stream: true });
|
|
110
|
-
const client = await connect();
|
|
128
|
+
const client = await untilAborted(connect(), req.signal);
|
|
129
|
+
throwIfAborted(req.signal);
|
|
111
130
|
let stream;
|
|
112
131
|
try {
|
|
113
132
|
// AWAIT, then check. The SDK's `create()` returns an `APIPromise` — a
|
|
@@ -118,11 +137,12 @@ export function openai(options = {}) {
|
|
|
118
137
|
// doubles hid it for a year by returning an async generator directly
|
|
119
138
|
// from `create()`, which is why the guard accepts BOTH shapes: `await`
|
|
120
139
|
// on a non-thenable is the identity.
|
|
121
|
-
stream = await asChunkStream(client.
|
|
140
|
+
stream = await untilAborted(asChunkStream(createUnder(client, params, req.signal)), req.signal);
|
|
122
141
|
}
|
|
123
142
|
catch (err) {
|
|
124
|
-
throw wrapError(err);
|
|
143
|
+
throw wrapError(err, req.signal);
|
|
125
144
|
}
|
|
145
|
+
const opened = stream;
|
|
126
146
|
// Accumulate the streamed pieces so we can synthesize the
|
|
127
147
|
// authoritative LLMResponse on the terminal chunk. OpenAI streams
|
|
128
148
|
// tool_calls in chunks too — assemble id/name/args by index.
|
|
@@ -133,7 +153,9 @@ export function openai(options = {}) {
|
|
|
133
153
|
let lastId = '';
|
|
134
154
|
let tokenIndex = 0;
|
|
135
155
|
try {
|
|
136
|
-
|
|
156
|
+
// An abort closes the SDK stream and ends this loop at once, even
|
|
157
|
+
// when a read is still pending (lib/abort.ts, laws 2–3).
|
|
158
|
+
for await (const chunk of abortableIterable(opened, req.signal, () => closeOpenAIStream(opened))) {
|
|
137
159
|
// Usage FIRST, and outside the choice guard. With
|
|
138
160
|
// `stream_options.include_usage` (set in buildParams) OpenAI sends the
|
|
139
161
|
// token counts on a final chunk whose `choices` array is EMPTY — so a
|
|
@@ -189,7 +211,7 @@ export function openai(options = {}) {
|
|
|
189
211
|
yield { tokenIndex, content: '', done: true, response };
|
|
190
212
|
}
|
|
191
213
|
catch (err) {
|
|
192
|
-
throw wrapError(err);
|
|
214
|
+
throw wrapError(err, req.signal);
|
|
193
215
|
}
|
|
194
216
|
},
|
|
195
217
|
};
|
|
@@ -737,7 +759,12 @@ function normalizeStopReason(raw) {
|
|
|
737
759
|
return raw;
|
|
738
760
|
}
|
|
739
761
|
}
|
|
740
|
-
function wrapError(err) {
|
|
762
|
+
function wrapError(err, signal) {
|
|
763
|
+
// A cancelled call fails AS the cancellation, whatever the SDK threw for it
|
|
764
|
+
// (its own `APIUserAbortError` included) — never as a provider error that a
|
|
765
|
+
// retry would re-send (lib/abort.ts).
|
|
766
|
+
if (signal?.aborted)
|
|
767
|
+
return abortErrorOf(signal);
|
|
741
768
|
// "Your request was too big" is a distinct failure with distinct fixes, so
|
|
742
769
|
// it leaves this adapter as a typed error rather than as one more opaque
|
|
743
770
|
// 400 that a retry loop will re-send forever. Nothing else is translated.
|