@reticlehq/server 2.1.0 → 2.2.1

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 (471) hide show
  1. package/LICENSE-ENTERPRISE +37 -0
  2. package/README.md +5 -1
  3. package/dist/bridge-security.d.ts +1 -1
  4. package/dist/bridge-security.js +1 -1
  5. package/dist/bridge.d.ts +7 -0
  6. package/dist/bridge.d.ts.map +1 -1
  7. package/dist/bridge.js +22 -3
  8. package/dist/bridge.js.map +1 -1
  9. package/dist/bridge.test-harness.d.ts +5 -0
  10. package/dist/bridge.test-harness.d.ts.map +1 -1
  11. package/dist/bridge.test-harness.js +4 -0
  12. package/dist/bridge.test-harness.js.map +1 -1
  13. package/dist/capsule/capsule-store.d.ts +66 -0
  14. package/dist/capsule/capsule-store.d.ts.map +1 -0
  15. package/dist/capsule/capsule-store.js +110 -0
  16. package/dist/capsule/capsule-store.js.map +1 -0
  17. package/dist/capsule/capsule.d.ts +19 -0
  18. package/dist/capsule/capsule.d.ts.map +1 -0
  19. package/dist/capsule/capsule.js +36 -0
  20. package/dist/capsule/capsule.js.map +1 -0
  21. package/dist/capsule/causal-summary.d.ts +36 -0
  22. package/dist/capsule/causal-summary.d.ts.map +1 -0
  23. package/dist/capsule/causal-summary.js +111 -0
  24. package/dist/capsule/causal-summary.js.map +1 -0
  25. package/dist/capsule/divergence.d.ts +31 -0
  26. package/dist/capsule/divergence.d.ts.map +1 -0
  27. package/dist/capsule/divergence.js +41 -0
  28. package/dist/capsule/divergence.js.map +1 -0
  29. package/dist/capsule/minimize.d.ts +13 -0
  30. package/dist/capsule/minimize.d.ts.map +1 -0
  31. package/dist/capsule/minimize.js +23 -0
  32. package/dist/capsule/minimize.js.map +1 -0
  33. package/dist/capsule/predicate-to-links.d.ts +9 -0
  34. package/dist/capsule/predicate-to-links.d.ts.map +1 -0
  35. package/dist/capsule/predicate-to-links.js +31 -0
  36. package/dist/capsule/predicate-to-links.js.map +1 -0
  37. package/dist/cli-flow-commands.d.ts +31 -0
  38. package/dist/cli-flow-commands.d.ts.map +1 -0
  39. package/dist/cli-flow-commands.js +207 -0
  40. package/dist/cli-flow-commands.js.map +1 -0
  41. package/dist/cli-parse.d.ts +36 -2
  42. package/dist/cli-parse.d.ts.map +1 -1
  43. package/dist/cli-parse.js +97 -2
  44. package/dist/cli-parse.js.map +1 -1
  45. package/dist/cli-port.d.ts +10 -4
  46. package/dist/cli-port.d.ts.map +1 -1
  47. package/dist/cli-port.js +32 -6
  48. package/dist/cli-port.js.map +1 -1
  49. package/dist/cli-verify.d.ts +2 -0
  50. package/dist/cli-verify.d.ts.map +1 -1
  51. package/dist/cli-verify.js +52 -11
  52. package/dist/cli-verify.js.map +1 -1
  53. package/dist/cli.d.ts +2 -3
  54. package/dist/cli.d.ts.map +1 -1
  55. package/dist/cli.js +175 -9
  56. package/dist/cli.js.map +1 -1
  57. package/dist/cloud/cloud-config.d.ts +37 -0
  58. package/dist/cloud/cloud-config.d.ts.map +1 -0
  59. package/dist/cloud/cloud-config.js +87 -0
  60. package/dist/cloud/cloud-config.js.map +1 -0
  61. package/dist/cloud/cloud-sync.d.ts +96 -3
  62. package/dist/cloud/cloud-sync.d.ts.map +1 -1
  63. package/dist/cloud/cloud-sync.js +131 -2
  64. package/dist/cloud/cloud-sync.js.map +1 -1
  65. package/dist/cloud-cli.d.ts +4 -0
  66. package/dist/cloud-cli.d.ts.map +1 -0
  67. package/dist/cloud-cli.js +507 -0
  68. package/dist/cloud-cli.js.map +1 -0
  69. package/dist/crawl/crawl-tools.d.ts.map +1 -1
  70. package/dist/crawl/crawl-tools.js +12 -0
  71. package/dist/crawl/crawl-tools.js.map +1 -1
  72. package/dist/crawl/crawl.d.ts +23 -1
  73. package/dist/crawl/crawl.d.ts.map +1 -1
  74. package/dist/crawl/crawl.js +36 -9
  75. package/dist/crawl/crawl.js.map +1 -1
  76. package/dist/daemon-resilience.d.ts +5 -5
  77. package/dist/daemon-resilience.js +5 -5
  78. package/dist/daemon.d.ts +1 -1
  79. package/dist/daemon.d.ts.map +1 -1
  80. package/dist/daemon.js +53 -8
  81. package/dist/daemon.js.map +1 -1
  82. package/dist/domain/domain-tools.d.ts.map +1 -1
  83. package/dist/domain/domain-tools.js +11 -1
  84. package/dist/domain/domain-tools.js.map +1 -1
  85. package/dist/domain/flow-risk.d.ts +4 -4
  86. package/dist/domain/flow-risk.js +4 -4
  87. package/dist/ee/audit-log.d.ts +2 -2
  88. package/dist/ee/audit-log.js +2 -2
  89. package/dist/events/event-filters.d.ts +29 -1
  90. package/dist/events/event-filters.d.ts.map +1 -1
  91. package/dist/events/event-filters.js +75 -1
  92. package/dist/events/event-filters.js.map +1 -1
  93. package/dist/events/predicate-eval.d.ts +15 -0
  94. package/dist/events/predicate-eval.d.ts.map +1 -1
  95. package/dist/events/predicate-eval.js +97 -18
  96. package/dist/events/predicate-eval.js.map +1 -1
  97. package/dist/events/predicate.d.ts +22 -1
  98. package/dist/events/predicate.d.ts.map +1 -1
  99. package/dist/events/predicate.js +154 -20
  100. package/dist/events/predicate.js.map +1 -1
  101. package/dist/events/ring-buffer.d.ts +3 -3
  102. package/dist/events/ring-buffer.d.ts.map +1 -1
  103. package/dist/events/ring-buffer.js +54 -8
  104. package/dist/events/ring-buffer.js.map +1 -1
  105. package/dist/flows/affected.d.ts +25 -0
  106. package/dist/flows/affected.d.ts.map +1 -0
  107. package/dist/flows/affected.js +36 -0
  108. package/dist/flows/affected.js.map +1 -0
  109. package/dist/flows/annotate.d.ts +4 -4
  110. package/dist/flows/annotate.js +4 -4
  111. package/dist/flows/assertion-integrity.d.ts +24 -0
  112. package/dist/flows/assertion-integrity.d.ts.map +1 -0
  113. package/dist/flows/assertion-integrity.js +27 -0
  114. package/dist/flows/assertion-integrity.js.map +1 -0
  115. package/dist/flows/assertion-tiers-store.d.ts +80 -0
  116. package/dist/flows/assertion-tiers-store.d.ts.map +1 -0
  117. package/dist/flows/assertion-tiers-store.js +99 -0
  118. package/dist/flows/assertion-tiers-store.js.map +1 -0
  119. package/dist/flows/buddy-status.d.ts +25 -0
  120. package/dist/flows/buddy-status.d.ts.map +1 -0
  121. package/dist/flows/buddy-status.js +33 -0
  122. package/dist/flows/buddy-status.js.map +1 -0
  123. package/dist/flows/coverage.d.ts +28 -0
  124. package/dist/flows/coverage.d.ts.map +1 -0
  125. package/dist/flows/coverage.js +22 -0
  126. package/dist/flows/coverage.js.map +1 -0
  127. package/dist/flows/decision.d.ts.map +1 -1
  128. package/dist/flows/decision.js +16 -8
  129. package/dist/flows/decision.js.map +1 -1
  130. package/dist/flows/flake-store.d.ts +20 -0
  131. package/dist/flows/flake-store.d.ts.map +1 -0
  132. package/dist/flows/flake-store.js +59 -0
  133. package/dist/flows/flake-store.js.map +1 -0
  134. package/dist/flows/flake.d.ts +58 -0
  135. package/dist/flows/flake.d.ts.map +1 -0
  136. package/dist/flows/flake.js +36 -0
  137. package/dist/flows/flake.js.map +1 -0
  138. package/dist/flows/flow-classify.d.ts +8 -8
  139. package/dist/flows/flow-classify.js +8 -8
  140. package/dist/flows/flow-replay-run.d.ts.map +1 -1
  141. package/dist/flows/flow-replay-run.js +58 -5
  142. package/dist/flows/flow-replay-run.js.map +1 -1
  143. package/dist/flows/flow-replay.d.ts +9 -0
  144. package/dist/flows/flow-replay.d.ts.map +1 -1
  145. package/dist/flows/flow-replay.js +48 -13
  146. package/dist/flows/flow-replay.js.map +1 -1
  147. package/dist/flows/flow-report.d.ts +4 -4
  148. package/dist/flows/flow-sources.d.ts +20 -0
  149. package/dist/flows/flow-sources.d.ts.map +1 -0
  150. package/dist/flows/flow-sources.js +33 -0
  151. package/dist/flows/flow-sources.js.map +1 -0
  152. package/dist/flows/flow-tools.d.ts +13 -1
  153. package/dist/flows/flow-tools.d.ts.map +1 -1
  154. package/dist/flows/flow-tools.js +116 -13
  155. package/dist/flows/flow-tools.js.map +1 -1
  156. package/dist/flows/flows.d.ts +9 -4
  157. package/dist/flows/flows.d.ts.map +1 -1
  158. package/dist/flows/flows.js +38 -21
  159. package/dist/flows/flows.js.map +1 -1
  160. package/dist/flows/gate.d.ts +39 -0
  161. package/dist/flows/gate.d.ts.map +1 -0
  162. package/dist/flows/gate.js +34 -0
  163. package/dist/flows/gate.js.map +1 -0
  164. package/dist/flows/git-changed.d.ts +9 -0
  165. package/dist/flows/git-changed.d.ts.map +1 -0
  166. package/dist/flows/git-changed.js +25 -0
  167. package/dist/flows/git-changed.js.map +1 -0
  168. package/dist/flows/heal-run.d.ts +1 -1
  169. package/dist/flows/heal-run.js +1 -1
  170. package/dist/flows/parallel-suite.d.ts +27 -0
  171. package/dist/flows/parallel-suite.d.ts.map +1 -0
  172. package/dist/flows/parallel-suite.js +51 -0
  173. package/dist/flows/parallel-suite.js.map +1 -0
  174. package/dist/flows/replay.d.ts.map +1 -1
  175. package/dist/flows/replay.js +33 -11
  176. package/dist/flows/replay.js.map +1 -1
  177. package/dist/flows/server-verify.d.ts +16 -0
  178. package/dist/flows/server-verify.d.ts.map +1 -0
  179. package/dist/flows/server-verify.js +43 -0
  180. package/dist/flows/server-verify.js.map +1 -0
  181. package/dist/flows/watch-batcher.d.ts +18 -0
  182. package/dist/flows/watch-batcher.d.ts.map +1 -0
  183. package/dist/flows/watch-batcher.js +20 -0
  184. package/dist/flows/watch-batcher.js.map +1 -0
  185. package/dist/honesty/blind-spots.d.ts +37 -0
  186. package/dist/honesty/blind-spots.d.ts.map +1 -0
  187. package/dist/honesty/blind-spots.js +57 -0
  188. package/dist/honesty/blind-spots.js.map +1 -0
  189. package/dist/honesty/honesty.d.ts +57 -0
  190. package/dist/honesty/honesty.d.ts.map +1 -0
  191. package/dist/honesty/honesty.js +63 -0
  192. package/dist/honesty/honesty.js.map +1 -0
  193. package/dist/http-server.d.ts +5 -5
  194. package/dist/http-server.js +4 -4
  195. package/dist/idle-shutdown.d.ts +2 -2
  196. package/dist/idle-shutdown.js +2 -2
  197. package/dist/index.d.ts +3 -2
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +98 -13
  200. package/dist/index.js.map +1 -1
  201. package/dist/init/agent-rules.d.ts +38 -0
  202. package/dist/init/agent-rules.d.ts.map +1 -0
  203. package/dist/init/agent-rules.js +65 -0
  204. package/dist/init/agent-rules.js.map +1 -0
  205. package/dist/init/plan.d.ts +6 -0
  206. package/dist/init/plan.d.ts.map +1 -1
  207. package/dist/init/plan.js +79 -3
  208. package/dist/init/plan.js.map +1 -1
  209. package/dist/init/run.d.ts.map +1 -1
  210. package/dist/init/run.js +4 -0
  211. package/dist/init/run.js.map +1 -1
  212. package/dist/init/snippets.js +1 -1
  213. package/dist/init/vite-config.d.ts +1 -1
  214. package/dist/init/vite-config.js +2 -2
  215. package/dist/init/vite-config.js.map +1 -1
  216. package/dist/input/network-detail.d.ts +74 -0
  217. package/dist/input/network-detail.d.ts.map +1 -0
  218. package/dist/input/network-detail.js +160 -0
  219. package/dist/input/network-detail.js.map +1 -0
  220. package/dist/input/network-mock.d.ts +4 -4
  221. package/dist/input/real-input.d.ts +44 -11
  222. package/dist/input/real-input.d.ts.map +1 -1
  223. package/dist/input/real-input.js +57 -9
  224. package/dist/input/real-input.js.map +1 -1
  225. package/dist/journal/ambient-store.d.ts +16 -0
  226. package/dist/journal/ambient-store.d.ts.map +1 -0
  227. package/dist/journal/ambient-store.js +46 -0
  228. package/dist/journal/ambient-store.js.map +1 -0
  229. package/dist/journal/ambient.d.ts +48 -0
  230. package/dist/journal/ambient.d.ts.map +1 -0
  231. package/dist/journal/ambient.js +48 -0
  232. package/dist/journal/ambient.js.map +1 -0
  233. package/dist/journal/attach-journal.d.ts +22 -0
  234. package/dist/journal/attach-journal.d.ts.map +1 -0
  235. package/dist/journal/attach-journal.js +20 -0
  236. package/dist/journal/attach-journal.js.map +1 -0
  237. package/dist/journal/deviation-report.d.ts +28 -0
  238. package/dist/journal/deviation-report.d.ts.map +1 -0
  239. package/dist/journal/deviation-report.js +54 -0
  240. package/dist/journal/deviation-report.js.map +1 -0
  241. package/dist/journal/deviation-service.d.ts +12 -0
  242. package/dist/journal/deviation-service.d.ts.map +1 -0
  243. package/dist/journal/deviation-service.js +32 -0
  244. package/dist/journal/deviation-service.js.map +1 -0
  245. package/dist/journal/envelope-store.d.ts +19 -0
  246. package/dist/journal/envelope-store.d.ts.map +1 -0
  247. package/dist/journal/envelope-store.js +62 -0
  248. package/dist/journal/envelope-store.js.map +1 -0
  249. package/dist/journal/envelope.d.ts +232 -0
  250. package/dist/journal/envelope.d.ts.map +1 -0
  251. package/dist/journal/envelope.js +94 -0
  252. package/dist/journal/envelope.js.map +1 -0
  253. package/dist/journal/journal-query.d.ts +20 -0
  254. package/dist/journal/journal-query.d.ts.map +1 -0
  255. package/dist/journal/journal-query.js +28 -0
  256. package/dist/journal/journal-query.js.map +1 -0
  257. package/dist/journal/journal-recorder.d.ts +38 -0
  258. package/dist/journal/journal-recorder.d.ts.map +1 -0
  259. package/dist/journal/journal-recorder.js +81 -0
  260. package/dist/journal/journal-recorder.js.map +1 -0
  261. package/dist/journal/retention.d.ts +21 -0
  262. package/dist/journal/retention.d.ts.map +1 -0
  263. package/dist/journal/retention.js +50 -0
  264. package/dist/journal/retention.js.map +1 -0
  265. package/dist/journal/rollups.d.ts +49 -0
  266. package/dist/journal/rollups.d.ts.map +1 -0
  267. package/dist/journal/rollups.js +83 -0
  268. package/dist/journal/rollups.js.map +1 -0
  269. package/dist/journal/session-end.d.ts +32 -0
  270. package/dist/journal/session-end.d.ts.map +1 -0
  271. package/dist/journal/session-end.js +52 -0
  272. package/dist/journal/session-end.js.map +1 -0
  273. package/dist/journal/session-journal.d.ts +25 -0
  274. package/dist/journal/session-journal.d.ts.map +1 -0
  275. package/dist/journal/session-journal.js +168 -0
  276. package/dist/journal/session-journal.js.map +1 -0
  277. package/dist/license/license.d.ts +8 -3
  278. package/dist/license/license.d.ts.map +1 -1
  279. package/dist/license/license.js +34 -11
  280. package/dist/license/license.js.map +1 -1
  281. package/dist/mcp-proxy.d.ts +20 -0
  282. package/dist/mcp-proxy.d.ts.map +1 -1
  283. package/dist/mcp-proxy.js +45 -27
  284. package/dist/mcp-proxy.js.map +1 -1
  285. package/dist/mcp.d.ts +14 -0
  286. package/dist/mcp.d.ts.map +1 -1
  287. package/dist/mcp.js +79 -9
  288. package/dist/mcp.js.map +1 -1
  289. package/dist/oracles/flow-instrument-gaps.d.ts +19 -0
  290. package/dist/oracles/flow-instrument-gaps.d.ts.map +1 -0
  291. package/dist/oracles/flow-instrument-gaps.js +45 -0
  292. package/dist/oracles/flow-instrument-gaps.js.map +1 -0
  293. package/dist/oracles/propose-consequences.d.ts +22 -0
  294. package/dist/oracles/propose-consequences.d.ts.map +1 -0
  295. package/dist/oracles/propose-consequences.js +93 -0
  296. package/dist/oracles/propose-consequences.js.map +1 -0
  297. package/dist/oracles/self-instrument.d.ts +32 -0
  298. package/dist/oracles/self-instrument.d.ts.map +1 -0
  299. package/dist/oracles/self-instrument.js +44 -0
  300. package/dist/oracles/self-instrument.js.map +1 -0
  301. package/dist/pairing-token.d.ts +1 -1
  302. package/dist/phenomena/phenomena.d.ts +27 -0
  303. package/dist/phenomena/phenomena.d.ts.map +1 -0
  304. package/dist/phenomena/phenomena.js +102 -0
  305. package/dist/phenomena/phenomena.js.map +1 -0
  306. package/dist/pool/browser-pool.d.ts +5 -3
  307. package/dist/pool/browser-pool.d.ts.map +1 -1
  308. package/dist/pool/browser-pool.js +21 -3
  309. package/dist/pool/browser-pool.js.map +1 -1
  310. package/dist/pool/playwright-launcher.d.ts +2 -0
  311. package/dist/pool/playwright-launcher.d.ts.map +1 -1
  312. package/dist/pool/playwright-launcher.js +21 -2
  313. package/dist/pool/playwright-launcher.js.map +1 -1
  314. package/dist/project/baselines.d.ts.map +1 -1
  315. package/dist/project/baselines.js +5 -3
  316. package/dist/project/baselines.js.map +1 -1
  317. package/dist/project/file-lock.d.ts +2 -0
  318. package/dist/project/file-lock.d.ts.map +1 -0
  319. package/dist/project/file-lock.js +24 -0
  320. package/dist/project/file-lock.js.map +1 -0
  321. package/dist/project/fs-port.d.ts +18 -0
  322. package/dist/project/fs-port.d.ts.map +1 -1
  323. package/dist/project/fs-port.js +24 -2
  324. package/dist/project/fs-port.js.map +1 -1
  325. package/dist/project/project-store.d.ts.map +1 -1
  326. package/dist/project/project-store.js +33 -15
  327. package/dist/project/project-store.js.map +1 -1
  328. package/dist/project/project-tools.d.ts +0 -6
  329. package/dist/project/project-tools.d.ts.map +1 -1
  330. package/dist/project/project-tools.js +52 -6
  331. package/dist/project/project-tools.js.map +1 -1
  332. package/dist/project/reticle-dir.d.ts +39 -14
  333. package/dist/project/reticle-dir.d.ts.map +1 -1
  334. package/dist/project/reticle-dir.js +30 -4
  335. package/dist/project/reticle-dir.js.map +1 -1
  336. package/dist/runs/build-verification-run.d.ts +1 -1
  337. package/dist/runs/build-verification-run.js +1 -1
  338. package/dist/runs/repair-prompt.d.ts +2 -0
  339. package/dist/runs/repair-prompt.d.ts.map +1 -1
  340. package/dist/runs/repair-prompt.js +14 -1
  341. package/dist/runs/repair-prompt.js.map +1 -1
  342. package/dist/runs/reticle-runner.d.ts +1 -1
  343. package/dist/runs/reticle-runner.d.ts.map +1 -1
  344. package/dist/runs/run-diff.d.ts +34 -0
  345. package/dist/runs/run-diff.d.ts.map +1 -0
  346. package/dist/runs/run-diff.js +71 -0
  347. package/dist/runs/run-diff.js.map +1 -0
  348. package/dist/runs/run-store.d.ts +6 -1
  349. package/dist/runs/run-store.d.ts.map +1 -1
  350. package/dist/runs/run-store.js +22 -2
  351. package/dist/runs/run-store.js.map +1 -1
  352. package/dist/runs/run-tools.d.ts.map +1 -1
  353. package/dist/runs/run-tools.js +16 -3
  354. package/dist/runs/run-tools.js.map +1 -1
  355. package/dist/runs/verification-sync.d.ts +24 -0
  356. package/dist/runs/verification-sync.d.ts.map +1 -0
  357. package/dist/runs/verification-sync.js +67 -0
  358. package/dist/runs/verification-sync.js.map +1 -0
  359. package/dist/runs/verify-server.js +1 -1
  360. package/dist/runs/verify-server.js.map +1 -1
  361. package/dist/session/control-envelope.d.ts +9 -1
  362. package/dist/session/control-envelope.d.ts.map +1 -1
  363. package/dist/session/control-envelope.js +13 -1
  364. package/dist/session/control-envelope.js.map +1 -1
  365. package/dist/session/live-control-tools.d.ts +1 -1
  366. package/dist/session/live-control-tools.js +1 -1
  367. package/dist/session/live-control.d.ts +38 -0
  368. package/dist/session/live-control.d.ts.map +1 -0
  369. package/dist/session/live-control.js +64 -0
  370. package/dist/session/live-control.js.map +1 -0
  371. package/dist/session/observed-state.d.ts +46 -0
  372. package/dist/session/observed-state.d.ts.map +1 -0
  373. package/dist/session/observed-state.js +76 -0
  374. package/dist/session/observed-state.js.map +1 -0
  375. package/dist/session/output-budget.d.ts +9 -0
  376. package/dist/session/output-budget.d.ts.map +1 -1
  377. package/dist/session/output-budget.js +9 -0
  378. package/dist/session/output-budget.js.map +1 -1
  379. package/dist/session/review-store.d.ts +1 -1
  380. package/dist/session/review-store.d.ts.map +1 -1
  381. package/dist/session/review-store.js +2 -2
  382. package/dist/session/review-store.js.map +1 -1
  383. package/dist/session/session-manager.d.ts +9 -7
  384. package/dist/session/session-manager.d.ts.map +1 -1
  385. package/dist/session/session-manager.js +8 -8
  386. package/dist/session/session-manager.js.map +1 -1
  387. package/dist/session/session-readiness.js +1 -1
  388. package/dist/session/session-readiness.js.map +1 -1
  389. package/dist/session/session-reaper.d.ts +1 -1
  390. package/dist/session/session-reaper.js +1 -1
  391. package/dist/session/session-recommendation.d.ts +1 -1
  392. package/dist/session/session-recommendation.js +1 -1
  393. package/dist/session/session-tools.js +1 -1
  394. package/dist/session/session-tools.js.map +1 -1
  395. package/dist/session/session.d.ts +43 -11
  396. package/dist/session/session.d.ts.map +1 -1
  397. package/dist/session/session.js +115 -46
  398. package/dist/session/session.js.map +1 -1
  399. package/dist/telemetry/telemetry.d.ts +41 -0
  400. package/dist/telemetry/telemetry.d.ts.map +1 -0
  401. package/dist/telemetry/telemetry.js +220 -0
  402. package/dist/telemetry/telemetry.js.map +1 -0
  403. package/dist/tools/act-tools.d.ts.map +1 -1
  404. package/dist/tools/act-tools.js +252 -70
  405. package/dist/tools/act-tools.js.map +1 -1
  406. package/dist/tools/act-view.d.ts +4 -4
  407. package/dist/tools/act-view.js +4 -4
  408. package/dist/tools/browser-tools.d.ts.map +1 -1
  409. package/dist/tools/browser-tools.js +32 -8
  410. package/dist/tools/browser-tools.js.map +1 -1
  411. package/dist/tools/contract-tools.d.ts.map +1 -1
  412. package/dist/tools/contract-tools.js +5 -0
  413. package/dist/tools/contract-tools.js.map +1 -1
  414. package/dist/tools/dynamic-tools.d.ts.map +1 -1
  415. package/dist/tools/dynamic-tools.js +8 -7
  416. package/dist/tools/dynamic-tools.js.map +1 -1
  417. package/dist/tools/invoke-tool.d.ts.map +1 -1
  418. package/dist/tools/invoke-tool.js +36 -29
  419. package/dist/tools/invoke-tool.js.map +1 -1
  420. package/dist/tools/lease-tools.d.ts +16 -0
  421. package/dist/tools/lease-tools.d.ts.map +1 -1
  422. package/dist/tools/lease-tools.js +11 -0
  423. package/dist/tools/lease-tools.js.map +1 -1
  424. package/dist/tools/merge-tools.d.ts +43 -0
  425. package/dist/tools/merge-tools.d.ts.map +1 -0
  426. package/dist/tools/merge-tools.js +66 -0
  427. package/dist/tools/merge-tools.js.map +1 -0
  428. package/dist/tools/observe-tools.d.ts.map +1 -1
  429. package/dist/tools/observe-tools.js +172 -29
  430. package/dist/tools/observe-tools.js.map +1 -1
  431. package/dist/tools/profiles.d.ts +18 -13
  432. package/dist/tools/profiles.d.ts.map +1 -1
  433. package/dist/tools/profiles.js +39 -33
  434. package/dist/tools/profiles.js.map +1 -1
  435. package/dist/tools/query-paginate.d.ts +9 -2
  436. package/dist/tools/query-paginate.d.ts.map +1 -1
  437. package/dist/tools/query-paginate.js +21 -4
  438. package/dist/tools/query-paginate.js.map +1 -1
  439. package/dist/tools/read-tools.d.ts.map +1 -1
  440. package/dist/tools/read-tools.js +30 -1
  441. package/dist/tools/read-tools.js.map +1 -1
  442. package/dist/tools/snapshot-delta.d.ts +2 -0
  443. package/dist/tools/snapshot-delta.d.ts.map +1 -1
  444. package/dist/tools/snapshot-delta.js +0 -0
  445. package/dist/tools/snapshot-delta.js.map +1 -1
  446. package/dist/tools/tool-kit.d.ts +3 -2
  447. package/dist/tools/tool-kit.d.ts.map +1 -1
  448. package/dist/tools/tool-kit.js +11 -1
  449. package/dist/tools/tool-kit.js.map +1 -1
  450. package/dist/tools/tool-names.d.ts +18 -10
  451. package/dist/tools/tool-names.d.ts.map +1 -1
  452. package/dist/tools/tool-names.js +22 -13
  453. package/dist/tools/tool-names.js.map +1 -1
  454. package/dist/tools/tools-helpers.d.ts +12 -0
  455. package/dist/tools/tools-helpers.d.ts.map +1 -1
  456. package/dist/tools/tools-helpers.js +20 -0
  457. package/dist/tools/tools-helpers.js.map +1 -1
  458. package/dist/tools/tools.d.ts.map +1 -1
  459. package/dist/tools/tools.js +162 -12
  460. package/dist/tools/tools.js.map +1 -1
  461. package/dist/update/update-checker.d.ts.map +1 -1
  462. package/dist/update/update-checker.js +26 -1
  463. package/dist/update/update-checker.js.map +1 -1
  464. package/dist/update/updater.d.ts +1 -1
  465. package/dist/update/updater.js +2 -2
  466. package/dist/update/updater.js.map +1 -1
  467. package/package.json +8 -3
  468. package/dist/update/update-tools.d.ts +0 -3
  469. package/dist/update/update-tools.d.ts.map +0 -1
  470. package/dist/update/update-tools.js +0 -94
  471. package/dist/update/update-tools.js.map +0 -1
@@ -1,11 +1,17 @@
1
1
  import { EventType, HumanControlDataSchema, HumanControlKind, HumanMarkDataSchema, ReticleCommand, MessageKind, PresenterTone, SESSION_HEALTH, SESSION_LEASE, SESSION_LIFECYCLE, SessionState, } from '@reticlehq/core';
2
2
  import { RingBuffer } from '../events/ring-buffer.js';
3
+ import { filterEvents, mergeEventsBySeq, } from '../journal/journal-query.js';
4
+ import {} from '../journal/ambient.js';
5
+ import { ObservedState } from './observed-state.js';
6
+ import { LiveControl } from './live-control.js';
3
7
  import { ReviewStore } from './review-store.js';
4
8
  import { buildSessionRecommendation } from './session-recommendation.js';
5
9
  import { buildPresenterArgs } from './presenter-args.js';
6
10
  const DEFAULT_COMMAND_TIMEOUT_MS = 8000;
7
11
  /** Prefix on correlated command ids (c1, c2, …) — distinguishes them from mark ids. */
8
12
  const COMMAND_ID_PREFIX = 'c';
13
+ /** Prefix on minted action ids (a1, a2, …) — the journal's action identity, independent of commands. */
14
+ const ACTION_ID_PREFIX = 'a';
9
15
  /** ws readyState for an OPEN socket — guard fire-and-forget pushes against a closing tab. */
10
16
  const WS_OPEN = 1;
11
17
  /**
@@ -27,22 +33,30 @@ export class Session {
27
33
  #pending = new Map();
28
34
  #listeners = new Set();
29
35
  #seq = 0;
36
+ #actionSeq = 0;
30
37
  #lastSeenAt;
31
38
  #hidden = false;
32
39
  #focused = true;
33
- #state = SessionState.ACTIVE;
34
40
  #lastActCursor;
41
+ #lastActSource;
35
42
  /** Liveness: wall-clock of the last AGENT command (distinct from browser chatter / lastSeen). */
36
43
  #lastAgentActivityAt;
37
44
  /** Server-side mirror of the agent-tuned idle window, so the reaper honors reticle_session. */
38
45
  #idleEndMs = SESSION_LIFECYCLE.IDLE_END_MS;
39
46
  /** True when the reaper/disconnect ended this session — such an end is revivable; explicit ends are not. */
40
47
  #autoEnded = false;
41
- #inbox = [];
48
+ #live = new LiveControl();
42
49
  /** Human review marks: mistakes the human pinned to elements, for the agent to drain and fix. */
43
50
  #review = new ReviewStore();
44
51
  /** Whether the session_lease has already been returned (fire-once per session). */
45
52
  #firstCommandDone = false;
53
+ /** Durable causal-journal recorder; undefined when journaling is off (opt-out or not yet attached). */
54
+ #journal;
55
+ #activeActionId; // action window, held independently of the journal
56
+ /** Read side of the journal, for queries that must survive ring-buffer eviction. */
57
+ #journalReader;
58
+ /** What this session has learned by watching its own stream: ambient churn + blind-spot levels. */
59
+ #observed = new ObservedState();
46
60
  constructor(hello, socket, clock) {
47
61
  this.id = hello.sessionId;
48
62
  this.projectId = hello.projectId;
@@ -151,9 +165,77 @@ export class Session {
151
165
  }
152
166
  const t = this.elapsed();
153
167
  const stamped = { ...event, t, sessionId: this.id };
154
- this.#buffer.push(stamped, t, byteSize);
168
+ // The recorder attributes the event to the in-flight action (if any) and journals it durably; the
169
+ // returned event carries actionId/attribution so the buffer + all queries see the same causal link.
170
+ // Falls back to the session's own window so attribution survives the journal being switched off.
171
+ const seen = this.#journal?.observe(stamped) ?? stamped;
172
+ const fallback = this.#activeActionId;
173
+ const attributed = seen.actionId === undefined && fallback !== undefined
174
+ ? { ...seen, actionId: fallback }
175
+ : seen;
176
+ this.#observed.observe(attributed);
177
+ this.#buffer.push(attributed, t, byteSize);
155
178
  for (const listener of this.#listeners)
156
- listener(stamped);
179
+ listener(attributed);
180
+ }
181
+ /** Latest count per blind-spot kind; survives buffer eviction. See ObservedState for why. */
182
+ blindSpots() {
183
+ return this.#observed.blindSpots();
184
+ }
185
+ /** Learned ambient-churn counts (PredicateSession hook the settle oracle reads). */
186
+ ambientCounts() {
187
+ return this.#observed.ambientCounts();
188
+ }
189
+ /** Only what THIS session observed — what teardown accumulates onto the persisted map. */
190
+ ownAmbientCounts() {
191
+ return this.#observed.ownAmbientCounts();
192
+ }
193
+ /** Seed the ambient map from the persisted per-app `.reticle/ambient.json` (sharpens across sessions). */
194
+ seedAmbient(counts) {
195
+ this.#observed.seedAmbient(counts);
196
+ }
197
+ /**
198
+ * Attach the durable causal-journal recorder (off by default; wired at session creation). The optional
199
+ * reader is the query fall-through source — pass it to make `queryEvents` survive buffer eviction.
200
+ */
201
+ setJournal(recorder, reader) {
202
+ this.#journal = recorder;
203
+ this.#journalReader = reader;
204
+ }
205
+ /**
206
+ * Journal-backed event query: the ring buffer's events, merged with the durable journal **only when
207
+ * the buffer has evicted** (so a healthy session pays no disk cost), then filtered by since/until/
208
+ * actionId. This is how "what did action N cause" is answered after the buffer has dropped the
209
+ * evidence — the substrate's whole point. The sync `eventsSince`/`window` stay for the hot path.
210
+ */
211
+ async queryEvents(options) {
212
+ if (this.#journalReader !== undefined && this.#buffer.bufferHealth().dropped > 0) {
213
+ const durable = await this.#journalReader.readEvents();
214
+ return filterEvents(mergeEventsBySeq(durable, this.#buffer.since(0)), options);
215
+ }
216
+ return filterEvents(this.#buffer.since(options.since ?? 0), options);
217
+ }
218
+ /**
219
+ * Open an action-attribution window: events observed until finishAction attribute to the returned
220
+ * action id. Ids are minted independently of command correlation ids so the journal is self-contained.
221
+ */
222
+ beginAction(tool, args) {
223
+ this.#actionSeq += 1;
224
+ const actionId = `${ACTION_ID_PREFIX}${String(this.#actionSeq)}`;
225
+ // Held here, not only in the journal: with the journal off every event was unattributed, and
226
+ // pushEvent reads that as ambient churn the settle oracle then ignores. See action-attribution test.
227
+ this.#activeActionId = actionId;
228
+ this.#journal?.beginAction(actionId, tool, args);
229
+ return actionId;
230
+ }
231
+ /** Close the active action window, persisting its action record with the settle outcome. */
232
+ finishAction(effect, settled, settledInMs) {
233
+ this.#activeActionId = undefined;
234
+ this.#journal?.finishAction(effect, settled, settledInMs);
235
+ }
236
+ /** Flush any buffered journal events to disk (call on session end). */
237
+ async flushJournal() {
238
+ await this.#journal?.flush();
157
239
  }
158
240
  eventsSince(cursor) {
159
241
  return this.#buffer.since(cursor);
@@ -169,6 +251,14 @@ export class Session {
169
251
  lastActCursor() {
170
252
  return this.#lastActCursor;
171
253
  }
254
+ /** Remember where the last acted control is written (`file:line`), for failures with no element. */
255
+ markActSource(source) {
256
+ this.#lastActSource = source;
257
+ }
258
+ /** Where the last acted control is written, or undefined if nothing has acted yet. */
259
+ lastActSource() {
260
+ return this.#lastActSource;
261
+ }
172
262
  // ── Server-authoritative liveness (immune to browser-tab throttling) ──────────────
173
263
  /**
174
264
  * Stamp the wall-clock of the latest AGENT command (called whenever a tool resolves this session).
@@ -178,7 +268,7 @@ export class Session {
178
268
  */
179
269
  markAgentActivity() {
180
270
  this.#lastAgentActivityAt = this.#clock();
181
- if (this.#state === SessionState.ENDED && this.#autoEnded) {
271
+ if (this.#live.isEnded() && this.#autoEnded) {
182
272
  this.#autoEnded = false;
183
273
  this.setState(SessionState.ACTIVE);
184
274
  }
@@ -201,7 +291,7 @@ export class Session {
201
291
  * already ended.
202
292
  */
203
293
  autoEnd(text, tone = PresenterTone.WARN) {
204
- if (this.#state === SessionState.ENDED)
294
+ if (this.#live.isEnded())
205
295
  return;
206
296
  this.#autoEnded = true;
207
297
  this.setState(SessionState.ENDED, text, tone);
@@ -265,13 +355,13 @@ export class Session {
265
355
  }
266
356
  // ── Live-control: state machine + human→agent inbox (server-owned) ───────────────
267
357
  getState() {
268
- return this.#state;
358
+ return this.#live.state();
269
359
  }
270
360
  isPaused() {
271
- return this.#state === SessionState.PAUSED;
361
+ return this.#live.isPaused();
272
362
  }
273
363
  isEnded() {
274
- return this.#state === SessionState.ENDED;
364
+ return this.#live.isEnded();
275
365
  }
276
366
  /**
277
367
  * Set the lifecycle state and echo it to the panel in ONE PRESENTER push. The SOLE pusher of
@@ -279,26 +369,23 @@ export class Session {
279
369
  * summary) so a transition never emits two PRESENTER commands.
280
370
  */
281
371
  setState(next, text, tone) {
282
- this.#state = next;
283
- this.pushPresenter(this.#state, text, tone);
372
+ this.#live.setState(next);
373
+ this.pushPresenter(next, text, tone);
284
374
  }
285
- /** Push a human note onto the inbox; empty/whitespace-only text is ignored. Stamped with elapsed t. */
375
+ /** Push a human note onto the inbox (see LiveControl). */
286
376
  pushMessage(text) {
287
- const trimmed = text.trim();
288
- if (trimmed.length === 0)
289
- return;
290
- this.#inbox.push({ text: trimmed, t: this.elapsed() });
377
+ this.#live.push(text, this.elapsed());
291
378
  }
292
- /** Return the queued human notes AND clear the inbox (delivered-once). */
379
+ /** Queued human notes, cleared as they are read (delivered-once). */
293
380
  drainInbox() {
294
- return this.#inbox.splice(0, this.#inbox.length);
381
+ return this.#live.drain();
295
382
  }
296
383
  /** Diagnostic read of the inbox depth (does not clear). */
297
384
  inboxSize() {
298
- return this.#inbox.length;
385
+ return this.#live.size();
299
386
  }
300
387
  // ── Human review marks: the "annotate the bug where you see it" inbox (server-owned) ──────────
301
- /** Human marks still awaiting a fix (oldest first). Reading does not consume — resolveMark() does. */
388
+ /** Human marks still awaiting a fix (oldest first). Reading does not consume — resolveMark does. */
302
389
  pendingMarks() {
303
390
  return this.#review.pending();
304
391
  }
@@ -315,33 +402,15 @@ export class Session {
315
402
  return this.#review.resolve(id);
316
403
  }
317
404
  /**
318
- * Apply a narrowed human control. `setState` is called only on a GENUINE change, so each real
319
- * transition pushes exactly one PRESENTER command; no-ops (e.g. resume on active, pause after
320
- * end) push nothing. `ended` is terminal — pause/resume after end are no-ops.
405
+ * Apply a narrowed human control. LiveControl decides the transition; this applies it, so a real
406
+ * change pushes exactly one PRESENTER command and a no-op pushes none.
321
407
  */
322
408
  applyHumanControl(data) {
323
- if (this.#state === SessionState.ENDED) {
324
- // Terminal: end is idempotent; pause/resume are no-ops.
325
- return;
326
- }
327
- switch (data.kind) {
328
- case HumanControlKind.PAUSE:
329
- if (this.#state !== SessionState.PAUSED)
330
- this.setState(SessionState.PAUSED);
331
- return;
332
- case HumanControlKind.RESUME:
333
- if (this.#state !== SessionState.ACTIVE)
334
- this.setState(SessionState.ACTIVE);
335
- return;
336
- case HumanControlKind.END:
337
- this.setState(SessionState.ENDED);
338
- return;
339
- case HumanControlKind.MESSAGE:
340
- if (data.text !== undefined)
341
- this.pushMessage(data.text);
342
- return;
343
- default:
344
- return;
409
+ const next = this.#live.nextStateFor(data);
410
+ if (next !== undefined)
411
+ this.setState(next);
412
+ if (data.kind === HumanControlKind.MESSAGE && data.text !== undefined) {
413
+ this.pushMessage(data.text);
345
414
  }
346
415
  }
347
416
  /**
@@ -367,7 +436,7 @@ export class Session {
367
436
  return {
368
437
  sessionId: this.id,
369
438
  opened_at: this.#startedAt,
370
- IMPORTANT: 'MANDATORY: the moment you stop driving — finishing a reply or waiting on the human — call reticle_yield (mode:"waiting", or "ask" with your question) so the panel never falsely reads "live". Call reticle_end_session only when the whole task is done. The session revives on your next action.',
439
+ IMPORTANT: 'MANDATORY: the moment you stop driving — finishing a reply or waiting on the human — call reticle_session {action:"yield", mode:"waiting"} (or mode:"ask" with your question) so the panel never falsely reads "live". Call reticle_session {action:"end"} only when the whole task is done. The session revives on your next action.',
371
440
  };
372
441
  }
373
442
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,GAKb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,YAAY,EACZ,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAsB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA0CzD,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,uFAAuF;AACvF,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,wGAAwG;AACxG,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,6FAA6F;AAC7F,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB;;;GAGG;AACH,MAAM,OAAO,OAAO;IACT,EAAE,CAAS;IACpB,mFAAmF;IAC1E,SAAS,CAAqB;IACvC,GAAG,CAAS;IACZ,KAAK,CAAS;IACd,QAAQ,CAAW;IACnB,eAAe,CAAU;IAEhB,OAAO,CAAY;IACnB,MAAM,CAAQ;IACd,UAAU,CAAS;IACnB,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAC3B,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7C,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC/D,IAAI,GAAG,CAAC,CAAC;IACT,UAAU,GAAG,CAAC,CAAC;IACf,WAAW,CAAS;IACpB,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,IAAI,CAAC;IAChB,cAAc,CAAqB;IACnC,cAAc,CAAqB;IACnC,iGAAiG;IACjG,oBAAoB,CAAS;IAC7B,+FAA+F;IAC/F,UAAU,GAAW,iBAAiB,CAAC,WAAW,CAAC;IACnD,4GAA4G;IAC5G,UAAU,GAAG,KAAK,CAAC;IACV,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IACnC,iGAAiG;IACxF,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IACrC,mFAAmF;IACnF,iBAAiB,GAAG,KAAK,CAAC;IAC1B,uGAAuG;IACvG,QAAQ,CAA8B;IACtC,eAAe,CAAqB,CAAC,mDAAmD;IACxF,oFAAoF;IACpF,cAAc,CAA4B;IAC1C,mGAAmG;IAC1F,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;IAEzC,YAAY,KAAmB,EAAE,MAAiB,EAAE,KAAY;QAC9D,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,kFAAkF;IAClF,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,8EAA8E;IAC9E,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,qFAAqF;IACrF,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,8EAA8E;IAC9E,WAAW,CAAC,MAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,4EAA4E;IAC5E,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,cAAc,CAAC,kBAAkB,CAAC;IAC/E,CAAC;IAED,0EAA0E;IAC1E,MAAM;QACJ,MAAM,IAAI,GAAkB;YAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;QACF,uFAAuF;QACvF,MAAM,cAAc,GAAG,0BAA0B,CAAC;YAChD,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,CAAC;IAC3E,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAgB;YACxB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACtE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,IAAI,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,kBAAkB;gBACrB,yEAAyE,CAAC;QAC9E,CAAC;QACD,kGAAkG;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,qDAAqD,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAC3J,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IACrD,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,oFAAoF;IACpF,SAAS,CAAC,KAAmB,EAAE,QAAiB;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACnF,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;YAC3C,wFAAwF;YACxF,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;YACxC,8FAA8F;YAC9F,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;YAC1C,0FAA0F;YAC1F,6FAA6F;YAC7F,0FAA0F;YAC1F,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAiB,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAClE,kGAAkG;QAClG,oGAAoG;QACpG,iGAAiG;QACjG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,MAAM,UAAU,GACd,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YACnD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACjC,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU;YAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,6FAA6F;IAC7F,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,oFAAoF;IACpF,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,0FAA0F;IAC1F,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAED,0GAA0G;IAC1G,WAAW,CAAC,MAAqB;QAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,QAAyB,EAAE,MAAsB;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAA0B;QAC1C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACjF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY,EAAE,IAA6B;QACrD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,GAAG,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,6FAA6F;QAC7F,qGAAqG;QACrG,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4FAA4F;IAC5F,YAAY,CAAC,MAAgB,EAAE,OAAiB,EAAE,WAAoB;QACpE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAc;QAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,yEAAyE;IACzE,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,oGAAoG;IACpG,aAAa,CAAC,MAA0B;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,sFAAsF;IACtF,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,qFAAqF;IAErF;;;;;OAKG;IACH,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACnD,CAAC;IAED,sEAAsE;IACtE,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,gGAAgG;IAChG,YAAY,CAAC,EAAU;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAa,EAAE,OAAsB,aAAa,CAAC,IAAI;QAC7D,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,iHAAiH;IACjH,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,QAAuC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,uEAAuE;IACvE,OAAO,CACL,IAAY,EACZ,OAAgC,EAAE,EAClC,YAAoB,0BAA0B;QAE9C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,MAAM,EAAE,GAAG,GAAG,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,EAAE;YACF,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,qBAAqB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAAqB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,SAAS,CAAC,MAAc;QACtB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED,oFAAoF;IAEpF,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAkB,EAAE,IAAa,EAAE,IAAoB;QAC9D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,0DAA0D;IAC1D,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,qEAAqE;IACrE,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,2DAA2D;IAC3D,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,iGAAiG;IAEjG,oGAAoG;IACpG,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,4DAA4D;IAC5D,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,oFAAoF;IACpF,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,oGAAoG;IACpG,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAsB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAmB,EAAE,IAAa,EAAE,IAAoB;QACpE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,8FAA8F;IAC9F,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EACP,uUAAuU;SAC1U,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,IAAI,KAAK,GAAG,aAAa,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAC3C,OAAO,WAAW,IAAI,CAAC,EAAE,sBAAsB,MAAM,CAAC,OAAO,CAAC,mEAAmE,CAAC;IACpI,CAAC;IAED,iGAAiG;IACjG,KAAK,CAAC,IAAY,EAAE,IAA6B;QAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO;YAAE,OAAO;QAChD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,MAAM,EAAE,GAAG,GAAG,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,EAAE;YACF,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { TelemetryEventKind } from '@reticlehq/core';
2
+ /** The current telemetry state and which control set it — what `reticle telemetry status` prints. */
3
+ export declare const describeTelemetry: (env?: NodeJS.ProcessEnv, dir?: string) => {
4
+ enabled: boolean;
5
+ reason: string;
6
+ policyUrl: string;
7
+ };
8
+ /** Persist (or lift) the machine-wide opt-out — `reticle telemetry disable` / `enable`. */
9
+ export declare const setTelemetryEnabled: (enabled: boolean, dir?: string) => void;
10
+ export interface Telemetry {
11
+ /**
12
+ * Fire one event, non-blocking. `detach: true` hands the send to a disowned child so a short-lived
13
+ * CLI process can exit immediately instead of waiting out the POST (use it from command entry
14
+ * points; daemon-side events send in-process).
15
+ */
16
+ emit(kind: TelemetryEventKind, extra?: {
17
+ sessionMs?: number;
18
+ tool?: string;
19
+ detach?: boolean;
20
+ }): Promise<void>;
21
+ readonly enabled: boolean;
22
+ /** True the very first run on this machine — the CLI emits INSTALL alongside the first INVOKE. */
23
+ readonly firstRun: boolean;
24
+ }
25
+ /**
26
+ * Build the telemetry emitter for this process. Resolves identity + opt-out ONCE; each `emit` builds a
27
+ * fully-validated core event, maps it into PostHog capture shape, and fires a best-effort POST.
28
+ * `version` is the running reticle version (for the `version` dimension); `now`/`fetchImpl` are
29
+ * injected so this is testable without a clock or network.
30
+ */
31
+ export declare const createTelemetry: (opts: {
32
+ version: string;
33
+ env?: NodeJS.ProcessEnv;
34
+ cwd?: string;
35
+ now?: () => number;
36
+ fetchImpl?: typeof fetch;
37
+ spawnImpl?: (command: string, args: string[]) => void;
38
+ }) => Telemetry;
39
+ export declare const getTelemetry: () => Telemetry;
40
+ export { TelemetryEventKind };
41
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,kBAAkB,EAAgD,MAAM,iBAAiB,CAAC;AA4FnG,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,GAC5B,MAAK,MAAM,CAAC,UAAwB,EACpC,MAAK,MAAoB,KACxB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAgBvD,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,MAAK,MAAoB,KAAG,IAQjF,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,IAAI,CACF,IAAI,EAAE,kBAAkB,EACxB,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,kGAAkG;IAClG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAID;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACvD,KAAG,SAwEH,CAAC;AAOF,eAAO,MAAM,YAAY,QAAO,SAC8B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Anonymous adoption telemetry — the OSS runtime's ONLY phone-home for product metrics (DAU/WAU/MAU,
3
+ * invocations, sessions, installs, tool usage). It answers the "npm downloads don't count, show me
4
+ * platform usage" question without collecting anything personal:
5
+ *
6
+ * - identity is a random UUID minted locally at `~/.reticle/telemetry-id` (never derived from you),
7
+ * - the project is a one-way HASH of the cwd (counts DISTINCT projects, reveals none),
8
+ * - it is strictly opt-OUT: `RETICLE_TELEMETRY=0` or the `DO_NOT_TRACK` convention disables it,
9
+ * - it is best-effort and non-blocking: a send failure NEVER changes what the tool does.
10
+ *
11
+ * Events are `@reticlehq/core`'s `TelemetryEventSchema`, mapped at the wire into PostHog's capture
12
+ * format (https://posthog.com/docs/api/capture) — PostHog is the analytics backend until Reticle Cloud
13
+ * grows its own; a project API key is WRITE-ONLY by design, so embedding it in an OSS client is safe.
14
+ * Everything here is wrapped so a telemetry bug can never surface to a user — a broken metric must not
15
+ * break a verification.
16
+ */
17
+ import { spawn } from 'node:child_process';
18
+ import { randomUUID, createHash } from 'node:crypto';
19
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, rmSync } from 'node:fs';
20
+ import { homedir, platform } from 'node:os';
21
+ import { join } from 'node:path';
22
+ import { TelemetryEventKind, TELEMETRY_EVENT_VERSION } from '@reticlehq/core';
23
+ import { SERVER_VERSION } from '../server-version.js';
24
+ const RETICLE_DIR = join(homedir(), '.reticle');
25
+ const ID_FILE = join(RETICLE_DIR, 'telemetry-id');
26
+ const NOTICE_FILE = join(RETICLE_DIR, 'telemetry-notice-shown');
27
+ /** Presence of this file = a persistent, machine-wide opt-out (`reticle telemetry disable`). */
28
+ const OPT_OUT_FILE = join(RETICLE_DIR, 'telemetry-opt-out');
29
+ /** Where the full disclosure lives — printed in the first-run notice and `reticle telemetry status`. */
30
+ const POLICY_URL = 'https://github.com/reticlehq/reticle/blob/main/docs/telemetry.md';
31
+ /** PostHog batch-capture endpoint (US cloud). `RETICLE_TELEMETRY_URL` overrides the host (EU/self-host). */
32
+ const DEFAULT_URL = 'https://us.i.posthog.com';
33
+ const TELEMETRY_PATH = '/batch/';
34
+ /**
35
+ * The write-only PostHog project key (safe to embed: it can only WRITE events, never read anything —
36
+ * PostHog's own docs ship it in client-side JS). `RETICLE_TELEMETRY_KEY` overrides it; empty disables.
37
+ */
38
+ const POSTHOG_KEY = 'phc_q4yCxKMXHfWQ43VAz4HxJXZFLqFi4nBbg5v3avemggYo';
39
+ /**
40
+ * Skip PostHog person-profile processing: our users are anonymous by construction (never $identify'd),
41
+ * so profiles buy nothing — and personless events are up to 4x cheaper while unique counts/retention
42
+ * still key on distinct_id.
43
+ */
44
+ const POSTHOG_PERSONLESS = { $process_person_profile: false };
45
+ const SEND_TIMEOUT_MS = 2000;
46
+ /**
47
+ * The sender a `detach: true` emit runs in a disowned child (argv: [url, body]) — an in-process fetch
48
+ * keeps Node's event loop alive until the POST finishes, which taxed every short-lived CLI command
49
+ * (`reticle version`/`gate`) ~800ms. Long-lived daemon events still send in-process: a spawn per tool
50
+ * call would be far heavier than a fetch inside an already-running server.
51
+ */
52
+ const DETACHED_SEND_SCRIPT = "fetch(process.argv[1],{method:'POST',headers:{'content-type':'application/json'}," +
53
+ `body:process.argv[2],signal:AbortSignal.timeout(${SEND_TIMEOUT_MS})})` +
54
+ '.catch(()=>{}).finally(()=>process.exit(0))';
55
+ /** Env var names — mirror cloud-sync's `RETICLE_*` convention. */
56
+ const Env = {
57
+ DISABLE: 'RETICLE_TELEMETRY', // "0" / "false" / "off" → disabled
58
+ DO_NOT_TRACK: 'DO_NOT_TRACK', // the cross-tool opt-out convention (any truthy value)
59
+ URL: 'RETICLE_TELEMETRY_URL', // override the PostHog host (EU cloud / self-hosted)
60
+ KEY: 'RETICLE_TELEMETRY_KEY', // override the PostHog project key
61
+ CI: 'CI', // presence marks a CI environment
62
+ VITEST: 'VITEST', // set by vitest — unit tests must never phone home
63
+ };
64
+ const isDisabled = (env) => {
65
+ const off = new Set(['0', 'false', 'off', 'no']);
66
+ if (off.has((env[Env.DISABLE] ?? '').toLowerCase()))
67
+ return true;
68
+ if (env[Env.VITEST] !== undefined)
69
+ return true; // a test run is not a user
70
+ const dnt = env[Env.DO_NOT_TRACK];
71
+ return typeof dnt === 'string' && dnt !== '' && dnt !== '0';
72
+ };
73
+ /** Read (or mint-and-persist) the anonymous machine id. `firstRun` is true the run that created it. */
74
+ const resolveIdentity = () => {
75
+ try {
76
+ if (existsSync(ID_FILE)) {
77
+ const id = readFileSync(ID_FILE, 'utf8').trim();
78
+ if (id.length > 0)
79
+ return { anonymousId: id, firstRun: false };
80
+ }
81
+ const id = randomUUID();
82
+ mkdirSync(RETICLE_DIR, { recursive: true });
83
+ writeFileSync(ID_FILE, id, 'utf8');
84
+ return { anonymousId: id, firstRun: true };
85
+ }
86
+ catch {
87
+ // Can't persist (read-only home, sandbox): still report, just as a fresh ephemeral id each time.
88
+ return { anonymousId: randomUUID(), firstRun: false };
89
+ }
90
+ };
91
+ /** One-way project fingerprint: distinct-count of this = "projects Reticle is used in", reveals nothing. */
92
+ const projectFingerprint = (cwd) => createHash('sha256').update(cwd).digest('hex').slice(0, 32);
93
+ /** Print the opt-out notice exactly once per machine (honest disclosure, the OSS-trust bar). */
94
+ const showNoticeOnce = () => {
95
+ try {
96
+ if (existsSync(NOTICE_FILE))
97
+ return;
98
+ mkdirSync(RETICLE_DIR, { recursive: true });
99
+ writeFileSync(NOTICE_FILE, '1', 'utf8');
100
+ process.stderr.write('reticle: anonymous usage telemetry helps improve reticle — no code, no PII, ' +
101
+ `and your app's data never leaves your machine (${POLICY_URL}). ` +
102
+ 'Opt out any time: reticle telemetry disable\n');
103
+ }
104
+ catch {
105
+ /* notice is a courtesy; never fail on it */
106
+ }
107
+ };
108
+ /** The current telemetry state and which control set it — what `reticle telemetry status` prints. */
109
+ export const describeTelemetry = (env = process.env, dir = RETICLE_DIR) => {
110
+ if (isDisabled(env)) {
111
+ return { enabled: false, reason: 'disabled by environment variable', policyUrl: POLICY_URL };
112
+ }
113
+ if (existsSync(join(dir, 'telemetry-opt-out'))) {
114
+ return {
115
+ enabled: false,
116
+ reason: 'disabled via `reticle telemetry disable`',
117
+ policyUrl: POLICY_URL,
118
+ };
119
+ }
120
+ return {
121
+ enabled: true,
122
+ reason: 'anonymous usage metrics only — no code, no PII',
123
+ policyUrl: POLICY_URL,
124
+ };
125
+ };
126
+ /** Persist (or lift) the machine-wide opt-out — `reticle telemetry disable` / `enable`. */
127
+ export const setTelemetryEnabled = (enabled, dir = RETICLE_DIR) => {
128
+ const optOutFile = join(dir, 'telemetry-opt-out');
129
+ if (enabled) {
130
+ rmSync(optOutFile, { force: true });
131
+ return;
132
+ }
133
+ mkdirSync(dir, { recursive: true });
134
+ writeFileSync(optOutFile, '1', 'utf8');
135
+ };
136
+ const NOOP = { emit: async () => { }, enabled: false, firstRun: false };
137
+ /**
138
+ * Build the telemetry emitter for this process. Resolves identity + opt-out ONCE; each `emit` builds a
139
+ * fully-validated core event, maps it into PostHog capture shape, and fires a best-effort POST.
140
+ * `version` is the running reticle version (for the `version` dimension); `now`/`fetchImpl` are
141
+ * injected so this is testable without a clock or network.
142
+ */
143
+ export const createTelemetry = (opts) => {
144
+ const env = opts.env ?? process.env;
145
+ if (isDisabled(env))
146
+ return NOOP;
147
+ try {
148
+ if (existsSync(OPT_OUT_FILE))
149
+ return NOOP; // the persistent `reticle telemetry disable` opt-out
150
+ }
151
+ catch {
152
+ /* unreadable home dir — fall through; the env-var opt-outs above still apply */
153
+ }
154
+ const apiKey = env[Env.KEY] ?? POSTHOG_KEY;
155
+ if (apiKey === '')
156
+ return NOOP; // no key baked in (dev/test build) — nowhere to send, stay silent
157
+ const now = opts.now ?? (() => Date.now());
158
+ const doFetch = opts.fetchImpl ?? fetch;
159
+ const url = `${(env[Env.URL] ?? DEFAULT_URL).replace(/\/+$/, '')}${TELEMETRY_PATH}`;
160
+ const ci = env[Env.CI] !== undefined && env[Env.CI] !== '';
161
+ const os = platform();
162
+ const { anonymousId, firstRun } = resolveIdentity();
163
+ const projectId = projectFingerprint(opts.cwd ?? process.cwd());
164
+ showNoticeOnce();
165
+ const spawnDetached = opts.spawnImpl ??
166
+ ((command, args) => {
167
+ spawn(command, args, { detached: true, stdio: 'ignore' }).unref();
168
+ });
169
+ const emit = async (kind, extra) => {
170
+ const event = {
171
+ v: TELEMETRY_EVENT_VERSION,
172
+ anonymousId,
173
+ projectId,
174
+ event: kind,
175
+ ts: now(),
176
+ version: opts.version,
177
+ ci,
178
+ os,
179
+ ...(extra?.sessionMs !== undefined ? { sessionMs: extra.sessionMs } : {}),
180
+ ...(extra?.tool !== undefined ? { tool: extra.tool } : {}),
181
+ };
182
+ // Map the core contract onto PostHog's capture shape: id/name/time move up, the rest are properties.
183
+ const { anonymousId: distinctId, event: name, ts, ...properties } = event;
184
+ const body = JSON.stringify({
185
+ api_key: apiKey,
186
+ batch: [
187
+ {
188
+ event: name,
189
+ distinct_id: distinctId,
190
+ timestamp: new Date(ts).toISOString(),
191
+ properties: { ...properties, ...POSTHOG_PERSONLESS },
192
+ },
193
+ ],
194
+ });
195
+ try {
196
+ if (extra?.detach === true && opts.fetchImpl === undefined) {
197
+ spawnDetached(process.execPath, ['-e', DETACHED_SEND_SCRIPT, url, body]);
198
+ return;
199
+ }
200
+ await doFetch(url, {
201
+ method: 'POST',
202
+ headers: { 'content-type': 'application/json' },
203
+ body,
204
+ signal: AbortSignal.timeout(SEND_TIMEOUT_MS),
205
+ });
206
+ }
207
+ catch {
208
+ /* best-effort: a lost metric must never surface to the user */
209
+ }
210
+ };
211
+ return { emit, enabled: true, firstRun };
212
+ };
213
+ /**
214
+ * The process-wide emitter. One identity resolution + one opt-out check per process; both the CLI
215
+ * lifecycle (install/invoke/session) and the per-tool hook in `runTool` share it.
216
+ */
217
+ let singleton;
218
+ export const getTelemetry = () => (singleton ??= createTelemetry({ version: SERVER_VERSION }));
219
+ export { TelemetryEventKind };
220
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAuB,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;AAChE,gGAAgG;AAChG,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAC5D,wGAAwG;AACxG,MAAM,UAAU,GAAG,kEAAkE,CAAC;AACtF,4GAA4G;AAC5G,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC;;;GAGG;AACH,MAAM,WAAW,GAAG,kDAAkD,CAAC;AACvE;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAW,CAAC;AACvE,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,oBAAoB,GACxB,mFAAmF;IACnF,mDAAmD,eAAe,KAAK;IACvE,6CAA6C,CAAC;AAEhD,kEAAkE;AAClE,MAAM,GAAG,GAAG;IACV,OAAO,EAAE,mBAAmB,EAAE,mCAAmC;IACjE,YAAY,EAAE,cAAc,EAAE,uDAAuD;IACrF,GAAG,EAAE,uBAAuB,EAAE,qDAAqD;IACnF,GAAG,EAAE,uBAAuB,EAAE,mCAAmC;IACjE,EAAE,EAAE,IAAI,EAAE,kCAAkC;IAC5C,MAAM,EAAE,QAAQ,EAAE,mDAAmD;CAC7D,CAAC;AAEX,MAAM,UAAU,GAAG,CAAC,GAAsB,EAAW,EAAE;IACrD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAC3E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC;AAC9D,CAAC,CAAC;AAEF,uGAAuG;AACvG,MAAM,eAAe,GAAG,GAA+C,EAAE;IACvE,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,iGAAiG;QACjG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;AACH,CAAC,CAAC;AAEF,4GAA4G;AAC5G,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE,CACjD,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAE9D,gGAAgG;AAChG,MAAM,cAAc,GAAG,GAAS,EAAE;IAChC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QACpC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8EAA8E;YAC5E,kDAAkD,UAAU,KAAK;YACjE,+CAA+C,CAClD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC,CAAC;AAEF,qGAAqG;AACrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,MAAyB,OAAO,CAAC,GAAG,EACpC,MAAc,WAAW,EACgC,EAAE;IAC3D,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAC/F,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,0CAA0C;YAClD,SAAS,EAAE,UAAU;SACtB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,gDAAgD;QACxD,SAAS,EAAE,UAAU;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,MAAc,WAAW,EAAQ,EAAE;IACvF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAiBF,MAAM,IAAI,GAAc,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAO/B,EAAa,EAAE;IACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,qDAAqD;IAClG,CAAC;IAAC,MAAM,CAAC;QACP,gFAAgF;IAClF,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;IAC3C,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,kEAAkE;IAElG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC;IACpF,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAC3D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,cAAc,EAAE,CAAC;IAEjB,MAAM,aAAa,GACjB,IAAI,CAAC,SAAS;QACd,CAAC,CAAC,OAAe,EAAE,IAAc,EAAQ,EAAE;YACzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IAEL,MAAM,IAAI,GAAG,KAAK,EAChB,IAAwB,EACxB,KAA+D,EAChD,EAAE;QACjB,MAAM,KAAK,GAAmB;YAC5B,CAAC,EAAE,uBAAuB;YAC1B,WAAW;YACX,SAAS;YACT,KAAK,EAAE,IAAI;YACX,EAAE,EAAE,GAAG,EAAE;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,EAAE;YACF,EAAE;YACF,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;QACF,qGAAqG;QACrG,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,OAAO,EAAE,MAAM;YACf,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,UAAU;oBACvB,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;oBACrC,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,kBAAkB,EAAE;iBACrD;aACF;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC3D,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzE,OAAO;YACT,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI;gBACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF;;;GAGG;AACH,IAAI,SAAgC,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE,CAC1C,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"act-tools.d.ts","sourceRoot":"","sources":["../../src/tools/act-tools.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,OAAO,EAAiD,MAAM,eAAe,CAAC;AAgI5F,eAAO,MAAM,SAAS,EAAE,OAAO,EA+O9B,CAAC"}
1
+ {"version":3,"file":"act-tools.d.ts","sourceRoot":"","sources":["../../src/tools/act-tools.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,OAAO,EAAiD,MAAM,eAAe,CAAC;AAsJ5F,eAAO,MAAM,SAAS,EAAE,OAAO,EAsZ9B,CAAC"}