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,130 @@
1
+ /**
2
+ * codeRegions — the fenced code blocks of an answer, read by one linear pass,
3
+ * closed where a CommonMark renderer closes them.
4
+ *
5
+ * Pattern: pure leaf. Imports nothing — it does not know the gate exists. The
6
+ * one reader of "which bytes of this answer sit inside a fenced
7
+ * block", asked by the script match (`../scripts/match.ts`) under
8
+ * `.namesAndNumbersFromEvidence({ code: 'match' })`. Under the
9
+ * default `code: 'check'` it is never called.
10
+ * Role: core/ layer (the evidence gate's folder), no state, no events.
11
+ *
12
+ * ## Why it must agree with the renderer
13
+ *
14
+ * A region that matches a submission is exempt from the evidence check. If
15
+ * this reader saw a block where a renderer shows prose, a model could submit a
16
+ * program holding a sentence, show it fenced so that the sentence renders
17
+ * outside the block, and the sentence would never be checked. So the reader
18
+ * closes a block exactly where CommonMark closes it. Where a renderer could
19
+ * pair fences another way, it stops reading blocks altogether.
20
+ *
21
+ * ## The grammar (design: docs/design/2026-10-script-artifact.md § 5.1–5.2, aligned with CommonMark)
22
+ *
23
+ * The answer is read line by line. A line ends at an LF, a CR or a CRLF, as
24
+ * CommonMark ends it.
25
+ *
26
+ * - An OPENING fence starts at column 0 with three or more backticks, or three
27
+ * or more tildes, then an optional info string, and ENDS IN A LINE ENDING.
28
+ * A backtick fence's info string may not contain a backtick.
29
+ * - The CLOSING fence uses the same character and is at least as long. As in
30
+ * CommonMark, it may be indented by up to three spaces and is followed only
31
+ * by spaces.
32
+ * - The CONTENT is exactly the bytes between the opening line's line ending
33
+ * and the ONE line ending before the closing line: every space, tab, CR and
34
+ * code point as written. Before the closing line, an LF is the wrapper's (a
35
+ * CR before it is content), and so is a lone CR. A closing fence on the line
36
+ * right after the opening one gives an empty block (content `''`).
37
+ * - A fence that never closes is NOT a region: the text from it to the end is
38
+ * prose.
39
+ * - At most {@link MAX_CODE_REGIONS} regions are read; the rest are prose and
40
+ * counted in `dropped`.
41
+ *
42
+ * ## Where reading stops (`stoppedAt`)
43
+ *
44
+ * The reader models CommonMark's top level only. It does not model list
45
+ * items, block quotes, HTML blocks or the extensions renderers add. At the
46
+ * first line where a renderer could pair fences another way, reading STOPS.
47
+ * No region is read from there on: everything after that point is prose and
48
+ * checked.
49
+ *
50
+ * Outside a block, reading stops at:
51
+ * - a fence indented by one to three spaces. It is either a list item's fence,
52
+ * which the item scopes, or an indented fence, whose content a renderer
53
+ * strips (and "as written" and "with the indentation removed" are two
54
+ * different programs);
55
+ * - a line that may start an HTML block (up to three spaces, `<`, then a
56
+ * letter, `/`, `!` or `?`). Inside an HTML block, a fence is not a fence;
57
+ * - a line opening display math (`$$`), the block extension chat renderers
58
+ * commonly add. Inside display math, a fence is not a fence;
59
+ * - a byte-order mark at the very start, which some renderers drop and some
60
+ * keep.
61
+ *
62
+ * Inside a block, reading stops at:
63
+ * - a closing run followed by a TAB. CommonMark 0.30 closes the block there
64
+ * and 0.29 does not, so the block is read (it is code either way) and
65
+ * reading stops after it;
66
+ * - a run of the block's own fence character, anywhere in its content, as long
67
+ * as its opening fence. A renderer laxer than CommonMark could close the
68
+ * block there, so the block is prose and reading stops at its opening line.
69
+ * The library's own wrapper never writes such a block
70
+ * (`../scripts/wrapper.ts` · `fenceFor`: the longest run + 1).
71
+ *
72
+ * Nothing here normalizes anything: no trimming, no line-ending rewrite, no
73
+ * Unicode normalization. A region is the program a reader would copy.
74
+ *
75
+ * ## Linear by construction
76
+ *
77
+ * The text is model output, so the pass is linear in it (the
78
+ * `lib/linearText.ts` law, pinned by `test/security/linear-scanners.test.ts`).
79
+ * Each line is read ONCE, character by character, from where the last one
80
+ * ended: its indentation, its fence run, the rest of it and its line ending.
81
+ * No regular expression runs over the answer.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const { regions } = codeRegionsOf('Total:\n```python\nprint(1)\n```\nDone.');
86
+ * regions[0].content; // 'print(1)'
87
+ * regions[0].block; // 1
88
+ * codeRegionsOf('```\na\n ```\nRevenue was 4321.').regions[0].content; // 'a'
89
+ * ```
90
+ */
91
+ /** Regions read per answer; the rest are prose and counted (`dropped`). Design § 4.4. */
92
+ export declare const MAX_CODE_REGIONS = 32;
93
+ /** One fenced block, as the answer wrote it. */
94
+ export interface CodeRegion {
95
+ /** 1-based position among the regions READ, in answer order. */
96
+ readonly block: number;
97
+ /** Index of the opening fence line's first character. */
98
+ readonly start: number;
99
+ /** Index just past the closing fence line (past its line ending when it has one). */
100
+ readonly end: number;
101
+ /** The bytes between the wrapper's two line endings — the program as written. */
102
+ readonly content: string;
103
+ /** The opening line's info string, as written (spaces excluded at the ends). */
104
+ readonly info: string;
105
+ }
106
+ /** Every region of one answer, and how many more there were. */
107
+ export interface CodeRegions {
108
+ readonly regions: readonly CodeRegion[];
109
+ /** Regions past {@link MAX_CODE_REGIONS}: read as prose, never matched. */
110
+ readonly dropped: number;
111
+ /**
112
+ * Where reading stopped, when it did: the index of the first character no
113
+ * region is read from. Everything from here on is prose. Absent when the
114
+ * whole answer was read.
115
+ */
116
+ readonly stoppedAt?: number;
117
+ /**
118
+ * The opening run of a fence still open at the END (`'```'`, `'~~~~'`) —
119
+ * the block a renderer is still inside there. The fence is prose for the
120
+ * match; a writer that appends after this text closes it first
121
+ * (`../scripts/attachment.ts` · `attachmentBoundary`). Never set with
122
+ * `stoppedAt`: after a stop the reader does not know what is open.
123
+ */
124
+ readonly openFence?: string;
125
+ }
126
+ /**
127
+ * The fenced code regions of `text`, in order, how many past the cap, and where
128
+ * reading stopped. Pure and linear; `max` defaults to {@link MAX_CODE_REGIONS}.
129
+ */
130
+ export declare function codeRegionsOf(text: string, max?: number): CodeRegions;
@@ -0,0 +1,275 @@
1
+ /**
2
+ * codeRegions — the fenced code blocks of an answer, read by one linear pass,
3
+ * closed where a CommonMark renderer closes them.
4
+ *
5
+ * Pattern: pure leaf. Imports nothing — it does not know the gate exists. The
6
+ * one reader of "which bytes of this answer sit inside a fenced
7
+ * block", asked by the script match (`../scripts/match.ts`) under
8
+ * `.namesAndNumbersFromEvidence({ code: 'match' })`. Under the
9
+ * default `code: 'check'` it is never called.
10
+ * Role: core/ layer (the evidence gate's folder), no state, no events.
11
+ *
12
+ * ## Why it must agree with the renderer
13
+ *
14
+ * A region that matches a submission is exempt from the evidence check. If
15
+ * this reader saw a block where a renderer shows prose, a model could submit a
16
+ * program holding a sentence, show it fenced so that the sentence renders
17
+ * outside the block, and the sentence would never be checked. So the reader
18
+ * closes a block exactly where CommonMark closes it. Where a renderer could
19
+ * pair fences another way, it stops reading blocks altogether.
20
+ *
21
+ * ## The grammar (design: docs/design/2026-10-script-artifact.md § 5.1–5.2, aligned with CommonMark)
22
+ *
23
+ * The answer is read line by line. A line ends at an LF, a CR or a CRLF, as
24
+ * CommonMark ends it.
25
+ *
26
+ * - An OPENING fence starts at column 0 with three or more backticks, or three
27
+ * or more tildes, then an optional info string, and ENDS IN A LINE ENDING.
28
+ * A backtick fence's info string may not contain a backtick.
29
+ * - The CLOSING fence uses the same character and is at least as long. As in
30
+ * CommonMark, it may be indented by up to three spaces and is followed only
31
+ * by spaces.
32
+ * - The CONTENT is exactly the bytes between the opening line's line ending
33
+ * and the ONE line ending before the closing line: every space, tab, CR and
34
+ * code point as written. Before the closing line, an LF is the wrapper's (a
35
+ * CR before it is content), and so is a lone CR. A closing fence on the line
36
+ * right after the opening one gives an empty block (content `''`).
37
+ * - A fence that never closes is NOT a region: the text from it to the end is
38
+ * prose.
39
+ * - At most {@link MAX_CODE_REGIONS} regions are read; the rest are prose and
40
+ * counted in `dropped`.
41
+ *
42
+ * ## Where reading stops (`stoppedAt`)
43
+ *
44
+ * The reader models CommonMark's top level only. It does not model list
45
+ * items, block quotes, HTML blocks or the extensions renderers add. At the
46
+ * first line where a renderer could pair fences another way, reading STOPS.
47
+ * No region is read from there on: everything after that point is prose and
48
+ * checked.
49
+ *
50
+ * Outside a block, reading stops at:
51
+ * - a fence indented by one to three spaces. It is either a list item's fence,
52
+ * which the item scopes, or an indented fence, whose content a renderer
53
+ * strips (and "as written" and "with the indentation removed" are two
54
+ * different programs);
55
+ * - a line that may start an HTML block (up to three spaces, `<`, then a
56
+ * letter, `/`, `!` or `?`). Inside an HTML block, a fence is not a fence;
57
+ * - a line opening display math (`$$`), the block extension chat renderers
58
+ * commonly add. Inside display math, a fence is not a fence;
59
+ * - a byte-order mark at the very start, which some renderers drop and some
60
+ * keep.
61
+ *
62
+ * Inside a block, reading stops at:
63
+ * - a closing run followed by a TAB. CommonMark 0.30 closes the block there
64
+ * and 0.29 does not, so the block is read (it is code either way) and
65
+ * reading stops after it;
66
+ * - a run of the block's own fence character, anywhere in its content, as long
67
+ * as its opening fence. A renderer laxer than CommonMark could close the
68
+ * block there, so the block is prose and reading stops at its opening line.
69
+ * The library's own wrapper never writes such a block
70
+ * (`../scripts/wrapper.ts` · `fenceFor`: the longest run + 1).
71
+ *
72
+ * Nothing here normalizes anything: no trimming, no line-ending rewrite, no
73
+ * Unicode normalization. A region is the program a reader would copy.
74
+ *
75
+ * ## Linear by construction
76
+ *
77
+ * The text is model output, so the pass is linear in it (the
78
+ * `lib/linearText.ts` law, pinned by `test/security/linear-scanners.test.ts`).
79
+ * Each line is read ONCE, character by character, from where the last one
80
+ * ended: its indentation, its fence run, the rest of it and its line ending.
81
+ * No regular expression runs over the answer.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const { regions } = codeRegionsOf('Total:\n```python\nprint(1)\n```\nDone.');
86
+ * regions[0].content; // 'print(1)'
87
+ * regions[0].block; // 1
88
+ * codeRegionsOf('```\na\n ```\nRevenue was 4321.').regions[0].content; // 'a'
89
+ * ```
90
+ */
91
+ /** Regions read per answer; the rest are prose and counted (`dropped`). Design § 4.4. */
92
+ export const MAX_CODE_REGIONS = 32;
93
+ const BACKTICK = 0x60;
94
+ const TILDE = 0x7e;
95
+ const SPACE = 0x20;
96
+ const TAB = 0x09;
97
+ const CR = 0x0d;
98
+ const LF = 0x0a;
99
+ const LESS_THAN = 0x3c;
100
+ const DOLLAR = 0x24;
101
+ const BYTE_ORDER_MARK = 0xfeff;
102
+ /**
103
+ * Read the line starting at `start`, each character once. `watch` is the fence
104
+ * character of the block that is open (0 when none): the longest run of it on
105
+ * the line is counted.
106
+ */
107
+ function readLine(text, start, watch) {
108
+ const length = text.length;
109
+ let i = start;
110
+ let c = i < length ? text.charCodeAt(i) : -1;
111
+ while (c === SPACE)
112
+ c = ++i < length ? text.charCodeAt(i) : -1;
113
+ const indent = i - start;
114
+ const first = c === CR || c === LF ? -1 : c;
115
+ let char = 0;
116
+ let run = 0;
117
+ let current = 0;
118
+ let longest = 0;
119
+ if (c === BACKTICK || c === TILDE) {
120
+ char = c;
121
+ while (c === char) {
122
+ run += 1;
123
+ c = ++i < length ? text.charCodeAt(i) : -1;
124
+ }
125
+ if (watch !== 0 && char === watch)
126
+ longest = current = run;
127
+ }
128
+ let restSpaces = true;
129
+ let restBlank = true;
130
+ let restBacktick = false;
131
+ let infoFrom = -1;
132
+ let infoTo = i;
133
+ while (c !== -1 && c !== CR && c !== LF) {
134
+ if (c !== SPACE) {
135
+ restSpaces = false;
136
+ if (c !== TAB)
137
+ restBlank = false;
138
+ if (infoFrom === -1)
139
+ infoFrom = i;
140
+ infoTo = i + 1;
141
+ }
142
+ if (c === BACKTICK)
143
+ restBacktick = true;
144
+ if (watch !== 0 && c === watch) {
145
+ current += 1;
146
+ if (current > longest)
147
+ longest = current;
148
+ }
149
+ else {
150
+ current = 0;
151
+ }
152
+ c = ++i < length ? text.charCodeAt(i) : -1;
153
+ }
154
+ const end = i;
155
+ let next = end;
156
+ if (c === CR) {
157
+ next = end + 1;
158
+ if (next < length && text.charCodeAt(next) === LF)
159
+ next += 1;
160
+ }
161
+ else if (c === LF) {
162
+ next = end + 1;
163
+ }
164
+ return {
165
+ end,
166
+ next,
167
+ terminated: next > end,
168
+ indent,
169
+ first,
170
+ char,
171
+ run,
172
+ restSpaces,
173
+ restBlank,
174
+ restBacktick,
175
+ infoFrom: infoFrom === -1 ? infoTo : infoFrom,
176
+ infoTo,
177
+ longest,
178
+ };
179
+ }
180
+ /**
181
+ * Whether a line outside any block could be read by a renderer as something
182
+ * that pairs fences another way: an indented fence, an HTML block's start, or
183
+ * display math.
184
+ */
185
+ function unsettles(text, lineStart, line) {
186
+ if (line.indent > 3)
187
+ return false;
188
+ if (line.run >= 3)
189
+ return line.indent > 0;
190
+ if (line.first !== LESS_THAN && line.first !== DOLLAR)
191
+ return false;
192
+ const second = text.charCodeAt(lineStart + line.indent + 1);
193
+ if (line.first === LESS_THAN) {
194
+ // A letter (an open tag), `/` (a closing tag), `!` (a comment, a
195
+ // declaration, CDATA) or `?` (a processing instruction).
196
+ const lower = second | 0x20;
197
+ return ((lower >= 0x61 && lower <= 0x7a) || second === 0x2f || second === 0x21 || second === 0x3f);
198
+ }
199
+ return second === DOLLAR;
200
+ }
201
+ /**
202
+ * The fenced code regions of `text`, in order, how many past the cap, and where
203
+ * reading stopped. Pure and linear; `max` defaults to {@link MAX_CODE_REGIONS}.
204
+ */
205
+ export function codeRegionsOf(text, max = MAX_CODE_REGIONS) {
206
+ const regions = [];
207
+ let dropped = 0;
208
+ if (text.length > 0 && text.charCodeAt(0) === BYTE_ORDER_MARK) {
209
+ return { regions, dropped, stoppedAt: 0 };
210
+ }
211
+ let open;
212
+ // The longest run of the open block's fence character in its content so far.
213
+ let longest = 0;
214
+ let lineStart = 0;
215
+ while (lineStart < text.length) {
216
+ const line = readLine(text, lineStart, open?.char ?? 0);
217
+ if (open === undefined) {
218
+ if (line.indent === 0 &&
219
+ line.run >= 3 &&
220
+ line.terminated &&
221
+ !(line.char === BACKTICK && line.restBacktick)) {
222
+ open = {
223
+ start: lineStart,
224
+ contentStart: line.next,
225
+ char: line.char,
226
+ length: line.run,
227
+ info: text.slice(line.infoFrom, line.infoTo),
228
+ };
229
+ longest = 0;
230
+ }
231
+ else if (unsettles(text, lineStart, line)) {
232
+ return { regions, dropped, stoppedAt: lineStart };
233
+ }
234
+ }
235
+ else if (line.indent <= 3 &&
236
+ line.char === open.char &&
237
+ line.run >= open.length &&
238
+ line.restBlank) {
239
+ // A laxer renderer could have closed the block inside its content.
240
+ if (longest >= open.length)
241
+ return { regions, dropped, stoppedAt: open.start };
242
+ if (regions.length < max) {
243
+ // The ONE line ending before the closing line is the wrapper's: its
244
+ // last character (the LF of an LF or a CRLF, or a lone CR). A closing
245
+ // line right after the opening one leaves an empty block.
246
+ const contentEnd = Math.max(open.contentStart, lineStart - 1);
247
+ regions.push({
248
+ block: regions.length + 1,
249
+ start: open.start,
250
+ end: line.next,
251
+ content: text.slice(open.contentStart, contentEnd),
252
+ info: open.info,
253
+ });
254
+ }
255
+ else {
256
+ dropped += 1;
257
+ }
258
+ open = undefined;
259
+ // A tab after the run: CommonMark versions disagree on what follows.
260
+ if (!line.restSpaces)
261
+ return { regions, dropped, stoppedAt: line.next };
262
+ }
263
+ else if (line.longest > longest) {
264
+ longest = line.longest;
265
+ }
266
+ lineStart = line.next;
267
+ }
268
+ // A fence still open here never closed: prose to the end, not a region —
269
+ // and the block a renderer is still inside, for a writer appending after.
270
+ if (open !== undefined) {
271
+ return { regions, dropped, openFence: String.fromCharCode(open.char).repeat(open.length) };
272
+ }
273
+ return { regions, dropped };
274
+ }
275
+ //# sourceMappingURL=codeRegions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeRegions.js","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/codeRegions.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,9 @@ import type { FigureCheck } from './figures.js';
66
66
  import type { EvidencePosture, EvidenceVerdict, NamesAndNumbersOptions, ResolvedEvidenceGate, UnsupportedValue } from './types.js';
67
67
  export { EVIDENCE_CHECK_FRAME_PREFIX };
68
68
  export { MAX_REPORTED_VALUES };
69
+ /** Clip a value for display without letting it pretend to be complete — the
70
+ * spelling every verdict reports a value under (`UnsupportedValue.value`). */
71
+ export declare function clip(v: string): string;
69
72
  /**
70
73
  * Validate the caller's options once, at build time, into the config the chart
71
74
  * carries. Refusals name the option and the fix — nothing here is discovered
@@ -74,8 +74,9 @@ export { EVIDENCE_CHECK_FRAME_PREFIX };
74
74
  export { MAX_REPORTED_VALUES };
75
75
  /** Longest a single value is quoted at. */
76
76
  const MAX_VALUE_CHARS = 64;
77
- /** Clip a value for display without letting it pretend to be complete. */
78
- function clip(v) {
77
+ /** Clip a value for display without letting it pretend to be complete — the
78
+ * spelling every verdict reports a value under (`UnsupportedValue.value`). */
79
+ export function clip(v) {
79
80
  return v.length <= MAX_VALUE_CHARS ? v : `${v.slice(0, MAX_VALUE_CHARS - 1)}…`;
80
81
  }
81
82
  /**
@@ -113,6 +114,14 @@ export function resolveEvidenceGate(opts = {}) {
113
114
  `whether it is a rounding, sum, ratio or unit conversion of the numbers one did; ` +
114
115
  `absent or \`false\` is the gate as it was.`);
115
116
  }
117
+ const code = opts.code ?? 'check';
118
+ if (code !== 'check' && code !== 'match') {
119
+ throw new Error(`AgentBuilder.namesAndNumbersFromEvidence: code '${String(opts.code)}' is not a mode ` +
120
+ "this library has. Use 'check' (the default — a fenced block is read as prose, as " +
121
+ "always) or 'match' (a fenced block that equals a program this turn's code-running " +
122
+ 'calls submitted is script content; any other block stays prose). There is no ' +
123
+ "'skip': exempting every fence would exempt any claim typed inside one.");
124
+ }
116
125
  const decimalRounding = opts.decimalRounding ?? false;
117
126
  if (typeof decimalRounding !== 'boolean') {
118
127
  throw new Error('AgentBuilder.namesAndNumbersFromEvidence: decimalRounding must be a boolean. ' +
@@ -164,6 +173,7 @@ export function resolveEvidenceGate(opts = {}) {
164
173
  nudge,
165
174
  figures,
166
175
  ...(decimalRounding && { decimalRounding: true }),
176
+ ...(code === 'match' && { code: 'match' }),
167
177
  ...(opts.recoveryInstruction !== undefined && {
168
178
  recoveryInstruction: opts.recoveryInstruction,
169
179
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAYxE,MAAM,QAAQ,GAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,8EAA8E;AAC9E,oEAAoE;AACpE,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAEvC,6EAA6E;AAC7E,sEAAsE;AACtE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,2CAA2C;AAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,0EAA0E;AAC1E,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA+B,EAAE;IACnE,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,sDAAsD,MAAM,CAAC,OAAO,CAAC,qBAAqB;YACxF,oFAAoF;YACpF,oFAAoF;YACpF,kCAAkC,CACrC,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,yFAAyF;YACvF,WAAW,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,uDAAuD;YACxF,0FAA0F,CAC7F,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,0EAA0E;YACxE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,+DAA+D;YACpF,sFAAsF;YACtF,0BAA0B,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IACtC,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uDAAuD;YAC9E,iFAAiF;YACjF,kFAAkF;YAClF,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;IACtD,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,+EAA+E;YAC7E,mFAAmF;YACnF,gEAAgE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,wFAAwF;gBACtF,kFAAkF;gBAClF,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,wEAAwE,IAAI,WAAW;gBACrF,6EAA6E,CAChF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,6BAA6B,CACtF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,EAAE,YAAY,MAAM;YAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACrD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;YAChC,sEAAsE;YACtE,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;gBAAE,IAAI,IAAI,KAAK,EAAE;oBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,MAAM;QACN,YAAY;QACZ,cAAc;QACd,SAAS;QACT,KAAK;QACL,OAAO;QACP,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,SAAS,IAAI;YAC5C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SAC9C,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,IAyBC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;QAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO;QAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;KAC3B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,eAAmC,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACpD,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,kCAAkC;QAClC,IAAI,IAAwB,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,kEAAkE;YAClE,gEAAgE;YAChE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,6DAA6D;YAC7D,sEAAsE;YACtE,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS;gBAC3E,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;oBACjB,IAAI,CAAC,OAAO,KAAK,SAAS;oBAC1B,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC;oBAChE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;oBACvC,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QACD,wEAAwE;QACxE,+CAA+C;QAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACtC,YAAY,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,cAAc,IAAI,CAAC,CAAC;QACpB,IAAI,eAAe,KAAK,SAAS,IAAI,IAAI,GAAG,eAAe;YAAE,eAAe,GAAG,IAAI,CAAC;IACtF,CAAC;IACD,OAAO;QACL,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,qEAAqE;QACrE,qFAAqF;QACrF,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QACjF,QAAQ;QACR,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/C,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;QAC1C,yEAAyE;QACzE,2BAA2B;QAC3B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACrD,SAAS,EAAE;YACT,YAAY;YACZ,cAAc;YACd,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;YACzD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB;YACtD,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;SACxC;KACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,MAAmC;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/D,CAAC;AAED,4CAA4C;AAC5C,yGAAyG;AACzG,mFAAmF;AACnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAAoB,EACpB,MAAmC,EACnC,UAA4B;IAE5B,MAAM,KAAK,GACT,GAAG,2BAA2B,2DAA2D;QACzF,0FAA0F;QAC1F,4FAA4F;QAC5F,cAAc;QACd,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACtE,6EAA6E;QAC7E,4FAA4F;QAC5F,2FAA2F;QAC3F,oBAAoB,CAAC;IACvB,OAAO;QACL,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;QAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE;KACnE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAmC,EACnC,OAAwB,EACxB,OAAgB;AAChB;2DAC2D;AAC3D,OAAiB;IAEjB,MAAM,IAAI,GACR,OAAO,KAAK,OAAO;QACjB,CAAC,CAAC,kDAAkD,MAAM,CAAC,MAAM,wDAAwD;QACzH,CAAC,CAAC,uCAAuC,MAAM,CAAC,MAAM,uDAAuD,CAAC;IAClH,OAAO,CACL,GAAG,IAAI,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI;QACvC,CAAC,OAAO,CAAC,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;YACnF,CAAC,CAAC,qFAAqF;gBACrF,sFAAsF;gBACtF,8BAA8B;YAChC,CAAC,CAAC,EAAE,CAAC;QACP,sFAAsF;QACtF,4FAA4F;QAC5F,2FAA2F;QAC3F,uFAAuF;QACvF,4FAA4F;QAC5F,yFAAyF;QACzF,4DAA4D,CAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/gate.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,11 @@ export declare function buildEvidenceRecovery(input: {
17
17
  }, extra?: EvidenceRecoveryInstruction, staged?: StagedRefsMatch,
18
18
  /** The figures dial's late line (`figures.ts` · `figuresConclusionLine`,
19
19
  * composed by Route, which loaded the module): rides the request LAST. */
20
- conclusion?: string): PendingEvidenceRecovery;
20
+ conclusion?: string,
21
+ /** Under `code: 'match'`: the script clause (`scripts/recovery.ts` ·
22
+ * `scriptRecoveryClause`, composed by Route) — after "Recovery action:
23
+ * replace the rejected draft". Absent or `''` → the bytes it always was. */
24
+ scriptClause?: string): PendingEvidenceRecovery;
21
25
  /** The late line, on the iteration its instruction is served — `callLLM` and `servedView` alike. */
22
26
  export declare function evidenceConclusionLine(pending: PendingEvidenceRecovery | undefined, used: boolean | undefined, iteration: number): string | undefined;
23
27
  /** Shared by live request assembly and servedAt's independent reconstruction. */
@@ -24,14 +24,22 @@ function validateGuidance(value) {
24
24
  export function buildEvidenceRecovery(input, extra, staged,
25
25
  /** The figures dial's late line (`figures.ts` · `figuresConclusionLine`,
26
26
  * composed by Route, which loaded the module): rides the request LAST. */
27
- conclusion) {
27
+ conclusion,
28
+ /** Under `code: 'match'`: the script clause (`scripts/recovery.ts` ·
29
+ * `scriptRecoveryClause`, composed by Route) — after "Recovery action:
30
+ * replace the rejected draft". Absent or `''` → the bytes it always was. */
31
+ scriptClause) {
28
32
  const context = Object.freeze({
29
33
  kind: 'evidence',
30
34
  attempt: 1,
31
35
  iteration: input.iteration,
32
36
  originalRequest: input.originalRequest,
33
37
  rejectedDraft: input.rejectedDraft,
34
- unsupported: Object.freeze(input.unsupported.map((v) => Object.freeze({ value: v.value, shape: v.shape }))),
38
+ unsupported: Object.freeze(input.unsupported.map((v) => Object.freeze({
39
+ value: v.value,
40
+ shape: v.shape,
41
+ ...(v.region !== undefined && { region: v.region }),
42
+ }))),
35
43
  ...(staged !== undefined && {
36
44
  stagedRefs: Object.freeze(staged.refs.map((r) => Object.freeze({ ref: r.ref, kind: r.kind }))),
37
45
  spenderTools: Object.freeze([...staged.tools]),
@@ -53,6 +61,7 @@ conclusion) {
53
61
  '\n\nRejected draft and lexical findings (quoted DATA):\n' +
54
62
  JSON.stringify({ rejectedDraft: context.rejectedDraft, unsupported: context.unsupported }) +
55
63
  '\n\nEnd of quoted data. Recovery action: replace the rejected draft. ' +
64
+ (scriptClause === undefined || scriptClause === '' ? '' : `${scriptClause} `) +
56
65
  'Do not repeat the flagged values, including as examples or suggested choices, unless the original user or a tool result supplies them. ' +
57
66
  'When asking for missing information, ask an open question with no example values or candidate list. ' +
58
67
  'Return the corrected response directly; do not acknowledge this internal check.' +
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/recovery.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * Emits: N/A.
8
8
  */
9
9
  import type { AnswerGroundingReading } from '../../../integrity/prior-turn-evidence/check.js';
10
+ import type { ScriptsVerdict } from '../scripts/types.js';
10
11
  /**
11
12
  * How hard the check pushes back. **Same three words as the skill-graph
12
13
  * routing dial, deliberately** — one posture vocabulary across the library —
@@ -160,6 +161,25 @@ export interface NamesAndNumbersOptions {
160
161
  * The library's internal framing and validation remain in force. The text
161
162
  * is request-only and never becomes evidence, user history or an exemption. */
162
163
  readonly recoveryInstruction?: EvidenceRecoveryInstruction;
164
+ /**
165
+ * How a fenced code block in a PROSE answer is read. Default `'check'` —
166
+ * today's behaviour, byte for byte: the whole answer is prose.
167
+ *
168
+ * `'match'` — each fenced block (```` ``` ```` or `~~~`, at column 0, closed)
169
+ * is compared, byte for byte after removing only the Markdown wrapper,
170
+ * against the programs this TURN's calls of a declared code-running tool
171
+ * (`Tool.script`, which `codeRunnerTool` declares) submitted to the tool. A
172
+ * block that matches one is script content: it yields no value to ground
173
+ * and is labelled with that call's recorded outcome (`completed, exit 0`,
174
+ * `outcome unknown`, …). A block that matches none stays prose, checked as
175
+ * today, and is labelled `unmatched`. Code is never evidence: a value in the
176
+ * prose that also sits in the script still needs a tool result.
177
+ *
178
+ * Inline spans, unclosed fences and indented code are prose. A typed answer
179
+ * is not scanned. There is no `'skip'`: exempting every fence would be an
180
+ * exemption by formatting. See `core/agent/scripts/README.md`.
181
+ */
182
+ readonly code?: 'check' | 'match';
163
183
  }
164
184
  /**
165
185
  * One value a tool result DID carry (9.110.0): the candidate as normalized
@@ -192,6 +212,12 @@ export interface UnsupportedValue {
192
212
  /** Which rule made it a candidate: `'identifier'`, `'number'`, or the name
193
213
  * of a declared {@link EvidenceShape}. */
194
214
  readonly shape: string;
215
+ /**
216
+ * Under `code: 'match'` only: `'code'` when every occurrence of the value is
217
+ * inside a fenced block that matched no submission (checked as prose all the
218
+ * same), `'prose'` otherwise. Absent under `'check'`.
219
+ */
220
+ readonly region?: 'prose' | 'code';
195
221
  }
196
222
  /**
197
223
  * What the builder resolved once and the chart carries for the whole run.
@@ -217,6 +243,8 @@ export interface ResolvedEvidenceGate {
217
243
  /** Present only when true: an absent dial preserves resolved default bytes. */
218
244
  readonly decimalRounding?: true;
219
245
  readonly recoveryInstruction?: EvidenceRecoveryInstruction;
246
+ /** Present only for `code: 'match'`: an absent field is `'check'`, byte for byte. */
247
+ readonly code?: 'match';
220
248
  /**
221
249
  * Set by the agent, never by `resolveEvidenceGate`: a posture that can
222
250
  * revise under an ENFORCING answer validation. The revision and every later
@@ -300,4 +328,11 @@ export interface EvidenceVerdict {
300
328
  * no posture changes because of it.
301
329
  */
302
330
  readonly grounding: AnswerGroundingReading;
331
+ /**
332
+ * Under `code: 'match'` on a prose answer: the verdict on each fenced block
333
+ * (matched → its call's label, or `unmatched` with a reason), the script
334
+ * rows of earlier turns counted, and blocks past the cap counted. Never the
335
+ * code. Absent under `'check'` and on a typed answer.
336
+ */
337
+ readonly scripts?: ScriptsVerdict;
303
338
  }