@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-schema.js","sources":["sdk/cli-contracts/tool-schema.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/cli-contracts/tool-schema\n *\n * MCP tool-parameter schema contracts: the per-action required/optional key sets\n * and the lazily-built strict (action-scoped) and provider-compatible (flat)\n * JSON Schemas served to MCP clients, the `pm contracts` command, and SDK\n * consumers from a single source of truth.\n */\nimport { normalizeUniqueStringList } from \"./string-lists.js\";\nimport { PM_TOOL_ACTIONS, type PmToolAction } from \"./enum-contracts.js\";\nimport {\n TOOL_CREATE_OPTION_CONTRACTS,\n TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS,\n TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS,\n TOOL_CONTEXT_OPTION_CONTRACTS,\n TOOL_ACTIVITY_OPTION_CONTRACTS,\n TOOL_LIST_FILTER_OPTION_CONTRACTS,\n TOOL_AGGREGATE_OPTION_CONTRACTS,\n TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS,\n TOOL_SEARCH_FILTER_OPTION_CONTRACTS,\n TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS,\n} from \"./tool-option-contracts.js\";\nimport {\n PM_TOOL_PARAMETER_PROPERTIES,\n PM_TOOL_PARAMETER_METADATA,\n PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA,\n PLAN_ACTION_PARAMETER_PROPERTIES,\n PLAN_ACTION_PARAMETER_METADATA,\n} from \"./tool-parameter-tables.js\";\nimport { toUniqueFlagContracts, withFlagAliasMetadata } from \"./flag-contracts.js\";\n\nconst PM_TOOL_GLOBAL_PARAMETER_KEYS = [\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"path\",\n \"pmExecutable\",\n \"timeoutMs\",\n] as const;\n\nconst PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS: Partial<Record<PmToolAction, readonly string[]>> = {\n create: [\"fullChangedFields\", \"idOnly\"],\n copy: [\"fullChangedFields\", \"idOnly\"],\n update: [\"fullChangedFields\", \"idOnly\"],\n close: [\"fullChangedFields\", \"idOnly\"],\n append: [\"fullChangedFields\"],\n \"update-many\": [\"fullChangedFields\"],\n \"close-many\": [\"fullChangedFields\"],\n};\n\n/**\n * Declarative description of one pm action's MCP parameter constraints —\n * required/optional keys plus JSON-Schema-style cross-field rules (anyOf, oneOf,\n * conditional, dependent, and mutually-exclusive groups) — from which the strict\n * action-scoped tool schema is built.\n */\nexport interface PmActionSchemaContract {\n required?: string[];\n optional?: string[];\n anyOfRequired?: Array<string[]>;\n oneOfRequired?: Array<string[]>;\n dependentAnyOfRequired?: Array<{\n property: string;\n anyOfRequired: Array<string[]>;\n }>;\n conditionalRequired?: Array<{\n property: string;\n value: string;\n required: string[];\n }>;\n /**\n * Groups of parameters that must not be supplied together. Each group emits a\n * JSON Schema `not: { required: [...] }` constraint so MCP clients validating\n * against the contract reject the same combinations the runtime rejects\n * (e.g. focus `id` + `clear`), keeping schema and runtime in lock-step.\n */\n mutuallyExclusive?: Array<string[]>;\n}\n\nfunction toSchemaKeyList(values: string[]): string[] {\n return normalizeUniqueStringList(values);\n}\n\nconst CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CREATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"assignee\",\n]);\n\nconst UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"force\",\n]);\n\nconst UPDATE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n ...UPDATE_CONTRACT_PARAMETER_KEYS,\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n]);\n\nconst NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"dryRun\",\n \"apply\",\n \"author\",\n \"message\",\n \"allowAuditUpdate\",\n \"force\",\n]);\n\nconst CLOSE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"reason\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"validateClose\",\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n \"author\",\n \"message\",\n \"force\",\n]);\n\nconst CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),\n \"past\",\n \"section\",\n]);\n\nconst ACTIVITY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_ACTIVITY_OPTION_CONTRACTS.map((entry) => entry.param),\n \"stream\",\n]);\n\nconst LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"includeBody\",\n \"noTruncate\",\n \"compact\",\n \"brief\",\n \"full\",\n]);\nconst AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"count\",\n \"completion\",\n \"includeUnparented\",\n]);\nconst DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS.map((entry) => entry.param));\nconst SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"query\",\n \"keywords\",\n \"mode\",\n \"semantic\",\n \"hybrid\",\n \"includeLinked\",\n \"titleExact\",\n \"phraseExact\",\n \"highlight\",\n \"compact\",\n \"full\",\n ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n]);\n\nconst NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"type\",\n \"tag\",\n \"priority\",\n \"assignee\",\n \"assigneeFilter\",\n \"sprint\",\n \"release\",\n \"parent\",\n \"limit\",\n \"blockedLimit\",\n \"readyOnly\",\n \"format\",\n]);\n\nconst AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"message\", \"force\"];\n\nconst PM_TOOL_ACTION_SCHEMA_CONTRACTS: Record<string, PmActionSchemaContract> = {\n init: { optional: [\"prefix\", \"preset\", \"typePreset\", \"defaults\", \"author\", \"agentGuidance\", \"withPackages\", \"force\", \"verbose\"] },\n config: {\n required: [\"scope\", \"configAction\"],\n optional: [\"key\", \"value\", \"criterion\", \"clearCriteria\", \"format\", \"policy\"],\n },\n \"extension-init\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-install\": {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n \"extension-uninstall\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-explore\": { optional: [\"scope\"] },\n \"extension-manage\": { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n \"extension-describe\": { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n \"extension-reload\": { optional: [\"scope\", \"watch\"] },\n \"extension-doctor\": { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n \"extension-catalog\": { optional: [\"scope\", \"fields\"] },\n \"extension-adopt\": { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n \"extension-adopt-all\": { optional: [\"scope\"] },\n \"extension-activate\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-deactivate\": { required: [\"target\"], optional: [\"scope\"] },\n extension: {\n optional: [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n ],\n },\n \"package-init\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-install\": {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n \"package-uninstall\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-explore\": { optional: [\"scope\"] },\n \"package-manage\": { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n \"package-describe\": { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n \"package-reload\": { optional: [\"scope\", \"watch\"] },\n \"package-doctor\": { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n \"package-catalog\": { optional: [\"scope\", \"fields\"] },\n \"package-adopt\": { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n \"package-adopt-all\": { optional: [\"scope\"] },\n \"package-activate\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-deactivate\": { required: [\"target\"], optional: [\"scope\"] },\n package: {\n optional: [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n ],\n },\n install: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n upgrade: {\n optional: [\"target\", \"scope\", \"dryRun\", \"cliOnly\", \"packagesOnly\", \"repair\", \"tag\", \"packageName\"],\n },\n create: {\n required: [\"title\", \"description\", \"type\", \"status\", \"priority\", \"message\"],\n optional: CREATE_CONTRACT_PARAMETER_KEYS,\n },\n copy: { required: [\"id\"], optional: [\"title\", \"author\", \"message\"] },\n focus: { optional: [\"id\", \"clear\"], mutuallyExclusive: [[\"id\", \"clear\"]] },\n list: { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-all\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-draft\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-open\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-in-progress\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-blocked\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-closed\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-canceled\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },\n \"dedupe-audit\": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },\n guide: { optional: [\"list\", \"format\", \"depth\"] },\n context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n get: { required: [\"id\"], optional: [\"depth\", \"full\", \"fields\", \"tree\", \"treeDepth\", \"format\"] },\n search: {\n optional: SEARCH_CONTRACT_PARAMETER_KEYS,\n anyOfRequired: [[\"query\"], [\"keywords\"]],\n },\n next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },\n reindex: { optional: [\"mode\", \"progress\"] },\n history: { required: [\"id\"], optional: [\"limit\", \"compact\", \"full\", \"diff\", \"verify\", \"format\"] },\n \"history-redact\": {\n required: [\"id\"],\n optional: [\"literal\", \"regex\", \"replacement\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n anyOfRequired: [[\"literal\"], [\"regex\"]],\n },\n \"history-repair\": {\n // Exactly one of `id` (single stream) or `all` (bulk drift repair) is required.\n optional: [\"id\", \"all\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n oneOfRequired: [[\"id\"], [\"all\"]],\n },\n \"history-compact\": {\n // Single-id mode (`id` + optional `before`) or bulk mode (any of `ids` /\n // `allOver` / `closed` / `allStreams`, with optional `minEntries`). Scan\n // selectors (`allOver` + `closed`/`allStreams`) legitimately combine, so the\n // mode/exclusivity contract is enforced at runtime by assertHistoryCompactTarget\n // rather than a one-of schema rule.\n optional: [\"id\", \"before\", \"ids\", \"allOver\", \"closed\", \"allStreams\", \"minEntries\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n schema: {\n required: [\"subcommand\"],\n // No --message: schema mutations write config files, not item history.\n optional: [\n \"name\",\n \"description\",\n \"defaultStatus\",\n \"folder\",\n \"alias\",\n \"role\",\n \"order\",\n \"fieldType\",\n \"commands\",\n \"cliFlag\",\n \"required\",\n \"requiredOnCreate\",\n \"allowUnset\",\n \"requiredTypes\",\n \"typePreset\",\n \"infer\",\n \"minCount\",\n \"apply\",\n \"author\",\n \"force\",\n ],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"add-type\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-type\", required: [\"name\"] },\n // show-status/add-status/remove-status pass the status id as `name`.\n { property: \"subcommand\", value: \"add-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-status\", required: [\"name\"] },\n // field subcommands pass the field key as `name`.\n { property: \"subcommand\", value: \"add-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-field\", required: [\"name\"] },\n // apply-preset passes the preset name as `typePreset`.\n { property: \"subcommand\", value: \"apply-preset\", required: [\"typePreset\"] },\n ],\n },\n profile: {\n required: [\"subcommand\"],\n // No --message: profile staging writes config/schema files, not item history.\n optional: [\"name\", \"dryRun\", \"author\", \"force\"],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"apply\", required: [\"name\"] },\n { property: \"subcommand\", value: \"lint\", required: [\"name\"] },\n ],\n },\n plan: {\n required: [\"subcommand\"],\n optional: [\n \"id\",\n \"stepRef\",\n \"reorderTo\",\n \"title\",\n \"description\",\n \"scope\",\n \"parent\",\n \"related\",\n \"blocks\",\n \"blockedBy\",\n \"harness\",\n \"mode\",\n \"resumeContext\",\n \"tags\",\n \"priority\",\n \"body\",\n \"claim\",\n \"fromSearch\",\n \"stepTitle\",\n \"step\",\n \"stepBody\",\n \"stepOwner\",\n \"stepStatus\",\n \"stepEvidence\",\n \"stepBlockedReason\",\n \"stepReplacement\",\n \"dependsOn\",\n \"link\",\n \"linkKind\",\n \"linkNote\",\n \"promoteToItemDep\",\n \"allowMultipleActive\",\n \"file\",\n \"test\",\n \"doc\",\n \"decisionText\",\n \"decision\",\n \"decisionRationale\",\n \"decisionEvidence\",\n \"discoveryText\",\n \"discovery\",\n \"validationText\",\n \"validation\",\n \"validationCommand\",\n \"validationExpected\",\n \"depth\",\n \"fields\",\n \"steps\",\n \"materializeType\",\n \"materializeParent\",\n \"materializeTags\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },\n restore: { required: [\"id\", \"target\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n update: { required: [\"id\"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },\n \"update-many\": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },\n normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },\n close: {\n required: [\"id\"],\n optional: [\n \"text\",\n \"reason\",\n \"closeReason\",\n \"duplicateOf\",\n \"validateClose\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"close-many\": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },\n delete: { required: [\"id\"], optional: [\"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n append: { required: [\"id\", \"body\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n comments: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"stdin\", \"file\", \"edit\", \"delete\", \"limit\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n \"comments-audit\": {\n optional: [\n \"status\",\n \"type\",\n \"assignee\",\n \"assigneeFilter\",\n \"parent\",\n \"tag\",\n \"sprint\",\n \"release\",\n \"priority\",\n \"limitItems\",\n \"limit\",\n \"fullHistory\",\n \"latest\",\n ],\n },\n notes: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditNote\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n learnings: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditLearning\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n files: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"list\",\n // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag\n // (the shared `note` parameter is the array-typed create/update note\n // seed, so files/docs use a distinct single-string key).\n \"addNote\",\n \"discover\",\n \"apply\",\n \"discoveryNote\",\n \"appendStable\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n docs: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"addNote\",\n \"list\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n deps: { required: [\"id\"], optional: [\"format\", \"maxDepth\", \"collapse\", \"summary\"] },\n test: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addJson\",\n \"remove\",\n \"run\",\n \"match\",\n \"onlyIndex\",\n \"onlyLast\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"test-all\": {\n optional: [\n \"status\",\n \"limit\",\n \"offset\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ],\n },\n telemetry: {\n optional: [\"subcommand\", \"limit\"],\n },\n \"test-runs-list\": {\n optional: [\"status\", \"limit\"],\n },\n \"test-runs-status\": {\n required: [\"runId\"],\n },\n \"test-runs-logs\": {\n required: [\"runId\"],\n optional: [\"stream\", \"tail\"],\n },\n \"test-runs-stop\": {\n required: [\"runId\"],\n optional: [\"force\"],\n },\n \"test-runs-resume\": {\n required: [\"runId\"],\n optional: [\"author\"],\n },\n stats: { optional: [\"storage\", \"metadataCoverage\", \"fieldUtilization\", \"byAssignee\", \"byTag\", \"byPriority\", \"tagPrefix\"] },\n health: {\n optional: [\n \"strictDirectories\",\n \"strictExit\",\n \"failOnWarn\",\n \"checkOnly\",\n \"checkTelemetry\",\n \"noRefresh\",\n \"refreshVectors\",\n \"verboseStaleItems\",\n \"brief\",\n \"summary\",\n \"skipVectors\",\n \"skipIntegrity\",\n \"skipDrift\",\n \"full\",\n ],\n },\n validate: {\n optional: [\n \"checkMetadata\",\n \"metadataProfile\",\n \"checkResolution\",\n \"checkLifecycle\",\n \"checkStaleBlockers\",\n \"dependencyCycleSeverity\",\n \"parentCycleSeverity\",\n \"checkFiles\",\n \"scanMode\",\n \"includePmInternals\",\n \"verboseFileLists\",\n \"verboseDiagnostics\",\n \"allAffectedIds\",\n \"strictExit\",\n \"failOnWarn\",\n \"fixHints\",\n \"autoFix\",\n \"dryRun\",\n \"fixScope\",\n \"pruneMissing\",\n \"checkHistoryDrift\",\n \"checkCommandReferences\",\n ],\n },\n gc: { optional: [\"dryRun\", \"gcScope\"] },\n contracts: { optional: [\"contractAction\", \"command\", \"schemaOnly\", \"flagsOnly\", \"availabilityOnly\", \"runtimeOnly\", \"activeOnly\", \"full\"] },\n completion: { required: [\"shell\"], optional: [\"eagerTags\"] },\n claim: { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n release: { required: [\"id\"], optional: [\"allowAuditRelease\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n \"start-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"pause-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"close-task\": { required: [\"id\"], optional: [\"text\", \"validateClose\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n};\n\nexport const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>> =\n Object.freeze(\n Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])),\n ) as Readonly<Record<PmToolAction, PmActionSchemaContract>>;\n\nfunction fallbackToolParameterDescription(key: string): string {\n return key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/[_-]/g, \" \")\n .trim()\n .replace(/^./, (value) => value.toUpperCase())\n .concat(\".\");\n}\n\nfunction decorateToolParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = PM_TOOL_PARAMETER_METADATA[key];\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterMetadata(\n action: PmToolAction,\n key: string,\n): { description: string; examples?: unknown[] } | undefined {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {\n return PLAN_ACTION_PARAMETER_METADATA[key];\n }\n const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];\n if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {\n return actionOverrides[key];\n }\n return PM_TOOL_PARAMETER_METADATA[key];\n}\n\nfunction decorateActionScopedToolParameterDefinition(\n action: PmToolAction,\n key: string,\n definition: unknown,\n): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = actionScopedToolParameterMetadata(action, key);\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterDefinition(action: PmToolAction, key: string): unknown {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {\n return PLAN_ACTION_PARAMETER_PROPERTIES[key];\n }\n if ((action === \"get\" || action === \"history\" || action === \"search\") && key === \"format\") {\n return { type: \"string\", enum: [\"json\", \"toon\"] };\n }\n return PM_TOOL_PARAMETER_PROPERTIES[key];\n}\n\n/**\n * Build the `properties` map for one action-scoped schema: the fixed `action`\n * literal followed by every allowed parameter that resolves to a concrete\n * definition, each decorated with its action-scoped description and examples.\n */\nfunction buildActionScopedSchemaProperties(action: PmToolAction, allowedKeys: string[]): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n const: action,\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n };\n for (const key of allowedKeys) {\n if (key === \"action\") {\n continue;\n }\n const definition = actionScopedToolParameterDefinition(action, key);\n if (definition) {\n properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);\n }\n }\n return properties;\n}\n\n/**\n * Build the `oneOf` branches for an action whose contract requires exactly one of\n * several field groups. Each branch requires its own group and — when sibling\n * groups exist — forbids any field drawn from them, so the schema rejects the same\n * overlapping combinations the runtime rejects; `history-repair`'s `all` branch\n * additionally pins `all` to the literal `true`.\n */\nfunction buildOneOfSchemaEntries(\n action: PmToolAction,\n oneOfRequiredGroups: Array<string[]>,\n): Array<Record<string, unknown>> {\n const allOneOfFields = oneOfRequiredGroups.flat();\n return oneOfRequiredGroups.map((requiredFields) => {\n const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));\n return {\n required: [...requiredFields],\n ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),\n ...(action === \"history-repair\" && requiredFields.includes(\"all\") ? { properties: { all: { const: true } } } : {}),\n };\n });\n}\n\n/**\n * Build the consolidated `allOf` constraint list for an action's contract,\n * appending branches in a fixed order — conditional-required (`if`/`then`), then\n * dependent any-of-required, then mutually-exclusive (`not`/`required`) — so a\n * given contract always serializes to a byte-identical schema. Returns an empty\n * array when the contract declares none of these constraints, letting the caller\n * omit the `allOf` key entirely.\n */\nfunction buildActionScopedAllOf(contract: PmActionSchemaContract): Array<Record<string, unknown>> {\n const allOf: Array<Record<string, unknown>> = [];\n if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {\n for (const entry of contract.conditionalRequired) {\n allOf.push({\n if: {\n properties: {\n [entry.property]: { const: entry.value },\n },\n required: [entry.property],\n },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n required: entry.required,\n },\n });\n }\n }\n if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {\n for (const entry of contract.dependentAnyOfRequired) {\n allOf.push({\n if: { required: [entry.property] },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n anyOf: entry.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n })),\n },\n });\n }\n }\n if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {\n for (const group of contract.mutuallyExclusive) {\n allOf.push({ not: { required: toSchemaKeyList(group) } });\n }\n }\n return allOf;\n}\n\nfunction buildActionScopedToolSchema(action: PmToolAction): Record<string, unknown> {\n const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];\n const required = toSchemaKeyList(contract.required ?? []);\n const optional = toSchemaKeyList(contract.optional ?? []);\n const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];\n const allowedKeys = toSchemaKeyList([\"action\", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);\n const schema: Record<string, unknown> = {\n type: \"object\",\n additionalProperties: false,\n required: [\"action\", ...required],\n title: `pm action \"${action}\" parameters`,\n properties: buildActionScopedSchemaProperties(action, allowedKeys),\n };\n if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {\n schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n }));\n }\n if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {\n schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);\n }\n const allOf = buildActionScopedAllOf(contract);\n if (allOf.length > 0) {\n schema.allOf = allOf;\n }\n return schema;\n}\n\n// Building the full MCP tool-parameter schemas (one variant per action) is only\n// needed by the MCP server, the `pm contracts` command, and SDK consumers — never\n// on the hot CLI path that imports this module for flag contracts. Wrap them in a\n// memoized lazy Proxy so the build is deferred until first property access and the\n// object API (`.type`, `.oneOf`, spread, JSON.stringify) stays identical.\nfunction createLazyContractSchema(\n build: () => Record<string, unknown>,\n): Record<string, unknown> {\n let value: Record<string, unknown> | undefined;\n const resolve = (): Record<string, unknown> => (value ??= build());\n return new Proxy({} as Record<string, unknown>, {\n get: (_target, prop) => resolve()[prop as string],\n has: (_target, prop) => prop in resolve(),\n ownKeys: () => Reflect.ownKeys(resolve()),\n getOwnPropertyDescriptor: (_target, prop) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(resolve(), prop);\n if (descriptor) {\n descriptor.configurable = true;\n }\n return descriptor;\n },\n });\n}\n\n/**\n * Canonical version of the action-scoped strict MCP tool-parameters schema\n * (`PM_TOOL_PARAMETERS_SCHEMA`). Exported as the single source of truth so the\n * MCP server, the `pm contracts` command, SDK consumers, and the contract tests\n * all bind to one constant instead of re-typing the `\"4.0.2\"` literal (pm-r9sz).\n * Bump the patch/minor for additive, backward-compatible schema changes; bump\n * the MAJOR for breaking changes — the major also drives the `$id`\n * `tool-parameters-v{major}` slug, so the two never drift.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_VERSION = \"4.0.6\" as const;\n\n/**\n * Major component of {@link PM_TOOL_PARAMETERS_SCHEMA_VERSION}, used to build the\n * schema `$id` slug so a breaking version bump renames the document in lockstep.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(\".\")[0];\n\n/**\n * Version of the provider-compatible flat tool-parameters schema\n * (`PM_PROVIDER_TOOL_PARAMETERS_SCHEMA`). Tracked separately from the strict\n * schema because the flat projection evolves independently.\n */\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = \"1.0.0\" as const;\n\nexport const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(() => ({\n $schema: \"https://json-schema.org/draft/2020-12/schema\",\n $id: `https://schema.unbrained.dev/pm-cli/tool-parameters-v${PM_TOOL_PARAMETERS_SCHEMA_MAJOR}.schema.json`,\n title: \"pm-cli tool parameters (action-scoped strict schema)\",\n \"x-schema-version\": PM_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),\n}));\n\nfunction toProviderCompatibleParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const decorated = decorateToolParameterDefinition(key, definition);\n if (typeof decorated.type === \"string\") {\n return decorated;\n }\n const anyOf = Array.isArray(decorated.anyOf) ? (decorated.anyOf as Array<Record<string, unknown>>) : [];\n const firstTypedVariant = anyOf.find((variant) => typeof variant.type === \"string\");\n if (firstTypedVariant) {\n const { anyOf: _anyOf, ...rest } = decorated;\n // Spread the whole typed variant (type plus any enum/minimum/maximum/pattern\n // constraints) so the flat provider schema keeps the variant's validation,\n // then let the decorated top-level fields (description, examples) win.\n return {\n ...firstTypedVariant,\n ...rest,\n };\n }\n const { anyOf: _anyOf, ...rest } = decorated;\n return {\n ...rest,\n type: \"string\",\n };\n}\n\nfunction buildProviderCompatibleToolSchema(): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n options: {\n type: \"object\",\n additionalProperties: true,\n description: \"Advanced command options object forwarded to the selected pm action.\",\n },\n };\n for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {\n properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);\n }\n return {\n title: \"pm-cli tool parameters (provider-compatible flat schema)\",\n \"x-schema-version\": PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n additionalProperties: false,\n required: [\"action\"],\n properties,\n };\n}\n\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(\n buildProviderCompatibleToolSchema,\n);\n\nexport const _testOnlyCliContracts = {\n buildActionScopedToolSchema,\n buildProviderCompatibleToolSchema,\n decorateActionScopedToolParameterDefinition,\n decorateToolParameterDefinition,\n toolActionSchemaContracts: PM_TOOL_ACTION_SCHEMA_CONTRACTS,\n toolParameterMetadata: PM_TOOL_PARAMETER_METADATA,\n toProviderCompatibleParameterDefinition,\n toUniqueFlagContracts,\n withFlagAliasMetadata,\n};\n"],"names":[],"mappings":"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","debugId":"5c1fba35-3cb1-5029-847a-047dabe7014e"}
|
|
1
|
+
{"version":3,"file":"tool-schema.js","sources":["sdk/cli-contracts/tool-schema.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/cli-contracts/tool-schema\n *\n * MCP tool-parameter schema contracts: the per-action required/optional key sets\n * and the lazily-built strict (action-scoped) and provider-compatible (flat)\n * JSON Schemas served to MCP clients, the `pm contracts` command, and SDK\n * consumers from a single source of truth.\n */\nimport { normalizeUniqueStringList } from \"./string-lists.js\";\nimport { PM_TOOL_ACTIONS, type PmToolAction } from \"./enum-contracts.js\";\nimport {\n TOOL_CREATE_OPTION_CONTRACTS,\n TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS,\n TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS,\n TOOL_CONTEXT_OPTION_CONTRACTS,\n TOOL_ACTIVITY_OPTION_CONTRACTS,\n TOOL_LIST_FILTER_OPTION_CONTRACTS,\n TOOL_AGGREGATE_OPTION_CONTRACTS,\n TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS,\n TOOL_SEARCH_FILTER_OPTION_CONTRACTS,\n TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS,\n} from \"./tool-option-contracts.js\";\nimport {\n PM_TOOL_PARAMETER_PROPERTIES,\n PM_TOOL_PARAMETER_METADATA,\n PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA,\n PLAN_ACTION_PARAMETER_PROPERTIES,\n PLAN_ACTION_PARAMETER_METADATA,\n} from \"./tool-parameter-tables.js\";\nimport { toUniqueFlagContracts, withFlagAliasMetadata } from \"./flag-contracts.js\";\n\nconst PM_TOOL_GLOBAL_PARAMETER_KEYS = [\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"path\",\n \"pmExecutable\",\n \"timeoutMs\",\n] as const;\n\nconst PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS: Partial<Record<PmToolAction, readonly string[]>> = {\n create: [\"fullChangedFields\", \"idOnly\"],\n copy: [\"fullChangedFields\", \"idOnly\"],\n update: [\"fullChangedFields\", \"idOnly\"],\n close: [\"fullChangedFields\", \"idOnly\"],\n append: [\"fullChangedFields\"],\n \"update-many\": [\"fullChangedFields\"],\n \"close-many\": [\"fullChangedFields\"],\n};\n\n/**\n * Declarative description of one pm action's MCP parameter constraints —\n * required/optional keys plus JSON-Schema-style cross-field rules (anyOf, oneOf,\n * conditional, dependent, and mutually-exclusive groups) — from which the strict\n * action-scoped tool schema is built.\n */\nexport interface PmActionSchemaContract {\n required?: string[];\n optional?: string[];\n anyOfRequired?: Array<string[]>;\n oneOfRequired?: Array<string[]>;\n dependentAnyOfRequired?: Array<{\n property: string;\n anyOfRequired: Array<string[]>;\n }>;\n conditionalRequired?: Array<{\n property: string;\n value: string;\n required: string[];\n }>;\n /**\n * Groups of parameters that must not be supplied together. Each group emits a\n * JSON Schema `not: { required: [...] }` constraint so MCP clients validating\n * against the contract reject the same combinations the runtime rejects\n * (e.g. focus `id` + `clear`), keeping schema and runtime in lock-step.\n */\n mutuallyExclusive?: Array<string[]>;\n}\n\nfunction toSchemaKeyList(values: string[]): string[] {\n return normalizeUniqueStringList(values);\n}\n\nconst CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CREATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"assignee\",\n]);\n\nconst UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"force\",\n]);\n\nconst UPDATE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n ...UPDATE_CONTRACT_PARAMETER_KEYS,\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n]);\n\nconst NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"dryRun\",\n \"apply\",\n \"author\",\n \"message\",\n \"allowAuditUpdate\",\n \"force\",\n]);\n\nconst CLOSE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"reason\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"validateClose\",\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n \"author\",\n \"message\",\n \"force\",\n]);\n\nconst CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),\n \"past\",\n \"section\",\n]);\n\nconst ACTIVITY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_ACTIVITY_OPTION_CONTRACTS.map((entry) => entry.param),\n \"stream\",\n]);\n\nconst LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"includeBody\",\n \"noTruncate\",\n \"compact\",\n \"brief\",\n \"full\",\n]);\nconst AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"count\",\n \"completion\",\n \"includeUnparented\",\n]);\nconst DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS.map((entry) => entry.param));\nconst SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"query\",\n \"keywords\",\n \"mode\",\n \"semantic\",\n \"hybrid\",\n \"includeLinked\",\n \"titleExact\",\n \"phraseExact\",\n \"highlight\",\n \"compact\",\n \"full\",\n ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n]);\n\nconst NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"type\",\n \"tag\",\n \"priority\",\n \"assignee\",\n \"assigneeFilter\",\n \"sprint\",\n \"release\",\n \"parent\",\n \"limit\",\n \"blockedLimit\",\n \"readyOnly\",\n \"format\",\n]);\n\nconst AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"message\", \"force\"];\n\nconst MANAGED_EXTENSION_PACKAGE_OPTION_KEYS = [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n];\n\nfunction managedLifecycleSchemaContracts(prefix: \"extension\" | \"package\"): Record<string, PmActionSchemaContract> {\n return {\n [`${prefix}-init`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-install`]: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n [`${prefix}-uninstall`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-explore`]: { optional: [\"scope\"] },\n [`${prefix}-manage`]: { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n [`${prefix}-describe`]: { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n [`${prefix}-reload`]: { optional: [\"scope\", \"watch\"] },\n [`${prefix}-doctor`]: { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n [`${prefix}-catalog`]: { optional: [\"scope\", \"fields\"] },\n [`${prefix}-adopt`]: { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n [`${prefix}-adopt-all`]: { optional: [\"scope\"] },\n [`${prefix}-activate`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-deactivate`]: { required: [\"target\"], optional: [\"scope\"] },\n [prefix]: {\n optional: MANAGED_EXTENSION_PACKAGE_OPTION_KEYS,\n },\n };\n}\n\nconst PM_TOOL_ACTION_SCHEMA_CONTRACTS: Record<string, PmActionSchemaContract> = {\n init: { optional: [\"prefix\", \"preset\", \"typePreset\", \"defaults\", \"author\", \"agentGuidance\", \"withPackages\", \"force\", \"verbose\"] },\n config: {\n required: [\"scope\", \"configAction\"],\n optional: [\"key\", \"value\", \"criterion\", \"clearCriteria\", \"format\", \"policy\"],\n },\n ...managedLifecycleSchemaContracts(\"extension\"),\n ...managedLifecycleSchemaContracts(\"package\"),\n install: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n upgrade: {\n optional: [\"target\", \"scope\", \"dryRun\", \"cliOnly\", \"packagesOnly\", \"repair\", \"tag\", \"packageName\"],\n },\n create: {\n required: [\"title\", \"description\", \"type\", \"status\", \"priority\", \"message\"],\n optional: CREATE_CONTRACT_PARAMETER_KEYS,\n },\n copy: { required: [\"id\"], optional: [\"title\", \"author\", \"message\"] },\n focus: { optional: [\"id\", \"clear\"], mutuallyExclusive: [[\"id\", \"clear\"]] },\n list: { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-all\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-draft\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-open\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-in-progress\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-blocked\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-closed\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-canceled\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },\n \"dedupe-audit\": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },\n guide: { optional: [\"list\", \"format\", \"depth\"] },\n context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n get: { required: [\"id\"], optional: [\"depth\", \"full\", \"fields\", \"tree\", \"treeDepth\", \"format\"] },\n search: {\n optional: SEARCH_CONTRACT_PARAMETER_KEYS,\n anyOfRequired: [[\"query\"], [\"keywords\"]],\n },\n next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },\n reindex: { optional: [\"mode\", \"progress\"] },\n history: { required: [\"id\"], optional: [\"limit\", \"compact\", \"full\", \"diff\", \"verify\", \"format\"] },\n \"history-redact\": {\n required: [\"id\"],\n optional: [\"literal\", \"regex\", \"replacement\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n anyOfRequired: [[\"literal\"], [\"regex\"]],\n },\n \"history-repair\": {\n // Exactly one of `id` (single stream) or `all` (bulk drift repair) is required.\n optional: [\"id\", \"all\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n oneOfRequired: [[\"id\"], [\"all\"]],\n },\n \"history-compact\": {\n // Single-id mode (`id` + optional `before`) or bulk mode (any of `ids` /\n // `allOver` / `closed` / `allStreams`, with optional `minEntries`). Scan\n // selectors (`allOver` + `closed`/`allStreams`) legitimately combine, so the\n // mode/exclusivity contract is enforced at runtime by assertHistoryCompactTarget\n // rather than a one-of schema rule.\n optional: [\"id\", \"before\", \"ids\", \"allOver\", \"closed\", \"allStreams\", \"minEntries\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n schema: {\n required: [\"subcommand\"],\n // No --message: schema mutations write config files, not item history.\n optional: [\n \"name\",\n \"description\",\n \"defaultStatus\",\n \"folder\",\n \"alias\",\n \"role\",\n \"order\",\n \"fieldType\",\n \"commands\",\n \"cliFlag\",\n \"required\",\n \"requiredOnCreate\",\n \"allowUnset\",\n \"requiredTypes\",\n \"typePreset\",\n \"infer\",\n \"minCount\",\n \"apply\",\n \"author\",\n \"force\",\n ],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"add-type\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-type\", required: [\"name\"] },\n // show-status/add-status/remove-status pass the status id as `name`.\n { property: \"subcommand\", value: \"add-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-status\", required: [\"name\"] },\n // field subcommands pass the field key as `name`.\n { property: \"subcommand\", value: \"add-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-field\", required: [\"name\"] },\n // apply-preset passes the preset name as `typePreset`.\n { property: \"subcommand\", value: \"apply-preset\", required: [\"typePreset\"] },\n ],\n },\n profile: {\n required: [\"subcommand\"],\n // No --message: profile staging writes config/schema files, not item history.\n optional: [\"name\", \"dryRun\", \"author\", \"force\"],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"apply\", required: [\"name\"] },\n { property: \"subcommand\", value: \"lint\", required: [\"name\"] },\n ],\n },\n plan: {\n required: [\"subcommand\"],\n optional: [\n \"id\",\n \"stepRef\",\n \"reorderTo\",\n \"title\",\n \"description\",\n \"scope\",\n \"parent\",\n \"related\",\n \"blocks\",\n \"blockedBy\",\n \"harness\",\n \"mode\",\n \"resumeContext\",\n \"tags\",\n \"priority\",\n \"body\",\n \"claim\",\n \"fromSearch\",\n \"stepTitle\",\n \"step\",\n \"stepBody\",\n \"stepOwner\",\n \"stepStatus\",\n \"stepEvidence\",\n \"stepBlockedReason\",\n \"stepReplacement\",\n \"dependsOn\",\n \"link\",\n \"linkKind\",\n \"linkNote\",\n \"promoteToItemDep\",\n \"allowMultipleActive\",\n \"file\",\n \"test\",\n \"doc\",\n \"decisionText\",\n \"decision\",\n \"decisionRationale\",\n \"decisionEvidence\",\n \"discoveryText\",\n \"discovery\",\n \"validationText\",\n \"validation\",\n \"validationCommand\",\n \"validationExpected\",\n \"depth\",\n \"fields\",\n \"steps\",\n \"materializeType\",\n \"materializeParent\",\n \"materializeTags\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },\n restore: { required: [\"id\", \"target\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n update: { required: [\"id\"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },\n \"update-many\": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },\n normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },\n close: {\n required: [\"id\"],\n optional: [\n \"text\",\n \"reason\",\n \"closeReason\",\n \"duplicateOf\",\n \"validateClose\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"close-many\": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },\n delete: { required: [\"id\"], optional: [\"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n append: { required: [\"id\", \"body\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n comments: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"stdin\", \"file\", \"edit\", \"delete\", \"limit\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n \"comments-audit\": {\n optional: [\n \"status\",\n \"type\",\n \"assignee\",\n \"assigneeFilter\",\n \"parent\",\n \"tag\",\n \"sprint\",\n \"release\",\n \"priority\",\n \"limitItems\",\n \"limit\",\n \"fullHistory\",\n \"latest\",\n ],\n },\n notes: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditNote\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n learnings: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditLearning\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n files: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"list\",\n // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag\n // (the shared `note` parameter is the array-typed create/update note\n // seed, so files/docs use a distinct single-string key).\n \"addNote\",\n \"discover\",\n \"apply\",\n \"discoveryNote\",\n \"appendStable\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n docs: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"addNote\",\n \"list\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n deps: { required: [\"id\"], optional: [\"format\", \"maxDepth\", \"collapse\", \"summary\"] },\n test: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addJson\",\n \"remove\",\n \"run\",\n \"match\",\n \"onlyIndex\",\n \"onlyLast\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"test-all\": {\n optional: [\n \"status\",\n \"limit\",\n \"offset\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ],\n },\n telemetry: {\n optional: [\"subcommand\", \"limit\"],\n },\n \"test-runs-list\": {\n optional: [\"status\", \"limit\"],\n },\n \"test-runs-status\": {\n required: [\"runId\"],\n },\n \"test-runs-logs\": {\n required: [\"runId\"],\n optional: [\"stream\", \"tail\"],\n },\n \"test-runs-stop\": {\n required: [\"runId\"],\n optional: [\"force\"],\n },\n \"test-runs-resume\": {\n required: [\"runId\"],\n optional: [\"author\"],\n },\n stats: { optional: [\"storage\", \"metadataCoverage\", \"fieldUtilization\", \"byAssignee\", \"byTag\", \"byPriority\", \"tagPrefix\"] },\n health: {\n optional: [\n \"strictDirectories\",\n \"strictExit\",\n \"failOnWarn\",\n \"checkOnly\",\n \"checkTelemetry\",\n \"noRefresh\",\n \"refreshVectors\",\n \"verboseStaleItems\",\n \"brief\",\n \"summary\",\n \"skipVectors\",\n \"skipIntegrity\",\n \"skipDrift\",\n \"full\",\n ],\n },\n validate: {\n optional: [\n \"checkMetadata\",\n \"metadataProfile\",\n \"checkResolution\",\n \"checkLifecycle\",\n \"checkStaleBlockers\",\n \"dependencyCycleSeverity\",\n \"parentCycleSeverity\",\n \"checkFiles\",\n \"scanMode\",\n \"includePmInternals\",\n \"verboseFileLists\",\n \"verboseDiagnostics\",\n \"allAffectedIds\",\n \"strictExit\",\n \"failOnWarn\",\n \"fixHints\",\n \"autoFix\",\n \"dryRun\",\n \"fixScope\",\n \"pruneMissing\",\n \"checkHistoryDrift\",\n \"checkCommandReferences\",\n ],\n },\n gc: { optional: [\"dryRun\", \"gcScope\"] },\n contracts: { optional: [\"contractAction\", \"command\", \"schemaOnly\", \"flagsOnly\", \"availabilityOnly\", \"runtimeOnly\", \"activeOnly\", \"full\"] },\n completion: { required: [\"shell\"], optional: [\"eagerTags\"] },\n claim: { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n release: { required: [\"id\"], optional: [\"allowAuditRelease\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n \"start-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"pause-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"close-task\": { required: [\"id\"], optional: [\"text\", \"validateClose\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n};\n\nexport const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>> =\n Object.freeze(\n Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])),\n ) as Readonly<Record<PmToolAction, PmActionSchemaContract>>;\n\nfunction fallbackToolParameterDescription(key: string): string {\n return key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/[_-]/g, \" \")\n .trim()\n .replace(/^./, (value) => value.toUpperCase())\n .concat(\".\");\n}\n\nfunction decorateToolParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = PM_TOOL_PARAMETER_METADATA[key];\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterMetadata(\n action: PmToolAction,\n key: string,\n): { description: string; examples?: unknown[] } | undefined {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {\n return PLAN_ACTION_PARAMETER_METADATA[key];\n }\n const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];\n if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {\n return actionOverrides[key];\n }\n return PM_TOOL_PARAMETER_METADATA[key];\n}\n\nfunction decorateActionScopedToolParameterDefinition(\n action: PmToolAction,\n key: string,\n definition: unknown,\n): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = actionScopedToolParameterMetadata(action, key);\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterDefinition(action: PmToolAction, key: string): unknown {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {\n return PLAN_ACTION_PARAMETER_PROPERTIES[key];\n }\n if ((action === \"get\" || action === \"history\" || action === \"search\") && key === \"format\") {\n return { type: \"string\", enum: [\"json\", \"toon\"] };\n }\n return PM_TOOL_PARAMETER_PROPERTIES[key];\n}\n\n/**\n * Build the `properties` map for one action-scoped schema: the fixed `action`\n * literal followed by every allowed parameter that resolves to a concrete\n * definition, each decorated with its action-scoped description and examples.\n */\nfunction buildActionScopedSchemaProperties(action: PmToolAction, allowedKeys: string[]): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n const: action,\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n };\n for (const key of allowedKeys) {\n if (key === \"action\") {\n continue;\n }\n const definition = actionScopedToolParameterDefinition(action, key);\n if (definition) {\n properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);\n }\n }\n return properties;\n}\n\n/**\n * Build the `oneOf` branches for an action whose contract requires exactly one of\n * several field groups. Each branch requires its own group and — when sibling\n * groups exist — forbids any field drawn from them, so the schema rejects the same\n * overlapping combinations the runtime rejects; `history-repair`'s `all` branch\n * additionally pins `all` to the literal `true`.\n */\nfunction buildOneOfSchemaEntries(\n action: PmToolAction,\n oneOfRequiredGroups: Array<string[]>,\n): Array<Record<string, unknown>> {\n const allOneOfFields = oneOfRequiredGroups.flat();\n return oneOfRequiredGroups.map((requiredFields) => {\n const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));\n return {\n required: [...requiredFields],\n ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),\n ...(action === \"history-repair\" && requiredFields.includes(\"all\") ? { properties: { all: { const: true } } } : {}),\n };\n });\n}\n\n/**\n * Build the consolidated `allOf` constraint list for an action's contract,\n * appending branches in a fixed order — conditional-required (`if`/`then`), then\n * dependent any-of-required, then mutually-exclusive (`not`/`required`) — so a\n * given contract always serializes to a byte-identical schema. Returns an empty\n * array when the contract declares none of these constraints, letting the caller\n * omit the `allOf` key entirely.\n */\nfunction buildActionScopedAllOf(contract: PmActionSchemaContract): Array<Record<string, unknown>> {\n const allOf: Array<Record<string, unknown>> = [];\n if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {\n for (const entry of contract.conditionalRequired) {\n allOf.push({\n if: {\n properties: {\n [entry.property]: { const: entry.value },\n },\n required: [entry.property],\n },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n required: entry.required,\n },\n });\n }\n }\n if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {\n for (const entry of contract.dependentAnyOfRequired) {\n allOf.push({\n if: { required: [entry.property] },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n anyOf: entry.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n })),\n },\n });\n }\n }\n if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {\n for (const group of contract.mutuallyExclusive) {\n allOf.push({ not: { required: toSchemaKeyList(group) } });\n }\n }\n return allOf;\n}\n\nfunction buildActionScopedToolSchema(action: PmToolAction): Record<string, unknown> {\n const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];\n const required = toSchemaKeyList(contract.required ?? []);\n const optional = toSchemaKeyList(contract.optional ?? []);\n const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];\n const allowedKeys = toSchemaKeyList([\"action\", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);\n const schema: Record<string, unknown> = {\n type: \"object\",\n additionalProperties: false,\n required: [\"action\", ...required],\n title: `pm action \"${action}\" parameters`,\n properties: buildActionScopedSchemaProperties(action, allowedKeys),\n };\n if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {\n schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n }));\n }\n if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {\n schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);\n }\n const allOf = buildActionScopedAllOf(contract);\n if (allOf.length > 0) {\n schema.allOf = allOf;\n }\n return schema;\n}\n\n// Building the full MCP tool-parameter schemas (one variant per action) is only\n// needed by the MCP server, the `pm contracts` command, and SDK consumers — never\n// on the hot CLI path that imports this module for flag contracts. Wrap them in a\n// memoized lazy Proxy so the build is deferred until first property access and the\n// object API (`.type`, `.oneOf`, spread, JSON.stringify) stays identical.\nfunction createLazyContractSchema(\n build: () => Record<string, unknown>,\n): Record<string, unknown> {\n let value: Record<string, unknown> | undefined;\n const resolve = (): Record<string, unknown> => (value ??= build());\n return new Proxy({} as Record<string, unknown>, {\n get: (_target, prop) => resolve()[prop as string],\n has: (_target, prop) => prop in resolve(),\n ownKeys: () => Reflect.ownKeys(resolve()),\n getOwnPropertyDescriptor: (_target, prop) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(resolve(), prop);\n if (descriptor) {\n descriptor.configurable = true;\n }\n return descriptor;\n },\n });\n}\n\n/**\n * Canonical version of the action-scoped strict MCP tool-parameters schema\n * (`PM_TOOL_PARAMETERS_SCHEMA`). Exported as the single source of truth so the\n * MCP server, the `pm contracts` command, SDK consumers, and the contract tests\n * all bind to one constant instead of re-typing the `\"4.0.2\"` literal (pm-r9sz).\n * Bump the patch/minor for additive, backward-compatible schema changes; bump\n * the MAJOR for breaking changes — the major also drives the `$id`\n * `tool-parameters-v{major}` slug, so the two never drift.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_VERSION = \"4.0.6\" as const;\n\n/**\n * Major component of {@link PM_TOOL_PARAMETERS_SCHEMA_VERSION}, used to build the\n * schema `$id` slug so a breaking version bump renames the document in lockstep.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(\".\")[0];\n\n/**\n * Version of the provider-compatible flat tool-parameters schema\n * (`PM_PROVIDER_TOOL_PARAMETERS_SCHEMA`). Tracked separately from the strict\n * schema because the flat projection evolves independently.\n */\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = \"1.0.0\" as const;\n\nexport const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(() => ({\n $schema: \"https://json-schema.org/draft/2020-12/schema\",\n $id: `https://schema.unbrained.dev/pm-cli/tool-parameters-v${PM_TOOL_PARAMETERS_SCHEMA_MAJOR}.schema.json`,\n title: \"pm-cli tool parameters (action-scoped strict schema)\",\n \"x-schema-version\": PM_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),\n}));\n\nfunction toProviderCompatibleParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const decorated = decorateToolParameterDefinition(key, definition);\n if (typeof decorated.type === \"string\") {\n return decorated;\n }\n const anyOf = Array.isArray(decorated.anyOf) ? (decorated.anyOf as Array<Record<string, unknown>>) : [];\n const firstTypedVariant = anyOf.find((variant) => typeof variant.type === \"string\");\n if (firstTypedVariant) {\n const { anyOf: _anyOf, ...rest } = decorated;\n // Spread the whole typed variant (type plus any enum/minimum/maximum/pattern\n // constraints) so the flat provider schema keeps the variant's validation,\n // then let the decorated top-level fields (description, examples) win.\n return {\n ...firstTypedVariant,\n ...rest,\n };\n }\n const { anyOf: _anyOf, ...rest } = decorated;\n return {\n ...rest,\n type: \"string\",\n };\n}\n\nfunction buildProviderCompatibleToolSchema(): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n options: {\n type: \"object\",\n additionalProperties: true,\n description: \"Advanced command options object forwarded to the selected pm action.\",\n },\n };\n for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {\n properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);\n }\n return {\n title: \"pm-cli tool parameters (provider-compatible flat schema)\",\n \"x-schema-version\": PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n additionalProperties: false,\n required: [\"action\"],\n properties,\n };\n}\n\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(\n buildProviderCompatibleToolSchema,\n);\n\nexport const _testOnlyCliContracts = {\n buildActionScopedToolSchema,\n buildProviderCompatibleToolSchema,\n decorateActionScopedToolParameterDefinition,\n decorateToolParameterDefinition,\n toolActionSchemaContracts: PM_TOOL_ACTION_SCHEMA_CONTRACTS,\n toolParameterMetadata: PM_TOOL_PARAMETER_METADATA,\n toProviderCompatibleParameterDefinition,\n toUniqueFlagContracts,\n withFlagAliasMetadata,\n};\n"],"names":[],"mappings":"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","debugId":"d9ede4a2-7ec3-5716-b623-8469cab14853"}
|
package/dist/sdk/errors.d.ts
CHANGED
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
import { type PmCliErrorContext } from "../core/shared/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* The `Error.name` value carried by every {@link PmCliExpectedError}. The CLI's
|
|
4
|
+
* top-level handler and the Sentry crash filter recognise expected errors by
|
|
5
|
+
* matching this exact string rather than by `instanceof`, so an error thrown
|
|
6
|
+
* from a separately bundled or linked extension is still treated as expected.
|
|
7
|
+
*/
|
|
2
8
|
export declare const PM_CLI_EXPECTED_ERROR_NAME = "PmCliError";
|
|
3
9
|
/**
|
|
4
|
-
*
|
|
10
|
+
* The public, class-free shape of an "expected" pm CLI error: a user- or
|
|
11
|
+
* environment-caused failure that should exit with a specific code and be
|
|
12
|
+
* excluded from crash reporting. Package authors detect it structurally with
|
|
13
|
+
* {@link isPmCliExpectedError} instead of importing the internal `PmCliError`
|
|
14
|
+
* class, which keeps the contract stable across bundling boundaries.
|
|
5
15
|
*/
|
|
6
16
|
export interface PmCliExpectedError extends Error {
|
|
17
|
+
/** Discriminant tag; always {@link PM_CLI_EXPECTED_ERROR_NAME}. */
|
|
7
18
|
name: typeof PM_CLI_EXPECTED_ERROR_NAME;
|
|
19
|
+
/** Positive process exit code the CLI should terminate with for this failure. */
|
|
8
20
|
exitCode: number;
|
|
21
|
+
/** Structured, secret-free metadata attached for diagnostics and error guidance. */
|
|
9
22
|
context: PmCliErrorContext;
|
|
23
|
+
/** Optional underlying error that triggered this one, preserved for cause chaining. */
|
|
10
24
|
cause?: unknown;
|
|
11
25
|
}
|
|
12
26
|
/**
|
|
13
|
-
*
|
|
27
|
+
* Options accepted by {@link createPmCliExpectedError}. Every field is optional;
|
|
28
|
+
* omitted values default to the CLI usage exit code, an empty context, and no
|
|
29
|
+
* `cause`.
|
|
14
30
|
*/
|
|
15
31
|
export interface CreatePmCliExpectedErrorOptions {
|
|
32
|
+
/** Positive exit code to assign; defaults to the usage-error code. Non-finite or non-positive values throw. */
|
|
16
33
|
exitCode?: number;
|
|
34
|
+
/** Structured, secret-free diagnostic metadata to attach to the error. */
|
|
17
35
|
context?: PmCliErrorContext;
|
|
36
|
+
/** Underlying error to retain as a non-enumerable `cause` when provided. */
|
|
18
37
|
cause?: unknown;
|
|
19
38
|
}
|
|
20
39
|
/**
|
package/dist/sdk/errors.js
CHANGED
|
@@ -4,9 +4,15 @@
|
|
|
4
4
|
* Defines public SDK APIs and package-author helpers for Errors.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a6ee83a1-a42a-5673-9cf1-c993bb149c7d")}catch(e){}}();
|
|
8
8
|
import { EXIT_CODE } from "../core/shared/constants.js";
|
|
9
9
|
import { PmCliError } from "../core/shared/errors.js";
|
|
10
|
+
/**
|
|
11
|
+
* The `Error.name` value carried by every {@link PmCliExpectedError}. The CLI's
|
|
12
|
+
* top-level handler and the Sentry crash filter recognise expected errors by
|
|
13
|
+
* matching this exact string rather than by `instanceof`, so an error thrown
|
|
14
|
+
* from a separately bundled or linked extension is still treated as expected.
|
|
15
|
+
*/
|
|
10
16
|
export const PM_CLI_EXPECTED_ERROR_NAME = "PmCliError";
|
|
11
17
|
function normalizeExpectedErrorExitCode(value) {
|
|
12
18
|
if (!Number.isFinite(value)) {
|
|
@@ -51,4 +57,4 @@ export function isPmCliExpectedError(error) {
|
|
|
51
57
|
return typeof candidate.exitCode === "number" && Number.isFinite(candidate.exitCode);
|
|
52
58
|
}
|
|
53
59
|
//# sourceMappingURL=errors.js.map
|
|
54
|
-
//# debugId=
|
|
60
|
+
//# debugId=a6ee83a1-a42a-5673-9cf1-c993bb149c7d
|
package/dist/sdk/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sources":["sdk/errors.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/errors\n *\n * Defines public SDK APIs and package-author helpers for Errors.\n */\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError, type PmCliErrorContext } from \"../core/shared/errors.js\";\n\nexport const PM_CLI_EXPECTED_ERROR_NAME = \"PmCliError\";\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"errors.js","sources":["sdk/errors.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/errors\n *\n * Defines public SDK APIs and package-author helpers for Errors.\n */\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError, type PmCliErrorContext } from \"../core/shared/errors.js\";\n\n/**\n * The `Error.name` value carried by every {@link PmCliExpectedError}. The CLI's\n * top-level handler and the Sentry crash filter recognise expected errors by\n * matching this exact string rather than by `instanceof`, so an error thrown\n * from a separately bundled or linked extension is still treated as expected.\n */\nexport const PM_CLI_EXPECTED_ERROR_NAME = \"PmCliError\";\n\n/**\n * The public, class-free shape of an \"expected\" pm CLI error: a user- or\n * environment-caused failure that should exit with a specific code and be\n * excluded from crash reporting. Package authors detect it structurally with\n * {@link isPmCliExpectedError} instead of importing the internal `PmCliError`\n * class, which keeps the contract stable across bundling boundaries.\n */\nexport interface PmCliExpectedError extends Error {\n /** Discriminant tag; always {@link PM_CLI_EXPECTED_ERROR_NAME}. */\n name: typeof PM_CLI_EXPECTED_ERROR_NAME;\n /** Positive process exit code the CLI should terminate with for this failure. */\n exitCode: number;\n /** Structured, secret-free metadata attached for diagnostics and error guidance. */\n context: PmCliErrorContext;\n /** Optional underlying error that triggered this one, preserved for cause chaining. */\n cause?: unknown;\n}\n\n/**\n * Options accepted by {@link createPmCliExpectedError}. Every field is optional;\n * omitted values default to the CLI usage exit code, an empty context, and no\n * `cause`.\n */\nexport interface CreatePmCliExpectedErrorOptions {\n /** Positive exit code to assign; defaults to the usage-error code. Non-finite or non-positive values throw. */\n exitCode?: number;\n /** Structured, secret-free diagnostic metadata to attach to the error. */\n context?: PmCliErrorContext;\n /** Underlying error to retain as a non-enumerable `cause` when provided. */\n cause?: unknown;\n}\n\nfunction normalizeExpectedErrorExitCode(value: number): number {\n if (!Number.isFinite(value)) {\n throw new TypeError(\"createPmCliExpectedError options.exitCode must be a finite number\");\n }\n const normalized = Math.trunc(value);\n if (normalized <= EXIT_CODE.SUCCESS) {\n throw new TypeError(\"createPmCliExpectedError options.exitCode must be a positive exit code\");\n }\n return normalized;\n}\n\n/**\n * Create a package-safe expected CLI error.\n *\n * The CLI and Sentry filtering rely on the public error shape rather than a\n * shared class identity, so package authors can throw this from bundled,\n * linked, or separately installed extension code.\n */\nexport function createPmCliExpectedError(\n message: string,\n options: CreatePmCliExpectedErrorOptions = {},\n): PmCliExpectedError {\n if (typeof message !== \"string\" || message.trim().length === 0) {\n throw new TypeError(\"createPmCliExpectedError message must be a non-empty string\");\n }\n const error = new PmCliError(\n message,\n normalizeExpectedErrorExitCode(options.exitCode ?? EXIT_CODE.USAGE),\n options.context ?? {},\n ) as PmCliExpectedError;\n if (\"cause\" in options) {\n Object.defineProperty(error, \"cause\", {\n value: options.cause,\n enumerable: false,\n configurable: true,\n writable: true,\n });\n }\n return error;\n}\n\n/**\n * Implements check whether pm cli expected error for the public runtime surface of this module.\n */\nexport function isPmCliExpectedError(error: unknown): error is PmCliExpectedError {\n if (!(error instanceof Error) || error.name !== PM_CLI_EXPECTED_ERROR_NAME) {\n return false;\n }\n const candidate = error as Partial<PmCliExpectedError>;\n return typeof candidate.exitCode === \"number\" && Number.isFinite(candidate.exitCode);\n}\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAkCvD,SAAS,8BAA8B,CAAC,KAAa;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,UAAU,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,UAA2C,EAAE;IAE7C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,OAAO,EACP,8BAA8B,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EACnE,OAAO,CAAC,OAAO,IAAI,EAAE,CACA,CAAC;IACxB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,KAAoC,CAAC;IACvD,OAAO,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACvF,CAAC","debugId":"a6ee83a1-a42a-5673-9cf1-c993bb149c7d"}
|
|
@@ -12,7 +12,47 @@
|
|
|
12
12
|
* at runtime via `PM_CLI_PACKAGE_ROOT`). Centralizing them here removes copy-pasted
|
|
13
13
|
* helper bodies while keeping each package's explicit field mapping in the package.
|
|
14
14
|
*/
|
|
15
|
-
import type { ItemDocument, ItemStatus, PmSettings } from "../types/index.js";
|
|
15
|
+
import type { ConfidenceTextLevel, ItemDocument, ItemMetadata, ItemStatus, LinkedDoc, LinkedFile, LinkedTest, LogNote, PmSettings } from "../types/index.js";
|
|
16
|
+
/**
|
|
17
|
+
* Restricts shared import priority values accepted by import adapters.
|
|
18
|
+
*/
|
|
19
|
+
export type ImportPriorityValue = 0 | 1 | 2 | 3 | 4;
|
|
20
|
+
/**
|
|
21
|
+
* Restricts import linked-artifact scopes accepted by bundled package adapters.
|
|
22
|
+
*/
|
|
23
|
+
export type ImportLinkedScope = "project" | "global";
|
|
24
|
+
/**
|
|
25
|
+
* Configures conversion of loosely shaped source comments into pm log entries.
|
|
26
|
+
*/
|
|
27
|
+
export interface ToImportLogEntriesOptions {
|
|
28
|
+
fallbackCreatedAt: string;
|
|
29
|
+
fallbackAuthor: string;
|
|
30
|
+
allowScalar?: boolean;
|
|
31
|
+
textKeys?: readonly string[];
|
|
32
|
+
createdAtKey?: string;
|
|
33
|
+
authorKey?: string;
|
|
34
|
+
toIsoString?: (value: unknown) => string | undefined;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Configures conversion of loosely shaped source file/doc arrays into pm linked artifacts.
|
|
38
|
+
*/
|
|
39
|
+
export interface ToImportLinkedArtifactsOptions {
|
|
40
|
+
allowScalar?: boolean;
|
|
41
|
+
pathKeys?: readonly string[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Configures conversion of loosely shaped source test arrays into pm linked tests.
|
|
45
|
+
*/
|
|
46
|
+
export interface ToImportLinkedTestsOptions {
|
|
47
|
+
allowScalar?: boolean;
|
|
48
|
+
commandKeys?: readonly string[];
|
|
49
|
+
pathKeys?: readonly string[];
|
|
50
|
+
requireCommand?: boolean;
|
|
51
|
+
includeExtendedAssertions?: boolean;
|
|
52
|
+
integerTimeout?: boolean;
|
|
53
|
+
timeoutMinimum?: number;
|
|
54
|
+
timeoutExclusiveMinimum?: boolean;
|
|
55
|
+
}
|
|
16
56
|
/**
|
|
17
57
|
* Returns the trimmed string when `value` is a non-empty string, else undefined.
|
|
18
58
|
*/
|
|
@@ -24,7 +64,7 @@ export declare function toEstimatedMinutesValue(value: unknown): number | undefi
|
|
|
24
64
|
/**
|
|
25
65
|
* Coerces a priority into the 0..4 range, defaulting to 2.
|
|
26
66
|
*/
|
|
27
|
-
export declare function toImportPriority(value: unknown):
|
|
67
|
+
export declare function toImportPriority(value: unknown): ImportPriorityValue;
|
|
28
68
|
/**
|
|
29
69
|
* Normalizes tags from an array of strings or a comma-separated string.
|
|
30
70
|
*/
|
|
@@ -33,6 +73,54 @@ export declare function toImportTags(value: unknown): string[];
|
|
|
33
73
|
* Maps a raw status value to a canonical pm status, defaulting to "open".
|
|
34
74
|
*/
|
|
35
75
|
export declare function toImportStatus(value: unknown): ItemStatus;
|
|
76
|
+
/**
|
|
77
|
+
* Coerces a finite integer from a number or non-empty numeric string.
|
|
78
|
+
*/
|
|
79
|
+
export declare function toImportInteger(value: unknown): number | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Coerces common boolean representations used by external package formats.
|
|
82
|
+
*/
|
|
83
|
+
export declare function toImportBoolean(value: unknown): boolean | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Coerces an array of non-empty strings.
|
|
86
|
+
*/
|
|
87
|
+
export declare function toImportStringList(value: unknown): string[] | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Coerces a record of non-empty string values.
|
|
90
|
+
*/
|
|
91
|
+
export declare function toImportStringMap(value: unknown): Record<string, string> | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Coerces a record of finite numeric values.
|
|
94
|
+
*/
|
|
95
|
+
export declare function toImportNumberMap(value: unknown): Record<string, number> | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Maps a loose source confidence value onto pm's confidence field.
|
|
98
|
+
*/
|
|
99
|
+
export declare function toImportConfidence(value: unknown, allowedTextValues: readonly ConfidenceTextLevel[]): ItemMetadata["confidence"] | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Maps a string onto an allowed enum value, including the common "med" alias.
|
|
102
|
+
*/
|
|
103
|
+
export declare function toImportNormalizedEnum<T extends readonly string[]>(value: unknown, allowed: T): T[number] | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Resolves pm linked-artifact scope values, defaulting to project scope.
|
|
106
|
+
*/
|
|
107
|
+
export declare function toImportLinkScope(value: unknown): ImportLinkedScope;
|
|
108
|
+
/**
|
|
109
|
+
* Converts source comments, notes, or learnings into pm log notes.
|
|
110
|
+
*/
|
|
111
|
+
export declare function toImportLogEntries(value: unknown, options: ToImportLogEntriesOptions): LogNote[] | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Converts source file artifacts into pm linked files.
|
|
114
|
+
*/
|
|
115
|
+
export declare function toImportLinkedFiles(value: unknown, options?: ToImportLinkedArtifactsOptions): LinkedFile[] | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Converts source doc artifacts into pm linked docs.
|
|
118
|
+
*/
|
|
119
|
+
export declare function toImportLinkedDocs(value: unknown, options?: ToImportLinkedArtifactsOptions): LinkedDoc[] | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* Converts source test artifacts into pm linked tests.
|
|
122
|
+
*/
|
|
123
|
+
export declare function toImportLinkedTests(value: unknown, options?: ToImportLinkedTestsOptions): LinkedTest[] | undefined;
|
|
36
124
|
/**
|
|
37
125
|
* Resolves the effective import author: explicit flag, PM_AUTHOR, then settings,
|
|
38
126
|
* falling back to "unknown".
|