agentfootprint 10.9.0 → 11.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 (1100) hide show
  1. package/AGENTS.md +14 -4
  2. package/CAPABILITIES.md +16 -3
  3. package/README.md +115 -52
  4. package/ai-instructions/claude-code/SKILL.md +14 -4
  5. package/dist/adapters/hosting/agentCoreA2A.js +4 -0
  6. package/dist/adapters/hosting/agentCoreA2A.js.map +1 -1
  7. package/dist/adapters/hosting/firestoreSessions.js +9 -2
  8. package/dist/adapters/hosting/firestoreSessions.js.map +1 -1
  9. package/dist/adapters/hosting/googleAgentEngine.js +4 -6
  10. package/dist/adapters/hosting/googleAgentEngine.js.map +1 -1
  11. package/dist/adapters/llm/AnthropicProvider.js +4 -0
  12. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  13. package/dist/adapters/llm/BrowserAnthropicProvider.js +4 -0
  14. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  15. package/dist/adapters/llm/MockProvider.js +2 -0
  16. package/dist/adapters/llm/MockProvider.js.map +1 -1
  17. package/dist/ag-ui/request.js +27 -2
  18. package/dist/ag-ui/request.js.map +1 -1
  19. package/dist/ag-ui/serializer.js +21 -8
  20. package/dist/ag-ui/serializer.js.map +1 -1
  21. package/dist/answer-account/facts/howSure.js +3 -0
  22. package/dist/answer-account/facts/howSure.js.map +1 -1
  23. package/dist/answer-account/templates.js +4 -1
  24. package/dist/answer-account/templates.js.map +1 -1
  25. package/dist/answer-validation/agentChecks.js +130 -0
  26. package/dist/answer-validation/agentChecks.js.map +1 -0
  27. package/dist/answer-validation/index.js +5 -1
  28. package/dist/answer-validation/index.js.map +1 -1
  29. package/dist/answer-validation/outputSchema.js +8 -1
  30. package/dist/answer-validation/outputSchema.js.map +1 -1
  31. package/dist/answer-validation/types.js +9 -2
  32. package/dist/answer-validation/types.js.map +1 -1
  33. package/dist/answer-validation/validate.js +82 -3
  34. package/dist/answer-validation/validate.js.map +1 -1
  35. package/dist/core/Agent.js +214 -59
  36. package/dist/core/Agent.js.map +1 -1
  37. package/dist/core/RunnerBase.js +4 -0
  38. package/dist/core/RunnerBase.js.map +1 -1
  39. package/dist/core/agent/AgentBuilder.js +139 -33
  40. package/dist/core/agent/AgentBuilder.js.map +1 -1
  41. package/dist/core/agent/arguments/checks.js +1 -1
  42. package/dist/core/agent/arguments/subflow.js +1 -0
  43. package/dist/core/agent/arguments/subflow.js.map +1 -1
  44. package/dist/core/agent/assessment/assess.js +31 -0
  45. package/dist/core/agent/assessment/assess.js.map +1 -1
  46. package/dist/core/agent/assessment/compose.js +3 -0
  47. package/dist/core/agent/assessment/compose.js.map +1 -1
  48. package/dist/core/agent/assessment/reasons.js +19 -1
  49. package/dist/core/agent/assessment/reasons.js.map +1 -1
  50. package/dist/core/agent/buildAgentChart.js +7 -17
  51. package/dist/core/agent/buildAgentChart.js.map +1 -1
  52. package/dist/core/agent/buildDynamicAgentChart.js +18 -15
  53. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  54. package/dist/core/agent/buildToolRegistry.js +13 -0
  55. package/dist/core/agent/buildToolRegistry.js.map +1 -1
  56. package/dist/core/agent/composeRequest.js +19 -1
  57. package/dist/core/agent/composeRequest.js.map +1 -1
  58. package/dist/core/agent/evidence/answerCarriers.js +1 -1
  59. package/dist/core/agent/evidence/answerCarriers.js.map +1 -1
  60. package/dist/core/agent/evidence/evidenceIndex.js +1 -1
  61. package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
  62. package/dist/core/agent/evidence/extract.js +139 -32
  63. package/dist/core/agent/evidence/extract.js.map +1 -1
  64. package/dist/core/agent/evidence/figures.js +1 -1
  65. package/dist/core/agent/evidence/figures.js.map +1 -1
  66. package/dist/core/agent/evidence/frames.js +3 -1
  67. package/dist/core/agent/evidence/frames.js.map +1 -1
  68. package/dist/core/agent/evidence/gate.js +10 -2
  69. package/dist/core/agent/evidence/gate.js.map +1 -1
  70. package/dist/core/agent/evidence/numericRanges.js +1 -1
  71. package/dist/core/agent/evidence/numericRanges.js.map +1 -1
  72. package/dist/core/agent/evidence/recovery.js +3 -1
  73. package/dist/core/agent/evidence/recovery.js.map +1 -1
  74. package/dist/core/agent/evidence/resultCarries.js +3 -3
  75. package/dist/core/agent/evidence/resultCarries.js.map +1 -1
  76. package/dist/core/agent/findings/context.js +163 -0
  77. package/dist/core/agent/findings/context.js.map +1 -0
  78. package/dist/core/agent/findings/contingent.js +1 -1
  79. package/dist/core/agent/findings/contingent.js.map +1 -1
  80. package/dist/core/agent/findings/instruction.js +26 -0
  81. package/dist/core/agent/findings/instruction.js.map +1 -0
  82. package/dist/core/agent/findings/ledger.js +49 -0
  83. package/dist/core/agent/findings/ledger.js.map +1 -1
  84. package/dist/core/agent/findings/negativeProse.js +53 -0
  85. package/dist/core/agent/findings/negativeProse.js.map +1 -0
  86. package/dist/core/agent/findings/offer.js +9 -57
  87. package/dist/core/agent/findings/offer.js.map +1 -1
  88. package/dist/core/agent/findings/reserved.js +12 -83
  89. package/dist/core/agent/findings/reserved.js.map +1 -1
  90. package/dist/core/agent/findings/types.js +3 -2
  91. package/dist/core/agent/findings/types.js.map +1 -1
  92. package/dist/core/agent/honesty/mounts.js +6 -0
  93. package/dist/core/agent/honesty/mounts.js.map +1 -1
  94. package/dist/core/agent/nativeOutputFormat.js +19 -1
  95. package/dist/core/agent/nativeOutputFormat.js.map +1 -1
  96. package/dist/core/agent/negativeClaims/capture.js +522 -0
  97. package/dist/core/agent/negativeClaims/capture.js.map +1 -0
  98. package/dist/core/agent/negativeClaims/checkpoint.js +83 -0
  99. package/dist/core/agent/negativeClaims/checkpoint.js.map +1 -0
  100. package/dist/core/agent/negativeClaims/config.js +192 -0
  101. package/dist/core/agent/negativeClaims/config.js.map +1 -0
  102. package/dist/core/agent/negativeClaims/delivery.js +249 -0
  103. package/dist/core/agent/negativeClaims/delivery.js.map +1 -0
  104. package/dist/core/agent/negativeClaims/observe.js +38 -0
  105. package/dist/core/agent/negativeClaims/observe.js.map +1 -0
  106. package/dist/core/agent/negativeClaims/prose.js +116 -0
  107. package/dist/core/agent/negativeClaims/prose.js.map +1 -0
  108. package/dist/core/agent/negativeClaims/recheck.js +37 -0
  109. package/dist/core/agent/negativeClaims/recheck.js.map +1 -0
  110. package/dist/core/agent/outputEnforcement.js.map +1 -1
  111. package/dist/core/agent/stages/answerEvidence.js +21 -0
  112. package/dist/core/agent/stages/answerEvidence.js.map +1 -0
  113. package/dist/core/agent/stages/answerValidation.js +112 -4
  114. package/dist/core/agent/stages/answerValidation.js.map +1 -1
  115. package/dist/core/agent/stages/callLLM.js +82 -41
  116. package/dist/core/agent/stages/callLLM.js.map +1 -1
  117. package/dist/core/agent/stages/evidenceRecheck.js +16 -2
  118. package/dist/core/agent/stages/evidenceRecheck.js.map +1 -1
  119. package/dist/core/agent/stages/outputRetry.js +23 -7
  120. package/dist/core/agent/stages/outputRetry.js.map +1 -1
  121. package/dist/core/agent/stages/prepareFinal.js +6 -1
  122. package/dist/core/agent/stages/prepareFinal.js.map +1 -1
  123. package/dist/core/agent/stages/reliabilityExecution.js +3 -0
  124. package/dist/core/agent/stages/reliabilityExecution.js.map +1 -1
  125. package/dist/core/agent/stages/route.js +81 -33
  126. package/dist/core/agent/stages/route.js.map +1 -1
  127. package/dist/core/agent/stages/searchCoverage.js +121 -0
  128. package/dist/core/agent/stages/searchCoverage.js.map +1 -0
  129. package/dist/core/agent/stages/seed.js +19 -21
  130. package/dist/core/agent/stages/seed.js.map +1 -1
  131. package/dist/core/agent/stages/toolCalls.js +699 -76
  132. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  133. package/dist/core/agent/toolChoice/compose.js +1 -0
  134. package/dist/core/agent/toolChoice/compose.js.map +1 -1
  135. package/dist/core/agent/toolChoice/pick.js +2 -0
  136. package/dist/core/agent/toolChoice/pick.js.map +1 -1
  137. package/dist/core/checkin.js +82 -18
  138. package/dist/core/checkin.js.map +1 -1
  139. package/dist/core/consentRequest.js +844 -0
  140. package/dist/core/consentRequest.js.map +1 -0
  141. package/dist/core/pause.js +104 -6
  142. package/dist/core/pause.js.map +1 -1
  143. package/dist/core/runCheckpoint.js +8 -1
  144. package/dist/core/runCheckpoint.js.map +1 -1
  145. package/dist/core/slots/buildToolsSlot.js +4 -24
  146. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  147. package/dist/debug.js +2 -0
  148. package/dist/debug.js.map +1 -1
  149. package/dist/esm/adapters/hosting/agentCoreA2A.js +4 -0
  150. package/dist/esm/adapters/hosting/agentCoreA2A.js.map +1 -1
  151. package/dist/esm/adapters/hosting/firestoreSessions.js +9 -2
  152. package/dist/esm/adapters/hosting/firestoreSessions.js.map +1 -1
  153. package/dist/esm/adapters/hosting/googleAgentEngine.js +4 -6
  154. package/dist/esm/adapters/hosting/googleAgentEngine.js.map +1 -1
  155. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +1 -0
  156. package/dist/esm/adapters/llm/AnthropicProvider.js +5 -1
  157. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  158. package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +1 -0
  159. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +5 -1
  160. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  161. package/dist/esm/adapters/llm/MockProvider.d.ts +2 -0
  162. package/dist/esm/adapters/llm/MockProvider.js +2 -0
  163. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  164. package/dist/esm/ag-ui/request.d.ts +4 -1
  165. package/dist/esm/ag-ui/request.js +27 -2
  166. package/dist/esm/ag-ui/request.js.map +1 -1
  167. package/dist/esm/ag-ui/serializer.d.ts +15 -2
  168. package/dist/esm/ag-ui/serializer.js +20 -7
  169. package/dist/esm/ag-ui/serializer.js.map +1 -1
  170. package/dist/esm/answer-account/facts/howSure.js +3 -0
  171. package/dist/esm/answer-account/facts/howSure.js.map +1 -1
  172. package/dist/esm/answer-account/templates.d.ts +4 -1
  173. package/dist/esm/answer-account/templates.js +4 -1
  174. package/dist/esm/answer-account/templates.js.map +1 -1
  175. package/dist/esm/answer-validation/agentChecks.d.ts +75 -0
  176. package/dist/esm/answer-validation/agentChecks.js +125 -0
  177. package/dist/esm/answer-validation/agentChecks.js.map +1 -0
  178. package/dist/esm/answer-validation/index.d.ts +2 -1
  179. package/dist/esm/answer-validation/index.js +1 -0
  180. package/dist/esm/answer-validation/index.js.map +1 -1
  181. package/dist/esm/answer-validation/outputSchema.d.ts +18 -7
  182. package/dist/esm/answer-validation/outputSchema.js +8 -1
  183. package/dist/esm/answer-validation/outputSchema.js.map +1 -1
  184. package/dist/esm/answer-validation/types.d.ts +125 -1
  185. package/dist/esm/answer-validation/types.js +9 -2
  186. package/dist/esm/answer-validation/types.js.map +1 -1
  187. package/dist/esm/answer-validation/validate.d.ts +11 -2
  188. package/dist/esm/answer-validation/validate.js +82 -3
  189. package/dist/esm/answer-validation/validate.js.map +1 -1
  190. package/dist/esm/core/Agent.d.ts +25 -1
  191. package/dist/esm/core/Agent.js +202 -47
  192. package/dist/esm/core/Agent.js.map +1 -1
  193. package/dist/esm/core/RunnerBase.js +4 -0
  194. package/dist/esm/core/RunnerBase.js.map +1 -1
  195. package/dist/esm/core/agent/AgentBuilder.d.ts +43 -12
  196. package/dist/esm/core/agent/AgentBuilder.js +135 -29
  197. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  198. package/dist/esm/core/agent/arguments/checks.d.ts +1 -1
  199. package/dist/esm/core/agent/arguments/checks.js +1 -1
  200. package/dist/esm/core/agent/arguments/subflow.d.ts +6 -0
  201. package/dist/esm/core/agent/arguments/subflow.js +1 -0
  202. package/dist/esm/core/agent/arguments/subflow.js.map +1 -1
  203. package/dist/esm/core/agent/assessment/assess.js +31 -0
  204. package/dist/esm/core/agent/assessment/assess.js.map +1 -1
  205. package/dist/esm/core/agent/assessment/compose.js +3 -0
  206. package/dist/esm/core/agent/assessment/compose.js.map +1 -1
  207. package/dist/esm/core/agent/assessment/reasons.js +19 -1
  208. package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
  209. package/dist/esm/core/agent/assessment/types.d.ts +3 -2
  210. package/dist/esm/core/agent/buildAgentChart.d.ts +4 -12
  211. package/dist/esm/core/agent/buildAgentChart.js +7 -17
  212. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  213. package/dist/esm/core/agent/buildDynamicAgentChart.js +18 -15
  214. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  215. package/dist/esm/core/agent/buildToolRegistry.js +13 -0
  216. package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
  217. package/dist/esm/core/agent/composeRequest.d.ts +19 -0
  218. package/dist/esm/core/agent/composeRequest.js +17 -0
  219. package/dist/esm/core/agent/composeRequest.js.map +1 -1
  220. package/dist/esm/core/agent/evidence/answerCarriers.js +1 -1
  221. package/dist/esm/core/agent/evidence/answerCarriers.js.map +1 -1
  222. package/dist/esm/core/agent/evidence/evidenceIndex.js +1 -1
  223. package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
  224. package/dist/esm/core/agent/evidence/extract.d.ts +45 -6
  225. package/dist/esm/core/agent/evidence/extract.js +136 -30
  226. package/dist/esm/core/agent/evidence/extract.js.map +1 -1
  227. package/dist/esm/core/agent/evidence/figures.js +1 -1
  228. package/dist/esm/core/agent/evidence/figures.js.map +1 -1
  229. package/dist/esm/core/agent/evidence/frames.js +4 -2
  230. package/dist/esm/core/agent/evidence/frames.js.map +1 -1
  231. package/dist/esm/core/agent/evidence/gate.d.ts +6 -0
  232. package/dist/esm/core/agent/evidence/gate.js +11 -3
  233. package/dist/esm/core/agent/evidence/gate.js.map +1 -1
  234. package/dist/esm/core/agent/evidence/numericRanges.js +1 -1
  235. package/dist/esm/core/agent/evidence/numericRanges.js.map +1 -1
  236. package/dist/esm/core/agent/evidence/recovery.d.ts +2 -0
  237. package/dist/esm/core/agent/evidence/recovery.js +3 -1
  238. package/dist/esm/core/agent/evidence/recovery.js.map +1 -1
  239. package/dist/esm/core/agent/evidence/resultCarries.d.ts +2 -2
  240. package/dist/esm/core/agent/evidence/resultCarries.js +3 -3
  241. package/dist/esm/core/agent/evidence/resultCarries.js.map +1 -1
  242. package/dist/esm/core/agent/evidence/types.d.ts +17 -0
  243. package/dist/esm/core/agent/findings/context.d.ts +13 -0
  244. package/dist/esm/core/agent/findings/context.js +158 -0
  245. package/dist/esm/core/agent/findings/context.js.map +1 -0
  246. package/dist/esm/core/agent/findings/contingent.js +1 -1
  247. package/dist/esm/core/agent/findings/contingent.js.map +1 -1
  248. package/dist/esm/core/agent/findings/instruction.d.ts +12 -0
  249. package/dist/esm/core/agent/findings/instruction.js +22 -0
  250. package/dist/esm/core/agent/findings/instruction.js.map +1 -0
  251. package/dist/esm/core/agent/findings/ledger.d.ts +3 -0
  252. package/dist/esm/core/agent/findings/ledger.js +49 -0
  253. package/dist/esm/core/agent/findings/ledger.js.map +1 -1
  254. package/dist/esm/core/agent/findings/negativeProse.d.ts +1 -0
  255. package/dist/esm/core/agent/findings/negativeProse.js +49 -0
  256. package/dist/esm/core/agent/findings/negativeProse.js.map +1 -0
  257. package/dist/esm/core/agent/findings/offer.d.ts +9 -57
  258. package/dist/esm/core/agent/findings/offer.js +9 -57
  259. package/dist/esm/core/agent/findings/offer.js.map +1 -1
  260. package/dist/esm/core/agent/findings/reserved.d.ts +7 -31
  261. package/dist/esm/core/agent/findings/reserved.js +12 -83
  262. package/dist/esm/core/agent/findings/reserved.js.map +1 -1
  263. package/dist/esm/core/agent/findings/types.d.ts +11 -4
  264. package/dist/esm/core/agent/findings/types.js +3 -2
  265. package/dist/esm/core/agent/findings/types.js.map +1 -1
  266. package/dist/esm/core/agent/honesty/mounts.d.ts +7 -0
  267. package/dist/esm/core/agent/honesty/mounts.js +6 -0
  268. package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
  269. package/dist/esm/core/agent/nativeOutputFormat.d.ts +2 -1
  270. package/dist/esm/core/agent/nativeOutputFormat.js +19 -1
  271. package/dist/esm/core/agent/nativeOutputFormat.js.map +1 -1
  272. package/dist/esm/core/agent/negativeClaims/capture.d.ts +65 -0
  273. package/dist/esm/core/agent/negativeClaims/capture.js +508 -0
  274. package/dist/esm/core/agent/negativeClaims/capture.js.map +1 -0
  275. package/dist/esm/core/agent/negativeClaims/checkpoint.d.ts +7 -0
  276. package/dist/esm/core/agent/negativeClaims/checkpoint.js +79 -0
  277. package/dist/esm/core/agent/negativeClaims/checkpoint.js.map +1 -0
  278. package/dist/esm/core/agent/negativeClaims/config.d.ts +66 -0
  279. package/dist/esm/core/agent/negativeClaims/config.js +185 -0
  280. package/dist/esm/core/agent/negativeClaims/config.js.map +1 -0
  281. package/dist/esm/core/agent/negativeClaims/delivery.d.ts +24 -0
  282. package/dist/esm/core/agent/negativeClaims/delivery.js +244 -0
  283. package/dist/esm/core/agent/negativeClaims/delivery.js.map +1 -0
  284. package/dist/esm/core/agent/negativeClaims/observe.d.ts +14 -0
  285. package/dist/esm/core/agent/negativeClaims/observe.js +34 -0
  286. package/dist/esm/core/agent/negativeClaims/observe.js.map +1 -0
  287. package/dist/esm/core/agent/negativeClaims/prose.d.ts +9 -0
  288. package/dist/esm/core/agent/negativeClaims/prose.js +112 -0
  289. package/dist/esm/core/agent/negativeClaims/prose.js.map +1 -0
  290. package/dist/esm/core/agent/negativeClaims/recheck.d.ts +7 -0
  291. package/dist/esm/core/agent/negativeClaims/recheck.js +32 -0
  292. package/dist/esm/core/agent/negativeClaims/recheck.js.map +1 -0
  293. package/dist/esm/core/agent/outputEnforcement.d.ts +5 -1
  294. package/dist/esm/core/agent/outputEnforcement.js.map +1 -1
  295. package/dist/esm/core/agent/receipt/receipt.d.ts +2 -2
  296. package/dist/esm/core/agent/stages/answerEvidence.d.ts +28 -0
  297. package/dist/esm/core/agent/stages/answerEvidence.js +16 -0
  298. package/dist/esm/core/agent/stages/answerEvidence.js.map +1 -0
  299. package/dist/esm/core/agent/stages/answerValidation.d.ts +15 -3
  300. package/dist/esm/core/agent/stages/answerValidation.js +113 -5
  301. package/dist/esm/core/agent/stages/answerValidation.js.map +1 -1
  302. package/dist/esm/core/agent/stages/callLLM.d.ts +11 -2
  303. package/dist/esm/core/agent/stages/callLLM.js +85 -44
  304. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  305. package/dist/esm/core/agent/stages/evidenceRecheck.d.ts +6 -1
  306. package/dist/esm/core/agent/stages/evidenceRecheck.js +16 -2
  307. package/dist/esm/core/agent/stages/evidenceRecheck.js.map +1 -1
  308. package/dist/esm/core/agent/stages/outputRetry.js +23 -7
  309. package/dist/esm/core/agent/stages/outputRetry.js.map +1 -1
  310. package/dist/esm/core/agent/stages/prepareFinal.js +6 -1
  311. package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
  312. package/dist/esm/core/agent/stages/reliabilityExecution.d.ts +3 -0
  313. package/dist/esm/core/agent/stages/reliabilityExecution.js +3 -0
  314. package/dist/esm/core/agent/stages/reliabilityExecution.js.map +1 -1
  315. package/dist/esm/core/agent/stages/route.d.ts +8 -2
  316. package/dist/esm/core/agent/stages/route.js +81 -33
  317. package/dist/esm/core/agent/stages/route.js.map +1 -1
  318. package/dist/esm/core/agent/stages/searchCoverage.d.ts +94 -0
  319. package/dist/esm/core/agent/stages/searchCoverage.js +117 -0
  320. package/dist/esm/core/agent/stages/searchCoverage.js.map +1 -0
  321. package/dist/esm/core/agent/stages/seed.d.ts +10 -0
  322. package/dist/esm/core/agent/stages/seed.js +19 -21
  323. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  324. package/dist/esm/core/agent/stages/toolCalls.d.ts +16 -0
  325. package/dist/esm/core/agent/stages/toolCalls.js +700 -77
  326. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  327. package/dist/esm/core/agent/toolChoice/compose.d.ts +2 -0
  328. package/dist/esm/core/agent/toolChoice/compose.js +1 -0
  329. package/dist/esm/core/agent/toolChoice/compose.js.map +1 -1
  330. package/dist/esm/core/agent/toolChoice/pick.d.ts +2 -0
  331. package/dist/esm/core/agent/toolChoice/pick.js +2 -0
  332. package/dist/esm/core/agent/toolChoice/pick.js.map +1 -1
  333. package/dist/esm/core/agent/toolChoice/types.d.ts +1 -1
  334. package/dist/esm/core/agent/types.d.ts +86 -5
  335. package/dist/esm/core/checkin.d.ts +83 -7
  336. package/dist/esm/core/checkin.js +77 -15
  337. package/dist/esm/core/checkin.js.map +1 -1
  338. package/dist/esm/core/consentRequest.d.ts +488 -0
  339. package/dist/esm/core/consentRequest.js +817 -0
  340. package/dist/esm/core/consentRequest.js.map +1 -0
  341. package/dist/esm/core/pause.d.ts +88 -7
  342. package/dist/esm/core/pause.js +102 -5
  343. package/dist/esm/core/pause.js.map +1 -1
  344. package/dist/esm/core/runCheckpoint.d.ts +5 -1
  345. package/dist/esm/core/runCheckpoint.js +8 -1
  346. package/dist/esm/core/runCheckpoint.js.map +1 -1
  347. package/dist/esm/core/slots/buildToolsSlot.d.ts +4 -11
  348. package/dist/esm/core/slots/buildToolsSlot.js +4 -24
  349. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  350. package/dist/esm/debug.d.ts +1 -1
  351. package/dist/esm/debug.js +2 -0
  352. package/dist/esm/debug.js.map +1 -1
  353. package/dist/esm/events/payloads.d.ts +145 -3
  354. package/dist/esm/events/registry.d.ts +3 -1
  355. package/dist/esm/events/registry.js +2 -0
  356. package/dist/esm/events/registry.js.map +1 -1
  357. package/dist/esm/hosting/answeredPause.d.ts +301 -0
  358. package/dist/esm/hosting/answeredPause.js +522 -0
  359. package/dist/esm/hosting/answeredPause.js.map +1 -0
  360. package/dist/esm/hosting/conformance/cases.js +81 -1
  361. package/dist/esm/hosting/conformance/cases.js.map +1 -1
  362. package/dist/esm/hosting/conformance/types.d.ts +1 -1
  363. package/dist/esm/hosting/envelope.d.ts +6 -0
  364. package/dist/esm/hosting/envelope.js +14 -0
  365. package/dist/esm/hosting/envelope.js.map +1 -1
  366. package/dist/esm/hosting/errors.d.ts +14 -2
  367. package/dist/esm/hosting/errors.js +13 -6
  368. package/dist/esm/hosting/errors.js.map +1 -1
  369. package/dist/esm/hosting/index.d.ts +2 -1
  370. package/dist/esm/hosting/index.js +3 -0
  371. package/dist/esm/hosting/index.js.map +1 -1
  372. package/dist/esm/hosting/memorySessions.js +10 -2
  373. package/dist/esm/hosting/memorySessions.js.map +1 -1
  374. package/dist/esm/hosting/processLocalStore.d.ts +20 -0
  375. package/dist/esm/hosting/processLocalStore.js +26 -0
  376. package/dist/esm/hosting/processLocalStore.js.map +1 -0
  377. package/dist/esm/hosting/protocolAdapter.d.ts +13 -0
  378. package/dist/esm/hosting/refusalStatus.d.ts +6 -0
  379. package/dist/esm/hosting/refusalStatus.js +13 -0
  380. package/dist/esm/hosting/refusalStatus.js.map +1 -1
  381. package/dist/esm/hosting/sessionWire.d.ts +8 -3
  382. package/dist/esm/hosting/sessionWire.js.map +1 -1
  383. package/dist/esm/hosting/sqliteSessions.js +27 -3
  384. package/dist/esm/hosting/sqliteSessions.js.map +1 -1
  385. package/dist/esm/hosting/standingAgent.js +70 -26
  386. package/dist/esm/hosting/standingAgent.js.map +1 -1
  387. package/dist/esm/hosting/streamHandler.d.ts +3 -1
  388. package/dist/esm/hosting/streamHandler.js +150 -32
  389. package/dist/esm/hosting/streamHandler.js.map +1 -1
  390. package/dist/esm/hosting/types.d.ts +28 -6
  391. package/dist/esm/hosting/types.js.map +1 -1
  392. package/dist/esm/index.d.ts +7 -3
  393. package/dist/esm/index.js +21 -17
  394. package/dist/esm/index.js.map +1 -1
  395. package/dist/esm/integrity/negative-claim/anchor.d.ts +9 -0
  396. package/dist/esm/integrity/negative-claim/anchor.js +120 -0
  397. package/dist/esm/integrity/negative-claim/anchor.js.map +1 -0
  398. package/dist/esm/integrity/negative-claim/citation.d.ts +34 -0
  399. package/dist/esm/integrity/negative-claim/citation.js +367 -0
  400. package/dist/esm/integrity/negative-claim/citation.js.map +1 -0
  401. package/dist/esm/integrity/negative-claim/containment.d.ts +40 -0
  402. package/dist/esm/integrity/negative-claim/containment.js +257 -0
  403. package/dist/esm/integrity/negative-claim/containment.js.map +1 -0
  404. package/dist/esm/integrity/negative-claim/derive.d.ts +17 -0
  405. package/dist/esm/integrity/negative-claim/derive.js +122 -0
  406. package/dist/esm/integrity/negative-claim/derive.js.map +1 -0
  407. package/dist/esm/integrity/negative-claim/detect.d.ts +44 -0
  408. package/dist/esm/integrity/negative-claim/detect.js +65 -0
  409. package/dist/esm/integrity/negative-claim/detect.js.map +1 -0
  410. package/dist/esm/integrity/negative-claim/judge.d.ts +41 -0
  411. package/dist/esm/integrity/negative-claim/judge.js +95 -0
  412. package/dist/esm/integrity/negative-claim/judge.js.map +1 -0
  413. package/dist/esm/integrity/negative-claim/language.d.ts +14 -0
  414. package/dist/esm/integrity/negative-claim/language.js +42 -0
  415. package/dist/esm/integrity/negative-claim/language.js.map +1 -0
  416. package/dist/esm/integrity/negative-claim/limits.d.ts +2 -0
  417. package/dist/esm/integrity/negative-claim/limits.js +3 -0
  418. package/dist/esm/integrity/negative-claim/limits.js.map +1 -0
  419. package/dist/esm/integrity/negative-claim/matcher.d.ts +51 -0
  420. package/dist/esm/integrity/negative-claim/matcher.js +164 -0
  421. package/dist/esm/integrity/negative-claim/matcher.js.map +1 -0
  422. package/dist/esm/integrity/negative-claim/noRead.d.ts +8 -0
  423. package/dist/esm/integrity/negative-claim/noRead.js +9 -0
  424. package/dist/esm/integrity/negative-claim/noRead.js.map +1 -0
  425. package/dist/esm/integrity/negative-claim/phrases.d.ts +69 -0
  426. package/dist/esm/integrity/negative-claim/phrases.js +249 -0
  427. package/dist/esm/integrity/negative-claim/phrases.js.map +1 -0
  428. package/dist/esm/integrity/negative-claim/prose.d.ts +36 -0
  429. package/dist/esm/integrity/negative-claim/prose.js +143 -0
  430. package/dist/esm/integrity/negative-claim/prose.js.map +1 -0
  431. package/dist/esm/integrity/negative-claim/readings.d.ts +81 -0
  432. package/dist/esm/integrity/negative-claim/readings.js +322 -0
  433. package/dist/esm/integrity/negative-claim/readings.js.map +1 -0
  434. package/dist/esm/integrity/negative-claim/resolve.d.ts +37 -0
  435. package/dist/esm/integrity/negative-claim/resolve.js +179 -0
  436. package/dist/esm/integrity/negative-claim/resolve.js.map +1 -0
  437. package/dist/esm/integrity/negative-claim/statement.d.ts +75 -0
  438. package/dist/esm/integrity/negative-claim/statement.js +361 -0
  439. package/dist/esm/integrity/negative-claim/statement.js.map +1 -0
  440. package/dist/esm/integrity/negative-claim/types.d.ts +144 -0
  441. package/dist/esm/integrity/negative-claim/types.js +39 -0
  442. package/dist/esm/integrity/negative-claim/types.js.map +1 -0
  443. package/dist/esm/integrity/negative-claim/units.d.ts +33 -0
  444. package/dist/esm/integrity/negative-claim/units.js +185 -0
  445. package/dist/esm/integrity/negative-claim/units.js.map +1 -0
  446. package/dist/esm/integrity/negative-claim/work.d.ts +12 -0
  447. package/dist/esm/integrity/negative-claim/work.js +19 -0
  448. package/dist/esm/integrity/negative-claim/work.js.map +1 -0
  449. package/dist/esm/integrity/unsupported-claim/check.d.ts +33 -0
  450. package/dist/esm/integrity/unsupported-claim/check.js +48 -26
  451. package/dist/esm/integrity/unsupported-claim/check.js.map +1 -1
  452. package/dist/esm/integrity/unsupported-claim/delivered.d.ts +72 -0
  453. package/dist/esm/integrity/unsupported-claim/delivered.js +98 -0
  454. package/dist/esm/integrity/unsupported-claim/delivered.js.map +1 -0
  455. package/dist/esm/integrity/unsupported-claim/evaluate.d.ts +103 -1
  456. package/dist/esm/integrity/unsupported-claim/evaluate.js +373 -0
  457. package/dist/esm/integrity/unsupported-claim/evaluate.js.map +1 -1
  458. package/dist/esm/lib/conventions.d.ts +1 -0
  459. package/dist/esm/lib/conventions.js +3 -0
  460. package/dist/esm/lib/conventions.js.map +1 -1
  461. package/dist/esm/lib/frozenCopy.d.ts +75 -0
  462. package/dist/esm/lib/frozenCopy.js +198 -0
  463. package/dist/esm/lib/frozenCopy.js.map +1 -0
  464. package/dist/esm/lib/jsonFaithful.d.ts +34 -0
  465. package/dist/esm/lib/jsonFaithful.js +111 -0
  466. package/dist/esm/lib/jsonFaithful.js.map +1 -0
  467. package/dist/esm/lib/normalize.d.ts +96 -0
  468. package/dist/esm/{tools → lib}/normalize.js +142 -6
  469. package/dist/esm/lib/normalize.js.map +1 -0
  470. package/dist/esm/lib/saidByPerson.d.ts +2 -0
  471. package/dist/esm/lib/saidByPerson.js +3 -0
  472. package/dist/esm/lib/saidByPerson.js.map +1 -1
  473. package/dist/esm/mcp/toolExtras.d.ts +10 -0
  474. package/dist/esm/mcp/toolExtras.js +11 -0
  475. package/dist/esm/mcp/toolExtras.js.map +1 -1
  476. package/dist/esm/provider-contract/nativeOutputSchema.d.ts +6 -2
  477. package/dist/esm/provider-contract/nativeOutputSchema.js +9 -2
  478. package/dist/esm/provider-contract/nativeOutputSchema.js.map +1 -1
  479. package/dist/esm/provider-contract/types.d.ts +12 -1
  480. package/dist/esm/provider-contract/types.js.map +1 -1
  481. package/dist/esm/recorders/core/CheckInRecorder.d.ts +6 -1
  482. package/dist/esm/recorders/core/CheckInRecorder.js +5 -1
  483. package/dist/esm/recorders/core/CheckInRecorder.js.map +1 -1
  484. package/dist/esm/redaction/conversation.js +6 -0
  485. package/dist/esm/redaction/conversation.js.map +1 -1
  486. package/dist/esm/redaction/knownStrings.d.ts +9 -7
  487. package/dist/esm/redaction/knownStrings.js +74 -0
  488. package/dist/esm/redaction/knownStrings.js.map +1 -1
  489. package/dist/esm/resilience/withCircuitBreaker.js +3 -0
  490. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  491. package/dist/esm/resilience/withFallback.js +8 -1
  492. package/dist/esm/resilience/withFallback.js.map +1 -1
  493. package/dist/esm/resilience/withRetry.js +3 -0
  494. package/dist/esm/resilience/withRetry.js.map +1 -1
  495. package/dist/esm/semantics/check.d.ts +44 -2
  496. package/dist/esm/semantics/check.js +112 -3
  497. package/dist/esm/semantics/check.js.map +1 -1
  498. package/dist/esm/semantics/cli.js +33 -3
  499. package/dist/esm/semantics/cli.js.map +1 -1
  500. package/dist/esm/semantics/coverage/absent.d.ts +19 -2
  501. package/dist/esm/semantics/coverage/absent.js +56 -52
  502. package/dist/esm/semantics/coverage/absent.js.map +1 -1
  503. package/dist/esm/semantics/coverage/among.d.ts +73 -0
  504. package/dist/esm/semantics/coverage/among.js +172 -0
  505. package/dist/esm/semantics/coverage/among.js.map +1 -0
  506. package/dist/esm/semantics/coverage/composedCoverage.d.ts +220 -0
  507. package/dist/esm/semantics/coverage/composedCoverage.js +42 -0
  508. package/dist/esm/semantics/coverage/composedCoverage.js.map +1 -0
  509. package/dist/esm/semantics/coverage/evidence.js +27 -2
  510. package/dist/esm/semantics/coverage/evidence.js.map +1 -1
  511. package/dist/esm/semantics/coverage/index.d.ts +4 -1
  512. package/dist/esm/semantics/coverage/index.js +2 -0
  513. package/dist/esm/semantics/coverage/index.js.map +1 -1
  514. package/dist/esm/semantics/coverage/ledger.d.ts +2 -1
  515. package/dist/esm/semantics/coverage/ledger.js +15 -53
  516. package/dist/esm/semantics/coverage/ledger.js.map +1 -1
  517. package/dist/esm/semantics/coverage/read.d.ts +19 -0
  518. package/dist/esm/semantics/coverage/read.js.map +1 -1
  519. package/dist/esm/semantics/coverage/recognize.d.ts +17 -1
  520. package/dist/esm/semantics/coverage/recognize.js +40 -0
  521. package/dist/esm/semantics/coverage/recognize.js.map +1 -1
  522. package/dist/esm/semantics/coverage/search/binding.d.ts +27 -0
  523. package/dist/esm/semantics/coverage/search/binding.js +42 -0
  524. package/dist/esm/semantics/coverage/search/binding.js.map +1 -0
  525. package/dist/esm/semantics/coverage/search/compose.d.ts +90 -0
  526. package/dist/esm/semantics/coverage/search/compose.js +120 -0
  527. package/dist/esm/semantics/coverage/search/compose.js.map +1 -0
  528. package/dist/esm/semantics/coverage/search/declaration.d.ts +75 -0
  529. package/dist/esm/semantics/coverage/search/declaration.js +453 -0
  530. package/dist/esm/semantics/coverage/search/declaration.js.map +1 -0
  531. package/dist/esm/semantics/coverage/search/door.d.ts +46 -0
  532. package/dist/esm/semantics/coverage/search/door.js +130 -0
  533. package/dist/esm/semantics/coverage/search/door.js.map +1 -0
  534. package/dist/esm/semantics/coverage/search/events.d.ts +42 -0
  535. package/dist/esm/semantics/coverage/search/events.js +100 -0
  536. package/dist/esm/semantics/coverage/search/events.js.map +1 -0
  537. package/dist/esm/semantics/coverage/search/facets.d.ts +52 -0
  538. package/dist/esm/semantics/coverage/search/facets.js +191 -0
  539. package/dist/esm/semantics/coverage/search/facets.js.map +1 -0
  540. package/dist/esm/semantics/coverage/search/gaps.d.ts +63 -0
  541. package/dist/esm/semantics/coverage/search/gaps.js +221 -0
  542. package/dist/esm/semantics/coverage/search/gaps.js.map +1 -0
  543. package/dist/esm/semantics/coverage/search/inEffect.d.ts +65 -0
  544. package/dist/esm/semantics/coverage/search/inEffect.js +48 -0
  545. package/dist/esm/semantics/coverage/search/inEffect.js.map +1 -0
  546. package/dist/esm/semantics/coverage/search/resultFacts.d.ts +42 -0
  547. package/dist/esm/semantics/coverage/search/resultFacts.js +100 -0
  548. package/dist/esm/semantics/coverage/search/resultFacts.js.map +1 -0
  549. package/dist/esm/semantics/coverage/search/review.d.ts +36 -0
  550. package/dist/esm/semantics/coverage/search/review.js +89 -0
  551. package/dist/esm/semantics/coverage/search/review.js.map +1 -0
  552. package/dist/esm/semantics/coverage/search/served.d.ts +51 -0
  553. package/dist/esm/semantics/coverage/search/served.js +130 -0
  554. package/dist/esm/semantics/coverage/search/served.js.map +1 -0
  555. package/dist/esm/semantics/coverage/search/span.d.ts +34 -0
  556. package/dist/esm/semantics/coverage/search/span.js +61 -0
  557. package/dist/esm/semantics/coverage/search/span.js.map +1 -0
  558. package/dist/esm/semantics/coverage/search/statementText.d.ts +46 -0
  559. package/dist/esm/semantics/coverage/search/statementText.js +102 -0
  560. package/dist/esm/semantics/coverage/search/statementText.js.map +1 -0
  561. package/dist/esm/semantics/coverage/search/types.d.ts +120 -0
  562. package/dist/esm/semantics/coverage/search/types.js +11 -0
  563. package/dist/esm/semantics/coverage/search/types.js.map +1 -0
  564. package/dist/esm/semantics/coverage/search/valueWords.d.ts +22 -0
  565. package/dist/esm/semantics/coverage/search/valueWords.js +32 -0
  566. package/dist/esm/semantics/coverage/search/valueWords.js.map +1 -0
  567. package/dist/esm/semantics/coverage/types.d.ts +163 -0
  568. package/dist/esm/semantics/described.js +3 -1
  569. package/dist/esm/semantics/described.js.map +1 -1
  570. package/dist/esm/semantics/envelope.js +26 -2
  571. package/dist/esm/semantics/envelope.js.map +1 -1
  572. package/dist/esm/semantics/index.d.ts +2 -1
  573. package/dist/esm/semantics/index.js.map +1 -1
  574. package/dist/esm/semantics/overclaim.d.ts +105 -0
  575. package/dist/esm/semantics/overclaim.js +397 -0
  576. package/dist/esm/semantics/overclaim.js.map +1 -0
  577. package/dist/esm/semantics/types.d.ts +13 -0
  578. package/dist/esm/semantics/types.js.map +1 -1
  579. package/dist/esm/time/forms.js +1 -1
  580. package/dist/esm/time/textForms.js +1 -1
  581. package/dist/esm/time-travel/servedView.d.ts +2 -2
  582. package/dist/esm/time-travel/servedView.js +52 -160
  583. package/dist/esm/time-travel/servedView.js.map +1 -1
  584. package/dist/esm/tools/declare.d.ts +1 -1
  585. package/dist/esm/tools/declare.js +2 -2
  586. package/dist/esm/tools/declare.js.map +1 -1
  587. package/dist/esm/tools/hostFilled.d.ts +20 -1
  588. package/dist/esm/tools/hostFilled.js +46 -1
  589. package/dist/esm/tools/hostFilled.js.map +1 -1
  590. package/dist/esm/tools/searchOf.d.ts +60 -0
  591. package/dist/esm/tools/searchOf.js +97 -0
  592. package/dist/esm/tools/searchOf.js.map +1 -0
  593. package/dist/esm/tools/tools.d.ts +49 -0
  594. package/dist/esm/tools/tools.js +76 -1
  595. package/dist/esm/tools/tools.js.map +1 -1
  596. package/dist/esm/trace-toolpack/causeCapture.d.ts +17 -0
  597. package/dist/esm/trace-toolpack/causeCapture.js +96 -0
  598. package/dist/esm/trace-toolpack/causeCapture.js.map +1 -0
  599. package/dist/esm/trace-toolpack/causeControl.d.ts +6 -0
  600. package/dist/esm/trace-toolpack/causeControl.js +45 -0
  601. package/dist/esm/trace-toolpack/causeControl.js.map +1 -0
  602. package/dist/esm/trace-toolpack/causeReader.js +11 -9
  603. package/dist/esm/trace-toolpack/causeReader.js.map +1 -1
  604. package/dist/esm/trace-toolpack/causeResponse.d.ts +3 -2
  605. package/dist/esm/trace-toolpack/causeResponse.js +27 -7
  606. package/dist/esm/trace-toolpack/causeResponse.js.map +1 -1
  607. package/dist/esm/trace-toolpack/causeSnapshot.d.ts +6 -1
  608. package/dist/esm/trace-toolpack/causeSnapshot.js +26 -15
  609. package/dist/esm/trace-toolpack/causeSnapshot.js.map +1 -1
  610. package/dist/esm/trace-toolpack/causeTools.js +1 -1
  611. package/dist/esm/trace-toolpack/causeTools.js.map +1 -1
  612. package/dist/events/registry.js +2 -0
  613. package/dist/events/registry.js.map +1 -1
  614. package/dist/hosting/answeredPause.js +536 -0
  615. package/dist/hosting/answeredPause.js.map +1 -0
  616. package/dist/hosting/conformance/cases.js +80 -0
  617. package/dist/hosting/conformance/cases.js.map +1 -1
  618. package/dist/hosting/envelope.js +14 -0
  619. package/dist/hosting/envelope.js.map +1 -1
  620. package/dist/hosting/errors.js +13 -6
  621. package/dist/hosting/errors.js.map +1 -1
  622. package/dist/hosting/index.js +7 -3
  623. package/dist/hosting/index.js.map +1 -1
  624. package/dist/hosting/memorySessions.js +10 -2
  625. package/dist/hosting/memorySessions.js.map +1 -1
  626. package/dist/hosting/processLocalStore.js +31 -0
  627. package/dist/hosting/processLocalStore.js.map +1 -0
  628. package/dist/hosting/refusalStatus.js +13 -0
  629. package/dist/hosting/refusalStatus.js.map +1 -1
  630. package/dist/hosting/sessionWire.js.map +1 -1
  631. package/dist/hosting/sqliteSessions.js +27 -3
  632. package/dist/hosting/sqliteSessions.js.map +1 -1
  633. package/dist/hosting/standingAgent.js +69 -25
  634. package/dist/hosting/standingAgent.js.map +1 -1
  635. package/dist/hosting/streamHandler.js +149 -31
  636. package/dist/hosting/streamHandler.js.map +1 -1
  637. package/dist/hosting/types.js.map +1 -1
  638. package/dist/index.js +26 -21
  639. package/dist/index.js.map +1 -1
  640. package/dist/integrity/negative-claim/anchor.js +124 -0
  641. package/dist/integrity/negative-claim/anchor.js.map +1 -0
  642. package/dist/integrity/negative-claim/citation.js +371 -0
  643. package/dist/integrity/negative-claim/citation.js.map +1 -0
  644. package/dist/integrity/negative-claim/containment.js +262 -0
  645. package/dist/integrity/negative-claim/containment.js.map +1 -0
  646. package/dist/integrity/negative-claim/derive.js +130 -0
  647. package/dist/integrity/negative-claim/derive.js.map +1 -0
  648. package/dist/integrity/negative-claim/detect.js +69 -0
  649. package/dist/integrity/negative-claim/detect.js.map +1 -0
  650. package/dist/integrity/negative-claim/judge.js +100 -0
  651. package/dist/integrity/negative-claim/judge.js.map +1 -0
  652. package/dist/integrity/negative-claim/language.js +46 -0
  653. package/dist/integrity/negative-claim/language.js.map +1 -0
  654. package/dist/integrity/negative-claim/limits.js +6 -0
  655. package/dist/integrity/negative-claim/limits.js.map +1 -0
  656. package/dist/integrity/negative-claim/matcher.js +179 -0
  657. package/dist/integrity/negative-claim/matcher.js.map +1 -0
  658. package/dist/integrity/negative-claim/noRead.js +13 -0
  659. package/dist/integrity/negative-claim/noRead.js.map +1 -0
  660. package/dist/integrity/negative-claim/phrases.js +253 -0
  661. package/dist/integrity/negative-claim/phrases.js.map +1 -0
  662. package/dist/integrity/negative-claim/prose.js +147 -0
  663. package/dist/integrity/negative-claim/prose.js.map +1 -0
  664. package/dist/integrity/negative-claim/readings.js +338 -0
  665. package/dist/integrity/negative-claim/readings.js.map +1 -0
  666. package/dist/integrity/negative-claim/resolve.js +184 -0
  667. package/dist/integrity/negative-claim/resolve.js.map +1 -0
  668. package/dist/integrity/negative-claim/statement.js +369 -0
  669. package/dist/integrity/negative-claim/statement.js.map +1 -0
  670. package/dist/integrity/negative-claim/types.js +42 -0
  671. package/dist/integrity/negative-claim/types.js.map +1 -0
  672. package/dist/integrity/negative-claim/units.js +190 -0
  673. package/dist/integrity/negative-claim/units.js.map +1 -0
  674. package/dist/integrity/negative-claim/work.js +24 -0
  675. package/dist/integrity/negative-claim/work.js.map +1 -0
  676. package/dist/integrity/unsupported-claim/check.js +50 -27
  677. package/dist/integrity/unsupported-claim/check.js.map +1 -1
  678. package/dist/integrity/unsupported-claim/delivered.js +102 -0
  679. package/dist/integrity/unsupported-claim/delivered.js.map +1 -0
  680. package/dist/integrity/unsupported-claim/evaluate.js +377 -1
  681. package/dist/integrity/unsupported-claim/evaluate.js.map +1 -1
  682. package/dist/lib/conventions.js +3 -0
  683. package/dist/lib/conventions.js.map +1 -1
  684. package/dist/lib/frozenCopy.js +207 -0
  685. package/dist/lib/frozenCopy.js.map +1 -0
  686. package/dist/lib/jsonFaithful.js +115 -0
  687. package/dist/lib/jsonFaithful.js.map +1 -0
  688. package/dist/{tools → lib}/normalize.js +151 -7
  689. package/dist/lib/normalize.js.map +1 -0
  690. package/dist/lib/saidByPerson.js +4 -1
  691. package/dist/lib/saidByPerson.js.map +1 -1
  692. package/dist/mcp/toolExtras.js +11 -0
  693. package/dist/mcp/toolExtras.js.map +1 -1
  694. package/dist/provider-contract/nativeOutputSchema.js +11 -3
  695. package/dist/provider-contract/nativeOutputSchema.js.map +1 -1
  696. package/dist/provider-contract/types.js.map +1 -1
  697. package/dist/recorders/core/CheckInRecorder.js +5 -1
  698. package/dist/recorders/core/CheckInRecorder.js.map +1 -1
  699. package/dist/redaction/conversation.js +6 -0
  700. package/dist/redaction/conversation.js.map +1 -1
  701. package/dist/redaction/knownStrings.js +74 -0
  702. package/dist/redaction/knownStrings.js.map +1 -1
  703. package/dist/resilience/withCircuitBreaker.js +3 -0
  704. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  705. package/dist/resilience/withFallback.js +7 -0
  706. package/dist/resilience/withFallback.js.map +1 -1
  707. package/dist/resilience/withRetry.js +3 -0
  708. package/dist/resilience/withRetry.js.map +1 -1
  709. package/dist/semantics/check.js +112 -3
  710. package/dist/semantics/check.js.map +1 -1
  711. package/dist/semantics/cli.js +32 -2
  712. package/dist/semantics/cli.js.map +1 -1
  713. package/dist/semantics/coverage/absent.js +56 -52
  714. package/dist/semantics/coverage/absent.js.map +1 -1
  715. package/dist/semantics/coverage/among.js +177 -0
  716. package/dist/semantics/coverage/among.js.map +1 -0
  717. package/dist/semantics/coverage/composedCoverage.js +46 -0
  718. package/dist/semantics/coverage/composedCoverage.js.map +1 -0
  719. package/dist/semantics/coverage/evidence.js +27 -2
  720. package/dist/semantics/coverage/evidence.js.map +1 -1
  721. package/dist/semantics/coverage/index.js +5 -1
  722. package/dist/semantics/coverage/index.js.map +1 -1
  723. package/dist/semantics/coverage/ledger.js +18 -56
  724. package/dist/semantics/coverage/ledger.js.map +1 -1
  725. package/dist/semantics/coverage/read.js.map +1 -1
  726. package/dist/semantics/coverage/recognize.js +43 -1
  727. package/dist/semantics/coverage/recognize.js.map +1 -1
  728. package/dist/semantics/coverage/search/binding.js +46 -0
  729. package/dist/semantics/coverage/search/binding.js.map +1 -0
  730. package/dist/semantics/coverage/search/compose.js +124 -0
  731. package/dist/semantics/coverage/search/compose.js.map +1 -0
  732. package/dist/semantics/coverage/search/declaration.js +462 -0
  733. package/dist/semantics/coverage/search/declaration.js.map +1 -0
  734. package/dist/semantics/coverage/search/door.js +134 -0
  735. package/dist/semantics/coverage/search/door.js.map +1 -0
  736. package/dist/semantics/coverage/search/events.js +104 -0
  737. package/dist/semantics/coverage/search/events.js.map +1 -0
  738. package/dist/semantics/coverage/search/facets.js +196 -0
  739. package/dist/semantics/coverage/search/facets.js.map +1 -0
  740. package/dist/semantics/coverage/search/gaps.js +226 -0
  741. package/dist/semantics/coverage/search/gaps.js.map +1 -0
  742. package/dist/semantics/coverage/search/inEffect.js +52 -0
  743. package/dist/semantics/coverage/search/inEffect.js.map +1 -0
  744. package/dist/semantics/coverage/search/resultFacts.js +109 -0
  745. package/dist/semantics/coverage/search/resultFacts.js.map +1 -0
  746. package/dist/semantics/coverage/search/review.js +93 -0
  747. package/dist/semantics/coverage/search/review.js.map +1 -0
  748. package/dist/semantics/coverage/search/served.js +137 -0
  749. package/dist/semantics/coverage/search/served.js.map +1 -0
  750. package/dist/semantics/coverage/search/span.js +66 -0
  751. package/dist/semantics/coverage/search/span.js.map +1 -0
  752. package/dist/semantics/coverage/search/statementText.js +107 -0
  753. package/dist/semantics/coverage/search/statementText.js.map +1 -0
  754. package/dist/semantics/coverage/search/types.js +12 -0
  755. package/dist/semantics/coverage/search/types.js.map +1 -0
  756. package/dist/semantics/coverage/search/valueWords.js +36 -0
  757. package/dist/semantics/coverage/search/valueWords.js.map +1 -0
  758. package/dist/semantics/described.js +3 -1
  759. package/dist/semantics/described.js.map +1 -1
  760. package/dist/semantics/envelope.js +26 -2
  761. package/dist/semantics/envelope.js.map +1 -1
  762. package/dist/semantics/index.js.map +1 -1
  763. package/dist/semantics/overclaim.js +407 -0
  764. package/dist/semantics/overclaim.js.map +1 -0
  765. package/dist/semantics/types.js.map +1 -1
  766. package/dist/time/forms.js +1 -1
  767. package/dist/time/textForms.js +1 -1
  768. package/dist/time-travel/servedView.js +51 -159
  769. package/dist/time-travel/servedView.js.map +1 -1
  770. package/dist/tools/declare.js +2 -2
  771. package/dist/tools/declare.js.map +1 -1
  772. package/dist/tools/hostFilled.js +48 -2
  773. package/dist/tools/hostFilled.js.map +1 -1
  774. package/dist/tools/searchOf.js +104 -0
  775. package/dist/tools/searchOf.js.map +1 -0
  776. package/dist/tools/tools.js +80 -2
  777. package/dist/tools/tools.js.map +1 -1
  778. package/dist/trace-toolpack/causeCapture.js +103 -0
  779. package/dist/trace-toolpack/causeCapture.js.map +1 -0
  780. package/dist/trace-toolpack/causeControl.js +49 -0
  781. package/dist/trace-toolpack/causeControl.js.map +1 -0
  782. package/dist/trace-toolpack/causeReader.js +11 -9
  783. package/dist/trace-toolpack/causeReader.js.map +1 -1
  784. package/dist/trace-toolpack/causeResponse.js +27 -7
  785. package/dist/trace-toolpack/causeResponse.js.map +1 -1
  786. package/dist/trace-toolpack/causeSnapshot.js +31 -20
  787. package/dist/trace-toolpack/causeSnapshot.js.map +1 -1
  788. package/dist/trace-toolpack/causeTools.js +1 -1
  789. package/dist/trace-toolpack/causeTools.js.map +1 -1
  790. package/dist/types/adapters/hosting/agentCoreA2A.d.ts.map +1 -1
  791. package/dist/types/adapters/hosting/firestoreSessions.d.ts.map +1 -1
  792. package/dist/types/adapters/hosting/googleAgentEngine.d.ts.map +1 -1
  793. package/dist/types/adapters/llm/AnthropicProvider.d.ts +1 -0
  794. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  795. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +1 -0
  796. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  797. package/dist/types/adapters/llm/MockProvider.d.ts +2 -0
  798. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  799. package/dist/types/ag-ui/request.d.ts +4 -1
  800. package/dist/types/ag-ui/request.d.ts.map +1 -1
  801. package/dist/types/ag-ui/serializer.d.ts +15 -2
  802. package/dist/types/ag-ui/serializer.d.ts.map +1 -1
  803. package/dist/types/answer-account/facts/howSure.d.ts.map +1 -1
  804. package/dist/types/answer-account/templates.d.ts +4 -1
  805. package/dist/types/answer-account/templates.d.ts.map +1 -1
  806. package/dist/types/answer-validation/agentChecks.d.ts +76 -0
  807. package/dist/types/answer-validation/agentChecks.d.ts.map +1 -0
  808. package/dist/types/answer-validation/index.d.ts +2 -1
  809. package/dist/types/answer-validation/index.d.ts.map +1 -1
  810. package/dist/types/answer-validation/outputSchema.d.ts +18 -7
  811. package/dist/types/answer-validation/outputSchema.d.ts.map +1 -1
  812. package/dist/types/answer-validation/types.d.ts +125 -1
  813. package/dist/types/answer-validation/types.d.ts.map +1 -1
  814. package/dist/types/answer-validation/validate.d.ts +11 -2
  815. package/dist/types/answer-validation/validate.d.ts.map +1 -1
  816. package/dist/types/core/Agent.d.ts +25 -1
  817. package/dist/types/core/Agent.d.ts.map +1 -1
  818. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  819. package/dist/types/core/agent/AgentBuilder.d.ts +43 -12
  820. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  821. package/dist/types/core/agent/arguments/checks.d.ts +1 -1
  822. package/dist/types/core/agent/arguments/subflow.d.ts +6 -0
  823. package/dist/types/core/agent/arguments/subflow.d.ts.map +1 -1
  824. package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
  825. package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
  826. package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
  827. package/dist/types/core/agent/assessment/types.d.ts +3 -2
  828. package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
  829. package/dist/types/core/agent/buildAgentChart.d.ts +4 -12
  830. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  831. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  832. package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
  833. package/dist/types/core/agent/composeRequest.d.ts +19 -0
  834. package/dist/types/core/agent/composeRequest.d.ts.map +1 -1
  835. package/dist/types/core/agent/evidence/extract.d.ts +45 -6
  836. package/dist/types/core/agent/evidence/extract.d.ts.map +1 -1
  837. package/dist/types/core/agent/evidence/frames.d.ts.map +1 -1
  838. package/dist/types/core/agent/evidence/gate.d.ts +6 -0
  839. package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
  840. package/dist/types/core/agent/evidence/recovery.d.ts +2 -0
  841. package/dist/types/core/agent/evidence/recovery.d.ts.map +1 -1
  842. package/dist/types/core/agent/evidence/resultCarries.d.ts +2 -2
  843. package/dist/types/core/agent/evidence/types.d.ts +17 -0
  844. package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
  845. package/dist/types/core/agent/findings/context.d.ts +14 -0
  846. package/dist/types/core/agent/findings/context.d.ts.map +1 -0
  847. package/dist/types/core/agent/findings/instruction.d.ts +13 -0
  848. package/dist/types/core/agent/findings/instruction.d.ts.map +1 -0
  849. package/dist/types/core/agent/findings/ledger.d.ts +3 -0
  850. package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
  851. package/dist/types/core/agent/findings/negativeProse.d.ts +2 -0
  852. package/dist/types/core/agent/findings/negativeProse.d.ts.map +1 -0
  853. package/dist/types/core/agent/findings/offer.d.ts +9 -57
  854. package/dist/types/core/agent/findings/offer.d.ts.map +1 -1
  855. package/dist/types/core/agent/findings/reserved.d.ts +7 -31
  856. package/dist/types/core/agent/findings/reserved.d.ts.map +1 -1
  857. package/dist/types/core/agent/findings/types.d.ts +11 -4
  858. package/dist/types/core/agent/findings/types.d.ts.map +1 -1
  859. package/dist/types/core/agent/honesty/mounts.d.ts +7 -0
  860. package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
  861. package/dist/types/core/agent/nativeOutputFormat.d.ts +2 -1
  862. package/dist/types/core/agent/nativeOutputFormat.d.ts.map +1 -1
  863. package/dist/types/core/agent/negativeClaims/capture.d.ts +66 -0
  864. package/dist/types/core/agent/negativeClaims/capture.d.ts.map +1 -0
  865. package/dist/types/core/agent/negativeClaims/checkpoint.d.ts +8 -0
  866. package/dist/types/core/agent/negativeClaims/checkpoint.d.ts.map +1 -0
  867. package/dist/types/core/agent/negativeClaims/config.d.ts +67 -0
  868. package/dist/types/core/agent/negativeClaims/config.d.ts.map +1 -0
  869. package/dist/types/core/agent/negativeClaims/delivery.d.ts +25 -0
  870. package/dist/types/core/agent/negativeClaims/delivery.d.ts.map +1 -0
  871. package/dist/types/core/agent/negativeClaims/observe.d.ts +15 -0
  872. package/dist/types/core/agent/negativeClaims/observe.d.ts.map +1 -0
  873. package/dist/types/core/agent/negativeClaims/prose.d.ts +10 -0
  874. package/dist/types/core/agent/negativeClaims/prose.d.ts.map +1 -0
  875. package/dist/types/core/agent/negativeClaims/recheck.d.ts +8 -0
  876. package/dist/types/core/agent/negativeClaims/recheck.d.ts.map +1 -0
  877. package/dist/types/core/agent/outputEnforcement.d.ts +5 -1
  878. package/dist/types/core/agent/outputEnforcement.d.ts.map +1 -1
  879. package/dist/types/core/agent/receipt/receipt.d.ts +2 -2
  880. package/dist/types/core/agent/receipt/receipt.d.ts.map +1 -1
  881. package/dist/types/core/agent/stages/answerEvidence.d.ts +29 -0
  882. package/dist/types/core/agent/stages/answerEvidence.d.ts.map +1 -0
  883. package/dist/types/core/agent/stages/answerValidation.d.ts +15 -3
  884. package/dist/types/core/agent/stages/answerValidation.d.ts.map +1 -1
  885. package/dist/types/core/agent/stages/callLLM.d.ts +11 -2
  886. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  887. package/dist/types/core/agent/stages/evidenceRecheck.d.ts +6 -1
  888. package/dist/types/core/agent/stages/evidenceRecheck.d.ts.map +1 -1
  889. package/dist/types/core/agent/stages/outputRetry.d.ts.map +1 -1
  890. package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
  891. package/dist/types/core/agent/stages/reliabilityExecution.d.ts +3 -0
  892. package/dist/types/core/agent/stages/reliabilityExecution.d.ts.map +1 -1
  893. package/dist/types/core/agent/stages/route.d.ts +8 -2
  894. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  895. package/dist/types/core/agent/stages/searchCoverage.d.ts +95 -0
  896. package/dist/types/core/agent/stages/searchCoverage.d.ts.map +1 -0
  897. package/dist/types/core/agent/stages/seed.d.ts +10 -0
  898. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  899. package/dist/types/core/agent/stages/toolCalls.d.ts +16 -0
  900. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  901. package/dist/types/core/agent/toolChoice/compose.d.ts +2 -0
  902. package/dist/types/core/agent/toolChoice/compose.d.ts.map +1 -1
  903. package/dist/types/core/agent/toolChoice/pick.d.ts +2 -0
  904. package/dist/types/core/agent/toolChoice/pick.d.ts.map +1 -1
  905. package/dist/types/core/agent/toolChoice/types.d.ts +1 -1
  906. package/dist/types/core/agent/toolChoice/types.d.ts.map +1 -1
  907. package/dist/types/core/agent/types.d.ts +86 -5
  908. package/dist/types/core/agent/types.d.ts.map +1 -1
  909. package/dist/types/core/checkin.d.ts +83 -7
  910. package/dist/types/core/checkin.d.ts.map +1 -1
  911. package/dist/types/core/consentRequest.d.ts +489 -0
  912. package/dist/types/core/consentRequest.d.ts.map +1 -0
  913. package/dist/types/core/pause.d.ts +88 -7
  914. package/dist/types/core/pause.d.ts.map +1 -1
  915. package/dist/types/core/runCheckpoint.d.ts +5 -1
  916. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  917. package/dist/types/core/slots/buildToolsSlot.d.ts +4 -11
  918. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  919. package/dist/types/debug.d.ts +1 -1
  920. package/dist/types/debug.d.ts.map +1 -1
  921. package/dist/types/events/payloads.d.ts +145 -3
  922. package/dist/types/events/payloads.d.ts.map +1 -1
  923. package/dist/types/events/registry.d.ts +3 -1
  924. package/dist/types/events/registry.d.ts.map +1 -1
  925. package/dist/types/hosting/answeredPause.d.ts +302 -0
  926. package/dist/types/hosting/answeredPause.d.ts.map +1 -0
  927. package/dist/types/hosting/conformance/cases.d.ts.map +1 -1
  928. package/dist/types/hosting/conformance/types.d.ts +1 -1
  929. package/dist/types/hosting/conformance/types.d.ts.map +1 -1
  930. package/dist/types/hosting/envelope.d.ts +6 -0
  931. package/dist/types/hosting/envelope.d.ts.map +1 -1
  932. package/dist/types/hosting/errors.d.ts +14 -2
  933. package/dist/types/hosting/errors.d.ts.map +1 -1
  934. package/dist/types/hosting/index.d.ts +2 -1
  935. package/dist/types/hosting/index.d.ts.map +1 -1
  936. package/dist/types/hosting/memorySessions.d.ts.map +1 -1
  937. package/dist/types/hosting/processLocalStore.d.ts +21 -0
  938. package/dist/types/hosting/processLocalStore.d.ts.map +1 -0
  939. package/dist/types/hosting/protocolAdapter.d.ts +13 -0
  940. package/dist/types/hosting/protocolAdapter.d.ts.map +1 -1
  941. package/dist/types/hosting/refusalStatus.d.ts +6 -0
  942. package/dist/types/hosting/refusalStatus.d.ts.map +1 -1
  943. package/dist/types/hosting/sessionWire.d.ts +8 -3
  944. package/dist/types/hosting/sessionWire.d.ts.map +1 -1
  945. package/dist/types/hosting/sqliteSessions.d.ts.map +1 -1
  946. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  947. package/dist/types/hosting/streamHandler.d.ts +3 -1
  948. package/dist/types/hosting/streamHandler.d.ts.map +1 -1
  949. package/dist/types/hosting/types.d.ts +28 -6
  950. package/dist/types/hosting/types.d.ts.map +1 -1
  951. package/dist/types/index.d.ts +7 -3
  952. package/dist/types/index.d.ts.map +1 -1
  953. package/dist/types/integrity/negative-claim/anchor.d.ts +10 -0
  954. package/dist/types/integrity/negative-claim/anchor.d.ts.map +1 -0
  955. package/dist/types/integrity/negative-claim/citation.d.ts +35 -0
  956. package/dist/types/integrity/negative-claim/citation.d.ts.map +1 -0
  957. package/dist/types/integrity/negative-claim/containment.d.ts +41 -0
  958. package/dist/types/integrity/negative-claim/containment.d.ts.map +1 -0
  959. package/dist/types/integrity/negative-claim/derive.d.ts +18 -0
  960. package/dist/types/integrity/negative-claim/derive.d.ts.map +1 -0
  961. package/dist/types/integrity/negative-claim/detect.d.ts +45 -0
  962. package/dist/types/integrity/negative-claim/detect.d.ts.map +1 -0
  963. package/dist/types/integrity/negative-claim/judge.d.ts +42 -0
  964. package/dist/types/integrity/negative-claim/judge.d.ts.map +1 -0
  965. package/dist/types/integrity/negative-claim/language.d.ts +15 -0
  966. package/dist/types/integrity/negative-claim/language.d.ts.map +1 -0
  967. package/dist/types/integrity/negative-claim/limits.d.ts +3 -0
  968. package/dist/types/integrity/negative-claim/limits.d.ts.map +1 -0
  969. package/dist/types/integrity/negative-claim/matcher.d.ts +52 -0
  970. package/dist/types/integrity/negative-claim/matcher.d.ts.map +1 -0
  971. package/dist/types/integrity/negative-claim/noRead.d.ts +9 -0
  972. package/dist/types/integrity/negative-claim/noRead.d.ts.map +1 -0
  973. package/dist/types/integrity/negative-claim/phrases.d.ts +70 -0
  974. package/dist/types/integrity/negative-claim/phrases.d.ts.map +1 -0
  975. package/dist/types/integrity/negative-claim/prose.d.ts +37 -0
  976. package/dist/types/integrity/negative-claim/prose.d.ts.map +1 -0
  977. package/dist/types/integrity/negative-claim/readings.d.ts +82 -0
  978. package/dist/types/integrity/negative-claim/readings.d.ts.map +1 -0
  979. package/dist/types/integrity/negative-claim/resolve.d.ts +38 -0
  980. package/dist/types/integrity/negative-claim/resolve.d.ts.map +1 -0
  981. package/dist/types/integrity/negative-claim/statement.d.ts +76 -0
  982. package/dist/types/integrity/negative-claim/statement.d.ts.map +1 -0
  983. package/dist/types/integrity/negative-claim/types.d.ts +145 -0
  984. package/dist/types/integrity/negative-claim/types.d.ts.map +1 -0
  985. package/dist/types/integrity/negative-claim/units.d.ts +34 -0
  986. package/dist/types/integrity/negative-claim/units.d.ts.map +1 -0
  987. package/dist/types/integrity/negative-claim/work.d.ts +13 -0
  988. package/dist/types/integrity/negative-claim/work.d.ts.map +1 -0
  989. package/dist/types/integrity/unsupported-claim/check.d.ts +33 -0
  990. package/dist/types/integrity/unsupported-claim/check.d.ts.map +1 -1
  991. package/dist/types/integrity/unsupported-claim/delivered.d.ts +73 -0
  992. package/dist/types/integrity/unsupported-claim/delivered.d.ts.map +1 -0
  993. package/dist/types/integrity/unsupported-claim/evaluate.d.ts +103 -1
  994. package/dist/types/integrity/unsupported-claim/evaluate.d.ts.map +1 -1
  995. package/dist/types/lib/conventions.d.ts +1 -0
  996. package/dist/types/lib/conventions.d.ts.map +1 -1
  997. package/dist/types/lib/frozenCopy.d.ts +76 -0
  998. package/dist/types/lib/frozenCopy.d.ts.map +1 -0
  999. package/dist/types/lib/jsonFaithful.d.ts +35 -0
  1000. package/dist/types/lib/jsonFaithful.d.ts.map +1 -0
  1001. package/dist/types/lib/normalize.d.ts +97 -0
  1002. package/dist/types/lib/normalize.d.ts.map +1 -0
  1003. package/dist/types/lib/saidByPerson.d.ts +2 -0
  1004. package/dist/types/lib/saidByPerson.d.ts.map +1 -1
  1005. package/dist/types/mcp/toolExtras.d.ts +10 -0
  1006. package/dist/types/mcp/toolExtras.d.ts.map +1 -1
  1007. package/dist/types/provider-contract/nativeOutputSchema.d.ts +6 -2
  1008. package/dist/types/provider-contract/nativeOutputSchema.d.ts.map +1 -1
  1009. package/dist/types/provider-contract/types.d.ts +12 -1
  1010. package/dist/types/provider-contract/types.d.ts.map +1 -1
  1011. package/dist/types/recorders/core/CheckInRecorder.d.ts +6 -1
  1012. package/dist/types/recorders/core/CheckInRecorder.d.ts.map +1 -1
  1013. package/dist/types/redaction/conversation.d.ts.map +1 -1
  1014. package/dist/types/redaction/knownStrings.d.ts +9 -7
  1015. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  1016. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  1017. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  1018. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  1019. package/dist/types/semantics/check.d.ts +44 -2
  1020. package/dist/types/semantics/check.d.ts.map +1 -1
  1021. package/dist/types/semantics/cli.d.ts.map +1 -1
  1022. package/dist/types/semantics/coverage/absent.d.ts +19 -2
  1023. package/dist/types/semantics/coverage/absent.d.ts.map +1 -1
  1024. package/dist/types/semantics/coverage/among.d.ts +74 -0
  1025. package/dist/types/semantics/coverage/among.d.ts.map +1 -0
  1026. package/dist/types/semantics/coverage/composedCoverage.d.ts +221 -0
  1027. package/dist/types/semantics/coverage/composedCoverage.d.ts.map +1 -0
  1028. package/dist/types/semantics/coverage/evidence.d.ts.map +1 -1
  1029. package/dist/types/semantics/coverage/index.d.ts +4 -1
  1030. package/dist/types/semantics/coverage/index.d.ts.map +1 -1
  1031. package/dist/types/semantics/coverage/ledger.d.ts +2 -1
  1032. package/dist/types/semantics/coverage/ledger.d.ts.map +1 -1
  1033. package/dist/types/semantics/coverage/read.d.ts +19 -0
  1034. package/dist/types/semantics/coverage/read.d.ts.map +1 -1
  1035. package/dist/types/semantics/coverage/recognize.d.ts +17 -1
  1036. package/dist/types/semantics/coverage/recognize.d.ts.map +1 -1
  1037. package/dist/types/semantics/coverage/search/binding.d.ts +28 -0
  1038. package/dist/types/semantics/coverage/search/binding.d.ts.map +1 -0
  1039. package/dist/types/semantics/coverage/search/compose.d.ts +91 -0
  1040. package/dist/types/semantics/coverage/search/compose.d.ts.map +1 -0
  1041. package/dist/types/semantics/coverage/search/declaration.d.ts +76 -0
  1042. package/dist/types/semantics/coverage/search/declaration.d.ts.map +1 -0
  1043. package/dist/types/semantics/coverage/search/door.d.ts +47 -0
  1044. package/dist/types/semantics/coverage/search/door.d.ts.map +1 -0
  1045. package/dist/types/semantics/coverage/search/events.d.ts +43 -0
  1046. package/dist/types/semantics/coverage/search/events.d.ts.map +1 -0
  1047. package/dist/types/semantics/coverage/search/facets.d.ts +53 -0
  1048. package/dist/types/semantics/coverage/search/facets.d.ts.map +1 -0
  1049. package/dist/types/semantics/coverage/search/gaps.d.ts +64 -0
  1050. package/dist/types/semantics/coverage/search/gaps.d.ts.map +1 -0
  1051. package/dist/types/semantics/coverage/search/inEffect.d.ts +66 -0
  1052. package/dist/types/semantics/coverage/search/inEffect.d.ts.map +1 -0
  1053. package/dist/types/semantics/coverage/search/resultFacts.d.ts +43 -0
  1054. package/dist/types/semantics/coverage/search/resultFacts.d.ts.map +1 -0
  1055. package/dist/types/semantics/coverage/search/review.d.ts +37 -0
  1056. package/dist/types/semantics/coverage/search/review.d.ts.map +1 -0
  1057. package/dist/types/semantics/coverage/search/served.d.ts +52 -0
  1058. package/dist/types/semantics/coverage/search/served.d.ts.map +1 -0
  1059. package/dist/types/semantics/coverage/search/span.d.ts +35 -0
  1060. package/dist/types/semantics/coverage/search/span.d.ts.map +1 -0
  1061. package/dist/types/semantics/coverage/search/statementText.d.ts +47 -0
  1062. package/dist/types/semantics/coverage/search/statementText.d.ts.map +1 -0
  1063. package/dist/types/semantics/coverage/search/types.d.ts +121 -0
  1064. package/dist/types/semantics/coverage/search/types.d.ts.map +1 -0
  1065. package/dist/types/semantics/coverage/search/valueWords.d.ts +23 -0
  1066. package/dist/types/semantics/coverage/search/valueWords.d.ts.map +1 -0
  1067. package/dist/types/semantics/coverage/types.d.ts +163 -0
  1068. package/dist/types/semantics/coverage/types.d.ts.map +1 -1
  1069. package/dist/types/semantics/described.d.ts.map +1 -1
  1070. package/dist/types/semantics/envelope.d.ts.map +1 -1
  1071. package/dist/types/semantics/index.d.ts +2 -1
  1072. package/dist/types/semantics/index.d.ts.map +1 -1
  1073. package/dist/types/semantics/overclaim.d.ts +106 -0
  1074. package/dist/types/semantics/overclaim.d.ts.map +1 -0
  1075. package/dist/types/semantics/types.d.ts +13 -0
  1076. package/dist/types/semantics/types.d.ts.map +1 -1
  1077. package/dist/types/time-travel/servedView.d.ts +2 -2
  1078. package/dist/types/time-travel/servedView.d.ts.map +1 -1
  1079. package/dist/types/tools/declare.d.ts +1 -1
  1080. package/dist/types/tools/hostFilled.d.ts +20 -1
  1081. package/dist/types/tools/hostFilled.d.ts.map +1 -1
  1082. package/dist/types/tools/searchOf.d.ts +61 -0
  1083. package/dist/types/tools/searchOf.d.ts.map +1 -0
  1084. package/dist/types/tools/tools.d.ts +49 -0
  1085. package/dist/types/tools/tools.d.ts.map +1 -1
  1086. package/dist/types/trace-toolpack/causeCapture.d.ts +18 -0
  1087. package/dist/types/trace-toolpack/causeCapture.d.ts.map +1 -0
  1088. package/dist/types/trace-toolpack/causeControl.d.ts +7 -0
  1089. package/dist/types/trace-toolpack/causeControl.d.ts.map +1 -0
  1090. package/dist/types/trace-toolpack/causeReader.d.ts.map +1 -1
  1091. package/dist/types/trace-toolpack/causeResponse.d.ts +3 -2
  1092. package/dist/types/trace-toolpack/causeResponse.d.ts.map +1 -1
  1093. package/dist/types/trace-toolpack/causeSnapshot.d.ts +6 -1
  1094. package/dist/types/trace-toolpack/causeSnapshot.d.ts.map +1 -1
  1095. package/package.json +3 -2
  1096. package/dist/esm/tools/normalize.d.ts +0 -43
  1097. package/dist/esm/tools/normalize.js.map +0 -1
  1098. package/dist/tools/normalize.js.map +0 -1
  1099. package/dist/types/tools/normalize.d.ts +0 -44
  1100. package/dist/types/tools/normalize.d.ts.map +0 -1
@@ -0,0 +1,536 @@
1
+ "use strict";
2
+ /**
3
+ * hosting/answeredPause — a stored pause whose resume failed and may have used
4
+ * its decision: answered, with the outcome not known.
5
+ *
6
+ * Role: the one owner of that state, for EVERY door that keeps a paused run
7
+ * (`standingAgent`, `streamHandler`). Once a resume's decision may have
8
+ * reached the ledger the call may have run, so a failure — in the run,
9
+ * or in storing its result — must stop the pause being offered for an
10
+ * answer: a retry, a rebuilt instance, a restart or another host on the
11
+ * same store would answer it again. The conversation must still be able
12
+ * to go on.
13
+ *
14
+ * readStoredSession the one reading of a stored session: an
15
+ * answered pause is a conversation to
16
+ * continue, never a pause to answer
17
+ * listedFormatOf the same reading for a session listing
18
+ * answeredRefusal what an answer to it is refused with
19
+ * watchAnswer opened before a door hands an answer over
20
+ * afterFailedAnswer the one step after that answer's resume failed
21
+ * unanswerablePause a pause no answer can reach any more, and
22
+ * closedConversation the conversation it goes on from
23
+ *
24
+ * ── MARKED WHEN ITS DECISION MAY HAVE BEEN USED ─────────────────────────────
25
+ * The call may have run only if the decision reached a ledger, and
26
+ * `spendDecision` is the one place it does — so a door asks the watch it
27
+ * opened before handing the answer over (`core/consentRequest.ts` ·
28
+ * `watchDecisionUse`). Spent, refused as spent already, still unanswered, or a
29
+ * failed spend its ledger cannot say never landed: marked. Taken up by this
30
+ * library and never taken to a ledger — refused, or aborted before the spend:
31
+ * the pause stays answerable. Never taken up at all: marked, because that
32
+ * cannot be told apart from a use. What an error calls itself proves nothing,
33
+ * and nothing is read from the decision object for it, which a door may copy
34
+ * or wrap on its way to the resume.
35
+ *
36
+ * ── A PAUSE NO ANSWER CAN REACH IS CLOSED, NOT HELD ─────────────────────────
37
+ * A consent pause that recorded no request (stored before requests were
38
+ * named), whose call changed after the ask, or an ask made under rules the
39
+ * resuming agent no longer runs (a redeploy) can never be answered — every
40
+ * decision is refused. Held, it would hold the session for good. So a door
41
+ * closes it: the next message continues the conversation with the calls it
42
+ * left open settled, and a decision refused for one of those reasons — having
43
+ * used nothing — closes it too, when its question names the request it asked
44
+ * (one stored before requests were named names none: the next message closes
45
+ * that one).
46
+ *
47
+ * ── "DID NOT RUN" ONLY ON PROOF ─────────────────────────────────────────────
48
+ * A pause that still says it is waiting is no proof its call never ran: a
49
+ * resume can spend the decision, run the call, fail, and fail again to mark
50
+ * the pause answered — and a redeploy can then make it a pause no answer can
51
+ * reach. So a closed pause's open calls are settled as not run
52
+ * ({@link NOT_RUN_UNANSWERABLE}) only when the ledger the request was minted
53
+ * under — the serving agent's, and only that one — spends the request itself
54
+ * (`consentRequest.ts` · `proveNeverRan`): atomic, and it consumes the request
55
+ * so no later resume can run the call. Otherwise, and whenever that proof
56
+ * cannot be had, as possibly run ({@link OUTCOME_UNKNOWN_UNANSWERABLE}: do not
57
+ * run it again, ask the person). A false "may have run" is the safe
58
+ * direction: a model told a refund did not run may issue it again.
59
+ *
60
+ * Reads: the stored session — never the runner's own state, which on a
61
+ * shared agent may be another session's run, or a run that never
62
+ * started.
63
+ * Writes: the marked pause, through the door's session store.
64
+ *
65
+ * ── WHY THE OPEN CALLS ARE SETTLED ─────────────────────────────────────────
66
+ * A conversation whose last assistant turn holds a tool call with no result
67
+ * cannot be continued: a provider refuses the next request. So every call left
68
+ * open gets the host's notice ({@link OUTCOME_NOT_RECORDED}) — never a result,
69
+ * because the host kept none and whether the call ran is not known. When the
70
+ * run kept this session's conversation while it ran (a durable writer), that
71
+ * is what goes on, its recorded results included.
72
+ */
73
+ Object.defineProperty(exports, "__esModule", { value: true });
74
+ exports.settleOpenCalls = exports.openToolCalls = exports.markAnswered = exports.OUTCOME_NOT_RECORDED = exports.closedConversation = exports.unanswerablePause = exports.OUTCOME_UNKNOWN_UNANSWERABLE = exports.NOT_RUN_UNANSWERABLE = exports.afterFailedAnswer = exports.watchAnswer = exports.answeredRefusal = exports.listedFormatOfRow = exports.listedFormatOf = exports.readStoredSession = void 0;
75
+ const checkin_js_1 = require("../core/checkin.js");
76
+ const consentRequest_js_1 = require("../core/consentRequest.js");
77
+ const pause_js_1 = require("../core/pause.js");
78
+ const envelope_js_1 = require("./envelope.js");
79
+ const processLocalStore_js_1 = require("./processLocalStore.js");
80
+ /**
81
+ * Read a stored session the way every door must: a pause still waiting is
82
+ * offered for an answer; an ANSWERED pause is the conversation the next
83
+ * message continues and is never offered again; a conversation is a
84
+ * conversation. Throws as the envelope readers do on a format this runtime
85
+ * cannot read.
86
+ */
87
+ function readStoredSession(stored) {
88
+ if (stored.format !== 'flowchart-v1')
89
+ return { prior: (0, envelope_js_1.readEnvelope)(stored) };
90
+ const paused = (0, envelope_js_1.readPausedRun)(stored);
91
+ return paused.answered === undefined
92
+ ? { waiting: paused }
93
+ : { prior: paused.conversation, answered: paused };
94
+ }
95
+ exports.readStoredSession = readStoredSession;
96
+ /**
97
+ * The format a session LISTING reports for a stored envelope
98
+ * (`SessionSummary.format`): `'flowchart-v1'` only for a pause still waiting
99
+ * on somebody's answer — the one a door would offer for an answer — and
100
+ * `'conversation-v1'` for a conversation, an answered pause
101
+ * (`PausedRun.answered`) and a pause no answer can reach any more
102
+ * ({@link unanswerablePause}, as far as the stored checkpoint can tell).
103
+ *
104
+ * The one reading for every store that lists, so a sidebar never badges a
105
+ * pause the doors would not offer for an answer as "awaiting you". A store
106
+ * that keeps the format in a column or a field writes this when it persists,
107
+ * and reads a row that still says `'flowchart-v1'` again when it lists
108
+ * ({@link listedFormatOfRow}); one that reads its envelopes at list time calls
109
+ * it there. The envelope itself is unchanged: `hydrate` hands back what was
110
+ * stored.
111
+ *
112
+ * Lenient, as a listing must be — it never throws. A value that is not an
113
+ * envelope lists as `'unknown'`, and a pause the readers would refuse lists
114
+ * as stored, so `hydrate` refuses it by name. An ask whose later rules a
115
+ * redeploy changed is told by the serving agent, not by the stored pause: it
116
+ * lists as waiting until a door closes it.
117
+ *
118
+ * @example
119
+ * // A store's listByUser — or its persist, when the format is a column:
120
+ * const format = listedFormatOf(envelope);
121
+ */
122
+ function listedFormatOf(envelope) {
123
+ const format = typeof envelope === 'object' && envelope !== null
124
+ ? envelope.format
125
+ : undefined;
126
+ if (typeof format !== 'string')
127
+ return 'unknown';
128
+ if (format !== 'flowchart-v1')
129
+ return format;
130
+ try {
131
+ const { waiting } = readStoredSession(envelope);
132
+ return waiting !== undefined && unanswerablePause(waiting) === undefined
133
+ ? format
134
+ : 'conversation-v1';
135
+ }
136
+ catch {
137
+ return format;
138
+ }
139
+ }
140
+ exports.listedFormatOf = listedFormatOf;
141
+ /**
142
+ * The listed format of a row that KEEPS one beside its envelope (a SQLite
143
+ * column, a Firestore field): what the row says — except a stored
144
+ * `'flowchart-v1'`, which is read again from the envelope ({@link listedFormatOf}).
145
+ *
146
+ * A row written before the kept format was the listed one (an earlier
147
+ * release, or an older replica still writing) holds the envelope's own
148
+ * format, so a pause stored then says `'flowchart-v1'` whether or not anyone
149
+ * can still answer it. Only that value can be stale: a row that says
150
+ * anything else is not a pause still waiting, and nothing makes it one
151
+ * without a write. Never throws — text this runtime cannot read keeps what
152
+ * the row says (`hydrate` refuses it by name).
153
+ *
154
+ * @param stored the format the row keeps.
155
+ * @param envelopeJson the envelope stored beside it, as JSON text.
156
+ */
157
+ function listedFormatOfRow(stored, envelopeJson) {
158
+ if (stored !== 'flowchart-v1' || typeof envelopeJson !== 'string')
159
+ return stored;
160
+ let envelope;
161
+ try {
162
+ envelope = JSON.parse(envelopeJson);
163
+ }
164
+ catch {
165
+ return stored;
166
+ }
167
+ const listed = listedFormatOf(envelope);
168
+ return listed === 'unknown' ? stored : listed;
169
+ }
170
+ exports.listedFormatOfRow = listedFormatOfRow;
171
+ /**
172
+ * What an answer to an answered pause is refused with: `'already-answered'`,
173
+ * whose message says the earlier resume's outcome is not known here.
174
+ */
175
+ function answeredRefusal(answered) {
176
+ return new pause_js_1.ResumeDecisionError('already-answered', answered.pending.ask !== undefined ? 'ask' : 'checkIn');
177
+ }
178
+ exports.answeredRefusal = answeredRefusal;
179
+ /** The request a stored consent pause asked, by id — `undefined` for any other pause. */
180
+ function askedRequestOf(paused) {
181
+ return paused.pending.checkIn?.id ?? paused.pending.ask?.id;
182
+ }
183
+ /**
184
+ * The watch a door opens BEFORE it hands an answer to its runner, and releases
185
+ * once {@link afterFailedAnswer} has decided — `undefined` for a pause no
186
+ * decision answers. Keyed by the pause's request, never by the answer object.
187
+ */
188
+ function watchAnswer(paused) {
189
+ const asked = askedRequestOf(paused);
190
+ return asked === undefined ? undefined : (0, consentRequest_js_1.watchDecisionUse)(asked);
191
+ }
192
+ exports.watchAnswer = watchAnswer;
193
+ /**
194
+ * After a resume of a consent gate — or what followed it, storing its result
195
+ * included — FAILED, at any door that keeps the pause: when the watch says
196
+ * its decision may have been used (`DecisionUseWatch.mayHaveBeenUsed`),
197
+ * persist the pause marked answered; otherwise nothing of it was used and the
198
+ * pause stays answerable.
199
+ *
200
+ * Read first, to leave alone what must not be overwritten — but only when the
201
+ * read SUCCEEDS: a newer pause the run stored before the failure (this pause
202
+ * is gone, and a decision for it is refused as another request's) or a mark
203
+ * already there. A store that cannot be read, or holds what this runtime
204
+ * cannot read, is marked anyway: failing to read is no proof the decision was
205
+ * unused. A store that holds NOTHING is left so — the session expired or was
206
+ * forgotten while the answer ran, and a mark would bring it back. The
207
+ * conversation the mark goes on from is what the run kept for this session (a
208
+ * durable writer's conversation) when the read shows one, else the
209
+ * conversation as of the pause — never the runner's own state, which on a
210
+ * shared agent may be another session's run.
211
+ *
212
+ * A declined decision never runs its call — but a decline is recorded only
213
+ * when it is what the ledger spent: when the answer that failed was a decline
214
+ * AND the watch saw the request spent for a decline, with no approval taken
215
+ * to a ledger (`DecisionUseWatch.spentAsDecline`), the paused call is
216
+ * settled as declined. A decline refused because the request was already
217
+ * spent — an approval, here or in another process, may have run the call —
218
+ * is settled as unknown, like any other.
219
+ *
220
+ * Unused, and refused for a reason no decision can change (`error` is a
221
+ * `'request-not-recorded'`, `'call-changed'`, `'chain-changed'` or
222
+ * `'ledger-changed'` refusal):
223
+ * the pause is CLOSED instead — it could only ever hold the session. Read
224
+ * from the refusal's own code, which is safe only because THIS resume used
225
+ * nothing. An earlier one may have — a resume that ran the call and then
226
+ * could not mark the pause answered — so the calls it leaves open are
227
+ * recorded as not run only on proof ({@link closedConversation}, asked of
228
+ * `runner`'s ledger), else as not known.
229
+ *
230
+ * Only a failure of the WRITE itself is swallowed — the run's failure is the
231
+ * one the caller is told, and the ledger still refuses the decision in this
232
+ * process — and it is reported on the console, never silent.
233
+ *
234
+ * @param watch the door's {@link watchAnswer}, opened before the resume.
235
+ * @param answer the answer as the door handed it over — read only to tell a
236
+ * decline, and only from its own data properties.
237
+ * @param settle writes still in flight for this session (a durable writer),
238
+ * drained first so none lands on top of the mark.
239
+ * @param runner the runner the answer was handed to — whose ledger can prove
240
+ * that a closed pause's calls never ran.
241
+ */
242
+ async function afterFailedAnswer(input) {
243
+ const { store, sessionId, paused, watch } = input;
244
+ const asked = askedRequestOf(paused);
245
+ // Only a consent gate's pause is answered by a decision.
246
+ if (asked === undefined || watch === undefined)
247
+ return 'kept';
248
+ if (!(await watch.mayHaveBeenUsed())) {
249
+ const reason = unanswerableRefusalOf(input.error);
250
+ return reason === undefined ? 'kept' : closeUnanswerable(store, sessionId, asked, input.runner);
251
+ }
252
+ // A request a host already closed with the proof that its call never ran —
253
+ // its closed conversation stored nowhere (the write, or the run after it,
254
+ // failed): closed again here as not run, never marked as possibly run. Read
255
+ // from the ledger's close marker, never from what the error calls itself.
256
+ if (await (0, consentRequest_js_1.closedByAHost)(neverRanQuestion(paused, { runner: input.runner, store }))) {
257
+ return closeUnanswerable(store, sessionId, asked, input.runner);
258
+ }
259
+ try {
260
+ await input.settle?.();
261
+ }
262
+ catch {
263
+ // a write that would not drain does not stop the mark
264
+ }
265
+ let current;
266
+ try {
267
+ current = await store.hydrate(sessionId);
268
+ }
269
+ catch {
270
+ current = UNREAD; // marked from the pause's own conversation
271
+ }
272
+ if (current === undefined)
273
+ return 'kept';
274
+ let kept;
275
+ if (current !== UNREAD) {
276
+ try {
277
+ if (current.format === 'conversation-v1') {
278
+ kept = (0, envelope_js_1.readEnvelope)(current);
279
+ }
280
+ else {
281
+ const stored = (0, envelope_js_1.readPausedRun)(current);
282
+ if (stored.answered !== undefined || askedRequestOf(stored) !== asked)
283
+ return 'kept';
284
+ }
285
+ }
286
+ catch {
287
+ kept = undefined; // what the store holds cannot be read — marked anyway
288
+ }
289
+ }
290
+ try {
291
+ await store.persist(sessionId, (0, envelope_js_1.toPausedEnvelope)(markAnswered(paused, kept, Date.now(), watch.spentAsDecline() ? declinedCallOf(paused, input.answer) : undefined)));
292
+ return 'marked';
293
+ }
294
+ catch (err) {
295
+ // eslint-disable-next-line no-console
296
+ console.warn('[hosting] a paused request whose decision may have been used could not be marked ' +
297
+ "answered in the session store; only this process's ledger refuses that decision " +
298
+ '— give every process one shared decisionLedger. Store error:', err instanceof Error ? err.name : typeof err);
299
+ return 'kept';
300
+ }
301
+ }
302
+ exports.afterFailedAnswer = afterFailedAnswer;
303
+ /** A read of the store that threw — told apart from a store that holds nothing. */
304
+ const UNREAD = Symbol('unread');
305
+ /** The reason a refusal no decision can change names, read from its code and reason. */
306
+ function unanswerableRefusalOf(error) {
307
+ if (typeof error !== 'object' || error === null)
308
+ return undefined;
309
+ const { code, reason } = error;
310
+ return code === 'ERR_RESUME_DECISION' &&
311
+ (reason === 'request-not-recorded' ||
312
+ reason === 'call-changed' ||
313
+ reason === 'chain-changed' ||
314
+ reason === 'ledger-changed')
315
+ ? reason
316
+ : undefined;
317
+ }
318
+ /**
319
+ * Close the stored pause for `asked` — only over that same pause, still
320
+ * waiting, read back from the store: never over a newer pause, a mark, or a
321
+ * store that cannot be read. A store that refuses the write leaves it held,
322
+ * and that is said on the console.
323
+ */
324
+ async function closeUnanswerable(store, sessionId, asked, runner) {
325
+ let stored;
326
+ try {
327
+ const current = await store.hydrate(sessionId);
328
+ if (current === undefined || current.format !== 'flowchart-v1')
329
+ return 'kept';
330
+ stored = (0, envelope_js_1.readPausedRun)(current);
331
+ }
332
+ catch {
333
+ return 'kept';
334
+ }
335
+ if (stored.answered !== undefined || askedRequestOf(stored) !== asked)
336
+ return 'kept';
337
+ try {
338
+ await store.persist(sessionId, (0, envelope_js_1.toEnvelope)(await closedConversation(stored, { runner, store })));
339
+ return 'closed';
340
+ }
341
+ catch (err) {
342
+ // eslint-disable-next-line no-console
343
+ console.warn('[hosting] a paused request no decision can answer could not be closed in the session ' +
344
+ 'store; the session keeps refusing new messages until it is. Store error:', err instanceof Error ? err.name : typeof err);
345
+ return 'kept';
346
+ }
347
+ }
348
+ /**
349
+ * What the model reads for a call whose question no answer can reach any more
350
+ * — its pause was closed, and the call PROVABLY did not run: the ledger its
351
+ * request was minted under spent the request itself, so no decision for it
352
+ * had been handed over and none ever can be (`consentRequest.ts` ·
353
+ * `proveNeverRan`).
354
+ */
355
+ exports.NOT_RUN_UNANSWERABLE = 'That call did not run: the question it waited on could no longer be answered.';
356
+ /** What every notice whose call may have run ends with: what to do about it. */
357
+ const ASK_THE_PERSON = 'Tell the person it may already have happened and ask them to check.';
358
+ /**
359
+ * What the model reads for each call a pause no answer can reach left open,
360
+ * when it cannot be proven that the call never ran: a decision for the pause
361
+ * may have been used — by a resume whose failure the host could not record —
362
+ * so the call may have run. Never "did not run" without proof, and never an
363
+ * invitation to try again: a model told a refund did not run may issue it
364
+ * again. The same words for every open call — the paused one and a sibling
365
+ * that never needed an approval alike — so none of them names an approval.
366
+ */
367
+ exports.OUTCOME_UNKNOWN_UNANSWERABLE = `This call may have run; no result was kept. Do not run it again. ${ASK_THE_PERSON}`;
368
+ /**
369
+ * Why the stored pause can never be answered by `runner` — `undefined` when it
370
+ * can, or when that cannot be told (`core/consentRequest.ts` ·
371
+ * `unanswerableReason`). Without a runner, or with one whose rules and
372
+ * ledger a host cannot see (a composition, an app's own), an ask's chain and
373
+ * the ledger binding (`'ledger-changed'`) are not checked.
374
+ */
375
+ function unanswerablePause(paused, runner) {
376
+ let gate;
377
+ try {
378
+ gate = (0, pause_js_1.pauseDemandsDecision)(paused.checkpoint.pauseData);
379
+ }
380
+ catch {
381
+ return undefined;
382
+ }
383
+ if (gate === undefined)
384
+ return undefined;
385
+ return (0, consentRequest_js_1.unanswerableReason)(paused.checkpoint, gate.kind, (0, consentRequest_js_1.consentRulesOf)(runner), (0, consentRequest_js_1.consentLedgerOf)(runner));
386
+ }
387
+ exports.unanswerablePause = unanswerablePause;
388
+ /**
389
+ * The conversation a pause no answer can reach goes on from: every call it
390
+ * left open settled by the host's notice — none of them can run from here.
391
+ *
392
+ * "Did not run" ({@link NOT_RUN_UNANSWERABLE}) ONLY when non-execution is
393
+ * proven: the ledger the request was minted under — the serving agent's,
394
+ * and only when it is the same one — spends the request itself, atomically
395
+ * (`consentRequest.ts` · `proveNeverRan`). That both proves no decision had
396
+ * reached it and makes sure none ever will: closing CONSUMES the request. The
397
+ * record alone cannot say it — a resume may have run the call and then failed
398
+ * to mark the stored pause answered, before a redeploy made the pause one no
399
+ * answer can reach. Otherwise, and whenever the proof cannot be had, every
400
+ * open call is recorded as possibly run ({@link OUTCOME_UNKNOWN_UNANSWERABLE}).
401
+ * Every notice is marked as the library's (`toolResultOrigin`).
402
+ */
403
+ async function closedConversation(paused, door = {}) {
404
+ const { history } = paused.conversation;
405
+ const neverRan = await (0, consentRequest_js_1.proveNeverRan)(neverRanQuestion(paused, door));
406
+ return {
407
+ ...paused.conversation,
408
+ history: [
409
+ ...history,
410
+ ...openToolCalls(history).map((call) => neverRan
411
+ ? noticeFor(call, exports.NOT_RUN_UNANSWERABLE, 'not-entered')
412
+ : noticeFor(call, exports.OUTCOME_UNKNOWN_UNANSWERABLE, 'outcome-unknown')),
413
+ ],
414
+ };
415
+ }
416
+ exports.closedConversation = closedConversation;
417
+ /** What the proof asks about `paused`, closed by `door`. */
418
+ function neverRanQuestion(paused, door) {
419
+ return {
420
+ requestIds: requestIdsOf(paused),
421
+ mintedUnder: (0, consentRequest_js_1.pausedRequestLedgerOf)(paused.checkpoint),
422
+ runner: door.runner,
423
+ storeIsProcessLocal: (0, processLocalStore_js_1.isProcessLocalStore)(door.store),
424
+ };
425
+ }
426
+ /**
427
+ * Every id the stored pause knows its request by — the question's and the
428
+ * paused state's — once each. Empty for a pause that names none (one stored
429
+ * before requests were named), which no ledger can answer for.
430
+ */
431
+ function requestIdsOf(paused) {
432
+ const ids = [askedRequestOf(paused), (0, consentRequest_js_1.pausedRequestIdOf)(paused.checkpoint)];
433
+ return [...new Set(ids.filter((id) => typeof id === 'string' && id.length > 0))];
434
+ }
435
+ /**
436
+ * The paused call, when the answer that failed declined it: `approved` is
437
+ * `false`, read from the answer's own data — a getter is never invoked. Asked
438
+ * only once the watch says a decline is what the ledger spent.
439
+ */
440
+ function declinedCallOf(paused, answer) {
441
+ if (typeof answer !== 'object' || answer === null)
442
+ return undefined;
443
+ const toolCallId = (0, consentRequest_js_1.pausedCallIdOf)(paused.checkpoint);
444
+ if (toolCallId === undefined || ownData(answer, 'approved') !== false)
445
+ return undefined;
446
+ const note = ownData(answer, 'note');
447
+ return { toolCallId, ...(typeof note === 'string' && note.length > 0 && { note }) };
448
+ }
449
+ /** `record[key]` when it is an own DATA property — never a getter's answer. */
450
+ function ownData(record, key) {
451
+ try {
452
+ const field = Object.getOwnPropertyDescriptor(record, key);
453
+ return field !== undefined && 'value' in field ? field.value : undefined;
454
+ }
455
+ catch {
456
+ return undefined;
457
+ }
458
+ }
459
+ /**
460
+ * What the model reads for a call the run left open: a past fact about that
461
+ * call, and a notice rather than its result.
462
+ */
463
+ exports.OUTCOME_NOT_RECORDED = 'No result was kept for that call: the run that took it up stopped before it finished, so ' +
464
+ `whether it ran is not known. ${ASK_THE_PERSON}`;
465
+ /**
466
+ * The stored pause, marked answered: a decision for it is refused from here
467
+ * on, and the conversation it goes on from has every call left open settled
468
+ * as unknown — the call a person declined, as declined: it did not run.
469
+ *
470
+ * @param progressed this session's conversation as the run kept it, or
471
+ * `undefined` to go on from the conversation as of the pause.
472
+ * @param declined the paused call, when the answer declined it.
473
+ */
474
+ function markAnswered(paused, progressed, now = Date.now(), declined) {
475
+ const conversation = progressed ?? paused.conversation;
476
+ return {
477
+ ...paused,
478
+ conversation: {
479
+ ...conversation,
480
+ history: settleOpenCalls(conversation.history, declined),
481
+ },
482
+ answered: { at: now },
483
+ };
484
+ }
485
+ exports.markAnswered = markAnswered;
486
+ /**
487
+ * The tool calls in `history` that no tool message answered, in the order the
488
+ * model made them.
489
+ */
490
+ function openToolCalls(history) {
491
+ const open = new Map();
492
+ for (const message of history) {
493
+ if (message.role === 'tool' && message.toolCallId !== undefined)
494
+ open.delete(message.toolCallId);
495
+ if (message.role === 'assistant') {
496
+ for (const call of message.toolCalls ?? [])
497
+ open.set(call.id, { id: call.id, name: call.name });
498
+ }
499
+ }
500
+ return [...open.values()];
501
+ }
502
+ exports.openToolCalls = openToolCalls;
503
+ /**
504
+ * `history` with every open tool call settled by the host's notice — the same
505
+ * history when none is open. Each notice is marked as the library's
506
+ * (`toolResultOrigin`: `'outcome-unknown'`, or `'not-entered'` for a declined
507
+ * call), whether or not the run served findings.
508
+ *
509
+ * @param declined the call a person declined, settled as declined — the
510
+ * result the dispatch loop records for a decline — instead of as unknown.
511
+ */
512
+ function settleOpenCalls(history, declined) {
513
+ return [
514
+ ...history,
515
+ ...openToolCalls(history).map((call) => call.id === declined?.toolCallId
516
+ ? noticeFor(call, (0, checkin_js_1.declinedResult)(declined.note), 'not-entered')
517
+ : noticeFor(call, exports.OUTCOME_NOT_RECORDED, 'outcome-unknown')),
518
+ ];
519
+ }
520
+ exports.settleOpenCalls = settleOpenCalls;
521
+ /**
522
+ * The host's notice for an open call — never its result — always marked as
523
+ * the library's (`toolResultOrigin`): a reader tells it from a result by the
524
+ * marker, never by its words. The marker never reaches a provider
525
+ * (`stripFrameworkFields`).
526
+ */
527
+ function noticeFor(call, content, origin) {
528
+ return {
529
+ role: 'tool',
530
+ toolName: call.name,
531
+ toolCallId: call.id,
532
+ toolResultOrigin: origin,
533
+ content,
534
+ };
535
+ }
536
+ //# sourceMappingURL=answeredPause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answeredPause.js","sourceRoot":"","sources":["../../src/hosting/answeredPause.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;;;AAEH,mDAAoD;AACpD,iEAamC;AACnC,+CAA6E;AAG7E,+CAA0F;AAC1F,iEAA6D;AAa7D;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAA0B;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc;QAAE,OAAO,EAAE,KAAK,EAAE,IAAA,0BAAY,EAAC,MAAM,CAAC,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;QAClC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE;QACrB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC;AAND,8CAMC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,cAAc,CAAC,QAAiB;IAC9C,MAAM,MAAM,GACV,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAC/C,CAAC,CAAE,QAAiC,CAAC,MAAM;QAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,MAAM,KAAK,cAAc;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,QAA8B,CAAC,CAAC;QACtE,OAAO,OAAO,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,SAAS;YACtE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,iBAAiB,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAfD,wCAeC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,YAAqB;IACrE,IAAI,MAAM,KAAK,cAAc,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACjF,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAVD,8CAUC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,QAAmB;IACjD,OAAO,IAAI,8BAAmB,CAC5B,kBAAkB,EAClB,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;AACJ,CAAC;AALD,0CAKC;AAED,yFAAyF;AACzF,SAAS,cAAc,CAAC,MAAiB;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,MAAiB;IAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,oCAAgB,EAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAHD,kCAGC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACI,KAAK,UAAU,iBAAiB,CAAC,KAUvC;IACC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,yDAAyD;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClG,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,MAAM,IAAA,iCAAa,EAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IACD,IAAI,OAAuD,CAAC;IAC5D,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,MAAM,CAAC,CAAC,2CAA2C;IAC/D,CAAC;IACD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,IAAoC,CAAC;IACzC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBACzC,IAAI,GAAG,IAAA,0BAAY,EAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,KAAK;oBAAE,OAAO,MAAM,CAAC;YACvF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC,CAAC,sDAAsD;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CACjB,SAAS,EACT,IAAA,8BAAgB,EACd,YAAY,CACV,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,GAAG,EAAE,EACV,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CACF,CACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,mFAAmF;YACjF,kFAAkF;YAClF,8DAA8D,EAChE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,CAC7C,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AA1ED,8CA0EC;AAED,mFAAmF;AACnF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEhC,wFAAwF;AACxF,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAA6C,CAAC;IACvE,OAAO,IAAI,KAAK,qBAAqB;QACnC,CAAC,MAAM,KAAK,sBAAsB;YAChC,MAAM,KAAK,cAAc;YACzB,MAAM,KAAK,eAAe;YAC1B,MAAM,KAAK,gBAAgB,CAAC;QAC9B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC9B,KAAuB,EACvB,SAAiB,EACjB,KAAa,EACb,MAAe;IAEf,IAAI,MAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc;YAAE,OAAO,MAAM,CAAC;QAC9E,MAAM,GAAG,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAA,wBAAU,EAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,uFAAuF;YACrF,0EAA0E,EAC5E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,CAC7C,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACU,QAAA,oBAAoB,GAC/B,+EAA+E,CAAC;AAElF,gFAAgF;AAChF,MAAM,cAAc,GAAG,qEAAqE,CAAC;AAE7F;;;;;;;;GAQG;AACU,QAAA,4BAA4B,GAAG,oEAAoE,cAAc,EAAE,CAAC;AAEjI;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,MAAiB,EACjB,MAAgB;IAEhB,IAAI,IAA6C,CAAC;IAClD,IAAI,CAAC;QACH,IAAI,GAAG,IAAA,+BAAoB,EAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,IAAA,sCAAkB,EACvB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,IAAI,EACT,IAAA,kCAAc,EAAC,MAAM,CAAC,EACtB,IAAA,mCAAe,EAAC,MAAM,CAAC,CACxB,CAAC;AACJ,CAAC;AAjBD,8CAiBC;AAUD;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,OAAoB,EAAE;IAEtB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAa,EAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,MAAM,CAAC,YAAY;QACtB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrC,QAAQ;gBACN,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,4BAAoB,EAAE,aAAa,CAAC;gBACtD,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,oCAA4B,EAAE,iBAAiB,CAAC,CACrE;SACF;KACF,CAAC;AACJ,CAAC;AAjBD,gDAiBC;AAED,4DAA4D;AAC5D,SAAS,gBAAgB,CAAC,MAAiB,EAAE,IAAiB;IAC5D,OAAO;QACL,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,IAAA,yCAAqB,EAAC,MAAM,CAAC,UAAU,CAAC;QACrD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,mBAAmB,EAAE,IAAA,0CAAmB,EAAC,IAAI,CAAC,KAAK,CAAC;KACrD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,MAAiB;IACrC,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAA,qCAAiB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC;AASD;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAiB,EAAE,MAAe;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,UAAU,GAAG,IAAA,kCAAc,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACxF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,+EAA+E;AAC/E,SAAS,OAAO,CAAC,MAAc,EAAE,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,KAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACU,QAAA,oBAAoB,GAC/B,2FAA2F;IAC3F,gCAAgC,cAAc,EAAE,CAAC;AAEnD;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,MAAiB,EACjB,UAA0C,EAC1C,MAAc,IAAI,CAAC,GAAG,EAAE,EACxB,QAAuB;IAEvB,MAAM,YAAY,GAAG,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC;IACvD,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;SACzD;QACD,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAfD,oCAeC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,OAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0D,CAAC;IAC/E,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE;gBACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAbD,sCAaC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC7B,OAA8B,EAC9B,QAAuB;IAEvB,OAAO;QACL,GAAG,OAAO;QACV,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrC,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,UAAU;YAC9B,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAA,2BAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;YAC/D,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,4BAAoB,EAAE,iBAAiB,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AAZD,0CAYC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAChB,IAAoD,EACpD,OAAe,EACf,MAAyC;IAEzC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,gBAAgB,EAAE,MAAM;QACxB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -43,6 +43,34 @@ function textOf(envelope) {
43
43
  const first = history[0];
44
44
  return typeof first?.content === 'string' ? first.content : undefined;
45
45
  }
46
+ /**
47
+ * A stored PAUSE around one of the kit's conversations: still waiting on a
48
+ * person, or — with `answeredAt` — marked answered, which is what a door
49
+ * writes when a resume may have used the pause's decision
50
+ * (`PausedRun.answered`). Its `savedAt` is the conversation's.
51
+ *
52
+ * The checkpoint carries only what a reader validates (`checkEnvelope`): the
53
+ * engine's other halves are not a store's business, which is why the shape is
54
+ * asserted rather than typed.
55
+ */
56
+ function pausedEnvelope(conversation, answeredAt) {
57
+ return {
58
+ format: 'flowchart-v1',
59
+ savedAt: conversation.savedAt,
60
+ data: {
61
+ checkpoint: { pausedStageId: 'ask-a-person', sharedState: {}, subflowPath: [] },
62
+ conversation: conversation.data,
63
+ pending: { question: 'Go ahead?', pauseData: { question: 'Go ahead?' } },
64
+ ...(answeredAt !== undefined && { answered: { at: answeredAt } }),
65
+ },
66
+ };
67
+ }
68
+ /** The `answered` mark a stored pause carries, read the way a door reads it. */
69
+ function answeredMarkOf(envelope) {
70
+ return envelope === undefined ? undefined : (0, envelope_js_1.readPausedRun)(envelope).answered?.at;
71
+ }
72
+ /** When the conformance cases mark a pause answered. */
73
+ const MARKED_AT = 1_700_000_500_000;
46
74
  /** Read every page of a listing, so a paging bug shows up as a wrong SET. */
47
75
  async function allPages(store, userId, limit) {
48
76
  const ids = [];
@@ -98,6 +126,27 @@ const roundTrip = {
98
126
  'conversation at one exchange.');
99
127
  },
100
128
  };
129
+ const answeredPauseRoundTrip = {
130
+ name: 'answered-pause-round-trips',
131
+ law: 'A stored pause comes back as it went in — still waiting, or with the `answered` mark a door wrote over it.',
132
+ async run(store, kit) {
133
+ const id = kit.id('answered');
134
+ const conversation = kit.envelope('approve the refund?', 'alice');
135
+ // The door's own sequence: the pause is stored, and later marked.
136
+ await store.persist(id, pausedEnvelope(conversation));
137
+ const waiting = await store.hydrate(id);
138
+ check(waiting?.format === 'flowchart-v1' && answeredMarkOf(waiting) === undefined, `a stored pause came back as format='${String(waiting?.format)}' with answered mark ` +
139
+ `${JSON.stringify(answeredMarkOf(waiting))}. A pause still waiting on a person has to ` +
140
+ `come back as one, and with no mark nobody wrote — a mark there hides the question.`);
141
+ await store.persist(id, pausedEnvelope(conversation, MARKED_AT));
142
+ const marked = await store.hydrate(id);
143
+ check(marked?.format === 'flowchart-v1' && answeredMarkOf(marked) === MARKED_AT, `the \`answered\` mark did not survive the round trip (came back as ` +
144
+ `${JSON.stringify(answeredMarkOf(marked))}). A door marks a pause answered when a ` +
145
+ `resume may have used its decision, so the call may have run. A store that drops the ` +
146
+ `mark offers that request for an answer again — a retry, a restart or another host ` +
147
+ `would answer it twice.`);
148
+ },
149
+ };
101
150
  const unreadableIsNotAbsent = {
102
151
  name: 'unreadable-is-not-absent',
103
152
  law: 'A stored conversation this runtime cannot read is never answered as absent.',
@@ -385,6 +434,35 @@ const listNewestFirst = {
385
434
  }
386
435
  },
387
436
  };
437
+ const listAnsweredAsConversation = {
438
+ name: 'list-by-user-shows-an-answered-pause-as-a-conversation',
439
+ law: 'A listing reports `flowchart-v1` only for a pause still waiting on an answer; an answered pause lists as `conversation-v1`, like a finished turn.',
440
+ members: ['listByUser'],
441
+ async run(store, kit) {
442
+ const at = 1_700_000_000_000;
443
+ const waiting = kit.id('still-waiting');
444
+ const answered = kit.id('answered');
445
+ const finished = kit.id('finished');
446
+ await store.persist(waiting, pausedEnvelope(kit.envelope('still waiting', 'alice', at)));
447
+ // Stored as a pause first, then marked — so a store that writes the
448
+ // listed format when it persists has to write it again.
449
+ await store.persist(answered, pausedEnvelope(kit.envelope('answered', 'alice', at + 1)));
450
+ await store.persist(answered, pausedEnvelope(kit.envelope('answered', 'alice', at + 2), MARKED_AT));
451
+ await store.persist(finished, kit.envelope('finished', 'alice', at + 3));
452
+ const { pages } = await allPages(store, 'alice', 10);
453
+ const listed = new Map(pages.flatMap((page) => page.sessions).map((row) => [row.sessionId, row.format]));
454
+ check(listed.get(waiting) === 'flowchart-v1', `a pause still waiting on a person was listed as ` +
455
+ `${JSON.stringify(listed.get(waiting))}. 'flowchart-v1' is what a sidebar badges ` +
456
+ `"awaiting you" — the one row it must not miss.`);
457
+ check(listed.get(answered) === 'conversation-v1', `an ANSWERED pause was listed as ${JSON.stringify(listed.get(answered))}. A resume ` +
458
+ `already used its decision and no door offers it for an answer again, so a sidebar ` +
459
+ `that badges it "awaiting you" shows a question nobody can answer. List it as ` +
460
+ `'conversation-v1' — \`listedFormatOf(envelope)\` from 'agentfootprint/hosting' is the ` +
461
+ `one reading, at persist for a store that keeps the format in a column (and again at ` +
462
+ `list time for a row that still says 'flowchart-v1'), else at list time.`);
463
+ check(listed.get(finished) === 'conversation-v1', `a finished conversation was listed as ${JSON.stringify(listed.get(finished))}.`);
464
+ },
465
+ };
388
466
  /** Long enough to cross any plausible key-length ceiling. */
389
467
  const PAST_ANY_CEILING = 1000;
390
468
  const FOLD_PAIRS = [
@@ -651,6 +729,7 @@ const featureDetected = {
651
729
  exports.sessionLifecycleConformance = [
652
730
  absentHydratesUndefined,
653
731
  roundTrip,
732
+ answeredPauseRoundTrip,
654
733
  unreadableIsNotAbsent,
655
734
  forgetRemoves,
656
735
  ownershipDerived,
@@ -661,6 +740,7 @@ exports.sessionLifecycleConformance = [
661
740
  ownerOfAmbiguity,
662
741
  listPages,
663
742
  listNewestFirst,
743
+ listAnsweredAsConversation,
664
744
  handedBackIdIsNotASecondAddress,
665
745
  awkwardIds,
666
746
  retentionHonesty,