@phnx-labs/agents-cli 1.22.113 → 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 (680) hide show
  1. package/CHANGELOG.md +29 -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 +13 -104
  62. package/dist/commands/sessions.js +10 -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 -4
  216. package/dist/lib/daemon/daemon.js +1 -1
  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-services.d.ts +2 -1
  225. package/dist/lib/daemon-webhooks.d.ts +1 -1
  226. package/dist/lib/deeplink/register.d.ts +3 -13
  227. package/dist/lib/deeplink/register.js +3 -3
  228. package/dist/lib/deeplink/url.d.ts +3 -2
  229. package/dist/lib/device-config.d.ts +4 -15
  230. package/dist/lib/device-config.js +164 -8
  231. package/dist/lib/devices/connect.d.ts +2 -1
  232. package/dist/lib/devices/discovery-policy.d.ts +3 -2
  233. package/dist/lib/devices/doctor-findings.js +1 -1
  234. package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
  235. package/dist/lib/devices/fleet-divergence.d.ts +2 -1
  236. package/dist/lib/devices/fleet.d.ts +3 -4
  237. package/dist/lib/devices/fleet.js +1 -1
  238. package/dist/lib/devices/harness-inventory.d.ts +3 -2
  239. package/dist/lib/devices/health-report.d.ts +3 -2
  240. package/dist/lib/devices/health.d.ts +1 -8
  241. package/dist/lib/devices/health.js +1 -1
  242. package/dist/lib/devices/interactive-host.d.ts +0 -2
  243. package/dist/lib/devices/interactive-host.js +1 -1
  244. package/dist/lib/devices/known-hosts.d.ts +2 -20
  245. package/dist/lib/devices/known-hosts.js +2 -2
  246. package/dist/lib/devices/pool.d.ts +2 -1
  247. package/dist/lib/devices/resolve-target.d.ts +2 -2
  248. package/dist/lib/devices/rollout-verify.d.ts +3 -2
  249. package/dist/lib/devices/stats-cache.d.ts +3 -2
  250. package/dist/lib/devices/sync.d.ts +6 -5
  251. package/dist/lib/devices/worker-pick.d.ts +3 -12
  252. package/dist/lib/devices/worker-pick.js +1 -1
  253. package/dist/lib/diff-text.d.ts +2 -1
  254. package/dist/lib/doctor-diff.d.ts +2 -1
  255. package/dist/lib/drift-sync.d.ts +3 -2
  256. package/dist/lib/drift.d.ts +3 -3
  257. package/dist/lib/drift.js +1 -1
  258. package/dist/lib/event-families.d.ts +0 -6
  259. package/dist/lib/event-families.js +3 -3
  260. package/dist/lib/event-provenance.d.ts +2 -1
  261. package/dist/lib/events-ingest.d.ts +4 -3
  262. package/dist/lib/exec-account-home.d.ts +2 -4
  263. package/dist/lib/exec-account-home.js +1 -1
  264. package/dist/lib/exec-bounded.d.ts +3 -4
  265. package/dist/lib/exec-bounded.js +1 -1
  266. package/dist/lib/exec.d.ts +6 -18
  267. package/dist/lib/exec.js +1 -1
  268. package/dist/lib/factory/snapshot.d.ts +2 -2
  269. package/dist/lib/factory/snapshot.js +1 -1
  270. package/dist/lib/feed/activity-stream.d.ts +2 -5
  271. package/dist/lib/feed/activity-stream.js +2 -2
  272. package/dist/lib/feed/activity.d.ts +8 -33
  273. package/dist/lib/feed/activity.js +8 -8
  274. package/dist/lib/feed/answer.d.ts +3 -2
  275. package/dist/lib/feed/attention.js +5 -1
  276. package/dist/lib/feed/events.d.ts +2 -47
  277. package/dist/lib/feed/events.js +1 -141
  278. package/dist/lib/feed/feed.d.ts +9 -42
  279. package/dist/lib/feed/feed.js +1 -60
  280. package/dist/lib/feed/pr-status.d.ts +0 -2
  281. package/dist/lib/feed/pr-status.js +1 -5
  282. package/dist/lib/feed/watch.d.ts +1 -2
  283. package/dist/lib/feed/watch.js +0 -1
  284. package/dist/lib/feed-broadcast.d.ts +5 -47
  285. package/dist/lib/feed-broadcast.js +9 -9
  286. package/dist/lib/feed-outcome.d.ts +3 -6
  287. package/dist/lib/feed-outcome.js +2 -2
  288. package/dist/lib/feed-policy.d.ts +5 -6
  289. package/dist/lib/feed-policy.js +2 -2
  290. package/dist/lib/feed-post.d.ts +3 -4
  291. package/dist/lib/feed-post.js +1 -1
  292. package/dist/lib/feed-ranking.d.ts +2 -2
  293. package/dist/lib/feed-ranking.js +1 -1
  294. package/dist/lib/fleet/apply.d.ts +5 -6
  295. package/dist/lib/fleet/apply.js +4 -4
  296. package/dist/lib/fleet/manifest.d.ts +2 -1
  297. package/dist/lib/fleet/remote-login.d.ts +18 -36
  298. package/dist/lib/fleet/remote-login.js +20 -19
  299. package/dist/lib/fleet/types.d.ts +0 -8
  300. package/dist/lib/fleet-cache.d.ts +1 -18
  301. package/dist/lib/fleet-cache.js +0 -5
  302. package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
  303. package/dist/lib/fleet-shared-repo-sync.js +1 -1
  304. package/dist/lib/fleet-shared-state.d.ts +3 -2
  305. package/dist/lib/format.d.ts +2 -1
  306. package/dist/lib/friction-heuristics.d.ts +2 -1
  307. package/dist/lib/fs-walk.d.ts +2 -1
  308. package/dist/lib/fuzzy.d.ts +2 -1
  309. package/dist/lib/gemini-settings.d.ts +0 -1
  310. package/dist/lib/gemini-settings.js +1 -1
  311. package/dist/lib/git.d.ts +7 -65
  312. package/dist/lib/git.js +3 -142
  313. package/dist/lib/github/gh-overload.d.ts +0 -4
  314. package/dist/lib/github/gh-overload.js +2 -2
  315. package/dist/lib/github/project-prs.d.ts +118 -0
  316. package/dist/lib/github/project-prs.js +173 -0
  317. package/dist/lib/github/rest.d.ts +2 -1
  318. package/dist/lib/harness/exec-config-version.d.ts +2 -1
  319. package/dist/lib/harness-auth-capabilities.d.ts +5 -4
  320. package/dist/lib/harness-connection-test.d.ts +2 -1
  321. package/dist/lib/heal.d.ts +3 -20
  322. package/dist/lib/heal.js +2 -39
  323. package/dist/lib/help.d.ts +3 -2
  324. package/dist/lib/helper-download.d.ts +0 -12
  325. package/dist/lib/helper-download.js +2 -2
  326. package/dist/lib/helper-versions.d.ts +2 -1
  327. package/dist/lib/helper-versions.js +1 -1
  328. package/dist/lib/hooks/install.d.ts +8 -49
  329. package/dist/lib/hooks/install.js +2 -96
  330. package/dist/lib/hooks/match.d.ts +2 -1
  331. package/dist/lib/hosts/credential-transport.d.ts +0 -2
  332. package/dist/lib/hosts/credential-transport.js +1 -1
  333. package/dist/lib/hosts/dispatch.d.ts +2 -24
  334. package/dist/lib/hosts/dispatch.js +2 -2
  335. package/dist/lib/hosts/logs.d.ts +2 -1
  336. package/dist/lib/hosts/passthrough.d.ts +1 -1
  337. package/dist/lib/hosts/passthrough.js +0 -1
  338. package/dist/lib/hosts/progress.d.ts +0 -5
  339. package/dist/lib/hosts/progress.js +1 -1
  340. package/dist/lib/hosts/ready.d.ts +3 -4
  341. package/dist/lib/hosts/ready.js +0 -8
  342. package/dist/lib/hosts/reconcile.d.ts +2 -8
  343. package/dist/lib/hosts/reconcile.js +1 -1
  344. package/dist/lib/hosts/reconnect.d.ts +4 -11
  345. package/dist/lib/hosts/reconnect.js +2 -2
  346. package/dist/lib/hosts/registry.d.ts +1 -1
  347. package/dist/lib/hosts/remote-cmd.d.ts +4 -3
  348. package/dist/lib/hosts/session-index.d.ts +3 -2
  349. package/dist/lib/hosts/ssh-config.d.ts +2 -3
  350. package/dist/lib/hosts/ssh-config.js +0 -10
  351. package/dist/lib/humans.d.ts +0 -2
  352. package/dist/lib/humans.js +2 -2
  353. package/dist/lib/import.d.ts +4 -3
  354. package/dist/lib/installations/installation-lock.d.ts +0 -2
  355. package/dist/lib/installations/installation-lock.js +2 -2
  356. package/dist/lib/installations/launch-gate.d.ts +0 -9
  357. package/dist/lib/installations/launch-gate.js +1 -1
  358. package/dist/lib/installations/migrate.d.ts +0 -11
  359. package/dist/lib/installations/migrate.js +1 -1
  360. package/dist/lib/installations/shims.d.ts +1 -1
  361. package/dist/lib/installations/shims.js +2 -2
  362. package/dist/lib/installations/update-runtime.js +1 -1
  363. package/dist/lib/linear-cache.d.ts +2 -1
  364. package/dist/lib/linux-userns.d.ts +2 -3
  365. package/dist/lib/linux-userns.js +0 -4
  366. package/dist/lib/loop.d.ts +2 -1
  367. package/dist/lib/mailbox-gc.d.ts +2 -1
  368. package/dist/lib/mailbox-target.d.ts +2 -1
  369. package/dist/lib/mailbox.d.ts +0 -6
  370. package/dist/lib/mailbox.js +1 -1
  371. package/dist/lib/manifest.d.ts +0 -14
  372. package/dist/lib/manifest.js +2 -2
  373. package/dist/lib/mcp-registry.d.ts +2 -1
  374. package/dist/lib/memory.d.ts +2 -13
  375. package/dist/lib/memory.js +4 -4
  376. package/dist/lib/menubar/download-menubar.d.ts +0 -2
  377. package/dist/lib/menubar/download-menubar.js +1 -5
  378. package/dist/lib/menubar/install-menubar.d.ts +3 -14
  379. package/dist/lib/menubar/install-menubar.js +3 -3
  380. package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
  381. package/dist/lib/menubar/migrate-prefs.js +168 -0
  382. package/dist/lib/menubar/resolve-version.d.ts +1 -9
  383. package/dist/lib/menubar/resolve-version.js +4 -4
  384. package/dist/lib/menubar/snapshot.d.ts +24 -2
  385. package/dist/lib/menubar/snapshot.js +26 -0
  386. package/dist/lib/model-tier-overrides.d.ts +3 -2
  387. package/dist/lib/monitors/config.d.ts +0 -2
  388. package/dist/lib/monitors/config.js +0 -4
  389. package/dist/lib/monitors/engine.d.ts +1 -1
  390. package/dist/lib/monitors/remote.d.ts +3 -2
  391. package/dist/lib/monitors/sources/webhook.d.ts +2 -15
  392. package/dist/lib/monitors/sources/webhook.js +1 -38
  393. package/dist/lib/monitors/state.d.ts +4 -7
  394. package/dist/lib/monitors/state.js +2 -2
  395. package/dist/lib/notify.d.ts +1 -1
  396. package/dist/lib/notify.js +1 -1
  397. package/dist/lib/onepassword.d.ts +5 -14
  398. package/dist/lib/onepassword.js +0 -64
  399. package/dist/lib/open-url.d.ts +3 -2
  400. package/dist/lib/openclaw-keychain.d.ts +4 -17
  401. package/dist/lib/openclaw-keychain.js +3 -33
  402. package/dist/lib/operator.d.ts +2 -2
  403. package/dist/lib/operator.js +1 -1
  404. package/dist/lib/output/git-output.d.ts +4 -14
  405. package/dist/lib/output/git-output.js +1 -1
  406. package/dist/lib/owner-message.d.ts +3 -29
  407. package/dist/lib/owner-message.js +3 -3
  408. package/dist/lib/packages/output-home.d.ts +2 -4
  409. package/dist/lib/packages/output-home.js +2 -2
  410. package/dist/lib/perf/db.d.ts +0 -2
  411. package/dist/lib/perf/db.js +2 -7
  412. package/dist/lib/permissions-registry.d.ts +2 -3
  413. package/dist/lib/permissions-registry.js +0 -4
  414. package/dist/lib/permissions.d.ts +6 -16
  415. package/dist/lib/permissions.js +2 -15
  416. package/dist/lib/picker.d.ts +6 -5
  417. package/dist/lib/placement.d.ts +3 -6
  418. package/dist/lib/placement.js +0 -17
  419. package/dist/lib/platform/posixpath.d.ts +2 -1
  420. package/dist/lib/platform/winpath.d.ts +2 -1
  421. package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
  422. package/dist/lib/plugins/plugin-marketplace.js +1 -1
  423. package/dist/lib/pr-land-detach.d.ts +2 -1
  424. package/dist/lib/profiles-presets.d.ts +2 -1
  425. package/dist/lib/profiles.d.ts +3 -9
  426. package/dist/lib/profiles.js +1 -9
  427. package/dist/lib/project-doctor.d.ts +2 -1
  428. package/dist/lib/project-launch.d.ts +2 -2
  429. package/dist/lib/project-probe.d.ts +4 -3
  430. package/dist/lib/project-pull.d.ts +2 -1
  431. package/dist/lib/project-resources.d.ts +2 -2
  432. package/dist/lib/project-resources.js +1 -1
  433. package/dist/lib/project-root.d.ts +2 -6
  434. package/dist/lib/project-root.js +1 -1
  435. package/dist/lib/project-schedule.d.ts +2 -1
  436. package/dist/lib/project-status.d.ts +2 -16
  437. package/dist/lib/project-status.js +3 -3
  438. package/dist/lib/reconcile-and-repair.d.ts +5 -4
  439. package/dist/lib/redact.d.ts +7 -1
  440. package/dist/lib/redact.js +94 -3
  441. package/dist/lib/refresh-coordinator.d.ts +2 -1
  442. package/dist/lib/refresh.d.ts +3 -2
  443. package/dist/lib/remote-agents-json.d.ts +3 -2
  444. package/dist/lib/reserved-stores.d.ts +0 -2
  445. package/dist/lib/reserved-stores.js +3 -5
  446. package/dist/lib/resource-content-diff.d.ts +0 -2
  447. package/dist/lib/resource-content-diff.js +1 -1
  448. package/dist/lib/resource-patterns.d.ts +2 -1
  449. package/dist/lib/resource-profiles.d.ts +2 -8
  450. package/dist/lib/resource-profiles.js +3 -27
  451. package/dist/lib/resources/workflows.d.ts +1 -1
  452. package/dist/lib/resources.d.ts +4 -9
  453. package/dist/lib/resources.js +1 -1
  454. package/dist/lib/routine-context.d.ts +2 -5
  455. package/dist/lib/routine-context.js +2 -2
  456. package/dist/lib/routine-notify-owner.d.ts +8 -7
  457. package/dist/lib/routine-notify-owner.js +5 -5
  458. package/dist/lib/routine-process-cleanup.d.ts +2 -1
  459. package/dist/lib/routine-readiness.d.ts +0 -2
  460. package/dist/lib/routine-readiness.js +0 -7
  461. package/dist/lib/routines-project.d.ts +3 -4
  462. package/dist/lib/routines-project.js +1 -1
  463. package/dist/lib/rules/compile.d.ts +3 -25
  464. package/dist/lib/rules/compile.js +1 -1
  465. package/dist/lib/rules/compose.d.ts +3 -9
  466. package/dist/lib/rules/rules.d.ts +4 -15
  467. package/dist/lib/rules/rules.js +1 -64
  468. package/dist/lib/run-defaults.d.ts +1 -1
  469. package/dist/lib/run-notify.d.ts +2 -1
  470. package/dist/lib/run-trace-sync.d.ts +1 -1
  471. package/dist/lib/run-trace-sync.js +1 -1
  472. package/dist/lib/scheduler.d.ts +2 -1
  473. package/dist/lib/scheduling/routines.d.ts +9 -21
  474. package/dist/lib/scheduling/routines.js +3 -46
  475. package/dist/lib/secrets-client.d.ts +0 -17
  476. package/dist/lib/secrets-client.js +4 -26
  477. package/dist/lib/secrets-policy.d.ts +12 -17
  478. package/dist/lib/secrets-policy.js +5 -5
  479. package/dist/lib/secrets-types.d.ts +3 -2
  480. package/dist/lib/secrets-types.js +2 -1
  481. package/dist/lib/self-heal/checks/install-staging.js +1 -1
  482. package/dist/lib/self-heal/registry.d.ts +3 -2
  483. package/dist/lib/self-heal/types.d.ts +1 -1
  484. package/dist/lib/self-heal/types.js +1 -1
  485. package/dist/lib/self-update.d.ts +5 -5
  486. package/dist/lib/self-update.js +4 -4
  487. package/dist/lib/session/actor-sidecar.d.ts +3 -2
  488. package/dist/lib/session/artifacts.d.ts +0 -2
  489. package/dist/lib/session/artifacts.js +1 -1
  490. package/dist/lib/session/bash-command.d.ts +2 -7
  491. package/dist/lib/session/bundle.d.ts +4 -6
  492. package/dist/lib/session/bundle.js +1 -5
  493. package/dist/lib/session/cloud.d.ts +0 -4
  494. package/dist/lib/session/cloud.js +2 -15
  495. package/dist/lib/session/detached.d.ts +2 -1
  496. package/dist/lib/session/detached.js +2 -2
  497. package/dist/lib/session/digest.d.ts +2 -2
  498. package/dist/lib/session/digest.js +1 -1
  499. package/dist/lib/session/fork.d.ts +3 -2
  500. package/dist/lib/session/highlights.d.ts +6 -5
  501. package/dist/lib/session/hook-sessions.d.ts +2 -1
  502. package/dist/lib/session/host-link.d.ts +2 -1
  503. package/dist/lib/session/inject.d.ts +1 -1
  504. package/dist/lib/session/inject.js +1 -1
  505. package/dist/lib/session/insights.d.ts +3 -15
  506. package/dist/lib/session/insights.js +2 -2
  507. package/dist/lib/session/local-tmux-attach.d.ts +2 -18
  508. package/dist/lib/session/local-tmux-attach.js +1 -1
  509. package/dist/lib/session/migrations.d.ts +0 -1
  510. package/dist/lib/session/migrations.js +1 -1
  511. package/dist/lib/session/mirror.d.ts +5 -8
  512. package/dist/lib/session/mirror.js +2 -2
  513. package/dist/lib/session/parse.d.ts +1 -32
  514. package/dist/lib/session/parse.js +4 -4
  515. package/dist/lib/session/presence.d.ts +2 -1
  516. package/dist/lib/session/prompt.d.ts +3 -2
  517. package/dist/lib/session/prompt.js +38 -1
  518. package/dist/lib/session/recovery.d.ts +3 -2
  519. package/dist/lib/session/remote/peer-stream.d.ts +2 -5
  520. package/dist/lib/session/remote/peer-stream.js +2 -2
  521. package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
  522. package/dist/lib/session/remote/remote-list.d.ts +5 -5
  523. package/dist/lib/session/remote/remote.d.ts +4 -3
  524. package/dist/lib/session/remote/watch.d.ts +2 -7
  525. package/dist/lib/session/remote/watch.js +3 -3
  526. package/dist/lib/session/remote-active.d.ts +2 -1
  527. package/dist/lib/session/render.d.ts +2 -2
  528. package/dist/lib/session/render.js +1 -1
  529. package/dist/lib/session/resume-owner.d.ts +1 -1
  530. package/dist/lib/session/resume-owner.js +1 -1
  531. package/dist/lib/session/run-names.d.ts +2 -1
  532. package/dist/lib/session/session-cache.d.ts +7 -26
  533. package/dist/lib/session/session-cache.js +2 -8
  534. package/dist/lib/session/share-html.d.ts +1 -21
  535. package/dist/lib/session/share-html.js +1 -1
  536. package/dist/lib/session/shell-programs.d.ts +2 -1
  537. package/dist/lib/session/state.d.ts +41 -8
  538. package/dist/lib/session/state.js +112 -11
  539. package/dist/lib/session/stream-render.d.ts +2 -1
  540. package/dist/lib/session/sync/agents.d.ts +0 -4
  541. package/dist/lib/session/sync/agents.js +0 -0
  542. package/dist/lib/session/sync/backend.d.ts +5 -5
  543. package/dist/lib/session/sync/managed-config.d.ts +0 -8
  544. package/dist/lib/session/sync/managed-key.d.ts +0 -2
  545. package/dist/lib/session/sync/managed-key.js +1 -1
  546. package/dist/lib/session/sync/r2.d.ts +4 -1
  547. package/dist/lib/session/sync/r2.js +4 -7
  548. package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
  549. package/dist/lib/session/tail.d.ts +2 -1
  550. package/dist/lib/session/team-filter.d.ts +1 -1
  551. package/dist/lib/session/throughput.d.ts +2 -3
  552. package/dist/lib/session/throughput.js +1 -1
  553. package/dist/lib/session/timeline-pass.d.ts +3 -42
  554. package/dist/lib/session/timeline-pass.js +4 -4
  555. package/dist/lib/session/timeline.d.ts +3 -13
  556. package/dist/lib/session/timeline.js +3 -3
  557. package/dist/lib/session/tool-calls.d.ts +2 -2
  558. package/dist/lib/session/tool-calls.js +1 -1
  559. package/dist/lib/session/tool-index.d.ts +0 -8
  560. package/dist/lib/session/tool-index.js +2 -2
  561. package/dist/lib/session/tool-store.d.ts +2 -1
  562. package/dist/lib/session/trajectory-compare.d.ts +2 -1
  563. package/dist/lib/session/trajectory-lineage.d.ts +2 -1
  564. package/dist/lib/session/trajectory-text.d.ts +3 -2
  565. package/dist/lib/session/trajectory.d.ts +2 -1
  566. package/dist/lib/session/viewing-in.d.ts +2 -1
  567. package/dist/lib/settings-manifest.d.ts +2 -1
  568. package/dist/lib/share/delete.d.ts +5 -4
  569. package/dist/lib/share/html.d.ts +0 -2
  570. package/dist/lib/share/html.js +9 -9
  571. package/dist/lib/share/http-error.d.ts +3 -2
  572. package/dist/lib/share/og.d.ts +2 -1
  573. package/dist/lib/share/provision.d.ts +2 -2
  574. package/dist/lib/share/publish.d.ts +4 -13
  575. package/dist/lib/share/publish.js +2 -2
  576. package/dist/lib/shim-heal.d.ts +1 -5
  577. package/dist/lib/shim-heal.js +0 -6
  578. package/dist/lib/smart-launch.d.ts +4 -5
  579. package/dist/lib/smart-launch.js +1 -1
  580. package/dist/lib/snapshot.d.ts +3 -2
  581. package/dist/lib/ssh-exec.d.ts +5 -4
  582. package/dist/lib/ssh-tunnel.d.ts +3 -2
  583. package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
  584. package/dist/lib/staleness/checkers/permissions.js +1 -1
  585. package/dist/lib/staleness/fingerprint.d.ts +0 -7
  586. package/dist/lib/staleness/fingerprint.js +1 -1
  587. package/dist/lib/staleness/prune.d.ts +3 -2
  588. package/dist/lib/staleness/registry.d.ts +1 -1
  589. package/dist/lib/staleness/writers/sources.d.ts +0 -8
  590. package/dist/lib/staleness/writers/sources.js +1 -1
  591. package/dist/lib/startup/command-registry.js +1 -1
  592. package/dist/lib/state.d.ts +1 -3
  593. package/dist/lib/state.js +1 -4
  594. package/dist/lib/subagents-registry.d.ts +4 -3
  595. package/dist/lib/subagents.d.ts +2 -1
  596. package/dist/lib/subagents.js +3 -2
  597. package/dist/lib/summarizer/pass.d.ts +3 -6
  598. package/dist/lib/summarizer/pass.js +2 -2
  599. package/dist/lib/summarizer/summarize.d.ts +4 -3
  600. package/dist/lib/sync-passphrase.d.ts +3 -2
  601. package/dist/lib/sync-status.d.ts +3 -16
  602. package/dist/lib/sync-status.js +2 -2
  603. package/dist/lib/sync-umbrella.d.ts +4 -3
  604. package/dist/lib/system-run-sync.d.ts +2 -1
  605. package/dist/lib/teams/agents.d.ts +2 -4
  606. package/dist/lib/teams/agents.js +1 -1
  607. package/dist/lib/teams/forEach.d.ts +3 -2
  608. package/dist/lib/teams/pr-watch.d.ts +4 -11
  609. package/dist/lib/teams/pr-watch.js +4 -4
  610. package/dist/lib/teams/registry.d.ts +2 -3
  611. package/dist/lib/teams/registry.js +1 -1
  612. package/dist/lib/teams/remoteWorktree.d.ts +0 -16
  613. package/dist/lib/teams/remoteWorktree.js +3 -3
  614. package/dist/lib/teams/scheduler.d.ts +6 -5
  615. package/dist/lib/teams/scheduler.js +1 -1
  616. package/dist/lib/teams/supervisor.d.ts +4 -3
  617. package/dist/lib/teams/worktree.d.ts +0 -9
  618. package/dist/lib/teams/worktree.js +0 -32
  619. package/dist/lib/term-client.d.ts +44 -0
  620. package/dist/lib/term-client.js +117 -0
  621. package/dist/lib/terminal/inject.d.ts +3 -16
  622. package/dist/lib/terminal/inject.js +1 -29
  623. package/dist/lib/terminal/resolve.d.ts +3 -9
  624. package/dist/lib/terminal/resolve.js +3 -7
  625. package/dist/lib/tmux/binary.d.ts +2 -1
  626. package/dist/lib/tmux/orphan-reap.d.ts +6 -7
  627. package/dist/lib/tmux/orphan-reap.js +1 -1
  628. package/dist/lib/tmux/session.d.ts +4 -3
  629. package/dist/lib/traces/classify.d.ts +3 -2
  630. package/dist/lib/traces/config.d.ts +0 -8
  631. package/dist/lib/traces/insights.d.ts +2 -1
  632. package/dist/lib/traces/phenotype.d.ts +3 -3
  633. package/dist/lib/traces/provision.d.ts +1 -3
  634. package/dist/lib/traces/provision.js +1 -1
  635. package/dist/lib/traces/schema2-build.d.ts +1 -1
  636. package/dist/lib/traces/schema2-danger.d.ts +2 -1
  637. package/dist/lib/traces/schema2.d.ts +5 -4
  638. package/dist/lib/traces/segments.d.ts +4 -20
  639. package/dist/lib/traces/segments.js +3 -3
  640. package/dist/lib/traces/sync.d.ts +2 -3
  641. package/dist/lib/traces/sync.js +1 -1
  642. package/dist/lib/triggers/handlers.d.ts +4 -13
  643. package/dist/lib/triggers/handlers.js +1 -1
  644. package/dist/lib/triggers/webhook.d.ts +5 -27
  645. package/dist/lib/triggers/webhook.js +4 -4
  646. package/dist/lib/types.d.ts +3 -3
  647. package/dist/lib/usage-refresh.d.ts +4 -10
  648. package/dist/lib/usage-refresh.js +3 -8
  649. package/dist/lib/verbs.d.ts +2 -1
  650. package/dist/lib/version-duplicates.d.ts +2 -3
  651. package/dist/lib/version-duplicates.js +3 -33
  652. package/dist/lib/version.d.ts +2 -1
  653. package/dist/lib/warn-unpushed.d.ts +2 -1
  654. package/dist/lib/watchdog/history.d.ts +3 -2
  655. package/dist/lib/watchdog/log.d.ts +0 -6
  656. package/dist/lib/watchdog/log.js +1 -1
  657. package/dist/lib/watchdog/rotate.d.ts +2 -26
  658. package/dist/lib/watchdog/rotate.js +4 -12
  659. package/dist/lib/watchdog/runner.d.ts +0 -7
  660. package/dist/lib/watchdog/runner.js +4 -4
  661. package/dist/lib/watchdog/service.d.ts +2 -2
  662. package/dist/lib/watchdog/service.js +1 -1
  663. package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
  664. package/dist/lib/watchdog/watchdog.d.ts +2 -1
  665. package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
  666. package/dist/lib/workflows-registry.d.ts +3 -2
  667. package/dist/lib/workflows.d.ts +4 -7
  668. package/dist/lib/workflows.js +1 -1
  669. package/dist/lib/worktree/held.d.ts +4 -28
  670. package/dist/lib/worktree/held.js +3 -3
  671. package/package.json +2 -3
  672. package/scripts/postinstall.js +5 -4
  673. package/dist/commands/pty.d.ts +0 -20
  674. package/dist/commands/pty.js +0 -404
  675. package/dist/lib/config-machine-keys.d.ts +0 -14
  676. package/dist/lib/config-machine-keys.js +0 -21
  677. package/dist/lib/pty-client.d.ts +0 -49
  678. package/dist/lib/pty-client.js +0 -315
  679. package/dist/lib/pty-server.d.ts +0 -59
  680. package/dist/lib/pty-server.js +0 -653
@@ -8,7 +8,6 @@
8
8
  import type { Command } from 'commander';
9
9
  export { buildRoutineListJson } from '../lib/scheduling/routines.js';
10
10
  import type { JobConfig, RunMeta } from '../lib/scheduling/routines.js';
11
- import type { DeviceRegistry } from '../lib/devices/registry.js';
12
11
  /**
13
12
  * Human-friendly wall-clock a run took (e.g. " · 3 min", " · 45 sec"), or ""
14
13
  * when it hasn't completed or timestamps are unparseable. Leading separator lets
@@ -27,7 +26,7 @@ export declare function formatRunDuration(startedAt: string, completedAt: string
27
26
  * history stays readable via `agents routines runs <name>`, and the owning
28
27
  * device's status via `agents routines list --device <name>`.
29
28
  */
30
- export interface RoutineListGroup {
29
+ interface RoutineListGroup {
31
30
  key: string;
32
31
  title: string;
33
32
  jobs: JobConfig[];
@@ -38,7 +37,6 @@ export interface RoutineListGroup {
38
37
  */
39
38
  local: boolean;
40
39
  }
41
- export declare function groupRoutineJobsByDevice(jobs: JobConfig[], registry: DeviceRegistry, self?: string): RoutineListGroup[];
42
40
  /**
43
41
  * Group routines by their `projects` metadata field.
44
42
  * Named projects come first (alphabetically), followed by All projects, Cross-project,
@@ -116,7 +116,7 @@ function deviceLabel(job, width) {
116
116
  : raw;
117
117
  return { raw, display, dim: full.length === 0 || !jobRunsOnThisDevice(job) };
118
118
  }
119
- export function groupRoutineJobsByDevice(jobs, registry, self = machineId()) {
119
+ function groupRoutineJobsByDevice(jobs, registry, self = machineId()) {
120
120
  const groups = new Map();
121
121
  const add = (key, title, job) => {
122
122
  const existing = groups.get(key);
@@ -1,6 +1,6 @@
1
1
  import type { AgentId } from '../lib/types.js';
2
2
  import { type RotateCandidate } from '../lib/accounting/rotate.js';
3
- export interface RunAccountChoice {
3
+ interface RunAccountChoice {
4
4
  name: string;
5
5
  value: string;
6
6
  disabled?: string;
@@ -93,3 +93,4 @@ export declare function noVerifiedUsageDecision(input: {
93
93
  export declare function pickSignInLaunchVersion(agent: AgentId, recoverable: RotateCandidate[], quiet?: boolean): Promise<string | null>;
94
94
  /** Prompt for one safe installed account/version. A cancelled picker launches nothing. */
95
95
  export declare function pickRunAccountCandidate(agent: AgentId): Promise<RotateCandidate | null>;
96
+ export {};
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Task definitions live under cli/bench/tasks/<id>/task.json.
6
6
  */
7
- export interface BroadcastOpts {
7
+ interface BroadcastOpts {
8
8
  listTasks?: boolean;
9
9
  results?: string | true;
10
10
  task?: string;
@@ -19,3 +19,4 @@ export interface BroadcastOpts {
19
19
  }
20
20
  /** Handle --broadcast / --list-tasks / --results on `agents run`. Always completes the path. */
21
21
  export declare function handleBroadcast(opts: BroadcastOpts): Promise<void>;
22
+ export {};
@@ -15,7 +15,7 @@ export interface RunDeviceRow {
15
15
  lastSeenAt?: string;
16
16
  hasAccount?: boolean;
17
17
  }
18
- export interface RunDeviceChoice {
18
+ interface RunDeviceChoice {
19
19
  name: string;
20
20
  value: string;
21
21
  disabled?: boolean | string;
@@ -56,3 +56,4 @@ export declare function pickRunDevice(opts: {
56
56
  agent: AgentId;
57
57
  accountLabel?: string;
58
58
  }): Promise<string | null>;
59
+ export {};
@@ -15,6 +15,20 @@
15
15
  * retired in-repo engine (`commands/secrets.ts` and its siblings), which stays
16
16
  * in the tree, unregistered, until every consumer has moved off it (tasks.md
17
17
  * item 7).
18
+ *
19
+ * `secrets` is listed in {@link import('../lib/hosts/passthrough.js').OWN_HOST_COMMANDS}
20
+ * so `--device` never routes through the generic SSH passthrough — the engine
21
+ * has no fleet registry of its own (PHNX-4090), so a `--device <name>` here is
22
+ * rewritten to `--host ssh://user@host` before exec, exactly like
23
+ * `agents computer`'s equivalent rewrite. An explicit `--host` on the command
24
+ * line is left untouched.
18
25
  */
19
26
  import type { Command } from 'commander';
27
+ /**
28
+ * Rewrite a `--device <name>` (or `-D`) on the forwarded argv to
29
+ * `--host ssh://user@host`, the address grammar `secrets` speaks (PHNX-4090).
30
+ * A `--host` the caller already typed wins — `--device` is left in place so
31
+ * the standalone binary reports the same "both given" ambiguity it always has.
32
+ */
33
+ export declare function rewriteDeviceToHost(argv: string[]): Promise<string[]>;
20
34
  export declare function registerSecretsCommands(program: Command): void;
@@ -1,7 +1,26 @@
1
1
  import chalk from 'chalk';
2
2
  import { spawnSync } from 'node:child_process';
3
3
  import { buildServeEnv, invocation, resolveSecretsBin, SecretsClientError } from '../lib/secrets-client.js';
4
+ import { flagValue } from '../lib/hosts/routing-flag.js';
5
+ import { stripRoutingFlags } from '../lib/hosts/remote-cmd.js';
6
+ import { resolveRemoteDevice } from '../lib/ssh-tunnel.js';
4
7
  const INSTALL_HINT = 'npm i -g @phnx-labs/secrets-cli';
8
+ /**
9
+ * Rewrite a `--device <name>` (or `-D`) on the forwarded argv to
10
+ * `--host ssh://user@host`, the address grammar `secrets` speaks (PHNX-4090).
11
+ * A `--host` the caller already typed wins — `--device` is left in place so
12
+ * the standalone binary reports the same "both given" ambiguity it always has.
13
+ */
14
+ export async function rewriteDeviceToHost(argv) {
15
+ if (flagValue(argv, 'host', 'H') !== undefined)
16
+ return argv;
17
+ const device = flagValue(argv, 'device', 'D');
18
+ if (device === undefined)
19
+ return argv;
20
+ const resolved = await resolveRemoteDevice(device, {});
21
+ const stripped = stripRoutingFlags(argv, [{ long: 'device', short: 'D', takesValue: true }]);
22
+ return [...stripped, '--host', `ssh://${resolved.target}`];
23
+ }
5
24
  export function registerSecretsCommands(program) {
6
25
  program
7
26
  .command('secrets')
@@ -11,7 +30,7 @@ export function registerSecretsCommands(program) {
11
30
  // Hand `-h`/`--help` through too — the real subcommand help lives in the
12
31
  // installed `secrets` binary, not in this passthrough.
13
32
  .helpOption(false)
14
- .action(() => {
33
+ .action(async () => {
15
34
  let bin;
16
35
  try {
17
36
  bin = resolveSecretsBin();
@@ -28,7 +47,7 @@ export function registerSecretsCommands(program) {
28
47
  // Everything after the literal `secrets` token on the real argv — the
29
48
  // subcommand + its own flags, verbatim, never re-parsed by commander.
30
49
  const secretsIndex = process.argv.indexOf('secrets');
31
- const forwarded = secretsIndex >= 0 ? process.argv.slice(secretsIndex + 1) : [];
50
+ const forwarded = await rewriteDeviceToHost(secretsIndex >= 0 ? process.argv.slice(secretsIndex + 1) : []);
32
51
  const { command, prefix } = invocation(bin);
33
52
  const res = spawnSync(command, [...prefix, ...forwarded], {
34
53
  stdio: 'inherit',
@@ -1,13 +1,13 @@
1
1
  import type { Command } from 'commander';
2
2
  import { type ToolIndexCoverage } from '../lib/session/tool-index.js';
3
3
  import { type SessionTitleRunner } from '../lib/session/title.js';
4
- export interface ToolBackfillMachineResult {
4
+ interface ToolBackfillMachineResult {
5
5
  machine: string;
6
6
  indexedFiles: number;
7
7
  indexedCalls: number;
8
8
  coverage: ToolIndexCoverage;
9
9
  }
10
- export interface ToolBackfillEnvelope {
10
+ interface ToolBackfillEnvelope {
11
11
  schemaVersion: 1;
12
12
  kind: 'tools-backfill';
13
13
  generatedAt: string;
@@ -29,39 +29,6 @@ interface ToolBackfillOptions {
29
29
  }
30
30
  export declare function backfillToolsLocal(options: ToolBackfillOptions, oneBatch?: boolean): Promise<ToolBackfillMachineResult>;
31
31
  export declare function runToolsBackfill(options: ToolBackfillOptions): Promise<ToolBackfillEnvelope>;
32
- interface ResourceBackfillOptions {
33
- agent?: string;
34
- project?: string;
35
- since?: string;
36
- until?: string;
37
- teams?: boolean;
38
- json?: boolean;
39
- }
40
- export interface ResourceBackfillEnvelope {
41
- schemaVersion: 1;
42
- kind: 'resources-backfill';
43
- generatedAt: string;
44
- machine: string;
45
- /** Sessions considered (matched the filter, had a real transcript). */
46
- scanned: number;
47
- /** Sessions (re)parsed and written this run. */
48
- updated: number;
49
- /** Sessions already current at this extractor version, skipped. */
50
- skipped: number;
51
- /** Sessions whose transcript could not be stat'd or parsed. */
52
- failed: number;
53
- /** Total session_resource_usage rows written across updated sessions. */
54
- resourceRows: number;
55
- }
56
- /**
57
- * Populate session_resource_usage for historical sessions on THIS machine.
58
- * Local-only by design: the resource signal is derived from each machine's own
59
- * transcripts, and the index is machine-local, so there is no cross-machine
60
- * merge to do — run it on each box (or over `agents ssh`). Ensures the session
61
- * index is complete first (discoverSessions), then re-derives usage gated by the
62
- * resource_scan_ledger so reruns skip completed transcripts.
63
- */
64
- export declare function runResourceBackfill(options: ResourceBackfillOptions): Promise<ResourceBackfillEnvelope>;
65
32
  interface TitleBackfillOptions {
66
33
  session?: string;
67
34
  limit?: string;
@@ -148,7 +148,7 @@ export async function runToolsBackfill(options) {
148
148
  * index is complete first (discoverSessions), then re-derives usage gated by the
149
149
  * resource_scan_ledger so reruns skip completed transcripts.
150
150
  */
151
- export async function runResourceBackfill(options) {
151
+ async function runResourceBackfill(options) {
152
152
  const { agent, version } = parseAgent(options.agent);
153
153
  // Make sure every matching transcript is indexed before we re-derive usage.
154
154
  await discoverSessions({
@@ -7,14 +7,4 @@
7
7
  * UI. Both write the one store in `lib/session/bookmarks.ts`.
8
8
  */
9
9
  import type { Command } from 'commander';
10
- /**
11
- * Resolve one user-typed id (usually the 8-char short id the listing prints) to
12
- * a full session id. Ambiguity is an ERROR, not a silent first-match: bookmarking
13
- * the wrong session is invisible until the user wonders where their bookmark went.
14
- */
15
- export declare function resolveBookmarkTarget(idQuery: string): {
16
- id: string;
17
- } | {
18
- error: string;
19
- };
20
10
  export declare function registerSessionsBookmarkCommand(sessionsCmd: Command): void;
@@ -16,7 +16,7 @@ import { isBookmarked, listBookmarks, setBookmark } from '../lib/session/bookmar
16
16
  * a full session id. Ambiguity is an ERROR, not a silent first-match: bookmarking
17
17
  * the wrong session is invisible until the user wonders where their bookmark went.
18
18
  */
19
- export function resolveBookmarkTarget(idQuery) {
19
+ function resolveBookmarkTarget(idQuery) {
20
20
  const matches = findSessionsById(idQuery);
21
21
  // A COMPLETE id needs no index entry: the id is the key the store is built on,
22
22
  // and requiring a transcript row would refuse exactly the newest sessions — a
@@ -6,18 +6,17 @@
6
6
  *
7
7
  * Resolution: find the active session by id, then resolve its exact split through
8
8
  * the SAME canonical resolver the watchdog uses — `resolveInjectTargetForSession`
9
- * (lib/terminal/resolve.ts), precedence tmux > iterm > vscodium > pty. Sharing one
9
+ * (lib/terminal/resolve.ts), precedence tmux > iterm > vscodium. Sharing one
10
10
  * resolver keeps the manual unblock path and the watchdog in agreement on which
11
11
  * sessions are addressable (a prior duplicate resolver read only `provenance.reply`
12
12
  * and could not address a VSCodium/Cursor terminal the watchdog handled fine).
13
- * `--pane`/`--pty` target a backend directly when the handle is already known.
13
+ * `--pane` targets a backend directly when the handle is already known.
14
14
  */
15
15
  import type { Command } from 'commander';
16
16
  import { type ActiveSession } from '../lib/session/active.js';
17
17
  interface InjectOptions {
18
18
  pane?: string;
19
19
  socket?: string;
20
- pty?: string;
21
20
  /**
22
21
  * The remote device. A single `--device box` arrives here as `['box']` because
23
22
  * the parent `sessions` command's variadic `-D, --device <target...>` shadows
@@ -6,11 +6,11 @@
6
6
  *
7
7
  * Resolution: find the active session by id, then resolve its exact split through
8
8
  * the SAME canonical resolver the watchdog uses — `resolveInjectTargetForSession`
9
- * (lib/terminal/resolve.ts), precedence tmux > iterm > vscodium > pty. Sharing one
9
+ * (lib/terminal/resolve.ts), precedence tmux > iterm > vscodium. Sharing one
10
10
  * resolver keeps the manual unblock path and the watchdog in agreement on which
11
11
  * sessions are addressable (a prior duplicate resolver read only `provenance.reply`
12
12
  * and could not address a VSCodium/Cursor terminal the watchdog handled fine).
13
- * `--pane`/`--pty` target a backend directly when the handle is already known.
13
+ * `--pane` targets a backend directly when the handle is already known.
14
14
  */
15
15
  import chalk from 'chalk';
16
16
  import { getActiveSessions, shortIdFromName } from '../lib/session/active.js';
@@ -69,8 +69,6 @@ export function buildRemoteInjectArgv(sessionId, text, options) {
69
69
  argv.push('--combined');
70
70
  if (options.socket)
71
71
  argv.push('--socket', options.socket);
72
- if (options.pty)
73
- argv.push('--pty', options.pty);
74
72
  if (options.pane)
75
73
  argv.push('--pane', options.pane);
76
74
  if (options.json)
@@ -148,14 +146,11 @@ async function runInject(sessionId, text, options) {
148
146
  console.error(chalk.red(message));
149
147
  process.exit(1);
150
148
  }
151
- // Direct-target shortcuts skip the session lookup — the watchdog often already
152
- // holds the pane id or pty session it wants to type into. The pane's exact
153
- // address is known, so it composes with --device (tmux send-keys over SSH).
149
+ // Direct-target shortcut skips the session lookup — the watchdog often already
150
+ // holds the pane id it wants to type into. The pane's exact address is known,
151
+ // so it composes with --device (tmux send-keys over SSH).
154
152
  let target = null;
155
- if (options.pty) {
156
- target = { backend: 'pty', id: options.pty };
157
- }
158
- else if (options.pane) {
153
+ if (options.pane) {
159
154
  target = { backend: 'tmux', pane: options.pane, socket: options.socket };
160
155
  }
161
156
  else if (device) {
@@ -200,7 +195,6 @@ export function registerSessionsInjectCommand(sessionsCmd) {
200
195
  .command('inject <sessionId> <text>')
201
196
  .description('Deliver text (+ Enter) into the terminal a running session lives in — nudge a stalled agent.')
202
197
  .option('--pane <id>', 'Target a tmux pane id directly (e.g. %3), skipping session lookup')
203
- .option('--pty <id>', 'Target an agents-pty session id directly, skipping session lookup')
204
198
  .option('--socket <path>', 'tmux socket path (defaults to the session/shared socket)')
205
199
  .option('--device <target>', 'Deliver on a remote device over SSH. With a bare session id, the session is resolved ON that device; with --pane, the pane is addressed there directly.')
206
200
  .option('--no-enter', 'Send only the text, without a trailing Enter')
@@ -214,9 +208,6 @@ export function registerSessionsInjectCommand(sessionsCmd) {
214
208
  # Target a tmux pane directly (what a watchdog already holds)
215
209
  agents sessions inject _ "continue" --pane %3 --socket /tmp/agents/tmux.sock
216
210
 
217
- # Type into an agents-pty session without submitting
218
- agents sessions inject _ "ls" --pty $SID --no-enter
219
-
220
211
  # Nudge a live session on another box (resolved on the device)
221
212
  agents sessions inject 214edaae "continue" --device yosemite-s0
222
213
 
@@ -227,8 +218,8 @@ export function registerSessionsInjectCommand(sessionsCmd) {
227
218
  - Ink-TUI Enter semantics: by default the text and Enter are two separate
228
219
  writes, which is what Claude's Ink TUI needs. --combined fuses them.
229
220
  - A session is addressable by id when it resolves to a precise split —
230
- tmux, iTerm, a VSCodium/Cursor/VS Code integrated terminal, or a pty
231
- (resolveInjectTargetForSession). Use --pane/--pty for direct targeting.
221
+ tmux, iTerm, or a VSCodium/Cursor/VS Code integrated terminal
222
+ (resolveInjectTargetForSession). Use --pane for direct targeting.
232
223
  - The id may be the session id (short or full) OR the '<shortid>' suffix of
233
224
  a tmux target (ag-<agent>-<shortid>) — the only selector a live tmux
234
225
  session whose id column shows '-' exposes.
@@ -1,11 +1,11 @@
1
1
  /** Flag subset both twins share for the interactive-routing gate. */
2
- export interface SessionsPickerGateOpts {
2
+ interface SessionsPickerGateOpts {
3
3
  interactive?: boolean;
4
4
  json?: boolean;
5
5
  /** Present only on the browser twin; computer never sets it. */
6
6
  open?: string | boolean;
7
7
  }
8
- export interface SessionsPickerCommandSpec<TRow, TOpts extends SessionsPickerGateOpts> {
8
+ interface SessionsPickerCommandSpec<TRow, TOpts extends SessionsPickerGateOpts> {
9
9
  /**
10
10
  * Browser requires `opts.open === undefined` so `--open` (bare or with a
11
11
  * selector) falls through to the flat printer. Computer has no `--open`.
@@ -23,19 +23,9 @@ export interface SessionsPickerCommandSpec<TRow, TOpts extends SessionsPickerGat
23
23
  enterHint: string;
24
24
  onOpen: (row: TRow) => void | Promise<void>;
25
25
  }
26
- export interface SessionsPickerCommand<TOpts extends SessionsPickerGateOpts> {
26
+ interface SessionsPickerCommand<TOpts extends SessionsPickerGateOpts> {
27
27
  shouldOpen: (opts: TOpts, isTTY: boolean) => boolean;
28
28
  run: (opts: TOpts) => Promise<void>;
29
29
  }
30
- export declare function shouldOpenInteractiveSessions(opts: SessionsPickerGateOpts, isTTY: boolean, requireOpenUndefined?: boolean): boolean;
31
- export declare function browseSessionsUntilQuit<TRow>(spec: {
32
- message: string;
33
- rows: TRow[];
34
- matches: (row: TRow, query: string) => boolean;
35
- labelFor: (row: TRow) => string;
36
- buildPreview: (row: TRow) => string;
37
- emptyFilterMessage: string;
38
- enterHint: string;
39
- onOpen: (row: TRow) => void | Promise<void>;
40
- }): Promise<void>;
41
30
  export declare function createSessionsPickerCommand<TRow, TOpts extends SessionsPickerGateOpts>(spec: SessionsPickerCommandSpec<TRow, TOpts>): SessionsPickerCommand<TOpts>;
31
+ export {};
@@ -8,13 +8,13 @@
8
8
  */
9
9
  import { itemPicker } from '../lib/picker.js';
10
10
  import { isInteractiveTerminal, isPromptCancelled } from './utils.js';
11
- export function shouldOpenInteractiveSessions(opts, isTTY, requireOpenUndefined = false) {
11
+ function shouldOpenInteractiveSessions(opts, isTTY, requireOpenUndefined = false) {
12
12
  return (opts.interactive !== false &&
13
13
  !opts.json &&
14
14
  (!requireOpenUndefined || opts.open === undefined) &&
15
15
  isTTY);
16
16
  }
17
- export async function browseSessionsUntilQuit(spec) {
17
+ async function browseSessionsUntilQuit(spec) {
18
18
  for (;;) {
19
19
  let picked;
20
20
  try {
@@ -1,6 +1,6 @@
1
1
  import type { SessionEvent, SessionMeta, TodoProgress } from '../lib/session/types.js';
2
2
  import { fetchPeerPreviewDigest } from '../lib/session/remote-list.js';
3
- import { classifyFileChanges, changeCounts, toolHistogram, detectTestResult } from '../lib/session/digest.js';
3
+ import { changeCounts, toolHistogram, detectTestResult } from '../lib/session/digest.js';
4
4
  import type { FileChange } from '../lib/session/digest.js';
5
5
  import { extractArtifacts, extractHooks, extractLinks, extractSkills } from '../lib/session/highlights.js';
6
6
  /** A session whose transcript FILE is on another machine: its `filePath` is on
@@ -33,7 +33,7 @@ export interface PickedSession {
33
33
  session: SessionMeta;
34
34
  action: 'resume' | 'view';
35
35
  }
36
- export interface SessionPickerConfig {
36
+ interface SessionPickerConfig {
37
37
  message: string;
38
38
  /** Dim hint line shown under the header (filters/flags tip). */
39
39
  subtitle?: string;
@@ -156,15 +156,9 @@ export interface SessionPreviewDigest {
156
156
  }
157
157
  /** Fold a harness-normalized event stream into the stable preview data model. */
158
158
  export declare function buildSessionPreviewDigest(events: SessionEvent[], session: SessionMeta): SessionPreviewDigest;
159
- /**
160
- * Unique directories the session touched, compact and human-readable.
161
- * Prefer `session.recentDirectoriesTouched` — the scan records it on the row, so
162
- * it is present for remote rows whose transcript we can't parse here — otherwise
163
- * derive from the file-change + tool paths already available.
164
- */
165
- export declare function directoriesTouched(session: SessionMeta, events: SessionEvent[], changes: ReturnType<typeof classifyFileChanges>): string[];
166
159
  /** Relativize a file path to its parent dir, short enough for one preview line. */
167
160
  export declare function relativizeDir(filePath: string, cwd?: string): string | undefined;
168
161
  export declare function renderLastResponse(content: string, maxLines?: number, width?: number): string[];
169
162
  /** Show an interactive session picker and return the selected session with its action (resume or view). */
170
163
  export declare function sessionPicker(config: SessionPickerConfig): Promise<PickedSession | null>;
164
+ export {};
@@ -417,7 +417,7 @@ export function buildPreview(session) {
417
417
  }
418
418
  // No transcript on disk — either an archived session (file gone, user turns
419
419
  // still in the DB — RUSH-2436), a live session not indexed locally, or a
420
- // synthesized entry (e.g. `sessions go`). Show the header + a clean note.
420
+ // synthesized entry (an attach-only resume). Show the header + a clean note.
421
421
  if (!session.filePath || !fs.existsSync(session.filePath)) {
422
422
  const archivedContent = readSessionContent(session.id);
423
423
  if (archivedContent && archivedContent.trim() !== '') {
@@ -965,7 +965,7 @@ function classifySessionTool(tool, command) {
965
965
  * it is present for remote rows whose transcript we can't parse here — otherwise
966
966
  * derive from the file-change + tool paths already available.
967
967
  */
968
- export function directoriesTouched(session, events, changes) {
968
+ function directoriesTouched(session, events, changes) {
969
969
  const fromMeta = session.recentDirectoriesTouched;
970
970
  if (Array.isArray(fromMeta) && fromMeta.length > 0) {
971
971
  // The scan stores ABSOLUTE paths, so they go through the same relativizer the
@@ -4,7 +4,7 @@ import { type Backend, type SurfaceItem, type EngineContext, type Packing } from
4
4
  import { type StrictResumeOptions } from './resume.js';
5
5
  /** Opening more than this many live sessions at once asks for confirmation first. */
6
6
  export declare const CONFIRM_THRESHOLD = 5;
7
- export interface ResumeOptions extends StrictResumeOptions {
7
+ interface ResumeOptions extends StrictResumeOptions {
8
8
  agent?: string;
9
9
  all?: boolean;
10
10
  teams?: boolean;
@@ -32,9 +32,6 @@ export declare function buildSelectedResumeArgs(id: string, prompt: string | und
32
32
  /** IDs and tmux aliases are actions, not picker search text. Human phrases keep
33
33
  * the existing pre-filtered picker, while an explicit identity resumes directly. */
34
34
  export declare function isDirectResumeSelector(query: string): boolean;
35
- /** Re-enter through sessions resume so fleet routing and harness policy
36
- * stay centralized. The child inherits this terminal for a real interactive resume. */
37
- export declare function resumeSelectorInPlace(selector: string): Promise<void>;
38
35
  /**
39
36
  * Local preflight cannot inspect a peer's files or index. Leave peer validation
40
37
  * to the existing origin-device recovery hop. --here without a remote surface
@@ -64,3 +61,4 @@ export declare function resumeHostMismatch(session: Pick<SessionMeta, 'shortId'
64
61
  * user dismissed the chooser).
65
62
  */
66
63
  export declare function resolveBackend(options: ResumeOptions, ctx: EngineContext, count: number): Promise<Backend | 'inplace' | 'cancel'>;
64
+ export {};
@@ -394,11 +394,6 @@ export function isDirectResumeSelector(query) {
394
394
  const selector = query.trim();
395
395
  return looksLikeSessionId(selector) || isAgentTmuxAlias(selector);
396
396
  }
397
- /** Re-enter through sessions resume so fleet routing and harness policy
398
- * stay centralized. The child inherits this terminal for a real interactive resume. */
399
- export async function resumeSelectorInPlace(selector) {
400
- await spawnCliInPlace(['sessions', 'resume', selector]);
401
- }
402
397
  /**
403
398
  * Local preflight cannot inspect a peer's files or index. Leave peer validation
404
399
  * to the existing origin-device recovery hop. --here without a remote surface
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import type { Command } from 'commander';
19
19
  /** One installed resource, keyed the same way session_resource_usage stores it. */
20
- export interface InstalledResource {
20
+ interface InstalledResource {
21
21
  kind: 'skill' | 'command';
22
22
  name: string;
23
23
  plugin: string | null;
@@ -34,3 +34,4 @@ export declare function diffZeroInvoked(installed: InstalledResource[], invoked:
34
34
  name: string;
35
35
  }>): InstalledResource[];
36
36
  export declare function registerSessionsStatsCommand(sessionsCmd: Command): void;
37
+ export {};
@@ -19,6 +19,3 @@
19
19
  */
20
20
  import type { Command } from 'commander';
21
21
  export declare function registerSessionsStopCommand(program: Command): void;
22
- export declare function stopSessionAction(id: string, opts?: {
23
- local?: boolean;
24
- }): Promise<void>;
@@ -31,7 +31,7 @@ export function registerSessionsStopCommand(program) {
31
31
  `,
32
32
  });
33
33
  }
34
- export async function stopSessionAction(id, opts = {}) {
34
+ async function stopSessionAction(id, opts = {}) {
35
35
  const { self, activeById } = await gatherLiveTargets(!!opts.local, { includeCloud: true, selector: id });
36
36
  const resolved = resolveOne(activeById, id);
37
37
  if ('error' in resolved) {
@@ -2,7 +2,7 @@ import type { Command } from 'commander';
2
2
  import type { SessionMeta, SessionAgentId } from '../lib/session/types.js';
3
3
  /** Whether a session's transcript can be live-tailed (append-only JSONL agents). */
4
4
  export declare function isTailable(agent: SessionAgentId): boolean;
5
- export interface TailFileOptions {
5
+ interface TailFileOptions {
6
6
  /** If true, emit every line from byte 0 first, then follow. Default false (EOF). */
7
7
  fromStart?: boolean;
8
8
  }
@@ -28,3 +28,4 @@ export declare function streamSessionTail(session: SessionMeta, options?: {
28
28
  }): Promise<void>;
29
29
  /** Attach the `tail` subcommand to an existing `sessions` command. */
30
30
  export declare function registerSessionsTailCommand(sessionsCmd: Command): void;
31
+ export {};
@@ -7,7 +7,7 @@ import type { LineageEdge, LineageNode, SessionLineage } from '../lib/session/tr
7
7
  /** Versioned envelope emitted by `--json` — the stable contract for consumers. */
8
8
  export declare const SESSIONS_TRACE_SCHEMA_VERSION = 1;
9
9
  /** The `diff` block of a `layout: 'compare'` envelope — everything but the two full trajectories, which already ride `sessions`. */
10
- export interface SessionsTraceDiffEnvelope {
10
+ interface SessionsTraceDiffEnvelope {
11
11
  divergence?: TrajectoryDivergence;
12
12
  added: TrajectoryStep[];
13
13
  removed: TrajectoryStep[];
@@ -17,7 +17,7 @@ export interface SessionsTraceDiffEnvelope {
17
17
  truncatedB: number;
18
18
  }
19
19
  /** The `lineage` block of a `layout: 'lineage'` envelope — the delegation graph. */
20
- export interface SessionsTraceLineageEnvelope {
20
+ interface SessionsTraceLineageEnvelope {
21
21
  rootId: string;
22
22
  nodes: LineageNode[];
23
23
  edges: LineageEdge[];
@@ -25,7 +25,7 @@ export interface SessionsTraceLineageEnvelope {
25
25
  unresolvedParentIds: string[];
26
26
  }
27
27
  /** The `--json` envelope: the versioned contract for the ext / triaging agents. */
28
- export interface SessionsTraceEnvelope {
28
+ interface SessionsTraceEnvelope {
29
29
  schemaVersion: typeof SESSIONS_TRACE_SCHEMA_VERSION;
30
30
  kind: 'sessions-trace';
31
31
  layout: 'single' | 'compare' | 'lineage';
@@ -60,7 +60,7 @@ interface TraceOptions {
60
60
  compare?: boolean;
61
61
  tree?: boolean;
62
62
  }
63
- export type RenderFormat = 'html' | 'text' | 'json';
63
+ type RenderFormat = 'html' | 'text' | 'json';
64
64
  /**
65
65
  * Pick the rendering by audience: explicit `--html/--text/--json` win; otherwise
66
66
  * a person at a TTY gets the visual HTML and a piped/headless caller (an agent)
@@ -84,8 +84,6 @@ export declare function renderSessionSteps(session: SessionMeta, options?: {
84
84
  redact?: boolean;
85
85
  knownSecrets?: readonly string[];
86
86
  }): string;
87
- /** Attach the trace behaviour to a command node (canonical or top-level alias). */
88
- export declare function configureTraceCommand(cmd: Command): Command;
89
87
  /** Canonical `agents sessions trace <selectors...>`. */
90
88
  export declare function registerSessionsTraceCommand(sessionsCmd: Command): void;
91
89
  /** Top-level alias `agents trace <selectors...>` (mirrors `agents insights`). */
@@ -184,7 +184,7 @@ export function renderSessionSteps(session, options = {}) {
184
184
  return `${lines.join('\n')}\n\n${footer}\n`;
185
185
  }
186
186
  /** Attach the trace behaviour to a command node (canonical or top-level alias). */
187
- export function configureTraceCommand(cmd) {
187
+ function configureTraceCommand(cmd) {
188
188
  cmd
189
189
  .description('Visualize a session as a trajectory — a tool-call timeline you can read at a glance. Opens a visual for a person; prints a compact trajectory for an agent.')
190
190
  .option('--html', 'Force the HTML rendering (opens in a browser)')