agentfootprint 12.2.0 → 13.0.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 (405) hide show
  1. package/CAPABILITIES.md +1 -0
  2. package/dist/adapters/code/output.js +8 -29
  3. package/dist/adapters/code/output.js.map +1 -1
  4. package/dist/adapters/observability/audit.js +151 -159
  5. package/dist/adapters/observability/audit.js.map +1 -1
  6. package/dist/adapters/observability/auditBounding.js +411 -0
  7. package/dist/adapters/observability/auditBounding.js.map +1 -0
  8. package/dist/adapters/observability/auditKeptByContract.js +107 -0
  9. package/dist/adapters/observability/auditKeptByContract.js.map +1 -0
  10. package/dist/adapters/observability/auditShapes.js +1731 -0
  11. package/dist/adapters/observability/auditShapes.js.map +1 -0
  12. package/dist/answer-account/account.js +92 -15
  13. package/dist/answer-account/account.js.map +1 -1
  14. package/dist/answer-account/facts/calls.js +7 -9
  15. package/dist/answer-account/facts/calls.js.map +1 -1
  16. package/dist/answer-account/facts/checked.js +2 -2
  17. package/dist/answer-account/facts/checked.js.map +1 -1
  18. package/dist/answer-account/facts/common.js +40 -7
  19. package/dist/answer-account/facts/common.js.map +1 -1
  20. package/dist/answer-account/facts/found.js +1 -1
  21. package/dist/answer-account/facts/found.js.map +1 -1
  22. package/dist/answer-account/facts/howSure.js +21 -3
  23. package/dist/answer-account/facts/howSure.js.map +1 -1
  24. package/dist/answer-account/facts/inView.js +3 -4
  25. package/dist/answer-account/facts/inView.js.map +1 -1
  26. package/dist/answer-account/facts/pausedLeg.js +1 -1
  27. package/dist/answer-account/facts/pausedLeg.js.map +1 -1
  28. package/dist/answer-account/facts/scripts.js +222 -0
  29. package/dist/answer-account/facts/scripts.js.map +1 -0
  30. package/dist/answer-account/facts/understood.js +5 -5
  31. package/dist/answer-account/facts/understood.js.map +1 -1
  32. package/dist/answer-account/pointerKey.js +1 -1
  33. package/dist/answer-account/shown.js +25 -7
  34. package/dist/answer-account/shown.js.map +1 -1
  35. package/dist/answer-account/signals.js +1 -1
  36. package/dist/answer-account/signals.js.map +1 -1
  37. package/dist/answer-account/size.js +152 -0
  38. package/dist/answer-account/size.js.map +1 -0
  39. package/dist/answer-account/templates.js +39 -1
  40. package/dist/answer-account/templates.js.map +1 -1
  41. package/dist/core/Agent.js +25 -1
  42. package/dist/core/Agent.js.map +1 -1
  43. package/dist/core/agent/AgentBuilder.js +85 -1
  44. package/dist/core/agent/AgentBuilder.js.map +1 -1
  45. package/dist/core/agent/arguments/ask.js +85 -2
  46. package/dist/core/agent/arguments/ask.js.map +1 -1
  47. package/dist/core/agent/arguments/partialWindow.js +120 -0
  48. package/dist/core/agent/arguments/partialWindow.js.map +1 -0
  49. package/dist/core/agent/assessment/assess.js +37 -0
  50. package/dist/core/agent/assessment/assess.js.map +1 -1
  51. package/dist/core/agent/assessment/compose.js +5 -1
  52. package/dist/core/agent/assessment/compose.js.map +1 -1
  53. package/dist/core/agent/assessment/reasons.js +7 -0
  54. package/dist/core/agent/assessment/reasons.js.map +1 -1
  55. package/dist/core/agent/assessment/witness.js +37 -4
  56. package/dist/core/agent/assessment/witness.js.map +1 -1
  57. package/dist/core/agent/buildAgentChart.js.map +1 -1
  58. package/dist/core/agent/evidence/codeRegions.js +279 -0
  59. package/dist/core/agent/evidence/codeRegions.js.map +1 -0
  60. package/dist/core/agent/evidence/gate.js +13 -2
  61. package/dist/core/agent/evidence/gate.js.map +1 -1
  62. package/dist/core/agent/evidence/recovery.js +11 -2
  63. package/dist/core/agent/evidence/recovery.js.map +1 -1
  64. package/dist/core/agent/findings/types.js.map +1 -1
  65. package/dist/core/agent/scripts/attachment.js +375 -0
  66. package/dist/core/agent/scripts/attachment.js.map +1 -0
  67. package/dist/core/agent/scripts/inert.js +88 -0
  68. package/dist/core/agent/scripts/inert.js.map +1 -0
  69. package/dist/core/agent/scripts/judge.js +41 -0
  70. package/dist/core/agent/scripts/judge.js.map +1 -0
  71. package/dist/core/agent/scripts/label.js +143 -0
  72. package/dist/core/agent/scripts/label.js.map +1 -0
  73. package/dist/core/agent/scripts/match.js +233 -0
  74. package/dist/core/agent/scripts/match.js.map +1 -0
  75. package/dist/core/agent/scripts/recovery.js +81 -0
  76. package/dist/core/agent/scripts/recovery.js.map +1 -0
  77. package/dist/core/agent/scripts/rows.js +221 -0
  78. package/dist/core/agent/scripts/rows.js.map +1 -0
  79. package/dist/core/agent/scripts/types.js +22 -0
  80. package/dist/core/agent/scripts/types.js.map +1 -0
  81. package/dist/core/agent/scripts/wrapper.js +63 -0
  82. package/dist/core/agent/scripts/wrapper.js.map +1 -0
  83. package/dist/core/agent/stages/argumentAsk.js +161 -19
  84. package/dist/core/agent/stages/argumentAsk.js.map +1 -1
  85. package/dist/core/agent/stages/evidenceRecheck.js +4 -1
  86. package/dist/core/agent/stages/evidenceRecheck.js.map +1 -1
  87. package/dist/core/agent/stages/prepareFinal.js +65 -10
  88. package/dist/core/agent/stages/prepareFinal.js.map +1 -1
  89. package/dist/core/agent/stages/route.js +53 -3
  90. package/dist/core/agent/stages/route.js.map +1 -1
  91. package/dist/core/agent/stages/seed.js +14 -1
  92. package/dist/core/agent/stages/seed.js.map +1 -1
  93. package/dist/core/agent/stages/toolCalls.js +339 -18
  94. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  95. package/dist/core/codeRunnerTool.js +32 -3
  96. package/dist/core/codeRunnerTool.js.map +1 -1
  97. package/dist/core/runCheckpoint.js +19 -6
  98. package/dist/core/runCheckpoint.js.map +1 -1
  99. package/dist/esm/adapters/code/output.d.ts +1 -4
  100. package/dist/esm/adapters/code/output.js +3 -24
  101. package/dist/esm/adapters/code/output.js.map +1 -1
  102. package/dist/esm/adapters/observability/audit.d.ts +79 -12
  103. package/dist/esm/adapters/observability/audit.js +132 -142
  104. package/dist/esm/adapters/observability/audit.js.map +1 -1
  105. package/dist/esm/adapters/observability/auditBounding.d.ts +215 -0
  106. package/dist/esm/adapters/observability/auditBounding.js +390 -0
  107. package/dist/esm/adapters/observability/auditBounding.js.map +1 -0
  108. package/dist/esm/adapters/observability/auditKeptByContract.d.ts +65 -0
  109. package/dist/esm/adapters/observability/auditKeptByContract.js +103 -0
  110. package/dist/esm/adapters/observability/auditKeptByContract.js.map +1 -0
  111. package/dist/esm/adapters/observability/auditShapes.d.ts +78 -0
  112. package/dist/esm/adapters/observability/auditShapes.js +1726 -0
  113. package/dist/esm/adapters/observability/auditShapes.js.map +1 -0
  114. package/dist/esm/answer-account/account.js +91 -14
  115. package/dist/esm/answer-account/account.js.map +1 -1
  116. package/dist/esm/answer-account/facts/calls.d.ts +0 -2
  117. package/dist/esm/answer-account/facts/calls.js +1 -3
  118. package/dist/esm/answer-account/facts/calls.js.map +1 -1
  119. package/dist/esm/answer-account/facts/checked.js +2 -2
  120. package/dist/esm/answer-account/facts/checked.js.map +1 -1
  121. package/dist/esm/answer-account/facts/common.d.ts +16 -4
  122. package/dist/esm/answer-account/facts/common.js +38 -6
  123. package/dist/esm/answer-account/facts/common.js.map +1 -1
  124. package/dist/esm/answer-account/facts/found.js +2 -2
  125. package/dist/esm/answer-account/facts/found.js.map +1 -1
  126. package/dist/esm/answer-account/facts/howSure.d.ts +1 -1
  127. package/dist/esm/answer-account/facts/howSure.js +22 -4
  128. package/dist/esm/answer-account/facts/howSure.js.map +1 -1
  129. package/dist/esm/answer-account/facts/inView.js +1 -2
  130. package/dist/esm/answer-account/facts/inView.js.map +1 -1
  131. package/dist/esm/answer-account/facts/pausedLeg.js +2 -2
  132. package/dist/esm/answer-account/facts/pausedLeg.js.map +1 -1
  133. package/dist/esm/answer-account/facts/scripts.d.ts +34 -0
  134. package/dist/esm/answer-account/facts/scripts.js +218 -0
  135. package/dist/esm/answer-account/facts/scripts.js.map +1 -0
  136. package/dist/esm/answer-account/facts/understood.js +2 -2
  137. package/dist/esm/answer-account/facts/understood.js.map +1 -1
  138. package/dist/esm/answer-account/pointerKey.d.ts +1 -1
  139. package/dist/esm/answer-account/pointerKey.js +1 -1
  140. package/dist/esm/answer-account/shown.d.ts +9 -2
  141. package/dist/esm/answer-account/shown.js +25 -7
  142. package/dist/esm/answer-account/shown.js.map +1 -1
  143. package/dist/esm/answer-account/signals.js +2 -2
  144. package/dist/esm/answer-account/signals.js.map +1 -1
  145. package/dist/esm/answer-account/size.d.ts +59 -0
  146. package/dist/esm/answer-account/size.js +147 -0
  147. package/dist/esm/answer-account/size.js.map +1 -0
  148. package/dist/esm/answer-account/templates.d.ts +29 -1
  149. package/dist/esm/answer-account/templates.js +39 -1
  150. package/dist/esm/answer-account/templates.js.map +1 -1
  151. package/dist/esm/core/Agent.d.ts +8 -1
  152. package/dist/esm/core/Agent.js +25 -1
  153. package/dist/esm/core/Agent.js.map +1 -1
  154. package/dist/esm/core/agent/AgentBuilder.d.ts +52 -0
  155. package/dist/esm/core/agent/AgentBuilder.js +85 -1
  156. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  157. package/dist/esm/core/agent/arguments/ask.d.ts +11 -0
  158. package/dist/esm/core/agent/arguments/ask.js +83 -1
  159. package/dist/esm/core/agent/arguments/ask.js.map +1 -1
  160. package/dist/esm/core/agent/arguments/partialWindow.d.ts +42 -0
  161. package/dist/esm/core/agent/arguments/partialWindow.js +111 -0
  162. package/dist/esm/core/agent/arguments/partialWindow.js.map +1 -0
  163. package/dist/esm/core/agent/assessment/assess.js +37 -0
  164. package/dist/esm/core/agent/assessment/assess.js.map +1 -1
  165. package/dist/esm/core/agent/assessment/compose.d.ts +3 -1
  166. package/dist/esm/core/agent/assessment/compose.js +5 -1
  167. package/dist/esm/core/agent/assessment/compose.js.map +1 -1
  168. package/dist/esm/core/agent/assessment/reasons.js +7 -0
  169. package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
  170. package/dist/esm/core/agent/assessment/types.d.ts +12 -2
  171. package/dist/esm/core/agent/assessment/witness.d.ts +44 -4
  172. package/dist/esm/core/agent/assessment/witness.js +35 -3
  173. package/dist/esm/core/agent/assessment/witness.js.map +1 -1
  174. package/dist/esm/core/agent/buildAgentChart.d.ts +9 -0
  175. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  176. package/dist/esm/core/agent/evidence/codeRegions.d.ts +130 -0
  177. package/dist/esm/core/agent/evidence/codeRegions.js +275 -0
  178. package/dist/esm/core/agent/evidence/codeRegions.js.map +1 -0
  179. package/dist/esm/core/agent/evidence/gate.d.ts +3 -0
  180. package/dist/esm/core/agent/evidence/gate.js +12 -2
  181. package/dist/esm/core/agent/evidence/gate.js.map +1 -1
  182. package/dist/esm/core/agent/evidence/recovery.d.ts +5 -1
  183. package/dist/esm/core/agent/evidence/recovery.js +11 -2
  184. package/dist/esm/core/agent/evidence/recovery.js.map +1 -1
  185. package/dist/esm/core/agent/evidence/types.d.ts +35 -0
  186. package/dist/esm/core/agent/findings/types.d.ts +3 -2
  187. package/dist/esm/core/agent/findings/types.js.map +1 -1
  188. package/dist/esm/core/agent/scripts/attachment.d.ts +179 -0
  189. package/dist/esm/core/agent/scripts/attachment.js +361 -0
  190. package/dist/esm/core/agent/scripts/attachment.js.map +1 -0
  191. package/dist/esm/core/agent/scripts/inert.d.ts +38 -0
  192. package/dist/esm/core/agent/scripts/inert.js +84 -0
  193. package/dist/esm/core/agent/scripts/inert.js.map +1 -0
  194. package/dist/esm/core/agent/scripts/judge.d.ts +36 -0
  195. package/dist/esm/core/agent/scripts/judge.js +37 -0
  196. package/dist/esm/core/agent/scripts/judge.js.map +1 -0
  197. package/dist/esm/core/agent/scripts/label.d.ts +103 -0
  198. package/dist/esm/core/agent/scripts/label.js +136 -0
  199. package/dist/esm/core/agent/scripts/label.js.map +1 -0
  200. package/dist/esm/core/agent/scripts/match.d.ts +99 -0
  201. package/dist/esm/core/agent/scripts/match.js +226 -0
  202. package/dist/esm/core/agent/scripts/match.js.map +1 -0
  203. package/dist/esm/core/agent/scripts/recovery.d.ts +54 -0
  204. package/dist/esm/core/agent/scripts/recovery.js +77 -0
  205. package/dist/esm/core/agent/scripts/recovery.js.map +1 -0
  206. package/dist/esm/core/agent/scripts/rows.d.ts +143 -0
  207. package/dist/esm/core/agent/scripts/rows.js +211 -0
  208. package/dist/esm/core/agent/scripts/rows.js.map +1 -0
  209. package/dist/esm/core/agent/scripts/types.d.ts +91 -0
  210. package/dist/esm/core/agent/scripts/types.js +21 -0
  211. package/dist/esm/core/agent/scripts/types.js.map +1 -0
  212. package/dist/esm/core/agent/scripts/wrapper.d.ts +36 -0
  213. package/dist/esm/core/agent/scripts/wrapper.js +58 -0
  214. package/dist/esm/core/agent/scripts/wrapper.js.map +1 -0
  215. package/dist/esm/core/agent/stages/argumentAsk.d.ts +4 -1
  216. package/dist/esm/core/agent/stages/argumentAsk.js +164 -22
  217. package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
  218. package/dist/esm/core/agent/stages/evidenceRecheck.js +4 -1
  219. package/dist/esm/core/agent/stages/evidenceRecheck.js.map +1 -1
  220. package/dist/esm/core/agent/stages/prepareFinal.d.ts +11 -0
  221. package/dist/esm/core/agent/stages/prepareFinal.js +65 -10
  222. package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
  223. package/dist/esm/core/agent/stages/route.js +53 -3
  224. package/dist/esm/core/agent/stages/route.js.map +1 -1
  225. package/dist/esm/core/agent/stages/seed.js +14 -1
  226. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  227. package/dist/esm/core/agent/stages/toolCalls.d.ts +14 -0
  228. package/dist/esm/core/agent/stages/toolCalls.js +337 -16
  229. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  230. package/dist/esm/core/agent/types.d.ts +41 -0
  231. package/dist/esm/core/codeRunnerTool.d.ts +23 -0
  232. package/dist/esm/core/codeRunnerTool.js +31 -2
  233. package/dist/esm/core/codeRunnerTool.js.map +1 -1
  234. package/dist/esm/core/runCheckpoint.js +16 -3
  235. package/dist/esm/core/runCheckpoint.js.map +1 -1
  236. package/dist/esm/events/payloads.d.ts +46 -1
  237. package/dist/esm/hosting/answerAccounts.js +4 -2
  238. package/dist/esm/hosting/answerAccounts.js.map +1 -1
  239. package/dist/esm/hosting/artifactWire.d.ts +3 -2
  240. package/dist/esm/hosting/artifactWire.js.map +1 -1
  241. package/dist/esm/index.d.ts +3 -1
  242. package/dist/esm/index.js.map +1 -1
  243. package/dist/esm/lib/boundedJson.d.ts +24 -0
  244. package/dist/esm/lib/boundedJson.js +45 -2
  245. package/dist/esm/lib/boundedJson.js.map +1 -1
  246. package/dist/esm/lib/scriptRecord.d.ts +139 -0
  247. package/dist/esm/lib/scriptRecord.js +18 -0
  248. package/dist/esm/lib/scriptRecord.js.map +1 -0
  249. package/dist/esm/lib/utf8.d.ts +36 -0
  250. package/dist/esm/lib/utf8.js +70 -0
  251. package/dist/esm/lib/utf8.js.map +1 -0
  252. package/dist/esm/mcp/toolExtras.d.ts +9 -0
  253. package/dist/esm/mcp/toolExtras.js +6 -0
  254. package/dist/esm/mcp/toolExtras.js.map +1 -1
  255. package/dist/esm/redaction/conversation.js +10 -0
  256. package/dist/esm/redaction/conversation.js.map +1 -1
  257. package/dist/esm/redaction/knownStrings.js +34 -0
  258. package/dist/esm/redaction/knownStrings.js.map +1 -1
  259. package/dist/esm/semantics/coverage/answer.d.ts +12 -1
  260. package/dist/esm/semantics/coverage/answer.js +26 -3
  261. package/dist/esm/semantics/coverage/answer.js.map +1 -1
  262. package/dist/esm/tools/script.d.ts +85 -0
  263. package/dist/esm/tools/script.js +157 -0
  264. package/dist/esm/tools/script.js.map +1 -0
  265. package/dist/esm/tools/tools.d.ts +30 -0
  266. package/dist/esm/tools/tools.js +4 -0
  267. package/dist/esm/tools/tools.js.map +1 -1
  268. package/dist/hosting/answerAccounts.js +4 -2
  269. package/dist/hosting/answerAccounts.js.map +1 -1
  270. package/dist/hosting/artifactWire.js.map +1 -1
  271. package/dist/index.js.map +1 -1
  272. package/dist/lib/boundedJson.js +48 -3
  273. package/dist/lib/boundedJson.js.map +1 -1
  274. package/dist/lib/scriptRecord.js +19 -0
  275. package/dist/lib/scriptRecord.js.map +1 -0
  276. package/dist/lib/utf8.js +77 -0
  277. package/dist/lib/utf8.js.map +1 -0
  278. package/dist/mcp/toolExtras.js +6 -0
  279. package/dist/mcp/toolExtras.js.map +1 -1
  280. package/dist/redaction/conversation.js +10 -0
  281. package/dist/redaction/conversation.js.map +1 -1
  282. package/dist/redaction/knownStrings.js +34 -0
  283. package/dist/redaction/knownStrings.js.map +1 -1
  284. package/dist/semantics/coverage/answer.js +26 -3
  285. package/dist/semantics/coverage/answer.js.map +1 -1
  286. package/dist/tools/script.js +163 -0
  287. package/dist/tools/script.js.map +1 -0
  288. package/dist/tools/tools.js +4 -0
  289. package/dist/tools/tools.js.map +1 -1
  290. package/dist/types/adapters/code/output.d.ts +1 -4
  291. package/dist/types/adapters/code/output.d.ts.map +1 -1
  292. package/dist/types/adapters/observability/audit.d.ts +79 -12
  293. package/dist/types/adapters/observability/audit.d.ts.map +1 -1
  294. package/dist/types/adapters/observability/auditBounding.d.ts +216 -0
  295. package/dist/types/adapters/observability/auditBounding.d.ts.map +1 -0
  296. package/dist/types/adapters/observability/auditKeptByContract.d.ts +66 -0
  297. package/dist/types/adapters/observability/auditKeptByContract.d.ts.map +1 -0
  298. package/dist/types/adapters/observability/auditShapes.d.ts +79 -0
  299. package/dist/types/adapters/observability/auditShapes.d.ts.map +1 -0
  300. package/dist/types/answer-account/account.d.ts.map +1 -1
  301. package/dist/types/answer-account/facts/calls.d.ts +0 -2
  302. package/dist/types/answer-account/facts/calls.d.ts.map +1 -1
  303. package/dist/types/answer-account/facts/checked.d.ts.map +1 -1
  304. package/dist/types/answer-account/facts/common.d.ts +16 -4
  305. package/dist/types/answer-account/facts/common.d.ts.map +1 -1
  306. package/dist/types/answer-account/facts/found.d.ts.map +1 -1
  307. package/dist/types/answer-account/facts/howSure.d.ts +1 -1
  308. package/dist/types/answer-account/facts/howSure.d.ts.map +1 -1
  309. package/dist/types/answer-account/facts/inView.d.ts.map +1 -1
  310. package/dist/types/answer-account/facts/pausedLeg.d.ts.map +1 -1
  311. package/dist/types/answer-account/facts/scripts.d.ts +35 -0
  312. package/dist/types/answer-account/facts/scripts.d.ts.map +1 -0
  313. package/dist/types/answer-account/facts/understood.d.ts.map +1 -1
  314. package/dist/types/answer-account/pointerKey.d.ts +1 -1
  315. package/dist/types/answer-account/shown.d.ts +9 -2
  316. package/dist/types/answer-account/shown.d.ts.map +1 -1
  317. package/dist/types/answer-account/signals.d.ts.map +1 -1
  318. package/dist/types/answer-account/size.d.ts +60 -0
  319. package/dist/types/answer-account/size.d.ts.map +1 -0
  320. package/dist/types/answer-account/templates.d.ts +29 -1
  321. package/dist/types/answer-account/templates.d.ts.map +1 -1
  322. package/dist/types/core/Agent.d.ts +8 -1
  323. package/dist/types/core/Agent.d.ts.map +1 -1
  324. package/dist/types/core/agent/AgentBuilder.d.ts +52 -0
  325. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  326. package/dist/types/core/agent/arguments/ask.d.ts +11 -0
  327. package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
  328. package/dist/types/core/agent/arguments/partialWindow.d.ts +43 -0
  329. package/dist/types/core/agent/arguments/partialWindow.d.ts.map +1 -0
  330. package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
  331. package/dist/types/core/agent/assessment/compose.d.ts +3 -1
  332. package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
  333. package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
  334. package/dist/types/core/agent/assessment/types.d.ts +12 -2
  335. package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
  336. package/dist/types/core/agent/assessment/witness.d.ts +44 -4
  337. package/dist/types/core/agent/assessment/witness.d.ts.map +1 -1
  338. package/dist/types/core/agent/buildAgentChart.d.ts +9 -0
  339. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  340. package/dist/types/core/agent/evidence/codeRegions.d.ts +131 -0
  341. package/dist/types/core/agent/evidence/codeRegions.d.ts.map +1 -0
  342. package/dist/types/core/agent/evidence/gate.d.ts +3 -0
  343. package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
  344. package/dist/types/core/agent/evidence/recovery.d.ts +5 -1
  345. package/dist/types/core/agent/evidence/recovery.d.ts.map +1 -1
  346. package/dist/types/core/agent/evidence/types.d.ts +35 -0
  347. package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
  348. package/dist/types/core/agent/findings/types.d.ts +3 -2
  349. package/dist/types/core/agent/findings/types.d.ts.map +1 -1
  350. package/dist/types/core/agent/scripts/attachment.d.ts +180 -0
  351. package/dist/types/core/agent/scripts/attachment.d.ts.map +1 -0
  352. package/dist/types/core/agent/scripts/inert.d.ts +39 -0
  353. package/dist/types/core/agent/scripts/inert.d.ts.map +1 -0
  354. package/dist/types/core/agent/scripts/judge.d.ts +37 -0
  355. package/dist/types/core/agent/scripts/judge.d.ts.map +1 -0
  356. package/dist/types/core/agent/scripts/label.d.ts +104 -0
  357. package/dist/types/core/agent/scripts/label.d.ts.map +1 -0
  358. package/dist/types/core/agent/scripts/match.d.ts +100 -0
  359. package/dist/types/core/agent/scripts/match.d.ts.map +1 -0
  360. package/dist/types/core/agent/scripts/recovery.d.ts +55 -0
  361. package/dist/types/core/agent/scripts/recovery.d.ts.map +1 -0
  362. package/dist/types/core/agent/scripts/rows.d.ts +144 -0
  363. package/dist/types/core/agent/scripts/rows.d.ts.map +1 -0
  364. package/dist/types/core/agent/scripts/types.d.ts +92 -0
  365. package/dist/types/core/agent/scripts/types.d.ts.map +1 -0
  366. package/dist/types/core/agent/scripts/wrapper.d.ts +37 -0
  367. package/dist/types/core/agent/scripts/wrapper.d.ts.map +1 -0
  368. package/dist/types/core/agent/stages/argumentAsk.d.ts +4 -1
  369. package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
  370. package/dist/types/core/agent/stages/evidenceRecheck.d.ts.map +1 -1
  371. package/dist/types/core/agent/stages/prepareFinal.d.ts +11 -0
  372. package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
  373. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  374. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  375. package/dist/types/core/agent/stages/toolCalls.d.ts +14 -0
  376. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  377. package/dist/types/core/agent/types.d.ts +41 -0
  378. package/dist/types/core/agent/types.d.ts.map +1 -1
  379. package/dist/types/core/codeRunnerTool.d.ts +23 -0
  380. package/dist/types/core/codeRunnerTool.d.ts.map +1 -1
  381. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  382. package/dist/types/events/payloads.d.ts +46 -1
  383. package/dist/types/events/payloads.d.ts.map +1 -1
  384. package/dist/types/hosting/answerAccounts.d.ts.map +1 -1
  385. package/dist/types/hosting/artifactWire.d.ts +3 -2
  386. package/dist/types/hosting/artifactWire.d.ts.map +1 -1
  387. package/dist/types/index.d.ts +3 -1
  388. package/dist/types/index.d.ts.map +1 -1
  389. package/dist/types/lib/boundedJson.d.ts +24 -0
  390. package/dist/types/lib/boundedJson.d.ts.map +1 -1
  391. package/dist/types/lib/scriptRecord.d.ts +140 -0
  392. package/dist/types/lib/scriptRecord.d.ts.map +1 -0
  393. package/dist/types/lib/utf8.d.ts +37 -0
  394. package/dist/types/lib/utf8.d.ts.map +1 -0
  395. package/dist/types/mcp/toolExtras.d.ts +9 -0
  396. package/dist/types/mcp/toolExtras.d.ts.map +1 -1
  397. package/dist/types/redaction/conversation.d.ts.map +1 -1
  398. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  399. package/dist/types/semantics/coverage/answer.d.ts +12 -1
  400. package/dist/types/semantics/coverage/answer.d.ts.map +1 -1
  401. package/dist/types/tools/script.d.ts +86 -0
  402. package/dist/types/tools/script.d.ts.map +1 -0
  403. package/dist/types/tools/tools.d.ts +30 -0
  404. package/dist/types/tools/tools.d.ts.map +1 -1
  405. package/package.json +2 -1
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ /**
3
+ * scripts/rows — the `script` row: built from one call, filed through ONE
4
+ * writer, read back per turn, and bounded.
5
+ *
6
+ * Pattern: Map + one writer (the `findings/ledger.ts` · `recordFindings`
7
+ * twin for this kind): `scriptRowFor` builds, `recordScriptRow` is
8
+ * the only thing that writes a `script` row, `scriptRowsOfTurn` is
9
+ * the one reader the match and the attachment share.
10
+ * Role: core/ layer leaf. Called by the dispatch loop (`stages/toolCalls.ts`)
11
+ * at each place a call of a declared code-running tool pauses or
12
+ * settles; read by the Route decider's judge and the final branch.
13
+ * Emits: N/A — the row is state; the runner's facts already rode
14
+ * `agentfootprint.tools.code_run`, which never carries the code.
15
+ *
16
+ * ## One unit, and the bounds (design § 4.4)
17
+ *
18
+ * UTF-8 payload bytes of the program, measured at record time
19
+ * (`lib/utf8.ts` · `utf8Length`) — never characters: 32,768 characters of a
20
+ * 3-byte character are 98,304 bytes.
21
+ *
22
+ * - **Per script.** A program over {@link MAX_SCRIPT_BYTES} keeps a row with
23
+ * `bytes`, `lines` and the outcome, and no `text`: it can be neither matched
24
+ * nor attached.
25
+ * - **Per turn.** {@link MAX_SCRIPT_ROWS} calls keep a row; a further call of
26
+ * the turn files none and is counted in `AgentState.scriptsDropped`.
27
+ * - **Eligible text.** A row's `text` lives for its own turn: the seed stage's
28
+ * restore drops it from every earlier turn's row (`withoutEarlierScriptText`),
29
+ * so the text the ledger holds is at most 16 × 32,768 bytes = 512 KiB before
30
+ * serialization, whatever the conversation's length. That bounds eligible
31
+ * text only — prior turns' metadata, history and the answers that carried an
32
+ * attached script are outside it.
33
+ *
34
+ * ## Append only, last wins
35
+ *
36
+ * A call PAUSED before it settles (a check-in, a consent, an ask, a tool that
37
+ * asked a person) files a `submitted` row at the pause, WITHOUT its text: the
38
+ * settled row filed when the call resumes is the one that carries it, so a
39
+ * program is never held twice. A reader takes the LAST row per call of the
40
+ * turn (the ledger's own law). A row that never settles stays `submitted`.
41
+ */
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.scriptRowIsWellFormed = exports.withoutEarlierScriptText = exports.scriptRowsOfTurn = exports.recordScriptRow = exports.scriptRowFor = exports.programIn = exports.linesOf = exports.MAX_SCRIPT_ROWS = exports.MAX_SCRIPT_BYTES = void 0;
44
+ const utf8_js_1 = require("../../../lib/utf8.js");
45
+ const label_js_1 = require("./label.js");
46
+ /** A program longer than this (UTF-8 bytes) keeps a row with no text. Design § 4.4. */
47
+ exports.MAX_SCRIPT_BYTES = 32_768;
48
+ /** Calls per turn that keep a row; the rest are counted. Design § 4.4. */
49
+ exports.MAX_SCRIPT_ROWS = 16;
50
+ /** Lines of a program: LF-separated, `0` for an empty one. */
51
+ function linesOf(program) {
52
+ if (program.length === 0)
53
+ return 0;
54
+ let lines = 1;
55
+ for (let i = 0; i < program.length; i++)
56
+ if (program.charCodeAt(i) === 0x0a)
57
+ lines++;
58
+ return program.charCodeAt(program.length - 1) === 0x0a ? lines - 1 : lines;
59
+ }
60
+ exports.linesOf = linesOf;
61
+ /**
62
+ * The declared argument's value in `args` — the one read a call's program is
63
+ * captured with. Read it at the boundary it names (as the call arrives; just
64
+ * before `execute`) and keep the value: never the arguments object, which app
65
+ * code may edit after it was handed over.
66
+ */
67
+ function programIn(script, args) {
68
+ return args === undefined ? undefined : args[script.argument];
69
+ }
70
+ exports.programIn = programIn;
71
+ /**
72
+ * The row for one call, or `undefined` when the call carried no program — the
73
+ * declared argument is not a string (an argument check refuses such a call;
74
+ * there is nothing to record as "the program submitted").
75
+ */
76
+ function scriptRowFor(call) {
77
+ const program = call.submitted !== undefined ? call.submitted : call.proposed;
78
+ if (typeof program !== 'string')
79
+ return undefined;
80
+ const bytes = (0, utf8_js_1.utf8Length)(program);
81
+ const outcome = call.paused
82
+ ? { label: 'submitted' }
83
+ : (0, label_js_1.scriptLabelOf)({
84
+ settlement: call.settlement,
85
+ ...(call.facts !== undefined && { facts: call.facts }),
86
+ });
87
+ const rewritten = call.submitted !== undefined && call.submitted !== call.proposed;
88
+ return {
89
+ kind: 'script',
90
+ toolCallId: call.toolCallId,
91
+ tool: call.tool,
92
+ argument: call.script.argument,
93
+ ...(call.script.language !== undefined && { language: call.script.language }),
94
+ bytes,
95
+ lines: linesOf(program),
96
+ ...(call.paused !== true && bytes <= exports.MAX_SCRIPT_BYTES && { text: program }),
97
+ outcome: outcome.label,
98
+ ...(outcome.exitCode !== undefined && { exitCode: outcome.exitCode }),
99
+ ...(outcome.serviceError === true && { serviceError: true }),
100
+ ...(call.withheld === true && { resultWithheld: 'over-ceiling' }),
101
+ ...(rewritten && { rewritten: true }),
102
+ turn: call.turn,
103
+ iteration: call.iteration,
104
+ };
105
+ }
106
+ exports.scriptRowFor = scriptRowFor;
107
+ const isScriptRow = (row) => row !== null && typeof row === 'object' && row.kind === 'script';
108
+ /**
109
+ * THE ONE WRITER of a `script` row, and the one place a call gets its
110
+ * DISPATCH identity: the 1-based order of the actual dispatch within its turn.
111
+ * A call is a dispatch, never a provider id: a later call that reuses an id is
112
+ * a new dispatch. `options.dispatch` names a dispatch that already has a row
113
+ * (a paused call, settling): its row joins that dispatch.
114
+ *
115
+ * Appended, unless the turn already holds {@link MAX_SCRIPT_ROWS} other
116
+ * dispatches — then the call files nothing and `scriptsDropped` counts it
117
+ * (value-conditional: absent until a call is dropped). A dispatch that already
118
+ * has a row is never dropped, and a PAUSE is never counted (`paused`): its call
119
+ * is counted once, when it settles. Returns the dispatch the row was filed
120
+ * under, `undefined` when it was dropped. Synchronous: one read, one write, no
121
+ * await between.
122
+ */
123
+ function recordScriptRow(scope, draft, options = {}) {
124
+ const prev = [...(scope.findingsLedger ?? [])];
125
+ const dispatches = new Set();
126
+ let highest = 0;
127
+ for (const r of prev) {
128
+ if (!isScriptRow(r) || r.turn !== draft.turn)
129
+ continue;
130
+ dispatches.add(r.dispatch);
131
+ if (r.dispatch > highest)
132
+ highest = r.dispatch;
133
+ }
134
+ const joins = options.dispatch !== undefined && dispatches.has(options.dispatch);
135
+ if (!joins && dispatches.size >= exports.MAX_SCRIPT_ROWS) {
136
+ if (options.paused !== true) {
137
+ scope.scriptsDropped = (scope.scriptsDropped ?? 0) + 1;
138
+ }
139
+ return undefined;
140
+ }
141
+ const dispatch = joins ? options.dispatch : highest + 1;
142
+ const { kind, toolCallId, ...rest } = draft;
143
+ scope.findingsLedger = [...prev, { kind, toolCallId, dispatch, ...rest }];
144
+ return dispatch;
145
+ }
146
+ exports.recordScriptRow = recordScriptRow;
147
+ /**
148
+ * The one reader of a turn's script rows: the last row per DISPATCH wins, and
149
+ * a dispatch sits where its last row was filed — execution order, so a call
150
+ * that settles after a later one ran is read after it. Earlier turns counted.
151
+ */
152
+ function scriptRowsOfTurn(ledger, turn) {
153
+ const latest = new Map();
154
+ const earlier = new Set();
155
+ for (const row of ledger ?? []) {
156
+ if (!isScriptRow(row))
157
+ continue;
158
+ if (row.turn === turn) {
159
+ latest.delete(row.dispatch);
160
+ latest.set(row.dispatch, row);
161
+ }
162
+ else {
163
+ earlier.add(`${row.turn}\u001f${row.dispatch}`);
164
+ }
165
+ }
166
+ return { current: [...latest.values()], earlier: earlier.size };
167
+ }
168
+ exports.scriptRowsOfTurn = scriptRowsOfTurn;
169
+ /**
170
+ * The restore door's half of the bound (seed): every `script` row of a turn
171
+ * BEFORE `turn` keeps its facts — ids, counts, outcome — and loses its `text`.
172
+ * The same reference when there is nothing to drop, so a ledger without
173
+ * script text is restored byte for byte.
174
+ */
175
+ function withoutEarlierScriptText(ledger, turn) {
176
+ let changed = false;
177
+ const out = ledger.map((row) => {
178
+ if (!isScriptRow(row) || row.turn >= turn || row.text === undefined)
179
+ return row;
180
+ changed = true;
181
+ const { text: _text, ...facts } = row;
182
+ void _text;
183
+ return facts;
184
+ });
185
+ return changed ? out : ledger;
186
+ }
187
+ exports.withoutEarlierScriptText = withoutEarlierScriptText;
188
+ const isCount = (v) => typeof v === 'number' && Number.isInteger(v) && v >= 0;
189
+ /**
190
+ * Whether a value read from a stored checkpoint is a `script` row this library
191
+ * could have written — the checkpoint door's arm (`core/runCheckpoint.ts`).
192
+ * An older runtime refuses a checkpoint carrying one.
193
+ */
194
+ function scriptRowIsWellFormed(r) {
195
+ const label = r.outcome;
196
+ return (r.kind === 'script' &&
197
+ typeof r.toolCallId === 'string' &&
198
+ Number.isInteger(r.dispatch) &&
199
+ r.dispatch >= 1 &&
200
+ typeof r.tool === 'string' &&
201
+ typeof r.argument === 'string' &&
202
+ (r.language === undefined || typeof r.language === 'string') &&
203
+ isCount(r.bytes) &&
204
+ isCount(r.lines) &&
205
+ // The text is the program the row measured, within the bound.
206
+ (r.text === undefined ||
207
+ (typeof r.text === 'string' &&
208
+ r.bytes === (0, utf8_js_1.utf8Length)(r.text) &&
209
+ r.bytes <= exports.MAX_SCRIPT_BYTES)) &&
210
+ typeof label === 'string' &&
211
+ label_js_1.SCRIPT_LABELS.includes(label) &&
212
+ // An exit code rides exactly the two labels that one proves, as the label writes it.
213
+ (0, label_js_1.exitCodeFits)(label, r.exitCode) &&
214
+ (r.serviceError === undefined || (r.serviceError === true && label === 'outcome-unknown')) &&
215
+ (r.resultWithheld === undefined || r.resultWithheld === 'over-ceiling') &&
216
+ (r.rewritten === undefined || r.rewritten === true) &&
217
+ typeof r.turn === 'number' &&
218
+ typeof r.iteration === 'number');
219
+ }
220
+ exports.scriptRowIsWellFormed = scriptRowIsWellFormed;
221
+ //# sourceMappingURL=rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../../src/core/agent/scripts/rows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * scripts/types — the row a call of a code-running tool files, and the
4
+ * attachment's options. The vocabulary the event payloads share (the label,
5
+ * the block verdict, the attached script) lives in `lib/scriptRecord.ts` and
6
+ * is re-exported here.
7
+ *
8
+ * Pattern: plain row and verdict types, no logic (`label.ts` decides a label,
9
+ * `rows.ts` files a row, `match.ts` judges a block, `attachment.ts`
10
+ * composes what travels).
11
+ * Role: core/ layer leaf of the script record (design:
12
+ * docs/design/2026-10-script-artifact.md).
13
+ * Emits: N/A.
14
+ *
15
+ * FOUR FACTS, KEPT APART. F1 "this is the script submitted" and F2 "this
16
+ * script ran" are facts about a CALL, on one `script` row per call. F3 "a tool
17
+ * returned this value" is the evidence gate's verdict, from `role: 'tool'`
18
+ * results only — nothing here ever enters the evidence or exempt corpus. F4
19
+ * "this claim holds" has no row. No sentence joins them.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/agent/scripts/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * scripts/wrapper — the Markdown wrapper the library puts around a program,
4
+ * with both of its line terminators pinned.
5
+ *
6
+ * Pattern: pure leaf. The renderer half of the wrapper law; the reader half is
7
+ * `../evidence/codeRegions.ts`, and the two agree byte for byte
8
+ * (`test/core/agent/evidence/script-wrapper.test.ts`).
9
+ * Role: core/ layer leaf, asked by the attachment (`attachment.ts`).
10
+ * Emits: N/A.
11
+ *
12
+ * THE LAW (design § 4.2, § 5.2). The fence is `max(3, longestRun + 1)`
13
+ * backticks, where `longestRun` is the longest run of backticks inside the
14
+ * program (the CommonMark closing rule), so a program that holds ```` ``` ````
15
+ * cannot close the library's block early. The renderer writes the opening
16
+ * fence line, ONE LF, the program's bytes unchanged, ONE LF, then the closing
17
+ * fence line. The two LFs are the wrapper's; what sits between them is the
18
+ * program exactly — so a program ending in a line break shows an empty line
19
+ * before the closing fence, and a program ending in a lone CR, in LF or in
20
+ * CRLF reads back unchanged.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * wrapProgram('print(1)', 'python'); // '```python\nprint(1)\n```'
25
+ * fenceFor('s = "```"'); // '````'
26
+ * codeRegionsOf(wrapProgram(p)).regions[0].content === p; // for every p
27
+ * ```
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.wrapProgram = exports.fenceFor = void 0;
31
+ /** The longest run of backticks in `text` — one linear pass. */
32
+ function longestBacktickRun(text) {
33
+ let longest = 0;
34
+ let run = 0;
35
+ for (let i = 0; i < text.length; i++) {
36
+ if (text.charCodeAt(i) === 0x60) {
37
+ run += 1;
38
+ if (run > longest)
39
+ longest = run;
40
+ }
41
+ else {
42
+ run = 0;
43
+ }
44
+ }
45
+ return longest;
46
+ }
47
+ /** The fence for `program`: `max(3, longestRun + 1)` backticks. */
48
+ function fenceFor(program) {
49
+ return '`'.repeat(Math.max(3, longestBacktickRun(program) + 1));
50
+ }
51
+ exports.fenceFor = fenceFor;
52
+ /**
53
+ * The program inside the library's fence: opening line (fence + `language` as
54
+ * the info string), LF, the program unchanged, LF, closing fence. `language`
55
+ * is a declared token (`tools/script.ts` refuses a backtick or line break in
56
+ * it), so the info string cannot end the opening line early.
57
+ */
58
+ function wrapProgram(program, language) {
59
+ const fence = fenceFor(program);
60
+ return `${fence}${language ?? ''}\n${program}\n${fence}`;
61
+ }
62
+ exports.wrapProgram = wrapProgram;
63
+ //# sourceMappingURL=wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../../src/core/agent/scripts/wrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,gEAAgE;AAChE,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,GAAG,IAAI,CAAC,CAAC;YACT,IAAI,GAAG,GAAG,OAAO;gBAAE,OAAO,GAAG,GAAG,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mEAAmE;AACnE,SAAgB,QAAQ,CAAC,OAAe;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,4BAEC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,OAAe,EAAE,QAAiB;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,GAAG,QAAQ,IAAI,EAAE,KAAK,OAAO,KAAK,KAAK,EAAE,CAAC;AAC3D,CAAC;AAHD,kCAGC"}
@@ -44,6 +44,11 @@ exports.askBeforeDispatch = void 0;
44
44
  const footprintjs_1 = require("footprintjs");
45
45
  const inputRequest_js_1 = require("../../../tools/inputRequest.js");
46
46
  const ask_js_1 = require("../arguments/ask.js");
47
+ const resolve_js_1 = require("../arguments/resolve.js");
48
+ const dispatch_js_1 = require("../arguments/dispatch.js");
49
+ const partialWindow_js_1 = require("../arguments/partialWindow.js");
50
+ const sourceCorpus_js_1 = require("../honesty/sourceCorpus.js");
51
+ const declare_js_1 = require("../../../tools/declare.js");
47
52
  const serve_js_1 = require("../arguments/serve.js");
48
53
  const ledger_js_1 = require("../findings/ledger.js");
49
54
  const rows_js_1 = require("../../../time/rows.js");
@@ -96,9 +101,9 @@ function askTimeOf(scope, deps) {
96
101
  * `timeAskOf`) — only under the reader's arm, only when a call of the batch
97
102
  * left its period out while that mention was open (`ArgumentResolution.window`).
98
103
  */
99
- function windowPlanOf(scope, deps, asks) {
104
+ function windowPlanOf(scope, deps, asks, partial = false) {
100
105
  const reader = deps.time?.reader;
101
- if (reader === undefined || !asks.some((a) => a.window === true))
106
+ if (reader === undefined || (!partial && !asks.some((a) => a.window === true)))
102
107
  return undefined;
103
108
  const clock = (0, rows_js_1.clockOf)(scope.findingsLedger);
104
109
  const row = openReadingOf(scope);
@@ -138,6 +143,7 @@ function batchOf(scope) {
138
143
  id: c.id,
139
144
  name: c.name,
140
145
  args: { ...(c.args ?? {}) },
146
+ ...(c.argumentsFailure !== undefined && { argumentsFailure: c.argumentsFailure }),
141
147
  }));
142
148
  }
143
149
  /**
@@ -208,44 +214,180 @@ function withSettled(resolutions, state, calls) {
208
214
  * another request or a malformed one. Returns the entries ToolCalls applies.
209
215
  */
210
216
  function askBeforeDispatch(scope, resolutions, deps) {
211
- const asks = [...resolutions.values()].flatMap((r) => r.ask !== undefined && r.ask.length > 0
217
+ const iteration = scope.iteration;
218
+ const turn = scope.turnNumber;
219
+ const calls = batchOf(scope).filter((call) => !deps.excludedCallIds?.includes(call.id));
220
+ const entries = new Map(resolutions);
221
+ const time = askTimeOf(scope, deps);
222
+ const ledger = scope.findingsLedger;
223
+ const readings = (0, rows_js_1.readingsOf)(ledger, turn);
224
+ const answers = (0, rows_js_1.answersOf)(ledger, turn);
225
+ const open = readings.filter((row) => (0, windows_js_1.isOpenForPerson)(row) && !answers.some((a) => a.mention === (row.mention ?? 0)));
226
+ const origins = [];
227
+ const refuse = (call, arguments_, expected) => {
228
+ entries.set(call.id, {
229
+ toolCallId: call.id,
230
+ iteration,
231
+ refused: (0, serve_js_1.unansweredRefusal)(call.name, arguments_.map((argument) => ({ argument, expected }))),
232
+ });
233
+ };
234
+ if (deps.time?.reader !== undefined &&
235
+ time !== undefined &&
236
+ (open.length > 0 || answers.length > 0)) {
237
+ for (const call of calls) {
238
+ if (entries.get(call.id)?.refused !== undefined)
239
+ continue;
240
+ const origin = (0, partialWindow_js_1.partialOriginOf)(call, deps.toolOf, time);
241
+ if (origin === 'ambiguous') {
242
+ refuse(call, ['period'], 'one unambiguous declared period form');
243
+ }
244
+ else if (origin !== undefined) {
245
+ if (open.length > 1)
246
+ refuse(call, origin.arguments, 'one unambiguous time mention');
247
+ else {
248
+ origins.push(origin);
249
+ if (!entries.has(call.id))
250
+ entries.set(call.id, { toolCallId: call.id, iteration });
251
+ }
252
+ }
253
+ }
254
+ }
255
+ const asks = [...entries.values()].flatMap((r) => r.refused === undefined && r.ask !== undefined && r.ask.length > 0
212
256
  ? [
213
257
  {
214
258
  toolCallId: r.toolCallId,
215
259
  ask: r.ask,
216
- // Declared sources: the person's words a reading was made of, for the field.
217
260
  ...(r.quoted !== undefined && { quoted: r.quoted }),
218
- // The lazy word-driven ask: the period is asked as the open mention's window.
219
261
  ...(r.window === true && { window: true }),
220
262
  },
221
263
  ]
222
264
  : []);
223
- if (asks.length === 0)
224
- return { resolutions, answered: false };
225
- const iteration = scope.iteration;
226
- const calls = batchOf(scope);
227
265
  const stored = stateFor(scope, iteration);
228
- let state = stored ??
229
- (0, ask_js_1.initialAskState)(iteration, (0, ask_js_1.planAskFields)(asks, calls, deps.toolOf, windowPlanOf(scope, deps, asks)));
266
+ // A resume mints a new execution run id; the native checkpoint keeps the seeded turn identity.
267
+ const owner = JSON.stringify([scope.turnStartMs, scope.$getValue('runIdentity')]);
268
+ const mention = open[0]?.mention ?? answers[0]?.mention ?? 0;
269
+ const identity = { owner, turn, iteration, mention, origins };
270
+ if (stored?.partial !== undefined &&
271
+ (!(0, partialWindow_js_1.validPartialState)(stored.partial, identity) || !(0, partialWindow_js_1.validPartialSnapshot)(stored))) {
272
+ throw new TypeError('argumentAsk: partial-window state does not match this batch');
273
+ }
274
+ if (stored?.fields.some((field) => field.window?.role !== undefined) &&
275
+ stored.partial === undefined) {
276
+ throw new TypeError('argumentAsk: meaning role without partial-window owner');
277
+ }
278
+ if (asks.length === 0 && origins.length === 0 && stored === undefined)
279
+ return { resolutions: entries, answered: false };
280
+ const partial = origins.length > 0;
281
+ const fillAsks = asks.filter((ask) => ask.window === true);
282
+ const ordinaryAsks = partial ? asks.filter((ask) => ask.window !== true) : asks;
283
+ const ordinaryFields = (0, ask_js_1.planAskFields)(ordinaryAsks, calls, deps.toolOf, partial ? undefined : windowPlanOf(scope, deps, asks));
284
+ let state = stored ?? (0, ask_js_1.initialAskState)(iteration, ordinaryFields);
285
+ if (partial && state.partial === undefined) {
286
+ state = { ...state, partial: { version: 1, phase: 'complete-arguments', ...identity } };
287
+ }
288
+ if (state.partial !== undefined) {
289
+ const plan = windowPlanOf(scope, deps, asks, true);
290
+ if (!(0, partialWindow_js_1.validPartialFields)(state, ordinaryFields, plan === undefined
291
+ ? undefined
292
+ : (0, ask_js_1.confirmationField)(plan, origins, fillAsks, calls, deps.toolOf))) {
293
+ throw new TypeError('argumentAsk: invalid partial-window phase');
294
+ }
295
+ }
230
296
  let answered = false;
231
297
  if (state.waiting !== undefined) {
232
- // The re-run a resume makes: the answer comes back out of the one-shot interrupt.
233
298
  const input = (0, footprintjs_1.interrupt)(scope, pauseDataOf(state.waiting));
234
- const bound = (0, ask_js_1.bindAnswer)(state, (0, ask_js_1.readAskAnswer)(state.waiting, input), calls, deps.toolOf, { turn: scope.turnNumber, iteration }, askTimeOf(scope, deps));
235
- (0, ledger_js_1.recordFindings)(scope, bound.rows, { turn: scope.turnNumber });
299
+ const bound = (0, ask_js_1.bindAnswer)(state, (0, ask_js_1.readAskAnswer)(state.waiting, input), calls, deps.toolOf, { turn, iteration }, time);
300
+ (0, ledger_js_1.recordFindings)(scope, bound.rows, { turn });
236
301
  state = bound.state;
237
302
  answered = true;
238
303
  }
239
- const round = (0, ask_js_1.nextAskRound)(state);
304
+ let round = (0, ask_js_1.nextAskRound)(state);
305
+ if (round === undefined && state.partial?.phase === 'complete-arguments') {
306
+ const completed = withSettled(entries, state, calls);
307
+ const eligible = origins.filter((origin) => completed.get(origin.call.id)?.refused === undefined);
308
+ const plan = windowPlanOf(scope, deps, asks, true);
309
+ if ((eligible.length > 0 || fillAsks.length > 0) && open.length > 0) {
310
+ if (plan === undefined) {
311
+ for (const origin of eligible)
312
+ refuse(origin.call, origin.arguments, 'a confirmed time window');
313
+ }
314
+ else {
315
+ // Existing ordinary fields retain their answers. The new native field has a distinct
316
+ // role: meaning acceptance does not assign its string to an endpoint.
317
+ const field = (0, ask_js_1.confirmationField)(plan, origins, fillAsks, calls, deps.toolOf);
318
+ state = {
319
+ ...state,
320
+ partial: { ...state.partial, phase: 'confirm-meaning' },
321
+ fields: [...state.fields, field],
322
+ progress: [...state.progress, { rounds: 0 }],
323
+ };
324
+ round = (0, ask_js_1.nextAskRound)(state);
325
+ }
326
+ }
327
+ }
240
328
  if (round !== undefined) {
241
329
  const waiting = stampRound(scope, state, round, deps);
242
- scope.argumentAsk = (0, ask_js_1.withWaiting)(state, waiting);
243
- (0, footprintjs_1.interrupt)(scope, pauseDataOf(waiting)); // the pause: this pass's answer, if any, is spent
330
+ scope.argumentAsk = (0, partialWindow_js_1.snapshotPartialState)((0, ask_js_1.withWaiting)(state, waiting));
331
+ (0, footprintjs_1.interrupt)(scope, pauseDataOf(waiting));
244
332
  }
245
- // Settled: the question is no longer out. Cleared only where this pass read a stored state.
246
333
  if (stored !== undefined)
247
334
  scope.argumentAsk = undefined;
248
- return { resolutions: withSettled(resolutions, state, calls), answered };
335
+ const settled = withSettled(entries, state, calls);
336
+ if (partial && time !== undefined) {
337
+ const currentLedger = scope.findingsLedger;
338
+ const currentAnswers = (0, rows_js_1.answersOf)(currentLedger, turn);
339
+ const currentReadings = (0, rows_js_1.readingsOf)(currentLedger, turn);
340
+ const clock = (0, rows_js_1.clockOf)(currentLedger);
341
+ const materialized = calls
342
+ .filter((c) => settled.get(c.id)?.refused === undefined)
343
+ .map((c) => ({ ...c, args: (0, dispatch_js_1.withFills)(c.args, settled.get(c.id)) }));
344
+ for (const origin of origins) {
345
+ const call = materialized.find((c) => c.id === origin.call.id);
346
+ if (call === undefined)
347
+ continue;
348
+ if (!(0, partialWindow_js_1.hasOneMaterializedWindow)(call, deps.toolOf, time) ||
349
+ currentReadings.some((r) => (0, windows_js_1.isOpenForPerson)(r) && !currentAnswers.some((a) => a.mention === (r.mention ?? 0)))) {
350
+ settled.set(call.id, {
351
+ toolCallId: call.id,
352
+ iteration,
353
+ refused: (0, serve_js_1.unansweredRefusal)(call.name, origin.arguments.map((argument) => ({
354
+ argument,
355
+ expected: 'one readable range and a confirmed time window',
356
+ }))),
357
+ });
358
+ }
359
+ }
360
+ if (clock !== undefined) {
361
+ const sources = deps.argumentSources === true
362
+ ? {
363
+ declared: new Map((0, sourceCorpus_js_1.declaredSourcesOf)(calls, deps.toolOf).map((source) => [source.toolCallId, source])),
364
+ }
365
+ : undefined;
366
+ // Already window-filled members have their canonical filled row from bindAnswer. Rebind
367
+ // preserved partial/complete scopes against the freshly recorded meaning, never their provenance.
368
+ const compare = materialized.filter((c) => settled.get(c.id)?.refused === undefined &&
369
+ !(settled.get(c.id)?.fills ?? []).some((f) => f.source === 'window' || (f.source === 'answered' && f.window === true)));
370
+ const decisions = (0, resolve_js_1.timeDecisionsOf)((0, resolve_js_1.declareBatch)(compare, deps.toolOf, sources), compare, deps.toolOf, {
371
+ now: clock.now,
372
+ zone: clock.zone,
373
+ turn: (0, windows_js_1.turnWindowsOf)(currentReadings, clock, currentAnswers),
374
+ ...(deps.time?.appZone !== undefined && { appZone: deps.time.appZone }),
375
+ }, sources);
376
+ (0, ledger_js_1.recordFindings)(scope, (0, resolve_js_1.callWindowRowsOf)(decisions, compare, { turn, iteration }), { turn });
377
+ for (const call of compare) {
378
+ const decision = decisions.get(call.id);
379
+ const rules = (0, declare_js_1.rulesOf)(deps.toolOf(call.name));
380
+ if (decision?.how === 'refused' && rules !== undefined && !(0, declare_js_1.isRefused)(rules)) {
381
+ settled.set(call.id, {
382
+ toolCallId: call.id,
383
+ iteration,
384
+ refused: (0, serve_js_1.timeRefusal)(call.name, decision.refused, (0, declare_js_1.periodFactsOf)(rules.period), 'argument' in decision ? decision.argument : undefined),
385
+ });
386
+ }
387
+ }
388
+ }
389
+ }
390
+ return { resolutions: settled, answered };
249
391
  }
250
392
  exports.askBeforeDispatch = askBeforeDispatch;
251
393
  //# sourceMappingURL=argumentAsk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"argumentAsk.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/argumentAsk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argumentAsk.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/argumentAsk.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ exports.buildEvidenceRecheckStage = void 0;
29
29
  const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
30
30
  const gate_js_1 = require("../evidence/gate.js");
31
31
  const recovery_js_1 = require("../evidence/recovery.js");
32
+ const match_js_1 = require("../scripts/match.js");
32
33
  const stagedRefs_js_1 = require("../stagedRefs.js");
33
34
  /**
34
35
  * Build the recheck stage. The decider already found the values and wrote the
@@ -69,7 +70,7 @@ function buildEvidenceRecheckStage(gate, stagedRefs) {
69
70
  rejectedDraft: flaggedAnswer,
70
71
  unsupported: values,
71
72
  ...(withholdTools && { toolsOff: true }),
72
- }, gate.recoveryInstruction, match, pending.conclusion);
73
+ }, gate.recoveryInstruction, match, pending.conclusion, pending.scriptClause);
73
74
  scope.evidenceRecoveryUsed = false;
74
75
  const newHistory = [...scope.history];
75
76
  // The one-per-turn latch, spent BEFORE the loop turns: a second flagged
@@ -96,6 +97,8 @@ function buildEvidenceRecheckStage(gate, stagedRefs) {
96
97
  stagedRefs: match.refs.map((r) => ({ ref: r.ref, kind: r.kind })),
97
98
  spenderTools: [...match.tools],
98
99
  }),
100
+ // Under `code: 'match'`: the draft's fenced blocks, as the match read them.
101
+ ...(pending.scripts !== undefined && { scripts: (0, match_js_1.copyScriptsVerdict)(pending.scripts) }),
99
102
  });
100
103
  // Close this iteration's bracket before the loop turns — every recorder
101
104
  // that synthesizes steps pairs `iteration_start`/`iteration_end` per