@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,756 @@
1
+ import {
2
+ LEGACY_REPO_LOCAL_TELEMETRY_DATABASE,
3
+ readCanonicalBuildConfig,
4
+ selectedBuildConfigCandidate
5
+ } from "./chunk-FKCG7K6H.js";
6
+ import {
7
+ resolveLabsRoot,
8
+ resolveProjectRuntimeDir,
9
+ resolveRunStateDir
10
+ } from "./chunk-AJN5Y5YZ.js";
11
+ import {
12
+ applySqlitePragmas
13
+ } from "./chunk-HEP3ILP4.js";
14
+ import {
15
+ getConfigPaths
16
+ } from "./chunk-35J4NE6S.js";
17
+ import {
18
+ getDataDir,
19
+ getGlobalTelemetryDir,
20
+ getProjectDataDir,
21
+ getStableRepoIdentity
22
+ } from "./chunk-56WPYDJH.js";
23
+ import {
24
+ resolveBuildRoot
25
+ } from "./chunk-CHA2HDE5.js";
26
+ import {
27
+ BUILD_LAB_BASELINE,
28
+ BUILD_LAB_ID,
29
+ BUILD_LAB_MODE,
30
+ BUILD_LAB_RUN_ID,
31
+ BUILD_TELEMETRY_DB,
32
+ BUILD_WORKTREE_BASE,
33
+ emitCustomWarning,
34
+ getExecutionContext,
35
+ hasExecutionContext,
36
+ readEnv,
37
+ readRawEnv
38
+ } from "./chunk-7VRJHTGZ.js";
39
+
40
+ // src/telemetry/telemetry-path-resolver.ts
41
+ import { execSync } from "child_process";
42
+ import path3 from "path";
43
+
44
+ // src/orchestrator/lab-mode.ts
45
+ import { AsyncLocalStorage } from "async_hooks";
46
+ import { createHash } from "crypto";
47
+ import * as fs from "fs";
48
+ import * as path from "path";
49
+
50
+ // src/core/lab-mode-env.ts
51
+ function isLabModeFromEnv() {
52
+ const val = readRawEnv(BUILD_LAB_MODE)?.trim().toLowerCase();
53
+ return val === "1" || val === "true";
54
+ }
55
+
56
+ // src/orchestrator/lab-mode.ts
57
+ var labContextStorage = new AsyncLocalStorage();
58
+ var LabPathResolver = class _LabPathResolver {
59
+ static instance = null;
60
+ /** Process-wide fallback for single-run CLI / tests outside ALS. */
61
+ legacySlot = { context: null, source: null };
62
+ incompleteEnvWarningEmitted = false;
63
+ constructor() {
64
+ }
65
+ resolveSlot() {
66
+ return labContextStorage.getStore() ?? this.legacySlot;
67
+ }
68
+ isEnvLabModeEnabled() {
69
+ return isLabModeFromEnv();
70
+ }
71
+ hydrateContextFromEnv() {
72
+ const slot = this.resolveSlot();
73
+ if (slot.source === "cleared") {
74
+ return;
75
+ }
76
+ if (!this.isEnvLabModeEnabled()) {
77
+ if (slot.source === "env") {
78
+ slot.context = null;
79
+ slot.source = null;
80
+ }
81
+ return;
82
+ }
83
+ if (slot.source === "explicit") {
84
+ return;
85
+ }
86
+ const labId = readEnv(BUILD_LAB_ID).value;
87
+ const runId = readEnv(BUILD_LAB_RUN_ID).value;
88
+ if (!labId || !runId) {
89
+ if (!this.incompleteEnvWarningEmitted) {
90
+ this.incompleteEnvWarningEmitted = true;
91
+ console.warn(
92
+ "[LabPathResolver] BUILD_LAB_MODE is enabled but lab context is incomplete. Ignoring lab mode until both BUILD_LAB_ID and BUILD_LAB_RUN_ID are set."
93
+ );
94
+ }
95
+ return;
96
+ }
97
+ slot.context = {
98
+ labId,
99
+ runId,
100
+ baseline: readEnv(BUILD_LAB_BASELINE).value ?? "HEAD",
101
+ task: "env"
102
+ };
103
+ slot.source = "env";
104
+ this.incompleteEnvWarningEmitted = false;
105
+ }
106
+ /**
107
+ * Gets the singleton instance of the resolver.
108
+ */
109
+ static getInstance() {
110
+ if (!_LabPathResolver.instance) {
111
+ _LabPathResolver.instance = new _LabPathResolver();
112
+ }
113
+ return _LabPathResolver.instance;
114
+ }
115
+ /**
116
+ * True when the current async tree has an ALS lab slot (not merely legacy fallback).
117
+ */
118
+ hasScopedContext() {
119
+ return labContextStorage.getStore() !== void 0;
120
+ }
121
+ /**
122
+ * Run asynchronous work with an isolated lab slot pre-loaded with context.
123
+ */
124
+ runWithContextAsync(context, fn) {
125
+ return labContextStorage.run({ context: { ...context }, source: "explicit" }, fn);
126
+ }
127
+ /**
128
+ * Enter an empty isolated slot for asynchronous setup and execution.
129
+ */
130
+ runIsolatedAsync(fn) {
131
+ return labContextStorage.run({ context: null, source: null }, fn);
132
+ }
133
+ /**
134
+ * Bind delayed lifecycle work (signals, beforeExit, deferred cleanup) to the
135
+ * current slot. EventEmitter callbacks otherwise inherit the emitter's async
136
+ * context, which can be the production/legacy slot rather than the lab run
137
+ * that registered the cleanup.
138
+ */
139
+ bindCurrentContext(fn) {
140
+ const current = this.resolveSlot();
141
+ const captured = {
142
+ context: current.context ? { ...current.context } : null,
143
+ source: current.source
144
+ };
145
+ return (...args) => labContextStorage.run(
146
+ {
147
+ context: captured.context ? { ...captured.context } : null,
148
+ source: captured.source
149
+ },
150
+ () => fn(...args)
151
+ );
152
+ }
153
+ /**
154
+ * Sets the lab context for the current execution (scoped slot if active, else legacy).
155
+ * Must be called explicitly before path resolution when lab mode is active.
156
+ */
157
+ setContext(context) {
158
+ const slot = this.resolveSlot();
159
+ slot.context = context;
160
+ slot.source = "explicit";
161
+ this.incompleteEnvWarningEmitted = false;
162
+ }
163
+ /**
164
+ * Clears the lab context for the active slot only, returning that slot to
165
+ * standard path behavior. Concurrent ALS trees are unaffected.
166
+ * Must be called after lab execution to prevent state leakage.
167
+ */
168
+ clearContext() {
169
+ const slot = this.resolveSlot();
170
+ slot.context = null;
171
+ slot.source = "cleared";
172
+ }
173
+ /**
174
+ * Returns true if lab mode is currently active for the active slot.
175
+ */
176
+ isLabMode() {
177
+ this.hydrateContextFromEnv();
178
+ return this.resolveSlot().context !== null;
179
+ }
180
+ /**
181
+ * Returns the current lab context for the active slot, or null if not active.
182
+ */
183
+ getContext() {
184
+ this.hydrateContextFromEnv();
185
+ return this.resolveSlot().context;
186
+ }
187
+ /**
188
+ * Helper method to construct lab-specific or standard paths.
189
+ * Reduces duplication and prevents copy-paste errors in path resolution.
190
+ *
191
+ * The standard (non-lab) branch resolves `telemetry` through the same layout
192
+ * `TelemetryPathResolver.resolveDbDir()` uses, so `BUILD_TELEMETRY_DB` and a
193
+ * non-default `telemetry.database` relocate logs, synthesis, and readiness
194
+ * beside the database. Derivation is the resolver's own `telemetryDir`
195
+ * (see `telemetryDirFromDbDir`), never a second copy of the rule. Callers whose standard branch is
196
+ * not under this tree (`getStateDir` resolves through `resolveRunStateDir`;
197
+ * `getArtifactDir`, `getWorktreeBaseDir` are repo-local or external) return
198
+ * before reaching here and are unaffected.
199
+ */
200
+ getBasePath(buildDir, subpath) {
201
+ if (!this.isLabMode()) {
202
+ if (subpath === "telemetry") {
203
+ return TelemetryPathResolver.getInstance().resolveDbLayout(buildDir).telemetryDir;
204
+ }
205
+ return path.join(buildDir, subpath);
206
+ }
207
+ const context = this.resolveSlot().context;
208
+ if (!context) {
209
+ return path.join(buildDir, subpath);
210
+ }
211
+ return path.join(resolveLabsRoot(buildDir), context.labId, "runs", context.runId, subpath);
212
+ }
213
+ /**
214
+ * Resolves the telemetry directory path.
215
+ * Lab mode: `.build-project/labs/{labId}/runs/{runId}/telemetry/`
216
+ * Standard: the directory `TelemetryPathResolver` owns (data root, or an
217
+ * explicit `BUILD_TELEMETRY_DB` / `telemetry.database` override).
218
+ */
219
+ getTelemetryDir(buildDir) {
220
+ return this.getBasePath(buildDir, "telemetry");
221
+ }
222
+ /**
223
+ * Resolves the state directory path.
224
+ * Lab mode: `.build-project/labs/{labId}/runs/{runId}/state/`
225
+ * Standard: `telemetry/state/` under the project data dir (see `resolveRunStateDir`)
226
+ */
227
+ getStateDir(buildDir) {
228
+ if (!this.isLabMode()) {
229
+ return resolveRunStateDir(buildDir);
230
+ }
231
+ return this.getBasePath(buildDir, "state");
232
+ }
233
+ /**
234
+ * Resolves the per-variant state directory (`<state dir>/variants`) where variant
235
+ * state files are written and read back, lab-aware like the state dir.
236
+ */
237
+ getVariantStateDir(buildDir) {
238
+ return path.join(this.getStateDir(buildDir), "variants");
239
+ }
240
+ /**
241
+ * Resolves the worktree base directory path.
242
+ * Lab mode: `.build-project/labs/{labId}/runs/{runId}/worktrees/`
243
+ * Standard: BUILD_WORKTREE_BASE env or `/tmp/build-worktrees`
244
+ */
245
+ getWorktreeBaseDir(buildDir) {
246
+ if (!this.isLabMode()) {
247
+ return readEnv(BUILD_WORKTREE_BASE).value ?? "/tmp/build-worktrees";
248
+ }
249
+ return this.getBasePath(buildDir, "worktrees");
250
+ }
251
+ /**
252
+ * Resolves the artifact storage directory path.
253
+ * Lab mode: `.build-project/labs/{labId}/runs/{runId}/artifacts/`
254
+ * Standard: `{buildDir}/artifacts/`
255
+ */
256
+ getArtifactDir(buildDir) {
257
+ if (!this.isLabMode()) {
258
+ return path.join(buildDir, "artifacts");
259
+ }
260
+ return this.getBasePath(buildDir, "artifacts");
261
+ }
262
+ /**
263
+ * Resolves the JSONL logs directory path.
264
+ * Lab mode: `.build-project/labs/{labId}/runs/{runId}/logs/`
265
+ * Standard: `logs/` under the resolved telemetry directory (data root or override).
266
+ *
267
+ * Anchored on the telemetry directory rather than a repo-local join so it agrees
268
+ * with where `TelemetryCore` actually writes JSONL (it derives its logs directory
269
+ * from the same `resolveDbLayout` helper) and with the `telemetry/logs` migration
270
+ * target. A repo-local join here left readers pointed at an empty directory.
271
+ */
272
+ getLogsDir(buildDir) {
273
+ if (!this.isLabMode()) {
274
+ return path.join(this.getBasePath(buildDir, "telemetry"), "logs");
275
+ }
276
+ return this.getBasePath(buildDir, "logs");
277
+ }
278
+ };
279
+ function runWithLabContextAsync(context, fn) {
280
+ return LabPathResolver.getInstance().runWithContextAsync(context, fn);
281
+ }
282
+ function generateLabId(task, baseline) {
283
+ const normalizedTask = task.trim().toLowerCase();
284
+ const normalizedBaseline = baseline.trim();
285
+ const input = `${normalizedTask}:${normalizedBaseline}`;
286
+ const hash = createHash("sha256").update(input).digest("hex");
287
+ return `lab-${hash.substring(0, 8)}`;
288
+ }
289
+ function generateRunId() {
290
+ const now = /* @__PURE__ */ new Date();
291
+ const year = now.getFullYear();
292
+ const month = String(now.getMonth() + 1).padStart(2, "0");
293
+ const day = String(now.getDate()).padStart(2, "0");
294
+ const hours = String(now.getHours()).padStart(2, "0");
295
+ const minutes = String(now.getMinutes()).padStart(2, "0");
296
+ const seconds = String(now.getSeconds()).padStart(2, "0");
297
+ const suffix = String(Math.floor(Math.random() * 1e3)).padStart(3, "0");
298
+ return `${year}${month}${day}-${hours}${minutes}${seconds}-${suffix}`;
299
+ }
300
+ function createLabContext(task, baseline = "HEAD") {
301
+ const labId = generateLabId(task, baseline);
302
+ const runId = generateRunId();
303
+ return {
304
+ labId,
305
+ runId,
306
+ baseline,
307
+ task
308
+ };
309
+ }
310
+ function resolveDefaultBuildDir() {
311
+ return hasExecutionContext() ? getExecutionContext().buildDir : path.join(resolveBuildRoot(process.cwd()), ".build-project");
312
+ }
313
+ function validateLabConfig() {
314
+ const errors = [];
315
+ const labId = readEnv(BUILD_LAB_ID).value;
316
+ if (labId !== void 0) {
317
+ if (!/^[a-zA-Z0-9-_]+$/.test(labId)) {
318
+ errors.push(
319
+ "BUILD_LAB_ID must contain only alphanumeric characters, hyphens, and underscores"
320
+ );
321
+ }
322
+ }
323
+ const runId = readEnv(BUILD_LAB_RUN_ID).value;
324
+ if (runId !== void 0) {
325
+ if (!/^\d{8}-\d{6}-\d{3}$/.test(runId)) {
326
+ errors.push(
327
+ "BUILD_LAB_RUN_ID must match format YYYYMMDD-HHMMSS-NNN (e.g., 20251220-195415-748)"
328
+ );
329
+ }
330
+ }
331
+ const labBaselineResult = readEnv(BUILD_LAB_BASELINE);
332
+ const baseline = labBaselineResult.source === "env" ? labBaselineResult.value : void 0;
333
+ if (baseline !== void 0) {
334
+ if (baseline.trim().length === 0) {
335
+ errors.push("BUILD_LAB_BASELINE must not be empty");
336
+ }
337
+ }
338
+ return {
339
+ valid: errors.length === 0,
340
+ errors
341
+ };
342
+ }
343
+ function verifyLabMode() {
344
+ const resolver = LabPathResolver.getInstance();
345
+ const context = resolver.getContext();
346
+ if (!context) {
347
+ return { active: false, context: null, paths: null };
348
+ }
349
+ const buildDir = resolveDefaultBuildDir();
350
+ return {
351
+ active: true,
352
+ context,
353
+ paths: {
354
+ telemetry: resolver.getTelemetryDir(buildDir),
355
+ state: resolver.getStateDir(buildDir),
356
+ worktrees: resolver.getWorktreeBaseDir(buildDir),
357
+ logs: resolver.getLogsDir(buildDir)
358
+ }
359
+ };
360
+ }
361
+ function initializeLabModeFromEnv(task) {
362
+ const isLabModeEnabled = isLabModeFromEnv();
363
+ if (!isLabModeEnabled) {
364
+ return false;
365
+ }
366
+ const baseline = readEnv(BUILD_LAB_BASELINE).value ?? "HEAD";
367
+ const customLabId = readEnv(BUILD_LAB_ID).value;
368
+ const customRunId = readEnv(BUILD_LAB_RUN_ID).value;
369
+ const resolver = LabPathResolver.getInstance();
370
+ if (customLabId && customRunId) {
371
+ resolver.setContext({
372
+ labId: customLabId,
373
+ runId: customRunId,
374
+ baseline,
375
+ task
376
+ });
377
+ } else if (customLabId) {
378
+ resolver.setContext({
379
+ labId: customLabId,
380
+ runId: generateRunId(),
381
+ baseline,
382
+ task
383
+ });
384
+ } else {
385
+ const context = createLabContext(task, baseline);
386
+ resolver.setContext(context);
387
+ }
388
+ return true;
389
+ }
390
+ function getMostRecentLabRun() {
391
+ const buildDir = resolveDefaultBuildDir();
392
+ const labsDir = resolveProjectRuntimeDir(buildDir, "labs");
393
+ if (!fs.existsSync(labsDir)) {
394
+ return null;
395
+ }
396
+ let mostRecentRun = null;
397
+ let mostRecentTimestamp = 0;
398
+ try {
399
+ const labIds = fs.readdirSync(labsDir);
400
+ for (const labId of labIds) {
401
+ const runsDir = path.join(labsDir, labId, "runs");
402
+ if (!fs.existsSync(runsDir)) {
403
+ continue;
404
+ }
405
+ const runIds = fs.readdirSync(runsDir);
406
+ for (const runId of runIds) {
407
+ const match = /^(\d{8})-(\d{6})-(\d{3})$/.exec(runId);
408
+ if (!match) {
409
+ continue;
410
+ }
411
+ const dateStr = match[1] ?? "";
412
+ const timeStr = match[2] ?? "";
413
+ const year = Number.parseInt(dateStr.substring(0, 4), 10);
414
+ const month = Number.parseInt(dateStr.substring(4, 6), 10) - 1;
415
+ const day = Number.parseInt(dateStr.substring(6, 8), 10);
416
+ const hours = Number.parseInt(timeStr.substring(0, 2), 10);
417
+ const minutes = Number.parseInt(timeStr.substring(2, 4), 10);
418
+ const seconds = Number.parseInt(timeStr.substring(4, 6), 10);
419
+ const timestamp = new Date(year, month, day, hours, minutes, seconds).getTime();
420
+ if (timestamp > mostRecentTimestamp) {
421
+ mostRecentTimestamp = timestamp;
422
+ mostRecentRun = {
423
+ labId,
424
+ runId,
425
+ baseline: "HEAD",
426
+ // We don't store this, default to HEAD
427
+ task: "unknown"
428
+ // We don't store this
429
+ };
430
+ }
431
+ }
432
+ }
433
+ } catch (_error) {
434
+ return null;
435
+ }
436
+ return mostRecentRun;
437
+ }
438
+ function getLabWarningStateFile() {
439
+ return path.join(resolveDefaultBuildDir(), ".last-lab-warning");
440
+ }
441
+ function checkAndWarnLabContext() {
442
+ const resolver = LabPathResolver.getInstance();
443
+ if (resolver.isLabMode()) {
444
+ return;
445
+ }
446
+ const warningStateFile = getLabWarningStateFile();
447
+ if (fs.existsSync(warningStateFile)) {
448
+ return;
449
+ }
450
+ const recentLabRun = getMostRecentLabRun();
451
+ if (!recentLabRun) {
452
+ return;
453
+ }
454
+ const buildDir = resolveDefaultBuildDir();
455
+ const labPath = path.join(buildDir, "labs", recentLabRun.labId, "runs", recentLabRun.runId);
456
+ console.log(
457
+ `Note: Most recent run was lab (${recentLabRun.labId}). Use --lab to continue in lab mode, or view results at: ${labPath}`
458
+ );
459
+ try {
460
+ fs.writeFileSync(warningStateFile, (/* @__PURE__ */ new Date()).toISOString());
461
+ } catch {
462
+ }
463
+ }
464
+
465
+ // src/utils/project-registry.ts
466
+ import fs2 from "fs";
467
+ import path2 from "path";
468
+ import Database from "better-sqlite3";
469
+ function getRegistryDbPath(dataDir = getDataDir()) {
470
+ return path2.join(dataDir, "registry.db");
471
+ }
472
+ function openRegistryDb(dataDir = getDataDir()) {
473
+ fs2.mkdirSync(dataDir, { recursive: true, mode: 448 });
474
+ const db = new Database(getRegistryDbPath(dataDir));
475
+ applySqlitePragmas(db);
476
+ db.exec(`
477
+ CREATE TABLE IF NOT EXISTS projects (
478
+ project_id TEXT PRIMARY KEY,
479
+ name TEXT NOT NULL,
480
+ git_common_dir TEXT NOT NULL,
481
+ first_seen TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
482
+ last_seen TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
483
+ );
484
+ `);
485
+ return db;
486
+ }
487
+ function upsertProjectRegistryEntry(entry, dataDir = getDataDir()) {
488
+ const db = openRegistryDb(dataDir);
489
+ try {
490
+ db.prepare(
491
+ `
492
+ INSERT INTO projects (project_id, name, git_common_dir)
493
+ VALUES (?, ?, ?)
494
+ ON CONFLICT(project_id) DO UPDATE SET
495
+ last_seen = CURRENT_TIMESTAMP,
496
+ name = excluded.name,
497
+ git_common_dir = excluded.git_common_dir
498
+ `
499
+ ).run(entry.projectId, entry.name, entry.gitCommonDir);
500
+ } finally {
501
+ db.close();
502
+ }
503
+ }
504
+
505
+ // src/telemetry/telemetry-path-resolver.ts
506
+ function resolveRepoRootFromBuildDir(buildDir) {
507
+ const normalized = path3.resolve(buildDir);
508
+ return path3.basename(normalized) === ".build-project" ? path3.dirname(normalized) : normalized;
509
+ }
510
+ var warnedConfiguredTelemetryDbPaths = /* @__PURE__ */ new Set();
511
+ function resetConfiguredTelemetryDbWarningCache() {
512
+ warnedConfiguredTelemetryDbPaths.clear();
513
+ }
514
+ function dbLocationToDir(location) {
515
+ return location.endsWith(".db") ? path3.dirname(location) : location;
516
+ }
517
+ function telemetryDirFromDbDir(dbDir) {
518
+ return path3.basename(dbDir) === "db" ? path3.dirname(dbDir) : dbDir;
519
+ }
520
+ function isLegacyRepoLocalTelemetryLocation(resolved, legacyDefaultFile) {
521
+ const legacyDbDir = path3.dirname(legacyDefaultFile);
522
+ const resolvedDir = dbLocationToDir(resolved);
523
+ return resolved === legacyDefaultFile || resolvedDir === legacyDbDir;
524
+ }
525
+ var TelemetryPathResolver = class _TelemetryPathResolver {
526
+ static instance = null;
527
+ projectIdByRepoRoot = /* @__PURE__ */ new Map();
528
+ registryUpsertAttempted = /* @__PURE__ */ new Set();
529
+ static getInstance() {
530
+ if (!_TelemetryPathResolver.instance) {
531
+ _TelemetryPathResolver.instance = new _TelemetryPathResolver();
532
+ }
533
+ return _TelemetryPathResolver.instance;
534
+ }
535
+ /**
536
+ * The one directory telemetry databases are written to.
537
+ *
538
+ * Resolution order, highest first:
539
+ *
540
+ * 1. `BUILD_TELEMETRY_DB` — the explicit escape hatch used by tests and CI.
541
+ * 2. Lab context — an explicitly requested, deliberately throwaway run tree
542
+ * under `.build-project/labs/{lab}/runs/{run}/telemetry`.
543
+ * 3. `telemetry.database` in project or user config, honored only when it is
544
+ * something other than the historical repo-local default, with a one-time
545
+ * deprecation advisory.
546
+ * 4. The Build data root.
547
+ *
548
+ * Nothing here probes the filesystem for a repo-local database. A checkout is
549
+ * disposable, so anchoring telemetry inside one meant deleting the checkout
550
+ * destroyed the only copy of its history; the previous marker/probe chain also
551
+ * gave two clones of one repo two different stores. Repo-local data left by an
552
+ * older version stays on disk and is merged by `build data migrate execute`,
553
+ * which `build doctor` advises about; it is never resolved back into.
554
+ */
555
+ resolveDbDir(buildDir) {
556
+ return this.resolveDbLayout(buildDir).dbDir;
557
+ }
558
+ /**
559
+ * Database directory plus the telemetry directory that owns logs/synthesis.
560
+ *
561
+ * `telemetryDir` is derived with {@link telemetryDirFromDbDir} for every
562
+ * resolution branch, so consumers that go through this layout agree with
563
+ * `TelemetryCore` under overrides and in lab mode.
564
+ */
565
+ resolveDbLayout(buildDir) {
566
+ const absoluteBuildDir = path3.resolve(buildDir);
567
+ const telemetryDbOverride = readEnv(BUILD_TELEMETRY_DB).value;
568
+ if (telemetryDbOverride) {
569
+ const dbDir2 = dbLocationToDir(path3.resolve(telemetryDbOverride));
570
+ return {
571
+ dbDir: dbDir2,
572
+ telemetryDir: telemetryDirFromDbDir(dbDir2)
573
+ };
574
+ }
575
+ const labResolver = LabPathResolver.getInstance();
576
+ if (labResolver.isLabMode()) {
577
+ const telemetryDir2 = labResolver.getTelemetryDir(absoluteBuildDir);
578
+ const dbDir2 = path3.join(telemetryDir2, "db");
579
+ return {
580
+ dbDir: dbDir2,
581
+ telemetryDir: telemetryDirFromDbDir(dbDir2)
582
+ };
583
+ }
584
+ const configuredTelemetryDb = this.resolveConfiguredTelemetryDb(absoluteBuildDir);
585
+ if (configuredTelemetryDb) {
586
+ const dbDir2 = dbLocationToDir(configuredTelemetryDb);
587
+ return {
588
+ dbDir: dbDir2,
589
+ telemetryDir: telemetryDirFromDbDir(dbDir2)
590
+ };
591
+ }
592
+ const telemetryDir = getGlobalTelemetryDir();
593
+ const dbDir = path3.join(telemetryDir, "db");
594
+ return {
595
+ dbDir,
596
+ telemetryDir: telemetryDirFromDbDir(dbDir)
597
+ };
598
+ }
599
+ resolveTelemetryDir(buildDir) {
600
+ return this.resolveDbLayout(buildDir).telemetryDir;
601
+ }
602
+ resolveProjectDataDir(buildDir) {
603
+ const repoRoot = this.resolveRepoRootFromBuildDir(buildDir);
604
+ return getProjectDataDir(repoRoot);
605
+ }
606
+ getProjectId(buildDir, options = {}) {
607
+ const { register = true } = options;
608
+ const repoRoot = this.resolveRepoRootFromBuildDir(buildDir);
609
+ const cacheKey = path3.resolve(repoRoot);
610
+ const cached = this.projectIdByRepoRoot.get(cacheKey);
611
+ const projectId = cached ?? getStableRepoIdentity(repoRoot);
612
+ if (!cached) {
613
+ this.projectIdByRepoRoot.set(cacheKey, projectId);
614
+ }
615
+ if (register && !this.registryUpsertAttempted.has(projectId)) {
616
+ this.registryUpsertAttempted.add(projectId);
617
+ const gitCommonDir = this.resolveGitCommonDir(repoRoot);
618
+ try {
619
+ upsertProjectRegistryEntry({
620
+ projectId,
621
+ name: path3.basename(repoRoot),
622
+ gitCommonDir
623
+ });
624
+ } catch {
625
+ }
626
+ }
627
+ return projectId;
628
+ }
629
+ getDbContext() {
630
+ const labContext = LabPathResolver.getInstance().getContext();
631
+ if (!labContext) {
632
+ return { labId: null, labRunId: null };
633
+ }
634
+ return {
635
+ labId: labContext.labId,
636
+ labRunId: labContext.runId
637
+ };
638
+ }
639
+ resolveRepoRootFromBuildDir(buildDir) {
640
+ return resolveRepoRootFromBuildDir(buildDir);
641
+ }
642
+ /**
643
+ * The `telemetry.database` override, or null when there is nothing to honor.
644
+ *
645
+ * Two values are deliberately treated as "nothing":
646
+ *
647
+ * 1. An absent or blank setting. `build init` no longer writes one at all.
648
+ * 2. A value that resolves to the historical repo-local default
649
+ * (`.build-project/telemetry/db/variants.db`). Every config generated before this
650
+ * change carries that string, so honoring it would keep recreating the
651
+ * database inside the checkout for exactly the installs the single write
652
+ * path exists to fix. Comparison is on the resolved path, so relative and
653
+ * `./`-prefixed spellings are all recognized, as is an absolute spelling that
654
+ * uses the same filesystem alias `repoRoot` itself resolved through. The
655
+ * directory itself (`.build-project/telemetry/db`) and other database files in it
656
+ * (`.build-project/telemetry/db/validations.db`) are the same default, not an
657
+ * override: comparison is on the resolved directory, not the file string.
658
+ *
659
+ * Known limit: an absolute value reaching this same database through a
660
+ * different alias (`/tmp/repo/...` against a `/private/tmp/repo` root) compares
661
+ * unequal and is therefore honored as an override, leaving telemetry in the
662
+ * checkout. That is left alone deliberately. It takes a hand-edited absolute
663
+ * path — the generated default was relative and is no longer written at all —
664
+ * and it announces itself, because the deprecation warning below names the
665
+ * resolved path and the remedy. Closing it needs canonicalization that works
666
+ * on a database file that does not exist yet, since `fs.realpathSync` throws
667
+ * on a missing path; a plain realpath comparison would fail open in exactly
668
+ * this case rather than fix it.
669
+ *
670
+ * Anything else is an operator's explicit relocation and is honored verbatim,
671
+ * including paths outside the repository — that is now the setting's only
672
+ * documented purpose. It is deprecated, so a resolved override is reported once
673
+ * per location per process.
674
+ */
675
+ resolveConfiguredTelemetryDb(buildDir) {
676
+ const repoRoot = this.resolveRepoRootFromBuildDir(buildDir);
677
+ const legacyDefault = path3.resolve(repoRoot, LEGACY_REPO_LOCAL_TELEMETRY_DATABASE);
678
+ const paths = getConfigPaths(repoRoot);
679
+ for (const configuredPath of [paths.projectConfigFile, paths.userConfigFile]) {
680
+ const configPath = selectedBuildConfigCandidate(configuredPath);
681
+ const read = readCanonicalBuildConfig(configPath);
682
+ if (read.status === "invalid") continue;
683
+ if (read.status === "missing") continue;
684
+ const database = read.config.telemetry?.database;
685
+ if (typeof database !== "string" || database.trim() === "") {
686
+ continue;
687
+ }
688
+ const resolved = path3.resolve(repoRoot, database);
689
+ if (isLegacyRepoLocalTelemetryLocation(resolved, legacyDefault)) {
690
+ continue;
691
+ }
692
+ this.warnConfiguredTelemetryDbDeprecated(configPath, resolved);
693
+ return resolved;
694
+ }
695
+ return null;
696
+ }
697
+ warnConfiguredTelemetryDbDeprecated(configPath, resolvedDb) {
698
+ if (warnedConfiguredTelemetryDbPaths.has(resolvedDb)) {
699
+ return;
700
+ }
701
+ warnedConfiguredTelemetryDbPaths.add(resolvedDb);
702
+ emitCustomWarning(
703
+ "WARN" /* WARN */,
704
+ "configuration" /* CONFIGURATION */,
705
+ `telemetry.database is deprecated; telemetry resolves to ${resolvedDb} instead of the Build data root. Remove it from ${configPath} to use the data root.`,
706
+ {
707
+ subsystem: "telemetry",
708
+ executionPhase: "setup"
709
+ },
710
+ {
711
+ metadata: {
712
+ setting: "telemetry.database",
713
+ configPath,
714
+ resolvedDb,
715
+ dataRootDb: path3.join(getGlobalTelemetryDir(), "db")
716
+ }
717
+ }
718
+ );
719
+ }
720
+ resolveGitCommonDir(repoRoot) {
721
+ try {
722
+ const stdout = execSync("git rev-parse --git-common-dir", {
723
+ cwd: repoRoot,
724
+ stdio: ["ignore", "pipe", "ignore"],
725
+ timeout: 1500
726
+ }).toString().trim();
727
+ if (!stdout) {
728
+ return path3.join(repoRoot, ".git");
729
+ }
730
+ return path3.isAbsolute(stdout) ? stdout : path3.resolve(repoRoot, stdout);
731
+ } catch {
732
+ return path3.join(repoRoot, ".git");
733
+ }
734
+ }
735
+ };
736
+
737
+ export {
738
+ isLabModeFromEnv,
739
+ resolveRepoRootFromBuildDir,
740
+ resetConfiguredTelemetryDbWarningCache,
741
+ dbLocationToDir,
742
+ telemetryDirFromDbDir,
743
+ isLegacyRepoLocalTelemetryLocation,
744
+ TelemetryPathResolver,
745
+ LabPathResolver,
746
+ runWithLabContextAsync,
747
+ generateLabId,
748
+ generateRunId,
749
+ createLabContext,
750
+ validateLabConfig,
751
+ verifyLabMode,
752
+ initializeLabModeFromEnv,
753
+ getMostRecentLabRun,
754
+ checkAndWarnLabContext
755
+ };
756
+ //# sourceMappingURL=chunk-C3KCMAJP.js.map