@phnx-labs/agents-cli 1.22.113 → 1.22.115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (802) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/README.md +32 -113
  3. package/dist/browser.js +0 -0
  4. package/dist/cli/command-registry.d.ts +0 -60
  5. package/dist/cli/command-registry.js +57 -66
  6. package/dist/commands/accounts.d.ts +3 -77
  7. package/dist/commands/accounts.js +13 -366
  8. package/dist/commands/apply.d.ts +0 -4
  9. package/dist/commands/apply.js +3 -3
  10. package/dist/commands/audit.js +1 -1
  11. package/dist/commands/auth.js +0 -2
  12. package/dist/commands/browser-picker.d.ts +3 -6
  13. package/dist/commands/browser-picker.js +2 -2
  14. package/dist/commands/browser-sessions-picker.d.ts +2 -1
  15. package/dist/commands/browser.d.ts +53 -0
  16. package/dist/commands/browser.js +199 -9
  17. package/dist/commands/computer-sessions-picker.d.ts +2 -1
  18. package/dist/commands/computer.d.ts +14 -19
  19. package/dist/commands/computer.js +65 -10
  20. package/dist/commands/config.js +46 -2
  21. package/dist/commands/daemon.d.ts +0 -23
  22. package/dist/commands/daemon.js +1 -1
  23. package/dist/commands/detach-core.d.ts +2 -1
  24. package/dist/commands/detach.d.ts +0 -3
  25. package/dist/commands/detach.js +3 -3
  26. package/dist/commands/doctor.d.ts +2 -3
  27. package/dist/commands/doctor.js +0 -11
  28. package/dist/commands/events.d.ts +1 -3
  29. package/dist/commands/events.js +4 -7
  30. package/dist/commands/exec.d.ts +0 -1
  31. package/dist/commands/exec.js +2 -7
  32. package/dist/commands/feed-watch.js +52 -8
  33. package/dist/commands/feed.d.ts +3 -3
  34. package/dist/commands/feed.js +1 -1
  35. package/dist/commands/focus.d.ts +4 -4
  36. package/dist/commands/focus.js +1 -1
  37. package/dist/commands/go.d.ts +0 -17
  38. package/dist/commands/go.js +2 -19
  39. package/dist/commands/harness-hooks.d.ts +0 -7
  40. package/dist/commands/harness-hooks.js +1 -1
  41. package/dist/commands/harness-wizard.d.ts +2 -2
  42. package/dist/commands/harness.d.ts +3 -8
  43. package/dist/commands/harness.js +1 -1
  44. package/dist/commands/inspect.d.ts +2 -3
  45. package/dist/commands/inspect.js +1 -1
  46. package/dist/commands/logs.js +1 -1
  47. package/dist/commands/mcp.js +8 -83
  48. package/dist/commands/memory.js +4 -47
  49. package/dist/commands/message.d.ts +1 -1
  50. package/dist/commands/message.js +7 -7
  51. package/dist/commands/plugins.js +1 -93
  52. package/dist/commands/projects.d.ts +2 -18
  53. package/dist/commands/projects.js +89 -3
  54. package/dist/commands/repo.js +0 -44
  55. package/dist/commands/resource-view.d.ts +3 -2
  56. package/dist/commands/resume.d.ts +0 -1
  57. package/dist/commands/resume.js +5 -2
  58. package/dist/commands/routines.d.ts +1 -3
  59. package/dist/commands/routines.js +1 -1
  60. package/dist/commands/run-account-picker.d.ts +2 -1
  61. package/dist/commands/run-broadcast.d.ts +2 -1
  62. package/dist/commands/run-device-picker.d.ts +2 -1
  63. package/dist/commands/secrets-passthrough.d.ts +14 -0
  64. package/dist/commands/secrets-passthrough.js +23 -4
  65. package/dist/commands/send.d.ts +4 -4
  66. package/dist/commands/send.js +6 -51
  67. package/dist/commands/sessions-backfill.d.ts +2 -35
  68. package/dist/commands/sessions-backfill.js +1 -1
  69. package/dist/commands/sessions-backup-setup.js +1 -1
  70. package/dist/commands/sessions-bookmark.d.ts +0 -10
  71. package/dist/commands/sessions-bookmark.js +1 -1
  72. package/dist/commands/sessions-inject.d.ts +2 -3
  73. package/dist/commands/sessions-inject.js +8 -17
  74. package/dist/commands/sessions-picker-factory.d.ts +4 -14
  75. package/dist/commands/sessions-picker-factory.js +2 -2
  76. package/dist/commands/sessions-picker.d.ts +3 -9
  77. package/dist/commands/sessions-picker.js +2 -2
  78. package/dist/commands/sessions-resume.d.ts +2 -4
  79. package/dist/commands/sessions-resume.js +0 -6
  80. package/dist/commands/sessions-share.d.ts +5 -7
  81. package/dist/commands/sessions-share.js +98 -49
  82. package/dist/commands/sessions-stats.d.ts +2 -1
  83. package/dist/commands/sessions-stop.d.ts +0 -3
  84. package/dist/commands/sessions-stop.js +1 -1
  85. package/dist/commands/sessions-tail.d.ts +2 -1
  86. package/dist/commands/sessions-trace.d.ts +4 -6
  87. package/dist/commands/sessions-trace.js +1 -1
  88. package/dist/commands/sessions.d.ts +13 -104
  89. package/dist/commands/sessions.js +11 -18
  90. package/dist/commands/setup-browser.js +18 -2
  91. package/dist/commands/setup-computer.js +20 -6
  92. package/dist/commands/setup-mine.d.ts +0 -6
  93. package/dist/commands/setup-mine.js +1 -1
  94. package/dist/commands/setup-secrets.js +24 -4
  95. package/dist/commands/setup-terminal.d.ts +3 -0
  96. package/dist/commands/setup-terminal.js +22 -0
  97. package/dist/commands/setup.d.ts +3 -4
  98. package/dist/commands/setup.js +21 -11
  99. package/dist/commands/skills.js +0 -8
  100. package/dist/commands/ssh.d.ts +6 -0
  101. package/dist/commands/ssh.js +92 -233
  102. package/dist/commands/sync.js +14 -5
  103. package/dist/commands/teams-picker.d.ts +2 -5
  104. package/dist/commands/teams-picker.js +2 -2
  105. package/dist/commands/teams.d.ts +1 -7
  106. package/dist/commands/teams.js +2 -2
  107. package/dist/commands/tmux.d.ts +1 -1
  108. package/dist/commands/tmux.js +1 -1
  109. package/dist/commands/traces.js +1 -1
  110. package/dist/commands/upgrade.d.ts +2 -1
  111. package/dist/commands/utils.d.ts +1 -1
  112. package/dist/commands/utils.js +1 -1
  113. package/dist/lib/account-capabilities.d.ts +2 -1
  114. package/dist/lib/account-catalog.d.ts +4 -13
  115. package/dist/lib/account-catalog.js +1 -1
  116. package/dist/lib/account-registry.d.ts +3 -4
  117. package/dist/lib/account-registry.js +1 -1
  118. package/dist/lib/accounting/account-launch.d.ts +4 -3
  119. package/dist/lib/accounting/account-pool.d.ts +2 -1
  120. package/dist/lib/accounting/rotate.d.ts +3 -9
  121. package/dist/lib/accounting/rotate.js +2 -14
  122. package/dist/lib/accounting/usage-sync.d.ts +5 -4
  123. package/dist/lib/accounting/usage.d.ts +7 -31
  124. package/dist/lib/accounting/usage.js +4 -4
  125. package/dist/lib/accounts/add.d.ts +0 -5
  126. package/dist/lib/accounts/add.js +1 -7
  127. package/dist/lib/accounts/migrate.d.ts +8 -8
  128. package/dist/lib/accounts/migrate.js +1 -1
  129. package/dist/lib/acp/client.d.ts +3 -2
  130. package/dist/lib/acp/harnesses.d.ts +2 -2
  131. package/dist/lib/acp/harnesses.js +1 -1
  132. package/dist/lib/acp/run.d.ts +2 -1
  133. package/dist/lib/actor.d.ts +3 -2
  134. package/dist/lib/add-dir.d.ts +2 -17
  135. package/dist/lib/add-dir.js +2 -6
  136. package/dist/lib/address.d.ts +56 -0
  137. package/dist/lib/address.js +143 -0
  138. package/dist/lib/agent-spec/agents.d.ts +12 -28
  139. package/dist/lib/agent-spec/agents.js +2 -6
  140. package/dist/lib/agent-spec/primitives.d.ts +0 -7
  141. package/dist/lib/agent-spec/primitives.js +0 -6
  142. package/dist/lib/agent-spec/types.d.ts +2 -1
  143. package/dist/lib/analytics/dashboard.d.ts +1 -5
  144. package/dist/lib/analytics/dashboard.js +0 -2
  145. package/dist/lib/analytics/mix-commands.d.ts +0 -7
  146. package/dist/lib/analytics/mix-commands.js +3 -3
  147. package/dist/lib/analytics/recipes.d.ts +0 -12
  148. package/dist/lib/analytics/recipes.js +7 -31
  149. package/dist/lib/analytics/usage-db.d.ts +5 -32
  150. package/dist/lib/analytics/usage-db.js +1 -70
  151. package/dist/lib/answer-router.d.ts +7 -6
  152. package/dist/lib/answer-router.js +5 -11
  153. package/dist/lib/artifact-actions.d.ts +0 -4
  154. package/dist/lib/artifacts-client.d.ts +20 -0
  155. package/dist/lib/artifacts-client.js +46 -0
  156. package/dist/lib/ask-classifier.d.ts +3 -4
  157. package/dist/lib/ask-classifier.js +0 -7
  158. package/dist/lib/auth-health.d.ts +3 -46
  159. package/dist/lib/auth-health.js +3 -3
  160. package/dist/lib/auth-mint.d.ts +6 -6
  161. package/dist/lib/auth-mint.js +7 -7
  162. package/dist/lib/bench/runner.d.ts +2 -2
  163. package/dist/lib/bench/runner.js +1 -1
  164. package/dist/lib/bench/storage.d.ts +0 -1
  165. package/dist/lib/bench/storage.js +1 -1
  166. package/dist/lib/boot-profile.d.ts +0 -2
  167. package/dist/lib/boot-profile.js +0 -4
  168. package/dist/lib/brand.d.ts +0 -6
  169. package/dist/lib/brand.js +1 -1
  170. package/dist/lib/browser/arc-discovery.d.ts +4 -12
  171. package/dist/lib/browser/arc-discovery.js +1 -1
  172. package/dist/lib/browser/cdp.d.ts +1 -1
  173. package/dist/lib/browser/chrome.d.ts +2 -2
  174. package/dist/lib/browser/chrome.js +0 -4
  175. package/dist/lib/browser/chromium-discovery.d.ts +3 -2
  176. package/dist/lib/browser/drivers/arc.d.ts +3 -20
  177. package/dist/lib/browser/drivers/arc.js +2 -7
  178. package/dist/lib/browser/drivers/firefox.d.ts +2 -6
  179. package/dist/lib/browser/drivers/firefox.js +1 -1
  180. package/dist/lib/browser/drivers/local.d.ts +2 -1
  181. package/dist/lib/browser/drivers/ssh.d.ts +2 -3
  182. package/dist/lib/browser/drivers/ssh.js +0 -7
  183. package/dist/lib/browser/firefox-discovery.d.ts +4 -3
  184. package/dist/lib/browser/har.d.ts +8 -7
  185. package/dist/lib/browser/hygiene.d.ts +2 -3
  186. package/dist/lib/browser/hygiene.js +1 -1
  187. package/dist/lib/browser/ipc.d.ts +4 -3
  188. package/dist/lib/browser/ipc.js +1 -1
  189. package/dist/lib/browser/login-detection.d.ts +1 -8
  190. package/dist/lib/browser/registry.d.ts +2 -1
  191. package/dist/lib/browser/remote-control.d.ts +0 -7
  192. package/dist/lib/browser/remote-control.js +2 -2
  193. package/dist/lib/browser/resolve-target.d.ts +2 -6
  194. package/dist/lib/browser/resolve-target.js +3 -3
  195. package/dist/lib/browser/runtime-state.d.ts +59 -4
  196. package/dist/lib/browser/runtime-state.js +99 -18
  197. package/dist/lib/browser/service.d.ts +4 -4
  198. package/dist/lib/browser/service.js +21 -1
  199. package/dist/lib/browser/sessions-list.d.ts +0 -10
  200. package/dist/lib/browser/sessions-list.js +3 -3
  201. package/dist/lib/browser/stream.d.ts +2 -1
  202. package/dist/lib/browser/task-index.d.ts +4 -4
  203. package/dist/lib/browser/task-index.js +1 -1
  204. package/dist/lib/browser/types.d.ts +0 -20
  205. package/dist/lib/browser/types.js +1 -34
  206. package/dist/lib/browser/upload.d.ts +0 -27
  207. package/dist/lib/budget/ledger.d.ts +0 -2
  208. package/dist/lib/budget/ledger.js +1 -1
  209. package/dist/lib/budget/live-cloud.d.ts +2 -1
  210. package/dist/lib/budget/preflight.d.ts +3 -5
  211. package/dist/lib/budget/preflight.js +1 -1
  212. package/dist/lib/catchup.d.ts +2 -1
  213. package/dist/lib/channels/owner-forward.d.ts +5 -4
  214. package/dist/lib/channels/owner-sink.js +2 -2
  215. package/dist/lib/channels/providers/desktop.js +1 -1
  216. package/dist/lib/channels/providers/rush.d.ts +2 -1
  217. package/dist/lib/channels/registry.d.ts +1 -1
  218. package/dist/lib/channels/registry.js +1 -1
  219. package/dist/lib/channels/resolve.d.ts +3 -2
  220. package/dist/lib/channels/send.d.ts +5 -4
  221. package/dist/lib/cli-resources.d.ts +3 -9
  222. package/dist/lib/cli-resources.js +4 -2
  223. package/dist/lib/cloud/cursor.d.ts +1 -2
  224. package/dist/lib/cloud/cursor.js +1 -1
  225. package/dist/lib/cloud/dispatch.d.ts +2 -1
  226. package/dist/lib/cloud/dispatch.js +1 -1
  227. package/dist/lib/cloud/factory.d.ts +0 -2
  228. package/dist/lib/cloud/factory.js +1 -1
  229. package/dist/lib/cloud/rush.d.ts +3 -11
  230. package/dist/lib/cloud/rush.js +1 -1
  231. package/dist/lib/cloud/session-index.d.ts +2 -1
  232. package/dist/lib/cloud/types.d.ts +2 -1
  233. package/dist/lib/cloudflare/creds.d.ts +10 -0
  234. package/dist/lib/cloudflare/creds.js +46 -0
  235. package/dist/lib/cloudflare/provision.d.ts +35 -0
  236. package/dist/lib/cloudflare/provision.js +144 -0
  237. package/dist/lib/codex-policy.d.ts +2 -1
  238. package/dist/lib/commands.d.ts +7 -7
  239. package/dist/lib/commands.js +1 -1
  240. package/dist/lib/comms-render.d.ts +1 -1
  241. package/dist/lib/computer/context.d.ts +11 -3
  242. package/dist/lib/computer/context.js +2 -2
  243. package/dist/lib/computer/policy.d.ts +0 -12
  244. package/dist/lib/computer/policy.js +1 -1
  245. package/dist/lib/computer/sessions-list.d.ts +55 -0
  246. package/dist/lib/computer/sessions-list.js +168 -1
  247. package/dist/lib/computer-client.d.ts +3 -3
  248. package/dist/lib/computer-client.js +0 -1
  249. package/dist/lib/concurrency.d.ts +2 -1
  250. package/dist/lib/config-keys.d.ts +16 -3
  251. package/dist/lib/config-keys.js +47 -2
  252. package/dist/lib/convert.d.ts +0 -12
  253. package/dist/lib/convert.js +1 -12
  254. package/dist/lib/crabbox/cli.d.ts +6 -24
  255. package/dist/lib/crabbox/cli.js +2 -28
  256. package/dist/lib/crabbox/lease.d.ts +5 -6
  257. package/dist/lib/crabbox/lease.js +1 -1
  258. package/dist/lib/crabbox/progress.d.ts +2 -1
  259. package/dist/lib/crabbox/setup-copy.d.ts +2 -3
  260. package/dist/lib/crabbox/setup-copy.js +1 -1
  261. package/dist/lib/daemon/account-state-daemon-service.d.ts +1 -1
  262. package/dist/lib/daemon/attention-notify-service.d.ts +2 -1
  263. package/dist/lib/daemon/catchup-service.d.ts +2 -1
  264. package/dist/lib/daemon/daemon.d.ts +4 -4
  265. package/dist/lib/daemon/daemon.js +9 -2
  266. package/dist/lib/daemon/feed-stream-service.d.ts +23 -0
  267. package/dist/lib/daemon/feed-stream-service.js +40 -0
  268. package/dist/lib/daemon/harness-update-service.d.ts +2 -19
  269. package/dist/lib/daemon/harness-update-service.js +3 -3
  270. package/dist/lib/daemon/runner.d.ts +3 -3
  271. package/dist/lib/daemon/self-update-service.d.ts +1 -16
  272. package/dist/lib/daemon/self-update-service.js +6 -6
  273. package/dist/lib/daemon/state-dir-check-service.d.ts +2 -1
  274. package/dist/lib/daemon/supervisor.d.ts +3 -2
  275. package/dist/lib/daemon-services.d.ts +3 -2
  276. package/dist/lib/daemon-services.js +5 -0
  277. package/dist/lib/daemon-webhooks.d.ts +1 -1
  278. package/dist/lib/deeplink/register.d.ts +3 -13
  279. package/dist/lib/deeplink/register.js +3 -3
  280. package/dist/lib/deeplink/url.d.ts +3 -2
  281. package/dist/lib/device-config.d.ts +4 -15
  282. package/dist/lib/device-config.js +164 -8
  283. package/dist/lib/devices/connect.d.ts +51 -6
  284. package/dist/lib/devices/connect.js +169 -21
  285. package/dist/lib/devices/discovery-policy.d.ts +3 -2
  286. package/dist/lib/devices/doctor-findings.js +1 -1
  287. package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
  288. package/dist/lib/devices/fleet-divergence.d.ts +2 -1
  289. package/dist/lib/devices/fleet.d.ts +3 -4
  290. package/dist/lib/devices/fleet.js +1 -1
  291. package/dist/lib/devices/harness-inventory.d.ts +3 -2
  292. package/dist/lib/devices/health-report.d.ts +3 -2
  293. package/dist/lib/devices/health.d.ts +1 -8
  294. package/dist/lib/devices/health.js +1 -1
  295. package/dist/lib/devices/interactive-host.d.ts +0 -2
  296. package/dist/lib/devices/interactive-host.js +1 -1
  297. package/dist/lib/devices/known-hosts.d.ts +2 -20
  298. package/dist/lib/devices/known-hosts.js +2 -2
  299. package/dist/lib/devices/pool.d.ts +2 -1
  300. package/dist/lib/devices/resolve-target.d.ts +2 -2
  301. package/dist/lib/devices/rollout-verify.d.ts +3 -2
  302. package/dist/lib/devices/stats-cache.d.ts +3 -2
  303. package/dist/lib/devices/sync.d.ts +6 -5
  304. package/dist/lib/devices/worker-pick.d.ts +3 -12
  305. package/dist/lib/devices/worker-pick.js +1 -1
  306. package/dist/lib/diff-text.d.ts +2 -1
  307. package/dist/lib/doctor-diff.d.ts +2 -1
  308. package/dist/lib/drift-sync.d.ts +3 -2
  309. package/dist/lib/drift.d.ts +3 -3
  310. package/dist/lib/drift.js +1 -1
  311. package/dist/lib/event-families.d.ts +0 -6
  312. package/dist/lib/event-families.js +3 -3
  313. package/dist/lib/event-provenance.d.ts +2 -1
  314. package/dist/lib/events-ingest.d.ts +4 -3
  315. package/dist/lib/exec-account-home.d.ts +2 -4
  316. package/dist/lib/exec-account-home.js +1 -1
  317. package/dist/lib/exec-bounded.d.ts +3 -4
  318. package/dist/lib/exec-bounded.js +1 -1
  319. package/dist/lib/exec.d.ts +6 -18
  320. package/dist/lib/exec.js +1 -1
  321. package/dist/lib/factory/snapshot.d.ts +2 -2
  322. package/dist/lib/factory/snapshot.js +1 -1
  323. package/dist/lib/feed/activity-stream.d.ts +2 -5
  324. package/dist/lib/feed/activity-stream.js +2 -2
  325. package/dist/lib/feed/activity.d.ts +8 -33
  326. package/dist/lib/feed/activity.js +8 -8
  327. package/dist/lib/feed/answer.d.ts +3 -2
  328. package/dist/lib/feed/attention.js +5 -1
  329. package/dist/lib/feed/envelope.d.ts +79 -0
  330. package/dist/lib/feed/envelope.js +23 -0
  331. package/dist/lib/feed/events.d.ts +8 -47
  332. package/dist/lib/feed/events.js +9 -141
  333. package/dist/lib/feed/feed.d.ts +9 -42
  334. package/dist/lib/feed/feed.js +1 -60
  335. package/dist/lib/feed/hub-server.d.ts +86 -0
  336. package/dist/lib/feed/hub-server.js +334 -0
  337. package/dist/lib/feed/hub.d.ts +95 -0
  338. package/dist/lib/feed/hub.js +255 -0
  339. package/dist/lib/feed/pr-status.d.ts +0 -2
  340. package/dist/lib/feed/pr-status.js +1 -5
  341. package/dist/lib/feed/tool-activity.d.ts +108 -0
  342. package/dist/lib/feed/tool-activity.js +313 -0
  343. package/dist/lib/feed/tools.d.ts +198 -0
  344. package/dist/lib/feed/tools.js +265 -0
  345. package/dist/lib/feed/watch.d.ts +51 -52
  346. package/dist/lib/feed/watch.js +147 -17
  347. package/dist/lib/feed-broadcast.d.ts +5 -47
  348. package/dist/lib/feed-broadcast.js +9 -9
  349. package/dist/lib/feed-outcome.d.ts +3 -6
  350. package/dist/lib/feed-outcome.js +2 -2
  351. package/dist/lib/feed-policy.d.ts +5 -6
  352. package/dist/lib/feed-policy.js +2 -2
  353. package/dist/lib/feed-post.d.ts +3 -4
  354. package/dist/lib/feed-post.js +1 -1
  355. package/dist/lib/feed-ranking.d.ts +2 -2
  356. package/dist/lib/feed-ranking.js +1 -1
  357. package/dist/lib/fleet/apply.d.ts +5 -6
  358. package/dist/lib/fleet/apply.js +4 -4
  359. package/dist/lib/fleet/manifest.d.ts +2 -1
  360. package/dist/lib/fleet/remote-login.d.ts +18 -36
  361. package/dist/lib/fleet/remote-login.js +20 -19
  362. package/dist/lib/fleet/types.d.ts +0 -8
  363. package/dist/lib/fleet-cache.d.ts +1 -18
  364. package/dist/lib/fleet-cache.js +0 -5
  365. package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
  366. package/dist/lib/fleet-shared-repo-sync.js +1 -1
  367. package/dist/lib/fleet-shared-state.d.ts +3 -2
  368. package/dist/lib/format.d.ts +3 -2
  369. package/dist/lib/format.js +1 -1
  370. package/dist/lib/friction-heuristics.d.ts +2 -1
  371. package/dist/lib/fs-walk.d.ts +2 -1
  372. package/dist/lib/fuzzy.d.ts +2 -1
  373. package/dist/lib/gemini-settings.d.ts +0 -1
  374. package/dist/lib/gemini-settings.js +1 -1
  375. package/dist/lib/git.d.ts +7 -81
  376. package/dist/lib/git.js +2 -199
  377. package/dist/lib/github/gh-overload.d.ts +0 -4
  378. package/dist/lib/github/gh-overload.js +2 -2
  379. package/dist/lib/github/project-prs.d.ts +118 -0
  380. package/dist/lib/github/project-prs.js +173 -0
  381. package/dist/lib/github/rest.d.ts +2 -1
  382. package/dist/lib/harness/exec-config-version.d.ts +2 -1
  383. package/dist/lib/harness-auth-capabilities.d.ts +5 -4
  384. package/dist/lib/harness-connection-test.d.ts +2 -1
  385. package/dist/lib/heal.d.ts +3 -20
  386. package/dist/lib/heal.js +2 -39
  387. package/dist/lib/help.d.ts +3 -2
  388. package/dist/lib/helper-download.d.ts +0 -12
  389. package/dist/lib/helper-download.js +2 -2
  390. package/dist/lib/helper-versions.d.ts +2 -1
  391. package/dist/lib/helper-versions.js +1 -1
  392. package/dist/lib/hooks/install.d.ts +8 -49
  393. package/dist/lib/hooks/install.js +2 -96
  394. package/dist/lib/hooks/match.d.ts +2 -1
  395. package/dist/lib/hosts/credential-transport.d.ts +0 -2
  396. package/dist/lib/hosts/credential-transport.js +1 -1
  397. package/dist/lib/hosts/dispatch.d.ts +2 -24
  398. package/dist/lib/hosts/dispatch.js +2 -2
  399. package/dist/lib/hosts/logs.d.ts +2 -1
  400. package/dist/lib/hosts/passthrough.d.ts +1 -1
  401. package/dist/lib/hosts/passthrough.js +0 -1
  402. package/dist/lib/hosts/progress.d.ts +0 -5
  403. package/dist/lib/hosts/progress.js +1 -1
  404. package/dist/lib/hosts/ready.d.ts +3 -4
  405. package/dist/lib/hosts/ready.js +0 -8
  406. package/dist/lib/hosts/reconcile.d.ts +2 -8
  407. package/dist/lib/hosts/reconcile.js +1 -1
  408. package/dist/lib/hosts/reconnect.d.ts +4 -11
  409. package/dist/lib/hosts/reconnect.js +2 -2
  410. package/dist/lib/hosts/registry.d.ts +1 -1
  411. package/dist/lib/hosts/remote-cmd.d.ts +55 -4
  412. package/dist/lib/hosts/remote-cmd.js +125 -8
  413. package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +2 -0
  414. package/dist/lib/hosts/remote-cmd.test-fixture.js +22 -0
  415. package/dist/lib/hosts/session-index.d.ts +3 -2
  416. package/dist/lib/hosts/ssh-config.d.ts +2 -3
  417. package/dist/lib/hosts/ssh-config.js +0 -10
  418. package/dist/lib/humans.d.ts +0 -2
  419. package/dist/lib/humans.js +2 -2
  420. package/dist/lib/import.d.ts +4 -3
  421. package/dist/lib/installations/installation-lock.d.ts +0 -2
  422. package/dist/lib/installations/installation-lock.js +2 -2
  423. package/dist/lib/installations/launch-gate.d.ts +0 -9
  424. package/dist/lib/installations/launch-gate.js +1 -1
  425. package/dist/lib/installations/migrate.d.ts +0 -11
  426. package/dist/lib/installations/migrate.js +1 -1
  427. package/dist/lib/installations/shims.d.ts +1 -1
  428. package/dist/lib/installations/shims.js +2 -2
  429. package/dist/lib/installations/update-runtime.js +1 -1
  430. package/dist/lib/linear-cache.d.ts +2 -1
  431. package/dist/lib/linux-userns.d.ts +2 -3
  432. package/dist/lib/linux-userns.js +0 -4
  433. package/dist/lib/loop.d.ts +2 -1
  434. package/dist/lib/mailbox-gc.d.ts +2 -1
  435. package/dist/lib/mailbox-target.d.ts +2 -1
  436. package/dist/lib/mailbox.d.ts +0 -6
  437. package/dist/lib/mailbox.js +1 -1
  438. package/dist/lib/manifest.d.ts +0 -14
  439. package/dist/lib/manifest.js +2 -2
  440. package/dist/lib/mcp-registry.d.ts +2 -1
  441. package/dist/lib/mcp.js +17 -11
  442. package/dist/lib/memory.d.ts +2 -13
  443. package/dist/lib/memory.js +4 -4
  444. package/dist/lib/menubar/download-menubar.d.ts +0 -2
  445. package/dist/lib/menubar/download-menubar.js +1 -5
  446. package/dist/lib/menubar/install-menubar.d.ts +3 -14
  447. package/dist/lib/menubar/install-menubar.js +3 -3
  448. package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
  449. package/dist/lib/menubar/migrate-prefs.js +168 -0
  450. package/dist/lib/menubar/resolve-version.d.ts +1 -9
  451. package/dist/lib/menubar/resolve-version.js +4 -4
  452. package/dist/lib/menubar/snapshot.d.ts +24 -2
  453. package/dist/lib/menubar/snapshot.js +26 -0
  454. package/dist/lib/model-tier-overrides.d.ts +3 -2
  455. package/dist/lib/monitors/config.d.ts +0 -2
  456. package/dist/lib/monitors/config.js +0 -4
  457. package/dist/lib/monitors/engine.d.ts +1 -1
  458. package/dist/lib/monitors/remote.d.ts +3 -2
  459. package/dist/lib/monitors/sources/webhook.d.ts +2 -15
  460. package/dist/lib/monitors/sources/webhook.js +1 -38
  461. package/dist/lib/monitors/state.d.ts +4 -7
  462. package/dist/lib/monitors/state.js +2 -2
  463. package/dist/lib/notify.d.ts +1 -1
  464. package/dist/lib/notify.js +1 -1
  465. package/dist/lib/onepassword.d.ts +5 -14
  466. package/dist/lib/onepassword.js +0 -64
  467. package/dist/lib/open-url.d.ts +3 -2
  468. package/dist/lib/openclaw-keychain.d.ts +4 -17
  469. package/dist/lib/openclaw-keychain.js +3 -33
  470. package/dist/lib/operator.d.ts +2 -2
  471. package/dist/lib/operator.js +1 -1
  472. package/dist/lib/output/git-output.d.ts +4 -14
  473. package/dist/lib/output/git-output.js +1 -1
  474. package/dist/lib/owner-message.d.ts +3 -29
  475. package/dist/lib/owner-message.js +3 -3
  476. package/dist/lib/packages/output-home.d.ts +2 -4
  477. package/dist/lib/packages/output-home.js +2 -2
  478. package/dist/lib/perf/db.d.ts +0 -2
  479. package/dist/lib/perf/db.js +2 -7
  480. package/dist/lib/permissions-registry.d.ts +2 -3
  481. package/dist/lib/permissions-registry.js +0 -4
  482. package/dist/lib/permissions.d.ts +6 -16
  483. package/dist/lib/permissions.js +2 -15
  484. package/dist/lib/picker.d.ts +6 -5
  485. package/dist/lib/placement.d.ts +3 -6
  486. package/dist/lib/placement.js +0 -17
  487. package/dist/lib/platform/posixpath.d.ts +2 -1
  488. package/dist/lib/platform/winpath.d.ts +2 -1
  489. package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
  490. package/dist/lib/plugins/plugin-marketplace.js +1 -1
  491. package/dist/lib/pr-land-detach.d.ts +2 -1
  492. package/dist/lib/probe.d.ts +4 -1
  493. package/dist/lib/probe.js +5 -2
  494. package/dist/lib/profiles-presets.d.ts +2 -1
  495. package/dist/lib/profiles.d.ts +3 -9
  496. package/dist/lib/profiles.js +1 -9
  497. package/dist/lib/project-doctor.d.ts +2 -1
  498. package/dist/lib/project-launch.d.ts +2 -2
  499. package/dist/lib/project-probe.d.ts +4 -3
  500. package/dist/lib/project-pull.d.ts +2 -1
  501. package/dist/lib/project-resources.d.ts +2 -2
  502. package/dist/lib/project-resources.js +1 -1
  503. package/dist/lib/project-root.d.ts +2 -6
  504. package/dist/lib/project-root.js +1 -1
  505. package/dist/lib/project-schedule.d.ts +2 -1
  506. package/dist/lib/project-status.d.ts +2 -16
  507. package/dist/lib/project-status.js +3 -3
  508. package/dist/lib/pwsh.d.ts +33 -0
  509. package/dist/lib/pwsh.js +56 -0
  510. package/dist/lib/reconcile-and-repair.d.ts +5 -4
  511. package/dist/lib/redact.d.ts +15 -1
  512. package/dist/lib/redact.js +105 -3
  513. package/dist/lib/refresh-coordinator.d.ts +2 -1
  514. package/dist/lib/refresh.d.ts +9 -4
  515. package/dist/lib/refresh.js +92 -72
  516. package/dist/lib/remote-agents-json.d.ts +3 -2
  517. package/dist/lib/reserved-stores.d.ts +0 -2
  518. package/dist/lib/reserved-stores.js +3 -5
  519. package/dist/lib/resource-content-diff.d.ts +0 -2
  520. package/dist/lib/resource-content-diff.js +1 -1
  521. package/dist/lib/resource-patterns.d.ts +2 -1
  522. package/dist/lib/resource-profiles.d.ts +2 -8
  523. package/dist/lib/resource-profiles.js +3 -27
  524. package/dist/lib/resources/workflows.d.ts +1 -1
  525. package/dist/lib/resources.d.ts +4 -9
  526. package/dist/lib/resources.js +1 -1
  527. package/dist/lib/routine-context.d.ts +2 -5
  528. package/dist/lib/routine-context.js +2 -2
  529. package/dist/lib/routine-notify-owner.d.ts +8 -7
  530. package/dist/lib/routine-notify-owner.js +5 -5
  531. package/dist/lib/routine-process-cleanup.d.ts +2 -1
  532. package/dist/lib/routine-readiness.d.ts +0 -2
  533. package/dist/lib/routine-readiness.js +0 -7
  534. package/dist/lib/routines-project.d.ts +3 -4
  535. package/dist/lib/routines-project.js +1 -1
  536. package/dist/lib/rules/compile.d.ts +3 -25
  537. package/dist/lib/rules/compile.js +1 -1
  538. package/dist/lib/rules/compose.d.ts +3 -9
  539. package/dist/lib/rules/rules.d.ts +4 -15
  540. package/dist/lib/rules/rules.js +1 -64
  541. package/dist/lib/run-defaults.d.ts +1 -1
  542. package/dist/lib/run-notify.d.ts +2 -1
  543. package/dist/lib/run-trace-sync.d.ts +1 -1
  544. package/dist/lib/run-trace-sync.js +1 -1
  545. package/dist/lib/scheduler.d.ts +2 -1
  546. package/dist/lib/scheduling/routines.d.ts +9 -21
  547. package/dist/lib/scheduling/routines.js +3 -46
  548. package/dist/lib/secrets-cli.d.ts +11 -0
  549. package/dist/lib/secrets-cli.js +30 -0
  550. package/dist/lib/secrets-client.d.ts +0 -17
  551. package/dist/lib/secrets-client.js +7 -28
  552. package/dist/lib/secrets-policy.d.ts +12 -17
  553. package/dist/lib/secrets-policy.js +5 -5
  554. package/dist/lib/secrets-types.d.ts +3 -2
  555. package/dist/lib/secrets-types.js +2 -1
  556. package/dist/lib/self-heal/checks/install-staging.js +1 -1
  557. package/dist/lib/self-heal/registry.d.ts +3 -2
  558. package/dist/lib/self-heal/types.d.ts +1 -1
  559. package/dist/lib/self-heal/types.js +1 -1
  560. package/dist/lib/self-update.d.ts +5 -5
  561. package/dist/lib/self-update.js +4 -4
  562. package/dist/lib/session/actor-sidecar.d.ts +3 -2
  563. package/dist/lib/session/artifacts.d.ts +0 -2
  564. package/dist/lib/session/artifacts.js +1 -1
  565. package/dist/lib/session/bash-command.d.ts +2 -7
  566. package/dist/lib/session/bundle.d.ts +4 -6
  567. package/dist/lib/session/bundle.js +1 -5
  568. package/dist/lib/session/cloud.d.ts +0 -4
  569. package/dist/lib/session/cloud.js +2 -15
  570. package/dist/lib/session/detached.d.ts +9 -1
  571. package/dist/lib/session/detached.js +31 -2
  572. package/dist/lib/session/digest.d.ts +2 -2
  573. package/dist/lib/session/digest.js +1 -1
  574. package/dist/lib/session/fork.d.ts +3 -2
  575. package/dist/lib/session/highlights.d.ts +6 -5
  576. package/dist/lib/session/hook-sessions.d.ts +2 -1
  577. package/dist/lib/session/host-link.d.ts +2 -1
  578. package/dist/lib/session/inject.d.ts +1 -1
  579. package/dist/lib/session/inject.js +1 -1
  580. package/dist/lib/session/insights.d.ts +3 -15
  581. package/dist/lib/session/insights.js +2 -2
  582. package/dist/lib/session/local-tmux-attach.d.ts +2 -18
  583. package/dist/lib/session/local-tmux-attach.js +1 -1
  584. package/dist/lib/session/migrations.d.ts +0 -1
  585. package/dist/lib/session/migrations.js +1 -1
  586. package/dist/lib/session/mirror.d.ts +5 -8
  587. package/dist/lib/session/mirror.js +2 -2
  588. package/dist/lib/session/parse.d.ts +1 -32
  589. package/dist/lib/session/parse.js +4 -4
  590. package/dist/lib/session/presence.d.ts +2 -1
  591. package/dist/lib/session/prompt.d.ts +3 -2
  592. package/dist/lib/session/prompt.js +38 -1
  593. package/dist/lib/session/recovery.d.ts +3 -2
  594. package/dist/lib/session/remote/peer-stream.d.ts +26 -7
  595. package/dist/lib/session/remote/peer-stream.js +35 -8
  596. package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
  597. package/dist/lib/session/remote/remote-list.d.ts +5 -5
  598. package/dist/lib/session/remote/remote.d.ts +4 -3
  599. package/dist/lib/session/remote/watch.d.ts +2 -7
  600. package/dist/lib/session/remote/watch.js +3 -3
  601. package/dist/lib/session/remote-active.d.ts +2 -1
  602. package/dist/lib/session/render.d.ts +2 -2
  603. package/dist/lib/session/render.js +1 -1
  604. package/dist/lib/session/resume-owner.d.ts +1 -1
  605. package/dist/lib/session/resume-owner.js +1 -1
  606. package/dist/lib/session/run-names.d.ts +2 -1
  607. package/dist/lib/session/session-cache.d.ts +7 -26
  608. package/dist/lib/session/session-cache.js +2 -8
  609. package/dist/lib/session/share-html.d.ts +1 -21
  610. package/dist/lib/session/share-html.js +1 -1
  611. package/dist/lib/session/shell-programs.d.ts +2 -1
  612. package/dist/lib/session/state.d.ts +41 -8
  613. package/dist/lib/session/state.js +112 -11
  614. package/dist/lib/session/stream-render.d.ts +2 -1
  615. package/dist/lib/session/sync/agents.d.ts +0 -4
  616. package/dist/lib/session/sync/agents.js +0 -0
  617. package/dist/lib/session/sync/backend.d.ts +8 -8
  618. package/dist/lib/session/sync/backend.js +3 -3
  619. package/dist/lib/session/sync/managed-config.d.ts +0 -8
  620. package/dist/lib/session/sync/managed-key.d.ts +0 -2
  621. package/dist/lib/session/sync/managed-key.js +1 -1
  622. package/dist/lib/session/sync/provision.d.ts +1 -1
  623. package/dist/lib/session/sync/provision.js +2 -2
  624. package/dist/lib/session/sync/r2.d.ts +4 -1
  625. package/dist/lib/session/sync/r2.js +4 -7
  626. package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
  627. package/dist/lib/session/tail.d.ts +2 -1
  628. package/dist/lib/session/team-filter.d.ts +1 -1
  629. package/dist/lib/session/throughput.d.ts +2 -3
  630. package/dist/lib/session/throughput.js +1 -1
  631. package/dist/lib/session/timeline-pass.d.ts +3 -42
  632. package/dist/lib/session/timeline-pass.js +4 -4
  633. package/dist/lib/session/timeline.d.ts +3 -13
  634. package/dist/lib/session/timeline.js +3 -3
  635. package/dist/lib/session/tool-calls.d.ts +2 -2
  636. package/dist/lib/session/tool-calls.js +1 -1
  637. package/dist/lib/session/tool-index.d.ts +0 -8
  638. package/dist/lib/session/tool-index.js +2 -2
  639. package/dist/lib/session/tool-store.d.ts +2 -1
  640. package/dist/lib/session/trajectory-compare.d.ts +2 -1
  641. package/dist/lib/session/trajectory-lineage.d.ts +2 -1
  642. package/dist/lib/session/trajectory-text.d.ts +3 -2
  643. package/dist/lib/session/trajectory.d.ts +2 -1
  644. package/dist/lib/session/viewing-in.d.ts +2 -1
  645. package/dist/lib/sessions-client.js +0 -3
  646. package/dist/lib/settings-manifest.d.ts +2 -1
  647. package/dist/lib/setup-tool-install.d.ts +3 -0
  648. package/dist/lib/setup-tool-install.js +26 -0
  649. package/dist/lib/setup-tool-status.d.ts +22 -0
  650. package/dist/lib/setup-tool-status.js +215 -0
  651. package/dist/lib/share-runtime.d.ts +11 -0
  652. package/dist/lib/share-runtime.js +63 -0
  653. package/dist/lib/shim-heal.d.ts +1 -5
  654. package/dist/lib/shim-heal.js +0 -6
  655. package/dist/lib/smart-launch.d.ts +5 -10
  656. package/dist/lib/smart-launch.js +4 -12
  657. package/dist/lib/snapshot.d.ts +3 -2
  658. package/dist/lib/ssh-exec.d.ts +49 -4
  659. package/dist/lib/ssh-exec.js +119 -0
  660. package/dist/lib/ssh-tunnel.d.ts +3 -2
  661. package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
  662. package/dist/lib/staleness/checkers/permissions.js +1 -1
  663. package/dist/lib/staleness/fingerprint.d.ts +0 -7
  664. package/dist/lib/staleness/fingerprint.js +1 -1
  665. package/dist/lib/staleness/prune.d.ts +3 -2
  666. package/dist/lib/staleness/registry.d.ts +1 -1
  667. package/dist/lib/staleness/writers/sources.d.ts +0 -8
  668. package/dist/lib/staleness/writers/sources.js +1 -1
  669. package/dist/lib/startup/command-registry.d.ts +6 -4
  670. package/dist/lib/startup/command-registry.js +11 -8
  671. package/dist/lib/state.d.ts +1 -3
  672. package/dist/lib/state.js +3 -6
  673. package/dist/lib/storage/selection.d.ts +2 -2
  674. package/dist/lib/storage/selection.js +2 -2
  675. package/dist/lib/subagents-registry.d.ts +4 -3
  676. package/dist/lib/subagents.d.ts +2 -1
  677. package/dist/lib/subagents.js +3 -2
  678. package/dist/lib/summarizer/pass.d.ts +3 -6
  679. package/dist/lib/summarizer/pass.js +2 -2
  680. package/dist/lib/summarizer/summarize.d.ts +4 -3
  681. package/dist/lib/sync-passphrase.d.ts +3 -2
  682. package/dist/lib/sync-status.d.ts +3 -16
  683. package/dist/lib/sync-status.js +2 -2
  684. package/dist/lib/sync-umbrella.d.ts +9 -3
  685. package/dist/lib/sync-umbrella.js +18 -10
  686. package/dist/lib/system-run-sync.d.ts +2 -1
  687. package/dist/lib/teams/agents.d.ts +2 -4
  688. package/dist/lib/teams/agents.js +1 -1
  689. package/dist/lib/teams/forEach.d.ts +3 -2
  690. package/dist/lib/teams/pr-watch.d.ts +4 -11
  691. package/dist/lib/teams/pr-watch.js +4 -4
  692. package/dist/lib/teams/registry.d.ts +2 -3
  693. package/dist/lib/teams/registry.js +1 -1
  694. package/dist/lib/teams/remoteWorktree.d.ts +0 -16
  695. package/dist/lib/teams/remoteWorktree.js +3 -3
  696. package/dist/lib/teams/scheduler.d.ts +6 -5
  697. package/dist/lib/teams/scheduler.js +1 -1
  698. package/dist/lib/teams/supervisor.d.ts +4 -3
  699. package/dist/lib/teams/worktree.d.ts +0 -9
  700. package/dist/lib/teams/worktree.js +0 -32
  701. package/dist/lib/term-client.d.ts +44 -0
  702. package/dist/lib/term-client.js +117 -0
  703. package/dist/lib/terminal/inject.d.ts +3 -16
  704. package/dist/lib/terminal/inject.js +1 -29
  705. package/dist/lib/terminal/resolve.d.ts +3 -9
  706. package/dist/lib/terminal/resolve.js +3 -7
  707. package/dist/lib/tmux/binary.d.ts +2 -1
  708. package/dist/lib/tmux/orphan-reap.d.ts +6 -7
  709. package/dist/lib/tmux/orphan-reap.js +1 -1
  710. package/dist/lib/tmux/session.d.ts +4 -3
  711. package/dist/lib/traces/backend.d.ts +1 -2
  712. package/dist/lib/traces/backend.js +1 -2
  713. package/dist/lib/traces/classify.d.ts +3 -2
  714. package/dist/lib/traces/config.d.ts +0 -8
  715. package/dist/lib/traces/insights.d.ts +2 -1
  716. package/dist/lib/traces/phenotype.d.ts +3 -3
  717. package/dist/lib/traces/provision.d.ts +2 -4
  718. package/dist/lib/traces/provision.js +3 -3
  719. package/dist/lib/traces/schema2-build.d.ts +1 -1
  720. package/dist/lib/traces/schema2-danger.d.ts +2 -1
  721. package/dist/lib/traces/schema2.d.ts +5 -4
  722. package/dist/lib/traces/segments.d.ts +4 -20
  723. package/dist/lib/traces/segments.js +3 -3
  724. package/dist/lib/traces/sync.d.ts +2 -3
  725. package/dist/lib/traces/sync.js +1 -1
  726. package/dist/lib/triggers/handlers.d.ts +4 -13
  727. package/dist/lib/triggers/handlers.js +1 -1
  728. package/dist/lib/triggers/webhook.d.ts +5 -27
  729. package/dist/lib/triggers/webhook.js +4 -4
  730. package/dist/lib/types.d.ts +11 -9
  731. package/dist/lib/usage-refresh.d.ts +4 -10
  732. package/dist/lib/usage-refresh.js +3 -8
  733. package/dist/lib/verbs.d.ts +2 -1
  734. package/dist/lib/version-duplicates.d.ts +2 -3
  735. package/dist/lib/version-duplicates.js +3 -33
  736. package/dist/lib/version.d.ts +2 -1
  737. package/dist/lib/warn-unpushed.d.ts +2 -1
  738. package/dist/lib/watchdog/history.d.ts +3 -2
  739. package/dist/lib/watchdog/log.d.ts +0 -6
  740. package/dist/lib/watchdog/log.js +1 -1
  741. package/dist/lib/watchdog/rotate.d.ts +2 -26
  742. package/dist/lib/watchdog/rotate.js +4 -12
  743. package/dist/lib/watchdog/runner.d.ts +0 -7
  744. package/dist/lib/watchdog/runner.js +4 -4
  745. package/dist/lib/watchdog/service.d.ts +2 -2
  746. package/dist/lib/watchdog/service.js +1 -1
  747. package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
  748. package/dist/lib/watchdog/watchdog.d.ts +2 -1
  749. package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
  750. package/dist/lib/workflows-registry.d.ts +3 -2
  751. package/dist/lib/workflows.d.ts +4 -7
  752. package/dist/lib/workflows.js +1 -1
  753. package/dist/lib/worktree/held.d.ts +4 -28
  754. package/dist/lib/worktree/held.js +3 -3
  755. package/package.json +3 -5
  756. package/scripts/postinstall.js +5 -4
  757. package/dist/commands/artifacts-setup.d.ts +0 -53
  758. package/dist/commands/artifacts-setup.js +0 -161
  759. package/dist/commands/artifacts.d.ts +0 -18
  760. package/dist/commands/artifacts.js +0 -58
  761. package/dist/commands/attach.d.ts +0 -12
  762. package/dist/commands/attach.js +0 -86
  763. package/dist/commands/auth-mint.d.ts +0 -12
  764. package/dist/commands/auth-mint.js +0 -108
  765. package/dist/commands/pty.d.ts +0 -20
  766. package/dist/commands/pty.js +0 -404
  767. package/dist/commands/reconnect.d.ts +0 -46
  768. package/dist/commands/reconnect.js +0 -115
  769. package/dist/commands/share.d.ts +0 -293
  770. package/dist/commands/share.js +0 -1424
  771. package/dist/lib/config-machine-keys.d.ts +0 -14
  772. package/dist/lib/config-machine-keys.js +0 -21
  773. package/dist/lib/pty-client.d.ts +0 -49
  774. package/dist/lib/pty-client.js +0 -315
  775. package/dist/lib/pty-server.d.ts +0 -59
  776. package/dist/lib/pty-server.js +0 -653
  777. package/dist/lib/share/analytics.d.ts +0 -13
  778. package/dist/lib/share/analytics.js +0 -45
  779. package/dist/lib/share/backend.d.ts +0 -120
  780. package/dist/lib/share/backend.js +0 -176
  781. package/dist/lib/share/capture.d.ts +0 -31
  782. package/dist/lib/share/capture.js +0 -174
  783. package/dist/lib/share/config.d.ts +0 -72
  784. package/dist/lib/share/config.js +0 -211
  785. package/dist/lib/share/delete.d.ts +0 -122
  786. package/dist/lib/share/delete.js +0 -173
  787. package/dist/lib/share/html.d.ts +0 -22
  788. package/dist/lib/share/html.js +0 -88
  789. package/dist/lib/share/http-error.d.ts +0 -52
  790. package/dist/lib/share/http-error.js +0 -65
  791. package/dist/lib/share/og.d.ts +0 -25
  792. package/dist/lib/share/og.js +0 -84
  793. package/dist/lib/share/provision.d.ts +0 -127
  794. package/dist/lib/share/provision.js +0 -285
  795. package/dist/lib/share/publish.d.ts +0 -388
  796. package/dist/lib/share/publish.js +0 -818
  797. package/dist/lib/share/worker-template.d.ts +0 -27
  798. package/dist/lib/share/worker-template.js +0 -2424
  799. package/dist/lib/storage/index.d.ts +0 -14
  800. package/dist/lib/storage/index.js +0 -14
  801. package/dist/lib/storage/visibility.d.ts +0 -82
  802. package/dist/lib/storage/visibility.js +0 -99
@@ -28,7 +28,7 @@ import { type ConfigDrift } from './config-drift.js';
28
28
  * - `missing` — source exists, nothing installed in the version home ('missing').
29
29
  * - `orphan` — installed in the home with no source ('extra'); prune's job, not sync's.
30
30
  */
31
- export type ResourceSyncStatus = 'synced' | 'drifted' | 'missing' | 'orphan';
31
+ type ResourceSyncStatus = 'synced' | 'drifted' | 'missing' | 'orphan';
32
32
  export interface ResourceStatusRow {
33
33
  agent: AgentId;
34
34
  version: string;
@@ -121,27 +121,13 @@ export declare function formatResidualDrift(residual: ResidualDrift[]): string[]
121
121
  * at, and `detail` says what differs when the differ knows.
122
122
  */
123
123
  export declare function formatDriftRows(v: AgentVersionStatus): string[];
124
- export interface SyncStatusOptions {
124
+ interface SyncStatusOptions {
125
125
  cwd?: string;
126
126
  /** Restrict to specific agent ids; undefined = every supported agent. */
127
127
  agents?: AgentId[];
128
128
  /** Restrict to specific resource kinds; undefined = all. */
129
129
  kinds?: DoctorKind[];
130
130
  }
131
- /**
132
- * Read `.system` repo freshness WITHOUT touching the network. `git status`
133
- * reports ahead/behind against the remote-tracking ref, which the detached
134
- * auto-pull worker keeps warm via periodic `git fetch`. This is the same number
135
- * the menu-bar surfaces; we read it once, here, so every surface agrees.
136
- */
137
- export declare function getSystemRepoStatus(): Promise<SystemRepoStatus>;
138
- /**
139
- * Detect whether `~/.agents` (the user config layer) is git-backed. A partial
140
- * install — runtime state present but no `.git` (or no `origin`) — is a distinct
141
- * drift state that `agents repo sync user` heals by adopting in place (PHNX-3301),
142
- * surfaced separately from per-version resource gaps. Purely local; no network.
143
- */
144
- export declare function getUserRepoStatus(): Promise<UserRepoStatus>;
145
131
  /**
146
132
  * Compute unified sync status across the fleet. Resolves against non-project
147
133
  * layers only (`excludeProject: true`) — the GLOBAL version home is never
@@ -149,3 +135,4 @@ export declare function getUserRepoStatus(): Promise<UserRepoStatus>;
149
135
  * "missing" there would be a false gap (matches doctor's overview semantics).
150
136
  */
151
137
  export declare function computeSyncStatus(options?: SyncStatusOptions): Promise<UnifiedSyncStatus>;
138
+ export {};
@@ -93,7 +93,7 @@ function rowsFromReport(agent, version, report) {
93
93
  * auto-pull worker keeps warm via periodic `git fetch`. This is the same number
94
94
  * the menu-bar surfaces; we read it once, here, so every surface agrees.
95
95
  */
96
- export async function getSystemRepoStatus() {
96
+ async function getSystemRepoStatus() {
97
97
  const dir = getSystemAgentsDir();
98
98
  const base = { dir, behind: 0, ahead: 0, branch: null, unknown: true };
99
99
  if (!isGitRepo(dir))
@@ -119,7 +119,7 @@ export async function getSystemRepoStatus() {
119
119
  * drift state that `agents repo sync user` heals by adopting in place (PHNX-3301),
120
120
  * surfaced separately from per-version resource gaps. Purely local; no network.
121
121
  */
122
- export async function getUserRepoStatus() {
122
+ async function getUserRepoStatus() {
123
123
  const dir = getUserAgentsDir();
124
124
  if (!fs.existsSync(dir))
125
125
  return { dir, notGitRepo: false };
@@ -15,6 +15,7 @@
15
15
  * arrives with `agents secrets vault unlock`, #366/#367)
16
16
  * reconcile-> refresh({ skipPrompts }) — re-materialize resources into homes
17
17
  */
18
+ import type { ResourceSelection } from './installations/versions.js';
18
19
  /** The umbrella flags off `agents sync`. */
19
20
  export interface UmbrellaFlags {
20
21
  repos?: boolean;
@@ -23,7 +24,7 @@ export interface UmbrellaFlags {
23
24
  local?: boolean;
24
25
  }
25
26
  /** Which stages a given flag combination runs. */
26
- export interface UmbrellaPlan {
27
+ interface UmbrellaPlan {
27
28
  fetchRepos: boolean;
28
29
  fetchSecrets: boolean;
29
30
  reconcile: boolean;
@@ -41,7 +42,7 @@ export interface UmbrellaPlan {
41
42
  * blast radius than the verb should carry by default.
42
43
  */
43
44
  export declare function planUmbrellaStages(f: UmbrellaFlags): UmbrellaPlan;
44
- export interface UmbrellaResult {
45
+ interface UmbrellaResult {
45
46
  plan: UmbrellaPlan;
46
47
  repos?: {
47
48
  pulled: number;
@@ -74,7 +75,7 @@ export interface UmbrellaResult {
74
75
  version: string;
75
76
  }>;
76
77
  }
77
- export interface RunUmbrellaArgs {
78
+ interface RunUmbrellaArgs {
78
79
  flags: UmbrellaFlags;
79
80
  /** Progress sink (already quiet-aware in the caller). */
80
81
  log: (msg: string) => void;
@@ -87,6 +88,10 @@ export interface RunUmbrellaArgs {
87
88
  * `agents sync --json` / fleet fan-out leave stdout as a single JSON object.
88
89
  */
89
90
  quiet?: boolean;
91
+ /** Optional resource-only reconcile across installed versions. */
92
+ selection?: ResourceSelection;
93
+ /** Explicit consent for selected plugins that add executable surfaces. */
94
+ allowExecSurfaces?: boolean;
90
95
  }
91
96
  /**
92
97
  * Execute the planned stages in order: repos -> secrets -> reconcile.
@@ -94,3 +99,4 @@ export interface RunUmbrellaArgs {
94
99
  * reconcile — `agents sync` should make as much current as it can in one pass.
95
100
  */
96
101
  export declare function runUmbrellaSync(args: RunUmbrellaArgs): Promise<UmbrellaResult>;
102
+ export {};
@@ -53,7 +53,7 @@ export function planUmbrellaStages(f) {
53
53
  * reconcile — `agents sync` should make as much current as it can in one pass.
54
54
  */
55
55
  export async function runUmbrellaSync(args) {
56
- const { flags, log, yes, passphrase, quiet = false } = args;
56
+ const { flags, log, yes, passphrase, quiet = false, selection, allowExecSurfaces = false } = args;
57
57
  const plan = planUmbrellaStages(flags);
58
58
  const result = { plan, reconciled: false, declined: [], reconciledVersions: [] };
59
59
  if (plan.fetchRepos) {
@@ -131,7 +131,13 @@ export async function runUmbrellaSync(args) {
131
131
  }
132
132
  if (plan.reconcile) {
133
133
  const { refresh } = await import('./refresh.js');
134
- const refreshed = await refresh({ skipPrompts: yes, quiet });
134
+ const refreshed = await refresh({
135
+ skipPrompts: yes,
136
+ quiet,
137
+ skipClis: selection !== undefined,
138
+ selection,
139
+ allowExecSurfaces,
140
+ });
135
141
  result.reconciled = true;
136
142
  result.declined = refreshed.declined;
137
143
  result.reconciledVersions = refreshed.reconciled;
@@ -140,14 +146,16 @@ export async function runUmbrellaSync(args) {
140
146
  // rather than silently adding them (refresh mode). Soft: a machine without
141
147
  // tailscale is a clean no-op, never a sync failure. First-run population is
142
148
  // `agents setup` / manual `agents devices sync` (bootstrap).
143
- const { runDeviceSync } = await import('./devices/sync.js');
144
- const { reconcilePendingSentinels } = await import('./devices/pending.js');
145
- const dev = await runDeviceSync({ soft: true, mode: 'refresh' });
146
- if (dev.ok)
147
- await reconcilePendingSentinels(dev.pending);
148
- result.devices = { synced: dev.synced, pending: dev.pending.length, skipped: !dev.ok };
149
- if (dev.ok) {
150
- log(`devices: ${dev.synced} refreshed${dev.pending.length ? `, ${dev.pending.length} new pending` : ''}`);
149
+ if (!selection) {
150
+ const { runDeviceSync } = await import('./devices/sync.js');
151
+ const { reconcilePendingSentinels } = await import('./devices/pending.js');
152
+ const dev = await runDeviceSync({ soft: true, mode: 'refresh' });
153
+ if (dev.ok)
154
+ await reconcilePendingSentinels(dev.pending);
155
+ result.devices = { synced: dev.synced, pending: dev.pending.length, skipped: !dev.ok };
156
+ if (dev.ok) {
157
+ log(`devices: ${dev.synced} refreshed${dev.pending.length ? `, ${dev.pending.length} new pending` : ''}`);
158
+ }
151
159
  }
152
160
  }
153
161
  return result;
@@ -1,5 +1,5 @@
1
1
  import type { AgentId } from './types.js';
2
- export interface SystemRunSyncResult {
2
+ interface SystemRunSyncResult {
3
3
  /** Names rewritten per kind; empty when the sentinel matched (skip-fast). */
4
4
  skills: string[];
5
5
  subagents: string[];
@@ -9,3 +9,4 @@ export interface SystemRunSyncResult {
9
9
  * their source directories changed since the last run for (agent, version).
10
10
  */
11
11
  export declare function applySystemResourcesAtRun(agent: AgentId, version: string, versionHome: string): SystemRunSyncResult;
12
+ export {};
@@ -24,8 +24,6 @@ export declare enum AgentStatus {
24
24
  * bug — it swept live `pending` `--after` teammates past the 50-record cap.
25
25
  */
26
26
  export declare const TERMINAL_STATUSES: ReadonlySet<AgentStatus>;
27
- /** True when a teammate has reached a terminal (completed/failed/stopped) status. */
28
- export declare function isTerminalStatus(status: AgentStatus): boolean;
29
27
  export type TeammateFailureStage = 'placement' | 'spawn' | 'execution' | 'dependency' | 'cloud';
30
28
  /** Durable evidence observed at a concrete teammate lifecycle boundary. */
31
29
  export interface TeammateFailure {
@@ -48,7 +46,7 @@ export interface TeammateFailure {
48
46
  * forever". Collapsing GONE into the empty-`.exit` case is exactly the bug
49
47
  * that left a dead `--device` teammate RUNNING indefinitely.
50
48
  */
51
- export interface RemoteLivenessSnapshot {
49
+ interface RemoteLivenessSnapshot {
52
50
  alive: boolean;
53
51
  exit: string | null;
54
52
  exitFilePresent: boolean;
@@ -145,7 +143,7 @@ export declare function checkAllClis(): Record<string, {
145
143
  */
146
144
  export declare function checkCliSignedIn(agentType: AgentType): Promise<boolean>;
147
145
  /** Advisory sign-in status for a `teams doctor` row. */
148
- export interface SignInAdvisory {
146
+ interface SignInAdvisory {
149
147
  /** true / false from the probe, or null when the agent isn't installed. */
150
148
  signedIn: boolean | null;
151
149
  /** Whether the agent is currently a running teammate. */
@@ -147,7 +147,7 @@ export const TERMINAL_STATUSES = new Set([
147
147
  AgentStatus.STOPPED,
148
148
  ]);
149
149
  /** True when a teammate has reached a terminal (completed/failed/stopped) status. */
150
- export function isTerminalStatus(status) {
150
+ function isTerminalStatus(status) {
151
151
  return TERMINAL_STATUSES.has(status);
152
152
  }
153
153
  function safeFailureMessage(message) {
@@ -11,7 +11,7 @@ import { type ForEachSpec, type ForEachTeammate } from '../workflows.js';
11
11
  * fabricates a phantom teammate. Pure and deterministic — no I/O.
12
12
  */
13
13
  export declare function parseProducedItems(stdout: string): string[];
14
- export interface ProduceItemsOptions {
14
+ interface ProduceItemsOptions {
15
15
  /** Working directory for the producer command. */
16
16
  cwd?: string | null;
17
17
  /** Environment for the producer command (defaults to the current process env). */
@@ -49,7 +49,7 @@ export declare function produceItems(spec: ForEachSpec, opts?: ProduceItemsOptio
49
49
  */
50
50
  export declare function evaluateKeepIf(votes: boolean[], keepIf: 'majority' | 'all' | 'any'): boolean;
51
51
  /** Per-item verdict after tallying its verify panel. */
52
- export interface ForEachItemVerdict {
52
+ interface ForEachItemVerdict {
53
53
  /** The produced item this verdict is for. */
54
54
  item: string;
55
55
  /** Zero-based index in the (capped) produced list. */
@@ -108,3 +108,4 @@ export interface RunForEachResult {
108
108
  * `keep_if` gate — that vote-counting lives downstream, not here).
109
109
  */
110
110
  export declare function runForEach(mgr: AgentManager, teamName: string, spec: ForEachSpec, items: string[], opts?: RunForEachOptions): Promise<RunForEachResult>;
111
+ export {};
@@ -133,20 +133,12 @@ export declare function parsePrUrl(prUrl: string): {
133
133
  repo: string;
134
134
  number: number;
135
135
  } | null;
136
- /** Fetch the current CI checks for a PR via `gh pr checks`. Returns [] on any gh error. */
137
- export declare function fetchPrChecks(prUrl: string): Promise<PrCheck[]>;
138
- /** Fetch review comments for a PR via `gh api`. Returns [] on any gh error. */
139
- export declare function fetchPrReviewComments(prUrl: string): Promise<PrReviewComment[]>;
140
- /** Fetch the failing-run logs for a check via `gh run view --log-failed`. Best-effort, truncated. */
141
- export declare function fetchCiFailureLogs(check: PrCheck, maxChars?: number): Promise<string>;
142
- /** Collect a live PR snapshot from `gh`. The poll-mode seam for `runPrWatch`. */
143
- export declare function pollPrSnapshot(prUrl: string, sourceTeammate: string | null): Promise<PrSnapshot>;
144
136
  /** A PR to watch, paired with the teammate that opened it. */
145
137
  export interface WatchTarget {
146
138
  prUrl: string;
147
139
  sourceTeammate: string | null;
148
140
  }
149
- export interface PrWatchDeps {
141
+ interface PrWatchDeps {
150
142
  /** Discover which PRs to watch this pass (teammates may open PRs mid-run). */
151
143
  resolveTargets: () => Promise<WatchTarget[]>;
152
144
  /** Snapshot one PR's CI + review comments. Defaults to `pollPrSnapshot`. */
@@ -192,7 +184,7 @@ export type PrWatchEvent = {
192
184
  message: string;
193
185
  timestamp: string;
194
186
  };
195
- export interface PrWatchOptions {
187
+ interface PrWatchOptions {
196
188
  intervalMs?: number;
197
189
  /** Stop after this many polls (0 / undefined = run until signalled). */
198
190
  maxPolls?: number;
@@ -205,7 +197,7 @@ export interface PrWatchOptions {
205
197
  /** Abort signal — resolves the loop at the next interval boundary. */
206
198
  shouldStop?: () => boolean;
207
199
  }
208
- export interface PrWatchResult {
200
+ interface PrWatchResult {
209
201
  polls: number;
210
202
  spawned: number;
211
203
  /** How many PRs escalated to a human (wave budget exhausted). */
@@ -224,3 +216,4 @@ export interface PrWatchResult {
224
216
  * and `waves` hard-caps the total spawns per PR (issue #338).
225
217
  */
226
218
  export declare function runPrWatch(deps: PrWatchDeps, opts?: PrWatchOptions): Promise<PrWatchResult>;
219
+ export {};
@@ -194,7 +194,7 @@ export function parsePrUrl(prUrl) {
194
194
  // PrReviewComment shapes and hand them straight to decidePrActions.
195
195
  // ---------------------------------------------------------------------------
196
196
  /** Fetch the current CI checks for a PR via `gh pr checks`. Returns [] on any gh error. */
197
- export async function fetchPrChecks(prUrl) {
197
+ async function fetchPrChecks(prUrl) {
198
198
  try {
199
199
  const { stdout } = await execFileAsync('gh', ['pr', 'checks', prUrl, '--json', 'name,state,link,workflow'], { maxBuffer: 8 * 1024 * 1024 });
200
200
  const raw = JSON.parse(stdout);
@@ -213,7 +213,7 @@ export async function fetchPrChecks(prUrl) {
213
213
  }
214
214
  }
215
215
  /** Fetch review comments for a PR via `gh api`. Returns [] on any gh error. */
216
- export async function fetchPrReviewComments(prUrl) {
216
+ async function fetchPrReviewComments(prUrl) {
217
217
  const parsed = parsePrUrl(prUrl);
218
218
  if (!parsed)
219
219
  return [];
@@ -239,7 +239,7 @@ export async function fetchPrReviewComments(prUrl) {
239
239
  }
240
240
  }
241
241
  /** Fetch the failing-run logs for a check via `gh run view --log-failed`. Best-effort, truncated. */
242
- export async function fetchCiFailureLogs(check, maxChars = 8000) {
242
+ async function fetchCiFailureLogs(check, maxChars = 8000) {
243
243
  const runId = check.link?.match(/\/runs\/(\d+)/)?.[1] ?? check.link?.match(/\/actions\/runs\/(\d+)/)?.[1];
244
244
  if (!runId)
245
245
  return '';
@@ -255,7 +255,7 @@ export async function fetchCiFailureLogs(check, maxChars = 8000) {
255
255
  }
256
256
  }
257
257
  /** Collect a live PR snapshot from `gh`. The poll-mode seam for `runPrWatch`. */
258
- export async function pollPrSnapshot(prUrl, sourceTeammate) {
258
+ async function pollPrSnapshot(prUrl, sourceTeammate) {
259
259
  const [checks, comments] = await Promise.all([
260
260
  fetchPrChecks(prUrl),
261
261
  fetchPrReviewComments(prUrl),
@@ -34,7 +34,7 @@ export type TeamRegistry = Record<string, TeamMeta>;
34
34
  * write, which is exactly the data-loss path we are trying to close.
35
35
  */
36
36
  export declare function loadTeams(): Promise<TeamRegistry>;
37
- export interface CreateTeamOptions {
37
+ interface CreateTeamOptions {
38
38
  description?: string;
39
39
  enableWorktrees?: boolean;
40
40
  /** Path to an existing worktree for all teammates to share. */
@@ -52,8 +52,6 @@ export declare function createTeam(name: string, options?: CreateTeamOptions): P
52
52
  export declare function ensureTeam(name: string): Promise<TeamMeta>;
53
53
  /** Mark a team as disbanded so saveMeta will not resurrect its teammates. */
54
54
  export declare function markTeamDisbanded(name: string): Promise<void>;
55
- /** Clear a disband tombstone — called when the name is re-created. */
56
- export declare function clearTeamDisbanded(name: string): Promise<void>;
57
55
  /** True when the team was disbanded and has not been re-created since. */
58
56
  export declare function isTeamDisbanded(name: string): Promise<boolean>;
59
57
  /** Remove a team from the registry. Returns false if the team did not exist. */
@@ -62,3 +60,4 @@ export declare function removeTeam(name: string): Promise<boolean>;
62
60
  export declare function teamExists(name: string): Promise<boolean>;
63
61
  /** Get metadata for a specific team. Returns null if team does not exist. */
64
62
  export declare function getTeam(name: string): Promise<TeamMeta | null>;
63
+ export {};
@@ -151,7 +151,7 @@ export async function markTeamDisbanded(name) {
151
151
  await fs.writeFile(disbandedPath(name), JSON.stringify({ team: name, disbanded_at: new Date().toISOString() }), 'utf-8');
152
152
  }
153
153
  /** Clear a disband tombstone — called when the name is re-created. */
154
- export async function clearTeamDisbanded(name) {
154
+ async function clearTeamDisbanded(name) {
155
155
  try {
156
156
  await fs.unlink(disbandedPath(name));
157
157
  }
@@ -9,22 +9,6 @@ interface RemoteSshOptions {
9
9
  * single-quoted, so odd path characters stay safe.
10
10
  */
11
11
  export declare function remotePathExpr(p: string): string;
12
- /**
13
- * Resolve the ABSOLUTE git top-level for a (possibly `~`-relative) repo path on
14
- * the host, or null when it isn't a git repo / the host is unreachable. Used by
15
- * `ensureRemoteRepo` to both VALIDATE and CANONICALIZE a repo location, so every
16
- * downstream remote command (launch `cd`, worktree create, polling) works from an
17
- * absolute path with no tilde-expansion hazard.
18
- */
19
- export declare function resolveRemoteRepoRoot(target: string, repoPath: string, opts?: RemoteSshOptions): string | null;
20
- /** True when `repoPath` is a git working tree on the host. */
21
- export declare function isRemoteGitRepo(target: string, repoPath: string, opts?: RemoteSshOptions): boolean;
22
- /**
23
- * Resolve the host repo's default branch name (origin/HEAD → `main`/`master`/…).
24
- * Falls back to `main` when origin/HEAD isn't set, matching the local recipe's
25
- * `remote set-head` step.
26
- */
27
- export declare function remoteDefaultBranch(target: string, repoPath: string, opts?: RemoteSshOptions): string;
28
12
  /**
29
13
  * Create a worktree on the host for a teammate, branched off the freshly-fetched
30
14
  * default branch. Returns the absolute worktree path on the host.
@@ -40,7 +40,7 @@ export function remotePathExpr(p) {
40
40
  * downstream remote command (launch `cd`, worktree create, polling) works from an
41
41
  * absolute path with no tilde-expansion hazard.
42
42
  */
43
- export function resolveRemoteRepoRoot(target, repoPath, opts = {}) {
43
+ function resolveRemoteRepoRoot(target, repoPath, opts = {}) {
44
44
  assertValidSshTarget(target);
45
45
  const cmd = `git -C ${remotePathExpr(repoPath)} rev-parse --show-toplevel 2>/dev/null`;
46
46
  const res = sshExec(target, cmd, { timeoutMs: 15000, multiplex: true, extraSshArgs: opts.extraSshArgs });
@@ -57,7 +57,7 @@ function remoteGit(target, repoPath, args, timeoutMs = 60000, opts = {}) {
57
57
  return res.stdout.trim();
58
58
  }
59
59
  /** True when `repoPath` is a git working tree on the host. */
60
- export function isRemoteGitRepo(target, repoPath, opts = {}) {
60
+ function isRemoteGitRepo(target, repoPath, opts = {}) {
61
61
  assertValidSshTarget(target);
62
62
  // remotePathExpr so a `~`/`$HOME`-relative path (the canonical repos dir) expands
63
63
  // on the host — plain shellQuote would single-quote the tilde into a literal,
@@ -71,7 +71,7 @@ export function isRemoteGitRepo(target, repoPath, opts = {}) {
71
71
  * Falls back to `main` when origin/HEAD isn't set, matching the local recipe's
72
72
  * `remote set-head` step.
73
73
  */
74
- export function remoteDefaultBranch(target, repoPath, opts = {}) {
74
+ function remoteDefaultBranch(target, repoPath, opts = {}) {
75
75
  assertValidSshTarget(target);
76
76
  try {
77
77
  // Refresh origin/HEAD first so a repo cloned before the default was set resolves.
@@ -31,7 +31,7 @@ export interface DevicePlacementSignal {
31
31
  pickerEligible?: boolean;
32
32
  }
33
33
  /** Team fields the placement cascade reads (a subset of TeamMeta). */
34
- export interface PlacementTeam {
34
+ interface PlacementTeam {
35
35
  devices?: string[];
36
36
  }
37
37
  /**
@@ -44,7 +44,7 @@ export interface PlacementTeam {
44
44
  * honors caps: an explicit pin or a pool of one is the user's own choice and
45
45
  * is never second-guessed.
46
46
  */
47
- export interface PlacementOptions {
47
+ interface PlacementOptions {
48
48
  /** Worker pool used when the team does not declare an explicit device pool. */
49
49
  defaultDevices?: string[];
50
50
  maxConcurrent?: Record<string, number>;
@@ -59,7 +59,7 @@ export interface PlacementOptions {
59
59
  agentLabel?: string;
60
60
  /**
61
61
  * Normalized hosts boosted with `auto-launch.preferred` (set by
62
- * `agents devices prefer <name>`). A preferred device ranks ahead of a
62
+ * `agents devices config <name> auto-launch.preferred on`). A preferred device ranks ahead of a
63
63
  * non-preferred one among the eligible survivors — after the signed-in tier
64
64
  * (a preferred box that can't run the agent is still no use) and before load,
65
65
  * so an operator boost overrides load-based ordering without overriding hard
@@ -69,9 +69,9 @@ export interface PlacementOptions {
69
69
  preferred?: ReadonlySet<string>;
70
70
  }
71
71
  /** Why a device was excluded from the viable set, for the fail-loud message. */
72
- export type ExclusionReason = 'unreachable' | 'probe-timed-out' | 'overloaded' | 'capped' | 'not-installed';
72
+ type ExclusionReason = 'unreachable' | 'probe-timed-out' | 'overloaded' | 'capped' | 'not-installed';
73
73
  /** A pool device dropped from the auto-pick, with the reason + live detail. */
74
- export interface ExcludedDevice {
74
+ interface ExcludedDevice {
75
75
  device: string;
76
76
  reason: ExclusionReason;
77
77
  /** Present for `capped`: `running/cap`. */
@@ -155,3 +155,4 @@ export declare function pickBestDevice(devices: string[], roster: RosterEntry[],
155
155
  export declare function resolvePlacement(team: PlacementTeam, explicitDevice: string | null, roster: RosterEntry[], opts?: PlacementOptions): {
156
156
  device: string | null;
157
157
  };
158
+ export {};
@@ -269,7 +269,7 @@ export function pickBestDevice(devices, roster, opts) {
269
269
  const signedIn = (sa?.signedIn === true ? 0 : 1) - (sb?.signedIn === true ? 0 : 1);
270
270
  if (signedIn !== 0)
271
271
  return signedIn;
272
- // (a2) operator-preferred device next — `agents devices prefer <name>`
272
+ // (a2) operator-preferred device next — `agents devices config <name> auto-launch.preferred on`
273
273
  // boosts a box above its load-equal peers, overriding load-based order.
274
274
  const preferred = opts?.preferred;
275
275
  if (preferred && preferred.size > 0) {
@@ -20,7 +20,7 @@
20
20
  import type { AgentManager, AgentProcess } from './agents.js';
21
21
  import type { TeamBudgetWatcher } from '../budget/live-team.js';
22
22
  import type { BreachInfo } from '../budget/enforce.js';
23
- export interface WaveSummary {
23
+ interface WaveSummary {
24
24
  wave: number;
25
25
  timestamp: string;
26
26
  team: string;
@@ -31,7 +31,7 @@ export interface WaveSummary {
31
31
  failed: number;
32
32
  drained: boolean;
33
33
  }
34
- export interface SupervisorOptions {
34
+ interface SupervisorOptions {
35
35
  team: string;
36
36
  intervalMs?: number;
37
37
  maxWaves?: number;
@@ -47,7 +47,7 @@ export interface SupervisorOptions {
47
47
  /** Called with the breach details when the budget watcher trips. */
48
48
  onBudgetBreach?: (breach: BreachInfo) => void;
49
49
  }
50
- export interface SupervisorResult {
50
+ interface SupervisorResult {
51
51
  waves: number;
52
52
  stoppedBy: 'drained' | 'max-waves' | 'signal' | 'callback' | 'budget';
53
53
  elapsed_ms: number;
@@ -66,3 +66,4 @@ export interface SupervisorResult {
66
66
  * returns false from onWave, or SIGINT/SIGTERM arrives.
67
67
  */
68
68
  export declare function runSupervisor(mgr: AgentManager, opts: SupervisorOptions): Promise<SupervisorResult>;
69
+ export {};
@@ -12,15 +12,6 @@ export declare function getGitRoot(dir: string): Promise<string>;
12
12
  * Check if a worktree directory has uncommitted changes.
13
13
  */
14
14
  export declare function hasUncommittedChanges(worktreePath: string): Promise<boolean>;
15
- /** Default cap on diff text so one giant worktree can't blow up the serve dashboard. */
16
- export declare const DEFAULT_DIFF_MAX_BYTES = 200000;
17
- /**
18
- * Return the uncommitted working-tree diff for a worktree (staged + unstaged,
19
- * relative to HEAD), capped so a huge diff can't overwhelm the read-only serve
20
- * dashboard. Read-only: shells out to `git diff HEAD` and never mutates state.
21
- * Returns '' when the path isn't a git worktree or has no pending changes.
22
- */
23
- export declare function gitDiff(worktreePath: string, maxBytes?: number): Promise<string>;
24
15
  /**
25
16
  * Resolve the repo's default branch name (origin/HEAD → `main`/`master`/…).
26
17
  * Refreshes origin/HEAD first so a repo cloned before the default was set resolves.
@@ -45,38 +45,6 @@ export async function hasUncommittedChanges(worktreePath) {
45
45
  return false;
46
46
  }
47
47
  }
48
- /** Default cap on diff text so one giant worktree can't blow up the serve dashboard. */
49
- export const DEFAULT_DIFF_MAX_BYTES = 200_000;
50
- /**
51
- * Return the uncommitted working-tree diff for a worktree (staged + unstaged,
52
- * relative to HEAD), capped so a huge diff can't overwhelm the read-only serve
53
- * dashboard. Read-only: shells out to `git diff HEAD` and never mutates state.
54
- * Returns '' when the path isn't a git worktree or has no pending changes.
55
- */
56
- export async function gitDiff(worktreePath, maxBytes = DEFAULT_DIFF_MAX_BYTES) {
57
- // Size the capture buffer off the cap (not an arbitrary 1MB floor) so a diff
58
- // that overshoots gets TRUNCATED, never silently dropped. A diff larger than
59
- // the buffer overflows maxBuffer, but Node still hands us the captured prefix
60
- // on the rejection — we truncate that below rather than losing it to ''.
61
- const maxBuffer = maxBytes * 4;
62
- const truncate = (s) => s.slice(0, maxBytes) + `\n… [diff truncated at ${maxBytes} bytes]`;
63
- try {
64
- const { stdout } = await execFileAsync('git', ['diff', 'HEAD'], {
65
- cwd: worktreePath,
66
- maxBuffer,
67
- });
68
- return stdout.length > maxBytes ? truncate(stdout) : stdout;
69
- }
70
- catch (err) {
71
- // ENOBUFS on an oversized diff still carries the partial capture; truncate
72
- // it so the dashboard shows "[diff truncated]" instead of "no changes".
73
- // A genuine non-git-worktree error has no stdout → fall through to ''.
74
- const partial = err?.stdout;
75
- if (typeof partial === 'string' && partial.length > 0)
76
- return truncate(partial);
77
- return '';
78
- }
79
- }
80
48
  /**
81
49
  * Resolve the repo's default branch name (origin/HEAD → `main`/`master`/…).
82
50
  * Refreshes origin/HEAD first so a repo cloned before the default was set resolves.
@@ -0,0 +1,44 @@
1
+ export declare const TERM_NOT_INSTALLED_ERROR = "The standalone `term` CLI is not installed. npm i -g @phnx-labs/term-cli";
2
+ /** JSON response envelope from `term`, mirroring the old PTY sidecar's shape. */
3
+ export interface TermResponse {
4
+ ok: boolean;
5
+ error?: string;
6
+ [key: string]: any;
7
+ }
8
+ /**
9
+ * Resolve the `term` binary to exec: `$TERM_BIN` first (exact override, used
10
+ * by tests and by an operator pinning a specific install), else an ordinary
11
+ * PATH lookup. Returns null when neither resolves — the caller must fail loud
12
+ * with {@link TERM_NOT_INSTALLED_ERROR} rather than falling back to anything.
13
+ */
14
+ export declare function resolveTermBin(): string | null;
15
+ export interface TermStartOptions {
16
+ rows?: number;
17
+ cols?: number;
18
+ shell?: string;
19
+ cwd?: string;
20
+ }
21
+ /** `term start [-r rows] [-c cols] [-s shell] [-d cwd] --json` → the new session id. */
22
+ export declare function termStart(opts?: TermStartOptions): Promise<TermResponse>;
23
+ /** `term exec <id> <command> --json` — send a command, non-blocking. */
24
+ export declare function termExec(id: string, command: string): Promise<TermResponse>;
25
+ /**
26
+ * `term write <id> <input> --raw --json` — send raw bytes to the session.
27
+ * `--raw` is load-bearing: the caller here always supplies already-literal
28
+ * bytes (e.g. `\x1b[B\r` as real control characters from a JS string), never
29
+ * the `pty write` CLI's `\n`/`\t`/`\e`/`\xHH` textual escape syntax, so `term`
30
+ * must not re-interpret them.
31
+ */
32
+ export declare function termWrite(id: string, input: string): Promise<TermResponse>;
33
+ /** `term screen <id> --json` → `{ screen, exited, cols, rows }`. */
34
+ export declare function termScreen(id: string): Promise<TermResponse>;
35
+ /**
36
+ * `term stop <id>` — end the session and clean up.
37
+ *
38
+ * Unlike every other verb, `stop` has no `--json` mode and prints nothing on
39
+ * success (confirmed against a real built `term` binary — a bare `--json`
40
+ * flag errors `unknown option '--json'`, and success alone leaves stdout
41
+ * empty), so this synthesizes the `{ ok }` envelope from the exit code
42
+ * instead of routing through {@link runTerm}'s stdout-JSON parse.
43
+ */
44
+ export declare function termStop(id: string): Promise<TermResponse>;