@phnx-labs/agents-cli 1.22.35 → 1.22.38

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 (500) hide show
  1. package/CHANGELOG.md +708 -2
  2. package/README.md +83 -43
  3. package/dist/bin/agents +0 -0
  4. package/dist/bootstrap.d.ts +15 -0
  5. package/dist/bootstrap.js +1212 -0
  6. package/dist/commands/accounts.d.ts +4 -11
  7. package/dist/commands/accounts.js +159 -27
  8. package/dist/commands/artifacts-setup.d.ts +53 -0
  9. package/dist/commands/artifacts-setup.js +161 -0
  10. package/dist/commands/artifacts.d.ts +18 -0
  11. package/dist/commands/artifacts.js +58 -0
  12. package/dist/commands/attach.js +17 -4
  13. package/dist/commands/audit.d.ts +8 -8
  14. package/dist/commands/audit.js +57 -47
  15. package/dist/commands/browser.js +17 -11
  16. package/dist/commands/cloud.js +1 -1
  17. package/dist/commands/commands.js +0 -11
  18. package/dist/commands/computer-actions.js +33 -0
  19. package/dist/commands/computer-sessions-picker.d.ts +21 -0
  20. package/dist/commands/computer-sessions-picker.js +141 -0
  21. package/dist/commands/computer.d.ts +16 -0
  22. package/dist/commands/computer.js +37 -0
  23. package/dist/commands/config.d.ts +17 -0
  24. package/dist/commands/config.js +401 -0
  25. package/dist/commands/cp.d.ts +84 -0
  26. package/dist/commands/cp.js +231 -0
  27. package/dist/commands/daemon.js +243 -14
  28. package/dist/commands/detach-core.d.ts +1 -1
  29. package/dist/commands/detach-core.js +12 -2
  30. package/dist/commands/detach.js +1 -1
  31. package/dist/commands/doctor.js +64 -5
  32. package/dist/commands/events.d.ts +24 -12
  33. package/dist/commands/events.js +144 -28
  34. package/dist/commands/exec.js +86 -42
  35. package/dist/commands/feed.d.ts +1 -1
  36. package/dist/commands/feed.js +16 -8
  37. package/dist/commands/focus.d.ts +33 -1
  38. package/dist/commands/focus.js +177 -17
  39. package/dist/commands/funnel.d.ts +1 -1
  40. package/dist/commands/go.js +9 -8
  41. package/dist/commands/harness-wizard.d.ts +1 -0
  42. package/dist/commands/harness-wizard.js +18 -20
  43. package/dist/commands/harness.d.ts +2 -0
  44. package/dist/commands/harness.js +59 -26
  45. package/dist/commands/hooks.js +0 -11
  46. package/dist/commands/inspect.d.ts +94 -1
  47. package/dist/commands/inspect.js +866 -40
  48. package/dist/commands/lease.d.ts +4 -4
  49. package/dist/commands/lease.js +6 -6
  50. package/dist/commands/login.js +0 -13
  51. package/dist/commands/logs.d.ts +2 -2
  52. package/dist/commands/logs.js +2 -2
  53. package/dist/commands/mcp.js +7 -2
  54. package/dist/commands/memory.js +7 -2
  55. package/dist/commands/message.d.ts +1 -1
  56. package/dist/commands/message.js +37 -6
  57. package/dist/commands/models.js +71 -0
  58. package/dist/commands/monitors.d.ts +0 -1
  59. package/dist/commands/monitors.js +199 -16
  60. package/dist/commands/open.d.ts +18 -0
  61. package/dist/commands/open.js +57 -0
  62. package/dist/commands/packages.js +2 -107
  63. package/dist/commands/plugins.js +6 -3
  64. package/dist/commands/profiles.d.ts +1 -0
  65. package/dist/commands/profiles.js +16 -160
  66. package/dist/commands/projects.d.ts +28 -0
  67. package/dist/commands/projects.js +125 -5
  68. package/dist/commands/reconnect.js +9 -3
  69. package/dist/commands/repo.js +42 -1
  70. package/dist/commands/resource-view.d.ts +17 -0
  71. package/dist/commands/resource-view.js +36 -14
  72. package/dist/commands/resume.js +9 -2
  73. package/dist/commands/routines.d.ts +0 -2
  74. package/dist/commands/routines.js +473 -289
  75. package/dist/commands/secrets.js +52 -9
  76. package/dist/commands/sessions-export.d.ts +47 -0
  77. package/dist/commands/sessions-export.js +116 -6
  78. package/dist/commands/sessions-import.d.ts +17 -0
  79. package/dist/commands/sessions-import.js +114 -6
  80. package/dist/commands/sessions-migrate.d.ts +27 -0
  81. package/dist/commands/sessions-migrate.js +50 -9
  82. package/dist/commands/sessions-picker.js +23 -4
  83. package/dist/commands/sessions-resume.d.ts +5 -3
  84. package/dist/commands/sessions-resume.js +30 -8
  85. package/dist/commands/sessions-watch.d.ts +2 -0
  86. package/dist/commands/sessions-watch.js +53 -0
  87. package/dist/commands/sessions.d.ts +66 -3
  88. package/dist/commands/sessions.js +298 -47
  89. package/dist/commands/setup-browser.js +2 -2
  90. package/dist/commands/setup-mine.js +0 -1
  91. package/dist/commands/setup-preferences.js +1 -1
  92. package/dist/commands/setup.d.ts +5 -0
  93. package/dist/commands/setup.js +31 -5
  94. package/dist/commands/share.d.ts +87 -7
  95. package/dist/commands/share.js +320 -58
  96. package/dist/commands/skills.js +0 -11
  97. package/dist/commands/snapshot.js +1 -1
  98. package/dist/commands/ssh.d.ts +18 -0
  99. package/dist/commands/ssh.js +549 -210
  100. package/dist/commands/sync.d.ts +5 -0
  101. package/dist/commands/sync.js +212 -32
  102. package/dist/commands/teams.d.ts +13 -0
  103. package/dist/commands/teams.js +187 -30
  104. package/dist/commands/tickets.d.ts +2 -0
  105. package/dist/commands/tickets.js +43 -0
  106. package/dist/commands/update.js +2 -4
  107. package/dist/commands/usage.js +5 -3
  108. package/dist/commands/versions.js +11 -5
  109. package/dist/commands/view.js +15 -7
  110. package/dist/commands/webhook.d.ts +2 -2
  111. package/dist/commands/webhook.js +7 -7
  112. package/dist/index.d.ts +18 -2
  113. package/dist/index.js +53 -1264
  114. package/dist/lib/account-catalog.d.ts +18 -0
  115. package/dist/lib/account-catalog.js +38 -0
  116. package/dist/lib/account-provider-registry.d.ts +18 -0
  117. package/dist/lib/account-provider-registry.js +59 -0
  118. package/dist/lib/account-registry.d.ts +40 -0
  119. package/dist/lib/account-registry.js +239 -0
  120. package/dist/lib/account-schema.d.ts +44 -0
  121. package/dist/lib/account-schema.js +91 -0
  122. package/dist/lib/account-state-service.d.ts +21 -0
  123. package/dist/lib/account-state-service.js +60 -0
  124. package/dist/lib/activity.d.ts +1 -1
  125. package/dist/lib/activity.js +8 -1
  126. package/dist/lib/add-dir.d.ts +80 -0
  127. package/dist/lib/add-dir.js +241 -0
  128. package/dist/lib/agent-cli-commands.d.ts +11 -0
  129. package/dist/lib/agent-cli-commands.js +30 -0
  130. package/dist/lib/agents.js +44 -36
  131. package/dist/lib/answer-router.js +1 -1
  132. package/dist/lib/audit/log.d.ts +10 -27
  133. package/dist/lib/audit/log.js +20 -33
  134. package/dist/lib/auth-health.d.ts +9 -2
  135. package/dist/lib/auth-health.js +42 -9
  136. package/dist/lib/auto-pull-worker.js +7 -3
  137. package/dist/lib/auto-pull.d.ts +44 -3
  138. package/dist/lib/auto-pull.js +88 -5
  139. package/dist/lib/binary-shadow.d.ts +28 -0
  140. package/dist/lib/binary-shadow.js +121 -0
  141. package/dist/lib/brand.js +9 -3
  142. package/dist/lib/browser/hygiene.d.ts +90 -0
  143. package/dist/lib/browser/hygiene.js +146 -0
  144. package/dist/lib/browser/ipc.d.ts +30 -0
  145. package/dist/lib/browser/ipc.js +93 -4
  146. package/dist/lib/browser/profiles.d.ts +3 -2
  147. package/dist/lib/browser/profiles.js +65 -22
  148. package/dist/lib/browser/service.d.ts +79 -1
  149. package/dist/lib/browser/service.js +231 -14
  150. package/dist/lib/browser/sessions-list.d.ts +22 -2
  151. package/dist/lib/browser/sessions-list.js +54 -6
  152. package/dist/lib/browser/stream.d.ts +2 -0
  153. package/dist/lib/browser/stream.js +1 -0
  154. package/dist/lib/browser/types.d.ts +63 -1
  155. package/dist/lib/byok-usage.d.ts +9 -2
  156. package/dist/lib/byok-usage.js +133 -31
  157. package/dist/lib/cli-entry.d.ts +11 -0
  158. package/dist/lib/cli-entry.js +46 -0
  159. package/dist/lib/cloud/host.d.ts +1 -1
  160. package/dist/lib/cloud/host.js +2 -2
  161. package/dist/lib/cloud/registry.js +1 -1
  162. package/dist/lib/cloud/types.d.ts +1 -1
  163. package/dist/lib/commands.d.ts +2 -0
  164. package/dist/lib/commands.js +2 -0
  165. package/dist/lib/computer/sessions-list.d.ts +150 -0
  166. package/dist/lib/computer/sessions-list.js +363 -0
  167. package/dist/lib/config-keys.d.ts +86 -0
  168. package/dist/lib/config-keys.js +193 -0
  169. package/dist/lib/config-machine-keys.d.ts +12 -0
  170. package/dist/lib/config-machine-keys.js +17 -0
  171. package/dist/lib/config-transfer.js +3 -4
  172. package/dist/lib/crabbox/cli.d.ts +2 -2
  173. package/dist/lib/crabbox/cli.js +3 -3
  174. package/dist/lib/daemon-health.d.ts +22 -0
  175. package/dist/lib/daemon-health.js +33 -3
  176. package/dist/lib/daemon-services.d.ts +50 -0
  177. package/dist/lib/daemon-services.js +147 -0
  178. package/dist/lib/daemon-ticks.d.ts +35 -66
  179. package/dist/lib/daemon-ticks.js +77 -159
  180. package/dist/lib/daemon.d.ts +72 -4
  181. package/dist/lib/daemon.js +792 -202
  182. package/dist/lib/deeplink/register.d.ts +49 -0
  183. package/dist/lib/deeplink/register.js +253 -0
  184. package/dist/lib/deeplink/url.d.ts +34 -0
  185. package/dist/lib/deeplink/url.js +78 -0
  186. package/dist/lib/device-config.d.ts +124 -29
  187. package/dist/lib/device-config.js +346 -141
  188. package/dist/lib/devices/config-migration.d.ts +42 -0
  189. package/dist/lib/devices/config-migration.js +203 -0
  190. package/dist/lib/devices/connect.js +14 -7
  191. package/dist/lib/devices/doctor-findings.d.ts +4 -1
  192. package/dist/lib/devices/doctor-findings.js +20 -1
  193. package/dist/lib/devices/harness-inventory.d.ts +11 -2
  194. package/dist/lib/devices/harness-inventory.js +0 -0
  195. package/dist/lib/devices/health.d.ts +1 -1
  196. package/dist/lib/devices/health.js +1 -1
  197. package/dist/lib/devices/pending.d.ts +22 -1
  198. package/dist/lib/devices/pending.js +67 -2
  199. package/dist/lib/devices/registry.d.ts +0 -25
  200. package/dist/lib/devices/registry.js +2 -83
  201. package/dist/lib/devices/resolve-profile.d.ts +20 -0
  202. package/dist/lib/devices/resolve-profile.js +44 -0
  203. package/dist/lib/devices/rollout-verify.d.ts +101 -0
  204. package/dist/lib/devices/rollout-verify.js +193 -0
  205. package/dist/lib/devices/ssh-config.js +10 -6
  206. package/dist/lib/event-families.d.ts +28 -0
  207. package/dist/lib/event-families.js +159 -0
  208. package/dist/lib/event-stream.d.ts +9 -1
  209. package/dist/lib/event-stream.js +26 -9
  210. package/dist/lib/events.d.ts +9 -1
  211. package/dist/lib/events.js +21 -6
  212. package/dist/lib/exec.d.ts +30 -0
  213. package/dist/lib/exec.js +219 -121
  214. package/dist/lib/feed-broadcast.d.ts +25 -0
  215. package/dist/lib/feed-broadcast.js +33 -0
  216. package/dist/lib/feed.d.ts +1 -1
  217. package/dist/lib/feed.js +12 -2
  218. package/dist/lib/fleet/capture.js +15 -0
  219. package/dist/lib/fleet/manifest.js +9 -0
  220. package/dist/lib/fleet/types.d.ts +9 -0
  221. package/dist/lib/fleet-status.js +10 -8
  222. package/dist/lib/git.d.ts +21 -7
  223. package/dist/lib/git.js +122 -18
  224. package/dist/lib/hosts/dispatch.d.ts +8 -3
  225. package/dist/lib/hosts/dispatch.js +29 -3
  226. package/dist/lib/hosts/logs.d.ts +2 -2
  227. package/dist/lib/hosts/logs.js +2 -2
  228. package/dist/lib/hosts/option.js +1 -1
  229. package/dist/lib/hosts/passthrough.d.ts +2 -3
  230. package/dist/lib/hosts/passthrough.js +10 -24
  231. package/dist/lib/hosts/progress.js +2 -2
  232. package/dist/lib/hosts/providers/devices.d.ts +3 -3
  233. package/dist/lib/hosts/providers/devices.js +18 -12
  234. package/dist/lib/hosts/ready.d.ts +5 -1
  235. package/dist/lib/hosts/ready.js +9 -3
  236. package/dist/lib/hosts/reconcile.d.ts +2 -2
  237. package/dist/lib/hosts/reconcile.js +2 -2
  238. package/dist/lib/hosts/registry.js +14 -9
  239. package/dist/lib/hosts/remote-cmd.js +1 -1
  240. package/dist/lib/hosts/remote-os.d.ts +9 -6
  241. package/dist/lib/hosts/remote-os.js +13 -6
  242. package/dist/lib/hosts/routing-flag.d.ts +23 -0
  243. package/dist/lib/hosts/routing-flag.js +41 -0
  244. package/dist/lib/hosts/run-target.js +1 -1
  245. package/dist/lib/hosts/session-index.js +1 -1
  246. package/dist/lib/hosts/tasks.d.ts +6 -6
  247. package/dist/lib/hosts/tasks.js +4 -4
  248. package/dist/lib/hosts/types.js +1 -2
  249. package/dist/lib/installations/resolve.js +2 -8
  250. package/dist/lib/isolation-boundary-report.js +0 -1
  251. package/dist/lib/linear-cache.d.ts +7 -0
  252. package/dist/lib/linear-cache.js +31 -4
  253. package/dist/lib/linear-project-counts.d.ts +1 -1
  254. package/dist/lib/linear-project-counts.js +2 -3
  255. package/dist/lib/linear-projects.js +1 -1
  256. package/dist/lib/loop.d.ts +2 -2
  257. package/dist/lib/loop.js +1 -1
  258. package/dist/lib/mailbox-target.d.ts +1 -1
  259. package/dist/lib/mailbox-target.js +1 -1
  260. package/dist/lib/manifest.js +7 -4
  261. package/dist/lib/menubar/MenubarHelper.app/Contents/CodeResources +0 -0
  262. package/dist/lib/menubar/MenubarHelper.app/Contents/MacOS/MenubarHelper +0 -0
  263. package/dist/lib/menubar/snapshot.d.ts +3 -2
  264. package/dist/lib/menubar/snapshot.js +6 -2
  265. package/dist/lib/migrate-fold.d.ts +33 -0
  266. package/dist/lib/migrate-fold.js +130 -0
  267. package/dist/lib/migrate.d.ts +34 -34
  268. package/dist/lib/migrate.js +106 -128
  269. package/dist/lib/model-tier-overrides.d.ts +1 -1
  270. package/dist/lib/model-tier-overrides.js +15 -2
  271. package/dist/lib/monitors/config.d.ts +17 -3
  272. package/dist/lib/monitors/config.js +52 -18
  273. package/dist/lib/monitors/engine.d.ts +32 -1
  274. package/dist/lib/monitors/engine.js +94 -11
  275. package/dist/lib/monitors/fingerprint.d.ts +46 -0
  276. package/dist/lib/monitors/fingerprint.js +100 -0
  277. package/dist/lib/monitors/remote.d.ts +47 -0
  278. package/dist/lib/monitors/remote.js +81 -0
  279. package/dist/lib/monitors/state.d.ts +39 -0
  280. package/dist/lib/monitors/state.js +56 -0
  281. package/dist/lib/onepassword.d.ts +17 -0
  282. package/dist/lib/onepassword.js +52 -22
  283. package/dist/lib/open-url.js +1 -1
  284. package/dist/lib/picker.d.ts +14 -2
  285. package/dist/lib/picker.js +35 -13
  286. package/dist/lib/placement.d.ts +1 -1
  287. package/dist/lib/placement.js +1 -1
  288. package/dist/lib/pr-land-detach.d.ts +32 -0
  289. package/dist/lib/pr-land-detach.js +79 -0
  290. package/dist/lib/profiles-presets.js +13 -0
  291. package/dist/lib/profiles.d.ts +2 -0
  292. package/dist/lib/profiles.js +44 -1
  293. package/dist/lib/project-focus.d.ts +1 -1
  294. package/dist/lib/project-focus.js +1 -1
  295. package/dist/lib/project-probe.d.ts +4 -1
  296. package/dist/lib/project-probe.js +5 -4
  297. package/dist/lib/project-resources.js +2 -18
  298. package/dist/lib/project-root.d.ts +16 -0
  299. package/dist/lib/project-root.js +20 -2
  300. package/dist/lib/projects.d.ts +20 -1
  301. package/dist/lib/projects.js +78 -1
  302. package/dist/lib/refresh-coordinator.d.ts +24 -0
  303. package/dist/lib/refresh-coordinator.js +52 -0
  304. package/dist/lib/registry.d.ts +2 -2
  305. package/dist/lib/registry.js +1 -1
  306. package/dist/lib/resource-aliases.d.ts +13 -0
  307. package/dist/lib/resource-aliases.js +26 -0
  308. package/dist/lib/resources/types.d.ts +1 -1
  309. package/dist/lib/resources.d.ts +16 -0
  310. package/dist/lib/resources.js +66 -10
  311. package/dist/lib/rotate.d.ts +3 -4
  312. package/dist/lib/rotate.js +4 -5
  313. package/dist/lib/routine-activation.d.ts +22 -2
  314. package/dist/lib/routine-activation.js +63 -16
  315. package/dist/lib/routine-context.d.ts +9 -2
  316. package/dist/lib/routine-context.js +21 -6
  317. package/dist/lib/routines-project.d.ts +58 -48
  318. package/dist/lib/routines-project.js +190 -159
  319. package/dist/lib/routines.d.ts +44 -7
  320. package/dist/lib/routines.js +92 -34
  321. package/dist/lib/run-defaults.d.ts +5 -0
  322. package/dist/lib/run-defaults.js +11 -1
  323. package/dist/lib/runner.d.ts +10 -8
  324. package/dist/lib/runner.js +122 -39
  325. package/dist/lib/secrets/Agents CLI.app/Contents/CodeResources +0 -0
  326. package/dist/lib/secrets/Agents CLI.app/Contents/MacOS/Agents CLI +0 -0
  327. package/dist/lib/secrets/agent.d.ts +10 -3
  328. package/dist/lib/secrets/agent.js +43 -8
  329. package/dist/lib/secrets/bundles.d.ts +1 -0
  330. package/dist/lib/secrets/bundles.js +92 -80
  331. package/dist/lib/secrets/index.js +32 -9
  332. package/dist/lib/secrets/install-helper.d.ts +4 -4
  333. package/dist/lib/secrets/install-helper.js +4 -4
  334. package/dist/lib/secrets/push.d.ts +40 -6
  335. package/dist/lib/secrets/push.js +58 -11
  336. package/dist/lib/secrets/read-backoff.d.ts +1 -1
  337. package/dist/lib/secrets/read-backoff.js +1 -1
  338. package/dist/lib/secrets/remote.d.ts +24 -0
  339. package/dist/lib/secrets/remote.js +54 -4
  340. package/dist/lib/self-update.d.ts +108 -0
  341. package/dist/lib/self-update.js +276 -1
  342. package/dist/lib/session/active.d.ts +89 -5
  343. package/dist/lib/session/active.js +165 -10
  344. package/dist/lib/session/actor-sidecar.d.ts +1 -1
  345. package/dist/lib/session/actor-sidecar.js +2 -1
  346. package/dist/lib/session/db.d.ts +176 -2
  347. package/dist/lib/session/db.js +484 -17
  348. package/dist/lib/session/discover.js +27 -4
  349. package/dist/lib/session/hook-sessions.js +2 -2
  350. package/dist/lib/session/host-link.d.ts +2 -2
  351. package/dist/lib/session/host-link.js +2 -2
  352. package/dist/lib/session/pid-registry.d.ts +21 -0
  353. package/dist/lib/session/pid-registry.js +57 -0
  354. package/dist/lib/session/remote-active.js +15 -1
  355. package/dist/lib/session/remote.js +2 -2
  356. package/dist/lib/session/session-cache.d.ts +14 -7
  357. package/dist/lib/session/session-cache.js +51 -9
  358. package/dist/lib/session/state.d.ts +2 -2
  359. package/dist/lib/session/state.js +1 -1
  360. package/dist/lib/session/sync/config.d.ts +10 -10
  361. package/dist/lib/session/sync/config.js +10 -10
  362. package/dist/lib/session/sync/r2.d.ts +34 -0
  363. package/dist/lib/session/sync/r2.js +123 -0
  364. package/dist/lib/session/throughput.d.ts +1 -1
  365. package/dist/lib/session/throughput.js +1 -1
  366. package/dist/lib/session/types.d.ts +23 -1
  367. package/dist/lib/session/types.js +15 -0
  368. package/dist/lib/session/viewing-in.d.ts +1 -1
  369. package/dist/lib/session/viewing-in.js +1 -1
  370. package/dist/lib/session/watch.d.ts +101 -0
  371. package/dist/lib/session/watch.js +242 -0
  372. package/dist/lib/share/analytics.js +1 -1
  373. package/dist/lib/share/capture.d.ts +1 -1
  374. package/dist/lib/share/capture.js +3 -3
  375. package/dist/lib/share/config.d.ts +6 -2
  376. package/dist/lib/share/config.js +6 -5
  377. package/dist/lib/share/delete.js +3 -3
  378. package/dist/lib/share/provision.d.ts +38 -0
  379. package/dist/lib/share/provision.js +51 -1
  380. package/dist/lib/share/publish.d.ts +40 -1
  381. package/dist/lib/share/publish.js +119 -6
  382. package/dist/lib/share/worker-template.d.ts +12 -1
  383. package/dist/lib/share/worker-template.js +83 -7
  384. package/dist/lib/shims.d.ts +17 -3
  385. package/dist/lib/shims.js +98 -26
  386. package/dist/lib/signin-badge.js +3 -2
  387. package/dist/lib/skills.js +2 -0
  388. package/dist/lib/smart-launch.d.ts +8 -8
  389. package/dist/lib/smart-launch.js +80 -59
  390. package/dist/lib/ssh-exec.d.ts +1 -1
  391. package/dist/lib/ssh-exec.js +1 -1
  392. package/dist/lib/staleness/prune.d.ts +88 -0
  393. package/dist/lib/staleness/prune.js +69 -0
  394. package/dist/lib/staleness/registry.d.ts +1 -1
  395. package/dist/lib/staleness/writers/commands.js +34 -2
  396. package/dist/lib/staleness/writers/hooks.js +16 -0
  397. package/dist/lib/staleness/writers/kinds.d.ts +6 -0
  398. package/dist/lib/staleness/writers/skills.js +19 -0
  399. package/dist/lib/staleness/writers/subagents.d.ts +2 -3
  400. package/dist/lib/staleness/writers/subagents.js +0 -4
  401. package/dist/lib/staleness/writers/types.d.ts +32 -0
  402. package/dist/lib/startup/command-registry.d.ts +16 -14
  403. package/dist/lib/startup/command-registry.js +26 -37
  404. package/dist/lib/startup/dev-build.d.ts +10 -0
  405. package/dist/lib/startup/dev-build.js +13 -1
  406. package/dist/lib/startup/spellcheck.d.ts +18 -0
  407. package/dist/lib/startup/spellcheck.js +45 -0
  408. package/dist/lib/state.d.ts +36 -9
  409. package/dist/lib/state.js +96 -46
  410. package/dist/lib/subagents-registry.d.ts +0 -7
  411. package/dist/lib/subagents-registry.js +38 -65
  412. package/dist/lib/subagents.d.ts +0 -33
  413. package/dist/lib/subagents.js +0 -75
  414. package/dist/lib/sync-umbrella.js +1 -1
  415. package/dist/lib/teams/agents.d.ts +41 -1
  416. package/dist/lib/teams/agents.js +187 -9
  417. package/dist/lib/teams/api.d.ts +11 -1
  418. package/dist/lib/teams/api.js +11 -2
  419. package/dist/lib/teams/delivery.d.ts +41 -0
  420. package/dist/lib/teams/delivery.js +60 -0
  421. package/dist/lib/teams/registry.d.ts +14 -0
  422. package/dist/lib/teams/registry.js +51 -1
  423. package/dist/lib/teams/remoteWorktree.d.ts +19 -0
  424. package/dist/lib/teams/remoteWorktree.js +29 -0
  425. package/dist/lib/teams/scheduler.d.ts +1 -1
  426. package/dist/lib/teams/scheduler.js +1 -1
  427. package/dist/lib/teams/worktree.d.ts +24 -0
  428. package/dist/lib/teams/worktree.js +42 -0
  429. package/dist/lib/terminal/backends/vscodium-agent.d.ts +10 -1
  430. package/dist/lib/terminal/backends/vscodium-agent.js +16 -5
  431. package/dist/lib/terminal/engine.d.ts +4 -0
  432. package/dist/lib/terminal/engine.js +8 -2
  433. package/dist/lib/terminal/types.d.ts +21 -2
  434. package/dist/lib/testdata/refresh-coordinator-worker.d.ts +1 -0
  435. package/dist/lib/testdata/refresh-coordinator-worker.js +23 -0
  436. package/dist/lib/tickets/list.d.ts +53 -0
  437. package/dist/lib/tickets/list.js +153 -0
  438. package/dist/lib/tmux/orphan-reap.d.ts +316 -0
  439. package/dist/lib/tmux/orphan-reap.js +638 -0
  440. package/dist/lib/tmux/session.d.ts +68 -3
  441. package/dist/lib/tmux/session.js +96 -5
  442. package/dist/lib/triggers/handlers.d.ts +20 -0
  443. package/dist/lib/triggers/handlers.js +16 -1
  444. package/dist/lib/triggers/webhook.js +10 -0
  445. package/dist/lib/types.d.ts +47 -35
  446. package/dist/lib/usage-fleet.d.ts +32 -0
  447. package/dist/lib/usage-fleet.js +125 -0
  448. package/dist/lib/usage-refresh.d.ts +3 -3
  449. package/dist/lib/usage-refresh.js +19 -16
  450. package/dist/lib/usage.d.ts +51 -47
  451. package/dist/lib/usage.js +145 -153
  452. package/dist/lib/version-duplicates.js +2 -2
  453. package/dist/lib/versions.d.ts +56 -13
  454. package/dist/lib/versions.js +195 -45
  455. package/dist/lib/watchdog/log.d.ts +1 -1
  456. package/dist/lib/watchdog/log.js +3 -3
  457. package/dist/lib/watchdog/rotate.d.ts +6 -6
  458. package/dist/lib/watchdog/rotate.js +6 -6
  459. package/dist/lib/workflows.d.ts +1 -1
  460. package/dist/lib/yaml-io.d.ts +47 -0
  461. package/dist/lib/yaml-io.js +55 -0
  462. package/package.json +2 -1
  463. package/scripts/install-helper.js +2 -2
  464. package/scripts/postinstall.js +23 -20
  465. package/dist/commands/defaults.d.ts +0 -7
  466. package/dist/commands/defaults.js +0 -107
  467. package/dist/commands/export.d.ts +0 -11
  468. package/dist/commands/export.js +0 -215
  469. package/dist/commands/helper.d.ts +0 -12
  470. package/dist/commands/helper.js +0 -87
  471. package/dist/commands/hosts.d.ts +0 -11
  472. package/dist/commands/hosts.js +0 -330
  473. package/dist/commands/lock.d.ts +0 -12
  474. package/dist/commands/lock.js +0 -70
  475. package/dist/commands/pull.d.ts +0 -17
  476. package/dist/commands/pull.js +0 -39
  477. package/dist/commands/push.d.ts +0 -14
  478. package/dist/commands/push.js +0 -30
  479. package/dist/commands/set.d.ts +0 -15
  480. package/dist/commands/set.js +0 -79
  481. package/dist/commands/setup-share.d.ts +0 -17
  482. package/dist/commands/setup-share.js +0 -85
  483. package/dist/commands/wallet.d.ts +0 -20
  484. package/dist/commands/wallet.js +0 -216
  485. package/dist/commands/worktree.d.ts +0 -19
  486. package/dist/commands/worktree.js +0 -272
  487. package/dist/lib/account-labels.d.ts +0 -24
  488. package/dist/lib/account-labels.js +0 -72
  489. package/dist/lib/auto-dispatch-linear.d.ts +0 -18
  490. package/dist/lib/auto-dispatch-linear.js +0 -107
  491. package/dist/lib/auto-dispatch-provider.d.ts +0 -10
  492. package/dist/lib/auto-dispatch-provider.js +0 -30
  493. package/dist/lib/auto-dispatch.d.ts +0 -93
  494. package/dist/lib/auto-dispatch.js +0 -128
  495. package/dist/lib/export.d.ts +0 -72
  496. package/dist/lib/export.js +0 -269
  497. package/dist/lib/lock.d.ts +0 -93
  498. package/dist/lib/lock.js +0 -207
  499. package/dist/lib/wallet/index.d.ts +0 -78
  500. package/dist/lib/wallet/index.js +0 -253
@@ -48,7 +48,7 @@ export function resolveMessageTarget(target, sessions, isCloudTask) {
48
48
  * local/cloud session (RUSH-2366 follow-up): `getActiveSessions()` has no
49
49
  * visibility into a detached `agents run --device <host> --no-follow`
50
50
  * dispatch, whose only local record is the `~/.agents/.cache/hosts/<id>.json`
51
- * sidecar `agents hosts ps` reads. Pure — the caller does the actual lookup
51
+ * sidecar `agents devices ps` reads. Pure — the caller does the actual lookup
52
52
  * (`resolveTaskRef`) and I/O (the ssh reroute).
53
53
  *
54
54
  * `remoteRef` prefers the remote agent's OWN identity (its captured session id
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import * as fs from 'fs';
8
8
  import * as yaml from 'yaml';
9
+ import { stringifyDoc } from './yaml-io.js';
9
10
  import { ensureLockTarget, atomicWriteFileSync, withFileLock } from './fs-atomic.js';
10
11
  import { safeJoin } from './paths.js';
11
12
  /** Canonical filename for the manifest in any agents repo or project root. */
@@ -54,10 +55,12 @@ export function serializeManifest(manifest, existingContent) {
54
55
  // Nothing changed → keep the file byte-identical (comments intact).
55
56
  if (!changed)
56
57
  return existingContent;
57
- // Force BLOCK style: an existing flow root (e.g. legacy `{}`) would otherwise
58
- // make edited nodes render flow. collectionStyle pins the whole doc block
59
- // while parseDocument still preserves comments + key ordering.
60
- return isEmpty ? '' : doc.toString({ collectionStyle: 'block' });
58
+ // stringifyDoc still normalizes a legacy flow root (`{}`) to block so edited
59
+ // nodes do not render flow, but no longer forces block on a normal document —
60
+ // that flattened committed flow sequences and made this writer disagree with
61
+ // the other agents.yaml writers (RUSH-2505). parseDocument still preserves
62
+ // comments + key ordering.
63
+ return isEmpty ? '' : stringifyDoc(doc);
61
64
  }
62
65
  /** Read and parse agents.yaml from a directory. Returns null if the file does not exist. */
63
66
  export function readManifest(repoPath) {
@@ -2,8 +2,8 @@ import type { WatchdogTickResult } from '../watchdog/runner.js';
2
2
  /**
3
3
  * One registered fleet device, for the menu-bar's collapsible DEVICES section.
4
4
  * Sourced from the local registry read (`loadDevices`) — no network probe — so
5
- * it carries only what the registry knows for sure (name, platform, whether it
6
- * is the interactive host, whether it is this machine). Live load% is merged in
5
+ * it carries only local persisted state (name, platform, preferred status,
6
+ * whether it is the interactive host, whether it is this machine). Live load% is merged in
7
7
  * on the Swift side from the daemon-warmed `.fleet-stats.json`; online/offline
8
8
  * is deliberately NOT claimed here (the registry's cached tailscale flag is
9
9
  * documented as stale in both directions — registry.ts isLikelyOnline).
@@ -13,6 +13,7 @@ export interface MenubarDevice {
13
13
  platform: string;
14
14
  interactive: boolean;
15
15
  isLocal: boolean;
16
+ preferred: boolean;
16
17
  }
17
18
  export interface MenubarSnapshot {
18
19
  version: 1;
@@ -2,7 +2,7 @@ import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { buildRoutineListJson } from '../../commands/routines.js';
4
4
  import { backfillActiveRowsFromIndex, isRunningLiveSession, serializeActiveSessionsForJson, serializeSessionsJson } from '../../commands/sessions.js';
5
- import { getConfigValue } from '../device-config.js';
5
+ import { getConfigValue, loadAutoLaunchPreferences } from '../device-config.js';
6
6
  import { loadDevices } from '../devices/registry.js';
7
7
  import { machineId } from '../machine-id.js';
8
8
  import { querySessions } from '../session/db.js';
@@ -14,7 +14,10 @@ import { getRuntimeStateDir } from '../state.js';
14
14
  * it rides the same 3-minute snapshot poll instead of a second timer.
15
15
  */
16
16
  async function buildMenubarDevices() {
17
- const reg = await loadDevices();
17
+ const [reg, prefs] = await Promise.all([
18
+ loadDevices(),
19
+ loadAutoLaunchPreferences(),
20
+ ]);
18
21
  const interactiveHost = getConfigValue('interactive.host').value;
19
22
  const self = machineId();
20
23
  return Object.keys(reg)
@@ -24,6 +27,7 @@ async function buildMenubarDevices() {
24
27
  platform: reg[name].platform,
25
28
  interactive: name === interactiveHost,
26
29
  isLocal: name === self,
30
+ preferred: prefs[name]?.preferred === true,
27
31
  }));
28
32
  }
29
33
  export function readLastWatchdogTick(stateDir = path.join(getRuntimeStateDir(), 'watchdog')) {
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Leaf migrator: fold ~/.agents-system/ into ~/.agents/.system/.
3
+ *
4
+ * Kept separate from migrate.ts so the always-on startup hop (index.ts) does
5
+ * not load the hosts/routine/teams/daemon/menubar graph that migrate.ts's
6
+ * static imports pull in (RUSH-2454). migrate.ts re-exports and still calls
7
+ * foldLegacySystemRepo() at the top of runMigration().
8
+ *
9
+ * HOME is resolved at call time (not module load) so tests can point at a
10
+ * fixture tree via process.env.HOME without cache-busting the module.
11
+ */
12
+ /**
13
+ * Fold ~/.agents-system/ into ~/.agents/.system/.
14
+ *
15
+ * MUST run first in runMigration() — every other migrator reads SYSTEM_DIR
16
+ * (the new path), so the contents have to be there before they execute.
17
+ *
18
+ * Strategy:
19
+ * 1. If legacy dir doesn't exist or is already a symlink, no-op.
20
+ * 2. If new path doesn't exist yet, rename in one shot (fast path).
21
+ * 3. If both exist (mid-migration / re-run on partially-migrated state),
22
+ * merge legacy → new with new winning on collision, then drop legacy.
23
+ *
24
+ * After the contents move, the legacy path becomes a symlink → SYSTEM_DIR
25
+ * so external tooling that still references ~/.agents-system/ keeps
26
+ * resolving correctly. The symlink is harmless on its own and can be
27
+ * removed with `rm ~/.agents-system` once everything has updated.
28
+ *
29
+ * Idempotent: re-running converges to "contents at SYSTEM_DIR, symlink at
30
+ * LEGACY_SYSTEM_DIR" without duplicating data.
31
+ */
32
+ export declare function foldLegacySystemRepo(): void;
33
+ export declare function copyDirSkipExisting(src: string, dest: string): void;
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Leaf migrator: fold ~/.agents-system/ into ~/.agents/.system/.
3
+ *
4
+ * Kept separate from migrate.ts so the always-on startup hop (index.ts) does
5
+ * not load the hosts/routine/teams/daemon/menubar graph that migrate.ts's
6
+ * static imports pull in (RUSH-2454). migrate.ts re-exports and still calls
7
+ * foldLegacySystemRepo() at the top of runMigration().
8
+ *
9
+ * HOME is resolved at call time (not module load) so tests can point at a
10
+ * fixture tree via process.env.HOME without cache-busting the module.
11
+ */
12
+ import * as fs from 'fs';
13
+ import * as path from 'path';
14
+ import * as os from 'os';
15
+ import { createLink } from './platform/links.js';
16
+ function homeDir() {
17
+ return process.env.HOME ?? os.homedir();
18
+ }
19
+ function userDir() {
20
+ return path.join(homeDir(), '.agents');
21
+ }
22
+ function systemDir() {
23
+ return path.join(userDir(), '.system');
24
+ }
25
+ function legacySystemDir() {
26
+ return path.join(homeDir(), '.agents-system');
27
+ }
28
+ /**
29
+ * Fold ~/.agents-system/ into ~/.agents/.system/.
30
+ *
31
+ * MUST run first in runMigration() — every other migrator reads SYSTEM_DIR
32
+ * (the new path), so the contents have to be there before they execute.
33
+ *
34
+ * Strategy:
35
+ * 1. If legacy dir doesn't exist or is already a symlink, no-op.
36
+ * 2. If new path doesn't exist yet, rename in one shot (fast path).
37
+ * 3. If both exist (mid-migration / re-run on partially-migrated state),
38
+ * merge legacy → new with new winning on collision, then drop legacy.
39
+ *
40
+ * After the contents move, the legacy path becomes a symlink → SYSTEM_DIR
41
+ * so external tooling that still references ~/.agents-system/ keeps
42
+ * resolving correctly. The symlink is harmless on its own and can be
43
+ * removed with `rm ~/.agents-system` once everything has updated.
44
+ *
45
+ * Idempotent: re-running converges to "contents at SYSTEM_DIR, symlink at
46
+ * LEGACY_SYSTEM_DIR" without duplicating data.
47
+ */
48
+ export function foldLegacySystemRepo() {
49
+ const LEGACY_SYSTEM_DIR = legacySystemDir();
50
+ const SYSTEM_DIR = systemDir();
51
+ const USER_DIR = userDir();
52
+ let legacyStat = null;
53
+ try {
54
+ legacyStat = fs.lstatSync(LEGACY_SYSTEM_DIR);
55
+ }
56
+ catch { /* missing */ }
57
+ if (!legacyStat)
58
+ return;
59
+ if (legacyStat.isSymbolicLink())
60
+ return;
61
+ if (!legacyStat.isDirectory())
62
+ return;
63
+ try {
64
+ fs.mkdirSync(USER_DIR, { recursive: true, mode: 0o700 });
65
+ }
66
+ catch { /* best-effort */ }
67
+ if (!fs.existsSync(SYSTEM_DIR)) {
68
+ try {
69
+ fs.renameSync(LEGACY_SYSTEM_DIR, SYSTEM_DIR);
70
+ try {
71
+ createLink(SYSTEM_DIR, LEGACY_SYSTEM_DIR);
72
+ }
73
+ catch { /* best-effort */ }
74
+ console.error('Folded ~/.agents-system/ into ~/.agents/.system/ (left back-compat symlink)');
75
+ return;
76
+ }
77
+ catch {
78
+ // Cross-device rename or perm issue — fall through to copy + remove.
79
+ }
80
+ }
81
+ try {
82
+ copyDirSkipExisting(LEGACY_SYSTEM_DIR, SYSTEM_DIR);
83
+ fs.rmSync(LEGACY_SYSTEM_DIR, { recursive: true, force: true });
84
+ try {
85
+ createLink(SYSTEM_DIR, LEGACY_SYSTEM_DIR);
86
+ }
87
+ catch { /* best-effort */ }
88
+ console.error('Merged ~/.agents-system/ into ~/.agents/.system/ (left back-compat symlink)');
89
+ }
90
+ catch { /* best-effort */ }
91
+ }
92
+ export function copyDirSkipExisting(src, dest) {
93
+ let entries;
94
+ try {
95
+ entries = fs.readdirSync(src, { withFileTypes: true });
96
+ }
97
+ catch {
98
+ return;
99
+ }
100
+ fs.mkdirSync(dest, { recursive: true, mode: 0o700 });
101
+ for (const entry of entries) {
102
+ const s = path.join(src, entry.name);
103
+ const d = path.join(dest, entry.name);
104
+ if (fs.existsSync(d)) {
105
+ if (entry.isDirectory()) {
106
+ const dStat = fs.lstatSync(d);
107
+ if (dStat.isDirectory())
108
+ copyDirSkipExisting(s, d);
109
+ }
110
+ continue;
111
+ }
112
+ try {
113
+ fs.renameSync(s, d);
114
+ }
115
+ catch {
116
+ try {
117
+ if (entry.isDirectory()) {
118
+ copyDirSkipExisting(s, d);
119
+ }
120
+ else if (entry.isSymbolicLink()) {
121
+ fs.symlinkSync(fs.readlinkSync(s), d);
122
+ }
123
+ else {
124
+ fs.copyFileSync(s, d);
125
+ }
126
+ }
127
+ catch { /* best-effort */ }
128
+ }
129
+ }
130
+ }
@@ -4,27 +4,7 @@
4
4
  * Called from postinstall and as a command-time fallback from agents view/use/pull.
5
5
  * Each migration is guarded by an existence check so re-running is safe.
6
6
  */
7
- /**
8
- * Fold ~/.agents-system/ into ~/.agents/.system/.
9
- *
10
- * MUST run first in runMigration() — every other migrator reads SYSTEM_DIR
11
- * (the new path), so the contents have to be there before they execute.
12
- *
13
- * Strategy:
14
- * 1. If legacy dir doesn't exist or is already a symlink, no-op.
15
- * 2. If new path doesn't exist yet, rename in one shot (fast path).
16
- * 3. If both exist (mid-migration / re-run on partially-migrated state),
17
- * merge legacy → new with new winning on collision, then drop legacy.
18
- *
19
- * After the contents move, the legacy path becomes a symlink → SYSTEM_DIR
20
- * so external tooling that still references ~/.agents-system/ keeps
21
- * resolving correctly. The symlink is harmless on its own and can be
22
- * removed with `rm ~/.agents-system` once everything has updated.
23
- *
24
- * Idempotent: re-running converges to "contents at SYSTEM_DIR, symlink at
25
- * LEGACY_SYSTEM_DIR" without duplicating data.
26
- */
27
- export declare function foldLegacySystemRepo(): void;
7
+ export { foldLegacySystemRepo } from './migrate-fold.js';
28
8
  /**
29
9
  * Migrate a legacy single-repo agents.yaml into ~/.agents/agents.yaml.
30
10
  *
@@ -59,7 +39,7 @@ export declare function foldBrowserSessionsIntoProfiles(browserDir?: string): vo
59
39
  /**
60
40
  * Repair self-referential agent binary symlinks.
61
41
  *
62
- * Some installScript-based agents — notably Factory's `droid`, whose installer
42
+ * Some installScript-based agents — notably Factory.ai's `droid`, whose installer
63
43
  * drops a standalone native binary at ~/.local/bin/droid — were registered at
64
44
  * install time by resolving the post-install binary with `which <cli>`. Because
65
45
  * ~/.agents/.cache/shims sits ahead of ~/.local/bin on PATH, `which` could
@@ -145,21 +125,23 @@ export declare function migrateRoutineRemoteCwdToCwd(routinesDir?: string): void
145
125
  */
146
126
  export declare function pauseUnreadyEnabledRoutines(): void;
147
127
  /**
148
- * Fold the legacy watchdog enable sentinel into the watchdog routine.
128
+ * Fold the legacy watchdog enable sentinel into the `watchdog.enabled` config.
149
129
  *
150
130
  * The always-on watchdog used to be gated by a presence sentinel at
151
- * `<runtime-state>/watchdog/enabled`; it is now a daemon routine. A user who had
152
- * run `agents watchdog enable` under the old build has that file on disk — without
153
- * this, upgrading would silently drop them back to OFF (the always-on nudge just
154
- * stops), the worst failure mode for a "survives reboots" feature. If the sentinel
155
- * exists, ensure the `watchdog` routine exists AND is enabled, then delete the
156
- * sentinel so this runs exactly once. If ensuring the routine fails, the sentinel
157
- * is left in place so a later run retries rather than silently losing the opt-in.
158
- *
159
- * Both seams are injectable so the migration is unit-testable without touching the
160
- * real routines dir (and without racing the routine module's own tests).
131
+ * `<runtime-state>/watchdog/enabled`; it is now a daemon-owned timer (RUSH-2495)
132
+ * gated by the `watchdog.enabled` device-config flag the same flag
133
+ * `agents watchdog enable` writes. A user who had run `agents watchdog enable`
134
+ * under the old build has that file on disk; without this, upgrading would
135
+ * silently drop them back to OFF (the nudge just stops), the worst failure mode
136
+ * for a "survives reboots" feature. If the sentinel exists, set
137
+ * `watchdog.enabled: true`, then delete the sentinel so this runs exactly once.
138
+ * If setting it fails, the sentinel is left in place so a later run retries
139
+ * rather than silently losing the opt-in.
140
+ *
141
+ * The setter seam is injectable so the migration is unit-testable without
142
+ * touching the real device config.
161
143
  */
162
- export declare function migrateWatchdogSentinelToRoutine(sentinelPath?: string, enable?: (name: string, enabled: boolean) => void): void;
144
+ export declare function migrateWatchdogSentinelToConfig(sentinelPath?: string, enable?: (value: boolean) => void): void;
163
145
  /**
164
146
  * Rename cli/ → clis/ in each of the given `.agents/` directories.
165
147
  *
@@ -179,5 +161,23 @@ export declare function migrateCliDirToClis(agentsDirs: string[]): void;
179
161
  * (where ~/.cursor is a real dir, not a symlink into a version home).
180
162
  */
181
163
  export declare function seedActiveCursorLoginPerVersion(): void;
164
+ /**
165
+ * Fold the pre-markdown Kimi subagent layout out of every kimi version home.
166
+ *
167
+ * agents-cli used to write each Kimi subagent as a `<name>.yaml` +
168
+ * `<name>.system.md` pair plus a managed `_agents-cli.yaml` index, against the
169
+ * agentspec of `kimi-cli` — a different product from the `kimi-code` harness we
170
+ * install, which never read any of it. Those files are inert, but not harmless:
171
+ * `<name>.system.md` ends in `.md`, so the subagent enumerator would surface it
172
+ * as a phantom subagent named `<name>.system`, and kimi-code logs
173
+ * `Missing frontmatter` for it once per session.
174
+ *
175
+ * This is the ONE place that knows about the old layout — the registry target
176
+ * describes only the current `<name>.md` shape. A pair is identified by its
177
+ * signature (a `<name>.yaml` with a sibling `<name>.system.md`), so a subagent a
178
+ * user legitimately named e.g. `foo.system` is never touched: it has no
179
+ * `foo.yaml` beside it. Idempotent; a no-op once the dirs are clean.
180
+ */
181
+ export declare function migrateKimiSubagentsToMarkdown(versionsDir?: string): void;
182
182
  /** Run all idempotent migrations. Safe to call multiple times. */
183
183
  export declare function runMigration(): Promise<void>;