agentfootprint 9.112.2 → 9.114.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 (282) hide show
  1. package/CHANGELOG.md +338 -0
  2. package/CLAUDE.md +2 -1
  3. package/dist/adapters/observability/audit.js +8 -0
  4. package/dist/adapters/observability/audit.js.map +1 -1
  5. package/dist/adapters/observability/otel.js +44 -2
  6. package/dist/adapters/observability/otel.js.map +1 -1
  7. package/dist/adapters/observability/xray.js +19 -0
  8. package/dist/adapters/observability/xray.js.map +1 -1
  9. package/dist/adapters/types.js.map +1 -1
  10. package/dist/core/Agent.js +11 -1
  11. package/dist/core/Agent.js.map +1 -1
  12. package/dist/core/agent/composeRequest.js +19 -11
  13. package/dist/core/agent/composeRequest.js.map +1 -1
  14. package/dist/core/agent/coverage/absent.js +163 -7
  15. package/dist/core/agent/coverage/absent.js.map +1 -1
  16. package/dist/core/agent/coverage/answer.js +3 -1
  17. package/dist/core/agent/coverage/answer.js.map +1 -1
  18. package/dist/core/agent/coverage/read.js +18 -12
  19. package/dist/core/agent/coverage/read.js.map +1 -1
  20. package/dist/core/agent/findings/ledger.js +27 -5
  21. package/dist/core/agent/findings/ledger.js.map +1 -1
  22. package/dist/core/agent/findings/offer.js +29 -9
  23. package/dist/core/agent/findings/offer.js.map +1 -1
  24. package/dist/core/agent/findings/serve.js +76 -7
  25. package/dist/core/agent/findings/serve.js.map +1 -1
  26. package/dist/core/agent/findings/types.js.map +1 -1
  27. package/dist/core/agent/findings/unsettled.js +283 -0
  28. package/dist/core/agent/findings/unsettled.js.map +1 -0
  29. package/dist/core/agent/stages/callLLM.js +30 -8
  30. package/dist/core/agent/stages/callLLM.js.map +1 -1
  31. package/dist/core/agent/stages/route.js +10 -2
  32. package/dist/core/agent/stages/route.js.map +1 -1
  33. package/dist/core/agent/stages/toolCalls.js +365 -68
  34. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  35. package/dist/core/agent/stages/window.js +5 -2
  36. package/dist/core/agent/stages/window.js.map +1 -1
  37. package/dist/core/agent/toolDispatch.js +4 -1
  38. package/dist/core/agent/toolDispatch.js.map +1 -1
  39. package/dist/core/agent/toolResultCap.js +0 -0
  40. package/dist/core/agent/toolResultCap.js.map +1 -1
  41. package/dist/core/agent/window/ledgerFactPins.js +13 -2
  42. package/dist/core/agent/window/ledgerFactPins.js.map +1 -1
  43. package/dist/core/agent/window/toolNames.js +17 -2
  44. package/dist/core/agent/window/toolNames.js.map +1 -1
  45. package/dist/core/checkin.js +5 -1
  46. package/dist/core/checkin.js.map +1 -1
  47. package/dist/core/inputRequest.js +32 -2
  48. package/dist/core/inputRequest.js.map +1 -1
  49. package/dist/core/pause.js +13 -1
  50. package/dist/core/pause.js.map +1 -1
  51. package/dist/core/runCheckpoint.js +26 -2
  52. package/dist/core/runCheckpoint.js.map +1 -1
  53. package/dist/esm/adapters/observability/audit.d.ts +8 -0
  54. package/dist/esm/adapters/observability/audit.js +8 -0
  55. package/dist/esm/adapters/observability/audit.js.map +1 -1
  56. package/dist/esm/adapters/observability/otel.d.ts +17 -2
  57. package/dist/esm/adapters/observability/otel.js +44 -2
  58. package/dist/esm/adapters/observability/otel.js.map +1 -1
  59. package/dist/esm/adapters/observability/xray.d.ts +8 -0
  60. package/dist/esm/adapters/observability/xray.js +19 -0
  61. package/dist/esm/adapters/observability/xray.js.map +1 -1
  62. package/dist/esm/adapters/types.d.ts +49 -0
  63. package/dist/esm/adapters/types.js.map +1 -1
  64. package/dist/esm/core/Agent.js +11 -1
  65. package/dist/esm/core/Agent.js.map +1 -1
  66. package/dist/esm/core/agent/composeRequest.d.ts +10 -7
  67. package/dist/esm/core/agent/composeRequest.js +19 -11
  68. package/dist/esm/core/agent/composeRequest.js.map +1 -1
  69. package/dist/esm/core/agent/coverage/absent.d.ts +31 -4
  70. package/dist/esm/core/agent/coverage/absent.js +160 -6
  71. package/dist/esm/core/agent/coverage/absent.js.map +1 -1
  72. package/dist/esm/core/agent/coverage/answer.js +3 -1
  73. package/dist/esm/core/agent/coverage/answer.js.map +1 -1
  74. package/dist/esm/core/agent/coverage/index.d.ts +1 -1
  75. package/dist/esm/core/agent/coverage/read.d.ts +12 -2
  76. package/dist/esm/core/agent/coverage/read.js +19 -13
  77. package/dist/esm/core/agent/coverage/read.js.map +1 -1
  78. package/dist/esm/core/agent/coverage/types.d.ts +42 -0
  79. package/dist/esm/core/agent/findings/ledger.d.ts +23 -6
  80. package/dist/esm/core/agent/findings/ledger.js +27 -5
  81. package/dist/esm/core/agent/findings/ledger.js.map +1 -1
  82. package/dist/esm/core/agent/findings/offer.d.ts +23 -6
  83. package/dist/esm/core/agent/findings/offer.js +27 -8
  84. package/dist/esm/core/agent/findings/offer.js.map +1 -1
  85. package/dist/esm/core/agent/findings/serve.d.ts +19 -6
  86. package/dist/esm/core/agent/findings/serve.js +77 -8
  87. package/dist/esm/core/agent/findings/serve.js.map +1 -1
  88. package/dist/esm/core/agent/findings/types.d.ts +81 -1
  89. package/dist/esm/core/agent/findings/types.js.map +1 -1
  90. package/dist/esm/core/agent/findings/unsettled.d.ts +128 -0
  91. package/dist/esm/core/agent/findings/unsettled.js +278 -0
  92. package/dist/esm/core/agent/findings/unsettled.js.map +1 -0
  93. package/dist/esm/core/agent/stages/callLLM.js +30 -8
  94. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  95. package/dist/esm/core/agent/stages/route.js +10 -2
  96. package/dist/esm/core/agent/stages/route.js.map +1 -1
  97. package/dist/esm/core/agent/stages/toolCalls.d.ts +90 -2
  98. package/dist/esm/core/agent/stages/toolCalls.js +362 -68
  99. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  100. package/dist/esm/core/agent/stages/window.js +5 -2
  101. package/dist/esm/core/agent/stages/window.js.map +1 -1
  102. package/dist/esm/core/agent/toolDispatch.d.ts +4 -1
  103. package/dist/esm/core/agent/toolDispatch.js +4 -1
  104. package/dist/esm/core/agent/toolDispatch.js.map +1 -1
  105. package/dist/esm/core/agent/toolResultCap.d.ts +4 -1
  106. package/dist/esm/core/agent/toolResultCap.js +0 -0
  107. package/dist/esm/core/agent/toolResultCap.js.map +1 -1
  108. package/dist/esm/core/agent/types.d.ts +5 -0
  109. package/dist/esm/core/agent/window/ledgerFactPins.d.ts +10 -1
  110. package/dist/esm/core/agent/window/ledgerFactPins.js +13 -2
  111. package/dist/esm/core/agent/window/ledgerFactPins.js.map +1 -1
  112. package/dist/esm/core/agent/window/strategy.d.ts +2 -1
  113. package/dist/esm/core/agent/window/toolNames.d.ts +16 -1
  114. package/dist/esm/core/agent/window/toolNames.js +17 -2
  115. package/dist/esm/core/agent/window/toolNames.js.map +1 -1
  116. package/dist/esm/core/checkin.js +5 -1
  117. package/dist/esm/core/checkin.js.map +1 -1
  118. package/dist/esm/core/inputRequest.d.ts +20 -1
  119. package/dist/esm/core/inputRequest.js +32 -2
  120. package/dist/esm/core/inputRequest.js.map +1 -1
  121. package/dist/esm/core/pause.d.ts +13 -1
  122. package/dist/esm/core/pause.js +13 -1
  123. package/dist/esm/core/pause.js.map +1 -1
  124. package/dist/esm/core/runCheckpoint.js +26 -2
  125. package/dist/esm/core/runCheckpoint.js.map +1 -1
  126. package/dist/esm/events/payloads.d.ts +76 -1
  127. package/dist/esm/index.d.ts +2 -2
  128. package/dist/esm/index.js.map +1 -1
  129. package/dist/esm/lib/bug-report/transcript.d.ts +5 -0
  130. package/dist/esm/lib/bug-report/transcript.js +1 -0
  131. package/dist/esm/lib/bug-report/transcript.js.map +1 -1
  132. package/dist/esm/lib/semantics/projection.js +1 -0
  133. package/dist/esm/lib/semantics/projection.js.map +1 -1
  134. package/dist/esm/lib/time-travel/receipt.d.ts +4 -3
  135. package/dist/esm/lib/time-travel/receipt.js +4 -3
  136. package/dist/esm/lib/time-travel/receipt.js.map +1 -1
  137. package/dist/esm/lib/time-travel/servedView.js +13 -9
  138. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  139. package/dist/esm/lib/trace-toolpack/traceToolpack.js +130 -17
  140. package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
  141. package/dist/esm/memory/causal/evidenceRecorder.d.ts +2 -0
  142. package/dist/esm/memory/causal/evidenceRecorder.js +13 -0
  143. package/dist/esm/memory/causal/evidenceRecorder.js.map +1 -1
  144. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +2 -0
  145. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js +11 -0
  146. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
  147. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +10 -1
  148. package/dist/esm/recorders/observability/BoundaryRecorder.js +9 -1
  149. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
  150. package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +4 -1
  151. package/dist/esm/recorders/observability/FlowchartRecorder.js +13 -1
  152. package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
  153. package/dist/esm/recorders/observability/LiveStateRecorder.d.ts +2 -0
  154. package/dist/esm/recorders/observability/LiveStateRecorder.js +9 -0
  155. package/dist/esm/recorders/observability/LiveStateRecorder.js.map +1 -1
  156. package/dist/esm/recorders/observability/RouteRecorder.js +5 -0
  157. package/dist/esm/recorders/observability/RouteRecorder.js.map +1 -1
  158. package/dist/esm/recorders/observability/StatusRecorder.js +7 -0
  159. package/dist/esm/recorders/observability/StatusRecorder.js.map +1 -1
  160. package/dist/esm/recorders/observability/ToolChoiceRecorder.js +5 -0
  161. package/dist/esm/recorders/observability/ToolChoiceRecorder.js.map +1 -1
  162. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +18 -2
  163. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  164. package/dist/esm/recorders/observability/status/statusTemplates.js +5 -0
  165. package/dist/esm/recorders/observability/status/statusTemplates.js.map +1 -1
  166. package/dist/esm/security/extractSequence.d.ts +36 -5
  167. package/dist/esm/security/extractSequence.js +99 -26
  168. package/dist/esm/security/extractSequence.js.map +1 -1
  169. package/dist/index.js.map +1 -1
  170. package/dist/lib/bug-report/transcript.js +1 -0
  171. package/dist/lib/bug-report/transcript.js.map +1 -1
  172. package/dist/lib/semantics/projection.js +1 -0
  173. package/dist/lib/semantics/projection.js.map +1 -1
  174. package/dist/lib/time-travel/receipt.js +4 -3
  175. package/dist/lib/time-travel/receipt.js.map +1 -1
  176. package/dist/lib/time-travel/servedView.js +13 -9
  177. package/dist/lib/time-travel/servedView.js.map +1 -1
  178. package/dist/lib/trace-toolpack/traceToolpack.js +130 -17
  179. package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
  180. package/dist/memory/causal/evidenceRecorder.js +13 -0
  181. package/dist/memory/causal/evidenceRecorder.js.map +1 -1
  182. package/dist/recorders/observability/AgentThinkingTraceRecorder.js +11 -0
  183. package/dist/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
  184. package/dist/recorders/observability/BoundaryRecorder.js +9 -1
  185. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
  186. package/dist/recorders/observability/FlowchartRecorder.js +13 -1
  187. package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
  188. package/dist/recorders/observability/LiveStateRecorder.js +9 -0
  189. package/dist/recorders/observability/LiveStateRecorder.js.map +1 -1
  190. package/dist/recorders/observability/RouteRecorder.js +5 -0
  191. package/dist/recorders/observability/RouteRecorder.js.map +1 -1
  192. package/dist/recorders/observability/StatusRecorder.js +7 -0
  193. package/dist/recorders/observability/StatusRecorder.js.map +1 -1
  194. package/dist/recorders/observability/ToolChoiceRecorder.js +5 -0
  195. package/dist/recorders/observability/ToolChoiceRecorder.js.map +1 -1
  196. package/dist/recorders/observability/commentary/commentaryTemplates.js +18 -2
  197. package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  198. package/dist/recorders/observability/status/statusTemplates.js +5 -0
  199. package/dist/recorders/observability/status/statusTemplates.js.map +1 -1
  200. package/dist/security/extractSequence.js +99 -26
  201. package/dist/security/extractSequence.js.map +1 -1
  202. package/dist/types/adapters/observability/audit.d.ts +8 -0
  203. package/dist/types/adapters/observability/audit.d.ts.map +1 -1
  204. package/dist/types/adapters/observability/otel.d.ts +17 -2
  205. package/dist/types/adapters/observability/otel.d.ts.map +1 -1
  206. package/dist/types/adapters/observability/xray.d.ts +8 -0
  207. package/dist/types/adapters/observability/xray.d.ts.map +1 -1
  208. package/dist/types/adapters/types.d.ts +49 -0
  209. package/dist/types/adapters/types.d.ts.map +1 -1
  210. package/dist/types/core/Agent.d.ts.map +1 -1
  211. package/dist/types/core/agent/composeRequest.d.ts +10 -7
  212. package/dist/types/core/agent/composeRequest.d.ts.map +1 -1
  213. package/dist/types/core/agent/coverage/absent.d.ts +31 -4
  214. package/dist/types/core/agent/coverage/absent.d.ts.map +1 -1
  215. package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
  216. package/dist/types/core/agent/coverage/index.d.ts +1 -1
  217. package/dist/types/core/agent/coverage/index.d.ts.map +1 -1
  218. package/dist/types/core/agent/coverage/read.d.ts +12 -2
  219. package/dist/types/core/agent/coverage/read.d.ts.map +1 -1
  220. package/dist/types/core/agent/coverage/types.d.ts +42 -0
  221. package/dist/types/core/agent/coverage/types.d.ts.map +1 -1
  222. package/dist/types/core/agent/findings/ledger.d.ts +23 -6
  223. package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
  224. package/dist/types/core/agent/findings/offer.d.ts +23 -6
  225. package/dist/types/core/agent/findings/offer.d.ts.map +1 -1
  226. package/dist/types/core/agent/findings/serve.d.ts +19 -6
  227. package/dist/types/core/agent/findings/serve.d.ts.map +1 -1
  228. package/dist/types/core/agent/findings/types.d.ts +81 -1
  229. package/dist/types/core/agent/findings/types.d.ts.map +1 -1
  230. package/dist/types/core/agent/findings/unsettled.d.ts +129 -0
  231. package/dist/types/core/agent/findings/unsettled.d.ts.map +1 -0
  232. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  233. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  234. package/dist/types/core/agent/stages/toolCalls.d.ts +90 -2
  235. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  236. package/dist/types/core/agent/stages/window.d.ts.map +1 -1
  237. package/dist/types/core/agent/toolDispatch.d.ts +4 -1
  238. package/dist/types/core/agent/toolDispatch.d.ts.map +1 -1
  239. package/dist/types/core/agent/toolResultCap.d.ts +4 -1
  240. package/dist/types/core/agent/toolResultCap.d.ts.map +1 -1
  241. package/dist/types/core/agent/types.d.ts +5 -0
  242. package/dist/types/core/agent/types.d.ts.map +1 -1
  243. package/dist/types/core/agent/window/ledgerFactPins.d.ts +10 -1
  244. package/dist/types/core/agent/window/ledgerFactPins.d.ts.map +1 -1
  245. package/dist/types/core/agent/window/strategy.d.ts +2 -1
  246. package/dist/types/core/agent/window/strategy.d.ts.map +1 -1
  247. package/dist/types/core/agent/window/toolNames.d.ts +16 -1
  248. package/dist/types/core/agent/window/toolNames.d.ts.map +1 -1
  249. package/dist/types/core/checkin.d.ts.map +1 -1
  250. package/dist/types/core/inputRequest.d.ts +20 -1
  251. package/dist/types/core/inputRequest.d.ts.map +1 -1
  252. package/dist/types/core/pause.d.ts +13 -1
  253. package/dist/types/core/pause.d.ts.map +1 -1
  254. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  255. package/dist/types/events/payloads.d.ts +76 -1
  256. package/dist/types/events/payloads.d.ts.map +1 -1
  257. package/dist/types/index.d.ts +2 -2
  258. package/dist/types/index.d.ts.map +1 -1
  259. package/dist/types/lib/bug-report/transcript.d.ts +5 -0
  260. package/dist/types/lib/bug-report/transcript.d.ts.map +1 -1
  261. package/dist/types/lib/semantics/projection.d.ts.map +1 -1
  262. package/dist/types/lib/time-travel/receipt.d.ts +4 -3
  263. package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
  264. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  265. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
  266. package/dist/types/memory/causal/evidenceRecorder.d.ts +2 -0
  267. package/dist/types/memory/causal/evidenceRecorder.d.ts.map +1 -1
  268. package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts +2 -0
  269. package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts.map +1 -1
  270. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +10 -1
  271. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
  272. package/dist/types/recorders/observability/FlowchartRecorder.d.ts +4 -1
  273. package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
  274. package/dist/types/recorders/observability/LiveStateRecorder.d.ts +2 -0
  275. package/dist/types/recorders/observability/LiveStateRecorder.d.ts.map +1 -1
  276. package/dist/types/recorders/observability/RouteRecorder.d.ts.map +1 -1
  277. package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts.map +1 -1
  278. package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
  279. package/dist/types/recorders/observability/status/statusTemplates.d.ts.map +1 -1
  280. package/dist/types/security/extractSequence.d.ts +36 -5
  281. package/dist/types/security/extractSequence.d.ts.map +1 -1
  282. package/package.json +1 -1
@@ -39,14 +39,29 @@
39
39
  * The gate therefore withholds `looked_for`, and only `looked_for` (see
40
40
  * `coverage/evidence.ts`): it is the one field whose job is to quote the
41
41
  * request. Everything else the absence carries — the coverage lists, the
42
- * author's `tryInstead`, any extra key the tool attached to the envelope — is
43
- * the TOOL speaking about the world and does ground, because an answer that
44
- * follows the absence's own advice must not be called ungrounded for doing so.
42
+ * author's `tryInstead` and `tryInsteadTool`, any extra key the tool attached
43
+ * to the envelope — is the TOOL speaking about the world and does ground,
44
+ * because an answer that follows the absence's own advice must not be called
45
+ * ungrounded for doing so.
45
46
  * The note is kept free of interpolation for the same reason the exclusion
46
47
  * exists: static library text has nothing of the caller's to leak.
48
+ *
49
+ * ## A suggestion to try another tool is typed, never parsed (9.113.0)
50
+ *
51
+ * `tryInstead` is ONE sentence, for the model; nothing in this library reads
52
+ * a tool name out of it. When the sentence points at another tool, the author
53
+ * names that tool beside it — `tryInsteadTool: { tool, why? }` — and the
54
+ * envelope carries it under its OWN key, `try_instead_tool`. Its own key, not
55
+ * `try_instead`: that field has been a string since it shipped and every
56
+ * reader typed against `ToolAbsence` reads it as one, so a second shape there
57
+ * would be dropped by each of them without a word. `tools.absent` carries
58
+ * both, as declared. ONE rule set decides what each is ({@link readSentence},
59
+ * {@link readToolSuggestion}): `absent()` refuses by it and the recognizer
60
+ * reads by it, so a mint and a read cannot disagree.
47
61
  */
48
62
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.coverageOfAbsence = exports.readAbsence = exports.absent = exports.ABSENCE_NOTE = exports.ABSENCE_MARKER = void 0;
63
+ exports.tryInsteadToolOfAbsence = exports.tryInsteadOfAbsence = exports.coverageOfAbsence = exports.readAbsence = exports.absent = exports.ABSENCE_NOTE = exports.ABSENCE_MARKER = void 0;
64
+ const tools_js_1 = require("../../tools.js");
50
65
  const items_js_1 = require("./items.js");
51
66
  /**
52
67
  * The reserved key that makes an absence recognizable. Exported because tests,
@@ -65,6 +80,115 @@ exports.ABSENCE_NOTE = 'The search ran and matched nothing. This is an ANSWER, n
65
80
  'arguments returns this same result. `checked` is the ground this answer covers; anything ' +
66
81
  'under `not_checked` or `cannot_cover` is ground it does NOT cover, and reaching that ' +
67
82
  'needs a different question, not a retry.';
83
+ /**
84
+ * The typed tool's keys, tied to {@link TryInsteadTool} in BOTH directions: a
85
+ * key the interface gains, or one listed here that it does not have, fails to
86
+ * compile. Any other key on a value is refused, so a misspelt `why` cannot
87
+ * vanish without a word.
88
+ */
89
+ const TOOL_SUGGESTION_KEYS = Object.keys({
90
+ tool: true,
91
+ why: true,
92
+ });
93
+ /**
94
+ * `undefined` and `null` both mean "not given" for the typed tool and its
95
+ * `why`. A JSON producer writes a missing optional value as `null`, and
96
+ * `tryInstead: null` read as no suggestion before 9.113.0 — refusing it would
97
+ * turn a nothing-found into a tool error, the direction of error this file
98
+ * exists to prevent.
99
+ */
100
+ const notGiven = (raw) => raw === undefined || raw === null;
101
+ /** An object literal's shape — `{…}` or `Object.create(null)`; never an
102
+ * array, a Date, a boxed string or any other class instance. */
103
+ const isPlainObject = (raw) => {
104
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
105
+ return false;
106
+ const prototype = Object.getPrototypeOf(raw);
107
+ return prototype === Object.prototype || prototype === null;
108
+ };
109
+ /**
110
+ * The rule for the SENTENCE (`tryInstead`, `try_instead` on the wire):
111
+ * trimmed, and one that trims to nothing is no suggestion, as it always was.
112
+ *
113
+ * ONE non-string is refused: a plain object. That is the typed form
114
+ * `{ tool, why? }` written into the sentence's slot, and the refusal points it
115
+ * at `tryInsteadTool` rather than drop the author's tool without a word. Any
116
+ * OTHER value that is not a string — `null`, `false` from
117
+ * `tryInstead: cond && '…'`, a number, a list, a Date — reads as no
118
+ * suggestion, exactly as it did before 9.113.0: `absent()` runs inside a
119
+ * tool's `execute`, so refusing it would turn a nothing-found the 9.112.2
120
+ * loop delivered as an absence into that call's error result.
121
+ */
122
+ function readSentence(raw) {
123
+ if (typeof raw === 'string') {
124
+ const sentence = raw.trim();
125
+ return { value: sentence === '' ? undefined : sentence };
126
+ }
127
+ if (isPlainObject(raw)) {
128
+ return {
129
+ problem: '`tryInstead` is the sentence the model reads, and only that. To name the other ' +
130
+ 'tool as data, give { tool, why? } as `tryInsteadTool`, beside the sentence.',
131
+ };
132
+ }
133
+ return { value: undefined };
134
+ }
135
+ /**
136
+ * The rule for the TYPED TOOL (`tryInsteadTool`, `try_instead_tool` on the
137
+ * wire): `{ tool, why? }`, where `tool` is a non-empty name and `why`, when
138
+ * given, says something. Both are trimmed; `why: null` reads as omitted. The
139
+ * name is recorded as declared: never looked up (a provider may serve it on a
140
+ * later iteration), and held to no charset here — which names a provider
141
+ * accepts is `core/tools.ts` · `assertValidToolName`'s question, and
142
+ * `absent` asks the dev-mode warning that owns it.
143
+ *
144
+ * Why ONE tool and not a list: every suggestion on record names at most one
145
+ * other tool, and where a sentence joins that tool to "or widen the window",
146
+ * the rest of the advice stays in the sentence. A list would be a second
147
+ * shape of this field for every reader to narrow — the cost this key exists
148
+ * to spare `try_instead`.
149
+ */
150
+ function readToolSuggestion(raw) {
151
+ if (notGiven(raw))
152
+ return { value: undefined };
153
+ if (Array.isArray(raw)) {
154
+ return {
155
+ problem: '`tryInsteadTool` names ONE tool — { tool, why? }, never a list. Say the rest of the ' +
156
+ 'advice in the `tryInstead` sentence.',
157
+ };
158
+ }
159
+ if (typeof raw !== 'object') {
160
+ return {
161
+ problem: `\`tryInsteadTool\` must be { tool, why? } — got ${typeof raw}. For a sentence, use ` +
162
+ '`tryInstead`; to suggest nothing, omit the field.',
163
+ };
164
+ }
165
+ const value = raw;
166
+ const unknownKey = Object.keys(value).find((key) => !TOOL_SUGGESTION_KEYS.includes(key));
167
+ if (unknownKey !== undefined) {
168
+ return {
169
+ problem: `\`tryInsteadTool\` has an unknown key '${unknownKey}' — the form is { tool, why? }, ` +
170
+ 'and a misspelt `why` would otherwise vanish without a word.',
171
+ };
172
+ }
173
+ const { tool, why } = value;
174
+ if (typeof tool !== 'string' || tool.trim() === '') {
175
+ return {
176
+ problem: '`tryInsteadTool.tool` must name the tool to try — its registered name, e.g. ' +
177
+ "{ tool: 'cluster_inventory', why: 'it lists the collected names' }. The name is " +
178
+ 'recorded as declared and never looked up (a provider may serve it).',
179
+ };
180
+ }
181
+ const name = tool.trim();
182
+ if (notGiven(why))
183
+ return { value: { tool: name } };
184
+ if (typeof why !== 'string' || why.trim() === '') {
185
+ return {
186
+ problem: `\`tryInsteadTool.why\` (for '${name}') must be a sentence — say why that tool, or ` +
187
+ 'omit the field.',
188
+ };
189
+ }
190
+ return { value: { tool: name, why: why.trim() } };
191
+ }
68
192
  /**
69
193
  * Say "I looked, and there is nothing" in a way a model cannot read as a
70
194
  * failure — and cannot productively retry.
@@ -100,7 +224,8 @@ exports.ABSENCE_NOTE = 'The search ran and matched nothing. This is an ANSWER, n
100
224
  function absent(decl) {
101
225
  const fn = 'absent';
102
226
  if (typeof decl !== 'object' || decl === null) {
103
- throw new Error(`${fn}: takes a declaration — { what, checked, notChecked?, cannotCover?, tryInstead? }.`);
227
+ throw new Error(`${fn}: takes a declaration — { what, checked, notChecked?, cannotCover?, tryInstead?, ` +
228
+ `tryInsteadTool? }.`);
104
229
  }
105
230
  const what = typeof decl.what === 'string' ? decl.what.trim() : '';
106
231
  if (what === '') {
@@ -118,7 +243,18 @@ function absent(decl) {
118
243
  }
119
244
  const notChecked = (0, items_js_1.normalizeCoverageList)(fn, 'notChecked', decl.notChecked, false);
120
245
  const cannotCover = (0, items_js_1.normalizeCoverageList)(fn, 'cannotCover', decl.cannotCover, true);
121
- const tryInstead = typeof decl.tryInstead === 'string' ? decl.tryInstead.trim() : undefined;
246
+ const sentence = readSentence(decl.tryInstead);
247
+ if (sentence.problem !== undefined)
248
+ throw new Error(`${fn}: '${what}' — ${sentence.problem}`);
249
+ const tool = readToolSuggestion(decl.tryInsteadTool);
250
+ if (tool.problem !== undefined)
251
+ throw new Error(`${fn}: '${what}' — ${tool.problem}`);
252
+ const tryInstead = sentence.value;
253
+ const tryInsteadTool = tool.value;
254
+ // The name's charset is the tool registry's question: the owner warns in
255
+ // dev mode and never throws — the verdict a `defineTool` of it would get.
256
+ if (tryInsteadTool !== undefined)
257
+ (0, tools_js_1.warnIfInvalidToolName)(tryInsteadTool.tool);
122
258
  return {
123
259
  af_absent: true,
124
260
  outcome: 'nothing_found',
@@ -127,7 +263,8 @@ function absent(decl) {
127
263
  ...(notChecked.length > 0 && { not_checked: notChecked }),
128
264
  ...(cannotCover.length > 0 && { cannot_cover: cannotCover }),
129
265
  retry_returns_the_same: true,
130
- ...(tryInstead !== undefined && tryInstead !== '' && { try_instead: tryInstead }),
266
+ ...(tryInstead !== undefined && { try_instead: tryInstead }),
267
+ ...(tryInsteadTool !== undefined && { try_instead_tool: tryInsteadTool }),
131
268
  note: exports.ABSENCE_NOTE,
132
269
  };
133
270
  }
@@ -163,4 +300,23 @@ function coverageOfAbsence(absence) {
163
300
  };
164
301
  }
165
302
  exports.coverageOfAbsence = coverageOfAbsence;
303
+ /**
304
+ * The absence's sentence, read by the rules `absent()` mints by. `undefined`
305
+ * when it declared none, AND when it declared one those rules refuse: an
306
+ * envelope minted elsewhere (a non-JS tool, a hand-built value) is read,
307
+ * never repaired, and the absence itself is still an absence either way.
308
+ */
309
+ function tryInsteadOfAbsence(absence) {
310
+ return readSentence(absence.try_instead).value;
311
+ }
312
+ exports.tryInsteadOfAbsence = tryInsteadOfAbsence;
313
+ /**
314
+ * The absence's typed tool, read by the same rules — a copy, never the
315
+ * object the envelope holds. `undefined` when it declared none, or one those
316
+ * rules refuse (see {@link tryInsteadOfAbsence}).
317
+ */
318
+ function tryInsteadToolOfAbsence(absence) {
319
+ return readToolSuggestion(absence.try_instead_tool).value;
320
+ }
321
+ exports.tryInsteadToolOfAbsence = tryInsteadToolOfAbsence;
166
322
  //# sourceMappingURL=absent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"absent.js","sourceRoot":"","sources":["../../../../src/core/agent/coverage/absent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"absent.js","sourceRoot":"","sources":["../../../../src/core/agent/coverage/absent.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,9 @@ function renderSection(label, items) {
61
61
  }
62
62
  // LENS · injected-turn · persistent-history
63
63
  // reads: scope.coverageDeclared ← read once by ../stages/prepareFinal.ts · captureTurnPayload — the ONE reader that COMPOSES from it,
64
- // folded and capped. Not the only read of the key: ../stages/toolCalls.ts · declareCoverage reads it to append to it.
64
+ // folded and capped. Not the only read of the key: ../stages/toolCalls.ts · declareCoverage reads it to append to it,
65
+ // and ../findings/unsettled.ts · withUnsettledRows (9.113.0) reads one call's rows for their `kind` — the witness
66
+ // that the tool returned an absence — and composes nothing from them (its row's words come from the served result).
65
67
  // law: may omit, never deny; every clause anchored to the call it was composed on.
66
68
  /**
67
69
  * Fold the run's declarations into one block and append it to the answer.
@@ -1 +1 @@
1
- {"version":3,"file":"answer.js","sourceRoot":"","sources":["../../../../src/core/agent/coverage/answer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,yCAAwC;AAGxC,wEAAwE;AAC3D,QAAA,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,QAAQ,GAAG;IACf,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,aAAa,EAAE,cAAc,CAAC;CACvB,CAAC;AAEX,SAAS,aAAa,CAAC,KAAa,EAAE,KAA8B;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,4CAA4C;AAC5C,sIAAsI;AACtI,6HAA6H;AAC7H,mFAAmF;AACnF;;;;;;GAMG;AACH,SAAgB,yBAAyB,CACvC,MAAc,EACd,QAAqC;IAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,+BAA+B;IAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,MAAM,KAAK,GACT,GAAG,8BAAsB,8DAA8D;QACvF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AApBD,8DAoBC"}
1
+ {"version":3,"file":"answer.js","sourceRoot":"","sources":["../../../../src/core/agent/coverage/answer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,yCAAwC;AAGxC,wEAAwE;AAC3D,QAAA,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,QAAQ,GAAG;IACf,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,aAAa,EAAE,cAAc,CAAC;CACvB,CAAC;AAEX,SAAS,aAAa,CAAC,KAAa,EAAE,KAA8B;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,4CAA4C;AAC5C,sIAAsI;AACtI,6HAA6H;AAC7H,yHAAyH;AACzH,2HAA2H;AAC3H,mFAAmF;AACnF;;;;;;GAMG;AACH,SAAgB,yBAAyB,CACvC,MAAc,EACd,QAAqC;IAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,+BAA+B;IAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,MAAM,KAAK,GACT,GAAG,8BAAsB,8DAA8D;QACvF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AApBD,8DAoBC"}
@@ -5,7 +5,9 @@
5
5
  * Pattern: one reader, every dispatch door (the `applyResultCeiling`
6
6
  * precedent). The batch loop and the credential/resume execute
7
7
  * boundary both call this at the moment a handler's return lands, so
8
- * a resumed call declares its coverage exactly as an inline one.
8
+ * a resumed call declares its coverage exactly as an inline one; the
9
+ * raise site (`../stages/toolCalls.ts` · `declareRaisedAbsence`)
10
+ * calls it on the `absence` a `requestInput` declared (9.114.0).
9
11
  * Role: core/ layer, pure. Recognition and normalization only — the caller
10
12
  * owns the events, the scope write and the delivered status.
11
13
  * Emits: N/A.
@@ -20,6 +22,19 @@ exports.readCoverageResult = void 0;
20
22
  const envelope_js_1 = require("../../../lib/semantics/envelope.js");
21
23
  const absent_js_1 = require("./absent.js");
22
24
  const ledger_js_1 = require("./ledger.js");
25
+ /** The facts one absence declares — the same for a bare absence and for one
26
+ * a ledger bounds, so the two sites cannot drift. */
27
+ function absenceFacts(absence) {
28
+ const tryInstead = (0, absent_js_1.tryInsteadOfAbsence)(absence);
29
+ const tryInsteadTool = (0, absent_js_1.tryInsteadToolOfAbsence)(absence);
30
+ return {
31
+ kind: 'absence',
32
+ coverage: (0, absent_js_1.coverageOfAbsence)(absence),
33
+ lookedFor: absence.looked_for,
34
+ ...(tryInstead !== undefined && { tryInstead }),
35
+ ...(tryInsteadTool !== undefined && { tryInsteadTool }),
36
+ };
37
+ }
23
38
  const ABSENT_STATUS = 'absent';
24
39
  /**
25
40
  * Read one finalized tool result for coverage declarations.
@@ -32,12 +47,7 @@ const ABSENT_STATUS = 'absent';
32
47
  function readCoverageResult(value) {
33
48
  const absence = (0, absent_js_1.readAbsence)(value);
34
49
  if (absence !== undefined) {
35
- return {
36
- status: ABSENT_STATUS,
37
- declared: [
38
- { kind: 'absence', coverage: (0, absent_js_1.coverageOfAbsence)(absence), lookedFor: absence.looked_for },
39
- ],
40
- };
50
+ return { status: ABSENT_STATUS, declared: [absenceFacts(absence)] };
41
51
  }
42
52
  // A semantic envelope's `coverage` field (9.53.0) is ABSORBED here — the
43
53
  // one recognizer funnel — so the boundary a semantic tool declared flows
@@ -58,11 +68,7 @@ function readCoverageResult(value) {
58
68
  const inner = (0, absent_js_1.readAbsence)(covered.result);
59
69
  if (inner === undefined)
60
70
  return { declared };
61
- declared.push({
62
- kind: 'absence',
63
- coverage: (0, absent_js_1.coverageOfAbsence)(inner),
64
- lookedFor: inner.looked_for,
65
- });
71
+ declared.push(absenceFacts(inner));
66
72
  return { status: ABSENT_STATUS, declared };
67
73
  }
68
74
  exports.readCoverageResult = readCoverageResult;
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../src/core/agent/coverage/read.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAGH,oEAAwF;AACxF,2CAA6D;AAC7D,2CAAmE;AA6BnE,MAAM,aAAa,GAAqB,QAAQ,CAAC;AAEjD;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAA,6BAAiB,EAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE;aACzF;SACF,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,uEAAuE;IACvE,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,GAAG,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC;IACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,iCAAmB,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,8BAAkB,EAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,4BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,IAAA,uBAAW,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAA,6BAAiB,EAAC,KAAK,CAAC;QAClC,SAAS,EAAE,KAAK,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAhCD,gDAgCC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../src/core/agent/coverage/read.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAGH,oEAAwF;AACxF,2CAKqB;AACrB,2CAAmE;AAoBnE;sDACsD;AACtD,SAAS,YAAY,CAAC,OAAoB;IACxC,MAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,IAAA,mCAAuB,EAAC,OAAO,CAAC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAA,6BAAiB,EAAC,OAAO,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAmBD,MAAM,aAAa,GAAqB,QAAQ,CAAC;AAEjD;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,uEAAuE;IACvE,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,GAAG,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC;IACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,iCAAmB,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,8BAAkB,EAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,4BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,IAAA,uBAAW,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAvBD,gDAuBC"}
@@ -20,9 +20,14 @@
20
20
  * filed by the two moments `contingent.ts` serves: the route
21
21
  * decider's answer and the dispatch loop's call) — identities,
22
22
  * enums and numbers only. Assertion values, `settles`, `line`, the
23
- * judged state and the contingent VALUE live in the committed key
24
- * under whatever redaction the run configured; an event stream
25
- * fans out to sinks we do not control.
23
+ * judged state, the contingent VALUE and — on an
24
+ * `unsettled-by-absence` row — a TOOL's own words (its envelope's
25
+ * `notChecked`, `cannotCover` and `tryInstead`) live in the
26
+ * committed key under whatever redaction the run configured; an
27
+ * event stream fans out to sinks we do not control. That row
28
+ * (9.113.0, filed by the same two moments through
29
+ * `unsettled.ts · withUnsettledRows`) emits nothing of its own, as
30
+ * a conflict row emits nothing of its own.
26
31
  *
27
32
  * ## Append only, last wins, conflicts are a fold
28
33
  *
@@ -58,23 +63,32 @@ const types_js_2 = require("./types.js");
58
63
  function foldLedger(rows) {
59
64
  const standingOf = new Map();
60
65
  const judgments = new Map();
66
+ const lastUnsettled = new Map();
61
67
  for (const row of rows) {
62
68
  if (row.kind === 'standing')
63
69
  standingOf.set(row.toolCallId, row);
64
70
  else if (row.kind === 'judgment')
65
71
  judgments.set(row.toolCallId, row);
72
+ else if (row.kind === 'unsettled-by-absence')
73
+ lastUnsettled.set(row.toolCallId, row);
66
74
  }
67
75
  const asserted = [];
68
76
  for (const row of standingOf.values()) {
69
77
  if (row.standing === 'fact')
70
78
  asserted.push(...row.assertions);
71
79
  }
80
+ const unsettled = new Map();
81
+ for (const [toolCallId, row] of lastUnsettled) {
82
+ if (standingOf.get(toolCallId)?.standing === 'ruled-out')
83
+ unsettled.set(toolCallId, row);
84
+ }
72
85
  return {
73
86
  standingOf,
74
87
  judgments,
75
88
  asserted,
76
89
  conflicts: (0, conflicts_js_1.conflictsOf)(asserted),
77
90
  hasStanding: standingOf.size > 0,
91
+ unsettled,
78
92
  };
79
93
  }
80
94
  exports.foldLedger = foldLedger;
@@ -107,8 +121,10 @@ function witnessesOf(conflict, standingOf) {
107
121
  * key that first disagreed at this write, and emit one event per basis or
108
122
  * standing row. No-op on an empty list, so an armed agent whose model
109
123
  * declared nothing never writes the key — its commit log is the one it
110
- * always had. Callers pass basis and standing rows; conflict rows are this
111
- * function's to write.
124
+ * always had. Callers pass basis and standing rows — each standing followed
125
+ * by the `unsettled-by-absence` row the rule files beside it, when it files
126
+ * one (`unsettled.ts · withUnsettledRows`); conflict rows are this function's
127
+ * to write.
112
128
  */
113
129
  function recordFindings(scope, rows) {
114
130
  if (rows.length === 0)
@@ -200,6 +216,12 @@ function emitRow(scope, row, newConflicts, judgments) {
200
216
  });
201
217
  return;
202
218
  }
219
+ // The row beside a ruled-out standing that rests on an absence (9.113.0)
220
+ // emits nothing of its own — the conflict row's precedent: it is on the
221
+ // committed key, the served piece is its reader, and no event field ships
222
+ // without a reader in the same release.
223
+ if (row.kind === 'unsettled-by-absence')
224
+ return;
203
225
  if (row.kind !== 'standing')
204
226
  return;
205
227
  const conflictKeys = newConflicts
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/ledger.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,11 @@
19
19
  * standingRowsFrom` resolves a named id against. The offer and the
20
20
  * identity source read the SAME served history, so every id the
21
21
  * offer lists resolves: the law "the offer is what the model may
22
- * COPY" holds at the row, not only at the schema.
22
+ * COPY" holds at the row, not only at the schema. All of them ask
23
+ * ONE predicate, `isResultMessage`: a message the batch settlement
24
+ * wrote (9.113.0, `LLMMessage.notDispatched`) is served — the model
25
+ * reads its sentence — and is no result, so it is never offered,
26
+ * resolved or counted undeclared.
23
27
  *
24
28
  * WHY AN OFFER. On a hosted model the ask "by its tool_result id" produced
25
29
  * standings named by ORDINAL ("0", "1"), recorded as `unknownId` and settling
@@ -53,7 +57,7 @@
53
57
  * page.
54
58
  */
55
59
  Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.knownResults = exports.offeredResultIds = exports.nameableIds = exports.undeclaredIds = exports.servedToolCallIds = exports.RETIRING_STANDINGS = void 0;
60
+ exports.knownResults = exports.offeredResultIds = exports.nameableIds = exports.undeclaredIds = exports.servedToolCallIds = exports.isResultMessage = exports.RETIRING_STANDINGS = void 0;
57
61
  const ledger_js_1 = require("./ledger.js");
58
62
  /**
59
63
  * The standings after which a result leaves the offer: a ticket on the wire
@@ -63,16 +67,30 @@ const ledger_js_1 = require("./ledger.js");
63
67
  */
64
68
  exports.RETIRING_STANDINGS = Object.freeze(['noise', 'ruled-out']);
65
69
  /**
66
- * The `role: 'tool'` ids on a message list, in wire order, each once. A
67
- * message without an id, or with an empty one, contributes nothing. The
68
- * collapse (`serve.ts · collapseJudged`) never changes an id, so the list is
69
- * the same before and after it.
70
+ * Is this message a tool's RESULT — the only thing a standing can be about?
71
+ * A `role: 'tool'` message the batch settlement wrote (9.113.0,
72
+ * `LLMMessage.notDispatched`) is not: the call never ran, so there is nothing
73
+ * to stand on. Read off the marker, never the sentence — which is why every
74
+ * caller hands these functions the COMMITTED conversation, not the wire,
75
+ * where `stripFrameworkFields` has already removed the marker (ids and order
76
+ * are the same either way).
77
+ */
78
+ function isResultMessage(m) {
79
+ return m.role === 'tool' && m.notDispatched === undefined;
80
+ }
81
+ exports.isResultMessage = isResultMessage;
82
+ /**
83
+ * The `role: 'tool'` ids on a message list, in wire order, each once — a
84
+ * settled message excluded (`isResultMessage`). A message without an id, or
85
+ * with an empty one, contributes nothing. The collapse (`serve.ts ·
86
+ * collapseJudged`) never changes an id, so the list is the same before and
87
+ * after it.
70
88
  */
71
89
  function servedToolCallIds(messages) {
72
90
  const ids = [];
73
91
  const seen = new Set();
74
92
  for (const m of messages) {
75
- if (m.role !== 'tool')
93
+ if (!isResultMessage(m))
76
94
  continue;
77
95
  const id = m.toolCallId;
78
96
  if (id === undefined || id.length === 0 || seen.has(id))
@@ -151,7 +169,9 @@ exports.offeredResultIds = offeredResultIds;
151
169
  * order changes no row; it is the source the rows resolved against before
152
170
  * the history joined). An id in neither is `unknownId`, as written. A tool
153
171
  * message with no `toolName` yields a result with none: nothing is invented
154
- * for it.
172
+ * for it. A settled message (`isResultMessage`) is no result, so a model that
173
+ * names its id anyway files `unknownId` — the batch never holds one: a
174
+ * settled call never joins `toolResults`.
155
175
  */
156
176
  function knownResults(messages, previousBatch = []) {
157
177
  const seen = new Set();
@@ -165,7 +185,7 @@ function knownResults(messages, previousBatch = []) {
165
185
  for (const r of previousBatch)
166
186
  add(r);
167
187
  for (const m of messages) {
168
- if (m.role !== 'tool' || m.toolCallId === undefined)
188
+ if (!isResultMessage(m) || m.toolCallId === undefined)
169
189
  continue;
170
190
  add({
171
191
  toolCallId: m.toolCallId,
@@ -1 +1 @@
1
- {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/offer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;AAGH,2CAA8D;AAG9D;;;;;GAKG;AACU,QAAA,kBAAkB,GAAwB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAE7F;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,QAA+B;IAC/D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAChC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC;QACxB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAClE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,8CAWC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,MAAyB,EACzB,UAA4C;IAE5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAZD,sCAYC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,MAAyB,EACzB,UAA4C;IAE5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS,IAAI,0BAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,SAAS;QACrF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,kCAcC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,QAA+B,EAC/B,IAAgC;IAEhC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,sBAAU,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE,CAAC;AAND,4CAMC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,YAAY,CAC1B,QAA+B,EAC/B,gBAA2C,EAAE;IAE7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,KAAqB,EAAE,EAAE;QACpC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,OAAO;QACxE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS;QAC9D,GAAG,CAAC;YACF,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,EAAE,CAAC,CAAC,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AArBD,oCAqBC"}
1
+ {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/offer.ts"],"names":[],"mappings":"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"}