@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,13 +1,19 @@
1
1
  import { z } from 'zod';
2
- import { FlowErrorCode, RecordedSaveError } from '@reticlehq/core';
2
+ import { FlowErrorCode, RecordedSaveError, ReplayStatus, } from '@reticlehq/core';
3
3
  import { ReticleTool } from '../tools/tool-names.js';
4
- import { asString } from '../tools/tools-helpers.js';
4
+ import { asNumber, asString } from '../tools/tools-helpers.js';
5
5
  import { log } from '../log.js';
6
- import { resolveCloudConfig, syncFlowToCloud, SyncOutcome } from '../cloud/cloud-sync.js';
6
+ import { syncFlowToCloud, SyncOutcome } from '../cloud/cloud-sync.js';
7
+ import { mapWithConcurrency, resolveConcurrency } from './parallel-suite.js';
8
+ import { acquireLeasedSession } from '../tools/lease-tools.js';
9
+ import { homedir } from 'node:os';
10
+ import { resolveProjectCloud } from '../cloud/cloud-config.js';
7
11
  import { buildSuiteVerdict } from './decision.js';
8
12
  import { classifyFlowAssertions } from './flow-classify.js';
9
- import { flowPath } from '../project/reticle-dir.js';
13
+ import { isValidFlowName, flowPath } from '../project/reticle-dir.js';
10
14
  import { replayNamedFlow, flowErrorMessage, latestRecordedFlow, sessionProjectId, } from './flow-replay-run.js';
15
+ import { persistAndSyncVerificationRun } from '../runs/verification-sync.js';
16
+ import { runServerVerify } from './server-verify.js';
11
17
  import { healFlow } from './heal-run.js';
12
18
  export { replayNamedFlow } from './flow-replay-run.js';
13
19
  /**
@@ -15,15 +21,49 @@ export { replayNamedFlow } from './flow-replay-run.js';
15
21
  * set). Fire-and-forget: resolves the config, POSTs via the platform fetch, and logs the outcome. Any
16
22
  * failure is swallowed so a network hiccup never affects the local save.
17
23
  */
18
- async function syncSavedFlowToCloud(flow, projectId) {
19
- const config = resolveCloudConfig(process.env);
20
- if (config === null)
21
- return; // not logged in → stays local
22
- const result = await syncFlowToCloud(flow, config, projectId, (url, init) => fetch(url, init));
24
+ async function syncSavedFlowToCloud(deps, flow, projectId) {
25
+ // Per-project cloud: sync a saved flow only when cloud is attached AND flow sync is enabled.
26
+ const cloud = await resolveProjectCloud(deps.fs, deps.reticleRoot, homedir(), process.env);
27
+ if (cloud.config === null || !cloud.policy.flows)
28
+ return; // not attached / flows disabled → local only
29
+ const result = await syncFlowToCloud(flow, cloud.config, projectId, (url, init) => fetch(url, init));
23
30
  if (result.outcome !== SyncOutcome.SYNCED) {
24
31
  log('cloud-flow-sync-failed', { flow: flow.name, status: result.status, error: result.error });
25
32
  }
26
33
  }
34
+ /**
35
+ * The URL a leased context should open: the app's ORIGIN, not the live tab's current location.
36
+ *
37
+ * The live tab drifts — every replay navigates it — so using its full URL made each lease start wherever
38
+ * the previous run happened to finish (observed: leases opening /deployments and failing to find the
39
+ * login control that only exists at the root). A lease must be a FRESH visit to a deterministic entry
40
+ * point; flows that need another page carry their own startPath.
41
+ */
42
+ export function leasableAppUrl(deps, sessionId) {
43
+ try {
44
+ const url = deps.sessions.resolve(sessionId).url;
45
+ if (typeof url !== 'string' || url.length === 0)
46
+ return undefined;
47
+ return new URL(url).origin;
48
+ }
49
+ catch {
50
+ return undefined; // no live session (or an unparseable URL) → sequential path
51
+ }
52
+ }
53
+ /** A flow whose leased context never came up is a suite ERROR, never a silent pass. */
54
+ export function leaseFailureReplay(name, error) {
55
+ return {
56
+ name,
57
+ status: ReplayStatus.ERROR,
58
+ steps: [],
59
+ error: {
60
+ code: ReplayStatus.ERROR,
61
+ message: `could not run in a leased context: ${error ?? 'unknown error'}`,
62
+ },
63
+ };
64
+ }
65
+ /** Stand-in path for a flow whose name fails the path-segment guard — never a real join. */
66
+ const INVALID_FLOW_NAME_PATH = '(invalid flow name — not a usable path)';
27
67
  export const FLOW_TOOLS = [
28
68
  {
29
69
  name: ReticleTool.FLOW_SAVE,
@@ -113,7 +153,15 @@ export const FLOW_TOOLS = [
113
153
  handler: (deps, args) => {
114
154
  const projectId = sessionProjectId(deps, asString(args['sessionId']));
115
155
  return deps.flows.list(projectId).then((names) => ({
116
- flows: names.map((name) => ({ name, path: flowPath(deps.reticleRoot, name, projectId) })),
156
+ // `list` deliberately returns invalid names so they are reported rather than silently
157
+ // dropped — but the declared outputSchema requires `path` on EVERY entry, and omitting it made
158
+ // a strict MCP client reject the whole listing (the agent then sees no flows at all, which is
159
+ // worse than the bad path it replaced). So every entry keeps a string `path`; an invalid name
160
+ // gets an explanatory marker instead of a joined filesystem path, which is what must never
161
+ // happen for a traversal-shaped name.
162
+ flows: names.map((name) => isValidFlowName(name)
163
+ ? { name, path: flowPath(deps.reticleRoot, name, projectId) }
164
+ : { name, path: INVALID_FLOW_NAME_PATH }),
117
165
  }));
118
166
  },
119
167
  },
@@ -194,9 +242,16 @@ export const FLOW_TOOLS = [
194
242
  .describe('Active session ID from reticle_sessions. Omit when only one browser session is open.'),
195
243
  },
196
244
  outputSchema: {
245
+ // The flow's name — always present in FlowReplayResult (the description promises `{ name, … }`),
246
+ // but omitted here, so a validating profile stripped it and a replay result arrived anonymous.
247
+ name: z.string(),
197
248
  status: z.string().describe('ok | drift | error'),
198
249
  steps: z.array(z.unknown()),
199
250
  proposals: z.array(z.unknown()).optional(),
251
+ deviation: z
252
+ .unknown()
253
+ .optional()
254
+ .describe('Push-default deviation report over the replay segments: ranked deviations vs the learned envelope + a nominal count, or a fall-back note below 3 runs.'),
200
255
  error: z.object({ code: z.string(), message: z.string() }).optional(),
201
256
  decision: z
202
257
  .object({
@@ -226,6 +281,10 @@ export const FLOW_TOOLS = [
226
281
  .array(z.string())
227
282
  .optional()
228
283
  .describe('Flow names to verify. Omit to verify every saved flow.'),
284
+ parallel: z
285
+ .number()
286
+ .optional()
287
+ .describe('Run this many flows at once, each in its own isolated leased browser context (needs the browser pool). Clamped to the pool capacity and the flow count. Omit for the sequential single-tab run.'),
229
288
  sessionId: z
230
289
  .string()
231
290
  .optional()
@@ -242,15 +301,59 @@ export const FLOW_TOOLS = [
242
301
  handler: async (deps, args) => {
243
302
  const sessionId = asString(args['sessionId']);
244
303
  // "Replay all" means all of THIS app's flows (+ legacy), not every project's on a shared daemon.
304
+ const projectId = sessionProjectId(deps, sessionId);
245
305
  const requested = Array.isArray(args['names'])
246
306
  ? args['names'].filter((n) => typeof n === 'string')
247
- : await deps.flows.list(sessionProjectId(deps, sessionId));
307
+ : await deps.flows.list(projectId);
308
+ // verify:server — hand the whole suite to the hosted runner; it records the verification itself.
309
+ const cloud = await resolveProjectCloud(deps.fs, deps.reticleRoot, homedir(), process.env);
310
+ const server = await runServerVerify(deps, cloud, sessionId, requested);
311
+ if (server !== null)
312
+ return server;
313
+ // PARALLEL: flows race the DOM only when they share ONE tab. Given the lease pool, each
314
+ // flow gets its own isolated context, so a large suite finishes in interactive time. Opt-in via
315
+ // `parallel`; a missing prerequisite (no pool, unknown app URL) falls back to the sequential path
316
+ // rather than failing — a suite must always be runnable.
317
+ //
318
+ // NOTE: this applies even to a ONE-flow suite. Skipping leases for a single flow looked harmless
319
+ // (no speedup to win) but silently downgraded an explicit `parallel` request to a shared-tab run,
320
+ // so the flow inherited whatever state the previous run left behind — isolation is the point here,
321
+ // not only concurrency.
322
+ const parallelArg = asNumber(args['parallel']);
323
+ const pool = deps.pool;
324
+ const appUrl = leasableAppUrl(deps, sessionId);
325
+ if (parallelArg !== undefined &&
326
+ pool !== undefined &&
327
+ appUrl !== undefined &&
328
+ requested.length > 0) {
329
+ const concurrency = resolveConcurrency(requested.length, pool.capacity(), parallelArg);
330
+ const outcomes = await mapWithConcurrency(requested, concurrency, async (flowName) => {
331
+ const lease = await acquireLeasedSession(pool, (id) => deps.sessions.get(id) !== undefined, appUrl);
332
+ try {
333
+ return await replayNamedFlow(deps, { flowName, sessionId: lease.sessionId });
334
+ }
335
+ finally {
336
+ // Always release: a crashed flow must never leak a slot and starve the rest of the suite.
337
+ await lease.release().catch(() => undefined);
338
+ }
339
+ });
340
+ return buildSuiteVerdict(outcomes.map((o, i) => ({
341
+ replay: o.ok && o.value !== undefined
342
+ ? o.value
343
+ : leaseFailureReplay(requested[i] ?? '', o.error),
344
+ })));
345
+ }
248
346
  const runs = [];
249
- // Sequential: each flow replays against the same live session; parallel would race the DOM.
347
+ const timed = [];
348
+ // Sequential default: every flow replays against the same live session, so they must not overlap.
250
349
  for (const flowName of requested) {
350
+ const start = deps.now();
251
351
  const replay = await replayNamedFlow(deps, { flowName, sessionId });
252
352
  runs.push({ replay });
353
+ timed.push({ replay, durationMs: deps.now() - start });
253
354
  }
355
+ // Emit the consolidated run artifact (Runs tab) + best-effort cloud push. Never blocks the verdict.
356
+ await persistAndSyncVerificationRun(deps, timed, projectId);
254
357
  return buildSuiteVerdict(runs);
255
358
  },
256
359
  },
@@ -302,7 +405,7 @@ export const FLOW_TOOLS = [
302
405
  return { error: flowErrorMessage(res.code), code: res.code };
303
406
  // If logged into Reticle Cloud, mirror the saved flow to the team's regression suite. Best-effort
304
407
  // and non-blocking: the flow is already on disk, so a sync failure never fails the save.
305
- void syncSavedFlowToCloud(flow, session.projectId);
408
+ void syncSavedFlowToCloud(deps, flow, session.projectId);
306
409
  // Return the SaveSummary as-is ({ name, stepCount, degraded, empty }) — the outputSchema
307
410
  // declares `name`, so the old `flowName` key was silently stripped by schema-strict clients.
308
411
  return res.value;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-tools.js","sourceRoot":"","sources":["../../src/flows/flow-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-tools.js","sourceRoot":"","sources":["../../src/flows/flow-tools.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { FlowErrorCode } from '@reticlehq/core';
2
2
  import type { FlowExpect, FlowFile, FlowStep, HealChange } from '@reticlehq/core';
3
3
  import type { CompiledProgram, RecordedStep } from './recordings.js';
4
4
  import type { FileSystemPort } from '../project/fs-port.js';
5
- /** A monotonic clock injected for createdAt — never call Date.now() inside the store (rule 7). */
5
+ /** A monotonic clock injected for createdAt — never call Date.now inside the store (rule 7). */
6
6
  export interface Clock {
7
7
  now(): number;
8
8
  }
@@ -52,14 +52,14 @@ export declare class FlowStore {
52
52
  /**
53
53
  * Persist an already-anchored FlowFile captured in-page (no recompilation). The
54
54
  * browser resolved every semantic anchor at capture time; here we only validate the name +
55
- * re-run FlowFileSchema before writing. save() is left untouched.
55
+ * re-run FlowFileSchema before writing. save is left untouched.
56
56
  */
57
57
  saveFlow(flow: FlowFile, projectId?: string): Promise<FlowResult<SaveSummary>>;
58
58
  /**
59
59
  * Apply confident testid rebinds to an on-disk flow (the reticle_flow_heal
60
60
  * apply path). Loads + validates the flow (so it gets NOT_FOUND / PARSE_FAILED for free), then
61
61
  * rewrites ONLY the named steps' testid anchors — preserving createdAt + every other field — and
62
- * re-serializes byte-stably via the same #serialize() that save() uses. The name guard runs
62
+ * re-serializes byte-stably via the same #serialize that save uses. The name guard runs
63
63
  * FIRST, before any path is joined, so a traversal name never reaches the disk.
64
64
  *
65
65
  * This writer is PURE of the confidence policy: it trusts the changes it is handed (the tool only
@@ -75,6 +75,11 @@ export declare class FlowStore {
75
75
  * flows PLUS legacy flat (untagged/global) ones. Without one (CLI/CI/contract callers): EVERY flow
76
76
  * in the store — flat plus every per-project subdir — so a repo-wide replay/audit misses nothing.
77
77
  */
78
+ /**
79
+ * All flow names on disk, INCLUDING any that fail the path-segment guard — an invalid name must reach
80
+ * the caller as a reportable error, never be silently filtered away. Callers that build a path from a
81
+ * name must validate first; `flowPath` takes a branded FlowName precisely so the compiler insists.
82
+ */
78
83
  list(projectId?: string): Promise<string[]>;
79
84
  /**
80
85
  * Read + zod-validate a flow by name. With a `projectId`, prefers the per-project copy and falls
@@ -83,7 +88,7 @@ export declare class FlowStore {
83
88
  load(name: string, projectId?: string): Promise<FlowResult<FlowFile>>;
84
89
  /**
85
90
  * Delete a flow's file so a renamed/obsolete flow stops lingering in the replay list. Resolves the
86
- * same path `load()` would (per-project copy, else legacy flat, else a subdir scan for the no-pid
91
+ * same path `load` would (per-project copy, else legacy flat, else a subdir scan for the no-pid
87
92
  * caller), then removes it. NOT_FOUND when nothing resolves — deleting an absent flow is an error,
88
93
  * not a silent no-op, so a typo doesn't read as success.
89
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/flows/flows.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAGV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,kGAAkG;AAClG,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAwExF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAkBnE;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,8FAA8F;AAC9F,qBAAa,SAAS;;gBAKR,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAe1D;;;;OAIG;IACG,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,eAAe,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IA4BnC;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAuBpF;;;;;;;;;;OAUG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IA8B/D;;;;OAIG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsDjD;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IA0B3E;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;CAO1E"}
1
+ {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/flows/flows.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAGV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,gGAAgG;AAChG,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAmFxF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAkBnE;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,8FAA8F;AAC9F,qBAAa,SAAS;;gBAKR,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAe1D;;;;OAIG;IACG,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,eAAe,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IA4BnC;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IA0BpF;;;;;;;;;;OAUG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IA8B/D;;;;OAIG;IACH;;;;OAIG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsDjD;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IA0B3E;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;CAO1E"}
@@ -1,3 +1,4 @@
1
+ import { asFlowName } from '@reticlehq/core';
1
2
  import { AnchorKind, DEGRADED_ANCHOR_ROLE, FLOW_FILE_VERSION, FlowErrorCode, FlowFileSchema, QueryBy, } from '@reticlehq/core';
2
3
  import { ReticleTool } from '../tools/tool-names.js';
3
4
  import { asString, asRecord } from '../tools/tools-helpers.js';
@@ -22,26 +23,30 @@ function degradedAnchor() {
22
23
  * null when neither is present (caller falls back to degraded). The on-disk anchor carries the
23
24
  * component name + source location — re-resolvable by `reticle_query by:'component'` at replay.
24
25
  */
26
+ /** The `source` location carried on a normalized step's args, or undefined if absent/malformed. */
27
+ function sourceArg(src) {
28
+ const source = asRecord(src['source']);
29
+ const file = source['file'];
30
+ const line = source['line'];
31
+ if (typeof file !== 'string' || file.length === 0 || typeof line !== 'number')
32
+ return undefined;
33
+ const out = { file, line };
34
+ if (typeof source['column'] === 'number')
35
+ out.column = source['column'];
36
+ return out;
37
+ }
25
38
  function componentAnchor(src) {
26
39
  const component = asString(src['component']);
27
- const source = asRecord(src['source']);
28
- const hasSource = typeof source['file'] === 'string' && typeof source['line'] === 'number';
29
- if (component === undefined && !hasSource)
40
+ const source = sourceArg(src);
41
+ if (component === undefined && source === undefined)
30
42
  return null;
31
43
  const anchor = {
32
44
  kind: AnchorKind.COMPONENT,
33
45
  };
34
46
  if (component !== undefined)
35
47
  anchor.component = component;
36
- if (hasSource) {
37
- const out = {
38
- file: source['file'],
39
- line: source['line'],
40
- };
41
- if (typeof source['column'] === 'number')
42
- out.column = source['column'];
43
- anchor.source = out;
44
- }
48
+ if (source !== undefined)
49
+ anchor.source = source;
45
50
  return anchor;
46
51
  }
47
52
  /** Pick the on-disk anchor for a normalized step: testid > component(auto) > degraded role. */
@@ -49,7 +54,14 @@ function anchorForStep(args) {
49
54
  const by = asString(args['by']);
50
55
  const value = asString(args['value']);
51
56
  if (by === QueryBy.TESTID && value !== undefined) {
52
- return { anchor: { kind: AnchorKind.TESTID, value }, degraded: false };
57
+ const anchor = {
58
+ kind: AnchorKind.TESTID,
59
+ value,
60
+ };
61
+ const source = sourceArg(args);
62
+ if (source !== undefined)
63
+ anchor.source = source;
64
+ return { anchor, degraded: false };
53
65
  }
54
66
  if (by === QueryBy.COMPONENT) {
55
67
  const anchor = componentAnchor(args);
@@ -131,8 +143,8 @@ export class FlowStore {
131
143
  this.#clock = clock;
132
144
  }
133
145
  /**
134
- * The single byte-stable flow serializer: 2-space indent + one trailing newline. save(),
135
- * saveFlow() and heal() all route through it so an unchanged flow that round-trips through any
146
+ * The single byte-stable flow serializer: 2-space indent + one trailing newline. save,
147
+ * saveFlow and heal all route through it so an unchanged flow that round-trips through any
136
148
  * of them produces byte-identical on-disk content (locked by the byte-stability tests).
137
149
  */
138
150
  #serialize(flow) {
@@ -173,7 +185,7 @@ export class FlowStore {
173
185
  /**
174
186
  * Persist an already-anchored FlowFile captured in-page (no recompilation). The
175
187
  * browser resolved every semantic anchor at capture time; here we only validate the name +
176
- * re-run FlowFileSchema before writing. save() is left untouched.
188
+ * re-run FlowFileSchema before writing. save is left untouched.
177
189
  */
178
190
  async saveFlow(flow, projectId) {
179
191
  if (!isValidFlowName(flow.name))
@@ -187,7 +199,7 @@ export class FlowStore {
187
199
  return { ok: false, code: FlowErrorCode.PARSE_FAILED };
188
200
  const valid = parsed.data;
189
201
  await this.#fs.mkdir(flowDir(this.#root, pid));
190
- await this.#fs.writeFile(flowPath(this.#root, valid.name, pid), this.#serialize(valid));
202
+ await this.#fs.writeFile(flowPath(this.#root, asFlowName(valid.name), pid), this.#serialize(valid));
191
203
  const degraded = valid.steps.filter((s) => s.degraded === true).length;
192
204
  return {
193
205
  ok: true,
@@ -203,7 +215,7 @@ export class FlowStore {
203
215
  * Apply confident testid rebinds to an on-disk flow (the reticle_flow_heal
204
216
  * apply path). Loads + validates the flow (so it gets NOT_FOUND / PARSE_FAILED for free), then
205
217
  * rewrites ONLY the named steps' testid anchors — preserving createdAt + every other field — and
206
- * re-serializes byte-stably via the same #serialize() that save() uses. The name guard runs
218
+ * re-serializes byte-stably via the same #serialize that save uses. The name guard runs
207
219
  * FIRST, before any path is joined, so a traversal name never reaches the disk.
208
220
  *
209
221
  * This writer is PURE of the confidence policy: it trusts the changes it is handed (the tool only
@@ -247,6 +259,11 @@ export class FlowStore {
247
259
  * flows PLUS legacy flat (untagged/global) ones. Without one (CLI/CI/contract callers): EVERY flow
248
260
  * in the store — flat plus every per-project subdir — so a repo-wide replay/audit misses nothing.
249
261
  */
262
+ /**
263
+ * All flow names on disk, INCLUDING any that fail the path-segment guard — an invalid name must reach
264
+ * the caller as a reportable error, never be silently filtered away. Callers that build a path from a
265
+ * name must validate first; `flowPath` takes a branded FlowName precisely so the compiler insists.
266
+ */
250
267
  async list(projectId) {
251
268
  const flowsDir = reticleDirPaths(this.#root).flows;
252
269
  const pid = safeProjectId(projectId);
@@ -278,14 +295,14 @@ export class FlowStore {
278
295
  const flat = flowPath(this.#root, name);
279
296
  if (await this.#fs.exists(flat))
280
297
  return flat;
281
- // No projectId (CLI/CI/contract callers, e.g. reticle_domain): mirror list()'s subdir union on
298
+ // No projectId (CLI/CI/contract callers, e.g. reticle_domain): mirror list's subdir union on
282
299
  // the read side too — a flow saved under .reticle/flows/<projectId>/ must still load, else it is
283
300
  // listed and then silently dropped by `if (loaded.ok)` (reticle_domain reports flowCount:0).
284
301
  if (pid === undefined)
285
302
  return this.#resolveNestedPath(name);
286
303
  return null;
287
304
  }
288
- /** Scan the per-project subdirs for a flow by name — the read-side of list()'s no-pid union. */
305
+ /** Scan the per-project subdirs for a flow by name — the read-side of list's no-pid union. */
289
306
  async #resolveNestedPath(name) {
290
307
  const flowsDir = reticleDirPaths(this.#root).flows;
291
308
  if (!(await this.#fs.exists(flowsDir)))
@@ -338,7 +355,7 @@ export class FlowStore {
338
355
  }
339
356
  /**
340
357
  * Delete a flow's file so a renamed/obsolete flow stops lingering in the replay list. Resolves the
341
- * same path `load()` would (per-project copy, else legacy flat, else a subdir scan for the no-pid
358
+ * same path `load` would (per-project copy, else legacy flat, else a subdir scan for the no-pid
342
359
  * caller), then removes it. NOT_FOUND when nothing resolves — deleting an absent flow is an error,
343
360
  * not a silent no-op, so a typo doesn't read as success.
344
361
  */
@@ -1 +1 @@
1
- {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/flows/flows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/flows/flows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The completion gate — exits non-zero unless passing artifacts cover the flows affected by the changed
3
+ * files. This is what makes verification unavoidable: an agent that edits a covered file cannot "finish"
4
+ * without re-verifying. Flaky flows are quarantined — surfaced, never gate-blocking — because one
5
+ * unexplained flake that blocks a merge destroys trust in the red. Pure decision; the CLI computes the
6
+ * inputs (git diff → affected → run artifacts + flake ledger) and maps `pass` to the exit code.
7
+ */
8
+ /** A flow whose assertions were WEAKENED since its last passing run. */
9
+ export interface DowngradedFlow {
10
+ flow: string;
11
+ /** Step indices whose mustHold dropped from a consequence to presence-only. */
12
+ steps: number[];
13
+ }
14
+ export interface GateInput {
15
+ /** Flows that must be covered (from the affected index over the changed files). */
16
+ affected: readonly string[];
17
+ /** Flows that have a passing verification artifact. */
18
+ passing: readonly string[];
19
+ /** Flows currently quarantined as flaky — excluded from blocking. */
20
+ flaky?: readonly string[];
21
+ /** Flows whose assertion tier was downgraded since the last passing run (anti-reward-hacking). */
22
+ downgraded?: readonly DowngradedFlow[];
23
+ /** Flows that covered a changed file but no longer exist — coverage deleted rather than satisfied. */
24
+ deleted?: readonly string[];
25
+ }
26
+ export interface GateResult {
27
+ /** True when every affected, non-flaky flow has a passing artifact AND nothing was weakened/deleted. */
28
+ pass: boolean;
29
+ /** Affected flows with no passing artifact and not flaky — these block the gate. */
30
+ uncovered: string[];
31
+ /** Affected flows excluded only because they are quarantined flaky — surfaced, not blocking. */
32
+ quarantined: string[];
33
+ /** Assertion-tier downgrades — BLOCKING: a green bought by weakening the test is the gaming vector. */
34
+ downgraded: DowngradedFlow[];
35
+ /** Deleted flows that covered changed files — BLOCKING for the same reason. */
36
+ deleted: string[];
37
+ }
38
+ export declare function gateDecision(input: GateInput): GateResult;
39
+ //# sourceMappingURL=gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/flows/gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,mFAAmF;IACnF,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,uDAAuD;IACvD,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,qEAAqE;IACrE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,kGAAkG;IAClG,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACvC,sGAAsG;IACtG,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,wGAAwG;IACxG,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gGAAgG;IAChG,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAsBzD"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The completion gate — exits non-zero unless passing artifacts cover the flows affected by the changed
3
+ * files. This is what makes verification unavoidable: an agent that edits a covered file cannot "finish"
4
+ * without re-verifying. Flaky flows are quarantined — surfaced, never gate-blocking — because one
5
+ * unexplained flake that blocks a merge destroys trust in the red. Pure decision; the CLI computes the
6
+ * inputs (git diff → affected → run artifacts + flake ledger) and maps `pass` to the exit code.
7
+ */
8
+ export function gateDecision(input) {
9
+ const passing = new Set(input.passing);
10
+ const flaky = new Set(input.flaky ?? []);
11
+ const uncovered = [];
12
+ const quarantined = [];
13
+ for (const flow of input.affected) {
14
+ if (passing.has(flow))
15
+ continue;
16
+ if (flaky.has(flow))
17
+ quarantined.push(flow);
18
+ else
19
+ uncovered.push(flow);
20
+ }
21
+ // Downgrades and deleted coverage BLOCK. Flakiness is quarantined because a flake is not the agent's
22
+ // doing; a weakened or deleted assertion is — surfacing it without blocking would leave the gate
23
+ // trivially gameable, which is the exact failure exists to prevent.
24
+ const downgraded = [...(input.downgraded ?? [])];
25
+ const deleted = [...(input.deleted ?? [])];
26
+ return {
27
+ pass: uncovered.length === 0 && downgraded.length === 0 && deleted.length === 0,
28
+ uncovered,
29
+ quarantined,
30
+ downgraded,
31
+ deleted,
32
+ };
33
+ }
34
+ //# sourceMappingURL=gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/flows/gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmCH,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACvC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,qGAAqG;IACrG,iGAAiG;IACjG,oEAAoE;IACpE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAC/E,SAAS;QACT,WAAW;QACX,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** Parse `git diff --name-only` output into a clean file list. Pure; exported for testing. */
2
+ export declare function parseGitFiles(output: string): string[];
3
+ /**
4
+ * Files changed since a git ref (`git diff --name-only <ref>`), so `reticle gate --since main` works from
5
+ * the real diff instead of hand-listed files. Returns [] on any git failure (not a repo, bad ref) rather
6
+ * than throwing — the caller degrades to "no changes" and the gate simply passes, never crashes CI.
7
+ */
8
+ export declare function changedFilesSince(ref: string, cwd: string): Promise<string[]>;
9
+ //# sourceMappingURL=git-changed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-changed.d.ts","sourceRoot":"","sources":["../../src/flows/git-changed.ts"],"names":[],"mappings":"AAKA,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnF"}