@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
@@ -1,24 +1,22 @@
1
1
  import { type OpenBlock, type AnswerRecord } from './feed/feed.js';
2
- export type BlockClass = 'approval' | 'decision';
3
- export interface ClassPolicy {
2
+ type BlockClass = 'approval' | 'decision';
3
+ interface ClassPolicy {
4
4
  timeoutMinutes: number;
5
5
  /** For approval class only: the answer to apply when the timeout fires. */
6
6
  safeDefault?: string;
7
7
  }
8
- export interface FeedPolicy {
8
+ interface FeedPolicy {
9
9
  approval: ClassPolicy;
10
10
  decision: ClassPolicy;
11
11
  /** High-cost-of-delay blocks below this threshold do not page the phone. */
12
12
  phoneNotifyThreshold: 'low' | 'medium' | 'high';
13
13
  }
14
14
  export declare const DEFAULT_POLICY: FeedPolicy;
15
- export declare function getPolicyPath(root?: string): string;
16
15
  export declare function loadPolicy(root?: string): FeedPolicy;
17
16
  export declare function blockClass(block: OpenBlock): BlockClass;
18
17
  export declare function isPhoneUrgent(block: OpenBlock, policy: FeedPolicy): boolean;
19
- export declare function minutesElapsed(block: OpenBlock, now: Date): number;
20
18
  export declare function isTimedOut(block: OpenBlock, policy: FeedPolicy, now: Date): boolean;
21
- export interface PolicyResult {
19
+ interface PolicyResult {
22
20
  blockId: string;
23
21
  action: 'none' | 'defaulted' | 'parked';
24
22
  answer?: AnswerRecord;
@@ -28,3 +26,4 @@ export interface PolicyResult {
28
26
  * Caller is responsible for persistence/logging side effects not owned by feed.ts.
29
27
  */
30
28
  export declare function applyPolicyToBlock(block: OpenBlock, policy: FeedPolicy, now: Date, root?: string, mailboxRoot?: string): PolicyResult;
29
+ export {};
@@ -25,7 +25,7 @@ export const DEFAULT_POLICY = {
25
25
  decision: { timeoutMinutes: 60 },
26
26
  phoneNotifyThreshold: 'medium',
27
27
  };
28
- export function getPolicyPath(root) {
28
+ function getPolicyPath(root) {
29
29
  return path.join(root ?? getUserAgentsDir(), POLICY_FILE);
30
30
  }
31
31
  function normalizeClassPolicy(raw, fallback) {
@@ -65,7 +65,7 @@ export function isPhoneUrgent(block, policy) {
65
65
  const cost = block.costOfDelay ?? 'low';
66
66
  return COST_RANK[cost] >= COST_RANK[policy.phoneNotifyThreshold];
67
67
  }
68
- export function minutesElapsed(block, now) {
68
+ function minutesElapsed(block, now) {
69
69
  const ts = Date.parse(block.ts);
70
70
  if (Number.isNaN(ts))
71
71
  return 0;
@@ -4,7 +4,7 @@ import { type PidSessionEntry } from './session/pid-registry.js';
4
4
  export declare const STATUS_POST_MAX_CHARS = 500;
5
5
  /** Title is a phone subject line - about four or five words, not a paragraph. */
6
6
  export declare const STATUS_TITLE_MAX_CHARS = 60;
7
- export interface FeedPostInput {
7
+ interface FeedPostInput {
8
8
  /**
9
9
  * Short subject (required for new posts). ~4–5 words. Phone broadcasts put
10
10
  * this on the first line so a scan names the topic before the body.
@@ -53,7 +53,7 @@ export interface FeedPostInput {
53
53
  /** Override full registry list for launchId match (tests). */
54
54
  listEntries?: () => PidSessionEntry[];
55
55
  }
56
- export interface FeedPostResult {
56
+ interface FeedPostResult {
57
57
  event: ActivityEvent;
58
58
  }
59
59
  export interface PostIdentity {
@@ -78,8 +78,6 @@ export interface PostIdentity {
78
78
  export declare function resolvePostIdentity(input: Pick<FeedPostInput, 'sessionId' | 'env' | 'cwd' | 'activityRoot' | 'startPid' | 'getParentPid' | 'readEntry' | 'listEntries'>): PostIdentity | undefined;
79
79
  /** Walk up to 16 ancestors looking for a by-pid registry entry with a session. */
80
80
  export declare function walkPidRegistry(startPid: number, getParent: (pid: number) => number | undefined, readEntry: (pid: number) => PidSessionEntry | undefined): PidSessionEntry | undefined;
81
- /** Best-effort parent pid of `pid` (Linux /proc, else `ps`). */
82
- export declare function parentPidOf(pid: number): number | undefined;
83
81
  /**
84
82
  * Turn one `--attach` token into an {@link Attachment}. Remote URLs become
85
83
  * `link` (or a media kind when the extension is unambiguous). Local files are
@@ -112,3 +110,4 @@ export declare function normalizeStatusTitle(title: string): string;
112
110
  * Throws if title/text is empty or session identity cannot be resolved.
113
111
  */
114
112
  export declare function postFeedStatus(input: FeedPostInput): FeedPostResult;
113
+ export {};
@@ -21,7 +21,7 @@ import { resolveProjectNameForCwd, listProjectDefs } from './projects.js';
21
21
  import { getHistoryDir } from './state.js';
22
22
  import { machineId } from './machine-id.js';
23
23
  import { isValidMailboxId } from './mailbox.js';
24
- import { listPidSessionEntries, readPidSessionEntry, } from './session/pid-registry.js';
24
+ import { listPidSessionEntries, readLivePidSessionEntry as readPidSessionEntry, } from './session/pid-registry.js';
25
25
  /** Soft cap so a runaway agent can't flood the activity lane with essays. */
26
26
  export const STATUS_POST_MAX_CHARS = 500;
27
27
  /** Title is a phone subject line - about four or five words, not a paragraph. */
@@ -120,7 +120,7 @@ export function walkPidRegistry(startPid, getParent, readEntry) {
120
120
  return firstHit;
121
121
  }
122
122
  /** Best-effort parent pid of `pid` (Linux /proc, else `ps`). */
123
- export function parentPidOf(pid) {
123
+ function parentPidOf(pid) {
124
124
  if (!Number.isInteger(pid) || pid <= 1)
125
125
  return undefined;
126
126
  if (process.platform === 'linux') {
@@ -20,14 +20,14 @@ export interface FeedSessionSignal {
20
20
  cloudProvider?: string;
21
21
  cloudTaskId?: string;
22
22
  }
23
- export interface RankedFeedBlock extends OpenBlock {
23
+ interface RankedFeedBlock extends OpenBlock {
24
24
  delayRank: NonNullable<OpenBlock['delayRank']>;
25
25
  }
26
26
  export declare function buildSessionSignals(active: ActiveSession[], metas?: SessionMeta[]): FeedSessionSignal[];
27
27
  export declare function decisionIrreducibility(c: Classification): number;
28
28
  export declare function burnUsdPerHour(signal: FeedSessionSignal | undefined, block: OpenBlock): number;
29
29
  export declare function rankFeedBlocks(blocks: OpenBlock[], signals?: FeedSessionSignal[], now?: Date): RankedFeedBlock[];
30
- export declare function recentAskCount(stats: FeedAskStats, now?: Date): number;
31
30
  export declare function needyControlCards(stats: FeedAskStats[], signals?: FeedSessionSignal[], now?: Date, threshold?: number): OpenBlock[];
32
31
  export declare function runawayControlCards(signals: FeedSessionSignal[], now?: Date): OpenBlock[];
33
32
  export declare function synthesizeControlCards(signals: FeedSessionSignal[], stats: FeedAskStats[], now?: Date): OpenBlock[];
33
+ export {};
@@ -127,7 +127,7 @@ export function rankFeedBlocks(blocks, signals = [], now = new Date()) {
127
127
  return Date.parse(a.ts) - Date.parse(b.ts);
128
128
  });
129
129
  }
130
- export function recentAskCount(stats, now = new Date()) {
130
+ function recentAskCount(stats, now = new Date()) {
131
131
  const cutoff = now.getTime() - 60 * 60_000;
132
132
  return stats.recentAskTimestamps.filter((ts) => {
133
133
  const parsed = Date.parse(ts);
@@ -52,7 +52,7 @@ export interface SourceAuth {
52
52
  * list (PHNX-2371).
53
53
  */
54
54
  export declare function fleetSecretsBundles(declared: string[] | undefined): string[];
55
- export interface DiffContext {
55
+ interface DiffContext {
56
56
  /** agents-cli version the source is on — the fleet target version. */
57
57
  targetCliVersion: string;
58
58
  sourceAuth: SourceAuth;
@@ -72,7 +72,7 @@ export interface DiffContext {
72
72
  /** Pure: desired vs probed -> per-device diff + flat action list. */
73
73
  export declare function diffFleet(desired: DeviceDesired[], probes: Map<string, DeviceProbe>, ctx: DiffContext): FleetPlan;
74
74
  /** Why a declared bundle is or is not pushed to one device. */
75
- export interface SecretPushDecision {
75
+ interface SecretPushDecision {
76
76
  push: boolean;
77
77
  /** Where it would land on the remote. Only meaningful when `push`. */
78
78
  backend: RemoteBackend;
@@ -108,7 +108,7 @@ export interface SecretPushDecision {
108
108
  * the one fleet-shared setup-token store (PHNX-2371).
109
109
  */
110
110
  export declare function decideSecretPush(bundle: string, desired: DeviceDesired, probe: DeviceProbe, ctx: DiffContext): SecretPushDecision;
111
- export interface ProbeOptions {
111
+ interface ProbeOptions {
112
112
  /** Also fetch per-agent installed versions (one extra `agents view --json`
113
113
  * round-trip). Enable only when the plan has a version-pinned spec. */
114
114
  withVersions?: boolean;
@@ -141,18 +141,17 @@ export interface DeviceApplyResult {
141
141
  steps: ApplyStep[];
142
142
  note?: string;
143
143
  }
144
- export interface ExecContext {
144
+ interface ExecContext {
145
145
  targetCliVersion: string;
146
146
  source: string;
147
147
  sourceAuth: SourceAuth;
148
148
  /** Set for a dry run — probe + plan only, execute nothing. */
149
149
  dryRun?: boolean;
150
150
  }
151
- /** Execute one device's planned actions in order. Real SSH — no mocks. */
152
- export declare function reconcileDevice(row: DeviceDiff, device: DeviceProfile, ctx: ExecContext): Promise<DeviceApplyResult>;
153
151
  /** Run a pool of async tasks with a concurrency cap, preserving input order. */
154
152
  export declare function pool<T, R>(items: T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
155
153
  /** Reconcile every device row in parallel (capped). */
156
154
  export declare function runFleetApply(rows: DeviceDiff[], nameToProfile: Map<string, DeviceProfile>, ctx: ExecContext, concurrency?: number): Promise<DeviceApplyResult[]>;
157
155
  /** Default home for source snapshots (overridable in tests). */
158
156
  export declare function sourceHome(): string;
157
+ export {};
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import * as os from 'os';
11
11
  import { pushBundleToHost } from '../secrets-client.js';
12
- import { AUTH_BUNDLE_NAME, inspectReservedAuthBundle, isReservedBundleName } from '../secrets-policy.js';
12
+ import { AUTH_STORE_ALIAS, inspectReservedAuthBundle, isReservedBundleName } from '../secrets-policy.js';
13
13
  import { deviceIdentityArgs, sshTargetFor } from '../devices/connect.js';
14
14
  import { readyProbe, bootstrapAgentsCli } from '../hosts/ready.js';
15
15
  import { buildRemoteAgentsInvocation } from '../hosts/remote-cmd.js';
@@ -98,8 +98,8 @@ export function parseInstalledVersions(stdout) {
98
98
  export function fleetSecretsBundles(declared) {
99
99
  const out = [...(declared ?? [])];
100
100
  const auth = inspectReservedAuthBundle();
101
- if (auth.exists && auth.ok && !out.includes(AUTH_BUNDLE_NAME)) {
102
- out.push(AUTH_BUNDLE_NAME);
101
+ if (auth.exists && auth.ok && !out.includes(AUTH_STORE_ALIAS)) {
102
+ out.push(AUTH_STORE_ALIAS);
103
103
  }
104
104
  return out;
105
105
  }
@@ -371,7 +371,7 @@ export function parseRemoteBundles(stdout) {
371
371
  }
372
372
  }
373
373
  /** Execute one device's planned actions in order. Real SSH — no mocks. */
374
- export async function reconcileDevice(row, device, ctx) {
374
+ async function reconcileDevice(row, device, ctx) {
375
375
  if (!row.probe.reachable) {
376
376
  return { device: row.device, ok: false, steps: [], note: row.probe.note ?? 'unreachable' };
377
377
  }
@@ -12,7 +12,7 @@ import type { FleetManifest, DeviceDesired } from './types.js';
12
12
  export declare function parseFleetManifest(raw: unknown): FleetManifest;
13
13
  /** Read a YAML file and extract + validate its `fleet:` block. */
14
14
  export declare function readFleetFile(filePath: string): FleetManifest;
15
- export interface ResolveContext {
15
+ interface ResolveContext {
16
16
  /** Device names currently online (used to expand `devices: all`). */
17
17
  onlineDevices: string[];
18
18
  /** All registered device names (used to validate explicit entries). */
@@ -50,3 +50,4 @@ export declare function emptyTargetsMessage(manifest: FleetManifest): {
50
50
  style: 'hint' | 'plain';
51
51
  lines: string[];
52
52
  };
53
+ export {};
@@ -3,7 +3,7 @@ import type { DeviceProfile } from '../devices/registry.js';
3
3
  import { type AuthVerdict, type AuthHealth } from '../auth-health.js';
4
4
  import { type LoginFlow } from './auth-sync.js';
5
5
  /** A verification URL + user code scraped from a device-code login screen. */
6
- export interface ScrapedLogin {
6
+ interface ScrapedLogin {
7
7
  url?: string;
8
8
  code?: string;
9
9
  }
@@ -17,7 +17,7 @@ export interface ScrapedLogin {
17
17
  */
18
18
  export declare function scrapeLogin(screenText: string, flow: LoginFlow): ScrapedLogin;
19
19
  /** Why a logged-out (agent, device) pair can or cannot be driven remotely. */
20
- export interface FlowClassification {
20
+ interface FlowClassification {
21
21
  flow: LoginFlow | null;
22
22
  remotable: boolean;
23
23
  reason?: string;
@@ -38,7 +38,7 @@ export declare function classifyLoginFlow(agent: AgentId | string, platform: str
38
38
  */
39
39
  export declare function isPendingVerdict(verdict: AuthVerdict | undefined): boolean;
40
40
  /** A logged-out (agent, device) pair `fleet login` will target or explain. */
41
- export interface PendingLogin {
41
+ interface PendingLogin {
42
42
  device: string;
43
43
  agent: AgentId | string;
44
44
  platform?: string;
@@ -51,7 +51,7 @@ export interface PendingLogin {
51
51
  /** Present when `!remotable` — why it must be done on the box itself. */
52
52
  reason?: string;
53
53
  }
54
- export interface SelectLoginOptions {
54
+ interface SelectLoginOptions {
55
55
  /** Include pairs already logged-in (verdict live/unverified) — for a forced re-login. */
56
56
  includeLoggedIn?: boolean;
57
57
  }
@@ -68,7 +68,7 @@ export interface SelectLoginOptions {
68
68
  export declare function selectLoginTargets(devices: DeviceProfile[], agents: (AgentId | string)[], cache: Record<string, AuthHealth>, opts?: SelectLoginOptions): PendingLogin[];
69
69
  /**
70
70
  * Build the `ssh -tt <target> <loginCommand>` command string driven through the
71
- * PTY sidecar. `-tt` forces a tty so the remote CLI enters its interactive
71
+ * `term` CLI. `-tt` forces a tty so the remote CLI enters its interactive
72
72
  * device-code flow; `accept-new` learns a first-seen host key without a prompt.
73
73
  * Both the target and the login command are shell-quoted. Pure/testable.
74
74
  *
@@ -77,7 +77,7 @@ export declare function selectLoginTargets(devices: DeviceProfile[], agents: (Ag
77
77
  * are a follow-up (TODO), surfaced as an error rather than silently mis-driven.
78
78
  */
79
79
  export declare function buildRemoteLoginSshCommand(target: string, flow: LoginFlow, extraSshArgs?: string[]): string;
80
- export type LoginMode = 'bulk' | 'interactive';
80
+ type LoginMode = 'bulk' | 'interactive';
81
81
  /** Per-pair status shape shared between the driver, the status endpoint, and the page. */
82
82
  export type LoginStatusState = 'pending' | 'driving' | 'ready' | 'authorized' | 'error' | 'skipped';
83
83
  export interface LoginStatus {
@@ -101,8 +101,8 @@ export interface LoginStatus {
101
101
  * light variant via `prefers-color-scheme`.
102
102
  */
103
103
  export declare function buildDashboardHtml(pending: PendingLogin[], mode: LoginMode): string;
104
- /** The subset of the PTY sidecar `driveRemoteLogin` needs — faked in tests. */
105
- export interface PtyDriver {
104
+ /** The subset of the `term` CLI `driveRemoteLogin` needs — faked in tests. */
105
+ export interface TermDriver {
106
106
  start(opts?: {
107
107
  rows?: number;
108
108
  cols?: number;
@@ -115,8 +115,8 @@ export interface PtyDriver {
115
115
  }>;
116
116
  stop(id: string): Promise<void>;
117
117
  }
118
- /** Real driver over the pty sidecar (`ptyRequest`). */
119
- export declare function defaultPtyDriver(): PtyDriver;
118
+ /** Real driver over the standalone `term` CLI (`../term-client.js`). */
119
+ export declare function defaultTermDriver(): TermDriver;
120
120
  export interface DriveOptions {
121
121
  /** Wait after launching ssh before steering / scraping (default 4000ms). */
122
122
  initialDelayMs?: number;
@@ -125,41 +125,22 @@ export interface DriveOptions {
125
125
  /** Overall scrape deadline (default 90000ms). */
126
126
  timeoutMs?: number;
127
127
  }
128
- export interface DriveResult extends ScrapedLogin {
128
+ interface DriveResult extends ScrapedLogin {
129
129
  /** True when the underlying ssh session already exited (login finished or failed). */
130
130
  exited: boolean;
131
- /** The pty session id, so the caller can keep polling / stop it. */
131
+ /** The term session id, so the caller can keep polling / stop it. */
132
132
  sessionId: string;
133
133
  }
134
134
  /**
135
135
  * Drive one remote device-code login: launch `ssh -tt <target> <loginCommand>`
136
- * in a PTY, send the flow's `deviceCodeSelect` keystrokes (if any) to reach the
136
+ * in a `term` session, send the flow's `deviceCodeSelect` keystrokes (if any) to reach the
137
137
  * device-code path, then poll the screen until {@link scrapeLogin} yields both a
138
138
  * URL and a code (or the deadline / session-exit). The human completes the code
139
139
  * in the browser; the caller polls the credential file for completion. Testable
140
- * against a fake {@link PtyDriver}.
140
+ * against a fake {@link TermDriver}.
141
141
  */
142
- export declare function driveRemoteLogin(target: string, flow: LoginFlow, driver: PtyDriver, opts?: DriveOptions, extraSshArgs?: string[]): Promise<DriveResult>;
143
- export interface DetectOptions {
144
- agents?: (AgentId | string)[];
145
- devices?: string[];
146
- includeLoggedIn?: boolean;
147
- }
148
- /**
149
- * Resolve the online fleet devices, then compute pending logins
150
- * from the shared auth-health cache (populated by `agents fleet ping`). Thin I/O
151
- * over the pure {@link selectLoginTargets}. Devices/agents can be narrowed by the
152
- * caller's flags; the default agent set is every agent with a defined flow.
153
- */
154
- export declare function detectPending(opts?: DetectOptions): Promise<PendingLogin[]>;
155
- /**
156
- * Best-effort epoch-seconds mtime of a home-relative file on a remote box, or 0
157
- * when it is absent/unreadable. Used to detect the credential file appearing /
158
- * bumping after the human completes the browser step. POSIX `stat` only (the
159
- * device-code agents are all POSIX-fleet).
160
- */
161
- export declare function remoteFileMtime(target: string, homeRel: string, extraSshArgs?: string[]): Promise<number>;
162
- export interface RunFleetLoginOptions {
142
+ export declare function driveRemoteLogin(target: string, flow: LoginFlow, driver: TermDriver, opts?: DriveOptions, extraSshArgs?: string[]): Promise<DriveResult>;
143
+ interface RunFleetLoginOptions {
163
144
  agents?: (AgentId | string)[];
164
145
  devices?: string[];
165
146
  interactive?: boolean;
@@ -167,7 +148,7 @@ export interface RunFleetLoginOptions {
167
148
  /** Target every device-code pair regardless of cached login state (cold cache / forced re-login). */
168
149
  all?: boolean;
169
150
  /** Overrides for testing / non-default cadence. */
170
- driver?: PtyDriver;
151
+ driver?: TermDriver;
171
152
  drive?: DriveOptions;
172
153
  /** Port for the local dashboard (0 = ephemeral). */
173
154
  port?: number;
@@ -186,3 +167,4 @@ export interface RunFleetLoginOptions {
186
167
  * this wires them to the live fleet.
187
168
  */
188
169
  export declare function runFleetLogin(opts?: RunFleetLoginOptions): Promise<LoginStatus[]>;
170
+ export {};
@@ -17,8 +17,9 @@
17
17
  * Layering — pure vs I/O, so the valuable logic is unit-testable without SSH:
18
18
  * - `scrapeLogin` / `classifyLoginFlow` / `selectLoginTargets` /
19
19
  * `buildRemoteLoginSshCommand` / `buildDashboardHtml` are PURE.
20
- * - `driveRemoteLogin` drives a PTY through an injectable {@link PtyDriver}
21
- * (fake in tests; real over the pty sidecar in prod).
20
+ * - `driveRemoteLogin` drives a terminal through an injectable {@link TermDriver}
21
+ * (fake in tests; real over the standalone `term` CLI in prod — see
22
+ * `../term-client.js`).
22
23
  * - `detectPending` / `runFleetLogin` do the real fleet I/O.
23
24
  *
24
25
  * The device codes have a ~15 min TTL, so the default (bulk) mode requests every
@@ -32,7 +33,7 @@ import { deviceIdentityArgs, fleetDialTarget } from '../devices/connect.js';
32
33
  import { planFleetTargets } from '../devices/fleet.js';
33
34
  import { assertValidSshTarget, shellQuote, sshExecAsync } from '../ssh-exec.js';
34
35
  import { machineId } from '../session/sync/config.js';
35
- import { ptyRequest } from '../pty-client.js';
36
+ import { termStart, termExec, termWrite, termScreen, termStop } from '../term-client.js';
36
37
  import { showUrl } from '../open-url.js';
37
38
  import { readAuthHealthCache, } from '../auth-health.js';
38
39
  import { FLEET_LOGIN_FLOWS, KEYCHAIN_BOUND_ON_MAC, } from './auth-sync.js';
@@ -144,7 +145,7 @@ export function selectLoginTargets(devices, agents, cache, opts = {}) {
144
145
  }
145
146
  /**
146
147
  * Build the `ssh -tt <target> <loginCommand>` command string driven through the
147
- * PTY sidecar. `-tt` forces a tty so the remote CLI enters its interactive
148
+ * `term` CLI. `-tt` forces a tty so the remote CLI enters its interactive
148
149
  * device-code flow; `accept-new` learns a first-seen host key without a prompt.
149
150
  * Both the target and the login command are shell-quoted. Pure/testable.
150
151
  *
@@ -331,42 +332,42 @@ export function buildDashboardHtml(pending, mode) {
331
332
  </body>
332
333
  </html>`;
333
334
  }
334
- /** Real driver over the pty sidecar (`ptyRequest`). */
335
- export function defaultPtyDriver() {
335
+ /** Real driver over the standalone `term` CLI (`../term-client.js`). */
336
+ export function defaultTermDriver() {
336
337
  const expectOk = (res, what) => {
337
338
  if (!res.ok)
338
- throw new Error(`pty ${what} failed: ${res.error ?? 'unknown'}`);
339
+ throw new Error(`term ${what} failed: ${res.error ?? 'unknown'}`);
339
340
  };
340
341
  return {
341
342
  async start(opts) {
342
- const res = await ptyRequest('start', undefined, { rows: opts?.rows ?? 40, cols: opts?.cols ?? 120 });
343
+ const res = await termStart({ rows: opts?.rows ?? 40, cols: opts?.cols ?? 120 });
343
344
  expectOk(res, 'start');
344
345
  return res.id;
345
346
  },
346
347
  async exec(id, command) {
347
- expectOk(await ptyRequest('exec', id, { command }), 'exec');
348
+ expectOk(await termExec(id, command), 'exec');
348
349
  },
349
350
  async write(id, input) {
350
- expectOk(await ptyRequest('write', id, { input }), 'write');
351
+ expectOk(await termWrite(id, input), 'write');
351
352
  },
352
353
  async screen(id) {
353
- const res = await ptyRequest('screen', id);
354
+ const res = await termScreen(id);
354
355
  expectOk(res, 'screen');
355
356
  return { screen: res.screen ?? '', exited: Boolean(res.exited) };
356
357
  },
357
358
  async stop(id) {
358
- await ptyRequest('stop', id).catch(() => undefined);
359
+ await termStop(id).catch(() => undefined);
359
360
  },
360
361
  };
361
362
  }
362
363
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
363
364
  /**
364
365
  * Drive one remote device-code login: launch `ssh -tt <target> <loginCommand>`
365
- * in a PTY, send the flow's `deviceCodeSelect` keystrokes (if any) to reach the
366
+ * in a `term` session, send the flow's `deviceCodeSelect` keystrokes (if any) to reach the
366
367
  * device-code path, then poll the screen until {@link scrapeLogin} yields both a
367
368
  * URL and a code (or the deadline / session-exit). The human completes the code
368
369
  * in the browser; the caller polls the credential file for completion. Testable
369
- * against a fake {@link PtyDriver}.
370
+ * against a fake {@link TermDriver}.
370
371
  */
371
372
  export async function driveRemoteLogin(target, flow, driver, opts = {}, extraSshArgs = []) {
372
373
  const initialDelayMs = opts.initialDelayMs ?? 4000;
@@ -374,8 +375,8 @@ export async function driveRemoteLogin(target, flow, driver, opts = {}, extraSsh
374
375
  const timeoutMs = opts.timeoutMs ?? 90000;
375
376
  const id = await driver.start();
376
377
  // Everything past start() must tear the session down on a mid-flight throw —
377
- // otherwise the caller never receives a sessionId and the PTY (and the
378
- // `ssh -tt` process it drives) leaks until the sidecar's idle reaper. On the
378
+ // otherwise the caller never receives a sessionId and the term session (and
379
+ // the `ssh -tt` process it drives) leaks until term's own idle reaper. On the
379
380
  // normal return paths the caller owns stop() via the returned sessionId.
380
381
  try {
381
382
  await driver.exec(id, buildRemoteLoginSshCommand(target, flow, extraSshArgs));
@@ -412,7 +413,7 @@ export async function driveRemoteLogin(target, flow, driver, opts = {}, extraSsh
412
413
  * over the pure {@link selectLoginTargets}. Devices/agents can be narrowed by the
413
414
  * caller's flags; the default agent set is every agent with a defined flow.
414
415
  */
415
- export async function detectPending(opts = {}) {
416
+ async function detectPending(opts = {}) {
416
417
  const reg = await loadDevices();
417
418
  const self = machineId();
418
419
  const online = planFleetTargets(reg)
@@ -432,7 +433,7 @@ export async function detectPending(opts = {}) {
432
433
  * bumping after the human completes the browser step. POSIX `stat` only (the
433
434
  * device-code agents are all POSIX-fleet).
434
435
  */
435
- export async function remoteFileMtime(target, homeRel, extraSshArgs = []) {
436
+ async function remoteFileMtime(target, homeRel, extraSshArgs = []) {
436
437
  const cmd = `stat -c %Y "$HOME/${homeRel}" 2>/dev/null || stat -f %m "$HOME/${homeRel}" 2>/dev/null || echo 0`;
437
438
  const res = await sshExecAsync(target, cmd, { timeoutMs: 15000, multiplex: true, extraSshArgs }).catch(() => null);
438
439
  if (!res || res.code !== 0)
@@ -507,7 +508,7 @@ export async function runFleetLogin(opts = {}) {
507
508
  console.error(` ${dashUrl}`);
508
509
  }
509
510
  }
510
- const driver = opts.driver ?? defaultPtyDriver();
511
+ const driver = opts.driver ?? defaultTermDriver();
511
512
  const remotable = pending.filter((p) => p.remotable);
512
513
  const driveOne = async (p) => {
513
514
  const k = key(p.device, p.agent);
@@ -204,14 +204,6 @@ export interface AuthFilePayload {
204
204
  /** POSIX mode to restore (e.g. 0o600 for credentials). */
205
205
  mode: number;
206
206
  }
207
- /** The plaintext we encrypt before shipping auth over the wire. */
208
- export interface AuthBundle {
209
- /** Schema version for forward-compat. */
210
- v: 1;
211
- /** Source machine name the snapshot was taken on. */
212
- source: string;
213
- files: AuthFilePayload[];
214
- }
215
207
  /** Result of classifying one source agent's auth for propagation. */
216
208
  export interface AuthSnapshotResult {
217
209
  files: AuthFilePayload[];
@@ -1,18 +1,3 @@
1
- /**
2
- * One synchronous, disk-only read facade over the fleet/usage caches.
3
- *
4
- * These readers NEVER touch the network and NEVER SSH — they read the caches
5
- * the daemon keeps warm (usage snapshot, projected headroom, fleet status) and
6
- * return instantly. That is the whole point: the routing hot path
7
- * (`agents run` → rotate.ts), device affinity (smart-launch.ts), and Factory can
8
- * consult live-ish fleet state without paying a provider fetch or an ssh probe
9
- * on a latency-sensitive path.
10
- *
11
- * Writers live elsewhere (the daemon's `runUsageRefresh` for usage/headroom,
12
- * `runFleetStatusPublish` for the fleet-status mirror); this module is the read
13
- * side only.
14
- */
15
- import { type UsageSnapshot } from './accounting/usage.js';
16
1
  import { type FleetStatusRow } from './fleet-status.js';
17
2
  /**
18
3
  * The fleet-status union the daemon publishes (own row) and the fleet-status
@@ -21,10 +6,8 @@ import { type FleetStatusRow } from './fleet-status.js';
21
6
  */
22
7
  export declare function readFleetStatus(): Record<string, FleetStatusRow>;
23
8
  export type { FleetStatusRow };
24
- /** The last cached usage snapshot for an account, or null. Cache-only. */
25
- export declare function readAccountUsage(usageKey: string): UsageSnapshot | null;
26
9
  /** An account's projected headroom, as published by the daemon refresher. */
27
- export interface AccountHeadroom {
10
+ interface AccountHeadroom {
28
11
  status: 'available' | 'rate_limited' | null;
29
12
  /** Projected minutes until the session window caps; null = unknown/idle. */
30
13
  minutesToLimit: number | null;
@@ -12,7 +12,6 @@
12
12
  * `runFleetStatusPublish` for the fleet-status mirror); this module is the read
13
13
  * side only.
14
14
  */
15
- import { readClaudeUsageCache } from './accounting/usage.js';
16
15
  import { readHeadroomEntry } from './usage-refresh.js';
17
16
  import { readFleetStatus as readFleetStatusMirror } from './fleet-status.js';
18
17
  /**
@@ -23,10 +22,6 @@ import { readFleetStatus as readFleetStatusMirror } from './fleet-status.js';
23
22
  export function readFleetStatus() {
24
23
  return readFleetStatusMirror();
25
24
  }
26
- /** The last cached usage snapshot for an account, or null. Cache-only. */
27
- export function readAccountUsage(usageKey) {
28
- return readClaudeUsageCache(usageKey);
29
- }
30
25
  /**
31
26
  * The daemon-computed headroom for an account, or null when nothing has been
32
27
  * published yet. Cache-only — a cold cache simply yields null, and callers
@@ -1,5 +1,4 @@
1
1
  export declare const FLEET_SHARED_REPO_SYNC_DEADLINE_MS = 45000;
2
- export declare const FLEET_SHARED_REPO_KILL_GRACE_MS = 250;
3
2
  export declare const FLEET_SHARED_REPO_OUTPUT_MAX_BYTES: number;
4
3
  /**
5
4
  * When the shared-state exchange last completed successfully, in epoch ms, or
@@ -7,13 +6,13 @@ export declare const FLEET_SHARED_REPO_OUTPUT_MAX_BYTES: number;
7
6
  * Reads the default daemon-dir marker the periodic exchange writes.
8
7
  */
9
8
  export declare function readLastSuccessfulExchangeMs(): number | null;
10
- export interface BoundedProcessResult {
9
+ interface BoundedProcessResult {
11
10
  code: number | null;
12
11
  stdout: string;
13
12
  stderr: string;
14
13
  timedOut: boolean;
15
14
  }
16
- export interface FleetSharedRepoSyncOptions {
15
+ interface FleetSharedRepoSyncOptions {
17
16
  userAgentsDir?: string;
18
17
  device?: string;
19
18
  timeoutMs?: number;
@@ -53,3 +52,4 @@ export declare function runBoundedProcess(command: string, args: string[], optio
53
52
  * this resolves successfully.
54
53
  */
55
54
  export declare function syncFleetSharedStateRepo(options?: FleetSharedRepoSyncOptions): Promise<FleetSharedRepoSyncResult>;
55
+ export {};
@@ -18,7 +18,7 @@ import { logAndContinueOnLockCompromised } from './lock-compromise.js';
18
18
  import { machineId } from './session/sync/config.js';
19
19
  import { getDaemonDir, getUserAgentsDir } from './state.js';
20
20
  export const FLEET_SHARED_REPO_SYNC_DEADLINE_MS = 45_000;
21
- export const FLEET_SHARED_REPO_KILL_GRACE_MS = 250;
21
+ const FLEET_SHARED_REPO_KILL_GRACE_MS = 250;
22
22
  export const FLEET_SHARED_REPO_OUTPUT_MAX_BYTES = 1024 * 1024;
23
23
  const FLEET_SHARED_REPO_PUSH_ATTEMPTS = 3;
24
24
  const FLEET_SHARED_REPO_REBASE_CLEANUP_RESERVE_MS = 5_000;
@@ -57,12 +57,12 @@ export interface FleetSharedDeviceState {
57
57
  rows: SessionMirrorRow[];
58
58
  };
59
59
  }
60
- export interface FleetSharedStatePatch {
60
+ interface FleetSharedStatePatch {
61
61
  usage?: FleetSharedDeviceState['usage'];
62
62
  auth?: FleetSharedDeviceState['auth'];
63
63
  sessions?: FleetSharedDeviceState['sessions'];
64
64
  }
65
- export interface FleetSharedStateReadResult {
65
+ interface FleetSharedStateReadResult {
66
66
  states: FleetSharedDeviceState[];
67
67
  errors: Array<{
68
68
  device: string;
@@ -89,3 +89,4 @@ export declare function updateFleetSharedDeviceStateAsync(device: string, patch:
89
89
  }>;
90
90
  /** Read every valid peer-owned state file; malformed peers fail separately. */
91
91
  export declare function readFleetSharedDeviceStates(userAgentsDir?: string): FleetSharedStateReadResult;
92
+ export {};
@@ -1,5 +1,5 @@
1
1
  /** Options for {@link die} — opt into machine-readable failure output. */
2
- export interface DieOptions {
2
+ interface DieOptions {
3
3
  /**
4
4
  * Emit a machine-readable `{"error", "hint"?}` object to **stdout** instead of
5
5
  * red text on stderr. Pass `isJsonMode(options)` from a `--json` command so an
@@ -98,3 +98,4 @@ export declare function readStdinSync(): string;
98
98
  * stdout is a TTY; otherwise return `text` unchanged.
99
99
  */
100
100
  export declare function termLink(text: string, filePath: string): string;
101
+ export {};
@@ -7,7 +7,7 @@
7
7
  * an agent stuck retrying the SAME denied action instead of adapting.
8
8
  */
9
9
  import type { EventRecord } from './feed/events.js';
10
- export interface RepeatedGuardBlockFinding {
10
+ interface RepeatedGuardBlockFinding {
11
11
  /** Session id the repeated blocks happened in, or 'unknown' when the
12
12
  * friction event carried no session (e.g. a guard fired outside any
13
13
  * tracked agent session). */
@@ -30,3 +30,4 @@ export interface RepeatedGuardBlockFinding {
30
30
  export declare function detectRepeatedGuardBlocks(events: EventRecord[], opts?: {
31
31
  minRepeats?: number;
32
32
  }): RepeatedGuardBlockFinding[];
33
+ export {};
@@ -1,5 +1,5 @@
1
1
  /** A file surfaced by the walk, carrying the mtime+size from the walk's own stat. */
2
- export interface WalkedFile {
2
+ interface WalkedFile {
3
3
  path: string;
4
4
  mtimeMs: number;
5
5
  size: number;
@@ -19,3 +19,4 @@ export declare function walkForFiles(dir: string, ext: string, limit: number): s
19
19
  * Hot-path helper for the `agents run` account-recency probe.
20
20
  */
21
21
  export declare function latestFileMtimeMs(dir: string, ext: string): number | null;
22
+ export {};