@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
@@ -0,0 +1,77 @@
1
+ /**
2
+ * The row labels `reticle doctor` can print, and the one place that pads them into a column.
3
+ *
4
+ * These were free strings before, hand-padded at every call site across three modules
5
+ * (`cli-doctor.ts`, `doctor-daemon-line.ts`, `doctor-sessions-line.ts`). Two problems with that,
6
+ * and the second is the one that motivated #340:
7
+ *
8
+ * 1. The padding was maintained by eye. Every label happened to be padded to the same column, but
9
+ * nothing enforced it, and a label longer than the column would have quietly broken the
10
+ * alignment of one row in a checklist whose whole readability is the column.
11
+ * 2. Nothing connected the labels to the docs pages that reproduce doctor's output. A row could be
12
+ * added, renamed or removed and the three pages showing sample output would go on describing the
13
+ * old vocabulary, with no gate noticing. `doctor` is the command a stuck user runs, and the docs
14
+ * are what they read when its output does not match what they were told to expect.
15
+ *
16
+ * The label set is exported so the docs guard can derive its expectation from the command rather
17
+ * than from a hand-kept list, which is the direction that catches the case that actually bites: a
18
+ * row added and never documented.
19
+ *
20
+ * NOT every row prints on every run. `version` prints only on skew, `port check` only on a
21
+ * mismatch, `sibling` only when a well-known Reticle port other than ours has a listener,
22
+ * `desktop` only on a desktop project, and `sessions` only when a daemon answered. The
23
+ * vocabulary is therefore "what this command can print", not "what one run printed" — a guard built
24
+ * by scraping a single invocation would silently stop covering the conditional rows, which are
25
+ * exactly the ones a reader is least likely to have seen before.
26
+ */
27
+ /** Every row label `doctor` can emit. Values are the literal text at the head of the row. */
28
+ export const DoctorRow = {
29
+ NODE: 'node',
30
+ CHROMIUM: 'chromium',
31
+ DAEMON: 'daemon',
32
+ VERSION: 'version',
33
+ SESSIONS: 'sessions',
34
+ /**
35
+ * The agent-to-daemon hop, which every other row here is blind to.
36
+ *
37
+ * Reported from the field: a user with the SDK injected, the overlay visible, a live session on
38
+ * the daemon and every tool listed in their client was still told by three separate agents that
39
+ * Reticle was not present. Their words: "four green checkmarks that don't add up to a working
40
+ * verification." Every row in this list checks a COMPONENT; none checked a LINK.
41
+ */
42
+ AGENT_LINK: 'agent link',
43
+ /**
44
+ * Which of `localhost`'s two answers reaches the bridge, printed only when they disagree.
45
+ *
46
+ * The daemon binds `127.0.0.1` and `loopback-alias.ts` forwards `[::1]` to it, best-effort —
47
+ * a machine with IPv6 off, or something already holding `[::1]:port`, leaves the daemon serving
48
+ * IPv4 alone and must not be fatal. But `localhost` is a NAME, and Windows Chrome tries the IPv6
49
+ * answer first, so on that combination the SDK's documented default URL cannot reach a daemon that
50
+ * is running perfectly. The only record of the alias failing was a field on one JSON log line.
51
+ *
52
+ * Conditional like `version`: a healthy machine answers on both and prints nothing.
53
+ */
54
+ LOOPBACK: 'loopback',
55
+ BRIDGE_PORT: 'bridge port',
56
+ PORT_CHECK: 'port check',
57
+ SIBLING: 'sibling',
58
+ DAEMON_LOG: 'daemon log',
59
+ TRACING: 'tracing',
60
+ DESKTOP: 'desktop',
61
+ };
62
+ export const DOCTOR_ROW_LABELS = Object.values(DoctorRow);
63
+ /** Indent every row carries, before the label. */
64
+ const INDENT = ' ';
65
+ /**
66
+ * Width the label column pads to.
67
+ *
68
+ * Derived from the longest label rather than hardcoded, so adding a longer row realigns the whole
69
+ * checklist instead of breaking one line of it. With the current set the longest is `bridge port`
70
+ * (11), so this is 13 — byte-identical to the hand-padding it replaces. A test pins that, so a
71
+ * change to the column is a deliberate, visible change rather than an invisible reflow.
72
+ */
73
+ export const LABEL_COLUMN = DOCTOR_ROW_LABELS.reduce((widest, label) => Math.max(widest, label.length), 0) + 2;
74
+ /** Build one `doctor` row: the standard indent, the label padded to the column, then `rest`. */
75
+ export function doctorRow(label, rest) {
76
+ return `${INDENT}${label.padEnd(LABEL_COLUMN)}${rest}`;
77
+ }
@@ -0,0 +1,69 @@
1
+ import { SELF_RECOVERING_MARKER } from '../../../portal/session/no-session-diagnosis.js';
2
+ import { DoctorRow, doctorRow } from './doctor-rows.js';
3
+ /**
4
+ * The line `doctor` was missing: is anything actually CONNECTED?
5
+ *
6
+ * `doctor` collapses the first-run failure modes into one command, and it checked every one of them
7
+ * except the one the funnel actually stalls on. A user who has installed the SDK, wired the plugin
8
+ * and started the daemon runs `doctor`, gets node, chromium, daemon, bridge port and desktop wiring
9
+ * all ✓, and is no better off — because the thing that is wrong is that no page has ever dialled in,
10
+ * and nothing on that screen mentions pages.
11
+ *
12
+ * The daemon has always known. `/status` carries `sessionCount`, the session list, and `why` — the
13
+ * same no-session diagnosis an agent gets from an empty `reticle_sessions`, which is careful about
14
+ * what it can and cannot prove. `reticle status` prints it. `doctor` fetched the identical payload
15
+ * to read `version` and `contract` off it and dropped the rest on the floor.
16
+ *
17
+ * So this invents no new diagnosis. It surfaces one that already exists, on the command a stuck human
18
+ * runs, which is the difference between a checklist that ends in "everything is fine" and one that
19
+ * ends in a next action.
20
+ *
21
+ * Pure and payload-shaped rather than reaching for the bridge: `doctor` runs in a separate process
22
+ * from the daemon and can only ever know what `/status` told it.
23
+ */
24
+ /**
25
+ * The diagnosis is written for an AGENT, and `doctor` has a human in front of it.
26
+ *
27
+ * Every branch of it ends by telling the reader to call `reticle_sessions` again, which is right for
28
+ * the caller it was written for and useless to somebody in a shell: an MCP tool is not something you
29
+ * can type. Printing it unchanged would make `doctor` end on a recovery its reader cannot perform,
30
+ * which is the same defect as the aged-out lease message that told an agent to ask a human to reopen
31
+ * a tab that never existed.
32
+ *
33
+ * So the last sentence is swapped for the shell equivalent of itself. Only that sentence — the rest
34
+ * of the diagnosis is about the app and reads the same to either audience.
35
+ */
36
+ const HUMAN_RETRY = 'Then run `reticle doctor` again — it will appear within a second of the page loading.';
37
+ function forAHuman(why) {
38
+ // Imported, not re-typed: a copy of a sentence that has to match another file's byte-for-byte is a
39
+ // drift bug with a delay on it, and the failure is silent — the swap simply stops happening and
40
+ // doctor goes back to telling a human to call an MCP tool.
41
+ return why.replace(SELF_RECOVERING_MARKER, HUMAN_RETRY);
42
+ }
43
+ function countOf(facts) {
44
+ const raw = facts.sessionCount;
45
+ return 'number' === typeof raw && Number.isFinite(raw) && raw >= 0 ? raw : undefined;
46
+ }
47
+ export function sessionsLine(facts) {
48
+ const count = countOf(facts);
49
+ if (count === undefined) {
50
+ // An older daemon that does not report it. Saying "0 connected" here would be a claim about the
51
+ // app made from a payload that never mentioned the app — the exact kind of confident wrong
52
+ // sentence the no-session diagnosis exists to avoid.
53
+ return {
54
+ text: doctorRow(DoctorRow.SESSIONS, '? this daemon did not report connected pages (older build)'),
55
+ };
56
+ }
57
+ if (count > 0) {
58
+ const plural = 1 === count ? 'page' : 'pages';
59
+ return { text: doctorRow(DoctorRow.SESSIONS, `✓ ${String(count)} ${plural} connected`) };
60
+ }
61
+ const why = 'string' === typeof facts.why && facts.why.length > 0 ? forAHuman(facts.why) : undefined;
62
+ return {
63
+ // Deliberately ✗ rather than a neutral note. Zero connected pages is why somebody is running
64
+ // doctor, and a ✓-coloured checklist that hides the one failing thing is how the old output
65
+ // convinced people their setup was fine.
66
+ text: doctorRow(DoctorRow.SESSIONS, '✗ no page has connected to this daemon'),
67
+ ...(why === undefined ? {} : { why }),
68
+ };
69
+ }
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Who gets the bridge port when `reticle drive <url>` runs — and what happens when the answer is
3
+ * "not you".
4
+ *
5
+ * `drive` used to bind :4400 unconditionally. A daemon on that port is the NORMAL state the moment
6
+ * any MCP client has started one, so the bind died with a raw `node:net` EADDRINUSE stack — in the
7
+ * exact situation the product tells people to run `drive` in, since `reticle_sessions` recommends it
8
+ * for a throttled tab and a throttled tab nearly always coexists with the daemon that makes the bind
9
+ * impossible. The documented workaround is worse than the bug, because `reticle stop` frees the
10
+ * port and the MCP proxy respawns a daemon into the gap before
11
+ * `drive` can bind, so the "escape hatch" is a race the user cannot win.
12
+ *
13
+ * The fix is arbitration, not a better race:
14
+ *
15
+ * - **A healthy daemon owns the port → ATTACH.** Driving is a REQUEST to the process that already
16
+ * owns the browser plane, not a competing process. The daemon hands out a pooled, isolated,
17
+ * never-throttled context (the same one `reticle_lease` returns) and the caller gets back a
18
+ * sessionId every Reticle tool — including the ones the agent already has open on that daemon —
19
+ * can address. Nothing is bound, so there is nothing to race for and no reason to run `stop`.
20
+ * - **Nothing on the port → BIND.** Unchanged: `drive` is still a self-contained foreground engine
21
+ * with its own browser when it can have the port.
22
+ * - **A stranger owns the port → REFUSE**, naming the holder. Neither binding nor attaching can
23
+ * work, and pretending otherwise is the lie this module exists to remove.
24
+ *
25
+ * Making `stop` block until the port is genuinely free (and muzzling the proxy meanwhile) was the
26
+ * alternative. It is strictly more machinery — a cross-process handoff, a suppression window, a new
27
+ * way for the proxy to be wrong — to earn the same browser the daemon can already open, and it would
28
+ * still leave `drive` unable to run while an agent is working. Attaching deletes the race instead of
29
+ * refereeing it.
30
+ */
31
+ import { PortPresence } from '../../daemon/binding/port-presence.js';
32
+ /** What `drive` should do about the port, given what is on it. */
33
+ export declare const DriveMode: {
34
+ /** Nothing is listening: bind it and run the foreground engine. */
35
+ readonly BIND: "bind";
36
+ /** Our daemon is serving it: ask that daemon for a driveable session. */
37
+ readonly ATTACH: "attach";
38
+ /** Someone else holds it: neither is possible. */
39
+ readonly REFUSE: "refuse";
40
+ };
41
+ export type DriveMode = (typeof DriveMode)[keyof typeof DriveMode];
42
+ /** Pure. Exhaustive by switch, so a fourth presence has to decide what driving means for it. */
43
+ export declare function decideDriveMode(presence: PortPresence): DriveMode;
44
+ /** A driveable session the daemon opened on our behalf. */
45
+ interface DriveSession {
46
+ sessionId: string;
47
+ /** Whether the tab's SDK actually registered — false ⇒ the app may not embed @reticlehq/core. */
48
+ ready: boolean;
49
+ /** How long the session survives untouched. Absent from a daemon that does not report it. */
50
+ expiresInMs?: number;
51
+ /** The daemon's own diagnosis when the tab did not connect. */
52
+ hint?: string;
53
+ }
54
+ type DriveAttachResult = {
55
+ ok: true;
56
+ session: DriveSession;
57
+ } | {
58
+ ok: false;
59
+ reason: string;
60
+ };
61
+ /** POST the drive request. Injected so the decision logic is tested without a socket. */
62
+ type DrivePost = (port: number, path: string, body: string) => Promise<{
63
+ status: number;
64
+ body: string;
65
+ }>;
66
+ /**
67
+ * Turn the daemon's answer into a session or a sentence. Pure.
68
+ *
69
+ * Every failure branch has to end in something the reader can DO, because this is the path that
70
+ * replaces the EADDRINUSE stack — an answer that is merely accurate ("404") repeats the original
71
+ * mistake in a politer font.
72
+ */
73
+ export declare function readAttachResponse(port: number, url: string, res: {
74
+ status: number;
75
+ body: string;
76
+ }): DriveAttachResult;
77
+ /** Ask the daemon on `port` to open a driveable browser at `url`. */
78
+ export declare function requestDriveSession(port: number, url: string, post?: DrivePost): Promise<DriveAttachResult>;
79
+ /** The success line. Names the session, because that is the handle everything downstream needs. */
80
+ export declare function describeAttached(port: number, url: string, session: DriveSession): string;
81
+ /**
82
+ * What an attach cannot honour: the window.
83
+ *
84
+ * `drive` documents a HEADED browser and parses `--headless` as the opt-out, but the attach path
85
+ * POSTs a url and nothing else — the daemon answers from a pool it launched headless at boot, and no
86
+ * per-request flag can change a browser that is already running. So the run is invisible, which is
87
+ * the half of the field report that reads "the app starts to run headlessly".
88
+ *
89
+ * Saying so is the honest half. The other half is that the run is no longer unwatchable: the HUD
90
+ * feed is mirrored to every other tab of the same app (see Session.setViewers), so a tab the human
91
+ * already has open shows the narration and the counters as the leased context is driven.
92
+ */
93
+ export declare function driveHeadlessOnAttach(port: number, url: string): string;
94
+ /**
95
+ * A stranger holds the port, in words `drive` can honour.
96
+ *
97
+ * The shared sentence for a foreign holder offers `--port`, which is true of `serve`, `status` and
98
+ * `doctor` and false here: `drive` rejects that flag outright and reads the port from the
99
+ * environment. Sending someone to a flag that does not exist is a second dead end at the moment they
100
+ * have already hit one, so the route that works is named instead. The shared sentence is passed in
101
+ * rather than rebuilt, so the description of the holder stays in one place.
102
+ */
103
+ export declare function driveForeignHolder(description: string): string;
104
+ /**
105
+ * The port went from free to taken between the probe and the bind.
106
+ *
107
+ * The probe cannot close that window, and the loser of the race learns about it as an EADDRINUSE on
108
+ * the server object, outside every promise `drive` holds. It is a DISTINCT state from a foreign
109
+ * holder — the likeliest winner is a daemon the proxy just spawned — so it gets its own sentence,
110
+ * and that sentence is "run it again", because the second run attaches instead of binding.
111
+ */
112
+ export declare function driveRaceLost(port: number, url: string): string;
113
+ export {};
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Who gets the bridge port when `reticle drive <url>` runs — and what happens when the answer is
3
+ * "not you".
4
+ *
5
+ * `drive` used to bind :4400 unconditionally. A daemon on that port is the NORMAL state the moment
6
+ * any MCP client has started one, so the bind died with a raw `node:net` EADDRINUSE stack — in the
7
+ * exact situation the product tells people to run `drive` in, since `reticle_sessions` recommends it
8
+ * for a throttled tab and a throttled tab nearly always coexists with the daemon that makes the bind
9
+ * impossible. The documented workaround is worse than the bug, because `reticle stop` frees the
10
+ * port and the MCP proxy respawns a daemon into the gap before
11
+ * `drive` can bind, so the "escape hatch" is a race the user cannot win.
12
+ *
13
+ * The fix is arbitration, not a better race:
14
+ *
15
+ * - **A healthy daemon owns the port → ATTACH.** Driving is a REQUEST to the process that already
16
+ * owns the browser plane, not a competing process. The daemon hands out a pooled, isolated,
17
+ * never-throttled context (the same one `reticle_lease` returns) and the caller gets back a
18
+ * sessionId every Reticle tool — including the ones the agent already has open on that daemon —
19
+ * can address. Nothing is bound, so there is nothing to race for and no reason to run `stop`.
20
+ * - **Nothing on the port → BIND.** Unchanged: `drive` is still a self-contained foreground engine
21
+ * with its own browser when it can have the port.
22
+ * - **A stranger owns the port → REFUSE**, naming the holder. Neither binding nor attaching can
23
+ * work, and pretending otherwise is the lie this module exists to remove.
24
+ *
25
+ * Making `stop` block until the port is genuinely free (and muzzling the proxy meanwhile) was the
26
+ * alternative. It is strictly more machinery — a cross-process handoff, a suppression window, a new
27
+ * way for the proxy to be wrong — to earn the same browser the daemon can already open, and it would
28
+ * still leave `drive` unable to run while an agent is working. Attaching deletes the race instead of
29
+ * refereeing it.
30
+ */
31
+ import * as http from 'node:http';
32
+ import { DRIVE_PATH, LOOPBACK_HOST } from '@reticlehq/core';
33
+ import { PortPresence } from '../../daemon/binding/port-presence.js';
34
+ /** What `drive` should do about the port, given what is on it. */
35
+ export const DriveMode = {
36
+ /** Nothing is listening: bind it and run the foreground engine. */
37
+ BIND: 'bind',
38
+ /** Our daemon is serving it: ask that daemon for a driveable session. */
39
+ ATTACH: 'attach',
40
+ /** Someone else holds it: neither is possible. */
41
+ REFUSE: 'refuse',
42
+ };
43
+ /** Pure. Exhaustive by switch, so a fourth presence has to decide what driving means for it. */
44
+ export function decideDriveMode(presence) {
45
+ switch (presence) {
46
+ case PortPresence.DAEMON:
47
+ return DriveMode.ATTACH;
48
+ case PortPresence.FOREIGN:
49
+ return DriveMode.REFUSE;
50
+ case PortPresence.FREE:
51
+ return DriveMode.BIND;
52
+ }
53
+ }
54
+ /** The daemon answers a tool refusal (app down, pool unavailable) as a 200 with this field. */
55
+ const ERROR_FIELD = 'error';
56
+ /**
57
+ * Turn the daemon's answer into a session or a sentence. Pure.
58
+ *
59
+ * Every failure branch has to end in something the reader can DO, because this is the path that
60
+ * replaces the EADDRINUSE stack — an answer that is merely accurate ("404") repeats the original
61
+ * mistake in a politer font.
62
+ */
63
+ export function readAttachResponse(port, url, res) {
64
+ if (404 === res.status) {
65
+ return {
66
+ ok: false,
67
+ reason: `the Reticle daemon on :${String(port)} is older than this CLI and cannot open a drive ` +
68
+ 'session — stop it with `reticle stop` and retry (the next tool call starts a current one).',
69
+ };
70
+ }
71
+ if (200 !== res.status) {
72
+ return {
73
+ ok: false,
74
+ reason: `the Reticle daemon on :${String(port)} refused to open a drive session ` +
75
+ `(HTTP ${String(res.status)}: ${res.body.slice(0, 200)}).`,
76
+ };
77
+ }
78
+ const notASession = {
79
+ ok: false,
80
+ reason: `the Reticle daemon on :${String(port)} answered the drive request with something that is ` +
81
+ 'not a session. Stop it with `reticle stop` and retry.',
82
+ };
83
+ const parsed = parseJson(res.body);
84
+ if (typeof parsed !== 'object' || null === parsed)
85
+ return notASession;
86
+ const record = parsed;
87
+ const error = record[ERROR_FIELD];
88
+ if ('string' === typeof error) {
89
+ return { ok: false, reason: `could not drive ${url} — ${error}` };
90
+ }
91
+ const sessionId = record['sessionId'];
92
+ if ('string' !== typeof sessionId || 0 === sessionId.length) {
93
+ return {
94
+ ok: false,
95
+ reason: `the Reticle daemon on :${String(port)} answered the drive request with something that is ` +
96
+ 'not a session. Stop it with `reticle stop` and retry.',
97
+ };
98
+ }
99
+ const expiresInMs = record['expiresInMs'];
100
+ const hint = record['hint'];
101
+ return {
102
+ ok: true,
103
+ session: {
104
+ sessionId,
105
+ ready: true === record['ready'],
106
+ ...('number' === typeof expiresInMs ? { expiresInMs } : {}),
107
+ ...('string' === typeof hint ? { hint } : {}),
108
+ },
109
+ };
110
+ }
111
+ function parseJson(body) {
112
+ try {
113
+ return JSON.parse(body);
114
+ }
115
+ catch {
116
+ return undefined;
117
+ }
118
+ }
119
+ /** Ask the daemon on `port` to open a driveable browser at `url`. */
120
+ export async function requestDriveSession(port, url, post = postJson) {
121
+ let res;
122
+ try {
123
+ res = await post(port, DRIVE_PATH, JSON.stringify({ url }));
124
+ }
125
+ catch (error) {
126
+ // The daemon answered /status a moment ago and is gone now — a shutdown, a crash, a `stop` from
127
+ // another terminal. Retrying is the whole answer, and it is the one thing an errno never says.
128
+ const message = error instanceof Error ? error.message : String(error);
129
+ return {
130
+ ok: false,
131
+ reason: `could not reach the Reticle daemon on :${String(port)} (${message}) — it answered a ` +
132
+ 'moment ago, so it is shutting down or has just been stopped. Retry the command.',
133
+ };
134
+ }
135
+ return readAttachResponse(port, url, res);
136
+ }
137
+ /** The success line. Names the session, because that is the handle everything downstream needs. */
138
+ export function describeAttached(port, url, session) {
139
+ const life = session.expiresInMs === undefined
140
+ ? ''
141
+ : ` It is released after ${String(Math.round(session.expiresInMs / 1000))}s untouched; any ` +
142
+ 'tool call against it resets that.';
143
+ if (!session.ready) {
144
+ return (`the Reticle daemon on :${String(port)} opened ${url} as session ${session.sessionId}, but ` +
145
+ `the page did not connect to the bridge. ${session.hint ?? 'Check that the app embeds @reticlehq/core.'}`);
146
+ }
147
+ return (`attached to the Reticle daemon on :${String(port)} — it is driving ${url} as session ` +
148
+ `${session.sessionId}, which every Reticle tool can address.${life}`);
149
+ }
150
+ /**
151
+ * What an attach cannot honour: the window.
152
+ *
153
+ * `drive` documents a HEADED browser and parses `--headless` as the opt-out, but the attach path
154
+ * POSTs a url and nothing else — the daemon answers from a pool it launched headless at boot, and no
155
+ * per-request flag can change a browser that is already running. So the run is invisible, which is
156
+ * the half of the field report that reads "the app starts to run headlessly".
157
+ *
158
+ * Saying so is the honest half. The other half is that the run is no longer unwatchable: the HUD
159
+ * feed is mirrored to every other tab of the same app (see Session.setViewers), so a tab the human
160
+ * already has open shows the narration and the counters as the leased context is driven.
161
+ */
162
+ export function driveHeadlessOnAttach(port, url) {
163
+ return (`note: this session runs inside the daemon on :${String(port)}, whose browser was launched ` +
164
+ 'headless — there is no window to show, and `--headless` is not a per-drive choice. Open ' +
165
+ `${url} in your own browser to watch: any tab of that app mirrors this session's HUD. To get a ` +
166
+ 'window instead, stop the daemon and run `reticle drive` again with the port free.');
167
+ }
168
+ /**
169
+ * A stranger holds the port, in words `drive` can honour.
170
+ *
171
+ * The shared sentence for a foreign holder offers `--port`, which is true of `serve`, `status` and
172
+ * `doctor` and false here: `drive` rejects that flag outright and reads the port from the
173
+ * environment. Sending someone to a flag that does not exist is a second dead end at the moment they
174
+ * have already hit one, so the route that works is named instead. The shared sentence is passed in
175
+ * rather than rebuilt, so the description of the holder stays in one place.
176
+ */
177
+ export function driveForeignHolder(description) {
178
+ return `${description} \`drive\` takes the port from RETICLE_PORT or .reticle.json, not a flag.`;
179
+ }
180
+ /**
181
+ * The port went from free to taken between the probe and the bind.
182
+ *
183
+ * The probe cannot close that window, and the loser of the race learns about it as an EADDRINUSE on
184
+ * the server object, outside every promise `drive` holds. It is a DISTINCT state from a foreign
185
+ * holder — the likeliest winner is a daemon the proxy just spawned — so it gets its own sentence,
186
+ * and that sentence is "run it again", because the second run attaches instead of binding.
187
+ */
188
+ export function driveRaceLost(port, url) {
189
+ return (`:${String(port)} was taken while \`drive\` was starting — a daemon (probably one the agent's ` +
190
+ `MCP proxy just spawned) now owns it. Run \`reticle drive ${url}\` again: it will attach to ` +
191
+ 'that daemon instead of binding the port.');
192
+ }
193
+ /** How long the drive request waits. A pooled context has to launch a browser on a cold daemon. */
194
+ const DRIVE_REQUEST_TIMEOUT_MS = 60_000;
195
+ /** The real POST. Loopback-only: the daemon is always local, and the drive plane never leaves the host. */
196
+ function postJson(port, path, body) {
197
+ return new Promise((resolve, reject) => {
198
+ const req = http.request({
199
+ host: LOOPBACK_HOST,
200
+ port,
201
+ path,
202
+ method: 'POST',
203
+ timeout: DRIVE_REQUEST_TIMEOUT_MS,
204
+ headers: {
205
+ 'Content-Type': 'application/json',
206
+ 'Content-Length': Buffer.byteLength(body),
207
+ },
208
+ }, (res) => {
209
+ let received = '';
210
+ res.setEncoding('utf8');
211
+ res.on('data', (chunk) => (received += chunk));
212
+ res.on('end', () => resolve({ status: res.statusCode ?? 0, body: received }));
213
+ });
214
+ req.on('error', reject);
215
+ req.on('timeout', () => {
216
+ req.destroy();
217
+ reject(new Error(`no answer within ${String(DRIVE_REQUEST_TIMEOUT_MS)}ms`));
218
+ });
219
+ req.end(body);
220
+ });
221
+ }
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The `reticle drive <url>` command: decide who gets the bridge port, then do the right thing.
3
+ *
4
+ * Lifted out of cli.ts as one unit — the decision, the attach, and the bind are three answers to a
5
+ * single question and reading one without the others is how the port fight got shipped in the first
6
+ * place. The pure parts (which mode, and every sentence a user reads) live next door in
7
+ * drive-attach.ts, which is where the reasoning for attaching is written down.
8
+ */
9
+ import { start } from '../../../index.js';
10
+ import { log } from '../../../log.js';
11
+ import { probePresence, describePresence } from '../../daemon/binding/port-presence.js';
12
+ import { probeDaemon } from '../../../surface/mcp/mcp-proxy.js';
13
+ import { readPid } from '../../daemon/daemon.js';
14
+ import { fetchStatus } from '../../daemon/binding/daemon-status-probe.js';
15
+ import { captureLookup, findPortHolder } from '../ports/port-holder.js';
16
+ import { DriveMode, decideDriveMode, describeAttached, driveForeignHolder, driveHeadlessOnAttach, driveRaceLost, requestDriveSession, } from './drive-attach.js';
17
+ export function handleDrive(parsed) {
18
+ void driveWithHonestConflict(parsed);
19
+ }
20
+ /**
21
+ * Decide who gets the port BEFORE binding it — and when the answer is "the daemon", ask it instead.
22
+ *
23
+ * `drive` went straight to `start`, which binds. The listen error surfaces asynchronously on the
24
+ * server object long after `start` has resolved, so the `.catch` on that promise could never see it
25
+ * and the process died with the raw `node:net` EADDRINUSE stack — in the one situation this command
26
+ * is most often run in, since `reticle_sessions` recommends `reticle drive` for a throttled tab and
27
+ * a throttled tab nearly always coexists with the daemon holding the port. Refusing politely was
28
+ * only half a fix: the way out it named (`reticle stop`, then retry) is a race the user loses,
29
+ * because the MCP proxy respawns a daemon into the gap. So a healthy daemon is now ATTACHED to —
30
+ * see cli/drive/drive-attach.ts.
31
+ */
32
+ async function driveWithHonestConflict(parsed) {
33
+ const presence = await probePresence(parsed.port, { tcpOpen: probeDaemon, status: fetchStatus });
34
+ const mode = decideDriveMode(presence);
35
+ if (DriveMode.REFUSE === mode) {
36
+ const reason = driveForeignHolder(describePresence(presence, parsed.port, {
37
+ ourPid: readPid(parsed.port),
38
+ holderPid: findPortHolder(parsed.port, captureLookup)?.pid,
39
+ }));
40
+ log('reticle_drive_port_conflict', { port: parsed.port, presence, reason });
41
+ process.stderr.write(`${reason}\n`);
42
+ process.exit(1);
43
+ return;
44
+ }
45
+ if (DriveMode.ATTACH === mode) {
46
+ await attachToRunningDaemon(parsed.port, parsed.driveUrl, parsed.headless);
47
+ return;
48
+ }
49
+ // The probe cannot close the race: something can take the port between here and the bind, and the
50
+ // bind reports it on the server, outside every promise this function holds. Catching it at the
51
+ // process is the only place that sees it at all — and only EADDRINUSE, so a genuine crash still
52
+ // crashes rather than being dressed up as a port conflict.
53
+ process.on('uncaughtException', (error) => {
54
+ const code = error?.code;
55
+ if ('EADDRINUSE' !== code)
56
+ throw error;
57
+ const reason = driveRaceLost(parsed.port, parsed.driveUrl);
58
+ log('reticle_drive_port_race_lost', { port: parsed.port, reason });
59
+ process.stderr.write(`${reason}\n`);
60
+ process.exit(1);
61
+ });
62
+ const options = {
63
+ port: parsed.port,
64
+ driveUrl: parsed.driveUrl,
65
+ headless: parsed.headless,
66
+ };
67
+ try {
68
+ await start(options);
69
+ log('reticle_started', { port: parsed.port });
70
+ }
71
+ catch (error) {
72
+ log('reticle_start_failed', { error: error instanceof Error ? error.message : String(error) });
73
+ process.exit(1);
74
+ }
75
+ }
76
+ /**
77
+ * Drive through the daemon that already owns the port.
78
+ *
79
+ * Exits once the session exists rather than holding the foreground: the thing the caller needs is
80
+ * the sessionId, the session belongs to the daemon (it outlives this process, and any tool call
81
+ * against it renews its lease), and a foreground hold here could only keep it alive by faking tool
82
+ * calls at it.
83
+ */
84
+ async function attachToRunningDaemon(port, url, headless) {
85
+ const result = await requestDriveSession(port, url);
86
+ if (!result.ok) {
87
+ log('reticle_drive_attach_failed', { port, url, reason: result.reason });
88
+ process.stderr.write(`${result.reason}\n`);
89
+ process.exit(1);
90
+ return;
91
+ }
92
+ log('reticle_drive_attached', {
93
+ port,
94
+ url,
95
+ sessionId: result.session.sessionId,
96
+ ready: result.session.ready,
97
+ });
98
+ process.stderr.write(`${describeAttached(port, url, result.session)}\n`);
99
+ // The command's own default is headed, and this path cannot deliver that. Said out loud rather
100
+ // than left for the user to discover by watching a window that never opens.
101
+ if (!headless)
102
+ process.stderr.write(`${driveHeadlessOnAttach(port, url)}\n`);
103
+ // A tab that never connected is not a drive session, and reporting one is the false green this
104
+ // command exists to avoid.
105
+ if (!result.session.ready)
106
+ process.exit(1);
107
+ }