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
|
@@ -95,7 +95,9 @@ export function dropUsedKept(scope, resolutions, calls) {
|
|
|
95
95
|
* model's sentence (`keptNote`); nothing kept, nothing written.
|
|
96
96
|
*/
|
|
97
97
|
export function keepAnswers(scope, toolName, resolution) {
|
|
98
|
-
const answered = (resolution?.fills ?? []).filter((f) =>
|
|
98
|
+
const answered = (resolution?.fills ?? []).filter((f) =>
|
|
99
|
+
// An `object` form's window is not kept: a kept answer is one flat value (`kept.ts`).
|
|
100
|
+
f.source === 'answered' && (typeof f.value !== 'object' || f.value === null));
|
|
99
101
|
if (answered.length === 0)
|
|
100
102
|
return [];
|
|
101
103
|
scope.argumentAnswersKept = withKept(scope.$getValue('argumentAnswersKept'), scope.turnNumber, toolName, answered);
|
|
@@ -150,6 +152,28 @@ export function noteFor(toolName, tool, resolution, ranWith, proposed, options)
|
|
|
150
152
|
if (ran.length === 0)
|
|
151
153
|
return '';
|
|
152
154
|
return filledNote(toolName, ran.map((f) => {
|
|
155
|
+
// A value the library wrote from the window the person CHOSE when asked (the lazy
|
|
156
|
+
// word-driven ask) is a window fill: its clause says whose window, and whether it reads wider.
|
|
157
|
+
if (f.source === 'answered' && f.window === true) {
|
|
158
|
+
return {
|
|
159
|
+
argument: f.argument,
|
|
160
|
+
value: f.value,
|
|
161
|
+
hidden: hidesArgument(tool, f.argument, f.value),
|
|
162
|
+
source: 'window',
|
|
163
|
+
from: 'answered',
|
|
164
|
+
...(f.wider !== undefined && { wider: f.wider }),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
if (f.source === 'window') {
|
|
168
|
+
return {
|
|
169
|
+
argument: f.argument,
|
|
170
|
+
value: f.value,
|
|
171
|
+
hidden: hidesArgument(tool, f.argument, f.value),
|
|
172
|
+
source: 'window',
|
|
173
|
+
from: f.from,
|
|
174
|
+
...(f.wider !== undefined && { wider: f.wider }),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
153
177
|
const carried = f.source === 'answered' ? carriedValue(proposed, f.argument) : undefined;
|
|
154
178
|
return {
|
|
155
179
|
argument: f.argument,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../../../src/core/agent/arguments/dispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../../../src/core/agent/arguments/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,10 @@
|
|
|
58
58
|
* and never repaired.
|
|
59
59
|
*/
|
|
60
60
|
import type { InputValue } from '../../inputRequest.js';
|
|
61
|
+
import { type CallWindow, type TurnWindows, type WindowSource } from '../../time/bind.js';
|
|
62
|
+
import type { InstantText } from '../../time/instant.js';
|
|
63
|
+
import type { CallWindowRow } from '../../time/rows.js';
|
|
64
|
+
import type { ZoneName } from '../../time/zone.js';
|
|
61
65
|
import { type SourceCheck, type SourceCorpus } from './checks.js';
|
|
62
66
|
import { type RuledToolLike } from './declare.js';
|
|
63
67
|
import { type KeptAnswer } from './kept.js';
|
|
@@ -128,6 +132,28 @@ export interface CheckedArgument {
|
|
|
128
132
|
* reads `'REDACTED'` on the row and rides no ask.
|
|
129
133
|
*/
|
|
130
134
|
readonly quoteShown?: true;
|
|
135
|
+
/**
|
|
136
|
+
* Under `.time()`: the library fills the value from the turn's ONE window of
|
|
137
|
+
* the person's (`core/time/bind.ts`) — who that window is. Set with `filled`.
|
|
138
|
+
*/
|
|
139
|
+
readonly window?: WindowSource;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Under `.time()` (the time layer, step T5a): the turn's windows and clock, as
|
|
143
|
+
* the record holds them — the `time-reading` rows and the `clock` row of this
|
|
144
|
+
* turn, read by `core/time/bind.ts` · `turnWindowsOf`. A tool whose period
|
|
145
|
+
* declares forms is then filled from the turn's one window, bound to the
|
|
146
|
+
* person's window, or recorded as the model's (`callWindowOf`). Absent → the
|
|
147
|
+
* arm is off and every call is resolved exactly as before.
|
|
148
|
+
*/
|
|
149
|
+
export interface TimeArm {
|
|
150
|
+
readonly turn: TurnWindows;
|
|
151
|
+
/** The turn's frozen clock. */
|
|
152
|
+
readonly now: InstantText;
|
|
153
|
+
/** The clock's zone. */
|
|
154
|
+
readonly zone: ZoneName;
|
|
155
|
+
/** The app's `.time({ zone })` — a form declaring `wallZone: 'app'` reads in it. */
|
|
156
|
+
readonly appZone?: ZoneName;
|
|
131
157
|
}
|
|
132
158
|
/**
|
|
133
159
|
* The declared sources, as the layer's stages are handed them: each call's
|
|
@@ -150,13 +176,36 @@ export interface SourcesArm {
|
|
|
150
176
|
}
|
|
151
177
|
/**
|
|
152
178
|
* One value the library fills into a call, raw: the declared default
|
|
153
|
-
* (`default`),
|
|
179
|
+
* (`default`), the person's answer to the batch ask (`answered`), or — under
|
|
180
|
+
* `.time()` — the turn's one window of the person's, converted into the tool's
|
|
181
|
+
* form (`window`; `from` says whose window: their words, a model reader's
|
|
182
|
+
* reading, a UI control). A window fill of an `object` form is an object.
|
|
154
183
|
*/
|
|
155
|
-
export
|
|
184
|
+
export type ArgumentFill = {
|
|
156
185
|
readonly argument: string;
|
|
157
186
|
readonly value: InputValue;
|
|
158
|
-
readonly source: 'default'
|
|
159
|
-
}
|
|
187
|
+
readonly source: 'default';
|
|
188
|
+
} | {
|
|
189
|
+
readonly argument: string;
|
|
190
|
+
/** A window answered for an `object` form is an object (the lazy word-driven ask). */
|
|
191
|
+
readonly value: InputValue | Readonly<Record<string, InputValue>>;
|
|
192
|
+
readonly source: 'answered';
|
|
193
|
+
/** The value was written by the library from the WINDOW the person chose (the lazy word-driven ask). */
|
|
194
|
+
readonly window?: true;
|
|
195
|
+
/** …and no form held that window exactly, so it reads a wider one (as a `window` fill's `wider`). */
|
|
196
|
+
readonly wider?: 'reads-more' | 'tool-trims';
|
|
197
|
+
} | {
|
|
198
|
+
readonly argument: string;
|
|
199
|
+
readonly value: InputValue | Readonly<Record<string, InputValue>>;
|
|
200
|
+
readonly source: 'window';
|
|
201
|
+
readonly from: WindowSource;
|
|
202
|
+
/**
|
|
203
|
+
* No form holds the window exactly, so the value reads a WIDER one (step
|
|
204
|
+
* T5b): `reads-more` — the call reads parts nobody asked for;
|
|
205
|
+
* `tool-trims` — the tool declares `filtersToAsked` and drops them.
|
|
206
|
+
*/
|
|
207
|
+
readonly wider?: 'reads-more' | 'tool-trims';
|
|
208
|
+
};
|
|
160
209
|
/**
|
|
161
210
|
* What ToolCalls applies to ONE call of the batch the layer resolved: the
|
|
162
211
|
* values to fill, or the sentence the call reads instead of running. Working
|
|
@@ -190,6 +239,14 @@ export interface ArgumentResolution {
|
|
|
190
239
|
readonly argument: string;
|
|
191
240
|
readonly quote: string;
|
|
192
241
|
}[];
|
|
242
|
+
/**
|
|
243
|
+
* Under `.time({ reader })`: the call left its period out while the turn's
|
|
244
|
+
* one mention was still OPEN (`core/time/bind.ts` · `not-filled` /
|
|
245
|
+
* `open-reading`) — its period arguments in `ask` are asked as that
|
|
246
|
+
* mention's window, in one field for the batch (`ask.ts` · `planAskFields`,
|
|
247
|
+
* the lazy word-driven ask of time design § 5.2), not one by one.
|
|
248
|
+
*/
|
|
249
|
+
readonly window?: true;
|
|
193
250
|
}
|
|
194
251
|
/**
|
|
195
252
|
* Every call of the batch whose tool carries rules — read through `rulesOf`,
|
|
@@ -200,6 +257,19 @@ export interface ArgumentResolution {
|
|
|
200
257
|
* arguments: that argument is planned FREE, to be checked and filed.
|
|
201
258
|
*/
|
|
202
259
|
export declare function declareBatch(calls: readonly BatchCall[], toolOf: ToolOf, sources?: SourcesArm): PlannedCall[];
|
|
260
|
+
/**
|
|
261
|
+
* Under `.time()`: per planned call whose tool's period declares forms, which
|
|
262
|
+
* window the call carries (`core/time/bind.ts` · `callWindowOf`) — a pure
|
|
263
|
+
* function of the call, the tool's forms and facts, the turn's windows and the
|
|
264
|
+
* model's declared quotes. Empty when the arm is off. Every stage asks it
|
|
265
|
+
* afresh (the same inputs, the same answer), so no decision is staged twice.
|
|
266
|
+
*/
|
|
267
|
+
export declare function timeDecisionsOf(plan: readonly PlannedCall[], calls: readonly BatchCall[], toolOf: ToolOf, time: TimeArm | undefined, sources?: SourcesArm): ReadonlyMap<string, CallWindow>;
|
|
268
|
+
/** The `call-window` rows for this batch's decisions, in batch order (`core/time/rows.ts`). */
|
|
269
|
+
export declare function callWindowRowsOf(decisions: ReadonlyMap<string, CallWindow>, calls: readonly BatchCall[], stamp: {
|
|
270
|
+
readonly turn: number;
|
|
271
|
+
readonly iteration: number;
|
|
272
|
+
}): CallWindowRow[];
|
|
203
273
|
/**
|
|
204
274
|
* Where each ruled value of each planned call came from, by the table above.
|
|
205
275
|
* Unarmed (no `sources`), a present value either IS the declared default (an
|
|
@@ -210,7 +280,7 @@ export declare function declareBatch(calls: readonly BatchCall[], toolOf: ToolOf
|
|
|
210
280
|
* names — is checked (`checks.ts` · `checkSource`), and an untraced value on
|
|
211
281
|
* an `ask` rule is asked about (`asked: 'unverified'`).
|
|
212
282
|
*/
|
|
213
|
-
export declare function verifyPlan(plan: readonly PlannedCall[], calls: readonly BatchCall[], toolOf: ToolOf, kept?: readonly KeptAnswer[], sources?: SourcesArm): CheckedArgument[];
|
|
283
|
+
export declare function verifyPlan(plan: readonly PlannedCall[], calls: readonly BatchCall[], toolOf: ToolOf, kept?: readonly KeptAnswer[], sources?: SourcesArm, time?: TimeArm): CheckedArgument[];
|
|
214
284
|
/**
|
|
215
285
|
* One row per checked argument, its value in the tool's OWN argument view
|
|
216
286
|
* (`shownArgsOf`) — a fill is shown as the call will run with it, a model's
|
|
@@ -226,7 +296,7 @@ export declare function verifyPlan(plan: readonly PlannedCall[], calls: readonly
|
|
|
226
296
|
export declare function rowsOf(checked: readonly CheckedArgument[], calls: readonly BatchCall[], toolOf: ToolOf, stamp: {
|
|
227
297
|
readonly turn: number;
|
|
228
298
|
readonly iteration: number;
|
|
229
|
-
}, kept?: readonly KeptAnswer[], sources?: SourcesArm): ArgumentRow[];
|
|
299
|
+
}, kept?: readonly KeptAnswer[], sources?: SourcesArm, decisions?: ReadonlyMap<string, CallWindow>): ArgumentRow[];
|
|
230
300
|
/**
|
|
231
301
|
* What ToolCalls applies: per call, the declared defaults and the kept answers
|
|
232
302
|
* to fill and the `ask` arguments to ask the person for (with, under declared
|
|
@@ -234,4 +304,4 @@ export declare function rowsOf(checked: readonly CheckedArgument[], calls: reado
|
|
|
234
304
|
* rules could not be read — the sentence it reads instead of running. Nothing
|
|
235
305
|
* for a call that runs as the model sent it.
|
|
236
306
|
*/
|
|
237
|
-
export declare function resolutionsOf(plan: readonly PlannedCall[], checked: readonly CheckedArgument[], toolOf: ToolOf, iteration: number, kept?: readonly KeptAnswer[], sources?: SourcesArm): ArgumentResolution[];
|
|
307
|
+
export declare function resolutionsOf(plan: readonly PlannedCall[], checked: readonly CheckedArgument[], toolOf: ToolOf, iteration: number, kept?: readonly KeptAnswer[], sources?: SourcesArm, decisions?: ReadonlyMap<string, CallWindow>): ArgumentResolution[];
|
|
@@ -57,13 +57,16 @@
|
|
|
57
57
|
* whose tool's rules cannot be read at dispatch is refused, never run unruled
|
|
58
58
|
* and never repaired.
|
|
59
59
|
*/
|
|
60
|
+
import { callWindowOf, } from '../../time/bind.js';
|
|
61
|
+
import { formArguments, granularityMsOf } from '../../time/convert.js';
|
|
62
|
+
import { callWindowRow } from '../../time/rowsBuild.js';
|
|
60
63
|
import { shownArgsOf } from '../../toolShownArgs.js';
|
|
61
64
|
import { validatePropertyValue } from '../toolArgsValidation.js';
|
|
62
65
|
import { checkSource, isTraced } from './checks.js';
|
|
63
|
-
import { isMissing, isRefused, rulesOf, sameArgumentValue, } from './declare.js';
|
|
66
|
+
import { isMissing, isRefused, periodArgumentsOf, periodFactsOf, periodFormsOf, rulesOf, sameArgumentValue, } from './declare.js';
|
|
64
67
|
import { keptAnswerFor } from './kept.js';
|
|
65
|
-
import { HIDDEN_VALUE, answeredRowOf, argumentRowOf, askedRowOf, sourcedRowOf, } from './rows.js';
|
|
66
|
-
import { unreadableRulesRefusal } from './serve.js';
|
|
68
|
+
import { HIDDEN_VALUE, answeredRowOf, argumentRowOf, askedRowOf, sourcedRowOf, windowRowOf, } from './rows.js';
|
|
69
|
+
import { timeRefusal, unreadableRulesRefusal } from './serve.js';
|
|
67
70
|
// ─── DECLARE ────────────────────────────────────────────────────────────
|
|
68
71
|
/** The free arguments (no rule) a call's `from` entries name, in declared order. */
|
|
69
72
|
function freeNamed(sources, toolCallId, ruled) {
|
|
@@ -193,6 +196,131 @@ function placeChecked(base, check) {
|
|
|
193
196
|
function quotesMayShow(sources) {
|
|
194
197
|
return sources?.corpus !== undefined && sources.argumentViews !== true;
|
|
195
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* The quotes the model declared as the person's (`source: 'user'`) for a
|
|
201
|
+
* call's period arguments — `undefined` when declared sources are off for the
|
|
202
|
+
* call (the arm is off, or the call declares nothing). Read from the entries
|
|
203
|
+
* alone, so every stage (with or without the corpora) decides alike.
|
|
204
|
+
*/
|
|
205
|
+
function periodQuotesOf(sources, toolCallId, periodArguments) {
|
|
206
|
+
if (sources === undefined || !sources.declared.has(toolCallId))
|
|
207
|
+
return undefined;
|
|
208
|
+
const from = sources.declared.get(toolCallId)?.from ?? [];
|
|
209
|
+
return from
|
|
210
|
+
.filter((e) => e.source === 'user' && e.quote !== undefined && periodArguments.has(e.argument))
|
|
211
|
+
.map((e) => e.quote);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Under `.time()`: per planned call whose tool's period declares forms, which
|
|
215
|
+
* window the call carries (`core/time/bind.ts` · `callWindowOf`) — a pure
|
|
216
|
+
* function of the call, the tool's forms and facts, the turn's windows and the
|
|
217
|
+
* model's declared quotes. Empty when the arm is off. Every stage asks it
|
|
218
|
+
* afresh (the same inputs, the same answer), so no decision is staged twice.
|
|
219
|
+
*/
|
|
220
|
+
export function timeDecisionsOf(plan, calls, toolOf, time, sources) {
|
|
221
|
+
const decisions = new Map();
|
|
222
|
+
if (time === undefined)
|
|
223
|
+
return decisions;
|
|
224
|
+
const byId = callById(calls);
|
|
225
|
+
for (const planned of plan) {
|
|
226
|
+
if (planned.refused !== undefined)
|
|
227
|
+
continue;
|
|
228
|
+
const call = byId.get(planned.toolCallId);
|
|
229
|
+
const rules = readableRules(toolOf, planned.toolName);
|
|
230
|
+
const forms = periodFormsOf(rules?.period);
|
|
231
|
+
if (call === undefined || rules === undefined || forms.length === 0)
|
|
232
|
+
continue;
|
|
233
|
+
const quotes = periodQuotesOf(sources, call.id, periodArgumentsOf(rules.period));
|
|
234
|
+
decisions.set(call.id, callWindowOf({
|
|
235
|
+
args: call.args,
|
|
236
|
+
forms,
|
|
237
|
+
isMissing: (argument) => isMissing(call.args, argument),
|
|
238
|
+
...(quotes !== undefined && { quotes }),
|
|
239
|
+
facts: periodFactsOf(rules.period),
|
|
240
|
+
}, time.turn, {
|
|
241
|
+
now: time.now,
|
|
242
|
+
zone: time.zone,
|
|
243
|
+
...(time.appZone !== undefined && { appZone: time.appZone }),
|
|
244
|
+
granularityMs: granularityMsOf(periodFactsOf(rules.period)),
|
|
245
|
+
}));
|
|
246
|
+
}
|
|
247
|
+
return decisions;
|
|
248
|
+
}
|
|
249
|
+
/** The `call-window` rows for this batch's decisions, in batch order (`core/time/rows.ts`). */
|
|
250
|
+
export function callWindowRowsOf(decisions, calls, stamp) {
|
|
251
|
+
return calls.flatMap((c) => {
|
|
252
|
+
const decision = decisions.get(c.id);
|
|
253
|
+
return decision === undefined
|
|
254
|
+
? []
|
|
255
|
+
: [callWindowRow({ toolCallId: c.id, toolName: c.name }, decision, stamp)];
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/** The arguments a decision FILLS — the chosen form's, by name — or none. */
|
|
259
|
+
function filledArguments(decision) {
|
|
260
|
+
return decision?.how === 'filled'
|
|
261
|
+
? new Set(Object.keys(decision.conversion.values))
|
|
262
|
+
: new Set();
|
|
263
|
+
}
|
|
264
|
+
/** The arguments of every form of a decided call — a filled call leaves the others' alone. */
|
|
265
|
+
function formArgumentsOf(toolOf, toolName) {
|
|
266
|
+
const forms = periodFormsOf(readableRules(toolOf, toolName)?.period);
|
|
267
|
+
return new Set(forms.flatMap((f) => formArguments(f).map((a) => a.argument)));
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* The arguments of every form OTHER than the one a present window was read
|
|
271
|
+
* back from (`bound`, `model-chosen`, `model`) that the read form does not
|
|
272
|
+
* also name — an alternative the call did not take. Empty for any other
|
|
273
|
+
* decision; a ruled argument outside every form is never in it.
|
|
274
|
+
*/
|
|
275
|
+
function untakenFormArgumentsOf(toolOf, toolName, decision) {
|
|
276
|
+
if (decision === undefined ||
|
|
277
|
+
(decision.how !== 'bound' && decision.how !== 'model-chosen' && decision.how !== 'model')) {
|
|
278
|
+
return new Set();
|
|
279
|
+
}
|
|
280
|
+
const forms = periodFormsOf(readableRules(toolOf, toolName)?.period);
|
|
281
|
+
const used = forms[decision.form];
|
|
282
|
+
if (used === undefined)
|
|
283
|
+
return new Set();
|
|
284
|
+
const mine = new Set(formArguments(used).map((a) => a.argument));
|
|
285
|
+
return new Set(forms.flatMap((f) => formArguments(f).map((a) => a.argument)).filter((a) => !mine.has(a)));
|
|
286
|
+
}
|
|
287
|
+
/** The argument-row source a window fills with: the person's answer, a reading of their words, or the app's control. */
|
|
288
|
+
const sourceOfWindow = (window) => window === 'control' ? 'app' : window === 'answered' ? 'answered' : 'said';
|
|
289
|
+
/**
|
|
290
|
+
* A present period value's check under a time decision: BOUND to the person's
|
|
291
|
+
* window by the model's quote → the person's (`matched: 'mention'`: `answered`
|
|
292
|
+
* for a window they settled in the time ask; `said` + `reading` for a `model`
|
|
293
|
+
* reader's window); a window that
|
|
294
|
+
* DIFFERS from the person's runs as sent (the v1 law, § 7.3) — never asked.
|
|
295
|
+
* The binding raises the row ONLY when the quote itself checked out — found in
|
|
296
|
+
* the person's words (`source: 'said'`, nothing `failed`). A quote the check
|
|
297
|
+
* refused (made up, or another runner's words) is a claim that failed: the
|
|
298
|
+
* row keeps its own verdict and the call runs as sent, like a value binding.
|
|
299
|
+
*/
|
|
300
|
+
function checkUnderWindow(check, decision) {
|
|
301
|
+
if (decision?.how === 'bound' &&
|
|
302
|
+
decision.by === 'quote' &&
|
|
303
|
+
check.failed === undefined &&
|
|
304
|
+
check.source === 'said') {
|
|
305
|
+
const { failed: _f, coincides: _c, reading: _r, ...kept } = check;
|
|
306
|
+
void _f;
|
|
307
|
+
void _c;
|
|
308
|
+
void _r;
|
|
309
|
+
return {
|
|
310
|
+
check: {
|
|
311
|
+
...kept,
|
|
312
|
+
// A window the person settled in the time ask is their ANSWER, not their chat words.
|
|
313
|
+
source: decision.window.source === 'answered' ? 'answered' : 'said',
|
|
314
|
+
matched: 'mention',
|
|
315
|
+
...(decision.window.source === 'derived-from-reading' && { reading: true }),
|
|
316
|
+
},
|
|
317
|
+
runs: true,
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
// Bound by value (the sent window IS the person's, but no declared quote names it) and a window
|
|
321
|
+
// that differs both run as sent; neither is raised to the person's words.
|
|
322
|
+
return { check, runs: decision?.how === 'model-chosen' || decision?.how === 'bound' };
|
|
323
|
+
}
|
|
196
324
|
/**
|
|
197
325
|
* Where each ruled value of each planned call came from, by the table above.
|
|
198
326
|
* Unarmed (no `sources`), a present value either IS the declared default (an
|
|
@@ -203,8 +331,9 @@ function quotesMayShow(sources) {
|
|
|
203
331
|
* names — is checked (`checks.ts` · `checkSource`), and an untraced value on
|
|
204
332
|
* an `ask` rule is asked about (`asked: 'unverified'`).
|
|
205
333
|
*/
|
|
206
|
-
export function verifyPlan(plan, calls, toolOf, kept, sources) {
|
|
334
|
+
export function verifyPlan(plan, calls, toolOf, kept, sources, time) {
|
|
207
335
|
const byId = callById(calls);
|
|
336
|
+
const decisions = timeDecisionsOf(plan, calls, toolOf, time, sources);
|
|
208
337
|
const checked = [];
|
|
209
338
|
// Quotes are shown on this batch's rows and ask only when no tool in reach can hide
|
|
210
339
|
// arguments — and never beside a call whose name nothing answers (no view to ask).
|
|
@@ -221,6 +350,25 @@ export function verifyPlan(plan, calls, toolOf, kept, sources) {
|
|
|
221
350
|
if (call === undefined)
|
|
222
351
|
continue;
|
|
223
352
|
const rules = readableRules(toolOf, planned.toolName);
|
|
353
|
+
const decision = decisions.get(planned.toolCallId);
|
|
354
|
+
// Refused before dispatch on its window (step T5b): the call will not run, so none of its
|
|
355
|
+
// arguments is filled, asked or filed — its `call-window` row is the record.
|
|
356
|
+
if (decision?.how === 'refused')
|
|
357
|
+
continue;
|
|
358
|
+
const filled = filledArguments(decision);
|
|
359
|
+
const alternatives = filled.size > 0 ? formArgumentsOf(toolOf, planned.toolName) : filled;
|
|
360
|
+
// A window the model SENT in one form: another form's missing arguments were an alternative
|
|
361
|
+
// it did not take — never filled or asked (step T5b: a look-back sent to a tool that also
|
|
362
|
+
// takes bounds must run, so the clock at dispatch can record it).
|
|
363
|
+
const untaken = untakenFormArgumentsOf(toolOf, planned.toolName, decision);
|
|
364
|
+
// The person named a time the library could only PROPOSE (the owner's decision "Always
|
|
365
|
+
// confirm"): a period left out is asked as that mention's window even where the tool's
|
|
366
|
+
// rule assumes one — its default would silently stand in for what the person said.
|
|
367
|
+
const proposed = decision?.how === 'not-filled' &&
|
|
368
|
+
decision.why === 'open-reading' &&
|
|
369
|
+
(time?.turn.open?.length ?? 0) > 0
|
|
370
|
+
? formArgumentsOf(toolOf, planned.toolName)
|
|
371
|
+
: undefined;
|
|
224
372
|
for (const p of planned.ruled) {
|
|
225
373
|
const base = {
|
|
226
374
|
toolCallId: planned.toolCallId,
|
|
@@ -229,9 +377,32 @@ export function verifyPlan(plan, calls, toolOf, kept, sources) {
|
|
|
229
377
|
rule: p.rule,
|
|
230
378
|
...(p.period === true && { period: true }),
|
|
231
379
|
};
|
|
380
|
+
// Under `.time()`: the turn's one window fills the chosen form's arguments; another
|
|
381
|
+
// form's arguments were an alternative the call no longer needs — never filled or asked.
|
|
382
|
+
if (decision?.how === 'filled' && filled.has(p.argument)) {
|
|
383
|
+
const from = decision.window.source;
|
|
384
|
+
checked.push({ ...base, source: sourceOfWindow(from), filled: true, window: from });
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
if (alternatives.has(p.argument))
|
|
388
|
+
continue;
|
|
389
|
+
if (p.missing && untaken.has(p.argument))
|
|
390
|
+
continue;
|
|
232
391
|
const rule = rules?.ruled.find((r) => r.argument === p.argument);
|
|
233
392
|
const check = p.missing ? undefined : sourceCheckOf(sources, toolOf, call, p.argument, rule);
|
|
234
393
|
if (check !== undefined) {
|
|
394
|
+
if (p.period === true && decision !== undefined) {
|
|
395
|
+
const under = checkUnderWindow(check, decision);
|
|
396
|
+
checked.push(under.runs || isTraced(under.check)
|
|
397
|
+
? {
|
|
398
|
+
...base,
|
|
399
|
+
...quoteOf(call, p.argument),
|
|
400
|
+
source: under.check.source,
|
|
401
|
+
check: under.check,
|
|
402
|
+
}
|
|
403
|
+
: placeChecked({ ...base, ...quoteOf(call, p.argument) }, under.check));
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
235
406
|
checked.push(placeChecked({ ...base, ...quoteOf(call, p.argument) }, check));
|
|
236
407
|
continue;
|
|
237
408
|
}
|
|
@@ -247,6 +418,10 @@ export function verifyPlan(plan, calls, toolOf, kept, sources) {
|
|
|
247
418
|
}
|
|
248
419
|
continue;
|
|
249
420
|
}
|
|
421
|
+
if (p.missing && proposed?.has(p.argument) === true) {
|
|
422
|
+
checked.push({ ...base, asked: 'missing' });
|
|
423
|
+
continue;
|
|
424
|
+
}
|
|
250
425
|
const assumed = declaredDefault(toolOf, planned.toolName, p.argument);
|
|
251
426
|
if (assumed === undefined)
|
|
252
427
|
continue;
|
|
@@ -319,11 +494,27 @@ function sourcedRow(c, call, toolOf, sources, stamp) {
|
|
|
319
494
|
}, stamp);
|
|
320
495
|
}
|
|
321
496
|
/** One checked argument's row, on the unarmed paths (and a missing value's under the arm). */
|
|
322
|
-
function plainRow(c, call, toolOf, stamp, kept) {
|
|
497
|
+
function plainRow(c, call, toolOf, stamp, kept, decision) {
|
|
323
498
|
const tool = toolOf(c.toolName);
|
|
324
499
|
const who = { ...c, rule: ruleOf(c) };
|
|
325
500
|
if (c.asked !== undefined)
|
|
326
501
|
return askedRowOf(who, stamp);
|
|
502
|
+
if (c.filled === true && c.window !== undefined) {
|
|
503
|
+
const value = windowValue(decision, c.argument);
|
|
504
|
+
if (value === undefined)
|
|
505
|
+
return undefined;
|
|
506
|
+
const shown = shownArgsOf(tool, { ...call.args, [c.argument]: value });
|
|
507
|
+
return windowRowOf({
|
|
508
|
+
toolCallId: c.toolCallId,
|
|
509
|
+
toolName: c.toolName,
|
|
510
|
+
argument: c.argument,
|
|
511
|
+
rule: ruleOf(c),
|
|
512
|
+
...(c.period === true && { period: true }),
|
|
513
|
+
// A name nothing answers has no view to ask — shown as hidden, never raw.
|
|
514
|
+
shownValue: tool === undefined ? HIDDEN_VALUE : shown[c.argument],
|
|
515
|
+
window: c.window,
|
|
516
|
+
}, stamp);
|
|
517
|
+
}
|
|
327
518
|
if (c.filled === true && c.source === 'answered') {
|
|
328
519
|
const answer = keptValue(toolOf, kept, c.toolName, c.argument);
|
|
329
520
|
if (answer === undefined)
|
|
@@ -357,6 +548,10 @@ function plainRow(c, call, toolOf, stamp, kept) {
|
|
|
357
548
|
...(c.source === 'default' && { shownProposed: shown }),
|
|
358
549
|
}, stamp);
|
|
359
550
|
}
|
|
551
|
+
/** The value a window fill writes into `argument`, raw — `undefined` when the decision fills none. */
|
|
552
|
+
function windowValue(decision, argument) {
|
|
553
|
+
return decision?.how === 'filled' ? decision.conversion.values[argument] : undefined;
|
|
554
|
+
}
|
|
360
555
|
/**
|
|
361
556
|
* `row` with the call's dropped `from` entries counted — the call's FIRST row
|
|
362
557
|
* carries the count when no basis row does (`sources.ts` · `CallSources`),
|
|
@@ -378,7 +573,7 @@ function withMalformed(row, malformed) {
|
|
|
378
573
|
* dropped `from` entries when no basis row does. The raw value never reaches
|
|
379
574
|
* a row.
|
|
380
575
|
*/
|
|
381
|
-
export function rowsOf(checked, calls, toolOf, stamp, kept, sources) {
|
|
576
|
+
export function rowsOf(checked, calls, toolOf, stamp, kept, sources, decisions) {
|
|
382
577
|
const byId = callById(calls);
|
|
383
578
|
const rows = [];
|
|
384
579
|
const counted = new Set();
|
|
@@ -388,7 +583,7 @@ export function rowsOf(checked, calls, toolOf, stamp, kept, sources) {
|
|
|
388
583
|
continue;
|
|
389
584
|
const row = c.check !== undefined
|
|
390
585
|
? sourcedRow({ ...c, check: c.check }, call, toolOf, sources, stamp)
|
|
391
|
-
: plainRow(c, call, toolOf, stamp, kept);
|
|
586
|
+
: plainRow(c, call, toolOf, stamp, kept, decisions?.get(c.toolCallId));
|
|
392
587
|
if (row === undefined)
|
|
393
588
|
continue;
|
|
394
589
|
const malformed = sources?.declared.get(c.toolCallId)?.malformed;
|
|
@@ -423,7 +618,7 @@ function quotedFor(c, sources) {
|
|
|
423
618
|
* rules could not be read — the sentence it reads instead of running. Nothing
|
|
424
619
|
* for a call that runs as the model sent it.
|
|
425
620
|
*/
|
|
426
|
-
export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources) {
|
|
621
|
+
export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources, decisions) {
|
|
427
622
|
const resolutions = [];
|
|
428
623
|
for (const planned of plan) {
|
|
429
624
|
if (planned.refused !== undefined) {
|
|
@@ -434,6 +629,15 @@ export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources) {
|
|
|
434
629
|
});
|
|
435
630
|
continue;
|
|
436
631
|
}
|
|
632
|
+
const decision = decisions?.get(planned.toolCallId);
|
|
633
|
+
if (decision?.how === 'refused') {
|
|
634
|
+
resolutions.push({
|
|
635
|
+
toolCallId: planned.toolCallId,
|
|
636
|
+
iteration,
|
|
637
|
+
refused: timeRefusal(planned.toolName, decision.refused, periodFactsOf(readableRules(toolOf, planned.toolName)?.period), decision.argument),
|
|
638
|
+
});
|
|
639
|
+
continue;
|
|
640
|
+
}
|
|
437
641
|
const fills = [];
|
|
438
642
|
const ask = [];
|
|
439
643
|
const quoted = [];
|
|
@@ -449,6 +653,8 @@ export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources) {
|
|
|
449
653
|
}
|
|
450
654
|
if (c.filled !== true)
|
|
451
655
|
continue;
|
|
656
|
+
if (c.window !== undefined)
|
|
657
|
+
continue; // the window's fills are added per call, below
|
|
452
658
|
if (c.source === 'answered') {
|
|
453
659
|
const answer = keptValue(toolOf, kept, c.toolName, c.argument);
|
|
454
660
|
if (answer !== undefined) {
|
|
@@ -460,6 +666,30 @@ export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources) {
|
|
|
460
666
|
if (value !== undefined)
|
|
461
667
|
fills.push({ argument: c.argument, value, source: 'default' });
|
|
462
668
|
}
|
|
669
|
+
// Under `.time()`: every argument the turn's one window fills — the ruled ones filed above,
|
|
670
|
+
// and an `object` form's (a ruled argument is a flat value, so an object carries no rule).
|
|
671
|
+
if (decision?.how === 'filled') {
|
|
672
|
+
const wider = 'sent' in decision.conversion
|
|
673
|
+
? decision.trimmedByTool === true
|
|
674
|
+
? 'tool-trims'
|
|
675
|
+
: 'reads-more'
|
|
676
|
+
: undefined;
|
|
677
|
+
for (const [argument, value] of Object.entries(decision.conversion.values)) {
|
|
678
|
+
fills.push({
|
|
679
|
+
argument,
|
|
680
|
+
value: value,
|
|
681
|
+
source: 'window',
|
|
682
|
+
from: decision.window.source,
|
|
683
|
+
...(wider !== undefined && { wider }),
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
// The lazy word-driven ask: a period left out while the turn's one mention is open is asked
|
|
688
|
+
// as that mention's window — only where the tool's own rule asks for a period argument.
|
|
689
|
+
const forms = formArgumentsOf(toolOf, planned.toolName);
|
|
690
|
+
const window = decision?.how === 'not-filled' &&
|
|
691
|
+
decision.why === 'open-reading' &&
|
|
692
|
+
ask.some((a) => forms.has(a));
|
|
463
693
|
if (fills.length > 0 || ask.length > 0) {
|
|
464
694
|
resolutions.push({
|
|
465
695
|
toolCallId: planned.toolCallId,
|
|
@@ -467,6 +697,7 @@ export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources) {
|
|
|
467
697
|
...(fills.length > 0 && { fills }),
|
|
468
698
|
...(ask.length > 0 && { ask }),
|
|
469
699
|
...(quoted.length > 0 && { quoted }),
|
|
700
|
+
...(window && { window: true }),
|
|
470
701
|
});
|
|
471
702
|
}
|
|
472
703
|
}
|