@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
@@ -34,8 +34,8 @@ import type { DeviceProfile } from '../devices/registry.js';
34
34
  */
35
35
  export declare const OWNER_FORWARD_GUARD_ENV = "AGENTS_OWNER_NO_FORWARD";
36
36
  /** Why forwarding did not run, so a caller/test can assert the decision. */
37
- export type OwnerForwardSkip = 'guarded' | 'not-rush-backed' | 'no-capable-peer';
38
- export interface OwnerForwardPlan {
37
+ type OwnerForwardSkip = 'guarded' | 'not-rush-backed' | 'no-capable-peer';
38
+ interface OwnerForwardPlan {
39
39
  /** Ordered machine ids to try — capable (macOS), reachable, self excluded. */
40
40
  candidates: string[];
41
41
  /** Set when forwarding does not apply; the caller keeps its local error. */
@@ -70,11 +70,11 @@ export declare function planOwnerForward(channel: string, meta: Meta, devices: D
70
70
  * unreachable / not a dialable device / answered with unparseable output —
71
71
  * every one of which means "try the next peer".
72
72
  */
73
- export interface PeerOwnerEnvelope {
73
+ interface PeerOwnerEnvelope {
74
74
  thread?: string;
75
75
  from?: string;
76
76
  }
77
- export type PeerOwnerSender = (machine: string, text: string, channel: string, target: string, envelope?: PeerOwnerEnvelope) => Promise<SendResult | undefined>;
77
+ type PeerOwnerSender = (machine: string, text: string, channel: string, target: string, envelope?: PeerOwnerEnvelope) => Promise<SendResult | undefined>;
78
78
  /**
79
79
  * Try each capable peer in order and return the first successful delivery. A
80
80
  * peer that is unreachable or reports its own delivery failure is skipped and
@@ -92,3 +92,4 @@ export declare function forwardOwnerNotifyToPeer(text: string, channel: string,
92
92
  send?: PeerOwnerSender;
93
93
  envelope?: PeerOwnerEnvelope;
94
94
  }): Promise<SendResult | undefined>;
95
+ export {};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Owner-delivery-sink reachability probe (RUSH-2262).
3
3
  *
4
- * The feed/notify owner-delivery lane (`agents notify`, `agents feed post
4
+ * The feed/notify owner-delivery lane (`agents send --to owner`, `agents feed post
5
5
  * --level important` / `--blocked`) reaches the owner over the rush-backed owner
6
6
  * channel (iMessage via `rush message send`). That transport can only deliver
7
7
  * from a context that BOTH finds the `rush` CLI on PATH and can read its
@@ -26,7 +26,7 @@
26
26
  * reads that file — checking it is the mistake that made a signed-in box look
27
27
  * signed out.
28
28
  *
29
- * `agents notify --dry-run` is NOT this probe: it short-circuits before the
29
+ * `agents send --to owner --dry-run` is NOT this probe: it short-circuits before the
30
30
  * `which rush` preflight (`providers/rush.ts`), so it reports `ok:true` on a box
31
31
  * with no rush at all. Resolvability (does the envelope build?) and reachability
32
32
  * (can this box actually deliver?) are different questions; this answers the
@@ -106,7 +106,7 @@ export const desktopProvider = {
106
106
  async send(text, opts) {
107
107
  // `target` is meaningless for a local notification — the recipient is whoever
108
108
  // is at this machine — but it is echoed for --json parity with every other
109
- // provider, and `agents notify` still requires notify.owner.to to be set.
109
+ // provider, and `agents send --to owner` still requires notify.owner.to to be set.
110
110
  const id = opts.target || os.hostname();
111
111
  // Order matters, and CI caught it: validate the CALLER first, then honour
112
112
  // dry-run, and only then probe the platform.
@@ -1,8 +1,9 @@
1
1
  import type { ChannelProvider, SendOptions } from '../registry.js';
2
- export type RushChannel = 'telegram' | 'imessage' | 'slack' | 'discord';
2
+ type RushChannel = 'telegram' | 'imessage' | 'slack' | 'discord';
3
3
  export declare const RUSH_CHANNELS: RushChannel[];
4
4
  /** Build the `rush send` argv (exported for tests). */
5
5
  export declare function buildRushSendArgs(channel: RushChannel, text: string, opts: SendOptions): string[];
6
6
  /** Build the owner-scoped iMessage argv. */
7
7
  export declare function buildRushOwnerMessageArgs(text: string): string[];
8
8
  export declare const rushProviders: ChannelProvider[];
9
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Channel-provider registry for `agents send` / `agents notify`.
2
+ * Channel-provider registry for `agents send`.
3
3
  *
4
4
  * One primitive, many channels. A provider knows how to deliver a message over
5
5
  * exactly one channel — the agent mailbox, a rush-daemon gateway (telegram /
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Channel-provider registry for `agents send` / `agents notify`.
2
+ * Channel-provider registry for `agents send`.
3
3
  *
4
4
  * One primitive, many channels. A provider knows how to deliver a message over
5
5
  * exactly one channel — the agent mailbox, a rush-daemon gateway (telegram /
@@ -9,12 +9,12 @@
9
9
  * Two entry points, deliberately: `lookupTransport` *returns* the failure, for
10
10
  * long-lived callers (the monitor daemon, the feed-dispatch loop) that must
11
11
  * survive a bad channel name; `resolveTransport` `die()`s on it, for the
12
- * interactive `agents send` / `agents notify` command path where exiting with a
12
+ * interactive `agents send` command path where exiting with a
13
13
  * loud message is the right answer. Never give a daemon the dying one.
14
14
  */
15
15
  import type { Meta } from '../types.js';
16
16
  import { type ChannelProvider } from './registry.js';
17
- export interface TransportLookup {
17
+ interface TransportLookup {
18
18
  /** Provider name after applying the `notify.transports` mapping. */
19
19
  providerName: string;
20
20
  /** Registered provider, or undefined when `providerName` resolves to nothing. */
@@ -26,3 +26,4 @@ export interface TransportLookup {
26
26
  export declare function lookupTransport(channel: string, meta: Meta): TransportLookup;
27
27
  /** Interactive-command resolution: an unregistered provider dies loud. */
28
28
  export declare function resolveTransport(channel: string, meta: Meta): ChannelProvider;
29
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Delivery envelope for `agents send` / `agents notify`.
2
+ * Delivery envelope for `agents send`.
3
3
  *
4
4
  * One primitive: resolve a destination (channel + target), compose text + urls +
5
5
  * attachments, hand off to a channel provider. `notify` is the same path with
@@ -12,7 +12,7 @@ import type { Meta } from '../types.js';
12
12
  import type { SendResult } from './registry.js';
13
13
  import type { SinkMessageFormat } from '../sink-format.js';
14
14
  /** Normalized delivery request after CLI/config resolution. */
15
- export interface SendEnvelope {
15
+ interface SendEnvelope {
16
16
  text: string;
17
17
  channel: string;
18
18
  to: string;
@@ -45,12 +45,12 @@ export interface ResolveSendInput {
45
45
  from?: string;
46
46
  dryRun?: boolean;
47
47
  /**
48
- * When true (`agents notify`), missing channel/to default to `notify.owner`.
48
+ * When true (a feed owner sink), missing channel/to default to `notify.owner`.
49
49
  * Explicit flags still win.
50
50
  */
51
51
  ownerMode?: boolean;
52
52
  }
53
- export type ResolveSendResult = {
53
+ type ResolveSendResult = {
54
54
  ok: true;
55
55
  envelope: SendEnvelope;
56
56
  } | {
@@ -94,3 +94,4 @@ export declare function sendMessage(input: ResolveSendInput, meta: Meta, ownerCo
94
94
  } | {
95
95
  error: string;
96
96
  }>;
97
+ export {};
@@ -51,19 +51,12 @@ export interface CliManifest {
51
51
  path: string;
52
52
  }
53
53
  /** A validation problem in a CLI manifest. */
54
- export interface CliManifestError {
54
+ interface CliManifestError {
55
55
  /** Filename that failed to parse. */
56
56
  file: string;
57
57
  /** Human-readable reason. */
58
58
  reason: string;
59
59
  }
60
- /**
61
- * Parse a `check:` field into a CheckSpec. Accepts either a structured object
62
- * (`{ kind: 'which'|'version', cmd, args? }`) or a legacy whitespace-separated
63
- * string. String form is split on whitespace and each token is validated against
64
- * SAFE_CHECK_TOKEN — manifests cannot smuggle in shell metacharacters.
65
- */
66
- export declare function parseCheckSpec(raw: unknown, defaultName: string): CheckSpec;
67
60
  /**
68
61
  * Parse a single CLI manifest from its YAML contents.
69
62
  * Returns a manifest on success; throws on schema violations so callers can
@@ -151,7 +144,7 @@ export declare function buildInstallCommand(method: InstallMethod): string;
151
144
  export declare function installCli(manifest: CliManifest, opts?: {
152
145
  dryRun?: boolean;
153
146
  }): InstallResult;
154
- export interface CliStatus {
147
+ interface CliStatus {
155
148
  manifest: CliManifest;
156
149
  installed: boolean;
157
150
  }
@@ -171,3 +164,4 @@ export declare function listCliStatusAsync(cwd?: string): Promise<{
171
164
  statuses: CliStatus[];
172
165
  errors: CliManifestError[];
173
166
  }>;
167
+ export {};
@@ -23,6 +23,7 @@ import * as yaml from 'yaml';
23
23
  import { listResources, resolveResource } from './resources.js';
24
24
  import { probeCapture } from './probe.js';
25
25
  import { composeWin32CommandLine } from './platform/index.js';
26
+ import { execFileShellSpec } from './platform/exec.js';
26
27
  import { localBinDir } from './platform/posixpath.js';
27
28
  // ─── Validation primitives ───────────────────────────────────────────────────
28
29
  /** Token allowed inside `check:` strings — letters, digits, underscore, dot, slash, dash. */
@@ -72,7 +73,7 @@ function assertSafePathSegment(seg) {
72
73
  * string. String form is split on whitespace and each token is validated against
73
74
  * SAFE_CHECK_TOKEN — manifests cannot smuggle in shell metacharacters.
74
75
  */
75
- export function parseCheckSpec(raw, defaultName) {
76
+ function parseCheckSpec(raw, defaultName) {
76
77
  if (raw == null) {
77
78
  assertSafeCheckToken(defaultName);
78
79
  return { kind: 'version', cmd: defaultName, args: ['--version'] };
@@ -457,7 +458,8 @@ export function buildInstallCommand(method) {
457
458
  function runInstallMethod(method) {
458
459
  if ('npm' in method) {
459
460
  assertNpmPackage(method.npm);
460
- const r = spawnSync('npm', ['install', '-g', method.npm], { stdio: 'inherit' });
461
+ const invocation = execFileShellSpec('npm', ['install', '-g', method.npm]);
462
+ const r = spawnSync(invocation.command, invocation.args, { stdio: 'inherit', shell: invocation.shell });
461
463
  if (r.status !== 0) {
462
464
  throw new Error(`npm install -g ${method.npm} exited with status ${r.status ?? 'unknown'}`);
463
465
  }
@@ -1,6 +1,5 @@
1
1
  /** Cursor Cloud Agents provider backed by the public v1 REST API. */
2
2
  import type { CloudEvent, CloudProvider, CloudTask, CloudTaskStatus, DispatchOptions, ProviderCapabilities } from './types.js';
3
- export declare const CURSOR_API_BASE_URL = "https://api.cursor.com/v1";
4
3
  interface CursorAgent {
5
4
  id: string;
6
5
  name?: string;
@@ -29,7 +28,7 @@ interface CursorRun {
29
28
  }>;
30
29
  };
31
30
  }
32
- export interface CursorCreateBody {
31
+ interface CursorCreateBody {
33
32
  prompt: {
34
33
  text: string;
35
34
  images?: Array<{
@@ -1,7 +1,7 @@
1
1
  /** Cursor Cloud Agents provider backed by the public v1 REST API. */
2
2
  import { normalizeProviderStatus, resolveDispatchRepos } from './types.js';
3
3
  import { readAndResolveBundleEnv } from '../secrets-client.js';
4
- export const CURSOR_API_BASE_URL = 'https://api.cursor.com/v1';
4
+ const CURSOR_API_BASE_URL = 'https://api.cursor.com/v1';
5
5
  const KEY_NAME = 'CURSOR_API_KEY';
6
6
  /** Translate unified dispatch options into Cursor's documented v1 create shape. */
7
7
  export function buildCursorCreateBody(options) {
@@ -7,7 +7,7 @@ export declare function resolveCloudPrompt(raw: string | undefined, opts: {
7
7
  json: boolean;
8
8
  hint: string;
9
9
  }): string;
10
- export interface ExecuteCloudDispatchParams {
10
+ interface ExecuteCloudDispatchParams {
11
11
  provider: CloudProvider;
12
12
  dispatchOptions: DispatchOptions;
13
13
  /** Image file paths for vision dispatch (checked against provider capability). */
@@ -25,3 +25,4 @@ export interface ExecuteCloudDispatchParams {
25
25
  * kill-switch. Dies on any dispatch failure — callers never see a partial.
26
26
  */
27
27
  export declare function executeCloudDispatch(params: ExecuteCloudDispatchParams): Promise<void>;
28
+ export {};
@@ -16,7 +16,7 @@ import { insertTask, updateTaskStatus } from './store.js';
16
16
  import { renderStream } from './stream.js';
17
17
  import { MissingTargetError, MAX_IMAGES_PER_DISPATCH } from './types.js';
18
18
  import { emit } from '../feed/events.js';
19
- import { shareRuntimeEnv } from '../share/config.js';
19
+ import { shareRuntimeEnv } from '../share-runtime.js';
20
20
  /** Map a supported image file extension to its wire mimeType. Rejects anything else. */
21
21
  function imageMimeFromPath(file) {
22
22
  const ext = path.extname(file).toLowerCase();
@@ -20,8 +20,6 @@
20
20
  * message rather than misfiring when unconfigured.
21
21
  */
22
22
  import type { CloudProvider, CloudTask, CloudTaskStatus, CloudEvent, CloudTarget, DispatchOptions, ProviderCapabilities, DroidAutonomy } from './types.js';
23
- /** Locate the droid binary, checking agents-cli shims first then PATH. */
24
- export declare function findDroidBinary(): string | null;
25
23
  /** Normalize an autonomy value, falling back to the safe cloud default (`high`). */
26
24
  export declare function resolveAutonomy(value: unknown, fallback?: DroidAutonomy): DroidAutonomy;
27
25
  /**
@@ -29,7 +29,7 @@ const SHIMS_DIR = getShimsDir();
29
29
  const DEFAULT_AUTONOMY = 'high';
30
30
  const VALID_AUTONOMY = new Set(['low', 'medium', 'high']);
31
31
  /** Locate the droid binary, checking agents-cli shims first then PATH. */
32
- export function findDroidBinary() {
32
+ function findDroidBinary() {
33
33
  const shim = path.join(SHIMS_DIR, 'droid');
34
34
  if (fs.existsSync(shim))
35
35
  return shim;
@@ -21,7 +21,7 @@ export declare function isRushSessionValid(yamlPath?: string): boolean;
21
21
  */
22
22
  export declare function readToken(yamlPath?: string): string;
23
23
  /** One version's entry in the account manifest sent on every dispatch. */
24
- export interface AccountManifestEntry {
24
+ interface AccountManifestEntry {
25
25
  version: string;
26
26
  email: string;
27
27
  }
@@ -36,19 +36,10 @@ export interface AccountManifestEntry {
36
36
  * cloud. Dispatch fails loud and steers to a portable provider account instead
37
37
  * (see the 401 handler in `dispatch()`).
38
38
  */
39
- export interface AccountManifest {
39
+ interface AccountManifest {
40
40
  fp: string;
41
41
  versions: AccountManifestEntry[];
42
42
  }
43
- /**
44
- * Build a manifest of the user's local Claude installations to send on every
45
- * cloud dispatch. The manifest is the contract the server uses to detect when
46
- * the user has added a new account or rotated a token.
47
- *
48
- * Returns null when no Claude versions are signed in (the dispatch falls back
49
- * to the platform-wide key, current behavior).
50
- */
51
- export declare function buildAccountManifest(strategy?: string): Promise<AccountManifest | null>;
52
43
  /**
53
44
  * Build the POST body for /api/v1/cloud-runs. Exported so tests can verify
54
45
  * the back-compat shape (singular fields + repos[]) without needing real
@@ -93,3 +84,4 @@ export declare class RushCloudProvider implements CloudProvider {
93
84
  cancel(taskId: string): Promise<void>;
94
85
  message(taskId: string, content: string): Promise<void>;
95
86
  }
87
+ export {};
@@ -153,7 +153,7 @@ function parsePromptCode(body) {
153
153
  * Returns null when no Claude versions are signed in (the dispatch falls back
154
154
  * to the platform-wide key, current behavior).
155
155
  */
156
- export async function buildAccountManifest(strategy) {
156
+ async function buildAccountManifest(strategy) {
157
157
  let candidateVersions;
158
158
  if (strategy === 'balanced') {
159
159
  // Use the same health-checked, deduped-by-email set that `agents run --balanced` uses.
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import type { CloudTask } from './types.js';
20
20
  /** Context a cloud task needs to become a session row — the LOCAL dir it was launched from. */
21
- export interface CloudSessionContext {
21
+ interface CloudSessionContext {
22
22
  /** Local directory `agents cloud run` was invoked from. Defaults to process.cwd(). */
23
23
  cwd?: string;
24
24
  }
@@ -30,3 +30,4 @@ export interface CloudSessionContext {
30
30
  * failed index write must never break the dispatch/poll it rides on.
31
31
  */
32
32
  export declare function registerCloudSession(task: CloudTask, ctx?: CloudSessionContext): void;
33
+ export {};
@@ -31,7 +31,7 @@ export type CloudProviderId = 'rush' | 'codex' | 'factory' | 'antigravity' | 'cu
31
31
  */
32
32
  export type CloudTaskStatus = 'queued' | 'allocating' | 'running' | 'idle' | 'input_required' | 'completed' | 'failed' | 'cancelled';
33
33
  /** Cloud backends whose wire status is normalized by `normalizeProviderStatus`. */
34
- export type StatusNormalizingProvider = 'rush' | 'codex' | 'antigravity' | 'cursor';
34
+ type StatusNormalizingProvider = 'rush' | 'codex' | 'antigravity' | 'cursor';
35
35
  /**
36
36
  * Normalize a provider's raw wire status into the canonical `CloudTaskStatus`.
37
37
  *
@@ -313,3 +313,4 @@ export interface CloudConfig {
313
313
  default_provider?: CloudProviderId;
314
314
  providers?: CloudProviderConfig;
315
315
  }
316
+ export {};
@@ -0,0 +1,10 @@
1
+ export declare const DEFAULT_CF_BUNDLE = "cloudflare";
2
+ /** Cloudflare API credentials for provisioning, read from `cloudflare` (or a
3
+ * user-named bundle). Fuzzy-matches key names so it works across bundle layouts. */
4
+ export declare function readCloudflareCreds(bundle?: string, override?: {
5
+ apiToken?: string;
6
+ accountId?: string;
7
+ }): {
8
+ apiToken: string;
9
+ accountId: string;
10
+ };
@@ -0,0 +1,46 @@
1
+ // Cloudflare API credential glue, shared by the commands that provision or read
2
+ // Cloudflare-backed endpoints (`agents traces`, `agents sessions backup`).
3
+ //
4
+ // This used to live in `lib/share/config.ts` alongside the embedded artifact
5
+ // share engine. The share engine moved out to `@phnx-labs/artifacts-cli`
6
+ // (PHNX-3992); `readCloudflareCreds` stayed because it is a generic Cloudflare
7
+ // util that `traces`/`sessions backup` borrow, unrelated to sharing.
8
+ import { bundleExistsSync as bundleExists, readAndResolveBundleEnvSync as readAndResolveBundleEnv, } from '../secrets-client.js';
9
+ export const DEFAULT_CF_BUNDLE = 'cloudflare';
10
+ /** Cloudflare API credentials for provisioning, read from `cloudflare` (or a
11
+ * user-named bundle). Fuzzy-matches key names so it works across bundle layouts. */
12
+ export function readCloudflareCreds(bundle = DEFAULT_CF_BUNDLE, override) {
13
+ // Explicit --token/--account bypass the bundle entirely (robust escape hatch).
14
+ if (override?.apiToken) {
15
+ return { apiToken: override.apiToken, accountId: override.accountId ?? '' };
16
+ }
17
+ // Check existence first: resolving a missing bundle through the process client
18
+ // surfaces an opaque transport code (e.g. LOCKED), never naming the bundle the
19
+ // user typed — so name it here.
20
+ if (!bundleExists(bundle)) {
21
+ throw new Error(`The '${bundle}' bundle does not exist. ` +
22
+ `Pass credentials directly with --token <t> [--account <id>], or create it: ` +
23
+ `agents secrets add ${bundle} CLOUDFLARE_API_TOKEN`);
24
+ }
25
+ const { env } = readAndResolveBundleEnv(bundle, {
26
+ caller: 'cloudflare',
27
+ // Setup is still a read; only `agents secrets unlock` may authenticate.
28
+ agentOnly: true,
29
+ });
30
+ const find = (re) => {
31
+ for (const [k, v] of Object.entries(env))
32
+ if (re.test(k) && v)
33
+ return v;
34
+ return '';
35
+ };
36
+ const apiToken = env.CLOUDFLARE_API_TOKEN || env.CF_API_TOKEN || find(/API[_-]?TOKEN|(?:^|_)TOKEN$/i);
37
+ const accountId = override?.accountId || env.CLOUDFLARE_ACCOUNT_ID || env.CF_ACCOUNT_ID || find(/ACCOUNT[_-]?ID/i);
38
+ if (!apiToken) {
39
+ const keys = Object.keys(env);
40
+ throw new Error(`No Cloudflare API token in the '${bundle}' bundle ` +
41
+ `(keys present: ${keys.length ? keys.join(', ') : 'none'}). ` +
42
+ `Pass it directly with --token <t> [--account <id>], or add it: ` +
43
+ `agents secrets add ${bundle} CLOUDFLARE_API_TOKEN`);
44
+ }
45
+ return { apiToken, accountId };
46
+ }
@@ -0,0 +1,35 @@
1
+ /** One compiled non-JS Worker module (e.g. WASM) uploaded alongside the script. */
2
+ export interface WorkerModule {
3
+ name: string;
4
+ contentType: string;
5
+ contents: Uint8Array<ArrayBuffer>;
6
+ }
7
+ /** A Worker script plus any extra modules to upload with it. */
8
+ export interface WorkerBundle {
9
+ script: string;
10
+ modules: WorkerModule[];
11
+ }
12
+ export interface CloudflareRequest {
13
+ apiToken: string;
14
+ method: string;
15
+ pathname: string;
16
+ body?: unknown;
17
+ form?: FormData;
18
+ }
19
+ export type CloudflareRequester = <T = unknown>(request: CloudflareRequest) => Promise<T>;
20
+ interface ProvisionOptions {
21
+ request?: CloudflareRequester;
22
+ }
23
+ /** Create the R2 bucket (idempotent). */
24
+ export declare function createBucket(apiToken: string, accountId: string, name: string, opts?: ProvisionOptions): Promise<void>;
25
+ /** Upload the module Worker with an R2 binding (`BUCKET`). Secrets are set via the Workers Secrets API. */
26
+ export declare function deployWorker(apiToken: string, accountId: string, workerName: string, worker: string | WorkerBundle, bucketName: string, opts?: ProvisionOptions): Promise<void>;
27
+ /** Add/update a secret_text binding using Cloudflare's Workers Secrets API. */
28
+ export declare function putWorkerSecret(apiToken: string, accountId: string, workerName: string, name: string, text: string, opts?: ProvisionOptions): Promise<void>;
29
+ /** Enable the free `*.workers.dev` route for the script, and return the account subdomain. */
30
+ export declare function enableWorkersDev(apiToken: string, accountId: string, workerName: string, opts?: ProvisionOptions): Promise<string>;
31
+ /** Resolve a zone id for a domain the token can see, or null if not owned/visible. */
32
+ export declare function findZoneId(apiToken: string, domain: string, opts?: ProvisionOptions): Promise<string | null>;
33
+ /** Map a custom hostname (e.g. `share.getrush.ai`) to the Worker via Workers Custom Domains. */
34
+ export declare function addCustomDomain(apiToken: string, accountId: string, workerName: string, zoneId: string, hostname: string, opts?: ProvisionOptions): Promise<void>;
35
+ export {};
@@ -0,0 +1,144 @@
1
+ // Generic Cloudflare orchestration — plain `fetch` against the CF REST API (the
2
+ // repo has no CF wrapper). Create an R2 bucket, upload a module Worker with an R2
3
+ // binding, set secrets via the Workers Secrets API, enable the free
4
+ // `*.workers.dev` subdomain, and map a custom domain when the token owns the zone.
5
+ //
6
+ // This was `lib/share/provision.ts`. The artifact share engine moved out to
7
+ // `@phnx-labs/artifacts-cli` (PHNX-3992), but `agents traces` provisions its own
8
+ // isolated Cloudflare-backed store with the SAME primitives — so the generic
9
+ // layer relocated here (share-specific lifecycle/collab/managed helpers left
10
+ // with the share engine). `traces/provision.ts` is now the only consumer.
11
+ const CF_API = 'https://api.cloudflare.com/client/v4';
12
+ async function cf(apiToken, method, pathname, body, form) {
13
+ const headers = { authorization: `Bearer ${apiToken}` };
14
+ let payload;
15
+ if (form) {
16
+ payload = form; // fetch sets multipart boundary
17
+ }
18
+ else if (body !== undefined) {
19
+ headers['content-type'] = 'application/json';
20
+ payload = JSON.stringify(body);
21
+ }
22
+ const res = await fetch(`${CF_API}${pathname}`, { method, headers, body: payload });
23
+ const json = (await res.json().catch(() => ({})));
24
+ if (!res.ok || json.success === false) {
25
+ const msg = (json.errors ?? []).map((e) => `${e.code ?? ''} ${e.message ?? ''}`.trim()).join('; ') ||
26
+ res.statusText;
27
+ throw new Error(`Cloudflare ${method} ${pathname} failed (${res.status}): ${msg}`);
28
+ }
29
+ return json.result;
30
+ }
31
+ const defaultCloudflareRequester = (request) => cf(request.apiToken, request.method, request.pathname, request.body, request.form);
32
+ /** True if the CF error looks like "the thing already exists" (idempotent create). */
33
+ function isAlreadyExists(e) {
34
+ return /already exists|duplicate|10004|10014/i.test(String(e));
35
+ }
36
+ /** Create the R2 bucket (idempotent). */
37
+ export async function createBucket(apiToken, accountId, name, opts = {}) {
38
+ const request = opts.request ?? defaultCloudflareRequester;
39
+ try {
40
+ await request({
41
+ apiToken,
42
+ method: 'POST',
43
+ pathname: `/accounts/${accountId}/r2/buckets`,
44
+ body: { name },
45
+ });
46
+ }
47
+ catch (e) {
48
+ if (!isAlreadyExists(e))
49
+ throw e;
50
+ }
51
+ }
52
+ /** Upload the module Worker with an R2 binding (`BUCKET`). Secrets are set via the Workers Secrets API. */
53
+ export async function deployWorker(apiToken, accountId, workerName, worker, bucketName, opts = {}) {
54
+ const request = opts.request ?? defaultCloudflareRequester;
55
+ const metadata = {
56
+ main_module: 'worker.js',
57
+ compatibility_date: '2024-11-06',
58
+ bindings: [
59
+ { type: 'r2_bucket', name: 'BUCKET', bucket_name: bucketName },
60
+ ],
61
+ };
62
+ const form = new FormData();
63
+ form.set('metadata', new Blob([JSON.stringify(metadata)], { type: 'application/json' }));
64
+ const bundle = typeof worker === 'string' ? { script: worker, modules: [] } : worker;
65
+ form.set('worker.js', new Blob([bundle.script], { type: 'application/javascript+module' }), 'worker.js');
66
+ for (const module of bundle.modules) {
67
+ form.set(module.name, new Blob([module.contents], { type: module.contentType }), module.name);
68
+ }
69
+ await request({
70
+ apiToken,
71
+ method: 'PUT',
72
+ pathname: `/accounts/${accountId}/workers/scripts/${workerName}`,
73
+ form,
74
+ });
75
+ }
76
+ /** Add/update a secret_text binding using Cloudflare's Workers Secrets API. */
77
+ export async function putWorkerSecret(apiToken, accountId, workerName, name, text, opts = {}) {
78
+ const request = opts.request ?? defaultCloudflareRequester;
79
+ await request({
80
+ apiToken,
81
+ method: 'PUT',
82
+ pathname: `/accounts/${accountId}/workers/scripts/${workerName}/secrets`,
83
+ body: { name, text, type: 'secret_text' },
84
+ });
85
+ }
86
+ /** Enable the free `*.workers.dev` route for the script, and return the account subdomain. */
87
+ export async function enableWorkersDev(apiToken, accountId, workerName, opts = {}) {
88
+ const request = opts.request ?? defaultCloudflareRequester;
89
+ await request({
90
+ apiToken,
91
+ method: 'POST',
92
+ pathname: `/accounts/${accountId}/workers/scripts/${workerName}/subdomain`,
93
+ body: {
94
+ enabled: true,
95
+ previews_enabled: false,
96
+ },
97
+ });
98
+ const sub = await request({
99
+ apiToken,
100
+ method: 'GET',
101
+ pathname: `/accounts/${accountId}/workers/subdomain`,
102
+ });
103
+ if (!sub?.subdomain) {
104
+ throw new Error('No workers.dev subdomain on this account yet — register one at dash.cloudflare.com → Workers → Subdomain, then re-run.');
105
+ }
106
+ return sub.subdomain;
107
+ }
108
+ /** Resolve a zone id for a domain the token can see, or null if not owned/visible. */
109
+ export async function findZoneId(apiToken, domain, opts = {}) {
110
+ const request = opts.request ?? defaultCloudflareRequester;
111
+ // Try the exact name, then the registrable parent (share.getrush.ai -> getrush.ai).
112
+ const candidates = [domain, domain.split('.').slice(-2).join('.')];
113
+ for (const name of candidates) {
114
+ const zones = await request({
115
+ apiToken,
116
+ method: 'GET',
117
+ pathname: `/zones?name=${encodeURIComponent(name)}`,
118
+ }).catch(() => []);
119
+ if (zones?.length)
120
+ return zones[0].id;
121
+ }
122
+ return null;
123
+ }
124
+ /** Map a custom hostname (e.g. `share.getrush.ai`) to the Worker via Workers Custom Domains. */
125
+ export async function addCustomDomain(apiToken, accountId, workerName, zoneId, hostname, opts = {}) {
126
+ const request = opts.request ?? defaultCloudflareRequester;
127
+ try {
128
+ await request({
129
+ apiToken,
130
+ method: 'PUT',
131
+ pathname: `/accounts/${accountId}/workers/domains`,
132
+ body: {
133
+ zone_id: zoneId,
134
+ hostname,
135
+ service: workerName,
136
+ environment: 'production',
137
+ },
138
+ });
139
+ }
140
+ catch (e) {
141
+ if (!isAlreadyExists(e))
142
+ throw e;
143
+ }
144
+ }
@@ -1,4 +1,4 @@
1
- export type CodexPolicyMode = 'plan' | 'edit' | 'auto' | 'skip';
1
+ type CodexPolicyMode = 'plan' | 'edit' | 'auto' | 'skip';
2
2
  export declare const CODEX_PLAN_PROFILE = "agents-plan";
3
3
  export declare const CODEX_EDIT_PROFILE = "agents-edit";
4
4
  export declare const CODEX_AUTO_PROFILE = "agents-auto";
@@ -33,3 +33,4 @@ export declare function codexPolicyArgs(mode: CodexPolicyMode, writableRoots?: s
33
33
  export declare function modeForRemoteDispatch(mode: string, source: string | undefined): string | undefined;
34
34
  /** Only the untouched Commander default selects Codex's writable default. */
35
35
  export declare function modeWasImplicit(source: string | undefined, hasConfiguredDefault: boolean): boolean;
36
+ export {};