agentfootprint 9.136.0 → 9.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CAPABILITIES.md +5 -0
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/adapters/llm/AnthropicProvider.js +10 -2
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +8 -0
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +30 -0
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/FoundryProvider.js +2 -0
- package/dist/adapters/llm/FoundryProvider.js.map +1 -1
- package/dist/adapters/llm/InvokeModelGatewayProvider.js +16 -0
- package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
- package/dist/adapters/llm/MockProvider.js +3 -0
- package/dist/adapters/llm/MockProvider.js.map +1 -1
- package/dist/adapters/llm/OllamaProvider.js +7 -0
- package/dist/adapters/llm/OllamaProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +25 -0
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/anthropicCacheWire.js +32 -10
- package/dist/adapters/llm/anthropicCacheWire.js.map +1 -1
- package/dist/adapters/llm/anthropicMessagesWire.js +12 -11
- package/dist/adapters/llm/anthropicMessagesWire.js.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/bridge/eventMeta.js +5 -1
- package/dist/bridge/eventMeta.js.map +1 -1
- package/dist/bridge/eventSourcePosition.js +63 -0
- package/dist/bridge/eventSourcePosition.js.map +1 -0
- package/dist/cache/CacheDecisionSubflow.js +79 -21
- package/dist/cache/CacheDecisionSubflow.js.map +1 -1
- package/dist/cache/cacheStrategyFor.js +77 -0
- package/dist/cache/cacheStrategyFor.js.map +1 -0
- package/dist/cache/index.js +26 -38
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/strategies/AutomaticCacheStrategy.js +47 -0
- package/dist/cache/strategies/AutomaticCacheStrategy.js.map +1 -0
- package/dist/cache/strategies/BreakpointCacheStrategy.js +60 -0
- package/dist/cache/strategies/BreakpointCacheStrategy.js.map +1 -0
- package/dist/cache/strategies/NoOpCacheStrategy.js +9 -25
- package/dist/cache/strategies/NoOpCacheStrategy.js.map +1 -1
- package/dist/cache/types.js +5 -4
- package/dist/cache/types.js.map +1 -1
- package/dist/core/Agent.js +209 -146
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/LLMCall.js +14 -17
- package/dist/core/LLMCall.js.map +1 -1
- package/dist/core/RunnerBase.js +17 -1
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +24 -33
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/act.js +3 -19
- package/dist/core/agent/act.js.map +1 -1
- package/dist/core/agent/assessment/stage.js +8 -0
- package/dist/core/agent/assessment/stage.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +8 -9
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildCacheSubflow.js +4 -3
- package/dist/core/agent/buildCacheSubflow.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +16 -8
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/honesty/mounts.js.map +1 -1
- package/dist/core/agent/middleware/ledger.js +1 -1
- package/dist/core/agent/middleware/messagePhase.js +24 -0
- package/dist/core/agent/middleware/messagePhase.js.map +1 -0
- package/dist/core/agent/skillBrains.js +3 -3
- package/dist/core/agent/skillBrains.js.map +1 -1
- package/dist/core/agent/stages/answerValidation.js +6 -3
- package/dist/core/agent/stages/answerValidation.js.map +1 -1
- package/dist/core/agent/stages/breakFinal.js +30 -1
- package/dist/core/agent/stages/breakFinal.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +15 -9
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/outputAdmission.js +14 -0
- package/dist/core/agent/stages/outputAdmission.js.map +1 -0
- package/dist/core/agent/stages/prepareFinal.js +96 -27
- package/dist/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/core/agent/stages/reliabilityExecution.js +46 -7
- package/dist/core/agent/stages/reliabilityExecution.js.map +1 -1
- package/dist/core/agent/stages/seed.js +8 -10
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +63 -42
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/toolArgsValidation.js +35 -11
- package/dist/core/agent/toolArgsValidation.js.map +1 -1
- package/dist/core/agent/toolDispatch.js +8 -2
- package/dist/core/agent/toolDispatch.js.map +1 -1
- package/dist/core/agent/toolSecurityEvents.js +23 -0
- package/dist/core/agent/toolSecurityEvents.js.map +1 -0
- package/dist/core/codeRunnerTool.js +1 -0
- package/dist/core/codeRunnerTool.js.map +1 -1
- package/dist/core/conversation.js +21 -6
- package/dist/core/conversation.js.map +1 -1
- package/dist/core/slots/buildThinkingSubflow.js +2 -3
- package/dist/core/slots/buildThinkingSubflow.js.map +1 -1
- package/dist/core/terminalVerdict.js +48 -0
- package/dist/core/terminalVerdict.js.map +1 -0
- package/dist/core-flow/Conditional.js +14 -5
- package/dist/core-flow/Conditional.js.map +1 -1
- package/dist/core-flow/Graph.js +20 -3
- package/dist/core-flow/Graph.js.map +1 -1
- package/dist/core-flow/Loop.js +13 -6
- package/dist/core-flow/Loop.js.map +1 -1
- package/dist/core-flow/Parallel.js +16 -7
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/core-flow/Sequence.js +16 -5
- package/dist/core-flow/Sequence.js.map +1 -1
- package/dist/core-flow/Workflow.js +20 -3
- package/dist/core-flow/Workflow.js.map +1 -1
- package/dist/core-flow/childOutcome.js +64 -0
- package/dist/core-flow/childOutcome.js.map +1 -0
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +3 -1
- package/dist/esm/adapters/llm/AnthropicProvider.js +11 -3
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +2 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +8 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +8 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +30 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/FoundryProvider.js +2 -0
- package/dist/esm/adapters/llm/FoundryProvider.js.map +1 -1
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +1 -0
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +16 -0
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
- package/dist/esm/adapters/llm/MockProvider.d.ts +2 -0
- package/dist/esm/adapters/llm/MockProvider.js +3 -0
- package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OllamaProvider.d.ts +1 -0
- package/dist/esm/adapters/llm/OllamaProvider.js +7 -0
- package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +5 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js +25 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/anthropicCacheWire.d.ts +27 -9
- package/dist/esm/adapters/llm/anthropicCacheWire.js +31 -9
- package/dist/esm/adapters/llm/anthropicCacheWire.js.map +1 -1
- package/dist/esm/adapters/llm/anthropicMessagesWire.d.ts +1 -1
- package/dist/esm/adapters/llm/anthropicMessagesWire.js +12 -11
- package/dist/esm/adapters/llm/anthropicMessagesWire.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +13 -0
- package/dist/esm/adapters/types.js.map +1 -1
- package/dist/esm/bridge/eventMeta.d.ts +5 -1
- package/dist/esm/bridge/eventMeta.js +5 -1
- package/dist/esm/bridge/eventMeta.js.map +1 -1
- package/dist/esm/bridge/eventSourcePosition.d.ts +10 -0
- package/dist/esm/bridge/eventSourcePosition.js +59 -0
- package/dist/esm/bridge/eventSourcePosition.js.map +1 -0
- package/dist/esm/cache/CacheDecisionSubflow.d.ts +44 -8
- package/dist/esm/cache/CacheDecisionSubflow.js +77 -19
- package/dist/esm/cache/CacheDecisionSubflow.js.map +1 -1
- package/dist/esm/cache/cacheStrategyFor.d.ts +42 -0
- package/dist/esm/cache/cacheStrategyFor.js +73 -0
- package/dist/esm/cache/cacheStrategyFor.js.map +1 -0
- package/dist/esm/cache/index.d.ts +20 -29
- package/dist/esm/cache/index.js +22 -31
- package/dist/esm/cache/index.js.map +1 -1
- package/dist/esm/cache/strategies/AutomaticCacheStrategy.d.ts +37 -0
- package/dist/esm/cache/strategies/AutomaticCacheStrategy.js +43 -0
- package/dist/esm/cache/strategies/AutomaticCacheStrategy.js.map +1 -0
- package/dist/esm/cache/strategies/BreakpointCacheStrategy.d.ts +40 -0
- package/dist/esm/cache/strategies/BreakpointCacheStrategy.js +56 -0
- package/dist/esm/cache/strategies/BreakpointCacheStrategy.js.map +1 -0
- package/dist/esm/cache/strategies/NoOpCacheStrategy.d.ts +8 -18
- package/dist/esm/cache/strategies/NoOpCacheStrategy.js +9 -25
- package/dist/esm/cache/strategies/NoOpCacheStrategy.js.map +1 -1
- package/dist/esm/cache/types.d.ts +79 -78
- package/dist/esm/cache/types.js +5 -4
- package/dist/esm/cache/types.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +36 -10
- package/dist/esm/core/Agent.js +210 -147
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/LLMCall.d.ts +3 -4
- package/dist/esm/core/LLMCall.js +15 -18
- package/dist/esm/core/LLMCall.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +11 -0
- package/dist/esm/core/RunnerBase.js +15 -0
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +24 -33
- package/dist/esm/core/agent/AgentBuilder.js +24 -33
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/act.d.ts +5 -2
- package/dist/esm/core/agent/act.js +3 -19
- package/dist/esm/core/agent/act.js.map +1 -1
- package/dist/esm/core/agent/assessment/stage.d.ts +2 -0
- package/dist/esm/core/agent/assessment/stage.js +8 -0
- package/dist/esm/core/agent/assessment/stage.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +5 -1
- package/dist/esm/core/agent/buildAgentChart.js +9 -10
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildCacheSubflow.d.ts +4 -2
- package/dist/esm/core/agent/buildCacheSubflow.js +5 -4
- package/dist/esm/core/agent/buildCacheSubflow.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +17 -9
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/honesty/mounts.d.ts +2 -0
- package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
- package/dist/esm/core/agent/middleware/ledger.d.ts +1 -1
- package/dist/esm/core/agent/middleware/ledger.js +1 -1
- package/dist/esm/core/agent/middleware/messagePhase.d.ts +5 -0
- package/dist/esm/core/agent/middleware/messagePhase.js +19 -0
- package/dist/esm/core/agent/middleware/messagePhase.js.map +1 -0
- package/dist/esm/core/agent/skillBrains.d.ts +5 -3
- package/dist/esm/core/agent/skillBrains.js +3 -3
- package/dist/esm/core/agent/skillBrains.js.map +1 -1
- package/dist/esm/core/agent/stages/answerValidation.d.ts +6 -1
- package/dist/esm/core/agent/stages/answerValidation.js +6 -3
- package/dist/esm/core/agent/stages/answerValidation.js.map +1 -1
- package/dist/esm/core/agent/stages/breakFinal.d.ts +16 -0
- package/dist/esm/core/agent/stages/breakFinal.js +27 -0
- package/dist/esm/core/agent/stages/breakFinal.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.d.ts +3 -1
- package/dist/esm/core/agent/stages/callLLM.js +15 -9
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/outputAdmission.d.ts +6 -0
- package/dist/esm/core/agent/stages/outputAdmission.js +10 -0
- package/dist/esm/core/agent/stages/outputAdmission.js.map +1 -0
- package/dist/esm/core/agent/stages/prepareFinal.d.ts +18 -41
- package/dist/esm/core/agent/stages/prepareFinal.js +93 -25
- package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/esm/core/agent/stages/reliabilityExecution.d.ts +8 -1
- package/dist/esm/core/agent/stages/reliabilityExecution.js +46 -7
- package/dist/esm/core/agent/stages/reliabilityExecution.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.js +8 -10
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.js +63 -42
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/toolArgsValidation.d.ts +9 -5
- package/dist/esm/core/agent/toolArgsValidation.js +35 -11
- package/dist/esm/core/agent/toolArgsValidation.js.map +1 -1
- package/dist/esm/core/agent/toolDispatch.d.ts +3 -2
- package/dist/esm/core/agent/toolDispatch.js +8 -2
- package/dist/esm/core/agent/toolDispatch.js.map +1 -1
- package/dist/esm/core/agent/toolSecurityEvents.d.ts +18 -0
- package/dist/esm/core/agent/toolSecurityEvents.js +19 -0
- package/dist/esm/core/agent/toolSecurityEvents.js.map +1 -0
- package/dist/esm/core/agent/types.d.ts +4 -4
- package/dist/esm/core/codeRunnerTool.js +1 -0
- package/dist/esm/core/codeRunnerTool.js.map +1 -1
- package/dist/esm/core/conversation.d.ts +16 -1
- package/dist/esm/core/conversation.js +20 -5
- package/dist/esm/core/conversation.js.map +1 -1
- package/dist/esm/core/slots/buildThinkingSubflow.d.ts +2 -2
- package/dist/esm/core/slots/buildThinkingSubflow.js +2 -3
- package/dist/esm/core/slots/buildThinkingSubflow.js.map +1 -1
- package/dist/esm/core/terminalVerdict.d.ts +56 -0
- package/dist/esm/core/terminalVerdict.js +43 -0
- package/dist/esm/core/terminalVerdict.js.map +1 -0
- package/dist/esm/core-flow/Conditional.js +15 -6
- package/dist/esm/core-flow/Conditional.js.map +1 -1
- package/dist/esm/core-flow/Graph.js +21 -4
- package/dist/esm/core-flow/Graph.js.map +1 -1
- package/dist/esm/core-flow/Loop.js +14 -7
- package/dist/esm/core-flow/Loop.js.map +1 -1
- package/dist/esm/core-flow/Parallel.js +17 -8
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/core-flow/Sequence.js +17 -6
- package/dist/esm/core-flow/Sequence.js.map +1 -1
- package/dist/esm/core-flow/Workflow.js +21 -4
- package/dist/esm/core-flow/Workflow.js.map +1 -1
- package/dist/esm/core-flow/childOutcome.d.ts +47 -0
- package/dist/esm/core-flow/childOutcome.js +57 -0
- package/dist/esm/core-flow/childOutcome.js.map +1 -0
- package/dist/esm/events/payloads.d.ts +33 -11
- package/dist/esm/events/types.d.ts +32 -2
- package/dist/esm/index.d.ts +1 -11
- package/dist/esm/index.js +5 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillToolDescriptors.js +1 -0
- package/dist/esm/lib/injection-engine/skillToolDescriptors.js.map +1 -1
- package/dist/esm/lib/mcp/mcpServe.js +11 -4
- package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
- package/dist/esm/lib/time-travel/receipt.d.ts +5 -5
- package/dist/esm/lib/trace-toolpack/debugPrompt.d.ts +1 -1
- package/dist/esm/lib/trace-toolpack/debugPrompt.js +1 -0
- package/dist/esm/lib/trace-toolpack/debugPrompt.js.map +1 -1
- package/dist/esm/lib/trace-toolpack/innerDescent.d.ts +58 -0
- package/dist/esm/lib/trace-toolpack/innerDescent.js +68 -0
- package/dist/esm/lib/trace-toolpack/innerDescent.js.map +1 -0
- package/dist/esm/lib/trace-toolpack/subflowRecords.d.ts +55 -0
- package/dist/esm/lib/trace-toolpack/subflowRecords.js +124 -0
- package/dist/esm/lib/trace-toolpack/subflowRecords.js.map +1 -0
- package/dist/esm/lib/trace-toolpack/traceToolNames.d.ts +1 -1
- package/dist/esm/lib/trace-toolpack/traceToolNames.js +1 -0
- package/dist/esm/lib/trace-toolpack/traceToolNames.js.map +1 -1
- package/dist/esm/lib/trace-toolpack/traceToolpack.d.ts +1 -0
- package/dist/esm/lib/trace-toolpack/traceToolpack.js +282 -56
- package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/esm/lib/trust-boundaries/capture.d.ts +6 -0
- package/dist/esm/lib/trust-boundaries/capture.js +161 -0
- package/dist/esm/lib/trust-boundaries/capture.js.map +1 -0
- package/dist/esm/lib/trust-boundaries/index.d.ts +2 -0
- package/dist/esm/lib/trust-boundaries/index.js +2 -0
- package/dist/esm/lib/trust-boundaries/index.js.map +1 -0
- package/dist/esm/lib/trust-boundaries/project.d.ts +13 -0
- package/dist/esm/lib/trust-boundaries/project.js +170 -0
- package/dist/esm/lib/trust-boundaries/project.js.map +1 -0
- package/dist/esm/lib/trust-boundaries/types.d.ts +81 -0
- package/dist/esm/lib/trust-boundaries/types.js +2 -0
- package/dist/esm/lib/trust-boundaries/types.js.map +1 -0
- package/dist/esm/observe.d.ts +1 -0
- package/dist/esm/observe.js +3 -0
- package/dist/esm/observe.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/patterns/LlmRouter.js +6 -3
- package/dist/esm/patterns/LlmRouter.js.map +1 -1
- package/dist/esm/recorders/core/EmitBridge.js +7 -1
- package/dist/esm/recorders/core/EmitBridge.js.map +1 -1
- package/dist/esm/recorders/observability/recordRun.d.ts +29 -4
- package/dist/esm/recorders/observability/recordRun.js +144 -70
- package/dist/esm/recorders/observability/recordRun.js.map +1 -1
- package/dist/esm/recorders/observability/recordingEnvelope.js +5 -3
- package/dist/esm/recorders/observability/recordingEnvelope.js.map +1 -1
- package/dist/esm/reliability/failFastRecord.d.ts +28 -0
- package/dist/esm/reliability/failFastRecord.js +45 -0
- package/dist/esm/reliability/failFastRecord.js.map +1 -0
- package/dist/esm/resilience/withCircuitBreaker.js +3 -0
- package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/esm/resilience/withFallback.js +101 -11
- package/dist/esm/resilience/withFallback.js.map +1 -1
- package/dist/esm/resilience/withRetry.js +8 -0
- package/dist/esm/resilience/withRetry.js.map +1 -1
- package/dist/esm/thinking/AnthropicThinkingHandler.js +5 -5
- package/dist/esm/thinking/AnthropicThinkingHandler.js.map +1 -1
- package/dist/esm/thinking/MockThinkingHandler.js +2 -3
- package/dist/esm/thinking/MockThinkingHandler.js.map +1 -1
- package/dist/esm/thinking/OllamaThinkingHandler.js +0 -1
- package/dist/esm/thinking/OllamaThinkingHandler.js.map +1 -1
- package/dist/esm/thinking/OpenAIThinkingHandler.js +0 -1
- package/dist/esm/thinking/OpenAIThinkingHandler.js.map +1 -1
- package/dist/esm/thinking/index.d.ts +8 -7
- package/dist/esm/thinking/index.js +8 -7
- package/dist/esm/thinking/index.js.map +1 -1
- package/dist/esm/thinking/registry.d.ts +13 -23
- package/dist/esm/thinking/registry.js +13 -29
- package/dist/esm/thinking/registry.js.map +1 -1
- package/dist/esm/thinking/thinkingHandlerFor.d.ts +27 -0
- package/dist/esm/thinking/thinkingHandlerFor.js +36 -0
- package/dist/esm/thinking/thinkingHandlerFor.js.map +1 -0
- package/dist/esm/thinking/types.d.ts +7 -15
- package/dist/esm/thinking/types.js +3 -3
- package/dist/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/injection-engine/skillToolDescriptors.js +1 -0
- package/dist/lib/injection-engine/skillToolDescriptors.js.map +1 -1
- package/dist/lib/mcp/mcpServe.js +11 -4
- package/dist/lib/mcp/mcpServe.js.map +1 -1
- package/dist/lib/trace-toolpack/debugPrompt.js +1 -0
- package/dist/lib/trace-toolpack/debugPrompt.js.map +1 -1
- package/dist/lib/trace-toolpack/innerDescent.js +74 -0
- package/dist/lib/trace-toolpack/innerDescent.js.map +1 -0
- package/dist/lib/trace-toolpack/subflowRecords.js +134 -0
- package/dist/lib/trace-toolpack/subflowRecords.js.map +1 -0
- package/dist/lib/trace-toolpack/traceToolNames.js +1 -0
- package/dist/lib/trace-toolpack/traceToolNames.js.map +1 -1
- package/dist/lib/trace-toolpack/traceToolpack.js +282 -56
- package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/lib/trust-boundaries/capture.js +165 -0
- package/dist/lib/trust-boundaries/capture.js.map +1 -0
- package/dist/lib/trust-boundaries/index.js +6 -0
- package/dist/lib/trust-boundaries/index.js.map +1 -0
- package/dist/lib/trust-boundaries/project.js +174 -0
- package/dist/lib/trust-boundaries/project.js.map +1 -0
- package/dist/lib/trust-boundaries/types.js +3 -0
- package/dist/lib/trust-boundaries/types.js.map +1 -0
- package/dist/observe.js +17 -13
- package/dist/observe.js.map +1 -1
- package/dist/patterns/LlmRouter.js +5 -2
- package/dist/patterns/LlmRouter.js.map +1 -1
- package/dist/recorders/core/EmitBridge.js +7 -1
- package/dist/recorders/core/EmitBridge.js.map +1 -1
- package/dist/recorders/observability/recordRun.js +144 -70
- package/dist/recorders/observability/recordRun.js.map +1 -1
- package/dist/recorders/observability/recordingEnvelope.js +5 -3
- package/dist/recorders/observability/recordingEnvelope.js.map +1 -1
- package/dist/reliability/failFastRecord.js +50 -0
- package/dist/reliability/failFastRecord.js.map +1 -0
- package/dist/resilience/withCircuitBreaker.js +3 -0
- package/dist/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/resilience/withFallback.js +101 -11
- package/dist/resilience/withFallback.js.map +1 -1
- package/dist/resilience/withRetry.js +8 -0
- package/dist/resilience/withRetry.js.map +1 -1
- package/dist/thinking/AnthropicThinkingHandler.js +5 -5
- package/dist/thinking/AnthropicThinkingHandler.js.map +1 -1
- package/dist/thinking/MockThinkingHandler.js +2 -3
- package/dist/thinking/MockThinkingHandler.js.map +1 -1
- package/dist/thinking/OllamaThinkingHandler.js +0 -1
- package/dist/thinking/OllamaThinkingHandler.js.map +1 -1
- package/dist/thinking/OpenAIThinkingHandler.js +0 -1
- package/dist/thinking/OpenAIThinkingHandler.js.map +1 -1
- package/dist/thinking/index.js +9 -8
- package/dist/thinking/index.js.map +1 -1
- package/dist/thinking/registry.js +14 -31
- package/dist/thinking/registry.js.map +1 -1
- package/dist/thinking/thinkingHandlerFor.js +40 -0
- package/dist/thinking/thinkingHandlerFor.js.map +1 -0
- package/dist/thinking/types.js +3 -3
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +3 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +2 -0
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +8 -0
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/FoundryProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +1 -0
- package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/MockProvider.d.ts +2 -0
- package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OllamaProvider.d.ts +1 -0
- package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +5 -0
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/anthropicCacheWire.d.ts +27 -9
- package/dist/types/adapters/llm/anthropicCacheWire.d.ts.map +1 -1
- package/dist/types/adapters/llm/anthropicMessagesWire.d.ts +1 -1
- package/dist/types/adapters/llm/anthropicMessagesWire.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +13 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/bridge/eventMeta.d.ts +5 -1
- package/dist/types/bridge/eventMeta.d.ts.map +1 -1
- package/dist/types/bridge/eventSourcePosition.d.ts +11 -0
- package/dist/types/bridge/eventSourcePosition.d.ts.map +1 -0
- package/dist/types/cache/CacheDecisionSubflow.d.ts +44 -8
- package/dist/types/cache/CacheDecisionSubflow.d.ts.map +1 -1
- package/dist/types/cache/cacheStrategyFor.d.ts +43 -0
- package/dist/types/cache/cacheStrategyFor.d.ts.map +1 -0
- package/dist/types/cache/index.d.ts +20 -29
- package/dist/types/cache/index.d.ts.map +1 -1
- package/dist/types/cache/strategies/AutomaticCacheStrategy.d.ts +38 -0
- package/dist/types/cache/strategies/AutomaticCacheStrategy.d.ts.map +1 -0
- package/dist/types/cache/strategies/BreakpointCacheStrategy.d.ts +41 -0
- package/dist/types/cache/strategies/BreakpointCacheStrategy.d.ts.map +1 -0
- package/dist/types/cache/strategies/NoOpCacheStrategy.d.ts +8 -18
- package/dist/types/cache/strategies/NoOpCacheStrategy.d.ts.map +1 -1
- package/dist/types/cache/types.d.ts +79 -78
- package/dist/types/cache/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +36 -10
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/LLMCall.d.ts +3 -4
- package/dist/types/core/LLMCall.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +11 -0
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +24 -33
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/act.d.ts +5 -2
- package/dist/types/core/agent/act.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/stage.d.ts +2 -0
- package/dist/types/core/agent/assessment/stage.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +5 -1
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildCacheSubflow.d.ts +4 -2
- package/dist/types/core/agent/buildCacheSubflow.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/honesty/mounts.d.ts +2 -0
- package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
- package/dist/types/core/agent/middleware/ledger.d.ts +1 -1
- package/dist/types/core/agent/middleware/messagePhase.d.ts +6 -0
- package/dist/types/core/agent/middleware/messagePhase.d.ts.map +1 -0
- package/dist/types/core/agent/skillBrains.d.ts +5 -3
- package/dist/types/core/agent/skillBrains.d.ts.map +1 -1
- package/dist/types/core/agent/stages/answerValidation.d.ts +6 -1
- package/dist/types/core/agent/stages/answerValidation.d.ts.map +1 -1
- package/dist/types/core/agent/stages/breakFinal.d.ts +16 -0
- package/dist/types/core/agent/stages/breakFinal.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts +3 -1
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/outputAdmission.d.ts +7 -0
- package/dist/types/core/agent/stages/outputAdmission.d.ts.map +1 -0
- package/dist/types/core/agent/stages/prepareFinal.d.ts +18 -41
- package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
- package/dist/types/core/agent/stages/reliabilityExecution.d.ts +8 -1
- package/dist/types/core/agent/stages/reliabilityExecution.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/toolArgsValidation.d.ts +9 -5
- package/dist/types/core/agent/toolArgsValidation.d.ts.map +1 -1
- package/dist/types/core/agent/toolDispatch.d.ts +3 -2
- package/dist/types/core/agent/toolDispatch.d.ts.map +1 -1
- package/dist/types/core/agent/toolSecurityEvents.d.ts +19 -0
- package/dist/types/core/agent/toolSecurityEvents.d.ts.map +1 -0
- package/dist/types/core/agent/types.d.ts +4 -4
- package/dist/types/core/codeRunnerTool.d.ts.map +1 -1
- package/dist/types/core/conversation.d.ts +16 -1
- package/dist/types/core/conversation.d.ts.map +1 -1
- package/dist/types/core/slots/buildThinkingSubflow.d.ts +2 -2
- package/dist/types/core/slots/buildThinkingSubflow.d.ts.map +1 -1
- package/dist/types/core/terminalVerdict.d.ts +57 -0
- package/dist/types/core/terminalVerdict.d.ts.map +1 -0
- package/dist/types/core-flow/Conditional.d.ts.map +1 -1
- package/dist/types/core-flow/Graph.d.ts.map +1 -1
- package/dist/types/core-flow/Loop.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/core-flow/Sequence.d.ts.map +1 -1
- package/dist/types/core-flow/Workflow.d.ts.map +1 -1
- package/dist/types/core-flow/childOutcome.d.ts +48 -0
- package/dist/types/core-flow/childOutcome.d.ts.map +1 -0
- package/dist/types/events/payloads.d.ts +33 -11
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/types.d.ts +32 -2
- package/dist/types/events/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillToolDescriptors.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
- package/dist/types/lib/time-travel/receipt.d.ts +5 -5
- package/dist/types/lib/trace-toolpack/debugPrompt.d.ts +1 -1
- package/dist/types/lib/trace-toolpack/debugPrompt.d.ts.map +1 -1
- package/dist/types/lib/trace-toolpack/innerDescent.d.ts +59 -0
- package/dist/types/lib/trace-toolpack/innerDescent.d.ts.map +1 -0
- package/dist/types/lib/trace-toolpack/subflowRecords.d.ts +56 -0
- package/dist/types/lib/trace-toolpack/subflowRecords.d.ts.map +1 -0
- package/dist/types/lib/trace-toolpack/traceToolNames.d.ts +1 -1
- package/dist/types/lib/trace-toolpack/traceToolNames.d.ts.map +1 -1
- package/dist/types/lib/trace-toolpack/traceToolpack.d.ts +1 -0
- package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/dist/types/lib/trust-boundaries/capture.d.ts +7 -0
- package/dist/types/lib/trust-boundaries/capture.d.ts.map +1 -0
- package/dist/types/lib/trust-boundaries/index.d.ts +3 -0
- package/dist/types/lib/trust-boundaries/index.d.ts.map +1 -0
- package/dist/types/lib/trust-boundaries/project.d.ts +14 -0
- package/dist/types/lib/trust-boundaries/project.d.ts.map +1 -0
- package/dist/types/lib/trust-boundaries/types.d.ts +82 -0
- package/dist/types/lib/trust-boundaries/types.d.ts.map +1 -0
- package/dist/types/observe.d.ts +1 -0
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/patterns/LlmRouter.d.ts.map +1 -1
- package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -1
- package/dist/types/recorders/observability/recordRun.d.ts +29 -4
- package/dist/types/recorders/observability/recordRun.d.ts.map +1 -1
- package/dist/types/recorders/observability/recordingEnvelope.d.ts.map +1 -1
- package/dist/types/reliability/failFastRecord.d.ts +29 -0
- package/dist/types/reliability/failFastRecord.d.ts.map +1 -0
- 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/thinking/AnthropicThinkingHandler.d.ts.map +1 -1
- package/dist/types/thinking/MockThinkingHandler.d.ts.map +1 -1
- package/dist/types/thinking/OllamaThinkingHandler.d.ts.map +1 -1
- package/dist/types/thinking/OpenAIThinkingHandler.d.ts.map +1 -1
- package/dist/types/thinking/index.d.ts +8 -7
- package/dist/types/thinking/index.d.ts.map +1 -1
- package/dist/types/thinking/registry.d.ts +13 -23
- package/dist/types/thinking/registry.d.ts.map +1 -1
- package/dist/types/thinking/thinkingHandlerFor.d.ts +28 -0
- package/dist/types/thinking/thinkingHandlerFor.d.ts.map +1 -0
- package/dist/types/thinking/types.d.ts +7 -15
- package/dist/types/thinking/types.d.ts.map +1 -1
- package/package.json +1 -5
- package/dist/cache/strategies/AnthropicCacheStrategy.js +0 -90
- package/dist/cache/strategies/AnthropicCacheStrategy.js.map +0 -1
- package/dist/cache/strategies/BedrockCacheStrategy.js +0 -97
- package/dist/cache/strategies/BedrockCacheStrategy.js.map +0 -1
- package/dist/cache/strategies/OpenAICacheStrategy.js +0 -76
- package/dist/cache/strategies/OpenAICacheStrategy.js.map +0 -1
- package/dist/cache/strategyRegistry.js +0 -81
- package/dist/cache/strategyRegistry.js.map +0 -1
- package/dist/esm/cache/strategies/AnthropicCacheStrategy.d.ts +0 -41
- package/dist/esm/cache/strategies/AnthropicCacheStrategy.js +0 -86
- package/dist/esm/cache/strategies/AnthropicCacheStrategy.js.map +0 -1
- package/dist/esm/cache/strategies/BedrockCacheStrategy.d.ts +0 -62
- package/dist/esm/cache/strategies/BedrockCacheStrategy.js +0 -93
- package/dist/esm/cache/strategies/BedrockCacheStrategy.js.map +0 -1
- package/dist/esm/cache/strategies/OpenAICacheStrategy.d.ts +0 -47
- package/dist/esm/cache/strategies/OpenAICacheStrategy.js +0 -72
- package/dist/esm/cache/strategies/OpenAICacheStrategy.js.map +0 -1
- package/dist/esm/cache/strategyRegistry.d.ts +0 -45
- package/dist/esm/cache/strategyRegistry.js +0 -74
- package/dist/esm/cache/strategyRegistry.js.map +0 -1
- package/dist/types/cache/strategies/AnthropicCacheStrategy.d.ts +0 -42
- package/dist/types/cache/strategies/AnthropicCacheStrategy.d.ts.map +0 -1
- package/dist/types/cache/strategies/BedrockCacheStrategy.d.ts +0 -63
- package/dist/types/cache/strategies/BedrockCacheStrategy.d.ts.map +0 -1
- package/dist/types/cache/strategies/OpenAICacheStrategy.d.ts +0 -48
- package/dist/types/cache/strategies/OpenAICacheStrategy.d.ts.map +0 -1
- package/dist/types/cache/strategyRegistry.d.ts +0 -46
- package/dist/types/cache/strategyRegistry.d.ts.map +0 -1
|
@@ -16,6 +16,17 @@
|
|
|
16
16
|
* a. Walk the slot's contributions in order
|
|
17
17
|
* b. Find the LAST index that's contiguous-from-start cacheable
|
|
18
18
|
* c. Emit one CacheMarker at that boundary if any cacheable
|
|
19
|
+
* 4. The moving breakpoint: when EVERYTHING the policies govern before
|
|
20
|
+
* the conversation is cacheable — every tools entry, every system
|
|
21
|
+
* entry, every delivered message — mark the conversation's LAST
|
|
22
|
+
* message, so the next call (which repeats the conversation and
|
|
23
|
+
* appends to it) reads the whole prefix back. See
|
|
24
|
+
* `conversationTailMarker`.
|
|
25
|
+
*
|
|
26
|
+
* Nothing is marked when the tool schemas change on every call
|
|
27
|
+
* (`toolsVaryPerCall`, the findings offer): tools render first on a
|
|
28
|
+
* breakpoint wire, so every breakpoint would pay the write premium on bytes
|
|
29
|
+
* the next call does not send.
|
|
19
30
|
*
|
|
20
31
|
* Each marker is provider-agnostic. Provider strategy translates
|
|
21
32
|
* to wire format in Phase 6+.
|
|
@@ -26,7 +37,7 @@
|
|
|
26
37
|
* always-active rules) follow.
|
|
27
38
|
*/
|
|
28
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.decideCacheMarkers = exports.computeCacheMarkers = exports.injectionTargetSlots = exports.evaluateCachePolicy = void 0;
|
|
40
|
+
exports.decideCacheMarkers = exports.cacheDecisionStage = exports.computeCacheMarkers = exports.injectionTargetSlots = exports.evaluateCachePolicy = void 0;
|
|
30
41
|
const iterationBudget_js_1 = require("../lib/iterationBudget.js");
|
|
31
42
|
/**
|
|
32
43
|
* Evaluate a `CachePolicy` against the current context.
|
|
@@ -89,7 +100,7 @@ exports.injectionTargetSlots = injectionTargetSlots;
|
|
|
89
100
|
*/
|
|
90
101
|
function computeCacheMarkers(state) {
|
|
91
102
|
// Kill switch short-circuits immediately
|
|
92
|
-
if (state.cachingDisabled)
|
|
103
|
+
if (state.cachingDisabled || state.toolsVaryPerCall === true)
|
|
93
104
|
return [];
|
|
94
105
|
const ctx = {
|
|
95
106
|
iteration: state.iteration,
|
|
@@ -150,12 +161,54 @@ function computeCacheMarkers(state) {
|
|
|
150
161
|
});
|
|
151
162
|
}
|
|
152
163
|
}
|
|
153
|
-
const
|
|
164
|
+
const history = state.history ?? [];
|
|
165
|
+
const messagesMarker = messagesMarkerFor(history, cacheableById);
|
|
154
166
|
if (messagesMarker)
|
|
155
167
|
markers.push(messagesMarker);
|
|
168
|
+
const prefixCacheable = perSlot.system.every((e) => e.cacheable) && perSlot.tools.every((e) => e.cacheable);
|
|
169
|
+
const tail = conversationTailMarker(history, cacheableById, prefixCacheable);
|
|
170
|
+
if (tail && tail.boundaryIndex !== messagesMarker?.boundaryIndex)
|
|
171
|
+
markers.push(tail);
|
|
156
172
|
return markers;
|
|
157
173
|
}
|
|
158
174
|
exports.computeCacheMarkers = computeCacheMarkers;
|
|
175
|
+
/**
|
|
176
|
+
* The moving breakpoint — the conversation's LAST message, marked.
|
|
177
|
+
*
|
|
178
|
+
* An agent loop sends the whole conversation on every call and only ever
|
|
179
|
+
* appends to it (the window stage is its one writer; a compaction is the
|
|
180
|
+
* rare exception and simply misses once). So everything up to this call's
|
|
181
|
+
* last message is the next call's prefix, byte for byte, and a breakpoint
|
|
182
|
+
* here lets the next call read it back instead of paying for it again. The
|
|
183
|
+
* index is a position in `history`, which is where `callLLM` puts the
|
|
184
|
+
* conversation — request-only lines (the staged-refs nudge, the time line,
|
|
185
|
+
* the evidence conclusion) are appended AFTER it and are never inside the
|
|
186
|
+
* cached prefix, so a line that is gone on the next call cannot break it.
|
|
187
|
+
*
|
|
188
|
+
* Placed only when the prefix before the conversation is cacheable this
|
|
189
|
+
* iteration — every system and tools entry (`prefixCacheable`) — and every
|
|
190
|
+
* message an injection delivered into the conversation is too: on a
|
|
191
|
+
* breakpoint wire this marker covers all of them, and marking past a piece
|
|
192
|
+
* its policy calls volatile would write a cache entry the next call cannot
|
|
193
|
+
* read. Fail-closed, like every other unknown in this file.
|
|
194
|
+
*/
|
|
195
|
+
function conversationTailMarker(history, cacheableById, prefixCacheable) {
|
|
196
|
+
if (!prefixCacheable || history.length === 0)
|
|
197
|
+
return undefined;
|
|
198
|
+
for (const m of history) {
|
|
199
|
+
const by = m.injectedBy;
|
|
200
|
+
if (by !== undefined && cacheableById.get(by.injectionId) !== true)
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
const boundary = history.length - 1;
|
|
204
|
+
return {
|
|
205
|
+
field: 'messages',
|
|
206
|
+
boundaryIndex: boundary,
|
|
207
|
+
ttl: 'short',
|
|
208
|
+
reason: `conversation tail through wire index ${boundary} — the moving breakpoint: the next ` +
|
|
209
|
+
'call repeats this prefix and appends after it',
|
|
210
|
+
};
|
|
211
|
+
}
|
|
159
212
|
/**
|
|
160
213
|
* The `messages` marker, computed against the ACTUAL wire array (7.21).
|
|
161
214
|
*
|
|
@@ -206,26 +259,31 @@ function messagesMarkerFor(history, cacheableById) {
|
|
|
206
259
|
};
|
|
207
260
|
}
|
|
208
261
|
/**
|
|
209
|
-
* The decision stage
|
|
210
|
-
* `computeCacheMarkers
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* standalone use — no logic duplication.
|
|
262
|
+
* The decision stage, built for one chart. Thin scope-binding wrapper around
|
|
263
|
+
* `computeCacheMarkers`, so it can serve as the ROOT stage of the `sf-cache`
|
|
264
|
+
* subflow (a chart cannot start with a nested subflow) — no logic
|
|
265
|
+
* duplication.
|
|
214
266
|
*/
|
|
215
|
-
function
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
267
|
+
function cacheDecisionStage(options = {}) {
|
|
268
|
+
const toolsVaryPerCall = options.toolsVaryPerCall === true;
|
|
269
|
+
return (scope) => {
|
|
270
|
+
scope.cacheMarkers = computeCacheMarkers({
|
|
271
|
+
activeInjections: scope.activeInjections,
|
|
272
|
+
iteration: scope.iteration,
|
|
273
|
+
maxIterations: scope.maxIterations,
|
|
274
|
+
userMessage: scope.userMessage,
|
|
275
|
+
...(scope.lastToolName !== undefined && { lastToolName: scope.lastToolName }),
|
|
276
|
+
cumulativeInputTokens: scope.cumulativeInputTokens,
|
|
277
|
+
systemPromptCachePolicy: scope.systemPromptCachePolicy,
|
|
278
|
+
cachingDisabled: scope.cachingDisabled,
|
|
279
|
+
...(scope.history !== undefined && { history: scope.history }),
|
|
280
|
+
...(toolsVaryPerCall && { toolsVaryPerCall: true }),
|
|
281
|
+
});
|
|
282
|
+
};
|
|
227
283
|
}
|
|
228
|
-
exports.
|
|
284
|
+
exports.cacheDecisionStage = cacheDecisionStage;
|
|
285
|
+
/** The decision stage for a chart whose tool schemas are stable per call. */
|
|
286
|
+
exports.decideCacheMarkers = cacheDecisionStage();
|
|
229
287
|
// NOTE: the cache decision is now the ROOT stage of the `sf-cache` subflow
|
|
230
288
|
// (see core/agent/buildCacheSubflow.ts) via the exported `decideCacheMarkers`
|
|
231
289
|
// above. The former standalone `cacheDecisionSubflow` FlowChart export was
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheDecisionSubflow.js","sourceRoot":"","sources":["../../src/cache/CacheDecisionSubflow.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"CacheDecisionSubflow.js","sourceRoot":"","sources":["../../src/cache/CacheDecisionSubflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* cacheStrategyFor — the cache strategy for a provider, chosen from what the
|
|
4
|
+
* provider DECLARES (`LLMProvider.promptCaching`), never from its name.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Strategy, selected by capability. The provider adapter declares
|
|
7
|
+
* how its wire caches (`'breakpoints'` | `'automatic'` | absent);
|
|
8
|
+
* this function maps the declaration to the one strategy that
|
|
9
|
+
* serves it.
|
|
10
|
+
* Role: the ONE place an agent's cache strategy is chosen (`Agent`, and a
|
|
11
|
+
* skill brain whose provider differs from the agent's).
|
|
12
|
+
*
|
|
13
|
+
* Why not by name: the name is a label, and labels get rewritten. The
|
|
14
|
+
* registry this replaces keyed strategies by `provider.name`, so every
|
|
15
|
+
* decorator that renamed its provider — `withRetry` (`anthropic+retry`),
|
|
16
|
+
* `withFallback` (`a|b`), an application's own routing wrapper
|
|
17
|
+
* (`my-app/anthropic`) — silently fell through to the no-op strategy: no
|
|
18
|
+
* cache markers, every call at full input price, and nothing in the run to
|
|
19
|
+
* say why. A wrapper that forwards the declaration (the library's three
|
|
20
|
+
* decorators do) caches exactly like the adapter it wraps.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { cacheStrategyFor } from 'agentfootprint/cache';
|
|
25
|
+
* import { withRetry } from 'agentfootprint/resilience';
|
|
26
|
+
* import { anthropic } from 'agentfootprint/providers';
|
|
27
|
+
*
|
|
28
|
+
* cacheStrategyFor(withRetry(anthropic())).name; // 'breakpoints'
|
|
29
|
+
* cacheStrategyFor({ name: 'x', complete }).name; // 'none' — nothing declared
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.cacheStrategyFor = void 0;
|
|
34
|
+
const AutomaticCacheStrategy_js_1 = require("./strategies/AutomaticCacheStrategy.js");
|
|
35
|
+
const BreakpointCacheStrategy_js_1 = require("./strategies/BreakpointCacheStrategy.js");
|
|
36
|
+
const NoOpCacheStrategy_js_1 = require("./strategies/NoOpCacheStrategy.js");
|
|
37
|
+
/** One shared instance: the no-op strategy holds no state. */
|
|
38
|
+
const NO_CACHING = new NoOpCacheStrategy_js_1.NoOpCacheStrategy();
|
|
39
|
+
/**
|
|
40
|
+
* The strategy that serves `provider`'s declared prompt caching.
|
|
41
|
+
*
|
|
42
|
+
* @throws TypeError when the declaration is malformed (an unknown `mode`, a
|
|
43
|
+
* `maxBreakpoints` that is not a positive integer, a non-boolean
|
|
44
|
+
* `reportsUsage`) — refused at agent build, by provider name. A typo that
|
|
45
|
+
* quietly fell back to "no caching" would be the very failure this
|
|
46
|
+
* function exists to end.
|
|
47
|
+
*/
|
|
48
|
+
function cacheStrategyFor(provider) {
|
|
49
|
+
const declared = provider.promptCaching;
|
|
50
|
+
if (declared === undefined)
|
|
51
|
+
return NO_CACHING;
|
|
52
|
+
const who = `the '${provider.name}' provider`;
|
|
53
|
+
assertDeclaration(declared, who);
|
|
54
|
+
return declared.mode === 'breakpoints'
|
|
55
|
+
? new BreakpointCacheStrategy_js_1.BreakpointCacheStrategy(declared, who)
|
|
56
|
+
: new AutomaticCacheStrategy_js_1.AutomaticCacheStrategy(declared, who);
|
|
57
|
+
}
|
|
58
|
+
exports.cacheStrategyFor = cacheStrategyFor;
|
|
59
|
+
function assertDeclaration(declared, who) {
|
|
60
|
+
const shape = declared;
|
|
61
|
+
const refuse = (what) => {
|
|
62
|
+
throw new TypeError(`${who} declares promptCaching ${what}. Declare { mode: 'breakpoints', maxBreakpoints, ` +
|
|
63
|
+
"reportsUsage } or { mode: 'automatic', reportsUsage } — or leave promptCaching out " +
|
|
64
|
+
'if the provider does no caching the agent can drive.');
|
|
65
|
+
};
|
|
66
|
+
if (shape.mode !== 'breakpoints' && shape.mode !== 'automatic') {
|
|
67
|
+
refuse(`with mode ${JSON.stringify(shape.mode)}`);
|
|
68
|
+
}
|
|
69
|
+
if (shape.mode === 'breakpoints' &&
|
|
70
|
+
!(Number.isInteger(shape.maxBreakpoints) && shape.maxBreakpoints > 0)) {
|
|
71
|
+
refuse(`with maxBreakpoints ${JSON.stringify(shape.maxBreakpoints)} (a positive integer)`);
|
|
72
|
+
}
|
|
73
|
+
if (typeof shape.reportsUsage !== 'boolean') {
|
|
74
|
+
refuse(`with reportsUsage ${JSON.stringify(shape.reportsUsage)} (true or false)`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=cacheStrategyFor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cacheStrategyFor.js","sourceRoot":"","sources":["../../src/cache/cacheStrategyFor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;AAIH,sFAAgF;AAChF,wFAAkF;AAClF,4EAAsE;AAEtE,8DAA8D;AAC9D,MAAM,UAAU,GAAG,IAAI,wCAAiB,EAAE,CAAC;AAE3C;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC9B,QAAqD;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;IACxC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC9C,MAAM,GAAG,GAAG,QAAQ,QAAQ,CAAC,IAAI,YAAY,CAAC;IAC9C,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,IAAI,KAAK,aAAa;QACpC,CAAC,CAAC,IAAI,oDAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC;QAC5C,CAAC,CAAC,IAAI,kDAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAVD,4CAUC;AAED,SAAS,iBAAiB,CAAC,QAAuB,EAAE,GAAW;IAC7D,MAAM,KAAK,GAAG,QAAgF,CAAC;IAC/F,MAAM,MAAM,GAAG,CAAC,IAAY,EAAS,EAAE;QACrC,MAAM,IAAI,SAAS,CACjB,GAAG,GAAG,2BAA2B,IAAI,mDAAmD;YACtF,qFAAqF;YACrF,sDAAsD,CACzD,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/D,MAAM,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,aAAa;QAC5B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,IAAK,KAAK,CAAC,cAAyB,GAAG,CAAC,CAAC,EACjF,CAAC;QACD,MAAM,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACpF,CAAC;AACH,CAAC"}
|
package/dist/cache/index.js
CHANGED
|
@@ -1,36 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* agentfootprint/cache — public surface for the cache layer
|
|
3
|
+
* agentfootprint/cache — public surface for the cache layer.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* adapter lifts `prompt_tokens_details.cached_tokens` onto the port
|
|
18
|
-
* - BedrockCacheStrategy ('bedrock') — `enabled: false`; the Bedrock
|
|
19
|
-
* adapter implements neither half of the cache contract
|
|
20
|
-
*
|
|
21
|
-
* Future strategies:
|
|
22
|
-
* - GeminiCacheStrategy (async handle-based)
|
|
5
|
+
* The strategy an agent runs is chosen by CAPABILITY: the provider adapter
|
|
6
|
+
* declares how its wire caches (`LLMProvider.promptCaching`) and
|
|
7
|
+
* `cacheStrategyFor(provider)` returns the one strategy that serves it —
|
|
8
|
+
* - `BreakpointCacheStrategy` — `mode: 'breakpoints'` (Anthropic's
|
|
9
|
+
* `cache_control`; `anthropic()`, `browserAnthropic()`);
|
|
10
|
+
* - `AutomaticCacheStrategy` — `mode: 'automatic'` (OpenAI and Azure
|
|
11
|
+
* OpenAI cache on their own);
|
|
12
|
+
* - `NoOpCacheStrategy` — nothing declared (Mock, Ollama, Bedrock Converse,
|
|
13
|
+
* Gemini, any adapter that has not said).
|
|
14
|
+
* Nothing registers at module load and nothing is keyed by provider name, so
|
|
15
|
+
* a decorator that renames its provider keeps caching by forwarding the
|
|
16
|
+
* declaration.
|
|
23
17
|
*
|
|
24
18
|
* Public types (re-exported for consumers):
|
|
25
|
-
* -
|
|
26
|
-
* CacheMetrics, CachePolicyContext, CacheStrategyContext
|
|
19
|
+
* - PromptCaching (the provider's declaration), CachePolicy, CacheMarker,
|
|
20
|
+
* CacheStrategy, CacheMetrics, CachePolicyContext, CacheStrategyContext,
|
|
21
|
+
* CacheUsage
|
|
27
22
|
*/
|
|
28
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.cacheRecorder = exports.
|
|
30
|
-
// Side-effect imports — register strategies on module load.
|
|
31
|
-
require("./strategies/AnthropicCacheStrategy.js");
|
|
32
|
-
require("./strategies/OpenAICacheStrategy.js");
|
|
33
|
-
require("./strategies/BedrockCacheStrategy.js");
|
|
24
|
+
exports.cacheRecorder = exports.AutomaticCacheStrategy = exports.BreakpointCacheStrategy = exports.NoOpCacheStrategy = exports.cacheStrategyFor = exports.describeClaim = exports.valueOr = exports.isKnown = exports.notApplicable = exports.unknown = exports.known = void 0;
|
|
34
25
|
// The honesty primitive the meter is typed in (9.59.0). Re-exported
|
|
35
26
|
// reference-equal from `src/lib/claim/` — the SAME symbols
|
|
36
27
|
// `agentfootprint/maps` exports, so `known` from either door is one function.
|
|
@@ -41,20 +32,17 @@ Object.defineProperty(exports, "notApplicable", { enumerable: true, get: functio
|
|
|
41
32
|
Object.defineProperty(exports, "isKnown", { enumerable: true, get: function () { return claim_js_1.isKnown; } });
|
|
42
33
|
Object.defineProperty(exports, "valueOr", { enumerable: true, get: function () { return claim_js_1.valueOr; } });
|
|
43
34
|
Object.defineProperty(exports, "describeClaim", { enumerable: true, get: function () { return claim_js_1.describeClaim; } });
|
|
44
|
-
// Strategy
|
|
45
|
-
var
|
|
46
|
-
Object.defineProperty(exports, "
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// Built-in strategy classes (for consumers who want explicit overrides)
|
|
35
|
+
// Strategy selection — by the provider's declared capability, never its name
|
|
36
|
+
var cacheStrategyFor_js_1 = require("./cacheStrategyFor.js");
|
|
37
|
+
Object.defineProperty(exports, "cacheStrategyFor", { enumerable: true, get: function () { return cacheStrategyFor_js_1.cacheStrategyFor; } });
|
|
38
|
+
// Built-in strategy classes (for consumers who want explicit overrides via
|
|
39
|
+
// `Agent.create({ cacheStrategy })`)
|
|
50
40
|
var NoOpCacheStrategy_js_1 = require("./strategies/NoOpCacheStrategy.js");
|
|
51
41
|
Object.defineProperty(exports, "NoOpCacheStrategy", { enumerable: true, get: function () { return NoOpCacheStrategy_js_1.NoOpCacheStrategy; } });
|
|
52
|
-
var
|
|
53
|
-
Object.defineProperty(exports, "
|
|
54
|
-
var
|
|
55
|
-
Object.defineProperty(exports, "
|
|
56
|
-
var BedrockCacheStrategy_js_1 = require("./strategies/BedrockCacheStrategy.js");
|
|
57
|
-
Object.defineProperty(exports, "BedrockCacheStrategy", { enumerable: true, get: function () { return BedrockCacheStrategy_js_1.BedrockCacheStrategy; } });
|
|
42
|
+
var BreakpointCacheStrategy_js_1 = require("./strategies/BreakpointCacheStrategy.js");
|
|
43
|
+
Object.defineProperty(exports, "BreakpointCacheStrategy", { enumerable: true, get: function () { return BreakpointCacheStrategy_js_1.BreakpointCacheStrategy; } });
|
|
44
|
+
var AutomaticCacheStrategy_js_1 = require("./strategies/AutomaticCacheStrategy.js");
|
|
45
|
+
Object.defineProperty(exports, "AutomaticCacheStrategy", { enumerable: true, get: function () { return AutomaticCacheStrategy_js_1.AutomaticCacheStrategy; } });
|
|
58
46
|
// Recorder
|
|
59
47
|
var cacheRecorder_js_1 = require("./cacheRecorder.js");
|
|
60
48
|
Object.defineProperty(exports, "cacheRecorder", { enumerable: true, get: function () { return cacheRecorder_js_1.cacheRecorder; } });
|
package/dist/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAeH,oEAAoE;AACpE,2DAA2D;AAC3D,8EAA8E;AAC9E,kDAQ+B;AAP7B,iGAAA,KAAK,OAAA;AACL,mGAAA,OAAO,OAAA;AACP,yGAAA,aAAa,OAAA;AACb,mGAAA,OAAO,OAAA;AACP,mGAAA,OAAO,OAAA;AACP,yGAAA,aAAa,OAAA;AAIf,6EAA6E;AAC7E,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AAEzB,2EAA2E;AAC3E,qCAAqC;AACrC,0EAAsE;AAA7D,yHAAA,iBAAiB,OAAA;AAC1B,sFAAkF;AAAzE,qIAAA,uBAAuB,OAAA;AAChC,oFAAgF;AAAvE,mIAAA,sBAAsB,OAAA;AAE/B,WAAW;AACX,uDAAmD;AAA1C,iHAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AutomaticCacheStrategy — for a provider that caches repeated prefixes on
|
|
4
|
+
* its own (`promptCaching.mode: 'automatic'`; OpenAI, Azure OpenAI).
|
|
5
|
+
*
|
|
6
|
+
* Chosen by CAPABILITY (`cacheStrategyFor`), never by provider name.
|
|
7
|
+
*
|
|
8
|
+
* - **prepareRequest**: pass-through. The provider decides what to cache;
|
|
9
|
+
* a marker would mean nothing on its wire. The `cache:` policies on
|
|
10
|
+
* injections still matter — they travel with the agent and take effect
|
|
11
|
+
* the moment it runs on a breakpoint provider — but here they have no
|
|
12
|
+
* local effect, and `cache: 'never'` cannot stop the provider caching.
|
|
13
|
+
* - **extractMetrics**: the port usage when the adapter declares it
|
|
14
|
+
* reports cache tokens; `not applicable` when it declares it does not
|
|
15
|
+
* (the OpenAI adapter does not lift `prompt_tokens_details.cached_tokens`
|
|
16
|
+
* yet — named, rather than hidden behind a per-call `unknown` that would
|
|
17
|
+
* suggest the measurement was attempted).
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.AutomaticCacheStrategy = void 0;
|
|
21
|
+
const claim_js_1 = require("../../lib/claim/claim.js");
|
|
22
|
+
const portUsage_js_1 = require("../portUsage.js");
|
|
23
|
+
class AutomaticCacheStrategy {
|
|
24
|
+
name = 'automatic';
|
|
25
|
+
reportsUsage;
|
|
26
|
+
who;
|
|
27
|
+
/**
|
|
28
|
+
* @param declared the provider's `promptCaching` declaration
|
|
29
|
+
* @param who names the adapter in the meter's evidence sentences
|
|
30
|
+
*/
|
|
31
|
+
constructor(declared, who = 'the provider') {
|
|
32
|
+
this.reportsUsage = declared.reportsUsage;
|
|
33
|
+
this.who = who;
|
|
34
|
+
}
|
|
35
|
+
async prepareRequest(req, _candidates, _ctx) {
|
|
36
|
+
return { request: req, markersApplied: [] };
|
|
37
|
+
}
|
|
38
|
+
extractMetrics(usage) {
|
|
39
|
+
if (!this.reportsUsage) {
|
|
40
|
+
return (0, claim_js_1.notApplicable)(`${this.who} caches automatically but declares that it does not report cache ` +
|
|
41
|
+
'token counts (promptCaching.reportsUsage: false)');
|
|
42
|
+
}
|
|
43
|
+
return (0, portUsage_js_1.readPortCacheUsage)(usage, this.who);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.AutomaticCacheStrategy = AutomaticCacheStrategy;
|
|
47
|
+
//# sourceMappingURL=AutomaticCacheStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutomaticCacheStrategy.js","sourceRoot":"","sources":["../../../src/cache/strategies/AutomaticCacheStrategy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAUH,uDAAqE;AACrE,kDAAqD;AAGrD,MAAa,sBAAsB;IACxB,IAAI,GAAG,WAAW,CAAC;IACX,YAAY,CAAU;IACtB,GAAG,CAAS;IAE7B;;;OAGG;IACH,YAAY,QAAuD,EAAE,GAAG,GAAG,cAAc;QACvF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAAe,EACf,WAAmC,EACnC,IAA0B;QAK1B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,KAA6B;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAA,wBAAa,EAClB,GAAG,IAAI,CAAC,GAAG,mEAAmE;gBAC5E,kDAAkD,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,IAAA,iCAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF;AAlCD,wDAkCC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BreakpointCacheStrategy — for a provider that caches a prefix only where
|
|
4
|
+
* the request marks it (`promptCaching.mode: 'breakpoints'`; Anthropic's
|
|
5
|
+
* `cache_control`).
|
|
6
|
+
*
|
|
7
|
+
* Chosen by CAPABILITY (`cacheStrategyFor`), never by provider name: built
|
|
8
|
+
* from the provider's own declaration, so `withRetry(anthropic())` or an
|
|
9
|
+
* application's routing wrapper caches exactly like the adapter it wraps.
|
|
10
|
+
*
|
|
11
|
+
* What it DOES:
|
|
12
|
+
* - clamp the candidate markers to the declared `maxBreakpoints`, keeping
|
|
13
|
+
* the first N in slot order (the most stable prefixes first);
|
|
14
|
+
* - put them on `LLMRequest.cacheMarkers`, where the adapter reads them;
|
|
15
|
+
* - read cache metrics off the PORT usage the adapter normalised —
|
|
16
|
+
* `not applicable` when the declaration says the adapter reports none.
|
|
17
|
+
* What it does NOT: touch the wire. The adapter owns `cache_control`
|
|
18
|
+
* (`adapters/llm/anthropicCacheWire.ts`), and content is never edited.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.BreakpointCacheStrategy = void 0;
|
|
22
|
+
const claim_js_1 = require("../../lib/claim/claim.js");
|
|
23
|
+
const portUsage_js_1 = require("../portUsage.js");
|
|
24
|
+
class BreakpointCacheStrategy {
|
|
25
|
+
name = 'breakpoints';
|
|
26
|
+
maxBreakpoints;
|
|
27
|
+
reportsUsage;
|
|
28
|
+
who;
|
|
29
|
+
/**
|
|
30
|
+
* @param declared the provider's `promptCaching` declaration
|
|
31
|
+
* @param who names the adapter in the meter's evidence sentences,
|
|
32
|
+
* e.g. `"the 'anthropic' provider"`
|
|
33
|
+
*/
|
|
34
|
+
constructor(declared, who = 'the provider') {
|
|
35
|
+
this.maxBreakpoints = declared.maxBreakpoints;
|
|
36
|
+
this.reportsUsage = declared.reportsUsage;
|
|
37
|
+
this.who = who;
|
|
38
|
+
}
|
|
39
|
+
async prepareRequest(req, candidates, ctx) {
|
|
40
|
+
// The agent-side kill switch, honoured here too: the CacheGate should
|
|
41
|
+
// already have emptied the candidates, but a buggy gate must not be able
|
|
42
|
+
// to put markers on a request whose run said caching is off.
|
|
43
|
+
if (ctx.cachingDisabled || candidates.length === 0) {
|
|
44
|
+
return { request: req, markersApplied: [] };
|
|
45
|
+
}
|
|
46
|
+
const markersApplied = candidates.length <= this.maxBreakpoints
|
|
47
|
+
? candidates
|
|
48
|
+
: candidates.slice(0, this.maxBreakpoints);
|
|
49
|
+
return { request: { ...req, cacheMarkers: markersApplied }, markersApplied };
|
|
50
|
+
}
|
|
51
|
+
extractMetrics(usage) {
|
|
52
|
+
if (!this.reportsUsage) {
|
|
53
|
+
return (0, claim_js_1.notApplicable)(`${this.who} declares that it does not report cache token counts ` +
|
|
54
|
+
'(promptCaching.reportsUsage: false)');
|
|
55
|
+
}
|
|
56
|
+
return (0, portUsage_js_1.readPortCacheUsage)(usage, this.who);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.BreakpointCacheStrategy = BreakpointCacheStrategy;
|
|
60
|
+
//# sourceMappingURL=BreakpointCacheStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreakpointCacheStrategy.js","sourceRoot":"","sources":["../../../src/cache/strategies/BreakpointCacheStrategy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAUH,uDAAqE;AACrE,kDAAqD;AAGrD,MAAa,uBAAuB;IACzB,IAAI,GAAG,aAAa,CAAC;IACb,cAAc,CAAS;IACvB,YAAY,CAAU;IACtB,GAAG,CAAS;IAE7B;;;;OAIG;IACH,YAAY,QAAyD,EAAE,GAAG,GAAG,cAAc;QACzF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAAe,EACf,UAAkC,EAClC,GAAyB;QAKzB,sEAAsE;QACtE,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc;YACtC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,CAAC;IAC/E,CAAC;IAED,cAAc,CAAC,KAA6B;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAA,wBAAa,EAClB,GAAG,IAAI,CAAC,GAAG,uDAAuD;gBAChE,qCAAqC,CACxC,CAAC;QACJ,CAAC;QACD,OAAO,IAAA,iCAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF;AA/CD,0DA+CC"}
|
|
@@ -1,40 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* NoOpCacheStrategy —
|
|
4
|
-
*
|
|
3
|
+
* NoOpCacheStrategy — for a provider that declares no prompt caching
|
|
4
|
+
* (`LLMProvider.promptCaching` absent): Mock, Ollama, Bedrock Converse,
|
|
5
|
+
* any adapter that has not said, or an intentional opt-out.
|
|
5
6
|
*
|
|
6
|
-
* Returns the request unchanged
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* optimization), though current Phase 4+5 always emit markers and
|
|
10
|
-
* let the strategy decide what to do with them.
|
|
11
|
-
*
|
|
12
|
-
* Always-available default. Registered against the special wildcard
|
|
13
|
-
* `'*'` so any unrecognized provider name falls back to NoOp.
|
|
7
|
+
* Returns the request unchanged and reports *not applicable* — never a zero.
|
|
8
|
+
* Chosen by `cacheStrategyFor` when the declaration is absent; one shared
|
|
9
|
+
* instance serves every such provider (it holds no state).
|
|
14
10
|
*/
|
|
15
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
12
|
exports.NoOpCacheStrategy = void 0;
|
|
17
13
|
const claim_js_1 = require("../../lib/claim/claim.js");
|
|
18
|
-
const NOOP_CAPABILITIES = Object.freeze({
|
|
19
|
-
enabled: false,
|
|
20
|
-
maxMarkers: 0,
|
|
21
|
-
ttls: [],
|
|
22
|
-
fields: [],
|
|
23
|
-
automatic: false,
|
|
24
|
-
});
|
|
25
14
|
class NoOpCacheStrategy {
|
|
26
|
-
|
|
27
|
-
* Wildcard provider name. The strategy registry treats this as the
|
|
28
|
-
* fallback for any provider that doesn't have a specific strategy
|
|
29
|
-
* registered.
|
|
30
|
-
*/
|
|
31
|
-
providerName = '*';
|
|
32
|
-
capabilities = NOOP_CAPABILITIES;
|
|
15
|
+
name = 'none';
|
|
33
16
|
async prepareRequest(req, _candidates, _ctx) {
|
|
34
17
|
return { request: req, markersApplied: [] };
|
|
35
18
|
}
|
|
36
19
|
extractMetrics(_usage) {
|
|
37
|
-
return (0, claim_js_1.notApplicable)('the
|
|
20
|
+
return (0, claim_js_1.notApplicable)('the provider declares no prompt caching (LLMProvider.promptCaching is absent), so no ' +
|
|
21
|
+
'cache traffic is driven or reported');
|
|
38
22
|
}
|
|
39
23
|
}
|
|
40
24
|
exports.NoOpCacheStrategy = NoOpCacheStrategy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoOpCacheStrategy.js","sourceRoot":"","sources":["../../../src/cache/strategies/NoOpCacheStrategy.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"NoOpCacheStrategy.js","sourceRoot":"","sources":["../../../src/cache/strategies/NoOpCacheStrategy.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AASH,uDAAqE;AAGrE,MAAa,iBAAiB;IACnB,IAAI,GAAG,MAAM,CAAC;IAEvB,KAAK,CAAC,cAAc,CAClB,GAAe,EACf,WAAmC,EACnC,IAA0B;QAK1B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,MAA8B;QAC3C,OAAO,IAAA,wBAAa,EAClB,uFAAuF;YACrF,qCAAqC,CACxC,CAAC;IACJ,CAAC;CACF;AApBD,8CAoBC"}
|
package/dist/cache/types.js
CHANGED
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
* `CacheDecision` subflow at runtime. Provider-independent
|
|
13
13
|
* identification of "cacheable prefix in field X up to index Y".
|
|
14
14
|
*
|
|
15
|
-
* 3.
|
|
16
|
-
* provider (
|
|
17
|
-
*
|
|
18
|
-
* cache metrics
|
|
15
|
+
* 3. STRATEGY — one `CacheStrategy` per CAPABILITY, chosen from what the
|
|
16
|
+
* provider DECLARES (`LLMProvider.promptCaching`), never from its name:
|
|
17
|
+
* explicit breakpoints, automatic prefix caching, or none. Decides
|
|
18
|
+
* which markers reach the request AND reads cache metrics off the
|
|
19
|
+
* port usage. The adapter owns the wire format.
|
|
19
20
|
*
|
|
20
21
|
* The interfaces are read-only / immutable by convention. Strategies
|
|
21
22
|
* MUST be stateless across runs; per-run state lives in the
|
package/dist/cache/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
|