@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
@@ -12,14 +12,13 @@ import * as yaml from 'yaml';
12
12
  import { ALL_AGENT_IDS } from './agents.js';
13
13
  import { getUserAgentsDir } from './state.js';
14
14
  import { deleteKeychainTokenSync, getKeychainTokenSync, hasKeychainTokenSync, isSecretsClientError, isSecretsTransportError, profileKeychainItem, } from './secrets-client.js';
15
- import { getPreset } from './profiles-presets.js';
16
15
  import { MODEL_TIERS, isTierToken } from './model-tiers.js';
17
16
  import { addAccount, findAccount, resolveCredentialAccount } from './account-registry.js';
18
17
  import { atomicWriteFileSync } from './fs-atomic.js';
19
18
  import { listAccountProviders } from './account-provider-registry.js';
20
19
  const PROFILE_NAME_PATTERN = /^[a-z0-9][a-z0-9-_]{0,48}$/i;
21
20
  /** Get the directory where profile YAML files are stored. */
22
- export function getProfilesDir() {
21
+ function getProfilesDir() {
23
22
  return path.join(getUserAgentsDir(), 'profiles');
24
23
  }
25
24
  function profilePath(name) {
@@ -640,10 +639,3 @@ export function resolveProfileForRun(name, requestedModel) {
640
639
  }
641
640
  return resolved;
642
641
  }
643
- /**
644
- * Look up the preset a profile was created from, if any. Used by
645
- * `profiles view` to show upstream metadata like signup URLs.
646
- */
647
- export function getPresetForProfile(profile) {
648
- return profile.preset ? getPreset(profile.preset) : undefined;
649
- }
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import type { ProjectDef } from './projects.js';
19
19
  /** A definition that disagrees with the machine it describes. */
20
- export interface ProjectFinding {
20
+ interface ProjectFinding {
21
21
  project: string;
22
22
  /** One line naming the disagreement, both sides quoted. */
23
23
  message: string;
@@ -34,3 +34,4 @@ export interface ProjectFinding {
34
34
  * - they disagree → a finding. This is the case that silently lies.
35
35
  */
36
36
  export declare function checkRepoSlug(def: ProjectDef, actualRemote: string | undefined): ProjectFinding | undefined;
37
+ export {};
@@ -36,12 +36,12 @@
36
36
  */
37
37
  import type { AgentId } from './types.js';
38
38
  import { pluginInstallDir } from './plugins/plugin-marketplace.js';
39
- export interface LaunchSyncOptions {
39
+ interface LaunchSyncOptions {
40
40
  agent: AgentId;
41
41
  version: string;
42
42
  cwd: string;
43
43
  }
44
- export interface LaunchSyncResult {
44
+ interface LaunchSyncResult {
45
45
  /** Project rules were re-compiled into cwd/AGENTS.md (+ per-agent symlinks). */
46
46
  rulesCompiled: boolean;
47
47
  /** Number of workspace resource symlinks created or refreshed. */
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import { type ProjectDef } from './projects.js';
15
15
  /** The on-disk state of one workspace repo on one machine. */
16
- export interface RepoWorkspaceStatus {
16
+ interface RepoWorkspaceStatus {
17
17
  /** The probed path, echoed home-relative (re-roots per machine). */
18
18
  path: string;
19
19
  /** `.git` exists (a directory, or a FILE for a linked worktree). */
@@ -87,8 +87,8 @@ export declare function formatFleetWorkspaces(statuses: HostWorkspaceStatus[]):
87
87
  */
88
88
  export declare function formatFleetSummary(statuses: HostWorkspaceStatus[]): string;
89
89
  /** Severity for a workspace/repo warning on the project card. */
90
- export type WorkspaceWarningSeverity = 'critical' | 'continue';
91
- export interface WorkspaceWarning {
90
+ type WorkspaceWarningSeverity = 'critical' | 'continue';
91
+ interface WorkspaceWarning {
92
92
  severity: WorkspaceWarningSeverity;
93
93
  text: string;
94
94
  remediation?: string;
@@ -113,3 +113,4 @@ export interface WorkspaceWarning {
113
113
  * Caller decides whether the rows came from `--fleet` or a local probe.
114
114
  */
115
115
  export declare function workspaceWarnings(statuses: HostWorkspaceStatus[]): WorkspaceWarning[];
116
+ export {};
@@ -37,7 +37,7 @@ export interface ProjectPullResult {
37
37
  message?: string;
38
38
  }
39
39
  /** The wire format this machine emits for the fleet fan-out. Fail-closed on parse. */
40
- export interface ProjectPullEnvelope {
40
+ interface ProjectPullEnvelope {
41
41
  schemaVersion: 1;
42
42
  kind: 'project-pull';
43
43
  /** The emitting machine's {@link machineId} — verified by the caller. */
@@ -126,3 +126,4 @@ export declare function projectPullComplete(results: ProjectPullResult[]): boole
126
126
  * one the caller turns into a non-zero exit.
127
127
  */
128
128
  export declare function printProjectPullSummary(projectName: string, results: ProjectPullResult[], unavailableDevices: string[], unverifiedDevices?: string[]): void;
129
+ export {};
@@ -1,9 +1,8 @@
1
1
  import type { AgentId } from './types.js';
2
- export interface ProjectResourceSyncResult {
2
+ interface ProjectResourceSyncResult {
3
3
  synced: string[];
4
4
  skipped: string[];
5
5
  }
6
- export declare function projectAgentRoot(projectRoot: string, agent: AgentId): string;
7
6
  export declare function syncProjectResourcesToAgent(agent: AgentId, version: string, projectAgentsDir: string): ProjectResourceSyncResult;
8
7
  /**
9
8
  * Turn the manifest's managed paths (relative to agentRoot) into anchored,
@@ -52,3 +51,4 @@ export declare function detrackViaGitExclude(repoDir: string, relPath: string):
52
51
  * internal "user-owned". Returns null when nothing was skipped.
53
52
  */
54
53
  export declare function formatKeptProjectResources(skipped: string[]): string | null;
54
+ export {};
@@ -13,7 +13,7 @@ import { syncWorkflowToVersion } from './workflows-registry.js';
13
13
  const MANIFEST_FILE = '.agents-managed.json';
14
14
  const MANIFEST_VERSION = 1;
15
15
  const COPY_IGNORE = new Set(['.DS_Store', '.git', '.gitignore', '.venv', '__pycache__', 'node_modules']);
16
- export function projectAgentRoot(projectRoot, agent) {
16
+ function projectAgentRoot(projectRoot, agent) {
17
17
  return path.join(projectRoot, agentConfigDirName(agent));
18
18
  }
19
19
  export function syncProjectResourcesToAgent(agent, version, projectAgentsDir) {
@@ -81,12 +81,7 @@ export declare function setProjectRoot(rootPath: string): string;
81
81
  * home-relative string when under `$HOME`; undefined when `cwd` is not in a repo.
82
82
  */
83
83
  export declare function inferProjectRoot(cwd: string): Promise<string | undefined>;
84
- /**
85
- * Resolve the projects root, auto-inferring and caching on first use. Throws an
86
- * actionable error when it is neither configured nor inferrable from `cwd`.
87
- */
88
- export declare function ensureProjectRoot(cwd: string): Promise<string>;
89
- export interface ProjectRef {
84
+ interface ProjectRef {
90
85
  slug: string;
91
86
  worktree?: string;
92
87
  }
@@ -126,3 +121,4 @@ export declare function resolveProjectDirs(ref: string, opts: {
126
121
  cwd: string;
127
122
  extraDirs: string[];
128
123
  }>;
124
+ export {};
@@ -149,7 +149,7 @@ export async function inferProjectRoot(cwd) {
149
149
  * Resolve the projects root, auto-inferring and caching on first use. Throws an
150
150
  * actionable error when it is neither configured nor inferrable from `cwd`.
151
151
  */
152
- export async function ensureProjectRoot(cwd) {
152
+ async function ensureProjectRoot(cwd) {
153
153
  const existing = getProjectRoot();
154
154
  if (existing)
155
155
  return existing;
@@ -32,7 +32,7 @@ import type { LinearMilestone } from './linear-project-counts.js';
32
32
  /** How far ahead counts as "due soon" — one sprint's notice. */
33
33
  export declare const DUE_SOON_DAYS = 14;
34
34
  /** A verdict about the schedule, as a tagged union so `--json` stays stable. */
35
- export type ProjectVerdict = {
35
+ type ProjectVerdict = {
36
36
  kind: 'declared';
37
37
  health: string;
38
38
  } | {
@@ -73,3 +73,4 @@ export declare function formatVerdict(v: ProjectVerdict): {
73
73
  text: string;
74
74
  warn: boolean;
75
75
  } | undefined;
76
+ export {};
@@ -69,7 +69,7 @@ export declare function rollupSessionsByProject(defs: ProjectDef[], sessions: Ac
69
69
  */
70
70
  export declare function isDeadStatus(status: string): boolean;
71
71
  /** Live vs finished sessions on a project. */
72
- export interface LiveDeadSplit {
72
+ interface LiveDeadSplit {
73
73
  live: number;
74
74
  dead: number;
75
75
  /** Dead broken out by status, for the card's parenthetical. */
@@ -100,19 +100,6 @@ export declare function formatDeadSummary(split: LiveDeadSplit): string;
100
100
  export declare function sortProjectMembers(members: ProjectMember[]): ProjectMember[];
101
101
  /** Cap for the members line before it collapses to `+N more`. */
102
102
  export declare const MEMBERS_LINE_LIMIT = 6;
103
- /** Cap for host groups on the multi-line agents roster. */
104
- export declare const MEMBERS_HOST_LIMIT = 8;
105
- /**
106
- * Collapse members into distinct state cells (`agent · status · ticket[@host]`),
107
- * counting duplicates as `×N`. Pure.
108
- */
109
- export declare function collapseMemberCells(members: ProjectMember[], opts?: {
110
- includeHostOnCell?: boolean;
111
- }): Array<{
112
- cell: string;
113
- n: number;
114
- members: number;
115
- }>;
116
103
  /**
117
104
  * The `agents` line under `live`: one cell per DISTINCT member state —
118
105
  * `claude · running · RUSH-2107 @zion` — with identical cells collapsed to a
@@ -151,8 +138,6 @@ export interface ProjectWarning {
151
138
  * nudge (dirty tree, schedule not measurable).
152
139
  */
153
140
  export declare function warningEmoji(severity: ProjectWarningSeverity): string;
154
- /** Stable sort: critical first, then continue; stable within a tier. */
155
- export declare function sortProjectWarnings(warnings: ProjectWarning[]): ProjectWarning[];
156
141
  /**
157
142
  * Format one or more warning lines for the card footer. Pure (chalk only).
158
143
  * Returns empty when there is nothing to say.
@@ -190,3 +175,4 @@ export declare function enrichProjectSignals(def: ProjectDef, windowDays: number
190
175
  activityRoot?: string;
191
176
  skipRemote?: boolean;
192
177
  }): Promise<ProjectRemoteSignals>;
178
+ export {};
@@ -171,12 +171,12 @@ export function sortProjectMembers(members) {
171
171
  /** Cap for the members line before it collapses to `+N more`. */
172
172
  export const MEMBERS_LINE_LIMIT = 6;
173
173
  /** Cap for host groups on the multi-line agents roster. */
174
- export const MEMBERS_HOST_LIMIT = 8;
174
+ const MEMBERS_HOST_LIMIT = 8;
175
175
  /**
176
176
  * Collapse members into distinct state cells (`agent · status · ticket[@host]`),
177
177
  * counting duplicates as `×N`. Pure.
178
178
  */
179
- export function collapseMemberCells(members, opts = {}) {
179
+ function collapseMemberCells(members, opts = {}) {
180
180
  const includeHost = opts.includeHostOnCell !== false;
181
181
  const counts = new Map();
182
182
  for (const m of sortProjectMembers(members)) {
@@ -282,7 +282,7 @@ export function warningEmoji(severity) {
282
282
  return severity === 'critical' ? '🔴' : '⚠️';
283
283
  }
284
284
  /** Stable sort: critical first, then continue; stable within a tier. */
285
- export function sortProjectWarnings(warnings) {
285
+ function sortProjectWarnings(warnings) {
286
286
  const rank = { critical: 0, continue: 1 };
287
287
  return [...warnings].sort((a, b) => rank[a.severity] - rank[b.severity] || a.text.localeCompare(b.text));
288
288
  }
@@ -9,3 +9,36 @@
9
9
  * spawns powershell.exe with an argv array).
10
10
  */
11
11
  export declare function encodePwshBase64(script: string): string;
12
+ /** Single-quote a value for PowerShell's own parser (embedded `'` doubled). */
13
+ export declare function pwshLiteral(value: string): string;
14
+ /**
15
+ * PowerShell statements that run a NATIVE program with exact argv.
16
+ *
17
+ * Windows has no argv array: a process receives ONE string and splits it itself.
18
+ * PowerShell 5.1 rebuilds that string when it invokes a native program, and its
19
+ * serializer is lossy — measured on a real peer, an EMPTY argument is dropped and
20
+ * an embedded `"` is discarded. So the arguments are pre-escaped by the caller to
21
+ * the `CommandLineToArgvW` rules (`quoteWin32ExecArg`) and handed to .NET as one
22
+ * `Arguments` string, which `CreateProcess` receives essentially verbatim. No shell
23
+ * is involved, so no `%VAR%` expansion and no newline sensitivity.
24
+ *
25
+ * `UseShellExecute = $false` with no redirection leaves the child on the inherited
26
+ * handles, which is what lets a binary stdout stream through unchanged.
27
+ *
28
+ * `WorkingDirectory` is set explicitly from `(Get-Location).ProviderPath`, and that
29
+ * is not belt-and-braces: PowerShell's `Set-Location` moves the SHELL's location
30
+ * without updating the .NET process's OS working directory, so a child launched
31
+ * through `ProcessStartInfo` would otherwise start in whatever directory the
32
+ * process began in — silently ignoring a caller's `cwd` (`--remote-cwd`). The
33
+ * `ProviderPath` form is what yields a real filesystem path rather than a
34
+ * PowerShell provider path.
35
+ *
36
+ * @param fileNameExpr a PowerShell EXPRESSION for the executable (a quoted literal,
37
+ * or something like `$__c.Source`) — not a raw path, so a caller that resolved the
38
+ * target on the peer can pass its variable.
39
+ * @param argumentsExpr a PowerShell EXPRESSION producing the argument string —
40
+ * `pwshLiteral(line)` for a static one, or a concatenation when part of it is
41
+ * only known on the peer (a resolved interpreter entry, say).
42
+ * @param exitVar variable name for the child, so a caller can chain on it.
43
+ */
44
+ export declare function pwshNativeExecStatements(fileNameExpr: string, argumentsExpr: string, exitVar?: string): string[];
package/dist/lib/pwsh.js CHANGED
@@ -11,3 +11,59 @@
11
11
  export function encodePwshBase64(script) {
12
12
  return Buffer.from(script, 'utf16le').toString('base64');
13
13
  }
14
+ /** Single-quote a value for PowerShell's own parser (embedded `'` doubled). */
15
+ export function pwshLiteral(value) {
16
+ return `'${value.replace(/'/g, "''")}'`;
17
+ }
18
+ /**
19
+ * PowerShell statements that run a NATIVE program with exact argv.
20
+ *
21
+ * Windows has no argv array: a process receives ONE string and splits it itself.
22
+ * PowerShell 5.1 rebuilds that string when it invokes a native program, and its
23
+ * serializer is lossy — measured on a real peer, an EMPTY argument is dropped and
24
+ * an embedded `"` is discarded. So the arguments are pre-escaped by the caller to
25
+ * the `CommandLineToArgvW` rules (`quoteWin32ExecArg`) and handed to .NET as one
26
+ * `Arguments` string, which `CreateProcess` receives essentially verbatim. No shell
27
+ * is involved, so no `%VAR%` expansion and no newline sensitivity.
28
+ *
29
+ * `UseShellExecute = $false` with no redirection leaves the child on the inherited
30
+ * handles, which is what lets a binary stdout stream through unchanged.
31
+ *
32
+ * `WorkingDirectory` is set explicitly from `(Get-Location).ProviderPath`, and that
33
+ * is not belt-and-braces: PowerShell's `Set-Location` moves the SHELL's location
34
+ * without updating the .NET process's OS working directory, so a child launched
35
+ * through `ProcessStartInfo` would otherwise start in whatever directory the
36
+ * process began in — silently ignoring a caller's `cwd` (`--remote-cwd`). The
37
+ * `ProviderPath` form is what yields a real filesystem path rather than a
38
+ * PowerShell provider path.
39
+ *
40
+ * @param fileNameExpr a PowerShell EXPRESSION for the executable (a quoted literal,
41
+ * or something like `$__c.Source`) — not a raw path, so a caller that resolved the
42
+ * target on the peer can pass its variable.
43
+ * @param argumentsExpr a PowerShell EXPRESSION producing the argument string —
44
+ * `pwshLiteral(line)` for a static one, or a concatenation when part of it is
45
+ * only known on the peer (a resolved interpreter entry, say).
46
+ * @param exitVar variable name for the child, so a caller can chain on it.
47
+ */
48
+ export function pwshNativeExecStatements(fileNameExpr, argumentsExpr, exitVar = '$zp') {
49
+ // Deliberately terse. The whole script is base64'd into ONE ssh command line,
50
+ // and OpenSSH-for-Windows caps that far below cmd.exe's 8191 — measured on a
51
+ // real peer, it fails between ~2.8k and ~4.1k characters. UTF-16LE + base64
52
+ // inflates by ~2.7x, so every character here costs almost three on the wire.
53
+ // `System.` is implicit for these types, and `-EA` is the canonical alias.
54
+ return [
55
+ `$zi=New-Object Diagnostics.ProcessStartInfo`,
56
+ `$zi.FileName=${fileNameExpr}`,
57
+ `$zi.Arguments=${argumentsExpr}`,
58
+ `$zi.UseShellExecute=$false`,
59
+ `$zi.WorkingDirectory=(Get-Location).ProviderPath`,
60
+ // The CALLER sets `$ErrorActionPreference='Stop'` for the whole script, so it
61
+ // is not repeated here — every character costs ~2.7 on the wire after base64.
62
+ // The null guard below is what makes a swallowed Start failure impossible to
63
+ // mistake for success: without it the handle is $null, the code is $null, and
64
+ // `exit $null` reports 0.
65
+ `${exitVar}=[Diagnostics.Process]::Start($zi)`,
66
+ `if($null -eq ${exitVar}){throw "start failed: $($zi.FileName)"}`,
67
+ `${exitVar}.WaitForExit()`,
68
+ ];
69
+ }
@@ -21,7 +21,7 @@ import { type HealResult } from './heal.js';
21
21
  import { type SlotProjection } from './accounts/slots.js';
22
22
  import { type HookRuntimeRepairReport } from './hooks/install.js';
23
23
  import { type RemediateStaleInstallsResult, type FindAgentsCliInstallsOptions } from './self-update.js';
24
- export interface HookRewireResult {
24
+ interface HookRewireResult {
25
25
  agent: AgentId;
26
26
  version: string;
27
27
  /** Hooks newly wired into settings.json by this pass. */
@@ -31,7 +31,7 @@ export interface HookRewireResult {
31
31
  /** Stable failure class; never expose a generated temporary shim pathname. */
32
32
  failure?: 'register-failed';
33
33
  }
34
- export interface RepairAfterSyncReport {
34
+ interface RepairAfterSyncReport {
35
35
  heal: HealResult;
36
36
  hookRewire: HookRewireResult[];
37
37
  hookRuntimeRepair: HookRuntimeRepairReport;
@@ -51,14 +51,14 @@ export interface RepairAfterSyncReport {
51
51
  * hard-codes `/usr/local/lib/node_modules` et al. when `globalNodeModulesDirs` is
52
52
  * absent, so a purge is unsafe to run unscoped in a test — inject sandbox paths.
53
53
  */
54
- export interface PurgeInjection {
54
+ interface PurgeInjection {
55
55
  runningRoot?: string;
56
56
  runningVersion?: string;
57
57
  pathEnv?: string;
58
58
  findOpts?: FindAgentsCliInstallsOptions;
59
59
  dryRun?: boolean;
60
60
  }
61
- export interface RepairAfterSyncOptions {
61
+ interface RepairAfterSyncOptions {
62
62
  /** Scope the repair to one agent; omit for the umbrella sweep across all
63
63
  * installed agents. (The purge is NOT tied to this — see `pruneClis`.) */
64
64
  agent?: AgentId;
@@ -115,3 +115,4 @@ export declare function repairAfterSyncJson(report: RepairAfterSyncReport): Reco
115
115
  * changed, so a clean sync stays quiet.
116
116
  */
117
117
  export declare function renderRepairAfterSync(report: RepairAfterSyncReport, log?: (s: string) => void): void;
118
+ export {};
@@ -1,7 +1,13 @@
1
1
  /**
2
2
  * Shared redaction helpers for text that may be exported or logged.
3
3
  */
4
- /** Remove terminal control sequences from untrusted text before storage or display. */
4
+ /**
5
+ * Remove terminal control sequences from untrusted text before storage or display.
6
+ *
7
+ * A single forward scan, not a regex: an OSC lookup for its terminator (BEL or
8
+ * ESC-\) is the classic polynomial-backtracking shape, and untrusted text can be
9
+ * built to trigger it. Each character is visited a bounded number of times here.
10
+ */
5
11
  export declare function sanitizeForTerminal(text: string): string;
6
12
  /**
7
13
  * Scrub secrets from `text`. Two passes: format-based patterns (above), then a
@@ -17,3 +23,11 @@ export declare function redactSecrets(text: string, knownValues?: readonly strin
17
23
  * credential verbatim even when its format matches no pattern.
18
24
  */
19
25
  export declare function knownSecretValuesFromEnv(env?: NodeJS.ProcessEnv): string[];
26
+ /**
27
+ * Mask email addresses in already-rendered text. A published page's sensitive-
28
+ * content scan refuses a body containing an email (`artifacts share` does the
29
+ * same), and almost every real transcript carries a few — git author addresses,
30
+ * `gh api user`, a pasted log. Masking them here means the page genuinely does
31
+ * not carry them, rather than training callers to pass `--force`.
32
+ */
33
+ export declare function redactEmails(text: string): string;
@@ -47,12 +47,103 @@ const SECRET_PATTERNS = [
47
47
  [/(https?:\/\/)[^/\s:@]+:[^@\s/]+@/gi, '$1[REDACTED]@'],
48
48
  [/\b([A-Z0-9_]*(?:TOKEN|KEY|SECRET|PASSWORD)[A-Z0-9_]*)=("[^"]*"|'[^']*'|\S+)/gi, '$1=[REDACTED]'],
49
49
  ];
50
- const TERMINAL_ESCAPE_REGEX = /\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x9d[^\x07\x9c]*(?:\x07|\x9c)|\x1b\[[0-?]*[ -/]*[@-~]|\x9b[0-?]*[ -/]*[@-~]|\x1b[@-_]|[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/g;
51
- /** Remove terminal control sequences from untrusted text before storage or display. */
50
+ const ESC = 0x1b;
51
+ const BEL = 0x07;
52
+ const CSI_8BIT = 0x9b;
53
+ const OSC_8BIT = 0x9d;
54
+ const ST_8BIT = 0x9c;
55
+ /** C0 controls (minus \t \n \r), DEL, and the C1 range. */
56
+ function isControlByte(c) {
57
+ return (c <= 0x08) || c === 0x0b || c === 0x0c || (c >= 0x0e && c <= 0x1f) || (c >= 0x7f && c <= 0x9f);
58
+ }
59
+ /** End (exclusive) of a CSI parameter/intermediate/final run starting at `i`, or `i` when unterminated. */
60
+ function csiEnd(text, i) {
61
+ let j = i;
62
+ while (j < text.length && text.charCodeAt(j) >= 0x30 && text.charCodeAt(j) <= 0x3f)
63
+ j++;
64
+ while (j < text.length && text.charCodeAt(j) >= 0x20 && text.charCodeAt(j) <= 0x2f)
65
+ j++;
66
+ if (j < text.length && text.charCodeAt(j) >= 0x40 && text.charCodeAt(j) <= 0x7e)
67
+ return j + 1;
68
+ return i;
69
+ }
70
+ /**
71
+ * Remove terminal control sequences from untrusted text before storage or display.
72
+ *
73
+ * A single forward scan, not a regex: an OSC lookup for its terminator (BEL or
74
+ * ESC-\) is the classic polynomial-backtracking shape, and untrusted text can be
75
+ * built to trigger it. Each character is visited a bounded number of times here.
76
+ */
52
77
  export function sanitizeForTerminal(text) {
53
78
  if (!text)
54
79
  return text;
55
- return text.replace(TERMINAL_ESCAPE_REGEX, '');
80
+ let out = '';
81
+ let i = 0;
82
+ const n = text.length;
83
+ // Once an 8-bit OSC scan reaches the end without a terminator, no later one can find one either.
84
+ let noOsc8Terminator = false;
85
+ while (i < n) {
86
+ const c = text.charCodeAt(i);
87
+ if (c === ESC && i + 1 < n) {
88
+ const next = text.charCodeAt(i + 1);
89
+ if (next === 0x5d) {
90
+ // OSC: runs to BEL or ESC-\. Any other ESC aborts the sequence, so the
91
+ // scan never re-covers ground a later OSC start could claim.
92
+ let j = i + 2;
93
+ while (j < n && text.charCodeAt(j) !== BEL && text.charCodeAt(j) !== ESC)
94
+ j++;
95
+ if (j < n && text.charCodeAt(j) === BEL) {
96
+ i = j + 1;
97
+ continue;
98
+ }
99
+ if (j + 1 < n && text.charCodeAt(j) === ESC && text.charCodeAt(j + 1) === 0x5c) {
100
+ i = j + 2;
101
+ continue;
102
+ }
103
+ i += 2;
104
+ continue;
105
+ }
106
+ if (next === 0x5b) {
107
+ const end = csiEnd(text, i + 2);
108
+ if (end > i + 2) {
109
+ i = end;
110
+ continue;
111
+ }
112
+ i += 2;
113
+ continue;
114
+ }
115
+ if (next >= 0x40 && next <= 0x5f) {
116
+ i += 2;
117
+ continue;
118
+ }
119
+ i += 1;
120
+ continue;
121
+ }
122
+ if (c === OSC_8BIT && !noOsc8Terminator) {
123
+ let j = i + 1;
124
+ while (j < n && text.charCodeAt(j) !== BEL && text.charCodeAt(j) !== ST_8BIT)
125
+ j++;
126
+ if (j < n) {
127
+ i = j + 1;
128
+ continue;
129
+ }
130
+ noOsc8Terminator = true;
131
+ i += 1;
132
+ continue;
133
+ }
134
+ if (c === CSI_8BIT) {
135
+ const end = csiEnd(text, i + 1);
136
+ i = end > i + 1 ? end : i + 1;
137
+ continue;
138
+ }
139
+ if (isControlByte(c)) {
140
+ i += 1;
141
+ continue;
142
+ }
143
+ out += text[i];
144
+ i += 1;
145
+ }
146
+ return out;
56
147
  }
57
148
  /** Env vars whose NAME marks their VALUE as a credential worth masking literally. */
58
149
  const SECRET_ENV_NAME = /(?:TOKEN|KEY|SECRET|PASSWORD)/i;
@@ -94,3 +185,14 @@ export function knownSecretValuesFromEnv(env = process.env) {
94
185
  }
95
186
  return out;
96
187
  }
188
+ const EMAIL_RE = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;
189
+ /**
190
+ * Mask email addresses in already-rendered text. A published page's sensitive-
191
+ * content scan refuses a body containing an email (`artifacts share` does the
192
+ * same), and almost every real transcript carries a few — git author addresses,
193
+ * `gh api user`, a pasted log. Masking them here means the page genuinely does
194
+ * not carry them, rather than training callers to pass `--force`.
195
+ */
196
+ export function redactEmails(text) {
197
+ return text.replace(EMAIL_RE, '[EMAIL]');
198
+ }
@@ -1,5 +1,5 @@
1
1
  export declare function setRefreshLockRootForTest(root: string | null): string | null;
2
- export interface RefreshLeaseOptions<T> {
2
+ interface RefreshLeaseOptions<T> {
3
3
  scope: string;
4
4
  key: string;
5
5
  /**
@@ -22,3 +22,4 @@ export interface RefreshLeaseOptions<T> {
22
22
  * async provider request is in flight.
23
23
  */
24
24
  export declare function withRefreshLease<T>(options: RefreshLeaseOptions<T>): Promise<T>;
25
+ export {};
@@ -6,11 +6,11 @@
6
6
  * The reconcile stage behind `agents sync` (the umbrella `--local` path calls
7
7
  * this; see sync-umbrella.ts) and any other caller that needs to re-derive local
8
8
  * state from declared configuration. Does NOT do any git operations — that lives
9
- * in `agents repo pull`. (Also still reachable via the deprecated, hidden
10
- * `agents repo refresh` alias.)
9
+ * in `agents repo pull`.
11
10
  */
12
11
  import type { AgentId } from './types.js';
13
- export interface RefreshOptions {
12
+ import { type ResourceSelection } from './installations/versions.js';
13
+ interface RefreshOptions {
14
14
  /** Limit operations to a single agent (claude/codex/etc). Default: all installed. */
15
15
  agentFilter?: AgentId;
16
16
  /** Auto-sync everything and skip interactive prompts. */
@@ -22,6 +22,10 @@ export interface RefreshOptions {
22
22
  * (`agents sync --json` / fleet fan-out) so stdout stays a single JSON object.
23
23
  */
24
24
  quiet?: boolean;
25
+ /** Limit reconciliation to the requested resource kinds/names. */
26
+ selection?: ResourceSelection;
27
+ /** Explicit consent for selected plugins that add executable surfaces. */
28
+ allowExecSurfaces?: boolean;
25
29
  }
26
30
  /**
27
31
  * Re-materialize local state from declared configuration: install CLI versions,
@@ -37,7 +41,7 @@ export interface RefreshOptions {
37
41
  * visible only on the interactive path — `agents sync --yes` and the
38
42
  * `--device all` fan-out reported a clean sync (RUSH-2700).
39
43
  */
40
- export interface RefreshResult {
44
+ interface RefreshResult {
41
45
  /** User-facing sentences, one per refused resource, prefixed with the agent. */
42
46
  declined: string[];
43
47
  /**
@@ -51,3 +55,4 @@ export interface RefreshResult {
51
55
  }>;
52
56
  }
53
57
  export declare function refresh(options?: RefreshOptions): Promise<RefreshResult>;
58
+ export {};