@phnx-labs/agents-cli 1.22.39 → 1.22.41

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 (569) hide show
  1. package/CHANGELOG.md +316 -0
  2. package/README.md +116 -70
  3. package/dist/bin/agents +0 -0
  4. package/dist/bootstrap.js +45 -27
  5. package/dist/browser.js +2 -2
  6. package/dist/cli/command-registry.d.ts +135 -0
  7. package/dist/cli/command-registry.js +259 -0
  8. package/dist/commands/accounts.d.ts +20 -0
  9. package/dist/commands/accounts.js +186 -25
  10. package/dist/commands/apply.d.ts +3 -3
  11. package/dist/commands/apply.js +20 -63
  12. package/dist/commands/browser.d.ts +15 -0
  13. package/dist/commands/browser.js +318 -131
  14. package/dist/commands/budget.d.ts +7 -6
  15. package/dist/commands/budget.js +8 -7
  16. package/dist/commands/cloud.js +17 -20
  17. package/dist/commands/commands.js +1 -1
  18. package/dist/commands/computer-actions.d.ts +1 -35
  19. package/dist/commands/computer-actions.js +13 -181
  20. package/dist/commands/computer.d.ts +28 -3
  21. package/dist/commands/computer.js +93 -65
  22. package/dist/commands/config.js +16 -3
  23. package/dist/commands/cost.d.ts +2 -1
  24. package/dist/commands/cost.js +7 -6
  25. package/dist/commands/daemon.js +151 -4
  26. package/dist/commands/detach.js +1 -1
  27. package/dist/commands/doctor.js +19 -11
  28. package/dist/commands/events.js +1 -1
  29. package/dist/commands/exec.d.ts +2 -50
  30. package/dist/commands/exec.js +160 -215
  31. package/dist/commands/factory.js +1 -1
  32. package/dist/commands/feed.d.ts +2 -2
  33. package/dist/commands/feed.js +12 -23
  34. package/dist/commands/fleet-capture.js +25 -27
  35. package/dist/commands/focus.d.ts +2 -3
  36. package/dist/commands/focus.js +34 -9
  37. package/dist/commands/go.js +15 -5
  38. package/dist/commands/harness.d.ts +3 -3
  39. package/dist/commands/harness.js +53 -5
  40. package/dist/commands/hooks.js +1 -1
  41. package/dist/commands/import.js +2 -2
  42. package/dist/commands/insights.d.ts +5 -5
  43. package/dist/commands/insights.js +15 -9
  44. package/dist/commands/inspect.d.ts +2 -3
  45. package/dist/commands/inspect.js +4 -16
  46. package/dist/commands/logs.d.ts +2 -2
  47. package/dist/commands/logs.js +9 -9
  48. package/dist/commands/mcp.js +2 -2
  49. package/dist/commands/memory.js +1 -1
  50. package/dist/commands/message.d.ts +1 -1
  51. package/dist/commands/message.js +7 -7
  52. package/dist/commands/mine.d.ts +11 -8
  53. package/dist/commands/mine.js +11 -10
  54. package/dist/commands/models.js +1 -1
  55. package/dist/commands/modes.js +1 -1
  56. package/dist/commands/monitors.js +23 -6
  57. package/dist/commands/output.d.ts +7 -6
  58. package/dist/commands/output.js +11 -10
  59. package/dist/commands/packages.js +4 -4
  60. package/dist/commands/perf.js +1 -1
  61. package/dist/commands/permissions.js +49 -32
  62. package/dist/commands/plugins.d.ts +1 -1
  63. package/dist/commands/plugins.js +3 -3
  64. package/dist/commands/profiles.d.ts +6 -9
  65. package/dist/commands/profiles.js +8 -321
  66. package/dist/commands/projects.d.ts +9 -0
  67. package/dist/commands/projects.js +140 -8
  68. package/dist/commands/prune.js +5 -13
  69. package/dist/commands/refresh-rules.js +1 -1
  70. package/dist/commands/repo.d.ts +5 -7
  71. package/dist/commands/repo.js +34 -18
  72. package/dist/commands/resource-view.js +4 -0
  73. package/dist/commands/resume.d.ts +11 -7
  74. package/dist/commands/resume.js +82 -98
  75. package/dist/commands/route.d.ts +12 -0
  76. package/dist/commands/route.js +261 -0
  77. package/dist/commands/routines.d.ts +2 -3
  78. package/dist/commands/routines.js +120 -145
  79. package/dist/commands/rules.js +1 -1
  80. package/dist/commands/run-account-picker.d.ts +1 -1
  81. package/dist/commands/run-account-picker.js +2 -2
  82. package/dist/commands/run-broadcast.d.ts +21 -0
  83. package/dist/commands/run-broadcast.js +89 -0
  84. package/dist/commands/run-cloud.js +1 -1
  85. package/dist/commands/secrets-vault.d.ts +10 -0
  86. package/dist/commands/{login.js → secrets-vault.js} +34 -14
  87. package/dist/commands/secrets.d.ts +4 -4
  88. package/dist/commands/secrets.js +158 -159
  89. package/dist/commands/sessions-backfill.js +1 -1
  90. package/dist/commands/sessions-browser.d.ts +1 -1
  91. package/dist/commands/sessions-browser.js +9 -5
  92. package/dist/commands/sessions-export.js +2 -2
  93. package/dist/commands/sessions-inject.js +4 -5
  94. package/dist/commands/sessions-migrate.js +16 -27
  95. package/dist/commands/sessions-picker.d.ts +14 -0
  96. package/dist/commands/sessions-picker.js +209 -13
  97. package/dist/commands/sessions-resume.d.ts +7 -3
  98. package/dist/commands/sessions-resume.js +81 -33
  99. package/dist/commands/sessions-share.d.ts +25 -0
  100. package/dist/commands/sessions-share.js +166 -0
  101. package/dist/commands/sessions-stats.js +2 -2
  102. package/dist/commands/sessions.d.ts +75 -68
  103. package/dist/commands/sessions.js +144 -180
  104. package/dist/commands/setup-browser.js +1 -1
  105. package/dist/commands/setup-computer.js +1 -1
  106. package/dist/commands/setup-fleet.js +3 -0
  107. package/dist/commands/setup-mine.d.ts +7 -3
  108. package/dist/commands/setup-mine.js +13 -8
  109. package/dist/commands/setup-preferences.js +2 -2
  110. package/dist/commands/setup-secrets.js +2 -2
  111. package/dist/commands/setup-watchdog.js +2 -2
  112. package/dist/commands/setup.js +7 -2
  113. package/dist/commands/share.d.ts +65 -0
  114. package/dist/commands/share.js +253 -20
  115. package/dist/commands/skills.js +3 -3
  116. package/dist/commands/snapshot.d.ts +2 -2
  117. package/dist/commands/snapshot.js +9 -9
  118. package/dist/commands/ssh.d.ts +1 -1
  119. package/dist/commands/ssh.js +186 -64
  120. package/dist/commands/subagents.js +1 -1
  121. package/dist/commands/sync.js +24 -9
  122. package/dist/commands/teams.d.ts +2 -2
  123. package/dist/commands/teams.js +9 -18
  124. package/dist/commands/tmux.js +5 -1
  125. package/dist/commands/trash.js +1 -1
  126. package/dist/commands/usage.d.ts +1 -1
  127. package/dist/commands/usage.js +2 -2
  128. package/dist/commands/utils.d.ts +4 -14
  129. package/dist/commands/utils.js +6 -27
  130. package/dist/commands/versions.js +2 -2
  131. package/dist/commands/view.d.ts +9 -77
  132. package/dist/commands/view.js +23 -8
  133. package/dist/commands/watchdog.js +1 -1
  134. package/dist/commands/webhook.js +25 -34
  135. package/dist/commands/workflows.js +1 -1
  136. package/dist/index.js +1 -1
  137. package/dist/lib/account-capabilities.d.ts +39 -0
  138. package/dist/lib/account-capabilities.js +59 -0
  139. package/dist/lib/account-catalog.js +1 -1
  140. package/dist/lib/account-registry.d.ts +66 -0
  141. package/dist/lib/account-registry.js +151 -5
  142. package/dist/lib/{rotate.d.ts → accounting/rotate.d.ts} +4 -4
  143. package/dist/lib/{rotate.js → accounting/rotate.js} +8 -8
  144. package/dist/lib/{usage.d.ts → accounting/usage.d.ts} +4 -4
  145. package/dist/lib/{usage.js → accounting/usage.js} +11 -11
  146. package/dist/lib/agent-spec/provider.js +1 -1
  147. package/dist/lib/agents.d.ts +72 -4
  148. package/dist/lib/agents.js +231 -199
  149. package/dist/lib/answer-router.d.ts +2 -2
  150. package/dist/lib/ask-classifier.d.ts +1 -1
  151. package/dist/lib/ask-classifier.js +1 -1
  152. package/dist/lib/audit/log.js +1 -1
  153. package/dist/lib/auth-health.d.ts +1 -1
  154. package/dist/lib/auth-health.js +2 -2
  155. package/dist/lib/brand.js +1 -1
  156. package/dist/lib/browser/caller-identity.d.ts +28 -0
  157. package/dist/lib/browser/caller-identity.js +156 -0
  158. package/dist/lib/browser/cdp.js +5 -1
  159. package/dist/lib/browser/chrome.js +12 -1
  160. package/dist/lib/browser/drivers/ssh.d.ts +1 -1
  161. package/dist/lib/browser/drivers/ssh.js +3 -2
  162. package/dist/lib/browser/hygiene.d.ts +10 -2
  163. package/dist/lib/browser/hygiene.js +7 -4
  164. package/dist/lib/browser/ipc.d.ts +22 -2
  165. package/dist/lib/browser/ipc.js +185 -21
  166. package/dist/lib/browser/profiles.d.ts +69 -5
  167. package/dist/lib/browser/profiles.js +135 -13
  168. package/dist/lib/browser/remote-control.d.ts +2 -2
  169. package/dist/lib/browser/remote-control.js +3 -3
  170. package/dist/lib/browser/runtime-state.d.ts +79 -0
  171. package/dist/lib/browser/runtime-state.js +119 -1
  172. package/dist/lib/browser/service.d.ts +137 -2
  173. package/dist/lib/browser/service.js +492 -54
  174. package/dist/lib/browser/sessions-list.d.ts +2 -1
  175. package/dist/lib/browser/sessions-list.js +4 -13
  176. package/dist/lib/browser/types.d.ts +19 -1
  177. package/dist/lib/budget/config.js +1 -1
  178. package/dist/lib/budget/ledger.js +1 -1
  179. package/dist/lib/byok-usage.js +1 -1
  180. package/dist/lib/capabilities.js +3 -15
  181. package/dist/lib/catchup.d.ts +1 -1
  182. package/dist/lib/catchup.js +1 -1
  183. package/dist/lib/cloud/dispatch.js +1 -1
  184. package/dist/lib/cloud/host.d.ts +3 -3
  185. package/dist/lib/cloud/host.js +5 -5
  186. package/dist/lib/cloud/rush.d.ts +9 -21
  187. package/dist/lib/cloud/rush.js +33 -120
  188. package/dist/lib/cloud/types.d.ts +2 -2
  189. package/dist/lib/commands.js +3 -13
  190. package/dist/lib/computer/actions.d.ts +36 -0
  191. package/dist/lib/computer/actions.js +162 -0
  192. package/dist/lib/computer/dispatch.d.ts +2 -2
  193. package/dist/lib/computer/dispatch.js +2 -2
  194. package/dist/lib/computer/sessions-list.d.ts +3 -3
  195. package/dist/lib/computer/sessions-list.js +2 -2
  196. package/dist/lib/config-keys.d.ts +2 -1
  197. package/dist/lib/config-keys.js +8 -4
  198. package/dist/lib/config-machine-keys.d.ts +4 -2
  199. package/dist/lib/config-machine-keys.js +5 -2
  200. package/dist/lib/crabbox/lease.js +9 -1
  201. package/dist/lib/crabbox/runtimes.d.ts +32 -7
  202. package/dist/lib/crabbox/runtimes.js +72 -30
  203. package/dist/lib/{daemon.d.ts → daemon/daemon.d.ts} +59 -1
  204. package/dist/lib/{daemon.js → daemon/daemon.js} +237 -49
  205. package/dist/lib/daemon-services.d.ts +1 -1
  206. package/dist/lib/daemon-services.js +5 -0
  207. package/dist/lib/daemon-ticks.d.ts +25 -0
  208. package/dist/lib/daemon-ticks.js +31 -1
  209. package/dist/lib/daemon-webhooks.d.ts +104 -0
  210. package/dist/lib/daemon-webhooks.js +215 -0
  211. package/dist/lib/device-config.d.ts +85 -75
  212. package/dist/lib/device-config.js +280 -142
  213. package/dist/lib/devices/config-migration.d.ts +29 -34
  214. package/dist/lib/devices/config-migration.js +209 -130
  215. package/dist/lib/devices/connect.d.ts +2 -2
  216. package/dist/lib/devices/connect.js +2 -2
  217. package/dist/lib/devices/discovery-policy.d.ts +30 -0
  218. package/dist/lib/devices/discovery-policy.js +101 -0
  219. package/dist/lib/devices/fleet-inventory.js +8 -3
  220. package/dist/lib/devices/harness-inventory.d.ts +1 -1
  221. package/dist/lib/devices/harness-inventory.js +12 -3
  222. package/dist/lib/devices/known-hosts.js +1 -1
  223. package/dist/lib/devices/pool.d.ts +10 -5
  224. package/dist/lib/devices/pool.js +5 -7
  225. package/dist/lib/devices/registry.d.ts +1 -1
  226. package/dist/lib/devices/registry.js +1 -1
  227. package/dist/lib/devices/resolve-profile.d.ts +2 -2
  228. package/dist/lib/devices/resolve-profile.js +2 -2
  229. package/dist/lib/devices/resolve-target.d.ts +1 -1
  230. package/dist/lib/devices/resolve-target.js +4 -4
  231. package/dist/lib/devices/self-host.d.ts +1 -1
  232. package/dist/lib/devices/self-host.js +3 -3
  233. package/dist/lib/devices/ssh-config.d.ts +1 -1
  234. package/dist/lib/devices/stats-cache.js +1 -1
  235. package/dist/lib/devices/sync.d.ts +3 -1
  236. package/dist/lib/devices/sync.js +3 -3
  237. package/dist/lib/doctor-diff.js +4 -4
  238. package/dist/lib/drift-sync.js +2 -2
  239. package/dist/lib/drift.js +2 -2
  240. package/dist/lib/event-families.d.ts +1 -1
  241. package/dist/lib/event-stream.d.ts +1 -1
  242. package/dist/lib/event-stream.js +2 -2
  243. package/dist/lib/events-ingest.js +2 -2
  244. package/dist/lib/exec.d.ts +4 -4
  245. package/dist/lib/exec.js +11 -11
  246. package/dist/lib/factory/snapshot.d.ts +1 -1
  247. package/dist/lib/factory/snapshot.js +1 -1
  248. package/dist/lib/{activity.d.ts → feed/activity.d.ts} +1 -1
  249. package/dist/lib/{activity.js → feed/activity.js} +7 -7
  250. package/dist/lib/{events.d.ts → feed/events.d.ts} +2 -2
  251. package/dist/lib/{events.js → feed/events.js} +5 -5
  252. package/dist/lib/{feed.js → feed/feed.js} +4 -4
  253. package/dist/lib/feed-outcome.d.ts +1 -1
  254. package/dist/lib/feed-policy.d.ts +1 -1
  255. package/dist/lib/feed-policy.js +1 -1
  256. package/dist/lib/feed-post.d.ts +1 -1
  257. package/dist/lib/feed-post.js +1 -1
  258. package/dist/lib/feed-ranking.d.ts +1 -1
  259. package/dist/lib/fleet/apply.d.ts +0 -6
  260. package/dist/lib/fleet/apply.js +18 -45
  261. package/dist/lib/fleet/auth-sync.d.ts +16 -35
  262. package/dist/lib/fleet/auth-sync.js +16 -75
  263. package/dist/lib/fleet/capture.js +8 -6
  264. package/dist/lib/fleet/manifest.js +23 -11
  265. package/dist/lib/fleet/types.d.ts +19 -7
  266. package/dist/lib/fleet-cache.d.ts +1 -1
  267. package/dist/lib/fleet-cache.js +1 -1
  268. package/dist/lib/format.d.ts +19 -0
  269. package/dist/lib/format.js +44 -1
  270. package/dist/lib/friction-heuristics.d.ts +1 -1
  271. package/dist/lib/git.d.ts +24 -1
  272. package/dist/lib/git.js +82 -38
  273. package/dist/lib/heal.js +3 -3
  274. package/dist/lib/hooks.d.ts +18 -0
  275. package/dist/lib/hooks.js +113 -1
  276. package/dist/lib/hosts/credentials.d.ts +30 -10
  277. package/dist/lib/hosts/credentials.js +38 -26
  278. package/dist/lib/hosts/dispatch.d.ts +3 -3
  279. package/dist/lib/hosts/dispatch.js +3 -3
  280. package/dist/lib/hosts/option.d.ts +3 -3
  281. package/dist/lib/hosts/option.js +7 -8
  282. package/dist/lib/hosts/passthrough.d.ts +17 -17
  283. package/dist/lib/hosts/passthrough.js +67 -50
  284. package/dist/lib/hosts/providers/devices.d.ts +1 -1
  285. package/dist/lib/hosts/providers/devices.js +1 -1
  286. package/dist/lib/hosts/reconcile.d.ts +1 -1
  287. package/dist/lib/hosts/reconcile.js +1 -1
  288. package/dist/lib/hosts/reconnect.d.ts +1 -1
  289. package/dist/lib/hosts/reconnect.js +2 -2
  290. package/dist/lib/hosts/registry.d.ts +5 -5
  291. package/dist/lib/hosts/registry.js +5 -5
  292. package/dist/lib/hosts/remote-cmd.d.ts +10 -10
  293. package/dist/lib/hosts/remote-cmd.js +25 -18
  294. package/dist/lib/hosts/remote-os.d.ts +4 -4
  295. package/dist/lib/hosts/remote-os.js +4 -4
  296. package/dist/lib/hosts/remote-session-id.d.ts +2 -2
  297. package/dist/lib/hosts/remote-session-id.js +2 -2
  298. package/dist/lib/hosts/routing-flag.d.ts +3 -3
  299. package/dist/lib/hosts/routing-flag.js +4 -5
  300. package/dist/lib/hosts/run-target.d.ts +4 -4
  301. package/dist/lib/hosts/run-target.js +4 -4
  302. package/dist/lib/hosts/session-index.d.ts +2 -2
  303. package/dist/lib/hosts/session-index.js +1 -1
  304. package/dist/lib/hosts/session-marker.d.ts +1 -1
  305. package/dist/lib/hosts/session-marker.js +1 -1
  306. package/dist/lib/hosts/types.d.ts +2 -2
  307. package/dist/lib/hosts/types.js +2 -2
  308. package/dist/lib/import.js +1 -1
  309. package/dist/lib/{migrate.d.ts → installations/migrate.d.ts} +13 -1
  310. package/dist/lib/{migrate.js → installations/migrate.js} +160 -40
  311. package/dist/lib/installations/resolve.js +1 -1
  312. package/dist/lib/installations/strategies.js +1 -1
  313. package/dist/lib/installations/update.js +2 -2
  314. package/dist/lib/{versions.d.ts → installations/versions.d.ts} +12 -3
  315. package/dist/lib/{versions.js → installations/versions.js} +51 -31
  316. package/dist/lib/isolation-boundary-report.js +1 -1
  317. package/dist/lib/linear-projects.d.ts +28 -0
  318. package/dist/lib/linear-projects.js +30 -0
  319. package/dist/lib/loop.js +1 -1
  320. package/dist/lib/mailbox-gc.js +1 -1
  321. package/dist/lib/mailbox.js +1 -1
  322. package/dist/lib/mcp-registry.d.ts +62 -0
  323. package/dist/lib/mcp-registry.js +177 -0
  324. package/dist/lib/mcp.d.ts +5 -0
  325. package/dist/lib/mcp.js +124 -307
  326. package/dist/lib/menubar/MenubarHelper.app/Contents/CodeResources +0 -0
  327. package/dist/lib/menubar/MenubarHelper.app/Contents/MacOS/MenubarHelper +0 -0
  328. package/dist/lib/menubar/install-menubar.d.ts +7 -0
  329. package/dist/lib/menubar/install-menubar.js +24 -6
  330. package/dist/lib/menubar/snapshot.d.ts +7 -0
  331. package/dist/lib/menubar/snapshot.js +8 -6
  332. package/dist/lib/models.js +1 -1
  333. package/dist/lib/monitors/config.d.ts +12 -0
  334. package/dist/lib/monitors/config.js +3 -0
  335. package/dist/lib/monitors/dispatch.js +26 -5
  336. package/dist/lib/monitors/engine.js +10 -0
  337. package/dist/lib/monitors/sources/webhook.d.ts +1 -1
  338. package/dist/lib/monitors/state.d.ts +42 -0
  339. package/dist/lib/monitors/state.js +30 -0
  340. package/dist/lib/notify.d.ts +1 -1
  341. package/dist/lib/observe-aliases.d.ts +3 -3
  342. package/dist/lib/observe-aliases.js +3 -21
  343. package/dist/lib/output/git-output.js +2 -2
  344. package/dist/lib/overdue.d.ts +1 -1
  345. package/dist/lib/overdue.js +1 -1
  346. package/dist/lib/permissions-registry.d.ts +65 -0
  347. package/dist/lib/permissions-registry.js +599 -0
  348. package/dist/lib/permissions.d.ts +24 -13
  349. package/dist/lib/permissions.js +52 -271
  350. package/dist/lib/picker.d.ts +16 -0
  351. package/dist/lib/picker.js +33 -3
  352. package/dist/lib/placement.d.ts +1 -1
  353. package/dist/lib/placement.js +4 -4
  354. package/dist/lib/platform/paths.d.ts +8 -0
  355. package/dist/lib/platform/paths.js +11 -0
  356. package/dist/lib/platform/posixpath.js +3 -3
  357. package/dist/lib/{plugin-marketplace.d.ts → plugins/plugin-marketplace.d.ts} +1 -1
  358. package/dist/lib/{plugin-marketplace.js → plugins/plugin-marketplace.js} +2 -2
  359. package/dist/lib/{plugins.d.ts → plugins/plugins.d.ts} +1 -1
  360. package/dist/lib/{plugins.js → plugins/plugins.js} +7 -7
  361. package/dist/lib/{skills.d.ts → plugins/skills.d.ts} +1 -1
  362. package/dist/lib/{skills.js → plugins/skills.js} +7 -7
  363. package/dist/lib/pricing/cost.d.ts +1 -1
  364. package/dist/lib/pricing/cost.js +1 -1
  365. package/dist/lib/profiles-presets.d.ts +1 -1
  366. package/dist/lib/profiles-presets.js +1 -1
  367. package/dist/lib/profiles.js +2 -2
  368. package/dist/lib/project-import.js +4 -1
  369. package/dist/lib/project-key.js +7 -0
  370. package/dist/lib/project-launch.d.ts +1 -1
  371. package/dist/lib/project-launch.js +3 -3
  372. package/dist/lib/project-pull.d.ts +128 -0
  373. package/dist/lib/project-pull.js +384 -0
  374. package/dist/lib/project-root.d.ts +2 -2
  375. package/dist/lib/project-root.js +2 -2
  376. package/dist/lib/project-status.js +1 -1
  377. package/dist/lib/projects.d.ts +23 -0
  378. package/dist/lib/projects.js +29 -6
  379. package/dist/lib/refresh.d.ts +12 -1
  380. package/dist/lib/refresh.js +16 -9
  381. package/dist/lib/registry.d.ts +9 -2
  382. package/dist/lib/registry.js +11 -4
  383. package/dist/lib/resources.d.ts +2 -2
  384. package/dist/lib/resources.js +2 -2
  385. package/dist/lib/routers.d.ts +81 -0
  386. package/dist/lib/routers.js +153 -0
  387. package/dist/lib/routine-context.d.ts +1 -0
  388. package/dist/lib/routine-context.js +7 -2
  389. package/dist/lib/routine-notify-owner.d.ts +1 -1
  390. package/dist/lib/routine-notify.d.ts +1 -1
  391. package/dist/lib/routine-notify.js +1 -1
  392. package/dist/lib/routine-process-cleanup.d.ts +1 -1
  393. package/dist/lib/routine-readiness.d.ts +1 -1
  394. package/dist/lib/routine-readiness.js +11 -4
  395. package/dist/lib/routines-placement.d.ts +12 -2
  396. package/dist/lib/routines-placement.js +20 -3
  397. package/dist/lib/routines-project.d.ts +1 -1
  398. package/dist/lib/routines-project.js +1 -1
  399. package/dist/lib/rules/compile.d.ts +1 -0
  400. package/dist/lib/rules/compile.js +10 -2
  401. package/dist/lib/rules/rules.js +1 -1
  402. package/dist/lib/run-notify.js +1 -1
  403. package/dist/lib/runner.d.ts +80 -2
  404. package/dist/lib/runner.js +261 -67
  405. package/dist/lib/sandbox.d.ts +1 -1
  406. package/dist/lib/scheduler.d.ts +1 -1
  407. package/dist/lib/scheduler.js +1 -1
  408. package/dist/lib/{routines.d.ts → scheduling/routines.d.ts} +54 -9
  409. package/dist/lib/{routines.js → scheduling/routines.js} +173 -14
  410. package/dist/lib/secrets/Agents CLI.app/Contents/CodeResources +0 -0
  411. package/dist/lib/secrets/Agents CLI.app/Contents/MacOS/Agents CLI +0 -0
  412. package/dist/lib/secrets/agent.js +2 -2
  413. package/dist/lib/secrets/audit.js +1 -1
  414. package/dist/lib/secrets/bundles.d.ts +4 -4
  415. package/dist/lib/secrets/bundles.js +8 -8
  416. package/dist/lib/secrets/headless.d.ts +16 -0
  417. package/dist/lib/secrets/headless.js +21 -0
  418. package/dist/lib/secrets/index.js +1 -1
  419. package/dist/lib/secrets/list-filter.d.ts +1 -1
  420. package/dist/lib/secrets/list-filter.js +2 -2
  421. package/dist/lib/secrets/push.d.ts +1 -1
  422. package/dist/lib/secrets/push.js +10 -12
  423. package/dist/lib/secrets/remote.d.ts +21 -17
  424. package/dist/lib/secrets/remote.js +39 -23
  425. package/dist/lib/secrets/vault.js +2 -2
  426. package/dist/lib/self-heal/checks/shadowing.js +1 -1
  427. package/dist/lib/self-heal/checks/shims.js +1 -1
  428. package/dist/lib/self-update.d.ts +39 -4
  429. package/dist/lib/self-update.js +78 -25
  430. package/dist/lib/serve/control.d.ts +1 -1
  431. package/dist/lib/serve/control.js +4 -4
  432. package/dist/lib/serve/data.d.ts +1 -1
  433. package/dist/lib/serve/data.js +1 -1
  434. package/dist/lib/serve/stream.js +1 -1
  435. package/dist/lib/service-manifest.d.ts +29 -0
  436. package/dist/lib/service-manifest.js +80 -0
  437. package/dist/lib/session/active.d.ts +59 -7
  438. package/dist/lib/session/active.js +158 -17
  439. package/dist/lib/session/bash-command.js +1 -1
  440. package/dist/lib/session/claude-accounts.d.ts +1 -1
  441. package/dist/lib/session/claude-accounts.js +1 -1
  442. package/dist/lib/session/db.d.ts +10 -2
  443. package/dist/lib/session/db.js +25 -6
  444. package/dist/lib/session/discover.d.ts +77 -0
  445. package/dist/lib/session/discover.js +130 -25
  446. package/dist/lib/session/fork.js +1 -1
  447. package/dist/lib/session/inject.d.ts +1 -1
  448. package/dist/lib/session/insights.d.ts +1 -1
  449. package/dist/lib/session/insights.js +1 -1
  450. package/dist/lib/session/live-metadata.d.ts +15 -0
  451. package/dist/lib/session/live-metadata.js +76 -0
  452. package/dist/lib/session/migrate-targets.d.ts +1 -1
  453. package/dist/lib/session/recovery.d.ts +1 -1
  454. package/dist/lib/session/recovery.js +2 -2
  455. package/dist/lib/session/remote-active.d.ts +10 -1
  456. package/dist/lib/session/remote-active.js +8 -3
  457. package/dist/lib/session/remote-bundle.d.ts +1 -1
  458. package/dist/lib/session/remote-bundle.js +2 -2
  459. package/dist/lib/session/remote-list.d.ts +15 -4
  460. package/dist/lib/session/remote-list.js +40 -3
  461. package/dist/lib/session/remote.d.ts +5 -5
  462. package/dist/lib/session/remote.js +13 -17
  463. package/dist/lib/session/resume-command.d.ts +3 -2
  464. package/dist/lib/session/resume-command.js +4 -3
  465. package/dist/lib/session/resume-owner.d.ts +3 -3
  466. package/dist/lib/session/resume-owner.js +3 -3
  467. package/dist/lib/session/session-cache.d.ts +12 -0
  468. package/dist/lib/session/session-cache.js +2 -0
  469. package/dist/lib/session/share-html.d.ts +55 -0
  470. package/dist/lib/session/share-html.js +319 -0
  471. package/dist/lib/session/shell-programs.js +1 -1
  472. package/dist/lib/session/state.js +5 -5
  473. package/dist/lib/session/team-filter.d.ts +1 -1
  474. package/dist/lib/session/team-filter.js +1 -1
  475. package/dist/lib/session/types.d.ts +3 -3
  476. package/dist/lib/session/width.d.ts +2 -2
  477. package/dist/lib/session/width.js +2 -2
  478. package/dist/lib/settings-manifest.d.ts +2 -0
  479. package/dist/lib/settings-manifest.js +81 -3
  480. package/dist/lib/share/delete.d.ts +21 -0
  481. package/dist/lib/share/delete.js +42 -0
  482. package/dist/lib/share/publish.d.ts +120 -0
  483. package/dist/lib/share/publish.js +243 -18
  484. package/dist/lib/share/worker-template.js +172 -9
  485. package/dist/lib/shims.js +35 -7
  486. package/dist/lib/smart-launch.d.ts +4 -4
  487. package/dist/lib/smart-launch.js +6 -4
  488. package/dist/lib/snapshot.d.ts +4 -4
  489. package/dist/lib/snapshot.js +2 -2
  490. package/dist/lib/ssh-exec.d.ts +1 -1
  491. package/dist/lib/ssh-exec.js +2 -2
  492. package/dist/lib/ssh-tunnel.d.ts +10 -10
  493. package/dist/lib/ssh-tunnel.js +12 -12
  494. package/dist/lib/staleness/checkers/hooks.d.ts +1 -1
  495. package/dist/lib/staleness/checkers/hooks.js +1 -1
  496. package/dist/lib/staleness/detectors/permissions.js +0 -23
  497. package/dist/lib/staleness/detectors/plugins.js +1 -1
  498. package/dist/lib/staleness/fingerprint.js +1 -1
  499. package/dist/lib/staleness/layers.d.ts +1 -1
  500. package/dist/lib/staleness/layers.js +1 -1
  501. package/dist/lib/staleness/writers/mcp.js +3 -1
  502. package/dist/lib/staleness/writers/plugins.js +1 -1
  503. package/dist/lib/staleness/writers/types.d.ts +8 -0
  504. package/dist/lib/startup/command-registry.d.ts +6 -147
  505. package/dist/lib/startup/command-registry.js +40 -303
  506. package/dist/lib/startup/dev-build.d.ts +0 -21
  507. package/dist/lib/startup/dev-build.js +29 -8
  508. package/dist/lib/state.d.ts +19 -1
  509. package/dist/lib/state.js +120 -51
  510. package/dist/lib/subagents.js +1 -1
  511. package/dist/lib/sync-status.js +1 -1
  512. package/dist/lib/sync-umbrella.d.ts +6 -1
  513. package/dist/lib/sync-umbrella.js +9 -4
  514. package/dist/lib/teams/agents.js +2 -2
  515. package/dist/lib/teams/registry.js +1 -1
  516. package/dist/lib/terminal/backends/vscodium-agent.js +1 -1
  517. package/dist/lib/terminal/engine.js +1 -1
  518. package/dist/lib/terminal/index.d.ts +4 -0
  519. package/dist/lib/terminal/index.js +3 -0
  520. package/dist/lib/terminal/inject.d.ts +2 -2
  521. package/dist/lib/terminal/inject.js +2 -2
  522. package/dist/lib/terminal/transport.js +1 -1
  523. package/dist/lib/tmux/index.d.ts +1 -1
  524. package/dist/lib/tmux/index.js +1 -1
  525. package/dist/lib/tmux/session.d.ts +21 -5
  526. package/dist/lib/tmux/session.js +76 -22
  527. package/dist/lib/triggers/handlers.d.ts +38 -3
  528. package/dist/lib/triggers/handlers.js +58 -7
  529. package/dist/lib/triggers/webhook.d.ts +113 -5
  530. package/dist/lib/triggers/webhook.js +223 -44
  531. package/dist/lib/types.d.ts +19 -7
  532. package/dist/lib/usage-fleet.d.ts +1 -1
  533. package/dist/lib/usage-fleet.js +1 -1
  534. package/dist/lib/usage-refresh.d.ts +1 -1
  535. package/dist/lib/usage-refresh.js +3 -3
  536. package/dist/lib/version-duplicates.js +2 -2
  537. package/dist/lib/view-types.d.ts +56 -0
  538. package/dist/lib/view-types.js +1 -0
  539. package/dist/lib/watchdog/rotate.d.ts +2 -2
  540. package/dist/lib/watchdog/rotate.js +3 -3
  541. package/dist/lib/watchdog/runner.d.ts +2 -3
  542. package/dist/lib/watchdog/runner.js +3 -4
  543. package/dist/lib/workflows.js +1 -1
  544. package/dist/lib/wrap.d.ts +33 -0
  545. package/dist/lib/wrap.js +70 -0
  546. package/package.json +2 -1
  547. package/scripts/postinstall.js +2 -2
  548. package/dist/commands/bench.d.ts +0 -2
  549. package/dist/commands/bench.js +0 -101
  550. package/dist/commands/cp.d.ts +0 -84
  551. package/dist/commands/cp.js +0 -231
  552. package/dist/commands/login.d.ts +0 -2
  553. package/dist/lib/resources/commands.d.ts +0 -46
  554. package/dist/lib/resources/commands.js +0 -211
  555. package/dist/lib/resources/hooks.d.ts +0 -16
  556. package/dist/lib/resources/hooks.js +0 -153
  557. package/dist/lib/resources/mcp.d.ts +0 -34
  558. package/dist/lib/resources/mcp.js +0 -250
  559. package/dist/lib/resources/memory.d.ts +0 -15
  560. package/dist/lib/resources/memory.js +0 -46
  561. package/dist/lib/resources/permissions.d.ts +0 -13
  562. package/dist/lib/resources/permissions.js +0 -202
  563. package/dist/lib/resources/rules.d.ts +0 -46
  564. package/dist/lib/resources/rules.js +0 -179
  565. package/dist/lib/resources/skills.d.ts +0 -37
  566. package/dist/lib/resources/skills.js +0 -247
  567. package/dist/lib/resources/subagents.d.ts +0 -46
  568. package/dist/lib/resources/subagents.js +0 -202
  569. /package/dist/lib/{feed.d.ts → feed/feed.d.ts} +0 -0
@@ -2,9 +2,11 @@ import { type Command } from 'commander';
2
2
  import { type ProjectDef } from '../lib/projects.js';
3
3
  import type { SessionAgentId, SessionMeta, ViewMode } from '../lib/session/types.js';
4
4
  import { type ActiveSession } from '../lib/session/active.js';
5
+ export { activeSessionProjectKey, backfillActiveRowsFromIndex, backfillActiveRowsFromMeta, isRunningLiveSession, serializeActiveSessionsForJson, serializeSessionsJson, type BackfillMeta } from '../lib/session/active.js';
6
+ import { loadLocalActiveSessions } from '../lib/session/session-cache.js';
5
7
  import { gatherRemoteList, runOnPeer } from '../lib/session/remote-list.js';
6
8
  import { type RemoteAgentsJsonParseResult } from '../lib/remote-agents-json.js';
7
- import { type RunMeta } from '../lib/routines.js';
9
+ import { type RunMeta } from '../lib/scheduling/routines.js';
8
10
  import { type PickedSession } from './sessions-picker.js';
9
11
  import { type ComputerRunRow } from '../lib/computer/sessions-list.js';
10
12
  import { type ToolSearchEnvelope, type ToolProgramCountEnvelope } from '../lib/session/tool-index.js';
@@ -70,7 +72,7 @@ interface SessionsOptions extends SessionFilterOptions {
70
72
  /** Force local-only: skip the cross-machine SSH fan-out (both the default
71
73
  * listing and --active). */
72
74
  local?: boolean;
73
- /** --device <target...> — alias for --host; resolves against the device registry. */
75
+ /** --device <target...> — values from the `--device` flag; resolves against the device registry. */
74
76
  device?: string[];
75
77
  /** --devices <target...> — plural alias for --device; a bare `all`/`fleet` value
76
78
  * means "search the whole fleet" (already the default), so it never errors. */
@@ -142,19 +144,6 @@ export declare function formatActiveRowDescription(s: ActiveSession): string;
142
144
  * can't be correlated back to a transcript on disk.
143
145
  */
144
146
  export declare function indexActiveBySessionId(active: ActiveSession[]): Map<string, ActiveSession>;
145
- /** The SessionMeta fields the live-row backfill reads — the enrichment a running process cannot report. */
146
- export type BackfillMeta = Pick<SessionMeta, 'version' | 'timestamp' | 'label' | 'ticketId' | 'prUrl' | 'prNumber' | 'origin' | 'routineName'>;
147
- /**
148
- * Backfill display-only fields onto live rows from the indexed SessionMeta, by
149
- * full session id (RUSH-2205). A running process reports no agent version, and a
150
- * live orphan row usually carries no ticket/PR/label/start-time; the historical
151
- * index does. Only a field the live row LACKS is filled — the live signal always
152
- * wins when present. Pure (no I/O) so the join is unit-tested against fixtures;
153
- * the DB read that builds `metaById` is the caller's concern.
154
- */
155
- export declare function backfillActiveRowsFromMeta(sessions: ActiveSession[], metaById: Map<string, BackfillMeta>): void;
156
- /** Add indexed display metadata to active rows for non-renderer consumers. */
157
- export declare function backfillActiveRowsFromIndex(sessions: ActiveSession[]): void;
158
147
  /**
159
148
  * The live decoration for a listing row: a status glyph and the latest-turn
160
149
  * preview, when the session is still running. `●` running / `◐` waiting on the
@@ -198,36 +187,6 @@ export declare function liveStatusWord(a: ActiveSession | undefined): string;
198
187
  * stays excluded rather than inventing a human who can answer.
199
188
  */
200
189
  export declare function isAwaitingUser(s: ActiveSession): boolean;
201
- /**
202
- * Whether a row belongs in an unqualified `--active` view (RUSH-2336) — the
203
- * ONE canonical selector every bare-active surface shares: the CLI's grouped
204
- * table and `--json` (`renderActiveSessions`), the interactive browser's
205
- * `--active` filter ({@link applyFilters} in `sessions-browser.ts`), `focus`'s
206
- * attach gate (`isAttachableLiveSession`), and the menubar snapshot
207
- * ({@link computeMenubarSnapshot}).
208
- *
209
- * The live registry deliberately retains terminally-dead AND not-yet-started
210
- * rows long enough for `--closed` / `--crashed` / `--queued` and recovery to
211
- * find them. Presence in that registry therefore is not, by itself, evidence
212
- * that a session is CURRENTLY active. Explicit lifecycle filters bypass this
213
- * predicate and select those retained rows through {@link matchesLiveStatus}
214
- * instead — this function only decides the unqualified default.
215
- *
216
- * - `queued` / `closed` / `crashed` are never active here: queued hasn't
217
- * started yet, closed/crashed are unconditionally dead. All three stay
218
- * reachable through their explicit filter.
219
- * - A cloud row carries no local pid at all — it is active on the
220
- * provider's own word (`cloudProvider` + `cloudTaskId`), never a
221
- * fabricated pid.
222
- * - Every other row is a real OS process (terminal/tmux/headless/team). It
223
- * is active only when the row names the machine it runs on, carries a
224
- * positive pid, AND has POSITIVELY verified that pid is alive
225
- * (`pidAlive === true` — not merely "not known dead"). A live orphaned
226
- * row, or a live-but-stuck abandoned row, still qualifies this way since
227
- * both carry a genuinely alive pid; unknown liveness (an older peer's
228
- * row, or a pid that could never be resolved) does not.
229
- */
230
- export declare function isRunningLiveSession(s: ActiveSession): boolean;
231
190
  /**
232
191
  * The tracker/PR ref for a session's dedicated column: the ticket id when known,
233
192
  * else `PR#<n>`, else empty. Pulled out of the trailing badge blob so refs align
@@ -236,26 +195,36 @@ export declare function isRunningLiveSession(s: ActiveSession): boolean;
236
195
  export declare function ticketLabel(s: Pick<SessionMeta, 'ticketId' | 'prNumber'>): string;
237
196
  export declare function linkTicketCell(s: Pick<SessionMeta, 'ticketId' | 'prNumber' | 'prUrl'>, label: string): string;
238
197
  export declare function linkCwdCell(s: Pick<SessionMeta, 'cwd' | '_remote'>, label: string): string;
198
+ /**
199
+ * The single project/group key for an active session row (RUSH-2688). It is the
200
+ * ONE derivation every project-grouped consumer of `--active`/the menubar snapshot
201
+ * shares, so a session is bucketed the same way everywhere:
202
+ *
203
+ * - A real working dir → its `basename` — the same key SessionMeta derives (see
204
+ * discover.ts), so the active view and the history view join identically on
205
+ * (ticketId + project).
206
+ * - A row with NO local cwd (a cloud task, a provider-run job) → an explicit
207
+ * bucket keyed by context: `cloud` for a cloud row, else `other`.
208
+ *
209
+ * It never falls back to `kind` (the harness — 'codex', 'claude') or `machine`
210
+ * (the box it runs on): neither is a project, and letting either stand in for the
211
+ * key is exactly what leaked a Codex cloud task under a 'codex' group and a bogus
212
+ * machine label in the menubar. No fallback chain — one explicit bucket.
213
+ */
239
214
  /**
240
215
  * The row shape `agents sessions --active --json` emits. RUSH-1981: a watcher
241
216
  * joins active sessions on ticketId + project, but the raw ActiveSession nests
242
217
  * the ticket (`ticket.id`) and carries no `project` at all — so a naive join
243
218
  * silently drops every row. Emit both as flat, always-present top-level keys
244
- * (null when unknown) alongside the raw fields, so every active row is joinable.
245
- * `project` uses the same derivation SessionMeta does — basename(cwd) (see
246
- * discover.ts) so the active view and the history view join identically.
219
+ * alongside the raw fields, so every active row is joinable. `project` is the
220
+ * canonical {@link activeSessionProjectKey} — basename(cwd), or an explicit
221
+ * `cloud`/`other` bucket for a row with no local cwd, never the harness/machine.
247
222
  *
248
223
  * `viewingIn` flattens to the same display string the row renderer prints —
249
224
  * `'codium tab 3'` / `'detached'` / null — so a consumer can tell a watched
250
225
  * session from an orphaned one (its terminal died, the agent is still running)
251
226
  * without re-implementing the tmux client lookup.
252
227
  */
253
- export declare function serializeActiveSessionsForJson(sessions: ActiveSession[]): Array<Omit<ActiveSession, 'viewingIn'> & {
254
- ticketId: string | null;
255
- project: string | null;
256
- prLink: string | null;
257
- viewingIn: string | null;
258
- }>;
259
228
  export interface SessionPickerJsonRow extends SessionMeta {
260
229
  state: ActiveSession['status'] | 'inactive';
261
230
  resumable: boolean;
@@ -351,7 +320,7 @@ export declare function groupSessionsByMachine(sessions: ActiveSession[], localM
351
320
  */
352
321
  export declare function dedupeByMachineSession(sessions: ActiveSession[]): ActiveSession[];
353
322
  /**
354
- * Narrow a gathered live set to the machines an explicit `--host`/`--device`
323
+ * Narrow a gathered live set to the machines an explicit `--device`
355
324
  * scope named. The gather picks which boxes to ASK; this asserts what the answer
356
325
  * may contain, and the two are not the same question: a host-dispatched run is
357
326
  * reported by the box that dispatched it while executing somewhere else, so
@@ -378,7 +347,6 @@ export declare function mergeLocalFirst(sessions: SessionMeta[], localMachine: s
378
347
  * newline. The single seam shared by the local `--json` path and the
379
348
  * `--json --host` remote fan-out so both emit byte-identical row shapes.
380
349
  */
381
- export declare function serializeSessionsJson(sessions: SessionMeta[]): string;
382
350
  /** The intentionally small metadata contract emitted by `sessions --resolve`.
383
351
  * It includes only launch identity needed to route/resume. Transcript paths,
384
352
  * extracted plans, costs, and content stay on the machine that owns them. */
@@ -393,14 +361,14 @@ export declare function parseRemoteComputerSessionRows(stdout: string, machine:
393
361
  export declare function gatherRemoteComputerSessionRows(hosts?: string[]): Promise<ComputerRunRow[]>;
394
362
  /**
395
363
  * Whether the local machine's sessions belong in an `--active` view. Local is
396
- * included by default; an explicit `--host`/`--device` list scopes the view to
364
+ * included by default; an explicit `--device` list scopes the view to
397
365
  * exactly those machines, so local is dropped unless it is itself named (by
398
366
  * alias or `user@host`, matched on the normalized machine id). Exported for
399
367
  * unit testing without touching SSH or the live process table.
400
368
  */
401
369
  export declare function shouldIncludeLocal(hosts: string[] | undefined, self: string): boolean;
402
370
  /**
403
- * The peers to dial for an `--active` view. No `--host` → `undefined`, which
371
+ * The peers to dial for an `--active` view. No `--device` → `undefined`, which
404
372
  * tells `gatherRemoteActive` to sweep the registered online devices. An
405
373
  * explicit list → exactly those, minus this machine (its sessions come from the
406
374
  * local seed, so dialing self would be a wasted SSH and a spurious "unreachable"
@@ -412,9 +380,9 @@ export declare function remoteHostsToDial(hosts: string[] | undefined, self: str
412
380
  /**
413
381
  * The fleet-wide live-session set behind every `--active` surface. Local sessions
414
382
  * come from `getActiveSessions()` and (unless `--local`) the registered online
415
- * devices from `ag devices` are folded in over SSH. An explicit `--host`/`--device`
383
+ * devices from `ag devices` are folded in over SSH. An explicit `--device`
416
384
  * list SCOPES the sweep to exactly those machines — the local machine is included
417
- * only when it is itself named — so `--host` is a filter, not an addition.
385
+ * only when it is itself named — so `--device` is a filter, not an addition.
418
386
  *
419
387
  * This is the single gather: the static renderer AND the interactive browser both
420
388
  * call it, so the browser can never disagree with `--active --json` about which
@@ -424,7 +392,7 @@ export declare function remoteHostsToDial(hosts: string[] | undefined, self: str
424
392
  * RUSH-2062: default path is cache-first against the daemon-warmed shared
425
393
  * snapshot (`session-cache.ts`). Menubar / Factory / watchdog / CLI share one
426
394
  * warm result instead of each re-running the full SSH fan-out. `forceRefresh`
427
- * (or `AGENTS_SESSIONS_FORCE_REFRESH=1`) re-gathers live; scoped `--host` lists
395
+ * (or `AGENTS_SESSIONS_FORCE_REFRESH=1`) re-gathers live; scoped `--device` lists
428
396
  * always gather live so a filter never returns a wrong unscoped snapshot.
429
397
  */
430
398
  export declare function gatherActiveSessions(opts?: {
@@ -434,6 +402,9 @@ export declare function gatherActiveSessions(opts?: {
434
402
  }): Promise<{
435
403
  sessions: ActiveSession[];
436
404
  remoteDeviceCount: number;
405
+ /** Peer names that went unheard on this gather (RUSH-2507). Undefined when unknown (e.g. a cache hit). */
406
+ remoteSkipped?: string[];
407
+ remoteDiscoveryFailed?: boolean;
437
408
  }>;
438
409
  /** Apply the routine selector to enriched live rows for every non-browser active view. */
439
410
  export declare function filterActiveSessionsByRoutine(sessions: ActiveSession[], routine: boolean | string | undefined): ActiveSession[];
@@ -445,8 +416,8 @@ export declare function requestedLiveStatuses(options: SessionsOptions): LiveSta
445
416
  /**
446
417
  * A bare interactive fleet listing — no query, no render/filter flag — that the
447
418
  * `runSessionBrowser` picker can represent. The single predicate shared by the
448
- * bare-browser branch and the `--host` early-return guard so they can't drift:
449
- * when this holds, an explicit `--host`/`--device` scope is folded into the
419
+ * bare-browser branch and the `--device` early-return guard so they can't drift:
420
+ * when this holds, an explicit `--device` scope is folded into the
450
421
  * browser (preview-rich, selectable) instead of the legacy per-host raw stream.
451
422
  */
452
423
  export declare function isBareBrowserListing(options: SessionsOptions, query: string | undefined): boolean;
@@ -907,14 +878,51 @@ export declare function metadataResolveOutcome(localMatches: SessionMeta[], remo
907
878
  sessions: SessionMeta[];
908
879
  unreachable: string[];
909
880
  }, selector: string): MetadataResolveOutcome;
910
- /** Reusable local-first resolver for `agents run --resume` and `agents resume`.
881
+ /** Injectable dependency for the live-registry cold-miss fallback (RUSH-2682). */
882
+ export type LiveMetadataDeps = {
883
+ loadActive?: typeof loadLocalActiveSessions;
884
+ };
885
+ /**
886
+ * Local metadata candidates for a selector: the indexed SQLite rows, plus — when
887
+ * an id-shaped selector misses the index entirely — the live-session registry
888
+ * (RUSH-2682).
889
+ *
890
+ * Indexing is lazy (it only runs inside `discoverSessions`), so a session THIS
891
+ * box just started is "running" in `agents sessions --active` minutes before its
892
+ * transcript reaches the local index. Every id resolver (`preview`, `resume`,
893
+ * `focus`, and the fan-out peer that answers `--resolve-safe-v1`) therefore
894
+ * consults the SAME live registry `--active` reads before declaring a running
895
+ * session non-existent. It reshapes process state the registry already computed;
896
+ * it parses no transcript and renders nothing. The live path is entered ONLY on a
897
+ * cold id miss, so an indexed hit keeps its richer row and keyword resolution is
898
+ * unchanged.
899
+ */
900
+ export declare function computeLocalMetadataMatches(selector: string, scope: {
901
+ agent?: string;
902
+ project?: string;
903
+ local?: boolean;
904
+ hosts?: string[];
905
+ }, deps?: LiveMetadataDeps): Promise<SessionMeta[]>;
906
+ /**
907
+ * Resolve an id-shaped selector against the local live-session registry
908
+ * (RUSH-2682). Reads the daemon-warmed active snapshot first (cheap); if that
909
+ * snapshot predates a just-started session and misses, it forces ONE fresh
910
+ * gather before conceding, so a session started seconds ago resolves
911
+ * synchronously. Never throws — a degraded registry read yields no candidates,
912
+ * so the caller falls through to the ordinary not-found path.
913
+ */
914
+ export declare function liveMetadataMatches(selector: string, scope: {
915
+ agent?: string;
916
+ project?: string;
917
+ }, self: string, deps?: LiveMetadataDeps): Promise<SessionMeta[]>;
918
+ /** Reusable local-first resolver for `agents run --resume` and `agents sessions resume`.
911
919
  * Full UUIDs hit the local SQLite index without any SSH fan-out. */
912
920
  export declare function resolveSessionMetadataValue(selector: string, scope?: {
913
921
  agent?: string;
914
922
  project?: string;
915
923
  local?: boolean;
916
924
  hosts?: string[];
917
- }, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'>): Promise<MetadataResolveOutcome>;
925
+ }, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'> & LiveMetadataDeps): Promise<MetadataResolveOutcome>;
918
926
  /** Resolve one selector to indexed metadata across the fleet without reading or
919
927
  * rendering transcript events. A peer answering the parent sweep returns every
920
928
  * local candidate; the parent performs the one logical-session uniqueness gate.
@@ -926,7 +934,7 @@ export declare function resolveSessionMetadata(selector: string, scope: {
926
934
  project?: string;
927
935
  local?: boolean;
928
936
  hosts?: string[];
929
- }, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'>): Promise<void>;
937
+ }, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'> & LiveMetadataDeps): Promise<void>;
930
938
  /**
931
939
  * Locate a full session id or short id prefix across the online fleet and render it from the machine
932
940
  * that holds it. The local disk already missed; this fans `sessions <id> --json
@@ -934,7 +942,7 @@ export declare function resolveSessionMetadata(selector: string, scope: {
934
942
  * groups the rows to distinct machines, then:
935
943
  *
936
944
  * - exactly one logical session → delegate rendering to one peer via `runOnPeer`
937
- * (its transcript and agent binary live there — a local `--host` hop would
945
+ * (its transcript and agent binary live there — a local `--device` hop would
938
946
  * re-discover locally and dead-end), returning `'rendered'`.
939
947
  * - more than one logical session → print every full-id candidate with its
940
948
  * machine labels, returning `{ kind: 'conflict' }`.
@@ -961,4 +969,3 @@ export type FleetResolveResult = {
961
969
  export declare function resolveSessionAcrossFleet(query: string, mode: ViewMode, hosts?: string[], deps?: FleetResolveDeps): Promise<FleetResolveResult>;
962
970
  /** Register the `agents sessions` command with all its options and help text. */
963
971
  export declare function registerSessionsCommands(program: Command): void;
964
- export {};