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.
Files changed (603) hide show
  1. package/CAPABILITIES.md +13 -1
  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/artifacts/datasetResult.js +2 -2
  16. package/dist/artifacts/datasetResult.js.map +1 -1
  17. package/dist/artifacts/index.js +10 -8
  18. package/dist/artifacts/index.js.map +1 -1
  19. package/dist/artifacts/minting.js +2 -2
  20. package/dist/artifacts/minting.js.map +1 -1
  21. package/dist/core/Agent.js +229 -5
  22. package/dist/core/Agent.js.map +1 -1
  23. package/dist/core/agent/AgentBuilder.js +75 -1
  24. package/dist/core/agent/AgentBuilder.js.map +1 -1
  25. package/dist/core/agent/arguments/ask.js +356 -14
  26. package/dist/core/agent/arguments/ask.js.map +1 -1
  27. package/dist/core/agent/arguments/declare.js +260 -45
  28. package/dist/core/agent/arguments/declare.js.map +1 -1
  29. package/dist/core/agent/arguments/dispatch.js +25 -1
  30. package/dist/core/agent/arguments/dispatch.js.map +1 -1
  31. package/dist/core/agent/arguments/resolve.js +239 -6
  32. package/dist/core/agent/arguments/resolve.js.map +1 -1
  33. package/dist/core/agent/arguments/rows.js +37 -2
  34. package/dist/core/agent/arguments/rows.js.map +1 -1
  35. package/dist/core/agent/arguments/serve.js +332 -4
  36. package/dist/core/agent/arguments/serve.js.map +1 -1
  37. package/dist/core/agent/arguments/subflow.js +46 -7
  38. package/dist/core/agent/arguments/subflow.js.map +1 -1
  39. package/dist/core/agent/assessment/assess.js +45 -6
  40. package/dist/core/agent/assessment/assess.js.map +1 -1
  41. package/dist/core/agent/assessment/compose.js +3 -0
  42. package/dist/core/agent/assessment/compose.js.map +1 -1
  43. package/dist/core/agent/assessment/reasons.js +18 -0
  44. package/dist/core/agent/assessment/reasons.js.map +1 -1
  45. package/dist/core/agent/buildAgentChart.js +31 -1
  46. package/dist/core/agent/buildAgentChart.js.map +1 -1
  47. package/dist/core/agent/buildDynamicAgentChart.js +9 -0
  48. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  49. package/dist/core/agent/coverage/answer.js +24 -7
  50. package/dist/core/agent/coverage/answer.js.map +1 -1
  51. package/dist/core/agent/coverage/period.js +110 -69
  52. package/dist/core/agent/coverage/period.js.map +1 -1
  53. package/dist/core/agent/coverage/timeLimitFacts.js +70 -0
  54. package/dist/core/agent/coverage/timeLimitFacts.js.map +1 -0
  55. package/dist/core/agent/coverage/timeLimits.js +72 -0
  56. package/dist/core/agent/coverage/timeLimits.js.map +1 -0
  57. package/dist/core/agent/evidence/evidenceIndex.js +48 -7
  58. package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
  59. package/dist/core/agent/evidence/gate.js +9 -4
  60. package/dist/core/agent/evidence/gate.js.map +1 -1
  61. package/dist/core/agent/evidence/normalize.js +1 -105
  62. package/dist/core/agent/evidence/normalize.js.map +1 -1
  63. package/dist/core/agent/findings/ledger.js +14 -0
  64. package/dist/core/agent/findings/ledger.js.map +1 -1
  65. package/dist/core/agent/findings/types.js.map +1 -1
  66. package/dist/core/agent/honesty/mounts.js +105 -4
  67. package/dist/core/agent/honesty/mounts.js.map +1 -1
  68. package/dist/core/agent/results/subflow.js +43 -11
  69. package/dist/core/agent/results/subflow.js.map +1 -1
  70. package/dist/core/agent/stages/argumentAsk.js +85 -6
  71. package/dist/core/agent/stages/argumentAsk.js.map +1 -1
  72. package/dist/core/agent/stages/callLLM.js +16 -0
  73. package/dist/core/agent/stages/callLLM.js.map +1 -1
  74. package/dist/core/agent/stages/prepareFinal.js +61 -8
  75. package/dist/core/agent/stages/prepareFinal.js.map +1 -1
  76. package/dist/core/agent/stages/route.js +64 -6
  77. package/dist/core/agent/stages/route.js.map +1 -1
  78. package/dist/core/agent/stages/seed.js +29 -6
  79. package/dist/core/agent/stages/seed.js.map +1 -1
  80. package/dist/core/agent/stages/timeLayer.js +201 -0
  81. package/dist/core/agent/stages/timeLayer.js.map +1 -0
  82. package/dist/core/agent/stages/timeLineage.js +61 -0
  83. package/dist/core/agent/stages/timeLineage.js.map +1 -0
  84. package/dist/core/agent/stages/toolCalls.js +70 -0
  85. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  86. package/dist/core/inputRequest.js +132 -5
  87. package/dist/core/inputRequest.js.map +1 -1
  88. package/dist/core/messageFrom.js +5 -2
  89. package/dist/core/messageFrom.js.map +1 -1
  90. package/dist/core/runCheckpoint.js +17 -2
  91. package/dist/core/runCheckpoint.js.map +1 -1
  92. package/dist/core/slots/buildToolsSlot.js +30 -2
  93. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  94. package/dist/core/time/ask.js +239 -0
  95. package/dist/core/time/ask.js.map +1 -0
  96. package/dist/core/time/axis.js +469 -0
  97. package/dist/core/time/axis.js.map +1 -0
  98. package/dist/core/time/bind.js +235 -0
  99. package/dist/core/time/bind.js.map +1 -0
  100. package/dist/core/time/check.js +261 -0
  101. package/dist/core/time/check.js.map +1 -0
  102. package/dist/core/time/checkRecord.js +97 -0
  103. package/dist/core/time/checkRecord.js.map +1 -0
  104. package/dist/core/time/clock.js +260 -0
  105. package/dist/core/time/clock.js.map +1 -0
  106. package/dist/core/time/convert.js +634 -0
  107. package/dist/core/time/convert.js.map +1 -0
  108. package/dist/core/time/drift.js +96 -0
  109. package/dist/core/time/drift.js.map +1 -0
  110. package/dist/core/time/duration.js +125 -0
  111. package/dist/core/time/duration.js.map +1 -0
  112. package/dist/core/time/forms.js +273 -0
  113. package/dist/core/time/forms.js.map +1 -0
  114. package/dist/core/time/instant.js +141 -0
  115. package/dist/core/time/instant.js.map +1 -0
  116. package/dist/core/time/periodForm.js +392 -0
  117. package/dist/core/time/periodForm.js.map +1 -0
  118. package/dist/core/time/present.js +312 -0
  119. package/dist/core/time/present.js.map +1 -0
  120. package/dist/core/time/range.js +267 -0
  121. package/dist/core/time/range.js.map +1 -0
  122. package/dist/core/time/reader.js +209 -0
  123. package/dist/core/time/reader.js.map +1 -0
  124. package/dist/core/time/readers/english.js +576 -0
  125. package/dist/core/time/readers/english.js.map +1 -0
  126. package/dist/core/time/readingAsk.js +94 -0
  127. package/dist/core/time/readingAsk.js.map +1 -0
  128. package/dist/core/time/resolve.js +694 -0
  129. package/dist/core/time/resolve.js.map +1 -0
  130. package/dist/core/time/resolveRecord.js +164 -0
  131. package/dist/core/time/resolveRecord.js.map +1 -0
  132. package/dist/core/time/rows.js +412 -0
  133. package/dist/core/time/rows.js.map +1 -0
  134. package/dist/core/time/rowsBuild.js +193 -0
  135. package/dist/core/time/rowsBuild.js.map +1 -0
  136. package/dist/core/time/textForms.js +133 -0
  137. package/dist/core/time/textForms.js.map +1 -0
  138. package/dist/core/time/windows.js +172 -0
  139. package/dist/core/time/windows.js.map +1 -0
  140. package/dist/core/time/wire.js +86 -0
  141. package/dist/core/time/wire.js.map +1 -0
  142. package/dist/core/time/zone.js +253 -0
  143. package/dist/core/time/zone.js.map +1 -0
  144. package/dist/core/tools.js.map +1 -1
  145. package/dist/esm/adapters/llm/AnthropicProvider.js +8 -109
  146. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  147. package/dist/esm/adapters/llm/BedrockProvider.js +11 -4
  148. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  149. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +38 -4
  150. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +167 -35
  151. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  152. package/dist/esm/adapters/llm/OpenAIProvider.js +5 -0
  153. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  154. package/dist/esm/adapters/llm/anthropicMessagesWire.d.ts +6 -1
  155. package/dist/esm/adapters/llm/anthropicMessagesWire.js +20 -6
  156. package/dist/esm/adapters/llm/anthropicMessagesWire.js.map +1 -1
  157. package/dist/esm/adapters/llm/retryAfter.d.ts +27 -0
  158. package/dist/esm/adapters/llm/retryAfter.js +56 -0
  159. package/dist/esm/adapters/llm/retryAfter.js.map +1 -0
  160. package/dist/esm/adapters/types.d.ts +9 -0
  161. package/dist/esm/adapters/types.js.map +1 -1
  162. package/dist/esm/artifacts/datasetResult.js +1 -1
  163. package/dist/esm/artifacts/datasetResult.js.map +1 -1
  164. package/dist/esm/artifacts/index.d.ts +1 -1
  165. package/dist/esm/artifacts/index.js +3 -2
  166. package/dist/esm/artifacts/index.js.map +1 -1
  167. package/dist/esm/artifacts/minting.js +1 -1
  168. package/dist/esm/artifacts/minting.js.map +1 -1
  169. package/dist/esm/artifacts/types.d.ts +2 -2
  170. package/dist/esm/core/Agent.d.ts +64 -0
  171. package/dist/esm/core/Agent.js +230 -6
  172. package/dist/esm/core/Agent.js.map +1 -1
  173. package/dist/esm/core/agent/AgentBuilder.d.ts +60 -0
  174. package/dist/esm/core/agent/AgentBuilder.js +75 -1
  175. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  176. package/dist/esm/core/agent/arguments/ask.d.ts +88 -5
  177. package/dist/esm/core/agent/arguments/ask.js +349 -8
  178. package/dist/esm/core/agent/arguments/ask.js.map +1 -1
  179. package/dist/esm/core/agent/arguments/checks.d.ts +1 -1
  180. package/dist/esm/core/agent/arguments/declare.d.ts +76 -15
  181. package/dist/esm/core/agent/arguments/declare.js +255 -44
  182. package/dist/esm/core/agent/arguments/declare.js.map +1 -1
  183. package/dist/esm/core/agent/arguments/dispatch.js +25 -1
  184. package/dist/esm/core/agent/arguments/dispatch.js.map +1 -1
  185. package/dist/esm/core/agent/arguments/resolve.d.ts +77 -7
  186. package/dist/esm/core/agent/arguments/resolve.js +239 -8
  187. package/dist/esm/core/agent/arguments/resolve.js.map +1 -1
  188. package/dist/esm/core/agent/arguments/rows.d.ts +31 -2
  189. package/dist/esm/core/agent/arguments/rows.js +35 -1
  190. package/dist/esm/core/agent/arguments/rows.js.map +1 -1
  191. package/dist/esm/core/agent/arguments/serve.d.ts +133 -4
  192. package/dist/esm/core/agent/arguments/serve.js +328 -4
  193. package/dist/esm/core/agent/arguments/serve.js.map +1 -1
  194. package/dist/esm/core/agent/arguments/subflow.d.ts +28 -0
  195. package/dist/esm/core/agent/arguments/subflow.js +47 -8
  196. package/dist/esm/core/agent/arguments/subflow.js.map +1 -1
  197. package/dist/esm/core/agent/assessment/assess.js +45 -6
  198. package/dist/esm/core/agent/assessment/assess.js.map +1 -1
  199. package/dist/esm/core/agent/assessment/compose.js +3 -0
  200. package/dist/esm/core/agent/assessment/compose.js.map +1 -1
  201. package/dist/esm/core/agent/assessment/reasons.js +18 -0
  202. package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
  203. package/dist/esm/core/agent/assessment/types.d.ts +15 -1
  204. package/dist/esm/core/agent/buildAgentChart.d.ts +41 -0
  205. package/dist/esm/core/agent/buildAgentChart.js +28 -0
  206. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  207. package/dist/esm/core/agent/buildDynamicAgentChart.d.ts +1 -1
  208. package/dist/esm/core/agent/buildDynamicAgentChart.js +9 -0
  209. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  210. package/dist/esm/core/agent/coverage/answer.d.ts +20 -1
  211. package/dist/esm/core/agent/coverage/answer.js +23 -6
  212. package/dist/esm/core/agent/coverage/answer.js.map +1 -1
  213. package/dist/esm/core/agent/coverage/period.d.ts +49 -3
  214. package/dist/esm/core/agent/coverage/period.js +107 -68
  215. package/dist/esm/core/agent/coverage/period.js.map +1 -1
  216. package/dist/esm/core/agent/coverage/timeLimitFacts.d.ts +56 -0
  217. package/dist/esm/core/agent/coverage/timeLimitFacts.js +65 -0
  218. package/dist/esm/core/agent/coverage/timeLimitFacts.js.map +1 -0
  219. package/dist/esm/core/agent/coverage/timeLimits.d.ts +46 -0
  220. package/dist/esm/core/agent/coverage/timeLimits.js +67 -0
  221. package/dist/esm/core/agent/coverage/timeLimits.js.map +1 -0
  222. package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +25 -2
  223. package/dist/esm/core/agent/evidence/evidenceIndex.js +47 -7
  224. package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
  225. package/dist/esm/core/agent/evidence/gate.d.ts +7 -0
  226. package/dist/esm/core/agent/evidence/gate.js +9 -4
  227. package/dist/esm/core/agent/evidence/gate.js.map +1 -1
  228. package/dist/esm/core/agent/evidence/normalize.d.ts +0 -34
  229. package/dist/esm/core/agent/evidence/normalize.js +0 -103
  230. package/dist/esm/core/agent/evidence/normalize.js.map +1 -1
  231. package/dist/esm/core/agent/evidence/types.d.ts +12 -1
  232. package/dist/esm/core/agent/findings/ledger.js +14 -0
  233. package/dist/esm/core/agent/findings/ledger.js.map +1 -1
  234. package/dist/esm/core/agent/findings/types.d.ts +2 -1
  235. package/dist/esm/core/agent/findings/types.js.map +1 -1
  236. package/dist/esm/core/agent/honesty/mounts.d.ts +25 -0
  237. package/dist/esm/core/agent/honesty/mounts.js +104 -4
  238. package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
  239. package/dist/esm/core/agent/results/subflow.d.ts +34 -2
  240. package/dist/esm/core/agent/results/subflow.js +43 -11
  241. package/dist/esm/core/agent/results/subflow.js.map +1 -1
  242. package/dist/esm/core/agent/stages/argumentAsk.d.ts +19 -0
  243. package/dist/esm/core/agent/stages/argumentAsk.js +85 -6
  244. package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
  245. package/dist/esm/core/agent/stages/callLLM.d.ts +6 -0
  246. package/dist/esm/core/agent/stages/callLLM.js +16 -0
  247. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  248. package/dist/esm/core/agent/stages/prepareFinal.d.ts +13 -1
  249. package/dist/esm/core/agent/stages/prepareFinal.js +59 -7
  250. package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
  251. package/dist/esm/core/agent/stages/route.d.ts +29 -1
  252. package/dist/esm/core/agent/stages/route.js +64 -7
  253. package/dist/esm/core/agent/stages/route.js.map +1 -1
  254. package/dist/esm/core/agent/stages/seed.d.ts +23 -0
  255. package/dist/esm/core/agent/stages/seed.js +29 -6
  256. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  257. package/dist/esm/core/agent/stages/timeLayer.d.ts +94 -0
  258. package/dist/esm/core/agent/stages/timeLayer.js +193 -0
  259. package/dist/esm/core/agent/stages/timeLayer.js.map +1 -0
  260. package/dist/esm/core/agent/stages/timeLineage.d.ts +31 -0
  261. package/dist/esm/core/agent/stages/timeLineage.js +57 -0
  262. package/dist/esm/core/agent/stages/timeLineage.js.map +1 -0
  263. package/dist/esm/core/agent/stages/toolCalls.d.ts +32 -0
  264. package/dist/esm/core/agent/stages/toolCalls.js +70 -0
  265. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  266. package/dist/esm/core/agent/types.d.ts +37 -0
  267. package/dist/esm/core/inputRequest.d.ts +50 -6
  268. package/dist/esm/core/inputRequest.js +132 -5
  269. package/dist/esm/core/inputRequest.js.map +1 -1
  270. package/dist/esm/core/messageFrom.d.ts +5 -2
  271. package/dist/esm/core/messageFrom.js +5 -2
  272. package/dist/esm/core/messageFrom.js.map +1 -1
  273. package/dist/esm/core/runCheckpoint.js +17 -2
  274. package/dist/esm/core/runCheckpoint.js.map +1 -1
  275. package/dist/esm/core/slots/buildToolsSlot.d.ts +29 -0
  276. package/dist/esm/core/slots/buildToolsSlot.js +30 -2
  277. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  278. package/dist/esm/core/time/ask.d.ts +126 -0
  279. package/dist/esm/core/time/ask.js +230 -0
  280. package/dist/esm/core/time/ask.js.map +1 -0
  281. package/dist/esm/core/time/axis.d.ts +224 -0
  282. package/dist/esm/core/time/axis.js +462 -0
  283. package/dist/esm/core/time/axis.js.map +1 -0
  284. package/dist/esm/core/time/bind.d.ts +143 -0
  285. package/dist/esm/core/time/bind.js +227 -0
  286. package/dist/esm/core/time/bind.js.map +1 -0
  287. package/dist/esm/core/time/check.d.ts +113 -0
  288. package/dist/esm/core/time/check.js +252 -0
  289. package/dist/esm/core/time/check.js.map +1 -0
  290. package/dist/esm/core/time/checkRecord.d.ts +74 -0
  291. package/dist/esm/core/time/checkRecord.js +90 -0
  292. package/dist/esm/core/time/checkRecord.js.map +1 -0
  293. package/dist/esm/core/time/clock.d.ts +183 -0
  294. package/dist/esm/core/time/clock.js +252 -0
  295. package/dist/esm/core/time/clock.js.map +1 -0
  296. package/dist/esm/core/time/convert.d.ts +178 -0
  297. package/dist/esm/core/time/convert.js +609 -0
  298. package/dist/esm/core/time/convert.js.map +1 -0
  299. package/dist/esm/core/time/drift.d.ts +85 -0
  300. package/dist/esm/core/time/drift.js +91 -0
  301. package/dist/esm/core/time/drift.js.map +1 -0
  302. package/dist/esm/core/time/duration.d.ts +71 -0
  303. package/dist/esm/core/time/duration.js +117 -0
  304. package/dist/esm/core/time/duration.js.map +1 -0
  305. package/dist/esm/core/time/forms.d.ts +84 -0
  306. package/dist/esm/core/time/forms.js +268 -0
  307. package/dist/esm/core/time/forms.js.map +1 -0
  308. package/dist/esm/core/time/instant.d.ts +75 -0
  309. package/dist/esm/core/time/instant.js +131 -0
  310. package/dist/esm/core/time/instant.js.map +1 -0
  311. package/dist/esm/core/time/periodForm.d.ts +184 -0
  312. package/dist/esm/core/time/periodForm.js +376 -0
  313. package/dist/esm/core/time/periodForm.js.map +1 -0
  314. package/dist/esm/core/time/present.d.ts +107 -0
  315. package/dist/esm/core/time/present.js +305 -0
  316. package/dist/esm/core/time/present.js.map +1 -0
  317. package/dist/esm/core/time/range.d.ts +127 -0
  318. package/dist/esm/core/time/range.js +249 -0
  319. package/dist/esm/core/time/range.js.map +1 -0
  320. package/dist/esm/core/time/reader.d.ts +162 -0
  321. package/dist/esm/core/time/reader.js +203 -0
  322. package/dist/esm/core/time/reader.js.map +1 -0
  323. package/dist/esm/core/time/readers/english.d.ts +99 -0
  324. package/dist/esm/core/time/readers/english.js +572 -0
  325. package/dist/esm/core/time/readers/english.js.map +1 -0
  326. package/dist/esm/core/time/readingAsk.d.ts +45 -0
  327. package/dist/esm/core/time/readingAsk.js +90 -0
  328. package/dist/esm/core/time/readingAsk.js.map +1 -0
  329. package/dist/esm/core/time/resolve.d.ts +103 -0
  330. package/dist/esm/core/time/resolve.js +684 -0
  331. package/dist/esm/core/time/resolve.js.map +1 -0
  332. package/dist/esm/core/time/resolveRecord.d.ts +160 -0
  333. package/dist/esm/core/time/resolveRecord.js +158 -0
  334. package/dist/esm/core/time/resolveRecord.js.map +1 -0
  335. package/dist/esm/core/time/rows.d.ts +297 -0
  336. package/dist/esm/core/time/rows.js +397 -0
  337. package/dist/esm/core/time/rows.js.map +1 -0
  338. package/dist/esm/core/time/rowsBuild.d.ts +82 -0
  339. package/dist/esm/core/time/rowsBuild.js +185 -0
  340. package/dist/esm/core/time/rowsBuild.js.map +1 -0
  341. package/dist/esm/core/time/textForms.d.ts +53 -0
  342. package/dist/esm/core/time/textForms.js +126 -0
  343. package/dist/esm/core/time/textForms.js.map +1 -0
  344. package/dist/esm/core/time/windows.d.ts +113 -0
  345. package/dist/esm/core/time/windows.js +166 -0
  346. package/dist/esm/core/time/windows.js.map +1 -0
  347. package/dist/esm/core/time/wire.d.ts +63 -0
  348. package/dist/esm/core/time/wire.js +81 -0
  349. package/dist/esm/core/time/wire.js.map +1 -0
  350. package/dist/esm/core/time/zone.d.ts +115 -0
  351. package/dist/esm/core/time/zone.js +242 -0
  352. package/dist/esm/core/time/zone.js.map +1 -0
  353. package/dist/esm/core/tools.d.ts +26 -4
  354. package/dist/esm/core/tools.js.map +1 -1
  355. package/dist/esm/events/payloads.d.ts +16 -2
  356. package/dist/esm/index.d.ts +13 -1
  357. package/dist/esm/index.js +6 -1
  358. package/dist/esm/index.js.map +1 -1
  359. package/dist/esm/lib/answer-account/facts/howSure.js +7 -0
  360. package/dist/esm/lib/answer-account/facts/howSure.js.map +1 -1
  361. package/dist/esm/lib/answer-account/templates.d.ts +3 -0
  362. package/dist/esm/lib/answer-account/templates.js +4 -0
  363. package/dist/esm/lib/answer-account/templates.js.map +1 -1
  364. package/dist/esm/lib/mcp/elicitation.d.ts +84 -0
  365. package/dist/esm/lib/mcp/elicitation.js +181 -0
  366. package/dist/esm/lib/mcp/elicitation.js.map +1 -0
  367. package/dist/esm/lib/mcp/mcpClient.js +9 -3
  368. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  369. package/dist/esm/lib/mcp/mcpServe.js +6 -2
  370. package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
  371. package/dist/esm/lib/mcp/mockMcpClient.d.ts +9 -1
  372. package/dist/esm/lib/mcp/mockMcpClient.js +5 -3
  373. package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -1
  374. package/dist/esm/lib/mcp/toolExtras.d.ts +21 -2
  375. package/dist/esm/lib/mcp/toolExtras.js +22 -0
  376. package/dist/esm/lib/mcp/toolExtras.js.map +1 -1
  377. package/dist/esm/lib/mcp/types.d.ts +8 -0
  378. package/dist/esm/lib/time-travel/receipt.d.ts +1 -1
  379. package/dist/esm/lib/time-travel/servedView.d.ts +1 -1
  380. package/dist/esm/lib/time-travel/servedView.js +9 -0
  381. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  382. package/dist/esm/locales/index.d.ts +6 -0
  383. package/dist/esm/locales/index.js +6 -0
  384. package/dist/esm/locales/index.js.map +1 -1
  385. package/dist/esm/locales/timeAsk.d.ts +29 -0
  386. package/dist/esm/locales/timeAsk.js +44 -0
  387. package/dist/esm/locales/timeAsk.js.map +1 -0
  388. package/dist/esm/recorders/core/resilienceHooks.js +1 -0
  389. package/dist/esm/recorders/core/resilienceHooks.js.map +1 -1
  390. package/dist/esm/resilience/statedWait.d.ts +22 -0
  391. package/dist/esm/resilience/statedWait.js +35 -0
  392. package/dist/esm/resilience/statedWait.js.map +1 -0
  393. package/dist/esm/resilience/withRetry.d.ts +13 -2
  394. package/dist/esm/resilience/withRetry.js +16 -1
  395. package/dist/esm/resilience/withRetry.js.map +1 -1
  396. package/dist/index.js +11 -1
  397. package/dist/index.js.map +1 -1
  398. package/dist/lib/answer-account/facts/howSure.js +7 -0
  399. package/dist/lib/answer-account/facts/howSure.js.map +1 -1
  400. package/dist/lib/answer-account/templates.js +4 -0
  401. package/dist/lib/answer-account/templates.js.map +1 -1
  402. package/dist/lib/mcp/elicitation.js +186 -0
  403. package/dist/lib/mcp/elicitation.js.map +1 -0
  404. package/dist/lib/mcp/mcpClient.js +8 -2
  405. package/dist/lib/mcp/mcpClient.js.map +1 -1
  406. package/dist/lib/mcp/mcpServe.js +5 -1
  407. package/dist/lib/mcp/mcpServe.js.map +1 -1
  408. package/dist/lib/mcp/mockMcpClient.js +4 -2
  409. package/dist/lib/mcp/mockMcpClient.js.map +1 -1
  410. package/dist/lib/mcp/toolExtras.js +25 -1
  411. package/dist/lib/mcp/toolExtras.js.map +1 -1
  412. package/dist/lib/time-travel/servedView.js +9 -0
  413. package/dist/lib/time-travel/servedView.js.map +1 -1
  414. package/dist/locales/index.js +8 -1
  415. package/dist/locales/index.js.map +1 -1
  416. package/dist/locales/timeAsk.js +47 -0
  417. package/dist/locales/timeAsk.js.map +1 -0
  418. package/dist/recorders/core/resilienceHooks.js +1 -0
  419. package/dist/recorders/core/resilienceHooks.js.map +1 -1
  420. package/dist/resilience/statedWait.js +39 -0
  421. package/dist/resilience/statedWait.js.map +1 -0
  422. package/dist/resilience/withRetry.js +16 -1
  423. package/dist/resilience/withRetry.js.map +1 -1
  424. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  425. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  426. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +38 -4
  427. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
  428. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  429. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts +6 -1
  430. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts.map +1 -1
  431. package/dist/types/adapters/llm/retryAfter.d.ts +28 -0
  432. package/dist/types/adapters/llm/retryAfter.d.ts.map +1 -0
  433. package/dist/types/adapters/types.d.ts +9 -0
  434. package/dist/types/adapters/types.d.ts.map +1 -1
  435. package/dist/types/artifacts/index.d.ts +1 -1
  436. package/dist/types/artifacts/index.d.ts.map +1 -1
  437. package/dist/types/artifacts/types.d.ts +2 -2
  438. package/dist/types/artifacts/types.d.ts.map +1 -1
  439. package/dist/types/core/Agent.d.ts +64 -0
  440. package/dist/types/core/Agent.d.ts.map +1 -1
  441. package/dist/types/core/agent/AgentBuilder.d.ts +60 -0
  442. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  443. package/dist/types/core/agent/arguments/ask.d.ts +88 -5
  444. package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
  445. package/dist/types/core/agent/arguments/checks.d.ts +1 -1
  446. package/dist/types/core/agent/arguments/checks.d.ts.map +1 -1
  447. package/dist/types/core/agent/arguments/declare.d.ts +76 -15
  448. package/dist/types/core/agent/arguments/declare.d.ts.map +1 -1
  449. package/dist/types/core/agent/arguments/dispatch.d.ts.map +1 -1
  450. package/dist/types/core/agent/arguments/resolve.d.ts +77 -7
  451. package/dist/types/core/agent/arguments/resolve.d.ts.map +1 -1
  452. package/dist/types/core/agent/arguments/rows.d.ts +31 -2
  453. package/dist/types/core/agent/arguments/rows.d.ts.map +1 -1
  454. package/dist/types/core/agent/arguments/serve.d.ts +133 -4
  455. package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
  456. package/dist/types/core/agent/arguments/subflow.d.ts +28 -0
  457. package/dist/types/core/agent/arguments/subflow.d.ts.map +1 -1
  458. package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
  459. package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
  460. package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
  461. package/dist/types/core/agent/assessment/types.d.ts +15 -1
  462. package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
  463. package/dist/types/core/agent/buildAgentChart.d.ts +41 -0
  464. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  465. package/dist/types/core/agent/buildDynamicAgentChart.d.ts +1 -1
  466. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  467. package/dist/types/core/agent/coverage/answer.d.ts +20 -1
  468. package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
  469. package/dist/types/core/agent/coverage/period.d.ts +49 -3
  470. package/dist/types/core/agent/coverage/period.d.ts.map +1 -1
  471. package/dist/types/core/agent/coverage/timeLimitFacts.d.ts +57 -0
  472. package/dist/types/core/agent/coverage/timeLimitFacts.d.ts.map +1 -0
  473. package/dist/types/core/agent/coverage/timeLimits.d.ts +47 -0
  474. package/dist/types/core/agent/coverage/timeLimits.d.ts.map +1 -0
  475. package/dist/types/core/agent/evidence/evidenceIndex.d.ts +25 -2
  476. package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
  477. package/dist/types/core/agent/evidence/gate.d.ts +7 -0
  478. package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
  479. package/dist/types/core/agent/evidence/normalize.d.ts +0 -34
  480. package/dist/types/core/agent/evidence/normalize.d.ts.map +1 -1
  481. package/dist/types/core/agent/evidence/types.d.ts +12 -1
  482. package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
  483. package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
  484. package/dist/types/core/agent/findings/types.d.ts +2 -1
  485. package/dist/types/core/agent/findings/types.d.ts.map +1 -1
  486. package/dist/types/core/agent/honesty/mounts.d.ts +25 -0
  487. package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
  488. package/dist/types/core/agent/results/subflow.d.ts +34 -2
  489. package/dist/types/core/agent/results/subflow.d.ts.map +1 -1
  490. package/dist/types/core/agent/stages/argumentAsk.d.ts +19 -0
  491. package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
  492. package/dist/types/core/agent/stages/callLLM.d.ts +6 -0
  493. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  494. package/dist/types/core/agent/stages/prepareFinal.d.ts +13 -1
  495. package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
  496. package/dist/types/core/agent/stages/route.d.ts +29 -1
  497. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  498. package/dist/types/core/agent/stages/seed.d.ts +23 -0
  499. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  500. package/dist/types/core/agent/stages/timeLayer.d.ts +95 -0
  501. package/dist/types/core/agent/stages/timeLayer.d.ts.map +1 -0
  502. package/dist/types/core/agent/stages/timeLineage.d.ts +32 -0
  503. package/dist/types/core/agent/stages/timeLineage.d.ts.map +1 -0
  504. package/dist/types/core/agent/stages/toolCalls.d.ts +32 -0
  505. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  506. package/dist/types/core/agent/types.d.ts +37 -0
  507. package/dist/types/core/agent/types.d.ts.map +1 -1
  508. package/dist/types/core/inputRequest.d.ts +50 -6
  509. package/dist/types/core/inputRequest.d.ts.map +1 -1
  510. package/dist/types/core/messageFrom.d.ts +5 -2
  511. package/dist/types/core/messageFrom.d.ts.map +1 -1
  512. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  513. package/dist/types/core/slots/buildToolsSlot.d.ts +29 -0
  514. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  515. package/dist/types/core/time/ask.d.ts +127 -0
  516. package/dist/types/core/time/ask.d.ts.map +1 -0
  517. package/dist/types/core/time/axis.d.ts +225 -0
  518. package/dist/types/core/time/axis.d.ts.map +1 -0
  519. package/dist/types/core/time/bind.d.ts +144 -0
  520. package/dist/types/core/time/bind.d.ts.map +1 -0
  521. package/dist/types/core/time/check.d.ts +114 -0
  522. package/dist/types/core/time/check.d.ts.map +1 -0
  523. package/dist/types/core/time/checkRecord.d.ts +75 -0
  524. package/dist/types/core/time/checkRecord.d.ts.map +1 -0
  525. package/dist/types/core/time/clock.d.ts +184 -0
  526. package/dist/types/core/time/clock.d.ts.map +1 -0
  527. package/dist/types/core/time/convert.d.ts +179 -0
  528. package/dist/types/core/time/convert.d.ts.map +1 -0
  529. package/dist/types/core/time/drift.d.ts +86 -0
  530. package/dist/types/core/time/drift.d.ts.map +1 -0
  531. package/dist/types/core/time/duration.d.ts +72 -0
  532. package/dist/types/core/time/duration.d.ts.map +1 -0
  533. package/dist/types/core/time/forms.d.ts +85 -0
  534. package/dist/types/core/time/forms.d.ts.map +1 -0
  535. package/dist/types/core/time/instant.d.ts +76 -0
  536. package/dist/types/core/time/instant.d.ts.map +1 -0
  537. package/dist/types/core/time/periodForm.d.ts +185 -0
  538. package/dist/types/core/time/periodForm.d.ts.map +1 -0
  539. package/dist/types/core/time/present.d.ts +108 -0
  540. package/dist/types/core/time/present.d.ts.map +1 -0
  541. package/dist/types/core/time/range.d.ts +128 -0
  542. package/dist/types/core/time/range.d.ts.map +1 -0
  543. package/dist/types/core/time/reader.d.ts +163 -0
  544. package/dist/types/core/time/reader.d.ts.map +1 -0
  545. package/dist/types/core/time/readers/english.d.ts +100 -0
  546. package/dist/types/core/time/readers/english.d.ts.map +1 -0
  547. package/dist/types/core/time/readingAsk.d.ts +46 -0
  548. package/dist/types/core/time/readingAsk.d.ts.map +1 -0
  549. package/dist/types/core/time/resolve.d.ts +104 -0
  550. package/dist/types/core/time/resolve.d.ts.map +1 -0
  551. package/dist/types/core/time/resolveRecord.d.ts +161 -0
  552. package/dist/types/core/time/resolveRecord.d.ts.map +1 -0
  553. package/dist/types/core/time/rows.d.ts +298 -0
  554. package/dist/types/core/time/rows.d.ts.map +1 -0
  555. package/dist/types/core/time/rowsBuild.d.ts +83 -0
  556. package/dist/types/core/time/rowsBuild.d.ts.map +1 -0
  557. package/dist/types/core/time/textForms.d.ts +54 -0
  558. package/dist/types/core/time/textForms.d.ts.map +1 -0
  559. package/dist/types/core/time/windows.d.ts +114 -0
  560. package/dist/types/core/time/windows.d.ts.map +1 -0
  561. package/dist/types/core/time/wire.d.ts +64 -0
  562. package/dist/types/core/time/wire.d.ts.map +1 -0
  563. package/dist/types/core/time/zone.d.ts +116 -0
  564. package/dist/types/core/time/zone.d.ts.map +1 -0
  565. package/dist/types/core/tools.d.ts +26 -4
  566. package/dist/types/core/tools.d.ts.map +1 -1
  567. package/dist/types/events/payloads.d.ts +16 -2
  568. package/dist/types/events/payloads.d.ts.map +1 -1
  569. package/dist/types/index.d.ts +13 -1
  570. package/dist/types/index.d.ts.map +1 -1
  571. package/dist/types/lib/answer-account/facts/howSure.d.ts.map +1 -1
  572. package/dist/types/lib/answer-account/templates.d.ts +3 -0
  573. package/dist/types/lib/answer-account/templates.d.ts.map +1 -1
  574. package/dist/types/lib/mcp/elicitation.d.ts +85 -0
  575. package/dist/types/lib/mcp/elicitation.d.ts.map +1 -0
  576. package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
  577. package/dist/types/lib/mcp/mockMcpClient.d.ts +9 -1
  578. package/dist/types/lib/mcp/mockMcpClient.d.ts.map +1 -1
  579. package/dist/types/lib/mcp/toolExtras.d.ts +21 -2
  580. package/dist/types/lib/mcp/toolExtras.d.ts.map +1 -1
  581. package/dist/types/lib/mcp/types.d.ts +8 -0
  582. package/dist/types/lib/mcp/types.d.ts.map +1 -1
  583. package/dist/types/lib/time-travel/receipt.d.ts +1 -1
  584. package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
  585. package/dist/types/lib/time-travel/servedView.d.ts +1 -1
  586. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  587. package/dist/types/locales/index.d.ts +6 -0
  588. package/dist/types/locales/index.d.ts.map +1 -1
  589. package/dist/types/locales/timeAsk.d.ts +30 -0
  590. package/dist/types/locales/timeAsk.d.ts.map +1 -0
  591. package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -1
  592. package/dist/types/resilience/statedWait.d.ts +23 -0
  593. package/dist/types/resilience/statedWait.d.ts.map +1 -0
  594. package/dist/types/resilience/withRetry.d.ts +13 -2
  595. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  596. package/package.json +1 -1
  597. package/dist/artifacts/timeAxis.js +0 -218
  598. package/dist/artifacts/timeAxis.js.map +0 -1
  599. package/dist/esm/artifacts/timeAxis.d.ts +0 -114
  600. package/dist/esm/artifacts/timeAxis.js +0 -212
  601. package/dist/esm/artifacts/timeAxis.js.map +0 -1
  602. package/dist/types/artifacts/timeAxis.d.ts +0 -115
  603. package/dist/types/artifacts/timeAxis.d.ts.map +0 -1
@@ -34,12 +34,24 @@
34
34
  *
35
35
  * Which argument bounds the period the answer covers, and how its values are
36
36
  * SPELLED: `lookback` (`30m`, `24h`, `7d`, `2w`), `signed-lookback` (`-24h`),
37
- * or `iso-range` (two ISO 8601 instants joined by `..`). Declared formats, never
38
- * phrases: the library checks a value parses under its spelling and never turns
39
- * one into a duration. A period on an argument with no rule is refused
40
- * (adopted Q13): a period argument is exactly what a rule is for.
37
+ * `iso-range` (two ISO 8601 instants joined by `..`) or `wall-range` (two wall
38
+ * times joined by `..`, with the zone in `zoneArgument`). Declared formats,
39
+ * never phrases. A period on an argument with no rule is refused (adopted
40
+ * Q13): a period argument is exactly what a rule is for.
41
+ *
42
+ * Since the time layer's step T5a the single-argument form is SUGAR over
43
+ * `forms` (`core/time/convert.ts` · `sugarForms`): a tool declares every shape
44
+ * its period takes — two arguments (`bounds`), one joined string, an object, a
45
+ * `day`, a look-back with its `units` — and the facts about its source
46
+ * (`direction`, `retention`, `maxRange`, `granularity`, `filtersToAsked`).
47
+ * Under `.time()` the library fills a period the model left out from the
48
+ * turn's one window, binds a sent one to the person's window, and hands the
49
+ * tool `ctx.time` (`core/time/bind.ts`). Without `.time()` a period is judged
50
+ * and read exactly as before.
41
51
  */
42
52
  import { type InputValue } from '../../inputRequest.js';
53
+ import { PERIOD_SPELLINGS, type PeriodDirection, type PeriodFacts, type PeriodForm, type PeriodSpelling } from '../../time/periodForm.js';
54
+ import { type DurationText } from '../../time/duration.js';
43
55
  /**
44
56
  * One allowed answer to an `ask` rule: a bare value, or a value with phrases
45
57
  * the author vouches for as meaning it (`{ value: '7d', said: ['last week'] }`).
@@ -65,25 +77,51 @@ export type ArgumentRule = {
65
77
  };
66
78
  /** Per argument name, its rule. Arguments with no rule run free. */
67
79
  export type AskOrAssume = Readonly<Record<string, ArgumentRule>>;
68
- /** The declared formats a period argument's values may be spelled in. */
69
- export type PeriodSpelling = 'lookback' | 'signed-lookback' | 'iso-range';
80
+ export type { PeriodSpelling, PeriodForm, PeriodFacts } from '../../time/periodForm.js';
81
+ export { PERIOD_SPELLINGS };
70
82
  /**
71
- * Which argument sets the period a tool's answer covers, and how its values
72
- * are spelled. The one period shape's TOOL half; the result half
73
- * (`DeclaredPeriod`: what a read queried and what the store holds) belongs to
74
- * the result doors.
83
+ * Which arguments set the period a tool's answer covers, how their values are
84
+ * spelled, and the facts about the source. The one period shape's TOOL half;
85
+ * the result half (`DeclaredPeriod`: what a read queried and what the store
86
+ * holds) belongs to the result doors.
87
+ *
88
+ * Two ways to name the shape, never both: today's single argument
89
+ * (`argument` + `spelling`, or `accepts` for several spellings, and
90
+ * `zoneArgument` beside a `wall-range`), which is sugar over the general
91
+ * `forms` — every shape the tool accepts, in preference order.
75
92
  *
76
93
  * @example
77
94
  * ```ts
78
95
  * period: { argument: 'window', spelling: 'lookback' } // '2h', '24h', '7d'
96
+ * period: {
97
+ * forms: [{ kind: 'bounds',
98
+ * from: { argument: 'start_time', as: 'epoch-ms' },
99
+ * to: { argument: 'end_time', as: 'epoch-ms', edge: 'exclusive' } }],
100
+ * direction: 'past', retention: '30d',
101
+ * }
79
102
  * ```
80
103
  */
81
104
  export interface ToolPeriod {
82
- readonly argument: string;
105
+ readonly argument?: string;
83
106
  readonly spelling?: PeriodSpelling;
107
+ /** Every single-argument spelling the argument takes, in preference order. */
108
+ readonly accepts?: readonly PeriodSpelling[];
109
+ /** The argument that carries the zone of a `wall-range`. */
110
+ readonly zoneArgument?: string;
111
+ readonly forms?: readonly PeriodForm[];
112
+ /** A `wall` / `date` / `day` form with no zone argument reads in the app's `.time({ zone })` — explicit, never implied. */
113
+ readonly wallZone?: 'app';
114
+ /** Which side of now the source can hold; absent: not checked. */
115
+ readonly direction?: PeriodDirection;
116
+ /** The oldest data the source keeps (`30d`). */
117
+ readonly retention?: DurationText;
118
+ /** The widest window the tool accepts at once (`24h`). */
119
+ readonly maxRange?: DurationText;
120
+ /** The source's smallest step (`1m`). */
121
+ readonly granularity?: DurationText;
122
+ /** The tool reads `ctx.time.asked` and drops rows outside it. */
123
+ readonly filtersToAsked?: boolean;
84
124
  }
85
- /** The spellings, in the order the docs list them. */
86
- export declare const PERIOD_SPELLINGS: readonly PeriodSpelling[];
87
125
  /** The JSON Schema types a ruled argument may have — flat primitives only (v1). */
88
126
  export declare const RULED_TYPES: readonly string[];
89
127
  /** An `ask` question's bound — the typed ask's own (`core/inputRequest.ts`). */
@@ -122,8 +160,10 @@ export declare function sameArgumentValue(a: unknown, b: unknown): boolean;
122
160
  * Whether `value` is spelled the way `spelling` declares. `lookback` is a
123
161
  * positive integer and a unit (`m`, `h`, `d`, `w`); `signed-lookback` the
124
162
  * same with a leading minus; `iso-range` two ISO 8601 instants WITH a zone,
125
- * joined by `..`. A format check, never a conversion: nothing is ever turned
126
- * into a duration, and no instant is compared with "now".
163
+ * joined by `..`, each a day that exists (`2026-02-30` and hour `24` are
164
+ * refused — `Date.parse` used to roll them forward). A format check, never a
165
+ * conversion: nothing is ever turned into a duration, and no instant is
166
+ * compared with "now".
127
167
  */
128
168
  export declare function parsesUnderSpelling(value: unknown, spelling: PeriodSpelling): boolean;
129
169
  /**
@@ -138,6 +178,8 @@ export declare function parsesUnderSpelling(value: unknown, spelling: PeriodSpel
138
178
  export declare function convertSpelling(value: InputValue, from: PeriodSpelling, to: PeriodSpelling): InputValue | undefined;
139
179
  declare class DeclarationRefused extends Error {
140
180
  }
181
+ /** Forms per period — a tool spells its period in a handful of shapes, never dozens. */
182
+ export declare const MAX_PERIOD_FORMS = 8;
141
183
  /**
142
184
  * Judge a tool's `askOrAssume` and `period`, at definition — and again at
143
185
  * dispatch (`rulesOf`) and at MCP ingest, by this same function. Throws an
@@ -199,6 +241,25 @@ export interface ToolRules {
199
241
  readonly ruled: readonly RuledArgument[];
200
242
  readonly period?: ToolPeriod;
201
243
  }
244
+ /**
245
+ * Every form a tool's period takes, the sugar read (`core/time/convert.ts` ·
246
+ * `sugarForms`) — empty when it declares none, or names an argument and no
247
+ * spelling.
248
+ */
249
+ export declare function periodFormsOf(period: ToolPeriod | undefined): readonly PeriodForm[];
250
+ /**
251
+ * Every argument a period names — the single argument, or each form's bound,
252
+ * object and zone arguments. What a row's `period: true` marks.
253
+ */
254
+ export declare function periodArgumentsOf(period: ToolPeriod | undefined): ReadonlySet<string>;
255
+ /**
256
+ * The ONE argument a period is known by — the single `argument`, else the
257
+ * first form's first bound. The results layer's join key (a `period` row names
258
+ * it, and joins the call's `argument` row by it).
259
+ */
260
+ export declare function periodArgumentOf(period: ToolPeriod | undefined): string | undefined;
261
+ /** The facts a period declares about its source, only those it declares. */
262
+ export declare function periodFactsOf(period: ToolPeriod | undefined): PeriodFacts;
202
263
  /** Why a tool's rules could not be read — the assert's own sentence. */
203
264
  export interface RulesRefused {
204
265
  readonly refused: string;
@@ -34,21 +34,29 @@
34
34
  *
35
35
  * Which argument bounds the period the answer covers, and how its values are
36
36
  * SPELLED: `lookback` (`30m`, `24h`, `7d`, `2w`), `signed-lookback` (`-24h`),
37
- * or `iso-range` (two ISO 8601 instants joined by `..`). Declared formats, never
38
- * phrases: the library checks a value parses under its spelling and never turns
39
- * one into a duration. A period on an argument with no rule is refused
40
- * (adopted Q13): a period argument is exactly what a rule is for.
37
+ * `iso-range` (two ISO 8601 instants joined by `..`) or `wall-range` (two wall
38
+ * times joined by `..`, with the zone in `zoneArgument`). Declared formats,
39
+ * never phrases. A period on an argument with no rule is refused (adopted
40
+ * Q13): a period argument is exactly what a rule is for.
41
+ *
42
+ * Since the time layer's step T5a the single-argument form is SUGAR over
43
+ * `forms` (`core/time/convert.ts` · `sugarForms`): a tool declares every shape
44
+ * its period takes — two arguments (`bounds`), one joined string, an object, a
45
+ * `day`, a look-back with its `units` — and the facts about its source
46
+ * (`direction`, `retention`, `maxRange`, `granularity`, `filtersToAsked`).
47
+ * Under `.time()` the library fills a period the model left out from the
48
+ * turn's one window, binds a sent one to the person's window, and hands the
49
+ * tool `ctx.time` (`core/time/bind.ts`). Without `.time()` a period is judged
50
+ * and read exactly as before.
41
51
  */
42
52
  import { isDevMode } from 'footprintjs';
43
53
  import { isInputFieldValue } from '../../inputRequest.js';
54
+ import { FACT_UNITS, formArguments, formIssue, needsZone, parsesUnderForm, PERIOD_SPELLINGS, primaryArgument, sugarForms, } from '../../time/periodForm.js';
55
+ import { isDuration, LOOKBACK_UNITS } from '../../time/duration.js';
56
+ import { splitRange } from '../../time/range.js';
44
57
  import { canonicalForm, tokenize } from '../evidence/normalize.js';
45
58
  import { validatePropertyValue } from '../toolArgsValidation.js';
46
- /** The spellings, in the order the docs list them. */
47
- export const PERIOD_SPELLINGS = Object.freeze([
48
- 'lookback',
49
- 'signed-lookback',
50
- 'iso-range',
51
- ]);
59
+ export { PERIOD_SPELLINGS };
52
60
  // ─── The bounds ─────────────────────────────────────────────────────────
53
61
  /** The JSON Schema types a ruled argument may have — flat primitives only (v1). */
54
62
  export const RULED_TYPES = Object.freeze([
@@ -116,29 +124,32 @@ export function sameArgumentValue(a, b) {
116
124
  return left.every((token, i) => token === right[i]);
117
125
  }
118
126
  // ─── Spellings ──────────────────────────────────────────────────────────
119
- const LOOKBACK = /^[1-9][0-9]*[mhdw]$/;
120
- const SIGNED_LOOKBACK = /^-[1-9][0-9]*[mhdw]$/;
121
- const ISO_INSTANT = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2})$/;
127
+ // The grammars live in the time layer (`src/core/time/`): a look-back is
128
+ // `duration.ts` under today's units (`LOOKBACK_UNITS`, `mhdw` — no `s`, no
129
+ // digit cap), and an `iso-range` is `range.ts` · `splitRange` under `..` in
130
+ // the STRICT instant profile (upper-case `T`/`Z`, no leap second, the day
131
+ // checked against its month, no hour 24).
122
132
  /**
123
133
  * Whether `value` is spelled the way `spelling` declares. `lookback` is a
124
134
  * positive integer and a unit (`m`, `h`, `d`, `w`); `signed-lookback` the
125
135
  * same with a leading minus; `iso-range` two ISO 8601 instants WITH a zone,
126
- * joined by `..`. A format check, never a conversion: nothing is ever turned
127
- * into a duration, and no instant is compared with "now".
136
+ * joined by `..`, each a day that exists (`2026-02-30` and hour `24` are
137
+ * refused — `Date.parse` used to roll them forward). A format check, never a
138
+ * conversion: nothing is ever turned into a duration, and no instant is
139
+ * compared with "now".
128
140
  */
129
141
  export function parsesUnderSpelling(value, spelling) {
130
142
  if (typeof value !== 'string')
131
143
  return false;
132
144
  switch (spelling) {
133
145
  case 'lookback':
134
- return LOOKBACK.test(value);
146
+ return isDuration(value, LOOKBACK_UNITS);
135
147
  case 'signed-lookback':
136
- return SIGNED_LOOKBACK.test(value);
137
- case 'iso-range': {
138
- const halves = value.split('..');
139
- return (halves.length === 2 &&
140
- halves.every((h) => ISO_INSTANT.test(h) && !Number.isNaN(Date.parse(h))));
141
- }
148
+ return value.startsWith('-') && isDuration(value.slice(1), LOOKBACK_UNITS);
149
+ case 'iso-range':
150
+ return splitRange(value, '..', 'strict') !== undefined;
151
+ case 'wall-range':
152
+ return parsesUnderForm(value, { kind: 'joined', argument: '_', as: 'wall', joiner: '..' }, '_');
142
153
  }
143
154
  }
144
155
  /**
@@ -314,37 +325,185 @@ function declaredValues(rule) {
314
325
  const choices = Array.isArray(rule.choices) ? rule.choices : [];
315
326
  return choices.map((entry) => (isPlainObject(entry) ? entry.value : entry));
316
327
  }
317
- function assertPeriod(toolName, period, rules) {
318
- if (!isPlainObject(period)) {
319
- refuse(toolName, 'period', 'must be { argument, spelling? }.');
328
+ const SUGAR_KEYS = ['argument', 'spelling', 'accepts', 'zoneArgument'];
329
+ const FACT_KEYS = ['direction', 'retention', 'maxRange', 'granularity', 'filtersToAsked'];
330
+ const PERIOD_KEYS = [...SUGAR_KEYS, 'forms', 'wallZone', ...FACT_KEYS];
331
+ /** Forms per period — a tool spells its period in a handful of shapes, never dozens. */
332
+ export const MAX_PERIOD_FORMS = 8;
333
+ const has = (o, key) => Object.prototype.hasOwnProperty.call(o, key) && o[key] !== undefined;
334
+ /** The rule an argument carries, or a refusal naming the period field that needs it. */
335
+ function periodRule(toolName, where, argument, rules) {
336
+ const rule = rules !== undefined && Object.prototype.hasOwnProperty.call(rules, argument)
337
+ ? rules[argument]
338
+ : undefined;
339
+ if (!isPlainObject(rule)) {
340
+ refuse(toolName, where, `'${argument}' carries no askOrAssume rule. A period argument is exactly what a rule ` +
341
+ `is for — declare askOrAssume.${argument} (assume a default, or ask), or drop the period.`);
320
342
  }
321
- for (const key of Object.keys(period)) {
322
- if (key !== 'argument' && key !== 'spelling') {
323
- refuse(toolName, 'period', `unknown key '${key}' — a period reads \`argument\` and \`spelling\`.`);
324
- }
343
+ return rule;
344
+ }
345
+ /** The property schema a form's argument names, or a refusal. */
346
+ function formProperty(toolName, where, argument, inputSchema) {
347
+ const properties = isPlainObject(inputSchema?.properties)
348
+ ? inputSchema?.properties
349
+ : undefined;
350
+ const property = properties !== undefined && Object.prototype.hasOwnProperty.call(properties, argument)
351
+ ? properties[argument]
352
+ : undefined;
353
+ if (!isPlainObject(property)) {
354
+ refuse(toolName, where, `the tool's inputSchema declares no property '${argument}'.`);
325
355
  }
356
+ return property;
357
+ }
358
+ /** The single-argument half, judged: the argument, its spellings, the zone argument. */
359
+ function assertSugar(toolName, period, rules) {
326
360
  const argument = period.argument;
327
361
  if (typeof argument !== 'string' || argument.trim() === '') {
328
362
  refuse(toolName, 'period.argument', 'must name the argument that sets the period.');
329
363
  }
330
- const rule = rules !== undefined && Object.prototype.hasOwnProperty.call(rules, argument)
331
- ? rules[argument]
332
- : undefined;
333
- if (!isPlainObject(rule)) {
334
- refuse(toolName, 'period.argument', `'${argument}' carries no askOrAssume rule. A period argument is exactly what a rule ` +
335
- `is for — declare askOrAssume.${argument} (assume a default, or ask), or drop the period.`);
364
+ const rule = periodRule(toolName, 'period.argument', argument, rules);
365
+ if (has(period, 'spelling') && has(period, 'accepts')) {
366
+ refuse(toolName, 'period', 'declares both `spelling` and `accepts` — `accepts` lists every spelling.');
336
367
  }
337
- const spelling = period.spelling;
338
- if (spelling === undefined)
339
- return;
340
- if (typeof spelling !== 'string' || !PERIOD_SPELLINGS.includes(spelling)) {
341
- refuse(toolName, 'period.spelling', `${describeValue(spelling)} is not one of ${PERIOD_SPELLINGS.join(', ')}.`);
368
+ const spellings = has(period, 'accepts')
369
+ ? Array.isArray(period.accepts)
370
+ ? period.accepts
371
+ : [period.accepts]
372
+ : has(period, 'spelling')
373
+ ? [period.spelling]
374
+ : [];
375
+ const where = has(period, 'accepts') ? 'period.accepts' : 'period.spelling';
376
+ if (has(period, 'accepts') && (!Array.isArray(period.accepts) || period.accepts.length === 0)) {
377
+ refuse(toolName, 'period.accepts', 'must be a non-empty array of spellings.');
342
378
  }
379
+ const seen = new Set();
380
+ for (const spelling of spellings) {
381
+ if (typeof spelling !== 'string' ||
382
+ !PERIOD_SPELLINGS.includes(spelling)) {
383
+ refuse(toolName, where, `${describeValue(spelling)} is not one of ${PERIOD_SPELLINGS.join(', ')}.`);
384
+ }
385
+ if (seen.has(spelling))
386
+ refuse(toolName, where, `repeats the spelling '${spelling}'.`);
387
+ seen.add(spelling);
388
+ }
389
+ const wall = seen.has('wall-range');
390
+ if (has(period, 'zoneArgument')) {
391
+ const zone = period.zoneArgument;
392
+ if (!wall) {
393
+ refuse(toolName, 'period.zoneArgument', "goes with 'wall-range' only — no other spelling reads a zone.");
394
+ }
395
+ if (typeof zone !== 'string' || zone.trim() === '' || zone === argument) {
396
+ refuse(toolName, 'period.zoneArgument', 'must name another argument, the one that carries the zone.');
397
+ }
398
+ periodRule(toolName, 'period.zoneArgument', zone, rules);
399
+ }
400
+ else if (wall && period.wallZone !== 'app') {
401
+ refuse(toolName, 'period.accepts', "'wall-range' reads wall times, which need a zone — name the argument that carries it " +
402
+ "(`zoneArgument`), or declare `wallZone: 'app'` to read them in the app's .time() zone.");
403
+ }
404
+ // Every declared value (the default, each choice) must be spelled one of the declared ways.
405
+ if (spellings.length === 0)
406
+ return;
343
407
  for (const value of declaredValues(rule)) {
344
- if (!parsesUnderSpelling(value, spelling)) {
345
- refuse(toolName, 'period.spelling', `the declared value ${describeValue(value)} is not spelled '${spelling}'.`);
408
+ const fits = spellings.some((s) => parsesUnderSpelling(value, s));
409
+ if (!fits) {
410
+ refuse(toolName, where, `the declared value ${describeValue(value)} is not spelled '${spellings.join("' or '")}'.`);
411
+ }
412
+ }
413
+ }
414
+ /** The general half, judged: each form's shape, its arguments against the schema and the rules. */
415
+ function assertForms(toolName, period, rules, inputSchema) {
416
+ const forms = period.forms;
417
+ if (!Array.isArray(forms) || forms.length === 0 || forms.length > MAX_PERIOD_FORMS) {
418
+ refuse(toolName, 'period.forms', `must be a non-empty array of at most ${MAX_PERIOD_FORMS} forms.`);
419
+ }
420
+ forms.forEach((form, i) => {
421
+ const where = `period.forms[${i}]`;
422
+ const issue = formIssue(form);
423
+ if (issue !== undefined)
424
+ refuse(toolName, where, issue);
425
+ const f = form;
426
+ if (needsZone(f) && !('zone' in f && f.zone !== undefined) && period.wallZone !== 'app') {
427
+ refuse(toolName, where, "reads wall-clock values (a 'wall' or 'date' bound, or a 'day'), which need a zone — " +
428
+ "name the argument that carries it (`zone: { argument }`), or declare `wallZone: 'app'` " +
429
+ "to read them in the app's .time() zone.");
430
+ }
431
+ for (const named of formArguments(f)) {
432
+ const property = formProperty(toolName, where, named.argument, inputSchema);
433
+ if (named.role === 'object') {
434
+ assertObjectProperty(toolName, where, f, property);
435
+ continue;
436
+ }
437
+ const type = property.type;
438
+ const fits = named.type === 'number' ? type === 'number' || type === 'integer' : type === 'string';
439
+ if (!fits) {
440
+ refuse(toolName, where, `'${named.argument}' is ${describeValue(type)} in the schema; ${named.type === 'number'
441
+ ? "an epoch bound ('epoch-ms', 'epoch-s') is a number or an integer"
442
+ : 'this bound is a string'}.`);
443
+ }
444
+ const rule = periodRule(toolName, where, named.argument, rules);
445
+ for (const value of declaredValues(rule)) {
446
+ if (!parsesUnderForm(value, f, named.argument)) {
447
+ refuse(toolName, where, `the declared value ${describeValue(value)} of '${named.argument}' is not spelled the way this form reads it.`);
448
+ }
449
+ }
450
+ }
451
+ });
452
+ }
453
+ /**
454
+ * An `object` form's argument: an object property holding both keys, each the
455
+ * type its `as` needs. It carries no rule — a ruled argument is a flat value in
456
+ * this version — so a value the model leaves out is filled only from the
457
+ * person's window, never assumed or asked.
458
+ */
459
+ function assertObjectProperty(toolName, where, form, property) {
460
+ if (form.kind !== 'object')
461
+ return;
462
+ const inner = isPlainObject(property.properties) ? property.properties : {};
463
+ const want = form.as === 'epoch-ms' || form.as === 'epoch-s' ? ['number', 'integer'] : ['string'];
464
+ for (const key of [form.keys.from, form.keys.to]) {
465
+ const p = inner[key];
466
+ if (property.type !== 'object' || !isPlainObject(p) || !want.includes(p.type)) {
467
+ refuse(toolName, where, `'${form.argument}' must be an object property whose '${key}' is a ${want.join(' or ')}.`);
468
+ }
469
+ }
470
+ }
471
+ /** The facts about the source, judged: every duration in `smhdw`, `direction` one of three. */
472
+ function assertFacts(toolName, period) {
473
+ if (has(period, 'direction') && !['past', 'future', 'any'].includes(period.direction)) {
474
+ refuse(toolName, 'period.direction', "must be 'past', 'future' or 'any'.");
475
+ }
476
+ for (const key of ['retention', 'maxRange', 'granularity']) {
477
+ if (has(period, key) && !isDuration(period[key], FACT_UNITS)) {
478
+ refuse(toolName, `period.${key}`, `${describeValue(period[key])} is not a duration — a positive whole number and one of s, m, h, d, w (\`30d\`).`);
479
+ }
480
+ }
481
+ if (has(period, 'filtersToAsked') && typeof period.filtersToAsked !== 'boolean') {
482
+ refuse(toolName, 'period.filtersToAsked', 'must be true or false.');
483
+ }
484
+ if (has(period, 'wallZone') && period.wallZone !== 'app') {
485
+ refuse(toolName, 'period.wallZone', "must be 'app' — the one zone a tool may name without an argument.");
486
+ }
487
+ }
488
+ function assertPeriod(toolName, period, rules, inputSchema) {
489
+ if (!isPlainObject(period)) {
490
+ refuse(toolName, 'period', 'must be { argument, spelling? } or { forms }.');
491
+ }
492
+ for (const key of Object.keys(period)) {
493
+ if (!PERIOD_KEYS.includes(key)) {
494
+ refuse(toolName, 'period', `unknown key '${key}' — a period reads ${PERIOD_KEYS.map((k) => `\`${k}\``).join(', ')}.`);
346
495
  }
347
496
  }
497
+ const sugar = SUGAR_KEYS.some((k) => has(period, k));
498
+ if (sugar && has(period, 'forms')) {
499
+ refuse(toolName, 'period', 'declares both the single-argument form (`argument`, `spelling`, `accepts`, `zoneArgument`) ' +
500
+ 'and `forms` — the first is shorthand for the second; declare one.');
501
+ }
502
+ if (has(period, 'forms'))
503
+ assertForms(toolName, period, rules, inputSchema);
504
+ else
505
+ assertSugar(toolName, period, rules);
506
+ assertFacts(toolName, period);
348
507
  }
349
508
  /**
350
509
  * Judge a tool's `askOrAssume` and `period`, at definition — and again at
@@ -390,7 +549,7 @@ export function assertAskOrAssume(toolName, askOrAssume, period, inputSchema, wa
390
549
  }
391
550
  }
392
551
  if (period !== undefined)
393
- assertPeriod(toolName, period, rules);
552
+ assertPeriod(toolName, period, rules, inputSchema);
394
553
  warnDefaultProse(toolName, forms, inputSchema);
395
554
  }
396
555
  // ─── The warning ────────────────────────────────────────────────────────
@@ -423,6 +582,57 @@ function warnDefaultProse(toolName, forms, inputSchema) {
423
582
  `so two copies of one default can drift — delete the default from the description.`);
424
583
  }
425
584
  }
585
+ /**
586
+ * Every form a tool's period takes, the sugar read (`core/time/convert.ts` ·
587
+ * `sugarForms`) — empty when it declares none, or names an argument and no
588
+ * spelling.
589
+ */
590
+ export function periodFormsOf(period) {
591
+ return period === undefined ? [] : sugarForms(period);
592
+ }
593
+ /**
594
+ * Every argument a period names — the single argument, or each form's bound,
595
+ * object and zone arguments. What a row's `period: true` marks.
596
+ */
597
+ export function periodArgumentsOf(period) {
598
+ if (period === undefined)
599
+ return new Set();
600
+ const names = new Set();
601
+ if (period.argument !== undefined)
602
+ names.add(period.argument);
603
+ if (period.zoneArgument !== undefined)
604
+ names.add(period.zoneArgument);
605
+ for (const form of period.forms ?? []) {
606
+ for (const a of formArguments(form))
607
+ names.add(a.argument);
608
+ }
609
+ return names;
610
+ }
611
+ /**
612
+ * The ONE argument a period is known by — the single `argument`, else the
613
+ * first form's first bound. The results layer's join key (a `period` row names
614
+ * it, and joins the call's `argument` row by it).
615
+ */
616
+ export function periodArgumentOf(period) {
617
+ if (period === undefined)
618
+ return undefined;
619
+ if (period.argument !== undefined)
620
+ return period.argument;
621
+ const first = period.forms?.[0];
622
+ return first === undefined ? undefined : primaryArgument(first);
623
+ }
624
+ /** The facts a period declares about its source, only those it declares. */
625
+ export function periodFactsOf(period) {
626
+ if (period === undefined)
627
+ return {};
628
+ return {
629
+ ...(period.direction !== undefined && { direction: period.direction }),
630
+ ...(period.retention !== undefined && { retention: period.retention }),
631
+ ...(period.maxRange !== undefined && { maxRange: period.maxRange }),
632
+ ...(period.granularity !== undefined && { granularity: period.granularity }),
633
+ ...(period.filtersToAsked !== undefined && { filtersToAsked: period.filtersToAsked }),
634
+ };
635
+ }
426
636
  /** Per tool object, its verdict — a tool is judged once per process, not per call. */
427
637
  const verdicts = new WeakMap();
428
638
  /**
@@ -498,13 +708,14 @@ function propertyTypeOf(inputSchema, argument) {
498
708
  return type === 'number' || type === 'integer' || type === 'boolean' ? type : 'string';
499
709
  }
500
710
  function readRules(askOrAssume, period, inputSchema) {
711
+ const named = periodArgumentsOf(period);
501
712
  const ruled = Object.entries(askOrAssume ?? {}).map(([argument, rule]) => ({
502
713
  argument,
503
714
  rule: 'ask' in rule ? 'ask' : 'assume',
504
715
  ...('assume' in rule && { assume: rule.assume }),
505
716
  ...('ask' in rule && { ask: readAsk(rule) }),
506
717
  type: propertyTypeOf(inputSchema, argument),
507
- ...(period?.argument === argument && { period: true }),
718
+ ...(named.has(argument) && { period: true }),
508
719
  }));
509
720
  return { ruled, ...(period !== undefined && { period }) };
510
721
  }
@@ -1 +1 @@
1
- {"version":3,"file":"declare.js","sourceRoot":"","sources":["../../../../../src/core/agent/arguments/declare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declare.js","sourceRoot":"","sources":["../../../../../src/core/agent/arguments/declare.ts"],"names":[],"mappings":"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"}