agentfootprint 9.129.0 → 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.
Files changed (427) hide show
  1. package/CAPABILITIES.md +5 -0
  2. package/dist/adapters/llm/AnthropicProvider.js +10 -111
  3. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  4. package/dist/adapters/llm/BedrockProvider.js +11 -4
  5. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  6. package/dist/adapters/llm/InvokeModelGatewayProvider.js +167 -35
  7. package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  8. package/dist/adapters/llm/OpenAIProvider.js +5 -0
  9. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  10. package/dist/adapters/llm/anthropicMessagesWire.js +20 -6
  11. package/dist/adapters/llm/anthropicMessagesWire.js.map +1 -1
  12. package/dist/adapters/llm/retryAfter.js +61 -0
  13. package/dist/adapters/llm/retryAfter.js.map +1 -0
  14. package/dist/adapters/types.js.map +1 -1
  15. package/dist/core/Agent.js +30 -0
  16. package/dist/core/Agent.js.map +1 -1
  17. package/dist/core/agent/arguments/ask.js +297 -11
  18. package/dist/core/agent/arguments/ask.js.map +1 -1
  19. package/dist/core/agent/arguments/dispatch.js +15 -1
  20. package/dist/core/agent/arguments/dispatch.js.map +1 -1
  21. package/dist/core/agent/arguments/resolve.js +26 -5
  22. package/dist/core/agent/arguments/resolve.js.map +1 -1
  23. package/dist/core/agent/arguments/rows.js +10 -5
  24. package/dist/core/agent/arguments/rows.js.map +1 -1
  25. package/dist/core/agent/arguments/serve.js +248 -5
  26. package/dist/core/agent/arguments/serve.js.map +1 -1
  27. package/dist/core/agent/arguments/subflow.js +7 -3
  28. package/dist/core/agent/arguments/subflow.js.map +1 -1
  29. package/dist/core/agent/assessment/assess.js +45 -6
  30. package/dist/core/agent/assessment/assess.js.map +1 -1
  31. package/dist/core/agent/assessment/compose.js +3 -0
  32. package/dist/core/agent/assessment/compose.js.map +1 -1
  33. package/dist/core/agent/assessment/reasons.js +18 -0
  34. package/dist/core/agent/assessment/reasons.js.map +1 -1
  35. package/dist/core/agent/buildAgentChart.js +31 -1
  36. package/dist/core/agent/buildAgentChart.js.map +1 -1
  37. package/dist/core/agent/buildDynamicAgentChart.js +9 -0
  38. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  39. package/dist/core/agent/coverage/answer.js +19 -7
  40. package/dist/core/agent/coverage/answer.js.map +1 -1
  41. package/dist/core/agent/coverage/period.js +67 -2
  42. package/dist/core/agent/coverage/period.js.map +1 -1
  43. package/dist/core/agent/coverage/timeLimitFacts.js +70 -0
  44. package/dist/core/agent/coverage/timeLimitFacts.js.map +1 -0
  45. package/dist/core/agent/coverage/timeLimits.js +72 -0
  46. package/dist/core/agent/coverage/timeLimits.js.map +1 -0
  47. package/dist/core/agent/evidence/evidenceIndex.js +48 -7
  48. package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
  49. package/dist/core/agent/evidence/gate.js +9 -4
  50. package/dist/core/agent/evidence/gate.js.map +1 -1
  51. package/dist/core/agent/evidence/normalize.js +1 -105
  52. package/dist/core/agent/evidence/normalize.js.map +1 -1
  53. package/dist/core/agent/findings/ledger.js +8 -0
  54. package/dist/core/agent/findings/ledger.js.map +1 -1
  55. package/dist/core/agent/findings/types.js.map +1 -1
  56. package/dist/core/agent/honesty/mounts.js +79 -2
  57. package/dist/core/agent/honesty/mounts.js.map +1 -1
  58. package/dist/core/agent/results/subflow.js +43 -11
  59. package/dist/core/agent/results/subflow.js.map +1 -1
  60. package/dist/core/agent/stages/argumentAsk.js +75 -3
  61. package/dist/core/agent/stages/argumentAsk.js.map +1 -1
  62. package/dist/core/agent/stages/callLLM.js +16 -0
  63. package/dist/core/agent/stages/callLLM.js.map +1 -1
  64. package/dist/core/agent/stages/prepareFinal.js +28 -9
  65. package/dist/core/agent/stages/prepareFinal.js.map +1 -1
  66. package/dist/core/agent/stages/route.js +64 -6
  67. package/dist/core/agent/stages/route.js.map +1 -1
  68. package/dist/core/agent/stages/timeLineage.js +61 -0
  69. package/dist/core/agent/stages/timeLineage.js.map +1 -0
  70. package/dist/core/agent/stages/toolCalls.js +32 -1
  71. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  72. package/dist/core/runCheckpoint.js +2 -1
  73. package/dist/core/runCheckpoint.js.map +1 -1
  74. package/dist/core/slots/buildToolsSlot.js +30 -2
  75. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  76. package/dist/core/time/ask.js +8 -3
  77. package/dist/core/time/ask.js.map +1 -1
  78. package/dist/core/time/bind.js +25 -55
  79. package/dist/core/time/bind.js.map +1 -1
  80. package/dist/core/time/check.js +261 -0
  81. package/dist/core/time/check.js.map +1 -0
  82. package/dist/core/time/checkRecord.js +97 -0
  83. package/dist/core/time/checkRecord.js.map +1 -0
  84. package/dist/core/time/convert.js +2 -12
  85. package/dist/core/time/convert.js.map +1 -1
  86. package/dist/core/time/drift.js +17 -10
  87. package/dist/core/time/drift.js.map +1 -1
  88. package/dist/core/time/forms.js +273 -0
  89. package/dist/core/time/forms.js.map +1 -0
  90. package/dist/core/time/present.js +2 -1
  91. package/dist/core/time/present.js.map +1 -1
  92. package/dist/core/time/range.js +12 -1
  93. package/dist/core/time/range.js.map +1 -1
  94. package/dist/core/time/reader.js +6 -2
  95. package/dist/core/time/reader.js.map +1 -1
  96. package/dist/core/time/readers/english.js +576 -0
  97. package/dist/core/time/readers/english.js.map +1 -0
  98. package/dist/core/time/readingAsk.js +8 -4
  99. package/dist/core/time/readingAsk.js.map +1 -1
  100. package/dist/core/time/resolve.js +43 -12
  101. package/dist/core/time/resolve.js.map +1 -1
  102. package/dist/core/time/rows.js +123 -6
  103. package/dist/core/time/rows.js.map +1 -1
  104. package/dist/core/time/rowsBuild.js +10 -4
  105. package/dist/core/time/rowsBuild.js.map +1 -1
  106. package/dist/core/time/textForms.js +133 -0
  107. package/dist/core/time/textForms.js.map +1 -0
  108. package/dist/core/time/windows.js +172 -0
  109. package/dist/core/time/windows.js.map +1 -0
  110. package/dist/esm/adapters/llm/AnthropicProvider.js +8 -109
  111. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  112. package/dist/esm/adapters/llm/BedrockProvider.js +11 -4
  113. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  114. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +38 -4
  115. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +167 -35
  116. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  117. package/dist/esm/adapters/llm/OpenAIProvider.js +5 -0
  118. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  119. package/dist/esm/adapters/llm/anthropicMessagesWire.d.ts +6 -1
  120. package/dist/esm/adapters/llm/anthropicMessagesWire.js +20 -6
  121. package/dist/esm/adapters/llm/anthropicMessagesWire.js.map +1 -1
  122. package/dist/esm/adapters/llm/retryAfter.d.ts +27 -0
  123. package/dist/esm/adapters/llm/retryAfter.js +56 -0
  124. package/dist/esm/adapters/llm/retryAfter.js.map +1 -0
  125. package/dist/esm/adapters/types.d.ts +9 -0
  126. package/dist/esm/adapters/types.js.map +1 -1
  127. package/dist/esm/core/Agent.js +30 -0
  128. package/dist/esm/core/Agent.js.map +1 -1
  129. package/dist/esm/core/agent/arguments/ask.d.ts +72 -3
  130. package/dist/esm/core/agent/arguments/ask.js +291 -5
  131. package/dist/esm/core/agent/arguments/ask.js.map +1 -1
  132. package/dist/esm/core/agent/arguments/dispatch.js +15 -1
  133. package/dist/esm/core/agent/arguments/dispatch.js.map +1 -1
  134. package/dist/esm/core/agent/arguments/resolve.d.ts +18 -1
  135. package/dist/esm/core/agent/arguments/resolve.js +26 -5
  136. package/dist/esm/core/agent/arguments/resolve.js.map +1 -1
  137. package/dist/esm/core/agent/arguments/rows.d.ts +8 -6
  138. package/dist/esm/core/agent/arguments/rows.js +10 -5
  139. package/dist/esm/core/agent/arguments/rows.js.map +1 -1
  140. package/dist/esm/core/agent/arguments/serve.d.ts +104 -4
  141. package/dist/esm/core/agent/arguments/serve.js +245 -5
  142. package/dist/esm/core/agent/arguments/serve.js.map +1 -1
  143. package/dist/esm/core/agent/arguments/subflow.d.ts +5 -2
  144. package/dist/esm/core/agent/arguments/subflow.js +7 -3
  145. package/dist/esm/core/agent/arguments/subflow.js.map +1 -1
  146. package/dist/esm/core/agent/assessment/assess.js +45 -6
  147. package/dist/esm/core/agent/assessment/assess.js.map +1 -1
  148. package/dist/esm/core/agent/assessment/compose.js +3 -0
  149. package/dist/esm/core/agent/assessment/compose.js.map +1 -1
  150. package/dist/esm/core/agent/assessment/reasons.js +18 -0
  151. package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
  152. package/dist/esm/core/agent/assessment/types.d.ts +15 -1
  153. package/dist/esm/core/agent/buildAgentChart.d.ts +34 -0
  154. package/dist/esm/core/agent/buildAgentChart.js +28 -0
  155. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  156. package/dist/esm/core/agent/buildDynamicAgentChart.d.ts +1 -1
  157. package/dist/esm/core/agent/buildDynamicAgentChart.js +9 -0
  158. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  159. package/dist/esm/core/agent/coverage/answer.d.ts +14 -1
  160. package/dist/esm/core/agent/coverage/answer.js +18 -6
  161. package/dist/esm/core/agent/coverage/answer.js.map +1 -1
  162. package/dist/esm/core/agent/coverage/period.d.ts +41 -0
  163. package/dist/esm/core/agent/coverage/period.js +64 -1
  164. package/dist/esm/core/agent/coverage/period.js.map +1 -1
  165. package/dist/esm/core/agent/coverage/timeLimitFacts.d.ts +56 -0
  166. package/dist/esm/core/agent/coverage/timeLimitFacts.js +65 -0
  167. package/dist/esm/core/agent/coverage/timeLimitFacts.js.map +1 -0
  168. package/dist/esm/core/agent/coverage/timeLimits.d.ts +46 -0
  169. package/dist/esm/core/agent/coverage/timeLimits.js +67 -0
  170. package/dist/esm/core/agent/coverage/timeLimits.js.map +1 -0
  171. package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +25 -2
  172. package/dist/esm/core/agent/evidence/evidenceIndex.js +47 -7
  173. package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
  174. package/dist/esm/core/agent/evidence/gate.d.ts +7 -0
  175. package/dist/esm/core/agent/evidence/gate.js +9 -4
  176. package/dist/esm/core/agent/evidence/gate.js.map +1 -1
  177. package/dist/esm/core/agent/evidence/normalize.d.ts +0 -34
  178. package/dist/esm/core/agent/evidence/normalize.js +0 -103
  179. package/dist/esm/core/agent/evidence/normalize.js.map +1 -1
  180. package/dist/esm/core/agent/evidence/types.d.ts +12 -1
  181. package/dist/esm/core/agent/findings/ledger.js +8 -0
  182. package/dist/esm/core/agent/findings/ledger.js.map +1 -1
  183. package/dist/esm/core/agent/findings/types.d.ts +2 -2
  184. package/dist/esm/core/agent/findings/types.js.map +1 -1
  185. package/dist/esm/core/agent/honesty/mounts.d.ts +13 -0
  186. package/dist/esm/core/agent/honesty/mounts.js +79 -3
  187. package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
  188. package/dist/esm/core/agent/results/subflow.d.ts +34 -2
  189. package/dist/esm/core/agent/results/subflow.js +43 -11
  190. package/dist/esm/core/agent/results/subflow.js.map +1 -1
  191. package/dist/esm/core/agent/stages/argumentAsk.d.ts +10 -0
  192. package/dist/esm/core/agent/stages/argumentAsk.js +76 -4
  193. package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
  194. package/dist/esm/core/agent/stages/callLLM.d.ts +6 -0
  195. package/dist/esm/core/agent/stages/callLLM.js +16 -0
  196. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  197. package/dist/esm/core/agent/stages/prepareFinal.d.ts +3 -2
  198. package/dist/esm/core/agent/stages/prepareFinal.js +28 -9
  199. package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
  200. package/dist/esm/core/agent/stages/route.d.ts +29 -1
  201. package/dist/esm/core/agent/stages/route.js +64 -7
  202. package/dist/esm/core/agent/stages/route.js.map +1 -1
  203. package/dist/esm/core/agent/stages/timeLineage.d.ts +31 -0
  204. package/dist/esm/core/agent/stages/timeLineage.js +57 -0
  205. package/dist/esm/core/agent/stages/timeLineage.js.map +1 -0
  206. package/dist/esm/core/agent/stages/toolCalls.d.ts +11 -0
  207. package/dist/esm/core/agent/stages/toolCalls.js +32 -1
  208. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  209. package/dist/esm/core/agent/types.d.ts +12 -0
  210. package/dist/esm/core/runCheckpoint.js +2 -1
  211. package/dist/esm/core/runCheckpoint.js.map +1 -1
  212. package/dist/esm/core/slots/buildToolsSlot.d.ts +29 -0
  213. package/dist/esm/core/slots/buildToolsSlot.js +30 -2
  214. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  215. package/dist/esm/core/time/ask.d.ts +8 -3
  216. package/dist/esm/core/time/ask.js +8 -3
  217. package/dist/esm/core/time/ask.js.map +1 -1
  218. package/dist/esm/core/time/bind.d.ts +8 -33
  219. package/dist/esm/core/time/bind.js +21 -53
  220. package/dist/esm/core/time/bind.js.map +1 -1
  221. package/dist/esm/core/time/check.d.ts +113 -0
  222. package/dist/esm/core/time/check.js +252 -0
  223. package/dist/esm/core/time/check.js.map +1 -0
  224. package/dist/esm/core/time/checkRecord.d.ts +74 -0
  225. package/dist/esm/core/time/checkRecord.js +90 -0
  226. package/dist/esm/core/time/checkRecord.js.map +1 -0
  227. package/dist/esm/core/time/convert.d.ts +2 -3
  228. package/dist/esm/core/time/convert.js +5 -12
  229. package/dist/esm/core/time/convert.js.map +1 -1
  230. package/dist/esm/core/time/drift.d.ts +7 -0
  231. package/dist/esm/core/time/drift.js +15 -9
  232. package/dist/esm/core/time/drift.js.map +1 -1
  233. package/dist/esm/core/time/forms.d.ts +84 -0
  234. package/dist/esm/core/time/forms.js +268 -0
  235. package/dist/esm/core/time/forms.js.map +1 -0
  236. package/dist/esm/core/time/present.d.ts +5 -3
  237. package/dist/esm/core/time/present.js +2 -1
  238. package/dist/esm/core/time/present.js.map +1 -1
  239. package/dist/esm/core/time/range.d.ts +2 -0
  240. package/dist/esm/core/time/range.js +10 -0
  241. package/dist/esm/core/time/range.js.map +1 -1
  242. package/dist/esm/core/time/reader.d.ts +12 -3
  243. package/dist/esm/core/time/reader.js +6 -2
  244. package/dist/esm/core/time/reader.js.map +1 -1
  245. package/dist/esm/core/time/readers/english.d.ts +99 -0
  246. package/dist/esm/core/time/readers/english.js +572 -0
  247. package/dist/esm/core/time/readers/english.js.map +1 -0
  248. package/dist/esm/core/time/readingAsk.js +8 -4
  249. package/dist/esm/core/time/readingAsk.js.map +1 -1
  250. package/dist/esm/core/time/resolve.d.ts +27 -6
  251. package/dist/esm/core/time/resolve.js +41 -11
  252. package/dist/esm/core/time/resolve.js.map +1 -1
  253. package/dist/esm/core/time/rows.d.ts +91 -4
  254. package/dist/esm/core/time/rows.js +116 -5
  255. package/dist/esm/core/time/rows.js.map +1 -1
  256. package/dist/esm/core/time/rowsBuild.d.ts +8 -2
  257. package/dist/esm/core/time/rowsBuild.js +10 -4
  258. package/dist/esm/core/time/rowsBuild.js.map +1 -1
  259. package/dist/esm/core/time/textForms.d.ts +53 -0
  260. package/dist/esm/core/time/textForms.js +126 -0
  261. package/dist/esm/core/time/textForms.js.map +1 -0
  262. package/dist/esm/core/time/windows.d.ts +113 -0
  263. package/dist/esm/core/time/windows.js +166 -0
  264. package/dist/esm/core/time/windows.js.map +1 -0
  265. package/dist/esm/events/payloads.d.ts +14 -0
  266. package/dist/esm/index.d.ts +2 -0
  267. package/dist/esm/index.js +3 -0
  268. package/dist/esm/index.js.map +1 -1
  269. package/dist/esm/lib/answer-account/facts/howSure.js +7 -0
  270. package/dist/esm/lib/answer-account/facts/howSure.js.map +1 -1
  271. package/dist/esm/lib/answer-account/templates.d.ts +3 -0
  272. package/dist/esm/lib/answer-account/templates.js +4 -0
  273. package/dist/esm/lib/answer-account/templates.js.map +1 -1
  274. package/dist/esm/lib/time-travel/receipt.d.ts +1 -1
  275. package/dist/esm/lib/time-travel/servedView.d.ts +1 -1
  276. package/dist/esm/lib/time-travel/servedView.js +9 -0
  277. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  278. package/dist/esm/locales/timeAsk.d.ts +1 -1
  279. package/dist/esm/locales/timeAsk.js +2 -2
  280. package/dist/esm/locales/timeAsk.js.map +1 -1
  281. package/dist/esm/recorders/core/resilienceHooks.js +1 -0
  282. package/dist/esm/recorders/core/resilienceHooks.js.map +1 -1
  283. package/dist/esm/resilience/statedWait.d.ts +22 -0
  284. package/dist/esm/resilience/statedWait.js +35 -0
  285. package/dist/esm/resilience/statedWait.js.map +1 -0
  286. package/dist/esm/resilience/withRetry.d.ts +13 -2
  287. package/dist/esm/resilience/withRetry.js +16 -1
  288. package/dist/esm/resilience/withRetry.js.map +1 -1
  289. package/dist/index.js +5 -1
  290. package/dist/index.js.map +1 -1
  291. package/dist/lib/answer-account/facts/howSure.js +7 -0
  292. package/dist/lib/answer-account/facts/howSure.js.map +1 -1
  293. package/dist/lib/answer-account/templates.js +4 -0
  294. package/dist/lib/answer-account/templates.js.map +1 -1
  295. package/dist/lib/time-travel/servedView.js +9 -0
  296. package/dist/lib/time-travel/servedView.js.map +1 -1
  297. package/dist/locales/timeAsk.js +2 -2
  298. package/dist/locales/timeAsk.js.map +1 -1
  299. package/dist/recorders/core/resilienceHooks.js +1 -0
  300. package/dist/recorders/core/resilienceHooks.js.map +1 -1
  301. package/dist/resilience/statedWait.js +39 -0
  302. package/dist/resilience/statedWait.js.map +1 -0
  303. package/dist/resilience/withRetry.js +16 -1
  304. package/dist/resilience/withRetry.js.map +1 -1
  305. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  306. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  307. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +38 -4
  308. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
  309. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  310. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts +6 -1
  311. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts.map +1 -1
  312. package/dist/types/adapters/llm/retryAfter.d.ts +28 -0
  313. package/dist/types/adapters/llm/retryAfter.d.ts.map +1 -0
  314. package/dist/types/adapters/types.d.ts +9 -0
  315. package/dist/types/adapters/types.d.ts.map +1 -1
  316. package/dist/types/core/Agent.d.ts.map +1 -1
  317. package/dist/types/core/agent/arguments/ask.d.ts +72 -3
  318. package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
  319. package/dist/types/core/agent/arguments/dispatch.d.ts.map +1 -1
  320. package/dist/types/core/agent/arguments/resolve.d.ts +18 -1
  321. package/dist/types/core/agent/arguments/resolve.d.ts.map +1 -1
  322. package/dist/types/core/agent/arguments/rows.d.ts +8 -6
  323. package/dist/types/core/agent/arguments/rows.d.ts.map +1 -1
  324. package/dist/types/core/agent/arguments/serve.d.ts +104 -4
  325. package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
  326. package/dist/types/core/agent/arguments/subflow.d.ts +5 -2
  327. package/dist/types/core/agent/arguments/subflow.d.ts.map +1 -1
  328. package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
  329. package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
  330. package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
  331. package/dist/types/core/agent/assessment/types.d.ts +15 -1
  332. package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
  333. package/dist/types/core/agent/buildAgentChart.d.ts +34 -0
  334. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  335. package/dist/types/core/agent/buildDynamicAgentChart.d.ts +1 -1
  336. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  337. package/dist/types/core/agent/coverage/answer.d.ts +14 -1
  338. package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
  339. package/dist/types/core/agent/coverage/period.d.ts +41 -0
  340. package/dist/types/core/agent/coverage/period.d.ts.map +1 -1
  341. package/dist/types/core/agent/coverage/timeLimitFacts.d.ts +57 -0
  342. package/dist/types/core/agent/coverage/timeLimitFacts.d.ts.map +1 -0
  343. package/dist/types/core/agent/coverage/timeLimits.d.ts +47 -0
  344. package/dist/types/core/agent/coverage/timeLimits.d.ts.map +1 -0
  345. package/dist/types/core/agent/evidence/evidenceIndex.d.ts +25 -2
  346. package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
  347. package/dist/types/core/agent/evidence/gate.d.ts +7 -0
  348. package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
  349. package/dist/types/core/agent/evidence/normalize.d.ts +0 -34
  350. package/dist/types/core/agent/evidence/normalize.d.ts.map +1 -1
  351. package/dist/types/core/agent/evidence/types.d.ts +12 -1
  352. package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
  353. package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
  354. package/dist/types/core/agent/findings/types.d.ts +2 -2
  355. package/dist/types/core/agent/findings/types.d.ts.map +1 -1
  356. package/dist/types/core/agent/honesty/mounts.d.ts +13 -0
  357. package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
  358. package/dist/types/core/agent/results/subflow.d.ts +34 -2
  359. package/dist/types/core/agent/results/subflow.d.ts.map +1 -1
  360. package/dist/types/core/agent/stages/argumentAsk.d.ts +10 -0
  361. package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
  362. package/dist/types/core/agent/stages/callLLM.d.ts +6 -0
  363. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  364. package/dist/types/core/agent/stages/prepareFinal.d.ts +3 -2
  365. package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
  366. package/dist/types/core/agent/stages/route.d.ts +29 -1
  367. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  368. package/dist/types/core/agent/stages/timeLineage.d.ts +32 -0
  369. package/dist/types/core/agent/stages/timeLineage.d.ts.map +1 -0
  370. package/dist/types/core/agent/stages/toolCalls.d.ts +11 -0
  371. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  372. package/dist/types/core/agent/types.d.ts +12 -0
  373. package/dist/types/core/agent/types.d.ts.map +1 -1
  374. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  375. package/dist/types/core/slots/buildToolsSlot.d.ts +29 -0
  376. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  377. package/dist/types/core/time/ask.d.ts +8 -3
  378. package/dist/types/core/time/ask.d.ts.map +1 -1
  379. package/dist/types/core/time/bind.d.ts +8 -33
  380. package/dist/types/core/time/bind.d.ts.map +1 -1
  381. package/dist/types/core/time/check.d.ts +114 -0
  382. package/dist/types/core/time/check.d.ts.map +1 -0
  383. package/dist/types/core/time/checkRecord.d.ts +75 -0
  384. package/dist/types/core/time/checkRecord.d.ts.map +1 -0
  385. package/dist/types/core/time/convert.d.ts +2 -3
  386. package/dist/types/core/time/convert.d.ts.map +1 -1
  387. package/dist/types/core/time/drift.d.ts +7 -0
  388. package/dist/types/core/time/drift.d.ts.map +1 -1
  389. package/dist/types/core/time/forms.d.ts +85 -0
  390. package/dist/types/core/time/forms.d.ts.map +1 -0
  391. package/dist/types/core/time/present.d.ts +5 -3
  392. package/dist/types/core/time/present.d.ts.map +1 -1
  393. package/dist/types/core/time/range.d.ts +2 -0
  394. package/dist/types/core/time/range.d.ts.map +1 -1
  395. package/dist/types/core/time/reader.d.ts +12 -3
  396. package/dist/types/core/time/reader.d.ts.map +1 -1
  397. package/dist/types/core/time/readers/english.d.ts +100 -0
  398. package/dist/types/core/time/readers/english.d.ts.map +1 -0
  399. package/dist/types/core/time/readingAsk.d.ts.map +1 -1
  400. package/dist/types/core/time/resolve.d.ts +27 -6
  401. package/dist/types/core/time/resolve.d.ts.map +1 -1
  402. package/dist/types/core/time/rows.d.ts +91 -4
  403. package/dist/types/core/time/rows.d.ts.map +1 -1
  404. package/dist/types/core/time/rowsBuild.d.ts +8 -2
  405. package/dist/types/core/time/rowsBuild.d.ts.map +1 -1
  406. package/dist/types/core/time/textForms.d.ts +54 -0
  407. package/dist/types/core/time/textForms.d.ts.map +1 -0
  408. package/dist/types/core/time/windows.d.ts +114 -0
  409. package/dist/types/core/time/windows.d.ts.map +1 -0
  410. package/dist/types/events/payloads.d.ts +14 -0
  411. package/dist/types/events/payloads.d.ts.map +1 -1
  412. package/dist/types/index.d.ts +2 -0
  413. package/dist/types/index.d.ts.map +1 -1
  414. package/dist/types/lib/answer-account/facts/howSure.d.ts.map +1 -1
  415. package/dist/types/lib/answer-account/templates.d.ts +3 -0
  416. package/dist/types/lib/answer-account/templates.d.ts.map +1 -1
  417. package/dist/types/lib/time-travel/receipt.d.ts +1 -1
  418. package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
  419. package/dist/types/lib/time-travel/servedView.d.ts +1 -1
  420. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  421. package/dist/types/locales/timeAsk.d.ts +1 -1
  422. package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -1
  423. package/dist/types/resilience/statedWait.d.ts +23 -0
  424. package/dist/types/resilience/statedWait.d.ts.map +1 -0
  425. package/dist/types/resilience/withRetry.d.ts +13 -2
  426. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  427. package/package.json +1 -1
@@ -47,7 +47,13 @@
47
47
  * removed a reading — a choice nobody said, recorded), several (`open`, with
48
48
  * the questions an ask must settle), or none. A `kind: 'model'` reader's
49
49
  * window is never settled by the library: it stays `open` until the person
50
- * confirms it (§ 5.5), and its candidates carry `said: []`.
50
+ * confirms it (§ 5.5), and its candidates carry `said: []`. Since the
51
+ * owner's decision "Always confirm" (time design TQ29) neither is ANY
52
+ * reading the record files: `rowsBuild.ts` · `timeReadingRows` passes
53
+ * `confirm: true` for every reader's reading, so only the person's answer
54
+ * in the time ask settles a window. The `confirm` parameter's default
55
+ * (`kind === 'model'`) is the unit's, for a caller that resolves parts
56
+ * outside the record.
51
57
  *
52
58
  * @example
53
59
  * ```ts
@@ -61,22 +67,37 @@
61
67
  * // { by: 'policy', candidate: 1, policy: { dateOrder: 'DMY' } }
62
68
  * ```
63
69
  */
70
+ import { type ZoneName } from './zone.js';
64
71
  import type { TimeParts } from './reader.js';
65
72
  import { type MentionResolution, type ReadingChoice, type ResolveClock, type TimePolicy } from './resolveRecord.js';
66
73
  export { candidateIsWellFormed, choiceIsWellFormed, DEFAULT_TIME_POLICY, readPolicy, } from './resolveRecord.js';
67
74
  export type { MentionResolution, OpenQuestion, ReadingChoice, ReadingTags, ResolveClock, ResolvedWindow, TimeCandidate, TimeNote, TimePart, TimePolicy, TimeWindow, } from './resolveRecord.js';
75
+ /**
76
+ * The parts with every zone token this layer cannot read (an abbreviation such
77
+ * as `PST`) replaced by the zone the PERSON named when asked (§ 6.3) — the
78
+ * whole mention's and each range side's. A token it can read is kept.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * withZoneAnswered([{ wall: { h: 8, meridiem: 'am' }, zoneToken: 'PST' }], 'America/Los_Angeles');
83
+ * // [{ wall: { h: 8, meridiem: 'am' }, zoneToken: 'America/Los_Angeles' }]
84
+ * ```
85
+ */
86
+ export declare function withZoneAnswered(parses: readonly TimeParts[], zone: ZoneName): TimeParts[];
68
87
  /**
69
88
  * Every candidate window of one mention's parses, resolved against the
70
- * clock. A `model` reader's candidates carry `said: []` (§ 5.5).
89
+ * clock. A reading the person must confirm (`confirm: true` — every reading
90
+ * the record files, TQ29; a `model` reader's by default) carries `said: []`.
71
91
  */
72
92
  export declare function resolveMention(parses: readonly TimeParts[], clock: ResolveClock, reader: {
73
93
  readonly id: string;
74
94
  readonly kind: 'rule' | 'model';
75
- }): MentionResolution;
95
+ }, confirm?: boolean): MentionResolution;
76
96
  /**
77
97
  * How one mention settles under the app's policy (§ 5.1, § 11). The policy
78
98
  * only removes readings; it never adds one. A DST choice, a meridiem, a
79
- * zone the person named that is no zone, and a `model` reader's window are
80
- * never settled here — they stay `open` for the person.
99
+ * zone the person named that is no zone, and a reading to confirm
100
+ * (`confirm` — every reading the record files, TQ29) are never settled here
101
+ * — they stay `open` for the person.
81
102
  */
82
- export declare function chooseReading(resolution: MentionResolution, policy: TimePolicy, kind: 'rule' | 'model', problem?: 'unreadable'): ReadingChoice;
103
+ export declare function chooseReading(resolution: MentionResolution, policy: TimePolicy, kind: 'rule' | 'model', problem?: 'unreadable', confirm?: boolean): ReadingChoice;
@@ -47,7 +47,13 @@
47
47
  * removed a reading — a choice nobody said, recorded), several (`open`, with
48
48
  * the questions an ask must settle), or none. A `kind: 'model'` reader's
49
49
  * window is never settled by the library: it stays `open` until the person
50
- * confirms it (§ 5.5), and its candidates carry `said: []`.
50
+ * confirms it (§ 5.5), and its candidates carry `said: []`. Since the
51
+ * owner's decision "Always confirm" (time design TQ29) neither is ANY
52
+ * reading the record files: `rowsBuild.ts` · `timeReadingRows` passes
53
+ * `confirm: true` for every reader's reading, so only the person's answer
54
+ * in the time ask settles a window. The `confirm` parameter's default
55
+ * (`kind === 'model'`) is the unit's, for a caller that resolves parts
56
+ * outside the record.
51
57
  *
52
58
  * @example
53
59
  * ```ts
@@ -87,6 +93,28 @@ function zoneOf(token, clockZone) {
87
93
  }
88
94
  return { kind: 'unknown' };
89
95
  }
96
+ /**
97
+ * The parts with every zone token this layer cannot read (an abbreviation such
98
+ * as `PST`) replaced by the zone the PERSON named when asked (§ 6.3) — the
99
+ * whole mention's and each range side's. A token it can read is kept.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * withZoneAnswered([{ wall: { h: 8, meridiem: 'am' }, zoneToken: 'PST' }], 'America/Los_Angeles');
104
+ * // [{ wall: { h: 8, meridiem: 'am' }, zoneToken: 'America/Los_Angeles' }]
105
+ * ```
106
+ */
107
+ export function withZoneAnswered(parses, zone) {
108
+ const fix = (parts) => parts.zoneToken !== undefined && zoneOf(parts.zoneToken, zone).kind === 'unknown'
109
+ ? { ...parts, zoneToken: zone }
110
+ : parts;
111
+ return parses.map((parts) => {
112
+ const outer = fix(parts);
113
+ return outer.rangeOf === undefined
114
+ ? outer
115
+ : { ...outer, rangeOf: [fix(outer.rangeOf[0]), fix(outer.rangeOf[1])] };
116
+ });
117
+ }
90
118
  /** The wall time an instant shows under a zone read. */
91
119
  function wallIn(zone, ms) {
92
120
  if (zone.kind === 'iana')
@@ -538,9 +566,10 @@ function builtOf(parts, clock, nowMs) {
538
566
  }
539
567
  /**
540
568
  * Every candidate window of one mention's parses, resolved against the
541
- * clock. A `model` reader's candidates carry `said: []` (§ 5.5).
569
+ * clock. A reading the person must confirm (`confirm: true` — every reading
570
+ * the record files, TQ29; a `model` reader's by default) carries `said: []`.
542
571
  */
543
- export function resolveMention(parses, clock, reader) {
572
+ export function resolveMention(parses, clock, reader, confirm = reader.kind === 'model') {
544
573
  const now = instantOf(clock.now, 'strict');
545
574
  if (now === undefined || !isZoneName(clock.zone)) {
546
575
  throw new TypeError('resolveMention: the clock must carry a strict instant and an IANA zone name.');
@@ -562,7 +591,7 @@ export function resolveMention(parses, clock, reader) {
562
591
  continue;
563
592
  candidates.push({
564
593
  ...b.candidate,
565
- said: reader.kind === 'model' ? [] : partsIn(b.said),
594
+ said: confirm ? [] : partsIn(b.said),
566
595
  reader: { id: reader.id, kind: reader.kind },
567
596
  parse,
568
597
  });
@@ -572,7 +601,7 @@ export function resolveMention(parses, clock, reader) {
572
601
  }
573
602
  // ─── Choosing ────────────────────────────────────────────────────────────
574
603
  const windowKey = (c) => c.window.kind === 'lookback' ? `lookback:${c.window.duration}` : `${c.range.from}/${c.range.to}`;
575
- function openQuestions(candidates, kind) {
604
+ function openQuestions(candidates, confirm) {
576
605
  const differs = (read) => new Set(candidates.map((c) => JSON.stringify(read(c) ?? null))).size > 1;
577
606
  const open = [];
578
607
  if (differs((c) => c.parse))
@@ -586,7 +615,7 @@ function openQuestions(candidates, kind) {
586
615
  if (differs((c) => c.notes.filter((n) => n.kind === 'dst-overlap' || n.kind === 'dst-gap'))) {
587
616
  open.push('dst');
588
617
  }
589
- if (kind === 'model')
618
+ if (confirm)
590
619
  open.push('confirm');
591
620
  return open;
592
621
  }
@@ -605,10 +634,11 @@ function policyDecided(all, before, kept) {
605
634
  /**
606
635
  * How one mention settles under the app's policy (§ 5.1, § 11). The policy
607
636
  * only removes readings; it never adds one. A DST choice, a meridiem, a
608
- * zone the person named that is no zone, and a `model` reader's window are
609
- * never settled here — they stay `open` for the person.
637
+ * zone the person named that is no zone, and a reading to confirm
638
+ * (`confirm` — every reading the record files, TQ29) are never settled here
639
+ * — they stay `open` for the person.
610
640
  */
611
- export function chooseReading(resolution, policy, kind, problem) {
641
+ export function chooseReading(resolution, policy, kind, problem, confirm = kind === 'model') {
612
642
  if (problem === 'unreadable')
613
643
  return { by: 'none', why: 'unreadable' };
614
644
  if (resolution.needsZone && resolution.candidates.length === 0) {
@@ -643,12 +673,12 @@ export function chooseReading(resolution, policy, kind, problem) {
643
673
  const zoneOpen = resolution.needsZone ? ['zone'] : [];
644
674
  if (windows.size === 1 && zoneOpen.length === 0) {
645
675
  const candidate = remaining[0];
646
- if (kind === 'model') {
676
+ if (confirm) {
647
677
  return { by: 'open', remaining, open: ['confirm'], ...(usedPolicy && { policy: applied }) };
648
678
  }
649
679
  return usedPolicy ? { by: 'policy', candidate, policy: applied } : { by: 'only', candidate };
650
680
  }
651
- const open = [...zoneOpen, ...openQuestions(left, kind)];
681
+ const open = [...zoneOpen, ...openQuestions(left, confirm)];
652
682
  return { by: 'open', remaining, open, ...(usedPolicy && { policy: applied }) };
653
683
  }
654
684
  //# sourceMappingURL=resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/core/time/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/core/time/resolve.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@
19
19
  * precedent: no event field ships without a reader in the same
20
20
  * release). The lens reads the rows.
21
21
  *
22
- * Five kinds, each filed only while `.time()` is armed:
22
+ * Eight kinds, each filed only while `.time()` is armed:
23
23
  *
24
24
  * | Kind | Filed | Carries |
25
25
  * |------|-------|---------|
@@ -27,7 +27,10 @@
27
27
  * | `clock-on-resume` | first thing in the resumed leg's ToolCalls stage — either pause shape: the pausable resume door, or the stage re-run an `interrupt()` pause makes — when a resume passed a `time` that differs from the kept clock | what was passed and what was kept — the kept clock still rules |
28
28
  * | `call` | once per dispatched call, just before the tool runs | `dispatchedAt`: the wall clock at dispatch (a look-back is evaluated by the TOOL at dispatch, which after a pause is later than `now`); `drift` when a look-back was sent more than the tool's step after `now` — `redrawn` into an absolute form, or `shifted` (§ 7.4, `drift.ts`) |
29
29
  * | `call-window` | by the inputs layer, once per call to a tool that declares period forms, before it dispatches | which window the call carries: filled from the turn's one window (exactly, or wider — with what the read adds), bound to one (by quote or value), the model's own (beside the person's when it differs), unread, not filled and why, or refused before dispatch and why |
30
- * | `time-reading` | by seed, once per MENTION the armed reader (`.time({ reader })`) found in the person's message — or ONE row with `mentions: 0` when it found none, so a retry knows the message was read | the quote, the parts, every candidate `resolve.ts` made of them, how the reading settled (`choice`), the reader's id, version, kind and locale, and the tz database version; a refused mention keeps only why |
30
+ * | `time-reading` | by seed, once per MENTION the armed reader (`.time({ reader })`) found in the person's message — or ONE row with `mentions: 0` when it found none, so a retry knows the message was read | the quote, the parts, every candidate `resolve.ts` made of them, how the reading settled (`choice` — never settled by the library: every reading is a PROPOSAL, `open` with `confirm`, its candidates `said: []`), the reader's id, version, kind and locale, and the tz database version; a refused mention keeps only why |
31
+ * | `time-answer` | by the batch ask, once per mention the person settled in the time ask — the only door by which a window of words becomes the person's | the mention, the window and its zone, and `how`: `confirmed` (they picked a reading the library offered — the click) or `edited` (they wrote their own) |
32
+ * | `time-derived` | by the Route decider, once per judged answer that stands, when the evidence gate found values no tool result carried that the library itself spelled from this turn's time readings (§ 9.5, step T7 — `forms.ts` · `timeFormsOf`'s `derived` list) | the values, normalized and clipped as the gate reports them — the lineage `derived-from-reading`: never invented, never the person's |
33
+ * | `source-clock` | by ToolCalls, once per call and zone, when the call minted a dataset whose declared time axis names a `zone` (§ 9.6, step T8) | the tool, the call and the zone its rows' wall times are in — read by the limits block's `Clocks` lines and `check.ts` · `clocksDiffer` |
31
34
  *
32
35
  * Readers that switch over every row kind must skip one they do not know.
33
36
  */
@@ -127,6 +130,29 @@ export interface TimeReadingRow {
127
130
  /** How the reading settled under the policy — `open` waits for the person. */
128
131
  readonly choice?: ReadingChoice;
129
132
  }
133
+ /**
134
+ * The window the person settled for one mention in the time ask — the ONLY
135
+ * door by which a window of words becomes the person's (the owner's decision
136
+ * "Always confirm", time design TQ29). Filed by the batch ask when a window
137
+ * answer binds (`arguments/ask.ts` · `bindAnswer`); read back by
138
+ * `bind.ts` · `turnWindowsOf`, so the rest of the turn uses it as an
139
+ * `answered` window and the served sentence names it with its source.
140
+ */
141
+ export interface TimeAnswerRow extends TimeRange {
142
+ readonly kind: 'time-answer';
143
+ readonly turn: number;
144
+ readonly iteration: number;
145
+ /** The `time-reading` row's mention the answer settles. */
146
+ readonly mention: number;
147
+ /** The zone the window was answered in — the reading's, or the turn's clock for free entry. */
148
+ readonly zone: ZoneName;
149
+ /**
150
+ * `confirmed`: the person picked a reading the library offered (the
151
+ * pre-filled choice — their click); `edited`: they wrote a window of their
152
+ * own. Both are the person's answer.
153
+ */
154
+ readonly how: 'confirmed' | 'edited';
155
+ }
130
156
  /** The person's window a `call-window` row names — its range, who gave it, and its mention. */
131
157
  export interface PersonWindow extends TimeRange {
132
158
  readonly source: WindowSource;
@@ -184,12 +210,73 @@ export interface CallWindowRow {
184
210
  /** On a `dst-gap` refusal: the argument whose wall time the zone skips. */
185
211
  readonly argument?: string;
186
212
  }
213
+ /**
214
+ * The answer's values the library itself spelled from a time reading of this
215
+ * turn (§ 9.5, step T7) — an implied year, an offset, the end-of-grain
216
+ * minute, a value of the served time line. The lineage `derived-from-reading`:
217
+ * the answer's standing reads it as "not sure" at most, never "known", and the
218
+ * gate never calls these invented.
219
+ */
220
+ export interface TimeDerivedRow {
221
+ readonly kind: 'time-derived';
222
+ readonly turn: number;
223
+ readonly iteration: number;
224
+ /** The values as the gate reports them — normalized, clipped, at most `MAX_DERIVED_VALUES`. */
225
+ readonly values: readonly string[];
226
+ }
227
+ /** The most values one `time-derived` row carries (the gate's report bound). */
228
+ export declare const MAX_DERIVED_VALUES = 12;
229
+ /** The longest value a `time-derived` row carries (the gate's clip). */
230
+ export declare const MAX_DERIVED_VALUE_CHARS = 64;
231
+ /**
232
+ * A wall-clock source (§ 9.6, step T8): the call minted a dataset whose
233
+ * declared time axis (`axis.ts` · `DatasetTimeAxis`, its `zone`) says its rows are
234
+ * wall times in `zone`. One row per call and zone. A period's offset is never
235
+ * read as a clock — only a declared axis zone files this row.
236
+ */
237
+ export interface SourceClockRow {
238
+ readonly kind: 'source-clock';
239
+ readonly turn: number;
240
+ readonly iteration: number;
241
+ readonly toolCallId: string;
242
+ readonly toolName: string;
243
+ readonly zone: ZoneName;
244
+ }
187
245
  /** Every time-layer row kind. */
188
- export type TimeRow = ClockRow | ClockOnResumeRow | CallRow | TimeReadingRow | CallWindowRow;
246
+ export type TimeRow = ClockRow | ClockOnResumeRow | CallRow | TimeReadingRow | CallWindowRow | TimeAnswerRow | TimeDerivedRow | SourceClockRow;
189
247
  /** This turn's `call-window` row for one call, if the inputs layer filed one — `ctx.time` reads it. */
190
248
  export declare function callWindowOfCall(ledger: readonly unknown[] | undefined, toolCallId: string, turn: number): CallWindowRow | undefined;
191
249
  /** The `time-reading` rows filed for `turn` — read back on a resume or a retry, never re-read. */
192
250
  export declare function readingsOf(ledger: readonly unknown[] | undefined, turn: number): readonly TimeReadingRow[];
251
+ /** The `time-answer` row for one window the person settled in the time ask. */
252
+ export declare function timeAnswerRow(answer: {
253
+ readonly mention: number;
254
+ readonly range: TimeRange;
255
+ readonly zone: ZoneName;
256
+ readonly how: 'confirmed' | 'edited';
257
+ }, at: {
258
+ readonly turn: number;
259
+ readonly iteration: number;
260
+ }): TimeAnswerRow;
261
+ /** The `time-derived` row for one judged answer — `values` cut to {@link MAX_DERIVED_VALUES}. */
262
+ export declare function timeDerivedRow(values: readonly string[], at: {
263
+ readonly turn: number;
264
+ readonly iteration: number;
265
+ }): TimeDerivedRow;
266
+ /** The `source-clock` row for one call's dataset whose declared axis names `zone`. */
267
+ export declare function sourceClockRow(call: {
268
+ readonly toolCallId: string;
269
+ readonly toolName: string;
270
+ }, at: {
271
+ readonly turn: number;
272
+ readonly iteration: number;
273
+ }, zone: ZoneName): SourceClockRow;
274
+ /** This turn's `call` row for one call — the last filed (a resumed leg files its own). */
275
+ export declare function callRowOfCall(ledger: readonly unknown[] | undefined, toolCallId: string, turn: number): CallRow | undefined;
276
+ /** The `source-clock` rows filed for `turn`, in the order filed. */
277
+ export declare function sourceClocksOf(ledger: readonly unknown[] | undefined, turn: number | undefined): readonly SourceClockRow[];
278
+ /** The `time-answer` rows filed for `turn`, in the order filed. */
279
+ export declare function answersOf(ledger: readonly unknown[] | undefined, turn: number): readonly TimeAnswerRow[];
193
280
  /**
194
281
  * The clock of the LATEST turn on the ledger — the last `clock` row — or
195
282
  * `undefined` when none was filed (an agent without `.time()`, or a turn
@@ -200,7 +287,7 @@ export declare function readingsOf(ledger: readonly unknown[] | undefined, turn:
200
287
  export declare function clockOf(ledger: readonly unknown[] | undefined): ClockRow | undefined;
201
288
  /**
202
289
  * The checkpoint door's test for a time-layer row — `true` only for a row of
203
- * one of the five kinds with every field this module files, well formed.
290
+ * one of the eight kinds with every field this module files, well formed.
204
291
  * Any other kind answers `false` (the caller routes by kind first).
205
292
  */
206
293
  export declare function timeRowIsWellFormed(row: Readonly<Record<string, unknown>>): boolean;
@@ -19,7 +19,7 @@
19
19
  * precedent: no event field ships without a reader in the same
20
20
  * release). The lens reads the rows.
21
21
  *
22
- * Five kinds, each filed only while `.time()` is armed:
22
+ * Eight kinds, each filed only while `.time()` is armed:
23
23
  *
24
24
  * | Kind | Filed | Carries |
25
25
  * |------|-------|---------|
@@ -27,7 +27,10 @@
27
27
  * | `clock-on-resume` | first thing in the resumed leg's ToolCalls stage — either pause shape: the pausable resume door, or the stage re-run an `interrupt()` pause makes — when a resume passed a `time` that differs from the kept clock | what was passed and what was kept — the kept clock still rules |
28
28
  * | `call` | once per dispatched call, just before the tool runs | `dispatchedAt`: the wall clock at dispatch (a look-back is evaluated by the TOOL at dispatch, which after a pause is later than `now`); `drift` when a look-back was sent more than the tool's step after `now` — `redrawn` into an absolute form, or `shifted` (§ 7.4, `drift.ts`) |
29
29
  * | `call-window` | by the inputs layer, once per call to a tool that declares period forms, before it dispatches | which window the call carries: filled from the turn's one window (exactly, or wider — with what the read adds), bound to one (by quote or value), the model's own (beside the person's when it differs), unread, not filled and why, or refused before dispatch and why |
30
- * | `time-reading` | by seed, once per MENTION the armed reader (`.time({ reader })`) found in the person's message — or ONE row with `mentions: 0` when it found none, so a retry knows the message was read | the quote, the parts, every candidate `resolve.ts` made of them, how the reading settled (`choice`), the reader's id, version, kind and locale, and the tz database version; a refused mention keeps only why |
30
+ * | `time-reading` | by seed, once per MENTION the armed reader (`.time({ reader })`) found in the person's message — or ONE row with `mentions: 0` when it found none, so a retry knows the message was read | the quote, the parts, every candidate `resolve.ts` made of them, how the reading settled (`choice` — never settled by the library: every reading is a PROPOSAL, `open` with `confirm`, its candidates `said: []`), the reader's id, version, kind and locale, and the tz database version; a refused mention keeps only why |
31
+ * | `time-answer` | by the batch ask, once per mention the person settled in the time ask — the only door by which a window of words becomes the person's | the mention, the window and its zone, and `how`: `confirmed` (they picked a reading the library offered — the click) or `edited` (they wrote their own) |
32
+ * | `time-derived` | by the Route decider, once per judged answer that stands, when the evidence gate found values no tool result carried that the library itself spelled from this turn's time readings (§ 9.5, step T7 — `forms.ts` · `timeFormsOf`'s `derived` list) | the values, normalized and clipped as the gate reports them — the lineage `derived-from-reading`: never invented, never the person's |
33
+ * | `source-clock` | by ToolCalls, once per call and zone, when the call minted a dataset whose declared time axis names a `zone` (§ 9.6, step T8) | the tool, the call and the zone its rows' wall times are in — read by the limits block's `Clocks` lines and `check.ts` · `clocksDiffer` |
31
34
  *
32
35
  * Readers that switch over every row kind must skip one they do not know.
33
36
  */
@@ -37,6 +40,10 @@ import { isZoneName } from './zone.js';
37
40
  import { isTimeParts } from './reader.js';
38
41
  import { TIME_REFUSALS } from './periodForm.js';
39
42
  import { candidateIsWellFormed, choiceIsWellFormed, } from './resolveRecord.js';
43
+ /** The most values one `time-derived` row carries (the gate's report bound). */
44
+ export const MAX_DERIVED_VALUES = 12;
45
+ /** The longest value a `time-derived` row carries (the gate's clip). */
46
+ export const MAX_DERIVED_VALUE_CHARS = 64;
40
47
  // ─── Reading ─────────────────────────────────────────────────────────────
41
48
  /** This turn's `call-window` row for one call, if the inputs layer filed one — `ctx.time` reads it. */
42
49
  export function callWindowOfCall(ledger, toolCallId, turn) {
@@ -63,6 +70,76 @@ export function readingsOf(ledger, turn) {
63
70
  return r !== null && typeof r === 'object' && r.kind === 'time-reading' && r.turn === turn;
64
71
  });
65
72
  }
73
+ /** The `time-answer` row for one window the person settled in the time ask. */
74
+ export function timeAnswerRow(answer, at) {
75
+ return {
76
+ kind: 'time-answer',
77
+ turn: at.turn,
78
+ iteration: at.iteration,
79
+ mention: answer.mention,
80
+ from: answer.range.from,
81
+ to: answer.range.to,
82
+ zone: answer.zone,
83
+ how: answer.how,
84
+ };
85
+ }
86
+ /** The `time-derived` row for one judged answer — `values` cut to {@link MAX_DERIVED_VALUES}. */
87
+ export function timeDerivedRow(values, at) {
88
+ return {
89
+ kind: 'time-derived',
90
+ turn: at.turn,
91
+ iteration: at.iteration,
92
+ values: values.slice(0, MAX_DERIVED_VALUES),
93
+ };
94
+ }
95
+ /** The `source-clock` row for one call's dataset whose declared axis names `zone`. */
96
+ export function sourceClockRow(call, at, zone) {
97
+ return {
98
+ kind: 'source-clock',
99
+ turn: at.turn,
100
+ iteration: at.iteration,
101
+ toolCallId: call.toolCallId,
102
+ toolName: call.toolName,
103
+ zone,
104
+ };
105
+ }
106
+ /** This turn's `call` row for one call — the last filed (a resumed leg files its own). */
107
+ export function callRowOfCall(ledger, toolCallId, turn) {
108
+ if (ledger === undefined)
109
+ return undefined;
110
+ for (let i = ledger.length - 1; i >= 0; i--) {
111
+ const r = ledger[i];
112
+ if (r !== null &&
113
+ typeof r === 'object' &&
114
+ r.kind === 'call' &&
115
+ r.toolCallId === toolCallId &&
116
+ r.turn === turn) {
117
+ return r;
118
+ }
119
+ }
120
+ return undefined;
121
+ }
122
+ /** The `source-clock` rows filed for `turn`, in the order filed. */
123
+ export function sourceClocksOf(ledger, turn) {
124
+ if (ledger === undefined)
125
+ return [];
126
+ return ledger.filter((row) => {
127
+ const r = row;
128
+ return (r !== null &&
129
+ typeof r === 'object' &&
130
+ r.kind === 'source-clock' &&
131
+ (turn === undefined || r.turn === turn));
132
+ });
133
+ }
134
+ /** The `time-answer` rows filed for `turn`, in the order filed. */
135
+ export function answersOf(ledger, turn) {
136
+ if (ledger === undefined)
137
+ return [];
138
+ return ledger.filter((row) => {
139
+ const r = row;
140
+ return r !== null && typeof r === 'object' && r.kind === 'time-answer' && r.turn === turn;
141
+ });
142
+ }
66
143
  /**
67
144
  * The clock of the LATEST turn on the ledger — the last `clock` row — or
68
145
  * `undefined` when none was filed (an agent without `.time()`, or a turn
@@ -146,7 +223,10 @@ function isPersonWindow(value) {
146
223
  if (value === null || typeof value !== 'object' || Array.isArray(value))
147
224
  return false;
148
225
  const { source, mention, ...range } = value;
149
- return ((source === 'said' || source === 'derived-from-reading' || source === 'control') &&
226
+ return ((source === 'said' ||
227
+ source === 'derived-from-reading' ||
228
+ source === 'answered' ||
229
+ source === 'control') &&
150
230
  (mention === undefined || isCount(mention)) &&
151
231
  (source === 'control') === (mention === undefined) &&
152
232
  isTimeRange(range));
@@ -241,9 +321,29 @@ function isCallDrift(value) {
241
321
  return Object.keys(d).length === 3 && isCount(d.form);
242
322
  return d.outcome === 'shifted' && Object.keys(d).length === 2;
243
323
  }
324
+ /** A `time-answer` row: its mention, a range, a zone, `how` — and no other key. */
325
+ function isAnswerRow(row) {
326
+ const { kind: _k, turn: _t, iteration: _i, mention, zone, how, ...range } = row;
327
+ void _k;
328
+ void _t;
329
+ void _i;
330
+ return (isCount(mention) &&
331
+ isZoneName(zone) &&
332
+ (how === 'confirmed' || how === 'edited') &&
333
+ isTimeRange(range));
334
+ }
335
+ /** A `time-derived` row: one to `MAX_DERIVED_VALUES` non-empty values — and no other key. */
336
+ function isDerivedRow(row) {
337
+ const values = row.values;
338
+ return (Object.keys(row).length === 4 &&
339
+ Array.isArray(values) &&
340
+ values.length >= 1 &&
341
+ values.length <= MAX_DERIVED_VALUES &&
342
+ values.every((v) => nonEmpty(v) && v.length <= MAX_DERIVED_VALUE_CHARS));
343
+ }
244
344
  /**
245
345
  * The checkpoint door's test for a time-layer row — `true` only for a row of
246
- * one of the five kinds with every field this module files, well formed.
346
+ * one of the eight kinds with every field this module files, well formed.
247
347
  * Any other kind answers `false` (the caller routes by kind first).
248
348
  */
249
349
  export function timeRowIsWellFormed(row) {
@@ -267,6 +367,14 @@ export function timeRowIsWellFormed(row) {
267
367
  return isReadingRow(row);
268
368
  case 'call-window':
269
369
  return isCallWindowRow(row);
370
+ case 'time-answer':
371
+ return isAnswerRow(row);
372
+ case 'time-derived':
373
+ return isDerivedRow(row);
374
+ case 'source-clock':
375
+ return (typeof row.toolCallId === 'string' &&
376
+ typeof row.toolName === 'string' &&
377
+ isZoneName(row.zone));
270
378
  default:
271
379
  return false;
272
380
  }
@@ -277,7 +385,10 @@ export function isTimeRowKind(kind) {
277
385
  kind === 'clock-on-resume' ||
278
386
  kind === 'call' ||
279
387
  kind === 'time-reading' ||
280
- kind === 'call-window');
388
+ kind === 'call-window' ||
389
+ kind === 'time-answer' ||
390
+ kind === 'time-derived' ||
391
+ kind === 'source-clock');
281
392
  }
282
393
  /** The zone the answer's lines are rendered in — the clock's (no reader is armed yet, so the run's). */
283
394
  export function presentationZoneOf(ledger) {