@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
@@ -92,6 +92,11 @@ export const DAEMON_SERVICES = [
92
92
  title: 'Live session state',
93
93
  description: 'Publishes this host\'s active session metadata for sessions watch and fleet consumers.',
94
94
  },
95
+ {
96
+ id: 'feed-stream',
97
+ title: 'Shared feed stream',
98
+ description: 'Owns the one fleet feed fan-out and serves it to every reader over a socket, so N consumers cost one ssh per peer instead of N.',
99
+ },
95
100
  {
96
101
  id: 'session-index',
97
102
  title: 'Session-index warm',
@@ -35,7 +35,7 @@ export interface HostedReceiverConfig {
35
35
  /** Public Funnel exposure; omit to bind localhost only. */
36
36
  funnel?: HostedReceiverFunnel;
37
37
  }
38
- export interface DaemonWebhooksConfig {
38
+ interface DaemonWebhooksConfig {
39
39
  receivers: HostedReceiverConfig[];
40
40
  }
41
41
  /** Path to `~/.agents/daemon/webhooks.yaml`. */
@@ -1,6 +1,5 @@
1
1
  export declare const AGENTS_URL_SCHEME = "agents";
2
- export declare const MAC_BUNDLE_ID = "dev.agents.urlhandler";
3
- export interface SchemeStatus {
2
+ interface SchemeStatus {
4
3
  registered: boolean;
5
4
  platform: NodeJS.Platform;
6
5
  /** One human line: where the handler is, or why it is not registered. */
@@ -11,15 +10,6 @@ export interface SchemeStatus {
11
10
  * out of the handler command.
12
11
  */
13
12
  export declare function shQuote(p: string): string;
14
- /**
15
- * Resolve how the OS handler should invoke this CLI, as an already-quoted
16
- * command prefix (without the `open <url>` suffix).
17
- *
18
- * A macOS GUI app does NOT inherit the shell PATH, so the handler must use an
19
- * absolute path. Prefer the `agents` shim on PATH (directly executable); fall
20
- * back to `<node> <entry>` for a bare JS install.
21
- */
22
- export declare function resolveAgentsInvocation(platform?: NodeJS.Platform): string;
23
13
  /** The freedesktop `.desktop` entry that claims `x-scheme-handler/agents`. */
24
14
  export declare function linuxDesktopEntry(invocation: string): string;
25
15
  /**
@@ -33,10 +23,9 @@ export declare function macPlistBuddyCommands(plistPath: string): string[][];
33
23
  /** `reg add` argv lists that register the scheme under HKCU on Windows. */
34
24
  export declare function windowsRegistryCommands(invocation: string): string[][];
35
25
  export declare function linuxDesktopPath(home?: string): string;
36
- export declare function macAppPath(home?: string): string;
37
26
  /** Whether the handler artifact exists on disk (a cheap, side-effect-free check). */
38
27
  export declare function agentsUrlSchemeStatus(platform?: NodeJS.Platform, home?: string): SchemeStatus;
39
- export interface RegisterOptions {
28
+ interface RegisterOptions {
40
29
  platform?: NodeJS.Platform;
41
30
  home?: string;
42
31
  /** Skip if already present (used by best-effort callers like setup). */
@@ -47,3 +36,4 @@ export declare function unregisterAgentsUrlScheme(opts?: {
47
36
  platform?: NodeJS.Platform;
48
37
  home?: string;
49
38
  }): SchemeStatus;
39
+ export {};
@@ -23,7 +23,7 @@ import * as os from 'node:os';
23
23
  import * as path from 'node:path';
24
24
  import { getAgentsBinPath } from '../cli-entry.js';
25
25
  export const AGENTS_URL_SCHEME = 'agents';
26
- export const MAC_BUNDLE_ID = 'dev.agents.urlhandler';
26
+ const MAC_BUNDLE_ID = 'dev.agents.urlhandler';
27
27
  const LINUX_DESKTOP_FILE = 'agents-url-handler.desktop';
28
28
  const MAC_APP_NAME = 'AgentsURLHandler.app';
29
29
  // ---------------------------------------------------------------------------
@@ -44,7 +44,7 @@ export function shQuote(p) {
44
44
  * absolute path. Prefer the `agents` shim on PATH (directly executable); fall
45
45
  * back to `<node> <entry>` for a bare JS install.
46
46
  */
47
- export function resolveAgentsInvocation(platform = os.platform()) {
47
+ function resolveAgentsInvocation(platform = os.platform()) {
48
48
  const onPath = whichAgents(platform);
49
49
  if (onPath)
50
50
  return platform === 'win32' ? `"${onPath}"` : shQuote(onPath);
@@ -123,7 +123,7 @@ export function windowsRegistryCommands(invocation) {
123
123
  export function linuxDesktopPath(home = os.homedir()) {
124
124
  return path.join(home, '.local', 'share', 'applications', LINUX_DESKTOP_FILE);
125
125
  }
126
- export function macAppPath(home = os.homedir()) {
126
+ function macAppPath(home = os.homedir()) {
127
127
  return path.join(home, 'Applications', MAC_APP_NAME);
128
128
  }
129
129
  // ---------------------------------------------------------------------------
@@ -16,14 +16,14 @@
16
16
  * agents://session/<id> — resume <id>, owner host resolved from the id
17
17
  * agents://session/<id>?host=<name> — the same, with a routing hint
18
18
  */
19
- export interface AgentsSessionLink {
19
+ interface AgentsSessionLink {
20
20
  kind: 'session';
21
21
  /** The session id (or short-id/alias) to resume. */
22
22
  id: string;
23
23
  /** Optional owning-host hint; resume self-resolves the owner from the id regardless. */
24
24
  host?: string;
25
25
  }
26
- export interface AgentsUrlError {
26
+ interface AgentsUrlError {
27
27
  error: string;
28
28
  }
29
29
  export declare function isDeepLinkSessionId(raw: string): boolean;
@@ -32,3 +32,4 @@ export declare function isDeepLinkSessionId(raw: string): boolean;
32
32
  * {@link AgentsUrlError} with a human reason. Never throws.
33
33
  */
34
34
  export declare function parseAgentsUrl(input: string): AgentsSessionLink | AgentsUrlError;
35
+ export {};
@@ -44,7 +44,7 @@ export type ConfigScope = 'user' | 'device';
44
44
  */
45
45
  export type ConfigVisibility = 'shared' | 'machine';
46
46
  /** Value type of a config key — drives validation and `--json` rendering. */
47
- export type ConfigType = 'string' | 'int' | 'bool' | 'string-list';
47
+ type ConfigType = 'string' | 'int' | 'bool' | 'string-list';
48
48
  /** Fields every key carries, regardless of scope. */
49
49
  interface ConfigKeySpecBase {
50
50
  /** CLI dotted name, e.g. `interactive.host`. */
@@ -81,7 +81,7 @@ export interface ConfigEntry {
81
81
  source: ConfigSource;
82
82
  }
83
83
  /** Options scoping a read/write: a specific device (default: this machine), or the fleet-defaults layer. */
84
- export interface ConfigTarget {
84
+ interface ConfigTarget {
85
85
  device?: string;
86
86
  /** Write/read the fleet-wide defaults layer (central fleet.defaults.config). */
87
87
  fleet?: boolean;
@@ -92,16 +92,8 @@ declare const DEVICE_ROLES: readonly ["worker", "personal", "desktop"];
92
92
  declare const AUTO_POOL_MODES: readonly ["workers", "all"];
93
93
  export declare const CONFIG_KEYS: readonly ConfigKeySpec[];
94
94
  export declare function configKeySpec(name: string): ConfigKeySpec;
95
- /**
96
- * Fold the legacy config/pins stores into the current layout, once per
97
- * process. A failure is loud but non-fatal — config reads must keep working,
98
- * and the next process retries the fold. Honors AGENTS_SKIP_MIGRATION=1, the
99
- * same gate bootstrap's runMigration uses (tests pin it so a fork never folds
100
- * the developer's real ~/.agents as a side effect).
101
- */
102
- export declare function ensureDeviceConfigMigrated(): void;
103
- /** The fleet-defaults config layer (central `fleet.defaults.config`; {} when unset). */
104
- export declare function readFleetConfigDefaults(): Record<string, unknown>;
95
+ /** Throw when `value` does not match the key's declared type or validation. */
96
+ export declare function assertValidValue(spec: ConfigKeySpec, value: unknown): void;
105
97
  /**
106
98
  * The effective device-scope config block for `device`: fleet.defaults.config
107
99
  * overlaid with the per-device doc's config:. This is the single read path
@@ -130,9 +122,6 @@ export declare function getConfigValueAsync(name: string, opts?: ConfigTarget):
130
122
  * must not hard-fail. Asking for such a key by name still errors.
131
123
  */
132
124
  export declare function listConfig(opts?: ConfigTarget): ConfigEntry[];
133
- /** List user-scope config keys with their values. Used to show inherited settings
134
- * in per-device views without implying those keys are device-local. */
135
- export declare function listUserConfig(): ConfigEntry[];
136
125
  /**
137
126
  * Set a config key (validated). Device-scope keys target this machine unless
138
127
  * `opts.device` names a peer; `opts.fleet` writes the fleet-wide defaults layer
@@ -39,6 +39,7 @@ import { atomicWriteFileSync } from './fs-atomic.js';
39
39
  import { machineId } from './machine-id.js';
40
40
  import { assertValidDeviceName, assertRegistrableDeviceName } from './devices/registry.js';
41
41
  import { migrateDeviceConfigStores } from './devices/config-migration.js';
42
+ import { parseAddress } from './address.js';
42
43
  import { isAgentId } from './types.js';
43
44
  const DEVICE_PLATFORMS = ['windows', 'linux', 'macos', 'unknown'];
44
45
  const SSH_AUTH_METHODS = ['key', 'password'];
@@ -46,6 +47,16 @@ const SSH_AUTH_METHODS = ['key', 'password'];
46
47
  const DEVICE_ROLES = ['worker', 'personal', 'desktop'];
47
48
  /** Which devices automatic placement may pick — see the `auto.pool` key below. */
48
49
  const AUTO_POOL_MODES = ['workers', 'all'];
50
+ /**
51
+ * A device's physical form factor (`formFactor` key) — a factual hardware fact
52
+ * the menu bar shows as an icon. Set explicitly per device (no inference from
53
+ * platform, no hardcoded device names). `unknown` is the effective default.
54
+ */
55
+ const DEVICE_FORM_FACTORS = ['laptop', 'desktop', 'server', 'unknown'];
56
+ /** A validate() that accepts only one of `allowed` — the enum-string keys reuse it. */
57
+ function oneOf(name, allowed) {
58
+ return (v) => (allowed.includes(v) ? null : `${name} must be one of ${allowed.join(' | ')}.`);
59
+ }
49
60
  export const CONFIG_KEYS = [
50
61
  {
51
62
  name: 'interactive.host',
@@ -133,6 +144,28 @@ export const CONFIG_KEYS = [
133
144
  type: 'string',
134
145
  description: 'Browser profile `agents browser start` resolves to without --profile (set via `agents browser use`).',
135
146
  },
147
+ {
148
+ name: 'computer.host',
149
+ yamlKey: 'computerHost',
150
+ scope: 'device',
151
+ visibility: 'shared',
152
+ type: 'string',
153
+ description: 'The --host address (PHNX-4090) `agents computer --device <name>` forwards to the standalone engine: ' +
154
+ 'ssh://[user@]host[:port], vnc://host[:port], or tcp://host:port. Unset falls back to the fleet ssh ' +
155
+ 'identity (ssh://user@host resolved against the device registry).',
156
+ validate: (v) => {
157
+ try {
158
+ const addr = parseAddress(v);
159
+ if (addr.scheme !== 'ssh' && addr.scheme !== 'vnc' && addr.scheme !== 'tcp') {
160
+ return `computer.host speaks ssh://, vnc:// and tcp:// only (got ${addr.scheme}://).`;
161
+ }
162
+ return null;
163
+ }
164
+ catch (err) {
165
+ return err?.message ?? String(err);
166
+ }
167
+ },
168
+ },
136
169
  {
137
170
  name: 'browser.device',
138
171
  yamlKey: 'defaultBrowserDevice',
@@ -344,6 +377,134 @@ export const CONFIG_KEYS = [
344
377
  defaultValue: false,
345
378
  description: 'Boost this device in `--device auto` ranking (default off) — picked ahead of load-equal peers when eligible.',
346
379
  },
380
+ {
381
+ name: 'formFactor',
382
+ yamlKey: 'formFactor',
383
+ scope: 'device',
384
+ visibility: 'shared',
385
+ type: 'string',
386
+ defaultValue: 'unknown',
387
+ description: "This device's physical form factor, a factual hardware fact the menu bar renders as an icon: " +
388
+ 'laptop, desktop, server, or unknown. Synced fleet-wide (any box may set it for any device). Set it ' +
389
+ 'explicitly — never inferred from the OS platform. Unset reads as `unknown`.',
390
+ validate: oneOf('formFactor', DEVICE_FORM_FACTORS),
391
+ },
392
+ // ─── AGI Menu preferences (PHNX-3999) ──────────────────────────────────────
393
+ // User-scope so one value syncs fleet-wide via `agents repo push/pull` and the
394
+ // native menu reads it from `agents config list --json`. Names mirror the Swift
395
+ // MenuPreferences local-cache keys. `config list` OMITS an unset key, so the
396
+ // native app falls back to its own known defaults — the defaults documented
397
+ // here match those, they are not substituted on read.
398
+ {
399
+ name: 'menubar.menu.defaultProject',
400
+ yamlKey: 'menubarMenuDefaultProject',
401
+ scope: 'user',
402
+ type: 'string',
403
+ description: 'AGI Menu: the project name the menu opens focused on. Unset = no default project.',
404
+ },
405
+ {
406
+ name: 'menubar.menu.workingRowsShown',
407
+ yamlKey: 'menubarMenuWorkingRowsShown',
408
+ scope: 'user',
409
+ type: 'int',
410
+ defaultValue: 3,
411
+ description: 'AGI Menu: how many working (in-progress) rows to show per group — 2, 3, or 4.',
412
+ validate: (v) => ([2, 3, 4].includes(v) ? null : 'menubar.menu.workingRowsShown must be 2, 3, or 4.'),
413
+ },
414
+ {
415
+ name: 'menubar.menu.showPreviews',
416
+ yamlKey: 'menubarMenuShowPreviews',
417
+ scope: 'user',
418
+ type: 'bool',
419
+ defaultValue: true,
420
+ description: 'AGI Menu: show the session preview line under each row.',
421
+ },
422
+ {
423
+ name: 'menubar.menu.projectPriorityFilter',
424
+ yamlKey: 'menubarMenuProjectPriorityFilter',
425
+ scope: 'user',
426
+ type: 'string',
427
+ defaultValue: 'all',
428
+ description: 'AGI Menu: minimum project priority shown — all, urgent, high, or medium.',
429
+ validate: oneOf('menubar.menu.projectPriorityFilter', ['all', 'urgent', 'high', 'medium']),
430
+ },
431
+ {
432
+ name: 'menubar.menu.hideCompletedMilestones',
433
+ yamlKey: 'menubarMenuHideCompletedMilestones',
434
+ scope: 'user',
435
+ type: 'bool',
436
+ defaultValue: true,
437
+ description: 'AGI Menu: hide milestones that are fully complete.',
438
+ },
439
+ {
440
+ name: 'menubar.menu.bannerWhenNeedsYou',
441
+ yamlKey: 'menubarMenuBannerWhenNeedsYou',
442
+ scope: 'user',
443
+ type: 'bool',
444
+ defaultValue: true,
445
+ description: 'AGI Menu: show a top banner when a session needs the operator.',
446
+ },
447
+ {
448
+ name: 'menubar.menu.includeOtherDeviceRequests',
449
+ yamlKey: 'menubarMenuIncludeOtherDeviceRequests',
450
+ scope: 'user',
451
+ type: 'bool',
452
+ defaultValue: true,
453
+ description: 'AGI Menu: include needs-you requests from sessions on OTHER fleet devices.',
454
+ },
455
+ {
456
+ name: 'menubar.menu.groupBy',
457
+ yamlKey: 'menubarMenuGroupBy',
458
+ scope: 'user',
459
+ type: 'string',
460
+ defaultValue: 'project',
461
+ description: 'AGI Menu: primary grouping of rows — none, project, agent, or device.',
462
+ validate: oneOf('menubar.menu.groupBy', ['none', 'project', 'agent', 'device']),
463
+ },
464
+ {
465
+ name: 'menubar.menu.thenBy',
466
+ yamlKey: 'menubarMenuThenBy',
467
+ scope: 'user',
468
+ type: 'string',
469
+ defaultValue: 'none',
470
+ description: 'AGI Menu: secondary grouping within each group — none, project, agent, or device.',
471
+ validate: oneOf('menubar.menu.thenBy', ['none', 'project', 'agent', 'device']),
472
+ },
473
+ {
474
+ name: 'menubar.menu.projectScope',
475
+ yamlKey: 'menubarMenuProjectScope',
476
+ scope: 'user',
477
+ type: 'string',
478
+ defaultValue: 'cycle',
479
+ description: 'AGI Menu: which project issues to show — the current cycle only, or all.',
480
+ validate: oneOf('menubar.menu.projectScope', ['cycle', 'all']),
481
+ },
482
+ {
483
+ name: 'menubar.menu.projectSort',
484
+ yamlKey: 'menubarMenuProjectSort',
485
+ scope: 'user',
486
+ type: 'string',
487
+ defaultValue: 'updated',
488
+ description: 'AGI Menu: how projects are ordered — updated, priority, or name.',
489
+ validate: oneOf('menubar.menu.projectSort', ['updated', 'priority', 'name']),
490
+ },
491
+ {
492
+ name: 'menubar.menu.ticketSort',
493
+ yamlKey: 'menubarMenuTicketSort',
494
+ scope: 'user',
495
+ type: 'string',
496
+ defaultValue: 'priority',
497
+ description: 'AGI Menu: how tickets within a project are ordered — priority, updated, or title.',
498
+ validate: oneOf('menubar.menu.ticketSort', ['priority', 'updated', 'title']),
499
+ },
500
+ {
501
+ name: 'menubar.menu.showPullRequests',
502
+ yamlKey: 'menubarMenuShowPullRequests',
503
+ scope: 'user',
504
+ type: 'bool',
505
+ defaultValue: true,
506
+ description: 'AGI Menu: show the open pull requests section for each project.',
507
+ },
347
508
  ];
348
509
  /** Look up a key spec by CLI dotted name, or throw listing the known keys. */
349
510
  /**
@@ -377,7 +538,7 @@ export function configKeySpec(name) {
377
538
  return spec;
378
539
  }
379
540
  /** Throw when `value` does not match the key's declared type or validation. */
380
- function assertValidValue(spec, value) {
541
+ export function assertValidValue(spec, value) {
381
542
  switch (spec.type) {
382
543
  case 'string':
383
544
  if (typeof value !== 'string' || value.length === 0) {
@@ -413,7 +574,7 @@ let migrationDone = false;
413
574
  * same gate bootstrap's runMigration uses (tests pin it so a fork never folds
414
575
  * the developer's real ~/.agents as a side effect).
415
576
  */
416
- export function ensureDeviceConfigMigrated() {
577
+ function ensureDeviceConfigMigrated() {
417
578
  if (migrationDone || process.env.AGENTS_SKIP_MIGRATION === '1')
418
579
  return;
419
580
  try {
@@ -499,7 +660,7 @@ function writeDeviceDoc(device, doc) {
499
660
  atomicWriteFileSync(p, META_HEADER + yaml.stringify(doc));
500
661
  }
501
662
  /** The fleet-defaults config layer (central `fleet.defaults.config`; {} when unset). */
502
- export function readFleetConfigDefaults() {
663
+ function readFleetConfigDefaults() {
503
664
  const config = readMeta().fleet?.defaults?.config;
504
665
  return config && typeof config === 'object' && !Array.isArray(config) ? config : {};
505
666
  }
@@ -609,11 +770,6 @@ export function listConfig(opts) {
609
770
  : CONFIG_KEYS;
610
771
  return visible.map((spec) => getConfigValue(spec.name, opts));
611
772
  }
612
- /** List user-scope config keys with their values. Used to show inherited settings
613
- * in per-device views without implying those keys are device-local. */
614
- export function listUserConfig() {
615
- return CONFIG_KEYS.filter((spec) => spec.scope === 'user').map((spec) => getConfigValue(spec.name));
616
- }
617
773
  // ─── Writes ───────────────────────────────────────────────────────────────────
618
774
  /** The fleet manifest for a defaults write: `devices` materializes as an
619
775
  * explicit empty map (NOT 'all') so `agents apply` targets nothing until the
@@ -30,13 +30,43 @@ export declare function sshTargetFor(device: DeviceProfile): string;
30
30
  */
31
31
  export declare function fleetDialTarget(device: DeviceProfile): string;
32
32
  /**
33
- * Wrap a remote command for the device's shell. Windows devices speak
34
- * PowerShell, so a bare command is run through `powershell -NoProfile
35
- * -EncodedCommand`; POSIX devices get the command verbatim (the remote login
36
- * shell parses it). Returns undefined when no command was given (interactive
33
+ * Render `cmd` as the single command string ssh sends to the peer.
34
+ *
35
+ * Windows devices speak PowerShell, so the result is run through
36
+ * `powershell -NoProfile -EncodedCommand`; POSIX devices get it as the remote
37
+ * login shell sees it. Returns undefined when no command was given (interactive
37
38
  * login).
39
+ *
40
+ * TWO MODES, and the difference is load-bearing rather than a convenience.
41
+ *
42
+ * The default joins the tokens RAW. That is not a bug to be tidied away: every
43
+ * existing caller of `agents ssh` relies on the remote shell interpreting what it
44
+ * is handed — `agents ssh box 'bash -lc "cd x && make"'` arrives as ONE token
45
+ * whose pipeline, globs and redirections the peer's shell must expand. Quoting
46
+ * that would ship the whole line as a literal argument and break it.
47
+ *
48
+ * `{ argv: true }` is for a caller that genuinely holds an argv ARRAY and needs
49
+ * each element delivered as exactly one token. Joining those raw destroys any
50
+ * token containing a space or a metacharacter — `['--title', 'two words']`
51
+ * arrives as three tokens, and `'a & b'` arrives as a backgrounded command — which
52
+ * is what a native client hitting this path actually hit.
53
+ *
54
+ * So fidelity is opt-in at the call site that knows which shape it has, and the
55
+ * quoting itself reuses the canonical helpers (`shellQuote`, {@link pwshQuote})
56
+ * rather than introducing a third escaping scheme.
38
57
  */
39
- export declare function wrapRemoteCommand(device: DeviceProfile, cmd: string[]): string | undefined;
58
+ export declare function wrapRemoteCommand(device: DeviceProfile, cmd: string[], opts?: {
59
+ argv?: boolean;
60
+ prelude?: string[];
61
+ }): string | undefined;
62
+ /**
63
+ * Single-quote one token for PowerShell's OWN parser. Inside a single-quoted pwsh
64
+ * string the only special character is `'`, escaped by doubling.
65
+ *
66
+ * This is correct for a value PowerShell itself consumes, and NOT sufficient for
67
+ * an argument handed on to a native program — see the Win32 note below.
68
+ */
69
+ export declare function pwshQuote(token: string): string;
40
70
  /**
41
71
  * True when `cmd` is a browser drive: `agents browser …`, `ag browser …`, or
42
72
  * the standalone `browser` binary (`cli/package.json` `bin.browser` →
@@ -65,6 +95,19 @@ export declare function isAgentsBrowserDrive(cmd: string[]): boolean;
65
95
  * fan-out stamps the marker before {@link buildSshInvocation}) is left unchanged
66
96
  * so nothing is doubled.
67
97
  */
98
+ /**
99
+ * The provenance prefix as READY SHELL SYNTAX for the device's shell.
100
+ *
101
+ * These tokens are already quoted/escaped for their target shell — a POSIX
102
+ * `K=V` pair is `shellQuote`d here, and a PowerShell assignment is a complete
103
+ * statement with its own doubled quotes. That matters because argv mode quotes
104
+ * every token it is handed: quoting THESE again turns
105
+ * `'AGENTS_ACTOR=Some Name'` into `''\''AGENTS_ACTOR=Some Name'\'''` and turns a
106
+ * pwsh assignment into an inert string literal. So the prelude is composed
107
+ * SEPARATELY from the caller's argv rather than concatenated into it, and this is
108
+ * the single definition both paths use.
109
+ */
110
+ export declare function fleetRemotePrelude(device: Pick<DeviceProfile, 'shell'>, provenanceEnv?: Record<string, string>): string[];
68
111
  export declare function markFleetRemote(cmd: string[], device: Pick<DeviceProfile, 'shell'>, provenanceEnv?: Record<string, string>): string[];
69
112
  /**
70
113
  * Build the remote command that starts an INTERACTIVE LOGIN shell inside a
@@ -91,7 +134,7 @@ export declare function markFleetRemote(cmd: string[], device: Pick<DeviceProfil
91
134
  */
92
135
  export declare function buildInteractiveShellCommand(device: DeviceProfile, mirrorCwd: string | undefined): string | undefined;
93
136
  /** Host-key posture for {@link buildSshInvocation}. */
94
- export interface SshHostKeyOptions {
137
+ interface SshHostKeyOptions {
95
138
  /**
96
139
  * True when the device's host key is already pinned in the managed
97
140
  * known_hosts store — connections then verify with `StrictHostKeyChecking=yes`
@@ -136,6 +179,7 @@ export declare function deviceIdentityArgs(device: DeviceProfile): string[];
136
179
  export declare function buildSshInvocation(device: DeviceProfile, cmd: string[], askpassShimPath: string, hostKey?: SshHostKeyOptions, opts?: {
137
180
  agentOnly?: boolean;
138
181
  interactiveCwd?: string;
182
+ argv?: boolean;
139
183
  }): {
140
184
  args: string[];
141
185
  env: Record<string, string>;
@@ -162,3 +206,4 @@ export declare function buildAskpassShimBody(launch?: {
162
206
  * protocol back into the CLI, which then resolves the bundle.
163
207
  */
164
208
  export declare function writeAskpassShim(): string;
209
+ export {};