@reticlehq/server 2.14.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1493) hide show
  1. package/SKILL.md +54 -136
  2. package/bin/reticle.js +1 -1
  3. package/dist/command/cli/adhoc-verdict.d.ts +64 -0
  4. package/dist/command/cli/adhoc-verdict.js +144 -0
  5. package/dist/command/cli/answers/status-next-action.d.ts +61 -0
  6. package/dist/command/cli/answers/status-next-action.js +84 -0
  7. package/dist/command/cli/auth/cloud-keystore.js +97 -0
  8. package/dist/command/cli/auth/device-flow.d.ts +76 -0
  9. package/dist/command/cli/auth/device-flow.js +56 -0
  10. package/dist/command/cli/cli-doctor.js +215 -0
  11. package/dist/command/cli/cli-flow-commands.d.ts +47 -0
  12. package/dist/command/cli/cli-flow-commands.js +255 -0
  13. package/dist/command/cli/cli-kill.d.ts +59 -0
  14. package/dist/command/cli/cli-kill.js +162 -0
  15. package/dist/command/cli/cli-parse-grammar.d.ts +29 -0
  16. package/dist/command/cli/cli-parse-grammar.js +39 -0
  17. package/dist/command/cli/cli-parse-verify.d.ts +22 -0
  18. package/dist/command/cli/cli-parse-verify.js +143 -0
  19. package/dist/command/cli/cli-parse.d.ts +193 -0
  20. package/dist/command/cli/cli-parse.js +833 -0
  21. package/dist/command/cli/cli-update-commands.js +112 -0
  22. package/dist/command/cli/cli-verify.d.ts +124 -0
  23. package/dist/command/cli/cli-verify.js +426 -0
  24. package/dist/command/cli/cloud-cli.js +694 -0
  25. package/dist/command/cli/cloud-kit.d.ts +37 -0
  26. package/dist/command/cli/cloud-kit.js +117 -0
  27. package/dist/command/cli/cloud-login.js +183 -0
  28. package/dist/command/cli/config/config-discovery.d.ts +48 -0
  29. package/dist/command/cli/config/config-discovery.js +183 -0
  30. package/dist/command/cli/daemon-start-options.d.ts +33 -0
  31. package/dist/command/cli/demo/demo-page.d.ts +78 -0
  32. package/dist/command/cli/demo/demo-page.js +238 -0
  33. package/dist/command/cli/demo/demo-run.d.ts +38 -0
  34. package/dist/command/cli/demo/demo-run.js +138 -0
  35. package/dist/command/cli/doctor/doctor-daemon-line.js +47 -0
  36. package/dist/command/cli/doctor/doctor-rows.d.ts +75 -0
  37. package/dist/command/cli/doctor/doctor-rows.js +77 -0
  38. package/dist/command/cli/doctor/doctor-sessions-line.js +69 -0
  39. package/dist/command/cli/drive/drive-attach.d.ts +113 -0
  40. package/dist/command/cli/drive/drive-attach.js +221 -0
  41. package/dist/command/cli/drive/drive-command.js +107 -0
  42. package/dist/command/cli/launch/cli-launch.d.ts +100 -0
  43. package/dist/command/cli/launch/cli-launch.js +216 -0
  44. package/dist/command/cli/lifecycle/daemon-lifecycle.d.ts +33 -0
  45. package/dist/command/cli/lifecycle/daemon-lifecycle.js +198 -0
  46. package/dist/command/cli/mcp-command.js +176 -0
  47. package/dist/command/cli/ports/port-holder.js +123 -0
  48. package/dist/command/cli/ports/resolve/cli-port.d.ts +71 -0
  49. package/dist/command/cli/ports/resolve/cli-port.js +140 -0
  50. package/dist/command/cli/setup-mcp-cli.d.ts +29 -0
  51. package/dist/command/cli/setup-mcp-cli.js +107 -0
  52. package/dist/command/cli/status/status-lines.d.ts +28 -0
  53. package/dist/command/cli/status/status-lines.js +117 -0
  54. package/dist/command/cli/status-fields.d.ts +28 -0
  55. package/dist/command/cli/status-fields.js +29 -0
  56. package/dist/command/cli/tutorial.d.ts +116 -0
  57. package/dist/command/cli/tutorial.js +189 -0
  58. package/dist/command/cli-onboarding.d.ts +21 -0
  59. package/dist/command/cli-onboarding.js +27 -0
  60. package/dist/command/cli.d.ts +6 -0
  61. package/dist/command/cli.js +710 -0
  62. package/dist/command/daemon/binding/daemon-status-probe.d.ts +2 -0
  63. package/dist/command/daemon/binding/daemon-status-probe.js +48 -0
  64. package/dist/command/daemon/binding/loopback-reach.d.ts +42 -0
  65. package/dist/command/daemon/binding/loopback-reach.js +63 -0
  66. package/dist/command/daemon/daemon-resilience.d.ts +86 -0
  67. package/dist/command/daemon/daemon-resilience.js +339 -0
  68. package/dist/command/daemon/daemon-resolve.d.ts +113 -0
  69. package/dist/command/daemon/daemon-resolve.js +187 -0
  70. package/dist/command/daemon/daemon.d.ts +86 -0
  71. package/dist/command/daemon/daemon.js +333 -0
  72. package/dist/command/daemon/idle-shutdown.d.ts +54 -0
  73. package/dist/command/daemon/idle-shutdown.js +98 -0
  74. package/dist/command/daemon/lifetime/daemon-usefulness.d.ts +60 -0
  75. package/dist/command/daemon/lifetime/daemon-usefulness.js +61 -0
  76. package/dist/command/daemon/lifetime/heartbeat.d.ts +119 -0
  77. package/dist/command/daemon/lifetime/heartbeat.js +151 -0
  78. package/dist/command/daemon/lifetime/idle-grace.d.ts +32 -0
  79. package/dist/command/daemon/lifetime/idle-grace.js +41 -0
  80. package/dist/command/daemon/lifetime/log-cap.d.ts +68 -0
  81. package/dist/command/daemon/lifetime/log-cap.js +115 -0
  82. package/dist/command/daemon/state-dir.js +59 -0
  83. package/dist/command/daemon/wake-decision.d.ts +32 -0
  84. package/dist/command/daemon/wake-decision.js +38 -0
  85. package/dist/command/dev/stale-issue-guard.d.ts +35 -0
  86. package/dist/command/dev/stale-issue-guard.js +69 -0
  87. package/dist/command/setup/agent-configs.d.ts +111 -0
  88. package/dist/command/setup/agent-configs.js +365 -0
  89. package/dist/command/setup/agent-notice-memory.d.ts +16 -0
  90. package/dist/command/setup/agent-notice-memory.js +65 -0
  91. package/dist/command/setup/agent-writer.d.ts +52 -0
  92. package/dist/command/setup/agent-writer.js +116 -0
  93. package/dist/command/setup/auto-approve.js +153 -0
  94. package/dist/command/setup/bringup/bridge-port.d.ts +15 -0
  95. package/dist/command/setup/bringup/bridge-port.js +24 -0
  96. package/dist/command/setup/bringup/dev-server-wait.d.ts +69 -0
  97. package/dist/command/setup/bringup/dev-server-wait.js +83 -0
  98. package/dist/command/setup/bringup/ensure-daemon.js +58 -0
  99. package/dist/command/setup/init/init-host.js +37 -0
  100. package/dist/command/setup/init/init-runtime.d.ts +39 -0
  101. package/dist/command/setup/init/init-runtime.js +168 -0
  102. package/dist/command/setup/node-effects.d.ts +63 -0
  103. package/dist/command/setup/node-effects.js +225 -0
  104. package/dist/command/setup/probe/page-probe.d.ts +71 -0
  105. package/dist/command/setup/probe/page-probe.js +89 -0
  106. package/dist/command/setup/remaining-steps.js +53 -0
  107. package/dist/command/setup/run-setup.d.ts +123 -0
  108. package/dist/command/setup/run-setup.js +316 -0
  109. package/dist/command/setup/setup-command.d.ts +48 -0
  110. package/dist/command/setup/setup-command.js +224 -0
  111. package/dist/command/setup/setup-install.d.ts +18 -0
  112. package/dist/command/setup/setup-install.js +40 -0
  113. package/dist/command/setup/setup-mcp.d.ts +57 -0
  114. package/dist/command/setup/setup-mcp.js +92 -0
  115. package/dist/command/setup/setup-options.d.ts +66 -0
  116. package/dist/command/setup/setup-options.js +63 -0
  117. package/dist/command/setup/terminal/confirm.js +206 -0
  118. package/dist/command/setup/terminal/crash.d.ts +55 -0
  119. package/dist/command/setup/terminal/crash.js +74 -0
  120. package/dist/command/update/nudge-credit.js +53 -0
  121. package/dist/command/update/sdk-sync.d.ts +20 -0
  122. package/dist/command/update/sdk-sync.js +22 -0
  123. package/dist/command/update/update-checker.js +122 -0
  124. package/dist/command/update/update-nudge.d.ts +90 -0
  125. package/dist/command/update/update-nudge.js +211 -0
  126. package/dist/command/update/updater.d.ts +81 -0
  127. package/dist/command/update/updater.js +223 -0
  128. package/dist/command/version/identity/server-version.js +50 -0
  129. package/dist/command/version/peer-announce.js +32 -0
  130. package/dist/command/version/sdk-fix.js +127 -0
  131. package/dist/command/version/version-nudge.js +61 -0
  132. package/dist/command/version/version-skew.d.ts +113 -0
  133. package/dist/command/version/version-skew.js +192 -0
  134. package/dist/features/crawl/crawl-tools.d.ts +7 -0
  135. package/dist/features/crawl/crawl-tools.js +89 -0
  136. package/dist/features/crawl/crawl.d.ts +98 -0
  137. package/dist/features/crawl/crawl.js +444 -0
  138. package/dist/features/ee/audit-log.js +11 -0
  139. package/dist/features/harness/drive-report.d.ts +73 -0
  140. package/dist/features/harness/drive-report.js +196 -0
  141. package/dist/features/harness/driver.d.ts +50 -0
  142. package/dist/features/harness/driver.js +239 -0
  143. package/dist/features/harness/drivers.d.ts +19 -0
  144. package/dist/features/harness/drivers.js +19 -0
  145. package/dist/features/harness/fill-values.d.ts +67 -0
  146. package/dist/features/harness/fill-values.js +153 -0
  147. package/dist/features/harness/harness.d.ts +159 -0
  148. package/dist/features/harness/harness.js +203 -0
  149. package/dist/features/harness/jev-driver.d.ts +188 -0
  150. package/dist/features/harness/jev-driver.js +664 -0
  151. package/dist/features/harness/openai-driver.d.ts +46 -0
  152. package/dist/features/harness/openai-driver.js +197 -0
  153. package/dist/features/harness/platform-config.d.ts +52 -0
  154. package/dist/features/harness/platform-config.js +89 -0
  155. package/dist/features/harness/with-timeout.d.ts +18 -0
  156. package/dist/features/harness/with-timeout.js +34 -0
  157. package/dist/features/license/license-env.d.ts +24 -0
  158. package/dist/features/license/license-env.js +140 -0
  159. package/dist/features/license/license.d.ts +161 -0
  160. package/dist/features/license/license.js +287 -0
  161. package/dist/features/visual/visual-store.d.ts +22 -0
  162. package/dist/features/visual/visual-store.js +66 -0
  163. package/dist/features/visual/visual-tools.d.ts +26 -0
  164. package/dist/features/visual/visual-tools.js +352 -0
  165. package/dist/hooks/hook-bus.d.ts +53 -0
  166. package/dist/hooks/hook-bus.js +106 -0
  167. package/dist/hooks/hook-commands.d.ts +59 -0
  168. package/dist/hooks/hook-commands.js +184 -0
  169. package/dist/hooks/hook-emit.d.ts +44 -0
  170. package/dist/hooks/hook-emit.js +85 -0
  171. package/dist/import-graph.d.ts +48 -0
  172. package/dist/import-graph.js +106 -0
  173. package/dist/index.d.ts +91 -125
  174. package/dist/index.js +250 -160
  175. package/dist/judgement/capsule/capsule-store.d.ts +70 -0
  176. package/dist/judgement/capsule/capsule-store.js +113 -0
  177. package/dist/judgement/capsule/capsule.d.ts +42 -0
  178. package/dist/judgement/capsule/capsule.js +73 -0
  179. package/dist/judgement/capsule/causal-summary.d.ts +119 -0
  180. package/dist/judgement/capsule/causal-summary.js +172 -0
  181. package/dist/judgement/capsule/divergence.d.ts +26 -0
  182. package/dist/judgement/domain/domain-model.js +126 -0
  183. package/dist/judgement/domain/domain-tools.d.ts +2 -0
  184. package/dist/judgement/domain/domain-tools.js +96 -0
  185. package/dist/judgement/domain/flow-risk.js +80 -0
  186. package/dist/judgement/oracles/propose-consequences.d.ts +22 -0
  187. package/dist/judgement/oracles/propose-consequences.js +106 -0
  188. package/dist/judgement/outcome/predicate-to-expect.d.ts +44 -0
  189. package/dist/judgement/outcome/predicate-to-expect.js +148 -0
  190. package/dist/judgement/runs/artifact/build-verification-run.d.ts +34 -0
  191. package/dist/judgement/runs/artifact/build-verification-run.js +83 -0
  192. package/dist/judgement/runs/artifact/render-report.js +84 -0
  193. package/dist/judgement/runs/artifact/replay-mapping.js +34 -0
  194. package/dist/judgement/runs/artifact/run-store.d.ts +54 -0
  195. package/dist/judgement/runs/artifact/run-store.js +150 -0
  196. package/dist/judgement/runs/artifact/to-artifact.d.ts +119 -0
  197. package/dist/judgement/runs/artifact/to-artifact.js +83 -0
  198. package/dist/judgement/runs/context-tools.d.ts +2 -0
  199. package/dist/judgement/runs/context-tools.js +70 -0
  200. package/dist/judgement/runs/default-run-id.d.ts +8 -0
  201. package/dist/judgement/runs/default-run-id.js +11 -0
  202. package/dist/judgement/runs/drive-run.d.ts +61 -0
  203. package/dist/judgement/runs/drive-run.js +130 -0
  204. package/dist/judgement/runs/late-answer.d.ts +55 -0
  205. package/dist/judgement/runs/late-answer.js +81 -0
  206. package/dist/judgement/runs/reticle-runner.d.ts +60 -0
  207. package/dist/judgement/runs/reticle-runner.js +95 -0
  208. package/dist/judgement/runs/run-tools.d.ts +17 -0
  209. package/dist/judgement/runs/run-tools.js +97 -0
  210. package/dist/judgement/runs/runner-port.d.ts +11 -0
  211. package/dist/judgement/runs/runner-port.js +18 -0
  212. package/dist/judgement/runs/verification-sync.d.ts +13 -0
  213. package/dist/judgement/runs/verification-sync.js +93 -0
  214. package/dist/language/flows/affected-tools.d.ts +18 -0
  215. package/dist/language/flows/affected-tools.js +83 -0
  216. package/dist/language/flows/annotate-tools.d.ts +15 -0
  217. package/dist/language/flows/annotate-tools.js +179 -0
  218. package/dist/language/flows/change/affected.d.ts +24 -0
  219. package/dist/language/flows/change/affected.js +35 -0
  220. package/dist/language/flows/change/flow-sources.d.ts +19 -0
  221. package/dist/language/flows/change/flow-sources.js +55 -0
  222. package/dist/language/flows/change/gate.js +33 -0
  223. package/dist/language/flows/decision.d.ts +45 -0
  224. package/dist/language/flows/decision.js +371 -0
  225. package/dist/language/flows/empty-flow.js +24 -0
  226. package/dist/language/flows/fields/flow-secret-field.d.ts +53 -0
  227. package/dist/language/flows/fields/flow-secret-field.js +75 -0
  228. package/dist/language/flows/fields/flow-upload-resolve.d.ts +23 -0
  229. package/dist/language/flows/fields/flow-upload-resolve.js +46 -0
  230. package/dist/language/flows/flow-anchor.d.ts +59 -0
  231. package/dist/language/flows/flow-anchor.js +240 -0
  232. package/dist/language/flows/flow-classify.d.ts +73 -0
  233. package/dist/language/flows/flow-classify.js +146 -0
  234. package/dist/language/flows/flow-expect-grammar.d.ts +33 -0
  235. package/dist/language/flows/flow-expect-grammar.js +155 -0
  236. package/dist/language/flows/flow-intent.d.ts +52 -0
  237. package/dist/language/flows/flow-intent.js +123 -0
  238. package/dist/language/flows/flow-learning.d.ts +52 -0
  239. package/dist/language/flows/flow-learning.js +76 -0
  240. package/dist/language/flows/flow-mutate-tools.d.ts +14 -0
  241. package/dist/language/flows/flow-mutate-tools.js +82 -0
  242. package/dist/language/flows/flow-replay-run.d.ts +91 -0
  243. package/dist/language/flows/flow-replay-run.js +748 -0
  244. package/dist/language/flows/flow-replay-types.d.ts +37 -0
  245. package/dist/language/flows/flow-replay-types.js +1 -0
  246. package/dist/language/flows/flow-replay.d.ts +91 -0
  247. package/dist/language/flows/flow-replay.js +487 -0
  248. package/dist/language/flows/flow-result.d.ts +35 -0
  249. package/dist/language/flows/flow-result.js +26 -0
  250. package/dist/language/flows/flow-step-runners.d.ts +54 -0
  251. package/dist/language/flows/flow-step-runners.js +369 -0
  252. package/dist/language/flows/flow-store-for-session.d.ts +32 -0
  253. package/dist/language/flows/flow-success.d.ts +32 -0
  254. package/dist/language/flows/flow-success.js +181 -0
  255. package/dist/language/flows/flow-tools.d.ts +15 -0
  256. package/dist/language/flows/flow-tools.js +842 -0
  257. package/dist/language/flows/flows.d.ts +114 -0
  258. package/dist/language/flows/flows.js +492 -0
  259. package/dist/language/flows/heal-precondition.d.ts +28 -0
  260. package/dist/language/flows/heal-precondition.js +38 -0
  261. package/dist/language/flows/heal-run.d.ts +17 -0
  262. package/dist/language/flows/heal-run.js +186 -0
  263. package/dist/language/flows/heal.js +97 -0
  264. package/dist/language/flows/mutation-run.d.ts +33 -0
  265. package/dist/language/flows/mutation-run.js +60 -0
  266. package/dist/language/flows/narrow-write.d.ts +32 -0
  267. package/dist/language/flows/narrow-write.js +26 -0
  268. package/dist/language/flows/recording/flake.d.ts +56 -0
  269. package/dist/language/flows/recording/recording-backtrack.js +73 -0
  270. package/dist/language/flows/recording/tape/recordings.d.ts +134 -0
  271. package/dist/language/flows/recording/tape/recordings.js +144 -0
  272. package/dist/language/flows/replay.d.ts +83 -0
  273. package/dist/language/flows/replay.js +397 -0
  274. package/dist/language/flows/role-anchor-nearest.js +45 -0
  275. package/dist/language/flows/stores/assertion-tiers-store.d.ts +26 -0
  276. package/dist/language/flows/stores/assertion-tiers-store.js +107 -0
  277. package/dist/language/flows/stores/flake-store.d.ts +18 -0
  278. package/dist/language/flows/stores/flake-store.js +58 -0
  279. package/dist/language/flows/suite/server-verify.d.ts +15 -0
  280. package/dist/language/flows/suite/server-verify.js +56 -0
  281. package/dist/language/flows/suite/suite-flakes.d.ts +34 -0
  282. package/dist/language/flows/suite/suite-flakes.js +32 -0
  283. package/dist/language/flows/suite-selection.d.ts +45 -0
  284. package/dist/language/flows/suite-selection.js +84 -0
  285. package/dist/language/flows/verify-change-tools.d.ts +2 -0
  286. package/dist/language/flows/verify-change-tools.js +244 -0
  287. package/dist/machine/clock.d.ts +24 -0
  288. package/dist/machine/clock.js +1 -0
  289. package/dist/machine/repo-root.d.ts +16 -0
  290. package/dist/machine/repo-root.js +20 -0
  291. package/dist/memory/cloud/account-state.d.ts +20 -0
  292. package/dist/memory/cloud/account-state.js +70 -0
  293. package/dist/memory/cloud/cloud-config.d.ts +79 -0
  294. package/dist/memory/cloud/cloud-config.js +156 -0
  295. package/dist/memory/cloud/cloud-sync.d.ts +195 -0
  296. package/dist/memory/cloud/cloud-sync.js +359 -0
  297. package/dist/memory/cloud/harness-config.d.ts +10 -0
  298. package/dist/memory/cloud/harness-config.js +58 -0
  299. package/dist/memory/cloud/harness-offer.d.ts +44 -0
  300. package/dist/memory/cloud/harness-offer.js +146 -0
  301. package/dist/memory/cloud/harness-switch.d.ts +11 -0
  302. package/dist/memory/cloud/harness-switch.js +53 -0
  303. package/dist/memory/cloud/sync-cycle.d.ts +121 -0
  304. package/dist/memory/cloud/sync-cycle.js +295 -0
  305. package/dist/memory/cloud/sync-daemon.d.ts +73 -0
  306. package/dist/memory/cloud/sync-daemon.js +297 -0
  307. package/dist/memory/cloud/sync-disk.js +193 -0
  308. package/dist/memory/impact/impact-recorder.d.ts +54 -0
  309. package/dist/memory/impact/impact-recorder.js +160 -0
  310. package/dist/memory/impact/impact-store.d.ts +52 -0
  311. package/dist/memory/impact/impact-store.js +274 -0
  312. package/dist/memory/intent/inline-intent.d.ts +60 -0
  313. package/dist/memory/intent/inline-intent.js +206 -0
  314. package/dist/memory/intent/intent-shard-store.d.ts +87 -0
  315. package/dist/memory/intent/intent-shard-store.js +215 -0
  316. package/dist/memory/intent/intent-shard.d.ts +389 -0
  317. package/dist/memory/intent/intent-shard.js +153 -0
  318. package/dist/memory/intent/intent-store.d.ts +47 -0
  319. package/dist/memory/intent/intent-store.js +133 -0
  320. package/dist/memory/intent/intent-subject.d.ts +46 -0
  321. package/dist/memory/intent/intent-subject.js +175 -0
  322. package/dist/memory/intent/intent-tools.d.ts +2 -0
  323. package/dist/memory/intent/intent-tools.js +157 -0
  324. package/dist/memory/intent/open-intents.d.ts +36 -0
  325. package/dist/memory/intent/open-intents.js +58 -0
  326. package/dist/memory/journal/ambient-store.d.ts +13 -0
  327. package/dist/memory/journal/ambient-store.js +52 -0
  328. package/dist/memory/journal/attach-journal.d.ts +37 -0
  329. package/dist/memory/journal/attach-journal.js +26 -0
  330. package/dist/memory/journal/drive-flow.d.ts +74 -0
  331. package/dist/memory/journal/drive-flow.js +157 -0
  332. package/dist/memory/journal/drive-run-flush.d.ts +42 -0
  333. package/dist/memory/journal/drive-run-flush.js +82 -0
  334. package/dist/memory/journal/envelope-store.d.ts +16 -0
  335. package/dist/memory/journal/envelope-store.js +61 -0
  336. package/dist/memory/journal/envelope.d.ts +230 -0
  337. package/dist/memory/journal/journal-query.d.ts +66 -0
  338. package/dist/memory/journal/journal-query.js +98 -0
  339. package/dist/memory/journal/journal-recorder.d.ts +109 -0
  340. package/dist/memory/journal/journal-recorder.js +153 -0
  341. package/dist/memory/journal/on-disk/ambient-file.d.ts +21 -0
  342. package/dist/memory/journal/on-disk/ambient-file.js +15 -0
  343. package/dist/memory/journal/on-disk/retention.d.ts +141 -0
  344. package/dist/memory/journal/on-disk/retention.js +291 -0
  345. package/dist/memory/journal/on-disk/workspace-gitignore.d.ts +21 -0
  346. package/dist/memory/journal/on-disk/workspace-gitignore.js +93 -0
  347. package/dist/memory/journal/self-observation.d.ts +3 -0
  348. package/dist/memory/journal/self-observation.js +67 -0
  349. package/dist/memory/journal/session-end.d.ts +112 -0
  350. package/dist/memory/journal/session-end.js +179 -0
  351. package/dist/memory/journal/session-journal.d.ts +134 -0
  352. package/dist/memory/journal/session-journal.js +614 -0
  353. package/dist/memory/project/artifact-root-resolver.d.ts +3 -0
  354. package/dist/memory/project/artifact-root-resolver.js +89 -0
  355. package/dist/memory/project/artifact-root.d.ts +109 -0
  356. package/dist/memory/project/artifact-root.js +157 -0
  357. package/dist/memory/project/dir/fill-value-store.d.ts +32 -0
  358. package/dist/memory/project/dir/fill-value-store.js +88 -0
  359. package/dist/memory/project/dir/reticle-dir.d.ts +139 -0
  360. package/dist/memory/project/dir/reticle-dir.js +229 -0
  361. package/dist/memory/project/fs/fs-port.d.ts +68 -0
  362. package/dist/memory/project/fs/fs-port.js +82 -0
  363. package/dist/memory/project/learned-routes.d.ts +38 -0
  364. package/dist/memory/project/learned-routes.js +79 -0
  365. package/dist/memory/project/memory-fs.d.ts +10 -0
  366. package/dist/memory/project/project-for-root.d.ts +30 -0
  367. package/dist/memory/project/project-for-root.js +43 -0
  368. package/dist/memory/project/project-store.d.ts +54 -0
  369. package/dist/memory/project/project-store.js +244 -0
  370. package/dist/memory/project/project-tools.d.ts +8 -0
  371. package/dist/memory/project/project-tools.js +160 -0
  372. package/dist/memory/project/reticle-deps.d.ts +15 -0
  373. package/dist/memory/project/reticle-deps.js +33 -0
  374. package/dist/memory/project/session-root.d.ts +52 -0
  375. package/dist/memory/project/session-root.js +100 -0
  376. package/dist/memory/recall/memory-tools.d.ts +2 -0
  377. package/dist/memory/recall/memory-tools.js +81 -0
  378. package/dist/memory/recall/prior/connection-memory.d.ts +65 -0
  379. package/dist/memory/recall/prior/connection-memory.js +114 -0
  380. package/dist/memory/recall/project-memory.d.ts +33 -0
  381. package/dist/portal/bridge/auth-failure-reason.d.ts +32 -0
  382. package/dist/portal/bridge/auth-failure-reason.js +68 -0
  383. package/dist/portal/bridge/bridge-security.d.ts +30 -0
  384. package/dist/portal/bridge/bridge-security.js +53 -0
  385. package/dist/portal/bridge/bridge.d.ts +109 -0
  386. package/dist/portal/bridge/bridge.js +808 -0
  387. package/dist/portal/input/drive-url-stamp.d.ts +14 -0
  388. package/dist/portal/input/drive-url-stamp.js +33 -0
  389. package/dist/portal/input/network-detail.d.ts +97 -0
  390. package/dist/portal/input/network-detail.js +138 -0
  391. package/dist/portal/input/network-mock-tools.d.ts +21 -0
  392. package/dist/portal/input/network-mock-tools.js +124 -0
  393. package/dist/portal/input/network-mock.js +83 -0
  394. package/dist/portal/input/network-mutation.d.ts +47 -0
  395. package/dist/portal/input/network-mutation.js +53 -0
  396. package/dist/portal/input/real-input.d.ts +261 -0
  397. package/dist/portal/input/real-input.js +488 -0
  398. package/dist/portal/input/scroll-find.js +111 -0
  399. package/dist/portal/input/scroll-tools.d.ts +2 -0
  400. package/dist/portal/input/scroll-tools.js +76 -0
  401. package/dist/portal/input/storage-fixture.d.ts +57 -0
  402. package/dist/portal/input/storage-fixture.js +92 -0
  403. package/dist/portal/input/viewport-tools.d.ts +2 -0
  404. package/dist/portal/input/viewport-tools.js +72 -0
  405. package/dist/portal/pool/browser-pool.d.ts +174 -0
  406. package/dist/portal/pool/browser-pool.js +559 -0
  407. package/dist/portal/pool/lease-reaper.js +40 -0
  408. package/dist/portal/pool/playwright-launcher.js +150 -0
  409. package/dist/portal/pool/pool-contract.d.ts +116 -0
  410. package/dist/portal/pool/pool-contract.js +8 -0
  411. package/dist/portal/pool/storage-seed.d.ts +23 -0
  412. package/dist/portal/realm/conformance-client.d.ts +43 -0
  413. package/dist/portal/realm/conformance-client.js +227 -0
  414. package/dist/portal/realm/http-witness.d.ts +48 -0
  415. package/dist/portal/realm/http-witness.js +135 -0
  416. package/dist/portal/realm/web-realm.d.ts +225 -0
  417. package/dist/portal/realm/web-realm.js +661 -0
  418. package/dist/portal/session/daemon-answers.d.ts +20 -0
  419. package/dist/portal/session/daemon-answers.js +20 -0
  420. package/dist/portal/session/dev-server/dev-server-probe.js +147 -0
  421. package/dist/portal/session/facts/handshake-facts.d.ts +56 -0
  422. package/dist/portal/session/facts/handshake-facts.js +1 -0
  423. package/dist/portal/session/facts/observed-state.d.ts +60 -0
  424. package/dist/portal/session/facts/observed-state.js +121 -0
  425. package/dist/portal/session/facts/session-replaced.d.ts +43 -0
  426. package/dist/portal/session/facts/session-replaced.js +51 -0
  427. package/dist/portal/session/live-control-tools.d.ts +15 -0
  428. package/dist/portal/session/live-control-tools.js +242 -0
  429. package/dist/portal/session/no-session-diagnosis.d.ts +176 -0
  430. package/dist/portal/session/no-session-diagnosis.js +457 -0
  431. package/dist/portal/session/no-session-next-action.d.ts +76 -0
  432. package/dist/portal/session/no-session-next-action.js +211 -0
  433. package/dist/portal/session/no-session-watch.js +351 -0
  434. package/dist/portal/session/output-budget.d.ts +82 -0
  435. package/dist/portal/session/output-budget.js +108 -0
  436. package/dist/portal/session/page-commands/undeclared-command.d.ts +30 -0
  437. package/dist/portal/session/page-commands/undeclared-command.js +44 -0
  438. package/dist/portal/session/presence/session-recommendation.js +29 -0
  439. package/dist/portal/session/rebind.d.ts +18 -0
  440. package/dist/portal/session/rebind.js +38 -0
  441. package/dist/portal/session/session-health.d.ts +145 -0
  442. package/dist/portal/session/session-health.js +154 -0
  443. package/dist/portal/session/session-manager.d.ts +81 -0
  444. package/dist/portal/session/session-manager.js +504 -0
  445. package/dist/portal/session/session-reaper.d.ts +36 -0
  446. package/dist/portal/session/session-reaper.js +93 -0
  447. package/dist/portal/session/session-tools.d.ts +8 -0
  448. package/dist/portal/session/session-tools.js +42 -0
  449. package/dist/portal/session/session.d.ts +279 -0
  450. package/dist/portal/session/session.js +875 -0
  451. package/dist/portal/session/stall-clock.js +48 -0
  452. package/dist/portal/session/timing/command-timeout.d.ts +40 -0
  453. package/dist/portal/session/timing/command-timeout.js +42 -0
  454. package/dist/start-options.d.ts +51 -0
  455. package/dist/start-options.js +7 -0
  456. package/dist/status-payload.d.ts +16 -10
  457. package/dist/status-payload.js +5 -2
  458. package/dist/surface/http-server.d.ts +52 -0
  459. package/dist/surface/http-server.js +379 -0
  460. package/dist/surface/mcp/consumer-verdict-guard.d.ts +40 -0
  461. package/dist/surface/mcp/consumer-verdict-guard.js +57 -0
  462. package/dist/surface/mcp/faults/mcp-is-error.d.ts +13 -0
  463. package/dist/surface/mcp/faults/mcp-is-error.js +18 -0
  464. package/dist/surface/mcp/faults/mcp-outage.d.ts +33 -0
  465. package/dist/surface/mcp/faults/mcp-outage.js +71 -0
  466. package/dist/surface/mcp/mcp-proxy.d.ts +119 -0
  467. package/dist/surface/mcp/mcp-proxy.js +882 -0
  468. package/dist/surface/mcp/mcp.d.ts +89 -0
  469. package/dist/surface/mcp/mcp.js +676 -0
  470. package/dist/surface/mcp/proxy/mcp-post-transport.js +109 -0
  471. package/dist/surface/mcp/proxy/proxy-daemon-probe.d.ts +22 -0
  472. package/dist/surface/mcp/proxy/proxy-daemon-probe.js +71 -0
  473. package/dist/surface/mcp/proxy/proxy-handshake.js +192 -0
  474. package/dist/surface/mcp/proxy/proxy-lifecycle.d.ts +90 -0
  475. package/dist/surface/mcp/proxy/proxy-lifecycle.js +98 -0
  476. package/dist/surface/mcp/proxy/proxy-log.d.ts +57 -0
  477. package/dist/surface/mcp/proxy/proxy-log.js +117 -0
  478. package/dist/surface/mcp/server-instructions.d.ts +26 -0
  479. package/dist/surface/mcp/server-instructions.js +156 -0
  480. package/dist/surface/mcp/surface-vocabulary.d.ts +47 -0
  481. package/dist/surface/mcp/surface-vocabulary.js +56 -0
  482. package/dist/surface/mcp/tool-catalog-cache.d.ts +45 -0
  483. package/dist/surface/mcp/tool-catalog-cache.js +77 -0
  484. package/dist/surface/tools/act/act-danger.js +69 -0
  485. package/dist/surface/tools/act/act-helpers.d.ts +17 -0
  486. package/dist/surface/tools/act/act-helpers.js +40 -0
  487. package/dist/surface/tools/act/act-observation.d.ts +42 -0
  488. package/dist/surface/tools/act/act-observation.js +36 -0
  489. package/dist/surface/tools/act/act-preflight.d.ts +27 -0
  490. package/dist/surface/tools/act/act-preflight.js +168 -0
  491. package/dist/surface/tools/act/act-target.d.ts +10 -0
  492. package/dist/surface/tools/act/act-target.js +100 -0
  493. package/dist/surface/tools/act/navigation/navigate-arrival.d.ts +68 -0
  494. package/dist/surface/tools/act/resolve-target.js +115 -0
  495. package/dist/surface/tools/act/sequence-grade.d.ts +79 -0
  496. package/dist/surface/tools/act/sequence-grade.js +104 -0
  497. package/dist/surface/tools/act-capsule.d.ts +33 -0
  498. package/dist/surface/tools/act-capsule.js +79 -0
  499. package/dist/surface/tools/act-merged.d.ts +20 -0
  500. package/dist/surface/tools/act-merged.js +53 -0
  501. package/dist/surface/tools/act-sequence-tool.js +330 -0
  502. package/dist/surface/tools/act-tools.d.ts +24 -0
  503. package/dist/surface/tools/act-tools.js +835 -0
  504. package/dist/surface/tools/args/numeric-bounds.d.ts +97 -0
  505. package/dist/surface/tools/args/numeric-bounds.js +133 -0
  506. package/dist/surface/tools/assert/assert-grade.d.ts +42 -0
  507. package/dist/surface/tools/assert/assert-grade.js +125 -0
  508. package/dist/surface/tools/assert/assert-source.d.ts +52 -0
  509. package/dist/surface/tools/assert/assert-source.js +74 -0
  510. package/dist/surface/tools/assert/assert-verdict.d.ts +48 -0
  511. package/dist/surface/tools/assert/assert-verdict.js +247 -0
  512. package/dist/surface/tools/browser-tools.d.ts +2 -0
  513. package/dist/surface/tools/browser-tools.js +115 -0
  514. package/dist/surface/tools/contract-tools.d.ts +2 -0
  515. package/dist/surface/tools/contract-tools.js +112 -0
  516. package/dist/surface/tools/coverage-tools.d.ts +18 -0
  517. package/dist/surface/tools/coverage-tools.js +178 -0
  518. package/dist/surface/tools/dynamic-tools.d.ts +17 -0
  519. package/dist/surface/tools/dynamic-tools.js +282 -0
  520. package/dist/surface/tools/error-recovery.d.ts +116 -0
  521. package/dist/surface/tools/error-recovery.js +527 -0
  522. package/dist/surface/tools/explore-tools.d.ts +14 -0
  523. package/dist/surface/tools/explore-tools.js +162 -0
  524. package/dist/surface/tools/feature-capture.d.ts +151 -0
  525. package/dist/surface/tools/feature-capture.js +235 -0
  526. package/dist/surface/tools/feedback-invite.d.ts +48 -0
  527. package/dist/surface/tools/feedback-invite.js +71 -0
  528. package/dist/surface/tools/feedback-tools.d.ts +35 -0
  529. package/dist/surface/tools/feedback-tools.js +280 -0
  530. package/dist/surface/tools/first-sentence.d.ts +24 -0
  531. package/dist/surface/tools/first-sentence.js +0 -0
  532. package/dist/surface/tools/gap-novelty.d.ts +39 -0
  533. package/dist/surface/tools/gap-novelty.js +69 -0
  534. package/dist/surface/tools/gaps/capability-absences.d.ts +39 -0
  535. package/dist/surface/tools/gaps/capability-absences.js +46 -0
  536. package/dist/surface/tools/harness-explore.d.ts +177 -0
  537. package/dist/surface/tools/harness-explore.js +453 -0
  538. package/dist/surface/tools/harness-plan.d.ts +76 -0
  539. package/dist/surface/tools/harness-plan.js +156 -0
  540. package/dist/surface/tools/harness-toolset.d.ts +35 -0
  541. package/dist/surface/tools/harness-toolset.js +144 -0
  542. package/dist/surface/tools/inspect-tool.d.ts +4 -0
  543. package/dist/surface/tools/inspect-tool.js +142 -0
  544. package/dist/surface/tools/invoke-tool.d.ts +10 -0
  545. package/dist/surface/tools/invoke-tool.js +668 -0
  546. package/dist/surface/tools/lease-hint.d.ts +50 -0
  547. package/dist/surface/tools/lease-hint.js +125 -0
  548. package/dist/surface/tools/lease-tools.d.ts +195 -0
  549. package/dist/surface/tools/lease-tools.js +797 -0
  550. package/dist/surface/tools/lineage-tools.d.ts +14 -0
  551. package/dist/surface/tools/lineage-tools.js +64 -0
  552. package/dist/surface/tools/live-call-text.d.ts +25 -0
  553. package/dist/surface/tools/live-call-text.js +191 -0
  554. package/dist/surface/tools/merge-tools.d.ts +68 -0
  555. package/dist/surface/tools/merge-tools.js +110 -0
  556. package/dist/surface/tools/merged-name-redirect.d.ts +36 -0
  557. package/dist/surface/tools/merged-name-redirect.js +107 -0
  558. package/dist/surface/tools/observe-tools.js +700 -0
  559. package/dist/surface/tools/read/query-windowed.d.ts +54 -0
  560. package/dist/surface/tools/read/query-windowed.js +75 -0
  561. package/dist/surface/tools/read/snapshot-delta.d.ts +92 -0
  562. package/dist/surface/tools/read/snapshot-delta.js +356 -0
  563. package/dist/surface/tools/read-tools.js +569 -0
  564. package/dist/surface/tools/real-input-attempt.d.ts +68 -0
  565. package/dist/surface/tools/real-input-attempt.js +360 -0
  566. package/dist/surface/tools/reconcile-tools.js +211 -0
  567. package/dist/surface/tools/tool-hit-rate.js +90 -0
  568. package/dist/surface/tools/tool-kit.d.ts +254 -0
  569. package/dist/surface/tools/tool-kit.js +123 -0
  570. package/dist/surface/tools/tool-surface.d.ts +195 -0
  571. package/dist/surface/tools/tool-surface.js +429 -0
  572. package/dist/surface/tools/tools-helpers.d.ts +40 -0
  573. package/dist/surface/tools/tools-helpers.js +76 -0
  574. package/dist/surface/tools/tools.d.ts +76 -0
  575. package/dist/surface/tools/tools.js +799 -0
  576. package/dist/surface/tools/unadvertised-help.js +60 -0
  577. package/dist/surface/tools/verify-next-baton.js +52 -0
  578. package/dist/telemetry/app-instrumented.d.ts +3 -5
  579. package/dist/telemetry/app-instrumented.js +17 -6
  580. package/dist/telemetry/argument-shape.js +4 -4
  581. package/dist/telemetry/bug-found.js +49 -27
  582. package/dist/telemetry/cli-telemetry.js +27 -10
  583. package/dist/telemetry/daemon-telemetry.d.ts +7 -13
  584. package/dist/telemetry/daemon-telemetry.js +15 -22
  585. package/dist/telemetry/error-fingerprint.js +26 -1
  586. package/dist/telemetry/feedback-cli.d.ts +1 -1
  587. package/dist/telemetry/feedback-cli.js +2 -2
  588. package/dist/telemetry/feedback-context.js +4 -4
  589. package/dist/telemetry/feedback.js +1 -1
  590. package/dist/telemetry/harness-drive.d.ts +6 -0
  591. package/dist/telemetry/harness-drive.js +39 -0
  592. package/dist/telemetry/install-source.js +1 -1
  593. package/dist/telemetry/install-trace.d.ts +8 -0
  594. package/dist/telemetry/install-trace.js +74 -0
  595. package/dist/telemetry/license-activation.js +1 -1
  596. package/dist/telemetry/mcp-connection.d.ts +14 -1
  597. package/dist/telemetry/mcp-connection.js +17 -2
  598. package/dist/telemetry/onboarding-firsts.d.ts +40 -0
  599. package/dist/telemetry/onboarding-firsts.js +109 -0
  600. package/dist/telemetry/onboarding-funnel.d.ts +26 -0
  601. package/dist/telemetry/onboarding-funnel.js +60 -0
  602. package/dist/telemetry/project-profile.js +1 -1
  603. package/dist/telemetry/run-telemetry.js +13 -0
  604. package/dist/telemetry/session-metrics.d.ts +6 -7
  605. package/dist/telemetry/session-metrics.js +14 -21
  606. package/dist/telemetry/telemetry.d.ts +8 -1
  607. package/dist/telemetry/telemetry.js +6 -5
  608. package/dist/telemetry/verification-of.d.ts +6 -8
  609. package/dist/telemetry/verification-of.js +38 -12
  610. package/dist/workspace-packages.d.ts +22 -0
  611. package/dist/workspace-packages.js +57 -0
  612. package/docs/README.md +29 -23
  613. package/docs/actions.mdx +4 -4
  614. package/docs/adapters.md +75 -0
  615. package/docs/agent-cheatsheet.md +37 -27
  616. package/docs/architecture.md +3 -2
  617. package/docs/autodrive.md +99 -0
  618. package/docs/benchmarks.md +1 -1
  619. package/docs/best-practices.mdx +3 -3
  620. package/docs/capabilities.mdx +4 -4
  621. package/docs/cli/cloud.mdx +4 -4
  622. package/docs/cli/doctor.mdx +1 -0
  623. package/docs/cli/feedback.mdx +1 -1
  624. package/docs/cli/init.mdx +3 -3
  625. package/docs/cli/mcp.mdx +1 -1
  626. package/docs/cli/status.mdx +35 -20
  627. package/docs/cli/watch.mdx +1 -1
  628. package/docs/cli.mdx +15 -25
  629. package/docs/desktop.mdx +1 -1
  630. package/docs/enterprise.md +3 -2
  631. package/docs/faq.mdx +4 -4
  632. package/docs/first-drive.md +5 -5
  633. package/docs/flows.md +5 -5
  634. package/docs/for-agents.md +2 -1
  635. package/docs/frameworks.mdx +1 -1
  636. package/docs/getting-started.md +30 -21
  637. package/docs/http-transport.md +1 -1
  638. package/docs/index.mdx +28 -10
  639. package/docs/install-agentic.mdx +12 -4
  640. package/docs/install-manual.mdx +23 -7
  641. package/docs/instrumentation.mdx +3 -3
  642. package/docs/local-registry.md +15 -4
  643. package/docs/packages/babel-plugin.mdx +1 -1
  644. package/docs/packages/browser.mdx +2 -2
  645. package/docs/packages/core.mdx +2 -2
  646. package/docs/packages/engine.mdx +40 -0
  647. package/docs/packages/open-verification.mdx +40 -0
  648. package/docs/packages/tauri.mdx +1 -1
  649. package/docs/packages.mdx +22 -2
  650. package/docs/platform-integration.md +3 -3
  651. package/docs/predicates.mdx +19 -3
  652. package/docs/protocol.mdx +60 -0
  653. package/docs/quickstart.mdx +48 -13
  654. package/docs/recipes.mdx +1 -1
  655. package/docs/required-checks.md +37 -0
  656. package/docs/skill-file.mdx +2 -2
  657. package/docs/skill-setup.md +104 -0
  658. package/docs/state-files.md +46 -0
  659. package/docs/state-management.mdx +1 -1
  660. package/docs/system-map.md +8 -6
  661. package/docs/telemetry.md +4 -3
  662. package/docs/testing.md +12 -3
  663. package/docs/token-efficiency.md +3 -3
  664. package/docs/tools/act-and-wait.mdx +173 -0
  665. package/docs/tools/act-sequence.mdx +160 -0
  666. package/docs/tools/act.mdx +95 -0
  667. package/docs/tools/assert.mdx +129 -0
  668. package/docs/tools/console.mdx +70 -0
  669. package/docs/tools/inspect.mdx +95 -0
  670. package/docs/tools/navigate.mdx +107 -0
  671. package/docs/tools/network.mdx +126 -0
  672. package/docs/tools/observe.mdx +145 -0
  673. package/docs/tools/overview.mdx +163 -0
  674. package/docs/tools/query.mdx +133 -0
  675. package/docs/tools/sessions.mdx +101 -0
  676. package/docs/tools/snapshot.mdx +136 -0
  677. package/docs/tools/state.mdx +111 -0
  678. package/docs/tools/wait-for.mdx +92 -0
  679. package/docs/troubleshooting.mdx +43 -9
  680. package/docs/usage.md +59 -59
  681. package/package.json +31 -13
  682. package/dist/bridge/auth-failure-reason.d.ts +0 -23
  683. package/dist/bridge/auth-failure-reason.js +0 -47
  684. package/dist/bridge/bridge-security.d.ts +0 -30
  685. package/dist/bridge/bridge-security.js +0 -53
  686. package/dist/bridge/bridge.d.ts +0 -95
  687. package/dist/bridge/bridge.js +0 -713
  688. package/dist/bridge/bridge.test-harness.d.ts +0 -65
  689. package/dist/bridge/bridge.test-harness.js +0 -230
  690. package/dist/capsule/capsule-store.d.ts +0 -71
  691. package/dist/capsule/capsule-store.js +0 -114
  692. package/dist/capsule/capsule.d.ts +0 -18
  693. package/dist/capsule/capsule.js +0 -35
  694. package/dist/capsule/causal-summary.d.ts +0 -119
  695. package/dist/capsule/causal-summary.js +0 -172
  696. package/dist/capsule/divergence.d.ts +0 -35
  697. package/dist/capsule/predicate-to-links.d.ts +0 -8
  698. package/dist/capsule/predicate-to-links.js +0 -33
  699. package/dist/cli/adhoc-verdict.d.ts +0 -58
  700. package/dist/cli/adhoc-verdict.js +0 -115
  701. package/dist/cli/cli-doctor.js +0 -195
  702. package/dist/cli/cli-flow-commands.d.ts +0 -46
  703. package/dist/cli/cli-flow-commands.js +0 -255
  704. package/dist/cli/cli-kill.d.ts +0 -59
  705. package/dist/cli/cli-kill.js +0 -162
  706. package/dist/cli/cli-launch.d.ts +0 -92
  707. package/dist/cli/cli-launch.js +0 -223
  708. package/dist/cli/cli-parse.d.ts +0 -171
  709. package/dist/cli/cli-parse.js +0 -874
  710. package/dist/cli/cli-port.d.ts +0 -70
  711. package/dist/cli/cli-port.js +0 -136
  712. package/dist/cli/cli-update-commands.js +0 -112
  713. package/dist/cli/cli-verify.d.ts +0 -86
  714. package/dist/cli/cli-verify.js +0 -340
  715. package/dist/cli/cloud-cli.js +0 -694
  716. package/dist/cli/cloud-keystore.js +0 -97
  717. package/dist/cli/cloud-kit.d.ts +0 -37
  718. package/dist/cli/cloud-kit.js +0 -121
  719. package/dist/cli/cloud-login.js +0 -183
  720. package/dist/cli/config-discovery.d.ts +0 -36
  721. package/dist/cli/config-discovery.js +0 -164
  722. package/dist/cli/daemon-start-options.d.ts +0 -33
  723. package/dist/cli/device-flow.d.ts +0 -76
  724. package/dist/cli/device-flow.js +0 -56
  725. package/dist/cli/doctor-daemon-line.js +0 -47
  726. package/dist/cli/doctor-rows.d.ts +0 -63
  727. package/dist/cli/doctor-rows.js +0 -65
  728. package/dist/cli/doctor-sessions-line.js +0 -69
  729. package/dist/cli/drive-attach.d.ts +0 -113
  730. package/dist/cli/drive-attach.js +0 -221
  731. package/dist/cli/drive-command.js +0 -107
  732. package/dist/cli/mcp-command.js +0 -174
  733. package/dist/cli/port-holder.js +0 -123
  734. package/dist/cli/status-next-action.d.ts +0 -51
  735. package/dist/cli/status-next-action.js +0 -60
  736. package/dist/cli.d.ts +0 -6
  737. package/dist/cli.js +0 -828
  738. package/dist/cloud/account-state.d.ts +0 -20
  739. package/dist/cloud/account-state.js +0 -65
  740. package/dist/cloud/cloud-config.d.ts +0 -57
  741. package/dist/cloud/cloud-config.js +0 -145
  742. package/dist/cloud/cloud-sync.d.ts +0 -190
  743. package/dist/cloud/cloud-sync.js +0 -354
  744. package/dist/cloud/sync-cycle.d.ts +0 -111
  745. package/dist/cloud/sync-cycle.js +0 -270
  746. package/dist/cloud/sync-daemon.d.ts +0 -53
  747. package/dist/cloud/sync-daemon.js +0 -260
  748. package/dist/cloud/sync-disk.js +0 -191
  749. package/dist/crawl/crawl-tools.d.ts +0 -7
  750. package/dist/crawl/crawl-tools.js +0 -87
  751. package/dist/crawl/crawl.d.ts +0 -98
  752. package/dist/crawl/crawl.js +0 -441
  753. package/dist/daemon/daemon-resilience.d.ts +0 -74
  754. package/dist/daemon/daemon-resilience.js +0 -318
  755. package/dist/daemon/daemon-resolve.d.ts +0 -113
  756. package/dist/daemon/daemon-resolve.js +0 -187
  757. package/dist/daemon/daemon-usefulness.d.ts +0 -61
  758. package/dist/daemon/daemon-usefulness.js +0 -62
  759. package/dist/daemon/daemon.d.ts +0 -95
  760. package/dist/daemon/daemon.js +0 -336
  761. package/dist/daemon/heartbeat.d.ts +0 -111
  762. package/dist/daemon/heartbeat.js +0 -141
  763. package/dist/daemon/idle-grace.d.ts +0 -32
  764. package/dist/daemon/idle-grace.js +0 -41
  765. package/dist/daemon/idle-shutdown.d.ts +0 -54
  766. package/dist/daemon/idle-shutdown.js +0 -98
  767. package/dist/daemon/state-dir.js +0 -59
  768. package/dist/daemon/wake-decision.d.ts +0 -32
  769. package/dist/daemon/wake-decision.js +0 -38
  770. package/dist/dev/stale-issue-guard.d.ts +0 -41
  771. package/dist/dev/stale-issue-guard.js +0 -75
  772. package/dist/domain/domain-model.js +0 -126
  773. package/dist/domain/domain-tools.d.ts +0 -2
  774. package/dist/domain/domain-tools.js +0 -94
  775. package/dist/domain/flow-risk.js +0 -80
  776. package/dist/ee/audit-log.js +0 -11
  777. package/dist/events/body-failures.d.ts +0 -4
  778. package/dist/events/body-failures.js +0 -113
  779. package/dist/events/contradiction-folds.d.ts +0 -45
  780. package/dist/events/contradiction-folds.js +0 -42
  781. package/dist/events/contradictions.d.ts +0 -170
  782. package/dist/events/contradictions.js +0 -718
  783. package/dist/events/declared.d.ts +0 -74
  784. package/dist/events/declared.js +0 -171
  785. package/dist/events/echo-mismatch.d.ts +0 -10
  786. package/dist/events/echo-mismatch.js +0 -299
  787. package/dist/events/event-filters.d.ts +0 -121
  788. package/dist/events/event-filters.js +0 -215
  789. package/dist/events/json-salvage.d.ts +0 -33
  790. package/dist/events/json-salvage.js +0 -96
  791. package/dist/events/lineage.d.ts +0 -52
  792. package/dist/events/lineage.js +0 -122
  793. package/dist/events/net-evidence.d.ts +0 -21
  794. package/dist/events/net-evidence.js +0 -81
  795. package/dist/events/observed-in-window.d.ts +0 -24
  796. package/dist/events/observed-in-window.js +0 -38
  797. package/dist/events/predicate-asks.d.ts +0 -30
  798. package/dist/events/predicate-asks.js +0 -48
  799. package/dist/events/predicate-console.d.ts +0 -13
  800. package/dist/events/predicate-console.js +0 -138
  801. package/dist/events/predicate-element.d.ts +0 -13
  802. package/dist/events/predicate-element.js +0 -214
  803. package/dist/events/predicate-eval.d.ts +0 -101
  804. package/dist/events/predicate-eval.js +0 -834
  805. package/dist/events/predicate-parse.d.ts +0 -17
  806. package/dist/events/predicate-parse.js +0 -175
  807. package/dist/events/predicate-precheck.d.ts +0 -8
  808. package/dist/events/predicate-precheck.js +0 -41
  809. package/dist/events/predicate-request-body.d.ts +0 -50
  810. package/dist/events/predicate-request-body.js +0 -120
  811. package/dist/events/predicate-route.d.ts +0 -66
  812. package/dist/events/predicate-route.js +0 -258
  813. package/dist/events/predicate-schema.d.ts +0 -168
  814. package/dist/events/predicate-schema.js +0 -501
  815. package/dist/events/predicate.d.ts +0 -74
  816. package/dist/events/predicate.js +0 -725
  817. package/dist/events/reaction.d.ts +0 -33
  818. package/dist/events/reaction.js +0 -59
  819. package/dist/events/reconcile.d.ts +0 -39
  820. package/dist/events/reconcile.js +0 -211
  821. package/dist/events/ring-buffer.d.ts +0 -41
  822. package/dist/events/ring-buffer.js +0 -151
  823. package/dist/events/split-text-miss.d.ts +0 -32
  824. package/dist/events/split-text-miss.js +0 -51
  825. package/dist/events/stale-response.d.ts +0 -3
  826. package/dist/events/stale-response.js +0 -186
  827. package/dist/events/testid-near-miss.d.ts +0 -22
  828. package/dist/events/testid-near-miss.js +0 -33
  829. package/dist/events/unit-mismatch.d.ts +0 -16
  830. package/dist/events/unit-mismatch.js +0 -167
  831. package/dist/flows/affected-tools.d.ts +0 -18
  832. package/dist/flows/affected-tools.js +0 -80
  833. package/dist/flows/affected.d.ts +0 -24
  834. package/dist/flows/affected.js +0 -35
  835. package/dist/flows/annotate-tools.d.ts +0 -15
  836. package/dist/flows/annotate-tools.js +0 -179
  837. package/dist/flows/assertion-tiers-store.d.ts +0 -16
  838. package/dist/flows/assertion-tiers-store.js +0 -98
  839. package/dist/flows/decision.d.ts +0 -25
  840. package/dist/flows/decision.js +0 -201
  841. package/dist/flows/empty-flow.js +0 -24
  842. package/dist/flows/flake-store.d.ts +0 -18
  843. package/dist/flows/flake-store.js +0 -58
  844. package/dist/flows/flake.d.ts +0 -56
  845. package/dist/flows/flow-classify.d.ts +0 -51
  846. package/dist/flows/flow-classify.js +0 -102
  847. package/dist/flows/flow-expect-grammar.d.ts +0 -33
  848. package/dist/flows/flow-expect-grammar.js +0 -155
  849. package/dist/flows/flow-intent.d.ts +0 -52
  850. package/dist/flows/flow-intent.js +0 -123
  851. package/dist/flows/flow-replay-run.d.ts +0 -43
  852. package/dist/flows/flow-replay-run.js +0 -478
  853. package/dist/flows/flow-replay.d.ts +0 -82
  854. package/dist/flows/flow-replay.js +0 -519
  855. package/dist/flows/flow-secret-field.d.ts +0 -14
  856. package/dist/flows/flow-secret-field.js +0 -22
  857. package/dist/flows/flow-sources.d.ts +0 -19
  858. package/dist/flows/flow-sources.js +0 -32
  859. package/dist/flows/flow-step-runners.d.ts +0 -52
  860. package/dist/flows/flow-step-runners.js +0 -315
  861. package/dist/flows/flow-store-for-session.d.ts +0 -31
  862. package/dist/flows/flow-success.d.ts +0 -32
  863. package/dist/flows/flow-success.js +0 -169
  864. package/dist/flows/flow-tools.d.ts +0 -15
  865. package/dist/flows/flow-tools.js +0 -639
  866. package/dist/flows/flow-upload-resolve.d.ts +0 -23
  867. package/dist/flows/flow-upload-resolve.js +0 -46
  868. package/dist/flows/flows.d.ts +0 -130
  869. package/dist/flows/flows.js +0 -870
  870. package/dist/flows/gate.js +0 -33
  871. package/dist/flows/heal-run.d.ts +0 -10
  872. package/dist/flows/heal-run.js +0 -139
  873. package/dist/flows/heal.js +0 -97
  874. package/dist/flows/predicate-to-expect.d.ts +0 -44
  875. package/dist/flows/predicate-to-expect.js +0 -130
  876. package/dist/flows/recording-backtrack.js +0 -73
  877. package/dist/flows/recordings.d.ts +0 -63
  878. package/dist/flows/recordings.js +0 -57
  879. package/dist/flows/replay.d.ts +0 -62
  880. package/dist/flows/replay.js +0 -337
  881. package/dist/flows/role-anchor-nearest.js +0 -45
  882. package/dist/flows/server-verify.d.ts +0 -15
  883. package/dist/flows/server-verify.js +0 -56
  884. package/dist/flows/suite-flakes.d.ts +0 -34
  885. package/dist/flows/suite-flakes.js +0 -32
  886. package/dist/flows/verify-change-tools.d.ts +0 -2
  887. package/dist/flows/verify-change-tools.js +0 -231
  888. package/dist/honesty/accepted-write.d.ts +0 -17
  889. package/dist/honesty/accepted-write.js +0 -22
  890. package/dist/honesty/already-true.d.ts +0 -16
  891. package/dist/honesty/already-true.js +0 -89
  892. package/dist/honesty/blind-spots.d.ts +0 -133
  893. package/dist/honesty/blind-spots.js +0 -248
  894. package/dist/honesty/body-capture-remedy.d.ts +0 -42
  895. package/dist/honesty/body-capture-remedy.js +0 -95
  896. package/dist/honesty/feature-capture.d.ts +0 -151
  897. package/dist/honesty/feature-capture.js +0 -233
  898. package/dist/honesty/gap-ledger.d.ts +0 -52
  899. package/dist/honesty/gap-ledger.js +0 -63
  900. package/dist/honesty/honesty.d.ts +0 -103
  901. package/dist/honesty/honesty.js +0 -95
  902. package/dist/honesty/instrumentation-gaps.d.ts +0 -95
  903. package/dist/honesty/instrumentation-gaps.js +0 -114
  904. package/dist/honesty/observability.d.ts +0 -38
  905. package/dist/honesty/observability.js +0 -40
  906. package/dist/honesty/tool-hit-rate.js +0 -90
  907. package/dist/honesty/uncaptured-bodies.d.ts +0 -23
  908. package/dist/honesty/uncaptured-bodies.js +0 -41
  909. package/dist/honesty/undeclared-change.d.ts +0 -51
  910. package/dist/honesty/undeclared-change.js +0 -56
  911. package/dist/honesty/unread-outcome.d.ts +0 -10
  912. package/dist/honesty/unread-outcome.js +0 -77
  913. package/dist/honesty/unsettled.d.ts +0 -58
  914. package/dist/honesty/unsettled.js +0 -127
  915. package/dist/honesty/verified.d.ts +0 -148
  916. package/dist/honesty/verified.js +0 -330
  917. package/dist/http-server.d.ts +0 -52
  918. package/dist/http-server.js +0 -381
  919. package/dist/impact/impact-recorder.d.ts +0 -46
  920. package/dist/impact/impact-recorder.js +0 -159
  921. package/dist/impact/impact-store.d.ts +0 -47
  922. package/dist/impact/impact-store.js +0 -255
  923. package/dist/input/network-detail.d.ts +0 -104
  924. package/dist/input/network-detail.js +0 -211
  925. package/dist/input/network-mock-tools.d.ts +0 -21
  926. package/dist/input/network-mock-tools.js +0 -124
  927. package/dist/input/network-mock.js +0 -61
  928. package/dist/input/real-input.d.ts +0 -222
  929. package/dist/input/real-input.js +0 -405
  930. package/dist/input/scroll-find.js +0 -111
  931. package/dist/input/scroll-tools.d.ts +0 -2
  932. package/dist/input/scroll-tools.js +0 -76
  933. package/dist/input/viewport-tools.d.ts +0 -2
  934. package/dist/input/viewport-tools.js +0 -72
  935. package/dist/intent/inline-intent.d.ts +0 -27
  936. package/dist/intent/inline-intent.js +0 -193
  937. package/dist/intent/intent-shard-store.d.ts +0 -73
  938. package/dist/intent/intent-shard-store.js +0 -203
  939. package/dist/intent/intent-shard.d.ts +0 -411
  940. package/dist/intent/intent-shard.js +0 -176
  941. package/dist/intent/intent-store.d.ts +0 -49
  942. package/dist/intent/intent-store.js +0 -133
  943. package/dist/intent/intent-subject.d.ts +0 -46
  944. package/dist/intent/intent-subject.js +0 -177
  945. package/dist/intent/intent-tools.d.ts +0 -2
  946. package/dist/intent/intent-tools.js +0 -143
  947. package/dist/intent/open-intents.d.ts +0 -43
  948. package/dist/intent/open-intents.js +0 -40
  949. package/dist/journal/ambient-store.d.ts +0 -13
  950. package/dist/journal/ambient-store.js +0 -45
  951. package/dist/journal/ambient.d.ts +0 -47
  952. package/dist/journal/ambient.js +0 -47
  953. package/dist/journal/attach-journal.d.ts +0 -30
  954. package/dist/journal/attach-journal.js +0 -30
  955. package/dist/journal/envelope-store.d.ts +0 -16
  956. package/dist/journal/envelope-store.js +0 -61
  957. package/dist/journal/envelope.d.ts +0 -230
  958. package/dist/journal/journal-query.d.ts +0 -32
  959. package/dist/journal/journal-query.js +0 -52
  960. package/dist/journal/journal-recorder.d.ts +0 -61
  961. package/dist/journal/journal-recorder.js +0 -115
  962. package/dist/journal/retention.d.ts +0 -20
  963. package/dist/journal/retention.js +0 -49
  964. package/dist/journal/session-end.d.ts +0 -32
  965. package/dist/journal/session-end.js +0 -51
  966. package/dist/journal/session-journal.d.ts +0 -24
  967. package/dist/journal/session-journal.js +0 -167
  968. package/dist/journal/workspace-gitignore.d.ts +0 -10
  969. package/dist/journal/workspace-gitignore.js +0 -59
  970. package/dist/license/license-env.d.ts +0 -29
  971. package/dist/license/license-env.js +0 -148
  972. package/dist/license/license.d.ts +0 -169
  973. package/dist/license/license.js +0 -289
  974. package/dist/mcp/mcp-is-error.d.ts +0 -13
  975. package/dist/mcp/mcp-is-error.js +0 -18
  976. package/dist/mcp/mcp-outage.d.ts +0 -32
  977. package/dist/mcp/mcp-outage.js +0 -55
  978. package/dist/mcp/mcp-post-transport.js +0 -109
  979. package/dist/mcp/mcp-proxy.d.ts +0 -110
  980. package/dist/mcp/mcp-proxy.js +0 -872
  981. package/dist/mcp/mcp.d.ts +0 -80
  982. package/dist/mcp/mcp.js +0 -536
  983. package/dist/mcp/proxy-daemon-probe.d.ts +0 -9
  984. package/dist/mcp/proxy-daemon-probe.js +0 -54
  985. package/dist/mcp/proxy-handshake.js +0 -192
  986. package/dist/mcp/proxy-lifecycle.d.ts +0 -92
  987. package/dist/mcp/proxy-lifecycle.js +0 -100
  988. package/dist/mcp/proxy-log.d.ts +0 -63
  989. package/dist/mcp/proxy-log.js +0 -132
  990. package/dist/mcp/server-instructions.d.ts +0 -18
  991. package/dist/mcp/server-instructions.js +0 -98
  992. package/dist/mcp/tool-catalog-cache.d.ts +0 -45
  993. package/dist/mcp/tool-catalog-cache.js +0 -77
  994. package/dist/memory/memory-tools.d.ts +0 -2
  995. package/dist/memory/memory-tools.js +0 -82
  996. package/dist/memory/project-memory.d.ts +0 -33
  997. package/dist/oracles/propose-consequences.d.ts +0 -22
  998. package/dist/oracles/propose-consequences.js +0 -106
  999. package/dist/pool/browser-pool.d.ts +0 -282
  1000. package/dist/pool/browser-pool.js +0 -560
  1001. package/dist/pool/lease-reaper.js +0 -40
  1002. package/dist/pool/playwright-launcher.js +0 -150
  1003. package/dist/pool/storage-seed.d.ts +0 -23
  1004. package/dist/project/artifact-root.d.ts +0 -84
  1005. package/dist/project/artifact-root.js +0 -112
  1006. package/dist/project/fs-port.d.ts +0 -47
  1007. package/dist/project/fs-port.js +0 -54
  1008. package/dist/project/learned-routes.d.ts +0 -24
  1009. package/dist/project/learned-routes.js +0 -63
  1010. package/dist/project/memory-fs.d.ts +0 -10
  1011. package/dist/project/project-store.d.ts +0 -54
  1012. package/dist/project/project-store.js +0 -201
  1013. package/dist/project/project-tools.d.ts +0 -2
  1014. package/dist/project/project-tools.js +0 -155
  1015. package/dist/project/reticle-dir.d.ts +0 -102
  1016. package/dist/project/reticle-dir.js +0 -188
  1017. package/dist/project/session-root.d.ts +0 -23
  1018. package/dist/project/session-root.js +0 -38
  1019. package/dist/runs/build-verification-run.d.ts +0 -29
  1020. package/dist/runs/build-verification-run.js +0 -70
  1021. package/dist/runs/context-tools.d.ts +0 -2
  1022. package/dist/runs/context-tools.js +0 -89
  1023. package/dist/runs/render-report.js +0 -69
  1024. package/dist/runs/replay-mapping.js +0 -34
  1025. package/dist/runs/reticle-runner.d.ts +0 -60
  1026. package/dist/runs/reticle-runner.js +0 -95
  1027. package/dist/runs/run-store.d.ts +0 -54
  1028. package/dist/runs/run-store.js +0 -147
  1029. package/dist/runs/run-tools.d.ts +0 -9
  1030. package/dist/runs/run-tools.js +0 -82
  1031. package/dist/runs/runner-port.d.ts +0 -13
  1032. package/dist/runs/runner-port.js +0 -22
  1033. package/dist/runs/verification-sync.d.ts +0 -12
  1034. package/dist/runs/verification-sync.js +0 -87
  1035. package/dist/session/command-timeout.d.ts +0 -46
  1036. package/dist/session/command-timeout.js +0 -42
  1037. package/dist/session/connection-memory.d.ts +0 -59
  1038. package/dist/session/connection-memory.js +0 -108
  1039. package/dist/session/dev-server-probe.js +0 -147
  1040. package/dist/session/live-control-tools.d.ts +0 -15
  1041. package/dist/session/live-control-tools.js +0 -242
  1042. package/dist/session/no-session-diagnosis.d.ts +0 -176
  1043. package/dist/session/no-session-diagnosis.js +0 -477
  1044. package/dist/session/no-session-next-action.d.ts +0 -72
  1045. package/dist/session/no-session-next-action.js +0 -174
  1046. package/dist/session/no-session-watch.js +0 -335
  1047. package/dist/session/observed-state.d.ts +0 -60
  1048. package/dist/session/observed-state.js +0 -121
  1049. package/dist/session/output-budget.d.ts +0 -49
  1050. package/dist/session/output-budget.js +0 -67
  1051. package/dist/session/session-health.d.ts +0 -138
  1052. package/dist/session/session-health.js +0 -154
  1053. package/dist/session/session-manager.d.ts +0 -76
  1054. package/dist/session/session-manager.js +0 -464
  1055. package/dist/session/session-reaper.d.ts +0 -36
  1056. package/dist/session/session-reaper.js +0 -93
  1057. package/dist/session/session-recommendation.js +0 -29
  1058. package/dist/session/session-replaced.d.ts +0 -24
  1059. package/dist/session/session-replaced.js +0 -29
  1060. package/dist/session/session-tools.d.ts +0 -8
  1061. package/dist/session/session-tools.js +0 -42
  1062. package/dist/session/session.d.ts +0 -280
  1063. package/dist/session/session.js +0 -891
  1064. package/dist/session/stall-clock.js +0 -48
  1065. package/dist/setup/agent-configs.d.ts +0 -97
  1066. package/dist/setup/agent-configs.js +0 -333
  1067. package/dist/setup/agent-writer.d.ts +0 -52
  1068. package/dist/setup/agent-writer.js +0 -115
  1069. package/dist/setup/auto-approve.js +0 -153
  1070. package/dist/setup/bridge-port.d.ts +0 -15
  1071. package/dist/setup/bridge-port.js +0 -24
  1072. package/dist/setup/confirm.js +0 -205
  1073. package/dist/setup/dev-server-wait.d.ts +0 -68
  1074. package/dist/setup/dev-server-wait.js +0 -67
  1075. package/dist/setup/drive-agent.d.ts +0 -70
  1076. package/dist/setup/drive-agent.js +0 -171
  1077. package/dist/setup/drive-plan.d.ts +0 -69
  1078. package/dist/setup/drive-plan.js +0 -130
  1079. package/dist/setup/ensure-daemon.js +0 -58
  1080. package/dist/setup/init-host.js +0 -26
  1081. package/dist/setup/init-runtime.d.ts +0 -41
  1082. package/dist/setup/init-runtime.js +0 -167
  1083. package/dist/setup/node-effects.d.ts +0 -63
  1084. package/dist/setup/node-effects.js +0 -225
  1085. package/dist/setup/page-probe.d.ts +0 -44
  1086. package/dist/setup/page-probe.js +0 -49
  1087. package/dist/setup/remaining-steps.js +0 -31
  1088. package/dist/setup/run-setup.d.ts +0 -103
  1089. package/dist/setup/run-setup.js +0 -294
  1090. package/dist/setup/setup-command.d.ts +0 -46
  1091. package/dist/setup/setup-command.js +0 -207
  1092. package/dist/setup/setup-options.d.ts +0 -76
  1093. package/dist/setup/setup-options.js +0 -68
  1094. package/dist/tools/act-capsule.d.ts +0 -33
  1095. package/dist/tools/act-capsule.js +0 -53
  1096. package/dist/tools/act-danger.js +0 -69
  1097. package/dist/tools/act-helpers.d.ts +0 -17
  1098. package/dist/tools/act-helpers.js +0 -40
  1099. package/dist/tools/act-observation.d.ts +0 -42
  1100. package/dist/tools/act-observation.js +0 -36
  1101. package/dist/tools/act-preflight.d.ts +0 -20
  1102. package/dist/tools/act-preflight.js +0 -103
  1103. package/dist/tools/act-sequence-tool.js +0 -135
  1104. package/dist/tools/act-target.d.ts +0 -18
  1105. package/dist/tools/act-target.js +0 -56
  1106. package/dist/tools/act-tools.d.ts +0 -20
  1107. package/dist/tools/act-tools.js +0 -763
  1108. package/dist/tools/assert-grade.d.ts +0 -42
  1109. package/dist/tools/assert-grade.js +0 -108
  1110. package/dist/tools/assert-source.d.ts +0 -52
  1111. package/dist/tools/assert-source.js +0 -74
  1112. package/dist/tools/assert-verdict.d.ts +0 -48
  1113. package/dist/tools/assert-verdict.js +0 -197
  1114. package/dist/tools/browser-tools.d.ts +0 -2
  1115. package/dist/tools/browser-tools.js +0 -115
  1116. package/dist/tools/contract-tools.d.ts +0 -2
  1117. package/dist/tools/contract-tools.js +0 -98
  1118. package/dist/tools/coverage-tools.d.ts +0 -18
  1119. package/dist/tools/coverage-tools.js +0 -175
  1120. package/dist/tools/dynamic-tools.d.ts +0 -7
  1121. package/dist/tools/dynamic-tools.js +0 -257
  1122. package/dist/tools/error-recovery.d.ts +0 -110
  1123. package/dist/tools/error-recovery.js +0 -499
  1124. package/dist/tools/feedback-invite.d.ts +0 -48
  1125. package/dist/tools/feedback-invite.js +0 -71
  1126. package/dist/tools/feedback-tools.d.ts +0 -35
  1127. package/dist/tools/feedback-tools.js +0 -228
  1128. package/dist/tools/invoke-tool.d.ts +0 -10
  1129. package/dist/tools/invoke-tool.js +0 -569
  1130. package/dist/tools/lease-hint.d.ts +0 -49
  1131. package/dist/tools/lease-hint.js +0 -124
  1132. package/dist/tools/lease-tools.d.ts +0 -143
  1133. package/dist/tools/lease-tools.js +0 -688
  1134. package/dist/tools/lineage-tools.d.ts +0 -14
  1135. package/dist/tools/lineage-tools.js +0 -64
  1136. package/dist/tools/merge-tools.d.ts +0 -51
  1137. package/dist/tools/merge-tools.js +0 -69
  1138. package/dist/tools/merged-name-redirect.d.ts +0 -26
  1139. package/dist/tools/merged-name-redirect.js +0 -77
  1140. package/dist/tools/navigate-arrival.d.ts +0 -68
  1141. package/dist/tools/numeric-bounds.d.ts +0 -89
  1142. package/dist/tools/numeric-bounds.js +0 -125
  1143. package/dist/tools/observe-tools.js +0 -578
  1144. package/dist/tools/read-tools.js +0 -569
  1145. package/dist/tools/real-input-attempt.d.ts +0 -68
  1146. package/dist/tools/real-input-attempt.js +0 -360
  1147. package/dist/tools/reconcile-tools.js +0 -126
  1148. package/dist/tools/resolve-target.js +0 -116
  1149. package/dist/tools/snapshot-delta.d.ts +0 -92
  1150. package/dist/tools/snapshot-delta.js +0 -356
  1151. package/dist/tools/tool-kit.d.ts +0 -221
  1152. package/dist/tools/tool-kit.js +0 -114
  1153. package/dist/tools/tool-names.d.ts +0 -112
  1154. package/dist/tools/tool-names.js +0 -112
  1155. package/dist/tools/tool-surface.d.ts +0 -222
  1156. package/dist/tools/tool-surface.js +0 -439
  1157. package/dist/tools/tools-helpers.d.ts +0 -42
  1158. package/dist/tools/tools-helpers.js +0 -87
  1159. package/dist/tools/tools.d.ts +0 -20
  1160. package/dist/tools/tools.js +0 -739
  1161. package/dist/tools/unadvertised-help.js +0 -42
  1162. package/dist/tools/verify-next-baton.js +0 -52
  1163. package/dist/update/nudge-credit.js +0 -53
  1164. package/dist/update/reticle-deps.d.ts +0 -9
  1165. package/dist/update/reticle-deps.js +0 -27
  1166. package/dist/update/sdk-sync.d.ts +0 -20
  1167. package/dist/update/sdk-sync.js +0 -22
  1168. package/dist/update/update-checker.js +0 -122
  1169. package/dist/update/update-nudge.d.ts +0 -92
  1170. package/dist/update/update-nudge.js +0 -214
  1171. package/dist/update/updater.d.ts +0 -54
  1172. package/dist/update/updater.js +0 -190
  1173. package/dist/version/peer-announce.js +0 -32
  1174. package/dist/version/sdk-fix.js +0 -127
  1175. package/dist/version/server-version.js +0 -13
  1176. package/dist/version/version-nudge.js +0 -61
  1177. package/dist/version/version-skew.d.ts +0 -93
  1178. package/dist/version/version-skew.js +0 -147
  1179. package/dist/visual/visual-store.d.ts +0 -22
  1180. package/dist/visual/visual-store.js +0 -66
  1181. package/dist/visual/visual-tools.d.ts +0 -26
  1182. package/dist/visual/visual-tools.js +0 -328
  1183. package/docs/docs.json +0 -369
  1184. package/docs/fixtures.md +0 -51
  1185. package/docs/gate-plan.md +0 -104
  1186. package/docs/gates.md +0 -131
  1187. package/docs/style.css +0 -14
  1188. package/docs/telemetry-contract.md +0 -390
  1189. package/docs/telemetry-events.mdx +0 -442
  1190. package/docs/tools-act-and-wait.mdx +0 -173
  1191. package/docs/tools-act-sequence.mdx +0 -153
  1192. package/docs/tools-act.mdx +0 -95
  1193. package/docs/tools-assert.mdx +0 -129
  1194. package/docs/tools-console.mdx +0 -63
  1195. package/docs/tools-inspect.mdx +0 -88
  1196. package/docs/tools-navigate.mdx +0 -107
  1197. package/docs/tools-network.mdx +0 -119
  1198. package/docs/tools-observe.mdx +0 -145
  1199. package/docs/tools-overview.mdx +0 -160
  1200. package/docs/tools-query.mdx +0 -126
  1201. package/docs/tools-sessions.mdx +0 -94
  1202. package/docs/tools-snapshot.mdx +0 -129
  1203. package/docs/tools-state.mdx +0 -104
  1204. package/docs/tools-wait-for.mdx +0 -85
  1205. /package/dist/{cli → command/cli/answers}/gate-exit.d.ts +0 -0
  1206. /package/dist/{cli → command/cli/answers}/gate-exit.js +0 -0
  1207. /package/dist/{cli → command/cli/answers}/gate-hook-message.d.ts +0 -0
  1208. /package/dist/{cli → command/cli/answers}/gate-hook-message.js +0 -0
  1209. /package/dist/{cli → command/cli/answers}/open-note.d.ts +0 -0
  1210. /package/dist/{cli → command/cli/answers}/open-note.js +0 -0
  1211. /package/dist/{cli → command/cli/auth}/cloud-keystore.d.ts +0 -0
  1212. /package/dist/{cli → command/cli/auth}/cloud-session.d.ts +0 -0
  1213. /package/dist/{cli → command/cli/auth}/cloud-session.js +0 -0
  1214. /package/dist/{cli → command/cli}/cli-doctor.d.ts +0 -0
  1215. /package/dist/{cli → command/cli}/cli-parse-feedback.d.ts +0 -0
  1216. /package/dist/{cli → command/cli}/cli-parse-feedback.js +0 -0
  1217. /package/dist/{cli → command/cli}/cli-update-commands.d.ts +0 -0
  1218. /package/dist/{cli → command/cli}/cloud-cli.d.ts +0 -0
  1219. /package/dist/{cli → command/cli}/cloud-login.d.ts +0 -0
  1220. /package/dist/{cli → command/cli}/daemon-start-options.js +0 -0
  1221. /package/dist/{cli → command/cli/doctor/browser}/chromium-hint.d.ts +0 -0
  1222. /package/dist/{cli → command/cli/doctor/browser}/chromium-hint.js +0 -0
  1223. /package/dist/{cli → command/cli/doctor}/doctor-daemon-line.d.ts +0 -0
  1224. /package/dist/{cli → command/cli/doctor}/doctor-project-line.d.ts +0 -0
  1225. /package/dist/{cli → command/cli/doctor}/doctor-project-line.js +0 -0
  1226. /package/dist/{cli → command/cli/doctor}/doctor-sessions-line.d.ts +0 -0
  1227. /package/dist/{cli → command/cli/drive}/drive-command.d.ts +0 -0
  1228. /package/dist/{cli → command/cli}/mcp-command.d.ts +0 -0
  1229. /package/dist/{cli → command/cli/ports}/port-holder.d.ts +0 -0
  1230. /package/dist/{cli → command/cli/ports}/sibling-ports.d.ts +0 -0
  1231. /package/dist/{cli → command/cli/ports}/sibling-ports.js +0 -0
  1232. /package/dist/{cli → command/cli}/project-name.d.ts +0 -0
  1233. /package/dist/{cli → command/cli}/project-name.js +0 -0
  1234. /package/dist/{daemon → command/daemon/binding}/free-port.d.ts +0 -0
  1235. /package/dist/{daemon → command/daemon/binding}/free-port.js +0 -0
  1236. /package/dist/{daemon → command/daemon/binding}/loopback-alias.d.ts +0 -0
  1237. /package/dist/{daemon → command/daemon/binding}/loopback-alias.js +0 -0
  1238. /package/dist/{daemon → command/daemon/binding}/port-presence.d.ts +0 -0
  1239. /package/dist/{daemon → command/daemon/binding}/port-presence.js +0 -0
  1240. /package/dist/{daemon → command/daemon}/dev-servers.d.ts +0 -0
  1241. /package/dist/{daemon → command/daemon}/dev-servers.js +0 -0
  1242. /package/dist/{daemon → command/daemon/lifetime}/startup-failure.d.ts +0 -0
  1243. /package/dist/{daemon → command/daemon/lifetime}/startup-failure.js +0 -0
  1244. /package/dist/{daemon → command/daemon/lifetime}/unclean-predecessor.d.ts +0 -0
  1245. /package/dist/{daemon → command/daemon/lifetime}/unclean-predecessor.js +0 -0
  1246. /package/dist/{daemon → command/daemon}/state-dir.d.ts +0 -0
  1247. /package/dist/{setup → command/setup}/agent-io.d.ts +0 -0
  1248. /package/dist/{setup → command/setup}/agent-io.js +0 -0
  1249. /package/dist/{setup → command/setup}/approval-migration.d.ts +0 -0
  1250. /package/dist/{setup → command/setup}/approval-migration.js +0 -0
  1251. /package/dist/{setup → command/setup}/auto-approve.d.ts +0 -0
  1252. /package/dist/{setup → command/setup/bringup}/ensure-daemon.d.ts +0 -0
  1253. /package/dist/{setup → command/setup/bringup}/relaunch.d.ts +0 -0
  1254. /package/dist/{setup → command/setup/bringup}/relaunch.js +0 -0
  1255. /package/dist/{setup → command/setup}/desktop-shape.d.ts +0 -0
  1256. /package/dist/{setup → command/setup}/desktop-shape.js +0 -0
  1257. /package/dist/{setup → command/setup/init}/init-host.d.ts +0 -0
  1258. /package/dist/{setup → command/setup}/license-key.d.ts +0 -0
  1259. /package/dist/{setup → command/setup}/license-key.js +0 -0
  1260. /package/dist/{setup → command/setup/probe}/existing-app.d.ts +0 -0
  1261. /package/dist/{setup → command/setup/probe}/existing-app.js +0 -0
  1262. /package/dist/{setup → command/setup/probe}/loopback-probe-urls.d.ts +0 -0
  1263. /package/dist/{setup → command/setup/probe}/loopback-probe-urls.js +0 -0
  1264. /package/dist/{setup → command/setup}/remaining-steps.d.ts +0 -0
  1265. /package/dist/{setup → command/setup}/session-pick.d.ts +0 -0
  1266. /package/dist/{setup → command/setup}/session-pick.js +0 -0
  1267. /package/dist/{setup → command/setup/terminal}/confirm.d.ts +0 -0
  1268. /package/dist/{setup → command/setup/terminal}/interrupt.d.ts +0 -0
  1269. /package/dist/{setup → command/setup/terminal}/interrupt.js +0 -0
  1270. /package/dist/{setup → command/setup/terminal}/listeners.d.ts +0 -0
  1271. /package/dist/{setup → command/setup/terminal}/listeners.js +0 -0
  1272. /package/dist/{setup → command/setup/terminal}/transcripts.d.ts +0 -0
  1273. /package/dist/{setup → command/setup/terminal}/transcripts.js +0 -0
  1274. /package/dist/{setup → command/setup/terminal}/wait-progress.d.ts +0 -0
  1275. /package/dist/{setup → command/setup/terminal}/wait-progress.js +0 -0
  1276. /package/dist/{update → command/update}/nudge-credit.d.ts +0 -0
  1277. /package/dist/{update → command/update}/update-checker.d.ts +0 -0
  1278. /package/dist/{version → command/version/identity}/server-version.d.ts +0 -0
  1279. /package/dist/{version → command/version}/peer-announce.d.ts +0 -0
  1280. /package/dist/{version → command/version}/sdk-fix.d.ts +0 -0
  1281. /package/dist/{version → command/version}/version-nudge.d.ts +0 -0
  1282. /package/dist/{crawl → features/crawl}/crawl-empty.d.ts +0 -0
  1283. /package/dist/{crawl → features/crawl}/crawl-empty.js +0 -0
  1284. /package/dist/{ee → features/ee}/audit-log.d.ts +0 -0
  1285. /package/dist/{visual → features/visual}/capture-cleanup.d.ts +0 -0
  1286. /package/dist/{visual → features/visual}/capture-cleanup.js +0 -0
  1287. /package/dist/{visual → features/visual}/visual-diff.d.ts +0 -0
  1288. /package/dist/{visual → features/visual}/visual-diff.js +0 -0
  1289. /package/dist/{capsule → judgement/capsule}/divergence.js +0 -0
  1290. /package/dist/{capsule → judgement/capsule}/minimize.d.ts +0 -0
  1291. /package/dist/{capsule → judgement/capsule}/minimize.js +0 -0
  1292. /package/dist/{domain → judgement/domain}/domain-model.d.ts +0 -0
  1293. /package/dist/{domain → judgement/domain}/flow-risk.d.ts +0 -0
  1294. /package/dist/{hunt → judgement/hunt}/hunt-report.d.ts +0 -0
  1295. /package/dist/{hunt → judgement/hunt}/hunt-report.js +0 -0
  1296. /package/dist/{oracles → judgement/oracles}/flow-instrument-gaps.d.ts +0 -0
  1297. /package/dist/{oracles → judgement/oracles}/flow-instrument-gaps.js +0 -0
  1298. /package/dist/{oracles → judgement/oracles}/self-instrument.d.ts +0 -0
  1299. /package/dist/{oracles → judgement/oracles}/self-instrument.js +0 -0
  1300. /package/dist/{flows → judgement/outcome}/assertion-integrity.d.ts +0 -0
  1301. /package/dist/{flows → judgement/outcome}/assertion-integrity.js +0 -0
  1302. /package/dist/{flows → judgement/outcome}/attributed-failure.d.ts +0 -0
  1303. /package/dist/{flows → judgement/outcome}/attributed-failure.js +0 -0
  1304. /package/dist/{flows → judgement/outcome}/role-drift-reason.d.ts +0 -0
  1305. /package/dist/{flows → judgement/outcome}/role-drift-reason.js +0 -0
  1306. /package/dist/{flows → judgement/outcome}/verify-change-verdict.d.ts +0 -0
  1307. /package/dist/{flows → judgement/outcome}/verify-change-verdict.js +0 -0
  1308. /package/dist/{phenomena → judgement/phenomena}/phenomena.d.ts +0 -0
  1309. /package/dist/{phenomena → judgement/phenomena}/phenomena.js +0 -0
  1310. /package/dist/{runs → judgement/runs/artifact}/profile-redact.d.ts +0 -0
  1311. /package/dist/{runs → judgement/runs/artifact}/profile-redact.js +0 -0
  1312. /package/dist/{runs → judgement/runs/artifact}/render-report.d.ts +0 -0
  1313. /package/dist/{runs → judgement/runs/artifact}/replay-mapping.d.ts +0 -0
  1314. /package/dist/{runs → judgement/runs/artifact}/run-context.d.ts +0 -0
  1315. /package/dist/{runs → judgement/runs/artifact}/run-context.js +0 -0
  1316. /package/dist/{runs → judgement/runs/artifact}/run-diff.d.ts +0 -0
  1317. /package/dist/{runs → judgement/runs/artifact}/run-diff.js +0 -0
  1318. /package/dist/{runs → judgement/runs}/repair-prompt.d.ts +0 -0
  1319. /package/dist/{runs → judgement/runs}/repair-prompt.js +0 -0
  1320. /package/dist/{runs → judgement/runs}/risk-classify.d.ts +0 -0
  1321. /package/dist/{runs → judgement/runs}/risk-classify.js +0 -0
  1322. /package/dist/{runs → judgement/runs}/verify-http.d.ts +0 -0
  1323. /package/dist/{runs → judgement/runs}/verify-http.js +0 -0
  1324. /package/dist/{runs → judgement/runs}/verify-server.d.ts +0 -0
  1325. /package/dist/{runs → judgement/runs}/verify-server.js +0 -0
  1326. /package/dist/{flows → language/flows/annotate-notes}/annotate-target.d.ts +0 -0
  1327. /package/dist/{flows → language/flows/annotate-notes}/annotate-target.js +0 -0
  1328. /package/dist/{flows → language/flows/annotate-notes}/annotate.d.ts +0 -0
  1329. /package/dist/{flows → language/flows/annotate-notes}/annotate.js +0 -0
  1330. /package/dist/{flows → language/flows}/buddy-status.d.ts +0 -0
  1331. /package/dist/{flows → language/flows}/buddy-status.js +0 -0
  1332. /package/dist/{flows → language/flows/change}/gate.d.ts +0 -0
  1333. /package/dist/{flows → language/flows/change}/git-changed.d.ts +0 -0
  1334. /package/dist/{flows → language/flows/change}/git-changed.js +0 -0
  1335. /package/dist/{flows → language/flows/change}/watch-batcher.d.ts +0 -0
  1336. /package/dist/{flows → language/flows/change}/watch-batcher.js +0 -0
  1337. /package/dist/{flows → language/flows}/empty-flow.d.ts +0 -0
  1338. /package/dist/{flows → language/flows}/flow-memory-consult.d.ts +0 -0
  1339. /package/dist/{flows → language/flows}/flow-memory-consult.js +0 -0
  1340. /package/dist/{flows → language/flows}/flow-report.d.ts +0 -0
  1341. /package/dist/{flows → language/flows}/flow-report.js +0 -0
  1342. /package/dist/{flows → language/flows}/flow-scope.d.ts +0 -0
  1343. /package/dist/{flows → language/flows}/flow-scope.js +0 -0
  1344. /package/dist/{flows → language/flows}/flow-store-for-session.js +0 -0
  1345. /package/dist/{flows → language/flows}/heal.d.ts +0 -0
  1346. /package/dist/{flows → language/flows/recording}/flake.js +0 -0
  1347. /package/dist/{flows → language/flows/recording}/recording-backtrack.d.ts +0 -0
  1348. /package/dist/{flows → language/flows/recording}/replay-halt.d.ts +0 -0
  1349. /package/dist/{flows → language/flows/recording}/replay-halt.js +0 -0
  1350. /package/dist/{flows → language/flows}/role-anchor-nearest.d.ts +0 -0
  1351. /package/dist/{flows → language/flows/stores}/annotation-store.d.ts +0 -0
  1352. /package/dist/{flows → language/flows/stores}/annotation-store.js +0 -0
  1353. /package/dist/{flows → language/flows/suite}/coverage.d.ts +0 -0
  1354. /package/dist/{flows → language/flows/suite}/coverage.js +0 -0
  1355. /package/dist/{flows → language/flows/suite}/parallel-suite.d.ts +0 -0
  1356. /package/dist/{flows → language/flows/suite}/parallel-suite.js +0 -0
  1357. /package/dist/{platform.d.ts → machine/platform.d.ts} +0 -0
  1358. /package/dist/{platform.js → machine/platform.js} +0 -0
  1359. /package/dist/{temp-dir.d.ts → machine/temp-dir.d.ts} +0 -0
  1360. /package/dist/{temp-dir.js → machine/temp-dir.js} +0 -0
  1361. /package/dist/{cloud → memory/cloud}/sync-disk.d.ts +0 -0
  1362. /package/dist/{cloud → memory/cloud}/sync-hash.d.ts +0 -0
  1363. /package/dist/{cloud → memory/cloud}/sync-hash.js +0 -0
  1364. /package/dist/{journal → memory/journal}/deviation-report.d.ts +0 -0
  1365. /package/dist/{journal → memory/journal}/deviation-report.js +0 -0
  1366. /package/dist/{journal → memory/journal}/deviation-service.d.ts +0 -0
  1367. /package/dist/{journal → memory/journal}/deviation-service.js +0 -0
  1368. /package/dist/{journal → memory/journal}/envelope.js +0 -0
  1369. /package/dist/{journal → memory/journal}/rollups.d.ts +0 -0
  1370. /package/dist/{journal → memory/journal}/rollups.js +0 -0
  1371. /package/dist/{project → memory/project}/baselines.d.ts +0 -0
  1372. /package/dist/{project → memory/project}/baselines.js +0 -0
  1373. /package/dist/{project → memory/project}/file-lock.d.ts +0 -0
  1374. /package/dist/{project → memory/project}/file-lock.js +0 -0
  1375. /package/dist/{project → memory/project}/memory-fs.js +0 -0
  1376. /package/dist/{session → memory/recall}/looks-like-dev-server.d.ts +0 -0
  1377. /package/dist/{session → memory/recall}/looks-like-dev-server.js +0 -0
  1378. /package/dist/memory/{project-memory.js → recall/project-memory.js} +0 -0
  1379. /package/dist/{session → memory/recall}/registered-projects.d.ts +0 -0
  1380. /package/dist/{session → memory/recall}/registered-projects.js +0 -0
  1381. /package/dist/{bridge → portal/bridge}/pairing-token.d.ts +0 -0
  1382. /package/dist/{bridge → portal/bridge}/pairing-token.js +0 -0
  1383. /package/dist/{bridge → portal/bridge}/protocol-skew.d.ts +0 -0
  1384. /package/dist/{bridge → portal/bridge}/protocol-skew.js +0 -0
  1385. /package/dist/{bridge → portal/bridge}/token-auth.d.ts +0 -0
  1386. /package/dist/{bridge → portal/bridge}/token-auth.js +0 -0
  1387. /package/dist/{input → portal/input}/driven-redaction.d.ts +0 -0
  1388. /package/dist/{input → portal/input}/driven-redaction.js +0 -0
  1389. /package/dist/{input → portal/input}/network-mock.d.ts +0 -0
  1390. /package/dist/{input → portal/input}/scroll-find.d.ts +0 -0
  1391. /package/dist/{pool → portal/pool}/lease-reaper.d.ts +0 -0
  1392. /package/dist/{pool → portal/pool}/playwright-launcher.d.ts +0 -0
  1393. /package/dist/{pool → portal/pool}/storage-seed.js +0 -0
  1394. /package/dist/{session → portal/session}/control-envelope.d.ts +0 -0
  1395. /package/dist/{session → portal/session}/control-envelope.js +0 -0
  1396. /package/dist/{session → portal/session/dev-server}/dev-command.d.ts +0 -0
  1397. /package/dist/{session → portal/session/dev-server}/dev-command.js +0 -0
  1398. /package/dist/{session → portal/session/dev-server}/dev-server-probe.d.ts +0 -0
  1399. /package/dist/{session → portal/session/facts}/ref-provenance.d.ts +0 -0
  1400. /package/dist/{session → portal/session/facts}/ref-provenance.js +0 -0
  1401. /package/dist/{session → portal/session}/fake-session.d.ts +0 -0
  1402. /package/dist/{session → portal/session}/fake-session.js +0 -0
  1403. /package/dist/{session → portal/session/human}/live-control.d.ts +0 -0
  1404. /package/dist/{session → portal/session/human}/live-control.js +0 -0
  1405. /package/dist/{session → portal/session/human}/presenter-args.d.ts +0 -0
  1406. /package/dist/{session → portal/session/human}/presenter-args.js +0 -0
  1407. /package/dist/{session → portal/session/human}/review-store.d.ts +0 -0
  1408. /package/dist/{session → portal/session/human}/review-store.js +0 -0
  1409. /package/dist/{session → portal/session}/last-act.d.ts +0 -0
  1410. /package/dist/{session → portal/session}/last-act.js +0 -0
  1411. /package/dist/{session → portal/session}/lease-visibility.d.ts +0 -0
  1412. /package/dist/{session → portal/session}/lease-visibility.js +0 -0
  1413. /package/dist/{session → portal/session}/no-session-watch.d.ts +0 -0
  1414. /package/dist/{session → portal/session/page-commands}/pending-commands.d.ts +0 -0
  1415. /package/dist/{session → portal/session/page-commands}/pending-commands.js +0 -0
  1416. /package/dist/{session → portal/session/presence}/attachment-history.d.ts +0 -0
  1417. /package/dist/{session → portal/session/presence}/attachment-history.js +0 -0
  1418. /package/dist/{session → portal/session/presence}/lease-availability.d.ts +0 -0
  1419. /package/dist/{session → portal/session/presence}/lease-availability.js +0 -0
  1420. /package/dist/{session → portal/session/presence}/session-lease.d.ts +0 -0
  1421. /package/dist/{session → portal/session/presence}/session-lease.js +0 -0
  1422. /package/dist/{session → portal/session/presence}/session-mirror.d.ts +0 -0
  1423. /package/dist/{session → portal/session/presence}/session-mirror.js +0 -0
  1424. /package/dist/{session → portal/session/presence}/session-recommendation.d.ts +0 -0
  1425. /package/dist/{session → portal/session}/session-info.d.ts +0 -0
  1426. /package/dist/{session → portal/session}/session-info.js +0 -0
  1427. /package/dist/{session → portal/session}/session-reconnect.d.ts +0 -0
  1428. /package/dist/{session → portal/session}/session-reconnect.js +0 -0
  1429. /package/dist/{session → portal/session}/session-successor.d.ts +0 -0
  1430. /package/dist/{session → portal/session}/session-successor.js +0 -0
  1431. /package/dist/{session → portal/session}/stall-clock.d.ts +0 -0
  1432. /package/dist/{session → portal/session}/state-select.d.ts +0 -0
  1433. /package/dist/{session → portal/session}/state-select.js +0 -0
  1434. /package/dist/{session → portal/session/timing}/resolve-within.d.ts +0 -0
  1435. /package/dist/{session → portal/session/timing}/resolve-within.js +0 -0
  1436. /package/dist/{session → portal/session/timing}/wall-clock.d.ts +0 -0
  1437. /package/dist/{session → portal/session/timing}/wall-clock.js +0 -0
  1438. /package/dist/{loopback-agent.d.ts → surface/loopback-agent.d.ts} +0 -0
  1439. /package/dist/{loopback-agent.js → surface/loopback-agent.js} +0 -0
  1440. /package/dist/{mcp → surface/mcp}/attach-memory.d.ts +0 -0
  1441. /package/dist/{mcp → surface/mcp}/attach-memory.js +0 -0
  1442. /package/dist/{mcp → surface/mcp/peer}/client-identity.d.ts +0 -0
  1443. /package/dist/{mcp → surface/mcp/peer}/client-identity.js +0 -0
  1444. /package/dist/{mcp → surface/mcp/proxy}/mcp-post-transport.d.ts +0 -0
  1445. /package/dist/{mcp → surface/mcp/proxy}/proxy-backoff.d.ts +0 -0
  1446. /package/dist/{mcp → surface/mcp/proxy}/proxy-backoff.js +0 -0
  1447. /package/dist/{mcp → surface/mcp/proxy}/proxy-handshake.d.ts +0 -0
  1448. /package/dist/{mcp → surface/mcp}/proxy-idle-exit.d.ts +0 -0
  1449. /package/dist/{mcp → surface/mcp}/proxy-idle-exit.js +0 -0
  1450. /package/dist/{mcp → surface/mcp}/shared-params.d.ts +0 -0
  1451. /package/dist/{mcp → surface/mcp}/shared-params.js +0 -0
  1452. /package/dist/{mcp → surface/mcp}/sse-frame-parser.d.ts +0 -0
  1453. /package/dist/{mcp → surface/mcp}/sse-frame-parser.js +0 -0
  1454. /package/dist/{tools → surface/tools/act}/act-danger.d.ts +0 -0
  1455. /package/dist/{tools → surface/tools/act}/act-sequence-retry.d.ts +0 -0
  1456. /package/dist/{tools → surface/tools/act}/act-sequence-retry.js +0 -0
  1457. /package/dist/{tools → surface/tools/act}/act-view.d.ts +0 -0
  1458. /package/dist/{tools → surface/tools/act}/act-view.js +0 -0
  1459. /package/dist/{tools → surface/tools/act/navigation}/navigate-arrival.js +0 -0
  1460. /package/dist/{tools → surface/tools/act/navigation}/navigate-result.d.ts +0 -0
  1461. /package/dist/{tools → surface/tools/act/navigation}/navigate-result.js +0 -0
  1462. /package/dist/{tools → surface/tools/act/navigation}/reload-result.d.ts +0 -0
  1463. /package/dist/{tools → surface/tools/act/navigation}/reload-result.js +0 -0
  1464. /package/dist/{tools → surface/tools/act}/react-grace.d.ts +0 -0
  1465. /package/dist/{tools → surface/tools/act}/react-grace.js +0 -0
  1466. /package/dist/{tools → surface/tools/act}/resolve-target.d.ts +0 -0
  1467. /package/dist/{tools → surface/tools/act}/settle-in-flight.d.ts +0 -0
  1468. /package/dist/{tools → surface/tools/act}/settle-in-flight.js +0 -0
  1469. /package/dist/{tools → surface/tools}/act-sequence-tool.d.ts +0 -0
  1470. /package/dist/{tools → surface/tools/args}/alias-args.d.ts +0 -0
  1471. /package/dist/{tools → surface/tools/args}/alias-args.js +0 -0
  1472. /package/dist/{tools → surface/tools/gaps}/coverage-identity.d.ts +0 -0
  1473. /package/dist/{tools → surface/tools/gaps}/coverage-identity.js +0 -0
  1474. /package/dist/{tools → surface/tools/gaps}/observed-nothing.d.ts +0 -0
  1475. /package/dist/{tools → surface/tools/gaps}/observed-nothing.js +0 -0
  1476. /package/dist/{tools → surface/tools/gaps}/sdk-marker-probe.d.ts +0 -0
  1477. /package/dist/{tools → surface/tools/gaps}/sdk-marker-probe.js +0 -0
  1478. /package/dist/{tools → surface/tools}/observe-tools.d.ts +0 -0
  1479. /package/dist/{tools → surface/tools/read}/complete-snapshot.d.ts +0 -0
  1480. /package/dist/{tools → surface/tools/read}/complete-snapshot.js +0 -0
  1481. /package/dist/{tools → surface/tools/read}/query-paginate.d.ts +0 -0
  1482. /package/dist/{tools → surface/tools/read}/query-paginate.js +0 -0
  1483. /package/dist/{tools → surface/tools/read}/query-shape.d.ts +0 -0
  1484. /package/dist/{tools → surface/tools/read}/query-shape.js +0 -0
  1485. /package/dist/{tools → surface/tools}/read-tools.d.ts +0 -0
  1486. /package/dist/{tools → surface/tools}/reconcile-tools.d.ts +0 -0
  1487. /package/dist/{honesty → surface/tools}/tool-hit-rate.d.ts +0 -0
  1488. /package/dist/{tools → surface/tools}/tool-invoker.d.ts +0 -0
  1489. /package/dist/{tools → surface/tools}/tool-invoker.js +0 -0
  1490. /package/dist/{tools → surface/tools}/unadvertised-help.d.ts +0 -0
  1491. /package/dist/{tools → surface/tools}/verify-next-baton.d.ts +0 -0
  1492. /package/docs/{tools-session-and-feedback.mdx → tools/session-and-feedback.mdx} +0 -0
  1493. /package/docs/{tools-tools-and-run.mdx → tools/tools-and-run.mdx} +0 -0
@@ -0,0 +1,360 @@
1
+ /**
2
+ * The native-input attempt — everything that decides whether a pointer action is driven through a
3
+ * real input provider or falls back to the occlusion-honest synthetic path, and WHY.
4
+ *
5
+ * Split out of act-tools.ts along its natural seam: the act tools care only about the outcome
6
+ * (`result` defined = it went native), never about provider availability, box resolution,
7
+ * drag-target inspection or the reason taxonomy.
8
+ *
9
+ * Also hosts `rewriteUploadArgs` — the daemon-side path that lets an agent name a file on disk
10
+ * and have its REAL bytes reach the browser's `<input type="file">`. The browser SDK cannot read
11
+ * the filesystem; the daemon can. The rewrite happens here, before the ACT command crosses the
12
+ * bridge, so the browser side sees a normal `{ content, name, type }` call and `assertUploadArgs`
13
+ * keeps its invariant (no fabricated bytes, no silently-dropped keys).
14
+ *
15
+ * Trust boundary: scoped to the project root (one level above `deps.reticleRoot`) plus any
16
+ * opt-in `uploadRoots` declared in `.reticle.json`, resolved through `realpath` so symlinks
17
+ * cannot escape an allowed root. Sensitive files (.env*, .git/, *.pem, id_*, .npmrc) are denied
18
+ * with a message that says why. The cap is derived from the bridge's own MAX_MESSAGE_BYTES with
19
+ * the base64 4/3 inflation factor applied, so the encoded payload always fits in one WebSocket
20
+ * frame.
21
+ */
22
+ import { ActionType, InputModeReason, ReticleCommand, TRANSPORT_LIMITS } from '@reticlehq/core';
23
+ import { boxCenter, isPointerAction } from '../../portal/input/real-input.js';
24
+ import { assertDragNotDestructive, assertNotDestructive } from './act/act-danger.js';
25
+ import { NATIVE_INPUT_ARG } from '@reticlehq/core';
26
+ import { asRecord, asString } from '@reticlehq/core';
27
+ import { commandOrThrow } from './tool-kit.js';
28
+ import { asBox } from './act/act-helpers.js';
29
+ import { isAbsolute, join, relative, extname, basename, resolve } from 'node:path';
30
+ import { homedir } from 'node:os';
31
+ import { RETICLE_CONFIG_BASENAME } from '../../command/cli/ports/resolve/cli-port.js';
32
+ /**
33
+ * Minimal extension → MIME-type table for the file types agents most commonly upload.
34
+ * Falls back to `application/octet-stream` for anything not listed here — the browser and
35
+ * the receiving server both sniff the real type from the bytes anyway.
36
+ */
37
+ const MIME_BY_EXT = {
38
+ '.pdf': 'application/pdf',
39
+ '.csv': 'text/csv',
40
+ '.txt': 'text/plain',
41
+ '.json': 'application/json',
42
+ '.xml': 'application/xml',
43
+ '.html': 'text/html',
44
+ '.htm': 'text/html',
45
+ '.png': 'image/png',
46
+ '.jpg': 'image/jpeg',
47
+ '.jpeg': 'image/jpeg',
48
+ '.gif': 'image/gif',
49
+ '.webp': 'image/webp',
50
+ '.svg': 'image/svg+xml',
51
+ '.zip': 'application/zip',
52
+ '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
53
+ '.xls': 'application/vnd.ms-excel',
54
+ '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
55
+ '.doc': 'application/msword',
56
+ '.mp4': 'video/mp4',
57
+ '.mp3': 'audio/mpeg',
58
+ };
59
+ function mimeFromPath(filePath) {
60
+ return MIME_BY_EXT[extname(filePath).toLowerCase()] ?? 'application/octet-stream';
61
+ }
62
+ /**
63
+ * Sensitive path patterns that are refused even inside the project root.
64
+ *
65
+ * The project root is the right scope for fixture files. It also contains secrets that live
66
+ * inside a repo: .env*, .git/config, *.pem, id_rsa, .npmrc. An agent whose context includes
67
+ * text it just read off the page can be prompted to "verify the importer — upload your .env".
68
+ * The deny-list keeps fixtures/foo.pdf working while closing that path.
69
+ *
70
+ * Patterns are matched against the resolved basename (after realpath, so no symlink aliasing).
71
+ */
72
+ const DENIED_PATTERNS = [
73
+ /^\.env(\.|$)/i, // .env, .env.local, .env.production …
74
+ /^\.git$/i, // .git directory itself
75
+ /\.pem$/i, // TLS private keys
76
+ /^id_/i, // SSH private keys: id_rsa, id_ed25519 …
77
+ /^\.npmrc$/i, // npm auth tokens
78
+ /^\.netrc$/i, // generic credential store
79
+ /^\.aws$/i, // AWS credentials directory
80
+ ];
81
+ function isDeniedPath(resolvedPath) {
82
+ // Check every segment of the path, not just the basename, so .git/config is caught too.
83
+ const segments = resolvedPath.split(/[/\\]/);
84
+ return segments.some((seg) => DENIED_PATTERNS.some((re) => re.test(seg)));
85
+ }
86
+ /**
87
+ * Maximum raw bytes the daemon will read for an upload.
88
+ *
89
+ * The bridge serialises bytes as base64 inside a JSON WebSocket frame; base64 inflates by 4/3.
90
+ * The frame must fit within MAX_MESSAGE_BYTES (the maxPayload applied to BOTH bridge sockets).
91
+ * We leave ~25% headroom for the JSON envelope (action type, ref, other fields).
92
+ *
93
+ * Previously hardcoded at 10 MiB, which is 13× the 1 MiB frame limit — any enterprise PDF
94
+ * would have been rejected by the socket, not by this guard. Now derived from the same constant
95
+ * that configures the socket so they can never drift.
96
+ */
97
+ const UPLOAD_MAX_BYTES = Math.floor((TRANSPORT_LIMITS.MAX_MESSAGE_BYTES / (4 / 3)) * 0.75);
98
+ /**
99
+ * Expand a leading `~` against the caller's home directory. Absolute and relative paths pass
100
+ * through unchanged. `home` is injected so unit tests do not depend on the machine's real home.
101
+ */
102
+ export function expandUserPath(rawPath, home) {
103
+ if ('~' === rawPath)
104
+ return home;
105
+ if (rawPath.startsWith('~/') || rawPath.startsWith('~\\'))
106
+ return join(home, rawPath.slice(2));
107
+ return rawPath;
108
+ }
109
+ /** True when `real` is inside `root` after both have been realpath'd / resolved. */
110
+ function isInsideRoot(real, root) {
111
+ const rel = relative(root, real);
112
+ return !rel.startsWith('..') && !isAbsolute(rel);
113
+ }
114
+ /**
115
+ * Opt-in extra upload directories from `.reticle.json` (`uploadRoots`). Absent, empty, or unreadable
116
+ * config means project-root only — the previous default, kept on purpose.
117
+ */
118
+ async function readUploadRoots(projectRoot, fs, home) {
119
+ const configPath = join(projectRoot, RETICLE_CONFIG_BASENAME);
120
+ let raw;
121
+ try {
122
+ raw = await fs.readFile(configPath);
123
+ }
124
+ catch {
125
+ return [];
126
+ }
127
+ let parsed;
128
+ try {
129
+ parsed = JSON.parse(raw);
130
+ }
131
+ catch {
132
+ return [];
133
+ }
134
+ if ('object' !== typeof parsed || null === parsed || Array.isArray(parsed))
135
+ return [];
136
+ const listed = parsed['uploadRoots'];
137
+ if (!Array.isArray(listed))
138
+ return [];
139
+ const roots = [];
140
+ for (const entry of listed) {
141
+ if ('string' !== typeof entry || 0 === entry.trim().length)
142
+ continue;
143
+ roots.push(resolve(expandUserPath(entry.trim(), home)));
144
+ }
145
+ return roots;
146
+ }
147
+ /**
148
+ * Resolve and validate a caller-supplied upload path.
149
+ *
150
+ * 1. Expand a leading `~`, then resolve to absolute (join against project root for relative paths).
151
+ * 2. Call `realpath` to follow symlinks — `relative()` is lexical and a symlink inside the tree
152
+ * can point outside it; realpath is the only reliable check.
153
+ * 3. Confirm the real path is within the project root or an opt-in `uploadRoots` entry.
154
+ * 4. Confirm the path does not match the sensitive-file deny-list.
155
+ *
156
+ * Returns the resolved real path on success. Throws with a user-readable message on any violation.
157
+ */
158
+ async function resolveUploadPath(rawPath, projectRoot, fs, uploadRoots, home) {
159
+ const expanded = expandUserPath(rawPath, home);
160
+ const abs = isAbsolute(expanded) ? expanded : join(projectRoot, expanded);
161
+ // realpath resolves symlinks; it also rejects ENOENT, so we get a clear missing-file error.
162
+ const real = await fs.realpath(abs).catch(() => {
163
+ throw new Error(`upload path '${rawPath}' could not be read: file not found or not accessible.`);
164
+ });
165
+ const allowed = [projectRoot, ...uploadRoots];
166
+ if (!allowed.some((root) => isInsideRoot(real, root))) {
167
+ const listed = allowed.map((r) => `'${r}'`).join(', ');
168
+ throw new Error(`upload path '${rawPath}' resolves to '${real}', which is outside every allowed upload root ` +
169
+ `(${listed}). Paths must sit under the project directory or an entry in ` +
170
+ `\`.reticle.json\`'s \`uploadRoots\` (e.g. ["~/Downloads"]).`);
171
+ }
172
+ if (isDeniedPath(real)) {
173
+ throw new Error(`upload path '${rawPath}' matches a sensitive-file pattern and cannot be read by the daemon. ` +
174
+ 'Fixture files for upload tests should live in a dedicated directory (e.g. fixtures/).');
175
+ }
176
+ return real;
177
+ }
178
+ /**
179
+ * If the action is `upload` AND the inner args carry `path`, read the file from disk and rewrite
180
+ * the args to `{ content, name, type, __base64: true }` before the ACT command reaches the browser.
181
+ *
182
+ * Returns the (possibly rewritten) args object. All other actions are returned unchanged.
183
+ *
184
+ * This is the SINGLE interception point — called from session.command() so flow replay, crawl,
185
+ * and every other ACT dispatch site are covered without per-site wiring.
186
+ */
187
+ export async function rewriteUploadArgs(deps, action, innerArgs,
188
+ /** Injected for tests; production uses the process home directory. */
189
+ home = homedir()) {
190
+ if (action !== ActionType.UPLOAD)
191
+ return innerArgs;
192
+ const rawPath = asString(innerArgs['path']);
193
+ if (rawPath === undefined)
194
+ return innerArgs; // no path → browser handles as inline upload
195
+ // Project root is one level above .reticle/
196
+ const projectRoot = resolve(join(deps.reticleRoot, '..'));
197
+ const uploadRoots = await readUploadRoots(projectRoot, deps.fs, home);
198
+ // Blocker 4 fix: stat FIRST, before allocating read buffer, so a huge file fails fast.
199
+ const realPath = await resolveUploadPath(rawPath, projectRoot, deps.fs, uploadRoots, home);
200
+ const fileStat = await deps.fs.stat(realPath).catch(() => {
201
+ throw new Error(`upload path '${rawPath}' could not be read: file not found or not accessible.`);
202
+ });
203
+ // Blocker 2 fix: cap is now derived from TRANSPORT_LIMITS so it can never exceed the socket limit.
204
+ if (fileStat.size > UPLOAD_MAX_BYTES) {
205
+ throw new Error(`upload path '${rawPath}' is ${fileStat.size} bytes, which exceeds the ` +
206
+ `${UPLOAD_MAX_BYTES} byte upload limit (bridge frame cap). ` +
207
+ 'Split the file or pass its bytes as args.content directly.');
208
+ }
209
+ const bytes = await deps.fs.readFileBytes(realPath).catch(() => {
210
+ throw new Error(`upload path '${rawPath}' could not be read: file not found or not accessible.`);
211
+ });
212
+ // Encode as base-64 so the bytes survive JSON serialisation across the bridge.
213
+ const content = Buffer.from(bytes).toString('base64');
214
+ // Infer MIME type from the file extension; fall back to octet-stream if unknown.
215
+ const callerType = asString(innerArgs['type']);
216
+ const type = callerType ?? mimeFromPath(realPath);
217
+ // Default filename to the basename of the REAL path (post-symlink-resolution).
218
+ const callerName = asString(innerArgs['name']);
219
+ const name = callerName ?? basename(realPath);
220
+ // Strip 'path' — the browser does not know it; assertUploadArgs would refuse it.
221
+ // __base64: true tells the browser-side dispatch to decode content before File construction.
222
+ const { path: _dropped, name: _n, type: _t, ...rest } = innerArgs;
223
+ return { ...rest, content, name, type, __base64: true };
224
+ }
225
+ /** Synthetic outcome with a diagnostic reason (provider configured but native input skipped). */
226
+ function synthetic(reason) {
227
+ return reason === undefined
228
+ ? { result: undefined, settled: false }
229
+ : { result: undefined, settled: false, reason };
230
+ }
231
+ /**
232
+ * Hover without a native pointer is a false success: synthetic mouseover reports dispatched and
233
+ * settled while CSS `:hover` never applies. Same refusal shape as contenteditable — name the gap
234
+ * rather than pretend the action ran.
235
+ */
236
+ export const HOVER_NEEDS_POINTER_MSG = 'cannot hover without a real pointer — CSS :hover only applies to a native mouse move, never to a synthetic mouseover';
237
+ function hoverSucceeded(center) {
238
+ return { result: { performed: true, center, action: ActionType.HOVER }, settled: true };
239
+ }
240
+ /**
241
+ * Drive hover through a real pointer (CDP provider, then a leased Playwright page), or refuse.
242
+ *
243
+ * A leased tab already owns Chromium — the pool can move the mouse even when `reticle drive` /
244
+ * `RETICLE_CDP_URL` never configured a provider. Falling through to synthetic dispatch is the
245
+ * bug: the tool reports done and the styles never ran.
246
+ */
247
+ async function hoverForReal(deps, session, ref, inner, provider) {
248
+ const providerReady = provider !== undefined && (await provider.isAvailableFor(session.url));
249
+ if (!providerReady && deps.pool === undefined) {
250
+ throw new Error(HOVER_NEEDS_POINTER_MSG);
251
+ }
252
+ const inspected = await commandOrThrow(deps, session.id, ReticleCommand.INSPECT, { ref });
253
+ assertNotDestructive(ActionType.HOVER, inner, inspected);
254
+ const box = asBox(inspected);
255
+ if (box === undefined) {
256
+ throw new Error(HOVER_NEEDS_POINTER_MSG);
257
+ }
258
+ if (providerReady && provider !== undefined) {
259
+ try {
260
+ const performed = await provider.perform(session.url, ActionType.HOVER, box, {});
261
+ if (performed.performed)
262
+ return hoverSucceeded(performed.center);
263
+ }
264
+ catch {
265
+ // A provider error used to fall back to synthetic dispatch. For hover that is a lie.
266
+ }
267
+ }
268
+ const { cx, cy } = boxCenter(box);
269
+ if (true === (await deps.pool?.hoverLease(session.id, cx, cy))) {
270
+ return hoverSucceeded({ cx, cy });
271
+ }
272
+ throw new Error(HOVER_NEEDS_POINTER_MSG);
273
+ }
274
+ /**
275
+ * Attempt to drive a pointer action via native input. Returns a synthetic outcome (with a
276
+ * `reason` when a provider is configured) whenever the synthetic path should run — no matching
277
+ * page, unresolvable box, declined, etc. A throw inside the provider becomes a synthetic fallback
278
+ * flagged with `fellBack`. `result` is defined only on a real success.
279
+ *
280
+ * Hover is the exception: it never returns synthetic. CSS `:hover` is not applied by
281
+ * `dispatchEvent`, so a synthetic success is the defect. The call either drives a real pointer
282
+ * or throws.
283
+ */
284
+ export async function tryRealInput(deps, session, ref, action, args) {
285
+ const provider = deps.realInput;
286
+ const inner = asRecord(args['args']);
287
+ const askedForNative = true === inner[NATIVE_INPUT_ARG];
288
+ if (action === ActionType.HOVER) {
289
+ return hoverForReal(deps, session, ref, inner, provider);
290
+ }
291
+ if (provider === undefined) {
292
+ // Silent by default: with no provider EVERY action is synthetic, and a reason on all of them is
293
+ // noise on the most-used tool in the product. But an agent that passed native:true asked a
294
+ // question and got the opposite answer — reported from the field as a silent downgrade that cost
295
+ // real debugging time, because the tool description promises a reason is "never silent".
296
+ return askedForNative ? synthetic(InputModeReason.NOT_CONFIGURED) : synthetic();
297
+ }
298
+ if (!isPointerAction(action))
299
+ return synthetic(InputModeReason.NOT_POINTER); // fill/type stay synthetic
300
+ // "Don't click, run the code": a click/dblclick runs the occlusion-honest SYNTHETIC path by default
301
+ // even with a provider configured — no coordinate gesture to be intercepted by the HUD or missed
302
+ // off-screen. Opt into a trusted native click with args.native:true (file pickers, clipboard,
303
+ // isTrusted-gated handlers). hover/drag genuinely need native pointer state, so they stay real.
304
+ if ((action === ActionType.CLICK || action === ActionType.DBLCLICK) && !askedForNative) {
305
+ return synthetic(InputModeReason.SYNTHETIC_CLICK_PREFERRED);
306
+ }
307
+ // Under version skew CDP is unusable while DOM tools still work (#688). Surface the skew sentence
308
+ // rather than "page not correlated" / a silent provider-error fallback — those send the agent
309
+ // hunting a dead context that is not dead.
310
+ if (session.versionSkew !== undefined) {
311
+ throw new Error(session.versionSkew);
312
+ }
313
+ if (!(await provider.isAvailableFor(session.url)))
314
+ return synthetic(InputModeReason.PAGE_NOT_CORRELATED);
315
+ const inspected = await commandOrThrow(deps, session.id, ReticleCommand.INSPECT, { ref });
316
+ assertNotDestructive(action, inner, inspected);
317
+ const box = asBox(inspected);
318
+ if (box === undefined)
319
+ return synthetic(InputModeReason.ELEMENT_NOT_LOCATABLE);
320
+ let toBox;
321
+ if (action === ActionType.DRAG) {
322
+ const toRef = asString(inner['toRef']);
323
+ if (toRef === undefined)
324
+ return synthetic(InputModeReason.DRAG_TARGET_UNRESOLVED);
325
+ const targetInspected = await commandOrThrow(deps, session.id, ReticleCommand.INSPECT, {
326
+ ref: toRef,
327
+ });
328
+ // A drag is judged on BOTH ends: dropping onto "Trash" is destructive however innocent the
329
+ // thing being dragged looks.
330
+ assertDragNotDestructive(inner, inspected, targetInspected);
331
+ toBox = asBox(targetInspected);
332
+ if (toBox === undefined)
333
+ return synthetic(InputModeReason.DRAG_TARGET_UNRESOLVED);
334
+ }
335
+ const performArgs = {};
336
+ const value = asString(inner['value']);
337
+ if (value !== undefined)
338
+ performArgs.value = value;
339
+ const text = asString(inner['text']);
340
+ if (text !== undefined)
341
+ performArgs.text = text;
342
+ if (toBox !== undefined)
343
+ performArgs.toBox = toBox;
344
+ try {
345
+ const performed = await provider.perform(session.url, action, box, performArgs);
346
+ if (!performed.performed)
347
+ return synthetic(InputModeReason.PROVIDER_DECLINED);
348
+ return { result: { performed: true, center: performed.center, action }, settled: true };
349
+ }
350
+ catch {
351
+ if (session.versionSkew !== undefined)
352
+ throw new Error(session.versionSkew);
353
+ return {
354
+ result: undefined,
355
+ settled: false,
356
+ fellBack: true,
357
+ reason: InputModeReason.PROVIDER_ERROR,
358
+ };
359
+ }
360
+ }
@@ -0,0 +1,211 @@
1
+ import { bodyCaptureRemedy } from '@reticlehq/engine/evidence/body-capture-remedy.js';
2
+ import { z } from 'zod';
3
+ import { witnessDisagreement, WitnessOutcome, } from '@reticlehq/engine/disagreement/witness-disagreement.js';
4
+ /** How long to wait on the outside observer. Short: it is a read model, not the app under test. */
5
+ const WITNESS_MS = 5_000;
6
+ import { EventType, ReticleCommand, SnapshotMode, urlForMatch } from '@reticlehq/core';
7
+ import { ReticleTool } from '@reticlehq/core';
8
+ import { cursorSchema } from './args/numeric-bounds.js';
9
+ import { reconcile } from '@reticlehq/engine/disagreement/reconcile.js';
10
+ import { salvageJson } from '@reticlehq/engine/window/json-salvage.js';
11
+ import { withControl } from '../../portal/session/control-envelope.js';
12
+ import { asNumber, asString } from '@reticlehq/core';
13
+ import { sessionIdShape, commandOrThrow } from './tool-kit.js';
14
+ import { readCompleteTree } from './read/complete-snapshot.js';
15
+ import { HttpWitness } from '../../portal/realm/http-witness.js';
16
+ /**
17
+ * Does the screen agree with the data the app was given?
18
+ *
19
+ * A separate tool rather than a passive contradiction rule, because it needs the rendered page as
20
+ * well as the events — a comparison, not an observation. Passive rules stay pure and run on every
21
+ * window; this one costs a snapshot, so the agent asks for it.
22
+ *
23
+ * It exists because the misses that mattered on a real payments dashboard were all this shape: a USD
24
+ * amount rendered with a rupee sign, a settlement the API calls `on_hold` rendered as "pending". No
25
+ * request fails, no assertion fails, and the numbers on screen match the numbers in the payload. The
26
+ * only thing that disagrees is the meaning.
27
+ */
28
+ /** Response bodies captured in the window, newest last. Only JSON is worth comparing. */
29
+ async function capturedBodies(session, since, urlContains) {
30
+ const events = (await session.queryEvents({ since }));
31
+ const bodies = [];
32
+ let withBody = 0;
33
+ let total = 0;
34
+ let truncated = 0;
35
+ for (const event of events) {
36
+ if (event.type !== EventType.NET_REQUEST)
37
+ continue;
38
+ const url = urlForMatch(event.data);
39
+ if (urlContains !== undefined && !url.includes(urlContains))
40
+ continue;
41
+ total += 1;
42
+ const raw = event.data['responseBody'];
43
+ if (typeof raw !== 'string' || 0 === raw.length)
44
+ continue;
45
+ // A capped body is not an absent one. Recover the records that closed before the cut rather than
46
+ // reporting nothing about the page with the most data on it.
47
+ const salvaged = salvageJson(raw);
48
+ if (0 === salvaged.values.length)
49
+ continue;
50
+ bodies.push(...salvaged.values);
51
+ withBody += 1;
52
+ if (salvaged.partial)
53
+ truncated += 1;
54
+ }
55
+ return { bodies, withBody, total, truncated };
56
+ }
57
+ export const RECONCILE_TOOLS = [
58
+ {
59
+ name: ReticleTool.RECONCILE,
60
+ example: { urlContains: '/api/v1/settlements' },
61
+ description: 'Compare what the API returned against what the page RENDERS. Catches the class no status code and no assertion can: a USD amount shown with a ₹ sign, a record the API calls `on_hold` displayed as "pending". Needs response bodies — enable `captureNetworkBodies` — and says so when they are missing rather than reporting a clean result over data it never read.',
62
+ inputSchema: {
63
+ ...sessionIdShape,
64
+ since: cursorSchema
65
+ .optional()
66
+ .describe('Cursor from a prior act — scopes to responses received after it. Default: 0.'),
67
+ urlContains: z
68
+ .string()
69
+ .optional()
70
+ .describe('Only compare responses from URLs containing this, e.g. "/api/v1/settlements".'),
71
+ witness: z
72
+ .object({
73
+ url: z.string().url(),
74
+ expect: z.string().optional(),
75
+ })
76
+ .optional()
77
+ .describe('An observer OUTSIDE the app — a read-only endpoint that reports what really happened (a row count, a mail sink, an admin read model). Everything else this tool compares is the app describing itself, so an app that lies to itself repeats the lie on every channel. This is the one reading it cannot author. GET the url; `expect` is a substring the response must contain for the effect to count as SEEN. Unreachable is reported as inconclusive and NEVER as agreement.'),
78
+ },
79
+ outputSchema: {
80
+ mismatches: z
81
+ .array(z.object({ entity: z.string(), field: z.string(), api: z.string() }).passthrough())
82
+ .describe('Fields whose rendering disagrees with the data the app was given.'),
83
+ compared: z.number().describe('How many responses carried a body that could be compared.'),
84
+ note: z
85
+ .string()
86
+ .optional()
87
+ .describe('Present when nothing could be compared — never silent about an empty check.'),
88
+ witness: z
89
+ .object({ kind: z.string(), because: z.string(), inconclusive: z.boolean().optional() })
90
+ .optional()
91
+ .describe('Present only when a `witness` was supplied AND it disagreed with the app, or could not be reached. Two independent observers disagreeing is a fact, not an inference — it is the strongest finding this tool can produce.'),
92
+ },
93
+ handler: async (deps, args) => {
94
+ const session = deps.sessions.resolve(asString(args['sessionId']));
95
+ const since = asNumber(args['since']) ?? 0;
96
+ const { bodies, withBody, total, truncated } = await capturedBodies(session, since, asString(args['urlContains']));
97
+ // An empty result over data that was never read is the exact false green this tool exists to
98
+ // prevent, so the two cases are reported differently and neither is silent.
99
+ if (0 === bodies.length) {
100
+ return withControl(session, {
101
+ mismatches: [],
102
+ compared: 0,
103
+ note: 0 === total
104
+ ? 'no responses in this window matched — nothing was compared'
105
+ : `${String(total)} response(s) matched but NONE carried a recorded body, so nothing was compared. ${bodyCaptureRemedy(session.sdkVersion)}`,
106
+ });
107
+ }
108
+ // The whole page, INCLUDING whatever the snapshot's node cap cut off. A comparison against a
109
+ // prefix of the page can miss the row that disagrees and can invent one that does not — the
110
+ // value it was looking for may simply sit past the cut.
111
+ const page = await readCompleteTree((scope) => commandOrThrow(deps, session.id, ReticleCommand.SNAPSHOT, {
112
+ mode: SnapshotMode.FULL,
113
+ ...(scope === undefined ? {} : { scope, includeRoot: true }),
114
+ }));
115
+ const mismatches = reconcile(bodies, page.tree);
116
+ /*
117
+ * Consult the observer outside the app, when one was named.
118
+ *
119
+ * Everything above is the app describing itself — its own responses against its own page — so
120
+ * an app that lies to itself repeats the lie consistently and no amount of it settles
121
+ * anything. This is the one reading the subject cannot author.
122
+ *
123
+ * Consulted BEFORE the completeness refusal below, for the reason that refusal itself gives:
124
+ * a finding FOUND in a partial page is still found. The witness was last, so a page that could
125
+ * not be read fully threw before the outside observer was ever contacted — discarding the
126
+ * strongest evidence available at exactly the moment the app's own evidence is unreadable.
127
+ *
128
+ * "The app claims" is taken as: it returned a body worth comparing and nothing on screen
129
+ * contradicts it. That is the strongest self-report available here, and it is exactly the
130
+ * claim a witness is for checking.
131
+ */
132
+ const witnessArg = args['witness'];
133
+ let witness;
134
+ if (witnessArg !== null && 'object' === typeof witnessArg) {
135
+ const { url, expect: needle } = witnessArg;
136
+ const appClaims = withBody > 0 && 0 === mismatches.length;
137
+ /*
138
+ * Through `HttpWitness`, not a bare `fetch` — this used to be its own inline request, so the
139
+ * protocol's reference witness had no production caller and the class that IS bound to the
140
+ * `Witness` SPI could drift from the behaviour that actually ships without anything going
141
+ * red. Two implementations of "look from outside and say what you saw" is one more than the
142
+ * evidence is worth.
143
+ *
144
+ * A non-2xx answer is raised here rather than inside the witness, because a witness that
145
+ * could not look must report a blind spot and not an observation: `witnessDisagreement`
146
+ * reads "observed nothing, nothing hidden" as the world contradicting the app, which would
147
+ * turn a 404 on the observer's own endpoint into an accusation against somebody else's code.
148
+ */
149
+ const observer = new HttpWitness({
150
+ url,
151
+ fetch: async (target) => {
152
+ const res = await fetch(target, {
153
+ method: 'GET',
154
+ signal: AbortSignal.timeout(WITNESS_MS),
155
+ });
156
+ if (!res.ok)
157
+ throw new Error(`the observer answered ${String(res.status)}`);
158
+ return res;
159
+ },
160
+ now: () => Date.now(),
161
+ });
162
+ const witnessWindow = observer.openWindow(WITNESS_MS);
163
+ const seen = await observer.observe(witnessWindow);
164
+ const unreachable = (await observer.coverage(witnessWindow)).blindSpots[0]?.detail;
165
+ const saw = unreachable !== undefined
166
+ ? undefined
167
+ : needle === undefined
168
+ ? seen.length > 0
169
+ : seen.some((o) => String(o.value).includes(needle));
170
+ witness = witnessDisagreement({
171
+ appClaims,
172
+ witnessSaw: saw,
173
+ ...(unreachable === undefined ? {} : { unreachable }),
174
+ });
175
+ }
176
+ // ASYMMETRIC on purpose. A mismatch FOUND in a partial page is still found — one witness proves
177
+ // presence, and withholding it because the rest of the page was unread helps nobody. An EMPTY
178
+ // result is the universal claim "nothing anywhere disagrees", and a partial page cannot support
179
+ // it. So the positive keeps working and only the negative is refused.
180
+ /*
181
+ * A DISAGREEMENT outranks the completeness refusal, by the same asymmetry stated above: two
182
+ * independent observers disagreeing is a fact about the app, and a partial page cannot make it
183
+ * less of one. Only the universal claim "nothing anywhere disagrees" needs a whole page.
184
+ */
185
+ if (0 === mismatches.length && !page.complete && witness?.kind !== WitnessOutcome.DISAGREES) {
186
+ throw new Error(`the page could not be read completely — ${page.incompleteBecause ?? 'the snapshot was cut'}. ` +
187
+ 'Nothing was found to disagree with the API, but that is not the same as nothing disagreeing: ' +
188
+ 'the record that does could be in the part that was never read. Narrow the page (close overlays, ' +
189
+ 'navigate to the view holding these records) and re-run.');
190
+ }
191
+ // A truncated body is declared whether or not anything was found in it: "no mismatches" over a
192
+ // partially-read payload is a weaker statement than over a whole one, and the difference is
193
+ // exactly the kind of omission this layer exists to refuse.
194
+ const partial = truncated > 0
195
+ ? {
196
+ note: `${String(truncated)} of ${String(withBody)} response(s) exceeded the body cap and were read only up to the cut — records after it were not compared`,
197
+ }
198
+ : 0 === mismatches.length
199
+ ? {
200
+ note: `compared ${String(withBody)} response(s); nothing on screen contradicts them`,
201
+ }
202
+ : {};
203
+ return withControl(session, {
204
+ mismatches,
205
+ compared: withBody,
206
+ ...partial,
207
+ ...(witness === undefined ? {} : { witness }),
208
+ });
209
+ },
210
+ },
211
+ ];
@@ -0,0 +1,90 @@
1
+ import { CORE_TOOL_NAMES, EXTENDED_TOOL_NAMES } from './tool-surface.js';
2
+ /**
3
+ * Which tools this session called, and how reachable each one was.
4
+ *
5
+ * The generalisation of the capture ledger: it recorded a short list of read tools to answer one
6
+ * feature's disproof, and the question that followed is the same question asked of the whole table —
7
+ * most of the surface has never been observed being called at all, and a decision about what to cut
8
+ * or consolidate is about to be made. This is the instrument for that decision, and nothing else.
9
+ *
10
+ * ## Why the count alone is not enough
11
+ *
12
+ * A tool that goes uncalled because nobody was told it exists and a tool that goes uncalled because
13
+ * nobody wants it look identical in a call count. They are opposite conclusions. So every count is
14
+ * reported beside the tool's REACHABILITY — advertised on the default surface, advertised only on
15
+ * the extended one, or reachable solely by naming it to `reticle_run` — and the interesting cell is
16
+ * the one where an agent found a run-only tool anyway.
17
+ *
18
+ * ## The tiers are derived, never restated
19
+ *
20
+ * `tierOfTool` reads `CORE_TOOL_NAMES` and `EXTENDED_TOOL_NAMES` directly. A tool promoted or
21
+ * demoted between surfaces changes tier here with nothing edited. A local copy of either list would
22
+ * go stale on the first move and would then be wrong about the exact axis this exists to measure —
23
+ * and it would be wrong silently, in a report used to justify deleting things.
24
+ *
25
+ * ## What these numbers do NOT establish
26
+ *
27
+ * - **One session is not a hit rate.** This is evidence about ONE run by ONE agent against ONE app.
28
+ * A hit rate is a distribution over many sessions; a single session quoted as one is an anecdote
29
+ * with a denominator drawn on it.
30
+ * - **Never-called is not useless.** A tool one team reaches for once a month in an emergency and a
31
+ * tool nobody has ever called are the same zero here. Frequency alone cannot separate them, so a
32
+ * cut decided on frequency alone will delete the wrong things.
33
+ * - **Absent is not zero.** A session with no ledger reports `observed: false`. It has not
34
+ * established that no tools were called; it has established that nothing was watching.
35
+ * - The tools that ran BEFORE this instrument existed in the process, or against a session this
36
+ * daemon adopted after the fact, are simply missing rather than counted low.
37
+ */
38
+ /** How an agent could have reached a tool. Derived from the surface sets — see above. */
39
+ export const ToolTier = {
40
+ /** Advertised directly on the surface every user gets. */
41
+ DEFAULT: 'default',
42
+ /** Advertised only when the full schema-carrying surface is switched on. */
43
+ EXTENDED: 'extended',
44
+ /** Advertised nowhere: reachable only by naming it to `reticle_run`. */
45
+ RUN_ONLY: 'run-only',
46
+ };
47
+ /** Which surface would have put this tool in front of an agent, read off that surface's own set. */
48
+ export function tierOfTool(tool) {
49
+ if (CORE_TOOL_NAMES.has(tool))
50
+ return ToolTier.DEFAULT;
51
+ if (EXTENDED_TOOL_NAMES.has(tool))
52
+ return ToolTier.EXTENDED;
53
+ return ToolTier.RUN_ONLY;
54
+ }
55
+ function tally(tools) {
56
+ return {
57
+ default: tools.filter((tier) => ToolTier.DEFAULT === tier).length,
58
+ extended: tools.filter((tier) => ToolTier.EXTENDED === tier).length,
59
+ runOnly: tools.filter((tier) => ToolTier.RUN_ONLY === tier).length,
60
+ };
61
+ }
62
+ /**
63
+ * Cross one session's per-tool counts with the tool table.
64
+ *
65
+ * `allTools` is the DISPATCHABLE table — the names `reticle_run` will accept — passed in rather than
66
+ * imported, because the table is assembled in the module that owns this tool and importing it back
67
+ * would close a cycle. A tool counted but absent from the table still appears, so a name the table
68
+ * lost is visible rather than dropped.
69
+ */
70
+ export function foldToolHitRate(input) {
71
+ const { calls } = input;
72
+ if (calls === undefined)
73
+ return { observed: false };
74
+ const called = [...calls]
75
+ .map(([tool, count]) => ({ tool, tier: tierOfTool(tool), calls: count }))
76
+ .sort((a, b) => b.calls - a.calls || a.tool.localeCompare(b.tool));
77
+ const neverCalled = input.allTools
78
+ .filter((tool) => !calls.has(tool))
79
+ .map((tool) => ({ tool, tier: tierOfTool(tool) }))
80
+ .sort((a, b) => a.tool.localeCompare(b.tool));
81
+ return {
82
+ observed: true,
83
+ cells: {
84
+ called: tally(called.map((entry) => entry.tier)),
85
+ neverCalled: tally(neverCalled.map((entry) => entry.tier)),
86
+ },
87
+ called,
88
+ neverCalled,
89
+ };
90
+ }