@reticlehq/server 2.14.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1493) hide show
  1. package/SKILL.md +54 -136
  2. package/bin/reticle.js +1 -1
  3. package/dist/command/cli/adhoc-verdict.d.ts +64 -0
  4. package/dist/command/cli/adhoc-verdict.js +144 -0
  5. package/dist/command/cli/answers/status-next-action.d.ts +61 -0
  6. package/dist/command/cli/answers/status-next-action.js +84 -0
  7. package/dist/command/cli/auth/cloud-keystore.js +97 -0
  8. package/dist/command/cli/auth/device-flow.d.ts +76 -0
  9. package/dist/command/cli/auth/device-flow.js +56 -0
  10. package/dist/command/cli/cli-doctor.js +215 -0
  11. package/dist/command/cli/cli-flow-commands.d.ts +47 -0
  12. package/dist/command/cli/cli-flow-commands.js +255 -0
  13. package/dist/command/cli/cli-kill.d.ts +59 -0
  14. package/dist/command/cli/cli-kill.js +162 -0
  15. package/dist/command/cli/cli-parse-grammar.d.ts +29 -0
  16. package/dist/command/cli/cli-parse-grammar.js +39 -0
  17. package/dist/command/cli/cli-parse-verify.d.ts +22 -0
  18. package/dist/command/cli/cli-parse-verify.js +143 -0
  19. package/dist/command/cli/cli-parse.d.ts +193 -0
  20. package/dist/command/cli/cli-parse.js +833 -0
  21. package/dist/command/cli/cli-update-commands.js +112 -0
  22. package/dist/command/cli/cli-verify.d.ts +124 -0
  23. package/dist/command/cli/cli-verify.js +426 -0
  24. package/dist/command/cli/cloud-cli.js +694 -0
  25. package/dist/command/cli/cloud-kit.d.ts +37 -0
  26. package/dist/command/cli/cloud-kit.js +117 -0
  27. package/dist/command/cli/cloud-login.js +183 -0
  28. package/dist/command/cli/config/config-discovery.d.ts +48 -0
  29. package/dist/command/cli/config/config-discovery.js +183 -0
  30. package/dist/command/cli/daemon-start-options.d.ts +33 -0
  31. package/dist/command/cli/demo/demo-page.d.ts +78 -0
  32. package/dist/command/cli/demo/demo-page.js +238 -0
  33. package/dist/command/cli/demo/demo-run.d.ts +38 -0
  34. package/dist/command/cli/demo/demo-run.js +138 -0
  35. package/dist/command/cli/doctor/doctor-daemon-line.js +47 -0
  36. package/dist/command/cli/doctor/doctor-rows.d.ts +75 -0
  37. package/dist/command/cli/doctor/doctor-rows.js +77 -0
  38. package/dist/command/cli/doctor/doctor-sessions-line.js +69 -0
  39. package/dist/command/cli/drive/drive-attach.d.ts +113 -0
  40. package/dist/command/cli/drive/drive-attach.js +221 -0
  41. package/dist/command/cli/drive/drive-command.js +107 -0
  42. package/dist/command/cli/launch/cli-launch.d.ts +100 -0
  43. package/dist/command/cli/launch/cli-launch.js +216 -0
  44. package/dist/command/cli/lifecycle/daemon-lifecycle.d.ts +33 -0
  45. package/dist/command/cli/lifecycle/daemon-lifecycle.js +198 -0
  46. package/dist/command/cli/mcp-command.js +176 -0
  47. package/dist/command/cli/ports/port-holder.js +123 -0
  48. package/dist/command/cli/ports/resolve/cli-port.d.ts +71 -0
  49. package/dist/command/cli/ports/resolve/cli-port.js +140 -0
  50. package/dist/command/cli/setup-mcp-cli.d.ts +29 -0
  51. package/dist/command/cli/setup-mcp-cli.js +107 -0
  52. package/dist/command/cli/status/status-lines.d.ts +28 -0
  53. package/dist/command/cli/status/status-lines.js +117 -0
  54. package/dist/command/cli/status-fields.d.ts +28 -0
  55. package/dist/command/cli/status-fields.js +29 -0
  56. package/dist/command/cli/tutorial.d.ts +116 -0
  57. package/dist/command/cli/tutorial.js +189 -0
  58. package/dist/command/cli-onboarding.d.ts +21 -0
  59. package/dist/command/cli-onboarding.js +27 -0
  60. package/dist/command/cli.d.ts +6 -0
  61. package/dist/command/cli.js +710 -0
  62. package/dist/command/daemon/binding/daemon-status-probe.d.ts +2 -0
  63. package/dist/command/daemon/binding/daemon-status-probe.js +48 -0
  64. package/dist/command/daemon/binding/loopback-reach.d.ts +42 -0
  65. package/dist/command/daemon/binding/loopback-reach.js +63 -0
  66. package/dist/command/daemon/daemon-resilience.d.ts +86 -0
  67. package/dist/command/daemon/daemon-resilience.js +339 -0
  68. package/dist/command/daemon/daemon-resolve.d.ts +113 -0
  69. package/dist/command/daemon/daemon-resolve.js +187 -0
  70. package/dist/command/daemon/daemon.d.ts +86 -0
  71. package/dist/command/daemon/daemon.js +333 -0
  72. package/dist/command/daemon/idle-shutdown.d.ts +54 -0
  73. package/dist/command/daemon/idle-shutdown.js +98 -0
  74. package/dist/command/daemon/lifetime/daemon-usefulness.d.ts +60 -0
  75. package/dist/command/daemon/lifetime/daemon-usefulness.js +61 -0
  76. package/dist/command/daemon/lifetime/heartbeat.d.ts +119 -0
  77. package/dist/command/daemon/lifetime/heartbeat.js +151 -0
  78. package/dist/command/daemon/lifetime/idle-grace.d.ts +32 -0
  79. package/dist/command/daemon/lifetime/idle-grace.js +41 -0
  80. package/dist/command/daemon/lifetime/log-cap.d.ts +68 -0
  81. package/dist/command/daemon/lifetime/log-cap.js +115 -0
  82. package/dist/command/daemon/state-dir.js +59 -0
  83. package/dist/command/daemon/wake-decision.d.ts +32 -0
  84. package/dist/command/daemon/wake-decision.js +38 -0
  85. package/dist/command/dev/stale-issue-guard.d.ts +35 -0
  86. package/dist/command/dev/stale-issue-guard.js +69 -0
  87. package/dist/command/setup/agent-configs.d.ts +111 -0
  88. package/dist/command/setup/agent-configs.js +365 -0
  89. package/dist/command/setup/agent-notice-memory.d.ts +16 -0
  90. package/dist/command/setup/agent-notice-memory.js +65 -0
  91. package/dist/command/setup/agent-writer.d.ts +52 -0
  92. package/dist/command/setup/agent-writer.js +116 -0
  93. package/dist/command/setup/auto-approve.js +153 -0
  94. package/dist/command/setup/bringup/bridge-port.d.ts +15 -0
  95. package/dist/command/setup/bringup/bridge-port.js +24 -0
  96. package/dist/command/setup/bringup/dev-server-wait.d.ts +69 -0
  97. package/dist/command/setup/bringup/dev-server-wait.js +83 -0
  98. package/dist/command/setup/bringup/ensure-daemon.js +58 -0
  99. package/dist/command/setup/init/init-host.js +37 -0
  100. package/dist/command/setup/init/init-runtime.d.ts +39 -0
  101. package/dist/command/setup/init/init-runtime.js +168 -0
  102. package/dist/command/setup/node-effects.d.ts +63 -0
  103. package/dist/command/setup/node-effects.js +225 -0
  104. package/dist/command/setup/probe/page-probe.d.ts +71 -0
  105. package/dist/command/setup/probe/page-probe.js +89 -0
  106. package/dist/command/setup/remaining-steps.js +53 -0
  107. package/dist/command/setup/run-setup.d.ts +123 -0
  108. package/dist/command/setup/run-setup.js +316 -0
  109. package/dist/command/setup/setup-command.d.ts +48 -0
  110. package/dist/command/setup/setup-command.js +224 -0
  111. package/dist/command/setup/setup-install.d.ts +18 -0
  112. package/dist/command/setup/setup-install.js +40 -0
  113. package/dist/command/setup/setup-mcp.d.ts +57 -0
  114. package/dist/command/setup/setup-mcp.js +92 -0
  115. package/dist/command/setup/setup-options.d.ts +66 -0
  116. package/dist/command/setup/setup-options.js +63 -0
  117. package/dist/command/setup/terminal/confirm.js +206 -0
  118. package/dist/command/setup/terminal/crash.d.ts +55 -0
  119. package/dist/command/setup/terminal/crash.js +74 -0
  120. package/dist/command/update/nudge-credit.js +53 -0
  121. package/dist/command/update/sdk-sync.d.ts +20 -0
  122. package/dist/command/update/sdk-sync.js +22 -0
  123. package/dist/command/update/update-checker.js +122 -0
  124. package/dist/command/update/update-nudge.d.ts +90 -0
  125. package/dist/command/update/update-nudge.js +211 -0
  126. package/dist/command/update/updater.d.ts +81 -0
  127. package/dist/command/update/updater.js +223 -0
  128. package/dist/command/version/identity/server-version.js +50 -0
  129. package/dist/command/version/peer-announce.js +32 -0
  130. package/dist/command/version/sdk-fix.js +127 -0
  131. package/dist/command/version/version-nudge.js +61 -0
  132. package/dist/command/version/version-skew.d.ts +113 -0
  133. package/dist/command/version/version-skew.js +192 -0
  134. package/dist/features/crawl/crawl-tools.d.ts +7 -0
  135. package/dist/features/crawl/crawl-tools.js +89 -0
  136. package/dist/features/crawl/crawl.d.ts +98 -0
  137. package/dist/features/crawl/crawl.js +444 -0
  138. package/dist/features/ee/audit-log.js +11 -0
  139. package/dist/features/harness/drive-report.d.ts +73 -0
  140. package/dist/features/harness/drive-report.js +196 -0
  141. package/dist/features/harness/driver.d.ts +50 -0
  142. package/dist/features/harness/driver.js +239 -0
  143. package/dist/features/harness/drivers.d.ts +19 -0
  144. package/dist/features/harness/drivers.js +19 -0
  145. package/dist/features/harness/fill-values.d.ts +67 -0
  146. package/dist/features/harness/fill-values.js +153 -0
  147. package/dist/features/harness/harness.d.ts +159 -0
  148. package/dist/features/harness/harness.js +203 -0
  149. package/dist/features/harness/jev-driver.d.ts +188 -0
  150. package/dist/features/harness/jev-driver.js +664 -0
  151. package/dist/features/harness/openai-driver.d.ts +46 -0
  152. package/dist/features/harness/openai-driver.js +197 -0
  153. package/dist/features/harness/platform-config.d.ts +52 -0
  154. package/dist/features/harness/platform-config.js +89 -0
  155. package/dist/features/harness/with-timeout.d.ts +18 -0
  156. package/dist/features/harness/with-timeout.js +34 -0
  157. package/dist/features/license/license-env.d.ts +24 -0
  158. package/dist/features/license/license-env.js +140 -0
  159. package/dist/features/license/license.d.ts +161 -0
  160. package/dist/features/license/license.js +287 -0
  161. package/dist/features/visual/visual-store.d.ts +22 -0
  162. package/dist/features/visual/visual-store.js +66 -0
  163. package/dist/features/visual/visual-tools.d.ts +26 -0
  164. package/dist/features/visual/visual-tools.js +352 -0
  165. package/dist/hooks/hook-bus.d.ts +53 -0
  166. package/dist/hooks/hook-bus.js +106 -0
  167. package/dist/hooks/hook-commands.d.ts +59 -0
  168. package/dist/hooks/hook-commands.js +184 -0
  169. package/dist/hooks/hook-emit.d.ts +44 -0
  170. package/dist/hooks/hook-emit.js +85 -0
  171. package/dist/import-graph.d.ts +48 -0
  172. package/dist/import-graph.js +106 -0
  173. package/dist/index.d.ts +91 -125
  174. package/dist/index.js +250 -160
  175. package/dist/judgement/capsule/capsule-store.d.ts +70 -0
  176. package/dist/judgement/capsule/capsule-store.js +113 -0
  177. package/dist/judgement/capsule/capsule.d.ts +42 -0
  178. package/dist/judgement/capsule/capsule.js +73 -0
  179. package/dist/judgement/capsule/causal-summary.d.ts +119 -0
  180. package/dist/judgement/capsule/causal-summary.js +172 -0
  181. package/dist/judgement/capsule/divergence.d.ts +26 -0
  182. package/dist/judgement/domain/domain-model.js +126 -0
  183. package/dist/judgement/domain/domain-tools.d.ts +2 -0
  184. package/dist/judgement/domain/domain-tools.js +96 -0
  185. package/dist/judgement/domain/flow-risk.js +80 -0
  186. package/dist/judgement/oracles/propose-consequences.d.ts +22 -0
  187. package/dist/judgement/oracles/propose-consequences.js +106 -0
  188. package/dist/judgement/outcome/predicate-to-expect.d.ts +44 -0
  189. package/dist/judgement/outcome/predicate-to-expect.js +148 -0
  190. package/dist/judgement/runs/artifact/build-verification-run.d.ts +34 -0
  191. package/dist/judgement/runs/artifact/build-verification-run.js +83 -0
  192. package/dist/judgement/runs/artifact/render-report.js +84 -0
  193. package/dist/judgement/runs/artifact/replay-mapping.js +34 -0
  194. package/dist/judgement/runs/artifact/run-store.d.ts +54 -0
  195. package/dist/judgement/runs/artifact/run-store.js +150 -0
  196. package/dist/judgement/runs/artifact/to-artifact.d.ts +119 -0
  197. package/dist/judgement/runs/artifact/to-artifact.js +83 -0
  198. package/dist/judgement/runs/context-tools.d.ts +2 -0
  199. package/dist/judgement/runs/context-tools.js +70 -0
  200. package/dist/judgement/runs/default-run-id.d.ts +8 -0
  201. package/dist/judgement/runs/default-run-id.js +11 -0
  202. package/dist/judgement/runs/drive-run.d.ts +61 -0
  203. package/dist/judgement/runs/drive-run.js +130 -0
  204. package/dist/judgement/runs/late-answer.d.ts +55 -0
  205. package/dist/judgement/runs/late-answer.js +81 -0
  206. package/dist/judgement/runs/reticle-runner.d.ts +60 -0
  207. package/dist/judgement/runs/reticle-runner.js +95 -0
  208. package/dist/judgement/runs/run-tools.d.ts +17 -0
  209. package/dist/judgement/runs/run-tools.js +97 -0
  210. package/dist/judgement/runs/runner-port.d.ts +11 -0
  211. package/dist/judgement/runs/runner-port.js +18 -0
  212. package/dist/judgement/runs/verification-sync.d.ts +13 -0
  213. package/dist/judgement/runs/verification-sync.js +93 -0
  214. package/dist/language/flows/affected-tools.d.ts +18 -0
  215. package/dist/language/flows/affected-tools.js +83 -0
  216. package/dist/language/flows/annotate-tools.d.ts +15 -0
  217. package/dist/language/flows/annotate-tools.js +179 -0
  218. package/dist/language/flows/change/affected.d.ts +24 -0
  219. package/dist/language/flows/change/affected.js +35 -0
  220. package/dist/language/flows/change/flow-sources.d.ts +19 -0
  221. package/dist/language/flows/change/flow-sources.js +55 -0
  222. package/dist/language/flows/change/gate.js +33 -0
  223. package/dist/language/flows/decision.d.ts +45 -0
  224. package/dist/language/flows/decision.js +371 -0
  225. package/dist/language/flows/empty-flow.js +24 -0
  226. package/dist/language/flows/fields/flow-secret-field.d.ts +53 -0
  227. package/dist/language/flows/fields/flow-secret-field.js +75 -0
  228. package/dist/language/flows/fields/flow-upload-resolve.d.ts +23 -0
  229. package/dist/language/flows/fields/flow-upload-resolve.js +46 -0
  230. package/dist/language/flows/flow-anchor.d.ts +59 -0
  231. package/dist/language/flows/flow-anchor.js +240 -0
  232. package/dist/language/flows/flow-classify.d.ts +73 -0
  233. package/dist/language/flows/flow-classify.js +146 -0
  234. package/dist/language/flows/flow-expect-grammar.d.ts +33 -0
  235. package/dist/language/flows/flow-expect-grammar.js +155 -0
  236. package/dist/language/flows/flow-intent.d.ts +52 -0
  237. package/dist/language/flows/flow-intent.js +123 -0
  238. package/dist/language/flows/flow-learning.d.ts +52 -0
  239. package/dist/language/flows/flow-learning.js +76 -0
  240. package/dist/language/flows/flow-mutate-tools.d.ts +14 -0
  241. package/dist/language/flows/flow-mutate-tools.js +82 -0
  242. package/dist/language/flows/flow-replay-run.d.ts +91 -0
  243. package/dist/language/flows/flow-replay-run.js +748 -0
  244. package/dist/language/flows/flow-replay-types.d.ts +37 -0
  245. package/dist/language/flows/flow-replay-types.js +1 -0
  246. package/dist/language/flows/flow-replay.d.ts +91 -0
  247. package/dist/language/flows/flow-replay.js +487 -0
  248. package/dist/language/flows/flow-result.d.ts +35 -0
  249. package/dist/language/flows/flow-result.js +26 -0
  250. package/dist/language/flows/flow-step-runners.d.ts +54 -0
  251. package/dist/language/flows/flow-step-runners.js +369 -0
  252. package/dist/language/flows/flow-store-for-session.d.ts +32 -0
  253. package/dist/language/flows/flow-success.d.ts +32 -0
  254. package/dist/language/flows/flow-success.js +181 -0
  255. package/dist/language/flows/flow-tools.d.ts +15 -0
  256. package/dist/language/flows/flow-tools.js +842 -0
  257. package/dist/language/flows/flows.d.ts +114 -0
  258. package/dist/language/flows/flows.js +492 -0
  259. package/dist/language/flows/heal-precondition.d.ts +28 -0
  260. package/dist/language/flows/heal-precondition.js +38 -0
  261. package/dist/language/flows/heal-run.d.ts +17 -0
  262. package/dist/language/flows/heal-run.js +186 -0
  263. package/dist/language/flows/heal.js +97 -0
  264. package/dist/language/flows/mutation-run.d.ts +33 -0
  265. package/dist/language/flows/mutation-run.js +60 -0
  266. package/dist/language/flows/narrow-write.d.ts +32 -0
  267. package/dist/language/flows/narrow-write.js +26 -0
  268. package/dist/language/flows/recording/flake.d.ts +56 -0
  269. package/dist/language/flows/recording/recording-backtrack.js +73 -0
  270. package/dist/language/flows/recording/tape/recordings.d.ts +134 -0
  271. package/dist/language/flows/recording/tape/recordings.js +144 -0
  272. package/dist/language/flows/replay.d.ts +83 -0
  273. package/dist/language/flows/replay.js +397 -0
  274. package/dist/language/flows/role-anchor-nearest.js +45 -0
  275. package/dist/language/flows/stores/assertion-tiers-store.d.ts +26 -0
  276. package/dist/language/flows/stores/assertion-tiers-store.js +107 -0
  277. package/dist/language/flows/stores/flake-store.d.ts +18 -0
  278. package/dist/language/flows/stores/flake-store.js +58 -0
  279. package/dist/language/flows/suite/server-verify.d.ts +15 -0
  280. package/dist/language/flows/suite/server-verify.js +56 -0
  281. package/dist/language/flows/suite/suite-flakes.d.ts +34 -0
  282. package/dist/language/flows/suite/suite-flakes.js +32 -0
  283. package/dist/language/flows/suite-selection.d.ts +45 -0
  284. package/dist/language/flows/suite-selection.js +84 -0
  285. package/dist/language/flows/verify-change-tools.d.ts +2 -0
  286. package/dist/language/flows/verify-change-tools.js +244 -0
  287. package/dist/machine/clock.d.ts +24 -0
  288. package/dist/machine/clock.js +1 -0
  289. package/dist/machine/repo-root.d.ts +16 -0
  290. package/dist/machine/repo-root.js +20 -0
  291. package/dist/memory/cloud/account-state.d.ts +20 -0
  292. package/dist/memory/cloud/account-state.js +70 -0
  293. package/dist/memory/cloud/cloud-config.d.ts +79 -0
  294. package/dist/memory/cloud/cloud-config.js +156 -0
  295. package/dist/memory/cloud/cloud-sync.d.ts +195 -0
  296. package/dist/memory/cloud/cloud-sync.js +359 -0
  297. package/dist/memory/cloud/harness-config.d.ts +10 -0
  298. package/dist/memory/cloud/harness-config.js +58 -0
  299. package/dist/memory/cloud/harness-offer.d.ts +44 -0
  300. package/dist/memory/cloud/harness-offer.js +146 -0
  301. package/dist/memory/cloud/harness-switch.d.ts +11 -0
  302. package/dist/memory/cloud/harness-switch.js +53 -0
  303. package/dist/memory/cloud/sync-cycle.d.ts +121 -0
  304. package/dist/memory/cloud/sync-cycle.js +295 -0
  305. package/dist/memory/cloud/sync-daemon.d.ts +73 -0
  306. package/dist/memory/cloud/sync-daemon.js +297 -0
  307. package/dist/memory/cloud/sync-disk.js +193 -0
  308. package/dist/memory/impact/impact-recorder.d.ts +54 -0
  309. package/dist/memory/impact/impact-recorder.js +160 -0
  310. package/dist/memory/impact/impact-store.d.ts +52 -0
  311. package/dist/memory/impact/impact-store.js +274 -0
  312. package/dist/memory/intent/inline-intent.d.ts +60 -0
  313. package/dist/memory/intent/inline-intent.js +206 -0
  314. package/dist/memory/intent/intent-shard-store.d.ts +87 -0
  315. package/dist/memory/intent/intent-shard-store.js +215 -0
  316. package/dist/memory/intent/intent-shard.d.ts +389 -0
  317. package/dist/memory/intent/intent-shard.js +153 -0
  318. package/dist/memory/intent/intent-store.d.ts +47 -0
  319. package/dist/memory/intent/intent-store.js +133 -0
  320. package/dist/memory/intent/intent-subject.d.ts +46 -0
  321. package/dist/memory/intent/intent-subject.js +175 -0
  322. package/dist/memory/intent/intent-tools.d.ts +2 -0
  323. package/dist/memory/intent/intent-tools.js +157 -0
  324. package/dist/memory/intent/open-intents.d.ts +36 -0
  325. package/dist/memory/intent/open-intents.js +58 -0
  326. package/dist/memory/journal/ambient-store.d.ts +13 -0
  327. package/dist/memory/journal/ambient-store.js +52 -0
  328. package/dist/memory/journal/attach-journal.d.ts +37 -0
  329. package/dist/memory/journal/attach-journal.js +26 -0
  330. package/dist/memory/journal/drive-flow.d.ts +74 -0
  331. package/dist/memory/journal/drive-flow.js +157 -0
  332. package/dist/memory/journal/drive-run-flush.d.ts +42 -0
  333. package/dist/memory/journal/drive-run-flush.js +82 -0
  334. package/dist/memory/journal/envelope-store.d.ts +16 -0
  335. package/dist/memory/journal/envelope-store.js +61 -0
  336. package/dist/memory/journal/envelope.d.ts +230 -0
  337. package/dist/memory/journal/journal-query.d.ts +66 -0
  338. package/dist/memory/journal/journal-query.js +98 -0
  339. package/dist/memory/journal/journal-recorder.d.ts +109 -0
  340. package/dist/memory/journal/journal-recorder.js +153 -0
  341. package/dist/memory/journal/on-disk/ambient-file.d.ts +21 -0
  342. package/dist/memory/journal/on-disk/ambient-file.js +15 -0
  343. package/dist/memory/journal/on-disk/retention.d.ts +141 -0
  344. package/dist/memory/journal/on-disk/retention.js +291 -0
  345. package/dist/memory/journal/on-disk/workspace-gitignore.d.ts +21 -0
  346. package/dist/memory/journal/on-disk/workspace-gitignore.js +93 -0
  347. package/dist/memory/journal/self-observation.d.ts +3 -0
  348. package/dist/memory/journal/self-observation.js +67 -0
  349. package/dist/memory/journal/session-end.d.ts +112 -0
  350. package/dist/memory/journal/session-end.js +179 -0
  351. package/dist/memory/journal/session-journal.d.ts +134 -0
  352. package/dist/memory/journal/session-journal.js +614 -0
  353. package/dist/memory/project/artifact-root-resolver.d.ts +3 -0
  354. package/dist/memory/project/artifact-root-resolver.js +89 -0
  355. package/dist/memory/project/artifact-root.d.ts +109 -0
  356. package/dist/memory/project/artifact-root.js +157 -0
  357. package/dist/memory/project/dir/fill-value-store.d.ts +32 -0
  358. package/dist/memory/project/dir/fill-value-store.js +88 -0
  359. package/dist/memory/project/dir/reticle-dir.d.ts +139 -0
  360. package/dist/memory/project/dir/reticle-dir.js +229 -0
  361. package/dist/memory/project/fs/fs-port.d.ts +68 -0
  362. package/dist/memory/project/fs/fs-port.js +82 -0
  363. package/dist/memory/project/learned-routes.d.ts +38 -0
  364. package/dist/memory/project/learned-routes.js +79 -0
  365. package/dist/memory/project/memory-fs.d.ts +10 -0
  366. package/dist/memory/project/project-for-root.d.ts +30 -0
  367. package/dist/memory/project/project-for-root.js +43 -0
  368. package/dist/memory/project/project-store.d.ts +54 -0
  369. package/dist/memory/project/project-store.js +244 -0
  370. package/dist/memory/project/project-tools.d.ts +8 -0
  371. package/dist/memory/project/project-tools.js +160 -0
  372. package/dist/memory/project/reticle-deps.d.ts +15 -0
  373. package/dist/memory/project/reticle-deps.js +33 -0
  374. package/dist/memory/project/session-root.d.ts +52 -0
  375. package/dist/memory/project/session-root.js +100 -0
  376. package/dist/memory/recall/memory-tools.d.ts +2 -0
  377. package/dist/memory/recall/memory-tools.js +81 -0
  378. package/dist/memory/recall/prior/connection-memory.d.ts +65 -0
  379. package/dist/memory/recall/prior/connection-memory.js +114 -0
  380. package/dist/memory/recall/project-memory.d.ts +33 -0
  381. package/dist/portal/bridge/auth-failure-reason.d.ts +32 -0
  382. package/dist/portal/bridge/auth-failure-reason.js +68 -0
  383. package/dist/portal/bridge/bridge-security.d.ts +30 -0
  384. package/dist/portal/bridge/bridge-security.js +53 -0
  385. package/dist/portal/bridge/bridge.d.ts +109 -0
  386. package/dist/portal/bridge/bridge.js +808 -0
  387. package/dist/portal/input/drive-url-stamp.d.ts +14 -0
  388. package/dist/portal/input/drive-url-stamp.js +33 -0
  389. package/dist/portal/input/network-detail.d.ts +97 -0
  390. package/dist/portal/input/network-detail.js +138 -0
  391. package/dist/portal/input/network-mock-tools.d.ts +21 -0
  392. package/dist/portal/input/network-mock-tools.js +124 -0
  393. package/dist/portal/input/network-mock.js +83 -0
  394. package/dist/portal/input/network-mutation.d.ts +47 -0
  395. package/dist/portal/input/network-mutation.js +53 -0
  396. package/dist/portal/input/real-input.d.ts +261 -0
  397. package/dist/portal/input/real-input.js +488 -0
  398. package/dist/portal/input/scroll-find.js +111 -0
  399. package/dist/portal/input/scroll-tools.d.ts +2 -0
  400. package/dist/portal/input/scroll-tools.js +76 -0
  401. package/dist/portal/input/storage-fixture.d.ts +57 -0
  402. package/dist/portal/input/storage-fixture.js +92 -0
  403. package/dist/portal/input/viewport-tools.d.ts +2 -0
  404. package/dist/portal/input/viewport-tools.js +72 -0
  405. package/dist/portal/pool/browser-pool.d.ts +174 -0
  406. package/dist/portal/pool/browser-pool.js +559 -0
  407. package/dist/portal/pool/lease-reaper.js +40 -0
  408. package/dist/portal/pool/playwright-launcher.js +150 -0
  409. package/dist/portal/pool/pool-contract.d.ts +116 -0
  410. package/dist/portal/pool/pool-contract.js +8 -0
  411. package/dist/portal/pool/storage-seed.d.ts +23 -0
  412. package/dist/portal/realm/conformance-client.d.ts +43 -0
  413. package/dist/portal/realm/conformance-client.js +227 -0
  414. package/dist/portal/realm/http-witness.d.ts +48 -0
  415. package/dist/portal/realm/http-witness.js +135 -0
  416. package/dist/portal/realm/web-realm.d.ts +225 -0
  417. package/dist/portal/realm/web-realm.js +661 -0
  418. package/dist/portal/session/daemon-answers.d.ts +20 -0
  419. package/dist/portal/session/daemon-answers.js +20 -0
  420. package/dist/portal/session/dev-server/dev-server-probe.js +147 -0
  421. package/dist/portal/session/facts/handshake-facts.d.ts +56 -0
  422. package/dist/portal/session/facts/handshake-facts.js +1 -0
  423. package/dist/portal/session/facts/observed-state.d.ts +60 -0
  424. package/dist/portal/session/facts/observed-state.js +121 -0
  425. package/dist/portal/session/facts/session-replaced.d.ts +43 -0
  426. package/dist/portal/session/facts/session-replaced.js +51 -0
  427. package/dist/portal/session/live-control-tools.d.ts +15 -0
  428. package/dist/portal/session/live-control-tools.js +242 -0
  429. package/dist/portal/session/no-session-diagnosis.d.ts +176 -0
  430. package/dist/portal/session/no-session-diagnosis.js +457 -0
  431. package/dist/portal/session/no-session-next-action.d.ts +76 -0
  432. package/dist/portal/session/no-session-next-action.js +211 -0
  433. package/dist/portal/session/no-session-watch.js +351 -0
  434. package/dist/portal/session/output-budget.d.ts +82 -0
  435. package/dist/portal/session/output-budget.js +108 -0
  436. package/dist/portal/session/page-commands/undeclared-command.d.ts +30 -0
  437. package/dist/portal/session/page-commands/undeclared-command.js +44 -0
  438. package/dist/portal/session/presence/session-recommendation.js +29 -0
  439. package/dist/portal/session/rebind.d.ts +18 -0
  440. package/dist/portal/session/rebind.js +38 -0
  441. package/dist/portal/session/session-health.d.ts +145 -0
  442. package/dist/portal/session/session-health.js +154 -0
  443. package/dist/portal/session/session-manager.d.ts +81 -0
  444. package/dist/portal/session/session-manager.js +504 -0
  445. package/dist/portal/session/session-reaper.d.ts +36 -0
  446. package/dist/portal/session/session-reaper.js +93 -0
  447. package/dist/portal/session/session-tools.d.ts +8 -0
  448. package/dist/portal/session/session-tools.js +42 -0
  449. package/dist/portal/session/session.d.ts +279 -0
  450. package/dist/portal/session/session.js +875 -0
  451. package/dist/portal/session/stall-clock.js +48 -0
  452. package/dist/portal/session/timing/command-timeout.d.ts +40 -0
  453. package/dist/portal/session/timing/command-timeout.js +42 -0
  454. package/dist/start-options.d.ts +51 -0
  455. package/dist/start-options.js +7 -0
  456. package/dist/status-payload.d.ts +16 -10
  457. package/dist/status-payload.js +5 -2
  458. package/dist/surface/http-server.d.ts +52 -0
  459. package/dist/surface/http-server.js +379 -0
  460. package/dist/surface/mcp/consumer-verdict-guard.d.ts +40 -0
  461. package/dist/surface/mcp/consumer-verdict-guard.js +57 -0
  462. package/dist/surface/mcp/faults/mcp-is-error.d.ts +13 -0
  463. package/dist/surface/mcp/faults/mcp-is-error.js +18 -0
  464. package/dist/surface/mcp/faults/mcp-outage.d.ts +33 -0
  465. package/dist/surface/mcp/faults/mcp-outage.js +71 -0
  466. package/dist/surface/mcp/mcp-proxy.d.ts +119 -0
  467. package/dist/surface/mcp/mcp-proxy.js +882 -0
  468. package/dist/surface/mcp/mcp.d.ts +89 -0
  469. package/dist/surface/mcp/mcp.js +676 -0
  470. package/dist/surface/mcp/proxy/mcp-post-transport.js +109 -0
  471. package/dist/surface/mcp/proxy/proxy-daemon-probe.d.ts +22 -0
  472. package/dist/surface/mcp/proxy/proxy-daemon-probe.js +71 -0
  473. package/dist/surface/mcp/proxy/proxy-handshake.js +192 -0
  474. package/dist/surface/mcp/proxy/proxy-lifecycle.d.ts +90 -0
  475. package/dist/surface/mcp/proxy/proxy-lifecycle.js +98 -0
  476. package/dist/surface/mcp/proxy/proxy-log.d.ts +57 -0
  477. package/dist/surface/mcp/proxy/proxy-log.js +117 -0
  478. package/dist/surface/mcp/server-instructions.d.ts +26 -0
  479. package/dist/surface/mcp/server-instructions.js +156 -0
  480. package/dist/surface/mcp/surface-vocabulary.d.ts +47 -0
  481. package/dist/surface/mcp/surface-vocabulary.js +56 -0
  482. package/dist/surface/mcp/tool-catalog-cache.d.ts +45 -0
  483. package/dist/surface/mcp/tool-catalog-cache.js +77 -0
  484. package/dist/surface/tools/act/act-danger.js +69 -0
  485. package/dist/surface/tools/act/act-helpers.d.ts +17 -0
  486. package/dist/surface/tools/act/act-helpers.js +40 -0
  487. package/dist/surface/tools/act/act-observation.d.ts +42 -0
  488. package/dist/surface/tools/act/act-observation.js +36 -0
  489. package/dist/surface/tools/act/act-preflight.d.ts +27 -0
  490. package/dist/surface/tools/act/act-preflight.js +168 -0
  491. package/dist/surface/tools/act/act-target.d.ts +10 -0
  492. package/dist/surface/tools/act/act-target.js +100 -0
  493. package/dist/surface/tools/act/navigation/navigate-arrival.d.ts +68 -0
  494. package/dist/surface/tools/act/resolve-target.js +115 -0
  495. package/dist/surface/tools/act/sequence-grade.d.ts +79 -0
  496. package/dist/surface/tools/act/sequence-grade.js +104 -0
  497. package/dist/surface/tools/act-capsule.d.ts +33 -0
  498. package/dist/surface/tools/act-capsule.js +79 -0
  499. package/dist/surface/tools/act-merged.d.ts +20 -0
  500. package/dist/surface/tools/act-merged.js +53 -0
  501. package/dist/surface/tools/act-sequence-tool.js +330 -0
  502. package/dist/surface/tools/act-tools.d.ts +24 -0
  503. package/dist/surface/tools/act-tools.js +835 -0
  504. package/dist/surface/tools/args/numeric-bounds.d.ts +97 -0
  505. package/dist/surface/tools/args/numeric-bounds.js +133 -0
  506. package/dist/surface/tools/assert/assert-grade.d.ts +42 -0
  507. package/dist/surface/tools/assert/assert-grade.js +125 -0
  508. package/dist/surface/tools/assert/assert-source.d.ts +52 -0
  509. package/dist/surface/tools/assert/assert-source.js +74 -0
  510. package/dist/surface/tools/assert/assert-verdict.d.ts +48 -0
  511. package/dist/surface/tools/assert/assert-verdict.js +247 -0
  512. package/dist/surface/tools/browser-tools.d.ts +2 -0
  513. package/dist/surface/tools/browser-tools.js +115 -0
  514. package/dist/surface/tools/contract-tools.d.ts +2 -0
  515. package/dist/surface/tools/contract-tools.js +112 -0
  516. package/dist/surface/tools/coverage-tools.d.ts +18 -0
  517. package/dist/surface/tools/coverage-tools.js +178 -0
  518. package/dist/surface/tools/dynamic-tools.d.ts +17 -0
  519. package/dist/surface/tools/dynamic-tools.js +282 -0
  520. package/dist/surface/tools/error-recovery.d.ts +116 -0
  521. package/dist/surface/tools/error-recovery.js +527 -0
  522. package/dist/surface/tools/explore-tools.d.ts +14 -0
  523. package/dist/surface/tools/explore-tools.js +162 -0
  524. package/dist/surface/tools/feature-capture.d.ts +151 -0
  525. package/dist/surface/tools/feature-capture.js +235 -0
  526. package/dist/surface/tools/feedback-invite.d.ts +48 -0
  527. package/dist/surface/tools/feedback-invite.js +71 -0
  528. package/dist/surface/tools/feedback-tools.d.ts +35 -0
  529. package/dist/surface/tools/feedback-tools.js +280 -0
  530. package/dist/surface/tools/first-sentence.d.ts +24 -0
  531. package/dist/surface/tools/first-sentence.js +0 -0
  532. package/dist/surface/tools/gap-novelty.d.ts +39 -0
  533. package/dist/surface/tools/gap-novelty.js +69 -0
  534. package/dist/surface/tools/gaps/capability-absences.d.ts +39 -0
  535. package/dist/surface/tools/gaps/capability-absences.js +46 -0
  536. package/dist/surface/tools/harness-explore.d.ts +177 -0
  537. package/dist/surface/tools/harness-explore.js +453 -0
  538. package/dist/surface/tools/harness-plan.d.ts +76 -0
  539. package/dist/surface/tools/harness-plan.js +156 -0
  540. package/dist/surface/tools/harness-toolset.d.ts +35 -0
  541. package/dist/surface/tools/harness-toolset.js +144 -0
  542. package/dist/surface/tools/inspect-tool.d.ts +4 -0
  543. package/dist/surface/tools/inspect-tool.js +142 -0
  544. package/dist/surface/tools/invoke-tool.d.ts +10 -0
  545. package/dist/surface/tools/invoke-tool.js +668 -0
  546. package/dist/surface/tools/lease-hint.d.ts +50 -0
  547. package/dist/surface/tools/lease-hint.js +125 -0
  548. package/dist/surface/tools/lease-tools.d.ts +195 -0
  549. package/dist/surface/tools/lease-tools.js +797 -0
  550. package/dist/surface/tools/lineage-tools.d.ts +14 -0
  551. package/dist/surface/tools/lineage-tools.js +64 -0
  552. package/dist/surface/tools/live-call-text.d.ts +25 -0
  553. package/dist/surface/tools/live-call-text.js +191 -0
  554. package/dist/surface/tools/merge-tools.d.ts +68 -0
  555. package/dist/surface/tools/merge-tools.js +110 -0
  556. package/dist/surface/tools/merged-name-redirect.d.ts +36 -0
  557. package/dist/surface/tools/merged-name-redirect.js +107 -0
  558. package/dist/surface/tools/observe-tools.js +700 -0
  559. package/dist/surface/tools/read/query-windowed.d.ts +54 -0
  560. package/dist/surface/tools/read/query-windowed.js +75 -0
  561. package/dist/surface/tools/read/snapshot-delta.d.ts +92 -0
  562. package/dist/surface/tools/read/snapshot-delta.js +356 -0
  563. package/dist/surface/tools/read-tools.js +569 -0
  564. package/dist/surface/tools/real-input-attempt.d.ts +68 -0
  565. package/dist/surface/tools/real-input-attempt.js +360 -0
  566. package/dist/surface/tools/reconcile-tools.js +211 -0
  567. package/dist/surface/tools/tool-hit-rate.js +90 -0
  568. package/dist/surface/tools/tool-kit.d.ts +254 -0
  569. package/dist/surface/tools/tool-kit.js +123 -0
  570. package/dist/surface/tools/tool-surface.d.ts +195 -0
  571. package/dist/surface/tools/tool-surface.js +429 -0
  572. package/dist/surface/tools/tools-helpers.d.ts +40 -0
  573. package/dist/surface/tools/tools-helpers.js +76 -0
  574. package/dist/surface/tools/tools.d.ts +76 -0
  575. package/dist/surface/tools/tools.js +799 -0
  576. package/dist/surface/tools/unadvertised-help.js +60 -0
  577. package/dist/surface/tools/verify-next-baton.js +52 -0
  578. package/dist/telemetry/app-instrumented.d.ts +3 -5
  579. package/dist/telemetry/app-instrumented.js +17 -6
  580. package/dist/telemetry/argument-shape.js +4 -4
  581. package/dist/telemetry/bug-found.js +49 -27
  582. package/dist/telemetry/cli-telemetry.js +27 -10
  583. package/dist/telemetry/daemon-telemetry.d.ts +7 -13
  584. package/dist/telemetry/daemon-telemetry.js +15 -22
  585. package/dist/telemetry/error-fingerprint.js +26 -1
  586. package/dist/telemetry/feedback-cli.d.ts +1 -1
  587. package/dist/telemetry/feedback-cli.js +2 -2
  588. package/dist/telemetry/feedback-context.js +4 -4
  589. package/dist/telemetry/feedback.js +1 -1
  590. package/dist/telemetry/harness-drive.d.ts +6 -0
  591. package/dist/telemetry/harness-drive.js +39 -0
  592. package/dist/telemetry/install-source.js +1 -1
  593. package/dist/telemetry/install-trace.d.ts +8 -0
  594. package/dist/telemetry/install-trace.js +74 -0
  595. package/dist/telemetry/license-activation.js +1 -1
  596. package/dist/telemetry/mcp-connection.d.ts +14 -1
  597. package/dist/telemetry/mcp-connection.js +17 -2
  598. package/dist/telemetry/onboarding-firsts.d.ts +40 -0
  599. package/dist/telemetry/onboarding-firsts.js +109 -0
  600. package/dist/telemetry/onboarding-funnel.d.ts +26 -0
  601. package/dist/telemetry/onboarding-funnel.js +60 -0
  602. package/dist/telemetry/project-profile.js +1 -1
  603. package/dist/telemetry/run-telemetry.js +13 -0
  604. package/dist/telemetry/session-metrics.d.ts +6 -7
  605. package/dist/telemetry/session-metrics.js +14 -21
  606. package/dist/telemetry/telemetry.d.ts +8 -1
  607. package/dist/telemetry/telemetry.js +6 -5
  608. package/dist/telemetry/verification-of.d.ts +6 -8
  609. package/dist/telemetry/verification-of.js +38 -12
  610. package/dist/workspace-packages.d.ts +22 -0
  611. package/dist/workspace-packages.js +57 -0
  612. package/docs/README.md +29 -23
  613. package/docs/actions.mdx +4 -4
  614. package/docs/adapters.md +75 -0
  615. package/docs/agent-cheatsheet.md +37 -27
  616. package/docs/architecture.md +3 -2
  617. package/docs/autodrive.md +99 -0
  618. package/docs/benchmarks.md +1 -1
  619. package/docs/best-practices.mdx +3 -3
  620. package/docs/capabilities.mdx +4 -4
  621. package/docs/cli/cloud.mdx +4 -4
  622. package/docs/cli/doctor.mdx +1 -0
  623. package/docs/cli/feedback.mdx +1 -1
  624. package/docs/cli/init.mdx +3 -3
  625. package/docs/cli/mcp.mdx +1 -1
  626. package/docs/cli/status.mdx +35 -20
  627. package/docs/cli/watch.mdx +1 -1
  628. package/docs/cli.mdx +15 -25
  629. package/docs/desktop.mdx +1 -1
  630. package/docs/enterprise.md +3 -2
  631. package/docs/faq.mdx +4 -4
  632. package/docs/first-drive.md +5 -5
  633. package/docs/flows.md +5 -5
  634. package/docs/for-agents.md +2 -1
  635. package/docs/frameworks.mdx +1 -1
  636. package/docs/getting-started.md +30 -21
  637. package/docs/http-transport.md +1 -1
  638. package/docs/index.mdx +28 -10
  639. package/docs/install-agentic.mdx +12 -4
  640. package/docs/install-manual.mdx +23 -7
  641. package/docs/instrumentation.mdx +3 -3
  642. package/docs/local-registry.md +15 -4
  643. package/docs/packages/babel-plugin.mdx +1 -1
  644. package/docs/packages/browser.mdx +2 -2
  645. package/docs/packages/core.mdx +2 -2
  646. package/docs/packages/engine.mdx +40 -0
  647. package/docs/packages/open-verification.mdx +40 -0
  648. package/docs/packages/tauri.mdx +1 -1
  649. package/docs/packages.mdx +22 -2
  650. package/docs/platform-integration.md +3 -3
  651. package/docs/predicates.mdx +19 -3
  652. package/docs/protocol.mdx +60 -0
  653. package/docs/quickstart.mdx +48 -13
  654. package/docs/recipes.mdx +1 -1
  655. package/docs/required-checks.md +37 -0
  656. package/docs/skill-file.mdx +2 -2
  657. package/docs/skill-setup.md +104 -0
  658. package/docs/state-files.md +46 -0
  659. package/docs/state-management.mdx +1 -1
  660. package/docs/system-map.md +8 -6
  661. package/docs/telemetry.md +4 -3
  662. package/docs/testing.md +12 -3
  663. package/docs/token-efficiency.md +3 -3
  664. package/docs/tools/act-and-wait.mdx +173 -0
  665. package/docs/tools/act-sequence.mdx +160 -0
  666. package/docs/tools/act.mdx +95 -0
  667. package/docs/tools/assert.mdx +129 -0
  668. package/docs/tools/console.mdx +70 -0
  669. package/docs/tools/inspect.mdx +95 -0
  670. package/docs/tools/navigate.mdx +107 -0
  671. package/docs/tools/network.mdx +126 -0
  672. package/docs/tools/observe.mdx +145 -0
  673. package/docs/tools/overview.mdx +163 -0
  674. package/docs/tools/query.mdx +133 -0
  675. package/docs/tools/sessions.mdx +101 -0
  676. package/docs/tools/snapshot.mdx +136 -0
  677. package/docs/tools/state.mdx +111 -0
  678. package/docs/tools/wait-for.mdx +92 -0
  679. package/docs/troubleshooting.mdx +43 -9
  680. package/docs/usage.md +59 -59
  681. package/package.json +31 -13
  682. package/dist/bridge/auth-failure-reason.d.ts +0 -23
  683. package/dist/bridge/auth-failure-reason.js +0 -47
  684. package/dist/bridge/bridge-security.d.ts +0 -30
  685. package/dist/bridge/bridge-security.js +0 -53
  686. package/dist/bridge/bridge.d.ts +0 -95
  687. package/dist/bridge/bridge.js +0 -713
  688. package/dist/bridge/bridge.test-harness.d.ts +0 -65
  689. package/dist/bridge/bridge.test-harness.js +0 -230
  690. package/dist/capsule/capsule-store.d.ts +0 -71
  691. package/dist/capsule/capsule-store.js +0 -114
  692. package/dist/capsule/capsule.d.ts +0 -18
  693. package/dist/capsule/capsule.js +0 -35
  694. package/dist/capsule/causal-summary.d.ts +0 -119
  695. package/dist/capsule/causal-summary.js +0 -172
  696. package/dist/capsule/divergence.d.ts +0 -35
  697. package/dist/capsule/predicate-to-links.d.ts +0 -8
  698. package/dist/capsule/predicate-to-links.js +0 -33
  699. package/dist/cli/adhoc-verdict.d.ts +0 -58
  700. package/dist/cli/adhoc-verdict.js +0 -115
  701. package/dist/cli/cli-doctor.js +0 -195
  702. package/dist/cli/cli-flow-commands.d.ts +0 -46
  703. package/dist/cli/cli-flow-commands.js +0 -255
  704. package/dist/cli/cli-kill.d.ts +0 -59
  705. package/dist/cli/cli-kill.js +0 -162
  706. package/dist/cli/cli-launch.d.ts +0 -92
  707. package/dist/cli/cli-launch.js +0 -223
  708. package/dist/cli/cli-parse.d.ts +0 -171
  709. package/dist/cli/cli-parse.js +0 -874
  710. package/dist/cli/cli-port.d.ts +0 -70
  711. package/dist/cli/cli-port.js +0 -136
  712. package/dist/cli/cli-update-commands.js +0 -112
  713. package/dist/cli/cli-verify.d.ts +0 -86
  714. package/dist/cli/cli-verify.js +0 -340
  715. package/dist/cli/cloud-cli.js +0 -694
  716. package/dist/cli/cloud-keystore.js +0 -97
  717. package/dist/cli/cloud-kit.d.ts +0 -37
  718. package/dist/cli/cloud-kit.js +0 -121
  719. package/dist/cli/cloud-login.js +0 -183
  720. package/dist/cli/config-discovery.d.ts +0 -36
  721. package/dist/cli/config-discovery.js +0 -164
  722. package/dist/cli/daemon-start-options.d.ts +0 -33
  723. package/dist/cli/device-flow.d.ts +0 -76
  724. package/dist/cli/device-flow.js +0 -56
  725. package/dist/cli/doctor-daemon-line.js +0 -47
  726. package/dist/cli/doctor-rows.d.ts +0 -63
  727. package/dist/cli/doctor-rows.js +0 -65
  728. package/dist/cli/doctor-sessions-line.js +0 -69
  729. package/dist/cli/drive-attach.d.ts +0 -113
  730. package/dist/cli/drive-attach.js +0 -221
  731. package/dist/cli/drive-command.js +0 -107
  732. package/dist/cli/mcp-command.js +0 -174
  733. package/dist/cli/port-holder.js +0 -123
  734. package/dist/cli/status-next-action.d.ts +0 -51
  735. package/dist/cli/status-next-action.js +0 -60
  736. package/dist/cli.d.ts +0 -6
  737. package/dist/cli.js +0 -828
  738. package/dist/cloud/account-state.d.ts +0 -20
  739. package/dist/cloud/account-state.js +0 -65
  740. package/dist/cloud/cloud-config.d.ts +0 -57
  741. package/dist/cloud/cloud-config.js +0 -145
  742. package/dist/cloud/cloud-sync.d.ts +0 -190
  743. package/dist/cloud/cloud-sync.js +0 -354
  744. package/dist/cloud/sync-cycle.d.ts +0 -111
  745. package/dist/cloud/sync-cycle.js +0 -270
  746. package/dist/cloud/sync-daemon.d.ts +0 -53
  747. package/dist/cloud/sync-daemon.js +0 -260
  748. package/dist/cloud/sync-disk.js +0 -191
  749. package/dist/crawl/crawl-tools.d.ts +0 -7
  750. package/dist/crawl/crawl-tools.js +0 -87
  751. package/dist/crawl/crawl.d.ts +0 -98
  752. package/dist/crawl/crawl.js +0 -441
  753. package/dist/daemon/daemon-resilience.d.ts +0 -74
  754. package/dist/daemon/daemon-resilience.js +0 -318
  755. package/dist/daemon/daemon-resolve.d.ts +0 -113
  756. package/dist/daemon/daemon-resolve.js +0 -187
  757. package/dist/daemon/daemon-usefulness.d.ts +0 -61
  758. package/dist/daemon/daemon-usefulness.js +0 -62
  759. package/dist/daemon/daemon.d.ts +0 -95
  760. package/dist/daemon/daemon.js +0 -336
  761. package/dist/daemon/heartbeat.d.ts +0 -111
  762. package/dist/daemon/heartbeat.js +0 -141
  763. package/dist/daemon/idle-grace.d.ts +0 -32
  764. package/dist/daemon/idle-grace.js +0 -41
  765. package/dist/daemon/idle-shutdown.d.ts +0 -54
  766. package/dist/daemon/idle-shutdown.js +0 -98
  767. package/dist/daemon/state-dir.js +0 -59
  768. package/dist/daemon/wake-decision.d.ts +0 -32
  769. package/dist/daemon/wake-decision.js +0 -38
  770. package/dist/dev/stale-issue-guard.d.ts +0 -41
  771. package/dist/dev/stale-issue-guard.js +0 -75
  772. package/dist/domain/domain-model.js +0 -126
  773. package/dist/domain/domain-tools.d.ts +0 -2
  774. package/dist/domain/domain-tools.js +0 -94
  775. package/dist/domain/flow-risk.js +0 -80
  776. package/dist/ee/audit-log.js +0 -11
  777. package/dist/events/body-failures.d.ts +0 -4
  778. package/dist/events/body-failures.js +0 -113
  779. package/dist/events/contradiction-folds.d.ts +0 -45
  780. package/dist/events/contradiction-folds.js +0 -42
  781. package/dist/events/contradictions.d.ts +0 -170
  782. package/dist/events/contradictions.js +0 -718
  783. package/dist/events/declared.d.ts +0 -74
  784. package/dist/events/declared.js +0 -171
  785. package/dist/events/echo-mismatch.d.ts +0 -10
  786. package/dist/events/echo-mismatch.js +0 -299
  787. package/dist/events/event-filters.d.ts +0 -121
  788. package/dist/events/event-filters.js +0 -215
  789. package/dist/events/json-salvage.d.ts +0 -33
  790. package/dist/events/json-salvage.js +0 -96
  791. package/dist/events/lineage.d.ts +0 -52
  792. package/dist/events/lineage.js +0 -122
  793. package/dist/events/net-evidence.d.ts +0 -21
  794. package/dist/events/net-evidence.js +0 -81
  795. package/dist/events/observed-in-window.d.ts +0 -24
  796. package/dist/events/observed-in-window.js +0 -38
  797. package/dist/events/predicate-asks.d.ts +0 -30
  798. package/dist/events/predicate-asks.js +0 -48
  799. package/dist/events/predicate-console.d.ts +0 -13
  800. package/dist/events/predicate-console.js +0 -138
  801. package/dist/events/predicate-element.d.ts +0 -13
  802. package/dist/events/predicate-element.js +0 -214
  803. package/dist/events/predicate-eval.d.ts +0 -101
  804. package/dist/events/predicate-eval.js +0 -834
  805. package/dist/events/predicate-parse.d.ts +0 -17
  806. package/dist/events/predicate-parse.js +0 -175
  807. package/dist/events/predicate-precheck.d.ts +0 -8
  808. package/dist/events/predicate-precheck.js +0 -41
  809. package/dist/events/predicate-request-body.d.ts +0 -50
  810. package/dist/events/predicate-request-body.js +0 -120
  811. package/dist/events/predicate-route.d.ts +0 -66
  812. package/dist/events/predicate-route.js +0 -258
  813. package/dist/events/predicate-schema.d.ts +0 -168
  814. package/dist/events/predicate-schema.js +0 -501
  815. package/dist/events/predicate.d.ts +0 -74
  816. package/dist/events/predicate.js +0 -725
  817. package/dist/events/reaction.d.ts +0 -33
  818. package/dist/events/reaction.js +0 -59
  819. package/dist/events/reconcile.d.ts +0 -39
  820. package/dist/events/reconcile.js +0 -211
  821. package/dist/events/ring-buffer.d.ts +0 -41
  822. package/dist/events/ring-buffer.js +0 -151
  823. package/dist/events/split-text-miss.d.ts +0 -32
  824. package/dist/events/split-text-miss.js +0 -51
  825. package/dist/events/stale-response.d.ts +0 -3
  826. package/dist/events/stale-response.js +0 -186
  827. package/dist/events/testid-near-miss.d.ts +0 -22
  828. package/dist/events/testid-near-miss.js +0 -33
  829. package/dist/events/unit-mismatch.d.ts +0 -16
  830. package/dist/events/unit-mismatch.js +0 -167
  831. package/dist/flows/affected-tools.d.ts +0 -18
  832. package/dist/flows/affected-tools.js +0 -80
  833. package/dist/flows/affected.d.ts +0 -24
  834. package/dist/flows/affected.js +0 -35
  835. package/dist/flows/annotate-tools.d.ts +0 -15
  836. package/dist/flows/annotate-tools.js +0 -179
  837. package/dist/flows/assertion-tiers-store.d.ts +0 -16
  838. package/dist/flows/assertion-tiers-store.js +0 -98
  839. package/dist/flows/decision.d.ts +0 -25
  840. package/dist/flows/decision.js +0 -201
  841. package/dist/flows/empty-flow.js +0 -24
  842. package/dist/flows/flake-store.d.ts +0 -18
  843. package/dist/flows/flake-store.js +0 -58
  844. package/dist/flows/flake.d.ts +0 -56
  845. package/dist/flows/flow-classify.d.ts +0 -51
  846. package/dist/flows/flow-classify.js +0 -102
  847. package/dist/flows/flow-expect-grammar.d.ts +0 -33
  848. package/dist/flows/flow-expect-grammar.js +0 -155
  849. package/dist/flows/flow-intent.d.ts +0 -52
  850. package/dist/flows/flow-intent.js +0 -123
  851. package/dist/flows/flow-replay-run.d.ts +0 -43
  852. package/dist/flows/flow-replay-run.js +0 -478
  853. package/dist/flows/flow-replay.d.ts +0 -82
  854. package/dist/flows/flow-replay.js +0 -519
  855. package/dist/flows/flow-secret-field.d.ts +0 -14
  856. package/dist/flows/flow-secret-field.js +0 -22
  857. package/dist/flows/flow-sources.d.ts +0 -19
  858. package/dist/flows/flow-sources.js +0 -32
  859. package/dist/flows/flow-step-runners.d.ts +0 -52
  860. package/dist/flows/flow-step-runners.js +0 -315
  861. package/dist/flows/flow-store-for-session.d.ts +0 -31
  862. package/dist/flows/flow-success.d.ts +0 -32
  863. package/dist/flows/flow-success.js +0 -169
  864. package/dist/flows/flow-tools.d.ts +0 -15
  865. package/dist/flows/flow-tools.js +0 -639
  866. package/dist/flows/flow-upload-resolve.d.ts +0 -23
  867. package/dist/flows/flow-upload-resolve.js +0 -46
  868. package/dist/flows/flows.d.ts +0 -130
  869. package/dist/flows/flows.js +0 -870
  870. package/dist/flows/gate.js +0 -33
  871. package/dist/flows/heal-run.d.ts +0 -10
  872. package/dist/flows/heal-run.js +0 -139
  873. package/dist/flows/heal.js +0 -97
  874. package/dist/flows/predicate-to-expect.d.ts +0 -44
  875. package/dist/flows/predicate-to-expect.js +0 -130
  876. package/dist/flows/recording-backtrack.js +0 -73
  877. package/dist/flows/recordings.d.ts +0 -63
  878. package/dist/flows/recordings.js +0 -57
  879. package/dist/flows/replay.d.ts +0 -62
  880. package/dist/flows/replay.js +0 -337
  881. package/dist/flows/role-anchor-nearest.js +0 -45
  882. package/dist/flows/server-verify.d.ts +0 -15
  883. package/dist/flows/server-verify.js +0 -56
  884. package/dist/flows/suite-flakes.d.ts +0 -34
  885. package/dist/flows/suite-flakes.js +0 -32
  886. package/dist/flows/verify-change-tools.d.ts +0 -2
  887. package/dist/flows/verify-change-tools.js +0 -231
  888. package/dist/honesty/accepted-write.d.ts +0 -17
  889. package/dist/honesty/accepted-write.js +0 -22
  890. package/dist/honesty/already-true.d.ts +0 -16
  891. package/dist/honesty/already-true.js +0 -89
  892. package/dist/honesty/blind-spots.d.ts +0 -133
  893. package/dist/honesty/blind-spots.js +0 -248
  894. package/dist/honesty/body-capture-remedy.d.ts +0 -42
  895. package/dist/honesty/body-capture-remedy.js +0 -95
  896. package/dist/honesty/feature-capture.d.ts +0 -151
  897. package/dist/honesty/feature-capture.js +0 -233
  898. package/dist/honesty/gap-ledger.d.ts +0 -52
  899. package/dist/honesty/gap-ledger.js +0 -63
  900. package/dist/honesty/honesty.d.ts +0 -103
  901. package/dist/honesty/honesty.js +0 -95
  902. package/dist/honesty/instrumentation-gaps.d.ts +0 -95
  903. package/dist/honesty/instrumentation-gaps.js +0 -114
  904. package/dist/honesty/observability.d.ts +0 -38
  905. package/dist/honesty/observability.js +0 -40
  906. package/dist/honesty/tool-hit-rate.js +0 -90
  907. package/dist/honesty/uncaptured-bodies.d.ts +0 -23
  908. package/dist/honesty/uncaptured-bodies.js +0 -41
  909. package/dist/honesty/undeclared-change.d.ts +0 -51
  910. package/dist/honesty/undeclared-change.js +0 -56
  911. package/dist/honesty/unread-outcome.d.ts +0 -10
  912. package/dist/honesty/unread-outcome.js +0 -77
  913. package/dist/honesty/unsettled.d.ts +0 -58
  914. package/dist/honesty/unsettled.js +0 -127
  915. package/dist/honesty/verified.d.ts +0 -148
  916. package/dist/honesty/verified.js +0 -330
  917. package/dist/http-server.d.ts +0 -52
  918. package/dist/http-server.js +0 -381
  919. package/dist/impact/impact-recorder.d.ts +0 -46
  920. package/dist/impact/impact-recorder.js +0 -159
  921. package/dist/impact/impact-store.d.ts +0 -47
  922. package/dist/impact/impact-store.js +0 -255
  923. package/dist/input/network-detail.d.ts +0 -104
  924. package/dist/input/network-detail.js +0 -211
  925. package/dist/input/network-mock-tools.d.ts +0 -21
  926. package/dist/input/network-mock-tools.js +0 -124
  927. package/dist/input/network-mock.js +0 -61
  928. package/dist/input/real-input.d.ts +0 -222
  929. package/dist/input/real-input.js +0 -405
  930. package/dist/input/scroll-find.js +0 -111
  931. package/dist/input/scroll-tools.d.ts +0 -2
  932. package/dist/input/scroll-tools.js +0 -76
  933. package/dist/input/viewport-tools.d.ts +0 -2
  934. package/dist/input/viewport-tools.js +0 -72
  935. package/dist/intent/inline-intent.d.ts +0 -27
  936. package/dist/intent/inline-intent.js +0 -193
  937. package/dist/intent/intent-shard-store.d.ts +0 -73
  938. package/dist/intent/intent-shard-store.js +0 -203
  939. package/dist/intent/intent-shard.d.ts +0 -411
  940. package/dist/intent/intent-shard.js +0 -176
  941. package/dist/intent/intent-store.d.ts +0 -49
  942. package/dist/intent/intent-store.js +0 -133
  943. package/dist/intent/intent-subject.d.ts +0 -46
  944. package/dist/intent/intent-subject.js +0 -177
  945. package/dist/intent/intent-tools.d.ts +0 -2
  946. package/dist/intent/intent-tools.js +0 -143
  947. package/dist/intent/open-intents.d.ts +0 -43
  948. package/dist/intent/open-intents.js +0 -40
  949. package/dist/journal/ambient-store.d.ts +0 -13
  950. package/dist/journal/ambient-store.js +0 -45
  951. package/dist/journal/ambient.d.ts +0 -47
  952. package/dist/journal/ambient.js +0 -47
  953. package/dist/journal/attach-journal.d.ts +0 -30
  954. package/dist/journal/attach-journal.js +0 -30
  955. package/dist/journal/envelope-store.d.ts +0 -16
  956. package/dist/journal/envelope-store.js +0 -61
  957. package/dist/journal/envelope.d.ts +0 -230
  958. package/dist/journal/journal-query.d.ts +0 -32
  959. package/dist/journal/journal-query.js +0 -52
  960. package/dist/journal/journal-recorder.d.ts +0 -61
  961. package/dist/journal/journal-recorder.js +0 -115
  962. package/dist/journal/retention.d.ts +0 -20
  963. package/dist/journal/retention.js +0 -49
  964. package/dist/journal/session-end.d.ts +0 -32
  965. package/dist/journal/session-end.js +0 -51
  966. package/dist/journal/session-journal.d.ts +0 -24
  967. package/dist/journal/session-journal.js +0 -167
  968. package/dist/journal/workspace-gitignore.d.ts +0 -10
  969. package/dist/journal/workspace-gitignore.js +0 -59
  970. package/dist/license/license-env.d.ts +0 -29
  971. package/dist/license/license-env.js +0 -148
  972. package/dist/license/license.d.ts +0 -169
  973. package/dist/license/license.js +0 -289
  974. package/dist/mcp/mcp-is-error.d.ts +0 -13
  975. package/dist/mcp/mcp-is-error.js +0 -18
  976. package/dist/mcp/mcp-outage.d.ts +0 -32
  977. package/dist/mcp/mcp-outage.js +0 -55
  978. package/dist/mcp/mcp-post-transport.js +0 -109
  979. package/dist/mcp/mcp-proxy.d.ts +0 -110
  980. package/dist/mcp/mcp-proxy.js +0 -872
  981. package/dist/mcp/mcp.d.ts +0 -80
  982. package/dist/mcp/mcp.js +0 -536
  983. package/dist/mcp/proxy-daemon-probe.d.ts +0 -9
  984. package/dist/mcp/proxy-daemon-probe.js +0 -54
  985. package/dist/mcp/proxy-handshake.js +0 -192
  986. package/dist/mcp/proxy-lifecycle.d.ts +0 -92
  987. package/dist/mcp/proxy-lifecycle.js +0 -100
  988. package/dist/mcp/proxy-log.d.ts +0 -63
  989. package/dist/mcp/proxy-log.js +0 -132
  990. package/dist/mcp/server-instructions.d.ts +0 -18
  991. package/dist/mcp/server-instructions.js +0 -98
  992. package/dist/mcp/tool-catalog-cache.d.ts +0 -45
  993. package/dist/mcp/tool-catalog-cache.js +0 -77
  994. package/dist/memory/memory-tools.d.ts +0 -2
  995. package/dist/memory/memory-tools.js +0 -82
  996. package/dist/memory/project-memory.d.ts +0 -33
  997. package/dist/oracles/propose-consequences.d.ts +0 -22
  998. package/dist/oracles/propose-consequences.js +0 -106
  999. package/dist/pool/browser-pool.d.ts +0 -282
  1000. package/dist/pool/browser-pool.js +0 -560
  1001. package/dist/pool/lease-reaper.js +0 -40
  1002. package/dist/pool/playwright-launcher.js +0 -150
  1003. package/dist/pool/storage-seed.d.ts +0 -23
  1004. package/dist/project/artifact-root.d.ts +0 -84
  1005. package/dist/project/artifact-root.js +0 -112
  1006. package/dist/project/fs-port.d.ts +0 -47
  1007. package/dist/project/fs-port.js +0 -54
  1008. package/dist/project/learned-routes.d.ts +0 -24
  1009. package/dist/project/learned-routes.js +0 -63
  1010. package/dist/project/memory-fs.d.ts +0 -10
  1011. package/dist/project/project-store.d.ts +0 -54
  1012. package/dist/project/project-store.js +0 -201
  1013. package/dist/project/project-tools.d.ts +0 -2
  1014. package/dist/project/project-tools.js +0 -155
  1015. package/dist/project/reticle-dir.d.ts +0 -102
  1016. package/dist/project/reticle-dir.js +0 -188
  1017. package/dist/project/session-root.d.ts +0 -23
  1018. package/dist/project/session-root.js +0 -38
  1019. package/dist/runs/build-verification-run.d.ts +0 -29
  1020. package/dist/runs/build-verification-run.js +0 -70
  1021. package/dist/runs/context-tools.d.ts +0 -2
  1022. package/dist/runs/context-tools.js +0 -89
  1023. package/dist/runs/render-report.js +0 -69
  1024. package/dist/runs/replay-mapping.js +0 -34
  1025. package/dist/runs/reticle-runner.d.ts +0 -60
  1026. package/dist/runs/reticle-runner.js +0 -95
  1027. package/dist/runs/run-store.d.ts +0 -54
  1028. package/dist/runs/run-store.js +0 -147
  1029. package/dist/runs/run-tools.d.ts +0 -9
  1030. package/dist/runs/run-tools.js +0 -82
  1031. package/dist/runs/runner-port.d.ts +0 -13
  1032. package/dist/runs/runner-port.js +0 -22
  1033. package/dist/runs/verification-sync.d.ts +0 -12
  1034. package/dist/runs/verification-sync.js +0 -87
  1035. package/dist/session/command-timeout.d.ts +0 -46
  1036. package/dist/session/command-timeout.js +0 -42
  1037. package/dist/session/connection-memory.d.ts +0 -59
  1038. package/dist/session/connection-memory.js +0 -108
  1039. package/dist/session/dev-server-probe.js +0 -147
  1040. package/dist/session/live-control-tools.d.ts +0 -15
  1041. package/dist/session/live-control-tools.js +0 -242
  1042. package/dist/session/no-session-diagnosis.d.ts +0 -176
  1043. package/dist/session/no-session-diagnosis.js +0 -477
  1044. package/dist/session/no-session-next-action.d.ts +0 -72
  1045. package/dist/session/no-session-next-action.js +0 -174
  1046. package/dist/session/no-session-watch.js +0 -335
  1047. package/dist/session/observed-state.d.ts +0 -60
  1048. package/dist/session/observed-state.js +0 -121
  1049. package/dist/session/output-budget.d.ts +0 -49
  1050. package/dist/session/output-budget.js +0 -67
  1051. package/dist/session/session-health.d.ts +0 -138
  1052. package/dist/session/session-health.js +0 -154
  1053. package/dist/session/session-manager.d.ts +0 -76
  1054. package/dist/session/session-manager.js +0 -464
  1055. package/dist/session/session-reaper.d.ts +0 -36
  1056. package/dist/session/session-reaper.js +0 -93
  1057. package/dist/session/session-recommendation.js +0 -29
  1058. package/dist/session/session-replaced.d.ts +0 -24
  1059. package/dist/session/session-replaced.js +0 -29
  1060. package/dist/session/session-tools.d.ts +0 -8
  1061. package/dist/session/session-tools.js +0 -42
  1062. package/dist/session/session.d.ts +0 -280
  1063. package/dist/session/session.js +0 -891
  1064. package/dist/session/stall-clock.js +0 -48
  1065. package/dist/setup/agent-configs.d.ts +0 -97
  1066. package/dist/setup/agent-configs.js +0 -333
  1067. package/dist/setup/agent-writer.d.ts +0 -52
  1068. package/dist/setup/agent-writer.js +0 -115
  1069. package/dist/setup/auto-approve.js +0 -153
  1070. package/dist/setup/bridge-port.d.ts +0 -15
  1071. package/dist/setup/bridge-port.js +0 -24
  1072. package/dist/setup/confirm.js +0 -205
  1073. package/dist/setup/dev-server-wait.d.ts +0 -68
  1074. package/dist/setup/dev-server-wait.js +0 -67
  1075. package/dist/setup/drive-agent.d.ts +0 -70
  1076. package/dist/setup/drive-agent.js +0 -171
  1077. package/dist/setup/drive-plan.d.ts +0 -69
  1078. package/dist/setup/drive-plan.js +0 -130
  1079. package/dist/setup/ensure-daemon.js +0 -58
  1080. package/dist/setup/init-host.js +0 -26
  1081. package/dist/setup/init-runtime.d.ts +0 -41
  1082. package/dist/setup/init-runtime.js +0 -167
  1083. package/dist/setup/node-effects.d.ts +0 -63
  1084. package/dist/setup/node-effects.js +0 -225
  1085. package/dist/setup/page-probe.d.ts +0 -44
  1086. package/dist/setup/page-probe.js +0 -49
  1087. package/dist/setup/remaining-steps.js +0 -31
  1088. package/dist/setup/run-setup.d.ts +0 -103
  1089. package/dist/setup/run-setup.js +0 -294
  1090. package/dist/setup/setup-command.d.ts +0 -46
  1091. package/dist/setup/setup-command.js +0 -207
  1092. package/dist/setup/setup-options.d.ts +0 -76
  1093. package/dist/setup/setup-options.js +0 -68
  1094. package/dist/tools/act-capsule.d.ts +0 -33
  1095. package/dist/tools/act-capsule.js +0 -53
  1096. package/dist/tools/act-danger.js +0 -69
  1097. package/dist/tools/act-helpers.d.ts +0 -17
  1098. package/dist/tools/act-helpers.js +0 -40
  1099. package/dist/tools/act-observation.d.ts +0 -42
  1100. package/dist/tools/act-observation.js +0 -36
  1101. package/dist/tools/act-preflight.d.ts +0 -20
  1102. package/dist/tools/act-preflight.js +0 -103
  1103. package/dist/tools/act-sequence-tool.js +0 -135
  1104. package/dist/tools/act-target.d.ts +0 -18
  1105. package/dist/tools/act-target.js +0 -56
  1106. package/dist/tools/act-tools.d.ts +0 -20
  1107. package/dist/tools/act-tools.js +0 -763
  1108. package/dist/tools/assert-grade.d.ts +0 -42
  1109. package/dist/tools/assert-grade.js +0 -108
  1110. package/dist/tools/assert-source.d.ts +0 -52
  1111. package/dist/tools/assert-source.js +0 -74
  1112. package/dist/tools/assert-verdict.d.ts +0 -48
  1113. package/dist/tools/assert-verdict.js +0 -197
  1114. package/dist/tools/browser-tools.d.ts +0 -2
  1115. package/dist/tools/browser-tools.js +0 -115
  1116. package/dist/tools/contract-tools.d.ts +0 -2
  1117. package/dist/tools/contract-tools.js +0 -98
  1118. package/dist/tools/coverage-tools.d.ts +0 -18
  1119. package/dist/tools/coverage-tools.js +0 -175
  1120. package/dist/tools/dynamic-tools.d.ts +0 -7
  1121. package/dist/tools/dynamic-tools.js +0 -257
  1122. package/dist/tools/error-recovery.d.ts +0 -110
  1123. package/dist/tools/error-recovery.js +0 -499
  1124. package/dist/tools/feedback-invite.d.ts +0 -48
  1125. package/dist/tools/feedback-invite.js +0 -71
  1126. package/dist/tools/feedback-tools.d.ts +0 -35
  1127. package/dist/tools/feedback-tools.js +0 -228
  1128. package/dist/tools/invoke-tool.d.ts +0 -10
  1129. package/dist/tools/invoke-tool.js +0 -569
  1130. package/dist/tools/lease-hint.d.ts +0 -49
  1131. package/dist/tools/lease-hint.js +0 -124
  1132. package/dist/tools/lease-tools.d.ts +0 -143
  1133. package/dist/tools/lease-tools.js +0 -688
  1134. package/dist/tools/lineage-tools.d.ts +0 -14
  1135. package/dist/tools/lineage-tools.js +0 -64
  1136. package/dist/tools/merge-tools.d.ts +0 -51
  1137. package/dist/tools/merge-tools.js +0 -69
  1138. package/dist/tools/merged-name-redirect.d.ts +0 -26
  1139. package/dist/tools/merged-name-redirect.js +0 -77
  1140. package/dist/tools/navigate-arrival.d.ts +0 -68
  1141. package/dist/tools/numeric-bounds.d.ts +0 -89
  1142. package/dist/tools/numeric-bounds.js +0 -125
  1143. package/dist/tools/observe-tools.js +0 -578
  1144. package/dist/tools/read-tools.js +0 -569
  1145. package/dist/tools/real-input-attempt.d.ts +0 -68
  1146. package/dist/tools/real-input-attempt.js +0 -360
  1147. package/dist/tools/reconcile-tools.js +0 -126
  1148. package/dist/tools/resolve-target.js +0 -116
  1149. package/dist/tools/snapshot-delta.d.ts +0 -92
  1150. package/dist/tools/snapshot-delta.js +0 -356
  1151. package/dist/tools/tool-kit.d.ts +0 -221
  1152. package/dist/tools/tool-kit.js +0 -114
  1153. package/dist/tools/tool-names.d.ts +0 -112
  1154. package/dist/tools/tool-names.js +0 -112
  1155. package/dist/tools/tool-surface.d.ts +0 -222
  1156. package/dist/tools/tool-surface.js +0 -439
  1157. package/dist/tools/tools-helpers.d.ts +0 -42
  1158. package/dist/tools/tools-helpers.js +0 -87
  1159. package/dist/tools/tools.d.ts +0 -20
  1160. package/dist/tools/tools.js +0 -739
  1161. package/dist/tools/unadvertised-help.js +0 -42
  1162. package/dist/tools/verify-next-baton.js +0 -52
  1163. package/dist/update/nudge-credit.js +0 -53
  1164. package/dist/update/reticle-deps.d.ts +0 -9
  1165. package/dist/update/reticle-deps.js +0 -27
  1166. package/dist/update/sdk-sync.d.ts +0 -20
  1167. package/dist/update/sdk-sync.js +0 -22
  1168. package/dist/update/update-checker.js +0 -122
  1169. package/dist/update/update-nudge.d.ts +0 -92
  1170. package/dist/update/update-nudge.js +0 -214
  1171. package/dist/update/updater.d.ts +0 -54
  1172. package/dist/update/updater.js +0 -190
  1173. package/dist/version/peer-announce.js +0 -32
  1174. package/dist/version/sdk-fix.js +0 -127
  1175. package/dist/version/server-version.js +0 -13
  1176. package/dist/version/version-nudge.js +0 -61
  1177. package/dist/version/version-skew.d.ts +0 -93
  1178. package/dist/version/version-skew.js +0 -147
  1179. package/dist/visual/visual-store.d.ts +0 -22
  1180. package/dist/visual/visual-store.js +0 -66
  1181. package/dist/visual/visual-tools.d.ts +0 -26
  1182. package/dist/visual/visual-tools.js +0 -328
  1183. package/docs/docs.json +0 -369
  1184. package/docs/fixtures.md +0 -51
  1185. package/docs/gate-plan.md +0 -104
  1186. package/docs/gates.md +0 -131
  1187. package/docs/style.css +0 -14
  1188. package/docs/telemetry-contract.md +0 -390
  1189. package/docs/telemetry-events.mdx +0 -442
  1190. package/docs/tools-act-and-wait.mdx +0 -173
  1191. package/docs/tools-act-sequence.mdx +0 -153
  1192. package/docs/tools-act.mdx +0 -95
  1193. package/docs/tools-assert.mdx +0 -129
  1194. package/docs/tools-console.mdx +0 -63
  1195. package/docs/tools-inspect.mdx +0 -88
  1196. package/docs/tools-navigate.mdx +0 -107
  1197. package/docs/tools-network.mdx +0 -119
  1198. package/docs/tools-observe.mdx +0 -145
  1199. package/docs/tools-overview.mdx +0 -160
  1200. package/docs/tools-query.mdx +0 -126
  1201. package/docs/tools-sessions.mdx +0 -94
  1202. package/docs/tools-snapshot.mdx +0 -129
  1203. package/docs/tools-state.mdx +0 -104
  1204. package/docs/tools-wait-for.mdx +0 -85
  1205. /package/dist/{cli → command/cli/answers}/gate-exit.d.ts +0 -0
  1206. /package/dist/{cli → command/cli/answers}/gate-exit.js +0 -0
  1207. /package/dist/{cli → command/cli/answers}/gate-hook-message.d.ts +0 -0
  1208. /package/dist/{cli → command/cli/answers}/gate-hook-message.js +0 -0
  1209. /package/dist/{cli → command/cli/answers}/open-note.d.ts +0 -0
  1210. /package/dist/{cli → command/cli/answers}/open-note.js +0 -0
  1211. /package/dist/{cli → command/cli/auth}/cloud-keystore.d.ts +0 -0
  1212. /package/dist/{cli → command/cli/auth}/cloud-session.d.ts +0 -0
  1213. /package/dist/{cli → command/cli/auth}/cloud-session.js +0 -0
  1214. /package/dist/{cli → command/cli}/cli-doctor.d.ts +0 -0
  1215. /package/dist/{cli → command/cli}/cli-parse-feedback.d.ts +0 -0
  1216. /package/dist/{cli → command/cli}/cli-parse-feedback.js +0 -0
  1217. /package/dist/{cli → command/cli}/cli-update-commands.d.ts +0 -0
  1218. /package/dist/{cli → command/cli}/cloud-cli.d.ts +0 -0
  1219. /package/dist/{cli → command/cli}/cloud-login.d.ts +0 -0
  1220. /package/dist/{cli → command/cli}/daemon-start-options.js +0 -0
  1221. /package/dist/{cli → command/cli/doctor/browser}/chromium-hint.d.ts +0 -0
  1222. /package/dist/{cli → command/cli/doctor/browser}/chromium-hint.js +0 -0
  1223. /package/dist/{cli → command/cli/doctor}/doctor-daemon-line.d.ts +0 -0
  1224. /package/dist/{cli → command/cli/doctor}/doctor-project-line.d.ts +0 -0
  1225. /package/dist/{cli → command/cli/doctor}/doctor-project-line.js +0 -0
  1226. /package/dist/{cli → command/cli/doctor}/doctor-sessions-line.d.ts +0 -0
  1227. /package/dist/{cli → command/cli/drive}/drive-command.d.ts +0 -0
  1228. /package/dist/{cli → command/cli}/mcp-command.d.ts +0 -0
  1229. /package/dist/{cli → command/cli/ports}/port-holder.d.ts +0 -0
  1230. /package/dist/{cli → command/cli/ports}/sibling-ports.d.ts +0 -0
  1231. /package/dist/{cli → command/cli/ports}/sibling-ports.js +0 -0
  1232. /package/dist/{cli → command/cli}/project-name.d.ts +0 -0
  1233. /package/dist/{cli → command/cli}/project-name.js +0 -0
  1234. /package/dist/{daemon → command/daemon/binding}/free-port.d.ts +0 -0
  1235. /package/dist/{daemon → command/daemon/binding}/free-port.js +0 -0
  1236. /package/dist/{daemon → command/daemon/binding}/loopback-alias.d.ts +0 -0
  1237. /package/dist/{daemon → command/daemon/binding}/loopback-alias.js +0 -0
  1238. /package/dist/{daemon → command/daemon/binding}/port-presence.d.ts +0 -0
  1239. /package/dist/{daemon → command/daemon/binding}/port-presence.js +0 -0
  1240. /package/dist/{daemon → command/daemon}/dev-servers.d.ts +0 -0
  1241. /package/dist/{daemon → command/daemon}/dev-servers.js +0 -0
  1242. /package/dist/{daemon → command/daemon/lifetime}/startup-failure.d.ts +0 -0
  1243. /package/dist/{daemon → command/daemon/lifetime}/startup-failure.js +0 -0
  1244. /package/dist/{daemon → command/daemon/lifetime}/unclean-predecessor.d.ts +0 -0
  1245. /package/dist/{daemon → command/daemon/lifetime}/unclean-predecessor.js +0 -0
  1246. /package/dist/{daemon → command/daemon}/state-dir.d.ts +0 -0
  1247. /package/dist/{setup → command/setup}/agent-io.d.ts +0 -0
  1248. /package/dist/{setup → command/setup}/agent-io.js +0 -0
  1249. /package/dist/{setup → command/setup}/approval-migration.d.ts +0 -0
  1250. /package/dist/{setup → command/setup}/approval-migration.js +0 -0
  1251. /package/dist/{setup → command/setup}/auto-approve.d.ts +0 -0
  1252. /package/dist/{setup → command/setup/bringup}/ensure-daemon.d.ts +0 -0
  1253. /package/dist/{setup → command/setup/bringup}/relaunch.d.ts +0 -0
  1254. /package/dist/{setup → command/setup/bringup}/relaunch.js +0 -0
  1255. /package/dist/{setup → command/setup}/desktop-shape.d.ts +0 -0
  1256. /package/dist/{setup → command/setup}/desktop-shape.js +0 -0
  1257. /package/dist/{setup → command/setup/init}/init-host.d.ts +0 -0
  1258. /package/dist/{setup → command/setup}/license-key.d.ts +0 -0
  1259. /package/dist/{setup → command/setup}/license-key.js +0 -0
  1260. /package/dist/{setup → command/setup/probe}/existing-app.d.ts +0 -0
  1261. /package/dist/{setup → command/setup/probe}/existing-app.js +0 -0
  1262. /package/dist/{setup → command/setup/probe}/loopback-probe-urls.d.ts +0 -0
  1263. /package/dist/{setup → command/setup/probe}/loopback-probe-urls.js +0 -0
  1264. /package/dist/{setup → command/setup}/remaining-steps.d.ts +0 -0
  1265. /package/dist/{setup → command/setup}/session-pick.d.ts +0 -0
  1266. /package/dist/{setup → command/setup}/session-pick.js +0 -0
  1267. /package/dist/{setup → command/setup/terminal}/confirm.d.ts +0 -0
  1268. /package/dist/{setup → command/setup/terminal}/interrupt.d.ts +0 -0
  1269. /package/dist/{setup → command/setup/terminal}/interrupt.js +0 -0
  1270. /package/dist/{setup → command/setup/terminal}/listeners.d.ts +0 -0
  1271. /package/dist/{setup → command/setup/terminal}/listeners.js +0 -0
  1272. /package/dist/{setup → command/setup/terminal}/transcripts.d.ts +0 -0
  1273. /package/dist/{setup → command/setup/terminal}/transcripts.js +0 -0
  1274. /package/dist/{setup → command/setup/terminal}/wait-progress.d.ts +0 -0
  1275. /package/dist/{setup → command/setup/terminal}/wait-progress.js +0 -0
  1276. /package/dist/{update → command/update}/nudge-credit.d.ts +0 -0
  1277. /package/dist/{update → command/update}/update-checker.d.ts +0 -0
  1278. /package/dist/{version → command/version/identity}/server-version.d.ts +0 -0
  1279. /package/dist/{version → command/version}/peer-announce.d.ts +0 -0
  1280. /package/dist/{version → command/version}/sdk-fix.d.ts +0 -0
  1281. /package/dist/{version → command/version}/version-nudge.d.ts +0 -0
  1282. /package/dist/{crawl → features/crawl}/crawl-empty.d.ts +0 -0
  1283. /package/dist/{crawl → features/crawl}/crawl-empty.js +0 -0
  1284. /package/dist/{ee → features/ee}/audit-log.d.ts +0 -0
  1285. /package/dist/{visual → features/visual}/capture-cleanup.d.ts +0 -0
  1286. /package/dist/{visual → features/visual}/capture-cleanup.js +0 -0
  1287. /package/dist/{visual → features/visual}/visual-diff.d.ts +0 -0
  1288. /package/dist/{visual → features/visual}/visual-diff.js +0 -0
  1289. /package/dist/{capsule → judgement/capsule}/divergence.js +0 -0
  1290. /package/dist/{capsule → judgement/capsule}/minimize.d.ts +0 -0
  1291. /package/dist/{capsule → judgement/capsule}/minimize.js +0 -0
  1292. /package/dist/{domain → judgement/domain}/domain-model.d.ts +0 -0
  1293. /package/dist/{domain → judgement/domain}/flow-risk.d.ts +0 -0
  1294. /package/dist/{hunt → judgement/hunt}/hunt-report.d.ts +0 -0
  1295. /package/dist/{hunt → judgement/hunt}/hunt-report.js +0 -0
  1296. /package/dist/{oracles → judgement/oracles}/flow-instrument-gaps.d.ts +0 -0
  1297. /package/dist/{oracles → judgement/oracles}/flow-instrument-gaps.js +0 -0
  1298. /package/dist/{oracles → judgement/oracles}/self-instrument.d.ts +0 -0
  1299. /package/dist/{oracles → judgement/oracles}/self-instrument.js +0 -0
  1300. /package/dist/{flows → judgement/outcome}/assertion-integrity.d.ts +0 -0
  1301. /package/dist/{flows → judgement/outcome}/assertion-integrity.js +0 -0
  1302. /package/dist/{flows → judgement/outcome}/attributed-failure.d.ts +0 -0
  1303. /package/dist/{flows → judgement/outcome}/attributed-failure.js +0 -0
  1304. /package/dist/{flows → judgement/outcome}/role-drift-reason.d.ts +0 -0
  1305. /package/dist/{flows → judgement/outcome}/role-drift-reason.js +0 -0
  1306. /package/dist/{flows → judgement/outcome}/verify-change-verdict.d.ts +0 -0
  1307. /package/dist/{flows → judgement/outcome}/verify-change-verdict.js +0 -0
  1308. /package/dist/{phenomena → judgement/phenomena}/phenomena.d.ts +0 -0
  1309. /package/dist/{phenomena → judgement/phenomena}/phenomena.js +0 -0
  1310. /package/dist/{runs → judgement/runs/artifact}/profile-redact.d.ts +0 -0
  1311. /package/dist/{runs → judgement/runs/artifact}/profile-redact.js +0 -0
  1312. /package/dist/{runs → judgement/runs/artifact}/render-report.d.ts +0 -0
  1313. /package/dist/{runs → judgement/runs/artifact}/replay-mapping.d.ts +0 -0
  1314. /package/dist/{runs → judgement/runs/artifact}/run-context.d.ts +0 -0
  1315. /package/dist/{runs → judgement/runs/artifact}/run-context.js +0 -0
  1316. /package/dist/{runs → judgement/runs/artifact}/run-diff.d.ts +0 -0
  1317. /package/dist/{runs → judgement/runs/artifact}/run-diff.js +0 -0
  1318. /package/dist/{runs → judgement/runs}/repair-prompt.d.ts +0 -0
  1319. /package/dist/{runs → judgement/runs}/repair-prompt.js +0 -0
  1320. /package/dist/{runs → judgement/runs}/risk-classify.d.ts +0 -0
  1321. /package/dist/{runs → judgement/runs}/risk-classify.js +0 -0
  1322. /package/dist/{runs → judgement/runs}/verify-http.d.ts +0 -0
  1323. /package/dist/{runs → judgement/runs}/verify-http.js +0 -0
  1324. /package/dist/{runs → judgement/runs}/verify-server.d.ts +0 -0
  1325. /package/dist/{runs → judgement/runs}/verify-server.js +0 -0
  1326. /package/dist/{flows → language/flows/annotate-notes}/annotate-target.d.ts +0 -0
  1327. /package/dist/{flows → language/flows/annotate-notes}/annotate-target.js +0 -0
  1328. /package/dist/{flows → language/flows/annotate-notes}/annotate.d.ts +0 -0
  1329. /package/dist/{flows → language/flows/annotate-notes}/annotate.js +0 -0
  1330. /package/dist/{flows → language/flows}/buddy-status.d.ts +0 -0
  1331. /package/dist/{flows → language/flows}/buddy-status.js +0 -0
  1332. /package/dist/{flows → language/flows/change}/gate.d.ts +0 -0
  1333. /package/dist/{flows → language/flows/change}/git-changed.d.ts +0 -0
  1334. /package/dist/{flows → language/flows/change}/git-changed.js +0 -0
  1335. /package/dist/{flows → language/flows/change}/watch-batcher.d.ts +0 -0
  1336. /package/dist/{flows → language/flows/change}/watch-batcher.js +0 -0
  1337. /package/dist/{flows → language/flows}/empty-flow.d.ts +0 -0
  1338. /package/dist/{flows → language/flows}/flow-memory-consult.d.ts +0 -0
  1339. /package/dist/{flows → language/flows}/flow-memory-consult.js +0 -0
  1340. /package/dist/{flows → language/flows}/flow-report.d.ts +0 -0
  1341. /package/dist/{flows → language/flows}/flow-report.js +0 -0
  1342. /package/dist/{flows → language/flows}/flow-scope.d.ts +0 -0
  1343. /package/dist/{flows → language/flows}/flow-scope.js +0 -0
  1344. /package/dist/{flows → language/flows}/flow-store-for-session.js +0 -0
  1345. /package/dist/{flows → language/flows}/heal.d.ts +0 -0
  1346. /package/dist/{flows → language/flows/recording}/flake.js +0 -0
  1347. /package/dist/{flows → language/flows/recording}/recording-backtrack.d.ts +0 -0
  1348. /package/dist/{flows → language/flows/recording}/replay-halt.d.ts +0 -0
  1349. /package/dist/{flows → language/flows/recording}/replay-halt.js +0 -0
  1350. /package/dist/{flows → language/flows}/role-anchor-nearest.d.ts +0 -0
  1351. /package/dist/{flows → language/flows/stores}/annotation-store.d.ts +0 -0
  1352. /package/dist/{flows → language/flows/stores}/annotation-store.js +0 -0
  1353. /package/dist/{flows → language/flows/suite}/coverage.d.ts +0 -0
  1354. /package/dist/{flows → language/flows/suite}/coverage.js +0 -0
  1355. /package/dist/{flows → language/flows/suite}/parallel-suite.d.ts +0 -0
  1356. /package/dist/{flows → language/flows/suite}/parallel-suite.js +0 -0
  1357. /package/dist/{platform.d.ts → machine/platform.d.ts} +0 -0
  1358. /package/dist/{platform.js → machine/platform.js} +0 -0
  1359. /package/dist/{temp-dir.d.ts → machine/temp-dir.d.ts} +0 -0
  1360. /package/dist/{temp-dir.js → machine/temp-dir.js} +0 -0
  1361. /package/dist/{cloud → memory/cloud}/sync-disk.d.ts +0 -0
  1362. /package/dist/{cloud → memory/cloud}/sync-hash.d.ts +0 -0
  1363. /package/dist/{cloud → memory/cloud}/sync-hash.js +0 -0
  1364. /package/dist/{journal → memory/journal}/deviation-report.d.ts +0 -0
  1365. /package/dist/{journal → memory/journal}/deviation-report.js +0 -0
  1366. /package/dist/{journal → memory/journal}/deviation-service.d.ts +0 -0
  1367. /package/dist/{journal → memory/journal}/deviation-service.js +0 -0
  1368. /package/dist/{journal → memory/journal}/envelope.js +0 -0
  1369. /package/dist/{journal → memory/journal}/rollups.d.ts +0 -0
  1370. /package/dist/{journal → memory/journal}/rollups.js +0 -0
  1371. /package/dist/{project → memory/project}/baselines.d.ts +0 -0
  1372. /package/dist/{project → memory/project}/baselines.js +0 -0
  1373. /package/dist/{project → memory/project}/file-lock.d.ts +0 -0
  1374. /package/dist/{project → memory/project}/file-lock.js +0 -0
  1375. /package/dist/{project → memory/project}/memory-fs.js +0 -0
  1376. /package/dist/{session → memory/recall}/looks-like-dev-server.d.ts +0 -0
  1377. /package/dist/{session → memory/recall}/looks-like-dev-server.js +0 -0
  1378. /package/dist/memory/{project-memory.js → recall/project-memory.js} +0 -0
  1379. /package/dist/{session → memory/recall}/registered-projects.d.ts +0 -0
  1380. /package/dist/{session → memory/recall}/registered-projects.js +0 -0
  1381. /package/dist/{bridge → portal/bridge}/pairing-token.d.ts +0 -0
  1382. /package/dist/{bridge → portal/bridge}/pairing-token.js +0 -0
  1383. /package/dist/{bridge → portal/bridge}/protocol-skew.d.ts +0 -0
  1384. /package/dist/{bridge → portal/bridge}/protocol-skew.js +0 -0
  1385. /package/dist/{bridge → portal/bridge}/token-auth.d.ts +0 -0
  1386. /package/dist/{bridge → portal/bridge}/token-auth.js +0 -0
  1387. /package/dist/{input → portal/input}/driven-redaction.d.ts +0 -0
  1388. /package/dist/{input → portal/input}/driven-redaction.js +0 -0
  1389. /package/dist/{input → portal/input}/network-mock.d.ts +0 -0
  1390. /package/dist/{input → portal/input}/scroll-find.d.ts +0 -0
  1391. /package/dist/{pool → portal/pool}/lease-reaper.d.ts +0 -0
  1392. /package/dist/{pool → portal/pool}/playwright-launcher.d.ts +0 -0
  1393. /package/dist/{pool → portal/pool}/storage-seed.js +0 -0
  1394. /package/dist/{session → portal/session}/control-envelope.d.ts +0 -0
  1395. /package/dist/{session → portal/session}/control-envelope.js +0 -0
  1396. /package/dist/{session → portal/session/dev-server}/dev-command.d.ts +0 -0
  1397. /package/dist/{session → portal/session/dev-server}/dev-command.js +0 -0
  1398. /package/dist/{session → portal/session/dev-server}/dev-server-probe.d.ts +0 -0
  1399. /package/dist/{session → portal/session/facts}/ref-provenance.d.ts +0 -0
  1400. /package/dist/{session → portal/session/facts}/ref-provenance.js +0 -0
  1401. /package/dist/{session → portal/session}/fake-session.d.ts +0 -0
  1402. /package/dist/{session → portal/session}/fake-session.js +0 -0
  1403. /package/dist/{session → portal/session/human}/live-control.d.ts +0 -0
  1404. /package/dist/{session → portal/session/human}/live-control.js +0 -0
  1405. /package/dist/{session → portal/session/human}/presenter-args.d.ts +0 -0
  1406. /package/dist/{session → portal/session/human}/presenter-args.js +0 -0
  1407. /package/dist/{session → portal/session/human}/review-store.d.ts +0 -0
  1408. /package/dist/{session → portal/session/human}/review-store.js +0 -0
  1409. /package/dist/{session → portal/session}/last-act.d.ts +0 -0
  1410. /package/dist/{session → portal/session}/last-act.js +0 -0
  1411. /package/dist/{session → portal/session}/lease-visibility.d.ts +0 -0
  1412. /package/dist/{session → portal/session}/lease-visibility.js +0 -0
  1413. /package/dist/{session → portal/session}/no-session-watch.d.ts +0 -0
  1414. /package/dist/{session → portal/session/page-commands}/pending-commands.d.ts +0 -0
  1415. /package/dist/{session → portal/session/page-commands}/pending-commands.js +0 -0
  1416. /package/dist/{session → portal/session/presence}/attachment-history.d.ts +0 -0
  1417. /package/dist/{session → portal/session/presence}/attachment-history.js +0 -0
  1418. /package/dist/{session → portal/session/presence}/lease-availability.d.ts +0 -0
  1419. /package/dist/{session → portal/session/presence}/lease-availability.js +0 -0
  1420. /package/dist/{session → portal/session/presence}/session-lease.d.ts +0 -0
  1421. /package/dist/{session → portal/session/presence}/session-lease.js +0 -0
  1422. /package/dist/{session → portal/session/presence}/session-mirror.d.ts +0 -0
  1423. /package/dist/{session → portal/session/presence}/session-mirror.js +0 -0
  1424. /package/dist/{session → portal/session/presence}/session-recommendation.d.ts +0 -0
  1425. /package/dist/{session → portal/session}/session-info.d.ts +0 -0
  1426. /package/dist/{session → portal/session}/session-info.js +0 -0
  1427. /package/dist/{session → portal/session}/session-reconnect.d.ts +0 -0
  1428. /package/dist/{session → portal/session}/session-reconnect.js +0 -0
  1429. /package/dist/{session → portal/session}/session-successor.d.ts +0 -0
  1430. /package/dist/{session → portal/session}/session-successor.js +0 -0
  1431. /package/dist/{session → portal/session}/stall-clock.d.ts +0 -0
  1432. /package/dist/{session → portal/session}/state-select.d.ts +0 -0
  1433. /package/dist/{session → portal/session}/state-select.js +0 -0
  1434. /package/dist/{session → portal/session/timing}/resolve-within.d.ts +0 -0
  1435. /package/dist/{session → portal/session/timing}/resolve-within.js +0 -0
  1436. /package/dist/{session → portal/session/timing}/wall-clock.d.ts +0 -0
  1437. /package/dist/{session → portal/session/timing}/wall-clock.js +0 -0
  1438. /package/dist/{loopback-agent.d.ts → surface/loopback-agent.d.ts} +0 -0
  1439. /package/dist/{loopback-agent.js → surface/loopback-agent.js} +0 -0
  1440. /package/dist/{mcp → surface/mcp}/attach-memory.d.ts +0 -0
  1441. /package/dist/{mcp → surface/mcp}/attach-memory.js +0 -0
  1442. /package/dist/{mcp → surface/mcp/peer}/client-identity.d.ts +0 -0
  1443. /package/dist/{mcp → surface/mcp/peer}/client-identity.js +0 -0
  1444. /package/dist/{mcp → surface/mcp/proxy}/mcp-post-transport.d.ts +0 -0
  1445. /package/dist/{mcp → surface/mcp/proxy}/proxy-backoff.d.ts +0 -0
  1446. /package/dist/{mcp → surface/mcp/proxy}/proxy-backoff.js +0 -0
  1447. /package/dist/{mcp → surface/mcp/proxy}/proxy-handshake.d.ts +0 -0
  1448. /package/dist/{mcp → surface/mcp}/proxy-idle-exit.d.ts +0 -0
  1449. /package/dist/{mcp → surface/mcp}/proxy-idle-exit.js +0 -0
  1450. /package/dist/{mcp → surface/mcp}/shared-params.d.ts +0 -0
  1451. /package/dist/{mcp → surface/mcp}/shared-params.js +0 -0
  1452. /package/dist/{mcp → surface/mcp}/sse-frame-parser.d.ts +0 -0
  1453. /package/dist/{mcp → surface/mcp}/sse-frame-parser.js +0 -0
  1454. /package/dist/{tools → surface/tools/act}/act-danger.d.ts +0 -0
  1455. /package/dist/{tools → surface/tools/act}/act-sequence-retry.d.ts +0 -0
  1456. /package/dist/{tools → surface/tools/act}/act-sequence-retry.js +0 -0
  1457. /package/dist/{tools → surface/tools/act}/act-view.d.ts +0 -0
  1458. /package/dist/{tools → surface/tools/act}/act-view.js +0 -0
  1459. /package/dist/{tools → surface/tools/act/navigation}/navigate-arrival.js +0 -0
  1460. /package/dist/{tools → surface/tools/act/navigation}/navigate-result.d.ts +0 -0
  1461. /package/dist/{tools → surface/tools/act/navigation}/navigate-result.js +0 -0
  1462. /package/dist/{tools → surface/tools/act/navigation}/reload-result.d.ts +0 -0
  1463. /package/dist/{tools → surface/tools/act/navigation}/reload-result.js +0 -0
  1464. /package/dist/{tools → surface/tools/act}/react-grace.d.ts +0 -0
  1465. /package/dist/{tools → surface/tools/act}/react-grace.js +0 -0
  1466. /package/dist/{tools → surface/tools/act}/resolve-target.d.ts +0 -0
  1467. /package/dist/{tools → surface/tools/act}/settle-in-flight.d.ts +0 -0
  1468. /package/dist/{tools → surface/tools/act}/settle-in-flight.js +0 -0
  1469. /package/dist/{tools → surface/tools}/act-sequence-tool.d.ts +0 -0
  1470. /package/dist/{tools → surface/tools/args}/alias-args.d.ts +0 -0
  1471. /package/dist/{tools → surface/tools/args}/alias-args.js +0 -0
  1472. /package/dist/{tools → surface/tools/gaps}/coverage-identity.d.ts +0 -0
  1473. /package/dist/{tools → surface/tools/gaps}/coverage-identity.js +0 -0
  1474. /package/dist/{tools → surface/tools/gaps}/observed-nothing.d.ts +0 -0
  1475. /package/dist/{tools → surface/tools/gaps}/observed-nothing.js +0 -0
  1476. /package/dist/{tools → surface/tools/gaps}/sdk-marker-probe.d.ts +0 -0
  1477. /package/dist/{tools → surface/tools/gaps}/sdk-marker-probe.js +0 -0
  1478. /package/dist/{tools → surface/tools}/observe-tools.d.ts +0 -0
  1479. /package/dist/{tools → surface/tools/read}/complete-snapshot.d.ts +0 -0
  1480. /package/dist/{tools → surface/tools/read}/complete-snapshot.js +0 -0
  1481. /package/dist/{tools → surface/tools/read}/query-paginate.d.ts +0 -0
  1482. /package/dist/{tools → surface/tools/read}/query-paginate.js +0 -0
  1483. /package/dist/{tools → surface/tools/read}/query-shape.d.ts +0 -0
  1484. /package/dist/{tools → surface/tools/read}/query-shape.js +0 -0
  1485. /package/dist/{tools → surface/tools}/read-tools.d.ts +0 -0
  1486. /package/dist/{tools → surface/tools}/reconcile-tools.d.ts +0 -0
  1487. /package/dist/{honesty → surface/tools}/tool-hit-rate.d.ts +0 -0
  1488. /package/dist/{tools → surface/tools}/tool-invoker.d.ts +0 -0
  1489. /package/dist/{tools → surface/tools}/tool-invoker.js +0 -0
  1490. /package/dist/{tools → surface/tools}/unadvertised-help.d.ts +0 -0
  1491. /package/dist/{tools → surface/tools}/verify-next-baton.d.ts +0 -0
  1492. /package/docs/{tools-session-and-feedback.mdx → tools/session-and-feedback.mdx} +0 -0
  1493. /package/docs/{tools-tools-and-run.mdx → tools/tools-and-run.mdx} +0 -0
@@ -1,61 +0,0 @@
1
- /**
2
- * Whether this daemon has ever been useful to anyone.
3
- *
4
- * Reticle is usually registered as a GLOBAL MCP server, so every agent session in every directory
5
- * spawns it — including the three quarters of directories that are not web apps at all. Measured
6
- * over a day: `stack` was null for 92 of 121 profiled projects, 50 were not even git repositories,
7
- * and 74% of daemon sessions never called a single tool. Median daemon lifetime 28 minutes; total
8
- * uptime across those sessions 10,816 minutes against 4.6 minutes of actual work — a duty cycle of
9
- * **0.04%**.
10
- *
11
- * The existing idle-shutdown could never fire on any of it, because its predicate is
12
- * `!agentConnected && …` and an attached agent keeps `agentConnected` true for the whole editor
13
- * session. So a daemon sat for half an hour, in a directory with no app, doing nothing, holding
14
- * memory and a port.
15
- *
16
- * The rule here is deliberately the most conservative one that still catches that population:
17
- * a daemon is USELESS only if it has never served a tool call AND no browser has ever connected to
18
- * it AND nothing is leased from the pool. All three are lifetime facts, not windows — so nothing
19
- * transient trips it, and a daemon in this state provably holds no recording, baseline or session
20
- * anybody could lose. When it does shut down, the MCP proxy reconnects and `ensureDaemon` spawns a
21
- * fresh one on the next call, which is a path already exercised hundreds of times a day.
22
- */
23
- export declare function noteToolCall(): void;
24
- export declare function everServedToolCall(): boolean;
25
- /** Tests only. */
26
- export declare function resetDaemonUsefulness(): void;
27
- interface UsefulnessFacts {
28
- /** Has any tool been dispatched since this daemon booted? */
29
- servedToolCall: boolean;
30
- /** Has any browser session ever connected? */
31
- everConnected: boolean;
32
- /** Active pool leases — a lease means somebody is mid-flight even with no session yet. */
33
- activeLeases: number;
34
- }
35
- /**
36
- * True when the daemon has done nothing for anyone and has nothing to lose by exiting.
37
- *
38
- * Every clause is a LIFETIME fact. "No tool call in the last five minutes" would fire on a thinking
39
- * pause; "no tool call ever" cannot.
40
- */
41
- export declare function isUselessDaemon(facts: UsefulnessFacts): boolean;
42
- /** The little of SessionManager the idle predicate reads — structural, so a fake needs two methods. */
43
- interface IdleSessions {
44
- count(): number;
45
- everConnected(): boolean;
46
- }
47
- /** The little of BrowserPool it reads. */
48
- interface IdlePool {
49
- activeCount(): number;
50
- }
51
- /**
52
- * The daemon's whole "is anything happening" question.
53
- *
54
- * Two ways to be idle. The original — nobody attached, nothing connected. And the one that was
55
- * missing: an agent IS attached but this daemon has never served a tool call and no browser has ever
56
- * connected to it. `agentConnected` stays true for an entire editor session, so without the second
57
- * clause the shutdown watcher could never fire on the 74% of daemons that spawn in a directory with
58
- * no app and sit there for half an hour.
59
- */
60
- export declare function buildIdlePredicate(agentConnected: () => boolean, sessions: IdleSessions, pool: IdlePool): () => boolean;
61
- export {};
@@ -1,62 +0,0 @@
1
- /**
2
- * Whether this daemon has ever been useful to anyone.
3
- *
4
- * Reticle is usually registered as a GLOBAL MCP server, so every agent session in every directory
5
- * spawns it — including the three quarters of directories that are not web apps at all. Measured
6
- * over a day: `stack` was null for 92 of 121 profiled projects, 50 were not even git repositories,
7
- * and 74% of daemon sessions never called a single tool. Median daemon lifetime 28 minutes; total
8
- * uptime across those sessions 10,816 minutes against 4.6 minutes of actual work — a duty cycle of
9
- * **0.04%**.
10
- *
11
- * The existing idle-shutdown could never fire on any of it, because its predicate is
12
- * `!agentConnected && …` and an attached agent keeps `agentConnected` true for the whole editor
13
- * session. So a daemon sat for half an hour, in a directory with no app, doing nothing, holding
14
- * memory and a port.
15
- *
16
- * The rule here is deliberately the most conservative one that still catches that population:
17
- * a daemon is USELESS only if it has never served a tool call AND no browser has ever connected to
18
- * it AND nothing is leased from the pool. All three are lifetime facts, not windows — so nothing
19
- * transient trips it, and a daemon in this state provably holds no recording, baseline or session
20
- * anybody could lose. When it does shut down, the MCP proxy reconnects and `ensureDaemon` spawns a
21
- * fresh one on the next call, which is a path already exercised hundreds of times a day.
22
- */
23
- /** Set the first time any tool is dispatched through runTool — the chokepoint every path shares. */
24
- let servedToolCall = false;
25
- export function noteToolCall() {
26
- servedToolCall = true;
27
- }
28
- export function everServedToolCall() {
29
- return servedToolCall;
30
- }
31
- /** Tests only. */
32
- export function resetDaemonUsefulness() {
33
- servedToolCall = false;
34
- }
35
- /**
36
- * True when the daemon has done nothing for anyone and has nothing to lose by exiting.
37
- *
38
- * Every clause is a LIFETIME fact. "No tool call in the last five minutes" would fire on a thinking
39
- * pause; "no tool call ever" cannot.
40
- */
41
- export function isUselessDaemon(facts) {
42
- return !facts.servedToolCall && !facts.everConnected && 0 === facts.activeLeases;
43
- }
44
- /**
45
- * The daemon's whole "is anything happening" question.
46
- *
47
- * Two ways to be idle. The original — nobody attached, nothing connected. And the one that was
48
- * missing: an agent IS attached but this daemon has never served a tool call and no browser has ever
49
- * connected to it. `agentConnected` stays true for an entire editor session, so without the second
50
- * clause the shutdown watcher could never fire on the 74% of daemons that spawn in a directory with
51
- * no app and sit there for half an hour.
52
- */
53
- export function buildIdlePredicate(agentConnected, sessions, pool) {
54
- return () => (!agentConnected() ||
55
- isUselessDaemon({
56
- servedToolCall: everServedToolCall(),
57
- everConnected: sessions.everConnected(),
58
- activeLeases: pool.activeCount(),
59
- })) &&
60
- 0 === sessions.count() &&
61
- 0 === pool.activeCount();
62
- }
@@ -1,95 +0,0 @@
1
- /** Env override for the whole state directory — see ReticleEnv.STATE_DIR. */
2
- export declare const STATE_DIR_ENV: "RETICLE_STATE_DIR";
3
- /**
4
- * Where the daemon keeps pidfiles, the discovery registry and its logs.
5
- *
6
- * `~/.reticle` unless overridden. The override exists because a read-only $HOME is not hypothetical
7
- * — a sandboxed agent or a locked-down Windows profile cannot write there, and until now that meant
8
- * the daemon could not start at all. Read per call rather than captured at import, so a test (and a
9
- * wrapper that sets it late) sees the current value.
10
- */
11
- export declare function reticleStateHome(): string;
12
- export declare function logPath(port: number): string;
13
- /**
14
- * How large a daemon log may get before it is rolled over to `<name>.1`.
15
- *
16
- * It was unbounded. A real dev machine reached **24MB** on one port, which is not merely untidy: it
17
- * is the difference between a log somebody opens and a log somebody gives up on, and it is disk that
18
- * nothing ever reclaims. One previous generation is kept, because the question people bring to this
19
- * file ("what happened just now?") is answered by the current one and the question they bring next
20
- * ("and just before that?") is answered by the other.
21
- */
22
- export declare const MAX_DAEMON_LOG_BYTES: number;
23
- /**
24
- * Roll the log over if it has grown past the cap. Best-effort: a daemon must still start when the
25
- * log cannot be rotated, because failing to launch over housekeeping is strictly worse than a large
26
- * file.
27
- */
28
- export declare function rotateDaemonLog(path: string, deps: {
29
- fileSize(p: string): number;
30
- renameFile(from: string, to: string): void;
31
- }, max?: number): boolean;
32
- export declare function readPid(port: number, home?: string): number | null;
33
- export declare function isAlive(pid: number): boolean;
34
- export declare function writePid(port: number): void;
35
- /**
36
- * Pure decision: may `expectedPid` remove a pidfile owned by `owner` (alive = is that owner running)?
37
- * Yes when we own it, it's empty, or its daemon is dead — never when a LIVE sibling owns it. This is
38
- * the orphan-race guard: a losing childB (EADDRINUSE) must not delete the winning childA's live pidfile.
39
- */
40
- export declare function shouldRemovePid(owner: number | null, expectedPid: number, alive: boolean): boolean;
41
- export declare function removePid(port: number, expectedPid?: number): void;
42
- /**
43
- * Publish this daemon to the discovery registry so a build-time plugin can find it by projectId. Called
44
- * from the daemon CHILD on ready (only it knows its cwd/projectId). Best-effort: a write failure must
45
- * never fail daemon startup — discovery just falls back to the default port.
46
- */
47
- export declare function writeDaemonRegistry(port: number, meta: {
48
- pid: number;
49
- cwd: string;
50
- projectId?: string;
51
- startedAt: number;
52
- }): void;
53
- export declare function isRunning(port: number): boolean;
54
- /**
55
- * Find the port of a live reticle daemon by scanning ~/.reticle/daemon-<port>.pid files — so `reticle open`
56
- * can "find the port" itself instead of making the user reconcile it. Returns the first live one
57
- * (lowest port, deterministic), or null when none is running.
58
- */
59
- export declare function discoverDaemonPort(): number | null;
60
- /**
61
- * Sweep ~/.reticle for daemon-<port>.pid files whose process is no longer alive and delete them, so a
62
- * crashed daemon never leaves a stale pidfile that confuses discovery or makes a port look "taken".
63
- * Returns the ports reclaimed. `home` and `pidAlive` are injectable for testing (default to the real
64
- * ~/.reticle and the process.kill(pid,0) liveness probe).
65
- */
66
- export declare function reclaimStaleDaemons(home?: string, pidAlive?: (pid: number) => boolean): number[];
67
- /** The minimal shape of a spawned child that spawnDaemon uses. */
68
- export interface SpawnedChild {
69
- readonly pid?: number | undefined;
70
- on(event: string, handler: (...args: unknown[]) => void): unknown;
71
- unref(): void;
72
- }
73
- /** Injectable deps for spawnDaemon — the testability seam. Defaults to the real implementations. */
74
- export interface SpawnDaemonDeps {
75
- readonly home: string;
76
- openFile(path: string, flags: string): number;
77
- closeFile(fd: number): void;
78
- /** Size in bytes, or 0 when the file does not exist yet. */
79
- fileSize(path: string): number;
80
- renameFile(from: string, to: string): void;
81
- spawnChild(command: string, args: readonly string[], options: {
82
- detached: boolean;
83
- stdio: readonly ('ignore' | number)[];
84
- }): SpawnedChild;
85
- pidAlive(pid: number): boolean;
86
- }
87
- /**
88
- * Spawn the reticle daemon as a detached background process, redirecting output to the log file.
89
- * Writes the PID file from the parent before returning so callers can call isRunning
90
- * immediately without a race window.
91
- *
92
- * `deps` is injectable for testing (default: real fs/spawn against ~/.reticle). The same seam
93
- * pattern as reclaimStaleDaemons(home, pidAlive).
94
- */
95
- export declare function spawnDaemon(nodeExec: string, scriptPath: string, args: string[], port: number, deps?: SpawnDaemonDeps): boolean;
@@ -1,336 +0,0 @@
1
- import { join } from 'node:path';
2
- import { homedir } from 'node:os';
3
- import { mkdirSync, readFileSync, writeFileSync, existsSync, unlinkSync, openSync, closeSync, readdirSync, statSync, renameSync, writeSync, } from 'node:fs';
4
- import { spawn } from 'node:child_process';
5
- import { daemonRegistryFileName, ReticleEnv } from '@reticlehq/core';
6
- import { log } from '../log.js';
7
- import { uncleanPredecessor } from './unclean-predecessor.js';
8
- /** Env override for the whole state directory — see ReticleEnv.STATE_DIR. */
9
- export const STATE_DIR_ENV = ReticleEnv.STATE_DIR;
10
- /**
11
- * Where the daemon keeps pidfiles, the discovery registry and its logs.
12
- *
13
- * `~/.reticle` unless overridden. The override exists because a read-only $HOME is not hypothetical
14
- * — a sandboxed agent or a locked-down Windows profile cannot write there, and until now that meant
15
- * the daemon could not start at all. Read per call rather than captured at import, so a test (and a
16
- * wrapper that sets it late) sees the current value.
17
- */
18
- export function reticleStateHome() {
19
- const override = process.env[STATE_DIR_ENV];
20
- if (override !== undefined && override.length > 0)
21
- return override;
22
- return join(homedir(), '.reticle');
23
- }
24
- function pidPath(port, home = reticleStateHome()) {
25
- return join(home, `daemon-${port}.pid`);
26
- }
27
- function registryPath(port) {
28
- return join(reticleStateHome(), daemonRegistryFileName(port));
29
- }
30
- export function logPath(port) {
31
- return join(reticleStateHome(), `daemon-${port}.log`);
32
- }
33
- /**
34
- * How large a daemon log may get before it is rolled over to `<name>.1`.
35
- *
36
- * It was unbounded. A real dev machine reached **24MB** on one port, which is not merely untidy: it
37
- * is the difference between a log somebody opens and a log somebody gives up on, and it is disk that
38
- * nothing ever reclaims. One previous generation is kept, because the question people bring to this
39
- * file ("what happened just now?") is answered by the current one and the question they bring next
40
- * ("and just before that?") is answered by the other.
41
- */
42
- export const MAX_DAEMON_LOG_BYTES = 8 * 1024 * 1024;
43
- /**
44
- * Roll the log over if it has grown past the cap. Best-effort: a daemon must still start when the
45
- * log cannot be rotated, because failing to launch over housekeeping is strictly worse than a large
46
- * file.
47
- */
48
- export function rotateDaemonLog(path, deps, max = MAX_DAEMON_LOG_BYTES) {
49
- try {
50
- if (max >= deps.fileSize(path))
51
- return false;
52
- deps.renameFile(path, `${path}.1`);
53
- return true;
54
- }
55
- catch {
56
- return false;
57
- }
58
- }
59
- export function readPid(port, home = reticleStateHome()) {
60
- const path = pidPath(port, home);
61
- if (!existsSync(path))
62
- return null;
63
- const n = parseInt(readFileSync(path, 'utf8').trim(), 10);
64
- return isNaN(n) ? null : n;
65
- }
66
- export function isAlive(pid) {
67
- try {
68
- process.kill(pid, 0);
69
- return true;
70
- }
71
- catch {
72
- return false;
73
- }
74
- }
75
- export function writePid(port) {
76
- mkdirSync(reticleStateHome(), { recursive: true });
77
- writeFileSync(pidPath(port), String(process.pid), 'utf8');
78
- }
79
- /**
80
- * Pure decision: may `expectedPid` remove a pidfile owned by `owner` (alive = is that owner running)?
81
- * Yes when we own it, it's empty, or its daemon is dead — never when a LIVE sibling owns it. This is
82
- * the orphan-race guard: a losing childB (EADDRINUSE) must not delete the winning childA's live pidfile.
83
- */
84
- export function shouldRemovePid(owner, expectedPid, alive) {
85
- return null === owner || owner === expectedPid || !alive;
86
- }
87
- export function removePid(port, expectedPid = process.pid) {
88
- const path = pidPath(port);
89
- if (existsSync(path)) {
90
- const owner = readPid(port);
91
- if (shouldRemovePid(owner, expectedPid, owner !== null && isAlive(owner)))
92
- unlinkSync(path);
93
- }
94
- // The discovery registry entry shares this daemon's lifetime — clean both so a dead daemon never
95
- // lingers in discovery. Keyed by port, so this is safe from the parent (stop) or the child (shutdown).
96
- removeDaemonRegistry(port);
97
- }
98
- /**
99
- * Publish this daemon to the discovery registry so a build-time plugin can find it by projectId. Called
100
- * from the daemon CHILD on ready (only it knows its cwd/projectId). Best-effort: a write failure must
101
- * never fail daemon startup — discovery just falls back to the default port.
102
- */
103
- export function writeDaemonRegistry(port, meta) {
104
- const entry = {
105
- port,
106
- pid: meta.pid,
107
- cwd: meta.cwd,
108
- startedAt: meta.startedAt,
109
- ...(meta.projectId !== undefined ? { projectId: meta.projectId } : {}),
110
- };
111
- try {
112
- mkdirSync(reticleStateHome(), { recursive: true });
113
- writeFileSync(registryPath(port), JSON.stringify(entry), 'utf8');
114
- }
115
- catch {
116
- // discovery is a convenience — never block startup on it
117
- }
118
- }
119
- function removeDaemonRegistry(port) {
120
- const path = registryPath(port);
121
- try {
122
- if (existsSync(path))
123
- unlinkSync(path);
124
- }
125
- catch {
126
- // racing another cleaner — already gone
127
- }
128
- }
129
- export function isRunning(port) {
130
- const pid = readPid(port);
131
- return pid !== null && isAlive(pid);
132
- }
133
- /**
134
- * Find the port of a live reticle daemon by scanning ~/.reticle/daemon-<port>.pid files — so `reticle open`
135
- * can "find the port" itself instead of making the user reconcile it. Returns the first live one
136
- * (lowest port, deterministic), or null when none is running.
137
- */
138
- export function discoverDaemonPort() {
139
- reclaimStaleDaemons(); // sweep crashed daemons' stale pidfiles before scanning for live ones
140
- let found = null;
141
- try {
142
- for (const file of readdirSync(reticleStateHome())) {
143
- const m = /^daemon-(\d+)\.pid$/.exec(file);
144
- if (null === m)
145
- continue;
146
- const port = Number(m[1]);
147
- if (isRunning(port) && (null === found || port < found))
148
- found = port;
149
- }
150
- }
151
- catch {
152
- // no ~/.reticle yet → nothing running
153
- }
154
- return found;
155
- }
156
- /**
157
- * Sweep ~/.reticle for daemon-<port>.pid files whose process is no longer alive and delete them, so a
158
- * crashed daemon never leaves a stale pidfile that confuses discovery or makes a port look "taken".
159
- * Returns the ports reclaimed. `home` and `pidAlive` are injectable for testing (default to the real
160
- * ~/.reticle and the process.kill(pid,0) liveness probe).
161
- */
162
- export function reclaimStaleDaemons(home = reticleStateHome(), pidAlive = isAlive) {
163
- const reclaimed = [];
164
- let files;
165
- try {
166
- files = readdirSync(home);
167
- }
168
- catch {
169
- return reclaimed; // no ~/.reticle yet → nothing to reclaim
170
- }
171
- for (const file of files) {
172
- const match = /^daemon-(\d+)\.pid$/.exec(file);
173
- if (null === match)
174
- continue;
175
- const path = join(home, file);
176
- let pid = null;
177
- try {
178
- pid = parseInt(readFileSync(path, 'utf8').trim(), 10);
179
- if (isNaN(pid))
180
- pid = null;
181
- }
182
- catch {
183
- pid = null; // unreadable pidfile counts as stale
184
- }
185
- if (null === pid || !pidAlive(pid)) {
186
- try {
187
- unlinkSync(path);
188
- removeDaemonRegistry(Number(match[1])); // drop the sidecar discovery entry too
189
- reclaimed.push(Number(match[1]));
190
- }
191
- catch {
192
- // racing another reclaimer — fine, it's already gone
193
- }
194
- }
195
- }
196
- return reclaimed;
197
- }
198
- function defaultSpawnDaemonDeps() {
199
- return {
200
- home: reticleStateHome(),
201
- openFile: openSync,
202
- closeFile: closeSync,
203
- fileSize: (path) => (existsSync(path) ? statSync(path).size : 0),
204
- renameFile: renameSync,
205
- spawnChild: (command, args, options) => spawn(command, [...args], { detached: options.detached, stdio: [...options.stdio] }),
206
- pidAlive: isAlive,
207
- };
208
- }
209
- /**
210
- * Spawn the reticle daemon as a detached background process, redirecting output to the log file.
211
- * Writes the PID file from the parent before returning so callers can call isRunning
212
- * immediately without a race window.
213
- *
214
- * `deps` is injectable for testing (default: real fs/spawn against ~/.reticle). The same seam
215
- * pattern as reclaimStaleDaemons(home, pidAlive).
216
- */
217
- export function spawnDaemon(nodeExec, scriptPath, args, port, deps = defaultSpawnDaemonDeps()) {
218
- try {
219
- mkdirSync(deps.home, { recursive: true });
220
- }
221
- catch (err) {
222
- // The log-file open below has always been guarded; this was not, so the ONE failure a sandboxed
223
- // agent actually hits — a read-only $HOME — escaped as a raw EACCES naming nothing. Refuse
224
- // loudly, and name the way out.
225
- log('reticle_daemon_state_unwritable', {
226
- home: deps.home,
227
- error: err instanceof Error ? err.message : String(err),
228
- fix: `Reticle could not create its state directory. Set ${STATE_DIR_ENV} to a writable path and retry.`,
229
- });
230
- return false;
231
- }
232
- const pidFilePath = join(deps.home, `daemon-${port}.pid`);
233
- const logFilePath = join(deps.home, `daemon-${port}.log`);
234
- // O_EXCL spawn-lock: only the FIRST racer to create the pidfile spawns. A concurrent second gets
235
- // EEXIST — if a LIVE daemon owns the port it skips (no duplicate detached daemon, no clobbered pid);
236
- // a stale pidfile from a crashed daemon is reclaimed. Returns false when it did not spawn.
237
- /** Set when this start reclaimed a pidfile whose owner is gone — see unclean-predecessor.ts. */
238
- let orphanPid = null;
239
- let lockFd;
240
- try {
241
- lockFd = deps.openFile(pidFilePath, 'wx');
242
- }
243
- catch {
244
- const existing = readPid(port, deps.home);
245
- if (existing !== null && deps.pidAlive(existing))
246
- return false;
247
- // This branch IS the crash detection — its own comment has always said so ("a stale pidfile from
248
- // a crashed daemon is reclaimed"), it just never said it out loud. Captured before the unlink,
249
- // because after it there is no trace left that the previous daemon died at all.
250
- orphanPid = uncleanPredecessor(existing, false, process.pid);
251
- try {
252
- unlinkSync(pidFilePath);
253
- lockFd = deps.openFile(pidFilePath, 'wx');
254
- }
255
- catch {
256
- return false; // lost a concurrent reclaim race
257
- }
258
- }
259
- // Roll the log BEFORE opening the append handle, or the daemon writes into the renamed file
260
- // through an fd that no longer matches any name anyone can find.
261
- rotateDaemonLog(logFilePath, deps);
262
- let logFd;
263
- try {
264
- logFd = deps.openFile(logFilePath, 'a');
265
- }
266
- catch {
267
- // Log path unwritable (permissions, disk full). Clean up the lock so we don't leave a ghost.
268
- deps.closeFile(lockFd);
269
- try {
270
- unlinkSync(pidFilePath);
271
- }
272
- catch {
273
- // racing another reclaimer — fine
274
- }
275
- return false;
276
- }
277
- // Into the daemon log itself, not the parent's stdout: `doctor` points the reader at this file, and
278
- // a death recorded anywhere else is a death they will not find. Written through the fd the child is
279
- // about to inherit, so it lands immediately before that child's first line — exactly where a reader
280
- // comparing two `mcp_daemon_started` entries is already looking.
281
- if (null !== orphanPid) {
282
- try {
283
- writeSync(logFd, `${JSON.stringify({
284
- // Same convention as log(): the clock is read at the I/O boundary, not injected.
285
- t: new Date().toISOString(),
286
- event: 'reticle_daemon_previous_died_unclean',
287
- port,
288
- pid: orphanPid,
289
- })}\n`);
290
- }
291
- catch {
292
- // A log we cannot write is not a reason to refuse to start the daemon.
293
- }
294
- }
295
- let child;
296
- try {
297
- child = deps.spawnChild(nodeExec, [scriptPath, ...args], {
298
- detached: true,
299
- stdio: ['ignore', logFd, logFd],
300
- });
301
- }
302
- catch {
303
- // spawn can throw synchronously on some platforms (e.g. ENOMEM, invalid args).
304
- deps.closeFile(logFd);
305
- deps.closeFile(lockFd);
306
- try {
307
- unlinkSync(pidFilePath);
308
- }
309
- catch {
310
- // racing another reclaimer — fine
311
- }
312
- return false;
313
- }
314
- // The parent's copy of logFd is no longer needed — spawn duplicated it into the child.
315
- deps.closeFile(logFd);
316
- // Suppress the async ENOENT/EACCES that fires when the executable is missing or unexecutable.
317
- // The failure is already detected synchronously via `child.pid === undefined`; without this
318
- // handler the error propagates as an uncaught exception and crashes the parent process.
319
- child.on('error', () => undefined);
320
- if (child.pid === undefined) {
321
- // Spawn failed silently (resource exhaustion, invalid executable on some platforms). The pidfile
322
- // is empty — clean it up so discovery doesn't see a ghost, and report failure honestly.
323
- deps.closeFile(lockFd);
324
- try {
325
- unlinkSync(pidFilePath);
326
- }
327
- catch {
328
- // racing another reclaimer — fine
329
- }
330
- return false;
331
- }
332
- writeFileSync(lockFd, String(child.pid), 'utf8');
333
- deps.closeFile(lockFd);
334
- child.unref();
335
- return true;
336
- }
@@ -1,111 +0,0 @@
1
- /**
2
- * A regular beat, so SILENCE in the daemon log becomes evidence.
3
- *
4
- * `installExitTrace` hooks `'exit'`, which a SIGKILL never fires. So a daemon that is killed —
5
- * crashed, OOM-ed, swept by another project, `kill -9`'d by the recipe in every troubleshooting
6
- * thread — leaves no trace at all, and the last line before its port goes dark is whatever it
7
- * happened to be doing. Worse, a daemon that DID exit logs `code: 0`, so a tidy shutdown and a
8
- * violent death are the same shape to anyone reading the file.
9
- *
10
- * Measured cost of that: a correct SvelteKit install was written up as an install failure, because
11
- * the daemon had died 21 seconds earlier and nothing in the log said so. The fixture was named in the
12
- * report; the daemon was not.
13
- *
14
- * Two halves, and the second is what makes the first worth having:
15
- * - DaemonHeartbeat emits `reticle_daemon_alive` on a fixed cadence, unconditionally.
16
- * - classifyDaemonLife reads a log back and says which way the daemon ended.
17
- *
18
- * A heartbeat nobody interprets is just log volume.
19
- */
20
- /** The event name a beat carries. One `grep` separates liveness from everything else in the file. */
21
- export declare const DAEMON_HEARTBEAT_EVENT = "reticle_daemon_alive";
22
- /**
23
- * How often a live daemon says so.
24
- *
25
- * The median daemon lives 28 minutes, so at 30s that is ~56 lines — readable, and small against a log
26
- * that already rotates. Shorter would make the gap sharper and the file noisier; the gap only needs
27
- * to be legible against a connect window, which is measured in seconds.
28
- */
29
- export declare const DAEMON_HEARTBEAT_MS = 30000;
30
- /**
31
- * The cadence, from the environment. Same shape as `resolveIdleCheckMs`: a bad value falls back
32
- * rather than throwing, and 0 or negative is not a legal cadence — it would spin.
33
- */
34
- export declare function resolveHeartbeatMs(raw: string | undefined): number;
35
- interface HeartbeatFacts {
36
- /** Browser sessions connected right now. */
37
- sessions: number;
38
- /**
39
- * Has this daemon EVER served a tool call? A lifetime fact, not a window count.
40
- *
41
- * It is the difference between a death that cost somebody work and one that cost nothing — the
42
- * same distinction `isUselessDaemon` already draws. A windowed count would reset under the reader
43
- * and make a long-lived daemon look freshly idle.
44
- */
45
- served: boolean;
46
- }
47
- interface DaemonHeartbeatOptions {
48
- log: (event: string, fields: Record<string, unknown>) => void;
49
- /** Read at each beat, never cached — the point is to describe the daemon NOW. */
50
- facts: () => HeartbeatFacts;
51
- intervalMs?: number;
52
- /** Injected, per the repo rule: never call Date.now() inside logic. */
53
- clock?: () => number;
54
- }
55
- export declare class DaemonHeartbeat {
56
- #private;
57
- constructor(opts: DaemonHeartbeatOptions);
58
- /**
59
- * One beat. Exposed so a test can drive it with an injected clock rather than waiting.
60
- *
61
- * Unconditional on purpose. Skipping the beat when nothing happened is the obvious optimisation and
62
- * it destroys the signal: silence would then mean "idle" OR "dead", which is precisely the
63
- * ambiguity this exists to remove.
64
- */
65
- beat(): void;
66
- start(): void;
67
- stop(): void;
68
- }
69
- /** How a daemon's life ended, as far as its own log can say. */
70
- export declare const DaemonEnd: {
71
- /** Still beating within tolerance. */
72
- readonly ALIVE: "alive";
73
- /** Logged its own exit, with no signal before it. */
74
- readonly CLEAN: "clean";
75
- /** A signal arrived — the cause an exit line with `code: 0` does not carry. */
76
- readonly SIGNALLED: "signalled";
77
- /** The beat simply stopped. No exit, no signal: killed, crashed, or swept. */
78
- readonly DIED_SILENTLY: "died_silently";
79
- /** No beat was ever emitted, so this log cannot answer the question. */
80
- readonly UNKNOWN: "unknown";
81
- };
82
- export type DaemonEnd = (typeof DaemonEnd)[keyof typeof DaemonEnd];
83
- /**
84
- * One parsed line of a daemon log. The index signature is not laziness: these lines carry whatever
85
- * their event needed (`code`, `port`, `pid`, `reason`, …), and a reader that refused unknown keys
86
- * would reject the very file it exists to read.
87
- */
88
- interface LogLine {
89
- t: number;
90
- event: string;
91
- signal?: unknown;
92
- everyMs?: unknown;
93
- [field: string]: unknown;
94
- }
95
- export interface DaemonLife {
96
- end: DaemonEnd;
97
- /** When the last beat landed, or undefined if there was never one. */
98
- lastBeatMs?: number;
99
- /** How long the log has been silent, when that is the finding. */
100
- silentForMs?: number;
101
- signal?: string;
102
- }
103
- /**
104
- * Read a daemon log back and say how it ended.
105
- *
106
- * UNKNOWN rather than ALIVE when there is no heartbeat at all — every log written before this
107
- * existed, and any file the reader was pointed at by mistake. Inferring health from the absence of a
108
- * signal we never sent is the same confident-wrong this module replaces.
109
- */
110
- export declare function classifyDaemonLife(lines: readonly LogLine[], nowMs: number): DaemonLife;
111
- export {};