@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,1012 @@
1
+ import {
2
+ resolveCursorObservedModelId
3
+ } from "./chunk-7HPCIOMA.js";
4
+ import {
5
+ appendWorkspaceEditInstructions,
6
+ extractFileTargets,
7
+ generateMinimalAdaptation,
8
+ generateWorkspaceAgentHeader,
9
+ injectBacklogReviewContract
10
+ } from "./chunk-KUEWV2JH.js";
11
+ import {
12
+ familyFlagshipModel,
13
+ isFamilyAlias
14
+ } from "./chunk-FAZBRHGG.js";
15
+ import {
16
+ ProviderRegistry
17
+ } from "./chunk-QJ6OEH4K.js";
18
+ import {
19
+ EFFORT_ORDER,
20
+ formatReasoningEffortLevelForUser,
21
+ formatReasoningEffortLevelsForUser,
22
+ normalizeReasoningEffortInput
23
+ } from "./chunk-4BTDUT2S.js";
24
+ import {
25
+ findClosestMatch
26
+ } from "./chunk-O26L6F7F.js";
27
+ import {
28
+ debugLog
29
+ } from "./chunk-7VRJHTGZ.js";
30
+ import {
31
+ sanitizeString
32
+ } from "./chunk-CPSVQR2I.js";
33
+
34
+ // src/core/providers/reasoning-effort/model-capabilities.ts
35
+ function normalizeModelId(value) {
36
+ return value.trim().toLowerCase().replace(/\[[^\]]*\]\s*$/, "").trim();
37
+ }
38
+ function findRegistryModel(providerId, model) {
39
+ try {
40
+ const config = ProviderRegistry.getProviderConfig(providerId);
41
+ const modelId = model?.trim() || config.models.default;
42
+ if (isFamilyAlias(providerId, modelId)) {
43
+ return familyFlagshipModel(providerId, modelId);
44
+ }
45
+ let resolvedModelId = modelId;
46
+ try {
47
+ resolvedModelId = ProviderRegistry.resolveModel(providerId, modelId);
48
+ } catch {
49
+ resolvedModelId = modelId;
50
+ }
51
+ const target = normalizeModelId(resolvedModelId);
52
+ return config.models.available.find((candidate) => {
53
+ const candidateIds = [candidate.id, candidate.full_name].filter(
54
+ (id) => typeof id === "string" && id.trim().length > 0
55
+ );
56
+ return candidateIds.some((id) => normalizeModelId(id) === target);
57
+ });
58
+ } catch {
59
+ return void 0;
60
+ }
61
+ }
62
+ function isUnknownRegistryModel(providerId, model) {
63
+ return findRegistryModel(providerId, model) === void 0;
64
+ }
65
+ function closestOfferedModelId(providerId, model) {
66
+ try {
67
+ return findClosestMatch(model, ProviderRegistry.getOfferedModels(providerId));
68
+ } catch {
69
+ return void 0;
70
+ }
71
+ }
72
+ function getModelReasoningEffortLevels(providerId, model) {
73
+ const levels = getModelAdvertisedReasoningEffortLevels(providerId, model);
74
+ if (!levels || levels.length === 0) return void 0;
75
+ return levels.filter(
76
+ (level) => EFFORT_ORDER.includes(level)
77
+ );
78
+ }
79
+ function getModelAdvertisedReasoningEffortLevels(providerId, model) {
80
+ const levels = findRegistryModel(providerId, model)?.reasoning_effort_levels;
81
+ return levels?.length ? levels : void 0;
82
+ }
83
+ function getModelNativeReasoningEffortLevels(providerId, model) {
84
+ return (getModelAdvertisedReasoningEffortLevels(providerId, model) ?? []).filter(
85
+ (level) => !EFFORT_ORDER.includes(level)
86
+ );
87
+ }
88
+ function modelSupportsAdaptiveThinking(providerId, model) {
89
+ const modelInfo = findRegistryModel(providerId, model);
90
+ if (!modelInfo) return false;
91
+ const capabilities = new Set(
92
+ (modelInfo.capabilities ?? []).map(
93
+ (capability) => capability.trim().toLowerCase().replace(/-/g, "_")
94
+ )
95
+ );
96
+ return modelInfo.thinking?.adaptive === true || capabilities.has("adaptive_thinking");
97
+ }
98
+ function modelSupportsManualThinkingBudget(providerId, model) {
99
+ return modelManualThinkingBudgetSupport(providerId, model) === true;
100
+ }
101
+ function modelManualThinkingBudgetSupport(providerId, model) {
102
+ const modelInfo = findRegistryModel(providerId, model);
103
+ if (!modelInfo) return void 0;
104
+ return modelInfo.thinking?.budget_tokens_supported;
105
+ }
106
+
107
+ // src/core/providers/reasoning-effort/resolver.ts
108
+ function defaultModelLevelLookup(providerId, model) {
109
+ return getModelReasoningEffortLevels(providerId, model);
110
+ }
111
+ var PROVIDER_REASONING_REGISTRY = {
112
+ // With no model pin (`auto`) the Codex CLI picks the model, so Build cannot
113
+ // know its levels; pass the full ladder through and let Codex decide, as the
114
+ // Codex config reference says levels depend on the model.
115
+ codex: {
116
+ mode: "native",
117
+ supportedLevels: ["low", "medium", "high", "xhigh"],
118
+ deferDefaultModelCapability: true,
119
+ deferredSupportedLevels: ["low", "medium", "high", "xhigh", "max"]
120
+ },
121
+ opencode: {
122
+ mode: "variant_mapping",
123
+ variantMap: {
124
+ low: "minimal",
125
+ medium: "medium",
126
+ high: "high",
127
+ xhigh: "max",
128
+ max: "max"
129
+ }
130
+ },
131
+ claude: {
132
+ mode: "native",
133
+ supportedLevels: ["low", "medium", "high", "xhigh", "max"]
134
+ },
135
+ gemini: {
136
+ mode: "prompt_hint",
137
+ supportedLevels: ["low", "medium", "high", "xhigh"],
138
+ promptTemplate: "Apply {effort} reasoning effort: think carefully, validate assumptions, and reason step-by-step before producing output."
139
+ },
140
+ // Pi's --thinking accepts off|minimal|low|medium|high|xhigh|max, a superset of
141
+ // Build's five levels, so every level maps natively and exactly. Whether the
142
+ // configured backend honors it is a backend property, not a Pi one.
143
+ pi: {
144
+ mode: "native",
145
+ supportedLevels: ["low", "medium", "high", "xhigh", "max"]
146
+ },
147
+ cursor: { mode: "unsupported" },
148
+ copilot: {
149
+ mode: "native",
150
+ supportedLevels: ["low", "medium", "high", "xhigh"]
151
+ },
152
+ grok: {
153
+ mode: "unsupported",
154
+ modelCapabilityOptIn: true,
155
+ deferDefaultModelCapability: true,
156
+ deferredSupportedLevels: ["low", "medium", "high", "xhigh"]
157
+ }
158
+ };
159
+ function resolveProviderNativeReasoningEffort(providerId, requested, model) {
160
+ const wanted = requested.trim().toLowerCase().replace(/[_\s]/g, "-");
161
+ if (!wanted || normalizeReasoningEffortInput(wanted)) return void 0;
162
+ return getModelNativeReasoningEffortLevels(providerId, model).find(
163
+ (level) => level.trim().toLowerCase() === wanted
164
+ );
165
+ }
166
+ function unknownModelReasoningEffortMessage(providerId, requestedLabel, model) {
167
+ const entry = PROVIDER_REASONING_REGISTRY[providerId];
168
+ if (!model || !entry?.modelCapabilityOptIn || !isUnknownRegistryModel(providerId, model)) {
169
+ return void 0;
170
+ }
171
+ const suggestion = closestOfferedModelId(providerId, model);
172
+ return `Reasoning effort "${requestedLabel}" cannot be checked for ${providerId} model "${model}": the model is not in the model registry, so its effort levels are unknown. ` + (suggestion && suggestion !== model ? `Did you mean "${suggestion}"? ` : "") + "Check the model id, or omit the effort level.";
173
+ }
174
+ function findClosestLevel(requested, supported) {
175
+ if (supported.includes(requested)) return requested;
176
+ const idx = EFFORT_ORDER.indexOf(requested);
177
+ for (let i = idx - 1; i >= 0; i--) {
178
+ const level = EFFORT_ORDER[i];
179
+ if (level && supported.includes(level)) return level;
180
+ }
181
+ for (let i = idx + 1; i < EFFORT_ORDER.length; i++) {
182
+ const level = EFFORT_ORDER[i];
183
+ if (level && supported.includes(level)) return level;
184
+ }
185
+ return "medium";
186
+ }
187
+ function resolveFallbackLevel(requested, supported) {
188
+ if (!supported || supported.includes(requested)) {
189
+ return { level: requested, exact: true };
190
+ }
191
+ return { level: findClosestLevel(requested, supported), exact: false };
192
+ }
193
+ function buildFallbackDowngradeWarning(providerId, requested, resolved, supported) {
194
+ const requestedLabel = formatReasoningEffortLevelForUser(requested, providerId);
195
+ const resolvedLabel = formatReasoningEffortLevelForUser(resolved, providerId);
196
+ const supportedLabels = supported ? formatReasoningEffortLevelsForUser(supported, providerId) : "";
197
+ return `[${providerId}] Reasoning effort "${requestedLabel}" is not supported. ` + (supportedLabels ? `Supported levels: ${supportedLabels}. ` : "") + `Using "${resolvedLabel}" instead.`;
198
+ }
199
+ function resolveReasoningEffortInternal(registry, providerId, requestedLevel, isExplicitRequest, model, modelLookup, options = {}) {
200
+ const entry = registry[providerId] ?? { mode: "unsupported" };
201
+ const modelLevels = model && modelLookup ? modelLookup(providerId, model) : void 0;
202
+ const shouldDeferDefaultModel = options.deferDefaultModelCapability === true && entry.deferDefaultModelCapability === true && (!model || model === "auto") && entry.deferredSupportedLevels;
203
+ if (shouldDeferDefaultModel) {
204
+ const canHonorExactly = shouldDeferDefaultModel.includes(requestedLevel);
205
+ const resolvedLevel = canHonorExactly ? requestedLevel : findClosestLevel(requestedLevel, shouldDeferDefaultModel);
206
+ return {
207
+ requestedLevel,
208
+ resolvedLevel,
209
+ outcome: canHonorExactly ? "deferred" : "downgraded",
210
+ isExplicitRequest,
211
+ supportedLevels: shouldDeferDefaultModel,
212
+ canHonorExactly,
213
+ ...canHonorExactly ? { deferred: true } : {},
214
+ ...canHonorExactly ? {} : { nativeParam: resolvedLevel },
215
+ warning: !canHonorExactly && isExplicitRequest ? buildFallbackDowngradeWarning(
216
+ providerId,
217
+ requestedLevel,
218
+ resolvedLevel,
219
+ shouldDeferDefaultModel
220
+ ) : void 0
221
+ };
222
+ }
223
+ const effectiveEntry = (entry.mode === "native" || entry.modelCapabilityOptIn) && modelLevels && modelLevels.length > 0 ? { mode: "native", supportedLevels: modelLevels } : entry;
224
+ switch (effectiveEntry.mode) {
225
+ case "native": {
226
+ const supported = effectiveEntry.supportedLevels ?? EFFORT_ORDER;
227
+ const canHonorExactly = supported.includes(requestedLevel);
228
+ if (canHonorExactly) {
229
+ return {
230
+ requestedLevel,
231
+ resolvedLevel: requestedLevel,
232
+ outcome: "applied",
233
+ isExplicitRequest,
234
+ supportedLevels: supported,
235
+ canHonorExactly: true,
236
+ nativeParam: requestedLevel
237
+ };
238
+ }
239
+ const closest = findClosestLevel(requestedLevel, supported);
240
+ const modelSuffix = model ? ` (model: ${model})` : "";
241
+ const requestedLabel = formatReasoningEffortLevelForUser(requestedLevel, providerId);
242
+ const supportedLabels = formatReasoningEffortLevelsForUser(supported, providerId);
243
+ const closestLabel = formatReasoningEffortLevelForUser(closest, providerId);
244
+ return {
245
+ requestedLevel,
246
+ resolvedLevel: closest,
247
+ outcome: "downgraded",
248
+ isExplicitRequest,
249
+ supportedLevels: supported,
250
+ canHonorExactly: false,
251
+ nativeParam: closest,
252
+ warning: isExplicitRequest ? `[${providerId}]${modelSuffix} Reasoning effort "${requestedLabel}" is not supported. Supported levels: ${supportedLabels}. Using "${closestLabel}" instead.` : void 0
253
+ };
254
+ }
255
+ case "variant_mapping": {
256
+ const modelDeclared = modelLevels && modelLevels.length > 0 ? modelLevels : void 0;
257
+ const supported = modelDeclared ?? entry.supportedLevels ?? (entry.variantMap ? Object.keys(entry.variantMap) : void 0);
258
+ const resolved = resolveFallbackLevel(requestedLevel, supported);
259
+ return {
260
+ requestedLevel,
261
+ resolvedLevel: resolved.level,
262
+ outcome: "fallback",
263
+ isExplicitRequest,
264
+ ...supported ? { supportedLevels: supported } : {},
265
+ canHonorExactly: resolved.exact,
266
+ variantMapping: modelDeclared ? resolved.level : entry.variantMap?.[resolved.level],
267
+ warning: !resolved.exact && isExplicitRequest ? buildFallbackDowngradeWarning(providerId, requestedLevel, resolved.level, supported) : void 0
268
+ };
269
+ }
270
+ case "prompt_hint": {
271
+ const supported = entry.supportedLevels;
272
+ const resolved = resolveFallbackLevel(requestedLevel, supported);
273
+ return {
274
+ requestedLevel,
275
+ resolvedLevel: resolved.level,
276
+ outcome: "fallback",
277
+ isExplicitRequest,
278
+ ...supported ? { supportedLevels: supported } : {},
279
+ canHonorExactly: resolved.exact,
280
+ fallbackHint: entry.promptTemplate?.replace(
281
+ "{effort}",
282
+ formatReasoningEffortLevelForUser(resolved.level, providerId)
283
+ ),
284
+ warning: !resolved.exact && isExplicitRequest ? buildFallbackDowngradeWarning(providerId, requestedLevel, resolved.level, supported) : void 0
285
+ };
286
+ }
287
+ default:
288
+ return {
289
+ requestedLevel,
290
+ resolvedLevel: requestedLevel,
291
+ outcome: "unsupported",
292
+ isExplicitRequest,
293
+ canHonorExactly: false,
294
+ warning: isExplicitRequest ? `[${providerId}] Reasoning effort "${formatReasoningEffortLevelForUser(
295
+ requestedLevel,
296
+ providerId
297
+ )}" is not supported by this provider and will have no effect. Providers with native effort support: codex, claude, copilot, pi. Grok honors effort only for models that advertise reasoning_effort_levels. Providers with documented fallback: opencode (variant mapping), gemini (prompt hint).` : void 0
298
+ };
299
+ }
300
+ }
301
+ function resolveReasoningEffort(providerId, requestedLevel, isExplicitRequest, model, options = {}) {
302
+ return resolveReasoningEffortInternal(
303
+ PROVIDER_REASONING_REGISTRY,
304
+ providerId,
305
+ requestedLevel,
306
+ isExplicitRequest,
307
+ model,
308
+ defaultModelLevelLookup,
309
+ options
310
+ );
311
+ }
312
+ function logReasoningEffortResolution(resolution, providerId) {
313
+ if (resolution.isExplicitRequest && resolution.warning) {
314
+ console.warn(resolution.warning);
315
+ return;
316
+ }
317
+ const levelStr = resolution.resolvedLevel !== resolution.requestedLevel ? `${resolution.requestedLevel}->${resolution.resolvedLevel}` : resolution.requestedLevel;
318
+ debugLog(
319
+ `[ReasoningEffort:${providerId}] outcome=${resolution.outcome} level=${levelStr} explicit=${resolution.isExplicitRequest}`
320
+ );
321
+ }
322
+
323
+ // src/core/providers/shared/prompt-mode.ts
324
+ import { createHash } from "crypto";
325
+
326
+ // src/core/providers/shared/prompt-strengthening.ts
327
+ function strengthenAmbiguousLanguage(prompt) {
328
+ const operations = [];
329
+ const patterns = getAmbiguousLanguagePatterns();
330
+ const matchedDescriptions = [];
331
+ for (const { pattern, description } of patterns) {
332
+ if (clonePattern(pattern).test(prompt)) {
333
+ matchedDescriptions.push(description);
334
+ }
335
+ }
336
+ if (matchedDescriptions.length === 0) {
337
+ return { strengthened: prompt, operations };
338
+ }
339
+ if (/\b(write|generate|emit|produce)\b[^.\n]{0,40}\bcode\b/i.test(prompt)) {
340
+ return { strengthened: prompt, operations };
341
+ }
342
+ operations.push(...matchedDescriptions);
343
+ return {
344
+ strengthened: `${prompt}${buildExecutionFocusNote()}`,
345
+ operations
346
+ };
347
+ }
348
+ function buildExecutionFocusNote() {
349
+ return [
350
+ "",
351
+ "",
352
+ "---",
353
+ "EXECUTION EXPECTATION",
354
+ "This task expects working code, not only a plan or description.",
355
+ "Follow the task text above exactly as written; this note adds no new requirements.",
356
+ "---"
357
+ ].join("\n");
358
+ }
359
+ function clonePattern(regex) {
360
+ return new RegExp(regex.source, regex.flags);
361
+ }
362
+ function getAmbiguousLanguagePatterns() {
363
+ return [
364
+ {
365
+ pattern: /\b(implement|add|create)[ \t]+/gi,
366
+ description: "Detected ambiguous implementation verb; appended execution expectation"
367
+ },
368
+ {
369
+ pattern: /\b(refactor|update|modify)[ \t]+/gi,
370
+ description: "Detected ambiguous refactoring verb; appended execution expectation"
371
+ },
372
+ {
373
+ pattern: /\b(fix|resolve)[ \t]+/gi,
374
+ description: "Detected ambiguous bug-fix verb; appended execution expectation"
375
+ }
376
+ ];
377
+ }
378
+ function generateFileModificationChecklist(targetFiles) {
379
+ if (targetFiles.length < 2) {
380
+ return "";
381
+ }
382
+ const checklistItems = targetFiles.map((file, idx) => `${idx + 1}. [ ] ${file}`);
383
+ const footer = "Address each file the task requires; if a file needs no change, briefly explain why.";
384
+ return [
385
+ "",
386
+ "---",
387
+ "RELEVANT FILES (edit those the task requires):",
388
+ ...checklistItems,
389
+ "",
390
+ footer,
391
+ "---",
392
+ ""
393
+ ].join("\n");
394
+ }
395
+ function generateImplementationDirective(executionIntent = "code") {
396
+ if (executionIntent === "analysis") {
397
+ return "";
398
+ }
399
+ const lines = [
400
+ "---",
401
+ "EXECUTION MODE: IMPLEMENTATION",
402
+ "- Generate working code",
403
+ "- Emit workspace edits",
404
+ "---"
405
+ ];
406
+ return `
407
+
408
+ ${lines.join("\n")}`;
409
+ }
410
+ function generatePreviousErrorDirective(previousError) {
411
+ const categoryLabel = {
412
+ timeout: "Timeout/Deadline",
413
+ auth: "Authentication/Authorization",
414
+ syntax: "Syntax/Parse Error",
415
+ resource: "Resource Exhaustion",
416
+ unknown: "Unknown Error"
417
+ }[previousError.category];
418
+ const lines = [];
419
+ lines.push("---");
420
+ lines.push("RETRY CONTEXT: Previous iteration failed");
421
+ lines.push(
422
+ `Iteration ${previousError.iteration} failed with error: ${sanitizeString(previousError.message)}`
423
+ );
424
+ lines.push(`Error category: ${categoryLabel}`);
425
+ if (previousError.hint) {
426
+ lines.push(`Recovery hint: ${sanitizeString(previousError.hint)}`);
427
+ }
428
+ lines.push("");
429
+ lines.push("Adjust your approach to address this failure.");
430
+ lines.push("---");
431
+ return `
432
+
433
+ ${lines.join("\n")}`;
434
+ }
435
+ function strengthenPrompt(prompt, options = {}) {
436
+ const { executionIntent = "code", targetFiles: explicitTargets = [], previousError } = options;
437
+ const allOperations = [];
438
+ let strengthened = prompt;
439
+ if (previousError) {
440
+ const errorDirective = generatePreviousErrorDirective(previousError);
441
+ if (errorDirective) {
442
+ strengthened += errorDirective;
443
+ allOperations.push(
444
+ `Added retry context for iteration ${previousError.iteration} (${previousError.category} error)`
445
+ );
446
+ }
447
+ }
448
+ if (executionIntent !== "analysis") {
449
+ const langResult = strengthenAmbiguousLanguage(strengthened);
450
+ strengthened = langResult.strengthened;
451
+ allOperations.push(...langResult.operations);
452
+ }
453
+ const extractedTargets = extractFileTargets(strengthened);
454
+ const targetFiles = Array.from(/* @__PURE__ */ new Set([...extractedTargets, ...explicitTargets]));
455
+ if (executionIntent !== "analysis" && targetFiles.length > 1) {
456
+ const checklist = generateFileModificationChecklist(targetFiles);
457
+ if (checklist) {
458
+ strengthened += checklist;
459
+ allOperations.push(`Added file checklist for ${targetFiles.length} targets`);
460
+ }
461
+ }
462
+ if (executionIntent !== "analysis") {
463
+ const directive = generateImplementationDirective(executionIntent);
464
+ if (directive) {
465
+ strengthened += directive;
466
+ allOperations.push("Added execution mode directive");
467
+ }
468
+ }
469
+ return {
470
+ strengthened,
471
+ operations: allOperations,
472
+ targetFiles
473
+ };
474
+ }
475
+
476
+ // src/core/providers/shared/prompt-mode.ts
477
+ var MODE_DEFAULTS = {
478
+ passthrough: {
479
+ injection: {
480
+ header: false,
481
+ fileSection: false,
482
+ protocol: false,
483
+ protocolExamples: false,
484
+ strengthen: false,
485
+ minimalGuidance: false
486
+ },
487
+ edit: {
488
+ injectJsonlInstructions: false,
489
+ parseJsonl: "best-effort",
490
+ // Still parse if provider happens to emit JSONL
491
+ enforceFileTargets: false
492
+ }
493
+ },
494
+ enhanced: {
495
+ injection: {
496
+ header: true,
497
+ fileSection: true,
498
+ protocol: true,
499
+ protocolExamples: true,
500
+ strengthen: false,
501
+ minimalGuidance: false
502
+ },
503
+ edit: {
504
+ injectJsonlInstructions: true,
505
+ parseJsonl: "best-effort",
506
+ enforceFileTargets: true
507
+ }
508
+ },
509
+ strengthened: {
510
+ injection: {
511
+ header: true,
512
+ fileSection: true,
513
+ protocol: true,
514
+ protocolExamples: true,
515
+ strengthen: true,
516
+ minimalGuidance: false
517
+ },
518
+ edit: {
519
+ injectJsonlInstructions: true,
520
+ parseJsonl: "best-effort",
521
+ enforceFileTargets: true
522
+ }
523
+ },
524
+ minimal: {
525
+ injection: {
526
+ header: true,
527
+ fileSection: false,
528
+ protocol: true,
529
+ protocolExamples: false,
530
+ strengthen: false,
531
+ minimalGuidance: true
532
+ },
533
+ edit: {
534
+ injectJsonlInstructions: true,
535
+ parseJsonl: "best-effort",
536
+ enforceFileTargets: false
537
+ // Minimal mode is more permissive
538
+ }
539
+ }
540
+ };
541
+ function applyWorkspaceMode(prompt, options) {
542
+ const {
543
+ mode,
544
+ provider,
545
+ executionIntent = "code",
546
+ targetFiles: explicitTargets = [],
547
+ injectionOverrides = {},
548
+ editOverrides = {},
549
+ projectRoot
550
+ } = options;
551
+ const defaults = MODE_DEFAULTS[mode];
552
+ const injection = { ...defaults.injection, ...injectionOverrides };
553
+ const editContract = { ...defaults.edit, ...editOverrides };
554
+ const operations = [];
555
+ let adapted = prompt;
556
+ let completionSignalVariant;
557
+ const extractedTargets = extractFileTargets(prompt);
558
+ const targetFiles = Array.from(/* @__PURE__ */ new Set([...extractedTargets, ...explicitTargets]));
559
+ if (mode === "passthrough") {
560
+ operations.push("Passthrough mode - no modifications");
561
+ return buildResult(prompt, adapted, mode, targetFiles, operations, editContract);
562
+ }
563
+ const beforeContract = adapted;
564
+ adapted = injectBacklogReviewContract(adapted, targetFiles);
565
+ if (adapted !== beforeContract) {
566
+ operations.push("Injected backlog review contract (P2: deterministic review behavior)");
567
+ }
568
+ if (injection.minimalGuidance) {
569
+ if (injection.header) {
570
+ const header = generateWorkspaceAgentHeader(provider, executionIntent);
571
+ adapted = `${header}
572
+
573
+ ${adapted}`;
574
+ operations.push(`Added ${provider} workspace agent header`);
575
+ }
576
+ const minimalGuidance = generateMinimalAdaptation({
577
+ executionIntent,
578
+ targetFiles
579
+ });
580
+ adapted = `${minimalGuidance}
581
+
582
+ ${adapted}`;
583
+ operations.push("Applied minimal adaptation guidance");
584
+ if (injection.protocol) {
585
+ const protocolResult = appendWorkspaceEditInstructions(adapted, {
586
+ targetFiles,
587
+ executionIntent,
588
+ includeExamples: false,
589
+ projectRoot
590
+ });
591
+ adapted = protocolResult.text;
592
+ completionSignalVariant = protocolResult.completionSignalVariant;
593
+ operations.push("Added workspace edit protocol (minimal, no examples)");
594
+ }
595
+ return buildResult(
596
+ prompt,
597
+ adapted,
598
+ mode,
599
+ targetFiles,
600
+ operations,
601
+ editContract,
602
+ completionSignalVariant
603
+ );
604
+ }
605
+ if (injection.strengthen) {
606
+ const strengthResult = strengthenPrompt(adapted, {
607
+ executionIntent,
608
+ targetFiles,
609
+ providerName: provider
610
+ });
611
+ adapted = strengthResult.strengthened;
612
+ operations.push(...strengthResult.operations);
613
+ }
614
+ if (injection.header) {
615
+ const header = generateWorkspaceAgentHeader(provider, executionIntent);
616
+ adapted = `${header}
617
+
618
+ ${adapted}`;
619
+ operations.push(`Added ${provider} workspace agent header`);
620
+ }
621
+ if (injection.fileSection && targetFiles.length > 0) {
622
+ const separator = "=".repeat(60);
623
+ const fileSection = [
624
+ "",
625
+ separator,
626
+ targetFiles.length === 1 ? "TARGET FILE:" : "TARGET FILES:",
627
+ ...targetFiles.map((f) => ` - ${f}`),
628
+ separator,
629
+ ""
630
+ ].join("\n");
631
+ adapted += fileSection;
632
+ operations.push(`Added file target section (${targetFiles.length} files)`);
633
+ }
634
+ if (injection.protocol) {
635
+ const protocolResult = appendWorkspaceEditInstructions(adapted, {
636
+ targetFiles,
637
+ executionIntent,
638
+ includeExamples: injection.protocolExamples,
639
+ projectRoot
640
+ });
641
+ adapted = protocolResult.text;
642
+ completionSignalVariant = protocolResult.completionSignalVariant;
643
+ operations.push(
644
+ `Added workspace edit protocol${injection.protocolExamples ? " with examples" : ""}`
645
+ );
646
+ }
647
+ return buildResult(
648
+ prompt,
649
+ adapted,
650
+ mode,
651
+ targetFiles,
652
+ operations,
653
+ editContract,
654
+ completionSignalVariant
655
+ );
656
+ }
657
+ function buildResult(original, adapted, mode, targetFiles, operations, editContract, completionSignalVariant) {
658
+ const hash = createHash("sha256").update(adapted).digest("hex").slice(0, 16);
659
+ return {
660
+ original,
661
+ adapted,
662
+ mode,
663
+ targetFiles,
664
+ operations,
665
+ editContract,
666
+ completionSignalVariant,
667
+ adaptedHash: hash,
668
+ lengths: {
669
+ original: original.length,
670
+ adapted: adapted.length,
671
+ delta: adapted.length - original.length
672
+ }
673
+ };
674
+ }
675
+ function isValidWorkspaceMode(value) {
676
+ return ["passthrough", "enhanced", "strengthened", "minimal"].includes(value);
677
+ }
678
+ function getProviderDefaultMode(_provider) {
679
+ return "passthrough";
680
+ }
681
+ var MODE_ORDER = {
682
+ passthrough: 0,
683
+ minimal: 1,
684
+ enhanced: 2,
685
+ strengthened: 3
686
+ };
687
+ var PROVIDER_MODE_CONSTRAINTS = {
688
+ claude: {
689
+ supportedModes: ["passthrough"],
690
+ defaultMode: "passthrough",
691
+ maxSafeMode: "passthrough"
692
+ },
693
+ cursor: {
694
+ supportedModes: ["passthrough", "enhanced", "minimal"],
695
+ defaultMode: "passthrough",
696
+ maxSafeMode: "enhanced"
697
+ },
698
+ codex: {
699
+ supportedModes: ["passthrough"],
700
+ defaultMode: "passthrough",
701
+ maxSafeMode: "passthrough"
702
+ },
703
+ gemini: {
704
+ supportedModes: ["passthrough", "enhanced", "minimal"],
705
+ defaultMode: "passthrough",
706
+ maxSafeMode: "enhanced"
707
+ },
708
+ copilot: {
709
+ supportedModes: ["passthrough", "enhanced", "minimal"],
710
+ defaultMode: "passthrough",
711
+ maxSafeMode: "enhanced"
712
+ },
713
+ opencode: {
714
+ supportedModes: ["passthrough", "enhanced", "minimal"],
715
+ defaultMode: "passthrough",
716
+ maxSafeMode: "enhanced"
717
+ },
718
+ grok: {
719
+ supportedModes: ["passthrough", "enhanced", "minimal"],
720
+ defaultMode: "passthrough",
721
+ maxSafeMode: "enhanced"
722
+ }
723
+ };
724
+ function getProviderModeConstraints(provider) {
725
+ const normalized = provider.toLowerCase();
726
+ return PROVIDER_MODE_CONSTRAINTS[normalized] ?? {
727
+ supportedModes: ["passthrough", "enhanced", "minimal"],
728
+ defaultMode: "passthrough",
729
+ maxSafeMode: "enhanced"
730
+ };
731
+ }
732
+ function clampToMaxSafeMode(mode, constraints) {
733
+ const modeOrder = MODE_ORDER[mode] ?? 0;
734
+ const maxOrder = MODE_ORDER[constraints.maxSafeMode] ?? 0;
735
+ if (modeOrder > maxOrder) {
736
+ return { mode: constraints.maxSafeMode, clamped: true };
737
+ }
738
+ return { mode, clamped: false };
739
+ }
740
+ function resolveEffectiveMode(variantOverride, globalMode, provider) {
741
+ if (variantOverride) {
742
+ return variantOverride;
743
+ }
744
+ if (globalMode) {
745
+ return globalMode;
746
+ }
747
+ return getProviderDefaultMode(provider);
748
+ }
749
+
750
+ // src/core/variant-identifier.ts
751
+ var WORKSPACE_PREFIX = "ws-";
752
+ var CURSOR_PROFILE_PREFIX = "cursor-profile-";
753
+ var EFFORT_PREFIX = "effort-";
754
+ function parseEffortToken(part, acceptBare) {
755
+ if (!part.startsWith(EFFORT_PREFIX) && !acceptBare) return void 0;
756
+ return normalizeReasoningEffortInput(
757
+ part.startsWith(EFFORT_PREFIX) ? part.slice(EFFORT_PREFIX.length) : part
758
+ );
759
+ }
760
+ function formatTransportSegment(transport) {
761
+ return transport === "cli" || transport === "api" ? `+${transport}` : "";
762
+ }
763
+ function peelTransportSuffix(segment) {
764
+ const plusIdx = segment.lastIndexOf("+");
765
+ if (plusIdx <= 0) {
766
+ return { base: segment };
767
+ }
768
+ const suffix = segment.slice(plusIdx + 1).toLowerCase();
769
+ if (suffix === "cli" || suffix === "api") {
770
+ return { base: segment.slice(0, plusIdx), transport: suffix };
771
+ }
772
+ return { base: segment };
773
+ }
774
+ function formatWorkspaceSegment(mode) {
775
+ return mode ? `:${WORKSPACE_PREFIX}${mode}` : "";
776
+ }
777
+ function formatCursorPromptProfileSegment(profile) {
778
+ return profile ? `:${CURSOR_PROFILE_PREFIX}${profile}` : "";
779
+ }
780
+ function isValidCursorPromptProfile(value) {
781
+ return value === "current" || value === "passthrough-steered" || value === "targets-only" || value === "discipline-only" || value === "protocol-native";
782
+ }
783
+ function normalizeVariantModel(provider, model) {
784
+ const trimmedModel = model?.trim();
785
+ if (!trimmedModel || !provider || trimmedModel === "default") {
786
+ return trimmedModel;
787
+ }
788
+ const providerId = provider.trim().toLowerCase();
789
+ if (providerId === "cursor") {
790
+ const resolved = resolveCursorObservedModelId(trimmedModel);
791
+ if (resolved) {
792
+ return resolved;
793
+ }
794
+ }
795
+ const providerNormalizedModel = (
796
+ // quirks-allow: opencode display-alias normalization
797
+ providerId === "opencode" && trimmedModel.startsWith("blackbox/blackboxai/") ? trimmedModel.slice("blackbox/".length) : (
798
+ // quirks-allow: opencode display-alias normalization
799
+ providerId === "opencode" && trimmedModel.startsWith("blackbox-ai/moonshot/") ? `blackboxai/moonshotai/${trimmedModel.slice("blackbox-ai/moonshot/".length)}` : (
800
+ // quirks-allow: opencode display-alias normalization
801
+ providerId === "opencode" && trimmedModel.startsWith("blackbox-blackboxai-") ? trimmedModel.slice("blackbox-".length) : (
802
+ // quirks-allow: opencode display-alias normalization
803
+ providerId === "opencode" && trimmedModel.startsWith("blackbox-ai-moonshot-") ? `blackboxai-moonshotai-${trimmedModel.slice("blackbox-ai-moonshot-".length)}` : trimmedModel
804
+ )
805
+ )
806
+ )
807
+ );
808
+ const normalizedAliasInput = providerId === "claude" ? providerNormalizedModel.replace(/(\d)\.(\d)(?=$|[^0-9])/g, "$1-$2") : providerNormalizedModel;
809
+ try {
810
+ return ProviderRegistry.resolveModel(provider, normalizedAliasInput);
811
+ } catch {
812
+ return normalizedAliasInput;
813
+ }
814
+ }
815
+ function formatVariantModelSegment(model) {
816
+ return model.replace(/[^A-Za-z0-9._-]+/g, "-").replace(/^-+|-+$/g, "") || "default";
817
+ }
818
+ function normalizeCanonicalExecutionMode(executionMode, fallback) {
819
+ const candidate = executionMode?.trim() || fallback?.trim();
820
+ return candidate === "local" || candidate === "cloud" || candidate === "cli" || candidate === "api" ? candidate === "cloud" ? "cloud" : "local" : "local";
821
+ }
822
+ function formatParsedEffortSegment(provider, effort) {
823
+ const level = normalizeReasoningEffortInput(effort);
824
+ return level ? `:effort-${formatReasoningEffortLevelForUser(level, provider)}` : "";
825
+ }
826
+ function canonicalizeVariantIdentifier(input) {
827
+ const rawVariant = input.variant.trim();
828
+ const explicitProvider = input.provider?.trim();
829
+ if (!rawVariant.includes(":") && !explicitProvider) {
830
+ return rawVariant;
831
+ }
832
+ const parsed = parseVariantIdentifier(rawVariant);
833
+ const provider = explicitProvider || parsed.provider;
834
+ const executionMode = normalizeCanonicalExecutionMode(input.executionMode, parsed.executionMode);
835
+ const model = normalizeVariantModel(
836
+ provider,
837
+ input.resolvedModel?.trim() || input.model?.trim() || parsed.model
838
+ ) ?? (provider ? "default" : void 0);
839
+ if (!provider || !model) {
840
+ return rawVariant;
841
+ }
842
+ const effortSegment = formatParsedEffortSegment(provider, parsed.reasoningEffort);
843
+ const workspaceSegment = formatWorkspaceSegment(
844
+ input.workspaceModeRequested ?? parsed.workspaceModeRequested
845
+ );
846
+ const cursorPromptProfileSegment = formatCursorPromptProfileSegment(
847
+ input.cursorPromptProfile ?? parsed.cursorPromptProfile
848
+ );
849
+ const transportSegment = formatTransportSegment(input.transport ?? parsed.transport);
850
+ return `${provider}:${formatVariantModelSegment(model)}${effortSegment}:${executionMode}${cursorPromptProfileSegment}${workspaceSegment}${transportSegment}`;
851
+ }
852
+ function formatVariantIdentifier(config) {
853
+ const model = normalizeVariantModel(config.provider, config.model) ?? "default";
854
+ const mode = config.executionMode ?? "local";
855
+ const effortSegment = config.modelReasoningEffort && config.modelReasoningEffortSource !== "configured" ? `:effort-${formatReasoningEffortLevelForUser(config.modelReasoningEffort, config.provider)}` : "";
856
+ const cursorPromptProfileSegment = formatCursorPromptProfileSegment(config.cursorPromptProfile);
857
+ const workspaceSegment = formatWorkspaceSegment(config.workspaceModeRequested);
858
+ const transportSegment = formatTransportSegment(config.transport);
859
+ return `${config.provider}:${formatVariantModelSegment(model)}${effortSegment}:${mode}${cursorPromptProfileSegment}${workspaceSegment}${transportSegment}`;
860
+ }
861
+ function formatVariantIdentifierFromResult(result) {
862
+ const rawVariant = typeof result.variant === "string" ? result.variant.trim() : "";
863
+ if (rawVariant.length > 0) {
864
+ const canonical = canonicalizeVariantIdentifier({
865
+ variant: rawVariant,
866
+ provider: result.provider,
867
+ model: result.model,
868
+ resolvedModel: result.resolvedModel,
869
+ executionMode: result.executionMode,
870
+ workspaceModeRequested: result.workspaceModeRequested,
871
+ cursorPromptProfile: result.cursorPromptProfile
872
+ });
873
+ if (isCanonicalVariantKey(canonical)) {
874
+ return canonical;
875
+ }
876
+ }
877
+ if (result.provider) {
878
+ const model = normalizeVariantModel(result.provider, result.resolvedModel || result.model) || "default";
879
+ const mode = result.executionMode ?? "local";
880
+ const cursorPromptProfileSegment = formatCursorPromptProfileSegment(result.cursorPromptProfile);
881
+ const workspaceSegment = formatWorkspaceSegment(result.workspaceModeRequested);
882
+ return `${result.provider}:${formatVariantModelSegment(model)}:${mode}${cursorPromptProfileSegment}${workspaceSegment}`;
883
+ }
884
+ return rawVariant;
885
+ }
886
+ function formatVariantIdentifierForDisplay(variantId) {
887
+ const trimmed = variantId.trim();
888
+ if (!trimmed) {
889
+ return trimmed;
890
+ }
891
+ const parsed = parseVariantIdentifier(trimmed);
892
+ if (!parsed.provider) {
893
+ return trimmed;
894
+ }
895
+ const effortSegment = formatParsedEffortSegment(parsed.provider, parsed.reasoningEffort);
896
+ const executionModeSegment = parsed.executionMode && parsed.executionMode !== "local" ? `:${parsed.executionMode}` : "";
897
+ const transportSegment = formatTransportSegment(parsed.transport);
898
+ if (!parsed.model) {
899
+ return `${parsed.provider}${effortSegment}${executionModeSegment}${transportSegment}`;
900
+ }
901
+ return `${parsed.provider}:${parsed.model}${effortSegment}${executionModeSegment}${transportSegment}`;
902
+ }
903
+ function normalizeForReconciliation(variantId) {
904
+ const trimmed = variantId.trim();
905
+ if (!trimmed) return trimmed;
906
+ return formatVariantIdentifierForDisplay(canonicalizeVariantIdentifier({ variant: trimmed }));
907
+ }
908
+ function parseVariantIdentifier(variantId, options) {
909
+ const parts = variantId.split(":");
910
+ let transport;
911
+ const lastSegment = parts.at(-1);
912
+ if (parts.length >= 1 && lastSegment) {
913
+ const peeled = peelTransportSuffix(lastSegment);
914
+ if (peeled.transport) {
915
+ transport = peeled.transport;
916
+ if (peeled.base.length > 0) {
917
+ parts[parts.length - 1] = peeled.base;
918
+ } else {
919
+ parts.pop();
920
+ }
921
+ }
922
+ }
923
+ let workspaceModeRequested;
924
+ const workspaceSuffix = parts.at(-1);
925
+ if (parts.length >= 2 && workspaceSuffix?.startsWith(WORKSPACE_PREFIX)) {
926
+ const candidate = workspaceSuffix.slice(WORKSPACE_PREFIX.length);
927
+ if (isValidWorkspaceMode(candidate)) {
928
+ workspaceModeRequested = candidate;
929
+ parts.pop();
930
+ }
931
+ }
932
+ let cursorPromptProfile;
933
+ const cursorProfileSuffix = parts.at(-1);
934
+ if (parts.length >= 2 && cursorProfileSuffix?.startsWith(CURSOR_PROFILE_PREFIX)) {
935
+ const candidate = cursorProfileSuffix.slice(CURSOR_PROFILE_PREFIX.length);
936
+ if (isValidCursorPromptProfile(candidate)) {
937
+ cursorPromptProfile = candidate;
938
+ parts.pop();
939
+ }
940
+ }
941
+ const provider = parts[0] || void 0;
942
+ const last = parts.at(-1);
943
+ const executionMode = parts.length >= 2 && (last === "local" || last === "cloud" || last === "cli" || last === "api") ? last === "cloud" ? "cloud" : "local" : void 0;
944
+ const modelEnd = executionMode ? parts.length - 1 : parts.length;
945
+ let reasoningEffort;
946
+ const modelParts = parts.slice(1, Math.max(1, modelEnd)).filter((part) => {
947
+ const normalizedEffort = parseEffortToken(part, options?.acceptBareEffort);
948
+ if (normalizedEffort) {
949
+ reasoningEffort = normalizedEffort;
950
+ return false;
951
+ }
952
+ return true;
953
+ });
954
+ const joinedModel = modelParts.join(":").trim();
955
+ const model = joinedModel.length > 0 ? joinedModel : void 0;
956
+ return {
957
+ provider,
958
+ model,
959
+ executionMode,
960
+ reasoningEffort,
961
+ workspaceModeRequested,
962
+ cursorPromptProfile,
963
+ transport
964
+ };
965
+ }
966
+ function toParseableVariantSpec(serialized) {
967
+ const parsed = parseVariantIdentifier(serialized);
968
+ if (!parsed.provider) {
969
+ return serialized;
970
+ }
971
+ const modelPart = parsed.model ? `:${parsed.model}` : "";
972
+ const effortPart = parsed.reasoningEffort ? `:effort-${parsed.reasoningEffort}` : "";
973
+ const mode = parsed.executionMode ?? "local";
974
+ const transportPart = parsed.transport ? `+${parsed.transport}` : "";
975
+ return `${parsed.provider}${modelPart}${effortPart}:${mode}${transportPart}`;
976
+ }
977
+ function isCanonicalVariantKey(variantId) {
978
+ const parsed = parseVariantIdentifier(variantId);
979
+ return Boolean(parsed.provider) && Boolean(parsed.model) && parsed.executionMode !== void 0;
980
+ }
981
+
982
+ export {
983
+ isUnknownRegistryModel,
984
+ closestOfferedModelId,
985
+ getModelReasoningEffortLevels,
986
+ getModelNativeReasoningEffortLevels,
987
+ modelSupportsAdaptiveThinking,
988
+ modelSupportsManualThinkingBudget,
989
+ modelManualThinkingBudgetSupport,
990
+ PROVIDER_REASONING_REGISTRY,
991
+ resolveProviderNativeReasoningEffort,
992
+ unknownModelReasoningEffortMessage,
993
+ resolveReasoningEffort,
994
+ logReasoningEffortResolution,
995
+ strengthenPrompt,
996
+ applyWorkspaceMode,
997
+ isValidWorkspaceMode,
998
+ getProviderModeConstraints,
999
+ clampToMaxSafeMode,
1000
+ resolveEffectiveMode,
1001
+ parseEffortToken,
1002
+ normalizeVariantModel,
1003
+ canonicalizeVariantIdentifier,
1004
+ formatVariantIdentifier,
1005
+ formatVariantIdentifierFromResult,
1006
+ formatVariantIdentifierForDisplay,
1007
+ normalizeForReconciliation,
1008
+ parseVariantIdentifier,
1009
+ toParseableVariantSpec,
1010
+ isCanonicalVariantKey
1011
+ };
1012
+ //# sourceMappingURL=chunk-TGXXYDL4.js.map