@repo-os/repoos 0.5.45

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 (362) hide show
  1. package/LICENSE.md +110 -0
  2. package/README.md +272 -0
  3. package/dist/.build-info.json +4 -0
  4. package/dist/.build-stamp.json +3 -0
  5. package/dist/cli/colors.d.ts +13 -0
  6. package/dist/cli/colors.js +37 -0
  7. package/dist/cli/index.d.ts +2 -0
  8. package/dist/cli/index.js +221 -0
  9. package/dist/commands/check.d.ts +170 -0
  10. package/dist/commands/check.js +1227 -0
  11. package/dist/commands/docs.d.ts +2 -0
  12. package/dist/commands/docs.js +70 -0
  13. package/dist/commands/gc.d.ts +1 -0
  14. package/dist/commands/gc.js +57 -0
  15. package/dist/commands/init.d.ts +9 -0
  16. package/dist/commands/init.js +699 -0
  17. package/dist/commands/screenshots.d.ts +7 -0
  18. package/dist/commands/screenshots.js +77 -0
  19. package/dist/commands/serve.d.ts +55 -0
  20. package/dist/commands/serve.js +204 -0
  21. package/dist/commands/status.d.ts +140 -0
  22. package/dist/commands/status.js +569 -0
  23. package/dist/commands/stop.d.ts +1 -0
  24. package/dist/commands/stop.js +59 -0
  25. package/dist/commands/tasks.d.ts +47 -0
  26. package/dist/commands/tasks.js +334 -0
  27. package/dist/commands/tunnel.d.ts +1 -0
  28. package/dist/commands/tunnel.js +1271 -0
  29. package/dist/commands/ui-harness.d.ts +53 -0
  30. package/dist/commands/ui-harness.js +62 -0
  31. package/dist/commands/ui-smoke.d.ts +6 -0
  32. package/dist/commands/ui-smoke.js +220 -0
  33. package/dist/commands/upgrade.d.ts +15 -0
  34. package/dist/commands/upgrade.js +188 -0
  35. package/dist/core/auth-store.d.ts +81 -0
  36. package/dist/core/auth-store.js +530 -0
  37. package/dist/core/auth.d.ts +75 -0
  38. package/dist/core/auth.js +124 -0
  39. package/dist/core/bootstrap.d.ts +41 -0
  40. package/dist/core/bootstrap.js +236 -0
  41. package/dist/core/build.d.ts +92 -0
  42. package/dist/core/build.js +249 -0
  43. package/dist/core/canary.d.ts +10 -0
  44. package/dist/core/canary.js +14 -0
  45. package/dist/core/check-failure-summary.d.ts +10 -0
  46. package/dist/core/check-failure-summary.js +34 -0
  47. package/dist/core/config.d.ts +160 -0
  48. package/dist/core/config.js +1288 -0
  49. package/dist/core/context-pack.d.ts +74 -0
  50. package/dist/core/context-pack.js +778 -0
  51. package/dist/core/db.d.ts +236 -0
  52. package/dist/core/db.js +747 -0
  53. package/dist/core/detect.d.ts +69 -0
  54. package/dist/core/detect.js +251 -0
  55. package/dist/core/docs.d.ts +76 -0
  56. package/dist/core/docs.js +225 -0
  57. package/dist/core/frontmatter.d.ts +29 -0
  58. package/dist/core/frontmatter.js +215 -0
  59. package/dist/core/git.d.ts +505 -0
  60. package/dist/core/git.js +1453 -0
  61. package/dist/core/indexer.d.ts +33 -0
  62. package/dist/core/indexer.js +282 -0
  63. package/dist/core/input.d.ts +66 -0
  64. package/dist/core/input.js +222 -0
  65. package/dist/core/logger.d.ts +70 -0
  66. package/dist/core/logger.js +138 -0
  67. package/dist/core/models.d.ts +45 -0
  68. package/dist/core/models.js +291 -0
  69. package/dist/core/net-probe.d.ts +4 -0
  70. package/dist/core/net-probe.js +20 -0
  71. package/dist/core/providers/deepinfra.d.ts +23 -0
  72. package/dist/core/providers/deepinfra.js +44 -0
  73. package/dist/core/providers/index.d.ts +24 -0
  74. package/dist/core/providers/index.js +59 -0
  75. package/dist/core/providers/openrouter.d.ts +28 -0
  76. package/dist/core/providers/openrouter.js +82 -0
  77. package/dist/core/providers/spend.d.ts +86 -0
  78. package/dist/core/providers/spend.js +286 -0
  79. package/dist/core/providers/types.d.ts +56 -0
  80. package/dist/core/providers/types.js +39 -0
  81. package/dist/core/repoos.d.ts +59 -0
  82. package/dist/core/repoos.js +221 -0
  83. package/dist/core/runtime.d.ts +35 -0
  84. package/dist/core/runtime.js +167 -0
  85. package/dist/core/skills-registry.d.ts +39 -0
  86. package/dist/core/skills-registry.js +148 -0
  87. package/dist/core/skills-registry.test.d.ts +1 -0
  88. package/dist/core/skills-registry.test.js +52 -0
  89. package/dist/core/sysmem.d.ts +7 -0
  90. package/dist/core/sysmem.js +55 -0
  91. package/dist/core/tailscale.d.ts +2 -0
  92. package/dist/core/tailscale.js +19 -0
  93. package/dist/core/task.d.ts +53 -0
  94. package/dist/core/task.js +310 -0
  95. package/dist/core/toml-line.d.ts +20 -0
  96. package/dist/core/toml-line.js +52 -0
  97. package/dist/core/toml-validate.d.ts +44 -0
  98. package/dist/core/toml-validate.js +335 -0
  99. package/dist/core/tunnel-assistant.d.ts +30 -0
  100. package/dist/core/tunnel-assistant.js +65 -0
  101. package/dist/core/tunnel-registry.d.ts +96 -0
  102. package/dist/core/tunnel-registry.js +267 -0
  103. package/dist/core/tunnel-registry.test.d.ts +1 -0
  104. package/dist/core/tunnel-registry.test.js +309 -0
  105. package/dist/core/tunnel.d.ts +103 -0
  106. package/dist/core/tunnel.js +320 -0
  107. package/dist/core/types.d.ts +811 -0
  108. package/dist/core/types.js +27 -0
  109. package/dist/core/worktree-gc.d.ts +57 -0
  110. package/dist/core/worktree-gc.js +194 -0
  111. package/dist/server/__tests__/integration-job.test.d.ts +1 -0
  112. package/dist/server/__tests__/integration-job.test.js +129 -0
  113. package/dist/server/agents.d.ts +1020 -0
  114. package/dist/server/agents.js +4070 -0
  115. package/dist/server/attachments.d.ts +51 -0
  116. package/dist/server/attachments.js +130 -0
  117. package/dist/server/auto-engineering.d.ts +45 -0
  118. package/dist/server/auto-engineering.js +275 -0
  119. package/dist/server/branchless-release.d.ts +22 -0
  120. package/dist/server/branchless-release.js +67 -0
  121. package/dist/server/built-in-agents.d.ts +305 -0
  122. package/dist/server/built-in-agents.js +1838 -0
  123. package/dist/server/cto-monitor.d.ts +35 -0
  124. package/dist/server/cto-monitor.js +281 -0
  125. package/dist/server/cto.d.ts +125 -0
  126. package/dist/server/cto.js +590 -0
  127. package/dist/server/deployments.d.ts +119 -0
  128. package/dist/server/deployments.js +325 -0
  129. package/dist/server/diff-snapshot.d.ts +20 -0
  130. package/dist/server/diff-snapshot.js +73 -0
  131. package/dist/server/done.d.ts +160 -0
  132. package/dist/server/done.js +488 -0
  133. package/dist/server/freeform.d.ts +55 -0
  134. package/dist/server/freeform.js +179 -0
  135. package/dist/server/handoff.d.ts +99 -0
  136. package/dist/server/handoff.js +575 -0
  137. package/dist/server/hetzner.d.ts +45 -0
  138. package/dist/server/hetzner.js +117 -0
  139. package/dist/server/icons.d.ts +8 -0
  140. package/dist/server/icons.js +195 -0
  141. package/dist/server/integration-job.d.ts +75 -0
  142. package/dist/server/integration-job.js +144 -0
  143. package/dist/server/integration-orchestrator.d.ts +211 -0
  144. package/dist/server/integration-orchestrator.js +1299 -0
  145. package/dist/server/integration-status.d.ts +48 -0
  146. package/dist/server/integration-status.js +71 -0
  147. package/dist/server/live-index.d.ts +295 -0
  148. package/dist/server/live-index.js +452 -0
  149. package/dist/server/model-test.d.ts +20 -0
  150. package/dist/server/model-test.js +100 -0
  151. package/dist/server/ntfy.d.ts +57 -0
  152. package/dist/server/ntfy.js +112 -0
  153. package/dist/server/pm-attachments.d.ts +35 -0
  154. package/dist/server/pm-attachments.js +181 -0
  155. package/dist/server/pm-runs.d.ts +58 -0
  156. package/dist/server/pm-runs.js +80 -0
  157. package/dist/server/preview.d.ts +174 -0
  158. package/dist/server/preview.js +641 -0
  159. package/dist/server/release.d.ts +88 -0
  160. package/dist/server/release.js +449 -0
  161. package/dist/server/reload.d.ts +194 -0
  162. package/dist/server/reload.js +586 -0
  163. package/dist/server/remote-validation.d.ts +132 -0
  164. package/dist/server/remote-validation.js +478 -0
  165. package/dist/server/repo-lock.d.ts +36 -0
  166. package/dist/server/repo-lock.js +141 -0
  167. package/dist/server/review-guard.d.ts +14 -0
  168. package/dist/server/review-guard.js +159 -0
  169. package/dist/server/review.d.ts +243 -0
  170. package/dist/server/review.js +1211 -0
  171. package/dist/server/routes/agents.d.ts +6 -0
  172. package/dist/server/routes/agents.js +28 -0
  173. package/dist/server/routes/auth.d.ts +60 -0
  174. package/dist/server/routes/auth.js +755 -0
  175. package/dist/server/routes/config.d.ts +20 -0
  176. package/dist/server/routes/config.js +347 -0
  177. package/dist/server/routes/debugger.d.ts +33 -0
  178. package/dist/server/routes/debugger.js +360 -0
  179. package/dist/server/routes/deployments.d.ts +3 -0
  180. package/dist/server/routes/deployments.js +16 -0
  181. package/dist/server/routes/docs.d.ts +8 -0
  182. package/dist/server/routes/docs.js +135 -0
  183. package/dist/server/routes/helpers.d.ts +21 -0
  184. package/dist/server/routes/helpers.js +171 -0
  185. package/dist/server/routes/index.d.ts +19 -0
  186. package/dist/server/routes/index.js +18 -0
  187. package/dist/server/routes/info.d.ts +17 -0
  188. package/dist/server/routes/info.js +177 -0
  189. package/dist/server/routes/inputs.d.ts +7 -0
  190. package/dist/server/routes/inputs.js +125 -0
  191. package/dist/server/routes/model-providers.d.ts +27 -0
  192. package/dist/server/routes/model-providers.js +94 -0
  193. package/dist/server/routes/models.d.ts +3 -0
  194. package/dist/server/routes/models.js +36 -0
  195. package/dist/server/routes/notify.d.ts +2 -0
  196. package/dist/server/routes/notify.js +17 -0
  197. package/dist/server/routes/playground.d.ts +29 -0
  198. package/dist/server/routes/playground.js +81 -0
  199. package/dist/server/routes/release.d.ts +20 -0
  200. package/dist/server/routes/release.js +86 -0
  201. package/dist/server/routes/router.d.ts +12 -0
  202. package/dist/server/routes/router.js +32 -0
  203. package/dist/server/routes/skill-registry.d.ts +5 -0
  204. package/dist/server/routes/skill-registry.js +51 -0
  205. package/dist/server/routes/tasks.d.ts +58 -0
  206. package/dist/server/routes/tasks.js +1442 -0
  207. package/dist/server/routes/transcribe.d.ts +2 -0
  208. package/dist/server/routes/transcribe.js +124 -0
  209. package/dist/server/routes/types.d.ts +68 -0
  210. package/dist/server/routes/types.js +1 -0
  211. package/dist/server/routes/ui.d.ts +5 -0
  212. package/dist/server/routes/ui.js +81 -0
  213. package/dist/server/routes/utils.d.ts +3 -0
  214. package/dist/server/routes/utils.js +23 -0
  215. package/dist/server/serve-reaper.d.ts +135 -0
  216. package/dist/server/serve-reaper.js +491 -0
  217. package/dist/server/server.d.ts +49 -0
  218. package/dist/server/server.js +2171 -0
  219. package/dist/server/supervisor.d.ts +89 -0
  220. package/dist/server/supervisor.js +231 -0
  221. package/dist/server/system.d.ts +198 -0
  222. package/dist/server/system.js +480 -0
  223. package/dist/server/task-check.d.ts +45 -0
  224. package/dist/server/task-check.js +71 -0
  225. package/dist/server/task-transitions.d.ts +51 -0
  226. package/dist/server/task-transitions.js +78 -0
  227. package/dist/server/task-watchdog.d.ts +158 -0
  228. package/dist/server/task-watchdog.js +681 -0
  229. package/dist/server/test-run.d.ts +28 -0
  230. package/dist/server/test-run.js +81 -0
  231. package/dist/server/watcher.d.ts +21 -0
  232. package/dist/server/watcher.js +194 -0
  233. package/dist/server/write.d.ts +94 -0
  234. package/dist/server/write.js +345 -0
  235. package/dist/ui/assets/AgentsView-CF4wRvHh.css +1 -0
  236. package/dist/ui/assets/AgentsView-D-myL-kA.js +1 -0
  237. package/dist/ui/assets/ContextView-D3TC-RSp.css +1 -0
  238. package/dist/ui/assets/ContextView-DsOqAdyE.js +4 -0
  239. package/dist/ui/assets/DashboardView-BOhsIJqO.js +1 -0
  240. package/dist/ui/assets/DashboardView-Ck9o0RP2.css +1 -0
  241. package/dist/ui/assets/DeploymentsView--iIUVfEH.css +1 -0
  242. package/dist/ui/assets/DeploymentsView-DXu_FYR2.js +1 -0
  243. package/dist/ui/assets/InputsView-24HVbVPk.js +1 -0
  244. package/dist/ui/assets/InputsView-BLb7GHtx.css +1 -0
  245. package/dist/ui/assets/LoginView-6QlGg6cx.css +1 -0
  246. package/dist/ui/assets/LoginView-BqupI0Lt.js +1 -0
  247. package/dist/ui/assets/ReleasesView-BEG1A0YH.css +1 -0
  248. package/dist/ui/assets/ReleasesView-CAgMuxpe.js +3 -0
  249. package/dist/ui/assets/SettingsView-CA-NYSMK.css +1 -0
  250. package/dist/ui/assets/SettingsView-O3iZSnjg.js +3 -0
  251. package/dist/ui/assets/WorkView-D8Tl6qwy.js +1 -0
  252. package/dist/ui/assets/WorkView-DMYL2s3W.css +1 -0
  253. package/dist/ui/assets/abnfDiagram-VCTEODGH-J5lkSnEE.js +1 -0
  254. package/dist/ui/assets/arc-BHZnmhhM.js +1 -0
  255. package/dist/ui/assets/architecture-7GRP2DOG-pLdFt-xS.js +1 -0
  256. package/dist/ui/assets/architectureDiagram-5GKGNRK7-C3k89uKX.js +36 -0
  257. package/dist/ui/assets/array-BifhSqXX.js +1 -0
  258. package/dist/ui/assets/blockDiagram-I7D4REHJ-AWNoBzop.js +129 -0
  259. package/dist/ui/assets/button-lbikqSph.js +1 -0
  260. package/dist/ui/assets/c4Diagram-7LVT6UL2-DKG1D5gd.js +38 -0
  261. package/dist/ui/assets/channel-gA4qBv3A.js +1 -0
  262. package/dist/ui/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  263. package/dist/ui/assets/chunk-4HAMMTFA-D1YR8lF_.js +62 -0
  264. package/dist/ui/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  265. package/dist/ui/assets/chunk-75Z2AOVW-5GuBxfsL.js +2 -0
  266. package/dist/ui/assets/chunk-DU6HZSFF-DfdNNqwa.js +127 -0
  267. package/dist/ui/assets/chunk-F27PBJKO-BPZzinQ4.js +1 -0
  268. package/dist/ui/assets/chunk-FOHPRMQF-l2z4K2jD.js +161 -0
  269. package/dist/ui/assets/chunk-GMAD6QVW-DGWvSKj5.js +72 -0
  270. package/dist/ui/assets/chunk-GVQU2GXP-D6Aw75wJ.js +1 -0
  271. package/dist/ui/assets/chunk-IMKFNOWR-B8mMBKCW.js +231 -0
  272. package/dist/ui/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  273. package/dist/ui/assets/chunk-L3NEJ4N5-D5OJuXYE.js +1 -0
  274. package/dist/ui/assets/chunk-OSK3NFVY-B7r9w2UW.js +10 -0
  275. package/dist/ui/assets/chunk-P2QGCYS3-C74X4AQX.js +1 -0
  276. package/dist/ui/assets/chunk-POPQ4Y6H-C5_u1gUS.js +1 -0
  277. package/dist/ui/assets/chunk-PWAF6VOD-DfoTLtxn.js +1 -0
  278. package/dist/ui/assets/chunk-SHT3W25Y-D40m2eqz.js +168 -0
  279. package/dist/ui/assets/chunk-SVP7TREG-euxi0Kap.js +88 -0
  280. package/dist/ui/assets/chunk-TICWLB2K-fkdxngzN.js +206 -0
  281. package/dist/ui/assets/chunk-XXDRQBXY-DFBUG-OT.js +1 -0
  282. package/dist/ui/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  283. package/dist/ui/assets/classDiagram-ZZMXUADV-BzW8bq2P.js +1 -0
  284. package/dist/ui/assets/classDiagram-v2-VYDZK3BY-BzW8bq2P.js +1 -0
  285. package/dist/ui/assets/cose-bilkent-JH36ORCC-BTcgMon1.js +1 -0
  286. package/dist/ui/assets/cynefin-OW5HDTMX-B5m_COsS.js +1 -0
  287. package/dist/ui/assets/cynefinDiagram-5FMLGOSQ-C-AG6CGe.js +62 -0
  288. package/dist/ui/assets/cytoscape.esm-FBntH-9t.js +321 -0
  289. package/dist/ui/assets/dagre-GXQ25YYZ-DDfDnp8L.js +4 -0
  290. package/dist/ui/assets/dagre-PrKaheQc.js +1 -0
  291. package/dist/ui/assets/defaultLocale-BFoDCU3G.js +1 -0
  292. package/dist/ui/assets/diagram-S7CK7UJ4-DjQZAlEY.js +30 -0
  293. package/dist/ui/assets/diagram-UQ7AKVKN-DAZ9yp1B.js +41 -0
  294. package/dist/ui/assets/diagram-VSXAHHWV-BWepUKJD.js +3 -0
  295. package/dist/ui/assets/diagram-VX7I27RA-EcV1J81b.js +24 -0
  296. package/dist/ui/assets/diagram-Z3DM3KII-Dbz7XU_K.js +24 -0
  297. package/dist/ui/assets/dist-DTg6UBE_.js +1 -0
  298. package/dist/ui/assets/ebnfDiagram-PWID7BFC-BUyQw8Mm.js +1 -0
  299. package/dist/ui/assets/erDiagram-RLTQ6QDP-WVf8ukKt.js +99 -0
  300. package/dist/ui/assets/eventmodeling-NTZA5JFV-DHqyLOAn.js +1 -0
  301. package/dist/ui/assets/flowDiagram-HODETNUW-CYk_ze5K.js +1 -0
  302. package/dist/ui/assets/ganttDiagram-EL5Y4UJY-rB4MZuB-.js +292 -0
  303. package/dist/ui/assets/gitGraph-4MIJSDKK-BOTWM8dY.js +1 -0
  304. package/dist/ui/assets/gitGraphDiagram-WWUBYQGX-eYscuhtP.js +106 -0
  305. package/dist/ui/assets/graphlib-DS17s2tU.js +1 -0
  306. package/dist/ui/assets/index-BACBfnga.css +1 -0
  307. package/dist/ui/assets/index-BOQ-ust6.js +26 -0
  308. package/dist/ui/assets/info-A6RAGUB7-_67wOORe.js +1 -0
  309. package/dist/ui/assets/infoDiagram-27XIBGKW-XVXbddTA.js +2 -0
  310. package/dist/ui/assets/init-C-OQMol4.js +1 -0
  311. package/dist/ui/assets/ishikawaDiagram-5VMMS53U-ClLNiEru.js +70 -0
  312. package/dist/ui/assets/journeyDiagram-3NMN7TZE-NRawjR6i.js +139 -0
  313. package/dist/ui/assets/kanban-definition-UXKFOSKX-BgSzBfIx.js +89 -0
  314. package/dist/ui/assets/katex-DolUETbr.js +257 -0
  315. package/dist/ui/assets/line-KAyfuul4.js +1 -0
  316. package/dist/ui/assets/linear-cCCPOpu7.js +1 -0
  317. package/dist/ui/assets/mermaid-parser.core-CgXZk1iN.js +7 -0
  318. package/dist/ui/assets/mermaid.core-BUUkChHW.js +44 -0
  319. package/dist/ui/assets/mindmap-definition-YA3MSWOX-Cpn7vW4r.js +96 -0
  320. package/dist/ui/assets/ordinal-BDEzSJ7C.js +1 -0
  321. package/dist/ui/assets/packet-AYTQ26CC-0lZwM-d6.js +1 -0
  322. package/dist/ui/assets/path-COt_16Va.js +1 -0
  323. package/dist/ui/assets/pegDiagram-XKGWAZYB-impy0inn.js +1 -0
  324. package/dist/ui/assets/pie-WAS4IAKB-CqfdGHYg.js +1 -0
  325. package/dist/ui/assets/pieDiagram-E7YTZNPT-CxjL4I1h.js +39 -0
  326. package/dist/ui/assets/quadrantDiagram-AXDQQJYC-Cjd1QMIe.js +7 -0
  327. package/dist/ui/assets/radar-RG4KPBEZ-CRkQIwiv.js +1 -0
  328. package/dist/ui/assets/railroad-74A4TZTK-i67XSWTB.js +1 -0
  329. package/dist/ui/assets/railroad-abnf-HS5TGJTU-Cv9m5aS3.js +1 -0
  330. package/dist/ui/assets/railroad-ebnf-LZEXJU2U-C5ZIn-Jh.js +1 -0
  331. package/dist/ui/assets/railroad-peg-WCYAUIDC-CGra9Oq-.js +1 -0
  332. package/dist/ui/assets/railroadDiagram-O6MQD6OU-_pK0qyaY.js +1 -0
  333. package/dist/ui/assets/releases-B0WNV-SY.js +1 -0
  334. package/dist/ui/assets/repoos-cto-square.webp +0 -0
  335. package/dist/ui/assets/repoos-helpful-pm-square.webp +0 -0
  336. package/dist/ui/assets/repoos-orchestrator-square.webp +0 -0
  337. package/dist/ui/assets/repoos-performance-agent-square.webp +0 -0
  338. package/dist/ui/assets/repoos-ross-from-friends-square.webp +0 -0
  339. package/dist/ui/assets/repoos-tech-debt-agent-square.webp +0 -0
  340. package/dist/ui/assets/requirementDiagram-BXWQKSXE-CRrFX-yw.js +84 -0
  341. package/dist/ui/assets/rough.esm-By172zw-.js +1 -0
  342. package/dist/ui/assets/sankeyDiagram-P5KCCOFB-X_xFRj9E.js +40 -0
  343. package/dist/ui/assets/sequenceDiagram-WJ2MYXX4-Byb49lKf.js +162 -0
  344. package/dist/ui/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  345. package/dist/ui/assets/src-BH-TyZbA.js +1 -0
  346. package/dist/ui/assets/stateDiagram-D77RDMKH-CzaPrqYF.js +1 -0
  347. package/dist/ui/assets/stateDiagram-v2-MP3YSRHH-BCXckz7K.js +1 -0
  348. package/dist/ui/assets/swimlanes-42K2YHIH-Cx_1lnqr.js +1 -0
  349. package/dist/ui/assets/swimlanesDiagram-VR7AAH4N-54qsKi6A.js +8 -0
  350. package/dist/ui/assets/timeline-definition-24CTP7MA-B1IbZPQ-.js +120 -0
  351. package/dist/ui/assets/treeView-Q6P3EWNA-DFWhVE3d.js +1 -0
  352. package/dist/ui/assets/treemap-WGGIJYW6-BmbYPThn.js +1 -0
  353. package/dist/ui/assets/vendor-ui-DPm7zLxi.js +3 -0
  354. package/dist/ui/assets/vendor-vue-CobgyEJp.js +1 -0
  355. package/dist/ui/assets/vennDiagram-4TSXK5OY-Ae2AtRpt.js +34 -0
  356. package/dist/ui/assets/wardley-WFR3VGLG-BtD4X4tL.js +1 -0
  357. package/dist/ui/assets/wardleyDiagram-VM6X3IG4-B3YN2fTd.js +78 -0
  358. package/dist/ui/assets/xychartDiagram-S5SC5T6Z-CIzJfMKA.js +7 -0
  359. package/dist/ui/favicon.svg +11 -0
  360. package/dist/ui/index.html +49 -0
  361. package/dist/ui/sw.js +48 -0
  362. package/package.json +91 -0
@@ -0,0 +1,334 @@
1
+ /**
2
+ * Read and mutate commands. Every command that touches the board — reads and
3
+ * writes alike — goes through boardRepoOS(), which resolves to the MAIN
4
+ * checkout even when run from inside a task's linked worktree. Task files
5
+ * are the single source of truth, and there is only one copy of that source
6
+ * of truth: the main checkout's. Never call createRepoOS() directly from a
7
+ * board command (see boardRepoOS()'s own comment for why).
8
+ */
9
+ import { readFileSync } from "node:fs";
10
+ import { createRepoOS } from "../core/repoos.js";
11
+ import { boardRoot } from "../core/config.js";
12
+ import { STATUSES } from "../core/types.js";
13
+ import { c, statusColor, priorityColor } from "../cli/colors.js";
14
+ import { patchTaskFile } from "../server/write.js";
15
+ /**
16
+ * RepoOS facade rooted at the LIVE BOARD's checkout (the main checkout), even
17
+ * when the CLI runs from inside a task worktree. Board-state reads must never
18
+ * silently resolve to the worktree's own copy of the task files — that
19
+ * false-positive stranded #0068 in `active`. A note is printed (to stderr, so
20
+ * `--json` stdout stays clean) whenever resolution jumped to the main checkout,
21
+ * so the behavior is never silent.
22
+ */
23
+ function boardRepoOS() {
24
+ const { root, fromWorktree } = boardRoot();
25
+ if (fromWorktree) {
26
+ console.error(c.yellow(" ⚠ ") +
27
+ c.dim("running from inside a linked worktree — reading the MAIN checkout's board (") +
28
+ c.cyan(root) +
29
+ c.dim(")"));
30
+ }
31
+ return createRepoOS(root);
32
+ }
33
+ function assigneeLabel(t) {
34
+ if (t.assignee === "ai")
35
+ return c.magenta("◆ AI");
36
+ if (t.assignee === "human")
37
+ return c.cyan("◇ " + (t.assignedTo || "human"));
38
+ return c.dim("· unassigned");
39
+ }
40
+ function pad(s, n) {
41
+ // pad based on visible length (ignore ANSI)
42
+ const visible = s.replace(/\x1b\[[0-9;]*m/g, "");
43
+ return s + " ".repeat(Math.max(0, n - visible.length));
44
+ }
45
+ /** `repoos list [status]` — board overview or a single column. */
46
+ export function cmdList(statusArg) {
47
+ const repoos = boardRepoOS();
48
+ const idx = repoos.reindex();
49
+ if (idx.taskCount === 0) {
50
+ console.log(c.dim("\n No tasks yet. Create one with ") + c.cyan('repoos new "Title"') + c.dim(".\n"));
51
+ return;
52
+ }
53
+ // Default view excludes drafts; explicit `repoos list draft` shows them.
54
+ const cols = statusArg && STATUSES.includes(statusArg)
55
+ ? [statusArg]
56
+ : STATUSES.filter((s) => s !== "draft");
57
+ console.log(c.bold("\n " + idx.root.split("/").pop()) + c.dim(` · ${idx.taskCount} tasks\n`));
58
+ for (const status of cols) {
59
+ const tasks = idx.tasks.filter((t) => t.status === status);
60
+ if (tasks.length === 0 && statusArg === undefined)
61
+ continue;
62
+ const sc = statusColor(status);
63
+ console.log(" " + sc("● ") + c.bold(status.toUpperCase()) + c.dim(` (${tasks.length})`));
64
+ for (const t of tasks) {
65
+ const line = " " +
66
+ c.dim("#" + pad(t.id, 5)) +
67
+ priorityColor(t.priority)(pad(t.priority, 4)) +
68
+ pad(t.title, 44) +
69
+ pad(c.dim(t.area), 12) +
70
+ assigneeLabel(t);
71
+ console.log(line);
72
+ }
73
+ console.log("");
74
+ }
75
+ }
76
+ /** `repoos show <id>` — full task detail. */
77
+ export function cmdShow(id) {
78
+ if (!id) {
79
+ console.error(c.red(" Usage: repoos show <id>"));
80
+ process.exitCode = 1;
81
+ return;
82
+ }
83
+ const repoos = boardRepoOS();
84
+ const t = repoos.getTask(id);
85
+ if (!t) {
86
+ console.error(c.red(` Task #${id} not found.`));
87
+ process.exitCode = 1;
88
+ return;
89
+ }
90
+ const sc = statusColor(t.status);
91
+ console.log("\n " + c.bold(t.title));
92
+ console.log(" " +
93
+ c.dim(t.path) +
94
+ " " +
95
+ sc("● " + t.status) +
96
+ " " +
97
+ priorityColor(t.priority)(t.priority));
98
+ console.log(c.dim(" ─────────────────────────────────────────────────────────"));
99
+ const row = (k, v) => console.log(" " + c.dim(pad(k, 12)) + v);
100
+ row("id", t.id);
101
+ row("type", t.type);
102
+ row("area", t.area);
103
+ row("assigned", assigneeLabel(t));
104
+ row("branch", t.branch ? c.cyan(t.branch) : c.dim("—"));
105
+ if (t.git.branchExists)
106
+ row("git", c.green("branch exists locally"));
107
+ if (t.git.lastCommit)
108
+ row("last commit", c.dim(t.git.lastCommit + " " + (t.git.lastCommitAt ?? "")));
109
+ if (t.created_at)
110
+ row("created", t.created_at);
111
+ if (t.updated_at)
112
+ row("updated", t.updated_at);
113
+ console.log(c.dim(" ─────────────────────────────────────────────────────────\n"));
114
+ // print body, lightly indented
115
+ for (const line of t.body.split("\n"))
116
+ console.log(" " + line);
117
+ console.log("");
118
+ }
119
+ /**
120
+ * `repoos mv <id> <status>` — change status (frontmatter edit).
121
+ *
122
+ * Deliberately does NOT run this transition through `guardReviewTransition`
123
+ * (#0263), even for a move into `review`. That gate lives in the HTTP PATCH
124
+ * path because it operates on the task's OWN branch worktree — staging and
125
+ * committing pending implementation changes there and rejecting a vacuous
126
+ * (zero-source-change) transition — which is an agent-handoff guarantee, not
127
+ * a board-write guarantee. `repoos mv` is the low-level, generic "edit this
128
+ * frontmatter field" tool (a human or script can move ANY task to ANY status,
129
+ * with or without a branch or worktree at all); forcing every review move
130
+ * through worktree resolution would turn a one-line status edit into a hard
131
+ * dependency on handoff plumbing that plenty of legitimate `mv` calls don't
132
+ * have. The bug this task fixes is narrower and applies to every status
133
+ * change here regardless of target: `updateStatus` (via `rewrite()` in
134
+ * core/repoos.ts) now always commits the task file in the main checkout, so
135
+ * the write itself is never left as an untrusted dirty file. Agents that want
136
+ * the full handoff guarantee (implementation committed + non-vacuous) should
137
+ * go through the trusted handoff/PATCH path, not this CLI shortcut.
138
+ */
139
+ export function cmdMv(id, status, note) {
140
+ if (!id || !status) {
141
+ console.error(c.red(' Usage: repoos mv <id> <status> [--note "..."]') +
142
+ c.dim(` (${STATUSES.join(" | ")})`));
143
+ process.exitCode = 1;
144
+ return;
145
+ }
146
+ // Board-rooted, not cwd-rooted (#0202): an agent running this from inside
147
+ // its own task worktree must still land the status change on the MAIN
148
+ // checkout's task file — the only copy the live board ever reads. Writing
149
+ // to the worktree's own copy (findRepoRoot() stops at the worktree's own
150
+ // .git) is a silent no-op from the board's perspective.
151
+ const repoos = boardRepoOS();
152
+ try {
153
+ const t = repoos.updateStatus(id, status, note);
154
+ console.log(" " + c.green("moved ") + c.dim("#" + t.id) + " → " + statusColor(t.status)(t.status));
155
+ if (note && note.trim()) {
156
+ console.log(" " + c.dim("note: ") + note.trim());
157
+ }
158
+ }
159
+ catch (e) {
160
+ console.error(c.red(" " + e.message));
161
+ process.exitCode = 1;
162
+ }
163
+ }
164
+ /**
165
+ * `repoos note <id> "<text>"` — append a short, free-form note to a task's
166
+ * activity log, so a PM/reviewer can send guidance back to the developer (or
167
+ * record any free-form note) without rewriting the task body. The note is
168
+ * recorded as its own activity entry and surfaces wherever the task's
169
+ * history is shown. Board-rooted, not cwd-rooted (#0202) — see cmdMv.
170
+ */
171
+ export function cmdNote(args) {
172
+ const [id, ...text] = args;
173
+ const usage = ' Usage: repoos note <id> "<text>"';
174
+ const note = text.join(" ").trim();
175
+ if (!id || !note) {
176
+ console.error(c.red(usage));
177
+ process.exitCode = 1;
178
+ return;
179
+ }
180
+ const repoos = boardRepoOS();
181
+ try {
182
+ const t = repoos.addNote(id, note);
183
+ console.log(" " + c.green("note added ") + c.dim("#" + t.id));
184
+ console.log(" " + c.dim("note: ") + note);
185
+ }
186
+ catch (e) {
187
+ console.error(c.red(" " + e.message));
188
+ process.exitCode = 1;
189
+ }
190
+ }
191
+ const UPDATE_FLAGS = {
192
+ title: "title",
193
+ area: "area",
194
+ priority: "priority",
195
+ type: "type",
196
+ body: "body",
197
+ branch: "branch",
198
+ "assigned-to": "assignedTo",
199
+ };
200
+ /**
201
+ * `repoos update <id> [--title ...] [--area ...] [--priority ...] [--type ...]
202
+ * [--body ... | --body -] [--branch ...] [--assigned-to ai|human]`
203
+ *
204
+ * Writes directly via patchTaskFile (same path the server's PATCH route uses),
205
+ * so it works with no HTTP round-trip and no session auth — this is the path
206
+ * agents/scripts should use to edit task metadata instead of hitting the API.
207
+ * `--body -` reads the new body from stdin, for large/multiline bodies.
208
+ */
209
+ export function cmdUpdate(args) {
210
+ const [id, ...rest] = args;
211
+ const usage = ' Usage: repoos update <id> [--title "..."] [--area a] [--priority p] [--type t] [--body "..."|-] [--branch b] [--assigned-to ai|human]';
212
+ if (!id) {
213
+ console.error(c.red(usage));
214
+ process.exitCode = 1;
215
+ return;
216
+ }
217
+ const patch = {};
218
+ for (let i = 0; i < rest.length; i++) {
219
+ const a = rest[i];
220
+ if (!a.startsWith("--")) {
221
+ console.error(c.red(` Unexpected argument: ${a}\n${usage}`));
222
+ process.exitCode = 1;
223
+ return;
224
+ }
225
+ const key = a.slice(2);
226
+ const field = UPDATE_FLAGS[key];
227
+ if (!field) {
228
+ console.error(c.red(` Unknown flag --${key}\n${usage}`));
229
+ process.exitCode = 1;
230
+ return;
231
+ }
232
+ const raw = rest[++i];
233
+ if (raw === undefined) {
234
+ console.error(c.red(` Missing value for --${key}`));
235
+ process.exitCode = 1;
236
+ return;
237
+ }
238
+ const value = field === "body" && raw === "-" ? readFileSync(0, "utf8") : raw;
239
+ patch[field] = value;
240
+ }
241
+ if (Object.keys(patch).length === 0) {
242
+ console.error(c.red(" No fields given.\n" + usage));
243
+ process.exitCode = 1;
244
+ return;
245
+ }
246
+ // Board-rooted, not cwd-rooted (#0202) — see cmdMv for why.
247
+ const repoos = boardRepoOS();
248
+ const task = repoos.getTask(id);
249
+ if (!task) {
250
+ console.error(c.red(` Task #${id} not found.`));
251
+ process.exitCode = 1;
252
+ return;
253
+ }
254
+ try {
255
+ const updated = patchTaskFile(repoos.config, task.absPath, patch);
256
+ console.log(" " + c.green("updated ") + c.dim("#" + updated.id) + " " + updated.title);
257
+ }
258
+ catch (e) {
259
+ console.error(c.red(" " + e.message));
260
+ process.exitCode = 1;
261
+ }
262
+ }
263
+ const NEW_FLAGS = new Set(["ai", "type", "area", "priority", "body"]);
264
+ /** `repoos new <title> [--ai] [--type t] [--area a] [--priority p] [--body "..."|-]` */
265
+ export function cmdNew(args) {
266
+ const usage = ' Usage: repoos new "Task title" [--ai] [--type bug] [--area web] [--priority p1] [--body "..."|-]';
267
+ const flags = {};
268
+ const positional = [];
269
+ for (let i = 0; i < args.length; i++) {
270
+ const a = args[i];
271
+ if (!a.startsWith("--")) {
272
+ positional.push(a);
273
+ continue;
274
+ }
275
+ const key = a.slice(2);
276
+ if (!NEW_FLAGS.has(key)) {
277
+ console.error(c.red(` Unknown flag --${key}\n${usage}`));
278
+ process.exitCode = 1;
279
+ return;
280
+ }
281
+ if (key === "ai") {
282
+ flags.ai = true;
283
+ continue;
284
+ }
285
+ const raw = args[++i];
286
+ if (raw === undefined) {
287
+ console.error(c.red(` Missing value for --${key}\n${usage}`));
288
+ process.exitCode = 1;
289
+ return;
290
+ }
291
+ flags[key] = key === "body" && raw === "-" ? readFileSync(0, "utf8") : raw;
292
+ }
293
+ const title = positional.join(" ").trim();
294
+ if (!title) {
295
+ console.error(c.red(usage));
296
+ process.exitCode = 1;
297
+ return;
298
+ }
299
+ // Board-rooted, not cwd-rooted (#0202) — see cmdMv for why. Otherwise a
300
+ // task created from inside a worktree lands in that worktree's own work/
301
+ // dir and is invisible to the real board entirely.
302
+ const repoos = boardRepoOS();
303
+ const t = repoos.createTask({
304
+ title,
305
+ type: flags.type || undefined,
306
+ area: flags.area || undefined,
307
+ priority: flags.priority || undefined,
308
+ assignedTo: flags.ai ? "ai" : undefined,
309
+ body: flags.body || undefined,
310
+ });
311
+ console.log(" " + c.green("created ") + c.dim("#" + t.id) + " " + t.title + c.dim(" → " + t.path));
312
+ const res = repoos.commitNewFile(t.absPath, `docs(${t.id}): add task ${t.title}`);
313
+ if (res.ok) {
314
+ console.log(" " + c.green("committed ") + c.dim(res.hash ?? ""));
315
+ }
316
+ else {
317
+ console.log(" " + c.yellow("warning: ") + c.dim("file left uncommitted — ") + res.reason);
318
+ }
319
+ }
320
+ /** `repoos index [--json]` — rebuild cache; optionally print machine-readable JSON. */
321
+ export function cmdIndex(args) {
322
+ const repoos = boardRepoOS();
323
+ const idx = repoos.reindex();
324
+ if (args.includes("--json")) {
325
+ console.log(JSON.stringify(idx, null, 2));
326
+ return;
327
+ }
328
+ console.log(" " +
329
+ c.green("indexed ") +
330
+ idx.taskCount +
331
+ c.dim(" tasks · cache → " + repoos.config.cacheDir + "/index.json"));
332
+ const parts = STATUSES.map((s) => statusColor(s)(s) + c.dim(" " + idx.counts[s]));
333
+ console.log(" " + parts.join(c.dim(" · ")));
334
+ }
@@ -0,0 +1 @@
1
+ export declare function cmdTunnel(args: string[]): Promise<void>;