@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,48 @@
1
+ /**
2
+ * Read-model for the integration pipeline status bar (0207).
3
+ *
4
+ * Turns the serialized integration jobs (queue + the in-flight job's phase) and
5
+ * the orchestrator's live progress steps into a single snapshot the UI renders
6
+ * without any re-architecting of the orchestrator itself: it only consumes
7
+ * existing job data plus whichever progress `DoneStep` was last reported for
8
+ * each task by the close-out orchestrator.
9
+ */
10
+ import type { IntegrationJob, JobCoordinator } from "./integration-job.js";
11
+ import type { DoneStep } from "./done.js";
12
+ /** The five discrete stages surfaced to the user, in pipeline order. */
13
+ export declare const PIPELINE_STAGES: readonly string[];
14
+ export interface IntegrationSnapshot {
15
+ /** True when nothing is queued or in progress — the idle empty state. */
16
+ empty: boolean;
17
+ /** The task currently being integrated, or null when none is in flight. */
18
+ active: {
19
+ taskId: string;
20
+ /** The currently-running stage in `PIPELINE_STAGES` order, or null. */
21
+ stage: string | null;
22
+ /** True when the active job's phase is `failed`. */
23
+ failed: boolean;
24
+ /** The failure detail from the job, when failed. */
25
+ error?: string;
26
+ /** When this job started processing (ISO), for the live stopwatch. Falls
27
+ * back to the enqueue time when processing hasn't been marked started. */
28
+ startedAt: string | null;
29
+ } | null;
30
+ /** Task ids queued behind the active job, in FIFO order. */
31
+ queue: string[];
32
+ at: string;
33
+ }
34
+ /**
35
+ * The stage shown for a job. Prefers the live progress step recorded by the
36
+ * orchestrator (most accurate); falls back to a best-effort mapping from the
37
+ * job phase so a freshly hydrated snapshot still shows a sensible stage before
38
+ * any progress event has arrived.
39
+ */
40
+ export declare function stageForJob(job: IntegrationJob, reported: DoneStep | undefined): string | null;
41
+ /** Whether a stage is considered "done" (checked) given the current stage. */
42
+ export declare function isStageComplete(stageIndex: number, currentIndex: number): boolean;
43
+ /**
44
+ * Build the pipeline snapshot from the coordinator plus the last-reported
45
+ * progress step per task id. `queue` is every non-terminal job ahead of or
46
+ * behind the currently-in-flight one; jobs already done/failed are hidden.
47
+ */
48
+ export declare function buildIntegrationSnapshot(coordinator: JobCoordinator, reported: Record<string, DoneStep>, at?: string): IntegrationSnapshot;
@@ -0,0 +1,71 @@
1
+ /** The five discrete stages surfaced to the user, in pipeline order. */
2
+ export const PIPELINE_STAGES = [
3
+ "sync",
4
+ "merge",
5
+ "build",
6
+ "check",
7
+ "done",
8
+ ];
9
+ /**
10
+ * The stage shown for a job. Prefers the live progress step recorded by the
11
+ * orchestrator (most accurate); falls back to a best-effort mapping from the
12
+ * job phase so a freshly hydrated snapshot still shows a sensible stage before
13
+ * any progress event has arrived.
14
+ */
15
+ export function stageForJob(job, reported) {
16
+ if (reported !== undefined)
17
+ return reported;
18
+ switch (job.phase) {
19
+ case "queued":
20
+ return null;
21
+ case "syncing":
22
+ return "sync";
23
+ case "validating":
24
+ return "merge";
25
+ case "publishing":
26
+ case "cleanup":
27
+ case "done":
28
+ return "done";
29
+ case "failed":
30
+ return "done";
31
+ default:
32
+ return null;
33
+ }
34
+ }
35
+ /** Whether a stage is considered "done" (checked) given the current stage. */
36
+ export function isStageComplete(stageIndex, currentIndex) {
37
+ return stageIndex < currentIndex;
38
+ }
39
+ /**
40
+ * Build the pipeline snapshot from the coordinator plus the last-reported
41
+ * progress step per task id. `queue` is every non-terminal job ahead of or
42
+ * behind the currently-in-flight one; jobs already done/failed are hidden.
43
+ */
44
+ export function buildIntegrationSnapshot(coordinator, reported, at = new Date().toISOString()) {
45
+ const all = coordinator.allJobs();
46
+ const inFlight = coordinator.peekNext();
47
+ const queue = [];
48
+ for (const job of all) {
49
+ if (job.phase === "done" || job.phase === "failed")
50
+ continue;
51
+ if (inFlight && job.taskId === inFlight.taskId)
52
+ continue;
53
+ queue.push(job.taskId);
54
+ }
55
+ if (!inFlight) {
56
+ return { empty: queue.length === 0, active: null, queue, at };
57
+ }
58
+ const failed = inFlight.phase === "failed";
59
+ return {
60
+ empty: false,
61
+ active: {
62
+ taskId: inFlight.taskId,
63
+ stage: stageForJob(inFlight, reported[inFlight.taskId]),
64
+ failed,
65
+ error: failed ? inFlight.reason : undefined,
66
+ startedAt: inFlight.startedAt ?? inFlight.enqueuedAt,
67
+ },
68
+ queue,
69
+ at,
70
+ };
71
+ }
@@ -0,0 +1,295 @@
1
+ import type { AgentOutputEntry, AgentSessionStats, RepoOSConfig, Task, Status, RepoIndex, BoardIndex, SupervisorHeartbeat } from "../core/types.js";
2
+ import type { SystemStats } from "./system.js";
3
+ import type { AutoEngineeringDecision } from "./auto-engineering.js";
4
+ import type { IntegrationSnapshot } from "./integration-status.js";
5
+ export type RepoEvent = {
6
+ type: "task.created";
7
+ task: Task;
8
+ at: string;
9
+ } | {
10
+ type: "task.updated";
11
+ task: Task;
12
+ prev: Partial<Task>;
13
+ at: string;
14
+ } | {
15
+ type: "task.deleted";
16
+ id: string;
17
+ path: string;
18
+ at: string;
19
+ } | {
20
+ type: "agent.running";
21
+ id: string;
22
+ at: string;
23
+ } | {
24
+ type: "agent.exited";
25
+ id: string;
26
+ at: string;
27
+ }
28
+ /** A start/send/chat was accepted but held for a free maxConcurrentAgents slot. */
29
+ | {
30
+ type: "agent.queued";
31
+ id: string;
32
+ at: string;
33
+ }
34
+ /** A queued id left the queue — about to spawn (an agent.running follows immediately). */
35
+ | {
36
+ type: "agent.dequeued";
37
+ id: string;
38
+ at: string;
39
+ } | {
40
+ type: "agent.output";
41
+ id: string;
42
+ entry: AgentOutputEntry;
43
+ stream: "out" | "err";
44
+ at: string;
45
+ } | {
46
+ type: "agent.stats";
47
+ id: string;
48
+ stats: AgentSessionStats;
49
+ at: string;
50
+ }
51
+ /** The freeform-create PM flesh-out failed and the draft is kept as-is
52
+ * (0320): lets clients drop their "AI creation in flight" marker so a
53
+ * later manual move of the stale draft cannot flag the card as newly created. */
54
+ | {
55
+ type: "task.aiCreateFailed";
56
+ id: string;
57
+ reason: string;
58
+ at: string;
59
+ }
60
+ /** The freeform-create PM flesh-out started working on a draft (0335):
61
+ * drives the live "PM is working" indicator on the card + task panel. */
62
+ | {
63
+ type: "task.pmWorking";
64
+ id: string;
65
+ at: string;
66
+ }
67
+ /** The freeform-create PM flesh-out finished — success or failure (0335).
68
+ * Emitted on every exit path so the indicator can never get stuck. */
69
+ | {
70
+ type: "task.pmFinished";
71
+ id: string;
72
+ at: string;
73
+ } | {
74
+ type: "index.rebuilt";
75
+ taskCount: number;
76
+ at: string;
77
+ } | {
78
+ type: "task.progress";
79
+ id: string;
80
+ step: string;
81
+ at: string;
82
+ detail?: string;
83
+ phase?: string;
84
+ } | {
85
+ type: "task.corrected";
86
+ id: string;
87
+ path: string;
88
+ note: string;
89
+ at: string;
90
+ } | {
91
+ type: "preview";
92
+ id: string;
93
+ preview: {
94
+ port: number;
95
+ url: string;
96
+ startedAt: string;
97
+ label?: string;
98
+ } | null;
99
+ at: string;
100
+ }
101
+ /** Lifecycle of the automatic agent review of a task in `review` (0101). */
102
+ | {
103
+ type: "review";
104
+ id: string;
105
+ state: "running" | "ready" | "failed" | "cancelled";
106
+ at: string;
107
+ error?: string;
108
+ }
109
+ /** Lifecycle of the CTO monitoring agent (0174). */
110
+ | {
111
+ type: "cto";
112
+ state: "running" | "ready" | "failed" | "cancelled";
113
+ at: string;
114
+ error?: string;
115
+ }
116
+ /**
117
+ * A newer build landed on disk (typically a close-out merge). It is parked
118
+ * for a user-triggered reload (0143) — the running server keeps serving the
119
+ * old build until POST /api/server/restart.
120
+ */
121
+ | {
122
+ type: "build.available";
123
+ hash: string;
124
+ buildAt: string | null;
125
+ at: string;
126
+ }
127
+ /** A user-triggered reload could not hand over — the old build keeps serving. */
128
+ | {
129
+ type: "reload.failed";
130
+ reason: string;
131
+ at: string;
132
+ }
133
+ /** Supervisor heartbeat report (0112). */
134
+ | {
135
+ type: "supervisor.heartbeat";
136
+ heartbeat: SupervisorHeartbeat;
137
+ at: string;
138
+ }
139
+ /** Auto-engineering mode state change (0124). */
140
+ | {
141
+ type: "auto-engineering.state";
142
+ state: {
143
+ enabled: boolean;
144
+ maxActiveTasks: number;
145
+ activeCount: number;
146
+ availableSlots: number;
147
+ reconciling: boolean;
148
+ decision: AutoEngineeringDecision | null;
149
+ };
150
+ at: string;
151
+ } | {
152
+ type: "hello";
153
+ taskCount: number;
154
+ at: string;
155
+ } | {
156
+ type: "system.stats";
157
+ stats: SystemStats;
158
+ }
159
+ /** Live snapshot of the integration pipeline for the pinned status bar (0207). */
160
+ | {
161
+ type: "integration";
162
+ pipeline: IntegrationSnapshot;
163
+ }
164
+ /** Full-suite test run (Control page): started, a raw stdout/stderr chunk, or exited. */
165
+ | {
166
+ type: "test-run.started";
167
+ at: string;
168
+ } | {
169
+ type: "test-run.output";
170
+ chunk: string;
171
+ at: string;
172
+ } | {
173
+ type: "test-run.done";
174
+ code: number | null;
175
+ at: string;
176
+ }
177
+ /**
178
+ * A server-run `repoos check` for one task (0310): the handoff-finalize
179
+ * check or the MTD merge-gate check. Scoped per task (unlike test-run.*
180
+ * above, which is a single global Control-page run) so the Debug tab can
181
+ * show check history and live-stream a check currently running for the
182
+ * task the drawer has open.
183
+ */
184
+ | {
185
+ type: "task-check.started";
186
+ taskId: string;
187
+ checkId: string;
188
+ checkKind: "handoff-finalize" | "merge-gate";
189
+ at: string;
190
+ } | {
191
+ type: "task-check.output";
192
+ taskId: string;
193
+ checkId: string;
194
+ chunk: string;
195
+ at: string;
196
+ } | {
197
+ type: "task-check.done";
198
+ taskId: string;
199
+ checkId: string;
200
+ code: number | null;
201
+ passed: boolean;
202
+ durationMs: number;
203
+ at: string;
204
+ };
205
+ type Listener = (e: RepoEvent) => void;
206
+ export declare class LiveIndex {
207
+ private config;
208
+ /** task id -> Task */
209
+ private byId;
210
+ /** abs path -> task id, so a file change maps back to a task */
211
+ private pathToId;
212
+ private listeners;
213
+ private useGit;
214
+ private branchCache;
215
+ /**
216
+ * Guard invoked by `applyFileChange` for a transition INTO `review` that
217
+ * did not already pass through the trusted PATCH route. #0210: a direct
218
+ * task-file edit must be held to the same commit/vacuity gate as the trusted
219
+ * handoff path. Returns false to reject the transition (the file is reverted
220
+ * to its previous status); true/fire-and-forget to accept it.
221
+ */
222
+ private reviewGuard;
223
+ /** Wire the #0210 review-transition guard. The server owns the logic. */
224
+ setReviewGuard(fn: (task: Task, prev: Task) => Promise<boolean>): void;
225
+ constructor(config: RepoOSConfig);
226
+ /** Build from scratch. Safe to call any time; always authoritative. */
227
+ refreshAll(): void;
228
+ /**
229
+ * Async counterpart of `refreshAll`, used only at server startup: it lets
230
+ * `listen()` proceed while the (git-heavy, otherwise multi-second with
231
+ * 200+ tasks) index build runs in the background — see `buildIndexAsync`.
232
+ * Not a drop-in replacement for `refreshAll` in general: a file-watcher
233
+ * update landing mid-build is overwritten by this call's final swap-in,
234
+ * same as it would be by a concurrent `refreshAll`, but this call's window
235
+ * is wider. Fine for the one-shot boot case; callers that need to
236
+ * interleave safely with live updates should keep using `refreshAll`.
237
+ */
238
+ refreshAllAsync(): Promise<void>;
239
+ /**
240
+ * Refresh every task's worktree `dirty`/`worktreePath` with a real
241
+ * `git status` sweep (batched — see `resolveWorktreeStatuses`), persist the
242
+ * result, and emit `task.updated` for any that changed. Called after the
243
+ * fast boot build and safe to call periodically. No-op without git.
244
+ */
245
+ reconcileWorktreeStatus(): Promise<void>;
246
+ private isTaskFile;
247
+ /**
248
+ * Re-parse a single file after a create/modify. Emits created or updated.
249
+ *
250
+ * `opts.guarded` marks a change that already passed the #0210 review gate
251
+ * (the trusted PATCH route and the trusted handoff path run the gate
252
+ * themselves), so it is applied synchronously without re-invoking the guard.
253
+ * Unmarked transitions INTO `review` — a direct task-file edit picked up by
254
+ * the watcher — are deferred to the async guard, which reverts the file to
255
+ * its previous status if the transition is rejected. Returns a Promise for
256
+ * that deferred case so callers (and tests) can await its settlement.
257
+ */
258
+ applyFileChange(absPath: string, opts?: {
259
+ guarded?: boolean;
260
+ }): void | Promise<void>;
261
+ /** Apply a fully-parsed task to the in-memory index and emit. */
262
+ private applyParsed;
263
+ /**
264
+ * Run the #0210 review guard for a deferred transition into `review`. On
265
+ * acceptance the task is applied normally (the worktree was committed by the
266
+ * guard). On rejection the task file is reverted to its previous status —
267
+ * using the same safe write path as a server edit — so the bypass can never
268
+ * leave a task sitting in `review` with uncommitted work.
269
+ */
270
+ private runReviewGuard;
271
+ /** Handle a file removal. Emits deleted if it mapped to a known task. */
272
+ applyFileDelete(absPath: string): void;
273
+ /**
274
+ * Re-scan local branches / worktrees and re-apply the cheap git facts
275
+ * (`branchExists`, `worktreeExists`, `worktreePath`) to every indexed task.
276
+ * Called after an agent launch, branch sync, or hotfix so the UI's branch/
277
+ * worktree dots are right without a full rebuild.
278
+ *
279
+ * `dirty` is NOT recomputed here — that needs a `git status` per worktree,
280
+ * which this method used to run synchronously for every task on the event
281
+ * loop (~2.5s at 40 worktrees, on every task mutation). It is delegated to
282
+ * the batched `reconcileWorktreeStatus()` sweep, kicked off below and
283
+ * arriving via `task.updated` within ~100ms.
284
+ */
285
+ refreshBranches(): void;
286
+ getTasks(status?: Status): Task[];
287
+ getTask(id: string): Task | null;
288
+ counts(): Record<Status, number>;
289
+ snapshot(): RepoIndex;
290
+ /** Lightweight board snapshot — skips body, extra, agent overrides. */
291
+ boardSnapshot(): BoardIndex;
292
+ on(fn: Listener): () => void;
293
+ private emit;
294
+ }
295
+ export {};