agentfootprint 10.6.1 → 10.8.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 +5 -0
- package/dist/adapters/llm/BedrockProvider.js +18 -3
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/bedrockCacheWire.js +92 -0
- package/dist/adapters/llm/bedrockCacheWire.js.map +1 -0
- package/dist/adapters/llm/bedrockModels.js +72 -0
- package/dist/adapters/llm/bedrockModels.js.map +1 -0
- package/dist/artifacts/detailError.js +27 -0
- package/dist/artifacts/detailError.js.map +1 -0
- package/dist/artifacts/detailRequest.js +63 -0
- package/dist/artifacts/detailRequest.js.map +1 -0
- package/dist/artifacts/detailTypes.js +3 -0
- package/dist/artifacts/detailTypes.js.map +1 -0
- package/dist/artifacts/detailView.js +98 -0
- package/dist/artifacts/detailView.js.map +1 -0
- package/dist/cache/applyCachePolicy.js +12 -3
- package/dist/cache/applyCachePolicy.js.map +1 -1
- package/dist/cache/cacheRecorder.js +4 -1
- package/dist/cache/cacheRecorder.js.map +1 -1
- package/dist/cache/cacheStrategyFor.js +41 -5
- package/dist/cache/cacheStrategyFor.js.map +1 -1
- package/dist/cache/index.js +4 -3
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/strategies/BreakpointCacheStrategy.js +5 -2
- package/dist/cache/strategies/BreakpointCacheStrategy.js.map +1 -1
- package/dist/cache/strategies/NoOpCacheStrategy.js +2 -2
- package/dist/cache/strategies/NoOpCacheStrategy.js.map +1 -1
- package/dist/core/Agent.js +22 -2
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +3 -1
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/cacheSupport.js +43 -0
- package/dist/core/agent/cacheSupport.js.map +1 -0
- package/dist/core/agent/evidence/extract.js +70 -13
- package/dist/core/agent/evidence/extract.js.map +1 -1
- package/dist/core/agent/evidence/figureUnits.js +24 -0
- package/dist/core/agent/evidence/figureUnits.js.map +1 -0
- package/dist/core/agent/evidence/figures.js +90 -49
- package/dist/core/agent/evidence/figures.js.map +1 -1
- package/dist/core/agent/evidence/gate.js +15 -4
- package/dist/core/agent/evidence/gate.js.map +1 -1
- package/dist/core/agent/evidence/numberPrecision.js +57 -0
- package/dist/core/agent/evidence/numberPrecision.js.map +1 -0
- package/dist/core/agent/evidence/numericRanges.js +33 -0
- package/dist/core/agent/evidence/numericRanges.js.map +1 -0
- package/dist/core/agent/findings/contingent.js +1 -1
- package/dist/core/agent/findings/contingent.js.map +1 -1
- package/dist/core/agent/runManifest.js +7 -0
- package/dist/core/agent/runManifest.js.map +1 -1
- package/dist/core/agent/skillBrains.js +13 -5
- package/dist/core/agent/skillBrains.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +9 -1
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/route.js +4 -3
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/debug.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +6 -7
- package/dist/esm/adapters/llm/BedrockProvider.js +18 -3
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +2 -3
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +1 -2
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/bedrockCacheWire.d.ts +46 -0
- package/dist/esm/adapters/llm/bedrockCacheWire.js +86 -0
- package/dist/esm/adapters/llm/bedrockCacheWire.js.map +1 -0
- package/dist/esm/adapters/llm/bedrockModels.d.ts +19 -0
- package/dist/esm/adapters/llm/bedrockModels.js +68 -0
- package/dist/esm/adapters/llm/bedrockModels.js.map +1 -0
- package/dist/esm/artifacts/detailError.d.ts +9 -0
- package/dist/esm/artifacts/detailError.js +21 -0
- package/dist/esm/artifacts/detailError.js.map +1 -0
- package/dist/esm/artifacts/detailRequest.d.ts +15 -0
- package/dist/esm/artifacts/detailRequest.js +58 -0
- package/dist/esm/artifacts/detailRequest.js.map +1 -0
- package/dist/esm/artifacts/detailTypes.d.ts +49 -0
- package/dist/esm/artifacts/detailTypes.js +2 -0
- package/dist/esm/artifacts/detailTypes.js.map +1 -0
- package/dist/esm/artifacts/detailView.d.ts +3 -0
- package/dist/esm/artifacts/detailView.js +94 -0
- package/dist/esm/artifacts/detailView.js.map +1 -0
- package/dist/esm/cache/applyCachePolicy.d.ts +8 -2
- package/dist/esm/cache/applyCachePolicy.js +10 -2
- package/dist/esm/cache/applyCachePolicy.js.map +1 -1
- package/dist/esm/cache/cacheRecorder.js +4 -1
- package/dist/esm/cache/cacheRecorder.js.map +1 -1
- package/dist/esm/cache/cacheStrategyFor.d.ts +21 -3
- package/dist/esm/cache/cacheStrategyFor.js +39 -4
- package/dist/esm/cache/cacheStrategyFor.js.map +1 -1
- package/dist/esm/cache/index.d.ts +3 -3
- package/dist/esm/cache/index.js +3 -3
- package/dist/esm/cache/index.js.map +1 -1
- package/dist/esm/cache/strategies/BreakpointCacheStrategy.d.ts +1 -0
- package/dist/esm/cache/strategies/BreakpointCacheStrategy.js +5 -2
- package/dist/esm/cache/strategies/BreakpointCacheStrategy.js.map +1 -1
- package/dist/esm/cache/strategies/NoOpCacheStrategy.d.ts +1 -1
- package/dist/esm/cache/strategies/NoOpCacheStrategy.js +2 -2
- package/dist/esm/cache/strategies/NoOpCacheStrategy.js.map +1 -1
- package/dist/esm/cache/types.d.ts +3 -0
- package/dist/esm/core/Agent.d.ts +3 -1
- package/dist/esm/core/Agent.js +22 -2
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +1 -0
- package/dist/esm/core/agent/AgentBuilder.js +3 -1
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/cacheSupport.d.ts +12 -0
- package/dist/esm/core/agent/cacheSupport.js +39 -0
- package/dist/esm/core/agent/cacheSupport.js.map +1 -0
- package/dist/esm/core/agent/evidence/extract.d.ts +12 -3
- package/dist/esm/core/agent/evidence/extract.js +71 -14
- package/dist/esm/core/agent/evidence/extract.js.map +1 -1
- package/dist/esm/core/agent/evidence/figureUnits.d.ts +2 -0
- package/dist/esm/core/agent/evidence/figureUnits.js +21 -0
- package/dist/esm/core/agent/evidence/figureUnits.js.map +1 -0
- package/dist/esm/core/agent/evidence/figures.d.ts +26 -7
- package/dist/esm/core/agent/evidence/figures.js +81 -42
- package/dist/esm/core/agent/evidence/figures.js.map +1 -1
- package/dist/esm/core/agent/evidence/gate.js +15 -4
- package/dist/esm/core/agent/evidence/gate.js.map +1 -1
- package/dist/esm/core/agent/evidence/numberPrecision.d.ts +13 -0
- package/dist/esm/core/agent/evidence/numberPrecision.js +52 -0
- package/dist/esm/core/agent/evidence/numberPrecision.js.map +1 -0
- package/dist/esm/core/agent/evidence/numericRanges.d.ts +8 -0
- package/dist/esm/core/agent/evidence/numericRanges.js +28 -0
- package/dist/esm/core/agent/evidence/numericRanges.js.map +1 -0
- package/dist/esm/core/agent/evidence/types.d.ts +14 -4
- package/dist/esm/core/agent/findings/contingent.js +1 -1
- package/dist/esm/core/agent/findings/contingent.js.map +1 -1
- package/dist/esm/core/agent/runManifest.d.ts +3 -0
- package/dist/esm/core/agent/runManifest.js +7 -0
- package/dist/esm/core/agent/runManifest.js.map +1 -1
- package/dist/esm/core/agent/skillBrains.d.ts +4 -0
- package/dist/esm/core/agent/skillBrains.js +13 -5
- package/dist/esm/core/agent/skillBrains.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.d.ts +2 -0
- package/dist/esm/core/agent/stages/callLLM.js +9 -1
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/route.js +5 -3
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/debug.d.ts +1 -1
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +7 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/injection-engine/factories/defineFact.js +3 -3
- package/dist/esm/injection-engine/factories/defineFact.js.map +1 -1
- package/dist/esm/injection-engine/factories/defineInstruction.js +3 -3
- package/dist/esm/injection-engine/factories/defineInstruction.js.map +1 -1
- package/dist/esm/injection-engine/factories/defineSkill.js +2 -2
- package/dist/esm/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/esm/injection-engine/factories/defineSteering.js +3 -3
- package/dist/esm/injection-engine/factories/defineSteering.js.map +1 -1
- package/dist/esm/lib/traceToolNames.d.ts +1 -1
- package/dist/esm/lib/traceToolNames.js +3 -0
- package/dist/esm/lib/traceToolNames.js.map +1 -1
- package/dist/esm/provider-contract/types.d.ts +4 -1
- package/dist/esm/provider-contract/types.js.map +1 -1
- package/dist/esm/redaction/knownStrings.js +2 -0
- package/dist/esm/redaction/knownStrings.js.map +1 -1
- package/dist/esm/resilience/withFallback.js +17 -6
- package/dist/esm/resilience/withFallback.js.map +1 -1
- package/dist/esm/tools/artifactDetailTool.d.ts +26 -0
- package/dist/esm/tools/artifactDetailTool.js +91 -0
- package/dist/esm/tools/artifactDetailTool.js.map +1 -0
- package/dist/esm/tools/normalize.d.ts +7 -5
- package/dist/esm/tools/normalize.js +26 -2
- package/dist/esm/tools/normalize.js.map +1 -1
- package/dist/esm/trace-toolpack/causeLimits.d.ts +28 -0
- package/dist/esm/trace-toolpack/causeLimits.js +70 -0
- package/dist/esm/trace-toolpack/causeLimits.js.map +1 -0
- package/dist/esm/trace-toolpack/causeLoad.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeLoad.js +23 -0
- package/dist/esm/trace-toolpack/causeLoad.js.map +1 -0
- package/dist/esm/trace-toolpack/causeReader.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeReader.js +55 -0
- package/dist/esm/trace-toolpack/causeReader.js.map +1 -0
- package/dist/esm/trace-toolpack/causeResponse.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeResponse.js +25 -0
- package/dist/esm/trace-toolpack/causeResponse.js.map +1 -0
- package/dist/esm/trace-toolpack/causeSnapshot.d.ts +5 -0
- package/dist/esm/trace-toolpack/causeSnapshot.js +55 -0
- package/dist/esm/trace-toolpack/causeSnapshot.js.map +1 -0
- package/dist/esm/trace-toolpack/causeTools.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeTools.js +69 -0
- package/dist/esm/trace-toolpack/causeTools.js.map +1 -0
- package/dist/esm/trace-toolpack/causeTypes.d.ts +23 -0
- package/dist/esm/trace-toolpack/causeTypes.js +2 -0
- package/dist/esm/trace-toolpack/causeTypes.js.map +1 -0
- package/dist/esm/trace-toolpack/debugPrompt.d.ts +5 -1
- package/dist/esm/trace-toolpack/debugPrompt.js +6 -1
- package/dist/esm/trace-toolpack/debugPrompt.js.map +1 -1
- package/dist/esm/trace-toolpack/index.d.ts +1 -0
- package/dist/esm/trace-toolpack/index.js.map +1 -1
- package/dist/esm/trace-toolpack/innerDescent.d.ts +5 -3
- package/dist/esm/trace-toolpack/innerDescent.js +10 -8
- package/dist/esm/trace-toolpack/innerDescent.js.map +1 -1
- package/dist/esm/trace-toolpack/lazyToolpack.js +7 -3
- package/dist/esm/trace-toolpack/lazyToolpack.js.map +1 -1
- package/dist/esm/trace-toolpack/selfExplain.js +6 -1
- package/dist/esm/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/esm/trace-toolpack/subflowRecords.js +22 -0
- package/dist/esm/trace-toolpack/subflowRecords.js.map +1 -1
- package/dist/esm/trace-toolpack/traceDebugAgent.d.ts +2 -0
- package/dist/esm/trace-toolpack/traceDebugAgent.js +9 -2
- package/dist/esm/trace-toolpack/traceDebugAgent.js.map +1 -1
- package/dist/esm/trace-toolpack/traceToolpack.d.ts +2 -2
- package/dist/esm/trace-toolpack/traceToolpack.js +28 -8
- package/dist/esm/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/esm/trace-toolpack/types.d.ts +6 -0
- package/dist/esm/trace-toolpack/types.js.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/injection-engine/factories/defineFact.js +2 -2
- package/dist/injection-engine/factories/defineFact.js.map +1 -1
- package/dist/injection-engine/factories/defineInstruction.js +2 -2
- package/dist/injection-engine/factories/defineInstruction.js.map +1 -1
- package/dist/injection-engine/factories/defineSkill.js +1 -1
- package/dist/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/injection-engine/factories/defineSteering.js +2 -2
- package/dist/injection-engine/factories/defineSteering.js.map +1 -1
- package/dist/lib/traceToolNames.js +3 -0
- package/dist/lib/traceToolNames.js.map +1 -1
- package/dist/provider-contract/types.js.map +1 -1
- package/dist/redaction/knownStrings.js +2 -0
- package/dist/redaction/knownStrings.js.map +1 -1
- package/dist/resilience/withFallback.js +17 -6
- package/dist/resilience/withFallback.js.map +1 -1
- package/dist/tools/artifactDetailTool.js +95 -0
- package/dist/tools/artifactDetailTool.js.map +1 -0
- package/dist/tools/normalize.js +28 -3
- package/dist/tools/normalize.js.map +1 -1
- package/dist/trace-toolpack/causeLimits.js +74 -0
- package/dist/trace-toolpack/causeLimits.js.map +1 -0
- package/dist/trace-toolpack/causeLoad.js +50 -0
- package/dist/trace-toolpack/causeLoad.js.map +1 -0
- package/dist/trace-toolpack/causeReader.js +59 -0
- package/dist/trace-toolpack/causeReader.js.map +1 -0
- package/dist/trace-toolpack/causeResponse.js +30 -0
- package/dist/trace-toolpack/causeResponse.js.map +1 -0
- package/dist/trace-toolpack/causeSnapshot.js +59 -0
- package/dist/trace-toolpack/causeSnapshot.js.map +1 -0
- package/dist/trace-toolpack/causeTools.js +73 -0
- package/dist/trace-toolpack/causeTools.js.map +1 -0
- package/dist/trace-toolpack/causeTypes.js +3 -0
- package/dist/trace-toolpack/causeTypes.js.map +1 -0
- package/dist/trace-toolpack/debugPrompt.js +7 -2
- package/dist/trace-toolpack/debugPrompt.js.map +1 -1
- package/dist/trace-toolpack/index.js.map +1 -1
- package/dist/trace-toolpack/innerDescent.js +10 -8
- package/dist/trace-toolpack/innerDescent.js.map +1 -1
- package/dist/trace-toolpack/lazyToolpack.js +7 -3
- package/dist/trace-toolpack/lazyToolpack.js.map +1 -1
- package/dist/trace-toolpack/selfExplain.js +6 -1
- package/dist/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/trace-toolpack/subflowRecords.js +22 -0
- package/dist/trace-toolpack/subflowRecords.js.map +1 -1
- package/dist/trace-toolpack/traceDebugAgent.js +8 -1
- package/dist/trace-toolpack/traceDebugAgent.js.map +1 -1
- package/dist/trace-toolpack/traceToolpack.js +28 -8
- package/dist/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/trace-toolpack/types.js.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +6 -7
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +2 -3
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +1 -2
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/bedrockCacheWire.d.ts +47 -0
- package/dist/types/adapters/llm/bedrockCacheWire.d.ts.map +1 -0
- package/dist/types/adapters/llm/bedrockModels.d.ts +20 -0
- package/dist/types/adapters/llm/bedrockModels.d.ts.map +1 -0
- package/dist/types/artifacts/detailError.d.ts +10 -0
- package/dist/types/artifacts/detailError.d.ts.map +1 -0
- package/dist/types/artifacts/detailRequest.d.ts +16 -0
- package/dist/types/artifacts/detailRequest.d.ts.map +1 -0
- package/dist/types/artifacts/detailTypes.d.ts +50 -0
- package/dist/types/artifacts/detailTypes.d.ts.map +1 -0
- package/dist/types/artifacts/detailView.d.ts +4 -0
- package/dist/types/artifacts/detailView.d.ts.map +1 -0
- package/dist/types/cache/applyCachePolicy.d.ts +8 -2
- package/dist/types/cache/applyCachePolicy.d.ts.map +1 -1
- package/dist/types/cache/cacheRecorder.d.ts.map +1 -1
- package/dist/types/cache/cacheStrategyFor.d.ts +21 -3
- package/dist/types/cache/cacheStrategyFor.d.ts.map +1 -1
- package/dist/types/cache/index.d.ts +3 -3
- package/dist/types/cache/index.d.ts.map +1 -1
- package/dist/types/cache/strategies/BreakpointCacheStrategy.d.ts +1 -0
- package/dist/types/cache/strategies/BreakpointCacheStrategy.d.ts.map +1 -1
- package/dist/types/cache/strategies/NoOpCacheStrategy.d.ts +1 -1
- package/dist/types/cache/types.d.ts +3 -0
- package/dist/types/cache/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +3 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +1 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/cacheSupport.d.ts +13 -0
- package/dist/types/core/agent/cacheSupport.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/extract.d.ts +12 -3
- package/dist/types/core/agent/evidence/extract.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/figureUnits.d.ts +3 -0
- package/dist/types/core/agent/evidence/figureUnits.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/figures.d.ts +26 -7
- package/dist/types/core/agent/evidence/figures.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/numberPrecision.d.ts +14 -0
- package/dist/types/core/agent/evidence/numberPrecision.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/numericRanges.d.ts +9 -0
- package/dist/types/core/agent/evidence/numericRanges.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/types.d.ts +14 -4
- package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
- package/dist/types/core/agent/runManifest.d.ts +3 -0
- package/dist/types/core/agent/runManifest.d.ts.map +1 -1
- package/dist/types/core/agent/skillBrains.d.ts +4 -0
- package/dist/types/core/agent/skillBrains.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts +2 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/debug.d.ts +1 -1
- package/dist/types/debug.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +7 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/traceToolNames.d.ts +1 -1
- package/dist/types/lib/traceToolNames.d.ts.map +1 -1
- package/dist/types/provider-contract/types.d.ts +4 -1
- package/dist/types/provider-contract/types.d.ts.map +1 -1
- package/dist/types/redaction/knownStrings.d.ts.map +1 -1
- package/dist/types/resilience/withFallback.d.ts.map +1 -1
- package/dist/types/tools/artifactDetailTool.d.ts +27 -0
- package/dist/types/tools/artifactDetailTool.d.ts.map +1 -0
- package/dist/types/tools/normalize.d.ts +7 -5
- package/dist/types/tools/normalize.d.ts.map +1 -1
- package/dist/types/trace-toolpack/causeLimits.d.ts +29 -0
- package/dist/types/trace-toolpack/causeLimits.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeLoad.d.ts +7 -0
- package/dist/types/trace-toolpack/causeLoad.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeReader.d.ts +7 -0
- package/dist/types/trace-toolpack/causeReader.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeResponse.d.ts +7 -0
- package/dist/types/trace-toolpack/causeResponse.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeSnapshot.d.ts +6 -0
- package/dist/types/trace-toolpack/causeSnapshot.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeTools.d.ts +7 -0
- package/dist/types/trace-toolpack/causeTools.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeTypes.d.ts +24 -0
- package/dist/types/trace-toolpack/causeTypes.d.ts.map +1 -0
- package/dist/types/trace-toolpack/debugPrompt.d.ts +5 -1
- package/dist/types/trace-toolpack/debugPrompt.d.ts.map +1 -1
- package/dist/types/trace-toolpack/index.d.ts +1 -0
- package/dist/types/trace-toolpack/index.d.ts.map +1 -1
- package/dist/types/trace-toolpack/innerDescent.d.ts +5 -3
- package/dist/types/trace-toolpack/innerDescent.d.ts.map +1 -1
- package/dist/types/trace-toolpack/lazyToolpack.d.ts.map +1 -1
- package/dist/types/trace-toolpack/selfExplain.d.ts.map +1 -1
- package/dist/types/trace-toolpack/subflowRecords.d.ts.map +1 -1
- package/dist/types/trace-toolpack/traceDebugAgent.d.ts +2 -0
- package/dist/types/trace-toolpack/traceDebugAgent.d.ts.map +1 -1
- package/dist/types/trace-toolpack/traceToolpack.d.ts +2 -2
- package/dist/types/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/dist/types/trace-toolpack/types.d.ts +6 -0
- package/dist/types/trace-toolpack/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readDetailArgs = exports.detailTokens = exports.DETAIL_LIMITS = void 0;
|
|
4
|
+
const boundedJson_js_1 = require("../lib/boundedJson.js");
|
|
5
|
+
const naming_js_1 = require("./naming.js");
|
|
6
|
+
const detailError_js_1 = require("./detailError.js");
|
|
7
|
+
exports.DETAIL_LIMITS = Object.freeze({
|
|
8
|
+
inputBytes: 1024 * 1024,
|
|
9
|
+
contextBytes: 4096,
|
|
10
|
+
path: 2048,
|
|
11
|
+
depth: 16,
|
|
12
|
+
page: 20,
|
|
13
|
+
offset: 1_000_000,
|
|
14
|
+
valueBytes: 8192,
|
|
15
|
+
outputBytes: 12 * 1024,
|
|
16
|
+
reserveBytes: 512,
|
|
17
|
+
});
|
|
18
|
+
const forbidden = new Set(['__proto__', 'prototype', 'constructor']);
|
|
19
|
+
/** Strict pointer tokens, shared by request admission and child actions. */
|
|
20
|
+
function detailTokens(path) {
|
|
21
|
+
if (path === '')
|
|
22
|
+
return [];
|
|
23
|
+
if (!path.startsWith('/') || path.length > exports.DETAIL_LIMITS.path)
|
|
24
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
25
|
+
const parts = path.slice(1).split('/');
|
|
26
|
+
if (parts.length > exports.DETAIL_LIMITS.depth)
|
|
27
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
28
|
+
return parts.map((part) => {
|
|
29
|
+
// eslint-disable-next-line no-control-regex -- A pointer must not carry C0 or DEL controls.
|
|
30
|
+
if (/~(?![01])/.test(part) || /[\u0000-\u001f\u007f]/.test(part))
|
|
31
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
32
|
+
const key = part.replace(/~1/g, '/').replace(/~0/g, '~');
|
|
33
|
+
if (forbidden.has(key))
|
|
34
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
35
|
+
return key;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.detailTokens = detailTokens;
|
|
39
|
+
function readDetailArgs(value) {
|
|
40
|
+
try {
|
|
41
|
+
const fields = (0, boundedJson_js_1.ownData)(value, ['ref', 'path', 'offset', 'limit']);
|
|
42
|
+
if (typeof fields.ref !== 'string' ||
|
|
43
|
+
!(0, naming_js_1.isArtifactRef)(fields.ref) ||
|
|
44
|
+
typeof fields.path !== 'string')
|
|
45
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
46
|
+
detailTokens(fields.path);
|
|
47
|
+
const offset = fields.offset === undefined ? 0 : fields.offset;
|
|
48
|
+
const limit = fields.limit === undefined ? exports.DETAIL_LIMITS.page : fields.limit;
|
|
49
|
+
if (!Number.isSafeInteger(offset) ||
|
|
50
|
+
Number(offset) < 0 ||
|
|
51
|
+
Number(offset) > exports.DETAIL_LIMITS.offset ||
|
|
52
|
+
!Number.isSafeInteger(limit) ||
|
|
53
|
+
Number(limit) < 1 ||
|
|
54
|
+
Number(limit) > exports.DETAIL_LIMITS.page)
|
|
55
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
56
|
+
return { ref: fields.ref, path: fields.path, offset: Number(offset), limit: Number(limit) };
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.readDetailArgs = readDetailArgs;
|
|
63
|
+
//# sourceMappingURL=detailRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailRequest.js","sourceRoot":"","sources":["../../src/artifacts/detailRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailTypes.js","sourceRoot":"","sources":["../../src/artifacts/detailTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectArtifactDetail = void 0;
|
|
4
|
+
const payload_js_1 = require("./payload.js");
|
|
5
|
+
const detailRequest_js_1 = require("./detailRequest.js");
|
|
6
|
+
const detailError_js_1 = require("./detailError.js");
|
|
7
|
+
const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
8
|
+
const container = (value) => object(value) || Array.isArray(value);
|
|
9
|
+
// The payload owner counts bare strings as text; a one-element JSON array also counts quotes.
|
|
10
|
+
const jsonBytes = (value) => (0, payload_js_1.measureArtifactBytes)([value]) - 2;
|
|
11
|
+
const kind = (value) => value === null
|
|
12
|
+
? 'null'
|
|
13
|
+
: Array.isArray(value)
|
|
14
|
+
? 'array'
|
|
15
|
+
: typeof value;
|
|
16
|
+
function select(root, path) {
|
|
17
|
+
let value = root;
|
|
18
|
+
for (const key of (0, detailRequest_js_1.detailTokens)(path)) {
|
|
19
|
+
if (Array.isArray(value) && !/^(0|[1-9]\d*)$/.test(key))
|
|
20
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
21
|
+
if (!container(value) || !Object.hasOwn(value, key))
|
|
22
|
+
return (0, detailError_js_1.unavailableDetail)();
|
|
23
|
+
value = Array.isArray(value) ? value[Number(key)] : value[key];
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
function childPath(parent, key) {
|
|
28
|
+
return `${parent}/${key.replace(/~/g, '~0').replace(/\//g, '~1')}`;
|
|
29
|
+
}
|
|
30
|
+
function bounded(value) {
|
|
31
|
+
if (jsonBytes(value) > detailRequest_js_1.DETAIL_LIMITS.outputBytes)
|
|
32
|
+
return (0, detailError_js_1.unavailableDetail)();
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
/** Navigate only detached ordinary JSON; this function reads no store and authorizes no claim. */
|
|
36
|
+
function projectArtifactDetail(root, args, tool, context) {
|
|
37
|
+
const value = select(root, args.path);
|
|
38
|
+
const base = {
|
|
39
|
+
ref: args.ref,
|
|
40
|
+
path: args.path,
|
|
41
|
+
kind: kind(value),
|
|
42
|
+
...(context === undefined ? {} : { context }),
|
|
43
|
+
};
|
|
44
|
+
const keys = container(value) ? Object.keys(value) : [];
|
|
45
|
+
const inline = { ...base, mode: 'value', value, complete: true };
|
|
46
|
+
if (args.offset === 0 &&
|
|
47
|
+
keys.length <= args.limit &&
|
|
48
|
+
jsonBytes(value) <= detailRequest_js_1.DETAIL_LIMITS.valueBytes &&
|
|
49
|
+
jsonBytes(inline) <= detailRequest_js_1.DETAIL_LIMITS.outputBytes)
|
|
50
|
+
return inline;
|
|
51
|
+
if (!container(value)) {
|
|
52
|
+
if (args.offset !== 0)
|
|
53
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
54
|
+
return bounded({
|
|
55
|
+
...base,
|
|
56
|
+
mode: 'scalar-omitted',
|
|
57
|
+
omitted: true,
|
|
58
|
+
scalarBytes: jsonBytes(value),
|
|
59
|
+
complete: false,
|
|
60
|
+
reason: 'Selected scalar exceeds the bounded view; no partial value was returned.',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (args.offset > keys.length)
|
|
64
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
65
|
+
const children = [];
|
|
66
|
+
const response = () => ({
|
|
67
|
+
...base,
|
|
68
|
+
mode: 'children',
|
|
69
|
+
children,
|
|
70
|
+
offset: args.offset,
|
|
71
|
+
shown: children.length,
|
|
72
|
+
total: keys.length,
|
|
73
|
+
complete: args.offset + children.length === keys.length,
|
|
74
|
+
...(args.offset + children.length < keys.length
|
|
75
|
+
? { nextOffset: args.offset + children.length }
|
|
76
|
+
: {}),
|
|
77
|
+
});
|
|
78
|
+
for (const key of keys.slice(args.offset, args.offset + args.limit)) {
|
|
79
|
+
const path = childPath(args.path, key);
|
|
80
|
+
(0, detailRequest_js_1.detailTokens)(path);
|
|
81
|
+
const child = Array.isArray(value) ? value[Number(key)] : value[key];
|
|
82
|
+
children.push({
|
|
83
|
+
path,
|
|
84
|
+
type: kind(child),
|
|
85
|
+
...(container(child) ? { count: Object.keys(child).length } : {}),
|
|
86
|
+
action: { tool, args: { ref: args.ref, path } },
|
|
87
|
+
});
|
|
88
|
+
if (jsonBytes(response()) > detailRequest_js_1.DETAIL_LIMITS.outputBytes - detailRequest_js_1.DETAIL_LIMITS.reserveBytes) {
|
|
89
|
+
children.pop();
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (!children.length && args.offset < keys.length)
|
|
94
|
+
return (0, detailError_js_1.unavailableDetail)();
|
|
95
|
+
return bounded(response());
|
|
96
|
+
}
|
|
97
|
+
exports.projectArtifactDetail = projectArtifactDetail;
|
|
98
|
+
//# sourceMappingURL=detailView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailView.js","sourceRoot":"","sources":["../../src/artifacts/detailView.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* applyCachePolicy — internal helper for injection factories.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* `defineInstruction
|
|
5
|
+
* The injection factories (`defineSkill`, `defineSteering`, `defineFact`,
|
|
6
|
+
* `defineInstruction`) call this to merge the
|
|
7
7
|
* consumer-supplied `cache` option with the flavor-specific default.
|
|
8
8
|
* The merged policy lands in `Injection.metadata.cache` for the
|
|
9
9
|
* CacheDecision subflow (Phase 4) to read back.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* not duplicating the default-resolution logic five times
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.getFlavorDefault = exports.resolveCachePolicy = void 0;
|
|
18
|
+
exports.getFlavorDefault = exports.cachePolicyMetadata = exports.resolveCachePolicy = void 0;
|
|
19
19
|
/**
|
|
20
20
|
* Per-flavor default `cache` values when consumer doesn't specify.
|
|
21
21
|
* These match the documentation in `CachePolicy`'s JSDoc — keep
|
|
@@ -43,6 +43,15 @@ function resolveCachePolicy(flavor, consumerValue) {
|
|
|
43
43
|
return FLAVOR_DEFAULTS[flavor] ?? 'never';
|
|
44
44
|
}
|
|
45
45
|
exports.resolveCachePolicy = resolveCachePolicy;
|
|
46
|
+
/** Preserve whether the caller supplied the policy before resolving its
|
|
47
|
+
* flavor default. Only configuration metadata; never projected into a request. */
|
|
48
|
+
function cachePolicyMetadata(flavor, consumerValue) {
|
|
49
|
+
return {
|
|
50
|
+
cache: resolveCachePolicy(flavor, consumerValue),
|
|
51
|
+
cachePolicySource: consumerValue === undefined ? 'default' : 'explicit',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
exports.cachePolicyMetadata = cachePolicyMetadata;
|
|
46
55
|
/**
|
|
47
56
|
* Read-only access to the per-flavor default table. Exported for
|
|
48
57
|
* tests asserting the documented defaults are wired correctly. Not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyCachePolicy.js","sourceRoot":"","sources":["../../src/cache/applyCachePolicy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH;;;;GAIG;AACH,MAAM,eAAe,GAA0C,MAAM,CAAC,MAAM,CAAC;IAC3E,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,cAAc;CACvB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,MAA6C,EAC7C,aAAsC;IAEtC,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACtD,yEAAyE;IACzE,uEAAuE;IACvE,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;AAC5C,CAAC;AARD,gDAQC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;AAC5C,CAAC;AAFD,4CAEC"}
|
|
1
|
+
{"version":3,"file":"applyCachePolicy.js","sourceRoot":"","sources":["../../src/cache/applyCachePolicy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH;;;;GAIG;AACH,MAAM,eAAe,GAA0C,MAAM,CAAC,MAAM,CAAC;IAC3E,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,cAAc;CACvB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,MAA6C,EAC7C,aAAsC;IAEtC,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACtD,yEAAyE;IACzE,uEAAuE;IACvE,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;AAC5C,CAAC;AARD,gDAQC;AAED;kFACkF;AAClF,SAAgB,mBAAmB,CACjC,MAAc,EACd,aAAsC;IAKtC,OAAO;QACL,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC;QAChD,iBAAiB,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KACxE,CAAC;AACJ,CAAC;AAXD,kDAWC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;AAC5C,CAAC;AAFD,4CAEC"}
|
|
@@ -98,7 +98,10 @@ function cacheRecorder(options = {}) {
|
|
|
98
98
|
};
|
|
99
99
|
},
|
|
100
100
|
onEmit(event) {
|
|
101
|
-
|
|
101
|
+
// .watch() receives the engine envelope (`name`); explicit typed-stream
|
|
102
|
+
// forwarding uses `type`. Both carry the same already-normalized usage.
|
|
103
|
+
const type = 'type' in event ? event.type : event.name;
|
|
104
|
+
if (type !== 'agentfootprint.stream.llm_end')
|
|
102
105
|
return;
|
|
103
106
|
iterationCounter++;
|
|
104
107
|
// The PORT shape, which is the only shape this event has ever carried.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheRecorder.js","sourceRoot":"","sources":["../../src/cache/cacheRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;;;AAIH,yCAAyC;AACzC,0DAAkD;AAIlD,oDAA4E;AAgF5E;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,iFAAiF;AACjF,SAAS,cAAc,CAAC,KAAmB;IACzC,OAAO,IAAA,kBAAO,EAAC,KAAK,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;QACrB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,SAAgB,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,YAAmF,CAAC;IACxF,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,SAAS,OAAO,CAAC,MAAc,EAAE,IAA0C;QACzE,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;QACzC,OAAO,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,gBAAgB;QAEpB,UAAU,CAAC,KAAwB;YACjC,sEAAsE;YACtE,kEAAkE;YAClE,uEAAuE;YACvE,yEAAyE;YACzE,mEAAmE;YACnE,iEAAiE;YACjE,0EAA0E;YAC1E,oDAAoD;YACpD,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC;YAChD,IAAI,CAAC,OAAO,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC,YAAY,KAAK,0BAAS,CAAC,UAAU;gBAAE,OAAO;YACpF,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7D,YAAY,GAAG;gBACb,MAAM,EAAE,KAAK,CAAC,MAAwC;gBACtD,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"cacheRecorder.js","sourceRoot":"","sources":["../../src/cache/cacheRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,14 +30,17 @@
|
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.cacheStrategyFor = void 0;
|
|
33
|
+
exports.promptCachingFor = exports.cacheStrategyFor = void 0;
|
|
34
34
|
const AutomaticCacheStrategy_js_1 = require("./strategies/AutomaticCacheStrategy.js");
|
|
35
35
|
const BreakpointCacheStrategy_js_1 = require("./strategies/BreakpointCacheStrategy.js");
|
|
36
36
|
const NoOpCacheStrategy_js_1 = require("./strategies/NoOpCacheStrategy.js");
|
|
37
37
|
/** One shared instance: the no-op strategy holds no state. */
|
|
38
38
|
const NO_CACHING = new NoOpCacheStrategy_js_1.NoOpCacheStrategy();
|
|
39
39
|
/**
|
|
40
|
-
* The strategy that serves `provider`'s declared prompt caching
|
|
40
|
+
* The strategy that serves `provider`'s declared prompt caching for `model`.
|
|
41
|
+
* Static declarations keep the one-argument form. For a model-aware adapter,
|
|
42
|
+
* pass its model (including its own supported shorthand); omitting it selects
|
|
43
|
+
* no caching rather than guessing a model.
|
|
41
44
|
*
|
|
42
45
|
* @throws TypeError when the declaration is malformed (an unknown `mode`, a
|
|
43
46
|
* `maxBreakpoints` that is not a positive integer, a non-boolean
|
|
@@ -45,17 +48,42 @@ const NO_CACHING = new NoOpCacheStrategy_js_1.NoOpCacheStrategy();
|
|
|
45
48
|
* quietly fell back to "no caching" would be the very failure this
|
|
46
49
|
* function exists to end.
|
|
47
50
|
*/
|
|
48
|
-
function cacheStrategyFor(provider) {
|
|
49
|
-
const declared = provider
|
|
51
|
+
function cacheStrategyFor(provider, model) {
|
|
52
|
+
const declared = promptCachingFor(provider, model);
|
|
50
53
|
if (declared === undefined)
|
|
51
54
|
return NO_CACHING;
|
|
52
55
|
const who = `the '${provider.name}' provider`;
|
|
53
|
-
assertDeclaration(declared, who);
|
|
54
56
|
return declared.mode === 'breakpoints'
|
|
55
57
|
? new BreakpointCacheStrategy_js_1.BreakpointCacheStrategy(declared, who)
|
|
56
58
|
: new AutomaticCacheStrategy_js_1.AutomaticCacheStrategy(declared, who);
|
|
57
59
|
}
|
|
58
60
|
exports.cacheStrategyFor = cacheStrategyFor;
|
|
61
|
+
/** Resolve the provider's one declaration for this model. An omitted model
|
|
62
|
+
* cannot establish a model-aware capability, so it fails closed. Static
|
|
63
|
+
* declarations retain the existing one-argument behavior.
|
|
64
|
+
*
|
|
65
|
+
* Use this reader instead of accessing `provider.promptCaching.mode`: the
|
|
66
|
+
* port also permits a model function. No resolver is duplicated in adapters.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* import { promptCachingFor } from 'agentfootprint/cache';
|
|
71
|
+
* const declaration = promptCachingFor(provider, model);
|
|
72
|
+
* if (declaration?.mode === 'breakpoints') console.log(declaration.maxBreakpoints);
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
function promptCachingFor(provider, model) {
|
|
76
|
+
const declaration = provider.promptCaching;
|
|
77
|
+
const declared = typeof declaration === 'function'
|
|
78
|
+
? model === undefined
|
|
79
|
+
? undefined
|
|
80
|
+
: declaration(model)
|
|
81
|
+
: declaration;
|
|
82
|
+
if (declared !== undefined)
|
|
83
|
+
assertDeclaration(declared, `the '${provider.name}' provider`);
|
|
84
|
+
return declared;
|
|
85
|
+
}
|
|
86
|
+
exports.promptCachingFor = promptCachingFor;
|
|
59
87
|
function assertDeclaration(declared, who) {
|
|
60
88
|
const shape = declared;
|
|
61
89
|
const refuse = (what) => {
|
|
@@ -73,5 +101,13 @@ function assertDeclaration(declared, who) {
|
|
|
73
101
|
if (typeof shape.reportsUsage !== 'boolean') {
|
|
74
102
|
refuse(`with reportsUsage ${JSON.stringify(shape.reportsUsage)} (true or false)`);
|
|
75
103
|
}
|
|
104
|
+
if (shape.fields !== undefined &&
|
|
105
|
+
(!Array.isArray(shape.fields) ||
|
|
106
|
+
shape.fields.length === 0 ||
|
|
107
|
+
shape.fields.length > 3 ||
|
|
108
|
+
shape.fields.some((field) => !['system', 'tools', 'messages'].includes(field)) ||
|
|
109
|
+
new Set(shape.fields).size !== shape.fields.length)) {
|
|
110
|
+
refuse('with fields other than a nonempty unique subset of system, tools, messages');
|
|
111
|
+
}
|
|
76
112
|
}
|
|
77
113
|
//# sourceMappingURL=cacheStrategyFor.js.map
|
|
@@ -1 +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
|
|
1
|
+
{"version":3,"file":"cacheStrategyFor.js","sourceRoot":"","sources":["../../src/cache/cacheStrategyFor.ts"],"names":[],"mappings":"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"}
|
package/dist/cache/index.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The strategy an agent runs is chosen by CAPABILITY: the provider adapter
|
|
6
6
|
* declares how its wire caches (`LLMProvider.promptCaching`) and
|
|
7
|
-
* `cacheStrategyFor(provider)` returns the
|
|
7
|
+
* `cacheStrategyFor(provider, model?)` returns the strategy that serves it —
|
|
8
8
|
* - `BreakpointCacheStrategy` — `mode: 'breakpoints'` (Anthropic's
|
|
9
9
|
* `cache_control`; `anthropic()`, `browserAnthropic()`);
|
|
10
10
|
* - `AutomaticCacheStrategy` — `mode: 'automatic'` (OpenAI and Azure
|
|
11
11
|
* OpenAI cache on their own);
|
|
12
|
-
* - `NoOpCacheStrategy` — nothing declared (Mock, Ollama,
|
|
12
|
+
* - `NoOpCacheStrategy` — nothing declared for the model (Mock, Ollama,
|
|
13
13
|
* Gemini, any adapter that has not said).
|
|
14
14
|
* Nothing registers at module load and nothing is keyed by provider name, so
|
|
15
15
|
* a decorator that renames its provider keeps caching by forwarding the
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* CacheUsage
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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;
|
|
24
|
+
exports.cacheRecorder = exports.AutomaticCacheStrategy = exports.BreakpointCacheStrategy = exports.NoOpCacheStrategy = exports.promptCachingFor = exports.cacheStrategyFor = exports.describeClaim = exports.valueOr = exports.isKnown = exports.notApplicable = exports.unknown = exports.known = void 0;
|
|
25
25
|
// The honesty primitive the meter is typed in (9.59.0). Re-exported
|
|
26
26
|
// reference-equal from `src/lib/claim/` — the SAME symbols
|
|
27
27
|
// `agentfootprint/maps` exports, so `known` from either door is one function.
|
|
@@ -35,6 +35,7 @@ Object.defineProperty(exports, "describeClaim", { enumerable: true, get: functio
|
|
|
35
35
|
// Strategy selection — by the provider's declared capability, never its name
|
|
36
36
|
var cacheStrategyFor_js_1 = require("./cacheStrategyFor.js");
|
|
37
37
|
Object.defineProperty(exports, "cacheStrategyFor", { enumerable: true, get: function () { return cacheStrategyFor_js_1.cacheStrategyFor; } });
|
|
38
|
+
Object.defineProperty(exports, "promptCachingFor", { enumerable: true, get: function () { return cacheStrategyFor_js_1.promptCachingFor; } });
|
|
38
39
|
// Built-in strategy classes (for consumers who want explicit overrides via
|
|
39
40
|
// `Agent.create({ cacheStrategy })`)
|
|
40
41
|
var NoOpCacheStrategy_js_1 = require("./strategies/NoOpCacheStrategy.js");
|
package/dist/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,6DAA2E;AAAlE,uHAAA,gBAAgB,OAAA;AAAE,uHAAA,gBAAgB,OAAA;AAE3C,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"}
|
|
@@ -26,6 +26,7 @@ class BreakpointCacheStrategy {
|
|
|
26
26
|
maxBreakpoints;
|
|
27
27
|
reportsUsage;
|
|
28
28
|
who;
|
|
29
|
+
fields;
|
|
29
30
|
/**
|
|
30
31
|
* @param declared the provider's `promptCaching` declaration
|
|
31
32
|
* @param who names the adapter in the meter's evidence sentences,
|
|
@@ -35,6 +36,7 @@ class BreakpointCacheStrategy {
|
|
|
35
36
|
this.maxBreakpoints = declared.maxBreakpoints;
|
|
36
37
|
this.reportsUsage = declared.reportsUsage;
|
|
37
38
|
this.who = who;
|
|
39
|
+
this.fields = declared.fields;
|
|
38
40
|
}
|
|
39
41
|
async prepareRequest(req, candidates, ctx) {
|
|
40
42
|
// The agent-side kill switch, honoured here too: the CacheGate should
|
|
@@ -43,9 +45,10 @@ class BreakpointCacheStrategy {
|
|
|
43
45
|
if (ctx.cachingDisabled || candidates.length === 0) {
|
|
44
46
|
return { request: req, markersApplied: [] };
|
|
45
47
|
}
|
|
46
|
-
const
|
|
48
|
+
const supported = this.fields === undefined
|
|
47
49
|
? candidates
|
|
48
|
-
: candidates.
|
|
50
|
+
: candidates.filter((marker) => this.fields?.includes(marker.field));
|
|
51
|
+
const markersApplied = supported.length <= this.maxBreakpoints ? supported : supported.slice(0, this.maxBreakpoints);
|
|
49
52
|
return { request: { ...req, cacheMarkers: markersApplied }, markersApplied };
|
|
50
53
|
}
|
|
51
54
|
extractMetrics(usage) {
|
|
@@ -1 +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;
|
|
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;IACZ,MAAM,CAAmC;IAE1D;;;;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;QACf,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,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,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;YACvB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,cAAc,GAClB,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChG,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;AAnDD,0DAmDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* NoOpCacheStrategy — for a provider that declares no prompt caching
|
|
4
|
-
* (`LLMProvider.promptCaching` absent): Mock, Ollama,
|
|
4
|
+
* (`LLMProvider.promptCaching` absent or undefined for this model): Mock, Ollama,
|
|
5
5
|
* any adapter that has not said, or an intentional opt-out.
|
|
6
6
|
*
|
|
7
7
|
* Returns the request unchanged and reports *not applicable* — never a zero.
|
|
@@ -17,7 +17,7 @@ class NoOpCacheStrategy {
|
|
|
17
17
|
return { request: req, markersApplied: [] };
|
|
18
18
|
}
|
|
19
19
|
extractMetrics(_usage) {
|
|
20
|
-
return (0, claim_js_1.notApplicable)('the provider declares no prompt caching (LLMProvider.promptCaching is absent), so no ' +
|
|
20
|
+
return (0, claim_js_1.notApplicable)('the provider declares no prompt caching for this model (LLMProvider.promptCaching is absent or resolves to undefined), so no ' +
|
|
21
21
|
'cache traffic is driven or reported');
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,+HAA+H;YAC7H,qCAAqC,CACxC,CAAC;IACJ,CAAC;CACF;AApBD,8CAoBC"}
|
package/dist/core/Agent.js
CHANGED
|
@@ -45,6 +45,7 @@ const extractSequence_js_1 = require("../security/extractSequence.js");
|
|
|
45
45
|
const PolicyHaltError_js_1 = require("../security/PolicyHaltError.js");
|
|
46
46
|
const CacheGateDecider_js_1 = require("../cache/CacheGateDecider.js");
|
|
47
47
|
const cacheStrategyFor_js_1 = require("../cache/cacheStrategyFor.js");
|
|
48
|
+
const cacheSupport_js_1 = require("./agent/cacheSupport.js");
|
|
48
49
|
const forcedToolChoice_js_1 = require("../provider-contract/forcedToolChoice.js");
|
|
49
50
|
const nativeOutputSchema_js_1 = require("../provider-contract/nativeOutputSchema.js");
|
|
50
51
|
const requestRefusal_js_1 = require("../provider-contract/requestRefusal.js");
|
|
@@ -261,6 +262,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
261
262
|
* consumer passes one explicitly.
|
|
262
263
|
*/
|
|
263
264
|
cacheStrategy;
|
|
265
|
+
cacheStrategyIsOverride;
|
|
266
|
+
cacheUnsupported;
|
|
264
267
|
registry;
|
|
265
268
|
/**
|
|
266
269
|
* The Injection list — Skills, Steering, Instructions, Facts (and
|
|
@@ -752,7 +755,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
752
755
|
* rebinding itself to each run id (`core/agent/receipt/receiptDigests.ts`). */
|
|
753
756
|
receiptDigests = (0, receiptDigests_js_1.createReceiptDigests)();
|
|
754
757
|
answerValidationConfig;
|
|
755
|
-
constructor(opts, systemPromptValue, registry, voice, injections = [], memories = [], outputSchemaParser, toolProvider, systemPromptCachePolicy = 'always', cachingDisabled = false, cacheStrategy, outputFallbackCfg, reliabilityConfig, thinkingHandlerValue, thinkingBudgetValue, skillGraphNextSkill, skillGraphReachable, skillGraphScoreEntries, checkInOptions, runConfigFn, windowStrategy, toolMiddleware, messageMiddleware, outputEnforcement, skillGraphEdgeTargets, skillGraphExplainNextSkill, skillGraphIsTree, skillGraphSupersededEntries, skillGraphCascade, skillBrains, evidenceGate, limitsTravelWithTheAnswer, recipes, skillGraphDeclared, mapsPlan, claimContract, answerValidationConfig) {
|
|
758
|
+
constructor(opts, systemPromptValue, registry, voice, injections = [], memories = [], outputSchemaParser, toolProvider, systemPromptCachePolicy = 'always', cachingDisabled = false, cacheStrategy, outputFallbackCfg, reliabilityConfig, thinkingHandlerValue, thinkingBudgetValue, skillGraphNextSkill, skillGraphReachable, skillGraphScoreEntries, checkInOptions, runConfigFn, windowStrategy, toolMiddleware, messageMiddleware, outputEnforcement, skillGraphEdgeTargets, skillGraphExplainNextSkill, skillGraphIsTree, skillGraphSupersededEntries, skillGraphCascade, skillBrains, evidenceGate, limitsTravelWithTheAnswer, recipes, skillGraphDeclared, mapsPlan, claimContract, answerValidationConfig, systemPromptCacheExplicit = false) {
|
|
756
759
|
super();
|
|
757
760
|
// Which conversation this instance's self-explain evidence belongs to —
|
|
758
761
|
// held in a module registry, not on the class, so it is not public API
|
|
@@ -782,7 +785,20 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
782
785
|
// caller overrides it — never one looked up by `provider.name`, which a
|
|
783
786
|
// renaming decorator (`withRetry`, an app's own wrapper) rewrites. A
|
|
784
787
|
// provider that declares nothing gets the no-op strategy.
|
|
785
|
-
this.cacheStrategy = cacheStrategy ?? (0, cacheStrategyFor_js_1.cacheStrategyFor)(opts.provider);
|
|
788
|
+
this.cacheStrategy = cacheStrategy ?? (0, cacheStrategyFor_js_1.cacheStrategyFor)(opts.provider, opts.model);
|
|
789
|
+
this.cacheStrategyIsOverride = cacheStrategy !== undefined;
|
|
790
|
+
this.cacheUnsupported = (0, cacheSupport_js_1.cacheRequestedWithoutSupport)({
|
|
791
|
+
strategy: this.cacheStrategy,
|
|
792
|
+
providerName: opts.provider.name,
|
|
793
|
+
systemPrompt: systemPromptValue,
|
|
794
|
+
systemPolicy: systemPromptCachePolicy,
|
|
795
|
+
systemExplicit: systemPromptCacheExplicit,
|
|
796
|
+
modelAwareUnavailable: cacheStrategy === undefined &&
|
|
797
|
+
typeof opts.provider.promptCaching === 'function' &&
|
|
798
|
+
this.cacheStrategy.name === 'none',
|
|
799
|
+
injections,
|
|
800
|
+
disabled: cachingDisabled,
|
|
801
|
+
});
|
|
786
802
|
this.registry = registry;
|
|
787
803
|
this.injections = injections;
|
|
788
804
|
this.skillGraphNextSkill = skillGraphNextSkill;
|
|
@@ -3511,6 +3527,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
3511
3527
|
model: this.model,
|
|
3512
3528
|
hasRunConfig: this.runConfigFn !== undefined,
|
|
3513
3529
|
hasSkillBrains: this.skillBrains !== undefined,
|
|
3530
|
+
...(this.cacheUnsupported !== undefined && { cacheUnsupported: this.cacheUnsupported }),
|
|
3514
3531
|
reactMode: this.reactMode,
|
|
3515
3532
|
memories: this.memories,
|
|
3516
3533
|
...(this.windowStrategy !== undefined && {
|
|
@@ -4733,6 +4750,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
4733
4750
|
...(costBudget !== undefined && { costBudget }),
|
|
4734
4751
|
maxIterations,
|
|
4735
4752
|
cacheStrategy,
|
|
4753
|
+
...(this.cacheStrategyIsOverride && { cacheStrategyIsOverride: true }),
|
|
4736
4754
|
get toolSchemas() {
|
|
4737
4755
|
return toolSchemasResolved;
|
|
4738
4756
|
},
|
|
@@ -4790,6 +4808,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
4790
4808
|
brains: this.skillBrains,
|
|
4791
4809
|
agentProvider: provider,
|
|
4792
4810
|
agentCacheStrategy: cacheStrategy,
|
|
4811
|
+
agentModel: model,
|
|
4812
|
+
...(this.cacheStrategyIsOverride && { agentCacheStrategyIsOverride: true }),
|
|
4793
4813
|
}),
|
|
4794
4814
|
}),
|
|
4795
4815
|
});
|