borgmcp 1.1.15 → 2.0.2

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 (466) hide show
  1. package/CONTRIBUTING.md +15 -0
  2. package/LICENSE +201 -33
  3. package/NOTICE +2 -0
  4. package/README.md +85 -36
  5. package/SECURITY.md +7 -0
  6. package/dist/agent-runtime.d.ts.map +1 -0
  7. package/dist/agent-runtime.js +63 -1
  8. package/dist/agent-runtime.js.map +1 -0
  9. package/dist/assimilate-cmd.d.ts +96 -17
  10. package/dist/assimilate-cmd.d.ts.map +1 -0
  11. package/dist/assimilate-cmd.js +1396 -48
  12. package/dist/assimilate-cmd.js.map +1 -0
  13. package/dist/assimilate-deps.d.ts.map +1 -0
  14. package/dist/assimilate-deps.js +384 -3
  15. package/dist/assimilate-deps.js.map +1 -0
  16. package/dist/assimilate-guard.d.ts +5 -7
  17. package/dist/assimilate-guard.d.ts.map +1 -0
  18. package/dist/assimilate-guard.js +60 -2
  19. package/dist/assimilate-guard.js.map +1 -0
  20. package/dist/assimilate-welcome.d.ts +1 -1
  21. package/dist/assimilate-welcome.d.ts.map +1 -0
  22. package/dist/assimilate-welcome.js +32 -2
  23. package/dist/assimilate-welcome.js.map +1 -0
  24. package/dist/auth-env.d.ts +7 -50
  25. package/dist/auth-env.d.ts.map +1 -0
  26. package/dist/auth-env.js +22 -1
  27. package/dist/auth-env.js.map +1 -0
  28. package/dist/backends/launch-all-pastelist.d.ts.map +1 -0
  29. package/dist/backends/launch-all-pastelist.js +11 -4
  30. package/dist/backends/launch-all-pastelist.js.map +1 -0
  31. package/dist/backends/launch-all-tmux.d.ts.map +1 -0
  32. package/dist/backends/launch-all-tmux.js +49 -1
  33. package/dist/backends/launch-all-tmux.js.map +1 -0
  34. package/dist/backends/launch-all-windows.d.ts.map +1 -0
  35. package/dist/backends/launch-all-windows.js +86 -12
  36. package/dist/backends/launch-all-windows.js.map +1 -0
  37. package/dist/bare-launch-menu.d.ts.map +1 -0
  38. package/dist/bare-launch-menu.js +83 -6
  39. package/dist/bare-launch-menu.js.map +1 -0
  40. package/dist/claude-launch-args.d.ts.map +1 -0
  41. package/dist/claude-launch-args.js +34 -1
  42. package/dist/claude-launch-args.js.map +1 -0
  43. package/dist/claude.d.ts.map +1 -0
  44. package/dist/claude.js +486 -14
  45. package/dist/claude.js.map +1 -0
  46. package/dist/cleanup-cmd.d.ts +5 -5
  47. package/dist/cleanup-cmd.d.ts.map +1 -0
  48. package/dist/cleanup-cmd.js +453 -14
  49. package/dist/cleanup-cmd.js.map +1 -0
  50. package/dist/clear-rewake-core.d.ts.map +1 -0
  51. package/dist/clear-rewake-core.js +23 -2
  52. package/dist/clear-rewake-core.js.map +1 -0
  53. package/dist/clear-rewake.d.ts.map +1 -0
  54. package/dist/clear-rewake.js +19 -1
  55. package/dist/clear-rewake.js.map +1 -0
  56. package/dist/cli-help.d.ts +5 -0
  57. package/dist/cli-help.d.ts.map +1 -0
  58. package/dist/cli-help.js +104 -56
  59. package/dist/cli-help.js.map +1 -0
  60. package/dist/cli-platform.d.ts.map +1 -0
  61. package/dist/cli-platform.js +106 -4
  62. package/dist/cli-platform.js.map +1 -0
  63. package/dist/cli-tool-approval.d.ts +84 -0
  64. package/dist/cli-tool-approval.d.ts.map +1 -0
  65. package/dist/cli-tool-approval.js +583 -0
  66. package/dist/cli-tool-approval.js.map +1 -0
  67. package/dist/codex-app-server.d.ts.map +1 -0
  68. package/dist/codex-app-server.js +228 -4
  69. package/dist/codex-app-server.js.map +1 -0
  70. package/dist/codex-app-wake.d.ts +9 -11
  71. package/dist/codex-app-wake.d.ts.map +1 -0
  72. package/dist/codex-app-wake.js +436 -2
  73. package/dist/codex-app-wake.js.map +1 -0
  74. package/dist/codex-launch.d.ts.map +1 -0
  75. package/dist/codex-launch.js +102 -2
  76. package/dist/codex-launch.js.map +1 -0
  77. package/dist/codex-remote.d.ts +6 -1
  78. package/dist/codex-remote.d.ts.map +1 -0
  79. package/dist/codex-remote.js +394 -1
  80. package/dist/codex-remote.js.map +1 -0
  81. package/dist/codex-wake-resolve.d.ts +4 -4
  82. package/dist/codex-wake-resolve.d.ts.map +1 -0
  83. package/dist/codex-wake-resolve.js +127 -1
  84. package/dist/codex-wake-resolve.js.map +1 -0
  85. package/dist/config-utils.d.ts +2 -2
  86. package/dist/config-utils.d.ts.map +1 -0
  87. package/dist/config-utils.js +766 -3
  88. package/dist/config-utils.js.map +1 -0
  89. package/dist/config.d.ts +98 -61
  90. package/dist/config.d.ts.map +1 -0
  91. package/dist/config.js +426 -1
  92. package/dist/config.js.map +1 -0
  93. package/dist/console-prefix.d.ts.map +1 -0
  94. package/dist/console-prefix.js +96 -1
  95. package/dist/console-prefix.js.map +1 -0
  96. package/dist/cube-name.d.ts.map +1 -0
  97. package/dist/cube-name.js +67 -1
  98. package/dist/cube-name.js.map +1 -0
  99. package/dist/cubes.d.ts +126 -18
  100. package/dist/cubes.d.ts.map +1 -0
  101. package/dist/cubes.js +412 -4
  102. package/dist/cubes.js.map +1 -0
  103. package/dist/debug.d.ts.map +1 -0
  104. package/dist/debug.js +71 -1
  105. package/dist/debug.js.map +1 -0
  106. package/dist/direct-log.d.ts.map +1 -0
  107. package/dist/direct-log.js +11 -1
  108. package/dist/direct-log.js.map +1 -0
  109. package/dist/docs-sections.d.ts +11 -10
  110. package/dist/docs-sections.d.ts.map +1 -0
  111. package/dist/docs-sections.js +113 -3
  112. package/dist/docs-sections.js.map +1 -0
  113. package/dist/drone-lifecycle.d.ts +5 -21
  114. package/dist/drone-lifecycle.d.ts.map +1 -0
  115. package/dist/drone-lifecycle.js +57 -8
  116. package/dist/drone-lifecycle.js.map +1 -0
  117. package/dist/drone-management.d.ts +29 -0
  118. package/dist/drone-management.d.ts.map +1 -0
  119. package/dist/drone-management.js +109 -0
  120. package/dist/drone-management.js.map +1 -0
  121. package/dist/ensure-mcp-config.d.ts.map +1 -0
  122. package/dist/ensure-mcp-config.js +36 -1
  123. package/dist/ensure-mcp-config.js.map +1 -0
  124. package/dist/evict-drone.d.ts +10 -2
  125. package/dist/evict-drone.d.ts.map +1 -0
  126. package/dist/evict-drone.js +60 -1
  127. package/dist/evict-drone.js.map +1 -0
  128. package/dist/gc-orphan-inboxes.d.ts.map +1 -0
  129. package/dist/gc-orphan-inboxes.js +177 -1
  130. package/dist/gc-orphan-inboxes.js.map +1 -0
  131. package/dist/inbox-monitor.d.ts +1 -1
  132. package/dist/inbox-monitor.d.ts.map +1 -0
  133. package/dist/inbox-monitor.js +856 -3
  134. package/dist/inbox-monitor.js.map +1 -0
  135. package/dist/index.d.ts +6 -4
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +1034 -37
  138. package/dist/index.js.map +1 -0
  139. package/dist/launch-all-cmd.d.ts.map +1 -0
  140. package/dist/launch-all-cmd.js +377 -37
  141. package/dist/launch-all-cmd.js.map +1 -0
  142. package/dist/launch-all-command.d.ts.map +1 -0
  143. package/dist/launch-all-command.js +24 -1
  144. package/dist/launch-all-command.js.map +1 -0
  145. package/dist/launch-all-deps.d.ts +3 -8
  146. package/dist/launch-all-deps.d.ts.map +1 -0
  147. package/dist/launch-all-deps.js +99 -1
  148. package/dist/launch-all-deps.js.map +1 -0
  149. package/dist/launch-all-discovery.d.ts +1 -0
  150. package/dist/launch-all-discovery.d.ts.map +1 -0
  151. package/dist/launch-all-discovery.js +90 -4
  152. package/dist/launch-all-discovery.js.map +1 -0
  153. package/dist/launch-all-locks.d.ts.map +1 -0
  154. package/dist/launch-all-locks.js +54 -1
  155. package/dist/launch-all-locks.js.map +1 -0
  156. package/dist/launch-gate.d.ts +2 -2
  157. package/dist/launch-gate.d.ts.map +1 -0
  158. package/dist/launch-gate.js +73 -1
  159. package/dist/launch-gate.js.map +1 -0
  160. package/dist/lifecycle-log-guard.d.ts.map +1 -0
  161. package/dist/lifecycle-log-guard.js +93 -2
  162. package/dist/lifecycle-log-guard.js.map +1 -0
  163. package/dist/list-roles-render.d.ts.map +1 -0
  164. package/dist/list-roles-render.js +40 -6
  165. package/dist/list-roles-render.js.map +1 -0
  166. package/dist/local-log-routing.d.ts +19 -0
  167. package/dist/local-log-routing.d.ts.map +1 -0
  168. package/dist/local-log-routing.js +67 -0
  169. package/dist/local-log-routing.js.map +1 -0
  170. package/dist/local-manage-tool-result.d.ts +8 -0
  171. package/dist/local-manage-tool-result.d.ts.map +1 -0
  172. package/dist/local-manage-tool-result.js +10 -0
  173. package/dist/local-manage-tool-result.js.map +1 -0
  174. package/dist/local-server-cursor.d.ts +34 -0
  175. package/dist/local-server-cursor.d.ts.map +1 -0
  176. package/dist/local-server-cursor.js +151 -0
  177. package/dist/local-server-cursor.js.map +1 -0
  178. package/dist/log-audit.d.ts.map +1 -0
  179. package/dist/log-audit.js +194 -3
  180. package/dist/log-audit.js.map +1 -0
  181. package/dist/log-stream.d.ts +35 -18
  182. package/dist/log-stream.d.ts.map +1 -0
  183. package/dist/log-stream.js +1270 -12
  184. package/dist/log-stream.js.map +1 -0
  185. package/dist/model-presets.d.ts.map +1 -0
  186. package/dist/model-presets.js +19 -1
  187. package/dist/model-presets.js.map +1 -0
  188. package/dist/name-validator.d.ts.map +1 -0
  189. package/dist/name-validator.js +22 -1
  190. package/dist/name-validator.js.map +1 -0
  191. package/dist/opencode-drone.d.ts.map +1 -0
  192. package/dist/opencode-drone.js +438 -4
  193. package/dist/opencode-drone.js.map +1 -0
  194. package/dist/opencode-plugin.d.ts +1 -1
  195. package/dist/opencode-plugin.d.ts.map +1 -0
  196. package/dist/opencode-plugin.js +29 -4
  197. package/dist/opencode-plugin.js.map +1 -0
  198. package/dist/parse-assimilate-args.d.ts +1 -1
  199. package/dist/parse-assimilate-args.d.ts.map +1 -0
  200. package/dist/parse-assimilate-args.js +125 -1
  201. package/dist/parse-assimilate-args.js.map +1 -0
  202. package/dist/parse-launch-all-args.d.ts.map +1 -0
  203. package/dist/parse-launch-all-args.js +70 -1
  204. package/dist/parse-launch-all-args.js.map +1 -0
  205. package/dist/postinstall-banner.d.ts.map +1 -0
  206. package/dist/postinstall-banner.js +27 -2
  207. package/dist/postinstall-banner.js.map +1 -0
  208. package/dist/postinstall.d.ts.map +1 -0
  209. package/dist/postinstall.js +32 -5
  210. package/dist/postinstall.js.map +1 -0
  211. package/dist/readiness-probe.d.ts.map +1 -0
  212. package/dist/readiness-probe.js +9 -1
  213. package/dist/readiness-probe.js.map +1 -0
  214. package/dist/regen-format.d.ts.map +1 -0
  215. package/dist/regen-format.js +545 -13
  216. package/dist/regen-format.js.map +1 -0
  217. package/dist/regen.d.ts.map +1 -0
  218. package/dist/regen.js +141 -5
  219. package/dist/regen.js.map +1 -0
  220. package/dist/remote-client.d.ts +88 -173
  221. package/dist/remote-client.d.ts.map +1 -0
  222. package/dist/remote-client.js +997 -1
  223. package/dist/remote-client.js.map +1 -0
  224. package/dist/reset-local-seat-cmd.d.ts +50 -0
  225. package/dist/reset-local-seat-cmd.d.ts.map +1 -0
  226. package/dist/reset-local-seat-cmd.js +169 -0
  227. package/dist/reset-local-seat-cmd.js.map +1 -0
  228. package/dist/role-match.d.ts.map +1 -0
  229. package/dist/role-match.js +23 -1
  230. package/dist/role-match.js.map +1 -0
  231. package/dist/role-resolver.d.ts.map +1 -0
  232. package/dist/role-resolver.js +60 -1
  233. package/dist/role-resolver.js.map +1 -0
  234. package/dist/roster-render.d.ts.map +1 -0
  235. package/dist/roster-render.js +121 -3
  236. package/dist/roster-render.js.map +1 -0
  237. package/dist/seat-probe.d.ts +32 -13
  238. package/dist/seat-probe.d.ts.map +1 -0
  239. package/dist/seat-probe.js +78 -1
  240. package/dist/seat-probe.js.map +1 -0
  241. package/dist/seat-store.d.ts +76 -0
  242. package/dist/seat-store.d.ts.map +1 -0
  243. package/dist/seat-store.js +309 -0
  244. package/dist/seat-store.js.map +1 -0
  245. package/dist/seats.d.ts +375 -0
  246. package/dist/seats.d.ts.map +1 -0
  247. package/dist/seats.js +670 -0
  248. package/dist/seats.js.map +1 -0
  249. package/dist/self-path.d.ts +27 -0
  250. package/dist/self-path.d.ts.map +1 -0
  251. package/dist/self-path.js +43 -0
  252. package/dist/self-path.js.map +1 -0
  253. package/dist/server-endpoint.d.ts +9 -0
  254. package/dist/server-endpoint.d.ts.map +1 -0
  255. package/dist/server-endpoint.js +38 -0
  256. package/dist/server-endpoint.js.map +1 -0
  257. package/dist/server-errors.d.ts +50 -0
  258. package/dist/server-errors.d.ts.map +1 -0
  259. package/dist/server-errors.js +79 -0
  260. package/dist/server-errors.js.map +1 -0
  261. package/dist/server-handshake.d.ts +197 -0
  262. package/dist/server-handshake.d.ts.map +1 -0
  263. package/dist/server-handshake.js +533 -0
  264. package/dist/server-handshake.js.map +1 -0
  265. package/dist/server-response.d.ts +3 -0
  266. package/dist/server-response.d.ts.map +1 -0
  267. package/dist/server-response.js +67 -0
  268. package/dist/server-response.js.map +1 -0
  269. package/dist/server-trust.d.ts +14 -0
  270. package/dist/server-trust.d.ts.map +1 -0
  271. package/dist/server-trust.js +225 -0
  272. package/dist/server-trust.js.map +1 -0
  273. package/dist/session-continuity.d.ts +33 -0
  274. package/dist/session-continuity.d.ts.map +1 -0
  275. package/dist/session-continuity.js +220 -0
  276. package/dist/session-continuity.js.map +1 -0
  277. package/dist/setup-confirm.d.ts +3 -3
  278. package/dist/setup-confirm.d.ts.map +1 -0
  279. package/dist/setup-confirm.js +126 -2
  280. package/dist/setup-confirm.js.map +1 -0
  281. package/dist/setup.d.ts +5 -3
  282. package/dist/setup.d.ts.map +1 -0
  283. package/dist/setup.js +169 -46
  284. package/dist/setup.js.map +1 -0
  285. package/dist/shell-escape.d.ts.map +1 -0
  286. package/dist/shell-escape.js +22 -1
  287. package/dist/shell-escape.js.map +1 -0
  288. package/dist/spawn.d.ts +2 -2
  289. package/dist/spawn.d.ts.map +1 -0
  290. package/dist/spawn.js +29 -10
  291. package/dist/spawn.js.map +1 -0
  292. package/dist/startup-services.d.ts +0 -1
  293. package/dist/startup-services.d.ts.map +1 -0
  294. package/dist/startup-services.js +26 -1
  295. package/dist/startup-services.js.map +1 -0
  296. package/dist/stream-owner.d.ts +6 -2
  297. package/dist/stream-owner.d.ts.map +1 -0
  298. package/dist/stream-owner.js +547 -2
  299. package/dist/stream-owner.js.map +1 -0
  300. package/dist/stream-status.d.ts +1 -1
  301. package/dist/stream-status.d.ts.map +1 -0
  302. package/dist/stream-status.js +268 -3
  303. package/dist/stream-status.js.map +1 -0
  304. package/dist/sync-roles-render.d.ts.map +1 -0
  305. package/dist/sync-roles-render.js +118 -3
  306. package/dist/sync-roles-render.js.map +1 -0
  307. package/dist/sync.d.ts +1 -1
  308. package/dist/sync.d.ts.map +1 -0
  309. package/dist/sync.js +286 -22
  310. package/dist/sync.js.map +1 -0
  311. package/dist/terminal-title.d.ts.map +1 -0
  312. package/dist/terminal-title.js +68 -1
  313. package/dist/terminal-title.js.map +1 -0
  314. package/dist/token-store.d.ts +17 -111
  315. package/dist/token-store.d.ts.map +1 -0
  316. package/dist/token-store.js +81 -1
  317. package/dist/token-store.js.map +1 -0
  318. package/dist/tool-manifest.d.ts +4 -8
  319. package/dist/tool-manifest.d.ts.map +1 -0
  320. package/dist/tool-manifest.js +554 -1
  321. package/dist/tool-manifest.js.map +1 -0
  322. package/dist/tool-scope.d.ts +8 -12
  323. package/dist/tool-scope.d.ts.map +1 -0
  324. package/dist/tool-scope.js +97 -1
  325. package/dist/tool-scope.js.map +1 -0
  326. package/dist/types.d.ts +1 -5
  327. package/dist/types.d.ts.map +1 -0
  328. package/dist/types.js +5 -0
  329. package/dist/types.js.map +1 -0
  330. package/dist/unknown-subcommand.d.ts +1 -1
  331. package/dist/unknown-subcommand.d.ts.map +1 -0
  332. package/dist/unknown-subcommand.js +37 -1
  333. package/dist/unknown-subcommand.js.map +1 -0
  334. package/dist/version.d.ts +1 -1
  335. package/dist/version.d.ts.map +1 -0
  336. package/dist/version.js +78 -2
  337. package/dist/version.js.map +1 -0
  338. package/dist/working-repo.d.ts.map +1 -0
  339. package/dist/working-repo.js +81 -1
  340. package/dist/working-repo.js.map +1 -0
  341. package/dist/worktree-lifecycle.d.ts.map +1 -0
  342. package/dist/worktree-lifecycle.js +205 -2
  343. package/dist/worktree-lifecycle.js.map +1 -0
  344. package/docs/EXTRACTION_PROVENANCE.md +42 -0
  345. package/docs/LOCAL_SERVER.md +103 -0
  346. package/docs/RELEASING.md +129 -0
  347. package/package.json +52 -34
  348. package/src/agent-runtime.ts +69 -0
  349. package/src/assimilate-cmd.ts +1864 -0
  350. package/src/assimilate-deps.ts +444 -0
  351. package/src/assimilate-guard.ts +84 -0
  352. package/src/assimilate-welcome.ts +39 -0
  353. package/src/auth-env.ts +21 -0
  354. package/src/backends/launch-all-pastelist.ts +18 -0
  355. package/src/backends/launch-all-tmux.ts +75 -0
  356. package/src/backends/launch-all-windows.ts +110 -0
  357. package/src/bare-launch-menu.ts +148 -0
  358. package/src/claude-launch-args.ts +35 -0
  359. package/src/claude.ts +561 -0
  360. package/src/cleanup-cmd.ts +581 -0
  361. package/src/clear-rewake-core.ts +34 -0
  362. package/src/clear-rewake.ts +18 -0
  363. package/src/cli-help.ts +116 -0
  364. package/src/cli-platform.ts +127 -0
  365. package/src/cli-tool-approval.ts +716 -0
  366. package/src/codex-app-server.ts +238 -0
  367. package/src/codex-app-wake.ts +524 -0
  368. package/src/codex-launch.ts +140 -0
  369. package/src/codex-remote.ts +500 -0
  370. package/src/codex-wake-resolve.ts +155 -0
  371. package/src/config-utils.ts +811 -0
  372. package/src/config.ts +595 -0
  373. package/src/console-prefix.ts +99 -0
  374. package/src/cube-name.ts +69 -0
  375. package/src/cubes.ts +583 -0
  376. package/src/debug.ts +73 -0
  377. package/src/direct-log.ts +9 -0
  378. package/src/docs-sections.ts +129 -0
  379. package/src/drone-lifecycle.ts +62 -0
  380. package/src/drone-management.ts +162 -0
  381. package/src/ensure-mcp-config.ts +54 -0
  382. package/src/evict-drone.ts +82 -0
  383. package/src/gc-orphan-inboxes.ts +229 -0
  384. package/src/inbox-monitor.ts +1005 -0
  385. package/src/index.ts +1201 -0
  386. package/src/launch-all-cmd.ts +450 -0
  387. package/src/launch-all-command.ts +30 -0
  388. package/src/launch-all-deps.ts +188 -0
  389. package/src/launch-all-discovery.ts +118 -0
  390. package/src/launch-all-locks.ts +74 -0
  391. package/src/launch-gate.ts +80 -0
  392. package/src/lifecycle-log-guard.ts +144 -0
  393. package/src/list-roles-render.ts +52 -0
  394. package/src/local-log-routing.ts +106 -0
  395. package/src/local-manage-tool-result.ts +10 -0
  396. package/src/local-server-cursor.ts +188 -0
  397. package/src/log-audit.ts +207 -0
  398. package/src/log-stream.ts +1567 -0
  399. package/src/model-presets.ts +22 -0
  400. package/src/name-validator.ts +23 -0
  401. package/src/opencode-drone.ts +528 -0
  402. package/src/opencode-plugin.ts +38 -0
  403. package/src/parse-assimilate-args.ts +125 -0
  404. package/src/parse-launch-all-args.ts +100 -0
  405. package/src/postinstall-banner.ts +37 -0
  406. package/src/postinstall.ts +36 -0
  407. package/src/readiness-probe.ts +12 -0
  408. package/src/regen-format.ts +651 -0
  409. package/src/regen.ts +150 -0
  410. package/src/remote-client.ts +1457 -0
  411. package/src/reset-local-seat-cmd.ts +227 -0
  412. package/src/role-match.ts +29 -0
  413. package/src/role-resolver.ts +93 -0
  414. package/src/roster-render.ts +196 -0
  415. package/src/seat-probe.ts +115 -0
  416. package/src/seat-store.ts +333 -0
  417. package/src/seats.ts +911 -0
  418. package/src/self-path.ts +51 -0
  419. package/src/server-endpoint.ts +38 -0
  420. package/src/server-errors.ts +95 -0
  421. package/src/server-handshake.ts +816 -0
  422. package/src/server-response.ts +76 -0
  423. package/src/server-trust.ts +245 -0
  424. package/src/session-continuity.ts +280 -0
  425. package/src/setup-confirm.ts +171 -0
  426. package/src/setup.ts +186 -0
  427. package/src/shell-escape.ts +22 -0
  428. package/src/spawn.ts +31 -0
  429. package/src/startup-services.ts +36 -0
  430. package/src/stream-owner.ts +686 -0
  431. package/src/stream-status.ts +337 -0
  432. package/src/sync-roles-render.ts +163 -0
  433. package/src/sync.ts +363 -0
  434. package/src/terminal-title.ts +76 -0
  435. package/src/token-store.ts +102 -0
  436. package/src/tool-manifest.ts +610 -0
  437. package/src/tool-scope.ts +110 -0
  438. package/src/types.ts +5 -0
  439. package/src/unknown-subcommand.ts +35 -0
  440. package/src/version.ts +82 -0
  441. package/src/working-repo.ts +99 -0
  442. package/src/worktree-lifecycle.ts +254 -0
  443. package/dist/auth-recovery.d.ts +0 -33
  444. package/dist/auth-recovery.js +0 -1
  445. package/dist/auth.d.ts +0 -103
  446. package/dist/auth.js +0 -39
  447. package/dist/device-auth.d.ts +0 -75
  448. package/dist/device-auth.js +0 -1
  449. package/dist/drone-address.d.ts +0 -26
  450. package/dist/drone-address.js +0 -1
  451. package/dist/get-started.d.ts +0 -20
  452. package/dist/get-started.js +0 -2
  453. package/dist/health-beat.d.ts +0 -134
  454. package/dist/health-beat.js +0 -1
  455. package/dist/role-section.d.ts +0 -110
  456. package/dist/role-section.js +0 -8
  457. package/dist/setup-action.d.ts +0 -20
  458. package/dist/setup-action.js +0 -1
  459. package/dist/stale-version-check.d.ts +0 -40
  460. package/dist/stale-version-check.js +0 -1
  461. package/dist/subscription-retry.d.ts +0 -40
  462. package/dist/subscription-retry.js +0 -1
  463. package/dist/templates.d.ts +0 -107
  464. package/dist/templates.js +0 -359
  465. package/dist/token-crypto.d.ts +0 -50
  466. package/dist/token-crypto.js +0 -1
@@ -0,0 +1,375 @@
1
+ /**
2
+ * The unified 0600 seat store (Queen rescope, scope A) — `seats.json`.
3
+ *
4
+ * Collapses the per-seat drone-session CREDENTIAL and its worktree BINDING into
5
+ * ONE atomically-written record, keyed by the deterministic seat ref
6
+ * (origin+trust+cube+role+operation). Because a record's `state` and its
7
+ * `worktree` binding are written together in a single `withStore` commit, the
8
+ * invariant "an ACTIVE credential without a binding" is UNREACHABLE BY
9
+ * CONSTRUCTION: PREPARE mints `{credential, state:'pending'}` with NO worktree;
10
+ * FINALIZE sets `state:'active' + server metadata + worktree + display` in one
11
+ * commit; a reset deletes the whole record so credential+binding vanish together
12
+ * (there is no cross-store 'partial').
13
+ *
14
+ * The single store flock (seat-store.withStore) serializes every read-compare-
15
+ * write; there is no second lock and no composite. The raw bearer rests ONLY in
16
+ * the 0600 file and is never returned past this module except by the sole
17
+ * hydration reader; every other observation is digest-only.
18
+ */
19
+ export declare const SEATS_FILE: string;
20
+ export interface SeatOperation {
21
+ projectRoot: string;
22
+ kind: 'seat' | 'sibling';
23
+ operationKey: string;
24
+ }
25
+ /** One seat = its credential + binding + display, written as one atomic unit. */
26
+ export interface SeatRecord {
27
+ origin: string;
28
+ trustIdentity: string;
29
+ cubeId: string;
30
+ roleId: string;
31
+ operation: SeatOperation;
32
+ credential: string;
33
+ state: 'pending' | 'active';
34
+ droneId?: string;
35
+ sessionId?: string;
36
+ expiresAt?: string;
37
+ worktree?: string;
38
+ name?: string;
39
+ droneLabel?: string;
40
+ roleName?: string;
41
+ roleClass?: 'queen' | 'worker';
42
+ isHumanSeat?: boolean;
43
+ replacement?: {
44
+ credential: string;
45
+ };
46
+ }
47
+ /** The deterministic per-seat ref (identical algorithm to the retired keychain account). */
48
+ export declare function seatRef(input: {
49
+ origin: string;
50
+ trustIdentity: string;
51
+ cubeId: string;
52
+ roleId: string;
53
+ operation: SeatOperation;
54
+ }): string;
55
+ export type SeatObservation = {
56
+ state: 'active';
57
+ digest: string;
58
+ droneId: string;
59
+ } | {
60
+ state: 'pending';
61
+ digest: string;
62
+ } | {
63
+ state: 'absent';
64
+ };
65
+ /**
66
+ * TYPED, token-safe observation of the record at `ref` (CR#3). Lock-free read
67
+ * (atomic rename → complete file); the authoritative delete/activate re-reads
68
+ * under the flock. Returns only a digest + drone id, never the raw bearer.
69
+ */
70
+ export declare function observeSeat(ref: string, binding: {
71
+ origin: string;
72
+ trustIdentity: string;
73
+ cubeId: string;
74
+ }): Promise<SeatObservation>;
75
+ /**
76
+ * The SOLE raw-bearer reader (SR-seven #5). Returns the ACTIVE bearer for `ref`
77
+ * iff the record is active AND the binding matches — used only to hydrate the
78
+ * live seat for authenticated requests. Every other caller observes digest-only.
79
+ */
80
+ export declare function getActiveSeatCredential(ref: string, binding: {
81
+ origin: string;
82
+ trustIdentity: string;
83
+ cubeId: string;
84
+ }): Promise<string | null>;
85
+ /** Exact ACTIVE record for the internal continuity coordinator. */
86
+ export declare function getActiveSeat(ref: string, binding: {
87
+ origin: string;
88
+ trustIdentity: string;
89
+ cubeId: string;
90
+ }): Promise<SeatRecord | null>;
91
+ /**
92
+ * Mint the client bearer for one seat, or return the existing record (pending or
93
+ * active) so a lost-response retry re-sends the identical bearer. The minted
94
+ * record has NO worktree binding — FINALIZE adds it atomically with activation,
95
+ * so a pending record is never a live binding.
96
+ */
97
+ export declare function mintPendingSeat(input: {
98
+ origin: string;
99
+ trustIdentity: string;
100
+ cubeId: string;
101
+ roleId: string;
102
+ operation: SeatOperation;
103
+ credential: string;
104
+ }): Promise<SeatRecord>;
105
+ /**
106
+ * Typed prepare-time expectation for the single-store attach (CR#1). EXACT — the
107
+ * exact prior ACTIVE record must STILL hold at prepare time (its ref, and, when
108
+ * pinned, its drone id and its live-bearer digest). ABSENT — no ACTIVE record may
109
+ * hold this seat (a fresh enroll / a fresh sibling seat). Field name `credentialRef`
110
+ * is kept for call-site parity with the retired cross-store ExpectedBinding.
111
+ */
112
+ export type SeatExpectation = {
113
+ kind: 'exact';
114
+ credentialRef: string;
115
+ droneId?: string;
116
+ sessionDigest?: string;
117
+ } | {
118
+ kind: 'absent';
119
+ };
120
+ export type PrepareSeatOutcome = {
121
+ ok: true;
122
+ record: SeatRecord;
123
+ } | {
124
+ ok: false;
125
+ reason: 'expectation-mismatch';
126
+ };
127
+ /**
128
+ * CR#1 PREPARE-time abort in the single-store model. Under ONE store flock:
129
+ * REVALIDATE the typed expectation against the record currently at the seat ref
130
+ * (EXACT: the exact prior ACTIVE record must still hold — ref, optional drone id,
131
+ * optional live-bearer digest; ABSENT: no ACTIVE record may hold this seat), then
132
+ * — only if it holds — MINT the pending record in the SAME lock hold. A pre-existing
133
+ * valid record (pending from a lost-response retry, or the active record being
134
+ * reattached) is REUSED so the identical bearer is re-sent. `scrubBeforeMint`
135
+ * discards a known-invalid saved record (eviction remint) before minting, still
136
+ * under the one flock. On a mismatch NOTHING is minted or scrubbed (abort).
137
+ */
138
+ export declare function prepareSeat(input: {
139
+ expected: SeatExpectation;
140
+ /** Default true. When false (a fresh sibling target key that cannot yet hold a
141
+ * record) the mint runs under the flock but no expectation is revalidated. */
142
+ revalidate?: boolean;
143
+ /** Eviction remint: delete the known-invalid saved record for this seat BEFORE
144
+ * minting a fresh bearer, still inside the one flock. */
145
+ scrubBeforeMint?: boolean;
146
+ seed: {
147
+ origin: string;
148
+ trustIdentity: string;
149
+ cubeId: string;
150
+ roleId: string;
151
+ operation: SeatOperation;
152
+ credential: string;
153
+ };
154
+ }): Promise<PrepareSeatOutcome>;
155
+ export type ActivateSeatOutcome = 'activated' | 'missing' | 'replaced';
156
+ /** The worktree binding + display supplied at FINALIZE (known only once the target
157
+ * worktree is decided). Merged atomically with activation by activateAndBindSeat. */
158
+ export interface SeatBinding {
159
+ worktree: string;
160
+ name: string;
161
+ droneLabel: string;
162
+ roleName?: string;
163
+ roleClass?: 'queen' | 'worker';
164
+ isHumanSeat?: boolean;
165
+ }
166
+ /**
167
+ * ATOMIC compare-and-activate + bind (CR#2 + the scope-A collapse). Under ONE
168
+ * flock: the exact pending/active record whose bearer digest matches
169
+ * `expectedPendingDigest` is stamped ACTIVE with the server metadata AND the
170
+ * worktree binding + display, in a single commit. A same-ref replacement or a
171
+ * missing record fails closed (`replaced`/`missing`) — server metadata for bearer
172
+ * A is never bound onto bearer B, and the digest guard holds even on the
173
+ * no-expectation-digest paths (the SENT bearer's digest is always pinned).
174
+ * Because `state:'active'` and `worktree` land together, ACTIVE-without-binding
175
+ * is unreachable by construction.
176
+ */
177
+ export declare function activateAndBindSeat(input: {
178
+ origin: string;
179
+ trustIdentity: string;
180
+ cubeId: string;
181
+ roleId: string;
182
+ operation: SeatOperation;
183
+ droneId: string;
184
+ sessionId: string;
185
+ expiresAt: string;
186
+ expectedPendingDigest: string;
187
+ worktree: string;
188
+ name: string;
189
+ droneLabel: string;
190
+ roleName?: string;
191
+ roleClass?: 'queen' | 'worker';
192
+ isHumanSeat?: boolean;
193
+ }): Promise<ActivateSeatOutcome>;
194
+ export type PrepareSeatReplacementOutcome = {
195
+ ok: true;
196
+ credential: string;
197
+ digest: string;
198
+ } | {
199
+ ok: false;
200
+ reason: 'expectation-mismatch';
201
+ };
202
+ /**
203
+ * Preserve the exact ACTIVE seat while preparing one durable replacement bearer.
204
+ * A lost response or process restart reuses the stored replacement; a changed
205
+ * authority, drone, or active bearer fails before any mutation.
206
+ */
207
+ export declare function prepareSeatReplacement(input: {
208
+ ref: string;
209
+ binding: {
210
+ origin: string;
211
+ trustIdentity: string;
212
+ cubeId: string;
213
+ };
214
+ expectedDroneId: string;
215
+ expectedActiveDigest: string;
216
+ replacementCredential: string;
217
+ }): Promise<PrepareSeatReplacementOutcome>;
218
+ export type PromoteSeatReplacementOutcome = 'promoted' | 'missing' | 'replaced';
219
+ /** Update only the committed expiry for an exact same-bearer session renewal. */
220
+ export declare function refreshActiveSeatSession(input: {
221
+ ref: string;
222
+ binding: {
223
+ origin: string;
224
+ trustIdentity: string;
225
+ cubeId: string;
226
+ };
227
+ expectedDroneId: string;
228
+ expectedActiveDigest: string;
229
+ expectedSessionId: string;
230
+ expiresAt: string;
231
+ }): Promise<boolean>;
232
+ /** Atomically promote only the response-bound replacement onto the same ACTIVE seat. */
233
+ export declare function promoteSeatReplacement(input: {
234
+ ref: string;
235
+ binding: {
236
+ origin: string;
237
+ trustIdentity: string;
238
+ cubeId: string;
239
+ };
240
+ expectedDroneId: string;
241
+ expectedActiveDigest: string;
242
+ expectedReplacementDigest: string;
243
+ sessionId: string;
244
+ expiresAt: string;
245
+ }): Promise<PromoteSeatReplacementOutcome>;
246
+ /** Remove only the caller's exact pending replacement, never the ACTIVE seat. */
247
+ export declare function scrubSeatReplacement(input: {
248
+ ref: string;
249
+ binding: {
250
+ origin: string;
251
+ trustIdentity: string;
252
+ cubeId: string;
253
+ };
254
+ expectedActiveDigest: string;
255
+ expectedReplacementDigest: string;
256
+ }): Promise<boolean>;
257
+ export type BindPendingSeatOutcome = 'bound' | 'missing' | 'replaced';
258
+ /**
259
+ * CR#2: bind an existing PENDING record to a worktree WITHOUT activating it. On a
260
+ * SIBLING attach whose atomic activate+bind failed, the spawned worktree is
261
+ * preserved for an operator-driven rerun (CR#5). This stamps the worktree locator +
262
+ * display (and, if known, the drone id) onto the EXACT digest-matched PENDING record
263
+ * so the rerun FROM that worktree can DISCOVER and RESUME it — re-sending the
264
+ * identical bearer the server already digest-bound, converging on the SAME seat (no
265
+ * ghost). The record STAYS `state:'pending'`: it is non-hydratable as a live seat
266
+ * (getActiveSeatForWorktree still requires state==='active'), so this introduces no
267
+ * ACTIVE-without-activation state. Under ONE store flock (CR#3), fail-closed (CR#4):
268
+ * a missing / already-ACTIVE / same-ref-replaced record is a typed no-op — never
269
+ * binds a worktree onto a different bearer, never mutates an ACTIVE record.
270
+ */
271
+ export declare function bindPendingSeatToWorktree(input: {
272
+ origin: string;
273
+ trustIdentity: string;
274
+ cubeId: string;
275
+ roleId: string;
276
+ operation: SeatOperation;
277
+ expectedPendingDigest: string;
278
+ droneId?: string;
279
+ worktree: string;
280
+ name: string;
281
+ droneLabel: string;
282
+ roleName?: string;
283
+ roleClass?: 'queen' | 'worker';
284
+ isHumanSeat?: boolean;
285
+ }): Promise<BindPendingSeatOutcome>;
286
+ /** The exact ACTIVE seat bound to `worktree`, or null. A pending record (no
287
+ * worktree, or non-active) is NEVER surfaced as a live binding. */
288
+ export declare function getActiveSeatForWorktree(worktree: string): Promise<SeatRecord | null>;
289
+ /**
290
+ * CR#2: the seat bound to `worktree` regardless of state — an ACTIVE seat OR a
291
+ * bound-PENDING record (a sibling whose activation failed, bound to its preserved
292
+ * worktree by `bindPendingSeatToWorktree`). Used ONLY by the resume path to recover
293
+ * a bound-pending record's stored `operation` + `state` so the rerun can re-derive
294
+ * the EXACT seat ref and re-send the identical bearer. A bound-pending record is
295
+ * still NON-hydratable as a live seat — `getActiveSeatForWorktree` (and hence
296
+ * `getActiveCube`) still require state==='active', so this reader does NOT weaken
297
+ * the no-ACTIVE-without-binding / non-hydratable-pending invariants.
298
+ */
299
+ export declare function getSeatForWorktree(worktree: string): Promise<SeatRecord | null>;
300
+ /**
301
+ * CR#3: find an in-flight IMPLICIT-sibling attempt for `binding` — a PENDING,
302
+ * kind==='sibling' record whose operation.projectRoot is the source repo and which
303
+ * has NO worktree binding yet (unbound). Such a record is the persisted, collision-
304
+ * safe attempt identity left when a crash struck AFTER the server accepted the attach
305
+ * but BEFORE the worktree bind: its per-invocation-unique operationKey would otherwise
306
+ * be undiscoverable, so a rerun would mint a NEW bearer and the server (digest-
307
+ * correlating) would create a GHOST seat. Recovering it lets the rerun re-derive the
308
+ * EXACT ref and re-send the identical bearer (the server reuses its seat). A BOUND
309
+ * pending sibling (already discoverable by its worktree) and an ACTIVE record are NOT
310
+ * returned — so a COMPLETED sibling frees the source-repo key and the next distinct
311
+ * sibling mints a fresh identity. Deterministic first match.
312
+ */
313
+ export declare function findIncompleteSiblingAttempt(binding: {
314
+ origin: string;
315
+ trustIdentity: string;
316
+ cubeId: string;
317
+ projectRoot: string;
318
+ }): Promise<SeatRecord | null>;
319
+ /** True iff this worktree has ANY persisted seat record (active OR a bound
320
+ * pending), so a crash-in-gap PENDING seat is discoverable (not mislabeled). */
321
+ export declare function hasSeatForWorktree(worktree: string): Promise<boolean>;
322
+ /** All ACTIVE bound seats — {worktree, record}. */
323
+ export declare function readAllActiveSeats(): Promise<Array<{
324
+ worktree: string;
325
+ record: SeatRecord;
326
+ }>>;
327
+ export type ResetSeatOutcome = {
328
+ outcome: 'reset';
329
+ ref: string;
330
+ } | {
331
+ outcome: 'no-binding';
332
+ } | {
333
+ outcome: 'changed';
334
+ };
335
+ /**
336
+ * Reset the seat bound to `worktree`: under ONE flock, re-check the exact FULL
337
+ * binding (ref + drone id) and the token-safe observation, then DELETE the whole
338
+ * record — credential AND binding vanish together in one commit (no 'partial',
339
+ * no cross-store skew). Any drift (missing / different ref or drone / same-ref
340
+ * digest replacement) is an honest no-op.
341
+ */
342
+ export declare function resetSeatForWorktree(expected: {
343
+ worktree: string;
344
+ ref: string;
345
+ /** CR#4: undefined for a bound-PENDING record with no drone id yet — the reset
346
+ * matches undefined-vs-undefined and still deletes the exact record. */
347
+ droneId?: string;
348
+ observation: SeatObservation;
349
+ }): Promise<ResetSeatOutcome>;
350
+ /** Abort-scrub of the caller's OWN pending record only (CR#2 finalize abort):
351
+ * delete iff still pending AND digest matches — never an active record, never a
352
+ * same-ref replacement. */
353
+ export declare function scrubPendingSeat(ref: string, binding: {
354
+ origin: string;
355
+ trustIdentity: string;
356
+ cubeId: string;
357
+ }, expectedPendingDigest: string): Promise<boolean>;
358
+ /** Discard any record for one seat ref (eviction remint before a fresh mint). */
359
+ export declare function clearSeat(ref: string): Promise<void>;
360
+ /** Metadata-only refresh of one exact ACTIVE seat. The expected tuple prevents
361
+ * a delayed response from updating a replacement seat that reused the worktree. */
362
+ export declare function refreshSeatMetadata(worktree: string, expected: {
363
+ credentialRef: string;
364
+ cubeId: string;
365
+ droneId: string;
366
+ }, display: {
367
+ name: string;
368
+ droneLabel: string;
369
+ roleName?: string;
370
+ roleClass?: 'queen' | 'worker';
371
+ isHumanSeat?: boolean;
372
+ }): Promise<boolean>;
373
+ /** @internal Test-only: point the store at a fixture path is done via HOME; this
374
+ * clears the module cache (there is none — every op reads fresh under the lock). */
375
+ //# sourceMappingURL=seats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seats.d.ts","sourceRoot":"","sources":["../src/seats.ts"],"names":[],"mappings":"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"}