@phnx-labs/agents-cli 1.22.112 → 1.22.114

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 (706) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +10 -11
  3. package/dist/cli/command-registry.d.ts +0 -60
  4. package/dist/cli/command-registry.js +59 -61
  5. package/dist/commands/apply.d.ts +0 -4
  6. package/dist/commands/apply.js +3 -3
  7. package/dist/commands/browser-picker.d.ts +3 -6
  8. package/dist/commands/browser-picker.js +2 -2
  9. package/dist/commands/browser-sessions-picker.d.ts +2 -1
  10. package/dist/commands/computer-sessions-picker.d.ts +2 -1
  11. package/dist/commands/computer.d.ts +14 -19
  12. package/dist/commands/computer.js +65 -10
  13. package/dist/commands/config.js +46 -2
  14. package/dist/commands/daemon.d.ts +0 -23
  15. package/dist/commands/daemon.js +1 -1
  16. package/dist/commands/detach-core.d.ts +2 -1
  17. package/dist/commands/detach.d.ts +0 -3
  18. package/dist/commands/detach.js +3 -3
  19. package/dist/commands/feed.d.ts +3 -3
  20. package/dist/commands/feed.js +1 -1
  21. package/dist/commands/focus.d.ts +4 -4
  22. package/dist/commands/harness-hooks.d.ts +0 -7
  23. package/dist/commands/harness-hooks.js +1 -1
  24. package/dist/commands/harness-wizard.d.ts +2 -2
  25. package/dist/commands/harness.d.ts +3 -8
  26. package/dist/commands/harness.js +1 -1
  27. package/dist/commands/inspect.d.ts +2 -3
  28. package/dist/commands/inspect.js +1 -1
  29. package/dist/commands/message.d.ts +1 -1
  30. package/dist/commands/message.js +3 -3
  31. package/dist/commands/projects.d.ts +2 -18
  32. package/dist/commands/projects.js +89 -3
  33. package/dist/commands/resource-view.d.ts +3 -2
  34. package/dist/commands/resume.d.ts +0 -1
  35. package/dist/commands/resume.js +1 -1
  36. package/dist/commands/routines.d.ts +1 -3
  37. package/dist/commands/routines.js +1 -1
  38. package/dist/commands/run-account-picker.d.ts +2 -1
  39. package/dist/commands/run-broadcast.d.ts +2 -1
  40. package/dist/commands/run-device-picker.d.ts +2 -1
  41. package/dist/commands/secrets-passthrough.d.ts +14 -0
  42. package/dist/commands/secrets-passthrough.js +21 -2
  43. package/dist/commands/sessions-backfill.d.ts +2 -35
  44. package/dist/commands/sessions-backfill.js +1 -1
  45. package/dist/commands/sessions-bookmark.d.ts +0 -10
  46. package/dist/commands/sessions-bookmark.js +1 -1
  47. package/dist/commands/sessions-inject.d.ts +2 -3
  48. package/dist/commands/sessions-inject.js +8 -17
  49. package/dist/commands/sessions-picker-factory.d.ts +4 -14
  50. package/dist/commands/sessions-picker-factory.js +2 -2
  51. package/dist/commands/sessions-picker.d.ts +3 -9
  52. package/dist/commands/sessions-picker.js +2 -2
  53. package/dist/commands/sessions-resume.d.ts +2 -4
  54. package/dist/commands/sessions-resume.js +0 -5
  55. package/dist/commands/sessions-stats.d.ts +2 -1
  56. package/dist/commands/sessions-stop.d.ts +0 -3
  57. package/dist/commands/sessions-stop.js +1 -1
  58. package/dist/commands/sessions-tail.d.ts +2 -1
  59. package/dist/commands/sessions-trace.d.ts +4 -6
  60. package/dist/commands/sessions-trace.js +1 -1
  61. package/dist/commands/sessions.d.ts +14 -104
  62. package/dist/commands/sessions.js +22 -10
  63. package/dist/commands/setup-mine.d.ts +0 -6
  64. package/dist/commands/setup-mine.js +1 -1
  65. package/dist/commands/setup.d.ts +3 -4
  66. package/dist/commands/setup.js +1 -1
  67. package/dist/commands/share.d.ts +8 -8
  68. package/dist/commands/teams-picker.d.ts +2 -5
  69. package/dist/commands/teams-picker.js +2 -2
  70. package/dist/commands/teams.d.ts +1 -7
  71. package/dist/commands/teams.js +1 -1
  72. package/dist/commands/tmux.d.ts +1 -1
  73. package/dist/commands/tmux.js +1 -1
  74. package/dist/commands/upgrade.d.ts +2 -1
  75. package/dist/commands/utils.d.ts +1 -1
  76. package/dist/commands/utils.js +1 -1
  77. package/dist/lib/account-capabilities.d.ts +2 -1
  78. package/dist/lib/account-catalog.d.ts +4 -13
  79. package/dist/lib/account-catalog.js +1 -1
  80. package/dist/lib/account-registry.d.ts +3 -4
  81. package/dist/lib/account-registry.js +1 -1
  82. package/dist/lib/accounting/account-launch.d.ts +4 -3
  83. package/dist/lib/accounting/account-pool.d.ts +2 -1
  84. package/dist/lib/accounting/rotate.d.ts +3 -9
  85. package/dist/lib/accounting/rotate.js +2 -14
  86. package/dist/lib/accounting/usage-sync.d.ts +5 -4
  87. package/dist/lib/accounting/usage.d.ts +7 -31
  88. package/dist/lib/accounting/usage.js +4 -4
  89. package/dist/lib/accounts/migrate.d.ts +8 -8
  90. package/dist/lib/accounts/migrate.js +1 -1
  91. package/dist/lib/acp/client.d.ts +3 -2
  92. package/dist/lib/acp/harnesses.d.ts +2 -2
  93. package/dist/lib/acp/harnesses.js +1 -1
  94. package/dist/lib/acp/run.d.ts +2 -1
  95. package/dist/lib/actor.d.ts +3 -2
  96. package/dist/lib/add-dir.d.ts +2 -17
  97. package/dist/lib/add-dir.js +2 -6
  98. package/dist/lib/address.d.ts +56 -0
  99. package/dist/lib/address.js +143 -0
  100. package/dist/lib/agent-spec/agents.d.ts +12 -28
  101. package/dist/lib/agent-spec/agents.js +2 -6
  102. package/dist/lib/agent-spec/primitives.d.ts +0 -7
  103. package/dist/lib/agent-spec/primitives.js +0 -6
  104. package/dist/lib/agent-spec/types.d.ts +2 -1
  105. package/dist/lib/analytics/dashboard.d.ts +1 -5
  106. package/dist/lib/analytics/dashboard.js +0 -2
  107. package/dist/lib/analytics/mix-commands.d.ts +0 -7
  108. package/dist/lib/analytics/mix-commands.js +3 -3
  109. package/dist/lib/analytics/recipes.d.ts +0 -12
  110. package/dist/lib/analytics/recipes.js +7 -31
  111. package/dist/lib/analytics/usage-db.d.ts +5 -32
  112. package/dist/lib/analytics/usage-db.js +1 -70
  113. package/dist/lib/answer-router.d.ts +7 -6
  114. package/dist/lib/answer-router.js +5 -11
  115. package/dist/lib/artifact-actions.d.ts +0 -4
  116. package/dist/lib/ask-classifier.d.ts +3 -4
  117. package/dist/lib/ask-classifier.js +0 -7
  118. package/dist/lib/auth-health.d.ts +3 -46
  119. package/dist/lib/auth-health.js +3 -3
  120. package/dist/lib/auth-mint.d.ts +6 -6
  121. package/dist/lib/auth-mint.js +5 -5
  122. package/dist/lib/bench/runner.d.ts +2 -2
  123. package/dist/lib/bench/runner.js +1 -1
  124. package/dist/lib/bench/storage.d.ts +0 -1
  125. package/dist/lib/bench/storage.js +1 -1
  126. package/dist/lib/boot-profile.d.ts +0 -2
  127. package/dist/lib/boot-profile.js +0 -4
  128. package/dist/lib/brand.d.ts +0 -6
  129. package/dist/lib/brand.js +1 -1
  130. package/dist/lib/browser/arc-discovery.d.ts +4 -12
  131. package/dist/lib/browser/arc-discovery.js +1 -1
  132. package/dist/lib/browser/cdp.d.ts +1 -1
  133. package/dist/lib/browser/chrome.d.ts +2 -2
  134. package/dist/lib/browser/chrome.js +0 -4
  135. package/dist/lib/browser/chromium-discovery.d.ts +3 -2
  136. package/dist/lib/browser/drivers/arc.d.ts +3 -20
  137. package/dist/lib/browser/drivers/arc.js +2 -7
  138. package/dist/lib/browser/drivers/firefox.d.ts +2 -6
  139. package/dist/lib/browser/drivers/firefox.js +1 -1
  140. package/dist/lib/browser/drivers/local.d.ts +2 -1
  141. package/dist/lib/browser/drivers/ssh.d.ts +2 -3
  142. package/dist/lib/browser/drivers/ssh.js +0 -7
  143. package/dist/lib/browser/firefox-discovery.d.ts +4 -3
  144. package/dist/lib/browser/har.d.ts +8 -7
  145. package/dist/lib/browser/hygiene.d.ts +2 -3
  146. package/dist/lib/browser/hygiene.js +1 -1
  147. package/dist/lib/browser/ipc.d.ts +4 -3
  148. package/dist/lib/browser/ipc.js +1 -1
  149. package/dist/lib/browser/login-detection.d.ts +1 -8
  150. package/dist/lib/browser/registry.d.ts +2 -1
  151. package/dist/lib/browser/remote-control.d.ts +0 -7
  152. package/dist/lib/browser/remote-control.js +2 -2
  153. package/dist/lib/browser/resolve-target.d.ts +2 -6
  154. package/dist/lib/browser/resolve-target.js +3 -3
  155. package/dist/lib/browser/runtime-state.d.ts +4 -4
  156. package/dist/lib/browser/service.d.ts +4 -4
  157. package/dist/lib/browser/sessions-list.d.ts +0 -10
  158. package/dist/lib/browser/sessions-list.js +3 -3
  159. package/dist/lib/browser/stream.d.ts +2 -1
  160. package/dist/lib/browser/task-index.d.ts +4 -4
  161. package/dist/lib/browser/task-index.js +1 -1
  162. package/dist/lib/browser/types.d.ts +0 -20
  163. package/dist/lib/browser/types.js +1 -34
  164. package/dist/lib/browser/upload.d.ts +0 -27
  165. package/dist/lib/budget/ledger.d.ts +0 -2
  166. package/dist/lib/budget/ledger.js +1 -1
  167. package/dist/lib/budget/live-cloud.d.ts +2 -1
  168. package/dist/lib/budget/preflight.d.ts +3 -5
  169. package/dist/lib/budget/preflight.js +1 -1
  170. package/dist/lib/catchup.d.ts +2 -1
  171. package/dist/lib/channels/owner-forward.d.ts +5 -4
  172. package/dist/lib/channels/owner-sink.js +2 -2
  173. package/dist/lib/channels/providers/desktop.js +1 -1
  174. package/dist/lib/channels/providers/rush.d.ts +2 -1
  175. package/dist/lib/channels/registry.d.ts +1 -1
  176. package/dist/lib/channels/registry.js +1 -1
  177. package/dist/lib/channels/resolve.d.ts +3 -2
  178. package/dist/lib/channels/send.d.ts +5 -4
  179. package/dist/lib/cli-resources.d.ts +3 -9
  180. package/dist/lib/cli-resources.js +1 -1
  181. package/dist/lib/cloud/cursor.d.ts +1 -2
  182. package/dist/lib/cloud/cursor.js +1 -1
  183. package/dist/lib/cloud/dispatch.d.ts +2 -1
  184. package/dist/lib/cloud/factory.d.ts +0 -2
  185. package/dist/lib/cloud/factory.js +1 -1
  186. package/dist/lib/cloud/rush.d.ts +3 -11
  187. package/dist/lib/cloud/rush.js +1 -1
  188. package/dist/lib/cloud/session-index.d.ts +2 -1
  189. package/dist/lib/cloud/types.d.ts +2 -1
  190. package/dist/lib/codex-policy.d.ts +2 -1
  191. package/dist/lib/commands.d.ts +7 -7
  192. package/dist/lib/commands.js +1 -1
  193. package/dist/lib/comms-render.d.ts +1 -1
  194. package/dist/lib/computer/context.d.ts +11 -3
  195. package/dist/lib/computer/context.js +2 -2
  196. package/dist/lib/computer/policy.d.ts +0 -12
  197. package/dist/lib/computer/policy.js +1 -1
  198. package/dist/lib/computer-client.d.ts +3 -3
  199. package/dist/lib/computer-client.js +0 -1
  200. package/dist/lib/concurrency.d.ts +2 -1
  201. package/dist/lib/config-keys.d.ts +16 -3
  202. package/dist/lib/config-keys.js +47 -2
  203. package/dist/lib/convert.d.ts +0 -12
  204. package/dist/lib/convert.js +1 -12
  205. package/dist/lib/crabbox/cli.d.ts +6 -24
  206. package/dist/lib/crabbox/cli.js +2 -28
  207. package/dist/lib/crabbox/lease.d.ts +5 -6
  208. package/dist/lib/crabbox/lease.js +1 -1
  209. package/dist/lib/crabbox/progress.d.ts +2 -1
  210. package/dist/lib/crabbox/setup-copy.d.ts +2 -3
  211. package/dist/lib/crabbox/setup-copy.js +1 -1
  212. package/dist/lib/daemon/account-state-daemon-service.d.ts +1 -1
  213. package/dist/lib/daemon/attention-notify-service.d.ts +2 -1
  214. package/dist/lib/daemon/catchup-service.d.ts +2 -1
  215. package/dist/lib/daemon/daemon.d.ts +4 -12
  216. package/dist/lib/daemon/daemon.js +42 -23
  217. package/dist/lib/daemon/harness-update-service.d.ts +2 -19
  218. package/dist/lib/daemon/harness-update-service.js +3 -3
  219. package/dist/lib/daemon/runner.d.ts +3 -3
  220. package/dist/lib/daemon/self-update-service.d.ts +1 -16
  221. package/dist/lib/daemon/self-update-service.js +6 -6
  222. package/dist/lib/daemon/state-dir-check-service.d.ts +2 -1
  223. package/dist/lib/daemon/supervisor.d.ts +3 -2
  224. package/dist/lib/daemon/testdata/process-view-daemon.d.ts +1 -0
  225. package/dist/lib/daemon/testdata/process-view-daemon.js +14 -0
  226. package/dist/lib/daemon/testdata/process-view-start.d.ts +1 -0
  227. package/dist/lib/daemon/testdata/process-view-start.js +43 -0
  228. package/dist/lib/daemon-services.d.ts +2 -1
  229. package/dist/lib/daemon-webhooks.d.ts +1 -1
  230. package/dist/lib/deeplink/register.d.ts +3 -13
  231. package/dist/lib/deeplink/register.js +3 -3
  232. package/dist/lib/deeplink/url.d.ts +3 -2
  233. package/dist/lib/device-config.d.ts +4 -15
  234. package/dist/lib/device-config.js +164 -8
  235. package/dist/lib/devices/connect.d.ts +2 -1
  236. package/dist/lib/devices/discovery-policy.d.ts +3 -2
  237. package/dist/lib/devices/doctor-findings.js +1 -1
  238. package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
  239. package/dist/lib/devices/fleet-divergence.d.ts +2 -1
  240. package/dist/lib/devices/fleet.d.ts +3 -4
  241. package/dist/lib/devices/fleet.js +1 -1
  242. package/dist/lib/devices/harness-inventory.d.ts +3 -2
  243. package/dist/lib/devices/health-report.d.ts +3 -2
  244. package/dist/lib/devices/health.d.ts +1 -8
  245. package/dist/lib/devices/health.js +1 -1
  246. package/dist/lib/devices/interactive-host.d.ts +0 -2
  247. package/dist/lib/devices/interactive-host.js +1 -1
  248. package/dist/lib/devices/known-hosts.d.ts +2 -20
  249. package/dist/lib/devices/known-hosts.js +2 -2
  250. package/dist/lib/devices/pool.d.ts +2 -1
  251. package/dist/lib/devices/resolve-target.d.ts +2 -2
  252. package/dist/lib/devices/rollout-verify.d.ts +3 -2
  253. package/dist/lib/devices/stats-cache.d.ts +3 -2
  254. package/dist/lib/devices/sync.d.ts +6 -5
  255. package/dist/lib/devices/worker-pick.d.ts +3 -12
  256. package/dist/lib/devices/worker-pick.js +1 -1
  257. package/dist/lib/diff-text.d.ts +2 -1
  258. package/dist/lib/doctor-diff.d.ts +2 -1
  259. package/dist/lib/drift-sync.d.ts +3 -2
  260. package/dist/lib/drift.d.ts +3 -3
  261. package/dist/lib/drift.js +1 -1
  262. package/dist/lib/event-families.d.ts +0 -6
  263. package/dist/lib/event-families.js +3 -3
  264. package/dist/lib/event-provenance.d.ts +4 -1
  265. package/dist/lib/event-provenance.js +4 -0
  266. package/dist/lib/events-ingest.d.ts +4 -3
  267. package/dist/lib/exec-account-home.d.ts +2 -4
  268. package/dist/lib/exec-account-home.js +1 -1
  269. package/dist/lib/exec-bounded.d.ts +3 -4
  270. package/dist/lib/exec-bounded.js +1 -1
  271. package/dist/lib/exec.d.ts +6 -18
  272. package/dist/lib/exec.js +28 -8
  273. package/dist/lib/factory/snapshot.d.ts +2 -2
  274. package/dist/lib/factory/snapshot.js +1 -1
  275. package/dist/lib/feed/activity-stream.d.ts +2 -5
  276. package/dist/lib/feed/activity-stream.js +11 -2
  277. package/dist/lib/feed/activity.d.ts +16 -33
  278. package/dist/lib/feed/activity.js +69 -26
  279. package/dist/lib/feed/answer.d.ts +3 -2
  280. package/dist/lib/feed/attention.js +5 -1
  281. package/dist/lib/feed/events.d.ts +2 -47
  282. package/dist/lib/feed/events.js +1 -141
  283. package/dist/lib/feed/feed.d.ts +9 -42
  284. package/dist/lib/feed/feed.js +1 -60
  285. package/dist/lib/feed/pr-status.d.ts +0 -2
  286. package/dist/lib/feed/pr-status.js +1 -5
  287. package/dist/lib/feed/watch.d.ts +10 -2
  288. package/dist/lib/feed/watch.js +91 -4
  289. package/dist/lib/feed-broadcast.d.ts +5 -47
  290. package/dist/lib/feed-broadcast.js +9 -9
  291. package/dist/lib/feed-outcome.d.ts +3 -6
  292. package/dist/lib/feed-outcome.js +2 -2
  293. package/dist/lib/feed-policy.d.ts +5 -6
  294. package/dist/lib/feed-policy.js +2 -2
  295. package/dist/lib/feed-post.d.ts +3 -4
  296. package/dist/lib/feed-post.js +2 -2
  297. package/dist/lib/feed-ranking.d.ts +2 -2
  298. package/dist/lib/feed-ranking.js +1 -1
  299. package/dist/lib/fleet/apply.d.ts +5 -6
  300. package/dist/lib/fleet/apply.js +4 -4
  301. package/dist/lib/fleet/manifest.d.ts +2 -1
  302. package/dist/lib/fleet/remote-login.d.ts +18 -36
  303. package/dist/lib/fleet/remote-login.js +20 -19
  304. package/dist/lib/fleet/types.d.ts +0 -8
  305. package/dist/lib/fleet-cache.d.ts +1 -18
  306. package/dist/lib/fleet-cache.js +0 -5
  307. package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
  308. package/dist/lib/fleet-shared-repo-sync.js +1 -1
  309. package/dist/lib/fleet-shared-state.d.ts +3 -2
  310. package/dist/lib/format.d.ts +2 -1
  311. package/dist/lib/friction-heuristics.d.ts +2 -1
  312. package/dist/lib/fs-walk.d.ts +2 -1
  313. package/dist/lib/fuzzy.d.ts +2 -1
  314. package/dist/lib/gemini-settings.d.ts +0 -1
  315. package/dist/lib/gemini-settings.js +1 -1
  316. package/dist/lib/git.d.ts +7 -65
  317. package/dist/lib/git.js +3 -142
  318. package/dist/lib/github/gh-overload.d.ts +0 -4
  319. package/dist/lib/github/gh-overload.js +2 -2
  320. package/dist/lib/github/project-prs.d.ts +118 -0
  321. package/dist/lib/github/project-prs.js +173 -0
  322. package/dist/lib/github/rest.d.ts +2 -1
  323. package/dist/lib/harness/exec-config-version.d.ts +2 -1
  324. package/dist/lib/harness-auth-capabilities.d.ts +5 -4
  325. package/dist/lib/harness-connection-test.d.ts +2 -1
  326. package/dist/lib/heal.d.ts +3 -20
  327. package/dist/lib/heal.js +2 -39
  328. package/dist/lib/help.d.ts +3 -2
  329. package/dist/lib/helper-download.d.ts +0 -12
  330. package/dist/lib/helper-download.js +2 -2
  331. package/dist/lib/helper-versions.d.ts +2 -1
  332. package/dist/lib/helper-versions.js +1 -1
  333. package/dist/lib/hooks/install.d.ts +8 -49
  334. package/dist/lib/hooks/install.js +2 -96
  335. package/dist/lib/hooks/match.d.ts +2 -1
  336. package/dist/lib/hosts/credential-transport.d.ts +0 -2
  337. package/dist/lib/hosts/credential-transport.js +1 -1
  338. package/dist/lib/hosts/dispatch.d.ts +2 -34
  339. package/dist/lib/hosts/dispatch.js +4 -21
  340. package/dist/lib/hosts/logs.d.ts +2 -1
  341. package/dist/lib/hosts/passthrough.d.ts +1 -1
  342. package/dist/lib/hosts/passthrough.js +0 -1
  343. package/dist/lib/hosts/progress.d.ts +0 -5
  344. package/dist/lib/hosts/progress.js +1 -1
  345. package/dist/lib/hosts/ready.d.ts +3 -4
  346. package/dist/lib/hosts/ready.js +0 -8
  347. package/dist/lib/hosts/reconcile.d.ts +2 -8
  348. package/dist/lib/hosts/reconcile.js +1 -1
  349. package/dist/lib/hosts/reconnect.d.ts +4 -11
  350. package/dist/lib/hosts/reconnect.js +2 -2
  351. package/dist/lib/hosts/registry.d.ts +1 -1
  352. package/dist/lib/hosts/remote-cmd.d.ts +4 -3
  353. package/dist/lib/hosts/remote-session-id.d.ts +5 -27
  354. package/dist/lib/hosts/remote-session-id.js +18 -61
  355. package/dist/lib/hosts/session-index.d.ts +3 -2
  356. package/dist/lib/hosts/ssh-config.d.ts +2 -3
  357. package/dist/lib/hosts/ssh-config.js +0 -10
  358. package/dist/lib/humans.d.ts +0 -2
  359. package/dist/lib/humans.js +2 -2
  360. package/dist/lib/import.d.ts +4 -3
  361. package/dist/lib/installations/installation-lock.d.ts +0 -2
  362. package/dist/lib/installations/installation-lock.js +2 -2
  363. package/dist/lib/installations/launch-gate.d.ts +0 -9
  364. package/dist/lib/installations/launch-gate.js +1 -1
  365. package/dist/lib/installations/migrate.d.ts +0 -11
  366. package/dist/lib/installations/migrate.js +1 -1
  367. package/dist/lib/installations/shims.d.ts +1 -1
  368. package/dist/lib/installations/shims.js +2 -2
  369. package/dist/lib/installations/update-runtime.js +1 -1
  370. package/dist/lib/launch-identity.d.ts +10 -0
  371. package/dist/lib/launch-identity.js +31 -0
  372. package/dist/lib/linear-cache.d.ts +2 -1
  373. package/dist/lib/linux-userns.d.ts +2 -3
  374. package/dist/lib/linux-userns.js +0 -4
  375. package/dist/lib/loop.d.ts +2 -1
  376. package/dist/lib/mailbox-gc.d.ts +2 -1
  377. package/dist/lib/mailbox-target.d.ts +2 -1
  378. package/dist/lib/mailbox.d.ts +0 -6
  379. package/dist/lib/mailbox.js +1 -1
  380. package/dist/lib/manifest.d.ts +0 -14
  381. package/dist/lib/manifest.js +2 -2
  382. package/dist/lib/mcp-registry.d.ts +2 -1
  383. package/dist/lib/memory.d.ts +2 -13
  384. package/dist/lib/memory.js +4 -4
  385. package/dist/lib/menubar/download-menubar.d.ts +0 -2
  386. package/dist/lib/menubar/download-menubar.js +1 -5
  387. package/dist/lib/menubar/install-menubar.d.ts +3 -14
  388. package/dist/lib/menubar/install-menubar.js +3 -3
  389. package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
  390. package/dist/lib/menubar/migrate-prefs.js +168 -0
  391. package/dist/lib/menubar/resolve-version.d.ts +1 -9
  392. package/dist/lib/menubar/resolve-version.js +4 -4
  393. package/dist/lib/menubar/snapshot.d.ts +24 -2
  394. package/dist/lib/menubar/snapshot.js +26 -0
  395. package/dist/lib/model-tier-overrides.d.ts +3 -2
  396. package/dist/lib/monitors/config.d.ts +0 -2
  397. package/dist/lib/monitors/config.js +0 -4
  398. package/dist/lib/monitors/engine.d.ts +1 -1
  399. package/dist/lib/monitors/remote.d.ts +3 -2
  400. package/dist/lib/monitors/sources/webhook.d.ts +2 -15
  401. package/dist/lib/monitors/sources/webhook.js +1 -38
  402. package/dist/lib/monitors/state.d.ts +4 -7
  403. package/dist/lib/monitors/state.js +2 -2
  404. package/dist/lib/notify.d.ts +1 -1
  405. package/dist/lib/notify.js +1 -1
  406. package/dist/lib/onepassword.d.ts +5 -14
  407. package/dist/lib/onepassword.js +0 -64
  408. package/dist/lib/open-url.d.ts +3 -2
  409. package/dist/lib/openclaw-keychain.d.ts +4 -17
  410. package/dist/lib/openclaw-keychain.js +3 -33
  411. package/dist/lib/operator.d.ts +2 -2
  412. package/dist/lib/operator.js +1 -1
  413. package/dist/lib/output/git-output.d.ts +4 -14
  414. package/dist/lib/output/git-output.js +1 -1
  415. package/dist/lib/owner-message.d.ts +3 -29
  416. package/dist/lib/owner-message.js +3 -3
  417. package/dist/lib/packages/output-home.d.ts +2 -4
  418. package/dist/lib/packages/output-home.js +2 -2
  419. package/dist/lib/perf/db.d.ts +0 -2
  420. package/dist/lib/perf/db.js +2 -7
  421. package/dist/lib/permissions-registry.d.ts +2 -3
  422. package/dist/lib/permissions-registry.js +0 -4
  423. package/dist/lib/permissions.d.ts +6 -16
  424. package/dist/lib/permissions.js +2 -15
  425. package/dist/lib/picker.d.ts +6 -5
  426. package/dist/lib/placement.d.ts +3 -6
  427. package/dist/lib/placement.js +0 -17
  428. package/dist/lib/platform/posixpath.d.ts +2 -1
  429. package/dist/lib/platform/winpath.d.ts +2 -1
  430. package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
  431. package/dist/lib/plugins/plugin-marketplace.js +1 -1
  432. package/dist/lib/pr-land-detach.d.ts +2 -1
  433. package/dist/lib/profiles-presets.d.ts +2 -1
  434. package/dist/lib/profiles.d.ts +3 -9
  435. package/dist/lib/profiles.js +1 -9
  436. package/dist/lib/project-doctor.d.ts +2 -1
  437. package/dist/lib/project-launch.d.ts +2 -2
  438. package/dist/lib/project-probe.d.ts +4 -3
  439. package/dist/lib/project-pull.d.ts +2 -1
  440. package/dist/lib/project-resources.d.ts +2 -2
  441. package/dist/lib/project-resources.js +1 -1
  442. package/dist/lib/project-root.d.ts +2 -6
  443. package/dist/lib/project-root.js +1 -1
  444. package/dist/lib/project-schedule.d.ts +2 -1
  445. package/dist/lib/project-status.d.ts +2 -16
  446. package/dist/lib/project-status.js +3 -3
  447. package/dist/lib/reconcile-and-repair.d.ts +5 -4
  448. package/dist/lib/redact.d.ts +7 -1
  449. package/dist/lib/redact.js +94 -3
  450. package/dist/lib/refresh-coordinator.d.ts +2 -1
  451. package/dist/lib/refresh.d.ts +3 -2
  452. package/dist/lib/remote-agents-json.d.ts +3 -2
  453. package/dist/lib/reserved-stores.d.ts +0 -2
  454. package/dist/lib/reserved-stores.js +3 -5
  455. package/dist/lib/resource-content-diff.d.ts +0 -2
  456. package/dist/lib/resource-content-diff.js +1 -1
  457. package/dist/lib/resource-patterns.d.ts +2 -1
  458. package/dist/lib/resource-profiles.d.ts +2 -8
  459. package/dist/lib/resource-profiles.js +3 -27
  460. package/dist/lib/resources/workflows.d.ts +1 -1
  461. package/dist/lib/resources.d.ts +4 -9
  462. package/dist/lib/resources.js +1 -1
  463. package/dist/lib/routine-context.d.ts +2 -5
  464. package/dist/lib/routine-context.js +2 -2
  465. package/dist/lib/routine-notify-owner.d.ts +8 -7
  466. package/dist/lib/routine-notify-owner.js +5 -5
  467. package/dist/lib/routine-process-cleanup.d.ts +2 -1
  468. package/dist/lib/routine-readiness.d.ts +0 -2
  469. package/dist/lib/routine-readiness.js +0 -7
  470. package/dist/lib/routines-project.d.ts +3 -4
  471. package/dist/lib/routines-project.js +1 -1
  472. package/dist/lib/rules/compile.d.ts +3 -25
  473. package/dist/lib/rules/compile.js +1 -1
  474. package/dist/lib/rules/compose.d.ts +3 -9
  475. package/dist/lib/rules/rules.d.ts +4 -15
  476. package/dist/lib/rules/rules.js +1 -64
  477. package/dist/lib/run-defaults.d.ts +1 -1
  478. package/dist/lib/run-notify.d.ts +2 -1
  479. package/dist/lib/run-trace-sync.d.ts +1 -1
  480. package/dist/lib/run-trace-sync.js +1 -1
  481. package/dist/lib/scheduler.d.ts +2 -1
  482. package/dist/lib/scheduling/routines.d.ts +9 -21
  483. package/dist/lib/scheduling/routines.js +3 -46
  484. package/dist/lib/secrets-client.d.ts +0 -17
  485. package/dist/lib/secrets-client.js +4 -26
  486. package/dist/lib/secrets-policy.d.ts +12 -17
  487. package/dist/lib/secrets-policy.js +5 -5
  488. package/dist/lib/secrets-types.d.ts +3 -2
  489. package/dist/lib/secrets-types.js +2 -1
  490. package/dist/lib/self-heal/checks/install-staging.js +1 -1
  491. package/dist/lib/self-heal/registry.d.ts +3 -2
  492. package/dist/lib/self-heal/types.d.ts +1 -1
  493. package/dist/lib/self-heal/types.js +1 -1
  494. package/dist/lib/self-update.d.ts +5 -5
  495. package/dist/lib/self-update.js +4 -4
  496. package/dist/lib/session/active.js +9 -3
  497. package/dist/lib/session/actor-sidecar.d.ts +3 -2
  498. package/dist/lib/session/artifacts.d.ts +0 -2
  499. package/dist/lib/session/artifacts.js +1 -1
  500. package/dist/lib/session/bash-command.d.ts +2 -7
  501. package/dist/lib/session/bundle.d.ts +4 -6
  502. package/dist/lib/session/bundle.js +1 -5
  503. package/dist/lib/session/cloud.d.ts +0 -4
  504. package/dist/lib/session/cloud.js +2 -15
  505. package/dist/lib/session/db.d.ts +2 -1
  506. package/dist/lib/session/db.js +39 -4
  507. package/dist/lib/session/detached.d.ts +2 -1
  508. package/dist/lib/session/detached.js +2 -2
  509. package/dist/lib/session/digest.d.ts +2 -2
  510. package/dist/lib/session/digest.js +1 -1
  511. package/dist/lib/session/discover.js +7 -2
  512. package/dist/lib/session/fork.d.ts +3 -2
  513. package/dist/lib/session/highlights.d.ts +6 -5
  514. package/dist/lib/session/hook-sessions.d.ts +12 -1
  515. package/dist/lib/session/hook-sessions.js +139 -6
  516. package/dist/lib/session/host-link.d.ts +2 -1
  517. package/dist/lib/session/inject.d.ts +1 -1
  518. package/dist/lib/session/inject.js +1 -1
  519. package/dist/lib/session/insights.d.ts +3 -15
  520. package/dist/lib/session/insights.js +2 -2
  521. package/dist/lib/session/local-tmux-attach.d.ts +2 -18
  522. package/dist/lib/session/local-tmux-attach.js +1 -1
  523. package/dist/lib/session/migrations.d.ts +0 -1
  524. package/dist/lib/session/migrations.js +1 -1
  525. package/dist/lib/session/mirror.d.ts +5 -8
  526. package/dist/lib/session/mirror.js +2 -2
  527. package/dist/lib/session/parse.d.ts +1 -32
  528. package/dist/lib/session/parse.js +4 -4
  529. package/dist/lib/session/pid-registry.d.ts +18 -5
  530. package/dist/lib/session/pid-registry.js +164 -17
  531. package/dist/lib/session/presence.d.ts +2 -1
  532. package/dist/lib/session/process-view.d.ts +25 -0
  533. package/dist/lib/session/process-view.js +176 -0
  534. package/dist/lib/session/projection.d.ts +13 -0
  535. package/dist/lib/session/projection.js +101 -0
  536. package/dist/lib/session/prompt.d.ts +3 -2
  537. package/dist/lib/session/prompt.js +38 -1
  538. package/dist/lib/session/recovery.d.ts +3 -2
  539. package/dist/lib/session/remote/peer-stream.d.ts +2 -5
  540. package/dist/lib/session/remote/peer-stream.js +2 -2
  541. package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
  542. package/dist/lib/session/remote/remote-list.d.ts +5 -5
  543. package/dist/lib/session/remote/remote.d.ts +4 -3
  544. package/dist/lib/session/remote/watch.d.ts +10 -7
  545. package/dist/lib/session/remote/watch.js +10 -6
  546. package/dist/lib/session/remote-active.d.ts +2 -1
  547. package/dist/lib/session/render.d.ts +2 -2
  548. package/dist/lib/session/render.js +1 -1
  549. package/dist/lib/session/resume-owner.d.ts +1 -1
  550. package/dist/lib/session/resume-owner.js +1 -1
  551. package/dist/lib/session/run-names.d.ts +2 -1
  552. package/dist/lib/session/session-cache.d.ts +7 -26
  553. package/dist/lib/session/session-cache.js +17 -8
  554. package/dist/lib/session/share-html.d.ts +1 -21
  555. package/dist/lib/session/share-html.js +1 -1
  556. package/dist/lib/session/shell-programs.d.ts +2 -1
  557. package/dist/lib/session/state.d.ts +41 -8
  558. package/dist/lib/session/state.js +112 -11
  559. package/dist/lib/session/stream-render.d.ts +2 -1
  560. package/dist/lib/session/sync/agents.d.ts +0 -4
  561. package/dist/lib/session/sync/agents.js +0 -0
  562. package/dist/lib/session/sync/backend.d.ts +5 -5
  563. package/dist/lib/session/sync/managed-config.d.ts +0 -8
  564. package/dist/lib/session/sync/managed-key.d.ts +0 -2
  565. package/dist/lib/session/sync/managed-key.js +1 -1
  566. package/dist/lib/session/sync/r2.d.ts +4 -1
  567. package/dist/lib/session/sync/r2.js +4 -7
  568. package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
  569. package/dist/lib/session/tail.d.ts +2 -1
  570. package/dist/lib/session/team-filter.d.ts +1 -1
  571. package/dist/lib/session/testdata/pid-registry-namespace.d.ts +1 -0
  572. package/dist/lib/session/testdata/pid-registry-namespace.js +27 -0
  573. package/dist/lib/session/testdata/process-view-namespace.d.ts +1 -0
  574. package/dist/lib/session/testdata/process-view-namespace.js +56 -0
  575. package/dist/lib/session/testdata/process-view-private.d.ts +1 -0
  576. package/dist/lib/session/testdata/process-view-private.js +12 -0
  577. package/dist/lib/session/throughput.d.ts +2 -3
  578. package/dist/lib/session/throughput.js +1 -1
  579. package/dist/lib/session/timeline-pass.d.ts +3 -42
  580. package/dist/lib/session/timeline-pass.js +4 -4
  581. package/dist/lib/session/timeline.d.ts +3 -13
  582. package/dist/lib/session/timeline.js +3 -3
  583. package/dist/lib/session/tool-calls.d.ts +2 -2
  584. package/dist/lib/session/tool-calls.js +1 -1
  585. package/dist/lib/session/tool-index.d.ts +0 -8
  586. package/dist/lib/session/tool-index.js +2 -2
  587. package/dist/lib/session/tool-store.d.ts +2 -1
  588. package/dist/lib/session/trajectory-compare.d.ts +2 -1
  589. package/dist/lib/session/trajectory-lineage.d.ts +2 -1
  590. package/dist/lib/session/trajectory-text.d.ts +3 -2
  591. package/dist/lib/session/trajectory.d.ts +2 -1
  592. package/dist/lib/session/viewing-in.d.ts +2 -1
  593. package/dist/lib/settings-manifest.d.ts +2 -1
  594. package/dist/lib/share/delete.d.ts +5 -4
  595. package/dist/lib/share/html.d.ts +0 -2
  596. package/dist/lib/share/html.js +9 -9
  597. package/dist/lib/share/http-error.d.ts +3 -2
  598. package/dist/lib/share/og.d.ts +2 -1
  599. package/dist/lib/share/provision.d.ts +2 -2
  600. package/dist/lib/share/publish.d.ts +4 -13
  601. package/dist/lib/share/publish.js +2 -2
  602. package/dist/lib/shim-heal.d.ts +1 -5
  603. package/dist/lib/shim-heal.js +0 -6
  604. package/dist/lib/smart-launch.d.ts +4 -5
  605. package/dist/lib/smart-launch.js +1 -1
  606. package/dist/lib/snapshot.d.ts +3 -2
  607. package/dist/lib/ssh-exec.d.ts +5 -4
  608. package/dist/lib/ssh-tunnel.d.ts +3 -2
  609. package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
  610. package/dist/lib/staleness/checkers/permissions.js +1 -1
  611. package/dist/lib/staleness/fingerprint.d.ts +0 -7
  612. package/dist/lib/staleness/fingerprint.js +1 -1
  613. package/dist/lib/staleness/prune.d.ts +3 -2
  614. package/dist/lib/staleness/registry.d.ts +1 -1
  615. package/dist/lib/staleness/writers/sources.d.ts +0 -8
  616. package/dist/lib/staleness/writers/sources.js +1 -1
  617. package/dist/lib/startup/command-registry.js +1 -1
  618. package/dist/lib/state.d.ts +1 -3
  619. package/dist/lib/state.js +1 -4
  620. package/dist/lib/subagents-registry.d.ts +4 -3
  621. package/dist/lib/subagents.d.ts +2 -1
  622. package/dist/lib/subagents.js +3 -2
  623. package/dist/lib/summarizer/pass.d.ts +3 -6
  624. package/dist/lib/summarizer/pass.js +2 -2
  625. package/dist/lib/summarizer/summarize.d.ts +4 -3
  626. package/dist/lib/sync-passphrase.d.ts +3 -2
  627. package/dist/lib/sync-status.d.ts +3 -16
  628. package/dist/lib/sync-status.js +2 -2
  629. package/dist/lib/sync-umbrella.d.ts +4 -3
  630. package/dist/lib/system-run-sync.d.ts +2 -1
  631. package/dist/lib/teams/agents.d.ts +2 -4
  632. package/dist/lib/teams/agents.js +1 -1
  633. package/dist/lib/teams/forEach.d.ts +3 -2
  634. package/dist/lib/teams/pr-watch.d.ts +4 -11
  635. package/dist/lib/teams/pr-watch.js +4 -4
  636. package/dist/lib/teams/registry.d.ts +2 -3
  637. package/dist/lib/teams/registry.js +1 -1
  638. package/dist/lib/teams/remoteWorktree.d.ts +0 -16
  639. package/dist/lib/teams/remoteWorktree.js +3 -3
  640. package/dist/lib/teams/scheduler.d.ts +6 -5
  641. package/dist/lib/teams/scheduler.js +1 -1
  642. package/dist/lib/teams/supervisor.d.ts +4 -3
  643. package/dist/lib/teams/worktree.d.ts +0 -9
  644. package/dist/lib/teams/worktree.js +0 -32
  645. package/dist/lib/term-client.d.ts +44 -0
  646. package/dist/lib/term-client.js +117 -0
  647. package/dist/lib/terminal/inject.d.ts +3 -16
  648. package/dist/lib/terminal/inject.js +1 -29
  649. package/dist/lib/terminal/resolve.d.ts +3 -9
  650. package/dist/lib/terminal/resolve.js +3 -7
  651. package/dist/lib/tmux/binary.d.ts +2 -1
  652. package/dist/lib/tmux/orphan-reap.d.ts +6 -7
  653. package/dist/lib/tmux/orphan-reap.js +1 -1
  654. package/dist/lib/tmux/session.d.ts +4 -3
  655. package/dist/lib/traces/classify.d.ts +3 -2
  656. package/dist/lib/traces/config.d.ts +0 -8
  657. package/dist/lib/traces/insights.d.ts +2 -1
  658. package/dist/lib/traces/phenotype.d.ts +3 -3
  659. package/dist/lib/traces/provision.d.ts +1 -3
  660. package/dist/lib/traces/provision.js +1 -1
  661. package/dist/lib/traces/schema2-build.d.ts +1 -1
  662. package/dist/lib/traces/schema2-danger.d.ts +2 -1
  663. package/dist/lib/traces/schema2.d.ts +5 -4
  664. package/dist/lib/traces/segments.d.ts +4 -20
  665. package/dist/lib/traces/segments.js +3 -3
  666. package/dist/lib/traces/sync.d.ts +2 -3
  667. package/dist/lib/traces/sync.js +1 -1
  668. package/dist/lib/triggers/handlers.d.ts +4 -13
  669. package/dist/lib/triggers/handlers.js +1 -1
  670. package/dist/lib/triggers/webhook.d.ts +5 -27
  671. package/dist/lib/triggers/webhook.js +4 -4
  672. package/dist/lib/types.d.ts +3 -3
  673. package/dist/lib/usage-refresh.d.ts +4 -10
  674. package/dist/lib/usage-refresh.js +3 -8
  675. package/dist/lib/verbs.d.ts +2 -1
  676. package/dist/lib/version-duplicates.d.ts +2 -3
  677. package/dist/lib/version-duplicates.js +3 -33
  678. package/dist/lib/version.d.ts +2 -1
  679. package/dist/lib/warn-unpushed.d.ts +2 -1
  680. package/dist/lib/watchdog/history.d.ts +3 -2
  681. package/dist/lib/watchdog/log.d.ts +0 -6
  682. package/dist/lib/watchdog/log.js +1 -1
  683. package/dist/lib/watchdog/rotate.d.ts +2 -26
  684. package/dist/lib/watchdog/rotate.js +4 -12
  685. package/dist/lib/watchdog/runner.d.ts +0 -7
  686. package/dist/lib/watchdog/runner.js +4 -4
  687. package/dist/lib/watchdog/service.d.ts +2 -2
  688. package/dist/lib/watchdog/service.js +1 -1
  689. package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
  690. package/dist/lib/watchdog/watchdog.d.ts +2 -1
  691. package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
  692. package/dist/lib/workflows-registry.d.ts +3 -2
  693. package/dist/lib/workflows.d.ts +4 -7
  694. package/dist/lib/workflows.js +1 -1
  695. package/dist/lib/worktree/held.d.ts +4 -28
  696. package/dist/lib/worktree/held.js +3 -3
  697. package/package.json +2 -3
  698. package/scripts/postinstall.js +5 -4
  699. package/dist/commands/pty.d.ts +0 -20
  700. package/dist/commands/pty.js +0 -404
  701. package/dist/lib/config-machine-keys.d.ts +0 -14
  702. package/dist/lib/config-machine-keys.js +0 -21
  703. package/dist/lib/pty-client.d.ts +0 -49
  704. package/dist/lib/pty-client.js +0 -315
  705. package/dist/lib/pty-server.d.ts +0 -59
  706. package/dist/lib/pty-server.js +0 -653
@@ -48,12 +48,12 @@ export interface ComputerTargetContext {
48
48
  sshArgs: string[];
49
49
  }
50
50
  /** Who is acting, so the engine can stamp the action it reports back. */
51
- export interface ComputerSessionContext {
51
+ interface ComputerSessionContext {
52
52
  sessionId?: string;
53
53
  launchId?: string;
54
54
  actor: string;
55
55
  }
56
- export interface ComputerContext {
56
+ interface ComputerContext {
57
57
  version: 1;
58
58
  permissions?: {
59
59
  allow: string[];
@@ -64,13 +64,20 @@ export interface ComputerContext {
64
64
  target?: ComputerTargetContext;
65
65
  session: ComputerSessionContext;
66
66
  }
67
- export interface BuildContextOptions {
67
+ interface BuildContextOptions {
68
68
  /** `--device <name>`, if given. */
69
69
  device?: string;
70
70
  /** Direct host targeting, which bypasses fleet resolution. */
71
71
  host?: string;
72
72
  /** Resolved path of the standalone executable, for the peer allow list. */
73
73
  computerBin?: string;
74
+ /**
75
+ * A precomputed target (PHNX-4090: `resolveDeviceHost` in `commands/computer.ts`
76
+ * already resolved the device's `computer.host` config, or the ssh fallback).
77
+ * When present, `device` is used only to gate the local-permissions branch
78
+ * below — this skips a second, possibly Windows-gated, fleet resolution.
79
+ */
80
+ target?: ComputerTargetContext;
74
81
  }
75
82
  /**
76
83
  * Build the context handed to the engine on fd 3.
@@ -81,3 +88,4 @@ export interface BuildContextOptions {
81
88
  * layer that can actually see the device's platform.
82
89
  */
83
90
  export declare function buildComputerContext(opts?: BuildContextOptions): Promise<ComputerContext>;
91
+ export {};
@@ -59,8 +59,8 @@ function agentSessionId(env = process.env) {
59
59
  * layer that can actually see the device's platform.
60
60
  */
61
61
  export async function buildComputerContext(opts = {}) {
62
- let target;
63
- if (opts.device) {
62
+ let target = opts.target;
63
+ if (!target && opts.device) {
64
64
  const resolved = await resolveRemoteDevice(opts.device, {
65
65
  expectPlatform: 'windows',
66
66
  forWhat: '`agents computer --device` drives the Windows computer-helper daemon, so it',
@@ -22,18 +22,6 @@ export declare function loadComputerAllowList(): string[];
22
22
  export declare function loadDefaultPeers(opts?: {
23
23
  computerBin?: string;
24
24
  }): string[];
25
- /**
26
- * Parse a `host:port` VNC endpoint, defaulting the port to 5901. Pure.
27
- *
28
- * Kept on the consumer side because the `--vnc` FLAG is parsed here — the
29
- * platform gate has to know whether a remote desktop was named before the
30
- * engine is ever spawned (see `shouldBlockOffPlatform`). The RFB protocol
31
- * implementation itself went to the engine.
32
- */
33
- export declare function parseVncEndpoint(raw: string | undefined): {
34
- host: string;
35
- port: number;
36
- } | null;
37
25
  export declare function resolveTcpEndpoint(): {
38
26
  host: string;
39
27
  port: number;
@@ -120,7 +120,7 @@ export function loadDefaultPeers(opts = {}) {
120
120
  * engine is ever spawned (see `shouldBlockOffPlatform`). The RFB protocol
121
121
  * implementation itself went to the engine.
122
122
  */
123
- export function parseVncEndpoint(raw) {
123
+ function parseVncEndpoint(raw) {
124
124
  if (!raw || raw.length === 0)
125
125
  return null;
126
126
  const idx = raw.lastIndexOf(':');
@@ -114,7 +114,7 @@ export declare function parseEventLines(buffer: string): {
114
114
  events: ComputerActionEvent[];
115
115
  rest: string;
116
116
  };
117
- export interface RunComputerOptions {
117
+ interface RunComputerOptions {
118
118
  /** argv handed to the standalone, after the program name. */
119
119
  argv: string[];
120
120
  /** The consumer context serialized onto fd 3. */
@@ -131,7 +131,7 @@ export interface RunComputerOptions {
131
131
  */
132
132
  capture?: boolean;
133
133
  }
134
- export interface RunComputerResult {
134
+ interface RunComputerResult {
135
135
  exitCode: number;
136
136
  /** Engine stdout, only when `capture` was set. */
137
137
  stdout: string;
@@ -147,4 +147,4 @@ export interface RunComputerResult {
147
147
  export declare function runComputer(opts: RunComputerOptions): Promise<RunComputerResult>;
148
148
  /** Test seam: drop the memoized bin so PATH fixtures can re-resolve. */
149
149
  export declare function _resetComputerClientForTest(): void;
150
- export declare const COMPUTER_INSTALL_HINT = "npm i -g @phnx-labs/computer-cli";
150
+ export {};
@@ -219,4 +219,3 @@ function osSignalNumber(signal) {
219
219
  export function _resetComputerClientForTest() {
220
220
  cachedBin = undefined;
221
221
  }
222
- export const COMPUTER_INSTALL_HINT = INSTALL_HINT;
@@ -10,10 +10,11 @@
10
10
  * `lsof`, multi-dotfile scans) reads to behavioral EDR as recon/enumeration. A
11
11
  * bounded, spread-out spawn rate produces the same data without the burst signature.
12
12
  */
13
- export interface BoundedMapOptions {
13
+ interface BoundedMapOptions {
14
14
  /** Maximum number of `fn` calls running at once. Coerced to >= 1. */
15
15
  concurrency: number;
16
16
  /** Minimum spacing (ms) between successive task starts. 0 (default) = no spacing. */
17
17
  staggerMs?: number;
18
18
  }
19
19
  export declare function mapBounded<T, R>(items: readonly T[], fn: (item: T, index: number) => Promise<R>, opts: BoundedMapOptions): Promise<R[]>;
20
+ export {};
@@ -9,7 +9,14 @@
9
9
  import type { AgentId } from './types.js';
10
10
  import { type ModelTier } from './model-tiers.js';
11
11
  /** The top-level scope of a unified config key. */
12
- export type ConfigScope = 'run' | 'interactive' | 'auto' | 'browser' | 'project' | 'device' | 'summarizer' | 'updates';
12
+ export type ConfigScope = 'run' | 'interactive' | 'auto' | 'browser' | 'project' | 'device' | 'summarizer' | 'updates' | 'menubar';
13
+ /**
14
+ * The AGI Menu preference leaf names under `menubar.menu.*` (PHNX-3999). The
15
+ * types, defaults, and enum validation for each live in `device-config.ts`'s
16
+ * CONFIG_KEYS (user scope); this list is only the parser's allow-set so an
17
+ * unknown `menubar.menu.<x>` fails loud here instead of at the store.
18
+ */
19
+ export declare const MENUBAR_MENU_PROPERTIES: readonly ["defaultProject", "workingRowsShown", "showPreviews", "projectPriorityFilter", "hideCompletedMilestones", "bannerWhenNeedsYou", "includeOtherDeviceRequests", "groupBy", "thenBy", "projectScope", "projectSort", "ticketSort", "showPullRequests"];
13
20
  /** A run-time default key: model, mode, effort, or tier override. */
14
21
  export interface ParsedRunConfigKey {
15
22
  scope: 'run';
@@ -60,8 +67,14 @@ export interface ParsedUpdatesConfigKey {
60
67
  property: 'auto';
61
68
  agent?: AgentId;
62
69
  }
63
- export type ParsedConfigKey = ParsedRunConfigKey | ParsedInteractiveConfigKey | ParsedAutoConfigKey | ParsedBrowserConfigKey | ParsedProjectConfigKey | ParsedDeviceConfigKey | ParsedSummarizerConfigKey | ParsedUpdatesConfigKey;
64
- export type DeviceConfigProperty = 'role' | 'max-agents' | 'scheduler' | 'daemon' | 'watchdog' | 'tmux' | 'browser.remote-control' | 'browser.task-idle-minutes' | 'notes' | 'browser.profile' | 'browser.viewer';
70
+ /** An AGI Menu preference key: `menubar.menu.<property>` (user-scope, PHNX-3999). */
71
+ export interface ParsedMenubarConfigKey {
72
+ scope: 'menubar';
73
+ /** Leaf name under `menubar.menu.` — one of {@link MENUBAR_MENU_PROPERTIES}. */
74
+ property: string;
75
+ }
76
+ export type ParsedConfigKey = ParsedRunConfigKey | ParsedInteractiveConfigKey | ParsedAutoConfigKey | ParsedBrowserConfigKey | ParsedProjectConfigKey | ParsedDeviceConfigKey | ParsedSummarizerConfigKey | ParsedUpdatesConfigKey | ParsedMenubarConfigKey;
77
+ export type DeviceConfigProperty = 'role' | 'max-agents' | 'scheduler' | 'daemon' | 'watchdog' | 'tmux' | 'browser.remote-control' | 'browser.task-idle-minutes' | 'notes' | 'browser.profile' | 'browser.viewer' | 'computer.host' | 'formFactor';
65
78
  /** Normalize agent@version to use `@` consistently. */
66
79
  export declare function formatAgentVersion(agent: AgentId, version: string): string;
67
80
  /**
@@ -9,6 +9,27 @@
9
9
  import { AGENTS } from './agents.js';
10
10
  import { MODEL_TIERS } from './model-tiers.js';
11
11
  import { VERSION_RE } from './run-defaults.js';
12
+ /**
13
+ * The AGI Menu preference leaf names under `menubar.menu.*` (PHNX-3999). The
14
+ * types, defaults, and enum validation for each live in `device-config.ts`'s
15
+ * CONFIG_KEYS (user scope); this list is only the parser's allow-set so an
16
+ * unknown `menubar.menu.<x>` fails loud here instead of at the store.
17
+ */
18
+ export const MENUBAR_MENU_PROPERTIES = [
19
+ 'defaultProject',
20
+ 'workingRowsShown',
21
+ 'showPreviews',
22
+ 'projectPriorityFilter',
23
+ 'hideCompletedMilestones',
24
+ 'bannerWhenNeedsYou',
25
+ 'includeOtherDeviceRequests',
26
+ 'groupBy',
27
+ 'thenBy',
28
+ 'projectScope',
29
+ 'projectSort',
30
+ 'ticketSort',
31
+ 'showPullRequests',
32
+ ];
12
33
  const DEVICE_CONFIG_PROPERTIES = [
13
34
  'browser.viewer',
14
35
  'role',
@@ -21,6 +42,8 @@ const DEVICE_CONFIG_PROPERTIES = [
21
42
  'browser.task-idle-minutes',
22
43
  'notes',
23
44
  'browser.profile',
45
+ 'computer.host',
46
+ 'formFactor',
24
47
  ];
25
48
  /** Split an agent@version token into its parts. Accepts both `@` and `:`. */
26
49
  function parseAgentVersion(token) {
@@ -98,6 +121,14 @@ export function parseConfigKey(key) {
98
121
  if (summarizerMatch) {
99
122
  return { scope: 'summarizer', property: summarizerMatch[1] };
100
123
  }
124
+ const menubarMatch = raw.match(/^menubar\.menu\.(.+)$/);
125
+ if (menubarMatch) {
126
+ const property = menubarMatch[1];
127
+ if (!MENUBAR_MENU_PROPERTIES.includes(property)) {
128
+ throw new Error(`Unknown AGI Menu preference '${key}'. Known keys: ${MENUBAR_MENU_PROPERTIES.map((p) => `menubar.menu.${p}`).join(', ')}.`);
129
+ }
130
+ return { scope: 'menubar', property };
131
+ }
101
132
  if (raw === 'updates.auto') {
102
133
  return { scope: 'updates', property: 'auto' };
103
134
  }
@@ -109,7 +140,7 @@ export function parseConfigKey(key) {
109
140
  }
110
141
  return { scope: 'updates', agent: agentPart, property: 'auto' };
111
142
  }
112
- const deviceMatch = raw.match(/^devices\.(.+)\.(role|max-agents|scheduler|daemon|watchdog|tmux|notes|browser\.remote-control|browser\.task-idle-minutes|browser\.profile|browser\.viewer)$/);
143
+ const deviceMatch = raw.match(/^devices\.(.+)\.(role|max-agents|scheduler|daemon|watchdog|tmux|notes|formFactor|browser\.remote-control|browser\.task-idle-minutes|browser\.profile|browser\.viewer|computer\.host)$/);
113
144
  if (deviceMatch) {
114
145
  return {
115
146
  scope: 'device',
@@ -139,10 +170,13 @@ export function parseConfigKey(key) {
139
170
  if (raw.startsWith('updates.')) {
140
171
  throw new Error(`Invalid updates config key '${key}'. Use updates.auto or updates.<agent>.auto.`);
141
172
  }
173
+ if (raw.startsWith('menubar.')) {
174
+ throw new Error(`Invalid AGI Menu config key '${key}'. Use ${MENUBAR_MENU_PROPERTIES.map((p) => `menubar.menu.${p}`).join(', ')}.`);
175
+ }
142
176
  if (raw.startsWith('devices.')) {
143
177
  throw new Error(`Invalid device config key '${key}'. Expected devices.<name>.<${DEVICE_CONFIG_PROPERTIES.join('|')}>.`);
144
178
  }
145
- throw new Error(`Unknown config scope in '${key}'. Use one of: run, interactive, auto, browser, project, devices, summarizer.`);
179
+ throw new Error(`Unknown config scope in '${key}'. Use one of: run, interactive, auto, browser, project, devices, summarizer, updates, menubar.`);
146
180
  }
147
181
  /** Render a parsed key back to its canonical dotted string. */
148
182
  export function formatConfigKey(parsed) {
@@ -168,6 +202,8 @@ export function formatConfigKey(parsed) {
168
202
  return `summarizer.${parsed.property}`;
169
203
  case 'updates':
170
204
  return parsed.agent ? `updates.${parsed.agent}.auto` : 'updates.auto';
205
+ case 'menubar':
206
+ return `menubar.menu.${parsed.property}`;
171
207
  }
172
208
  }
173
209
  /** List every canonical key the command documents, with wildcards expanded to a concrete example. */
@@ -178,6 +214,9 @@ export function listKnownConfigKeys() {
178
214
  keys.push(`run.<agent@version>.tier.${tier}`);
179
215
  }
180
216
  keys.push('interactive.host', 'auto.pool', 'browser.profile', 'browser.viewer', 'browser.device', 'project.root', 'summarizer.enabled', 'summarizer.baseUrl', 'summarizer.model', 'updates.auto', 'updates.<agent>.auto');
217
+ for (const prop of MENUBAR_MENU_PROPERTIES) {
218
+ keys.push(`menubar.menu.${prop}`);
219
+ }
181
220
  for (const prop of DEVICE_CONFIG_PROPERTIES) {
182
221
  keys.push(`devices.<name>.${prop}`);
183
222
  }
@@ -212,6 +251,10 @@ export function devicePropertyToConfigName(property) {
212
251
  return 'browser.profile';
213
252
  case 'browser.viewer':
214
253
  return 'browser.viewer';
254
+ case 'computer.host':
255
+ return 'computer.host';
256
+ case 'formFactor':
257
+ return 'formFactor';
215
258
  }
216
259
  }
217
260
  /**
@@ -253,5 +296,7 @@ export function configKeyStorageHint(parsed) {
253
296
  return parsed.agent
254
297
  ? `config.updatesAgentAuto.${parsed.agent} (central agents.yaml; syncs fleet-wide)`
255
298
  : 'config.updatesAuto (central agents.yaml; syncs fleet-wide)';
299
+ case 'menubar':
300
+ return `config.menubarMenu${parsed.property.charAt(0).toUpperCase()}${parsed.property.slice(1)} (central agents.yaml; syncs fleet-wide)`;
256
301
  }
257
302
  }
@@ -4,16 +4,6 @@
4
4
  * Handles frontmatter parsing and bidirectional translation so that slash commands
5
5
  * authored in one format can be synced to agents that expect the other.
6
6
  */
7
- /** Parsed YAML frontmatter from a Markdown command file. */
8
- export interface MarkdownFrontmatter {
9
- description?: string;
10
- [key: string]: unknown;
11
- }
12
- /** Extract YAML frontmatter and body from a Markdown string. Returns empty frontmatter if none found. */
13
- export declare function parseMarkdownFrontmatter(content: string): {
14
- frontmatter: MarkdownFrontmatter;
15
- body: string;
16
- };
17
7
  /** Convert a Markdown command file to Gemini's TOML format, translating $ARGUMENTS to {{args}}. */
18
8
  export declare function markdownToToml(skillName: string, markdown: string): string;
19
9
  /**
@@ -27,5 +17,3 @@ export declare function markdownToToml(skillName: string, markdown: string): str
27
17
  * Returns a plain object so the caller can `yaml.stringify` it.
28
18
  */
29
19
  export declare function markdownToGooseRecipe(commandName: string, markdown: string): Record<string, unknown>;
30
- /** Convert a Gemini TOML command file back to Markdown format, translating {{args}} to $ARGUMENTS. */
31
- export declare function tomlToMarkdown(toml: string): string;
@@ -5,7 +5,7 @@
5
5
  * authored in one format can be synced to agents that expect the other.
6
6
  */
7
7
  /** Extract YAML frontmatter and body from a Markdown string. Returns empty frontmatter if none found. */
8
- export function parseMarkdownFrontmatter(content) {
8
+ function parseMarkdownFrontmatter(content) {
9
9
  const match = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
10
10
  if (!match) {
11
11
  return { frontmatter: {}, body: content };
@@ -62,14 +62,3 @@ export function markdownToGooseRecipe(commandName, markdown) {
62
62
  prompt,
63
63
  };
64
64
  }
65
- /** Convert a Gemini TOML command file back to Markdown format, translating {{args}} to $ARGUMENTS. */
66
- export function tomlToMarkdown(toml) {
67
- const nameMatch = toml.match(/name\s*=\s*"([^"]+)"/);
68
- const descMatch = toml.match(/description\s*=\s*"([^"]+)"/);
69
- const promptMatch = toml.match(/prompt\s*=\s*(?:'''|""")([\s\S]*?)(?:'''|""")/);
70
- const description = descMatch?.[1] || '';
71
- let prompt = promptMatch?.[1]?.trim() || '';
72
- prompt = prompt.replace(/\{\{args\}\}/g, '$ARGUMENTS');
73
- const lines = ['---', `description: ${description}`, '---', '', prompt, ''];
74
- return lines.join('\n');
75
- }
@@ -45,7 +45,7 @@ export interface CrabboxBox {
45
45
  /** Idle-timeout window in seconds, or null. */
46
46
  idleTimeoutSecs: number | null;
47
47
  }
48
- export interface CrabboxOptions {
48
+ interface CrabboxOptions {
49
49
  /**
50
50
  * Name of a secrets bundle whose env (e.g. `HCLOUD_TOKEN`) crabbox needs to
51
51
  * reach its cloud provider. Resolved via agents-cli's own keychain-backed
@@ -63,21 +63,8 @@ export interface CrabboxOptions {
63
63
  }
64
64
  /** Locate the crabbox binary, or throw an actionable error. */
65
65
  export declare function findCrabbox(): string;
66
- /**
67
- * Env keys that mark a secrets bundle as usable for `--lease` — the provider
68
- * tokens crabbox reads to reach a cloud API. Matching a bundle needs only its
69
- * declared key NAMES; only the matched key's VALUE is ever injected (see
70
- * `crabboxEnv`), so an auto-detected bundle can't leak its other secrets.
71
- */
72
- export declare const LEASE_PROVIDER_TOKEN_KEYS: string[];
73
66
  /** The first bundle that declares a provider token key, or undefined. Pure over `bundles`. */
74
67
  export declare function pickLeaseBundleFromList(bundles: SecretsBundle[]): string | undefined;
75
- /**
76
- * Env keys a bundle may use for a Tailscale auth key. crabbox reads
77
- * `CRABBOX_TAILSCALE_AUTH_KEY` to join a leased box to the tailnet; we accept the
78
- * common alternate names too and rename to that canonical key on injection.
79
- */
80
- export declare const TAILSCALE_AUTH_KEY_NAMES: string[];
81
68
  /** The first bundle + key that declares a Tailscale auth key, or undefined. Pure over `bundles`. */
82
69
  export declare function pickTailscaleBundleFromList(bundles: SecretsBundle[]): {
83
70
  name: string;
@@ -86,7 +73,7 @@ export declare function pickTailscaleBundleFromList(bundles: SecretsBundle[]): {
86
73
  /** Test seam: drop every crabboxEnv secrets memo so each test resolves fresh. */
87
74
  export declare function resetCrabboxSecretsMemosForTest(): void;
88
75
  /** A resolved lease bundle: its name, plus (auto-detect only) the exact keys to inject. */
89
- export interface ResolvedLeaseBundle {
76
+ interface ResolvedLeaseBundle {
90
77
  name: string;
91
78
  /** When set (auto-detect), inject ONLY these keys — not the whole bundle. */
92
79
  keys?: string[];
@@ -122,7 +109,7 @@ export declare function crabboxFind(slug: string, opts?: CrabboxOptions): Crabbo
122
109
  * (mirrors scripts/sandbox.sh's `box_ready`).
123
110
  */
124
111
  export declare function crabboxStatusReady(slug: string, opts?: CrabboxOptions): boolean;
125
- export interface PoolMatchOptions {
112
+ interface PoolMatchOptions {
126
113
  /**
127
114
  * Lease pool label (shared default, or `.crabbox.yaml leaseProfile:` opt-in;
128
115
  * see config.ts). Both sides normalize an unset profile to
@@ -149,7 +136,7 @@ export interface PoolMatchOptions {
149
136
  * run may be mid-boot on it, and crabbox's idle timeout reaps genuine duds.
150
137
  */
151
138
  export declare function poolReusableBoxes(boxes: CrabboxBox[], opts?: PoolMatchOptions): CrabboxBox[];
152
- export interface WarmupOptions extends CrabboxOptions {
139
+ interface WarmupOptions extends CrabboxOptions {
153
140
  class?: string;
154
141
  profile?: string;
155
142
  /** Provision web code-server capability on the box. */
@@ -181,7 +168,7 @@ export declare function crabboxWaitReady(slug: string, opts?: CrabboxOptions & {
181
168
  intervalMs?: number;
182
169
  sleep?: (ms: number) => Promise<void>;
183
170
  }): Promise<CrabboxBox>;
184
- export interface CrabboxRunOptions extends CrabboxOptions {
171
+ interface CrabboxRunOptions extends CrabboxOptions {
185
172
  /** Called with each chunk of combined stdout/stderr as it streams. */
186
173
  onData?: (chunk: string) => void;
187
174
  /** Force a full remote resync before running. */
@@ -189,12 +176,6 @@ export interface CrabboxRunOptions extends CrabboxOptions {
189
176
  /** Refresh an existing lease with this idle window before running. */
190
177
  renewIdleTimeoutSecs?: number;
191
178
  }
192
- /**
193
- * Run `remoteCmd` on the leased box via `crabbox run` (crabbox syncs the dirty
194
- * checkout and owns the SSH). Streams combined output; resolves with the remote
195
- * exit code (or null if crabbox itself failed to dispatch).
196
- */
197
- export declare function crabboxRun(slug: string, remoteCmd: string, opts?: CrabboxRunOptions): Promise<number | null>;
198
179
  /**
199
180
  * Upload `script` to the box via `crabbox run --script-stdin` and run it.
200
181
  *
@@ -251,3 +232,4 @@ export declare function reapOrphans(opts?: CrabboxOptions & {
251
232
  candidates: CrabboxBox[];
252
233
  reaped: string[];
253
234
  };
235
+ export {};
@@ -29,7 +29,7 @@ export function findCrabbox() {
29
29
  * declared key NAMES; only the matched key's VALUE is ever injected (see
30
30
  * `crabboxEnv`), so an auto-detected bundle can't leak its other secrets.
31
31
  */
32
- export const LEASE_PROVIDER_TOKEN_KEYS = ['HCLOUD_TOKEN', 'AWS_ACCESS_KEY_ID', 'DIGITALOCEAN_TOKEN', 'DO_TOKEN'];
32
+ const LEASE_PROVIDER_TOKEN_KEYS = ['HCLOUD_TOKEN', 'AWS_ACCESS_KEY_ID', 'DIGITALOCEAN_TOKEN', 'DO_TOKEN'];
33
33
  /** The first bundle that declares a provider token key, or undefined. Pure over `bundles`. */
34
34
  export function pickLeaseBundleFromList(bundles) {
35
35
  for (const b of bundles) {
@@ -43,7 +43,7 @@ export function pickLeaseBundleFromList(bundles) {
43
43
  * `CRABBOX_TAILSCALE_AUTH_KEY` to join a leased box to the tailnet; we accept the
44
44
  * common alternate names too and rename to that canonical key on injection.
45
45
  */
46
- export const TAILSCALE_AUTH_KEY_NAMES = ['CRABBOX_TAILSCALE_AUTH_KEY', 'TAILSCALE_AUTH_KEY', 'TS_AUTHKEY'];
46
+ const TAILSCALE_AUTH_KEY_NAMES = ['CRABBOX_TAILSCALE_AUTH_KEY', 'TAILSCALE_AUTH_KEY', 'TS_AUTHKEY'];
47
47
  /** The first bundle + key that declares a Tailscale auth key, or undefined. Pure over `bundles`. */
48
48
  export function pickTailscaleBundleFromList(bundles) {
49
49
  for (const b of bundles) {
@@ -447,32 +447,6 @@ export async function crabboxWaitReady(slug, opts = {}) {
447
447
  }
448
448
  throw new Error(`crabbox box "${slug}" did not become ready within ${Math.round(timeoutMs / 1000)}s (state: ${last?.state ?? 'gone'}).`);
449
449
  }
450
- /**
451
- * Run `remoteCmd` on the leased box via `crabbox run` (crabbox syncs the dirty
452
- * checkout and owns the SSH). Streams combined output; resolves with the remote
453
- * exit code (or null if crabbox itself failed to dispatch).
454
- */
455
- export function crabboxRun(slug, remoteCmd, opts = {}) {
456
- findCrabbox();
457
- const args = ['run', '--id', slug, '--reclaim'];
458
- if (opts.fullResync)
459
- args.push('--full-resync');
460
- args.push('--', 'bash', '-lc', remoteCmd);
461
- return new Promise((resolve) => {
462
- const proc = spawn('crabbox', args, { env: crabboxEnv(opts), stdio: ['ignore', 'pipe', 'pipe'] });
463
- const pump = (chunk) => {
464
- const s = chunk.toString('utf-8');
465
- if (opts.onData)
466
- opts.onData(s);
467
- else
468
- process.stdout.write(s);
469
- };
470
- proc.stdout.on('data', pump);
471
- proc.stderr.on('data', pump);
472
- proc.on('error', () => resolve(null));
473
- proc.on('close', (code) => resolve(code));
474
- });
475
- }
476
450
  /**
477
451
  * Upload `script` to the box via `crabbox run --script-stdin` and run it.
478
452
  *
@@ -33,7 +33,7 @@ import type { AgentId } from '../types.js';
33
33
  import { type CrabboxBox } from './cli.js';
34
34
  import { type DetectedRuntime } from './runtimes.js';
35
35
  /** Phase signal for a lease run, so the command layer can drive a progress UI. */
36
- export type LeasePhase = {
36
+ type LeasePhase = {
37
37
  kind: 'warmup';
38
38
  backend?: string;
39
39
  } | {
@@ -46,7 +46,7 @@ export type LeasePhase = {
46
46
  } | {
47
47
  kind: 'teardown';
48
48
  };
49
- export interface LeaseRunOptions {
49
+ interface LeaseRunOptions {
50
50
  agent: string;
51
51
  prompt: string;
52
52
  mode?: string;
@@ -110,7 +110,7 @@ export interface LeaseDispatchProfile {
110
110
  provider?: string;
111
111
  fallbackModel?: string;
112
112
  }
113
- export interface LeaseRunResult {
113
+ interface LeaseRunResult {
114
114
  box: CrabboxBox;
115
115
  exitCode: number | null;
116
116
  toreDown: boolean;
@@ -126,8 +126,6 @@ export interface LeaseRunResult {
126
126
  export declare const LEASE_BOOTSTRAP_FAILED_CODE = 97;
127
127
  /** Build a shell-safe, collision-resistant workspace id for one lease run. */
128
128
  export declare function leaseWorkspaceId(repoRoot: string, startedAtMs?: number, pid?: number): string;
129
- /** Isolated box-home path for one run, relative to the shared box user's home. */
130
- export declare function leaseHomeDir(workspaceId: string): string;
131
129
  /**
132
130
  * Build the single bootstrap script run on the box: ensure agents-cli, install
133
131
  * the picked runtime CLIs, write their credentials, run the agent, then shred
@@ -136,7 +134,7 @@ export declare function leaseHomeDir(workspaceId: string): string;
136
134
  export declare function buildBootstrapScript(opts: LeaseRunOptions): string;
137
135
  /** Untouched-for-this-long ⇒ no active run holds the box, so an expired one is a stray. */
138
136
  export declare const STRAY_GRACE_SECS = 600;
139
- export interface StrayMatchOptions {
137
+ interface StrayMatchOptions {
140
138
  /** Pool the lease belongs to (defaults to DEFAULT_CRABBOX_PROFILE). */
141
139
  profile?: string;
142
140
  /** Network mode of the lease (default 'public'); a box is partitioned by it. */
@@ -160,3 +158,4 @@ export interface StrayMatchOptions {
160
158
  */
161
159
  export declare function isExpiredPoolStray(box: CrabboxBox, opts: StrayMatchOptions): boolean;
162
160
  export declare function leaseAndRun(opts: LeaseRunOptions): Promise<LeaseRunResult>;
161
+ export {};
@@ -55,7 +55,7 @@ export function leaseWorkspaceId(repoRoot, startedAtMs = Date.now(), pid = proce
55
55
  return `${safeRepo}-${startedAtMs.toString(36)}-${pid.toString(36)}`;
56
56
  }
57
57
  /** Isolated box-home path for one run, relative to the shared box user's home. */
58
- export function leaseHomeDir(workspaceId) {
58
+ function leaseHomeDir(workspaceId) {
59
59
  return `lease-homes/${workspaceId}`;
60
60
  }
61
61
  function profileRemotePath(name) {
@@ -61,7 +61,7 @@ export declare function createSpinner(opts?: {
61
61
  enabled?: boolean;
62
62
  intervalMs?: number;
63
63
  }): Spinner;
64
- export interface LeaseOutputRouter {
64
+ interface LeaseOutputRouter {
65
65
  /** Feed a raw chunk of the crabbox run's combined stdout/stderr. */
66
66
  push(chunk: string): void;
67
67
  /** Flush any buffered partial line (call once the stream closes). */
@@ -91,3 +91,4 @@ export declare function createLeaseOutputRouter(cb: {
91
91
  marker?: string;
92
92
  now?: () => number;
93
93
  }): LeaseOutputRouter;
94
+ export {};
@@ -22,9 +22,7 @@
22
22
  * ride the box-side bootstrap script (that only echoes the `copy-setup` progress
23
23
  * sentinel — see `buildBootstrapScript`).
24
24
  */
25
- /** Remote path (relative to the box user's home) the tracked config lands in. */
26
- export declare const REMOTE_AGENTS_DIR = ".agents/";
27
- export interface CopySetupOptions {
25
+ interface CopySetupOptions {
28
26
  /** crabbox box slug to push to — its per-lease ssh key does the auth. */
29
27
  slug: string;
30
28
  /** Secrets bundle whose env the ssh/rsync children inherit (crabbox parity). */
@@ -90,3 +88,4 @@ export declare function buildSetupRsyncArgs(opts: {
90
88
  * the returned exit codes.
91
89
  */
92
90
  export declare function copySetupToBox(opts: CopySetupOptions): Promise<CopySetupResult>;
91
+ export {};
@@ -29,7 +29,7 @@ import * as path from 'path';
29
29
  import { getUserAgentsDir } from '../state.js';
30
30
  import { crabboxEnv, crabboxSshArgv } from './cli.js';
31
31
  /** Remote path (relative to the box user's home) the tracked config lands in. */
32
- export const REMOTE_AGENTS_DIR = '.agents/';
32
+ const REMOTE_AGENTS_DIR = '.agents/';
33
33
  /** Top-level paths that must never be pushed, even if somehow tracked. */
34
34
  const NEVER_COPY = new Set(['.claude', '.claude.json']);
35
35
  /**
@@ -28,7 +28,7 @@ export declare const USAGE_STATE_TICK_MS = 60000;
28
28
  export declare const AUTH_STATE_TICK_MS: number;
29
29
  type AccountAuthRefresh = (signal: AbortSignal) => Promise<AuthProbeRow[] | void>;
30
30
  type AccountTransitionNotifier = (transition: DeadAccountTransition) => Promise<void>;
31
- export interface DeadAccountTransition {
31
+ interface DeadAccountTransition {
32
32
  agent: AuthProbeRow['agent'];
33
33
  /** Display label (email / account name) — presentation only, never a key. */
34
34
  account: string;
@@ -35,7 +35,7 @@ import type { DaemonServiceId } from '../daemon-services.js';
35
35
  * through here, so what ships is what is asserted.
36
36
  */
37
37
  export declare function buildAttentionNotification(item: AttentionItem, session: ActiveSession): DesktopNotification | undefined;
38
- export interface AttentionNotifyServiceOptions {
38
+ interface AttentionNotifyServiceOptions {
39
39
  /** Live-session source (default: the real active-session query). Injected in tests. */
40
40
  getSessions?: () => Promise<ActiveSession[]>;
41
41
  /** Notifier (default: the real desktop notifier). Injected in tests to capture posts. */
@@ -67,3 +67,4 @@ export declare class AttentionNotifyService extends BasePeriodicService {
67
67
  private markNotified;
68
68
  private pruneLedger;
69
69
  }
70
+ export {};
@@ -24,7 +24,7 @@ import type { DaemonServiceId } from '../daemon-services.js';
24
24
  * recovering from a wedge or an OS suspend the process survived.
25
25
  */
26
26
  export declare const CATCHUP_TICK_MS: number;
27
- export interface CatchupServiceDeps {
27
+ interface CatchupServiceDeps {
28
28
  /**
29
29
  * Whether the routine scheduler is currently booted. When false (the
30
30
  * `scheduler.enabled` gate is off), the pass no-ops — there is nothing to
@@ -49,3 +49,4 @@ export declare class CatchupService extends BasePeriodicService {
49
49
  protected onStop(): Promise<void>;
50
50
  protected onTick(_ctx: DaemonContext, signal: AbortSignal): Promise<void>;
51
51
  }
52
+ export {};
@@ -1,11 +1,3 @@
1
- /**
2
- * Daemon lifecycle management for the routines scheduler.
3
- *
4
- * The daemon is a long-running process that holds a JobScheduler and
5
- * triggers jobs on their cron schedules. It can be managed via launchd
6
- * (macOS), systemd (Linux), or as a plain detached process. PID tracking,
7
- * log output, reload (SIGHUP), and graceful shutdown are handled here.
8
- */
9
1
  import { isolatedHomeSuffix } from '../service-manifest.js';
10
2
  import { getAgentsBinPath } from '../cli-entry.js';
11
3
  import type { ServiceHealth } from './service.js';
@@ -75,7 +67,7 @@ export declare const DAEMON_AUTOSTART_FAILURE_LIMIT = 5;
75
67
  * !running + enabled → boot (gate flipped on since boot)
76
68
  * !running + !enabled → none (stay dark)
77
69
  */
78
- export type SchedulerGateTransition = 'reload' | 'stop' | 'boot' | 'none';
70
+ type SchedulerGateTransition = 'reload' | 'stop' | 'boot' | 'none';
79
71
  export declare function schedulerGateTransition(running: boolean, enabled: boolean): SchedulerGateTransition;
80
72
  /**
81
73
  * Wrap an async routine so it runs AT MOST ONCE, however many callers fire it.
@@ -112,7 +104,7 @@ export declare function readDaemonPid(daemonDir?: string): number | null;
112
104
  export declare function writeDaemonPid(pid: number): void;
113
105
  /** Remove the daemon PID file. */
114
106
  export declare function removeDaemonPid(): void;
115
- export interface DaemonHeartbeat {
107
+ interface DaemonHeartbeat {
116
108
  lastTick: string;
117
109
  pid: number;
118
110
  }
@@ -417,7 +409,7 @@ export declare function startDetached(opts?: StartDetachedOptions): {
417
409
  * One piece of daemon state that a graceful `handleShutdown` removes and an
418
410
  * escalated kill leaves behind (RUSH-2421).
419
411
  */
420
- export interface StopResidueArtifact {
412
+ interface StopResidueArtifact {
421
413
  label: string;
422
414
  present: boolean;
423
415
  /** The file names a live owner, including a stopped target that survived. */
@@ -446,7 +438,7 @@ export declare function stopResidueArtifacts(stoppedPid: number | null, survivor
446
438
  * in-flight routine children that survive deliberately (SING-11a) and are
447
439
  * reported, never killed.
448
440
  */
449
- export interface DaemonStopResult {
441
+ interface DaemonStopResult {
450
442
  ok: boolean;
451
443
  stoppedPid: number | null;
452
444
  escalated: boolean;