@phnx-labs/agents-cli 1.22.39 → 1.22.40

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 (554) hide show
  1. package/CHANGELOG.md +294 -0
  2. package/README.md +111 -70
  3. package/dist/bin/agents +0 -0
  4. package/dist/bootstrap.js +45 -26
  5. package/dist/browser.js +2 -2
  6. package/dist/cli/command-registry.d.ts +135 -0
  7. package/dist/cli/command-registry.js +260 -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.js +206 -94
  13. package/dist/commands/budget.d.ts +7 -6
  14. package/dist/commands/budget.js +8 -7
  15. package/dist/commands/cloud.js +17 -20
  16. package/dist/commands/commands.js +1 -1
  17. package/dist/commands/computer-actions.d.ts +1 -35
  18. package/dist/commands/computer-actions.js +13 -181
  19. package/dist/commands/computer.d.ts +28 -3
  20. package/dist/commands/computer.js +93 -65
  21. package/dist/commands/config.js +16 -3
  22. package/dist/commands/cost.d.ts +2 -1
  23. package/dist/commands/cost.js +7 -6
  24. package/dist/commands/daemon.js +151 -4
  25. package/dist/commands/detach.js +1 -1
  26. package/dist/commands/doctor.js +19 -11
  27. package/dist/commands/events.js +1 -1
  28. package/dist/commands/exec.d.ts +2 -50
  29. package/dist/commands/exec.js +160 -215
  30. package/dist/commands/factory.js +1 -1
  31. package/dist/commands/feed.d.ts +2 -2
  32. package/dist/commands/feed.js +9 -12
  33. package/dist/commands/fleet-capture.js +25 -27
  34. package/dist/commands/focus.d.ts +2 -3
  35. package/dist/commands/focus.js +34 -9
  36. package/dist/commands/go.js +15 -5
  37. package/dist/commands/harness.d.ts +3 -3
  38. package/dist/commands/harness.js +53 -5
  39. package/dist/commands/hooks.js +1 -1
  40. package/dist/commands/import.js +2 -2
  41. package/dist/commands/insights.d.ts +5 -5
  42. package/dist/commands/insights.js +15 -9
  43. package/dist/commands/inspect.d.ts +2 -3
  44. package/dist/commands/inspect.js +4 -16
  45. package/dist/commands/logs.d.ts +2 -2
  46. package/dist/commands/logs.js +9 -9
  47. package/dist/commands/mcp.js +2 -2
  48. package/dist/commands/memory.js +1 -1
  49. package/dist/commands/message.d.ts +1 -1
  50. package/dist/commands/message.js +7 -7
  51. package/dist/commands/mine.d.ts +11 -8
  52. package/dist/commands/mine.js +11 -10
  53. package/dist/commands/models.js +1 -1
  54. package/dist/commands/modes.js +1 -1
  55. package/dist/commands/monitors.js +23 -6
  56. package/dist/commands/output.d.ts +7 -6
  57. package/dist/commands/output.js +11 -10
  58. package/dist/commands/packages.js +4 -4
  59. package/dist/commands/perf.js +1 -1
  60. package/dist/commands/permissions.js +49 -32
  61. package/dist/commands/plugins.d.ts +1 -1
  62. package/dist/commands/plugins.js +3 -3
  63. package/dist/commands/profiles.d.ts +6 -9
  64. package/dist/commands/profiles.js +8 -321
  65. package/dist/commands/projects.d.ts +9 -0
  66. package/dist/commands/projects.js +140 -8
  67. package/dist/commands/prune.js +5 -13
  68. package/dist/commands/refresh-rules.js +1 -1
  69. package/dist/commands/repo.d.ts +5 -7
  70. package/dist/commands/repo.js +34 -18
  71. package/dist/commands/resource-view.js +4 -0
  72. package/dist/commands/resume.d.ts +11 -7
  73. package/dist/commands/resume.js +82 -98
  74. package/dist/commands/route.d.ts +12 -0
  75. package/dist/commands/route.js +261 -0
  76. package/dist/commands/routines.d.ts +2 -3
  77. package/dist/commands/routines.js +120 -145
  78. package/dist/commands/rules.js +1 -1
  79. package/dist/commands/run-account-picker.d.ts +1 -1
  80. package/dist/commands/run-account-picker.js +2 -2
  81. package/dist/commands/run-broadcast.d.ts +21 -0
  82. package/dist/commands/run-broadcast.js +89 -0
  83. package/dist/commands/run-cloud.js +1 -1
  84. package/dist/commands/secrets-vault.d.ts +10 -0
  85. package/dist/commands/{login.js → secrets-vault.js} +34 -14
  86. package/dist/commands/secrets.d.ts +4 -4
  87. package/dist/commands/secrets.js +72 -63
  88. package/dist/commands/sessions-backfill.js +1 -1
  89. package/dist/commands/sessions-browser.d.ts +1 -1
  90. package/dist/commands/sessions-browser.js +9 -5
  91. package/dist/commands/sessions-export.js +2 -2
  92. package/dist/commands/sessions-inject.js +4 -5
  93. package/dist/commands/sessions-migrate.js +16 -27
  94. package/dist/commands/sessions-picker.d.ts +13 -0
  95. package/dist/commands/sessions-picker.js +182 -8
  96. package/dist/commands/sessions-resume.d.ts +7 -3
  97. package/dist/commands/sessions-resume.js +81 -33
  98. package/dist/commands/sessions-stats.js +2 -2
  99. package/dist/commands/sessions.d.ts +75 -68
  100. package/dist/commands/sessions.js +142 -180
  101. package/dist/commands/setup-computer.js +1 -1
  102. package/dist/commands/setup-fleet.js +3 -0
  103. package/dist/commands/setup-mine.d.ts +7 -3
  104. package/dist/commands/setup-mine.js +13 -8
  105. package/dist/commands/setup-secrets.js +2 -2
  106. package/dist/commands/setup-watchdog.js +2 -2
  107. package/dist/commands/setup.js +7 -2
  108. package/dist/commands/share.d.ts +65 -0
  109. package/dist/commands/share.js +253 -20
  110. package/dist/commands/skills.js +3 -3
  111. package/dist/commands/snapshot.d.ts +2 -2
  112. package/dist/commands/snapshot.js +9 -9
  113. package/dist/commands/ssh.d.ts +1 -1
  114. package/dist/commands/ssh.js +186 -64
  115. package/dist/commands/subagents.js +1 -1
  116. package/dist/commands/sync.js +24 -9
  117. package/dist/commands/teams.d.ts +2 -2
  118. package/dist/commands/teams.js +9 -18
  119. package/dist/commands/tmux.js +5 -1
  120. package/dist/commands/trash.js +1 -1
  121. package/dist/commands/usage.d.ts +1 -1
  122. package/dist/commands/usage.js +2 -2
  123. package/dist/commands/utils.d.ts +4 -14
  124. package/dist/commands/utils.js +6 -27
  125. package/dist/commands/versions.js +2 -2
  126. package/dist/commands/view.d.ts +9 -77
  127. package/dist/commands/view.js +23 -8
  128. package/dist/commands/watchdog.js +1 -1
  129. package/dist/commands/webhook.js +11 -25
  130. package/dist/commands/workflows.js +1 -1
  131. package/dist/index.js +1 -1
  132. package/dist/lib/account-capabilities.d.ts +39 -0
  133. package/dist/lib/account-capabilities.js +59 -0
  134. package/dist/lib/account-catalog.js +1 -1
  135. package/dist/lib/account-registry.d.ts +66 -0
  136. package/dist/lib/account-registry.js +151 -5
  137. package/dist/lib/{rotate.d.ts → accounting/rotate.d.ts} +4 -4
  138. package/dist/lib/{rotate.js → accounting/rotate.js} +8 -8
  139. package/dist/lib/{usage.d.ts → accounting/usage.d.ts} +4 -4
  140. package/dist/lib/{usage.js → accounting/usage.js} +11 -11
  141. package/dist/lib/agent-spec/provider.js +1 -1
  142. package/dist/lib/agents.d.ts +72 -4
  143. package/dist/lib/agents.js +231 -199
  144. package/dist/lib/answer-router.d.ts +2 -2
  145. package/dist/lib/ask-classifier.d.ts +1 -1
  146. package/dist/lib/ask-classifier.js +1 -1
  147. package/dist/lib/audit/log.js +1 -1
  148. package/dist/lib/auth-health.d.ts +1 -1
  149. package/dist/lib/auth-health.js +2 -2
  150. package/dist/lib/brand.js +1 -1
  151. package/dist/lib/browser/caller-identity.d.ts +28 -0
  152. package/dist/lib/browser/caller-identity.js +156 -0
  153. package/dist/lib/browser/cdp.js +1 -1
  154. package/dist/lib/browser/drivers/ssh.d.ts +1 -1
  155. package/dist/lib/browser/drivers/ssh.js +2 -2
  156. package/dist/lib/browser/hygiene.d.ts +10 -2
  157. package/dist/lib/browser/hygiene.js +7 -4
  158. package/dist/lib/browser/ipc.d.ts +22 -2
  159. package/dist/lib/browser/ipc.js +185 -21
  160. package/dist/lib/browser/profiles.d.ts +67 -3
  161. package/dist/lib/browser/profiles.js +129 -7
  162. package/dist/lib/browser/remote-control.d.ts +2 -2
  163. package/dist/lib/browser/remote-control.js +3 -3
  164. package/dist/lib/browser/runtime-state.d.ts +79 -0
  165. package/dist/lib/browser/runtime-state.js +119 -1
  166. package/dist/lib/browser/service.d.ts +113 -1
  167. package/dist/lib/browser/service.js +454 -40
  168. package/dist/lib/browser/sessions-list.d.ts +2 -1
  169. package/dist/lib/browser/sessions-list.js +4 -13
  170. package/dist/lib/browser/types.d.ts +18 -0
  171. package/dist/lib/budget/config.js +1 -1
  172. package/dist/lib/budget/ledger.js +1 -1
  173. package/dist/lib/byok-usage.js +1 -1
  174. package/dist/lib/capabilities.js +3 -15
  175. package/dist/lib/catchup.d.ts +1 -1
  176. package/dist/lib/catchup.js +1 -1
  177. package/dist/lib/cloud/dispatch.js +1 -1
  178. package/dist/lib/cloud/host.d.ts +3 -3
  179. package/dist/lib/cloud/host.js +5 -5
  180. package/dist/lib/cloud/rush.d.ts +9 -21
  181. package/dist/lib/cloud/rush.js +33 -120
  182. package/dist/lib/cloud/types.d.ts +2 -2
  183. package/dist/lib/commands.js +3 -13
  184. package/dist/lib/computer/actions.d.ts +36 -0
  185. package/dist/lib/computer/actions.js +162 -0
  186. package/dist/lib/computer/dispatch.d.ts +2 -2
  187. package/dist/lib/computer/dispatch.js +2 -2
  188. package/dist/lib/computer/sessions-list.d.ts +3 -3
  189. package/dist/lib/computer/sessions-list.js +2 -2
  190. package/dist/lib/config-keys.d.ts +2 -1
  191. package/dist/lib/config-keys.js +8 -4
  192. package/dist/lib/config-machine-keys.d.ts +4 -2
  193. package/dist/lib/config-machine-keys.js +5 -2
  194. package/dist/lib/crabbox/lease.js +9 -1
  195. package/dist/lib/crabbox/runtimes.d.ts +32 -7
  196. package/dist/lib/crabbox/runtimes.js +72 -30
  197. package/dist/lib/{daemon.d.ts → daemon/daemon.d.ts} +59 -1
  198. package/dist/lib/{daemon.js → daemon/daemon.js} +237 -49
  199. package/dist/lib/daemon-services.d.ts +1 -1
  200. package/dist/lib/daemon-services.js +5 -0
  201. package/dist/lib/daemon-ticks.d.ts +25 -0
  202. package/dist/lib/daemon-ticks.js +31 -1
  203. package/dist/lib/daemon-webhooks.d.ts +102 -0
  204. package/dist/lib/daemon-webhooks.js +210 -0
  205. package/dist/lib/device-config.d.ts +85 -75
  206. package/dist/lib/device-config.js +279 -141
  207. package/dist/lib/devices/config-migration.d.ts +29 -34
  208. package/dist/lib/devices/config-migration.js +209 -130
  209. package/dist/lib/devices/connect.d.ts +2 -2
  210. package/dist/lib/devices/connect.js +2 -2
  211. package/dist/lib/devices/discovery-policy.d.ts +30 -0
  212. package/dist/lib/devices/discovery-policy.js +101 -0
  213. package/dist/lib/devices/fleet-inventory.js +8 -3
  214. package/dist/lib/devices/harness-inventory.d.ts +1 -1
  215. package/dist/lib/devices/harness-inventory.js +12 -3
  216. package/dist/lib/devices/known-hosts.js +1 -1
  217. package/dist/lib/devices/pool.d.ts +10 -5
  218. package/dist/lib/devices/pool.js +5 -7
  219. package/dist/lib/devices/registry.d.ts +1 -1
  220. package/dist/lib/devices/registry.js +1 -1
  221. package/dist/lib/devices/resolve-profile.d.ts +2 -2
  222. package/dist/lib/devices/resolve-profile.js +2 -2
  223. package/dist/lib/devices/resolve-target.d.ts +1 -1
  224. package/dist/lib/devices/resolve-target.js +4 -4
  225. package/dist/lib/devices/self-host.d.ts +1 -1
  226. package/dist/lib/devices/self-host.js +3 -3
  227. package/dist/lib/devices/ssh-config.d.ts +1 -1
  228. package/dist/lib/devices/stats-cache.js +1 -1
  229. package/dist/lib/devices/sync.d.ts +3 -1
  230. package/dist/lib/devices/sync.js +3 -3
  231. package/dist/lib/doctor-diff.js +4 -4
  232. package/dist/lib/drift-sync.js +2 -2
  233. package/dist/lib/drift.js +2 -2
  234. package/dist/lib/event-families.d.ts +1 -1
  235. package/dist/lib/event-stream.d.ts +1 -1
  236. package/dist/lib/event-stream.js +2 -2
  237. package/dist/lib/events-ingest.js +2 -2
  238. package/dist/lib/exec.d.ts +4 -4
  239. package/dist/lib/exec.js +11 -11
  240. package/dist/lib/factory/snapshot.d.ts +1 -1
  241. package/dist/lib/factory/snapshot.js +1 -1
  242. package/dist/lib/{activity.d.ts → feed/activity.d.ts} +1 -1
  243. package/dist/lib/{activity.js → feed/activity.js} +7 -7
  244. package/dist/lib/{events.d.ts → feed/events.d.ts} +2 -2
  245. package/dist/lib/{events.js → feed/events.js} +5 -5
  246. package/dist/lib/{feed.js → feed/feed.js} +4 -4
  247. package/dist/lib/feed-outcome.d.ts +1 -1
  248. package/dist/lib/feed-policy.d.ts +1 -1
  249. package/dist/lib/feed-policy.js +1 -1
  250. package/dist/lib/feed-post.d.ts +1 -1
  251. package/dist/lib/feed-post.js +1 -1
  252. package/dist/lib/feed-ranking.d.ts +1 -1
  253. package/dist/lib/fleet/apply.d.ts +0 -6
  254. package/dist/lib/fleet/apply.js +18 -45
  255. package/dist/lib/fleet/auth-sync.d.ts +16 -35
  256. package/dist/lib/fleet/auth-sync.js +16 -75
  257. package/dist/lib/fleet/capture.js +8 -6
  258. package/dist/lib/fleet/manifest.js +23 -11
  259. package/dist/lib/fleet/types.d.ts +19 -7
  260. package/dist/lib/fleet-cache.d.ts +1 -1
  261. package/dist/lib/fleet-cache.js +1 -1
  262. package/dist/lib/format.d.ts +19 -0
  263. package/dist/lib/format.js +44 -1
  264. package/dist/lib/friction-heuristics.d.ts +1 -1
  265. package/dist/lib/git.d.ts +24 -1
  266. package/dist/lib/git.js +82 -38
  267. package/dist/lib/heal.js +3 -3
  268. package/dist/lib/hooks.d.ts +18 -0
  269. package/dist/lib/hooks.js +113 -1
  270. package/dist/lib/hosts/credentials.d.ts +30 -10
  271. package/dist/lib/hosts/credentials.js +38 -26
  272. package/dist/lib/hosts/dispatch.d.ts +3 -3
  273. package/dist/lib/hosts/dispatch.js +3 -3
  274. package/dist/lib/hosts/option.d.ts +3 -3
  275. package/dist/lib/hosts/option.js +7 -8
  276. package/dist/lib/hosts/passthrough.d.ts +17 -17
  277. package/dist/lib/hosts/passthrough.js +67 -50
  278. package/dist/lib/hosts/providers/devices.d.ts +1 -1
  279. package/dist/lib/hosts/providers/devices.js +1 -1
  280. package/dist/lib/hosts/reconcile.d.ts +1 -1
  281. package/dist/lib/hosts/reconcile.js +1 -1
  282. package/dist/lib/hosts/reconnect.d.ts +1 -1
  283. package/dist/lib/hosts/reconnect.js +2 -2
  284. package/dist/lib/hosts/registry.d.ts +5 -5
  285. package/dist/lib/hosts/registry.js +5 -5
  286. package/dist/lib/hosts/remote-cmd.d.ts +10 -10
  287. package/dist/lib/hosts/remote-cmd.js +25 -18
  288. package/dist/lib/hosts/remote-os.d.ts +4 -4
  289. package/dist/lib/hosts/remote-os.js +4 -4
  290. package/dist/lib/hosts/remote-session-id.d.ts +2 -2
  291. package/dist/lib/hosts/remote-session-id.js +2 -2
  292. package/dist/lib/hosts/routing-flag.d.ts +3 -3
  293. package/dist/lib/hosts/routing-flag.js +4 -5
  294. package/dist/lib/hosts/run-target.d.ts +4 -4
  295. package/dist/lib/hosts/run-target.js +4 -4
  296. package/dist/lib/hosts/session-index.d.ts +2 -2
  297. package/dist/lib/hosts/session-index.js +1 -1
  298. package/dist/lib/hosts/session-marker.d.ts +1 -1
  299. package/dist/lib/hosts/session-marker.js +1 -1
  300. package/dist/lib/hosts/types.d.ts +2 -2
  301. package/dist/lib/hosts/types.js +2 -2
  302. package/dist/lib/import.js +1 -1
  303. package/dist/lib/{migrate.d.ts → installations/migrate.d.ts} +13 -1
  304. package/dist/lib/{migrate.js → installations/migrate.js} +160 -40
  305. package/dist/lib/installations/resolve.js +1 -1
  306. package/dist/lib/installations/strategies.js +1 -1
  307. package/dist/lib/installations/update.js +2 -2
  308. package/dist/lib/{versions.d.ts → installations/versions.d.ts} +12 -3
  309. package/dist/lib/{versions.js → installations/versions.js} +51 -31
  310. package/dist/lib/isolation-boundary-report.js +1 -1
  311. package/dist/lib/linear-projects.d.ts +28 -0
  312. package/dist/lib/linear-projects.js +30 -0
  313. package/dist/lib/loop.js +1 -1
  314. package/dist/lib/mailbox-gc.js +1 -1
  315. package/dist/lib/mailbox.js +1 -1
  316. package/dist/lib/mcp-registry.d.ts +62 -0
  317. package/dist/lib/mcp-registry.js +177 -0
  318. package/dist/lib/mcp.d.ts +5 -0
  319. package/dist/lib/mcp.js +124 -307
  320. package/dist/lib/menubar/MenubarHelper.app/Contents/CodeResources +0 -0
  321. package/dist/lib/menubar/MenubarHelper.app/Contents/MacOS/MenubarHelper +0 -0
  322. package/dist/lib/menubar/install-menubar.d.ts +7 -0
  323. package/dist/lib/menubar/install-menubar.js +24 -6
  324. package/dist/lib/menubar/snapshot.d.ts +7 -0
  325. package/dist/lib/menubar/snapshot.js +8 -6
  326. package/dist/lib/models.js +1 -1
  327. package/dist/lib/monitors/config.d.ts +12 -0
  328. package/dist/lib/monitors/config.js +3 -0
  329. package/dist/lib/monitors/dispatch.js +26 -5
  330. package/dist/lib/monitors/engine.js +10 -0
  331. package/dist/lib/monitors/sources/webhook.d.ts +1 -1
  332. package/dist/lib/monitors/state.d.ts +42 -0
  333. package/dist/lib/monitors/state.js +30 -0
  334. package/dist/lib/notify.d.ts +1 -1
  335. package/dist/lib/observe-aliases.d.ts +2 -2
  336. package/dist/lib/observe-aliases.js +2 -11
  337. package/dist/lib/output/git-output.js +2 -2
  338. package/dist/lib/overdue.d.ts +1 -1
  339. package/dist/lib/overdue.js +1 -1
  340. package/dist/lib/permissions-registry.d.ts +65 -0
  341. package/dist/lib/permissions-registry.js +599 -0
  342. package/dist/lib/permissions.d.ts +24 -13
  343. package/dist/lib/permissions.js +52 -271
  344. package/dist/lib/picker.d.ts +16 -0
  345. package/dist/lib/picker.js +33 -3
  346. package/dist/lib/placement.d.ts +1 -1
  347. package/dist/lib/placement.js +4 -4
  348. package/dist/lib/platform/paths.d.ts +8 -0
  349. package/dist/lib/platform/paths.js +11 -0
  350. package/dist/lib/platform/posixpath.js +3 -3
  351. package/dist/lib/{plugin-marketplace.d.ts → plugins/plugin-marketplace.d.ts} +1 -1
  352. package/dist/lib/{plugin-marketplace.js → plugins/plugin-marketplace.js} +2 -2
  353. package/dist/lib/{plugins.d.ts → plugins/plugins.d.ts} +1 -1
  354. package/dist/lib/{plugins.js → plugins/plugins.js} +7 -7
  355. package/dist/lib/{skills.d.ts → plugins/skills.d.ts} +1 -1
  356. package/dist/lib/{skills.js → plugins/skills.js} +7 -7
  357. package/dist/lib/pricing/cost.d.ts +1 -1
  358. package/dist/lib/pricing/cost.js +1 -1
  359. package/dist/lib/profiles-presets.d.ts +1 -1
  360. package/dist/lib/profiles-presets.js +1 -1
  361. package/dist/lib/profiles.js +2 -2
  362. package/dist/lib/project-import.js +4 -1
  363. package/dist/lib/project-launch.d.ts +1 -1
  364. package/dist/lib/project-launch.js +3 -3
  365. package/dist/lib/project-pull.d.ts +128 -0
  366. package/dist/lib/project-pull.js +384 -0
  367. package/dist/lib/project-root.d.ts +2 -2
  368. package/dist/lib/project-root.js +2 -2
  369. package/dist/lib/project-status.js +1 -1
  370. package/dist/lib/projects.d.ts +23 -0
  371. package/dist/lib/projects.js +29 -6
  372. package/dist/lib/refresh.d.ts +12 -1
  373. package/dist/lib/refresh.js +16 -9
  374. package/dist/lib/registry.d.ts +9 -2
  375. package/dist/lib/registry.js +11 -4
  376. package/dist/lib/resources.d.ts +2 -2
  377. package/dist/lib/resources.js +2 -2
  378. package/dist/lib/routers.d.ts +81 -0
  379. package/dist/lib/routers.js +153 -0
  380. package/dist/lib/routine-context.d.ts +1 -0
  381. package/dist/lib/routine-context.js +7 -2
  382. package/dist/lib/routine-notify-owner.d.ts +1 -1
  383. package/dist/lib/routine-notify.d.ts +1 -1
  384. package/dist/lib/routine-notify.js +1 -1
  385. package/dist/lib/routine-process-cleanup.d.ts +1 -1
  386. package/dist/lib/routine-readiness.d.ts +1 -1
  387. package/dist/lib/routine-readiness.js +11 -4
  388. package/dist/lib/routines-placement.d.ts +12 -2
  389. package/dist/lib/routines-placement.js +20 -3
  390. package/dist/lib/routines-project.d.ts +1 -1
  391. package/dist/lib/routines-project.js +1 -1
  392. package/dist/lib/rules/compile.d.ts +1 -0
  393. package/dist/lib/rules/compile.js +10 -2
  394. package/dist/lib/rules/rules.js +1 -1
  395. package/dist/lib/run-notify.js +1 -1
  396. package/dist/lib/runner.d.ts +80 -2
  397. package/dist/lib/runner.js +241 -62
  398. package/dist/lib/sandbox.d.ts +1 -1
  399. package/dist/lib/scheduler.d.ts +1 -1
  400. package/dist/lib/scheduler.js +1 -1
  401. package/dist/lib/{routines.d.ts → scheduling/routines.d.ts} +54 -9
  402. package/dist/lib/{routines.js → scheduling/routines.js} +173 -14
  403. package/dist/lib/secrets/Agents CLI.app/Contents/CodeResources +0 -0
  404. package/dist/lib/secrets/Agents CLI.app/Contents/MacOS/Agents CLI +0 -0
  405. package/dist/lib/secrets/agent.js +2 -2
  406. package/dist/lib/secrets/audit.js +1 -1
  407. package/dist/lib/secrets/bundles.d.ts +3 -3
  408. package/dist/lib/secrets/bundles.js +7 -7
  409. package/dist/lib/secrets/index.js +1 -1
  410. package/dist/lib/secrets/list-filter.d.ts +1 -1
  411. package/dist/lib/secrets/list-filter.js +2 -2
  412. package/dist/lib/secrets/push.d.ts +1 -1
  413. package/dist/lib/secrets/push.js +10 -12
  414. package/dist/lib/secrets/remote.d.ts +12 -10
  415. package/dist/lib/secrets/remote.js +21 -14
  416. package/dist/lib/secrets/vault.js +2 -2
  417. package/dist/lib/self-heal/checks/shadowing.js +1 -1
  418. package/dist/lib/self-heal/checks/shims.js +1 -1
  419. package/dist/lib/self-update.d.ts +39 -4
  420. package/dist/lib/self-update.js +78 -25
  421. package/dist/lib/serve/control.d.ts +1 -1
  422. package/dist/lib/serve/control.js +4 -4
  423. package/dist/lib/serve/data.d.ts +1 -1
  424. package/dist/lib/serve/data.js +1 -1
  425. package/dist/lib/serve/stream.js +1 -1
  426. package/dist/lib/service-manifest.d.ts +29 -0
  427. package/dist/lib/service-manifest.js +80 -0
  428. package/dist/lib/session/active.d.ts +59 -7
  429. package/dist/lib/session/active.js +158 -17
  430. package/dist/lib/session/bash-command.js +1 -1
  431. package/dist/lib/session/claude-accounts.d.ts +1 -1
  432. package/dist/lib/session/claude-accounts.js +1 -1
  433. package/dist/lib/session/db.d.ts +10 -2
  434. package/dist/lib/session/db.js +25 -6
  435. package/dist/lib/session/discover.d.ts +77 -0
  436. package/dist/lib/session/discover.js +130 -25
  437. package/dist/lib/session/fork.js +1 -1
  438. package/dist/lib/session/inject.d.ts +1 -1
  439. package/dist/lib/session/insights.d.ts +1 -1
  440. package/dist/lib/session/insights.js +1 -1
  441. package/dist/lib/session/live-metadata.d.ts +15 -0
  442. package/dist/lib/session/live-metadata.js +76 -0
  443. package/dist/lib/session/migrate-targets.d.ts +1 -1
  444. package/dist/lib/session/recovery.d.ts +1 -1
  445. package/dist/lib/session/recovery.js +2 -2
  446. package/dist/lib/session/remote-active.d.ts +10 -1
  447. package/dist/lib/session/remote-active.js +8 -3
  448. package/dist/lib/session/remote-bundle.d.ts +1 -1
  449. package/dist/lib/session/remote-bundle.js +2 -2
  450. package/dist/lib/session/remote-list.d.ts +15 -4
  451. package/dist/lib/session/remote-list.js +40 -3
  452. package/dist/lib/session/remote.d.ts +5 -5
  453. package/dist/lib/session/remote.js +13 -17
  454. package/dist/lib/session/resume-command.d.ts +3 -2
  455. package/dist/lib/session/resume-command.js +4 -3
  456. package/dist/lib/session/resume-owner.d.ts +3 -3
  457. package/dist/lib/session/resume-owner.js +3 -3
  458. package/dist/lib/session/session-cache.d.ts +12 -0
  459. package/dist/lib/session/session-cache.js +2 -0
  460. package/dist/lib/session/shell-programs.js +1 -1
  461. package/dist/lib/session/state.js +5 -5
  462. package/dist/lib/session/team-filter.d.ts +1 -1
  463. package/dist/lib/session/team-filter.js +1 -1
  464. package/dist/lib/session/types.d.ts +3 -3
  465. package/dist/lib/session/width.d.ts +2 -2
  466. package/dist/lib/session/width.js +2 -2
  467. package/dist/lib/share/delete.d.ts +21 -0
  468. package/dist/lib/share/delete.js +42 -0
  469. package/dist/lib/share/publish.d.ts +82 -0
  470. package/dist/lib/share/publish.js +170 -18
  471. package/dist/lib/share/worker-template.js +172 -9
  472. package/dist/lib/shims.js +35 -7
  473. package/dist/lib/smart-launch.d.ts +4 -4
  474. package/dist/lib/smart-launch.js +6 -4
  475. package/dist/lib/snapshot.d.ts +4 -4
  476. package/dist/lib/snapshot.js +2 -2
  477. package/dist/lib/ssh-exec.d.ts +1 -1
  478. package/dist/lib/ssh-exec.js +2 -2
  479. package/dist/lib/ssh-tunnel.d.ts +10 -10
  480. package/dist/lib/ssh-tunnel.js +12 -12
  481. package/dist/lib/staleness/checkers/hooks.d.ts +1 -1
  482. package/dist/lib/staleness/checkers/hooks.js +1 -1
  483. package/dist/lib/staleness/detectors/permissions.js +0 -23
  484. package/dist/lib/staleness/detectors/plugins.js +1 -1
  485. package/dist/lib/staleness/fingerprint.js +1 -1
  486. package/dist/lib/staleness/layers.d.ts +1 -1
  487. package/dist/lib/staleness/layers.js +1 -1
  488. package/dist/lib/staleness/writers/mcp.js +3 -1
  489. package/dist/lib/staleness/writers/plugins.js +1 -1
  490. package/dist/lib/staleness/writers/types.d.ts +8 -0
  491. package/dist/lib/startup/command-registry.d.ts +5 -147
  492. package/dist/lib/startup/command-registry.js +38 -303
  493. package/dist/lib/startup/dev-build.d.ts +0 -21
  494. package/dist/lib/startup/dev-build.js +29 -8
  495. package/dist/lib/state.d.ts +19 -1
  496. package/dist/lib/state.js +120 -51
  497. package/dist/lib/subagents.js +1 -1
  498. package/dist/lib/sync-status.js +1 -1
  499. package/dist/lib/sync-umbrella.d.ts +6 -1
  500. package/dist/lib/sync-umbrella.js +9 -4
  501. package/dist/lib/teams/agents.js +2 -2
  502. package/dist/lib/teams/registry.js +1 -1
  503. package/dist/lib/terminal/backends/vscodium-agent.js +1 -1
  504. package/dist/lib/terminal/engine.js +1 -1
  505. package/dist/lib/terminal/index.d.ts +4 -0
  506. package/dist/lib/terminal/index.js +3 -0
  507. package/dist/lib/terminal/inject.d.ts +2 -2
  508. package/dist/lib/terminal/inject.js +2 -2
  509. package/dist/lib/terminal/transport.js +1 -1
  510. package/dist/lib/tmux/index.d.ts +1 -1
  511. package/dist/lib/tmux/index.js +1 -1
  512. package/dist/lib/tmux/session.d.ts +21 -5
  513. package/dist/lib/tmux/session.js +76 -22
  514. package/dist/lib/triggers/handlers.d.ts +1 -1
  515. package/dist/lib/triggers/handlers.js +2 -2
  516. package/dist/lib/triggers/webhook.d.ts +36 -2
  517. package/dist/lib/triggers/webhook.js +97 -42
  518. package/dist/lib/types.d.ts +18 -6
  519. package/dist/lib/usage-fleet.d.ts +1 -1
  520. package/dist/lib/usage-fleet.js +1 -1
  521. package/dist/lib/usage-refresh.d.ts +1 -1
  522. package/dist/lib/usage-refresh.js +3 -3
  523. package/dist/lib/version-duplicates.js +2 -2
  524. package/dist/lib/view-types.d.ts +56 -0
  525. package/dist/lib/view-types.js +1 -0
  526. package/dist/lib/watchdog/rotate.d.ts +2 -2
  527. package/dist/lib/watchdog/rotate.js +3 -3
  528. package/dist/lib/watchdog/runner.d.ts +2 -3
  529. package/dist/lib/watchdog/runner.js +3 -4
  530. package/dist/lib/workflows.js +1 -1
  531. package/package.json +2 -1
  532. package/scripts/postinstall.js +2 -2
  533. package/dist/commands/bench.d.ts +0 -2
  534. package/dist/commands/bench.js +0 -101
  535. package/dist/commands/cp.d.ts +0 -84
  536. package/dist/commands/cp.js +0 -231
  537. package/dist/commands/login.d.ts +0 -2
  538. package/dist/lib/resources/commands.d.ts +0 -46
  539. package/dist/lib/resources/commands.js +0 -211
  540. package/dist/lib/resources/hooks.d.ts +0 -16
  541. package/dist/lib/resources/hooks.js +0 -153
  542. package/dist/lib/resources/mcp.d.ts +0 -34
  543. package/dist/lib/resources/mcp.js +0 -250
  544. package/dist/lib/resources/memory.d.ts +0 -15
  545. package/dist/lib/resources/memory.js +0 -46
  546. package/dist/lib/resources/permissions.d.ts +0 -13
  547. package/dist/lib/resources/permissions.js +0 -202
  548. package/dist/lib/resources/rules.d.ts +0 -46
  549. package/dist/lib/resources/rules.js +0 -179
  550. package/dist/lib/resources/skills.d.ts +0 -37
  551. package/dist/lib/resources/skills.js +0 -247
  552. package/dist/lib/resources/subagents.d.ts +0 -46
  553. package/dist/lib/resources/subagents.js +0 -202
  554. /package/dist/lib/{feed.d.ts → feed/feed.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Pure argv helpers for `--host` passthrough — build the remote `agents …`
2
+ * Pure argv helpers for `--device` passthrough — build the remote `agents …`
3
3
  * invocation and strip the local-only routing flags before forwarding.
4
4
  *
5
5
  * Kept free of any SSH/process side effects so the two-layer quoting and the
@@ -39,19 +39,18 @@ export function stripRoutingFlags(args, specs) {
39
39
  return out;
40
40
  }
41
41
  /**
42
- * The routing flags every `--host`-capable command shares. `--device` is a
43
- * first-class alias of `--host` (the device registry is the source of truth for
44
- * machine identity see `agents devices`), mirroring `agents run --device`.
45
- * Both are stripped before forwarding so the alias never leaks to the remote
46
- * binary (which would re-trigger routing).
42
+ * The routing flags every `--device`-capable command shares. Stripped before
43
+ * forwarding so the flag never leaks to the remote binary (which would
44
+ * re-trigger routing). `--host`/`-H` are kept for backward-compat strip only
45
+ * (they are no longer user-facing routing flags).
47
46
  */
48
47
  export const HOST_ROUTING_SPECS = [
48
+ { long: 'device', short: 'D', takesValue: true },
49
49
  { long: 'host', short: 'H', takesValue: true },
50
- { long: 'device', takesValue: true },
51
50
  { long: 'remote-cwd', takesValue: true },
52
51
  ];
53
52
  /**
54
- * The forwarding contract for `agents run … --host`: every option of the `run`
53
+ * The forwarding contract for `agents run … --device`: every option of the `run`
55
54
  * command is classified here, keyed by its commander attribute name. A
56
55
  * commander-introspection test (run-forwarding.test.ts) fails when a run
57
56
  * option is missing from this table, so a new option can never silently drop
@@ -104,7 +103,6 @@ export const RUN_OPTION_FORWARDING = {
104
103
  raw: 'local-only', // interactive builder forwards --raw itself
105
104
  tmux: 'local-only',
106
105
  disableTmux: 'local-only',
107
- host: 'local-only',
108
106
  device: 'local-only',
109
107
  where: 'local-only', // expands into host/lease before dispatch; never re-forwarded
110
108
  on: 'local-only',
@@ -120,7 +118,7 @@ export const RUN_OPTION_FORWARDING = {
120
118
  tailscale: 'local-only', // --tailscale/--no-tailscale gate the lease net mode; never forwarded
121
119
  copyCreds: 'local-only', // copies creds TO the host before dispatch — local concern only
122
120
  // Cloud placement: chosen and dispatched from THIS machine via the provider
123
- // registry; mutually exclusive with --host (placement conflict dies before
121
+ // registry; mutually exclusive with --device (placement conflict dies before
124
122
  // dispatch), so these never have a remote argv to ride.
125
123
  cloud: 'local-only',
126
124
  provider: 'local-only',
@@ -135,19 +133,27 @@ export const RUN_OPTION_FORWARDING = {
135
133
  notify: 'local-only',
136
134
  // Deprecated alias for --device auto; resolved on the launching box before SSH.
137
135
  smart: 'local-only',
136
+ // Broadcast mode (agents run --broadcast) is its own fan-out dispatch — mutually
137
+ // exclusive with --host. All broadcast options are local-only; exec.ts handles them
138
+ // before any SSH dispatch path is reached.
139
+ broadcast: 'local-only',
140
+ task: 'local-only',
141
+ listTasks: 'local-only',
142
+ results: 'local-only',
143
+ concurrency: 'local-only',
138
144
  };
139
145
  /** Actionable messages for value-aware rejections, keyed by attribute name. */
140
146
  export const RUN_OPTION_REJECT_MESSAGES = {
141
- terminal: '--terminal opens a tab on THIS machine; it cannot be combined with --host. ' +
142
- 'Drop --terminal to dispatch to the host, or drop --host to open the tab here. ' +
143
- 'To watch a remote run in a terminal, dispatch it and follow with `agents sessions resume <id>`.',
147
+ terminal: '--terminal opens a tab on THIS machine; it cannot be combined with --device. ' +
148
+ 'Drop --terminal to dispatch to the device, or drop --device to open the tab here. ' +
149
+ 'To watch a remote run in a terminal, dispatch it and follow with `agents sessions focus <id>`.',
144
150
  secrets: '--secrets cannot cross the SSH boundary — Keychain values are never sent to a host implicitly. ' +
145
- 'Provision the bundle on the host first (agents secrets export --host <name>), then run without --secrets; ' +
151
+ 'Provision the bundle on the host first (agents secrets export --device <name>), then run without --secrets; ' +
146
152
  'workflow frontmatter secrets resolve from the HOST\'s own keychain.',
147
153
  secretsKeys: '--secrets-keys applies to --secrets bundles, which cannot cross the SSH boundary (see --secrets).',
148
154
  allowExpired: '--allow-expired applies to --secrets bundles, which cannot cross the SSH boundary (see --secrets).',
149
155
  resumeCheckpoint: '--resume-checkpoint reads a local checkpoint.json — it cannot resume a run on another machine. Run it locally, or start a fresh --loop run on the host.',
150
- resumeBare: '--resume with no id opens the interactive picker, which cannot run across a detached host dispatch. Pass a concrete session id: agents run <agent> --resume <id> --host <name>.',
156
+ resumeBare: '--resume with no id opens the interactive picker, which cannot run across a detached host dispatch. Pass a concrete session id: agents run <agent> --resume <id> --device <name>.',
151
157
  };
152
158
  /**
153
159
  * Build the single command string for `ssh <target> <cmd>`. The forwarded args
@@ -298,7 +304,7 @@ export function windowsAgentsScript(cmd) {
298
304
  /**
299
305
  * Build the `ssh <target> <cmd>` string for one `agents …` invocation on a
300
306
  * Windows remote: a `powershell -NoProfile -EncodedCommand <base64>` call. The
301
- * Windows counterpart of `bash -lc '<...>'`, shared by every `--host` site.
307
+ * Windows counterpart of `bash -lc '<...>'`, shared by every `--device` site.
302
308
  */
303
309
  export function buildWindowsAgentsCommand(cmd) {
304
310
  return `powershell -NoProfile -EncodedCommand ${encodePowershell(windowsAgentsScript(cmd))}`;
@@ -319,18 +325,19 @@ export function buildWindowsAgentsCommand(cmd) {
319
325
  */
320
326
  export function buildWindowsStdinImportCommand(bundle, opts = {}) {
321
327
  const force = opts.force ? ' --force' : '';
328
+ const policy = opts.policyNever ? ' --policy never --i-understand' : '';
322
329
  // Create AND write the temp file INSIDE the try so its finally always cleans
323
330
  // up: if GetTempFileName succeeds but WriteAllText (or the import) then throws,
324
331
  // the secret-bearing temp file would otherwise be left behind (RUSH-1764). $tmp
325
332
  // starts null so a GetTempFileName that itself throws leaves nothing to remove.
326
333
  const script = [
327
334
  // Same CLIXML guard as windowsAgentsScript — this builder also runs `& agents …`
328
- // and its raw stderr is printed to the user on failure (secrets export --host <win>).
335
+ // and its raw stderr is printed to the user on failure (secrets export --device <win>).
329
336
  POWERSHELL_PROGRESS_SILENCE,
330
337
  '$in = [Console]::In.ReadToEnd()',
331
338
  '$tmp = $null',
332
339
  `try { $tmp = [System.IO.Path]::GetTempFileName(); [System.IO.File]::WriteAllText($tmp, $in); ` +
333
- `& agents secrets import ${powershellQuote(bundle)} --from $tmp${force}; $code = $LASTEXITCODE } ` +
340
+ `& agents secrets import ${powershellQuote(bundle)} --from $tmp${force}${policy}; $code = $LASTEXITCODE } ` +
334
341
  `finally { if ($tmp) { Remove-Item -LiteralPath $tmp -Force -ErrorAction SilentlyContinue } }`,
335
342
  'if ($null -eq $code) { $code = 1 }',
336
343
  'exit $code',
@@ -4,9 +4,9 @@
4
4
  * in `remote-cmd.ts` for how the string is consumed.
5
5
  *
6
6
  * Three sources, in priority order:
7
- * 1. The central config `platform` key (`fleet.devices.<name>.config.platform`
8
- * in agents.yaml) — the operator's explicit override, set with
9
- * `agents devices config <name> platform <os>`.
7
+ * 1. The config `platform` key (the per-device doc's config.platform,
8
+ * over the `fleet.defaults.config` fleet default) — the operator's
9
+ * explicit override, set with `agents devices config <name> platform <os>`.
10
10
  * 2. The device registry `platform` (`windows`/`linux`/`macos`), which is
11
11
  * populated fleet-wide by Tailscale sync — the reliable answer for a box
12
12
  * like `win-mini` that was discovered, not hand-enrolled.
@@ -14,7 +14,7 @@
14
14
  * when the overlay entry was written), for hosts that live only in that overlay.
15
15
  *
16
16
  * Missing/unknown from all three → `undefined`, which `remoteShellFor` maps to
17
- * POSIX. Kept synchronous so the sync `agents sessions --host` fan-out can use it.
17
+ * POSIX. Kept synchronous so the sync `agents sessions --device` fan-out can use it.
18
18
  */
19
19
  /** Resolve the OS/platform string for a host name, or undefined if unknown. */
20
20
  export declare function resolveRemoteOsSync(name: string): string | undefined;
@@ -4,9 +4,9 @@
4
4
  * in `remote-cmd.ts` for how the string is consumed.
5
5
  *
6
6
  * Three sources, in priority order:
7
- * 1. The central config `platform` key (`fleet.devices.<name>.config.platform`
8
- * in agents.yaml) — the operator's explicit override, set with
9
- * `agents devices config <name> platform <os>`.
7
+ * 1. The config `platform` key (the per-device doc's config.platform,
8
+ * over the `fleet.defaults.config` fleet default) — the operator's
9
+ * explicit override, set with `agents devices config <name> platform <os>`.
10
10
  * 2. The device registry `platform` (`windows`/`linux`/`macos`), which is
11
11
  * populated fleet-wide by Tailscale sync — the reliable answer for a box
12
12
  * like `win-mini` that was discovered, not hand-enrolled.
@@ -14,7 +14,7 @@
14
14
  * when the overlay entry was written), for hosts that live only in that overlay.
15
15
  *
16
16
  * Missing/unknown from all three → `undefined`, which `remoteShellFor` maps to
17
- * POSIX. Kept synchronous so the sync `agents sessions --host` fan-out can use it.
17
+ * POSIX. Kept synchronous so the sync `agents sessions --device` fan-out can use it.
18
18
  */
19
19
  import { loadDevicesSync } from '../devices/registry.js';
20
20
  import { readDeviceConfigValues } from '../device-config.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Resolve a remote-created session id back to an interactive `--host` launcher.
2
+ * Resolve a remote-created session id back to an interactive `--device` launcher.
3
3
  *
4
- * A headless `--host` run captures the remote-coined id from the followed log
4
+ * A headless `--device` run captures the remote-coined id from the followed log
5
5
  * (the `--emit-session-id` marker — see session-marker.ts). An INTERACTIVE run
6
6
  * has no followed log: the local TTY is wired straight through `sshStream`
7
7
  * (stdio:'inherit'), so nothing can tap the stream for a marker without breaking
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Resolve a remote-created session id back to an interactive `--host` launcher.
2
+ * Resolve a remote-created session id back to an interactive `--device` launcher.
3
3
  *
4
- * A headless `--host` run captures the remote-coined id from the followed log
4
+ * A headless `--device` run captures the remote-coined id from the followed log
5
5
  * (the `--emit-session-id` marker — see session-marker.ts). An INTERACTIVE run
6
6
  * has no followed log: the local TTY is wired straight through `sshStream`
7
7
  * (stdio:'inherit'), so nothing can tap the stream for a marker without breaking
@@ -10,11 +10,11 @@
10
10
  * `flagValue` lives here (not in passthrough.ts) for the same reason: the gate
11
11
  * and the function body that later reads flag values share one implementation.
12
12
  */
13
- /** Pull the value of `--host`/`-H`/`--remote-cwd` (any form) out of an argv. */
13
+ /** Pull the value of `--device`/`-D`/`--remote-cwd` (any form) out of an argv. */
14
14
  export declare function flagValue(args: string[], long: string, short?: string): string | undefined;
15
15
  /**
16
- * True when argv carries any host/device routing flag that {@link maybeRunOnHost}
17
- * inspects: `--host`/`-H`, `--device`, `--hosts`, `--devices` (space, `=`, or
16
+ * True when argv carries any device routing flag that {@link maybeRunOnHost}
17
+ * inspects: `--device`/`-D`, `--hosts`, `--devices` (space, `=`, or
18
18
  * glued short form).
19
19
  *
20
20
  * Presence-only — does not validate values. Used by bootstrap before loading
@@ -10,7 +10,7 @@
10
10
  * `flagValue` lives here (not in passthrough.ts) for the same reason: the gate
11
11
  * and the function body that later reads flag values share one implementation.
12
12
  */
13
- /** Pull the value of `--host`/`-H`/`--remote-cwd` (any form) out of an argv. */
13
+ /** Pull the value of `--device`/`-D`/`--remote-cwd` (any form) out of an argv. */
14
14
  export function flagValue(args, long, short) {
15
15
  for (let i = 0; i < args.length; i++) {
16
16
  const a = args[i];
@@ -26,16 +26,15 @@ export function flagValue(args, long, short) {
26
26
  return undefined;
27
27
  }
28
28
  /**
29
- * True when argv carries any host/device routing flag that {@link maybeRunOnHost}
30
- * inspects: `--host`/`-H`, `--device`, `--hosts`, `--devices` (space, `=`, or
29
+ * True when argv carries any device routing flag that {@link maybeRunOnHost}
30
+ * inspects: `--device`/`-D`, `--hosts`, `--devices` (space, `=`, or
31
31
  * glued short form).
32
32
  *
33
33
  * Presence-only — does not validate values. Used by bootstrap before loading
34
34
  * passthrough, and by `maybeRunStandaloneOnHost` before strip/route work.
35
35
  */
36
36
  export function hasHostRoutingFlag(args) {
37
- return (flagValue(args, 'host', 'H') !== undefined ||
38
- flagValue(args, 'device') !== undefined ||
37
+ return (flagValue(args, 'device', 'D') !== undefined ||
39
38
  flagValue(args, 'hosts') !== undefined ||
40
39
  flagValue(args, 'devices') !== undefined);
41
40
  }
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Shared host-run dispatch — the one path every surface uses to run an agent on
3
- * another machine: `agents run --host` (commands/exec.ts), the `host` cloud
3
+ * another machine: `agents run --device` (commands/exec.ts), the `host` cloud
4
4
  * provider (`agents cloud run --provider host`), and host-placed routines.
5
5
  *
6
6
  * Wraps the two steps every caller needs and previously lived inline in
7
- * exec.ts's `--host` branch:
7
+ * exec.ts's `--device` branch:
8
8
  * 1. resolution — name → capability tag → error, with the same fall-through
9
- * semantics as `agents run --host` (only "Multiple hosts tagged…" is a
9
+ * semantics as `agents run --device` (only "Multiple hosts tagged…" is a
10
10
  * resolution verdict; "no host tagged" degrades to unknown-host), and
11
11
  * 2. headless dispatch — session-id mint (Claude only), detached SSH launch,
12
12
  * and LOCAL session-index registration so the run shows in `agents sessions`.
@@ -26,7 +26,7 @@ export declare class HostResolutionError extends Error {
26
26
  constructor(message: string);
27
27
  }
28
28
  /**
29
- * Resolve a `--host` value the way `agents run` does: exact name (providers →
29
+ * Resolve a `--device` value the way `agents run` does: exact name (providers →
30
30
  * devices → `user@host`), then capability tag. Throws `HostResolutionError`
31
31
  * for an ambiguous tag or an unknown name; lets `DeviceOffloadUnsupportedError`
32
32
  * (password-auth device) propagate untouched for the top-level catch.
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Shared host-run dispatch — the one path every surface uses to run an agent on
3
- * another machine: `agents run --host` (commands/exec.ts), the `host` cloud
3
+ * another machine: `agents run --device` (commands/exec.ts), the `host` cloud
4
4
  * provider (`agents cloud run --provider host`), and host-placed routines.
5
5
  *
6
6
  * Wraps the two steps every caller needs and previously lived inline in
7
- * exec.ts's `--host` branch:
7
+ * exec.ts's `--device` branch:
8
8
  * 1. resolution — name → capability tag → error, with the same fall-through
9
- * semantics as `agents run --host` (only "Multiple hosts tagged…" is a
9
+ * semantics as `agents run --device` (only "Multiple hosts tagged…" is a
10
10
  * resolution verdict; "no host tagged" degrades to unknown-host), and
11
11
  * 2. headless dispatch — session-id mint (Claude only), detached SSH launch,
12
12
  * and LOCAL session-index registration so the run shows in `agents sessions`.
@@ -30,7 +30,7 @@ export class HostResolutionError extends Error {
30
30
  }
31
31
  }
32
32
  /**
33
- * Resolve a `--host` value the way `agents run` does: exact name (providers →
33
+ * Resolve a `--device` value the way `agents run` does: exact name (providers →
34
34
  * devices → `user@host`), then capability tag. Throws `HostResolutionError`
35
35
  * for an ambiguous tag or an unknown name; lets `DeviceOffloadUnsupportedError`
36
36
  * (password-auth device) propagate untouched for the top-level catch.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Register host-dispatched runs (`agents run --host <h>`) into the LOCAL session
2
+ * Register host-dispatched runs (`agents run --device <h>`) into the LOCAL session
3
3
  * index so they show up in `agents sessions` and are resolvable by id — even
4
4
  * though the transcript itself lives on the remote host.
5
5
  *
@@ -19,7 +19,7 @@
19
19
  import type { SessionMeta } from '../session/types.js';
20
20
  import { type HostTask } from './tasks.js';
21
21
  export interface HostSessionContext {
22
- /** Local directory the `agents run --host` was invoked from. */
22
+ /** Local directory the `agents run --device` was invoked from. */
23
23
  cwd: string;
24
24
  /** Prompt the run was launched with, used for the session topic. */
25
25
  prompt: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Register host-dispatched runs (`agents run --host <h>`) into the LOCAL session
2
+ * Register host-dispatched runs (`agents run --device <h>`) into the LOCAL session
3
3
  * index so they show up in `agents sessions` and are resolvable by id — even
4
4
  * though the transcript itself lives on the remote host.
5
5
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Relate a remote-created session id back to the launching agent.
3
3
  *
4
- * A host dispatch (`agents run --host`) launches `agents run` on the remote box.
4
+ * A host dispatch (`agents run --device`) launches `agents run` on the remote box.
5
5
  * Only Claude accepts a forced `--session-id`, so for every OTHER agent the
6
6
  * remote run coins its OWN session id (via its SessionStart hook) and the
7
7
  * launcher never learns it — the run is orphaned in `agents sessions`.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Relate a remote-created session id back to the launching agent.
3
3
  *
4
- * A host dispatch (`agents run --host`) launches `agents run` on the remote box.
4
+ * A host dispatch (`agents run --device`) launches `agents run` on the remote box.
5
5
  * Only Claude accepts a forced `--session-id`, so for every OTHER agent the
6
6
  * remote run coins its OWN session id (via its SessionStart hook) and the
7
7
  * launcher never learns it — the run is orphaned in `agents sessions`.
@@ -19,7 +19,7 @@ export interface Host extends HostEntry {
19
19
  enrolled?: boolean;
20
20
  status?: HostStatus;
21
21
  /**
22
- * False when the host is listed for honesty but can't carry a `--host` run
22
+ * False when the host is listed for honesty but can't carry a `--device` run
23
23
  * (today: password-auth devices — offload rides BatchMode=yes ssh). Absent
24
24
  * means dispatchable. Cap routing and target pickers filter on this.
25
25
  */
@@ -29,7 +29,7 @@ export interface Host extends HostEntry {
29
29
  * Thrown when a device resolves but can't be used as an offload target because
30
30
  * it authenticates with a password. The offload path runs over `sshExec`, whose
31
31
  * `SSH_OPTS` force `BatchMode=yes` (no password prompts), so only key / ssh-config
32
- * auth can carry a `--host` run. Named so the top-level catch prints the message
32
+ * auth can carry a `--device` run. Named so the top-level catch prints the message
33
33
  * cleanly instead of a stack trace. (Lives here, not registry.ts, so providers
34
34
  * can throw it without a circular import; registry.ts re-exports it.)
35
35
  */
@@ -12,13 +12,13 @@
12
12
  * Thrown when a device resolves but can't be used as an offload target because
13
13
  * it authenticates with a password. The offload path runs over `sshExec`, whose
14
14
  * `SSH_OPTS` force `BatchMode=yes` (no password prompts), so only key / ssh-config
15
- * auth can carry a `--host` run. Named so the top-level catch prints the message
15
+ * auth can carry a `--device` run. Named so the top-level catch prints the message
16
16
  * cleanly instead of a stack trace. (Lives here, not registry.ts, so providers
17
17
  * can throw it without a circular import; registry.ts re-exports it.)
18
18
  */
19
19
  export class DeviceOffloadUnsupportedError extends Error {
20
20
  constructor(name) {
21
- super(`Device "${name}" uses password auth, which --host offload can't use yet ` +
21
+ super(`Device "${name}" uses password auth, which --device offload can't use yet ` +
22
22
  `(runs go over ssh with BatchMode=yes). Switch it to key auth with ` +
23
23
  `\`agents devices config ${name} ssh.auth key\`.`);
24
24
  this.name = 'DeviceOffloadUnsupportedError';
@@ -21,7 +21,7 @@ import * as os from 'os';
21
21
  import * as path from 'path';
22
22
  import { AGENTS, resolveNativeBinaryPath } from './agents.js';
23
23
  import { getUserAgentsDir, getVersionsDir } from './state.js';
24
- import { setGlobalDefault } from './versions.js';
24
+ import { setGlobalDefault } from './installations/versions.js';
25
25
  import { createShim, createVersionedAlias, ensureShimCurrent, switchHomeFileSymlinks, assertIsolationBoundary } from './shims.js';
26
26
  const IMPORT_VERSION_RE = /^(?:latest|[A-Za-z0-9._+-]{1,64})$/;
27
27
  export function isValidImportVersion(version) {
@@ -4,7 +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
- export { foldLegacySystemRepo } from './migrate-fold.js';
7
+ export { foldLegacySystemRepo } from '../migrate-fold.js';
8
8
  /**
9
9
  * Migrate a legacy single-repo agents.yaml into ~/.agents/agents.yaml.
10
10
  *
@@ -215,5 +215,17 @@ export declare function seedActiveCursorLoginPerVersion(): void;
215
215
  * `foo.yaml` beside it. Idempotent; a no-op once the dirs are clean.
216
216
  */
217
217
  export declare function migrateKimiSubagentsToMarkdown(versionsDir?: string): void;
218
+ /**
219
+ * Remove the compiled "project" ruleset the compiler used to write into $HOME
220
+ * (RUSH-2725). `compileRulesForProject` treated any cwd with `.agents/rules`
221
+ * as a project — and the user layer at ~/.agents satisfies that test — so it
222
+ * wrote ~/AGENTS.md plus per-agent symlinks, and every session under $HOME
223
+ * then loaded the entire ruleset twice (global memory + "project" memory).
224
+ * The compiler now refuses reserved roots; this removes the artifact already
225
+ * on disk. Only files we provably own are touched: an AGENTS.md carrying the
226
+ * compiled-project header, symlinks pointing at it, and copy-fallback files
227
+ * (symlink-less filesystems) carrying the same header.
228
+ */
229
+ export declare function removeHomeCompiledProjectRules(homeDir?: string): void;
218
230
  /** Run all idempotent migrations. Safe to call multiple times. */
219
231
  export declare function runMigration(): Promise<void>;