@reticlehq/server 2.1.0 → 2.2.1

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 (471) hide show
  1. package/LICENSE-ENTERPRISE +37 -0
  2. package/README.md +5 -1
  3. package/dist/bridge-security.d.ts +1 -1
  4. package/dist/bridge-security.js +1 -1
  5. package/dist/bridge.d.ts +7 -0
  6. package/dist/bridge.d.ts.map +1 -1
  7. package/dist/bridge.js +22 -3
  8. package/dist/bridge.js.map +1 -1
  9. package/dist/bridge.test-harness.d.ts +5 -0
  10. package/dist/bridge.test-harness.d.ts.map +1 -1
  11. package/dist/bridge.test-harness.js +4 -0
  12. package/dist/bridge.test-harness.js.map +1 -1
  13. package/dist/capsule/capsule-store.d.ts +66 -0
  14. package/dist/capsule/capsule-store.d.ts.map +1 -0
  15. package/dist/capsule/capsule-store.js +110 -0
  16. package/dist/capsule/capsule-store.js.map +1 -0
  17. package/dist/capsule/capsule.d.ts +19 -0
  18. package/dist/capsule/capsule.d.ts.map +1 -0
  19. package/dist/capsule/capsule.js +36 -0
  20. package/dist/capsule/capsule.js.map +1 -0
  21. package/dist/capsule/causal-summary.d.ts +36 -0
  22. package/dist/capsule/causal-summary.d.ts.map +1 -0
  23. package/dist/capsule/causal-summary.js +111 -0
  24. package/dist/capsule/causal-summary.js.map +1 -0
  25. package/dist/capsule/divergence.d.ts +31 -0
  26. package/dist/capsule/divergence.d.ts.map +1 -0
  27. package/dist/capsule/divergence.js +41 -0
  28. package/dist/capsule/divergence.js.map +1 -0
  29. package/dist/capsule/minimize.d.ts +13 -0
  30. package/dist/capsule/minimize.d.ts.map +1 -0
  31. package/dist/capsule/minimize.js +23 -0
  32. package/dist/capsule/minimize.js.map +1 -0
  33. package/dist/capsule/predicate-to-links.d.ts +9 -0
  34. package/dist/capsule/predicate-to-links.d.ts.map +1 -0
  35. package/dist/capsule/predicate-to-links.js +31 -0
  36. package/dist/capsule/predicate-to-links.js.map +1 -0
  37. package/dist/cli-flow-commands.d.ts +31 -0
  38. package/dist/cli-flow-commands.d.ts.map +1 -0
  39. package/dist/cli-flow-commands.js +207 -0
  40. package/dist/cli-flow-commands.js.map +1 -0
  41. package/dist/cli-parse.d.ts +36 -2
  42. package/dist/cli-parse.d.ts.map +1 -1
  43. package/dist/cli-parse.js +97 -2
  44. package/dist/cli-parse.js.map +1 -1
  45. package/dist/cli-port.d.ts +10 -4
  46. package/dist/cli-port.d.ts.map +1 -1
  47. package/dist/cli-port.js +32 -6
  48. package/dist/cli-port.js.map +1 -1
  49. package/dist/cli-verify.d.ts +2 -0
  50. package/dist/cli-verify.d.ts.map +1 -1
  51. package/dist/cli-verify.js +52 -11
  52. package/dist/cli-verify.js.map +1 -1
  53. package/dist/cli.d.ts +2 -3
  54. package/dist/cli.d.ts.map +1 -1
  55. package/dist/cli.js +175 -9
  56. package/dist/cli.js.map +1 -1
  57. package/dist/cloud/cloud-config.d.ts +37 -0
  58. package/dist/cloud/cloud-config.d.ts.map +1 -0
  59. package/dist/cloud/cloud-config.js +87 -0
  60. package/dist/cloud/cloud-config.js.map +1 -0
  61. package/dist/cloud/cloud-sync.d.ts +96 -3
  62. package/dist/cloud/cloud-sync.d.ts.map +1 -1
  63. package/dist/cloud/cloud-sync.js +131 -2
  64. package/dist/cloud/cloud-sync.js.map +1 -1
  65. package/dist/cloud-cli.d.ts +4 -0
  66. package/dist/cloud-cli.d.ts.map +1 -0
  67. package/dist/cloud-cli.js +507 -0
  68. package/dist/cloud-cli.js.map +1 -0
  69. package/dist/crawl/crawl-tools.d.ts.map +1 -1
  70. package/dist/crawl/crawl-tools.js +12 -0
  71. package/dist/crawl/crawl-tools.js.map +1 -1
  72. package/dist/crawl/crawl.d.ts +23 -1
  73. package/dist/crawl/crawl.d.ts.map +1 -1
  74. package/dist/crawl/crawl.js +36 -9
  75. package/dist/crawl/crawl.js.map +1 -1
  76. package/dist/daemon-resilience.d.ts +5 -5
  77. package/dist/daemon-resilience.js +5 -5
  78. package/dist/daemon.d.ts +1 -1
  79. package/dist/daemon.d.ts.map +1 -1
  80. package/dist/daemon.js +53 -8
  81. package/dist/daemon.js.map +1 -1
  82. package/dist/domain/domain-tools.d.ts.map +1 -1
  83. package/dist/domain/domain-tools.js +11 -1
  84. package/dist/domain/domain-tools.js.map +1 -1
  85. package/dist/domain/flow-risk.d.ts +4 -4
  86. package/dist/domain/flow-risk.js +4 -4
  87. package/dist/ee/audit-log.d.ts +2 -2
  88. package/dist/ee/audit-log.js +2 -2
  89. package/dist/events/event-filters.d.ts +29 -1
  90. package/dist/events/event-filters.d.ts.map +1 -1
  91. package/dist/events/event-filters.js +75 -1
  92. package/dist/events/event-filters.js.map +1 -1
  93. package/dist/events/predicate-eval.d.ts +15 -0
  94. package/dist/events/predicate-eval.d.ts.map +1 -1
  95. package/dist/events/predicate-eval.js +97 -18
  96. package/dist/events/predicate-eval.js.map +1 -1
  97. package/dist/events/predicate.d.ts +22 -1
  98. package/dist/events/predicate.d.ts.map +1 -1
  99. package/dist/events/predicate.js +154 -20
  100. package/dist/events/predicate.js.map +1 -1
  101. package/dist/events/ring-buffer.d.ts +3 -3
  102. package/dist/events/ring-buffer.d.ts.map +1 -1
  103. package/dist/events/ring-buffer.js +54 -8
  104. package/dist/events/ring-buffer.js.map +1 -1
  105. package/dist/flows/affected.d.ts +25 -0
  106. package/dist/flows/affected.d.ts.map +1 -0
  107. package/dist/flows/affected.js +36 -0
  108. package/dist/flows/affected.js.map +1 -0
  109. package/dist/flows/annotate.d.ts +4 -4
  110. package/dist/flows/annotate.js +4 -4
  111. package/dist/flows/assertion-integrity.d.ts +24 -0
  112. package/dist/flows/assertion-integrity.d.ts.map +1 -0
  113. package/dist/flows/assertion-integrity.js +27 -0
  114. package/dist/flows/assertion-integrity.js.map +1 -0
  115. package/dist/flows/assertion-tiers-store.d.ts +80 -0
  116. package/dist/flows/assertion-tiers-store.d.ts.map +1 -0
  117. package/dist/flows/assertion-tiers-store.js +99 -0
  118. package/dist/flows/assertion-tiers-store.js.map +1 -0
  119. package/dist/flows/buddy-status.d.ts +25 -0
  120. package/dist/flows/buddy-status.d.ts.map +1 -0
  121. package/dist/flows/buddy-status.js +33 -0
  122. package/dist/flows/buddy-status.js.map +1 -0
  123. package/dist/flows/coverage.d.ts +28 -0
  124. package/dist/flows/coverage.d.ts.map +1 -0
  125. package/dist/flows/coverage.js +22 -0
  126. package/dist/flows/coverage.js.map +1 -0
  127. package/dist/flows/decision.d.ts.map +1 -1
  128. package/dist/flows/decision.js +16 -8
  129. package/dist/flows/decision.js.map +1 -1
  130. package/dist/flows/flake-store.d.ts +20 -0
  131. package/dist/flows/flake-store.d.ts.map +1 -0
  132. package/dist/flows/flake-store.js +59 -0
  133. package/dist/flows/flake-store.js.map +1 -0
  134. package/dist/flows/flake.d.ts +58 -0
  135. package/dist/flows/flake.d.ts.map +1 -0
  136. package/dist/flows/flake.js +36 -0
  137. package/dist/flows/flake.js.map +1 -0
  138. package/dist/flows/flow-classify.d.ts +8 -8
  139. package/dist/flows/flow-classify.js +8 -8
  140. package/dist/flows/flow-replay-run.d.ts.map +1 -1
  141. package/dist/flows/flow-replay-run.js +58 -5
  142. package/dist/flows/flow-replay-run.js.map +1 -1
  143. package/dist/flows/flow-replay.d.ts +9 -0
  144. package/dist/flows/flow-replay.d.ts.map +1 -1
  145. package/dist/flows/flow-replay.js +48 -13
  146. package/dist/flows/flow-replay.js.map +1 -1
  147. package/dist/flows/flow-report.d.ts +4 -4
  148. package/dist/flows/flow-sources.d.ts +20 -0
  149. package/dist/flows/flow-sources.d.ts.map +1 -0
  150. package/dist/flows/flow-sources.js +33 -0
  151. package/dist/flows/flow-sources.js.map +1 -0
  152. package/dist/flows/flow-tools.d.ts +13 -1
  153. package/dist/flows/flow-tools.d.ts.map +1 -1
  154. package/dist/flows/flow-tools.js +116 -13
  155. package/dist/flows/flow-tools.js.map +1 -1
  156. package/dist/flows/flows.d.ts +9 -4
  157. package/dist/flows/flows.d.ts.map +1 -1
  158. package/dist/flows/flows.js +38 -21
  159. package/dist/flows/flows.js.map +1 -1
  160. package/dist/flows/gate.d.ts +39 -0
  161. package/dist/flows/gate.d.ts.map +1 -0
  162. package/dist/flows/gate.js +34 -0
  163. package/dist/flows/gate.js.map +1 -0
  164. package/dist/flows/git-changed.d.ts +9 -0
  165. package/dist/flows/git-changed.d.ts.map +1 -0
  166. package/dist/flows/git-changed.js +25 -0
  167. package/dist/flows/git-changed.js.map +1 -0
  168. package/dist/flows/heal-run.d.ts +1 -1
  169. package/dist/flows/heal-run.js +1 -1
  170. package/dist/flows/parallel-suite.d.ts +27 -0
  171. package/dist/flows/parallel-suite.d.ts.map +1 -0
  172. package/dist/flows/parallel-suite.js +51 -0
  173. package/dist/flows/parallel-suite.js.map +1 -0
  174. package/dist/flows/replay.d.ts.map +1 -1
  175. package/dist/flows/replay.js +33 -11
  176. package/dist/flows/replay.js.map +1 -1
  177. package/dist/flows/server-verify.d.ts +16 -0
  178. package/dist/flows/server-verify.d.ts.map +1 -0
  179. package/dist/flows/server-verify.js +43 -0
  180. package/dist/flows/server-verify.js.map +1 -0
  181. package/dist/flows/watch-batcher.d.ts +18 -0
  182. package/dist/flows/watch-batcher.d.ts.map +1 -0
  183. package/dist/flows/watch-batcher.js +20 -0
  184. package/dist/flows/watch-batcher.js.map +1 -0
  185. package/dist/honesty/blind-spots.d.ts +37 -0
  186. package/dist/honesty/blind-spots.d.ts.map +1 -0
  187. package/dist/honesty/blind-spots.js +57 -0
  188. package/dist/honesty/blind-spots.js.map +1 -0
  189. package/dist/honesty/honesty.d.ts +57 -0
  190. package/dist/honesty/honesty.d.ts.map +1 -0
  191. package/dist/honesty/honesty.js +63 -0
  192. package/dist/honesty/honesty.js.map +1 -0
  193. package/dist/http-server.d.ts +5 -5
  194. package/dist/http-server.js +4 -4
  195. package/dist/idle-shutdown.d.ts +2 -2
  196. package/dist/idle-shutdown.js +2 -2
  197. package/dist/index.d.ts +3 -2
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +98 -13
  200. package/dist/index.js.map +1 -1
  201. package/dist/init/agent-rules.d.ts +38 -0
  202. package/dist/init/agent-rules.d.ts.map +1 -0
  203. package/dist/init/agent-rules.js +65 -0
  204. package/dist/init/agent-rules.js.map +1 -0
  205. package/dist/init/plan.d.ts +6 -0
  206. package/dist/init/plan.d.ts.map +1 -1
  207. package/dist/init/plan.js +79 -3
  208. package/dist/init/plan.js.map +1 -1
  209. package/dist/init/run.d.ts.map +1 -1
  210. package/dist/init/run.js +4 -0
  211. package/dist/init/run.js.map +1 -1
  212. package/dist/init/snippets.js +1 -1
  213. package/dist/init/vite-config.d.ts +1 -1
  214. package/dist/init/vite-config.js +2 -2
  215. package/dist/init/vite-config.js.map +1 -1
  216. package/dist/input/network-detail.d.ts +74 -0
  217. package/dist/input/network-detail.d.ts.map +1 -0
  218. package/dist/input/network-detail.js +160 -0
  219. package/dist/input/network-detail.js.map +1 -0
  220. package/dist/input/network-mock.d.ts +4 -4
  221. package/dist/input/real-input.d.ts +44 -11
  222. package/dist/input/real-input.d.ts.map +1 -1
  223. package/dist/input/real-input.js +57 -9
  224. package/dist/input/real-input.js.map +1 -1
  225. package/dist/journal/ambient-store.d.ts +16 -0
  226. package/dist/journal/ambient-store.d.ts.map +1 -0
  227. package/dist/journal/ambient-store.js +46 -0
  228. package/dist/journal/ambient-store.js.map +1 -0
  229. package/dist/journal/ambient.d.ts +48 -0
  230. package/dist/journal/ambient.d.ts.map +1 -0
  231. package/dist/journal/ambient.js +48 -0
  232. package/dist/journal/ambient.js.map +1 -0
  233. package/dist/journal/attach-journal.d.ts +22 -0
  234. package/dist/journal/attach-journal.d.ts.map +1 -0
  235. package/dist/journal/attach-journal.js +20 -0
  236. package/dist/journal/attach-journal.js.map +1 -0
  237. package/dist/journal/deviation-report.d.ts +28 -0
  238. package/dist/journal/deviation-report.d.ts.map +1 -0
  239. package/dist/journal/deviation-report.js +54 -0
  240. package/dist/journal/deviation-report.js.map +1 -0
  241. package/dist/journal/deviation-service.d.ts +12 -0
  242. package/dist/journal/deviation-service.d.ts.map +1 -0
  243. package/dist/journal/deviation-service.js +32 -0
  244. package/dist/journal/deviation-service.js.map +1 -0
  245. package/dist/journal/envelope-store.d.ts +19 -0
  246. package/dist/journal/envelope-store.d.ts.map +1 -0
  247. package/dist/journal/envelope-store.js +62 -0
  248. package/dist/journal/envelope-store.js.map +1 -0
  249. package/dist/journal/envelope.d.ts +232 -0
  250. package/dist/journal/envelope.d.ts.map +1 -0
  251. package/dist/journal/envelope.js +94 -0
  252. package/dist/journal/envelope.js.map +1 -0
  253. package/dist/journal/journal-query.d.ts +20 -0
  254. package/dist/journal/journal-query.d.ts.map +1 -0
  255. package/dist/journal/journal-query.js +28 -0
  256. package/dist/journal/journal-query.js.map +1 -0
  257. package/dist/journal/journal-recorder.d.ts +38 -0
  258. package/dist/journal/journal-recorder.d.ts.map +1 -0
  259. package/dist/journal/journal-recorder.js +81 -0
  260. package/dist/journal/journal-recorder.js.map +1 -0
  261. package/dist/journal/retention.d.ts +21 -0
  262. package/dist/journal/retention.d.ts.map +1 -0
  263. package/dist/journal/retention.js +50 -0
  264. package/dist/journal/retention.js.map +1 -0
  265. package/dist/journal/rollups.d.ts +49 -0
  266. package/dist/journal/rollups.d.ts.map +1 -0
  267. package/dist/journal/rollups.js +83 -0
  268. package/dist/journal/rollups.js.map +1 -0
  269. package/dist/journal/session-end.d.ts +32 -0
  270. package/dist/journal/session-end.d.ts.map +1 -0
  271. package/dist/journal/session-end.js +52 -0
  272. package/dist/journal/session-end.js.map +1 -0
  273. package/dist/journal/session-journal.d.ts +25 -0
  274. package/dist/journal/session-journal.d.ts.map +1 -0
  275. package/dist/journal/session-journal.js +168 -0
  276. package/dist/journal/session-journal.js.map +1 -0
  277. package/dist/license/license.d.ts +8 -3
  278. package/dist/license/license.d.ts.map +1 -1
  279. package/dist/license/license.js +34 -11
  280. package/dist/license/license.js.map +1 -1
  281. package/dist/mcp-proxy.d.ts +20 -0
  282. package/dist/mcp-proxy.d.ts.map +1 -1
  283. package/dist/mcp-proxy.js +45 -27
  284. package/dist/mcp-proxy.js.map +1 -1
  285. package/dist/mcp.d.ts +14 -0
  286. package/dist/mcp.d.ts.map +1 -1
  287. package/dist/mcp.js +79 -9
  288. package/dist/mcp.js.map +1 -1
  289. package/dist/oracles/flow-instrument-gaps.d.ts +19 -0
  290. package/dist/oracles/flow-instrument-gaps.d.ts.map +1 -0
  291. package/dist/oracles/flow-instrument-gaps.js +45 -0
  292. package/dist/oracles/flow-instrument-gaps.js.map +1 -0
  293. package/dist/oracles/propose-consequences.d.ts +22 -0
  294. package/dist/oracles/propose-consequences.d.ts.map +1 -0
  295. package/dist/oracles/propose-consequences.js +93 -0
  296. package/dist/oracles/propose-consequences.js.map +1 -0
  297. package/dist/oracles/self-instrument.d.ts +32 -0
  298. package/dist/oracles/self-instrument.d.ts.map +1 -0
  299. package/dist/oracles/self-instrument.js +44 -0
  300. package/dist/oracles/self-instrument.js.map +1 -0
  301. package/dist/pairing-token.d.ts +1 -1
  302. package/dist/phenomena/phenomena.d.ts +27 -0
  303. package/dist/phenomena/phenomena.d.ts.map +1 -0
  304. package/dist/phenomena/phenomena.js +102 -0
  305. package/dist/phenomena/phenomena.js.map +1 -0
  306. package/dist/pool/browser-pool.d.ts +5 -3
  307. package/dist/pool/browser-pool.d.ts.map +1 -1
  308. package/dist/pool/browser-pool.js +21 -3
  309. package/dist/pool/browser-pool.js.map +1 -1
  310. package/dist/pool/playwright-launcher.d.ts +2 -0
  311. package/dist/pool/playwright-launcher.d.ts.map +1 -1
  312. package/dist/pool/playwright-launcher.js +21 -2
  313. package/dist/pool/playwright-launcher.js.map +1 -1
  314. package/dist/project/baselines.d.ts.map +1 -1
  315. package/dist/project/baselines.js +5 -3
  316. package/dist/project/baselines.js.map +1 -1
  317. package/dist/project/file-lock.d.ts +2 -0
  318. package/dist/project/file-lock.d.ts.map +1 -0
  319. package/dist/project/file-lock.js +24 -0
  320. package/dist/project/file-lock.js.map +1 -0
  321. package/dist/project/fs-port.d.ts +18 -0
  322. package/dist/project/fs-port.d.ts.map +1 -1
  323. package/dist/project/fs-port.js +24 -2
  324. package/dist/project/fs-port.js.map +1 -1
  325. package/dist/project/project-store.d.ts.map +1 -1
  326. package/dist/project/project-store.js +33 -15
  327. package/dist/project/project-store.js.map +1 -1
  328. package/dist/project/project-tools.d.ts +0 -6
  329. package/dist/project/project-tools.d.ts.map +1 -1
  330. package/dist/project/project-tools.js +52 -6
  331. package/dist/project/project-tools.js.map +1 -1
  332. package/dist/project/reticle-dir.d.ts +39 -14
  333. package/dist/project/reticle-dir.d.ts.map +1 -1
  334. package/dist/project/reticle-dir.js +30 -4
  335. package/dist/project/reticle-dir.js.map +1 -1
  336. package/dist/runs/build-verification-run.d.ts +1 -1
  337. package/dist/runs/build-verification-run.js +1 -1
  338. package/dist/runs/repair-prompt.d.ts +2 -0
  339. package/dist/runs/repair-prompt.d.ts.map +1 -1
  340. package/dist/runs/repair-prompt.js +14 -1
  341. package/dist/runs/repair-prompt.js.map +1 -1
  342. package/dist/runs/reticle-runner.d.ts +1 -1
  343. package/dist/runs/reticle-runner.d.ts.map +1 -1
  344. package/dist/runs/run-diff.d.ts +34 -0
  345. package/dist/runs/run-diff.d.ts.map +1 -0
  346. package/dist/runs/run-diff.js +71 -0
  347. package/dist/runs/run-diff.js.map +1 -0
  348. package/dist/runs/run-store.d.ts +6 -1
  349. package/dist/runs/run-store.d.ts.map +1 -1
  350. package/dist/runs/run-store.js +22 -2
  351. package/dist/runs/run-store.js.map +1 -1
  352. package/dist/runs/run-tools.d.ts.map +1 -1
  353. package/dist/runs/run-tools.js +16 -3
  354. package/dist/runs/run-tools.js.map +1 -1
  355. package/dist/runs/verification-sync.d.ts +24 -0
  356. package/dist/runs/verification-sync.d.ts.map +1 -0
  357. package/dist/runs/verification-sync.js +67 -0
  358. package/dist/runs/verification-sync.js.map +1 -0
  359. package/dist/runs/verify-server.js +1 -1
  360. package/dist/runs/verify-server.js.map +1 -1
  361. package/dist/session/control-envelope.d.ts +9 -1
  362. package/dist/session/control-envelope.d.ts.map +1 -1
  363. package/dist/session/control-envelope.js +13 -1
  364. package/dist/session/control-envelope.js.map +1 -1
  365. package/dist/session/live-control-tools.d.ts +1 -1
  366. package/dist/session/live-control-tools.js +1 -1
  367. package/dist/session/live-control.d.ts +38 -0
  368. package/dist/session/live-control.d.ts.map +1 -0
  369. package/dist/session/live-control.js +64 -0
  370. package/dist/session/live-control.js.map +1 -0
  371. package/dist/session/observed-state.d.ts +46 -0
  372. package/dist/session/observed-state.d.ts.map +1 -0
  373. package/dist/session/observed-state.js +76 -0
  374. package/dist/session/observed-state.js.map +1 -0
  375. package/dist/session/output-budget.d.ts +9 -0
  376. package/dist/session/output-budget.d.ts.map +1 -1
  377. package/dist/session/output-budget.js +9 -0
  378. package/dist/session/output-budget.js.map +1 -1
  379. package/dist/session/review-store.d.ts +1 -1
  380. package/dist/session/review-store.d.ts.map +1 -1
  381. package/dist/session/review-store.js +2 -2
  382. package/dist/session/review-store.js.map +1 -1
  383. package/dist/session/session-manager.d.ts +9 -7
  384. package/dist/session/session-manager.d.ts.map +1 -1
  385. package/dist/session/session-manager.js +8 -8
  386. package/dist/session/session-manager.js.map +1 -1
  387. package/dist/session/session-readiness.js +1 -1
  388. package/dist/session/session-readiness.js.map +1 -1
  389. package/dist/session/session-reaper.d.ts +1 -1
  390. package/dist/session/session-reaper.js +1 -1
  391. package/dist/session/session-recommendation.d.ts +1 -1
  392. package/dist/session/session-recommendation.js +1 -1
  393. package/dist/session/session-tools.js +1 -1
  394. package/dist/session/session-tools.js.map +1 -1
  395. package/dist/session/session.d.ts +43 -11
  396. package/dist/session/session.d.ts.map +1 -1
  397. package/dist/session/session.js +115 -46
  398. package/dist/session/session.js.map +1 -1
  399. package/dist/telemetry/telemetry.d.ts +41 -0
  400. package/dist/telemetry/telemetry.d.ts.map +1 -0
  401. package/dist/telemetry/telemetry.js +220 -0
  402. package/dist/telemetry/telemetry.js.map +1 -0
  403. package/dist/tools/act-tools.d.ts.map +1 -1
  404. package/dist/tools/act-tools.js +252 -70
  405. package/dist/tools/act-tools.js.map +1 -1
  406. package/dist/tools/act-view.d.ts +4 -4
  407. package/dist/tools/act-view.js +4 -4
  408. package/dist/tools/browser-tools.d.ts.map +1 -1
  409. package/dist/tools/browser-tools.js +32 -8
  410. package/dist/tools/browser-tools.js.map +1 -1
  411. package/dist/tools/contract-tools.d.ts.map +1 -1
  412. package/dist/tools/contract-tools.js +5 -0
  413. package/dist/tools/contract-tools.js.map +1 -1
  414. package/dist/tools/dynamic-tools.d.ts.map +1 -1
  415. package/dist/tools/dynamic-tools.js +8 -7
  416. package/dist/tools/dynamic-tools.js.map +1 -1
  417. package/dist/tools/invoke-tool.d.ts.map +1 -1
  418. package/dist/tools/invoke-tool.js +36 -29
  419. package/dist/tools/invoke-tool.js.map +1 -1
  420. package/dist/tools/lease-tools.d.ts +16 -0
  421. package/dist/tools/lease-tools.d.ts.map +1 -1
  422. package/dist/tools/lease-tools.js +11 -0
  423. package/dist/tools/lease-tools.js.map +1 -1
  424. package/dist/tools/merge-tools.d.ts +43 -0
  425. package/dist/tools/merge-tools.d.ts.map +1 -0
  426. package/dist/tools/merge-tools.js +66 -0
  427. package/dist/tools/merge-tools.js.map +1 -0
  428. package/dist/tools/observe-tools.d.ts.map +1 -1
  429. package/dist/tools/observe-tools.js +172 -29
  430. package/dist/tools/observe-tools.js.map +1 -1
  431. package/dist/tools/profiles.d.ts +18 -13
  432. package/dist/tools/profiles.d.ts.map +1 -1
  433. package/dist/tools/profiles.js +39 -33
  434. package/dist/tools/profiles.js.map +1 -1
  435. package/dist/tools/query-paginate.d.ts +9 -2
  436. package/dist/tools/query-paginate.d.ts.map +1 -1
  437. package/dist/tools/query-paginate.js +21 -4
  438. package/dist/tools/query-paginate.js.map +1 -1
  439. package/dist/tools/read-tools.d.ts.map +1 -1
  440. package/dist/tools/read-tools.js +30 -1
  441. package/dist/tools/read-tools.js.map +1 -1
  442. package/dist/tools/snapshot-delta.d.ts +2 -0
  443. package/dist/tools/snapshot-delta.d.ts.map +1 -1
  444. package/dist/tools/snapshot-delta.js +0 -0
  445. package/dist/tools/snapshot-delta.js.map +1 -1
  446. package/dist/tools/tool-kit.d.ts +3 -2
  447. package/dist/tools/tool-kit.d.ts.map +1 -1
  448. package/dist/tools/tool-kit.js +11 -1
  449. package/dist/tools/tool-kit.js.map +1 -1
  450. package/dist/tools/tool-names.d.ts +18 -10
  451. package/dist/tools/tool-names.d.ts.map +1 -1
  452. package/dist/tools/tool-names.js +22 -13
  453. package/dist/tools/tool-names.js.map +1 -1
  454. package/dist/tools/tools-helpers.d.ts +12 -0
  455. package/dist/tools/tools-helpers.d.ts.map +1 -1
  456. package/dist/tools/tools-helpers.js +20 -0
  457. package/dist/tools/tools-helpers.js.map +1 -1
  458. package/dist/tools/tools.d.ts.map +1 -1
  459. package/dist/tools/tools.js +162 -12
  460. package/dist/tools/tools.js.map +1 -1
  461. package/dist/update/update-checker.d.ts.map +1 -1
  462. package/dist/update/update-checker.js +26 -1
  463. package/dist/update/update-checker.js.map +1 -1
  464. package/dist/update/updater.d.ts +1 -1
  465. package/dist/update/updater.js +2 -2
  466. package/dist/update/updater.js.map +1 -1
  467. package/package.json +8 -3
  468. package/dist/update/update-tools.d.ts +0 -3
  469. package/dist/update/update-tools.d.ts.map +0 -1
  470. package/dist/update/update-tools.js +0 -94
  471. package/dist/update/update-tools.js.map +0 -1
@@ -1,16 +1,17 @@
1
1
  /**
2
2
  * Observe / wait / assert tools — reticle_observe, reticle_wait_for, reticle_assert, reticle_network,
3
- * reticle_console, reticle_animations. Split out of tools.ts; assembled back via ...OBSERVE_TOOLS.
3
+ * reticle_console, reticle_animations. Split out of tools.ts; assembled back via...OBSERVE_TOOLS.
4
4
  */
5
5
  import { z } from 'zod';
6
- import { ReticleCommand } from '@reticlehq/core';
6
+ import { ReticleCommand, DEFAULT_ASSERT_TIMEOUT_MS } from '@reticlehq/core';
7
7
  import { ReticleTool } from './tool-names.js';
8
8
  import { buildReactionReport } from '../events/reaction.js';
9
9
  import { evaluatePredicate, waitForPredicate, PredicateSchema } from '../events/predicate.js';
10
- import { matchNet, matchConsole, isConsoleEvent, netEmptyHint, consoleEmptyHint, reconcileNet, projectNetCall, projectConsoleLog, } from '../events/event-filters.js';
11
- import { applyEventBudget, costHint, withSizeCost } from '../session/output-budget.js';
10
+ import { matchNet, matchConsole, isConsoleEvent, eventMatchesFilters, netEmptyHint, consoleEmptyHint, reconcileNet, projectNetCall, projectConsoleLog, } from '../events/event-filters.js';
11
+ import { applyEventBudget, costHint, withSizeCost, DEFAULT_QUERY_LIMIT, } from '../session/output-budget.js';
12
12
  import { healthEnvelope, bufferEnvelope } from '../session/session-health.js';
13
13
  import { isPresenceOnlyAssertion, PRESENCE_ONLY_ADVICE } from './assert-grade.js';
14
+ import { buildCoverageStatement, blindSpotsFromState } from '../honesty/blind-spots.js';
14
15
  import { withControl } from '../session/control-envelope.js';
15
16
  import { asString, asNumber } from './tools-helpers.js';
16
17
  import { sessionIdShape, commandOrThrow } from './tool-kit.js';
@@ -24,6 +25,23 @@ const bufferOutputShape = {
24
25
  .optional()
25
26
  .describe('Present only when the event buffer evicted events — a negative result may then be a false negative.'),
26
27
  };
28
+ /**
29
+ * Where to look when a failure has no element.
30
+ *
31
+ * "the signal never fired", "the request was never made", "the store did not change" have no DOM node
32
+ * to map to a component, so the file:line that covers element failures leaves exactly the failures
33
+ * that most need explaining with nowhere to send the agent. The handler that should have fired the
34
+ * signal lives with the control that was clicked, and the act path captured that control's source —
35
+ * so a failing assertion can point there instead of at nothing.
36
+ *
37
+ * RED only: on a pass this is noise on the path the agent walks most.
38
+ */
39
+ function lastActSourceOnFailure(session, pass) {
40
+ if (pass)
41
+ return {};
42
+ const source = session.lastActSource();
43
+ return source === undefined ? {} : { source };
44
+ }
27
45
  export const OBSERVE_TOOLS = [
28
46
  {
29
47
  name: ReticleTool.OBSERVE,
@@ -37,10 +55,20 @@ export const OBSERVE_TOOLS = [
37
55
  .number()
38
56
  .optional()
39
57
  .describe('Cursor from a prior reticle_act or reticle_observe call. Scopes the event window to exactly that span.'),
58
+ until: z
59
+ .number()
60
+ .optional()
61
+ .describe('Upper cursor bound. With `since`, returns the span "between action A and B".'),
62
+ actionId: z
63
+ .string()
64
+ .optional()
65
+ .describe('Keep only events attributed to this action — answers "what did action N cause".'),
40
66
  filters: z
41
67
  .array(z.string())
42
68
  .optional()
43
- .describe('Event type allowlist: dom | net | route | console | animation | signal. Omit to return all types.'),
69
+ .describe('Event type allowlist — the cheapest way to shrink a large timeline. Use a bucket name — ' +
70
+ 'dom | net | route | console | animation | signal | perf | state | storage — or a raw ' +
71
+ 'type (e.g. "net.request"). Omit to return all types.'),
44
72
  max_events: z
45
73
  .number()
46
74
  .optional()
@@ -48,6 +76,9 @@ export const OBSERVE_TOOLS = [
48
76
  ...sessionIdShape,
49
77
  },
50
78
  outputSchema: {
79
+ // The observed window's duration — buildReactionReport returns it on every call; without it in
80
+ // the schema, a validating profile stripped it and the agent lost "over how long" the counts hold.
81
+ window_ms: z.number(),
51
82
  events: z.array(z.unknown()),
52
83
  summary: z.object({
53
84
  total: z.number(),
@@ -74,23 +105,29 @@ export const OBSERVE_TOOLS = [
74
105
  .optional(),
75
106
  ...bufferOutputShape,
76
107
  },
77
- handler: (deps, args) => {
108
+ handler: async (deps, args) => {
78
109
  const session = deps.sessions.resolve(asString(args['sessionId']));
79
- const since = asNumber(args['since']);
110
+ const explicitSince = asNumber(args['since']);
80
111
  const windowMs = asNumber(args['window_ms']) ?? 2000;
81
- const events = since !== undefined ? session.eventsSince(since) : session.eventsInWindow(windowMs);
112
+ // Explicit since wins; else look back one window. Journal-backed so it survives buffer eviction.
113
+ const since = explicitSince ?? Math.max(0, session.elapsed() - windowMs);
114
+ const events = await session.queryEvents({
115
+ since,
116
+ until: asNumber(args['until']),
117
+ actionId: asString(args['actionId']),
118
+ });
82
119
  const filters = Array.isArray(args['filters']) ? args['filters'] : undefined;
83
- const filtered = filters === undefined ? events : events.filter((e) => filters.includes(e.type));
120
+ const filtered = filters === undefined ? events : events.filter((e) => eventMatchesFilters(e, filters));
84
121
  // Output budget: cap to the most recent N (no silent caps — droppedOldest is surfaced in cost).
85
122
  const { events: budgeted, droppedOldest } = applyEventBudget(filtered, asNumber(args['max_events']));
86
123
  const report = buildReactionReport(budgeted, windowMs);
87
124
  // carry session health — a throttled tab means the observed timeline may be incomplete.
88
- return Promise.resolve(withControl(session, {
125
+ return withControl(session, {
89
126
  ...report,
90
127
  cost: costHint(report, budgeted.length, droppedOldest),
91
128
  ...healthEnvelope(session),
92
129
  ...bufferEnvelope(session),
93
- }));
130
+ });
94
131
  },
95
132
  },
96
133
  {
@@ -112,15 +149,38 @@ export const OBSERVE_TOOLS = [
112
149
  session: z
113
150
  .object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
114
151
  .optional(),
152
+ buffer: z
153
+ .object({ held: z.number(), dropped: z.number(), note: z.string() })
154
+ .optional()
155
+ .describe('Present ONLY when the ring buffer evicted events during this window. A passing assertion — especially an absence one — may then be a false negative: the evidence that would have failed it could have been dropped. Absence of this block means the buffer was intact and the verdict is trustworthy.'),
156
+ observed: z
157
+ .string()
158
+ .optional()
159
+ .describe('What was actually seen — the structured half of failureReason, for the agent rather than a log.'),
160
+ expected: z.string().optional().describe('What the oracle required.'),
161
+ assertion: z
162
+ .string()
163
+ .optional()
164
+ .describe('Which oracle judged it, e.g. element.state — lets an agent branch on the failure KIND without parsing prose.'),
165
+ source: z
166
+ .string()
167
+ .optional()
168
+ .describe('On a FAILING assertion, the `file:line` of the control last acted on — where the code that should have produced the missing signal/request/state change lives. Present only when an act preceded this assertion.'),
115
169
  },
116
170
  handler: async (deps, args) => {
117
171
  const session = deps.sessions.resolve(asString(args['sessionId']));
118
172
  const predicate = PredicateSchema.parse(args['predicate']);
119
173
  // Honesty: explicit since wins; else default to the last act's cursor; else the whole buffer.
120
174
  const since = asNumber(args['since']) ?? session.lastActCursor() ?? 0;
121
- const verdict = await waitForPredicate(session, predicate, asNumber(args['timeout_ms']) ?? 4000, since);
122
- // match reticle_assert — wrap with control + session health (throttle matters most while blocking).
123
- return withControl(session, { ...verdict, ...healthEnvelope(session) });
175
+ const verdict = await waitForPredicate(session, predicate, asNumber(args['timeout_ms']) ?? DEFAULT_ASSERT_TIMEOUT_MS, since);
176
+ // match reticle_assert — wrap with control + session health (throttle matters most while blocking)
177
+ // and the buffer envelope, so a verdict reached over an evicted window says so.
178
+ return withControl(session, {
179
+ ...verdict,
180
+ ...lastActSourceOnFailure(session, verdict.pass),
181
+ ...healthEnvelope(session),
182
+ ...bufferEnvelope(session),
183
+ });
124
184
  },
125
185
  },
126
186
  {
@@ -146,9 +206,34 @@ export const OBSERVE_TOOLS = [
146
206
  .string()
147
207
  .optional()
148
208
  .describe('Present on a PASSING presence-only assertion — nudges toward a consequence.'),
209
+ observed: z
210
+ .string()
211
+ .optional()
212
+ .describe('What was actually seen — the structured half of failureReason, for the agent rather than a log.'),
213
+ expected: z.string().optional().describe('What the oracle required.'),
214
+ assertion: z
215
+ .string()
216
+ .optional()
217
+ .describe('Which oracle judged it, e.g. element.state — lets an agent branch on the failure KIND without parsing prose.'),
149
218
  session: z
150
219
  .object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
151
220
  .optional(),
221
+ buffer: z
222
+ .object({ held: z.number(), dropped: z.number(), note: z.string() })
223
+ .optional()
224
+ .describe('Present ONLY when the ring buffer evicted events during this window. A passing assertion — especially an absence one — may then be a false negative: the evidence that would have failed it could have been dropped. Absence of this block means the buffer was intact and the verdict is trustworthy.'),
225
+ source: z
226
+ .string()
227
+ .optional()
228
+ .describe('On a FAILING assertion, the `file:line` of the control last acted on — where the code that should have produced the missing signal/request/state change lives. Present only when an act preceded this assertion.'),
229
+ coverage: z
230
+ .string()
231
+ .optional()
232
+ .describe('Present ONLY when part of the page was unobservable (cross-origin iframe, closed shadow root). A PASSING assertion is then scoped to what could be seen — treat it as "no failure found in the observed region", never as "the page is correct".'),
233
+ coverage_spots: z
234
+ .array(z.object({ kind: z.string(), count: z.number() }))
235
+ .optional()
236
+ .describe('Which regions were unobservable, when coverage is partial.'),
152
237
  },
153
238
  handler: async (deps, args) => {
154
239
  const session = deps.sessions.resolve(asString(args['sessionId']));
@@ -162,7 +247,39 @@ export const OBSERVE_TOOLS = [
162
247
  // A GREEN presence-only assertion is the dangerous case (a wrong element can fake it) — nudge
163
248
  // toward a consequence. Never on a failing verdict (moot) or when a signal/net is asserted.
164
249
  const advice = verdict.pass && isPresenceOnlyAssertion(predicate) ? { advice: PRESENCE_ONLY_ADVICE } : {};
165
- return withControl(session, { ...verdict, ...advice, ...healthEnvelope(session) });
250
+ // A verdict reached over an evicted buffer can be a FALSE NEGATIVE: "no console error" may
251
+ // simply mean the error aged out. reticle_console has always disclosed this on the same window;
252
+ // the verdict path — the one an agent actually gates on — did not. Omitted when nothing dropped.
253
+ // Coverage, on the verdict an agent actually gates on.
254
+ //
255
+ // Scope caveat, stated because it is a real limitation and not a bug: blind spots are tracked
256
+ // per SESSION, not per assertion window. So a cross-origin iframe seen once marks every later
257
+ // verdict in that session partial, including ones about a region it cannot affect. That errs
258
+ // toward over-warning, which is the correct direction for an honesty signal — the failure this
259
+ // guards against is a green that implies coverage it never had, and the opposite error (a
260
+ // needless caveat) costs the agent a sentence.
261
+ //
262
+ // act_and_wait has always disclosed this; plain assert did not — so a GREEN assert on a page
263
+ // with a cross-origin iframe or a closed shadow root read as "the page is correct" when the
264
+ // honest claim is "nothing failed in the part I could see". That is the false-green shape this
265
+ // project exists to prevent, sitting on the most-used verdict path. Omitted entirely when
266
+ // coverage is full, so an intact page pays nothing and the field's PRESENCE is the warning.
267
+ const spots = blindSpotsFromState(session.blindSpots());
268
+ const statement = buildCoverageStatement(spots);
269
+ const coverage = statement.coverage === 'partial'
270
+ ? {
271
+ coverage: statement.note ?? 'partial',
272
+ coverage_spots: statement.spots.map((sp) => ({ kind: sp.kind, count: sp.count })),
273
+ }
274
+ : {};
275
+ return withControl(session, {
276
+ ...verdict,
277
+ ...advice,
278
+ ...coverage,
279
+ ...lastActSourceOnFailure(session, verdict.pass),
280
+ ...healthEnvelope(session),
281
+ ...bufferEnvelope(session),
282
+ });
166
283
  },
167
284
  },
168
285
  {
@@ -173,6 +290,14 @@ export const OBSERVE_TOOLS = [
173
290
  .number()
174
291
  .optional()
175
292
  .describe('Cursor from a prior reticle_act — scopes the query to requests fired after that act.'),
293
+ until: z
294
+ .number()
295
+ .optional()
296
+ .describe('Upper cursor bound — with `since`, the span between two acts.'),
297
+ actionId: z
298
+ .string()
299
+ .optional()
300
+ .describe('Keep only requests attributed to this action — "what did action N request".'),
176
301
  method: z
177
302
  .string()
178
303
  .optional()
@@ -182,7 +307,7 @@ export const OBSERVE_TOOLS = [
182
307
  limit: z
183
308
  .number()
184
309
  .optional()
185
- .describe('Keep only the most recent N matching calls (older are dropped and counted in droppedOldest) — cuts tokens on a wide window.'),
310
+ .describe('Keep only the most recent N matching calls (older are dropped and counted in droppedOldest) — cuts tokens on a wide window. Defaults to 200 when omitted; pass a higher number for more, or scope with since/until.'),
186
311
  ...sessionIdShape,
187
312
  },
188
313
  outputSchema: {
@@ -196,7 +321,7 @@ export const OBSERVE_TOOLS = [
196
321
  cost: z.object({ bytes: z.number(), tokens: z.number() }).optional(),
197
322
  ...bufferOutputShape,
198
323
  },
199
- handler: (deps, args) => {
324
+ handler: async (deps, args) => {
200
325
  const session = deps.sessions.resolve(asString(args['sessionId']));
201
326
  const since = asNumber(args['since']) ?? 0;
202
327
  const method = asString(args['method']);
@@ -205,17 +330,22 @@ export const OBSERVE_TOOLS = [
205
330
  const limit = asNumber(args['limit']);
206
331
  const buffer = bufferEnvelope(session);
207
332
  // Completed calls + unresolved in-flight requests (a hung request shows as pending).
208
- const allNet = reconcileNet(session.eventsSince(since));
333
+ const allNet = reconcileNet(await session.queryEvents({
334
+ since,
335
+ until: asNumber(args['until']),
336
+ actionId: asString(args['actionId']),
337
+ }));
209
338
  const matched = allNet.filter((e) => matchNet(e, method, urlContains, status));
210
339
  // zero-match filter returns what DID fire, not a bare [].
211
340
  if (matched.length === 0 && allNet.length > 0) {
212
- return Promise.resolve(withSizeCost({ calls: matched, hint: netEmptyHint(allNet), ...buffer }));
341
+ return withSizeCost({ calls: matched, hint: netEmptyHint(allNet), ...buffer });
213
342
  }
214
- const { events: budgeted, droppedOldest } = applyEventBudget(matched, limit);
343
+ // Default the cap so an omitted `limit` can't dump a whole flooded session (since defaults to 0).
344
+ const { events: budgeted, droppedOldest } = applyEventBudget(matched, limit ?? DEFAULT_QUERY_LIMIT);
215
345
  const calls = budgeted.map(projectNetCall);
216
- return Promise.resolve(withSizeCost(droppedOldest > 0
346
+ return withSizeCost(droppedOldest > 0
217
347
  ? { calls, total: matched.length, droppedOldest, ...buffer }
218
- : { calls, ...buffer }));
348
+ : { calls, ...buffer });
219
349
  },
220
350
  },
221
351
  {
@@ -230,10 +360,18 @@ export const OBSERVE_TOOLS = [
230
360
  .number()
231
361
  .optional()
232
362
  .describe('Cursor from a prior reticle_act — scopes the query to log entries after that act.'),
363
+ until: z
364
+ .number()
365
+ .optional()
366
+ .describe('Upper cursor bound — with `since`, the span between two acts.'),
367
+ actionId: z
368
+ .string()
369
+ .optional()
370
+ .describe('Keep only log entries attributed to this action — "what did action N log".'),
233
371
  limit: z
234
372
  .number()
235
373
  .optional()
236
- .describe('Keep only the most recent N matching entries (older are dropped and counted in droppedOldest) — cuts tokens when a page spams the console.'),
374
+ .describe('Keep only the most recent N matching entries (older are dropped and counted in droppedOldest) — cuts tokens when a page spams the console. Defaults to 200 when omitted; pass a higher number for more, or scope with since/until.'),
237
375
  ...sessionIdShape,
238
376
  },
239
377
  outputSchema: {
@@ -247,23 +385,28 @@ export const OBSERVE_TOOLS = [
247
385
  cost: z.object({ bytes: z.number(), tokens: z.number() }).optional(),
248
386
  ...bufferOutputShape,
249
387
  },
250
- handler: (deps, args) => {
388
+ handler: async (deps, args) => {
251
389
  const session = deps.sessions.resolve(asString(args['sessionId']));
252
390
  const since = asNumber(args['since']) ?? 0;
253
391
  const level = asString(args['level']);
254
392
  const limit = asNumber(args['limit']);
255
393
  const buffer = bufferEnvelope(session);
256
- const allConsole = session.eventsSince(since).filter(isConsoleEvent);
394
+ const allConsole = (await session.queryEvents({
395
+ since,
396
+ until: asNumber(args['until']),
397
+ actionId: asString(args['actionId']),
398
+ })).filter(isConsoleEvent);
257
399
  const matched = allConsole.filter((e) => matchConsole(e, level));
258
400
  // zero matches at this level → report what levels ARE present (not a bare []).
259
401
  if (matched.length === 0 && allConsole.length > 0) {
260
- return Promise.resolve(withSizeCost({ logs: matched, hint: consoleEmptyHint(allConsole), ...buffer }));
402
+ return withSizeCost({ logs: matched, hint: consoleEmptyHint(allConsole), ...buffer });
261
403
  }
262
- const { events: budgeted, droppedOldest } = applyEventBudget(matched, limit);
404
+ // Default the cap so an omitted `limit` can't dump a whole flooded session (since defaults to 0).
405
+ const { events: budgeted, droppedOldest } = applyEventBudget(matched, limit ?? DEFAULT_QUERY_LIMIT);
263
406
  const logs = budgeted.map(projectConsoleLog);
264
- return Promise.resolve(withSizeCost(droppedOldest > 0
407
+ return withSizeCost(droppedOldest > 0
265
408
  ? { logs, total: matched.length, droppedOldest, ...buffer }
266
- : { logs, ...buffer }));
409
+ : { logs, ...buffer });
267
410
  },
268
411
  },
269
412
  {
@@ -1 +1 @@
1
- {"version":3,"file":"observe-tools.js","sourceRoot":"","sources":["../../src/tools/observe-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe-tools.js","sourceRoot":"","sources":["../../src/tools/observe-tools.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,30 @@
1
1
  import type { ToolDef } from './tools.js';
2
2
  /**
3
3
  * Which MCP tool surface to expose. The advertised tool DEFINITIONS are re-sent to the model on
4
- * every turn, so a smaller surface is a per-turn token saving that compounds across a loop —
5
- * measured ~14.6k tok/turn at full (48 tools) vs ~half that for core. Fewer tools also makes the
6
- * model wander less (fewer turns, higher accuracy). See bench/LAYER-B.md.
4
+ * every turn, so a smaller surface is a per-turn token saving that compounds across a loop. Fewer
5
+ * tools also makes the model wander less (fewer turns, higher accuracy). See bench/agent-loop-and-replay.md.
7
6
  *
8
- * core — the verify loop a coding agent actually needs: navigate→look→act→observe→assert,
9
- * WITH direct network + console + state observability (the highest-signal checks).
10
- * ~12 tools. The recommended profile for agent-driven verification.
11
- * standard — core + common extras (inspect, sequences, animations, flows, session lifecycle,
12
- * scroll, baselines, …). For agents that need more than the bare loop.
13
- * hybrid — THE DEFAULT: core verify+oracle tools advertised directly + 2 meta-tools for on-demand
14
- * reach to everything else. Core accuracy/detection at ~64% less schema tax than full.
15
- * full — all tools advertised directly. Opt in via RETICLE_TOOL_PROFILE=full for hard-call scripts.
7
+ * MEASURED surface sizes (assert them with profile-reachability.test.ts rather than trusting prose —
8
+ * every count previously written here was wrong, and the token figures below derive from those counts):
9
+ * core 14 · standard 32 · hybrid 14 · full 41 · dynamic 2
10
+ * core and hybrid are both 14 because a trimmed profile now also advertises the two meta-tools, which
11
+ * is what keeps an un-advertised tool reachable through reticle_run.
12
+ *
13
+ * core — the verify loop a coding agent actually needs: navigate→look→act→observe→assert,
14
+ * WITH direct network + console + state observability (the highest-signal checks).
15
+ * The recommended profile for agent-driven verification.
16
+ * standard — core + common extras (inspect, sequences, animations, flows, session lifecycle,
17
+ * scroll, baselines, …). For agents that need more than the bare loop.
18
+ * hybrid — THE DEFAULT: core verify+oracle tools advertised directly + 2 meta-tools for on-demand
19
+ * reach to everything else. Core accuracy/detection at ~64% less schema tax than full.
20
+ * full — all tools advertised directly. Opt in via RETICLE_TOOL_PROFILE=full for hard-call scripts.
16
21
  */
17
22
  export declare const TOOL_PROFILE: {
18
23
  /** dynamic — advertise only 2 meta-tools (reticle_tools + reticle_run); load real tools on demand.
19
- * Fixed ~hundreds of tokens/turn regardless of how many tools exist. See dynamic-tools.ts. */
24
+ * Fixed ~hundreds of tokens/turn regardless of how many tools exist. See dynamic-tools.ts. */
20
25
  readonly DYNAMIC: "dynamic";
21
26
  /** hybrid — the core verify tools advertised directly (so the agent acts reliably) PLUS the 2
22
- * meta-tools for on-demand reach to every other tool. Core accuracy + full reach at ~core cost. */
27
+ * meta-tools for on-demand reach to every other tool. Core accuracy + full reach at ~core cost. */
23
28
  readonly HYBRID: "hybrid";
24
29
  readonly CORE: "core";
25
30
  readonly STANDARD: "standard";
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/tools/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY;IACvB;mGAC+F;;IAE/F;wGACoG;;;;;CAK5F,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAQvD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAa9C,CAAC;AAoCH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAWjE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,EAAE,CAK7E"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/tools/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY;IACvB;kGAC8F;;IAE9F;uGACmG;;;;;CAK3F,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAmBvD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAa9C,CAAC;AA0BH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAWjE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,EAAE,CAK7E"}
@@ -1,37 +1,53 @@
1
1
  import { ReticleTool } from './tool-names.js';
2
2
  /**
3
3
  * Which MCP tool surface to expose. The advertised tool DEFINITIONS are re-sent to the model on
4
- * every turn, so a smaller surface is a per-turn token saving that compounds across a loop —
5
- * measured ~14.6k tok/turn at full (48 tools) vs ~half that for core. Fewer tools also makes the
6
- * model wander less (fewer turns, higher accuracy). See bench/LAYER-B.md.
4
+ * every turn, so a smaller surface is a per-turn token saving that compounds across a loop. Fewer
5
+ * tools also makes the model wander less (fewer turns, higher accuracy). See bench/agent-loop-and-replay.md.
7
6
  *
8
- * core — the verify loop a coding agent actually needs: navigate→look→act→observe→assert,
9
- * WITH direct network + console + state observability (the highest-signal checks).
10
- * ~12 tools. The recommended profile for agent-driven verification.
11
- * standard — core + common extras (inspect, sequences, animations, flows, session lifecycle,
12
- * scroll, baselines, …). For agents that need more than the bare loop.
13
- * hybrid — THE DEFAULT: core verify+oracle tools advertised directly + 2 meta-tools for on-demand
14
- * reach to everything else. Core accuracy/detection at ~64% less schema tax than full.
15
- * full — all tools advertised directly. Opt in via RETICLE_TOOL_PROFILE=full for hard-call scripts.
7
+ * MEASURED surface sizes (assert them with profile-reachability.test.ts rather than trusting prose —
8
+ * every count previously written here was wrong, and the token figures below derive from those counts):
9
+ * core 14 · standard 32 · hybrid 14 · full 41 · dynamic 2
10
+ * core and hybrid are both 14 because a trimmed profile now also advertises the two meta-tools, which
11
+ * is what keeps an un-advertised tool reachable through reticle_run.
12
+ *
13
+ * core — the verify loop a coding agent actually needs: navigate→look→act→observe→assert,
14
+ * WITH direct network + console + state observability (the highest-signal checks).
15
+ * The recommended profile for agent-driven verification.
16
+ * standard — core + common extras (inspect, sequences, animations, flows, session lifecycle,
17
+ * scroll, baselines, …). For agents that need more than the bare loop.
18
+ * hybrid — THE DEFAULT: core verify+oracle tools advertised directly + 2 meta-tools for on-demand
19
+ * reach to everything else. Core accuracy/detection at ~64% less schema tax than full.
20
+ * full — all tools advertised directly. Opt in via RETICLE_TOOL_PROFILE=full for hard-call scripts.
16
21
  */
17
22
  export const TOOL_PROFILE = {
18
23
  /** dynamic — advertise only 2 meta-tools (reticle_tools + reticle_run); load real tools on demand.
19
- * Fixed ~hundreds of tokens/turn regardless of how many tools exist. See dynamic-tools.ts. */
24
+ * Fixed ~hundreds of tokens/turn regardless of how many tools exist. See dynamic-tools.ts. */
20
25
  DYNAMIC: 'dynamic',
21
26
  /** hybrid — the core verify tools advertised directly (so the agent acts reliably) PLUS the 2
22
- * meta-tools for on-demand reach to every other tool. Core accuracy + full reach at ~core cost. */
27
+ * meta-tools for on-demand reach to every other tool. Core accuracy + full reach at ~core cost. */
23
28
  HYBRID: 'hybrid',
24
29
  CORE: 'core',
25
30
  STANDARD: 'standard',
26
31
  FULL: 'full',
27
32
  };
28
33
  export const TOOL_PROFILE_ENV = 'RETICLE_TOOL_PROFILE';
29
- // The set an agent needs to verify a change end-to-end. Tool DEFINITIONS are re-sent every turn,
30
- // so a smaller surface compounds — but there is a floor: an 8-tool cut (dropping act/navigate/
31
- // wait_for/sessions) was MEASURED to regress real-agent accuracy from 5/5 to 3/5, because the
32
- // model loses scaffolding and wanders (more turns) on harder flows. These 12 are the lean sweet
33
- // spot that holds 5/5 in a real gpt-4o loop. Direct network/console stay (far more discoverable
34
- // than observe-with-filters → fewer turns, better verdicts). See bench/LAYER-B.md.
34
+ // The set an agent needs to verify a change end-to-end. Tool DEFINITIONS are re-sent every turn, so a
35
+ // smaller surface compounds. Measured per-turn surface cost (bench/first-drive, o200k proxy):
36
+ // core 6,479 tok · standard 13,951 · full 20,441 — the hybrid default is far cheaper per turn than
37
+ // advertising everything. STALE: these were measured against a 12/40/56-tool surface that no longer
38
+ // exists (it is now 14/32/41 after the merge and the escape-hatch change), so treat the ratio as
39
+ // directional and the absolute numbers as needing a re-measure before they are quoted anywhere.
40
+ //
41
+ // There is a floor, though: an 8-tool cut (dropping act/navigate/wait_for/sessions) was MEASURED to
42
+ // regress real-agent accuracy 5/5 → 3/5, because the model loses scaffolding and wanders on harder
43
+ // flows. These 12 are the lean sweet spot. Direct network/console stay (far more discoverable than
44
+ // observe-with-filters → fewer turns, better verdicts).
45
+ //
46
+ // Evidence status: the original 5/5 figure came from a single gpt-4o run and is STALE as a
47
+ // justification. Current-model evidence is indirect but real — the cost-delta run
48
+ // (bench/fix-loop/COST-DELTA.md) drove this hybrid default on a current model and fixed 4/4 cells with
49
+ // ~25% FEWER tool calls than the baseline. A formal core-vs-hybrid A/B on a current model is
50
+ // still UNRUN; do not quote the 5/5 number as if it were current. See bench/agent-loop-and-replay.md.
35
51
  export const CORE_TOOL_NAMES = new Set([
36
52
  ReticleTool.SESSIONS,
37
53
  ReticleTool.NAVIGATE,
@@ -54,27 +70,17 @@ const STANDARD_TOOL_NAMES = new Set([
54
70
  ReticleTool.CONSOLE,
55
71
  ReticleTool.ANIMATIONS,
56
72
  ReticleTool.FLOW_SAVE,
57
- ReticleTool.FLOW_LIST,
58
- ReticleTool.FLOW_LOAD,
59
- ReticleTool.FLOW_DELETE,
60
73
  ReticleTool.FLOW_REPLAY,
61
74
  ReticleTool.FLOW_VERIFY,
62
75
  ReticleTool.FLOW_HEAL,
63
- ReticleTool.SESSION,
64
- ReticleTool.END_SESSION,
65
- ReticleTool.YIELD,
66
- ReticleTool.RESUME,
67
- ReticleTool.MESSAGES,
68
- ReticleTool.REVIEW,
69
- ReticleTool.WAIT_READY,
76
+ ReticleTool.SESSION, // merged lifecycle/human-channel family
77
+ ReticleTool.FLOW, // merged flow list/load/delete
78
+ ReticleTool.RECORD, // merged record start/stop
79
+ ReticleTool.BASELINE, // merged baseline save/list/diff
70
80
  ReticleTool.SCROLL_TO,
71
81
  ReticleTool.CRAWL,
72
- ReticleTool.RECORD_START,
73
- ReticleTool.RECORD_STOP,
74
82
  ReticleTool.REPLAY,
75
83
  ReticleTool.EXPLORE,
76
- ReticleTool.BASELINE_SAVE,
77
- ReticleTool.BASELINE_LIST,
78
84
  ReticleTool.CONTRACT_SAVE,
79
85
  ReticleTool.NETWORK_MOCK,
80
86
  ReticleTool.VIEWPORT,
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/tools/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/tools/profiles.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,19 @@
4
4
  * expensive part of a tool call is the bytes that land in its context.
5
5
  *
6
6
  * - count_only: drop the elements array entirely, return just `count` (the agent often only needs
7
- * "how many?" — e.g. "are there 3 rows now?").
7
+ * "how many?" — e.g. "are there 3 rows now?").
8
8
  * - limit: keep the first N descriptors, report `total` + `truncated:true` so the trim is never
9
- * silent (the agent knows to narrow with name/scope rather than assume it saw everything).
9
+ * silent (the agent knows to narrow with name/scope rather than assume it saw everything).
10
10
  *
11
11
  * Pure and result-shape-tolerant: anything that is not a `{ elements: [...] }` object passes
12
12
  * through untouched (a thrown-error envelope, a zero-match hint result, etc.).
13
+ *
14
+ * WHY THE COUNT IS NOT `elements.length`: the browser counts matches against the live DOM and puts
15
+ * that number in `count` before the reply is serialized. The wire sanitizer then caps the elements
16
+ * ARRAY (200 items, plus a node budget that bites sooner on rich descriptors). On a page with
17
+ * thousands of matches the array that arrives here is therefore shorter than the truth, and deriving
18
+ * the count from it reports the transport's cap as though it were the answer — an authoritative-looking
19
+ * number that is silently wrong. `count` survives because it is a scalar. Trust it over the array.
13
20
  */
14
21
  export declare function paginateQueryResult(result: unknown, limit: number | undefined, countOnly: boolean): unknown;
15
22
  //# sourceMappingURL=query-paginate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-paginate.d.ts","sourceRoot":"","sources":["../../src/tools/query-paginate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,OAAO,GACjB,OAAO,CAiBT"}
1
+ {"version":3,"file":"query-paginate.d.ts","sourceRoot":"","sources":["../../src/tools/query-paginate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,OAAO,GACjB,OAAO,CA4BT"}