@unbrained/pm-cli 2026.7.4 → 2026.7.5
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/CHANGELOG.md +26 -0
- package/README.md +1 -5
- package/dist/cli/commands/calendar.d.ts +3 -2
- package/dist/cli/commands/calendar.js +4 -4
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/claim.js +17 -3
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.js +34 -16
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/copy.js +3 -3
- package/dist/cli/commands/copy.js.map +1 -1
- package/dist/cli/commands/create.d.ts +7 -0
- package/dist/cli/commands/create.js +156 -110
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension/bundled-catalog.d.ts +6 -0
- package/dist/cli/commands/extension/bundled-catalog.js +15 -2
- package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
- package/dist/cli/commands/extension/describe.d.ts +6 -3
- package/dist/cli/commands/extension/describe.js +21 -9
- package/dist/cli/commands/extension/describe.js.map +1 -1
- package/dist/cli/commands/extension/doctor.d.ts +0 -4
- package/dist/cli/commands/extension/doctor.js +3 -3
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/scaffold.js +7 -2
- package/dist/cli/commands/extension/scaffold.js.map +1 -1
- package/dist/cli/commands/extension/shared.d.ts +2 -7
- package/dist/cli/commands/extension/shared.js +4 -10
- package/dist/cli/commands/extension/shared.js.map +1 -1
- package/dist/cli/commands/extension.js +33 -8
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/profile.js +3 -3
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/reindex.js +3 -3
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.js +3 -3
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/schema.js +10 -10
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/update.js +5 -3
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/error-guidance.js +107 -7
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/main.d.ts +6 -2
- package/dist/cli/main.js +33 -12
- package/dist/cli/main.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +18 -0
- package/dist/cli-bundle/chunks/{activity-OENQCYZD.js → activity-YKAKZTZ4.js} +11 -9
- package/dist/cli-bundle/chunks/{aggregate-EC4LWS3U.js → aggregate-EQX2RGB7.js} +16 -13
- package/dist/cli-bundle/chunks/{aggregate-EC4LWS3U.js.map → aggregate-EQX2RGB7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{aggregate-RCB3QJJE.js → aggregate-PEGZGJXD.js} +18 -15
- package/dist/cli-bundle/chunks/{aggregate-RCB3QJJE.js.map → aggregate-PEGZGJXD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{append-XLEKVVWB.js → append-CZGUZ45Q.js} +11 -8
- package/dist/cli-bundle/chunks/{append-XLEKVVWB.js.map → append-CZGUZ45Q.js.map} +1 -1
- package/dist/cli-bundle/chunks/{append-ADBOI3A6.js → append-NSQBCXZJ.js} +13 -10
- package/dist/cli-bundle/chunks/{append-ADBOI3A6.js.map → append-NSQBCXZJ.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js +1413 -0
- package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-2LRMWMZ6.js → chunk-3PL6LEKP.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-2LRMWMZ6.js.map → chunk-3PL6LEKP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CN4OAA2G.js → chunk-3U3VEWK6.js} +277 -119
- package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EB4BBEZD.js → chunk-3Y4OESPP.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-EB4BBEZD.js.map → chunk-3Y4OESPP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-NHDR3UCW.js → chunk-4LRVSBO6.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-NHDR3UCW.js.map → chunk-4LRVSBO6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-6YB7HG2J.js → chunk-4OFLJHX6.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-6YB7HG2J.js.map → chunk-4OFLJHX6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SBNT6SLO.js → chunk-4QQ6PM7M.js} +45 -557
- package/dist/cli-bundle/chunks/chunk-4QQ6PM7M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-M34MVAOP.js → chunk-53BTLLAF.js} +16 -200
- package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UYLA5ROU.js → chunk-57C2RLW5.js} +277 -112
- package/dist/cli-bundle/chunks/chunk-57C2RLW5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-R7EMP4JG.js → chunk-5B3X4Y22.js} +52 -63
- package/dist/cli-bundle/chunks/{chunk-R7EMP4JG.js.map → chunk-5B3X4Y22.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-XBIYI23P.js → chunk-5J2XPTAD.js} +10 -8
- package/dist/cli-bundle/chunks/{chunk-XBIYI23P.js.map → chunk-5J2XPTAD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4SHME4VR.js → chunk-5JE6SMYS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4KPQQ42D.js → chunk-5JZ7APJU.js} +18 -16
- package/dist/cli-bundle/chunks/{chunk-4KPQQ42D.js.map → chunk-5JZ7APJU.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-BDDYM4LH.js → chunk-5VVUKE3U.js} +424 -2228
- package/dist/cli-bundle/chunks/chunk-5VVUKE3U.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-QFXFKYNQ.js → chunk-75U6M5ZD.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-QFXFKYNQ.js.map → chunk-75U6M5ZD.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +23 -0
- package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-A222YWOQ.js → chunk-7EQNAZX2.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-A222YWOQ.js.map → chunk-7EQNAZX2.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Z4DGFQDH.js → chunk-7LQKVMPA.js} +14 -4
- package/dist/cli-bundle/chunks/chunk-7LQKVMPA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EH23N5FX.js → chunk-7MDXZAZS.js} +29 -7
- package/dist/cli-bundle/chunks/chunk-7MDXZAZS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XQCWTSLO.js → chunk-7QH7DHUB.js} +74 -8
- package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3C5T3ZEO.js → chunk-7WYXBPYQ.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-3C5T3ZEO.js.map → chunk-7WYXBPYQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js +150 -0
- package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-CQISNF3Z.js → chunk-ABRA3BHY.js} +18 -16
- package/dist/cli-bundle/chunks/{chunk-CQISNF3Z.js.map → chunk-ABRA3BHY.js.map} +2 -2
- package/dist/cli-bundle/chunks/chunk-B5KXLBSJ.js +47 -0
- package/dist/cli-bundle/chunks/chunk-B5KXLBSJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y2VSCQ77.js → chunk-BFVHCAOO.js} +9 -7
- package/dist/cli-bundle/chunks/{chunk-Y2VSCQ77.js.map → chunk-BFVHCAOO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-7ITQSEBL.js → chunk-BVEUCSH2.js} +6 -4
- package/dist/cli-bundle/chunks/{chunk-7ITQSEBL.js.map → chunk-BVEUCSH2.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js +160 -0
- package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HL742IBM.js → chunk-D3UCE7RW.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-HL742IBM.js.map → chunk-D3UCE7RW.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js +275 -0
- package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js +634 -0
- package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-MZG6I2Q2.js → chunk-DRBV5UC2.js} +8 -23
- package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DEIDJQZK.js → chunk-E2FUG6GD.js} +15 -220
- package/dist/cli-bundle/chunks/{chunk-DEIDJQZK.js.map → chunk-E2FUG6GD.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3MLQZI3H.js → chunk-EEY54JMF.js} +5 -3
- package/dist/cli-bundle/chunks/{chunk-3MLQZI3H.js.map → chunk-EEY54JMF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CQFZRLXQ.js → chunk-EZFKWSC7.js} +94 -16
- package/dist/cli-bundle/chunks/{chunk-CQFZRLXQ.js.map → chunk-EZFKWSC7.js.map} +4 -4
- package/dist/cli-bundle/chunks/{chunk-4PJYRA3V.js → chunk-FDBARR33.js} +17 -15
- package/dist/cli-bundle/chunks/{chunk-4PJYRA3V.js.map → chunk-FDBARR33.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NGDK3KEZ.js → chunk-FGQKEDE4.js} +36 -12
- package/dist/cli-bundle/chunks/chunk-FGQKEDE4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FMWQRMHS.js → chunk-FJRKQREY.js} +10 -18
- package/dist/cli-bundle/chunks/chunk-FJRKQREY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-6QY2NA2M.js → chunk-FUM6UMY4.js} +10 -11
- package/dist/cli-bundle/chunks/{chunk-6QY2NA2M.js.map → chunk-FUM6UMY4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-UGDONITK.js → chunk-GIWXVMZ3.js} +140 -334
- package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OTSP6UEX.js → chunk-HBYZDSK5.js} +19 -17
- package/dist/cli-bundle/chunks/{chunk-OTSP6UEX.js.map → chunk-HBYZDSK5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-D2LDM35X.js → chunk-HJE4JTKQ.js} +6 -4
- package/dist/cli-bundle/chunks/{chunk-D2LDM35X.js.map → chunk-HJE4JTKQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-AOP2EMK3.js → chunk-HK72NWAD.js} +89 -18
- package/dist/cli-bundle/chunks/chunk-HK72NWAD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-2ONH3WG6.js → chunk-IJ6CO3JV.js} +18 -16
- package/dist/cli-bundle/chunks/{chunk-2ONH3WG6.js.map → chunk-IJ6CO3JV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-J4KNRDI3.js → chunk-JFCVQXZX.js} +139 -326
- package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-V655JQ5J.js → chunk-JLA7EVYV.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-V655JQ5J.js.map → chunk-JLA7EVYV.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-K32L7HZO.js +76 -0
- package/dist/cli-bundle/chunks/chunk-K32L7HZO.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WBWRQS32.js → chunk-K3AGVXSF.js} +37 -13
- package/dist/cli-bundle/chunks/chunk-K3AGVXSF.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js +79 -0
- package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-KGHH652T.js +44 -0
- package/dist/cli-bundle/chunks/chunk-KGHH652T.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-KL22PY6L.js +915 -0
- package/dist/cli-bundle/chunks/chunk-KL22PY6L.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JZJJEJBR.js → chunk-KLG4ZULO.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-JZJJEJBR.js.map → chunk-KLG4ZULO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-KKHIQOTN.js → chunk-LEKT4K7I.js} +74 -8
- package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-CVBINC7C.js → chunk-MNZ7DRNC.js} +13 -10
- package/dist/cli-bundle/chunks/{contracts-CVBINC7C.js.map → chunk-MNZ7DRNC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-2VK677OA.js → chunk-MTTXDAK4.js} +176 -125
- package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Q2266G4S.js → chunk-MZ7VNEVY.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-Q2266G4S.js.map → chunk-MZ7VNEVY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4EVY7CQN.js → chunk-N6DNM2FA.js} +2 -2
- package/dist/cli-bundle/chunks/{test-runs-5SLLV3XU.js → chunk-N7X4WP6L.js} +11 -8
- package/dist/cli-bundle/chunks/{test-runs-5SLLV3XU.js.map → chunk-N7X4WP6L.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-AZMPKLIA.js → chunk-NBFCNJ7Q.js} +177 -126
- package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YZR7UMZ6.js → chunk-NER3KUUS.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +20 -0
- package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-OBA2WH65.js +918 -0
- package/dist/cli-bundle/chunks/chunk-OBA2WH65.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DJ5S2LDY.js → chunk-OESSOFJ4.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-DJ5S2LDY.js.map → chunk-OESSOFJ4.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js +238 -0
- package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TUV7SIWZ.js → chunk-OWTIRHX4.js} +28 -6
- package/dist/cli-bundle/chunks/chunk-OWTIRHX4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PV5JS7MP.js → chunk-P3VRG72Q.js} +10 -8
- package/dist/cli-bundle/chunks/{chunk-PV5JS7MP.js.map → chunk-P3VRG72Q.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js +1423 -0
- package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-P5YORJRH.js +1977 -0
- package/dist/cli-bundle/chunks/chunk-P5YORJRH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-WTXDLBSZ.js → chunk-PDXT6Q55.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YZWXMDNH.js → chunk-PJ3A56YF.js} +46 -537
- package/dist/cli-bundle/chunks/chunk-PJ3A56YF.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-L3WKLO67.js → chunk-PPAJG4GB.js} +13 -10
- package/dist/cli-bundle/chunks/{test-runs-L3WKLO67.js.map → chunk-PPAJG4GB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-LLQLLAKU.js → chunk-PPE4YUQM.js} +1670 -1573
- package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TO4KCIOT.js → chunk-QHZO65XW.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-TO4KCIOT.js.map → chunk-QHZO65XW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4OXNQHKQ.js → chunk-R3ZBLGTC.js} +9 -10
- package/dist/cli-bundle/chunks/{chunk-4OXNQHKQ.js.map → chunk-R3ZBLGTC.js.map} +2 -2
- package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js +624 -0
- package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-724VLYDJ.js → chunk-RX3HQSYG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PUVPC5DL.js → chunk-S4APD35C.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-T5RTYLZJ.js → chunk-S5AYOUT5.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-T5RTYLZJ.js.map → chunk-S5AYOUT5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-75VMARGO.js → chunk-STPSZ2XY.js} +19 -744
- package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-A2W3XKAD.js → chunk-T35XLYZF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N2LOJUBB.js → chunk-T3ABIMGW.js} +5 -3
- package/dist/cli-bundle/chunks/{chunk-N2LOJUBB.js.map → chunk-T3ABIMGW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-FDNJMYZB.js → chunk-T3F4DF23.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-FDNJMYZB.js.map → chunk-T3F4DF23.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-T4MX77AK.js +272 -0
- package/dist/cli-bundle/chunks/chunk-T4MX77AK.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js +5354 -0
- package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XFO2NJY6.js → chunk-TSPKZRRW.js} +33 -28
- package/dist/cli-bundle/chunks/chunk-TSPKZRRW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZZWMJVW2.js → chunk-TT42JUMF.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-UHKX7I75.js +165 -0
- package/dist/cli-bundle/chunks/chunk-UHKX7I75.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7745CXNI.js → chunk-UI5BJ6DO.js} +1231 -1134
- package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-US3T3W5J.js +1932 -0
- package/dist/cli-bundle/chunks/chunk-US3T3W5J.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js +175 -0
- package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-B4O5S7I3.js → chunk-VUHVWI4C.js} +13 -3
- package/dist/cli-bundle/chunks/chunk-VUHVWI4C.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-NLCDIZAT.js → chunk-VZIYHZDX.js} +11 -8
- package/dist/cli-bundle/chunks/{contracts-NLCDIZAT.js.map → chunk-VZIYHZDX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-TGYDJEJH.js → chunk-WISPVC2E.js} +9 -7
- package/dist/cli-bundle/chunks/{chunk-TGYDJEJH.js.map → chunk-WISPVC2E.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js +5434 -0
- package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-MTB4PRA3.js → chunk-XQCG2JGW.js} +17 -749
- package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-Y76TWC45.js +550 -0
- package/dist/cli-bundle/chunks/chunk-Y76TWC45.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SL2ANJSV.js → chunk-YD5FML7K.js} +418 -2173
- package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-NHKXOMZ5.js → chunk-YFIE7YK6.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-NHKXOMZ5.js.map → chunk-YFIE7YK6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-5FYY76HR.js → chunk-YMABYTNG.js} +32 -27
- package/dist/cli-bundle/chunks/chunk-YMABYTNG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-W5X3AHJN.js → chunk-YOF5VPKM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-M6PR5BC6.js → chunk-YPPVU5GX.js} +11 -9
- package/dist/cli-bundle/chunks/{chunk-M6PR5BC6.js.map → chunk-YPPVU5GX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZIEGTQCY.js → chunk-YQMMMONE.js} +6 -4
- package/dist/cli-bundle/chunks/{chunk-ZIEGTQCY.js.map → chunk-YQMMMONE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4IW7STMB.js → chunk-YSAH5FY5.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-4IW7STMB.js.map → chunk-YSAH5FY5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-JYLFF7GJ.js → chunk-YZIR4R3U.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-JYLFF7GJ.js.map → chunk-YZIR4R3U.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-7G5SUU6F.js → chunk-Z2CRRZYF.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-7G5SUU6F.js.map → chunk-Z2CRRZYF.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js +533 -0
- package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WOOB7PV7.js → chunk-ZCJAA3JK.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-WOOB7PV7.js.map → chunk-ZCJAA3JK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-WSDIALO4.js → chunk-ZD34OFFQ.js} +5 -3
- package/dist/cli-bundle/chunks/{chunk-WSDIALO4.js.map → chunk-ZD34OFFQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Q3XVLRCJ.js → chunk-ZJB3UV5U.js} +54 -58
- package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MZ4NH46V.js → chunk-ZMD35NYG.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js +241 -0
- package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{claim-D6L33A5Y.js → claim-4DROPSIS.js} +30 -13
- package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-YAFUTPVK.js → claim-VX54TV5U.js} +29 -12
- package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +7 -0
- package/dist/cli-bundle/chunks/{close-TGYXG7TV.js → close-3YRR3XY6.js} +9 -7
- package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +16 -0
- package/dist/cli-bundle/chunks/{close-many-SNA6LNZH.js → close-many-AP4MWU36.js} +21 -18
- package/dist/cli-bundle/chunks/{close-many-SNA6LNZH.js.map → close-many-AP4MWU36.js.map} +1 -1
- package/dist/cli-bundle/chunks/{close-many-4QSWKCRU.js → close-many-OMZIGZB4.js} +19 -16
- package/dist/cli-bundle/chunks/{close-many-4QSWKCRU.js.map → close-many-OMZIGZB4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-QC6ARR5X.js → comments-MIW5MZOX.js} +12 -9
- package/dist/cli-bundle/chunks/{comments-QC6ARR5X.js.map → comments-MIW5MZOX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-ZHVYGUVC.js → comments-SAG5LSKL.js} +14 -11
- package/dist/cli-bundle/chunks/{comments-ZHVYGUVC.js.map → comments-SAG5LSKL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{config-O6W2EU2G.js → config-DJJKZB5R.js} +20 -17
- package/dist/cli-bundle/chunks/{config-O6W2EU2G.js.map → config-DJJKZB5R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{config-XQRFJXJP.js → config-V57QD47V.js} +22 -19
- package/dist/cli-bundle/chunks/{config-XQRFJXJP.js.map → config-V57QD47V.js.map} +1 -1
- package/dist/cli-bundle/chunks/{context-IHE3IXN5.js → context-4OQGIPSO.js} +15 -12
- package/dist/cli-bundle/chunks/{context-WSYWBEUL.js → context-WLA6IAWE.js} +15 -12
- package/dist/cli-bundle/chunks/contracts-HXJLKCRI.js +12 -0
- package/dist/cli-bundle/chunks/contracts-OJEXMKVW.js +16 -0
- package/dist/cli-bundle/chunks/{copy-7MUQC44A.js → copy-LEE6P6EM.js} +17 -14
- package/dist/cli-bundle/chunks/{copy-7MUQC44A.js.map → copy-LEE6P6EM.js.map} +2 -2
- package/dist/cli-bundle/chunks/{copy-ANWXDJVC.js → copy-OTJOWFL6.js} +18 -15
- package/dist/cli-bundle/chunks/{copy-ANWXDJVC.js.map → copy-OTJOWFL6.js.map} +1 -1
- package/dist/cli-bundle/chunks/create-WKOZKPQR.js +30 -0
- package/dist/cli-bundle/chunks/{create-JIA2IFCO.js → create-XWWQFQ6S.js} +14 -12
- package/dist/cli-bundle/chunks/{delete-5OLYWQIC.js → delete-62JQTYT4.js} +10 -7
- package/dist/cli-bundle/chunks/{delete-5OLYWQIC.js.map → delete-62JQTYT4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{delete-INHKCIRN.js → delete-HQKGRNRZ.js} +12 -9
- package/dist/cli-bundle/chunks/{delete-INHKCIRN.js.map → delete-HQKGRNRZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-IYEID3QX.js → deps-55FTG6Z5.js} +12 -9
- package/dist/cli-bundle/chunks/{deps-IYEID3QX.js.map → deps-55FTG6Z5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-CCSWGZW7.js → deps-L2FPIAD3.js} +10 -7
- package/dist/cli-bundle/chunks/{deps-CCSWGZW7.js.map → deps-L2FPIAD3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-PKO7OEIM.js → docs-6CRCSVKK.js} +11 -9
- package/dist/cli-bundle/chunks/{docs-PKO7OEIM.js.map → docs-6CRCSVKK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-3XZK22WF.js → docs-S6UTOTO5.js} +9 -7
- package/dist/cli-bundle/chunks/{docs-3XZK22WF.js.map → docs-S6UTOTO5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{eval-5XYP6NMY.js → eval-N6UHFWVO.js} +15 -11
- package/dist/cli-bundle/chunks/{eval-5XYP6NMY.js.map → eval-N6UHFWVO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{eval-O4WGQYDI.js → eval-PHOTWYHI.js} +17 -13
- package/dist/cli-bundle/chunks/{eval-O4WGQYDI.js.map → eval-PHOTWYHI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{extension-T7JNTAAA.js → extension-NBAH62ML.js} +17 -11
- package/dist/cli-bundle/chunks/{extension-PVGRRZZG.js → extension-ZF6ZZPOU.js} +17 -11
- package/dist/cli-bundle/chunks/{files-W7HH5EOD.js → files-6P57MRKL.js} +12 -9
- package/dist/cli-bundle/chunks/{files-W7HH5EOD.js.map → files-6P57MRKL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{files-7IU56S6R.js → files-JPU3FNJ7.js} +14 -11
- package/dist/cli-bundle/chunks/{files-7IU56S6R.js.map → files-JPU3FNJ7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{focus-6FA5KYRY.js → focus-LFZ6IDBR.js} +15 -11
- package/dist/cli-bundle/chunks/{focus-6FA5KYRY.js.map → focus-LFZ6IDBR.js.map} +1 -1
- package/dist/cli-bundle/chunks/{focus-CQ63JFDG.js → focus-WNMYCVYA.js} +13 -9
- package/dist/cli-bundle/chunks/{focus-CQ63JFDG.js.map → focus-WNMYCVYA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{gc-3BG67KTO.js → gc-AETFKZ44.js} +10 -7
- package/dist/cli-bundle/chunks/{gc-3BG67KTO.js.map → gc-AETFKZ44.js.map} +1 -1
- package/dist/cli-bundle/chunks/{gc-PEZYGNVB.js → gc-RLBP4QVN.js} +12 -9
- package/dist/cli-bundle/chunks/{gc-PEZYGNVB.js.map → gc-RLBP4QVN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{get-J6CSJ4SX.js → get-NH2MPBCI.js} +18 -15
- package/dist/cli-bundle/chunks/{get-J6CSJ4SX.js.map → get-NH2MPBCI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{get-KJTKGNEQ.js → get-P4ZQXCPZ.js} +16 -13
- package/dist/cli-bundle/chunks/{get-KJTKGNEQ.js.map → get-P4ZQXCPZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-32UQICEL.js → health-3GVPMQBL.js} +36 -29
- package/dist/cli-bundle/chunks/{health-32UQICEL.js.map → health-3GVPMQBL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-ZUZG5ULV.js → health-DNTM72GJ.js} +34 -27
- package/dist/cli-bundle/chunks/{health-ZUZG5ULV.js.map → health-DNTM72GJ.js.map} +1 -1
- package/dist/cli-bundle/chunks/history-RYKLC72X.js +20 -0
- package/dist/cli-bundle/chunks/{history-W6QVR6FA.js → history-SGPYRAFT.js} +10 -8
- package/dist/cli-bundle/chunks/{history-compact-JQ6ZGYSJ.js → history-compact-3F6VELO7.js} +18 -15
- package/dist/cli-bundle/chunks/{history-compact-JQ6ZGYSJ.js.map → history-compact-3F6VELO7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-compact-F355EGL4.js → history-compact-656Y2TN4.js} +20 -17
- package/dist/cli-bundle/chunks/{history-compact-F355EGL4.js.map → history-compact-656Y2TN4.js.map} +1 -1
- package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-TUWOUYX5.js → history-redact-54ICFKXM.js} +11 -9
- package/dist/cli-bundle/chunks/{history-repair-ZKS3LKPV.js → history-repair-4N6SDVHK.js} +17 -14
- package/dist/cli-bundle/chunks/{history-repair-ZKS3LKPV.js.map → history-repair-4N6SDVHK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-repair-MPCAIKYE.js → history-repair-EVTO6LIH.js} +19 -16
- package/dist/cli-bundle/chunks/{history-repair-MPCAIKYE.js.map → history-repair-EVTO6LIH.js.map} +1 -1
- package/dist/cli-bundle/chunks/init-RPIPQUNV.js +32 -0
- package/dist/cli-bundle/chunks/init-SKQAESQS.js +28 -0
- package/dist/cli-bundle/chunks/{learnings-EYC3OKS2.js → learnings-2HTPZNGZ.js} +10 -8
- package/dist/cli-bundle/chunks/{learnings-EYC3OKS2.js.map → learnings-2HTPZNGZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{learnings-HKJJUVTA.js → learnings-YBIHY3D6.js} +12 -10
- package/dist/cli-bundle/chunks/{learnings-HKJJUVTA.js.map → learnings-YBIHY3D6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{list-KN3TL5Y5.js → list-64LHZ3HM.js} +10 -8
- package/dist/cli-bundle/chunks/{list-HFD5737R.js → list-7LXBTEKI.js} +10 -8
- package/dist/cli-bundle/chunks/{next-DQUMFAHG.js → next-7ODPAQ4U.js} +22 -18
- package/dist/cli-bundle/chunks/{next-DQUMFAHG.js.map → next-7ODPAQ4U.js.map} +1 -1
- package/dist/cli-bundle/chunks/{next-JUEYC5HE.js → next-ODJUM4ZM.js} +24 -20
- package/dist/cli-bundle/chunks/{next-JUEYC5HE.js.map → next-ODJUM4ZM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{notes-ZG6RLZXB.js → notes-72YXN5JX.js} +10 -8
- package/dist/cli-bundle/chunks/{notes-ZG6RLZXB.js.map → notes-72YXN5JX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{notes-XATYT43P.js → notes-NJ7IQJX4.js} +12 -10
- package/dist/cli-bundle/chunks/{notes-XATYT43P.js.map → notes-NJ7IQJX4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{plan-DVVLX7LK.js → plan-R4NDQ27E.js} +18 -15
- package/dist/cli-bundle/chunks/{plan-DVVLX7LK.js.map → plan-R4NDQ27E.js.map} +1 -1
- package/dist/cli-bundle/chunks/{plan-5NWQL2DH.js → plan-XWY5T67S.js} +20 -17
- package/dist/cli-bundle/chunks/{plan-5NWQL2DH.js.map → plan-XWY5T67S.js.map} +1 -1
- package/dist/cli-bundle/chunks/profile-XQWEQKS3.js +397 -0
- package/dist/cli-bundle/chunks/profile-XQWEQKS3.js.map +1 -0
- package/dist/cli-bundle/chunks/profile-YRDHLMRO.js +400 -0
- package/dist/cli-bundle/chunks/profile-YRDHLMRO.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-WRS6ACUW.js → register-list-query-5H66WFYF.js} +22 -19
- package/dist/cli-bundle/chunks/{register-list-query-WRS6ACUW.js.map → register-list-query-5H66WFYF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-list-query-PNRAHNIQ.js → register-list-query-FB3FNDLZ.js} +24 -21
- package/dist/cli-bundle/chunks/{register-list-query-PNRAHNIQ.js.map → register-list-query-FB3FNDLZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-mutation-K2MNRWGI.js → register-mutation-UJO23C7R.js} +42 -39
- package/dist/cli-bundle/chunks/{register-mutation-K2MNRWGI.js.map → register-mutation-UJO23C7R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-mutation-ET6E4VLE.js → register-mutation-Z2ETYHKS.js} +40 -37
- package/dist/cli-bundle/chunks/{register-mutation-ET6E4VLE.js.map → register-mutation-Z2ETYHKS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-6DQRUTIX.js → register-operations-A3XAM5J7.js} +39 -36
- package/dist/cli-bundle/chunks/{register-operations-6DQRUTIX.js.map → register-operations-A3XAM5J7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-73UDWMVB.js → register-operations-SG7HBSUP.js} +37 -34
- package/dist/cli-bundle/chunks/{register-operations-73UDWMVB.js.map → register-operations-SG7HBSUP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-LYYCMQFV.js → register-setup-I45OGJUV.js} +25 -19
- package/dist/cli-bundle/chunks/{register-setup-LYYCMQFV.js.map → register-setup-I45OGJUV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-FXZJ2CEJ.js → register-setup-K6U3NVY5.js} +23 -17
- package/dist/cli-bundle/chunks/{register-setup-FXZJ2CEJ.js.map → register-setup-K6U3NVY5.js.map} +1 -1
- package/dist/cli-bundle/chunks/restore-PXOFL6AM.js +19 -0
- package/dist/cli-bundle/chunks/{restore-R6YJHQK3.js → restore-YJ2ET6AT.js} +11 -9
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-OGODPUBL.js → scheduling-shortcuts-SSC4MYWQ.js} +14 -12
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-OGODPUBL.js.map → scheduling-shortcuts-SSC4MYWQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-LE4S7OI7.js → scheduling-shortcuts-ULRG7MNP.js} +16 -14
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-LE4S7OI7.js.map → scheduling-shortcuts-ULRG7MNP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{schema-ICCD3HOP.js → schema-2PUXCZ25.js} +10 -7
- package/dist/cli-bundle/chunks/{schema-RHH23PQX.js → schema-Y6DXXK2F.js} +10 -7
- package/dist/cli-bundle/chunks/{search-Z2VGP2Q5.js → search-3S72CTD6.js} +13 -10
- package/dist/cli-bundle/chunks/{search-HDDKOPFE.js → search-WNUNBQXO.js} +13 -10
- package/dist/cli-bundle/chunks/{stats-ETFP37MB.js → stats-IJYTRQGV.js} +13 -10
- package/dist/cli-bundle/chunks/{stats-ETFP37MB.js.map → stats-IJYTRQGV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{stats-DHMRXHOB.js → stats-L2D5Y2O5.js} +15 -12
- package/dist/cli-bundle/chunks/{stats-DHMRXHOB.js.map → stats-L2D5Y2O5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{telemetry-ZRBM22QD.js → telemetry-L2CVOKVN.js} +11 -8
- package/dist/cli-bundle/chunks/{telemetry-ZRBM22QD.js.map → telemetry-L2CVOKVN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{telemetry-NUZNKDCP.js → telemetry-QBYWQA76.js} +13 -10
- package/dist/cli-bundle/chunks/{telemetry-NUZNKDCP.js.map → telemetry-QBYWQA76.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-XNKTIP4Y.js → test-DQ2QFJ7W.js} +21 -15
- package/dist/cli-bundle/chunks/test-W7QBLVJS.js +41 -0
- package/dist/cli-bundle/chunks/{test-all-APCBSXQI.js → test-all-636NTRTT.js} +26 -19
- package/dist/cli-bundle/chunks/{test-all-APCBSXQI.js.map → test-all-636NTRTT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-all-KIK3OYBY.js → test-all-DWYK3RG6.js} +24 -17
- package/dist/cli-bundle/chunks/{test-all-KIK3OYBY.js.map → test-all-DWYK3RG6.js.map} +1 -1
- package/dist/cli-bundle/chunks/test-runs-245OINZR.js +28 -0
- package/dist/cli-bundle/chunks/test-runs-245OINZR.js.map +1 -0
- package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js +24 -0
- package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js.map +7 -0
- package/dist/cli-bundle/chunks/update-SFLZPJXX.js +30 -0
- package/dist/cli-bundle/chunks/update-SFLZPJXX.js.map +1 -0
- package/dist/cli-bundle/chunks/update-SJZ6S77U.js +26 -0
- package/dist/cli-bundle/chunks/update-SJZ6S77U.js.map +7 -0
- package/dist/cli-bundle/chunks/{update-many-XGTJ7QIU.js → update-many-DC7X3EWM.js} +32 -29
- package/dist/cli-bundle/chunks/{update-many-XGTJ7QIU.js.map → update-many-DC7X3EWM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{update-many-GFCQG6ZQ.js → update-many-SLLAMHT7.js} +34 -31
- package/dist/cli-bundle/chunks/{update-many-GFCQG6ZQ.js.map → update-many-SLLAMHT7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-KJ3JGELR.js → upgrade-HFFXLZJA.js} +19 -12
- package/dist/cli-bundle/chunks/{upgrade-KJ3JGELR.js.map → upgrade-HFFXLZJA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-RBRQ7PQU.js → upgrade-UYQKM7RF.js} +21 -14
- package/dist/cli-bundle/chunks/{upgrade-RBRQ7PQU.js.map → upgrade-UYQKM7RF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-EW6TGC7R.js → validate-PA4FDTOV.js} +34 -27
- package/dist/cli-bundle/chunks/{validate-EW6TGC7R.js.map → validate-PA4FDTOV.js.map} +2 -2
- package/dist/cli-bundle/chunks/{validate-T6PR5WAL.js → validate-Z7L75YEJ.js} +35 -28
- package/dist/cli-bundle/chunks/{validate-T6PR5WAL.js.map → validate-Z7L75YEJ.js.map} +1 -1
- package/dist/cli-bundle/main.js +173 -57
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli-bundle/sdk-runtime.js +247 -0
- package/dist/cli-bundle/sdk-runtime.js.map +7 -0
- package/dist/cli-bundle/sdk-testing.js +101 -0
- package/dist/cli-bundle/sdk-testing.js.map +7 -0
- package/dist/cli-bundle/sdk.js +787 -0
- package/dist/cli-bundle/sdk.js.map +7 -0
- package/dist/core/config/nested-settings.d.ts +4 -3
- package/dist/core/config/nested-settings.js +17 -6
- package/dist/core/config/nested-settings.js.map +1 -1
- package/dist/core/extensions/activation-summary.d.ts +6 -0
- package/dist/core/extensions/activation-summary.js +10 -4
- package/dist/core/extensions/activation-summary.js.map +1 -1
- package/dist/core/extensions/capability-usage.d.ts +6 -0
- package/dist/core/extensions/capability-usage.js +10 -4
- package/dist/core/extensions/capability-usage.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +5 -0
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +3 -0
- package/dist/core/extensions/loader.js +11 -19
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/history-rewrite.js +3 -3
- package/dist/core/history/history-rewrite.js.map +1 -1
- package/dist/core/item/parent-reference-policy.d.ts +9 -1
- package/dist/core/item/parent-reference-policy.js +28 -4
- package/dist/core/item/parent-reference-policy.js.map +1 -1
- package/dist/core/lock/lock.d.ts +28 -1
- package/dist/core/lock/lock.js +254 -20
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/search/background-refresh.js +7 -19
- package/dist/core/search/background-refresh.js.map +1 -1
- package/dist/core/search/http-client.d.ts +0 -1
- package/dist/core/search/http-client.js +3 -3
- package/dist/core/search/http-client.js.map +1 -1
- package/dist/core/shared/constants.js +3 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +1 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +12 -0
- package/dist/core/shared/primitives.js +29 -2
- package/dist/core/shared/primitives.js.map +1 -1
- package/dist/core/store/item-store.js +3 -3
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +1 -0
- package/dist/core/store/settings-validator.js +6 -3
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +3 -3
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/validate/fix-planning.d.ts +0 -2
- package/dist/core/validate/fix-planning.js +3 -3
- package/dist/core/validate/fix-planning.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +3 -2
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/errors.d.ts +21 -2
- package/dist/sdk/errors.js +8 -2
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/package-import-adapters.js +3 -3
- package/dist/sdk/package-import-adapters.js.map +1 -1
- package/dist/sdk/testing.js +41 -19
- package/dist/sdk/testing.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/docs/ARCHITECTURE.md +27 -0
- package/docs/CONFIGURATION.md +3 -0
- package/docs/README.md +1 -0
- package/docs/SDK_PRIMITIVE_INVENTORY.md +55 -0
- package/docs/TESTING.md +5 -1
- package/docs/examples/ci/github-actions-pm-extension-gate.yml +5 -5
- package/docs/examples/ci/gitlab-ci-pm-extension-gate.yml +1 -1
- package/docs/examples/ci/jenkins-pm-extension-gate.Jenkinsfile +1 -1
- package/package.json +11 -24
- package/packages/pm-beads/extensions/beads/package.json +3 -0
- package/packages/pm-beads/extensions/beads/runtime-loader.ts +24 -2
- package/packages/pm-calendar/extensions/calendar/package.json +3 -0
- package/packages/pm-command-kit/extensions/command-kit/package.json +3 -0
- package/packages/pm-governance-audit/extensions/governance-audit/package.json +3 -0
- package/packages/pm-guide-shell/extensions/guide-shell/package.json +3 -0
- package/packages/pm-kanban/extensions/kanban/package.json +3 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/package.json +3 -0
- package/packages/pm-search-advanced/extensions/search-advanced/package.json +3 -0
- package/packages/pm-templates/extensions/templates/package.json +3 -0
- package/packages/pm-todos/extensions/todos/package.json +3 -0
- package/packages/pm-todos/extensions/todos/runtime-loader.ts +21 -3
- package/scripts/bundle-cli.mjs +12 -2
- package/dist/cli-bundle/chunks/activity-IDS5GSYG.js +0 -16
- package/dist/cli-bundle/chunks/chunk-2VK677OA.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5FYY76HR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-75VMARGO.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7745CXNI.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AOP2EMK3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-AZMPKLIA.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-B4O5S7I3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-BDDYM4LH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-CN4OAA2G.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EH23N5FX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FMWQRMHS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-J4KNRDI3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KKHIQOTN.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-LLQLLAKU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-M34MVAOP.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MTB4PRA3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MZG6I2Q2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-NGDK3KEZ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Q3XVLRCJ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SBNT6SLO.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SL2ANJSV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TUV7SIWZ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UGDONITK.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UYLA5ROU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WBWRQS32.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XFO2NJY6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XQCWTSLO.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YZWXMDNH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-Z4DGFQDH.js.map +0 -1
- package/dist/cli-bundle/chunks/claim-D6L33A5Y.js.map +0 -1
- package/dist/cli-bundle/chunks/claim-YAFUTPVK.js.map +0 -7
- package/dist/cli-bundle/chunks/close-KLDLHAOP.js +0 -14
- package/dist/cli-bundle/chunks/create-AJ6HUR5W.js +0 -28
- package/dist/cli-bundle/chunks/history-IOH6FKG7.js +0 -18
- package/dist/cli-bundle/chunks/history-redact-VVDOARNO.js +0 -19
- package/dist/cli-bundle/chunks/init-CZLEEE6Q.js +0 -22
- package/dist/cli-bundle/chunks/init-MAA6UMNQ.js +0 -26
- package/dist/cli-bundle/chunks/profile-54DZ4CLB.js +0 -1205
- package/dist/cli-bundle/chunks/profile-54DZ4CLB.js.map +0 -1
- package/dist/cli-bundle/chunks/profile-PLIQVEOY.js +0 -1243
- package/dist/cli-bundle/chunks/profile-PLIQVEOY.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-L27TMMCF.js +0 -17
- package/dist/cli-bundle/chunks/test-H36PM746.js +0 -35
- package/dist/cli-bundle/chunks/update-RQKI3AMW.js +0 -24
- package/dist/cli-bundle/chunks/update-ZM7NJWHY.js +0 -28
- /package/dist/cli-bundle/chunks/{activity-IDS5GSYG.js.map → activity-4XQIDNM5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-OENQCYZD.js.map → activity-YKAKZTZ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4SHME4VR.js.map → chunk-5JE6SMYS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4EVY7CQN.js.map → chunk-N6DNM2FA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YZR7UMZ6.js.map → chunk-NER3KUUS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WTXDLBSZ.js.map → chunk-PDXT6Q55.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-724VLYDJ.js.map → chunk-RX3HQSYG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PUVPC5DL.js.map → chunk-S4APD35C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A2W3XKAD.js.map → chunk-T35XLYZF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZZWMJVW2.js.map → chunk-TT42JUMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W5X3AHJN.js.map → chunk-YOF5VPKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MZ4NH46V.js.map → chunk-ZMD35NYG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-TGYXG7TV.js.map → close-3YRR3XY6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-KLDLHAOP.js.map → close-OB2Y4QP5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-IHE3IXN5.js.map → context-4OQGIPSO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-WSYWBEUL.js.map → context-WLA6IAWE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-AJ6HUR5W.js.map → contracts-HXJLKCRI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-JIA2IFCO.js.map → contracts-OJEXMKVW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-T7JNTAAA.js.map → create-WKOZKPQR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-PVGRRZZG.js.map → create-XWWQFQ6S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-IOH6FKG7.js.map → extension-NBAH62ML.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-W6QVR6FA.js.map → extension-ZF6ZZPOU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-VVDOARNO.js.map → history-RYKLC72X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-TUWOUYX5.js.map → history-SGPYRAFT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-CZLEEE6Q.js.map → history-redact-4H3FCKF3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-MAA6UMNQ.js.map → history-redact-54ICFKXM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-HFD5737R.js.map → init-RPIPQUNV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-KN3TL5Y5.js.map → init-SKQAESQS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-L27TMMCF.js.map → list-64LHZ3HM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-R6YJHQK3.js.map → list-7LXBTEKI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-ICCD3HOP.js.map → restore-PXOFL6AM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-RHH23PQX.js.map → restore-YJ2ET6AT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-HDDKOPFE.js.map → schema-2PUXCZ25.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-Z2VGP2Q5.js.map → schema-Y6DXXK2F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-XNKTIP4Y.js.map → search-3S72CTD6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-H36PM746.js.map → search-WNUNBQXO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-ZM7NJWHY.js.map → test-DQ2QFJ7W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-RQKI3AMW.js.map → test-W7QBLVJS.js.map} +0 -0
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["cli/main.ts"],"sourceRoot":"/","sourcesContent":["#!/usr/bin/env node\n/**\n * @module cli/main\n *\n * Provides CLI runtime support for Main.\n */\nimport { Command } from \"commander\";\nimport {\n activateExtensions,\n clearActiveExtensionHooks,\n createEmptyExtensionRegistrationRegistry,\n discoverExtensions,\n getActiveCommandResult,\n getActiveExtensionRegistrations,\n loadExtensions,\n consumeAfterCommandAffectedItems,\n runActiveCommandHandler,\n runActiveParserOverride,\n runActivePreflightOverride,\n runAfterCommandHooks,\n runBeforeCommandHooks,\n setActiveCommandResult,\n setActiveCommandContext,\n setActiveExtensionCommands,\n setActiveExtensionHooks,\n setActiveExtensionParsers,\n setActiveExtensionPreflight,\n setActiveExtensionRegistrations,\n setActiveExtensionRenderers,\n setActiveExtensionServices,\n type ExtensionCommandRegistry,\n type ExtensionDiscoveryResult,\n type ExtensionHookRegistry,\n type ExtensionParserRegistry,\n type ExtensionPreflightRegistry,\n type ExtensionServiceRegistry,\n type PreflightRuntimeDecision,\n type RegisteredExtensionSchemaMigrationDefinition,\n type ExtensionRendererRegistry,\n} from \"../core/extensions/index.js\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport { resolvePmCliVersion, resolvePmPackageRootFromModule } from \"../core/packages/root.js\";\nimport {\n resolveItemTypeRegistry,\n} from \"../core/item/type-registry.js\";\nimport {\n resolveRuntimeFieldRegistry,\n type RuntimeFieldCommand,\n} from \"../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, resolveTelemetryErrorCategory, type TelemetryErrorCategory } from \"../core/shared/constants.js\";\nimport { PmCliError, type PmCliErrorContext, type PmCliErrorRecoveryPayload } from \"../core/shared/errors.js\";\nimport { asRecordOrNull, toNonEmptyStringOrUndefined } from \"../core/shared/primitives.js\";\nimport { printError, printResult, writeStdout } from \"../core/output/output.js\";\nimport { maybeRunFirstUseTelemetryPrompt } from \"../core/telemetry/consent.js\";\nimport {\n emitTelemetryErrorEvent,\n finishTelemetryCommand,\n startTelemetryCommand,\n type ActiveTelemetryCommand,\n type TelemetryCommandOutcome,\n} from \"../core/telemetry/runtime.js\";\nimport {\n deriveTelemetryCommandResolution,\n type TelemetryCommandResolution,\n type TelemetryResolutionStage,\n} from \"../core/telemetry/observability.js\";\nimport {\n sentryCaptureCliError,\n sentryFinishCommandSpan,\n sentryFlush,\n sentryLogCliUsageError,\n sentrySetCommandContext,\n sentryStartCommandSpan,\n} from \"../core/sentry/helpers.js\";\nimport { ensureSentryInit } from \"../core/sentry/instrument.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings, readSettingsWithMetadata } from \"../core/store/settings.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport type { PmSettings } from \"../types/index.js\";\nimport {\n coerceLooseCommandOptionsWithFlagDefinitions,\n collectLooseCommandOptionKeysForDefinitions,\n collectLoosePositionalArgs,\n parseLooseCommandOptions,\n stripLooseCommandOptionTokens,\n validateLooseCommandOptionsWithFlagDefinitions,\n} from \"./extension-command-options.js\";\nimport { attachRichHelpText } from \"./help-content.js\";\nimport {\n extractProvidedOptionFlags,\n normalizeLongOptionFlag,\n renderPmCommand,\n} from \"./argv-utils.js\";\nimport {\n classifyCommanderError,\n classifyPmCliError,\n classifyUnknownError,\n formatPmCliErrorForDisplay,\n formatPmCliErrorForJson,\n formatUnknownErrorForJson,\n} from \"./error-guidance.js\";\nimport {\n applyDefaultOutputFormat,\n clearResolvedGlobalOptions,\n collect,\n formatHookWarnings,\n getCommandPath,\n getGlobalOptions,\n invalidateSearchCachesForMutation,\n setResolvedGlobalOptions,\n} from \"./registration-helpers.js\";\nimport type { registerSetupCommands as RegisterSetupCommandsFn } from \"./register-setup.js\";\nimport type { registerListQueryCommands as RegisterListQueryCommandsFn } from \"./register-list-query.js\";\nimport type { registerMutationCommands as RegisterMutationCommandsFn } from \"./register-mutation.js\";\nimport type { registerOperationCommands as RegisterOperationCommandsFn } from \"./register-operations.js\";\nimport { createLazyModule } from \"../core/shared/lazy-module.js\";\nimport {\n type ExtensionCommandHelpDescriptor,\n normalizeExtensionCommandPath,\n collectDynamicExtensionFlagHelpByCommand,\n collectExtensionCommandHelpDescriptors,\n applyDynamicExtensionFlagOptions,\n buildResidualDynamicExtensionFlagHelp,\n applyDynamicExtensionArguments,\n buildDynamicExtensionCommandMetadataHelp,\n findCommandByPath,\n ensureCommandPath,\n} from \"./extension-command-help.js\";\nimport {\n parseBootstrapGlobalOptions,\n applyBootstrapPagerPolicy,\n parseBootstrapHelpRequest,\n parseBootstrapCommandName,\n normalizeBootstrapInvocation,\n stripGlobalBootstrapTokens,\n} from \"./bootstrap-args.js\";\nimport {\n type MandatoryMigrationBlocker,\n collectMandatoryMigrationBlockers,\n enforceMandatoryMigrationWriteGate,\n enforceItemFormatWriteGateAndPreflightMigration,\n resolveMigrationId,\n resolveNormalizedMigrationStatus,\n} from \"./migration-gates.js\";\nimport {\n isKnownHelpCommandPath,\n formatCommanderUsageMessage,\n formatCommanderUsageJson,\n resolveCommanderUsageContext,\n} from \"./commander-usage.js\";\nimport {\n maybeRenderBootstrapJsonHelp,\n attachCreateUpdatePolicyHelpText,\n} from \"./help-json-payload.js\";\n\nconst PM_PACKAGE_ROOT_ENV = \"PM_CLI_PACKAGE_ROOT\";\n\nfunction resolvePmPackageRoot(): string {\n return resolvePmPackageRootFromModule(import.meta.url, [\"../..\"]);\n}\n\nif (typeof process.env[PM_PACKAGE_ROOT_ENV] !== \"string\" || process.env[PM_PACKAGE_ROOT_ENV]?.trim().length === 0) {\n process.env[PM_PACKAGE_ROOT_ENV] = resolvePmPackageRoot();\n}\n\n\ninterface ActiveExtensionHookContext {\n hooks: ExtensionHookRegistry;\n commandName: string;\n commandArgs: string[];\n commandOptions: Record<string, unknown>;\n globalOptions: GlobalOptions;\n pmRoot: string;\n profileEnabled: boolean;\n migrationBlockers: MandatoryMigrationBlocker[];\n}\n\nlet activeExtensionHookContext: ActiveExtensionHookContext | null = null;\nlet activeTelemetryCommandContext: ActiveTelemetryCommand | null = null;\n\nfunction setActiveExtensionHookContextForTest(context: ActiveExtensionHookContext | null): void {\n activeExtensionHookContext = context;\n}\n\nfunction setActiveRuntimeExtensionCommandDescriptorsForTest(\n descriptors: Map<string, ExtensionCommandHelpDescriptor>,\n): void {\n activeRuntimeExtensionCommandDescriptors = descriptors;\n}\n\nconst TELEMETRY_COMMAND_RESOLUTION_SET = new Set<TelemetryCommandResolution>([\n \"success\",\n \"nonexistent_command\",\n \"invalid_option\",\n \"missing_required_option\",\n \"missing_required_argument\",\n \"invalid_usage\",\n \"validation_failed\",\n \"health_findings\",\n \"validation_findings\",\n \"conflict\",\n \"runtime_failed\",\n \"unknown_failed\",\n]);\n\nconst TELEMETRY_RESOLUTION_STAGE_SET = new Set<TelemetryResolutionStage>([\"parse\", \"preflight\", \"execute\", \"unknown\"]);\nconst TELEMETRY_ERROR_CATEGORY_SET = new Set<TelemetryErrorCategory>([\"usage\", \"validation\", \"conflict\", \"runtime\", \"unknown\"]);\n\ninterface RuntimeExtensionSnapshot {\n hooks: ExtensionHookRegistry;\n commands: ExtensionCommandRegistry;\n parsers: ExtensionParserRegistry;\n preflight: ExtensionPreflightRegistry;\n services: ExtensionServiceRegistry;\n renderers: ExtensionRendererRegistry;\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>;\n pmRoot: string;\n settings: PmSettings;\n commandHandlers: string[];\n commandFlagHelp: Map<string, string>;\n commandDescriptors: Map<string, ExtensionCommandHelpDescriptor>;\n loadWarnings: string[];\n activationWarnings: string[];\n loadedCount: number;\n loadFailedCount: number;\n activationFailedCount: number;\n}\n\ninterface RuntimeExtensionDiscoverySnapshot {\n pmRoot: string;\n settings: PmSettings;\n discovery: ExtensionDiscoveryResult;\n discoveryMs: number;\n settingsReadWarnings: string[];\n}\n\ninterface RuntimeExtensionActivationProbe {\n commandPath?: string;\n commandArgs?: string[];\n allowCommandPrefixMatch?: boolean;\n}\n\nlet runtimeExtensionSnapshotCache: { key: string; snapshot: RuntimeExtensionSnapshot | null } | null = null;\nlet runtimeExtensionDiscoverySnapshotCache: { key: string; snapshot: RuntimeExtensionDiscoverySnapshot | null } | null = null;\nlet activeRuntimeExtensionCommandDescriptors = new Map<string, ExtensionCommandHelpDescriptor>();\nconst HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS = 250;\nconst EXPECTED_HANDLED_ERROR_EXIT_CODES = new Set<number>([\n EXIT_CODE.USAGE,\n EXIT_CODE.NOT_FOUND,\n EXIT_CODE.CONFLICT,\n]);\nconst TRUE_LIKE_ENV_VALUES = new Set([\"1\", \"true\", \"yes\", \"on\"]);\n\ntype SetupRegistrationModule = {\n registerSetupCommands: typeof RegisterSetupCommandsFn;\n};\ntype ListQueryRegistrationModule = {\n registerListQueryCommands: typeof RegisterListQueryCommandsFn;\n};\ntype MutationRegistrationModule = {\n registerMutationCommands: typeof RegisterMutationCommandsFn;\n};\ntype OperationRegistrationModule = {\n registerOperationCommands: typeof RegisterOperationCommandsFn;\n};\n\nconst loadSetupRegistrationModule = createLazyModule<SetupRegistrationModule>(() => import(\"./register-setup.js\"));\nconst loadListQueryRegistrationModule = createLazyModule<ListQueryRegistrationModule>(() => import(\"./register-list-query.js\"));\nconst loadMutationRegistrationModule = createLazyModule<MutationRegistrationModule>(() => import(\"./register-mutation.js\"));\nconst loadOperationRegistrationModule = createLazyModule<OperationRegistrationModule>(() => import(\"./register-operations.js\"));\n\nfunction describeUnknownError(error: unknown): string {\n if (error instanceof PmCliError) {\n return error.message;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return \"Unknown failure\";\n}\n\nfunction readThrownExitCode(error: unknown): number | undefined {\n if (typeof error !== \"object\" || error === null || !(\"exitCode\" in error)) {\n return undefined;\n }\n const exitCode = (error as { exitCode?: unknown }).exitCode;\n return typeof exitCode === \"number\" && Number.isFinite(exitCode) ? exitCode : undefined;\n}\n\nfunction normalizeThrownExitCode(exitCode: number): number {\n const normalized = Math.trunc(exitCode);\n return normalized > EXIT_CODE.SUCCESS ? normalized : EXIT_CODE.GENERIC_FAILURE;\n}\n\nfunction isCommanderError(error: unknown): boolean {\n return (\n typeof error === \"object\" &&\n error !== null &&\n \"code\" in error &&\n typeof (error as { code?: unknown }).code === \"string\" &&\n (error as { code: string }).code.startsWith(\"commander.\")\n );\n}\n\n/* c8 ignore start */\nfunction wrapThrownErrorForSentry(error: unknown, message: string): Error {\n if (error instanceof Error) {\n return error;\n }\n const wrapped = new Error(message) as Error & { exitCode?: number };\n const exitCode = readThrownExitCode(error);\n /* c8 ignore next */\n if (exitCode !== undefined) {\n wrapped.exitCode = normalizeThrownExitCode(exitCode);\n }\n return wrapped;\n}\n\nfunction renderAttemptedCommand(argv: string[]): string {\n return renderPmCommand(argv);\n}\n\nfunction inferMissingFieldsFromErrorMessage(message: string): string[] | undefined {\n const matches = message.match(/--[a-zA-Z0-9][a-zA-Z0-9_-]*/g);\n if (!matches || matches.length === 0) {\n return undefined;\n }\n /* c8 ignore next */\n const normalized = [...new Set(matches.map((entry) => normalizeLongOptionFlag(entry) ?? entry))];\n /* c8 ignore next */\n return normalized.length > 0 ? normalized : undefined;\n}\n\nfunction inferMissingFieldsForRecovery(\n rawMessage: string,\n invocationArgv: string[],\n existingRecovery: PmCliErrorRecoveryPayload | undefined,\n): string[] | undefined {\n if (existingRecovery?.suggested_retry) {\n return undefined;\n }\n const providedFields = extractProvidedOptionFlags(invocationArgv);\n const providedSet = new Set(providedFields.map((flag) => normalizeLongOptionFlag(flag) ?? flag));\n const rawInferred = inferMissingFieldsFromErrorMessage(rawMessage);\n const trulyMissing = rawInferred?.filter((flag) => !providedSet.has(normalizeLongOptionFlag(flag) ?? flag));\n return trulyMissing && trulyMissing.length > 0 ? trulyMissing : undefined;\n}\n\nfunction resolveRecoverySuggestedRetry(\n invocationArgv: string[],\n attemptedCommand: string,\n inferredMissing: string[] | undefined,\n existingRecovery: PmCliErrorRecoveryPayload | undefined,\n): string | undefined {\n if (existingRecovery?.suggested_retry) {\n return existingRecovery.suggested_retry;\n }\n const missingFlag = inferredMissing?.[0];\n const normalizedMissing = missingFlag ? normalizeLongOptionFlag(missingFlag) : undefined;\n const suggestedRetry = normalizedMissing\n ? renderAttemptedCommand([...invocationArgv, normalizedMissing, \"<value>\"])\n : attemptedCommand;\n return suggestedRetry === attemptedCommand ? undefined : suggestedRetry;\n}\n\nfunction projectExistingRecoveryOptionalFields(\n existingRecovery: PmCliErrorRecoveryPayload | undefined,\n): Partial<PmCliErrorRecoveryPayload> {\n if (!existingRecovery) {\n return {};\n }\n const optionalFields: Array<keyof PmCliErrorRecoveryPayload> = [\n \"recovery_mode\",\n \"missing_required_fields\",\n \"suggested_flags\",\n \"fallback_candidates\",\n \"next_best_command\",\n ];\n const projected: Partial<PmCliErrorRecoveryPayload> = {};\n for (const field of optionalFields) {\n const value = existingRecovery[field];\n if (value !== undefined && value !== null) {\n (projected as Record<string, unknown>)[field] = value;\n }\n }\n return projected;\n}\n\nfunction buildRecoveryPayload(params: {\n invocationArgv: string[];\n attemptedCommand: string;\n providedFields: string[];\n inferredMissing: string[] | undefined;\n suggestedRetry: string | undefined;\n existingRecovery: PmCliErrorRecoveryPayload | undefined;\n}): PmCliErrorRecoveryPayload {\n const existingRecovery = params.existingRecovery;\n return {\n attempted_command: existingRecovery?.attempted_command ?? params.attemptedCommand,\n normalized_args: existingRecovery?.normalized_args ?? [...params.invocationArgv],\n /* c8 ignore next */\n provided_fields: existingRecovery?.provided_fields ?? (params.providedFields.length > 0 ? params.providedFields : undefined),\n missing: existingRecovery?.missing ?? params.inferredMissing,\n ...projectExistingRecoveryOptionalFields(existingRecovery),\n ...(params.suggestedRetry ? { suggested_retry: params.suggestedRetry } : {}),\n };\n}\n\nfunction buildPmCliRecoveryContext(\n context: PmCliErrorContext | undefined,\n invocationArgv: string[],\n rawMessage: string,\n): PmCliErrorContext {\n const explainRequested = invocationArgv.includes(\"--explain\");\n const existingRecovery = context?.recovery;\n if (existingRecovery?.recovery_mode === \"compact\" && !explainRequested) {\n return {\n /* c8 ignore next */\n ...context,\n recovery: existingRecovery,\n };\n }\n const attemptedCommand = renderAttemptedCommand(invocationArgv);\n const providedFields = extractProvidedOptionFlags(invocationArgv);\n const inferredMissing = inferMissingFieldsForRecovery(rawMessage, invocationArgv, existingRecovery);\n const suggestedRetry = resolveRecoverySuggestedRetry(invocationArgv, attemptedCommand, inferredMissing, existingRecovery);\n const recovery = buildRecoveryPayload({\n invocationArgv,\n attemptedCommand,\n providedFields,\n inferredMissing,\n suggestedRetry,\n existingRecovery,\n });\n return {\n ...context,\n recovery,\n };\n}\n/* c8 ignore stop */\n\nfunction readRecordString(record: Record<string, unknown> | null, ...keys: string[]): string | undefined {\n if (!record) {\n return undefined;\n }\n for (const key of keys) {\n const candidate = record[key];\n if (typeof candidate === \"string\") {\n const normalized = candidate.trim();\n if (normalized.length > 0) {\n return normalized;\n }\n }\n }\n return undefined;\n}\n\nfunction readRecordBoolean(record: Record<string, unknown> | null, ...keys: string[]): boolean | undefined {\n if (!record) {\n return undefined;\n }\n for (const key of keys) {\n const candidate = record[key];\n if (typeof candidate === \"boolean\") {\n return candidate;\n }\n }\n return undefined;\n}\n\nfunction readRecordNumber(record: Record<string, unknown> | null, ...keys: string[]): number | undefined {\n if (!record) {\n return undefined;\n }\n for (const key of keys) {\n const candidate = record[key];\n if (typeof candidate === \"number\" && Number.isFinite(candidate)) {\n return Math.max(0, Math.trunc(candidate));\n }\n }\n return undefined;\n}\n\nfunction normalizeTelemetryCommandResolution(\n value: string | undefined,\n): TelemetryCommandResolution | undefined {\n if (!value) {\n return undefined;\n }\n const normalized = value.trim().toLowerCase();\n if (!TELEMETRY_COMMAND_RESOLUTION_SET.has(normalized as TelemetryCommandResolution)) {\n return undefined;\n }\n return normalized as TelemetryCommandResolution;\n}\n\nfunction normalizeTelemetryResolutionStage(value: string | undefined): TelemetryResolutionStage | undefined {\n if (!value) {\n return undefined;\n }\n const normalized = value.trim().toLowerCase();\n if (!TELEMETRY_RESOLUTION_STAGE_SET.has(normalized as TelemetryResolutionStage)) {\n return undefined;\n }\n return normalized as TelemetryResolutionStage;\n}\n\nfunction normalizeTelemetryErrorCategory(value: string | undefined): TelemetryErrorCategory | undefined {\n if (!value) {\n return undefined;\n }\n const normalized = value.trim().toLowerCase();\n if (!TELEMETRY_ERROR_CATEGORY_SET.has(normalized as TelemetryErrorCategory)) {\n return undefined;\n }\n return normalized as TelemetryErrorCategory;\n}\n\n/* c8 ignore start */\nfunction inferPostActionFailureMessage(result: Record<string, unknown> | null): string | undefined {\n const explicit = readRecordString(result, \"error\", \"message\");\n if (explicit) {\n return explicit;\n }\n\n const warnings = result?.warnings;\n if (Array.isArray(warnings)) {\n const firstWarning = warnings.find((value) => typeof value === \"string\" && value.trim().length > 0);\n /* c8 ignore next */\n if (typeof firstWarning === \"string\") {\n return firstWarning.trim();\n }\n }\n\n const skippedTriggered = readRecordBoolean(result, \"fail_on_skipped_triggered\", \"failOnSkippedTriggered\");\n if (skippedTriggered) {\n return \"linked_test_fail_on_skipped_triggered\";\n }\n\n const failedCount = readRecordNumber(result, \"failed\");\n if (typeof failedCount === \"number\" && failedCount > 0) {\n return `failed_runs:${failedCount}`;\n }\n\n const runResults = result?.run_results;\n if (Array.isArray(runResults)) {\n const failedRuns = runResults.filter((entry) => {\n const row = asRecordOrNull(entry);\n return row?.status === \"failed\";\n }).length;\n /* c8 ignore next */\n if (failedRuns > 0) {\n return `failed_runs:${failedRuns}`;\n }\n }\n\n return undefined;\n}\n/* c8 ignore stop */\n\nfunction inferPostActionErrorCode(ok: boolean, exitCode: number): string | undefined {\n if (ok) {\n return undefined;\n }\n if (exitCode === EXIT_CODE.USAGE) {\n return \"invalid_command_usage\";\n }\n if (exitCode === EXIT_CODE.NOT_FOUND) {\n return \"item_not_found\";\n }\n if (exitCode === EXIT_CODE.CONFLICT) {\n return \"lock_conflict\";\n }\n if (exitCode === EXIT_CODE.DEPENDENCY_FAILED) {\n return \"dependency_failed\";\n }\n return \"command_failed\";\n}\n\nfunction buildPostActionTelemetryOutcome(): TelemetryCommandOutcome {\n const result = asRecordOrNull(getActiveCommandResult());\n const processExitCode =\n typeof process.exitCode === \"number\" && Number.isFinite(process.exitCode)\n ? Math.max(0, Math.trunc(process.exitCode))\n : undefined;\n const resultExitCode = readRecordNumber(result, \"exit_code\", \"exitCode\");\n const exitCode = processExitCode ?? resultExitCode ?? EXIT_CODE.SUCCESS;\n const ok = exitCode === EXIT_CODE.SUCCESS;\n const errorCode = readRecordString(result, \"error_code\", \"errorCode\") ?? inferPostActionErrorCode(ok, exitCode);\n const errorCategory =\n normalizeTelemetryErrorCategory(readRecordString(result, \"error_category\", \"errorCategory\")) ??\n (!ok ? resolveTelemetryErrorCategory(errorCode) : undefined);\n const errorMessage = !ok\n ? inferPostActionFailureMessage(result) ?? `command_exit_${exitCode}`\n : undefined;\n const commandResolution =\n normalizeTelemetryCommandResolution(readRecordString(result, \"command_resolution\", \"commandResolution\")) ??\n deriveTelemetryCommandResolution({\n ok,\n errorCode,\n errorCategory,\n });\n const resolutionStage =\n normalizeTelemetryResolutionStage(readRecordString(result, \"resolution_stage\", \"resolutionStage\")) ?? \"execute\";\n return {\n ok,\n error: errorMessage,\n exit_code: exitCode,\n error_code: errorCode,\n error_category: errorCategory,\n command_resolution: commandResolution,\n resolution_stage: resolutionStage,\n };\n}\n\n\n/* c8 ignore start */\nasync function runAndClearAfterCommandHooks(outcome: TelemetryCommandOutcome): Promise<void> {\n const telemetryRuntime = activeTelemetryCommandContext;\n activeTelemetryCommandContext = null;\n await finishTelemetryCommand(telemetryRuntime, {\n ok: outcome.ok,\n error: outcome.error,\n result: getActiveCommandResult(),\n exit_code: outcome.exit_code,\n error_code: outcome.error_code,\n error_category: outcome.error_category,\n command_resolution: outcome.command_resolution,\n resolution_stage: outcome.resolution_stage,\n });\n\n const runtime = activeExtensionHookContext;\n activeExtensionHookContext = null;\n if (!runtime) {\n clearActiveExtensionHooks();\n return;\n }\n\n let hookWarnings: string[] = [];\n try {\n hookWarnings = await runAfterCommandHooks(runtime.hooks, {\n command: runtime.commandName,\n args: runtime.commandArgs,\n options: { ...runtime.commandOptions },\n global: { ...runtime.globalOptions },\n pm_root: runtime.pmRoot,\n ok: outcome.ok,\n error: outcome.error,\n result: getActiveCommandResult(),\n affected: consumeAfterCommandAffectedItems(),\n });\n } catch (error) {\n /* c8 ignore next */\n const message = error instanceof Error ? error.message : String(error);\n hookWarnings = [`afterCommand hooks failed: ${message}`];\n } finally {\n clearActiveExtensionHooks();\n }\n if (!runtime.globalOptions.json && hookWarnings.length > 0) {\n printError(`[pm] warning: afterCommand hook_warnings=${formatHookWarnings(hookWarnings)}`);\n }\n if (runtime.profileEnabled && hookWarnings.length > 0) {\n printError(`profile:extensions hook_warnings=${formatHookWarnings(hookWarnings)}`);\n }\n}\n\nasync function ensureSentryForErrorReporting(): Promise<void> {\n await ensureSentryInit();\n}\n\nfunction envFlagEnabled(key: string): boolean {\n return TRUE_LIKE_ENV_VALUES.has((process.env[key] ?? \"\").trim().toLowerCase());\n}\n\nfunction shouldLogHandledErrorToSentry(exitCode: number): boolean {\n if (envFlagEnabled(\"PM_SENTRY_CAPTURE_EXPECTED_ERRORS\")) {\n return true;\n }\n return !EXPECTED_HANDLED_ERROR_EXIT_CODES.has(Math.trunc(exitCode));\n}\n\nasync function maybeLogHandledCliErrorToSentry(params: {\n command: string;\n error_code: string;\n error_category: TelemetryErrorCategory;\n exit_code: number;\n error_message: string;\n command_resolution?: TelemetryCommandResolution;\n resolution_stage?: TelemetryResolutionStage;\n source_context?: string;\n}): Promise<boolean> {\n if (!shouldLogHandledErrorToSentry(params.exit_code)) {\n return false;\n }\n await ensureSentryForErrorReporting();\n sentryLogCliUsageError(params);\n return true;\n}\n\nasync function handleGenericRunPmCliError(params: {\n error: unknown;\n attemptedCommand: string;\n bootstrapGlobal: GlobalOptions;\n emitTelemetryCommandError: (event: {\n command: string;\n errorCode: string;\n errorMessage: string;\n exitCode: number;\n options: Record<string, unknown>;\n resolutionStage: TelemetryResolutionStage;\n }) => Promise<{\n errorCategory: TelemetryErrorCategory;\n commandResolution: TelemetryCommandResolution;\n }>;\n}): Promise<void> {\n const message = describeUnknownError(params.error);\n const classification = classifyUnknownError(message);\n if (params.bootstrapGlobal.json) {\n printError(JSON.stringify(formatUnknownErrorForJson(message, EXIT_CODE.GENERIC_FAILURE), null, 2));\n } else {\n printError(message);\n }\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n\n let errorCategory: TelemetryErrorCategory = \"runtime\";\n let commandResolution: TelemetryCommandResolution = \"runtime_failed\";\n try {\n await ensureSentryForErrorReporting();\n sentryCaptureCliError(params.error);\n const telemetry = await params.emitTelemetryCommandError({\n command: params.attemptedCommand,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode: EXIT_CODE.GENERIC_FAILURE,\n options: {\n bootstrap_global_options: params.bootstrapGlobal,\n },\n resolutionStage: \"execute\",\n });\n errorCategory = telemetry.errorCategory;\n commandResolution = telemetry.commandResolution;\n sentryFinishCommandSpan(false, message, {\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: EXIT_CODE.GENERIC_FAILURE,\n command_resolution: commandResolution,\n resolution_stage: \"execute\",\n });\n } catch (reportingError) {\n /* c8 ignore next */\n if (!params.bootstrapGlobal.json) {\n printError(`Failed to report error: ${describeUnknownError(reportingError)}`);\n }\n }\n try {\n await runAndClearAfterCommandHooks({\n ok: false,\n error: message,\n exit_code: EXIT_CODE.GENERIC_FAILURE,\n error_code: classification.code,\n error_category: errorCategory,\n command_resolution: commandResolution,\n resolution_stage: \"execute\",\n });\n } catch (hookError) {\n /* c8 ignore next */\n if (!params.bootstrapGlobal.json) {\n printError(`Failed to run error hooks: ${describeUnknownError(hookError)}`);\n }\n }\n try {\n await sentryFlush();\n } catch (flushError) {\n /* c8 ignore next */\n if (!params.bootstrapGlobal.json) {\n printError(`Failed to flush error reporting: ${describeUnknownError(flushError)}`);\n }\n }\n}\n\nfunction extractCommandScopedOptions(\n command: Command,\n commandArgs: string[],\n extensionFlagDefinitions: Array<Record<string, unknown>> = [],\n): Record<string, unknown> {\n const allOptions = command.optsWithGlobals() as Record<string, unknown>;\n const scoped: Record<string, unknown> = { ...allOptions };\n delete scoped.json;\n delete scoped.quiet;\n delete scoped.path;\n delete scoped.pmPath;\n delete scoped.noExtensions;\n delete scoped.extensions;\n delete scoped.profile;\n delete scoped.pager;\n // Global output controls must not leak into per-command mutation fields.\n delete scoped.changedFields;\n delete scoped.idOnly;\n\n const looseOptions = parseLooseCommandOptions(commandArgs);\n for (const [key, value] of Object.entries(looseOptions)) {\n /* c8 ignore next */\n if (scoped[key] === undefined) {\n scoped[key] = value;\n }\n }\n if (extensionFlagDefinitions.length > 0) {\n const extensionOptionKeys = collectLooseCommandOptionKeysForDefinitions(extensionFlagDefinitions);\n const optionsToValidate: Record<string, unknown> = { ...looseOptions };\n for (const key of extensionOptionKeys) {\n /* c8 ignore next */\n if (scoped[key] !== undefined) {\n optionsToValidate[key] = scoped[key];\n }\n }\n validateLooseCommandOptionsWithFlagDefinitions(optionsToValidate, extensionFlagDefinitions, getCommandPath(command));\n return coerceLooseCommandOptionsWithFlagDefinitions(scoped, extensionFlagDefinitions);\n }\n return scoped;\n}\n/* c8 ignore stop */\n\nfunction collectExtensionFlagDefinitionsForCommand(\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>,\n commandPath: string,\n): Array<Record<string, unknown>> {\n const normalizedCommandPath = normalizeExtensionCommandPath(commandPath);\n if (normalizedCommandPath.length === 0) {\n return [];\n }\n return registrations.flags\n .filter((entry) => normalizeExtensionCommandPath(entry.target_command) === normalizedCommandPath)\n .flatMap((entry) => entry.flags);\n}\n\nfunction collectExtensionFlagDefinitionsForInvocation(\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>,\n commandPath: string,\n commandArgs: string[],\n): Array<Record<string, unknown>> {\n const exact = collectExtensionFlagDefinitionsForCommand(registrations, commandPath);\n const pathParts = [commandPath];\n let nestedMatch: Array<Record<string, unknown>> = [];\n for (const arg of commandArgs) {\n if (arg.startsWith(\"-\")) {\n break;\n }\n pathParts.push(arg);\n const nested = collectExtensionFlagDefinitionsForCommand(registrations, pathParts.join(\" \"));\n if (nested.length > 0) {\n nestedMatch = nested;\n }\n }\n return nestedMatch.length > 0 ? nestedMatch : exact;\n}\n\nfunction dynamicCommandArguments(descriptor: ExtensionCommandHelpDescriptor): ExtensionCommandHelpDescriptor[\"arguments\"] {\n return descriptor.arguments ?? [];\n}\n\nfunction formatDynamicCommandUsage(descriptor: ExtensionCommandHelpDescriptor): string {\n const argumentSuffix = dynamicCommandArguments(descriptor)\n .map((argument) => {\n const label = argument.variadic ? `${argument.name}...` : argument.name;\n return argument.required ? `<${label}>` : `[${label}]`;\n })\n .join(\" \");\n return `pm ${descriptor.command}${argumentSuffix ? ` ${argumentSuffix}` : \"\"}`;\n}\n\n/**\n * Reports whether {@link commandPath} is the generated command path of a\n * registered importer (`<name> import`) or exporter (`<name> export`). Importers\n * and exporters read/write a source/destination via flags and take no positional\n * operand, so an unexpected positional is a usage error; free-form\n * `registerCommand` commands intentionally accept positionals via `context.args`\n * and are excluded.\n */\nfunction isImporterOrExporterCommandPath(\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry> | null,\n commandPath: string,\n): boolean {\n if (!registrations) {\n return false;\n }\n const normalized = normalizeExtensionCommandPath(commandPath);\n return (\n registrations.importers.some((entry) => normalizeExtensionCommandPath(`${entry.importer} import`) === normalized) ||\n registrations.exporters.some((entry) => normalizeExtensionCommandPath(`${entry.exporter} export`) === normalized)\n );\n}\n\nfunction validateDynamicExtensionCommandArgs(\n descriptor: ExtensionCommandHelpDescriptor,\n args: string[],\n): void {\n const descriptorArguments = dynamicCommandArguments(descriptor);\n const requiredCount = descriptorArguments.filter((argument) => argument.required).length;\n const variadic = descriptorArguments.some((argument) => argument.variadic);\n const maxCount = variadic ? Number.POSITIVE_INFINITY : descriptorArguments.length;\n const failureHints = descriptor.failure_hints ?? [];\n const hintSuffix = failureHints.length > 0 ? ` ${failureHints.join(\" \")}` : \"\";\n if (args.length < requiredCount) {\n throw new PmCliError(\n `Missing required argument for extension command '${descriptor.command}'. Usage: ${formatDynamicCommandUsage(descriptor)}${hintSuffix}`,\n EXIT_CODE.USAGE,\n );\n }\n if (args.length > maxCount) {\n const extra = args.slice(maxCount).join(\" \");\n throw new PmCliError(\n `Too many arguments for extension command '${descriptor.command}': ${extra}. Usage: ${formatDynamicCommandUsage(descriptor)}${hintSuffix}`,\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction formatDynamicOptionFlag(optionKey: string): string {\n return `--${optionKey\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .replace(/_/g, \"-\")\n .toLowerCase()}`;\n}\n\nfunction validateDynamicExtensionCommandOptions(\n descriptor: ExtensionCommandHelpDescriptor,\n options: Record<string, unknown>,\n extensionFlagDefinitions: Array<Record<string, unknown>>,\n): void {\n if (extensionFlagDefinitions.length > 0) {\n validateLooseCommandOptionsWithFlagDefinitions(options, extensionFlagDefinitions, descriptor.command);\n return;\n }\n const unknownOptions = Object.keys(options).filter((key) => options[key] !== undefined).sort();\n if (unknownOptions.length === 0) {\n return;\n }\n throw new PmCliError(\n `Unknown option '${unknownOptions.map(formatDynamicOptionFlag).join(\", \")}' for extension command '${descriptor.command}'. This command does not define extension flags.`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction validateDynamicExtensionCommandInvocation(\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n args: string[],\n options: Record<string, unknown>,\n extensionFlagDefinitions: Array<Record<string, unknown>>,\n): void {\n if (!descriptor) {\n return;\n }\n validateDynamicExtensionCommandArgs(descriptor, args);\n validateDynamicExtensionCommandOptions(descriptor, options, extensionFlagDefinitions);\n}\n\nconst RUNTIME_FIELD_COMMAND_BY_COMMAND_PATH: Readonly<Record<string, RuntimeFieldCommand>> = {\n create: \"create\",\n update: \"update\",\n \"update-many\": \"update_many\",\n list: \"list\",\n \"list-all\": \"list\",\n \"list-draft\": \"list\",\n \"list-open\": \"list\",\n \"list-in-progress\": \"list\",\n \"list-blocked\": \"list\",\n \"list-closed\": \"list\",\n \"list-canceled\": \"list\",\n search: \"search\",\n calendar: \"calendar\",\n context: \"context\",\n \"templates save\": \"create\",\n};\n\nconst runtimeFieldLooseFlagDefinitionCache = new Map<string, Array<Record<string, unknown>>>();\n\nfunction toLooseFieldDefinitionType(fieldType: string): \"string\" | \"number\" | \"boolean\" {\n if (fieldType === \"number\") {\n return \"number\";\n }\n if (fieldType === \"boolean\") {\n return \"boolean\";\n }\n return \"string\";\n}\n\nfunction commandHasLongOption(command: Command, longFlag: string): boolean {\n return command.options.some((option) => option.long === longFlag);\n}\n\nfunction commandHasShortOption(command: Command, shortFlag: string): boolean {\n return command.options.some((option) => option.short === shortFlag);\n}\n\nfunction addRuntimeFieldOption(command: Command, flagToken: string, description: string, repeatable: boolean): void {\n const normalizedToken = flagToken.trim();\n if (!normalizedToken) {\n return;\n }\n const helpText = description.length > 0 ? description : `Runtime schema field (${flagToken})`;\n if (normalizedToken.startsWith(\"-\") && !normalizedToken.startsWith(\"--\")) {\n if (commandHasShortOption(command, normalizedToken)) {\n return;\n }\n if (repeatable) {\n command.option(`${normalizedToken} <value>`, `${helpText} (repeatable)`, collect);\n return;\n }\n command.option(`${normalizedToken} <value>`, helpText);\n return;\n }\n const longFlag = normalizedToken.startsWith(\"--\") ? normalizedToken : `--${normalizedToken}`;\n if (commandHasLongOption(command, longFlag)) {\n return;\n }\n if (repeatable) {\n command.option(`${longFlag} <value>`, `${helpText} (repeatable)`, collect);\n return;\n }\n command.option(`${longFlag} <value>`, helpText);\n}\n\nasync function collectRuntimeFieldLooseFlagDefinitionsForCommand(\n commandPath: string,\n pmRoot: string,\n): Promise<Array<Record<string, unknown>>> {\n const runtimeCommand = RUNTIME_FIELD_COMMAND_BY_COMMAND_PATH[commandPath];\n if (!runtimeCommand) {\n return [];\n }\n const cacheKey = `${pmRoot}:${runtimeCommand}`;\n const cached = runtimeFieldLooseFlagDefinitionCache.get(cacheKey);\n if (cached) {\n return cached;\n }\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n runtimeFieldLooseFlagDefinitionCache.set(cacheKey, []);\n return [];\n }\n const settings = await readSettings(pmRoot);\n const fieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const definitions = (fieldRegistry.command_to_fields.get(runtimeCommand) ?? []).flatMap((field) => {\n const flagTokens = [field.cli_flag, ...field.cli_aliases];\n return flagTokens.map((token) => ({\n long: `--${token}`,\n type: toLooseFieldDefinitionType(field.type),\n value_type: toLooseFieldDefinitionType(field.type),\n }));\n });\n runtimeFieldLooseFlagDefinitionCache.set(cacheKey, definitions);\n return definitions;\n}\n\nasync function registerRuntimeSchemaFieldFlags(rootProgram: Command, invocationArgv: string[]): Promise<void> {\n const bootstrapGlobalOptions = parseBootstrapGlobalOptions(invocationArgv);\n const pmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return;\n }\n const settings = await readSettings(pmRoot);\n const fieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const mappings: Array<{ path: string; command: RuntimeFieldCommand }> = [\n { path: \"create\", command: \"create\" },\n { path: \"update\", command: \"update\" },\n { path: \"update-many\", command: \"update_many\" },\n { path: \"list\", command: \"list\" },\n { path: \"list-all\", command: \"list\" },\n { path: \"list-draft\", command: \"list\" },\n { path: \"list-open\", command: \"list\" },\n { path: \"list-in-progress\", command: \"list\" },\n { path: \"list-blocked\", command: \"list\" },\n { path: \"list-closed\", command: \"list\" },\n { path: \"list-canceled\", command: \"list\" },\n { path: \"search\", command: \"search\" },\n { path: \"calendar\", command: \"calendar\" },\n { path: \"context\", command: \"context\" },\n { path: \"templates save\", command: \"create\" },\n ];\n for (const mapping of mappings) {\n const command = findCommandByPath(rootProgram, mapping.path.split(\" \"));\n if (!command) {\n continue;\n }\n for (const field of fieldRegistry.command_to_fields.get(mapping.command) ?? []) {\n const description = field.description ?? \"\";\n addRuntimeFieldOption(command, field.cli_flag, description, field.repeatable);\n for (const alias of field.cli_aliases) {\n addRuntimeFieldOption(command, alias, `Alias for --${field.cli_flag}`, field.repeatable);\n }\n }\n }\n}\n\nasync function maybeAttachCreateUpdatePolicyHelpText(\n rootProgram: Command,\n pmRoot: string,\n invocationArgv: string[],\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>,\n settings?: PmSettings,\n): Promise<void> {\n const bootstrapCommand = parseBootstrapCommandName(invocationArgv);\n if (bootstrapCommand !== \"create\" && bootstrapCommand !== \"update\") {\n return;\n }\n try {\n const resolvedSettings = settings ?? (await readSettings(pmRoot));\n const typeRegistry = resolveItemTypeRegistry(resolvedSettings, registrations);\n attachCreateUpdatePolicyHelpText(rootProgram, typeRegistry, invocationArgv);\n } catch {\n // Help should remain available even when settings cannot be read.\n }\n}\n\nfunction defaultPreflightDecision(): PreflightRuntimeDecision {\n return {\n enforce_item_format_gate: true,\n run_preflight_item_format_sync: true,\n run_extension_migrations: true,\n enforce_mandatory_migration_gate: true,\n };\n}\n\nfunction buildRuntimeExtensionSnapshotCacheKey(pmRoot: string): string {\n return `pm-root:${pmRoot}`;\n}\n\nfunction bootstrapProfileEnabled(invocationArgv: string[]): boolean {\n return invocationArgv.some((token) => token === \"--profile\");\n}\n\nfunction buildRuntimeExtensionDiscoverySnapshotCacheKey(pmRoot: string): string {\n return `pm-root:${pmRoot}`;\n}\n\nfunction collectLeadingCommandArgs(commandArgs: readonly string[] | undefined): string[] {\n const leading: string[] = [];\n for (const arg of commandArgs ?? []) {\n if (arg.startsWith(\"-\")) {\n break;\n }\n const normalized = normalizeExtensionCommandPath(arg);\n if (normalized.length === 0) {\n continue;\n }\n leading.push(normalized);\n }\n return leading;\n}\n\n/* c8 ignore start */\nfunction collectActivationCommandCandidates(probe: RuntimeExtensionActivationProbe): string[] {\n /* c8 ignore next */\n const commandPath = normalizeExtensionCommandPath(probe.commandPath ?? \"\");\n if (commandPath.length === 0) {\n return [];\n }\n const candidates = [commandPath];\n const parts = commandPath.split(\" \").filter((part) => part.length > 0);\n for (const arg of collectLeadingCommandArgs(probe.commandArgs)) {\n parts.push(...arg.split(\" \").filter((part) => part.length > 0));\n candidates.push(parts.join(\" \"));\n }\n return [...new Set(candidates)];\n}\n\nfunction activationCommandMatchesProbe(command: string, probe: RuntimeExtensionActivationProbe): boolean {\n const normalized = normalizeExtensionCommandPath(command);\n if (normalized.length === 0) {\n return false;\n }\n const candidates = collectActivationCommandCandidates(probe);\n for (const candidate of candidates) {\n if (candidate === normalized || candidate.startsWith(`${normalized} `)) {\n return true;\n }\n }\n if (probe.allowCommandPrefixMatch === true) {\n return candidates.some((candidate) => normalized.startsWith(`${candidate} `));\n }\n return false;\n}\n\nfunction extensionActivationCommands(extension: ExtensionDiscoveryResult[\"effective\"][number]): string[] {\n return extension.activation?.commands ?? [];\n}\n\nfunction extensionCapabilities(extension: ExtensionDiscoveryResult[\"effective\"][number]): Set<string> {\n /* c8 ignore next */\n return new Set((extension.capabilities ?? []).map((capability) => capability.trim().toLowerCase()));\n}\n\nconst GLOBAL_EXTENSION_ACTIVATION_CAPABILITIES = new Set([\"hooks\", \"parser\", \"preflight\", \"renderers\"]);\n// Capabilities that register command handlers whose names are not statically\n// known without declared `activation.commands`, so the extension must activate\n// for any command probe. `importers`/`exporters` register their import/export as\n// command handlers, so they belong here alongside commands/schema/services.\nconst CONSERVATIVE_EXTENSION_ACTIVATION_CAPABILITIES = new Set([\"commands\", \"schema\", \"services\", \"importers\"]);\nconst SEARCH_EXTENSION_ACTIVATION_COMMANDS = new Set([\"reindex\", \"search\", \"search-advanced\"]);\nconst CREATE_TEMPLATE_FLAGS = new Set([\"--template\"]);\n\nfunction hasAnyCapability(capabilities: Set<string>, expected: Set<string>): boolean {\n for (const capability of expected) {\n if (capabilities.has(capability)) {\n return true;\n }\n }\n return false;\n}\n\nfunction commandPathNeedsSearchExtensions(commandPath: string | undefined): boolean {\n const normalized = normalizeExtensionCommandPath(commandPath ?? \"\");\n if (normalized.length === 0) {\n return false;\n }\n const [topLevel] = normalized.split(\" \");\n /* c8 ignore next */\n return SEARCH_EXTENSION_ACTIVATION_COMMANDS.has(topLevel ?? normalized);\n}\n\nfunction probeUsesAnyFlag(probe: RuntimeExtensionActivationProbe, flags: Set<string>): boolean {\n /* c8 ignore next */\n for (const arg of probe.commandArgs ?? []) {\n if (!arg.startsWith(\"--\")) {\n continue;\n }\n const [flagName] = arg.split(\"=\", 1);\n if (flags.has(flagName)) {\n return true;\n }\n }\n return false;\n}\n/* c8 ignore stop */\n\nfunction commandPathNeedsTemplateExtensions(probe: RuntimeExtensionActivationProbe): boolean {\n return normalizeExtensionCommandPath(probe.commandPath ?? \"\") === \"create\" && probeUsesAnyFlag(probe, CREATE_TEMPLATE_FLAGS);\n}\n\nfunction extensionProvidesTemplatesRuntime(commands: readonly string[]): boolean {\n return commands.some((command) => {\n const normalized = normalizeExtensionCommandPath(command);\n return normalized === \"templates\" || normalized.startsWith(\"templates \");\n });\n}\n\nfunction extensionNeedsActivationForProbe(\n extension: ExtensionDiscoveryResult[\"effective\"][number],\n probe: RuntimeExtensionActivationProbe,\n): boolean {\n const capabilities = extensionCapabilities(extension);\n const commands = extensionActivationCommands(extension);\n if (commands.some((command) => activationCommandMatchesProbe(command, probe))) {\n return true;\n }\n\n if (hasAnyCapability(capabilities, GLOBAL_EXTENSION_ACTIVATION_CAPABILITIES)) {\n return true;\n }\n\n if (commandPathNeedsTemplateExtensions(probe) && extensionProvidesTemplatesRuntime(commands)) {\n return true;\n }\n\n // Search providers attach to the built-in search commands (reindex/search/...)\n // even when the extension declares unrelated commands of its own. This is a\n // non-terminal positive gate: it must not short-circuit a `false` here, or an\n // extension that pairs `search` with command-bearing capabilities would be\n // skipped for its own commands (the conservative tier below is what activates\n // those). A pure search provider has no command-bearing capability, so it falls\n // through to `return false` and stays scoped to search commands.\n if (capabilities.has(\"search\") && commandPathNeedsSearchExtensions(probe.commandPath)) {\n return true;\n }\n\n // When the extension fully enumerates its activation commands and none matched,\n // its command-bearing surfaces cannot satisfy this probe.\n if (commands.length > 0) {\n return false;\n }\n\n // Without declared activation commands the contributed command names are\n // unknown, so any command-bearing capability (commands/schema/services and\n // importers/exporters, all of which register command handlers) must activate\n // for the probe — the invoked command could be one it registers. Activation\n // stays lazy once the extension declares `activation.commands` (handled by the\n // exact-match path above).\n if (hasAnyCapability(capabilities, CONSERVATIVE_EXTENSION_ACTIVATION_CAPABILITIES)) {\n return true;\n }\n\n return false;\n}\n\nfunction discoveryNeedsActivationForProbe(\n discovery: ExtensionDiscoveryResult,\n probe: RuntimeExtensionActivationProbe,\n): boolean {\n if (discovery.effective.length === 0) {\n return false;\n }\n const hasCommandProbe = normalizeExtensionCommandPath(probe.commandPath ?? \"\").length > 0;\n if (!hasCommandProbe) {\n return discovery.effective.some((extension) => {\n const capabilities = extensionCapabilities(extension);\n return (\n extensionActivationCommands(extension).length > 0 ||\n hasAnyCapability(capabilities, GLOBAL_EXTENSION_ACTIVATION_CAPABILITIES) ||\n hasAnyCapability(capabilities, CONSERVATIVE_EXTENSION_ACTIVATION_CAPABILITIES) ||\n capabilities.has(\"search\")\n );\n });\n }\n return discovery.effective.some((extension) => extensionNeedsActivationForProbe(extension, probe));\n}\n\nfunction buildBootstrapActivationProbe(invocationArgv: string[]): RuntimeExtensionActivationProbe {\n const helpRequest = parseBootstrapHelpRequest(invocationArgv);\n if (helpRequest.requested && helpRequest.commandPathTokens.length > 0) {\n const [commandPath, ...commandArgs] = helpRequest.commandPathTokens;\n return {\n commandPath,\n commandArgs,\n allowCommandPrefixMatch: true,\n };\n }\n\n const stripped = stripGlobalBootstrapTokens(invocationArgv);\n const commandIndex = stripped.findIndex((token) => token.trim().length > 0 && !token.startsWith(\"-\"));\n if (commandIndex < 0) {\n return {};\n }\n return {\n commandPath: stripped[commandIndex],\n commandArgs: stripped.slice(commandIndex + 1),\n allowCommandPrefixMatch: helpRequest.requested,\n };\n}\n\n/* c8 ignore start */\nfunction collectParsedActivationCommandArgs(command: Command): string[] {\n const commandArgs = command.args.map(String);\n const commandPath = normalizeExtensionCommandPath(getCommandPath(command));\n if (commandPath === \"create\") {\n const options = command.optsWithGlobals() as Record<string, unknown>;\n /* c8 ignore next */\n if (typeof options.template === \"string\" && options.template.trim().length > 0) {\n commandArgs.push(\"--template\");\n }\n }\n return commandArgs;\n}\n/* c8 ignore stop */\n\n/**\n * Surface settings-read warnings once per command on stderr. readSettings()\n * silently falls back to defaults when settings.json is invalid, so most\n * commands (create/list/search/...) generate the warning but never show it — a\n * typo would change behavior with no explanation. Only the `settings_read_*`\n * codes are surfaced (the corrupt-settings fallbacks: invalid_json /\n * invalid_schema / merge_failed); other informational settings warnings (schema\n * bootstrap, legacy-format coercion) stay quiet. Mirrors the same finding in\n * `pm health`, which also carries a remediation_map for it.\n */\nfunction emitSettingsReadWarnings(warnings: readonly string[]): void {\n for (const warning of warnings) {\n if (warning.startsWith(\"settings_read_\")) {\n printError(\n `[pm] warning: ${warning} — settings.json could not be loaded and pm fell back to defaults; run pm health for remediation.`,\n );\n }\n }\n}\n\nfunction emitExtensionProfile(globalOptions: GlobalOptions, snapshot: RuntimeExtensionSnapshot): void {\n if (!globalOptions.profile) {\n return;\n }\n printError(\n `profile:extensions loaded=${snapshot.loadedCount} failed=${snapshot.loadFailedCount} warnings=${snapshot.loadWarnings.length} activation_failed=${snapshot.activationFailedCount} hook_counts=before:${snapshot.hooks.beforeCommand.length}|after:${snapshot.hooks.afterCommand.length}|write:${snapshot.hooks.onWrite.length}|read:${snapshot.hooks.onRead.length}|index:${snapshot.hooks.onIndex.length} command_overrides=${snapshot.commands.overrides.length} command_handlers=${snapshot.commands.handlers.length} parser_overrides=${snapshot.parsers.overrides.length} preflight_overrides=${snapshot.preflight.overrides.length} service_overrides=${snapshot.services.overrides.length} renderer_overrides=${snapshot.renderers.overrides.length}`,\n );\n if (snapshot.activationWarnings.length > 0) {\n printError(`profile:extensions activation_warnings=${formatHookWarnings(snapshot.activationWarnings)}`);\n }\n}\n\nfunction emitExtensionSkippedProfile(\n profileEnabled: boolean | undefined,\n snapshot: RuntimeExtensionDiscoverySnapshot,\n probe: RuntimeExtensionActivationProbe,\n): void {\n if (!profileEnabled) {\n return;\n }\n const command = normalizeExtensionCommandPath(probe.commandPath ?? \"\") || \"<none>\";\n printError(\n `profile:extensions activation=skipped command=${command} effective=${snapshot.discovery.effective.length} warnings=${snapshot.discovery.warnings.length} discovery_ms=${snapshot.discoveryMs}`,\n );\n}\n\nasync function loadRuntimeExtensionDiscoverySnapshot(pmRoot: string): Promise<RuntimeExtensionDiscoverySnapshot | null> {\n const cacheKey = buildRuntimeExtensionDiscoverySnapshotCacheKey(pmRoot);\n if (runtimeExtensionDiscoverySnapshotCache?.key === cacheKey) {\n return runtimeExtensionDiscoverySnapshotCache.snapshot;\n }\n\n try {\n const startedAt = Date.now();\n const { settings, warnings: settingsReadWarnings } = await readSettingsWithMetadata(pmRoot);\n const discovery = await discoverExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const snapshot: RuntimeExtensionDiscoverySnapshot = {\n pmRoot,\n settings,\n discovery,\n discoveryMs: Date.now() - startedAt,\n settingsReadWarnings: [...settingsReadWarnings],\n };\n runtimeExtensionDiscoverySnapshotCache = {\n key: cacheKey,\n snapshot,\n };\n return snapshot;\n } catch {\n runtimeExtensionDiscoverySnapshotCache = {\n key: cacheKey,\n snapshot: null,\n };\n return null;\n }\n}\n\nasync function loadRuntimeExtensionSnapshot(pmRoot: string): Promise<RuntimeExtensionSnapshot | null> {\n const cacheKey = buildRuntimeExtensionSnapshotCacheKey(pmRoot);\n if (runtimeExtensionSnapshotCache?.key === cacheKey) {\n return runtimeExtensionSnapshotCache.snapshot;\n }\n\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n const commandHandlers = [...new Set(activationResult.commands.handlers.map((entry) => normalizeExtensionCommandPath(entry.command)))]\n .filter((entry) => entry.length > 0)\n .sort((left, right) => left.localeCompare(right));\n const commandFlagHelp = collectDynamicExtensionFlagHelpByCommand(activationResult.registrations.flags);\n const commandDescriptors = collectExtensionCommandHelpDescriptors(\n commandHandlers,\n activationResult.registrations.commands,\n activationResult.registrations.flags,\n );\n const snapshot: RuntimeExtensionSnapshot = {\n hooks: activationResult.hooks,\n commands: activationResult.commands,\n parsers: activationResult.parsers,\n preflight: activationResult.preflight,\n services: activationResult.services,\n renderers: activationResult.renderers,\n registrations: activationResult.registrations,\n pmRoot,\n settings,\n commandHandlers,\n commandFlagHelp,\n commandDescriptors,\n loadWarnings: [...loadResult.warnings],\n activationWarnings: [...activationResult.warnings],\n loadedCount: loadResult.loaded.length,\n loadFailedCount: loadResult.failed.length,\n activationFailedCount: activationResult.failed.length,\n };\n runtimeExtensionSnapshotCache = {\n key: cacheKey,\n snapshot,\n };\n return snapshot;\n } catch {\n runtimeExtensionSnapshotCache = {\n key: cacheKey,\n snapshot: null,\n };\n return null;\n }\n}\n\n/* c8 ignore start */\nasync function maybeLoadRuntimeExtensions(\n command: Command,\n): Promise<\n {\n hooks: ExtensionHookRegistry;\n commands: ExtensionCommandRegistry;\n parsers: ExtensionParserRegistry;\n preflight: ExtensionPreflightRegistry;\n services: ExtensionServiceRegistry;\n renderers: ExtensionRendererRegistry;\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>;\n pmRoot: string;\n } | null\n> {\n const globalOptions = getGlobalOptions(command);\n if (globalOptions.noExtensions) {\n // Extensions are disabled, so the discovery snapshot that normally carries\n // the settings-read warnings is skipped. Surface them directly here (a single\n // read on this uncommon path) so `pm --no-extensions <cmd>` — the common safe\n // mode — still reports a corrupt settings.json instead of silently running on\n // defaults.\n const noExtPmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n if (await pathExists(getSettingsPath(noExtPmRoot))) {\n emitSettingsReadWarnings((await readSettingsWithMetadata(noExtPmRoot)).warnings);\n }\n return null;\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const discoverySnapshot = await loadRuntimeExtensionDiscoverySnapshot(pmRoot);\n if (!discoverySnapshot) {\n return null;\n }\n // Surface actionable settings-read warnings once per command, before the\n // activation-skipped fast path returns, so create/list/search/... all report a\n // corrupt settings.json instead of silently running on defaults.\n emitSettingsReadWarnings(discoverySnapshot.settingsReadWarnings);\n const probe: RuntimeExtensionActivationProbe = {\n commandPath: getCommandPath(command),\n commandArgs: collectParsedActivationCommandArgs(command),\n };\n if (!discoveryNeedsActivationForProbe(discoverySnapshot.discovery, probe)) {\n emitExtensionSkippedProfile(globalOptions.profile, discoverySnapshot, probe);\n return null;\n }\n\n const snapshot = await loadRuntimeExtensionSnapshot(pmRoot);\n /* c8 ignore next */\n if (!snapshot) {\n return null;\n }\n\n emitExtensionProfile(globalOptions, snapshot);\n return {\n hooks: snapshot.hooks,\n commands: snapshot.commands,\n parsers: snapshot.parsers,\n preflight: snapshot.preflight,\n services: snapshot.services,\n renderers: snapshot.renderers,\n registrations: snapshot.registrations,\n pmRoot,\n };\n}\n/* c8 ignore stop */\n\nasync function loadRuntimeExtensionCommandDescriptorsForRecovery(pmRoot: string): Promise<Map<string, ExtensionCommandHelpDescriptor>> {\n const snapshot = await loadRuntimeExtensionSnapshot(pmRoot);\n return snapshot ? new Map(snapshot.commandDescriptors) : activeRuntimeExtensionCommandDescriptors;\n}\n\nasync function executeRegisteredRuntimeMigrations(\n migrations: RegisteredExtensionSchemaMigrationDefinition[],\n pmRoot: string,\n): Promise<string[]> {\n const warnings: string[] = [];\n for (let index = 0; index < migrations.length; index += 1) {\n const migration = migrations[index];\n const status = resolveNormalizedMigrationStatus(migration.definition);\n if (status === \"applied\") {\n continue;\n }\n\n const runtimeDefinition = migration.runtime_definition ?? migration.definition;\n const run = (runtimeDefinition as { run?: unknown }).run;\n if (typeof run !== \"function\") {\n continue;\n }\n\n const migrationId = resolveMigrationId(migration.definition, index);\n try {\n await Promise.resolve(\n run({\n id: migrationId,\n command: \"migration\",\n layer: migration.layer,\n extension: migration.name,\n pm_root: pmRoot,\n status,\n }),\n );\n migration.definition.status = \"applied\";\n delete migration.definition.reason;\n delete migration.definition.error;\n delete migration.definition.message;\n } catch (error: unknown) {\n migration.definition.status = \"failed\";\n migration.definition.reason = describeUnknownError(error);\n warnings.push(`extension_migration_failed:${migration.layer}:${migration.name}:${migrationId}`);\n }\n }\n return warnings;\n}\n\n/* c8 ignore start */\nasync function runRequiredExtensionCommand(\n command: Command,\n options: Record<string, unknown>,\n globalOptions: GlobalOptions,\n extensionFlagDefinitions: Array<Record<string, unknown>> = [],\n): Promise<unknown> {\n const commandPath = getCommandPath(command);\n let commandArgs = stripLooseCommandOptionTokens(command.args.map(String), extensionFlagDefinitions);\n let commandOptions = { ...options };\n let resolvedGlobalOptions = { ...globalOptions };\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const parserOverride = await runActiveParserOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: resolvedGlobalOptions,\n pm_root: pmRoot,\n });\n if (globalOptions.profile && parserOverride.warnings.length > 0) {\n printError(`profile:extensions parser_warnings=${formatHookWarnings(parserOverride.warnings)}`);\n }\n commandArgs = parserOverride.context.args;\n commandOptions = parserOverride.context.options;\n resolvedGlobalOptions = parserOverride.context.global;\n validateDynamicExtensionCommandInvocation(\n activeRuntimeExtensionCommandDescriptors.get(normalizeExtensionCommandPath(commandPath)),\n commandArgs,\n commandOptions,\n extensionFlagDefinitions,\n );\n setActiveCommandResult(undefined);\n setActiveCommandContext({\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...resolvedGlobalOptions },\n pm_root: pmRoot,\n });\n const extensionCommandResult = await runActiveCommandHandler({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: resolvedGlobalOptions,\n pm_root: pmRoot,\n });\n if (resolvedGlobalOptions.profile && extensionCommandResult.warnings.length > 0) {\n printError(`profile:extensions command_handler_warnings=${formatHookWarnings(extensionCommandResult.warnings)}`);\n }\n if (!extensionCommandResult.handled) {\n if (extensionCommandResult.warnings.length > 0) {\n const warningCode = extensionCommandResult.warnings[0];\n const cause = extensionCommandResult.errorMessage?.trim();\n /* c8 ignore next */\n const causeSuffix = cause ? ` ${cause}` : \"\";\n throw new PmCliError(\n `Command \"${commandPath}\" failed in extension handler (${warningCode}).${causeSuffix}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n throw new PmCliError(`Command \"${commandPath}\" is provided by extensions and is not currently available.`, EXIT_CODE.NOT_FOUND);\n }\n setActiveCommandResult(extensionCommandResult.result);\n return extensionCommandResult.result;\n}\n\nconst WRAPPED_ACTION_HANDLER = Symbol(\"pm.wrappedActionHandler\");\n\ntype ActionMutableCommand = Command & {\n _actionHandler?: (...args: unknown[]) => unknown;\n [WRAPPED_ACTION_HANDLER]?: boolean;\n};\n\nfunction resolveActionCommand(actionArgs: unknown[], fallback: Command): Command {\n const possibleCommand = actionArgs[actionArgs.length - 1];\n /* c8 ignore next */\n return possibleCommand instanceof Command ? possibleCommand : fallback;\n}\n\nfunction maybePrintExtensionProfileWarnings(enabled: boolean | undefined, label: string, warnings: string[]): void {\n if (enabled && warnings.length > 0) {\n printError(`profile:extensions ${label}=${formatHookWarnings(warnings)}`);\n }\n}\n\nfunction validateDynamicInvocationArgs(params: {\n activeRegistrations: ReturnType<typeof getActiveExtensionRegistrations>;\n commandPath: string;\n commandArgs: string[];\n extensionFlagDefinitions: Array<Record<string, unknown>>;\n}): void {\n const dynamicDescriptor = activeRuntimeExtensionCommandDescriptors.get(normalizeExtensionCommandPath(params.commandPath));\n if (!dynamicDescriptor || !isImporterOrExporterCommandPath(params.activeRegistrations, params.commandPath)) {\n return;\n }\n const positionalArgs =\n dynamicCommandArguments(dynamicDescriptor).length === 0\n ? collectLoosePositionalArgs(params.commandArgs)\n : stripLooseCommandOptionTokens(params.commandArgs, params.extensionFlagDefinitions);\n validateDynamicExtensionCommandArgs(dynamicDescriptor, positionalArgs);\n}\n\nfunction syncCommanderActionArgs(actionCommand: Command, actionArgs: unknown[], commandArgs: string[]): void {\n actionCommand.args = [...commandArgs];\n /* c8 ignore next */\n if (\"_processArguments\" in actionCommand && typeof actionCommand._processArguments === \"function\") {\n actionCommand._processArguments();\n }\n /* c8 ignore next */\n if (actionArgs.length > 0 && Array.isArray(actionArgs[0])) {\n actionArgs[0] = [...actionCommand.processedArgs];\n }\n}\n\nfunction wrapProgramActionsForExtensionHandlers(rootProgram: Command): void {\n const visit = (entry: Command): void => {\n const actionEntry = entry as ActionMutableCommand;\n if (typeof actionEntry._actionHandler === \"function\" && actionEntry[WRAPPED_ACTION_HANDLER] !== true) {\n const originalAction = actionEntry._actionHandler;\n actionEntry._actionHandler = async function wrappedActionHandler(this: unknown, ...actionArgs: unknown[]): Promise<unknown> {\n const actionCommand = resolveActionCommand(actionArgs, entry);\n const startedAt = Date.now();\n clearResolvedGlobalOptions(actionCommand);\n let globalOptions = getGlobalOptions(actionCommand);\n const commandPath = getCommandPath(actionCommand);\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n let commandArgs = actionCommand.args.map(String);\n const activeRegistrations = getActiveExtensionRegistrations();\n const extensionFlagDefinitions = activeRegistrations\n ? collectExtensionFlagDefinitionsForInvocation(activeRegistrations, commandPath, commandArgs)\n : [];\n const runtimeFieldFlagDefinitions = await collectRuntimeFieldLooseFlagDefinitionsForCommand(commandPath, pmRoot);\n let commandOptions = extractCommandScopedOptions(actionCommand, commandArgs, [\n ...extensionFlagDefinitions,\n ...runtimeFieldFlagDefinitions,\n ]);\n const parserOverride = await runActiveParserOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: pmRoot,\n });\n maybePrintExtensionProfileWarnings(globalOptions.profile, \"parser_warnings\", parserOverride.warnings);\n commandArgs = parserOverride.context.args;\n commandOptions = parserOverride.context.options;\n globalOptions = parserOverride.context.global;\n // Validate importer/exporter positionals on the real dispatch path:\n // these short-circuit before the dynamic action that previously held the\n // only arity validation, so excess positionals could reach handlers.\n // Free-form `registerCommand` commands intentionally accept positionals\n // via context.args, and core commands have no descriptor.\n validateDynamicInvocationArgs({ activeRegistrations, commandPath, commandArgs, extensionFlagDefinitions });\n globalOptions = await applyDefaultOutputFormat(globalOptions);\n setResolvedGlobalOptions(actionCommand, globalOptions);\n syncCommanderActionArgs(actionCommand, actionArgs, commandArgs);\n for (const [key, value] of Object.entries(commandOptions)) {\n actionCommand.setOptionValueWithSource(key, value, \"cli\");\n }\n setActiveCommandResult(undefined);\n setActiveCommandContext({\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...globalOptions },\n pm_root: pmRoot,\n });\n\n const extensionCommandResult = await runActiveCommandHandler({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: pmRoot,\n });\n maybePrintExtensionProfileWarnings(globalOptions.profile, \"command_handler_warnings\", extensionCommandResult.warnings);\n if (extensionCommandResult.handled) {\n setActiveCommandResult(extensionCommandResult.result);\n printResult(extensionCommandResult.result, {\n ...globalOptions,\n command: commandPath,\n commandArgs,\n commandOptions,\n pmRoot,\n });\n if (globalOptions.profile) {\n printError(`profile:command=${commandPath} took_ms=${Date.now() - startedAt}`);\n }\n return;\n }\n\n return await originalAction.apply(this, actionArgs);\n };\n actionEntry[WRAPPED_ACTION_HANDLER] = true;\n }\n for (const child of entry.commands) {\n visit(child);\n }\n };\n visit(rootProgram);\n}\n/* c8 ignore stop */\n\nasync function clearDynamicExtensionCommandState(params?: {\n rootProgram: Command;\n pmRoot: string;\n invocationArgv: string[];\n settings?: PmSettings;\n}): Promise<void> {\n activeRuntimeExtensionCommandDescriptors = new Map<string, ExtensionCommandHelpDescriptor>();\n setActiveExtensionServices({ overrides: [] });\n if (params) {\n await maybeAttachCreateUpdatePolicyHelpText(\n params.rootProgram,\n params.pmRoot,\n params.invocationArgv,\n createEmptyExtensionRegistrationRegistry(),\n params.settings,\n );\n }\n}\n\n/* v8 ignore start -- dynamic help fallback variants are exercised through registration integration tests; residual legacy branches are defensive */\nfunction attachDynamicExtensionHelp(\n command: Command,\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n flagHelp: string | undefined,\n metadataHelp: string | null,\n): void {\n if (descriptor?.flags && descriptor.flags.length > 0) {\n applyDynamicExtensionFlagOptions(command, descriptor.flags);\n const residualFlagHelp = buildResidualDynamicExtensionFlagHelp(command, descriptor.flags);\n if (residualFlagHelp) {\n command.addHelpText(\"after\", residualFlagHelp);\n }\n } else if (flagHelp) {\n command.addHelpText(\"after\", flagHelp);\n }\n if (metadataHelp) {\n command.addHelpText(\"after\", metadataHelp);\n }\n}\n/* v8 ignore stop */\n\n/* c8 ignore start */\nasync function registerDynamicExtensionCommandPaths(rootProgram: Command, invocationArgv: string[]): Promise<void> {\n const bootstrapGlobalOptions = parseBootstrapGlobalOptions(invocationArgv);\n const pmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);\n if (bootstrapGlobalOptions.noExtensions) {\n await clearDynamicExtensionCommandState({\n rootProgram,\n pmRoot,\n invocationArgv,\n });\n return;\n }\n\n const discoverySnapshot = await loadRuntimeExtensionDiscoverySnapshot(pmRoot);\n const probe = buildBootstrapActivationProbe(invocationArgv);\n if (!discoverySnapshot) {\n await clearDynamicExtensionCommandState();\n return;\n }\n if (!discoveryNeedsActivationForProbe(discoverySnapshot.discovery, probe)) {\n await clearDynamicExtensionCommandState({\n rootProgram,\n pmRoot,\n invocationArgv,\n settings: discoverySnapshot.settings,\n });\n emitExtensionSkippedProfile(bootstrapProfileEnabled(invocationArgv), discoverySnapshot, probe);\n return;\n }\n\n const snapshot = await loadRuntimeExtensionSnapshot(pmRoot);\n /* c8 ignore next */\n if (!snapshot) {\n await clearDynamicExtensionCommandState({\n rootProgram,\n pmRoot,\n invocationArgv,\n settings: discoverySnapshot.settings,\n });\n return;\n }\n // Ensure usage/help/error formatting overrides are available even when parse\n // errors occur before preAction hooks initialize full runtime extension state.\n setActiveExtensionServices(snapshot.services);\n activeRuntimeExtensionCommandDescriptors = new Map(snapshot.commandDescriptors);\n await maybeAttachCreateUpdatePolicyHelpText(rootProgram, pmRoot, invocationArgv, snapshot.registrations, snapshot.settings);\n\n const commandPaths = [...new Set([...snapshot.commandHandlers, ...snapshot.commandDescriptors.keys()])].sort((left, right) =>\n left.localeCompare(right),\n );\n for (const commandPath of commandPaths) {\n const pathParts = commandPath.split(\" \").filter((part) => part.length > 0);\n if (pathParts.length === 0) {\n continue;\n }\n const descriptor = snapshot.commandDescriptors.get(commandPath);\n const existingCommand = findCommandByPath(rootProgram, pathParts);\n const flagHelp = snapshot.commandFlagHelp.get(commandPath);\n const metadataHelp = descriptor ? buildDynamicExtensionCommandMetadataHelp(descriptor) : null;\n if (existingCommand) {\n attachDynamicExtensionHelp(existingCommand, descriptor, flagHelp, metadataHelp);\n continue;\n }\n\n const dynamicCommand = ensureCommandPath(rootProgram, pathParts);\n /* c8 ignore next */\n if (!dynamicCommand) {\n continue;\n }\n if (descriptor?.description) {\n dynamicCommand.description(descriptor.description);\n }\n let residualDynamicFlagHelp = flagHelp;\n if (descriptor) {\n applyDynamicExtensionArguments(dynamicCommand, descriptor);\n if (descriptor.flags.length > 0) {\n applyDynamicExtensionFlagOptions(dynamicCommand, descriptor.flags);\n residualDynamicFlagHelp = buildResidualDynamicExtensionFlagHelp(dynamicCommand, descriptor.flags) ?? undefined;\n }\n }\n if (residualDynamicFlagHelp) {\n dynamicCommand.addHelpText(\"after\", residualDynamicFlagHelp);\n }\n if (metadataHelp) {\n dynamicCommand.addHelpText(\"after\", metadataHelp);\n }\n\n dynamicCommand\n .allowUnknownOption(true)\n .allowExcessArguments(true)\n .action(async (...actionArgs: unknown[]) => {\n const maybeCommand = actionArgs[actionArgs.length - 1];\n /* c8 ignore next */\n const command = maybeCommand instanceof Command ? maybeCommand : dynamicCommand;\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const extensionFlagDefinitions = collectExtensionFlagDefinitionsForInvocation(\n snapshot.registrations,\n commandPath,\n command.args.map(String),\n );\n const scopedOptions = extractCommandScopedOptions(\n command,\n command.args.map(String),\n extensionFlagDefinitions,\n );\n const result = await runRequiredExtensionCommand(command, scopedOptions, globalOptions, extensionFlagDefinitions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, {\n ...globalOptions,\n command: commandPath,\n commandArgs: command.args.map(String),\n commandOptions: scopedOptions,\n pmRoot,\n });\n if (globalOptions.profile) {\n printError(`profile:command=${commandPath} took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n}\n/* c8 ignore stop */\n\n/* c8 ignore start */\nconst CLI_VERSION = resolvePmCliVersion(import.meta.url, [\"../..\"]) ?? \"0.0.0\";\n/* c8 ignore stop */\n\nconst program = new Command();\nprogram\n .name(\"pm\")\n .description(\"Universal, flexible, extensible, agent-optimized project management CLI for any project or programming language.\")\n .version(CLI_VERSION)\n .showHelpAfterError(false)\n .allowExcessArguments(false)\n .allowUnknownOption(false)\n .configureOutput({\n writeOut: (str) => {\n writeStdout(str);\n },\n // Commander errors are rendered in our own catch path.\n writeErr: () => {},\n })\n .option(\"--json\", \"Output JSON instead of TOON\")\n .option(\"--quiet\", \"Suppress stdout output\")\n .option(\"--no-changed-fields\", \"Omit the changed_fields array from mutation output (keeps changed_field_count)\")\n .option(\"--id-only\", \"Print only id and status for single-item mutation output\")\n .option(\"--pm-path <dir>\", \"Explicit tracker storage path for this command (preferred over --path)\")\n .option(\"--path <dir>\", \"Backward-compatible alias for --pm-path; this is the tracker storage path, not a workspace cwd\")\n .option(\"--no-extensions\", \"Disable extension loading\")\n .option(\"--no-pager\", \"Disable pager integration for help and long output\")\n .option(\"--explain\", \"Render extended rationale and examples in help output\")\n .option(\"--profile\", \"Print deterministic timing diagnostics\")\n .exitOverride();\n\n/* c8 ignore start */\nprogram.hook(\"preAction\", async (_thisCommand, actionCommand) => {\n activeExtensionHookContext = null;\n activeTelemetryCommandContext = null;\n clearActiveExtensionHooks();\n clearResolvedGlobalOptions(actionCommand);\n const bootstrapGlobalOptions = getGlobalOptions(actionCommand);\n const commandPath = getCommandPath(actionCommand);\n let commandArgs = actionCommand.args.map(String);\n let commandOptions = extractCommandScopedOptions(actionCommand, commandArgs);\n let globalOptions = { ...bootstrapGlobalOptions };\n await maybeRunFirstUseTelemetryPrompt(commandPath, globalOptions);\n const fallbackPmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);\n const runtimeExtensions = await maybeLoadRuntimeExtensions(actionCommand);\n if (!runtimeExtensions) {\n activeTelemetryCommandContext = await startTelemetryCommand({\n command: commandPath,\n pm_version: CLI_VERSION,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: fallbackPmRoot,\n });\n sentrySetCommandContext(commandPath, commandArgs, commandOptions, {\n source_context: activeTelemetryCommandContext?.source_context,\n source_context_source: activeTelemetryCommandContext?.source_context_source,\n });\n sentryStartCommandSpan(commandPath);\n await enforceItemFormatWriteGateAndPreflightMigration(\n commandPath,\n commandOptions,\n fallbackPmRoot,\n defaultPreflightDecision(),\n );\n return;\n }\n\n setActiveExtensionHooks(runtimeExtensions.hooks);\n setActiveExtensionCommands(runtimeExtensions.commands);\n setActiveExtensionParsers(runtimeExtensions.parsers);\n setActiveExtensionPreflight(runtimeExtensions.preflight);\n setActiveExtensionServices(runtimeExtensions.services);\n setActiveExtensionRenderers(runtimeExtensions.renderers);\n setActiveExtensionRegistrations(runtimeExtensions.registrations);\n\n const extensionFlagDefinitions = collectExtensionFlagDefinitionsForInvocation(\n runtimeExtensions.registrations,\n commandPath,\n commandArgs,\n );\n commandOptions = extractCommandScopedOptions(actionCommand, commandArgs, extensionFlagDefinitions);\n const parserOverride = await runActiveParserOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: runtimeExtensions.pmRoot,\n });\n /* c8 ignore next */\n if (globalOptions.profile && parserOverride.warnings.length > 0) {\n printError(`profile:extensions parser_warnings=${formatHookWarnings(parserOverride.warnings)}`);\n }\n commandArgs = parserOverride.context.args;\n commandOptions = parserOverride.context.options;\n globalOptions = parserOverride.context.global;\n\n const preflightOverride = await runActivePreflightOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: runtimeExtensions.pmRoot,\n decision: defaultPreflightDecision(),\n });\n /* c8 ignore next */\n if (globalOptions.profile && preflightOverride.warnings.length > 0) {\n printError(`profile:extensions preflight_warnings=${formatHookWarnings(preflightOverride.warnings)}`);\n }\n commandArgs = preflightOverride.context.args;\n commandOptions = preflightOverride.context.options;\n globalOptions = preflightOverride.context.global;\n const preflightDecision = preflightOverride.decision;\n\n await enforceItemFormatWriteGateAndPreflightMigration(\n commandPath,\n commandOptions,\n runtimeExtensions.pmRoot,\n preflightDecision,\n );\n\n /* c8 ignore next */\n const migrationWarnings = preflightDecision.run_extension_migrations\n ? await executeRegisteredRuntimeMigrations(runtimeExtensions.registrations.migrations, runtimeExtensions.pmRoot)\n : [];\n if (globalOptions.profile && migrationWarnings.length > 0) {\n printError(`profile:extensions migration_warnings=${formatHookWarnings(migrationWarnings)}`);\n }\n const migrationBlockers = collectMandatoryMigrationBlockers(runtimeExtensions.registrations.migrations);\n activeExtensionHookContext = {\n hooks: runtimeExtensions.hooks,\n commandName: commandPath,\n commandArgs,\n commandOptions: { ...commandOptions },\n globalOptions: { ...globalOptions },\n pmRoot: runtimeExtensions.pmRoot,\n profileEnabled: Boolean(globalOptions.profile),\n migrationBlockers,\n };\n setActiveCommandResult(undefined);\n setActiveCommandContext({\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...globalOptions },\n pm_root: runtimeExtensions.pmRoot,\n });\n activeTelemetryCommandContext = await startTelemetryCommand({\n command: commandPath,\n pm_version: CLI_VERSION,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: runtimeExtensions.pmRoot,\n });\n sentrySetCommandContext(commandPath, commandArgs, commandOptions, {\n source_context: activeTelemetryCommandContext?.source_context,\n source_context_source: activeTelemetryCommandContext?.source_context_source,\n });\n sentryStartCommandSpan(commandPath);\n\n const hookWarnings = await runBeforeCommandHooks(runtimeExtensions.hooks, {\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...globalOptions },\n pm_root: runtimeExtensions.pmRoot,\n });\n /* c8 ignore next */\n if (globalOptions.profile && hookWarnings.length > 0) {\n printError(`profile:extensions hook_warnings=${formatHookWarnings(hookWarnings)}`);\n }\n /* c8 ignore next */\n if (preflightDecision.enforce_mandatory_migration_gate) {\n enforceMandatoryMigrationWriteGate(commandPath, commandOptions, migrationBlockers);\n }\n});\n/* c8 ignore stop */\n\nprogram.hook(\"postAction\", async () => {\n const outcome = buildPostActionTelemetryOutcome();\n sentryFinishCommandSpan(outcome.ok, outcome.error, {\n error_code: outcome.error_code,\n error_category: outcome.error_category,\n exit_code: outcome.exit_code,\n command_resolution: outcome.command_resolution,\n resolution_stage: outcome.resolution_stage,\n });\n await runAndClearAfterCommandHooks(outcome);\n});\n\nconst VERSION_FLAG_TOKENS = new Set([\"--version\", \"-V\"]);\nconst SETUP_COMMAND_NAMES = new Set([\n \"config\",\n \"extension\",\n \"init\",\n \"install\",\n \"package\",\n \"packages\",\n \"templates\",\n \"upgrade\",\n]);\nconst LIST_QUERY_COMMAND_NAMES = new Set([\n \"activity\",\n \"aggregate\",\n \"context\",\n \"ctx\",\n \"get\",\n \"history\",\n \"list\",\n \"list-all\",\n \"list-blocked\",\n \"list-canceled\",\n \"list-closed\",\n \"list-draft\",\n \"list-in-progress\",\n \"list-open\",\n \"search\",\n]);\nconst MUTATION_COMMAND_NAMES = new Set([\n \"append\",\n \"close\",\n \"close-many\",\n \"comments\",\n \"delete\",\n \"deps\",\n \"discover\",\n \"docs\",\n \"files\",\n \"learnings\",\n \"notes\",\n \"plan\",\n \"restore\",\n \"update\",\n \"update-many\",\n \"create\",\n]);\nconst OPERATION_COMMAND_NAMES = new Set([\n \"claim\",\n \"close-task\",\n \"contracts\",\n \"gc\",\n \"health\",\n \"pause-task\",\n \"release\",\n \"start-task\",\n \"stats\",\n \"test\",\n \"test-all\",\n \"test-runs\",\n \"test-runs-worker\",\n \"validate\",\n]);\nconst MUTATING_OPERATION_COMMAND_NAMES = new Set([\n \"claim\",\n \"close-task\",\n \"pause-task\",\n \"release\",\n \"start-task\",\n \"test\",\n]);\ninterface CoreCommandRegistrationSelection {\n setup: boolean;\n listQuery: boolean;\n mutation: boolean;\n operation: boolean;\n targetCommandName?: string;\n}\nconst REGISTER_ALL_CORE_COMMAND_FAMILIES: CoreCommandRegistrationSelection = {\n setup: true,\n listQuery: true,\n mutation: true,\n operation: true,\n};\n\nconst RUNTIME_SCHEMA_FLAG_BOOTSTRAP_COMMANDS = new Set([\n \"create\",\n \"update\",\n \"update-many\",\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n \"search\",\n \"calendar\",\n \"context\",\n \"templates\",\n]);\n\nfunction invocationRequestsVersion(invocationArgv: string[]): boolean {\n return invocationArgv.some((token) => VERSION_FLAG_TOKENS.has(token));\n}\n\nfunction resolveCoreCommandRegistrationSelection(\n invocationArgv: string[],\n): CoreCommandRegistrationSelection {\n if (invocationRequestsVersion(invocationArgv)) {\n return {\n setup: false,\n listQuery: false,\n mutation: false,\n operation: false,\n };\n }\n if (\n invocationArgv.length === 0 ||\n parseBootstrapHelpRequest(invocationArgv).requested\n ) {\n return REGISTER_ALL_CORE_COMMAND_FAMILIES;\n }\n const commandName = parseBootstrapCommandName(invocationArgv);\n if (!commandName) {\n return REGISTER_ALL_CORE_COMMAND_FAMILIES;\n }\n const normalizedCommand = commandName.trim().toLowerCase();\n if (SETUP_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: true,\n listQuery: false,\n mutation: false,\n operation: false,\n targetCommandName: normalizedCommand,\n };\n }\n if (LIST_QUERY_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: false,\n listQuery: true,\n mutation: false,\n operation: false,\n targetCommandName: normalizedCommand,\n };\n }\n if (MUTATION_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: false,\n listQuery: false,\n mutation: true,\n operation: false,\n targetCommandName: normalizedCommand,\n };\n }\n if (OPERATION_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: false,\n listQuery: false,\n mutation: false,\n operation: true,\n targetCommandName: normalizedCommand,\n };\n }\n return REGISTER_ALL_CORE_COMMAND_FAMILIES;\n}\n\nfunction shouldAttachRichHelpTextForInvocation(invocationArgv: string[]): boolean {\n return (\n invocationArgv.length === 0 ||\n parseBootstrapHelpRequest(invocationArgv).requested\n );\n}\n\nconst IDEMPOTENT_TOP_LEVEL_REGISTRATION = Symbol(\"pmCliIdempotentTopLevelRegistration\");\n\n/**\n * The root `program` is a module-level singleton. Any path that enters\n * `runPmCli` a second time in the same process (an embedding host, a long-lived\n * plugin runtime, or a retry) re-runs core command registration against it, and\n * Commander throws `cannot add command 'X' as already have command 'X'` on the\n * second pass. That is a raw `Error` (not a `CommandError`), so it escapes the\n * Sentry release-gate CLI-error allowlist and can silently block the daily\n * auto-release (Sentry PM-CLI-1R / pm-zyez — the fragility class pm-nb08 warns\n * about).\n *\n * Make top-level registration idempotent: a duplicate `program.command(name)`\n * returns a throwaway `Command`, so its chained `.argument()/.option()/.action()`\n * builders apply harmlessly while the already-wired original command is\n * preserved. The guard is installed once per program (Symbol flag) and only\n * short-circuits exact duplicates — every first-time registration still flows\n * through Commander untouched.\n */\nfunction ensureIdempotentTopLevelCommandRegistration(rootProgram: Command): void {\n const guarded = rootProgram as Command & { [IDEMPOTENT_TOP_LEVEL_REGISTRATION]?: true };\n if (guarded[IDEMPOTENT_TOP_LEVEL_REGISTRATION]) {\n return;\n }\n guarded[IDEMPOTENT_TOP_LEVEL_REGISTRATION] = true;\n const registerOriginalCommand = rootProgram.command.bind(rootProgram) as (\n nameAndArgs: string,\n ...rest: unknown[]\n ) => Command;\n rootProgram.command = ((nameAndArgs: string, ...rest: unknown[]): Command => {\n const commandName = nameAndArgs.split(/\\s+/u)[0];\n // Match Commander's own dedup, which collides on an existing command's name\n // OR any of its aliases, so a re-entrant registration can never reach the\n // raw \"cannot add command\" throw.\n if (rootProgram.commands.some((existing) => existing.name() === commandName || existing.aliases().includes(commandName))) {\n return new Command(commandName);\n }\n return registerOriginalCommand(nameAndArgs, ...rest);\n }) as typeof rootProgram.command;\n}\n\nasync function registerCoreCommandFamilies(\n rootProgram: Command,\n selection: CoreCommandRegistrationSelection,\n): Promise<void> {\n ensureIdempotentTopLevelCommandRegistration(rootProgram);\n if (selection.setup) {\n const { registerSetupCommands } = await loadSetupRegistrationModule();\n registerSetupCommands(rootProgram);\n }\n if (selection.listQuery) {\n const { registerListQueryCommands } =\n await loadListQueryRegistrationModule();\n const commandFilter =\n typeof selection.targetCommandName === \"string\" &&\n LIST_QUERY_COMMAND_NAMES.has(selection.targetCommandName)\n ? new Set([selection.targetCommandName])\n : undefined;\n registerListQueryCommands(rootProgram, commandFilter ? { commandFilter } : undefined);\n }\n if (selection.mutation) {\n const { registerMutationCommands } = await loadMutationRegistrationModule();\n registerMutationCommands(rootProgram);\n }\n if (selection.operation) {\n const { registerOperationCommands } = await loadOperationRegistrationModule();\n registerOperationCommands(rootProgram);\n }\n}\n\nfunction shouldRegisterDynamicExtensionPaths(_rootProgram: Command, invocationArgv: string[]): boolean {\n if (invocationRequestsVersion(invocationArgv)) {\n return false;\n }\n const helpRequest = parseBootstrapHelpRequest(invocationArgv);\n if (helpRequest.requested) {\n return true;\n }\n const commandName = parseBootstrapCommandName(invocationArgv);\n if (!commandName) {\n return false;\n }\n return true;\n}\n\nfunction shouldRegisterRuntimeSchemaFlags(invocationArgv: string[]): boolean {\n if (invocationRequestsVersion(invocationArgv)) {\n return false;\n }\n const commandName = parseBootstrapCommandName(invocationArgv);\n if (!commandName) {\n return false;\n }\n return RUNTIME_SCHEMA_FLAG_BOOTSTRAP_COMMANDS.has(commandName);\n}\n\nfunction enforceExplicitRetryForFlagTypos(\n bootstrapInvocation: ReturnType<typeof normalizeBootstrapInvocation>,\n): void {\n const commandName = bootstrapInvocation.commandName;\n if (!commandName) {\n return;\n }\n const typoEvent = bootstrapInvocation.trace.find((entry) => entry.reason === \"flag_typo\");\n if (!typoEvent) {\n return;\n }\n const normalizedTokens = Array.isArray(typoEvent.to)\n ? typoEvent.to\n : [String(typoEvent.to ?? \"\")].filter((entry) => entry.length > 0);\n const normalizedDisplay = normalizedTokens.length > 0 ? normalizedTokens.join(\" \") : \"the canonical flag\";\n const mutatingCommand = MUTATION_COMMAND_NAMES.has(commandName) || MUTATING_OPERATION_COMMAND_NAMES.has(commandName);\n const code = mutatingCommand ? \"mutating_flag_typo_requires_retry\" : \"flag_typo_requires_retry\";\n const commandScope = mutatingCommand ? \"mutating option\" : \"option\";\n throw new PmCliError(\n `Refusing to auto-correct ${commandScope} ${typoEvent.from} to ${normalizedDisplay}. Retry with the canonical flag so the command is explicit.`,\n EXIT_CODE.USAGE,\n {\n code,\n examples: [renderPmCommand(bootstrapInvocation.argv)],\n nextSteps: [\"Retry the command with the canonical flag shown in examples.\"],\n recovery: {\n normalized_args: [...bootstrapInvocation.argv],\n suggested_retry: renderPmCommand(bootstrapInvocation.argv),\n },\n },\n );\n}\n\ntype TelemetryCommandErrorEmitter = (params: {\n command: string;\n errorCode: string;\n errorMessage: string;\n exitCode: number;\n options: Record<string, unknown>;\n resolutionStage: TelemetryResolutionStage;\n}) => Promise<{\n errorCategory: TelemetryErrorCategory;\n commandResolution: TelemetryCommandResolution;\n}>;\n\ninterface RunPmCliErrorContext {\n error: unknown;\n invocationArgv: string[];\n bootstrapGlobal: GlobalOptions;\n jsonErrors: boolean;\n bootstrapPmRoot: string;\n attemptedCommand: string;\n emitTelemetryCommandError: TelemetryCommandErrorEmitter;\n}\n\nfunction createTelemetryCommandErrorEmitter(params: {\n invocationArgv: string[];\n bootstrapGlobal: GlobalOptions;\n bootstrapPmRoot: string;\n}): TelemetryCommandErrorEmitter {\n return async (event) => {\n const errorCategory = resolveTelemetryErrorCategory(event.errorCode);\n const commandResolution = deriveTelemetryCommandResolution({\n ok: false,\n errorCode: event.errorCode,\n errorCategory,\n });\n await emitTelemetryErrorEvent({\n command: event.command,\n args: params.invocationArgv,\n options: event.options,\n global: params.bootstrapGlobal,\n pm_version: CLI_VERSION,\n pm_root: params.bootstrapPmRoot,\n error_code: event.errorCode,\n error_message: event.errorMessage,\n exit_code: event.exitCode,\n error_category: errorCategory,\n command_resolution: commandResolution,\n resolution_stage: event.resolutionStage,\n });\n return {\n errorCategory,\n commandResolution,\n };\n };\n}\n\nasync function prepareExtensionServicesForRunPmCliError(params: {\n invocationArgv: string[];\n bootstrapGlobal: GlobalOptions;\n bootstrapPmRoot: string;\n}): Promise<void> {\n if (params.bootstrapGlobal.noExtensions) {\n return;\n }\n const bootstrapProbe = buildBootstrapActivationProbe(params.invocationArgv);\n const discoverySnapshot = await loadRuntimeExtensionDiscoverySnapshot(params.bootstrapPmRoot);\n if (discoverySnapshot && discoveryNeedsActivationForProbe(discoverySnapshot.discovery, bootstrapProbe)) {\n const bootstrapSnapshot = await loadRuntimeExtensionSnapshot(params.bootstrapPmRoot);\n setRecoveredExtensionServices(bootstrapSnapshot);\n return;\n }\n if (discoverySnapshot) {\n emitExtensionSkippedProfile(bootstrapProfileEnabled(params.invocationArgv), discoverySnapshot, bootstrapProbe);\n }\n setActiveExtensionServices({ overrides: [] });\n}\n\nfunction setRecoveredExtensionServices(bootstrapSnapshot: Pick<RuntimeExtensionSnapshot, \"services\"> | null): void {\n if (!bootstrapSnapshot) {\n setActiveExtensionServices({ overrides: [] });\n return;\n }\n setActiveExtensionServices(bootstrapSnapshot.services);\n}\n\nasync function finishRunPmCliFailure(params: {\n errorMessage: string;\n exitCode: number;\n classificationCode: string;\n errorCategory: TelemetryErrorCategory;\n commandResolution: TelemetryCommandResolution;\n resolutionStage: TelemetryResolutionStage;\n}): Promise<void> {\n sentryFinishCommandSpan(false, params.errorMessage, {\n error_code: params.classificationCode,\n error_category: params.errorCategory,\n exit_code: params.exitCode,\n command_resolution: params.commandResolution,\n resolution_stage: params.resolutionStage,\n });\n await runAndClearAfterCommandHooks({\n ok: false,\n error: params.errorMessage,\n exit_code: params.exitCode,\n error_code: params.classificationCode,\n error_category: params.errorCategory,\n command_resolution: params.commandResolution,\n resolution_stage: params.resolutionStage,\n });\n}\n\nasync function finishRunPmCliSuccessParse(): Promise<void> {\n sentryFinishCommandSpan(true, undefined, {\n exit_code: EXIT_CODE.SUCCESS,\n command_resolution: \"success\",\n resolution_stage: \"parse\",\n });\n await runAndClearAfterCommandHooks({\n ok: true,\n exit_code: EXIT_CODE.SUCCESS,\n command_resolution: \"success\",\n resolution_stage: \"parse\",\n });\n process.exitCode = EXIT_CODE.SUCCESS;\n}\n\nasync function handleRunPmCliKnownError(context: RunPmCliErrorContext, numericExitCode: number | undefined): Promise<boolean> {\n const hasExplicitExitCode = typeof numericExitCode === \"number\" && Number.isFinite(numericExitCode);\n if (\n !(context.error instanceof PmCliError) &&\n (isCommanderError(context.error) || !hasExplicitExitCode)\n ) {\n return false;\n }\n const errorMessage = describeUnknownError(context.error);\n const exitCode = context.error instanceof PmCliError ? context.error.exitCode : normalizeThrownExitCode(numericExitCode as number);\n const rawContext = context.error instanceof PmCliError ? context.error.context : undefined;\n const enrichedContext = buildPmCliRecoveryContext(rawContext, context.invocationArgv, errorMessage);\n const classification = classifyPmCliError(errorMessage, enrichedContext);\n const renderedError = context.jsonErrors\n ? JSON.stringify(formatPmCliErrorForJson(errorMessage, exitCode, enrichedContext), null, 2)\n : formatPmCliErrorForDisplay(errorMessage, enrichedContext);\n printError(renderedError);\n const { errorCategory, commandResolution } = await context.emitTelemetryCommandError({\n command: context.attemptedCommand,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode,\n options: {\n bootstrap_global_options: context.bootstrapGlobal,\n },\n resolutionStage: \"execute\",\n });\n const loggedHandledErrorToSentry = await maybeLogHandledCliErrorToSentry({\n command: context.attemptedCommand,\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: exitCode,\n error_message: classification.detail,\n command_resolution: commandResolution,\n resolution_stage: \"execute\",\n source_context: activeTelemetryCommandContext?.source_context,\n });\n await finishRunPmCliFailure({\n errorMessage,\n exitCode,\n classificationCode: classification.code,\n errorCategory,\n commandResolution,\n resolutionStage: \"execute\",\n });\n if (loggedHandledErrorToSentry) {\n sentryCaptureCliError(wrapThrownErrorForSentry(context.error, errorMessage));\n await sentryFlush(HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS);\n }\n process.exitCode = exitCode;\n return true;\n}\n\nfunction resolveUnknownHelpToken(invocationArgv: string[]): string {\n const helpRequest = parseBootstrapHelpRequest(invocationArgv);\n return helpRequest.commandPathTokens[0] ?? parseBootstrapCommandName(invocationArgv) ?? \"<command>\";\n}\n\nasync function handleUnknownHelpCommandError(context: RunPmCliErrorContext, code: string | undefined): Promise<void> {\n const unknownToken = resolveUnknownHelpToken(context.invocationArgv);\n const unknownMessage = `unknown command '${unknownToken}'`;\n const recoveryCommandDescriptors = await loadRuntimeExtensionCommandDescriptorsForRecovery(\n resolvePmRoot(process.cwd(), context.bootstrapGlobal.path),\n );\n const usageContext = await resolveCommanderUsageContext(\n { message: unknownMessage },\n program,\n recoveryCommandDescriptors,\n );\n const classification = classifyCommanderError(\n usageContext.message,\n usageContext.commandName,\n usageContext.allowedTypes,\n {\n unknownCommandExamples: usageContext.unknownCommandExamples,\n unknownCommandNextSteps: usageContext.unknownCommandNextSteps,\n attemptedCommand: usageContext.attemptedCommand,\n normalizedInvocationArgs: usageContext.normalizedInvocationArgs,\n providedOptionFlags: usageContext.providedOptionFlags,\n unknownOptionSuggestions: usageContext.unknownOptionSuggestions,\n suggestedRetryCommand: usageContext.suggestedRetryCommand,\n },\n );\n const { errorCategory, commandResolution } = await context.emitTelemetryCommandError({\n command: unknownToken,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode: EXIT_CODE.USAGE,\n options: {\n bootstrap_global_options: context.bootstrapGlobal,\n commander_code: code ?? \"commander.helpDisplayed\",\n },\n resolutionStage: \"parse\",\n });\n const loggedHandledErrorToSentry = await maybeLogHandledCliErrorToSentry({\n command: unknownToken,\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: EXIT_CODE.USAGE,\n error_message: classification.detail,\n command_resolution: commandResolution,\n resolution_stage: \"parse\",\n source_context: activeTelemetryCommandContext?.source_context,\n });\n const renderedUsage = context.jsonErrors\n ? await formatCommanderUsageJson({ message: unknownMessage }, program, recoveryCommandDescriptors)\n : await formatCommanderUsageMessage({ message: unknownMessage }, program, recoveryCommandDescriptors);\n await finishRunPmCliFailure({\n errorMessage: unknownMessage,\n exitCode: EXIT_CODE.USAGE,\n classificationCode: classification.code,\n errorCategory,\n commandResolution,\n resolutionStage: \"parse\",\n });\n printError(renderedUsage);\n if (loggedHandledErrorToSentry) {\n await sentryFlush(HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS);\n }\n process.exitCode = EXIT_CODE.USAGE;\n}\n\nasync function handleRunPmCliHelpDisplayError(context: RunPmCliErrorContext, code: string | undefined, rawMessage: string): Promise<boolean> {\n const isHelpDisplayCode =\n code === \"commander.helpDisplayed\" || code === \"commander.help\" || code === \"commander.helpCommand\";\n if (!isHelpDisplayCode && !rawMessage.includes(\"(outputHelp)\")) {\n return false;\n }\n const helpRequest = parseBootstrapHelpRequest(context.invocationArgv);\n if (helpRequest.requested && !isKnownHelpCommandPath(program, helpRequest.commandPathTokens)) {\n await handleUnknownHelpCommandError(context, code);\n return true;\n }\n await finishRunPmCliSuccessParse();\n return true;\n}\n\nasync function handleRunPmCliCommanderUsageError(context: RunPmCliErrorContext, code: string): Promise<void> {\n const usageContext = await resolveCommanderUsageContext(context.error, program, activeRuntimeExtensionCommandDescriptors);\n const classification = classifyCommanderError(\n usageContext.message,\n usageContext.commandName,\n usageContext.allowedTypes,\n {\n unknownCommandExamples: usageContext.unknownCommandExamples,\n unknownCommandNextSteps: usageContext.unknownCommandNextSteps,\n attemptedCommand: usageContext.attemptedCommand,\n normalizedInvocationArgs: usageContext.normalizedInvocationArgs,\n providedOptionFlags: usageContext.providedOptionFlags,\n unknownOptionSuggestions: usageContext.unknownOptionSuggestions,\n suggestedRetryCommand: usageContext.suggestedRetryCommand,\n },\n );\n const { errorCategory, commandResolution } = await context.emitTelemetryCommandError({\n command: context.attemptedCommand,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode: EXIT_CODE.USAGE,\n options: {\n bootstrap_global_options: context.bootstrapGlobal,\n commander_code: code,\n },\n resolutionStage: \"parse\",\n });\n const loggedHandledErrorToSentry = await maybeLogHandledCliErrorToSentry({\n command: context.attemptedCommand,\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: EXIT_CODE.USAGE,\n error_message: classification.detail,\n command_resolution: commandResolution,\n resolution_stage: \"parse\",\n source_context: activeTelemetryCommandContext?.source_context,\n });\n const renderedUsage = context.jsonErrors\n ? await formatCommanderUsageJson(context.error, program, activeRuntimeExtensionCommandDescriptors)\n : await formatCommanderUsageMessage(context.error, program, activeRuntimeExtensionCommandDescriptors);\n await finishRunPmCliFailure({\n errorMessage: usageContext.message,\n exitCode: EXIT_CODE.USAGE,\n classificationCode: classification.code,\n errorCategory,\n commandResolution,\n resolutionStage: \"parse\",\n });\n printError(renderedUsage);\n if (loggedHandledErrorToSentry) {\n await sentryFlush(HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS);\n }\n process.exitCode = EXIT_CODE.USAGE;\n}\n\nfunction shouldHandleRunPmCliCommanderError(error: unknown): boolean {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n const code = (error as { code?: unknown }).code;\n if (typeof code === \"string\" && (code === \"commander.version\" || code.startsWith(\"commander.\"))) {\n return true;\n }\n const rawMessage = String((error as { message?: unknown }).message ?? \"\");\n return rawMessage.includes(\"(outputHelp)\");\n}\n\nasync function handleRunPmCliCommanderError(context: RunPmCliErrorContext): Promise<void> {\n const code = (context.error as { code?: string }).code;\n const rawMessage = String((context.error as { message?: unknown }).message ?? \"\");\n if (await handleRunPmCliHelpDisplayError(context, code, rawMessage)) {\n return;\n }\n if (code === \"commander.version\") {\n await finishRunPmCliSuccessParse();\n return;\n }\n await handleRunPmCliCommanderUsageError(context, code as string);\n}\n\nasync function handleRunPmCliError(params: {\n error: unknown;\n invocationArgv: string[];\n}): Promise<void> {\n const bootstrapGlobal = parseBootstrapGlobalOptions(params.invocationArgv);\n const bootstrapPmRoot = resolvePmRoot(process.cwd(), bootstrapGlobal.path);\n const context: RunPmCliErrorContext = {\n error: params.error,\n invocationArgv: params.invocationArgv,\n bootstrapGlobal,\n jsonErrors: bootstrapGlobal.json,\n bootstrapPmRoot,\n attemptedCommand: parseBootstrapCommandName(params.invocationArgv) ?? \"<unknown>\",\n emitTelemetryCommandError: createTelemetryCommandErrorEmitter({\n invocationArgv: params.invocationArgv,\n bootstrapGlobal,\n bootstrapPmRoot,\n }),\n };\n await prepareExtensionServicesForRunPmCliError({\n invocationArgv: params.invocationArgv,\n bootstrapGlobal,\n bootstrapPmRoot,\n });\n if (await handleRunPmCliKnownError(context, readThrownExitCode(params.error))) {\n return;\n }\n if (shouldHandleRunPmCliCommanderError(params.error)) {\n await handleRunPmCliCommanderError(context);\n return;\n }\n await handleGenericRunPmCliError({\n error: params.error,\n attemptedCommand: context.attemptedCommand,\n bootstrapGlobal,\n emitTelemetryCommandError: context.emitTelemetryCommandError,\n });\n}\n\n/**\n * Implements run pm cli for the public runtime surface of this module.\n */\nexport async function runPmCli(rawArgv: string[] = process.argv.slice(2)): Promise<void> {\n const bootstrapInvocation = normalizeBootstrapInvocation(rawArgv);\n const invocationArgv = bootstrapInvocation.argv;\n const invocationProcessArgv = [process.argv[0], process.argv[1], ...invocationArgv];\n const isBareInvocation = invocationArgv.length === 0;\n try {\n enforceExplicitRetryForFlagTypos(bootstrapInvocation);\n applyBootstrapPagerPolicy(invocationArgv);\n const registrationSelection =\n resolveCoreCommandRegistrationSelection(invocationArgv);\n await registerCoreCommandFamilies(program, registrationSelection);\n if (shouldAttachRichHelpTextForInvocation(invocationArgv)) {\n attachRichHelpText(program, invocationArgv);\n }\n const registerDynamicCommands = shouldRegisterDynamicExtensionPaths(program, invocationArgv);\n if (registerDynamicCommands) {\n await registerDynamicExtensionCommandPaths(program, invocationArgv);\n } else {\n activeRuntimeExtensionCommandDescriptors = new Map<string, ExtensionCommandHelpDescriptor>();\n setActiveExtensionServices({ overrides: [] });\n }\n if (shouldRegisterRuntimeSchemaFlags(invocationArgv)) {\n await registerRuntimeSchemaFieldFlags(program, invocationArgv);\n }\n wrapProgramActionsForExtensionHandlers(program);\n const renderedBootstrapJsonHelp = await maybeRenderBootstrapJsonHelp(program, invocationArgv, activeRuntimeExtensionCommandDescriptors);\n if (renderedBootstrapJsonHelp) {\n return;\n }\n if (isBareInvocation) {\n program.outputHelp();\n return;\n }\n await program.parseAsync(invocationProcessArgv);\n } catch (error: unknown) {\n await handleRunPmCliError({ error, invocationArgv });\n }\n}\n\nexport const _testOnly = {\n activationCommandMatchesProbe,\n bootstrapProfileEnabled,\n buildBootstrapActivationProbe,\n buildPostActionTelemetryOutcome,\n buildPmCliRecoveryContext,\n buildRuntimeExtensionDiscoverySnapshotCacheKey,\n buildRuntimeExtensionSnapshotCacheKey,\n addRuntimeFieldOption,\n collectActivationCommandCandidates,\n collectExtensionFlagDefinitionsForCommand,\n collectExtensionFlagDefinitionsForInvocation,\n collectLeadingCommandArgs,\n collectParsedActivationCommandArgs,\n collectRuntimeFieldLooseFlagDefinitionsForCommand,\n commandHasLongOption,\n commandHasShortOption,\n commandPathNeedsSearchExtensions,\n commandPathNeedsTemplateExtensions,\n describeUnknownError,\n defaultPreflightDecision,\n discoveryNeedsActivationForProbe,\n emitExtensionProfile,\n emitExtensionSkippedProfile,\n emitSettingsReadWarnings,\n ensureIdempotentTopLevelCommandRegistration,\n enforceExplicitRetryForFlagTypos,\n envFlagEnabled,\n executeRegisteredRuntimeMigrations,\n extractCommandScopedOptions,\n extensionActivationCommands,\n extensionCapabilities,\n extensionNeedsActivationForProbe,\n extensionProvidesTemplatesRuntime,\n hasAnyCapability,\n handleGenericRunPmCliError,\n handleRunPmCliCommanderError,\n handleRunPmCliError,\n handleRunPmCliHelpDisplayError,\n handleRunPmCliKnownError,\n handleRunPmCliCommanderUsageError,\n handleUnknownHelpCommandError,\n inferMissingFieldsFromErrorMessage,\n inferPostActionErrorCode,\n inferPostActionFailureMessage,\n invocationRequestsVersion,\n isCommanderError,\n loadRuntimeExtensionCommandDescriptorsForRecovery,\n loadRuntimeExtensionDiscoverySnapshot,\n loadRuntimeExtensionSnapshot,\n maybeLoadRuntimeExtensions,\n maybeAttachCreateUpdatePolicyHelpText,\n maybeLogHandledCliErrorToSentry,\n normalizeTelemetryCommandResolution,\n normalizeTelemetryErrorCategory,\n normalizeTelemetryResolutionStage,\n normalizeThrownExitCode,\n probeUsesAnyFlag,\n prepareExtensionServicesForRunPmCliError,\n readRecordBoolean,\n readRecordNumber,\n readRecordString,\n registerDynamicExtensionCommandPaths,\n registerRuntimeSchemaFieldFlags,\n resolveCoreCommandRegistrationSelection,\n resolveUnknownHelpToken,\n readThrownExitCode,\n runAndClearAfterCommandHooks,\n runRequiredExtensionCommand,\n shouldAttachRichHelpTextForInvocation,\n shouldLogHandledErrorToSentry,\n shouldRegisterDynamicExtensionPaths,\n shouldRegisterRuntimeSchemaFlags,\n shouldHandleRunPmCliCommanderError,\n setActiveExtensionHookContextForTest,\n setActiveRuntimeExtensionCommandDescriptorsForTest,\n setRecoveredExtensionServices,\n toLooseFieldDefinitionType,\n isImporterOrExporterCommandPath,\n validateDynamicExtensionCommandInvocation,\n wrapProgramActionsForExtensionHandlers,\n wrapThrownErrorForSentry,\n};\n"],"names":[],"mappings":"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","debugId":"aa682568-77f6-5659-a6dd-3a69dd4e1fc0"}
|
|
1
|
+
{"version":3,"file":"main.js","sources":["cli/main.ts"],"sourceRoot":"/","sourcesContent":["#!/usr/bin/env node\n/**\n * @module cli/main\n *\n * Provides CLI runtime support for Main.\n */\nimport { Command } from \"commander\";\nimport {\n activateExtensions,\n clearActiveExtensionHooks,\n createEmptyExtensionRegistrationRegistry,\n discoverExtensions,\n getActiveCommandResult,\n getActiveExtensionRegistrations,\n loadExtensions,\n consumeAfterCommandAffectedItems,\n runActiveCommandHandler,\n runActiveParserOverride,\n runActivePreflightOverride,\n runAfterCommandHooks,\n runBeforeCommandHooks,\n setActiveCommandResult,\n setActiveCommandContext,\n setActiveExtensionCommands,\n setActiveExtensionHooks,\n setActiveExtensionParsers,\n setActiveExtensionPreflight,\n setActiveExtensionRegistrations,\n setActiveExtensionRenderers,\n setActiveExtensionServices,\n type ExtensionCommandRegistry,\n type ExtensionDiscoveryResult,\n type ExtensionHookRegistry,\n type ExtensionParserRegistry,\n type ExtensionPreflightRegistry,\n type ExtensionServiceRegistry,\n type PreflightRuntimeDecision,\n type RegisteredExtensionSchemaMigrationDefinition,\n type ExtensionRendererRegistry,\n} from \"../core/extensions/index.js\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport { resolvePmCliVersion, resolvePmPackageRootFromModule } from \"../core/packages/root.js\";\nimport {\n resolveItemTypeRegistry,\n} from \"../core/item/type-registry.js\";\nimport {\n resolveRuntimeFieldRegistry,\n type RuntimeFieldCommand,\n} from \"../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, resolveTelemetryErrorCategory, type TelemetryErrorCategory } from \"../core/shared/constants.js\";\nimport { PmCliError, type PmCliErrorContext, type PmCliErrorRecoveryPayload } from \"../core/shared/errors.js\";\nimport { asRecordOrNull, toNonEmptyStringOrUndefined } from \"../core/shared/primitives.js\";\nimport { printError, printResult, writeStdout } from \"../core/output/output.js\";\nimport { maybeRunFirstUseTelemetryPrompt } from \"../core/telemetry/consent.js\";\nimport {\n emitTelemetryErrorEvent,\n finishTelemetryCommand,\n startTelemetryCommand,\n type ActiveTelemetryCommand,\n type TelemetryCommandOutcome,\n} from \"../core/telemetry/runtime.js\";\nimport {\n deriveTelemetryCommandResolution,\n type TelemetryCommandResolution,\n type TelemetryResolutionStage,\n} from \"../core/telemetry/observability.js\";\nimport {\n sentryCaptureCliError,\n sentryFinishCommandSpan,\n sentryFlush,\n sentryLogCliUsageError,\n sentrySetCommandContext,\n sentryStartCommandSpan,\n} from \"../core/sentry/helpers.js\";\nimport { ensureSentryInit } from \"../core/sentry/instrument.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings, readSettingsWithMetadata } from \"../core/store/settings.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport type { PmSettings } from \"../types/index.js\";\nimport {\n coerceLooseCommandOptionsWithFlagDefinitions,\n collectLooseCommandOptionKeysForDefinitions,\n collectLoosePositionalArgs,\n parseLooseCommandOptions,\n stripLooseCommandOptionTokens,\n validateLooseCommandOptionsWithFlagDefinitions,\n} from \"./extension-command-options.js\";\nimport { attachRichHelpText } from \"./help-content.js\";\nimport {\n extractProvidedOptionFlags,\n normalizeLongOptionFlag,\n renderPmCommand,\n} from \"./argv-utils.js\";\nimport {\n classifyCommanderError,\n classifyPmCliError,\n classifyUnknownError,\n formatPmCliErrorForDisplay,\n formatPmCliErrorForJson,\n formatUnknownErrorForJson,\n} from \"./error-guidance.js\";\nimport {\n applyDefaultOutputFormat,\n clearResolvedGlobalOptions,\n collect,\n formatHookWarnings,\n getCommandPath,\n getGlobalOptions,\n invalidateSearchCachesForMutation,\n setResolvedGlobalOptions,\n} from \"./registration-helpers.js\";\nimport type { registerSetupCommands as RegisterSetupCommandsFn } from \"./register-setup.js\";\nimport type { registerListQueryCommands as RegisterListQueryCommandsFn } from \"./register-list-query.js\";\nimport type { registerMutationCommands as RegisterMutationCommandsFn } from \"./register-mutation.js\";\nimport type { registerOperationCommands as RegisterOperationCommandsFn } from \"./register-operations.js\";\nimport { createLazyModule } from \"../core/shared/lazy-module.js\";\nimport {\n type ExtensionCommandHelpDescriptor,\n normalizeExtensionCommandPath,\n collectDynamicExtensionFlagHelpByCommand,\n collectExtensionCommandHelpDescriptors,\n applyDynamicExtensionFlagOptions,\n buildResidualDynamicExtensionFlagHelp,\n applyDynamicExtensionArguments,\n buildDynamicExtensionCommandMetadataHelp,\n findCommandByPath,\n ensureCommandPath,\n} from \"./extension-command-help.js\";\nimport {\n parseBootstrapGlobalOptions,\n applyBootstrapPagerPolicy,\n parseBootstrapHelpRequest,\n parseBootstrapCommandName,\n normalizeBootstrapInvocation,\n stripGlobalBootstrapTokens,\n} from \"./bootstrap-args.js\";\nimport {\n type MandatoryMigrationBlocker,\n collectMandatoryMigrationBlockers,\n enforceMandatoryMigrationWriteGate,\n enforceItemFormatWriteGateAndPreflightMigration,\n resolveMigrationId,\n resolveNormalizedMigrationStatus,\n} from \"./migration-gates.js\";\nimport {\n isKnownHelpCommandPath,\n formatCommanderUsageMessage,\n formatCommanderUsageJson,\n resolveCommanderUsageContext,\n} from \"./commander-usage.js\";\nimport {\n maybeRenderBootstrapJsonHelp,\n attachCreateUpdatePolicyHelpText,\n} from \"./help-json-payload.js\";\n\nconst PM_PACKAGE_ROOT_ENV = \"PM_CLI_PACKAGE_ROOT\";\n\nfunction resolvePmPackageRoot(): string {\n return resolvePmPackageRootFromModule(import.meta.url, [\"../..\"]);\n}\n\nif (typeof process.env[PM_PACKAGE_ROOT_ENV] !== \"string\" || process.env[PM_PACKAGE_ROOT_ENV]?.trim().length === 0) {\n process.env[PM_PACKAGE_ROOT_ENV] = resolvePmPackageRoot();\n}\n\n\ninterface ActiveExtensionHookContext {\n hooks: ExtensionHookRegistry;\n commandName: string;\n commandArgs: string[];\n commandOptions: Record<string, unknown>;\n globalOptions: GlobalOptions;\n pmRoot: string;\n profileEnabled: boolean;\n migrationBlockers: MandatoryMigrationBlocker[];\n}\n\nlet activeExtensionHookContext: ActiveExtensionHookContext | null = null;\nlet activeTelemetryCommandContext: ActiveTelemetryCommand | null = null;\n\nfunction setActiveExtensionHookContextForTest(context: ActiveExtensionHookContext | null): void {\n activeExtensionHookContext = context;\n}\n\nfunction setActiveRuntimeExtensionCommandDescriptorsForTest(\n descriptors: Map<string, ExtensionCommandHelpDescriptor>,\n): void {\n activeRuntimeExtensionCommandDescriptors = descriptors;\n}\n\nconst TELEMETRY_COMMAND_RESOLUTION_SET = new Set<TelemetryCommandResolution>([\n \"success\",\n \"nonexistent_command\",\n \"invalid_option\",\n \"missing_required_option\",\n \"missing_required_argument\",\n \"invalid_usage\",\n \"validation_failed\",\n \"health_findings\",\n \"validation_findings\",\n \"conflict\",\n \"runtime_failed\",\n \"unknown_failed\",\n]);\n\nconst TELEMETRY_RESOLUTION_STAGE_SET = new Set<TelemetryResolutionStage>([\"parse\", \"preflight\", \"execute\", \"unknown\"]);\nconst TELEMETRY_ERROR_CATEGORY_SET = new Set<TelemetryErrorCategory>([\"usage\", \"validation\", \"conflict\", \"runtime\", \"unknown\"]);\n\ninterface RuntimeExtensionSnapshot {\n hooks: ExtensionHookRegistry;\n commands: ExtensionCommandRegistry;\n parsers: ExtensionParserRegistry;\n preflight: ExtensionPreflightRegistry;\n services: ExtensionServiceRegistry;\n renderers: ExtensionRendererRegistry;\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>;\n pmRoot: string;\n settings: PmSettings;\n commandHandlers: string[];\n commandFlagHelp: Map<string, string>;\n commandDescriptors: Map<string, ExtensionCommandHelpDescriptor>;\n loadWarnings: string[];\n activationWarnings: string[];\n loadedCount: number;\n loadFailedCount: number;\n activationFailedCount: number;\n}\n\ninterface RuntimeExtensionDiscoverySnapshot {\n pmRoot: string;\n settings: PmSettings;\n discovery: ExtensionDiscoveryResult;\n discoveryMs: number;\n settingsReadWarnings: string[];\n}\n\ninterface RuntimeExtensionActivationProbe {\n commandPath?: string;\n commandArgs?: string[];\n allowCommandPrefixMatch?: boolean;\n}\n\nlet runtimeExtensionSnapshotCache: { key: string; snapshot: RuntimeExtensionSnapshot | null } | null = null;\nlet runtimeExtensionDiscoverySnapshotCache: { key: string; snapshot: RuntimeExtensionDiscoverySnapshot | null } | null = null;\nlet activeRuntimeExtensionCommandDescriptors = new Map<string, ExtensionCommandHelpDescriptor>();\nconst HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS = 250;\nconst EXPECTED_HANDLED_ERROR_EXIT_CODES = new Set<number>([\n EXIT_CODE.USAGE,\n EXIT_CODE.NOT_FOUND,\n EXIT_CODE.CONFLICT,\n]);\nconst TRUE_LIKE_ENV_VALUES = new Set([\"1\", \"true\", \"yes\", \"on\"]);\n\ntype SetupRegistrationModule = {\n registerSetupCommands: typeof RegisterSetupCommandsFn;\n};\ntype ListQueryRegistrationModule = {\n registerListQueryCommands: typeof RegisterListQueryCommandsFn;\n};\ntype MutationRegistrationModule = {\n registerMutationCommands: typeof RegisterMutationCommandsFn;\n};\ntype OperationRegistrationModule = {\n registerOperationCommands: typeof RegisterOperationCommandsFn;\n};\n\nconst loadSetupRegistrationModule = createLazyModule<SetupRegistrationModule>(() => import(\"./register-setup.js\"));\nconst loadListQueryRegistrationModule = createLazyModule<ListQueryRegistrationModule>(() => import(\"./register-list-query.js\"));\nconst loadMutationRegistrationModule = createLazyModule<MutationRegistrationModule>(() => import(\"./register-mutation.js\"));\nconst loadOperationRegistrationModule = createLazyModule<OperationRegistrationModule>(() => import(\"./register-operations.js\"));\n\nfunction describeUnknownError(error: unknown): string {\n if (error instanceof PmCliError) {\n return error.message;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return \"Unknown failure\";\n}\n\nfunction readThrownExitCode(error: unknown): number | undefined {\n if (typeof error !== \"object\" || error === null || !(\"exitCode\" in error)) {\n return undefined;\n }\n const exitCode = (error as { exitCode?: unknown }).exitCode;\n return typeof exitCode === \"number\" && Number.isFinite(exitCode) ? exitCode : undefined;\n}\n\nfunction normalizeThrownExitCode(exitCode: number): number {\n const normalized = Math.trunc(exitCode);\n return normalized > EXIT_CODE.SUCCESS ? normalized : EXIT_CODE.GENERIC_FAILURE;\n}\n\nfunction isCommanderError(error: unknown): boolean {\n return (\n typeof error === \"object\" &&\n error !== null &&\n \"code\" in error &&\n typeof (error as { code?: unknown }).code === \"string\" &&\n (error as { code: string }).code.startsWith(\"commander.\")\n );\n}\n\n/* c8 ignore start */\nfunction wrapThrownErrorForSentry(error: unknown, message: string): Error {\n if (error instanceof Error) {\n return error;\n }\n const wrapped = new Error(message) as Error & { exitCode?: number };\n const exitCode = readThrownExitCode(error);\n /* c8 ignore next */\n if (exitCode !== undefined) {\n wrapped.exitCode = normalizeThrownExitCode(exitCode);\n }\n return wrapped;\n}\n\nfunction renderAttemptedCommand(argv: string[]): string {\n return renderPmCommand(argv);\n}\n\nfunction inferMissingFieldsFromErrorMessage(message: string): string[] | undefined {\n const matches = message.match(/--[a-zA-Z0-9][a-zA-Z0-9_-]*/g);\n if (!matches || matches.length === 0) {\n return undefined;\n }\n /* c8 ignore next */\n const normalized = [...new Set(matches.map((entry) => normalizeLongOptionFlag(entry) ?? entry))];\n /* c8 ignore next */\n return normalized.length > 0 ? normalized : undefined;\n}\n\nfunction inferMissingFieldsForRecovery(\n rawMessage: string,\n invocationArgv: string[],\n existingRecovery: PmCliErrorRecoveryPayload | undefined,\n): string[] | undefined {\n if (existingRecovery?.suggested_retry) {\n return undefined;\n }\n const providedFields = extractProvidedOptionFlags(invocationArgv);\n const providedSet = new Set(providedFields.map((flag) => normalizeLongOptionFlag(flag) ?? flag));\n const rawInferred = inferMissingFieldsFromErrorMessage(rawMessage);\n const trulyMissing = rawInferred?.filter((flag) => !providedSet.has(normalizeLongOptionFlag(flag) ?? flag));\n return trulyMissing && trulyMissing.length > 0 ? trulyMissing : undefined;\n}\n\nfunction resolveRecoverySuggestedRetry(\n invocationArgv: string[],\n attemptedCommand: string,\n inferredMissing: string[] | undefined,\n existingRecovery: PmCliErrorRecoveryPayload | undefined,\n): string | undefined {\n if (existingRecovery?.suggested_retry) {\n return existingRecovery.suggested_retry;\n }\n const missingFlag = inferredMissing?.[0];\n const normalizedMissing = missingFlag ? normalizeLongOptionFlag(missingFlag) : undefined;\n const suggestedRetry = normalizedMissing\n ? renderAttemptedCommand([...invocationArgv, normalizedMissing, \"<value>\"])\n : attemptedCommand;\n return suggestedRetry === attemptedCommand ? undefined : suggestedRetry;\n}\n\nfunction projectExistingRecoveryOptionalFields(\n existingRecovery: PmCliErrorRecoveryPayload | undefined,\n): Partial<PmCliErrorRecoveryPayload> {\n if (!existingRecovery) {\n return {};\n }\n const optionalFields: Array<keyof PmCliErrorRecoveryPayload> = [\n \"recovery_mode\",\n \"missing_required_fields\",\n \"suggested_flags\",\n \"fallback_candidates\",\n \"next_best_command\",\n ];\n const projected: Partial<PmCliErrorRecoveryPayload> = {};\n for (const field of optionalFields) {\n const value = existingRecovery[field];\n if (value !== undefined && value !== null) {\n (projected as Record<string, unknown>)[field] = value;\n }\n }\n return projected;\n}\n\nfunction buildRecoveryPayload(params: {\n invocationArgv: string[];\n attemptedCommand: string;\n providedFields: string[];\n inferredMissing: string[] | undefined;\n suggestedRetry: string | undefined;\n existingRecovery: PmCliErrorRecoveryPayload | undefined;\n}): PmCliErrorRecoveryPayload {\n const existingRecovery = params.existingRecovery;\n return {\n attempted_command: existingRecovery?.attempted_command ?? params.attemptedCommand,\n normalized_args: existingRecovery?.normalized_args ?? [...params.invocationArgv],\n /* c8 ignore next */\n provided_fields: existingRecovery?.provided_fields ?? (params.providedFields.length > 0 ? params.providedFields : undefined),\n missing: existingRecovery?.missing ?? params.inferredMissing,\n ...projectExistingRecoveryOptionalFields(existingRecovery),\n ...(params.suggestedRetry ? { suggested_retry: params.suggestedRetry } : {}),\n };\n}\n\nfunction buildPmCliRecoveryContext(\n context: PmCliErrorContext | undefined,\n invocationArgv: string[],\n rawMessage: string,\n): PmCliErrorContext {\n const explainRequested = invocationArgv.includes(\"--explain\");\n const existingRecovery = context?.recovery;\n if (existingRecovery?.recovery_mode === \"compact\" && !explainRequested) {\n return {\n /* c8 ignore next */\n ...context,\n recovery: existingRecovery,\n };\n }\n const attemptedCommand = renderAttemptedCommand(invocationArgv);\n const providedFields = extractProvidedOptionFlags(invocationArgv);\n const inferredMissing = inferMissingFieldsForRecovery(rawMessage, invocationArgv, existingRecovery);\n const suggestedRetry = resolveRecoverySuggestedRetry(invocationArgv, attemptedCommand, inferredMissing, existingRecovery);\n const recovery = buildRecoveryPayload({\n invocationArgv,\n attemptedCommand,\n providedFields,\n inferredMissing,\n suggestedRetry,\n existingRecovery,\n });\n return {\n ...context,\n recovery,\n };\n}\n/* c8 ignore stop */\n\nfunction readRecordString(record: Record<string, unknown> | null, ...keys: string[]): string | undefined {\n if (!record) {\n return undefined;\n }\n for (const key of keys) {\n const candidate = record[key];\n if (typeof candidate === \"string\") {\n const normalized = candidate.trim();\n if (normalized.length > 0) {\n return normalized;\n }\n }\n }\n return undefined;\n}\n\nfunction readRecordBoolean(record: Record<string, unknown> | null, ...keys: string[]): boolean | undefined {\n if (!record) {\n return undefined;\n }\n for (const key of keys) {\n const candidate = record[key];\n if (typeof candidate === \"boolean\") {\n return candidate;\n }\n }\n return undefined;\n}\n\nfunction readRecordNumber(record: Record<string, unknown> | null, ...keys: string[]): number | undefined {\n if (!record) {\n return undefined;\n }\n for (const key of keys) {\n const candidate = record[key];\n if (typeof candidate === \"number\" && Number.isFinite(candidate)) {\n return Math.max(0, Math.trunc(candidate));\n }\n }\n return undefined;\n}\n\nfunction normalizeTelemetryCommandResolution(\n value: string | undefined,\n): TelemetryCommandResolution | undefined {\n if (!value) {\n return undefined;\n }\n const normalized = value.trim().toLowerCase();\n if (!TELEMETRY_COMMAND_RESOLUTION_SET.has(normalized as TelemetryCommandResolution)) {\n return undefined;\n }\n return normalized as TelemetryCommandResolution;\n}\n\nfunction normalizeTelemetryResolutionStage(value: string | undefined): TelemetryResolutionStage | undefined {\n if (!value) {\n return undefined;\n }\n const normalized = value.trim().toLowerCase();\n if (!TELEMETRY_RESOLUTION_STAGE_SET.has(normalized as TelemetryResolutionStage)) {\n return undefined;\n }\n return normalized as TelemetryResolutionStage;\n}\n\nfunction normalizeTelemetryErrorCategory(value: string | undefined): TelemetryErrorCategory | undefined {\n if (!value) {\n return undefined;\n }\n const normalized = value.trim().toLowerCase();\n if (!TELEMETRY_ERROR_CATEGORY_SET.has(normalized as TelemetryErrorCategory)) {\n return undefined;\n }\n return normalized as TelemetryErrorCategory;\n}\n\n/* c8 ignore start */\nfunction inferPostActionFailureMessage(result: Record<string, unknown> | null): string | undefined {\n const explicit = readRecordString(result, \"error\", \"message\");\n if (explicit) {\n return explicit;\n }\n\n const warnings = result?.warnings;\n if (Array.isArray(warnings)) {\n const firstWarning = warnings.find((value) => typeof value === \"string\" && value.trim().length > 0);\n /* c8 ignore next */\n if (typeof firstWarning === \"string\") {\n return firstWarning.trim();\n }\n }\n\n const skippedTriggered = readRecordBoolean(result, \"fail_on_skipped_triggered\", \"failOnSkippedTriggered\");\n if (skippedTriggered) {\n return \"linked_test_fail_on_skipped_triggered\";\n }\n\n const failedCount = readRecordNumber(result, \"failed\");\n if (typeof failedCount === \"number\" && failedCount > 0) {\n return `failed_runs:${failedCount}`;\n }\n\n const runResults = result?.run_results;\n if (Array.isArray(runResults)) {\n const failedRuns = runResults.filter((entry) => {\n const row = asRecordOrNull(entry);\n return row?.status === \"failed\";\n }).length;\n /* c8 ignore next */\n if (failedRuns > 0) {\n return `failed_runs:${failedRuns}`;\n }\n }\n\n return undefined;\n}\n/* c8 ignore stop */\n\nfunction inferPostActionErrorCode(ok: boolean, exitCode: number): string | undefined {\n if (ok) {\n return undefined;\n }\n if (exitCode === EXIT_CODE.USAGE) {\n return \"invalid_command_usage\";\n }\n if (exitCode === EXIT_CODE.NOT_FOUND) {\n return \"item_not_found\";\n }\n if (exitCode === EXIT_CODE.CONFLICT) {\n return \"lock_conflict\";\n }\n if (exitCode === EXIT_CODE.DEPENDENCY_FAILED) {\n return \"dependency_failed\";\n }\n return \"command_failed\";\n}\n\nfunction buildPostActionTelemetryOutcome(): TelemetryCommandOutcome {\n const result = asRecordOrNull(getActiveCommandResult());\n const processExitCode =\n typeof process.exitCode === \"number\" && Number.isFinite(process.exitCode)\n ? Math.max(0, Math.trunc(process.exitCode))\n : undefined;\n const resultExitCode = readRecordNumber(result, \"exit_code\", \"exitCode\");\n const exitCode = processExitCode ?? resultExitCode ?? EXIT_CODE.SUCCESS;\n const ok = exitCode === EXIT_CODE.SUCCESS;\n const errorCode = readRecordString(result, \"error_code\", \"errorCode\") ?? inferPostActionErrorCode(ok, exitCode);\n const errorCategory =\n normalizeTelemetryErrorCategory(readRecordString(result, \"error_category\", \"errorCategory\")) ??\n (!ok ? resolveTelemetryErrorCategory(errorCode) : undefined);\n const errorMessage = !ok\n ? inferPostActionFailureMessage(result) ?? `command_exit_${exitCode}`\n : undefined;\n const commandResolution =\n normalizeTelemetryCommandResolution(readRecordString(result, \"command_resolution\", \"commandResolution\")) ??\n deriveTelemetryCommandResolution({\n ok,\n errorCode,\n errorCategory,\n });\n const resolutionStage =\n normalizeTelemetryResolutionStage(readRecordString(result, \"resolution_stage\", \"resolutionStage\")) ?? \"execute\";\n return {\n ok,\n error: errorMessage,\n exit_code: exitCode,\n error_code: errorCode,\n error_category: errorCategory,\n command_resolution: commandResolution,\n resolution_stage: resolutionStage,\n };\n}\n\n\n/* c8 ignore start */\nasync function runAndClearAfterCommandHooks(outcome: TelemetryCommandOutcome): Promise<void> {\n const telemetryRuntime = activeTelemetryCommandContext;\n activeTelemetryCommandContext = null;\n await finishTelemetryCommand(telemetryRuntime, {\n ok: outcome.ok,\n error: outcome.error,\n result: getActiveCommandResult(),\n exit_code: outcome.exit_code,\n error_code: outcome.error_code,\n error_category: outcome.error_category,\n command_resolution: outcome.command_resolution,\n resolution_stage: outcome.resolution_stage,\n });\n\n const runtime = activeExtensionHookContext;\n activeExtensionHookContext = null;\n if (!runtime) {\n clearActiveExtensionHooks();\n return;\n }\n\n let hookWarnings: string[] = [];\n try {\n hookWarnings = await runAfterCommandHooks(runtime.hooks, {\n command: runtime.commandName,\n args: runtime.commandArgs,\n options: { ...runtime.commandOptions },\n global: { ...runtime.globalOptions },\n pm_root: runtime.pmRoot,\n ok: outcome.ok,\n error: outcome.error,\n result: getActiveCommandResult(),\n affected: consumeAfterCommandAffectedItems(),\n });\n } catch (error) {\n /* c8 ignore next */\n const message = error instanceof Error ? error.message : String(error);\n hookWarnings = [`afterCommand hooks failed: ${message}`];\n } finally {\n clearActiveExtensionHooks();\n }\n if (!runtime.globalOptions.json && hookWarnings.length > 0) {\n printError(`[pm] warning: afterCommand hook_warnings=${formatHookWarnings(hookWarnings)}`);\n }\n if (runtime.profileEnabled && hookWarnings.length > 0) {\n printError(`profile:extensions hook_warnings=${formatHookWarnings(hookWarnings)}`);\n }\n}\n\nasync function ensureSentryForErrorReporting(): Promise<void> {\n await ensureSentryInit();\n}\n\nfunction envFlagEnabled(key: string): boolean {\n return TRUE_LIKE_ENV_VALUES.has((process.env[key] ?? \"\").trim().toLowerCase());\n}\n\nfunction shouldLogHandledErrorToSentry(exitCode: number): boolean {\n if (envFlagEnabled(\"PM_SENTRY_CAPTURE_EXPECTED_ERRORS\")) {\n return true;\n }\n return !EXPECTED_HANDLED_ERROR_EXIT_CODES.has(Math.trunc(exitCode));\n}\n\nasync function maybeLogHandledCliErrorToSentry(params: {\n command: string;\n error_code: string;\n error_category: TelemetryErrorCategory;\n exit_code: number;\n error_message: string;\n command_resolution?: TelemetryCommandResolution;\n resolution_stage?: TelemetryResolutionStage;\n source_context?: string;\n}): Promise<boolean> {\n if (!shouldLogHandledErrorToSentry(params.exit_code)) {\n return false;\n }\n await ensureSentryForErrorReporting();\n sentryLogCliUsageError(params);\n return true;\n}\n\nasync function handleGenericRunPmCliError(params: {\n error: unknown;\n attemptedCommand: string;\n bootstrapGlobal: GlobalOptions;\n emitTelemetryCommandError: (event: {\n command: string;\n errorCode: string;\n errorMessage: string;\n exitCode: number;\n options: Record<string, unknown>;\n resolutionStage: TelemetryResolutionStage;\n }) => Promise<{\n errorCategory: TelemetryErrorCategory;\n commandResolution: TelemetryCommandResolution;\n }>;\n}): Promise<void> {\n const message = describeUnknownError(params.error);\n const classification = classifyUnknownError(message);\n if (params.bootstrapGlobal.json) {\n printError(JSON.stringify(formatUnknownErrorForJson(message, EXIT_CODE.GENERIC_FAILURE), null, 2));\n } else {\n printError(message);\n }\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n\n let errorCategory: TelemetryErrorCategory = \"runtime\";\n let commandResolution: TelemetryCommandResolution = \"runtime_failed\";\n try {\n await ensureSentryForErrorReporting();\n sentryCaptureCliError(params.error);\n const telemetry = await params.emitTelemetryCommandError({\n command: params.attemptedCommand,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode: EXIT_CODE.GENERIC_FAILURE,\n options: {\n bootstrap_global_options: params.bootstrapGlobal,\n },\n resolutionStage: \"execute\",\n });\n errorCategory = telemetry.errorCategory;\n commandResolution = telemetry.commandResolution;\n sentryFinishCommandSpan(false, message, {\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: EXIT_CODE.GENERIC_FAILURE,\n command_resolution: commandResolution,\n resolution_stage: \"execute\",\n });\n } catch (reportingError) {\n /* c8 ignore next */\n if (!params.bootstrapGlobal.json) {\n printError(`Failed to report error: ${describeUnknownError(reportingError)}`);\n }\n }\n try {\n await runAndClearAfterCommandHooks({\n ok: false,\n error: message,\n exit_code: EXIT_CODE.GENERIC_FAILURE,\n error_code: classification.code,\n error_category: errorCategory,\n command_resolution: commandResolution,\n resolution_stage: \"execute\",\n });\n } catch (hookError) {\n /* c8 ignore next */\n if (!params.bootstrapGlobal.json) {\n printError(`Failed to run error hooks: ${describeUnknownError(hookError)}`);\n }\n }\n try {\n await sentryFlush();\n } catch (flushError) {\n /* c8 ignore next */\n if (!params.bootstrapGlobal.json) {\n printError(`Failed to flush error reporting: ${describeUnknownError(flushError)}`);\n }\n }\n}\n\nfunction extractCommandScopedOptions(\n command: Command,\n commandArgs: string[],\n extensionFlagDefinitions: Array<Record<string, unknown>> = [],\n): Record<string, unknown> {\n const allOptions = command.optsWithGlobals() as Record<string, unknown>;\n const scoped: Record<string, unknown> = { ...allOptions };\n delete scoped.json;\n delete scoped.quiet;\n delete scoped.path;\n delete scoped.pmPath;\n delete scoped.noExtensions;\n delete scoped.extensions;\n delete scoped.profile;\n delete scoped.pager;\n // Global output controls must not leak into per-command mutation fields.\n delete scoped.changedFields;\n delete scoped.idOnly;\n\n const looseOptions = parseLooseCommandOptions(commandArgs);\n for (const [key, value] of Object.entries(looseOptions)) {\n /* c8 ignore next */\n if (scoped[key] === undefined) {\n scoped[key] = value;\n }\n }\n if (extensionFlagDefinitions.length > 0) {\n const extensionOptionKeys = collectLooseCommandOptionKeysForDefinitions(extensionFlagDefinitions);\n const optionsToValidate: Record<string, unknown> = { ...looseOptions };\n for (const key of extensionOptionKeys) {\n /* c8 ignore next */\n if (scoped[key] !== undefined) {\n optionsToValidate[key] = scoped[key];\n }\n }\n validateLooseCommandOptionsWithFlagDefinitions(optionsToValidate, extensionFlagDefinitions, getCommandPath(command));\n return coerceLooseCommandOptionsWithFlagDefinitions(scoped, extensionFlagDefinitions);\n }\n return scoped;\n}\n/* c8 ignore stop */\n\nfunction collectExtensionFlagDefinitionsForCommand(\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>,\n commandPath: string,\n): Array<Record<string, unknown>> {\n const normalizedCommandPath = normalizeExtensionCommandPath(commandPath);\n if (normalizedCommandPath.length === 0) {\n return [];\n }\n return registrations.flags\n .filter((entry) => normalizeExtensionCommandPath(entry.target_command) === normalizedCommandPath)\n .flatMap((entry) => entry.flags);\n}\n\nfunction collectExtensionFlagDefinitionsForInvocation(\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>,\n commandPath: string,\n commandArgs: string[],\n): Array<Record<string, unknown>> {\n const exact = collectExtensionFlagDefinitionsForCommand(registrations, commandPath);\n const pathParts = [commandPath];\n let nestedMatch: Array<Record<string, unknown>> = [];\n for (const arg of commandArgs) {\n if (arg.startsWith(\"-\")) {\n break;\n }\n pathParts.push(arg);\n const nested = collectExtensionFlagDefinitionsForCommand(registrations, pathParts.join(\" \"));\n if (nested.length > 0) {\n nestedMatch = nested;\n }\n }\n return nestedMatch.length > 0 ? nestedMatch : exact;\n}\n\nfunction dynamicCommandArguments(descriptor: ExtensionCommandHelpDescriptor): ExtensionCommandHelpDescriptor[\"arguments\"] {\n return descriptor.arguments ?? [];\n}\n\nfunction formatDynamicCommandUsage(descriptor: ExtensionCommandHelpDescriptor): string {\n const argumentSuffix = dynamicCommandArguments(descriptor)\n .map((argument) => {\n const label = argument.variadic ? `${argument.name}...` : argument.name;\n return argument.required ? `<${label}>` : `[${label}]`;\n })\n .join(\" \");\n return `pm ${descriptor.command}${argumentSuffix ? ` ${argumentSuffix}` : \"\"}`;\n}\n\n/**\n * Reports whether {@link commandPath} is the generated command path of a\n * registered importer (`<name> import`) or exporter (`<name> export`). Importers\n * and exporters read/write a source/destination via flags and take no positional\n * operand, so an unexpected positional is a usage error; free-form\n * `registerCommand` commands intentionally accept positionals via `context.args`\n * and are excluded.\n */\nfunction isImporterOrExporterCommandPath(\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry> | null,\n commandPath: string,\n): boolean {\n if (!registrations) {\n return false;\n }\n const normalized = normalizeExtensionCommandPath(commandPath);\n return (\n registrations.importers.some((entry) => normalizeExtensionCommandPath(`${entry.importer} import`) === normalized) ||\n registrations.exporters.some((entry) => normalizeExtensionCommandPath(`${entry.exporter} export`) === normalized)\n );\n}\n\nfunction validateDynamicExtensionCommandArgs(\n descriptor: ExtensionCommandHelpDescriptor,\n args: string[],\n): void {\n const descriptorArguments = dynamicCommandArguments(descriptor);\n const requiredCount = descriptorArguments.filter((argument) => argument.required).length;\n const variadic = descriptorArguments.some((argument) => argument.variadic);\n const maxCount = variadic ? Number.POSITIVE_INFINITY : descriptorArguments.length;\n const failureHints = descriptor.failure_hints ?? [];\n const hintSuffix = failureHints.length > 0 ? ` ${failureHints.join(\" \")}` : \"\";\n if (args.length < requiredCount) {\n throw new PmCliError(\n `Missing required argument for extension command '${descriptor.command}'. Usage: ${formatDynamicCommandUsage(descriptor)}${hintSuffix}`,\n EXIT_CODE.USAGE,\n );\n }\n if (args.length > maxCount) {\n const extra = args.slice(maxCount).join(\" \");\n throw new PmCliError(\n `Too many arguments for extension command '${descriptor.command}': ${extra}. Usage: ${formatDynamicCommandUsage(descriptor)}${hintSuffix}`,\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction formatDynamicOptionFlag(optionKey: string): string {\n return `--${optionKey\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .replace(/_/g, \"-\")\n .toLowerCase()}`;\n}\n\nfunction validateDynamicExtensionCommandOptions(\n descriptor: ExtensionCommandHelpDescriptor,\n options: Record<string, unknown>,\n extensionFlagDefinitions: Array<Record<string, unknown>>,\n): void {\n if (extensionFlagDefinitions.length > 0) {\n validateLooseCommandOptionsWithFlagDefinitions(options, extensionFlagDefinitions, descriptor.command);\n return;\n }\n const unknownOptions = Object.keys(options).filter((key) => options[key] !== undefined).sort();\n if (unknownOptions.length === 0) {\n return;\n }\n throw new PmCliError(\n `Unknown option '${unknownOptions.map(formatDynamicOptionFlag).join(\", \")}' for extension command '${descriptor.command}'. This command does not define extension flags.`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction validateDynamicExtensionCommandInvocation(\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n args: string[],\n options: Record<string, unknown>,\n extensionFlagDefinitions: Array<Record<string, unknown>>,\n): void {\n if (!descriptor) {\n return;\n }\n validateDynamicExtensionCommandArgs(descriptor, args);\n validateDynamicExtensionCommandOptions(descriptor, options, extensionFlagDefinitions);\n}\n\nconst RUNTIME_FIELD_COMMAND_BY_COMMAND_PATH: Readonly<Record<string, RuntimeFieldCommand>> = {\n create: \"create\",\n update: \"update\",\n \"update-many\": \"update_many\",\n list: \"list\",\n \"list-all\": \"list\",\n \"list-draft\": \"list\",\n \"list-open\": \"list\",\n \"list-in-progress\": \"list\",\n \"list-blocked\": \"list\",\n \"list-closed\": \"list\",\n \"list-canceled\": \"list\",\n search: \"search\",\n calendar: \"calendar\",\n context: \"context\",\n \"templates save\": \"create\",\n};\n\nconst runtimeFieldLooseFlagDefinitionCache = new Map<string, Array<Record<string, unknown>>>();\n\nfunction toLooseFieldDefinitionType(fieldType: string): \"string\" | \"number\" | \"boolean\" {\n if (fieldType === \"number\") {\n return \"number\";\n }\n if (fieldType === \"boolean\") {\n return \"boolean\";\n }\n return \"string\";\n}\n\nfunction commandHasLongOption(command: Command, longFlag: string): boolean {\n return command.options.some((option) => option.long === longFlag);\n}\n\nfunction commandHasShortOption(command: Command, shortFlag: string): boolean {\n return command.options.some((option) => option.short === shortFlag);\n}\n\nfunction addRuntimeFieldOption(command: Command, flagToken: string, description: string, repeatable: boolean): void {\n const normalizedToken = flagToken.trim();\n if (!normalizedToken) {\n return;\n }\n const helpText = description.length > 0 ? description : `Runtime schema field (${flagToken})`;\n if (normalizedToken.startsWith(\"-\") && !normalizedToken.startsWith(\"--\")) {\n if (commandHasShortOption(command, normalizedToken)) {\n return;\n }\n if (repeatable) {\n command.option(`${normalizedToken} <value>`, `${helpText} (repeatable)`, collect);\n return;\n }\n command.option(`${normalizedToken} <value>`, helpText);\n return;\n }\n const longFlag = normalizedToken.startsWith(\"--\") ? normalizedToken : `--${normalizedToken}`;\n if (commandHasLongOption(command, longFlag)) {\n return;\n }\n if (repeatable) {\n command.option(`${longFlag} <value>`, `${helpText} (repeatable)`, collect);\n return;\n }\n command.option(`${longFlag} <value>`, helpText);\n}\n\nasync function collectRuntimeFieldLooseFlagDefinitionsForCommand(\n commandPath: string,\n pmRoot: string,\n): Promise<Array<Record<string, unknown>>> {\n const runtimeCommand = RUNTIME_FIELD_COMMAND_BY_COMMAND_PATH[commandPath];\n if (!runtimeCommand) {\n return [];\n }\n const cacheKey = `${pmRoot}:${runtimeCommand}`;\n const cached = runtimeFieldLooseFlagDefinitionCache.get(cacheKey);\n if (cached) {\n return cached;\n }\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n runtimeFieldLooseFlagDefinitionCache.set(cacheKey, []);\n return [];\n }\n const settings = await readSettings(pmRoot);\n const fieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const definitions = (fieldRegistry.command_to_fields.get(runtimeCommand) ?? []).flatMap((field) => {\n const flagTokens = [field.cli_flag, ...field.cli_aliases];\n return flagTokens.map((token) => ({\n long: `--${token}`,\n type: toLooseFieldDefinitionType(field.type),\n value_type: toLooseFieldDefinitionType(field.type),\n }));\n });\n runtimeFieldLooseFlagDefinitionCache.set(cacheKey, definitions);\n return definitions;\n}\n\nasync function registerRuntimeSchemaFieldFlags(rootProgram: Command, invocationArgv: string[]): Promise<void> {\n const bootstrapGlobalOptions = parseBootstrapGlobalOptions(invocationArgv);\n const pmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return;\n }\n const settings = await readSettings(pmRoot);\n const fieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const mappings: Array<{ path: string; command: RuntimeFieldCommand }> = [\n { path: \"create\", command: \"create\" },\n { path: \"update\", command: \"update\" },\n { path: \"update-many\", command: \"update_many\" },\n { path: \"list\", command: \"list\" },\n { path: \"list-all\", command: \"list\" },\n { path: \"list-draft\", command: \"list\" },\n { path: \"list-open\", command: \"list\" },\n { path: \"list-in-progress\", command: \"list\" },\n { path: \"list-blocked\", command: \"list\" },\n { path: \"list-closed\", command: \"list\" },\n { path: \"list-canceled\", command: \"list\" },\n { path: \"search\", command: \"search\" },\n { path: \"calendar\", command: \"calendar\" },\n { path: \"context\", command: \"context\" },\n { path: \"templates save\", command: \"create\" },\n ];\n for (const mapping of mappings) {\n const command = findCommandByPath(rootProgram, mapping.path.split(\" \"));\n if (!command) {\n continue;\n }\n for (const field of fieldRegistry.command_to_fields.get(mapping.command) ?? []) {\n const description = field.description ?? \"\";\n addRuntimeFieldOption(command, field.cli_flag, description, field.repeatable);\n for (const alias of field.cli_aliases) {\n addRuntimeFieldOption(command, alias, `Alias for --${field.cli_flag}`, field.repeatable);\n }\n }\n }\n}\n\nasync function maybeAttachCreateUpdatePolicyHelpText(\n rootProgram: Command,\n pmRoot: string,\n invocationArgv: string[],\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>,\n settings?: PmSettings,\n): Promise<void> {\n const bootstrapCommand = parseBootstrapCommandName(invocationArgv);\n if (bootstrapCommand !== \"create\" && bootstrapCommand !== \"update\") {\n return;\n }\n try {\n const resolvedSettings = settings ?? (await readSettings(pmRoot));\n const typeRegistry = resolveItemTypeRegistry(resolvedSettings, registrations);\n attachCreateUpdatePolicyHelpText(rootProgram, typeRegistry, invocationArgv);\n } catch {\n // Help should remain available even when settings cannot be read.\n }\n}\n\nfunction defaultPreflightDecision(): PreflightRuntimeDecision {\n return {\n enforce_item_format_gate: true,\n run_preflight_item_format_sync: true,\n run_extension_migrations: true,\n enforce_mandatory_migration_gate: true,\n };\n}\n\nfunction buildRuntimeExtensionSnapshotCacheKey(pmRoot: string, activationScope = \"all\"): string {\n return activationScope === \"all\" ? `pm-root:${pmRoot}` : `pm-root:${pmRoot}:activation:${activationScope}`;\n}\n\nfunction bootstrapProfileEnabled(invocationArgv: string[]): boolean {\n return invocationArgv.some((token) => token === \"--profile\");\n}\n\nfunction buildRuntimeExtensionDiscoverySnapshotCacheKey(pmRoot: string): string {\n return `pm-root:${pmRoot}`;\n}\n\nfunction collectLeadingCommandArgs(commandArgs: readonly string[] | undefined): string[] {\n const leading: string[] = [];\n for (const arg of commandArgs ?? []) {\n if (arg.startsWith(\"-\")) {\n break;\n }\n const normalized = normalizeExtensionCommandPath(arg);\n if (normalized.length === 0) {\n continue;\n }\n leading.push(normalized);\n }\n return leading;\n}\n\n/* c8 ignore start */\nfunction collectActivationCommandCandidates(probe: RuntimeExtensionActivationProbe): string[] {\n /* c8 ignore next */\n const commandPath = normalizeExtensionCommandPath(probe.commandPath ?? \"\");\n if (commandPath.length === 0) {\n return [];\n }\n const candidates = [commandPath];\n const parts = commandPath.split(\" \").filter((part) => part.length > 0);\n for (const arg of collectLeadingCommandArgs(probe.commandArgs)) {\n parts.push(...arg.split(\" \").filter((part) => part.length > 0));\n candidates.push(parts.join(\" \"));\n }\n return [...new Set(candidates)];\n}\n\nfunction activationCommandMatchesProbe(command: string, probe: RuntimeExtensionActivationProbe): boolean {\n const normalized = normalizeExtensionCommandPath(command);\n if (normalized.length === 0) {\n return false;\n }\n const candidates = collectActivationCommandCandidates(probe);\n for (const candidate of candidates) {\n if (candidate === normalized || candidate.startsWith(`${normalized} `)) {\n return true;\n }\n }\n if (probe.allowCommandPrefixMatch === true) {\n return candidates.some((candidate) => normalized.startsWith(`${candidate} `));\n }\n return false;\n}\n\nfunction extensionActivationCommands(extension: ExtensionDiscoveryResult[\"effective\"][number]): string[] {\n return extension.activation?.commands ?? [];\n}\n\nfunction extensionCapabilities(extension: ExtensionDiscoveryResult[\"effective\"][number]): Set<string> {\n /* c8 ignore next */\n return new Set((extension.capabilities ?? []).map((capability) => capability.trim().toLowerCase()));\n}\n\nconst GLOBAL_EXTENSION_ACTIVATION_CAPABILITIES = new Set([\"hooks\", \"parser\", \"preflight\", \"renderers\"]);\n// Capabilities that register command handlers whose names are not statically\n// known without declared `activation.commands`, so the extension must activate\n// for any command probe. `importers`/`exporters` register their import/export as\n// command handlers, so they belong here alongside commands/schema/services.\nconst CONSERVATIVE_EXTENSION_ACTIVATION_CAPABILITIES = new Set([\"commands\", \"schema\", \"services\", \"importers\"]);\nconst SEARCH_EXTENSION_ACTIVATION_COMMANDS = new Set([\"reindex\", \"search\", \"search-advanced\"]);\nconst CREATE_TEMPLATE_FLAGS = new Set([\"--template\"]);\n\nfunction hasAnyCapability(capabilities: Set<string>, expected: Set<string>): boolean {\n for (const capability of expected) {\n if (capabilities.has(capability)) {\n return true;\n }\n }\n return false;\n}\n\nfunction commandPathNeedsSearchExtensions(commandPath: string | undefined): boolean {\n const normalized = normalizeExtensionCommandPath(commandPath ?? \"\");\n if (normalized.length === 0) {\n return false;\n }\n const [topLevel] = normalized.split(\" \");\n /* c8 ignore next */\n return SEARCH_EXTENSION_ACTIVATION_COMMANDS.has(topLevel ?? normalized);\n}\n\nfunction probeUsesAnyFlag(probe: RuntimeExtensionActivationProbe, flags: Set<string>): boolean {\n /* c8 ignore next */\n for (const arg of probe.commandArgs ?? []) {\n if (!arg.startsWith(\"--\")) {\n continue;\n }\n const [flagName] = arg.split(\"=\", 1);\n if (flags.has(flagName)) {\n return true;\n }\n }\n return false;\n}\n/* c8 ignore stop */\n\nfunction commandPathNeedsTemplateExtensions(probe: RuntimeExtensionActivationProbe): boolean {\n return normalizeExtensionCommandPath(probe.commandPath ?? \"\") === \"create\" && probeUsesAnyFlag(probe, CREATE_TEMPLATE_FLAGS);\n}\n\nfunction extensionProvidesTemplatesRuntime(commands: readonly string[]): boolean {\n return commands.some((command) => {\n const normalized = normalizeExtensionCommandPath(command);\n return normalized === \"templates\" || normalized.startsWith(\"templates \");\n });\n}\n\nfunction extensionNeedsActivationForProbe(\n extension: ExtensionDiscoveryResult[\"effective\"][number],\n probe: RuntimeExtensionActivationProbe,\n): boolean {\n const capabilities = extensionCapabilities(extension);\n const commands = extensionActivationCommands(extension);\n if (commands.some((command) => activationCommandMatchesProbe(command, probe))) {\n return true;\n }\n\n if (commandPathNeedsTemplateExtensions(probe) && extensionProvidesTemplatesRuntime(commands)) {\n return true;\n }\n\n // Search providers attach to the built-in search commands (reindex/search/...)\n // even when the extension declares unrelated commands of its own. This is a\n // non-terminal positive gate: it must not short-circuit a `false` here, or an\n // extension that pairs `search` with command-bearing capabilities would be\n // skipped for its own commands (the conservative tier below is what activates\n // those). A pure search provider has no command-bearing capability, so it falls\n // through to `return false` and stays scoped to search commands.\n if (capabilities.has(\"search\") && commandPathNeedsSearchExtensions(probe.commandPath)) {\n return true;\n }\n\n if (hasAnyCapability(capabilities, GLOBAL_EXTENSION_ACTIVATION_CAPABILITIES)) {\n return true;\n }\n\n // When the extension fully enumerates its activation commands and none matched,\n // its command-bearing surfaces cannot satisfy this probe.\n if (commands.length > 0) {\n return false;\n }\n\n // Without declared activation commands the contributed command names are\n // unknown, so any command-bearing capability (commands/schema/services and\n // importers/exporters, all of which register command handlers) must activate\n // for the probe — the invoked command could be one it registers. Activation\n // stays lazy once the extension declares `activation.commands` (handled by the\n // exact-match path above).\n if (hasAnyCapability(capabilities, CONSERVATIVE_EXTENSION_ACTIVATION_CAPABILITIES)) {\n return true;\n }\n\n return false;\n}\n\nfunction discoveryNeedsActivationForProbe(\n discovery: ExtensionDiscoveryResult,\n probe: RuntimeExtensionActivationProbe,\n): boolean {\n if (discovery.effective.length === 0) {\n return false;\n }\n const hasCommandProbe = normalizeExtensionCommandPath(probe.commandPath ?? \"\").length > 0;\n if (!hasCommandProbe) {\n return discovery.effective.some((extension) => {\n const capabilities = extensionCapabilities(extension);\n return (\n extensionActivationCommands(extension).length > 0 ||\n hasAnyCapability(capabilities, GLOBAL_EXTENSION_ACTIVATION_CAPABILITIES) ||\n hasAnyCapability(capabilities, CONSERVATIVE_EXTENSION_ACTIVATION_CAPABILITIES) ||\n capabilities.has(\"search\")\n );\n });\n }\n return discovery.effective.some((extension) => extensionNeedsActivationForProbe(extension, probe));\n}\n\nfunction buildRuntimeExtensionActivationScope(probe: RuntimeExtensionActivationProbe): string {\n const commandPath =\n collectActivationCommandCandidates(probe)\n .filter((candidate) => candidate.split(\" \").every((part) => !part.startsWith(\"-\")))\n .sort((left, right) => right.length - left.length)[0] ??\n normalizeExtensionCommandPath(probe.commandPath ?? \"\");\n if (commandPath.length === 0) {\n return \"all\";\n }\n const args = commandPathNeedsTemplateExtensions(probe) ? \"--template\" : \"\";\n const prefix = probe.allowCommandPrefixMatch === true ? \"prefix\" : \"exact\";\n return `${prefix}:${commandPath}:${args}`;\n}\n\nfunction buildRuntimeExtensionFilterForProbe(\n probe: RuntimeExtensionActivationProbe,\n): ((extension: ExtensionDiscoveryResult[\"effective\"][number]) => boolean) | undefined {\n return buildRuntimeExtensionActivationScope(probe) === \"all\"\n ? undefined\n : (extension) => extensionNeedsActivationForProbe(extension, probe);\n}\n\nfunction buildBootstrapActivationProbe(invocationArgv: string[]): RuntimeExtensionActivationProbe {\n const helpRequest = parseBootstrapHelpRequest(invocationArgv);\n if (helpRequest.requested && helpRequest.commandPathTokens.length > 0) {\n const [commandPath, ...commandArgs] = helpRequest.commandPathTokens;\n return {\n commandPath,\n commandArgs,\n allowCommandPrefixMatch: true,\n };\n }\n\n const stripped = stripGlobalBootstrapTokens(invocationArgv);\n const commandIndex = stripped.findIndex((token) => token.trim().length > 0 && !token.startsWith(\"-\"));\n if (commandIndex < 0) {\n return {};\n }\n return {\n commandPath: stripped[commandIndex],\n commandArgs: stripped.slice(commandIndex + 1),\n allowCommandPrefixMatch: helpRequest.requested,\n };\n}\n\n/* c8 ignore start */\nfunction collectParsedActivationCommandArgs(command: Command): string[] {\n const commandArgs = command.args.map(String);\n const commandPath = normalizeExtensionCommandPath(getCommandPath(command));\n if (commandPath === \"create\") {\n const options = command.optsWithGlobals() as Record<string, unknown>;\n /* c8 ignore next */\n if (typeof options.template === \"string\" && options.template.trim().length > 0) {\n commandArgs.push(\"--template\");\n }\n }\n return commandArgs;\n}\n/* c8 ignore stop */\n\n/**\n * Surface settings-read warnings once per command on stderr. readSettings()\n * silently falls back to defaults when settings.json is invalid, so most\n * commands (create/list/search/...) generate the warning but never show it — a\n * typo would change behavior with no explanation. Only the `settings_read_*`\n * codes are surfaced (the corrupt-settings fallbacks: invalid_json /\n * invalid_schema / merge_failed); other informational settings warnings (schema\n * bootstrap, legacy-format coercion) stay quiet. Mirrors the same finding in\n * `pm health`, which also carries a remediation_map for it.\n */\nfunction emitSettingsReadWarnings(warnings: readonly string[]): void {\n for (const warning of warnings) {\n if (warning.startsWith(\"settings_read_\")) {\n printError(\n `[pm] warning: ${warning} — settings.json could not be loaded and pm fell back to defaults; run pm health for remediation.`,\n );\n }\n }\n}\n\nfunction emitExtensionProfile(globalOptions: GlobalOptions, snapshot: RuntimeExtensionSnapshot): void {\n if (!globalOptions.profile) {\n return;\n }\n printError(\n `profile:extensions loaded=${snapshot.loadedCount} failed=${snapshot.loadFailedCount} warnings=${snapshot.loadWarnings.length} activation_failed=${snapshot.activationFailedCount} hook_counts=before:${snapshot.hooks.beforeCommand.length}|after:${snapshot.hooks.afterCommand.length}|write:${snapshot.hooks.onWrite.length}|read:${snapshot.hooks.onRead.length}|index:${snapshot.hooks.onIndex.length} command_overrides=${snapshot.commands.overrides.length} command_handlers=${snapshot.commands.handlers.length} parser_overrides=${snapshot.parsers.overrides.length} preflight_overrides=${snapshot.preflight.overrides.length} service_overrides=${snapshot.services.overrides.length} renderer_overrides=${snapshot.renderers.overrides.length}`,\n );\n if (snapshot.activationWarnings.length > 0) {\n printError(`profile:extensions activation_warnings=${formatHookWarnings(snapshot.activationWarnings)}`);\n }\n}\n\nfunction emitExtensionSkippedProfile(\n profileEnabled: boolean | undefined,\n snapshot: RuntimeExtensionDiscoverySnapshot,\n probe: RuntimeExtensionActivationProbe,\n): void {\n if (!profileEnabled) {\n return;\n }\n const command = normalizeExtensionCommandPath(probe.commandPath ?? \"\") || \"<none>\";\n printError(\n `profile:extensions activation=skipped command=${command} effective=${snapshot.discovery.effective.length} warnings=${snapshot.discovery.warnings.length} discovery_ms=${snapshot.discoveryMs}`,\n );\n}\n\nasync function loadRuntimeExtensionDiscoverySnapshot(pmRoot: string): Promise<RuntimeExtensionDiscoverySnapshot | null> {\n const cacheKey = buildRuntimeExtensionDiscoverySnapshotCacheKey(pmRoot);\n if (runtimeExtensionDiscoverySnapshotCache?.key === cacheKey) {\n return runtimeExtensionDiscoverySnapshotCache.snapshot;\n }\n\n try {\n const startedAt = Date.now();\n const { settings, warnings: settingsReadWarnings } = await readSettingsWithMetadata(pmRoot);\n const discovery = await discoverExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const snapshot: RuntimeExtensionDiscoverySnapshot = {\n pmRoot,\n settings,\n discovery,\n discoveryMs: Date.now() - startedAt,\n settingsReadWarnings: [...settingsReadWarnings],\n };\n runtimeExtensionDiscoverySnapshotCache = {\n key: cacheKey,\n snapshot,\n };\n return snapshot;\n } catch {\n runtimeExtensionDiscoverySnapshotCache = {\n key: cacheKey,\n snapshot: null,\n };\n return null;\n }\n}\n\nasync function loadRuntimeExtensionSnapshot(\n pmRoot: string,\n probe?: RuntimeExtensionActivationProbe,\n): Promise<RuntimeExtensionSnapshot | null> {\n const activationScope = probe ? buildRuntimeExtensionActivationScope(probe) : \"all\";\n const cacheKey = buildRuntimeExtensionSnapshotCacheKey(pmRoot, activationScope);\n if (runtimeExtensionSnapshotCache?.key === cacheKey) {\n return runtimeExtensionSnapshotCache.snapshot;\n }\n\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n extensionFilter: probe ? buildRuntimeExtensionFilterForProbe(probe) : undefined,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n const commandHandlers = [...new Set(activationResult.commands.handlers.map((entry) => normalizeExtensionCommandPath(entry.command)))]\n .filter((entry) => entry.length > 0)\n .sort((left, right) => left.localeCompare(right));\n const commandFlagHelp = collectDynamicExtensionFlagHelpByCommand(activationResult.registrations.flags);\n const commandDescriptors = collectExtensionCommandHelpDescriptors(\n commandHandlers,\n activationResult.registrations.commands,\n activationResult.registrations.flags,\n );\n const snapshot: RuntimeExtensionSnapshot = {\n hooks: activationResult.hooks,\n commands: activationResult.commands,\n parsers: activationResult.parsers,\n preflight: activationResult.preflight,\n services: activationResult.services,\n renderers: activationResult.renderers,\n registrations: activationResult.registrations,\n pmRoot,\n settings,\n commandHandlers,\n commandFlagHelp,\n commandDescriptors,\n loadWarnings: [...loadResult.warnings],\n activationWarnings: [...activationResult.warnings],\n loadedCount: loadResult.loaded.length,\n loadFailedCount: loadResult.failed.length,\n activationFailedCount: activationResult.failed.length,\n };\n runtimeExtensionSnapshotCache = {\n key: cacheKey,\n snapshot,\n };\n return snapshot;\n } catch {\n runtimeExtensionSnapshotCache = {\n key: cacheKey,\n snapshot: null,\n };\n return null;\n }\n}\n\n/* c8 ignore start */\nasync function maybeLoadRuntimeExtensions(\n command: Command,\n): Promise<\n {\n hooks: ExtensionHookRegistry;\n commands: ExtensionCommandRegistry;\n parsers: ExtensionParserRegistry;\n preflight: ExtensionPreflightRegistry;\n services: ExtensionServiceRegistry;\n renderers: ExtensionRendererRegistry;\n registrations: ReturnType<typeof createEmptyExtensionRegistrationRegistry>;\n pmRoot: string;\n } | null\n> {\n const globalOptions = getGlobalOptions(command);\n if (globalOptions.noExtensions) {\n // Extensions are disabled, so the discovery snapshot that normally carries\n // the settings-read warnings is skipped. Surface them directly here (a single\n // read on this uncommon path) so `pm --no-extensions <cmd>` — the common safe\n // mode — still reports a corrupt settings.json instead of silently running on\n // defaults.\n const noExtPmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n if (await pathExists(getSettingsPath(noExtPmRoot))) {\n emitSettingsReadWarnings((await readSettingsWithMetadata(noExtPmRoot)).warnings);\n }\n return null;\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const discoverySnapshot = await loadRuntimeExtensionDiscoverySnapshot(pmRoot);\n if (!discoverySnapshot) {\n return null;\n }\n // Surface actionable settings-read warnings once per command, before the\n // activation-skipped fast path returns, so create/list/search/... all report a\n // corrupt settings.json instead of silently running on defaults.\n emitSettingsReadWarnings(discoverySnapshot.settingsReadWarnings);\n const probe: RuntimeExtensionActivationProbe = {\n commandPath: getCommandPath(command),\n commandArgs: collectParsedActivationCommandArgs(command),\n };\n if (!discoveryNeedsActivationForProbe(discoverySnapshot.discovery, probe)) {\n emitExtensionSkippedProfile(globalOptions.profile, discoverySnapshot, probe);\n return null;\n }\n\n const snapshot = await loadRuntimeExtensionSnapshot(pmRoot, probe);\n /* c8 ignore next */\n if (!snapshot) {\n return null;\n }\n\n emitExtensionProfile(globalOptions, snapshot);\n return {\n hooks: snapshot.hooks,\n commands: snapshot.commands,\n parsers: snapshot.parsers,\n preflight: snapshot.preflight,\n services: snapshot.services,\n renderers: snapshot.renderers,\n registrations: snapshot.registrations,\n pmRoot,\n };\n}\n/* c8 ignore stop */\n\nasync function loadRuntimeExtensionCommandDescriptorsForRecovery(pmRoot: string): Promise<Map<string, ExtensionCommandHelpDescriptor>> {\n const snapshot = await loadRuntimeExtensionSnapshot(pmRoot);\n return snapshot ? new Map(snapshot.commandDescriptors) : activeRuntimeExtensionCommandDescriptors;\n}\n\nasync function executeRegisteredRuntimeMigrations(\n migrations: RegisteredExtensionSchemaMigrationDefinition[],\n pmRoot: string,\n): Promise<string[]> {\n const warnings: string[] = [];\n for (let index = 0; index < migrations.length; index += 1) {\n const migration = migrations[index];\n const status = resolveNormalizedMigrationStatus(migration.definition);\n if (status === \"applied\") {\n continue;\n }\n\n const runtimeDefinition = migration.runtime_definition ?? migration.definition;\n const run = (runtimeDefinition as { run?: unknown }).run;\n if (typeof run !== \"function\") {\n continue;\n }\n\n const migrationId = resolveMigrationId(migration.definition, index);\n try {\n await Promise.resolve(\n run({\n id: migrationId,\n command: \"migration\",\n layer: migration.layer,\n extension: migration.name,\n pm_root: pmRoot,\n status,\n }),\n );\n migration.definition.status = \"applied\";\n delete migration.definition.reason;\n delete migration.definition.error;\n delete migration.definition.message;\n } catch (error: unknown) {\n migration.definition.status = \"failed\";\n migration.definition.reason = describeUnknownError(error);\n warnings.push(`extension_migration_failed:${migration.layer}:${migration.name}:${migrationId}`);\n }\n }\n return warnings;\n}\n\n/* c8 ignore start */\nasync function runRequiredExtensionCommand(\n command: Command,\n options: Record<string, unknown>,\n globalOptions: GlobalOptions,\n extensionFlagDefinitions: Array<Record<string, unknown>> = [],\n): Promise<unknown> {\n const commandPath = getCommandPath(command);\n let commandArgs = stripLooseCommandOptionTokens(command.args.map(String), extensionFlagDefinitions);\n let commandOptions = { ...options };\n let resolvedGlobalOptions = { ...globalOptions };\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const parserOverride = await runActiveParserOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: resolvedGlobalOptions,\n pm_root: pmRoot,\n });\n if (globalOptions.profile && parserOverride.warnings.length > 0) {\n printError(`profile:extensions parser_warnings=${formatHookWarnings(parserOverride.warnings)}`);\n }\n commandArgs = parserOverride.context.args;\n commandOptions = parserOverride.context.options;\n resolvedGlobalOptions = parserOverride.context.global;\n validateDynamicExtensionCommandInvocation(\n activeRuntimeExtensionCommandDescriptors.get(normalizeExtensionCommandPath(commandPath)),\n commandArgs,\n commandOptions,\n extensionFlagDefinitions,\n );\n setActiveCommandResult(undefined);\n setActiveCommandContext({\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...resolvedGlobalOptions },\n pm_root: pmRoot,\n });\n const extensionCommandResult = await runActiveCommandHandler({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: resolvedGlobalOptions,\n pm_root: pmRoot,\n });\n if (resolvedGlobalOptions.profile && extensionCommandResult.warnings.length > 0) {\n printError(`profile:extensions command_handler_warnings=${formatHookWarnings(extensionCommandResult.warnings)}`);\n }\n if (!extensionCommandResult.handled) {\n if (extensionCommandResult.warnings.length > 0) {\n const warningCode = extensionCommandResult.warnings[0];\n const cause = extensionCommandResult.errorMessage?.trim();\n /* c8 ignore next */\n const causeSuffix = cause ? ` ${cause}` : \"\";\n throw new PmCliError(\n `Command \"${commandPath}\" failed in extension handler (${warningCode}).${causeSuffix}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n throw new PmCliError(`Command \"${commandPath}\" is provided by extensions and is not currently available.`, EXIT_CODE.NOT_FOUND);\n }\n setActiveCommandResult(extensionCommandResult.result);\n return extensionCommandResult.result;\n}\n\nconst WRAPPED_ACTION_HANDLER = Symbol(\"pm.wrappedActionHandler\");\n\ntype ActionMutableCommand = Command & {\n _actionHandler?: (...args: unknown[]) => unknown;\n [WRAPPED_ACTION_HANDLER]?: boolean;\n};\n\nfunction resolveActionCommand(actionArgs: unknown[], fallback: Command): Command {\n const possibleCommand = actionArgs[actionArgs.length - 1];\n /* c8 ignore next */\n return possibleCommand instanceof Command ? possibleCommand : fallback;\n}\n\nfunction maybePrintExtensionProfileWarnings(enabled: boolean | undefined, label: string, warnings: string[]): void {\n if (enabled && warnings.length > 0) {\n printError(`profile:extensions ${label}=${formatHookWarnings(warnings)}`);\n }\n}\n\nfunction validateDynamicInvocationArgs(params: {\n activeRegistrations: ReturnType<typeof getActiveExtensionRegistrations>;\n commandPath: string;\n commandArgs: string[];\n extensionFlagDefinitions: Array<Record<string, unknown>>;\n}): void {\n const dynamicDescriptor = activeRuntimeExtensionCommandDescriptors.get(normalizeExtensionCommandPath(params.commandPath));\n if (!dynamicDescriptor || !isImporterOrExporterCommandPath(params.activeRegistrations, params.commandPath)) {\n return;\n }\n const positionalArgs =\n dynamicCommandArguments(dynamicDescriptor).length === 0\n ? collectLoosePositionalArgs(params.commandArgs)\n : stripLooseCommandOptionTokens(params.commandArgs, params.extensionFlagDefinitions);\n validateDynamicExtensionCommandArgs(dynamicDescriptor, positionalArgs);\n}\n\nfunction syncCommanderActionArgs(actionCommand: Command, actionArgs: unknown[], commandArgs: string[]): void {\n actionCommand.args = [...commandArgs];\n /* c8 ignore next */\n if (\"_processArguments\" in actionCommand && typeof actionCommand._processArguments === \"function\") {\n actionCommand._processArguments();\n }\n /* c8 ignore next */\n if (actionArgs.length > 0 && Array.isArray(actionArgs[0])) {\n actionArgs[0] = [...actionCommand.processedArgs];\n }\n}\n\nfunction wrapProgramActionsForExtensionHandlers(rootProgram: Command): void {\n const visit = (entry: Command): void => {\n const actionEntry = entry as ActionMutableCommand;\n if (typeof actionEntry._actionHandler === \"function\" && actionEntry[WRAPPED_ACTION_HANDLER] !== true) {\n const originalAction = actionEntry._actionHandler;\n actionEntry._actionHandler = async function wrappedActionHandler(this: unknown, ...actionArgs: unknown[]): Promise<unknown> {\n const actionCommand = resolveActionCommand(actionArgs, entry);\n const startedAt = Date.now();\n clearResolvedGlobalOptions(actionCommand);\n let globalOptions = getGlobalOptions(actionCommand);\n const commandPath = getCommandPath(actionCommand);\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n let commandArgs = actionCommand.args.map(String);\n const activeRegistrations = getActiveExtensionRegistrations();\n const extensionFlagDefinitions = activeRegistrations\n ? collectExtensionFlagDefinitionsForInvocation(activeRegistrations, commandPath, commandArgs)\n : [];\n const runtimeFieldFlagDefinitions = await collectRuntimeFieldLooseFlagDefinitionsForCommand(commandPath, pmRoot);\n let commandOptions = extractCommandScopedOptions(actionCommand, commandArgs, [\n ...extensionFlagDefinitions,\n ...runtimeFieldFlagDefinitions,\n ]);\n const parserOverride = await runActiveParserOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: pmRoot,\n });\n maybePrintExtensionProfileWarnings(globalOptions.profile, \"parser_warnings\", parserOverride.warnings);\n commandArgs = parserOverride.context.args;\n commandOptions = parserOverride.context.options;\n globalOptions = parserOverride.context.global;\n // Validate importer/exporter positionals on the real dispatch path:\n // these short-circuit before the dynamic action that previously held the\n // only arity validation, so excess positionals could reach handlers.\n // Free-form `registerCommand` commands intentionally accept positionals\n // via context.args, and core commands have no descriptor.\n validateDynamicInvocationArgs({ activeRegistrations, commandPath, commandArgs, extensionFlagDefinitions });\n globalOptions = await applyDefaultOutputFormat(globalOptions);\n setResolvedGlobalOptions(actionCommand, globalOptions);\n syncCommanderActionArgs(actionCommand, actionArgs, commandArgs);\n for (const [key, value] of Object.entries(commandOptions)) {\n actionCommand.setOptionValueWithSource(key, value, \"cli\");\n }\n setActiveCommandResult(undefined);\n setActiveCommandContext({\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...globalOptions },\n pm_root: pmRoot,\n });\n\n const extensionCommandResult = await runActiveCommandHandler({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: pmRoot,\n });\n maybePrintExtensionProfileWarnings(globalOptions.profile, \"command_handler_warnings\", extensionCommandResult.warnings);\n if (extensionCommandResult.handled) {\n setActiveCommandResult(extensionCommandResult.result);\n printResult(extensionCommandResult.result, {\n ...globalOptions,\n command: commandPath,\n commandArgs,\n commandOptions,\n pmRoot,\n });\n if (globalOptions.profile) {\n printError(`profile:command=${commandPath} took_ms=${Date.now() - startedAt}`);\n }\n return;\n }\n\n return await originalAction.apply(this, actionArgs);\n };\n actionEntry[WRAPPED_ACTION_HANDLER] = true;\n }\n for (const child of entry.commands) {\n visit(child);\n }\n };\n visit(rootProgram);\n}\n/* c8 ignore stop */\n\nasync function clearDynamicExtensionCommandState(params?: {\n rootProgram: Command;\n pmRoot: string;\n invocationArgv: string[];\n settings?: PmSettings;\n}): Promise<void> {\n activeRuntimeExtensionCommandDescriptors = new Map<string, ExtensionCommandHelpDescriptor>();\n setActiveExtensionServices({ overrides: [] });\n if (params) {\n await maybeAttachCreateUpdatePolicyHelpText(\n params.rootProgram,\n params.pmRoot,\n params.invocationArgv,\n createEmptyExtensionRegistrationRegistry(),\n params.settings,\n );\n }\n}\n\n/* v8 ignore start -- dynamic help fallback variants are exercised through registration integration tests; residual legacy branches are defensive */\nfunction attachDynamicExtensionHelp(\n command: Command,\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n flagHelp: string | undefined,\n metadataHelp: string | null,\n): void {\n if (descriptor?.flags && descriptor.flags.length > 0) {\n applyDynamicExtensionFlagOptions(command, descriptor.flags);\n const residualFlagHelp = buildResidualDynamicExtensionFlagHelp(command, descriptor.flags);\n if (residualFlagHelp) {\n command.addHelpText(\"after\", residualFlagHelp);\n }\n } else if (flagHelp) {\n command.addHelpText(\"after\", flagHelp);\n }\n if (metadataHelp) {\n command.addHelpText(\"after\", metadataHelp);\n }\n}\n/* v8 ignore stop */\n\n/* c8 ignore start */\nasync function registerDynamicExtensionCommandPaths(rootProgram: Command, invocationArgv: string[]): Promise<void> {\n const bootstrapGlobalOptions = parseBootstrapGlobalOptions(invocationArgv);\n const pmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);\n if (bootstrapGlobalOptions.noExtensions) {\n await clearDynamicExtensionCommandState({\n rootProgram,\n pmRoot,\n invocationArgv,\n });\n return;\n }\n\n const discoverySnapshot = await loadRuntimeExtensionDiscoverySnapshot(pmRoot);\n const probe = buildBootstrapActivationProbe(invocationArgv);\n if (!discoverySnapshot) {\n await clearDynamicExtensionCommandState();\n return;\n }\n if (!discoveryNeedsActivationForProbe(discoverySnapshot.discovery, probe)) {\n await clearDynamicExtensionCommandState({\n rootProgram,\n pmRoot,\n invocationArgv,\n settings: discoverySnapshot.settings,\n });\n emitExtensionSkippedProfile(bootstrapProfileEnabled(invocationArgv), discoverySnapshot, probe);\n return;\n }\n\n const snapshot = await loadRuntimeExtensionSnapshot(pmRoot, probe);\n /* c8 ignore next */\n if (!snapshot) {\n await clearDynamicExtensionCommandState({\n rootProgram,\n pmRoot,\n invocationArgv,\n settings: discoverySnapshot.settings,\n });\n return;\n }\n // Ensure usage/help/error formatting overrides are available even when parse\n // errors occur before preAction hooks initialize full runtime extension state.\n setActiveExtensionServices(snapshot.services);\n activeRuntimeExtensionCommandDescriptors = new Map(snapshot.commandDescriptors);\n await maybeAttachCreateUpdatePolicyHelpText(rootProgram, pmRoot, invocationArgv, snapshot.registrations, snapshot.settings);\n\n const commandPaths = [...new Set([...snapshot.commandHandlers, ...snapshot.commandDescriptors.keys()])].sort((left, right) =>\n left.localeCompare(right),\n );\n for (const commandPath of commandPaths) {\n const pathParts = commandPath.split(\" \").filter((part) => part.length > 0);\n if (pathParts.length === 0) {\n continue;\n }\n const descriptor = snapshot.commandDescriptors.get(commandPath);\n const existingCommand = findCommandByPath(rootProgram, pathParts);\n const flagHelp = snapshot.commandFlagHelp.get(commandPath);\n const metadataHelp = descriptor ? buildDynamicExtensionCommandMetadataHelp(descriptor) : null;\n if (existingCommand) {\n attachDynamicExtensionHelp(existingCommand, descriptor, flagHelp, metadataHelp);\n continue;\n }\n\n const dynamicCommand = ensureCommandPath(rootProgram, pathParts);\n /* c8 ignore next */\n if (!dynamicCommand) {\n continue;\n }\n if (descriptor?.description) {\n dynamicCommand.description(descriptor.description);\n }\n let residualDynamicFlagHelp = flagHelp;\n if (descriptor) {\n applyDynamicExtensionArguments(dynamicCommand, descriptor);\n if (descriptor.flags.length > 0) {\n applyDynamicExtensionFlagOptions(dynamicCommand, descriptor.flags);\n residualDynamicFlagHelp = buildResidualDynamicExtensionFlagHelp(dynamicCommand, descriptor.flags) ?? undefined;\n }\n }\n if (residualDynamicFlagHelp) {\n dynamicCommand.addHelpText(\"after\", residualDynamicFlagHelp);\n }\n if (metadataHelp) {\n dynamicCommand.addHelpText(\"after\", metadataHelp);\n }\n\n dynamicCommand\n .allowUnknownOption(true)\n .allowExcessArguments(true)\n .action(async (...actionArgs: unknown[]) => {\n const maybeCommand = actionArgs[actionArgs.length - 1];\n /* c8 ignore next */\n const command = maybeCommand instanceof Command ? maybeCommand : dynamicCommand;\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const extensionFlagDefinitions = collectExtensionFlagDefinitionsForInvocation(\n snapshot.registrations,\n commandPath,\n command.args.map(String),\n );\n const scopedOptions = extractCommandScopedOptions(\n command,\n command.args.map(String),\n extensionFlagDefinitions,\n );\n const result = await runRequiredExtensionCommand(command, scopedOptions, globalOptions, extensionFlagDefinitions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, {\n ...globalOptions,\n command: commandPath,\n commandArgs: command.args.map(String),\n commandOptions: scopedOptions,\n pmRoot,\n });\n if (globalOptions.profile) {\n printError(`profile:command=${commandPath} took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n}\n/* c8 ignore stop */\n\n/* c8 ignore start */\nconst CLI_VERSION = resolvePmCliVersion(import.meta.url, [\"../..\"]) ?? \"0.0.0\";\n/* c8 ignore stop */\n\nconst program = new Command();\nprogram\n .name(\"pm\")\n .description(\"Universal, flexible, extensible, agent-optimized project management CLI for any project or programming language.\")\n .version(CLI_VERSION)\n .showHelpAfterError(false)\n .allowExcessArguments(false)\n .allowUnknownOption(false)\n .configureOutput({\n writeOut: (str) => {\n writeStdout(str);\n },\n // Commander errors are rendered in our own catch path.\n writeErr: () => {},\n })\n .option(\"--json\", \"Output JSON instead of TOON\")\n .option(\"--quiet\", \"Suppress stdout output\")\n .option(\"--no-changed-fields\", \"Omit the changed_fields array from mutation output (keeps changed_field_count)\")\n .option(\"--id-only\", \"Print only id and status for single-item mutation output\")\n .option(\"--pm-path <dir>\", \"Explicit tracker storage path for this command (preferred over --path)\")\n .option(\"--path <dir>\", \"Backward-compatible alias for --pm-path; this is the tracker storage path, not a workspace cwd\")\n .option(\"--no-extensions\", \"Disable extension loading\")\n .option(\"--no-pager\", \"Disable pager integration for help and long output\")\n .option(\"--explain\", \"Render extended rationale and examples in help output\")\n .option(\"--profile\", \"Print deterministic timing diagnostics\")\n .exitOverride();\n\n/* c8 ignore start */\nprogram.hook(\"preAction\", async (_thisCommand, actionCommand) => {\n activeExtensionHookContext = null;\n activeTelemetryCommandContext = null;\n clearActiveExtensionHooks();\n clearResolvedGlobalOptions(actionCommand);\n const bootstrapGlobalOptions = getGlobalOptions(actionCommand);\n const commandPath = getCommandPath(actionCommand);\n let commandArgs = actionCommand.args.map(String);\n let commandOptions = extractCommandScopedOptions(actionCommand, commandArgs);\n let globalOptions = { ...bootstrapGlobalOptions };\n await maybeRunFirstUseTelemetryPrompt(commandPath, globalOptions);\n const fallbackPmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);\n const runtimeExtensions = await maybeLoadRuntimeExtensions(actionCommand);\n if (!runtimeExtensions) {\n activeTelemetryCommandContext = await startTelemetryCommand({\n command: commandPath,\n pm_version: CLI_VERSION,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: fallbackPmRoot,\n });\n sentrySetCommandContext(commandPath, commandArgs, commandOptions, {\n source_context: activeTelemetryCommandContext?.source_context,\n source_context_source: activeTelemetryCommandContext?.source_context_source,\n });\n sentryStartCommandSpan(commandPath);\n await enforceItemFormatWriteGateAndPreflightMigration(\n commandPath,\n commandOptions,\n fallbackPmRoot,\n defaultPreflightDecision(),\n );\n return;\n }\n\n setActiveExtensionHooks(runtimeExtensions.hooks);\n setActiveExtensionCommands(runtimeExtensions.commands);\n setActiveExtensionParsers(runtimeExtensions.parsers);\n setActiveExtensionPreflight(runtimeExtensions.preflight);\n setActiveExtensionServices(runtimeExtensions.services);\n setActiveExtensionRenderers(runtimeExtensions.renderers);\n setActiveExtensionRegistrations(runtimeExtensions.registrations);\n\n const extensionFlagDefinitions = collectExtensionFlagDefinitionsForInvocation(\n runtimeExtensions.registrations,\n commandPath,\n commandArgs,\n );\n commandOptions = extractCommandScopedOptions(actionCommand, commandArgs, extensionFlagDefinitions);\n const parserOverride = await runActiveParserOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: runtimeExtensions.pmRoot,\n });\n /* c8 ignore next */\n if (globalOptions.profile && parserOverride.warnings.length > 0) {\n printError(`profile:extensions parser_warnings=${formatHookWarnings(parserOverride.warnings)}`);\n }\n commandArgs = parserOverride.context.args;\n commandOptions = parserOverride.context.options;\n globalOptions = parserOverride.context.global;\n\n const preflightOverride = await runActivePreflightOverride({\n command: commandPath,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: runtimeExtensions.pmRoot,\n decision: defaultPreflightDecision(),\n });\n /* c8 ignore next */\n if (globalOptions.profile && preflightOverride.warnings.length > 0) {\n printError(`profile:extensions preflight_warnings=${formatHookWarnings(preflightOverride.warnings)}`);\n }\n commandArgs = preflightOverride.context.args;\n commandOptions = preflightOverride.context.options;\n globalOptions = preflightOverride.context.global;\n const preflightDecision = preflightOverride.decision;\n\n await enforceItemFormatWriteGateAndPreflightMigration(\n commandPath,\n commandOptions,\n runtimeExtensions.pmRoot,\n preflightDecision,\n );\n\n /* c8 ignore next */\n const migrationWarnings = preflightDecision.run_extension_migrations\n ? await executeRegisteredRuntimeMigrations(runtimeExtensions.registrations.migrations, runtimeExtensions.pmRoot)\n : [];\n if (globalOptions.profile && migrationWarnings.length > 0) {\n printError(`profile:extensions migration_warnings=${formatHookWarnings(migrationWarnings)}`);\n }\n const migrationBlockers = collectMandatoryMigrationBlockers(runtimeExtensions.registrations.migrations);\n activeExtensionHookContext = {\n hooks: runtimeExtensions.hooks,\n commandName: commandPath,\n commandArgs,\n commandOptions: { ...commandOptions },\n globalOptions: { ...globalOptions },\n pmRoot: runtimeExtensions.pmRoot,\n profileEnabled: Boolean(globalOptions.profile),\n migrationBlockers,\n };\n setActiveCommandResult(undefined);\n setActiveCommandContext({\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...globalOptions },\n pm_root: runtimeExtensions.pmRoot,\n });\n activeTelemetryCommandContext = await startTelemetryCommand({\n command: commandPath,\n pm_version: CLI_VERSION,\n args: commandArgs,\n options: commandOptions,\n global: globalOptions,\n pm_root: runtimeExtensions.pmRoot,\n });\n sentrySetCommandContext(commandPath, commandArgs, commandOptions, {\n source_context: activeTelemetryCommandContext?.source_context,\n source_context_source: activeTelemetryCommandContext?.source_context_source,\n });\n sentryStartCommandSpan(commandPath);\n\n const hookWarnings = await runBeforeCommandHooks(runtimeExtensions.hooks, {\n command: commandPath,\n args: commandArgs,\n options: { ...commandOptions },\n global: { ...globalOptions },\n pm_root: runtimeExtensions.pmRoot,\n });\n /* c8 ignore next */\n if (globalOptions.profile && hookWarnings.length > 0) {\n printError(`profile:extensions hook_warnings=${formatHookWarnings(hookWarnings)}`);\n }\n /* c8 ignore next */\n if (preflightDecision.enforce_mandatory_migration_gate) {\n enforceMandatoryMigrationWriteGate(commandPath, commandOptions, migrationBlockers);\n }\n});\n/* c8 ignore stop */\n\nprogram.hook(\"postAction\", async () => {\n const outcome = buildPostActionTelemetryOutcome();\n sentryFinishCommandSpan(outcome.ok, outcome.error, {\n error_code: outcome.error_code,\n error_category: outcome.error_category,\n exit_code: outcome.exit_code,\n command_resolution: outcome.command_resolution,\n resolution_stage: outcome.resolution_stage,\n });\n await runAndClearAfterCommandHooks(outcome);\n});\n\nconst VERSION_FLAG_TOKENS = new Set([\"--version\", \"-V\"]);\nconst SETUP_COMMAND_NAMES = new Set([\n \"config\",\n \"extension\",\n \"init\",\n \"install\",\n \"package\",\n \"packages\",\n \"templates\",\n \"upgrade\",\n]);\nconst LIST_QUERY_COMMAND_NAMES = new Set([\n \"activity\",\n \"aggregate\",\n \"context\",\n \"ctx\",\n \"get\",\n \"history\",\n \"list\",\n \"list-all\",\n \"list-blocked\",\n \"list-canceled\",\n \"list-closed\",\n \"list-draft\",\n \"list-in-progress\",\n \"list-open\",\n \"search\",\n]);\nconst MUTATION_COMMAND_NAMES = new Set([\n \"append\",\n \"close\",\n \"close-many\",\n \"comments\",\n \"delete\",\n \"deps\",\n \"discover\",\n \"docs\",\n \"files\",\n \"learnings\",\n \"notes\",\n \"plan\",\n \"restore\",\n \"update\",\n \"update-many\",\n \"create\",\n]);\nconst OPERATION_COMMAND_NAMES = new Set([\n \"claim\",\n \"close-task\",\n \"contracts\",\n \"gc\",\n \"health\",\n \"pause-task\",\n \"release\",\n \"start-task\",\n \"stats\",\n \"test\",\n \"test-all\",\n \"test-runs\",\n \"test-runs-worker\",\n \"validate\",\n]);\nconst MUTATING_OPERATION_COMMAND_NAMES = new Set([\n \"claim\",\n \"close-task\",\n \"pause-task\",\n \"release\",\n \"start-task\",\n \"test\",\n]);\ninterface CoreCommandRegistrationSelection {\n setup: boolean;\n listQuery: boolean;\n mutation: boolean;\n operation: boolean;\n targetCommandName?: string;\n}\nconst REGISTER_ALL_CORE_COMMAND_FAMILIES: CoreCommandRegistrationSelection = {\n setup: true,\n listQuery: true,\n mutation: true,\n operation: true,\n};\n\nconst RUNTIME_SCHEMA_FLAG_BOOTSTRAP_COMMANDS = new Set([\n \"create\",\n \"update\",\n \"update-many\",\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n \"search\",\n \"calendar\",\n \"context\",\n \"templates\",\n]);\n\nfunction invocationRequestsVersion(invocationArgv: string[]): boolean {\n return invocationArgv.some((token) => VERSION_FLAG_TOKENS.has(token));\n}\n\nfunction resolveCoreCommandRegistrationSelection(\n invocationArgv: string[],\n): CoreCommandRegistrationSelection {\n if (invocationRequestsVersion(invocationArgv)) {\n return {\n setup: false,\n listQuery: false,\n mutation: false,\n operation: false,\n };\n }\n if (\n invocationArgv.length === 0 ||\n parseBootstrapHelpRequest(invocationArgv).requested\n ) {\n return REGISTER_ALL_CORE_COMMAND_FAMILIES;\n }\n const commandName = parseBootstrapCommandName(invocationArgv);\n if (!commandName) {\n return REGISTER_ALL_CORE_COMMAND_FAMILIES;\n }\n const normalizedCommand = commandName.trim().toLowerCase();\n if (SETUP_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: true,\n listQuery: false,\n mutation: false,\n operation: false,\n targetCommandName: normalizedCommand,\n };\n }\n if (LIST_QUERY_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: false,\n listQuery: true,\n mutation: false,\n operation: false,\n targetCommandName: normalizedCommand,\n };\n }\n if (MUTATION_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: false,\n listQuery: false,\n mutation: true,\n operation: false,\n targetCommandName: normalizedCommand,\n };\n }\n if (OPERATION_COMMAND_NAMES.has(normalizedCommand)) {\n return {\n setup: false,\n listQuery: false,\n mutation: false,\n operation: true,\n targetCommandName: normalizedCommand,\n };\n }\n return REGISTER_ALL_CORE_COMMAND_FAMILIES;\n}\n\nfunction shouldAttachRichHelpTextForInvocation(invocationArgv: string[]): boolean {\n return (\n invocationArgv.length === 0 ||\n parseBootstrapHelpRequest(invocationArgv).requested\n );\n}\n\nconst IDEMPOTENT_TOP_LEVEL_REGISTRATION = Symbol(\"pmCliIdempotentTopLevelRegistration\");\n\n/**\n * The root `program` is a module-level singleton. Any path that enters\n * `runPmCli` a second time in the same process (an embedding host, a long-lived\n * plugin runtime, or a retry) re-runs core command registration against it, and\n * Commander throws `cannot add command 'X' as already have command 'X'` on the\n * second pass. That is a raw `Error` (not a `CommandError`), so it escapes the\n * Sentry release-gate CLI-error allowlist and can silently block the daily\n * auto-release (Sentry PM-CLI-1R / pm-zyez — the fragility class pm-nb08 warns\n * about).\n *\n * Make top-level registration idempotent: a duplicate `program.command(name)`\n * returns a throwaway `Command`, so its chained `.argument()/.option()/.action()`\n * builders apply harmlessly while the already-wired original command is\n * preserved. The guard is installed once per program (Symbol flag) and only\n * short-circuits exact duplicates — every first-time registration still flows\n * through Commander untouched.\n */\nfunction ensureIdempotentTopLevelCommandRegistration(rootProgram: Command): void {\n const guarded = rootProgram as Command & { [IDEMPOTENT_TOP_LEVEL_REGISTRATION]?: true };\n if (guarded[IDEMPOTENT_TOP_LEVEL_REGISTRATION]) {\n return;\n }\n guarded[IDEMPOTENT_TOP_LEVEL_REGISTRATION] = true;\n const registerOriginalCommand = rootProgram.command.bind(rootProgram) as (\n nameAndArgs: string,\n ...rest: unknown[]\n ) => Command;\n rootProgram.command = ((nameAndArgs: string, ...rest: unknown[]): Command => {\n const commandName = nameAndArgs.split(/\\s+/u)[0];\n // Match Commander's own dedup, which collides on an existing command's name\n // OR any of its aliases, so a re-entrant registration can never reach the\n // raw \"cannot add command\" throw.\n if (rootProgram.commands.some((existing) => existing.name() === commandName || existing.aliases().includes(commandName))) {\n return new Command(commandName);\n }\n return registerOriginalCommand(nameAndArgs, ...rest);\n }) as typeof rootProgram.command;\n}\n\nasync function registerCoreCommandFamilies(\n rootProgram: Command,\n selection: CoreCommandRegistrationSelection,\n): Promise<void> {\n ensureIdempotentTopLevelCommandRegistration(rootProgram);\n if (selection.setup) {\n const { registerSetupCommands } = await loadSetupRegistrationModule();\n registerSetupCommands(rootProgram);\n }\n if (selection.listQuery) {\n const { registerListQueryCommands } =\n await loadListQueryRegistrationModule();\n const commandFilter =\n typeof selection.targetCommandName === \"string\" &&\n LIST_QUERY_COMMAND_NAMES.has(selection.targetCommandName)\n ? new Set([selection.targetCommandName])\n : undefined;\n registerListQueryCommands(rootProgram, commandFilter ? { commandFilter } : undefined);\n }\n if (selection.mutation) {\n const { registerMutationCommands } = await loadMutationRegistrationModule();\n registerMutationCommands(rootProgram);\n }\n if (selection.operation) {\n const { registerOperationCommands } = await loadOperationRegistrationModule();\n registerOperationCommands(rootProgram);\n }\n}\n\nfunction shouldRegisterDynamicExtensionPaths(_rootProgram: Command, invocationArgv: string[]): boolean {\n if (invocationRequestsVersion(invocationArgv)) {\n return false;\n }\n const helpRequest = parseBootstrapHelpRequest(invocationArgv);\n if (helpRequest.requested) {\n return true;\n }\n const commandName = parseBootstrapCommandName(invocationArgv);\n if (!commandName) {\n return false;\n }\n return true;\n}\n\nfunction shouldRegisterRuntimeSchemaFlags(invocationArgv: string[]): boolean {\n if (invocationRequestsVersion(invocationArgv)) {\n return false;\n }\n const commandName = parseBootstrapCommandName(invocationArgv);\n if (!commandName) {\n return false;\n }\n return RUNTIME_SCHEMA_FLAG_BOOTSTRAP_COMMANDS.has(commandName);\n}\n\nfunction enforceExplicitRetryForFlagTypos(\n bootstrapInvocation: ReturnType<typeof normalizeBootstrapInvocation>,\n): void {\n const commandName = bootstrapInvocation.commandName;\n if (!commandName) {\n return;\n }\n const typoEvent = bootstrapInvocation.trace.find((entry) => entry.reason === \"flag_typo\");\n if (!typoEvent) {\n return;\n }\n const normalizedTokens = Array.isArray(typoEvent.to)\n ? typoEvent.to\n : [String(typoEvent.to ?? \"\")].filter((entry) => entry.length > 0);\n const normalizedDisplay = normalizedTokens.length > 0 ? normalizedTokens.join(\" \") : \"the canonical flag\";\n const mutatingCommand = MUTATION_COMMAND_NAMES.has(commandName) || MUTATING_OPERATION_COMMAND_NAMES.has(commandName);\n const code = mutatingCommand ? \"mutating_flag_typo_requires_retry\" : \"flag_typo_requires_retry\";\n const commandScope = mutatingCommand ? \"mutating option\" : \"option\";\n throw new PmCliError(\n `Refusing to auto-correct ${commandScope} ${typoEvent.from} to ${normalizedDisplay}. Retry with the canonical flag so the command is explicit.`,\n EXIT_CODE.USAGE,\n {\n code,\n examples: [renderPmCommand(bootstrapInvocation.argv)],\n nextSteps: [\"Retry the command with the canonical flag shown in examples.\"],\n recovery: {\n normalized_args: [...bootstrapInvocation.argv],\n suggested_retry: renderPmCommand(bootstrapInvocation.argv),\n },\n },\n );\n}\n\ntype TelemetryCommandErrorEmitter = (params: {\n command: string;\n errorCode: string;\n errorMessage: string;\n exitCode: number;\n options: Record<string, unknown>;\n resolutionStage: TelemetryResolutionStage;\n}) => Promise<{\n errorCategory: TelemetryErrorCategory;\n commandResolution: TelemetryCommandResolution;\n}>;\n\ninterface RunPmCliErrorContext {\n error: unknown;\n invocationArgv: string[];\n bootstrapGlobal: GlobalOptions;\n jsonErrors: boolean;\n bootstrapPmRoot: string;\n attemptedCommand: string;\n emitTelemetryCommandError: TelemetryCommandErrorEmitter;\n}\n\nfunction createTelemetryCommandErrorEmitter(params: {\n invocationArgv: string[];\n bootstrapGlobal: GlobalOptions;\n bootstrapPmRoot: string;\n}): TelemetryCommandErrorEmitter {\n return async (event) => {\n const errorCategory = resolveTelemetryErrorCategory(event.errorCode);\n const commandResolution = deriveTelemetryCommandResolution({\n ok: false,\n errorCode: event.errorCode,\n errorCategory,\n });\n await emitTelemetryErrorEvent({\n command: event.command,\n args: params.invocationArgv,\n options: event.options,\n global: params.bootstrapGlobal,\n pm_version: CLI_VERSION,\n pm_root: params.bootstrapPmRoot,\n error_code: event.errorCode,\n error_message: event.errorMessage,\n exit_code: event.exitCode,\n error_category: errorCategory,\n command_resolution: commandResolution,\n resolution_stage: event.resolutionStage,\n });\n return {\n errorCategory,\n commandResolution,\n };\n };\n}\n\nasync function prepareExtensionServicesForRunPmCliError(params: {\n invocationArgv: string[];\n bootstrapGlobal: GlobalOptions;\n bootstrapPmRoot: string;\n}): Promise<void> {\n if (params.bootstrapGlobal.noExtensions) {\n return;\n }\n const bootstrapProbe = buildBootstrapActivationProbe(params.invocationArgv);\n const discoverySnapshot = await loadRuntimeExtensionDiscoverySnapshot(params.bootstrapPmRoot);\n if (discoverySnapshot && discoveryNeedsActivationForProbe(discoverySnapshot.discovery, bootstrapProbe)) {\n const bootstrapSnapshot = await loadRuntimeExtensionSnapshot(params.bootstrapPmRoot, bootstrapProbe);\n setRecoveredExtensionServices(bootstrapSnapshot);\n return;\n }\n if (discoverySnapshot) {\n emitExtensionSkippedProfile(bootstrapProfileEnabled(params.invocationArgv), discoverySnapshot, bootstrapProbe);\n }\n setActiveExtensionServices({ overrides: [] });\n}\n\nfunction setRecoveredExtensionServices(bootstrapSnapshot: Pick<RuntimeExtensionSnapshot, \"services\"> | null): void {\n if (!bootstrapSnapshot) {\n setActiveExtensionServices({ overrides: [] });\n return;\n }\n setActiveExtensionServices(bootstrapSnapshot.services);\n}\n\nasync function finishRunPmCliFailure(params: {\n errorMessage: string;\n exitCode: number;\n classificationCode: string;\n errorCategory: TelemetryErrorCategory;\n commandResolution: TelemetryCommandResolution;\n resolutionStage: TelemetryResolutionStage;\n}): Promise<void> {\n sentryFinishCommandSpan(false, params.errorMessage, {\n error_code: params.classificationCode,\n error_category: params.errorCategory,\n exit_code: params.exitCode,\n command_resolution: params.commandResolution,\n resolution_stage: params.resolutionStage,\n });\n await runAndClearAfterCommandHooks({\n ok: false,\n error: params.errorMessage,\n exit_code: params.exitCode,\n error_code: params.classificationCode,\n error_category: params.errorCategory,\n command_resolution: params.commandResolution,\n resolution_stage: params.resolutionStage,\n });\n}\n\nasync function finishRunPmCliSuccessParse(): Promise<void> {\n sentryFinishCommandSpan(true, undefined, {\n exit_code: EXIT_CODE.SUCCESS,\n command_resolution: \"success\",\n resolution_stage: \"parse\",\n });\n await runAndClearAfterCommandHooks({\n ok: true,\n exit_code: EXIT_CODE.SUCCESS,\n command_resolution: \"success\",\n resolution_stage: \"parse\",\n });\n process.exitCode = EXIT_CODE.SUCCESS;\n}\n\nasync function handleRunPmCliKnownError(context: RunPmCliErrorContext, numericExitCode: number | undefined): Promise<boolean> {\n const hasExplicitExitCode = typeof numericExitCode === \"number\" && Number.isFinite(numericExitCode);\n if (\n !(context.error instanceof PmCliError) &&\n (isCommanderError(context.error) || !hasExplicitExitCode)\n ) {\n return false;\n }\n const errorMessage = describeUnknownError(context.error);\n const exitCode = context.error instanceof PmCliError ? context.error.exitCode : normalizeThrownExitCode(numericExitCode as number);\n const rawContext = context.error instanceof PmCliError ? context.error.context : undefined;\n const enrichedContext = buildPmCliRecoveryContext(rawContext, context.invocationArgv, errorMessage);\n const classification = classifyPmCliError(errorMessage, enrichedContext);\n const renderedError = context.jsonErrors\n ? JSON.stringify(formatPmCliErrorForJson(errorMessage, exitCode, enrichedContext), null, 2)\n : formatPmCliErrorForDisplay(errorMessage, enrichedContext);\n printError(renderedError);\n const { errorCategory, commandResolution } = await context.emitTelemetryCommandError({\n command: context.attemptedCommand,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode,\n options: {\n bootstrap_global_options: context.bootstrapGlobal,\n },\n resolutionStage: \"execute\",\n });\n const loggedHandledErrorToSentry = await maybeLogHandledCliErrorToSentry({\n command: context.attemptedCommand,\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: exitCode,\n error_message: classification.detail,\n command_resolution: commandResolution,\n resolution_stage: \"execute\",\n source_context: activeTelemetryCommandContext?.source_context,\n });\n await finishRunPmCliFailure({\n errorMessage,\n exitCode,\n classificationCode: classification.code,\n errorCategory,\n commandResolution,\n resolutionStage: \"execute\",\n });\n if (loggedHandledErrorToSentry) {\n sentryCaptureCliError(wrapThrownErrorForSentry(context.error, errorMessage));\n await sentryFlush(HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS);\n }\n process.exitCode = exitCode;\n return true;\n}\n\nfunction resolveUnknownHelpToken(invocationArgv: string[]): string {\n const helpRequest = parseBootstrapHelpRequest(invocationArgv);\n return helpRequest.commandPathTokens[0] ?? parseBootstrapCommandName(invocationArgv) ?? \"<command>\";\n}\n\nasync function handleUnknownHelpCommandError(context: RunPmCliErrorContext, code: string | undefined): Promise<void> {\n const unknownToken = resolveUnknownHelpToken(context.invocationArgv);\n const unknownMessage = `unknown command '${unknownToken}'`;\n const recoveryCommandDescriptors = await loadRuntimeExtensionCommandDescriptorsForRecovery(\n resolvePmRoot(process.cwd(), context.bootstrapGlobal.path),\n );\n const usageContext = await resolveCommanderUsageContext(\n { message: unknownMessage },\n program,\n recoveryCommandDescriptors,\n );\n const classification = classifyCommanderError(\n usageContext.message,\n usageContext.commandName,\n usageContext.allowedTypes,\n {\n unknownCommandExamples: usageContext.unknownCommandExamples,\n unknownCommandNextSteps: usageContext.unknownCommandNextSteps,\n attemptedCommand: usageContext.attemptedCommand,\n normalizedInvocationArgs: usageContext.normalizedInvocationArgs,\n providedOptionFlags: usageContext.providedOptionFlags,\n unknownOptionSuggestions: usageContext.unknownOptionSuggestions,\n suggestedRetryCommand: usageContext.suggestedRetryCommand,\n },\n );\n const { errorCategory, commandResolution } = await context.emitTelemetryCommandError({\n command: unknownToken,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode: EXIT_CODE.USAGE,\n options: {\n bootstrap_global_options: context.bootstrapGlobal,\n commander_code: code ?? \"commander.helpDisplayed\",\n },\n resolutionStage: \"parse\",\n });\n const loggedHandledErrorToSentry = await maybeLogHandledCliErrorToSentry({\n command: unknownToken,\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: EXIT_CODE.USAGE,\n error_message: classification.detail,\n command_resolution: commandResolution,\n resolution_stage: \"parse\",\n source_context: activeTelemetryCommandContext?.source_context,\n });\n const renderedUsage = context.jsonErrors\n ? await formatCommanderUsageJson({ message: unknownMessage }, program, recoveryCommandDescriptors)\n : await formatCommanderUsageMessage({ message: unknownMessage }, program, recoveryCommandDescriptors);\n await finishRunPmCliFailure({\n errorMessage: unknownMessage,\n exitCode: EXIT_CODE.USAGE,\n classificationCode: classification.code,\n errorCategory,\n commandResolution,\n resolutionStage: \"parse\",\n });\n printError(renderedUsage);\n if (loggedHandledErrorToSentry) {\n await sentryFlush(HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS);\n }\n process.exitCode = EXIT_CODE.USAGE;\n}\n\nasync function handleRunPmCliHelpDisplayError(context: RunPmCliErrorContext, code: string | undefined, rawMessage: string): Promise<boolean> {\n const isHelpDisplayCode =\n code === \"commander.helpDisplayed\" || code === \"commander.help\" || code === \"commander.helpCommand\";\n if (!isHelpDisplayCode && !rawMessage.includes(\"(outputHelp)\")) {\n return false;\n }\n const helpRequest = parseBootstrapHelpRequest(context.invocationArgv);\n if (helpRequest.requested && !isKnownHelpCommandPath(program, helpRequest.commandPathTokens)) {\n await handleUnknownHelpCommandError(context, code);\n return true;\n }\n await finishRunPmCliSuccessParse();\n return true;\n}\n\nasync function handleRunPmCliCommanderUsageError(context: RunPmCliErrorContext, code: string): Promise<void> {\n const usageContext = await resolveCommanderUsageContext(context.error, program, activeRuntimeExtensionCommandDescriptors);\n const classification = classifyCommanderError(\n usageContext.message,\n usageContext.commandName,\n usageContext.allowedTypes,\n {\n unknownCommandExamples: usageContext.unknownCommandExamples,\n unknownCommandNextSteps: usageContext.unknownCommandNextSteps,\n attemptedCommand: usageContext.attemptedCommand,\n normalizedInvocationArgs: usageContext.normalizedInvocationArgs,\n providedOptionFlags: usageContext.providedOptionFlags,\n unknownOptionSuggestions: usageContext.unknownOptionSuggestions,\n suggestedRetryCommand: usageContext.suggestedRetryCommand,\n },\n );\n const { errorCategory, commandResolution } = await context.emitTelemetryCommandError({\n command: context.attemptedCommand,\n errorCode: classification.code,\n errorMessage: classification.detail,\n exitCode: EXIT_CODE.USAGE,\n options: {\n bootstrap_global_options: context.bootstrapGlobal,\n commander_code: code,\n },\n resolutionStage: \"parse\",\n });\n const loggedHandledErrorToSentry = await maybeLogHandledCliErrorToSentry({\n command: context.attemptedCommand,\n error_code: classification.code,\n error_category: errorCategory,\n exit_code: EXIT_CODE.USAGE,\n error_message: classification.detail,\n command_resolution: commandResolution,\n resolution_stage: \"parse\",\n source_context: activeTelemetryCommandContext?.source_context,\n });\n const renderedUsage = context.jsonErrors\n ? await formatCommanderUsageJson(context.error, program, activeRuntimeExtensionCommandDescriptors)\n : await formatCommanderUsageMessage(context.error, program, activeRuntimeExtensionCommandDescriptors);\n await finishRunPmCliFailure({\n errorMessage: usageContext.message,\n exitCode: EXIT_CODE.USAGE,\n classificationCode: classification.code,\n errorCategory,\n commandResolution,\n resolutionStage: \"parse\",\n });\n printError(renderedUsage);\n if (loggedHandledErrorToSentry) {\n await sentryFlush(HANDLED_ERROR_SENTRY_FLUSH_TIMEOUT_MS);\n }\n process.exitCode = EXIT_CODE.USAGE;\n}\n\nfunction shouldHandleRunPmCliCommanderError(error: unknown): boolean {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n const code = (error as { code?: unknown }).code;\n if (typeof code === \"string\" && (code === \"commander.version\" || code.startsWith(\"commander.\"))) {\n return true;\n }\n const rawMessage = String((error as { message?: unknown }).message ?? \"\");\n return rawMessage.includes(\"(outputHelp)\");\n}\n\nasync function handleRunPmCliCommanderError(context: RunPmCliErrorContext): Promise<void> {\n const code = (context.error as { code?: string }).code;\n const rawMessage = String((context.error as { message?: unknown }).message ?? \"\");\n if (await handleRunPmCliHelpDisplayError(context, code, rawMessage)) {\n return;\n }\n if (code === \"commander.version\") {\n await finishRunPmCliSuccessParse();\n return;\n }\n await handleRunPmCliCommanderUsageError(context, code as string);\n}\n\nasync function handleRunPmCliError(params: {\n error: unknown;\n invocationArgv: string[];\n}): Promise<void> {\n const bootstrapGlobal = parseBootstrapGlobalOptions(params.invocationArgv);\n const bootstrapPmRoot = resolvePmRoot(process.cwd(), bootstrapGlobal.path);\n const context: RunPmCliErrorContext = {\n error: params.error,\n invocationArgv: params.invocationArgv,\n bootstrapGlobal,\n jsonErrors: bootstrapGlobal.json,\n bootstrapPmRoot,\n attemptedCommand: parseBootstrapCommandName(params.invocationArgv) ?? \"<unknown>\",\n emitTelemetryCommandError: createTelemetryCommandErrorEmitter({\n invocationArgv: params.invocationArgv,\n bootstrapGlobal,\n bootstrapPmRoot,\n }),\n };\n await prepareExtensionServicesForRunPmCliError({\n invocationArgv: params.invocationArgv,\n bootstrapGlobal,\n bootstrapPmRoot,\n });\n if (await handleRunPmCliKnownError(context, readThrownExitCode(params.error))) {\n return;\n }\n if (shouldHandleRunPmCliCommanderError(params.error)) {\n await handleRunPmCliCommanderError(context);\n return;\n }\n await handleGenericRunPmCliError({\n error: params.error,\n attemptedCommand: context.attemptedCommand,\n bootstrapGlobal,\n emitTelemetryCommandError: context.emitTelemetryCommandError,\n });\n}\n\n/**\n * Implements run pm cli for the public runtime surface of this module.\n */\nexport async function runPmCli(rawArgv: string[] = process.argv.slice(2)): Promise<void> {\n const bootstrapInvocation = normalizeBootstrapInvocation(rawArgv);\n const invocationArgv = bootstrapInvocation.argv;\n const invocationProcessArgv = [process.argv[0], process.argv[1], ...invocationArgv];\n const isBareInvocation = invocationArgv.length === 0;\n try {\n enforceExplicitRetryForFlagTypos(bootstrapInvocation);\n applyBootstrapPagerPolicy(invocationArgv);\n const registrationSelection =\n resolveCoreCommandRegistrationSelection(invocationArgv);\n await registerCoreCommandFamilies(program, registrationSelection);\n if (shouldAttachRichHelpTextForInvocation(invocationArgv)) {\n attachRichHelpText(program, invocationArgv);\n }\n const registerDynamicCommands = shouldRegisterDynamicExtensionPaths(program, invocationArgv);\n if (registerDynamicCommands) {\n await registerDynamicExtensionCommandPaths(program, invocationArgv);\n } else {\n activeRuntimeExtensionCommandDescriptors = new Map<string, ExtensionCommandHelpDescriptor>();\n setActiveExtensionServices({ overrides: [] });\n }\n if (shouldRegisterRuntimeSchemaFlags(invocationArgv)) {\n await registerRuntimeSchemaFieldFlags(program, invocationArgv);\n }\n wrapProgramActionsForExtensionHandlers(program);\n const renderedBootstrapJsonHelp = await maybeRenderBootstrapJsonHelp(program, invocationArgv, activeRuntimeExtensionCommandDescriptors);\n if (renderedBootstrapJsonHelp) {\n return;\n }\n if (isBareInvocation) {\n program.outputHelp();\n return;\n }\n await program.parseAsync(invocationProcessArgv);\n } catch (error: unknown) {\n await handleRunPmCliError({ error, invocationArgv });\n }\n}\n\nexport const _testOnly = {\n activationCommandMatchesProbe,\n bootstrapProfileEnabled,\n buildBootstrapActivationProbe,\n buildPostActionTelemetryOutcome,\n buildPmCliRecoveryContext,\n buildRuntimeExtensionDiscoverySnapshotCacheKey,\n buildRuntimeExtensionActivationScope,\n buildRuntimeExtensionSnapshotCacheKey,\n buildRuntimeExtensionFilterForProbe,\n addRuntimeFieldOption,\n collectActivationCommandCandidates,\n collectExtensionFlagDefinitionsForCommand,\n collectExtensionFlagDefinitionsForInvocation,\n collectLeadingCommandArgs,\n collectParsedActivationCommandArgs,\n collectRuntimeFieldLooseFlagDefinitionsForCommand,\n commandHasLongOption,\n commandHasShortOption,\n commandPathNeedsSearchExtensions,\n commandPathNeedsTemplateExtensions,\n describeUnknownError,\n defaultPreflightDecision,\n discoveryNeedsActivationForProbe,\n emitExtensionProfile,\n emitExtensionSkippedProfile,\n emitSettingsReadWarnings,\n ensureIdempotentTopLevelCommandRegistration,\n enforceExplicitRetryForFlagTypos,\n envFlagEnabled,\n executeRegisteredRuntimeMigrations,\n extractCommandScopedOptions,\n extensionActivationCommands,\n extensionCapabilities,\n extensionNeedsActivationForProbe,\n extensionProvidesTemplatesRuntime,\n hasAnyCapability,\n handleGenericRunPmCliError,\n handleRunPmCliCommanderError,\n handleRunPmCliError,\n handleRunPmCliHelpDisplayError,\n handleRunPmCliKnownError,\n handleRunPmCliCommanderUsageError,\n handleUnknownHelpCommandError,\n inferMissingFieldsFromErrorMessage,\n inferPostActionErrorCode,\n inferPostActionFailureMessage,\n invocationRequestsVersion,\n isCommanderError,\n loadRuntimeExtensionCommandDescriptorsForRecovery,\n loadRuntimeExtensionDiscoverySnapshot,\n loadRuntimeExtensionSnapshot,\n maybeLoadRuntimeExtensions,\n maybeAttachCreateUpdatePolicyHelpText,\n maybeLogHandledCliErrorToSentry,\n normalizeTelemetryCommandResolution,\n normalizeTelemetryErrorCategory,\n normalizeTelemetryResolutionStage,\n normalizeThrownExitCode,\n probeUsesAnyFlag,\n prepareExtensionServicesForRunPmCliError,\n readRecordBoolean,\n readRecordNumber,\n readRecordString,\n registerDynamicExtensionCommandPaths,\n registerRuntimeSchemaFieldFlags,\n resolveCoreCommandRegistrationSelection,\n resolveUnknownHelpToken,\n readThrownExitCode,\n runAndClearAfterCommandHooks,\n runRequiredExtensionCommand,\n shouldAttachRichHelpTextForInvocation,\n shouldLogHandledErrorToSentry,\n shouldRegisterDynamicExtensionPaths,\n shouldRegisterRuntimeSchemaFlags,\n shouldHandleRunPmCliCommanderError,\n setActiveExtensionHookContextForTest,\n setActiveRuntimeExtensionCommandDescriptorsForTest,\n setRecoveredExtensionServices,\n toLooseFieldDefinitionType,\n isImporterOrExporterCommandPath,\n validateDynamicExtensionCommandInvocation,\n wrapProgramActionsForExtensionHandlers,\n wrapThrownErrorForSentry,\n};\n"],"names":[],"mappings":"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","debugId":"00190dcf-504a-528b-906c-5eeb9a11ce9c"}
|