@unbrained/pm-cli 2026.7.3 → 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 +36 -0
- package/CONTRIBUTING.md +36 -7
- package/README.md +1 -9
- package/dist/cli/commands/calendar.d.ts +3 -2
- package/dist/cli/commands/calendar.js +5 -5
- 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/completion.js +231 -345
- package/dist/cli/commands/completion.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 +9 -59
- package/dist/cli/commands/create.js +162 -132
- 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 +59 -133
- 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/files.js +3 -3
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/history-compact.js +9 -18
- package/dist/cli/commands/history-compact.js.map +1 -1
- package/dist/cli/commands/history-repair.js +9 -19
- package/dist/cli/commands/history-repair.js.map +1 -1
- package/dist/cli/commands/init-agent-guidance.js +133 -97
- package/dist/cli/commands/init-agent-guidance.js.map +1 -1
- package/dist/cli/commands/init.js +3 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/item-filter-options.d.ts +2 -0
- package/dist/cli/commands/item-filter-options.js +2 -2
- package/dist/cli/commands/item-filter-options.js.map +1 -1
- package/dist/cli/commands/mutation-command-options.d.ts +78 -0
- package/dist/cli/commands/mutation-command-options.js +10 -0
- package/dist/cli/commands/mutation-command-options.js.map +1 -0
- package/dist/cli/commands/profile.js +3 -3
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/reindex.js +4 -4
- 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/shared-unset-fields.d.ts +19 -0
- package/dist/cli/commands/shared-unset-fields.js +31 -2
- package/dist/cli/commands/shared-unset-fields.js.map +1 -1
- package/dist/cli/commands/update.d.ts +2 -59
- package/dist/cli/commands/update.js +29 -98
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +4 -4
- package/dist/cli/commands/validate.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/register-list-query.js +4 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/registration-helpers.js +12 -6
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +18 -0
- package/dist/cli-bundle/chunks/{activity-5YWLSPGE.js → activity-YKAKZTZ4.js} +11 -9
- package/dist/cli-bundle/chunks/{aggregate-2V2M3JZU.js → aggregate-EQX2RGB7.js} +16 -13
- package/dist/cli-bundle/chunks/{aggregate-2V2M3JZU.js.map → aggregate-EQX2RGB7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{aggregate-EK7DXML7.js → aggregate-PEGZGJXD.js} +18 -15
- package/dist/cli-bundle/chunks/{aggregate-EK7DXML7.js.map → aggregate-PEGZGJXD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{append-EZESUVJT.js → append-CZGUZ45Q.js} +11 -8
- package/dist/cli-bundle/chunks/{append-EZESUVJT.js.map → append-CZGUZ45Q.js.map} +1 -1
- package/dist/cli-bundle/chunks/{append-JFG4WQMG.js → append-NSQBCXZJ.js} +13 -10
- package/dist/cli-bundle/chunks/{append-JFG4WQMG.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-NOIEVOK5.js → chunk-3PL6LEKP.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-NOIEVOK5.js.map → chunk-3PL6LEKP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-6KRFL33E.js → chunk-3U3VEWK6.js} +277 -119
- package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Z5F6XZXE.js → chunk-3Y4OESPP.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-Z5F6XZXE.js.map → chunk-3Y4OESPP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-HB4FAT3O.js → chunk-4LRVSBO6.js} +21 -15
- package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-T3P7PMZP.js → chunk-4OFLJHX6.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-T3P7PMZP.js.map → chunk-4OFLJHX6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-JPATY4SE.js → chunk-4QQ6PM7M.js} +45 -557
- package/dist/cli-bundle/chunks/chunk-4QQ6PM7M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6CDCWKSX.js → chunk-53BTLLAF.js} +68 -331
- package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4WB6S4YX.js → chunk-57C2RLW5.js} +277 -112
- package/dist/cli-bundle/chunks/chunk-57C2RLW5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PULUSQAV.js → chunk-5B3X4Y22.js} +52 -63
- package/dist/cli-bundle/chunks/{chunk-PULUSQAV.js.map → chunk-5B3X4Y22.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7LYO6S5A.js → chunk-5J2XPTAD.js} +10 -8
- package/dist/cli-bundle/chunks/{chunk-7LYO6S5A.js.map → chunk-5J2XPTAD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-QCDTQCMW.js → chunk-5JE6SMYS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MHRS5FUX.js → chunk-5JZ7APJU.js} +153 -108
- package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KHVGM5CS.js → chunk-5VVUKE3U.js} +544 -2368
- package/dist/cli-bundle/chunks/chunk-5VVUKE3U.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RJH5VQHW.js → chunk-75U6M5ZD.js} +22 -16
- package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js.map +1 -0
- 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-ZFTKYWIF.js → chunk-7EQNAZX2.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-ZFTKYWIF.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-ERG65A2L.js → chunk-7MDXZAZS.js} +29 -7
- package/dist/cli-bundle/chunks/chunk-7MDXZAZS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OGLGI22K.js → chunk-7QH7DHUB.js} +74 -8
- package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JBZ2NTKX.js → chunk-7WYXBPYQ.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-JBZ2NTKX.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-K5DT2YKM.js → chunk-ABRA3BHY.js} +18 -16
- package/dist/cli-bundle/chunks/{chunk-K5DT2YKM.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-7CLLC75T.js → chunk-BFVHCAOO.js} +9 -7
- package/dist/cli-bundle/chunks/{chunk-7CLLC75T.js.map → chunk-BFVHCAOO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MDHWWBNZ.js → chunk-BVEUCSH2.js} +6 -4
- package/dist/cli-bundle/chunks/{chunk-MDHWWBNZ.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-T4XBKJ3F.js → chunk-D3UCE7RW.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-T4XBKJ3F.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-AJHYQCBJ.js → chunk-DRBV5UC2.js} +8 -23
- package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-NZ7QIUP5.js → chunk-E2FUG6GD.js} +67 -351
- package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4PFVUUYV.js → chunk-EEY54JMF.js} +5 -3
- package/dist/cli-bundle/chunks/{chunk-4PFVUUYV.js.map → chunk-EEY54JMF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-3W2HJKJX.js → chunk-EZFKWSC7.js} +94 -16
- package/dist/cli-bundle/chunks/{chunk-3W2HJKJX.js.map → chunk-EZFKWSC7.js.map} +4 -4
- package/dist/cli-bundle/chunks/{chunk-F6WNBITZ.js → chunk-FDBARR33.js} +40 -19
- package/dist/cli-bundle/chunks/{chunk-F6WNBITZ.js.map → chunk-FDBARR33.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WRYERRZX.js → chunk-FGQKEDE4.js} +36 -12
- package/dist/cli-bundle/chunks/chunk-FGQKEDE4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-CXR3CMBQ.js → chunk-FJRKQREY.js} +10 -18
- package/dist/cli-bundle/chunks/chunk-FJRKQREY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QNNQAAZ5.js → chunk-FUM6UMY4.js} +10 -11
- package/dist/cli-bundle/chunks/{chunk-QNNQAAZ5.js.map → chunk-FUM6UMY4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-TQ6AX5SQ.js → chunk-GIWXVMZ3.js} +140 -334
- package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FZJM2TXF.js → chunk-HBYZDSK5.js} +19 -17
- package/dist/cli-bundle/chunks/{chunk-FZJM2TXF.js.map → chunk-HBYZDSK5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-5IZUBZBR.js → chunk-HJE4JTKQ.js} +6 -4
- package/dist/cli-bundle/chunks/{chunk-5IZUBZBR.js.map → chunk-HJE4JTKQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-YSDFIY7N.js → chunk-HK72NWAD.js} +89 -18
- package/dist/cli-bundle/chunks/chunk-HK72NWAD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LBE5QFMZ.js → chunk-IJ6CO3JV.js} +41 -20
- package/dist/cli-bundle/chunks/{chunk-LBE5QFMZ.js.map → chunk-IJ6CO3JV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-YF746GTH.js → chunk-JFCVQXZX.js} +139 -326
- package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-A3OQ7TFW.js → chunk-JLA7EVYV.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-A3OQ7TFW.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-32IUNTG4.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-BI4R7HI2.js → chunk-KLG4ZULO.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-BI4R7HI2.js.map → chunk-KLG4ZULO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-XRYSCRZR.js → chunk-LEKT4K7I.js} +74 -8
- package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-X74F2GSM.js → chunk-MNZ7DRNC.js} +13 -10
- package/dist/cli-bundle/chunks/{contracts-X74F2GSM.js.map → chunk-MNZ7DRNC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4EXFFP7T.js → chunk-MTTXDAK4.js} +206 -147
- package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KEZOIPCR.js → chunk-MZ7VNEVY.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-KEZOIPCR.js.map → chunk-MZ7VNEVY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-5JIWFWOZ.js → chunk-N6DNM2FA.js} +2 -2
- package/dist/cli-bundle/chunks/{test-runs-QIR5MJPL.js → chunk-N7X4WP6L.js} +11 -8
- package/dist/cli-bundle/chunks/{test-runs-QIR5MJPL.js.map → chunk-N7X4WP6L.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-U3S2B7TA.js → chunk-NBFCNJ7Q.js} +206 -147
- package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GVJE5T7Q.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-YPWUSH72.js → chunk-OESSOFJ4.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-YPWUSH72.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-FUFFPIYA.js → chunk-OWTIRHX4.js} +28 -6
- package/dist/cli-bundle/chunks/chunk-OWTIRHX4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Z7RPDF2Y.js → chunk-P3VRG72Q.js} +10 -8
- package/dist/cli-bundle/chunks/{chunk-Z7RPDF2Y.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-MEZZZBYX.js → chunk-PDXT6Q55.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EJ2OCBHF.js → chunk-PJ3A56YF.js} +46 -537
- package/dist/cli-bundle/chunks/chunk-PJ3A56YF.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-MG5VIGSK.js → chunk-PPAJG4GB.js} +13 -10
- package/dist/cli-bundle/chunks/{test-runs-MG5VIGSK.js.map → chunk-PPAJG4GB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-572FKBRL.js → chunk-PPE4YUQM.js} +1725 -1663
- package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ER4ME5U2.js → chunk-QHZO65XW.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-ER4ME5U2.js.map → chunk-QHZO65XW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-T6AXEBOP.js → chunk-R3ZBLGTC.js} +9 -10
- package/dist/cli-bundle/chunks/{chunk-T6AXEBOP.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-YVKZ3ANP.js → chunk-RX3HQSYG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-LOWVNZBZ.js → chunk-S4APD35C.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-FH2H3CBD.js → chunk-S5AYOUT5.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-FH2H3CBD.js.map → chunk-S5AYOUT5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SYE6WMV6.js → chunk-STPSZ2XY.js} +19 -744
- package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-6NYJGMTY.js → chunk-T35XLYZF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-P5L7Z2O6.js → chunk-T3ABIMGW.js} +5 -3
- package/dist/cli-bundle/chunks/{chunk-P5L7Z2O6.js.map → chunk-T3ABIMGW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SU2E4AWU.js → chunk-T3F4DF23.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-SU2E4AWU.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-ECU6MMTQ.js → chunk-TSPKZRRW.js} +50 -116
- package/dist/cli-bundle/chunks/chunk-TSPKZRRW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-BE2SR6QL.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-RAHINBVP.js → chunk-UI5BJ6DO.js} +1339 -1277
- 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-L6ODXNUM.js → chunk-VZIYHZDX.js} +11 -8
- package/dist/cli-bundle/chunks/{contracts-L6ODXNUM.js.map → chunk-VZIYHZDX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-U5TR4N7J.js → chunk-WISPVC2E.js} +9 -7
- package/dist/cli-bundle/chunks/{chunk-U5TR4N7J.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-HQAF23Q2.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-L4SLHV6G.js → chunk-YD5FML7K.js} +464 -2239
- package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YSGTMDWC.js → chunk-YFIE7YK6.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-YSGTMDWC.js.map → chunk-YFIE7YK6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-WYOIIFSE.js → chunk-YMABYTNG.js} +49 -115
- package/dist/cli-bundle/chunks/chunk-YMABYTNG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SU3TB4NS.js → chunk-YOF5VPKM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WJA3PXW7.js → chunk-YPPVU5GX.js} +11 -9
- package/dist/cli-bundle/chunks/{chunk-WJA3PXW7.js.map → chunk-YPPVU5GX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-GUYNUXQT.js → chunk-YQMMMONE.js} +6 -4
- package/dist/cli-bundle/chunks/{chunk-GUYNUXQT.js.map → chunk-YQMMMONE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-AIKU3IIL.js → chunk-YSAH5FY5.js} +16 -14
- package/dist/cli-bundle/chunks/{chunk-AIKU3IIL.js.map → chunk-YSAH5FY5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-KS6ATO47.js → chunk-YZIR4R3U.js} +153 -108
- package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-LCWQP6NM.js → chunk-Z2CRRZYF.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-LCWQP6NM.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-UMNQZS4H.js → chunk-ZCJAA3JK.js} +8 -6
- package/dist/cli-bundle/chunks/{chunk-UMNQZS4H.js.map → chunk-ZCJAA3JK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-EQURFOMH.js → chunk-ZD34OFFQ.js} +5 -3
- package/dist/cli-bundle/chunks/{chunk-EQURFOMH.js.map → chunk-ZD34OFFQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-67LARBDL.js → chunk-ZJB3UV5U.js} +54 -58
- package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5E7N4T2Z.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-5GU7OE67.js → claim-4DROPSIS.js} +30 -13
- package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-2BGBGSVI.js → claim-VX54TV5U.js} +29 -12
- package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +7 -0
- package/dist/cli-bundle/chunks/{close-AFVKPR57.js → close-3YRR3XY6.js} +9 -7
- package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +16 -0
- package/dist/cli-bundle/chunks/{close-many-JKUJMHLG.js → close-many-AP4MWU36.js} +21 -18
- package/dist/cli-bundle/chunks/{close-many-JKUJMHLG.js.map → close-many-AP4MWU36.js.map} +1 -1
- package/dist/cli-bundle/chunks/{close-many-7KLOSYLP.js → close-many-OMZIGZB4.js} +19 -16
- package/dist/cli-bundle/chunks/{close-many-7KLOSYLP.js.map → close-many-OMZIGZB4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-DNWHEBOS.js → comments-MIW5MZOX.js} +12 -9
- package/dist/cli-bundle/chunks/{comments-DNWHEBOS.js.map → comments-MIW5MZOX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-RW23R3VE.js → comments-SAG5LSKL.js} +14 -11
- package/dist/cli-bundle/chunks/{comments-RW23R3VE.js.map → comments-SAG5LSKL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{config-AUM5WBYA.js → config-DJJKZB5R.js} +20 -17
- package/dist/cli-bundle/chunks/{config-AUM5WBYA.js.map → config-DJJKZB5R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{config-OZWSA2NP.js → config-V57QD47V.js} +22 -19
- package/dist/cli-bundle/chunks/{config-OZWSA2NP.js.map → config-V57QD47V.js.map} +1 -1
- package/dist/cli-bundle/chunks/{context-PKCEHQY3.js → context-4OQGIPSO.js} +15 -12
- package/dist/cli-bundle/chunks/{context-OYXRGY7S.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-I4NCLBR4.js → copy-LEE6P6EM.js} +17 -14
- package/dist/cli-bundle/chunks/{copy-I4NCLBR4.js.map → copy-LEE6P6EM.js.map} +2 -2
- package/dist/cli-bundle/chunks/{copy-6XOR3HKN.js → copy-OTJOWFL6.js} +18 -15
- package/dist/cli-bundle/chunks/{copy-6XOR3HKN.js.map → copy-OTJOWFL6.js.map} +1 -1
- package/dist/cli-bundle/chunks/create-WKOZKPQR.js +30 -0
- package/dist/cli-bundle/chunks/{create-PM45M6PE.js → create-XWWQFQ6S.js} +14 -12
- package/dist/cli-bundle/chunks/{delete-7YXHYG67.js → delete-62JQTYT4.js} +10 -7
- package/dist/cli-bundle/chunks/{delete-7YXHYG67.js.map → delete-62JQTYT4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{delete-LPISP43T.js → delete-HQKGRNRZ.js} +12 -9
- package/dist/cli-bundle/chunks/{delete-LPISP43T.js.map → delete-HQKGRNRZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-WATKQDE3.js → deps-55FTG6Z5.js} +12 -9
- package/dist/cli-bundle/chunks/{deps-WATKQDE3.js.map → deps-55FTG6Z5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-N2T26FME.js → deps-L2FPIAD3.js} +10 -7
- package/dist/cli-bundle/chunks/{deps-N2T26FME.js.map → deps-L2FPIAD3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-6LQ3GLM7.js → docs-6CRCSVKK.js} +11 -9
- package/dist/cli-bundle/chunks/{docs-6LQ3GLM7.js.map → docs-6CRCSVKK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-Z3X6JZLT.js → docs-S6UTOTO5.js} +9 -7
- package/dist/cli-bundle/chunks/{docs-Z3X6JZLT.js.map → docs-S6UTOTO5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{eval-6DCLG52D.js → eval-N6UHFWVO.js} +15 -11
- package/dist/cli-bundle/chunks/{eval-6DCLG52D.js.map → eval-N6UHFWVO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{eval-Y3ZCUTHK.js → eval-PHOTWYHI.js} +17 -13
- package/dist/cli-bundle/chunks/{eval-Y3ZCUTHK.js.map → eval-PHOTWYHI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{extension-BNINIMT7.js → extension-NBAH62ML.js} +17 -11
- package/dist/cli-bundle/chunks/{extension-QWE4YYK5.js → extension-ZF6ZZPOU.js} +17 -11
- package/dist/cli-bundle/chunks/{files-FUYPSOFJ.js → files-6P57MRKL.js} +14 -11
- package/dist/cli-bundle/chunks/files-6P57MRKL.js.map +7 -0
- package/dist/cli-bundle/chunks/{files-6SGKHS6O.js → files-JPU3FNJ7.js} +15 -12
- package/dist/cli-bundle/chunks/files-JPU3FNJ7.js.map +1 -0
- package/dist/cli-bundle/chunks/{focus-2Q3K76G2.js → focus-LFZ6IDBR.js} +15 -11
- package/dist/cli-bundle/chunks/{focus-2Q3K76G2.js.map → focus-LFZ6IDBR.js.map} +1 -1
- package/dist/cli-bundle/chunks/{focus-ATLBWXXD.js → focus-WNMYCVYA.js} +13 -9
- package/dist/cli-bundle/chunks/{focus-ATLBWXXD.js.map → focus-WNMYCVYA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{gc-RUYEMNRF.js → gc-AETFKZ44.js} +10 -7
- package/dist/cli-bundle/chunks/{gc-RUYEMNRF.js.map → gc-AETFKZ44.js.map} +1 -1
- package/dist/cli-bundle/chunks/{gc-TDWSDR66.js → gc-RLBP4QVN.js} +12 -9
- package/dist/cli-bundle/chunks/{gc-TDWSDR66.js.map → gc-RLBP4QVN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{get-LY6M2JIM.js → get-NH2MPBCI.js} +18 -15
- package/dist/cli-bundle/chunks/{get-LY6M2JIM.js.map → get-NH2MPBCI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{get-2WGLX74N.js → get-P4ZQXCPZ.js} +16 -13
- package/dist/cli-bundle/chunks/{get-2WGLX74N.js.map → get-P4ZQXCPZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-4RKHYS3T.js → health-3GVPMQBL.js} +36 -29
- package/dist/cli-bundle/chunks/{health-4RKHYS3T.js.map → health-3GVPMQBL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-TMFVNYRA.js → health-DNTM72GJ.js} +34 -27
- package/dist/cli-bundle/chunks/{health-TMFVNYRA.js.map → health-DNTM72GJ.js.map} +1 -1
- package/dist/cli-bundle/chunks/history-RYKLC72X.js +20 -0
- package/dist/cli-bundle/chunks/{history-SGRRS72R.js → history-SGPYRAFT.js} +10 -8
- package/dist/cli-bundle/chunks/{history-compact-LOED43R3.js → history-compact-3F6VELO7.js} +26 -30
- package/dist/cli-bundle/chunks/history-compact-3F6VELO7.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-compact-V5DNAQHH.js → history-compact-656Y2TN4.js} +27 -31
- package/dist/cli-bundle/chunks/history-compact-656Y2TN4.js.map +1 -0
- package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-IRL7WJ3E.js → history-redact-54ICFKXM.js} +11 -9
- package/dist/cli-bundle/chunks/{history-repair-PGYQJMGD.js → history-repair-4N6SDVHK.js} +25 -30
- package/dist/cli-bundle/chunks/history-repair-4N6SDVHK.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-repair-4WVBVHFR.js → history-repair-EVTO6LIH.js} +26 -31
- package/dist/cli-bundle/chunks/history-repair-EVTO6LIH.js.map +1 -0
- 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-4FJY7WIW.js → learnings-2HTPZNGZ.js} +10 -8
- package/dist/cli-bundle/chunks/{learnings-4FJY7WIW.js.map → learnings-2HTPZNGZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{learnings-4BHWFFUV.js → learnings-YBIHY3D6.js} +12 -10
- package/dist/cli-bundle/chunks/{learnings-4BHWFFUV.js.map → learnings-YBIHY3D6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{list-472TIOVK.js → list-64LHZ3HM.js} +10 -8
- package/dist/cli-bundle/chunks/{list-D7BF5CL2.js → list-7LXBTEKI.js} +10 -8
- package/dist/cli-bundle/chunks/{next-SFQZVX2B.js → next-7ODPAQ4U.js} +22 -18
- package/dist/cli-bundle/chunks/{next-SFQZVX2B.js.map → next-7ODPAQ4U.js.map} +1 -1
- package/dist/cli-bundle/chunks/{next-D5STGWI2.js → next-ODJUM4ZM.js} +24 -20
- package/dist/cli-bundle/chunks/{next-D5STGWI2.js.map → next-ODJUM4ZM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{notes-6KNOSLIT.js → notes-72YXN5JX.js} +10 -8
- package/dist/cli-bundle/chunks/{notes-6KNOSLIT.js.map → notes-72YXN5JX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{notes-W4UEICGF.js → notes-NJ7IQJX4.js} +12 -10
- package/dist/cli-bundle/chunks/{notes-W4UEICGF.js.map → notes-NJ7IQJX4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{plan-MJQW5XK3.js → plan-R4NDQ27E.js} +18 -15
- package/dist/cli-bundle/chunks/{plan-MJQW5XK3.js.map → plan-R4NDQ27E.js.map} +1 -1
- package/dist/cli-bundle/chunks/{plan-JO6V7BXO.js → plan-XWY5T67S.js} +20 -17
- package/dist/cli-bundle/chunks/{plan-JO6V7BXO.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-ELBHCCFI.js → register-list-query-5H66WFYF.js} +24 -21
- package/dist/cli-bundle/chunks/register-list-query-5H66WFYF.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-GAPQ6DM3.js → register-list-query-FB3FNDLZ.js} +25 -22
- package/dist/cli-bundle/chunks/{register-list-query-ELBHCCFI.js.map → register-list-query-FB3FNDLZ.js.map} +1 -7
- package/dist/cli-bundle/chunks/{register-mutation-SJWMVIJ2.js → register-mutation-UJO23C7R.js} +42 -39
- package/dist/cli-bundle/chunks/{register-mutation-SJWMVIJ2.js.map → register-mutation-UJO23C7R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-mutation-ROFE2YPC.js → register-mutation-Z2ETYHKS.js} +40 -37
- package/dist/cli-bundle/chunks/{register-mutation-ROFE2YPC.js.map → register-mutation-Z2ETYHKS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-MEKU3AKC.js → register-operations-A3XAM5J7.js} +39 -36
- package/dist/cli-bundle/chunks/{register-operations-MEKU3AKC.js.map → register-operations-A3XAM5J7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-IADFVH53.js → register-operations-SG7HBSUP.js} +37 -34
- package/dist/cli-bundle/chunks/{register-operations-IADFVH53.js.map → register-operations-SG7HBSUP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-AJWUSSQX.js → register-setup-I45OGJUV.js} +25 -19
- package/dist/cli-bundle/chunks/{register-setup-AJWUSSQX.js.map → register-setup-I45OGJUV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-3QJY43CY.js → register-setup-K6U3NVY5.js} +23 -17
- package/dist/cli-bundle/chunks/{register-setup-3QJY43CY.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-44IHMMZZ.js → restore-YJ2ET6AT.js} +11 -9
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-TSBK4AY5.js → scheduling-shortcuts-SSC4MYWQ.js} +14 -12
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-TSBK4AY5.js.map → scheduling-shortcuts-SSC4MYWQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-OLHNLAZY.js → scheduling-shortcuts-ULRG7MNP.js} +16 -14
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-OLHNLAZY.js.map → scheduling-shortcuts-ULRG7MNP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{schema-VBCELP5G.js → schema-2PUXCZ25.js} +10 -7
- package/dist/cli-bundle/chunks/{schema-IB2NZZWD.js → schema-Y6DXXK2F.js} +10 -7
- package/dist/cli-bundle/chunks/{search-7UBETML4.js → search-3S72CTD6.js} +13 -10
- package/dist/cli-bundle/chunks/{search-R227JOL6.js → search-WNUNBQXO.js} +13 -10
- package/dist/cli-bundle/chunks/{stats-FAG7COEH.js → stats-IJYTRQGV.js} +13 -10
- package/dist/cli-bundle/chunks/{stats-FAG7COEH.js.map → stats-IJYTRQGV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{stats-MCK7PLYS.js → stats-L2D5Y2O5.js} +15 -12
- package/dist/cli-bundle/chunks/{stats-MCK7PLYS.js.map → stats-L2D5Y2O5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{telemetry-DRPDZMAO.js → telemetry-L2CVOKVN.js} +11 -8
- package/dist/cli-bundle/chunks/{telemetry-DRPDZMAO.js.map → telemetry-L2CVOKVN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{telemetry-GVVUQSJQ.js → telemetry-QBYWQA76.js} +13 -10
- package/dist/cli-bundle/chunks/{telemetry-GVVUQSJQ.js.map → telemetry-QBYWQA76.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-QY44WAMR.js → test-DQ2QFJ7W.js} +21 -15
- package/dist/cli-bundle/chunks/test-W7QBLVJS.js +41 -0
- package/dist/cli-bundle/chunks/{test-all-USPJHXFR.js → test-all-636NTRTT.js} +26 -19
- package/dist/cli-bundle/chunks/{test-all-USPJHXFR.js.map → test-all-636NTRTT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-all-QD6QAEG7.js → test-all-DWYK3RG6.js} +24 -17
- package/dist/cli-bundle/chunks/{test-all-QD6QAEG7.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-RATAARHU.js → update-many-DC7X3EWM.js} +32 -29
- package/dist/cli-bundle/chunks/{update-many-RATAARHU.js.map → update-many-DC7X3EWM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{update-many-BEMTDA2X.js → update-many-SLLAMHT7.js} +34 -31
- package/dist/cli-bundle/chunks/{update-many-BEMTDA2X.js.map → update-many-SLLAMHT7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-VU46BLJZ.js → upgrade-HFFXLZJA.js} +19 -12
- package/dist/cli-bundle/chunks/{upgrade-VU46BLJZ.js.map → upgrade-HFFXLZJA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-NWMR3VQL.js → upgrade-UYQKM7RF.js} +21 -14
- package/dist/cli-bundle/chunks/{upgrade-NWMR3VQL.js.map → upgrade-UYQKM7RF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-NRY6MFXN.js → validate-PA4FDTOV.js} +35 -28
- package/dist/cli-bundle/chunks/validate-PA4FDTOV.js.map +7 -0
- package/dist/cli-bundle/chunks/{validate-GAJ6FUSI.js → validate-Z7L75YEJ.js} +35 -28
- package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js.map +1 -0
- 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 +6 -2
- 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.d.ts +10 -0
- package/dist/core/history/history-rewrite.js +28 -4
- 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/item/type-registry.d.ts +1 -0
- package/dist/core/item/type-registry.js +153 -177
- package/dist/core/item/type-registry.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 +5 -2
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +4 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +55 -94
- package/dist/sdk/cli-contracts/tool-schema.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.d.ts +90 -2
- package/dist/sdk/package-import-adapters.js +275 -3
- package/dist/sdk/package-import-adapters.js.map +1 -1
- package/dist/sdk/runtime.d.ts +1 -1
- package/dist/sdk/runtime.js +3 -3
- package/dist/sdk/runtime.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 +14 -26
- package/packages/pm-beads/extensions/beads/package.json +3 -0
- package/packages/pm-beads/extensions/beads/runtime-loader.ts +50 -41
- package/packages/pm-beads/extensions/beads/runtime.ts +106 -223
- package/packages/pm-calendar/extensions/calendar/package.json +3 -0
- package/packages/pm-calendar/extensions/calendar/runtime.ts +21 -18
- 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-guide-shell/extensions/guide-shell/runtime.ts +9 -11
- 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 +62 -72
- package/packages/pm-todos/extensions/todos/runtime.ts +61 -257
- package/plugins/pm-claude/scripts/pm-mcp-server.mjs +73 -31
- package/plugins/pm-codex/scripts/pm-mcp-server.mjs +80 -34
- package/scripts/bundle-cli.mjs +12 -2
- package/scripts/install.ps1 +7 -7
- package/dist/cli-bundle/chunks/activity-BIML7K2D.js +0 -16
- package/dist/cli-bundle/chunks/chunk-32IUNTG4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-4EXFFP7T.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4WB6S4YX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-572FKBRL.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-67LARBDL.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6CDCWKSX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6KRFL33E.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AJHYQCBJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-B4O5S7I3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-CXR3CMBQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ECU6MMTQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EJ2OCBHF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ERG65A2L.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FUFFPIYA.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HB4FAT3O.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HQAF23Q2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JPATY4SE.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KHVGM5CS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KS6ATO47.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-L4SLHV6G.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MHRS5FUX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NZ7QIUP5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-OGLGI22K.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RAHINBVP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RJH5VQHW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SYE6WMV6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TQ6AX5SQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-U3S2B7TA.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WRYERRZX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-WYOIIFSE.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XRYSCRZR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-YF746GTH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YSDFIY7N.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-Z4DGFQDH.js.map +0 -1
- package/dist/cli-bundle/chunks/claim-2BGBGSVI.js.map +0 -7
- package/dist/cli-bundle/chunks/claim-5GU7OE67.js.map +0 -1
- package/dist/cli-bundle/chunks/close-6YODBUIV.js +0 -14
- package/dist/cli-bundle/chunks/create-Z7YCH3BE.js +0 -28
- package/dist/cli-bundle/chunks/files-6SGKHS6O.js.map +0 -1
- package/dist/cli-bundle/chunks/files-FUYPSOFJ.js.map +0 -7
- package/dist/cli-bundle/chunks/history-CGNQJXFE.js +0 -18
- package/dist/cli-bundle/chunks/history-compact-LOED43R3.js.map +0 -7
- package/dist/cli-bundle/chunks/history-compact-V5DNAQHH.js.map +0 -1
- package/dist/cli-bundle/chunks/history-redact-N3JK7VBW.js +0 -19
- package/dist/cli-bundle/chunks/history-repair-4WVBVHFR.js.map +0 -1
- package/dist/cli-bundle/chunks/history-repair-PGYQJMGD.js.map +0 -7
- package/dist/cli-bundle/chunks/init-4GESW7RM.js +0 -26
- package/dist/cli-bundle/chunks/init-XIDPABA4.js +0 -22
- package/dist/cli-bundle/chunks/profile-3TOTMUR4.js +0 -1243
- package/dist/cli-bundle/chunks/profile-3TOTMUR4.js.map +0 -7
- package/dist/cli-bundle/chunks/profile-WIQY2KCV.js +0 -1205
- package/dist/cli-bundle/chunks/profile-WIQY2KCV.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-GAPQ6DM3.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-EXHU34EU.js +0 -17
- package/dist/cli-bundle/chunks/test-SY76DZTO.js +0 -35
- package/dist/cli-bundle/chunks/update-A7EICML6.js +0 -24
- package/dist/cli-bundle/chunks/update-IKJZWLQC.js +0 -28
- package/dist/cli-bundle/chunks/validate-GAJ6FUSI.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-NRY6MFXN.js.map +0 -7
- /package/dist/cli-bundle/chunks/{activity-BIML7K2D.js.map → activity-4XQIDNM5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-5YWLSPGE.js.map → activity-YKAKZTZ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QCDTQCMW.js.map → chunk-5JE6SMYS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5JIWFWOZ.js.map → chunk-N6DNM2FA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GVJE5T7Q.js.map → chunk-NER3KUUS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MEZZZBYX.js.map → chunk-PDXT6Q55.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YVKZ3ANP.js.map → chunk-RX3HQSYG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LOWVNZBZ.js.map → chunk-S4APD35C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6NYJGMTY.js.map → chunk-T35XLYZF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BE2SR6QL.js.map → chunk-TT42JUMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SU3TB4NS.js.map → chunk-YOF5VPKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5E7N4T2Z.js.map → chunk-ZMD35NYG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-AFVKPR57.js.map → close-3YRR3XY6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-6YODBUIV.js.map → close-OB2Y4QP5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-PKCEHQY3.js.map → context-4OQGIPSO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-OYXRGY7S.js.map → context-WLA6IAWE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-Z7YCH3BE.js.map → contracts-HXJLKCRI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-PM45M6PE.js.map → contracts-OJEXMKVW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-BNINIMT7.js.map → create-WKOZKPQR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-QWE4YYK5.js.map → create-XWWQFQ6S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-CGNQJXFE.js.map → extension-NBAH62ML.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-SGRRS72R.js.map → extension-ZF6ZZPOU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-N3JK7VBW.js.map → history-RYKLC72X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-IRL7WJ3E.js.map → history-SGPYRAFT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-XIDPABA4.js.map → history-redact-4H3FCKF3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-4GESW7RM.js.map → history-redact-54ICFKXM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-D7BF5CL2.js.map → init-RPIPQUNV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-472TIOVK.js.map → init-SKQAESQS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-EXHU34EU.js.map → list-64LHZ3HM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-44IHMMZZ.js.map → list-7LXBTEKI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-VBCELP5G.js.map → restore-PXOFL6AM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-IB2NZZWD.js.map → restore-YJ2ET6AT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-R227JOL6.js.map → schema-2PUXCZ25.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-7UBETML4.js.map → schema-Y6DXXK2F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-QY44WAMR.js.map → search-3S72CTD6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-SY76DZTO.js.map → search-WNUNBQXO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-IKJZWLQC.js.map → test-DQ2QFJ7W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-A7EICML6.js.map → test-W7QBLVJS.js.map} +0 -0
|
@@ -172,12 +172,22 @@ function resolvePmCliVersion(metaUrl, fallbackRelativeSegments = []) {
|
|
|
172
172
|
return void 0;
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
+
function resolveConfiguredPmPackageRoot(env = process.env, envName = "PM_CLI_PACKAGE_ROOT", metaUrl, fallbackRelativeSegments = []) {
|
|
176
|
+
const envRoot = env[envName];
|
|
177
|
+
if (typeof envRoot === "string" && envRoot.trim().length > 0) {
|
|
178
|
+
return path3.resolve(envRoot.trim());
|
|
179
|
+
}
|
|
180
|
+
if (metaUrl) {
|
|
181
|
+
return resolvePmPackageRootFromModule(metaUrl, fallbackRelativeSegments);
|
|
182
|
+
}
|
|
183
|
+
return process.cwd();
|
|
184
|
+
}
|
|
175
185
|
|
|
176
186
|
// dist/core/extensions/extension-types.js
|
|
177
187
|
!(function() {
|
|
178
188
|
try {
|
|
179
189
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
180
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
190
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0fdb02e4-60e7-5f4c-9f06-d2ec2f03f792");
|
|
181
191
|
} catch (e2) {
|
|
182
192
|
}
|
|
183
193
|
})();
|
|
@@ -265,7 +275,7 @@ function createDefaultExtensionGovernancePolicy() {
|
|
|
265
275
|
!(function() {
|
|
266
276
|
try {
|
|
267
277
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
268
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
278
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "3a76b425-d6cd-5ba4-a77f-bd95a7deb473");
|
|
269
279
|
} catch (e2) {
|
|
270
280
|
}
|
|
271
281
|
})();
|
|
@@ -464,7 +474,8 @@ var SETTINGS_DEFAULTS = {
|
|
|
464
474
|
author_default: "",
|
|
465
475
|
item_format: "toon",
|
|
466
476
|
locks: {
|
|
467
|
-
ttl_seconds: 1800
|
|
477
|
+
ttl_seconds: 1800,
|
|
478
|
+
wait_ms: 3e3
|
|
468
479
|
},
|
|
469
480
|
checkpoints: {
|
|
470
481
|
retention_days: 14
|
|
@@ -667,7 +678,7 @@ function resolveTelemetryErrorCategory(errorCode) {
|
|
|
667
678
|
!(function() {
|
|
668
679
|
try {
|
|
669
680
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
670
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
681
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6e5bac32-d895-5fce-9fc0-9c0615399b61");
|
|
671
682
|
} catch (e2) {
|
|
672
683
|
}
|
|
673
684
|
})();
|
|
@@ -880,7 +891,7 @@ function normalizeItemTypeDefinition(definition, options = {}) {
|
|
|
880
891
|
!(function() {
|
|
881
892
|
try {
|
|
882
893
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
883
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
894
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "563d02b1-6a96-539c-9e2c-dc118aa5dd72");
|
|
884
895
|
} catch (e2) {
|
|
885
896
|
}
|
|
886
897
|
})();
|
|
@@ -1026,116 +1037,85 @@ var UPDATE_COMMAND_OPTION_ALIASES = {
|
|
|
1026
1037
|
"allow-audit-update": "allowAuditUpdate",
|
|
1027
1038
|
allow_audit_update: "allowAuditUpdate"
|
|
1028
1039
|
};
|
|
1029
|
-
var
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
sprint: "--sprint",
|
|
1109
|
-
release: "--release",
|
|
1110
|
-
blockedBy: "--blocked-by",
|
|
1111
|
-
blockedReason: "--blocked-reason",
|
|
1112
|
-
unblockNote: "--unblock-note",
|
|
1113
|
-
reporter: "--reporter",
|
|
1114
|
-
severity: "--severity",
|
|
1115
|
-
environment: "--environment",
|
|
1116
|
-
reproSteps: "--repro-steps",
|
|
1117
|
-
resolution: "--resolution",
|
|
1118
|
-
expectedResult: "--expected-result",
|
|
1119
|
-
actualResult: "--actual-result",
|
|
1120
|
-
affectedVersion: "--affected-version",
|
|
1121
|
-
fixedVersion: "--fixed-version",
|
|
1122
|
-
component: "--component",
|
|
1123
|
-
regression: "--regression",
|
|
1124
|
-
customerImpact: "--customer-impact",
|
|
1125
|
-
comment: "--comment",
|
|
1126
|
-
note: "--note",
|
|
1127
|
-
learning: "--learning",
|
|
1128
|
-
file: "--file",
|
|
1129
|
-
test: "--test",
|
|
1130
|
-
doc: "--doc",
|
|
1131
|
-
reminder: "--reminder",
|
|
1132
|
-
event: "--event",
|
|
1133
|
-
typeOption: "--type-option",
|
|
1134
|
-
allowAuditUpdate: "--allow-audit-update",
|
|
1135
|
-
author: "--author",
|
|
1136
|
-
message: "--message",
|
|
1137
|
-
force: "--force"
|
|
1138
|
-
};
|
|
1040
|
+
var COMMON_MUTATION_COMMAND_OPTION_FLAG_LABEL_ENTRIES = [
|
|
1041
|
+
["deadline", "--deadline"],
|
|
1042
|
+
["estimatedMinutes", "--estimate/--estimated-minutes"],
|
|
1043
|
+
["acceptanceCriteria", "--acceptance-criteria/--ac"],
|
|
1044
|
+
["definitionOfReady", "--definition-of-ready"],
|
|
1045
|
+
["order", "--order/--rank"],
|
|
1046
|
+
["goal", "--goal"],
|
|
1047
|
+
["objective", "--objective"],
|
|
1048
|
+
["value", "--value"],
|
|
1049
|
+
["impact", "--impact"],
|
|
1050
|
+
["outcome", "--outcome"],
|
|
1051
|
+
["whyNow", "--why-now"],
|
|
1052
|
+
["assignee", "--assignee"],
|
|
1053
|
+
["parent", "--parent"],
|
|
1054
|
+
["reviewer", "--reviewer"],
|
|
1055
|
+
["risk", "--risk"],
|
|
1056
|
+
["confidence", "--confidence"],
|
|
1057
|
+
["sprint", "--sprint"],
|
|
1058
|
+
["release", "--release"],
|
|
1059
|
+
["blockedBy", "--blocked-by"],
|
|
1060
|
+
["blockedReason", "--blocked-reason"],
|
|
1061
|
+
["unblockNote", "--unblock-note"],
|
|
1062
|
+
["reporter", "--reporter"],
|
|
1063
|
+
["severity", "--severity"],
|
|
1064
|
+
["environment", "--environment"],
|
|
1065
|
+
["reproSteps", "--repro-steps"],
|
|
1066
|
+
["resolution", "--resolution"],
|
|
1067
|
+
["expectedResult", "--expected-result"],
|
|
1068
|
+
["actualResult", "--actual-result"],
|
|
1069
|
+
["affectedVersion", "--affected-version"],
|
|
1070
|
+
["fixedVersion", "--fixed-version"],
|
|
1071
|
+
["component", "--component"],
|
|
1072
|
+
["regression", "--regression"],
|
|
1073
|
+
["customerImpact", "--customer-impact"]
|
|
1074
|
+
];
|
|
1075
|
+
var LINKED_RESOURCE_COMMAND_OPTION_FLAG_LABEL_ENTRIES = [
|
|
1076
|
+
["comment", "--comment"],
|
|
1077
|
+
["note", "--note"],
|
|
1078
|
+
["learning", "--learning"],
|
|
1079
|
+
["file", "--file"],
|
|
1080
|
+
["test", "--test"],
|
|
1081
|
+
["doc", "--doc"],
|
|
1082
|
+
["reminder", "--reminder"],
|
|
1083
|
+
["event", "--event"],
|
|
1084
|
+
["typeOption", "--type-option"]
|
|
1085
|
+
];
|
|
1086
|
+
function commandOptionLabelMap(entries) {
|
|
1087
|
+
return Object.fromEntries(entries);
|
|
1088
|
+
}
|
|
1089
|
+
var CREATE_COMMAND_OPTION_FLAG_LABELS = commandOptionLabelMap([
|
|
1090
|
+
["title", "--title"],
|
|
1091
|
+
["description", "--description"],
|
|
1092
|
+
["type", "--type"],
|
|
1093
|
+
["status", "--status"],
|
|
1094
|
+
["priority", "--priority"],
|
|
1095
|
+
["tags", "--tags"],
|
|
1096
|
+
["body", "--body"],
|
|
1097
|
+
...COMMON_MUTATION_COMMAND_OPTION_FLAG_LABEL_ENTRIES,
|
|
1098
|
+
["author", "--author"],
|
|
1099
|
+
["message", "--message"],
|
|
1100
|
+
["dep", "--dep"],
|
|
1101
|
+
...LINKED_RESOURCE_COMMAND_OPTION_FLAG_LABEL_ENTRIES
|
|
1102
|
+
]);
|
|
1103
|
+
var UPDATE_COMMAND_OPTION_FLAG_LABELS = commandOptionLabelMap([
|
|
1104
|
+
["title", "--title"],
|
|
1105
|
+
["description", "--description"],
|
|
1106
|
+
["body", "--body"],
|
|
1107
|
+
["status", "--status"],
|
|
1108
|
+
["closeReason", "--close-reason"],
|
|
1109
|
+
["priority", "--priority"],
|
|
1110
|
+
["type", "--type"],
|
|
1111
|
+
["tags", "--tags"],
|
|
1112
|
+
...COMMON_MUTATION_COMMAND_OPTION_FLAG_LABEL_ENTRIES,
|
|
1113
|
+
...LINKED_RESOURCE_COMMAND_OPTION_FLAG_LABEL_ENTRIES,
|
|
1114
|
+
["allowAuditUpdate", "--allow-audit-update"],
|
|
1115
|
+
["author", "--author"],
|
|
1116
|
+
["message", "--message"],
|
|
1117
|
+
["force", "--force"]
|
|
1118
|
+
]);
|
|
1139
1119
|
function normalizeCommandOptionToken(value) {
|
|
1140
1120
|
return value.trim().replace(/^--+/, "").toLowerCase();
|
|
1141
1121
|
}
|
|
@@ -1280,6 +1260,27 @@ function resolveDefinitionOptions(normalizedDefinition, existing) {
|
|
|
1280
1260
|
function resolveDefinitionCommandOptionPolicies(normalizedDefinition, existing) {
|
|
1281
1261
|
return normalizedDefinition.command_option_policies ? normalizedDefinition.command_option_policies : existing?.command_option_policies ? [...existing.command_option_policies] : [];
|
|
1282
1262
|
}
|
|
1263
|
+
function buildResolvedTypeDefinition(normalizedDefinition, existing) {
|
|
1264
|
+
const keepName = existing?.name ?? normalizedDefinition.name;
|
|
1265
|
+
const description = normalizedDefinition.description ?? existing?.description;
|
|
1266
|
+
const defaultStatus = normalizedDefinition.default_status ?? existing?.default_status;
|
|
1267
|
+
const resolvedDefinition = {
|
|
1268
|
+
name: keepName,
|
|
1269
|
+
folder: normalizedDefinition.folder ?? existing?.folder ?? toDefaultFolder(keepName),
|
|
1270
|
+
aliases: normalizeItemTypeStringList([...existing?.aliases ?? [], ...normalizedDefinition.aliases ?? []]),
|
|
1271
|
+
required_create_fields: resolveDefinitionRequiredCreateFields(normalizedDefinition, existing),
|
|
1272
|
+
required_create_repeatables: resolveDefinitionRequiredCreateRepeatables(normalizedDefinition, existing),
|
|
1273
|
+
options: resolveDefinitionOptions(normalizedDefinition, existing),
|
|
1274
|
+
command_option_policies: resolveDefinitionCommandOptionPolicies(normalizedDefinition, existing)
|
|
1275
|
+
};
|
|
1276
|
+
if (description) {
|
|
1277
|
+
resolvedDefinition.description = description;
|
|
1278
|
+
}
|
|
1279
|
+
if (defaultStatus) {
|
|
1280
|
+
resolvedDefinition.default_status = defaultStatus;
|
|
1281
|
+
}
|
|
1282
|
+
return resolvedDefinition;
|
|
1283
|
+
}
|
|
1283
1284
|
function applyTypeDefinitions(source, target) {
|
|
1284
1285
|
for (const rawDefinition of source) {
|
|
1285
1286
|
const normalizedDefinition = normalizeTypeDefinition(rawDefinition);
|
|
@@ -1288,25 +1289,7 @@ function applyTypeDefinitions(source, target) {
|
|
|
1288
1289
|
}
|
|
1289
1290
|
const lowerName = normalizedDefinition.name.toLowerCase();
|
|
1290
1291
|
const existing = target.get(lowerName);
|
|
1291
|
-
|
|
1292
|
-
const folder = normalizedDefinition.folder ?? existing?.folder ?? toDefaultFolder(keepName);
|
|
1293
|
-
const aliases = normalizeItemTypeStringList([
|
|
1294
|
-
...existing?.aliases ?? [],
|
|
1295
|
-
...normalizedDefinition.aliases ?? []
|
|
1296
|
-
]);
|
|
1297
|
-
const defaultStatus = normalizedDefinition.default_status ?? existing?.default_status;
|
|
1298
|
-
const description = normalizedDefinition.description ?? existing?.description;
|
|
1299
|
-
target.set(lowerName, {
|
|
1300
|
-
name: keepName,
|
|
1301
|
-
...description ? { description } : {},
|
|
1302
|
-
...defaultStatus ? { default_status: defaultStatus } : {},
|
|
1303
|
-
folder,
|
|
1304
|
-
aliases,
|
|
1305
|
-
required_create_fields: resolveDefinitionRequiredCreateFields(normalizedDefinition, existing),
|
|
1306
|
-
required_create_repeatables: resolveDefinitionRequiredCreateRepeatables(normalizedDefinition, existing),
|
|
1307
|
-
options: resolveDefinitionOptions(normalizedDefinition, existing),
|
|
1308
|
-
command_option_policies: resolveDefinitionCommandOptionPolicies(normalizedDefinition, existing)
|
|
1309
|
-
});
|
|
1292
|
+
target.set(lowerName, buildResolvedTypeDefinition(normalizedDefinition, existing));
|
|
1310
1293
|
}
|
|
1311
1294
|
}
|
|
1312
1295
|
function collectExtensionTypeDefinitions(registrations) {
|
|
@@ -1377,55 +1360,62 @@ function resolveTypeDefinition(typeName, registry) {
|
|
|
1377
1360
|
}
|
|
1378
1361
|
return registry.by_type[resolvedName];
|
|
1379
1362
|
}
|
|
1380
|
-
function
|
|
1381
|
-
const errors = [];
|
|
1382
|
-
const required = /* @__PURE__ */ new Set();
|
|
1383
|
-
const hidden = /* @__PURE__ */ new Set();
|
|
1384
|
-
const disabled = /* @__PURE__ */ new Set();
|
|
1363
|
+
function applyBaseRequiredCommandOptions(state, typeDefinition, command, baseRequiredOptions) {
|
|
1385
1364
|
for (const rawBase of baseRequiredOptions) {
|
|
1386
1365
|
const canonical = canonicalizeCommandOptionKey(command, rawBase);
|
|
1387
|
-
if (
|
|
1388
|
-
|
|
1366
|
+
if (canonical) {
|
|
1367
|
+
state.required.add(canonical);
|
|
1389
1368
|
continue;
|
|
1390
1369
|
}
|
|
1391
|
-
required.
|
|
1370
|
+
state.errors.push(`Unsupported base required option "${rawBase}" for command "${command}" on type "${typeDefinition.name}"`);
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
function applyBooleanPolicySet(target, option, enabled) {
|
|
1374
|
+
if (enabled) {
|
|
1375
|
+
target.add(option);
|
|
1376
|
+
return;
|
|
1377
|
+
}
|
|
1378
|
+
target.delete(option);
|
|
1379
|
+
}
|
|
1380
|
+
function applyCommandOptionPolicy(state, typeDefinition, command, policy) {
|
|
1381
|
+
const canonical = canonicalizeCommandOptionKey(command, policy.option);
|
|
1382
|
+
if (!canonical) {
|
|
1383
|
+
state.errors.push(`Unsupported command_option_policies option "${policy.option}" for command "${command}" on type "${typeDefinition.name}"`);
|
|
1384
|
+
return;
|
|
1385
|
+
}
|
|
1386
|
+
if (policy.required !== void 0) {
|
|
1387
|
+
applyBooleanPolicySet(state.required, canonical, policy.required);
|
|
1392
1388
|
}
|
|
1389
|
+
if (policy.visible !== void 0) {
|
|
1390
|
+
applyBooleanPolicySet(state.hidden, canonical, !policy.visible);
|
|
1391
|
+
}
|
|
1392
|
+
if (policy.enabled !== void 0) {
|
|
1393
|
+
applyBooleanPolicySet(state.disabled, canonical, !policy.enabled);
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
function applyCommandOptionPolicies(state, typeDefinition, command) {
|
|
1393
1397
|
for (const policy of typeDefinition.command_option_policies) {
|
|
1394
|
-
if (policy.command
|
|
1395
|
-
|
|
1396
|
-
}
|
|
1397
|
-
const canonical = canonicalizeCommandOptionKey(command, policy.option);
|
|
1398
|
-
if (!canonical) {
|
|
1399
|
-
errors.push(`Unsupported command_option_policies option "${policy.option}" for command "${command}" on type "${typeDefinition.name}"`);
|
|
1400
|
-
continue;
|
|
1401
|
-
}
|
|
1402
|
-
if (policy.required !== void 0) {
|
|
1403
|
-
if (policy.required) {
|
|
1404
|
-
required.add(canonical);
|
|
1405
|
-
} else {
|
|
1406
|
-
required.delete(canonical);
|
|
1407
|
-
}
|
|
1408
|
-
}
|
|
1409
|
-
if (policy.visible !== void 0) {
|
|
1410
|
-
if (policy.visible) {
|
|
1411
|
-
hidden.delete(canonical);
|
|
1412
|
-
} else {
|
|
1413
|
-
hidden.add(canonical);
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
if (policy.enabled !== void 0) {
|
|
1417
|
-
if (policy.enabled) {
|
|
1418
|
-
disabled.delete(canonical);
|
|
1419
|
-
} else {
|
|
1420
|
-
disabled.add(canonical);
|
|
1421
|
-
}
|
|
1398
|
+
if (policy.command === command) {
|
|
1399
|
+
applyCommandOptionPolicy(state, typeDefinition, command, policy);
|
|
1422
1400
|
}
|
|
1423
1401
|
}
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1402
|
+
}
|
|
1403
|
+
function appendRequiredDisabledPolicyErrors(state, typeDefinition, command) {
|
|
1404
|
+
for (const option of state.required) {
|
|
1405
|
+
if (state.disabled.has(option)) {
|
|
1406
|
+
state.errors.push(`Option "${option}" cannot be both required and disabled for command "${command}" on type "${typeDefinition.name}"`);
|
|
1427
1407
|
}
|
|
1428
1408
|
}
|
|
1409
|
+
}
|
|
1410
|
+
function resolveCommandOptionPolicyState(typeDefinition, command, baseRequiredOptions) {
|
|
1411
|
+
const errors = [];
|
|
1412
|
+
const required = /* @__PURE__ */ new Set();
|
|
1413
|
+
const hidden = /* @__PURE__ */ new Set();
|
|
1414
|
+
const disabled = /* @__PURE__ */ new Set();
|
|
1415
|
+
const state = { required, hidden, disabled, errors };
|
|
1416
|
+
applyBaseRequiredCommandOptions(state, typeDefinition, command, baseRequiredOptions);
|
|
1417
|
+
applyCommandOptionPolicies(state, typeDefinition, command);
|
|
1418
|
+
appendRequiredDisabledPolicyErrors(state, typeDefinition, command);
|
|
1429
1419
|
return {
|
|
1430
1420
|
required: [...required],
|
|
1431
1421
|
hidden: [...hidden].sort((left, right) => left.localeCompare(right)),
|
|
@@ -1632,7 +1622,7 @@ function getTestRunResultPath(pmRoot, runId) {
|
|
|
1632
1622
|
!(function() {
|
|
1633
1623
|
try {
|
|
1634
1624
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1635
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
1625
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f9d3b558-3b10-5f06-a2d1-7ceb16119586");
|
|
1636
1626
|
} catch (e2) {
|
|
1637
1627
|
}
|
|
1638
1628
|
})();
|
|
@@ -1690,6 +1680,23 @@ function asRecordLoose(value) {
|
|
|
1690
1680
|
}
|
|
1691
1681
|
return value;
|
|
1692
1682
|
}
|
|
1683
|
+
function asPropertyRecord(value) {
|
|
1684
|
+
if (typeof value !== "object" && typeof value !== "function" || value === null) {
|
|
1685
|
+
return null;
|
|
1686
|
+
}
|
|
1687
|
+
return value;
|
|
1688
|
+
}
|
|
1689
|
+
function resolveActivatablePropertyRecord(value) {
|
|
1690
|
+
const moduleRecord = asPropertyRecord(value);
|
|
1691
|
+
if (!moduleRecord) {
|
|
1692
|
+
return null;
|
|
1693
|
+
}
|
|
1694
|
+
if (typeof moduleRecord.activate === "function") {
|
|
1695
|
+
return moduleRecord;
|
|
1696
|
+
}
|
|
1697
|
+
const defaultExport = asPropertyRecord(moduleRecord.default);
|
|
1698
|
+
return typeof defaultExport?.activate === "function" ? defaultExport : null;
|
|
1699
|
+
}
|
|
1693
1700
|
|
|
1694
1701
|
// dist/core/shared/levenshtein.js
|
|
1695
1702
|
!(function() {
|
|
@@ -1743,6 +1750,139 @@ function levenshteinDistanceWithinLimit(left, right, limit) {
|
|
|
1743
1750
|
return result <= limit ? result : null;
|
|
1744
1751
|
}
|
|
1745
1752
|
|
|
1753
|
+
// dist/core/extensions/extension-capability-aliases.js
|
|
1754
|
+
!(function() {
|
|
1755
|
+
try {
|
|
1756
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1757
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5723464e-1f10-5a39-96a9-787c0052a036");
|
|
1758
|
+
} catch (e2) {
|
|
1759
|
+
}
|
|
1760
|
+
})();
|
|
1761
|
+
function normalizeNames(values) {
|
|
1762
|
+
return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
|
|
1763
|
+
}
|
|
1764
|
+
function isKnownExtensionCapability(value) {
|
|
1765
|
+
return KNOWN_EXTENSION_CAPABILITIES.includes(value);
|
|
1766
|
+
}
|
|
1767
|
+
function normalizeKnownExtensionCapability(value) {
|
|
1768
|
+
const normalized = value.trim().toLowerCase();
|
|
1769
|
+
return isKnownExtensionCapability(normalized) ? normalized : null;
|
|
1770
|
+
}
|
|
1771
|
+
function collectUnknownExtensionCapabilities(capabilities) {
|
|
1772
|
+
return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
|
|
1773
|
+
}
|
|
1774
|
+
function resolveLegacyExtensionCapabilityAlias(capability) {
|
|
1775
|
+
const normalized = capability.trim().toLowerCase();
|
|
1776
|
+
if (normalized.length === 0) {
|
|
1777
|
+
return null;
|
|
1778
|
+
}
|
|
1779
|
+
return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
|
|
1780
|
+
}
|
|
1781
|
+
function normalizeManifestCapabilities(rawCapabilities) {
|
|
1782
|
+
const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
|
|
1783
|
+
const remappedCapabilities = [];
|
|
1784
|
+
const legacyAliases = [];
|
|
1785
|
+
for (const capability of normalizedCapabilities) {
|
|
1786
|
+
const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
|
|
1787
|
+
if (legacyAliasTarget) {
|
|
1788
|
+
remappedCapabilities.push(legacyAliasTarget);
|
|
1789
|
+
legacyAliases.push({
|
|
1790
|
+
alias: capability,
|
|
1791
|
+
target: legacyAliasTarget
|
|
1792
|
+
});
|
|
1793
|
+
continue;
|
|
1794
|
+
}
|
|
1795
|
+
remappedCapabilities.push(capability);
|
|
1796
|
+
}
|
|
1797
|
+
const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
|
|
1798
|
+
return {
|
|
1799
|
+
capabilities: normalizeNames(remappedCapabilities),
|
|
1800
|
+
legacy_aliases: dedupedLegacyAliases
|
|
1801
|
+
};
|
|
1802
|
+
}
|
|
1803
|
+
function suggestKnownExtensionCapability(capability) {
|
|
1804
|
+
const normalized = capability.trim().toLowerCase();
|
|
1805
|
+
if (normalized.length === 0) {
|
|
1806
|
+
return null;
|
|
1807
|
+
}
|
|
1808
|
+
const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
|
|
1809
|
+
if (legacyAlias) {
|
|
1810
|
+
return legacyAlias;
|
|
1811
|
+
}
|
|
1812
|
+
const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
|
|
1813
|
+
let bestMatch = null;
|
|
1814
|
+
let bestDistance = Number.POSITIVE_INFINITY;
|
|
1815
|
+
for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
|
|
1816
|
+
const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
|
|
1817
|
+
if (distance !== null && distance < bestDistance) {
|
|
1818
|
+
bestDistance = distance;
|
|
1819
|
+
bestMatch = candidate;
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
return bestMatch;
|
|
1823
|
+
}
|
|
1824
|
+
function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
|
|
1825
|
+
const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
|
|
1826
|
+
const suggested = suggestKnownExtensionCapability(capability) ?? "none";
|
|
1827
|
+
return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
|
|
1828
|
+
}
|
|
1829
|
+
function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
|
|
1830
|
+
const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
|
|
1831
|
+
return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
|
|
1832
|
+
}
|
|
1833
|
+
function parseUnknownExtensionCapabilityWarning(warning) {
|
|
1834
|
+
const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
|
|
1835
|
+
if (!match) {
|
|
1836
|
+
return null;
|
|
1837
|
+
}
|
|
1838
|
+
const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
|
|
1839
|
+
const layer = layerRaw;
|
|
1840
|
+
const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
|
|
1841
|
+
const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
|
|
1842
|
+
const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
|
|
1843
|
+
const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
|
|
1844
|
+
const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
|
|
1845
|
+
return {
|
|
1846
|
+
layer,
|
|
1847
|
+
name,
|
|
1848
|
+
capability,
|
|
1849
|
+
allowed_capabilities,
|
|
1850
|
+
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
1851
|
+
suggested_capability,
|
|
1852
|
+
suggestion_source,
|
|
1853
|
+
legacy_alias_target: legacyAlias ?? void 0
|
|
1854
|
+
};
|
|
1855
|
+
}
|
|
1856
|
+
function parseLegacyExtensionCapabilityAliasWarning(warning) {
|
|
1857
|
+
const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
|
|
1858
|
+
if (!match) {
|
|
1859
|
+
return [];
|
|
1860
|
+
}
|
|
1861
|
+
const [, layerRaw, name, aliasesRaw] = match;
|
|
1862
|
+
const layer = layerRaw;
|
|
1863
|
+
const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
|
|
1864
|
+
const parsed = [];
|
|
1865
|
+
for (const token of aliasesRaw.split(",")) {
|
|
1866
|
+
const [rawAlias, rawTarget] = token.split(">");
|
|
1867
|
+
const alias = rawAlias?.trim();
|
|
1868
|
+
const target = rawTarget?.trim().toLowerCase();
|
|
1869
|
+
if (!alias || !target || !isKnownExtensionCapability(target)) {
|
|
1870
|
+
continue;
|
|
1871
|
+
}
|
|
1872
|
+
parsed.push({
|
|
1873
|
+
layer,
|
|
1874
|
+
name,
|
|
1875
|
+
capability: alias,
|
|
1876
|
+
allowed_capabilities: allowedCapabilities,
|
|
1877
|
+
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
1878
|
+
suggested_capability: target,
|
|
1879
|
+
suggestion_source: "legacy_alias",
|
|
1880
|
+
legacy_alias_target: target
|
|
1881
|
+
});
|
|
1882
|
+
}
|
|
1883
|
+
return parsed;
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1746
1886
|
// dist/core/extensions/extension-registries.js
|
|
1747
1887
|
!(function() {
|
|
1748
1888
|
try {
|
|
@@ -2416,177 +2556,44 @@ function evaluatePmMaxVersionBound(required, currentVersion, exceededMode) {
|
|
|
2416
2556
|
return { kind: "pm_max_version", status: "ok", allowed: true, required: declared, current: currentVersion };
|
|
2417
2557
|
}
|
|
2418
2558
|
|
|
2419
|
-
// dist/core/extensions/extension-
|
|
2559
|
+
// dist/core/extensions/extension-policy.js
|
|
2420
2560
|
!(function() {
|
|
2421
2561
|
try {
|
|
2422
2562
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
2423
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
2563
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "dbc43b74-6872-52c3-859a-64fe84c02b5b");
|
|
2424
2564
|
} catch (e2) {
|
|
2425
2565
|
}
|
|
2426
2566
|
})();
|
|
2427
|
-
function
|
|
2428
|
-
|
|
2567
|
+
function normalizePolicyName(value) {
|
|
2568
|
+
if (typeof value !== "string") {
|
|
2569
|
+
return "";
|
|
2570
|
+
}
|
|
2571
|
+
return value.trim().toLowerCase();
|
|
2429
2572
|
}
|
|
2430
|
-
function
|
|
2431
|
-
return
|
|
2573
|
+
function normalizePolicyStringSet(values) {
|
|
2574
|
+
return new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0));
|
|
2432
2575
|
}
|
|
2433
|
-
function
|
|
2576
|
+
function normalizePolicySurfaceToken(value) {
|
|
2434
2577
|
const normalized = value.trim().toLowerCase();
|
|
2435
|
-
return isKnownExtensionCapability(normalized) ? normalized : null;
|
|
2436
|
-
}
|
|
2437
|
-
function collectUnknownExtensionCapabilities(capabilities) {
|
|
2438
|
-
return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
|
|
2439
|
-
}
|
|
2440
|
-
function resolveLegacyExtensionCapabilityAlias(capability) {
|
|
2441
|
-
const normalized = capability.trim().toLowerCase();
|
|
2442
2578
|
if (normalized.length === 0) {
|
|
2443
|
-
return
|
|
2579
|
+
return "";
|
|
2444
2580
|
}
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
|
|
2449
|
-
const remappedCapabilities = [];
|
|
2450
|
-
const legacyAliases = [];
|
|
2451
|
-
for (const capability of normalizedCapabilities) {
|
|
2452
|
-
const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
|
|
2453
|
-
if (legacyAliasTarget) {
|
|
2454
|
-
remappedCapabilities.push(legacyAliasTarget);
|
|
2455
|
-
legacyAliases.push({
|
|
2456
|
-
alias: capability,
|
|
2457
|
-
target: legacyAliasTarget
|
|
2458
|
-
});
|
|
2459
|
-
continue;
|
|
2460
|
-
}
|
|
2461
|
-
remappedCapabilities.push(capability);
|
|
2581
|
+
const segments = normalized.split(/[.:/]/).map((segment) => segment.replace(/[\s_-]+/g, "")).filter((segment) => segment.length > 0);
|
|
2582
|
+
if (segments.length === 0) {
|
|
2583
|
+
return "";
|
|
2462
2584
|
}
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
};
|
|
2585
|
+
if (segments.length === 1) {
|
|
2586
|
+
return segments[0];
|
|
2587
|
+
}
|
|
2588
|
+
return `${segments[0]}.${segments.slice(1).join("")}`;
|
|
2468
2589
|
}
|
|
2469
|
-
function
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
return legacyAlias;
|
|
2477
|
-
}
|
|
2478
|
-
const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
|
|
2479
|
-
let bestMatch = null;
|
|
2480
|
-
let bestDistance = Number.POSITIVE_INFINITY;
|
|
2481
|
-
for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
|
|
2482
|
-
const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
|
|
2483
|
-
if (distance !== null && distance < bestDistance) {
|
|
2484
|
-
bestDistance = distance;
|
|
2485
|
-
bestMatch = candidate;
|
|
2486
|
-
}
|
|
2487
|
-
}
|
|
2488
|
-
return bestMatch;
|
|
2489
|
-
}
|
|
2490
|
-
function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
|
|
2491
|
-
const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
|
|
2492
|
-
const suggested = suggestKnownExtensionCapability(capability) ?? "none";
|
|
2493
|
-
return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
|
|
2494
|
-
}
|
|
2495
|
-
function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
|
|
2496
|
-
const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
|
|
2497
|
-
return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
|
|
2498
|
-
}
|
|
2499
|
-
function parseUnknownExtensionCapabilityWarning(warning) {
|
|
2500
|
-
const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
|
|
2501
|
-
if (!match) {
|
|
2502
|
-
return null;
|
|
2503
|
-
}
|
|
2504
|
-
const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
|
|
2505
|
-
const layer = layerRaw;
|
|
2506
|
-
const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
|
|
2507
|
-
const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
|
|
2508
|
-
const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
|
|
2509
|
-
const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
|
|
2510
|
-
const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
|
|
2511
|
-
return {
|
|
2512
|
-
layer,
|
|
2513
|
-
name,
|
|
2514
|
-
capability,
|
|
2515
|
-
allowed_capabilities,
|
|
2516
|
-
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
2517
|
-
suggested_capability,
|
|
2518
|
-
suggestion_source,
|
|
2519
|
-
legacy_alias_target: legacyAlias ?? void 0
|
|
2520
|
-
};
|
|
2521
|
-
}
|
|
2522
|
-
function parseLegacyExtensionCapabilityAliasWarning(warning) {
|
|
2523
|
-
const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
|
|
2524
|
-
if (!match) {
|
|
2525
|
-
return [];
|
|
2526
|
-
}
|
|
2527
|
-
const [, layerRaw, name, aliasesRaw] = match;
|
|
2528
|
-
const layer = layerRaw;
|
|
2529
|
-
const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
|
|
2530
|
-
const parsed = [];
|
|
2531
|
-
for (const token of aliasesRaw.split(",")) {
|
|
2532
|
-
const [rawAlias, rawTarget] = token.split(">");
|
|
2533
|
-
const alias = rawAlias?.trim();
|
|
2534
|
-
const target = rawTarget?.trim().toLowerCase();
|
|
2535
|
-
if (!alias || !target || !isKnownExtensionCapability(target)) {
|
|
2536
|
-
continue;
|
|
2537
|
-
}
|
|
2538
|
-
parsed.push({
|
|
2539
|
-
layer,
|
|
2540
|
-
name,
|
|
2541
|
-
capability: alias,
|
|
2542
|
-
allowed_capabilities: allowedCapabilities,
|
|
2543
|
-
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
2544
|
-
suggested_capability: target,
|
|
2545
|
-
suggestion_source: "legacy_alias",
|
|
2546
|
-
legacy_alias_target: target
|
|
2547
|
-
});
|
|
2548
|
-
}
|
|
2549
|
-
return parsed;
|
|
2550
|
-
}
|
|
2551
|
-
|
|
2552
|
-
// dist/core/extensions/extension-policy.js
|
|
2553
|
-
!(function() {
|
|
2554
|
-
try {
|
|
2555
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
2556
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "dbc43b74-6872-52c3-859a-64fe84c02b5b");
|
|
2557
|
-
} catch (e2) {
|
|
2558
|
-
}
|
|
2559
|
-
})();
|
|
2560
|
-
function normalizePolicyName(value) {
|
|
2561
|
-
if (typeof value !== "string") {
|
|
2562
|
-
return "";
|
|
2563
|
-
}
|
|
2564
|
-
return value.trim().toLowerCase();
|
|
2565
|
-
}
|
|
2566
|
-
function normalizePolicyStringSet(values) {
|
|
2567
|
-
return new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0));
|
|
2568
|
-
}
|
|
2569
|
-
function normalizePolicySurfaceToken(value) {
|
|
2570
|
-
const normalized = value.trim().toLowerCase();
|
|
2571
|
-
if (normalized.length === 0) {
|
|
2572
|
-
return "";
|
|
2573
|
-
}
|
|
2574
|
-
const segments = normalized.split(/[.:/]/).map((segment) => segment.replace(/[\s_-]+/g, "")).filter((segment) => segment.length > 0);
|
|
2575
|
-
if (segments.length === 0) {
|
|
2576
|
-
return "";
|
|
2577
|
-
}
|
|
2578
|
-
if (segments.length === 1) {
|
|
2579
|
-
return segments[0];
|
|
2580
|
-
}
|
|
2581
|
-
return `${segments[0]}.${segments.slice(1).join("")}`;
|
|
2582
|
-
}
|
|
2583
|
-
function normalizePolicySurfaceSet(values) {
|
|
2584
|
-
return new Set((values ?? []).map((value) => normalizePolicySurfaceToken(value)).filter((value) => value.length > 0));
|
|
2585
|
-
}
|
|
2586
|
-
function normalizePolicyMode(value) {
|
|
2587
|
-
const normalized = normalizePolicyName(value);
|
|
2588
|
-
if (KNOWN_EXTENSION_POLICY_MODES.includes(normalized)) {
|
|
2589
|
-
return normalized;
|
|
2590
|
+
function normalizePolicySurfaceSet(values) {
|
|
2591
|
+
return new Set((values ?? []).map((value) => normalizePolicySurfaceToken(value)).filter((value) => value.length > 0));
|
|
2592
|
+
}
|
|
2593
|
+
function normalizePolicyMode(value) {
|
|
2594
|
+
const normalized = normalizePolicyName(value);
|
|
2595
|
+
if (KNOWN_EXTENSION_POLICY_MODES.includes(normalized)) {
|
|
2596
|
+
return normalized;
|
|
2590
2597
|
}
|
|
2591
2598
|
return "off";
|
|
2592
2599
|
}
|
|
@@ -3023,7 +3030,7 @@ function evaluateExtensionPolicyForRegistration(policy, extension, surface, meth
|
|
|
3023
3030
|
!(function() {
|
|
3024
3031
|
try {
|
|
3025
3032
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
3026
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
3033
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "07458218-1762-56b2-932e-adfacc4fa916");
|
|
3027
3034
|
} catch (e2) {
|
|
3028
3035
|
}
|
|
3029
3036
|
})();
|
|
@@ -3398,14 +3405,14 @@ function buildEffectiveExtensions(globalCandidates, projectCandidates) {
|
|
|
3398
3405
|
}
|
|
3399
3406
|
return effective;
|
|
3400
3407
|
}
|
|
3401
|
-
async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled,
|
|
3408
|
+
async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled, pmMaxVersionExceededMode) {
|
|
3402
3409
|
const diagnostics = [];
|
|
3403
3410
|
const warnings = [];
|
|
3404
3411
|
const candidates = [];
|
|
3405
3412
|
const directories = await listExtensionDirectories(extensionsRoot);
|
|
3406
3413
|
const managedSourcePackages = await readManagedExtensionSourcePackages(extensionsRoot);
|
|
3407
3414
|
for (const directory of directories) {
|
|
3408
|
-
const scanned = await scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages,
|
|
3415
|
+
const scanned = await scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages, pmMaxVersionExceededMode);
|
|
3409
3416
|
diagnostics.push(scanned.diagnostic);
|
|
3410
3417
|
warnings.push(...scanned.warnings);
|
|
3411
3418
|
if (scanned.candidate) {
|
|
@@ -3453,13 +3460,13 @@ function collectScannedExtensionWarnings(layer, manifest, entryWithinDirectory,
|
|
|
3453
3460
|
}
|
|
3454
3461
|
return extensionWarnings;
|
|
3455
3462
|
}
|
|
3456
|
-
async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages,
|
|
3463
|
+
async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages, pmMaxVersionExceededMode) {
|
|
3457
3464
|
const extensionDir = path5.join(extensionsRoot, directory);
|
|
3458
3465
|
const manifestPath = path5.join(extensionDir, "manifest.json");
|
|
3459
3466
|
if (!await pathExists(manifestPath)) {
|
|
3460
3467
|
return buildUnavailableExtensionScan(layer, directory, manifestPath, `extension_manifest_missing:${layer}:${directory}`);
|
|
3461
3468
|
}
|
|
3462
|
-
let manifest
|
|
3469
|
+
let manifest;
|
|
3463
3470
|
try {
|
|
3464
3471
|
const parsed = JSON.parse(await fs3.readFile(manifestPath, "utf8"));
|
|
3465
3472
|
manifest = parseManifest(parsed);
|
|
@@ -3475,7 +3482,7 @@ async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled,
|
|
|
3475
3482
|
const entryWithinDirectory = entryWithinDirectoryByPath && entryExists ? await isCanonicalPathWithinDirectory(extensionDir, entryPath) : entryWithinDirectoryByPath;
|
|
3476
3483
|
const enabledForLoad = shouldEnable(manifest.name, enabled, disabled);
|
|
3477
3484
|
const pmVersionCompatibility = await evaluatePmMinVersionCompatibility(layer, manifest);
|
|
3478
|
-
const pmMaxVersionCompatibility = await evaluatePmMaxVersionCompatibility(layer, manifest,
|
|
3485
|
+
const pmMaxVersionCompatibility = await evaluatePmMaxVersionCompatibility(layer, manifest, pmMaxVersionExceededMode);
|
|
3479
3486
|
const extensionWarnings = collectScannedExtensionWarnings(layer, manifest, entryWithinDirectory, entryExists, pmVersionCompatibility, pmMaxVersionCompatibility);
|
|
3480
3487
|
const extensionReady = entryWithinDirectory && entryExists && pmVersionCompatibility.allowed && pmMaxVersionCompatibility.allowed;
|
|
3481
3488
|
const sourcePackage = managedSourcePackages.get(`directory:${directory}`) ?? managedSourcePackages.get(`name:${manifest.name}`);
|
|
@@ -3670,7 +3677,8 @@ async function loadExtensions(options) {
|
|
|
3670
3677
|
failed
|
|
3671
3678
|
};
|
|
3672
3679
|
}
|
|
3673
|
-
|
|
3680
|
+
const extensionsToLoad = typeof options.extensionFilter === "function" ? discovery.effective.filter(options.extensionFilter) : discovery.effective;
|
|
3681
|
+
for (const extension of extensionsToLoad) {
|
|
3674
3682
|
try {
|
|
3675
3683
|
const importHref = await resolveExtensionImportHref(extension, options);
|
|
3676
3684
|
const module = await import(importHref);
|
|
@@ -3695,6 +3703,8 @@ async function loadExtensions(options) {
|
|
|
3695
3703
|
failed
|
|
3696
3704
|
};
|
|
3697
3705
|
}
|
|
3706
|
+
var DEFAULT_EXTENSION_DEACTIVATE_TIMEOUT_MS = 5e3;
|
|
3707
|
+
var MAX_EXTENSION_DEACTIVATE_TIMEOUT_MS = 2147483647;
|
|
3698
3708
|
function toActivatableExtension(source) {
|
|
3699
3709
|
const activate = source.activate;
|
|
3700
3710
|
const activatable = {
|
|
@@ -3707,18 +3717,78 @@ function toActivatableExtension(source) {
|
|
|
3707
3717
|
return activatable;
|
|
3708
3718
|
}
|
|
3709
3719
|
function resolveActivatableExtension(module) {
|
|
3710
|
-
const
|
|
3711
|
-
|
|
3712
|
-
|
|
3720
|
+
const activatableRecord = resolveActivatablePropertyRecord(module);
|
|
3721
|
+
return activatableRecord ? toActivatableExtension(activatableRecord) : null;
|
|
3722
|
+
}
|
|
3723
|
+
async function deactivateExtensions(loadResult, activationResult, options = {}) {
|
|
3724
|
+
const timeoutMs = normalizeExtensionDeactivateTimeout(options?.deactivate_timeout_ms);
|
|
3725
|
+
const failedActivationKeys = new Set((activationResult?.failed ?? []).map((entry) => `${entry.layer}:${entry.name}`));
|
|
3726
|
+
const targets = [];
|
|
3727
|
+
for (const extension of loadResult.loaded) {
|
|
3728
|
+
if (failedActivationKeys.has(`${extension.layer}:${extension.name}`)) {
|
|
3729
|
+
continue;
|
|
3730
|
+
}
|
|
3731
|
+
const activatable = resolveActivatableExtension(extension.module);
|
|
3732
|
+
if (!activatable || typeof activatable.deactivate !== "function") {
|
|
3733
|
+
continue;
|
|
3734
|
+
}
|
|
3735
|
+
targets.push({ extension, deactivate: activatable.deactivate });
|
|
3713
3736
|
}
|
|
3714
|
-
|
|
3715
|
-
|
|
3737
|
+
const outcomes = await Promise.all(targets.map(async ({ extension, deactivate }) => {
|
|
3738
|
+
try {
|
|
3739
|
+
await runExtensionDeactivateWithTimeout(deactivate, timeoutMs);
|
|
3740
|
+
return { ok: true };
|
|
3741
|
+
} catch (error) {
|
|
3742
|
+
return { ok: false, layer: extension.layer, name: extension.name, error: formatUnknownError(error) };
|
|
3743
|
+
}
|
|
3744
|
+
}));
|
|
3745
|
+
const warnings = [];
|
|
3746
|
+
const failed = [];
|
|
3747
|
+
let deactivated = 0;
|
|
3748
|
+
for (const outcome of outcomes) {
|
|
3749
|
+
if (outcome.ok) {
|
|
3750
|
+
deactivated += 1;
|
|
3751
|
+
continue;
|
|
3752
|
+
}
|
|
3753
|
+
warnings.push(`extension_deactivate_failed:${outcome.layer}:${outcome.name}`);
|
|
3754
|
+
failed.push({ layer: outcome.layer, name: outcome.name, error: outcome.error });
|
|
3755
|
+
}
|
|
3756
|
+
return { deactivated, warnings, failed };
|
|
3757
|
+
}
|
|
3758
|
+
function normalizeExtensionDeactivateTimeout(rawTimeout) {
|
|
3759
|
+
if (typeof rawTimeout !== "number" || rawTimeout < 0) {
|
|
3760
|
+
return DEFAULT_EXTENSION_DEACTIVATE_TIMEOUT_MS;
|
|
3761
|
+
}
|
|
3762
|
+
if (rawTimeout === 0 || rawTimeout === Infinity) {
|
|
3763
|
+
return 0;
|
|
3716
3764
|
}
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3765
|
+
if (!Number.isFinite(rawTimeout)) {
|
|
3766
|
+
return DEFAULT_EXTENSION_DEACTIVATE_TIMEOUT_MS;
|
|
3767
|
+
}
|
|
3768
|
+
return Math.min(MAX_EXTENSION_DEACTIVATE_TIMEOUT_MS, Math.max(1, Math.floor(rawTimeout)));
|
|
3769
|
+
}
|
|
3770
|
+
async function runExtensionDeactivateWithTimeout(deactivate, timeoutMs) {
|
|
3771
|
+
if (timeoutMs === 0) {
|
|
3772
|
+
await deactivate();
|
|
3773
|
+
return;
|
|
3774
|
+
}
|
|
3775
|
+
let timeoutHandle;
|
|
3776
|
+
try {
|
|
3777
|
+
const deactivatePromise = Promise.resolve().then(() => deactivate());
|
|
3778
|
+
deactivatePromise.catch(() => {
|
|
3779
|
+
});
|
|
3780
|
+
await Promise.race([
|
|
3781
|
+
deactivatePromise,
|
|
3782
|
+
new Promise((_, reject) => {
|
|
3783
|
+
timeoutHandle = setTimeout(() => {
|
|
3784
|
+
reject(new Error(`extension deactivate timed out after ${timeoutMs}ms`));
|
|
3785
|
+
}, timeoutMs);
|
|
3786
|
+
timeoutHandle.unref?.();
|
|
3787
|
+
})
|
|
3788
|
+
]);
|
|
3789
|
+
} finally {
|
|
3790
|
+
clearTimeout(timeoutHandle);
|
|
3720
3791
|
}
|
|
3721
|
-
return null;
|
|
3722
3792
|
}
|
|
3723
3793
|
function isOutputRendererFormat(value) {
|
|
3724
3794
|
return value === "toon" || value === "json";
|
|
@@ -4876,10 +4946,21 @@ async function activateExtensions(loadResult) {
|
|
|
4876
4946
|
!(function() {
|
|
4877
4947
|
try {
|
|
4878
4948
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
4879
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
4949
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4e149e81-498e-561d-8c32-c3f3aec2e2d2");
|
|
4880
4950
|
} catch (e2) {
|
|
4881
4951
|
}
|
|
4882
4952
|
})();
|
|
4953
|
+
var EXTENSION_CAPABILITY_REGISTRATION_SURFACES = {
|
|
4954
|
+
commands: ["registerCommand", "command override", "command handler"],
|
|
4955
|
+
renderers: ["registerRenderer"],
|
|
4956
|
+
hooks: ["hooks.beforeCommand", "hooks.afterCommand", "hooks.onWrite", "hooks.onRead", "hooks.onIndex"],
|
|
4957
|
+
schema: ["registerFlags", "registerItemFields", "registerItemTypes", "registerMigration", "registerProfile"],
|
|
4958
|
+
importers: ["registerImporter", "registerExporter"],
|
|
4959
|
+
search: ["registerSearchProvider", "registerVectorStoreAdapter"],
|
|
4960
|
+
parser: ["registerParser"],
|
|
4961
|
+
preflight: ["registerPreflight"],
|
|
4962
|
+
services: ["registerService"]
|
|
4963
|
+
};
|
|
4883
4964
|
var USAGE_KEY_SEPARATOR = ":";
|
|
4884
4965
|
function usageKey(layer, name) {
|
|
4885
4966
|
return `${layer}${USAGE_KEY_SEPARATOR}${normalizeExtensionName(name)}`;
|
|
@@ -4942,10 +5023,16 @@ function attributeCapabilityUsage(activation) {
|
|
|
4942
5023
|
}
|
|
4943
5024
|
function collectUsedExtensionCapabilities(activation, options = {}) {
|
|
4944
5025
|
const usage = attributeCapabilityUsage(activation);
|
|
4945
|
-
const
|
|
5026
|
+
const filters = /* @__PURE__ */ new Set();
|
|
5027
|
+
if (options.extensionName !== void 0) {
|
|
5028
|
+
filters.add(normalizeExtensionName(options.extensionName));
|
|
5029
|
+
}
|
|
5030
|
+
for (const name of options.extensionNames ?? []) {
|
|
5031
|
+
filters.add(normalizeExtensionName(name));
|
|
5032
|
+
}
|
|
4946
5033
|
const used = /* @__PURE__ */ new Set();
|
|
4947
5034
|
for (const [key, capabilities] of usage) {
|
|
4948
|
-
if (
|
|
5035
|
+
if (filters.size > 0 && !filters.has(usageKeyName(key))) {
|
|
4949
5036
|
continue;
|
|
4950
5037
|
}
|
|
4951
5038
|
for (const capability of capabilities) {
|
|
@@ -4970,347 +5057,99 @@ function reconcileExtensionCapabilityUsage(loaded, activation) {
|
|
|
4970
5057
|
return reconciliations;
|
|
4971
5058
|
}
|
|
4972
5059
|
|
|
4973
|
-
// dist/core/
|
|
5060
|
+
// dist/core/schema/runtime-schema.js
|
|
5061
|
+
import path6 from "node:path";
|
|
4974
5062
|
!(function() {
|
|
4975
5063
|
try {
|
|
4976
5064
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
4977
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5065
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "917b7841-d25b-594e-9c0e-dbecbf1a3fbe");
|
|
4978
5066
|
} catch (e2) {
|
|
4979
5067
|
}
|
|
4980
5068
|
})();
|
|
4981
|
-
var
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
var
|
|
4988
|
-
var
|
|
4989
|
-
var
|
|
4990
|
-
var
|
|
4991
|
-
var
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
"
|
|
4997
|
-
"files",
|
|
4998
|
-
"learnings",
|
|
4999
|
-
"notes",
|
|
5000
|
-
"reminders",
|
|
5001
|
-
"test_runs",
|
|
5002
|
-
"tests"
|
|
5003
|
-
]);
|
|
5004
|
-
function setActiveExtensionHooks(hooks) {
|
|
5005
|
-
activeExtensionHooks = hooks;
|
|
5006
|
-
}
|
|
5007
|
-
function setActiveExtensionCommands(commands) {
|
|
5008
|
-
activeExtensionCommands = commands;
|
|
5009
|
-
}
|
|
5010
|
-
function setActiveExtensionParsers(parsers) {
|
|
5011
|
-
activeExtensionParsers = parsers;
|
|
5012
|
-
}
|
|
5013
|
-
function setActiveExtensionPreflight(preflight) {
|
|
5014
|
-
activeExtensionPreflight = preflight;
|
|
5015
|
-
}
|
|
5016
|
-
function setActiveExtensionServices(services) {
|
|
5017
|
-
activeExtensionServices = services;
|
|
5018
|
-
}
|
|
5019
|
-
function setActiveExtensionRenderers(renderers) {
|
|
5020
|
-
activeExtensionRenderers = renderers;
|
|
5069
|
+
var DEFAULT_RUNTIME_SCHEMA_FILE_PATHS = Object.freeze({
|
|
5070
|
+
types: "schema/types.json",
|
|
5071
|
+
statuses: "schema/statuses.json",
|
|
5072
|
+
fields: "schema/fields.json",
|
|
5073
|
+
workflows: "schema/workflows.json"
|
|
5074
|
+
});
|
|
5075
|
+
var DEFAULT_RUNTIME_WORKFLOW = DEFAULT_WORKFLOW_DEFINITION;
|
|
5076
|
+
var DEFAULT_RUNTIME_STATUS_DEFINITIONS = DEFAULT_STATUS_DEFINITIONS;
|
|
5077
|
+
var DEFAULT_RUNTIME_FIELD_COMMANDS = ["create", "update"];
|
|
5078
|
+
var RUNTIME_STATUS_ROLE_SET = new Set(RUNTIME_STATUS_ROLE_VALUES);
|
|
5079
|
+
var RUNTIME_FIELD_TYPE_SET = new Set(RUNTIME_FIELD_TYPE_VALUES);
|
|
5080
|
+
var RUNTIME_FIELD_COMMAND_SET = new Set(RUNTIME_FIELD_COMMAND_VALUES);
|
|
5081
|
+
var RUNTIME_UNKNOWN_FIELD_POLICY_SET = new Set(RUNTIME_UNKNOWN_FIELD_POLICY_VALUES);
|
|
5082
|
+
function normalizeStringList(values) {
|
|
5083
|
+
const candidates = Array.isArray(values) ? values : [];
|
|
5084
|
+
return [...new Set(candidates.map((value) => typeof value === "string" ? value.trim() : "").filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
5021
5085
|
}
|
|
5022
|
-
function
|
|
5023
|
-
|
|
5086
|
+
function normalizeStatusToken(value) {
|
|
5087
|
+
return typeof value === "string" ? value.trim().toLowerCase().replaceAll(/[\s-]+/g, "_") : "";
|
|
5024
5088
|
}
|
|
5025
|
-
function
|
|
5026
|
-
|
|
5089
|
+
function normalizeStatusId(value) {
|
|
5090
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
5091
|
+
return void 0;
|
|
5092
|
+
}
|
|
5093
|
+
const normalized = normalizeStatusToken(value);
|
|
5094
|
+
return normalized.length > 0 ? normalized : void 0;
|
|
5027
5095
|
}
|
|
5028
|
-
function
|
|
5029
|
-
|
|
5096
|
+
function stripFlagPrefix(value) {
|
|
5097
|
+
return value.startsWith("--") ? value.slice(2) : value;
|
|
5030
5098
|
}
|
|
5031
|
-
function
|
|
5032
|
-
|
|
5099
|
+
function normalizeCliToken(value) {
|
|
5100
|
+
return typeof value === "string" ? stripFlagPrefix(value.trim().toLowerCase().replaceAll(/[\s_]+/g, "-")) : "";
|
|
5033
5101
|
}
|
|
5034
|
-
function
|
|
5035
|
-
return
|
|
5102
|
+
function keyToDefaultCliFlag(value) {
|
|
5103
|
+
return value.replaceAll("_", "-");
|
|
5036
5104
|
}
|
|
5037
|
-
function
|
|
5038
|
-
|
|
5039
|
-
|
|
5105
|
+
function toCamelCase(input) {
|
|
5106
|
+
const segments = input.replaceAll(/[^A-Za-z0-9]+/g, " ").trim().split(/\s+/).filter((segment) => segment.length > 0).map((segment) => segment.toLowerCase());
|
|
5107
|
+
if (segments.length === 0) {
|
|
5108
|
+
return input;
|
|
5040
5109
|
}
|
|
5041
|
-
|
|
5110
|
+
const [first, ...rest] = segments;
|
|
5111
|
+
return `${first}${rest.map((segment) => `${segment.slice(0, 1).toUpperCase()}${segment.slice(1)}`).join("")}`;
|
|
5042
5112
|
}
|
|
5043
|
-
function
|
|
5044
|
-
|
|
5045
|
-
|
|
5113
|
+
function normalizeRuntimeStatusDefinition(definition, fallbackOrder) {
|
|
5114
|
+
const id = normalizeStatusId(definition.id);
|
|
5115
|
+
if (!id) {
|
|
5116
|
+
return null;
|
|
5046
5117
|
}
|
|
5047
|
-
const
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5118
|
+
const aliases = normalizeStringList(definition.aliases).map((value) => normalizeStatusToken(value)).filter((value) => value !== id);
|
|
5119
|
+
const roles = normalizeStringList(definition.roles).filter((value) => RUNTIME_STATUS_ROLE_SET.has(value));
|
|
5120
|
+
const description = definition.description?.trim();
|
|
5121
|
+
const order = typeof definition.order === "number" && Number.isFinite(definition.order) ? definition.order : fallbackOrder;
|
|
5122
|
+
return {
|
|
5123
|
+
id,
|
|
5124
|
+
aliases,
|
|
5125
|
+
roles,
|
|
5126
|
+
description: description && description.length > 0 ? description : void 0,
|
|
5127
|
+
order
|
|
5051
5128
|
};
|
|
5052
|
-
if (!Array.isArray(changedFields)) {
|
|
5053
|
-
return snapshot;
|
|
5054
|
-
}
|
|
5055
|
-
const source = metadata;
|
|
5056
|
-
for (const field of changedFields) {
|
|
5057
|
-
if (typeof field !== "string") {
|
|
5058
|
-
continue;
|
|
5059
|
-
}
|
|
5060
|
-
const actualField = field.startsWith("unset:") ? field.slice("unset:".length) : field;
|
|
5061
|
-
if (actualField === "id" || actualField === "type" || actualField === "status" || AFTER_COMMAND_SNAPSHOT_OMITTED_FIELDS.has(actualField)) {
|
|
5062
|
-
continue;
|
|
5063
|
-
}
|
|
5064
|
-
if (Object.hasOwn(source, actualField) && source[actualField] !== void 0) {
|
|
5065
|
-
snapshot[actualField] = source[actualField];
|
|
5066
|
-
}
|
|
5067
|
-
}
|
|
5068
|
-
return snapshot;
|
|
5069
5129
|
}
|
|
5070
|
-
function
|
|
5071
|
-
|
|
5072
|
-
|
|
5130
|
+
function normalizeRuntimeWorkflow(workflow) {
|
|
5131
|
+
return {
|
|
5132
|
+
draft_status: normalizeStatusId(workflow?.draft_status),
|
|
5133
|
+
open_status: normalizeStatusId(workflow?.open_status),
|
|
5134
|
+
in_progress_status: normalizeStatusId(workflow?.in_progress_status),
|
|
5135
|
+
blocked_status: normalizeStatusId(workflow?.blocked_status),
|
|
5136
|
+
close_status: normalizeStatusId(workflow?.close_status),
|
|
5137
|
+
canceled_status: normalizeStatusId(workflow?.canceled_status)
|
|
5138
|
+
};
|
|
5139
|
+
}
|
|
5140
|
+
function appendTypeWorkflowPair(record, pair) {
|
|
5141
|
+
if (!Array.isArray(pair) || pair.length !== 2) {
|
|
5142
|
+
return;
|
|
5073
5143
|
}
|
|
5074
|
-
const
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
function clearActiveExtensionHooks() {
|
|
5079
|
-
activeExtensionHooks = null;
|
|
5080
|
-
activeExtensionCommands = null;
|
|
5081
|
-
activeExtensionParsers = null;
|
|
5082
|
-
activeExtensionPreflight = null;
|
|
5083
|
-
activeExtensionServices = null;
|
|
5084
|
-
activeExtensionRenderers = null;
|
|
5085
|
-
activeExtensionRegistrations = null;
|
|
5086
|
-
activeCommandContext = null;
|
|
5087
|
-
activeCommandResult = void 0;
|
|
5088
|
-
activeAfterCommandAffectedItems = [];
|
|
5089
|
-
}
|
|
5090
|
-
async function runActiveOnWriteHooks(context) {
|
|
5091
|
-
if (!activeExtensionHooks) {
|
|
5092
|
-
return [];
|
|
5144
|
+
const from = normalizeStatusToken(pair[0]);
|
|
5145
|
+
const to = normalizeStatusToken(pair[1]);
|
|
5146
|
+
if (from.length === 0 || to.length === 0) {
|
|
5147
|
+
return;
|
|
5093
5148
|
}
|
|
5094
|
-
|
|
5095
|
-
|
|
5096
|
-
async function runActiveOnReadHooks(context) {
|
|
5097
|
-
if (!activeExtensionHooks) {
|
|
5098
|
-
return [];
|
|
5149
|
+
if (record.pairs.some((candidate) => candidate[0] === from && candidate[1] === to)) {
|
|
5150
|
+
return;
|
|
5099
5151
|
}
|
|
5100
|
-
|
|
5101
|
-
}
|
|
5102
|
-
function hasActiveOnReadHooks() {
|
|
5103
|
-
return (activeExtensionHooks?.onRead?.length ?? 0) > 0;
|
|
5104
|
-
}
|
|
5105
|
-
async function runActiveOnIndexHooks(context) {
|
|
5106
|
-
if (!activeExtensionHooks) {
|
|
5107
|
-
return [];
|
|
5108
|
-
}
|
|
5109
|
-
return runOnIndexHooks(activeExtensionHooks, context);
|
|
5110
|
-
}
|
|
5111
|
-
function runActiveCommandOverride(result) {
|
|
5112
|
-
if (!activeExtensionCommands || !activeCommandContext) {
|
|
5113
|
-
return {
|
|
5114
|
-
overridden: false,
|
|
5115
|
-
result,
|
|
5116
|
-
warnings: []
|
|
5117
|
-
};
|
|
5118
|
-
}
|
|
5119
|
-
return runCommandOverride(activeExtensionCommands, {
|
|
5120
|
-
command: activeCommandContext.command,
|
|
5121
|
-
args: [...activeCommandContext.args],
|
|
5122
|
-
options: activeCommandContext.options ? { ...activeCommandContext.options } : {},
|
|
5123
|
-
global: activeCommandContext.global ? { ...activeCommandContext.global } : void 0,
|
|
5124
|
-
pm_root: activeCommandContext.pm_root,
|
|
5125
|
-
result
|
|
5126
|
-
});
|
|
5127
|
-
}
|
|
5128
|
-
async function runActiveCommandHandler(context) {
|
|
5129
|
-
if (!activeExtensionCommands) {
|
|
5130
|
-
return {
|
|
5131
|
-
handled: false,
|
|
5132
|
-
result: null,
|
|
5133
|
-
warnings: []
|
|
5134
|
-
};
|
|
5135
|
-
}
|
|
5136
|
-
return runCommandHandler(activeExtensionCommands, context);
|
|
5137
|
-
}
|
|
5138
|
-
async function runActiveParserOverride(context) {
|
|
5139
|
-
if (!activeExtensionParsers) {
|
|
5140
|
-
return {
|
|
5141
|
-
overridden: false,
|
|
5142
|
-
context: {
|
|
5143
|
-
command: context.command,
|
|
5144
|
-
args: [...context.args],
|
|
5145
|
-
options: { ...context.options },
|
|
5146
|
-
global: { ...context.global },
|
|
5147
|
-
pm_root: context.pm_root
|
|
5148
|
-
},
|
|
5149
|
-
warnings: []
|
|
5150
|
-
};
|
|
5151
|
-
}
|
|
5152
|
-
return runParserOverride(activeExtensionParsers, context);
|
|
5153
|
-
}
|
|
5154
|
-
async function runActivePreflightOverride(context) {
|
|
5155
|
-
if (!activeExtensionPreflight) {
|
|
5156
|
-
return {
|
|
5157
|
-
overridden: false,
|
|
5158
|
-
context: {
|
|
5159
|
-
command: context.command,
|
|
5160
|
-
args: [...context.args],
|
|
5161
|
-
options: { ...context.options },
|
|
5162
|
-
global: { ...context.global },
|
|
5163
|
-
pm_root: context.pm_root
|
|
5164
|
-
},
|
|
5165
|
-
decision: { ...context.decision },
|
|
5166
|
-
warnings: []
|
|
5167
|
-
};
|
|
5168
|
-
}
|
|
5169
|
-
return runPreflightOverride(activeExtensionPreflight, context);
|
|
5170
|
-
}
|
|
5171
|
-
function runActiveRendererOverride(format, result) {
|
|
5172
|
-
if (!activeExtensionRenderers) {
|
|
5173
|
-
return {
|
|
5174
|
-
overridden: false,
|
|
5175
|
-
rendered: null,
|
|
5176
|
-
warnings: []
|
|
5177
|
-
};
|
|
5178
|
-
}
|
|
5179
|
-
return runRendererOverride(activeExtensionRenderers, {
|
|
5180
|
-
format,
|
|
5181
|
-
command: activeCommandContext?.command,
|
|
5182
|
-
args: activeCommandContext ? [...activeCommandContext.args] : [],
|
|
5183
|
-
options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
|
|
5184
|
-
global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
|
|
5185
|
-
pm_root: activeCommandContext?.pm_root,
|
|
5186
|
-
result
|
|
5187
|
-
});
|
|
5188
|
-
}
|
|
5189
|
-
function buildServiceContext(service, payload) {
|
|
5190
|
-
return {
|
|
5191
|
-
service,
|
|
5192
|
-
command: activeCommandContext?.command,
|
|
5193
|
-
args: activeCommandContext ? [...activeCommandContext.args] : [],
|
|
5194
|
-
options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
|
|
5195
|
-
global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
|
|
5196
|
-
pm_root: activeCommandContext?.pm_root,
|
|
5197
|
-
payload
|
|
5198
|
-
};
|
|
5199
|
-
}
|
|
5200
|
-
async function runActiveServiceOverride(service, payload) {
|
|
5201
|
-
if (!activeExtensionServices) {
|
|
5202
|
-
return {
|
|
5203
|
-
handled: false,
|
|
5204
|
-
result: payload,
|
|
5205
|
-
warnings: []
|
|
5206
|
-
};
|
|
5207
|
-
}
|
|
5208
|
-
return runServiceOverride(activeExtensionServices, buildServiceContext(service, payload));
|
|
5209
|
-
}
|
|
5210
|
-
function runActiveServiceOverrideSync(service, payload) {
|
|
5211
|
-
if (!activeExtensionServices) {
|
|
5212
|
-
return {
|
|
5213
|
-
handled: false,
|
|
5214
|
-
result: payload,
|
|
5215
|
-
warnings: []
|
|
5216
|
-
};
|
|
5217
|
-
}
|
|
5218
|
-
return runServiceOverrideSync(activeExtensionServices, buildServiceContext(service, payload));
|
|
5219
|
-
}
|
|
5220
|
-
|
|
5221
|
-
// dist/core/schema/runtime-schema.js
|
|
5222
|
-
import path6 from "node:path";
|
|
5223
|
-
!(function() {
|
|
5224
|
-
try {
|
|
5225
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5226
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "917b7841-d25b-594e-9c0e-dbecbf1a3fbe");
|
|
5227
|
-
} catch (e2) {
|
|
5228
|
-
}
|
|
5229
|
-
})();
|
|
5230
|
-
var DEFAULT_RUNTIME_SCHEMA_FILE_PATHS = Object.freeze({
|
|
5231
|
-
types: "schema/types.json",
|
|
5232
|
-
statuses: "schema/statuses.json",
|
|
5233
|
-
fields: "schema/fields.json",
|
|
5234
|
-
workflows: "schema/workflows.json"
|
|
5235
|
-
});
|
|
5236
|
-
var DEFAULT_RUNTIME_WORKFLOW = DEFAULT_WORKFLOW_DEFINITION;
|
|
5237
|
-
var DEFAULT_RUNTIME_STATUS_DEFINITIONS = DEFAULT_STATUS_DEFINITIONS;
|
|
5238
|
-
var DEFAULT_RUNTIME_FIELD_COMMANDS = ["create", "update"];
|
|
5239
|
-
var RUNTIME_STATUS_ROLE_SET = new Set(RUNTIME_STATUS_ROLE_VALUES);
|
|
5240
|
-
var RUNTIME_FIELD_TYPE_SET = new Set(RUNTIME_FIELD_TYPE_VALUES);
|
|
5241
|
-
var RUNTIME_FIELD_COMMAND_SET = new Set(RUNTIME_FIELD_COMMAND_VALUES);
|
|
5242
|
-
var RUNTIME_UNKNOWN_FIELD_POLICY_SET = new Set(RUNTIME_UNKNOWN_FIELD_POLICY_VALUES);
|
|
5243
|
-
function normalizeStringList(values) {
|
|
5244
|
-
const candidates = Array.isArray(values) ? values : [];
|
|
5245
|
-
return [...new Set(candidates.map((value) => typeof value === "string" ? value.trim() : "").filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
5246
|
-
}
|
|
5247
|
-
function normalizeStatusToken(value) {
|
|
5248
|
-
return typeof value === "string" ? value.trim().toLowerCase().replaceAll(/[\s-]+/g, "_") : "";
|
|
5249
|
-
}
|
|
5250
|
-
function normalizeStatusId(value) {
|
|
5251
|
-
if (typeof value !== "string" || value.length === 0) {
|
|
5252
|
-
return void 0;
|
|
5253
|
-
}
|
|
5254
|
-
const normalized = normalizeStatusToken(value);
|
|
5255
|
-
return normalized.length > 0 ? normalized : void 0;
|
|
5256
|
-
}
|
|
5257
|
-
function stripFlagPrefix(value) {
|
|
5258
|
-
return value.startsWith("--") ? value.slice(2) : value;
|
|
5259
|
-
}
|
|
5260
|
-
function normalizeCliToken(value) {
|
|
5261
|
-
return typeof value === "string" ? stripFlagPrefix(value.trim().toLowerCase().replaceAll(/[\s_]+/g, "-")) : "";
|
|
5262
|
-
}
|
|
5263
|
-
function keyToDefaultCliFlag(value) {
|
|
5264
|
-
return value.replaceAll("_", "-");
|
|
5265
|
-
}
|
|
5266
|
-
function toCamelCase(input) {
|
|
5267
|
-
const segments = input.replaceAll(/[^A-Za-z0-9]+/g, " ").trim().split(/\s+/).filter((segment) => segment.length > 0).map((segment) => segment.toLowerCase());
|
|
5268
|
-
if (segments.length === 0) {
|
|
5269
|
-
return input;
|
|
5270
|
-
}
|
|
5271
|
-
const [first, ...rest] = segments;
|
|
5272
|
-
return `${first}${rest.map((segment) => `${segment.slice(0, 1).toUpperCase()}${segment.slice(1)}`).join("")}`;
|
|
5273
|
-
}
|
|
5274
|
-
function normalizeRuntimeStatusDefinition(definition, fallbackOrder) {
|
|
5275
|
-
const id = normalizeStatusId(definition.id);
|
|
5276
|
-
if (!id) {
|
|
5277
|
-
return null;
|
|
5278
|
-
}
|
|
5279
|
-
const aliases = normalizeStringList(definition.aliases).map((value) => normalizeStatusToken(value)).filter((value) => value !== id);
|
|
5280
|
-
const roles = normalizeStringList(definition.roles).filter((value) => RUNTIME_STATUS_ROLE_SET.has(value));
|
|
5281
|
-
const description = definition.description?.trim();
|
|
5282
|
-
const order = typeof definition.order === "number" && Number.isFinite(definition.order) ? definition.order : fallbackOrder;
|
|
5283
|
-
return {
|
|
5284
|
-
id,
|
|
5285
|
-
aliases,
|
|
5286
|
-
roles,
|
|
5287
|
-
description: description && description.length > 0 ? description : void 0,
|
|
5288
|
-
order
|
|
5289
|
-
};
|
|
5290
|
-
}
|
|
5291
|
-
function normalizeRuntimeWorkflow(workflow) {
|
|
5292
|
-
return {
|
|
5293
|
-
draft_status: normalizeStatusId(workflow?.draft_status),
|
|
5294
|
-
open_status: normalizeStatusId(workflow?.open_status),
|
|
5295
|
-
in_progress_status: normalizeStatusId(workflow?.in_progress_status),
|
|
5296
|
-
blocked_status: normalizeStatusId(workflow?.blocked_status),
|
|
5297
|
-
close_status: normalizeStatusId(workflow?.close_status),
|
|
5298
|
-
canceled_status: normalizeStatusId(workflow?.canceled_status)
|
|
5299
|
-
};
|
|
5300
|
-
}
|
|
5301
|
-
function appendTypeWorkflowPair(record, pair) {
|
|
5302
|
-
if (!Array.isArray(pair) || pair.length !== 2) {
|
|
5303
|
-
return;
|
|
5304
|
-
}
|
|
5305
|
-
const from = normalizeStatusToken(pair[0]);
|
|
5306
|
-
const to = normalizeStatusToken(pair[1]);
|
|
5307
|
-
if (from.length === 0 || to.length === 0) {
|
|
5308
|
-
return;
|
|
5309
|
-
}
|
|
5310
|
-
if (record.pairs.some((candidate) => candidate[0] === from && candidate[1] === to)) {
|
|
5311
|
-
return;
|
|
5312
|
-
}
|
|
5313
|
-
record.pairs.push([from, to]);
|
|
5152
|
+
record.pairs.push([from, to]);
|
|
5314
5153
|
}
|
|
5315
5154
|
function normalizedTypeWorkflowEntry(entry) {
|
|
5316
5155
|
const rawType = typeof entry?.type === "string" ? entry.type.trim() : "";
|
|
@@ -5803,1664 +5642,6 @@ function statusIsTerminal(status, registry) {
|
|
|
5803
5642
|
return registry.terminal_statuses.has(normalized);
|
|
5804
5643
|
}
|
|
5805
5644
|
|
|
5806
|
-
// dist/core/shared/errors.js
|
|
5807
|
-
!(function() {
|
|
5808
|
-
try {
|
|
5809
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5810
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "45a4107c-5ef6-5d5c-9798-6df69f0edec3");
|
|
5811
|
-
} catch (e2) {
|
|
5812
|
-
}
|
|
5813
|
-
})();
|
|
5814
|
-
var PmCliError = class extends Error {
|
|
5815
|
-
exitCode;
|
|
5816
|
-
context;
|
|
5817
|
-
constructor(message, exitCode, context = {}) {
|
|
5818
|
-
super(message);
|
|
5819
|
-
this.name = "PmCliError";
|
|
5820
|
-
this.exitCode = exitCode;
|
|
5821
|
-
this.context = context;
|
|
5822
|
-
}
|
|
5823
|
-
};
|
|
5824
|
-
|
|
5825
|
-
// dist/core/shared/serialization.js
|
|
5826
|
-
import crypto2 from "node:crypto";
|
|
5827
|
-
!(function() {
|
|
5828
|
-
try {
|
|
5829
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5830
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "54cbe570-d9f5-5515-8d0c-0fce0e06fe03");
|
|
5831
|
-
} catch (e2) {
|
|
5832
|
-
}
|
|
5833
|
-
})();
|
|
5834
|
-
function sortScalarValue(value) {
|
|
5835
|
-
if (value === null)
|
|
5836
|
-
return null;
|
|
5837
|
-
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
5838
|
-
return value;
|
|
5839
|
-
}
|
|
5840
|
-
if (typeof value === "bigint") {
|
|
5841
|
-
return value.toString();
|
|
5842
|
-
}
|
|
5843
|
-
if (value === void 0) {
|
|
5844
|
-
return "undefined";
|
|
5845
|
-
}
|
|
5846
|
-
if (typeof value === "symbol") {
|
|
5847
|
-
return value.toString();
|
|
5848
|
-
}
|
|
5849
|
-
if (typeof value === "function") {
|
|
5850
|
-
return `[function:${value.name || "anonymous"}]`;
|
|
5851
|
-
}
|
|
5852
|
-
return void 0;
|
|
5853
|
-
}
|
|
5854
|
-
function sortPlainObjectKeys(value) {
|
|
5855
|
-
const sortedKeys = Object.keys(value).sort();
|
|
5856
|
-
const result = {};
|
|
5857
|
-
for (const key of sortedKeys) {
|
|
5858
|
-
const nested = value[key];
|
|
5859
|
-
if (nested === void 0) {
|
|
5860
|
-
continue;
|
|
5861
|
-
}
|
|
5862
|
-
result[key] = sortObjectKeys(nested);
|
|
5863
|
-
}
|
|
5864
|
-
return result;
|
|
5865
|
-
}
|
|
5866
|
-
function sortObjectKeys(value) {
|
|
5867
|
-
const scalarValue = sortScalarValue(value);
|
|
5868
|
-
if (scalarValue !== void 0) {
|
|
5869
|
-
return scalarValue;
|
|
5870
|
-
}
|
|
5871
|
-
if (Array.isArray(value)) {
|
|
5872
|
-
return value.map((entry) => sortObjectKeys(entry));
|
|
5873
|
-
}
|
|
5874
|
-
if (value instanceof Date) {
|
|
5875
|
-
return value.toISOString();
|
|
5876
|
-
}
|
|
5877
|
-
const maybeJson = value;
|
|
5878
|
-
if (typeof maybeJson.toJSON === "function") {
|
|
5879
|
-
const normalized = maybeJson.toJSON();
|
|
5880
|
-
if (normalized !== value) {
|
|
5881
|
-
return sortObjectKeys(normalized);
|
|
5882
|
-
}
|
|
5883
|
-
}
|
|
5884
|
-
return sortPlainObjectKeys(value);
|
|
5885
|
-
}
|
|
5886
|
-
function stableStringify(value) {
|
|
5887
|
-
return JSON.stringify(sortObjectKeys(value));
|
|
5888
|
-
}
|
|
5889
|
-
function hasUnmatchedEquivalent(leftValue, rightValues, matchedIndexes, equals) {
|
|
5890
|
-
for (let index = 0; index < rightValues.length; index += 1) {
|
|
5891
|
-
if (matchedIndexes.has(index)) {
|
|
5892
|
-
continue;
|
|
5893
|
-
}
|
|
5894
|
-
if (equals(leftValue, rightValues[index])) {
|
|
5895
|
-
matchedIndexes.add(index);
|
|
5896
|
-
return true;
|
|
5897
|
-
}
|
|
5898
|
-
}
|
|
5899
|
-
return false;
|
|
5900
|
-
}
|
|
5901
|
-
function compareRegExpValues(left, right) {
|
|
5902
|
-
if (!(left instanceof RegExp || right instanceof RegExp)) {
|
|
5903
|
-
return void 0;
|
|
5904
|
-
}
|
|
5905
|
-
return left instanceof RegExp && right instanceof RegExp && left.toString() === right.toString();
|
|
5906
|
-
}
|
|
5907
|
-
function compareDateValues(left, right) {
|
|
5908
|
-
if (!(left instanceof Date || right instanceof Date)) {
|
|
5909
|
-
return void 0;
|
|
5910
|
-
}
|
|
5911
|
-
return left instanceof Date && right instanceof Date && left.getTime() === right.getTime();
|
|
5912
|
-
}
|
|
5913
|
-
function compareSetValues(left, right) {
|
|
5914
|
-
if (!(left instanceof Set || right instanceof Set)) {
|
|
5915
|
-
return void 0;
|
|
5916
|
-
}
|
|
5917
|
-
if (!(left instanceof Set && right instanceof Set) || left.size !== right.size) {
|
|
5918
|
-
return false;
|
|
5919
|
-
}
|
|
5920
|
-
const rightValues = [...right];
|
|
5921
|
-
const matched = /* @__PURE__ */ new Set();
|
|
5922
|
-
for (const leftValue of left) {
|
|
5923
|
-
if (!hasUnmatchedEquivalent(leftValue, rightValues, matched, stableValueEquals)) {
|
|
5924
|
-
return false;
|
|
5925
|
-
}
|
|
5926
|
-
}
|
|
5927
|
-
return true;
|
|
5928
|
-
}
|
|
5929
|
-
function compareMapValues(left, right) {
|
|
5930
|
-
if (!(left instanceof Map || right instanceof Map)) {
|
|
5931
|
-
return void 0;
|
|
5932
|
-
}
|
|
5933
|
-
if (!(left instanceof Map && right instanceof Map) || left.size !== right.size) {
|
|
5934
|
-
return false;
|
|
5935
|
-
}
|
|
5936
|
-
const rightEntries = [...right.entries()];
|
|
5937
|
-
const matched = /* @__PURE__ */ new Set();
|
|
5938
|
-
for (const [leftKey, leftValue] of left.entries()) {
|
|
5939
|
-
const leftEntry = [leftKey, leftValue];
|
|
5940
|
-
if (!hasUnmatchedEquivalent(leftEntry, rightEntries, matched, ([candidateKey, candidateValue], [rightKey, rightValue]) => stableValueEquals(candidateKey, rightKey) && stableValueEquals(candidateValue, rightValue))) {
|
|
5941
|
-
return false;
|
|
5942
|
-
}
|
|
5943
|
-
}
|
|
5944
|
-
return true;
|
|
5945
|
-
}
|
|
5946
|
-
function compareArrayValues(left, right) {
|
|
5947
|
-
if (!(Array.isArray(left) || Array.isArray(right))) {
|
|
5948
|
-
return void 0;
|
|
5949
|
-
}
|
|
5950
|
-
if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {
|
|
5951
|
-
return false;
|
|
5952
|
-
}
|
|
5953
|
-
return left.every((value, index) => stableValueEquals(value, right[index]));
|
|
5954
|
-
}
|
|
5955
|
-
function comparePlainObjectValues(left, right) {
|
|
5956
|
-
const leftKeys = Object.keys(left).sort((a, b) => a.localeCompare(b));
|
|
5957
|
-
const rightKeys = Object.keys(right).sort((a, b) => a.localeCompare(b));
|
|
5958
|
-
if (leftKeys.length !== rightKeys.length) {
|
|
5959
|
-
return false;
|
|
5960
|
-
}
|
|
5961
|
-
for (let index = 0; index < leftKeys.length; index += 1) {
|
|
5962
|
-
const leftKey = leftKeys[index];
|
|
5963
|
-
if (leftKey !== rightKeys[index]) {
|
|
5964
|
-
return false;
|
|
5965
|
-
}
|
|
5966
|
-
if (!stableValueEquals(left[leftKey], right[leftKey])) {
|
|
5967
|
-
return false;
|
|
5968
|
-
}
|
|
5969
|
-
}
|
|
5970
|
-
return true;
|
|
5971
|
-
}
|
|
5972
|
-
var SPECIALIZED_STABLE_VALUE_COMPARISONS = [
|
|
5973
|
-
compareRegExpValues,
|
|
5974
|
-
compareDateValues,
|
|
5975
|
-
compareSetValues,
|
|
5976
|
-
compareMapValues,
|
|
5977
|
-
compareArrayValues
|
|
5978
|
-
];
|
|
5979
|
-
function stableValueEquals(left, right) {
|
|
5980
|
-
if (Object.is(left, right)) {
|
|
5981
|
-
return true;
|
|
5982
|
-
}
|
|
5983
|
-
if (left === null || right === null || typeof left !== "object" || typeof right !== "object") {
|
|
5984
|
-
return false;
|
|
5985
|
-
}
|
|
5986
|
-
for (const compare of SPECIALIZED_STABLE_VALUE_COMPARISONS) {
|
|
5987
|
-
const result = compare(left, right);
|
|
5988
|
-
if (result !== void 0) {
|
|
5989
|
-
return result;
|
|
5990
|
-
}
|
|
5991
|
-
}
|
|
5992
|
-
return comparePlainObjectValues(left, right);
|
|
5993
|
-
}
|
|
5994
|
-
function sha256Hex(value) {
|
|
5995
|
-
return crypto2.createHash("sha256").update(value, "utf8").digest("hex");
|
|
5996
|
-
}
|
|
5997
|
-
function orderObject(value, keyOrder) {
|
|
5998
|
-
const ordered = {};
|
|
5999
|
-
for (const key of keyOrder) {
|
|
6000
|
-
const entry = value[key];
|
|
6001
|
-
if (entry !== void 0) {
|
|
6002
|
-
ordered[key] = entry;
|
|
6003
|
-
}
|
|
6004
|
-
}
|
|
6005
|
-
const unknownKeys = Object.keys(value).filter((key) => !keyOrder.includes(key)).sort((a, b) => a.localeCompare(b));
|
|
6006
|
-
for (const key of unknownKeys) {
|
|
6007
|
-
const entry = value[key];
|
|
6008
|
-
if (entry !== void 0) {
|
|
6009
|
-
ordered[key] = entry;
|
|
6010
|
-
}
|
|
6011
|
-
}
|
|
6012
|
-
return ordered;
|
|
6013
|
-
}
|
|
6014
|
-
|
|
6015
|
-
// dist/core/store/settings-validator.js
|
|
6016
|
-
!(function() {
|
|
6017
|
-
try {
|
|
6018
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
6019
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "31c04c84-ab93-5423-8425-f01cdbc48a9f");
|
|
6020
|
-
} catch (e2) {
|
|
6021
|
-
}
|
|
6022
|
-
})();
|
|
6023
|
-
var FAIL = { ok: false };
|
|
6024
|
-
var vString = (input) => typeof input === "string" ? { ok: true, value: input } : FAIL;
|
|
6025
|
-
var vBoolean = (input) => typeof input === "boolean" ? { ok: true, value: input } : FAIL;
|
|
6026
|
-
function vNumber(options = {}) {
|
|
6027
|
-
return (input) => {
|
|
6028
|
-
if (typeof input !== "number" || !Number.isFinite(input)) {
|
|
6029
|
-
return FAIL;
|
|
6030
|
-
}
|
|
6031
|
-
if (options.int && (!Number.isInteger(input) || !Number.isSafeInteger(input))) {
|
|
6032
|
-
return FAIL;
|
|
6033
|
-
}
|
|
6034
|
-
if (options.positive && input <= 0) {
|
|
6035
|
-
return FAIL;
|
|
6036
|
-
}
|
|
6037
|
-
return { ok: true, value: input };
|
|
6038
|
-
};
|
|
6039
|
-
}
|
|
6040
|
-
function vLiteral(...allowed) {
|
|
6041
|
-
return (input) => typeof input === "string" && allowed.includes(input) ? { ok: true, value: input } : FAIL;
|
|
6042
|
-
}
|
|
6043
|
-
function vArray(item) {
|
|
6044
|
-
return (input) => {
|
|
6045
|
-
if (!Array.isArray(input)) {
|
|
6046
|
-
return FAIL;
|
|
6047
|
-
}
|
|
6048
|
-
const value = [];
|
|
6049
|
-
for (const element of input) {
|
|
6050
|
-
const result = item(element);
|
|
6051
|
-
if (!result.ok) {
|
|
6052
|
-
return FAIL;
|
|
6053
|
-
}
|
|
6054
|
-
value.push(result.value);
|
|
6055
|
-
}
|
|
6056
|
-
return { ok: true, value };
|
|
6057
|
-
};
|
|
6058
|
-
}
|
|
6059
|
-
function vOptional(inner) {
|
|
6060
|
-
return (input) => input === void 0 ? { ok: true, value: void 0 } : inner(input);
|
|
6061
|
-
}
|
|
6062
|
-
function vRecordOf(valueCheck) {
|
|
6063
|
-
return (input) => {
|
|
6064
|
-
if (typeof input !== "object" || input === null || Array.isArray(input)) {
|
|
6065
|
-
return FAIL;
|
|
6066
|
-
}
|
|
6067
|
-
const value = {};
|
|
6068
|
-
for (const [key, raw] of Object.entries(input)) {
|
|
6069
|
-
const result = valueCheck(raw);
|
|
6070
|
-
if (!result.ok) {
|
|
6071
|
-
return FAIL;
|
|
6072
|
-
}
|
|
6073
|
-
value[key] = result.value;
|
|
6074
|
-
}
|
|
6075
|
-
return { ok: true, value };
|
|
6076
|
-
};
|
|
6077
|
-
}
|
|
6078
|
-
function vObject(shape) {
|
|
6079
|
-
return (input) => {
|
|
6080
|
-
if (typeof input !== "object" || input === null || Array.isArray(input)) {
|
|
6081
|
-
return FAIL;
|
|
6082
|
-
}
|
|
6083
|
-
const record = input;
|
|
6084
|
-
const value = {};
|
|
6085
|
-
for (const [key, check] of Object.entries(shape)) {
|
|
6086
|
-
const result = check(record[key]);
|
|
6087
|
-
if (!result.ok) {
|
|
6088
|
-
return FAIL;
|
|
6089
|
-
}
|
|
6090
|
-
if (result.value !== void 0) {
|
|
6091
|
-
value[key] = result.value;
|
|
6092
|
-
}
|
|
6093
|
-
}
|
|
6094
|
-
return { ok: true, value };
|
|
6095
|
-
};
|
|
6096
|
-
}
|
|
6097
|
-
var itemTypeOption = vObject({
|
|
6098
|
-
key: vString,
|
|
6099
|
-
values: vArray(vString),
|
|
6100
|
-
required: vOptional(vBoolean),
|
|
6101
|
-
aliases: vOptional(vArray(vString)),
|
|
6102
|
-
description: vOptional(vString)
|
|
6103
|
-
});
|
|
6104
|
-
var itemTypeCommandOptionPolicy = vObject({
|
|
6105
|
-
command: vLiteral("create", "update"),
|
|
6106
|
-
option: vString,
|
|
6107
|
-
required: vOptional(vBoolean),
|
|
6108
|
-
visible: vOptional(vBoolean),
|
|
6109
|
-
enabled: vOptional(vBoolean)
|
|
6110
|
-
});
|
|
6111
|
-
var itemTypeDefinition = vObject({
|
|
6112
|
-
name: vString,
|
|
6113
|
-
description: vOptional(vString),
|
|
6114
|
-
// Per-type create-time default status (config-driven); preserved so inline
|
|
6115
|
-
// settings.item_types.definitions behave identically to schema/types.json.
|
|
6116
|
-
default_status: vOptional(vString),
|
|
6117
|
-
folder: vOptional(vString),
|
|
6118
|
-
aliases: vOptional(vArray(vString)),
|
|
6119
|
-
required_create_fields: vOptional(vArray(vString)),
|
|
6120
|
-
required_create_repeatables: vOptional(vArray(vString)),
|
|
6121
|
-
options: vOptional(vArray(itemTypeOption)),
|
|
6122
|
-
command_option_policies: vOptional(vArray(itemTypeCommandOptionPolicy))
|
|
6123
|
-
});
|
|
6124
|
-
var runtimeStatusDefinition = vObject({
|
|
6125
|
-
id: vString,
|
|
6126
|
-
aliases: vOptional(vArray(vString)),
|
|
6127
|
-
roles: vOptional(vArray(vLiteral(...RUNTIME_STATUS_ROLE_VALUES))),
|
|
6128
|
-
description: vOptional(vString),
|
|
6129
|
-
order: vOptional(vNumber())
|
|
6130
|
-
});
|
|
6131
|
-
var runtimeFieldDefinition = vObject({
|
|
6132
|
-
key: vString,
|
|
6133
|
-
metadata_key: vOptional(vString),
|
|
6134
|
-
front_matter_key: vOptional(vString),
|
|
6135
|
-
cli_flag: vOptional(vString),
|
|
6136
|
-
cli_aliases: vOptional(vArray(vString)),
|
|
6137
|
-
description: vOptional(vString),
|
|
6138
|
-
type: vOptional(vLiteral(...RUNTIME_FIELD_TYPE_VALUES)),
|
|
6139
|
-
commands: vOptional(vArray(vLiteral(...RUNTIME_FIELD_COMMAND_VALUES))),
|
|
6140
|
-
repeatable: vOptional(vBoolean),
|
|
6141
|
-
required: vOptional(vBoolean),
|
|
6142
|
-
required_on_create: vOptional(vBoolean),
|
|
6143
|
-
required_types: vOptional(vArray(vString)),
|
|
6144
|
-
allow_unset: vOptional(vBoolean)
|
|
6145
|
-
});
|
|
6146
|
-
var statusTransitionPair = (input) => {
|
|
6147
|
-
if (!Array.isArray(input) || input.length !== 2) {
|
|
6148
|
-
return FAIL;
|
|
6149
|
-
}
|
|
6150
|
-
const [from, to] = input;
|
|
6151
|
-
if (typeof from !== "string" || typeof to !== "string") {
|
|
6152
|
-
return FAIL;
|
|
6153
|
-
}
|
|
6154
|
-
return { ok: true, value: [from, to] };
|
|
6155
|
-
};
|
|
6156
|
-
var typeWorkflowDefinition = vObject({
|
|
6157
|
-
type: vString,
|
|
6158
|
-
allowed_transitions: vArray(statusTransitionPair)
|
|
6159
|
-
});
|
|
6160
|
-
var runtimeSchemaSettings = vOptional(vObject({
|
|
6161
|
-
version: vOptional(vNumber({ int: true })),
|
|
6162
|
-
files: vOptional(vObject({
|
|
6163
|
-
types: vOptional(vString),
|
|
6164
|
-
statuses: vOptional(vString),
|
|
6165
|
-
fields: vOptional(vString),
|
|
6166
|
-
workflows: vOptional(vString)
|
|
6167
|
-
})),
|
|
6168
|
-
statuses: vOptional(vArray(runtimeStatusDefinition)),
|
|
6169
|
-
fields: vOptional(vArray(runtimeFieldDefinition)),
|
|
6170
|
-
workflow: vOptional(vObject({
|
|
6171
|
-
draft_status: vOptional(vString),
|
|
6172
|
-
open_status: vOptional(vString),
|
|
6173
|
-
in_progress_status: vOptional(vString),
|
|
6174
|
-
blocked_status: vOptional(vString),
|
|
6175
|
-
close_status: vOptional(vString),
|
|
6176
|
-
canceled_status: vOptional(vString)
|
|
6177
|
-
})),
|
|
6178
|
-
type_workflows: vOptional(vArray(typeWorkflowDefinition)),
|
|
6179
|
-
unknown_field_policy: vOptional(vLiteral(...RUNTIME_UNKNOWN_FIELD_POLICY_VALUES))
|
|
6180
|
-
}));
|
|
6181
|
-
var governanceSettings = vOptional(vObject({
|
|
6182
|
-
preset: vOptional(vLiteral(...GOVERNANCE_PRESET_VALUES)),
|
|
6183
|
-
ownership_enforcement: vOptional(vLiteral("none", "warn", "strict")),
|
|
6184
|
-
create_mode_default: vOptional(vLiteral("progressive", "strict")),
|
|
6185
|
-
close_validation_default: vOptional(vLiteral("off", "warn", "strict")),
|
|
6186
|
-
require_close_reason: vOptional(vBoolean),
|
|
6187
|
-
parent_reference: vOptional(vLiteral("warn", "strict_error")),
|
|
6188
|
-
metadata_profile: vOptional(vLiteral("core", "strict", "custom")),
|
|
6189
|
-
force_required_for_stale_lock: vOptional(vBoolean),
|
|
6190
|
-
create_default_type: vOptional(vString),
|
|
6191
|
-
workflow_enforcement: vOptional(vLiteral("off", "warn", "strict"))
|
|
6192
|
-
}));
|
|
6193
|
-
var extensionPolicyOverride = vObject({
|
|
6194
|
-
name: vString,
|
|
6195
|
-
disabled: vOptional(vBoolean),
|
|
6196
|
-
require_trusted: vOptional(vBoolean),
|
|
6197
|
-
require_provenance: vOptional(vBoolean),
|
|
6198
|
-
sandbox_profile: vOptional(vLiteral("none", "restricted", "strict")),
|
|
6199
|
-
allowed_capabilities: vOptional(vArray(vString)),
|
|
6200
|
-
blocked_capabilities: vOptional(vArray(vString)),
|
|
6201
|
-
allowed_surfaces: vOptional(vArray(vString)),
|
|
6202
|
-
blocked_surfaces: vOptional(vArray(vString)),
|
|
6203
|
-
allowed_commands: vOptional(vArray(vString)),
|
|
6204
|
-
blocked_commands: vOptional(vArray(vString)),
|
|
6205
|
-
allowed_actions: vOptional(vArray(vString)),
|
|
6206
|
-
blocked_actions: vOptional(vArray(vString)),
|
|
6207
|
-
allowed_services: vOptional(vArray(vString)),
|
|
6208
|
-
blocked_services: vOptional(vArray(vString))
|
|
6209
|
-
});
|
|
6210
|
-
var pmMaxVersionExceededModeLiteral = vLiteral("block", "warn");
|
|
6211
|
-
var pmMaxVersionExceededMode = (input) => typeof input === "string" ? pmMaxVersionExceededModeLiteral(input) : vObject({
|
|
6212
|
-
global: vOptional(pmMaxVersionExceededModeLiteral),
|
|
6213
|
-
project: vOptional(pmMaxVersionExceededModeLiteral)
|
|
6214
|
-
})(input);
|
|
6215
|
-
var extensionPolicy = vOptional(vObject({
|
|
6216
|
-
mode: vOptional(vLiteral("off", "warn", "enforce")),
|
|
6217
|
-
trust_mode: vOptional(vLiteral("off", "warn", "enforce")),
|
|
6218
|
-
pm_max_version_exceeded_mode: vOptional(pmMaxVersionExceededMode),
|
|
6219
|
-
require_provenance: vOptional(vBoolean),
|
|
6220
|
-
trusted_extensions: vOptional(vArray(vString)),
|
|
6221
|
-
default_sandbox_profile: vOptional(vLiteral("none", "restricted", "strict")),
|
|
6222
|
-
allowed_extensions: vOptional(vArray(vString)),
|
|
6223
|
-
blocked_extensions: vOptional(vArray(vString)),
|
|
6224
|
-
allowed_capabilities: vOptional(vArray(vString)),
|
|
6225
|
-
blocked_capabilities: vOptional(vArray(vString)),
|
|
6226
|
-
allowed_surfaces: vOptional(vArray(vString)),
|
|
6227
|
-
blocked_surfaces: vOptional(vArray(vString)),
|
|
6228
|
-
allowed_commands: vOptional(vArray(vString)),
|
|
6229
|
-
blocked_commands: vOptional(vArray(vString)),
|
|
6230
|
-
allowed_actions: vOptional(vArray(vString)),
|
|
6231
|
-
blocked_actions: vOptional(vArray(vString)),
|
|
6232
|
-
allowed_services: vOptional(vArray(vString)),
|
|
6233
|
-
blocked_services: vOptional(vArray(vString)),
|
|
6234
|
-
extension_overrides: vOptional(vArray(extensionPolicyOverride))
|
|
6235
|
-
}));
|
|
6236
|
-
var settingsCheck = vObject({
|
|
6237
|
-
version: vNumber({ int: true }),
|
|
6238
|
-
id_prefix: vString,
|
|
6239
|
-
author_default: vString,
|
|
6240
|
-
item_format: vOptional(vLiteral("toon", "json_markdown")),
|
|
6241
|
-
locks: vObject({ ttl_seconds: vNumber({ int: true }) }),
|
|
6242
|
-
checkpoints: vOptional(vObject({ retention_days: vOptional(vNumber({ int: true, positive: true })) })),
|
|
6243
|
-
output: vObject({ default_format: vLiteral("toon", "json") }),
|
|
6244
|
-
history: vOptional(vObject({
|
|
6245
|
-
missing_stream: vLiteral("auto_create", "strict_error"),
|
|
6246
|
-
compact_policy: vOptional(vObject({
|
|
6247
|
-
enabled: vOptional(vBoolean),
|
|
6248
|
-
max_entries: vOptional(vNumber({ int: true, positive: true })),
|
|
6249
|
-
trigger: vOptional(vLiteral("health_warn", "auto"))
|
|
6250
|
-
}))
|
|
6251
|
-
})),
|
|
6252
|
-
validation: vOptional(vObject({
|
|
6253
|
-
sprint_release_format: vLiteral("warn", "strict_error"),
|
|
6254
|
-
parent_reference: vOptional(vLiteral("warn", "strict_error")),
|
|
6255
|
-
metadata_profile: vOptional(vLiteral("core", "strict", "custom")),
|
|
6256
|
-
metadata_required_fields: vOptional(vArray(vString)),
|
|
6257
|
-
lifecycle_stale_blocker_reason_patterns: vOptional(vArray(vString)),
|
|
6258
|
-
lifecycle_closure_like_blocked_reason_patterns: vOptional(vArray(vString)),
|
|
6259
|
-
lifecycle_closure_like_resolution_patterns: vOptional(vArray(vString)),
|
|
6260
|
-
lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString)),
|
|
6261
|
-
estimate_defaults_by_type: vOptional(vRecordOf(vNumber({ int: true, positive: true })))
|
|
6262
|
-
})),
|
|
6263
|
-
governance: governanceSettings,
|
|
6264
|
-
workflow: vOptional(vObject({ definition_of_done: vArray(vString) })),
|
|
6265
|
-
testing: vOptional(vObject({ record_results_to_items: vBoolean })),
|
|
6266
|
-
telemetry: vOptional(vObject({
|
|
6267
|
-
enabled: vBoolean,
|
|
6268
|
-
first_run_prompt_completed: vOptional(vBoolean),
|
|
6269
|
-
capture_level: vOptional(vLiteral("minimal", "redacted", "max")),
|
|
6270
|
-
endpoint: vOptional(vString),
|
|
6271
|
-
installation_id: vOptional(vString),
|
|
6272
|
-
retention_days: vOptional(vNumber({ int: true, positive: true }))
|
|
6273
|
-
})),
|
|
6274
|
-
agent_guidance: vOptional(vObject({
|
|
6275
|
-
prompt_completed: vOptional(vBoolean),
|
|
6276
|
-
declined: vOptional(vBoolean),
|
|
6277
|
-
declined_at: vOptional(vString),
|
|
6278
|
-
template_version: vOptional(vNumber({ int: true, positive: true })),
|
|
6279
|
-
last_checked_files: vOptional(vArray(vString))
|
|
6280
|
-
})),
|
|
6281
|
-
item_types: vOptional(vObject({ definitions: vArray(itemTypeDefinition) })),
|
|
6282
|
-
schema: runtimeSchemaSettings,
|
|
6283
|
-
context: vOptional(vObject({
|
|
6284
|
-
default_depth: vOptional(vLiteral("brief", "standard", "deep")),
|
|
6285
|
-
activity_limit: vOptional(vNumber({ int: true, positive: true })),
|
|
6286
|
-
stale_threshold_days: vOptional(vNumber({ int: true, positive: true })),
|
|
6287
|
-
sections: vOptional(vObject({
|
|
6288
|
-
hierarchy: vOptional(vBoolean),
|
|
6289
|
-
activity: vOptional(vBoolean),
|
|
6290
|
-
progress: vOptional(vBoolean),
|
|
6291
|
-
recently_created: vOptional(vBoolean),
|
|
6292
|
-
unparented: vOptional(vBoolean),
|
|
6293
|
-
blockers: vOptional(vBoolean),
|
|
6294
|
-
files: vOptional(vBoolean),
|
|
6295
|
-
workload: vOptional(vBoolean),
|
|
6296
|
-
staleness: vOptional(vBoolean),
|
|
6297
|
-
tests: vOptional(vBoolean)
|
|
6298
|
-
}))
|
|
6299
|
-
})),
|
|
6300
|
-
extensions: vObject({
|
|
6301
|
-
enabled: vArray(vString),
|
|
6302
|
-
disabled: vArray(vString),
|
|
6303
|
-
policy: extensionPolicy
|
|
6304
|
-
}),
|
|
6305
|
-
search: vObject({
|
|
6306
|
-
score_threshold: vNumber(),
|
|
6307
|
-
hybrid_semantic_weight: vOptional(vNumber()),
|
|
6308
|
-
max_results: vNumber({ int: true }),
|
|
6309
|
-
embedding_model: vString,
|
|
6310
|
-
embedding_corpus_max_characters: vOptional(vNumber()),
|
|
6311
|
-
embedding_batch_size: vNumber({ int: true }),
|
|
6312
|
-
embedding_timeout_ms: vOptional(vNumber({ int: true })),
|
|
6313
|
-
scanner_max_batch_retries: vNumber({ int: true }),
|
|
6314
|
-
provider: vOptional(vString),
|
|
6315
|
-
corpus_fields: vOptional(vArray(vString)),
|
|
6316
|
-
mutation_refresh_policy: vOptional(vLiteral("cache_only", "semantic_configured", "semantic_auto")),
|
|
6317
|
-
query_expansion: vOptional(vObject({
|
|
6318
|
-
enabled: vOptional(vBoolean),
|
|
6319
|
-
provider: vOptional(vString)
|
|
6320
|
-
})),
|
|
6321
|
-
rerank: vOptional(vObject({
|
|
6322
|
-
enabled: vOptional(vBoolean),
|
|
6323
|
-
model: vOptional(vString),
|
|
6324
|
-
top_k: vOptional(vNumber({ int: true, positive: true }))
|
|
6325
|
-
})),
|
|
6326
|
-
// pm-75k9: offline BM25 tuning. Unlike `search.tuning` (intentionally
|
|
6327
|
-
// stripped for legacy zod parity), bm25 is validated so it persists across
|
|
6328
|
-
// writeSettings round-trips — these knobs must survive to take effect.
|
|
6329
|
-
bm25: vOptional(vObject({
|
|
6330
|
-
k1: vOptional(vNumber()),
|
|
6331
|
-
b: vOptional(vNumber())
|
|
6332
|
-
}))
|
|
6333
|
-
}),
|
|
6334
|
-
providers: vObject({
|
|
6335
|
-
openai: vObject({ base_url: vString, api_key: vString, model: vString }),
|
|
6336
|
-
ollama: vObject({ base_url: vString, model: vString })
|
|
6337
|
-
}),
|
|
6338
|
-
vector_store: vObject({
|
|
6339
|
-
adapter: vOptional(vString),
|
|
6340
|
-
collection_name: vOptional(vString),
|
|
6341
|
-
qdrant: vObject({ url: vString, api_key: vString }),
|
|
6342
|
-
lancedb: vObject({ path: vString })
|
|
6343
|
-
})
|
|
6344
|
-
});
|
|
6345
|
-
function validateSettings(raw) {
|
|
6346
|
-
const result = settingsCheck(raw);
|
|
6347
|
-
if (!result.ok) {
|
|
6348
|
-
return { success: false };
|
|
6349
|
-
}
|
|
6350
|
-
return { success: true, data: result.value };
|
|
6351
|
-
}
|
|
6352
|
-
|
|
6353
|
-
// dist/core/validate/estimate-defaults.js
|
|
6354
|
-
!(function() {
|
|
6355
|
-
try {
|
|
6356
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
6357
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "33f2ca4e-022c-5fc2-9938-a3fb389c1b93");
|
|
6358
|
-
} catch (e2) {
|
|
6359
|
-
}
|
|
6360
|
-
})();
|
|
6361
|
-
var DEFAULT_ESTIMATE_MINUTES_BY_TYPE = {
|
|
6362
|
-
Epic: 2880,
|
|
6363
|
-
Feature: 480,
|
|
6364
|
-
Story: 480,
|
|
6365
|
-
Milestone: 2880,
|
|
6366
|
-
Task: 120,
|
|
6367
|
-
Issue: 60,
|
|
6368
|
-
Bug: 60,
|
|
6369
|
-
Chore: 30,
|
|
6370
|
-
Decision: 15,
|
|
6371
|
-
Plan: 120
|
|
6372
|
-
};
|
|
6373
|
-
var FALLBACK_ESTIMATE_MINUTES = 120;
|
|
6374
|
-
function isHonoredMinutes(value) {
|
|
6375
|
-
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
6376
|
-
}
|
|
6377
|
-
function toLowercasedLookup(source) {
|
|
6378
|
-
const lookup = /* @__PURE__ */ new Map();
|
|
6379
|
-
for (const [key, value] of Object.entries(source)) {
|
|
6380
|
-
lookup.set(key.toLowerCase(), value);
|
|
6381
|
-
}
|
|
6382
|
-
return lookup;
|
|
6383
|
-
}
|
|
6384
|
-
var BUILTIN_LOWERCASED_LOOKUP = toLowercasedLookup(DEFAULT_ESTIMATE_MINUTES_BY_TYPE);
|
|
6385
|
-
var OVERRIDE_LOOKUP_CACHE = /* @__PURE__ */ new WeakMap();
|
|
6386
|
-
function lowercasedOverrideLookup(overrides) {
|
|
6387
|
-
const cached = OVERRIDE_LOOKUP_CACHE.get(overrides);
|
|
6388
|
-
if (cached) {
|
|
6389
|
-
return cached;
|
|
6390
|
-
}
|
|
6391
|
-
const lookup = toLowercasedLookup(overrides);
|
|
6392
|
-
OVERRIDE_LOOKUP_CACHE.set(overrides, lookup);
|
|
6393
|
-
return lookup;
|
|
6394
|
-
}
|
|
6395
|
-
function resolveEstimateDefaultMinutes(type, overrides) {
|
|
6396
|
-
const key = (type ?? "").trim().toLowerCase();
|
|
6397
|
-
if (key.length === 0) {
|
|
6398
|
-
return FALLBACK_ESTIMATE_MINUTES;
|
|
6399
|
-
}
|
|
6400
|
-
if (overrides) {
|
|
6401
|
-
const overrideValue = lowercasedOverrideLookup(overrides).get(key);
|
|
6402
|
-
if (isHonoredMinutes(overrideValue)) {
|
|
6403
|
-
return Math.floor(overrideValue);
|
|
6404
|
-
}
|
|
6405
|
-
}
|
|
6406
|
-
const builtinValue = BUILTIN_LOWERCASED_LOOKUP.get(key);
|
|
6407
|
-
if (isHonoredMinutes(builtinValue)) {
|
|
6408
|
-
return Math.floor(builtinValue);
|
|
6409
|
-
}
|
|
6410
|
-
return FALLBACK_ESTIMATE_MINUTES;
|
|
6411
|
-
}
|
|
6412
|
-
function normalizeEstimateDefaultOverrides(raw) {
|
|
6413
|
-
const normalized = {};
|
|
6414
|
-
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
|
|
6415
|
-
return normalized;
|
|
6416
|
-
}
|
|
6417
|
-
for (const [rawKey, rawValue] of Object.entries(raw)) {
|
|
6418
|
-
const key = rawKey.trim();
|
|
6419
|
-
if (key.length === 0 || !isHonoredMinutes(rawValue)) {
|
|
6420
|
-
continue;
|
|
6421
|
-
}
|
|
6422
|
-
normalized[key] = Math.floor(rawValue);
|
|
6423
|
-
}
|
|
6424
|
-
return normalized;
|
|
6425
|
-
}
|
|
6426
|
-
|
|
6427
|
-
// dist/core/store/settings-read-cache.js
|
|
6428
|
-
import { stat } from "node:fs/promises";
|
|
6429
|
-
!(function() {
|
|
6430
|
-
try {
|
|
6431
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
6432
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "406f2d48-4969-5666-9e95-c71103f541c5");
|
|
6433
|
-
} catch (e2) {
|
|
6434
|
-
}
|
|
6435
|
-
})();
|
|
6436
|
-
var settingsReadCacheByRoot = /* @__PURE__ */ new Map();
|
|
6437
|
-
function normalizeTrackedPaths(paths) {
|
|
6438
|
-
return [...new Set(paths.map((pathValue) => pathValue.trim()).filter((pathValue) => pathValue.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
6439
|
-
}
|
|
6440
|
-
async function readPathSignature(targetPath) {
|
|
6441
|
-
try {
|
|
6442
|
-
const targetStats = await stat(targetPath);
|
|
6443
|
-
return {
|
|
6444
|
-
path: targetPath,
|
|
6445
|
-
mtime_ms: targetStats.mtimeMs,
|
|
6446
|
-
size: targetStats.size
|
|
6447
|
-
};
|
|
6448
|
-
} catch {
|
|
6449
|
-
return {
|
|
6450
|
-
path: targetPath,
|
|
6451
|
-
mtime_ms: null,
|
|
6452
|
-
size: null
|
|
6453
|
-
};
|
|
6454
|
-
}
|
|
6455
|
-
}
|
|
6456
|
-
async function collectSettingsReadCacheSignatures(paths) {
|
|
6457
|
-
const normalizedPaths = normalizeTrackedPaths(paths);
|
|
6458
|
-
const signatures = await Promise.all(normalizedPaths.map((targetPath) => readPathSignature(targetPath)));
|
|
6459
|
-
signatures.sort((left, right) => left.path.localeCompare(right.path));
|
|
6460
|
-
return signatures;
|
|
6461
|
-
}
|
|
6462
|
-
function settingsReadCacheSignaturesEqual(left, right) {
|
|
6463
|
-
if (left.length !== right.length) {
|
|
6464
|
-
return false;
|
|
6465
|
-
}
|
|
6466
|
-
for (let index = 0; index < left.length; index += 1) {
|
|
6467
|
-
const leftEntry = left[index];
|
|
6468
|
-
const rightEntry = right[index];
|
|
6469
|
-
if (leftEntry.path !== rightEntry.path || leftEntry.mtime_ms !== rightEntry.mtime_ms || leftEntry.size !== rightEntry.size) {
|
|
6470
|
-
return false;
|
|
6471
|
-
}
|
|
6472
|
-
}
|
|
6473
|
-
return true;
|
|
6474
|
-
}
|
|
6475
|
-
function getSettingsReadCacheEntry(pmRoot) {
|
|
6476
|
-
return settingsReadCacheByRoot.get(pmRoot);
|
|
6477
|
-
}
|
|
6478
|
-
function setSettingsReadCacheEntry(pmRoot, entry) {
|
|
6479
|
-
const normalizedTrackedPaths = normalizeTrackedPaths(entry.tracked_paths);
|
|
6480
|
-
const normalizedSignatures = [...entry.signatures].map((signature) => ({
|
|
6481
|
-
path: signature.path,
|
|
6482
|
-
mtime_ms: signature.mtime_ms,
|
|
6483
|
-
size: signature.size
|
|
6484
|
-
})).sort((left, right) => left.path.localeCompare(right.path));
|
|
6485
|
-
settingsReadCacheByRoot.set(pmRoot, {
|
|
6486
|
-
tracked_paths: normalizedTrackedPaths,
|
|
6487
|
-
signatures: normalizedSignatures,
|
|
6488
|
-
value: entry.value
|
|
6489
|
-
});
|
|
6490
|
-
}
|
|
6491
|
-
function clearSettingsReadCache(pmRoot) {
|
|
6492
|
-
if (pmRoot) {
|
|
6493
|
-
settingsReadCacheByRoot.delete(pmRoot);
|
|
6494
|
-
return;
|
|
6495
|
-
}
|
|
6496
|
-
settingsReadCacheByRoot.clear();
|
|
6497
|
-
}
|
|
6498
|
-
|
|
6499
|
-
// dist/core/store/settings.js
|
|
6500
|
-
!(function() {
|
|
6501
|
-
try {
|
|
6502
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
6503
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4232868d-1e9d-51a3-abbe-3d9a3d1acae1");
|
|
6504
|
-
} catch (e2) {
|
|
6505
|
-
}
|
|
6506
|
-
})();
|
|
6507
|
-
var SETTINGS_WRITE_OP = "settings:write";
|
|
6508
|
-
var SETTINGS_PERSIST_SOURCE_SYMBOL = /* @__PURE__ */ Symbol("pm.settings.persist_source");
|
|
6509
|
-
var MAX_VECTOR_STORE_COLLECTION_NAME_LENGTH = 128;
|
|
6510
|
-
function resolveGovernanceKnobsFromPreset(preset) {
|
|
6511
|
-
return structuredClone(GOVERNANCE_PRESET_DEFAULTS[preset]);
|
|
6512
|
-
}
|
|
6513
|
-
function normalizeGovernancePreset(value) {
|
|
6514
|
-
if (value === "minimal" || value === "default" || value === "strict" || value === "custom") {
|
|
6515
|
-
return value;
|
|
6516
|
-
}
|
|
6517
|
-
return SETTINGS_DEFAULTS.governance.preset;
|
|
6518
|
-
}
|
|
6519
|
-
function withGovernanceExtras(base, governance) {
|
|
6520
|
-
const createDefaultType = typeof governance.create_default_type === "string" ? governance.create_default_type.trim() : void 0;
|
|
6521
|
-
if (createDefaultType && createDefaultType.length > 0) {
|
|
6522
|
-
base.create_default_type = createDefaultType;
|
|
6523
|
-
}
|
|
6524
|
-
if (governance.workflow_enforcement === "off" || governance.workflow_enforcement === "warn" || governance.workflow_enforcement === "strict") {
|
|
6525
|
-
base.workflow_enforcement = governance.workflow_enforcement;
|
|
6526
|
-
}
|
|
6527
|
-
if (governance.require_close_reason === false) {
|
|
6528
|
-
base.require_close_reason = false;
|
|
6529
|
-
}
|
|
6530
|
-
return base;
|
|
6531
|
-
}
|
|
6532
|
-
function normalizeGovernanceForPersist(governance) {
|
|
6533
|
-
if (governance.preset === "custom") {
|
|
6534
|
-
return withGovernanceExtras({
|
|
6535
|
-
preset: "custom",
|
|
6536
|
-
ownership_enforcement: governance.ownership_enforcement,
|
|
6537
|
-
create_mode_default: governance.create_mode_default,
|
|
6538
|
-
close_validation_default: governance.close_validation_default,
|
|
6539
|
-
parent_reference: governance.parent_reference,
|
|
6540
|
-
metadata_profile: governance.metadata_profile,
|
|
6541
|
-
force_required_for_stale_lock: governance.force_required_for_stale_lock
|
|
6542
|
-
}, governance);
|
|
6543
|
-
}
|
|
6544
|
-
return withGovernanceExtras({
|
|
6545
|
-
preset: governance.preset
|
|
6546
|
-
}, governance);
|
|
6547
|
-
}
|
|
6548
|
-
function resolveGovernanceExtras(rawGovernance) {
|
|
6549
|
-
const createDefaultType = typeof rawGovernance.create_default_type === "string" ? rawGovernance.create_default_type.trim() : void 0;
|
|
6550
|
-
const extras = {};
|
|
6551
|
-
if (createDefaultType && createDefaultType.length > 0) {
|
|
6552
|
-
extras.create_default_type = createDefaultType;
|
|
6553
|
-
}
|
|
6554
|
-
if (rawGovernance.workflow_enforcement === "off" || rawGovernance.workflow_enforcement === "warn" || rawGovernance.workflow_enforcement === "strict") {
|
|
6555
|
-
extras.workflow_enforcement = rawGovernance.workflow_enforcement;
|
|
6556
|
-
}
|
|
6557
|
-
if (typeof rawGovernance.require_close_reason === "boolean") {
|
|
6558
|
-
extras.require_close_reason = rawGovernance.require_close_reason;
|
|
6559
|
-
}
|
|
6560
|
-
return extras;
|
|
6561
|
-
}
|
|
6562
|
-
function resolveGovernanceKnobs(settings) {
|
|
6563
|
-
const rawGovernance = settings.governance ?? {};
|
|
6564
|
-
const preset = normalizeGovernancePreset(rawGovernance.preset);
|
|
6565
|
-
const extras = resolveGovernanceExtras(rawGovernance);
|
|
6566
|
-
if (preset === "custom") {
|
|
6567
|
-
const baseline2 = resolveGovernanceKnobsFromPreset("default");
|
|
6568
|
-
const requireCloseReason2 = extras.require_close_reason ?? baseline2.require_close_reason;
|
|
6569
|
-
return {
|
|
6570
|
-
preset,
|
|
6571
|
-
ownership_enforcement: rawGovernance.ownership_enforcement ?? baseline2.ownership_enforcement,
|
|
6572
|
-
create_mode_default: rawGovernance.create_mode_default ?? baseline2.create_mode_default,
|
|
6573
|
-
close_validation_default: rawGovernance.close_validation_default ?? baseline2.close_validation_default,
|
|
6574
|
-
parent_reference: rawGovernance.parent_reference ?? baseline2.parent_reference,
|
|
6575
|
-
metadata_profile: rawGovernance.metadata_profile ?? baseline2.metadata_profile,
|
|
6576
|
-
force_required_for_stale_lock: rawGovernance.force_required_for_stale_lock ?? baseline2.force_required_for_stale_lock,
|
|
6577
|
-
...extras,
|
|
6578
|
-
require_close_reason: requireCloseReason2
|
|
6579
|
-
};
|
|
6580
|
-
}
|
|
6581
|
-
const baseline = resolveGovernanceKnobsFromPreset(preset);
|
|
6582
|
-
const requireCloseReason = extras.require_close_reason ?? baseline.require_close_reason;
|
|
6583
|
-
return {
|
|
6584
|
-
preset,
|
|
6585
|
-
...baseline,
|
|
6586
|
-
...extras,
|
|
6587
|
-
require_close_reason: requireCloseReason
|
|
6588
|
-
};
|
|
6589
|
-
}
|
|
6590
|
-
function cloneDefaults() {
|
|
6591
|
-
return structuredClone(SETTINGS_DEFAULTS);
|
|
6592
|
-
}
|
|
6593
|
-
function normalizeSearchMutationRefreshPolicy(value) {
|
|
6594
|
-
if (value === "cache_only" || value === "semantic_configured" || value === "semantic_auto") {
|
|
6595
|
-
return value;
|
|
6596
|
-
}
|
|
6597
|
-
return SETTINGS_DEFAULTS.search.mutation_refresh_policy;
|
|
6598
|
-
}
|
|
6599
|
-
function normalizeSearchQueryExpansionEnabled(value) {
|
|
6600
|
-
if (typeof value === "boolean") {
|
|
6601
|
-
return value;
|
|
6602
|
-
}
|
|
6603
|
-
return SETTINGS_DEFAULTS.search.query_expansion.enabled;
|
|
6604
|
-
}
|
|
6605
|
-
function normalizeSearchQueryExpansionProvider(value) {
|
|
6606
|
-
if (typeof value !== "string") {
|
|
6607
|
-
return SETTINGS_DEFAULTS.search.query_expansion.provider;
|
|
6608
|
-
}
|
|
6609
|
-
return value.trim();
|
|
6610
|
-
}
|
|
6611
|
-
function normalizeSearchRerankEnabled(value) {
|
|
6612
|
-
if (typeof value === "boolean") {
|
|
6613
|
-
return value;
|
|
6614
|
-
}
|
|
6615
|
-
return SETTINGS_DEFAULTS.search.rerank.enabled;
|
|
6616
|
-
}
|
|
6617
|
-
function normalizeSearchRerankModel(value) {
|
|
6618
|
-
if (typeof value !== "string") {
|
|
6619
|
-
return SETTINGS_DEFAULTS.search.rerank.model;
|
|
6620
|
-
}
|
|
6621
|
-
return value.trim();
|
|
6622
|
-
}
|
|
6623
|
-
function normalizeSearchRerankTopK(value) {
|
|
6624
|
-
if (typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value > 0) {
|
|
6625
|
-
return value;
|
|
6626
|
-
}
|
|
6627
|
-
return SETTINGS_DEFAULTS.search.rerank.top_k;
|
|
6628
|
-
}
|
|
6629
|
-
function normalizeVectorStoreCollectionName(value) {
|
|
6630
|
-
if (typeof value !== "string") {
|
|
6631
|
-
return SETTINGS_DEFAULTS.vector_store.collection_name;
|
|
6632
|
-
}
|
|
6633
|
-
const sanitized = value.trim().replaceAll(/[^a-zA-Z0-9_-]/g, "_");
|
|
6634
|
-
const truncated = sanitized.slice(0, MAX_VECTOR_STORE_COLLECTION_NAME_LENGTH);
|
|
6635
|
-
return truncated.length > 0 ? truncated : SETTINGS_DEFAULTS.vector_store.collection_name;
|
|
6636
|
-
}
|
|
6637
|
-
function buildSettingsPersistSourceSnapshot(parsedSettings, runtimeSettings) {
|
|
6638
|
-
const sourceSchema = parsedSettings.schema;
|
|
6639
|
-
const sourceStatuses = Array.isArray(sourceSchema?.statuses) ? sourceSchema?.statuses : void 0;
|
|
6640
|
-
const sourceFields = Array.isArray(sourceSchema?.fields) ? sourceSchema?.fields : void 0;
|
|
6641
|
-
const sourceTypeWorkflows = Array.isArray(sourceSchema?.type_workflows) ? sourceSchema?.type_workflows : void 0;
|
|
6642
|
-
return {
|
|
6643
|
-
has_source_item_type_definitions: Array.isArray(parsedSettings.item_types?.definitions),
|
|
6644
|
-
source_item_type_definitions: normalizeItemTypeDefinitions(parsedSettings.item_types?.definitions),
|
|
6645
|
-
has_source_schema_statuses: sourceStatuses !== void 0,
|
|
6646
|
-
source_schema_statuses: sourceStatuses ? structuredClone(sourceStatuses) : [],
|
|
6647
|
-
has_source_schema_fields: sourceFields !== void 0,
|
|
6648
|
-
source_schema_fields: sourceFields ? structuredClone(sourceFields) : [],
|
|
6649
|
-
has_source_schema_type_workflows: sourceTypeWorkflows !== void 0,
|
|
6650
|
-
source_schema_type_workflows: sourceTypeWorkflows ? structuredClone(sourceTypeWorkflows) : [],
|
|
6651
|
-
runtime_item_type_definitions: normalizeItemTypeDefinitions(runtimeSettings.item_types?.definitions),
|
|
6652
|
-
runtime_schema_statuses: structuredClone(runtimeSettings.schema.statuses),
|
|
6653
|
-
runtime_schema_fields: structuredClone(runtimeSettings.schema.fields),
|
|
6654
|
-
runtime_schema_type_workflows: structuredClone(runtimeSettings.schema.type_workflows ?? [])
|
|
6655
|
-
};
|
|
6656
|
-
}
|
|
6657
|
-
function attachSettingsPersistSourceSnapshot(settings, source) {
|
|
6658
|
-
Object.defineProperty(settings, SETTINGS_PERSIST_SOURCE_SYMBOL, {
|
|
6659
|
-
value: source,
|
|
6660
|
-
writable: true,
|
|
6661
|
-
configurable: true,
|
|
6662
|
-
enumerable: false
|
|
6663
|
-
});
|
|
6664
|
-
}
|
|
6665
|
-
function getSettingsPersistSourceSnapshot(settings) {
|
|
6666
|
-
const candidate = settings[SETTINGS_PERSIST_SOURCE_SYMBOL];
|
|
6667
|
-
if (!candidate || typeof candidate !== "object") {
|
|
6668
|
-
return void 0;
|
|
6669
|
-
}
|
|
6670
|
-
return candidate;
|
|
6671
|
-
}
|
|
6672
|
-
function cloneSettingsReadResult(result) {
|
|
6673
|
-
const clonedSettings = structuredClone(result.settings);
|
|
6674
|
-
const persistSource = getSettingsPersistSourceSnapshot(result.settings);
|
|
6675
|
-
if (persistSource) {
|
|
6676
|
-
attachSettingsPersistSourceSnapshot(clonedSettings, structuredClone(persistSource));
|
|
6677
|
-
}
|
|
6678
|
-
return {
|
|
6679
|
-
settings: clonedSettings,
|
|
6680
|
-
metadata: {
|
|
6681
|
-
has_explicit_item_format: result.metadata.has_explicit_item_format
|
|
6682
|
-
},
|
|
6683
|
-
warnings: [...result.warnings]
|
|
6684
|
-
};
|
|
6685
|
-
}
|
|
6686
|
-
function resolveSettingsReadTrackedPaths(pmRoot, schema, settingsPath) {
|
|
6687
|
-
const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
|
|
6688
|
-
return [
|
|
6689
|
-
settingsPath,
|
|
6690
|
-
filePathForSchemaSection(pmRoot, normalizedSchema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types),
|
|
6691
|
-
filePathForSchemaSection(pmRoot, normalizedSchema.files.statuses, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.statuses),
|
|
6692
|
-
filePathForSchemaSection(pmRoot, normalizedSchema.files.fields, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.fields),
|
|
6693
|
-
filePathForSchemaSection(pmRoot, normalizedSchema.files.workflows, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.workflows)
|
|
6694
|
-
];
|
|
6695
|
-
}
|
|
6696
|
-
async function cacheSettingsReadResult(pmRoot, trackedPaths, result) {
|
|
6697
|
-
const signatures = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
6698
|
-
setSettingsReadCacheEntry(pmRoot, {
|
|
6699
|
-
tracked_paths: trackedPaths,
|
|
6700
|
-
signatures,
|
|
6701
|
-
value: cloneSettingsReadResult(result)
|
|
6702
|
-
});
|
|
6703
|
-
}
|
|
6704
|
-
async function cacheSettingsReadResultSafe(pmRoot, trackedPaths, result) {
|
|
6705
|
-
try {
|
|
6706
|
-
await cacheSettingsReadResult(pmRoot, trackedPaths, result);
|
|
6707
|
-
} catch {
|
|
6708
|
-
clearSettingsReadCache(pmRoot);
|
|
6709
|
-
}
|
|
6710
|
-
}
|
|
6711
|
-
function findSettingsReadCacheSignature(signatures, targetPath) {
|
|
6712
|
-
return signatures.find((signature) => signature.path === targetPath);
|
|
6713
|
-
}
|
|
6714
|
-
function selectedSettingsReadCacheSignaturesEqual(before, after, targetPaths) {
|
|
6715
|
-
for (const targetPath of targetPaths) {
|
|
6716
|
-
const beforeSignature = findSettingsReadCacheSignature(before, targetPath);
|
|
6717
|
-
const afterSignature = findSettingsReadCacheSignature(after, targetPath);
|
|
6718
|
-
if (!beforeSignature || !afterSignature || !settingsReadCacheSignaturesEqual([beforeSignature], [afterSignature])) {
|
|
6719
|
-
return false;
|
|
6720
|
-
}
|
|
6721
|
-
}
|
|
6722
|
-
return true;
|
|
6723
|
-
}
|
|
6724
|
-
async function cacheSettingsReadResultIfStable(pmRoot, trackedPaths, result, stableSignatures, stablePaths) {
|
|
6725
|
-
try {
|
|
6726
|
-
const currentSignatures = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
6727
|
-
if (!selectedSettingsReadCacheSignaturesEqual(stableSignatures, currentSignatures, stablePaths)) {
|
|
6728
|
-
clearSettingsReadCache(pmRoot);
|
|
6729
|
-
return;
|
|
6730
|
-
}
|
|
6731
|
-
setSettingsReadCacheEntry(pmRoot, {
|
|
6732
|
-
tracked_paths: trackedPaths,
|
|
6733
|
-
signatures: currentSignatures,
|
|
6734
|
-
value: cloneSettingsReadResult(result)
|
|
6735
|
-
});
|
|
6736
|
-
} catch {
|
|
6737
|
-
clearSettingsReadCache(pmRoot);
|
|
6738
|
-
}
|
|
6739
|
-
}
|
|
6740
|
-
function resolvePersistedFileBackedSchemaSections(settings, source) {
|
|
6741
|
-
const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
|
|
6742
|
-
const currentItemTypeDefinitions = normalizeItemTypeDefinitions(settings.item_types?.definitions);
|
|
6743
|
-
if (!source) {
|
|
6744
|
-
return {
|
|
6745
|
-
item_type_definitions: currentItemTypeDefinitions,
|
|
6746
|
-
schema_statuses: normalizedSchema.statuses,
|
|
6747
|
-
schema_fields: normalizedSchema.fields,
|
|
6748
|
-
schema_type_workflows: normalizedSchema.type_workflows
|
|
6749
|
-
};
|
|
6750
|
-
}
|
|
6751
|
-
const currentTypeWorkflows = normalizedSchema.type_workflows ?? [];
|
|
6752
|
-
const itemTypeDefinitionsUnchanged = stableValueEquals(currentItemTypeDefinitions, source.runtime_item_type_definitions);
|
|
6753
|
-
const schemaStatusesUnchanged = stableValueEquals(normalizedSchema.statuses, source.runtime_schema_statuses);
|
|
6754
|
-
const schemaFieldsUnchanged = stableValueEquals(normalizedSchema.fields, source.runtime_schema_fields);
|
|
6755
|
-
const schemaTypeWorkflowsUnchanged = stableValueEquals(currentTypeWorkflows, source.runtime_schema_type_workflows);
|
|
6756
|
-
return {
|
|
6757
|
-
item_type_definitions: itemTypeDefinitionsUnchanged ? source.has_source_item_type_definitions ? normalizeItemTypeDefinitions(source.source_item_type_definitions) : [] : currentItemTypeDefinitions,
|
|
6758
|
-
schema_statuses: schemaStatusesUnchanged ? source.has_source_schema_statuses ? structuredClone(source.source_schema_statuses) : [] : normalizedSchema.statuses,
|
|
6759
|
-
schema_fields: schemaFieldsUnchanged ? source.has_source_schema_fields ? structuredClone(source.source_schema_fields) : [] : normalizedSchema.fields,
|
|
6760
|
-
schema_type_workflows: schemaTypeWorkflowsUnchanged ? source.has_source_schema_type_workflows ? structuredClone(source.source_schema_type_workflows) : void 0 : normalizedSchema.type_workflows
|
|
6761
|
-
};
|
|
6762
|
-
}
|
|
6763
|
-
function buildFallbackSettingsReadResult(warning) {
|
|
6764
|
-
return {
|
|
6765
|
-
settings: cloneDefaults(),
|
|
6766
|
-
metadata: {
|
|
6767
|
-
has_explicit_item_format: false
|
|
6768
|
-
},
|
|
6769
|
-
warnings: warning ? [warning] : []
|
|
6770
|
-
};
|
|
6771
|
-
}
|
|
6772
|
-
function hasExplicitItemFormat(raw) {
|
|
6773
|
-
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
6774
|
-
return false;
|
|
6775
|
-
}
|
|
6776
|
-
const itemFormat = raw.item_format;
|
|
6777
|
-
return itemFormat === "toon" || itemFormat === "json_markdown";
|
|
6778
|
-
}
|
|
6779
|
-
function normalizeStringList2(values) {
|
|
6780
|
-
return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
6781
|
-
}
|
|
6782
|
-
function normalizeAgentGuidanceSettings(value) {
|
|
6783
|
-
const defaults = SETTINGS_DEFAULTS.agent_guidance;
|
|
6784
|
-
const templateVersion = value?.template_version;
|
|
6785
|
-
return {
|
|
6786
|
-
prompt_completed: value?.prompt_completed === true,
|
|
6787
|
-
declined: value?.declined === true,
|
|
6788
|
-
declined_at: typeof value?.declined_at === "string" ? value.declined_at : defaults.declined_at,
|
|
6789
|
-
template_version: typeof templateVersion === "number" && Number.isInteger(templateVersion) && templateVersion > 0 ? templateVersion : defaults.template_version,
|
|
6790
|
-
last_checked_files: normalizeStringList2(value?.last_checked_files ?? defaults.last_checked_files)
|
|
6791
|
-
};
|
|
6792
|
-
}
|
|
6793
|
-
function normalizeLowerStringList(values) {
|
|
6794
|
-
return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
6795
|
-
}
|
|
6796
|
-
function normalizeExtensionPolicyMode(value) {
|
|
6797
|
-
if (value === "off" || value === "warn" || value === "enforce") {
|
|
6798
|
-
return value;
|
|
6799
|
-
}
|
|
6800
|
-
return SETTINGS_DEFAULTS.extensions.policy.mode;
|
|
6801
|
-
}
|
|
6802
|
-
function normalizeExtensionTrustMode(value) {
|
|
6803
|
-
if (value === "off" || value === "warn" || value === "enforce") {
|
|
6804
|
-
return value;
|
|
6805
|
-
}
|
|
6806
|
-
return SETTINGS_DEFAULTS.extensions.policy.trust_mode;
|
|
6807
|
-
}
|
|
6808
|
-
function normalizeExtensionSandboxProfile(value) {
|
|
6809
|
-
if (value === "none" || value === "restricted" || value === "strict") {
|
|
6810
|
-
return value;
|
|
6811
|
-
}
|
|
6812
|
-
return SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile;
|
|
6813
|
-
}
|
|
6814
|
-
function normalizeExtensionPolicyOverride(override) {
|
|
6815
|
-
const name = override.name.trim().toLowerCase();
|
|
6816
|
-
if (name.length === 0) {
|
|
6817
|
-
return null;
|
|
6818
|
-
}
|
|
6819
|
-
const normalized = {
|
|
6820
|
-
name
|
|
6821
|
-
};
|
|
6822
|
-
if (override.disabled === true) {
|
|
6823
|
-
normalized.disabled = true;
|
|
6824
|
-
}
|
|
6825
|
-
if (override.require_trusted === true) {
|
|
6826
|
-
normalized.require_trusted = true;
|
|
6827
|
-
}
|
|
6828
|
-
if (override.require_provenance === true) {
|
|
6829
|
-
normalized.require_provenance = true;
|
|
6830
|
-
}
|
|
6831
|
-
if (override.sandbox_profile !== void 0) {
|
|
6832
|
-
normalized.sandbox_profile = normalizeExtensionSandboxProfile(override.sandbox_profile);
|
|
6833
|
-
}
|
|
6834
|
-
const allowedCapabilities = normalizeLowerStringList(override.allowed_capabilities);
|
|
6835
|
-
const blockedCapabilities = normalizeLowerStringList(override.blocked_capabilities);
|
|
6836
|
-
const allowedSurfaces = normalizeLowerStringList(override.allowed_surfaces);
|
|
6837
|
-
const blockedSurfaces = normalizeLowerStringList(override.blocked_surfaces);
|
|
6838
|
-
const allowedCommands = normalizeLowerStringList(override.allowed_commands);
|
|
6839
|
-
const blockedCommands = normalizeLowerStringList(override.blocked_commands);
|
|
6840
|
-
const allowedActions = normalizeLowerStringList(override.allowed_actions);
|
|
6841
|
-
const blockedActions = normalizeLowerStringList(override.blocked_actions);
|
|
6842
|
-
const allowedServices = normalizeLowerStringList(override.allowed_services);
|
|
6843
|
-
const blockedServices = normalizeLowerStringList(override.blocked_services);
|
|
6844
|
-
if (allowedCapabilities.length > 0) {
|
|
6845
|
-
normalized.allowed_capabilities = allowedCapabilities;
|
|
6846
|
-
}
|
|
6847
|
-
if (blockedCapabilities.length > 0) {
|
|
6848
|
-
normalized.blocked_capabilities = blockedCapabilities;
|
|
6849
|
-
}
|
|
6850
|
-
if (allowedSurfaces.length > 0) {
|
|
6851
|
-
normalized.allowed_surfaces = allowedSurfaces;
|
|
6852
|
-
}
|
|
6853
|
-
if (blockedSurfaces.length > 0) {
|
|
6854
|
-
normalized.blocked_surfaces = blockedSurfaces;
|
|
6855
|
-
}
|
|
6856
|
-
if (allowedCommands.length > 0) {
|
|
6857
|
-
normalized.allowed_commands = allowedCommands;
|
|
6858
|
-
}
|
|
6859
|
-
if (blockedCommands.length > 0) {
|
|
6860
|
-
normalized.blocked_commands = blockedCommands;
|
|
6861
|
-
}
|
|
6862
|
-
if (allowedActions.length > 0) {
|
|
6863
|
-
normalized.allowed_actions = allowedActions;
|
|
6864
|
-
}
|
|
6865
|
-
if (blockedActions.length > 0) {
|
|
6866
|
-
normalized.blocked_actions = blockedActions;
|
|
6867
|
-
}
|
|
6868
|
-
if (allowedServices.length > 0) {
|
|
6869
|
-
normalized.allowed_services = allowedServices;
|
|
6870
|
-
}
|
|
6871
|
-
if (blockedServices.length > 0) {
|
|
6872
|
-
normalized.blocked_services = blockedServices;
|
|
6873
|
-
}
|
|
6874
|
-
return normalized;
|
|
6875
|
-
}
|
|
6876
|
-
function normalizeExtensionPolicyOverrides(overrides) {
|
|
6877
|
-
const dedupedByName = /* @__PURE__ */ new Map();
|
|
6878
|
-
for (const override of overrides ?? []) {
|
|
6879
|
-
const normalized = normalizeExtensionPolicyOverride(override);
|
|
6880
|
-
if (!normalized) {
|
|
6881
|
-
continue;
|
|
6882
|
-
}
|
|
6883
|
-
dedupedByName.set(normalized.name, normalized);
|
|
6884
|
-
}
|
|
6885
|
-
return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
6886
|
-
}
|
|
6887
|
-
function normalizePmMaxVersionExceededModeValue2(value) {
|
|
6888
|
-
return value === "block" || value === "warn" ? value : void 0;
|
|
6889
|
-
}
|
|
6890
|
-
function normalizePmMaxVersionExceededModeSetting(value) {
|
|
6891
|
-
if (typeof value === "string") {
|
|
6892
|
-
return normalizePmMaxVersionExceededModeValue2(value);
|
|
6893
|
-
}
|
|
6894
|
-
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
6895
|
-
const global2 = normalizePmMaxVersionExceededModeValue2(value.global);
|
|
6896
|
-
const project = normalizePmMaxVersionExceededModeValue2(value.project);
|
|
6897
|
-
if (global2 === void 0 && project === void 0) {
|
|
6898
|
-
return void 0;
|
|
6899
|
-
}
|
|
6900
|
-
return {
|
|
6901
|
-
...global2 !== void 0 ? { global: global2 } : {},
|
|
6902
|
-
...project !== void 0 ? { project } : {}
|
|
6903
|
-
};
|
|
6904
|
-
}
|
|
6905
|
-
return void 0;
|
|
6906
|
-
}
|
|
6907
|
-
function normalizeExtensionPolicyList(policy, key) {
|
|
6908
|
-
return normalizeLowerStringList(policy?.[key] ?? SETTINGS_DEFAULTS.extensions.policy[key]);
|
|
6909
|
-
}
|
|
6910
|
-
function normalizeExtensionPolicySettings(policy) {
|
|
6911
|
-
const pmMaxVersionExceededMode2 = normalizePmMaxVersionExceededModeSetting(policy?.pm_max_version_exceeded_mode);
|
|
6912
|
-
return {
|
|
6913
|
-
mode: normalizeExtensionPolicyMode(policy?.mode),
|
|
6914
|
-
trust_mode: normalizeExtensionTrustMode(policy?.trust_mode),
|
|
6915
|
-
...pmMaxVersionExceededMode2 !== void 0 ? { pm_max_version_exceeded_mode: pmMaxVersionExceededMode2 } : {},
|
|
6916
|
-
require_provenance: policy?.require_provenance === true,
|
|
6917
|
-
trusted_extensions: normalizeExtensionPolicyList(policy, "trusted_extensions"),
|
|
6918
|
-
default_sandbox_profile: normalizeExtensionSandboxProfile(policy?.default_sandbox_profile),
|
|
6919
|
-
allowed_extensions: normalizeExtensionPolicyList(policy, "allowed_extensions"),
|
|
6920
|
-
blocked_extensions: normalizeExtensionPolicyList(policy, "blocked_extensions"),
|
|
6921
|
-
allowed_capabilities: normalizeExtensionPolicyList(policy, "allowed_capabilities"),
|
|
6922
|
-
blocked_capabilities: normalizeExtensionPolicyList(policy, "blocked_capabilities"),
|
|
6923
|
-
allowed_surfaces: normalizeExtensionPolicyList(policy, "allowed_surfaces"),
|
|
6924
|
-
blocked_surfaces: normalizeExtensionPolicyList(policy, "blocked_surfaces"),
|
|
6925
|
-
allowed_commands: normalizeExtensionPolicyList(policy, "allowed_commands"),
|
|
6926
|
-
blocked_commands: normalizeExtensionPolicyList(policy, "blocked_commands"),
|
|
6927
|
-
allowed_actions: normalizeExtensionPolicyList(policy, "allowed_actions"),
|
|
6928
|
-
blocked_actions: normalizeExtensionPolicyList(policy, "blocked_actions"),
|
|
6929
|
-
allowed_services: normalizeExtensionPolicyList(policy, "allowed_services"),
|
|
6930
|
-
blocked_services: normalizeExtensionPolicyList(policy, "blocked_services"),
|
|
6931
|
-
extension_overrides: normalizeExtensionPolicyOverrides(policy?.extension_overrides ?? SETTINGS_DEFAULTS.extensions.policy.extension_overrides)
|
|
6932
|
-
};
|
|
6933
|
-
}
|
|
6934
|
-
function normalizeValidationMetadataRequiredFields(values) {
|
|
6935
|
-
const normalized = [...new Set((values ?? []).map((value) => value.trim().toLowerCase().replaceAll("-", "_")))].filter((value) => value.length > 0).sort((left, right) => left.localeCompare(right));
|
|
6936
|
-
return normalized.filter((value) => [
|
|
6937
|
-
"author",
|
|
6938
|
-
"acceptance_criteria",
|
|
6939
|
-
"estimated_minutes",
|
|
6940
|
-
"close_reason",
|
|
6941
|
-
"reviewer",
|
|
6942
|
-
"risk",
|
|
6943
|
-
"confidence",
|
|
6944
|
-
"sprint",
|
|
6945
|
-
"release"
|
|
6946
|
-
].includes(value));
|
|
6947
|
-
}
|
|
6948
|
-
function normalizeValidationPatternList(values) {
|
|
6949
|
-
return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
6950
|
-
}
|
|
6951
|
-
function valueOrDefault(value, fallback) {
|
|
6952
|
-
return value === void 0 ? fallback : value;
|
|
6953
|
-
}
|
|
6954
|
-
function recordOrEmpty(value) {
|
|
6955
|
-
return typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
|
|
6956
|
-
}
|
|
6957
|
-
function arrayOrEmpty(value) {
|
|
6958
|
-
return Array.isArray(value) ? value : [];
|
|
6959
|
-
}
|
|
6960
|
-
function buildValidationSettings(settings, defaults, governance) {
|
|
6961
|
-
return {
|
|
6962
|
-
...defaults.validation,
|
|
6963
|
-
...settings.validation,
|
|
6964
|
-
parent_reference: governance.parent_reference,
|
|
6965
|
-
metadata_profile: governance.metadata_profile,
|
|
6966
|
-
metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),
|
|
6967
|
-
lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? defaults.validation.lifecycle_stale_blocker_reason_patterns),
|
|
6968
|
-
lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? defaults.validation.lifecycle_closure_like_blocked_reason_patterns),
|
|
6969
|
-
lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? defaults.validation.lifecycle_closure_like_resolution_patterns),
|
|
6970
|
-
lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns),
|
|
6971
|
-
estimate_defaults_by_type: normalizeEstimateDefaultOverrides(settings.validation?.estimate_defaults_by_type)
|
|
6972
|
-
};
|
|
6973
|
-
}
|
|
6974
|
-
function buildTelemetrySettings(settings, defaults) {
|
|
6975
|
-
return {
|
|
6976
|
-
enabled: settings.telemetry?.enabled ?? defaults.telemetry.enabled,
|
|
6977
|
-
first_run_prompt_completed: settings.telemetry?.first_run_prompt_completed ?? defaults.telemetry.first_run_prompt_completed,
|
|
6978
|
-
capture_level: settings.telemetry?.capture_level ?? defaults.telemetry.capture_level,
|
|
6979
|
-
endpoint: settings.telemetry?.endpoint ?? defaults.telemetry.endpoint,
|
|
6980
|
-
installation_id: settings.telemetry?.installation_id ?? defaults.telemetry.installation_id,
|
|
6981
|
-
retention_days: settings.telemetry?.retention_days ?? defaults.telemetry.retention_days
|
|
6982
|
-
};
|
|
6983
|
-
}
|
|
6984
|
-
function buildSearchSettings(settings, defaults) {
|
|
6985
|
-
return {
|
|
6986
|
-
...defaults.search,
|
|
6987
|
-
...settings.search,
|
|
6988
|
-
mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
|
|
6989
|
-
query_expansion: {
|
|
6990
|
-
...defaults.search.query_expansion,
|
|
6991
|
-
...settings.search?.query_expansion,
|
|
6992
|
-
enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
|
|
6993
|
-
provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider)
|
|
6994
|
-
},
|
|
6995
|
-
rerank: {
|
|
6996
|
-
...defaults.search.rerank,
|
|
6997
|
-
...settings.search?.rerank,
|
|
6998
|
-
enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
|
|
6999
|
-
model: normalizeSearchRerankModel(settings.search?.rerank?.model),
|
|
7000
|
-
top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k)
|
|
7001
|
-
}
|
|
7002
|
-
};
|
|
7003
|
-
}
|
|
7004
|
-
function buildVectorStoreSettings(settings, defaults) {
|
|
7005
|
-
return {
|
|
7006
|
-
adapter: settings.vector_store.adapter ?? defaults.vector_store.adapter,
|
|
7007
|
-
collection_name: normalizeVectorStoreCollectionName(settings.vector_store.collection_name),
|
|
7008
|
-
qdrant: { ...defaults.vector_store.qdrant, ...settings.vector_store.qdrant },
|
|
7009
|
-
lancedb: { ...defaults.vector_store.lancedb, ...settings.vector_store.lancedb }
|
|
7010
|
-
};
|
|
7011
|
-
}
|
|
7012
|
-
function normalizeSettingsItemFormat(settings, defaults) {
|
|
7013
|
-
if (settings.item_format === "json_markdown") {
|
|
7014
|
-
return "toon";
|
|
7015
|
-
}
|
|
7016
|
-
return settings.item_format ?? defaults.item_format;
|
|
7017
|
-
}
|
|
7018
|
-
function buildContextSettings(settings, defaults) {
|
|
7019
|
-
return {
|
|
7020
|
-
default_depth: settings.context?.default_depth ?? defaults.context.default_depth,
|
|
7021
|
-
activity_limit: settings.context?.activity_limit ?? defaults.context.activity_limit,
|
|
7022
|
-
stale_threshold_days: settings.context?.stale_threshold_days ?? defaults.context.stale_threshold_days,
|
|
7023
|
-
sections: {
|
|
7024
|
-
...defaults.context.sections,
|
|
7025
|
-
...settings.context?.sections
|
|
7026
|
-
}
|
|
7027
|
-
};
|
|
7028
|
-
}
|
|
7029
|
-
function buildProviderSettings(settings, defaults) {
|
|
7030
|
-
return {
|
|
7031
|
-
openai: { ...defaults.providers.openai, ...settings.providers.openai },
|
|
7032
|
-
ollama: { ...defaults.providers.ollama, ...settings.providers.ollama }
|
|
7033
|
-
};
|
|
7034
|
-
}
|
|
7035
|
-
function normalizeItemTypeDefinitions(definitions) {
|
|
7036
|
-
const normalized = (definitions ?? []).map((definition) => normalizeItemTypeDefinition(definition)).filter((definition) => definition !== null);
|
|
7037
|
-
const dedupedByName = /* @__PURE__ */ new Map();
|
|
7038
|
-
for (const definition of normalized) {
|
|
7039
|
-
dedupedByName.set(definition.name.toLowerCase(), definition);
|
|
7040
|
-
}
|
|
7041
|
-
return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
7042
|
-
}
|
|
7043
|
-
function mergeSettings(settings) {
|
|
7044
|
-
const defaults = cloneDefaults();
|
|
7045
|
-
const governance = resolveGovernanceKnobs({
|
|
7046
|
-
governance: settings.governance ?? { preset: "default" }
|
|
7047
|
-
});
|
|
7048
|
-
return {
|
|
7049
|
-
...defaults,
|
|
7050
|
-
...settings,
|
|
7051
|
-
item_format: normalizeSettingsItemFormat(settings, defaults),
|
|
7052
|
-
locks: { ...defaults.locks, ...settings.locks },
|
|
7053
|
-
checkpoints: { ...defaults.checkpoints, ...settings.checkpoints },
|
|
7054
|
-
output: { ...defaults.output, ...settings.output },
|
|
7055
|
-
history: {
|
|
7056
|
-
...defaults.history,
|
|
7057
|
-
...settings.history,
|
|
7058
|
-
compact_policy: {
|
|
7059
|
-
...defaults.history.compact_policy,
|
|
7060
|
-
...settings.history?.compact_policy
|
|
7061
|
-
}
|
|
7062
|
-
},
|
|
7063
|
-
validation: buildValidationSettings(settings, defaults, governance),
|
|
7064
|
-
governance,
|
|
7065
|
-
workflow: {
|
|
7066
|
-
definition_of_done: [...settings.workflow?.definition_of_done ?? defaults.workflow.definition_of_done]
|
|
7067
|
-
},
|
|
7068
|
-
testing: {
|
|
7069
|
-
record_results_to_items: settings.testing?.record_results_to_items ?? defaults.testing.record_results_to_items
|
|
7070
|
-
},
|
|
7071
|
-
telemetry: buildTelemetrySettings(settings, defaults),
|
|
7072
|
-
agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance ?? defaults.agent_guidance),
|
|
7073
|
-
item_types: {
|
|
7074
|
-
definitions: normalizeItemTypeDefinitions(settings.item_types?.definitions)
|
|
7075
|
-
},
|
|
7076
|
-
schema: normalizeRuntimeSchemaSettings(settings.schema ?? defaults.schema),
|
|
7077
|
-
context: buildContextSettings(settings, defaults),
|
|
7078
|
-
extensions: {
|
|
7079
|
-
enabled: [...settings.extensions.enabled],
|
|
7080
|
-
disabled: [...settings.extensions.disabled],
|
|
7081
|
-
policy: normalizeExtensionPolicySettings(settings.extensions.policy ?? defaults.extensions.policy)
|
|
7082
|
-
},
|
|
7083
|
-
search: buildSearchSettings(settings, defaults),
|
|
7084
|
-
providers: buildProviderSettings(settings, defaults),
|
|
7085
|
-
vector_store: buildVectorStoreSettings(settings, defaults)
|
|
7086
|
-
};
|
|
7087
|
-
}
|
|
7088
|
-
function orderSerializedSettingsSections(ordered) {
|
|
7089
|
-
ordered.locks = orderObject(ordered.locks, ["ttl_seconds"]);
|
|
7090
|
-
ordered.checkpoints = orderObject(ordered.checkpoints, ["retention_days"]);
|
|
7091
|
-
ordered.output = orderObject(ordered.output, ["default_format"]);
|
|
7092
|
-
ordered.history = orderObject(ordered.history, ["missing_stream", "compact_policy"]);
|
|
7093
|
-
ordered.validation = orderObject(ordered.validation, [
|
|
7094
|
-
"sprint_release_format",
|
|
7095
|
-
"parent_reference",
|
|
7096
|
-
"metadata_profile",
|
|
7097
|
-
"metadata_required_fields",
|
|
7098
|
-
"lifecycle_stale_blocker_reason_patterns",
|
|
7099
|
-
"lifecycle_closure_like_blocked_reason_patterns",
|
|
7100
|
-
"lifecycle_closure_like_resolution_patterns",
|
|
7101
|
-
"lifecycle_closure_like_actual_result_patterns",
|
|
7102
|
-
"estimate_defaults_by_type"
|
|
7103
|
-
]);
|
|
7104
|
-
ordered.governance = orderObject(ordered.governance, [
|
|
7105
|
-
"preset",
|
|
7106
|
-
"ownership_enforcement",
|
|
7107
|
-
"create_mode_default",
|
|
7108
|
-
"close_validation_default",
|
|
7109
|
-
"require_close_reason",
|
|
7110
|
-
"parent_reference",
|
|
7111
|
-
"metadata_profile",
|
|
7112
|
-
"force_required_for_stale_lock",
|
|
7113
|
-
"create_default_type",
|
|
7114
|
-
"workflow_enforcement"
|
|
7115
|
-
]);
|
|
7116
|
-
ordered.workflow = orderObject(ordered.workflow, ["definition_of_done"]);
|
|
7117
|
-
ordered.testing = orderObject(ordered.testing, ["record_results_to_items"]);
|
|
7118
|
-
ordered.telemetry = orderObject(ordered.telemetry, [
|
|
7119
|
-
"enabled",
|
|
7120
|
-
"first_run_prompt_completed",
|
|
7121
|
-
"capture_level",
|
|
7122
|
-
"endpoint",
|
|
7123
|
-
"installation_id",
|
|
7124
|
-
"retention_days"
|
|
7125
|
-
]);
|
|
7126
|
-
ordered.agent_guidance = orderObject(ordered.agent_guidance, [
|
|
7127
|
-
"prompt_completed",
|
|
7128
|
-
"declined",
|
|
7129
|
-
"declined_at",
|
|
7130
|
-
"template_version",
|
|
7131
|
-
"last_checked_files"
|
|
7132
|
-
]);
|
|
7133
|
-
ordered.item_types = orderObject(ordered.item_types, ["definitions"]);
|
|
7134
|
-
ordered.schema = orderObject(ordered.schema, [
|
|
7135
|
-
"version",
|
|
7136
|
-
"files",
|
|
7137
|
-
"statuses",
|
|
7138
|
-
"fields",
|
|
7139
|
-
"workflow",
|
|
7140
|
-
"type_workflows",
|
|
7141
|
-
"unknown_field_policy"
|
|
7142
|
-
]);
|
|
7143
|
-
ordered.schema.files = orderObject(recordOrEmpty(ordered.schema.files), ["types", "statuses", "fields", "workflows"]);
|
|
7144
|
-
ordered.schema.workflow = orderObject(recordOrEmpty(ordered.schema.workflow), ["draft_status", "open_status", "in_progress_status", "blocked_status", "close_status", "canceled_status"]);
|
|
7145
|
-
ordered.context = orderObject(ordered.context, [
|
|
7146
|
-
"default_depth",
|
|
7147
|
-
"activity_limit",
|
|
7148
|
-
"stale_threshold_days",
|
|
7149
|
-
"sections"
|
|
7150
|
-
]);
|
|
7151
|
-
ordered.context.sections = orderObject(recordOrEmpty(ordered.context.sections), ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"]);
|
|
7152
|
-
ordered.extensions = orderObject(ordered.extensions, ["enabled", "disabled", "policy"]);
|
|
7153
|
-
ordered.extensions.policy = orderObject(recordOrEmpty(ordered.extensions.policy), [
|
|
7154
|
-
"mode",
|
|
7155
|
-
"trust_mode",
|
|
7156
|
-
"pm_max_version_exceeded_mode",
|
|
7157
|
-
"require_provenance",
|
|
7158
|
-
"trusted_extensions",
|
|
7159
|
-
"default_sandbox_profile",
|
|
7160
|
-
"allowed_extensions",
|
|
7161
|
-
"blocked_extensions",
|
|
7162
|
-
"allowed_capabilities",
|
|
7163
|
-
"blocked_capabilities",
|
|
7164
|
-
"allowed_surfaces",
|
|
7165
|
-
"blocked_surfaces",
|
|
7166
|
-
"allowed_commands",
|
|
7167
|
-
"blocked_commands",
|
|
7168
|
-
"allowed_actions",
|
|
7169
|
-
"blocked_actions",
|
|
7170
|
-
"allowed_services",
|
|
7171
|
-
"blocked_services",
|
|
7172
|
-
"extension_overrides"
|
|
7173
|
-
]);
|
|
7174
|
-
ordered.extensions.policy.extension_overrides = arrayOrEmpty(ordered.extensions.policy.extension_overrides).map((entry) => orderObject(recordOrEmpty(entry), [
|
|
7175
|
-
"name",
|
|
7176
|
-
"disabled",
|
|
7177
|
-
"require_trusted",
|
|
7178
|
-
"require_provenance",
|
|
7179
|
-
"sandbox_profile",
|
|
7180
|
-
"allowed_capabilities",
|
|
7181
|
-
"blocked_capabilities",
|
|
7182
|
-
"allowed_surfaces",
|
|
7183
|
-
"blocked_surfaces",
|
|
7184
|
-
"allowed_commands",
|
|
7185
|
-
"blocked_commands",
|
|
7186
|
-
"allowed_actions",
|
|
7187
|
-
"blocked_actions",
|
|
7188
|
-
"allowed_services",
|
|
7189
|
-
"blocked_services"
|
|
7190
|
-
]));
|
|
7191
|
-
ordered.search = orderObject(ordered.search, [
|
|
7192
|
-
"score_threshold",
|
|
7193
|
-
"hybrid_semantic_weight",
|
|
7194
|
-
"max_results",
|
|
7195
|
-
"embedding_model",
|
|
7196
|
-
"embedding_corpus_max_characters",
|
|
7197
|
-
"embedding_batch_size",
|
|
7198
|
-
"embedding_timeout_ms",
|
|
7199
|
-
"scanner_max_batch_retries",
|
|
7200
|
-
"provider",
|
|
7201
|
-
"mutation_refresh_policy",
|
|
7202
|
-
"query_expansion",
|
|
7203
|
-
"rerank"
|
|
7204
|
-
]);
|
|
7205
|
-
ordered.search.query_expansion = orderObject(recordOrEmpty(ordered.search.query_expansion), ["enabled", "provider"]);
|
|
7206
|
-
ordered.search.rerank = orderObject(recordOrEmpty(ordered.search.rerank), ["enabled", "model", "top_k"]);
|
|
7207
|
-
ordered.providers = orderObject(ordered.providers, ["openai", "ollama"]);
|
|
7208
|
-
ordered.providers.openai = orderObject(recordOrEmpty(ordered.providers.openai), ["base_url", "api_key", "model"]);
|
|
7209
|
-
ordered.providers.ollama = orderObject(recordOrEmpty(ordered.providers.ollama), ["base_url", "model"]);
|
|
7210
|
-
ordered.vector_store = orderObject(ordered.vector_store, [
|
|
7211
|
-
"adapter",
|
|
7212
|
-
"collection_name",
|
|
7213
|
-
"qdrant",
|
|
7214
|
-
"lancedb"
|
|
7215
|
-
]);
|
|
7216
|
-
ordered.vector_store.qdrant = orderObject(recordOrEmpty(ordered.vector_store.qdrant), ["url", "api_key"]);
|
|
7217
|
-
ordered.vector_store.lancedb = orderObject(recordOrEmpty(ordered.vector_store.lancedb), ["path"]);
|
|
7218
|
-
}
|
|
7219
|
-
function buildSerializeBaseSettings(settings) {
|
|
7220
|
-
return {
|
|
7221
|
-
...settings,
|
|
7222
|
-
locks: valueOrDefault(settings.locks, SETTINGS_DEFAULTS.locks),
|
|
7223
|
-
checkpoints: valueOrDefault(settings.checkpoints, SETTINGS_DEFAULTS.checkpoints),
|
|
7224
|
-
output: valueOrDefault(settings.output, SETTINGS_DEFAULTS.output),
|
|
7225
|
-
history: valueOrDefault(settings.history, SETTINGS_DEFAULTS.history),
|
|
7226
|
-
validation: valueOrDefault(settings.validation, SETTINGS_DEFAULTS.validation),
|
|
7227
|
-
workflow: valueOrDefault(settings.workflow, SETTINGS_DEFAULTS.workflow),
|
|
7228
|
-
testing: valueOrDefault(settings.testing, SETTINGS_DEFAULTS.testing),
|
|
7229
|
-
telemetry: valueOrDefault(settings.telemetry, SETTINGS_DEFAULTS.telemetry),
|
|
7230
|
-
agent_guidance: valueOrDefault(settings.agent_guidance, SETTINGS_DEFAULTS.agent_guidance),
|
|
7231
|
-
item_types: valueOrDefault(settings.item_types, SETTINGS_DEFAULTS.item_types),
|
|
7232
|
-
schema: valueOrDefault(settings.schema, SETTINGS_DEFAULTS.schema),
|
|
7233
|
-
context: valueOrDefault(settings.context, SETTINGS_DEFAULTS.context),
|
|
7234
|
-
extensions: valueOrDefault(settings.extensions, SETTINGS_DEFAULTS.extensions),
|
|
7235
|
-
search: valueOrDefault(settings.search, SETTINGS_DEFAULTS.search),
|
|
7236
|
-
providers: valueOrDefault(settings.providers, SETTINGS_DEFAULTS.providers),
|
|
7237
|
-
vector_store: valueOrDefault(settings.vector_store, SETTINGS_DEFAULTS.vector_store)
|
|
7238
|
-
};
|
|
7239
|
-
}
|
|
7240
|
-
function buildSerializedValidationSettings(baseSettings, governance) {
|
|
7241
|
-
return {
|
|
7242
|
-
...baseSettings.validation,
|
|
7243
|
-
parent_reference: governance.parent_reference,
|
|
7244
|
-
metadata_profile: governance.metadata_profile,
|
|
7245
|
-
metadata_required_fields: normalizeValidationMetadataRequiredFields(baseSettings.validation?.metadata_required_fields),
|
|
7246
|
-
lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
|
|
7247
|
-
lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
|
|
7248
|
-
lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
|
|
7249
|
-
lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_actual_result_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns),
|
|
7250
|
-
estimate_defaults_by_type: normalizeEstimateDefaultOverrides(baseSettings.validation?.estimate_defaults_by_type)
|
|
7251
|
-
};
|
|
7252
|
-
}
|
|
7253
|
-
function buildSerializedSearchSettings(baseSettings) {
|
|
7254
|
-
return {
|
|
7255
|
-
...SETTINGS_DEFAULTS.search,
|
|
7256
|
-
...baseSettings.search,
|
|
7257
|
-
mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
|
|
7258
|
-
query_expansion: {
|
|
7259
|
-
...SETTINGS_DEFAULTS.search.query_expansion,
|
|
7260
|
-
...baseSettings.search?.query_expansion,
|
|
7261
|
-
enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),
|
|
7262
|
-
provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider)
|
|
7263
|
-
},
|
|
7264
|
-
rerank: {
|
|
7265
|
-
...SETTINGS_DEFAULTS.search.rerank,
|
|
7266
|
-
...baseSettings.search?.rerank,
|
|
7267
|
-
enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),
|
|
7268
|
-
model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),
|
|
7269
|
-
top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k)
|
|
7270
|
-
}
|
|
7271
|
-
};
|
|
7272
|
-
}
|
|
7273
|
-
function buildSerializedContextSettings(baseSettings) {
|
|
7274
|
-
return {
|
|
7275
|
-
default_depth: baseSettings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
|
|
7276
|
-
activity_limit: baseSettings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
|
|
7277
|
-
stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
|
|
7278
|
-
sections: {
|
|
7279
|
-
...SETTINGS_DEFAULTS.context.sections,
|
|
7280
|
-
...baseSettings.context?.sections
|
|
7281
|
-
}
|
|
7282
|
-
};
|
|
7283
|
-
}
|
|
7284
|
-
function buildSerializedVectorStoreSettings(baseSettings) {
|
|
7285
|
-
return {
|
|
7286
|
-
...baseSettings.vector_store,
|
|
7287
|
-
adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
|
|
7288
|
-
collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),
|
|
7289
|
-
qdrant: { ...baseSettings.vector_store?.qdrant },
|
|
7290
|
-
lancedb: { ...baseSettings.vector_store?.lancedb }
|
|
7291
|
-
};
|
|
7292
|
-
}
|
|
7293
|
-
function buildNormalizedSettingsForSerialization(baseSettings, governance, normalizedSchema, persistedFileBackedSections) {
|
|
7294
|
-
return {
|
|
7295
|
-
...baseSettings,
|
|
7296
|
-
item_format: "toon",
|
|
7297
|
-
validation: buildSerializedValidationSettings(baseSettings, governance),
|
|
7298
|
-
governance,
|
|
7299
|
-
agent_guidance: normalizeAgentGuidanceSettings(baseSettings.agent_guidance),
|
|
7300
|
-
item_types: {
|
|
7301
|
-
definitions: persistedFileBackedSections.item_type_definitions
|
|
7302
|
-
},
|
|
7303
|
-
schema: {
|
|
7304
|
-
...normalizedSchema,
|
|
7305
|
-
statuses: persistedFileBackedSections.schema_statuses,
|
|
7306
|
-
fields: persistedFileBackedSections.schema_fields,
|
|
7307
|
-
type_workflows: persistedFileBackedSections.schema_type_workflows
|
|
7308
|
-
},
|
|
7309
|
-
search: buildSerializedSearchSettings(baseSettings),
|
|
7310
|
-
context: buildSerializedContextSettings(baseSettings),
|
|
7311
|
-
extensions: {
|
|
7312
|
-
enabled: normalizeStringList2(baseSettings.extensions?.enabled),
|
|
7313
|
-
disabled: normalizeStringList2(baseSettings.extensions?.disabled),
|
|
7314
|
-
policy: normalizeExtensionPolicySettings(baseSettings.extensions?.policy)
|
|
7315
|
-
},
|
|
7316
|
-
vector_store: buildSerializedVectorStoreSettings(baseSettings)
|
|
7317
|
-
};
|
|
7318
|
-
}
|
|
7319
|
-
function serializeSettings(settings, options = {}) {
|
|
7320
|
-
const baseSettings = buildSerializeBaseSettings(settings);
|
|
7321
|
-
const governance = resolveGovernanceKnobs(baseSettings);
|
|
7322
|
-
const normalizedSchema = normalizeRuntimeSchemaSettings(baseSettings.schema);
|
|
7323
|
-
const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(baseSettings, options.persist_source);
|
|
7324
|
-
const normalizedSettings = buildNormalizedSettingsForSerialization(baseSettings, governance, normalizedSchema, persistedFileBackedSections);
|
|
7325
|
-
const ordered = orderObject({
|
|
7326
|
-
...normalizedSettings,
|
|
7327
|
-
governance: normalizeGovernanceForPersist(governance)
|
|
7328
|
-
}, [
|
|
7329
|
-
"version",
|
|
7330
|
-
"id_prefix",
|
|
7331
|
-
"author_default",
|
|
7332
|
-
"item_format",
|
|
7333
|
-
"locks",
|
|
7334
|
-
"checkpoints",
|
|
7335
|
-
"output",
|
|
7336
|
-
"history",
|
|
7337
|
-
"validation",
|
|
7338
|
-
"governance",
|
|
7339
|
-
"workflow",
|
|
7340
|
-
"testing",
|
|
7341
|
-
"telemetry",
|
|
7342
|
-
"agent_guidance",
|
|
7343
|
-
"item_types",
|
|
7344
|
-
"schema",
|
|
7345
|
-
"context",
|
|
7346
|
-
"extensions",
|
|
7347
|
-
"search",
|
|
7348
|
-
"providers",
|
|
7349
|
-
"vector_store"
|
|
7350
|
-
]);
|
|
7351
|
-
orderSerializedSettingsSections(ordered);
|
|
7352
|
-
return `${JSON.stringify(ordered, null, 2)}
|
|
7353
|
-
`;
|
|
7354
|
-
}
|
|
7355
|
-
async function readSettingsWithMetadata(pmRoot) {
|
|
7356
|
-
const settingsPath = getSettingsPath(pmRoot);
|
|
7357
|
-
let trackedPathsForFailure = [settingsPath];
|
|
7358
|
-
await runActiveOnReadHooks({
|
|
7359
|
-
path: settingsPath,
|
|
7360
|
-
scope: "project"
|
|
7361
|
-
});
|
|
7362
|
-
const cachedResult = getSettingsReadCacheEntry(pmRoot);
|
|
7363
|
-
if (cachedResult) {
|
|
7364
|
-
const currentSignatures = await collectSettingsReadCacheSignatures(cachedResult.tracked_paths);
|
|
7365
|
-
if (settingsReadCacheSignaturesEqual(currentSignatures, cachedResult.signatures)) {
|
|
7366
|
-
return cloneSettingsReadResult(cachedResult.value);
|
|
7367
|
-
}
|
|
7368
|
-
}
|
|
7369
|
-
const settingsOnlySignatures = await collectSettingsReadCacheSignatures([settingsPath]);
|
|
7370
|
-
const raw = await readFileIfExists(settingsPath);
|
|
7371
|
-
if (raw === null) {
|
|
7372
|
-
const fallback = buildFallbackSettingsReadResult();
|
|
7373
|
-
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsOnlySignatures, [settingsPath]);
|
|
7374
|
-
return fallback;
|
|
7375
|
-
}
|
|
7376
|
-
const settingsSignaturesAfterRead = await collectSettingsReadCacheSignatures([settingsPath]);
|
|
7377
|
-
if (!settingsReadCacheSignaturesEqual(settingsOnlySignatures, settingsSignaturesAfterRead)) {
|
|
7378
|
-
clearSettingsReadCache(pmRoot);
|
|
7379
|
-
return readSettingsWithMetadata(pmRoot);
|
|
7380
|
-
}
|
|
7381
|
-
let parsed;
|
|
7382
|
-
try {
|
|
7383
|
-
parsed = JSON.parse(raw);
|
|
7384
|
-
} catch {
|
|
7385
|
-
const fallback = buildFallbackSettingsReadResult("settings_read_invalid_json");
|
|
7386
|
-
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);
|
|
7387
|
-
return fallback;
|
|
7388
|
-
}
|
|
7389
|
-
const validated = validateSettings(parsed);
|
|
7390
|
-
if (!validated.success) {
|
|
7391
|
-
const fallback = buildFallbackSettingsReadResult("settings_read_invalid_schema");
|
|
7392
|
-
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);
|
|
7393
|
-
return fallback;
|
|
7394
|
-
}
|
|
7395
|
-
try {
|
|
7396
|
-
const mergedSettings = mergeSettings(validated.data);
|
|
7397
|
-
const trackedPaths = resolveSettingsReadTrackedPaths(pmRoot, mergedSettings.schema, settingsPath);
|
|
7398
|
-
trackedPathsForFailure = trackedPaths;
|
|
7399
|
-
const signaturesBeforeSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
7400
|
-
const schemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, mergedSettings.schema);
|
|
7401
|
-
const loadedSchemaSections = await loadRuntimeSchemaFromOptionalFiles(pmRoot, mergedSettings.schema);
|
|
7402
|
-
const signaturesAfterSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
7403
|
-
const settings = {
|
|
7404
|
-
...mergedSettings,
|
|
7405
|
-
item_types: {
|
|
7406
|
-
definitions: normalizeItemTypeDefinitions([
|
|
7407
|
-
...mergedSettings.item_types.definitions,
|
|
7408
|
-
...arrayOrEmpty(loadedSchemaSections.type_definitions_from_file)
|
|
7409
|
-
])
|
|
7410
|
-
},
|
|
7411
|
-
schema: loadedSchemaSections.schema
|
|
7412
|
-
};
|
|
7413
|
-
attachSettingsPersistSourceSnapshot(settings, buildSettingsPersistSourceSnapshot(validated.data, settings));
|
|
7414
|
-
const result = {
|
|
7415
|
-
settings,
|
|
7416
|
-
metadata: {
|
|
7417
|
-
has_explicit_item_format: hasExplicitItemFormat(parsed)
|
|
7418
|
-
},
|
|
7419
|
-
warnings: [
|
|
7420
|
-
...validated.data.item_format === "json_markdown" ? ["settings_item_format_legacy_json_markdown_coerced_to_toon"] : [],
|
|
7421
|
-
...schemaScaffold.created_paths.map((createdPath) => `runtime_schema_bootstrap_created:${createdPath}`),
|
|
7422
|
-
...loadedSchemaSections.warnings
|
|
7423
|
-
]
|
|
7424
|
-
};
|
|
7425
|
-
if (schemaScaffold.created_paths.length === 0) {
|
|
7426
|
-
if (!settingsReadCacheSignaturesEqual(signaturesBeforeSchemaLoad, signaturesAfterSchemaLoad)) {
|
|
7427
|
-
clearSettingsReadCache(pmRoot);
|
|
7428
|
-
} else {
|
|
7429
|
-
setSettingsReadCacheEntry(pmRoot, {
|
|
7430
|
-
tracked_paths: trackedPaths,
|
|
7431
|
-
signatures: signaturesAfterSchemaLoad,
|
|
7432
|
-
value: cloneSettingsReadResult(result)
|
|
7433
|
-
});
|
|
7434
|
-
}
|
|
7435
|
-
} else {
|
|
7436
|
-
clearSettingsReadCache(pmRoot);
|
|
7437
|
-
}
|
|
7438
|
-
return result;
|
|
7439
|
-
} catch {
|
|
7440
|
-
const fallback = buildFallbackSettingsReadResult("settings_read_merge_failed");
|
|
7441
|
-
await cacheSettingsReadResultSafe(pmRoot, trackedPathsForFailure, fallback);
|
|
7442
|
-
return fallback;
|
|
7443
|
-
}
|
|
7444
|
-
}
|
|
7445
|
-
async function readSettings(pmRoot) {
|
|
7446
|
-
return (await readSettingsWithMetadata(pmRoot)).settings;
|
|
7447
|
-
}
|
|
7448
|
-
async function writeSettings(pmRoot, settings, op = SETTINGS_WRITE_OP) {
|
|
7449
|
-
const settingsPath = getSettingsPath(pmRoot);
|
|
7450
|
-
await writeFileAtomic(settingsPath, serializeSettings(settings, {
|
|
7451
|
-
persist_source: getSettingsPersistSourceSnapshot(settings)
|
|
7452
|
-
}));
|
|
7453
|
-
try {
|
|
7454
|
-
await runActiveOnWriteHooks({
|
|
7455
|
-
path: settingsPath,
|
|
7456
|
-
scope: "project",
|
|
7457
|
-
op
|
|
7458
|
-
});
|
|
7459
|
-
} finally {
|
|
7460
|
-
clearSettingsReadCache(pmRoot);
|
|
7461
|
-
}
|
|
7462
|
-
}
|
|
7463
|
-
|
|
7464
5645
|
export {
|
|
7465
5646
|
ensureDir,
|
|
7466
5647
|
pathExists,
|
|
@@ -7471,13 +5652,17 @@ export {
|
|
|
7471
5652
|
isPathWithinDirectory,
|
|
7472
5653
|
resolvePmPackageRootFromModule,
|
|
7473
5654
|
resolvePmCliVersion,
|
|
5655
|
+
resolveConfiguredPmPackageRoot,
|
|
7474
5656
|
KNOWN_EXTENSION_CAPABILITIES,
|
|
5657
|
+
EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
5658
|
+
EXTENSION_CAPABILITY_LEGACY_ALIASES,
|
|
7475
5659
|
EXTENSION_CAPABILITY_CONTRACT,
|
|
7476
5660
|
KNOWN_EXTENSION_POLICY_MODES,
|
|
7477
5661
|
KNOWN_EXTENSION_TRUST_MODES,
|
|
7478
5662
|
KNOWN_EXTENSION_SANDBOX_PROFILES,
|
|
7479
5663
|
KNOWN_EXTENSION_POLICY_SURFACES,
|
|
7480
5664
|
KNOWN_EXTENSION_SERVICE_NAMES,
|
|
5665
|
+
createDefaultExtensionGovernancePolicy,
|
|
7481
5666
|
PM_DIRNAME,
|
|
7482
5667
|
CREATE_DIRECT_CLOSE_REASON_DEFAULT,
|
|
7483
5668
|
PM_CORE_REQUIRED_SUBDIRS,
|
|
@@ -7493,15 +5678,18 @@ export {
|
|
|
7493
5678
|
EXIT_CODE,
|
|
7494
5679
|
resolveTelemetryErrorCategory,
|
|
7495
5680
|
BUILTIN_ITEM_TYPE_VALUES,
|
|
5681
|
+
ITEM_TYPE_VALUES,
|
|
7496
5682
|
STATUS_VALUES,
|
|
7497
5683
|
RUNTIME_STATUS_ROLE_VALUES,
|
|
7498
5684
|
RUNTIME_FIELD_TYPE_VALUES,
|
|
7499
5685
|
RUNTIME_FIELD_COMMAND_VALUES,
|
|
5686
|
+
RUNTIME_UNKNOWN_FIELD_POLICY_VALUES,
|
|
7500
5687
|
DEPENDENCY_KIND_VALUES,
|
|
7501
5688
|
SCOPE_VALUES,
|
|
7502
5689
|
RISK_VALUES,
|
|
7503
5690
|
ISSUE_SEVERITY_VALUES,
|
|
7504
5691
|
CONFIDENCE_TEXT_VALUES,
|
|
5692
|
+
GOVERNANCE_PRESET_VALUES,
|
|
7505
5693
|
RECURRENCE_FREQUENCY_VALUES,
|
|
7506
5694
|
RECURRENCE_WEEKDAY_VALUES,
|
|
7507
5695
|
weekdayOrderIndex,
|
|
@@ -7511,6 +5699,8 @@ export {
|
|
|
7511
5699
|
PLAN_STEP_LINK_KIND_VALUES,
|
|
7512
5700
|
CONTEXT_DEPTH_VALUES,
|
|
7513
5701
|
CONTEXT_SECTION_VALUES,
|
|
5702
|
+
normalizeItemTypeDefinition,
|
|
5703
|
+
COMMON_MUTATION_COMMAND_OPTION_KEYS,
|
|
7514
5704
|
canonicalizeCommandOptionKey,
|
|
7515
5705
|
commandOptionFlagLabel,
|
|
7516
5706
|
toDefaultFolder,
|
|
@@ -7545,69 +5735,55 @@ export {
|
|
|
7545
5735
|
coercePositiveInteger,
|
|
7546
5736
|
coerceNumberInRange,
|
|
7547
5737
|
asRecordOrNull,
|
|
5738
|
+
asPropertyRecord,
|
|
5739
|
+
resolveActivatablePropertyRecord,
|
|
7548
5740
|
resolveFlagValueKind,
|
|
7549
5741
|
flattenFlagListValue,
|
|
7550
5742
|
levenshteinDistanceWithinLimit,
|
|
7551
5743
|
normalizeItemFieldType,
|
|
5744
|
+
evaluatePmMinVersionBound,
|
|
5745
|
+
evaluatePmMaxVersionBound,
|
|
5746
|
+
normalizeKnownExtensionCapability,
|
|
5747
|
+
resolveLegacyExtensionCapabilityAlias,
|
|
7552
5748
|
parseUnknownExtensionCapabilityWarning,
|
|
7553
5749
|
parseLegacyExtensionCapabilityAliasWarning,
|
|
5750
|
+
normalizeCommandName,
|
|
7554
5751
|
createEmptyExtensionRegistrationRegistry,
|
|
7555
5752
|
runBeforeCommandHooks,
|
|
7556
5753
|
runAfterCommandHooks,
|
|
5754
|
+
runOnWriteHooks,
|
|
5755
|
+
runOnReadHooks,
|
|
5756
|
+
runOnIndexHooks,
|
|
5757
|
+
runCommandHandler,
|
|
5758
|
+
runParserOverride,
|
|
5759
|
+
runPreflightOverride,
|
|
5760
|
+
runServiceOverrideSync,
|
|
5761
|
+
runServiceOverride,
|
|
5762
|
+
runCommandOverride,
|
|
5763
|
+
runRendererOverride,
|
|
5764
|
+
DEFAULT_EXTENSION_PRIORITY,
|
|
7557
5765
|
nextExtensionReloadToken,
|
|
5766
|
+
isCanonicalPathWithinDirectory,
|
|
7558
5767
|
resolveExtensionRoots,
|
|
7559
5768
|
discoverExtensions,
|
|
7560
5769
|
loadExtensions,
|
|
5770
|
+
deactivateExtensions,
|
|
7561
5771
|
activateExtensions,
|
|
5772
|
+
EXTENSION_CAPABILITY_REGISTRATION_SURFACES,
|
|
7562
5773
|
normalizeExtensionName,
|
|
7563
5774
|
collectUsedExtensionCapabilities,
|
|
7564
5775
|
reconcileExtensionCapabilityUsage,
|
|
7565
|
-
setActiveExtensionHooks,
|
|
7566
|
-
setActiveExtensionCommands,
|
|
7567
|
-
setActiveExtensionParsers,
|
|
7568
|
-
setActiveExtensionPreflight,
|
|
7569
|
-
setActiveExtensionServices,
|
|
7570
|
-
setActiveExtensionRenderers,
|
|
7571
|
-
setActiveExtensionRegistrations,
|
|
7572
|
-
getActiveExtensionRegistrations,
|
|
7573
|
-
setActiveCommandContext,
|
|
7574
|
-
setActiveCommandResult,
|
|
7575
|
-
getActiveCommandResult,
|
|
7576
|
-
recordAfterCommandAffectedItem,
|
|
7577
|
-
projectAfterCommandItemSnapshot,
|
|
7578
|
-
consumeAfterCommandAffectedItems,
|
|
7579
|
-
clearActiveExtensionHooks,
|
|
7580
|
-
runActiveOnWriteHooks,
|
|
7581
|
-
runActiveOnReadHooks,
|
|
7582
|
-
hasActiveOnReadHooks,
|
|
7583
|
-
runActiveOnIndexHooks,
|
|
7584
|
-
runActiveCommandOverride,
|
|
7585
|
-
runActiveCommandHandler,
|
|
7586
|
-
runActiveParserOverride,
|
|
7587
|
-
runActivePreflightOverride,
|
|
7588
|
-
runActiveRendererOverride,
|
|
7589
|
-
runActiveServiceOverride,
|
|
7590
|
-
runActiveServiceOverrideSync,
|
|
7591
5776
|
DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
|
|
7592
5777
|
DEFAULT_RUNTIME_STATUS_DEFINITIONS,
|
|
7593
5778
|
normalizeRuntimeSchemaSettings,
|
|
7594
5779
|
filePathForSchemaSection,
|
|
7595
5780
|
resolveItemTypesFilePath,
|
|
7596
5781
|
ensureRuntimeSchemaFileScaffold,
|
|
5782
|
+
loadRuntimeSchemaFromOptionalFiles,
|
|
7597
5783
|
resolveRuntimeStatusRegistry,
|
|
7598
5784
|
normalizeStatusInputWithRegistry,
|
|
7599
5785
|
resolveRuntimeFieldRegistry,
|
|
7600
5786
|
runtimeFieldOptionTarget,
|
|
7601
|
-
statusIsTerminal
|
|
7602
|
-
PmCliError,
|
|
7603
|
-
stableStringify,
|
|
7604
|
-
stableValueEquals,
|
|
7605
|
-
sha256Hex,
|
|
7606
|
-
orderObject,
|
|
7607
|
-
resolveEstimateDefaultMinutes,
|
|
7608
|
-
resolveGovernanceKnobs,
|
|
7609
|
-
readSettingsWithMetadata,
|
|
7610
|
-
readSettings,
|
|
7611
|
-
writeSettings
|
|
5787
|
+
statusIsTerminal
|
|
7612
5788
|
};
|
|
7613
|
-
//# sourceMappingURL=chunk-
|
|
5789
|
+
//# sourceMappingURL=chunk-5VVUKE3U.js.map
|