@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
@@ -9,76 +9,33 @@
9
9
  *
10
10
  * The launcher forwards a launch id it controls (`--env AGENT_LAUNCH_ID=<id>`);
11
11
  * the remote `agents run` adopts it (exec.ts `resolveLaunchId`), so the remote
12
- * SessionStart hook records the agent's REAL session id under that exact key in
13
- * `~/.agents/.cache/terminals/sessions/<pid>.json`. After the stream returns we
14
- * do ONE ssh read of that dir and pick the record whose `launch_id` matches —
15
- * the same launch-id join `agents sessions --active` uses locally
16
- * (session/hook-sessions.ts), just across the SSH hop.
12
+ * SessionStart hook records the agent's REAL session id. After the stream
13
+ * returns we ask the owning CLI to join that hook with the durable launch
14
+ * registry, using the same index as local focus/session projection. This also
15
+ * supports the deployed legacy hook containing only session_id and pid.
17
16
  *
18
17
  * This gives the interactive path a real per-agent id to register in the local
19
18
  * session index and to reconnect against, for Codex/Kimi/Grok/Gemini — closing
20
19
  * the gap RUSH-2033 left for every non-Claude agent (Claude still forces its own
21
20
  * id up front and never reaches here).
22
21
  */
23
- import { sshExec } from '../ssh-exec.js';
24
- /**
25
- * Pick the real session id for `launchId` from the remote hook records.
26
- *
27
- * `recordsJson` is the newline-delimited JSON the remote read emits — one record
28
- * per line (a `cat` of every `sessions/*.json`). Scan for the record whose
29
- * `launch_id` matches and return its `session_id`; when several match (pid reuse,
30
- * a lingering file) the NEWEST by `ts` wins, mirroring the local reader's
31
- * keep-newest tie-break (session/hook-sessions.ts). Pure so the correlation is
32
- * unit-testable from fixtures with no SSH. Returns undefined when no record
33
- * carries the launch id (the hook hasn't landed yet, or a hookless harness).
34
- */
35
- export function pickRemoteSessionId(recordsJson, launchId) {
36
- if (!launchId)
37
- return undefined;
38
- let best;
39
- for (const line of recordsJson.split('\n')) {
40
- const trimmed = line.trim();
41
- if (!trimmed)
42
- continue;
43
- let rec;
44
- try {
45
- rec = JSON.parse(trimmed);
46
- }
47
- catch {
48
- continue; // a partial/garbled line — skip, never throw
49
- }
50
- if (rec.launch_id !== launchId)
51
- continue;
52
- if (typeof rec.session_id !== 'string' || !rec.session_id)
53
- continue;
54
- const ts = typeof rec.ts === 'number' ? rec.ts : 0;
55
- // Strict `>` so the FIRST record wins a tie — matches keepNewest (hook-sessions.ts).
56
- if (!best || ts > best.ts)
57
- best = { sid: rec.session_id, ts };
58
- }
59
- return best?.sid;
60
- }
61
- /**
62
- * Read the remote hook-session dir over ssh and resolve the real session id the
63
- * remote run recorded under `launchId`. One round-trip, best-effort: any ssh
64
- * failure, a missing dir, or an absent record yields undefined — the caller then
65
- * keeps the un-mapped run rather than a fabricated id.
66
- *
67
- * `$HOME` expands on the REMOTE login shell (never the local box). The glob is a
68
- * literal path with no user input, so it is injection-safe; a `2>/dev/null` on a
69
- * globless dir keeps the command quiet when the dir is empty or absent.
70
- */
22
+ import { sshExec, shellQuote } from '../ssh-exec.js';
23
+ /** Resolve on the execution owner through the canonical read-only CLI projection. */
71
24
  export function resolveRemoteSessionId(target, launchId, timeoutMs = 6000) {
72
25
  if (!launchId)
73
26
  return undefined;
74
- // `cat` every record onto its own line. `head -c` caps a runaway file; the
75
- // trailing `true` keeps the pipeline's exit 0 even when the glob matches nothing.
76
- const cmd = 'cat "$HOME"/.agents/.cache/terminals/sessions/*.json 2>/dev/null | head -c 1048576 || true';
27
+ // Let the owning CLI join its deployed hook and launch registry. A remote
28
+ // caller must not carry a second implementation of session identity rules.
29
+ const cmd = `agents sessions --resolve-launch-id ${shellQuote(launchId)} --json --local`;
77
30
  const res = sshExec(target, cmd, { timeoutMs, multiplex: true });
78
- if (res.code !== 0 && !res.stdout)
31
+ if (res.code !== 0)
79
32
  return undefined;
80
- // Each record is a single-line JSON object; `cat` may run them together, so
81
- // normalise `}{` boundaries onto separate lines before scanning.
82
- const normalised = res.stdout.replace(/\}\s*\{/g, '}\n{');
83
- return pickRemoteSessionId(normalised, launchId);
33
+ try {
34
+ const record = JSON.parse(res.stdout);
35
+ return record.launchId === launchId && typeof record.sessionId === 'string' && record.sessionId
36
+ ? record.sessionId : undefined;
37
+ }
38
+ catch {
39
+ return undefined;
40
+ }
84
41
  }
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import type { SessionMeta } from '../session/types.js';
20
20
  import { type HostTask } from './tasks.js';
21
- export interface HostSessionContext {
21
+ interface HostSessionContext {
22
22
  /** Local directory the `agents run --device` was invoked from. */
23
23
  cwd: string;
24
24
  /** Prompt the run was launched with, used for the session topic. */
@@ -53,7 +53,7 @@ export declare function registerHostSession(task: HostTask, ctx: HostSessionCont
53
53
  * missing/unreadable mirror or absent marker yields null, never an exception.
54
54
  */
55
55
  export declare function captureRemoteSessionId(task: HostTask): HostTask | null;
56
- export interface InteractiveHostSessionContext {
56
+ interface InteractiveHostSessionContext {
57
57
  cwd: string;
58
58
  host: string;
59
59
  agent: string;
@@ -68,3 +68,4 @@ export interface InteractiveHostSessionContext {
68
68
  * surface and resume it by id.
69
69
  */
70
70
  export declare function registerInteractiveHostSession(ctx: InteractiveHostSessionContext): void;
71
+ export {};
@@ -19,11 +19,9 @@ export declare function parseSshConfigHosts(content: string): string[];
19
19
  export declare function parseKnownHosts(content: string): string[];
20
20
  /** `Host` names from ~/.ssh/config, following `Include` globs (best-effort). */
21
21
  export declare function listSshConfigHosts(): string[];
22
- /** Hostnames recorded in ~/.ssh/known_hosts (hashed entries skipped). */
23
- export declare function listKnownHosts(): string[];
24
22
  /** True if `name` is a concrete `Host` stanza in ssh config. */
25
23
  export declare function isSshConfigHost(name: string): boolean;
26
- export interface SshGResult {
24
+ interface SshGResult {
27
25
  hostname?: string;
28
26
  user?: string;
29
27
  port?: string;
@@ -35,3 +33,4 @@ export interface SshGResult {
35
33
  * to decide whether a name is actually configured.
36
34
  */
37
35
  export declare function sshResolve(name: string): SshGResult | undefined;
36
+ export {};
@@ -12,7 +12,6 @@ import { spawnSync } from 'child_process';
12
12
  import { assertValidSshTarget } from '../ssh-exec.js';
13
13
  const SSH_DIR = path.join(os.homedir(), '.ssh');
14
14
  const SSH_CONFIG = path.join(SSH_DIR, 'config');
15
- const KNOWN_HOSTS = path.join(SSH_DIR, 'known_hosts');
16
15
  /**
17
16
  * Parse `Host` stanza names from ssh config text. Wildcard/negated patterns
18
17
  * (`*`, `?`, `!`) are skipped — they're match rules, not concrete hosts.
@@ -110,15 +109,6 @@ function globMaybe(pattern) {
110
109
  return [];
111
110
  }
112
111
  }
113
- /** Hostnames recorded in ~/.ssh/known_hosts (hashed entries skipped). */
114
- export function listKnownHosts() {
115
- try {
116
- return parseKnownHosts(fs.readFileSync(KNOWN_HOSTS, 'utf-8'));
117
- }
118
- catch {
119
- return [];
120
- }
121
- }
122
112
  /** True if `name` is a concrete `Host` stanza in ssh config. */
123
113
  export function isSshConfigHost(name) {
124
114
  return listSshConfigHosts().includes(name);
@@ -1,6 +1,4 @@
1
1
  import type { HumansConfig, HumanOwner } from './types.js';
2
- export declare const HUMANS_VERSION: 1;
3
- export declare const HUMANS_HEADER = "# humans.yaml \u2014 owner identity and notification channels\n# Managed by agents-cli. See: agents humans --help\n";
4
2
  /**
5
3
  * Read and parse humans.yaml. Returns null when the file does not exist or
6
4
  * is not a valid v1 config — never throws.
@@ -10,8 +10,8 @@
10
10
  import * as fs from 'fs';
11
11
  import * as yaml from 'yaml';
12
12
  import { getHumansFilePath } from './state.js';
13
- export const HUMANS_VERSION = 1;
14
- export const HUMANS_HEADER = `# humans.yaml — owner identity and notification channels
13
+ const HUMANS_VERSION = 1;
14
+ const HUMANS_HEADER = `# humans.yaml — owner identity and notification channels
15
15
  # Managed by agents-cli. See: agents humans --help
16
16
  `;
17
17
  /**
@@ -17,12 +17,12 @@
17
17
  * true.
18
18
  */
19
19
  import type { AgentId } from './types.js';
20
- export interface ImportConfigResult {
20
+ interface ImportConfigResult {
21
21
  success: boolean;
22
22
  skipped?: boolean;
23
23
  error?: string;
24
24
  }
25
- export interface ImportBinaryResult {
25
+ interface ImportBinaryResult {
26
26
  success: boolean;
27
27
  skipped?: boolean;
28
28
  error?: string;
@@ -60,7 +60,7 @@ export declare function finalizeImport(agentId: AgentId, version: string): void;
60
60
  * farm from the AGENTS registry, which keeps the function pure and avoids
61
61
  * fragile coupling in test setups that stub `lib/agents.ts`.
62
62
  */
63
- export interface AgentBinarySpec {
63
+ interface AgentBinarySpec {
64
64
  /** Agent id used in the marker package.json (`agents-{agentId}-{version}`). */
65
65
  agentId: string;
66
66
  /** npm package name (e.g. `openclaw`) — used as the `node_modules/<name>` dir. */
@@ -136,3 +136,4 @@ export declare function seedIsolatedConfigFromLocal(agentId: AgentId, version: s
136
136
  skippedRuntime: string[];
137
137
  error?: string;
138
138
  };
139
+ export {};
@@ -1,6 +1,4 @@
1
1
  import { type FileLockOptions } from '../fs-atomic.js';
2
2
  import { type AgentId } from '../types.js';
3
3
  export declare function installationLockTarget(agent: AgentId, label: string): string;
4
- export declare const INSTALLATION_LOCK_STALE_MS: number;
5
- export declare const INSTALLATION_LOCK_ACQUIRE_TIMEOUT_MS: number;
6
4
  export declare const INSTALLATION_LOCK_OPTIONS: Required<FileLockOptions>;
@@ -20,8 +20,8 @@ export function installationLockTarget(agent, label) {
20
20
  ensureLockTarget(target, '', 0o700);
21
21
  return target;
22
22
  }
23
- export const INSTALLATION_LOCK_STALE_MS = 10 * 60_000;
24
- export const INSTALLATION_LOCK_ACQUIRE_TIMEOUT_MS = 5 * 60_000;
23
+ const INSTALLATION_LOCK_STALE_MS = 10 * 60_000;
24
+ const INSTALLATION_LOCK_ACQUIRE_TIMEOUT_MS = 5 * 60_000;
25
25
  export const INSTALLATION_LOCK_OPTIONS = {
26
26
  staleMs: INSTALLATION_LOCK_STALE_MS,
27
27
  acquireTimeoutMs: INSTALLATION_LOCK_ACQUIRE_TIMEOUT_MS,
@@ -44,15 +44,6 @@ import type { AgentId } from '../types.js';
44
44
  * work here serializes launches against each other unnecessarily.
45
45
  */
46
46
  export declare function withLaunchGate<T>(agent: AgentId, label: string, fn: () => T): Promise<T>;
47
- /**
48
- * Acquire the per-installation update lock, register a launch lease for
49
- * `pid`, then release. For a caller that already has its own pid before the
50
- * risky operation (the native shim's `$$`, exec-replaced so the pid is
51
- * final) — a Node caller that spawns a child should use {@link withLaunchGate}
52
- * around the spawn itself instead, since here the process already exists by
53
- * the time the lock is acquired.
54
- */
55
- export declare function acquireLaunchGate(agent: AgentId, label: string, pid: number): Promise<() => void>;
56
47
  /** Keep a live launcher's lease until its operation ends, without holding the lock. */
57
48
  export declare function withInstallationLease<T>(agent: AgentId, label: string, fn: () => Promise<T>): Promise<T>;
58
49
  /**
@@ -91,7 +91,7 @@ export async function withLaunchGate(agent, label, fn) {
91
91
  * around the spawn itself instead, since here the process already exists by
92
92
  * the time the lock is acquired.
93
93
  */
94
- export async function acquireLaunchGate(agent, label, pid) {
94
+ async function acquireLaunchGate(agent, label, pid) {
95
95
  return withLaunchGate(agent, label, () => recordLaunchLease(agent, label, pid));
96
96
  }
97
97
  /** Keep a live launcher's lease until its operation ends, without holding the lock. */
@@ -45,17 +45,6 @@ export declare function migrateRoutineDeviceToDevices(routinesDir?: string): voi
45
45
  * Idempotent: a file with only `cwd` (already migrated) is skipped.
46
46
  */
47
47
  export declare function migrateRoutineRemoteCwdToCwd(routinesDir?: string): void;
48
- /**
49
- * Pause every currently-active routine whose execution context no longer
50
- * resolves ready (RUSH-2290). An agent/workflow routine with no project/cwd, a
51
- * missing directory, or a non-portable path used to fire and fail every tick —
52
- * the mass auth_failed / untrusted-home storm this ticket exists to stop. After
53
- * the fold, such a routine is deactivated on THIS device (only), preventing it
54
- * from being scheduled until `agents routines doctor --all --fix` (or a repair +
55
- * `resume`) makes it ready. Never materializes a device manifest that does not
56
- * yet exist, and never touches command routines (they run in the target home).
57
- */
58
- export declare function pauseUnreadyEnabledRoutines(): void;
59
48
  /**
60
49
  * Fold the legacy watchdog enable sentinel into the `watchdog.enabled` config.
61
50
  *
@@ -1871,7 +1871,7 @@ export function migrateRoutineRemoteCwdToCwd(routinesDir) {
1871
1871
  * `resume`) makes it ready. Never materializes a device manifest that does not
1872
1872
  * yet exist, and never touches command routines (they run in the target home).
1873
1873
  */
1874
- export function pauseUnreadyEnabledRoutines() {
1874
+ function pauseUnreadyEnabledRoutines() {
1875
1875
  const enabled = enabledRoutineNames();
1876
1876
  if (enabled === null)
1877
1877
  return; // no manifest yet — nothing activated to pause
@@ -358,7 +358,7 @@ export declare function listShimFileNames(): string[];
358
358
  /**
359
359
  * Prune a stale, orphaned shim: one that is NOT a managed agent shim and NOT a user
360
360
  * alias, whose baked `AGENTS_BIN` points at an install that no longer exists. These
361
- * are `exec "$AGENTS_BIN" <cmd>` command shims (browser/sessions/pty/teams) that
361
+ * are `exec "$AGENTS_BIN" <cmd>` command shims (browser/teams) that
362
362
  * `scripts/postinstall.js` writes for the LIVE install; one baked at a removed
363
363
  * install either dies with `exit 127` or shadows the real package bin on PATH.
364
364
  * Only removed when the baked target is gone, so a working shim is never touched —
@@ -2197,11 +2197,11 @@ export function listShimFileNames() {
2197
2197
  * `computer` bin of its own: a machine that installed an older CLI has a real
2198
2198
  * shim on PATH under the name the standalone engine now owns.
2199
2199
  */
2200
- const LEGACY_SHIMS_ALWAYS_PRUNED = new Set(['secrets', 'sessions', 'computer']);
2200
+ const LEGACY_SHIMS_ALWAYS_PRUNED = new Set(['secrets', 'sessions', 'computer', 'pty']);
2201
2201
  /**
2202
2202
  * Prune a stale, orphaned shim: one that is NOT a managed agent shim and NOT a user
2203
2203
  * alias, whose baked `AGENTS_BIN` points at an install that no longer exists. These
2204
- * are `exec "$AGENTS_BIN" <cmd>` command shims (browser/sessions/pty/teams) that
2204
+ * are `exec "$AGENTS_BIN" <cmd>` command shims (browser/teams) that
2205
2205
  * `scripts/postinstall.js` writes for the LIVE install; one baked at a removed
2206
2206
  * install either dies with `exit 127` or shadows the real package bin on PATH.
2207
2207
  * Only removed when the baked target is gone, so a working shim is never touched —
@@ -299,7 +299,7 @@ async function runAutoUpdatePassUntilCancelled(opts, cancelled) {
299
299
  // (`ensureShimCurrent`/`ensureVersionedAliasCurrent`). Deliberately
300
300
  // NEVER `adoptShadowingLauncher`: that seizes a launcher this pass does
301
301
  // not own (a user's own PATH entry, or another install's), and is an
302
- // operator-triggered `doctor --fix` action, not something an unattended
302
+ // operator-triggered `agents sync` action, not something an unattended
303
303
  // background pass may do on its own. Real-pass-only, same reason as the
304
304
  // migration above — a `--check` preview must not touch PATH or a
305
305
  // config-dir symlink.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Editor identity belongs to the first launch attached to that terminal. The
3
+ * harness inherits it for its own tools, but another `agents run` is a new
4
+ * launch, not another owner of the parent's editor tab. AGENTS_RUNTIME is set
5
+ * by buildExecEnv, whereas an editor's initial launch sets AGENT_TERMINAL_ID
6
+ * (and may already set AGENT_SESSION_ID) without that runtime marker.
7
+ */
8
+ export declare function launchIdentityEnv(env?: NodeJS.ProcessEnv): Record<string, string>;
9
+ /** Identity absent from a new launch must not leak back in from a tmux server. */
10
+ export declare const LAUNCH_IDENTITY_KEYS: readonly ["AGENT_TERMINAL_ID", "AGENT_SESSION_ID", "AGENTS_SESSION_ID", "AGENTS_MAILBOX_DIR", "AGENT_LAUNCH_ID", "AGENTS_PARENT_SESSION_ID", "AGENTS_PARENT_LAUNCH_ID", "AGENTS_ORIGIN_TERMINAL_ID"];
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Editor identity belongs to the first launch attached to that terminal. The
3
+ * harness inherits it for its own tools, but another `agents run` is a new
4
+ * launch, not another owner of the parent's editor tab. AGENTS_RUNTIME is set
5
+ * by buildExecEnv, whereas an editor's initial launch sets AGENT_TERMINAL_ID
6
+ * (and may already set AGENT_SESSION_ID) without that runtime marker.
7
+ */
8
+ export function launchIdentityEnv(env = process.env) {
9
+ const result = {};
10
+ const terminal = env.AGENT_TERMINAL_ID?.trim();
11
+ const nested = env.AGENTS_RUNTIME === 'terminal' || env.AGENTS_RUNTIME === 'headless' || env.AGENTS_RUNTIME === 'teams';
12
+ if (terminal && !nested)
13
+ result.AGENT_TERMINAL_ID = terminal;
14
+ const originTerminal = env.AGENTS_ORIGIN_TERMINAL_ID?.trim() || terminal;
15
+ if (originTerminal)
16
+ result.AGENTS_ORIGIN_TERMINAL_ID = originTerminal;
17
+ const parentLaunch = nested ? env.AGENT_LAUNCH_ID : env.AGENTS_PARENT_LAUNCH_ID;
18
+ const parentSession = nested
19
+ ? env.AGENTS_SESSION_ID || env.AGENT_SESSION_ID
20
+ : env.AGENTS_PARENT_SESSION_ID;
21
+ if (parentLaunch)
22
+ result.AGENTS_PARENT_LAUNCH_ID = parentLaunch;
23
+ if (parentSession)
24
+ result.AGENTS_PARENT_SESSION_ID = parentSession;
25
+ return result;
26
+ }
27
+ /** Identity absent from a new launch must not leak back in from a tmux server. */
28
+ export const LAUNCH_IDENTITY_KEYS = [
29
+ 'AGENT_TERMINAL_ID', 'AGENT_SESSION_ID', 'AGENTS_SESSION_ID', 'AGENTS_MAILBOX_DIR',
30
+ 'AGENT_LAUNCH_ID', 'AGENTS_PARENT_SESSION_ID', 'AGENTS_PARENT_LAUNCH_ID', 'AGENTS_ORIGIN_TERMINAL_ID',
31
+ ];
@@ -42,7 +42,7 @@ export declare const LINEAR_CACHE_TTL_MS: number;
42
42
  */
43
43
  export declare function resolveLinearApiKey(): string | null;
44
44
  /** What a lookup found, and how much to trust it. */
45
- export interface CacheHit<T> {
45
+ interface CacheHit<T> {
46
46
  value: T;
47
47
  /** Age in ms. Past the TTL the value is still returned, flagged stale. */
48
48
  ageMs: number;
@@ -68,3 +68,4 @@ export declare function parseRateLimitReset(header: string | null, nowMs: number
68
68
  * `resetAtMs` comes from {@link parseRateLimitReset}; without it, back off one TTL.
69
69
  */
70
70
  export declare function noteRateLimited(resetAtMs: number | undefined, nowMs: number): void;
71
+ export {};
@@ -13,7 +13,7 @@ export interface UsernsStatus {
13
13
  reason?: string;
14
14
  }
15
15
  /** The raw signals the pure interpreter reasons over. */
16
- export interface UsernsInputs {
16
+ interface UsernsInputs {
17
17
  platform: NodeJS.Platform;
18
18
  /**
19
19
  * Contents of {@link APPARMOR_USERNS_SYSCTL_PATH} trimmed, or null when the
@@ -54,5 +54,4 @@ export declare function probeUnshare(): 'ok' | 'denied' | 'no-tool';
54
54
  * short-circuits to `ok` without spawning anything.
55
55
  */
56
56
  export declare function probeUnprivilegedUserns(platform?: NodeJS.Platform): UsernsStatus;
57
- /** Test-only: drop the process cache so a test can re-probe. */
58
- export declare function resetUsernsCacheForTests(): void;
57
+ export {};
@@ -110,7 +110,3 @@ export function probeUnprivilegedUserns(platform = process.platform) {
110
110
  });
111
111
  return cached;
112
112
  }
113
- /** Test-only: drop the process cache so a test can re-probe. */
114
- export function resetUsernsCacheForTests() {
115
- cached = null;
116
- }
@@ -40,7 +40,7 @@ export interface LoopSignal {
40
40
  /** Why the loop stopped. Mirrors the teams supervisor exit reasons. */
41
41
  export type LoopStoppedBy = 'condition-met' | 'budget' | 'stalled' | 'max' | 'signal' | 'error';
42
42
  /** Result of a loop run. */
43
- export interface LoopResult {
43
+ interface LoopResult {
44
44
  /** Iterations actually executed. */
45
45
  iterations: number;
46
46
  stoppedBy: LoopStoppedBy;
@@ -152,3 +152,4 @@ export declare function defaultRunIteration(options: ExecOptions): Promise<Itera
152
152
  * - `error` — an iteration threw or exited non-zero.
153
153
  */
154
154
  export declare function runLoop(execOptions: ExecOptions, loop: LoopConfig, ctx: LoopContext, deps?: LoopDeps): Promise<LoopResult>;
155
+ export {};
@@ -6,7 +6,7 @@ export interface GcResult {
6
6
  consumedPruned: number;
7
7
  blocksRemoved: number;
8
8
  }
9
- export interface GcOptions {
9
+ interface GcOptions {
10
10
  root?: string;
11
11
  /** Feed store root. Defaults to getFeedDir(). */
12
12
  feedRoot?: string;
@@ -20,3 +20,4 @@ export interface GcOptions {
20
20
  * mailbox. For live boxes, drop expired messages and prune old consumed files.
21
21
  */
22
22
  export declare function gcMailbox(activeBoxIds: Set<string>, options?: GcOptions): GcResult;
23
+ export {};
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { ActiveSession } from './session/active.js';
8
8
  import type { HostTask } from './hosts/tasks.js';
9
- export type MessageResolution = {
9
+ type MessageResolution = {
10
10
  kind: 'cloud';
11
11
  id: string;
12
12
  } | {
@@ -61,3 +61,4 @@ export type HostTaskRoute = {
61
61
  * latter.
62
62
  */
63
63
  export declare function decideHostTaskRoute(task: HostTask | null, target: string): HostTaskRoute;
64
+ export {};
@@ -2,12 +2,6 @@
2
2
  export declare const DEFAULT_TTL_SECONDS: number;
3
3
  /** Env var that overrides {@link DEFAULT_TTL_SECONDS} with a duration like "24h" or "3600". */
4
4
  export declare const MAILBOX_TTL_ENV = "AGENTS_MAILBOX_TTL";
5
- /**
6
- * Resolve the default mailbox TTL in seconds. Honors `AGENTS_MAILBOX_TTL`
7
- * (parsed by {@link parseDuration}); falls back to 24h. A malformed env value
8
- * fails loud instead of silently disabling expiry.
9
- */
10
- export declare function resolveDefaultTtlSeconds(): number;
11
5
  /** A single mailbox message. `text` may embed `host:/path` clip tokens. */
12
6
  export interface MailboxMessage {
13
7
  /** Unique, time-sortable id. Also the on-disk filename stem. */
@@ -30,7 +30,7 @@ export const MAILBOX_TTL_ENV = 'AGENTS_MAILBOX_TTL';
30
30
  * (parsed by {@link parseDuration}); falls back to 24h. A malformed env value
31
31
  * fails loud instead of silently disabling expiry.
32
32
  */
33
- export function resolveDefaultTtlSeconds() {
33
+ function resolveDefaultTtlSeconds() {
34
34
  const raw = process.env[MAILBOX_TTL_ENV];
35
35
  if (raw == null || raw === '')
36
36
  return DEFAULT_TTL_SECONDS;
@@ -1,20 +1,6 @@
1
1
  import type { Manifest } from './types.js';
2
2
  /** Canonical filename for the manifest in any agents repo or project root. */
3
3
  export declare const MANIFEST_FILENAME = "agents.yaml";
4
- /** Parse a YAML string into a typed Manifest object. */
5
- export declare function parseManifest(content: string): Manifest;
6
- /**
7
- * Serialize a Manifest to YAML WITHOUT destroying hand-written comments.
8
- *
9
- * Plain `yaml.stringify(manifest)` drops every comment, so `agents mcp add`
10
- * (and every other writeManifest caller) used to clobber annotations in
11
- * agents.yaml. Matching `serializeCentral` in state.ts: when existing file
12
- * text is provided, parse it into a `yaml.Document` (comments + key order
13
- * preserved) and edit only keys that actually changed. Untouched keys and
14
- * their comments stay byte-stable. Falls back to plain stringify when there
15
- * is no existing document yet.
16
- */
17
- export declare function serializeManifest(manifest: Manifest, existingContent?: string | null): string;
18
4
  /** Read and parse agents.yaml from a directory. Returns null if the file does not exist. */
19
5
  export declare function readManifest(repoPath: string): Manifest | null;
20
6
  /** Write a Manifest object to agents.yaml in the given directory. */
@@ -14,7 +14,7 @@ export const MANIFEST_FILENAME = 'agents.yaml';
14
14
  // Per-path re-entrancy depth so withManifestLock is safe against recursive calls.
15
15
  const manifestLockDepth = new Map();
16
16
  /** Parse a YAML string into a typed Manifest object. */
17
- export function parseManifest(content) {
17
+ function parseManifest(content) {
18
18
  return yaml.parse(content);
19
19
  }
20
20
  /**
@@ -28,7 +28,7 @@ export function parseManifest(content) {
28
28
  * their comments stay byte-stable. Falls back to plain stringify when there
29
29
  * is no existing document yet.
30
30
  */
31
- export function serializeManifest(manifest, existingContent) {
31
+ function serializeManifest(manifest, existingContent) {
32
32
  const entries = Object.entries(manifest).filter(([, v]) => v !== undefined);
33
33
  const isEmpty = entries.length === 0;
34
34
  if (existingContent == null || existingContent.trim() === '') {
@@ -19,7 +19,7 @@ export type McpFormat =
19
19
  /** `{ schema_version, mcp_servers: { "<name>": {transport, ..., enabled} } }` */
20
20
  | 'muse-json';
21
21
  /** The complete MCP contract for one agent. */
22
- export interface McpTarget {
22
+ interface McpTarget {
23
23
  /** MCP config file under a HOME root (a version home, or the real HOME). */
24
24
  home(home: string): string;
25
25
  /** Project-scoped MCP config file for a repo at `cwd`. */
@@ -60,3 +60,4 @@ export declare function mcpTarget(agent: AgentId): McpTarget | undefined;
60
60
  * MCP-capable, or a hard-deprecated id), or it has one with `format: null`.
61
61
  */
62
62
  export declare function mcpWriteUnsupportedReason(agent: AgentId): string | null;
63
+ export {};
@@ -12,7 +12,7 @@
12
12
  * target dir (see memoryTargetDir).
13
13
  */
14
14
  import type { AgentId } from './types.js';
15
- export interface MemoryFact {
15
+ interface MemoryFact {
16
16
  /** Filename without .md (slug). */
17
17
  name: string;
18
18
  /** Absolute path to the fact file. */
@@ -22,20 +22,10 @@ export interface MemoryFact {
22
22
  /** First non-empty line of the body (for list display). */
23
23
  summary: string;
24
24
  }
25
- export interface MemoryLayerDir {
26
- layer: 'project' | 'user' | 'system';
27
- dir: string;
28
- }
29
25
  /** User-layer memory root (~/.agents/memory/). */
30
26
  export declare function getUserMemoryDir(): string;
31
- /** System-layer memory root (~/.agents/.system/memory/). */
32
- export declare function getSystemMemoryDir(): string;
33
- /** Project-layer memory root when a project agents dir exists. */
34
- export declare function getProjectMemoryDir(cwd?: string): string | null;
35
27
  /** Ensure the user memory dir exists (creates MEMORY.md index if missing). */
36
28
  export declare function ensureUserMemoryDir(): string;
37
- /** Layer dirs highest-priority first. */
38
- export declare function getMemoryLayerDirs(cwd?: string): MemoryLayerDir[];
39
29
  /** List memory facts with project > user > system override on name. */
40
30
  export declare function listMemoryFacts(cwd?: string): MemoryFact[];
41
31
  /** Read one fact by name (winning layer). */
@@ -44,8 +34,6 @@ export declare function readMemoryFact(name: string, cwd?: string): MemoryFact |
44
34
  export declare function addMemoryFact(name: string, body: string): string;
45
35
  /** Remove a fact from the user layer. Returns true if a file was deleted. */
46
36
  export declare function removeMemoryFact(name: string): boolean;
47
- /** Rebuild MEMORY.md index from sibling fact files in a single layer dir. */
48
- export declare function rebuildMemoryIndex(dir: string): void;
49
37
  /**
50
38
  * Per-agent target directory (relative to version home) for synced memory.
51
39
  * Claude/Codex/OpenClaw/Grok get native-ish paths; others get a generic memory/.
@@ -79,3 +67,4 @@ export declare function getClaudeProjectMemoryDir(cwd: string): string;
79
67
  * being replaced by the symlink.
80
68
  */
81
69
  export declare function syncClaudeProjectMemoryDir(versionHome: string, cwd?: string): void;
70
+ export {};
@@ -22,11 +22,11 @@ export function getUserMemoryDir() {
22
22
  return path.join(getUserAgentsDir(), 'memory');
23
23
  }
24
24
  /** System-layer memory root (~/.agents/.system/memory/). */
25
- export function getSystemMemoryDir() {
25
+ function getSystemMemoryDir() {
26
26
  return path.join(getSystemAgentsDir(), 'memory');
27
27
  }
28
28
  /** Project-layer memory root when a project agents dir exists. */
29
- export function getProjectMemoryDir(cwd = process.cwd()) {
29
+ function getProjectMemoryDir(cwd = process.cwd()) {
30
30
  const project = getProjectAgentsDir(cwd);
31
31
  return project ? path.join(project, 'memory') : null;
32
32
  }
@@ -69,7 +69,7 @@ function summarize(content) {
69
69
  return '(empty)';
70
70
  }
71
71
  /** Layer dirs highest-priority first. */
72
- export function getMemoryLayerDirs(cwd = process.cwd()) {
72
+ function getMemoryLayerDirs(cwd = process.cwd()) {
73
73
  const out = [];
74
74
  const project = getProjectMemoryDir(cwd);
75
75
  if (project && fs.existsSync(project))
@@ -157,7 +157,7 @@ export function removeMemoryFact(name) {
157
157
  return true;
158
158
  }
159
159
  /** Rebuild MEMORY.md index from sibling fact files in a single layer dir. */
160
- export function rebuildMemoryIndex(dir) {
160
+ function rebuildMemoryIndex(dir) {
161
161
  let facts = [];
162
162
  try {
163
163
  facts = fs.readdirSync(dir).filter(isFactFile).sort();
@@ -38,8 +38,6 @@ export declare function menubarHelperAssetUrls(version: string): {
38
38
  };
39
39
  /** Cache dir for the downloaded menu-bar helper, one subdir per release tag. */
40
40
  export declare function menubarHelperCacheDir(version: string): string;
41
- /** Verify a menu-bar helper `.app`: codesign + Team + DR pin + notarization. */
42
- export declare function verifyMenubarHelper(appPath: string): void;
43
41
  /**
44
42
  * Download the menu-bar helper release asset for `version`, verify sha256 +
45
43
  * signature + DR pin, and return the path to the extracted `MenubarHelper.app`