@phnx-labs/agents-cli 1.22.120 → 1.22.121

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 (1603) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/README.md +19 -2
  3. package/dist/bootstrap.d.ts +0 -15
  4. package/dist/bootstrap.js +10 -409
  5. package/dist/cli/command-registry.d.ts +0 -58
  6. package/dist/cli/command-registry.js +2 -74
  7. package/dist/commands/accounts.d.ts +0 -17
  8. package/dist/commands/accounts.js +1 -52
  9. package/dist/commands/alias.d.ts +0 -12
  10. package/dist/commands/alias.js +0 -6
  11. package/dist/commands/apply.d.ts +0 -15
  12. package/dist/commands/apply.js +0 -63
  13. package/dist/commands/audit.d.ts +0 -12
  14. package/dist/commands/audit.js +0 -13
  15. package/dist/commands/auth.js +4 -12
  16. package/dist/commands/beta.d.ts +0 -6
  17. package/dist/commands/beta.js +2 -6
  18. package/dist/commands/browser-sessions-picker.d.ts +0 -8
  19. package/dist/commands/browser-sessions-picker.js +0 -26
  20. package/dist/commands/browser.d.ts +0 -57
  21. package/dist/commands/browser.js +0 -80
  22. package/dist/commands/budget.d.ts +0 -13
  23. package/dist/commands/budget.js +0 -2
  24. package/dist/commands/cli.d.ts +0 -12
  25. package/dist/commands/cli.js +0 -4
  26. package/dist/commands/cloud.d.ts +0 -9
  27. package/dist/commands/cloud.js +0 -43
  28. package/dist/commands/commands.d.ts +0 -9
  29. package/dist/commands/commands.js +0 -18
  30. package/dist/commands/computer-sessions-picker.d.ts +0 -11
  31. package/dist/commands/computer-sessions-picker.js +0 -29
  32. package/dist/commands/computer.d.ts +0 -62
  33. package/dist/commands/computer.js +3 -114
  34. package/dist/commands/config.d.ts +0 -14
  35. package/dist/commands/config.js +21 -60
  36. package/dist/commands/cost.d.ts +0 -11
  37. package/dist/commands/cost.js +1 -17
  38. package/dist/commands/daemon-test-harness.d.ts +0 -32
  39. package/dist/commands/daemon-test-harness.js +1 -36
  40. package/dist/commands/daemon.d.ts +0 -46
  41. package/dist/commands/daemon.js +8 -255
  42. package/dist/commands/detach-core.d.ts +0 -28
  43. package/dist/commands/detach-core.js +0 -30
  44. package/dist/commands/detach.d.ts +1 -12
  45. package/dist/commands/detach.js +16 -52
  46. package/dist/commands/device-config-test-harness.js +0 -12
  47. package/dist/commands/doctor.d.ts +0 -103
  48. package/dist/commands/doctor.js +3 -279
  49. package/dist/commands/events.d.ts +0 -29
  50. package/dist/commands/events.js +1 -55
  51. package/dist/commands/exec.d.ts +0 -163
  52. package/dist/commands/exec.js +15 -964
  53. package/dist/commands/factory.d.ts +0 -6
  54. package/dist/commands/factory.js +0 -2
  55. package/dist/commands/feed-watch.js +0 -20
  56. package/dist/commands/feed.d.ts +0 -38
  57. package/dist/commands/feed.js +1 -151
  58. package/dist/commands/feedback.d.ts +0 -5
  59. package/dist/commands/feedback.js +0 -5
  60. package/dist/commands/fleet-capture.d.ts +0 -12
  61. package/dist/commands/fleet-capture.js +1 -39
  62. package/dist/commands/focus.d.ts +6 -94
  63. package/dist/commands/focus.js +13 -183
  64. package/dist/commands/fork.d.ts +0 -21
  65. package/dist/commands/fork.js +0 -45
  66. package/dist/commands/funnel.d.ts +0 -3
  67. package/dist/commands/go.d.ts +2 -71
  68. package/dist/commands/go.js +5 -99
  69. package/dist/commands/harness-hooks.d.ts +0 -41
  70. package/dist/commands/harness-hooks.js +0 -48
  71. package/dist/commands/harness-wizard.d.ts +0 -137
  72. package/dist/commands/harness-wizard.js +0 -109
  73. package/dist/commands/harness.d.ts +0 -63
  74. package/dist/commands/harness.js +0 -103
  75. package/dist/commands/hooks.d.ts +0 -9
  76. package/dist/commands/hooks.js +0 -26
  77. package/dist/commands/humans.d.ts +0 -8
  78. package/dist/commands/humans.js +0 -8
  79. package/dist/commands/import.d.ts +0 -22
  80. package/dist/commands/import.js +0 -79
  81. package/dist/commands/insights.d.ts +0 -37
  82. package/dist/commands/insights.js +3 -115
  83. package/dist/commands/inspect.d.ts +0 -117
  84. package/dist/commands/inspect.js +2 -448
  85. package/dist/commands/lease.d.ts +0 -28
  86. package/dist/commands/lease.js +0 -43
  87. package/dist/commands/logs.d.ts +0 -23
  88. package/dist/commands/logs.js +0 -30
  89. package/dist/commands/mailboxes.d.ts +0 -18
  90. package/dist/commands/mailboxes.js +0 -29
  91. package/dist/commands/mcp.d.ts +0 -9
  92. package/dist/commands/mcp.js +0 -53
  93. package/dist/commands/memory.d.ts +0 -7
  94. package/dist/commands/memory.js +0 -7
  95. package/dist/commands/menubar.d.ts +0 -8
  96. package/dist/commands/menubar.js +0 -24
  97. package/dist/commands/message.d.ts +0 -23
  98. package/dist/commands/message.js +0 -50
  99. package/dist/commands/mine.d.ts +0 -22
  100. package/dist/commands/mine.js +0 -21
  101. package/dist/commands/models.d.ts +0 -8
  102. package/dist/commands/models.js +0 -33
  103. package/dist/commands/modes.d.ts +0 -10
  104. package/dist/commands/modes.js +0 -13
  105. package/dist/commands/monitors.d.ts +0 -9
  106. package/dist/commands/monitors.js +3 -160
  107. package/dist/commands/open.d.ts +0 -26
  108. package/dist/commands/open.js +0 -10
  109. package/dist/commands/output.d.ts +0 -18
  110. package/dist/commands/output.js +1 -34
  111. package/dist/commands/packages-materialize.d.ts +0 -11
  112. package/dist/commands/packages-materialize.js +0 -3
  113. package/dist/commands/packages.d.ts +0 -10
  114. package/dist/commands/packages.js +0 -50
  115. package/dist/commands/perf.d.ts +0 -41
  116. package/dist/commands/perf.js +0 -55
  117. package/dist/commands/permissions.d.ts +0 -9
  118. package/dist/commands/permissions.js +0 -43
  119. package/dist/commands/plugins.d.ts +0 -14
  120. package/dist/commands/plugins.js +2 -55
  121. package/dist/commands/profiles.d.ts +0 -25
  122. package/dist/commands/profiles.js +0 -27
  123. package/dist/commands/projects-todo.d.ts +2 -0
  124. package/dist/commands/projects-todo.js +132 -0
  125. package/dist/commands/projects.d.ts +0 -85
  126. package/dist/commands/projects.js +344 -291
  127. package/dist/commands/prune.js +0 -30
  128. package/dist/commands/ps-roster.d.ts +92 -0
  129. package/dist/commands/ps-roster.js +744 -0
  130. package/dist/commands/ps.d.ts +6 -0
  131. package/dist/commands/ps.js +98 -0
  132. package/dist/commands/refresh-rules.d.ts +0 -13
  133. package/dist/commands/refresh-rules.js +0 -14
  134. package/dist/commands/reminders.d.ts +0 -7
  135. package/dist/commands/repo.d.ts +0 -89
  136. package/dist/commands/repo.js +7 -205
  137. package/dist/commands/resource-view.d.ts +0 -33
  138. package/dist/commands/resource-view.js +0 -49
  139. package/dist/commands/resume.d.ts +1 -19
  140. package/dist/commands/resume.js +0 -50
  141. package/dist/commands/route.d.ts +0 -10
  142. package/dist/commands/route.js +0 -19
  143. package/dist/commands/routines.d.ts +0 -42
  144. package/dist/commands/routines.js +5 -290
  145. package/dist/commands/routines.test-fixture.d.ts +0 -34
  146. package/dist/commands/routines.test-fixture.js +4 -100
  147. package/dist/commands/rules.d.ts +0 -9
  148. package/dist/commands/rules.js +1 -6
  149. package/dist/commands/run-account-picker.d.ts +0 -59
  150. package/dist/commands/run-account-picker.js +0 -71
  151. package/dist/commands/run-broadcast.d.ts +0 -9
  152. package/dist/commands/run-broadcast.js +0 -7
  153. package/dist/commands/run-cloud.d.ts +0 -15
  154. package/dist/commands/run-cloud.js +0 -37
  155. package/dist/commands/run-device-picker.d.ts +0 -25
  156. package/dist/commands/run-device-picker.js +1 -53
  157. package/dist/commands/secrets-passthrough.d.ts +0 -31
  158. package/dist/commands/secrets-passthrough.js +0 -10
  159. package/dist/commands/send.d.ts +0 -20
  160. package/dist/commands/send.js +14 -18
  161. package/dist/commands/sessions-backfill.d.ts +0 -7
  162. package/dist/commands/sessions-backfill.js +1 -16
  163. package/dist/commands/sessions-backup-setup.js +0 -11
  164. package/dist/commands/sessions-bookmark.d.ts +0 -8
  165. package/dist/commands/sessions-bookmark.js +0 -28
  166. package/dist/commands/sessions-browser.d.ts +2 -117
  167. package/dist/commands/sessions-browser.js +5 -243
  168. package/dist/commands/sessions-export.d.ts +1 -26
  169. package/dist/commands/sessions-export.js +3 -81
  170. package/dist/commands/sessions-import.d.ts +0 -14
  171. package/dist/commands/sessions-import.js +0 -59
  172. package/dist/commands/sessions-inject.d.ts +0 -60
  173. package/dist/commands/sessions-inject.js +3 -96
  174. package/dist/commands/sessions-migrate.d.ts +2 -37
  175. package/dist/commands/sessions-migrate.js +7 -159
  176. package/dist/commands/sessions-optimize.d.ts +0 -12
  177. package/dist/commands/sessions-picker-factory.d.ts +0 -7
  178. package/dist/commands/sessions-picker-factory.js +0 -8
  179. package/dist/commands/sessions-picker.d.ts +4 -103
  180. package/dist/commands/sessions-picker.js +13 -352
  181. package/dist/commands/sessions-render.d.ts +1 -2
  182. package/dist/commands/sessions-render.js +3 -7
  183. package/dist/commands/sessions-resume.d.ts +1 -24
  184. package/dist/commands/sessions-resume.js +2 -65
  185. package/dist/commands/sessions-share.d.ts +1 -9
  186. package/dist/commands/sessions-share.js +1 -45
  187. package/dist/commands/sessions-stats.d.ts +0 -24
  188. package/dist/commands/sessions-stats.js +0 -49
  189. package/dist/commands/sessions-stop.d.ts +1 -20
  190. package/dist/commands/sessions-stop.js +4 -9
  191. package/dist/commands/sessions-tail.d.ts +1 -19
  192. package/dist/commands/sessions-tail.js +3 -36
  193. package/dist/commands/sessions-trace.d.ts +5 -36
  194. package/dist/commands/sessions-trace.js +7 -82
  195. package/dist/commands/sessions.d.ts +1 -666
  196. package/dist/commands/sessions.js +30 -2279
  197. package/dist/commands/sessions.test-fixture.d.ts +0 -9
  198. package/dist/commands/sessions.test-fixture.js +8 -23
  199. package/dist/commands/setup-accounts.d.ts +0 -6
  200. package/dist/commands/setup-browser.d.ts +0 -23
  201. package/dist/commands/setup-browser.js +0 -28
  202. package/dist/commands/setup-computer.d.ts +0 -16
  203. package/dist/commands/setup-computer.js +0 -28
  204. package/dist/commands/setup-fleet.d.ts +0 -8
  205. package/dist/commands/setup-fleet.js +0 -11
  206. package/dist/commands/setup-mine.d.ts +0 -14
  207. package/dist/commands/setup-mine.js +0 -25
  208. package/dist/commands/setup-preferences.d.ts +0 -47
  209. package/dist/commands/setup-preferences.js +0 -53
  210. package/dist/commands/setup-secrets.d.ts +2 -24
  211. package/dist/commands/setup-secrets.js +0 -24
  212. package/dist/commands/setup-term.d.ts +0 -21
  213. package/dist/commands/setup-term.js +0 -21
  214. package/dist/commands/setup-terminal.d.ts +0 -1
  215. package/dist/commands/setup-terminal.js +0 -1
  216. package/dist/commands/setup-tools.d.ts +2 -0
  217. package/dist/commands/setup-tools.js +73 -0
  218. package/dist/commands/setup.d.ts +0 -20
  219. package/dist/commands/setup.js +4 -57
  220. package/dist/commands/skills.d.ts +0 -9
  221. package/dist/commands/skills.js +1 -22
  222. package/dist/commands/snapshot.d.ts +0 -9
  223. package/dist/commands/snapshot.js +0 -10
  224. package/dist/commands/ssh.d.ts +0 -64
  225. package/dist/commands/ssh.js +9 -420
  226. package/dist/commands/status.d.ts +0 -12
  227. package/dist/commands/status.js +0 -26
  228. package/dist/commands/subagents.d.ts +0 -8
  229. package/dist/commands/subagents.js +0 -31
  230. package/dist/commands/sync.d.ts +0 -37
  231. package/dist/commands/sync.js +0 -256
  232. package/dist/commands/teams-picker.d.ts +0 -3
  233. package/dist/commands/teams-picker.js +0 -34
  234. package/dist/commands/teams.d.ts +1 -76
  235. package/dist/commands/teams.js +9 -477
  236. package/dist/commands/tmux.d.ts +0 -25
  237. package/dist/commands/tmux.js +0 -46
  238. package/dist/commands/traces.js +0 -19
  239. package/dist/commands/trash.d.ts +0 -17
  240. package/dist/commands/trash.js +1 -11
  241. package/dist/commands/uninstall.d.ts +0 -9
  242. package/dist/commands/uninstall.js +0 -6
  243. package/dist/commands/update.d.ts +0 -22
  244. package/dist/commands/update.js +0 -44
  245. package/dist/commands/upgrade.d.ts +0 -1
  246. package/dist/commands/upgrade.js +0 -1
  247. package/dist/commands/utils.d.ts +0 -85
  248. package/dist/commands/utils.js +1 -95
  249. package/dist/commands/versions.d.ts +0 -16
  250. package/dist/commands/versions.js +0 -134
  251. package/dist/commands/view.d.ts +0 -90
  252. package/dist/commands/view.js +4 -343
  253. package/dist/commands/watchdog.d.ts +0 -19
  254. package/dist/commands/watchdog.js +3 -43
  255. package/dist/commands/webhook.d.ts +0 -8
  256. package/dist/commands/webhook.js +0 -14
  257. package/dist/commands/workflows.d.ts +0 -8
  258. package/dist/commands/workflows.js +0 -6
  259. package/dist/index.d.ts +0 -25
  260. package/dist/index.js +5 -119
  261. package/dist/lib/account-capabilities.d.ts +0 -34
  262. package/dist/lib/account-capabilities.js +0 -32
  263. package/dist/lib/account-catalog.d.ts +0 -128
  264. package/dist/lib/account-catalog.js +8 -154
  265. package/dist/lib/account-provider-registry.d.ts +0 -14
  266. package/dist/lib/account-provider-registry.js +0 -8
  267. package/dist/lib/account-registry.d.ts +0 -74
  268. package/dist/lib/account-registry.js +14 -189
  269. package/dist/lib/account-schema.d.ts +0 -19
  270. package/dist/lib/account-schema.js +0 -43
  271. package/dist/lib/accounting/account-launch.d.ts +0 -15
  272. package/dist/lib/accounting/account-launch.js +1 -3
  273. package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
  274. package/dist/lib/accounting/account-pool-collect.js +0 -42
  275. package/dist/lib/accounting/account-pool.d.ts +0 -41
  276. package/dist/lib/accounting/account-pool.js +0 -17
  277. package/dist/lib/accounting/capacity.d.ts +0 -32
  278. package/dist/lib/accounting/capacity.js +0 -32
  279. package/dist/lib/accounting/rotate.d.ts +0 -518
  280. package/dist/lib/accounting/rotate.js +4 -598
  281. package/dist/lib/accounting/usage-ingest.d.ts +0 -1
  282. package/dist/lib/accounting/usage-ingest.js +0 -44
  283. package/dist/lib/accounting/usage-sync.d.ts +0 -60
  284. package/dist/lib/accounting/usage-sync.js +4 -51
  285. package/dist/lib/accounting/usage.d.ts +0 -632
  286. package/dist/lib/accounting/usage.js +14 -1055
  287. package/dist/lib/accounts/add.d.ts +0 -60
  288. package/dist/lib/accounts/add.js +0 -127
  289. package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
  290. package/dist/lib/accounts/auth-operation-lock.js +0 -4
  291. package/dist/lib/accounts/migrate.d.ts +0 -9
  292. package/dist/lib/accounts/migrate.js +3 -42
  293. package/dist/lib/accounts/slots.d.ts +0 -25
  294. package/dist/lib/accounts/slots.js +1 -49
  295. package/dist/lib/acp/client.d.ts +0 -16
  296. package/dist/lib/acp/client.js +0 -29
  297. package/dist/lib/acp/harnesses.d.ts +0 -15
  298. package/dist/lib/acp/harnesses.js +0 -16
  299. package/dist/lib/acp/run.d.ts +0 -8
  300. package/dist/lib/acp/run.js +0 -8
  301. package/dist/lib/actor.d.ts +1 -71
  302. package/dist/lib/actor.js +1 -99
  303. package/dist/lib/add-dir.d.ts +0 -46
  304. package/dist/lib/add-dir.js +1 -70
  305. package/dist/lib/address.d.ts +0 -17
  306. package/dist/lib/address.js +0 -15
  307. package/dist/lib/agent-cli-commands.d.ts +0 -10
  308. package/dist/lib/agent-cli-commands.js +0 -10
  309. package/dist/lib/agent-modes.d.ts +0 -29
  310. package/dist/lib/agent-modes.js +0 -31
  311. package/dist/lib/agent-spec/agents.d.ts +0 -426
  312. package/dist/lib/agent-spec/agents.js +37 -924
  313. package/dist/lib/agent-spec/index.d.ts +0 -5
  314. package/dist/lib/agent-spec/index.js +0 -14
  315. package/dist/lib/agent-spec/materialize.d.ts +0 -10
  316. package/dist/lib/agent-spec/materialize.js +2 -139
  317. package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
  318. package/dist/lib/agent-spec/package-resolve.js +1 -44
  319. package/dist/lib/agent-spec/package-schema.d.ts +0 -2
  320. package/dist/lib/agent-spec/package-schema.js +0 -11
  321. package/dist/lib/agent-spec/package-types.d.ts +0 -27
  322. package/dist/lib/agent-spec/package-types.js +0 -1
  323. package/dist/lib/agent-spec/primitives.d.ts +0 -18
  324. package/dist/lib/agent-spec/primitives.js +0 -27
  325. package/dist/lib/agent-spec/provider.js +0 -2
  326. package/dist/lib/agent-spec/resolve.d.ts +0 -23
  327. package/dist/lib/agent-spec/resolve.js +0 -41
  328. package/dist/lib/agent-spec/types.d.ts +0 -34
  329. package/dist/lib/agent-spec/types.js +0 -6
  330. package/dist/lib/agents.d.ts +0 -1
  331. package/dist/lib/agents.js +0 -1
  332. package/dist/lib/analytics/mix-commands.d.ts +0 -23
  333. package/dist/lib/analytics/mix-commands.js +0 -26
  334. package/dist/lib/analytics/recipes.d.ts +0 -1
  335. package/dist/lib/analytics/recipes.js +5 -10
  336. package/dist/lib/analytics/usage-db.js +4 -6
  337. package/dist/lib/answer-router.d.ts +0 -61
  338. package/dist/lib/answer-router.js +0 -57
  339. package/dist/lib/app-bundle-install.d.ts +0 -13
  340. package/dist/lib/app-bundle-install.js +0 -50
  341. package/dist/lib/artifact-actions.d.ts +0 -15
  342. package/dist/lib/artifact-actions.js +0 -18
  343. package/dist/lib/artifacts-client.d.ts +0 -10
  344. package/dist/lib/artifacts-client.js +0 -17
  345. package/dist/lib/ask-classifier.d.ts +0 -38
  346. package/dist/lib/ask-classifier.js +0 -27
  347. package/dist/lib/audit/log.d.ts +0 -47
  348. package/dist/lib/audit/log.js +1 -59
  349. package/dist/lib/auth-health.d.ts +0 -213
  350. package/dist/lib/auth-health.js +16 -266
  351. package/dist/lib/auth-mint.d.ts +0 -83
  352. package/dist/lib/auth-mint.js +8 -85
  353. package/dist/lib/auto-pull-worker.d.ts +0 -10
  354. package/dist/lib/auto-pull-worker.js +3 -48
  355. package/dist/lib/auto-pull.d.ts +0 -64
  356. package/dist/lib/auto-pull.js +0 -79
  357. package/dist/lib/beta.d.ts +0 -9
  358. package/dist/lib/beta.js +0 -9
  359. package/dist/lib/binary-shadow.d.ts +0 -22
  360. package/dist/lib/binary-shadow.js +4 -34
  361. package/dist/lib/boot-profile.d.ts +0 -10
  362. package/dist/lib/boot-profile.js +1 -31
  363. package/dist/lib/brand.d.ts +0 -20
  364. package/dist/lib/brand.js +0 -50
  365. package/dist/lib/browser/context.d.ts +0 -54
  366. package/dist/lib/browser/context.js +0 -49
  367. package/dist/lib/browser/paths.d.ts +0 -21
  368. package/dist/lib/browser/paths.js +0 -26
  369. package/dist/lib/browser/record.d.ts +0 -34
  370. package/dist/lib/browser/record.js +0 -38
  371. package/dist/lib/browser/sessions-list.d.ts +1 -79
  372. package/dist/lib/browser/sessions-list.js +2 -98
  373. package/dist/lib/browser-client.d.ts +0 -112
  374. package/dist/lib/browser-client.js +1 -90
  375. package/dist/lib/budget/config.d.ts +0 -6
  376. package/dist/lib/budget/config.js +0 -29
  377. package/dist/lib/budget/enforce.d.ts +0 -50
  378. package/dist/lib/budget/enforce.js +0 -27
  379. package/dist/lib/budget/ledger.d.ts +0 -23
  380. package/dist/lib/budget/ledger.js +0 -28
  381. package/dist/lib/budget/live-cloud.d.ts +0 -26
  382. package/dist/lib/budget/live-cloud.js +0 -12
  383. package/dist/lib/budget/live-team.d.ts +0 -17
  384. package/dist/lib/budget/live-team.js +1 -35
  385. package/dist/lib/budget/preflight.d.ts +0 -51
  386. package/dist/lib/budget/preflight.js +0 -36
  387. package/dist/lib/byok-usage.d.ts +0 -20
  388. package/dist/lib/byok-usage.js +1 -24
  389. package/dist/lib/capabilities.d.ts +0 -24
  390. package/dist/lib/capabilities.js +0 -29
  391. package/dist/lib/catchup.d.ts +0 -87
  392. package/dist/lib/catchup.js +1 -81
  393. package/dist/lib/channels/owner-forward.d.ts +0 -70
  394. package/dist/lib/channels/owner-forward.js +1 -43
  395. package/dist/lib/channels/owner-sink.js +0 -21
  396. package/dist/lib/channels/providers/desktop.d.ts +0 -37
  397. package/dist/lib/channels/providers/desktop.js +0 -72
  398. package/dist/lib/channels/providers/index.d.ts +0 -1
  399. package/dist/lib/channels/providers/index.js +2 -6
  400. package/dist/lib/channels/providers/mailbox.js +0 -7
  401. package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
  402. package/dist/lib/channels/providers/rush.d.ts +0 -2
  403. package/dist/lib/channels/providers/rush.js +0 -26
  404. package/dist/lib/channels/providers/session.d.ts +2 -0
  405. package/dist/lib/channels/providers/session.js +26 -0
  406. package/dist/lib/channels/registry.d.ts +0 -27
  407. package/dist/lib/channels/registry.js +0 -10
  408. package/dist/lib/channels/resolve.d.ts +0 -19
  409. package/dist/lib/channels/resolve.js +0 -2
  410. package/dist/lib/channels/send.d.ts +0 -50
  411. package/dist/lib/channels/send.js +0 -25
  412. package/dist/lib/checkpoint.d.ts +0 -36
  413. package/dist/lib/checkpoint.js +0 -28
  414. package/dist/lib/claude-account-token.d.ts +0 -98
  415. package/dist/lib/claude-account-token.js +7 -169
  416. package/dist/lib/claude-statusline.d.ts +0 -41
  417. package/dist/lib/claude-statusline.js +0 -68
  418. package/dist/lib/cli-entry.d.ts +0 -26
  419. package/dist/lib/cli-entry.js +1 -61
  420. package/dist/lib/cli-resources.d.ts +31 -89
  421. package/dist/lib/cli-resources.js +116 -152
  422. package/dist/lib/cloud/antigravity.d.ts +0 -29
  423. package/dist/lib/cloud/antigravity.js +0 -36
  424. package/dist/lib/cloud/codex.d.ts +0 -8
  425. package/dist/lib/cloud/codex.js +0 -41
  426. package/dist/lib/cloud/cursor.d.ts +0 -5
  427. package/dist/lib/cloud/cursor.js +2 -7
  428. package/dist/lib/cloud/dispatch.d.ts +0 -13
  429. package/dist/lib/cloud/dispatch.js +1 -48
  430. package/dist/lib/cloud/factory.d.ts +0 -52
  431. package/dist/lib/cloud/factory.js +3 -67
  432. package/dist/lib/cloud/host.d.ts +0 -39
  433. package/dist/lib/cloud/host.js +5 -48
  434. package/dist/lib/cloud/registry.d.ts +0 -25
  435. package/dist/lib/cloud/registry.js +0 -29
  436. package/dist/lib/cloud/rush.d.ts +0 -47
  437. package/dist/lib/cloud/rush.js +1 -82
  438. package/dist/lib/cloud/session-index.d.ts +0 -27
  439. package/dist/lib/cloud/session-index.js +1 -32
  440. package/dist/lib/cloud/store.d.ts +0 -18
  441. package/dist/lib/cloud/store.js +0 -28
  442. package/dist/lib/cloud/stream.d.ts +0 -14
  443. package/dist/lib/cloud/stream.js +0 -25
  444. package/dist/lib/cloud/types.d.ts +0 -168
  445. package/dist/lib/cloud/types.js +0 -46
  446. package/dist/lib/cloudflare/creds.d.ts +0 -2
  447. package/dist/lib/cloudflare/creds.js +0 -14
  448. package/dist/lib/cloudflare/provision.d.ts +0 -8
  449. package/dist/lib/cloudflare/provision.js +1 -19
  450. package/dist/lib/codex-home.d.ts +0 -60
  451. package/dist/lib/codex-home.js +2 -72
  452. package/dist/lib/codex-policy.d.ts +0 -10
  453. package/dist/lib/codex-policy.js +0 -13
  454. package/dist/lib/command-skills.d.ts +0 -10
  455. package/dist/lib/command-skills.js +0 -10
  456. package/dist/lib/commands.d.ts +0 -74
  457. package/dist/lib/commands.js +0 -112
  458. package/dist/lib/comms-render.d.ts +0 -5
  459. package/dist/lib/comms-render.js +0 -5
  460. package/dist/lib/computer/context.d.ts +0 -23
  461. package/dist/lib/computer/context.js +0 -14
  462. package/dist/lib/computer/policy.d.ts +0 -20
  463. package/dist/lib/computer/policy.js +0 -53
  464. package/dist/lib/computer/record.d.ts +0 -33
  465. package/dist/lib/computer/record.js +1 -48
  466. package/dist/lib/computer/sessions-list.d.ts +1 -128
  467. package/dist/lib/computer/sessions-list.js +6 -165
  468. package/dist/lib/computer-client.d.ts +0 -106
  469. package/dist/lib/computer-client.js +5 -86
  470. package/dist/lib/concurrency.d.ts +0 -14
  471. package/dist/lib/concurrency.js +0 -3
  472. package/dist/lib/config-drift.d.ts +0 -31
  473. package/dist/lib/config-drift.js +0 -32
  474. package/dist/lib/config-keys.d.ts +1 -65
  475. package/dist/lib/config-keys.js +6 -52
  476. package/dist/lib/config-transfer.d.ts +0 -14
  477. package/dist/lib/config-transfer.js +0 -26
  478. package/dist/lib/convert.d.ts +0 -17
  479. package/dist/lib/convert.js +0 -18
  480. package/dist/lib/crabbox/cli.d.ts +0 -156
  481. package/dist/lib/crabbox/cli.js +1 -188
  482. package/dist/lib/crabbox/config.d.ts +0 -18
  483. package/dist/lib/crabbox/config.js +1 -19
  484. package/dist/lib/crabbox/lease.d.ts +0 -93
  485. package/dist/lib/crabbox/lease.js +4 -148
  486. package/dist/lib/crabbox/progress.d.ts +0 -56
  487. package/dist/lib/crabbox/progress.js +2 -49
  488. package/dist/lib/crabbox/runtimes.d.ts +0 -94
  489. package/dist/lib/crabbox/runtimes.js +1 -111
  490. package/dist/lib/crabbox/setup-copy.d.ts +0 -64
  491. package/dist/lib/crabbox/setup-copy.js +1 -53
  492. package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
  493. package/dist/lib/daemon/account-state-daemon-service.js +2 -63
  494. package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
  495. package/dist/lib/daemon/attention-notify-service.js +1 -24
  496. package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
  497. package/dist/lib/daemon/auth-sync-service.js +0 -56
  498. package/dist/lib/daemon/catchup-service.d.ts +0 -34
  499. package/dist/lib/daemon/catchup-service.js +0 -30
  500. package/dist/lib/daemon/daemon.d.ts +0 -374
  501. package/dist/lib/daemon/daemon.js +44 -1049
  502. package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
  503. package/dist/lib/daemon/daemon.test-fixture.js +1 -24
  504. package/dist/lib/daemon/device-probe-service.d.ts +0 -16
  505. package/dist/lib/daemon/device-probe-service.js +0 -20
  506. package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
  507. package/dist/lib/daemon/feed-stream-service.js +0 -20
  508. package/dist/lib/daemon/harness-update-service.d.ts +2 -61
  509. package/dist/lib/daemon/harness-update-service.js +6 -86
  510. package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
  511. package/dist/lib/daemon/heartbeat-service.js +0 -1
  512. package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
  513. package/dist/lib/daemon/leaked-daemons.js +2 -78
  514. package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
  515. package/dist/lib/daemon/monitor-engine-service.js +3 -15
  516. package/dist/lib/daemon/runner.d.ts +0 -194
  517. package/dist/lib/daemon/runner.js +39 -760
  518. package/dist/lib/daemon/self-heal-service.d.ts +18 -17
  519. package/dist/lib/daemon/self-heal-service.js +83 -37
  520. package/dist/lib/daemon/self-update-service.d.ts +1 -131
  521. package/dist/lib/daemon/self-update-service.js +26 -189
  522. package/dist/lib/daemon/service.d.ts +0 -73
  523. package/dist/lib/daemon/service.js +0 -34
  524. package/dist/lib/daemon/session-index-service.d.ts +0 -12
  525. package/dist/lib/daemon/session-index-service.js +0 -23
  526. package/dist/lib/daemon/session-state-service.d.ts +0 -8
  527. package/dist/lib/daemon/session-state-service.js +0 -8
  528. package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
  529. package/dist/lib/daemon/session-summarizer-service.js +1 -19
  530. package/dist/lib/daemon/session-title-service.d.ts +0 -25
  531. package/dist/lib/daemon/session-title-service.js +0 -32
  532. package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
  533. package/dist/lib/daemon/state-dir-check-service.js +0 -29
  534. package/dist/lib/daemon/supervisor.d.ts +0 -112
  535. package/dist/lib/daemon/supervisor.js +4 -147
  536. package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
  537. package/dist/lib/daemon/testdata/process-view-start.js +0 -5
  538. package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
  539. package/dist/lib/daemon/tmux-reap-service.js +0 -1
  540. package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
  541. package/dist/lib/daemon/usage-sync-service.js +0 -26
  542. package/dist/lib/daemon/watchdog-service.d.ts +0 -9
  543. package/dist/lib/daemon/watchdog-service.js +0 -13
  544. package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
  545. package/dist/lib/daemon/webhook-receiver-service.js +0 -1
  546. package/dist/lib/daemon-health.d.ts +0 -55
  547. package/dist/lib/daemon-health.js +4 -77
  548. package/dist/lib/daemon-services.d.ts +0 -36
  549. package/dist/lib/daemon-services.js +0 -45
  550. package/dist/lib/daemon-ticks.d.ts +0 -126
  551. package/dist/lib/daemon-ticks.js +1 -156
  552. package/dist/lib/daemon-webhooks.d.ts +0 -57
  553. package/dist/lib/daemon-webhooks.js +2 -54
  554. package/dist/lib/deeplink/register.d.ts +0 -15
  555. package/dist/lib/deeplink/register.js +0 -60
  556. package/dist/lib/deeplink/url.d.ts +0 -24
  557. package/dist/lib/deeplink/url.js +1 -33
  558. package/dist/lib/device-config.d.ts +1 -192
  559. package/dist/lib/device-config.js +86 -240
  560. package/dist/lib/devices/config-migration.d.ts +0 -43
  561. package/dist/lib/devices/config-migration.js +7 -127
  562. package/dist/lib/devices/connect.d.ts +0 -168
  563. package/dist/lib/devices/connect.js +6 -254
  564. package/dist/lib/devices/device-docs.d.ts +0 -24
  565. package/dist/lib/devices/device-docs.js +0 -46
  566. package/dist/lib/devices/discovery-policy.d.ts +0 -30
  567. package/dist/lib/devices/discovery-policy.js +3 -34
  568. package/dist/lib/devices/doctor-findings.d.ts +0 -109
  569. package/dist/lib/devices/doctor-findings.js +30 -326
  570. package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
  571. package/dist/lib/devices/doctor-overview-cache.js +0 -81
  572. package/dist/lib/devices/fleet-divergence.d.ts +0 -89
  573. package/dist/lib/devices/fleet-divergence.js +1 -60
  574. package/dist/lib/devices/fleet-inventory.d.ts +0 -27
  575. package/dist/lib/devices/fleet-inventory.js +0 -38
  576. package/dist/lib/devices/fleet.d.ts +0 -95
  577. package/dist/lib/devices/fleet.js +0 -79
  578. package/dist/lib/devices/harness-inventory.d.ts +0 -75
  579. package/dist/lib/devices/harness-inventory.js +0 -101
  580. package/dist/lib/devices/health-report.d.ts +0 -37
  581. package/dist/lib/devices/health-report.js +0 -73
  582. package/dist/lib/devices/health.d.ts +0 -71
  583. package/dist/lib/devices/health.js +2 -82
  584. package/dist/lib/devices/interactive-host.d.ts +0 -10
  585. package/dist/lib/devices/interactive-host.js +0 -34
  586. package/dist/lib/devices/known-hosts.d.ts +0 -45
  587. package/dist/lib/devices/known-hosts.js +0 -77
  588. package/dist/lib/devices/pending.d.ts +0 -31
  589. package/dist/lib/devices/pending.js +7 -67
  590. package/dist/lib/devices/pool.d.ts +0 -36
  591. package/dist/lib/devices/pool.js +0 -30
  592. package/dist/lib/devices/reachability.d.ts +0 -25
  593. package/dist/lib/devices/reachability.js +0 -14
  594. package/dist/lib/devices/registry.d.ts +0 -141
  595. package/dist/lib/devices/registry.js +4 -151
  596. package/dist/lib/devices/resolve-profile.d.ts +0 -18
  597. package/dist/lib/devices/resolve-profile.js +0 -18
  598. package/dist/lib/devices/resolve-target.d.ts +0 -20
  599. package/dist/lib/devices/resolve-target.js +1 -51
  600. package/dist/lib/devices/rollout-verify.d.ts +1 -81
  601. package/dist/lib/devices/rollout-verify.js +0 -77
  602. package/dist/lib/devices/self-host.d.ts +0 -7
  603. package/dist/lib/devices/self-host.js +1 -29
  604. package/dist/lib/devices/ssh-config.d.ts +0 -18
  605. package/dist/lib/devices/ssh-config.js +0 -9
  606. package/dist/lib/devices/stats-cache.d.ts +0 -48
  607. package/dist/lib/devices/stats-cache.js +0 -80
  608. package/dist/lib/devices/sync.d.ts +0 -97
  609. package/dist/lib/devices/sync.js +0 -88
  610. package/dist/lib/devices/tailscale.d.ts +0 -18
  611. package/dist/lib/devices/tailscale.js +1 -38
  612. package/dist/lib/devices/terminfo.d.ts +0 -27
  613. package/dist/lib/devices/terminfo.js +2 -64
  614. package/dist/lib/devices/worker-pick.d.ts +0 -15
  615. package/dist/lib/devices/worker-pick.js +0 -48
  616. package/dist/lib/diff-text.d.ts +0 -18
  617. package/dist/lib/diff-text.js +0 -15
  618. package/dist/lib/doctor-diff.d.ts +0 -79
  619. package/dist/lib/doctor-diff.js +2 -181
  620. package/dist/lib/drift-sync.d.ts +0 -29
  621. package/dist/lib/drift-sync.js +0 -40
  622. package/dist/lib/drift.d.ts +0 -43
  623. package/dist/lib/drift.js +0 -31
  624. package/dist/lib/event-families.d.ts +0 -17
  625. package/dist/lib/event-families.js +0 -33
  626. package/dist/lib/event-provenance.d.ts +0 -4
  627. package/dist/lib/event-provenance.js +0 -5
  628. package/dist/lib/event-stream.d.ts +0 -29
  629. package/dist/lib/event-stream.js +0 -36
  630. package/dist/lib/events-ingest.d.ts +0 -27
  631. package/dist/lib/events-ingest.js +0 -54
  632. package/dist/lib/exec-account-home.d.ts +0 -24
  633. package/dist/lib/exec-account-home.js +0 -41
  634. package/dist/lib/exec-bounded.d.ts +1 -37
  635. package/dist/lib/exec-bounded.js +10 -46
  636. package/dist/lib/exec.d.ts +3 -583
  637. package/dist/lib/exec.js +18 -1025
  638. package/dist/lib/factory/snapshot.js +1 -15
  639. package/dist/lib/feed/activity-stream.d.ts +0 -27
  640. package/dist/lib/feed/activity-stream.js +4 -80
  641. package/dist/lib/feed/activity.d.ts +1 -243
  642. package/dist/lib/feed/activity.js +8 -273
  643. package/dist/lib/feed/answer.d.ts +0 -103
  644. package/dist/lib/feed/answer.js +0 -267
  645. package/dist/lib/feed/attention.d.ts +0 -56
  646. package/dist/lib/feed/attention.js +0 -161
  647. package/dist/lib/feed/envelope.d.ts +2 -17
  648. package/dist/lib/feed/envelope.js +0 -14
  649. package/dist/lib/feed/events.d.ts +0 -118
  650. package/dist/lib/feed/events.js +13 -213
  651. package/dist/lib/feed/feed.d.ts +1 -250
  652. package/dist/lib/feed/feed.js +24 -334
  653. package/dist/lib/feed/hub-server.d.ts +0 -100
  654. package/dist/lib/feed/hub-server.js +1 -191
  655. package/dist/lib/feed/hub.d.ts +0 -53
  656. package/dist/lib/feed/hub.js +0 -89
  657. package/dist/lib/feed/pr-status.d.ts +1 -19
  658. package/dist/lib/feed/pr-status.js +0 -18
  659. package/dist/lib/feed/tool-activity.d.ts +0 -59
  660. package/dist/lib/feed/tool-activity.js +1 -119
  661. package/dist/lib/feed/tools.d.ts +0 -100
  662. package/dist/lib/feed/tools.js +0 -89
  663. package/dist/lib/feed/watch.d.ts +0 -33
  664. package/dist/lib/feed/watch.js +2 -94
  665. package/dist/lib/feed-broadcast.d.ts +0 -148
  666. package/dist/lib/feed-broadcast.js +1 -283
  667. package/dist/lib/feed-outcome.d.ts +0 -50
  668. package/dist/lib/feed-outcome.js +1 -67
  669. package/dist/lib/feed-policy.d.ts +0 -6
  670. package/dist/lib/feed-policy.js +1 -27
  671. package/dist/lib/feed-post.d.ts +0 -61
  672. package/dist/lib/feed-post.js +4 -61
  673. package/dist/lib/feed-ranking.d.ts +1 -1
  674. package/dist/lib/fleet/apply.d.ts +0 -64
  675. package/dist/lib/fleet/apply.js +0 -125
  676. package/dist/lib/fleet/auth-sync.d.ts +0 -48
  677. package/dist/lib/fleet/auth-sync.js +4 -49
  678. package/dist/lib/fleet/capture.d.ts +0 -26
  679. package/dist/lib/fleet/capture.js +1 -36
  680. package/dist/lib/fleet/manifest.d.ts +0 -38
  681. package/dist/lib/fleet/manifest.js +0 -40
  682. package/dist/lib/fleet/types.d.ts +1 -138
  683. package/dist/lib/fleet/types.js +0 -12
  684. package/dist/lib/fleet-cache.d.ts +0 -12
  685. package/dist/lib/fleet-cache.js +0 -24
  686. package/dist/lib/fleet-shared-state.d.ts +6 -59
  687. package/dist/lib/fleet-shared-state.js +5 -51
  688. package/dist/lib/fleet-status.d.ts +0 -27
  689. package/dist/lib/fleet-status.js +0 -48
  690. package/dist/lib/format.d.ts +0 -74
  691. package/dist/lib/format.js +3 -77
  692. package/dist/lib/friction-heuristics.d.ts +0 -20
  693. package/dist/lib/friction-heuristics.js +0 -8
  694. package/dist/lib/fs-atomic.d.ts +0 -51
  695. package/dist/lib/fs-atomic.js +8 -66
  696. package/dist/lib/fs-walk.d.ts +0 -13
  697. package/dist/lib/fs-walk.js +0 -22
  698. package/dist/lib/fuzzy.d.ts +0 -29
  699. package/dist/lib/fuzzy.js +0 -31
  700. package/dist/lib/gemini-settings.js +0 -12
  701. package/dist/lib/git.d.ts +0 -366
  702. package/dist/lib/git.js +7 -574
  703. package/dist/lib/github/ci-failure.d.ts +30 -0
  704. package/dist/lib/github/ci-failure.js +95 -0
  705. package/dist/lib/github/gh-overload.d.ts +0 -38
  706. package/dist/lib/github/gh-overload.js +3 -55
  707. package/dist/lib/github/pr-mergeable.d.ts +3 -34
  708. package/dist/lib/github/pr-mergeable.js +2 -42
  709. package/dist/lib/github/pr-verdict.d.ts +0 -44
  710. package/dist/lib/github/pr-verdict.js +0 -36
  711. package/dist/lib/github/project-prs.d.ts +135 -105
  712. package/dist/lib/github/project-prs.js +530 -170
  713. package/dist/lib/github/release-drift.d.ts +45 -0
  714. package/dist/lib/github/release-drift.js +91 -0
  715. package/dist/lib/github/rest.d.ts +0 -50
  716. package/dist/lib/github/rest.js +0 -49
  717. package/dist/lib/github/viewer.d.ts +27 -0
  718. package/dist/lib/github/viewer.js +101 -0
  719. package/dist/lib/goose-commands.d.ts +0 -29
  720. package/dist/lib/goose-commands.js +3 -48
  721. package/dist/lib/harness/adapter.d.ts +0 -151
  722. package/dist/lib/harness/adapter.js +0 -41
  723. package/dist/lib/harness/adapters/claude.d.ts +0 -8
  724. package/dist/lib/harness/adapters/claude.js +0 -89
  725. package/dist/lib/harness/adapters/codex.js +0 -18
  726. package/dist/lib/harness/adapters/copilot.js +0 -3
  727. package/dist/lib/harness/adapters/cursor.js +0 -16
  728. package/dist/lib/harness/adapters/droid.js +0 -3
  729. package/dist/lib/harness/adapters/kimi.js +0 -19
  730. package/dist/lib/harness/adapters/muse.js +0 -9
  731. package/dist/lib/harness/adapters/opencode.js +0 -2
  732. package/dist/lib/harness/exec-config-version.d.ts +0 -2
  733. package/dist/lib/harness/exec-config-version.js +0 -13
  734. package/dist/lib/harness/index.js +0 -10
  735. package/dist/lib/harness-auth-capabilities.d.ts +0 -26
  736. package/dist/lib/harness-auth-capabilities.js +0 -18
  737. package/dist/lib/harness-connection-test.d.ts +0 -27
  738. package/dist/lib/harness-connection-test.js +2 -20
  739. package/dist/lib/heal.d.ts +0 -45
  740. package/dist/lib/heal.js +2 -82
  741. package/dist/lib/help.d.ts +0 -32
  742. package/dist/lib/help.js +0 -41
  743. package/dist/lib/helper-download.d.ts +0 -85
  744. package/dist/lib/helper-download.js +0 -95
  745. package/dist/lib/helper-versions.d.ts +0 -51
  746. package/dist/lib/helper-versions.js +1 -45
  747. package/dist/lib/hooks/cache.d.ts +0 -40
  748. package/dist/lib/hooks/cache.js +8 -122
  749. package/dist/lib/hooks/install.d.ts +0 -253
  750. package/dist/lib/hooks/install.js +49 -822
  751. package/dist/lib/hooks/match.d.ts +0 -24
  752. package/dist/lib/hooks/match.js +0 -31
  753. package/dist/lib/hooks/profile.d.ts +0 -21
  754. package/dist/lib/hooks/profile.js +0 -28
  755. package/dist/lib/hosts/credential-transport.d.ts +0 -6
  756. package/dist/lib/hosts/credential-transport.js +0 -17
  757. package/dist/lib/hosts/credentials.d.ts +0 -35
  758. package/dist/lib/hosts/credentials.js +0 -38
  759. package/dist/lib/hosts/dispatch.d.ts +0 -140
  760. package/dist/lib/hosts/dispatch.js +0 -176
  761. package/dist/lib/hosts/logs.d.ts +0 -25
  762. package/dist/lib/hosts/logs.js +1 -51
  763. package/dist/lib/hosts/option.d.ts +0 -12
  764. package/dist/lib/hosts/option.js +0 -12
  765. package/dist/lib/hosts/passthrough.d.ts +0 -129
  766. package/dist/lib/hosts/passthrough.js +12 -249
  767. package/dist/lib/hosts/progress.d.ts +0 -90
  768. package/dist/lib/hosts/progress.js +5 -115
  769. package/dist/lib/hosts/providers/devices.d.ts +0 -19
  770. package/dist/lib/hosts/providers/devices.js +1 -34
  771. package/dist/lib/hosts/providers/local.d.ts +0 -14
  772. package/dist/lib/hosts/providers/local.js +0 -22
  773. package/dist/lib/hosts/ready.d.ts +0 -99
  774. package/dist/lib/hosts/ready.js +0 -101
  775. package/dist/lib/hosts/reconcile.d.ts +0 -38
  776. package/dist/lib/hosts/reconcile.js +1 -50
  777. package/dist/lib/hosts/reconnect.d.ts +0 -75
  778. package/dist/lib/hosts/reconnect.js +0 -98
  779. package/dist/lib/hosts/registry.d.ts +0 -74
  780. package/dist/lib/hosts/registry.js +0 -110
  781. package/dist/lib/hosts/remote-cmd.d.ts +1 -228
  782. package/dist/lib/hosts/remote-cmd.js +19 -294
  783. package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
  784. package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
  785. package/dist/lib/hosts/remote-os.d.ts +0 -19
  786. package/dist/lib/hosts/remote-os.js +0 -22
  787. package/dist/lib/hosts/remote-session-id.d.ts +0 -22
  788. package/dist/lib/hosts/remote-session-id.js +0 -24
  789. package/dist/lib/hosts/routing-flag.d.ts +0 -21
  790. package/dist/lib/hosts/routing-flag.js +0 -21
  791. package/dist/lib/hosts/run-target.d.ts +0 -53
  792. package/dist/lib/hosts/run-target.js +0 -56
  793. package/dist/lib/hosts/session-index.d.ts +1 -53
  794. package/dist/lib/hosts/session-index.js +2 -59
  795. package/dist/lib/hosts/session-marker.d.ts +0 -31
  796. package/dist/lib/hosts/session-marker.js +0 -32
  797. package/dist/lib/hosts/ssh-config.d.ts +0 -25
  798. package/dist/lib/hosts/ssh-config.js +1 -32
  799. package/dist/lib/hosts/tasks.d.ts +0 -54
  800. package/dist/lib/hosts/tasks.js +0 -35
  801. package/dist/lib/hosts/types.d.ts +0 -39
  802. package/dist/lib/hosts/types.js +0 -22
  803. package/dist/lib/humans.d.ts +0 -21
  804. package/dist/lib/humans.js +0 -30
  805. package/dist/lib/identity/client.d.ts +1 -35
  806. package/dist/lib/identity/client.js +3 -29
  807. package/dist/lib/identity/index.d.ts +3 -27
  808. package/dist/lib/identity/index.js +8 -24
  809. package/dist/lib/import.d.ts +0 -104
  810. package/dist/lib/import.js +1 -137
  811. package/dist/lib/installations/active-check.d.ts +0 -53
  812. package/dist/lib/installations/active-check.js +0 -49
  813. package/dist/lib/installations/index.d.ts +0 -9
  814. package/dist/lib/installations/index.js +0 -9
  815. package/dist/lib/installations/installation-lock.js +0 -8
  816. package/dist/lib/installations/launch-gate.d.ts +0 -56
  817. package/dist/lib/installations/launch-gate.js +0 -83
  818. package/dist/lib/installations/migrate.d.ts +0 -100
  819. package/dist/lib/installations/migrate.js +105 -572
  820. package/dist/lib/installations/native-command.d.ts +0 -1
  821. package/dist/lib/installations/native-command.js +0 -6
  822. package/dist/lib/installations/resolve.d.ts +0 -24
  823. package/dist/lib/installations/resolve.js +0 -24
  824. package/dist/lib/installations/shims.d.ts +0 -395
  825. package/dist/lib/installations/shims.js +30 -957
  826. package/dist/lib/installations/store.d.ts +0 -199
  827. package/dist/lib/installations/store.js +1 -297
  828. package/dist/lib/installations/strategies.d.ts +0 -44
  829. package/dist/lib/installations/strategies.js +0 -87
  830. package/dist/lib/installations/types.d.ts +1 -67
  831. package/dist/lib/installations/types.js +0 -6
  832. package/dist/lib/installations/update-cancellation.d.ts +0 -74
  833. package/dist/lib/installations/update-cancellation.js +0 -74
  834. package/dist/lib/installations/update-policy.d.ts +0 -57
  835. package/dist/lib/installations/update-policy.js +0 -62
  836. package/dist/lib/installations/update-runtime.d.ts +0 -88
  837. package/dist/lib/installations/update-runtime.js +1 -127
  838. package/dist/lib/installations/update.d.ts +0 -53
  839. package/dist/lib/installations/update.js +0 -95
  840. package/dist/lib/installations/versions.d.ts +0 -310
  841. package/dist/lib/installations/versions.js +14 -837
  842. package/dist/lib/isolation-boundary-report.d.ts +0 -7
  843. package/dist/lib/isolation-boundary-report.js +0 -7
  844. package/dist/lib/launch-identity.d.ts +0 -8
  845. package/dist/lib/launch-identity.js +0 -8
  846. package/dist/lib/linear-autoclose.d.ts +0 -25
  847. package/dist/lib/linear-autoclose.js +0 -19
  848. package/dist/lib/linear-cache.d.ts +0 -57
  849. package/dist/lib/linear-cache.js +1 -81
  850. package/dist/lib/linear-project-counts.d.ts +0 -83
  851. package/dist/lib/linear-project-counts.js +2 -64
  852. package/dist/lib/linear-projects.d.ts +0 -62
  853. package/dist/lib/linear-projects.js +0 -85
  854. package/dist/lib/linear-rate-limit.d.ts +0 -21
  855. package/dist/lib/linear-rate-limit.js +1 -93
  856. package/dist/lib/linux-userns.d.ts +1 -42
  857. package/dist/lib/linux-userns.js +0 -47
  858. package/dist/lib/lock-compromise.d.ts +0 -7
  859. package/dist/lib/lock-compromise.js +0 -7
  860. package/dist/lib/log-follow.d.ts +0 -2
  861. package/dist/lib/log-follow.js +5 -15
  862. package/dist/lib/loop.d.ts +0 -106
  863. package/dist/lib/loop.js +0 -135
  864. package/dist/lib/machine-id.d.ts +0 -19
  865. package/dist/lib/machine-id.js +0 -19
  866. package/dist/lib/mailbox-gc.d.ts +0 -7
  867. package/dist/lib/mailbox-gc.js +0 -25
  868. package/dist/lib/mailbox-target.d.ts +0 -31
  869. package/dist/lib/mailbox-target.js +0 -27
  870. package/dist/lib/mailbox.d.ts +0 -77
  871. package/dist/lib/mailbox.js +5 -105
  872. package/dist/lib/manifest.d.ts +0 -4
  873. package/dist/lib/manifest.js +0 -36
  874. package/dist/lib/markdown.d.ts +0 -3
  875. package/dist/lib/markdown.js +0 -9
  876. package/dist/lib/mcp-registry.d.ts +1 -50
  877. package/dist/lib/mcp-registry.js +0 -64
  878. package/dist/lib/mcp.d.ts +0 -115
  879. package/dist/lib/mcp.js +3 -199
  880. package/dist/lib/memory-cache.d.ts +0 -11
  881. package/dist/lib/memory-cache.js +0 -9
  882. package/dist/lib/memory.d.ts +0 -52
  883. package/dist/lib/memory.js +12 -74
  884. package/dist/lib/menubar/download-menubar.d.ts +0 -35
  885. package/dist/lib/menubar/download-menubar.js +0 -38
  886. package/dist/lib/menubar/install-menubar.d.ts +0 -405
  887. package/dist/lib/menubar/install-menubar.js +25 -667
  888. package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
  889. package/dist/lib/menubar/migrate-prefs.js +1 -70
  890. package/dist/lib/menubar/notify-desktop.d.ts +0 -82
  891. package/dist/lib/menubar/notify-desktop.js +0 -68
  892. package/dist/lib/menubar/resolve-version.d.ts +0 -41
  893. package/dist/lib/menubar/resolve-version.js +2 -44
  894. package/dist/lib/menubar/snapshot.d.ts +13 -66
  895. package/dist/lib/menubar/snapshot.js +45 -39
  896. package/dist/lib/merged-resources.d.ts +0 -10
  897. package/dist/lib/merged-resources.js +0 -10
  898. package/dist/lib/migrate-fold.d.ts +0 -31
  899. package/dist/lib/migrate-fold.js +6 -38
  900. package/dist/lib/model-tier-overrides.d.ts +0 -30
  901. package/dist/lib/model-tier-overrides.js +0 -14
  902. package/dist/lib/model-tiers.d.ts +0 -43
  903. package/dist/lib/model-tiers.js +5 -78
  904. package/dist/lib/models.d.ts +0 -145
  905. package/dist/lib/models.js +3 -333
  906. package/dist/lib/monitors/config.d.ts +0 -187
  907. package/dist/lib/monitors/config.js +4 -101
  908. package/dist/lib/monitors/dispatch.d.ts +0 -22
  909. package/dist/lib/monitors/dispatch.js +0 -35
  910. package/dist/lib/monitors/engine.d.ts +1 -53
  911. package/dist/lib/monitors/engine.js +17 -106
  912. package/dist/lib/monitors/fingerprint.d.ts +0 -43
  913. package/dist/lib/monitors/fingerprint.js +0 -57
  914. package/dist/lib/monitors/pid-watch.d.ts +0 -31
  915. package/dist/lib/monitors/pid-watch.js +0 -31
  916. package/dist/lib/monitors/remote.d.ts +0 -52
  917. package/dist/lib/monitors/remote.js +0 -42
  918. package/dist/lib/monitors/sources/command.d.ts +2 -9
  919. package/dist/lib/monitors/sources/command.js +13 -34
  920. package/dist/lib/monitors/sources/device.d.ts +0 -10
  921. package/dist/lib/monitors/sources/device.js +0 -14
  922. package/dist/lib/monitors/sources/failure.d.ts +0 -27
  923. package/dist/lib/monitors/sources/failure.js +0 -27
  924. package/dist/lib/monitors/sources/file.d.ts +0 -10
  925. package/dist/lib/monitors/sources/file.js +0 -11
  926. package/dist/lib/monitors/sources/http.d.ts +0 -7
  927. package/dist/lib/monitors/sources/http.js +0 -9
  928. package/dist/lib/monitors/sources/index.d.ts +0 -9
  929. package/dist/lib/monitors/sources/index.js +0 -9
  930. package/dist/lib/monitors/sources/poll.d.ts +0 -8
  931. package/dist/lib/monitors/sources/poll.js +0 -8
  932. package/dist/lib/monitors/sources/types.d.ts +0 -18
  933. package/dist/lib/monitors/sources/types.js +0 -8
  934. package/dist/lib/monitors/sources/webhook.d.ts +0 -7
  935. package/dist/lib/monitors/sources/webhook.js +0 -7
  936. package/dist/lib/monitors/sources/ws.d.ts +0 -10
  937. package/dist/lib/monitors/sources/ws.js +3 -13
  938. package/dist/lib/monitors/state.d.ts +0 -132
  939. package/dist/lib/monitors/state.js +2 -86
  940. package/dist/lib/native-accounts.d.ts +0 -32
  941. package/dist/lib/native-accounts.js +0 -17
  942. package/dist/lib/net-close.d.ts +0 -9
  943. package/dist/lib/net-close.js +0 -5
  944. package/dist/lib/notify.d.ts +0 -47
  945. package/dist/lib/notify.js +0 -30
  946. package/dist/lib/onepassword.d.ts +0 -14
  947. package/dist/lib/onepassword.js +0 -12
  948. package/dist/lib/open-url.d.ts +0 -38
  949. package/dist/lib/open-url.js +1 -69
  950. package/dist/lib/openclaw-keychain.js +2 -7
  951. package/dist/lib/operator.d.ts +0 -9
  952. package/dist/lib/operator.js +0 -34
  953. package/dist/lib/origin-machine.d.ts +0 -16
  954. package/dist/lib/origin-machine.js +0 -16
  955. package/dist/lib/output/git-output.d.ts +0 -31
  956. package/dist/lib/output/git-output.js +4 -43
  957. package/dist/lib/overdue.d.ts +0 -35
  958. package/dist/lib/overdue.js +0 -60
  959. package/dist/lib/owner-message.d.ts +0 -20
  960. package/dist/lib/owner-message.js +1 -40
  961. package/dist/lib/packages/output-home.d.ts +0 -28
  962. package/dist/lib/packages/output-home.js +0 -114
  963. package/dist/lib/paths.d.ts +0 -26
  964. package/dist/lib/paths.js +1 -27
  965. package/dist/lib/percentile.d.ts +0 -11
  966. package/dist/lib/percentile.js +0 -11
  967. package/dist/lib/perf/db.d.ts +0 -16
  968. package/dist/lib/perf/db.js +3 -32
  969. package/dist/lib/perf/spool.d.ts +0 -12
  970. package/dist/lib/perf/spool.js +0 -13
  971. package/dist/lib/perf/types.d.ts +0 -26
  972. package/dist/lib/perf/types.js +0 -1
  973. package/dist/lib/permissions-registry.d.ts +0 -48
  974. package/dist/lib/permissions-registry.js +0 -108
  975. package/dist/lib/permissions.d.ts +0 -215
  976. package/dist/lib/permissions.js +4 -407
  977. package/dist/lib/picker.d.ts +0 -124
  978. package/dist/lib/picker.js +0 -140
  979. package/dist/lib/placement.d.ts +0 -57
  980. package/dist/lib/placement.js +0 -47
  981. package/dist/lib/platform/exec.d.ts +0 -73
  982. package/dist/lib/platform/exec.js +0 -80
  983. package/dist/lib/platform/index.d.ts +0 -14
  984. package/dist/lib/platform/index.js +0 -14
  985. package/dist/lib/platform/ipc.d.ts +0 -10
  986. package/dist/lib/platform/ipc.js +0 -13
  987. package/dist/lib/platform/links.d.ts +0 -14
  988. package/dist/lib/platform/links.js +0 -25
  989. package/dist/lib/platform/paths.d.ts +0 -48
  990. package/dist/lib/platform/paths.js +0 -52
  991. package/dist/lib/platform/posixpath.d.ts +0 -18
  992. package/dist/lib/platform/posixpath.js +0 -62
  993. package/dist/lib/platform/process.d.ts +0 -67
  994. package/dist/lib/platform/process.js +5 -99
  995. package/dist/lib/platform/winpath.d.ts +0 -50
  996. package/dist/lib/platform/winpath.js +0 -81
  997. package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
  998. package/dist/lib/plugins/plugin-marketplace.js +10 -238
  999. package/dist/lib/plugins/plugins.d.ts +0 -238
  1000. package/dist/lib/plugins/plugins.js +20 -454
  1001. package/dist/lib/plugins/skills.d.ts +0 -86
  1002. package/dist/lib/plugins/skills.js +1 -139
  1003. package/dist/lib/pr-land-detach.d.ts +0 -17
  1004. package/dist/lib/pr-land-detach.js +0 -30
  1005. package/dist/lib/pricing/cost.d.ts +0 -29
  1006. package/dist/lib/pricing/cost.js +0 -38
  1007. package/dist/lib/pricing/index.d.ts +0 -6
  1008. package/dist/lib/pricing/index.js +0 -6
  1009. package/dist/lib/pricing/table.d.ts +0 -8
  1010. package/dist/lib/pricing/table.js +3 -56
  1011. package/dist/lib/probe.d.ts +0 -5
  1012. package/dist/lib/probe.js +0 -40
  1013. package/dist/lib/profiles-presets.d.ts +0 -20
  1014. package/dist/lib/profiles-presets.js +1 -36
  1015. package/dist/lib/profiles.d.ts +0 -185
  1016. package/dist/lib/profiles.js +1 -158
  1017. package/dist/lib/project-doctor.d.ts +0 -29
  1018. package/dist/lib/project-doctor.js +0 -26
  1019. package/dist/lib/project-focus.d.ts +0 -41
  1020. package/dist/lib/project-focus.js +0 -49
  1021. package/dist/lib/project-import.d.ts +0 -41
  1022. package/dist/lib/project-import.js +0 -36
  1023. package/dist/lib/project-key.d.ts +0 -65
  1024. package/dist/lib/project-key.js +0 -70
  1025. package/dist/lib/project-launch.d.ts +0 -49
  1026. package/dist/lib/project-launch.js +2 -91
  1027. package/dist/lib/project-probe.d.ts +0 -86
  1028. package/dist/lib/project-probe.js +1 -88
  1029. package/dist/lib/project-pull.d.ts +0 -96
  1030. package/dist/lib/project-pull.js +0 -122
  1031. package/dist/lib/project-resources.d.ts +0 -44
  1032. package/dist/lib/project-resources.js +7 -171
  1033. package/dist/lib/project-root.d.ts +0 -95
  1034. package/dist/lib/project-root.js +0 -101
  1035. package/dist/lib/project-schedule.d.ts +0 -43
  1036. package/dist/lib/project-schedule.js +0 -52
  1037. package/dist/lib/project-status.d.ts +0 -108
  1038. package/dist/lib/project-status.js +0 -117
  1039. package/dist/lib/projects.d.ts +0 -197
  1040. package/dist/lib/projects.js +1 -213
  1041. package/dist/lib/pwsh.d.ts +0 -41
  1042. package/dist/lib/pwsh.js +0 -51
  1043. package/dist/lib/quick-todo.d.ts +84 -0
  1044. package/dist/lib/quick-todo.js +243 -0
  1045. package/dist/lib/reconcile-and-repair.d.ts +0 -78
  1046. package/dist/lib/reconcile-and-repair.js +3 -66
  1047. package/dist/lib/redact.d.ts +0 -29
  1048. package/dist/lib/redact.js +0 -54
  1049. package/dist/lib/refresh-coordinator.d.ts +0 -15
  1050. package/dist/lib/refresh-coordinator.js +0 -10
  1051. package/dist/lib/refresh.d.ts +0 -39
  1052. package/dist/lib/refresh.js +0 -45
  1053. package/dist/lib/registry.d.ts +0 -65
  1054. package/dist/lib/registry.js +0 -127
  1055. package/dist/lib/reminders.d.ts +0 -21
  1056. package/dist/lib/reminders.js +0 -30
  1057. package/dist/lib/remote-agents-json.d.ts +0 -44
  1058. package/dist/lib/remote-agents-json.js +1 -44
  1059. package/dist/lib/reserved-stores.d.ts +0 -28
  1060. package/dist/lib/reserved-stores.js +2 -28
  1061. package/dist/lib/resource-aliases.d.ts +0 -12
  1062. package/dist/lib/resource-aliases.js +0 -12
  1063. package/dist/lib/resource-content-diff.d.ts +0 -28
  1064. package/dist/lib/resource-content-diff.js +7 -34
  1065. package/dist/lib/resource-inventory.d.ts +0 -51
  1066. package/dist/lib/resource-inventory.js +0 -45
  1067. package/dist/lib/resource-patterns.d.ts +0 -32
  1068. package/dist/lib/resource-patterns.js +0 -34
  1069. package/dist/lib/resource-profiles.d.ts +0 -7
  1070. package/dist/lib/resource-profiles.js +0 -11
  1071. package/dist/lib/resources/types.d.ts +0 -50
  1072. package/dist/lib/resources/types.js +0 -7
  1073. package/dist/lib/resources/workflows.d.ts +0 -7
  1074. package/dist/lib/resources/workflows.js +0 -13
  1075. package/dist/lib/resources.d.ts +0 -65
  1076. package/dist/lib/resources.js +0 -78
  1077. package/dist/lib/routers.d.ts +0 -67
  1078. package/dist/lib/routers.js +0 -60
  1079. package/dist/lib/routine-activation.d.ts +0 -23
  1080. package/dist/lib/routine-activation.js +0 -24
  1081. package/dist/lib/routine-context.d.ts +1 -91
  1082. package/dist/lib/routine-context.js +0 -107
  1083. package/dist/lib/routine-notify-owner.d.ts +0 -79
  1084. package/dist/lib/routine-notify-owner.js +1 -103
  1085. package/dist/lib/routine-notify.d.ts +0 -70
  1086. package/dist/lib/routine-notify.js +1 -75
  1087. package/dist/lib/routine-process-cleanup.d.ts +0 -1
  1088. package/dist/lib/routine-process-cleanup.js +1 -4
  1089. package/dist/lib/routine-readiness.d.ts +0 -63
  1090. package/dist/lib/routine-readiness.js +4 -86
  1091. package/dist/lib/routines-format.d.ts +0 -40
  1092. package/dist/lib/routines-format.js +0 -67
  1093. package/dist/lib/routines-placement.d.ts +0 -33
  1094. package/dist/lib/routines-placement.js +0 -40
  1095. package/dist/lib/routines-project.d.ts +0 -57
  1096. package/dist/lib/routines-project.js +6 -80
  1097. package/dist/lib/rules/compile.d.ts +0 -66
  1098. package/dist/lib/rules/compile.js +6 -118
  1099. package/dist/lib/rules/compose.d.ts +0 -56
  1100. package/dist/lib/rules/compose.js +2 -83
  1101. package/dist/lib/rules/rules.d.ts +0 -23
  1102. package/dist/lib/rules/rules.js +0 -35
  1103. package/dist/lib/rules/run-sync.d.ts +0 -16
  1104. package/dist/lib/rules/run-sync.js +1 -44
  1105. package/dist/lib/run-config.d.ts +0 -7
  1106. package/dist/lib/run-config.js +0 -8
  1107. package/dist/lib/run-defaults.d.ts +0 -14
  1108. package/dist/lib/run-defaults.js +0 -14
  1109. package/dist/lib/run-notify.d.ts +0 -18
  1110. package/dist/lib/run-notify.js +0 -36
  1111. package/dist/lib/run-trace-sync.d.ts +0 -21
  1112. package/dist/lib/run-trace-sync.js +2 -66
  1113. package/dist/lib/rush-session.d.ts +0 -26
  1114. package/dist/lib/rush-session.js +0 -28
  1115. package/dist/lib/sandbox.d.ts +0 -45
  1116. package/dist/lib/sandbox.js +5 -93
  1117. package/dist/lib/scheduler.d.ts +0 -28
  1118. package/dist/lib/scheduler.js +0 -45
  1119. package/dist/lib/scheduling/routines.d.ts +0 -652
  1120. package/dist/lib/scheduling/routines.js +8 -475
  1121. package/dist/lib/secrets-cli.d.ts +3 -8
  1122. package/dist/lib/secrets-cli.js +1 -19
  1123. package/dist/lib/secrets-client.d.ts +0 -117
  1124. package/dist/lib/secrets-client.js +4 -275
  1125. package/dist/lib/secrets-policy.d.ts +0 -142
  1126. package/dist/lib/secrets-policy.js +4 -237
  1127. package/dist/lib/secrets-types.d.ts +0 -87
  1128. package/dist/lib/secrets-types.js +0 -13
  1129. package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
  1130. package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
  1131. package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
  1132. package/dist/lib/self-heal/checks/install-staging.js +1 -28
  1133. package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
  1134. package/dist/lib/self-heal/checks/path.js +0 -9
  1135. package/dist/lib/self-heal/checks/resources.js +0 -5
  1136. package/dist/lib/self-heal/checks/shadowing.js +2 -16
  1137. package/dist/lib/self-heal/checks/shims.js +0 -14
  1138. package/dist/lib/self-heal/child.d.ts +12 -0
  1139. package/dist/lib/self-heal/child.js +23 -0
  1140. package/dist/lib/self-heal/registry.d.ts +0 -9
  1141. package/dist/lib/self-heal/registry.js +0 -16
  1142. package/dist/lib/self-heal/types.d.ts +0 -12
  1143. package/dist/lib/self-heal/types.js +0 -15
  1144. package/dist/lib/self-update.d.ts +0 -312
  1145. package/dist/lib/self-update.js +9 -360
  1146. package/dist/lib/service-manifest.d.ts +0 -39
  1147. package/dist/lib/service-manifest.js +0 -72
  1148. package/dist/lib/session/active.d.ts +13 -869
  1149. package/dist/lib/session/active.js +17 -976
  1150. package/dist/lib/session/actor-sidecar.d.ts +1 -32
  1151. package/dist/lib/session/actor-sidecar.js +1 -41
  1152. package/dist/lib/session/bookmarks.d.ts +0 -33
  1153. package/dist/lib/session/bookmarks.js +0 -37
  1154. package/dist/lib/session/bundle.d.ts +0 -86
  1155. package/dist/lib/session/bundle.js +0 -54
  1156. package/dist/lib/session/claude-accounts.d.ts +0 -40
  1157. package/dist/lib/session/claude-accounts.js +0 -49
  1158. package/dist/lib/session/cloud.d.ts +1 -23
  1159. package/dist/lib/session/cloud.js +0 -26
  1160. package/dist/lib/session/db.d.ts +5 -658
  1161. package/dist/lib/session/db.js +22 -1443
  1162. package/dist/lib/session/detached.d.ts +0 -21
  1163. package/dist/lib/session/detached.js +0 -29
  1164. package/dist/lib/session/discover.d.ts +3 -420
  1165. package/dist/lib/session/discover.js +30 -1123
  1166. package/dist/lib/session/fork.d.ts +1 -41
  1167. package/dist/lib/session/fork.js +0 -19
  1168. package/dist/lib/session/ghostty-tabs.d.ts +0 -24
  1169. package/dist/lib/session/ghostty-tabs.js +0 -37
  1170. package/dist/lib/session/glance-files.d.ts +19 -0
  1171. package/dist/lib/session/glance-files.js +258 -0
  1172. package/dist/lib/session/hook-sessions.d.ts +0 -33
  1173. package/dist/lib/session/hook-sessions.js +4 -99
  1174. package/dist/lib/session/host-link.d.ts +1 -94
  1175. package/dist/lib/session/host-link.js +1 -81
  1176. package/dist/lib/session/inject-target.d.ts +8 -0
  1177. package/dist/lib/session/inject-target.js +32 -0
  1178. package/dist/lib/session/inject.d.ts +0 -15
  1179. package/dist/lib/session/inject.js +0 -15
  1180. package/dist/lib/session/live-metadata.d.ts +1 -34
  1181. package/dist/lib/session/live-metadata.js +1 -73
  1182. package/dist/lib/session/local-tmux-attach.d.ts +0 -37
  1183. package/dist/lib/session/local-tmux-attach.js +1 -76
  1184. package/dist/lib/session/migrate-targets.d.ts +0 -46
  1185. package/dist/lib/session/migrate-targets.js +0 -24
  1186. package/dist/lib/session/migrations.d.ts +0 -12
  1187. package/dist/lib/session/migrations.js +1 -20
  1188. package/dist/lib/session/mirror.d.ts +0 -32
  1189. package/dist/lib/session/mirror.js +0 -77
  1190. package/dist/lib/session/origin-machine.js +0 -3
  1191. package/dist/lib/session/pid-registry.d.ts +0 -80
  1192. package/dist/lib/session/pid-registry.js +2 -81
  1193. package/dist/lib/session/presence.d.ts +0 -39
  1194. package/dist/lib/session/presence.js +2 -52
  1195. package/dist/lib/session/process-view.d.ts +0 -11
  1196. package/dist/lib/session/process-view.js +0 -25
  1197. package/dist/lib/session/projection.d.ts +0 -3
  1198. package/dist/lib/session/projection.js +0 -10
  1199. package/dist/lib/session/provenance.d.ts +1 -37
  1200. package/dist/lib/session/provenance.js +0 -69
  1201. package/dist/lib/session/recovery.d.ts +1 -40
  1202. package/dist/lib/session/recovery.js +2 -80
  1203. package/dist/lib/session/relative-time.js +0 -3
  1204. package/dist/lib/session/remote/peer-stream.d.ts +0 -42
  1205. package/dist/lib/session/remote/peer-stream.js +0 -64
  1206. package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
  1207. package/dist/lib/session/remote/remote-bundle.js +0 -21
  1208. package/dist/lib/session/remote/remote-list.d.ts +1 -110
  1209. package/dist/lib/session/remote/remote-list.js +5 -139
  1210. package/dist/lib/session/remote/remote.d.ts +0 -98
  1211. package/dist/lib/session/remote/remote.js +3 -119
  1212. package/dist/lib/session/remote/watch.d.ts +1 -34
  1213. package/dist/lib/session/remote/watch.js +12 -72
  1214. package/dist/lib/session/remote-active.d.ts +0 -35
  1215. package/dist/lib/session/remote-active.js +0 -48
  1216. package/dist/lib/session/remote-bundle.js +0 -2
  1217. package/dist/lib/session/remote-list.js +0 -2
  1218. package/dist/lib/session/remote-preview-cache.d.ts +0 -7
  1219. package/dist/lib/session/remote-preview-cache.js +1 -76
  1220. package/dist/lib/session/remote.js +0 -2
  1221. package/dist/lib/session/resume-command.d.ts +0 -6
  1222. package/dist/lib/session/resume-command.js +0 -6
  1223. package/dist/lib/session/resume-owner.d.ts +1 -52
  1224. package/dist/lib/session/resume-owner.js +0 -56
  1225. package/dist/lib/session/run-names.d.ts +0 -24
  1226. package/dist/lib/session/run-names.js +0 -26
  1227. package/dist/lib/session/session-cache.d.ts +2 -146
  1228. package/dist/lib/session/session-cache.js +26 -203
  1229. package/dist/lib/session/short-id.js +0 -3
  1230. package/dist/lib/session/sync/agents.d.ts +0 -68
  1231. package/dist/lib/session/sync/agents.js +0 -0
  1232. package/dist/lib/session/sync/backend.d.ts +0 -39
  1233. package/dist/lib/session/sync/backend.js +0 -45
  1234. package/dist/lib/session/sync/config.d.ts +0 -27
  1235. package/dist/lib/session/sync/config.js +0 -56
  1236. package/dist/lib/session/sync/managed-config.d.ts +0 -17
  1237. package/dist/lib/session/sync/managed-config.js +0 -17
  1238. package/dist/lib/session/sync/managed-key.d.ts +0 -38
  1239. package/dist/lib/session/sync/managed-key.js +1 -42
  1240. package/dist/lib/session/sync/net-client.d.ts +0 -36
  1241. package/dist/lib/session/sync/net-client.js +0 -30
  1242. package/dist/lib/session/sync/provision.d.ts +0 -2
  1243. package/dist/lib/session/sync/provision.js +0 -13
  1244. package/dist/lib/session/sync/r2.d.ts +0 -20
  1245. package/dist/lib/session/sync/r2.js +0 -20
  1246. package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
  1247. package/dist/lib/session/sync/transcript-crypto.js +5 -37
  1248. package/dist/lib/session/sync/worker-template.d.ts +0 -5
  1249. package/dist/lib/session/sync/worker-template.js +0 -40
  1250. package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
  1251. package/dist/lib/session/testdata/process-view-private.js +0 -1
  1252. package/dist/lib/session/throughput.d.ts +0 -24
  1253. package/dist/lib/session/throughput.js +1 -25
  1254. package/dist/lib/session/timeline-pass.d.ts +1 -63
  1255. package/dist/lib/session/timeline-pass.js +161 -148
  1256. package/dist/lib/session/title.d.ts +0 -182
  1257. package/dist/lib/session/title.js +0 -139
  1258. package/dist/lib/session/tool-index.d.ts +2 -21
  1259. package/dist/lib/session/tool-index.js +3 -75
  1260. package/dist/lib/session/tool-store.d.ts +2 -48
  1261. package/dist/lib/session/tool-store.js +1 -33
  1262. package/dist/lib/session/viewing-in.d.ts +0 -67
  1263. package/dist/lib/session/viewing-in.js +1 -71
  1264. package/dist/lib/session/watch.js +0 -2
  1265. package/dist/lib/session/width.js +0 -3
  1266. package/dist/lib/sessions-client.d.ts +0 -46
  1267. package/dist/lib/sessions-client.js +36 -113
  1268. package/dist/lib/settings-manifest.d.ts +1 -17
  1269. package/dist/lib/settings-manifest.js +4 -57
  1270. package/dist/lib/setup-tool-install.d.ts +0 -1
  1271. package/dist/lib/setup-tool-install.js +2 -7
  1272. package/dist/lib/setup-tool-status.d.ts +0 -3
  1273. package/dist/lib/setup-tool-status.js +4 -14
  1274. package/dist/lib/sha256-asset.d.ts +0 -20
  1275. package/dist/lib/sha256-asset.js +0 -20
  1276. package/dist/lib/share-runtime.d.ts +0 -10
  1277. package/dist/lib/share-runtime.js +1 -27
  1278. package/dist/lib/shim-heal.d.ts +0 -15
  1279. package/dist/lib/shim-heal.js +3 -29
  1280. package/dist/lib/signin-badge.d.ts +0 -72
  1281. package/dist/lib/signin-badge.js +0 -86
  1282. package/dist/lib/sink-format.d.ts +0 -32
  1283. package/dist/lib/sink-format.js +0 -14
  1284. package/dist/lib/smart-launch.d.ts +0 -75
  1285. package/dist/lib/smart-launch.js +1 -83
  1286. package/dist/lib/snapshot.d.ts +0 -46
  1287. package/dist/lib/snapshot.js +5 -31
  1288. package/dist/lib/spinner.d.ts +0 -37
  1289. package/dist/lib/spinner.js +0 -37
  1290. package/dist/lib/sqlite.d.ts +0 -13
  1291. package/dist/lib/sqlite.js +3 -71
  1292. package/dist/lib/ssh-exec.d.ts +0 -209
  1293. package/dist/lib/ssh-exec.js +11 -248
  1294. package/dist/lib/ssh-tunnel.d.ts +0 -43
  1295. package/dist/lib/ssh-tunnel.js +2 -48
  1296. package/dist/lib/staleness/checkers/commands.d.ts +0 -4
  1297. package/dist/lib/staleness/checkers/commands.js +0 -4
  1298. package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
  1299. package/dist/lib/staleness/checkers/hooks.js +0 -15
  1300. package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
  1301. package/dist/lib/staleness/checkers/mcp.js +0 -9
  1302. package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
  1303. package/dist/lib/staleness/checkers/permissions.js +0 -13
  1304. package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
  1305. package/dist/lib/staleness/checkers/plugins.js +0 -8
  1306. package/dist/lib/staleness/checkers/rules.d.ts +0 -15
  1307. package/dist/lib/staleness/checkers/rules.js +0 -26
  1308. package/dist/lib/staleness/checkers/skills.d.ts +0 -4
  1309. package/dist/lib/staleness/checkers/skills.js +0 -4
  1310. package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
  1311. package/dist/lib/staleness/checkers/subagents.js +0 -9
  1312. package/dist/lib/staleness/checkers/types.d.ts +0 -34
  1313. package/dist/lib/staleness/checkers/types.js +0 -19
  1314. package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
  1315. package/dist/lib/staleness/checkers/workflows.js +0 -7
  1316. package/dist/lib/staleness/detectors/commands.js +0 -17
  1317. package/dist/lib/staleness/detectors/hooks.js +1 -6
  1318. package/dist/lib/staleness/detectors/mcp.js +0 -4
  1319. package/dist/lib/staleness/detectors/permissions.js +10 -23
  1320. package/dist/lib/staleness/detectors/rules.js +0 -6
  1321. package/dist/lib/staleness/detectors/skills.d.ts +0 -1
  1322. package/dist/lib/staleness/detectors/skills.js +1 -12
  1323. package/dist/lib/staleness/detectors/types.d.ts +0 -10
  1324. package/dist/lib/staleness/fingerprint.d.ts +0 -19
  1325. package/dist/lib/staleness/fingerprint.js +0 -35
  1326. package/dist/lib/staleness/index.d.ts +0 -28
  1327. package/dist/lib/staleness/index.js +1 -45
  1328. package/dist/lib/staleness/layers.d.ts +0 -23
  1329. package/dist/lib/staleness/layers.js +0 -34
  1330. package/dist/lib/staleness/prune.d.ts +0 -71
  1331. package/dist/lib/staleness/prune.js +2 -27
  1332. package/dist/lib/staleness/registry.d.ts +0 -10
  1333. package/dist/lib/staleness/registry.js +3 -33
  1334. package/dist/lib/staleness/types.d.ts +0 -36
  1335. package/dist/lib/staleness/types.js +0 -5
  1336. package/dist/lib/staleness/writers/commands.js +1 -48
  1337. package/dist/lib/staleness/writers/hooks.js +1 -18
  1338. package/dist/lib/staleness/writers/kinds.d.ts +0 -12
  1339. package/dist/lib/staleness/writers/kinds.js +0 -1
  1340. package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
  1341. package/dist/lib/staleness/writers/mcp.js +0 -13
  1342. package/dist/lib/staleness/writers/plugins.js +0 -4
  1343. package/dist/lib/staleness/writers/rules.d.ts +0 -1
  1344. package/dist/lib/staleness/writers/rules.js +1 -19
  1345. package/dist/lib/staleness/writers/skills.js +3 -14
  1346. package/dist/lib/staleness/writers/sources.d.ts +0 -11
  1347. package/dist/lib/staleness/writers/sources.js +0 -32
  1348. package/dist/lib/staleness/writers/subagents.js +0 -16
  1349. package/dist/lib/staleness/writers/types.d.ts +0 -58
  1350. package/dist/lib/staleness/writers/workflows.js +1 -1
  1351. package/dist/lib/standalone-tools.d.ts +24 -0
  1352. package/dist/lib/standalone-tools.js +58 -0
  1353. package/dist/lib/star-nudge.d.ts +0 -32
  1354. package/dist/lib/star-nudge.js +2 -36
  1355. package/dist/lib/startup/command-registry.d.ts +0 -45
  1356. package/dist/lib/startup/command-registry.js +1 -46
  1357. package/dist/lib/startup/dev-build.d.ts +0 -9
  1358. package/dist/lib/startup/dev-build.js +1 -42
  1359. package/dist/lib/startup/root-command.d.ts +0 -19
  1360. package/dist/lib/startup/root-command.js +0 -19
  1361. package/dist/lib/startup/spellcheck.d.ts +0 -13
  1362. package/dist/lib/startup/spellcheck.js +0 -13
  1363. package/dist/lib/state.d.ts +0 -376
  1364. package/dist/lib/state.js +19 -737
  1365. package/dist/lib/storage/selection.d.ts +0 -40
  1366. package/dist/lib/storage/selection.js +0 -29
  1367. package/dist/lib/subagents-registry.d.ts +0 -56
  1368. package/dist/lib/subagents-registry.js +0 -99
  1369. package/dist/lib/subagents.d.ts +0 -128
  1370. package/dist/lib/subagents.js +1 -158
  1371. package/dist/lib/summarizer/config.d.ts +0 -37
  1372. package/dist/lib/summarizer/config.js +0 -37
  1373. package/dist/lib/summarizer/pass.d.ts +0 -20
  1374. package/dist/lib/summarizer/pass.js +1 -34
  1375. package/dist/lib/summarizer/summarize.d.ts +1 -49
  1376. package/dist/lib/summarizer/summarize.js +0 -35
  1377. package/dist/lib/sync-passphrase.d.ts +0 -16
  1378. package/dist/lib/sync-passphrase.js +1 -18
  1379. package/dist/lib/sync-status.d.ts +0 -72
  1380. package/dist/lib/sync-status.js +0 -55
  1381. package/dist/lib/sync-umbrella.d.ts +0 -54
  1382. package/dist/lib/sync-umbrella.js +0 -48
  1383. package/dist/lib/system-run-sync.d.ts +0 -5
  1384. package/dist/lib/system-run-sync.js +1 -31
  1385. package/dist/lib/teams/agents.d.ts +1 -444
  1386. package/dist/lib/teams/agents.js +11 -871
  1387. package/dist/lib/teams/api.d.ts +2 -52
  1388. package/dist/lib/teams/api.js +4 -63
  1389. package/dist/lib/teams/debug.d.ts +0 -6
  1390. package/dist/lib/teams/debug.js +0 -6
  1391. package/dist/lib/teams/delivery.d.ts +0 -41
  1392. package/dist/lib/teams/delivery.js +0 -32
  1393. package/dist/lib/teams/file_ops.d.ts +0 -11
  1394. package/dist/lib/teams/file_ops.js +0 -11
  1395. package/dist/lib/teams/forEach.d.ts +0 -76
  1396. package/dist/lib/teams/forEach.js +1 -77
  1397. package/dist/lib/teams/index.d.ts +1 -7
  1398. package/dist/lib/teams/index.js +1 -7
  1399. package/dist/lib/teams/parsers.d.ts +0 -4
  1400. package/dist/lib/teams/parsers.js +0 -81
  1401. package/dist/lib/teams/persistence.d.ts +0 -2
  1402. package/dist/lib/teams/persistence.js +0 -12
  1403. package/dist/lib/teams/placement-probe.d.ts +0 -12
  1404. package/dist/lib/teams/placement-probe.js +1 -51
  1405. package/dist/lib/teams/pr-watch.d.ts +0 -107
  1406. package/dist/lib/teams/pr-watch.js +1 -107
  1407. package/dist/lib/teams/registry.d.ts +0 -36
  1408. package/dist/lib/teams/registry.js +0 -47
  1409. package/dist/lib/teams/remoteWorktree.d.ts +0 -50
  1410. package/dist/lib/teams/remoteWorktree.js +1 -96
  1411. package/dist/lib/teams/scheduler.d.ts +0 -111
  1412. package/dist/lib/teams/scheduler.js +2 -125
  1413. package/dist/lib/teams/summarizer.d.ts +0 -22
  1414. package/dist/lib/teams/summarizer.js +6 -50
  1415. package/dist/lib/teams/supervisor.d.ts +0 -38
  1416. package/dist/lib/teams/supervisor.js +0 -21
  1417. package/dist/lib/teams/worktree.d.ts +0 -95
  1418. package/dist/lib/teams/worktree.js +3 -110
  1419. package/dist/lib/template.d.ts +0 -21
  1420. package/dist/lib/template.js +0 -23
  1421. package/dist/lib/term-client.d.ts +0 -26
  1422. package/dist/lib/term-client.js +0 -48
  1423. package/dist/lib/term-driver.d.ts +0 -5
  1424. package/dist/lib/term-driver.js +0 -8
  1425. package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
  1426. package/dist/lib/terminal/backends/ghostty.js +0 -12
  1427. package/dist/lib/terminal/backends/index.d.ts +0 -17
  1428. package/dist/lib/terminal/backends/index.js +0 -15
  1429. package/dist/lib/terminal/backends/iterm.d.ts +0 -2
  1430. package/dist/lib/terminal/backends/iterm.js +0 -10
  1431. package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
  1432. package/dist/lib/terminal/backends/terminal-app.js +0 -30
  1433. package/dist/lib/terminal/backends/tmux.d.ts +0 -10
  1434. package/dist/lib/terminal/backends/tmux.js +0 -2
  1435. package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
  1436. package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
  1437. package/dist/lib/terminal/engine.d.ts +0 -17
  1438. package/dist/lib/terminal/engine.js +0 -10
  1439. package/dist/lib/terminal/index.d.ts +0 -8
  1440. package/dist/lib/terminal/inject.d.ts +1 -173
  1441. package/dist/lib/terminal/inject.js +0 -146
  1442. package/dist/lib/terminal/policy.d.ts +0 -8
  1443. package/dist/lib/terminal/policy.js +0 -1
  1444. package/dist/lib/terminal/preferred.d.ts +0 -66
  1445. package/dist/lib/terminal/preferred.js +0 -30
  1446. package/dist/lib/terminal/quote.d.ts +0 -8
  1447. package/dist/lib/terminal/quote.js +0 -8
  1448. package/dist/lib/terminal/resolve.d.ts +0 -46
  1449. package/dist/lib/terminal/resolve.js +0 -30
  1450. package/dist/lib/terminal/run-surface.d.ts +0 -56
  1451. package/dist/lib/terminal/run-surface.js +0 -46
  1452. package/dist/lib/terminal/shell.d.ts +0 -3
  1453. package/dist/lib/terminal/shell.js +0 -13
  1454. package/dist/lib/terminal/transport.d.ts +0 -14
  1455. package/dist/lib/terminal/transport.js +1 -30
  1456. package/dist/lib/terminal/types.d.ts +0 -40
  1457. package/dist/lib/terminal/types.js +0 -10
  1458. package/dist/lib/text/relative-time.d.ts +0 -36
  1459. package/dist/lib/text/relative-time.js +0 -43
  1460. package/dist/lib/text/short-id.d.ts +0 -16
  1461. package/dist/lib/text/short-id.js +0 -16
  1462. package/dist/lib/text/width.d.ts +0 -24
  1463. package/dist/lib/text/width.js +10 -52
  1464. package/dist/lib/tmux/binary.d.ts +0 -36
  1465. package/dist/lib/tmux/binary.js +0 -28
  1466. package/dist/lib/tmux/index.d.ts +0 -5
  1467. package/dist/lib/tmux/index.js +0 -5
  1468. package/dist/lib/tmux/orphan-reap.d.ts +0 -253
  1469. package/dist/lib/tmux/orphan-reap.js +3 -299
  1470. package/dist/lib/tmux/paths.d.ts +0 -14
  1471. package/dist/lib/tmux/paths.js +0 -14
  1472. package/dist/lib/tmux/session.d.ts +0 -263
  1473. package/dist/lib/tmux/session.js +6 -344
  1474. package/dist/lib/traces/backend.d.ts +0 -20
  1475. package/dist/lib/traces/backend.js +0 -23
  1476. package/dist/lib/traces/classify.d.ts +0 -20
  1477. package/dist/lib/traces/classify.js +0 -7
  1478. package/dist/lib/traces/insights.d.ts +1 -84
  1479. package/dist/lib/traces/insights.js +0 -126
  1480. package/dist/lib/traces/phenotype.d.ts +0 -69
  1481. package/dist/lib/traces/phenotype.js +0 -150
  1482. package/dist/lib/traces/provision.d.ts +0 -1
  1483. package/dist/lib/traces/provision.js +0 -5
  1484. package/dist/lib/traces/schema2-build.d.ts +3 -60
  1485. package/dist/lib/traces/schema2-build.js +8 -149
  1486. package/dist/lib/traces/schema2-danger.d.ts +0 -30
  1487. package/dist/lib/traces/schema2-danger.js +1 -63
  1488. package/dist/lib/traces/schema2.d.ts +0 -11
  1489. package/dist/lib/traces/segments.d.ts +0 -44
  1490. package/dist/lib/traces/segments.js +0 -65
  1491. package/dist/lib/traces/sync.d.ts +2 -239
  1492. package/dist/lib/traces/sync.js +15 -237
  1493. package/dist/lib/traces/worker-template.d.ts +0 -3
  1494. package/dist/lib/traces/worker-template.js +0 -29
  1495. package/dist/lib/triggers/handlers.d.ts +0 -82
  1496. package/dist/lib/triggers/handlers.js +0 -75
  1497. package/dist/lib/triggers/webhook.d.ts +0 -158
  1498. package/dist/lib/triggers/webhook.js +0 -143
  1499. package/dist/lib/types.d.ts +0 -736
  1500. package/dist/lib/types.js +0 -50
  1501. package/dist/lib/uninstall.d.ts +0 -17
  1502. package/dist/lib/uninstall.js +0 -75
  1503. package/dist/lib/usage-backoff.d.ts +0 -20
  1504. package/dist/lib/usage-backoff.js +3 -60
  1505. package/dist/lib/usage-refresh.d.ts +0 -154
  1506. package/dist/lib/usage-refresh.js +8 -212
  1507. package/dist/lib/verbs.d.ts +0 -12
  1508. package/dist/lib/verbs.js +0 -12
  1509. package/dist/lib/version-duplicates.d.ts +0 -6
  1510. package/dist/lib/version-duplicates.js +0 -6
  1511. package/dist/lib/version.d.ts +0 -55
  1512. package/dist/lib/version.js +1 -58
  1513. package/dist/lib/view-types.d.ts +0 -48
  1514. package/dist/lib/warn-unpushed.d.ts +0 -27
  1515. package/dist/lib/warn-unpushed.js +1 -45
  1516. package/dist/lib/watchdog/history.d.ts +0 -1
  1517. package/dist/lib/watchdog/history.js +0 -3
  1518. package/dist/lib/watchdog/index.js +0 -2
  1519. package/dist/lib/watchdog/log.d.ts +0 -19
  1520. package/dist/lib/watchdog/log.js +0 -34
  1521. package/dist/lib/watchdog/read.d.ts +0 -27
  1522. package/dist/lib/watchdog/read.js +3 -58
  1523. package/dist/lib/watchdog/rotate.d.ts +0 -139
  1524. package/dist/lib/watchdog/rotate.js +2 -151
  1525. package/dist/lib/watchdog/runner.d.ts +0 -125
  1526. package/dist/lib/watchdog/runner.js +3 -223
  1527. package/dist/lib/watchdog/service.d.ts +0 -1
  1528. package/dist/lib/watchdog/service.js +0 -2
  1529. package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
  1530. package/dist/lib/watchdog/watchdog-agent.js +0 -27
  1531. package/dist/lib/watchdog/watchdog.d.ts +0 -7
  1532. package/dist/lib/watchdog/watchdog.js +0 -10
  1533. package/dist/lib/watchdog/watchdogTail.js +0 -7
  1534. package/dist/lib/whats-new.d.ts +0 -10
  1535. package/dist/lib/whats-new.js +0 -21
  1536. package/dist/lib/workflows-registry.d.ts +0 -45
  1537. package/dist/lib/workflows-registry.js +0 -60
  1538. package/dist/lib/workflows.d.ts +0 -282
  1539. package/dist/lib/workflows.js +3 -213
  1540. package/dist/lib/worktree/held.d.ts +0 -89
  1541. package/dist/lib/worktree/held.js +1 -103
  1542. package/dist/lib/wrap.d.ts +0 -32
  1543. package/dist/lib/wrap.js +0 -32
  1544. package/dist/lib/yaml-io.d.ts +0 -45
  1545. package/dist/lib/yaml-io.js +0 -47
  1546. package/dist/session-tracker/dist/adapters/claude.js +0 -2
  1547. package/dist/session-tracker/dist/hook.sh +4 -37
  1548. package/dist/session-tracker/dist/index.d.ts +0 -7
  1549. package/dist/session-tracker/dist/index.js +0 -5
  1550. package/dist/session-tracker/dist/install-hook.d.ts +0 -5
  1551. package/dist/session-tracker/dist/install-hook.js +1 -15
  1552. package/dist/session-tracker/dist/prune-state.js +0 -4
  1553. package/dist/session-tracker/dist/reader.js +0 -4
  1554. package/dist/session-tracker/dist/state-file.d.ts +0 -3
  1555. package/dist/session-tracker/dist/state-file.js +3 -8
  1556. package/package.json +3 -4
  1557. package/scripts/postinstall.js +8 -116
  1558. package/dist/lib/session/artifacts.d.ts +0 -14
  1559. package/dist/lib/session/artifacts.js +0 -101
  1560. package/dist/lib/session/bash-command.d.ts +0 -63
  1561. package/dist/lib/session/bash-command.js +0 -490
  1562. package/dist/lib/session/digest.d.ts +0 -66
  1563. package/dist/lib/session/digest.js +0 -328
  1564. package/dist/lib/session/highlights.d.ts +0 -151
  1565. package/dist/lib/session/highlights.js +0 -391
  1566. package/dist/lib/session/insights.d.ts +0 -165
  1567. package/dist/lib/session/insights.js +0 -563
  1568. package/dist/lib/session/linear.d.ts +0 -19
  1569. package/dist/lib/session/linear.js +0 -99
  1570. package/dist/lib/session/parse.d.ts +0 -224
  1571. package/dist/lib/session/parse.js +0 -2408
  1572. package/dist/lib/session/prompt.d.ts +0 -213
  1573. package/dist/lib/session/prompt.js +0 -601
  1574. package/dist/lib/session/render.d.ts +0 -133
  1575. package/dist/lib/session/render.js +0 -1047
  1576. package/dist/lib/session/share-html.d.ts +0 -35
  1577. package/dist/lib/session/share-html.js +0 -319
  1578. package/dist/lib/session/shell-programs.d.ts +0 -33
  1579. package/dist/lib/session/shell-programs.js +0 -380
  1580. package/dist/lib/session/state.d.ts +0 -269
  1581. package/dist/lib/session/state.js +0 -777
  1582. package/dist/lib/session/stream-render.d.ts +0 -4
  1583. package/dist/lib/session/stream-render.js +0 -131
  1584. package/dist/lib/session/tail.d.ts +0 -88
  1585. package/dist/lib/session/tail.js +0 -294
  1586. package/dist/lib/session/team-filter.d.ts +0 -129
  1587. package/dist/lib/session/team-filter.js +0 -269
  1588. package/dist/lib/session/timeline.d.ts +0 -172
  1589. package/dist/lib/session/timeline.js +0 -636
  1590. package/dist/lib/session/tool-calls.d.ts +0 -132
  1591. package/dist/lib/session/tool-calls.js +0 -674
  1592. package/dist/lib/session/trajectory-compare.d.ts +0 -48
  1593. package/dist/lib/session/trajectory-compare.js +0 -116
  1594. package/dist/lib/session/trajectory-html.d.ts +0 -19
  1595. package/dist/lib/session/trajectory-html.js +0 -771
  1596. package/dist/lib/session/trajectory-lineage.d.ts +0 -93
  1597. package/dist/lib/session/trajectory-lineage.js +0 -195
  1598. package/dist/lib/session/trajectory-text.d.ts +0 -38
  1599. package/dist/lib/session/trajectory-text.js +0 -284
  1600. package/dist/lib/session/trajectory.d.ts +0 -145
  1601. package/dist/lib/session/trajectory.js +0 -394
  1602. package/dist/lib/session/types.d.ts +0 -627
  1603. package/dist/lib/session/types.js +0 -43
@@ -1,44 +1,25 @@
1
- /**
2
- * Interactive session picker and preview renderer.
3
- *
4
- * Powers the fuzzy-searchable session list shown by `agents sessions` in a TTY.
5
- * Builds a compact preview for each session (prompt, activity summary, last
6
- * response) and delegates to the generic `itemPicker` for the interactive UI.
7
- */
8
1
  import fs from 'node:fs';
9
2
  import path from 'node:path';
10
3
  import chalk from 'chalk';
11
4
  import { truncate, humanDuration, formatBytes } from '../lib/format.js';
12
- import { sessionDisplayAgent } from '../lib/session/types.js';
5
+ import { sessionDisplayAgent } from '@phnx-labs/sessions-cli/reader';
13
6
  import { fetchPeerPreviewDigest } from '../lib/session/remote-list.js';
14
- import { parseSession, sanitizeForTerminal, SNAPSHOT_TODO_TOOLS } from '../lib/session/parse.js';
15
- import { readSessionTail, readSessionHead } from '../lib/session/tail.js';
16
- import { safeTeamText } from '../lib/session/team-filter.js';
17
- import { cleanSessionPrompt, extractSessionTopic, isSyntheticUserMessage, firstUserMessageFromEvents } from '../lib/session/prompt.js';
18
- import { linkPath, linkUrl, relativeToCwd, shortenModel } from '../lib/session/render.js';
19
- import { linearIssueUrl } from '../lib/session/linear.js';
20
- import { extractTodoProgress, WORKTREE_RE } from '../lib/session/state.js';
7
+ import { parseSession, sanitizeForTerminal, SNAPSHOT_TODO_TOOLS } from '@phnx-labs/sessions-cli/reader';
8
+ import { readSessionTail, readSessionHead } from '@phnx-labs/sessions-cli/reader';
9
+ import { safeTeamText } from '@phnx-labs/sessions-cli/reader';
10
+ import { cleanSessionPrompt, extractSessionTopic, isSyntheticUserMessage, firstUserMessageFromEvents } from '@phnx-labs/sessions-cli/reader';
11
+ import { linkPath, linkUrl, relativeToCwd, shortenModel } from '@phnx-labs/sessions-cli/reader';
12
+ import { linearIssueUrl } from '@phnx-labs/sessions-cli/reader';
13
+ import { extractTodoProgress, WORKTREE_RE } from '@phnx-labs/sessions-cli/reader';
21
14
  import { renderMarkdown } from '../lib/markdown.js';
22
15
  import { wrapToWidth } from '../lib/wrap.js';
23
16
  import { terminalWidth, stringWidth } from '../lib/session/width.js';
24
17
  import { itemPicker } from '../lib/picker.js';
25
18
  import { createMemoryCache } from '../lib/memory-cache.js';
26
- import { classifyFileChanges, changeCounts, toolHistogram, detectTestResult } from '../lib/session/digest.js';
27
- import { extractArtifacts, extractHooks, extractLinks, extractRepos, extractSkills, harnessTracksBackgroundShells, isBackgroundShellStart, isSubAgentTool, } from '../lib/session/highlights.js';
19
+ import { classifyFileChanges, changeCounts, toolHistogram, detectTestResult } from '@phnx-labs/sessions-cli/reader';
20
+ import { extractArtifacts, extractHooks, extractLinks, extractRepos, extractSkills, harnessTracksBackgroundShells, isBackgroundShellStart, isSubAgentTool, } from '@phnx-labs/sessions-cli/reader';
28
21
  import { getSessionPlugins, readSessionPreviewCache, writeSessionPreviewCache, readSessionContent, readArchivedSessionPreview } from '../lib/session/db.js';
29
22
  import { machineId } from '../lib/session/sync/config.js';
30
- /** A session whose transcript FILE is on another machine: its `filePath` is on
31
- * that peer's disk, so the preview can't parse it locally — it fetches the
32
- * peer's digest over SSH and shows metadata + a "resume there" note until that
33
- * lands. `_remote` is an explicit signal; a peer `machine` plus no readable
34
- * local file covers host-dispatch index rows and live-registry rows that were
35
- * synthesized outside the fan-out. A locally-readable synced mirror stays
36
- * local even when its recorded owner is another machine.
37
- *
38
- * This is the READ rule and only the read rule. Whether a session may be
39
- * RESUMED here is a different question with a different answer — a mirror is
40
- * readable but not resumable — and `sessionOwnerDevice`
41
- * (lib/session/resume-owner.ts) is the single place that answers it (RUSH-2022). */
42
23
  export function transcriptOnPeerOf(session) {
43
24
  if (session._remote)
44
25
  return session.machine;
@@ -49,12 +30,6 @@ export function transcriptOnPeerOf(session) {
49
30
  }
50
31
  return undefined;
51
32
  }
52
- /**
53
- * Compact checklist tally for list rows and previews (RUSH-2045).
54
- * Example: `✓6/8 · A5 wiring runner`. Empty string when there is no list.
55
- * Consumes `SessionMeta.todos` / `ActiveSession.todos` as populated by the
56
- * state engine — does not re-parse transcripts.
57
- */
58
33
  export function formatTodoCompact(todos) {
59
34
  if (!todos || !Number.isFinite(todos.total) || todos.total < 1)
60
35
  return '';
@@ -63,11 +38,6 @@ export function formatTodoCompact(todos) {
63
38
  const step = todos.activeForm?.replace(/\s+/g, ' ').trim();
64
39
  return step ? `${tally} · ${step}` : tally;
65
40
  }
66
- /**
67
- * Best-effort GitHub repo URL from a checkout path shaped like
68
- * `…/github.com/<owner>/<repo>/…`. Used to make the project name clickable
69
- * when no Linear project URL is available.
70
- */
71
41
  export function githubRepoUrlFromCwd(cwd) {
72
42
  if (!cwd)
73
43
  return undefined;
@@ -75,12 +45,7 @@ export function githubRepoUrlFromCwd(cwd) {
75
45
  const m = norm.match(/\/github\.com\/([^/]+\/[^/]+)/);
76
46
  return m ? `https://github.com/${m[1]}` : undefined;
77
47
  }
78
- /**
79
- * SessionMeta originates in discover.ts (gitBranch, cwd, label, etc. read from
80
- * untrusted session files). parseSession sanitizes event payloads at its
81
- * chokepoint, but meta fields bypass that path. Strip terminal escapes here
82
- * before any meta string reaches a TTY.
83
- */
48
+ // Peer metadata is untrusted: bound its shape and strip terminal escapes before rendering.
84
49
  function sanitizeMeta(s) {
85
50
  const clean = (v) => (v == null ? v : sanitizeForTerminal(v));
86
51
  const todos = s.todos
@@ -110,9 +75,6 @@ function sanitizeMeta(s) {
110
75
  generatedTitle: clean(s.generatedTitle),
111
76
  ticketId: clean(s.ticketId),
112
77
  prUrl: clean(s.prUrl),
113
- // A remote row's meta is peer-supplied JSON that parseRemoteList hands over
114
- // unsanitized, and both of these reach the preview pane — so an escape
115
- // sequence in a peer's plan text or path list would otherwise hit our TTY.
116
78
  plan: clean(s.plan),
117
79
  spawnedTeam: clean(s.spawnedTeam),
118
80
  recentDirectoriesTouched: s.recentDirectoriesTouched?.map(sanitizeForTerminal),
@@ -130,17 +92,10 @@ const remoteDigestCache = createMemoryCache({
130
92
  function remoteDigestKey(sessionId, machine) {
131
93
  return `${machine}:${sessionId}`;
132
94
  }
133
- /**
134
- * The open picker's repaint trigger. The peer fetch resolves while the pane is
135
- * already painted, so completion has to nudge the picker into re-rendering —
136
- * pickers register their trigger here (via `registerPreviewRepaint`) and clear
137
- * it when they close, making a late fetch after close a no-op.
138
- */
139
95
  let remotePreviewRepaint;
140
96
  export function setRemotePreviewRepaint(repaint) {
141
97
  remotePreviewRepaint = repaint;
142
98
  }
143
- /** Seam for tests: the real fetcher opens an SSH connection to the peer. */
144
99
  let peerDigestFetcher = fetchPeerPreviewDigest;
145
100
  export function setPeerDigestFetcherForTest(fetcher) {
146
101
  peerDigestFetcher = fetcher ?? fetchPeerPreviewDigest;
@@ -148,12 +103,6 @@ export function setPeerDigestFetcherForTest(fetcher) {
148
103
  export function clearRemoteDigestCacheForTest() {
149
104
  remoteDigestCache.clear();
150
105
  }
151
- /**
152
- * Look up (or start fetching) the peer digest for a remote row. Returns the
153
- * current entry synchronously — `buildPreview` renders whatever state exists
154
- * now, and the fetch's completion repaints the pane through the registered
155
- * trigger.
156
- */
157
106
  function remoteDigestForPreview(session, machine) {
158
107
  const key = remoteDigestKey(session.id, machine);
159
108
  const existing = remoteDigestCache.get(key);
@@ -172,14 +121,7 @@ function remoteDigestForPreview(session, machine) {
172
121
  .then(() => remotePreviewRepaint?.());
173
122
  return pending;
174
123
  }
175
- /**
176
- * Validate + scrub a peer-supplied preview digest before any of it reaches this
177
- * terminal. Peer JSON is untrusted at this boundary — the same rule
178
- * `sanitizeMeta` applies to fan-out rows — so every string is stripped of
179
- * terminal escapes and every list re-shaped field by field. Anything that
180
- * doesn't look like the v1 digest is rejected, so a version-skewed peer
181
- * degrades to the metadata card instead of a corrupted pane.
182
- */
124
+ // Remote links retain OSC-8 only for http(s); every other field is terminal-sanitized and size-bounded.
183
125
  export function sanitizeRemoteDigest(raw) {
184
126
  if (!raw || typeof raw !== 'object' || Array.isArray(raw))
185
127
  return undefined;
@@ -235,15 +177,9 @@ export function sanitizeRemoteDigest(raw) {
235
177
  planFile: str(d.planFile),
236
178
  todos,
237
179
  subAgentCount: num(d.subAgentCount),
238
- // optNum, not num: a peer's JSON is untrusted, and the undefined-vs-0
239
- // distinction is load-bearing here — num() would coerce a malformed value
240
- // to 0, which reads as "scanned, none running".
241
180
  backgroundShellCount: optNum(d.backgroundShellCount),
242
181
  toolTags: strList(d.toolTags),
243
182
  changes,
244
- // Per-file paths from an untrusted peer: keep only well-formed {path, op}
245
- // entries (path scrubbed of terminal escapes, op a known FileOp), bounded
246
- // like the local build so a hostile peer can't flood the pane.
247
183
  changedFiles: objList(d.changedFiles, (f) => {
248
184
  const path = str(f.path);
249
185
  const op = f.op === 'created' || f.op === 'modified' || f.op === 'deleted' ? f.op : undefined;
@@ -271,8 +207,6 @@ export function sanitizeRemoteDigest(raw) {
271
207
  links: objList(d.links, (l) => {
272
208
  const url = str(l.url);
273
209
  const label = str(l.label);
274
- // Only http(s) URLs render as OSC 8 hyperlinks — anything else a peer
275
- // sends (file:, a bare payload) is dropped rather than linkified.
276
210
  return /^https?:\/\//.test(url) && label ? { kind: 'other', url, label } : undefined;
277
211
  }),
278
212
  errorCount: num(d.errorCount),
@@ -295,14 +229,9 @@ function previewCacheKey(session, remote) {
295
229
  fileStamp = 'missing';
296
230
  }
297
231
  }
298
- // A remote row's rendered pane depends on the fetched digest's state
299
- // (none → pending → ready/failed), so the state rides the key — otherwise the
300
- // memoized metadata-only card would keep serving after the digest arrived.
301
232
  const remoteDigestState = remote
302
233
  ? remoteDigestCache.get(remoteDigestKey(session.id, remote))?.state ?? 'none'
303
234
  : '';
304
- // The transcript stamp invalidates derived activity. Metadata that can change
305
- // independently (label/ticket/PR/live scanner enrichment) also rides the key.
306
235
  return JSON.stringify([
307
236
  remote ?? '', remoteDigestState, session.id, fileStamp, session.lastActivity, session.label,
308
237
  session.generatedTitle,
@@ -317,21 +246,11 @@ export function clearPreviewMemoryCacheForTest() {
317
246
  }
318
247
  export function loadSessionPreviewDigest(session) {
319
248
  if (!session.filePath || !fs.existsSync(session.filePath)) {
320
- // File gone, but an archived session (RUSH-2436) keeps its last-computed
321
- // digest in the DB — serve that so the picker preview still shows its turns
322
- // instead of a bare "not indexed here" note. No events to replay.
323
249
  const archived = readArchivedSessionPreview(session.id);
324
250
  if (archived) {
325
251
  archived.plugins = getSessionPlugins(session.id);
326
252
  return { digest: archived, events: [] };
327
253
  }
328
- // No file on disk AND no archived digest: a metadata-only row (a Rush
329
- // dispatch/audit row, a synthesized attach-only entry, a live session not
330
- // yet indexed) with nothing to read (PHNX-3999). Callers that only
331
- // destructure `digest` (the picker's "not indexed here" note) are
332
- // unaffected; a JSON caller reading `error` gets a truthful reason instead
333
- // of a `preview: null` that looks identical to "this session genuinely has
334
- // no content yet".
335
254
  return { events: [], error: 'no local transcript for this session (metadata-only entry, no archived digest)' };
336
255
  }
337
256
  const safe = sanitizeMeta(session);
@@ -348,49 +267,14 @@ export function loadSessionPreviewDigest(session) {
348
267
  fileSize: sourceStamp.size,
349
268
  });
350
269
  if (!digest) {
270
+ // Large uncached transcripts use bounded tail plus bounded head, so a tail follow-up is never mislabeled as the first prompt.
351
271
  if (sourceStamp.size > PREVIEW_DIGEST_MAX_PARSE_BYTES) {
352
- // A full `parseSession` on a cache miss is a synchronous, unbounded
353
- // whole-file parse with no time/byte cap of its own (PHNX-3999) — real
354
- // 6.3 MiB and 35.7 MiB screenshot-heavy transcripts on this fleet both
355
- // lacked a computed digest/timeline, consistent with this path not
356
- // finishing in a reasonable request budget for either. `PREVIEW_DIGEST_MAX_PARSE_BYTES`
357
- // is deliberately smaller than the daemon's own background-work ceiling
358
- // (see that constant's own doc) so this catches both real cases.
359
- //
360
- // This IS genuinely partial, not empty: rather than parsing nothing,
361
- // `readSessionTail` (`tail.ts`) reads only the LAST 128 KiB of the file
362
- // (already the live-view's own bounded reader, reused verbatim — no new
363
- // parse logic) for a real recent-events window on the two harnesses it
364
- // supports (Claude/Codex); event-derived fields below (toolCalls,
365
- // toolTags, etc.) reflect that tail window, not the whole session, which
366
- // `partialReason` states explicitly.
367
- //
368
- // `firstUser` is NEVER set from the tail fold: a tail window's "first
369
- // user message IN THAT WINDOW" is a mid-session follow-up on any
370
- // multi-turn session, not the session's actual original request, and
371
- // there is no honest way to tell the two apart from the tail alone.
372
- // Falling back to it would silently mislabel a follow-up as the
373
- // original ask. Preference order for the CANONICAL original request:
374
- // (1) the already-indexed `SessionMeta.firstUserMessage` (zero
375
- // extra I/O); (2) failing that, a bounded HEAD read (`readSessionHead`,
376
- // `tail.ts` — the mirror of the tail reader, first ~32 KiB from byte 0,
377
- // where a session's opening turn always lives) so a row with no indexed
378
- // value yet still gets the REAL original request rather than nothing.
379
- // Only when neither is available does `firstUser` stay empty —
380
- // `partial`/`partialReason` already say why detail is missing, which is
381
- // the truthful signal, never a guessed value. The digest is cached
382
- // against this stamp so the bound is paid once per transcript version,
383
- // not once per call.
384
272
  events = readSessionTail(session.filePath, session.agent);
385
273
  digest = buildSessionPreviewDigest(events, safe);
386
274
  if (session.firstUserMessage) {
387
275
  digest.firstUser = session.firstUserMessage;
388
276
  }
389
277
  else {
390
- // Reuse the canonical extractor (rejects synthetic/system-injected
391
- // turns, unwraps a Grok/Cursor <user_query> wrapper) rather than a
392
- // bespoke inline find — the same rules SessionMeta.firstUserMessage
393
- // itself was built with.
394
278
  digest.firstUser = firstUserMessageFromEvents(readSessionHead(session.filePath, session.agent)) ?? '';
395
279
  }
396
280
  digest.partial = true;
@@ -421,7 +305,6 @@ export function loadSessionPreviewDigest(session) {
421
305
  digest.plugins = getSessionPlugins(session.id);
422
306
  return { digest, events };
423
307
  }
424
- /** Build a cached multi-line preview string for display in the session picker. */
425
308
  export function buildPreview(session) {
426
309
  const remote = transcriptOnPeerOf(session);
427
310
  const cacheKey = previewCacheKey(session, remote);
@@ -429,22 +312,9 @@ export function buildPreview(session) {
429
312
  if (cached)
430
313
  return cached;
431
314
  const safe = sanitizeMeta(session);
432
- // Remote session: the transcript is on the peer's disk, so there is nothing to
433
- // parse here. The common case is now a fleet-synced MIRROR row (PHNX-3792): its
434
- // topic + first-user snippet + metadata are already local, so the compact card
435
- // renders INLINE with no per-row SSH. The live SSH digest fetch stays as the
436
- // fallback for a never-synced row (or a peer whose digest was already fetched
437
- // this session), and `space` still reads the full transcript live over SSH.
438
315
  if (remote) {
439
- // A fleet-synced MIRROR row is the explicit signal that this box already
440
- // holds the peer session's topic + first-user snippet locally (PHNX-3792):
441
- // render inline with NO per-row SSH. An ordinary remote row (a live fan-out
442
- // row, or a never-synced host-dispatch stub) is NOT treated as synced — it
443
- // keeps the live digest fetch below, so this change is scoped to mirror rows.
444
316
  const fetched = remoteDigestCache.get(remoteDigestKey(session.id, remote));
445
317
  if (fetched?.state === 'ready') {
446
- // A richer live digest already landed this session (changed files, tool
447
- // mix) — prefer it over the lightweight mirror card.
448
318
  const note = ' ' + chalk.gray(`on `) + chalk.bold.white(remote)
449
319
  + chalk.gray(` — enter to resume there`);
450
320
  const body = formatCompactPreview(fetched.digest, safe);
@@ -460,8 +330,6 @@ export function buildPreview(session) {
460
330
  previewCache.set(cacheKey, output);
461
331
  return output;
462
332
  }
463
- // Not a mirror row: fall back to the live SSH digest fetch (kicked off on
464
- // first render; the pane repaints when it lands).
465
333
  const note = ' ' + chalk.gray(`on `) + chalk.bold.white(remote)
466
334
  + chalk.gray(` — enter to resume there, or space then enter to read it over SSH`);
467
335
  const entry = remoteDigestForPreview(session, remote);
@@ -479,9 +347,6 @@ export function buildPreview(session) {
479
347
  previewCache.set(cacheKey, output);
480
348
  return output;
481
349
  }
482
- // No transcript on disk — either an archived session (file gone, user turns
483
- // still in the DB — RUSH-2436), a live session not indexed locally, or a
484
- // synthesized entry (an attach-only resume). Show the header + a clean note.
485
350
  if (!session.filePath || !fs.existsSync(session.filePath)) {
486
351
  const archivedContent = readSessionContent(session.id);
487
352
  if (archivedContent && archivedContent.trim() !== '') {
@@ -514,7 +379,6 @@ const DOT = chalk.gray(' · ');
514
379
  function formatHeader(session, events) {
515
380
  const model = extractModel(events) || session.model;
516
381
  const { createdAgo, lastActiveAgo, duration } = extractTiming(session, events);
517
- // Line 1: Agent v version · shortId · model · account
518
382
  const line1 = [];
519
383
  line1.push(chalk.gray(`${displayAgent(sessionDisplayAgent(session))}${session.version ? ` v${session.version}` : ''}`));
520
384
  if (session.shortId)
@@ -523,9 +387,6 @@ function formatHeader(session, events) {
523
387
  line1.push(chalk.bold.white(shortenModel(model)));
524
388
  if (session.account)
525
389
  line1.push(chalk.gray(session.account));
526
- // Line 2: cwd · project · branch · created X ago · last active Y ago · lasted Z
527
- // Project is clickable: Linear issue URL is for tickets (line 4); for the
528
- // project name prefer a GitHub repo URL derived from the checkout path.
529
390
  const line2 = [];
530
391
  if (session.cwd) {
531
392
  const label = relativeToCwd(session.cwd);
@@ -543,8 +404,6 @@ function formatHeader(session, events) {
543
404
  line2.push(chalk.gray('last active ') + chalk.white(lastActiveAgo + ' ago'));
544
405
  if (duration)
545
406
  line2.push(chalk.gray('lasted ') + chalk.white(duration));
546
- // Line 4: ticket + PR — clickable when a URL is resolvable (OSC 8 hyperlink),
547
- // plain text otherwise. Only rendered when the session carries either.
548
407
  const line4 = [];
549
408
  if (session.ticketId) {
550
409
  const url = linearIssueUrl(session.ticketId);
@@ -554,14 +413,6 @@ function formatHeader(session, events) {
554
413
  const label = session.prNumber ? `PR#${session.prNumber}` : 'PR';
555
414
  line4.push(chalk.blue(linkUrl(session.prUrl, label)));
556
415
  }
557
- // Lead with the session's human title: `session.label` — an agent-generated
558
- // name / `/rename`, else the `--name` launch handle — else the daemon-generated
559
- // title (PHNX-3797), which is a short technical NAME, not a restatement of the
560
- // prompt. NOT `session.topic`: the topic is the derived first-prompt, already
561
- // shown on the `Prompt:` line, so using it here too would print the same text
562
- // twice. A session with neither keeps that `Prompt:` line as its topic
563
- // indicator and simply leads with the agent line. Wrapped to the pane (the
564
- // header sits at column 0, full terminal width).
565
416
  const title = (session.label || session.generatedTitle || '').trim();
566
417
  const titleLines = title
567
418
  ? wrapToWidth(title, terminalWidth()).map(l => chalk.bold.white(l))
@@ -573,44 +424,7 @@ function formatHeader(session, events) {
573
424
  ...(line4.length ? [line4.join(DOT)] : []),
574
425
  ].join('\n');
575
426
  }
576
- /**
577
- * Body lines available from SessionMeta alone (no transcript parse) — used for
578
- * remote / unindexed sessions so checklist progress still surfaces when the
579
- * parser teammate (or a prior scan) has populated `session.todos`.
580
- */
581
- /**
582
- * The session's place in a team, from whichever end it sits at: the orchestrator
583
- * that ran `agents teams create` (from the scan-derived `spawnedTeam`), or a
584
- * teammate (from its `meta.json`, via `classifyTeamSession`). Empty for a session
585
- * with no team involvement, which is the overwhelming majority.
586
- *
587
- * Deliberately no live teammate counts: tallying a team means reading every
588
- * record under the teams-agents dir, which runs to thousands of files on a busy
589
- * machine — far too much for a pane that repaints as the cursor moves. The line
590
- * names the command that does report them instead.
591
- */
592
- /**
593
- * The "what did this session leave running" segments of the Doing line.
594
- *
595
- * Prefers a DERIVED count (fresh, from the transcript the caller just parsed)
596
- * and falls back to the PERSISTED column, which is what lets a remote/unindexed
597
- * row — rendered from `SessionMeta` alone, with no events — show fan-out at all.
598
- * That fallback is the whole reason the counts are columns (RUSH-3091/3095).
599
- *
600
- * A count of 0 or undefined renders NOTHING. Both are real states — "scanned,
601
- * none found" and "this harness cannot report it" — and a literal "0 background
602
- * shells" would assert "nothing is running" for a harness that simply does not
603
- * record them.
604
- *
605
- * Wording is "left behind", not "running": a transcript records a start and
606
- * never a death (see extractBackgroundShells).
607
- */
608
427
  export function formatFanOut(session, derived) {
609
- // DERIVED wins when the caller has one. It is computed from the transcript as
610
- // it stands right now, whereas the persisted column is only as fresh as the
611
- // last scan — for a live session those disagree within seconds. The persisted
612
- // value is the fallback that makes a remote/unindexed row (no events, so no
613
- // derived value) render at all, which is the whole reason it is a column.
614
428
  const subAgents = derived?.subAgentCount ?? session.subAgentCount ?? 0;
615
429
  const shells = derived?.backgroundShellCount ?? session.backgroundShellCount ?? 0;
616
430
  const out = [];
@@ -647,10 +461,6 @@ function formatMetaOnlyBody(session) {
647
461
  const lines = [];
648
462
  const termWidth = process.stdout.columns || 80;
649
463
  const valueWidth = termWidth - VERB_GUTTER - 5;
650
- // Same verb-led rows as the digest body (RUSH-2757), from SessionMeta alone.
651
- // Prefer the fuller first genuine user turn over the one-line topic when the
652
- // row carries it (a fleet-synced mirror row does — PHNX-3792) so the inline
653
- // card reads like the originating prompt, not just its title.
654
464
  const asked = session.firstUserMessage?.trim() || session.topic?.trim();
655
465
  if (asked) {
656
466
  lines.push(verbLabel('Asked') + chalk.white(`"${truncate(asked, valueWidth)}"`));
@@ -664,9 +474,6 @@ function formatMetaOnlyBody(session) {
664
474
  for (const l of session.todos?.items?.length ? renderTodos(session.todos.items, termWidth) : []) {
665
475
  lines.push(' ' + l);
666
476
  }
667
- // `plan` is the whole ExitPlanMode markdown, not a path — summarize it. The
668
- // pane is height-clamped anyway, so pasting the blob would just push every
669
- // other line out of view.
670
477
  const planLines = session.plan?.trim() ? session.plan.trim().split('\n') : [];
671
478
  if (planLines.length) {
672
479
  const head = truncate(planLines[0].replace(/^#+\s*/, ''), termWidth - 20);
@@ -702,19 +509,7 @@ function extractModel(events) {
702
509
  }
703
510
  return undefined;
704
511
  }
705
- /** Shortest span worth reporting as a separate last-activity field — matches the
706
- * listing's rule, so the pane and the row agree on what counts as a one-shot. */
707
512
  const TIMING_SPAN_MIN_MS = 60_000;
708
- /**
709
- * The three timing facts the header reports: when the session was created, when
710
- * it was last active, and how long it ran. Reads the parsed transcript when
711
- * there is one and otherwise the indexed `SessionMeta`, so a remote or
712
- * unindexed session — which has no local transcript to parse — still reports
713
- * them instead of silently dropping the whole line.
714
- *
715
- * `lastActive` and `lasted` are omitted for a session whose whole life was under
716
- * a minute: there they just restate `created`.
717
- */
718
513
  export function extractTiming(session, events) {
719
514
  const firstMs = Date.parse(events[0]?.timestamp ?? session.timestamp);
720
515
  if (Number.isNaN(firstMs))
@@ -723,8 +518,6 @@ export function extractTiming(session, events) {
723
518
  const lastMs = Date.parse(events[events.length - 1]?.timestamp ?? session.lastActivity ?? session.timestamp);
724
519
  if (Number.isNaN(lastMs))
725
520
  return { createdAgo };
726
- // A scan-persisted duration beats the timestamp subtraction when there are no
727
- // events to read, because `lastActivity` may have fallen back to file mtime.
728
521
  const spanMs = events.length === 0 && session.durationMs !== undefined
729
522
  ? session.durationMs
730
523
  : Math.max(0, lastMs - firstMs);
@@ -749,7 +542,6 @@ function formatTokens(n) {
749
542
  const v = n / 1_000_000;
750
543
  return (v >= 100 ? Math.round(v).toString() : v.toFixed(1).replace(/\.0$/, '')) + 'm';
751
544
  }
752
- /** Patterns that indicate a user message is system context, not a real prompt. */
753
545
  const SYSTEM_MESSAGE_PATTERNS = [
754
546
  /^\s*<environment_context>/i,
755
547
  /^\s*<system-reminder>/i,
@@ -759,11 +551,8 @@ const SYSTEM_MESSAGE_PATTERNS = [
759
551
  /^\s*# AGENTS\.md instructions for\b/i,
760
552
  /^\s*<command-(message|name|args)>/i,
761
553
  ];
762
- /** Strip XML/HTML tags and clean up content for display. */
763
554
  function stripTags(text) {
764
- // Remove complete tag pairs with their content for known system tags
765
555
  let cleaned = text.replace(/<(system-reminder|environment_context|permissions[^>]*)>[\s\S]*?<\/\1>/gi, '');
766
- // Remove remaining XML-like tags
767
556
  cleaned = cleaned.replace(/<\/?[a-z_-]+[^>]*>/gi, '');
768
557
  return cleaned;
769
558
  }
@@ -771,28 +560,8 @@ const LAST_RESPONSE_MAX_LINES = 15;
771
560
  const LAST_RESPONSE_MAX_LINES_WITH_TODOS = 8;
772
561
  const TODOS_MAX_ITEMS = 5;
773
562
  const DIRS_TOUCHED_MAX = 5;
774
- // Upper bound on the per-file `changedFiles` list carried on the digest. High
775
- // enough to cover any real session's edits, low enough that a runaway rewrite
776
- // can't bloat the cached JSON. The `changes` counts stay the true totals.
777
563
  const CHANGED_FILES_MAX = 200;
778
- /**
779
- * Bound for an uncached `loadSessionPreviewDigest` parse (PHNX-3999).
780
- *
781
- * Deliberately SMALLER than the daemon's own
782
- * `TIMELINE_PASS_MAX_WHOLE_FILE_BYTES` (16 MiB, `timeline-pass.ts`) — that
783
- * number bounds BACKGROUND work the daemon tick can afford to spend; this one
784
- * bounds a SYNCHRONOUS request an interactive caller (the Menu, with its own
785
- * end-to-end latency budget) is actively waiting on. Two real screenshot-heavy
786
- * transcripts on this fleet (6.3 MiB and 35.7 MiB) both lacked any computed
787
- * digest/timeline — a 16 MiB threshold here would still miss the smaller one.
788
- * The exact per-byte cost of `parseSession` is not measured in this change;
789
- * 4 MiB is a conservative invariant (well under the 6.3 MiB failure case,
790
- * comfortably above ordinary non-screenshot transcript sizes), not a timing
791
- * guarantee — verify against real transcripts before relying on a specific
792
- * elapsed-time bound.
793
- */
794
564
  const PREVIEW_DIGEST_MAX_PARSE_BYTES = 4 * 1024 * 1024;
795
- /** Fold a harness-normalized event stream into the stable preview data model. */
796
565
  export function buildSessionPreviewDigest(events, session) {
797
566
  let firstUser = '';
798
567
  let lastAssistant = '';
@@ -800,22 +569,12 @@ export function buildSessionPreviewDigest(events, session) {
800
569
  const toolCounts = {};
801
570
  let toolCalls = 0;
802
571
  let planFile = '';
803
- /** Latest checklist from the transcript (Claude TodoWrite / Codex update_plan). */
804
572
  let latestTodos;
805
573
  let subAgentCount = 0;
806
- // undefined, not 0, when the harness records no background-shell concept —
807
- // formatFanOut renders absence for both, but conflating them here would let a
808
- // later consumer read "0 shells" as a positive "none running" claim.
809
574
  let backgroundShellCount = harnessTracksBackgroundShells(session.agent)
810
575
  ? 0
811
576
  : undefined;
812
577
  const toolTags = new Set();
813
- // usedBrowser/usedComputer are computed at scan time from a sessionId-scoped
814
- // events-log read (session/db.ts detectToolUsage), NOT a transcript regex —
815
- // undefined means a legacy row this scanner hasn't computed the field for
816
- // yet, so only THEN does classifySessionTool's transcript-derived guess run
817
- // below (mirrors directoriesTouched's prefer-persisted/fall-back-to-derived
818
- // pattern for recentDirectoriesTouched).
819
578
  const knownToolUsage = session.usedBrowser !== undefined;
820
579
  for (const event of events) {
821
580
  if (event.type === 'message') {
@@ -846,9 +605,6 @@ export function buildSessionPreviewDigest(events, session) {
846
605
  if (!planFile && p && /\/plans\/[^/]+\.md$/.test(p)) {
847
606
  planFile = p;
848
607
  }
849
- // Every harness's checklist-snapshot tool (Claude TodoWrite, Kimi TodoList,
850
- // Codex update_plan, …) — the same registry the state engine folds through
851
- // extractTodoProgress. Prefer the most recent write.
852
608
  if (SNAPSHOT_TODO_TOOLS.has(tool)) {
853
609
  const progress = extractTodoProgress(event.args);
854
610
  if (progress)
@@ -859,15 +615,10 @@ export function buildSessionPreviewDigest(events, session) {
859
615
  toolCalls++;
860
616
  }
861
617
  }
862
- // Persisted field wins when computed — it comes from real browser.navigate/
863
- // browser.screenshot/computer.action events, not a fuzzy tool-name regex.
864
618
  if (session.usedBrowser)
865
619
  toolTags.add('browser');
866
620
  if (session.usedComputer)
867
621
  toolTags.add('computer');
868
- // Prefer the transcript-derived list when we just re-parsed the file (freshest
869
- // checklist write); fall back to SessionMeta.todos for rows where the scan/
870
- // fan-out attached progress but the event stream has no TodoWrite yet.
871
622
  const todos = latestTodos ?? session.todos;
872
623
  const changes = classifyFileChanges(events);
873
624
  const chg = changeCounts(changes);
@@ -884,9 +635,6 @@ export function buildSessionPreviewDigest(events, session) {
884
635
  backgroundShellCount,
885
636
  toolTags: [...toolTags],
886
637
  changes: chg,
887
- // Full per-file list the picker used to collapse to `chg` and throw away.
888
- // Bounded so a mass-rewrite session can't blow up the cached digest; the
889
- // counts above remain the true totals.
890
638
  changedFiles: changes.slice(0, CHANGED_FILES_MAX),
891
639
  dirs: directoriesTouched(session, events, changes),
892
640
  repos: extractRepos(events, session.cwd),
@@ -901,8 +649,6 @@ export function buildSessionPreviewDigest(events, session) {
901
649
  test: detectTestResult(events),
902
650
  };
903
651
  }
904
- // Verb-led row gutter (RUSH-2757): every row label pads to this width so the
905
- // values align into one scannable column. 'Details ▸' is the widest label.
906
652
  const VERB_GUTTER = 9;
907
653
  function verbLabel(v) {
908
654
  return chalk.cyan(v.padEnd(VERB_GUTTER)) + ' ';
@@ -912,15 +658,12 @@ function formatCompactPreview(digest, session, events) {
912
658
  const lines = [];
913
659
  const termWidth = process.stdout.columns || 80;
914
660
  const valueWidth = termWidth - VERB_GUTTER - 5;
915
- // Asked — the originating user prompt (first non-system user turn), quoted.
916
661
  const asked = firstUser
917
662
  ? (extractSessionTopic(firstUser) || cleanSessionPrompt(firstUser).split('\n').find(l => l.trim()) || '')
918
663
  : (session.topic && !isSyntheticUserMessage(session.topic) ? session.topic : '');
919
664
  if (asked.trim()) {
920
665
  lines.push(verbLabel('Asked') + chalk.white(`"${truncate(asked.trim(), valueWidth)}"`));
921
666
  }
922
- // Doing — the work in motion: checklist progress (RUSH-2045), team lineage,
923
- // sub-agent fan-out. The full checklist renders indented beneath.
924
667
  const compact = formatTodoCompact(todos);
925
668
  const teamLine = formatTeamLineage(session);
926
669
  const doing = [
@@ -934,8 +677,6 @@ function formatCompactPreview(digest, session, events) {
934
677
  const todosRendered = todos?.items?.length ? renderTodos(todos.items, termWidth) : [];
935
678
  for (const l of todosRendered)
936
679
  lines.push(' ' + l);
937
- // Made — what the session produced: file deltas, reads, artifacts (named +
938
- // clickable), the plan file, and the PR when the session carries one.
939
680
  const made = [];
940
681
  const changed = chg.created + chg.modified + chg.deleted;
941
682
  if (changed) {
@@ -962,7 +703,6 @@ function formatCompactPreview(digest, session, events) {
962
703
  if (made.length) {
963
704
  lines.push(verbLabel('Made') + made.join(DOT));
964
705
  }
965
- // Health — error tally + the last test/build verdict; absent when both clean.
966
706
  const health = [];
967
707
  if (errorCount) {
968
708
  health.push(chalk.red(`${errorCount} failure${errorCount === 1 ? '' : 's'}`) + chalk.gray(` — first: ${firstError || 'unknown'}`));
@@ -978,8 +718,6 @@ function formatCompactPreview(digest, session, events) {
978
718
  if (health.length) {
979
719
  lines.push(verbLabel('Health') + health.join(DOT));
980
720
  }
981
- // Cost — volume: messages, tokens (moved here from the header's old line 3),
982
- // and the top of the tool mix.
983
721
  const totalMessages = session.messageCount ?? (events ? countMessages(events) : undefined);
984
722
  const cost = [];
985
723
  if (totalMessages !== undefined) {
@@ -997,12 +735,8 @@ function formatCompactPreview(digest, session, events) {
997
735
  if (cost.length) {
998
736
  lines.push(verbLabel('Cost') + cost.join(DOT));
999
737
  }
1000
- // Latest — the agent's last message, full and wrapped to the pane (the densest
1001
- // line in the preview; parts 1-2 of RUSH-2757 made it wrap instead of clip).
1002
738
  if (lastAssistant) {
1003
739
  const maxLines = todosRendered.length > 0 || compact ? LAST_RESPONSE_MAX_LINES_WITH_TODOS : LAST_RESPONSE_MAX_LINES;
1004
- // Content sits at column 4 (outer body indent + the ' ' prefix below), so
1005
- // wrap it to the pane minus that indent.
1006
740
  const rendered = renderLastResponse(lastAssistant, maxLines, terminalWidth() - 4);
1007
741
  if (rendered.length > 0) {
1008
742
  lines.push('');
@@ -1011,12 +745,6 @@ function formatCompactPreview(digest, session, events) {
1011
745
  lines.push(' ' + l);
1012
746
  }
1013
747
  }
1014
- // Details ▸ — the folded long tail: session id, skills, plugins, hooks, links,
1015
- // dirs, repos, capability tags. One width-capped line instead of seven labeled
1016
- // rows (a long tail used to wrap and swamp the whole pane); links stay
1017
- // clickable (OSC 8), hook failures stay red. Full lists go to the cap — it is
1018
- // the ONLY bounding, so its `… +N more` tail accounts for every hidden item
1019
- // (pre-slicing here made overflow vanish with no trace).
1020
748
  const details = [
1021
749
  session.filePath ? chalk.gray(linkPath(session.filePath, session.id.slice(0, 8))) : chalk.gray(session.id.slice(0, 8)),
1022
750
  ...skills.map(s => chalk.white(s.name) + (s.count > 1 ? chalk.gray(` ×${s.count}`) : '')),
@@ -1040,19 +768,9 @@ function classifySessionTool(tool, command) {
1040
768
  tags.push('computer');
1041
769
  return tags;
1042
770
  }
1043
- /**
1044
- * Unique directories the session touched, compact and human-readable.
1045
- * Prefer `session.recentDirectoriesTouched` — the scan records it on the row, so
1046
- * it is present for remote rows whose transcript we can't parse here — otherwise
1047
- * derive from the file-change + tool paths already available.
1048
- */
1049
771
  function directoriesTouched(session, events, changes) {
1050
772
  const fromMeta = session.recentDirectoriesTouched;
1051
773
  if (Array.isArray(fromMeta) && fromMeta.length > 0) {
1052
- // The scan stores ABSOLUTE paths, so they go through the same relativizer the
1053
- // derived branch below uses — otherwise adopting this field (which a remote row
1054
- // needs, having no transcript to derive from) would turn every local preview's
1055
- // `Dirs:` line from `src/lib · docs` into a column of full home-rooted paths.
1056
774
  const seen = new Set();
1057
775
  for (const raw of fromMeta) {
1058
776
  const dir = relativizeDir(sanitizeForTerminal(String(raw).trim()), session.cwd);
@@ -1085,31 +803,10 @@ function directoriesTouched(session, events, changes) {
1085
803
  .map(([d]) => d)
1086
804
  .slice(0, DIRS_TOUCHED_MAX);
1087
805
  }
1088
- /**
1089
- * Claude names its per-project transcript store `~/.claude/projects/<slug>`, where
1090
- * `<slug>` is the cwd with every `/` AND `.` replaced by `-` — so `/Users/me/app`
1091
- * → `-Users-me-app` and `.agents/worktrees/x` → `--agents-worktrees-x`. That slug
1092
- * leaks into transcript paths as a leading segment (`<slug>/<session-id>/…`).
1093
- *
1094
- * The encoding is LOSSY and irreversible (`-`, `/`, and `.` all collapse to `-`),
1095
- * so we never try to decode it back to a path. Instead we ENCODE the comparison
1096
- * targets (cwd, the worktree marker) into the same slug space and match there. See
1097
- * {@link relativizeDir}. `encodeClaudeSlug` mirrors Claude's own transform.
1098
- */
1099
806
  function encodeClaudeSlug(absPath) {
1100
807
  return absPath.replace(/[/.]/g, '-');
1101
808
  }
1102
- /** The `.agents/worktrees/<name>` marker, Claude-slug-encoded (`/.` → `--`). */
1103
809
  const SLUG_WORKTREE_RE = /--agents-worktrees-(.+)$/;
1104
- /**
1105
- * Join display tokens with ` · `, stopping before the line exceeds `maxWidth`
1106
- * and appending `… +N more` for the rest. Keeps the Dirs line on one row.
1107
- */
1108
- /**
1109
- * Join pre-styled items with ` · ` up to a visible width, then `… +N more`.
1110
- * Width is measured ANSI-aware (stringWidth), so colored / OSC 8-linked items
1111
- * are not miscounted; items arrive already styled and are not recolored.
1112
- */
1113
810
  function joinWidthCapped(items, maxWidth) {
1114
811
  let out = '';
1115
812
  let width = 0;
@@ -1126,52 +823,31 @@ function joinWidthCapped(items, maxWidth) {
1126
823
  const remaining = items.length - shown;
1127
824
  return out + (remaining > 0 ? chalk.gray(` … +${remaining} more`) : '');
1128
825
  }
1129
- /** Relativize a file path to its parent dir, short enough for one preview line. */
1130
826
  export function relativizeDir(filePath, cwd) {
1131
827
  const norm = filePath.replace(/\\/g, '/');
1132
828
  if (!norm || norm.includes('node_modules') || norm.includes('/.git/') || norm.includes('/plans/')) {
1133
829
  return undefined;
1134
830
  }
1135
- // agents-cli internals — version homes, session/run archives, the bare
1136
- // worktree container/root — are never meaningful "directories the user works
1137
- // in". Cwd is exempt: a session running inside such a dir keeps its own paths.
1138
831
  const normBase = cwd?.replace(/\\/g, '/').replace(/\/$/, '');
1139
832
  const underCwd = normBase && (norm === normBase || norm.startsWith(normBase + '/'));
1140
833
  if (!underCwd && (norm.includes('/.agents/.history/') || /\/\.agents\/worktrees(\/[^/]+)?\/?$/.test(norm))) {
1141
834
  return undefined;
1142
835
  }
1143
836
  let dir = path.posix.dirname(norm);
1144
- // Claude project-slug form: a leading `-`-segment (`-home-me-…`) that carries
1145
- // the cwd, lossily encoded. Handle it in SLUG SPACE — never lossy-decode to a
1146
- // fake path. The slug is the first path segment; any real `/`-subdirs after it
1147
- // are Claude's internal storage (`<session-id>/scratchpad|tasks`), not code.
1148
837
  if (dir.startsWith('-')) {
1149
838
  const slash = dir.indexOf('/');
1150
839
  const slug = slash === -1 ? dir : dir.slice(0, slash);
1151
- // CWD FIRST: if the slug is (or is under) this session's own cwd, the leaked
1152
- // path is Claude's internal projects-storage scratch (`<id>/scratchpad`) —
1153
- // not a meaningful code dir — so drop it like node_modules. Precedence over
1154
- // the worktree collapse so a session editing its OWN worktree isn't relabeled.
1155
840
  if (cwd) {
1156
841
  const cwdSlug = encodeClaudeSlug(cwd.replace(/\\/g, '/').replace(/\/$/, ''));
1157
842
  if (slug === cwdSlug || slug.startsWith(cwdSlug + '-'))
1158
843
  return undefined;
1159
844
  }
1160
- // Only a DIFFERENT worktree than cwd reaches here: a worktree encodes its
1161
- // `/.agents/worktrees/<name>` marker as `--agents-worktrees-<name>`, so
1162
- // collapse to the worktree name to disambiguate. (The name may contain `-`;
1163
- // we can't losslessly re-split it, so show the whole encoded remainder.)
1164
845
  const wtSlug = slug.match(SLUG_WORKTREE_RE);
1165
846
  if (wtSlug)
1166
847
  return `⧉ ${wtSlug[1]}`;
1167
- // An unattributable slug: don't invent a `/`-joined fake path. Show only the
1168
- // trailing `-`-group as a minimal, honest token.
1169
848
  const segs = slug.split('-').filter(Boolean);
1170
849
  return segs.length ? segs[segs.length - 1] : undefined;
1171
850
  }
1172
- // CWD FIRST for real paths too: strip the session-cwd prefix so a session
1173
- // editing its OWN worktree renders the concise relative remainder (`src/lib`),
1174
- // not the longer `⧉ <slug>/…` collapse.
1175
851
  if (cwd) {
1176
852
  const base = cwd.replace(/\\/g, '/').replace(/\/$/, '');
1177
853
  if (dir === base)
@@ -1179,18 +855,14 @@ export function relativizeDir(filePath, cwd) {
1179
855
  if (dir.startsWith(base + '/'))
1180
856
  return dir.slice(base.length + 1);
1181
857
  }
1182
- // No cwd match. If the dir is in a (different) git worktree, collapse to the
1183
- // worktree NAME + in-worktree remainder to disambiguate; else home→`~` + trim.
1184
858
  const wt = dir.match(WORKTREE_RE);
1185
859
  if (wt) {
1186
860
  const after = dir.slice(dir.indexOf(wt[0]) + wt[0].length).replace(/^\//, '');
1187
861
  return after ? `⧉ ${wt[1]}/${after}` : `⧉ ${wt[1]}`;
1188
862
  }
1189
- // Collapse home prefix.
1190
863
  const home = (process.env.HOME || '').replace(/\\/g, '/');
1191
864
  if (home && dir.startsWith(home + '/'))
1192
865
  dir = '~' + dir.slice(home.length);
1193
- // Drop ultra-deep absolute noise; keep last 3 segments.
1194
866
  const parts = dir.split('/').filter(Boolean);
1195
867
  if (parts.length > 3 && dir.startsWith('/'))
1196
868
  dir = parts.slice(-3).join('/');
@@ -1207,16 +879,10 @@ export function renderLastResponse(content, maxLines = LAST_RESPONSE_MAX_LINES,
1207
879
  catch {
1208
880
  rendered = cleaned;
1209
881
  }
1210
- // `marked-terminal` runs with `reflowText` off, so a paragraph with no hard
1211
- // breaks renders as one long line that overflows the pane. Wrap any line whose
1212
- // VISIBLE width exceeds the budget; leave lines that already fit untouched so
1213
- // rendered-markdown indentation (lists, code blocks) is preserved. The text is
1214
- // ANSI-coloured, so width is measured with `stringWidth`, never `String.length`.
1215
882
  const all = rendered
1216
883
  .replace(/\s+$/, '')
1217
884
  .split('\n')
1218
885
  .flatMap(line => (stringWidth(line) <= width ? [line] : wrapToWidth(line, width)));
1219
- // Drop leading/trailing empty lines
1220
886
  while (all.length && !all[0].trim())
1221
887
  all.shift();
1222
888
  while (all.length && !all[all.length - 1].trim())
@@ -1231,7 +897,6 @@ export function renderLastResponse(content, maxLines = LAST_RESPONSE_MAX_LINES,
1231
897
  function renderTodos(todos, termWidth) {
1232
898
  const out = [];
1233
899
  const shown = todos.slice(0, TODOS_MAX_ITEMS);
1234
- // Outer body indent (2) + inner ' ' (2) + marker (3) + space (1) = 8
1235
900
  const maxText = Math.max(20, termWidth - 8);
1236
901
  for (const item of shown) {
1237
902
  const rawText = (item.content || item.text || '').trim();
@@ -1261,7 +926,6 @@ function renderTodos(todos, termWidth) {
1261
926
  }
1262
927
  return out;
1263
928
  }
1264
- /** Show an interactive session picker and return the selected session with its action (resume or view). */
1265
929
  export async function sessionPicker(config) {
1266
930
  const picked = await itemPicker({
1267
931
  message: config.message,
@@ -1270,8 +934,6 @@ export async function sessionPicker(config) {
1270
934
  filter: config.filter,
1271
935
  labelFor: config.labelFor,
1272
936
  buildPreview,
1273
- // A remote row's digest arrives over SSH after the pane painted — this is
1274
- // what lets its completion swap the metadata card for the full preview.
1275
937
  registerPreviewRepaint: setRemotePreviewRepaint,
1276
938
  shortIdFor: (s) => s.shortId,
1277
939
  pageSize: config.pageSize,
@@ -1279,7 +941,6 @@ export async function sessionPicker(config) {
1279
941
  emptyMessage: 'No sessions match.',
1280
942
  enterHint: config.enterHint ?? 'resume',
1281
943
  linesAbovePrompt: config.linesAbovePrompt,
1282
- // A late digest fetch must not poke a closed prompt.
1283
944
  }).finally(() => setRemotePreviewRepaint(undefined));
1284
945
  if (!picked)
1285
946
  return null;