@ebrindley/build 0.0.0-stage → 1.42.1-rc28

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 (878) hide show
  1. package/.build-project/providers/catalog.json +13951 -0
  2. package/.build-project/providers/pricing.json +1978 -0
  3. package/.build-project/providers/registry.json +4103 -0
  4. package/.github/SECURITY.md +75 -0
  5. package/.nvmrc +1 -0
  6. package/CHANGELOG.md +661 -0
  7. package/CODE_OF_CONDUCT.md +44 -0
  8. package/CONTRIBUTING.md +24 -0
  9. package/INSTALL.md +623 -0
  10. package/LICENSE +21 -0
  11. package/README.md +118 -2
  12. package/THIRD_PARTY_NOTICES.txt +26 -0
  13. package/dist/ai-judge-UE5UOYOO.js +191 -0
  14. package/dist/allowlist-grounding-KPLN6NC5.js +16 -0
  15. package/dist/allowlist-utils-MZZKKXRD.js +31 -0
  16. package/dist/apply-completion-mode-EM37UZHB.js +110 -0
  17. package/dist/artifact-migrator-WPACNSEP.js +276 -0
  18. package/dist/ask-2OZ4JFQR.js +176 -0
  19. package/dist/auth-6UKBTJUQ.js +185 -0
  20. package/dist/auth-H5KJL6HL.js +165 -0
  21. package/dist/auth-LVJRJDMU.js +12 -0
  22. package/dist/auth-NHZOCNRR.js +94 -0
  23. package/dist/auth-PBXHWXGW.js +95 -0
  24. package/dist/auth-T7Y5DCAH.js +91 -0
  25. package/dist/auth-TVVKCHQW.js +13 -0
  26. package/dist/auth-UHB2UCSS.js +97 -0
  27. package/dist/auth-VACA3VUL.js +98 -0
  28. package/dist/auth-VVLC77S3.js +44 -0
  29. package/dist/auth-liveness-XO4AGDDD.js +53 -0
  30. package/dist/autoloop-cleanup-SI3VGAAR.js +106 -0
  31. package/dist/autoloop-evidence-gates-J5GG5YQB.js +39 -0
  32. package/dist/autoloop-gate-policy-SUNAEP6Q.js +169 -0
  33. package/dist/autoloop-helpers-VQGQNTT6.js +52 -0
  34. package/dist/autoloop-ledger-P6TIDP7C.js +96 -0
  35. package/dist/autoloop-ledger-subscriber-HFAGOZXH.js +161 -0
  36. package/dist/autoloop-run-defaults-GWGZBNT7.js +27 -0
  37. package/dist/autoloop-run-lock-GBWRM5A2.js +197 -0
  38. package/dist/autoloop-success-C32QVWOP.js +93 -0
  39. package/dist/autoloop-termination-summary-GI6IBQWD.js +58 -0
  40. package/dist/autoloop-trajectory-AMKSQISD.js +70 -0
  41. package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
  42. package/dist/automatic-branch-cleanup-R62X2C5O.js +49 -0
  43. package/dist/autonomous-loop-controller-2WL363LW.js +4386 -0
  44. package/dist/backend-YUTFDZXZ.js +30 -0
  45. package/dist/background-executor-Z3ODTMD7.js +260 -0
  46. package/dist/backlog-75QPEAMW.js +403 -0
  47. package/dist/backlog-execution-intent-GWUV5TUK.js +19 -0
  48. package/dist/backup-active-store-XHWLN34M.js +16 -0
  49. package/dist/backup-machine-stores-UI4LTJOY.js +251 -0
  50. package/dist/backup-telemetry-db-Z4ICYCNW.js +26 -0
  51. package/dist/branch-archive-manager-FMSQ7YJF.js +18 -0
  52. package/dist/branch-cleanup-manager-ST6FJGND.js +35 -0
  53. package/dist/build-gate-7NKWPY62.js +68 -0
  54. package/dist/build-root-S7DINODY.js +18 -0
  55. package/dist/change-summary-R6CB6VXJ.js +50 -0
  56. package/dist/chunk-24MNKKOM.js +173 -0
  57. package/dist/chunk-2H6VZFIO.js +235 -0
  58. package/dist/chunk-2JIX3EKV.js +39 -0
  59. package/dist/chunk-2KO7HVZM.js +106 -0
  60. package/dist/chunk-2L36U25O.js +100 -0
  61. package/dist/chunk-2NMNFUQA.js +475 -0
  62. package/dist/chunk-2OUAEH67.js +83 -0
  63. package/dist/chunk-2VLJUXJU.js +115 -0
  64. package/dist/chunk-2VUEDIUM.js +77 -0
  65. package/dist/chunk-2Y2IIHPI.js +430 -0
  66. package/dist/chunk-2YRG3LHZ.js +220 -0
  67. package/dist/chunk-2Z5Q3SUY.js +65 -0
  68. package/dist/chunk-32IYXIE5.js +873 -0
  69. package/dist/chunk-33IGPPUI.js +292 -0
  70. package/dist/chunk-352PCJLK.js +283 -0
  71. package/dist/chunk-35J4NE6S.js +226 -0
  72. package/dist/chunk-3C7WBIVK.js +1016 -0
  73. package/dist/chunk-3H3EY6U7.js +1225 -0
  74. package/dist/chunk-3H4MWYIC.js +198 -0
  75. package/dist/chunk-3HHWQR3N.js +2479 -0
  76. package/dist/chunk-3JKNRYEE.js +14 -0
  77. package/dist/chunk-3LECCYZY.js +128 -0
  78. package/dist/chunk-3LOY6YZI.js +852 -0
  79. package/dist/chunk-3M57DADF.js +44 -0
  80. package/dist/chunk-3NOTLVLG.js +3803 -0
  81. package/dist/chunk-3OPP2OZB.js +1480 -0
  82. package/dist/chunk-3P5IN5E7.js +9 -0
  83. package/dist/chunk-3PL22IYZ.js +20 -0
  84. package/dist/chunk-3REDAJUJ.js +14 -0
  85. package/dist/chunk-3S2R4XJI.js +203 -0
  86. package/dist/chunk-3UBZI5DW.js +61 -0
  87. package/dist/chunk-3VV5OBGG.js +308 -0
  88. package/dist/chunk-3WY5TU2O.js +823 -0
  89. package/dist/chunk-43OKHTW4.js +82 -0
  90. package/dist/chunk-45KUJBDI.js +112 -0
  91. package/dist/chunk-47X5LM7B.js +224 -0
  92. package/dist/chunk-4B6FQJ77.js +268 -0
  93. package/dist/chunk-4BTDUT2S.js +42 -0
  94. package/dist/chunk-4DJL2VXA.js +24 -0
  95. package/dist/chunk-4EBSXZ73.js +48 -0
  96. package/dist/chunk-4QKP6I4C.js +294 -0
  97. package/dist/chunk-4U6XK2DG.js +300 -0
  98. package/dist/chunk-4UMRUFBD.js +132 -0
  99. package/dist/chunk-4US4SYJ4.js +569 -0
  100. package/dist/chunk-4ZPLWEZO.js +154 -0
  101. package/dist/chunk-56WPYDJH.js +624 -0
  102. package/dist/chunk-57WRCJJW.js +50 -0
  103. package/dist/chunk-5AW4RMNG.js +24 -0
  104. package/dist/chunk-5EQN56OZ.js +155 -0
  105. package/dist/chunk-5F43TUIN.js +38 -0
  106. package/dist/chunk-5FKHIKTS.js +115 -0
  107. package/dist/chunk-5HDP7XZG.js +91 -0
  108. package/dist/chunk-5KQETTNS.js +152 -0
  109. package/dist/chunk-5PDVN2KO.js +498 -0
  110. package/dist/chunk-5UBIFVRD.js +509 -0
  111. package/dist/chunk-5YDE3Q62.js +46 -0
  112. package/dist/chunk-626AJVMU.js +302 -0
  113. package/dist/chunk-633XZ7UF.js +3583 -0
  114. package/dist/chunk-63DHNHGA.js +236 -0
  115. package/dist/chunk-666656AR.js +568 -0
  116. package/dist/chunk-67YRJPJO.js +19 -0
  117. package/dist/chunk-6CAU7VBA.js +20 -0
  118. package/dist/chunk-6CB3KJRY.js +21 -0
  119. package/dist/chunk-6DBMALXL.js +29 -0
  120. package/dist/chunk-6E25C4IA.js +269 -0
  121. package/dist/chunk-6FIBNIQU.js +73 -0
  122. package/dist/chunk-6G57FYBV.js +189 -0
  123. package/dist/chunk-6KZKRTG3.js +4885 -0
  124. package/dist/chunk-6LAH2UV2.js +525 -0
  125. package/dist/chunk-6PZY2TTU.js +921 -0
  126. package/dist/chunk-6T6NHXK4.js +230 -0
  127. package/dist/chunk-6TBEX4R4.js +432 -0
  128. package/dist/chunk-6TRD7TEE.js +911 -0
  129. package/dist/chunk-6XCP2RAI.js +47 -0
  130. package/dist/chunk-726G6WDL.js +351 -0
  131. package/dist/chunk-75EMT7BF.js +616 -0
  132. package/dist/chunk-762ACDZJ.js +4696 -0
  133. package/dist/chunk-77I6G4CO.js +1 -0
  134. package/dist/chunk-7DJ6SQH3.js +510 -0
  135. package/dist/chunk-7HPCIOMA.js +1383 -0
  136. package/dist/chunk-7HYBSRPZ.js +17503 -0
  137. package/dist/chunk-7KBEOPVB.js +73 -0
  138. package/dist/chunk-7LHJDJB3.js +2222 -0
  139. package/dist/chunk-7NVJMH52.js +306 -0
  140. package/dist/chunk-7RMARDVH.js +33 -0
  141. package/dist/chunk-7SEWU4QG.js +36 -0
  142. package/dist/chunk-7TUTZTI2.js +911 -0
  143. package/dist/chunk-7VBDFPUM.js +340 -0
  144. package/dist/chunk-7VRJHTGZ.js +6406 -0
  145. package/dist/chunk-7YAOUUKK.js +493 -0
  146. package/dist/chunk-AAAODV76.js +860 -0
  147. package/dist/chunk-AB4HUJVQ.js +339 -0
  148. package/dist/chunk-AEQWV746.js +611 -0
  149. package/dist/chunk-AHU3FKPA.js +11639 -0
  150. package/dist/chunk-AISTV5XU.js +226 -0
  151. package/dist/chunk-AJBTKGJZ.js +48 -0
  152. package/dist/chunk-AJJNW7XT.js +248 -0
  153. package/dist/chunk-AJN5Y5YZ.js +160 -0
  154. package/dist/chunk-ALDTFNZ3.js +150 -0
  155. package/dist/chunk-ARARVIZK.js +281 -0
  156. package/dist/chunk-ATBM6AW5.js +53 -0
  157. package/dist/chunk-ATKEKM3E.js +206 -0
  158. package/dist/chunk-AUJLW6JZ.js +92 -0
  159. package/dist/chunk-AY3MHEFM.js +24 -0
  160. package/dist/chunk-B7PYTV72.js +236 -0
  161. package/dist/chunk-B7YRSULE.js +1423 -0
  162. package/dist/chunk-BAWJNMWF.js +339 -0
  163. package/dist/chunk-BBPIILO2.js +88 -0
  164. package/dist/chunk-BD3PGW6A.js +957 -0
  165. package/dist/chunk-BDPYFAB4.js +44 -0
  166. package/dist/chunk-BIUV23HH.js +729 -0
  167. package/dist/chunk-BQ3VAGXH.js +243 -0
  168. package/dist/chunk-BQJOGAWT.js +31 -0
  169. package/dist/chunk-BT7EG7CO.js +68 -0
  170. package/dist/chunk-BV3XQQLU.js +27 -0
  171. package/dist/chunk-BY6ODHNZ.js +78 -0
  172. package/dist/chunk-BZRLSZNV.js +79 -0
  173. package/dist/chunk-C3DH3NCY.js +2773 -0
  174. package/dist/chunk-C3KCMAJP.js +756 -0
  175. package/dist/chunk-C7AGUJ5K.js +267 -0
  176. package/dist/chunk-CBSWKQCX.js +342 -0
  177. package/dist/chunk-CE5OZBYY.js +21 -0
  178. package/dist/chunk-CFCVYHSW.js +373 -0
  179. package/dist/chunk-CHA2HDE5.js +126 -0
  180. package/dist/chunk-CIHWPGS5.js +146 -0
  181. package/dist/chunk-CJBSZX3F.js +127 -0
  182. package/dist/chunk-CLA6QIJM.js +43 -0
  183. package/dist/chunk-CPSVQR2I.js +365 -0
  184. package/dist/chunk-CRPRVNQ4.js +254 -0
  185. package/dist/chunk-CSIE4Y7C.js +1093 -0
  186. package/dist/chunk-CSOPSYDY.js +142 -0
  187. package/dist/chunk-CSXLLEGB.js +205 -0
  188. package/dist/chunk-CTDLERWU.js +293 -0
  189. package/dist/chunk-CULBXMSK.js +110 -0
  190. package/dist/chunk-D2M2Y5ID.js +21 -0
  191. package/dist/chunk-D37WY7SH.js +1060 -0
  192. package/dist/chunk-D4VJFCGZ.js +89 -0
  193. package/dist/chunk-D6WTZMZB.js +48 -0
  194. package/dist/chunk-DBHOWDUH.js +976 -0
  195. package/dist/chunk-DCACX7BV.js +19364 -0
  196. package/dist/chunk-DFHX4XYA.js +128 -0
  197. package/dist/chunk-DIKBRRKE.js +176 -0
  198. package/dist/chunk-DJG5RIOR.js +9 -0
  199. package/dist/chunk-DNIOIISW.js +616 -0
  200. package/dist/chunk-DOA5G7IA.js +315 -0
  201. package/dist/chunk-DP7FKP6W.js +855 -0
  202. package/dist/chunk-DS2JZ677.js +79 -0
  203. package/dist/chunk-DSRLVYBS.js +82 -0
  204. package/dist/chunk-EAEVKNJA.js +209 -0
  205. package/dist/chunk-EEUESN3T.js +575 -0
  206. package/dist/chunk-EJ4LUU5Y.js +73 -0
  207. package/dist/chunk-EJIWTPSZ.js +1063 -0
  208. package/dist/chunk-EJVCDTAN.js +116 -0
  209. package/dist/chunk-EKLUBDBQ.js +627 -0
  210. package/dist/chunk-EN62WLFD.js +849 -0
  211. package/dist/chunk-ENYRCL43.js +26 -0
  212. package/dist/chunk-EP22ZMFO.js +273 -0
  213. package/dist/chunk-EP4SVAVI.js +87 -0
  214. package/dist/chunk-EPAMVGI3.js +1562 -0
  215. package/dist/chunk-EPRMH6HO.js +24 -0
  216. package/dist/chunk-ES6NWJ36.js +4057 -0
  217. package/dist/chunk-ETA2K4KI.js +30 -0
  218. package/dist/chunk-ETAD4NKD.js +31 -0
  219. package/dist/chunk-EUWIIDQ7.js +93 -0
  220. package/dist/chunk-EVE3OD2W.js +141 -0
  221. package/dist/chunk-EXA26FFC.js +459 -0
  222. package/dist/chunk-EXSPAA35.js +244 -0
  223. package/dist/chunk-F55YABKV.js +258 -0
  224. package/dist/chunk-F5DNGU5W.js +27 -0
  225. package/dist/chunk-F622MJYV.js +103 -0
  226. package/dist/chunk-F6NIQD74.js +5111 -0
  227. package/dist/chunk-FAWJTC34.js +43 -0
  228. package/dist/chunk-FAZBRHGG.js +47 -0
  229. package/dist/chunk-FIEUSGNJ.js +39 -0
  230. package/dist/chunk-FKCG7K6H.js +1146 -0
  231. package/dist/chunk-FOVVXV45.js +229 -0
  232. package/dist/chunk-FRBPKBFE.js +30 -0
  233. package/dist/chunk-FSA5BPFI.js +268 -0
  234. package/dist/chunk-FSJ5TTZ3.js +29 -0
  235. package/dist/chunk-FT7SGLXT.js +193 -0
  236. package/dist/chunk-FUUVZZUB.js +62 -0
  237. package/dist/chunk-FYMRVUNZ.js +1697 -0
  238. package/dist/chunk-FYTAA5FG.js +162 -0
  239. package/dist/chunk-G3VB2UCZ.js +3892 -0
  240. package/dist/chunk-G6OIMVXH.js +405 -0
  241. package/dist/chunk-G7PQCXVH.js +228 -0
  242. package/dist/chunk-GAB6UW52.js +1087 -0
  243. package/dist/chunk-GAFJEYLK.js +29 -0
  244. package/dist/chunk-GC4CRMTS.js +642 -0
  245. package/dist/chunk-GFHSIWHL.js +5297 -0
  246. package/dist/chunk-GI5M67YA.js +735 -0
  247. package/dist/chunk-GIJWHUWF.js +191 -0
  248. package/dist/chunk-GO6DRECI.js +1 -0
  249. package/dist/chunk-GOFVBTMN.js +314 -0
  250. package/dist/chunk-GQIP72ZJ.js +13 -0
  251. package/dist/chunk-GQXLXRFA.js +28 -0
  252. package/dist/chunk-GT6HFKJB.js +48 -0
  253. package/dist/chunk-GVJGSSKM.js +174 -0
  254. package/dist/chunk-GWHGTG37.js +36 -0
  255. package/dist/chunk-GZAJHLKO.js +18 -0
  256. package/dist/chunk-GZK62I3N.js +314 -0
  257. package/dist/chunk-H3HGMISG.js +483 -0
  258. package/dist/chunk-H3ISZJMJ.js +403 -0
  259. package/dist/chunk-H4HXVWEC.js +9 -0
  260. package/dist/chunk-H6MJGKAW.js +120 -0
  261. package/dist/chunk-HBTTGVR5.js +353 -0
  262. package/dist/chunk-HBZ322WZ.js +35 -0
  263. package/dist/chunk-HEP3ILP4.js +34 -0
  264. package/dist/chunk-HGFXODKO.js +106 -0
  265. package/dist/chunk-HHWDTB6S.js +59 -0
  266. package/dist/chunk-HKO45NLZ.js +286 -0
  267. package/dist/chunk-HLVTEA6A.js +89 -0
  268. package/dist/chunk-HS3SY6HN.js +160 -0
  269. package/dist/chunk-HT5OCGKN.js +899 -0
  270. package/dist/chunk-HXIIEMGF.js +78 -0
  271. package/dist/chunk-I56TH7VM.js +46 -0
  272. package/dist/chunk-I6FN3R5D.js +352 -0
  273. package/dist/chunk-I7SCBHJN.js +655 -0
  274. package/dist/chunk-IJM4GKAT.js +529 -0
  275. package/dist/chunk-IMEYU36R.js +344 -0
  276. package/dist/chunk-INJ3SS6A.js +936 -0
  277. package/dist/chunk-IUKOPCCE.js +441 -0
  278. package/dist/chunk-IVEPZQJO.js +33 -0
  279. package/dist/chunk-IVZEONFC.js +43 -0
  280. package/dist/chunk-IWBHRSG7.js +936 -0
  281. package/dist/chunk-IYY3HQAD.js +484 -0
  282. package/dist/chunk-J2ICMYDA.js +48 -0
  283. package/dist/chunk-J2QCFLUN.js +505 -0
  284. package/dist/chunk-J5HM6V5P.js +1039 -0
  285. package/dist/chunk-J6NZX6QH.js +398 -0
  286. package/dist/chunk-JBBB2Y47.js +432 -0
  287. package/dist/chunk-JDCZQZU7.js +42 -0
  288. package/dist/chunk-JEDNXGSS.js +169 -0
  289. package/dist/chunk-JHP7OT6K.js +89 -0
  290. package/dist/chunk-JLS65NUQ.js +14 -0
  291. package/dist/chunk-JNMWYMC6.js +38 -0
  292. package/dist/chunk-JNSTWNNW.js +25 -0
  293. package/dist/chunk-JOSK6GEU.js +9564 -0
  294. package/dist/chunk-JQUMSIGC.js +100 -0
  295. package/dist/chunk-JVHGMURQ.js +1106 -0
  296. package/dist/chunk-JYXS47FQ.js +951 -0
  297. package/dist/chunk-K2ZMW2Z5.js +2147 -0
  298. package/dist/chunk-K7FAFORM.js +14 -0
  299. package/dist/chunk-KBJXX3ON.js +333 -0
  300. package/dist/chunk-KHFKVQWY.js +486 -0
  301. package/dist/chunk-KHMEI3DQ.js +173 -0
  302. package/dist/chunk-KHW3UD7B.js +69 -0
  303. package/dist/chunk-KKQKWAMF.js +365 -0
  304. package/dist/chunk-KOKXJV2U.js +455 -0
  305. package/dist/chunk-KQ4NGOJI.js +14 -0
  306. package/dist/chunk-KQYQOXMS.js +342 -0
  307. package/dist/chunk-KTMW65UX.js +14 -0
  308. package/dist/chunk-KUEWV2JH.js +593 -0
  309. package/dist/chunk-KXYDV3HP.js +1523 -0
  310. package/dist/chunk-KZ4JMGZ5.js +96 -0
  311. package/dist/chunk-KZWGBUIO.js +2659 -0
  312. package/dist/chunk-L2CBG5IX.js +1892 -0
  313. package/dist/chunk-L2S235CU.js +314 -0
  314. package/dist/chunk-L32WD57F.js +98 -0
  315. package/dist/chunk-LDJCKAJP.js +123 -0
  316. package/dist/chunk-LDWNBEN7.js +541 -0
  317. package/dist/chunk-LJVH57G2.js +241 -0
  318. package/dist/chunk-LPQ7NZEN.js +209 -0
  319. package/dist/chunk-LRGH3CCV.js +148 -0
  320. package/dist/chunk-LULOGMMM.js +1133 -0
  321. package/dist/chunk-LWGKN2GY.js +8284 -0
  322. package/dist/chunk-LX4F24ZH.js +157 -0
  323. package/dist/chunk-M4BUEXXF.js +839 -0
  324. package/dist/chunk-M6UHOC4I.js +553 -0
  325. package/dist/chunk-MCBNWZNO.js +657 -0
  326. package/dist/chunk-MEMSY6VY.js +223 -0
  327. package/dist/chunk-MHLEZQQI.js +145 -0
  328. package/dist/chunk-MJ6WNSIX.js +192 -0
  329. package/dist/chunk-MKASIKWZ.js +442 -0
  330. package/dist/chunk-MNOVBYFU.js +60 -0
  331. package/dist/chunk-MO2BYAAF.js +2896 -0
  332. package/dist/chunk-MP6P7Y2A.js +180 -0
  333. package/dist/chunk-MQ4TFJAG.js +3365 -0
  334. package/dist/chunk-MT2WAIR3.js +131 -0
  335. package/dist/chunk-MTU7VTNN.js +1122 -0
  336. package/dist/chunk-MULMXX4V.js +150 -0
  337. package/dist/chunk-MW2DWWVA.js +147 -0
  338. package/dist/chunk-MY3ZPUN4.js +151 -0
  339. package/dist/chunk-MYLH2S4G.js +64 -0
  340. package/dist/chunk-MZ5WYKNA.js +28 -0
  341. package/dist/chunk-N3Q2JNPV.js +249 -0
  342. package/dist/chunk-N5DX4JAK.js +12 -0
  343. package/dist/chunk-NAINGKHF.js +35 -0
  344. package/dist/chunk-NEQUQHOX.js +223 -0
  345. package/dist/chunk-NHNPEZS4.js +1408 -0
  346. package/dist/chunk-NHTIXJCR.js +17 -0
  347. package/dist/chunk-NKLPMBNV.js +1154 -0
  348. package/dist/chunk-NMVZ5YES.js +199 -0
  349. package/dist/chunk-NRFRY3GE.js +256 -0
  350. package/dist/chunk-NTD6CSI6.js +1266 -0
  351. package/dist/chunk-NUO7B3SH.js +318 -0
  352. package/dist/chunk-NVOHIJKG.js +1319 -0
  353. package/dist/chunk-NXH3RX7O.js +523 -0
  354. package/dist/chunk-NXZ3DURF.js +257 -0
  355. package/dist/chunk-O26L6F7F.js +209 -0
  356. package/dist/chunk-O5RRIUEP.js +124 -0
  357. package/dist/chunk-O5X6BKAO.js +10 -0
  358. package/dist/chunk-O6ZQUVTR.js +31 -0
  359. package/dist/chunk-O7FE75QZ.js +306 -0
  360. package/dist/chunk-OC7Z6AJQ.js +81 -0
  361. package/dist/chunk-OH7IEZ63.js +307 -0
  362. package/dist/chunk-OI734GRS.js +115 -0
  363. package/dist/chunk-OJBH62DK.js +684 -0
  364. package/dist/chunk-OKJLVSTJ.js +247 -0
  365. package/dist/chunk-OMX5VL43.js +79 -0
  366. package/dist/chunk-ONHAMBN6.js +12 -0
  367. package/dist/chunk-ONYPLIVE.js +753 -0
  368. package/dist/chunk-OSK7QWPD.js +637 -0
  369. package/dist/chunk-OTXLMJKP.js +438 -0
  370. package/dist/chunk-OV5PKQMA.js +213 -0
  371. package/dist/chunk-OXK5HA4B.js +31 -0
  372. package/dist/chunk-OYDWFQA4.js +272 -0
  373. package/dist/chunk-OZAUKWHB.js +22 -0
  374. package/dist/chunk-P5P2EKGH.js +94 -0
  375. package/dist/chunk-P6SSWAKY.js +29 -0
  376. package/dist/chunk-P7CQGPLS.js +30 -0
  377. package/dist/chunk-P7RVCHQV.js +197 -0
  378. package/dist/chunk-PEBWDYIW.js +726 -0
  379. package/dist/chunk-PFCXFO7A.js +9193 -0
  380. package/dist/chunk-PFLDWMX6.js +168 -0
  381. package/dist/chunk-PHZGLQSK.js +15883 -0
  382. package/dist/chunk-PNFTPNSR.js +20 -0
  383. package/dist/chunk-PPHXX4W7.js +175 -0
  384. package/dist/chunk-PPZESPJT.js +262 -0
  385. package/dist/chunk-PRDHI2L5.js +296 -0
  386. package/dist/chunk-PSTKWHHN.js +32 -0
  387. package/dist/chunk-PV53ODOT.js +555 -0
  388. package/dist/chunk-PVJBTI7P.js +24 -0
  389. package/dist/chunk-PXKERBKX.js +100 -0
  390. package/dist/chunk-PZ5AY32C.js +10 -0
  391. package/dist/chunk-Q3DHEZA5.js +85 -0
  392. package/dist/chunk-Q5RZDVQK.js +204 -0
  393. package/dist/chunk-Q64IR2Z2.js +4933 -0
  394. package/dist/chunk-Q6Z5UGPL.js +398 -0
  395. package/dist/chunk-QAMAV4DT.js +627 -0
  396. package/dist/chunk-QBWF4444.js +112 -0
  397. package/dist/chunk-QDKYT4CI.js +22805 -0
  398. package/dist/chunk-QFLBRWCJ.js +126 -0
  399. package/dist/chunk-QILAQACE.js +107 -0
  400. package/dist/chunk-QJ6OEH4K.js +3683 -0
  401. package/dist/chunk-QK3NLYTV.js +320 -0
  402. package/dist/chunk-QOFLUS24.js +535 -0
  403. package/dist/chunk-QOIASNEJ.js +98 -0
  404. package/dist/chunk-QP4UTSOV.js +3587 -0
  405. package/dist/chunk-QP5ST7RI.js +904 -0
  406. package/dist/chunk-QS5AGRZN.js +167 -0
  407. package/dist/chunk-QTAOU53N.js +107 -0
  408. package/dist/chunk-QTCLJHLZ.js +351 -0
  409. package/dist/chunk-QTOLTG4L.js +119 -0
  410. package/dist/chunk-QWDV4OSL.js +142 -0
  411. package/dist/chunk-QWMQ74KD.js +508 -0
  412. package/dist/chunk-QX6LOMMH.js +158 -0
  413. package/dist/chunk-QXBKIHY7.js +238 -0
  414. package/dist/chunk-QXBKTJT6.js +270 -0
  415. package/dist/chunk-QYQOVOLR.js +196 -0
  416. package/dist/chunk-R2CKS6WT.js +73 -0
  417. package/dist/chunk-R2TIYG7U.js +68 -0
  418. package/dist/chunk-R2W3LESH.js +465 -0
  419. package/dist/chunk-R5EXHMUN.js +100 -0
  420. package/dist/chunk-RBBTBCHX.js +289 -0
  421. package/dist/chunk-RBKLOUXA.js +121 -0
  422. package/dist/chunk-RCP2Y6DQ.js +86 -0
  423. package/dist/chunk-RCYEJSD5.js +260 -0
  424. package/dist/chunk-RFDVSI4N.js +134 -0
  425. package/dist/chunk-RGJU63FV.js +1717 -0
  426. package/dist/chunk-RI4EX2QE.js +18 -0
  427. package/dist/chunk-RIMARPCF.js +152 -0
  428. package/dist/chunk-RJ6RSNT6.js +42 -0
  429. package/dist/chunk-RNI2GUIF.js +131 -0
  430. package/dist/chunk-RPHUWJ3K.js +264 -0
  431. package/dist/chunk-RPIMAMV7.js +361 -0
  432. package/dist/chunk-RQFX6YRN.js +49 -0
  433. package/dist/chunk-RRC5BL7B.js +285 -0
  434. package/dist/chunk-RSYTSBOO.js +79 -0
  435. package/dist/chunk-RWQQIKIC.js +35 -0
  436. package/dist/chunk-RZUBOZH2.js +373 -0
  437. package/dist/chunk-S2E632FQ.js +380 -0
  438. package/dist/chunk-S2VQCZO4.js +22 -0
  439. package/dist/chunk-S2XIMQJQ.js +681 -0
  440. package/dist/chunk-S47ISY27.js +183 -0
  441. package/dist/chunk-S6I4KISU.js +142 -0
  442. package/dist/chunk-S6TAFQI5.js +2403 -0
  443. package/dist/chunk-SBBNT5ZJ.js +27 -0
  444. package/dist/chunk-SDJV2DTQ.js +491 -0
  445. package/dist/chunk-SDPIFNLD.js +33 -0
  446. package/dist/chunk-SF6YK3JI.js +835 -0
  447. package/dist/chunk-SK3ZFONO.js +976 -0
  448. package/dist/chunk-SKTFRFQ7.js +1775 -0
  449. package/dist/chunk-SNGM452K.js +2002 -0
  450. package/dist/chunk-STW7OFOA.js +581 -0
  451. package/dist/chunk-SU6UFUQY.js +1351 -0
  452. package/dist/chunk-SVJM3LJA.js +27 -0
  453. package/dist/chunk-SVUNZOPG.js +129 -0
  454. package/dist/chunk-T5XLUYV3.js +34 -0
  455. package/dist/chunk-T7E5JS6N.js +57 -0
  456. package/dist/chunk-TA3N5MMO.js +450 -0
  457. package/dist/chunk-TAJPCXSB.js +13 -0
  458. package/dist/chunk-TDEMDRN2.js +1639 -0
  459. package/dist/chunk-TDSEX5CF.js +24 -0
  460. package/dist/chunk-TGCVL74Y.js +28 -0
  461. package/dist/chunk-TGXXYDL4.js +1012 -0
  462. package/dist/chunk-TIKTYUJO.js +296 -0
  463. package/dist/chunk-TIZAJD4M.js +6029 -0
  464. package/dist/chunk-TLSEZZCG.js +5549 -0
  465. package/dist/chunk-TMBDRHAX.js +19 -0
  466. package/dist/chunk-TRURQUBP.js +1217 -0
  467. package/dist/chunk-TSQ256N5.js +152 -0
  468. package/dist/chunk-TUQMMFEQ.js +2244 -0
  469. package/dist/chunk-U424MJLC.js +81 -0
  470. package/dist/chunk-U4DRS6ZW.js +11 -0
  471. package/dist/chunk-U5KS22IN.js +204 -0
  472. package/dist/chunk-UAPHFJPN.js +673 -0
  473. package/dist/chunk-UB7LQITD.js +1040 -0
  474. package/dist/chunk-UBVRHGAZ.js +237 -0
  475. package/dist/chunk-UDNNAQN5.js +98 -0
  476. package/dist/chunk-UJP3XM54.js +342 -0
  477. package/dist/chunk-UJYDH2MW.js +305 -0
  478. package/dist/chunk-UKMPASIC.js +399 -0
  479. package/dist/chunk-UKUL3EHK.js +763 -0
  480. package/dist/chunk-UPHU64NB.js +1327 -0
  481. package/dist/chunk-URMSZXAD.js +43 -0
  482. package/dist/chunk-US3RT6CY.js +525 -0
  483. package/dist/chunk-UTDEOPKV.js +30 -0
  484. package/dist/chunk-UUUDKV7N.js +13 -0
  485. package/dist/chunk-UVKWU3SM.js +39 -0
  486. package/dist/chunk-V2TVPO3X.js +521 -0
  487. package/dist/chunk-V3KLVK7B.js +398 -0
  488. package/dist/chunk-V3YFFHDR.js +17 -0
  489. package/dist/chunk-VAG6GUBR.js +1162 -0
  490. package/dist/chunk-VBENAHDA.js +1814 -0
  491. package/dist/chunk-VBNCKCCI.js +16 -0
  492. package/dist/chunk-VCGSWN5M.js +1300 -0
  493. package/dist/chunk-VE2O2I7M.js +115 -0
  494. package/dist/chunk-VIFHYTI5.js +31 -0
  495. package/dist/chunk-VJER3FUS.js +5080 -0
  496. package/dist/chunk-VLMDM56Q.js +268 -0
  497. package/dist/chunk-VMFZEVVX.js +99 -0
  498. package/dist/chunk-VNDPQVUZ.js +1853 -0
  499. package/dist/chunk-VSPJRLGA.js +4783 -0
  500. package/dist/chunk-VSWC5ZXI.js +103 -0
  501. package/dist/chunk-VYI4DSZP.js +2017 -0
  502. package/dist/chunk-W4BAIQ6L.js +1212 -0
  503. package/dist/chunk-W7VQAL2K.js +2203 -0
  504. package/dist/chunk-WEI3ZDZH.js +33 -0
  505. package/dist/chunk-WEIUS5NT.js +26 -0
  506. package/dist/chunk-WEW7UFWE.js +546 -0
  507. package/dist/chunk-WGQAXLNA.js +384 -0
  508. package/dist/chunk-WJAL4JL3.js +206 -0
  509. package/dist/chunk-WKFOJ5ZG.js +141 -0
  510. package/dist/chunk-WMWQEFLN.js +2177 -0
  511. package/dist/chunk-WNECKKO2.js +154 -0
  512. package/dist/chunk-WPKLYOAM.js +195 -0
  513. package/dist/chunk-WSH37YQN.js +243 -0
  514. package/dist/chunk-WV3KQDPE.js +84 -0
  515. package/dist/chunk-WZFC4V4U.js +389 -0
  516. package/dist/chunk-XCOIBNET.js +13 -0
  517. package/dist/chunk-XDM65LBX.js +53 -0
  518. package/dist/chunk-XGU6PBO5.js +645 -0
  519. package/dist/chunk-XHOI4V62.js +43 -0
  520. package/dist/chunk-XIBVFMLQ.js +6858 -0
  521. package/dist/chunk-XJ2E7YEJ.js +117 -0
  522. package/dist/chunk-XON4ZCYX.js +69 -0
  523. package/dist/chunk-XQPEWJPI.js +127 -0
  524. package/dist/chunk-XSJTIFUY.js +31 -0
  525. package/dist/chunk-XT7OVWM3.js +64 -0
  526. package/dist/chunk-XTXYIISX.js +1104 -0
  527. package/dist/chunk-XV7NZL4B.js +57 -0
  528. package/dist/chunk-XWIZ6B5S.js +109 -0
  529. package/dist/chunk-XWLIKOBX.js +240 -0
  530. package/dist/chunk-XZOXEIN4.js +156 -0
  531. package/dist/chunk-XZRS7I7W.js +3673 -0
  532. package/dist/chunk-Y4ZDDHB6.js +44 -0
  533. package/dist/chunk-Y733RB7T.js +194 -0
  534. package/dist/chunk-YBHUB4XR.js +14931 -0
  535. package/dist/chunk-YKC75XK4.js +147 -0
  536. package/dist/chunk-YKMXFVK7.js +27 -0
  537. package/dist/chunk-YO5BAJ55.js +225 -0
  538. package/dist/chunk-YPDCLXNZ.js +568 -0
  539. package/dist/chunk-YSQPGVFK.js +116 -0
  540. package/dist/chunk-YTVVTIWJ.js +716 -0
  541. package/dist/chunk-YVCMDVBB.js +698 -0
  542. package/dist/chunk-YYTOA6DP.js +114 -0
  543. package/dist/chunk-Z5WGNULV.js +88 -0
  544. package/dist/chunk-Z6NGVVXG.js +66 -0
  545. package/dist/chunk-Z7CDQNH3.js +20 -0
  546. package/dist/chunk-ZH4G3FU5.js +187 -0
  547. package/dist/chunk-ZJB6SQPA.js +257 -0
  548. package/dist/chunk-ZL6E4HMY.js +42 -0
  549. package/dist/chunk-ZMLOC3DW.js +62 -0
  550. package/dist/chunk-ZORW64QH.js +101 -0
  551. package/dist/chunk-ZVVD2XGV.js +1369 -0
  552. package/dist/cli-utils-ER33ODC5.js +31 -0
  553. package/dist/cli-validation-6CHPTANV.js +146 -0
  554. package/dist/commit-utils-3STAY7C7.js +49 -0
  555. package/dist/compatibility-notice-IHNXR2JR.js +21 -0
  556. package/dist/compete-config-resolver-V3GDNJMM.js +125 -0
  557. package/dist/compete-results-XUM3PJHS.js +318 -0
  558. package/dist/competition-outcome-tracker-NWSMVUPG.js +62 -0
  559. package/dist/config-4HHE4OIK.js +238 -0
  560. package/dist/config-D6YAZASH.js +10 -0
  561. package/dist/config-MIPRDYYV.js +46 -0
  562. package/dist/config-audit-GA5DCUAI.js +371 -0
  563. package/dist/config-explain-4LMO556H.js +71 -0
  564. package/dist/config-loader-RGP634PC.js +51 -0
  565. package/dist/config-manager-J2UTO635.js +114 -0
  566. package/dist/config-merger-TVUJBZTS.js +14 -0
  567. package/dist/config-validator-H4ZVIE56.js +122 -0
  568. package/dist/cost-HSIV5U2Y.js +85 -0
  569. package/dist/data-migration-state-OAUL2WPQ.js +35 -0
  570. package/dist/db-migrator-NUOW5NKR.js +34 -0
  571. package/dist/default-paths-UILB62BN.js +49 -0
  572. package/dist/discovery-V6GYUJUC.js +53 -0
  573. package/dist/doctor-BBSMCDWE.js +271 -0
  574. package/dist/doctor-context-blocks-LPY75VZA.js +231 -0
  575. package/dist/doctor-instructions-import-JXHDDOE5.js +70 -0
  576. package/dist/doctor-purpose-6YJOXPBE.js +30 -0
  577. package/dist/domain-analyzer-S35ABUNA.js +48 -0
  578. package/dist/ensure-initialized-Q6PEU55O.js +78 -0
  579. package/dist/entry.js +922 -0
  580. package/dist/error-parser-core-MZFMFANN.js +70 -0
  581. package/dist/evaluation-context-GQBYDAEV.js +63 -0
  582. package/dist/evidence-plan-resolver-5FUAP3SA.js +111 -0
  583. package/dist/execution-data-writer-YCG5UH37.js +72 -0
  584. package/dist/execution-policy-applier-PWZM5LNA.js +63 -0
  585. package/dist/execution-preflight-DASJWWQF.js +223 -0
  586. package/dist/execution-roles-KNSNNB2D.js +112 -0
  587. package/dist/exit-code-error-QIY5DOKF.js +18 -0
  588. package/dist/external-temp-cleanup-CAW7LQ6R.js +360 -0
  589. package/dist/factory-YCYCB7AE.js +209 -0
  590. package/dist/file-utils-ZQYNBQBW.js +45 -0
  591. package/dist/flywheel-allowlist-revert-H22HA6JE.js +21 -0
  592. package/dist/flywheel-autoloop-executor-PDOASJEZ.js +316 -0
  593. package/dist/flywheel-autoloop-unverified-TOKYFCDC.js +36 -0
  594. package/dist/flywheel-competition-executor-YJUMMEJO.js +320 -0
  595. package/dist/flywheel-executor-JWU43KAY.js +437 -0
  596. package/dist/flywheel-git-isolation-FQ2TRWMB.js +56 -0
  597. package/dist/flywheel-manifest-HDPNMWWF.js +114 -0
  598. package/dist/flywheel-model-defaults-UHAKTZT3.js +110 -0
  599. package/dist/flywheel-preflight-III2C7TH.js +163 -0
  600. package/dist/flywheel-resume-2O45MS7Y.js +31 -0
  601. package/dist/flywheel-resume-execution-lease-P2BK257J.js +59 -0
  602. package/dist/flywheel-safety-AVAVFXIJ.js +19 -0
  603. package/dist/flywheel-scope-decision-ALJUUNGG.js +14 -0
  604. package/dist/get-telemetry-logger-MPDVO2JA.js +155 -0
  605. package/dist/git-message-style-KCXGMTDT.js +104 -0
  606. package/dist/guidance-profile-config-G3K5YQOO.js +113 -0
  607. package/dist/guidance-profile-renderer-TX4TNDFL.js +23 -0
  608. package/dist/identity-XLQJ4YJF.js +25 -0
  609. package/dist/index-query-6NUY4FKX.js +37 -0
  610. package/dist/index.js +85588 -0
  611. package/dist/indexer-DL54CM3K.js +44 -0
  612. package/dist/init-OUZ72344.js +245 -0
  613. package/dist/instructions-import-offer-NSYXSITC.js +363 -0
  614. package/dist/instructions-run-NBII7W36.js +114 -0
  615. package/dist/interrupted-work-E4TLKJLE.js +43 -0
  616. package/dist/invoke-provider-auth-NEWEIHCI.js +38 -0
  617. package/dist/judge-scoring.json +64 -0
  618. package/dist/lab-mode-YXQ2Y3NG.js +44 -0
  619. package/dist/lab-utils-5QAMDJR5.js +29 -0
  620. package/dist/linux-host-class-YDWQX65O.js +31 -0
  621. package/dist/llm-judge-executor-OJSNCTFJ.js +179 -0
  622. package/dist/local-ci-config-VZ4WWDT5.js +48 -0
  623. package/dist/local-executor-DCMDDRX2.js +280 -0
  624. package/dist/logger-5KNKS3O4.js +154 -0
  625. package/dist/matrix-prompt-builder-4ZBOGZSB.js +527 -0
  626. package/dist/matrix-result-parser-EZJM4YXP.js +14 -0
  627. package/dist/merge-batch-RTEEMVDB.js +313 -0
  628. package/dist/merge-batch-members-VIWGVRHP.js +24 -0
  629. package/dist/merge-queue-TIIUSOY6.js +126 -0
  630. package/dist/merge-queue-trust-DUNZ4J65.js +21 -0
  631. package/dist/metadata-UKSMWM6J.js +29 -0
  632. package/dist/model-catalog-readiness-R5KJBP5M.js +202 -0
  633. package/dist/model-invocations-db-XTUPPQ34.js +70 -0
  634. package/dist/model-resolver-JFZ2MHOJ.js +39 -0
  635. package/dist/model-resolver-SCQ57KAQ.js +217 -0
  636. package/dist/model-roles-D3OR4NAH.js +110 -0
  637. package/dist/monitor-F4SIU5G2.js +96 -0
  638. package/dist/nested-worktrees-2WUWQ75N.js +23 -0
  639. package/dist/next-S3IRLVER.js +96 -0
  640. package/dist/next-UKPFRXOO.js +148 -0
  641. package/dist/opportunistic-TL4S26VX.js +86 -0
  642. package/dist/optimization-config-resolver-NAEIYU6A.js +148 -0
  643. package/dist/package-HJR4QJT4.js +10 -0
  644. package/dist/parse-git-status-7PIYFPS2.js +21 -0
  645. package/dist/path-security-5WJSY56G.js +41 -0
  646. package/dist/paths-JUI7C4KU.js +45 -0
  647. package/dist/plan-backlog-list-fast-SSTQL5XP.js +89 -0
  648. package/dist/plan-backlog-show-fast-PFRAQ3JB.js +114 -0
  649. package/dist/plan-sprint-list-fast-HD2KBZSY.js +110 -0
  650. package/dist/plan-sprint-status-fast-YFYH7WQF.js +116 -0
  651. package/dist/plan-task-status-fast-JU5PNLUU.js +114 -0
  652. package/dist/plan-to-flywheel-PY5MSY2H.js +529 -0
  653. package/dist/preflight-PJHGTJNZ.js +12 -0
  654. package/dist/process-registry-B4ZUCN7T.js +28 -0
  655. package/dist/process-scanner-TU3QHWVB.js +23 -0
  656. package/dist/processes-6FHVGT72.js +28 -0
  657. package/dist/processes-json-fast-YWTMUWXB.js +72 -0
  658. package/dist/profile-HWTC56SG.js +209 -0
  659. package/dist/project-runtime-paths-2UQNG5Y4.js +41 -0
  660. package/dist/protected-branches-N36LDBFY.js +71 -0
  661. package/dist/provider-aware-resource-manager-YTFAHNGJ.js +40 -0
  662. package/dist/provider-matrix-2KO2V5OM.js +214 -0
  663. package/dist/provider-matrix-renderer-MEC3PER7.js +139 -0
  664. package/dist/provider-output-forwarding-2AHL7YMA.js +26 -0
  665. package/dist/provider-registry-WCZ65QHC.js +136 -0
  666. package/dist/provider-temp-cleanup-IUNPJCZF.js +14 -0
  667. package/dist/prune-engine-EOQVWEP6.js +448 -0
  668. package/dist/publication-turn-S42RZTQF.js +44 -0
  669. package/dist/quality-gate-JQMVCKOO.js +72 -0
  670. package/dist/quickstart-3O6FRCFB.js +105 -0
  671. package/dist/readiness-GW6ABRHB.js +139 -0
  672. package/dist/readiness-KFZCXDTT.js +215 -0
  673. package/dist/registry-7XG376SY.js +217 -0
  674. package/dist/repair-helpers-TTV5FEF4.js +117 -0
  675. package/dist/repo-root-YG6MQZDW.js +28 -0
  676. package/dist/resolution-engine-FFEK7HQ2.js +187 -0
  677. package/dist/resolve-provider-cli-ZEXVZKET.js +44 -0
  678. package/dist/restore-telemetry-db-E7BR5PO7.js +459 -0
  679. package/dist/routing-events-AW6SRZ6G.js +13 -0
  680. package/dist/routing-history-store-FMDDQL6W.js +39 -0
  681. package/dist/routing-planner-C6OHO3EY.js +221 -0
  682. package/dist/runner-KHDNQ5KU.js +1194 -0
  683. package/dist/runner-PIS2BW7Y.js +1801 -0
  684. package/dist/safety-E3JJVSFL.js +67 -0
  685. package/dist/safety-stanza-HE6GXP4G.js +49 -0
  686. package/dist/sandbox-7LBZC5PE.js +72 -0
  687. package/dist/sandbox-ASWCDYZL.js +80 -0
  688. package/dist/schema-extensions.sql +234 -0
  689. package/dist/security-JI22TBEB.js +17 -0
  690. package/dist/setup-bb-plugin-FQXLA76Y.js +531 -0
  691. package/dist/setup-claude-code-NF4ZSHVE.js +197 -0
  692. package/dist/setup-temp-cleanup-2APZ4HMA.js +29 -0
  693. package/dist/shared-utils-34HJZ6JX.js +40 -0
  694. package/dist/simple-artifact-goal-MQLDDMMX.js +29 -0
  695. package/dist/sprint-N7JFTEGL.js +403 -0
  696. package/dist/sprint-bridge-KJXIBNRJ.js +117 -0
  697. package/dist/sprint-completion-dependents-34SR7JVL.js +43 -0
  698. package/dist/sprint-execution-service-A6JPUBWY.js +376 -0
  699. package/dist/sprint-manager-MU2ZUWN2.js +140 -0
  700. package/dist/sqlite-timeout-config-U2CT4LKU.js +13 -0
  701. package/dist/sqlite-wrapper-FSGJ2QEW.js +19 -0
  702. package/dist/stale-cleanup-orchestrator-4X6324VF.js +71 -0
  703. package/dist/storage-access-I3V5LER7.js +31 -0
  704. package/dist/store-XVG64ZR2.js +25 -0
  705. package/dist/task-classifier-MN2DYE5R.js +558 -0
  706. package/dist/task-list-fast-7AT6LTTA.js +112 -0
  707. package/dist/task-manager-LHPBBRRE.js +136 -0
  708. package/dist/task-report-OLPAWBTK.js +64 -0
  709. package/dist/task-type-detector-6RG3YNZF.js +27 -0
  710. package/dist/task-type-resolver-EQHOUIHT.js +64 -0
  711. package/dist/telemetry-5VYSK772.js +212 -0
  712. package/dist/telemetry-health-tracker-4GFW2EMP.js +12 -0
  713. package/dist/telemetry-path-resolver-H3NFHHQY.js +34 -0
  714. package/dist/telemetry-reliability-URJDTNPZ.js +76 -0
  715. package/dist/transports-NREZQTJK.js +106 -0
  716. package/dist/unified-cost-tracker-5MTBJ2CL.js +59 -0
  717. package/dist/unified-state-cleanup-GGAXLHXF.js +292 -0
  718. package/dist/universal-cost-calculator-JTFEJVWK.js +70 -0
  719. package/dist/user-agents-QLIGPLP2.js +30 -0
  720. package/dist/variant-execution-I4ZZUAWY.js +319 -0
  721. package/dist/variant-opt-parser-JHCXKY2K.js +251 -0
  722. package/dist/variant-request-input-PL37N3AN.js +11 -0
  723. package/dist/variant-state-cleanup-KHMXRBZN.js +287 -0
  724. package/dist/variant-worker-COB5YTJX.js +4517 -0
  725. package/dist/variant-worker.js +26 -0
  726. package/dist/variants-XGDSXYG3.js +267 -0
  727. package/dist/verification-command-YSPU4VBH.js +66 -0
  728. package/dist/verify-command-timeout-DQUYH33Z.js +11 -0
  729. package/dist/verify-commands-LOHMOFKC.js +65 -0
  730. package/dist/warning-JSKSFKBT.js +13 -0
  731. package/dist/work-edge-K65NHVWY.js +50 -0
  732. package/dist/work-item-writer-KY5ZWZWW.js +30 -0
  733. package/dist/worker-JNXXEIT6.js +1504 -0
  734. package/dist/worker.js +21 -0
  735. package/dist/workspace-tree-identity-JO5PSKTW.js +52 -0
  736. package/dist/worktree-environment-WTVABAQW.js +64 -0
  737. package/dist/worktree-metrics-VZRQI26T.js +66 -0
  738. package/dist/writeback-TQFQBJNU.js +50 -0
  739. package/docs/CLI_REFERENCE.md +8287 -0
  740. package/docs/PROVIDER_SETUP.md +1737 -0
  741. package/docs/README.md +96 -0
  742. package/docs/TROUBLESHOOTING.md +2209 -0
  743. package/docs/getting-started/QUICK_START.md +260 -0
  744. package/docs/getting-started/README.md +198 -0
  745. package/docs/getting-started/SETUP.md +25 -0
  746. package/docs/reference/AGENT_CONTEXT.md +84 -0
  747. package/docs/reference/DELIVERY_ONBOARDING.md +198 -0
  748. package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
  749. package/docs/reference/SECURITY.md +291 -0
  750. package/docs/reference/TELEMETRY_PRIVACY.md +259 -0
  751. package/integrations/bb-plugin-build/README.md +391 -0
  752. package/integrations/bb-plugin-build/app.css +431 -0
  753. package/integrations/bb-plugin-build/app.tsx +6210 -0
  754. package/integrations/bb-plugin-build/package.json +45 -0
  755. package/integrations/bb-plugin-build/server.ts +488 -0
  756. package/integrations/bb-plugin-build/src/adapter.ts +3672 -0
  757. package/integrations/bb-plugin-build/src/backlog-authoring-model.ts +150 -0
  758. package/integrations/bb-plugin-build/src/backlog-authoring-schema.ts +458 -0
  759. package/integrations/bb-plugin-build/src/backlog-authoring-service.ts +467 -0
  760. package/integrations/bb-plugin-build/src/backlog-authoring-view.ts +1025 -0
  761. package/integrations/bb-plugin-build/src/command-evidence-schema.ts +13 -0
  762. package/integrations/bb-plugin-build/src/competition-defaults-schema.ts +122 -0
  763. package/integrations/bb-plugin-build/src/competition-defaults-service.ts +105 -0
  764. package/integrations/bb-plugin-build/src/competition-defaults-view.ts +138 -0
  765. package/integrations/bb-plugin-build/src/contract.ts +718 -0
  766. package/integrations/bb-plugin-build/src/execution-activity-view.ts +98 -0
  767. package/integrations/bb-plugin-build/src/finalize-model.ts +205 -0
  768. package/integrations/bb-plugin-build/src/finalize-schema.ts +150 -0
  769. package/integrations/bb-plugin-build/src/finalize-service.ts +330 -0
  770. package/integrations/bb-plugin-build/src/finalize-view.ts +159 -0
  771. package/integrations/bb-plugin-build/src/judge-operations-readback.ts +303 -0
  772. package/integrations/bb-plugin-build/src/judge-operations-schema.ts +33 -0
  773. package/integrations/bb-plugin-build/src/judge-operations-view.ts +459 -0
  774. package/integrations/bb-plugin-build/src/model.ts +1318 -0
  775. package/integrations/bb-plugin-build/src/monitor-service.ts +233 -0
  776. package/integrations/bb-plugin-build/src/panel-read-ux.ts +97 -0
  777. package/integrations/bb-plugin-build/src/patch-preview-schema.ts +166 -0
  778. package/integrations/bb-plugin-build/src/patch-preview-service.ts +480 -0
  779. package/integrations/bb-plugin-build/src/patch-preview-view.ts +109 -0
  780. package/integrations/bb-plugin-build/src/planning-readback.ts +228 -0
  781. package/integrations/bb-plugin-build/src/planning-service.ts +647 -0
  782. package/integrations/bb-plugin-build/src/planning-sync-evidence.ts +37 -0
  783. package/integrations/bb-plugin-build/src/planning-workspace-readback.ts +33 -0
  784. package/integrations/bb-plugin-build/src/planning-workspace-schema.ts +131 -0
  785. package/integrations/bb-plugin-build/src/planning-workspace.ts +333 -0
  786. package/integrations/bb-plugin-build/src/poll-handoff.ts +136 -0
  787. package/integrations/bb-plugin-build/src/project-target-server.ts +21 -0
  788. package/integrations/bb-plugin-build/src/project-target.ts +45 -0
  789. package/integrations/bb-plugin-build/src/reference-index.ts +218 -0
  790. package/integrations/bb-plugin-build/src/repository-identity.ts +17 -0
  791. package/integrations/bb-plugin-build/src/repository-schema.ts +30 -0
  792. package/integrations/bb-plugin-build/src/result-explorer-view.ts +597 -0
  793. package/integrations/bb-plugin-build/src/result-readback-model.ts +163 -0
  794. package/integrations/bb-plugin-build/src/result-readback-schema.ts +319 -0
  795. package/integrations/bb-plugin-build/src/result-readback-service.ts +333 -0
  796. package/integrations/bb-plugin-build/src/run-page-view.ts +332 -0
  797. package/integrations/bb-plugin-build/src/setup-config-schema.ts +293 -0
  798. package/integrations/bb-plugin-build/src/setup-config-service.ts +620 -0
  799. package/integrations/bb-plugin-build/src/setup-config-view.ts +388 -0
  800. package/integrations/bb-plugin-build/src/sprint-close-model.ts +150 -0
  801. package/integrations/bb-plugin-build/src/sprint-close-schema.ts +128 -0
  802. package/integrations/bb-plugin-build/src/sprint-close-service.ts +293 -0
  803. package/integrations/bb-plugin-build/src/sprint-close-view.ts +116 -0
  804. package/integrations/bb-plugin-build/src/sprint-composition-model.ts +709 -0
  805. package/integrations/bb-plugin-build/src/sprint-composition-readback.ts +231 -0
  806. package/integrations/bb-plugin-build/src/sprint-composition-schema.ts +597 -0
  807. package/integrations/bb-plugin-build/src/sprint-composition-service.ts +773 -0
  808. package/integrations/bb-plugin-build/src/sprint-composition-view.ts +1221 -0
  809. package/integrations/bb-plugin-build/src/sprint-execution-schema.ts +188 -0
  810. package/integrations/bb-plugin-build/src/sprint-execution-service.ts +289 -0
  811. package/integrations/bb-plugin-build/src/sprint-execution-view.ts +54 -0
  812. package/integrations/bb-plugin-build/src/task-authoring-model.ts +563 -0
  813. package/integrations/bb-plugin-build/src/task-authoring-schema.ts +629 -0
  814. package/integrations/bb-plugin-build/src/task-authoring-service.ts +842 -0
  815. package/integrations/bb-plugin-build/src/task-authoring-view.ts +1227 -0
  816. package/integrations/bb-plugin-build/src/task-catalog-schema.ts +46 -0
  817. package/integrations/bb-plugin-build/src/task-catalog-service.ts +44 -0
  818. package/integrations/bb-plugin-build/src/task-detail-readback.ts +56 -0
  819. package/integrations/bb-plugin-build/src/task-detail-schema.ts +171 -0
  820. package/integrations/bb-plugin-build/src/task-navigation.ts +446 -0
  821. package/integrations/bb-plugin-build/src/workbench-route.ts +74 -0
  822. package/package.json +306 -4
  823. package/schemas/README.md +80 -0
  824. package/schemas/build.config.schema.json +2110 -0
  825. package/schemas/config-v1.schema.json +136 -0
  826. package/schemas/execution-config.schema.json +47 -0
  827. package/schemas/judge-scoring.schema.json +257 -0
  828. package/schemas/provider-config.schema.json +179 -0
  829. package/schemas/telemetry-config.schema.json +79 -0
  830. package/schemas/user-preferences.schema.json +141 -0
  831. package/scripts/assert-node-runtime.mjs +146 -0
  832. package/scripts/preflight-native.mjs +49 -0
  833. package/scripts/setup-git-hooks.mjs +39 -0
  834. package/scripts/sync.sh +2871 -0
  835. package/scripts/write-node-launcher.sh +138 -0
  836. package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
  837. package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
  838. package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
  839. package/templates/.build-project/README.md +41 -0
  840. package/templates/.build-project/agents/README.md +50 -0
  841. package/templates/.build-project/agents/architect.md +10 -0
  842. package/templates/.build-project/agents/code-reviewer.md +10 -0
  843. package/templates/.build-project/agents/debugger.md +10 -0
  844. package/templates/.build-project/agents/documenter.md +10 -0
  845. package/templates/.build-project/agents/test-automator.md +10 -0
  846. package/templates/.build-project/config/build.config.jsonc +64 -0
  847. package/templates/.build-project/config/project-context.template.json +6 -0
  848. package/templates/.build-project/config/task-type-aliases.presets/kanban.yaml +14 -0
  849. package/templates/.build-project/config/task-type-aliases.presets/scrum.yaml +17 -0
  850. package/templates/.build-project/config/task-type-aliases.presets/xp.yaml +12 -0
  851. package/templates/.build-project/config/task-type-aliases.yaml +29 -0
  852. package/templates/.build-project/gitignore.template +70 -0
  853. package/templates/.build-project/task-types/analysis.yaml +38 -0
  854. package/templates/.build-project/task-types/architecture.yaml +35 -0
  855. package/templates/.build-project/task-types/doc.yaml +34 -0
  856. package/templates/.build-project/task-types/feature.yaml +22 -0
  857. package/templates/.build-project/task-types/general.yaml +4 -0
  858. package/templates/.build-project/task-types/security.yaml +38 -0
  859. package/templates/AGENTS.template.md +85 -0
  860. package/templates/CLAUDE.template.md +1 -0
  861. package/templates/GEMINI.template.md +1 -0
  862. package/templates/builtin-workflows/code-review.yaml +73 -0
  863. package/templates/builtin-workflows/skills/code-review/SKILL.md +61 -0
  864. package/templates/builtin-workflows/skills/execution-contract-analysis/SKILL.md +24 -0
  865. package/templates/builtin-workflows/skills/execution-contract-code/SKILL.md +19 -0
  866. package/templates/builtin-workflows/skills/execution-contract-structured/SKILL.md +17 -0
  867. package/templates/ci/incident-intake.mjs +787 -0
  868. package/templates/ci/incidents.yml.template +103 -0
  869. package/templates/ci/node.yml.template +17 -0
  870. package/templates/ci/python.yml.template +17 -0
  871. package/templates/guard-kit/GUARD_SETUP.md.template +258 -0
  872. package/templates/guard-kit/build-guard.yml.template +189 -0
  873. package/templates/guard-kit/check.mjs.template +932 -0
  874. package/templates/guard-kit/config.json.template +7 -0
  875. package/templates/guard-kit/policy.json.template +1 -0
  876. package/templates/profiles/README.md +57 -0
  877. package/templates/profiles/frontier-claude.json +23 -0
  878. package/templates/profiles/frontier-codex.json +23 -0
@@ -0,0 +1,226 @@
1
+ // src/utils/planning-validation.ts
2
+ import { z } from "zod";
3
+ var TaskIdSchema = z.string().min(1, "Task ID cannot be empty").max(100, "Task ID too long (max 100 characters)").regex(
4
+ /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/,
5
+ "Task ID contains invalid characters. Only alphanumeric, dots, hyphens, and underscores allowed"
6
+ ).refine((id) => {
7
+ if (id.includes("..") || id.includes("/") || id.includes("\\")) {
8
+ return false;
9
+ }
10
+ if (id.includes("\0")) {
11
+ return false;
12
+ }
13
+ return true;
14
+ }, "Task ID contains dangerous characters");
15
+ var SprintNameSchema = z.string().min(1, "Sprint name cannot be empty").max(50, "Sprint name too long (max 50 characters)").regex(/^[a-zA-Z0-9]/, "Sprint name must start with an alphanumeric character").refine(
16
+ (name) => !name.includes("..") && !name.includes("/") && !name.includes("\\") && !Array.from(name).some((character) => {
17
+ const codePoint = character.charCodeAt(0);
18
+ return codePoint <= 31 || codePoint === 127;
19
+ }),
20
+ "Sprint name contains invalid characters"
21
+ );
22
+ var PrioritySchema = z.enum(["P0", "P1", "P2", "P3"]).describe("Priority must be P0 (critical), P1 (high), P2 (medium), or P3 (low)");
23
+ var SeveritySchema = z.enum(["critical", "high", "medium", "low"]).describe("Severity must be: critical, high, medium, or low");
24
+ var EffortSchema = z.enum(["low", "medium", "high"]).describe("Effort must be: low, medium, or high");
25
+ var TaskStatusSchema = z.enum(["todo", "in_progress", "review", "done", "blocked"]).describe("Status must be: todo, in_progress, review, done, or blocked");
26
+ var BacklogStatusSchema = z.enum(["inbox", "reviewed", "archived", "done"]).describe("Status must be: inbox, reviewed, archived, or done");
27
+ var StoryPointsSchema = z.number().int("Story points must be an integer").min(1, "Story points must be at least 1").max(100, "Story points cannot exceed 100").refine((val) => {
28
+ const fibonacci = [1, 2, 3, 5, 8, 13, 21, 34, 55, 89];
29
+ return fibonacci.includes(val) || val <= 100;
30
+ }, "Story points should follow Fibonacci sequence or be reasonable values");
31
+ var ComplexitySchema = z.number().min(0, "Complexity cannot be negative").max(1, "Complexity cannot exceed 1.0").refine((val) => !Number.isNaN(val), "Complexity must be a valid number");
32
+ var EstimatedHoursSchema = z.number().positive("Estimated hours must be positive").max(200, "Estimated hours cannot exceed 200 (consider breaking down the task)");
33
+ var ExpectedRuntimeMinutesSchema = z.number().positive("Expected runtime minutes must be positive").max(1440, "Expected runtime cannot exceed 1440 minutes (24h); consider breaking down the item");
34
+ var DateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format").refine((date) => {
35
+ const match = date.match(/^(\d{4})-(\d{2})-(\d{2})$/);
36
+ if (!match) return false;
37
+ const year = Number.parseInt(match[1] ?? "", 10);
38
+ const month = Number.parseInt(match[2] ?? "", 10);
39
+ const day = Number.parseInt(match[3] ?? "", 10);
40
+ if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) return false;
41
+ const parsed = new Date(Date.UTC(year, month - 1, day));
42
+ if (Number.isNaN(parsed.getTime())) return false;
43
+ if (parsed.getUTCFullYear() !== year) return false;
44
+ if (parsed.getUTCMonth() !== month - 1) return false;
45
+ if (parsed.getUTCDate() !== day) return false;
46
+ return true;
47
+ }, "Invalid date");
48
+ var DomainSchema = z.enum([
49
+ "general",
50
+ "architecture",
51
+ "database",
52
+ "performance",
53
+ "testing",
54
+ "dependencies",
55
+ "security",
56
+ "infrastructure",
57
+ "ui",
58
+ "api"
59
+ ]).describe(
60
+ "Invalid domain. Must be one of: general, architecture, database, performance, testing, dependencies, security, infrastructure, ui, api"
61
+ );
62
+ var ImpactScoreSchema = z.number().min(1, "Impact score must be at least 1").max(10, "Impact score cannot exceed 10").int("Impact score must be an integer");
63
+ var SafeTaskDescriptionSchema = z.string().min(1, "Description cannot be empty").max(5e3, "Description too long (max 5000 characters)").transform((desc) => desc.trim()).refine((desc) => {
64
+ if (desc.includes("\0")) {
65
+ return false;
66
+ }
67
+ const dangerousPatterns = /(\$\(.*\)|`.*`|;.*&|&&|\|\|)/;
68
+ if (dangerousPatterns.test(desc)) {
69
+ return false;
70
+ }
71
+ return true;
72
+ }, "Description contains potentially dangerous characters");
73
+ var CheckpointPathSchema = z.string().min(1, "Checkpoint path cannot be empty").refine((path) => {
74
+ if (!path.endsWith(".json")) {
75
+ return false;
76
+ }
77
+ if (path.includes("..")) {
78
+ return false;
79
+ }
80
+ if (path.startsWith("/") && !path.startsWith(process.cwd())) {
81
+ return false;
82
+ }
83
+ if (path.includes("\0")) {
84
+ return false;
85
+ }
86
+ return true;
87
+ }, "Invalid checkpoint file path");
88
+ var CheckpointResumePathSchema = z.string().min(1, "Checkpoint path cannot be empty").refine((path) => {
89
+ if (!path.endsWith(".json")) {
90
+ return false;
91
+ }
92
+ if (path.includes("..")) {
93
+ return false;
94
+ }
95
+ if (path.includes("\0")) {
96
+ return false;
97
+ }
98
+ return true;
99
+ }, "Invalid checkpoint file path");
100
+ var PlanningQueryTypeSchema = z.enum(["backlog", "debt", "sprint", "task", "parking"]).describe("Query type must be: backlog, debt, sprint, task, or parking");
101
+ var OutputFormatSchema = z.enum(["table", "json", "markdown", "yaml"]).describe("Output format must be: table, json, markdown, or yaml");
102
+ var SchedulingOptionSchema = z.enum(["immediate", "current-sprint", "next-sprint", "backlog"]).describe("Scheduling option must be: immediate, current-sprint, next-sprint, or backlog");
103
+ var AgentCountSchema = z.number().int("Agent count must be an integer").min(1, "At least one agent is required").max(10, "Maximum 10 agents allowed for safety");
104
+ var BacklogAddInputSchema = z.object({
105
+ title: z.string().min(3, "Title must be at least 3 characters").max(200, "Title too long (max 200 characters)").transform((t) => t.trim()).refine((t) => t.length >= 3, "Title cannot be blank or whitespace-only"),
106
+ desc: z.string().max(5e3).optional(),
107
+ body: z.string().optional(),
108
+ bodyFile: z.string().optional(),
109
+ priority: PrioritySchema.optional(),
110
+ type: z.string().max(50).optional(),
111
+ workType: z.string().max(50).optional(),
112
+ tags: z.array(z.string().min(1).max(50)).max(20).optional(),
113
+ status: z.enum(["inbox", "reviewed"]).optional(),
114
+ complexity: z.number().min(0).max(1).optional(),
115
+ domain: DomainSchema.optional(),
116
+ expectedRuntime: ExpectedRuntimeMinutesSchema.optional(),
117
+ force: z.boolean().optional(),
118
+ sync: z.boolean().optional()
119
+ });
120
+ var BacklogOptionsSchema = z.object({
121
+ desc: z.string().optional(),
122
+ body: z.string().optional(),
123
+ // New: Full markdown body content
124
+ type: z.string().optional(),
125
+ // New: CLI --type option
126
+ tags: z.array(z.string()).optional(),
127
+ // New: CLI --tags option
128
+ complexity: ComplexitySchema.optional(),
129
+ domain: DomainSchema.optional(),
130
+ priority: PrioritySchema.optional(),
131
+ reason: z.string().max(500).optional(),
132
+ reconsider: DateSchema.optional(),
133
+ title: z.string().max(200).optional(),
134
+ status: BacklogStatusSchema.optional(),
135
+ // Updated: includes new statuses
136
+ approve: z.boolean().optional()
137
+ }).strict();
138
+ var TaskOptionsSchema = z.object({
139
+ sprint: SprintNameSchema.optional(),
140
+ priority: PrioritySchema.optional(),
141
+ status: TaskStatusSchema.optional(),
142
+ on: TaskIdSchema.optional(),
143
+ // for dependencies
144
+ force: z.boolean().optional(),
145
+ estimate: EstimatedHoursSchema.optional(),
146
+ expectedRuntime: ExpectedRuntimeMinutesSchema.optional(),
147
+ split: z.boolean().optional()
148
+ }).strict();
149
+ var SprintOptionsSchema = z.object({
150
+ name: SprintNameSchema.optional(),
151
+ start: DateSchema.optional(),
152
+ end: DateSchema.optional(),
153
+ goal: z.string().max(500).optional(),
154
+ hours: EstimatedHoursSchema.optional(),
155
+ current: z.boolean().optional(),
156
+ archived: z.boolean().optional(),
157
+ estimate: EstimatedHoursSchema.optional(),
158
+ priority: PrioritySchema.optional(),
159
+ split: z.boolean().optional()
160
+ }).strict();
161
+ var DebtOptionsSchema = z.object({
162
+ severity: SeveritySchema.optional(),
163
+ effort: EffortSchema.optional(),
164
+ impact: ImpactScoreSchema.optional(),
165
+ blocking: z.boolean().optional(),
166
+ parallelizable: z.boolean().optional(),
167
+ domain: DomainSchema.optional(),
168
+ executeBy: DateSchema.optional(),
169
+ targetDate: DateSchema.optional(),
170
+ rootCause: z.string().max(1e3).optional(),
171
+ hours: EstimatedHoursSchema.optional(),
172
+ expectedRuntime: ExpectedRuntimeMinutesSchema.optional(),
173
+ complexity: ComplexitySchema.optional(),
174
+ priority: z.boolean().optional(),
175
+ archived: z.boolean().optional()
176
+ }).strict();
177
+ var ParkingOptionsSchema = z.object({
178
+ reason: z.string().min(1).max(500),
179
+ reviewDate: DateSchema.optional(),
180
+ backlogId: TaskIdSchema.optional(),
181
+ complexity: ComplexitySchema.optional(),
182
+ hours: EstimatedHoursSchema.optional(),
183
+ current: z.boolean().optional(),
184
+ archived: z.boolean().optional(),
185
+ overdueReview: z.boolean().optional()
186
+ }).strict();
187
+ var PlanningOptionsSchema = z.object({
188
+ path: CheckpointPathSchema.optional(),
189
+ fix: z.boolean().optional(),
190
+ staged: z.boolean().optional(),
191
+ regenerate: z.boolean().optional(),
192
+ type: PlanningQueryTypeSchema.optional(),
193
+ status: z.string().optional(),
194
+ priority: PrioritySchema.optional(),
195
+ severity: SeveritySchema.optional(),
196
+ format: OutputFormatSchema.optional(),
197
+ json: z.boolean().optional()
198
+ }).strict();
199
+ var MonitorOptionsSchema = z.object({
200
+ json: z.boolean().optional(),
201
+ follow: z.boolean().optional(),
202
+ interval: z.number().min(1).max(300).optional(),
203
+ detailed: z.boolean().optional()
204
+ }).strict();
205
+ var PlanningCheckpointOptionsSchema = z.object({
206
+ agents: AgentCountSchema.optional(),
207
+ output: z.string().optional(),
208
+ resume: CheckpointResumePathSchema.optional()
209
+ }).strict();
210
+
211
+ export {
212
+ TaskIdSchema,
213
+ SprintNameSchema,
214
+ PrioritySchema,
215
+ EstimatedHoursSchema,
216
+ ExpectedRuntimeMinutesSchema,
217
+ DateSchema,
218
+ SafeTaskDescriptionSchema,
219
+ CheckpointResumePathSchema,
220
+ BacklogAddInputSchema,
221
+ BacklogOptionsSchema,
222
+ DebtOptionsSchema,
223
+ PlanningOptionsSchema,
224
+ PlanningCheckpointOptionsSchema
225
+ };
226
+ //# sourceMappingURL=chunk-AISTV5XU.js.map
@@ -0,0 +1,48 @@
1
+ import {
2
+ checkStorageAvailability,
3
+ resolvePlanningContextForRoot
4
+ } from "./chunk-BBPIILO2.js";
5
+
6
+ // src/planning/storage/reader-availability.ts
7
+ var PlanningStorageUnavailableError = class extends Error {
8
+ reason;
9
+ constructor(reason) {
10
+ super(`Planning storage is unavailable: ${reason}`);
11
+ this.name = "PlanningStorageUnavailableError";
12
+ this.reason = reason;
13
+ }
14
+ };
15
+ function planningReadOk(value) {
16
+ return { kind: "ok", value };
17
+ }
18
+ function isPlanningStorageUnavailable(result) {
19
+ return result.kind === "unavailable";
20
+ }
21
+ function checkSharedBucketReadability(ctx) {
22
+ const availability = checkStorageAvailability(ctx);
23
+ return availability.available ? null : { kind: "unavailable", reason: availability.reason };
24
+ }
25
+ function assertSharedBucketsReadable(ctx) {
26
+ const unavailable = checkSharedBucketReadability(ctx);
27
+ if (unavailable) {
28
+ throw new PlanningStorageUnavailableError(unavailable.reason);
29
+ }
30
+ }
31
+ function assertBucketWriteAvailable(planningRoot) {
32
+ assertSharedBucketsReadable(resolvePlanningContextForRoot(planningRoot));
33
+ }
34
+ function unwrapPlanningRead(result) {
35
+ if (isPlanningStorageUnavailable(result)) {
36
+ throw new PlanningStorageUnavailableError(result.reason);
37
+ }
38
+ return result.value;
39
+ }
40
+
41
+ export {
42
+ planningReadOk,
43
+ checkSharedBucketReadability,
44
+ assertSharedBucketsReadable,
45
+ assertBucketWriteAvailable,
46
+ unwrapPlanningRead
47
+ };
48
+ //# sourceMappingURL=chunk-AJBTKGJZ.js.map
@@ -0,0 +1,248 @@
1
+ import {
2
+ TaskIdSchema
3
+ } from "./chunk-AISTV5XU.js";
4
+ import {
5
+ resolveOptionalGitHubRepositoryFromRemote
6
+ } from "./chunk-BDPYFAB4.js";
7
+ import {
8
+ findBacklogItem
9
+ } from "./chunk-NKLPMBNV.js";
10
+ import {
11
+ extractBacklogItemTrailerIds,
12
+ loadBacklogExecutionProvenance
13
+ } from "./chunk-3WY5TU2O.js";
14
+ import {
15
+ getBucketPathByKind
16
+ } from "./chunk-V3KLVK7B.js";
17
+ import {
18
+ atomicWriteJson
19
+ } from "./chunk-RFDVSI4N.js";
20
+ import {
21
+ resolveBuildRoot
22
+ } from "./chunk-CHA2HDE5.js";
23
+ import {
24
+ envWithoutAmbientGitRepository
25
+ } from "./chunk-XDM65LBX.js";
26
+
27
+ // src/planning/backlog-trailer-closeout.ts
28
+ import { existsSync } from "fs";
29
+ import { access, readFile } from "fs/promises";
30
+ import path from "path";
31
+ var REVERT_PATTERN = /This reverts commit ([0-9a-f]{7,40})/gi;
32
+ function matchesRevertTarget(targets, oid) {
33
+ const full = oid?.toLowerCase();
34
+ return full !== void 0 && targets.some((target) => full.startsWith(target));
35
+ }
36
+ function analyzeTrailers(newestFirst) {
37
+ const revertTargets = [];
38
+ const entries = newestFirst.map((commit) => {
39
+ const message = `${commit.messageHeadline ?? ""}
40
+ ${commit.messageBody ?? ""}`;
41
+ const reverted = matchesRevertTarget(revertTargets, commit.oid);
42
+ const targets = [...message.matchAll(REVERT_PATTERN)].map((match) => match[1].toLowerCase());
43
+ if (!reverted) revertTargets.push(...targets);
44
+ const isRevert = targets.length > 0 && message.trimStart().startsWith('Revert "');
45
+ const ids = isRevert ? [] : extractBacklogItemTrailerIds(message);
46
+ return { commit, ids, reverted };
47
+ });
48
+ return { entries, revertTargets };
49
+ }
50
+ function isRevertedCommit(revertTargets, oid) {
51
+ return matchesRevertTarget(revertTargets, oid);
52
+ }
53
+ function collectTrailerItemIds(commits) {
54
+ const { entries } = analyzeTrailers([...commits].reverse());
55
+ const pick = (reverted) => entries.filter((entry) => entry.reverted === reverted).reverse().flatMap((entry) => entry.ids);
56
+ const declared = [...new Set(pick(false))];
57
+ return { declared, reverted: [...new Set(pick(true))].filter((id) => !declared.includes(id)) };
58
+ }
59
+ async function triageTrailerItems(projectRoot, itemIds, landing) {
60
+ const triage = { eligible: [], skipped: [] };
61
+ const backlogDir = getBucketPathByKind("backlog", projectRoot);
62
+ for (const itemId of itemIds) {
63
+ const skip = (reason) => triage.skipped.push({ itemId, reason });
64
+ if (!TaskIdSchema.safeParse(itemId).success) {
65
+ skip("not a valid backlog item id");
66
+ continue;
67
+ }
68
+ const item = await findBacklogItem(backlogDir, itemId);
69
+ if (!item) {
70
+ skip("unknown backlog item");
71
+ continue;
72
+ }
73
+ if (item.yaml.status === "archived" || item.yaml.status === "done" || item.filePath.replace(/\\/g, "/").includes("/archive/")) {
74
+ skip("already archived");
75
+ continue;
76
+ }
77
+ const record = await loadBacklogExecutionProvenance(projectRoot, itemId, {
78
+ cleanupTerminalLocks: false
79
+ });
80
+ const tracked = record?.prNumber;
81
+ if (tracked !== null && tracked !== void 0 && tracked !== landing.prNumber && !landing.batchMemberPrs?.includes(tracked)) {
82
+ skip(`execution provenance tracks PR #${tracked}`);
83
+ continue;
84
+ }
85
+ triage.eligible.push(itemId);
86
+ }
87
+ return triage;
88
+ }
89
+ function trailerReconcileBaselinePath(projectRoot) {
90
+ const root = path.resolve(projectRoot);
91
+ const sharedRoot = existsSync(path.join(root, ".git")) ? resolveBuildRoot(root) : root;
92
+ return path.join(sharedRoot, ".build-project", "state", "backlog-trailer-reconcile.json");
93
+ }
94
+ async function readTrailerReconcileBaseline(projectRoot) {
95
+ try {
96
+ const parsed = JSON.parse(await readFile(trailerReconcileBaselinePath(projectRoot), "utf8"));
97
+ const baseline = parsed.baseline;
98
+ return typeof baseline === "string" && /^[0-9a-f]{40}$/i.test(baseline) ? baseline : null;
99
+ } catch {
100
+ return null;
101
+ }
102
+ }
103
+ async function writeTrailerReconcileBaseline(projectRoot, baseline) {
104
+ await atomicWriteJson(
105
+ trailerReconcileBaselinePath(projectRoot),
106
+ { baseline, recordedAt: (/* @__PURE__ */ new Date()).toISOString() },
107
+ { pretty: true, ensureDir: true }
108
+ );
109
+ }
110
+ async function listLandedTrailerCandidates(runner, projectRoot, defaultBranch, baseline) {
111
+ const log = await runner(
112
+ "git",
113
+ [
114
+ "log",
115
+ `${baseline}..origin/${defaultBranch}`,
116
+ "--grep=Build-Backlog-Item:",
117
+ "--grep=This reverts commit",
118
+ "--format=%H%x1f%B%x1e"
119
+ ],
120
+ { cwd: projectRoot }
121
+ );
122
+ const backlogDir = getBucketPathByKind("backlog", projectRoot);
123
+ const commits = String(log.stdout).split("").map((entry) => entry.trim().split("")).filter(([oid]) => oid).map(([oid, body = ""]) => ({ oid, messageBody: body }));
124
+ const { entries, revertTargets } = analyzeTrailers(commits);
125
+ const seen = /* @__PURE__ */ new Map();
126
+ for (const { commit, ids, reverted } of entries) {
127
+ for (const itemId of ids) {
128
+ const prior = seen.get(itemId);
129
+ if (!prior || prior.reverted && !reverted) {
130
+ seen.set(itemId, { commit: commit.oid, reverted });
131
+ }
132
+ }
133
+ }
134
+ const candidates = [];
135
+ for (const [itemId, found] of seen) {
136
+ if (!TaskIdSchema.safeParse(itemId).success) continue;
137
+ const active = await access(path.join(backlogDir, `${itemId}.md`)).then(
138
+ () => true,
139
+ () => false
140
+ );
141
+ if (!active) continue;
142
+ if (await loadBacklogExecutionProvenance(projectRoot, itemId, { cleanupTerminalLocks: false })) {
143
+ continue;
144
+ }
145
+ candidates.push({ itemId, ...found });
146
+ }
147
+ candidates.sort((a, b) => a.itemId.localeCompare(b.itemId));
148
+ return { candidates, revertTargets };
149
+ }
150
+
151
+ // src/planning/backlog-finalize-evidence.ts
152
+ async function fetchGitHubPrView(runner, projectRoot, prNumber) {
153
+ const repository = await resolveOptionalGitHubRepositoryFromRemote(projectRoot, "origin");
154
+ if (!repository) throw new Error("The receipt repository could not be established from origin.");
155
+ const prView = await runner(
156
+ "gh",
157
+ [
158
+ "pr",
159
+ "view",
160
+ String(prNumber),
161
+ "--repo",
162
+ `github.com/${repository}`,
163
+ "--json",
164
+ "state,mergedAt,mergeCommit,commits"
165
+ ],
166
+ { cwd: projectRoot, env: envWithoutAmbientGitRepository(process.env), extendEnv: false }
167
+ );
168
+ return JSON.parse(prView.stdout);
169
+ }
170
+ async function fetchMergedPrNumberForCommit(runner, projectRoot, commit, baseBranch) {
171
+ const repository = await resolveOptionalGitHubRepositoryFromRemote(projectRoot, "origin");
172
+ if (!repository) throw new Error("The receipt repository could not be established from origin.");
173
+ const pulls = await runner("gh", ["api", `repos/${repository}/commits/${commit}/pulls`], {
174
+ cwd: projectRoot,
175
+ env: envWithoutAmbientGitRepository(process.env),
176
+ extendEnv: false
177
+ });
178
+ const parsed = JSON.parse(String(pulls.stdout));
179
+ return parsed.find((pr) => pr.merged_at && pr.base?.ref === baseBranch)?.number ?? null;
180
+ }
181
+ async function collectAutoFinalizeMergeEvidence(runner, projectRoot, prNumber, mergeCommit, defaultBranch, backlogItemId, recordedLinkedPrs = []) {
182
+ const remoteDefault = `origin/${defaultBranch}`;
183
+ let validCommit = false;
184
+ let mergeCommitOnRemoteDefault = false;
185
+ let prMerged = false;
186
+ let mergeCommitMatchesPr = false;
187
+ let backlogItemMatchesPr = backlogItemId === void 0;
188
+ let resolvedMergeCommit = mergeCommit;
189
+ try {
190
+ const resolved = await runner("git", ["rev-parse", "--verify", `${mergeCommit}^{commit}`], {
191
+ cwd: projectRoot
192
+ });
193
+ resolvedMergeCommit = resolved.stdout.trim();
194
+ validCommit = true;
195
+ } catch {
196
+ return {
197
+ validCommit,
198
+ mergeCommitOnRemoteDefault,
199
+ prMerged,
200
+ mergeCommitMatchesPr,
201
+ backlogItemMatchesPr
202
+ };
203
+ }
204
+ try {
205
+ await runner("git", ["merge-base", "--is-ancestor", resolvedMergeCommit, remoteDefault], {
206
+ cwd: projectRoot
207
+ });
208
+ mergeCommitOnRemoteDefault = true;
209
+ } catch {
210
+ }
211
+ try {
212
+ const parsed = await fetchGitHubPrView(runner, projectRoot, prNumber);
213
+ prMerged = parsed.state === "MERGED" || Boolean(parsed.mergedAt);
214
+ const prMergeCommit = parsed.mergeCommit?.oid;
215
+ if (prMergeCommit) {
216
+ mergeCommitMatchesPr = prMergeCommit.toLowerCase() === resolvedMergeCommit.toLowerCase();
217
+ } else {
218
+ mergeCommitMatchesPr = prMerged;
219
+ }
220
+ if (backlogItemId !== void 0) {
221
+ const recordedLinkMatchesPr = recordedLinkedPrs.some(
222
+ (linked) => linked !== null && linked !== void 0 && Number(linked) === prNumber
223
+ );
224
+ backlogItemMatchesPr = recordedLinkMatchesPr || collectTrailerItemIds(parsed.commits ?? []).declared.includes(backlogItemId);
225
+ }
226
+ } catch {
227
+ }
228
+ return {
229
+ validCommit,
230
+ mergeCommitOnRemoteDefault,
231
+ prMerged,
232
+ mergeCommitMatchesPr,
233
+ backlogItemMatchesPr
234
+ };
235
+ }
236
+
237
+ export {
238
+ isRevertedCommit,
239
+ collectTrailerItemIds,
240
+ triageTrailerItems,
241
+ readTrailerReconcileBaseline,
242
+ writeTrailerReconcileBaseline,
243
+ listLandedTrailerCandidates,
244
+ fetchGitHubPrView,
245
+ fetchMergedPrNumberForCommit,
246
+ collectAutoFinalizeMergeEvidence
247
+ };
248
+ //# sourceMappingURL=chunk-AJJNW7XT.js.map
@@ -0,0 +1,160 @@
1
+ import {
2
+ execGit
3
+ } from "./chunk-MHLEZQQI.js";
4
+ import {
5
+ projectBuildDirAliasesUserHome,
6
+ projectConfigAliasesUserConfig
7
+ } from "./chunk-35J4NE6S.js";
8
+ import {
9
+ getProjectDataDir,
10
+ getStableRepoIdentity
11
+ } from "./chunk-56WPYDJH.js";
12
+ import {
13
+ BUILD_TEST_ISOLATED_HOME,
14
+ emitWarning,
15
+ readEnv
16
+ } from "./chunk-7VRJHTGZ.js";
17
+
18
+ // src/core/config/project-runtime-paths.ts
19
+ import fs from "fs";
20
+ import path from "path";
21
+ function repoRootFromBuildDir(buildDir) {
22
+ const resolved = path.resolve(buildDir);
23
+ return path.basename(resolved) === ".build-project" ? path.dirname(resolved) : resolved;
24
+ }
25
+ function resolveCheckoutRoot(buildDir) {
26
+ const root = repoRootFromBuildDir(buildDir);
27
+ try {
28
+ return fs.realpathSync(root);
29
+ } catch {
30
+ return root;
31
+ }
32
+ }
33
+ function getRepoDataMigrationMarkerPath(buildDir) {
34
+ return path.join(
35
+ repoRootFromBuildDir(buildDir),
36
+ ".build-project",
37
+ "state",
38
+ "data-migration.json"
39
+ );
40
+ }
41
+ function getSharedDataMigrationMarkerPath(buildDir) {
42
+ const repoRoot = repoRootFromBuildDir(buildDir);
43
+ return path.join(getProjectDataDir(repoRoot), "state", "data-migration.json");
44
+ }
45
+ function readMarker(markerPath) {
46
+ try {
47
+ const parsed = JSON.parse(
48
+ fs.readFileSync(markerPath, "utf8")
49
+ );
50
+ if (parsed.version === 1 && typeof parsed.migratedAt === "string" && typeof parsed.repoRoot === "string" && typeof parsed.projectId === "string" && typeof parsed.globalTelemetryDir === "string" && typeof parsed.projectDataDir === "string") {
51
+ return parsed;
52
+ }
53
+ } catch {
54
+ }
55
+ return null;
56
+ }
57
+ function isSameDirectory(left, right) {
58
+ const resolvedLeft = path.resolve(left);
59
+ const resolvedRight = path.resolve(right);
60
+ if (resolvedLeft === resolvedRight) return true;
61
+ try {
62
+ return fs.realpathSync(resolvedLeft) === fs.realpathSync(resolvedRight);
63
+ } catch {
64
+ return false;
65
+ }
66
+ }
67
+ function readProjectDataMigrationMarker(buildDir) {
68
+ const repoRoot = repoRootFromBuildDir(buildDir);
69
+ const expectedProjectId = getStableRepoIdentity(repoRoot);
70
+ const expectedProjectDataDir = path.resolve(getProjectDataDir(repoRoot));
71
+ const shared = readMarker(getSharedDataMigrationMarkerPath(buildDir));
72
+ if (shared?.projectId === expectedProjectId && isSameDirectory(shared.projectDataDir, expectedProjectDataDir)) {
73
+ return shared;
74
+ }
75
+ const local = readMarker(getRepoDataMigrationMarkerPath(buildDir));
76
+ if (local?.projectId === expectedProjectId && isSameDirectory(local.projectDataDir, expectedProjectDataDir)) {
77
+ return local;
78
+ }
79
+ return null;
80
+ }
81
+ async function assertDataMigrationAtWorkTreeTopLevel(buildDir) {
82
+ const repoRoot = repoRootFromBuildDir(buildDir);
83
+ if (projectConfigAliasesUserConfig(repoRoot) || projectBuildDirAliasesUserHome(repoRoot)) {
84
+ throw new Error(
85
+ "Refusing project data migration in your user Build home. Choose a separate project directory."
86
+ );
87
+ }
88
+ if (!fs.existsSync(repoRoot)) return;
89
+ const result = await execGit(["rev-parse", "--path-format=absolute", "--show-toplevel"], {
90
+ cwd: repoRoot
91
+ });
92
+ const topLevel = result.exitCode === 0 ? result.stdout.trim() : "";
93
+ if (topLevel && !isSameDirectory(topLevel, repoRoot)) {
94
+ throw new Error(
95
+ `Refusing data migration for ${repoRoot}: it is not the git work-tree top level (${topLevel}). Run from ${topLevel}.`
96
+ );
97
+ }
98
+ }
99
+ function readStaleDataMigrationMarker(buildDir) {
100
+ if (readProjectDataMigrationMarker(buildDir)) return null;
101
+ return readMarker(getSharedDataMigrationMarkerPath(buildDir)) ?? readMarker(getRepoDataMigrationMarkerPath(buildDir));
102
+ }
103
+ var warnedStaleMarkers = /* @__PURE__ */ new Set();
104
+ function warnStaleMarkerOnce(buildDir) {
105
+ const repoRoot = repoRootFromBuildDir(buildDir);
106
+ if (warnedStaleMarkers.has(repoRoot)) return;
107
+ const stale = readMarker(getSharedDataMigrationMarkerPath(buildDir)) ?? readMarker(getRepoDataMigrationMarkerPath(buildDir));
108
+ if (!stale) return;
109
+ const underTestHarness = Boolean(readEnv(BUILD_TEST_ISOLATED_HOME).value);
110
+ warnedStaleMarkers.add(repoRoot);
111
+ emitWarning(
112
+ "CFG-001",
113
+ { taskId: "project-runtime-paths", subsystem: "config", executionPhase: "setup" },
114
+ {
115
+ severity: "WARN" /* WARN */,
116
+ message: `Data migration marker records ${stale.projectDataDir}, but this environment expects ${getProjectDataDir(repoRoot)}; using ${path.join(repoRoot, ".build-project")} for runtime state.`,
117
+ metadata: { operation: "resolveProjectRuntimeDir", recordedDir: stale.projectDataDir },
118
+ skipConsole: underTestHarness
119
+ }
120
+ );
121
+ }
122
+ function resolveProjectRuntimeDir(buildDir, category) {
123
+ const marker = readProjectDataMigrationMarker(buildDir);
124
+ if (marker) return path.join(marker.projectDataDir, category);
125
+ warnStaleMarkerOnce(buildDir);
126
+ return path.join(repoRootFromBuildDir(buildDir), ".build-project", category);
127
+ }
128
+ function resolveLabsRoot(buildDir) {
129
+ return path.basename(path.resolve(buildDir)) === ".build-project" ? resolveProjectRuntimeDir(buildDir, "labs") : path.join(buildDir, "labs");
130
+ }
131
+ function resolveRunStateDir(buildDir) {
132
+ return path.basename(path.resolve(buildDir)) === ".build-project" ? path.join(getProjectDataDir(repoRootFromBuildDir(buildDir)), "telemetry", "state") : path.join(buildDir, "telemetry", "state");
133
+ }
134
+ function resolveRunStateReadDirs(buildDir) {
135
+ const current = resolveRunStateDir(buildDir);
136
+ const legacy = path.join(buildDir, "telemetry", "state");
137
+ return legacy !== current && fs.existsSync(legacy) ? [current, legacy] : [current];
138
+ }
139
+ function readDirsForStateRoot(buildDir, stateRoot) {
140
+ return stateRoot === resolveRunStateDir(buildDir) ? resolveRunStateReadDirs(buildDir) : [stateRoot];
141
+ }
142
+ function firstDirWithFile(dirs, fileName) {
143
+ return dirs.find((dir) => fs.existsSync(path.join(dir, fileName))) ?? dirs[0] ?? "";
144
+ }
145
+
146
+ export {
147
+ resolveCheckoutRoot,
148
+ getRepoDataMigrationMarkerPath,
149
+ getSharedDataMigrationMarkerPath,
150
+ readProjectDataMigrationMarker,
151
+ assertDataMigrationAtWorkTreeTopLevel,
152
+ readStaleDataMigrationMarker,
153
+ resolveProjectRuntimeDir,
154
+ resolveLabsRoot,
155
+ resolveRunStateDir,
156
+ resolveRunStateReadDirs,
157
+ readDirsForStateRoot,
158
+ firstDirWithFile
159
+ };
160
+ //# sourceMappingURL=chunk-AJN5Y5YZ.js.map