@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
@@ -18,10 +18,6 @@
18
18
  * (`downloadMenubarHelperApp`: sha256, codesign, Team, designated-requirement
19
19
  * pin, notarization) is unchanged — resolution only chooses the version.
20
20
  */
21
- /** The repo whose releases carry `menubar/v*` tags (same as the download URL). */
22
- export declare const MENUBAR_RELEASES_API = "https://api.github.com/repos/phnx-labs/agi-cli/releases?per_page=100";
23
- /** How long a resolved answer is trusted before the release list is re-read. */
24
- export declare const MENUBAR_RESOLVE_TTL_MS: number;
25
21
  /** One release as the resolver sees it — the subset of the GitHub shape it reads. */
26
22
  export interface ReleaseCandidate {
27
23
  tagName: string;
@@ -29,7 +25,7 @@ export interface ReleaseCandidate {
29
25
  draft?: boolean;
30
26
  prerelease?: boolean;
31
27
  }
32
- export interface MenubarResolveCache {
28
+ interface MenubarResolveCache {
33
29
  /** Epoch ms of the release-list read this answer came from. */
34
30
  checkedAt: number;
35
31
  /** The newest published helper version at that time (never below the floor then). */
@@ -41,8 +37,6 @@ export interface MenubarResolveCache {
41
37
  * pre-release, and carry both the zip and its `.sha256`.
42
38
  */
43
39
  export declare function pickNewestMenubarVersion(candidates: ReleaseCandidate[], floor: string): string;
44
- /** Where the resolved answer lives: beside the helper's own download cache. */
45
- export declare function menubarResolveCachePath(): string;
46
40
  export declare function readMenubarResolveCache(file: string): MenubarResolveCache | null;
47
41
  /**
48
42
  * The cached answer when it is usable offline: at or above the floor, of any
@@ -61,8 +55,6 @@ type FetchLike = (input: string, init?: {
61
55
  status: number;
62
56
  json(): Promise<unknown>;
63
57
  }>;
64
- /** Read the release list. Unauthenticated: release metadata is public and this runs at most once a day per machine. */
65
- export declare function fetchMenubarReleaseCandidates(fetchImpl?: FetchLike): Promise<ReleaseCandidate[]>;
66
58
  /**
67
59
  * The helper version to install now: the newest published build >= floor.
68
60
  *
@@ -26,9 +26,9 @@ import { helperFloor } from '../helper-versions.js';
26
26
  import { getCliVersion } from '../version.js';
27
27
  import { MENUBAR_HELPER_ASSET } from './download-menubar.js';
28
28
  /** The repo whose releases carry `menubar/v*` tags (same as the download URL). */
29
- export const MENUBAR_RELEASES_API = 'https://api.github.com/repos/phnx-labs/agi-cli/releases?per_page=100';
29
+ const MENUBAR_RELEASES_API = 'https://api.github.com/repos/phnx-labs/agi-cli/releases?per_page=100';
30
30
  /** How long a resolved answer is trusted before the release list is re-read. */
31
- export const MENUBAR_RESOLVE_TTL_MS = 24 * 60 * 60 * 1000;
31
+ const MENUBAR_RESOLVE_TTL_MS = 24 * 60 * 60 * 1000;
32
32
  const TAG = /^menubar\/v(\d+\.\d+\.\d+)$/;
33
33
  /**
34
34
  * Pure: the newest candidate at or above `floor`, else the floor. A tag must be
@@ -51,7 +51,7 @@ export function pickNewestMenubarVersion(candidates, floor) {
51
51
  return best;
52
52
  }
53
53
  /** Where the resolved answer lives: beside the helper's own download cache. */
54
- export function menubarResolveCachePath() {
54
+ function menubarResolveCachePath() {
55
55
  return path.join(getCacheDir(), 'menubar', 'latest.json');
56
56
  }
57
57
  export function readMenubarResolveCache(file) {
@@ -84,7 +84,7 @@ export function cachedMenubarVersion(opts = {}) {
84
84
  return cache && compareVersions(cache.version, floor) >= 0 ? cache.version : floor;
85
85
  }
86
86
  /** Read the release list. Unauthenticated: release metadata is public and this runs at most once a day per machine. */
87
- export async function fetchMenubarReleaseCandidates(fetchImpl = fetch) {
87
+ async function fetchMenubarReleaseCandidates(fetchImpl = fetch) {
88
88
  const res = await fetchImpl(MENUBAR_RELEASES_API, {
89
89
  headers: {
90
90
  Accept: 'application/vnd.github+json',
@@ -8,14 +8,20 @@ import type { WatchdogTickResult } from '../watchdog/runner.js';
8
8
  * is deliberately NOT claimed here (the registry's cached tailscale flag is
9
9
  * documented as stale in both directions — registry.ts isLikelyOnline).
10
10
  */
11
- export interface MenubarDevice {
11
+ interface MenubarDevice {
12
12
  name: string;
13
13
  platform: string;
14
+ /**
15
+ * Physical form factor for a factual hardware icon: `laptop` | `desktop` |
16
+ * `server` | `unknown` (PHNX-3999). A shared device-scope config fact set
17
+ * explicitly per device — never inferred from `platform`. `unknown` when unset.
18
+ */
19
+ formFactor: string;
14
20
  interactive: boolean;
15
21
  isLocal: boolean;
16
22
  preferred: boolean;
17
23
  }
18
- export interface MenubarSnapshot {
24
+ interface MenubarSnapshot {
19
25
  version: 1;
20
26
  capturedAt: string;
21
27
  /**
@@ -29,11 +35,27 @@ export interface MenubarSnapshot {
29
35
  recentSessions: Record<string, unknown>[];
30
36
  activeSessions: Record<string, unknown>[];
31
37
  devices: MenubarDevice[];
38
+ /**
39
+ * AGI Menu preferences (PHNX-3999), keyed by the full `menubar.menu.*` config
40
+ * name, carrying the EFFECTIVE value — the stored value, else the registered
41
+ * default. The native menu consumes this from the snapshot it already polls
42
+ * rather than a second preference-read mechanism. `menubar.menu.defaultProject`
43
+ * is omitted when unset (it has no default); every other key is always present.
44
+ * Writes stay one `agents config set/unset <key>` per setting.
45
+ */
46
+ menuPreferences: Record<string, unknown>;
32
47
  watchdog: {
33
48
  enabled: boolean;
34
49
  lastTick: Pick<WatchdogTickResult, 'didNudge' | 'counts'> | null;
35
50
  };
36
51
  }
52
+ /**
53
+ * The effective AGI Menu preferences map for the snapshot: each `menubar.menu.*`
54
+ * key's stored value, or its registered default when unset. A key with neither
55
+ * (only `defaultProject`) is omitted so the native app keeps its own default.
56
+ */
57
+ export declare function buildMenuPreferences(): Record<string, unknown>;
37
58
  export declare function readLastWatchdogTick(stateDir?: string): WatchdogTickResult | null;
38
59
  /** One-process read model for AGI Menu's repeating three-minute refresh. */
39
60
  export declare function computeMenubarSnapshot(): Promise<MenubarSnapshot>;
61
+ export {};
@@ -3,12 +3,31 @@ import * as path from 'path';
3
3
  import { buildRoutineListJson } from '../scheduling/routines.js';
4
4
  import { backfillActiveRowsFromIndex, isRunningLiveSession, serializeActiveSessionsForJson, serializeSessionsJson } from '../session/active.js';
5
5
  import { getConfigValue, loadAutoLaunchPreferences } from '../device-config.js';
6
+ import { MENUBAR_MENU_PROPERTIES } from '../config-keys.js';
7
+ import { migrateMenubarPreferencesFromUserDefaults } from './migrate-prefs.js';
6
8
  import { loadDevices } from '../devices/registry.js';
7
9
  import { machineId } from '../machine-id.js';
8
10
  import { querySessions } from '../session/db.js';
9
11
  import { readActiveSessionsCache } from '../session/session-cache.js';
10
12
  import { getRuntimeStateDir } from '../state.js';
11
13
  import { getCliVersion } from '../version.js';
14
+ /**
15
+ * The effective AGI Menu preferences map for the snapshot: each `menubar.menu.*`
16
+ * key's stored value, or its registered default when unset. A key with neither
17
+ * (only `defaultProject`) is omitted so the native app keeps its own default.
18
+ */
19
+ export function buildMenuPreferences() {
20
+ const out = {};
21
+ for (const prop of MENUBAR_MENU_PROPERTIES) {
22
+ const name = `menubar.menu.${prop}`;
23
+ const entry = getConfigValue(name);
24
+ const value = entry.value !== undefined ? entry.value : entry.spec.defaultValue;
25
+ if (value === undefined)
26
+ continue; // unset defaultProject — no default to emit
27
+ out[name] = value;
28
+ }
29
+ return out;
30
+ }
12
31
  /**
13
32
  * The full registered-device roster for the menu bar, from the local registry
14
33
  * file only (no ssh, no stats probe) — as cheap as `buildRoutineListJson()`, so
@@ -26,6 +45,8 @@ async function buildMenubarDevices() {
26
45
  .map((name) => ({
27
46
  name,
28
47
  platform: reg[name].platform,
48
+ // Shared device-scope fact (readable for any device); `unknown` when unset.
49
+ formFactor: getConfigValue('formFactor', { device: name }).value ?? 'unknown',
29
50
  interactive: name === interactiveHost,
30
51
  isLocal: name === self,
31
52
  preferred: prefs[name]?.preferred === true,
@@ -41,6 +62,10 @@ export function readLastWatchdogTick(stateDir = path.join(getRuntimeStateDir(),
41
62
  }
42
63
  /** One-process read model for AGI Menu's repeating three-minute refresh. */
43
64
  export async function computeMenubarSnapshot() {
65
+ // One-shot, sentinel-gated, macOS-only lift of legacy UserDefaults prefs into
66
+ // config before we read them. After the first run it is a cheap existsSync
67
+ // no-op; it never throws into the snapshot.
68
+ migrateMenubarPreferencesFromUserDefaults();
44
69
  const [routines, recent, devices] = await Promise.all([
45
70
  Promise.resolve(buildRoutineListJson()),
46
71
  Promise.resolve(querySessions({ limit: 40, skipExistenceCheck: true })),
@@ -69,6 +94,7 @@ export async function computeMenubarSnapshot() {
69
94
  recentSessions: JSON.parse(serializeSessionsJson(recent)),
70
95
  activeSessions: serializeActiveSessionsForJson(activeSessions),
71
96
  devices,
97
+ menuPreferences: buildMenuPreferences(),
72
98
  watchdog: {
73
99
  enabled: getConfigValue('watchdog.enabled').value === true,
74
100
  lastTick: (() => {
@@ -22,8 +22,8 @@
22
22
  */
23
23
  import type { AgentId } from './types.js';
24
24
  import { type ModelTier } from './model-tiers.js';
25
- export type TierOverrideMap = Partial<Record<ModelTier, string>>;
26
- export interface TierOverrideEntry {
25
+ type TierOverrideMap = Partial<Record<ModelTier, string>>;
26
+ interface TierOverrideEntry {
27
27
  selector: string;
28
28
  tiers: TierOverrideMap;
29
29
  }
@@ -41,3 +41,4 @@ export declare function listTierOverrides(): TierOverrideEntry[];
41
41
  export declare function setTierOverride(selectorInput: string, tierInput: string | ModelTier, model: string): TierOverrideEntry;
42
42
  /** Clear one tier (or all tiers when `tierInput` is omitted) for a selector. Returns true if anything changed. */
43
43
  export declare function clearTierOverride(selectorInput: string, tierInput?: string): boolean;
44
+ export {};
@@ -262,5 +262,3 @@ export declare function writeMonitor(config: MonitorConfig): void;
262
262
  export declare function deleteMonitor(name: string): boolean;
263
263
  /** Enable or disable a monitor by name. */
264
264
  export declare function setMonitorEnabled(name: string, enabled: boolean): void;
265
- /** Check whether a monitor with the given name exists on disk. */
266
- export declare function monitorExists(name: string): boolean;
@@ -500,7 +500,3 @@ export function setMonitorEnabled(name, enabled) {
500
500
  monitor.enabled = enabled;
501
501
  writeMonitor(monitor);
502
502
  }
503
- /** Check whether a monitor with the given name exists on disk. */
504
- export function monitorExists(name) {
505
- return readMonitor(name) !== null;
506
- }
@@ -29,7 +29,7 @@ interface MonitorLivenessLike {
29
29
  droughtNotifiedAt?: string;
30
30
  }
31
31
  /** The fire/no-fire decision for one observation, plus what to persist. */
32
- export interface FireDecision {
32
+ interface FireDecision {
33
33
  fire: boolean;
34
34
  /** The value whose de-dupe signature is stored on persist. */
35
35
  value: string;
@@ -49,7 +49,7 @@ export interface RemoteMonitor {
49
49
  * must never blank the guard for the rest of the fleet.
50
50
  */
51
51
  export declare function parseRemoteMonitors(stdout: string, machine: string): RemoteMonitor[];
52
- export interface FleetMonitorsResult {
52
+ interface FleetMonitorsResult {
53
53
  monitors: RemoteMonitor[];
54
54
  /** Target discovery failed before any peer was dialed — the fleet was not
55
55
  * consulted at all, which must not read as "no duplicate anywhere". */
@@ -58,7 +58,7 @@ export interface FleetMonitorsResult {
58
58
  * silently treating "we could not ask" as "there is no duplicate". */
59
59
  skipped: string[];
60
60
  }
61
- export interface GatherFleetMonitorsOptions {
61
+ interface GatherFleetMonitorsOptions {
62
62
  /** When supplied, the fan-out aborts as soon as any peer returns a monitor with
63
63
  * this behavioral fingerprint. The miss path still waits for every peer so the
64
64
  * guard can prove absence fleet-wide. */
@@ -80,3 +80,4 @@ export interface GatherFleetMonitorsOptions {
80
80
  * knowable once every peer has answered.
81
81
  */
82
82
  export declare function gatherFleetMonitors(options?: GatherFleetMonitorsOptions): Promise<FleetMonitorsResult>;
83
+ export {};
@@ -2,22 +2,9 @@
2
2
  * Webhook source evaluator.
3
3
  *
4
4
  * Webhooks are push-based (an inbound signed HTTP delivery), so the poll-model
5
- * `evaluate` returns null. When a delivery arrives, the receiver matches it
6
- * against monitors with `matchWebhook`, which reuses the github/linear matchers
7
- * from lib/triggers/webhook.ts by projecting the monitor's webhook filters onto a
8
- * synthesized JobConfig-shaped trigger.
5
+ * `evaluate` returns null.
9
6
  */
10
- import { type IncomingWebhook } from '../../triggers/webhook.js';
11
- import type { JobTrigger } from '../../scheduling/routines.js';
12
- import type { MonitorSource, MonitorConfig } from '../config.js';
7
+ import type { MonitorSource } from '../config.js';
13
8
  import type { Observation } from './types.js';
14
9
  /** Push-only: nothing to snapshot on a poll tick. */
15
10
  export declare function evaluate(_source: MonitorSource): Promise<Observation | null>;
16
- /** Project a monitor's webhook source onto a JobTrigger for the shared matcher. */
17
- export declare function monitorTrigger(source: MonitorSource): JobTrigger | null;
18
- /**
19
- * True when an incoming webhook matches this monitor's webhook source — reuses
20
- * the routines matcher (lib/triggers/webhook.ts) so github/linear filter
21
- * semantics stay in one place.
22
- */
23
- export declare function matchWebhook(monitor: MonitorConfig, webhook: IncomingWebhook): boolean;
@@ -2,46 +2,9 @@
2
2
  * Webhook source evaluator.
3
3
  *
4
4
  * Webhooks are push-based (an inbound signed HTTP delivery), so the poll-model
5
- * `evaluate` returns null. When a delivery arrives, the receiver matches it
6
- * against monitors with `matchWebhook`, which reuses the github/linear matchers
7
- * from lib/triggers/webhook.ts by projecting the monitor's webhook filters onto a
8
- * synthesized JobConfig-shaped trigger.
5
+ * `evaluate` returns null.
9
6
  */
10
- import { jobMatchesWebhook } from '../../triggers/webhook.js';
11
7
  /** Push-only: nothing to snapshot on a poll tick. */
12
8
  export function evaluate(_source) {
13
9
  return Promise.resolve(null);
14
10
  }
15
- /** Project a monitor's webhook source onto a JobTrigger for the shared matcher. */
16
- export function monitorTrigger(source) {
17
- const w = source.webhook;
18
- if (!w)
19
- return null;
20
- if (w.source === 'github') {
21
- return {
22
- type: 'github_event',
23
- event: w.event,
24
- ...(w.repo ? { repo: w.repo } : {}),
25
- ...(w.branch ? { branch: w.branch } : {}),
26
- };
27
- }
28
- return {
29
- type: 'linear_event',
30
- event: w.event,
31
- ...(w.action ? { action: w.action } : {}),
32
- ...(w.teamKey ? { teamKey: w.teamKey } : {}),
33
- ...(w.label ? { label: w.label } : {}),
34
- };
35
- }
36
- /**
37
- * True when an incoming webhook matches this monitor's webhook source — reuses
38
- * the routines matcher (lib/triggers/webhook.ts) so github/linear filter
39
- * semantics stay in one place.
40
- */
41
- export function matchWebhook(monitor, webhook) {
42
- const trigger = monitorTrigger(monitor.source);
43
- if (!trigger)
44
- return false;
45
- const shim = { name: monitor.name, trigger };
46
- return jobMatchesWebhook(shim, webhook);
47
- }
@@ -13,7 +13,7 @@
13
13
  import { type RunMeta } from '../scheduling/routines.js';
14
14
  import type { MonitorEvent } from './config.js';
15
15
  /** Persisted last-seen state for one monitor. */
16
- export interface MonitorState {
16
+ interface MonitorState {
17
17
  monitorName: string;
18
18
  /** Hash of the last-seen de-dupe signature (see hasChanged). */
19
19
  lastHash: string;
@@ -53,12 +53,8 @@ export interface MonitorLiveness {
53
53
  }
54
54
  /** Per-monitor history root, with the (untrusted) name contained to one segment. */
55
55
  export declare function getMonitorHistoryDir(name: string): string;
56
- /** Directory holding a monitor's fire history. */
57
- export declare function getMonitorFiresDir(name: string): string;
58
56
  /** Read a monitor's last-seen state, or null if it has never been observed. */
59
57
  export declare function readState(name: string): MonitorState | null;
60
- /** Persist a monitor's state atomically (temp file + rename, like writeRunMeta). */
61
- export declare function writeStateRaw(state: MonitorState): void;
62
58
  /**
63
59
  * Record a new observation as the monitor's last-seen state, preserving fire
64
60
  * bookkeeping. Truncates the stored raw value so a firehose can't bloat disk.
@@ -99,7 +95,7 @@ export declare function recordFireTime(name: string, now: number, windowMs: numb
99
95
  /** Write a fire record to fires/<id>/event.json and return the fire id. */
100
96
  export declare function writeFireRecord(event: MonitorEvent, meta?: Record<string, unknown>): string;
101
97
  /** A single fire history entry (as read back from disk). */
102
- export interface FireRecord extends MonitorEvent {
98
+ interface FireRecord extends MonitorEvent {
103
99
  runId?: string;
104
100
  action?: string;
105
101
  ok?: boolean;
@@ -132,7 +128,7 @@ export interface FireRecord extends MonitorEvent {
132
128
  /** List a monitor's fire history, chronologically ascending. */
133
129
  export declare function listFires(name: string): FireRecord[];
134
130
  /** The reconciled outcome of one fire, resolved against the run's live status. */
135
- export interface ReconciledFireOutcome {
131
+ interface ReconciledFireOutcome {
136
132
  /** True fire outcome, correcting the frozen `ok` against the run's CURRENT status. */
137
133
  ok: boolean;
138
134
  /** The run's live terminal status, when a runId is present and resolvable. */
@@ -184,3 +180,4 @@ export declare function evaluatePostcondition(command: string): {
184
180
  * so later listings do not re-exec the command.
185
181
  */
186
182
  export declare function resolveFireOutcome(jobName: string, fire: FireRecord): ReconciledFireOutcome;
183
+ export {};
@@ -29,7 +29,7 @@ function getLivenessPath(name) {
29
29
  return path.join(getMonitorHistoryDir(name), 'liveness.json');
30
30
  }
31
31
  /** Directory holding a monitor's fire history. */
32
- export function getMonitorFiresDir(name) {
32
+ function getMonitorFiresDir(name) {
33
33
  return path.join(getMonitorHistoryDir(name), 'fires');
34
34
  }
35
35
  /** Read a monitor's last-seen state, or null if it has never been observed. */
@@ -45,7 +45,7 @@ export function readState(name) {
45
45
  }
46
46
  }
47
47
  /** Persist a monitor's state atomically (temp file + rename, like writeRunMeta). */
48
- export function writeStateRaw(state) {
48
+ function writeStateRaw(state) {
49
49
  ensureAgentsDir();
50
50
  const dir = getMonitorHistoryDir(state.monitorName);
51
51
  fs.mkdirSync(dir, { recursive: true });
@@ -2,7 +2,7 @@
2
2
  * Owner notifier — the one seam for "ping the human" messages.
3
3
  *
4
4
  * Every human-facing owner notification (feed urgent-block dispatch, monitor
5
- * `notify` action, `agents notify`) funnels through the single channel seam:
5
+ * `notify` action, `agents send --to owner`) funnels through the single channel seam:
6
6
  * `lookupTransport(channel, meta).provider.send(text, opts)`. The recipient comes
7
7
  * from `humans.yaml` — never a hardcoded chat id — so changing the
8
8
  * owner is honoured by every path at once. `notify.transports` picks the actual
@@ -115,7 +115,7 @@ export async function sendToOwner(text, options = {}) {
115
115
  }
116
116
  }
117
117
  // Echo the exact per-destination body delivered, so a caller (and
118
- // `agents notify --dry-run --json`) can see Slack got the labeled-link
118
+ // `agents send --to owner --dry-run --json`) can see Slack got the labeled-link
119
119
  // variant and iMessage the plain one — the observable proof of PHNX-3698.
120
120
  deliveries.push({ ...result, body });
121
121
  }
@@ -1,11 +1,7 @@
1
1
  /**
2
2
  * 1Password CLI (op) integration for importing secrets from vaults.
3
3
  */
4
- export interface OpVault {
5
- id: string;
6
- name: string;
7
- }
8
- export interface OpItemSummary {
4
+ interface OpItemSummary {
9
5
  id: string;
10
6
  title: string;
11
7
  category: string;
@@ -24,7 +20,7 @@ export interface OpField {
24
20
  export interface OpItem extends OpItemSummary {
25
21
  fields: OpField[];
26
22
  }
27
- export interface ImportableSecret {
23
+ interface ImportableSecret {
28
24
  envKey: string;
29
25
  itemTitle: string;
30
26
  fieldLabel: string;
@@ -36,14 +32,11 @@ export interface ImportableSecret {
36
32
  */
37
33
  description?: string;
38
34
  }
39
- export interface SkippedField {
35
+ interface SkippedField {
40
36
  itemTitle: string;
41
37
  fieldLabel: string;
42
38
  reason: string;
43
39
  }
44
- export declare function assertOpAvailable(): void;
45
- export declare function listVaults(): OpVault[];
46
- export declare function listItems(vaultName: string): OpItemSummary[];
47
40
  export declare function getItem(itemId: string, vaultName: string): OpItem;
48
41
  export declare function toEnvKey(title: string): string;
49
42
  export declare function slugify(name: string): string;
@@ -62,7 +55,7 @@ export declare function extractSecrets(items: OpItemSummary[], vaultName: string
62
55
  secrets: ImportableSecret[];
63
56
  skipped: SkippedField[];
64
57
  };
65
- export interface PasswordItemTemplate {
58
+ interface PasswordItemTemplate {
66
59
  title: string;
67
60
  category: 'PASSWORD';
68
61
  tags: string[];
@@ -75,6 +68,4 @@ export interface PasswordItemTemplate {
75
68
  }>;
76
69
  }
77
70
  export declare function buildPasswordItemTemplate(title: string, value: string): PasswordItemTemplate;
78
- export declare function itemExistsByTitle(title: string, vaultName: string): boolean;
79
- export declare function deleteItemByTitle(title: string, vaultName: string): void;
80
- export declare function createPasswordItem(title: string, value: string, vaultName: string): void;
71
+ export {};
@@ -2,9 +2,6 @@
2
2
  * 1Password CLI (op) integration for importing secrets from vaults.
3
3
  */
4
4
  import { spawnSync } from 'child_process';
5
- import * as fs from 'fs';
6
- import * as os from 'os';
7
- import * as path from 'path';
8
5
  function runOp(args, input) {
9
6
  const result = spawnSync('op', args, {
10
7
  stdio: [input !== undefined ? 'pipe' : 'ignore', 'pipe', 'pipe'],
@@ -27,33 +24,6 @@ function runOp(args, input) {
27
24
  }
28
25
  return { ok: true, stdout: result.stdout };
29
26
  }
30
- export function assertOpAvailable() {
31
- // `op account list` works with both CLI session tokens and the 1Password
32
- // desktop biometric integration; `op whoami` fails on the latter.
33
- const result = runOp(['account', 'list', '--format=json']);
34
- if (!result.ok) {
35
- throw new Error(result.error);
36
- }
37
- }
38
- export function listVaults() {
39
- const result = runOp(['vault', 'list', '--format=json']);
40
- if (!result.ok)
41
- throw new Error(result.error);
42
- return JSON.parse(result.stdout);
43
- }
44
- export function listItems(vaultName) {
45
- const result = runOp(['item', 'list', '--vault', vaultName, '--format=json']);
46
- if (!result.ok) {
47
- if (result.error.includes('vault') && result.error.includes('not found')) {
48
- const vaults = listVaults();
49
- const available = vaults.map((v) => v.name).join(', ');
50
- throw new Error(`Vault '${vaultName}' not found. Available: ${available || '(none)'}`);
51
- }
52
- throw new Error(result.error);
53
- }
54
- const items = JSON.parse(result.stdout);
55
- return items || [];
56
- }
57
27
  export function getItem(itemId, vaultName) {
58
28
  const result = runOp(['item', 'get', itemId, '--vault', vaultName, '--format=json', '--reveal']);
59
29
  if (!result.ok)
@@ -180,37 +150,3 @@ export function buildPasswordItemTemplate(title, value) {
180
150
  ],
181
151
  };
182
152
  }
183
- export function itemExistsByTitle(title, vaultName) {
184
- const result = runOp(['item', 'get', title, '--vault', vaultName, '--format=json']);
185
- if (result.ok)
186
- return true;
187
- if (/isn't an item|not found|no item found/i.test(result.error))
188
- return false;
189
- throw new Error(result.error);
190
- }
191
- export function deleteItemByTitle(title, vaultName) {
192
- const result = runOp(['item', 'delete', title, '--vault', vaultName]);
193
- if (!result.ok)
194
- throw new Error(result.error);
195
- }
196
- export function createPasswordItem(title, value, vaultName) {
197
- // op item create reads stdin templates only from a real pipe; spawnSync's
198
- // input plumbing is detected as empty and op silently ignores the template.
199
- // The supported alternative is --template <file>, which works reliably.
200
- const template = JSON.stringify(buildPasswordItemTemplate(title, value));
201
- const tmpFile = path.join(os.tmpdir(), `agents-op-tpl-${process.pid}-${Date.now()}.json`);
202
- fs.writeFileSync(tmpFile, template, { mode: 0o600 });
203
- try {
204
- const result = runOp(['item', 'create', '--template', tmpFile, '--vault', vaultName]);
205
- if (!result.ok)
206
- throw new Error(result.error);
207
- }
208
- finally {
209
- try {
210
- fs.unlinkSync(tmpFile);
211
- }
212
- catch {
213
- // best-effort cleanup
214
- }
215
- }
216
- }
@@ -1,5 +1,5 @@
1
1
  /** Where a "show the human this" call actually landed. */
2
- export type ShowOutcome = {
2
+ type ShowOutcome = {
3
3
  via: 'profile';
4
4
  profile: string;
5
5
  tabId?: string;
@@ -10,7 +10,7 @@ export type ShowOutcome = {
10
10
  via: 'none';
11
11
  reason: string;
12
12
  };
13
- export interface ShowOptions {
13
+ interface ShowOptions {
14
14
  /**
15
15
  * Force the OS default handler, ignoring `browser.viewer`. This is the
16
16
  * The programmatic escape hatch, for a caller that must use the user's own
@@ -58,3 +58,4 @@ export declare function showUrl(url: string, opts?: ShowOptions): Promise<ShowOu
58
58
  * is the right viewer.
59
59
  */
60
60
  export declare function showFile(filePath: string, opts?: ShowOptions): Promise<ShowOutcome>;
61
+ export {};
@@ -1,18 +1,10 @@
1
1
  import { type SpawnSyncOptions } from 'child_process';
2
- export declare const OPENCLAW_KEYCHAIN_ACCOUNT = "openclaw";
3
- export declare const OPENCLAW_KEYCHAIN_PROVIDER = "agents_keychain";
4
- export declare const OPENCLAW_KEYCHAIN_ENV_SERVICES: Record<string, string>;
5
- export interface OpenClawSecretRef {
6
- source: 'exec';
7
- provider: string;
8
- id: string;
9
- }
10
- export interface OpenClawKeychainMigrationOptions {
2
+ interface OpenClawKeychainMigrationOptions {
11
3
  account?: string;
12
4
  provider?: string;
13
5
  agentsBin?: string;
14
6
  }
15
- export interface OpenClawKeychainMigrationResult {
7
+ interface OpenClawKeychainMigrationResult {
16
8
  services: Array<{
17
9
  envKey: string;
18
10
  service: string;
@@ -35,17 +27,12 @@ export declare function buildOpenClawKeychainStoreInvocation(service: string, va
35
27
  detached: boolean;
36
28
  };
37
29
  };
38
- export declare function storeOpenClawKeychainServices(services: Array<{
39
- service: string;
40
- value: string;
41
- }>, account?: string): void;
42
- export declare function readOpenClawKeychainService(service: string, account?: string): string;
43
- export interface OpenClawExecResolverRequest {
30
+ interface OpenClawExecResolverRequest {
44
31
  protocolVersion?: number;
45
32
  provider?: string;
46
33
  ids?: unknown;
47
34
  }
48
- export interface OpenClawExecResolverResponse {
35
+ interface OpenClawExecResolverResponse {
49
36
  protocolVersion: 1;
50
37
  values: Record<string, string>;
51
38
  errors?: Record<string, {
@@ -1,4 +1,3 @@
1
- import { execFileSync, spawnSync } from 'child_process';
2
1
  import { getCliLaunch } from './cli-entry.js';
3
2
  /**
4
3
  * argv for writing a bare (non-`agents-cli.`) keychain item via
@@ -27,9 +26,9 @@ function buildAddGenericPasswordSpawnOptions(value) {
27
26
  detached: true,
28
27
  };
29
28
  }
30
- export const OPENCLAW_KEYCHAIN_ACCOUNT = 'openclaw';
31
- export const OPENCLAW_KEYCHAIN_PROVIDER = 'agents_keychain';
32
- export const OPENCLAW_KEYCHAIN_ENV_SERVICES = {
29
+ const OPENCLAW_KEYCHAIN_ACCOUNT = 'openclaw';
30
+ const OPENCLAW_KEYCHAIN_PROVIDER = 'agents_keychain';
31
+ const OPENCLAW_KEYCHAIN_ENV_SERVICES = {
33
32
  OPENROUTER_API_KEY: 'openrouter-api-key',
34
33
  LINEAR_API_KEY: 'linear-api-key',
35
34
  GRAFANA_API_KEY: 'grafana-api-key',
@@ -213,35 +212,6 @@ export function buildOpenClawKeychainStoreInvocation(service, value, account = O
213
212
  options: buildAddGenericPasswordSpawnOptions(value),
214
213
  };
215
214
  }
216
- export function storeOpenClawKeychainServices(services, account = OPENCLAW_KEYCHAIN_ACCOUNT) {
217
- if (process.platform !== 'darwin') {
218
- throw new Error('OpenClaw Keychain migration must run on macOS.');
219
- }
220
- for (const { service, value } of services) {
221
- const write = buildOpenClawKeychainStoreInvocation(service, value, account);
222
- const result = spawnSync(write.command, write.args, write.options);
223
- if (result.status !== 0) {
224
- const msg = result.stderr?.toString().trim();
225
- throw new Error(msg || `Failed to write OpenClaw Keychain service '${service}'.`);
226
- }
227
- }
228
- }
229
- function stripSecurityTrailingNewline(value) {
230
- return value.replace(/\r?\n$/, '');
231
- }
232
- export function readOpenClawKeychainService(service, account = OPENCLAW_KEYCHAIN_ACCOUNT) {
233
- if (!/^[A-Za-z0-9][A-Za-z0-9._:/#-]{0,255}$/.test(service)) {
234
- throw new Error(`Invalid OpenClaw Keychain service id '${service}'.`);
235
- }
236
- if (process.platform !== 'darwin') {
237
- throw new Error('OpenClaw Keychain resolver must run on macOS.');
238
- }
239
- const value = execFileSync('/usr/bin/security', ['find-generic-password', '-s', service, '-a', account, '-w'], {
240
- encoding: 'utf-8',
241
- stdio: ['ignore', 'pipe', 'pipe'],
242
- });
243
- return stripSecurityTrailingNewline(value);
244
- }
245
215
  export function resolveOpenClawKeychainRequest(request, lookup) {
246
216
  const ids = Array.isArray(request.ids) ? request.ids.filter((id) => typeof id === 'string') : [];
247
217
  const values = {};