agentfootprint 9.128.1 → 9.131.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 +13 -1
- package/dist/adapters/llm/AnthropicProvider.js +10 -111
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +11 -4
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/InvokeModelGatewayProvider.js +167 -35
- package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +5 -0
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/anthropicMessagesWire.js +20 -6
- package/dist/adapters/llm/anthropicMessagesWire.js.map +1 -1
- package/dist/adapters/llm/retryAfter.js +61 -0
- package/dist/adapters/llm/retryAfter.js.map +1 -0
- package/dist/adapters/types.js.map +1 -1
- package/dist/artifacts/datasetResult.js +2 -2
- package/dist/artifacts/datasetResult.js.map +1 -1
- package/dist/artifacts/index.js +10 -8
- package/dist/artifacts/index.js.map +1 -1
- package/dist/artifacts/minting.js +2 -2
- package/dist/artifacts/minting.js.map +1 -1
- package/dist/core/Agent.js +229 -5
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +75 -1
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/arguments/ask.js +356 -14
- package/dist/core/agent/arguments/ask.js.map +1 -1
- package/dist/core/agent/arguments/declare.js +260 -45
- package/dist/core/agent/arguments/declare.js.map +1 -1
- package/dist/core/agent/arguments/dispatch.js +25 -1
- package/dist/core/agent/arguments/dispatch.js.map +1 -1
- package/dist/core/agent/arguments/resolve.js +239 -6
- package/dist/core/agent/arguments/resolve.js.map +1 -1
- package/dist/core/agent/arguments/rows.js +37 -2
- package/dist/core/agent/arguments/rows.js.map +1 -1
- package/dist/core/agent/arguments/serve.js +332 -4
- package/dist/core/agent/arguments/serve.js.map +1 -1
- package/dist/core/agent/arguments/subflow.js +46 -7
- package/dist/core/agent/arguments/subflow.js.map +1 -1
- package/dist/core/agent/assessment/assess.js +45 -6
- package/dist/core/agent/assessment/assess.js.map +1 -1
- package/dist/core/agent/assessment/compose.js +3 -0
- package/dist/core/agent/assessment/compose.js.map +1 -1
- package/dist/core/agent/assessment/reasons.js +18 -0
- package/dist/core/agent/assessment/reasons.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +31 -1
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +9 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/coverage/answer.js +24 -7
- package/dist/core/agent/coverage/answer.js.map +1 -1
- package/dist/core/agent/coverage/period.js +110 -69
- package/dist/core/agent/coverage/period.js.map +1 -1
- package/dist/core/agent/coverage/timeLimitFacts.js +70 -0
- package/dist/core/agent/coverage/timeLimitFacts.js.map +1 -0
- package/dist/core/agent/coverage/timeLimits.js +72 -0
- package/dist/core/agent/coverage/timeLimits.js.map +1 -0
- package/dist/core/agent/evidence/evidenceIndex.js +48 -7
- package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
- package/dist/core/agent/evidence/gate.js +9 -4
- package/dist/core/agent/evidence/gate.js.map +1 -1
- package/dist/core/agent/evidence/normalize.js +1 -105
- package/dist/core/agent/evidence/normalize.js.map +1 -1
- package/dist/core/agent/findings/ledger.js +14 -0
- package/dist/core/agent/findings/ledger.js.map +1 -1
- package/dist/core/agent/findings/types.js.map +1 -1
- package/dist/core/agent/honesty/mounts.js +105 -4
- package/dist/core/agent/honesty/mounts.js.map +1 -1
- package/dist/core/agent/results/subflow.js +43 -11
- package/dist/core/agent/results/subflow.js.map +1 -1
- package/dist/core/agent/stages/argumentAsk.js +85 -6
- package/dist/core/agent/stages/argumentAsk.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +16 -0
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/prepareFinal.js +61 -8
- package/dist/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/core/agent/stages/route.js +64 -6
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/seed.js +29 -6
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/timeLayer.js +201 -0
- package/dist/core/agent/stages/timeLayer.js.map +1 -0
- package/dist/core/agent/stages/timeLineage.js +61 -0
- package/dist/core/agent/stages/timeLineage.js.map +1 -0
- package/dist/core/agent/stages/toolCalls.js +70 -0
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/inputRequest.js +132 -5
- package/dist/core/inputRequest.js.map +1 -1
- package/dist/core/messageFrom.js +5 -2
- package/dist/core/messageFrom.js.map +1 -1
- package/dist/core/runCheckpoint.js +17 -2
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/core/slots/buildToolsSlot.js +30 -2
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/core/time/ask.js +239 -0
- package/dist/core/time/ask.js.map +1 -0
- package/dist/core/time/axis.js +469 -0
- package/dist/core/time/axis.js.map +1 -0
- package/dist/core/time/bind.js +235 -0
- package/dist/core/time/bind.js.map +1 -0
- package/dist/core/time/check.js +261 -0
- package/dist/core/time/check.js.map +1 -0
- package/dist/core/time/checkRecord.js +97 -0
- package/dist/core/time/checkRecord.js.map +1 -0
- package/dist/core/time/clock.js +260 -0
- package/dist/core/time/clock.js.map +1 -0
- package/dist/core/time/convert.js +634 -0
- package/dist/core/time/convert.js.map +1 -0
- package/dist/core/time/drift.js +96 -0
- package/dist/core/time/drift.js.map +1 -0
- package/dist/core/time/duration.js +125 -0
- package/dist/core/time/duration.js.map +1 -0
- package/dist/core/time/forms.js +273 -0
- package/dist/core/time/forms.js.map +1 -0
- package/dist/core/time/instant.js +141 -0
- package/dist/core/time/instant.js.map +1 -0
- package/dist/core/time/periodForm.js +392 -0
- package/dist/core/time/periodForm.js.map +1 -0
- package/dist/core/time/present.js +312 -0
- package/dist/core/time/present.js.map +1 -0
- package/dist/core/time/range.js +267 -0
- package/dist/core/time/range.js.map +1 -0
- package/dist/core/time/reader.js +209 -0
- package/dist/core/time/reader.js.map +1 -0
- package/dist/core/time/readers/english.js +576 -0
- package/dist/core/time/readers/english.js.map +1 -0
- package/dist/core/time/readingAsk.js +94 -0
- package/dist/core/time/readingAsk.js.map +1 -0
- package/dist/core/time/resolve.js +694 -0
- package/dist/core/time/resolve.js.map +1 -0
- package/dist/core/time/resolveRecord.js +164 -0
- package/dist/core/time/resolveRecord.js.map +1 -0
- package/dist/core/time/rows.js +412 -0
- package/dist/core/time/rows.js.map +1 -0
- package/dist/core/time/rowsBuild.js +193 -0
- package/dist/core/time/rowsBuild.js.map +1 -0
- package/dist/core/time/textForms.js +133 -0
- package/dist/core/time/textForms.js.map +1 -0
- package/dist/core/time/windows.js +172 -0
- package/dist/core/time/windows.js.map +1 -0
- package/dist/core/time/wire.js +86 -0
- package/dist/core/time/wire.js.map +1 -0
- package/dist/core/time/zone.js +253 -0
- package/dist/core/time/zone.js.map +1 -0
- package/dist/core/tools.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.js +8 -109
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.js +11 -4
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +38 -4
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +167 -35
- package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.js +5 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/anthropicMessagesWire.d.ts +6 -1
- package/dist/esm/adapters/llm/anthropicMessagesWire.js +20 -6
- package/dist/esm/adapters/llm/anthropicMessagesWire.js.map +1 -1
- package/dist/esm/adapters/llm/retryAfter.d.ts +27 -0
- package/dist/esm/adapters/llm/retryAfter.js +56 -0
- package/dist/esm/adapters/llm/retryAfter.js.map +1 -0
- package/dist/esm/adapters/types.d.ts +9 -0
- package/dist/esm/adapters/types.js.map +1 -1
- package/dist/esm/artifacts/datasetResult.js +1 -1
- package/dist/esm/artifacts/datasetResult.js.map +1 -1
- package/dist/esm/artifacts/index.d.ts +1 -1
- package/dist/esm/artifacts/index.js +3 -2
- package/dist/esm/artifacts/index.js.map +1 -1
- package/dist/esm/artifacts/minting.js +1 -1
- package/dist/esm/artifacts/minting.js.map +1 -1
- package/dist/esm/artifacts/types.d.ts +2 -2
- package/dist/esm/core/Agent.d.ts +64 -0
- package/dist/esm/core/Agent.js +230 -6
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +60 -0
- package/dist/esm/core/agent/AgentBuilder.js +75 -1
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/arguments/ask.d.ts +88 -5
- package/dist/esm/core/agent/arguments/ask.js +349 -8
- package/dist/esm/core/agent/arguments/ask.js.map +1 -1
- package/dist/esm/core/agent/arguments/checks.d.ts +1 -1
- package/dist/esm/core/agent/arguments/declare.d.ts +76 -15
- package/dist/esm/core/agent/arguments/declare.js +255 -44
- package/dist/esm/core/agent/arguments/declare.js.map +1 -1
- package/dist/esm/core/agent/arguments/dispatch.js +25 -1
- package/dist/esm/core/agent/arguments/dispatch.js.map +1 -1
- package/dist/esm/core/agent/arguments/resolve.d.ts +77 -7
- package/dist/esm/core/agent/arguments/resolve.js +239 -8
- package/dist/esm/core/agent/arguments/resolve.js.map +1 -1
- package/dist/esm/core/agent/arguments/rows.d.ts +31 -2
- package/dist/esm/core/agent/arguments/rows.js +35 -1
- package/dist/esm/core/agent/arguments/rows.js.map +1 -1
- package/dist/esm/core/agent/arguments/serve.d.ts +133 -4
- package/dist/esm/core/agent/arguments/serve.js +328 -4
- package/dist/esm/core/agent/arguments/serve.js.map +1 -1
- package/dist/esm/core/agent/arguments/subflow.d.ts +28 -0
- package/dist/esm/core/agent/arguments/subflow.js +47 -8
- package/dist/esm/core/agent/arguments/subflow.js.map +1 -1
- package/dist/esm/core/agent/assessment/assess.js +45 -6
- package/dist/esm/core/agent/assessment/assess.js.map +1 -1
- package/dist/esm/core/agent/assessment/compose.js +3 -0
- package/dist/esm/core/agent/assessment/compose.js.map +1 -1
- package/dist/esm/core/agent/assessment/reasons.js +18 -0
- package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
- package/dist/esm/core/agent/assessment/types.d.ts +15 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +41 -0
- package/dist/esm/core/agent/buildAgentChart.js +28 -0
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.d.ts +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +9 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/coverage/answer.d.ts +20 -1
- package/dist/esm/core/agent/coverage/answer.js +23 -6
- package/dist/esm/core/agent/coverage/answer.js.map +1 -1
- package/dist/esm/core/agent/coverage/period.d.ts +49 -3
- package/dist/esm/core/agent/coverage/period.js +107 -68
- package/dist/esm/core/agent/coverage/period.js.map +1 -1
- package/dist/esm/core/agent/coverage/timeLimitFacts.d.ts +56 -0
- package/dist/esm/core/agent/coverage/timeLimitFacts.js +65 -0
- package/dist/esm/core/agent/coverage/timeLimitFacts.js.map +1 -0
- package/dist/esm/core/agent/coverage/timeLimits.d.ts +46 -0
- package/dist/esm/core/agent/coverage/timeLimits.js +67 -0
- package/dist/esm/core/agent/coverage/timeLimits.js.map +1 -0
- package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +25 -2
- package/dist/esm/core/agent/evidence/evidenceIndex.js +47 -7
- package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
- package/dist/esm/core/agent/evidence/gate.d.ts +7 -0
- package/dist/esm/core/agent/evidence/gate.js +9 -4
- package/dist/esm/core/agent/evidence/gate.js.map +1 -1
- package/dist/esm/core/agent/evidence/normalize.d.ts +0 -34
- package/dist/esm/core/agent/evidence/normalize.js +0 -103
- package/dist/esm/core/agent/evidence/normalize.js.map +1 -1
- package/dist/esm/core/agent/evidence/types.d.ts +12 -1
- package/dist/esm/core/agent/findings/ledger.js +14 -0
- package/dist/esm/core/agent/findings/ledger.js.map +1 -1
- package/dist/esm/core/agent/findings/types.d.ts +2 -1
- package/dist/esm/core/agent/findings/types.js.map +1 -1
- package/dist/esm/core/agent/honesty/mounts.d.ts +25 -0
- package/dist/esm/core/agent/honesty/mounts.js +104 -4
- package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
- package/dist/esm/core/agent/results/subflow.d.ts +34 -2
- package/dist/esm/core/agent/results/subflow.js +43 -11
- package/dist/esm/core/agent/results/subflow.js.map +1 -1
- package/dist/esm/core/agent/stages/argumentAsk.d.ts +19 -0
- package/dist/esm/core/agent/stages/argumentAsk.js +85 -6
- package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.d.ts +6 -0
- package/dist/esm/core/agent/stages/callLLM.js +16 -0
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/prepareFinal.d.ts +13 -1
- package/dist/esm/core/agent/stages/prepareFinal.js +59 -7
- package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/esm/core/agent/stages/route.d.ts +29 -1
- package/dist/esm/core/agent/stages/route.js +64 -7
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +23 -0
- package/dist/esm/core/agent/stages/seed.js +29 -6
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/timeLayer.d.ts +94 -0
- package/dist/esm/core/agent/stages/timeLayer.js +193 -0
- package/dist/esm/core/agent/stages/timeLayer.js.map +1 -0
- package/dist/esm/core/agent/stages/timeLineage.d.ts +31 -0
- package/dist/esm/core/agent/stages/timeLineage.js +57 -0
- package/dist/esm/core/agent/stages/timeLineage.js.map +1 -0
- package/dist/esm/core/agent/stages/toolCalls.d.ts +32 -0
- package/dist/esm/core/agent/stages/toolCalls.js +70 -0
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +37 -0
- package/dist/esm/core/inputRequest.d.ts +50 -6
- package/dist/esm/core/inputRequest.js +132 -5
- package/dist/esm/core/inputRequest.js.map +1 -1
- package/dist/esm/core/messageFrom.d.ts +5 -2
- package/dist/esm/core/messageFrom.js +5 -2
- package/dist/esm/core/messageFrom.js.map +1 -1
- package/dist/esm/core/runCheckpoint.js +17 -2
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/core/slots/buildToolsSlot.d.ts +29 -0
- package/dist/esm/core/slots/buildToolsSlot.js +30 -2
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core/time/ask.d.ts +126 -0
- package/dist/esm/core/time/ask.js +230 -0
- package/dist/esm/core/time/ask.js.map +1 -0
- package/dist/esm/core/time/axis.d.ts +224 -0
- package/dist/esm/core/time/axis.js +462 -0
- package/dist/esm/core/time/axis.js.map +1 -0
- package/dist/esm/core/time/bind.d.ts +143 -0
- package/dist/esm/core/time/bind.js +227 -0
- package/dist/esm/core/time/bind.js.map +1 -0
- package/dist/esm/core/time/check.d.ts +113 -0
- package/dist/esm/core/time/check.js +252 -0
- package/dist/esm/core/time/check.js.map +1 -0
- package/dist/esm/core/time/checkRecord.d.ts +74 -0
- package/dist/esm/core/time/checkRecord.js +90 -0
- package/dist/esm/core/time/checkRecord.js.map +1 -0
- package/dist/esm/core/time/clock.d.ts +183 -0
- package/dist/esm/core/time/clock.js +252 -0
- package/dist/esm/core/time/clock.js.map +1 -0
- package/dist/esm/core/time/convert.d.ts +178 -0
- package/dist/esm/core/time/convert.js +609 -0
- package/dist/esm/core/time/convert.js.map +1 -0
- package/dist/esm/core/time/drift.d.ts +85 -0
- package/dist/esm/core/time/drift.js +91 -0
- package/dist/esm/core/time/drift.js.map +1 -0
- package/dist/esm/core/time/duration.d.ts +71 -0
- package/dist/esm/core/time/duration.js +117 -0
- package/dist/esm/core/time/duration.js.map +1 -0
- package/dist/esm/core/time/forms.d.ts +84 -0
- package/dist/esm/core/time/forms.js +268 -0
- package/dist/esm/core/time/forms.js.map +1 -0
- package/dist/esm/core/time/instant.d.ts +75 -0
- package/dist/esm/core/time/instant.js +131 -0
- package/dist/esm/core/time/instant.js.map +1 -0
- package/dist/esm/core/time/periodForm.d.ts +184 -0
- package/dist/esm/core/time/periodForm.js +376 -0
- package/dist/esm/core/time/periodForm.js.map +1 -0
- package/dist/esm/core/time/present.d.ts +107 -0
- package/dist/esm/core/time/present.js +305 -0
- package/dist/esm/core/time/present.js.map +1 -0
- package/dist/esm/core/time/range.d.ts +127 -0
- package/dist/esm/core/time/range.js +249 -0
- package/dist/esm/core/time/range.js.map +1 -0
- package/dist/esm/core/time/reader.d.ts +162 -0
- package/dist/esm/core/time/reader.js +203 -0
- package/dist/esm/core/time/reader.js.map +1 -0
- package/dist/esm/core/time/readers/english.d.ts +99 -0
- package/dist/esm/core/time/readers/english.js +572 -0
- package/dist/esm/core/time/readers/english.js.map +1 -0
- package/dist/esm/core/time/readingAsk.d.ts +45 -0
- package/dist/esm/core/time/readingAsk.js +90 -0
- package/dist/esm/core/time/readingAsk.js.map +1 -0
- package/dist/esm/core/time/resolve.d.ts +103 -0
- package/dist/esm/core/time/resolve.js +684 -0
- package/dist/esm/core/time/resolve.js.map +1 -0
- package/dist/esm/core/time/resolveRecord.d.ts +160 -0
- package/dist/esm/core/time/resolveRecord.js +158 -0
- package/dist/esm/core/time/resolveRecord.js.map +1 -0
- package/dist/esm/core/time/rows.d.ts +297 -0
- package/dist/esm/core/time/rows.js +397 -0
- package/dist/esm/core/time/rows.js.map +1 -0
- package/dist/esm/core/time/rowsBuild.d.ts +82 -0
- package/dist/esm/core/time/rowsBuild.js +185 -0
- package/dist/esm/core/time/rowsBuild.js.map +1 -0
- package/dist/esm/core/time/textForms.d.ts +53 -0
- package/dist/esm/core/time/textForms.js +126 -0
- package/dist/esm/core/time/textForms.js.map +1 -0
- package/dist/esm/core/time/windows.d.ts +113 -0
- package/dist/esm/core/time/windows.js +166 -0
- package/dist/esm/core/time/windows.js.map +1 -0
- package/dist/esm/core/time/wire.d.ts +63 -0
- package/dist/esm/core/time/wire.js +81 -0
- package/dist/esm/core/time/wire.js.map +1 -0
- package/dist/esm/core/time/zone.d.ts +115 -0
- package/dist/esm/core/time/zone.js +242 -0
- package/dist/esm/core/time/zone.js.map +1 -0
- package/dist/esm/core/tools.d.ts +26 -4
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +16 -2
- package/dist/esm/index.d.ts +13 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/answer-account/facts/howSure.js +7 -0
- package/dist/esm/lib/answer-account/facts/howSure.js.map +1 -1
- package/dist/esm/lib/answer-account/templates.d.ts +3 -0
- package/dist/esm/lib/answer-account/templates.js +4 -0
- package/dist/esm/lib/answer-account/templates.js.map +1 -1
- package/dist/esm/lib/mcp/elicitation.d.ts +84 -0
- package/dist/esm/lib/mcp/elicitation.js +181 -0
- package/dist/esm/lib/mcp/elicitation.js.map +1 -0
- package/dist/esm/lib/mcp/mcpClient.js +9 -3
- package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
- package/dist/esm/lib/mcp/mcpServe.js +6 -2
- package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
- package/dist/esm/lib/mcp/mockMcpClient.d.ts +9 -1
- package/dist/esm/lib/mcp/mockMcpClient.js +5 -3
- package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -1
- package/dist/esm/lib/mcp/toolExtras.d.ts +21 -2
- package/dist/esm/lib/mcp/toolExtras.js +22 -0
- package/dist/esm/lib/mcp/toolExtras.js.map +1 -1
- package/dist/esm/lib/mcp/types.d.ts +8 -0
- package/dist/esm/lib/time-travel/receipt.d.ts +1 -1
- package/dist/esm/lib/time-travel/servedView.d.ts +1 -1
- package/dist/esm/lib/time-travel/servedView.js +9 -0
- package/dist/esm/lib/time-travel/servedView.js.map +1 -1
- package/dist/esm/locales/index.d.ts +6 -0
- package/dist/esm/locales/index.js +6 -0
- package/dist/esm/locales/index.js.map +1 -1
- package/dist/esm/locales/timeAsk.d.ts +29 -0
- package/dist/esm/locales/timeAsk.js +44 -0
- package/dist/esm/locales/timeAsk.js.map +1 -0
- package/dist/esm/recorders/core/resilienceHooks.js +1 -0
- package/dist/esm/recorders/core/resilienceHooks.js.map +1 -1
- package/dist/esm/resilience/statedWait.d.ts +22 -0
- package/dist/esm/resilience/statedWait.js +35 -0
- package/dist/esm/resilience/statedWait.js.map +1 -0
- package/dist/esm/resilience/withRetry.d.ts +13 -2
- package/dist/esm/resilience/withRetry.js +16 -1
- package/dist/esm/resilience/withRetry.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/answer-account/facts/howSure.js +7 -0
- package/dist/lib/answer-account/facts/howSure.js.map +1 -1
- package/dist/lib/answer-account/templates.js +4 -0
- package/dist/lib/answer-account/templates.js.map +1 -1
- package/dist/lib/mcp/elicitation.js +186 -0
- package/dist/lib/mcp/elicitation.js.map +1 -0
- package/dist/lib/mcp/mcpClient.js +8 -2
- package/dist/lib/mcp/mcpClient.js.map +1 -1
- package/dist/lib/mcp/mcpServe.js +5 -1
- package/dist/lib/mcp/mcpServe.js.map +1 -1
- package/dist/lib/mcp/mockMcpClient.js +4 -2
- package/dist/lib/mcp/mockMcpClient.js.map +1 -1
- package/dist/lib/mcp/toolExtras.js +25 -1
- package/dist/lib/mcp/toolExtras.js.map +1 -1
- package/dist/lib/time-travel/servedView.js +9 -0
- package/dist/lib/time-travel/servedView.js.map +1 -1
- package/dist/locales/index.js +8 -1
- package/dist/locales/index.js.map +1 -1
- package/dist/locales/timeAsk.js +47 -0
- package/dist/locales/timeAsk.js.map +1 -0
- package/dist/recorders/core/resilienceHooks.js +1 -0
- package/dist/recorders/core/resilienceHooks.js.map +1 -1
- package/dist/resilience/statedWait.js +39 -0
- package/dist/resilience/statedWait.js.map +1 -0
- package/dist/resilience/withRetry.js +16 -1
- package/dist/resilience/withRetry.js.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +38 -4
- package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/anthropicMessagesWire.d.ts +6 -1
- package/dist/types/adapters/llm/anthropicMessagesWire.d.ts.map +1 -1
- package/dist/types/adapters/llm/retryAfter.d.ts +28 -0
- package/dist/types/adapters/llm/retryAfter.d.ts.map +1 -0
- package/dist/types/adapters/types.d.ts +9 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/artifacts/index.d.ts +1 -1
- package/dist/types/artifacts/index.d.ts.map +1 -1
- package/dist/types/artifacts/types.d.ts +2 -2
- package/dist/types/artifacts/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +64 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +60 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/ask.d.ts +88 -5
- package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/checks.d.ts +1 -1
- package/dist/types/core/agent/arguments/checks.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/declare.d.ts +76 -15
- package/dist/types/core/agent/arguments/declare.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/dispatch.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/resolve.d.ts +77 -7
- package/dist/types/core/agent/arguments/resolve.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/rows.d.ts +31 -2
- package/dist/types/core/agent/arguments/rows.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/serve.d.ts +133 -4
- package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/subflow.d.ts +28 -0
- package/dist/types/core/agent/arguments/subflow.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/types.d.ts +15 -1
- package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +41 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/answer.d.ts +20 -1
- package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/period.d.ts +49 -3
- package/dist/types/core/agent/coverage/period.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/timeLimitFacts.d.ts +57 -0
- package/dist/types/core/agent/coverage/timeLimitFacts.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/timeLimits.d.ts +47 -0
- package/dist/types/core/agent/coverage/timeLimits.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts +25 -2
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/gate.d.ts +7 -0
- package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/normalize.d.ts +0 -34
- package/dist/types/core/agent/evidence/normalize.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/types.d.ts +12 -1
- package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
- package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
- package/dist/types/core/agent/findings/types.d.ts +2 -1
- package/dist/types/core/agent/findings/types.d.ts.map +1 -1
- package/dist/types/core/agent/honesty/mounts.d.ts +25 -0
- package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
- package/dist/types/core/agent/results/subflow.d.ts +34 -2
- package/dist/types/core/agent/results/subflow.d.ts.map +1 -1
- package/dist/types/core/agent/stages/argumentAsk.d.ts +19 -0
- package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts +6 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/prepareFinal.d.ts +13 -1
- package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts +29 -1
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +23 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/timeLayer.d.ts +95 -0
- package/dist/types/core/agent/stages/timeLayer.d.ts.map +1 -0
- package/dist/types/core/agent/stages/timeLineage.d.ts +32 -0
- package/dist/types/core/agent/stages/timeLineage.d.ts.map +1 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts +32 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +37 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/inputRequest.d.ts +50 -6
- package/dist/types/core/inputRequest.d.ts.map +1 -1
- package/dist/types/core/messageFrom.d.ts +5 -2
- package/dist/types/core/messageFrom.d.ts.map +1 -1
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts +29 -0
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/core/time/ask.d.ts +127 -0
- package/dist/types/core/time/ask.d.ts.map +1 -0
- package/dist/types/core/time/axis.d.ts +225 -0
- package/dist/types/core/time/axis.d.ts.map +1 -0
- package/dist/types/core/time/bind.d.ts +144 -0
- package/dist/types/core/time/bind.d.ts.map +1 -0
- package/dist/types/core/time/check.d.ts +114 -0
- package/dist/types/core/time/check.d.ts.map +1 -0
- package/dist/types/core/time/checkRecord.d.ts +75 -0
- package/dist/types/core/time/checkRecord.d.ts.map +1 -0
- package/dist/types/core/time/clock.d.ts +184 -0
- package/dist/types/core/time/clock.d.ts.map +1 -0
- package/dist/types/core/time/convert.d.ts +179 -0
- package/dist/types/core/time/convert.d.ts.map +1 -0
- package/dist/types/core/time/drift.d.ts +86 -0
- package/dist/types/core/time/drift.d.ts.map +1 -0
- package/dist/types/core/time/duration.d.ts +72 -0
- package/dist/types/core/time/duration.d.ts.map +1 -0
- package/dist/types/core/time/forms.d.ts +85 -0
- package/dist/types/core/time/forms.d.ts.map +1 -0
- package/dist/types/core/time/instant.d.ts +76 -0
- package/dist/types/core/time/instant.d.ts.map +1 -0
- package/dist/types/core/time/periodForm.d.ts +185 -0
- package/dist/types/core/time/periodForm.d.ts.map +1 -0
- package/dist/types/core/time/present.d.ts +108 -0
- package/dist/types/core/time/present.d.ts.map +1 -0
- package/dist/types/core/time/range.d.ts +128 -0
- package/dist/types/core/time/range.d.ts.map +1 -0
- package/dist/types/core/time/reader.d.ts +163 -0
- package/dist/types/core/time/reader.d.ts.map +1 -0
- package/dist/types/core/time/readers/english.d.ts +100 -0
- package/dist/types/core/time/readers/english.d.ts.map +1 -0
- package/dist/types/core/time/readingAsk.d.ts +46 -0
- package/dist/types/core/time/readingAsk.d.ts.map +1 -0
- package/dist/types/core/time/resolve.d.ts +104 -0
- package/dist/types/core/time/resolve.d.ts.map +1 -0
- package/dist/types/core/time/resolveRecord.d.ts +161 -0
- package/dist/types/core/time/resolveRecord.d.ts.map +1 -0
- package/dist/types/core/time/rows.d.ts +298 -0
- package/dist/types/core/time/rows.d.ts.map +1 -0
- package/dist/types/core/time/rowsBuild.d.ts +83 -0
- package/dist/types/core/time/rowsBuild.d.ts.map +1 -0
- package/dist/types/core/time/textForms.d.ts +54 -0
- package/dist/types/core/time/textForms.d.ts.map +1 -0
- package/dist/types/core/time/windows.d.ts +114 -0
- package/dist/types/core/time/windows.d.ts.map +1 -0
- package/dist/types/core/time/wire.d.ts +64 -0
- package/dist/types/core/time/wire.d.ts.map +1 -0
- package/dist/types/core/time/zone.d.ts +116 -0
- package/dist/types/core/time/zone.d.ts.map +1 -0
- package/dist/types/core/tools.d.ts +26 -4
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +16 -2
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +13 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/answer-account/facts/howSure.d.ts.map +1 -1
- package/dist/types/lib/answer-account/templates.d.ts +3 -0
- package/dist/types/lib/answer-account/templates.d.ts.map +1 -1
- package/dist/types/lib/mcp/elicitation.d.ts +85 -0
- package/dist/types/lib/mcp/elicitation.d.ts.map +1 -0
- package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
- package/dist/types/lib/mcp/mockMcpClient.d.ts +9 -1
- package/dist/types/lib/mcp/mockMcpClient.d.ts.map +1 -1
- package/dist/types/lib/mcp/toolExtras.d.ts +21 -2
- package/dist/types/lib/mcp/toolExtras.d.ts.map +1 -1
- package/dist/types/lib/mcp/types.d.ts +8 -0
- package/dist/types/lib/mcp/types.d.ts.map +1 -1
- package/dist/types/lib/time-travel/receipt.d.ts +1 -1
- package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
- package/dist/types/lib/time-travel/servedView.d.ts +1 -1
- package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
- package/dist/types/locales/index.d.ts +6 -0
- package/dist/types/locales/index.d.ts.map +1 -1
- package/dist/types/locales/timeAsk.d.ts +30 -0
- package/dist/types/locales/timeAsk.d.ts.map +1 -0
- package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -1
- package/dist/types/resilience/statedWait.d.ts +23 -0
- package/dist/types/resilience/statedWait.d.ts.map +1 -0
- package/dist/types/resilience/withRetry.d.ts +13 -2
- package/dist/types/resilience/withRetry.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/artifacts/timeAxis.js +0 -218
- package/dist/artifacts/timeAxis.js.map +0 -1
- package/dist/esm/artifacts/timeAxis.d.ts +0 -114
- package/dist/esm/artifacts/timeAxis.js +0 -212
- package/dist/esm/artifacts/timeAxis.js.map +0 -1
- package/dist/types/artifacts/timeAxis.d.ts +0 -115
- package/dist/types/artifacts/timeAxis.d.ts.map +0 -1
package/dist/esm/core/Agent.js
CHANGED
|
@@ -124,9 +124,11 @@ import { makeRouteTurnStage } from './agent/stages/routeTurn.js';
|
|
|
124
124
|
import { applyOutputFallback, } from './outputFallback.js';
|
|
125
125
|
import { assertContinuable, buildCheckpoint, classifyFailurePhase, RunCheckpointError, validateCheckpoint, } from './runCheckpoint.js';
|
|
126
126
|
import { NoConversationError, PendingQuestionError, ResumeIdentityConflictError, RunInFlightError, } from './conversation.js';
|
|
127
|
-
import { applyInputResponse, readAwaitingInput } from './inputRequest.js';
|
|
127
|
+
import { applyInputResponse, readAwaitingInput, } from './inputRequest.js';
|
|
128
128
|
import { applyOutputSchema, OutputSchemaError } from './outputSchema.js';
|
|
129
129
|
import { InvalidRunInputError, normalizeRunInput } from './runInput.js';
|
|
130
|
+
import { clockOf } from './time/rows.js';
|
|
131
|
+
import { draftClock, readRunTime, readTimeOptions, } from './time/clock.js';
|
|
130
132
|
import { buildOutputRetryStage } from './agent/stages/outputRetry.js';
|
|
131
133
|
import { RunnerBase, makeRunId } from './RunnerBase.js';
|
|
132
134
|
import { clampIterations, validateMemoryIdUniqueness, validateToolNameUniqueness, } from './agent/validators.js';
|
|
@@ -339,6 +341,20 @@ export class Agent extends RunnerBase {
|
|
|
339
341
|
* ask, and that undefined is the whole zero-cost guarantee: no stage, no
|
|
340
342
|
* witness row, no stamp, no event, no bridge. */
|
|
341
343
|
answerLayerOption;
|
|
344
|
+
/** `.time()` (the time layer, `core/time/`): the fallback zone, as read.
|
|
345
|
+
* Undefined on every agent that did not ask — then no clock is read, no
|
|
346
|
+
* time row is filed and `time` on a run is refused. */
|
|
347
|
+
timeOptions;
|
|
348
|
+
/** The clock the CURRENT `run()`'s seed stamps — set by `run()` (refusing a
|
|
349
|
+
* run with no zone), read by seed through `SeedStageDeps.timeClock`, and
|
|
350
|
+
* cleared when `run()` ends, so a later turn this agent did not start (its
|
|
351
|
+
* chart mounted in a composition) never stamps a clock nobody declared for
|
|
352
|
+
* it (`seedClockDraft`). */
|
|
353
|
+
runClockDraft;
|
|
354
|
+
/** The `time` the CURRENT resume passed, as read — TAKEN once by the first
|
|
355
|
+
* ToolCalls pass of the resumed leg (`ToolCallsHandlerDeps.time`), and
|
|
356
|
+
* cleared when `run()` or `resume()` ends. */
|
|
357
|
+
resumePassedTime;
|
|
342
358
|
/** Tool choice by classifier (9.105.0, `.toolChoice()`): the classifier,
|
|
343
359
|
* the serve dial and the app's own doors. Threaded to the tools slot (the
|
|
344
360
|
* pick and the narrowing), to call-llm (`toolChoice: true`, the outcome
|
|
@@ -778,6 +794,18 @@ export class Agent extends RunnerBase {
|
|
|
778
794
|
else if (typeof opts.answerLayer === 'object' && opts.answerLayer !== null) {
|
|
779
795
|
this.answerLayerOption = opts.answerLayer.standingLine === true ? { standingLine: true } : {};
|
|
780
796
|
}
|
|
797
|
+
// The time layer's door (`.time()` / `AgentOptions.time`): `true` or the
|
|
798
|
+
// options, read once; a malformed zone is refused here, at build.
|
|
799
|
+
if (opts.time !== undefined) {
|
|
800
|
+
const read = readTimeOptions(opts.time === true ? undefined : opts.time);
|
|
801
|
+
if ('problem' in read)
|
|
802
|
+
throw new Error(`Agent: time ${read.problem}.`);
|
|
803
|
+
this.timeOptions = read.value;
|
|
804
|
+
// The reader reads only a person's message — a composition hands the
|
|
805
|
+
// `messageFrom: 'composed'` marker only to a runner that reads it.
|
|
806
|
+
if (read.value.reader !== undefined)
|
|
807
|
+
readsMessageFrom(this);
|
|
808
|
+
}
|
|
781
809
|
if (opts.findings?.argumentSources === true || inputsLayer?.argumentSources === true) {
|
|
782
810
|
this.argumentSourcesArmed = true;
|
|
783
811
|
// Declared sources read `AgentInput.messageFrom` — a composition hands
|
|
@@ -1467,6 +1495,10 @@ export class Agent extends RunnerBase {
|
|
|
1467
1495
|
// not at the resume of a pause it would have made impossible to resume.
|
|
1468
1496
|
assertIdentityShape(runInput.identity, 'Agent.run');
|
|
1469
1497
|
assertIdentityShape(options?.identity, 'Agent.run');
|
|
1498
|
+
// The run's clock (the time layer): read or refused HERE, before the turn
|
|
1499
|
+
// starts — a run with no zone anywhere never runs on the server's zone.
|
|
1500
|
+
const clockDraft = this.clockDraftFor(runInput.time ?? options?.time, 'Agent.run');
|
|
1501
|
+
const engineOptions = withoutTime(options);
|
|
1470
1502
|
// Timing next, and before the executor exists: both of these refuse a call
|
|
1471
1503
|
// that would have SUCCEEDED into corrupted per-instance state or an
|
|
1472
1504
|
// orphaned human question. See ./conversation.ts for why they are throws.
|
|
@@ -1498,7 +1530,8 @@ export class Agent extends RunnerBase {
|
|
|
1498
1530
|
// (helper used in the catch block below — module-private function
|
|
1499
1531
|
// declared at file end via hoisting)
|
|
1500
1532
|
this.answeredAsk = undefined;
|
|
1501
|
-
|
|
1533
|
+
this.resumePassedTime = undefined;
|
|
1534
|
+
const executor = this.createExecutor(engineOptions);
|
|
1502
1535
|
this.inFlightRunId = this.currentRunContext.runId;
|
|
1503
1536
|
// One disposition ledger per run (9.60.0) — registration mirrors what
|
|
1504
1537
|
// this agent's configuration makes applicable; dev posture runs the
|
|
@@ -1523,22 +1556,28 @@ export class Agent extends RunnerBase {
|
|
|
1523
1556
|
this.lastRunAnswer = undefined;
|
|
1524
1557
|
// One run can never raise on another run's consent block.
|
|
1525
1558
|
this.consentOutstanding.clear();
|
|
1559
|
+
// Set here, beside the `try` whose `finally` clears it, so no exit path
|
|
1560
|
+
// can leave it behind for a turn this `run()` did not start.
|
|
1561
|
+
this.runClockDraft = clockDraft;
|
|
1526
1562
|
try {
|
|
1527
1563
|
const result = await executor.run({
|
|
1528
1564
|
input: {
|
|
1529
1565
|
message: runInput.message,
|
|
1530
1566
|
...(this.lastRunIdentity !== undefined && { identity: this.lastRunIdentity }),
|
|
1531
1567
|
// A composed message reaches seed only on an agent that reads it
|
|
1532
|
-
// (declared sources) — every other run's
|
|
1568
|
+
// (declared sources, or the time layer's reader) — every other run's
|
|
1569
|
+
// input is the bytes it was.
|
|
1533
1570
|
...(messageFrom === 'composed' &&
|
|
1534
|
-
this.argumentSourcesArmed === true
|
|
1571
|
+
(this.argumentSourcesArmed === true || this.timeOptions?.reader !== undefined) && {
|
|
1572
|
+
messageFrom: 'composed',
|
|
1573
|
+
}),
|
|
1535
1574
|
},
|
|
1536
1575
|
// Co-engineered boundary (#16): the engine's loop-iteration limit
|
|
1537
1576
|
// (footprintjs 9 default 1000) must never fire BELOW the agent's own
|
|
1538
1577
|
// budget — give it headroom (×2 + 10 covers double-hop loop shapes).
|
|
1539
1578
|
// Consumer-provided options win.
|
|
1540
1579
|
maxIterations: this.maxIterations * 2 + 10,
|
|
1541
|
-
...(
|
|
1580
|
+
...(engineOptions ?? {}),
|
|
1542
1581
|
});
|
|
1543
1582
|
const finalized = this.finalizeResult(executor, result);
|
|
1544
1583
|
if (typeof finalized === 'string')
|
|
@@ -1632,6 +1671,11 @@ export class Agent extends RunnerBase {
|
|
|
1632
1671
|
throw cause;
|
|
1633
1672
|
}
|
|
1634
1673
|
finally {
|
|
1674
|
+
// The time layer's per-run inputs end with the run: a stale draft would
|
|
1675
|
+
// be stamped by the next seed this agent did not start (a composition
|
|
1676
|
+
// mounting its chart) as if the app had declared it.
|
|
1677
|
+
this.runClockDraft = undefined;
|
|
1678
|
+
this.resumePassedTime = undefined;
|
|
1635
1679
|
// The run's disposition rows, on EVERY path — success, failure, pause —
|
|
1636
1680
|
// and BEFORE the recording stops, so a recording carries its run's
|
|
1637
1681
|
// checker accounting (9.60.0).
|
|
@@ -1815,6 +1859,79 @@ export class Agent extends RunnerBase {
|
|
|
1815
1859
|
identityFor(options, cp) {
|
|
1816
1860
|
return options?.identity ?? cp.identity;
|
|
1817
1861
|
}
|
|
1862
|
+
/**
|
|
1863
|
+
* A run's `time`, read into the turn's clock draft (the time layer) — or
|
|
1864
|
+
* refused, before the turn starts: `time` on an agent without `.time()`, a
|
|
1865
|
+
* malformed value, or no zone anywhere (the run's, else the builder's).
|
|
1866
|
+
* `undefined` on an agent without the layer.
|
|
1867
|
+
*
|
|
1868
|
+
* @internal
|
|
1869
|
+
*/
|
|
1870
|
+
clockDraftFor(time, runner) {
|
|
1871
|
+
const passed = this.passedTimeFor(time, runner);
|
|
1872
|
+
if (this.timeOptions === undefined)
|
|
1873
|
+
return undefined;
|
|
1874
|
+
const draft = draftClock(passed, this.timeOptions);
|
|
1875
|
+
if (draft === 'no-zone') {
|
|
1876
|
+
throw new InvalidRunInputError({
|
|
1877
|
+
runner,
|
|
1878
|
+
received: 'a run with no time zone',
|
|
1879
|
+
hint: "this agent's time layer needs the person's zone — pass run({ message, time: { zone: " +
|
|
1880
|
+
"'America/Los_Angeles' } }) or declare a fallback with .time({ zone }); the server's " +
|
|
1881
|
+
'zone is never used',
|
|
1882
|
+
});
|
|
1883
|
+
}
|
|
1884
|
+
return draft;
|
|
1885
|
+
}
|
|
1886
|
+
/**
|
|
1887
|
+
* The clock draft seed stamps (the time layer): the one `run()` read — or,
|
|
1888
|
+
* for a turn this agent's `run()` did not start (its chart mounted in a
|
|
1889
|
+
* composition, which passes no `time`), the builder's fallback zone with
|
|
1890
|
+
* the turn's start as `now` (`zoneSource: 'builder'`, `nowSource:
|
|
1891
|
+
* 'default'` — the same record a `run()` with no `time` files). With no
|
|
1892
|
+
* fallback zone that turn is refused, as `run()` refuses it: the server's
|
|
1893
|
+
* zone is never used.
|
|
1894
|
+
*
|
|
1895
|
+
* @internal
|
|
1896
|
+
*/
|
|
1897
|
+
seedClockDraft() {
|
|
1898
|
+
if (this.runClockDraft !== undefined)
|
|
1899
|
+
return this.runClockDraft;
|
|
1900
|
+
const draft = draftClock(undefined, this.timeOptions ?? {});
|
|
1901
|
+
if (draft === 'no-zone') {
|
|
1902
|
+
throw new InvalidRunInputError({
|
|
1903
|
+
runner: 'Agent (mounted in a composition)',
|
|
1904
|
+
received: 'a turn with no time zone',
|
|
1905
|
+
hint: "this agent's time layer needs the person's zone, and a composition passes no time to " +
|
|
1906
|
+
"the agents it mounts — declare a fallback with .time({ zone: 'America/Los_Angeles' }); " +
|
|
1907
|
+
"the server's zone is never used",
|
|
1908
|
+
});
|
|
1909
|
+
}
|
|
1910
|
+
return draft;
|
|
1911
|
+
}
|
|
1912
|
+
/**
|
|
1913
|
+
* A `time` passed to a run or a resume, read — or refused by name: passed to
|
|
1914
|
+
* an agent without `.time()` (a door that ignored it would look configured
|
|
1915
|
+
* and do nothing), or malformed.
|
|
1916
|
+
*
|
|
1917
|
+
* @internal
|
|
1918
|
+
*/
|
|
1919
|
+
passedTimeFor(time, runner) {
|
|
1920
|
+
if (time === undefined)
|
|
1921
|
+
return undefined;
|
|
1922
|
+
if (this.timeOptions === undefined) {
|
|
1923
|
+
throw new InvalidRunInputError({
|
|
1924
|
+
runner,
|
|
1925
|
+
received: 'time',
|
|
1926
|
+
hint: 'this agent reads no clock — arm the time layer with .time() to pass time',
|
|
1927
|
+
});
|
|
1928
|
+
}
|
|
1929
|
+
const read = readRunTime(time);
|
|
1930
|
+
if ('problem' in read) {
|
|
1931
|
+
throw new InvalidRunInputError({ runner, received: 'a malformed time', hint: read.problem });
|
|
1932
|
+
}
|
|
1933
|
+
return read.value;
|
|
1934
|
+
}
|
|
1818
1935
|
/**
|
|
1819
1936
|
* Install a per-run checkpoint tracker. Listens for the agent's
|
|
1820
1937
|
* own iteration_end events on `this.dispatcher` and snapshots the
|
|
@@ -1910,6 +2027,11 @@ export class Agent extends RunnerBase {
|
|
|
1910
2027
|
// answer is a value (often a string) and must stay accepted, so the only
|
|
1911
2028
|
// sound question is "what was asked?".
|
|
1912
2029
|
assertIdentityShape(options?.identity, 'Agent.resume');
|
|
2030
|
+
// A resume's `time` (the time layer) is read or refused before anything
|
|
2031
|
+
// moves; it is never applied — the paused turn's clock is kept, and a
|
|
2032
|
+
// differing value is recorded by the ToolCalls resume door.
|
|
2033
|
+
const passedTime = this.passedTimeFor(options?.time, 'Agent.resume');
|
|
2034
|
+
options = withoutTime(options);
|
|
1913
2035
|
const gate = pauseDemandsDecision(checkpoint.pauseData);
|
|
1914
2036
|
if (gate && !isCheckInDecision(input))
|
|
1915
2037
|
throw new DecisionRequiredError(gate, input);
|
|
@@ -1941,7 +2063,7 @@ export class Agent extends RunnerBase {
|
|
|
1941
2063
|
let answeredAsk;
|
|
1942
2064
|
if (awaitingInput !== undefined) {
|
|
1943
2065
|
this.assertNotRunning('Agent.resume');
|
|
1944
|
-
const answered = applyInputResponse(awaitingInput, input);
|
|
2066
|
+
const answered = applyInputResponse(awaitingInput, input, this.timeAnswerContextOf(checkpoint.sharedState));
|
|
1945
2067
|
if ('cancel' in answered) {
|
|
1946
2068
|
throw new TypeError('[input request] Cancel a hosted request through its host, or abandonPause() before starting another run.');
|
|
1947
2069
|
}
|
|
@@ -2022,6 +2144,8 @@ export class Agent extends RunnerBase {
|
|
|
2022
2144
|
this.lastRunAnswer = undefined;
|
|
2023
2145
|
// One run can never raise on another run's consent block.
|
|
2024
2146
|
this.consentOutstanding.clear();
|
|
2147
|
+
// Beside the `try` whose `finally` clears it (the fresh-run path's terms).
|
|
2148
|
+
this.resumePassedTime = passedTime;
|
|
2025
2149
|
try {
|
|
2026
2150
|
const result = await executor.resume(checkpoint, input, resumeOptions);
|
|
2027
2151
|
const finalized = this.finalizeResult(executor, result);
|
|
@@ -2041,6 +2165,8 @@ export class Agent extends RunnerBase {
|
|
|
2041
2165
|
throw cause;
|
|
2042
2166
|
}
|
|
2043
2167
|
finally {
|
|
2168
|
+
// A resume's passed `time` ends with the resume (the fresh-run path's terms).
|
|
2169
|
+
this.resumePassedTime = undefined;
|
|
2044
2170
|
// Same terms as the fresh-run path: rows on every exit, before the
|
|
2045
2171
|
// recording stops (9.60.0).
|
|
2046
2172
|
this.fileIntegrityDisposition();
|
|
@@ -2216,6 +2342,26 @@ export class Agent extends RunnerBase {
|
|
|
2216
2342
|
return undefined;
|
|
2217
2343
|
return structuredClone(spans);
|
|
2218
2344
|
}
|
|
2345
|
+
/**
|
|
2346
|
+
* What the resume door checks a time field's answer with (the time design
|
|
2347
|
+
* § 6.2, step T4): the paused turn's clock zone — the kept `clock` row, so
|
|
2348
|
+
* a resume that passes another `time` changes nothing — and the app's
|
|
2349
|
+
* catalog overrides. `undefined` without `.time()`: a `format` field is
|
|
2350
|
+
* then judged for shape, order and offset only, in the default words.
|
|
2351
|
+
*
|
|
2352
|
+
* @internal
|
|
2353
|
+
*/
|
|
2354
|
+
timeAnswerContextOf(state) {
|
|
2355
|
+
if (this.timeOptions === undefined)
|
|
2356
|
+
return undefined;
|
|
2357
|
+
const ledger = state?.findingsLedger;
|
|
2358
|
+
const zone = clockOf(Array.isArray(ledger) ? ledger : undefined)?.zone;
|
|
2359
|
+
const messages = this.timeOptions.messages;
|
|
2360
|
+
return {
|
|
2361
|
+
...(zone !== undefined && { zone }),
|
|
2362
|
+
...(messages !== undefined && { messages }),
|
|
2363
|
+
};
|
|
2364
|
+
}
|
|
2219
2365
|
/**
|
|
2220
2366
|
* The findings ledger for a checkpoint (9.101.0) — `foldedSpansOf`'s twin:
|
|
2221
2367
|
* one reader for `checkpoint()` and the crash carrier, `undefined` when the
|
|
@@ -3657,6 +3803,16 @@ export class Agent extends RunnerBase {
|
|
|
3657
3803
|
get honestyLayers() {
|
|
3658
3804
|
return seededHonestyLayers;
|
|
3659
3805
|
},
|
|
3806
|
+
// The time layer's clock: the draft `run()` read (refusing a run with no
|
|
3807
|
+
// zone), stamped by seed as the turn's one `clock` row. Absent → the
|
|
3808
|
+
// deps object seed always had.
|
|
3809
|
+
...(this.timeOptions !== undefined && { timeClock: () => this.seedClockDraft() }),
|
|
3810
|
+
// The time layer's reader: seed reads the person's words once per turn,
|
|
3811
|
+
// after the clock. Absent → nothing is read.
|
|
3812
|
+
...(this.timeOptions?.reader !== undefined &&
|
|
3813
|
+
this.timeOptions.policy !== undefined && {
|
|
3814
|
+
timeReader: { reader: this.timeOptions.reader, policy: this.timeOptions.policy },
|
|
3815
|
+
}),
|
|
3660
3816
|
// Declared sources (honesty layer 2): the seed twin plants `_findings.from`
|
|
3661
3817
|
// on ruled tools, and the run's `messageFrom` constant is written — only
|
|
3662
3818
|
// under the arm (refused at build without the inputs layer).
|
|
@@ -3911,6 +4067,10 @@ export class Agent extends RunnerBase {
|
|
|
3911
4067
|
});
|
|
3912
4068
|
ledgerRestoreArmed = true;
|
|
3913
4069
|
}
|
|
4070
|
+
// The time layer's rows ride the same ledger: a continued conversation
|
|
4071
|
+
// keeps its earlier turns' clocks (each turn files its own).
|
|
4072
|
+
if (this.timeOptions !== undefined)
|
|
4073
|
+
ledgerRestoreArmed = true;
|
|
3914
4074
|
// The gate's admissible set, for the record (9.50.0): declared hops from
|
|
3915
4075
|
// the cursor plus the open skills — the SAME two resolvers the read_skill
|
|
3916
4076
|
// offer and the refusal messages are built from (`readSkillOfferFor`),
|
|
@@ -4126,6 +4286,16 @@ export class Agent extends RunnerBase {
|
|
|
4126
4286
|
// The inputs layer (honesty layer 2): the same site decorates a ruled
|
|
4127
4287
|
// tool's schema first — value-conditional, the same grammar.
|
|
4128
4288
|
...(inputsArmed && { inputsLayer: true }),
|
|
4289
|
+
// …and, under `.time({ reader })` (step T6b), the ONE served time sentence on each tool
|
|
4290
|
+
// that declares a period: the windows the reader settled this turn, in that tool's form.
|
|
4291
|
+
...(inputsArmed &&
|
|
4292
|
+
this.timeOptions?.reader !== undefined && {
|
|
4293
|
+
timeWindows: {
|
|
4294
|
+
...(this.timeOptions.zone !== undefined && { appZone: this.timeOptions.zone }),
|
|
4295
|
+
},
|
|
4296
|
+
}),
|
|
4297
|
+
// …and, under `.time()` (step T8), the turn's time limits in the same line.
|
|
4298
|
+
...(inputsArmed && this.timeOptions !== undefined && { timeLimits: true }),
|
|
4129
4299
|
// …and, under declared sources, plants `_findings.from` on ruled tools only.
|
|
4130
4300
|
...(argumentSources && { argumentSources: true }),
|
|
4131
4301
|
// Tool choice by classifier (9.105.0): the pick and the narrowing live
|
|
@@ -4177,6 +4347,10 @@ export class Agent extends RunnerBase {
|
|
|
4177
4347
|
// constant on every call, under the one gate — an unarmed agent reads
|
|
4178
4348
|
// no new key.
|
|
4179
4349
|
...(this.ontology !== undefined && { ontology: true }),
|
|
4350
|
+
// The time layer's served line (step T6b): read only where the Tools
|
|
4351
|
+
// mount can compose it — the `timeReader` arm of the chart deps.
|
|
4352
|
+
// Step T8 widens it to `.time()`: the same line then carries the turn's time limits.
|
|
4353
|
+
...(inputsArmed && this.timeOptions !== undefined && { timeLine: true }),
|
|
4180
4354
|
// The receipt's salt (9.88.0) — read per call, like seed's own accessor.
|
|
4181
4355
|
getRunId: () => this.currentRunContext?.runId,
|
|
4182
4356
|
// …and its off switch. Value-conditional, so an agent on the default
|
|
@@ -4343,6 +4517,9 @@ export class Agent extends RunnerBase {
|
|
|
4343
4517
|
return rules.ruled.find((r) => r.argument === argument)?.assume;
|
|
4344
4518
|
}),
|
|
4345
4519
|
answeredValues: answeredValuesOf,
|
|
4520
|
+
// Under `.time()` (step T7): the turn's time spellings by
|
|
4521
|
+
// lineage — said ones exempt, derived ones filed, not flagged.
|
|
4522
|
+
...(this.timeOptions !== undefined && { timeLineage: true }),
|
|
4346
4523
|
}),
|
|
4347
4524
|
}
|
|
4348
4525
|
: undefined,
|
|
@@ -4526,6 +4703,28 @@ export class Agent extends RunnerBase {
|
|
|
4526
4703
|
// never allocates it.
|
|
4527
4704
|
currentRun: () => this.toolRunFacts(),
|
|
4528
4705
|
answeredAsk: () => this.answeredAsk,
|
|
4706
|
+
// The time layer: each dispatched call files its `call` row, and the
|
|
4707
|
+
// resume door compares a resume's passed `time` with the kept clock.
|
|
4708
|
+
...(this.timeOptions !== undefined && {
|
|
4709
|
+
time: {
|
|
4710
|
+
takePassedOnResume: () => {
|
|
4711
|
+
const passed = this.resumePassedTime;
|
|
4712
|
+
this.resumePassedTime = undefined;
|
|
4713
|
+
return passed;
|
|
4714
|
+
},
|
|
4715
|
+
...(this.timeOptions.zone !== undefined && { appZone: this.timeOptions.zone }),
|
|
4716
|
+
// The reader (step T6b): the batch ask asks an open mention's window.
|
|
4717
|
+
...(this.timeOptions.reader !== undefined &&
|
|
4718
|
+
this.timeOptions.policy !== undefined && {
|
|
4719
|
+
reader: {
|
|
4720
|
+
policy: this.timeOptions.policy,
|
|
4721
|
+
...(this.timeOptions.messages !== undefined && {
|
|
4722
|
+
messages: this.timeOptions.messages,
|
|
4723
|
+
}),
|
|
4724
|
+
},
|
|
4725
|
+
}),
|
|
4726
|
+
},
|
|
4727
|
+
}),
|
|
4529
4728
|
emitForRun: (type, payload, runContext) => this.emitLateFact(type, payload, runContext),
|
|
4530
4729
|
toolSessions: () => this.toolSessions(),
|
|
4531
4730
|
// 8.6.0 — what a run does when a declared credential needs 3LO consent.
|
|
@@ -4617,6 +4816,13 @@ export class Agent extends RunnerBase {
|
|
|
4617
4816
|
inputsLayer: {
|
|
4618
4817
|
toolOf: (toolName) => resolveForLayer(toolName).tool,
|
|
4619
4818
|
...(this.toolMiddleware.length > 0 && { rewrites: true }),
|
|
4819
|
+
// The time layer (step T5a): a tool whose period declares forms is filled from the
|
|
4820
|
+
// turn's one window, bound to the person's window, or recorded as the model's.
|
|
4821
|
+
...(this.timeOptions !== undefined && {
|
|
4822
|
+
time: {
|
|
4823
|
+
...(this.timeOptions.zone !== undefined && { appZone: this.timeOptions.zone }),
|
|
4824
|
+
},
|
|
4825
|
+
}),
|
|
4620
4826
|
// Declared sources: the layer reads `_findings.from` and checks it against
|
|
4621
4827
|
// the corpora the mount hands in — the app's `externalGrounds` among them.
|
|
4622
4828
|
...(argumentSources && {
|
|
@@ -4677,6 +4883,12 @@ export class Agent extends RunnerBase {
|
|
|
4677
4883
|
// gets the stage that appends nothing and carries the limits as data.
|
|
4678
4884
|
...(this.limitsTravelWithTheAnswerValue && !limitsAsData && { attachCoverageLimits: true }),
|
|
4679
4885
|
...(limitsAsData && { coverageLimitsAsData: true }),
|
|
4886
|
+
// The time layer: the prose limits block renders its `Period:` lines in
|
|
4887
|
+
// the run's clock zone. Absent → the final stage it always mounted.
|
|
4888
|
+
...(this.timeOptions !== undefined && { timeLayer: true }),
|
|
4889
|
+
// The reader (step T6b): the Tools mount hands the slot the turn's settled windows.
|
|
4890
|
+
...(inputsArmed && this.timeOptions?.reader !== undefined && { timeReader: true }),
|
|
4891
|
+
...(inputsArmed && this.timeOptions !== undefined && { timeLimits: true }),
|
|
4680
4892
|
...(this.answerValidationConfig !== undefined && { hasAnswerValidation: true }),
|
|
4681
4893
|
// The out-of-budget wrap-up branch (9.56.0) — the conditional-mount law
|
|
4682
4894
|
// above, decided once beside the Route decider that routes to it so the
|
|
@@ -4739,4 +4951,16 @@ function boundInsertionOrder(held, max) {
|
|
|
4739
4951
|
held.delete(oldest.value);
|
|
4740
4952
|
}
|
|
4741
4953
|
}
|
|
4954
|
+
/**
|
|
4955
|
+
* The run options without the time layer's `time` — what the engine is handed.
|
|
4956
|
+
* The SAME object when it carries no `time` key, so a run that passed none
|
|
4957
|
+
* hands the executor exactly the options it always did.
|
|
4958
|
+
*/
|
|
4959
|
+
function withoutTime(options) {
|
|
4960
|
+
if (options === undefined || !('time' in options))
|
|
4961
|
+
return options;
|
|
4962
|
+
const { time: _time, ...rest } = options;
|
|
4963
|
+
void _time;
|
|
4964
|
+
return rest;
|
|
4965
|
+
}
|
|
4742
4966
|
//# sourceMappingURL=Agent.js.map
|