@reticlehq/server 2.0.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 (483) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +17 -0
  3. package/dist/bridge-security.d.ts +23 -0
  4. package/dist/bridge-security.d.ts.map +1 -0
  5. package/dist/bridge-security.js +44 -0
  6. package/dist/bridge-security.js.map +1 -0
  7. package/dist/bridge.d.ts +42 -0
  8. package/dist/bridge.d.ts.map +1 -0
  9. package/dist/bridge.js +281 -0
  10. package/dist/bridge.js.map +1 -0
  11. package/dist/bridge.test-harness.d.ts +42 -0
  12. package/dist/bridge.test-harness.d.ts.map +1 -0
  13. package/dist/bridge.test-harness.js +192 -0
  14. package/dist/bridge.test-harness.js.map +1 -0
  15. package/dist/cli-launch.d.ts +53 -0
  16. package/dist/cli-launch.d.ts.map +1 -0
  17. package/dist/cli-launch.js +109 -0
  18. package/dist/cli-launch.js.map +1 -0
  19. package/dist/cli-parse.d.ts +74 -0
  20. package/dist/cli-parse.d.ts.map +1 -0
  21. package/dist/cli-parse.js +321 -0
  22. package/dist/cli-parse.js.map +1 -0
  23. package/dist/cli-port.d.ts +26 -0
  24. package/dist/cli-port.d.ts.map +1 -0
  25. package/dist/cli-port.js +57 -0
  26. package/dist/cli-port.js.map +1 -0
  27. package/dist/cli-verify.d.ts +46 -0
  28. package/dist/cli-verify.d.ts.map +1 -0
  29. package/dist/cli-verify.js +181 -0
  30. package/dist/cli-verify.js.map +1 -0
  31. package/dist/cli.d.ts +6 -0
  32. package/dist/cli.d.ts.map +1 -0
  33. package/dist/cli.js +337 -0
  34. package/dist/cli.js.map +1 -0
  35. package/dist/cloud/cloud-sync.d.ts +50 -0
  36. package/dist/cloud/cloud-sync.d.ts.map +1 -0
  37. package/dist/cloud/cloud-sync.js +47 -0
  38. package/dist/cloud/cloud-sync.js.map +1 -0
  39. package/dist/crawl/crawl-tools.d.ts +8 -0
  40. package/dist/crawl/crawl-tools.d.ts.map +1 -0
  41. package/dist/crawl/crawl-tools.js +61 -0
  42. package/dist/crawl/crawl-tools.js.map +1 -0
  43. package/dist/crawl/crawl.d.ts +45 -0
  44. package/dist/crawl/crawl.d.ts.map +1 -0
  45. package/dist/crawl/crawl.js +106 -0
  46. package/dist/crawl/crawl.js.map +1 -0
  47. package/dist/daemon-resilience.d.ts +17 -0
  48. package/dist/daemon-resilience.d.ts.map +1 -0
  49. package/dist/daemon-resilience.js +23 -0
  50. package/dist/daemon-resilience.js.map +1 -0
  51. package/dist/daemon.d.ts +26 -0
  52. package/dist/daemon.d.ts.map +1 -0
  53. package/dist/daemon.js +122 -0
  54. package/dist/daemon.js.map +1 -0
  55. package/dist/domain/domain-model.d.ts +64 -0
  56. package/dist/domain/domain-model.d.ts.map +1 -0
  57. package/dist/domain/domain-model.js +127 -0
  58. package/dist/domain/domain-model.js.map +1 -0
  59. package/dist/domain/domain-tools.d.ts +9 -0
  60. package/dist/domain/domain-tools.d.ts.map +1 -0
  61. package/dist/domain/domain-tools.js +66 -0
  62. package/dist/domain/domain-tools.js.map +1 -0
  63. package/dist/domain/flow-risk.d.ts +34 -0
  64. package/dist/domain/flow-risk.d.ts.map +1 -0
  65. package/dist/domain/flow-risk.js +81 -0
  66. package/dist/domain/flow-risk.js.map +1 -0
  67. package/dist/ee/audit-log.d.ts +15 -0
  68. package/dist/ee/audit-log.d.ts.map +1 -0
  69. package/dist/ee/audit-log.js +12 -0
  70. package/dist/ee/audit-log.js.map +1 -0
  71. package/dist/events/event-filters.d.ts +65 -0
  72. package/dist/events/event-filters.d.ts.map +1 -0
  73. package/dist/events/event-filters.js +98 -0
  74. package/dist/events/event-filters.js.map +1 -0
  75. package/dist/events/predicate-eval.d.ts +91 -0
  76. package/dist/events/predicate-eval.d.ts.map +1 -0
  77. package/dist/events/predicate-eval.js +299 -0
  78. package/dist/events/predicate-eval.js.map +1 -0
  79. package/dist/events/predicate.d.ts +19 -0
  80. package/dist/events/predicate.d.ts.map +1 -0
  81. package/dist/events/predicate.js +188 -0
  82. package/dist/events/predicate.js.map +1 -0
  83. package/dist/events/reaction.d.ts +34 -0
  84. package/dist/events/reaction.d.ts.map +1 -0
  85. package/dist/events/reaction.js +60 -0
  86. package/dist/events/reaction.js.map +1 -0
  87. package/dist/events/ring-buffer.d.ts +32 -0
  88. package/dist/events/ring-buffer.d.ts.map +1 -0
  89. package/dist/events/ring-buffer.js +75 -0
  90. package/dist/events/ring-buffer.js.map +1 -0
  91. package/dist/flows/annotate-tools.d.ts +16 -0
  92. package/dist/flows/annotate-tools.d.ts.map +1 -0
  93. package/dist/flows/annotate-tools.js +136 -0
  94. package/dist/flows/annotate-tools.js.map +1 -0
  95. package/dist/flows/annotate.d.ts +22 -0
  96. package/dist/flows/annotate.d.ts.map +1 -0
  97. package/dist/flows/annotate.js +134 -0
  98. package/dist/flows/annotate.js.map +1 -0
  99. package/dist/flows/annotation-store.d.ts +23 -0
  100. package/dist/flows/annotation-store.d.ts.map +1 -0
  101. package/dist/flows/annotation-store.js +51 -0
  102. package/dist/flows/annotation-store.js.map +1 -0
  103. package/dist/flows/decision.d.ts +13 -0
  104. package/dist/flows/decision.d.ts.map +1 -0
  105. package/dist/flows/decision.js +111 -0
  106. package/dist/flows/decision.js.map +1 -0
  107. package/dist/flows/flow-classify.d.ts +52 -0
  108. package/dist/flows/flow-classify.d.ts.map +1 -0
  109. package/dist/flows/flow-classify.js +99 -0
  110. package/dist/flows/flow-classify.js.map +1 -0
  111. package/dist/flows/flow-replay-run.d.ts +15 -0
  112. package/dist/flows/flow-replay-run.d.ts.map +1 -0
  113. package/dist/flows/flow-replay-run.js +120 -0
  114. package/dist/flows/flow-replay-run.js.map +1 -0
  115. package/dist/flows/flow-replay.d.ts +49 -0
  116. package/dist/flows/flow-replay.d.ts.map +1 -0
  117. package/dist/flows/flow-replay.js +391 -0
  118. package/dist/flows/flow-replay.js.map +1 -0
  119. package/dist/flows/flow-report.d.ts +23 -0
  120. package/dist/flows/flow-report.d.ts.map +1 -0
  121. package/dist/flows/flow-report.js +106 -0
  122. package/dist/flows/flow-report.js.map +1 -0
  123. package/dist/flows/flow-scope.d.ts +25 -0
  124. package/dist/flows/flow-scope.d.ts.map +1 -0
  125. package/dist/flows/flow-scope.js +32 -0
  126. package/dist/flows/flow-scope.js.map +1 -0
  127. package/dist/flows/flow-success.d.ts +33 -0
  128. package/dist/flows/flow-success.d.ts.map +1 -0
  129. package/dist/flows/flow-success.js +131 -0
  130. package/dist/flows/flow-success.js.map +1 -0
  131. package/dist/flows/flow-tools.d.ts +4 -0
  132. package/dist/flows/flow-tools.d.ts.map +1 -0
  133. package/dist/flows/flow-tools.js +460 -0
  134. package/dist/flows/flow-tools.js.map +1 -0
  135. package/dist/flows/flows.d.ts +86 -0
  136. package/dist/flows/flows.d.ts.map +1 -0
  137. package/dist/flows/flows.js +319 -0
  138. package/dist/flows/flows.js.map +1 -0
  139. package/dist/flows/heal.d.ts +43 -0
  140. package/dist/flows/heal.d.ts.map +1 -0
  141. package/dist/flows/heal.js +98 -0
  142. package/dist/flows/heal.js.map +1 -0
  143. package/dist/flows/recordings.d.ts +46 -0
  144. package/dist/flows/recordings.d.ts.map +1 -0
  145. package/dist/flows/recordings.js +43 -0
  146. package/dist/flows/recordings.js.map +1 -0
  147. package/dist/flows/replay.d.ts +23 -0
  148. package/dist/flows/replay.d.ts.map +1 -0
  149. package/dist/flows/replay.js +160 -0
  150. package/dist/flows/replay.js.map +1 -0
  151. package/dist/http-server.d.ts +39 -0
  152. package/dist/http-server.d.ts.map +1 -0
  153. package/dist/http-server.js +145 -0
  154. package/dist/http-server.js.map +1 -0
  155. package/dist/idle-shutdown.d.ts +34 -0
  156. package/dist/idle-shutdown.d.ts.map +1 -0
  157. package/dist/idle-shutdown.js +68 -0
  158. package/dist/idle-shutdown.js.map +1 -0
  159. package/dist/index.d.ts +135 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +371 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/init/cursor.d.ts +25 -0
  164. package/dist/init/cursor.d.ts.map +1 -0
  165. package/dist/init/cursor.js +49 -0
  166. package/dist/init/cursor.js.map +1 -0
  167. package/dist/init/detect.d.ts +49 -0
  168. package/dist/init/detect.d.ts.map +1 -0
  169. package/dist/init/detect.js +84 -0
  170. package/dist/init/detect.js.map +1 -0
  171. package/dist/init/mcp.d.ts +40 -0
  172. package/dist/init/mcp.d.ts.map +1 -0
  173. package/dist/init/mcp.js +55 -0
  174. package/dist/init/mcp.js.map +1 -0
  175. package/dist/init/node-io.d.ts +8 -0
  176. package/dist/init/node-io.d.ts.map +1 -0
  177. package/dist/init/node-io.js +57 -0
  178. package/dist/init/node-io.js.map +1 -0
  179. package/dist/init/plan.d.ts +72 -0
  180. package/dist/init/plan.d.ts.map +1 -0
  181. package/dist/init/plan.js +280 -0
  182. package/dist/init/plan.js.map +1 -0
  183. package/dist/init/project-id.d.ts +17 -0
  184. package/dist/init/project-id.d.ts.map +1 -0
  185. package/dist/init/project-id.js +38 -0
  186. package/dist/init/project-id.js.map +1 -0
  187. package/dist/init/run.d.ts +42 -0
  188. package/dist/init/run.d.ts.map +1 -0
  189. package/dist/init/run.js +171 -0
  190. package/dist/init/run.js.map +1 -0
  191. package/dist/init/snippets.d.ts +33 -0
  192. package/dist/init/snippets.d.ts.map +1 -0
  193. package/dist/init/snippets.js +117 -0
  194. package/dist/init/snippets.js.map +1 -0
  195. package/dist/init/vite-config.d.ts +25 -0
  196. package/dist/init/vite-config.d.ts.map +1 -0
  197. package/dist/init/vite-config.js +45 -0
  198. package/dist/init/vite-config.js.map +1 -0
  199. package/dist/input/network-mock-tools.d.ts +3 -0
  200. package/dist/input/network-mock-tools.d.ts.map +1 -0
  201. package/dist/input/network-mock-tools.js +94 -0
  202. package/dist/input/network-mock-tools.js.map +1 -0
  203. package/dist/input/network-mock.d.ts +55 -0
  204. package/dist/input/network-mock.d.ts.map +1 -0
  205. package/dist/input/network-mock.js +62 -0
  206. package/dist/input/network-mock.js.map +1 -0
  207. package/dist/input/real-input.d.ts +174 -0
  208. package/dist/input/real-input.d.ts.map +1 -0
  209. package/dist/input/real-input.js +289 -0
  210. package/dist/input/real-input.js.map +1 -0
  211. package/dist/input/scroll-find.d.ts +41 -0
  212. package/dist/input/scroll-find.d.ts.map +1 -0
  213. package/dist/input/scroll-find.js +59 -0
  214. package/dist/input/scroll-find.js.map +1 -0
  215. package/dist/input/scroll-tools.d.ts +8 -0
  216. package/dist/input/scroll-tools.d.ts.map +1 -0
  217. package/dist/input/scroll-tools.js +68 -0
  218. package/dist/input/scroll-tools.js.map +1 -0
  219. package/dist/input/viewport-tools.d.ts +3 -0
  220. package/dist/input/viewport-tools.d.ts.map +1 -0
  221. package/dist/input/viewport-tools.js +65 -0
  222. package/dist/input/viewport-tools.js.map +1 -0
  223. package/dist/license/license.d.ts +108 -0
  224. package/dist/license/license.d.ts.map +1 -0
  225. package/dist/license/license.js +203 -0
  226. package/dist/license/license.js.map +1 -0
  227. package/dist/log.d.ts +6 -0
  228. package/dist/log.d.ts.map +1 -0
  229. package/dist/log.js +9 -0
  230. package/dist/log.js.map +1 -0
  231. package/dist/mcp-proxy.d.ts +16 -0
  232. package/dist/mcp-proxy.d.ts.map +1 -0
  233. package/dist/mcp-proxy.js +168 -0
  234. package/dist/mcp-proxy.js.map +1 -0
  235. package/dist/mcp.d.ts +14 -0
  236. package/dist/mcp.d.ts.map +1 -0
  237. package/dist/mcp.js +101 -0
  238. package/dist/mcp.js.map +1 -0
  239. package/dist/pairing-token.d.ts +28 -0
  240. package/dist/pairing-token.d.ts.map +1 -0
  241. package/dist/pairing-token.js +62 -0
  242. package/dist/pairing-token.js.map +1 -0
  243. package/dist/pool/browser-pool.d.ts +90 -0
  244. package/dist/pool/browser-pool.d.ts.map +1 -0
  245. package/dist/pool/browser-pool.js +221 -0
  246. package/dist/pool/browser-pool.js.map +1 -0
  247. package/dist/pool/lease-reaper.d.ts +16 -0
  248. package/dist/pool/lease-reaper.d.ts.map +1 -0
  249. package/dist/pool/lease-reaper.js +41 -0
  250. package/dist/pool/lease-reaper.js.map +1 -0
  251. package/dist/pool/playwright-launcher.d.ts +19 -0
  252. package/dist/pool/playwright-launcher.d.ts.map +1 -0
  253. package/dist/pool/playwright-launcher.js +51 -0
  254. package/dist/pool/playwright-launcher.js.map +1 -0
  255. package/dist/project/baselines.d.ts +22 -0
  256. package/dist/project/baselines.d.ts.map +1 -0
  257. package/dist/project/baselines.js +45 -0
  258. package/dist/project/baselines.js.map +1 -0
  259. package/dist/project/fs-port.d.ts +27 -0
  260. package/dist/project/fs-port.d.ts.map +1 -0
  261. package/dist/project/fs-port.js +32 -0
  262. package/dist/project/fs-port.js.map +1 -0
  263. package/dist/project/project-store.d.ts +32 -0
  264. package/dist/project/project-store.d.ts.map +1 -0
  265. package/dist/project/project-store.js +127 -0
  266. package/dist/project/project-store.js.map +1 -0
  267. package/dist/project/project-tools.d.ts +9 -0
  268. package/dist/project/project-tools.d.ts.map +1 -0
  269. package/dist/project/project-tools.js +118 -0
  270. package/dist/project/project-tools.js.map +1 -0
  271. package/dist/project/reticle-dir.d.ts +61 -0
  272. package/dist/project/reticle-dir.d.ts.map +1 -0
  273. package/dist/project/reticle-dir.js +144 -0
  274. package/dist/project/reticle-dir.js.map +1 -0
  275. package/dist/runs/build-verification-run.d.ts +30 -0
  276. package/dist/runs/build-verification-run.d.ts.map +1 -0
  277. package/dist/runs/build-verification-run.js +71 -0
  278. package/dist/runs/build-verification-run.js.map +1 -0
  279. package/dist/runs/profile-redact.d.ts +16 -0
  280. package/dist/runs/profile-redact.d.ts.map +1 -0
  281. package/dist/runs/profile-redact.js +32 -0
  282. package/dist/runs/profile-redact.js.map +1 -0
  283. package/dist/runs/render-report.d.ts +9 -0
  284. package/dist/runs/render-report.d.ts.map +1 -0
  285. package/dist/runs/render-report.js +70 -0
  286. package/dist/runs/render-report.js.map +1 -0
  287. package/dist/runs/repair-prompt.d.ts +15 -0
  288. package/dist/runs/repair-prompt.d.ts.map +1 -0
  289. package/dist/runs/repair-prompt.js +59 -0
  290. package/dist/runs/repair-prompt.js.map +1 -0
  291. package/dist/runs/replay-mapping.d.ts +12 -0
  292. package/dist/runs/replay-mapping.d.ts.map +1 -0
  293. package/dist/runs/replay-mapping.js +35 -0
  294. package/dist/runs/replay-mapping.js.map +1 -0
  295. package/dist/runs/reticle-runner.d.ts +48 -0
  296. package/dist/runs/reticle-runner.d.ts.map +1 -0
  297. package/dist/runs/reticle-runner.js +56 -0
  298. package/dist/runs/reticle-runner.js.map +1 -0
  299. package/dist/runs/risk-classify.d.ts +27 -0
  300. package/dist/runs/risk-classify.d.ts.map +1 -0
  301. package/dist/runs/risk-classify.js +76 -0
  302. package/dist/runs/risk-classify.js.map +1 -0
  303. package/dist/runs/run-store.d.ts +40 -0
  304. package/dist/runs/run-store.d.ts.map +1 -0
  305. package/dist/runs/run-store.js +118 -0
  306. package/dist/runs/run-store.js.map +1 -0
  307. package/dist/runs/run-tools.d.ts +10 -0
  308. package/dist/runs/run-tools.d.ts.map +1 -0
  309. package/dist/runs/run-tools.js +69 -0
  310. package/dist/runs/run-tools.js.map +1 -0
  311. package/dist/runs/runner-port.d.ts +14 -0
  312. package/dist/runs/runner-port.d.ts.map +1 -0
  313. package/dist/runs/runner-port.js +23 -0
  314. package/dist/runs/runner-port.js.map +1 -0
  315. package/dist/runs/verify-http.d.ts +34 -0
  316. package/dist/runs/verify-http.d.ts.map +1 -0
  317. package/dist/runs/verify-http.js +102 -0
  318. package/dist/runs/verify-http.js.map +1 -0
  319. package/dist/runs/verify-server.d.ts +26 -0
  320. package/dist/runs/verify-server.d.ts.map +1 -0
  321. package/dist/runs/verify-server.js +99 -0
  322. package/dist/runs/verify-server.js.map +1 -0
  323. package/dist/server-version.d.ts +3 -0
  324. package/dist/server-version.d.ts.map +1 -0
  325. package/dist/server-version.js +5 -0
  326. package/dist/server-version.js.map +1 -0
  327. package/dist/session/control-envelope.d.ts +49 -0
  328. package/dist/session/control-envelope.d.ts.map +1 -0
  329. package/dist/session/control-envelope.js +44 -0
  330. package/dist/session/control-envelope.js.map +1 -0
  331. package/dist/session/live-control-tools.d.ts +16 -0
  332. package/dist/session/live-control-tools.d.ts.map +1 -0
  333. package/dist/session/live-control-tools.js +204 -0
  334. package/dist/session/live-control-tools.js.map +1 -0
  335. package/dist/session/output-budget.d.ts +41 -0
  336. package/dist/session/output-budget.d.ts.map +1 -0
  337. package/dist/session/output-budget.js +54 -0
  338. package/dist/session/output-budget.js.map +1 -0
  339. package/dist/session/presenter-args.d.ts +8 -0
  340. package/dist/session/presenter-args.d.ts.map +1 -0
  341. package/dist/session/presenter-args.js +15 -0
  342. package/dist/session/presenter-args.js.map +1 -0
  343. package/dist/session/review-store.d.ts +40 -0
  344. package/dist/session/review-store.d.ts.map +1 -0
  345. package/dist/session/review-store.js +61 -0
  346. package/dist/session/review-store.js.map +1 -0
  347. package/dist/session/session-health.d.ts +22 -0
  348. package/dist/session/session-health.d.ts.map +1 -0
  349. package/dist/session/session-health.js +26 -0
  350. package/dist/session/session-health.js.map +1 -0
  351. package/dist/session/session-manager.d.ts +43 -0
  352. package/dist/session/session-manager.d.ts.map +1 -0
  353. package/dist/session/session-manager.js +155 -0
  354. package/dist/session/session-manager.js.map +1 -0
  355. package/dist/session/session-readiness.d.ts +35 -0
  356. package/dist/session/session-readiness.d.ts.map +1 -0
  357. package/dist/session/session-readiness.js +32 -0
  358. package/dist/session/session-readiness.js.map +1 -0
  359. package/dist/session/session-reaper.d.ts +37 -0
  360. package/dist/session/session-reaper.d.ts.map +1 -0
  361. package/dist/session/session-reaper.js +94 -0
  362. package/dist/session/session-reaper.js.map +1 -0
  363. package/dist/session/session-recommendation.d.ts +18 -0
  364. package/dist/session/session-recommendation.d.ts.map +1 -0
  365. package/dist/session/session-recommendation.js +14 -0
  366. package/dist/session/session-recommendation.js.map +1 -0
  367. package/dist/session/session-tools.d.ts +9 -0
  368. package/dist/session/session-tools.d.ts.map +1 -0
  369. package/dist/session/session-tools.js +43 -0
  370. package/dist/session/session-tools.js.map +1 -0
  371. package/dist/session/session.d.ts +166 -0
  372. package/dist/session/session.d.ts.map +1 -0
  373. package/dist/session/session.js +408 -0
  374. package/dist/session/session.js.map +1 -0
  375. package/dist/session/state-select.d.ts +8 -0
  376. package/dist/session/state-select.d.ts.map +1 -0
  377. package/dist/session/state-select.js +8 -0
  378. package/dist/session/state-select.js.map +1 -0
  379. package/dist/token-auth.d.ts +24 -0
  380. package/dist/token-auth.d.ts.map +1 -0
  381. package/dist/token-auth.js +71 -0
  382. package/dist/token-auth.js.map +1 -0
  383. package/dist/tools/act-tools.d.ts +3 -0
  384. package/dist/tools/act-tools.d.ts.map +1 -0
  385. package/dist/tools/act-tools.js +327 -0
  386. package/dist/tools/act-tools.js.map +1 -0
  387. package/dist/tools/act-view.d.ts +19 -0
  388. package/dist/tools/act-view.d.ts.map +1 -0
  389. package/dist/tools/act-view.js +46 -0
  390. package/dist/tools/act-view.js.map +1 -0
  391. package/dist/tools/assert-grade.d.ts +21 -0
  392. package/dist/tools/assert-grade.d.ts.map +1 -0
  393. package/dist/tools/assert-grade.js +52 -0
  394. package/dist/tools/assert-grade.js.map +1 -0
  395. package/dist/tools/browser-tools.d.ts +3 -0
  396. package/dist/tools/browser-tools.d.ts.map +1 -0
  397. package/dist/tools/browser-tools.js +52 -0
  398. package/dist/tools/browser-tools.js.map +1 -0
  399. package/dist/tools/contract-tools.d.ts +8 -0
  400. package/dist/tools/contract-tools.d.ts.map +1 -0
  401. package/dist/tools/contract-tools.js +62 -0
  402. package/dist/tools/contract-tools.js.map +1 -0
  403. package/dist/tools/dynamic-tools.d.ts +7 -0
  404. package/dist/tools/dynamic-tools.d.ts.map +1 -0
  405. package/dist/tools/dynamic-tools.js +103 -0
  406. package/dist/tools/dynamic-tools.js.map +1 -0
  407. package/dist/tools/error-recovery.d.ts +31 -0
  408. package/dist/tools/error-recovery.d.ts.map +1 -0
  409. package/dist/tools/error-recovery.js +52 -0
  410. package/dist/tools/error-recovery.js.map +1 -0
  411. package/dist/tools/invoke-tool.d.ts +23 -0
  412. package/dist/tools/invoke-tool.d.ts.map +1 -0
  413. package/dist/tools/invoke-tool.js +99 -0
  414. package/dist/tools/invoke-tool.js.map +1 -0
  415. package/dist/tools/lease-tools.d.ts +31 -0
  416. package/dist/tools/lease-tools.d.ts.map +1 -0
  417. package/dist/tools/lease-tools.js +164 -0
  418. package/dist/tools/lease-tools.js.map +1 -0
  419. package/dist/tools/observe-tools.d.ts +3 -0
  420. package/dist/tools/observe-tools.d.ts.map +1 -0
  421. package/dist/tools/observe-tools.js +259 -0
  422. package/dist/tools/observe-tools.js.map +1 -0
  423. package/dist/tools/profiles.d.ts +33 -0
  424. package/dist/tools/profiles.d.ts.map +1 -0
  425. package/dist/tools/profiles.js +105 -0
  426. package/dist/tools/profiles.js.map +1 -0
  427. package/dist/tools/query-paginate.d.ts +15 -0
  428. package/dist/tools/query-paginate.d.ts.map +1 -0
  429. package/dist/tools/query-paginate.js +31 -0
  430. package/dist/tools/query-paginate.js.map +1 -0
  431. package/dist/tools/read-tools.d.ts +3 -0
  432. package/dist/tools/read-tools.d.ts.map +1 -0
  433. package/dist/tools/read-tools.js +329 -0
  434. package/dist/tools/read-tools.js.map +1 -0
  435. package/dist/tools/snapshot-delta.d.ts +59 -0
  436. package/dist/tools/snapshot-delta.d.ts.map +1 -0
  437. package/dist/tools/snapshot-delta.js +0 -0
  438. package/dist/tools/snapshot-delta.js.map +1 -0
  439. package/dist/tools/tool-invoker.d.ts +15 -0
  440. package/dist/tools/tool-invoker.d.ts.map +1 -0
  441. package/dist/tools/tool-invoker.js +20 -0
  442. package/dist/tools/tool-invoker.js.map +1 -0
  443. package/dist/tools/tool-kit.d.ts +60 -0
  444. package/dist/tools/tool-kit.d.ts.map +1 -0
  445. package/dist/tools/tool-kit.js +33 -0
  446. package/dist/tools/tool-kit.js.map +1 -0
  447. package/dist/tools/tool-names.d.ts +89 -0
  448. package/dist/tools/tool-names.d.ts.map +1 -0
  449. package/dist/tools/tool-names.js +88 -0
  450. package/dist/tools/tool-names.js.map +1 -0
  451. package/dist/tools/tools-helpers.d.ts +12 -0
  452. package/dist/tools/tools-helpers.d.ts.map +1 -0
  453. package/dist/tools/tools-helpers.js +22 -0
  454. package/dist/tools/tools-helpers.js.map +1 -0
  455. package/dist/tools/tools.d.ts +4 -0
  456. package/dist/tools/tools.d.ts.map +1 -0
  457. package/dist/tools/tools.js +268 -0
  458. package/dist/tools/tools.js.map +1 -0
  459. package/dist/update/update-checker.d.ts +20 -0
  460. package/dist/update/update-checker.d.ts.map +1 -0
  461. package/dist/update/update-checker.js +94 -0
  462. package/dist/update/update-checker.js.map +1 -0
  463. package/dist/update/update-tools.d.ts +3 -0
  464. package/dist/update/update-tools.d.ts.map +1 -0
  465. package/dist/update/update-tools.js +94 -0
  466. package/dist/update/update-tools.js.map +1 -0
  467. package/dist/update/updater.d.ts +31 -0
  468. package/dist/update/updater.d.ts.map +1 -0
  469. package/dist/update/updater.js +120 -0
  470. package/dist/update/updater.js.map +1 -0
  471. package/dist/visual/visual-diff.d.ts +46 -0
  472. package/dist/visual/visual-diff.d.ts.map +1 -0
  473. package/dist/visual/visual-diff.js +100 -0
  474. package/dist/visual/visual-diff.js.map +1 -0
  475. package/dist/visual/visual-store.d.ts +22 -0
  476. package/dist/visual/visual-store.d.ts.map +1 -0
  477. package/dist/visual/visual-store.js +60 -0
  478. package/dist/visual/visual-store.js.map +1 -0
  479. package/dist/visual/visual-tools.d.ts +9 -0
  480. package/dist/visual/visual-tools.d.ts.map +1 -0
  481. package/dist/visual/visual-tools.js +182 -0
  482. package/dist/visual/visual-tools.js.map +1 -0
  483. package/package.json +68 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The session flags the recommendation is derived from. All already exist on every
3
+ * Session (fed by PAGE_HEALTH events) — no new browser API is needed.
4
+ */
5
+ export interface RecommendationInputs {
6
+ hidden: boolean;
7
+ throttled: boolean;
8
+ focused: boolean;
9
+ }
10
+ /**
11
+ * A human-readable escape-hatch hint when a tab is hidden/throttled and may be
12
+ * un-scriptable/un-focusable from here. Returns undefined for a healthy tab so the field stays
13
+ * ABSENT (not empty). Keys on `hidden || throttled` — the same disjunction as Session.throttled() —
14
+ * so it never disagrees with the `throttled` flag the agent already sees. A merely-unfocused but
15
+ * live tab is still scriptable, so blur alone does not trigger it. Pure.
16
+ */
17
+ export declare function buildSessionRecommendation(inputs: RecommendationInputs): string | undefined;
18
+ //# sourceMappingURL=session-recommendation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-recommendation.d.ts","sourceRoot":"","sources":["../../src/session/session-recommendation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAG3F"}
@@ -0,0 +1,14 @@
1
+ import { UNSCRIPTABLE_TAB_RECOMMENDATION } from '@reticlehq/core';
2
+ /**
3
+ * A human-readable escape-hatch hint when a tab is hidden/throttled and may be
4
+ * un-scriptable/un-focusable from here. Returns undefined for a healthy tab so the field stays
5
+ * ABSENT (not empty). Keys on `hidden || throttled` — the same disjunction as Session.throttled() —
6
+ * so it never disagrees with the `throttled` flag the agent already sees. A merely-unfocused but
7
+ * live tab is still scriptable, so blur alone does not trigger it. Pure.
8
+ */
9
+ export function buildSessionRecommendation(inputs) {
10
+ if (inputs.hidden || inputs.throttled)
11
+ return UNSCRIPTABLE_TAB_RECOMMENDATION;
12
+ return undefined;
13
+ }
14
+ //# sourceMappingURL=session-recommendation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-recommendation.js","sourceRoot":"","sources":["../../src/session/session-recommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAYlE;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAA4B;IACrE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,+BAA+B,CAAC;IAC9E,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ToolDef } from '../tools/tools.js';
2
+ /**
3
+ * Session lifecycle controls. The presenter session begins on the agent's first action and ends
4
+ * either when the agent ends it (reticle_end_session) or after an idle window — and the human keeps the
5
+ * panel (with Copy/Export of the run) afterwards. reticle_session lets the AGENT tune that idle window
6
+ * for the app: raise it for a slow app, lower it for a quick check.
7
+ */
8
+ export declare const SESSION_TOOLS: ToolDef[];
9
+ //# sourceMappingURL=session-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-tools.d.ts","sourceRoot":"","sources":["../../src/session/session-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,EAqClC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ import { ReticleCommand } from '@reticlehq/core';
3
+ import { ReticleTool } from '../tools/tool-names.js';
4
+ import { asNumber, asString } from '../tools/tools-helpers.js';
5
+ /**
6
+ * Session lifecycle controls. The presenter session begins on the agent's first action and ends
7
+ * either when the agent ends it (reticle_end_session) or after an idle window — and the human keeps the
8
+ * panel (with Copy/Export of the run) afterwards. reticle_session lets the AGENT tune that idle window
9
+ * for the app: raise it for a slow app, lower it for a quick check.
10
+ */
11
+ export const SESSION_TOOLS = [
12
+ {
13
+ name: ReticleTool.SESSION,
14
+ description: 'Tune the presenter session for this app. { idleEndMs } sets how long the session stays open after you go quiet before the panel shows the human you are WAITING (your turn). Default 5min — the SLOW backstop; signal handback IMMEDIATELY with reticle_yield instead of waiting for this. Lower it for snappier auto-handback, raise it for a slow app where long gaps between your tool calls are normal. Enforced SERVER-SIDE (immune to background-tab throttling); it also fires if you (the MCP client) disconnect — so a forgotten or crashed session never leaves the HUD reading "live". Going quiet then acting again revives the session automatically. Returns { applied, idleEndMs }.',
15
+ inputSchema: {
16
+ idleEndMs: z
17
+ .number()
18
+ .optional()
19
+ .describe('Idle window in milliseconds after which the panel shows WAITING (your turn). Default: 300000 (5 min) — the slow backstop; prefer reticle_yield. Raise for slow apps.'),
20
+ sessionId: z
21
+ .string()
22
+ .optional()
23
+ .describe('Active session ID from reticle_sessions. Omit when only one browser session is open.'),
24
+ },
25
+ outputSchema: {
26
+ applied: z.boolean(),
27
+ idleEndMs: z.number().optional(),
28
+ },
29
+ handler: async (deps, args) => {
30
+ const session = deps.sessions.resolve(asString(args['sessionId']));
31
+ const idleEndMs = asNumber(args['idleEndMs']);
32
+ // Tune BOTH sides: the browser's foreground idle timer AND the server reaper (the throttle-proof
33
+ // authority), so the agent-set window is honored even when the tab is backgrounded.
34
+ if (idleEndMs !== undefined)
35
+ session.setIdleEndMs(idleEndMs);
36
+ const res = await session.command(ReticleCommand.SESSION_CONFIG, idleEndMs !== undefined ? { idleEndMs } : {});
37
+ if (!res.ok)
38
+ throw new Error(res.error ?? 'session config failed');
39
+ return res.result ?? { applied: true };
40
+ },
41
+ },
42
+ ];
43
+ //# sourceMappingURL=session-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-tools.js","sourceRoot":"","sources":["../../src/session/session-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC;QACE,IAAI,EAAE,WAAW,CAAC,OAAO;QACzB,WAAW,EACT,oqBAAoqB;QACtqB,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sKAAsK,CACvK;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sFAAsF,CACvF;SACJ;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC;QACD,OAAO,EAAE,KAAK,EAAE,IAAc,EAAE,IAAI,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9C,iGAAiG;YACjG,oFAAoF;YACpF,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAC/B,cAAc,CAAC,cAAc,EAC7B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAC7C,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,166 @@
1
+ import type { WebSocket } from 'ws';
2
+ import { PresenterTone, SessionState, type CommandResult, type HelloMessage, type HumanControlData, type ReticleEvent } from '@reticlehq/core';
3
+ import { type ReviewMark } from './review-store.js';
4
+ export interface SessionInfo {
5
+ sessionId: string;
6
+ url: string;
7
+ /** Stable build-stamped project identity; absent for v1.0 SDKs that don't send it. */
8
+ projectId?: string;
9
+ title: string;
10
+ adapters: string[];
11
+ hasCapabilities: boolean;
12
+ /** ms since the SDK last reported anything (silence ⇒ likely throttled). */
13
+ lastSeenMs: number;
14
+ hidden: boolean;
15
+ focused: boolean;
16
+ throttled: boolean;
17
+ /** present only when hidden/throttled — points at the `reticle drive` escape hatch. */
18
+ recommendation?: string;
19
+ stale?: boolean;
20
+ cleanup_suggestion?: string;
21
+ /** present only when the human has flagged bugs on this tab — count of pending review marks. */
22
+ pendingMarks?: number;
23
+ /** present with pendingMarks — nudges the agent to drain them with reticle_review. */
24
+ review_suggestion?: string;
25
+ }
26
+ /** The health block spliced onto act/assert results. */
27
+ export interface SessionHealth {
28
+ lastSeenMs: number;
29
+ throttled: boolean;
30
+ focused: boolean;
31
+ /** present only when hidden/throttled — points at the `reticle drive` escape hatch. */
32
+ recommendation?: string;
33
+ }
34
+ type Clock = () => number;
35
+ /** Live-control: a human note queued for the agent, stamped with session-relative elapsed time. */
36
+ export interface InboxMessage {
37
+ text: string;
38
+ t: number;
39
+ }
40
+ /**
41
+ * One connected browser tab. Owns its socket, a ring buffer of observations, and the
42
+ * in-flight command map. `clock` is injected so elapsed-time logic stays testable.
43
+ */
44
+ export declare class Session {
45
+ #private;
46
+ readonly id: string;
47
+ /** Stable build-stamped project identity; undefined for v1.0 SDKs that omit it. */
48
+ readonly projectId: string | undefined;
49
+ url: string;
50
+ title: string;
51
+ adapters: string[];
52
+ hasCapabilities: boolean;
53
+ constructor(hello: HelloMessage, socket: WebSocket, clock: Clock);
54
+ /** Milliseconds since this session connected — the authoritative buffer clock. */
55
+ elapsed(): number;
56
+ /** Mark that the SDK was just heard from. Called on every inbound message. */
57
+ touch(): void;
58
+ /** ms since the SDK last reported anything (distinct from elapsed-since-connect). */
59
+ lastSeenMs(): number;
60
+ /** Record the latest page visibility/focus state from a PAGE_HEALTH event. */
61
+ applyHealth(hidden: boolean, focused: boolean): void;
62
+ /** Throttled if the tab is hidden OR we have not heard from it recently. */
63
+ throttled(): boolean;
64
+ /** The attachable health block — single source of truth for the tools. */
65
+ health(): SessionHealth;
66
+ info(): SessionInfo;
67
+ /** Wall-clock age of the session in milliseconds. */
68
+ staleMs(): number;
69
+ /** Re-stamp an incoming event with server-relative time, buffer it, and fan out. */
70
+ pushEvent(event: ReticleEvent): void;
71
+ eventsSince(cursor: number): ReticleEvent[];
72
+ /**
73
+ * Honesty: remember the event cursor of the most recent act so wait_for/assert can default their
74
+ * evaluation floor to it — a signal buffered before this act can never fake a later pass.
75
+ */
76
+ markActCursor(cursor: number): void;
77
+ /** The cursor of the last act, or undefined if nothing has acted yet. */
78
+ lastActCursor(): number | undefined;
79
+ /**
80
+ * Stamp the wall-clock of the latest AGENT command (called whenever a tool resolves this session).
81
+ * If the reaper had auto-ended the session, a fresh command means the agent is alive again, so the
82
+ * session is REVIVED to ACTIVE. An EXPLICIT end (human/agent reticle_end_session) is terminal and is
83
+ * never revived here.
84
+ */
85
+ markAgentActivity(): void;
86
+ /** ms since the agent last issued a command against this session (the reaper's idle signal). */
87
+ agentIdleMs(): number;
88
+ /** The agent-idle window after which the reaper ends this session. */
89
+ idleEndMs(): number;
90
+ /** Tune the idle window (reticle_session). Floored so an agent can't disable the safety net. */
91
+ setIdleEndMs(ms: number): void;
92
+ /**
93
+ * Reaper/disconnect end: terminal like a normal end (pushes PRESENTER ended to the browser, which a
94
+ * throttled tab still receives) but flagged auto-ended so a returning agent revives it. No-op if
95
+ * already ended.
96
+ */
97
+ autoEnd(text?: string, tone?: PresenterTone): void;
98
+ eventsInWindow(windowMs: number): ReticleEvent[];
99
+ onEvent(listener: (event: ReticleEvent) => void): () => void;
100
+ /** Send a command to the browser and await its reply (or time out). */
101
+ command(name: string, args?: Record<string, unknown>, timeoutMs?: number): Promise<CommandResult>;
102
+ handleResult(result: CommandResult): void;
103
+ /** Reject everything still in flight — used on disconnect. */
104
+ rejectAll(reason: string): void;
105
+ /** End this transport without letting a stale socket remove its replacement session. */
106
+ disconnect(reason: string): void;
107
+ getState(): SessionState;
108
+ isPaused(): boolean;
109
+ isEnded(): boolean;
110
+ /**
111
+ * Set the lifecycle state and echo it to the panel in ONE PRESENTER push. The SOLE pusher of
112
+ * PRESENTER for a transition. Optional `text` rides the same push (e.g. an end-of-session
113
+ * summary) so a transition never emits two PRESENTER commands.
114
+ */
115
+ setState(next: SessionState, text?: string, tone?: PresenterTone): void;
116
+ /** Push a human note onto the inbox; empty/whitespace-only text is ignored. Stamped with elapsed t. */
117
+ pushMessage(text: string): void;
118
+ /** Return the queued human notes AND clear the inbox (delivered-once). */
119
+ drainInbox(): InboxMessage[];
120
+ /** Diagnostic read of the inbox depth (does not clear). */
121
+ inboxSize(): number;
122
+ /** Human marks still awaiting a fix (oldest first). Reading does not consume — resolveMark() does. */
123
+ pendingMarks(): ReviewMark[];
124
+ /** Full mark history (pending + resolved), oldest first. */
125
+ allMarks(): ReviewMark[];
126
+ /** Count of pending marks — surfaced as the panel badge / a session-health hint. */
127
+ pendingMarkCount(): number;
128
+ /** Retire a mark the agent fixed. True on a real pending → resolved transition; false otherwise. */
129
+ resolveMark(id: string): boolean;
130
+ /**
131
+ * Apply a narrowed human control. `setState` is called only on a GENUINE change, so each real
132
+ * transition pushes exactly one PRESENTER command; no-ops (e.g. resume on active, pause after
133
+ * end) push nothing. `ended` is terminal — pause/resume after end are no-ops.
134
+ */
135
+ applyHumanControl(data: HumanControlData): void;
136
+ /**
137
+ * Push a lifecycle state to the panel with optional human-facing `text`. State changes still flow
138
+ * through `setState`; an auto-ended session rides a `warn` tone so the panel can shout "agent stopped".
139
+ */
140
+ pushPresenter(state: SessionState, text?: string, tone?: PresenterTone): void;
141
+ /** Fire-and-forget a narration row to the live panel (so a resolved mark shows "✓ fixed"). */
142
+ pushNarration(text: string): void;
143
+ /**
144
+ * Returns the one-time session lease block on the very first agent command, then undefined
145
+ * forever after. The lease carries an IMPORTANT reminder to call reticle_end_session. Coding agents
146
+ * (Claude Code, Codex) read tool results — they will see this and remember to clean up.
147
+ */
148
+ takeSessionLease(): {
149
+ sessionId: string;
150
+ opened_at: number;
151
+ IMPORTANT: string;
152
+ } | undefined;
153
+ /**
154
+ * Returns a human-readable age warning after SESSION_LEASE.WARN_AFTER_MS (10 min), else undefined.
155
+ * Spliced onto every session-bound tool result so the agent is passively reminded to clean up
156
+ * without needing an explicit polling loop.
157
+ */
158
+ ageWarning(): string | undefined;
159
+ }
160
+ /**
161
+ * Re-exported from session-manager.ts so the public import path (`./session.js`) is unchanged for
162
+ * the many call sites that resolve a target session. The class lives in its own file to keep both
163
+ * units under the file-size cap.
164
+ */
165
+ export { SessionManager } from './session-manager.js';
166
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}