@phnx-labs/agents-cli 1.22.113 → 1.22.115

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 (802) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/README.md +32 -113
  3. package/dist/browser.js +0 -0
  4. package/dist/cli/command-registry.d.ts +0 -60
  5. package/dist/cli/command-registry.js +57 -66
  6. package/dist/commands/accounts.d.ts +3 -77
  7. package/dist/commands/accounts.js +13 -366
  8. package/dist/commands/apply.d.ts +0 -4
  9. package/dist/commands/apply.js +3 -3
  10. package/dist/commands/audit.js +1 -1
  11. package/dist/commands/auth.js +0 -2
  12. package/dist/commands/browser-picker.d.ts +3 -6
  13. package/dist/commands/browser-picker.js +2 -2
  14. package/dist/commands/browser-sessions-picker.d.ts +2 -1
  15. package/dist/commands/browser.d.ts +53 -0
  16. package/dist/commands/browser.js +199 -9
  17. package/dist/commands/computer-sessions-picker.d.ts +2 -1
  18. package/dist/commands/computer.d.ts +14 -19
  19. package/dist/commands/computer.js +65 -10
  20. package/dist/commands/config.js +46 -2
  21. package/dist/commands/daemon.d.ts +0 -23
  22. package/dist/commands/daemon.js +1 -1
  23. package/dist/commands/detach-core.d.ts +2 -1
  24. package/dist/commands/detach.d.ts +0 -3
  25. package/dist/commands/detach.js +3 -3
  26. package/dist/commands/doctor.d.ts +2 -3
  27. package/dist/commands/doctor.js +0 -11
  28. package/dist/commands/events.d.ts +1 -3
  29. package/dist/commands/events.js +4 -7
  30. package/dist/commands/exec.d.ts +0 -1
  31. package/dist/commands/exec.js +2 -7
  32. package/dist/commands/feed-watch.js +52 -8
  33. package/dist/commands/feed.d.ts +3 -3
  34. package/dist/commands/feed.js +1 -1
  35. package/dist/commands/focus.d.ts +4 -4
  36. package/dist/commands/focus.js +1 -1
  37. package/dist/commands/go.d.ts +0 -17
  38. package/dist/commands/go.js +2 -19
  39. package/dist/commands/harness-hooks.d.ts +0 -7
  40. package/dist/commands/harness-hooks.js +1 -1
  41. package/dist/commands/harness-wizard.d.ts +2 -2
  42. package/dist/commands/harness.d.ts +3 -8
  43. package/dist/commands/harness.js +1 -1
  44. package/dist/commands/inspect.d.ts +2 -3
  45. package/dist/commands/inspect.js +1 -1
  46. package/dist/commands/logs.js +1 -1
  47. package/dist/commands/mcp.js +8 -83
  48. package/dist/commands/memory.js +4 -47
  49. package/dist/commands/message.d.ts +1 -1
  50. package/dist/commands/message.js +7 -7
  51. package/dist/commands/plugins.js +1 -93
  52. package/dist/commands/projects.d.ts +2 -18
  53. package/dist/commands/projects.js +89 -3
  54. package/dist/commands/repo.js +0 -44
  55. package/dist/commands/resource-view.d.ts +3 -2
  56. package/dist/commands/resume.d.ts +0 -1
  57. package/dist/commands/resume.js +5 -2
  58. package/dist/commands/routines.d.ts +1 -3
  59. package/dist/commands/routines.js +1 -1
  60. package/dist/commands/run-account-picker.d.ts +2 -1
  61. package/dist/commands/run-broadcast.d.ts +2 -1
  62. package/dist/commands/run-device-picker.d.ts +2 -1
  63. package/dist/commands/secrets-passthrough.d.ts +14 -0
  64. package/dist/commands/secrets-passthrough.js +23 -4
  65. package/dist/commands/send.d.ts +4 -4
  66. package/dist/commands/send.js +6 -51
  67. package/dist/commands/sessions-backfill.d.ts +2 -35
  68. package/dist/commands/sessions-backfill.js +1 -1
  69. package/dist/commands/sessions-backup-setup.js +1 -1
  70. package/dist/commands/sessions-bookmark.d.ts +0 -10
  71. package/dist/commands/sessions-bookmark.js +1 -1
  72. package/dist/commands/sessions-inject.d.ts +2 -3
  73. package/dist/commands/sessions-inject.js +8 -17
  74. package/dist/commands/sessions-picker-factory.d.ts +4 -14
  75. package/dist/commands/sessions-picker-factory.js +2 -2
  76. package/dist/commands/sessions-picker.d.ts +3 -9
  77. package/dist/commands/sessions-picker.js +2 -2
  78. package/dist/commands/sessions-resume.d.ts +2 -4
  79. package/dist/commands/sessions-resume.js +0 -6
  80. package/dist/commands/sessions-share.d.ts +5 -7
  81. package/dist/commands/sessions-share.js +98 -49
  82. package/dist/commands/sessions-stats.d.ts +2 -1
  83. package/dist/commands/sessions-stop.d.ts +0 -3
  84. package/dist/commands/sessions-stop.js +1 -1
  85. package/dist/commands/sessions-tail.d.ts +2 -1
  86. package/dist/commands/sessions-trace.d.ts +4 -6
  87. package/dist/commands/sessions-trace.js +1 -1
  88. package/dist/commands/sessions.d.ts +13 -104
  89. package/dist/commands/sessions.js +11 -18
  90. package/dist/commands/setup-browser.js +18 -2
  91. package/dist/commands/setup-computer.js +20 -6
  92. package/dist/commands/setup-mine.d.ts +0 -6
  93. package/dist/commands/setup-mine.js +1 -1
  94. package/dist/commands/setup-secrets.js +24 -4
  95. package/dist/commands/setup-terminal.d.ts +3 -0
  96. package/dist/commands/setup-terminal.js +22 -0
  97. package/dist/commands/setup.d.ts +3 -4
  98. package/dist/commands/setup.js +21 -11
  99. package/dist/commands/skills.js +0 -8
  100. package/dist/commands/ssh.d.ts +6 -0
  101. package/dist/commands/ssh.js +92 -233
  102. package/dist/commands/sync.js +14 -5
  103. package/dist/commands/teams-picker.d.ts +2 -5
  104. package/dist/commands/teams-picker.js +2 -2
  105. package/dist/commands/teams.d.ts +1 -7
  106. package/dist/commands/teams.js +2 -2
  107. package/dist/commands/tmux.d.ts +1 -1
  108. package/dist/commands/tmux.js +1 -1
  109. package/dist/commands/traces.js +1 -1
  110. package/dist/commands/upgrade.d.ts +2 -1
  111. package/dist/commands/utils.d.ts +1 -1
  112. package/dist/commands/utils.js +1 -1
  113. package/dist/lib/account-capabilities.d.ts +2 -1
  114. package/dist/lib/account-catalog.d.ts +4 -13
  115. package/dist/lib/account-catalog.js +1 -1
  116. package/dist/lib/account-registry.d.ts +3 -4
  117. package/dist/lib/account-registry.js +1 -1
  118. package/dist/lib/accounting/account-launch.d.ts +4 -3
  119. package/dist/lib/accounting/account-pool.d.ts +2 -1
  120. package/dist/lib/accounting/rotate.d.ts +3 -9
  121. package/dist/lib/accounting/rotate.js +2 -14
  122. package/dist/lib/accounting/usage-sync.d.ts +5 -4
  123. package/dist/lib/accounting/usage.d.ts +7 -31
  124. package/dist/lib/accounting/usage.js +4 -4
  125. package/dist/lib/accounts/add.d.ts +0 -5
  126. package/dist/lib/accounts/add.js +1 -7
  127. package/dist/lib/accounts/migrate.d.ts +8 -8
  128. package/dist/lib/accounts/migrate.js +1 -1
  129. package/dist/lib/acp/client.d.ts +3 -2
  130. package/dist/lib/acp/harnesses.d.ts +2 -2
  131. package/dist/lib/acp/harnesses.js +1 -1
  132. package/dist/lib/acp/run.d.ts +2 -1
  133. package/dist/lib/actor.d.ts +3 -2
  134. package/dist/lib/add-dir.d.ts +2 -17
  135. package/dist/lib/add-dir.js +2 -6
  136. package/dist/lib/address.d.ts +56 -0
  137. package/dist/lib/address.js +143 -0
  138. package/dist/lib/agent-spec/agents.d.ts +12 -28
  139. package/dist/lib/agent-spec/agents.js +2 -6
  140. package/dist/lib/agent-spec/primitives.d.ts +0 -7
  141. package/dist/lib/agent-spec/primitives.js +0 -6
  142. package/dist/lib/agent-spec/types.d.ts +2 -1
  143. package/dist/lib/analytics/dashboard.d.ts +1 -5
  144. package/dist/lib/analytics/dashboard.js +0 -2
  145. package/dist/lib/analytics/mix-commands.d.ts +0 -7
  146. package/dist/lib/analytics/mix-commands.js +3 -3
  147. package/dist/lib/analytics/recipes.d.ts +0 -12
  148. package/dist/lib/analytics/recipes.js +7 -31
  149. package/dist/lib/analytics/usage-db.d.ts +5 -32
  150. package/dist/lib/analytics/usage-db.js +1 -70
  151. package/dist/lib/answer-router.d.ts +7 -6
  152. package/dist/lib/answer-router.js +5 -11
  153. package/dist/lib/artifact-actions.d.ts +0 -4
  154. package/dist/lib/artifacts-client.d.ts +20 -0
  155. package/dist/lib/artifacts-client.js +46 -0
  156. package/dist/lib/ask-classifier.d.ts +3 -4
  157. package/dist/lib/ask-classifier.js +0 -7
  158. package/dist/lib/auth-health.d.ts +3 -46
  159. package/dist/lib/auth-health.js +3 -3
  160. package/dist/lib/auth-mint.d.ts +6 -6
  161. package/dist/lib/auth-mint.js +7 -7
  162. package/dist/lib/bench/runner.d.ts +2 -2
  163. package/dist/lib/bench/runner.js +1 -1
  164. package/dist/lib/bench/storage.d.ts +0 -1
  165. package/dist/lib/bench/storage.js +1 -1
  166. package/dist/lib/boot-profile.d.ts +0 -2
  167. package/dist/lib/boot-profile.js +0 -4
  168. package/dist/lib/brand.d.ts +0 -6
  169. package/dist/lib/brand.js +1 -1
  170. package/dist/lib/browser/arc-discovery.d.ts +4 -12
  171. package/dist/lib/browser/arc-discovery.js +1 -1
  172. package/dist/lib/browser/cdp.d.ts +1 -1
  173. package/dist/lib/browser/chrome.d.ts +2 -2
  174. package/dist/lib/browser/chrome.js +0 -4
  175. package/dist/lib/browser/chromium-discovery.d.ts +3 -2
  176. package/dist/lib/browser/drivers/arc.d.ts +3 -20
  177. package/dist/lib/browser/drivers/arc.js +2 -7
  178. package/dist/lib/browser/drivers/firefox.d.ts +2 -6
  179. package/dist/lib/browser/drivers/firefox.js +1 -1
  180. package/dist/lib/browser/drivers/local.d.ts +2 -1
  181. package/dist/lib/browser/drivers/ssh.d.ts +2 -3
  182. package/dist/lib/browser/drivers/ssh.js +0 -7
  183. package/dist/lib/browser/firefox-discovery.d.ts +4 -3
  184. package/dist/lib/browser/har.d.ts +8 -7
  185. package/dist/lib/browser/hygiene.d.ts +2 -3
  186. package/dist/lib/browser/hygiene.js +1 -1
  187. package/dist/lib/browser/ipc.d.ts +4 -3
  188. package/dist/lib/browser/ipc.js +1 -1
  189. package/dist/lib/browser/login-detection.d.ts +1 -8
  190. package/dist/lib/browser/registry.d.ts +2 -1
  191. package/dist/lib/browser/remote-control.d.ts +0 -7
  192. package/dist/lib/browser/remote-control.js +2 -2
  193. package/dist/lib/browser/resolve-target.d.ts +2 -6
  194. package/dist/lib/browser/resolve-target.js +3 -3
  195. package/dist/lib/browser/runtime-state.d.ts +59 -4
  196. package/dist/lib/browser/runtime-state.js +99 -18
  197. package/dist/lib/browser/service.d.ts +4 -4
  198. package/dist/lib/browser/service.js +21 -1
  199. package/dist/lib/browser/sessions-list.d.ts +0 -10
  200. package/dist/lib/browser/sessions-list.js +3 -3
  201. package/dist/lib/browser/stream.d.ts +2 -1
  202. package/dist/lib/browser/task-index.d.ts +4 -4
  203. package/dist/lib/browser/task-index.js +1 -1
  204. package/dist/lib/browser/types.d.ts +0 -20
  205. package/dist/lib/browser/types.js +1 -34
  206. package/dist/lib/browser/upload.d.ts +0 -27
  207. package/dist/lib/budget/ledger.d.ts +0 -2
  208. package/dist/lib/budget/ledger.js +1 -1
  209. package/dist/lib/budget/live-cloud.d.ts +2 -1
  210. package/dist/lib/budget/preflight.d.ts +3 -5
  211. package/dist/lib/budget/preflight.js +1 -1
  212. package/dist/lib/catchup.d.ts +2 -1
  213. package/dist/lib/channels/owner-forward.d.ts +5 -4
  214. package/dist/lib/channels/owner-sink.js +2 -2
  215. package/dist/lib/channels/providers/desktop.js +1 -1
  216. package/dist/lib/channels/providers/rush.d.ts +2 -1
  217. package/dist/lib/channels/registry.d.ts +1 -1
  218. package/dist/lib/channels/registry.js +1 -1
  219. package/dist/lib/channels/resolve.d.ts +3 -2
  220. package/dist/lib/channels/send.d.ts +5 -4
  221. package/dist/lib/cli-resources.d.ts +3 -9
  222. package/dist/lib/cli-resources.js +4 -2
  223. package/dist/lib/cloud/cursor.d.ts +1 -2
  224. package/dist/lib/cloud/cursor.js +1 -1
  225. package/dist/lib/cloud/dispatch.d.ts +2 -1
  226. package/dist/lib/cloud/dispatch.js +1 -1
  227. package/dist/lib/cloud/factory.d.ts +0 -2
  228. package/dist/lib/cloud/factory.js +1 -1
  229. package/dist/lib/cloud/rush.d.ts +3 -11
  230. package/dist/lib/cloud/rush.js +1 -1
  231. package/dist/lib/cloud/session-index.d.ts +2 -1
  232. package/dist/lib/cloud/types.d.ts +2 -1
  233. package/dist/lib/cloudflare/creds.d.ts +10 -0
  234. package/dist/lib/cloudflare/creds.js +46 -0
  235. package/dist/lib/cloudflare/provision.d.ts +35 -0
  236. package/dist/lib/cloudflare/provision.js +144 -0
  237. package/dist/lib/codex-policy.d.ts +2 -1
  238. package/dist/lib/commands.d.ts +7 -7
  239. package/dist/lib/commands.js +1 -1
  240. package/dist/lib/comms-render.d.ts +1 -1
  241. package/dist/lib/computer/context.d.ts +11 -3
  242. package/dist/lib/computer/context.js +2 -2
  243. package/dist/lib/computer/policy.d.ts +0 -12
  244. package/dist/lib/computer/policy.js +1 -1
  245. package/dist/lib/computer/sessions-list.d.ts +55 -0
  246. package/dist/lib/computer/sessions-list.js +168 -1
  247. package/dist/lib/computer-client.d.ts +3 -3
  248. package/dist/lib/computer-client.js +0 -1
  249. package/dist/lib/concurrency.d.ts +2 -1
  250. package/dist/lib/config-keys.d.ts +16 -3
  251. package/dist/lib/config-keys.js +47 -2
  252. package/dist/lib/convert.d.ts +0 -12
  253. package/dist/lib/convert.js +1 -12
  254. package/dist/lib/crabbox/cli.d.ts +6 -24
  255. package/dist/lib/crabbox/cli.js +2 -28
  256. package/dist/lib/crabbox/lease.d.ts +5 -6
  257. package/dist/lib/crabbox/lease.js +1 -1
  258. package/dist/lib/crabbox/progress.d.ts +2 -1
  259. package/dist/lib/crabbox/setup-copy.d.ts +2 -3
  260. package/dist/lib/crabbox/setup-copy.js +1 -1
  261. package/dist/lib/daemon/account-state-daemon-service.d.ts +1 -1
  262. package/dist/lib/daemon/attention-notify-service.d.ts +2 -1
  263. package/dist/lib/daemon/catchup-service.d.ts +2 -1
  264. package/dist/lib/daemon/daemon.d.ts +4 -4
  265. package/dist/lib/daemon/daemon.js +9 -2
  266. package/dist/lib/daemon/feed-stream-service.d.ts +23 -0
  267. package/dist/lib/daemon/feed-stream-service.js +40 -0
  268. package/dist/lib/daemon/harness-update-service.d.ts +2 -19
  269. package/dist/lib/daemon/harness-update-service.js +3 -3
  270. package/dist/lib/daemon/runner.d.ts +3 -3
  271. package/dist/lib/daemon/self-update-service.d.ts +1 -16
  272. package/dist/lib/daemon/self-update-service.js +6 -6
  273. package/dist/lib/daemon/state-dir-check-service.d.ts +2 -1
  274. package/dist/lib/daemon/supervisor.d.ts +3 -2
  275. package/dist/lib/daemon-services.d.ts +3 -2
  276. package/dist/lib/daemon-services.js +5 -0
  277. package/dist/lib/daemon-webhooks.d.ts +1 -1
  278. package/dist/lib/deeplink/register.d.ts +3 -13
  279. package/dist/lib/deeplink/register.js +3 -3
  280. package/dist/lib/deeplink/url.d.ts +3 -2
  281. package/dist/lib/device-config.d.ts +4 -15
  282. package/dist/lib/device-config.js +164 -8
  283. package/dist/lib/devices/connect.d.ts +51 -6
  284. package/dist/lib/devices/connect.js +169 -21
  285. package/dist/lib/devices/discovery-policy.d.ts +3 -2
  286. package/dist/lib/devices/doctor-findings.js +1 -1
  287. package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
  288. package/dist/lib/devices/fleet-divergence.d.ts +2 -1
  289. package/dist/lib/devices/fleet.d.ts +3 -4
  290. package/dist/lib/devices/fleet.js +1 -1
  291. package/dist/lib/devices/harness-inventory.d.ts +3 -2
  292. package/dist/lib/devices/health-report.d.ts +3 -2
  293. package/dist/lib/devices/health.d.ts +1 -8
  294. package/dist/lib/devices/health.js +1 -1
  295. package/dist/lib/devices/interactive-host.d.ts +0 -2
  296. package/dist/lib/devices/interactive-host.js +1 -1
  297. package/dist/lib/devices/known-hosts.d.ts +2 -20
  298. package/dist/lib/devices/known-hosts.js +2 -2
  299. package/dist/lib/devices/pool.d.ts +2 -1
  300. package/dist/lib/devices/resolve-target.d.ts +2 -2
  301. package/dist/lib/devices/rollout-verify.d.ts +3 -2
  302. package/dist/lib/devices/stats-cache.d.ts +3 -2
  303. package/dist/lib/devices/sync.d.ts +6 -5
  304. package/dist/lib/devices/worker-pick.d.ts +3 -12
  305. package/dist/lib/devices/worker-pick.js +1 -1
  306. package/dist/lib/diff-text.d.ts +2 -1
  307. package/dist/lib/doctor-diff.d.ts +2 -1
  308. package/dist/lib/drift-sync.d.ts +3 -2
  309. package/dist/lib/drift.d.ts +3 -3
  310. package/dist/lib/drift.js +1 -1
  311. package/dist/lib/event-families.d.ts +0 -6
  312. package/dist/lib/event-families.js +3 -3
  313. package/dist/lib/event-provenance.d.ts +2 -1
  314. package/dist/lib/events-ingest.d.ts +4 -3
  315. package/dist/lib/exec-account-home.d.ts +2 -4
  316. package/dist/lib/exec-account-home.js +1 -1
  317. package/dist/lib/exec-bounded.d.ts +3 -4
  318. package/dist/lib/exec-bounded.js +1 -1
  319. package/dist/lib/exec.d.ts +6 -18
  320. package/dist/lib/exec.js +1 -1
  321. package/dist/lib/factory/snapshot.d.ts +2 -2
  322. package/dist/lib/factory/snapshot.js +1 -1
  323. package/dist/lib/feed/activity-stream.d.ts +2 -5
  324. package/dist/lib/feed/activity-stream.js +2 -2
  325. package/dist/lib/feed/activity.d.ts +8 -33
  326. package/dist/lib/feed/activity.js +8 -8
  327. package/dist/lib/feed/answer.d.ts +3 -2
  328. package/dist/lib/feed/attention.js +5 -1
  329. package/dist/lib/feed/envelope.d.ts +79 -0
  330. package/dist/lib/feed/envelope.js +23 -0
  331. package/dist/lib/feed/events.d.ts +8 -47
  332. package/dist/lib/feed/events.js +9 -141
  333. package/dist/lib/feed/feed.d.ts +9 -42
  334. package/dist/lib/feed/feed.js +1 -60
  335. package/dist/lib/feed/hub-server.d.ts +86 -0
  336. package/dist/lib/feed/hub-server.js +334 -0
  337. package/dist/lib/feed/hub.d.ts +95 -0
  338. package/dist/lib/feed/hub.js +255 -0
  339. package/dist/lib/feed/pr-status.d.ts +0 -2
  340. package/dist/lib/feed/pr-status.js +1 -5
  341. package/dist/lib/feed/tool-activity.d.ts +108 -0
  342. package/dist/lib/feed/tool-activity.js +313 -0
  343. package/dist/lib/feed/tools.d.ts +198 -0
  344. package/dist/lib/feed/tools.js +265 -0
  345. package/dist/lib/feed/watch.d.ts +51 -52
  346. package/dist/lib/feed/watch.js +147 -17
  347. package/dist/lib/feed-broadcast.d.ts +5 -47
  348. package/dist/lib/feed-broadcast.js +9 -9
  349. package/dist/lib/feed-outcome.d.ts +3 -6
  350. package/dist/lib/feed-outcome.js +2 -2
  351. package/dist/lib/feed-policy.d.ts +5 -6
  352. package/dist/lib/feed-policy.js +2 -2
  353. package/dist/lib/feed-post.d.ts +3 -4
  354. package/dist/lib/feed-post.js +1 -1
  355. package/dist/lib/feed-ranking.d.ts +2 -2
  356. package/dist/lib/feed-ranking.js +1 -1
  357. package/dist/lib/fleet/apply.d.ts +5 -6
  358. package/dist/lib/fleet/apply.js +4 -4
  359. package/dist/lib/fleet/manifest.d.ts +2 -1
  360. package/dist/lib/fleet/remote-login.d.ts +18 -36
  361. package/dist/lib/fleet/remote-login.js +20 -19
  362. package/dist/lib/fleet/types.d.ts +0 -8
  363. package/dist/lib/fleet-cache.d.ts +1 -18
  364. package/dist/lib/fleet-cache.js +0 -5
  365. package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
  366. package/dist/lib/fleet-shared-repo-sync.js +1 -1
  367. package/dist/lib/fleet-shared-state.d.ts +3 -2
  368. package/dist/lib/format.d.ts +3 -2
  369. package/dist/lib/format.js +1 -1
  370. package/dist/lib/friction-heuristics.d.ts +2 -1
  371. package/dist/lib/fs-walk.d.ts +2 -1
  372. package/dist/lib/fuzzy.d.ts +2 -1
  373. package/dist/lib/gemini-settings.d.ts +0 -1
  374. package/dist/lib/gemini-settings.js +1 -1
  375. package/dist/lib/git.d.ts +7 -81
  376. package/dist/lib/git.js +2 -199
  377. package/dist/lib/github/gh-overload.d.ts +0 -4
  378. package/dist/lib/github/gh-overload.js +2 -2
  379. package/dist/lib/github/project-prs.d.ts +118 -0
  380. package/dist/lib/github/project-prs.js +173 -0
  381. package/dist/lib/github/rest.d.ts +2 -1
  382. package/dist/lib/harness/exec-config-version.d.ts +2 -1
  383. package/dist/lib/harness-auth-capabilities.d.ts +5 -4
  384. package/dist/lib/harness-connection-test.d.ts +2 -1
  385. package/dist/lib/heal.d.ts +3 -20
  386. package/dist/lib/heal.js +2 -39
  387. package/dist/lib/help.d.ts +3 -2
  388. package/dist/lib/helper-download.d.ts +0 -12
  389. package/dist/lib/helper-download.js +2 -2
  390. package/dist/lib/helper-versions.d.ts +2 -1
  391. package/dist/lib/helper-versions.js +1 -1
  392. package/dist/lib/hooks/install.d.ts +8 -49
  393. package/dist/lib/hooks/install.js +2 -96
  394. package/dist/lib/hooks/match.d.ts +2 -1
  395. package/dist/lib/hosts/credential-transport.d.ts +0 -2
  396. package/dist/lib/hosts/credential-transport.js +1 -1
  397. package/dist/lib/hosts/dispatch.d.ts +2 -24
  398. package/dist/lib/hosts/dispatch.js +2 -2
  399. package/dist/lib/hosts/logs.d.ts +2 -1
  400. package/dist/lib/hosts/passthrough.d.ts +1 -1
  401. package/dist/lib/hosts/passthrough.js +0 -1
  402. package/dist/lib/hosts/progress.d.ts +0 -5
  403. package/dist/lib/hosts/progress.js +1 -1
  404. package/dist/lib/hosts/ready.d.ts +3 -4
  405. package/dist/lib/hosts/ready.js +0 -8
  406. package/dist/lib/hosts/reconcile.d.ts +2 -8
  407. package/dist/lib/hosts/reconcile.js +1 -1
  408. package/dist/lib/hosts/reconnect.d.ts +4 -11
  409. package/dist/lib/hosts/reconnect.js +2 -2
  410. package/dist/lib/hosts/registry.d.ts +1 -1
  411. package/dist/lib/hosts/remote-cmd.d.ts +55 -4
  412. package/dist/lib/hosts/remote-cmd.js +125 -8
  413. package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +2 -0
  414. package/dist/lib/hosts/remote-cmd.test-fixture.js +22 -0
  415. package/dist/lib/hosts/session-index.d.ts +3 -2
  416. package/dist/lib/hosts/ssh-config.d.ts +2 -3
  417. package/dist/lib/hosts/ssh-config.js +0 -10
  418. package/dist/lib/humans.d.ts +0 -2
  419. package/dist/lib/humans.js +2 -2
  420. package/dist/lib/import.d.ts +4 -3
  421. package/dist/lib/installations/installation-lock.d.ts +0 -2
  422. package/dist/lib/installations/installation-lock.js +2 -2
  423. package/dist/lib/installations/launch-gate.d.ts +0 -9
  424. package/dist/lib/installations/launch-gate.js +1 -1
  425. package/dist/lib/installations/migrate.d.ts +0 -11
  426. package/dist/lib/installations/migrate.js +1 -1
  427. package/dist/lib/installations/shims.d.ts +1 -1
  428. package/dist/lib/installations/shims.js +2 -2
  429. package/dist/lib/installations/update-runtime.js +1 -1
  430. package/dist/lib/linear-cache.d.ts +2 -1
  431. package/dist/lib/linux-userns.d.ts +2 -3
  432. package/dist/lib/linux-userns.js +0 -4
  433. package/dist/lib/loop.d.ts +2 -1
  434. package/dist/lib/mailbox-gc.d.ts +2 -1
  435. package/dist/lib/mailbox-target.d.ts +2 -1
  436. package/dist/lib/mailbox.d.ts +0 -6
  437. package/dist/lib/mailbox.js +1 -1
  438. package/dist/lib/manifest.d.ts +0 -14
  439. package/dist/lib/manifest.js +2 -2
  440. package/dist/lib/mcp-registry.d.ts +2 -1
  441. package/dist/lib/mcp.js +17 -11
  442. package/dist/lib/memory.d.ts +2 -13
  443. package/dist/lib/memory.js +4 -4
  444. package/dist/lib/menubar/download-menubar.d.ts +0 -2
  445. package/dist/lib/menubar/download-menubar.js +1 -5
  446. package/dist/lib/menubar/install-menubar.d.ts +3 -14
  447. package/dist/lib/menubar/install-menubar.js +3 -3
  448. package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
  449. package/dist/lib/menubar/migrate-prefs.js +168 -0
  450. package/dist/lib/menubar/resolve-version.d.ts +1 -9
  451. package/dist/lib/menubar/resolve-version.js +4 -4
  452. package/dist/lib/menubar/snapshot.d.ts +24 -2
  453. package/dist/lib/menubar/snapshot.js +26 -0
  454. package/dist/lib/model-tier-overrides.d.ts +3 -2
  455. package/dist/lib/monitors/config.d.ts +0 -2
  456. package/dist/lib/monitors/config.js +0 -4
  457. package/dist/lib/monitors/engine.d.ts +1 -1
  458. package/dist/lib/monitors/remote.d.ts +3 -2
  459. package/dist/lib/monitors/sources/webhook.d.ts +2 -15
  460. package/dist/lib/monitors/sources/webhook.js +1 -38
  461. package/dist/lib/monitors/state.d.ts +4 -7
  462. package/dist/lib/monitors/state.js +2 -2
  463. package/dist/lib/notify.d.ts +1 -1
  464. package/dist/lib/notify.js +1 -1
  465. package/dist/lib/onepassword.d.ts +5 -14
  466. package/dist/lib/onepassword.js +0 -64
  467. package/dist/lib/open-url.d.ts +3 -2
  468. package/dist/lib/openclaw-keychain.d.ts +4 -17
  469. package/dist/lib/openclaw-keychain.js +3 -33
  470. package/dist/lib/operator.d.ts +2 -2
  471. package/dist/lib/operator.js +1 -1
  472. package/dist/lib/output/git-output.d.ts +4 -14
  473. package/dist/lib/output/git-output.js +1 -1
  474. package/dist/lib/owner-message.d.ts +3 -29
  475. package/dist/lib/owner-message.js +3 -3
  476. package/dist/lib/packages/output-home.d.ts +2 -4
  477. package/dist/lib/packages/output-home.js +2 -2
  478. package/dist/lib/perf/db.d.ts +0 -2
  479. package/dist/lib/perf/db.js +2 -7
  480. package/dist/lib/permissions-registry.d.ts +2 -3
  481. package/dist/lib/permissions-registry.js +0 -4
  482. package/dist/lib/permissions.d.ts +6 -16
  483. package/dist/lib/permissions.js +2 -15
  484. package/dist/lib/picker.d.ts +6 -5
  485. package/dist/lib/placement.d.ts +3 -6
  486. package/dist/lib/placement.js +0 -17
  487. package/dist/lib/platform/posixpath.d.ts +2 -1
  488. package/dist/lib/platform/winpath.d.ts +2 -1
  489. package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
  490. package/dist/lib/plugins/plugin-marketplace.js +1 -1
  491. package/dist/lib/pr-land-detach.d.ts +2 -1
  492. package/dist/lib/probe.d.ts +4 -1
  493. package/dist/lib/probe.js +5 -2
  494. package/dist/lib/profiles-presets.d.ts +2 -1
  495. package/dist/lib/profiles.d.ts +3 -9
  496. package/dist/lib/profiles.js +1 -9
  497. package/dist/lib/project-doctor.d.ts +2 -1
  498. package/dist/lib/project-launch.d.ts +2 -2
  499. package/dist/lib/project-probe.d.ts +4 -3
  500. package/dist/lib/project-pull.d.ts +2 -1
  501. package/dist/lib/project-resources.d.ts +2 -2
  502. package/dist/lib/project-resources.js +1 -1
  503. package/dist/lib/project-root.d.ts +2 -6
  504. package/dist/lib/project-root.js +1 -1
  505. package/dist/lib/project-schedule.d.ts +2 -1
  506. package/dist/lib/project-status.d.ts +2 -16
  507. package/dist/lib/project-status.js +3 -3
  508. package/dist/lib/pwsh.d.ts +33 -0
  509. package/dist/lib/pwsh.js +56 -0
  510. package/dist/lib/reconcile-and-repair.d.ts +5 -4
  511. package/dist/lib/redact.d.ts +15 -1
  512. package/dist/lib/redact.js +105 -3
  513. package/dist/lib/refresh-coordinator.d.ts +2 -1
  514. package/dist/lib/refresh.d.ts +9 -4
  515. package/dist/lib/refresh.js +92 -72
  516. package/dist/lib/remote-agents-json.d.ts +3 -2
  517. package/dist/lib/reserved-stores.d.ts +0 -2
  518. package/dist/lib/reserved-stores.js +3 -5
  519. package/dist/lib/resource-content-diff.d.ts +0 -2
  520. package/dist/lib/resource-content-diff.js +1 -1
  521. package/dist/lib/resource-patterns.d.ts +2 -1
  522. package/dist/lib/resource-profiles.d.ts +2 -8
  523. package/dist/lib/resource-profiles.js +3 -27
  524. package/dist/lib/resources/workflows.d.ts +1 -1
  525. package/dist/lib/resources.d.ts +4 -9
  526. package/dist/lib/resources.js +1 -1
  527. package/dist/lib/routine-context.d.ts +2 -5
  528. package/dist/lib/routine-context.js +2 -2
  529. package/dist/lib/routine-notify-owner.d.ts +8 -7
  530. package/dist/lib/routine-notify-owner.js +5 -5
  531. package/dist/lib/routine-process-cleanup.d.ts +2 -1
  532. package/dist/lib/routine-readiness.d.ts +0 -2
  533. package/dist/lib/routine-readiness.js +0 -7
  534. package/dist/lib/routines-project.d.ts +3 -4
  535. package/dist/lib/routines-project.js +1 -1
  536. package/dist/lib/rules/compile.d.ts +3 -25
  537. package/dist/lib/rules/compile.js +1 -1
  538. package/dist/lib/rules/compose.d.ts +3 -9
  539. package/dist/lib/rules/rules.d.ts +4 -15
  540. package/dist/lib/rules/rules.js +1 -64
  541. package/dist/lib/run-defaults.d.ts +1 -1
  542. package/dist/lib/run-notify.d.ts +2 -1
  543. package/dist/lib/run-trace-sync.d.ts +1 -1
  544. package/dist/lib/run-trace-sync.js +1 -1
  545. package/dist/lib/scheduler.d.ts +2 -1
  546. package/dist/lib/scheduling/routines.d.ts +9 -21
  547. package/dist/lib/scheduling/routines.js +3 -46
  548. package/dist/lib/secrets-cli.d.ts +11 -0
  549. package/dist/lib/secrets-cli.js +30 -0
  550. package/dist/lib/secrets-client.d.ts +0 -17
  551. package/dist/lib/secrets-client.js +7 -28
  552. package/dist/lib/secrets-policy.d.ts +12 -17
  553. package/dist/lib/secrets-policy.js +5 -5
  554. package/dist/lib/secrets-types.d.ts +3 -2
  555. package/dist/lib/secrets-types.js +2 -1
  556. package/dist/lib/self-heal/checks/install-staging.js +1 -1
  557. package/dist/lib/self-heal/registry.d.ts +3 -2
  558. package/dist/lib/self-heal/types.d.ts +1 -1
  559. package/dist/lib/self-heal/types.js +1 -1
  560. package/dist/lib/self-update.d.ts +5 -5
  561. package/dist/lib/self-update.js +4 -4
  562. package/dist/lib/session/actor-sidecar.d.ts +3 -2
  563. package/dist/lib/session/artifacts.d.ts +0 -2
  564. package/dist/lib/session/artifacts.js +1 -1
  565. package/dist/lib/session/bash-command.d.ts +2 -7
  566. package/dist/lib/session/bundle.d.ts +4 -6
  567. package/dist/lib/session/bundle.js +1 -5
  568. package/dist/lib/session/cloud.d.ts +0 -4
  569. package/dist/lib/session/cloud.js +2 -15
  570. package/dist/lib/session/detached.d.ts +9 -1
  571. package/dist/lib/session/detached.js +31 -2
  572. package/dist/lib/session/digest.d.ts +2 -2
  573. package/dist/lib/session/digest.js +1 -1
  574. package/dist/lib/session/fork.d.ts +3 -2
  575. package/dist/lib/session/highlights.d.ts +6 -5
  576. package/dist/lib/session/hook-sessions.d.ts +2 -1
  577. package/dist/lib/session/host-link.d.ts +2 -1
  578. package/dist/lib/session/inject.d.ts +1 -1
  579. package/dist/lib/session/inject.js +1 -1
  580. package/dist/lib/session/insights.d.ts +3 -15
  581. package/dist/lib/session/insights.js +2 -2
  582. package/dist/lib/session/local-tmux-attach.d.ts +2 -18
  583. package/dist/lib/session/local-tmux-attach.js +1 -1
  584. package/dist/lib/session/migrations.d.ts +0 -1
  585. package/dist/lib/session/migrations.js +1 -1
  586. package/dist/lib/session/mirror.d.ts +5 -8
  587. package/dist/lib/session/mirror.js +2 -2
  588. package/dist/lib/session/parse.d.ts +1 -32
  589. package/dist/lib/session/parse.js +4 -4
  590. package/dist/lib/session/presence.d.ts +2 -1
  591. package/dist/lib/session/prompt.d.ts +3 -2
  592. package/dist/lib/session/prompt.js +38 -1
  593. package/dist/lib/session/recovery.d.ts +3 -2
  594. package/dist/lib/session/remote/peer-stream.d.ts +26 -7
  595. package/dist/lib/session/remote/peer-stream.js +35 -8
  596. package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
  597. package/dist/lib/session/remote/remote-list.d.ts +5 -5
  598. package/dist/lib/session/remote/remote.d.ts +4 -3
  599. package/dist/lib/session/remote/watch.d.ts +2 -7
  600. package/dist/lib/session/remote/watch.js +3 -3
  601. package/dist/lib/session/remote-active.d.ts +2 -1
  602. package/dist/lib/session/render.d.ts +2 -2
  603. package/dist/lib/session/render.js +1 -1
  604. package/dist/lib/session/resume-owner.d.ts +1 -1
  605. package/dist/lib/session/resume-owner.js +1 -1
  606. package/dist/lib/session/run-names.d.ts +2 -1
  607. package/dist/lib/session/session-cache.d.ts +7 -26
  608. package/dist/lib/session/session-cache.js +2 -8
  609. package/dist/lib/session/share-html.d.ts +1 -21
  610. package/dist/lib/session/share-html.js +1 -1
  611. package/dist/lib/session/shell-programs.d.ts +2 -1
  612. package/dist/lib/session/state.d.ts +41 -8
  613. package/dist/lib/session/state.js +112 -11
  614. package/dist/lib/session/stream-render.d.ts +2 -1
  615. package/dist/lib/session/sync/agents.d.ts +0 -4
  616. package/dist/lib/session/sync/agents.js +0 -0
  617. package/dist/lib/session/sync/backend.d.ts +8 -8
  618. package/dist/lib/session/sync/backend.js +3 -3
  619. package/dist/lib/session/sync/managed-config.d.ts +0 -8
  620. package/dist/lib/session/sync/managed-key.d.ts +0 -2
  621. package/dist/lib/session/sync/managed-key.js +1 -1
  622. package/dist/lib/session/sync/provision.d.ts +1 -1
  623. package/dist/lib/session/sync/provision.js +2 -2
  624. package/dist/lib/session/sync/r2.d.ts +4 -1
  625. package/dist/lib/session/sync/r2.js +4 -7
  626. package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
  627. package/dist/lib/session/tail.d.ts +2 -1
  628. package/dist/lib/session/team-filter.d.ts +1 -1
  629. package/dist/lib/session/throughput.d.ts +2 -3
  630. package/dist/lib/session/throughput.js +1 -1
  631. package/dist/lib/session/timeline-pass.d.ts +3 -42
  632. package/dist/lib/session/timeline-pass.js +4 -4
  633. package/dist/lib/session/timeline.d.ts +3 -13
  634. package/dist/lib/session/timeline.js +3 -3
  635. package/dist/lib/session/tool-calls.d.ts +2 -2
  636. package/dist/lib/session/tool-calls.js +1 -1
  637. package/dist/lib/session/tool-index.d.ts +0 -8
  638. package/dist/lib/session/tool-index.js +2 -2
  639. package/dist/lib/session/tool-store.d.ts +2 -1
  640. package/dist/lib/session/trajectory-compare.d.ts +2 -1
  641. package/dist/lib/session/trajectory-lineage.d.ts +2 -1
  642. package/dist/lib/session/trajectory-text.d.ts +3 -2
  643. package/dist/lib/session/trajectory.d.ts +2 -1
  644. package/dist/lib/session/viewing-in.d.ts +2 -1
  645. package/dist/lib/sessions-client.js +0 -3
  646. package/dist/lib/settings-manifest.d.ts +2 -1
  647. package/dist/lib/setup-tool-install.d.ts +3 -0
  648. package/dist/lib/setup-tool-install.js +26 -0
  649. package/dist/lib/setup-tool-status.d.ts +22 -0
  650. package/dist/lib/setup-tool-status.js +215 -0
  651. package/dist/lib/share-runtime.d.ts +11 -0
  652. package/dist/lib/share-runtime.js +63 -0
  653. package/dist/lib/shim-heal.d.ts +1 -5
  654. package/dist/lib/shim-heal.js +0 -6
  655. package/dist/lib/smart-launch.d.ts +5 -10
  656. package/dist/lib/smart-launch.js +4 -12
  657. package/dist/lib/snapshot.d.ts +3 -2
  658. package/dist/lib/ssh-exec.d.ts +49 -4
  659. package/dist/lib/ssh-exec.js +119 -0
  660. package/dist/lib/ssh-tunnel.d.ts +3 -2
  661. package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
  662. package/dist/lib/staleness/checkers/permissions.js +1 -1
  663. package/dist/lib/staleness/fingerprint.d.ts +0 -7
  664. package/dist/lib/staleness/fingerprint.js +1 -1
  665. package/dist/lib/staleness/prune.d.ts +3 -2
  666. package/dist/lib/staleness/registry.d.ts +1 -1
  667. package/dist/lib/staleness/writers/sources.d.ts +0 -8
  668. package/dist/lib/staleness/writers/sources.js +1 -1
  669. package/dist/lib/startup/command-registry.d.ts +6 -4
  670. package/dist/lib/startup/command-registry.js +11 -8
  671. package/dist/lib/state.d.ts +1 -3
  672. package/dist/lib/state.js +3 -6
  673. package/dist/lib/storage/selection.d.ts +2 -2
  674. package/dist/lib/storage/selection.js +2 -2
  675. package/dist/lib/subagents-registry.d.ts +4 -3
  676. package/dist/lib/subagents.d.ts +2 -1
  677. package/dist/lib/subagents.js +3 -2
  678. package/dist/lib/summarizer/pass.d.ts +3 -6
  679. package/dist/lib/summarizer/pass.js +2 -2
  680. package/dist/lib/summarizer/summarize.d.ts +4 -3
  681. package/dist/lib/sync-passphrase.d.ts +3 -2
  682. package/dist/lib/sync-status.d.ts +3 -16
  683. package/dist/lib/sync-status.js +2 -2
  684. package/dist/lib/sync-umbrella.d.ts +9 -3
  685. package/dist/lib/sync-umbrella.js +18 -10
  686. package/dist/lib/system-run-sync.d.ts +2 -1
  687. package/dist/lib/teams/agents.d.ts +2 -4
  688. package/dist/lib/teams/agents.js +1 -1
  689. package/dist/lib/teams/forEach.d.ts +3 -2
  690. package/dist/lib/teams/pr-watch.d.ts +4 -11
  691. package/dist/lib/teams/pr-watch.js +4 -4
  692. package/dist/lib/teams/registry.d.ts +2 -3
  693. package/dist/lib/teams/registry.js +1 -1
  694. package/dist/lib/teams/remoteWorktree.d.ts +0 -16
  695. package/dist/lib/teams/remoteWorktree.js +3 -3
  696. package/dist/lib/teams/scheduler.d.ts +6 -5
  697. package/dist/lib/teams/scheduler.js +1 -1
  698. package/dist/lib/teams/supervisor.d.ts +4 -3
  699. package/dist/lib/teams/worktree.d.ts +0 -9
  700. package/dist/lib/teams/worktree.js +0 -32
  701. package/dist/lib/term-client.d.ts +44 -0
  702. package/dist/lib/term-client.js +117 -0
  703. package/dist/lib/terminal/inject.d.ts +3 -16
  704. package/dist/lib/terminal/inject.js +1 -29
  705. package/dist/lib/terminal/resolve.d.ts +3 -9
  706. package/dist/lib/terminal/resolve.js +3 -7
  707. package/dist/lib/tmux/binary.d.ts +2 -1
  708. package/dist/lib/tmux/orphan-reap.d.ts +6 -7
  709. package/dist/lib/tmux/orphan-reap.js +1 -1
  710. package/dist/lib/tmux/session.d.ts +4 -3
  711. package/dist/lib/traces/backend.d.ts +1 -2
  712. package/dist/lib/traces/backend.js +1 -2
  713. package/dist/lib/traces/classify.d.ts +3 -2
  714. package/dist/lib/traces/config.d.ts +0 -8
  715. package/dist/lib/traces/insights.d.ts +2 -1
  716. package/dist/lib/traces/phenotype.d.ts +3 -3
  717. package/dist/lib/traces/provision.d.ts +2 -4
  718. package/dist/lib/traces/provision.js +3 -3
  719. package/dist/lib/traces/schema2-build.d.ts +1 -1
  720. package/dist/lib/traces/schema2-danger.d.ts +2 -1
  721. package/dist/lib/traces/schema2.d.ts +5 -4
  722. package/dist/lib/traces/segments.d.ts +4 -20
  723. package/dist/lib/traces/segments.js +3 -3
  724. package/dist/lib/traces/sync.d.ts +2 -3
  725. package/dist/lib/traces/sync.js +1 -1
  726. package/dist/lib/triggers/handlers.d.ts +4 -13
  727. package/dist/lib/triggers/handlers.js +1 -1
  728. package/dist/lib/triggers/webhook.d.ts +5 -27
  729. package/dist/lib/triggers/webhook.js +4 -4
  730. package/dist/lib/types.d.ts +11 -9
  731. package/dist/lib/usage-refresh.d.ts +4 -10
  732. package/dist/lib/usage-refresh.js +3 -8
  733. package/dist/lib/verbs.d.ts +2 -1
  734. package/dist/lib/version-duplicates.d.ts +2 -3
  735. package/dist/lib/version-duplicates.js +3 -33
  736. package/dist/lib/version.d.ts +2 -1
  737. package/dist/lib/warn-unpushed.d.ts +2 -1
  738. package/dist/lib/watchdog/history.d.ts +3 -2
  739. package/dist/lib/watchdog/log.d.ts +0 -6
  740. package/dist/lib/watchdog/log.js +1 -1
  741. package/dist/lib/watchdog/rotate.d.ts +2 -26
  742. package/dist/lib/watchdog/rotate.js +4 -12
  743. package/dist/lib/watchdog/runner.d.ts +0 -7
  744. package/dist/lib/watchdog/runner.js +4 -4
  745. package/dist/lib/watchdog/service.d.ts +2 -2
  746. package/dist/lib/watchdog/service.js +1 -1
  747. package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
  748. package/dist/lib/watchdog/watchdog.d.ts +2 -1
  749. package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
  750. package/dist/lib/workflows-registry.d.ts +3 -2
  751. package/dist/lib/workflows.d.ts +4 -7
  752. package/dist/lib/workflows.js +1 -1
  753. package/dist/lib/worktree/held.d.ts +4 -28
  754. package/dist/lib/worktree/held.js +3 -3
  755. package/package.json +3 -5
  756. package/scripts/postinstall.js +5 -4
  757. package/dist/commands/artifacts-setup.d.ts +0 -53
  758. package/dist/commands/artifacts-setup.js +0 -161
  759. package/dist/commands/artifacts.d.ts +0 -18
  760. package/dist/commands/artifacts.js +0 -58
  761. package/dist/commands/attach.d.ts +0 -12
  762. package/dist/commands/attach.js +0 -86
  763. package/dist/commands/auth-mint.d.ts +0 -12
  764. package/dist/commands/auth-mint.js +0 -108
  765. package/dist/commands/pty.d.ts +0 -20
  766. package/dist/commands/pty.js +0 -404
  767. package/dist/commands/reconnect.d.ts +0 -46
  768. package/dist/commands/reconnect.js +0 -115
  769. package/dist/commands/share.d.ts +0 -293
  770. package/dist/commands/share.js +0 -1424
  771. package/dist/lib/config-machine-keys.d.ts +0 -14
  772. package/dist/lib/config-machine-keys.js +0 -21
  773. package/dist/lib/pty-client.d.ts +0 -49
  774. package/dist/lib/pty-client.js +0 -315
  775. package/dist/lib/pty-server.d.ts +0 -59
  776. package/dist/lib/pty-server.js +0 -653
  777. package/dist/lib/share/analytics.d.ts +0 -13
  778. package/dist/lib/share/analytics.js +0 -45
  779. package/dist/lib/share/backend.d.ts +0 -120
  780. package/dist/lib/share/backend.js +0 -176
  781. package/dist/lib/share/capture.d.ts +0 -31
  782. package/dist/lib/share/capture.js +0 -174
  783. package/dist/lib/share/config.d.ts +0 -72
  784. package/dist/lib/share/config.js +0 -211
  785. package/dist/lib/share/delete.d.ts +0 -122
  786. package/dist/lib/share/delete.js +0 -173
  787. package/dist/lib/share/html.d.ts +0 -22
  788. package/dist/lib/share/html.js +0 -88
  789. package/dist/lib/share/http-error.d.ts +0 -52
  790. package/dist/lib/share/http-error.js +0 -65
  791. package/dist/lib/share/og.d.ts +0 -25
  792. package/dist/lib/share/og.js +0 -84
  793. package/dist/lib/share/provision.d.ts +0 -127
  794. package/dist/lib/share/provision.js +0 -285
  795. package/dist/lib/share/publish.d.ts +0 -388
  796. package/dist/lib/share/publish.js +0 -818
  797. package/dist/lib/share/worker-template.d.ts +0 -27
  798. package/dist/lib/share/worker-template.js +0 -2424
  799. package/dist/lib/storage/index.d.ts +0 -14
  800. package/dist/lib/storage/index.js +0 -14
  801. package/dist/lib/storage/visibility.d.ts +0 -82
  802. package/dist/lib/storage/visibility.js +0 -99
@@ -57,7 +57,7 @@ function agentToFormat(agent) {
57
57
  return 'opencode';
58
58
  return null;
59
59
  }
60
- export function assertContained(candidate, rootDir) {
60
+ function assertContained(candidate, rootDir) {
61
61
  const root = path.resolve(rootDir);
62
62
  const resolved = path.resolve(root, candidate);
63
63
  if (!resolved.startsWith(root + path.sep)) {
@@ -65,7 +65,7 @@ export function assertContained(candidate, rootDir) {
65
65
  }
66
66
  return resolved;
67
67
  }
68
- export function validateCloudExecutionId(executionId) {
68
+ function validateCloudExecutionId(executionId) {
69
69
  if (!CLOUD_EXECUTION_ID_RE.test(executionId)) {
70
70
  throw new Error(`Invalid cloud execution_id: ${JSON.stringify(executionId)}`);
71
71
  }
@@ -145,16 +145,3 @@ export function isCloudSessionPath(filePath) {
145
145
  const resolved = path.resolve(filePath);
146
146
  return resolved.startsWith(root + path.sep);
147
147
  }
148
- /** Extract execution_id from a cloud cache path. */
149
- export function executionIdFromCloudPath(filePath) {
150
- if (!isCloudSessionPath(filePath))
151
- return null;
152
- const rel = path.relative(CLOUD_CACHE_DIR, filePath);
153
- const parts = rel.split(path.sep);
154
- try {
155
- return parts[0] ? validateCloudExecutionId(parts[0]) : null;
156
- }
157
- catch {
158
- return null;
159
- }
160
- }
@@ -1,6 +1,6 @@
1
1
  /** A session's foreground/background presence. */
2
2
  export type Presence = 'attached' | 'background' | 'parked';
3
- export interface DetachRecord {
3
+ interface DetachRecord {
4
4
  sessionId: string;
5
5
  agent: string;
6
6
  cwd?: string;
@@ -20,6 +20,13 @@ export declare function clearDetachRecord(sessionId: string): void;
20
20
  export declare function listDetachRecords(): DetachRecord[];
21
21
  /** True while the recorded headless continuation is still the live process we spawned. */
22
22
  export declare function isHeadlessAlive(rec: DetachRecord): boolean;
23
+ /**
24
+ * Stop the detached continuation before a local foreground resume starts.
25
+ * The start-time check in {@link isHeadlessAlive} prevents signalling a reused
26
+ * PID; a continuation that ignores SIGTERM fails closed instead of running
27
+ * alongside a second process against the same transcript.
28
+ */
29
+ export declare function takeOverDetachedSession(sessionId: string): Promise<boolean>;
23
30
  /**
24
31
  * Presence for a session id from the detach store alone:
25
32
  * - no record -> undefined (caller decides: `attached` for a live
@@ -28,3 +35,4 @@ export declare function isHeadlessAlive(rec: DetachRecord): boolean;
28
35
  * - record + pid exited -> `parked` (the run finished; transcript is durable)
29
36
  */
30
37
  export declare function presenceFromStore(sessionId: string): Presence | undefined;
38
+ export {};
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Detached-session store — the record `agents sessions detach` writes and both
3
- * `agents sessions attach` and the active-session scan read to know an agent is
3
+ * `agents sessions resume` and the active-session scan read to know an agent is
4
4
  * "backgrounded": running headless with no terminal, continuing its task
5
5
  * unattended.
6
6
  *
@@ -14,7 +14,7 @@
14
14
  import fs from 'node:fs';
15
15
  import path from 'node:path';
16
16
  import { getSystemAgentsDir } from '../state.js';
17
- import { captureProcessStartTime } from '../pty-server.js';
17
+ import { captureProcessStartTime } from '../platform/process.js';
18
18
  function detachedDir() {
19
19
  return path.join(getSystemAgentsDir(), 'detached');
20
20
  }
@@ -77,6 +77,35 @@ export function isHeadlessAlive(rec) {
77
77
  }
78
78
  return true;
79
79
  }
80
+ /**
81
+ * Stop the detached continuation before a local foreground resume starts.
82
+ * The start-time check in {@link isHeadlessAlive} prevents signalling a reused
83
+ * PID; a continuation that ignores SIGTERM fails closed instead of running
84
+ * alongside a second process against the same transcript.
85
+ */
86
+ export async function takeOverDetachedSession(sessionId) {
87
+ const rec = readDetachRecord(sessionId);
88
+ if (!rec)
89
+ return false;
90
+ if (isHeadlessAlive(rec)) {
91
+ try {
92
+ process.kill(rec.headlessPid, 'SIGTERM');
93
+ }
94
+ catch (err) {
95
+ if (isHeadlessAlive(rec))
96
+ throw err;
97
+ }
98
+ const deadline = Date.now() + 2_000;
99
+ while (isHeadlessAlive(rec) && Date.now() < deadline) {
100
+ await new Promise((resolve) => setTimeout(resolve, 25));
101
+ }
102
+ if (isHeadlessAlive(rec)) {
103
+ throw new Error(`Detached continuation ${rec.headlessPid} did not stop; refusing to resume a duplicate process.`);
104
+ }
105
+ }
106
+ clearDetachRecord(sessionId);
107
+ return true;
108
+ }
80
109
  /**
81
110
  * Presence for a session id from the detach store alone:
82
111
  * - no record -> undefined (caller decides: `attached` for a live
@@ -13,7 +13,6 @@ export interface FileChange {
13
13
  path: string;
14
14
  op: FileOp;
15
15
  }
16
- export declare const READ_TOOLS: Set<string>;
17
16
  export declare const WRITE_TOOLS: Set<string>;
18
17
  export declare const EDIT_TOOLS: Set<string>;
19
18
  /**
@@ -51,7 +50,7 @@ export declare function toolHistogram(toolCounts: Record<string, number>, top?:
51
50
  * only surfaces repeatable tools.
52
51
  */
53
52
  export declare function bashToolCounts(events: SessionEvent[]): Record<string, number>;
54
- export interface TestResult {
53
+ interface TestResult {
55
54
  runner: string;
56
55
  passed?: number;
57
56
  failed?: number;
@@ -64,3 +63,4 @@ export interface TestResult {
64
63
  * (tool_use) with the next tool_result's output. Returns undefined if none ran.
65
64
  */
66
65
  export declare function detectTestResult(events: SessionEvent[]): TestResult | undefined;
66
+ export {};
@@ -10,7 +10,7 @@
10
10
  import { bucketKey, classifyBashCommand } from './bash-command.js';
11
11
  // Tool vocab mirrors parse.ts / render.ts so classification matches what those
12
12
  // modules already recognize across Claude/Codex/others.
13
- export const READ_TOOLS = new Set(['Read', 'read_file', 'view_file', 'cat_file', 'get_file']);
13
+ const READ_TOOLS = new Set(['Read', 'read_file', 'view_file', 'cat_file', 'get_file']);
14
14
  export const WRITE_TOOLS = new Set(['Write', 'write_file', 'create_file', 'Create']);
15
15
  export const EDIT_TOOLS = new Set(['Edit', 'edit_file', 'replace', 'patch', 'MultiEdit', 'apply_patch']);
16
16
  /**
@@ -15,13 +15,13 @@
15
15
  */
16
16
  import type { SessionMeta } from './types.js';
17
17
  /** File-change tally as `sessions preview --json` serializes it (digest.changes). */
18
- export interface ForkRecapChanges {
18
+ interface ForkRecapChanges {
19
19
  created: number;
20
20
  modified: number;
21
21
  deleted: number;
22
22
  }
23
23
  /** Everything the recap seed is built from — resolved cross-fleet before launch. */
24
- export interface ForkRecapInput {
24
+ interface ForkRecapInput {
25
25
  /** Source harness id — the sibling launches the same one. */
26
26
  agent: string;
27
27
  /** Display label for the source (label → topic → short id, resolved by the caller). */
@@ -57,3 +57,4 @@ export declare function forkLabelFor(session: Pick<SessionMeta, 'label' | 'gener
57
57
  * orchestration in `commands/fork.ts` stays the only side-effecting layer.
58
58
  */
59
59
  export declare function buildForkRecap(input: ForkRecapInput): string;
60
+ export {};
@@ -30,7 +30,7 @@ export declare function isSkillInvocation(e: SessionEvent): boolean;
30
30
  * `args.skill` (or `args.name`). Sorted by count desc, then name.
31
31
  */
32
32
  export declare function extractSkills(events: SessionEvent[]): SkillUse[];
33
- export interface SlashCommandUse {
33
+ interface SlashCommandUse {
34
34
  /** WITH the leading slash, e.g. `/recap`, `/code:commit` — matches SessionEvent.slashCommand's shape. */
35
35
  name: string;
36
36
  count: number;
@@ -43,7 +43,7 @@ export interface SlashCommandUse {
43
43
  * count desc, then name.
44
44
  */
45
45
  export declare function extractSlashCommands(events: SessionEvent[]): SlashCommandUse[];
46
- export interface HookUse {
46
+ interface HookUse {
47
47
  /** Hook name as configured, e.g. `SessionStart:startup`. */
48
48
  name: string;
49
49
  /** Lifecycle event, e.g. `SessionStart`. */
@@ -60,8 +60,8 @@ export interface HookUse {
60
60
  * Sorted by count desc, then name.
61
61
  */
62
62
  export declare function extractHooks(events: SessionEvent[]): HookUse[];
63
- export type LinkKind = 'linear' | 'jira' | 'github' | 'gitlab' | 'other';
64
- export interface SessionLink {
63
+ type LinkKind = 'linear' | 'jira' | 'github' | 'gitlab' | 'other';
64
+ interface SessionLink {
65
65
  kind: LinkKind;
66
66
  url: string;
67
67
  /** Short display label: `RUSH-2076`, `PR#1755`, `owner/repo#123`, host. */
@@ -113,7 +113,7 @@ export declare function harnessTracksBackgroundShells(agent: SessionAgentId): bo
113
113
  * matching events while streaming instead of re-reading the transcript.
114
114
  */
115
115
  export declare function isBackgroundShellStart(e: SessionEvent): boolean;
116
- export interface BackgroundShell {
116
+ interface BackgroundShell {
117
117
  /** The command line as invoked, trimmed for display. */
118
118
  command: string;
119
119
  timestamp: string;
@@ -148,3 +148,4 @@ export declare function extractBackgroundShells(events: SessionEvent[]): Backgro
148
148
  * different answer; do not "unify" them.
149
149
  */
150
150
  export declare function isSubAgentTool(tool: string, command: string): boolean;
151
+ export {};
@@ -39,7 +39,7 @@ export declare function recordCompletedLaunch(binding: PidSessionEntry | undefin
39
39
  * collision (pid reuse, or a launch id lingering from a since-dead process).
40
40
  */
41
41
  export declare function loadHookSessionIndex(): HookSessionIndex;
42
- export interface ResolveOpts {
42
+ interface ResolveOpts {
43
43
  pid: number;
44
44
  kind: string;
45
45
  launchId?: string;
@@ -60,3 +60,4 @@ export declare function resolveHookSessionRecord(index: HookSessionIndex, opts:
60
60
  /** The session id alone — see {@link resolveHookSessionRecord} for the full record
61
61
  * (which also carries the SessionStart `ts` used to stamp `startedAtMs`). */
62
62
  export declare function resolveHookSessionId(index: HookSessionIndex, opts: ResolveOpts): string | undefined;
63
+ export {};
@@ -55,7 +55,7 @@ export type HostLink =
55
55
  * the extension agree on when a window is dead.
56
56
  */
57
57
  export declare const HOST_HEARTBEAT_STALE_MS: number;
58
- export interface HostLinkInput {
58
+ interface HostLinkInput {
59
59
  /** The agent process is still alive (already pid-reuse-checked by the caller). */
60
60
  pidAlive: boolean;
61
61
  /**
@@ -102,3 +102,4 @@ export declare function classifyHostLink(input: HostLinkInput): HostLink;
102
102
  * Pure — same injected signals as the classifier.
103
103
  */
104
104
  export declare function hostWindowLost(input: HostLinkInput): boolean;
105
+ export {};
@@ -13,6 +13,6 @@ import type { InjectTarget } from '../terminal/index.js';
13
13
  /**
14
14
  * Map a session's `ReplyRail` to an engine `InjectTarget`. Today only tmux rails
15
15
  * are externally addressable (provenance.ts:143-149); a null rail yields null and
16
- * the caller must supply a target another way (a pty id, a macOS window).
16
+ * the caller must supply a target another way (a macOS window).
17
17
  */
18
18
  export declare function injectTargetFromReplyRail(rail: ReplyRail): InjectTarget | null;
@@ -11,7 +11,7 @@
11
11
  /**
12
12
  * Map a session's `ReplyRail` to an engine `InjectTarget`. Today only tmux rails
13
13
  * are externally addressable (provenance.ts:143-149); a null rail yields null and
14
- * the caller must supply a target another way (a pty id, a macOS window).
14
+ * the caller must supply a target another way (a macOS window).
15
15
  */
16
16
  export function injectTargetFromReplyRail(rail) {
17
17
  if (rail && rail.rail === 'tmux') {
@@ -21,14 +21,6 @@
21
21
  * the raw file count rather than quietly differing.
22
22
  */
23
23
  import type { SessionEvent } from './types.js';
24
- /**
25
- * Minimum quiet time after the assistant's last event before a user message
26
- * is classified as an **agent silent stall**: the model went quiet on its own
27
- * and sat idle until the human resumed. Shorter gaps are normal turn-taking.
28
- * 5 minutes is long enough to exclude "user typing the next instruction" and
29
- * short enough to catch "went silent mid-task until I said continue."
30
- */
31
- export declare const SILENT_STALL_SECONDS = 300;
32
24
  /** Behavioural facets of one session. Serialized as JSON into `session_insights`. */
33
25
  export interface InsightFacets {
34
26
  toolCounts: Record<string, number>;
@@ -112,11 +104,6 @@ export interface InsightFacets {
112
104
  * can be re-bucketed for a different display timezone without re-parsing.
113
105
  */
114
106
  export declare function computeInsightFacets(events: SessionEvent[], timezoneOffsetMinutes?: number): InsightFacets;
115
- /**
116
- * Classify a long quiet gap after the assistant's last event as an agent silent stall.
117
- * Optionally also marks an explicit resume nudge ("continue", …) after that silence.
118
- */
119
- export declare function classifySilentStall(gapSeconds: number, userText: string, friction: Record<string, number>, corrections: Record<string, number>): void;
120
107
  /** Percentile of a numeric sample, nearest-rank. Returns 0 for an empty sample. */
121
108
  export declare function percentile(values: number[], p: number): number;
122
109
  /** Bucket response gaps for display. Returns every bucket, including empty ones. */
@@ -132,7 +119,7 @@ export interface SessionSpan {
132
119
  endMs: number;
133
120
  }
134
121
  /** How much work ran concurrently, and how much of it straddled two accounts. */
135
- export interface OverlapReport {
122
+ interface OverlapReport {
136
123
  /** Pairs of sessions whose spans intersect. */
137
124
  overlappingPairs: number;
138
125
  /** Of those, pairs belonging to DIFFERENT accounts. */
@@ -169,9 +156,10 @@ export interface InsightAction {
169
156
  evidenceCount: number;
170
157
  sampleSessionIds: string[];
171
158
  }
172
- export interface SessionFacetEvidence {
159
+ interface SessionFacetEvidence {
173
160
  id: string;
174
161
  facets: InsightFacets;
175
162
  }
176
163
  /** Build a stable, evidence-backed action list without exposing transcript text. */
177
164
  export declare function buildInsightActions(sessions: SessionFacetEvidence[]): InsightAction[];
165
+ export {};
@@ -60,7 +60,7 @@ const GAP_CEILING_SECONDS = 3600;
60
60
  * 5 minutes is long enough to exclude "user typing the next instruction" and
61
61
  * short enough to catch "went silent mid-task until I said continue."
62
62
  */
63
- export const SILENT_STALL_SECONDS = 300;
63
+ const SILENT_STALL_SECONDS = 300;
64
64
  /** Response-gap buckets, in ascending order. Upper bound is exclusive. */
65
65
  const GAP_BUCKETS = [
66
66
  ['<10s', 10], ['10-30s', 30], ['30s-1m', 60], ['1-2m', 120],
@@ -326,7 +326,7 @@ const RESUME_NUDGE_PATTERN = /\b(?:continue|keep going|don'?t stop|resume|pick u
326
326
  * Classify a long quiet gap after the assistant's last event as an agent silent stall.
327
327
  * Optionally also marks an explicit resume nudge ("continue", …) after that silence.
328
328
  */
329
- export function classifySilentStall(gapSeconds, userText, friction, corrections) {
329
+ function classifySilentStall(gapSeconds, userText, friction, corrections) {
330
330
  for (const [label, min, max] of SILENT_STALL_BUCKETS) {
331
331
  if (gapSeconds >= min && gapSeconds < max) {
332
332
  bump(friction, label);
@@ -14,24 +14,7 @@ export declare function resolveTmuxAliasState(selector: string, socket?: string)
14
14
  * identity to another machine.
15
15
  */
16
16
  export declare function shouldAttachLocalTmuxAliasBeforeFleet(selector: string | undefined, hosts: string[]): selector is string;
17
- /**
18
- * Attach a live tmux session named exactly as the selector, without needing the
19
- * session index to know anything about it.
20
- *
21
- * SES-41 requires a `ag-<agent>-<8hex>` tmux alias to resolve, but the alias's
22
- * hex is the LAUNCH id, not the harness session id, and for a harness that
23
- * writes no `state/sessions/<pid>.json` record there is no mapping back to a
24
- * SessionMeta at all. The pane is the thing the user asked for, and its NAME is
25
- * sufficient to attach it — so an unattributable session is still reachable
26
- * instead of being a dead end that forces raw `tmux -S … attach`.
27
- *
28
- * Returns false when this is not an alias, the server/session is absent, or
29
- * every pane is dead — the caller then continues to normal id resolution.
30
- * SES-39's "re-read `pane_dead` immediately before attach" is honoured here:
31
- * liveness is queried at attach time, not read from a roster.
32
- */
33
- export declare function attachLiveTmuxAlias(selector: string): Promise<boolean>;
34
- export type LocalAliasBySuffix = {
17
+ type LocalAliasBySuffix = {
35
18
  kind: 'alias';
36
19
  alias: string;
37
20
  } | {
@@ -67,3 +50,4 @@ export declare function resolveUniqueLocalLiveAliasBySuffix(shortId: string, soc
67
50
  * resolution / the fleet race.
68
51
  */
69
52
  export declare function attachLocalLiveSelector(selector: string | undefined, hosts: string[]): Promise<boolean>;
53
+ export {};
@@ -67,7 +67,7 @@ export function shouldAttachLocalTmuxAliasBeforeFleet(selector, hosts) {
67
67
  * SES-39's "re-read `pane_dead` immediately before attach" is honoured here:
68
68
  * liveness is queried at attach time, not read from a roster.
69
69
  */
70
- export async function attachLiveTmuxAlias(selector) {
70
+ async function attachLiveTmuxAlias(selector) {
71
71
  const socket = getDefaultSocketPath();
72
72
  if (await resolveTmuxAliasState(selector, socket) !== 'live')
73
73
  return false;
@@ -24,7 +24,6 @@ export interface MigrationRecord {
24
24
  status: 'completed' | 'failed';
25
25
  error?: string;
26
26
  }
27
- export declare function migrationsLedgerPath(): string;
28
27
  /**
29
28
  * Append one migration event. A ledger write must never break a migration that
30
29
  * otherwise succeeded, so a write failure is a visible warning, not a throw.
@@ -13,7 +13,7 @@ import * as fs from 'fs';
13
13
  import * as path from 'path';
14
14
  import chalk from 'chalk';
15
15
  import { homeDir } from '../platform/paths.js';
16
- export function migrationsLedgerPath() {
16
+ function migrationsLedgerPath() {
17
17
  return path.join(homeDir(), '.agents', '.history', 'migrations.jsonl');
18
18
  }
19
19
  /**
@@ -21,10 +21,6 @@
21
21
  * consume so its DB is not written with rows it never renders.
22
22
  */
23
23
  import { type ConfiguredDeviceRole } from '../device-config.js';
24
- /** Cap on sessions published per device — the payload stays what a picker shows. */
25
- export declare const SESSION_MIRROR_MAX_ROWS = 200;
26
- /** First-user-message snippet ceiling; the full turn stays on the owning box. */
27
- export declare const SESSION_MIRROR_SNIPPET_MAX = 280;
28
24
  /** Mirror rows older than this since their last sync are pruned (staleness/size ceiling). */
29
25
  export declare const SESSION_MIRROR_MAX_AGE_MS: number;
30
26
  /** Caps for the timeline block on a published mirror row. */
@@ -32,12 +28,12 @@ export declare const SESSION_MIRROR_MAX_STEPS = 8;
32
28
  export declare const SESSION_MIRROR_STEP_TEXT_MAX = 160;
33
29
  export declare const SESSION_MIRROR_REQUEST_MAX = 2000;
34
30
  export declare const SESSION_MIRROR_MAX_FILES = 8;
35
- export interface PublishSessionMirrorOptions {
31
+ interface PublishSessionMirrorOptions {
36
32
  userAgentsDir?: string;
37
33
  device?: string;
38
34
  limit?: number;
39
35
  }
40
- export interface PublishSessionMirrorResult {
36
+ interface PublishSessionMirrorResult {
41
37
  published: boolean;
42
38
  changed: boolean;
43
39
  count: number;
@@ -47,14 +43,14 @@ export interface PublishSessionMirrorResult {
47
43
  }
48
44
  /** Publish this device's most-recent local sessions into its owned shared-state file. */
49
45
  export declare function publishSessionMirrorToSharedStore(options?: PublishSessionMirrorOptions): Promise<PublishSessionMirrorResult>;
50
- export interface ConsumeSessionMirrorOptions {
46
+ interface ConsumeSessionMirrorOptions {
51
47
  userAgentsDir?: string;
52
48
  device?: string;
53
49
  role?: ConfiguredDeviceRole;
54
50
  now?: number;
55
51
  maxAgeMs?: number;
56
52
  }
57
- export interface ConsumeSessionMirrorResult {
53
+ interface ConsumeSessionMirrorResult {
58
54
  sources: string[];
59
55
  merged: number;
60
56
  pruned: number;
@@ -71,3 +67,4 @@ export interface ConsumeSessionMirrorResult {
71
67
  * marked worker skips: the mirror feeds an interactive picker it never renders.
72
68
  */
73
69
  export declare function consumeSessionMirrorFromSharedStore(options?: ConsumeSessionMirrorOptions): ConsumeSessionMirrorResult;
70
+ export {};
@@ -26,9 +26,9 @@ import { getUserAgentsDir } from '../state.js';
26
26
  import { machineId, normalizeHost } from './sync/config.js';
27
27
  import { pruneMirrorSessions, queryLocalOriginSessionsForMirror, upsertMirrorSession, } from './db.js';
28
28
  /** Cap on sessions published per device — the payload stays what a picker shows. */
29
- export const SESSION_MIRROR_MAX_ROWS = 200;
29
+ const SESSION_MIRROR_MAX_ROWS = 200;
30
30
  /** First-user-message snippet ceiling; the full turn stays on the owning box. */
31
- export const SESSION_MIRROR_SNIPPET_MAX = 280;
31
+ const SESSION_MIRROR_SNIPPET_MAX = 280;
32
32
  /** Mirror rows older than this since their last sync are pruned (staleness/size ceiling). */
33
33
  export const SESSION_MIRROR_MAX_AGE_MS = 14 * 24 * 60 * 60_000;
34
34
  /** Caps for the timeline block on a published mirror row. */
@@ -71,17 +71,6 @@ export declare function parseClaude(filePath: string, opts?: ParseSessionOptions
71
71
  export declare function parseClaudeContent(content: string, opts?: ParseSessionOptions): SessionEvent[];
72
72
  /** Parse a Codex JSONL session file into normalized events. */
73
73
  export declare function parseCodex(filePath: string): SessionEvent[];
74
- /**
75
- * Extract target file path(s) from a Codex apply_patch envelope. The patch body
76
- * opens with `*** Begin Patch` and carries one or more file ops of the form
77
- * `*** Update File: <path>` / `*** Add File: <path>` / `*** Delete File: <path>`.
78
- * Returns every path in order (a multi-file patch emits multiple paths so
79
- * artifact discovery sees each file — RUSH-1410). Empty when unparseable.
80
- */
81
- export declare function applyPatchTargets(input: string): Array<{
82
- path: string;
83
- op: 'Add' | 'Update' | 'Delete';
84
- }>;
85
74
  export declare function applyPatchTargetPaths(input: string): string[];
86
75
  /**
87
76
  * Codex writes its turn TWICE in one rollout: the raw `response_item` records
@@ -119,14 +108,6 @@ export declare function parseGemini(filePath: string): SessionEvent[];
119
108
  * request step and a completion step that share the id).
120
109
  */
121
110
  export declare function parseAntigravity(dbPath: string): SessionEvent[];
122
- /**
123
- * Separator between a container file and the id it holds inside a *composite*
124
- * session `file_path`. Some harnesses keep every session in ONE file (OpenCode's
125
- * single `opencode.db`), so the index stores `<container>#<session-id>` rather
126
- * than one path per session — e.g.
127
- * `/home/u/.local/share/opencode/opencode.db#ses_02410a2c…`.
128
- */
129
- export declare const SESSION_FILE_PATH_SEP = "#";
130
111
  /**
131
112
  * Split a stored session `file_path` into its on-disk container and the optional
132
113
  * in-container fragment. For a plain per-session file the container is the path
@@ -179,7 +160,7 @@ export declare function sessionFilePathContainer(filePath: string): string;
179
160
  * session that committed / opened / merged a PR and to report a tool-failure
180
161
  * count the event stream cannot supply.
181
162
  */
182
- export interface GrokSessionSignals {
163
+ interface GrokSessionSignals {
183
164
  gitCommitCount: number;
184
165
  prCreatedCount: number;
185
166
  prMergedCount: number;
@@ -232,18 +213,6 @@ export declare function parseOpenCode(filePath: string): SessionEvent[];
232
213
  export declare function parseOpencodeCloud(filePath: string): SessionEvent[];
233
214
  /** Parse a Rush JSONL session file into normalized events. */
234
215
  export declare function parseRush(filePath: string): SessionEvent[];
235
- /**
236
- * Muse Code session.jsonl → normalized events.
237
- *
238
- * Muse records an append-only event log. We map:
239
- * - runtime.command_intake.received / turn_submit → user message
240
- * - assistant_message_committed → assistant message
241
- * - model_completed.usage → usage
242
- * - tool-related events when present
243
- */
244
- export declare function parseMuse(filePath: string): SessionEvent[];
245
- /** Parse a Hermes session JSON file into normalized events. */
246
- export declare function parseHermes(filePath: string): SessionEvent[];
247
216
  /** Parse a Kimi session state.json file by reading its agents/main/wire.jsonl. */
248
217
  export declare function parseKimi(filePath: string): SessionEvent[];
249
218
  /** Parse Cursor's Anthropic-shaped message JSONL transcript. */
@@ -609,7 +609,7 @@ export function parseCodex(filePath) {
609
609
  * Returns every path in order (a multi-file patch emits multiple paths so
610
610
  * artifact discovery sees each file — RUSH-1410). Empty when unparseable.
611
611
  */
612
- export function applyPatchTargets(input) {
612
+ function applyPatchTargets(input) {
613
613
  const targets = [];
614
614
  const re = /^\*\*\* (Update|Add|Delete) File: (.+)$/gm;
615
615
  for (const m of input.matchAll(re)) {
@@ -1391,7 +1391,7 @@ export function parseAntigravity(dbPath) {
1391
1391
  * than one path per session — e.g.
1392
1392
  * `/home/u/.local/share/opencode/opencode.db#ses_02410a2c…`.
1393
1393
  */
1394
- export const SESSION_FILE_PATH_SEP = '#';
1394
+ const SESSION_FILE_PATH_SEP = '#';
1395
1395
  /**
1396
1396
  * Split a stored session `file_path` into its on-disk container and the optional
1397
1397
  * in-container fragment. For a plain per-session file the container is the path
@@ -2086,7 +2086,7 @@ export function parseRush(filePath) {
2086
2086
  * - model_completed.usage → usage
2087
2087
  * - tool-related events when present
2088
2088
  */
2089
- export function parseMuse(filePath) {
2089
+ function parseMuse(filePath) {
2090
2090
  const content = safeReadSessionFile(filePath);
2091
2091
  const lines = content.split('\n').filter((l) => l.trim());
2092
2092
  const events = [];
@@ -2166,7 +2166,7 @@ export function parseMuse(filePath) {
2166
2166
  return events;
2167
2167
  }
2168
2168
  /** Parse a Hermes session JSON file into normalized events. */
2169
- export function parseHermes(filePath) {
2169
+ function parseHermes(filePath) {
2170
2170
  let session;
2171
2171
  try {
2172
2172
  session = JSON.parse(safeReadSessionFile(filePath));
@@ -44,7 +44,7 @@ export declare function loadPresence(dir?: string): Record<string, PresenceRecor
44
44
  export declare function savePresence(map: Record<string, PresenceRecord>, dir?: string): void;
45
45
  /** The subset of an `ActiveSession` the presence adapter reads (structural, so
46
46
  * this module doesn't import the heavy active-session graph). */
47
- export interface ActiveSessionLike {
47
+ interface ActiveSessionLike {
48
48
  sessionId?: string;
49
49
  kind: string;
50
50
  /** 'terminal' (interactive) | 'headless' | 'teams' | 'cloud' | ... */
@@ -83,3 +83,4 @@ export declare function reconcilePresence(prev: Record<string, PresenceRecord>,
83
83
  next: Record<string, PresenceRecord>;
84
84
  transitions: PresenceTransition[];
85
85
  };
86
+ export {};
@@ -66,7 +66,7 @@ export declare function cleanSessionPrompt(raw: string): string;
66
66
  * path, a pasted shell line, or a skill's install directory.
67
67
  */
68
68
  export type UserPromptKind = 'text' | 'image' | 'command' | 'skill';
69
- export interface ClassifiedPrompt {
69
+ interface ClassifiedPrompt {
70
70
  /**
71
71
  * The one-line, display-ready form of the prompt — never a bare path. NOT
72
72
  * length-capped: the recap card shows it in full; row consumers cap it
@@ -132,7 +132,7 @@ export declare function extractSessionTopic(raw: string): string | undefined;
132
132
  * dropped in, or an `@path` directory reference. `name` is the basename (or the
133
133
  * `@ref` verbatim) — the sidebar renders these as chips beside the request text.
134
134
  */
135
- export interface RequestAttachmentRef {
135
+ interface RequestAttachmentRef {
136
136
  kind: 'image' | 'file' | 'dir';
137
137
  name: string;
138
138
  }
@@ -194,3 +194,4 @@ export declare function firstSentence(text: string, cap?: number): string;
194
194
  export declare function tidyRequest(raw: string | undefined, opts?: {
195
195
  attachments?: SessionAttachment[];
196
196
  }, depth?: number): TidyRequest | undefined;
197
+ export {};
@@ -193,7 +193,7 @@ export function cleanSessionPrompt(raw) {
193
193
  let text = stripTeamWrappers(raw).replace(/\r/g, '').trim();
194
194
  if (!text)
195
195
  return '';
196
- text = text.replace(/<\/?[a-z_][a-z0-9_-]*>/gi, '');
196
+ text = stripXmlLikeTags(text);
197
197
  const meaningful = text
198
198
  .split('\n')
199
199
  .map(line => line.trim())
@@ -201,6 +201,43 @@ export function cleanSessionPrompt(raw) {
201
201
  .filter(line => !NOISE_LINE_PATTERNS.some(pattern => pattern.test(line)));
202
202
  return meaningful.join('\n').trim();
203
203
  }
204
+ /**
205
+ * Remove XML-like tags in one pass, including nested fragments such as
206
+ * `<scr<b>ipt>`. A candidate starts only with a valid tag-name prefix, so
207
+ * ordinary comparisons such as `1 < 2 > 0` remain prose.
208
+ */
209
+ function stripXmlLikeTags(text) {
210
+ const chunks = [];
211
+ let plainStart = 0;
212
+ let tagStart = -1;
213
+ let depth = 0;
214
+ for (let index = 0; index < text.length; index += 1) {
215
+ const char = text[index];
216
+ if (depth === 0) {
217
+ if (char !== '<')
218
+ continue;
219
+ const firstNameIndex = text[index + 1] === '/' ? index + 2 : index + 1;
220
+ if (!/[a-z_]/i.test(text[firstNameIndex] ?? ''))
221
+ continue;
222
+ chunks.push(text.slice(plainStart, index));
223
+ tagStart = index;
224
+ depth = 1;
225
+ continue;
226
+ }
227
+ if (char === '<') {
228
+ depth += 1;
229
+ }
230
+ else if (char === '>' && --depth === 0) {
231
+ plainStart = index + 1;
232
+ tagStart = -1;
233
+ }
234
+ }
235
+ if (tagStart !== -1)
236
+ chunks.push(text.slice(tagStart));
237
+ else
238
+ chunks.push(text.slice(plainStart));
239
+ return chunks.join('');
240
+ }
204
241
  /**
205
242
  * A skill invocation injects a system line naming the skill's install directory:
206
243
  * "Base directory for this skill: /home/.../skills/<name>"