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
@@ -1,3 +1,27 @@
1
+ /**
2
+ * The UTF-8 bytes `value` serializes to — `JSON.stringify` and all its
3
+ * escaping included: a control character or a lone surrogate is six bytes
4
+ * (`\u0001`), a quote or a backslash two, a BMP character up to three, an
5
+ * astral one four. THE measure for every bound stated in serialized bytes —
6
+ * {@link copyJson}'s, the answer account's (`answer-account/size.ts`). `0`
7
+ * for a value JSON writes nothing for (`undefined`, a function). The text
8
+ * JSON writes holds no lone surrogate (each is escaped), so its UTF-8 length
9
+ * is exact.
10
+ */
11
+ export declare function jsonBytes(value: unknown): number;
12
+ /**
13
+ * The longest prefix of `text`, in whole code points, whose JSON string form
14
+ * (its quotes excluded) is at most `maxBytes` UTF-8 bytes — `text` itself
15
+ * when it fits. Each code point is measured by JSON's own escaping
16
+ * ({@link jsonBytes}), never by a second table of it.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * cutToJsonBytes('abc', 2); // 'ab'
21
+ * cutToJsonBytes('\u0001\u0001', 6); // '\u0001' — JSON writes each as six bytes
22
+ * ```
23
+ */
24
+ export declare function cutToJsonBytes(text: string, maxBytes: number): string;
1
25
  export declare function ownData(value: unknown, allowed?: readonly string[]): Record<string, unknown>;
2
26
  /** A list as {@link readOwnList} read it. */
3
27
  export interface OwnList {
@@ -1,5 +1,48 @@
1
1
  /** Strict, bounded JSON data helpers shared by internal validation boundaries. */
2
- const encoder = new TextEncoder();
2
+ import { isHighSurrogate, isLowSurrogate, utf8Length } from './utf8.js';
3
+ /**
4
+ * The UTF-8 bytes `value` serializes to — `JSON.stringify` and all its
5
+ * escaping included: a control character or a lone surrogate is six bytes
6
+ * (`\u0001`), a quote or a backslash two, a BMP character up to three, an
7
+ * astral one four. THE measure for every bound stated in serialized bytes —
8
+ * {@link copyJson}'s, the answer account's (`answer-account/size.ts`). `0`
9
+ * for a value JSON writes nothing for (`undefined`, a function). The text
10
+ * JSON writes holds no lone surrogate (each is escaped), so its UTF-8 length
11
+ * is exact.
12
+ */
13
+ export function jsonBytes(value) {
14
+ const text = JSON.stringify(value);
15
+ return text === undefined ? 0 : utf8Length(text);
16
+ }
17
+ /**
18
+ * The longest prefix of `text`, in whole code points, whose JSON string form
19
+ * (its quotes excluded) is at most `maxBytes` UTF-8 bytes — `text` itself
20
+ * when it fits. Each code point is measured by JSON's own escaping
21
+ * ({@link jsonBytes}), never by a second table of it.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * cutToJsonBytes('abc', 2); // 'ab'
26
+ * cutToJsonBytes('\u0001\u0001', 6); // '\u0001' — JSON writes each as six bytes
27
+ * ```
28
+ */
29
+ export function cutToJsonBytes(text, maxBytes) {
30
+ // UTF-16 length is a lower bound on JSON content bytes. Avoid serializing
31
+ // an arbitrarily long identity when only its bounded prefix can be returned.
32
+ if (text.length <= maxBytes && jsonBytes(text) - 2 <= maxBytes)
33
+ return text;
34
+ let used = 0;
35
+ let end = 0;
36
+ while (end < text.length) {
37
+ const width = isHighSurrogate(text.charCodeAt(end)) && isLowSurrogate(text.charCodeAt(end + 1)) ? 2 : 1;
38
+ const bytes = jsonBytes(text.slice(end, end + width)) - 2;
39
+ if (used + bytes > maxBytes)
40
+ break;
41
+ used += bytes;
42
+ end += width;
43
+ }
44
+ return text.slice(0, end);
45
+ }
3
46
  export function ownData(value, allowed) {
4
47
  if (value === null ||
5
48
  typeof value !== 'object' ||
@@ -71,7 +114,7 @@ export function copyJson(value, maxBytes, freeze, maxDepth = 100) {
71
114
  const string = (item) => {
72
115
  if (item.length > budget)
73
116
  throw new Error('JSON byte limit.');
74
- spend(encoder.encode(JSON.stringify(item)).byteLength);
117
+ spend(jsonBytes(item));
75
118
  };
76
119
  const copy = (item, depth) => {
77
120
  if (depth > maxDepth)
@@ -1 +1 @@
1
- {"version":3,"file":"boundedJson.js","sourceRoot":"","sources":["../../../src/lib/boundedJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boundedJson.js","sourceRoot":"","sources":["../../../src/lib/boundedJson.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * scriptRecord — the vocabulary of a code call on the record: the label its
3
+ * execution record earns, the verdict on a fenced block an answer shows, and
4
+ * the attachment that travels with an answer.
5
+ *
6
+ * Pattern: types only — the words two layers must agree on and cannot import
7
+ * each other for: the agent's script record (`core/agent/scripts/`,
8
+ * which re-exports every name here) and the event payloads that carry
9
+ * it (`events/payloads.ts` · `AgentEvidenceCheckedPayload`, `AgentTurnEndPayload`).
10
+ * Role: lib/ leaf (L0). No runtime code.
11
+ *
12
+ * Design: docs/design/2026-10-script-artifact.md. FOUR FACTS, KEPT APART:
13
+ * "this is the script submitted" and "this script ran" are facts about a CALL;
14
+ * "a tool returned this value" is the evidence gate's, from `role: 'tool'`
15
+ * results only; "this claim holds" has no record. No type here joins them.
16
+ */
17
+ /**
18
+ * What the record proves about one call of a code-running tool — read from
19
+ * the runner's EXECUTION evidence first, then from the call's SETTLEMENT, and
20
+ * never from result delivery (`core/agent/scripts/label.ts` · `scriptLabelOf`):
21
+ *
22
+ * - `submitted` — the program is on the record and the call has not returned
23
+ * (never dispatched, refused before `execute`, or still open). Never "did
24
+ * not run".
25
+ * - `returned` — the tool returned and the record holds no execution evidence:
26
+ * the tool filed no runner facts, or facts that report no outcome. The call
27
+ * completed; nothing proves the program ran.
28
+ * - `reported-success` / `reported-failure` — the runner's bare verdict, with
29
+ * no exit code: no claim that the program ran to an exit.
30
+ * - `completed` — an explicit exit code 0.
31
+ * - `completed-with-failure` — an explicit non-zero exit code: the program
32
+ * reached an exit; what it did before is not known from the exit.
33
+ * - `outcome-unknown` — no runner facts after a timeout, a cancellation or a
34
+ * thrown error, or a service error with no exit code.
35
+ *
36
+ * A reader must not promote a label to its neighbour.
37
+ */
38
+ export type ScriptLabel = 'submitted' | 'returned' | 'reported-success' | 'reported-failure' | 'completed' | 'completed-with-failure' | 'outcome-unknown';
39
+ /** Why a shown block matched no submission. */
40
+ export type UnmatchedReason =
41
+ /** Its content equals no program a call of THIS turn submitted. */
42
+ 'no-submission-this-turn'
43
+ /** Its content is over `MAX_SCRIPT_BYTES`: no row keeps a program that long. */
44
+ | 'over-size'
45
+ /** A reader of a redacted record: the rows' text is kept out. Never in the run. */
46
+ | 'kept-out';
47
+ /** The verdict on one fenced block of the answer, under `code: 'match'`. */
48
+ export type ScriptBlockVerdict = {
49
+ /** 1-based position among the answer's fenced blocks that were read. */
50
+ readonly block: number;
51
+ /** The matched call's own label — F2, never a fixed "executed". */
52
+ readonly label: ScriptLabel;
53
+ readonly exitCode?: number;
54
+ /** The provider's id for the call — display only; two calls may share one. */
55
+ readonly toolCallId: string;
56
+ readonly tool: string;
57
+ /**
58
+ * The library's identity for the matched call: the 1-based order of the
59
+ * actual dispatch within its turn. A reused provider id is a new dispatch;
60
+ * a pause and its settlement are one.
61
+ */
62
+ readonly dispatch: number;
63
+ /** Other calls of this turn that submitted byte-identical programs (the latest is named). */
64
+ readonly alsoMatches?: number;
65
+ } | {
66
+ readonly block: number;
67
+ readonly label: 'unmatched';
68
+ readonly reason: UnmatchedReason;
69
+ };
70
+ /** What the match says about one judged answer — on the verdict and `evidence_checked`. */
71
+ export interface ScriptsVerdict {
72
+ /** One entry per fenced block read, in answer order. Never the code. */
73
+ readonly blocks: readonly ScriptBlockVerdict[];
74
+ /** Script rows of EARLIER turns on the ledger — counted, never compared. */
75
+ readonly earlierTurnRows: number;
76
+ /** Fenced blocks past `MAX_CODE_REGIONS`: read as prose, never matched. */
77
+ readonly regionsDropped: number;
78
+ /**
79
+ * Calls of this turn past `MAX_SCRIPT_ROWS` (`AgentState.scriptsDropped`):
80
+ * they filed no row, so a block showing one of them cannot match. Absent
81
+ * when none was dropped.
82
+ */
83
+ readonly scriptsDropped?: number;
84
+ }
85
+ /** One attached script, as `turn_end.scripts.shown` carries it. */
86
+ export interface ShownScript {
87
+ /** The provider's id for the call — display only; two calls may share one. */
88
+ readonly toolCallId: string;
89
+ /** The library's identity for the call: its dispatch order within the turn. */
90
+ readonly dispatch: number;
91
+ /** The name the model called. */
92
+ readonly tool: string;
93
+ /** As declared. */
94
+ readonly language?: string;
95
+ readonly label: ScriptLabel;
96
+ /** Only when the runner supplied one. */
97
+ readonly exitCode?: number;
98
+ readonly resultWithheld?: 'over-ceiling';
99
+ /** A before-tool rule changed the program before dispatch. */
100
+ readonly rewritten?: true;
101
+ /** UTF-8 bytes of the whole program. */
102
+ readonly bytes: number;
103
+ readonly lines: number;
104
+ /** Present when `text` is a cut: how many bytes of `bytes` it holds. */
105
+ readonly truncated?: {
106
+ readonly shownBytes: number;
107
+ };
108
+ /** The program, cut at `maxBytes` — a model-written string. */
109
+ readonly text: string;
110
+ }
111
+ /** `turn_end.scripts` — present only under `.scriptTravelsWithTheAnswer()`. */
112
+ export interface TurnEndScripts {
113
+ readonly shown: readonly ShownScript[];
114
+ /**
115
+ * Calls of this turn not attached: past `MAX_ATTACHED_SCRIPTS`, a program
116
+ * over `MAX_SCRIPT_BYTES` (no text on its row), or a call past
117
+ * `MAX_SCRIPT_ROWS` (no row).
118
+ */
119
+ readonly omitted: number;
120
+ /**
121
+ * The fence the library CLOSED before the attachment: the text before it
122
+ * (the model's answer, and any library block above) ended inside a fence a
123
+ * renderer would still be in, so the library wrote the closing fence first
124
+ * and nothing the model left open could take the programs in. Present only
125
+ * when it closed one.
126
+ */
127
+ readonly closedFence?: {
128
+ readonly char: 'backtick' | 'tilde';
129
+ readonly length: number;
130
+ };
131
+ /**
132
+ * `true`: the programs are NOT in the answer's text, only here. The text
133
+ * before the attachment holds a line after which a renderer could pair
134
+ * fences another way (an indented fence, raw HTML, display math), so the
135
+ * library cannot tell what a program would render inside. The labels are
136
+ * in the text; the programs ride `shown[].text`. Absent otherwise.
137
+ */
138
+ readonly withheldFromText?: true;
139
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * scriptRecord — the vocabulary of a code call on the record: the label its
3
+ * execution record earns, the verdict on a fenced block an answer shows, and
4
+ * the attachment that travels with an answer.
5
+ *
6
+ * Pattern: types only — the words two layers must agree on and cannot import
7
+ * each other for: the agent's script record (`core/agent/scripts/`,
8
+ * which re-exports every name here) and the event payloads that carry
9
+ * it (`events/payloads.ts` · `AgentEvidenceCheckedPayload`, `AgentTurnEndPayload`).
10
+ * Role: lib/ leaf (L0). No runtime code.
11
+ *
12
+ * Design: docs/design/2026-10-script-artifact.md. FOUR FACTS, KEPT APART:
13
+ * "this is the script submitted" and "this script ran" are facts about a CALL;
14
+ * "a tool returned this value" is the evidence gate's, from `role: 'tool'`
15
+ * results only; "this claim holds" has no record. No type here joins them.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=scriptRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptRecord.js","sourceRoot":"","sources":["../../../src/lib/scriptRecord.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * utf8 — the one measure of a string in UTF-8 payload bytes, without encoding it.
3
+ *
4
+ * Pattern: pure leaf, no imports. One owner of "how many bytes is this text",
5
+ * asked wherever a bound is stated in bytes: a code runner's staged
6
+ * payload (`adapters/code/output.ts`) and a script on the record
7
+ * (`core/agent/scripts/`). Two readers that cannot import each other
8
+ * must not count the same program two ways.
9
+ * Role: lib/ leaf (layer L0).
10
+ *
11
+ * The unit is the UTF-8 encoding's length, `Buffer.byteLength(text, 'utf8')`
12
+ * on Node, measured here from UTF-16 code units so a browser build counts the
13
+ * same: an ASCII unit is 1 byte, up to U+07FF 2, the rest of the BMP 3, a
14
+ * surrogate PAIR 4. A lone surrogate counts 3 — what an encoder writes for it
15
+ * (U+FFFD) — so a malformed string is never measured short.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * utf8Length('é'); // 2
20
+ * utf8Length('\u{1F600}'); // 4
21
+ * utf8Prefix('aé€', 3); // 'aé' — '€' (3 bytes) would cross the bound
22
+ * ```
23
+ */
24
+ /** A UTF-16 high (leading) surrogate. */
25
+ export declare function isHighSurrogate(unit: number): boolean;
26
+ /** A UTF-16 low (trailing) surrogate. */
27
+ export declare function isLowSurrogate(unit: number): boolean;
28
+ /** UTF-8 byte length of a string, without encoding it. */
29
+ export declare function utf8Length(text: string): number;
30
+ /**
31
+ * The longest prefix of `text` whose UTF-8 length is at most `maxBytes`, cut
32
+ * at a CODE-POINT boundary: a character that would cross the bound is left
33
+ * out whole, never split (a surrogate pair is one character). Linear in the
34
+ * prefix it returns. `maxBytes` below 0 is read as 0.
35
+ */
36
+ export declare function utf8Prefix(text: string, maxBytes: number): string;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * utf8 — the one measure of a string in UTF-8 payload bytes, without encoding it.
3
+ *
4
+ * Pattern: pure leaf, no imports. One owner of "how many bytes is this text",
5
+ * asked wherever a bound is stated in bytes: a code runner's staged
6
+ * payload (`adapters/code/output.ts`) and a script on the record
7
+ * (`core/agent/scripts/`). Two readers that cannot import each other
8
+ * must not count the same program two ways.
9
+ * Role: lib/ leaf (layer L0).
10
+ *
11
+ * The unit is the UTF-8 encoding's length, `Buffer.byteLength(text, 'utf8')`
12
+ * on Node, measured here from UTF-16 code units so a browser build counts the
13
+ * same: an ASCII unit is 1 byte, up to U+07FF 2, the rest of the BMP 3, a
14
+ * surrogate PAIR 4. A lone surrogate counts 3 — what an encoder writes for it
15
+ * (U+FFFD) — so a malformed string is never measured short.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * utf8Length('é'); // 2
20
+ * utf8Length('\u{1F600}'); // 4
21
+ * utf8Prefix('aé€', 3); // 'aé' — '€' (3 bytes) would cross the bound
22
+ * ```
23
+ */
24
+ /** A UTF-16 high (leading) surrogate. */
25
+ export function isHighSurrogate(unit) {
26
+ return unit >= 0xd800 && unit <= 0xdbff;
27
+ }
28
+ /** A UTF-16 low (trailing) surrogate. */
29
+ export function isLowSurrogate(unit) {
30
+ return unit >= 0xdc00 && unit <= 0xdfff;
31
+ }
32
+ /** UTF-8 byte length of a string, without encoding it. */
33
+ export function utf8Length(text) {
34
+ let bytes = 0;
35
+ for (let i = 0; i < text.length; i++) {
36
+ const unit = text.charCodeAt(i);
37
+ if (unit < 0x80)
38
+ bytes += 1;
39
+ else if (unit < 0x800)
40
+ bytes += 2;
41
+ else if (isHighSurrogate(unit) && isLowSurrogate(text.charCodeAt(i + 1))) {
42
+ bytes += 4;
43
+ i++;
44
+ }
45
+ else
46
+ bytes += 3; // other BMP, and a lone surrogate (written as U+FFFD, 3 bytes)
47
+ }
48
+ return bytes;
49
+ }
50
+ /**
51
+ * The longest prefix of `text` whose UTF-8 length is at most `maxBytes`, cut
52
+ * at a CODE-POINT boundary: a character that would cross the bound is left
53
+ * out whole, never split (a surrogate pair is one character). Linear in the
54
+ * prefix it returns. `maxBytes` below 0 is read as 0.
55
+ */
56
+ export function utf8Prefix(text, maxBytes) {
57
+ let bytes = 0;
58
+ let i = 0;
59
+ while (i < text.length) {
60
+ const unit = text.charCodeAt(i);
61
+ const pair = isHighSurrogate(unit) && isLowSurrogate(text.charCodeAt(i + 1));
62
+ const width = unit < 0x80 ? 1 : unit < 0x800 ? 2 : pair ? 4 : 3;
63
+ if (bytes + width > maxBytes)
64
+ break;
65
+ bytes += width;
66
+ i += pair ? 2 : 1;
67
+ }
68
+ return i === text.length ? text : text.slice(0, i);
69
+ }
70
+ //# sourceMappingURL=utf8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../../src/lib/utf8.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,yCAAyC;AACzC,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;AAC1C,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;AAC1C,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,IAAI;YAAE,KAAK,IAAI,CAAC,CAAC;aACvB,IAAI,IAAI,GAAG,KAAK;YAAE,KAAK,IAAI,CAAC,CAAC;aAC7B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,KAAK,IAAI,CAAC,CAAC;YACX,CAAC,EAAE,CAAC;QACN,CAAC;;YAAM,KAAK,IAAI,CAAC,CAAC,CAAC,+DAA+D;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,KAAK,GAAG,KAAK,GAAG,QAAQ;YAAE,MAAM;QACpC,KAAK,IAAI,KAAK,CAAC;QACf,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -52,6 +52,7 @@
52
52
  import { type Tool, type ToolOwner, type ToolResultCeiling, type ToolResultColumns } from '../tools/tools.js';
53
53
  import type { ToolResultClass } from '../semantics/types.js';
54
54
  import { type AskOrAssume, type ToolPeriod } from '../tools/declare.js';
55
+ import { type ToolScript } from '../tools/script.js';
55
56
  import type { ToolSearch } from '../semantics/coverage/search/types.js';
56
57
  import { type TimeContext } from '../time/wire.js';
57
58
  /**
@@ -139,6 +140,14 @@ export interface McpToolExtras {
139
140
  * establish nothing: the server's words are untrusted.
140
141
  */
141
142
  readonly search?: ToolSearch;
143
+ /**
144
+ * This tool RUNS a program, carried by its one string argument `argument`
145
+ * — see {@link Tool.script}. It passes this file's bar: a consumer-side
146
+ * record reads it (which program a call submitted, matched against what the
147
+ * answer shows) and it governs nothing about how the server runs the tool.
148
+ * Judged against the listed tool's own `inputSchema`.
149
+ */
150
+ readonly script?: ToolScript;
142
151
  }
143
152
  /**
144
153
  * The `_meta` bag a `tools/call` request carries for a call handed
@@ -51,6 +51,7 @@
51
51
  */
52
52
  import { assertArgumentsFrom, assertComposedOf, assertGates, assertResultCeiling, assertResultClass, assertResultColumns, assertResultKind, assertToolOwner, } from '../tools/tools.js';
53
53
  import { assertAskOrAssume } from '../tools/declare.js';
54
+ import { assertToolScript, copyToolScript } from '../tools/script.js';
54
55
  import { assertToolSearch, freezeSearch, periodArgumentsOf, } from '../semantics/coverage/search/declaration.js';
55
56
  import { readTimeContext, TIME_CONTEXT_META_KEY } from '../time/wire.js';
56
57
  /**
@@ -104,6 +105,7 @@ export function toolExtrasOf(tool) {
104
105
  ...(tool.askOrAssume !== undefined && { askOrAssume: tool.askOrAssume }),
105
106
  ...(tool.period !== undefined && { period: tool.period }),
106
107
  ...(tool.search !== undefined && { search: tool.search }),
108
+ ...(tool.script !== undefined && { script: tool.script }),
107
109
  };
108
110
  return Object.keys(extras).length > 0 ? extras : undefined;
109
111
  }
@@ -154,6 +156,9 @@ export function readToolExtras(meta, origin) {
154
156
  inputSchema: schema,
155
157
  ...(periodArguments !== undefined && { periodArguments }),
156
158
  }));
159
+ // The program's argument, judged against the listed schema — the same rule
160
+ // `defineTool` runs (`tools/script.ts`), stored as a frozen copy.
161
+ const script = kept('script', (v) => assertToolScript(origin.tool, v, schema));
157
162
  return {
158
163
  ...(argumentsFrom !== undefined && { argumentsFrom }),
159
164
  ...(resultKind !== undefined && { resultKind }),
@@ -168,6 +173,7 @@ export function readToolExtras(meta, origin) {
168
173
  // Stored frozen, its value words a null-prototype map — a remote server's
169
174
  // words never index anything through an inherited key.
170
175
  ...(search !== undefined && { search: freezeSearch(search) }),
176
+ ...(script !== undefined && { script: copyToolScript(script) }),
171
177
  };
172
178
  }
173
179
  // ─── The reading, field by field ───────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"toolExtras.js","sourceRoot":"","sources":["../../../src/mcp/toolExtras.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolExtras.js","sourceRoot":"","sources":["../../../src/mcp/toolExtras.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ export const CONVERSATION_FEATURES = Object.freeze([
60
60
  'structured output (schema retries, the output fallback)',
61
61
  'memory (episodic, semantic, summarize, top-k) and retrieval (RAG)',
62
62
  'the evidence gate (names and numbers)',
63
+ 'code in an answer (a script submitted, shown and attached)',
63
64
  'a tool’s declared coverage and described results (absent, coverage, describedResult)',
64
65
  'compaction (the window folding the conversation)',
65
66
  'a person approving a call (check-in)',
@@ -119,12 +120,21 @@ const NAMES = {
119
120
  'pausedAskArgs',
120
121
  'pausedCheckInArgs',
121
122
  'pausedCredentialArgs',
123
+ // A code-running call that asked from inside `execute`: its program as
124
+ // proposed and as handed to the tool, carried to the row that settles it.
125
+ 'pausedScriptPrograms',
122
126
  // A consent request's record: its nonce lets whoever holds it confirm a
123
127
  // guess of the paused call's arguments against the request id
124
128
  // (`core/consentRequest.ts`), so it is kept out with them.
125
129
  'pausedRequest',
126
130
  'policyHaltArgs',
127
131
  'claimFacts',
132
+ // The findings ledger — and with it every `script` row's `text`, the program
133
+ // a code-running call submitted (`core/agent/scripts/`). The row's field is
134
+ // kept out by THIS name: `text` itself is too generic to name (it would hide
135
+ // structure on every event), and an attached script's `text` on
136
+ // `turn_end.scripts` is a model-written string the value-kind rule already
137
+ // serves as the placeholder.
128
138
  'findingsLedger',
129
139
  'findingsRequest',
130
140
  // The opt-in verifier's private evidence/selected executed scope. Resume
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/redaction/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/redaction/conversation.ts"],"names":[],"mappings":"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"}