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 @@
1
+ {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * `borg reset-local-seat [--host <host>] [--yes]` — the dedicated LOCAL/OFFLINE
3
+ * seat reset from the ratified client-seat-reset-state-model (Option W).
4
+ *
5
+ * Attach is PURE DIAGNOSIS on a pin-matched SESSION_REJECTED (it mutates
6
+ * nothing and points here). This command is the ONLY writer that intentionally
7
+ * clears a worktree's saved local seat. It performs ZERO network I/O: it never
8
+ * contacts the server, so it makes NO server-revocation claim. It clears ONLY
9
+ * this worktree's saved local seat — its credential and cube binding together —
10
+ * from the local seat store (keyed on findProjectRoot()); server, trust anchor,
11
+ * cube, and every sibling worktree are untouched.
12
+ *
13
+ * Flow (decision clause 2):
14
+ * S0 snapshot exact binding + token-safe credential observation
15
+ * (PRESENT(digest) | ABSENT); --host normalized-mismatch = no-op BEFORE
16
+ * any mutation; no local binding = honest no-op.
17
+ * S1 consent OUTSIDE any lock — TTY [y/N] defaulting to No; non-TTY requires
18
+ * the explicit --yes flag.
19
+ * S2/S3 re-acquire cube→seat store, re-verify the exact snapshot (any change /
20
+ * missing / same-ref replacement = honest no-op), then delete the
21
+ * CREDENTIAL FIRST and remove the binding.
22
+ */
23
+ import { type LocalSeatSnapshot, type ResetLocalSeatOutcome } from './cubes.js';
24
+ export interface ResetLocalSeatFlags {
25
+ host?: string;
26
+ yes?: boolean;
27
+ }
28
+ export interface ResetLocalSeatDeps {
29
+ snapshotLocalSeat: () => Promise<LocalSeatSnapshot | null>;
30
+ resetLocalSeatBinding: (expected: LocalSeatSnapshot) => Promise<ResetLocalSeatOutcome>;
31
+ findProjectRoot: (cwd: string) => string;
32
+ normalizeHost: (host: string) => string;
33
+ cwd: () => string;
34
+ isTTY: () => boolean;
35
+ prompt: (message: string) => Promise<string>;
36
+ stdout: (line: string) => void;
37
+ stderr: (line: string) => void;
38
+ }
39
+ export declare function runResetLocalSeat(flags: ResetLocalSeatFlags, deps: ResetLocalSeatDeps): Promise<number>;
40
+ export declare function buildDefaultResetLocalSeatDeps(): ResetLocalSeatDeps;
41
+ export type ResetLocalSeatParseResult = {
42
+ ok: true;
43
+ flags: ResetLocalSeatFlags;
44
+ } | {
45
+ ok: false;
46
+ error: string;
47
+ };
48
+ /** Parse args after `borg reset-local-seat`. Supports `--host <h>` / `--host=<h>` / `--yes` / `-y`. */
49
+ export declare function parseResetLocalSeatArgs(rawArgs: string[]): ResetLocalSeatParseResult;
50
+ //# sourceMappingURL=reset-local-seat-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-local-seat-cmd.d.ts","sourceRoot":"","sources":["../src/reset-local-seat-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC3D,qBAAqB,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvF,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC;IACrB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAmBD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,MAAM,CAAC,CAqGjB;AAED,wBAAgB,8BAA8B,IAAI,kBAAkB,CAmBnE;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GACxC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,uGAAuG;AACvG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,yBAAyB,CA2BpF"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * `borg reset-local-seat [--host <host>] [--yes]` — the dedicated LOCAL/OFFLINE
3
+ * seat reset from the ratified client-seat-reset-state-model (Option W).
4
+ *
5
+ * Attach is PURE DIAGNOSIS on a pin-matched SESSION_REJECTED (it mutates
6
+ * nothing and points here). This command is the ONLY writer that intentionally
7
+ * clears a worktree's saved local seat. It performs ZERO network I/O: it never
8
+ * contacts the server, so it makes NO server-revocation claim. It clears ONLY
9
+ * this worktree's saved local seat — its credential and cube binding together —
10
+ * from the local seat store (keyed on findProjectRoot()); server, trust anchor,
11
+ * cube, and every sibling worktree are untouched.
12
+ *
13
+ * Flow (decision clause 2):
14
+ * S0 snapshot exact binding + token-safe credential observation
15
+ * (PRESENT(digest) | ABSENT); --host normalized-mismatch = no-op BEFORE
16
+ * any mutation; no local binding = honest no-op.
17
+ * S1 consent OUTSIDE any lock — TTY [y/N] defaulting to No; non-TTY requires
18
+ * the explicit --yes flag.
19
+ * S2/S3 re-acquire cube→seat store, re-verify the exact snapshot (any change /
20
+ * missing / same-ref replacement = honest no-op), then delete the
21
+ * CREDENTIAL FIRST and remove the binding.
22
+ */
23
+ import { createInterface } from 'node:readline/promises';
24
+ import { snapshotLocalSeat as cubesSnapshotLocalSeat, resetLocalSeatBinding as cubesResetLocalSeatBinding, findProjectRoot as cubesFindProjectRoot, } from './cubes.js';
25
+ import { normalizeServerEndpoint } from './server-endpoint.js';
26
+ function reenrollCommand(apiUrl) {
27
+ return `\`borg assimilate --host ${apiUrl} --enroll\``;
28
+ }
29
+ /**
30
+ * Recovery guidance shared by the success + honest-no-op copy. Makes NO
31
+ * server-revocation claim: it recommends the operator issue a LIVE scoped
32
+ * invitation (the server can stay running) and re-enroll from this worktree.
33
+ */
34
+ function recoveryGuidance(apiUrl) {
35
+ return ('To rejoin: ask the server operator for a new enrollment invitation — the server can ' +
36
+ 'stay running (`borg-mcp-server client-invite`, or `owner-invite` for an owner) — then ' +
37
+ `re-enroll from this worktree with ${reenrollCommand(apiUrl)}.\n`);
38
+ }
39
+ export async function runResetLocalSeat(flags, deps) {
40
+ const worktree = deps.findProjectRoot(deps.cwd());
41
+ // Normalize --host up front so an unparseable value fails before any read.
42
+ let requestedHost;
43
+ if (flags.host !== undefined) {
44
+ try {
45
+ requestedHost = deps.normalizeHost(flags.host);
46
+ }
47
+ catch (error) {
48
+ deps.stderr(`${error instanceof Error ? error.message : String(error)}\n`);
49
+ return 1;
50
+ }
51
+ }
52
+ // ----- S0: snapshot -----
53
+ const snapshot = await deps.snapshotLocalSeat();
54
+ if (!snapshot) {
55
+ deps.stdout(`No saved local seat was found for this worktree (${worktree}); nothing to reset.\n`);
56
+ return 0;
57
+ }
58
+ // --host normalized-mismatch = honest no-op BEFORE any mutation. This worktree
59
+ // points at a different server than the one named, so it is not the seat the
60
+ // operator asked to reset.
61
+ if (requestedHost !== undefined && requestedHost !== snapshot.apiUrl) {
62
+ deps.stdout(`This worktree's saved local seat is on ${snapshot.apiUrl}, not ${requestedHost}; ` +
63
+ `nothing was changed. Re-run \`borg reset-local-seat --host ${snapshot.apiUrl}\` to ` +
64
+ "reset this worktree's seat.\n");
65
+ return 0;
66
+ }
67
+ const observed = snapshot.observation.state !== 'absent'
68
+ ? `a saved local session credential is present (${snapshot.observation.state})`
69
+ : 'the saved local session credential is already cleared (only the binding remains)';
70
+ deps.stderr(`This will clear ONLY this worktree's saved local seat on ${snapshot.apiUrl} ` +
71
+ `(worktree ${worktree}) — ${observed}. Server, trust anchor, cube, and sibling ` +
72
+ 'worktrees are left untouched. It makes no network call and revokes nothing server-side.\n');
73
+ // ----- S1: consent OUTSIDE any lock -----
74
+ if (deps.isTTY()) {
75
+ const answer = await deps.prompt(`Reset this worktree's saved local seat now? [y/N]: `);
76
+ const normalized = answer.trim().toLowerCase();
77
+ if (normalized !== 'y' && normalized !== 'yes') {
78
+ deps.stderr("audit: no changes made — this worktree's saved seat was left in place.\n");
79
+ return 0;
80
+ }
81
+ }
82
+ else if (flags.yes !== true) {
83
+ deps.stderr('audit: no changes made — stdin is non-interactive and --yes was not passed. Re-run ' +
84
+ '`borg reset-local-seat --yes` to clear this worktree\'s saved seat without a prompt.\n');
85
+ return 1;
86
+ }
87
+ // ----- S2/S3: re-verify under lock, credential-FIRST delete, then binding -----
88
+ let outcome;
89
+ try {
90
+ outcome = await deps.resetLocalSeatBinding(snapshot);
91
+ }
92
+ catch {
93
+ deps.stderr(`audit: no changes made — the local seat reset for ${snapshot.apiUrl} (worktree ` +
94
+ `${worktree}) could not complete (local credential store error). Retry — it is ` +
95
+ 'safe to re-run.\n');
96
+ return 1;
97
+ }
98
+ if (outcome.outcome === 'reset') {
99
+ deps.stderr(`audit: this worktree's saved local seat for ${snapshot.apiUrl} (worktree ${worktree}) ` +
100
+ 'was cleared; server, trust anchor, cube, and sibling worktrees unchanged.\n');
101
+ deps.stdout(recoveryGuidance(snapshot.apiUrl));
102
+ return 0;
103
+ }
104
+ if (outcome.outcome === 'no-binding') {
105
+ deps.stdout(`No saved local seat remained for this worktree (${worktree}); nothing to reset.\n`);
106
+ return 0;
107
+ }
108
+ // 'changed': the seat drifted between the snapshot and the commit re-check
109
+ // (a concurrent re-enroll wrote a fresh bearer, or another process already
110
+ // reset it). Never clobber a replacement — report the honest no-op.
111
+ deps.stdout(`This worktree's saved local seat on ${snapshot.apiUrl} changed since it was read ` +
112
+ "(a concurrent re-enroll or reset); nothing was changed. Re-run to observe the current " +
113
+ 'state.\n');
114
+ return 0;
115
+ }
116
+ export function buildDefaultResetLocalSeatDeps() {
117
+ return {
118
+ snapshotLocalSeat: () => cubesSnapshotLocalSeat(),
119
+ resetLocalSeatBinding: (expected) => cubesResetLocalSeatBinding(expected),
120
+ findProjectRoot: (cwd) => cubesFindProjectRoot(cwd),
121
+ normalizeHost: (host) => normalizeServerEndpoint(host),
122
+ cwd: () => process.cwd(),
123
+ isTTY: () => process.stdin.isTTY === true,
124
+ prompt: async (message) => {
125
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
126
+ try {
127
+ return await rl.question(message);
128
+ }
129
+ finally {
130
+ rl.close();
131
+ }
132
+ },
133
+ stdout: (line) => process.stdout.write(line),
134
+ stderr: (line) => process.stderr.write(line),
135
+ };
136
+ }
137
+ /** Parse args after `borg reset-local-seat`. Supports `--host <h>` / `--host=<h>` / `--yes` / `-y`. */
138
+ export function parseResetLocalSeatArgs(rawArgs) {
139
+ const flags = {};
140
+ for (let i = 0; i < rawArgs.length; i += 1) {
141
+ const arg = rawArgs[i];
142
+ if (arg === '--host') {
143
+ const next = rawArgs[i + 1];
144
+ if (typeof next !== 'string' || next.length === 0 || next.startsWith('-')) {
145
+ return { ok: false, error: '--host requires a host or URL (e.g. `--host localhost:7091`)' };
146
+ }
147
+ flags.host = next;
148
+ i += 1;
149
+ }
150
+ else if (arg.startsWith('--host=')) {
151
+ const value = arg.slice('--host='.length);
152
+ if (!value) {
153
+ return { ok: false, error: '--host requires a host or URL (e.g. `--host localhost:7091`)' };
154
+ }
155
+ flags.host = value;
156
+ }
157
+ else if (arg === '--yes' || arg === '-y') {
158
+ flags.yes = true;
159
+ }
160
+ else {
161
+ return {
162
+ ok: false,
163
+ error: `unexpected argument: ${arg}. Usage: borg reset-local-seat [--host <host>] [--yes]`,
164
+ };
165
+ }
166
+ }
167
+ return { ok: true, flags };
168
+ }
169
+ //# sourceMappingURL=reset-local-seat-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-local-seat-cmd.js","sourceRoot":"","sources":["../src/reset-local-seat-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-match.d.ts","sourceRoot":"","sources":["../src/role-match.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACrD,IAAI,CAUN"}
@@ -1 +1,23 @@
1
- const r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function s(t,o){const e=t.trim();if(!(r.test(e)?o.id===e:(o.name??"").trim().toLowerCase()===e.toLowerCase()))throw new Error(`server does not support named-role lookup yet (returned "${o.name??"?"}" for "${t}") \u2014 worker upgrade pending`)}export{s as assertRoleMatches};
1
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
2
+ /**
3
+ * Rollout-compat guard. An old worker ignores the `?role=` param and
4
+ * returns the CALLER's own role, so a new client on a not-yet-deployed
5
+ * worker would silently show the wrong playbook. Verify the returned
6
+ * role actually matches the request: by id when the input was a uuid,
7
+ * otherwise by case-insensitive trimmed name.
8
+ *
9
+ * Benign residual: if the requested name/id equals the caller's OWN role,
10
+ * an old worker's echo passes the check — but that echo IS the correct role
11
+ * (names are unique per cube, ids globally unique), so no wrong playbook is
12
+ * ever shown. The guard only needs to catch a request for a DIFFERENT role.
13
+ */
14
+ export function assertRoleMatches(requested, returned) {
15
+ const req = requested.trim();
16
+ const matches = UUID_RE.test(req)
17
+ ? returned.id === req
18
+ : (returned.name ?? '').trim().toLowerCase() === req.toLowerCase();
19
+ if (!matches) {
20
+ throw new Error(`server does not support named-role lookup yet (returned "${returned.name ?? '?'}" for "${requested}") — worker upgrade pending`);
21
+ }
22
+ }
23
+ //# sourceMappingURL=role-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-match.js","sourceRoot":"","sources":["../src/role-match.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GACX,iEAAiE,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,QAAsD;IAEtD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/B,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG;QACrB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,QAAQ,CAAC,IAAI,IAAI,GAAG,UAAU,SAAS,6BAA6B,CACjI,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../src/role-resolver.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IAGpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IAIvB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,GAAG,CAAC,MAAM,CAAC,CAMb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAG9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,EAAE,EACb,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,GACrE,IAAI,GAAG,SAAS,CAelB"}
@@ -1 +1,60 @@
1
- function c(n){return new Set(n.filter(t=>t.presumed_abandoned!==!0).map(t=>t.role_id))}function r(n){return n.toLowerCase().replace(/[_\s]+/g,"-").replace(/[^a-z0-9-]/g,"")}function s(n,t){const i=r(t);return n.find(o=>r(o.name)===i)}function d(n,t){if(t.isFirstDrone){const e=n.find(u=>u.is_human_seat);if(e)return e}const i=t.occupiedRoleIds??new Set,o=n.filter(e=>e.is_mandatory===!0&&e.role_class!=="queen"),a=n.filter(e=>e.role_class!=="queen"&&!e.is_human_seat);return o.find(e=>!i.has(e.id))??a.find(e=>!i.has(e.id))??n.find(e=>e.is_default)}export{s as matchRoleByName,c as occupiedRoleIdsForAutoRole,d as pickDefaultRole,r as roleSlug};
1
+ /**
2
+ * Build the advisory occupancy set used only by role-less assimilation.
3
+ * Explicit role selection and server authorization do not consult it.
4
+ */
5
+ export function occupiedRoleIdsForAutoRole(drones) {
6
+ return new Set(drones
7
+ .filter((drone) => drone.presumed_abandoned !== true)
8
+ .map((drone) => drone.role_id));
9
+ }
10
+ /**
11
+ * Normalize a role-name argument or stored name into a slug used for
12
+ * both worktree-path construction and role lookup. Single source of
13
+ * truth so the path and the matched role always agree.
14
+ *
15
+ * Path-safe: strips characters outside `[a-z0-9-]` after the
16
+ * underscore/whitespace collapse. The no-arg path bypasses
17
+ * validateName (the matched role's name comes from the DB, which
18
+ * has no charset constraint on role names — CreateRoleSchema is
19
+ * `min(1).max(64)` only), so the safety has to live here.
20
+ */
21
+ export function roleSlug(raw) {
22
+ return raw.toLowerCase().replace(/[_\s]+/g, '-').replace(/[^a-z0-9-]/g, '');
23
+ }
24
+ /**
25
+ * Case- and separator-insensitive lookup against the cube's roles.
26
+ */
27
+ export function matchRoleByName(roles, query) {
28
+ const slug = roleSlug(query);
29
+ return roles.find((r) => roleSlug(r.name) === slug);
30
+ }
31
+ /**
32
+ * Role picker for the no-arg `borg assimilate` case:
33
+ * - First drone in cube + a human-seat role exists → that role.
34
+ * - Otherwise → the first UNOCCUPIED mandatory non-queen role in list
35
+ * order. This includes a mandatory human-seat role such as Coordinator;
36
+ * its active seat remains the occupancy guard against a double-fill.
37
+ * - Otherwise → the first UNOCCUPIED eligible worker role in list order
38
+ * (eligible = not queen-class, not human-seat). The default role is an
39
+ * equal candidate in this pass.
40
+ * - If every eligible worker role is occupied → the is_default role.
41
+ * - Neither available → undefined (caller errors out).
42
+ *
43
+ * `occupiedRoleIds` is the set of role_ids that still hold a live-enough active
44
+ * seat for automatic selection. Omitted → treated as empty (all roles
45
+ * unoccupied), which degrades to "first eligible worker role, else default".
46
+ */
47
+ export function pickDefaultRole(roles, opts) {
48
+ if (opts.isFirstDrone) {
49
+ const humanSeat = roles.find((r) => r.is_human_seat);
50
+ if (humanSeat)
51
+ return humanSeat;
52
+ }
53
+ const occupied = opts.occupiedRoleIds ?? new Set();
54
+ const mandatory = roles.filter((r) => r.is_mandatory === true && r.role_class !== 'queen');
55
+ const eligible = roles.filter((r) => r.role_class !== 'queen' && !r.is_human_seat);
56
+ return mandatory.find((r) => !occupied.has(r.id))
57
+ ?? eligible.find((r) => !occupied.has(r.id))
58
+ ?? roles.find((r) => r.is_default);
59
+ }
60
+ //# sourceMappingURL=role-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../src/role-resolver.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA+B;IAE/B,OAAO,IAAI,GAAG,CACZ,MAAM;SACH,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;SACpD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CACjC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,IAAsE;IAEtE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,GAAG,EAAU,CAAC;IAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,OAAO,CAC3D,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,aAAa,CACpD,CAAC;IACF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;WAC5C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;WACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roster-render.d.ts","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IAChD,qBAAqB,CAAC,EAClB,MAAM,GACN,cAAc,GACd,eAAe,GACf,qBAAqB,GACrB,gBAAgB,GAChB,aAAa,GACb,IAAI,CAAC;IACT,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAwBD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,GACnC,MAAM,CASR;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,MAAM,CAOpH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA2E/D"}
@@ -1,3 +1,121 @@
1
- import{formatDroneAddressToken as f}from"./drone-address.js";const m={degraded:"unverified",deaf:"unresponsive"};function b(o,n){return`Role: ${o} \xB7 Agent CLI: ${n==="claude"?"Claude Code":n==="codex"?"Codex":n==="opencode"?"OpenCode":"not reported"}`}function A(o){return o.working_repo_name&&o.working_repo_origin?`Working repo: ${o.working_repo_name} \xB7 origin: ${o.working_repo_origin}`:o.working_repo_name?`Working repo: ${o.working_repo_name}`:o.working_repo_origin?`Working repo: origin: ${o.working_repo_origin}`:"Working repo: not reported"}function W(o){const{cubeName:n,drones:a,roles:u,resolvedSince:t,humanAgo:s}=o,i=new Map;for(const e of u)i.set(e.id,e);const r=[];if(r.push(`# Drones in cube: ${n}`),r.push(""),t&&(r.push(`_Liveness probe since ${t} (${s(t)}). \`awake\` = drone posted to the cube log after that point._`),r.push("")),!a.length)return r.push("_(no drones connected)_"),r.join(`
2
- `);for(const e of a){const w=i.get(e.role_id)?.name??"unknown",p=b(w,e.agent_kind),l=e.id?` ${f(e.id)}`:"",_=s(e.last_seen),c=e.reported_model?` \xB7 \`Reported model: ${e.reported_model}\``:" \xB7 `Reported model: not reported`",k=` \xB7 \`${A(e)}\``,d=e.wake_path&&e.wake_path!=="live"?` \xB7 \`wake-path:${m[e.wake_path]??e.wake_path}\``:"",g=e.wake_path_alert_class&&e.wake_path_alert_class!=="independent"?` \xB7 \`wake-path-class:${e.wake_path_alert_class}\``:"",$=typeof e.regen_count=="number"?` \xB7 \`regen-count:${e.regen_count}\``:"";if(t){const h=e.seen_since===!0?"`awake`":"`stale`";r.push(`- **${e.label}**${l} (${p}) \u2014 last seen ${_} \xB7 ${h}${$}${d}${g}${c}${k}`)}else r.push(`- **${e.label}**${l} (${p}) \u2014 last seen ${_}${$}${d}${g}${c}${k}`)}return r.join(`
3
- `)}export{b as formatRoleAgentLabel,A as formatWorkingRepoLabel,W as renderRoster};
1
+ /**
2
+ * Pure renderer for the `borg_roster` MCP tool output.
3
+ *
4
+ * Split out from `index.ts` so the T2.1 sender-side liveness probe
5
+ * (the `awake`/`stale-since-X` column rendering when a `since` arg is
6
+ * passed) can be unit-tested without spinning up the MCP server. Same
7
+ * pure-function + injected-`humanAgo` pattern as `stream-status.ts`.
8
+ *
9
+ * Two modes:
10
+ * - No `since` provided: classic roster — one line per drone with
11
+ * label, role, and `last seen` relative time.
12
+ * - `since` provided: each line additionally carries an `awake`
13
+ * marker if the drone's `last_seen` is after the resolved
14
+ * timestamp, otherwise a `stale-since-<relative>` marker derived
15
+ * from the resolved timestamp the server echoed back.
16
+ */
17
+ import { formatDroneAddressToken } from 'borgmcp-shared/drone-address';
18
+ /**
19
+ * gh#503 — render-layer display labels for the wake-path wire enum.
20
+ *
21
+ * The gh#406 SLI MEASURES a streak of unanswered directed challenges; it
22
+ * cannot confirm a genuinely broken wake path ("deaf") — a seat that is
23
+ * alive but idle-and-text-only looks identical past the SLA. So the
24
+ * roster shows the measured-confidence label, not the unconfirmed verdict:
25
+ * degraded (1 miss) → `unverified` (signal seen, not yet corroborated)
26
+ * deaf (2+ miss) → `unresponsive` (no response past the SLA)
27
+ *
28
+ * The wire enum VALUES (`live`/`degraded`/`deaf`), computed server-side by
29
+ * `wakePathFromStreak`, are intentionally UNCHANGED — this is a display-only
30
+ * relabel within gh#503's copy-only scope (renaming the enum would be a
31
+ * wire + schema change). An operator who wants a confirmed read cross-checks
32
+ * `borg_stream-status` on the affected seat. Unknown wire values fall back
33
+ * to the raw value so a newer server can't break an older client's roster.
34
+ */
35
+ const WAKE_PATH_DISPLAY = {
36
+ degraded: 'unverified',
37
+ deaf: 'unresponsive',
38
+ };
39
+ export function formatRoleAgentLabel(roleName, agentKind) {
40
+ const agentCli = agentKind === 'claude'
41
+ ? 'Claude Code'
42
+ : agentKind === 'codex'
43
+ ? 'Codex'
44
+ : agentKind === 'opencode'
45
+ ? 'OpenCode'
46
+ : 'not reported';
47
+ return `Role: ${roleName} · Agent CLI: ${agentCli}`;
48
+ }
49
+ export function formatWorkingRepoLabel(drone) {
50
+ if (drone.working_repo_name && drone.working_repo_origin) {
51
+ return `Working repo: ${drone.working_repo_name} · origin: ${drone.working_repo_origin}`;
52
+ }
53
+ if (drone.working_repo_name)
54
+ return `Working repo: ${drone.working_repo_name}`;
55
+ if (drone.working_repo_origin)
56
+ return `Working repo: origin: ${drone.working_repo_origin}`;
57
+ return 'Working repo: not reported';
58
+ }
59
+ export function renderRoster(inputs) {
60
+ const { cubeName, drones, roles, resolvedSince, humanAgo } = inputs;
61
+ const roleById = new Map();
62
+ for (const r of roles)
63
+ roleById.set(r.id, r);
64
+ const lines = [];
65
+ lines.push(`# Drones in cube: ${cubeName}`);
66
+ lines.push('');
67
+ if (resolvedSince) {
68
+ // Surface the liveness-probe context so the reader knows what the
69
+ // `awake`/`stale-since-X` column is measured against.
70
+ lines.push(`_Liveness probe since ${resolvedSince} (${humanAgo(resolvedSince)}). \`awake\` = drone posted to the cube log after that point._`);
71
+ lines.push('');
72
+ }
73
+ if (!drones.length) {
74
+ lines.push('_(no drones connected)_');
75
+ return lines.join('\n');
76
+ }
77
+ for (const d of drones) {
78
+ const role = roleById.get(d.role_id);
79
+ const roleName = role?.name ?? 'unknown';
80
+ const roleLabel = formatRoleAgentLabel(roleName, d.agent_kind);
81
+ // gh#371: stable short-uuid address token beside the (renumber-prone) label.
82
+ const addr = d.id ? ` ${formatDroneAddressToken(d.id)}` : '';
83
+ const lastSeen = humanAgo(d.last_seen);
84
+ const reportedModelMarker = d.reported_model
85
+ ? ` · \`Reported model: ${d.reported_model}\``
86
+ : ' · `Reported model: not reported`';
87
+ const workingRepo = formatWorkingRepoLabel(d);
88
+ const workingRepoMarker = ` · \`${workingRepo}\``;
89
+ const wakePathMarker = d.wake_path && d.wake_path !== 'live'
90
+ ? ` · \`wake-path:${WAKE_PATH_DISPLAY[d.wake_path] ?? d.wake_path}\``
91
+ : '';
92
+ const wakePathClassMarker = d.wake_path_alert_class && d.wake_path_alert_class !== 'independent'
93
+ ? ` · \`wake-path-class:${d.wake_path_alert_class}\``
94
+ : '';
95
+ const regenCountMarker = typeof d.regen_count === 'number' ? ` · \`regen-count:${d.regen_count}\`` : '';
96
+ if (resolvedSince) {
97
+ // T2.1 awake/stale column. `seen_since === true` → drone called a
98
+ // tool after the resolved timestamp; treat as awake. False or
99
+ // missing → stale. Missing should not happen when the server
100
+ // echoed a since, but defending against a shape mismatch is
101
+ // cheap and matches the renderer's no-server-assumptions
102
+ // discipline established in stream-status.ts.
103
+ //
104
+ // Per drone-4's polish NIT on the original T2.1 ship: the marker
105
+ // is just `stale` (not `stale-since-<relative>`) because the
106
+ // header already anchors the reference point and per-row "since
107
+ // when" would be identical across all stale rows in a single
108
+ // probe call — pure redundancy. The per-row `last seen X ago`
109
+ // field carries the diagnostic detail for "how stale is this
110
+ // particular drone."
111
+ const isAwake = d.seen_since === true;
112
+ const marker = isAwake ? '`awake`' : '`stale`';
113
+ lines.push(`- **${d.label}**${addr} (${roleLabel}) — last seen ${lastSeen} · ${marker}${regenCountMarker}${wakePathMarker}${wakePathClassMarker}${reportedModelMarker}${workingRepoMarker}`);
114
+ }
115
+ else {
116
+ lines.push(`- **${d.label}**${addr} (${roleLabel}) — last seen ${lastSeen}${regenCountMarker}${wakePathMarker}${wakePathClassMarker}${reportedModelMarker}${workingRepoMarker}`);
117
+ }
118
+ }
119
+ return lines.join('\n');
120
+ }
121
+ //# sourceMappingURL=roster-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roster-render.js","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,38 @@
1
1
  /**
2
- * Eviction-probe verdict for ONE worktree's saved seat. Mapped 1:1 from the
3
- * server's per-caller-seat discrimination:
4
- * evicted ← 410 DRONE_EVICTED (terminal; the SOLE delete authority gh#882 S1)
5
- * frozen 423 DRONE_FROZEN (reversiblesubscription downgrade)
6
- * live 200 (resolves)
7
- * indeterminate 401 / 404 / timeout / 5xx / network (transient, or a
8
- * pre-gh#877-deploy worker that still 401s an evicted seat)
2
+ * Eviction-probe verdict for ONE worktree's saved seat. Distinct CAUSES are
3
+ * preserved (CR #6 / CR5 — the probe must NOT collapse them). Each verdict is
4
+ * derived from the actual error TYPE/CODE, never from a mutable error-text regex:
5
+ * evicted 410 DRONE_EVICTED (terminal; the SOLE delete authority gh#882 S1)
6
+ * rejected pin-matched drone-SESSION 401 carrying the EXACT typed
7
+ * SESSION_REJECTED code (revoked / taken over; recover via
8
+ * the offline `borg reset-local-seat` never here)
9
+ * credential-rejected← any OTHER 401 on the drone session (bare/untyped or a
10
+ * non-SESSION typed code): the saved credential is no longer
11
+ * accepted, but this is NON-DESTRUCTIVE — re-enroll, NEVER a
12
+ * seat reset and never a "restart the server" blip
13
+ * trust-mismatch ← the pinned server identity no longer matches (TYPED
14
+ * BorgServerTrustError; terminal — restarting does not fix it)
15
+ * unreachable ← transport failure: connection refused/reset, DNS, or a
16
+ * request timeout (TYPED BorgServerUnreachableError or a stable
17
+ * transport errno) — genuinely transient
18
+ * endpoint-mismatch ← a 404 from a verified server: the drone endpoint/protocol is
19
+ * not recognized (a client/server version mismatch)
20
+ * server-failure ← a 5xx from a verified server (its internal error; transient)
21
+ * live ← 200 (resolves)
22
+ * indeterminate ← any other ambiguous/unknown failure — never authorizes a
23
+ * delete or a seat reset
9
24
  */
10
- export type SeatStatus = 'evicted' | 'frozen' | 'live' | 'indeterminate';
25
+ export type SeatStatus = 'evicted' | 'rejected' | 'live' | 'credential-rejected' | 'trust-mismatch' | 'unreachable' | 'endpoint-mismatch' | 'server-failure' | 'indeterminate';
11
26
  /**
12
27
  * Default seat probe: a lightweight drone-authed `whoami` with the seat's OWN
13
- * saved token. authedFetch throws the typed lifecycle errors on the structured
14
- * codes (410→DroneEvictedError, 423DroneFrozenError); anything else is
15
- * INDETERMINATE and (for the destructive cleanup path) must NEVER authorize a
16
- * delete. The launch path treats indeterminate as launch-anyway (fail-OPEN).
28
+ * saved token. authedFetch throws TYPED errors on the authoritative outcomes
29
+ * (410→DroneEvictedError; pin-matched typed 401BorgServerError('SESSION_REJECTED');
30
+ * every other 401→BorgServerError('CREDENTIAL_REJECTED'); a pinned-identity mismatch
31
+ * →BorgServerTrustError; a non-ok status→BorgServerHttpError(status); a transport
32
+ * failure/timeout→BorgServerUnreachableError). Each maps to a STABLE typed verdict
33
+ * so recovery copy is cause-accurate; the cleanup path must NEVER delete on anything
34
+ * but `evicted`; the launch path treats every non-`evicted`/non-terminal cause as
35
+ * fail-OPEN.
17
36
  */
18
- export declare function defaultProbeSeat(sessionToken: string, apiUrl: string): Promise<SeatStatus>;
37
+ export declare function defaultProbeSeat(sessionToken: string, apiUrl: string, serverTrustIdentity?: string): Promise<SeatStatus>;
19
38
  //# sourceMappingURL=seat-probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seat-probe.d.ts","sourceRoot":"","sources":["../src/seat-probe.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,MAAM,GACN,qBAAqB,GACrB,gBAAgB,GAChB,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,CAAC;AA2BpB;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,UAAU,CAAC,CAuBrB"}