@repo-os/repoos 0.5.64 → 0.5.66

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 (294) hide show
  1. package/dist/.build-info.json +2 -2
  2. package/dist/.build-stamp.json +1 -1
  3. package/dist/cli/help.js +36 -6
  4. package/dist/cli/index.js +16 -2
  5. package/dist/commands/certify.d.ts +2 -0
  6. package/dist/commands/certify.js +69 -6
  7. package/dist/commands/check.d.ts +50 -0
  8. package/dist/commands/check.js +370 -81
  9. package/dist/commands/docs-io.d.ts +19 -0
  10. package/dist/commands/docs-io.js +66 -0
  11. package/dist/commands/docs.d.ts +9 -0
  12. package/dist/commands/docs.js +49 -0
  13. package/dist/commands/init.d.ts +85 -1
  14. package/dist/commands/init.js +628 -80
  15. package/dist/commands/outline.d.ts +1 -0
  16. package/dist/commands/outline.js +51 -0
  17. package/dist/commands/service.js +22 -3
  18. package/dist/commands/tasks.d.ts +13 -0
  19. package/dist/commands/tasks.js +174 -20
  20. package/dist/core/agent-compatibility.json +22 -22
  21. package/dist/core/agent-contract.d.ts +10 -0
  22. package/dist/core/agent-contract.js +36 -2
  23. package/dist/core/approval-policy.d.ts +28 -0
  24. package/dist/core/approval-policy.js +106 -0
  25. package/dist/core/attention.d.ts +83 -0
  26. package/dist/core/attention.js +256 -0
  27. package/dist/core/check-format.d.ts +23 -0
  28. package/dist/core/check-format.js +84 -0
  29. package/dist/core/check-plan.d.ts +13 -1
  30. package/dist/core/check-plan.js +15 -0
  31. package/dist/core/check-runner.d.ts +6 -0
  32. package/dist/core/check-store.d.ts +14 -0
  33. package/dist/core/check-store.js +23 -7
  34. package/dist/core/close-out-failure.d.ts +4 -11
  35. package/dist/core/close-out-failure.js +20 -0
  36. package/dist/core/config.d.ts +18 -1
  37. package/dist/core/config.js +485 -48
  38. package/dist/core/context-pack.d.ts +28 -3
  39. package/dist/core/context-pack.js +43 -10
  40. package/dist/core/db.d.ts +17 -4
  41. package/dist/core/db.js +42 -13
  42. package/dist/core/dependency-install.d.ts +67 -0
  43. package/dist/core/dependency-install.js +283 -0
  44. package/dist/core/doctor.js +71 -0
  45. package/dist/core/indexer.js +7 -2
  46. package/dist/core/input.js +26 -19
  47. package/dist/core/keyword-rank.d.ts +118 -0
  48. package/dist/core/keyword-rank.js +231 -0
  49. package/dist/core/models.d.ts +2 -0
  50. package/dist/core/models.js +79 -4
  51. package/dist/core/needs-input.js +7 -1
  52. package/dist/core/outline.d.ts +37 -0
  53. package/dist/core/outline.js +618 -0
  54. package/dist/core/page-browser-gate.d.ts +50 -0
  55. package/dist/core/page-browser-gate.js +130 -0
  56. package/dist/core/process-group.d.ts +20 -0
  57. package/dist/core/process-group.js +85 -0
  58. package/dist/core/project-docs.d.ts +96 -0
  59. package/dist/core/project-docs.js +544 -0
  60. package/dist/core/providers/harness-auth.d.ts +21 -0
  61. package/dist/core/providers/harness-auth.js +87 -0
  62. package/dist/core/repo-log.d.ts +16 -8
  63. package/dist/core/repo-log.js +39 -0
  64. package/dist/core/repoos.js +4 -0
  65. package/dist/core/review-findings.d.ts +2 -0
  66. package/dist/core/review-findings.js +43 -0
  67. package/dist/core/review-passes.d.ts +16 -0
  68. package/dist/core/review-passes.js +76 -0
  69. package/dist/core/review-report-sections.d.ts +14 -0
  70. package/dist/core/review-report-sections.js +59 -0
  71. package/dist/core/shot-plan.d.ts +35 -0
  72. package/dist/core/shot-plan.js +44 -26
  73. package/dist/core/storage/index.d.ts +11 -0
  74. package/dist/core/storage/index.js +11 -0
  75. package/dist/core/storage/local.d.ts +11 -0
  76. package/dist/core/storage/local.js +118 -0
  77. package/dist/core/storage/registry.d.ts +65 -0
  78. package/dist/core/storage/registry.js +127 -0
  79. package/dist/core/storage/types.d.ts +94 -0
  80. package/dist/core/storage/types.js +23 -0
  81. package/dist/core/story-context.d.ts +31 -0
  82. package/dist/core/story-context.js +201 -0
  83. package/dist/core/task-dependencies.js +6 -0
  84. package/dist/core/task-fields.d.ts +19 -0
  85. package/dist/core/task-fields.js +48 -0
  86. package/dist/core/task-selection.d.ts +97 -0
  87. package/dist/core/task-selection.js +151 -0
  88. package/dist/core/task-underspecified.d.ts +20 -1
  89. package/dist/core/task-underspecified.js +50 -2
  90. package/dist/core/task.js +35 -0
  91. package/dist/core/types.d.ts +239 -7
  92. package/dist/core/ui-verification-config.d.ts +6 -0
  93. package/dist/core/ui-verification-config.js +11 -0
  94. package/dist/server/__tests__/integration-job.test.js +14 -1
  95. package/dist/server/agents.d.ts +110 -13
  96. package/dist/server/agents.js +431 -65
  97. package/dist/server/approval-policy.d.ts +11 -0
  98. package/dist/server/approval-policy.js +69 -0
  99. package/dist/server/attachments.d.ts +14 -1
  100. package/dist/server/attachments.js +36 -13
  101. package/dist/server/attention-events.d.ts +8 -0
  102. package/dist/server/attention-events.js +88 -0
  103. package/dist/server/attention-feed.d.ts +21 -0
  104. package/dist/server/attention-feed.js +41 -0
  105. package/dist/server/attention-notify.d.ts +15 -0
  106. package/dist/server/attention-notify.js +51 -0
  107. package/dist/server/auto-engineering.d.ts +27 -1
  108. package/dist/server/auto-engineering.js +152 -122
  109. package/dist/server/config-watch.d.ts +41 -0
  110. package/dist/server/config-watch.js +169 -0
  111. package/dist/server/cto-monitor.d.ts +21 -5
  112. package/dist/server/cto-monitor.js +96 -29
  113. package/dist/server/cto.d.ts +1 -1
  114. package/dist/server/cto.js +71 -15
  115. package/dist/server/engineer-remote-self-check.d.ts +48 -0
  116. package/dist/server/engineer-remote-self-check.js +182 -0
  117. package/dist/server/handoff.d.ts +8 -2
  118. package/dist/server/handoff.js +74 -15
  119. package/dist/server/integration-job.d.ts +2 -0
  120. package/dist/server/integration-job.js +6 -3
  121. package/dist/server/integration-orchestrator.d.ts +14 -12
  122. package/dist/server/integration-orchestrator.js +91 -87
  123. package/dist/server/live-index.d.ts +23 -0
  124. package/dist/server/live-index.js +13 -1
  125. package/dist/server/model-test.d.ts +12 -1
  126. package/dist/server/model-test.js +56 -6
  127. package/dist/server/pre-review-remote-gate.d.ts +4 -2
  128. package/dist/server/pre-review-remote-gate.js +16 -7
  129. package/dist/server/preview.d.ts +63 -0
  130. package/dist/server/preview.js +209 -24
  131. package/dist/server/remote-validation.js +1 -0
  132. package/dist/server/request-close-out.d.ts +36 -0
  133. package/dist/server/request-close-out.js +153 -0
  134. package/dist/server/review.d.ts +13 -2
  135. package/dist/server/review.js +121 -64
  136. package/dist/server/routes/attention.d.ts +3 -0
  137. package/dist/server/routes/attention.js +20 -0
  138. package/dist/server/routes/config.js +50 -5
  139. package/dist/server/routes/hub.js +3 -2
  140. package/dist/server/routes/index.d.ts +1 -0
  141. package/dist/server/routes/index.js +1 -0
  142. package/dist/server/routes/model-providers.d.ts +8 -3
  143. package/dist/server/routes/model-providers.js +11 -5
  144. package/dist/server/routes/release.d.ts +4 -0
  145. package/dist/server/routes/release.js +11 -0
  146. package/dist/server/routes/repo-log.d.ts +2 -0
  147. package/dist/server/routes/repo-log.js +14 -1
  148. package/dist/server/routes/tasks.d.ts +8 -0
  149. package/dist/server/routes/tasks.js +295 -18
  150. package/dist/server/routes/types.d.ts +3 -0
  151. package/dist/server/server.js +115 -7
  152. package/dist/server/shot-capture.js +6 -0
  153. package/dist/server/task-underspecified-flag.d.ts +17 -0
  154. package/dist/server/task-underspecified-flag.js +35 -2
  155. package/dist/server/task-watchdog.js +5 -0
  156. package/dist/server/telegram/commands.js +2 -2
  157. package/dist/server/ui-handoff-gate.d.ts +53 -0
  158. package/dist/server/ui-handoff-gate.js +255 -0
  159. package/dist/server/write.d.ts +18 -0
  160. package/dist/server/write.js +39 -0
  161. package/dist/ui/assets/{AgentModelModal-B8ihisnq.js → AgentModelModal-IyhQlgi_.js} +1 -1
  162. package/dist/ui/assets/{AgentsView-B-VbBCBQ.css → AgentsView-BUCXPt-0.css} +1 -1
  163. package/dist/ui/assets/AgentsView-D8wSbWRE.js +1 -0
  164. package/dist/ui/assets/ChecksView-BmdCOghF.css +1 -0
  165. package/dist/ui/assets/ChecksView-C_94-h2D.js +0 -0
  166. package/dist/ui/assets/ContextView-C9qd90E1.js +4 -0
  167. package/dist/ui/assets/{DashboardView-MjXlMIuk.css → DashboardView-Ca3kwSow.css} +1 -1
  168. package/dist/ui/assets/DashboardView-D0lWbddW.js +1 -0
  169. package/dist/ui/assets/{DeleteConfirmDialog-C8JmtQyq.js → DeleteConfirmDialog-B7_fR8N6.js} +1 -1
  170. package/dist/ui/assets/{DeploymentsView-DuhTjFqk.js → DeploymentsView-oXkw2BSL.js} +1 -1
  171. package/dist/ui/assets/DiffView-BbfRdnyi.js +4 -0
  172. package/dist/ui/assets/DiffView-CcApcT6t.css +1 -0
  173. package/dist/ui/assets/{FailedTestsList-Dr_4RX1g.js → FailedTestsList-CcmaaJc3.js} +1 -1
  174. package/dist/ui/assets/InputsView-Pm38FTsm.js +1 -0
  175. package/dist/ui/assets/{LoginView-BjflJl_6.js → LoginView-UddKfAab.js} +1 -1
  176. package/dist/ui/assets/ReleasesView-CDa4RD79.css +1 -0
  177. package/dist/ui/assets/ReleasesView-CgTRWJn7.js +5 -0
  178. package/dist/ui/assets/SettingsView-05j5GTG5.js +4 -0
  179. package/dist/ui/assets/{SettingsView-C7KstbuH.css → SettingsView-BlDj5TRt.css} +1 -1
  180. package/dist/ui/assets/StoriesView-Bhr88XmF.js +1 -0
  181. package/dist/ui/assets/{VoiceDictate-DlhkQVor.js → VoiceDictate-CLPxhrXb.js} +1 -1
  182. package/dist/ui/assets/WorkView-BBpCR84p.js +2 -0
  183. package/dist/ui/assets/{WorkView-bYMFgM5P.css → WorkView-vT6nLFuM.css} +1 -1
  184. package/dist/ui/assets/{abnfDiagram-VCTEODGH-CVHYF-2B.js → abnfDiagram-VCTEODGH-C35Cb3us.js} +1 -1
  185. package/dist/ui/assets/architecture-7GRP2DOG-C8l6_Iv0.js +1 -0
  186. package/dist/ui/assets/{architectureDiagram-5GKGNRK7-DNci99O0.js → architectureDiagram-5GKGNRK7-nMYcnnYD.js} +1 -1
  187. package/dist/ui/assets/{blockDiagram-I7D4REHJ-_uKj9BoB.js → blockDiagram-I7D4REHJ-B7tWmthB.js} +1 -1
  188. package/dist/ui/assets/{button-Q8k6lD-C.js → button-uIODk23A.js} +1 -1
  189. package/dist/ui/assets/{c4Diagram-7LVT6UL2-BCm84NDK.js → c4Diagram-7LVT6UL2-CnY_QO67.js} +1 -1
  190. package/dist/ui/assets/channel-CseWx8gd.js +1 -0
  191. package/dist/ui/assets/{checkbox-Cx8SQV7s.js → checkbox-EUK8itx1.js} +1 -1
  192. package/dist/ui/assets/{chunk-4HAMMTFA-B0SvItaq.js → chunk-4HAMMTFA-C-gVk_3z.js} +1 -1
  193. package/dist/ui/assets/{chunk-75Z2AOVW-ByhyhHkE.js → chunk-75Z2AOVW-D-vfikH_.js} +1 -1
  194. package/dist/ui/assets/{chunk-DU6HZSFF-DGHJT_EX.js → chunk-DU6HZSFF-BiXVQhaB.js} +1 -1
  195. package/dist/ui/assets/{chunk-F27PBJKO-DphXoQ_c.js → chunk-F27PBJKO-5-2deQrd.js} +1 -1
  196. package/dist/ui/assets/{chunk-GMAD6QVW-CeOdTf1_.js → chunk-GMAD6QVW-CLC7oF0o.js} +1 -1
  197. package/dist/ui/assets/{chunk-GVQU2GXP-DA6NZTDx.js → chunk-GVQU2GXP-Cr61GTQu.js} +1 -1
  198. package/dist/ui/assets/{chunk-IMKFNOWR-CWQzBfxw.js → chunk-IMKFNOWR-B1lalIwa.js} +1 -1
  199. package/dist/ui/assets/{chunk-L3NEJ4N5-Jjp-lf7l.js → chunk-L3NEJ4N5-BnlSzplF.js} +1 -1
  200. package/dist/ui/assets/{chunk-OSK3NFVY-CanEM2w7.js → chunk-OSK3NFVY-r9ZRDaqv.js} +1 -1
  201. package/dist/ui/assets/{chunk-P2QGCYS3-DcuoNMI1.js → chunk-P2QGCYS3-C23cpE-P.js} +1 -1
  202. package/dist/ui/assets/{chunk-POPQ4Y6H-DLIgw2CT.js → chunk-POPQ4Y6H-DI_FkXN2.js} +1 -1
  203. package/dist/ui/assets/{chunk-PWAF6VOD-XuleFtHn.js → chunk-PWAF6VOD-CGfzxALl.js} +1 -1
  204. package/dist/ui/assets/{chunk-SHT3W25Y-CMO_67hc.js → chunk-SHT3W25Y-DoJGrPBk.js} +1 -1
  205. package/dist/ui/assets/{chunk-SVP7TREG-DLelKGBr.js → chunk-SVP7TREG-DyU7jawq.js} +1 -1
  206. package/dist/ui/assets/{chunk-TICWLB2K-sACguoCN.js → chunk-TICWLB2K-D9vYWbet.js} +1 -1
  207. package/dist/ui/assets/classDiagram-ZZMXUADV-Bs8Gifp6.js +1 -0
  208. package/dist/ui/assets/classDiagram-v2-VYDZK3BY-Bs8Gifp6.js +1 -0
  209. package/dist/ui/assets/config-CSMVq0tG.js +1 -0
  210. package/dist/ui/assets/{cynefin-OW5HDTMX-DAkUUvXu.js → cynefin-OW5HDTMX-DhmDBTIi.js} +1 -1
  211. package/dist/ui/assets/{cynefinDiagram-5FMLGOSQ-Chsc32sw.js → cynefinDiagram-5FMLGOSQ-DgNCoeoy.js} +1 -1
  212. package/dist/ui/assets/{dagre-GXQ25YYZ-DiAMScnY.js → dagre-GXQ25YYZ-B7mYz05F.js} +1 -1
  213. package/dist/ui/assets/{diagram-S7CK7UJ4-CR8P8aO5.js → diagram-S7CK7UJ4-Ddyyvm7S.js} +1 -1
  214. package/dist/ui/assets/{diagram-UQ7AKVKN-Ct84CouM.js → diagram-UQ7AKVKN-DUmEoGKb.js} +1 -1
  215. package/dist/ui/assets/{diagram-VSXAHHWV-CoUoPKsA.js → diagram-VSXAHHWV-BPHi15wT.js} +1 -1
  216. package/dist/ui/assets/{diagram-VX7I27RA-CCXAjAgW.js → diagram-VX7I27RA-KXaNOSYt.js} +1 -1
  217. package/dist/ui/assets/{diagram-Z3DM3KII-BHQBkQE-.js → diagram-Z3DM3KII-VY-1gBHG.js} +1 -1
  218. package/dist/ui/assets/{ebnfDiagram-PWID7BFC-Cvs4zLE6.js → ebnfDiagram-PWID7BFC-DS8pCZ-o.js} +1 -1
  219. package/dist/ui/assets/{erDiagram-RLTQ6QDP-BNZr7oA5.js → erDiagram-RLTQ6QDP-CMWkdSPJ.js} +1 -1
  220. package/dist/ui/assets/eventmodeling-NTZA5JFV-CnRce4Ft.js +1 -0
  221. package/dist/ui/assets/flowDiagram-HODETNUW-Bl6RGQnG.js +1 -0
  222. package/dist/ui/assets/{ganttDiagram-EL5Y4UJY-D4y1dvLK.js → ganttDiagram-EL5Y4UJY-BpirkJ4v.js} +1 -1
  223. package/dist/ui/assets/{gitGraph-4MIJSDKK-DvGOpoGX.js → gitGraph-4MIJSDKK-CXSKWh2Z.js} +1 -1
  224. package/dist/ui/assets/{gitGraphDiagram-WWUBYQGX-D3fKN22e.js → gitGraphDiagram-WWUBYQGX-yjxrBf9P.js} +1 -1
  225. package/dist/ui/assets/index-Dz1V2IY7.css +1 -0
  226. package/dist/ui/assets/index-elTUWd7x.js +54 -0
  227. package/dist/ui/assets/{info-A6RAGUB7-CG6_1t4v.js → info-A6RAGUB7-CHSw1OnI.js} +1 -1
  228. package/dist/ui/assets/{infoDiagram-27XIBGKW-BZGXzyAi.js → infoDiagram-27XIBGKW-XIzCq4Td.js} +1 -1
  229. package/dist/ui/assets/{ishikawaDiagram-5VMMS53U-28Q-yzl6.js → ishikawaDiagram-5VMMS53U-CwTM6Xqe.js} +1 -1
  230. package/dist/ui/assets/{journeyDiagram-3NMN7TZE-NDtxuR9G.js → journeyDiagram-3NMN7TZE-uqHyan0n.js} +1 -1
  231. package/dist/ui/assets/{kanban-definition-UXKFOSKX-BGoqQ8sU.js → kanban-definition-UXKFOSKX-WHidT1Vi.js} +1 -1
  232. package/dist/ui/assets/{line-BXWQsF8z.js → line-VhTFB16m.js} +1 -1
  233. package/dist/ui/assets/{mermaid-parser.core-DGAd_8KH.js → mermaid-parser.core-CnnWRcLv.js} +3 -3
  234. package/dist/ui/assets/{mermaid.core-BD0MSzMW.js → mermaid.core-CMAk9c7e.js} +4 -4
  235. package/dist/ui/assets/{mindmap-definition-YA3MSWOX-CDZKgZhH.js → mindmap-definition-YA3MSWOX-CgXnpPZI.js} +1 -1
  236. package/dist/ui/assets/{packet-AYTQ26CC-Dni6tyV_.js → packet-AYTQ26CC-D79SEu1K.js} +1 -1
  237. package/dist/ui/assets/{pegDiagram-XKGWAZYB-C5fozvsn.js → pegDiagram-XKGWAZYB-D57a204j.js} +1 -1
  238. package/dist/ui/assets/{pie-WAS4IAKB-ff6I2ES-.js → pie-WAS4IAKB-eJ29qTHN.js} +1 -1
  239. package/dist/ui/assets/{pieDiagram-E7YTZNPT-CeLG9FfB.js → pieDiagram-E7YTZNPT-Cmu79QgL.js} +1 -1
  240. package/dist/ui/assets/{quadrantDiagram-AXDQQJYC-CkmW8Tj0.js → quadrantDiagram-AXDQQJYC-DkJ_lByB.js} +1 -1
  241. package/dist/ui/assets/{radar-RG4KPBEZ-BDj-Xizd.js → radar-RG4KPBEZ-BvmFiqNf.js} +1 -1
  242. package/dist/ui/assets/{railroad-74A4TZTK-BzMG8WRw.js → railroad-74A4TZTK-D8y71XD7.js} +1 -1
  243. package/dist/ui/assets/railroad-abnf-HS5TGJTU-Br6QWckP.js +1 -0
  244. package/dist/ui/assets/railroad-ebnf-LZEXJU2U-DZ3Kdv94.js +1 -0
  245. package/dist/ui/assets/railroad-peg-WCYAUIDC-DS-utPYa.js +1 -0
  246. package/dist/ui/assets/{railroadDiagram-O6MQD6OU-DGgj7juY.js → railroadDiagram-O6MQD6OU-DVICUmxm.js} +1 -1
  247. package/dist/ui/assets/repo-DJOMdIgK.js +2 -0
  248. package/dist/ui/assets/{requirementDiagram-BXWQKSXE-Hosv7UOI.js → requirementDiagram-BXWQKSXE-C-H3_t75.js} +1 -1
  249. package/dist/ui/assets/{sankeyDiagram-P5KCCOFB-DMJjO5XD.js → sankeyDiagram-P5KCCOFB-BW8dwgDY.js} +1 -1
  250. package/dist/ui/assets/{sequenceDiagram-WJ2MYXX4-Djna7B24.js → sequenceDiagram-WJ2MYXX4-DKdAg21Q.js} +1 -1
  251. package/dist/ui/assets/{stateDiagram-D77RDMKH-BFnhpU0l.js → stateDiagram-D77RDMKH-CNl6WXRR.js} +1 -1
  252. package/dist/ui/assets/stateDiagram-v2-MP3YSRHH-BbU_pRfJ.js +1 -0
  253. package/dist/ui/assets/{swimlanes-42K2YHIH-PNlguaia.js → swimlanes-42K2YHIH-CLrwIems.js} +1 -1
  254. package/dist/ui/assets/swimlanesDiagram-VR7AAH4N-UcPzpukO.js +8 -0
  255. package/dist/ui/assets/{timeline-definition-24CTP7MA-uORclcIS.js → timeline-definition-24CTP7MA-DUaCoZTg.js} +1 -1
  256. package/dist/ui/assets/{title-DRn1SiDB.js → title-ClcAtTzM.js} +1 -1
  257. package/dist/ui/assets/{treeView-Q6P3EWNA-BP_ISed5.js → treeView-Q6P3EWNA-Da6faho-.js} +1 -1
  258. package/dist/ui/assets/{treemap-WGGIJYW6--V-EhCEf.js → treemap-WGGIJYW6-BZ2UeOx0.js} +1 -1
  259. package/dist/ui/assets/{vendor-ui-DvMtGHLC.js → vendor-ui-DsOjPSxk.js} +2 -2
  260. package/dist/ui/assets/{vennDiagram-4TSXK5OY-B96mS7FE.js → vennDiagram-4TSXK5OY-bsrbi5iL.js} +1 -1
  261. package/dist/ui/assets/{wardley-WFR3VGLG-CYGfXDZf.js → wardley-WFR3VGLG-1ye_cK6w.js} +1 -1
  262. package/dist/ui/assets/{wardleyDiagram-VM6X3IG4-C_qHUJEK.js → wardleyDiagram-VM6X3IG4-BI_0k668.js} +1 -1
  263. package/dist/ui/assets/{xychartDiagram-S5SC5T6Z-D-iwVqdz.js → xychartDiagram-S5SC5T6Z-ClQRAIHf.js} +1 -1
  264. package/dist/ui/index.html +10 -9
  265. package/dist/ui/sw.js +2 -2
  266. package/package.json +1 -1
  267. package/dist/ui/assets/AgentsView-CLLCJ6AW.js +0 -1
  268. package/dist/ui/assets/ChecksView-DOMuC-Du.js +0 -0
  269. package/dist/ui/assets/ChecksView-MRswedqR.css +0 -1
  270. package/dist/ui/assets/ContextView-BRKEH19F.js +0 -4
  271. package/dist/ui/assets/DashboardView-DCXBFRQz.js +0 -1
  272. package/dist/ui/assets/DiffView-B9-i6C6C.css +0 -1
  273. package/dist/ui/assets/DiffView-By7Or-tt.js +0 -4
  274. package/dist/ui/assets/InputsView-36_PZvpn.js +0 -1
  275. package/dist/ui/assets/ReleasesView-B9reiAba.css +0 -1
  276. package/dist/ui/assets/ReleasesView-C367f6Z-.js +0 -3
  277. package/dist/ui/assets/SettingsView-MvAmqgCS.js +0 -4
  278. package/dist/ui/assets/StoriesView-CifxEAYl.js +0 -1
  279. package/dist/ui/assets/WorkView-bH-ScFce.js +0 -2
  280. package/dist/ui/assets/architecture-7GRP2DOG-B7mPOijT.js +0 -1
  281. package/dist/ui/assets/channel-DC785MeQ.js +0 -1
  282. package/dist/ui/assets/classDiagram-ZZMXUADV-kAdq9jdR.js +0 -1
  283. package/dist/ui/assets/classDiagram-v2-VYDZK3BY-kAdq9jdR.js +0 -1
  284. package/dist/ui/assets/config-Brg64iOP.js +0 -1
  285. package/dist/ui/assets/eventmodeling-NTZA5JFV-DL8OHcU1.js +0 -1
  286. package/dist/ui/assets/flowDiagram-HODETNUW-hqiZmPvO.js +0 -1
  287. package/dist/ui/assets/index-DRsQaKB6.css +0 -1
  288. package/dist/ui/assets/index-Rfjq1wMn.js +0 -54
  289. package/dist/ui/assets/railroad-abnf-HS5TGJTU-D6ImUE6q.js +0 -1
  290. package/dist/ui/assets/railroad-ebnf-LZEXJU2U-xmNsKCvd.js +0 -1
  291. package/dist/ui/assets/railroad-peg-WCYAUIDC-B1-OWQhz.js +0 -1
  292. package/dist/ui/assets/repo-CMEa_Ho-.js +0 -2
  293. package/dist/ui/assets/stateDiagram-v2-MP3YSRHH-Dj2QV7iE.js +0 -1
  294. package/dist/ui/assets/swimlanesDiagram-VR7AAH4N-D63RNwQp.js +0 -8
@@ -1,5 +1,5 @@
1
1
  {
2
- "hash": "fe42b7d3c5e92f40a7421aa079b19143152aaa5475d60de61c7098723741384f",
3
- "version": "0.5.64",
2
+ "hash": "90878be478d9457133036cf01bb56796b507ad255d1afc5321c1fb61bcec65a7",
3
+ "version": "0.5.66",
4
4
  "devUi": false
5
5
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "generatedAt": "2026-10-04T11:13:13.008Z"
2
+ "generatedAt": "2026-10-06T02:22:31.964Z"
3
3
  }
package/dist/cli/help.js CHANGED
@@ -8,6 +8,7 @@
8
8
  * usage line lives in per-command help rather than inline.
9
9
  */
10
10
  import { readVersion } from "../core/version.js";
11
+ import { PRIORITIES, TASK_TYPES } from "../core/types.js";
11
12
  import { c } from "./colors.js";
12
13
  import { table, termWidth, visibleWidth, wrap } from "./layout.js";
13
14
  /** Commands whose own argument parser already handles `--help`. */
@@ -18,8 +19,9 @@ const GROUPS = [
18
19
  commands: [
19
20
  {
20
21
  name: "init",
21
- usage: "init [name]",
22
+ usage: "init [name|--dir <path>] [--new --description <text>|--description-file <path>|- --areas a,b --commit|--no-commit --launch|--no-launch --json] [--docs-from <dir|file|.zip>] [--starter vision|codebase] [--force]",
22
23
  desc: "Scaffold work/, repoos.toml, AGENTS.md; guided flow for a new project",
24
+ flags: "new-project (--new/--yes): --description · --description-file · --areas · --layout · --commit/--no-commit · --launch/--no-launch · --preview-stub/--no-preview-stub · --dir · --force · --json. Any init: --docs-from <dir|file|.zip> · --starter vision|codebase · --force. Existing-repo init takes none of the new-project flags.",
23
25
  },
24
26
  {
25
27
  name: "upgrade",
@@ -46,15 +48,21 @@ const GROUPS = [
46
48
  { name: "show", usage: "show <id>", desc: "Show a task's full spec" },
47
49
  {
48
50
  name: "new",
49
- usage: 'new "<title>" [--ai --type <t> --area <a> --priority <p> --body <b>]',
51
+ usage: `new "<title>" [--ai --type ${TASK_TYPES.join("|")} --area <a> --priority ${PRIORITIES.join("|")} --body <b>]`,
50
52
  desc: "Create a task",
51
- flags: "--ai --type --area --priority --body",
53
+ flags: `--ai · --type · --area · --priority · --body`,
52
54
  },
53
55
  {
54
56
  name: "new-doc",
55
57
  usage: 'new-doc "<desc>"',
56
58
  desc: "Create a document from a description via the PM agent",
57
59
  },
60
+ {
61
+ name: "docs",
62
+ usage: "docs <import|scaffold> [path] [--force] [--dry-run]",
63
+ desc: "Import an existing doc set, or scaffold starter project docs",
64
+ flags: "--force · --dry-run",
65
+ },
58
66
  {
59
67
  name: "note",
60
68
  usage: 'note <id> "<text>"',
@@ -66,11 +74,17 @@ const GROUPS = [
66
74
  desc: "Move a task to a new status — never merges code",
67
75
  flags: '--note "..." · --force-not-merged',
68
76
  },
77
+ {
78
+ name: "rm",
79
+ usage: "rm <id> --yes",
80
+ desc: "Delete a task file from the repo (same as the UI Delete button)",
81
+ flags: "--yes",
82
+ },
69
83
  {
70
84
  name: "update",
71
85
  usage: "update <id> [flags]",
72
86
  desc: "Edit a task's metadata or body",
73
- flags: "--title --area --priority --type --body --branch --assigned-to",
87
+ flags: `--title · --area · --priority ${PRIORITIES.join("|")} · --type ${TASK_TYPES.join("|")} · --body · --branch · --assigned-to`,
74
88
  },
75
89
  {
76
90
  name: "index",
@@ -86,6 +100,17 @@ const GROUPS = [
86
100
  },
87
101
  ],
88
102
  },
103
+ {
104
+ name: "Code",
105
+ commands: [
106
+ {
107
+ name: "outline",
108
+ usage: "outline <file> [--json]",
109
+ desc: "Print a file's symbols and line ranges (read ranges, not whole files)",
110
+ flags: "--json",
111
+ },
112
+ ],
113
+ },
89
114
  {
90
115
  name: "Health",
91
116
  commands: [
@@ -109,9 +134,9 @@ const GROUPS = [
109
134
  },
110
135
  {
111
136
  name: "certify",
112
- usage: "certify <cli> [--yes] [--json] [--binary <path>]",
137
+ usage: "certify <cli> [--yes] [--json] [--force] [--binary <path>]",
113
138
  desc: "Run the adapter contract suite and record certification evidence",
114
- flags: "--yes · --json · --binary <path>",
139
+ flags: "--yes · --json · --force · --binary <path>",
115
140
  },
116
141
  {
117
142
  name: "support",
@@ -160,6 +185,10 @@ const GROUPS = [
160
185
  const EXAMPLES = [
161
186
  { cmd: "repoos init" },
162
187
  { cmd: "repoos init myproject", comment: "guided new-project flow outside a git repo" },
188
+ {
189
+ cmd: 'repoos init myproject --new --description "A tiny social app" --areas web,api --no-launch',
190
+ comment: "non-interactive new project (no TTY, e.g. an agent)",
191
+ },
163
192
  {
164
193
  cmd: 'repoos new "Add company dashboard" --ai --type feature --area web,server --priority p1',
165
194
  },
@@ -169,6 +198,7 @@ const EXAMPLES = [
169
198
  { cmd: 'repoos note 0012 "Handle the reviewer\'s suggestions before the next review"' },
170
199
  { cmd: 'repoos update 0012 --title "New title" --area web,core' },
171
200
  { cmd: "repoos list ready" },
201
+ { cmd: "repoos outline src/server/agents.ts", comment: "then read only the range you need" },
172
202
  { cmd: "repoos doctor", comment: "passing checks are hidden; --verbose shows all" },
173
203
  { cmd: "repoos shot", comment: "screenshot the task preview for the current worktree" },
174
204
  { cmd: "repoos shot /repo/commits/abc123", comment: "capture one route" },
package/dist/cli/index.js CHANGED
@@ -4,9 +4,10 @@
4
4
  * Dependency-free arg routing — no commander/yargs needed for Stage 1.
5
5
  */
6
6
  import { cmdInit } from "../commands/init.js";
7
- import { cmdList, cmdShow, cmdMv, cmdUpdate, cmdNew, cmdIndex, cmdNote, } from "../commands/tasks.js";
8
- import { cmdNewDoc } from "../commands/docs.js";
7
+ import { cmdList, cmdShow, cmdMv, cmdRm, cmdUpdate, cmdNew, cmdIndex, cmdNote, } from "../commands/tasks.js";
8
+ import { cmdDocs, cmdNewDoc } from "../commands/docs.js";
9
9
  import { cmdGc } from "../commands/gc.js";
10
+ import { cmdOutline } from "../commands/outline.js";
10
11
  import { cmdCheck } from "../commands/check.js";
11
12
  import { cmdShot } from "../commands/shot.js";
12
13
  import { cmdServe, serveProcessTitle, setServeProcessTitle } from "../commands/serve.js";
@@ -89,6 +90,9 @@ function main() {
89
90
  "-h",
90
91
  "upgrade",
91
92
  "uninstall",
93
+ // Read-only inspection of one file: the build-staleness hash is pure
94
+ // overhead here, and `outline` is meant to stay well under 200ms.
95
+ "outline",
92
96
  ]);
93
97
  if (!skipCheck.has(cmd)) {
94
98
  const result = checkBuild();
@@ -148,6 +152,10 @@ function main() {
148
152
  case "note":
149
153
  cmdNote(rest);
150
154
  break;
155
+ case "rm":
156
+ case "delete":
157
+ cmdRm(rest);
158
+ break;
151
159
  case "update":
152
160
  cmdUpdate(rest);
153
161
  break;
@@ -158,6 +166,9 @@ function main() {
158
166
  case "new-doc":
159
167
  void cmdNewDoc(rest);
160
168
  break;
169
+ case "docs":
170
+ void cmdDocs(rest);
171
+ break;
161
172
  case "index":
162
173
  case "reindex":
163
174
  cmdIndex(rest);
@@ -165,6 +176,9 @@ function main() {
165
176
  case "gc":
166
177
  cmdGc(rest);
167
178
  break;
179
+ case "outline":
180
+ cmdOutline(rest);
181
+ break;
168
182
  case "serve":
169
183
  case "server":
170
184
  void cmdServe(rest);
@@ -2,6 +2,8 @@ export interface CertifyCliArgs {
2
2
  cli: string | null;
3
3
  yes: boolean;
4
4
  json: boolean;
5
+ /** `--force`: run the probe even when this version is already certified. */
6
+ force: boolean;
5
7
  missingCli: boolean;
6
8
  /** Explicit binary path — skips PATH resolution and probes this binary directly. */
7
9
  binary: string | null;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `repoos certify <cli> [--yes] [--json]` — run the adapter contract suite and,
2
+ * `repoos certify <cli> [--yes] [--json] [--force]` — run the adapter contract suite and,
3
3
  * when every seam passes, write the certification evidence back into
4
4
  * `src/core/agent-compatibility.json` automatically.
5
5
  *
@@ -11,33 +11,40 @@
11
11
  * does — src/core/ in a dev checkout, dist/core/ in a built install — and
12
12
  * writes back to whichever file it loaded from.
13
13
  */
14
+ import { spawnSync } from "node:child_process";
14
15
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
15
16
  import { fileURLToPath } from "node:url";
16
17
  import { join } from "node:path";
17
- import { runAdapterContract } from "../core/agent-contract.js";
18
+ import { resolveProbeModel, runAdapterContract } from "../core/agent-contract.js";
18
19
  import { parseAgentVersion } from "../core/agent-compatibility.js";
20
+ import { KNOWN_AGENTS, resolveBinary } from "../core/detect.js";
19
21
  import { c } from "../cli/colors.js";
20
22
  export function parseCertifyArgs(argv) {
21
23
  const yes = argv.includes("--yes");
22
24
  const json = argv.includes("--json");
25
+ const force = argv.includes("--force");
23
26
  const binaryIdx = argv.indexOf("--binary");
24
27
  const binary = binaryIdx !== -1 ? (argv[binaryIdx + 1] ?? null) : null;
25
28
  const modelIdx = argv.indexOf("--model");
26
29
  const model = modelIdx !== -1 ? (argv[modelIdx + 1] ?? null) : null;
27
30
  const positional = argv.filter((a, i) => !a.startsWith("--") && argv[i - 1] !== "--binary" && argv[i - 1] !== "--model");
28
31
  const cli = positional[0] ?? null;
29
- return { cli, yes, json, missingCli: !cli, binary, model };
32
+ return { cli, yes, json, force, missingCli: !cli, binary, model };
30
33
  }
31
34
  /** Locate the live manifest file on disk (src or dist). */
32
35
  function findManifestPath() {
33
36
  const manifestUrl = new URL("../core/agent-compatibility.json", import.meta.url);
34
37
  const candidates = [];
38
+ // The committed manifest is src/'s copy; dist/ is gitignored build output, so
39
+ // a run from a built checkout must still write src/ or the evidence is lost.
40
+ candidates.push(join(process.cwd(), "src/core/agent-compatibility.json"));
35
41
  if (manifestUrl.protocol === "file:") {
36
42
  candidates.push(fileURLToPath(manifestUrl));
37
43
  }
38
- candidates.push(join(process.cwd(), "src/core/agent-compatibility.json"), join(process.cwd(), "dist/core/agent-compatibility.json"));
44
+ candidates.push(join(process.cwd(), "dist/core/agent-compatibility.json"));
39
45
  const root = process.env.REPOOS_ROOT;
40
46
  if (root) {
47
+ candidates.unshift(join(root, "src/core/agent-compatibility.json"));
41
48
  candidates.push(join(root, "src/core/agent-compatibility.json"), join(root, "dist/core/agent-compatibility.json"));
42
49
  }
43
50
  for (const p of candidates) {
@@ -57,14 +64,69 @@ function loadManifest(path) {
57
64
  function saveManifest(path, manifest) {
58
65
  writeFileSync(path, JSON.stringify(manifest, null, 2) + "\n", "utf8");
59
66
  }
67
+ /**
68
+ * The installed version when it is already covered by the manifest (equal to or
69
+ * older than `newestCertifiedVersion`), else null. Reads only `--version` — no
70
+ * tokens. Any doubt (missing binary, unparsable version, no entry) returns
71
+ * null so the probe runs.
72
+ */
73
+ function alreadyCertified(cli, binaryOverride) {
74
+ try {
75
+ const known = KNOWN_AGENTS.find((a) => a.cli === cli)?.binary;
76
+ const bin = binaryOverride ?? (known ? resolveBinary(known) : null);
77
+ if (!bin || !existsSync(bin))
78
+ return null;
79
+ const out = spawnSync(bin, ["--version"], { encoding: "utf8", timeout: 10_000 });
80
+ const installed = parseAgentVersion(`${out.stdout ?? ""}\n${out.stderr ?? ""}`);
81
+ const path = findManifestPath();
82
+ if (!installed || !path)
83
+ return null;
84
+ const entry = loadManifest(path).contracts.find((e) => e.cli === cli);
85
+ const newest = entry?.newestCertifiedVersion ?? null;
86
+ const newestParsed = newest ? parseAgentVersion(newest) : null;
87
+ if (!newest || !newestParsed)
88
+ return null;
89
+ for (let i = 0; i < 3; i++) {
90
+ if (installed[i] > newestParsed[i])
91
+ return null;
92
+ if (installed[i] < newestParsed[i])
93
+ break;
94
+ }
95
+ return { version: installed.join("."), newest };
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ }
60
101
  export async function cmdCertify(argv) {
61
- const { cli, yes, json: asJson, missingCli, binary, model } = parseCertifyArgs(argv);
102
+ const { cli, yes, json: asJson, force, missingCli, binary, model } = parseCertifyArgs(argv);
62
103
  if (missingCli || !cli) {
63
104
  console.error(c.red(" repoos certify needs a harness id, e.g. `repoos certify opencode`."));
64
105
  console.error(c.dim(" Use --binary <path> to probe a specific binary instead of PATH resolution."));
65
106
  process.exitCode = 1;
66
107
  return;
67
108
  }
109
+ // Skip by default when the installed version is already certified: the live
110
+ // probe spends provider tokens, and re-running it on a covered version only
111
+ // rewrites the date. `--force` re-probes anyway.
112
+ if (!force) {
113
+ const covered = alreadyCertified(cli, binary);
114
+ if (covered) {
115
+ if (asJson) {
116
+ console.log(JSON.stringify({ cli, skipped: true, version: covered.version }, null, 2));
117
+ }
118
+ else {
119
+ console.log("");
120
+ console.log(" " +
121
+ c.green("✔ Skipped") +
122
+ ` — ${cli} ${covered.version} is already certified` +
123
+ c.dim(` (newest certified: ${covered.newest}).`));
124
+ console.log(c.dim(" Use --force to re-run the live probe anyway."));
125
+ console.log("");
126
+ }
127
+ return;
128
+ }
129
+ }
68
130
  const WARNING = [
69
131
  "",
70
132
  c.yellow(c.bold("⚠ Live compatibility probe + manifest write")),
@@ -144,7 +206,8 @@ export async function cmdCertify(argv) {
144
206
  const manifest = loadManifest(manifestPath);
145
207
  const versionStr = result.detectedVersion ? result.detectedVersion.join(".") : null;
146
208
  const now = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
147
- const source = `repoos certify ${cli} live probe — ${result.capabilities.length}/${result.capabilities.length} seams passed on ${result.startedAt} against binary ${result.binary}`;
209
+ const probeModelUsed = resolveProbeModel(cli, "live", model);
210
+ const source = `repoos certify ${cli} live probe — ${result.capabilities.length}/${result.capabilities.length} seams passed on ${result.startedAt} against binary ${result.binary}${probeModelUsed ? ` on model ${probeModelUsed}` : ""}`;
148
211
  let contract = manifest.contracts.find((c) => c.cli === cli);
149
212
  if (!contract) {
150
213
  // Bootstrap a minimal contract for a harness that has no entry yet.
@@ -1,6 +1,7 @@
1
1
  import type { CheckContrastPair, CheckThemeScope, RepoOSConfig } from "../core/types.js";
2
2
  import { type CheckPlan, type CheckStep } from "../core/check-plan.js";
3
3
  import { type StepRunResult } from "../core/check-runner.js";
4
+ import { type CheckRunPhase } from "../core/check-store.js";
4
5
  /**
5
6
  * Bare `require(...)` calls guard (#0271 follow-up): this package is
6
7
  * `"type": "module"` (ESM) — a bare, un-shadowed `require` is undefined at
@@ -213,9 +214,36 @@ export interface CheckOptions {
213
214
  printPlan?: boolean;
214
215
  /** Skip the remote runner even when `remoteValidation.enabled` (#0520). */
215
216
  localTestsOnly?: boolean;
217
+ /**
218
+ * Run each `format` step's fixer before its check (#0651). Off by default,
219
+ * so the close-out gate still fails an unformatted committed tree; handoff
220
+ * opts in. `kind = "format"` fixes via the `fmt` script, or a step's `fix`.
221
+ */
222
+ fix?: boolean;
223
+ /** Only run these step names — backs `repoos check --step <name>` (#0651). */
224
+ steps?: string[];
216
225
  }
217
226
  /** Parse `repoos check` flags. Unknown flags are ignored, never fatal. */
218
227
  export declare function parseCheckArgs(argv?: string[]): CheckOptions;
228
+ /** Hard cap on failing files that get an isolation re-run (#0655). Above it,
229
+ * the failure is broad enough that per-file triage says nothing useful. */
230
+ export declare const MAX_ISOLATION_TRIAGE_FILES = 3;
231
+ /** The test file from a `file > suite > test` failed-test name. */
232
+ export declare function failedTestFile(name: string): string;
233
+ /**
234
+ * Unique, still-present test files from recorded failure names, in order.
235
+ * A filter naming a deleted file makes vitest exit 1 on "no test files found",
236
+ * which would be a false failed-first failure — so drop paths that don't exist.
237
+ */
238
+ export declare function failedTestFiles(names: string[], repoRoot: string): string[];
239
+ /**
240
+ * Args appended after `--` that scope a project's test script to `files`, or
241
+ * null when the script can't be scoped that way (#0655). RepoOS's own two-pass
242
+ * runner gets its dedicated `--failed-first` single-pass mode (so the
243
+ * latency-sensitive isolated pass is skipped); a plain vitest/jest script
244
+ * accepts positional file filters.
245
+ */
246
+ export declare function testFileFilterArgs(testScript: string | undefined, files: string[]): string[] | null;
219
247
  /**
220
248
  * Repo-relative paths that differ from `ref`, plus anything uncommitted or
221
249
  * untracked — the working tree an agent actually hands over, not just what is
@@ -236,6 +264,14 @@ export interface RunPlanOptions {
236
264
  changedPaths?: string[];
237
265
  /** Git ref the changed paths came from — the Tests step scopes itself to it. */
238
266
  changedRef?: string;
267
+ /** Run each `format` step's fixer before its check (#0651). */
268
+ fix?: boolean;
269
+ /** Only run these step names (`repoos check --step`). Empty means all. */
270
+ stepNames?: string[];
271
+ /** Failing test names from the previous run, for failed-first ordering (#0655). */
272
+ previousFailedTests?: string[];
273
+ /** Isolation re-runs per failing file for the flake-triage label (#0655). */
274
+ isolationRuns?: number;
239
275
  onStart?: (step: CheckStep) => void;
240
276
  onResult?: (result: StepRunResult) => void;
241
277
  }
@@ -251,3 +287,17 @@ export interface RunPlanOptions {
251
287
  */
252
288
  export declare function runCheckPlan(plan: CheckPlan, opts: RunPlanOptions): Promise<StepRunResult[]>;
253
289
  export declare function cmdCheck(argv?: string[]): Promise<void>;
290
+ /**
291
+ * Failing test names from this task's most recent run (#0655), or none. Only
292
+ * when that most recent run actually failed — once a run is green, the next
293
+ * `repoos check` starts from a clean slate. Interactive/CLI and pre-review
294
+ * only: close-out and release always run the full suite. Fail-soft.
295
+ */
296
+ export declare function previousFailedTestsForRun(opts: {
297
+ root: string;
298
+ cacheDir: string;
299
+ /** Absolute worktree path the new run will execute in, when known. */
300
+ worktree?: string;
301
+ taskId: string | null;
302
+ phase: CheckRunPhase;
303
+ }): string[];