@reticlehq/server 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/README.md +1 -1
  2. package/dist/bridge-security.d.ts +0 -1
  3. package/dist/bridge-security.js +0 -1
  4. package/dist/bridge.d.ts +0 -1
  5. package/dist/bridge.js +60 -10
  6. package/dist/bridge.test-harness.d.ts +0 -1
  7. package/dist/bridge.test-harness.js +0 -1
  8. package/dist/capsule/capsule-store.d.ts +2 -3
  9. package/dist/capsule/capsule-store.js +0 -1
  10. package/dist/capsule/capsule.d.ts +0 -1
  11. package/dist/capsule/capsule.js +0 -1
  12. package/dist/capsule/causal-summary.d.ts +21 -1
  13. package/dist/capsule/causal-summary.js +20 -2
  14. package/dist/capsule/divergence.d.ts +0 -1
  15. package/dist/capsule/divergence.js +0 -1
  16. package/dist/capsule/minimize.d.ts +0 -1
  17. package/dist/capsule/minimize.js +0 -1
  18. package/dist/capsule/predicate-to-links.d.ts +0 -1
  19. package/dist/capsule/predicate-to-links.js +0 -1
  20. package/dist/cli-doctor.d.ts +6 -0
  21. package/dist/cli-doctor.js +60 -0
  22. package/dist/cli-flow-commands.d.ts +0 -1
  23. package/dist/cli-flow-commands.js +0 -1
  24. package/dist/cli-launch.d.ts +0 -1
  25. package/dist/cli-launch.js +7 -3
  26. package/dist/cli-parse.d.ts +52 -2
  27. package/dist/cli-parse.js +147 -3
  28. package/dist/cli-port.d.ts +0 -1
  29. package/dist/cli-port.js +0 -1
  30. package/dist/cli-verify.d.ts +2 -1
  31. package/dist/cli-verify.js +24 -3
  32. package/dist/cli.d.ts +2 -4
  33. package/dist/cli.js +109 -10
  34. package/dist/cloud/cloud-config.d.ts +36 -0
  35. package/dist/cloud/cloud-config.js +86 -0
  36. package/dist/cloud/cloud-sync.d.ts +96 -4
  37. package/dist/cloud/cloud-sync.js +131 -3
  38. package/dist/cloud-cli.d.ts +3 -0
  39. package/dist/cloud-cli.js +514 -0
  40. package/dist/crawl/crawl-tools.d.ts +0 -1
  41. package/dist/crawl/crawl-tools.js +1 -2
  42. package/dist/crawl/crawl.d.ts +17 -3
  43. package/dist/crawl/crawl.js +43 -4
  44. package/dist/daemon-resilience.d.ts +6 -1
  45. package/dist/daemon-resilience.js +63 -1
  46. package/dist/daemon.d.ts +23 -3
  47. package/dist/daemon.js +78 -21
  48. package/dist/domain/domain-model.d.ts +0 -1
  49. package/dist/domain/domain-model.js +1 -2
  50. package/dist/domain/domain-tools.d.ts +0 -7
  51. package/dist/domain/domain-tools.js +21 -4
  52. package/dist/domain/flow-risk.d.ts +0 -1
  53. package/dist/domain/flow-risk.js +0 -1
  54. package/dist/ee/audit-log.d.ts +0 -1
  55. package/dist/ee/audit-log.js +0 -1
  56. package/dist/events/body-failures.d.ts +4 -0
  57. package/dist/events/body-failures.js +113 -0
  58. package/dist/events/contradictions.d.ts +53 -0
  59. package/dist/events/contradictions.js +282 -0
  60. package/dist/events/echo-mismatch.d.ts +4 -0
  61. package/dist/events/echo-mismatch.js +138 -0
  62. package/dist/events/event-filters.d.ts +17 -3
  63. package/dist/events/event-filters.js +13 -3
  64. package/dist/events/json-salvage.d.ts +32 -0
  65. package/dist/events/json-salvage.js +96 -0
  66. package/dist/events/predicate-eval.d.ts +2 -1
  67. package/dist/events/predicate-eval.js +56 -9
  68. package/dist/events/predicate.d.ts +0 -1
  69. package/dist/events/predicate.js +56 -2
  70. package/dist/events/reaction.d.ts +0 -1
  71. package/dist/events/reaction.js +0 -1
  72. package/dist/events/reconcile.d.ts +39 -0
  73. package/dist/events/reconcile.js +211 -0
  74. package/dist/events/ring-buffer.d.ts +0 -1
  75. package/dist/events/ring-buffer.js +0 -1
  76. package/dist/events/stale-response.d.ts +4 -0
  77. package/dist/events/stale-response.js +139 -0
  78. package/dist/events/unit-mismatch.d.ts +16 -0
  79. package/dist/events/unit-mismatch.js +167 -0
  80. package/dist/flows/affected-tools.d.ts +18 -0
  81. package/dist/flows/affected-tools.js +52 -0
  82. package/dist/flows/affected.d.ts +0 -1
  83. package/dist/flows/affected.js +0 -1
  84. package/dist/flows/annotate-tools.d.ts +0 -1
  85. package/dist/flows/annotate-tools.js +21 -3
  86. package/dist/flows/annotate.d.ts +0 -1
  87. package/dist/flows/annotate.js +0 -1
  88. package/dist/flows/annotation-store.d.ts +0 -1
  89. package/dist/flows/annotation-store.js +0 -1
  90. package/dist/flows/assertion-integrity.d.ts +0 -1
  91. package/dist/flows/assertion-integrity.js +0 -1
  92. package/dist/flows/assertion-tiers-store.d.ts +0 -1
  93. package/dist/flows/assertion-tiers-store.js +0 -1
  94. package/dist/flows/buddy-status.d.ts +0 -1
  95. package/dist/flows/buddy-status.js +0 -1
  96. package/dist/flows/coverage.d.ts +0 -1
  97. package/dist/flows/coverage.js +0 -1
  98. package/dist/flows/decision.d.ts +0 -1
  99. package/dist/flows/decision.js +0 -1
  100. package/dist/flows/flake-store.d.ts +0 -1
  101. package/dist/flows/flake-store.js +0 -1
  102. package/dist/flows/flake.d.ts +0 -1
  103. package/dist/flows/flake.js +0 -1
  104. package/dist/flows/flow-classify.d.ts +0 -1
  105. package/dist/flows/flow-classify.js +0 -1
  106. package/dist/flows/flow-replay-run.d.ts +0 -1
  107. package/dist/flows/flow-replay-run.js +24 -8
  108. package/dist/flows/flow-replay.d.ts +20 -4
  109. package/dist/flows/flow-replay.js +9 -43
  110. package/dist/flows/flow-report.d.ts +0 -1
  111. package/dist/flows/flow-report.js +0 -1
  112. package/dist/flows/flow-scope.d.ts +0 -1
  113. package/dist/flows/flow-scope.js +0 -1
  114. package/dist/flows/flow-sources.d.ts +0 -1
  115. package/dist/flows/flow-sources.js +0 -1
  116. package/dist/flows/flow-step-runners.d.ts +23 -0
  117. package/dist/flows/flow-step-runners.js +102 -0
  118. package/dist/flows/flow-success.d.ts +0 -1
  119. package/dist/flows/flow-success.js +0 -1
  120. package/dist/flows/flow-tools.d.ts +0 -1
  121. package/dist/flows/flow-tools.js +54 -16
  122. package/dist/flows/flows.d.ts +6 -2
  123. package/dist/flows/flows.js +15 -2
  124. package/dist/flows/gate.d.ts +0 -1
  125. package/dist/flows/gate.js +0 -1
  126. package/dist/flows/git-changed.d.ts +0 -1
  127. package/dist/flows/git-changed.js +0 -1
  128. package/dist/flows/heal-run.d.ts +0 -1
  129. package/dist/flows/heal-run.js +0 -1
  130. package/dist/flows/heal.d.ts +0 -1
  131. package/dist/flows/heal.js +0 -1
  132. package/dist/flows/parallel-suite.d.ts +0 -1
  133. package/dist/flows/parallel-suite.js +0 -1
  134. package/dist/flows/recordings.d.ts +0 -1
  135. package/dist/flows/recordings.js +0 -1
  136. package/dist/flows/replay.d.ts +0 -1
  137. package/dist/flows/replay.js +71 -4
  138. package/dist/flows/server-verify.d.ts +15 -0
  139. package/dist/flows/server-verify.js +42 -0
  140. package/dist/flows/verify-change-tools.d.ts +2 -0
  141. package/dist/flows/verify-change-tools.js +187 -0
  142. package/dist/flows/watch-batcher.d.ts +0 -1
  143. package/dist/flows/watch-batcher.js +0 -1
  144. package/dist/honesty/accepted-write.d.ts +14 -0
  145. package/dist/honesty/accepted-write.js +17 -0
  146. package/dist/honesty/blind-spots.d.ts +18 -1
  147. package/dist/honesty/blind-spots.js +47 -5
  148. package/dist/honesty/honesty.d.ts +0 -1
  149. package/dist/honesty/honesty.js +0 -1
  150. package/dist/honesty/uncaptured-bodies.d.ts +19 -0
  151. package/dist/honesty/uncaptured-bodies.js +30 -0
  152. package/dist/honesty/unread-outcome.d.ts +2 -0
  153. package/dist/honesty/unread-outcome.js +50 -0
  154. package/dist/honesty/verified.d.ts +40 -0
  155. package/dist/honesty/verified.js +86 -0
  156. package/dist/http-server.d.ts +0 -1
  157. package/dist/http-server.js +5 -1
  158. package/dist/hunt/hunt-report.d.ts +50 -0
  159. package/dist/hunt/hunt-report.js +84 -0
  160. package/dist/idle-shutdown.d.ts +0 -1
  161. package/dist/idle-shutdown.js +0 -1
  162. package/dist/index.d.ts +0 -1
  163. package/dist/index.js +0 -1
  164. package/dist/init/agent-rules.d.ts +0 -1
  165. package/dist/init/agent-rules.js +4 -2
  166. package/dist/init/cursor.d.ts +0 -1
  167. package/dist/init/cursor.js +0 -1
  168. package/dist/init/desktop-doctor.d.ts +40 -0
  169. package/dist/init/desktop-doctor.js +198 -0
  170. package/dist/init/detect.d.ts +0 -1
  171. package/dist/init/detect.js +0 -1
  172. package/dist/init/mcp.d.ts +0 -1
  173. package/dist/init/mcp.js +0 -1
  174. package/dist/init/node-io.d.ts +0 -1
  175. package/dist/init/node-io.js +0 -1
  176. package/dist/init/plan.d.ts +4 -1
  177. package/dist/init/plan.js +23 -5
  178. package/dist/init/project-id.d.ts +0 -1
  179. package/dist/init/project-id.js +0 -1
  180. package/dist/init/run.d.ts +0 -1
  181. package/dist/init/run.js +31 -3
  182. package/dist/init/snippets.d.ts +5 -1
  183. package/dist/init/snippets.js +5 -1
  184. package/dist/init/vite-config.d.ts +0 -1
  185. package/dist/init/vite-config.js +0 -1
  186. package/dist/input/network-detail.d.ts +0 -1
  187. package/dist/input/network-detail.js +0 -1
  188. package/dist/input/network-mock-tools.d.ts +0 -1
  189. package/dist/input/network-mock-tools.js +3 -4
  190. package/dist/input/network-mock.d.ts +0 -1
  191. package/dist/input/network-mock.js +0 -1
  192. package/dist/input/real-input.d.ts +14 -1
  193. package/dist/input/real-input.js +45 -3
  194. package/dist/input/scroll-find.d.ts +0 -1
  195. package/dist/input/scroll-find.js +0 -1
  196. package/dist/input/scroll-tools.d.ts +0 -1
  197. package/dist/input/scroll-tools.js +0 -1
  198. package/dist/input/viewport-tools.d.ts +0 -1
  199. package/dist/input/viewport-tools.js +3 -4
  200. package/dist/journal/ambient-store.d.ts +0 -1
  201. package/dist/journal/ambient-store.js +0 -1
  202. package/dist/journal/ambient.d.ts +0 -1
  203. package/dist/journal/ambient.js +0 -1
  204. package/dist/journal/attach-journal.d.ts +0 -1
  205. package/dist/journal/attach-journal.js +0 -1
  206. package/dist/journal/deviation-report.d.ts +0 -1
  207. package/dist/journal/deviation-report.js +0 -1
  208. package/dist/journal/deviation-service.d.ts +0 -1
  209. package/dist/journal/deviation-service.js +0 -1
  210. package/dist/journal/envelope-store.d.ts +0 -1
  211. package/dist/journal/envelope-store.js +0 -1
  212. package/dist/journal/envelope.d.ts +8 -9
  213. package/dist/journal/envelope.js +0 -1
  214. package/dist/journal/journal-query.d.ts +0 -1
  215. package/dist/journal/journal-query.js +0 -1
  216. package/dist/journal/journal-recorder.d.ts +0 -1
  217. package/dist/journal/journal-recorder.js +0 -1
  218. package/dist/journal/retention.d.ts +0 -1
  219. package/dist/journal/retention.js +0 -1
  220. package/dist/journal/rollups.d.ts +0 -1
  221. package/dist/journal/rollups.js +0 -1
  222. package/dist/journal/session-end.d.ts +0 -1
  223. package/dist/journal/session-end.js +0 -1
  224. package/dist/journal/session-journal.d.ts +0 -1
  225. package/dist/journal/session-journal.js +0 -1
  226. package/dist/license/license.d.ts +0 -1
  227. package/dist/license/license.js +0 -1
  228. package/dist/log.d.ts +0 -1
  229. package/dist/log.js +0 -1
  230. package/dist/mcp-proxy.d.ts +0 -1
  231. package/dist/mcp-proxy.js +0 -1
  232. package/dist/mcp.d.ts +15 -1
  233. package/dist/mcp.js +145 -17
  234. package/dist/oracles/flow-instrument-gaps.d.ts +0 -1
  235. package/dist/oracles/flow-instrument-gaps.js +0 -1
  236. package/dist/oracles/propose-consequences.d.ts +0 -1
  237. package/dist/oracles/propose-consequences.js +0 -1
  238. package/dist/oracles/self-instrument.d.ts +0 -1
  239. package/dist/oracles/self-instrument.js +0 -1
  240. package/dist/pairing-token.d.ts +0 -1
  241. package/dist/pairing-token.js +0 -1
  242. package/dist/phenomena/phenomena.d.ts +0 -1
  243. package/dist/phenomena/phenomena.js +0 -1
  244. package/dist/pool/browser-pool.d.ts +0 -1
  245. package/dist/pool/browser-pool.js +0 -1
  246. package/dist/pool/lease-reaper.d.ts +0 -1
  247. package/dist/pool/lease-reaper.js +0 -1
  248. package/dist/pool/playwright-launcher.d.ts +2 -1
  249. package/dist/pool/playwright-launcher.js +22 -2
  250. package/dist/project/baselines.d.ts +0 -1
  251. package/dist/project/baselines.js +5 -4
  252. package/dist/project/file-lock.d.ts +2 -1
  253. package/dist/project/file-lock.js +12 -2
  254. package/dist/project/fs-port.d.ts +0 -1
  255. package/dist/project/fs-port.js +0 -1
  256. package/dist/project/project-store.d.ts +0 -1
  257. package/dist/project/project-store.js +20 -9
  258. package/dist/project/project-tools.d.ts +0 -1
  259. package/dist/project/project-tools.js +57 -9
  260. package/dist/project/reticle-dir.d.ts +0 -1
  261. package/dist/project/reticle-dir.js +0 -1
  262. package/dist/runs/build-verification-run.d.ts +0 -1
  263. package/dist/runs/build-verification-run.js +0 -1
  264. package/dist/runs/profile-redact.d.ts +0 -1
  265. package/dist/runs/profile-redact.js +0 -1
  266. package/dist/runs/render-report.d.ts +0 -1
  267. package/dist/runs/render-report.js +0 -1
  268. package/dist/runs/repair-prompt.d.ts +0 -1
  269. package/dist/runs/repair-prompt.js +0 -1
  270. package/dist/runs/replay-mapping.d.ts +0 -1
  271. package/dist/runs/replay-mapping.js +0 -1
  272. package/dist/runs/reticle-runner.d.ts +0 -1
  273. package/dist/runs/reticle-runner.js +4 -2
  274. package/dist/runs/risk-classify.d.ts +0 -1
  275. package/dist/runs/risk-classify.js +0 -1
  276. package/dist/runs/run-diff.d.ts +0 -1
  277. package/dist/runs/run-diff.js +0 -1
  278. package/dist/runs/run-store.d.ts +0 -1
  279. package/dist/runs/run-store.js +0 -1
  280. package/dist/runs/run-tools.d.ts +0 -1
  281. package/dist/runs/run-tools.js +0 -1
  282. package/dist/runs/runner-port.d.ts +0 -1
  283. package/dist/runs/runner-port.js +0 -1
  284. package/dist/runs/verification-sync.d.ts +23 -0
  285. package/dist/runs/verification-sync.js +66 -0
  286. package/dist/runs/verify-http.d.ts +0 -1
  287. package/dist/runs/verify-http.js +0 -1
  288. package/dist/runs/verify-server.d.ts +0 -1
  289. package/dist/runs/verify-server.js +0 -1
  290. package/dist/server-version.d.ts +0 -1
  291. package/dist/server-version.js +0 -1
  292. package/dist/session/command-timeout.d.ts +35 -0
  293. package/dist/session/command-timeout.js +41 -0
  294. package/dist/session/control-envelope.d.ts +2 -3
  295. package/dist/session/control-envelope.js +2 -3
  296. package/dist/session/last-act.d.ts +31 -0
  297. package/dist/session/last-act.js +24 -0
  298. package/dist/session/live-control-tools.d.ts +0 -1
  299. package/dist/session/live-control-tools.js +3 -4
  300. package/dist/session/live-control.d.ts +0 -1
  301. package/dist/session/live-control.js +0 -1
  302. package/dist/session/observed-state.d.ts +12 -2
  303. package/dist/session/observed-state.js +29 -2
  304. package/dist/session/output-budget.d.ts +0 -1
  305. package/dist/session/output-budget.js +0 -1
  306. package/dist/session/pending-commands.d.ts +12 -0
  307. package/dist/session/pending-commands.js +36 -0
  308. package/dist/session/presenter-args.d.ts +0 -1
  309. package/dist/session/presenter-args.js +0 -1
  310. package/dist/session/review-store.d.ts +0 -1
  311. package/dist/session/review-store.js +0 -1
  312. package/dist/session/session-health.d.ts +26 -2
  313. package/dist/session/session-health.js +13 -1
  314. package/dist/session/session-info.d.ts +29 -0
  315. package/dist/session/session-info.js +1 -0
  316. package/dist/session/session-lease.d.ts +25 -0
  317. package/dist/session/session-lease.js +14 -0
  318. package/dist/session/session-manager.d.ts +7 -19
  319. package/dist/session/session-manager.js +29 -2
  320. package/dist/session/session-readiness.d.ts +0 -1
  321. package/dist/session/session-readiness.js +3 -4
  322. package/dist/session/session-reaper.d.ts +0 -1
  323. package/dist/session/session-reaper.js +0 -1
  324. package/dist/session/session-recommendation.d.ts +0 -1
  325. package/dist/session/session-recommendation.js +0 -1
  326. package/dist/session/session-tools.d.ts +0 -1
  327. package/dist/session/session-tools.js +2 -3
  328. package/dist/session/session.d.ts +27 -53
  329. package/dist/session/session.js +95 -66
  330. package/dist/session/state-select.d.ts +0 -1
  331. package/dist/session/state-select.js +0 -1
  332. package/dist/telemetry/argument-shape.d.ts +41 -0
  333. package/dist/telemetry/argument-shape.js +87 -0
  334. package/dist/telemetry/bug-found.d.ts +33 -0
  335. package/dist/telemetry/bug-found.js +95 -0
  336. package/dist/telemetry/cli-telemetry.d.ts +13 -0
  337. package/dist/telemetry/cli-telemetry.js +43 -0
  338. package/dist/telemetry/connect-failure.d.ts +16 -0
  339. package/dist/telemetry/connect-failure.js +44 -0
  340. package/dist/telemetry/daemon-telemetry.d.ts +19 -0
  341. package/dist/telemetry/daemon-telemetry.js +76 -0
  342. package/dist/telemetry/dev-repo.d.ts +10 -0
  343. package/dist/telemetry/dev-repo.js +80 -0
  344. package/dist/telemetry/error-fingerprint.d.ts +24 -0
  345. package/dist/telemetry/error-fingerprint.js +88 -0
  346. package/dist/telemetry/feedback-cli.d.ts +31 -0
  347. package/dist/telemetry/feedback-cli.js +102 -0
  348. package/dist/telemetry/feedback-context.d.ts +32 -0
  349. package/dist/telemetry/feedback-context.js +143 -0
  350. package/dist/telemetry/feedback.d.ts +66 -0
  351. package/dist/telemetry/feedback.js +175 -0
  352. package/dist/telemetry/git-facts.d.ts +21 -0
  353. package/dist/telemetry/git-facts.js +109 -0
  354. package/dist/telemetry/identify.d.ts +22 -0
  355. package/dist/telemetry/identify.js +73 -0
  356. package/dist/telemetry/init-telemetry.d.ts +26 -0
  357. package/dist/telemetry/init-telemetry.js +33 -0
  358. package/dist/telemetry/machine-snapshot.d.ts +6 -0
  359. package/dist/telemetry/machine-snapshot.js +39 -0
  360. package/dist/telemetry/mcp-connection.d.ts +5 -0
  361. package/dist/telemetry/mcp-connection.js +44 -0
  362. package/dist/telemetry/project-profile.d.ts +44 -0
  363. package/dist/telemetry/project-profile.js +205 -0
  364. package/dist/telemetry/run-telemetry.d.ts +21 -0
  365. package/dist/telemetry/run-telemetry.js +62 -0
  366. package/dist/telemetry/session-metrics.d.ts +103 -0
  367. package/dist/telemetry/session-metrics.js +329 -0
  368. package/dist/telemetry/telemetry.d.ts +68 -0
  369. package/dist/telemetry/telemetry.js +313 -0
  370. package/dist/token-auth.d.ts +0 -1
  371. package/dist/token-auth.js +0 -1
  372. package/dist/tools/act-capsule.d.ts +23 -0
  373. package/dist/tools/act-capsule.js +47 -0
  374. package/dist/tools/act-danger.d.ts +7 -0
  375. package/dist/tools/act-danger.js +44 -0
  376. package/dist/tools/act-helpers.d.ts +17 -0
  377. package/dist/tools/act-helpers.js +40 -0
  378. package/dist/tools/act-tools.d.ts +8 -1
  379. package/dist/tools/act-tools.js +96 -98
  380. package/dist/tools/act-view.d.ts +7 -1
  381. package/dist/tools/act-view.js +13 -1
  382. package/dist/tools/assert-grade.d.ts +22 -1
  383. package/dist/tools/assert-grade.js +46 -1
  384. package/dist/tools/assert-verdict.d.ts +21 -0
  385. package/dist/tools/assert-verdict.js +62 -0
  386. package/dist/tools/browser-tools.d.ts +0 -1
  387. package/dist/tools/browser-tools.js +2 -2
  388. package/dist/tools/contract-tools.d.ts +0 -1
  389. package/dist/tools/contract-tools.js +0 -1
  390. package/dist/tools/coverage-tools.d.ts +9 -0
  391. package/dist/tools/coverage-tools.js +92 -0
  392. package/dist/tools/dynamic-tools.d.ts +0 -1
  393. package/dist/tools/dynamic-tools.js +21 -2
  394. package/dist/tools/error-recovery.d.ts +18 -2
  395. package/dist/tools/error-recovery.js +42 -7
  396. package/dist/tools/feedback-tools.d.ts +24 -0
  397. package/dist/tools/feedback-tools.js +180 -0
  398. package/dist/tools/invoke-tool.d.ts +0 -1
  399. package/dist/tools/invoke-tool.js +116 -2
  400. package/dist/tools/lease-tools.d.ts +0 -1
  401. package/dist/tools/lease-tools.js +6 -5
  402. package/dist/tools/merge-tools.d.ts +0 -1
  403. package/dist/tools/merge-tools.js +0 -1
  404. package/dist/tools/observe-tools.d.ts +0 -1
  405. package/dist/tools/observe-tools.js +91 -39
  406. package/dist/tools/profiles.d.ts +1 -2
  407. package/dist/tools/profiles.js +43 -16
  408. package/dist/tools/query-paginate.d.ts +0 -1
  409. package/dist/tools/query-paginate.js +0 -1
  410. package/dist/tools/read-tools.d.ts +0 -1
  411. package/dist/tools/read-tools.js +10 -8
  412. package/dist/tools/reconcile-tools.d.ts +2 -0
  413. package/dist/tools/reconcile-tools.js +111 -0
  414. package/dist/tools/snapshot-delta.d.ts +0 -1
  415. package/dist/tools/snapshot-delta.js +0 -0
  416. package/dist/tools/tool-invoker.d.ts +0 -1
  417. package/dist/tools/tool-invoker.js +0 -1
  418. package/dist/tools/tool-kit.d.ts +16 -1
  419. package/dist/tools/tool-kit.js +8 -2
  420. package/dist/tools/tool-names.d.ts +6 -1
  421. package/dist/tools/tool-names.js +6 -1
  422. package/dist/tools/tools-helpers.d.ts +0 -1
  423. package/dist/tools/tools-helpers.js +0 -1
  424. package/dist/tools/tools.d.ts +0 -1
  425. package/dist/tools/tools.js +24 -4
  426. package/dist/update/update-checker.d.ts +0 -1
  427. package/dist/update/update-checker.js +26 -2
  428. package/dist/update/update-nudge.d.ts +20 -0
  429. package/dist/update/update-nudge.js +72 -0
  430. package/dist/update/updater.d.ts +14 -1
  431. package/dist/update/updater.js +33 -2
  432. package/dist/visual/visual-diff.d.ts +0 -1
  433. package/dist/visual/visual-diff.js +0 -1
  434. package/dist/visual/visual-store.d.ts +0 -1
  435. package/dist/visual/visual-store.js +0 -1
  436. package/dist/visual/visual-tools.d.ts +0 -1
  437. package/dist/visual/visual-tools.js +103 -16
  438. package/package.json +2 -2
  439. package/dist/bridge-security.d.ts.map +0 -1
  440. package/dist/bridge-security.js.map +0 -1
  441. package/dist/bridge.d.ts.map +0 -1
  442. package/dist/bridge.js.map +0 -1
  443. package/dist/bridge.test-harness.d.ts.map +0 -1
  444. package/dist/bridge.test-harness.js.map +0 -1
  445. package/dist/capsule/capsule-store.d.ts.map +0 -1
  446. package/dist/capsule/capsule-store.js.map +0 -1
  447. package/dist/capsule/capsule.d.ts.map +0 -1
  448. package/dist/capsule/capsule.js.map +0 -1
  449. package/dist/capsule/causal-summary.d.ts.map +0 -1
  450. package/dist/capsule/causal-summary.js.map +0 -1
  451. package/dist/capsule/divergence.d.ts.map +0 -1
  452. package/dist/capsule/divergence.js.map +0 -1
  453. package/dist/capsule/minimize.d.ts.map +0 -1
  454. package/dist/capsule/minimize.js.map +0 -1
  455. package/dist/capsule/predicate-to-links.d.ts.map +0 -1
  456. package/dist/capsule/predicate-to-links.js.map +0 -1
  457. package/dist/cli-flow-commands.d.ts.map +0 -1
  458. package/dist/cli-flow-commands.js.map +0 -1
  459. package/dist/cli-launch.d.ts.map +0 -1
  460. package/dist/cli-launch.js.map +0 -1
  461. package/dist/cli-parse.d.ts.map +0 -1
  462. package/dist/cli-parse.js.map +0 -1
  463. package/dist/cli-port.d.ts.map +0 -1
  464. package/dist/cli-port.js.map +0 -1
  465. package/dist/cli-verify.d.ts.map +0 -1
  466. package/dist/cli-verify.js.map +0 -1
  467. package/dist/cli.d.ts.map +0 -1
  468. package/dist/cli.js.map +0 -1
  469. package/dist/cloud/cloud-sync.d.ts.map +0 -1
  470. package/dist/cloud/cloud-sync.js.map +0 -1
  471. package/dist/crawl/crawl-tools.d.ts.map +0 -1
  472. package/dist/crawl/crawl-tools.js.map +0 -1
  473. package/dist/crawl/crawl.d.ts.map +0 -1
  474. package/dist/crawl/crawl.js.map +0 -1
  475. package/dist/daemon-resilience.d.ts.map +0 -1
  476. package/dist/daemon-resilience.js.map +0 -1
  477. package/dist/daemon.d.ts.map +0 -1
  478. package/dist/daemon.js.map +0 -1
  479. package/dist/domain/domain-model.d.ts.map +0 -1
  480. package/dist/domain/domain-model.js.map +0 -1
  481. package/dist/domain/domain-tools.d.ts.map +0 -1
  482. package/dist/domain/domain-tools.js.map +0 -1
  483. package/dist/domain/flow-risk.d.ts.map +0 -1
  484. package/dist/domain/flow-risk.js.map +0 -1
  485. package/dist/ee/audit-log.d.ts.map +0 -1
  486. package/dist/ee/audit-log.js.map +0 -1
  487. package/dist/events/event-filters.d.ts.map +0 -1
  488. package/dist/events/event-filters.js.map +0 -1
  489. package/dist/events/predicate-eval.d.ts.map +0 -1
  490. package/dist/events/predicate-eval.js.map +0 -1
  491. package/dist/events/predicate.d.ts.map +0 -1
  492. package/dist/events/predicate.js.map +0 -1
  493. package/dist/events/reaction.d.ts.map +0 -1
  494. package/dist/events/reaction.js.map +0 -1
  495. package/dist/events/ring-buffer.d.ts.map +0 -1
  496. package/dist/events/ring-buffer.js.map +0 -1
  497. package/dist/flows/affected.d.ts.map +0 -1
  498. package/dist/flows/affected.js.map +0 -1
  499. package/dist/flows/annotate-tools.d.ts.map +0 -1
  500. package/dist/flows/annotate-tools.js.map +0 -1
  501. package/dist/flows/annotate.d.ts.map +0 -1
  502. package/dist/flows/annotate.js.map +0 -1
  503. package/dist/flows/annotation-store.d.ts.map +0 -1
  504. package/dist/flows/annotation-store.js.map +0 -1
  505. package/dist/flows/assertion-integrity.d.ts.map +0 -1
  506. package/dist/flows/assertion-integrity.js.map +0 -1
  507. package/dist/flows/assertion-tiers-store.d.ts.map +0 -1
  508. package/dist/flows/assertion-tiers-store.js.map +0 -1
  509. package/dist/flows/buddy-status.d.ts.map +0 -1
  510. package/dist/flows/buddy-status.js.map +0 -1
  511. package/dist/flows/coverage.d.ts.map +0 -1
  512. package/dist/flows/coverage.js.map +0 -1
  513. package/dist/flows/decision.d.ts.map +0 -1
  514. package/dist/flows/decision.js.map +0 -1
  515. package/dist/flows/flake-store.d.ts.map +0 -1
  516. package/dist/flows/flake-store.js.map +0 -1
  517. package/dist/flows/flake.d.ts.map +0 -1
  518. package/dist/flows/flake.js.map +0 -1
  519. package/dist/flows/flow-classify.d.ts.map +0 -1
  520. package/dist/flows/flow-classify.js.map +0 -1
  521. package/dist/flows/flow-replay-run.d.ts.map +0 -1
  522. package/dist/flows/flow-replay-run.js.map +0 -1
  523. package/dist/flows/flow-replay.d.ts.map +0 -1
  524. package/dist/flows/flow-replay.js.map +0 -1
  525. package/dist/flows/flow-report.d.ts.map +0 -1
  526. package/dist/flows/flow-report.js.map +0 -1
  527. package/dist/flows/flow-scope.d.ts.map +0 -1
  528. package/dist/flows/flow-scope.js.map +0 -1
  529. package/dist/flows/flow-sources.d.ts.map +0 -1
  530. package/dist/flows/flow-sources.js.map +0 -1
  531. package/dist/flows/flow-success.d.ts.map +0 -1
  532. package/dist/flows/flow-success.js.map +0 -1
  533. package/dist/flows/flow-tools.d.ts.map +0 -1
  534. package/dist/flows/flow-tools.js.map +0 -1
  535. package/dist/flows/flows.d.ts.map +0 -1
  536. package/dist/flows/flows.js.map +0 -1
  537. package/dist/flows/gate.d.ts.map +0 -1
  538. package/dist/flows/gate.js.map +0 -1
  539. package/dist/flows/git-changed.d.ts.map +0 -1
  540. package/dist/flows/git-changed.js.map +0 -1
  541. package/dist/flows/heal-run.d.ts.map +0 -1
  542. package/dist/flows/heal-run.js.map +0 -1
  543. package/dist/flows/heal.d.ts.map +0 -1
  544. package/dist/flows/heal.js.map +0 -1
  545. package/dist/flows/parallel-suite.d.ts.map +0 -1
  546. package/dist/flows/parallel-suite.js.map +0 -1
  547. package/dist/flows/recordings.d.ts.map +0 -1
  548. package/dist/flows/recordings.js.map +0 -1
  549. package/dist/flows/replay.d.ts.map +0 -1
  550. package/dist/flows/replay.js.map +0 -1
  551. package/dist/flows/watch-batcher.d.ts.map +0 -1
  552. package/dist/flows/watch-batcher.js.map +0 -1
  553. package/dist/honesty/blind-spots.d.ts.map +0 -1
  554. package/dist/honesty/blind-spots.js.map +0 -1
  555. package/dist/honesty/honesty.d.ts.map +0 -1
  556. package/dist/honesty/honesty.js.map +0 -1
  557. package/dist/http-server.d.ts.map +0 -1
  558. package/dist/http-server.js.map +0 -1
  559. package/dist/idle-shutdown.d.ts.map +0 -1
  560. package/dist/idle-shutdown.js.map +0 -1
  561. package/dist/index.d.ts.map +0 -1
  562. package/dist/index.js.map +0 -1
  563. package/dist/init/agent-rules.d.ts.map +0 -1
  564. package/dist/init/agent-rules.js.map +0 -1
  565. package/dist/init/cursor.d.ts.map +0 -1
  566. package/dist/init/cursor.js.map +0 -1
  567. package/dist/init/detect.d.ts.map +0 -1
  568. package/dist/init/detect.js.map +0 -1
  569. package/dist/init/mcp.d.ts.map +0 -1
  570. package/dist/init/mcp.js.map +0 -1
  571. package/dist/init/node-io.d.ts.map +0 -1
  572. package/dist/init/node-io.js.map +0 -1
  573. package/dist/init/plan.d.ts.map +0 -1
  574. package/dist/init/plan.js.map +0 -1
  575. package/dist/init/project-id.d.ts.map +0 -1
  576. package/dist/init/project-id.js.map +0 -1
  577. package/dist/init/run.d.ts.map +0 -1
  578. package/dist/init/run.js.map +0 -1
  579. package/dist/init/snippets.d.ts.map +0 -1
  580. package/dist/init/snippets.js.map +0 -1
  581. package/dist/init/vite-config.d.ts.map +0 -1
  582. package/dist/init/vite-config.js.map +0 -1
  583. package/dist/input/network-detail.d.ts.map +0 -1
  584. package/dist/input/network-detail.js.map +0 -1
  585. package/dist/input/network-mock-tools.d.ts.map +0 -1
  586. package/dist/input/network-mock-tools.js.map +0 -1
  587. package/dist/input/network-mock.d.ts.map +0 -1
  588. package/dist/input/network-mock.js.map +0 -1
  589. package/dist/input/real-input.d.ts.map +0 -1
  590. package/dist/input/real-input.js.map +0 -1
  591. package/dist/input/scroll-find.d.ts.map +0 -1
  592. package/dist/input/scroll-find.js.map +0 -1
  593. package/dist/input/scroll-tools.d.ts.map +0 -1
  594. package/dist/input/scroll-tools.js.map +0 -1
  595. package/dist/input/viewport-tools.d.ts.map +0 -1
  596. package/dist/input/viewport-tools.js.map +0 -1
  597. package/dist/journal/ambient-store.d.ts.map +0 -1
  598. package/dist/journal/ambient-store.js.map +0 -1
  599. package/dist/journal/ambient.d.ts.map +0 -1
  600. package/dist/journal/ambient.js.map +0 -1
  601. package/dist/journal/attach-journal.d.ts.map +0 -1
  602. package/dist/journal/attach-journal.js.map +0 -1
  603. package/dist/journal/deviation-report.d.ts.map +0 -1
  604. package/dist/journal/deviation-report.js.map +0 -1
  605. package/dist/journal/deviation-service.d.ts.map +0 -1
  606. package/dist/journal/deviation-service.js.map +0 -1
  607. package/dist/journal/envelope-store.d.ts.map +0 -1
  608. package/dist/journal/envelope-store.js.map +0 -1
  609. package/dist/journal/envelope.d.ts.map +0 -1
  610. package/dist/journal/envelope.js.map +0 -1
  611. package/dist/journal/journal-query.d.ts.map +0 -1
  612. package/dist/journal/journal-query.js.map +0 -1
  613. package/dist/journal/journal-recorder.d.ts.map +0 -1
  614. package/dist/journal/journal-recorder.js.map +0 -1
  615. package/dist/journal/retention.d.ts.map +0 -1
  616. package/dist/journal/retention.js.map +0 -1
  617. package/dist/journal/rollups.d.ts.map +0 -1
  618. package/dist/journal/rollups.js.map +0 -1
  619. package/dist/journal/session-end.d.ts.map +0 -1
  620. package/dist/journal/session-end.js.map +0 -1
  621. package/dist/journal/session-journal.d.ts.map +0 -1
  622. package/dist/journal/session-journal.js.map +0 -1
  623. package/dist/license/license.d.ts.map +0 -1
  624. package/dist/license/license.js.map +0 -1
  625. package/dist/log.d.ts.map +0 -1
  626. package/dist/log.js.map +0 -1
  627. package/dist/mcp-proxy.d.ts.map +0 -1
  628. package/dist/mcp-proxy.js.map +0 -1
  629. package/dist/mcp.d.ts.map +0 -1
  630. package/dist/mcp.js.map +0 -1
  631. package/dist/oracles/flow-instrument-gaps.d.ts.map +0 -1
  632. package/dist/oracles/flow-instrument-gaps.js.map +0 -1
  633. package/dist/oracles/propose-consequences.d.ts.map +0 -1
  634. package/dist/oracles/propose-consequences.js.map +0 -1
  635. package/dist/oracles/self-instrument.d.ts.map +0 -1
  636. package/dist/oracles/self-instrument.js.map +0 -1
  637. package/dist/pairing-token.d.ts.map +0 -1
  638. package/dist/pairing-token.js.map +0 -1
  639. package/dist/phenomena/phenomena.d.ts.map +0 -1
  640. package/dist/phenomena/phenomena.js.map +0 -1
  641. package/dist/pool/browser-pool.d.ts.map +0 -1
  642. package/dist/pool/browser-pool.js.map +0 -1
  643. package/dist/pool/lease-reaper.d.ts.map +0 -1
  644. package/dist/pool/lease-reaper.js.map +0 -1
  645. package/dist/pool/playwright-launcher.d.ts.map +0 -1
  646. package/dist/pool/playwright-launcher.js.map +0 -1
  647. package/dist/project/baselines.d.ts.map +0 -1
  648. package/dist/project/baselines.js.map +0 -1
  649. package/dist/project/file-lock.d.ts.map +0 -1
  650. package/dist/project/file-lock.js.map +0 -1
  651. package/dist/project/fs-port.d.ts.map +0 -1
  652. package/dist/project/fs-port.js.map +0 -1
  653. package/dist/project/project-store.d.ts.map +0 -1
  654. package/dist/project/project-store.js.map +0 -1
  655. package/dist/project/project-tools.d.ts.map +0 -1
  656. package/dist/project/project-tools.js.map +0 -1
  657. package/dist/project/reticle-dir.d.ts.map +0 -1
  658. package/dist/project/reticle-dir.js.map +0 -1
  659. package/dist/runs/build-verification-run.d.ts.map +0 -1
  660. package/dist/runs/build-verification-run.js.map +0 -1
  661. package/dist/runs/profile-redact.d.ts.map +0 -1
  662. package/dist/runs/profile-redact.js.map +0 -1
  663. package/dist/runs/render-report.d.ts.map +0 -1
  664. package/dist/runs/render-report.js.map +0 -1
  665. package/dist/runs/repair-prompt.d.ts.map +0 -1
  666. package/dist/runs/repair-prompt.js.map +0 -1
  667. package/dist/runs/replay-mapping.d.ts.map +0 -1
  668. package/dist/runs/replay-mapping.js.map +0 -1
  669. package/dist/runs/reticle-runner.d.ts.map +0 -1
  670. package/dist/runs/reticle-runner.js.map +0 -1
  671. package/dist/runs/risk-classify.d.ts.map +0 -1
  672. package/dist/runs/risk-classify.js.map +0 -1
  673. package/dist/runs/run-diff.d.ts.map +0 -1
  674. package/dist/runs/run-diff.js.map +0 -1
  675. package/dist/runs/run-store.d.ts.map +0 -1
  676. package/dist/runs/run-store.js.map +0 -1
  677. package/dist/runs/run-tools.d.ts.map +0 -1
  678. package/dist/runs/run-tools.js.map +0 -1
  679. package/dist/runs/runner-port.d.ts.map +0 -1
  680. package/dist/runs/runner-port.js.map +0 -1
  681. package/dist/runs/verify-http.d.ts.map +0 -1
  682. package/dist/runs/verify-http.js.map +0 -1
  683. package/dist/runs/verify-server.d.ts.map +0 -1
  684. package/dist/runs/verify-server.js.map +0 -1
  685. package/dist/server-version.d.ts.map +0 -1
  686. package/dist/server-version.js.map +0 -1
  687. package/dist/session/control-envelope.d.ts.map +0 -1
  688. package/dist/session/control-envelope.js.map +0 -1
  689. package/dist/session/live-control-tools.d.ts.map +0 -1
  690. package/dist/session/live-control-tools.js.map +0 -1
  691. package/dist/session/live-control.d.ts.map +0 -1
  692. package/dist/session/live-control.js.map +0 -1
  693. package/dist/session/observed-state.d.ts.map +0 -1
  694. package/dist/session/observed-state.js.map +0 -1
  695. package/dist/session/output-budget.d.ts.map +0 -1
  696. package/dist/session/output-budget.js.map +0 -1
  697. package/dist/session/presenter-args.d.ts.map +0 -1
  698. package/dist/session/presenter-args.js.map +0 -1
  699. package/dist/session/review-store.d.ts.map +0 -1
  700. package/dist/session/review-store.js.map +0 -1
  701. package/dist/session/session-health.d.ts.map +0 -1
  702. package/dist/session/session-health.js.map +0 -1
  703. package/dist/session/session-manager.d.ts.map +0 -1
  704. package/dist/session/session-manager.js.map +0 -1
  705. package/dist/session/session-readiness.d.ts.map +0 -1
  706. package/dist/session/session-readiness.js.map +0 -1
  707. package/dist/session/session-reaper.d.ts.map +0 -1
  708. package/dist/session/session-reaper.js.map +0 -1
  709. package/dist/session/session-recommendation.d.ts.map +0 -1
  710. package/dist/session/session-recommendation.js.map +0 -1
  711. package/dist/session/session-tools.d.ts.map +0 -1
  712. package/dist/session/session-tools.js.map +0 -1
  713. package/dist/session/session.d.ts.map +0 -1
  714. package/dist/session/session.js.map +0 -1
  715. package/dist/session/state-select.d.ts.map +0 -1
  716. package/dist/session/state-select.js.map +0 -1
  717. package/dist/token-auth.d.ts.map +0 -1
  718. package/dist/token-auth.js.map +0 -1
  719. package/dist/tools/act-tools.d.ts.map +0 -1
  720. package/dist/tools/act-tools.js.map +0 -1
  721. package/dist/tools/act-view.d.ts.map +0 -1
  722. package/dist/tools/act-view.js.map +0 -1
  723. package/dist/tools/assert-grade.d.ts.map +0 -1
  724. package/dist/tools/assert-grade.js.map +0 -1
  725. package/dist/tools/browser-tools.d.ts.map +0 -1
  726. package/dist/tools/browser-tools.js.map +0 -1
  727. package/dist/tools/contract-tools.d.ts.map +0 -1
  728. package/dist/tools/contract-tools.js.map +0 -1
  729. package/dist/tools/dynamic-tools.d.ts.map +0 -1
  730. package/dist/tools/dynamic-tools.js.map +0 -1
  731. package/dist/tools/error-recovery.d.ts.map +0 -1
  732. package/dist/tools/error-recovery.js.map +0 -1
  733. package/dist/tools/invoke-tool.d.ts.map +0 -1
  734. package/dist/tools/invoke-tool.js.map +0 -1
  735. package/dist/tools/lease-tools.d.ts.map +0 -1
  736. package/dist/tools/lease-tools.js.map +0 -1
  737. package/dist/tools/merge-tools.d.ts.map +0 -1
  738. package/dist/tools/merge-tools.js.map +0 -1
  739. package/dist/tools/observe-tools.d.ts.map +0 -1
  740. package/dist/tools/observe-tools.js.map +0 -1
  741. package/dist/tools/profiles.d.ts.map +0 -1
  742. package/dist/tools/profiles.js.map +0 -1
  743. package/dist/tools/query-paginate.d.ts.map +0 -1
  744. package/dist/tools/query-paginate.js.map +0 -1
  745. package/dist/tools/read-tools.d.ts.map +0 -1
  746. package/dist/tools/read-tools.js.map +0 -1
  747. package/dist/tools/snapshot-delta.d.ts.map +0 -1
  748. package/dist/tools/snapshot-delta.js.map +0 -1
  749. package/dist/tools/tool-invoker.d.ts.map +0 -1
  750. package/dist/tools/tool-invoker.js.map +0 -1
  751. package/dist/tools/tool-kit.d.ts.map +0 -1
  752. package/dist/tools/tool-kit.js.map +0 -1
  753. package/dist/tools/tool-names.d.ts.map +0 -1
  754. package/dist/tools/tool-names.js.map +0 -1
  755. package/dist/tools/tools-helpers.d.ts.map +0 -1
  756. package/dist/tools/tools-helpers.js.map +0 -1
  757. package/dist/tools/tools.d.ts.map +0 -1
  758. package/dist/tools/tools.js.map +0 -1
  759. package/dist/update/update-checker.d.ts.map +0 -1
  760. package/dist/update/update-checker.js.map +0 -1
  761. package/dist/update/updater.d.ts.map +0 -1
  762. package/dist/update/updater.js.map +0 -1
  763. package/dist/visual/visual-diff.d.ts.map +0 -1
  764. package/dist/visual/visual-diff.js.map +0 -1
  765. package/dist/visual/visual-store.d.ts.map +0 -1
  766. package/dist/visual/visual-store.js.map +0 -1
  767. package/dist/visual/visual-tools.d.ts.map +0 -1
  768. package/dist/visual/visual-tools.js.map +0 -1
package/dist/init/plan.js CHANGED
@@ -8,7 +8,7 @@ import { claudeAddCommand, mcpManual } from './mcp.js';
8
8
  import { mergeCursorConfig, CursorMergeStatus, cursorServerEntry } from './cursor.js';
9
9
  import { mergeMarkedInstruction, cursorRuleFile, AgentRuleStatus, CLAUDE_MD_PATH, AGENTS_MD_PATH, CURSOR_RULE_PATH, } from './agent-rules.js';
10
10
  import { patchViteConfig, VitePatchKind } from './vite-config.js';
11
- import { viteManual, htmlManual, NEXT_LAYOUT_MANUAL, nextReticleDevFile, NEXT_RETICLE_DEV_PATH, nextConfigManual, reticleConfigContent, svelteKitHooksFile, SVELTEKIT_HOOKS_PATH, } from './snippets.js';
11
+ import { viteManual, htmlManual, NEXT_LAYOUT_MANUAL, nextReticleDevFile, NEXT_RETICLE_DEV_PATH, nextConfigManual, reticleConfigContent, svelteKitHooksFile, SVELTEKIT_HOOKS_PATH, UNVERIFIED_FRAMEWORK_NOTE, } from './snippets.js';
12
12
  // An app dev installs exactly the audience-scoped browser-side dependencies — never the retired
13
13
  // `@reticlehq/core` umbrella (which dragged the Node MCP server + ws into every app). The kit is the
14
14
  // framework adapter (it re-exports the browser sensor), paired with that framework's dev-only build
@@ -30,7 +30,10 @@ export function frameworkPackages(framework) {
30
30
  return [RETICLE_REACT_KIT];
31
31
  }
32
32
  }
33
- const MCP_TARGET = 'global (claude user scope)';
33
+ /** Exported so the init telemetry can tell an MCP-registration failure from a dependency install. */
34
+ export const MCP_TARGET = 'global (claude user scope)';
35
+ /** The step that runs the package manager — the other thing that commonly fails on a user's machine. */
36
+ export const DEPS_TARGET = 'package.json';
34
37
  const RETICLE_CONFIG_FILE = '.reticle.json';
35
38
  export const StepStatus = {
36
39
  APPLY: 'apply',
@@ -283,11 +286,26 @@ function nextSteps(input) {
283
286
  },
284
287
  ];
285
288
  }
289
+ /**
290
+ * SvelteKit is WIRED but not SUPPORTED, and the plan says so out loud.
291
+ *
292
+ * There is no SvelteKit app in `apps/` and no CI gate for one, so nothing proves this hook still
293
+ * registers a session — every other framework init offers (React, Next, Remix, Astro) has both. The
294
+ * wiring is real and may well work; what is missing is anything that would tell us when it stops.
295
+ * Silently emitting it reads as a support claim, which is the thing this project exists to not do.
296
+ */
286
297
  function svelteKitSteps(input) {
287
- // SvelteKit can't use the Vite-plugin injection (renders via app.html) — wire a client hook that
288
- // SvelteKit runs on startup. This is verified to register a session where the plugin does not.
298
+ const unverified = {
299
+ title: 'SvelteKit is UNVERIFIED',
300
+ target: SVELTEKIT_HOOKS_PATH,
301
+ status: StepStatus.MANUAL,
302
+ detail: UNVERIFIED_FRAMEWORK_NOTE,
303
+ };
304
+ // SvelteKit can't use the Vite-plugin injection (it renders via app.html) — wire a client hook
305
+ // that SvelteKit runs on startup, which is the path that can register a session at all.
289
306
  if (input.svelteKitHooksExists === true) {
290
307
  return [
308
+ unverified,
291
309
  {
292
310
  title: 'Reticle client hook',
293
311
  target: SVELTEKIT_HOOKS_PATH,
@@ -297,6 +315,7 @@ function svelteKitSteps(input) {
297
315
  ];
298
316
  }
299
317
  return [
318
+ unverified,
300
319
  {
301
320
  title: 'Reticle client hook',
302
321
  target: SVELTEKIT_HOOKS_PATH,
@@ -353,4 +372,3 @@ export function buildPlan(input) {
353
372
  }
354
373
  return { framework: input.detection.framework, steps };
355
374
  }
356
- //# sourceMappingURL=plan.js.map
@@ -14,4 +14,3 @@ export declare function shortHash(input: string): string;
14
14
  export declare function deriveProjectId(pkgName: string | undefined, rootPath: string): string;
15
15
  /** Pull a string `name` out of an already-parsed package.json object, or undefined. */
16
16
  export declare function packageName(pkg: unknown): string | undefined;
17
- //# sourceMappingURL=project-id.d.ts.map
@@ -35,4 +35,3 @@ export function packageName(pkg) {
35
35
  }
36
36
  return undefined;
37
37
  }
38
- //# sourceMappingURL=project-id.js.map
@@ -39,4 +39,3 @@ interface InitResult {
39
39
  }
40
40
  export declare function runInit(options: InitOptions, io: InitIo): InitResult;
41
41
  export {};
42
- //# sourceMappingURL=run.d.ts.map
package/dist/init/run.js CHANGED
@@ -5,10 +5,11 @@
5
5
  */
6
6
  import { dirname, join } from 'node:path';
7
7
  import { detect, Framework } from './detect.js';
8
- import { buildPlan, StepStatus } from './plan.js';
8
+ import { DEPS_TARGET, MCP_TARGET, buildPlan, StepStatus, } from './plan.js';
9
9
  import { claudeAvailableProbe, claudeExistsProbe } from './mcp.js';
10
10
  import { CURSOR_DIR_RELPATH, CURSOR_MCP_RELPATH } from './cursor.js';
11
11
  import { deriveProjectId, packageName } from './project-id.js';
12
+ import { InitFailure, reportInitOutcome } from '../telemetry/init-telemetry.js';
12
13
  /** Lockfile basenames, in package-manager preference order (mirrors detect.ts). */
13
14
  const LOCKFILE_NAMES = [
14
15
  'pnpm-lock.yaml',
@@ -162,14 +163,41 @@ function applyEffects(plan, io) {
162
163
  }
163
164
  return failed;
164
165
  }
166
+ /**
167
+ * Which STEP failed, from the step targets — not from an error string, which would carry paths.
168
+ *
169
+ * The distinction that matters: a dependency install failing is a machine/network problem (offline,
170
+ * a locked registry, a broken package manager), while MCP registration failing means the `claude` CLI
171
+ * is missing or refused. Two completely different fixes, and until now both were simply "init didn't
172
+ * work" with nothing to tell them apart.
173
+ */
174
+ function classifyInitFailure(failed) {
175
+ if (failed.has(DEPS_TARGET))
176
+ return InitFailure.DEPENDENCY_INSTALL;
177
+ if (failed.has(MCP_TARGET))
178
+ return InitFailure.MCP_REGISTRATION;
179
+ return InitFailure.OTHER;
180
+ }
165
181
  export function runInit(options, io) {
166
182
  const pkgRaw = io.readFile(PACKAGE_JSON);
167
183
  if (pkgRaw === null) {
168
184
  io.print('No package.json found. Run `reticle init` from your project root.');
185
+ // The onboarding funnel had NO instrumentation, so a setup that died here was indistinguishable
186
+ // from someone who never ran the command — the two failure modes with the most different fixes.
187
+ reportInitOutcome({ ok: false, reason: InitFailure.NO_PACKAGE_JSON });
169
188
  return { ok: false, applied: 0, manual: 0 };
170
189
  }
171
190
  const plan = buildPlan(gatherPlanInput(options, io, pkgRaw));
172
191
  const failed = options.dryRun ? new Set() : applyEffects(plan, io);
173
- return report(plan, options.dryRun, failed, io);
192
+ const result = report(plan, options.dryRun, failed, io);
193
+ // A dry run is a preview, not an outcome — reporting it would inflate both success and failure.
194
+ if (!options.dryRun) {
195
+ reportInitOutcome({
196
+ ok: result.ok,
197
+ ...(result.ok ? {} : { reason: classifyInitFailure(failed) }),
198
+ stack: plan.framework,
199
+ mcpRegistered: !failed.has(MCP_TARGET),
200
+ });
201
+ }
202
+ return result;
174
203
  }
175
- //# sourceMappingURL=run.js.map
@@ -19,6 +19,11 @@ export declare const NEXT_LAYOUT_MANUAL = "Mount <ReticleDev /> in your root lay
19
19
  export declare function htmlManual(port: number | undefined, projectId?: string): string;
20
20
  export declare const NEXT_RETICLE_DEV_PATH = "app/reticle-dev.tsx";
21
21
  export declare const SVELTEKIT_HOOKS_PATH = "src/hooks.client.ts";
22
+ /**
23
+ * Said to the user's face rather than discovered later. React, Next, Remix and Astro each have an
24
+ * app and a CI gate; SvelteKit has neither, so "it generated some wiring" is not evidence it works.
25
+ */
26
+ export declare const UNVERIFIED_FRAMEWORK_NOTE = "Reticle has no SvelteKit app and no CI gate for one, so this wiring is untested \u2014 it may work, but nothing proves it and nothing will tell us if it breaks. Supported and gated today: Vite + React, Next.js, Remix, Astro, and plain HTML. If the hook does not register a session, please open an issue.";
22
27
  /**
23
28
  * Dev-only client hook that connects Reticle in a SvelteKit app. SvelteKit renders through app.html and
24
29
  * never triggers Vite's index.html injection (verified), so the standard plugin can't auto-connect —
@@ -30,4 +35,3 @@ export declare function svelteKitHooksFile(port: number | undefined, projectId?:
30
35
  * and by tooling for the stable projectId (the app's identity across port changes).
31
36
  */
32
37
  export declare function reticleConfigContent(framework: string, port: number | undefined, projectId?: string): string;
33
- //# sourceMappingURL=snippets.d.ts.map
@@ -86,6 +86,11 @@ export function htmlManual(port, projectId) {
86
86
  }
87
87
  export const NEXT_RETICLE_DEV_PATH = 'app/reticle-dev.tsx';
88
88
  export const SVELTEKIT_HOOKS_PATH = 'src/hooks.client.ts';
89
+ /**
90
+ * Said to the user's face rather than discovered later. React, Next, Remix and Astro each have an
91
+ * app and a CI gate; SvelteKit has neither, so "it generated some wiring" is not evidence it works.
92
+ */
93
+ export const UNVERIFIED_FRAMEWORK_NOTE = 'Reticle has no SvelteKit app and no CI gate for one, so this wiring is untested — it may work, but nothing proves it and nothing will tell us if it breaks. Supported and gated today: Vite + React, Next.js, Remix, Astro, and plain HTML. If the hook does not register a session, please open an issue.';
89
94
  /**
90
95
  * Dev-only client hook that connects Reticle in a SvelteKit app. SvelteKit renders through app.html and
91
96
  * never triggers Vite's index.html injection (verified), so the standard plugin can't auto-connect —
@@ -114,4 +119,3 @@ export function reticleConfigContent(framework, port, projectId) {
114
119
  fields['port'] = port;
115
120
  return `${JSON.stringify(fields, null, 2)}\n`;
116
121
  }
117
- //# sourceMappingURL=snippets.js.map
@@ -22,4 +22,3 @@ type VitePatch = {
22
22
  };
23
23
  export declare function patchViteConfig(source: string, port?: number): VitePatch;
24
24
  export {};
25
- //# sourceMappingURL=vite-config.d.ts.map
@@ -42,4 +42,3 @@ export function patchViteConfig(source, port) {
42
42
  }
43
43
  return { kind: VitePatchKind.APPLY, code: insertImport(insertPlugin(source, port)) };
44
44
  }
45
- //# sourceMappingURL=vite-config.js.map
@@ -71,4 +71,3 @@ export interface PageLike {
71
71
  * over Playwright's event surface — the daemon routes `emit` to the driven session's pushEvent.
72
72
  */
73
73
  export declare function attachNetworkDetail(page: PageLike, emit: (detail: NetworkDetail) => void): void;
74
- //# sourceMappingURL=network-detail.d.ts.map
@@ -157,4 +157,3 @@ export function attachNetworkDetail(page, emit) {
157
157
  void detailPromise.catch(() => undefined);
158
158
  });
159
159
  }
160
- //# sourceMappingURL=network-detail.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ToolDef } from '../tools/tools.js';
2
2
  export declare const NETWORK_MOCK_TOOLS: ToolDef[];
3
- //# sourceMappingURL=network-mock-tools.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { VISUAL_NO_PROVIDER_RECOMMENDATION, VisualReason } from '@reticlehq/core';
2
+ import { CDP_NO_PROVIDER_REASON, CDP_NO_PROVIDER_RECOMMENDATION } from '@reticlehq/core';
3
3
  import { ReticleTool } from '../tools/tool-names.js';
4
4
  import { sessionIdShape } from '../tools/tool-kit.js';
5
5
  import { asString } from '../tools/tools-helpers.js';
@@ -75,8 +75,8 @@ export const NETWORK_MOCK_TOOLS = [
75
75
  applied: false,
76
76
  count: 0,
77
77
  ok: false,
78
- reason: VisualReason.NO_PROVIDER,
79
- recommendation: VISUAL_NO_PROVIDER_RECOMMENDATION,
78
+ reason: CDP_NO_PROVIDER_REASON,
79
+ recommendation: CDP_NO_PROVIDER_RECOMMENDATION,
80
80
  };
81
81
  }
82
82
  const session = deps.sessions.resolve(asString(args['sessionId']));
@@ -86,4 +86,3 @@ export const NETWORK_MOCK_TOOLS = [
86
86
  },
87
87
  },
88
88
  ];
89
- //# sourceMappingURL=network-mock-tools.js.map
@@ -52,4 +52,3 @@ export declare function applyOutcome(route: Route, outcome: MockOutcome, sleep:
52
52
  */
53
53
  export declare function installNetworkMocks(page: Page, rules: MockRule[], sleep?: (ms: number) => Promise<void>): Promise<void>;
54
54
  export {};
55
- //# sourceMappingURL=network-mock.d.ts.map
@@ -59,4 +59,3 @@ export async function installNetworkMocks(page, rules, sleep = realSleep) {
59
59
  void applyOutcome(route, outcome, sleep);
60
60
  });
61
61
  }
62
- //# sourceMappingURL=network-mock.js.map
@@ -183,6 +183,20 @@ export declare class LaunchedRealInputProvider implements OwnedRealInputProvider
183
183
  perform(_sessionUrl: string, action: ActionType, box: ElementBox, args: RealInputArgs): Promise<RealInputResult>;
184
184
  /** PNG of the owned page, or undefined before navigate / after dispose. */
185
185
  screenshot(_sessionUrl: string, opts: ScreenshotOpts): Promise<Uint8Array | undefined>;
186
+ /**
187
+ * Pin the owned page's viewport; false before navigate / after dispose.
188
+ *
189
+ * `CdpRealInputProvider` has had this since it shipped and THIS provider did not, so
190
+ * `reticle_viewport` refused with `no-cdp-provider` under `reticle drive` — while recommending
191
+ * `reticle drive` as the fix. Same for `setMocks` below. A driven browser was attached and taking
192
+ * screenshots the whole time; only these two methods were missing.
193
+ */
194
+ setViewport(_sessionUrl: string, size: {
195
+ width: number;
196
+ height: number;
197
+ }): Promise<boolean>;
198
+ /** Apply network-mock rules to the owned page; false before navigate / after dispose. */
199
+ setMocks(_sessionUrl: string, rules: MockRule[]): Promise<boolean>;
186
200
  /** Close the owned browser once. Idempotent and safe before navigate. */
187
201
  dispose(): Promise<void>;
188
202
  }
@@ -204,4 +218,3 @@ export declare function selectPage<T extends {
204
218
  url(): string;
205
219
  }>(pages: readonly T[], sessionUrl: string): T | undefined;
206
220
  export {};
207
- //# sourceMappingURL=real-input.d.ts.map
@@ -1,3 +1,6 @@
1
+ import { BrowserLaunchKind } from '@reticlehq/core';
2
+ import { getSessionMetrics } from '../telemetry/session-metrics.js';
3
+ import { classifyConnectFailure } from '../telemetry/connect-failure.js';
1
4
  import { ActionType, DriveErrorCode, DRIVE_PLAYWRIGHT_MISSING_MSG } from '@reticlehq/core';
2
5
  import { installNetworkMocks } from './network-mock.js';
3
6
  import { attachNetworkDetail } from './network-detail.js';
@@ -100,7 +103,20 @@ const nodeSleep = (ms) => new Promise((resolve) => {
100
103
  });
101
104
  const cdpConnect = async (url) => {
102
105
  const { chromium } = await import('playwright');
103
- return chromium.connectOverCDP(url);
106
+ // Attaching to someone's already-running browser is the fragile path — a stale CDP url, a browser
107
+ // that was closed — so its FAILURE rate is the number worth watching. Settled with the outcome
108
+ // rather than counted up front, which is what the first version got wrong: it incremented before
109
+ // the await, so it silently reported attempts while the other paths reported successes.
110
+ const settle = getSessionMetrics().recordConnectAttempt(BrowserLaunchKind.ATTACHED);
111
+ try {
112
+ const browser = await chromium.connectOverCDP(url);
113
+ settle();
114
+ return browser;
115
+ }
116
+ catch (error) {
117
+ settle(classifyConnectFailure(error));
118
+ throw error;
119
+ }
104
120
  };
105
121
  /** CDP-backed real-input provider. Lazily connects on first availability check / perform. */
106
122
  export class CdpRealInputProvider {
@@ -211,10 +227,14 @@ const launchedChromium = async (headless) => {
211
227
  catch {
212
228
  throw new DriveError(DriveErrorCode.PLAYWRIGHT_MISSING, DRIVE_PLAYWRIGHT_MISSING_MSG);
213
229
  }
230
+ const settle = getSessionMetrics().recordConnectAttempt(BrowserLaunchKind.LAUNCHED);
214
231
  try {
215
- return await mod.chromium.launch({ headless });
232
+ const browser = await mod.chromium.launch({ headless });
233
+ settle();
234
+ return browser;
216
235
  }
217
236
  catch (e) {
237
+ settle(classifyConnectFailure(e));
218
238
  throw new DriveError(DriveErrorCode.LAUNCH_FAILED, e instanceof Error ? e.message : String(e));
219
239
  }
220
240
  };
@@ -297,6 +317,29 @@ export class LaunchedRealInputProvider {
297
317
  return Promise.resolve(undefined);
298
318
  return capturePage(page, opts);
299
319
  }
320
+ /**
321
+ * Pin the owned page's viewport; false before navigate / after dispose.
322
+ *
323
+ * `CdpRealInputProvider` has had this since it shipped and THIS provider did not, so
324
+ * `reticle_viewport` refused with `no-cdp-provider` under `reticle drive` — while recommending
325
+ * `reticle drive` as the fix. Same for `setMocks` below. A driven browser was attached and taking
326
+ * screenshots the whole time; only these two methods were missing.
327
+ */
328
+ async setViewport(_sessionUrl, size) {
329
+ const page = this.#page;
330
+ if (page === undefined)
331
+ return false;
332
+ await page.setViewportSize({ width: size.width, height: size.height });
333
+ return true;
334
+ }
335
+ /** Apply network-mock rules to the owned page; false before navigate / after dispose. */
336
+ async setMocks(_sessionUrl, rules) {
337
+ const page = this.#page;
338
+ if (page === undefined)
339
+ return false;
340
+ await installNetworkMocks(page, rules);
341
+ return true;
342
+ }
300
343
  /** Close the owned browser once. Idempotent and safe before navigate. */
301
344
  async dispose() {
302
345
  const browser = this.#browser;
@@ -334,4 +377,3 @@ function stripVolatile(url) {
334
377
  const query = base.indexOf('?');
335
378
  return query >= 0 ? base.slice(0, query) : base;
336
379
  }
337
- //# sourceMappingURL=real-input.js.map
@@ -38,4 +38,3 @@ export interface ScrollFindResult {
38
38
  export declare function scrollToFind(session: ScrollFindSession, q: ScrollFindQuery, opts?: {
39
39
  maxScrolls?: number;
40
40
  }): Promise<ScrollFindResult>;
41
- //# sourceMappingURL=scroll-find.d.ts.map
@@ -56,4 +56,3 @@ export async function scrollToFind(session, q, opts = {}) {
56
56
  }
57
57
  return { found: false, scrolls, exhausted: false }; // spent the budget; more may lie further down
58
58
  }
59
- //# sourceMappingURL=scroll-find.js.map
@@ -5,4 +5,3 @@ import type { ToolDef } from '../tools/tools.js';
5
5
  * nothing. This scrolls the container until the row mounts, then returns its ref.
6
6
  */
7
7
  export declare const SCROLL_TOOLS: ToolDef[];
8
- //# sourceMappingURL=scroll-tools.d.ts.map
@@ -65,4 +65,3 @@ export const SCROLL_TOOLS = [
65
65
  },
66
66
  },
67
67
  ];
68
- //# sourceMappingURL=scroll-tools.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ToolDef } from '../tools/tools.js';
2
2
  export declare const VIEWPORT_TOOLS: ToolDef[];
3
- //# sourceMappingURL=viewport-tools.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { VISUAL_NO_PROVIDER_RECOMMENDATION, VisualReason } from '@reticlehq/core';
2
+ import { CDP_NO_PROVIDER_REASON, CDP_NO_PROVIDER_RECOMMENDATION } from '@reticlehq/core';
3
3
  import { ReticleTool } from '../tools/tool-names.js';
4
4
  import { sessionIdShape } from '../tools/tool-kit.js';
5
5
  import { asString } from '../tools/tools-helpers.js';
@@ -40,8 +40,8 @@ export const VIEWPORT_TOOLS = [
40
40
  width: 0,
41
41
  height: 0,
42
42
  ok: false,
43
- reason: VisualReason.NO_PROVIDER,
44
- recommendation: VISUAL_NO_PROVIDER_RECOMMENDATION,
43
+ reason: CDP_NO_PROVIDER_REASON,
44
+ recommendation: CDP_NO_PROVIDER_RECOMMENDATION,
45
45
  };
46
46
  }
47
47
  const width = clampDim(args['width']);
@@ -57,4 +57,3 @@ function clampDim(value) {
57
57
  const n = typeof value === 'number' && Number.isFinite(value) ? Math.round(value) : MIN_DIM;
58
58
  return Math.max(MIN_DIM, Math.min(n, MAX_DIM));
59
59
  }
60
- //# sourceMappingURL=viewport-tools.js.map
@@ -13,4 +13,3 @@ export declare class AmbientStore {
13
13
  load(): Promise<AmbientCounts>;
14
14
  save(counts: AmbientCounts): Promise<void>;
15
15
  }
16
- //# sourceMappingURL=ambient-store.d.ts.map
@@ -43,4 +43,3 @@ export class AmbientStore {
43
43
  await this.#fs.rename(tmp, this.#path);
44
44
  }
45
45
  }
46
- //# sourceMappingURL=ambient-store.js.map
@@ -45,4 +45,3 @@ export declare function isAmbient(counts: AmbientCounts, ref: string | undefined
45
45
  * it is signal, not background churn.
46
46
  */
47
47
  export declare function excludeAmbient(counts: AmbientCounts, events: readonly ReticleEvent[], threshold?: number): ReticleEvent[];
48
- //# sourceMappingURL=ambient.d.ts.map
@@ -45,4 +45,3 @@ export function isAmbient(counts, ref, threshold = DEFAULT_AMBIENT_THRESHOLD) {
45
45
  export function excludeAmbient(counts, events, threshold) {
46
46
  return events.filter((event) => event.actionId !== undefined || !isAmbient(counts, event.ref, threshold));
47
47
  }
48
- //# sourceMappingURL=ambient.js.map
@@ -19,4 +19,3 @@ export interface JournalAttachDeps {
19
19
  * journaling concern). The recorder's clock is the session's own elapsed time.
20
20
  */
21
21
  export declare function makeJournalAttach(deps: JournalAttachDeps): (session: JournalTarget) => void;
22
- //# sourceMappingURL=attach-journal.d.ts.map
@@ -17,4 +17,3 @@ export function makeJournalAttach(deps) {
17
17
  session.setJournal(new JournalRecorder(journal, { now: () => session.elapsed() }), journal);
18
18
  };
19
19
  }
20
- //# sourceMappingURL=attach-journal.js.map
@@ -25,4 +25,3 @@ export interface DeviationReport {
25
25
  * envelope is too green, are counted as unjudged rather than silently passed.
26
26
  */
27
27
  export declare function buildDeviationReport(envelopes: ReadonlyMap<string, RouteEnvelope>, segments: readonly SegmentRollup[], zThreshold?: number): DeviationReport;
28
- //# sourceMappingURL=deviation-report.d.ts.map
@@ -51,4 +51,3 @@ export function buildDeviationReport(envelopes, segments, zThreshold) {
51
51
  };
52
52
  return { ...base, headline: headlineFor(base) };
53
53
  }
54
- //# sourceMappingURL=deviation-report.js.map
@@ -9,4 +9,3 @@ import type { SegmentRollup } from './rollups.js';
9
9
  * caller shows the causal summary instead.
10
10
  */
11
11
  export declare function reportAndAccumulate(store: EnvelopeStore, segments: readonly SegmentRollup[], zThreshold?: number): Promise<DeviationReport>;
12
- //# sourceMappingURL=deviation-service.d.ts.map
@@ -29,4 +29,3 @@ export async function reportAndAccumulate(store, segments, zThreshold) {
29
29
  return report;
30
30
  });
31
31
  }
32
- //# sourceMappingURL=deviation-service.js.map
@@ -16,4 +16,3 @@ export declare class EnvelopeStore {
16
16
  load(): Promise<Map<string, RouteEnvelope>>;
17
17
  save(envelopes: ReadonlyMap<string, RouteEnvelope>): Promise<void>;
18
18
  }
19
- //# sourceMappingURL=envelope-store.d.ts.map
@@ -59,4 +59,3 @@ export class EnvelopeStore {
59
59
  await this.#fs.rename(tmp, this.#path);
60
60
  }
61
61
  }
62
- //# sourceMappingURL=envelope-store.js.map
@@ -103,13 +103,13 @@ export declare const RouteEnvelopeSchema: z.ZodObject<{
103
103
  max: number;
104
104
  }>;
105
105
  }, "strip", z.ZodTypeAny, {
106
- net: {
106
+ durationMs: {
107
107
  count: number;
108
108
  mean: number;
109
109
  m2: number;
110
110
  max: number;
111
111
  };
112
- durationMs: {
112
+ net: {
113
113
  count: number;
114
114
  mean: number;
115
115
  m2: number;
@@ -128,13 +128,13 @@ export declare const RouteEnvelopeSchema: z.ZodObject<{
128
128
  max: number;
129
129
  };
130
130
  }, {
131
- net: {
131
+ durationMs: {
132
132
  count: number;
133
133
  mean: number;
134
134
  m2: number;
135
135
  max: number;
136
136
  };
137
- durationMs: {
137
+ net: {
138
138
  count: number;
139
139
  mean: number;
140
140
  m2: number;
@@ -157,13 +157,13 @@ export declare const RouteEnvelopeSchema: z.ZodObject<{
157
157
  route: string;
158
158
  samples: number;
159
159
  stats: {
160
- net: {
160
+ durationMs: {
161
161
  count: number;
162
162
  mean: number;
163
163
  m2: number;
164
164
  max: number;
165
165
  };
166
- durationMs: {
166
+ net: {
167
167
  count: number;
168
168
  mean: number;
169
169
  m2: number;
@@ -186,13 +186,13 @@ export declare const RouteEnvelopeSchema: z.ZodObject<{
186
186
  route: string;
187
187
  samples: number;
188
188
  stats: {
189
- net: {
189
+ durationMs: {
190
190
  count: number;
191
191
  mean: number;
192
192
  m2: number;
193
193
  max: number;
194
194
  };
195
- durationMs: {
195
+ net: {
196
196
  count: number;
197
197
  mean: number;
198
198
  m2: number;
@@ -229,4 +229,3 @@ export interface Deviation {
229
229
  * falls back to the causal summary in that case.
230
230
  */
231
231
  export declare function compareSegment(envelope: RouteEnvelope, segment: SegmentRollup, zThreshold?: number): Deviation[];
232
- //# sourceMappingURL=envelope.d.ts.map
@@ -91,4 +91,3 @@ export function compareSegment(envelope, segment, zThreshold = DEFAULT_Z_THRESHO
91
91
  }
92
92
  return deviations.sort((a, b) => b.z - a.z);
93
93
  }
94
- //# sourceMappingURL=envelope.js.map
@@ -17,4 +17,3 @@ export interface EventQueryOptions {
17
17
  export declare function mergeEventsBySeq(journal: readonly ReticleEvent[], buffer: readonly ReticleEvent[]): ReticleEvent[];
18
18
  /** Apply since/until/actionId bounds to an event list. */
19
19
  export declare function filterEvents(events: readonly ReticleEvent[], options: EventQueryOptions): ReticleEvent[];
20
- //# sourceMappingURL=journal-query.d.ts.map
@@ -25,4 +25,3 @@ export function filterEvents(events, options) {
25
25
  (options.until === undefined || event.t <= options.until) &&
26
26
  (options.actionId === undefined || event.actionId === options.actionId));
27
27
  }
28
- //# sourceMappingURL=journal-query.js.map
@@ -35,4 +35,3 @@ export declare class JournalRecorder {
35
35
  /** Persist any buffered events now (call on session end). Awaits the write chain to settle. */
36
36
  flush(): Promise<void>;
37
37
  }
38
- //# sourceMappingURL=journal-recorder.d.ts.map
@@ -78,4 +78,3 @@ export class JournalRecorder {
78
78
  this.#chain = this.#chain.then(() => this.#sink.appendEvents(batch)).catch(() => undefined);
79
79
  }
80
80
  }
81
- //# sourceMappingURL=journal-recorder.js.map
@@ -18,4 +18,3 @@ export declare function selectPrunable(dirs: readonly DatedDir[], retention: num
18
18
  */
19
19
  export declare function pruneSessions(fs: FileSystemPort, root: string, retention?: number): Promise<void>;
20
20
  export {};
21
- //# sourceMappingURL=retention.d.ts.map
@@ -47,4 +47,3 @@ export async function pruneSessions(fs, root, retention = DEFAULT_SESSION_RETENT
47
47
  }
48
48
  }
49
49
  }
50
- //# sourceMappingURL=retention.js.map
@@ -46,4 +46,3 @@ export interface SegmentRollup {
46
46
  * the events carry their own `t`. The events must be in journal order (seq/t ascending).
47
47
  */
48
48
  export declare function computeSegments(events: readonly ReticleEvent[]): SegmentRollup[];
49
- //# sourceMappingURL=rollups.d.ts.map
@@ -80,4 +80,3 @@ export function computeSegments(events) {
80
80
  segments.push(finalize(acc));
81
81
  return segments;
82
82
  }
83
- //# sourceMappingURL=rollups.js.map
@@ -29,4 +29,3 @@ export interface SessionEndDeps {
29
29
  * starts already knowing which regions churn.
30
30
  */
31
31
  export declare function makeSessionEnd(deps: SessionEndDeps): (session: SessionEndTarget) => Promise<void>;
32
- //# sourceMappingURL=session-end.d.ts.map
@@ -49,4 +49,3 @@ export function makeSessionEnd(deps) {
49
49
  }
50
50
  };
51
51
  }
52
- //# sourceMappingURL=session-end.js.map
@@ -22,4 +22,3 @@ export declare class SessionJournal {
22
22
  readEvents(): Promise<ReticleEvent[]>;
23
23
  readActions(): Promise<JournalAction[]>;
24
24
  }
25
- //# sourceMappingURL=session-journal.d.ts.map
@@ -165,4 +165,3 @@ export class SessionJournal {
165
165
  return out;
166
166
  }
167
167
  }
168
- //# sourceMappingURL=session-journal.js.map
@@ -110,4 +110,3 @@ export declare function describeLicense(now: number, env?: NodeJS.ProcessEnv, ba
110
110
  */
111
111
  export declare function assertEnterpriseFromEnv(feature: string, now: number, env?: NodeJS.ProcessEnv, baked?: string): void;
112
112
  export {};
113
- //# sourceMappingURL=license.d.ts.map
@@ -223,4 +223,3 @@ export function assertEnterpriseFromEnv(feature, now, env = process.env, baked =
223
223
  publicKey,
224
224
  });
225
225
  }
226
- //# sourceMappingURL=license.js.map