@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,12 +1,3 @@
1
- /**
2
- * Permission management for AI coding agents.
3
- *
4
- * Provides a canonical permission format (PermissionSet with allow/deny rules)
5
- * and converters to/from each agent's native format (Claude settings.json,
6
- * OpenCode opencode.jsonc, Codex config.toml + .rules). Handles discovery,
7
- * installation, removal, and merging of permission groups stored in
8
- * ~/.agents/permissions/groups/.
9
- */
10
1
  import * as fs from 'fs';
11
2
  import * as path from 'path';
12
3
  import * as os from 'os';
@@ -17,9 +8,6 @@ import { safeJoin } from './paths.js';
17
8
  import { agentConfigDirName } from './agents.js';
18
9
  import { supports } from './capabilities.js';
19
10
  import { updateGeminiSettings } from './gemini-settings.js';
20
- // The canonical<->native tool vocabularies live in the registry, which also owns
21
- // the reverse projections — so the serializers below and the readers there can
22
- // never disagree about what `fs_read` or `developer__shell` means.
23
11
  import { ANTIGRAVITY_ACTION_BY_TOOL, CANONICAL_TO_OPENCLAW_TOOL, CODEX_RULES_FILENAME, stripJsonComments, GROK_TOOL_BY_CANONICAL, PERMISSION_TARGETS, readCanonicalPermissions, } from './permissions-registry.js';
24
12
  export { CODEX_RULES_FILENAME };
25
13
  const HOME = os.homedir();
@@ -80,20 +68,12 @@ export function containsBroadGrants(rules) {
80
68
  return null;
81
69
  return { broad, reason: Array.from(reasons).join('; ') };
82
70
  }
83
- /**
84
- * Convert canonical deny rules to Codex Starlark .rules format.
85
- * E.g. "Bash(git reset:*)" -> prefix_rule(pattern=["git", "reset"], decision="forbidden")
86
- *
87
- * Inverse: `toCanonical` for `PERMISSION_TARGETS.codex` reads
88
- * `.codex/rules/agents-deny.rules` back into `Bash(<parts>:*)`.
89
- */
90
71
  export function convertDenyToCodexRules(deny) {
91
72
  const rules = [];
92
73
  for (const perm of deny) {
93
74
  const parsed = parseCanonicalPattern(perm);
94
75
  if (!parsed || parsed.tool !== 'bash')
95
76
  continue;
96
- // Pattern format: "command arg1 arg2:*" or "command:*"
97
77
  const command = parsed.pattern.replace(/:?\*$/, '').trim();
98
78
  if (!command)
99
79
  continue;
@@ -105,12 +85,6 @@ export function convertDenyToCodexRules(deny) {
105
85
  return null;
106
86
  return `# Auto-generated by agents-cli from deny permission groups.\n# Do not edit manually — re-run "agents use" to regenerate.\n\n${rules.join('\n\n')}\n`;
107
87
  }
108
- /**
109
- * Write `.codex/rules/agents-deny.rules` to match `deny`, or delete it when
110
- * the current set has nothing to forbid. The reader (PHNX-2703) now surfaces
111
- * this file, so a later apply with an empty deny must not leave a stale
112
- * forbid behind — `agents permissions list codex` would keep reporting it.
113
- */
114
88
  function syncCodexDenyRules(configDir, deny) {
115
89
  const rulesPath = path.join(configDir, 'rules', CODEX_RULES_FILENAME);
116
90
  const rulesContent = deny && deny.length > 0 ? convertDenyToCodexRules(deny) : null;
@@ -123,18 +97,12 @@ function syncCodexDenyRules(configDir, deny) {
123
97
  fs.unlinkSync(rulesPath);
124
98
  }
125
99
  }
126
- /**
127
- * Ensure central permissions directory exists.
128
- */
129
100
  function ensurePermissionsDir() {
130
101
  const groupsDir = path.join(getUserPermissionsDir(), 'groups');
131
102
  if (!fs.existsSync(groupsDir)) {
132
103
  fs.mkdirSync(groupsDir, { recursive: true });
133
104
  }
134
105
  }
135
- /**
136
- * Parse a permission set from a YAML file.
137
- */
138
106
  export function parsePermissionSet(filePath) {
139
107
  if (!fs.existsSync(filePath)) {
140
108
  return null;
@@ -157,12 +125,8 @@ export function parsePermissionSet(filePath) {
157
125
  return null;
158
126
  }
159
127
  }
160
- /**
161
- * Discover permission sets from a repository.
162
- */
163
128
  export function discoverPermissionsFromRepo(repoPath) {
164
129
  const results = [];
165
- // Look for permissions in common locations
166
130
  const searchPaths = [
167
131
  path.join(repoPath, 'permissions'),
168
132
  path.join(repoPath, 'agent-permissions'),
@@ -190,19 +154,13 @@ export function discoverPermissionsFromRepo(repoPath) {
190
154
  }
191
155
  }
192
156
  catch {
193
- // Skip inaccessible directories
194
157
  }
195
158
  }
196
159
  return results;
197
160
  }
198
- /**
199
- * Discover permission groups from ~/.agents/permissions/groups/.
200
- * Returns groups with their rule counts.
201
- */
202
161
  export function discoverPermissionGroups() {
203
162
  const seen = new Set();
204
163
  const groups = [];
205
- // Search user dir first, then system (user wins on name collision)
206
164
  for (const baseDir of [getUserPermissionsDir(), getPermissionsDir()]) {
207
165
  const groupsDir = path.join(baseDir, 'groups');
208
166
  if (!fs.existsSync(groupsDir))
@@ -225,27 +183,19 @@ export function discoverPermissionGroups() {
225
183
  const matches = content.match(/^\s*-\s*"/gm);
226
184
  ruleCount = matches ? matches.length : 0;
227
185
  }
228
- catch { /* Skip files we can't read */ }
186
+ catch { }
229
187
  groups.push({ name, ruleCount, path: filePath });
230
188
  }
231
189
  }
232
- catch { /* Skip inaccessible directory */ }
190
+ catch { }
233
191
  }
234
192
  return groups.sort((a, b) => a.name.localeCompare(b.name));
235
193
  }
236
- /**
237
- * Get total rule count across all permission groups.
238
- */
239
194
  export function getTotalPermissionRuleCount() {
240
195
  const groups = discoverPermissionGroups();
241
196
  return groups.reduce((sum, g) => sum + g.ruleCount, 0);
242
197
  }
243
- /** Env var that selects which set recipe to apply at sync time. */
244
198
  export const PERMISSION_PRESET_ENV_VAR = 'AGENTS_PERMISSION_PRESET';
245
- /**
246
- * Read a permission preset recipe by name from ~/.agents/permissions/presets/.
247
- * Returns null if the recipe file is missing or malformed.
248
- */
249
199
  export function readPermissionPresetRecipe(name) {
250
200
  const presetsDir = path.join(getPermissionsDir(), 'presets');
251
201
  for (const ext of ['.yaml', '.yml']) {
@@ -271,26 +221,14 @@ export function readPermissionPresetRecipe(name) {
271
221
  }
272
222
  return null;
273
223
  }
274
- /**
275
- * Return the active permission preset name from AGENTS_PERMISSION_PRESET env var,
276
- * or null if unset. Caller decides the default behavior when null.
277
- */
278
224
  export function getActivePermissionPresetName() {
279
225
  const v = process.env[PERMISSION_PRESET_ENV_VAR];
280
226
  return v && v.trim() ? v.trim() : null;
281
227
  }
282
- /**
283
- * Build a PermissionSet from selected groups.
284
- * Concatenates allow/deny rules from each group.
285
- *
286
- * Uses line-by-line regex extraction instead of YAML parsing because
287
- * permission files often contain unescaped nested quotes that break YAML.
288
- */
289
228
  export function buildPermissionsFromGroups(groupNames) {
290
229
  const allAllow = [];
291
230
  const allDeny = [];
292
231
  for (const groupName of groupNames) {
293
- // Search user dir first, then system dir
294
232
  let filePath = null;
295
233
  for (const baseDir of [getUserPermissionsDir(), getPermissionsDir()]) {
296
234
  const groupsDir = path.join(baseDir, 'groups');
@@ -308,14 +246,6 @@ export function buildPermissionsFromGroups(groupNames) {
308
246
  continue;
309
247
  try {
310
248
  const content = fs.readFileSync(filePath, 'utf-8');
311
- // Extract rules using line-by-line regex (more robust than YAML parsing)
312
- // Matches lines like: - "Bash(git *)" or - "WebFetch(domain:example.com)"
313
- // Handles nested quotes that break YAML parsers.
314
- // Split on CRLF or LF: git checks group yaml out with CRLF on Windows
315
- // (core.autocrlf), and a plain split('\n') leaves a trailing '\r' so the
316
- // closing-quote anchor `"$` never matches — extracting ZERO rules, which
317
- // wrote an empty permission set and left `agents sync` unable to
318
- // reconcile permissions on Windows forever (PHNX-3187).
319
249
  const lines = content.split(/\r?\n/);
320
250
  let section = null;
321
251
  for (const line of lines) {
@@ -324,13 +254,9 @@ export function buildPermissionsFromGroups(groupNames) {
324
254
  section = sectionMatch[1];
325
255
  continue;
326
256
  }
327
- // Match: optional whitespace, dash, whitespace, quote, content, quote
328
- // Use greedy match to capture everything between first and last quote
329
257
  const match = line.match(/^\s*-\s*"(.+)"$/);
330
258
  if (match) {
331
259
  const rule = match[1];
332
- // 99-deny group rules go to deny, others follow their YAML section.
333
- // Legacy group files used bare lists with no section; keep those as allow.
334
260
  if (section === 'deny' || groupName === '99-deny' || groupName.includes('-deny')) {
335
261
  allDeny.push(rule);
336
262
  }
@@ -341,7 +267,6 @@ export function buildPermissionsFromGroups(groupNames) {
341
267
  }
342
268
  }
343
269
  catch {
344
- // Skip files we can't read
345
270
  }
346
271
  }
347
272
  return {
@@ -351,11 +276,6 @@ export function buildPermissionsFromGroups(groupNames) {
351
276
  deny: allDeny.length > 0 ? allDeny : undefined,
352
277
  };
353
278
  }
354
- /**
355
- * List installed permission sets from central storage.
356
- * User dir takes precedence; system entries are surfaced when user has no
357
- * same-named override.
358
- */
359
279
  export function listInstalledPermissions() {
360
280
  ensureAgentsDir();
361
281
  const seen = new Set();
@@ -382,14 +302,10 @@ export function listInstalledPermissions() {
382
302
  }
383
303
  }
384
304
  catch {
385
- // Skip inaccessible directory
386
305
  }
387
306
  }
388
307
  return results;
389
308
  }
390
- /**
391
- * Get a specific permission set by name. Searches user groups/ dir first, then system groups/.
392
- */
393
309
  function getPermissionSet(name) {
394
310
  for (const baseDir of [getUserPermissionsDir(), getPermissionsDir()]) {
395
311
  const dir = path.join(baseDir, 'groups');
@@ -405,9 +321,6 @@ function getPermissionSet(name) {
405
321
  }
406
322
  return null;
407
323
  }
408
- /**
409
- * Install a permission set to user-level central storage.
410
- */
411
324
  export function installPermissionSet(sourcePath, name) {
412
325
  ensurePermissionsDir();
413
326
  const set = parsePermissionSet(sourcePath);
@@ -423,10 +336,6 @@ export function installPermissionSet(sourcePath, name) {
423
336
  return { success: false, error: err.message };
424
337
  }
425
338
  }
426
- /**
427
- * Remove a permission set from user-level central storage. System-shipped
428
- * sets are intentionally not deletable from user commands.
429
- */
430
339
  export function removePermissionSet(name) {
431
340
  const groupsDir = path.join(getUserPermissionsDir(), 'groups');
432
341
  for (const ext of ['.yml', '.yaml']) {
@@ -443,26 +352,12 @@ export function removePermissionSet(name) {
443
352
  }
444
353
  return { success: false, error: `Permission set '${name}' not found` };
445
354
  }
446
- // ============================================================================
447
- // Agent-specific converters
448
- // ============================================================================
449
- /**
450
- * Map a canonical rule to Claude settings.json syntax.
451
- * Claude's file-permission checks only match Edit(path) rules — an Edit rule
452
- * covers every file-editing tool (Write, Edit, NotebookEdit) — and Claude
453
- * warns at startup about unmatched Write(path) rules. Canonical Write(path)
454
- * stays for other agents' converters; for Claude it is emitted as Edit(path).
455
- */
456
355
  function canonicalToClaudeRule(perm) {
457
356
  if (perm.startsWith('Write(')) {
458
357
  return perm.replace(/^Write/, 'Edit');
459
358
  }
460
359
  return perm;
461
360
  }
462
- /**
463
- * Convert canonical permission set to Claude format.
464
- * Claude uses: { permissions: { allow: ["Bash(*)", "Read(**)"], deny: [] } }
465
- */
466
361
  export function convertToClaudeFormat(set) {
467
362
  const permissions = {
468
363
  allow: [...new Set(set.allow.map(canonicalToClaudeRule))],
@@ -473,29 +368,18 @@ export function convertToClaudeFormat(set) {
473
368
  }
474
369
  return { permissions };
475
370
  }
476
- /**
477
- * Map a canonical rule to Cursor CLI syntax.
478
- * Cursor uses Shell(...) instead of Bash(...); other tools keep TitleCase names.
479
- * https://cursor.com/docs/cli/reference/permissions
480
- */
481
371
  function canonicalToCursorRule(perm) {
482
372
  if (perm === 'Bash' || perm.startsWith('Bash(')) {
483
373
  return perm.replace(/^Bash/, 'Shell');
484
374
  }
485
- // Canonical WebSearch maps to WebFetch family for network allow.
486
375
  if (perm.startsWith('WebSearch(')) {
487
376
  return perm.replace(/^WebSearch/, 'WebFetch');
488
377
  }
489
- // Cursor has no Edit prefix — file writes use Write(...).
490
378
  if (perm === 'Edit' || perm.startsWith('Edit(')) {
491
379
  return perm.replace(/^Edit/, 'Write');
492
380
  }
493
381
  return perm;
494
382
  }
495
- /**
496
- * Convert canonical permission set to Cursor CLI format
497
- * (`~/.cursor/cli-config.json` permissions.allow/deny).
498
- */
499
383
  export function convertToCursorFormat(set) {
500
384
  return {
501
385
  permissions: {
@@ -504,24 +388,13 @@ export function convertToCursorFormat(set) {
504
388
  },
505
389
  };
506
390
  }
507
- /**
508
- * Parse canonical permission pattern to extract tool and pattern.
509
- * "Bash(git *)" -> { tool: "bash", pattern: "git *" }
510
- * "Read(**)" -> { tool: "read", pattern: "**" }
511
- */
512
391
  function parseCanonicalPattern(permission) {
513
392
  const match = permission.match(/^(\w+)\((.+)\)$/);
514
393
  if (!match)
515
394
  return null;
516
395
  return { tool: match[1].toLowerCase(), pattern: match[2] };
517
396
  }
518
- /** Blanket-Bash canonical forms that mean "allow any bash command". */
519
397
  const BLANKET_BASH_FORMS = new Set(['Bash', 'Bash(*)', 'Bash(**)']);
520
- /**
521
- * Strip Claude's `:*` subcommand-wildcard suffix and return a space-glob form.
522
- * "mq:*" -> "mq *", "git status" -> "git status", "*" -> "*".
523
- * Used by serializers whose native pattern grammar uses ` *` instead of `:*`.
524
- */
525
398
  function normalizeBashPattern(pattern) {
526
399
  if (pattern === '*' || pattern === '**')
527
400
  return '*';
@@ -612,7 +485,6 @@ export function convertToCopilotFormat(set, location) {
612
485
  },
613
486
  };
614
487
  }
615
- /** Convert canonical Bash rules into Droid's command arrays. */
616
488
  export function convertToDroidFormat(set) {
617
489
  const commands = (permissions) => {
618
490
  const result = new Set();
@@ -632,23 +504,10 @@ export function convertToDroidFormat(set) {
632
504
  commandDenylist: commands(set.deny ?? []),
633
505
  };
634
506
  }
635
- /**
636
- * Convert canonical permission set to OpenClaw's `tools.alsoAllow`/`tools.deny`.
637
- *
638
- * OpenClaw's allowlist is tool-level only, so ONLY blanket (whole-tool) rules
639
- * map — a rule is blanket iff it's a bare tool with no parens (`Bash`), it's in
640
- * BLANKET_BASH_FORMS, or its pattern is `*`/`**` (`Read(**)`, `Write(*)`).
641
- * Sub-command/path/domain rules (`Bash(git:*)`, `Write(secrets/**)`,
642
- * `WebFetch(domain:x)`) are SKIPPED — coarse-mapping a specific deny to a whole
643
- * tool would wrongly gate every use of that tool. Output arrays are deduped and
644
- * sorted for deterministic writes/tests.
645
- */
646
507
  export function convertToOpenClawFormat(set) {
647
508
  const map = (permissions) => {
648
509
  const tools = new Set();
649
510
  for (const perm of permissions) {
650
- // Bare tool name with no parens (e.g. "Bash", "Read") is a blanket grant;
651
- // parseCanonicalPattern requires parens, so handle it first.
652
511
  const bare = perm.match(/^(\w+)$/);
653
512
  if (bare) {
654
513
  const id = CANONICAL_TO_OPENCLAW_TOOL[bare[1].toLowerCase()];
@@ -692,18 +551,6 @@ export function convertToHermesFormat(set) {
692
551
  approvals: { deny: commands(set.deny ?? []) },
693
552
  };
694
553
  }
695
- /**
696
- * Convert canonical permission set to Antigravity format.
697
- * Antigravity reads ~/.gemini/antigravity-cli/settings.json with
698
- * { permissions: { allow: [...], deny: [...] } }
699
- * where each entry is action-namespaced: command(...), read_file(...),
700
- * write_file(...), read_url(...), mcp(...).
701
- * Bash maps to `command`, Read to `read_file`, Write to `write_file`,
702
- * WebFetch to `read_url`. Other canonical tools are skipped.
703
- * Note: Antigravity matches `command(npm install)` as an exact string,
704
- * not a prefix — `Bash(npm:*)` becomes `command(npm *)` which is a glob
705
- * but Antigravity upstream has a known exact-match bug for some forms.
706
- */
707
554
  export function convertToAntigravityFormat(set) {
708
555
  const allow = serializeAntigravityEntries(set.allow);
709
556
  const deny = set.deny ? serializeAntigravityEntries(set.deny) : [];
@@ -737,14 +584,6 @@ function serializeAntigravityEntries(perms) {
737
584
  }
738
585
  return Array.from(out);
739
586
  }
740
- /**
741
- * Convert canonical permission set to Grok format.
742
- * Grok reads ~/.grok/config.toml with
743
- * [permission]
744
- * rules = [ { action = "allow", tool = "bash", pattern = "git *" }, ... ]
745
- * Tool names are lowercase: bash, read, edit, grep, mcptool, webfetch.
746
- * Canonical Write maps to Grok's `edit` tool.
747
- */
748
587
  export function convertToGrokFormat(set) {
749
588
  const rules = [];
750
589
  for (const perm of set.allow) {
@@ -763,15 +602,6 @@ export function convertToGrokFormat(set) {
763
602
  }
764
603
  function canonicalToGrokRule(perm, action) {
765
604
  if (BLANKET_BASH_FORMS.has(perm)) {
766
- // Grok's `*` is a SINGLE-LEVEL wildcard, so a `pattern: '*'` bash rule does
767
- // NOT auto-approve a multi-token command like `ssh host cmd` or `scp a b`
768
- // (PHNX-3294 — verified: two boxes carrying the identical `pattern="*"` rule
769
- // differed only by `[ui].permission_mode`, and only the always-approve box
770
- // ran ssh without prompting). Grok's documented "bare prefix matches all
771
- // invocations" idiom is a rule with NO `pattern` key — the true allow-all
772
- // shell form, matching how kimi (bare `Bash`), droid (`*`) and claude
773
- // express a blanket Bash grant. This reads back as `Bash(*)` via the
774
- // registry's pattern-less path, so the round-trip is unchanged.
775
605
  return { action, tool: 'bash' };
776
606
  }
777
607
  const parsed = parseCanonicalPattern(perm);
@@ -786,34 +616,12 @@ function canonicalToGrokRule(perm, action) {
786
616
  }
787
617
  return { action, tool, pattern };
788
618
  }
789
- /**
790
- * Parse a canonical permission string preserving the tool's original casing.
791
- * `parseCanonicalPattern` lowercases the tool name, which is fine for Grok
792
- * (lowercase tool vocabulary) but wrong for Kimi, whose tool names are
793
- * capitalized (`Bash`, `Read`, `Grep`). Bare tool names (no parens, e.g.
794
- * `Read` or an MCP id like `mcp__server__tool`) return `pattern: null`.
795
- */
796
619
  function parseCanonicalPreserveCase(perm) {
797
620
  const m = perm.match(/^([\w-]+)\((.*)\)$/);
798
621
  if (m)
799
622
  return { tool: m[1], pattern: m[2] };
800
623
  return { tool: perm, pattern: null };
801
624
  }
802
- /**
803
- * Translate a canonical Bash arg-glob (`cmd:*`) into the Kimi pattern(s) that
804
- * actually match that command's invocations.
805
- *
806
- * Kimi matches Bash arg-globs with picomatch, where `*` does NOT cross `/` and a
807
- * `**` only globstars when it is its own path segment (`*​/**`, `**​/`). A plain
808
- * `cmd*` therefore matches `git status -s` but NOT `git push origin feat/x` or
809
- * `cat dir/file` — any argument containing a slash falls through to a prompt
810
- * (verified interactively against kimi 0.12.1). We emit TWO patterns so the
811
- * command auto-approves whether its args contain a slash or not:
812
- * - `cmd*` — no-slash args (and the bare command; `*` is zero-or-more).
813
- * - `cmd*​/**` — args with a path: `*` consumes up to the first `/`, then the
814
- * bounded globstar crosses the remaining slashes.
815
- * "git push:*" -> ["git push*", "git push*​/**"].
816
- */
817
625
  function kimiBashPatterns(pattern) {
818
626
  if (pattern === '*' || pattern === '**')
819
627
  return ['*'];
@@ -821,7 +629,6 @@ function kimiBashPatterns(pattern) {
821
629
  const prefix = pattern.slice(0, -2);
822
630
  return [`${prefix}*`, `${prefix}*/**`];
823
631
  }
824
- // Exact command (no `:*`, e.g. `env`, `pwd`, `true`) — no path args expected.
825
632
  return [pattern];
826
633
  }
827
634
  function canonicalToKimiRules(perm, decision) {
@@ -829,8 +636,6 @@ function canonicalToKimiRules(perm, decision) {
829
636
  return [{ decision, pattern: 'Bash' }];
830
637
  }
831
638
  const { tool, pattern } = parseCanonicalPreserveCase(perm);
832
- // Bare tool name (no parens) — name-only match. Covers `Read`, `Grep`, and
833
- // MCP tool ids, which Kimi can only match by name anyway.
834
639
  if (pattern === null) {
835
640
  return [{ decision, pattern: tool }];
836
641
  }
@@ -840,28 +645,11 @@ function canonicalToKimiRules(perm, decision) {
840
645
  pattern: p === '*' ? 'Bash' : `Bash(${p})`,
841
646
  }));
842
647
  }
843
- // Non-Bash built-ins (Read/Write/Edit/Grep/Glob/WebFetch...) share Kimi's
844
- // capitalized tool vocabulary, so pass the tool+pattern through. A `**`/`*`
845
- // glob means "any" — collapse to a name-only rule.
846
648
  if (pattern === '*' || pattern === '**') {
847
649
  return [{ decision, pattern: tool }];
848
650
  }
849
651
  return [{ decision, pattern: `${tool}(${pattern})` }];
850
652
  }
851
- /**
852
- * Convert a canonical permission set to Kimi Code's `[permission].rules` format.
853
- * Kimi (`~/.kimi-code/config.toml`) reads rules of the form
854
- * [[permission.rules]]
855
- * decision = "allow"
856
- * pattern = "Bash(git status*)"
857
- * Tool names are capitalized and the Bash arg-glob uses a trailing `*` (no
858
- * Claude `:*` separator). Without this conversion the canonical strings match
859
- * nothing in Kimi's engine and every tool call falls through to a prompt.
860
- *
861
- * Each `:*` Bash rule expands to TWO patterns (`cmd*` and `cmd*​/**`) so the
862
- * command auto-approves whether or not its arguments contain a slash — see
863
- * `kimiBashPatterns` for why Kimi's picomatch matcher needs both.
864
- */
865
653
  export function convertToKimiFormat(set) {
866
654
  const rules = [];
867
655
  for (const perm of set.allow) {
@@ -874,17 +662,10 @@ export function convertToKimiFormat(set) {
874
662
  }
875
663
  return { permission: { rules } };
876
664
  }
877
- /**
878
- * Convert canonical permission set to OpenCode format.
879
- * OpenCode uses: { permission: { bash: { "git *": "allow", "rm *": "deny" } } }
880
- */
881
665
  export function convertToOpenCodeFormat(set) {
882
666
  const bashPermissions = {};
883
- // Process allow list
884
667
  for (const perm of set.allow) {
885
668
  if (BLANKET_BASH_FORMS.has(perm)) {
886
- // Bare "Bash" has no parens so parseCanonicalPattern returns null;
887
- // normalize all three blanket forms to "*".
888
669
  bashPermissions['*'] = 'allow';
889
670
  continue;
890
671
  }
@@ -893,7 +674,6 @@ export function convertToOpenCodeFormat(set) {
893
674
  bashPermissions[parsed.pattern] = 'allow';
894
675
  }
895
676
  }
896
- // Process deny list
897
677
  if (set.deny) {
898
678
  for (const perm of set.deny) {
899
679
  const parsed = parseCanonicalPattern(perm);
@@ -908,18 +688,6 @@ export function convertToOpenCodeFormat(set) {
908
688
  },
909
689
  };
910
690
  }
911
- /**
912
- * Default extra writable roots for Codex's `workspace-write` sandbox: the
913
- * regenerable package/toolchain caches that build/test/install write OUTSIDE the
914
- * workspace (cargo registry, npm/bun/pnpm caches, GOPATH/GOCACHE, the OS cache
915
- * root, …). Without these, a sandboxed `cargo build` / `go build` / `npm install`
916
- * fails on its cache write, which is what pushes users to `--mode full` (YOLO).
917
- *
918
- * Credential dirs (`~/.ssh`, `~/.aws`, `~/.gnupg`, `~/.config`, `~/.netrc`) are
919
- * deliberately EXCLUDED so the sandbox stays meaningful — this is far from
920
- * danger-full-access. Resolved per platform + home; each box regenerates its own
921
- * Codex config on sync, so the paths always match the box Codex runs on.
922
- */
923
691
  export function codexDefaultWritableRoots(home = HOME, platform = process.platform) {
924
692
  const shared = ['.cargo', '.rustup', '.npm', '.bun', 'go', '.deno', '.gradle', '.m2', '.gem'];
925
693
  const roots = shared.map((d) => path.join(home, d));
@@ -927,18 +695,10 @@ export function codexDefaultWritableRoots(home = HOME, platform = process.platfo
927
695
  roots.push(path.join(home, 'Library', 'Caches'), path.join(home, 'Library', 'pnpm'));
928
696
  }
929
697
  else {
930
- // Linux/XDG: ~/.cache covers pip, uv, go-build, ms-playwright, etc.
931
698
  roots.push(path.join(home, '.cache'), path.join(home, '.local', 'share'), path.join(home, '.local', 'state'));
932
699
  }
933
700
  return roots;
934
701
  }
935
- /**
936
- * Merge Codex `[sandbox_workspace_write]` config, UNIONing `writable_roots` so a
937
- * baseline cache root never clobbers a root the user configured directly (a
938
- * plain object spread would overwrite the whole array), while merging scalar
939
- * keys (`network_access`) normally. Shared by the user- and version-scoped Codex
940
- * config writers so the two can't drift.
941
- */
942
702
  function mergeCodexSandboxWrite(existing, incoming) {
943
703
  const existingRoots = Array.isArray(existing?.writable_roots)
944
704
  ? existing.writable_roots
@@ -950,17 +710,8 @@ function mergeCodexSandboxWrite(existing, incoming) {
950
710
  ...(unionRoots.length > 0 ? { writable_roots: unionRoots } : {}),
951
711
  };
952
712
  }
953
- /**
954
- * Convert canonical permission set to Codex format.
955
- * Codex uses coarse-grained modes, so we infer the best fit.
956
- */
957
713
  export function convertToCodexFormat(set, cwd) {
958
714
  const result = {};
959
- // Check for broad bash permissions -> suggest full-auto.
960
- // Treat the bare blanket form "Bash" the same as "Bash(*)" / "Bash(**)";
961
- // parseCanonicalPattern requires parens so "Bash" alone wouldn't match
962
- // otherwise — the difference determines whether a pod runs unattended
963
- // (approval_policy: 'never') or stalls on interactive approvals.
964
715
  const hasBroadBash = set.allow.some((p) => {
965
716
  if (BLANKET_BASH_FORMS.has(p))
966
717
  return true;
@@ -975,7 +726,6 @@ export function convertToCodexFormat(set, cwd) {
975
726
  result.approval_policy = 'on-request';
976
727
  result.sandbox_mode = 'workspace-write';
977
728
  }
978
- // Check for network/web permissions
979
729
  const hasNetwork = set.allow.some((p) => {
980
730
  const parsed = parseCanonicalPattern(p);
981
731
  return parsed && (parsed.tool === 'websearch' || parsed.tool === 'webfetch');
@@ -985,23 +735,12 @@ export function convertToCodexFormat(set, cwd) {
985
735
  network_access: true,
986
736
  };
987
737
  }
988
- // Baseline (unconditional): always grant the regenerable build/test/install
989
- // caches as writable roots so `agents run codex` in workspace-write can build,
990
- // test, and install without escalating to danger-full-access. Merged with
991
- // network_access above when set; applyCodexPermissions unions these with any
992
- // writable_roots the user configured directly.
993
738
  result.sandbox_workspace_write = {
994
739
  ...result.sandbox_workspace_write,
995
740
  writable_roots: codexDefaultWritableRoots(),
996
741
  };
997
742
  return result;
998
743
  }
999
- // ============================================================================
1000
- // Read agent permissions from native configs
1001
- // ============================================================================
1002
- /**
1003
- * Read Claude's current permissions from settings.json.
1004
- */
1005
744
  function readClaudePermissions(scope = 'user', cwd, options) {
1006
745
  const home = options?.home || HOME;
1007
746
  const configPath = scope === 'user'
@@ -1027,9 +766,6 @@ function readClaudePermissions(scope = 'user', cwd, options) {
1027
766
  return null;
1028
767
  }
1029
768
  }
1030
- /**
1031
- * Read OpenCode's current permissions from opencode.jsonc.
1032
- */
1033
769
  function readOpenCodePermissions(scope = 'user', cwd, options) {
1034
770
  const home = options?.home || HOME;
1035
771
  const configPath = openCodeConfigPath(scope, cwd, home);
@@ -1052,9 +788,6 @@ function readOpenCodePermissions(scope = 'user', cwd, options) {
1052
788
  return null;
1053
789
  }
1054
790
  }
1055
- /**
1056
- * Read Codex's current permissions from config.toml.
1057
- */
1058
791
  function readCodexPermissions(scope = 'user', cwd, options) {
1059
792
  const home = options?.home || HOME;
1060
793
  const configPath = scope === 'user'
@@ -1086,19 +819,6 @@ function readCodexPermissions(scope = 'user', cwd, options) {
1086
819
  return null;
1087
820
  }
1088
821
  }
1089
- /**
1090
- * Read an agent's currently installed permissions.
1091
- *
1092
- * claude/opencode/codex return their NATIVE shape, because `agents permissions
1093
- * list` renders those three specially — Codex especially, whose config records a
1094
- * sandbox mode rather than a rule list, so its own fields say more than the
1095
- * blanket grants that mode widens into.
1096
- *
1097
- * Every other allowlist-capable harness returns the canonical `PermissionSet`
1098
- * that `PERMISSION_TARGETS` reads back. Before RUSH-2676 they returned `null`,
1099
- * so permissions written for cursor, antigravity, grok, kimi, droid,
1100
- * copilot, openclaw and hermes were reported as absent.
1101
- */
1102
822
  export function readAgentPermissions(agentId, scope = 'user', cwd, options) {
1103
823
  switch (agentId) {
1104
824
  case 'claude':
@@ -1111,23 +831,15 @@ export function readAgentPermissions(agentId, scope = 'user', cwd, options) {
1111
831
  return readCanonicalPermissions(agentId, scope, cwd, options?.home);
1112
832
  }
1113
833
  }
1114
- // ============================================================================
1115
- // Apply permissions to agents
1116
- // ============================================================================
1117
- /**
1118
- * Apply a permission set to Claude's settings.json.
1119
- */
1120
834
  export function applyClaudePermissions(set, scope = 'user', cwd, merge = true) {
1121
835
  const configDir = scope === 'user'
1122
836
  ? path.join(HOME, '.claude')
1123
837
  : path.join(cwd || process.cwd(), '.claude');
1124
838
  const configPath = path.join(configDir, 'settings.json');
1125
839
  try {
1126
- // Ensure directory exists
1127
840
  if (!fs.existsSync(configDir)) {
1128
841
  fs.mkdirSync(configDir, { recursive: true });
1129
842
  }
1130
- // Read existing config
1131
843
  let config = {};
1132
844
  if (fs.existsSync(configPath)) {
1133
845
  config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
@@ -1135,7 +847,6 @@ export function applyClaudePermissions(set, scope = 'user', cwd, merge = true) {
1135
847
  const newPermissions = convertToClaudeFormat(set);
1136
848
  if (merge && config.permissions) {
1137
849
  const existing = config.permissions;
1138
- // Rewrite stale Write(path) rules already installed in settings.json too.
1139
850
  const mergedAllow = new Set([...(existing.allow || []).map(canonicalToClaudeRule), ...newPermissions.permissions.allow]);
1140
851
  const mergedDeny = new Set([...(existing.deny || []).map(canonicalToClaudeRule), ...newPermissions.permissions.deny]);
1141
852
  config.permissions = {
@@ -1153,12 +864,6 @@ export function applyClaudePermissions(set, scope = 'user', cwd, merge = true) {
1153
864
  return { success: false, error: err.message };
1154
865
  }
1155
866
  }
1156
- /**
1157
- * Path OpenCode actually loads for global config:
1158
- * ~/.config/opencode/opencode.jsonc (or .json)
1159
- * Project: <cwd>/opencode.jsonc (or .json) at project root — not .opencode/.
1160
- * See https://opencode.ai/docs/config/
1161
- */
1162
867
  export function openCodeConfigPath(scope, cwd, home = HOME) {
1163
868
  if (scope === 'project') {
1164
869
  const root = cwd || process.cwd();
@@ -1177,18 +882,13 @@ export function openCodeConfigPath(scope, cwd, home = HOME) {
1177
882
  }
1178
883
  return path.join(globalDir, 'opencode.jsonc');
1179
884
  }
1180
- /**
1181
- * Apply a permission set to OpenCode's opencode.jsonc.
1182
- */
1183
885
  function applyOpenCodePermissions(set, scope = 'user', cwd, merge = true) {
1184
886
  const configPath = openCodeConfigPath(scope, cwd);
1185
887
  const configDir = path.dirname(configPath);
1186
888
  try {
1187
- // Ensure directory exists
1188
889
  if (!fs.existsSync(configDir)) {
1189
890
  fs.mkdirSync(configDir, { recursive: true });
1190
891
  }
1191
- // Read existing config
1192
892
  let config = {};
1193
893
  if (fs.existsSync(configPath)) {
1194
894
  const content = stripJsonComments(fs.readFileSync(configPath, 'utf-8'));
@@ -1208,7 +908,6 @@ function applyOpenCodePermissions(set, scope = 'user', cwd, merge = true) {
1208
908
  else {
1209
909
  config.permission = newPermissions.permission;
1210
910
  }
1211
- // Write without comments (they'll be lost)
1212
911
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
1213
912
  return { success: true };
1214
913
  }
@@ -1216,27 +915,21 @@ function applyOpenCodePermissions(set, scope = 'user', cwd, merge = true) {
1216
915
  return { success: false, error: err.message };
1217
916
  }
1218
917
  }
1219
- /**
1220
- * Apply a permission set to Codex's config.toml.
1221
- */
1222
918
  function applyCodexPermissions(set, scope = 'user', cwd, merge = true) {
1223
919
  const configDir = scope === 'user'
1224
920
  ? path.join(HOME, '.codex')
1225
921
  : path.join(cwd || process.cwd(), '.codex');
1226
922
  const configPath = path.join(configDir, 'config.toml');
1227
923
  try {
1228
- // Ensure directory exists
1229
924
  if (!fs.existsSync(configDir)) {
1230
925
  fs.mkdirSync(configDir, { recursive: true });
1231
926
  }
1232
- // Read existing config
1233
927
  let config = {};
1234
928
  if (fs.existsSync(configPath)) {
1235
929
  const content = fs.readFileSync(configPath, 'utf-8');
1236
930
  config = TOML.parse(content);
1237
931
  }
1238
932
  const newPermissions = convertToCodexFormat(set, cwd);
1239
- // Merge or replace
1240
933
  if (newPermissions.approval_policy) {
1241
934
  config.approval_policy = newPermissions.approval_policy;
1242
935
  }
@@ -1245,8 +938,6 @@ function applyCodexPermissions(set, scope = 'user', cwd, merge = true) {
1245
938
  }
1246
939
  if (newPermissions.sandbox_workspace_write) {
1247
940
  const existing = config.sandbox_workspace_write;
1248
- // merge=false is a deliberate full replace (drops any user-custom roots);
1249
- // production sync always passes merge=true, taking the union path.
1250
941
  config.sandbox_workspace_write = merge
1251
942
  ? mergeCodexSandboxWrite(existing, newPermissions.sandbox_workspace_write)
1252
943
  : newPermissions.sandbox_workspace_write;
@@ -1259,9 +950,6 @@ function applyCodexPermissions(set, scope = 'user', cwd, merge = true) {
1259
950
  return { success: false, error: err.message };
1260
951
  }
1261
952
  }
1262
- /**
1263
- * Apply a permission set to an agent (global config).
1264
- */
1265
953
  function applyPermissionsToAgent(agentId, set, scope = 'user', cwd, merge = true) {
1266
954
  switch (agentId) {
1267
955
  case 'claude':
@@ -1274,10 +962,6 @@ function applyPermissionsToAgent(agentId, set, scope = 'user', cwd, merge = true
1274
962
  return { success: false, error: `Agent '${agentId}' does not support permissions` };
1275
963
  }
1276
964
  }
1277
- /**
1278
- * Apply a permission set to a specific version's home directory.
1279
- * This writes to {versionHome}/.{agent}/settings.json (or equivalent).
1280
- */
1281
965
  export function applyPermissionsToVersion(agentId, set, versionHome, merge = true, cwd) {
1282
966
  if (!supports(agentId, 'allowlist').ok) {
1283
967
  return { success: false, error: `Agent '${agentId}' does not support permissions` };
@@ -1294,7 +978,6 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1294
978
  const newPermissions = convertToClaudeFormat(set);
1295
979
  if (merge && config.permissions) {
1296
980
  const existing = config.permissions;
1297
- // Rewrite stale Write(path) rules already installed in settings.json too.
1298
981
  const mergedAllow = new Set([...(existing.allow || []).map(canonicalToClaudeRule), ...newPermissions.permissions.allow]);
1299
982
  const mergedDeny = new Set([...(existing.deny || []).map(canonicalToClaudeRule), ...newPermissions.permissions.deny]);
1300
983
  const mergedDirs = new Set([...(existing.additionalDirectories || []), ...(newPermissions.permissions.additionalDirectories || [])]);
@@ -1314,8 +997,6 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1314
997
  return { success: true };
1315
998
  }
1316
999
  if (agentId === 'opencode') {
1317
- // OpenCode loads ~/.config/opencode/opencode.jsonc under the version home
1318
- // (HOME isolation), not ~/.opencode/opencode.jsonc.
1319
1000
  const configPath = openCodeConfigPath('user', undefined, versionHome);
1320
1001
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
1321
1002
  let config = {};
@@ -1356,8 +1037,6 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1356
1037
  }
1357
1038
  if (newPermissions.sandbox_workspace_write) {
1358
1039
  const existing = config.sandbox_workspace_write;
1359
- // merge=false is a deliberate full replace (drops any user-custom roots);
1360
- // production sync always passes merge=true, taking the union path.
1361
1040
  config.sandbox_workspace_write = merge
1362
1041
  ? mergeCodexSandboxWrite(existing, newPermissions.sandbox_workspace_write)
1363
1042
  : newPermissions.sandbox_workspace_write;
@@ -1460,14 +1139,13 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1460
1139
  return { success: true };
1461
1140
  }
1462
1141
  if (agentId === 'cursor') {
1463
- // Cursor CLI permissions live in ~/.cursor/cli-config.json
1464
1142
  const configPath = path.join(configDir, 'cli-config.json');
1465
1143
  let config = {};
1466
1144
  if (fs.existsSync(configPath)) {
1467
1145
  try {
1468
1146
  config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
1469
1147
  }
1470
- catch { /* start fresh */ }
1148
+ catch { }
1471
1149
  }
1472
1150
  const converted = convertToCursorFormat(set);
1473
1151
  if (merge && config.permissions && typeof config.permissions === 'object') {
@@ -1549,10 +1227,6 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1549
1227
  return { success: true };
1550
1228
  }
1551
1229
  if (agentId === 'openclaw') {
1552
- // OpenClaw's allowlist lives in ~/.openclaw/openclaw.json under `tools`.
1553
- // Only blanket tool-level rules map (see convertToOpenClawFormat). We
1554
- // read-modify-write to preserve all other keys (mcp, exec, agents, …) and
1555
- // never touch `tools.allow` (the absolute allowlist that replaces defaults).
1556
1230
  const configPath = path.join(versionHome, '.openclaw', 'openclaw.json');
1557
1231
  let config = {};
1558
1232
  if (fs.existsSync(configPath)) {
@@ -1574,8 +1248,6 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1574
1248
  alsoAllow = converted.alsoAllow;
1575
1249
  deny = converted.deny;
1576
1250
  }
1577
- // Set or delete each key: avoid writing empty arrays (churn). On a
1578
- // non-merge replace with nothing to write, delete the stale key.
1579
1251
  const tools = { ...existingTools };
1580
1252
  if (alsoAllow.length > 0)
1581
1253
  tools.alsoAllow = alsoAllow;
@@ -1627,12 +1299,6 @@ export function applyPermissionsToVersion(agentId, set, versionHome, merge = tru
1627
1299
  return { success: false, error: err.message };
1628
1300
  }
1629
1301
  }
1630
- // ============================================================================
1631
- // Export canonical format from agent
1632
- // ============================================================================
1633
- /**
1634
- * Convert Claude permissions back to canonical format.
1635
- */
1636
1302
  export function claudeToCanonical(perms) {
1637
1303
  const result = {
1638
1304
  name: 'exported',
@@ -1644,9 +1310,6 @@ export function claudeToCanonical(perms) {
1644
1310
  }
1645
1311
  return result;
1646
1312
  }
1647
- /**
1648
- * Convert OpenCode permissions back to canonical format.
1649
- */
1650
1313
  export function openCodeToCanonical(perms) {
1651
1314
  const allow = [];
1652
1315
  const deny = [];
@@ -1664,9 +1327,6 @@ export function openCodeToCanonical(perms) {
1664
1327
  deny: deny.length > 0 ? deny : undefined,
1665
1328
  };
1666
1329
  }
1667
- /**
1668
- * Convert Codex permissions back to canonical format (approximation).
1669
- */
1670
1330
  export function codexToCanonical(perms) {
1671
1331
  const allow = [];
1672
1332
  if (perms.approval_policy === 'never' || perms.sandbox_mode === 'danger-full-access') {
@@ -1688,14 +1348,6 @@ export function codexToCanonical(perms) {
1688
1348
  allow,
1689
1349
  };
1690
1350
  }
1691
- /**
1692
- * Export permissions from a specific config file path to canonical format,
1693
- * auto-detecting the harness from the path.
1694
- *
1695
- * Detection walks `PERMISSION_TARGETS` and matches each harness's own declared
1696
- * filename + parent directory, so it covers all 13 rather than the three
1697
- * hardcoded `.claude`/`.opencode`/`.codex` fragments it used to know about.
1698
- */
1699
1351
  export function exportPermissionsFromPath(filePath) {
1700
1352
  if (!fs.existsSync(filePath))
1701
1353
  return null;
@@ -1704,18 +1356,11 @@ export function exportPermissionsFromPath(filePath) {
1704
1356
  return null;
1705
1357
  return PERMISSION_TARGETS[agentId].toCanonical(filePath);
1706
1358
  }
1707
- /**
1708
- * Which harness owns `filePath`, by comparing against the trailing path segments
1709
- * each registry target declares. Longer (more specific) suffixes win, so
1710
- */
1711
1359
  export function detectPermissionAgentFromPath(filePath) {
1712
1360
  const normalized = path.resolve(filePath).split(path.sep).join('/');
1713
1361
  let best = null;
1714
1362
  for (const [agent, target] of Object.entries(PERMISSION_TARGETS)) {
1715
1363
  const agentId = agent;
1716
- // `altSuffixes` first: home()/project() may probe the filesystem to choose
1717
- // between accepted spellings, and with an empty root that probe resolves
1718
- // against process.cwd() -- so detection must not depend on it.
1719
1364
  const candidates = [
1720
1365
  ...(target.altSuffixes ?? []),
1721
1366
  target.home(''),
@@ -1733,9 +1378,6 @@ export function detectPermissionAgentFromPath(filePath) {
1733
1378
  }
1734
1379
  return best?.agentId ?? null;
1735
1380
  }
1736
- /**
1737
- * Save a permission set to central storage.
1738
- */
1739
1381
  function savePermissionSet(set) {
1740
1382
  ensurePermissionsDir();
1741
1383
  const filePath = safeJoin(path.join(getUserPermissionsDir(), 'groups'), set.name + '.yml');
@@ -1753,11 +1395,7 @@ function savePermissionSet(set) {
1753
1395
  return { success: false, error: err.message };
1754
1396
  }
1755
1397
  }
1756
- /** Name used for the default permission set in central storage. */
1757
1398
  const DEFAULT_PERMISSION_SET_NAME = 'default';
1758
- /**
1759
- * Get the default permission set from central storage.
1760
- */
1761
1399
  export function getDefaultPermissionSet() {
1762
1400
  const existing = getPermissionSet(DEFAULT_PERMISSION_SET_NAME);
1763
1401
  if (existing) {
@@ -1770,10 +1408,6 @@ export function getDefaultPermissionSet() {
1770
1408
  deny: [],
1771
1409
  };
1772
1410
  }
1773
- /**
1774
- * Compute diff between existing and new permissions.
1775
- * Returns { added, existing, removed } for both allow and deny rules.
1776
- */
1777
1411
  export function computePermissionsDiff(existing, incoming) {
1778
1412
  const existingAllowSet = new Set(existing.allow);
1779
1413
  const existingDenySet = new Set(existing.deny || []);
@@ -1787,9 +1421,6 @@ export function computePermissionsDiff(existing, incoming) {
1787
1421
  deny: { added: denyAdded, existing: denyExisting },
1788
1422
  };
1789
1423
  }
1790
- /**
1791
- * Merge incoming permissions into existing, deduplicating.
1792
- */
1793
1424
  export function mergePermissionSets(existing, incoming) {
1794
1425
  const allowSet = new Set([...existing.allow, ...incoming.allow]);
1795
1426
  const denySet = new Set([...(existing.deny || []), ...(incoming.deny || [])]);
@@ -1805,31 +1436,10 @@ export function mergePermissionSets(existing, incoming) {
1805
1436
  }
1806
1437
  return result;
1807
1438
  }
1808
- /**
1809
- * Save the default permission set.
1810
- */
1811
1439
  export function saveDefaultPermissionSet(set) {
1812
1440
  set.name = DEFAULT_PERMISSION_SET_NAME;
1813
1441
  return savePermissionSet(set);
1814
1442
  }
1815
- // ============================================================================
1816
- // Content-drift check (agents doctor, PHNX-3504)
1817
- // ============================================================================
1818
- /**
1819
- * Harnesses whose native permission file carries a per-rule allow/deny list the
1820
- * writer emits verbatim, so `agents doctor` can verify a group's rules survived
1821
- * into the version home rule-for-rule. The compare is done in the harness's OWN
1822
- * native vocabulary (Cursor `Shell(...)`, Droid command arrays, …) — NOT
1823
- * canonical — because every target's canonical round-trip is lossy
1824
- * (`lossyBecause` in `permissions-registry.ts`), so a canonical subset check
1825
- * would false-diff a correctly-synced home.
1826
- *
1827
- * Every other allowlist harness (codex/grok/kimi/antigravity/hermes/copilot)
1828
- * stores a lossy projection — a sandbox flag, whole-tool gate, per-directory
1829
- * approval, or a split/merged pattern — with no faithful per-group provenance, so
1830
- * doctor stays presence-only there and says so (`detail: 'format cannot verify
1831
- * content'`) rather than faking `ok`.
1832
- */
1833
1443
  export const PERMISSIONS_REPRESENTABLE = new Set([
1834
1444
  'claude',
1835
1445
  'opencode',
@@ -1848,7 +1458,6 @@ function readJsonFileSafe(filePath) {
1848
1458
  return null;
1849
1459
  }
1850
1460
  }
1851
- /** allow/deny rule strings in `agent`'s NATIVE vocabulary from its version home. */
1852
1461
  function homeNativePermissionRules(agent, versionHome) {
1853
1462
  const target = PERMISSION_TARGETS[agent];
1854
1463
  if (!target)
@@ -1895,7 +1504,6 @@ function homeNativePermissionRules(agent, versionHome) {
1895
1504
  return null;
1896
1505
  }
1897
1506
  }
1898
- /** allow/deny rule strings in `agent`'s NATIVE vocabulary the writer WOULD emit. */
1899
1507
  function expectedNativePermissionRules(agent, set) {
1900
1508
  switch (agent) {
1901
1509
  case 'claude': {
@@ -1930,23 +1538,12 @@ function expectedNativePermissionRules(agent, set) {
1930
1538
  return { allow: new Set(), deny: new Set() };
1931
1539
  }
1932
1540
  }
1933
- /**
1934
- * True when permission GROUP `groupName` is faithfully present in `agent`'s
1935
- * version home — every rule the group renders into that harness's native format
1936
- * is on disk. Only meaningful for {@link PERMISSIONS_REPRESENTABLE} agents (the
1937
- * caller keeps the lossy harnesses presence-only); returns true for a lossy
1938
- * harness or an empty/header group so the caller does not down-rank it.
1939
- *
1940
- * The expected rules are re-derived from the CURRENT source group every call
1941
- * (never a stored hash), so a rule edited/added in the source group surfaces as
1942
- * drift even though the group name is unchanged (PHNX-3504).
1943
- */
1944
1541
  export function permissionsGroupMatches(agent, versionHome, groupName) {
1945
1542
  if (!PERMISSIONS_REPRESENTABLE.has(agent))
1946
1543
  return true;
1947
1544
  const expected = expectedNativePermissionRules(agent, buildPermissionsFromGroups([groupName]));
1948
1545
  if (expected.allow.size === 0 && expected.deny.size === 0)
1949
- return true; // header / empty group
1546
+ return true;
1950
1547
  const home = homeNativePermissionRules(agent, versionHome);
1951
1548
  if (!home)
1952
1549
  return false;