@reticlehq/server 2.14.0 → 3.2.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 (1493) hide show
  1. package/SKILL.md +54 -136
  2. package/bin/reticle.js +1 -1
  3. package/dist/command/cli/adhoc-verdict.d.ts +64 -0
  4. package/dist/command/cli/adhoc-verdict.js +144 -0
  5. package/dist/command/cli/answers/status-next-action.d.ts +61 -0
  6. package/dist/command/cli/answers/status-next-action.js +84 -0
  7. package/dist/command/cli/auth/cloud-keystore.js +97 -0
  8. package/dist/command/cli/auth/device-flow.d.ts +76 -0
  9. package/dist/command/cli/auth/device-flow.js +56 -0
  10. package/dist/command/cli/cli-doctor.js +215 -0
  11. package/dist/command/cli/cli-flow-commands.d.ts +47 -0
  12. package/dist/command/cli/cli-flow-commands.js +255 -0
  13. package/dist/command/cli/cli-kill.d.ts +59 -0
  14. package/dist/command/cli/cli-kill.js +162 -0
  15. package/dist/command/cli/cli-parse-grammar.d.ts +29 -0
  16. package/dist/command/cli/cli-parse-grammar.js +39 -0
  17. package/dist/command/cli/cli-parse-verify.d.ts +22 -0
  18. package/dist/command/cli/cli-parse-verify.js +143 -0
  19. package/dist/command/cli/cli-parse.d.ts +193 -0
  20. package/dist/command/cli/cli-parse.js +833 -0
  21. package/dist/command/cli/cli-update-commands.js +112 -0
  22. package/dist/command/cli/cli-verify.d.ts +124 -0
  23. package/dist/command/cli/cli-verify.js +426 -0
  24. package/dist/command/cli/cloud-cli.js +694 -0
  25. package/dist/command/cli/cloud-kit.d.ts +37 -0
  26. package/dist/command/cli/cloud-kit.js +117 -0
  27. package/dist/command/cli/cloud-login.js +183 -0
  28. package/dist/command/cli/config/config-discovery.d.ts +48 -0
  29. package/dist/command/cli/config/config-discovery.js +183 -0
  30. package/dist/command/cli/daemon-start-options.d.ts +33 -0
  31. package/dist/command/cli/demo/demo-page.d.ts +78 -0
  32. package/dist/command/cli/demo/demo-page.js +238 -0
  33. package/dist/command/cli/demo/demo-run.d.ts +38 -0
  34. package/dist/command/cli/demo/demo-run.js +138 -0
  35. package/dist/command/cli/doctor/doctor-daemon-line.js +47 -0
  36. package/dist/command/cli/doctor/doctor-rows.d.ts +75 -0
  37. package/dist/command/cli/doctor/doctor-rows.js +77 -0
  38. package/dist/command/cli/doctor/doctor-sessions-line.js +69 -0
  39. package/dist/command/cli/drive/drive-attach.d.ts +113 -0
  40. package/dist/command/cli/drive/drive-attach.js +221 -0
  41. package/dist/command/cli/drive/drive-command.js +107 -0
  42. package/dist/command/cli/launch/cli-launch.d.ts +100 -0
  43. package/dist/command/cli/launch/cli-launch.js +216 -0
  44. package/dist/command/cli/lifecycle/daemon-lifecycle.d.ts +33 -0
  45. package/dist/command/cli/lifecycle/daemon-lifecycle.js +198 -0
  46. package/dist/command/cli/mcp-command.js +176 -0
  47. package/dist/command/cli/ports/port-holder.js +123 -0
  48. package/dist/command/cli/ports/resolve/cli-port.d.ts +71 -0
  49. package/dist/command/cli/ports/resolve/cli-port.js +140 -0
  50. package/dist/command/cli/setup-mcp-cli.d.ts +29 -0
  51. package/dist/command/cli/setup-mcp-cli.js +107 -0
  52. package/dist/command/cli/status/status-lines.d.ts +28 -0
  53. package/dist/command/cli/status/status-lines.js +117 -0
  54. package/dist/command/cli/status-fields.d.ts +28 -0
  55. package/dist/command/cli/status-fields.js +29 -0
  56. package/dist/command/cli/tutorial.d.ts +116 -0
  57. package/dist/command/cli/tutorial.js +189 -0
  58. package/dist/command/cli-onboarding.d.ts +21 -0
  59. package/dist/command/cli-onboarding.js +27 -0
  60. package/dist/command/cli.d.ts +6 -0
  61. package/dist/command/cli.js +710 -0
  62. package/dist/command/daemon/binding/daemon-status-probe.d.ts +2 -0
  63. package/dist/command/daemon/binding/daemon-status-probe.js +48 -0
  64. package/dist/command/daemon/binding/loopback-reach.d.ts +42 -0
  65. package/dist/command/daemon/binding/loopback-reach.js +63 -0
  66. package/dist/command/daemon/daemon-resilience.d.ts +86 -0
  67. package/dist/command/daemon/daemon-resilience.js +339 -0
  68. package/dist/command/daemon/daemon-resolve.d.ts +113 -0
  69. package/dist/command/daemon/daemon-resolve.js +187 -0
  70. package/dist/command/daemon/daemon.d.ts +86 -0
  71. package/dist/command/daemon/daemon.js +333 -0
  72. package/dist/command/daemon/idle-shutdown.d.ts +54 -0
  73. package/dist/command/daemon/idle-shutdown.js +98 -0
  74. package/dist/command/daemon/lifetime/daemon-usefulness.d.ts +60 -0
  75. package/dist/command/daemon/lifetime/daemon-usefulness.js +61 -0
  76. package/dist/command/daemon/lifetime/heartbeat.d.ts +119 -0
  77. package/dist/command/daemon/lifetime/heartbeat.js +151 -0
  78. package/dist/command/daemon/lifetime/idle-grace.d.ts +32 -0
  79. package/dist/command/daemon/lifetime/idle-grace.js +41 -0
  80. package/dist/command/daemon/lifetime/log-cap.d.ts +68 -0
  81. package/dist/command/daemon/lifetime/log-cap.js +115 -0
  82. package/dist/command/daemon/state-dir.js +59 -0
  83. package/dist/command/daemon/wake-decision.d.ts +32 -0
  84. package/dist/command/daemon/wake-decision.js +38 -0
  85. package/dist/command/dev/stale-issue-guard.d.ts +35 -0
  86. package/dist/command/dev/stale-issue-guard.js +69 -0
  87. package/dist/command/setup/agent-configs.d.ts +111 -0
  88. package/dist/command/setup/agent-configs.js +365 -0
  89. package/dist/command/setup/agent-notice-memory.d.ts +16 -0
  90. package/dist/command/setup/agent-notice-memory.js +65 -0
  91. package/dist/command/setup/agent-writer.d.ts +52 -0
  92. package/dist/command/setup/agent-writer.js +116 -0
  93. package/dist/command/setup/auto-approve.js +153 -0
  94. package/dist/command/setup/bringup/bridge-port.d.ts +15 -0
  95. package/dist/command/setup/bringup/bridge-port.js +24 -0
  96. package/dist/command/setup/bringup/dev-server-wait.d.ts +69 -0
  97. package/dist/command/setup/bringup/dev-server-wait.js +83 -0
  98. package/dist/command/setup/bringup/ensure-daemon.js +58 -0
  99. package/dist/command/setup/init/init-host.js +37 -0
  100. package/dist/command/setup/init/init-runtime.d.ts +39 -0
  101. package/dist/command/setup/init/init-runtime.js +168 -0
  102. package/dist/command/setup/node-effects.d.ts +63 -0
  103. package/dist/command/setup/node-effects.js +225 -0
  104. package/dist/command/setup/probe/page-probe.d.ts +71 -0
  105. package/dist/command/setup/probe/page-probe.js +89 -0
  106. package/dist/command/setup/remaining-steps.js +53 -0
  107. package/dist/command/setup/run-setup.d.ts +123 -0
  108. package/dist/command/setup/run-setup.js +316 -0
  109. package/dist/command/setup/setup-command.d.ts +48 -0
  110. package/dist/command/setup/setup-command.js +224 -0
  111. package/dist/command/setup/setup-install.d.ts +18 -0
  112. package/dist/command/setup/setup-install.js +40 -0
  113. package/dist/command/setup/setup-mcp.d.ts +57 -0
  114. package/dist/command/setup/setup-mcp.js +92 -0
  115. package/dist/command/setup/setup-options.d.ts +66 -0
  116. package/dist/command/setup/setup-options.js +63 -0
  117. package/dist/command/setup/terminal/confirm.js +206 -0
  118. package/dist/command/setup/terminal/crash.d.ts +55 -0
  119. package/dist/command/setup/terminal/crash.js +74 -0
  120. package/dist/command/update/nudge-credit.js +53 -0
  121. package/dist/command/update/sdk-sync.d.ts +20 -0
  122. package/dist/command/update/sdk-sync.js +22 -0
  123. package/dist/command/update/update-checker.js +122 -0
  124. package/dist/command/update/update-nudge.d.ts +90 -0
  125. package/dist/command/update/update-nudge.js +211 -0
  126. package/dist/command/update/updater.d.ts +81 -0
  127. package/dist/command/update/updater.js +223 -0
  128. package/dist/command/version/identity/server-version.js +50 -0
  129. package/dist/command/version/peer-announce.js +32 -0
  130. package/dist/command/version/sdk-fix.js +127 -0
  131. package/dist/command/version/version-nudge.js +61 -0
  132. package/dist/command/version/version-skew.d.ts +113 -0
  133. package/dist/command/version/version-skew.js +192 -0
  134. package/dist/features/crawl/crawl-tools.d.ts +7 -0
  135. package/dist/features/crawl/crawl-tools.js +89 -0
  136. package/dist/features/crawl/crawl.d.ts +98 -0
  137. package/dist/features/crawl/crawl.js +444 -0
  138. package/dist/features/ee/audit-log.js +11 -0
  139. package/dist/features/harness/drive-report.d.ts +73 -0
  140. package/dist/features/harness/drive-report.js +196 -0
  141. package/dist/features/harness/driver.d.ts +50 -0
  142. package/dist/features/harness/driver.js +239 -0
  143. package/dist/features/harness/drivers.d.ts +19 -0
  144. package/dist/features/harness/drivers.js +19 -0
  145. package/dist/features/harness/fill-values.d.ts +67 -0
  146. package/dist/features/harness/fill-values.js +153 -0
  147. package/dist/features/harness/harness.d.ts +159 -0
  148. package/dist/features/harness/harness.js +203 -0
  149. package/dist/features/harness/jev-driver.d.ts +188 -0
  150. package/dist/features/harness/jev-driver.js +664 -0
  151. package/dist/features/harness/openai-driver.d.ts +46 -0
  152. package/dist/features/harness/openai-driver.js +197 -0
  153. package/dist/features/harness/platform-config.d.ts +52 -0
  154. package/dist/features/harness/platform-config.js +89 -0
  155. package/dist/features/harness/with-timeout.d.ts +18 -0
  156. package/dist/features/harness/with-timeout.js +34 -0
  157. package/dist/features/license/license-env.d.ts +24 -0
  158. package/dist/features/license/license-env.js +140 -0
  159. package/dist/features/license/license.d.ts +161 -0
  160. package/dist/features/license/license.js +287 -0
  161. package/dist/features/visual/visual-store.d.ts +22 -0
  162. package/dist/features/visual/visual-store.js +66 -0
  163. package/dist/features/visual/visual-tools.d.ts +26 -0
  164. package/dist/features/visual/visual-tools.js +352 -0
  165. package/dist/hooks/hook-bus.d.ts +53 -0
  166. package/dist/hooks/hook-bus.js +106 -0
  167. package/dist/hooks/hook-commands.d.ts +59 -0
  168. package/dist/hooks/hook-commands.js +184 -0
  169. package/dist/hooks/hook-emit.d.ts +44 -0
  170. package/dist/hooks/hook-emit.js +85 -0
  171. package/dist/import-graph.d.ts +48 -0
  172. package/dist/import-graph.js +106 -0
  173. package/dist/index.d.ts +91 -125
  174. package/dist/index.js +250 -160
  175. package/dist/judgement/capsule/capsule-store.d.ts +70 -0
  176. package/dist/judgement/capsule/capsule-store.js +113 -0
  177. package/dist/judgement/capsule/capsule.d.ts +42 -0
  178. package/dist/judgement/capsule/capsule.js +73 -0
  179. package/dist/judgement/capsule/causal-summary.d.ts +119 -0
  180. package/dist/judgement/capsule/causal-summary.js +172 -0
  181. package/dist/judgement/capsule/divergence.d.ts +26 -0
  182. package/dist/judgement/domain/domain-model.js +126 -0
  183. package/dist/judgement/domain/domain-tools.d.ts +2 -0
  184. package/dist/judgement/domain/domain-tools.js +96 -0
  185. package/dist/judgement/domain/flow-risk.js +80 -0
  186. package/dist/judgement/oracles/propose-consequences.d.ts +22 -0
  187. package/dist/judgement/oracles/propose-consequences.js +106 -0
  188. package/dist/judgement/outcome/predicate-to-expect.d.ts +44 -0
  189. package/dist/judgement/outcome/predicate-to-expect.js +148 -0
  190. package/dist/judgement/runs/artifact/build-verification-run.d.ts +34 -0
  191. package/dist/judgement/runs/artifact/build-verification-run.js +83 -0
  192. package/dist/judgement/runs/artifact/render-report.js +84 -0
  193. package/dist/judgement/runs/artifact/replay-mapping.js +34 -0
  194. package/dist/judgement/runs/artifact/run-store.d.ts +54 -0
  195. package/dist/judgement/runs/artifact/run-store.js +150 -0
  196. package/dist/judgement/runs/artifact/to-artifact.d.ts +119 -0
  197. package/dist/judgement/runs/artifact/to-artifact.js +83 -0
  198. package/dist/judgement/runs/context-tools.d.ts +2 -0
  199. package/dist/judgement/runs/context-tools.js +70 -0
  200. package/dist/judgement/runs/default-run-id.d.ts +8 -0
  201. package/dist/judgement/runs/default-run-id.js +11 -0
  202. package/dist/judgement/runs/drive-run.d.ts +61 -0
  203. package/dist/judgement/runs/drive-run.js +130 -0
  204. package/dist/judgement/runs/late-answer.d.ts +55 -0
  205. package/dist/judgement/runs/late-answer.js +81 -0
  206. package/dist/judgement/runs/reticle-runner.d.ts +60 -0
  207. package/dist/judgement/runs/reticle-runner.js +95 -0
  208. package/dist/judgement/runs/run-tools.d.ts +17 -0
  209. package/dist/judgement/runs/run-tools.js +97 -0
  210. package/dist/judgement/runs/runner-port.d.ts +11 -0
  211. package/dist/judgement/runs/runner-port.js +18 -0
  212. package/dist/judgement/runs/verification-sync.d.ts +13 -0
  213. package/dist/judgement/runs/verification-sync.js +93 -0
  214. package/dist/language/flows/affected-tools.d.ts +18 -0
  215. package/dist/language/flows/affected-tools.js +83 -0
  216. package/dist/language/flows/annotate-tools.d.ts +15 -0
  217. package/dist/language/flows/annotate-tools.js +179 -0
  218. package/dist/language/flows/change/affected.d.ts +24 -0
  219. package/dist/language/flows/change/affected.js +35 -0
  220. package/dist/language/flows/change/flow-sources.d.ts +19 -0
  221. package/dist/language/flows/change/flow-sources.js +55 -0
  222. package/dist/language/flows/change/gate.js +33 -0
  223. package/dist/language/flows/decision.d.ts +45 -0
  224. package/dist/language/flows/decision.js +371 -0
  225. package/dist/language/flows/empty-flow.js +24 -0
  226. package/dist/language/flows/fields/flow-secret-field.d.ts +53 -0
  227. package/dist/language/flows/fields/flow-secret-field.js +75 -0
  228. package/dist/language/flows/fields/flow-upload-resolve.d.ts +23 -0
  229. package/dist/language/flows/fields/flow-upload-resolve.js +46 -0
  230. package/dist/language/flows/flow-anchor.d.ts +59 -0
  231. package/dist/language/flows/flow-anchor.js +240 -0
  232. package/dist/language/flows/flow-classify.d.ts +73 -0
  233. package/dist/language/flows/flow-classify.js +146 -0
  234. package/dist/language/flows/flow-expect-grammar.d.ts +33 -0
  235. package/dist/language/flows/flow-expect-grammar.js +155 -0
  236. package/dist/language/flows/flow-intent.d.ts +52 -0
  237. package/dist/language/flows/flow-intent.js +123 -0
  238. package/dist/language/flows/flow-learning.d.ts +52 -0
  239. package/dist/language/flows/flow-learning.js +76 -0
  240. package/dist/language/flows/flow-mutate-tools.d.ts +14 -0
  241. package/dist/language/flows/flow-mutate-tools.js +82 -0
  242. package/dist/language/flows/flow-replay-run.d.ts +91 -0
  243. package/dist/language/flows/flow-replay-run.js +748 -0
  244. package/dist/language/flows/flow-replay-types.d.ts +37 -0
  245. package/dist/language/flows/flow-replay-types.js +1 -0
  246. package/dist/language/flows/flow-replay.d.ts +91 -0
  247. package/dist/language/flows/flow-replay.js +487 -0
  248. package/dist/language/flows/flow-result.d.ts +35 -0
  249. package/dist/language/flows/flow-result.js +26 -0
  250. package/dist/language/flows/flow-step-runners.d.ts +54 -0
  251. package/dist/language/flows/flow-step-runners.js +369 -0
  252. package/dist/language/flows/flow-store-for-session.d.ts +32 -0
  253. package/dist/language/flows/flow-success.d.ts +32 -0
  254. package/dist/language/flows/flow-success.js +181 -0
  255. package/dist/language/flows/flow-tools.d.ts +15 -0
  256. package/dist/language/flows/flow-tools.js +842 -0
  257. package/dist/language/flows/flows.d.ts +114 -0
  258. package/dist/language/flows/flows.js +492 -0
  259. package/dist/language/flows/heal-precondition.d.ts +28 -0
  260. package/dist/language/flows/heal-precondition.js +38 -0
  261. package/dist/language/flows/heal-run.d.ts +17 -0
  262. package/dist/language/flows/heal-run.js +186 -0
  263. package/dist/language/flows/heal.js +97 -0
  264. package/dist/language/flows/mutation-run.d.ts +33 -0
  265. package/dist/language/flows/mutation-run.js +60 -0
  266. package/dist/language/flows/narrow-write.d.ts +32 -0
  267. package/dist/language/flows/narrow-write.js +26 -0
  268. package/dist/language/flows/recording/flake.d.ts +56 -0
  269. package/dist/language/flows/recording/recording-backtrack.js +73 -0
  270. package/dist/language/flows/recording/tape/recordings.d.ts +134 -0
  271. package/dist/language/flows/recording/tape/recordings.js +144 -0
  272. package/dist/language/flows/replay.d.ts +83 -0
  273. package/dist/language/flows/replay.js +397 -0
  274. package/dist/language/flows/role-anchor-nearest.js +45 -0
  275. package/dist/language/flows/stores/assertion-tiers-store.d.ts +26 -0
  276. package/dist/language/flows/stores/assertion-tiers-store.js +107 -0
  277. package/dist/language/flows/stores/flake-store.d.ts +18 -0
  278. package/dist/language/flows/stores/flake-store.js +58 -0
  279. package/dist/language/flows/suite/server-verify.d.ts +15 -0
  280. package/dist/language/flows/suite/server-verify.js +56 -0
  281. package/dist/language/flows/suite/suite-flakes.d.ts +34 -0
  282. package/dist/language/flows/suite/suite-flakes.js +32 -0
  283. package/dist/language/flows/suite-selection.d.ts +45 -0
  284. package/dist/language/flows/suite-selection.js +84 -0
  285. package/dist/language/flows/verify-change-tools.d.ts +2 -0
  286. package/dist/language/flows/verify-change-tools.js +244 -0
  287. package/dist/machine/clock.d.ts +24 -0
  288. package/dist/machine/clock.js +1 -0
  289. package/dist/machine/repo-root.d.ts +16 -0
  290. package/dist/machine/repo-root.js +20 -0
  291. package/dist/memory/cloud/account-state.d.ts +20 -0
  292. package/dist/memory/cloud/account-state.js +70 -0
  293. package/dist/memory/cloud/cloud-config.d.ts +79 -0
  294. package/dist/memory/cloud/cloud-config.js +156 -0
  295. package/dist/memory/cloud/cloud-sync.d.ts +195 -0
  296. package/dist/memory/cloud/cloud-sync.js +359 -0
  297. package/dist/memory/cloud/harness-config.d.ts +10 -0
  298. package/dist/memory/cloud/harness-config.js +58 -0
  299. package/dist/memory/cloud/harness-offer.d.ts +44 -0
  300. package/dist/memory/cloud/harness-offer.js +146 -0
  301. package/dist/memory/cloud/harness-switch.d.ts +11 -0
  302. package/dist/memory/cloud/harness-switch.js +53 -0
  303. package/dist/memory/cloud/sync-cycle.d.ts +121 -0
  304. package/dist/memory/cloud/sync-cycle.js +295 -0
  305. package/dist/memory/cloud/sync-daemon.d.ts +73 -0
  306. package/dist/memory/cloud/sync-daemon.js +297 -0
  307. package/dist/memory/cloud/sync-disk.js +193 -0
  308. package/dist/memory/impact/impact-recorder.d.ts +54 -0
  309. package/dist/memory/impact/impact-recorder.js +160 -0
  310. package/dist/memory/impact/impact-store.d.ts +52 -0
  311. package/dist/memory/impact/impact-store.js +274 -0
  312. package/dist/memory/intent/inline-intent.d.ts +60 -0
  313. package/dist/memory/intent/inline-intent.js +206 -0
  314. package/dist/memory/intent/intent-shard-store.d.ts +87 -0
  315. package/dist/memory/intent/intent-shard-store.js +215 -0
  316. package/dist/memory/intent/intent-shard.d.ts +389 -0
  317. package/dist/memory/intent/intent-shard.js +153 -0
  318. package/dist/memory/intent/intent-store.d.ts +47 -0
  319. package/dist/memory/intent/intent-store.js +133 -0
  320. package/dist/memory/intent/intent-subject.d.ts +46 -0
  321. package/dist/memory/intent/intent-subject.js +175 -0
  322. package/dist/memory/intent/intent-tools.d.ts +2 -0
  323. package/dist/memory/intent/intent-tools.js +157 -0
  324. package/dist/memory/intent/open-intents.d.ts +36 -0
  325. package/dist/memory/intent/open-intents.js +58 -0
  326. package/dist/memory/journal/ambient-store.d.ts +13 -0
  327. package/dist/memory/journal/ambient-store.js +52 -0
  328. package/dist/memory/journal/attach-journal.d.ts +37 -0
  329. package/dist/memory/journal/attach-journal.js +26 -0
  330. package/dist/memory/journal/drive-flow.d.ts +74 -0
  331. package/dist/memory/journal/drive-flow.js +157 -0
  332. package/dist/memory/journal/drive-run-flush.d.ts +42 -0
  333. package/dist/memory/journal/drive-run-flush.js +82 -0
  334. package/dist/memory/journal/envelope-store.d.ts +16 -0
  335. package/dist/memory/journal/envelope-store.js +61 -0
  336. package/dist/memory/journal/envelope.d.ts +230 -0
  337. package/dist/memory/journal/journal-query.d.ts +66 -0
  338. package/dist/memory/journal/journal-query.js +98 -0
  339. package/dist/memory/journal/journal-recorder.d.ts +109 -0
  340. package/dist/memory/journal/journal-recorder.js +153 -0
  341. package/dist/memory/journal/on-disk/ambient-file.d.ts +21 -0
  342. package/dist/memory/journal/on-disk/ambient-file.js +15 -0
  343. package/dist/memory/journal/on-disk/retention.d.ts +141 -0
  344. package/dist/memory/journal/on-disk/retention.js +291 -0
  345. package/dist/memory/journal/on-disk/workspace-gitignore.d.ts +21 -0
  346. package/dist/memory/journal/on-disk/workspace-gitignore.js +93 -0
  347. package/dist/memory/journal/self-observation.d.ts +3 -0
  348. package/dist/memory/journal/self-observation.js +67 -0
  349. package/dist/memory/journal/session-end.d.ts +112 -0
  350. package/dist/memory/journal/session-end.js +179 -0
  351. package/dist/memory/journal/session-journal.d.ts +134 -0
  352. package/dist/memory/journal/session-journal.js +614 -0
  353. package/dist/memory/project/artifact-root-resolver.d.ts +3 -0
  354. package/dist/memory/project/artifact-root-resolver.js +89 -0
  355. package/dist/memory/project/artifact-root.d.ts +109 -0
  356. package/dist/memory/project/artifact-root.js +157 -0
  357. package/dist/memory/project/dir/fill-value-store.d.ts +32 -0
  358. package/dist/memory/project/dir/fill-value-store.js +88 -0
  359. package/dist/memory/project/dir/reticle-dir.d.ts +139 -0
  360. package/dist/memory/project/dir/reticle-dir.js +229 -0
  361. package/dist/memory/project/fs/fs-port.d.ts +68 -0
  362. package/dist/memory/project/fs/fs-port.js +82 -0
  363. package/dist/memory/project/learned-routes.d.ts +38 -0
  364. package/dist/memory/project/learned-routes.js +79 -0
  365. package/dist/memory/project/memory-fs.d.ts +10 -0
  366. package/dist/memory/project/project-for-root.d.ts +30 -0
  367. package/dist/memory/project/project-for-root.js +43 -0
  368. package/dist/memory/project/project-store.d.ts +54 -0
  369. package/dist/memory/project/project-store.js +244 -0
  370. package/dist/memory/project/project-tools.d.ts +8 -0
  371. package/dist/memory/project/project-tools.js +160 -0
  372. package/dist/memory/project/reticle-deps.d.ts +15 -0
  373. package/dist/memory/project/reticle-deps.js +33 -0
  374. package/dist/memory/project/session-root.d.ts +52 -0
  375. package/dist/memory/project/session-root.js +100 -0
  376. package/dist/memory/recall/memory-tools.d.ts +2 -0
  377. package/dist/memory/recall/memory-tools.js +81 -0
  378. package/dist/memory/recall/prior/connection-memory.d.ts +65 -0
  379. package/dist/memory/recall/prior/connection-memory.js +114 -0
  380. package/dist/memory/recall/project-memory.d.ts +33 -0
  381. package/dist/portal/bridge/auth-failure-reason.d.ts +32 -0
  382. package/dist/portal/bridge/auth-failure-reason.js +68 -0
  383. package/dist/portal/bridge/bridge-security.d.ts +30 -0
  384. package/dist/portal/bridge/bridge-security.js +53 -0
  385. package/dist/portal/bridge/bridge.d.ts +109 -0
  386. package/dist/portal/bridge/bridge.js +808 -0
  387. package/dist/portal/input/drive-url-stamp.d.ts +14 -0
  388. package/dist/portal/input/drive-url-stamp.js +33 -0
  389. package/dist/portal/input/network-detail.d.ts +97 -0
  390. package/dist/portal/input/network-detail.js +138 -0
  391. package/dist/portal/input/network-mock-tools.d.ts +21 -0
  392. package/dist/portal/input/network-mock-tools.js +124 -0
  393. package/dist/portal/input/network-mock.js +83 -0
  394. package/dist/portal/input/network-mutation.d.ts +47 -0
  395. package/dist/portal/input/network-mutation.js +53 -0
  396. package/dist/portal/input/real-input.d.ts +261 -0
  397. package/dist/portal/input/real-input.js +488 -0
  398. package/dist/portal/input/scroll-find.js +111 -0
  399. package/dist/portal/input/scroll-tools.d.ts +2 -0
  400. package/dist/portal/input/scroll-tools.js +76 -0
  401. package/dist/portal/input/storage-fixture.d.ts +57 -0
  402. package/dist/portal/input/storage-fixture.js +92 -0
  403. package/dist/portal/input/viewport-tools.d.ts +2 -0
  404. package/dist/portal/input/viewport-tools.js +72 -0
  405. package/dist/portal/pool/browser-pool.d.ts +174 -0
  406. package/dist/portal/pool/browser-pool.js +559 -0
  407. package/dist/portal/pool/lease-reaper.js +40 -0
  408. package/dist/portal/pool/playwright-launcher.js +150 -0
  409. package/dist/portal/pool/pool-contract.d.ts +116 -0
  410. package/dist/portal/pool/pool-contract.js +8 -0
  411. package/dist/portal/pool/storage-seed.d.ts +23 -0
  412. package/dist/portal/realm/conformance-client.d.ts +43 -0
  413. package/dist/portal/realm/conformance-client.js +227 -0
  414. package/dist/portal/realm/http-witness.d.ts +48 -0
  415. package/dist/portal/realm/http-witness.js +135 -0
  416. package/dist/portal/realm/web-realm.d.ts +225 -0
  417. package/dist/portal/realm/web-realm.js +661 -0
  418. package/dist/portal/session/daemon-answers.d.ts +20 -0
  419. package/dist/portal/session/daemon-answers.js +20 -0
  420. package/dist/portal/session/dev-server/dev-server-probe.js +147 -0
  421. package/dist/portal/session/facts/handshake-facts.d.ts +56 -0
  422. package/dist/portal/session/facts/handshake-facts.js +1 -0
  423. package/dist/portal/session/facts/observed-state.d.ts +60 -0
  424. package/dist/portal/session/facts/observed-state.js +121 -0
  425. package/dist/portal/session/facts/session-replaced.d.ts +43 -0
  426. package/dist/portal/session/facts/session-replaced.js +51 -0
  427. package/dist/portal/session/live-control-tools.d.ts +15 -0
  428. package/dist/portal/session/live-control-tools.js +242 -0
  429. package/dist/portal/session/no-session-diagnosis.d.ts +176 -0
  430. package/dist/portal/session/no-session-diagnosis.js +457 -0
  431. package/dist/portal/session/no-session-next-action.d.ts +76 -0
  432. package/dist/portal/session/no-session-next-action.js +211 -0
  433. package/dist/portal/session/no-session-watch.js +351 -0
  434. package/dist/portal/session/output-budget.d.ts +82 -0
  435. package/dist/portal/session/output-budget.js +108 -0
  436. package/dist/portal/session/page-commands/undeclared-command.d.ts +30 -0
  437. package/dist/portal/session/page-commands/undeclared-command.js +44 -0
  438. package/dist/portal/session/presence/session-recommendation.js +29 -0
  439. package/dist/portal/session/rebind.d.ts +18 -0
  440. package/dist/portal/session/rebind.js +38 -0
  441. package/dist/portal/session/session-health.d.ts +145 -0
  442. package/dist/portal/session/session-health.js +154 -0
  443. package/dist/portal/session/session-manager.d.ts +81 -0
  444. package/dist/portal/session/session-manager.js +504 -0
  445. package/dist/portal/session/session-reaper.d.ts +36 -0
  446. package/dist/portal/session/session-reaper.js +93 -0
  447. package/dist/portal/session/session-tools.d.ts +8 -0
  448. package/dist/portal/session/session-tools.js +42 -0
  449. package/dist/portal/session/session.d.ts +279 -0
  450. package/dist/portal/session/session.js +875 -0
  451. package/dist/portal/session/stall-clock.js +48 -0
  452. package/dist/portal/session/timing/command-timeout.d.ts +40 -0
  453. package/dist/portal/session/timing/command-timeout.js +42 -0
  454. package/dist/start-options.d.ts +51 -0
  455. package/dist/start-options.js +7 -0
  456. package/dist/status-payload.d.ts +16 -10
  457. package/dist/status-payload.js +5 -2
  458. package/dist/surface/http-server.d.ts +52 -0
  459. package/dist/surface/http-server.js +379 -0
  460. package/dist/surface/mcp/consumer-verdict-guard.d.ts +40 -0
  461. package/dist/surface/mcp/consumer-verdict-guard.js +57 -0
  462. package/dist/surface/mcp/faults/mcp-is-error.d.ts +13 -0
  463. package/dist/surface/mcp/faults/mcp-is-error.js +18 -0
  464. package/dist/surface/mcp/faults/mcp-outage.d.ts +33 -0
  465. package/dist/surface/mcp/faults/mcp-outage.js +71 -0
  466. package/dist/surface/mcp/mcp-proxy.d.ts +119 -0
  467. package/dist/surface/mcp/mcp-proxy.js +882 -0
  468. package/dist/surface/mcp/mcp.d.ts +89 -0
  469. package/dist/surface/mcp/mcp.js +676 -0
  470. package/dist/surface/mcp/proxy/mcp-post-transport.js +109 -0
  471. package/dist/surface/mcp/proxy/proxy-daemon-probe.d.ts +22 -0
  472. package/dist/surface/mcp/proxy/proxy-daemon-probe.js +71 -0
  473. package/dist/surface/mcp/proxy/proxy-handshake.js +192 -0
  474. package/dist/surface/mcp/proxy/proxy-lifecycle.d.ts +90 -0
  475. package/dist/surface/mcp/proxy/proxy-lifecycle.js +98 -0
  476. package/dist/surface/mcp/proxy/proxy-log.d.ts +57 -0
  477. package/dist/surface/mcp/proxy/proxy-log.js +117 -0
  478. package/dist/surface/mcp/server-instructions.d.ts +26 -0
  479. package/dist/surface/mcp/server-instructions.js +156 -0
  480. package/dist/surface/mcp/surface-vocabulary.d.ts +47 -0
  481. package/dist/surface/mcp/surface-vocabulary.js +56 -0
  482. package/dist/surface/mcp/tool-catalog-cache.d.ts +45 -0
  483. package/dist/surface/mcp/tool-catalog-cache.js +77 -0
  484. package/dist/surface/tools/act/act-danger.js +69 -0
  485. package/dist/surface/tools/act/act-helpers.d.ts +17 -0
  486. package/dist/surface/tools/act/act-helpers.js +40 -0
  487. package/dist/surface/tools/act/act-observation.d.ts +42 -0
  488. package/dist/surface/tools/act/act-observation.js +36 -0
  489. package/dist/surface/tools/act/act-preflight.d.ts +27 -0
  490. package/dist/surface/tools/act/act-preflight.js +168 -0
  491. package/dist/surface/tools/act/act-target.d.ts +10 -0
  492. package/dist/surface/tools/act/act-target.js +100 -0
  493. package/dist/surface/tools/act/navigation/navigate-arrival.d.ts +68 -0
  494. package/dist/surface/tools/act/resolve-target.js +115 -0
  495. package/dist/surface/tools/act/sequence-grade.d.ts +79 -0
  496. package/dist/surface/tools/act/sequence-grade.js +104 -0
  497. package/dist/surface/tools/act-capsule.d.ts +33 -0
  498. package/dist/surface/tools/act-capsule.js +79 -0
  499. package/dist/surface/tools/act-merged.d.ts +20 -0
  500. package/dist/surface/tools/act-merged.js +53 -0
  501. package/dist/surface/tools/act-sequence-tool.js +330 -0
  502. package/dist/surface/tools/act-tools.d.ts +24 -0
  503. package/dist/surface/tools/act-tools.js +835 -0
  504. package/dist/surface/tools/args/numeric-bounds.d.ts +97 -0
  505. package/dist/surface/tools/args/numeric-bounds.js +133 -0
  506. package/dist/surface/tools/assert/assert-grade.d.ts +42 -0
  507. package/dist/surface/tools/assert/assert-grade.js +125 -0
  508. package/dist/surface/tools/assert/assert-source.d.ts +52 -0
  509. package/dist/surface/tools/assert/assert-source.js +74 -0
  510. package/dist/surface/tools/assert/assert-verdict.d.ts +48 -0
  511. package/dist/surface/tools/assert/assert-verdict.js +247 -0
  512. package/dist/surface/tools/browser-tools.d.ts +2 -0
  513. package/dist/surface/tools/browser-tools.js +115 -0
  514. package/dist/surface/tools/contract-tools.d.ts +2 -0
  515. package/dist/surface/tools/contract-tools.js +112 -0
  516. package/dist/surface/tools/coverage-tools.d.ts +18 -0
  517. package/dist/surface/tools/coverage-tools.js +178 -0
  518. package/dist/surface/tools/dynamic-tools.d.ts +17 -0
  519. package/dist/surface/tools/dynamic-tools.js +282 -0
  520. package/dist/surface/tools/error-recovery.d.ts +116 -0
  521. package/dist/surface/tools/error-recovery.js +527 -0
  522. package/dist/surface/tools/explore-tools.d.ts +14 -0
  523. package/dist/surface/tools/explore-tools.js +162 -0
  524. package/dist/surface/tools/feature-capture.d.ts +151 -0
  525. package/dist/surface/tools/feature-capture.js +235 -0
  526. package/dist/surface/tools/feedback-invite.d.ts +48 -0
  527. package/dist/surface/tools/feedback-invite.js +71 -0
  528. package/dist/surface/tools/feedback-tools.d.ts +35 -0
  529. package/dist/surface/tools/feedback-tools.js +280 -0
  530. package/dist/surface/tools/first-sentence.d.ts +24 -0
  531. package/dist/surface/tools/first-sentence.js +0 -0
  532. package/dist/surface/tools/gap-novelty.d.ts +39 -0
  533. package/dist/surface/tools/gap-novelty.js +69 -0
  534. package/dist/surface/tools/gaps/capability-absences.d.ts +39 -0
  535. package/dist/surface/tools/gaps/capability-absences.js +46 -0
  536. package/dist/surface/tools/harness-explore.d.ts +177 -0
  537. package/dist/surface/tools/harness-explore.js +453 -0
  538. package/dist/surface/tools/harness-plan.d.ts +76 -0
  539. package/dist/surface/tools/harness-plan.js +156 -0
  540. package/dist/surface/tools/harness-toolset.d.ts +35 -0
  541. package/dist/surface/tools/harness-toolset.js +144 -0
  542. package/dist/surface/tools/inspect-tool.d.ts +4 -0
  543. package/dist/surface/tools/inspect-tool.js +142 -0
  544. package/dist/surface/tools/invoke-tool.d.ts +10 -0
  545. package/dist/surface/tools/invoke-tool.js +668 -0
  546. package/dist/surface/tools/lease-hint.d.ts +50 -0
  547. package/dist/surface/tools/lease-hint.js +125 -0
  548. package/dist/surface/tools/lease-tools.d.ts +195 -0
  549. package/dist/surface/tools/lease-tools.js +797 -0
  550. package/dist/surface/tools/lineage-tools.d.ts +14 -0
  551. package/dist/surface/tools/lineage-tools.js +64 -0
  552. package/dist/surface/tools/live-call-text.d.ts +25 -0
  553. package/dist/surface/tools/live-call-text.js +191 -0
  554. package/dist/surface/tools/merge-tools.d.ts +68 -0
  555. package/dist/surface/tools/merge-tools.js +110 -0
  556. package/dist/surface/tools/merged-name-redirect.d.ts +36 -0
  557. package/dist/surface/tools/merged-name-redirect.js +107 -0
  558. package/dist/surface/tools/observe-tools.js +700 -0
  559. package/dist/surface/tools/read/query-windowed.d.ts +54 -0
  560. package/dist/surface/tools/read/query-windowed.js +75 -0
  561. package/dist/surface/tools/read/snapshot-delta.d.ts +92 -0
  562. package/dist/surface/tools/read/snapshot-delta.js +356 -0
  563. package/dist/surface/tools/read-tools.js +569 -0
  564. package/dist/surface/tools/real-input-attempt.d.ts +68 -0
  565. package/dist/surface/tools/real-input-attempt.js +360 -0
  566. package/dist/surface/tools/reconcile-tools.js +211 -0
  567. package/dist/surface/tools/tool-hit-rate.js +90 -0
  568. package/dist/surface/tools/tool-kit.d.ts +254 -0
  569. package/dist/surface/tools/tool-kit.js +123 -0
  570. package/dist/surface/tools/tool-surface.d.ts +195 -0
  571. package/dist/surface/tools/tool-surface.js +429 -0
  572. package/dist/surface/tools/tools-helpers.d.ts +40 -0
  573. package/dist/surface/tools/tools-helpers.js +76 -0
  574. package/dist/surface/tools/tools.d.ts +76 -0
  575. package/dist/surface/tools/tools.js +799 -0
  576. package/dist/surface/tools/unadvertised-help.js +60 -0
  577. package/dist/surface/tools/verify-next-baton.js +52 -0
  578. package/dist/telemetry/app-instrumented.d.ts +3 -5
  579. package/dist/telemetry/app-instrumented.js +17 -6
  580. package/dist/telemetry/argument-shape.js +4 -4
  581. package/dist/telemetry/bug-found.js +49 -27
  582. package/dist/telemetry/cli-telemetry.js +27 -10
  583. package/dist/telemetry/daemon-telemetry.d.ts +7 -13
  584. package/dist/telemetry/daemon-telemetry.js +15 -22
  585. package/dist/telemetry/error-fingerprint.js +26 -1
  586. package/dist/telemetry/feedback-cli.d.ts +1 -1
  587. package/dist/telemetry/feedback-cli.js +2 -2
  588. package/dist/telemetry/feedback-context.js +4 -4
  589. package/dist/telemetry/feedback.js +1 -1
  590. package/dist/telemetry/harness-drive.d.ts +6 -0
  591. package/dist/telemetry/harness-drive.js +39 -0
  592. package/dist/telemetry/install-source.js +1 -1
  593. package/dist/telemetry/install-trace.d.ts +8 -0
  594. package/dist/telemetry/install-trace.js +74 -0
  595. package/dist/telemetry/license-activation.js +1 -1
  596. package/dist/telemetry/mcp-connection.d.ts +14 -1
  597. package/dist/telemetry/mcp-connection.js +17 -2
  598. package/dist/telemetry/onboarding-firsts.d.ts +40 -0
  599. package/dist/telemetry/onboarding-firsts.js +109 -0
  600. package/dist/telemetry/onboarding-funnel.d.ts +26 -0
  601. package/dist/telemetry/onboarding-funnel.js +60 -0
  602. package/dist/telemetry/project-profile.js +1 -1
  603. package/dist/telemetry/run-telemetry.js +13 -0
  604. package/dist/telemetry/session-metrics.d.ts +6 -7
  605. package/dist/telemetry/session-metrics.js +14 -21
  606. package/dist/telemetry/telemetry.d.ts +8 -1
  607. package/dist/telemetry/telemetry.js +6 -5
  608. package/dist/telemetry/verification-of.d.ts +6 -8
  609. package/dist/telemetry/verification-of.js +38 -12
  610. package/dist/workspace-packages.d.ts +22 -0
  611. package/dist/workspace-packages.js +57 -0
  612. package/docs/README.md +29 -23
  613. package/docs/actions.mdx +4 -4
  614. package/docs/adapters.md +75 -0
  615. package/docs/agent-cheatsheet.md +37 -27
  616. package/docs/architecture.md +3 -2
  617. package/docs/autodrive.md +99 -0
  618. package/docs/benchmarks.md +1 -1
  619. package/docs/best-practices.mdx +3 -3
  620. package/docs/capabilities.mdx +4 -4
  621. package/docs/cli/cloud.mdx +4 -4
  622. package/docs/cli/doctor.mdx +1 -0
  623. package/docs/cli/feedback.mdx +1 -1
  624. package/docs/cli/init.mdx +3 -3
  625. package/docs/cli/mcp.mdx +1 -1
  626. package/docs/cli/status.mdx +35 -20
  627. package/docs/cli/watch.mdx +1 -1
  628. package/docs/cli.mdx +15 -25
  629. package/docs/desktop.mdx +1 -1
  630. package/docs/enterprise.md +3 -2
  631. package/docs/faq.mdx +4 -4
  632. package/docs/first-drive.md +5 -5
  633. package/docs/flows.md +5 -5
  634. package/docs/for-agents.md +2 -1
  635. package/docs/frameworks.mdx +1 -1
  636. package/docs/getting-started.md +30 -21
  637. package/docs/http-transport.md +1 -1
  638. package/docs/index.mdx +28 -10
  639. package/docs/install-agentic.mdx +12 -4
  640. package/docs/install-manual.mdx +23 -7
  641. package/docs/instrumentation.mdx +3 -3
  642. package/docs/local-registry.md +15 -4
  643. package/docs/packages/babel-plugin.mdx +1 -1
  644. package/docs/packages/browser.mdx +2 -2
  645. package/docs/packages/core.mdx +2 -2
  646. package/docs/packages/engine.mdx +40 -0
  647. package/docs/packages/open-verification.mdx +40 -0
  648. package/docs/packages/tauri.mdx +1 -1
  649. package/docs/packages.mdx +22 -2
  650. package/docs/platform-integration.md +3 -3
  651. package/docs/predicates.mdx +19 -3
  652. package/docs/protocol.mdx +60 -0
  653. package/docs/quickstart.mdx +48 -13
  654. package/docs/recipes.mdx +1 -1
  655. package/docs/required-checks.md +37 -0
  656. package/docs/skill-file.mdx +2 -2
  657. package/docs/skill-setup.md +104 -0
  658. package/docs/state-files.md +46 -0
  659. package/docs/state-management.mdx +1 -1
  660. package/docs/system-map.md +8 -6
  661. package/docs/telemetry.md +4 -3
  662. package/docs/testing.md +12 -3
  663. package/docs/token-efficiency.md +3 -3
  664. package/docs/tools/act-and-wait.mdx +173 -0
  665. package/docs/tools/act-sequence.mdx +160 -0
  666. package/docs/tools/act.mdx +95 -0
  667. package/docs/tools/assert.mdx +129 -0
  668. package/docs/tools/console.mdx +70 -0
  669. package/docs/tools/inspect.mdx +95 -0
  670. package/docs/tools/navigate.mdx +107 -0
  671. package/docs/tools/network.mdx +126 -0
  672. package/docs/tools/observe.mdx +145 -0
  673. package/docs/tools/overview.mdx +163 -0
  674. package/docs/tools/query.mdx +133 -0
  675. package/docs/tools/sessions.mdx +101 -0
  676. package/docs/tools/snapshot.mdx +136 -0
  677. package/docs/tools/state.mdx +111 -0
  678. package/docs/tools/wait-for.mdx +92 -0
  679. package/docs/troubleshooting.mdx +43 -9
  680. package/docs/usage.md +59 -59
  681. package/package.json +31 -13
  682. package/dist/bridge/auth-failure-reason.d.ts +0 -23
  683. package/dist/bridge/auth-failure-reason.js +0 -47
  684. package/dist/bridge/bridge-security.d.ts +0 -30
  685. package/dist/bridge/bridge-security.js +0 -53
  686. package/dist/bridge/bridge.d.ts +0 -95
  687. package/dist/bridge/bridge.js +0 -713
  688. package/dist/bridge/bridge.test-harness.d.ts +0 -65
  689. package/dist/bridge/bridge.test-harness.js +0 -230
  690. package/dist/capsule/capsule-store.d.ts +0 -71
  691. package/dist/capsule/capsule-store.js +0 -114
  692. package/dist/capsule/capsule.d.ts +0 -18
  693. package/dist/capsule/capsule.js +0 -35
  694. package/dist/capsule/causal-summary.d.ts +0 -119
  695. package/dist/capsule/causal-summary.js +0 -172
  696. package/dist/capsule/divergence.d.ts +0 -35
  697. package/dist/capsule/predicate-to-links.d.ts +0 -8
  698. package/dist/capsule/predicate-to-links.js +0 -33
  699. package/dist/cli/adhoc-verdict.d.ts +0 -58
  700. package/dist/cli/adhoc-verdict.js +0 -115
  701. package/dist/cli/cli-doctor.js +0 -195
  702. package/dist/cli/cli-flow-commands.d.ts +0 -46
  703. package/dist/cli/cli-flow-commands.js +0 -255
  704. package/dist/cli/cli-kill.d.ts +0 -59
  705. package/dist/cli/cli-kill.js +0 -162
  706. package/dist/cli/cli-launch.d.ts +0 -92
  707. package/dist/cli/cli-launch.js +0 -223
  708. package/dist/cli/cli-parse.d.ts +0 -171
  709. package/dist/cli/cli-parse.js +0 -874
  710. package/dist/cli/cli-port.d.ts +0 -70
  711. package/dist/cli/cli-port.js +0 -136
  712. package/dist/cli/cli-update-commands.js +0 -112
  713. package/dist/cli/cli-verify.d.ts +0 -86
  714. package/dist/cli/cli-verify.js +0 -340
  715. package/dist/cli/cloud-cli.js +0 -694
  716. package/dist/cli/cloud-keystore.js +0 -97
  717. package/dist/cli/cloud-kit.d.ts +0 -37
  718. package/dist/cli/cloud-kit.js +0 -121
  719. package/dist/cli/cloud-login.js +0 -183
  720. package/dist/cli/config-discovery.d.ts +0 -36
  721. package/dist/cli/config-discovery.js +0 -164
  722. package/dist/cli/daemon-start-options.d.ts +0 -33
  723. package/dist/cli/device-flow.d.ts +0 -76
  724. package/dist/cli/device-flow.js +0 -56
  725. package/dist/cli/doctor-daemon-line.js +0 -47
  726. package/dist/cli/doctor-rows.d.ts +0 -63
  727. package/dist/cli/doctor-rows.js +0 -65
  728. package/dist/cli/doctor-sessions-line.js +0 -69
  729. package/dist/cli/drive-attach.d.ts +0 -113
  730. package/dist/cli/drive-attach.js +0 -221
  731. package/dist/cli/drive-command.js +0 -107
  732. package/dist/cli/mcp-command.js +0 -174
  733. package/dist/cli/port-holder.js +0 -123
  734. package/dist/cli/status-next-action.d.ts +0 -51
  735. package/dist/cli/status-next-action.js +0 -60
  736. package/dist/cli.d.ts +0 -6
  737. package/dist/cli.js +0 -828
  738. package/dist/cloud/account-state.d.ts +0 -20
  739. package/dist/cloud/account-state.js +0 -65
  740. package/dist/cloud/cloud-config.d.ts +0 -57
  741. package/dist/cloud/cloud-config.js +0 -145
  742. package/dist/cloud/cloud-sync.d.ts +0 -190
  743. package/dist/cloud/cloud-sync.js +0 -354
  744. package/dist/cloud/sync-cycle.d.ts +0 -111
  745. package/dist/cloud/sync-cycle.js +0 -270
  746. package/dist/cloud/sync-daemon.d.ts +0 -53
  747. package/dist/cloud/sync-daemon.js +0 -260
  748. package/dist/cloud/sync-disk.js +0 -191
  749. package/dist/crawl/crawl-tools.d.ts +0 -7
  750. package/dist/crawl/crawl-tools.js +0 -87
  751. package/dist/crawl/crawl.d.ts +0 -98
  752. package/dist/crawl/crawl.js +0 -441
  753. package/dist/daemon/daemon-resilience.d.ts +0 -74
  754. package/dist/daemon/daemon-resilience.js +0 -318
  755. package/dist/daemon/daemon-resolve.d.ts +0 -113
  756. package/dist/daemon/daemon-resolve.js +0 -187
  757. package/dist/daemon/daemon-usefulness.d.ts +0 -61
  758. package/dist/daemon/daemon-usefulness.js +0 -62
  759. package/dist/daemon/daemon.d.ts +0 -95
  760. package/dist/daemon/daemon.js +0 -336
  761. package/dist/daemon/heartbeat.d.ts +0 -111
  762. package/dist/daemon/heartbeat.js +0 -141
  763. package/dist/daemon/idle-grace.d.ts +0 -32
  764. package/dist/daemon/idle-grace.js +0 -41
  765. package/dist/daemon/idle-shutdown.d.ts +0 -54
  766. package/dist/daemon/idle-shutdown.js +0 -98
  767. package/dist/daemon/state-dir.js +0 -59
  768. package/dist/daemon/wake-decision.d.ts +0 -32
  769. package/dist/daemon/wake-decision.js +0 -38
  770. package/dist/dev/stale-issue-guard.d.ts +0 -41
  771. package/dist/dev/stale-issue-guard.js +0 -75
  772. package/dist/domain/domain-model.js +0 -126
  773. package/dist/domain/domain-tools.d.ts +0 -2
  774. package/dist/domain/domain-tools.js +0 -94
  775. package/dist/domain/flow-risk.js +0 -80
  776. package/dist/ee/audit-log.js +0 -11
  777. package/dist/events/body-failures.d.ts +0 -4
  778. package/dist/events/body-failures.js +0 -113
  779. package/dist/events/contradiction-folds.d.ts +0 -45
  780. package/dist/events/contradiction-folds.js +0 -42
  781. package/dist/events/contradictions.d.ts +0 -170
  782. package/dist/events/contradictions.js +0 -718
  783. package/dist/events/declared.d.ts +0 -74
  784. package/dist/events/declared.js +0 -171
  785. package/dist/events/echo-mismatch.d.ts +0 -10
  786. package/dist/events/echo-mismatch.js +0 -299
  787. package/dist/events/event-filters.d.ts +0 -121
  788. package/dist/events/event-filters.js +0 -215
  789. package/dist/events/json-salvage.d.ts +0 -33
  790. package/dist/events/json-salvage.js +0 -96
  791. package/dist/events/lineage.d.ts +0 -52
  792. package/dist/events/lineage.js +0 -122
  793. package/dist/events/net-evidence.d.ts +0 -21
  794. package/dist/events/net-evidence.js +0 -81
  795. package/dist/events/observed-in-window.d.ts +0 -24
  796. package/dist/events/observed-in-window.js +0 -38
  797. package/dist/events/predicate-asks.d.ts +0 -30
  798. package/dist/events/predicate-asks.js +0 -48
  799. package/dist/events/predicate-console.d.ts +0 -13
  800. package/dist/events/predicate-console.js +0 -138
  801. package/dist/events/predicate-element.d.ts +0 -13
  802. package/dist/events/predicate-element.js +0 -214
  803. package/dist/events/predicate-eval.d.ts +0 -101
  804. package/dist/events/predicate-eval.js +0 -834
  805. package/dist/events/predicate-parse.d.ts +0 -17
  806. package/dist/events/predicate-parse.js +0 -175
  807. package/dist/events/predicate-precheck.d.ts +0 -8
  808. package/dist/events/predicate-precheck.js +0 -41
  809. package/dist/events/predicate-request-body.d.ts +0 -50
  810. package/dist/events/predicate-request-body.js +0 -120
  811. package/dist/events/predicate-route.d.ts +0 -66
  812. package/dist/events/predicate-route.js +0 -258
  813. package/dist/events/predicate-schema.d.ts +0 -168
  814. package/dist/events/predicate-schema.js +0 -501
  815. package/dist/events/predicate.d.ts +0 -74
  816. package/dist/events/predicate.js +0 -725
  817. package/dist/events/reaction.d.ts +0 -33
  818. package/dist/events/reaction.js +0 -59
  819. package/dist/events/reconcile.d.ts +0 -39
  820. package/dist/events/reconcile.js +0 -211
  821. package/dist/events/ring-buffer.d.ts +0 -41
  822. package/dist/events/ring-buffer.js +0 -151
  823. package/dist/events/split-text-miss.d.ts +0 -32
  824. package/dist/events/split-text-miss.js +0 -51
  825. package/dist/events/stale-response.d.ts +0 -3
  826. package/dist/events/stale-response.js +0 -186
  827. package/dist/events/testid-near-miss.d.ts +0 -22
  828. package/dist/events/testid-near-miss.js +0 -33
  829. package/dist/events/unit-mismatch.d.ts +0 -16
  830. package/dist/events/unit-mismatch.js +0 -167
  831. package/dist/flows/affected-tools.d.ts +0 -18
  832. package/dist/flows/affected-tools.js +0 -80
  833. package/dist/flows/affected.d.ts +0 -24
  834. package/dist/flows/affected.js +0 -35
  835. package/dist/flows/annotate-tools.d.ts +0 -15
  836. package/dist/flows/annotate-tools.js +0 -179
  837. package/dist/flows/assertion-tiers-store.d.ts +0 -16
  838. package/dist/flows/assertion-tiers-store.js +0 -98
  839. package/dist/flows/decision.d.ts +0 -25
  840. package/dist/flows/decision.js +0 -201
  841. package/dist/flows/empty-flow.js +0 -24
  842. package/dist/flows/flake-store.d.ts +0 -18
  843. package/dist/flows/flake-store.js +0 -58
  844. package/dist/flows/flake.d.ts +0 -56
  845. package/dist/flows/flow-classify.d.ts +0 -51
  846. package/dist/flows/flow-classify.js +0 -102
  847. package/dist/flows/flow-expect-grammar.d.ts +0 -33
  848. package/dist/flows/flow-expect-grammar.js +0 -155
  849. package/dist/flows/flow-intent.d.ts +0 -52
  850. package/dist/flows/flow-intent.js +0 -123
  851. package/dist/flows/flow-replay-run.d.ts +0 -43
  852. package/dist/flows/flow-replay-run.js +0 -478
  853. package/dist/flows/flow-replay.d.ts +0 -82
  854. package/dist/flows/flow-replay.js +0 -519
  855. package/dist/flows/flow-secret-field.d.ts +0 -14
  856. package/dist/flows/flow-secret-field.js +0 -22
  857. package/dist/flows/flow-sources.d.ts +0 -19
  858. package/dist/flows/flow-sources.js +0 -32
  859. package/dist/flows/flow-step-runners.d.ts +0 -52
  860. package/dist/flows/flow-step-runners.js +0 -315
  861. package/dist/flows/flow-store-for-session.d.ts +0 -31
  862. package/dist/flows/flow-success.d.ts +0 -32
  863. package/dist/flows/flow-success.js +0 -169
  864. package/dist/flows/flow-tools.d.ts +0 -15
  865. package/dist/flows/flow-tools.js +0 -639
  866. package/dist/flows/flow-upload-resolve.d.ts +0 -23
  867. package/dist/flows/flow-upload-resolve.js +0 -46
  868. package/dist/flows/flows.d.ts +0 -130
  869. package/dist/flows/flows.js +0 -870
  870. package/dist/flows/gate.js +0 -33
  871. package/dist/flows/heal-run.d.ts +0 -10
  872. package/dist/flows/heal-run.js +0 -139
  873. package/dist/flows/heal.js +0 -97
  874. package/dist/flows/predicate-to-expect.d.ts +0 -44
  875. package/dist/flows/predicate-to-expect.js +0 -130
  876. package/dist/flows/recording-backtrack.js +0 -73
  877. package/dist/flows/recordings.d.ts +0 -63
  878. package/dist/flows/recordings.js +0 -57
  879. package/dist/flows/replay.d.ts +0 -62
  880. package/dist/flows/replay.js +0 -337
  881. package/dist/flows/role-anchor-nearest.js +0 -45
  882. package/dist/flows/server-verify.d.ts +0 -15
  883. package/dist/flows/server-verify.js +0 -56
  884. package/dist/flows/suite-flakes.d.ts +0 -34
  885. package/dist/flows/suite-flakes.js +0 -32
  886. package/dist/flows/verify-change-tools.d.ts +0 -2
  887. package/dist/flows/verify-change-tools.js +0 -231
  888. package/dist/honesty/accepted-write.d.ts +0 -17
  889. package/dist/honesty/accepted-write.js +0 -22
  890. package/dist/honesty/already-true.d.ts +0 -16
  891. package/dist/honesty/already-true.js +0 -89
  892. package/dist/honesty/blind-spots.d.ts +0 -133
  893. package/dist/honesty/blind-spots.js +0 -248
  894. package/dist/honesty/body-capture-remedy.d.ts +0 -42
  895. package/dist/honesty/body-capture-remedy.js +0 -95
  896. package/dist/honesty/feature-capture.d.ts +0 -151
  897. package/dist/honesty/feature-capture.js +0 -233
  898. package/dist/honesty/gap-ledger.d.ts +0 -52
  899. package/dist/honesty/gap-ledger.js +0 -63
  900. package/dist/honesty/honesty.d.ts +0 -103
  901. package/dist/honesty/honesty.js +0 -95
  902. package/dist/honesty/instrumentation-gaps.d.ts +0 -95
  903. package/dist/honesty/instrumentation-gaps.js +0 -114
  904. package/dist/honesty/observability.d.ts +0 -38
  905. package/dist/honesty/observability.js +0 -40
  906. package/dist/honesty/tool-hit-rate.js +0 -90
  907. package/dist/honesty/uncaptured-bodies.d.ts +0 -23
  908. package/dist/honesty/uncaptured-bodies.js +0 -41
  909. package/dist/honesty/undeclared-change.d.ts +0 -51
  910. package/dist/honesty/undeclared-change.js +0 -56
  911. package/dist/honesty/unread-outcome.d.ts +0 -10
  912. package/dist/honesty/unread-outcome.js +0 -77
  913. package/dist/honesty/unsettled.d.ts +0 -58
  914. package/dist/honesty/unsettled.js +0 -127
  915. package/dist/honesty/verified.d.ts +0 -148
  916. package/dist/honesty/verified.js +0 -330
  917. package/dist/http-server.d.ts +0 -52
  918. package/dist/http-server.js +0 -381
  919. package/dist/impact/impact-recorder.d.ts +0 -46
  920. package/dist/impact/impact-recorder.js +0 -159
  921. package/dist/impact/impact-store.d.ts +0 -47
  922. package/dist/impact/impact-store.js +0 -255
  923. package/dist/input/network-detail.d.ts +0 -104
  924. package/dist/input/network-detail.js +0 -211
  925. package/dist/input/network-mock-tools.d.ts +0 -21
  926. package/dist/input/network-mock-tools.js +0 -124
  927. package/dist/input/network-mock.js +0 -61
  928. package/dist/input/real-input.d.ts +0 -222
  929. package/dist/input/real-input.js +0 -405
  930. package/dist/input/scroll-find.js +0 -111
  931. package/dist/input/scroll-tools.d.ts +0 -2
  932. package/dist/input/scroll-tools.js +0 -76
  933. package/dist/input/viewport-tools.d.ts +0 -2
  934. package/dist/input/viewport-tools.js +0 -72
  935. package/dist/intent/inline-intent.d.ts +0 -27
  936. package/dist/intent/inline-intent.js +0 -193
  937. package/dist/intent/intent-shard-store.d.ts +0 -73
  938. package/dist/intent/intent-shard-store.js +0 -203
  939. package/dist/intent/intent-shard.d.ts +0 -411
  940. package/dist/intent/intent-shard.js +0 -176
  941. package/dist/intent/intent-store.d.ts +0 -49
  942. package/dist/intent/intent-store.js +0 -133
  943. package/dist/intent/intent-subject.d.ts +0 -46
  944. package/dist/intent/intent-subject.js +0 -177
  945. package/dist/intent/intent-tools.d.ts +0 -2
  946. package/dist/intent/intent-tools.js +0 -143
  947. package/dist/intent/open-intents.d.ts +0 -43
  948. package/dist/intent/open-intents.js +0 -40
  949. package/dist/journal/ambient-store.d.ts +0 -13
  950. package/dist/journal/ambient-store.js +0 -45
  951. package/dist/journal/ambient.d.ts +0 -47
  952. package/dist/journal/ambient.js +0 -47
  953. package/dist/journal/attach-journal.d.ts +0 -30
  954. package/dist/journal/attach-journal.js +0 -30
  955. package/dist/journal/envelope-store.d.ts +0 -16
  956. package/dist/journal/envelope-store.js +0 -61
  957. package/dist/journal/envelope.d.ts +0 -230
  958. package/dist/journal/journal-query.d.ts +0 -32
  959. package/dist/journal/journal-query.js +0 -52
  960. package/dist/journal/journal-recorder.d.ts +0 -61
  961. package/dist/journal/journal-recorder.js +0 -115
  962. package/dist/journal/retention.d.ts +0 -20
  963. package/dist/journal/retention.js +0 -49
  964. package/dist/journal/session-end.d.ts +0 -32
  965. package/dist/journal/session-end.js +0 -51
  966. package/dist/journal/session-journal.d.ts +0 -24
  967. package/dist/journal/session-journal.js +0 -167
  968. package/dist/journal/workspace-gitignore.d.ts +0 -10
  969. package/dist/journal/workspace-gitignore.js +0 -59
  970. package/dist/license/license-env.d.ts +0 -29
  971. package/dist/license/license-env.js +0 -148
  972. package/dist/license/license.d.ts +0 -169
  973. package/dist/license/license.js +0 -289
  974. package/dist/mcp/mcp-is-error.d.ts +0 -13
  975. package/dist/mcp/mcp-is-error.js +0 -18
  976. package/dist/mcp/mcp-outage.d.ts +0 -32
  977. package/dist/mcp/mcp-outage.js +0 -55
  978. package/dist/mcp/mcp-post-transport.js +0 -109
  979. package/dist/mcp/mcp-proxy.d.ts +0 -110
  980. package/dist/mcp/mcp-proxy.js +0 -872
  981. package/dist/mcp/mcp.d.ts +0 -80
  982. package/dist/mcp/mcp.js +0 -536
  983. package/dist/mcp/proxy-daemon-probe.d.ts +0 -9
  984. package/dist/mcp/proxy-daemon-probe.js +0 -54
  985. package/dist/mcp/proxy-handshake.js +0 -192
  986. package/dist/mcp/proxy-lifecycle.d.ts +0 -92
  987. package/dist/mcp/proxy-lifecycle.js +0 -100
  988. package/dist/mcp/proxy-log.d.ts +0 -63
  989. package/dist/mcp/proxy-log.js +0 -132
  990. package/dist/mcp/server-instructions.d.ts +0 -18
  991. package/dist/mcp/server-instructions.js +0 -98
  992. package/dist/mcp/tool-catalog-cache.d.ts +0 -45
  993. package/dist/mcp/tool-catalog-cache.js +0 -77
  994. package/dist/memory/memory-tools.d.ts +0 -2
  995. package/dist/memory/memory-tools.js +0 -82
  996. package/dist/memory/project-memory.d.ts +0 -33
  997. package/dist/oracles/propose-consequences.d.ts +0 -22
  998. package/dist/oracles/propose-consequences.js +0 -106
  999. package/dist/pool/browser-pool.d.ts +0 -282
  1000. package/dist/pool/browser-pool.js +0 -560
  1001. package/dist/pool/lease-reaper.js +0 -40
  1002. package/dist/pool/playwright-launcher.js +0 -150
  1003. package/dist/pool/storage-seed.d.ts +0 -23
  1004. package/dist/project/artifact-root.d.ts +0 -84
  1005. package/dist/project/artifact-root.js +0 -112
  1006. package/dist/project/fs-port.d.ts +0 -47
  1007. package/dist/project/fs-port.js +0 -54
  1008. package/dist/project/learned-routes.d.ts +0 -24
  1009. package/dist/project/learned-routes.js +0 -63
  1010. package/dist/project/memory-fs.d.ts +0 -10
  1011. package/dist/project/project-store.d.ts +0 -54
  1012. package/dist/project/project-store.js +0 -201
  1013. package/dist/project/project-tools.d.ts +0 -2
  1014. package/dist/project/project-tools.js +0 -155
  1015. package/dist/project/reticle-dir.d.ts +0 -102
  1016. package/dist/project/reticle-dir.js +0 -188
  1017. package/dist/project/session-root.d.ts +0 -23
  1018. package/dist/project/session-root.js +0 -38
  1019. package/dist/runs/build-verification-run.d.ts +0 -29
  1020. package/dist/runs/build-verification-run.js +0 -70
  1021. package/dist/runs/context-tools.d.ts +0 -2
  1022. package/dist/runs/context-tools.js +0 -89
  1023. package/dist/runs/render-report.js +0 -69
  1024. package/dist/runs/replay-mapping.js +0 -34
  1025. package/dist/runs/reticle-runner.d.ts +0 -60
  1026. package/dist/runs/reticle-runner.js +0 -95
  1027. package/dist/runs/run-store.d.ts +0 -54
  1028. package/dist/runs/run-store.js +0 -147
  1029. package/dist/runs/run-tools.d.ts +0 -9
  1030. package/dist/runs/run-tools.js +0 -82
  1031. package/dist/runs/runner-port.d.ts +0 -13
  1032. package/dist/runs/runner-port.js +0 -22
  1033. package/dist/runs/verification-sync.d.ts +0 -12
  1034. package/dist/runs/verification-sync.js +0 -87
  1035. package/dist/session/command-timeout.d.ts +0 -46
  1036. package/dist/session/command-timeout.js +0 -42
  1037. package/dist/session/connection-memory.d.ts +0 -59
  1038. package/dist/session/connection-memory.js +0 -108
  1039. package/dist/session/dev-server-probe.js +0 -147
  1040. package/dist/session/live-control-tools.d.ts +0 -15
  1041. package/dist/session/live-control-tools.js +0 -242
  1042. package/dist/session/no-session-diagnosis.d.ts +0 -176
  1043. package/dist/session/no-session-diagnosis.js +0 -477
  1044. package/dist/session/no-session-next-action.d.ts +0 -72
  1045. package/dist/session/no-session-next-action.js +0 -174
  1046. package/dist/session/no-session-watch.js +0 -335
  1047. package/dist/session/observed-state.d.ts +0 -60
  1048. package/dist/session/observed-state.js +0 -121
  1049. package/dist/session/output-budget.d.ts +0 -49
  1050. package/dist/session/output-budget.js +0 -67
  1051. package/dist/session/session-health.d.ts +0 -138
  1052. package/dist/session/session-health.js +0 -154
  1053. package/dist/session/session-manager.d.ts +0 -76
  1054. package/dist/session/session-manager.js +0 -464
  1055. package/dist/session/session-reaper.d.ts +0 -36
  1056. package/dist/session/session-reaper.js +0 -93
  1057. package/dist/session/session-recommendation.js +0 -29
  1058. package/dist/session/session-replaced.d.ts +0 -24
  1059. package/dist/session/session-replaced.js +0 -29
  1060. package/dist/session/session-tools.d.ts +0 -8
  1061. package/dist/session/session-tools.js +0 -42
  1062. package/dist/session/session.d.ts +0 -280
  1063. package/dist/session/session.js +0 -891
  1064. package/dist/session/stall-clock.js +0 -48
  1065. package/dist/setup/agent-configs.d.ts +0 -97
  1066. package/dist/setup/agent-configs.js +0 -333
  1067. package/dist/setup/agent-writer.d.ts +0 -52
  1068. package/dist/setup/agent-writer.js +0 -115
  1069. package/dist/setup/auto-approve.js +0 -153
  1070. package/dist/setup/bridge-port.d.ts +0 -15
  1071. package/dist/setup/bridge-port.js +0 -24
  1072. package/dist/setup/confirm.js +0 -205
  1073. package/dist/setup/dev-server-wait.d.ts +0 -68
  1074. package/dist/setup/dev-server-wait.js +0 -67
  1075. package/dist/setup/drive-agent.d.ts +0 -70
  1076. package/dist/setup/drive-agent.js +0 -171
  1077. package/dist/setup/drive-plan.d.ts +0 -69
  1078. package/dist/setup/drive-plan.js +0 -130
  1079. package/dist/setup/ensure-daemon.js +0 -58
  1080. package/dist/setup/init-host.js +0 -26
  1081. package/dist/setup/init-runtime.d.ts +0 -41
  1082. package/dist/setup/init-runtime.js +0 -167
  1083. package/dist/setup/node-effects.d.ts +0 -63
  1084. package/dist/setup/node-effects.js +0 -225
  1085. package/dist/setup/page-probe.d.ts +0 -44
  1086. package/dist/setup/page-probe.js +0 -49
  1087. package/dist/setup/remaining-steps.js +0 -31
  1088. package/dist/setup/run-setup.d.ts +0 -103
  1089. package/dist/setup/run-setup.js +0 -294
  1090. package/dist/setup/setup-command.d.ts +0 -46
  1091. package/dist/setup/setup-command.js +0 -207
  1092. package/dist/setup/setup-options.d.ts +0 -76
  1093. package/dist/setup/setup-options.js +0 -68
  1094. package/dist/tools/act-capsule.d.ts +0 -33
  1095. package/dist/tools/act-capsule.js +0 -53
  1096. package/dist/tools/act-danger.js +0 -69
  1097. package/dist/tools/act-helpers.d.ts +0 -17
  1098. package/dist/tools/act-helpers.js +0 -40
  1099. package/dist/tools/act-observation.d.ts +0 -42
  1100. package/dist/tools/act-observation.js +0 -36
  1101. package/dist/tools/act-preflight.d.ts +0 -20
  1102. package/dist/tools/act-preflight.js +0 -103
  1103. package/dist/tools/act-sequence-tool.js +0 -135
  1104. package/dist/tools/act-target.d.ts +0 -18
  1105. package/dist/tools/act-target.js +0 -56
  1106. package/dist/tools/act-tools.d.ts +0 -20
  1107. package/dist/tools/act-tools.js +0 -763
  1108. package/dist/tools/assert-grade.d.ts +0 -42
  1109. package/dist/tools/assert-grade.js +0 -108
  1110. package/dist/tools/assert-source.d.ts +0 -52
  1111. package/dist/tools/assert-source.js +0 -74
  1112. package/dist/tools/assert-verdict.d.ts +0 -48
  1113. package/dist/tools/assert-verdict.js +0 -197
  1114. package/dist/tools/browser-tools.d.ts +0 -2
  1115. package/dist/tools/browser-tools.js +0 -115
  1116. package/dist/tools/contract-tools.d.ts +0 -2
  1117. package/dist/tools/contract-tools.js +0 -98
  1118. package/dist/tools/coverage-tools.d.ts +0 -18
  1119. package/dist/tools/coverage-tools.js +0 -175
  1120. package/dist/tools/dynamic-tools.d.ts +0 -7
  1121. package/dist/tools/dynamic-tools.js +0 -257
  1122. package/dist/tools/error-recovery.d.ts +0 -110
  1123. package/dist/tools/error-recovery.js +0 -499
  1124. package/dist/tools/feedback-invite.d.ts +0 -48
  1125. package/dist/tools/feedback-invite.js +0 -71
  1126. package/dist/tools/feedback-tools.d.ts +0 -35
  1127. package/dist/tools/feedback-tools.js +0 -228
  1128. package/dist/tools/invoke-tool.d.ts +0 -10
  1129. package/dist/tools/invoke-tool.js +0 -569
  1130. package/dist/tools/lease-hint.d.ts +0 -49
  1131. package/dist/tools/lease-hint.js +0 -124
  1132. package/dist/tools/lease-tools.d.ts +0 -143
  1133. package/dist/tools/lease-tools.js +0 -688
  1134. package/dist/tools/lineage-tools.d.ts +0 -14
  1135. package/dist/tools/lineage-tools.js +0 -64
  1136. package/dist/tools/merge-tools.d.ts +0 -51
  1137. package/dist/tools/merge-tools.js +0 -69
  1138. package/dist/tools/merged-name-redirect.d.ts +0 -26
  1139. package/dist/tools/merged-name-redirect.js +0 -77
  1140. package/dist/tools/navigate-arrival.d.ts +0 -68
  1141. package/dist/tools/numeric-bounds.d.ts +0 -89
  1142. package/dist/tools/numeric-bounds.js +0 -125
  1143. package/dist/tools/observe-tools.js +0 -578
  1144. package/dist/tools/read-tools.js +0 -569
  1145. package/dist/tools/real-input-attempt.d.ts +0 -68
  1146. package/dist/tools/real-input-attempt.js +0 -360
  1147. package/dist/tools/reconcile-tools.js +0 -126
  1148. package/dist/tools/resolve-target.js +0 -116
  1149. package/dist/tools/snapshot-delta.d.ts +0 -92
  1150. package/dist/tools/snapshot-delta.js +0 -356
  1151. package/dist/tools/tool-kit.d.ts +0 -221
  1152. package/dist/tools/tool-kit.js +0 -114
  1153. package/dist/tools/tool-names.d.ts +0 -112
  1154. package/dist/tools/tool-names.js +0 -112
  1155. package/dist/tools/tool-surface.d.ts +0 -222
  1156. package/dist/tools/tool-surface.js +0 -439
  1157. package/dist/tools/tools-helpers.d.ts +0 -42
  1158. package/dist/tools/tools-helpers.js +0 -87
  1159. package/dist/tools/tools.d.ts +0 -20
  1160. package/dist/tools/tools.js +0 -739
  1161. package/dist/tools/unadvertised-help.js +0 -42
  1162. package/dist/tools/verify-next-baton.js +0 -52
  1163. package/dist/update/nudge-credit.js +0 -53
  1164. package/dist/update/reticle-deps.d.ts +0 -9
  1165. package/dist/update/reticle-deps.js +0 -27
  1166. package/dist/update/sdk-sync.d.ts +0 -20
  1167. package/dist/update/sdk-sync.js +0 -22
  1168. package/dist/update/update-checker.js +0 -122
  1169. package/dist/update/update-nudge.d.ts +0 -92
  1170. package/dist/update/update-nudge.js +0 -214
  1171. package/dist/update/updater.d.ts +0 -54
  1172. package/dist/update/updater.js +0 -190
  1173. package/dist/version/peer-announce.js +0 -32
  1174. package/dist/version/sdk-fix.js +0 -127
  1175. package/dist/version/server-version.js +0 -13
  1176. package/dist/version/version-nudge.js +0 -61
  1177. package/dist/version/version-skew.d.ts +0 -93
  1178. package/dist/version/version-skew.js +0 -147
  1179. package/dist/visual/visual-store.d.ts +0 -22
  1180. package/dist/visual/visual-store.js +0 -66
  1181. package/dist/visual/visual-tools.d.ts +0 -26
  1182. package/dist/visual/visual-tools.js +0 -328
  1183. package/docs/docs.json +0 -369
  1184. package/docs/fixtures.md +0 -51
  1185. package/docs/gate-plan.md +0 -104
  1186. package/docs/gates.md +0 -131
  1187. package/docs/style.css +0 -14
  1188. package/docs/telemetry-contract.md +0 -390
  1189. package/docs/telemetry-events.mdx +0 -442
  1190. package/docs/tools-act-and-wait.mdx +0 -173
  1191. package/docs/tools-act-sequence.mdx +0 -153
  1192. package/docs/tools-act.mdx +0 -95
  1193. package/docs/tools-assert.mdx +0 -129
  1194. package/docs/tools-console.mdx +0 -63
  1195. package/docs/tools-inspect.mdx +0 -88
  1196. package/docs/tools-navigate.mdx +0 -107
  1197. package/docs/tools-network.mdx +0 -119
  1198. package/docs/tools-observe.mdx +0 -145
  1199. package/docs/tools-overview.mdx +0 -160
  1200. package/docs/tools-query.mdx +0 -126
  1201. package/docs/tools-sessions.mdx +0 -94
  1202. package/docs/tools-snapshot.mdx +0 -129
  1203. package/docs/tools-state.mdx +0 -104
  1204. package/docs/tools-wait-for.mdx +0 -85
  1205. /package/dist/{cli → command/cli/answers}/gate-exit.d.ts +0 -0
  1206. /package/dist/{cli → command/cli/answers}/gate-exit.js +0 -0
  1207. /package/dist/{cli → command/cli/answers}/gate-hook-message.d.ts +0 -0
  1208. /package/dist/{cli → command/cli/answers}/gate-hook-message.js +0 -0
  1209. /package/dist/{cli → command/cli/answers}/open-note.d.ts +0 -0
  1210. /package/dist/{cli → command/cli/answers}/open-note.js +0 -0
  1211. /package/dist/{cli → command/cli/auth}/cloud-keystore.d.ts +0 -0
  1212. /package/dist/{cli → command/cli/auth}/cloud-session.d.ts +0 -0
  1213. /package/dist/{cli → command/cli/auth}/cloud-session.js +0 -0
  1214. /package/dist/{cli → command/cli}/cli-doctor.d.ts +0 -0
  1215. /package/dist/{cli → command/cli}/cli-parse-feedback.d.ts +0 -0
  1216. /package/dist/{cli → command/cli}/cli-parse-feedback.js +0 -0
  1217. /package/dist/{cli → command/cli}/cli-update-commands.d.ts +0 -0
  1218. /package/dist/{cli → command/cli}/cloud-cli.d.ts +0 -0
  1219. /package/dist/{cli → command/cli}/cloud-login.d.ts +0 -0
  1220. /package/dist/{cli → command/cli}/daemon-start-options.js +0 -0
  1221. /package/dist/{cli → command/cli/doctor/browser}/chromium-hint.d.ts +0 -0
  1222. /package/dist/{cli → command/cli/doctor/browser}/chromium-hint.js +0 -0
  1223. /package/dist/{cli → command/cli/doctor}/doctor-daemon-line.d.ts +0 -0
  1224. /package/dist/{cli → command/cli/doctor}/doctor-project-line.d.ts +0 -0
  1225. /package/dist/{cli → command/cli/doctor}/doctor-project-line.js +0 -0
  1226. /package/dist/{cli → command/cli/doctor}/doctor-sessions-line.d.ts +0 -0
  1227. /package/dist/{cli → command/cli/drive}/drive-command.d.ts +0 -0
  1228. /package/dist/{cli → command/cli}/mcp-command.d.ts +0 -0
  1229. /package/dist/{cli → command/cli/ports}/port-holder.d.ts +0 -0
  1230. /package/dist/{cli → command/cli/ports}/sibling-ports.d.ts +0 -0
  1231. /package/dist/{cli → command/cli/ports}/sibling-ports.js +0 -0
  1232. /package/dist/{cli → command/cli}/project-name.d.ts +0 -0
  1233. /package/dist/{cli → command/cli}/project-name.js +0 -0
  1234. /package/dist/{daemon → command/daemon/binding}/free-port.d.ts +0 -0
  1235. /package/dist/{daemon → command/daemon/binding}/free-port.js +0 -0
  1236. /package/dist/{daemon → command/daemon/binding}/loopback-alias.d.ts +0 -0
  1237. /package/dist/{daemon → command/daemon/binding}/loopback-alias.js +0 -0
  1238. /package/dist/{daemon → command/daemon/binding}/port-presence.d.ts +0 -0
  1239. /package/dist/{daemon → command/daemon/binding}/port-presence.js +0 -0
  1240. /package/dist/{daemon → command/daemon}/dev-servers.d.ts +0 -0
  1241. /package/dist/{daemon → command/daemon}/dev-servers.js +0 -0
  1242. /package/dist/{daemon → command/daemon/lifetime}/startup-failure.d.ts +0 -0
  1243. /package/dist/{daemon → command/daemon/lifetime}/startup-failure.js +0 -0
  1244. /package/dist/{daemon → command/daemon/lifetime}/unclean-predecessor.d.ts +0 -0
  1245. /package/dist/{daemon → command/daemon/lifetime}/unclean-predecessor.js +0 -0
  1246. /package/dist/{daemon → command/daemon}/state-dir.d.ts +0 -0
  1247. /package/dist/{setup → command/setup}/agent-io.d.ts +0 -0
  1248. /package/dist/{setup → command/setup}/agent-io.js +0 -0
  1249. /package/dist/{setup → command/setup}/approval-migration.d.ts +0 -0
  1250. /package/dist/{setup → command/setup}/approval-migration.js +0 -0
  1251. /package/dist/{setup → command/setup}/auto-approve.d.ts +0 -0
  1252. /package/dist/{setup → command/setup/bringup}/ensure-daemon.d.ts +0 -0
  1253. /package/dist/{setup → command/setup/bringup}/relaunch.d.ts +0 -0
  1254. /package/dist/{setup → command/setup/bringup}/relaunch.js +0 -0
  1255. /package/dist/{setup → command/setup}/desktop-shape.d.ts +0 -0
  1256. /package/dist/{setup → command/setup}/desktop-shape.js +0 -0
  1257. /package/dist/{setup → command/setup/init}/init-host.d.ts +0 -0
  1258. /package/dist/{setup → command/setup}/license-key.d.ts +0 -0
  1259. /package/dist/{setup → command/setup}/license-key.js +0 -0
  1260. /package/dist/{setup → command/setup/probe}/existing-app.d.ts +0 -0
  1261. /package/dist/{setup → command/setup/probe}/existing-app.js +0 -0
  1262. /package/dist/{setup → command/setup/probe}/loopback-probe-urls.d.ts +0 -0
  1263. /package/dist/{setup → command/setup/probe}/loopback-probe-urls.js +0 -0
  1264. /package/dist/{setup → command/setup}/remaining-steps.d.ts +0 -0
  1265. /package/dist/{setup → command/setup}/session-pick.d.ts +0 -0
  1266. /package/dist/{setup → command/setup}/session-pick.js +0 -0
  1267. /package/dist/{setup → command/setup/terminal}/confirm.d.ts +0 -0
  1268. /package/dist/{setup → command/setup/terminal}/interrupt.d.ts +0 -0
  1269. /package/dist/{setup → command/setup/terminal}/interrupt.js +0 -0
  1270. /package/dist/{setup → command/setup/terminal}/listeners.d.ts +0 -0
  1271. /package/dist/{setup → command/setup/terminal}/listeners.js +0 -0
  1272. /package/dist/{setup → command/setup/terminal}/transcripts.d.ts +0 -0
  1273. /package/dist/{setup → command/setup/terminal}/transcripts.js +0 -0
  1274. /package/dist/{setup → command/setup/terminal}/wait-progress.d.ts +0 -0
  1275. /package/dist/{setup → command/setup/terminal}/wait-progress.js +0 -0
  1276. /package/dist/{update → command/update}/nudge-credit.d.ts +0 -0
  1277. /package/dist/{update → command/update}/update-checker.d.ts +0 -0
  1278. /package/dist/{version → command/version/identity}/server-version.d.ts +0 -0
  1279. /package/dist/{version → command/version}/peer-announce.d.ts +0 -0
  1280. /package/dist/{version → command/version}/sdk-fix.d.ts +0 -0
  1281. /package/dist/{version → command/version}/version-nudge.d.ts +0 -0
  1282. /package/dist/{crawl → features/crawl}/crawl-empty.d.ts +0 -0
  1283. /package/dist/{crawl → features/crawl}/crawl-empty.js +0 -0
  1284. /package/dist/{ee → features/ee}/audit-log.d.ts +0 -0
  1285. /package/dist/{visual → features/visual}/capture-cleanup.d.ts +0 -0
  1286. /package/dist/{visual → features/visual}/capture-cleanup.js +0 -0
  1287. /package/dist/{visual → features/visual}/visual-diff.d.ts +0 -0
  1288. /package/dist/{visual → features/visual}/visual-diff.js +0 -0
  1289. /package/dist/{capsule → judgement/capsule}/divergence.js +0 -0
  1290. /package/dist/{capsule → judgement/capsule}/minimize.d.ts +0 -0
  1291. /package/dist/{capsule → judgement/capsule}/minimize.js +0 -0
  1292. /package/dist/{domain → judgement/domain}/domain-model.d.ts +0 -0
  1293. /package/dist/{domain → judgement/domain}/flow-risk.d.ts +0 -0
  1294. /package/dist/{hunt → judgement/hunt}/hunt-report.d.ts +0 -0
  1295. /package/dist/{hunt → judgement/hunt}/hunt-report.js +0 -0
  1296. /package/dist/{oracles → judgement/oracles}/flow-instrument-gaps.d.ts +0 -0
  1297. /package/dist/{oracles → judgement/oracles}/flow-instrument-gaps.js +0 -0
  1298. /package/dist/{oracles → judgement/oracles}/self-instrument.d.ts +0 -0
  1299. /package/dist/{oracles → judgement/oracles}/self-instrument.js +0 -0
  1300. /package/dist/{flows → judgement/outcome}/assertion-integrity.d.ts +0 -0
  1301. /package/dist/{flows → judgement/outcome}/assertion-integrity.js +0 -0
  1302. /package/dist/{flows → judgement/outcome}/attributed-failure.d.ts +0 -0
  1303. /package/dist/{flows → judgement/outcome}/attributed-failure.js +0 -0
  1304. /package/dist/{flows → judgement/outcome}/role-drift-reason.d.ts +0 -0
  1305. /package/dist/{flows → judgement/outcome}/role-drift-reason.js +0 -0
  1306. /package/dist/{flows → judgement/outcome}/verify-change-verdict.d.ts +0 -0
  1307. /package/dist/{flows → judgement/outcome}/verify-change-verdict.js +0 -0
  1308. /package/dist/{phenomena → judgement/phenomena}/phenomena.d.ts +0 -0
  1309. /package/dist/{phenomena → judgement/phenomena}/phenomena.js +0 -0
  1310. /package/dist/{runs → judgement/runs/artifact}/profile-redact.d.ts +0 -0
  1311. /package/dist/{runs → judgement/runs/artifact}/profile-redact.js +0 -0
  1312. /package/dist/{runs → judgement/runs/artifact}/render-report.d.ts +0 -0
  1313. /package/dist/{runs → judgement/runs/artifact}/replay-mapping.d.ts +0 -0
  1314. /package/dist/{runs → judgement/runs/artifact}/run-context.d.ts +0 -0
  1315. /package/dist/{runs → judgement/runs/artifact}/run-context.js +0 -0
  1316. /package/dist/{runs → judgement/runs/artifact}/run-diff.d.ts +0 -0
  1317. /package/dist/{runs → judgement/runs/artifact}/run-diff.js +0 -0
  1318. /package/dist/{runs → judgement/runs}/repair-prompt.d.ts +0 -0
  1319. /package/dist/{runs → judgement/runs}/repair-prompt.js +0 -0
  1320. /package/dist/{runs → judgement/runs}/risk-classify.d.ts +0 -0
  1321. /package/dist/{runs → judgement/runs}/risk-classify.js +0 -0
  1322. /package/dist/{runs → judgement/runs}/verify-http.d.ts +0 -0
  1323. /package/dist/{runs → judgement/runs}/verify-http.js +0 -0
  1324. /package/dist/{runs → judgement/runs}/verify-server.d.ts +0 -0
  1325. /package/dist/{runs → judgement/runs}/verify-server.js +0 -0
  1326. /package/dist/{flows → language/flows/annotate-notes}/annotate-target.d.ts +0 -0
  1327. /package/dist/{flows → language/flows/annotate-notes}/annotate-target.js +0 -0
  1328. /package/dist/{flows → language/flows/annotate-notes}/annotate.d.ts +0 -0
  1329. /package/dist/{flows → language/flows/annotate-notes}/annotate.js +0 -0
  1330. /package/dist/{flows → language/flows}/buddy-status.d.ts +0 -0
  1331. /package/dist/{flows → language/flows}/buddy-status.js +0 -0
  1332. /package/dist/{flows → language/flows/change}/gate.d.ts +0 -0
  1333. /package/dist/{flows → language/flows/change}/git-changed.d.ts +0 -0
  1334. /package/dist/{flows → language/flows/change}/git-changed.js +0 -0
  1335. /package/dist/{flows → language/flows/change}/watch-batcher.d.ts +0 -0
  1336. /package/dist/{flows → language/flows/change}/watch-batcher.js +0 -0
  1337. /package/dist/{flows → language/flows}/empty-flow.d.ts +0 -0
  1338. /package/dist/{flows → language/flows}/flow-memory-consult.d.ts +0 -0
  1339. /package/dist/{flows → language/flows}/flow-memory-consult.js +0 -0
  1340. /package/dist/{flows → language/flows}/flow-report.d.ts +0 -0
  1341. /package/dist/{flows → language/flows}/flow-report.js +0 -0
  1342. /package/dist/{flows → language/flows}/flow-scope.d.ts +0 -0
  1343. /package/dist/{flows → language/flows}/flow-scope.js +0 -0
  1344. /package/dist/{flows → language/flows}/flow-store-for-session.js +0 -0
  1345. /package/dist/{flows → language/flows}/heal.d.ts +0 -0
  1346. /package/dist/{flows → language/flows/recording}/flake.js +0 -0
  1347. /package/dist/{flows → language/flows/recording}/recording-backtrack.d.ts +0 -0
  1348. /package/dist/{flows → language/flows/recording}/replay-halt.d.ts +0 -0
  1349. /package/dist/{flows → language/flows/recording}/replay-halt.js +0 -0
  1350. /package/dist/{flows → language/flows}/role-anchor-nearest.d.ts +0 -0
  1351. /package/dist/{flows → language/flows/stores}/annotation-store.d.ts +0 -0
  1352. /package/dist/{flows → language/flows/stores}/annotation-store.js +0 -0
  1353. /package/dist/{flows → language/flows/suite}/coverage.d.ts +0 -0
  1354. /package/dist/{flows → language/flows/suite}/coverage.js +0 -0
  1355. /package/dist/{flows → language/flows/suite}/parallel-suite.d.ts +0 -0
  1356. /package/dist/{flows → language/flows/suite}/parallel-suite.js +0 -0
  1357. /package/dist/{platform.d.ts → machine/platform.d.ts} +0 -0
  1358. /package/dist/{platform.js → machine/platform.js} +0 -0
  1359. /package/dist/{temp-dir.d.ts → machine/temp-dir.d.ts} +0 -0
  1360. /package/dist/{temp-dir.js → machine/temp-dir.js} +0 -0
  1361. /package/dist/{cloud → memory/cloud}/sync-disk.d.ts +0 -0
  1362. /package/dist/{cloud → memory/cloud}/sync-hash.d.ts +0 -0
  1363. /package/dist/{cloud → memory/cloud}/sync-hash.js +0 -0
  1364. /package/dist/{journal → memory/journal}/deviation-report.d.ts +0 -0
  1365. /package/dist/{journal → memory/journal}/deviation-report.js +0 -0
  1366. /package/dist/{journal → memory/journal}/deviation-service.d.ts +0 -0
  1367. /package/dist/{journal → memory/journal}/deviation-service.js +0 -0
  1368. /package/dist/{journal → memory/journal}/envelope.js +0 -0
  1369. /package/dist/{journal → memory/journal}/rollups.d.ts +0 -0
  1370. /package/dist/{journal → memory/journal}/rollups.js +0 -0
  1371. /package/dist/{project → memory/project}/baselines.d.ts +0 -0
  1372. /package/dist/{project → memory/project}/baselines.js +0 -0
  1373. /package/dist/{project → memory/project}/file-lock.d.ts +0 -0
  1374. /package/dist/{project → memory/project}/file-lock.js +0 -0
  1375. /package/dist/{project → memory/project}/memory-fs.js +0 -0
  1376. /package/dist/{session → memory/recall}/looks-like-dev-server.d.ts +0 -0
  1377. /package/dist/{session → memory/recall}/looks-like-dev-server.js +0 -0
  1378. /package/dist/memory/{project-memory.js → recall/project-memory.js} +0 -0
  1379. /package/dist/{session → memory/recall}/registered-projects.d.ts +0 -0
  1380. /package/dist/{session → memory/recall}/registered-projects.js +0 -0
  1381. /package/dist/{bridge → portal/bridge}/pairing-token.d.ts +0 -0
  1382. /package/dist/{bridge → portal/bridge}/pairing-token.js +0 -0
  1383. /package/dist/{bridge → portal/bridge}/protocol-skew.d.ts +0 -0
  1384. /package/dist/{bridge → portal/bridge}/protocol-skew.js +0 -0
  1385. /package/dist/{bridge → portal/bridge}/token-auth.d.ts +0 -0
  1386. /package/dist/{bridge → portal/bridge}/token-auth.js +0 -0
  1387. /package/dist/{input → portal/input}/driven-redaction.d.ts +0 -0
  1388. /package/dist/{input → portal/input}/driven-redaction.js +0 -0
  1389. /package/dist/{input → portal/input}/network-mock.d.ts +0 -0
  1390. /package/dist/{input → portal/input}/scroll-find.d.ts +0 -0
  1391. /package/dist/{pool → portal/pool}/lease-reaper.d.ts +0 -0
  1392. /package/dist/{pool → portal/pool}/playwright-launcher.d.ts +0 -0
  1393. /package/dist/{pool → portal/pool}/storage-seed.js +0 -0
  1394. /package/dist/{session → portal/session}/control-envelope.d.ts +0 -0
  1395. /package/dist/{session → portal/session}/control-envelope.js +0 -0
  1396. /package/dist/{session → portal/session/dev-server}/dev-command.d.ts +0 -0
  1397. /package/dist/{session → portal/session/dev-server}/dev-command.js +0 -0
  1398. /package/dist/{session → portal/session/dev-server}/dev-server-probe.d.ts +0 -0
  1399. /package/dist/{session → portal/session/facts}/ref-provenance.d.ts +0 -0
  1400. /package/dist/{session → portal/session/facts}/ref-provenance.js +0 -0
  1401. /package/dist/{session → portal/session}/fake-session.d.ts +0 -0
  1402. /package/dist/{session → portal/session}/fake-session.js +0 -0
  1403. /package/dist/{session → portal/session/human}/live-control.d.ts +0 -0
  1404. /package/dist/{session → portal/session/human}/live-control.js +0 -0
  1405. /package/dist/{session → portal/session/human}/presenter-args.d.ts +0 -0
  1406. /package/dist/{session → portal/session/human}/presenter-args.js +0 -0
  1407. /package/dist/{session → portal/session/human}/review-store.d.ts +0 -0
  1408. /package/dist/{session → portal/session/human}/review-store.js +0 -0
  1409. /package/dist/{session → portal/session}/last-act.d.ts +0 -0
  1410. /package/dist/{session → portal/session}/last-act.js +0 -0
  1411. /package/dist/{session → portal/session}/lease-visibility.d.ts +0 -0
  1412. /package/dist/{session → portal/session}/lease-visibility.js +0 -0
  1413. /package/dist/{session → portal/session}/no-session-watch.d.ts +0 -0
  1414. /package/dist/{session → portal/session/page-commands}/pending-commands.d.ts +0 -0
  1415. /package/dist/{session → portal/session/page-commands}/pending-commands.js +0 -0
  1416. /package/dist/{session → portal/session/presence}/attachment-history.d.ts +0 -0
  1417. /package/dist/{session → portal/session/presence}/attachment-history.js +0 -0
  1418. /package/dist/{session → portal/session/presence}/lease-availability.d.ts +0 -0
  1419. /package/dist/{session → portal/session/presence}/lease-availability.js +0 -0
  1420. /package/dist/{session → portal/session/presence}/session-lease.d.ts +0 -0
  1421. /package/dist/{session → portal/session/presence}/session-lease.js +0 -0
  1422. /package/dist/{session → portal/session/presence}/session-mirror.d.ts +0 -0
  1423. /package/dist/{session → portal/session/presence}/session-mirror.js +0 -0
  1424. /package/dist/{session → portal/session/presence}/session-recommendation.d.ts +0 -0
  1425. /package/dist/{session → portal/session}/session-info.d.ts +0 -0
  1426. /package/dist/{session → portal/session}/session-info.js +0 -0
  1427. /package/dist/{session → portal/session}/session-reconnect.d.ts +0 -0
  1428. /package/dist/{session → portal/session}/session-reconnect.js +0 -0
  1429. /package/dist/{session → portal/session}/session-successor.d.ts +0 -0
  1430. /package/dist/{session → portal/session}/session-successor.js +0 -0
  1431. /package/dist/{session → portal/session}/stall-clock.d.ts +0 -0
  1432. /package/dist/{session → portal/session}/state-select.d.ts +0 -0
  1433. /package/dist/{session → portal/session}/state-select.js +0 -0
  1434. /package/dist/{session → portal/session/timing}/resolve-within.d.ts +0 -0
  1435. /package/dist/{session → portal/session/timing}/resolve-within.js +0 -0
  1436. /package/dist/{session → portal/session/timing}/wall-clock.d.ts +0 -0
  1437. /package/dist/{session → portal/session/timing}/wall-clock.js +0 -0
  1438. /package/dist/{loopback-agent.d.ts → surface/loopback-agent.d.ts} +0 -0
  1439. /package/dist/{loopback-agent.js → surface/loopback-agent.js} +0 -0
  1440. /package/dist/{mcp → surface/mcp}/attach-memory.d.ts +0 -0
  1441. /package/dist/{mcp → surface/mcp}/attach-memory.js +0 -0
  1442. /package/dist/{mcp → surface/mcp/peer}/client-identity.d.ts +0 -0
  1443. /package/dist/{mcp → surface/mcp/peer}/client-identity.js +0 -0
  1444. /package/dist/{mcp → surface/mcp/proxy}/mcp-post-transport.d.ts +0 -0
  1445. /package/dist/{mcp → surface/mcp/proxy}/proxy-backoff.d.ts +0 -0
  1446. /package/dist/{mcp → surface/mcp/proxy}/proxy-backoff.js +0 -0
  1447. /package/dist/{mcp → surface/mcp/proxy}/proxy-handshake.d.ts +0 -0
  1448. /package/dist/{mcp → surface/mcp}/proxy-idle-exit.d.ts +0 -0
  1449. /package/dist/{mcp → surface/mcp}/proxy-idle-exit.js +0 -0
  1450. /package/dist/{mcp → surface/mcp}/shared-params.d.ts +0 -0
  1451. /package/dist/{mcp → surface/mcp}/shared-params.js +0 -0
  1452. /package/dist/{mcp → surface/mcp}/sse-frame-parser.d.ts +0 -0
  1453. /package/dist/{mcp → surface/mcp}/sse-frame-parser.js +0 -0
  1454. /package/dist/{tools → surface/tools/act}/act-danger.d.ts +0 -0
  1455. /package/dist/{tools → surface/tools/act}/act-sequence-retry.d.ts +0 -0
  1456. /package/dist/{tools → surface/tools/act}/act-sequence-retry.js +0 -0
  1457. /package/dist/{tools → surface/tools/act}/act-view.d.ts +0 -0
  1458. /package/dist/{tools → surface/tools/act}/act-view.js +0 -0
  1459. /package/dist/{tools → surface/tools/act/navigation}/navigate-arrival.js +0 -0
  1460. /package/dist/{tools → surface/tools/act/navigation}/navigate-result.d.ts +0 -0
  1461. /package/dist/{tools → surface/tools/act/navigation}/navigate-result.js +0 -0
  1462. /package/dist/{tools → surface/tools/act/navigation}/reload-result.d.ts +0 -0
  1463. /package/dist/{tools → surface/tools/act/navigation}/reload-result.js +0 -0
  1464. /package/dist/{tools → surface/tools/act}/react-grace.d.ts +0 -0
  1465. /package/dist/{tools → surface/tools/act}/react-grace.js +0 -0
  1466. /package/dist/{tools → surface/tools/act}/resolve-target.d.ts +0 -0
  1467. /package/dist/{tools → surface/tools/act}/settle-in-flight.d.ts +0 -0
  1468. /package/dist/{tools → surface/tools/act}/settle-in-flight.js +0 -0
  1469. /package/dist/{tools → surface/tools}/act-sequence-tool.d.ts +0 -0
  1470. /package/dist/{tools → surface/tools/args}/alias-args.d.ts +0 -0
  1471. /package/dist/{tools → surface/tools/args}/alias-args.js +0 -0
  1472. /package/dist/{tools → surface/tools/gaps}/coverage-identity.d.ts +0 -0
  1473. /package/dist/{tools → surface/tools/gaps}/coverage-identity.js +0 -0
  1474. /package/dist/{tools → surface/tools/gaps}/observed-nothing.d.ts +0 -0
  1475. /package/dist/{tools → surface/tools/gaps}/observed-nothing.js +0 -0
  1476. /package/dist/{tools → surface/tools/gaps}/sdk-marker-probe.d.ts +0 -0
  1477. /package/dist/{tools → surface/tools/gaps}/sdk-marker-probe.js +0 -0
  1478. /package/dist/{tools → surface/tools}/observe-tools.d.ts +0 -0
  1479. /package/dist/{tools → surface/tools/read}/complete-snapshot.d.ts +0 -0
  1480. /package/dist/{tools → surface/tools/read}/complete-snapshot.js +0 -0
  1481. /package/dist/{tools → surface/tools/read}/query-paginate.d.ts +0 -0
  1482. /package/dist/{tools → surface/tools/read}/query-paginate.js +0 -0
  1483. /package/dist/{tools → surface/tools/read}/query-shape.d.ts +0 -0
  1484. /package/dist/{tools → surface/tools/read}/query-shape.js +0 -0
  1485. /package/dist/{tools → surface/tools}/read-tools.d.ts +0 -0
  1486. /package/dist/{tools → surface/tools}/reconcile-tools.d.ts +0 -0
  1487. /package/dist/{honesty → surface/tools}/tool-hit-rate.d.ts +0 -0
  1488. /package/dist/{tools → surface/tools}/tool-invoker.d.ts +0 -0
  1489. /package/dist/{tools → surface/tools}/tool-invoker.js +0 -0
  1490. /package/dist/{tools → surface/tools}/unadvertised-help.d.ts +0 -0
  1491. /package/dist/{tools → surface/tools}/verify-next-baton.d.ts +0 -0
  1492. /package/docs/{tools-session-and-feedback.mdx → tools/session-and-feedback.mdx} +0 -0
  1493. /package/docs/{tools-tools-and-run.mdx → tools/tools-and-run.mdx} +0 -0
@@ -1,318 +0,0 @@
1
- /**
2
- * Process-level resilience for the long-running daemon. The daemon serves many agents at once, so a
3
- * single stray error must not take the whole fleet down:
4
- *
5
- * - unhandledRejection (a fire-and-forget promise nobody awaited — the common case in async WS/pool
6
- * code) → LOG and keep running. One agent's async slip-up can't crash the daemon for everyone.
7
- * - uncaughtException (a synchronous throw escaped all try/catch) → the process state is undefined
8
- * per Node's guidance, so LOG a clear reason and exit cleanly; the next `reticle mcp` respawns a fresh
9
- * daemon, which beats crashing silently or limping along corrupt.
10
- */
11
- import { RETICLE_DEFAULT_PORT, TelemetryActor, TelemetryEventKind } from '@reticlehq/core';
12
- import { errorSkeleton, errorTypeOf, fingerprintCrash, MAX_REPORTED_FRAMES, reticleFrames, } from '../telemetry/error-fingerprint.js';
13
- import { getSessionMetrics } from '../telemetry/session-metrics.js';
14
- import { machineSnapshot } from '../telemetry/machine-snapshot.js';
15
- import { crashCause } from '../telemetry/crash-cause.js';
16
- import { getTelemetry } from '../telemetry/telemetry.js';
17
- function describe(value) {
18
- return value instanceof Error ? value.message : String(value);
19
- }
20
- /**
21
- * Node error codes that mean THE OTHER END WENT AWAY, not "we broke".
22
- *
23
- * One real session produced nine `runtime_crashed` events, all `write EPIPE`: the MCP client closed
24
- * its half of the stdio pipe and the very next `process.stdout.write` failed, which is the ordinary
25
- * way a client leaves. Counted as uncaught exceptions they poison the only metric that answers "is
26
- * Reticle stable?" — and they recur every single time an editor is closed.
27
- *
28
- * Matched on `err.code`, never on the message: a message is prose, gets wrapped, localised and
29
- * rewritten, and matching it would eventually swallow a real crash that merely mentioned a pipe.
30
- *
31
- * - `EPIPE` — wrote to a pipe whose reader is gone. The stdio case, and the nine.
32
- * - `ECONNRESET` — the peer reset the socket; stdio is a socket when the parent piped it, and the
33
- * HTTP/SSE surface produces it when a client vanishes mid-response.
34
- * - `ERR_STREAM_DESTROYED` — the same race one tick later: the stream was already torn down when
35
- * the write landed.
36
- */
37
- const DISCONNECT_CODES = new Set([
38
- 'EPIPE',
39
- 'ECONNRESET',
40
- 'ERR_STREAM_DESTROYED',
41
- ]);
42
- /**
43
- * Nobody went away — nobody was ever there. A refused connect is the daemon not being up YET.
44
- *
45
- * This is the difference that made `runtime_crashed` useless. In the field **every crash event
46
- * carried one fingerprint, `connect ECONNREFUSED`, and every affected user was in the
47
- * never-verified set.** The proxy is BUILT to tolerate this — it answers the handshake from cache
48
- * and wakes a daemon on the next request — so reporting it as a crash meant the one metric that is
49
- * supposed to say "Reticle broke" said nothing but "the daemon had not booted yet", and a real crash
50
- * would have been invisible underneath it.
51
- *
52
- * Absorbed, not silenced: it still logs, and the outage it belongs to is already counted as
53
- * `connect_error` on `mcp_connection_lost`, which is the metric that can actually act on it.
54
- */
55
- const UNREACHABLE_CODES = new Set(['ECONNREFUSED']);
56
- /**
57
- * How many absorbed client disconnects mean the client is GONE rather than between reconnects.
58
- *
59
- * Absorbing a disconnect and continuing is right for one: the client closed a socket, the proxy
60
- * rebuilds it. It is catastrophic for a stream of them, because the write that failed is retried
61
- * immediately, fails identically, and is absorbed again — a tight loop with no backoff and no exit.
62
- *
63
- * Measured in the field: one proxy ran four days after its editor closed, at 97-98% of a core, with
64
- * 1473 minutes of CPU time and ~930 MB/hour of identical log lines, every entry stamped to the same
65
- * millisecond. Nothing in Reticle's own output showed it — the daemon beside it reported healthy,
66
- * `sessions: 0` — so it was findable only by running `ps` by hand, and thirteen more idle pairs from
67
- * earlier sessions were still resident behind it.
68
- *
69
- * Chosen well above the handful a genuine reconnect produces and far below a runaway. The proxy's
70
- * whole purpose is to be the stdio server its editor launched; once that editor is gone there is
71
- * nobody left to serve, and the correct thing is to leave rather than to burn a core proving it.
72
- */
73
- const DISCONNECT_STORM = 20;
74
- /** The expected-failure code this value carries, and which class it belongs to. */
75
- function expectedCode(value) {
76
- const raw = value?.code;
77
- if ('string' !== typeof raw)
78
- return undefined;
79
- if (DISCONNECT_CODES.has(raw))
80
- return { code: raw, unreachable: false };
81
- if (UNREACHABLE_CODES.has(raw))
82
- return { code: raw, unreachable: true };
83
- return undefined;
84
- }
85
- /**
86
- * Log an expected failure and report `true`, so the caller skips the crash report.
87
- *
88
- * It is still WRITTEN DOWN. A client leaving is normal, but a daemon that suddenly logs a hundred of
89
- * these is a finding — the difference between "not a crash" and "not worth knowing" is the whole
90
- * reason this logs instead of returning early in silence.
91
- */
92
- function absorbExpected(value, log, events) {
93
- const hit = expectedCode(value);
94
- if (hit === undefined)
95
- return false;
96
- log(hit.unreachable ? events.unreachable : events.disconnected, {
97
- code: hit.code,
98
- note: hit.unreachable
99
- ? 'the daemon was not reachable — expected while it boots, not a crash'
100
- : 'the client went away — expected, not a crash',
101
- });
102
- return true;
103
- }
104
- /** The two ways a failure reaches the top of the process. Named so the analytics can tell them apart. */
105
- export const CrashKind = {
106
- UNHANDLED_REJECTION: 'unhandled_rejection',
107
- UNCAUGHT_EXCEPTION: 'uncaught_exception',
108
- };
109
- /**
110
- * The ports Reticle itself uses, so a refusal can be classified as ours or somebody else's.
111
- *
112
- * Read here rather than threaded through `installCrashHandlers`: a crash handler is installed once,
113
- * at startup, and the port can be set after it. The values are only ever compared against — the
114
- * port a crash names is turned into an enum and then discarded.
115
- */
116
- function knownPorts() {
117
- const configured = Number(process.env['RETICLE_PORT']);
118
- return Number.isInteger(configured) && configured > 0
119
- ? [RETICLE_DEFAULT_PORT, configured]
120
- : [RETICLE_DEFAULT_PORT];
121
- }
122
- /**
123
- * Report a crash with enough detail to actually diagnose it.
124
- *
125
- * This is the only place in the product that learns about a crash at all. An uncaught exception in a
126
- * long-running daemon takes down every agent attached to it, and the only other record is a line in a
127
- * local log nobody sends us.
128
- *
129
- * The first version sent a hash and nothing else, which made crashes rankable and undiagnosable — you
130
- * could see that forty machines hit `a3f2c1d8e9b0` and had no way to learn what that was. So it now
131
- * carries the four things an RCA needs: WHERE (our own frames, with function names and line numbers),
132
- * WHAT (the message with every variable part stripped), WHEN (the tool in flight), and WHY-ish (the
133
- * agent's approach run before it). All of it is our code and our vocabulary; the user's stack frames,
134
- * their paths, and the contents of their message are removed before any of it is built.
135
- *
136
- * Best-effort and wrapped: reporting a crash must never be the reason a crash gets worse.
137
- */
138
- function reportCrash(kind, value) {
139
- try {
140
- const errorType = errorTypeOf(value);
141
- const stack = value instanceof Error ? (value.stack ?? '') : '';
142
- const message = describe(value);
143
- const { breadcrumb, inFlight } = getSessionMetrics().trail;
144
- const machine = machineSnapshot();
145
- // Where the frames cannot say. A refused socket's stack is entirely node internals, so
146
- // `reticleFrames` correctly keeps nothing and the report lands with no location at all — the
147
- // single commonest crash shape in a loopback-heavy tool.
148
- const cause = crashCause(value, knownPorts());
149
- void getTelemetry().emit(TelemetryEventKind.RUNTIME_CRASHED, {
150
- // A crash is ALWAYS reached through something the agent asked for — the daemon does nothing on
151
- // its own — so attributing it to the agent is accurate rather than a guess.
152
- actor: TelemetryActor.AGENT,
153
- crash: {
154
- kind,
155
- errorType,
156
- fingerprint: fingerprintCrash(errorType, stack, message),
157
- // The skeleton, not the message: every quoted string, path, URL, id and number is replaced
158
- // by `*` first. This is what makes the fingerprint mean something to a human reading a chart.
159
- message: errorSkeleton(message).slice(0, 300),
160
- // Our own frames, our own published code. The file, the line, and the function — which is the
161
- // whole of "where did it break". Frames from the user's app never survive this.
162
- frames: reticleFrames(stack).slice(0, MAX_REPORTED_FRAMES),
163
- ...(inFlight !== undefined ? { tool: inFlight } : {}),
164
- ...(breadcrumb.length > 0 ? { breadcrumb } : {}),
165
- // Crashes cluster hard by runtime version and architecture, and we were recording neither.
166
- nodeVersion: process.versions.node,
167
- arch: process.arch,
168
- // "Out of memory" and "our bug" look identical in a stack trace. This is what tells them apart.
169
- ...(machine !== undefined ? { machine } : {}),
170
- // The syscall, the errno, whether it was loopback, whether the port was ours, and the
171
- // innermost frame in NODE's own source. Present only when the error carries them.
172
- ...cause,
173
- },
174
- });
175
- }
176
- catch {
177
- /* a crash report must never be the reason a crash gets worse */
178
- }
179
- }
180
- /**
181
- * Log EVERY way this process can leave, so a death always leaves a line.
182
- *
183
- * Reported from the field: a 115-line daemon log containing zero of `reticle_daemon_idle_exit`,
184
- * `reticle_daemon_close_error`, `daemon_stopped`, `uncaught` or `unhandled` — the daemon simply
185
- * stopped existing mid-wait. Both crash handlers below already log before exiting, so their silence
186
- * ruled themselves out and left nothing else to read: no shutdown path had run at all.
187
- *
188
- * `exit` fires for every in-process exit including an explicit `process.exit`, and carries the code.
189
- * The signals cover an external kill. What neither can catch is SIGKILL or an OOM abort — and that
190
- * is the point: after this, silence in the log is itself the finding, because every other door is
191
- * now instrumented.
192
- */
193
- /**
194
- * Why the daemon is going away — carried ON the exit line, not left to be inferred.
195
- *
196
- * From the field (#123): a real gate log read `reticle_daemon_signalled SIGTERM` then
197
- * `reticle_daemon_exiting code:0`, then 21 seconds with nothing listening. `code: 0` is the last
198
- * line before the port goes dark and it cannot distinguish "shut down tidily" from "the bridge every
199
- * app on this machine needs is now gone". A correct install was written up as a failure naming the
200
- * fixture because of it.
201
- *
202
- * `UNKNOWN` is the load-bearing member, not a fallback: it means the process left through Node
203
- * WITHOUT passing a shutdown path — an uncaught throw, a stray `process.exit`. That is a different
204
- * fact from an idle exit, and the one worth noticing.
205
- */
206
- export const DaemonExitReason = {
207
- /** A shutdown signal arrived (SIGTERM/SIGINT). */
208
- SIGNAL: 'signal',
209
- /** The idle timer fired and the daemon retired itself. */
210
- IDLE: 'idle',
211
- /** Left through Node, but not via any shutdown path we own. */
212
- UNKNOWN: 'unknown',
213
- };
214
- /**
215
- * Set by whichever shutdown path is running, read once by the exit handler.
216
- *
217
- * A module-level value rather than a parameter because the two are separated by the whole process
218
- * lifetime: the reason is known when shutdown STARTS and the exit line is written when Node is on
219
- * its way out. Exit runs once, on one thread, after everything else — so there is nothing to race.
220
- */
221
- let exitReason = DaemonExitReason.UNKNOWN;
222
- /** Record why the daemon is shutting down. Called by a shutdown path before it exits. */
223
- export function recordExitReason(reason) {
224
- exitReason = reason;
225
- }
226
- export function installExitTrace(proc, log) {
227
- proc.on('exit', (code) => {
228
- log('reticle_daemon_exiting', {
229
- code: 'number' === typeof code ? code : null,
230
- reason: exitReason,
231
- });
232
- });
233
- for (const signal of ['SIGTERM', 'SIGINT', 'SIGHUP']) {
234
- proc.on(signal, () => {
235
- // Log only. Whatever installed a real handler for this signal still runs; adding an exit here
236
- // would race the shutdown that flushes the session summary.
237
- log('reticle_daemon_signalled', { signal });
238
- });
239
- }
240
- }
241
- export function installDaemonResilience(proc, log, onFatal) {
242
- installExitTrace(proc, log);
243
- const expected = {
244
- disconnected: 'reticle_daemon_client_disconnected',
245
- unreachable: 'reticle_daemon_peer_unreachable',
246
- };
247
- proc.on('unhandledRejection', (reason) => {
248
- if (absorbExpected(reason, log, expected))
249
- return;
250
- log('reticle_daemon_unhandled_rejection', { reason: describe(reason) });
251
- reportCrash(CrashKind.UNHANDLED_REJECTION, reason);
252
- });
253
- proc.on('uncaughtException', (err) => {
254
- // Not fatal either: Node's "the process state is undefined" guidance is about a throw that
255
- // escaped everything, not about a write to a socket somebody closed. Exiting here would let one
256
- // departing client take down the daemon serving every other agent.
257
- if (absorbExpected(err, log, expected))
258
- return;
259
- log('reticle_daemon_uncaught_exception', { error: describe(err) });
260
- reportCrash(CrashKind.UNCAUGHT_EXCEPTION, err);
261
- onFatal();
262
- });
263
- }
264
- /**
265
- * Process-level resilience for the MCP PROXY, whose rule is the opposite of the daemon's.
266
- *
267
- * The daemon exits on an uncaught throw because the next `reticle mcp` respawns it. Nothing respawns
268
- * the proxy — it is the stdio server the editor launched, and its exit is what the user experiences
269
- * as "the MCP server disconnected, open /mcp and reconnect". So it logs and keeps serving: its whole
270
- * state is a socket and a queue, and it already knows how to rebuild both (see the reconnect and
271
- * dormant paths). A crashed-but-serving proxy answers the handshake and `tools/list` from cache; a
272
- * dead one answers nothing and needs a human.
273
- *
274
- * `onCrash` is for reporting only — it must not end the process. `onGone` is the ONE exception, and
275
- * it is the subject of DISCONNECT_STORM below.
276
- */
277
- export function installProxyResilience(proc, log, onCrash = reportCrash, onGone = () => process.exit(0)) {
278
- const expected = {
279
- disconnected: 'reticle_mcp_proxy_client_disconnected',
280
- unreachable: 'reticle_mcp_proxy_daemon_unreachable',
281
- };
282
- // "Absorb the disconnect and keep serving" is right for ONE disconnect and catastrophic for a
283
- // stream of them — see DISCONNECT_STORM.
284
- let disconnects = 0;
285
- let gone = false;
286
- const absorb = (value) => {
287
- if (!absorbExpected(value, log, expected))
288
- return false;
289
- if (false === expectedCode(value)?.unreachable) {
290
- disconnects += 1;
291
- if (disconnects >= DISCONNECT_STORM && !gone) {
292
- gone = true;
293
- log('reticle_mcp_proxy_client_gone', {
294
- disconnects,
295
- note: 'the client end is gone for good, not between reconnects — exiting instead of retrying forever',
296
- });
297
- onGone();
298
- }
299
- }
300
- return true;
301
- };
302
- proc.on('unhandledRejection', (reason) => {
303
- if (absorb(reason))
304
- return;
305
- log('reticle_mcp_proxy_unhandled_rejection', { reason: describe(reason) });
306
- onCrash(CrashKind.UNHANDLED_REJECTION, reason);
307
- });
308
- proc.on('uncaughtException', (err) => {
309
- // The client closing its end of stdio is how this process is SUPPOSED to end its day.
310
- if (absorb(err))
311
- return;
312
- log('reticle_mcp_proxy_uncaught_exception', {
313
- error: describe(err),
314
- note: 'still serving — exiting here would disconnect the MCP client',
315
- });
316
- onCrash(CrashKind.UNCAUGHT_EXCEPTION, err);
317
- });
318
- }
@@ -1,113 +0,0 @@
1
- /**
2
- * Which daemon does THIS project belong to?
3
- *
4
- * The system answered that two incompatible ways. Build plugins asked the registry by projectId, the
5
- * way `pickDaemonPort` was designed to be asked. The CLI and the MCP proxy asked a NUMBER —
6
- * `envPort ?? projectPort ?? 4400` — and then attached to whatever owned it, whoever it belonged to.
7
- *
8
- * So every project on a machine funnelled into one daemon. Its recorded identity was whichever
9
- * project won the race to the port, which made the registry entry wrong the moment a second project
10
- * attached, and made one `kill` on one well-known port a machine-wide outage for every agent at once.
11
- *
12
- * It worked anyway, by luck: everyone defaulted to the same number, so everyone found each other.
13
- * The luck ends the moment a daemon is anywhere but the default — which is exactly when discovery was
14
- * supposed to help, and exactly when it returned nothing.
15
- *
16
- * This module is the one answer both sides now use. It is pure and injectable: no process spawning,
17
- * no port binding, nothing that needs a real `~/.reticle` to test.
18
- */
19
- /**
20
- * The port of the live daemon serving `projectId`, or undefined when this project has none.
21
- *
22
- * Undefined means "start one", never "use the default and hope". That distinction is the fix: the old
23
- * path had no way to express "no daemon of mine exists", so it fell through to a number and attached
24
- * to a stranger.
25
- *
26
- * The selection rule is core's `pickDaemonPort`, shared with every build plugin, so the daemon side
27
- * and the app side cannot disagree about which daemon is ours.
28
- */
29
- export declare function resolveDaemonForProject(projectId: string | undefined, home: string, alive: (pid: number) => boolean): number | undefined;
30
- /**
31
- * May `caller` take over a daemon already sitting on the port it wanted?
32
- *
33
- * Two deliberate escape hatches, both of which keep an existing install working:
34
- *
35
- * A daemon that claims NO project was started somewhere without a `.reticle.json` — the global MCP
36
- * registration in a directory that is not an app, which is the majority of daemons in the field. It
37
- * belongs to nobody, so it belongs to whoever asks; refusing would break every user running Reticle
38
- * globally, which is how it is documented to be installed.
39
- *
40
- * A caller with no project of its own has no identity to defend and nothing to be confused about, so
41
- * it keeps the old permissive behaviour rather than being locked out of a daemon it can use.
42
- *
43
- * Everything else — a named daemon and a differently-named caller — is the cross-project bleed, and
44
- * is the one case this refuses.
45
- */
46
- export declare function adoptable(daemonProjectId: string | undefined, callerProjectId: string | undefined): boolean;
47
- /** The project a daemon on `port` claims, or undefined when it claims none / is not registered. */
48
- export declare function daemonProjectAt(port: number, home: string): string | undefined;
49
- /**
50
- * Live daemons OTHER than `myPort` that an app for this project has connected to.
51
- *
52
- * The split brain this whole module was written to prevent has a second half nobody was reporting.
53
- * `resolveMcpPort` correctly refuses to adopt a stranger's daemon and relocates to an OS-assigned
54
- * port — and the APP, which resolves its own port independently (core's `pickDaemonPort` in the
55
- * build plugin, falling back to the documented default when nothing matches), can land on the
56
- * stranger. The pairing token is per USER, not per project, so that connect SUCCEEDS: the app is
57
- * live on one daemon and the agent is attached to a different, empty one.
58
- *
59
- * Every individual check is then green. The browser shows an instrumented page, `reticle status`
60
- * reports a session, the agent reports Reticle registered and enabled — and the agent's tools see
61
- * nothing, with a no-session diagnosis that tells it to start a dev server that is already running.
62
- *
63
- * `connectedOn` is injected rather than imported so this stays free of the session layer (which
64
- * imports from here) and so the rule is testable without a real `~/.reticle`. Callers pass
65
- * `hasProjectConnectedBefore` bound to the same projectId.
66
- *
67
- * Only LIVE daemons are named: a port a session used yesterday is history, not a split.
68
- */
69
- export declare function daemonsServingProjectElsewhere(projectId: string | undefined, myPort: number, home: string, alive: (pid: number) => boolean, connectedOn: (port: number) => boolean): readonly number[];
70
- /**
71
- * The sentence for a split brain, or `undefined` when there is none.
72
- *
73
- * Stated as a fact about two ports rather than a hedge, because unlike the sibling-port observation
74
- * next door this is not "something is listening somewhere" — it is this project's own connection
75
- * record naming a daemon that is not the one being asked. The wording says which side is empty,
76
- * since the failure is invisible precisely because both sides look healthy from where they stand.
77
- */
78
- export declare function splitBrainNote(myPort: number, elsewhere: readonly number[]): string | undefined;
79
- /**
80
- * The other stance on the same split, for a command standing on the port that HAS the app.
81
- *
82
- * `splitBrainNote` is asked from the empty daemon and reads the connection record. From the daemon
83
- * the app is connected to there is nothing missing to notice — sessions are live, every check is
84
- * green — and the only visible fact is that this project ALSO owns a live daemon somewhere else.
85
- * One project, two daemons, is a split whichever end you are standing on, and saying it from both
86
- * ends is the difference between a user inferring it from two green checkmarks and being told.
87
- *
88
- * Silent for a caller with no project (it owns no daemon to be split from) and silent when the port
89
- * being inspected is the project's own.
90
- */
91
- export declare function wrongDaemonNote(inspectedPort: number, ownPort: number | undefined): string | undefined;
92
- /**
93
- * The port this agent's MCP proxy should serve, decided BEFORE the proxy starts.
94
- *
95
- * Resolved once rather than per reconnect because the proxy's transport is built around a fixed
96
- * number, and making it chase a moving port would mean reworking the reconnect path — the one piece
97
- * of this system whose failure mode is "the MCP server disappeared mid-session". The port it settles
98
- * on is this project's own, so the thing it would be chasing is a daemon it alone is responsible for.
99
- *
100
- * The order is the whole fix:
101
- * 1. our project's live daemon, wherever it is listening — a daemon that moved is still ours;
102
- * 2. the preferred port, but only if free or holding a daemon we may adopt;
103
- * 3. a port the OS gives us, when the preferred one belongs to somebody else.
104
- *
105
- * Step 3 is what stops a second project from attaching to the first project's daemon. That single
106
- * silent adoption is what made every agent on a machine share one process, one identity and one
107
- * blast radius.
108
- */
109
- export declare function resolveMcpPort(preferred: number, projectId: string | undefined, home: string, deps: {
110
- alive: (pid: number) => boolean;
111
- daemonPresent: (port: number) => Promise<boolean>;
112
- pickPort: (preferred: number) => Promise<number>;
113
- }): Promise<number>;
@@ -1,187 +0,0 @@
1
- /**
2
- * Which daemon does THIS project belong to?
3
- *
4
- * The system answered that two incompatible ways. Build plugins asked the registry by projectId, the
5
- * way `pickDaemonPort` was designed to be asked. The CLI and the MCP proxy asked a NUMBER —
6
- * `envPort ?? projectPort ?? 4400` — and then attached to whatever owned it, whoever it belonged to.
7
- *
8
- * So every project on a machine funnelled into one daemon. Its recorded identity was whichever
9
- * project won the race to the port, which made the registry entry wrong the moment a second project
10
- * attached, and made one `kill` on one well-known port a machine-wide outage for every agent at once.
11
- *
12
- * It worked anyway, by luck: everyone defaulted to the same number, so everyone found each other.
13
- * The luck ends the moment a daemon is anywhere but the default — which is exactly when discovery was
14
- * supposed to help, and exactly when it returned nothing.
15
- *
16
- * This module is the one answer both sides now use. It is pure and injectable: no process spawning,
17
- * no port binding, nothing that needs a real `~/.reticle` to test.
18
- */
19
- import { readdirSync, readFileSync } from 'node:fs';
20
- import { join } from 'node:path';
21
- import { DaemonRegistryEntrySchema, daemonRegistryPort, pickDaemonPort, } from '@reticlehq/core/artifacts';
22
- /**
23
- * Every well-formed registry entry in `home`.
24
- *
25
- * A corrupt or half-written entry is skipped rather than thrown on: the registry is written by other
26
- * processes that can be killed mid-write, and one bad file must not make a machine's daemons
27
- * undiscoverable. Validated through core's schema so a shape change cannot silently pass here.
28
- */
29
- function readDaemonRegistry(home) {
30
- let files;
31
- try {
32
- files = readdirSync(home);
33
- }
34
- catch {
35
- return []; // no ~/.reticle yet: no daemon has ever run here
36
- }
37
- const entries = [];
38
- for (const file of files) {
39
- if (null === daemonRegistryPort(file))
40
- continue;
41
- try {
42
- const parsed = DaemonRegistryEntrySchema.safeParse(JSON.parse(readFileSync(join(home, file), 'utf8')));
43
- if (parsed.success)
44
- entries.push(parsed.data);
45
- }
46
- catch {
47
- continue;
48
- }
49
- }
50
- return entries;
51
- }
52
- /**
53
- * The port of the live daemon serving `projectId`, or undefined when this project has none.
54
- *
55
- * Undefined means "start one", never "use the default and hope". That distinction is the fix: the old
56
- * path had no way to express "no daemon of mine exists", so it fell through to a number and attached
57
- * to a stranger.
58
- *
59
- * The selection rule is core's `pickDaemonPort`, shared with every build plugin, so the daemon side
60
- * and the app side cannot disagree about which daemon is ours.
61
- */
62
- export function resolveDaemonForProject(projectId, home, alive) {
63
- return pickDaemonPort(readDaemonRegistry(home), projectId, alive) ?? undefined;
64
- }
65
- /**
66
- * May `caller` take over a daemon already sitting on the port it wanted?
67
- *
68
- * Two deliberate escape hatches, both of which keep an existing install working:
69
- *
70
- * A daemon that claims NO project was started somewhere without a `.reticle.json` — the global MCP
71
- * registration in a directory that is not an app, which is the majority of daemons in the field. It
72
- * belongs to nobody, so it belongs to whoever asks; refusing would break every user running Reticle
73
- * globally, which is how it is documented to be installed.
74
- *
75
- * A caller with no project of its own has no identity to defend and nothing to be confused about, so
76
- * it keeps the old permissive behaviour rather than being locked out of a daemon it can use.
77
- *
78
- * Everything else — a named daemon and a differently-named caller — is the cross-project bleed, and
79
- * is the one case this refuses.
80
- */
81
- export function adoptable(daemonProjectId, callerProjectId) {
82
- if (daemonProjectId === undefined || 0 === daemonProjectId.length)
83
- return true;
84
- if (callerProjectId === undefined || 0 === callerProjectId.length)
85
- return true;
86
- return daemonProjectId === callerProjectId;
87
- }
88
- /** The project a daemon on `port` claims, or undefined when it claims none / is not registered. */
89
- export function daemonProjectAt(port, home) {
90
- return readDaemonRegistry(home).find((e) => e.port === port)?.projectId;
91
- }
92
- /**
93
- * Live daemons OTHER than `myPort` that an app for this project has connected to.
94
- *
95
- * The split brain this whole module was written to prevent has a second half nobody was reporting.
96
- * `resolveMcpPort` correctly refuses to adopt a stranger's daemon and relocates to an OS-assigned
97
- * port — and the APP, which resolves its own port independently (core's `pickDaemonPort` in the
98
- * build plugin, falling back to the documented default when nothing matches), can land on the
99
- * stranger. The pairing token is per USER, not per project, so that connect SUCCEEDS: the app is
100
- * live on one daemon and the agent is attached to a different, empty one.
101
- *
102
- * Every individual check is then green. The browser shows an instrumented page, `reticle status`
103
- * reports a session, the agent reports Reticle registered and enabled — and the agent's tools see
104
- * nothing, with a no-session diagnosis that tells it to start a dev server that is already running.
105
- *
106
- * `connectedOn` is injected rather than imported so this stays free of the session layer (which
107
- * imports from here) and so the rule is testable without a real `~/.reticle`. Callers pass
108
- * `hasProjectConnectedBefore` bound to the same projectId.
109
- *
110
- * Only LIVE daemons are named: a port a session used yesterday is history, not a split.
111
- */
112
- export function daemonsServingProjectElsewhere(projectId, myPort, home, alive, connectedOn) {
113
- if (projectId === undefined || 0 === projectId.length)
114
- return [];
115
- return readDaemonRegistry(home)
116
- .filter((entry) => entry.port !== myPort && alive(entry.pid) && connectedOn(entry.port))
117
- .map((entry) => entry.port)
118
- .sort((a, b) => a - b);
119
- }
120
- /**
121
- * The sentence for a split brain, or `undefined` when there is none.
122
- *
123
- * Stated as a fact about two ports rather than a hedge, because unlike the sibling-port observation
124
- * next door this is not "something is listening somewhere" — it is this project's own connection
125
- * record naming a daemon that is not the one being asked. The wording says which side is empty,
126
- * since the failure is invisible precisely because both sides look healthy from where they stand.
127
- */
128
- export function splitBrainNote(myPort, elsewhere) {
129
- if (0 === elsewhere.length)
130
- return undefined;
131
- const listed = elsewhere.map((port) => `:${String(port)}`).join(', ');
132
- const first = elsewhere[0] ?? myPort;
133
- return (`this project's app is connected to a DIFFERENT Reticle daemon (${listed}), while this one is ` +
134
- `on :${String(myPort)} — two daemons for one project, and the agent is attached to the empty ` +
135
- 'half. Nothing is wrong with the app or the wiring. Stop the other daemon with ' +
136
- `\`reticle stop --port ${String(first)}\` and restart the dev server so the app rediscovers ` +
137
- 'this one, or start the agent and the dev server from the same project directory so both ' +
138
- 'resolve the same daemon.');
139
- }
140
- /**
141
- * The other stance on the same split, for a command standing on the port that HAS the app.
142
- *
143
- * `splitBrainNote` is asked from the empty daemon and reads the connection record. From the daemon
144
- * the app is connected to there is nothing missing to notice — sessions are live, every check is
145
- * green — and the only visible fact is that this project ALSO owns a live daemon somewhere else.
146
- * One project, two daemons, is a split whichever end you are standing on, and saying it from both
147
- * ends is the difference between a user inferring it from two green checkmarks and being told.
148
- *
149
- * Silent for a caller with no project (it owns no daemon to be split from) and silent when the port
150
- * being inspected is the project's own.
151
- */
152
- export function wrongDaemonNote(inspectedPort, ownPort) {
153
- if (ownPort === undefined || ownPort === inspectedPort)
154
- return undefined;
155
- return (`this is not this project's own daemon: the registry says it owns a live daemon on ` +
156
- `:${String(ownPort)} and this command is looking at :${String(inspectedPort)}. Two daemons for ` +
157
- 'one project means the half your agent is attached to and the half your app is connected to can ' +
158
- 'be different processes, with both reporting healthy. Stop one of them and restart the dev ' +
159
- 'server so everything lands on the same port.');
160
- }
161
- /**
162
- * The port this agent's MCP proxy should serve, decided BEFORE the proxy starts.
163
- *
164
- * Resolved once rather than per reconnect because the proxy's transport is built around a fixed
165
- * number, and making it chase a moving port would mean reworking the reconnect path — the one piece
166
- * of this system whose failure mode is "the MCP server disappeared mid-session". The port it settles
167
- * on is this project's own, so the thing it would be chasing is a daemon it alone is responsible for.
168
- *
169
- * The order is the whole fix:
170
- * 1. our project's live daemon, wherever it is listening — a daemon that moved is still ours;
171
- * 2. the preferred port, but only if free or holding a daemon we may adopt;
172
- * 3. a port the OS gives us, when the preferred one belongs to somebody else.
173
- *
174
- * Step 3 is what stops a second project from attaching to the first project's daemon. That single
175
- * silent adoption is what made every agent on a machine share one process, one identity and one
176
- * blast radius.
177
- */
178
- export async function resolveMcpPort(preferred, projectId, home, deps) {
179
- const mine = resolveDaemonForProject(projectId, home, deps.alive);
180
- if (mine !== undefined)
181
- return mine;
182
- if (!(await deps.daemonPresent(preferred)))
183
- return preferred;
184
- return adoptable(daemonProjectAt(preferred, home), projectId)
185
- ? preferred
186
- : deps.pickPort(preferred);
187
- }