@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.
- package/.build-project/providers/catalog.json +13951 -0
- package/.build-project/providers/pricing.json +1978 -0
- package/.build-project/providers/registry.json +4103 -0
- package/.github/SECURITY.md +75 -0
- package/.nvmrc +1 -0
- package/CHANGELOG.md +661 -0
- package/CODE_OF_CONDUCT.md +44 -0
- package/CONTRIBUTING.md +24 -0
- package/INSTALL.md +623 -0
- package/LICENSE +21 -0
- package/README.md +118 -2
- package/THIRD_PARTY_NOTICES.txt +26 -0
- package/dist/ai-judge-UE5UOYOO.js +191 -0
- package/dist/allowlist-grounding-KPLN6NC5.js +16 -0
- package/dist/allowlist-utils-MZZKKXRD.js +31 -0
- package/dist/apply-completion-mode-EM37UZHB.js +110 -0
- package/dist/artifact-migrator-WPACNSEP.js +276 -0
- package/dist/ask-2OZ4JFQR.js +176 -0
- package/dist/auth-6UKBTJUQ.js +185 -0
- package/dist/auth-H5KJL6HL.js +165 -0
- package/dist/auth-LVJRJDMU.js +12 -0
- package/dist/auth-NHZOCNRR.js +94 -0
- package/dist/auth-PBXHWXGW.js +95 -0
- package/dist/auth-T7Y5DCAH.js +91 -0
- package/dist/auth-TVVKCHQW.js +13 -0
- package/dist/auth-UHB2UCSS.js +97 -0
- package/dist/auth-VACA3VUL.js +98 -0
- package/dist/auth-VVLC77S3.js +44 -0
- package/dist/auth-liveness-XO4AGDDD.js +53 -0
- package/dist/autoloop-cleanup-SI3VGAAR.js +106 -0
- package/dist/autoloop-evidence-gates-J5GG5YQB.js +39 -0
- package/dist/autoloop-gate-policy-SUNAEP6Q.js +169 -0
- package/dist/autoloop-helpers-VQGQNTT6.js +52 -0
- package/dist/autoloop-ledger-P6TIDP7C.js +96 -0
- package/dist/autoloop-ledger-subscriber-HFAGOZXH.js +161 -0
- package/dist/autoloop-run-defaults-GWGZBNT7.js +27 -0
- package/dist/autoloop-run-lock-GBWRM5A2.js +197 -0
- package/dist/autoloop-success-C32QVWOP.js +93 -0
- package/dist/autoloop-termination-summary-GI6IBQWD.js +58 -0
- package/dist/autoloop-trajectory-AMKSQISD.js +70 -0
- package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
- package/dist/automatic-branch-cleanup-R62X2C5O.js +49 -0
- package/dist/autonomous-loop-controller-2WL363LW.js +4386 -0
- package/dist/backend-YUTFDZXZ.js +30 -0
- package/dist/background-executor-Z3ODTMD7.js +260 -0
- package/dist/backlog-75QPEAMW.js +403 -0
- package/dist/backlog-execution-intent-GWUV5TUK.js +19 -0
- package/dist/backup-active-store-XHWLN34M.js +16 -0
- package/dist/backup-machine-stores-UI4LTJOY.js +251 -0
- package/dist/backup-telemetry-db-Z4ICYCNW.js +26 -0
- package/dist/branch-archive-manager-FMSQ7YJF.js +18 -0
- package/dist/branch-cleanup-manager-ST6FJGND.js +35 -0
- package/dist/build-gate-7NKWPY62.js +68 -0
- package/dist/build-root-S7DINODY.js +18 -0
- package/dist/change-summary-R6CB6VXJ.js +50 -0
- package/dist/chunk-24MNKKOM.js +173 -0
- package/dist/chunk-2H6VZFIO.js +235 -0
- package/dist/chunk-2JIX3EKV.js +39 -0
- package/dist/chunk-2KO7HVZM.js +106 -0
- package/dist/chunk-2L36U25O.js +100 -0
- package/dist/chunk-2NMNFUQA.js +475 -0
- package/dist/chunk-2OUAEH67.js +83 -0
- package/dist/chunk-2VLJUXJU.js +115 -0
- package/dist/chunk-2VUEDIUM.js +77 -0
- package/dist/chunk-2Y2IIHPI.js +430 -0
- package/dist/chunk-2YRG3LHZ.js +220 -0
- package/dist/chunk-2Z5Q3SUY.js +65 -0
- package/dist/chunk-32IYXIE5.js +873 -0
- package/dist/chunk-33IGPPUI.js +292 -0
- package/dist/chunk-352PCJLK.js +283 -0
- package/dist/chunk-35J4NE6S.js +226 -0
- package/dist/chunk-3C7WBIVK.js +1016 -0
- package/dist/chunk-3H3EY6U7.js +1225 -0
- package/dist/chunk-3H4MWYIC.js +198 -0
- package/dist/chunk-3HHWQR3N.js +2479 -0
- package/dist/chunk-3JKNRYEE.js +14 -0
- package/dist/chunk-3LECCYZY.js +128 -0
- package/dist/chunk-3LOY6YZI.js +852 -0
- package/dist/chunk-3M57DADF.js +44 -0
- package/dist/chunk-3NOTLVLG.js +3803 -0
- package/dist/chunk-3OPP2OZB.js +1480 -0
- package/dist/chunk-3P5IN5E7.js +9 -0
- package/dist/chunk-3PL22IYZ.js +20 -0
- package/dist/chunk-3REDAJUJ.js +14 -0
- package/dist/chunk-3S2R4XJI.js +203 -0
- package/dist/chunk-3UBZI5DW.js +61 -0
- package/dist/chunk-3VV5OBGG.js +308 -0
- package/dist/chunk-3WY5TU2O.js +823 -0
- package/dist/chunk-43OKHTW4.js +82 -0
- package/dist/chunk-45KUJBDI.js +112 -0
- package/dist/chunk-47X5LM7B.js +224 -0
- package/dist/chunk-4B6FQJ77.js +268 -0
- package/dist/chunk-4BTDUT2S.js +42 -0
- package/dist/chunk-4DJL2VXA.js +24 -0
- package/dist/chunk-4EBSXZ73.js +48 -0
- package/dist/chunk-4QKP6I4C.js +294 -0
- package/dist/chunk-4U6XK2DG.js +300 -0
- package/dist/chunk-4UMRUFBD.js +132 -0
- package/dist/chunk-4US4SYJ4.js +569 -0
- package/dist/chunk-4ZPLWEZO.js +154 -0
- package/dist/chunk-56WPYDJH.js +624 -0
- package/dist/chunk-57WRCJJW.js +50 -0
- package/dist/chunk-5AW4RMNG.js +24 -0
- package/dist/chunk-5EQN56OZ.js +155 -0
- package/dist/chunk-5F43TUIN.js +38 -0
- package/dist/chunk-5FKHIKTS.js +115 -0
- package/dist/chunk-5HDP7XZG.js +91 -0
- package/dist/chunk-5KQETTNS.js +152 -0
- package/dist/chunk-5PDVN2KO.js +498 -0
- package/dist/chunk-5UBIFVRD.js +509 -0
- package/dist/chunk-5YDE3Q62.js +46 -0
- package/dist/chunk-626AJVMU.js +302 -0
- package/dist/chunk-633XZ7UF.js +3583 -0
- package/dist/chunk-63DHNHGA.js +236 -0
- package/dist/chunk-666656AR.js +568 -0
- package/dist/chunk-67YRJPJO.js +19 -0
- package/dist/chunk-6CAU7VBA.js +20 -0
- package/dist/chunk-6CB3KJRY.js +21 -0
- package/dist/chunk-6DBMALXL.js +29 -0
- package/dist/chunk-6E25C4IA.js +269 -0
- package/dist/chunk-6FIBNIQU.js +73 -0
- package/dist/chunk-6G57FYBV.js +189 -0
- package/dist/chunk-6KZKRTG3.js +4885 -0
- package/dist/chunk-6LAH2UV2.js +525 -0
- package/dist/chunk-6PZY2TTU.js +921 -0
- package/dist/chunk-6T6NHXK4.js +230 -0
- package/dist/chunk-6TBEX4R4.js +432 -0
- package/dist/chunk-6TRD7TEE.js +911 -0
- package/dist/chunk-6XCP2RAI.js +47 -0
- package/dist/chunk-726G6WDL.js +351 -0
- package/dist/chunk-75EMT7BF.js +616 -0
- package/dist/chunk-762ACDZJ.js +4696 -0
- package/dist/chunk-77I6G4CO.js +1 -0
- package/dist/chunk-7DJ6SQH3.js +510 -0
- package/dist/chunk-7HPCIOMA.js +1383 -0
- package/dist/chunk-7HYBSRPZ.js +17503 -0
- package/dist/chunk-7KBEOPVB.js +73 -0
- package/dist/chunk-7LHJDJB3.js +2222 -0
- package/dist/chunk-7NVJMH52.js +306 -0
- package/dist/chunk-7RMARDVH.js +33 -0
- package/dist/chunk-7SEWU4QG.js +36 -0
- package/dist/chunk-7TUTZTI2.js +911 -0
- package/dist/chunk-7VBDFPUM.js +340 -0
- package/dist/chunk-7VRJHTGZ.js +6406 -0
- package/dist/chunk-7YAOUUKK.js +493 -0
- package/dist/chunk-AAAODV76.js +860 -0
- package/dist/chunk-AB4HUJVQ.js +339 -0
- package/dist/chunk-AEQWV746.js +611 -0
- package/dist/chunk-AHU3FKPA.js +11639 -0
- package/dist/chunk-AISTV5XU.js +226 -0
- package/dist/chunk-AJBTKGJZ.js +48 -0
- package/dist/chunk-AJJNW7XT.js +248 -0
- package/dist/chunk-AJN5Y5YZ.js +160 -0
- package/dist/chunk-ALDTFNZ3.js +150 -0
- package/dist/chunk-ARARVIZK.js +281 -0
- package/dist/chunk-ATBM6AW5.js +53 -0
- package/dist/chunk-ATKEKM3E.js +206 -0
- package/dist/chunk-AUJLW6JZ.js +92 -0
- package/dist/chunk-AY3MHEFM.js +24 -0
- package/dist/chunk-B7PYTV72.js +236 -0
- package/dist/chunk-B7YRSULE.js +1423 -0
- package/dist/chunk-BAWJNMWF.js +339 -0
- package/dist/chunk-BBPIILO2.js +88 -0
- package/dist/chunk-BD3PGW6A.js +957 -0
- package/dist/chunk-BDPYFAB4.js +44 -0
- package/dist/chunk-BIUV23HH.js +729 -0
- package/dist/chunk-BQ3VAGXH.js +243 -0
- package/dist/chunk-BQJOGAWT.js +31 -0
- package/dist/chunk-BT7EG7CO.js +68 -0
- package/dist/chunk-BV3XQQLU.js +27 -0
- package/dist/chunk-BY6ODHNZ.js +78 -0
- package/dist/chunk-BZRLSZNV.js +79 -0
- package/dist/chunk-C3DH3NCY.js +2773 -0
- package/dist/chunk-C3KCMAJP.js +756 -0
- package/dist/chunk-C7AGUJ5K.js +267 -0
- package/dist/chunk-CBSWKQCX.js +342 -0
- package/dist/chunk-CE5OZBYY.js +21 -0
- package/dist/chunk-CFCVYHSW.js +373 -0
- package/dist/chunk-CHA2HDE5.js +126 -0
- package/dist/chunk-CIHWPGS5.js +146 -0
- package/dist/chunk-CJBSZX3F.js +127 -0
- package/dist/chunk-CLA6QIJM.js +43 -0
- package/dist/chunk-CPSVQR2I.js +365 -0
- package/dist/chunk-CRPRVNQ4.js +254 -0
- package/dist/chunk-CSIE4Y7C.js +1093 -0
- package/dist/chunk-CSOPSYDY.js +142 -0
- package/dist/chunk-CSXLLEGB.js +205 -0
- package/dist/chunk-CTDLERWU.js +293 -0
- package/dist/chunk-CULBXMSK.js +110 -0
- package/dist/chunk-D2M2Y5ID.js +21 -0
- package/dist/chunk-D37WY7SH.js +1060 -0
- package/dist/chunk-D4VJFCGZ.js +89 -0
- package/dist/chunk-D6WTZMZB.js +48 -0
- package/dist/chunk-DBHOWDUH.js +976 -0
- package/dist/chunk-DCACX7BV.js +19364 -0
- package/dist/chunk-DFHX4XYA.js +128 -0
- package/dist/chunk-DIKBRRKE.js +176 -0
- package/dist/chunk-DJG5RIOR.js +9 -0
- package/dist/chunk-DNIOIISW.js +616 -0
- package/dist/chunk-DOA5G7IA.js +315 -0
- package/dist/chunk-DP7FKP6W.js +855 -0
- package/dist/chunk-DS2JZ677.js +79 -0
- package/dist/chunk-DSRLVYBS.js +82 -0
- package/dist/chunk-EAEVKNJA.js +209 -0
- package/dist/chunk-EEUESN3T.js +575 -0
- package/dist/chunk-EJ4LUU5Y.js +73 -0
- package/dist/chunk-EJIWTPSZ.js +1063 -0
- package/dist/chunk-EJVCDTAN.js +116 -0
- package/dist/chunk-EKLUBDBQ.js +627 -0
- package/dist/chunk-EN62WLFD.js +849 -0
- package/dist/chunk-ENYRCL43.js +26 -0
- package/dist/chunk-EP22ZMFO.js +273 -0
- package/dist/chunk-EP4SVAVI.js +87 -0
- package/dist/chunk-EPAMVGI3.js +1562 -0
- package/dist/chunk-EPRMH6HO.js +24 -0
- package/dist/chunk-ES6NWJ36.js +4057 -0
- package/dist/chunk-ETA2K4KI.js +30 -0
- package/dist/chunk-ETAD4NKD.js +31 -0
- package/dist/chunk-EUWIIDQ7.js +93 -0
- package/dist/chunk-EVE3OD2W.js +141 -0
- package/dist/chunk-EXA26FFC.js +459 -0
- package/dist/chunk-EXSPAA35.js +244 -0
- package/dist/chunk-F55YABKV.js +258 -0
- package/dist/chunk-F5DNGU5W.js +27 -0
- package/dist/chunk-F622MJYV.js +103 -0
- package/dist/chunk-F6NIQD74.js +5111 -0
- package/dist/chunk-FAWJTC34.js +43 -0
- package/dist/chunk-FAZBRHGG.js +47 -0
- package/dist/chunk-FIEUSGNJ.js +39 -0
- package/dist/chunk-FKCG7K6H.js +1146 -0
- package/dist/chunk-FOVVXV45.js +229 -0
- package/dist/chunk-FRBPKBFE.js +30 -0
- package/dist/chunk-FSA5BPFI.js +268 -0
- package/dist/chunk-FSJ5TTZ3.js +29 -0
- package/dist/chunk-FT7SGLXT.js +193 -0
- package/dist/chunk-FUUVZZUB.js +62 -0
- package/dist/chunk-FYMRVUNZ.js +1697 -0
- package/dist/chunk-FYTAA5FG.js +162 -0
- package/dist/chunk-G3VB2UCZ.js +3892 -0
- package/dist/chunk-G6OIMVXH.js +405 -0
- package/dist/chunk-G7PQCXVH.js +228 -0
- package/dist/chunk-GAB6UW52.js +1087 -0
- package/dist/chunk-GAFJEYLK.js +29 -0
- package/dist/chunk-GC4CRMTS.js +642 -0
- package/dist/chunk-GFHSIWHL.js +5297 -0
- package/dist/chunk-GI5M67YA.js +735 -0
- package/dist/chunk-GIJWHUWF.js +191 -0
- package/dist/chunk-GO6DRECI.js +1 -0
- package/dist/chunk-GOFVBTMN.js +314 -0
- package/dist/chunk-GQIP72ZJ.js +13 -0
- package/dist/chunk-GQXLXRFA.js +28 -0
- package/dist/chunk-GT6HFKJB.js +48 -0
- package/dist/chunk-GVJGSSKM.js +174 -0
- package/dist/chunk-GWHGTG37.js +36 -0
- package/dist/chunk-GZAJHLKO.js +18 -0
- package/dist/chunk-GZK62I3N.js +314 -0
- package/dist/chunk-H3HGMISG.js +483 -0
- package/dist/chunk-H3ISZJMJ.js +403 -0
- package/dist/chunk-H4HXVWEC.js +9 -0
- package/dist/chunk-H6MJGKAW.js +120 -0
- package/dist/chunk-HBTTGVR5.js +353 -0
- package/dist/chunk-HBZ322WZ.js +35 -0
- package/dist/chunk-HEP3ILP4.js +34 -0
- package/dist/chunk-HGFXODKO.js +106 -0
- package/dist/chunk-HHWDTB6S.js +59 -0
- package/dist/chunk-HKO45NLZ.js +286 -0
- package/dist/chunk-HLVTEA6A.js +89 -0
- package/dist/chunk-HS3SY6HN.js +160 -0
- package/dist/chunk-HT5OCGKN.js +899 -0
- package/dist/chunk-HXIIEMGF.js +78 -0
- package/dist/chunk-I56TH7VM.js +46 -0
- package/dist/chunk-I6FN3R5D.js +352 -0
- package/dist/chunk-I7SCBHJN.js +655 -0
- package/dist/chunk-IJM4GKAT.js +529 -0
- package/dist/chunk-IMEYU36R.js +344 -0
- package/dist/chunk-INJ3SS6A.js +936 -0
- package/dist/chunk-IUKOPCCE.js +441 -0
- package/dist/chunk-IVEPZQJO.js +33 -0
- package/dist/chunk-IVZEONFC.js +43 -0
- package/dist/chunk-IWBHRSG7.js +936 -0
- package/dist/chunk-IYY3HQAD.js +484 -0
- package/dist/chunk-J2ICMYDA.js +48 -0
- package/dist/chunk-J2QCFLUN.js +505 -0
- package/dist/chunk-J5HM6V5P.js +1039 -0
- package/dist/chunk-J6NZX6QH.js +398 -0
- package/dist/chunk-JBBB2Y47.js +432 -0
- package/dist/chunk-JDCZQZU7.js +42 -0
- package/dist/chunk-JEDNXGSS.js +169 -0
- package/dist/chunk-JHP7OT6K.js +89 -0
- package/dist/chunk-JLS65NUQ.js +14 -0
- package/dist/chunk-JNMWYMC6.js +38 -0
- package/dist/chunk-JNSTWNNW.js +25 -0
- package/dist/chunk-JOSK6GEU.js +9564 -0
- package/dist/chunk-JQUMSIGC.js +100 -0
- package/dist/chunk-JVHGMURQ.js +1106 -0
- package/dist/chunk-JYXS47FQ.js +951 -0
- package/dist/chunk-K2ZMW2Z5.js +2147 -0
- package/dist/chunk-K7FAFORM.js +14 -0
- package/dist/chunk-KBJXX3ON.js +333 -0
- package/dist/chunk-KHFKVQWY.js +486 -0
- package/dist/chunk-KHMEI3DQ.js +173 -0
- package/dist/chunk-KHW3UD7B.js +69 -0
- package/dist/chunk-KKQKWAMF.js +365 -0
- package/dist/chunk-KOKXJV2U.js +455 -0
- package/dist/chunk-KQ4NGOJI.js +14 -0
- package/dist/chunk-KQYQOXMS.js +342 -0
- package/dist/chunk-KTMW65UX.js +14 -0
- package/dist/chunk-KUEWV2JH.js +593 -0
- package/dist/chunk-KXYDV3HP.js +1523 -0
- package/dist/chunk-KZ4JMGZ5.js +96 -0
- package/dist/chunk-KZWGBUIO.js +2659 -0
- package/dist/chunk-L2CBG5IX.js +1892 -0
- package/dist/chunk-L2S235CU.js +314 -0
- package/dist/chunk-L32WD57F.js +98 -0
- package/dist/chunk-LDJCKAJP.js +123 -0
- package/dist/chunk-LDWNBEN7.js +541 -0
- package/dist/chunk-LJVH57G2.js +241 -0
- package/dist/chunk-LPQ7NZEN.js +209 -0
- package/dist/chunk-LRGH3CCV.js +148 -0
- package/dist/chunk-LULOGMMM.js +1133 -0
- package/dist/chunk-LWGKN2GY.js +8284 -0
- package/dist/chunk-LX4F24ZH.js +157 -0
- package/dist/chunk-M4BUEXXF.js +839 -0
- package/dist/chunk-M6UHOC4I.js +553 -0
- package/dist/chunk-MCBNWZNO.js +657 -0
- package/dist/chunk-MEMSY6VY.js +223 -0
- package/dist/chunk-MHLEZQQI.js +145 -0
- package/dist/chunk-MJ6WNSIX.js +192 -0
- package/dist/chunk-MKASIKWZ.js +442 -0
- package/dist/chunk-MNOVBYFU.js +60 -0
- package/dist/chunk-MO2BYAAF.js +2896 -0
- package/dist/chunk-MP6P7Y2A.js +180 -0
- package/dist/chunk-MQ4TFJAG.js +3365 -0
- package/dist/chunk-MT2WAIR3.js +131 -0
- package/dist/chunk-MTU7VTNN.js +1122 -0
- package/dist/chunk-MULMXX4V.js +150 -0
- package/dist/chunk-MW2DWWVA.js +147 -0
- package/dist/chunk-MY3ZPUN4.js +151 -0
- package/dist/chunk-MYLH2S4G.js +64 -0
- package/dist/chunk-MZ5WYKNA.js +28 -0
- package/dist/chunk-N3Q2JNPV.js +249 -0
- package/dist/chunk-N5DX4JAK.js +12 -0
- package/dist/chunk-NAINGKHF.js +35 -0
- package/dist/chunk-NEQUQHOX.js +223 -0
- package/dist/chunk-NHNPEZS4.js +1408 -0
- package/dist/chunk-NHTIXJCR.js +17 -0
- package/dist/chunk-NKLPMBNV.js +1154 -0
- package/dist/chunk-NMVZ5YES.js +199 -0
- package/dist/chunk-NRFRY3GE.js +256 -0
- package/dist/chunk-NTD6CSI6.js +1266 -0
- package/dist/chunk-NUO7B3SH.js +318 -0
- package/dist/chunk-NVOHIJKG.js +1319 -0
- package/dist/chunk-NXH3RX7O.js +523 -0
- package/dist/chunk-NXZ3DURF.js +257 -0
- package/dist/chunk-O26L6F7F.js +209 -0
- package/dist/chunk-O5RRIUEP.js +124 -0
- package/dist/chunk-O5X6BKAO.js +10 -0
- package/dist/chunk-O6ZQUVTR.js +31 -0
- package/dist/chunk-O7FE75QZ.js +306 -0
- package/dist/chunk-OC7Z6AJQ.js +81 -0
- package/dist/chunk-OH7IEZ63.js +307 -0
- package/dist/chunk-OI734GRS.js +115 -0
- package/dist/chunk-OJBH62DK.js +684 -0
- package/dist/chunk-OKJLVSTJ.js +247 -0
- package/dist/chunk-OMX5VL43.js +79 -0
- package/dist/chunk-ONHAMBN6.js +12 -0
- package/dist/chunk-ONYPLIVE.js +753 -0
- package/dist/chunk-OSK7QWPD.js +637 -0
- package/dist/chunk-OTXLMJKP.js +438 -0
- package/dist/chunk-OV5PKQMA.js +213 -0
- package/dist/chunk-OXK5HA4B.js +31 -0
- package/dist/chunk-OYDWFQA4.js +272 -0
- package/dist/chunk-OZAUKWHB.js +22 -0
- package/dist/chunk-P5P2EKGH.js +94 -0
- package/dist/chunk-P6SSWAKY.js +29 -0
- package/dist/chunk-P7CQGPLS.js +30 -0
- package/dist/chunk-P7RVCHQV.js +197 -0
- package/dist/chunk-PEBWDYIW.js +726 -0
- package/dist/chunk-PFCXFO7A.js +9193 -0
- package/dist/chunk-PFLDWMX6.js +168 -0
- package/dist/chunk-PHZGLQSK.js +15883 -0
- package/dist/chunk-PNFTPNSR.js +20 -0
- package/dist/chunk-PPHXX4W7.js +175 -0
- package/dist/chunk-PPZESPJT.js +262 -0
- package/dist/chunk-PRDHI2L5.js +296 -0
- package/dist/chunk-PSTKWHHN.js +32 -0
- package/dist/chunk-PV53ODOT.js +555 -0
- package/dist/chunk-PVJBTI7P.js +24 -0
- package/dist/chunk-PXKERBKX.js +100 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-Q3DHEZA5.js +85 -0
- package/dist/chunk-Q5RZDVQK.js +204 -0
- package/dist/chunk-Q64IR2Z2.js +4933 -0
- package/dist/chunk-Q6Z5UGPL.js +398 -0
- package/dist/chunk-QAMAV4DT.js +627 -0
- package/dist/chunk-QBWF4444.js +112 -0
- package/dist/chunk-QDKYT4CI.js +22805 -0
- package/dist/chunk-QFLBRWCJ.js +126 -0
- package/dist/chunk-QILAQACE.js +107 -0
- package/dist/chunk-QJ6OEH4K.js +3683 -0
- package/dist/chunk-QK3NLYTV.js +320 -0
- package/dist/chunk-QOFLUS24.js +535 -0
- package/dist/chunk-QOIASNEJ.js +98 -0
- package/dist/chunk-QP4UTSOV.js +3587 -0
- package/dist/chunk-QP5ST7RI.js +904 -0
- package/dist/chunk-QS5AGRZN.js +167 -0
- package/dist/chunk-QTAOU53N.js +107 -0
- package/dist/chunk-QTCLJHLZ.js +351 -0
- package/dist/chunk-QTOLTG4L.js +119 -0
- package/dist/chunk-QWDV4OSL.js +142 -0
- package/dist/chunk-QWMQ74KD.js +508 -0
- package/dist/chunk-QX6LOMMH.js +158 -0
- package/dist/chunk-QXBKIHY7.js +238 -0
- package/dist/chunk-QXBKTJT6.js +270 -0
- package/dist/chunk-QYQOVOLR.js +196 -0
- package/dist/chunk-R2CKS6WT.js +73 -0
- package/dist/chunk-R2TIYG7U.js +68 -0
- package/dist/chunk-R2W3LESH.js +465 -0
- package/dist/chunk-R5EXHMUN.js +100 -0
- package/dist/chunk-RBBTBCHX.js +289 -0
- package/dist/chunk-RBKLOUXA.js +121 -0
- package/dist/chunk-RCP2Y6DQ.js +86 -0
- package/dist/chunk-RCYEJSD5.js +260 -0
- package/dist/chunk-RFDVSI4N.js +134 -0
- package/dist/chunk-RGJU63FV.js +1717 -0
- package/dist/chunk-RI4EX2QE.js +18 -0
- package/dist/chunk-RIMARPCF.js +152 -0
- package/dist/chunk-RJ6RSNT6.js +42 -0
- package/dist/chunk-RNI2GUIF.js +131 -0
- package/dist/chunk-RPHUWJ3K.js +264 -0
- package/dist/chunk-RPIMAMV7.js +361 -0
- package/dist/chunk-RQFX6YRN.js +49 -0
- package/dist/chunk-RRC5BL7B.js +285 -0
- package/dist/chunk-RSYTSBOO.js +79 -0
- package/dist/chunk-RWQQIKIC.js +35 -0
- package/dist/chunk-RZUBOZH2.js +373 -0
- package/dist/chunk-S2E632FQ.js +380 -0
- package/dist/chunk-S2VQCZO4.js +22 -0
- package/dist/chunk-S2XIMQJQ.js +681 -0
- package/dist/chunk-S47ISY27.js +183 -0
- package/dist/chunk-S6I4KISU.js +142 -0
- package/dist/chunk-S6TAFQI5.js +2403 -0
- package/dist/chunk-SBBNT5ZJ.js +27 -0
- package/dist/chunk-SDJV2DTQ.js +491 -0
- package/dist/chunk-SDPIFNLD.js +33 -0
- package/dist/chunk-SF6YK3JI.js +835 -0
- package/dist/chunk-SK3ZFONO.js +976 -0
- package/dist/chunk-SKTFRFQ7.js +1775 -0
- package/dist/chunk-SNGM452K.js +2002 -0
- package/dist/chunk-STW7OFOA.js +581 -0
- package/dist/chunk-SU6UFUQY.js +1351 -0
- package/dist/chunk-SVJM3LJA.js +27 -0
- package/dist/chunk-SVUNZOPG.js +129 -0
- package/dist/chunk-T5XLUYV3.js +34 -0
- package/dist/chunk-T7E5JS6N.js +57 -0
- package/dist/chunk-TA3N5MMO.js +450 -0
- package/dist/chunk-TAJPCXSB.js +13 -0
- package/dist/chunk-TDEMDRN2.js +1639 -0
- package/dist/chunk-TDSEX5CF.js +24 -0
- package/dist/chunk-TGCVL74Y.js +28 -0
- package/dist/chunk-TGXXYDL4.js +1012 -0
- package/dist/chunk-TIKTYUJO.js +296 -0
- package/dist/chunk-TIZAJD4M.js +6029 -0
- package/dist/chunk-TLSEZZCG.js +5549 -0
- package/dist/chunk-TMBDRHAX.js +19 -0
- package/dist/chunk-TRURQUBP.js +1217 -0
- package/dist/chunk-TSQ256N5.js +152 -0
- package/dist/chunk-TUQMMFEQ.js +2244 -0
- package/dist/chunk-U424MJLC.js +81 -0
- package/dist/chunk-U4DRS6ZW.js +11 -0
- package/dist/chunk-U5KS22IN.js +204 -0
- package/dist/chunk-UAPHFJPN.js +673 -0
- package/dist/chunk-UB7LQITD.js +1040 -0
- package/dist/chunk-UBVRHGAZ.js +237 -0
- package/dist/chunk-UDNNAQN5.js +98 -0
- package/dist/chunk-UJP3XM54.js +342 -0
- package/dist/chunk-UJYDH2MW.js +305 -0
- package/dist/chunk-UKMPASIC.js +399 -0
- package/dist/chunk-UKUL3EHK.js +763 -0
- package/dist/chunk-UPHU64NB.js +1327 -0
- package/dist/chunk-URMSZXAD.js +43 -0
- package/dist/chunk-US3RT6CY.js +525 -0
- package/dist/chunk-UTDEOPKV.js +30 -0
- package/dist/chunk-UUUDKV7N.js +13 -0
- package/dist/chunk-UVKWU3SM.js +39 -0
- package/dist/chunk-V2TVPO3X.js +521 -0
- package/dist/chunk-V3KLVK7B.js +398 -0
- package/dist/chunk-V3YFFHDR.js +17 -0
- package/dist/chunk-VAG6GUBR.js +1162 -0
- package/dist/chunk-VBENAHDA.js +1814 -0
- package/dist/chunk-VBNCKCCI.js +16 -0
- package/dist/chunk-VCGSWN5M.js +1300 -0
- package/dist/chunk-VE2O2I7M.js +115 -0
- package/dist/chunk-VIFHYTI5.js +31 -0
- package/dist/chunk-VJER3FUS.js +5080 -0
- package/dist/chunk-VLMDM56Q.js +268 -0
- package/dist/chunk-VMFZEVVX.js +99 -0
- package/dist/chunk-VNDPQVUZ.js +1853 -0
- package/dist/chunk-VSPJRLGA.js +4783 -0
- package/dist/chunk-VSWC5ZXI.js +103 -0
- package/dist/chunk-VYI4DSZP.js +2017 -0
- package/dist/chunk-W4BAIQ6L.js +1212 -0
- package/dist/chunk-W7VQAL2K.js +2203 -0
- package/dist/chunk-WEI3ZDZH.js +33 -0
- package/dist/chunk-WEIUS5NT.js +26 -0
- package/dist/chunk-WEW7UFWE.js +546 -0
- package/dist/chunk-WGQAXLNA.js +384 -0
- package/dist/chunk-WJAL4JL3.js +206 -0
- package/dist/chunk-WKFOJ5ZG.js +141 -0
- package/dist/chunk-WMWQEFLN.js +2177 -0
- package/dist/chunk-WNECKKO2.js +154 -0
- package/dist/chunk-WPKLYOAM.js +195 -0
- package/dist/chunk-WSH37YQN.js +243 -0
- package/dist/chunk-WV3KQDPE.js +84 -0
- package/dist/chunk-WZFC4V4U.js +389 -0
- package/dist/chunk-XCOIBNET.js +13 -0
- package/dist/chunk-XDM65LBX.js +53 -0
- package/dist/chunk-XGU6PBO5.js +645 -0
- package/dist/chunk-XHOI4V62.js +43 -0
- package/dist/chunk-XIBVFMLQ.js +6858 -0
- package/dist/chunk-XJ2E7YEJ.js +117 -0
- package/dist/chunk-XON4ZCYX.js +69 -0
- package/dist/chunk-XQPEWJPI.js +127 -0
- package/dist/chunk-XSJTIFUY.js +31 -0
- package/dist/chunk-XT7OVWM3.js +64 -0
- package/dist/chunk-XTXYIISX.js +1104 -0
- package/dist/chunk-XV7NZL4B.js +57 -0
- package/dist/chunk-XWIZ6B5S.js +109 -0
- package/dist/chunk-XWLIKOBX.js +240 -0
- package/dist/chunk-XZOXEIN4.js +156 -0
- package/dist/chunk-XZRS7I7W.js +3673 -0
- package/dist/chunk-Y4ZDDHB6.js +44 -0
- package/dist/chunk-Y733RB7T.js +194 -0
- package/dist/chunk-YBHUB4XR.js +14931 -0
- package/dist/chunk-YKC75XK4.js +147 -0
- package/dist/chunk-YKMXFVK7.js +27 -0
- package/dist/chunk-YO5BAJ55.js +225 -0
- package/dist/chunk-YPDCLXNZ.js +568 -0
- package/dist/chunk-YSQPGVFK.js +116 -0
- package/dist/chunk-YTVVTIWJ.js +716 -0
- package/dist/chunk-YVCMDVBB.js +698 -0
- package/dist/chunk-YYTOA6DP.js +114 -0
- package/dist/chunk-Z5WGNULV.js +88 -0
- package/dist/chunk-Z6NGVVXG.js +66 -0
- package/dist/chunk-Z7CDQNH3.js +20 -0
- package/dist/chunk-ZH4G3FU5.js +187 -0
- package/dist/chunk-ZJB6SQPA.js +257 -0
- package/dist/chunk-ZL6E4HMY.js +42 -0
- package/dist/chunk-ZMLOC3DW.js +62 -0
- package/dist/chunk-ZORW64QH.js +101 -0
- package/dist/chunk-ZVVD2XGV.js +1369 -0
- package/dist/cli-utils-ER33ODC5.js +31 -0
- package/dist/cli-validation-6CHPTANV.js +146 -0
- package/dist/commit-utils-3STAY7C7.js +49 -0
- package/dist/compatibility-notice-IHNXR2JR.js +21 -0
- package/dist/compete-config-resolver-V3GDNJMM.js +125 -0
- package/dist/compete-results-XUM3PJHS.js +318 -0
- package/dist/competition-outcome-tracker-NWSMVUPG.js +62 -0
- package/dist/config-4HHE4OIK.js +238 -0
- package/dist/config-D6YAZASH.js +10 -0
- package/dist/config-MIPRDYYV.js +46 -0
- package/dist/config-audit-GA5DCUAI.js +371 -0
- package/dist/config-explain-4LMO556H.js +71 -0
- package/dist/config-loader-RGP634PC.js +51 -0
- package/dist/config-manager-J2UTO635.js +114 -0
- package/dist/config-merger-TVUJBZTS.js +14 -0
- package/dist/config-validator-H4ZVIE56.js +122 -0
- package/dist/cost-HSIV5U2Y.js +85 -0
- package/dist/data-migration-state-OAUL2WPQ.js +35 -0
- package/dist/db-migrator-NUOW5NKR.js +34 -0
- package/dist/default-paths-UILB62BN.js +49 -0
- package/dist/discovery-V6GYUJUC.js +53 -0
- package/dist/doctor-BBSMCDWE.js +271 -0
- package/dist/doctor-context-blocks-LPY75VZA.js +231 -0
- package/dist/doctor-instructions-import-JXHDDOE5.js +70 -0
- package/dist/doctor-purpose-6YJOXPBE.js +30 -0
- package/dist/domain-analyzer-S35ABUNA.js +48 -0
- package/dist/ensure-initialized-Q6PEU55O.js +78 -0
- package/dist/entry.js +922 -0
- package/dist/error-parser-core-MZFMFANN.js +70 -0
- package/dist/evaluation-context-GQBYDAEV.js +63 -0
- package/dist/evidence-plan-resolver-5FUAP3SA.js +111 -0
- package/dist/execution-data-writer-YCG5UH37.js +72 -0
- package/dist/execution-policy-applier-PWZM5LNA.js +63 -0
- package/dist/execution-preflight-DASJWWQF.js +223 -0
- package/dist/execution-roles-KNSNNB2D.js +112 -0
- package/dist/exit-code-error-QIY5DOKF.js +18 -0
- package/dist/external-temp-cleanup-CAW7LQ6R.js +360 -0
- package/dist/factory-YCYCB7AE.js +209 -0
- package/dist/file-utils-ZQYNBQBW.js +45 -0
- package/dist/flywheel-allowlist-revert-H22HA6JE.js +21 -0
- package/dist/flywheel-autoloop-executor-PDOASJEZ.js +316 -0
- package/dist/flywheel-autoloop-unverified-TOKYFCDC.js +36 -0
- package/dist/flywheel-competition-executor-YJUMMEJO.js +320 -0
- package/dist/flywheel-executor-JWU43KAY.js +437 -0
- package/dist/flywheel-git-isolation-FQ2TRWMB.js +56 -0
- package/dist/flywheel-manifest-HDPNMWWF.js +114 -0
- package/dist/flywheel-model-defaults-UHAKTZT3.js +110 -0
- package/dist/flywheel-preflight-III2C7TH.js +163 -0
- package/dist/flywheel-resume-2O45MS7Y.js +31 -0
- package/dist/flywheel-resume-execution-lease-P2BK257J.js +59 -0
- package/dist/flywheel-safety-AVAVFXIJ.js +19 -0
- package/dist/flywheel-scope-decision-ALJUUNGG.js +14 -0
- package/dist/get-telemetry-logger-MPDVO2JA.js +155 -0
- package/dist/git-message-style-KCXGMTDT.js +104 -0
- package/dist/guidance-profile-config-G3K5YQOO.js +113 -0
- package/dist/guidance-profile-renderer-TX4TNDFL.js +23 -0
- package/dist/identity-XLQJ4YJF.js +25 -0
- package/dist/index-query-6NUY4FKX.js +37 -0
- package/dist/index.js +85588 -0
- package/dist/indexer-DL54CM3K.js +44 -0
- package/dist/init-OUZ72344.js +245 -0
- package/dist/instructions-import-offer-NSYXSITC.js +363 -0
- package/dist/instructions-run-NBII7W36.js +114 -0
- package/dist/interrupted-work-E4TLKJLE.js +43 -0
- package/dist/invoke-provider-auth-NEWEIHCI.js +38 -0
- package/dist/judge-scoring.json +64 -0
- package/dist/lab-mode-YXQ2Y3NG.js +44 -0
- package/dist/lab-utils-5QAMDJR5.js +29 -0
- package/dist/linux-host-class-YDWQX65O.js +31 -0
- package/dist/llm-judge-executor-OJSNCTFJ.js +179 -0
- package/dist/local-ci-config-VZ4WWDT5.js +48 -0
- package/dist/local-executor-DCMDDRX2.js +280 -0
- package/dist/logger-5KNKS3O4.js +154 -0
- package/dist/matrix-prompt-builder-4ZBOGZSB.js +527 -0
- package/dist/matrix-result-parser-EZJM4YXP.js +14 -0
- package/dist/merge-batch-RTEEMVDB.js +313 -0
- package/dist/merge-batch-members-VIWGVRHP.js +24 -0
- package/dist/merge-queue-TIIUSOY6.js +126 -0
- package/dist/merge-queue-trust-DUNZ4J65.js +21 -0
- package/dist/metadata-UKSMWM6J.js +29 -0
- package/dist/model-catalog-readiness-R5KJBP5M.js +202 -0
- package/dist/model-invocations-db-XTUPPQ34.js +70 -0
- package/dist/model-resolver-JFZ2MHOJ.js +39 -0
- package/dist/model-resolver-SCQ57KAQ.js +217 -0
- package/dist/model-roles-D3OR4NAH.js +110 -0
- package/dist/monitor-F4SIU5G2.js +96 -0
- package/dist/nested-worktrees-2WUWQ75N.js +23 -0
- package/dist/next-S3IRLVER.js +96 -0
- package/dist/next-UKPFRXOO.js +148 -0
- package/dist/opportunistic-TL4S26VX.js +86 -0
- package/dist/optimization-config-resolver-NAEIYU6A.js +148 -0
- package/dist/package-HJR4QJT4.js +10 -0
- package/dist/parse-git-status-7PIYFPS2.js +21 -0
- package/dist/path-security-5WJSY56G.js +41 -0
- package/dist/paths-JUI7C4KU.js +45 -0
- package/dist/plan-backlog-list-fast-SSTQL5XP.js +89 -0
- package/dist/plan-backlog-show-fast-PFRAQ3JB.js +114 -0
- package/dist/plan-sprint-list-fast-HD2KBZSY.js +110 -0
- package/dist/plan-sprint-status-fast-YFYH7WQF.js +116 -0
- package/dist/plan-task-status-fast-JU5PNLUU.js +114 -0
- package/dist/plan-to-flywheel-PY5MSY2H.js +529 -0
- package/dist/preflight-PJHGTJNZ.js +12 -0
- package/dist/process-registry-B4ZUCN7T.js +28 -0
- package/dist/process-scanner-TU3QHWVB.js +23 -0
- package/dist/processes-6FHVGT72.js +28 -0
- package/dist/processes-json-fast-YWTMUWXB.js +72 -0
- package/dist/profile-HWTC56SG.js +209 -0
- package/dist/project-runtime-paths-2UQNG5Y4.js +41 -0
- package/dist/protected-branches-N36LDBFY.js +71 -0
- package/dist/provider-aware-resource-manager-YTFAHNGJ.js +40 -0
- package/dist/provider-matrix-2KO2V5OM.js +214 -0
- package/dist/provider-matrix-renderer-MEC3PER7.js +139 -0
- package/dist/provider-output-forwarding-2AHL7YMA.js +26 -0
- package/dist/provider-registry-WCZ65QHC.js +136 -0
- package/dist/provider-temp-cleanup-IUNPJCZF.js +14 -0
- package/dist/prune-engine-EOQVWEP6.js +448 -0
- package/dist/publication-turn-S42RZTQF.js +44 -0
- package/dist/quality-gate-JQMVCKOO.js +72 -0
- package/dist/quickstart-3O6FRCFB.js +105 -0
- package/dist/readiness-GW6ABRHB.js +139 -0
- package/dist/readiness-KFZCXDTT.js +215 -0
- package/dist/registry-7XG376SY.js +217 -0
- package/dist/repair-helpers-TTV5FEF4.js +117 -0
- package/dist/repo-root-YG6MQZDW.js +28 -0
- package/dist/resolution-engine-FFEK7HQ2.js +187 -0
- package/dist/resolve-provider-cli-ZEXVZKET.js +44 -0
- package/dist/restore-telemetry-db-E7BR5PO7.js +459 -0
- package/dist/routing-events-AW6SRZ6G.js +13 -0
- package/dist/routing-history-store-FMDDQL6W.js +39 -0
- package/dist/routing-planner-C6OHO3EY.js +221 -0
- package/dist/runner-KHDNQ5KU.js +1194 -0
- package/dist/runner-PIS2BW7Y.js +1801 -0
- package/dist/safety-E3JJVSFL.js +67 -0
- package/dist/safety-stanza-HE6GXP4G.js +49 -0
- package/dist/sandbox-7LBZC5PE.js +72 -0
- package/dist/sandbox-ASWCDYZL.js +80 -0
- package/dist/schema-extensions.sql +234 -0
- package/dist/security-JI22TBEB.js +17 -0
- package/dist/setup-bb-plugin-FQXLA76Y.js +531 -0
- package/dist/setup-claude-code-NF4ZSHVE.js +197 -0
- package/dist/setup-temp-cleanup-2APZ4HMA.js +29 -0
- package/dist/shared-utils-34HJZ6JX.js +40 -0
- package/dist/simple-artifact-goal-MQLDDMMX.js +29 -0
- package/dist/sprint-N7JFTEGL.js +403 -0
- package/dist/sprint-bridge-KJXIBNRJ.js +117 -0
- package/dist/sprint-completion-dependents-34SR7JVL.js +43 -0
- package/dist/sprint-execution-service-A6JPUBWY.js +376 -0
- package/dist/sprint-manager-MU2ZUWN2.js +140 -0
- package/dist/sqlite-timeout-config-U2CT4LKU.js +13 -0
- package/dist/sqlite-wrapper-FSGJ2QEW.js +19 -0
- package/dist/stale-cleanup-orchestrator-4X6324VF.js +71 -0
- package/dist/storage-access-I3V5LER7.js +31 -0
- package/dist/store-XVG64ZR2.js +25 -0
- package/dist/task-classifier-MN2DYE5R.js +558 -0
- package/dist/task-list-fast-7AT6LTTA.js +112 -0
- package/dist/task-manager-LHPBBRRE.js +136 -0
- package/dist/task-report-OLPAWBTK.js +64 -0
- package/dist/task-type-detector-6RG3YNZF.js +27 -0
- package/dist/task-type-resolver-EQHOUIHT.js +64 -0
- package/dist/telemetry-5VYSK772.js +212 -0
- package/dist/telemetry-health-tracker-4GFW2EMP.js +12 -0
- package/dist/telemetry-path-resolver-H3NFHHQY.js +34 -0
- package/dist/telemetry-reliability-URJDTNPZ.js +76 -0
- package/dist/transports-NREZQTJK.js +106 -0
- package/dist/unified-cost-tracker-5MTBJ2CL.js +59 -0
- package/dist/unified-state-cleanup-GGAXLHXF.js +292 -0
- package/dist/universal-cost-calculator-JTFEJVWK.js +70 -0
- package/dist/user-agents-QLIGPLP2.js +30 -0
- package/dist/variant-execution-I4ZZUAWY.js +319 -0
- package/dist/variant-opt-parser-JHCXKY2K.js +251 -0
- package/dist/variant-request-input-PL37N3AN.js +11 -0
- package/dist/variant-state-cleanup-KHMXRBZN.js +287 -0
- package/dist/variant-worker-COB5YTJX.js +4517 -0
- package/dist/variant-worker.js +26 -0
- package/dist/variants-XGDSXYG3.js +267 -0
- package/dist/verification-command-YSPU4VBH.js +66 -0
- package/dist/verify-command-timeout-DQUYH33Z.js +11 -0
- package/dist/verify-commands-LOHMOFKC.js +65 -0
- package/dist/warning-JSKSFKBT.js +13 -0
- package/dist/work-edge-K65NHVWY.js +50 -0
- package/dist/work-item-writer-KY5ZWZWW.js +30 -0
- package/dist/worker-JNXXEIT6.js +1504 -0
- package/dist/worker.js +21 -0
- package/dist/workspace-tree-identity-JO5PSKTW.js +52 -0
- package/dist/worktree-environment-WTVABAQW.js +64 -0
- package/dist/worktree-metrics-VZRQI26T.js +66 -0
- package/dist/writeback-TQFQBJNU.js +50 -0
- package/docs/CLI_REFERENCE.md +8287 -0
- package/docs/PROVIDER_SETUP.md +1737 -0
- package/docs/README.md +96 -0
- package/docs/TROUBLESHOOTING.md +2209 -0
- package/docs/getting-started/QUICK_START.md +260 -0
- package/docs/getting-started/README.md +198 -0
- package/docs/getting-started/SETUP.md +25 -0
- package/docs/reference/AGENT_CONTEXT.md +84 -0
- package/docs/reference/DELIVERY_ONBOARDING.md +198 -0
- package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
- package/docs/reference/SECURITY.md +291 -0
- package/docs/reference/TELEMETRY_PRIVACY.md +259 -0
- package/integrations/bb-plugin-build/README.md +391 -0
- package/integrations/bb-plugin-build/app.css +431 -0
- package/integrations/bb-plugin-build/app.tsx +6210 -0
- package/integrations/bb-plugin-build/package.json +45 -0
- package/integrations/bb-plugin-build/server.ts +488 -0
- package/integrations/bb-plugin-build/src/adapter.ts +3672 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-model.ts +150 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-schema.ts +458 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-service.ts +467 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-view.ts +1025 -0
- package/integrations/bb-plugin-build/src/command-evidence-schema.ts +13 -0
- package/integrations/bb-plugin-build/src/competition-defaults-schema.ts +122 -0
- package/integrations/bb-plugin-build/src/competition-defaults-service.ts +105 -0
- package/integrations/bb-plugin-build/src/competition-defaults-view.ts +138 -0
- package/integrations/bb-plugin-build/src/contract.ts +718 -0
- package/integrations/bb-plugin-build/src/execution-activity-view.ts +98 -0
- package/integrations/bb-plugin-build/src/finalize-model.ts +205 -0
- package/integrations/bb-plugin-build/src/finalize-schema.ts +150 -0
- package/integrations/bb-plugin-build/src/finalize-service.ts +330 -0
- package/integrations/bb-plugin-build/src/finalize-view.ts +159 -0
- package/integrations/bb-plugin-build/src/judge-operations-readback.ts +303 -0
- package/integrations/bb-plugin-build/src/judge-operations-schema.ts +33 -0
- package/integrations/bb-plugin-build/src/judge-operations-view.ts +459 -0
- package/integrations/bb-plugin-build/src/model.ts +1318 -0
- package/integrations/bb-plugin-build/src/monitor-service.ts +233 -0
- package/integrations/bb-plugin-build/src/panel-read-ux.ts +97 -0
- package/integrations/bb-plugin-build/src/patch-preview-schema.ts +166 -0
- package/integrations/bb-plugin-build/src/patch-preview-service.ts +480 -0
- package/integrations/bb-plugin-build/src/patch-preview-view.ts +109 -0
- package/integrations/bb-plugin-build/src/planning-readback.ts +228 -0
- package/integrations/bb-plugin-build/src/planning-service.ts +647 -0
- package/integrations/bb-plugin-build/src/planning-sync-evidence.ts +37 -0
- package/integrations/bb-plugin-build/src/planning-workspace-readback.ts +33 -0
- package/integrations/bb-plugin-build/src/planning-workspace-schema.ts +131 -0
- package/integrations/bb-plugin-build/src/planning-workspace.ts +333 -0
- package/integrations/bb-plugin-build/src/poll-handoff.ts +136 -0
- package/integrations/bb-plugin-build/src/project-target-server.ts +21 -0
- package/integrations/bb-plugin-build/src/project-target.ts +45 -0
- package/integrations/bb-plugin-build/src/reference-index.ts +218 -0
- package/integrations/bb-plugin-build/src/repository-identity.ts +17 -0
- package/integrations/bb-plugin-build/src/repository-schema.ts +30 -0
- package/integrations/bb-plugin-build/src/result-explorer-view.ts +597 -0
- package/integrations/bb-plugin-build/src/result-readback-model.ts +163 -0
- package/integrations/bb-plugin-build/src/result-readback-schema.ts +319 -0
- package/integrations/bb-plugin-build/src/result-readback-service.ts +333 -0
- package/integrations/bb-plugin-build/src/run-page-view.ts +332 -0
- package/integrations/bb-plugin-build/src/setup-config-schema.ts +293 -0
- package/integrations/bb-plugin-build/src/setup-config-service.ts +620 -0
- package/integrations/bb-plugin-build/src/setup-config-view.ts +388 -0
- package/integrations/bb-plugin-build/src/sprint-close-model.ts +150 -0
- package/integrations/bb-plugin-build/src/sprint-close-schema.ts +128 -0
- package/integrations/bb-plugin-build/src/sprint-close-service.ts +293 -0
- package/integrations/bb-plugin-build/src/sprint-close-view.ts +116 -0
- package/integrations/bb-plugin-build/src/sprint-composition-model.ts +709 -0
- package/integrations/bb-plugin-build/src/sprint-composition-readback.ts +231 -0
- package/integrations/bb-plugin-build/src/sprint-composition-schema.ts +597 -0
- package/integrations/bb-plugin-build/src/sprint-composition-service.ts +773 -0
- package/integrations/bb-plugin-build/src/sprint-composition-view.ts +1221 -0
- package/integrations/bb-plugin-build/src/sprint-execution-schema.ts +188 -0
- package/integrations/bb-plugin-build/src/sprint-execution-service.ts +289 -0
- package/integrations/bb-plugin-build/src/sprint-execution-view.ts +54 -0
- package/integrations/bb-plugin-build/src/task-authoring-model.ts +563 -0
- package/integrations/bb-plugin-build/src/task-authoring-schema.ts +629 -0
- package/integrations/bb-plugin-build/src/task-authoring-service.ts +842 -0
- package/integrations/bb-plugin-build/src/task-authoring-view.ts +1227 -0
- package/integrations/bb-plugin-build/src/task-catalog-schema.ts +46 -0
- package/integrations/bb-plugin-build/src/task-catalog-service.ts +44 -0
- package/integrations/bb-plugin-build/src/task-detail-readback.ts +56 -0
- package/integrations/bb-plugin-build/src/task-detail-schema.ts +171 -0
- package/integrations/bb-plugin-build/src/task-navigation.ts +446 -0
- package/integrations/bb-plugin-build/src/workbench-route.ts +74 -0
- package/package.json +306 -4
- package/schemas/README.md +80 -0
- package/schemas/build.config.schema.json +2110 -0
- package/schemas/config-v1.schema.json +136 -0
- package/schemas/execution-config.schema.json +47 -0
- package/schemas/judge-scoring.schema.json +257 -0
- package/schemas/provider-config.schema.json +179 -0
- package/schemas/telemetry-config.schema.json +79 -0
- package/schemas/user-preferences.schema.json +141 -0
- package/scripts/assert-node-runtime.mjs +146 -0
- package/scripts/preflight-native.mjs +49 -0
- package/scripts/setup-git-hooks.mjs +39 -0
- package/scripts/sync.sh +2871 -0
- package/scripts/write-node-launcher.sh +138 -0
- package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
- package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
- package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
- package/templates/.build-project/README.md +41 -0
- package/templates/.build-project/agents/README.md +50 -0
- package/templates/.build-project/agents/architect.md +10 -0
- package/templates/.build-project/agents/code-reviewer.md +10 -0
- package/templates/.build-project/agents/debugger.md +10 -0
- package/templates/.build-project/agents/documenter.md +10 -0
- package/templates/.build-project/agents/test-automator.md +10 -0
- package/templates/.build-project/config/build.config.jsonc +64 -0
- package/templates/.build-project/config/project-context.template.json +6 -0
- package/templates/.build-project/config/task-type-aliases.presets/kanban.yaml +14 -0
- package/templates/.build-project/config/task-type-aliases.presets/scrum.yaml +17 -0
- package/templates/.build-project/config/task-type-aliases.presets/xp.yaml +12 -0
- package/templates/.build-project/config/task-type-aliases.yaml +29 -0
- package/templates/.build-project/gitignore.template +70 -0
- package/templates/.build-project/task-types/analysis.yaml +38 -0
- package/templates/.build-project/task-types/architecture.yaml +35 -0
- package/templates/.build-project/task-types/doc.yaml +34 -0
- package/templates/.build-project/task-types/feature.yaml +22 -0
- package/templates/.build-project/task-types/general.yaml +4 -0
- package/templates/.build-project/task-types/security.yaml +38 -0
- package/templates/AGENTS.template.md +85 -0
- package/templates/CLAUDE.template.md +1 -0
- package/templates/GEMINI.template.md +1 -0
- package/templates/builtin-workflows/code-review.yaml +73 -0
- package/templates/builtin-workflows/skills/code-review/SKILL.md +61 -0
- package/templates/builtin-workflows/skills/execution-contract-analysis/SKILL.md +24 -0
- package/templates/builtin-workflows/skills/execution-contract-code/SKILL.md +19 -0
- package/templates/builtin-workflows/skills/execution-contract-structured/SKILL.md +17 -0
- package/templates/ci/incident-intake.mjs +787 -0
- package/templates/ci/incidents.yml.template +103 -0
- package/templates/ci/node.yml.template +17 -0
- package/templates/ci/python.yml.template +17 -0
- package/templates/guard-kit/GUARD_SETUP.md.template +258 -0
- package/templates/guard-kit/build-guard.yml.template +189 -0
- package/templates/guard-kit/check.mjs.template +932 -0
- package/templates/guard-kit/config.json.template +7 -0
- package/templates/guard-kit/policy.json.template +1 -0
- package/templates/profiles/README.md +57 -0
- package/templates/profiles/frontier-claude.json +23 -0
- package/templates/profiles/frontier-codex.json +23 -0
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PI_BACKEND_ENV_KEYS
|
|
3
|
+
} from "./chunk-ONHAMBN6.js";
|
|
4
|
+
import {
|
|
5
|
+
envWithoutAmbientGitRepository
|
|
6
|
+
} from "./chunk-XDM65LBX.js";
|
|
7
|
+
|
|
8
|
+
// src/core/providers/shared/child-env.ts
|
|
9
|
+
var RESERVED_HEADERS = [
|
|
10
|
+
"ANTHROPIC_CUSTOM_HEADERS",
|
|
11
|
+
// Claude Code session markers — all must be removed to prevent
|
|
12
|
+
// "Claude Code cannot be launched inside another Claude Code session" errors.
|
|
13
|
+
"CLAUDECODE",
|
|
14
|
+
"CLAUDE_CODE",
|
|
15
|
+
"CLAUDE_CODE_SSE_PORT",
|
|
16
|
+
"CLAUDE_CODE_ENTRYPOINT",
|
|
17
|
+
"CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR",
|
|
18
|
+
"AI_SDK"
|
|
19
|
+
];
|
|
20
|
+
var CLAUDE_SESSION_PREFIX = "CLAUDE_CODE_";
|
|
21
|
+
var CLAUDE_SESSION_MARKER_ALLOWED_KEYS = /* @__PURE__ */ new Set([
|
|
22
|
+
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
23
|
+
"CLAUDE_CODE_EFFORT_LEVEL",
|
|
24
|
+
// Capability flag, not a session marker: it disables the 1M context window.
|
|
25
|
+
// Build reads the same variable when deciding whether to append the `[1m]`
|
|
26
|
+
// selector, so suppressing the selector in the parent while letting the child
|
|
27
|
+
// run unrestricted would desync the two.
|
|
28
|
+
"CLAUDE_CODE_DISABLE_1M_CONTEXT",
|
|
29
|
+
"CLAUDE_CODE_USE_BEDROCK",
|
|
30
|
+
"CLAUDE_CODE_USE_VERTEX",
|
|
31
|
+
// Microsoft Foundry backend switch. Like the Bedrock/Vertex flags it selects a
|
|
32
|
+
// backend rather than marking a nested session, so stripping it would silently
|
|
33
|
+
// drop the operator's backend choice before the child spawns.
|
|
34
|
+
"CLAUDE_CODE_USE_FOUNDRY",
|
|
35
|
+
// Capability flag: loads the CLAUDE.md of each `--add-dir` directory. Build sets it
|
|
36
|
+
// for a launch that carries Build's instruction set (claude/execution/instruction-isolation.ts).
|
|
37
|
+
"CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD",
|
|
38
|
+
// User output-token override; docs/providers/claude.md documents that it is honoured.
|
|
39
|
+
"CLAUDE_CODE_MAX_OUTPUT_TOKENS",
|
|
40
|
+
// Capability flag the Bedrock reserved-keyword error recommends (claude/error-parser.ts).
|
|
41
|
+
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS",
|
|
42
|
+
// The user's telemetry opt-in, not a session marker: the CLI's nested-session
|
|
43
|
+
// refusal keys on CLAUDECODE. Forwarding it lets shell-exported OpenTelemetry
|
|
44
|
+
// (OTEL_*, forwarded by prefix below) cover Build-launched sessions.
|
|
45
|
+
"CLAUDE_CODE_ENABLE_TELEMETRY",
|
|
46
|
+
"CLAUDE_CODE_ENHANCED_TELEMETRY_BETA"
|
|
47
|
+
]);
|
|
48
|
+
var RESERVED_HEADER_SET = new Set(RESERVED_HEADERS);
|
|
49
|
+
var PARENT_ENV_ALLOWLIST = /* @__PURE__ */ new Set([
|
|
50
|
+
"CI",
|
|
51
|
+
"COLORTERM",
|
|
52
|
+
"HOME",
|
|
53
|
+
"LANG",
|
|
54
|
+
"LC_ALL",
|
|
55
|
+
"LC_CTYPE",
|
|
56
|
+
"LOGNAME",
|
|
57
|
+
"NODE_EXTRA_CA_CERTS",
|
|
58
|
+
"PATH",
|
|
59
|
+
"PWD",
|
|
60
|
+
"SHELL",
|
|
61
|
+
"TERM",
|
|
62
|
+
"TMPDIR",
|
|
63
|
+
"USER",
|
|
64
|
+
"XDG_CACHE_HOME",
|
|
65
|
+
"XDG_CONFIG_HOME",
|
|
66
|
+
"XDG_DATA_HOME",
|
|
67
|
+
"XDG_STATE_HOME",
|
|
68
|
+
"ANTHROPIC_API_KEY",
|
|
69
|
+
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
70
|
+
"CLAUDE_CODE_EFFORT_LEVEL",
|
|
71
|
+
"CLAUDE_CODE_DISABLE_1M_CONTEXT",
|
|
72
|
+
"CLAUDE_CODE_MAX_OUTPUT_TOKENS",
|
|
73
|
+
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS",
|
|
74
|
+
"CLAUDE_CODE_ENABLE_TELEMETRY",
|
|
75
|
+
"CLAUDE_CODE_ENHANCED_TELEMETRY_BETA",
|
|
76
|
+
"CLAUDE_CODE_USE_BEDROCK",
|
|
77
|
+
"CLAUDE_CODE_USE_VERTEX",
|
|
78
|
+
"ANTHROPIC_VERTEX_PROJECT_ID",
|
|
79
|
+
"CLOUD_ML_REGION",
|
|
80
|
+
// Microsoft Foundry connection + credentials. One of RESOURCE (the CLI builds
|
|
81
|
+
// the endpoint from it) or BASE_URL is required; the credential is a bearer
|
|
82
|
+
// token, an API key, or — when neither is set — the Azure default credential
|
|
83
|
+
// chain, which reaches the child through the already-forwarded HOME (Azure CLI
|
|
84
|
+
// cache). No broad AZURE_* forward is needed for that.
|
|
85
|
+
"CLAUDE_CODE_USE_FOUNDRY",
|
|
86
|
+
"ANTHROPIC_FOUNDRY_RESOURCE",
|
|
87
|
+
"ANTHROPIC_FOUNDRY_BASE_URL",
|
|
88
|
+
"ANTHROPIC_FOUNDRY_API_KEY",
|
|
89
|
+
"ANTHROPIC_FOUNDRY_AUTH_TOKEN",
|
|
90
|
+
// Vertex model-default knobs. The Claude CLI resolves the bare aliases
|
|
91
|
+
// (`opus`/`sonnet`/`haiku`) to provider-specific model ids via these env
|
|
92
|
+
// vars; stripping them on Vertex silently resolves the wrong model and drops
|
|
93
|
+
// the operator's override before it reaches the child. These are model
|
|
94
|
+
// names / region knobs, not secrets. ANTHROPIC_MODEL is safe to forward
|
|
95
|
+
// because an explicit `--model` flag takes precedence over it (verified
|
|
96
|
+
// against Anthropic docs: "--model and /model override ANTHROPIC_MODEL").
|
|
97
|
+
// Build emits `--model` for any model that resolves and omits it only for
|
|
98
|
+
// unresolvable/cross-provider input (commands.ts), so ANTHROPIC_MODEL governs
|
|
99
|
+
// just that no-flag fallback — it can never override an explicit selection.
|
|
100
|
+
"ANTHROPIC_MODEL",
|
|
101
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
102
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
103
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
104
|
+
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
105
|
+
"CURSOR_CONFIG_DIR",
|
|
106
|
+
"CURSOR_DATA_DIR",
|
|
107
|
+
"GEMINI_API_KEY",
|
|
108
|
+
"GOOGLE_API_KEY",
|
|
109
|
+
"GOOGLE_APPLICATION_CREDENTIALS",
|
|
110
|
+
"GOOGLE_CLOUD_PROJECT",
|
|
111
|
+
"GOOGLE_CLOUD_LOCATION",
|
|
112
|
+
"GCLOUD_PROJECT",
|
|
113
|
+
"CLOUDSDK_CONFIG",
|
|
114
|
+
// Grok API keys are intentionally absent: re-admitted only via grok provider
|
|
115
|
+
// execution policy (provider-execution-env.ts), not the generic parent allowlist.
|
|
116
|
+
"OPENAI_API_KEY",
|
|
117
|
+
"OPENROUTER_API_KEY",
|
|
118
|
+
"OPENROUTER_KEY",
|
|
119
|
+
"BLACKBOX_API_KEY",
|
|
120
|
+
"ZAI_API_KEY",
|
|
121
|
+
"ZHIPU_API_KEY",
|
|
122
|
+
"KIRO_API_KEY",
|
|
123
|
+
"ANTIGRAVITY_API_KEY",
|
|
124
|
+
// Pi's agent directory holds auth.json and models.json. An operator who moves
|
|
125
|
+
// it must have the override reach the child, or Pi reads ~/.pi/agent instead
|
|
126
|
+
// and fails to resolve their configured backend or credential. A directory
|
|
127
|
+
// path, not a secret (matches CURSOR_CONFIG_DIR above).
|
|
128
|
+
"PI_CODING_AGENT_DIR"
|
|
129
|
+
]);
|
|
130
|
+
var PARENT_ENV_ALLOWLIST_PREFIXES = ["AWS_", "OTEL_", "BUILD_", "VERTEX_REGION_CLAUDE_"];
|
|
131
|
+
var PARENT_ENV_DENYLIST = /* @__PURE__ */ new Set([
|
|
132
|
+
"BUILD_ALLOW_SKIP_AUTH",
|
|
133
|
+
"BUILD_CONFIG_ALLOW_DEFAULT_FALLBACK",
|
|
134
|
+
"BUILD_PROVIDER_HISTORY_RAW",
|
|
135
|
+
"BUILD_SKIP_AUTH",
|
|
136
|
+
"BUILD_WEBHOOK_SECRET",
|
|
137
|
+
"BUILD_WORKER_ALLOW_EMPTY_RESULTS",
|
|
138
|
+
"BUILD_WORKER_EXECUTION_INTENT",
|
|
139
|
+
// Native web-search clearance is an authority signal:
|
|
140
|
+
// it must come ONLY from the parent's per-run capability-matrix decision, never
|
|
141
|
+
// from an inherited shell env. Denylist it so a pre-set shell value cannot
|
|
142
|
+
// enable provider web tools outside an analysis-only --research run; the master
|
|
143
|
+
// re-applies the trusted value onto the worker env after this clean step.
|
|
144
|
+
"BUILD_RESEARCH_NATIVE_PROVIDERS"
|
|
145
|
+
]);
|
|
146
|
+
function isSandboxAuthorityEnvVar(name) {
|
|
147
|
+
return name.startsWith("BUILD_") && name.includes("SANDBOX");
|
|
148
|
+
}
|
|
149
|
+
function shouldStripClaudeSessionVar(name) {
|
|
150
|
+
if (RESERVED_HEADER_SET.has(name)) {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
return name.startsWith(CLAUDE_SESSION_PREFIX) && !CLAUDE_SESSION_MARKER_ALLOWED_KEYS.has(name);
|
|
154
|
+
}
|
|
155
|
+
function shouldForwardParentEnvVar(name) {
|
|
156
|
+
if (PARENT_ENV_DENYLIST.has(name) || isSandboxAuthorityEnvVar(name)) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
return PARENT_ENV_ALLOWLIST.has(name) || PARENT_ENV_ALLOWLIST_PREFIXES.some((prefix) => name.startsWith(prefix));
|
|
160
|
+
}
|
|
161
|
+
function filterParentEnvForProvider(baseEnv) {
|
|
162
|
+
const filtered = {};
|
|
163
|
+
for (const [key, value] of Object.entries(baseEnv)) {
|
|
164
|
+
if (value !== void 0 && shouldForwardParentEnvVar(key)) {
|
|
165
|
+
filtered[key] = value;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return filtered;
|
|
169
|
+
}
|
|
170
|
+
function stripClaudeSessionEnv(env) {
|
|
171
|
+
const mergedEnv = { ...env };
|
|
172
|
+
for (const key of Object.keys(mergedEnv)) {
|
|
173
|
+
if (shouldStripClaudeSessionVar(key)) {
|
|
174
|
+
delete mergedEnv[key];
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return mergedEnv;
|
|
178
|
+
}
|
|
179
|
+
function createCleanChildEnv(overrides, baseEnv = filterParentEnvForProvider(process.env)) {
|
|
180
|
+
const mergedEnv = {
|
|
181
|
+
...baseEnv,
|
|
182
|
+
...overrides ?? {}
|
|
183
|
+
};
|
|
184
|
+
for (const key of PARENT_ENV_DENYLIST) {
|
|
185
|
+
delete mergedEnv[key];
|
|
186
|
+
}
|
|
187
|
+
for (const key of Object.keys(mergedEnv)) {
|
|
188
|
+
if (isSandboxAuthorityEnvVar(key)) {
|
|
189
|
+
delete mergedEnv[key];
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return stripClaudeSessionEnv(mergedEnv);
|
|
193
|
+
}
|
|
194
|
+
var PROVIDER_SECRET_KEYS = /* @__PURE__ */ new Set([
|
|
195
|
+
"ANTHROPIC_API_KEY",
|
|
196
|
+
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
197
|
+
"CLAUDE_CODE_USE_BEDROCK",
|
|
198
|
+
"CLAUDE_CODE_USE_VERTEX",
|
|
199
|
+
"ANTHROPIC_VERTEX_PROJECT_ID",
|
|
200
|
+
"CLOUD_ML_REGION",
|
|
201
|
+
// Foundry switch, connection and credentials — scoped to claude/anthropic so a
|
|
202
|
+
// non-claude run carries neither the backend selector nor the Foundry
|
|
203
|
+
// credential (the API key and auth token are secrets, mirroring
|
|
204
|
+
// ANTHROPIC_API_KEY).
|
|
205
|
+
"CLAUDE_CODE_USE_FOUNDRY",
|
|
206
|
+
"ANTHROPIC_FOUNDRY_RESOURCE",
|
|
207
|
+
"ANTHROPIC_FOUNDRY_BASE_URL",
|
|
208
|
+
"ANTHROPIC_FOUNDRY_API_KEY",
|
|
209
|
+
"ANTHROPIC_FOUNDRY_AUTH_TOKEN",
|
|
210
|
+
// Claude Vertex model-default knobs — scoped to claude/anthropic so a
|
|
211
|
+
// non-claude provider run does not carry claude model overrides (mirrors
|
|
212
|
+
// CLAUDE_CODE_USE_VERTEX / CLOUD_ML_REGION). Not secrets; listed here only so
|
|
213
|
+
// the per-provider scoping pass keeps them for claude and strips them
|
|
214
|
+
// elsewhere.
|
|
215
|
+
"ANTHROPIC_MODEL",
|
|
216
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
217
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
218
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
219
|
+
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
220
|
+
"GOOGLE_CLOUD_PROJECT",
|
|
221
|
+
"GOOGLE_CLOUD_LOCATION",
|
|
222
|
+
"GCLOUD_PROJECT",
|
|
223
|
+
"GEMINI_API_KEY",
|
|
224
|
+
"GOOGLE_API_KEY",
|
|
225
|
+
"GOOGLE_APPLICATION_CREDENTIALS",
|
|
226
|
+
"CLOUDSDK_CONFIG",
|
|
227
|
+
"GROK_CODE_XAI_API_KEY",
|
|
228
|
+
"XAI_API_KEY",
|
|
229
|
+
"OPENAI_API_KEY",
|
|
230
|
+
// Codex CLI legacy key names ride the generic CODEX_ prefix; scope them to
|
|
231
|
+
// codex so a non-codex child does not inherit them (codex's own api_key /
|
|
232
|
+
// chatgpt_login policy in provider-execution-env.ts still applies afterwards).
|
|
233
|
+
"CODEX_API_KEY",
|
|
234
|
+
"CODEX_TOKEN",
|
|
235
|
+
// Cursor's API key rides the generic CURSOR_ prefix; scope it to cursor.
|
|
236
|
+
"CURSOR_API_KEY",
|
|
237
|
+
// OpenCode's API key rides the generic OPENCODE_ prefix; scope it to opencode.
|
|
238
|
+
"OPENCODE_API_KEY",
|
|
239
|
+
"OPENROUTER_API_KEY",
|
|
240
|
+
"OPENROUTER_KEY",
|
|
241
|
+
"BLACKBOX_API_KEY",
|
|
242
|
+
"ZAI_API_KEY",
|
|
243
|
+
"ZHIPU_API_KEY",
|
|
244
|
+
"SYNTHETIC_API_KEY",
|
|
245
|
+
"KIRO_API_KEY",
|
|
246
|
+
"ANTIGRAVITY_API_KEY"
|
|
247
|
+
]);
|
|
248
|
+
var CLAUDE_VERTEX_REGION_PREFIX = "VERTEX_REGION_CLAUDE_";
|
|
249
|
+
var CREDENTIAL_FAMILY_OWNERS = [
|
|
250
|
+
{ prefix: "ANTHROPIC_", owners: ["claude", "anthropic"] },
|
|
251
|
+
{ prefix: "COPILOT_", owners: ["copilot"] },
|
|
252
|
+
{ prefix: "AZURE_OPENAI_", owners: ["codex", "openai"] }
|
|
253
|
+
];
|
|
254
|
+
var CREDENTIAL_KEY_SUFFIX = /_(?:KEY|TOKEN|SECRET|PASSWORD)$/;
|
|
255
|
+
function providerSecretAllowlist(provider) {
|
|
256
|
+
switch ((provider ?? "").toLowerCase()) {
|
|
257
|
+
case "claude":
|
|
258
|
+
case "anthropic":
|
|
259
|
+
return /* @__PURE__ */ new Set([
|
|
260
|
+
"ANTHROPIC_API_KEY",
|
|
261
|
+
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
262
|
+
"CLAUDE_CODE_USE_BEDROCK",
|
|
263
|
+
"CLAUDE_CODE_USE_VERTEX",
|
|
264
|
+
"ANTHROPIC_VERTEX_PROJECT_ID",
|
|
265
|
+
"CLOUD_ML_REGION",
|
|
266
|
+
"CLAUDE_CODE_USE_FOUNDRY",
|
|
267
|
+
"ANTHROPIC_FOUNDRY_RESOURCE",
|
|
268
|
+
"ANTHROPIC_FOUNDRY_BASE_URL",
|
|
269
|
+
"ANTHROPIC_FOUNDRY_API_KEY",
|
|
270
|
+
"ANTHROPIC_FOUNDRY_AUTH_TOKEN",
|
|
271
|
+
// Vertex model-default knobs (see PROVIDER_SECRET_KEYS comment). Kept
|
|
272
|
+
// for claude so the scoping pass doesn't re-strip the model overrides.
|
|
273
|
+
"ANTHROPIC_MODEL",
|
|
274
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
275
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
276
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
277
|
+
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
278
|
+
"GOOGLE_APPLICATION_CREDENTIALS",
|
|
279
|
+
"GOOGLE_CLOUD_PROJECT",
|
|
280
|
+
"GOOGLE_CLOUD_LOCATION",
|
|
281
|
+
"GCLOUD_PROJECT",
|
|
282
|
+
"CLOUDSDK_CONFIG"
|
|
283
|
+
]);
|
|
284
|
+
case "gemini":
|
|
285
|
+
return /* @__PURE__ */ new Set([
|
|
286
|
+
"GEMINI_API_KEY",
|
|
287
|
+
"GOOGLE_API_KEY",
|
|
288
|
+
"GOOGLE_APPLICATION_CREDENTIALS",
|
|
289
|
+
"GOOGLE_CLOUD_PROJECT",
|
|
290
|
+
"GOOGLE_CLOUD_LOCATION",
|
|
291
|
+
"GCLOUD_PROJECT",
|
|
292
|
+
"CLOUDSDK_CONFIG"
|
|
293
|
+
]);
|
|
294
|
+
case "codex":
|
|
295
|
+
case "openai":
|
|
296
|
+
return /* @__PURE__ */ new Set(["OPENAI_API_KEY", "CODEX_API_KEY", "CODEX_TOKEN"]);
|
|
297
|
+
case "copilot":
|
|
298
|
+
return /* @__PURE__ */ new Set();
|
|
299
|
+
case "cursor":
|
|
300
|
+
return /* @__PURE__ */ new Set(["CURSOR_API_KEY"]);
|
|
301
|
+
case "grok":
|
|
302
|
+
return /* @__PURE__ */ new Set(["XAI_API_KEY", "GROK_CODE_XAI_API_KEY"]);
|
|
303
|
+
case "blackbox":
|
|
304
|
+
return /* @__PURE__ */ new Set(["BLACKBOX_API_KEY"]);
|
|
305
|
+
case "opencode":
|
|
306
|
+
return /* @__PURE__ */ new Set([
|
|
307
|
+
"OPENROUTER_API_KEY",
|
|
308
|
+
"OPENROUTER_KEY",
|
|
309
|
+
"OPENAI_API_KEY",
|
|
310
|
+
"ANTHROPIC_API_KEY",
|
|
311
|
+
"GEMINI_API_KEY",
|
|
312
|
+
"GOOGLE_API_KEY",
|
|
313
|
+
"BLACKBOX_API_KEY",
|
|
314
|
+
"ZAI_API_KEY",
|
|
315
|
+
"ZHIPU_API_KEY",
|
|
316
|
+
"SYNTHETIC_API_KEY",
|
|
317
|
+
"OPENCODE_API_KEY"
|
|
318
|
+
]);
|
|
319
|
+
case "kiro":
|
|
320
|
+
return /* @__PURE__ */ new Set(["KIRO_API_KEY"]);
|
|
321
|
+
case "antigravity":
|
|
322
|
+
return /* @__PURE__ */ new Set(["ANTIGRAVITY_API_KEY"]);
|
|
323
|
+
// Pi is a backend-agnostic host, so the key that matters belongs to whichever
|
|
324
|
+
// inference backend the operator configured. Sourced from the Pi adapter so
|
|
325
|
+
// this list cannot drift from Pi's auth detection (pi/backend-env.ts explains
|
|
326
|
+
// why that drift is not hypothetical).
|
|
327
|
+
// quirks-allow: secret-allowlist membership is provider credential metadata owned by the provider adapter, not runtime CLI quirks expressible in the declarative table
|
|
328
|
+
case "pi":
|
|
329
|
+
return new Set(PI_BACKEND_ENV_KEYS);
|
|
330
|
+
default:
|
|
331
|
+
return /* @__PURE__ */ new Set();
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
function scopeChildEnvForProvider(env, provider, _options) {
|
|
335
|
+
const scoped = envWithoutAmbientGitRepository(env);
|
|
336
|
+
const normalizedProvider = (provider ?? "").toLowerCase();
|
|
337
|
+
const allowedSecrets = providerSecretAllowlist(provider);
|
|
338
|
+
for (const key of PROVIDER_SECRET_KEYS) {
|
|
339
|
+
if (!allowedSecrets.has(key)) {
|
|
340
|
+
delete scoped[key];
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
for (const { prefix, owners } of CREDENTIAL_FAMILY_OWNERS) {
|
|
344
|
+
if (owners.includes(normalizedProvider)) continue;
|
|
345
|
+
for (const key of Object.keys(scoped)) {
|
|
346
|
+
if (key.startsWith(prefix) && CREDENTIAL_KEY_SUFFIX.test(key) && !allowedSecrets.has(key)) {
|
|
347
|
+
delete scoped[key];
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
const isClaude = normalizedProvider === "claude" || normalizedProvider === "anthropic";
|
|
352
|
+
const keepAws = isClaude || // quirks-allow: AWS credential forwarding is child-env secret-boundary policy for Bedrock-capable families, not a runtime CLI quirk
|
|
353
|
+
normalizedProvider === "codex" || normalizedProvider === "openai" || normalizedProvider === "opencode";
|
|
354
|
+
if (!isClaude) {
|
|
355
|
+
for (const key of Object.keys(scoped)) {
|
|
356
|
+
if (key.startsWith(CLAUDE_VERTEX_REGION_PREFIX)) {
|
|
357
|
+
delete scoped[key];
|
|
358
|
+
}
|
|
359
|
+
if (!keepAws && key.startsWith("AWS_")) {
|
|
360
|
+
delete scoped[key];
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
delete scoped.SSH_AUTH_SOCK;
|
|
365
|
+
delete scoped.GIT_SSH;
|
|
366
|
+
delete scoped.GIT_SSH_COMMAND;
|
|
367
|
+
return scoped;
|
|
368
|
+
}
|
|
369
|
+
function createScopedProviderChildEnv(provider, baseEnv = process.env) {
|
|
370
|
+
return scopeChildEnvForProvider(
|
|
371
|
+
createCleanChildEnv(void 0, filterParentEnvForProvider(baseEnv)),
|
|
372
|
+
provider
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
export {
|
|
377
|
+
PARENT_ENV_DENYLIST,
|
|
378
|
+
isSandboxAuthorityEnvVar,
|
|
379
|
+
stripClaudeSessionEnv,
|
|
380
|
+
createCleanChildEnv,
|
|
381
|
+
scopeChildEnvForProvider,
|
|
382
|
+
createScopedProviderChildEnv
|
|
383
|
+
};
|
|
384
|
+
//# sourceMappingURL=chunk-WGQAXLNA.js.map
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parsePositiveInt
|
|
3
|
+
} from "./chunk-T7E5JS6N.js";
|
|
4
|
+
import {
|
|
5
|
+
resolveExecutionBoundary
|
|
6
|
+
} from "./chunk-2VUEDIUM.js";
|
|
7
|
+
import {
|
|
8
|
+
BUILD_IDLE_KILL_CAP_MS,
|
|
9
|
+
BUILD_IDLE_KILL_CEILING_FRACTION,
|
|
10
|
+
BUILD_IDLE_KILL_MS,
|
|
11
|
+
BUILD_IDLE_WARN_CAP_MS,
|
|
12
|
+
BUILD_IDLE_WARN_MS,
|
|
13
|
+
readEnv
|
|
14
|
+
} from "./chunk-7VRJHTGZ.js";
|
|
15
|
+
|
|
16
|
+
// src/core/providers/shared/idle-timeout.ts
|
|
17
|
+
import { execFile, execFileSync } from "child_process";
|
|
18
|
+
import path from "path";
|
|
19
|
+
var DEFAULT_IDLE_KILL_CEILING_FRACTION = 0.8;
|
|
20
|
+
var MIN_SIGNIFICANT_CPU_TIME_DELTA_SECONDS = 0.01;
|
|
21
|
+
var REQUIRED_CONSECUTIVE_CPU_POLLS = 2;
|
|
22
|
+
var PROVIDER_IDLE_ACTIVITY_SIGNALS = ["stdout", "stderr", "cpu"];
|
|
23
|
+
function getProviderIdleDefaults(_provider) {
|
|
24
|
+
const boundary = resolveExecutionBoundary("agent-run");
|
|
25
|
+
return {
|
|
26
|
+
warnMs: boundary.idle?.warnAfterMs ?? 3e5,
|
|
27
|
+
killMs: boundary.idle?.killAfterMs ?? 9e5
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function resolveCommandName(command) {
|
|
31
|
+
const posix = path.posix.basename(command);
|
|
32
|
+
const win32 = path.win32.basename(command);
|
|
33
|
+
const basename = posix.length <= win32.length ? posix : win32;
|
|
34
|
+
return basename.replace(/\.(exe|cmd|bat|ps1)$/i, "").toUpperCase().replace(/[^A-Z0-9]/g, "_");
|
|
35
|
+
}
|
|
36
|
+
function isLikelySilentMode(commandName, args) {
|
|
37
|
+
if (commandName === "CLAUDE") {
|
|
38
|
+
const idx = args.indexOf("--output-format");
|
|
39
|
+
const fmt = idx >= 0 ? args[idx + 1] : void 0;
|
|
40
|
+
return typeof fmt === "string" && fmt.toLowerCase() === "json";
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
function getIdleKillCeilingFraction() {
|
|
45
|
+
const raw = readEnv(BUILD_IDLE_KILL_CEILING_FRACTION).value ?? DEFAULT_IDLE_KILL_CEILING_FRACTION;
|
|
46
|
+
return Math.max(0.5, Math.min(0.95, raw));
|
|
47
|
+
}
|
|
48
|
+
function readOptionalIdleTimeout(read) {
|
|
49
|
+
try {
|
|
50
|
+
return read();
|
|
51
|
+
} catch {
|
|
52
|
+
return void 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function normalizeIdleTimeouts(warnMs, rawKillMs, hardTimeoutMs) {
|
|
56
|
+
if (!Number.isFinite(warnMs) || !Number.isFinite(rawKillMs) || warnMs <= 0 || rawKillMs <= 0) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const ceilingMs = Number.isFinite(hardTimeoutMs) && hardTimeoutMs > 0 ? Math.max(1e3, Math.floor(hardTimeoutMs * getIdleKillCeilingFraction())) : rawKillMs;
|
|
60
|
+
const killMs = Math.min(rawKillMs, ceilingMs);
|
|
61
|
+
if (killMs <= 1) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const adjustedWarnMs = killMs > 1e3 ? killMs - 1e3 : Math.max(1, Math.floor(killMs / 2));
|
|
65
|
+
return warnMs >= killMs ? { warnMs: adjustedWarnMs, killMs } : { warnMs, killMs };
|
|
66
|
+
}
|
|
67
|
+
function resolveIdleTimeoutPlan(command, args, hardTimeoutMs, absoluteOverrides) {
|
|
68
|
+
if (absoluteOverrides?.idleWarnMs !== void 0 && absoluteOverrides?.idleKillMs !== void 0) {
|
|
69
|
+
const normalized2 = normalizeIdleTimeouts(
|
|
70
|
+
absoluteOverrides.idleWarnMs,
|
|
71
|
+
absoluteOverrides.idleKillMs,
|
|
72
|
+
hardTimeoutMs
|
|
73
|
+
);
|
|
74
|
+
if (normalized2) {
|
|
75
|
+
return {
|
|
76
|
+
...normalized2,
|
|
77
|
+
activitySignals: PROVIDER_IDLE_ACTIVITY_SIGNALS,
|
|
78
|
+
source: "flag",
|
|
79
|
+
sourceLabel: "flag"
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const commandName = resolveCommandName(command);
|
|
84
|
+
const providerDefaults = getProviderIdleDefaults(commandName);
|
|
85
|
+
const defaultIdleKillCapMs = Number.isFinite(hardTimeoutMs) && hardTimeoutMs > 0 ? Math.max(12e5, Math.floor(hardTimeoutMs * getIdleKillCeilingFraction())) : 12e5;
|
|
86
|
+
const defaultIdleWarnCapMs = Number.isFinite(hardTimeoutMs) && hardTimeoutMs > 0 ? Math.max(6e5, Math.floor(defaultIdleKillCapMs / 2)) : 6e5;
|
|
87
|
+
const idleKillCapEnv = readEnv(BUILD_IDLE_KILL_CAP_MS).value;
|
|
88
|
+
const idleWarnCapEnv = readEnv(BUILD_IDLE_WARN_CAP_MS).value;
|
|
89
|
+
const idleKillCapEnvSet = process.env[BUILD_IDLE_KILL_CAP_MS.name] !== void 0;
|
|
90
|
+
const idleWarnCapEnvSet = process.env[BUILD_IDLE_WARN_CAP_MS.name] !== void 0;
|
|
91
|
+
const idleKillCeilingFractionEnvSet = process.env[BUILD_IDLE_KILL_CEILING_FRACTION.name] !== void 0;
|
|
92
|
+
const idleKillCapMs = idleKillCapEnv ?? defaultIdleKillCapMs;
|
|
93
|
+
const idleWarnCapMs = idleWarnCapEnv ?? defaultIdleWarnCapMs;
|
|
94
|
+
const scaledForProviderCli = Number.isFinite(hardTimeoutMs) && hardTimeoutMs > 0 ? {
|
|
95
|
+
warnMs: Math.min(idleWarnCapMs, Math.max(1e3, Math.floor(hardTimeoutMs * 0.75))),
|
|
96
|
+
killMs: Math.min(idleKillCapMs, Math.max(1e3, Math.floor(hardTimeoutMs * 0.95)))
|
|
97
|
+
} : null;
|
|
98
|
+
const scaledForSilentMode = Number.isFinite(hardTimeoutMs) && hardTimeoutMs > 0 ? {
|
|
99
|
+
warnMs: Math.min(idleWarnCapMs, Math.max(1e3, Math.floor(hardTimeoutMs * 0.6))),
|
|
100
|
+
killMs: Math.min(idleKillCapMs, Math.max(1e3, Math.floor(hardTimeoutMs * 0.85)))
|
|
101
|
+
} : null;
|
|
102
|
+
const isProviderCli = commandName === "CLAUDE" || commandName === "GEMINI" || commandName === "CURSOR_AGENT" || commandName === "CODEX" || commandName === "OPENCODE" || commandName === "GROK" || commandName === "COPILOT";
|
|
103
|
+
const providerWarnEnvName = `BUILD_IDLE_WARN_${commandName}_MS`;
|
|
104
|
+
const providerKillEnvName = `BUILD_IDLE_KILL_${commandName}_MS`;
|
|
105
|
+
const providerWarnEnv = parsePositiveInt(process.env[providerWarnEnvName]);
|
|
106
|
+
const providerKillEnv = parsePositiveInt(process.env[providerKillEnvName]);
|
|
107
|
+
const globalWarnEnv = readOptionalIdleTimeout(() => readEnv(BUILD_IDLE_WARN_MS).value);
|
|
108
|
+
const globalKillEnv = readOptionalIdleTimeout(() => readEnv(BUILD_IDLE_KILL_MS).value);
|
|
109
|
+
const defaultTimeouts = isLikelySilentMode(commandName, args) && scaledForSilentMode ? scaledForSilentMode : isProviderCli && scaledForProviderCli ? scaledForProviderCli : providerDefaults;
|
|
110
|
+
const warnMs = providerWarnEnv ?? globalWarnEnv ?? defaultTimeouts.warnMs;
|
|
111
|
+
const killMs = providerKillEnv ?? globalKillEnv ?? defaultTimeouts.killMs;
|
|
112
|
+
const normalized = normalizeIdleTimeouts(warnMs, killMs, Number.POSITIVE_INFINITY);
|
|
113
|
+
if (!normalized) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
const source = providerWarnEnv !== void 0 || providerKillEnv !== void 0 ? "provider-env" : globalWarnEnv !== void 0 || globalKillEnv !== void 0 || idleKillCapEnvSet || idleWarnCapEnvSet || idleKillCeilingFractionEnvSet ? "global-env" : "default";
|
|
117
|
+
const sourceLabel = source === "provider-env" ? `env:${[providerWarnEnv !== void 0 ? providerWarnEnvName : void 0, providerKillEnv !== void 0 ? providerKillEnvName : void 0].filter(Boolean).join(",")}` : source === "global-env" ? `env:${[
|
|
118
|
+
globalWarnEnv !== void 0 ? BUILD_IDLE_WARN_MS.name : void 0,
|
|
119
|
+
globalKillEnv !== void 0 ? BUILD_IDLE_KILL_MS.name : void 0,
|
|
120
|
+
idleWarnCapEnvSet ? BUILD_IDLE_WARN_CAP_MS.name : void 0,
|
|
121
|
+
idleKillCapEnvSet ? BUILD_IDLE_KILL_CAP_MS.name : void 0,
|
|
122
|
+
idleKillCeilingFractionEnvSet ? BUILD_IDLE_KILL_CEILING_FRACTION.name : void 0
|
|
123
|
+
].filter(Boolean).join(",")}` : "default";
|
|
124
|
+
return {
|
|
125
|
+
...normalized,
|
|
126
|
+
activitySignals: PROVIDER_IDLE_ACTIVITY_SIGNALS,
|
|
127
|
+
source,
|
|
128
|
+
sourceLabel
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function resolveIdleTimeoutsMs(command, args, hardTimeoutMs, absoluteOverrides) {
|
|
132
|
+
const plan = resolveIdleTimeoutPlan(command, args, hardTimeoutMs, absoluteOverrides);
|
|
133
|
+
return plan ? { warnMs: plan.warnMs, killMs: plan.killMs } : null;
|
|
134
|
+
}
|
|
135
|
+
function formatIdleTimeoutDuration(ms) {
|
|
136
|
+
const totalSeconds = Math.max(1, Math.round(ms / 1e3));
|
|
137
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
138
|
+
const seconds = totalSeconds % 60;
|
|
139
|
+
if (minutes > 0 && seconds === 0) return `${minutes}m`;
|
|
140
|
+
if (minutes > 0) return `${minutes}m ${seconds}s`;
|
|
141
|
+
return `${seconds}s`;
|
|
142
|
+
}
|
|
143
|
+
function formatIdleTimeoutPlan(plan) {
|
|
144
|
+
return `warn after ${formatIdleTimeoutDuration(plan.warnMs)} idle; stop after ${formatIdleTimeoutDuration(plan.killMs)} idle; activity=${plan.activitySignals.join("/")}; source=${plan.sourceLabel}`;
|
|
145
|
+
}
|
|
146
|
+
function parseCpuTimeSeconds(rawValue) {
|
|
147
|
+
const trimmed = rawValue.trim();
|
|
148
|
+
if (!trimmed) return 0;
|
|
149
|
+
const daySplit = trimmed.split("-");
|
|
150
|
+
const timePart = daySplit.length > 1 ? daySplit[daySplit.length - 1] : daySplit[0];
|
|
151
|
+
const dayPart = daySplit.length > 1 ? daySplit.slice(0, -1).join("-") : void 0;
|
|
152
|
+
const days = typeof dayPart === "string" && dayPart.length > 0 ? Number.parseInt(dayPart, 10) : 0;
|
|
153
|
+
if (!Number.isFinite(days)) return void 0;
|
|
154
|
+
const parts = timePart?.split(":") ?? [];
|
|
155
|
+
if (parts.length < 2 || parts.length > 3) return void 0;
|
|
156
|
+
const seconds = Number.parseFloat(parts[parts.length - 1] ?? "");
|
|
157
|
+
const minutes = Number.parseInt(parts[parts.length - 2] ?? "", 10);
|
|
158
|
+
const hours = parts.length === 3 ? Number.parseInt(parts[0] ?? "", 10) : 0;
|
|
159
|
+
if (![seconds, minutes, hours].every((value) => Number.isFinite(value))) {
|
|
160
|
+
return void 0;
|
|
161
|
+
}
|
|
162
|
+
return days * 86400 + hours * 3600 + minutes * 60 + seconds;
|
|
163
|
+
}
|
|
164
|
+
function readCpuTimeSeconds(pid) {
|
|
165
|
+
if (!Number.isInteger(pid) || pid <= 0) return void 0;
|
|
166
|
+
try {
|
|
167
|
+
const out = execFileSync("ps", ["-o", "time=", "-p", String(pid)], {
|
|
168
|
+
encoding: "utf-8",
|
|
169
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
170
|
+
}).trim();
|
|
171
|
+
return parseCpuTimeSeconds(out);
|
|
172
|
+
} catch {
|
|
173
|
+
return void 0;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
async function readCpuTimeSecondsAsync(pid) {
|
|
177
|
+
if (typeof pid !== "number" || !Number.isInteger(pid) || pid <= 0) return void 0;
|
|
178
|
+
return new Promise((resolve) => {
|
|
179
|
+
execFile(
|
|
180
|
+
"ps",
|
|
181
|
+
["-o", "time=", "-p", String(pid)],
|
|
182
|
+
{ encoding: "utf-8", timeout: 250, killSignal: "SIGKILL", maxBuffer: 1024 },
|
|
183
|
+
(error, stdout) => resolve(error ? void 0 : parseCpuTimeSeconds(stdout))
|
|
184
|
+
);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function evaluateCpuTimeProgressStreak(params) {
|
|
188
|
+
if (typeof params.currentCpuSeconds !== "number" || typeof params.previousCpuSeconds !== "number" || params.currentCpuSeconds - params.previousCpuSeconds < MIN_SIGNIFICANT_CPU_TIME_DELTA_SECONDS) {
|
|
189
|
+
return { nextBusyPolls: 0, shouldCountAsActivity: false };
|
|
190
|
+
}
|
|
191
|
+
const nextBusyPolls = params.currentBusyPolls + 1;
|
|
192
|
+
return {
|
|
193
|
+
nextBusyPolls,
|
|
194
|
+
shouldCountAsActivity: nextBusyPolls >= REQUIRED_CONSECUTIVE_CPU_POLLS
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export {
|
|
199
|
+
resolveIdleTimeoutPlan,
|
|
200
|
+
resolveIdleTimeoutsMs,
|
|
201
|
+
formatIdleTimeoutPlan,
|
|
202
|
+
readCpuTimeSeconds,
|
|
203
|
+
readCpuTimeSecondsAsync,
|
|
204
|
+
evaluateCpuTimeProgressStreak
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=chunk-WJAL4JL3.js.map
|