@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,"sources":["../../../../../../../../cli/commands/next.ts"],"sourcesContent":["/**\n * @module cli/commands/next\n *\n * Implements the `pm next` command: the distilled \"what should I work on now?\"\n * query. It loads the active corpus, computes dependency-aware actionability\n * (ready vs blocked leaf work), and returns a single ranked recommendation with a\n * deterministic rationale plus the ranked ready/blocked queues — so an agent gets\n * the next action and the reason for it in one token-efficient read instead of\n * re-deriving readiness from a full `pm context` snapshot every turn.\n */\nimport {\n collectBlockedByIds,\n computeActionabilityReport,\n type ActionableEntry,\n} from \"../../core/item/actionability.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { normalizeStatusInput, normalizeStatusForRegistry } from \"../../core/item/status.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type { ItemFrontMatter, ItemStatus } from \"../../types/index.js\";\nimport { parseIntegerLimit } from \"../shared-parsers.js\";\nimport {\n buildChildrenByParent,\n collectSubtreeIds,\n compareCriticalItems,\n toContextFocusItem,\n type ContextFocusItem,\n} from \"./context.js\";\nimport { runList, type ListOptions } from \"./list.js\";\n\nexport const NEXT_OUTPUT_VALUES = [\"markdown\", \"toon\", \"json\"] as const;\n/**\n * Restricts `pm next` output format values accepted by command, SDK, and storage contracts.\n */\nexport type NextOutputFormat = (typeof NEXT_OUTPUT_VALUES)[number];\n\nconst DEFAULT_NEXT_LIMIT = 5;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * Documents the `pm next` options payload exchanged by command, SDK, and package integrations.\n */\nexport interface NextOptions {\n type?: string;\n tag?: string;\n priority?: string;\n assignee?: string;\n assigneeFilter?: string;\n sprint?: string;\n release?: string;\n parent?: string;\n limit?: string;\n blockedLimit?: string;\n readyOnly?: boolean;\n format?: string;\n [key: string]: unknown;\n}\n\n/** A blocker reference projected onto the `pm next` output. */\nexport interface NextBlockerRef {\n id: string;\n title: string | null;\n status: ItemStatus | null;\n}\n\n/**\n * A classified actionable item on the `pm next` output: a {@link ContextFocusItem}\n * focus row augmented with its open-blocker references and the downstream items it\n * would unblock.\n */\nexport interface NextActionableItem extends ContextFocusItem {\n open_blocker_count: number;\n blockers: NextBlockerRef[];\n unblocks: string[];\n}\n\n/** The single recommended next item: an actionable row plus its rationale. */\nexport interface NextRecommendation extends NextActionableItem {\n reasons: string[];\n}\n\ninterface NextSummary {\n recommended: boolean;\n ready: number;\n blocked: number;\n in_progress: number;\n candidates: number;\n containers: number;\n}\n\n/**\n * Documents the `pm next` result payload exchanged by command, SDK, and package integrations.\n */\nexport interface NextResult {\n output_default: \"toon\";\n now: string;\n recommended: NextRecommendation | null;\n ready: NextActionableItem[];\n blocked: NextActionableItem[];\n summary: NextSummary;\n filters: {\n type: string | null;\n tag: string | null;\n priority: string | null;\n assignee: string | null;\n assignee_filter: string | null;\n sprint: string | null;\n release: string | null;\n parent: string | null;\n limit: number;\n blocked_limit: number;\n ready_only: boolean;\n };\n suggestions?: string[];\n warnings?: string[];\n}\n\nfunction parseNextOutputFormat(raw: string | undefined): NextOutputFormat | undefined {\n if (!raw) return undefined;\n const normalized = raw.trim().toLowerCase();\n if (!NEXT_OUTPUT_VALUES.includes(normalized as NextOutputFormat)) {\n throw new PmCliError(\"Next format must be one of markdown|toon|json\", EXIT_CODE.USAGE);\n }\n return normalized as NextOutputFormat;\n}\n\n/**\n * Resolves the effective `pm next` output format from the command `--format` flag\n * and the global `--json` switch, rejecting the contradictory `--json --format\n * markdown|toon` combination. Defaults to `toon`.\n */\nexport function resolveNextOutputFormat(options: NextOptions, global: GlobalOptions): NextOutputFormat {\n const commandFormat = parseNextOutputFormat(options.format);\n if (global.json && commandFormat && commandFormat !== \"json\") {\n throw new PmCliError(\"Cannot combine --json with --format markdown|toon\", EXIT_CODE.USAGE);\n }\n if (global.json) {\n return \"json\";\n }\n return commandFormat ?? \"toon\";\n}\n\n// Per-section row cap. A non-positive or absent value falls back to the default;\n// invalid (non-integer) values throw via parseIntegerLimit.\nfunction parseNextLimit(raw: string | undefined, flag: string, fallback: number): number {\n const parsed = parseIntegerLimit(raw, flag);\n if (parsed === undefined || parsed <= 0) return fallback;\n return parsed;\n}\n\n// Projects an actionable entry onto its output row. Ready entries carry no\n// blockers; blocked entries surface their unresolved blockers for the agent.\nfunction toNextActionableItem(\n entry: ActionableEntry,\n statusRegistry: RuntimeStatusRegistry,\n childrenByParent: Map<string, ItemFrontMatter[]>,\n): NextActionableItem {\n return {\n ...toContextFocusItem(entry.item, statusRegistry, childrenByParent),\n open_blocker_count: entry.open_blockers.length,\n blockers: entry.open_blockers.map((blocker) => ({ id: blocker.id, title: blocker.title, status: blocker.status })),\n unblocks: entry.unblocks,\n };\n}\n\n// Builds the human+agent readable rationale for the recommended item, ordering\n// clauses from most to least decisive (status, priority, deadline, blocker\n// clearance, parent advancement, downstream unblocks).\nfunction buildRecommendationReasons(\n entry: ActionableEntry,\n statusRegistry: RuntimeStatusRegistry,\n now: string,\n completedContainer: boolean,\n): string[] {\n const item = entry.item;\n const reasons: string[] = [];\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n reasons.push(\n normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus\n ? \"in progress — resume to finish\"\n : \"open and ready to start\",\n );\n if (completedContainer) {\n reasons.push(\"completed container — governance closeout\");\n }\n reasons.push(`priority p${item.priority}${item.priority === 0 ? \" (highest)\" : \"\"}`);\n if (typeof item.deadline === \"string\" && item.deadline.trim().length > 0) {\n reasons.push(describeDeadline(item.deadline, now));\n }\n reasons.push(collectBlockedByIds(item).length > 0 ? \"all blockers resolved\" : \"no blockers\");\n if (typeof item.parent === \"string\" && item.parent.trim().length > 0) {\n reasons.push(`advances ${item.parent.trim()}`);\n }\n if (entry.unblocks.length > 0) {\n reasons.push(`unblocks ${entry.unblocks.length} item(s): ${entry.unblocks.join(\", \")}`);\n }\n return reasons;\n}\n\n// Renders a deadline as a date token plus a relative tag (overdue/today/in Nd).\n// The relative delta is computed on UTC calendar dates (both sides normalized to\n// midnight) so a deadline due today never reads as \"overdue 1d\" just because the\n// wall-clock time of `now` has passed midnight. Unparseable deadlines degrade to\n// the raw token (defensive — stored deadlines are always valid ISO).\nfunction describeDeadline(deadline: string, now: string): string {\n const deadlineMs = Date.parse(deadline);\n /* c8 ignore start -- defensive: a stored deadline that fails Date.parse still surfaces its raw token */\n if (!Number.isFinite(deadlineMs)) {\n return `deadline ${deadline.trim()}`;\n }\n /* c8 ignore stop */\n const dateToken = new Date(deadlineMs).toISOString().slice(0, 10);\n const nowToken = new Date(Date.parse(now)).toISOString().slice(0, 10);\n const days = Math.round((Date.parse(dateToken) - Date.parse(nowToken)) / MS_PER_DAY);\n if (days < 0) return `deadline ${dateToken} (overdue ${-days}d)`;\n if (days === 0) return `deadline ${dateToken} (due today)`;\n return `deadline ${dateToken} (in ${days}d)`;\n}\n\nfunction inProgressReadyCount(ready: NextActionableItem[], statusRegistry: RuntimeStatusRegistry): number {\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n return ready.filter((item) => normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus).length;\n}\n\n// Returns true when an otherwise-ready item still has terminal descendants. Such\n// rows are useful governance closeout context, but concrete leaf work should rank\n// ahead of them in the default agent loop.\nfunction hasCompletedDescendants(item: ItemFrontMatter, childrenByParent: Map<string, ItemFrontMatter[]>): boolean {\n return (childrenByParent.get(item.id.trim().toLowerCase()) ?? []).length > 0;\n}\n\n// Strips projection/pagination flags so the corpus reads stay full: limits are\n// per-section display caps applied after classification, never corpus filters.\nfunction nextListOptions(options: NextOptions, extra: Partial<ListOptions>): ListOptions {\n return {\n type: options.type,\n tag: options.tag,\n priority: options.priority,\n assignee: options.assignee,\n assigneeFilter: options.assigneeFilter,\n sprint: options.sprint,\n release: options.release,\n noTruncate: true,\n ...extra,\n };\n}\n\nfunction rankNextReadyEntries(\n ready: ActionableEntry[],\n childrenByParent: Map<string, ItemFrontMatter[]>,\n statusRegistry: RuntimeStatusRegistry,\n): ActionableEntry[] {\n return [...ready].sort((left, right) => {\n const leftCompletedContainer = hasCompletedDescendants(left.item, childrenByParent);\n const rightCompletedContainer = hasCompletedDescendants(right.item, childrenByParent);\n if (leftCompletedContainer !== rightCompletedContainer) {\n return Number(leftCompletedContainer) - Number(rightCompletedContainer);\n }\n return compareCriticalItems(left.item, right.item, statusRegistry);\n });\n}\n\nfunction buildNextRecommendation(params: {\n projectedReady: ActionableEntry[];\n readyRows: NextActionableItem[];\n statusRegistry: RuntimeStatusRegistry;\n now: string;\n completedContainer: boolean;\n}): NextRecommendation | null {\n if (params.projectedReady.length === 0) {\n return null;\n }\n return {\n ...params.readyRows[0],\n reasons: buildRecommendationReasons(\n params.projectedReady[0],\n params.statusRegistry,\n params.now,\n params.completedContainer,\n ),\n };\n}\n\nfunction buildNextSuggestions(recommended: NextRecommendation | null, blockedRows: NextActionableItem[]): string[] | undefined {\n if (recommended !== null) {\n return undefined;\n }\n if (blockedRows.length > 0) {\n return [\n `${blockedRows.length} item(s) are blocked; unblock the top one by closing ${blockedRows[0].blockers\n .map((blocker) => blocker.id)\n .join(\", \")}`,\n \"pm next --ready-only after a blocker closes to re-check ready work\",\n 'pm create --type Task --title \"...\" to add new ready work',\n ];\n }\n return [\n 'pm create --type Task --title \"...\" to add a new work item',\n \"pm list --status in_progress to review work already underway\",\n \"pm context --depth deep for the full project snapshot\",\n ];\n}\n\nfunction filterCandidatesByParentScope(\n candidates: ItemFrontMatter[],\n corpus: ItemFrontMatter[],\n parentScope: string,\n): ItemFrontMatter[] {\n if (!parentScope) {\n return candidates;\n }\n const subtree = collectSubtreeIds(corpus, parentScope);\n if (!subtree.found) {\n throw new PmCliError(`Next --parent item not found: ${parentScope}`, EXIT_CODE.NOT_FOUND);\n }\n return candidates.filter((item) => subtree.ids.has(item.id.trim().toLowerCase()));\n}\n\n/**\n * Implements `pm next`: computes the ranked ready/blocked actionable queues and a\n * single recommended next item with rationale for the public runtime surface.\n */\nexport async function runNext(options: NextOptions, global: GlobalOptions): Promise<NextResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const now = nowIso();\n const limit = parseNextLimit(options.limit, \"--limit\", DEFAULT_NEXT_LIMIT);\n const blockedLimit = parseNextLimit(options.blockedLimit, \"--blocked-limit\", limit);\n const readyOnly = options.readyOnly === true;\n const parentScope = typeof options.parent === \"string\" ? options.parent.trim() : \"\";\n\n // Active (non-terminal) candidates honor the caller's filters; the corpus is the\n // FULL, UNFILTERED set (every status, every item) so blocker and descendant\n // resolution still sees items outside the caller's filters or --parent subtree —\n // otherwise a real blocker assigned to someone else (or a parent of a different\n // type) would be missing and the blocked item misread as ready.\n const candidatesList = await runList(undefined, nextListOptions(options, { excludeTerminal: true }), global);\n const corpusList = await runList(undefined, { excludeTerminal: false, noTruncate: true }, global);\n const candidates = filterCandidatesByParentScope(candidatesList.items as ItemFrontMatter[], corpusList.items as ItemFrontMatter[], parentScope);\n const corpus = corpusList.items as ItemFrontMatter[];\n\n const report = computeActionabilityReport(candidates, corpus, statusRegistry);\n const childrenByParent = buildChildrenByParent(corpus);\n const rankedReady = rankNextReadyEntries(report.ready, childrenByParent, statusRegistry);\n const rankedBlocked = [...report.blocked].sort((left, right) =>\n compareCriticalItems(left.item, right.item, statusRegistry),\n );\n const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));\n const projectedReady = concreteReady.length > 0 ? concreteReady : rankedReady;\n\n const readyRows = projectedReady.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));\n const blockedRows = rankedBlocked.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));\n\n const recommended = buildNextRecommendation({\n projectedReady,\n readyRows,\n statusRegistry,\n now,\n completedContainer: concreteReady.length === 0,\n });\n\n const result: NextResult = {\n output_default: \"toon\",\n now,\n recommended,\n ready: readyRows.slice(0, limit),\n blocked: readyOnly ? [] : blockedRows.slice(0, blockedLimit),\n summary: {\n recommended: recommended !== null,\n ready: readyRows.length,\n blocked: blockedRows.length,\n in_progress: inProgressReadyCount(readyRows, statusRegistry),\n candidates: report.active_count,\n containers: report.container_count,\n },\n filters: {\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n assignee: options.assignee ?? null,\n assignee_filter: options.assigneeFilter ?? null,\n sprint: options.sprint ?? null,\n release: options.release ?? null,\n parent: parentScope.length > 0 ? parentScope : null,\n limit,\n blocked_limit: blockedLimit,\n ready_only: readyOnly,\n },\n };\n\n const warnings = [...new Set([...(candidatesList.warnings ?? []), ...(corpusList.warnings ?? [])])].sort((a, b) =>\n a.localeCompare(b),\n );\n if (warnings.length > 0) result.warnings = warnings;\n\n result.suggestions = buildNextSuggestions(recommended, blockedRows);\n\n return result;\n}\n\n/**\n * Renders a {@link NextResult} as compact agent-readable markdown: the\n * recommendation with its rationale, the ranked ready queue, and (unless\n * `--ready-only`) the blocked queue annotated with each item's open blockers.\n */\nexport function renderNextMarkdown(result: NextResult): string {\n const lines: string[] = [\"# pm next\", \"\"];\n lines.push(`- now: ${result.now}`);\n lines.push(\n `- ready: ${result.summary.ready} (in_progress: ${result.summary.in_progress}), blocked: ${result.summary.blocked}, candidates: ${result.summary.candidates}`,\n );\n if (result.filters.parent) {\n lines.push(`- scope: subtree of ${result.filters.parent}`);\n }\n lines.push(\"\");\n\n lines.push(\"## Recommended\");\n if (result.recommended) {\n lines.push(`- ${formatNextLine(result.recommended)}`);\n lines.push(` why: ${result.recommended.reasons.join(\"; \")}`);\n } else {\n lines.push(\"No ready work.\");\n }\n lines.push(\"\");\n\n lines.push(\"## Ready\");\n if (result.ready.length === 0) {\n lines.push(\"No ready items.\");\n } else {\n for (const item of result.ready) {\n lines.push(`- ${formatNextLine(item)}`);\n }\n }\n lines.push(\"\");\n\n if (!result.filters.ready_only) {\n lines.push(\"## Blocked\");\n if (result.blocked.length === 0) {\n lines.push(\"No blocked items.\");\n } else {\n for (const item of result.blocked) {\n const by = item.blockers\n .map((blocker) => `${blocker.id}(${blocker.status ?? \"?\"})`)\n .join(\", \");\n lines.push(`- ${formatNextLine(item)} blocked_by:${by}`);\n }\n }\n lines.push(\"\");\n }\n\n if (result.suggestions && result.suggestions.length > 0) {\n lines.push(\"## Suggestions\");\n for (const suggestion of result.suggestions) {\n lines.push(`- ${suggestion}`);\n }\n }\n\n return lines.join(\"\\n\").trimEnd();\n}\n\n// Formats a single actionable row: id, priority, status, type, deadline, parent,\n// downstream-unblock count, and title. Mirrors the context focus-line shape.\nfunction formatNextLine(item: NextActionableItem): string {\n const deadlineToken = item.deadline ?? \"-\";\n const parentToken = item.parent ? ` parent:${item.parent}` : \"\";\n const unblocksToken = item.unblocks.length > 0 ? ` unblocks:${item.unblocks.length}` : \"\";\n return `${item.id} p${item.priority} ${item.status} ${item.type} deadline:${deadlineToken}${parentToken}${unblocksToken} ${item.title}`;\n}\n"],"names":[],"mappings":"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","debugId":"45d45ed4-8c7f-58a4-95da-26d02e220f0a"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../cli/commands/next.ts"],"sourcesContent":["/**\n * @module cli/commands/next\n *\n * Implements the `pm next` command: the distilled \"what should I work on now?\"\n * query. It loads the active corpus, computes dependency-aware actionability\n * (ready vs blocked leaf work), and returns a single ranked recommendation with a\n * deterministic rationale plus the ranked ready/blocked queues — so an agent gets\n * the next action and the reason for it in one token-efficient read instead of\n * re-deriving readiness from a full `pm context` snapshot every turn.\n */\nimport {\n collectBlockedByIds,\n computeActionabilityReport,\n type ActionableEntry,\n} from \"../../core/item/actionability.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { normalizeStatusInput, normalizeStatusForRegistry } from \"../../core/item/status.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type { ItemFrontMatter, ItemStatus } from \"../../types/index.js\";\nimport { parseIntegerLimit } from \"../shared-parsers.js\";\nimport {\n buildChildrenByParent,\n collectSubtreeIds,\n compareCriticalItems,\n toContextFocusItem,\n type ContextFocusItem,\n} from \"./context.js\";\nimport { runList, type ListOptions } from \"./list.js\";\n\nexport const NEXT_OUTPUT_VALUES = [\"markdown\", \"toon\", \"json\"] as const;\n/**\n * Restricts `pm next` output format values accepted by command, SDK, and storage contracts.\n */\nexport type NextOutputFormat = (typeof NEXT_OUTPUT_VALUES)[number];\n\nconst DEFAULT_NEXT_LIMIT = 5;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * Documents the `pm next` options payload exchanged by command, SDK, and package integrations.\n */\nexport interface NextOptions {\n type?: string;\n tag?: string;\n priority?: string;\n assignee?: string;\n assigneeFilter?: string;\n sprint?: string;\n release?: string;\n parent?: string;\n limit?: string;\n blockedLimit?: string;\n readyOnly?: boolean;\n format?: string;\n [key: string]: unknown;\n}\n\n/** A blocker reference projected onto the `pm next` output. */\nexport interface NextBlockerRef {\n id: string;\n title: string | null;\n status: ItemStatus | null;\n}\n\n/**\n * A classified actionable item on the `pm next` output: a {@link ContextFocusItem}\n * focus row augmented with its open-blocker references and the downstream items it\n * would unblock.\n */\nexport interface NextActionableItem extends ContextFocusItem {\n open_blocker_count: number;\n blockers: NextBlockerRef[];\n unblocks: string[];\n}\n\n/** The single recommended next item: an actionable row plus its rationale. */\nexport interface NextRecommendation extends NextActionableItem {\n reasons: string[];\n}\n\ninterface NextSummary {\n recommended: boolean;\n ready: number;\n blocked: number;\n in_progress: number;\n candidates: number;\n containers: number;\n}\n\n/**\n * Documents the `pm next` result payload exchanged by command, SDK, and package integrations.\n */\nexport interface NextResult {\n output_default: \"toon\";\n now: string;\n recommended: NextRecommendation | null;\n ready: NextActionableItem[];\n blocked: NextActionableItem[];\n summary: NextSummary;\n filters: {\n type: string | null;\n tag: string | null;\n priority: string | null;\n assignee: string | null;\n assignee_filter: string | null;\n sprint: string | null;\n release: string | null;\n parent: string | null;\n limit: number;\n blocked_limit: number;\n ready_only: boolean;\n };\n suggestions?: string[];\n warnings?: string[];\n}\n\nfunction parseNextOutputFormat(raw: string | undefined): NextOutputFormat | undefined {\n if (!raw) return undefined;\n const normalized = raw.trim().toLowerCase();\n if (!NEXT_OUTPUT_VALUES.includes(normalized as NextOutputFormat)) {\n throw new PmCliError(\"Next format must be one of markdown|toon|json\", EXIT_CODE.USAGE);\n }\n return normalized as NextOutputFormat;\n}\n\n/**\n * Resolves the effective `pm next` output format from the command `--format` flag\n * and the global `--json` switch, rejecting the contradictory `--json --format\n * markdown|toon` combination. Defaults to `toon`.\n */\nexport function resolveNextOutputFormat(options: NextOptions, global: GlobalOptions): NextOutputFormat {\n const commandFormat = parseNextOutputFormat(options.format);\n if (global.json && commandFormat && commandFormat !== \"json\") {\n throw new PmCliError(\"Cannot combine --json with --format markdown|toon\", EXIT_CODE.USAGE);\n }\n if (global.json) {\n return \"json\";\n }\n return commandFormat ?? \"toon\";\n}\n\n// Per-section row cap. A non-positive or absent value falls back to the default;\n// invalid (non-integer) values throw via parseIntegerLimit.\nfunction parseNextLimit(raw: string | undefined, flag: string, fallback: number): number {\n const parsed = parseIntegerLimit(raw, flag);\n if (parsed === undefined || parsed <= 0) return fallback;\n return parsed;\n}\n\n// Projects an actionable entry onto its output row. Ready entries carry no\n// blockers; blocked entries surface their unresolved blockers for the agent.\nfunction toNextActionableItem(\n entry: ActionableEntry,\n statusRegistry: RuntimeStatusRegistry,\n childrenByParent: Map<string, ItemFrontMatter[]>,\n): NextActionableItem {\n return {\n ...toContextFocusItem(entry.item, statusRegistry, childrenByParent),\n open_blocker_count: entry.open_blockers.length,\n blockers: entry.open_blockers.map((blocker) => ({ id: blocker.id, title: blocker.title, status: blocker.status })),\n unblocks: entry.unblocks,\n };\n}\n\n// Builds the human+agent readable rationale for the recommended item, ordering\n// clauses from most to least decisive (status, priority, deadline, blocker\n// clearance, parent advancement, downstream unblocks).\nfunction buildRecommendationReasons(\n entry: ActionableEntry,\n statusRegistry: RuntimeStatusRegistry,\n now: string,\n completedContainer: boolean,\n): string[] {\n const item = entry.item;\n const reasons: string[] = [];\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n reasons.push(\n normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus\n ? \"in progress — resume to finish\"\n : \"open and ready to start\",\n );\n if (completedContainer) {\n reasons.push(\"completed container — governance closeout\");\n }\n reasons.push(`priority p${item.priority}${item.priority === 0 ? \" (highest)\" : \"\"}`);\n if (typeof item.deadline === \"string\" && item.deadline.trim().length > 0) {\n reasons.push(describeDeadline(item.deadline, now));\n }\n reasons.push(collectBlockedByIds(item).length > 0 ? \"all blockers resolved\" : \"no blockers\");\n if (typeof item.parent === \"string\" && item.parent.trim().length > 0) {\n reasons.push(`advances ${item.parent.trim()}`);\n }\n if (entry.unblocks.length > 0) {\n reasons.push(`unblocks ${entry.unblocks.length} item(s): ${entry.unblocks.join(\", \")}`);\n }\n return reasons;\n}\n\n// Renders a deadline as a date token plus a relative tag (overdue/today/in Nd).\n// The relative delta is computed on UTC calendar dates (both sides normalized to\n// midnight) so a deadline due today never reads as \"overdue 1d\" just because the\n// wall-clock time of `now` has passed midnight. Unparseable deadlines degrade to\n// the raw token (defensive — stored deadlines are always valid ISO).\nfunction describeDeadline(deadline: string, now: string): string {\n const deadlineMs = Date.parse(deadline);\n /* c8 ignore start -- defensive: a stored deadline that fails Date.parse still surfaces its raw token */\n if (!Number.isFinite(deadlineMs)) {\n return `deadline ${deadline.trim()}`;\n }\n /* c8 ignore stop */\n const dateToken = new Date(deadlineMs).toISOString().slice(0, 10);\n const nowToken = new Date(Date.parse(now)).toISOString().slice(0, 10);\n const days = Math.round((Date.parse(dateToken) - Date.parse(nowToken)) / MS_PER_DAY);\n if (days < 0) return `deadline ${dateToken} (overdue ${-days}d)`;\n if (days === 0) return `deadline ${dateToken} (due today)`;\n return `deadline ${dateToken} (in ${days}d)`;\n}\n\nfunction inProgressReadyCount(ready: NextActionableItem[], statusRegistry: RuntimeStatusRegistry): number {\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n return ready.filter((item) => normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus).length;\n}\n\n// Returns true when an otherwise-ready item still has terminal descendants. Such\n// rows are useful governance closeout context, but concrete leaf work should rank\n// ahead of them in the default agent loop.\nfunction hasCompletedDescendants(item: ItemFrontMatter, childrenByParent: Map<string, ItemFrontMatter[]>): boolean {\n return (childrenByParent.get(item.id.trim().toLowerCase()) ?? []).length > 0;\n}\n\n// Strips projection/pagination flags so the corpus reads stay full: limits are\n// per-section display caps applied after classification, never corpus filters.\nfunction nextListOptions(options: NextOptions, extra: Partial<ListOptions>): ListOptions {\n return {\n type: options.type,\n tag: options.tag,\n priority: options.priority,\n assignee: options.assignee,\n assigneeFilter: options.assigneeFilter,\n sprint: options.sprint,\n release: options.release,\n noTruncate: true,\n ...extra,\n };\n}\n\nfunction rankNextReadyEntries(\n ready: ActionableEntry[],\n childrenByParent: Map<string, ItemFrontMatter[]>,\n statusRegistry: RuntimeStatusRegistry,\n): ActionableEntry[] {\n return [...ready].sort((left, right) => {\n const leftCompletedContainer = hasCompletedDescendants(left.item, childrenByParent);\n const rightCompletedContainer = hasCompletedDescendants(right.item, childrenByParent);\n if (leftCompletedContainer !== rightCompletedContainer) {\n return Number(leftCompletedContainer) - Number(rightCompletedContainer);\n }\n return compareCriticalItems(left.item, right.item, statusRegistry);\n });\n}\n\nfunction buildNextRecommendation(params: {\n projectedReady: ActionableEntry[];\n readyRows: NextActionableItem[];\n statusRegistry: RuntimeStatusRegistry;\n now: string;\n completedContainer: boolean;\n}): NextRecommendation | null {\n if (params.projectedReady.length === 0) {\n return null;\n }\n return {\n ...params.readyRows[0],\n reasons: buildRecommendationReasons(\n params.projectedReady[0],\n params.statusRegistry,\n params.now,\n params.completedContainer,\n ),\n };\n}\n\nfunction buildNextSuggestions(recommended: NextRecommendation | null, blockedRows: NextActionableItem[]): string[] | undefined {\n if (recommended !== null) {\n return undefined;\n }\n if (blockedRows.length > 0) {\n return [\n `${blockedRows.length} item(s) are blocked; unblock the top one by closing ${blockedRows[0].blockers\n .map((blocker) => blocker.id)\n .join(\", \")}`,\n \"pm next --ready-only after a blocker closes to re-check ready work\",\n 'pm create --type Task --title \"...\" to add new ready work',\n ];\n }\n return [\n 'pm create --type Task --title \"...\" to add a new work item',\n \"pm list --status in_progress to review work already underway\",\n \"pm context --depth deep for the full project snapshot\",\n ];\n}\n\nfunction filterCandidatesByParentScope(\n candidates: ItemFrontMatter[],\n corpus: ItemFrontMatter[],\n parentScope: string,\n): ItemFrontMatter[] {\n if (!parentScope) {\n return candidates;\n }\n const subtree = collectSubtreeIds(corpus, parentScope);\n if (!subtree.found) {\n throw new PmCliError(`Next --parent item not found: ${parentScope}`, EXIT_CODE.NOT_FOUND);\n }\n return candidates.filter((item) => subtree.ids.has(item.id.trim().toLowerCase()));\n}\n\n/**\n * Implements `pm next`: computes the ranked ready/blocked actionable queues and a\n * single recommended next item with rationale for the public runtime surface.\n */\nexport async function runNext(options: NextOptions, global: GlobalOptions): Promise<NextResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const now = nowIso();\n const limit = parseNextLimit(options.limit, \"--limit\", DEFAULT_NEXT_LIMIT);\n const blockedLimit = parseNextLimit(options.blockedLimit, \"--blocked-limit\", limit);\n const readyOnly = options.readyOnly === true;\n const parentScope = typeof options.parent === \"string\" ? options.parent.trim() : \"\";\n\n // Active (non-terminal) candidates honor the caller's filters; the corpus is the\n // FULL, UNFILTERED set (every status, every item) so blocker and descendant\n // resolution still sees items outside the caller's filters or --parent subtree —\n // otherwise a real blocker assigned to someone else (or a parent of a different\n // type) would be missing and the blocked item misread as ready.\n const candidatesList = await runList(undefined, nextListOptions(options, { excludeTerminal: true }), global);\n const corpusList = await runList(undefined, { excludeTerminal: false, noTruncate: true }, global);\n const candidates = filterCandidatesByParentScope(candidatesList.items as ItemFrontMatter[], corpusList.items as ItemFrontMatter[], parentScope);\n const corpus = corpusList.items as ItemFrontMatter[];\n\n const report = computeActionabilityReport(candidates, corpus, statusRegistry);\n const childrenByParent = buildChildrenByParent(corpus);\n const rankedReady = rankNextReadyEntries(report.ready, childrenByParent, statusRegistry);\n const rankedBlocked = [...report.blocked].sort((left, right) =>\n compareCriticalItems(left.item, right.item, statusRegistry),\n );\n const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));\n const projectedReady = concreteReady.length > 0 ? concreteReady : rankedReady;\n\n const readyRows = projectedReady.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));\n const blockedRows = rankedBlocked.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));\n\n const recommended = buildNextRecommendation({\n projectedReady,\n readyRows,\n statusRegistry,\n now,\n completedContainer: concreteReady.length === 0,\n });\n\n const result: NextResult = {\n output_default: \"toon\",\n now,\n recommended,\n ready: readyRows.slice(0, limit),\n blocked: readyOnly ? [] : blockedRows.slice(0, blockedLimit),\n summary: {\n recommended: recommended !== null,\n ready: readyRows.length,\n blocked: blockedRows.length,\n in_progress: inProgressReadyCount(readyRows, statusRegistry),\n candidates: report.active_count,\n containers: report.container_count,\n },\n filters: {\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n assignee: options.assignee ?? null,\n assignee_filter: options.assigneeFilter ?? null,\n sprint: options.sprint ?? null,\n release: options.release ?? null,\n parent: parentScope.length > 0 ? parentScope : null,\n limit,\n blocked_limit: blockedLimit,\n ready_only: readyOnly,\n },\n };\n\n const warnings = [...new Set([...(candidatesList.warnings ?? []), ...(corpusList.warnings ?? [])])].sort((a, b) =>\n a.localeCompare(b),\n );\n if (warnings.length > 0) result.warnings = warnings;\n\n result.suggestions = buildNextSuggestions(recommended, blockedRows);\n\n return result;\n}\n\n/**\n * Renders a {@link NextResult} as compact agent-readable markdown: the\n * recommendation with its rationale, the ranked ready queue, and (unless\n * `--ready-only`) the blocked queue annotated with each item's open blockers.\n */\nexport function renderNextMarkdown(result: NextResult): string {\n const lines: string[] = [\"# pm next\", \"\"];\n lines.push(`- now: ${result.now}`);\n lines.push(\n `- ready: ${result.summary.ready} (in_progress: ${result.summary.in_progress}), blocked: ${result.summary.blocked}, candidates: ${result.summary.candidates}`,\n );\n if (result.filters.parent) {\n lines.push(`- scope: subtree of ${result.filters.parent}`);\n }\n lines.push(\"\");\n\n lines.push(\"## Recommended\");\n if (result.recommended) {\n lines.push(`- ${formatNextLine(result.recommended)}`);\n lines.push(` why: ${result.recommended.reasons.join(\"; \")}`);\n } else {\n lines.push(\"No ready work.\");\n }\n lines.push(\"\");\n\n lines.push(\"## Ready\");\n if (result.ready.length === 0) {\n lines.push(\"No ready items.\");\n } else {\n for (const item of result.ready) {\n lines.push(`- ${formatNextLine(item)}`);\n }\n }\n lines.push(\"\");\n\n if (!result.filters.ready_only) {\n lines.push(\"## Blocked\");\n if (result.blocked.length === 0) {\n lines.push(\"No blocked items.\");\n } else {\n for (const item of result.blocked) {\n const by = item.blockers\n .map((blocker) => `${blocker.id}(${blocker.status ?? \"?\"})`)\n .join(\", \");\n lines.push(`- ${formatNextLine(item)} blocked_by:${by}`);\n }\n }\n lines.push(\"\");\n }\n\n if (result.suggestions && result.suggestions.length > 0) {\n lines.push(\"## Suggestions\");\n for (const suggestion of result.suggestions) {\n lines.push(`- ${suggestion}`);\n }\n }\n\n return lines.join(\"\\n\").trimEnd();\n}\n\n// Formats a single actionable row: id, priority, status, type, deadline, parent,\n// downstream-unblock count, and title. Mirrors the context focus-line shape.\nfunction formatNextLine(item: NextActionableItem): string {\n const deadlineToken = item.deadline ?? \"-\";\n const parentToken = item.parent ? ` parent:${item.parent}` : \"\";\n const unblocksToken = item.unblocks.length > 0 ? ` unblocks:${item.unblocks.length}` : \"\";\n return `${item.id} p${item.priority} ${item.status} ${item.type} deadline:${deadlineToken}${parentToken}${unblocksToken} ${item.title}`;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCO,IAAM,qBAAqB,CAAC,YAAY,QAAQ,MAAM;AAM7D,IAAM,qBAAqB;AAC3B,IAAM,aAAa,KAAK,KAAK,KAAK;AAgFlC,SAAS,sBAAsB,KAAuB;AACpD,MAAI,CAAC;AAAK,WAAO;AACjB,QAAM,aAAa,IAAI,KAAI,EAAG,YAAW;AACzC,MAAI,CAAC,mBAAmB,SAAS,UAA8B,GAAG;AAChE,UAAM,IAAI,WAAW,iDAAiD,UAAU,KAAK;EACvF;AACA,SAAO;AACT;AAOM,SAAU,wBAAwB,SAAsB,QAAqB;AACjF,QAAM,gBAAgB,sBAAsB,QAAQ,MAAM;AAC1D,MAAI,OAAO,QAAQ,iBAAiB,kBAAkB,QAAQ;AAC5D,UAAM,IAAI,WAAW,qDAAqD,UAAU,KAAK;EAC3F;AACA,MAAI,OAAO,MAAM;AACf,WAAO;EACT;AACA,SAAO,iBAAiB;AAC1B;AAIA,SAAS,eAAe,KAAyB,MAAc,UAAgB;AAC7E,QAAM,SAAS,kBAAkB,KAAK,IAAI;AAC1C,MAAI,WAAW,UAAa,UAAU;AAAG,WAAO;AAChD,SAAO;AACT;AAIA,SAAS,qBACP,OACA,gBACA,kBAAgD;AAEhD,SAAO;IACL,GAAG,mBAAmB,MAAM,MAAM,gBAAgB,gBAAgB;IAClE,oBAAoB,MAAM,cAAc;IACxC,UAAU,MAAM,cAAc,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,IAAI,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAM,EAAG;IACjH,UAAU,MAAM;;AAEpB;AAKA,SAAS,2BACP,OACA,gBACA,KACA,oBAA2B;AAE3B,QAAM,OAAO,MAAM;AACnB,QAAM,UAAoB,CAAA;AAC1B,QAAM,mBAAmB,qBAAqB,eAAe,cAAc;AAC3E,UAAQ,KACN,2BAA2B,KAAK,QAAQ,cAAc,MAAM,mBACxD,wCACA,yBAAyB;AAE/B,MAAI,oBAAoB;AACtB,YAAQ,KAAK,gDAA2C;EAC1D;AACA,UAAQ,KAAK,aAAa,KAAK,QAAQ,GAAG,KAAK,aAAa,IAAI,eAAe,EAAE,EAAE;AACnF,MAAI,OAAO,KAAK,aAAa,YAAY,KAAK,SAAS,KAAI,EAAG,SAAS,GAAG;AACxE,YAAQ,KAAK,iBAAiB,KAAK,UAAU,GAAG,CAAC;EACnD;AACA,UAAQ,KAAK,oBAAoB,IAAI,EAAE,SAAS,IAAI,0BAA0B,aAAa;AAC3F,MAAI,OAAO,KAAK,WAAW,YAAY,KAAK,OAAO,KAAI,EAAG,SAAS,GAAG;AACpE,YAAQ,KAAK,YAAY,KAAK,OAAO,KAAI,CAAE,EAAE;EAC/C;AACA,MAAI,MAAM,SAAS,SAAS,GAAG;AAC7B,YAAQ,KAAK,YAAY,MAAM,SAAS,MAAM,aAAa,MAAM,SAAS,KAAK,IAAI,CAAC,EAAE;EACxF;AACA,SAAO;AACT;AAOA,SAAS,iBAAiB,UAAkB,KAAW;AACrD,QAAM,aAAa,KAAK,MAAM,QAAQ;AAEtC,MAAI,CAAC,OAAO,SAAS,UAAU,GAAG;AAChC,WAAO,YAAY,SAAS,KAAI,CAAE;EACpC;AAEA,QAAM,YAAY,IAAI,KAAK,UAAU,EAAE,YAAW,EAAG,MAAM,GAAG,EAAE;AAChE,QAAM,WAAW,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,YAAW,EAAG,MAAM,GAAG,EAAE;AACpE,QAAM,OAAO,KAAK,OAAO,KAAK,MAAM,SAAS,IAAI,KAAK,MAAM,QAAQ,KAAK,UAAU;AACnF,MAAI,OAAO;AAAG,WAAO,YAAY,SAAS,aAAa,CAAC,IAAI;AAC5D,MAAI,SAAS;AAAG,WAAO,YAAY,SAAS;AAC5C,SAAO,YAAY,SAAS,QAAQ,IAAI;AAC1C;AAEA,SAAS,qBAAqB,OAA6B,gBAAqC;AAC9F,QAAM,mBAAmB,qBAAqB,eAAe,cAAc;AAC3E,SAAO,MAAM,OAAO,CAAC,SAAS,2BAA2B,KAAK,QAAQ,cAAc,MAAM,gBAAgB,EAAE;AAC9G;AAKA,SAAS,wBAAwB,MAAuB,kBAAgD;AACtG,UAAQ,iBAAiB,IAAI,KAAK,GAAG,KAAI,EAAG,YAAW,CAAE,KAAK,CAAA,GAAI,SAAS;AAC7E;AAIA,SAAS,gBAAgB,SAAsB,OAA2B;AACxE,SAAO;IACL,MAAM,QAAQ;IACd,KAAK,QAAQ;IACb,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,gBAAgB,QAAQ;IACxB,QAAQ,QAAQ;IAChB,SAAS,QAAQ;IACjB,YAAY;IACZ,GAAG;;AAEP;AAEA,SAAS,qBACP,OACA,kBACA,gBAAqC;AAErC,SAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,UAAS;AACrC,UAAM,yBAAyB,wBAAwB,KAAK,MAAM,gBAAgB;AAClF,UAAM,0BAA0B,wBAAwB,MAAM,MAAM,gBAAgB;AACpF,QAAI,2BAA2B,yBAAyB;AACtD,aAAO,OAAO,sBAAsB,IAAI,OAAO,uBAAuB;IACxE;AACA,WAAO,qBAAqB,KAAK,MAAM,MAAM,MAAM,cAAc;EACnE,CAAC;AACH;AAEA,SAAS,wBAAwB,QAMhC;AACC,MAAI,OAAO,eAAe,WAAW,GAAG;AACtC,WAAO;EACT;AACA,SAAO;IACL,GAAG,OAAO,UAAU,CAAC;IACrB,SAAS,2BACP,OAAO,eAAe,CAAC,GACvB,OAAO,gBACP,OAAO,KACP,OAAO,kBAAkB;;AAG/B;AAEA,SAAS,qBAAqB,aAAwC,aAAiC;AACrG,MAAI,gBAAgB,MAAM;AACxB,WAAO;EACT;AACA,MAAI,YAAY,SAAS,GAAG;AAC1B,WAAO;MACL,GAAG,YAAY,MAAM,wDAAwD,YAAY,CAAC,EAAE,SACzF,IAAI,CAAC,YAAY,QAAQ,EAAE,EAC3B,KAAK,IAAI,CAAC;MACb;MACA;;EAEJ;AACA,SAAO;IACL;IACA;IACA;;AAEJ;AAEA,SAAS,8BACP,YACA,QACA,aAAmB;AAEnB,MAAI,CAAC,aAAa;AAChB,WAAO;EACT;AACA,QAAM,UAAU,kBAAkB,QAAQ,WAAW;AACrD,MAAI,CAAC,QAAQ,OAAO;AAClB,UAAM,IAAI,WAAW,iCAAiC,WAAW,IAAI,UAAU,SAAS;EAC1F;AACA,SAAO,WAAW,OAAO,CAAC,SAAS,QAAQ,IAAI,IAAI,KAAK,GAAG,KAAI,EAAG,YAAW,CAAE,CAAC;AAClF;AAMA,eAAsB,QAAQ,SAAsB,QAAqB;AACvE,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAI,OAAO,IAAI;AACvD,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,iBAAiB,6BAA6B,SAAS,MAAM;AACnE,QAAM,MAAM,OAAM;AAClB,QAAM,QAAQ,eAAe,QAAQ,OAAO,WAAW,kBAAkB;AACzE,QAAM,eAAe,eAAe,QAAQ,cAAc,mBAAmB,KAAK;AAClF,QAAM,YAAY,QAAQ,cAAc;AACxC,QAAM,cAAc,OAAO,QAAQ,WAAW,WAAW,QAAQ,OAAO,KAAI,IAAK;AAOjF,QAAM,iBAAiB,MAAM,QAAQ,QAAW,gBAAgB,SAAS,EAAE,iBAAiB,KAAI,CAAE,GAAG,MAAM;AAC3G,QAAM,aAAa,MAAM,QAAQ,QAAW,EAAE,iBAAiB,OAAO,YAAY,KAAI,GAAI,MAAM;AAChG,QAAM,aAAa,8BAA8B,eAAe,OAA4B,WAAW,OAA4B,WAAW;AAC9I,QAAM,SAAS,WAAW;AAE1B,QAAM,SAAS,2BAA2B,YAAY,QAAQ,cAAc;AAC5E,QAAM,mBAAmB,sBAAsB,MAAM;AACrD,QAAM,cAAc,qBAAqB,OAAO,OAAO,kBAAkB,cAAc;AACvF,QAAM,gBAAgB,CAAC,GAAG,OAAO,OAAO,EAAE,KAAK,CAAC,MAAM,UACpD,qBAAqB,KAAK,MAAM,MAAM,MAAM,cAAc,CAAC;AAE7D,QAAM,gBAAgB,YAAY,OAAO,CAAC,UAAU,CAAC,wBAAwB,MAAM,MAAM,gBAAgB,CAAC;AAC1G,QAAM,iBAAiB,cAAc,SAAS,IAAI,gBAAgB;AAElE,QAAM,YAAY,eAAe,IAAI,CAAC,UAAU,qBAAqB,OAAO,gBAAgB,gBAAgB,CAAC;AAC7G,QAAM,cAAc,cAAc,IAAI,CAAC,UAAU,qBAAqB,OAAO,gBAAgB,gBAAgB,CAAC;AAE9G,QAAM,cAAc,wBAAwB;IAC1C;IACA;IACA;IACA;IACA,oBAAoB,cAAc,WAAW;GAC9C;AAED,QAAM,SAAqB;IACzB,gBAAgB;IAChB;IACA;IACA,OAAO,UAAU,MAAM,GAAG,KAAK;IAC/B,SAAS,YAAY,CAAA,IAAK,YAAY,MAAM,GAAG,YAAY;IAC3D,SAAS;MACP,aAAa,gBAAgB;MAC7B,OAAO,UAAU;MACjB,SAAS,YAAY;MACrB,aAAa,qBAAqB,WAAW,cAAc;MAC3D,YAAY,OAAO;MACnB,YAAY,OAAO;;IAErB,SAAS;MACP,MAAM,QAAQ,QAAQ;MACtB,KAAK,QAAQ,OAAO;MACpB,UAAU,QAAQ,YAAY;MAC9B,UAAU,QAAQ,YAAY;MAC9B,iBAAiB,QAAQ,kBAAkB;MAC3C,QAAQ,QAAQ,UAAU;MAC1B,SAAS,QAAQ,WAAW;MAC5B,QAAQ,YAAY,SAAS,IAAI,cAAc;MAC/C;MACA,eAAe;MACf,YAAY;;;AAIhB,QAAM,WAAW,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAI,eAAe,YAAY,CAAA,GAAK,GAAI,WAAW,YAAY,CAAA,CAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAC3G,EAAE,cAAc,CAAC,CAAC;AAEpB,MAAI,SAAS,SAAS;AAAG,WAAO,WAAW;AAE3C,SAAO,cAAc,qBAAqB,aAAa,WAAW;AAElE,SAAO;AACT;AAOM,SAAU,mBAAmB,QAAkB;AACnD,QAAM,QAAkB,CAAC,aAAa,EAAE;AACxC,QAAM,KAAK,UAAU,OAAO,GAAG,EAAE;AACjC,QAAM,KACJ,YAAY,OAAO,QAAQ,KAAK,kBAAkB,OAAO,QAAQ,WAAW,eAAe,OAAO,QAAQ,OAAO,iBAAiB,OAAO,QAAQ,UAAU,EAAE;AAE/J,MAAI,OAAO,QAAQ,QAAQ;AACzB,UAAM,KAAK,uBAAuB,OAAO,QAAQ,MAAM,EAAE;EAC3D;AACA,QAAM,KAAK,EAAE;AAEb,QAAM,KAAK,gBAAgB;AAC3B,MAAI,OAAO,aAAa;AACtB,UAAM,KAAK,KAAK,eAAe,OAAO,WAAW,CAAC,EAAE;AACpD,UAAM,KAAK,UAAU,OAAO,YAAY,QAAQ,KAAK,IAAI,CAAC,EAAE;EAC9D,OAAO;AACL,UAAM,KAAK,gBAAgB;EAC7B;AACA,QAAM,KAAK,EAAE;AAEb,QAAM,KAAK,UAAU;AACrB,MAAI,OAAO,MAAM,WAAW,GAAG;AAC7B,UAAM,KAAK,iBAAiB;EAC9B,OAAO;AACL,eAAW,QAAQ,OAAO,OAAO;AAC/B,YAAM,KAAK,KAAK,eAAe,IAAI,CAAC,EAAE;IACxC;EACF;AACA,QAAM,KAAK,EAAE;AAEb,MAAI,CAAC,OAAO,QAAQ,YAAY;AAC9B,UAAM,KAAK,YAAY;AACvB,QAAI,OAAO,QAAQ,WAAW,GAAG;AAC/B,YAAM,KAAK,mBAAmB;IAChC,OAAO;AACL,iBAAW,QAAQ,OAAO,SAAS;AACjC,cAAM,KAAK,KAAK,SACb,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,IAAI,QAAQ,UAAU,GAAG,GAAG,EAC1D,KAAK,IAAI;AACZ,cAAM,KAAK,KAAK,eAAe,IAAI,CAAC,eAAe,EAAE,EAAE;MACzD;IACF;AACA,UAAM,KAAK,EAAE;EACf;AAEA,MAAI,OAAO,eAAe,OAAO,YAAY,SAAS,GAAG;AACvD,UAAM,KAAK,gBAAgB;AAC3B,eAAW,cAAc,OAAO,aAAa;AAC3C,YAAM,KAAK,KAAK,UAAU,EAAE;IAC9B;EACF;AAEA,SAAO,MAAM,KAAK,IAAI,EAAE,QAAO;AACjC;AAIA,SAAS,eAAe,MAAwB;AAC9C,QAAM,gBAAgB,KAAK,YAAY;AACvC,QAAM,cAAc,KAAK,SAAS,WAAW,KAAK,MAAM,KAAK;AAC7D,QAAM,gBAAgB,KAAK,SAAS,SAAS,IAAI,aAAa,KAAK,SAAS,MAAM,KAAK;AACvF,SAAO,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,aAAa,aAAa,GAAG,WAAW,GAAG,aAAa,IAAI,KAAK,KAAK;AACvI","debugId":"9ec7b1f3-46e6-5ef2-bb2a-7a60428391d9"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseAnnotationTextInput,
|
|
3
3
|
runAnnotationCommand
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5J2XPTAD.js";
|
|
5
5
|
import "./chunk-WW4E2DC3.js";
|
|
6
6
|
import {
|
|
7
7
|
createStdinTokenResolver
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-T3ABIMGW.js";
|
|
9
|
+
import "./chunk-EEY54JMF.js";
|
|
10
|
+
import "./chunk-3U3VEWK6.js";
|
|
11
|
+
import "./chunk-EZFKWSC7.js";
|
|
12
|
+
import "./chunk-DRBV5UC2.js";
|
|
13
|
+
import "./chunk-P5YORJRH.js";
|
|
14
|
+
import "./chunk-7C2O74AE.js";
|
|
15
|
+
import "./chunk-5VVUKE3U.js";
|
|
14
16
|
|
|
15
17
|
// dist/cli/commands/notes.js
|
|
16
18
|
!(function() {
|
|
@@ -43,4 +45,4 @@ async function runNotes(id, options, global2) {
|
|
|
43
45
|
export {
|
|
44
46
|
runNotes
|
|
45
47
|
};
|
|
46
|
-
//# sourceMappingURL=notes-
|
|
48
|
+
//# sourceMappingURL=notes-72YXN5JX.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../cli/commands/notes.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * @module cli/commands/notes\n *\n * Implements the pm notes command surface and its agent-facing runtime behavior.\n */\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { createStdinTokenResolver } from \"../../core/item/parse.js\";\nimport type { LogNote } from \"../../types/index.js\";\nimport { parseAnnotationTextInput, runAnnotationCommand } from \"./annotation-command.js\";\n\n/**\n * Documents the notes command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface NotesCommandOptions {\n add?: string;\n limit?: string;\n author?: string;\n message?: string;\n allowAuditNote?: boolean;\n allowAuditComment?: boolean;\n force?: boolean;\n}\n\n/**\n * Documents the notes result payload exchanged by command, SDK, and package integrations.\n */\nexport interface NotesResult {\n id: string;\n notes: LogNote[];\n count: number;\n}\n\n/**\n * Implements run notes for the public runtime surface of this module.\n */\nexport async function runNotes(id: string, options: NotesCommandOptions, global: GlobalOptions): Promise<NotesResult> {\n const stdinResolver = createStdinTokenResolver();\n const addInput = options.add === undefined ? undefined : await stdinResolver.resolveValue(options.add, \"--add\");\n\n return runAnnotationCommand<\"notes\", LogNote>(id, options, global, {\n // addInput is defined whenever options.add is defined (see resolveValue), so the cast is safe.\n input: options.add === undefined ? { mode: \"list\" } : { mode: \"add\", value: addInput as string, emptyFlag: \"--add\" },\n collectionKey: \"notes\",\n op: \"note_add\",\n parseText: (raw) => parseAnnotationTextInput(raw),\n allowAuditBypass: Boolean(options.allowAuditNote || options.allowAuditComment),\n conflictGuidance: {\n required:\n \"For append-only note audits on another owner's item, prefer --allow-audit-note (legacy alias: --allow-audit-comment) before considering --force.\",\n examples: ['pm notes pm-a1b2 --add \"audit note\" --author \"reviewer\" --allow-audit-note'],\n nextSteps: [\n \"Retry with --allow-audit-note (or legacy --allow-audit-comment) for append-only note audits that do not mutate item metadata beyond notes.\",\n \"Use --force only when an ownership override is explicitly approved.\",\n ],\n },\n });\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAmCA,eAAsB,SAAS,IAAY,SAA8BA,SAAqB;AAC5F,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,WAAW,QAAQ,QAAQ,SAAY,SAAY,MAAM,cAAc,aAAa,QAAQ,KAAK,OAAO;AAE9G,SAAO,qBAAuC,IAAI,SAASA,SAAQ;;IAEjE,OAAO,QAAQ,QAAQ,SAAY,EAAE,MAAM,OAAM,IAAK,EAAE,MAAM,OAAO,OAAO,UAAoB,WAAW,QAAO;IAClH,eAAe;IACf,IAAI;IACJ,WAAW,CAAC,QAAQ,yBAAyB,GAAG;IAChD,kBAAkB,QAAQ,QAAQ,kBAAkB,QAAQ,iBAAiB;IAC7E,kBAAkB;MAChB,UACE;MACF,UAAU,CAAC,4EAA4E;MACvF,WAAW;QACT;QACA;;;GAGL;AACH;",
|
|
6
6
|
"names": ["global"]
|
|
7
7
|
}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
|
|
2
|
-
!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]="
|
|
2
|
+
!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]="09a4ac42-2a96-5c18-b5d2-12aa82956bf3")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
parseAnnotationTextInput,
|
|
5
5
|
runAnnotationCommand
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JLA7EVYV.js";
|
|
7
7
|
import "./chunk-T5RRNDA7.js";
|
|
8
8
|
import {
|
|
9
9
|
createStdinTokenResolver
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-7WYXBPYQ.js";
|
|
11
|
+
import "./chunk-YFIE7YK6.js";
|
|
12
|
+
import "./chunk-57C2RLW5.js";
|
|
13
|
+
import "./chunk-HK72NWAD.js";
|
|
14
|
+
import "./chunk-FJRKQREY.js";
|
|
15
|
+
import "./chunk-US3T3W5J.js";
|
|
16
|
+
import "./chunk-NNHHXJB2.js";
|
|
17
|
+
import "./chunk-YD5FML7K.js";
|
|
16
18
|
|
|
17
19
|
// dist/cli/commands/notes.js
|
|
18
20
|
async function runNotes(id, options, global) {
|
|
@@ -38,6 +40,6 @@ async function runNotes(id, options, global) {
|
|
|
38
40
|
export {
|
|
39
41
|
runNotes
|
|
40
42
|
};
|
|
41
|
-
//# sourceMappingURL=notes-
|
|
43
|
+
//# sourceMappingURL=notes-NJ7IQJX4.js.map
|
|
42
44
|
|
|
43
|
-
//# debugId=
|
|
45
|
+
//# debugId=09a4ac42-2a96-5c18-b5d2-12aa82956bf3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../cli/commands/notes.ts"],"sourcesContent":["/**\n * @module cli/commands/notes\n *\n * Implements the pm notes command surface and its agent-facing runtime behavior.\n */\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { createStdinTokenResolver } from \"../../core/item/parse.js\";\nimport type { LogNote } from \"../../types/index.js\";\nimport { parseAnnotationTextInput, runAnnotationCommand } from \"./annotation-command.js\";\n\n/**\n * Documents the notes command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface NotesCommandOptions {\n add?: string;\n limit?: string;\n author?: string;\n message?: string;\n allowAuditNote?: boolean;\n allowAuditComment?: boolean;\n force?: boolean;\n}\n\n/**\n * Documents the notes result payload exchanged by command, SDK, and package integrations.\n */\nexport interface NotesResult {\n id: string;\n notes: LogNote[];\n count: number;\n}\n\n/**\n * Implements run notes for the public runtime surface of this module.\n */\nexport async function runNotes(id: string, options: NotesCommandOptions, global: GlobalOptions): Promise<NotesResult> {\n const stdinResolver = createStdinTokenResolver();\n const addInput = options.add === undefined ? undefined : await stdinResolver.resolveValue(options.add, \"--add\");\n\n return runAnnotationCommand<\"notes\", LogNote>(id, options, global, {\n // addInput is defined whenever options.add is defined (see resolveValue), so the cast is safe.\n input: options.add === undefined ? { mode: \"list\" } : { mode: \"add\", value: addInput as string, emptyFlag: \"--add\" },\n collectionKey: \"notes\",\n op: \"note_add\",\n parseText: (raw) => parseAnnotationTextInput(raw),\n allowAuditBypass: Boolean(options.allowAuditNote || options.allowAuditComment),\n conflictGuidance: {\n required:\n \"For append-only note audits on another owner's item, prefer --allow-audit-note (legacy alias: --allow-audit-comment) before considering --force.\",\n examples: ['pm notes pm-a1b2 --add \"audit note\" --author \"reviewer\" --allow-audit-note'],\n nextSteps: [\n \"Retry with --allow-audit-note (or legacy --allow-audit-comment) for append-only note audits that do not mutate item metadata beyond notes.\",\n \"Use --force only when an ownership override is explicitly approved.\",\n ],\n },\n });\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../cli/commands/notes.ts"],"sourcesContent":["/**\n * @module cli/commands/notes\n *\n * Implements the pm notes command surface and its agent-facing runtime behavior.\n */\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { createStdinTokenResolver } from \"../../core/item/parse.js\";\nimport type { LogNote } from \"../../types/index.js\";\nimport { parseAnnotationTextInput, runAnnotationCommand } from \"./annotation-command.js\";\n\n/**\n * Documents the notes command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface NotesCommandOptions {\n add?: string;\n limit?: string;\n author?: string;\n message?: string;\n allowAuditNote?: boolean;\n allowAuditComment?: boolean;\n force?: boolean;\n}\n\n/**\n * Documents the notes result payload exchanged by command, SDK, and package integrations.\n */\nexport interface NotesResult {\n id: string;\n notes: LogNote[];\n count: number;\n}\n\n/**\n * Implements run notes for the public runtime surface of this module.\n */\nexport async function runNotes(id: string, options: NotesCommandOptions, global: GlobalOptions): Promise<NotesResult> {\n const stdinResolver = createStdinTokenResolver();\n const addInput = options.add === undefined ? undefined : await stdinResolver.resolveValue(options.add, \"--add\");\n\n return runAnnotationCommand<\"notes\", LogNote>(id, options, global, {\n // addInput is defined whenever options.add is defined (see resolveValue), so the cast is safe.\n input: options.add === undefined ? { mode: \"list\" } : { mode: \"add\", value: addInput as string, emptyFlag: \"--add\" },\n collectionKey: \"notes\",\n op: \"note_add\",\n parseText: (raw) => parseAnnotationTextInput(raw),\n allowAuditBypass: Boolean(options.allowAuditNote || options.allowAuditComment),\n conflictGuidance: {\n required:\n \"For append-only note audits on another owner's item, prefer --allow-audit-note (legacy alias: --allow-audit-comment) before considering --force.\",\n examples: ['pm notes pm-a1b2 --add \"audit note\" --author \"reviewer\" --allow-audit-note'],\n nextSteps: [\n \"Retry with --allow-audit-note (or legacy --allow-audit-comment) for append-only note audits that do not mutate item metadata beyond notes.\",\n \"Use --force only when an ownership override is explicitly approved.\",\n ],\n },\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAmCA,eAAsB,SAAS,IAAY,SAA8B,QAAqB;AAC5F,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,WAAW,QAAQ,QAAQ,SAAY,SAAY,MAAM,cAAc,aAAa,QAAQ,KAAK,OAAO;AAE9G,SAAO,qBAAuC,IAAI,SAAS,QAAQ;;IAEjE,OAAO,QAAQ,QAAQ,SAAY,EAAE,MAAM,OAAM,IAAK,EAAE,MAAM,OAAO,OAAO,UAAoB,WAAW,QAAO;IAClH,eAAe;IACf,IAAI;IACJ,WAAW,CAAC,QAAQ,yBAAyB,GAAG;IAChD,kBAAkB,QAAQ,QAAQ,kBAAkB,QAAQ,iBAAiB;IAC7E,kBAAkB;MAChB,UACE;MACF,UAAU,CAAC,4EAA4E;MACvF,WAAW;QACT;QACA;;;GAGL;AACH","debugId":"09a4ac42-2a96-5c18-b5d2-12aa82956bf3"}
|
|
@@ -1,39 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runCreate
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-MTTXDAK4.js";
|
|
4
|
+
import "./chunk-BVEUCSH2.js";
|
|
5
|
+
import "./chunk-T3ABIMGW.js";
|
|
6
|
+
import "./chunk-ZMD35NYG.js";
|
|
7
|
+
import "./chunk-ZD34OFFQ.js";
|
|
8
8
|
import {
|
|
9
9
|
splitCommaList
|
|
10
10
|
} from "./chunk-5HIZDR5A.js";
|
|
11
|
-
import "./chunk-6NYJGMTY.js";
|
|
12
|
-
import "./chunk-EQURFOMH.js";
|
|
13
11
|
import {
|
|
14
12
|
locateItem,
|
|
15
13
|
mutateItem,
|
|
16
14
|
readLocatedItem
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-3U3VEWK6.js";
|
|
16
|
+
import "./chunk-OWTIRHX4.js";
|
|
17
|
+
import "./chunk-EZFKWSC7.js";
|
|
19
18
|
import {
|
|
20
19
|
nowIso
|
|
21
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DRBV5UC2.js";
|
|
21
|
+
import {
|
|
22
|
+
PmCliError,
|
|
23
|
+
getActiveExtensionRegistrations,
|
|
24
|
+
readSettings
|
|
25
|
+
} from "./chunk-P5YORJRH.js";
|
|
26
|
+
import "./chunk-T35XLYZF.js";
|
|
27
|
+
import "./chunk-7C2O74AE.js";
|
|
22
28
|
import {
|
|
23
29
|
EXIT_CODE,
|
|
24
30
|
PLAN_HARNESS_VALUES,
|
|
25
31
|
PLAN_MODE_VALUES,
|
|
26
32
|
PLAN_STEP_LINK_KIND_VALUES,
|
|
27
33
|
PLAN_STEP_STATUS_VALUES,
|
|
28
|
-
PmCliError,
|
|
29
|
-
getActiveExtensionRegistrations,
|
|
30
34
|
getSettingsPath,
|
|
31
35
|
pathExists,
|
|
32
|
-
readSettings,
|
|
33
36
|
resolveItemTypeRegistry,
|
|
34
37
|
resolvePmRoot,
|
|
35
38
|
resolveTypeName
|
|
36
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-5VVUKE3U.js";
|
|
37
40
|
|
|
38
41
|
// dist/cli/commands/plan.js
|
|
39
42
|
!(function() {
|
|
@@ -1360,4 +1363,4 @@ export {
|
|
|
1360
1363
|
resolvePlanTemplateSteps,
|
|
1361
1364
|
runPlan
|
|
1362
1365
|
};
|
|
1363
|
-
//# sourceMappingURL=plan-
|
|
1366
|
+
//# sourceMappingURL=plan-R4NDQ27E.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../cli/commands/plan.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * @module cli/commands/plan\n *\n * Implements the pm plan command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { resolveItemTypeRegistry, resolveTypeName } from \"../../core/item/type-registry.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { splitCommaList } from \"../../core/shared/split-comma-list.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { locateItem, mutateItem, readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type {\n DependencyKind,\n ItemDocument,\n ItemMetadata,\n PlanDecision,\n PlanDiscovery,\n PlanHarness,\n PlanMode,\n PlanStep,\n PlanStepDoc,\n PlanStepFile,\n PlanStepLink,\n PlanStepLinkKind,\n PlanStepStatus,\n PlanStepTest,\n PlanValidationCheck,\n} from \"../../types/index.js\";\nimport {\n PLAN_HARNESS_VALUES,\n PLAN_MODE_VALUES,\n PLAN_STEP_LINK_KIND_VALUES,\n PLAN_STEP_STATUS_VALUES,\n} from \"../../types/index.js\";\nimport { runCreate, type CreateCommandOptions, type CreateResult } from \"./create.js\";\n\nexport const PLAN_SUBCOMMANDS = [\n \"create\",\n \"show\",\n \"add-step\",\n \"update-step\",\n \"complete-step\",\n \"block-step\",\n \"reorder-step\",\n \"remove-step\",\n \"link\",\n \"unlink\",\n \"decision\",\n \"discovery\",\n \"validation\",\n \"resume\",\n \"approve\",\n \"materialize\",\n] as const;\n/**\n * Restricts plan subcommand values accepted by command, SDK, and storage contracts.\n */\nexport type PlanSubcommand = (typeof PLAN_SUBCOMMANDS)[number];\n\nexport const PLAN_SHOW_DEPTH_VALUES = [\"brief\", \"standard\", \"deep\"] as const;\n/**\n * Restricts plan show depth values accepted by command, SDK, and storage contracts.\n */\nexport type PlanShowDepth = (typeof PLAN_SHOW_DEPTH_VALUES)[number];\n\n/**\n * Documents the plan command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface PlanCommandOptions {\n title?: string;\n description?: string;\n scope?: string;\n parent?: string;\n related?: string | string[];\n blocks?: string | string[];\n blockedBy?: string | string[];\n harness?: string;\n mode?: string;\n resumeContext?: string;\n tags?: string;\n priority?: string;\n body?: string;\n claim?: boolean;\n fromSearch?: string;\n stepTitle?: string;\n /**\n * pm-6mit: repeatable --step values. On create each value seeds one ordered\n * step (argv order; values are never comma-split so titles may contain\n * commas). On other subcommands a single value aliases stepTitle.\n */\n step?: string | string[];\n stepBody?: string;\n stepOwner?: string;\n stepStatus?: string;\n stepEvidence?: string;\n stepBlockedReason?: string;\n stepReplacement?: string;\n dependsOn?: string | string[];\n link?: string | string[];\n linkKind?: string;\n linkNote?: string;\n promoteToItemDep?: boolean;\n allowMultipleActive?: boolean;\n file?: string | string[];\n test?: string | string[];\n doc?: string | string[];\n decisionText?: string;\n decision?: string;\n decisionRationale?: string;\n decisionEvidence?: string;\n discoveryText?: string;\n discovery?: string;\n validationText?: string;\n validation?: string;\n validationCommand?: string;\n validationExpected?: string;\n depth?: string;\n fields?: string;\n steps?: string;\n template?: string;\n materializeType?: string;\n materializeParent?: string;\n materializeTags?: string;\n author?: string;\n message?: string;\n force?: boolean;\n}\n\n/**\n * Documents the plan command result payload exchanged by command, SDK, and package integrations.\n */\nexport interface PlanCommandResult {\n action: PlanSubcommand;\n plan: PlanResultPlan;\n step?: PlanStep;\n current_step?: PlanStep | undefined;\n next_actions?: string[];\n materialized?: { id: string; type: string; from_step: string }[];\n // pm-fl0c #10 (2026-05-28): steps that pm plan materialize intentionally\n // skipped (already-completed or already-materialized via an `implements`\n // link). Surfacing these makes `--steps all` idempotent without users\n // having to read history to find out what was done.\n materialize_skipped?: { from_step: string; reason: \"already_completed\" | \"already_materialized\"; existing_id?: string }[];\n warnings: string[];\n generated_at: string;\n}\n\n/**\n * Documents the plan result plan payload exchanged by command, SDK, and package integrations.\n */\nexport interface PlanResultPlan {\n id: string;\n title: string;\n status: string;\n mode: PlanMode;\n scope?: string;\n harness?: PlanHarness;\n parent?: string;\n resume_context?: string;\n steps_summary: PlanStepSummary;\n current_step?: { id: string; order: number; title: string; status: PlanStepStatus } | undefined;\n blocked_steps?: { id: string; order: number; title: string; blocked_reason?: string }[];\n steps?: PlanStep[];\n decisions?: PlanDecision[];\n discoveries?: PlanDiscovery[];\n validation?: PlanValidationCheck[];\n linked_items?: { id: string; kind: DependencyKind }[];\n}\n\n/**\n * Documents the plan step summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface PlanStepSummary {\n total: number;\n pending: number;\n in_progress: number;\n blocked: number;\n completed: number;\n skipped: number;\n superseded: number;\n /**\n * Whole-percent step-completion progress (`round(completed / total * 100)`),\n * surfaced so agents see plan progress without recomputing it (GH-158 #5).\n */\n completion_pct: number;\n}\n\nconst STEP_ID_PREFIX = \"plan-step-\";\nconst DEFAULT_PLAN_MODE: PlanMode = \"draft\";\n\nexport const PLAN_TEMPLATE_NAMES = [\"bug-investigation\", \"feature-implementation\", \"refactoring-sprint\"] as const;\n/**\n * Restricts plan template names accepted by `pm plan create --template` (GH-158 #2).\n */\nexport type PlanTemplateName = (typeof PLAN_TEMPLATE_NAMES)[number];\n\ninterface PlanTemplateStepSeed {\n title: string;\n body: string;\n}\n\n// Built-in step scaffolds for the most common agent workflows. Each seeds an\n// ordered list of pending steps so `pm plan create --template <name>` produces a\n// ready-to-execute plan instead of an empty shell (GH-158 #2).\nconst PLAN_TEMPLATES: Record<PlanTemplateName, PlanTemplateStepSeed[]> = {\n \"bug-investigation\": [\n { title: \"Reproduce the bug\", body: \"Capture exact steps, inputs, and the observed vs expected behavior.\" },\n { title: \"Locate the root cause\", body: \"Trace the failure to the responsible code path with evidence.\" },\n { title: \"Write a failing test\", body: \"Add a regression test that fails for the current bug.\" },\n { title: \"Implement the fix\", body: \"Apply the minimal change that makes the failing test pass.\" },\n { title: \"Verify and document\", body: \"Run the full suite and record the resolution and verification.\" },\n ],\n \"feature-implementation\": [\n { title: \"Clarify requirements & acceptance criteria\", body: \"Confirm scope, edge cases, and done-conditions.\" },\n { title: \"Design the approach\", body: \"Decide the data model, interfaces, and integration points.\" },\n { title: \"Implement the change\", body: \"Build the feature behind the agreed design.\" },\n { title: \"Add tests\", body: \"Cover the new behavior and its edge cases.\" },\n { title: \"Update docs & changelog\", body: \"Document the feature and surface it to users.\" },\n ],\n \"refactoring-sprint\": [\n { title: \"Map the current structure & risks\", body: \"Inventory the code to change and its blast radius.\" },\n { title: \"Add characterization tests\", body: \"Lock in current behavior before refactoring.\" },\n { title: \"Refactor incrementally\", body: \"Apply small, reversible steps keeping tests green.\" },\n { title: \"Verify behavior is unchanged\", body: \"Run the full suite and compare against the baseline.\" },\n { title: \"Clean up & document\", body: \"Remove dead code and record the new structure.\" },\n ],\n};\n\n/**\n * Resolves the ordered step seeds for a built-in plan template, rejecting\n * unknown names with the allowed set so agents can self-correct.\n */\nexport function resolvePlanTemplateSteps(raw: string): PlanTemplateStepSeed[] {\n const normalized = raw.trim().toLowerCase();\n const template = Object.prototype.hasOwnProperty.call(PLAN_TEMPLATES, normalized)\n ? PLAN_TEMPLATES[normalized as PlanTemplateName]\n : undefined;\n if (!template) {\n throw new PmCliError(`Unknown plan template \"${raw}\". Allowed: ${PLAN_TEMPLATE_NAMES.join(\", \")}`, EXIT_CODE.USAGE, {\n code: \"unknown_plan_template\",\n examples: [`pm plan create --title \"Fix login crash\" --template ${PLAN_TEMPLATE_NAMES[0]}`],\n });\n }\n return template.map((step) => ({ ...step }));\n}\n\n/**\n * Computes whole-percent step completion (`round(completed / total * 100)`),\n * returning 0 for an empty plan so the field is always a stable number.\n */\nfunction planCompletionPct(completed: number, total: number): number {\n return total > 0 ? Math.round((completed / total) * 100) : 0;\n}\n\n/* c8 ignore start -- detailed plan helper branches are validated through broader plan workflow integration tests. */\nfunction resolveAuthor(candidate: string | undefined, fallback: string): string {\n const resolved = candidate ?? process.env.PM_AUTHOR ?? fallback;\n const trimmed = resolved.trim();\n return trimmed.length > 0 ? trimmed : \"unknown\";\n}\n\n/**\n * pm-6mit: ordered step titles from repeated --step values. Unlike toArray\n * this NEVER comma-splits — each --step value is one full step title, so\n * titles containing commas survive intact (also why --step must not be\n * list:true in contracts: the bootstrap coalescer would comma-join values).\n */\nfunction toOrderedStepTitles(value: unknown): string[] {\n const values = Array.isArray(value) ? value : value === undefined || value === null ? [] : [value];\n return values\n .filter((entry) => entry !== undefined && entry !== null)\n .map((entry) => (typeof entry === \"string\" ? entry : String(entry)).trim())\n .filter((entry) => entry.length > 0);\n}\n\nfunction toArray(value: string | string[] | undefined): string[] {\n if (Array.isArray(value)) return value.flatMap((entry) => splitCommaList(entry, { unique: false }));\n if (typeof value === \"string\" && value.trim().length > 0) {\n return splitCommaList(value, { unique: false });\n }\n return [];\n}\n\nfunction toSpecArray(value: string | string[] | undefined): string[] {\n if (Array.isArray(value)) return value.map((entry) => entry.trim()).filter(Boolean);\n if (typeof value === \"string\" && value.trim().length > 0) return [value.trim()];\n return [];\n}\n\nfunction asPlanMode(value: string | undefined, fallback: PlanMode = DEFAULT_PLAN_MODE): PlanMode {\n if (value === undefined) return fallback;\n const normalized = value.trim().toLowerCase();\n const found = PLAN_MODE_VALUES.find((entry) => entry === normalized);\n if (!found) {\n throw new PmCliError(\n `Invalid plan mode \"${value}\". Allowed: ${PLAN_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return found;\n}\n\nfunction asStepStatus(value: string | undefined, fallback: PlanStepStatus = \"pending\"): PlanStepStatus {\n if (value === undefined) return fallback;\n const normalized = value.trim().toLowerCase();\n const found = PLAN_STEP_STATUS_VALUES.find((entry) => entry === normalized);\n if (!found) {\n throw new PmCliError(\n `Invalid step status \"${value}\". Allowed: ${PLAN_STEP_STATUS_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return found;\n}\n\nfunction asLinkKind(value: string | undefined, fallback: PlanStepLinkKind = \"related\"): PlanStepLinkKind {\n if (value === undefined) return fallback;\n const normalized = value.trim().toLowerCase();\n const found = PLAN_STEP_LINK_KIND_VALUES.find((entry) => entry === normalized);\n if (!found) {\n throw new PmCliError(\n `Invalid step link kind \"${value}\". Allowed: ${PLAN_STEP_LINK_KIND_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return found;\n}\n\nfunction asHarness(value: string | undefined): PlanHarness | undefined {\n if (value === undefined) return undefined;\n const normalized = value.trim().toLowerCase();\n if (normalized.length === 0) return undefined;\n const found = PLAN_HARNESS_VALUES.find((entry) => entry === normalized);\n if (!found) {\n throw new PmCliError(\n `Invalid plan harness \"${value}\". Allowed: ${PLAN_HARNESS_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return found;\n}\n\nfunction asDepth(value: string | undefined): PlanShowDepth {\n if (value === undefined) return \"brief\";\n const normalized = value.trim().toLowerCase();\n const found = PLAN_SHOW_DEPTH_VALUES.find((entry) => entry === normalized);\n if (!found) {\n throw new PmCliError(\n `Invalid --depth \"${value}\". Allowed: ${PLAN_SHOW_DEPTH_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return found;\n}\n\nfunction parsePlanFields(raw: string | undefined): string[] | null {\n if (raw === undefined) {\n return null;\n }\n const fields = raw\n .split(\",\")\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (fields.length === 0) {\n throw new PmCliError(\"Plan --fields requires a comma-separated list of plan field names\", EXIT_CODE.USAGE);\n }\n return fields;\n}\n\nconst PLAN_FIELD_KEYS = new Set<keyof PlanResultPlan>([\n \"id\",\n \"title\",\n \"status\",\n \"mode\",\n \"scope\",\n \"harness\",\n \"parent\",\n \"resume_context\",\n \"steps_summary\",\n \"current_step\",\n \"blocked_steps\",\n \"steps\",\n \"decisions\",\n \"discoveries\",\n \"validation\",\n \"linked_items\",\n]);\n\nfunction projectPlanForFields(plan: PlanResultPlan, fields: string[]): PlanResultPlan {\n const source = plan as unknown as Record<string, unknown>;\n const projected: Record<string, unknown> = {};\n const unknownFields: string[] = [];\n for (const field of fields) {\n const normalized = field.startsWith(\"plan.\") ? field.slice(\"plan.\".length) : field;\n if (normalized.length === 0) {\n continue;\n }\n if (!PLAN_FIELD_KEYS.has(normalized as keyof PlanResultPlan)) {\n unknownFields.push(field);\n continue;\n }\n if (Object.prototype.hasOwnProperty.call(source, normalized)) {\n projected[normalized] = source[normalized];\n }\n }\n if (unknownFields.length > 0) {\n throw new PmCliError(`Unknown Plan --fields value(s): ${unknownFields.join(\", \")}`, EXIT_CODE.USAGE, {\n nextSteps: [\n `Use --fields ${[...PLAN_FIELD_KEYS].join(\",\")}`,\n \"Run pm plan show <id> --depth brief for compact default fields.\",\n ],\n recovery: {\n provided_fields: unknownFields,\n suggested_retry: `pm plan show <id> --fields ${[...PLAN_FIELD_KEYS].join(\",\")}`,\n },\n });\n }\n return projected as unknown as PlanResultPlan;\n}\n\nfunction parsePairList(raw: string, label: string): Record<string, string> {\n const out: Record<string, string> = {};\n for (const entry of raw.split(\",\")) {\n const trimmed = entry.trim();\n if (trimmed.length === 0) continue;\n const equalsIndex = trimmed.indexOf(\"=\");\n if (equalsIndex <= 0) {\n throw new PmCliError(`Invalid ${label} entry \"${trimmed}\"; expected key=value`, EXIT_CODE.USAGE);\n }\n out[trimmed.slice(0, equalsIndex).trim().toLowerCase()] = trimmed.slice(equalsIndex + 1).trim();\n }\n return out;\n}\n\nfunction parseStepFile(spec: string): PlanStepFile {\n const fields = parsePairList(spec, \"--file\");\n if (!fields.path) {\n throw new PmCliError(\"--file requires path=<value>\", EXIT_CODE.USAGE);\n }\n const file: PlanStepFile = { path: fields.path };\n if (fields.scope === \"global\" || fields.scope === \"project\") file.scope = fields.scope;\n if (fields.note) file.note = fields.note;\n return file;\n}\n\nfunction parseStepTest(spec: string): PlanStepTest {\n const fields = parsePairList(spec, \"--test\");\n if (!fields.command && !fields.path) {\n throw new PmCliError(\"--test requires at least command=<value> or path=<value>\", EXIT_CODE.USAGE);\n }\n const test: PlanStepTest = {};\n if (fields.command) test.command = fields.command;\n if (fields.path) test.path = fields.path;\n if (fields.note) test.note = fields.note;\n return test;\n}\n\nfunction parseStepDoc(spec: string): PlanStepDoc {\n const fields = parsePairList(spec, \"--doc\");\n if (!fields.path) {\n throw new PmCliError(\"--doc requires path=<value>\", EXIT_CODE.USAGE);\n }\n const doc: PlanStepDoc = { path: fields.path };\n if (fields.scope === \"global\" || fields.scope === \"project\") doc.scope = fields.scope;\n if (fields.note) doc.note = fields.note;\n return doc;\n}\n\nfunction summarizeSteps(steps: PlanStep[]): PlanStepSummary {\n const summary: PlanStepSummary = {\n total: steps.length,\n pending: 0,\n in_progress: 0,\n blocked: 0,\n completed: 0,\n skipped: 0,\n superseded: 0,\n completion_pct: 0,\n };\n for (const step of steps) {\n summary[step.status] += 1;\n }\n summary.completion_pct = planCompletionPct(summary.completed, summary.total);\n return summary;\n}\n\nfunction newStepId(existing: PlanStep[]): string {\n const used = new Set(existing.map((step) => step.id));\n for (let cursor = existing.length + 1; cursor < existing.length + 1024; cursor += 1) {\n const candidate = `${STEP_ID_PREFIX}${String(cursor).padStart(3, \"0\")}`;\n if (!used.has(candidate)) return candidate;\n }\n /* c8 ignore next -- step id allocation only fails if 1024 consecutive ids are taken. */\n throw new PmCliError(\"Could not allocate step id (limit reached)\", EXIT_CODE.GENERIC_FAILURE);\n}\n\nfunction resolveStepRef(steps: PlanStep[], ref: string): PlanStep {\n const trimmed = ref.trim();\n if (trimmed.length === 0) {\n throw new PmCliError(\"Step reference cannot be empty\", EXIT_CODE.USAGE);\n }\n const direct = steps.find((step) => step.id === trimmed);\n if (direct) return direct;\n if (/^\\d+$/.test(trimmed)) {\n const order = Number.parseInt(trimmed, 10);\n const byOrder = steps.find((step) => step.order === order);\n if (byOrder) return byOrder;\n }\n throw new PmCliError(`Step \"${ref}\" not found in plan`, EXIT_CODE.NOT_FOUND);\n}\n\ninterface MaterializeTargetResolution {\n targets: PlanStep[];\n skipped: { from_step: string; reason: \"already_completed\" | \"already_materialized\"; existing_id?: string }[];\n}\n\n// pm-fl0c #10 (2026-05-28): skip steps whose status is \"completed\" and steps\n// that already have an `implements` link from a prior materialize run, so\n// `pm plan materialize --steps all` is idempotent and never re-creates fresh\n// Tasks for work already tracked. Explicit step refs are still allowed\n// through (the user asked by ID) but the skip-reason is recorded.\nfunction classifyMaterializeSkip(\n step: PlanStep,\n): { reason: \"already_completed\" | \"already_materialized\"; existing_id?: string } | undefined {\n if (step.status === \"completed\") {\n return { reason: \"already_completed\" };\n }\n const existingImplements = (step.linked_items ?? []).find((link) => link.kind === \"implements\");\n if (existingImplements) {\n return { reason: \"already_materialized\", existing_id: existingImplements.id };\n }\n return undefined;\n}\n\nfunction resolveMaterializeTargets(steps: PlanStep[], refs: string[]): MaterializeTargetResolution {\n const allRefs = refs.filter((ref) => ref.trim().toLowerCase() === \"all\");\n const targets: PlanStep[] = [];\n const skipped: { from_step: string; reason: \"already_completed\" | \"already_materialized\"; existing_id?: string }[] = [];\n if (allRefs.length > 0) {\n if (refs.length > allRefs.length) {\n throw new PmCliError(\"pm plan materialize --steps all cannot be combined with other step refs\", EXIT_CODE.USAGE);\n }\n for (const step of steps.slice().sort((left, right) => left.order - right.order)) {\n const skip = classifyMaterializeSkip(step);\n if (skip) {\n skipped.push({ from_step: step.id, ...skip });\n continue;\n }\n targets.push(step);\n }\n return { targets, skipped };\n }\n const seen = new Set<string>();\n for (const ref of refs) {\n const step = resolveStepRef(steps, ref);\n if (seen.has(step.id)) continue;\n seen.add(step.id);\n const skip = classifyMaterializeSkip(step);\n if (skip) {\n skipped.push({ from_step: step.id, ...skip });\n continue;\n }\n targets.push(step);\n }\n return { targets, skipped };\n}\n\nfunction resolvePlanLogText(kind: \"decision\" | \"discovery\" | \"validation\", options: PlanCommandOptions): string | undefined {\n const canonical =\n kind === \"decision\"\n ? options.decisionText\n : kind === \"discovery\"\n ? options.discoveryText\n : options.validationText;\n const shorthand =\n kind === \"decision\"\n ? options.decision\n : kind === \"discovery\"\n ? options.discovery\n : options.validation;\n return canonical?.trim() || shorthand?.trim() || undefined;\n}\n\nfunction findCurrentStep(steps: PlanStep[]): PlanStep | undefined {\n return steps.find((step) => step.status === \"in_progress\")\n ?? steps.find((step) => step.status === \"pending\");\n}\n\nfunction blockedSteps(steps: PlanStep[]): { id: string; order: number; title: string; blocked_reason?: string }[] {\n return steps\n .filter((step) => step.status === \"blocked\")\n .map((step) => ({ id: step.id, order: step.order, title: step.title, blocked_reason: step.blocked_reason }));\n}\n\nfunction projectPlan(item: ItemMetadata, depth: PlanShowDepth = \"brief\"): PlanResultPlan {\n const steps = (item.plan_steps ?? []).slice().sort((left, right) => left.order - right.order);\n const summary = summarizeSteps(steps);\n const current = findCurrentStep(steps);\n const projection: PlanResultPlan = {\n id: item.id,\n title: item.title,\n status: item.status,\n mode: (item.plan_mode ?? DEFAULT_PLAN_MODE) as PlanMode,\n scope: item.plan_scope,\n harness: item.plan_harness,\n parent: item.parent,\n resume_context: item.plan_resume_context,\n steps_summary: summary,\n current_step: current\n ? { id: current.id, order: current.order, title: current.title, status: current.status }\n : undefined,\n blocked_steps: blockedSteps(steps),\n linked_items: (item.dependencies ?? []).map((dep) => ({ id: dep.id, kind: dep.kind })),\n };\n if (depth === \"standard\" || depth === \"deep\") {\n projection.steps = steps;\n }\n if (depth === \"deep\") {\n projection.decisions = item.plan_decisions ?? [];\n projection.discoveries = item.plan_discoveries ?? [];\n projection.validation = item.plan_validation ?? [];\n }\n return projection;\n}\n\nfunction nextActionsFor(planId: string, plan: PlanResultPlan): string[] {\n const tips: string[] = [];\n if (plan.steps_summary.total === 0) {\n tips.push(`pm plan add-step ${planId} --step-title \"First step\"`);\n }\n if (plan.current_step) {\n tips.push(\n `pm plan update-step ${planId} ${plan.current_step.id} --step-status in_progress`,\n `pm plan complete-step ${planId} ${plan.current_step.id} --step-evidence \"...\"`,\n );\n }\n if (plan.steps_summary.blocked > 0) {\n tips.push(`pm plan show ${planId} --depth standard`);\n }\n if (plan.mode === \"draft\" || plan.mode === \"research\") {\n tips.push(`pm plan approve ${planId} --message \"ready to execute\"`);\n }\n if (plan.steps_summary.completed === plan.steps_summary.total && plan.steps_summary.total > 0) {\n tips.push(`pm close ${planId} \"plan complete\"`);\n }\n return tips;\n}\n\nfunction ensurePlanItem(item: ItemMetadata): void {\n const normalizedType = (item.type ?? \"\").trim().toLowerCase();\n if (normalizedType !== \"plan\") {\n throw new PmCliError(\n `Item ${item.id} is type ${item.type}; pm plan commands require type=Plan. Use pm plan create or pm create --type Plan first.`,\n EXIT_CODE.USAGE,\n {\n code: \"wrong_item_type\",\n required: \"Use pm plan commands only with items whose type is Plan.\",\n why: \"Plan commands read and mutate Plan-specific step, decision, discovery, and validation fields.\",\n examples: [\n `pm get ${item.id} --depth brief`,\n 'pm plan create --title \"Execution plan\" --scope \"<goal>\"',\n ],\n },\n );\n }\n}\n\ninterface PlanWriteContext {\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n}\n\nasync function loadContext(global: GlobalOptions): Promise<PlanWriteContext> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n const settings = await readSettings(pmRoot);\n return { pmRoot, settings };\n}\n\nasync function readPlanItem(ctx: PlanWriteContext, id: string): Promise<{ document: ItemDocument; itemId: string }> {\n const typeRegistry = resolveItemTypeRegistry(ctx.settings, getActiveExtensionRegistrations());\n const located = await locateItem(ctx.pmRoot, id, ctx.settings.id_prefix, ctx.settings.item_format, typeRegistry.type_to_folder);\n if (!located) {\n throw new PmCliError(`Plan ${id} not found`, EXIT_CODE.NOT_FOUND);\n }\n const loaded = await readLocatedItem(located, { schema: ctx.settings.schema });\n ensurePlanItem(loaded.document.metadata);\n return { document: loaded.document, itemId: located.id };\n}\n\nfunction buildPlanCreateDependencies(options: PlanCommandOptions): string[] | undefined {\n const deps: string[] = [];\n if (options.parent) {\n deps.push(`id=${options.parent.trim()},kind=parent`);\n }\n for (const ref of toArray(options.related)) deps.push(`id=${ref},kind=related`);\n for (const ref of toArray(options.blocks)) deps.push(`id=${ref},kind=blocks`);\n for (const ref of toArray(options.blockedBy)) deps.push(`id=${ref},kind=blocked_by`);\n return deps.length > 0 ? deps : undefined;\n}\n\nfunction buildInitialValidation(options: PlanCommandOptions): PlanValidationCheck | undefined {\n const text = options.validationText?.trim();\n const command = options.validationCommand?.trim();\n const expected = options.validationExpected?.trim();\n if (!text && !command && !expected) {\n return undefined;\n }\n return {\n text: text || command || \"Validation check\",\n command: command || undefined,\n expected: expected || undefined,\n };\n}\n\nfunction hasPlanStepDetailOptions(options: PlanCommandOptions): boolean {\n return Boolean(options.stepBody?.trim()) ||\n Boolean(options.stepOwner?.trim()) ||\n Boolean(options.stepStatus?.trim()) ||\n Boolean(options.stepEvidence?.trim()) ||\n Boolean(options.stepBlockedReason?.trim()) ||\n Boolean(options.stepReplacement?.trim()) ||\n toArray(options.dependsOn).length > 0 ||\n toArray(options.link).length > 0 ||\n toSpecArray(options.file).length > 0 ||\n toSpecArray(options.test).length > 0 ||\n toSpecArray(options.doc).length > 0;\n}\n\nfunction resolveInitialStepSeed(options: PlanCommandOptions): {\n repeatedStepTitles: string[];\n stepTitleFlag: string | undefined;\n stepTitles: string[];\n templateSteps: PlanTemplateStepSeed[];\n} {\n const stepTitleFlag = options.stepTitle?.trim() || undefined;\n const repeatedStepTitles = toOrderedStepTitles(options.step);\n const templateSteps = options.template?.trim() ? resolvePlanTemplateSteps(options.template) : [];\n return {\n repeatedStepTitles,\n stepTitleFlag,\n stepTitles: [\n ...(stepTitleFlag ? [stepTitleFlag] : []),\n ...repeatedStepTitles,\n ...templateSteps.map((step) => step.title),\n ],\n templateSteps,\n };\n}\n\nfunction assertInitialStepSeedAllowed(\n seed: ReturnType<typeof resolveInitialStepSeed>,\n hasPerStepDetailOptions: boolean,\n): void {\n if ((seed.stepTitleFlag || seed.repeatedStepTitles.length > 0) && seed.templateSteps.length > 0) {\n throw new PmCliError(\n \"pm plan create --template cannot be combined with --step-title or --step; choose one step seeding source\",\n EXIT_CODE.USAGE,\n {\n code: \"ambiguous_option_combination\",\n examples: [\n `pm plan create --title \"Fix login crash\" --template ${PLAN_TEMPLATE_NAMES[0]}`,\n 'pm plan create --title \"Custom plan\" --step \"Read the code\" --step \"Write the fix\"',\n ],\n },\n );\n }\n if (seed.stepTitles.length > 1 && hasPerStepDetailOptions) {\n throw new PmCliError(\n \"pm plan create per-step options apply to a single initial step; with multiple --step values create the plan first, then refine steps individually\",\n EXIT_CODE.USAGE,\n {\n code: \"ambiguous_option_combination\",\n examples: [\n 'pm plan create --title \"Execution plan\" --step \"Read the code\" --step \"Write the fix\"',\n 'pm plan update-step <plan-id> plan-step-001 --step-body \"Inspect retry path\"',\n ],\n },\n );\n }\n}\n\nfunction buildSingleInitialStep(options: PlanCommandOptions, title: string): PlanStep {\n const status = asStepStatus(options.stepStatus, \"pending\");\n const linkedItems = buildLinkInputs(options, \"depends_on\");\n const files = toSpecArray(options.file).map(parseStepFile);\n const tests = toSpecArray(options.test).map(parseStepTest);\n const docs = toSpecArray(options.doc).map(parseStepDoc);\n const now = nowIso();\n return {\n id: \"plan-step-001\",\n order: 1,\n title,\n body: options.stepBody?.trim() || undefined,\n status,\n owner: options.stepOwner?.trim() || undefined,\n evidence: options.stepEvidence?.trim() || undefined,\n blocked_reason: status === \"blocked\" ? options.stepBlockedReason?.trim() || \"\" : undefined,\n linked_items: linkedItems.length > 0 ? linkedItems : undefined,\n files: files.length > 0 ? files : undefined,\n tests: tests.length > 0 ? tests : undefined,\n docs: docs.length > 0 ? docs : undefined,\n created_at: now,\n updated_at: now,\n completed_at: status === \"completed\" ? now : undefined,\n };\n}\n\nfunction buildInitialSteps(options: PlanCommandOptions): { steps: PlanStep[]; hasPerStepDetailOptions: boolean } {\n const seed = resolveInitialStepSeed(options);\n const hasDetailOptions = hasPlanStepDetailOptions(options);\n assertInitialStepSeedAllowed(seed, hasDetailOptions);\n if (seed.stepTitles.length === 0) {\n return { steps: [], hasPerStepDetailOptions: hasDetailOptions };\n }\n if (seed.stepTitles.length === 1) {\n return { steps: [buildSingleInitialStep(options, seed.stepTitles[0])], hasPerStepDetailOptions: hasDetailOptions };\n }\n const now = nowIso();\n return {\n steps: seed.stepTitles.map((stepTitle, index) => ({\n id: `${STEP_ID_PREFIX}${String(index + 1).padStart(3, \"0\")}`,\n order: index + 1,\n title: stepTitle,\n body: seed.templateSteps[index]?.body,\n status: \"pending\" as const,\n created_at: now,\n updated_at: now,\n })),\n hasPerStepDetailOptions: hasDetailOptions,\n };\n}\n\nasync function planCreate(\n options: PlanCommandOptions,\n global: GlobalOptions,\n ctx: PlanWriteContext,\n): Promise<PlanCommandResult> {\n const title = options.title?.trim();\n if (!title) {\n throw new PmCliError(\"pm plan create requires --title\", EXIT_CODE.USAGE, {\n code: \"missing_required_option\",\n examples: ['pm plan create --title \"Refactor lock retry\" --scope pm-a1b2'],\n });\n }\n const mode = asPlanMode(options.mode, DEFAULT_PLAN_MODE);\n const harness = asHarness(options.harness);\n const fromSearch = options.fromSearch?.trim();\n\n const description = options.description?.trim() ?? options.scope?.trim() ?? title;\n const createOptions: CreateCommandOptions = {\n title,\n description,\n type: \"Plan\",\n body: options.body,\n tags: options.tags,\n priority: options.priority,\n parent: options.parent,\n dep: buildPlanCreateDependencies(options),\n author: options.author,\n message: options.message ?? (fromSearch ? `plan create (search: ${fromSearch})` : `plan create`),\n };\n\n const createResult: CreateResult = await runCreate(createOptions, global);\n\n // The create command stores type_options. To use real metadata keys, run a follow-up mutate.\n const seedResult = await mutateItem({\n pmRoot: ctx.pmRoot,\n settings: ctx.settings,\n id: createResult.item.id,\n op: \"plan_create_metadata\",\n author: resolveAuthor(options.author, ctx.settings.author_default),\n message: \"seed plan metadata\",\n mutate(doc) {\n const changed: string[] = [];\n doc.metadata.plan_mode = mode;\n changed.push(\"plan_mode\");\n if (harness) {\n doc.metadata.plan_harness = harness;\n changed.push(\"plan_harness\");\n }\n if (options.scope?.trim()) {\n doc.metadata.plan_scope = options.scope.trim();\n changed.push(\"plan_scope\");\n }\n if (options.resumeContext?.trim()) {\n doc.metadata.plan_resume_context = options.resumeContext.trim();\n changed.push(\"plan_resume_context\");\n }\n doc.metadata.plan_steps = doc.metadata.plan_steps ?? [];\n return { changedFields: changed };\n },\n });\n\n let finalMetadata: ItemMetadata = seedResult.item;\n let initialStep: PlanStep | undefined;\n const initialValidation = buildInitialValidation(options);\n const { steps: initialSteps, hasPerStepDetailOptions } = buildInitialSteps(options);\n if (initialSteps.length > 0) {\n initialStep = initialSteps[0];\n const stepped = await mutateItem({\n pmRoot: ctx.pmRoot,\n settings: ctx.settings,\n id: createResult.item.id,\n op: \"plan_create_initial_step\",\n author: resolveAuthor(options.author, ctx.settings.author_default),\n message:\n initialSteps.length === 1\n ? `plan create initial step \"${initialSteps[0].title}\"`\n : `plan create ${initialSteps.length} initial steps`,\n mutate(doc) {\n ensurePlanItem(doc.metadata);\n doc.metadata.plan_steps = initialSteps;\n if (initialValidation) {\n doc.metadata.plan_validation = [...(doc.metadata.plan_validation ?? []), initialValidation];\n }\n return { changedFields: initialValidation ? [\"plan_steps\", \"plan_validation\"] : [\"plan_steps\"] };\n },\n });\n finalMetadata = stepped.item;\n } else if (initialValidation) {\n const validated = await mutateItem({\n pmRoot: ctx.pmRoot,\n settings: ctx.settings,\n id: createResult.item.id,\n op: \"plan_create_initial_validation\",\n author: resolveAuthor(options.author, ctx.settings.author_default),\n message: \"plan create initial validation\",\n mutate(doc) {\n ensurePlanItem(doc.metadata);\n doc.metadata.plan_validation = [...(doc.metadata.plan_validation ?? []), initialValidation];\n return { changedFields: [\"plan_validation\"] };\n },\n });\n finalMetadata = validated.item;\n } else if (hasPerStepDetailOptions) {\n throw new PmCliError(\"pm plan create step options require --step-title (or a single --step)\", EXIT_CODE.USAGE, {\n code: \"missing_required_option\",\n examples: ['pm plan create --title \"Execution plan\" --step-title \"Read the code\"'],\n });\n }\n if (options.claim) {\n const claimed = await mutateItem({\n pmRoot: ctx.pmRoot,\n settings: ctx.settings,\n id: createResult.item.id,\n op: \"claim\",\n author: resolveAuthor(options.author, ctx.settings.author_default),\n message: \"plan claim by author\",\n mutate(doc) {\n doc.metadata.assignee = resolveAuthor(options.author, ctx.settings.author_default);\n return { changedFields: [\"assignee\"] };\n },\n });\n finalMetadata = claimed.item;\n }\n\n const plan = projectPlan(finalMetadata, \"brief\");\n return {\n action: \"create\",\n plan,\n step: initialStep,\n next_actions: nextActionsFor(createResult.item.id, plan),\n warnings: [...createResult.warnings],\n generated_at: nowIso(),\n };\n}\n\nasync function planShow(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n): Promise<PlanCommandResult> {\n const depth = asDepth(options.depth);\n const fields = parsePlanFields(options.fields);\n const { document, itemId } = await readPlanItem(ctx, id);\n const fullPlan = projectPlan(document.metadata, fields === null ? depth : \"deep\");\n const plan = fields === null ? fullPlan : projectPlanForFields(fullPlan, fields);\n return {\n action: \"show\",\n plan,\n next_actions: nextActionsFor(itemId, fullPlan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\ninterface MutateStepArgs {\n id: string;\n options: PlanCommandOptions;\n ctx: PlanWriteContext;\n op: string;\n message: string;\n mutator(steps: PlanStep[], doc: ItemDocument): { changedSteps: string[]; current?: PlanStep; resultStep?: PlanStep };\n}\n\nasync function mutatePlanSteps(args: MutateStepArgs): Promise<{ document: ItemDocument; resultStep?: PlanStep; itemId: string }> {\n const author = resolveAuthor(args.options.author, args.ctx.settings.author_default);\n let resultStep: PlanStep | undefined;\n const result = await mutateItem({\n pmRoot: args.ctx.pmRoot,\n settings: args.ctx.settings,\n id: args.id,\n op: args.op,\n author,\n message: args.options.message ?? args.message,\n force: args.options.force,\n mutate(doc) {\n ensurePlanItem(doc.metadata);\n const steps = (doc.metadata.plan_steps ?? []).slice();\n const before = JSON.stringify(steps);\n const outcome = args.mutator(steps, doc);\n resultStep = outcome.resultStep;\n const sorted = steps\n .slice()\n .sort((left, right) => left.order - right.order)\n .map((step, index) => ({ ...step, order: index + 1 }));\n doc.metadata.plan_steps = sorted;\n const after = JSON.stringify(sorted);\n const changedFields = before === after ? [] : [\"plan_steps\"];\n if (changedFields.length === 0 && outcome.changedSteps.length === 0) {\n return { changedFields: [] };\n }\n return { changedFields: changedFields.length > 0 ? changedFields : [\"plan_steps\"] };\n },\n });\n return {\n document: { metadata: result.item, body: result.body },\n resultStep,\n itemId: result.item.id,\n };\n}\n\nasync function planAddStep(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n): Promise<PlanCommandResult> {\n const title = options.stepTitle?.trim();\n if (!title) {\n throw new PmCliError(\"pm plan add-step requires --step-title\", EXIT_CODE.USAGE);\n }\n const status = asStepStatus(options.stepStatus, \"pending\");\n const allowMultipleActive = options.allowMultipleActive === true;\n\n const { document, resultStep, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_add_step\",\n message: `plan add-step \"${title}\"`,\n mutator(steps) {\n const order = steps.length + 1;\n assertInProgressStepAllowed(steps, undefined, status, allowMultipleActive);\n const step = buildAddedPlanStep(steps, options, { order, title, status });\n steps.push(step);\n return { changedSteps: [step.id], resultStep: step };\n },\n });\n\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: \"add-step\",\n plan,\n step: resultStep,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nfunction assertInProgressStepAllowed(\n steps: PlanStep[],\n currentStepId: string | undefined,\n desiredStatus: PlanStepStatus,\n allowMultipleActive: boolean,\n): void {\n if (desiredStatus !== \"in_progress\" || allowMultipleActive) {\n return;\n }\n const activeStep = steps.find((step) => step.id !== currentStepId && step.status === \"in_progress\");\n if (!activeStep) {\n return;\n }\n throw new PmCliError(\n `Plan already has step ${activeStep.id} in_progress. Pass --allow-multiple-active or update that step first.`,\n EXIT_CODE.CONFLICT,\n );\n}\n\nfunction buildAddedPlanStep(\n existingSteps: PlanStep[],\n options: PlanCommandOptions,\n seed: { order: number; title: string; status: PlanStepStatus },\n): PlanStep {\n const linkedItems = buildLinkInputs(options, \"depends_on\");\n const files = toSpecArray(options.file).map(parseStepFile);\n const tests = toSpecArray(options.test).map(parseStepTest);\n const docs = toSpecArray(options.doc).map(parseStepDoc);\n const now = nowIso();\n return {\n id: newStepId(existingSteps),\n order: seed.order,\n title: seed.title,\n body: options.stepBody?.trim() || undefined,\n status: seed.status,\n owner: options.stepOwner?.trim() || undefined,\n evidence: options.stepEvidence?.trim() || undefined,\n blocked_reason: seed.status === \"blocked\" ? options.stepBlockedReason?.trim() || \"\" : undefined,\n linked_items: linkedItems.length > 0 ? linkedItems : undefined,\n files: files.length > 0 ? files : undefined,\n tests: tests.length > 0 ? tests : undefined,\n docs: docs.length > 0 ? docs : undefined,\n created_at: now,\n updated_at: now,\n completed_at: seed.status === \"completed\" ? now : undefined,\n };\n}\n\nfunction buildLinkInputs(options: PlanCommandOptions, fallbackKind: PlanStepLinkKind): PlanStepLink[] {\n const dependsOn = toArray(options.dependsOn).map((id) => ({ id, kind: fallbackKind } as PlanStepLink));\n const related = toArray(options.related).map((id) => ({ id, kind: \"related\" } as PlanStepLink));\n const blocks = toArray(options.blocks).map((id) => ({ id, kind: \"blocks\" } as PlanStepLink));\n const blockedBy = toArray(options.blockedBy).map((id) => ({ id, kind: \"blocked_by\" } as PlanStepLink));\n const explicit = toArray(options.link);\n const explicitKind = asLinkKind(options.linkKind, fallbackKind);\n const note = options.linkNote?.trim();\n const explicitLinks = explicit.map((id) => {\n const link: PlanStepLink = { id, kind: explicitKind };\n if (note) link.note = note;\n return link;\n });\n return [...dependsOn, ...related, ...blocks, ...blockedBy, ...explicitLinks];\n}\n\nasync function planUpdateStep(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n args: { stepRef: string; finalStatus?: PlanStepStatus; op: string; allowMultipleActive?: boolean },\n): Promise<PlanCommandResult> {\n const { document, resultStep, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: args.op,\n message: options.message ?? `${args.op} ${args.stepRef}`,\n mutator(steps, doc) {\n const step = resolveStepRef(steps, args.stepRef);\n const now = nowIso();\n const desiredStatus = args.finalStatus ?? asStepStatus(options.stepStatus, step.status);\n const allowMultipleActive = options.allowMultipleActive === true || args.allowMultipleActive === true;\n assertInProgressStepAllowed(steps, step.status === \"in_progress\" ? step.id : undefined, desiredStatus, allowMultipleActive);\n applyStepUpdates(step, options, desiredStatus, now);\n doc.metadata.updated_at = now;\n return { changedSteps: [step.id], resultStep: step };\n },\n });\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: args.op === \"plan_complete_step\" ? \"complete-step\" : args.op === \"plan_block_step\" ? \"block-step\" : \"update-step\",\n plan,\n step: resultStep,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nfunction applyStepUpdates(\n step: PlanStep,\n options: PlanCommandOptions,\n desiredStatus: PlanStepStatus,\n now: string,\n): void {\n assertBlockedStepReason(step, options, desiredStatus);\n applyStepFieldUpdates(step, options);\n step.status = desiredStatus;\n step.updated_at = now;\n applyStepCompletionTimestamp(step, desiredStatus, now);\n}\n\nfunction assertBlockedStepReason(\n step: PlanStep,\n options: PlanCommandOptions,\n desiredStatus: PlanStepStatus,\n): void {\n if (desiredStatus !== \"blocked\" || options.stepBlockedReason?.trim() || step.blocked_reason) {\n return;\n }\n throw new PmCliError(\n \"Blocking a step requires --step-blocked-reason or an already-recorded blocked_reason.\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction applyStepFieldUpdates(step: PlanStep, options: PlanCommandOptions): void {\n const title = options.stepTitle?.trim();\n if (title) {\n step.title = title;\n }\n if (options.stepBody !== undefined) {\n step.body = options.stepBody.trim() || undefined;\n }\n if (options.stepOwner !== undefined) {\n step.owner = options.stepOwner.trim() || undefined;\n }\n if (options.stepEvidence !== undefined) {\n step.evidence = options.stepEvidence.trim() || undefined;\n }\n if (options.stepBlockedReason !== undefined) {\n step.blocked_reason = options.stepBlockedReason.trim() || undefined;\n }\n if (options.stepReplacement !== undefined) {\n step.superseded_by = options.stepReplacement.trim() || undefined;\n }\n}\n\nfunction applyStepCompletionTimestamp(step: PlanStep, desiredStatus: PlanStepStatus, now: string): void {\n if (desiredStatus === \"completed\" && !step.completed_at) {\n step.completed_at = now;\n return;\n }\n if (desiredStatus !== \"completed\") {\n step.completed_at = undefined;\n }\n}\n\nasync function planReorderStep(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n stepRef: string,\n newOrder: number,\n): Promise<PlanCommandResult> {\n const { document, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_reorder_step\",\n message: options.message ?? `plan reorder-step ${stepRef} -> ${newOrder}`,\n mutator(steps) {\n const step = resolveStepRef(steps, stepRef);\n const filtered = steps.filter((entry) => entry.id !== step.id);\n const clamped = Math.max(1, Math.min(newOrder, filtered.length + 1));\n filtered.splice(clamped - 1, 0, step);\n filtered.forEach((entry, index) => {\n entry.order = index + 1;\n entry.updated_at = nowIso();\n });\n steps.length = 0;\n steps.push(...filtered);\n return { changedSteps: [step.id], resultStep: step };\n },\n });\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: \"reorder-step\",\n plan,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nasync function planRemoveStep(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n stepRef: string,\n): Promise<PlanCommandResult> {\n const { document, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_remove_step\",\n message: options.message ?? `plan remove-step ${stepRef}`,\n mutator(steps) {\n const step = resolveStepRef(steps, stepRef);\n const remaining = steps.filter((entry) => entry.id !== step.id);\n remaining.forEach((entry, index) => {\n entry.order = index + 1;\n });\n steps.length = 0;\n steps.push(...remaining);\n return { changedSteps: [step.id] };\n },\n });\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: \"remove-step\",\n plan,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nasync function planLink(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n stepRef: string,\n): Promise<PlanCommandResult> {\n const newLinks = buildLinkInputs(options, asLinkKind(options.linkKind, \"related\"));\n if (newLinks.length === 0) {\n throw new PmCliError(\"pm plan link requires at least one --link/--related/--blocks/--blocked-by/--depends-on id\", EXIT_CODE.USAGE);\n }\n const promoteToItemDep = options.promoteToItemDep === true;\n const { document, itemId, resultStep } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_link_step\",\n message: options.message ?? `plan link ${stepRef}`,\n mutator(steps, doc) {\n const step = resolveStepRef(steps, stepRef);\n const existing = step.linked_items ?? [];\n const dedupKey = (link: PlanStepLink) => `${link.kind}:${link.id}`;\n const seen = new Set(existing.map(dedupKey));\n for (const link of newLinks) {\n const key = dedupKey(link);\n if (seen.has(key)) continue;\n existing.push(link);\n seen.add(key);\n }\n step.linked_items = existing;\n step.updated_at = nowIso();\n if (promoteToItemDep) {\n const deps = doc.metadata.dependencies ?? [];\n const depKey = (dep: { id: string; kind: string }) => `${dep.kind}:${dep.id}`;\n const seenDeps = new Set(deps.map(depKey));\n for (const link of newLinks) {\n const candidate = {\n id: link.id,\n kind: link.kind as DependencyKind,\n created_at: nowIso(),\n author: resolveAuthor(options.author, ctx.settings.author_default),\n };\n if (seenDeps.has(depKey(candidate))) continue;\n deps.push(candidate);\n seenDeps.add(depKey(candidate));\n }\n doc.metadata.dependencies = deps;\n }\n return { changedSteps: [step.id], resultStep: step };\n },\n });\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: \"link\",\n plan,\n step: resultStep,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nasync function planUnlink(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n stepRef: string,\n): Promise<PlanCommandResult> {\n const removeIds = toArray(options.link);\n if (removeIds.length === 0) {\n throw new PmCliError(\"pm plan unlink requires --link <id> to remove\", EXIT_CODE.USAGE);\n }\n const { document, itemId, resultStep } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_unlink_step\",\n message: options.message ?? `plan unlink ${stepRef}`,\n mutator(steps) {\n const step = resolveStepRef(steps, stepRef);\n const filtered = (step.linked_items ?? []).filter((link) => !removeIds.includes(link.id));\n step.linked_items = filtered.length > 0 ? filtered : undefined;\n step.updated_at = nowIso();\n return { changedSteps: [step.id], resultStep: step };\n },\n });\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: \"unlink\",\n plan,\n step: resultStep,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nasync function planAppendLog(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n kind: \"decision\" | \"discovery\" | \"validation\",\n): Promise<PlanCommandResult> {\n const logText = resolvePlanLogText(kind, options);\n if (!logText) {\n const canonical = `--${kind}-text`;\n const shorthand = `--${kind}`;\n throw new PmCliError(`pm plan ${kind} requires ${canonical}`, EXIT_CODE.USAGE, {\n code: \"missing_required_option\",\n examples: [\n `pm plan ${kind} <plan-id> ${canonical} \"...\"`,\n `pm plan ${kind} <plan-id> ${shorthand} \"...\"`,\n ],\n recovery: {\n suggested_retry: `pm plan ${kind} <plan-id> ${canonical} <value>`,\n },\n });\n }\n const author = resolveAuthor(options.author, ctx.settings.author_default);\n const { document, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: `plan_append_${kind}`,\n message: options.message ?? `plan ${kind} append`,\n mutator(_steps, doc) {\n const now = nowIso();\n if (kind === \"decision\") {\n const list = doc.metadata.plan_decisions ?? [];\n list.push({\n ts: now,\n author,\n decision: logText,\n rationale: options.decisionRationale?.trim() || undefined,\n evidence: options.decisionEvidence?.trim() || undefined,\n });\n doc.metadata.plan_decisions = list;\n return { changedSteps: [] };\n }\n if (kind === \"discovery\") {\n const list = doc.metadata.plan_discoveries ?? [];\n list.push({ ts: now, author, text: logText });\n doc.metadata.plan_discoveries = list;\n return { changedSteps: [] };\n }\n const list = doc.metadata.plan_validation ?? [];\n list.push({\n text: logText,\n command: options.validationCommand?.trim() || undefined,\n expected: options.validationExpected?.trim() || undefined,\n });\n doc.metadata.plan_validation = list;\n return { changedSteps: [] };\n },\n });\n const plan = projectPlan(document.metadata, \"deep\");\n return {\n action: kind,\n plan,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nasync function planResume(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n): Promise<PlanCommandResult> {\n const text = options.resumeContext?.trim();\n if (!text) {\n throw new PmCliError(\"pm plan resume requires --resume-context <text>\", EXIT_CODE.USAGE);\n }\n const { document, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_resume\",\n message: options.message ?? \"plan resume context update\",\n mutator(_steps, doc) {\n doc.metadata.plan_resume_context = text;\n return { changedSteps: [] };\n },\n });\n const plan = projectPlan(document.metadata, \"brief\");\n return {\n action: \"resume\",\n plan,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nasync function planApprove(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n): Promise<PlanCommandResult> {\n const mode = asPlanMode(options.mode ?? \"approved\", \"approved\");\n const { document, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_approve\",\n message: options.message ?? `plan approve mode=${mode}`,\n mutator(_steps, doc) {\n doc.metadata.plan_mode = mode;\n return { changedSteps: [] };\n },\n });\n const plan = projectPlan(document.metadata, \"brief\");\n return {\n action: \"approve\",\n plan,\n next_actions: nextActionsFor(itemId, plan),\n warnings: [],\n generated_at: nowIso(),\n };\n}\n\nfunction buildMaterializeSkippedWarnings(\n materializeSkipped: { from_step: string; reason: \"already_completed\" | \"already_materialized\"; existing_id?: string }[],\n): string[] {\n return materializeSkipped.map(\n (entry) =>\n `plan_materialize_skipped:${entry.from_step}:${entry.reason}${entry.existing_id ? `:${entry.existing_id}` : \"\"}`,\n );\n}\n\nfunction buildMaterializeNoopResult(\n planRead: { document: ItemDocument; itemId: string },\n materializeSkipped: { from_step: string; reason: \"already_completed\" | \"already_materialized\"; existing_id?: string }[],\n): PlanCommandResult {\n const plan = projectPlan(planRead.document.metadata, \"standard\");\n return {\n action: \"materialize\",\n plan,\n materialized: [],\n materialize_skipped: materializeSkipped,\n next_actions: nextActionsFor(planRead.itemId, plan),\n warnings: buildMaterializeSkippedWarnings(materializeSkipped),\n generated_at: nowIso(),\n };\n}\n\nfunction buildMaterializeDependencies(parent: string, planItemId: string, step: PlanStep): string[] {\n const deps = [\n `id=${parent},kind=parent`,\n `id=${planItemId},kind=discovered_from`,\n ];\n for (const link of step.linked_items ?? []) {\n const realKind: DependencyKind =\n link.kind === \"blocked_by\" || link.kind === \"blocks\" || link.kind === \"related\" || link.kind === \"discovered_from\"\n ? link.kind\n : \"related\";\n deps.push(`id=${link.id},kind=${realKind}`);\n }\n return deps;\n}\n\nasync function createMaterializedStepItems(params: {\n targets: PlanStep[];\n parent: string;\n planItemId: string;\n resolvedTypeName: string;\n tags: string | undefined;\n options: PlanCommandOptions;\n pmRoot: string;\n}): Promise<{ id: string; type: string; from_step: string }[]> {\n const materialized: { id: string; type: string; from_step: string }[] = [];\n for (const step of params.targets) {\n const created = await runCreate(\n {\n title: step.title,\n description: step.body?.trim() || step.title,\n type: params.resolvedTypeName,\n parent: params.parent,\n tags: params.tags,\n author: params.options.author,\n message: params.options.message ?? `materialized from plan ${params.planItemId} step ${step.id}`,\n dep: buildMaterializeDependencies(params.parent, params.planItemId, step),\n },\n { ...({} as GlobalOptions), path: params.pmRoot } as GlobalOptions,\n );\n materialized.push({ id: created.item.id, type: params.resolvedTypeName, from_step: step.id });\n }\n return materialized;\n}\n\nfunction linkMaterializedStepItems(\n currentSteps: PlanStep[],\n targets: PlanStep[],\n materialized: { id: string; type: string; from_step: string }[],\n): void {\n for (const target of targets) {\n const matched = materialized.find((entry) => entry.from_step === target.id);\n if (!matched) {\n continue;\n }\n const step = currentSteps.find((entry) => entry.id === target.id);\n if (!step) {\n continue;\n }\n const links = step.linked_items ?? [];\n links.push({ id: matched.id, kind: \"implements\", note: `materialized as ${matched.type}` });\n step.linked_items = links;\n step.updated_at = nowIso();\n }\n}\n\nasync function planMaterialize(\n id: string,\n options: PlanCommandOptions,\n ctx: PlanWriteContext,\n): Promise<PlanCommandResult> {\n const stepRefs = toArray(options.steps);\n if (stepRefs.length === 0) {\n throw new PmCliError(\"pm plan materialize requires --steps <ids|orders|all>\", EXIT_CODE.USAGE);\n }\n const targetType = options.materializeType?.trim() || \"Task\";\n const typeRegistry = resolveItemTypeRegistry(ctx.settings, getActiveExtensionRegistrations());\n const resolvedTypeName = resolveTypeName(targetType, typeRegistry);\n if (!resolvedTypeName) {\n throw new PmCliError(`Invalid --materialize-type \"${targetType}\"`, EXIT_CODE.USAGE);\n }\n const parent = options.materializeParent?.trim() || id;\n const tags = options.materializeTags;\n\n const planRead = await readPlanItem(ctx, id);\n const steps = (planRead.document.metadata.plan_steps ?? []).slice();\n const { targets, skipped: materializeSkipped } = resolveMaterializeTargets(steps, stepRefs);\n if (targets.length === 0) {\n if (materializeSkipped.length > 0) {\n return buildMaterializeNoopResult(planRead, materializeSkipped);\n }\n throw new PmCliError(\"No matching plan steps found for --steps\", EXIT_CODE.NOT_FOUND);\n }\n\n const materialized = await createMaterializedStepItems({\n targets,\n parent,\n planItemId: planRead.itemId,\n resolvedTypeName,\n tags,\n options,\n pmRoot: ctx.pmRoot,\n });\n\n const { document, itemId } = await mutatePlanSteps({\n id,\n options,\n ctx,\n op: \"plan_materialize\",\n message: options.message ?? `plan materialize ${stepRefs.join(\",\")}`,\n mutator(currentSteps) {\n linkMaterializedStepItems(currentSteps, targets, materialized);\n return { changedSteps: targets.map((entry) => entry.id) };\n },\n });\n const plan = projectPlan(document.metadata, \"standard\");\n return {\n action: \"materialize\",\n plan,\n materialized,\n ...(materializeSkipped.length > 0 ? { materialize_skipped: materializeSkipped } : {}),\n next_actions: nextActionsFor(itemId, plan),\n warnings: buildMaterializeSkippedWarnings(materializeSkipped),\n generated_at: nowIso(),\n };\n}\n\n/* c8 ignore stop */\n/**\n * Documents the plan dispatch input payload exchanged by command, SDK, and package integrations.\n */\nexport interface PlanDispatchInput {\n subcommand: PlanSubcommand;\n id?: string;\n stepRef?: string;\n reorderTo?: number;\n options: PlanCommandOptions;\n global: GlobalOptions;\n}\n\nfunction normalizePlanStepAliasInput(input: PlanDispatchInput): PlanDispatchInput {\n if (input.subcommand === \"create\") {\n return input;\n }\n const stepValues = toOrderedStepTitles(input.options.step);\n if (stepValues.length > 1) {\n throw new PmCliError(\n `pm plan ${input.subcommand} accepts a single --step/--step-title value (repeated --step seeds ordered steps only on pm plan create)`,\n EXIT_CODE.USAGE,\n );\n }\n if (stepValues.length === 1 && !input.options.stepTitle?.trim()) {\n return { ...input, options: { ...input.options, stepTitle: stepValues[0] } };\n }\n return input;\n}\n\nfunction requirePlanId(input: PlanDispatchInput, label: PlanSubcommand): string {\n if (!input.id) {\n throw new PmCliError(`pm plan ${label} requires a plan id`, EXIT_CODE.USAGE);\n }\n return input.id;\n}\n\nfunction requirePlanStepRef(input: PlanDispatchInput, label: PlanSubcommand): { id: string; stepRef: string } {\n const id = requirePlanId(input, label);\n if (!input.stepRef) {\n throw new PmCliError(`pm plan ${label} requires <plan-id> <step>`, EXIT_CODE.USAGE);\n }\n return { id, stepRef: input.stepRef };\n}\n\nfunction requireReorderTarget(input: PlanDispatchInput): { id: string; stepRef: string; reorderTo: number } {\n const target = requirePlanStepRef(input, \"reorder-step\");\n if (input.reorderTo === undefined) {\n throw new PmCliError(\"pm plan reorder-step requires <plan-id> <step> <new-order>\", EXIT_CODE.USAGE);\n }\n return { ...target, reorderTo: input.reorderTo };\n}\n\ntype PlanDispatcher = (input: PlanDispatchInput, ctx: PlanWriteContext) => Promise<PlanCommandResult>;\n\nconst PLAN_DISPATCHERS: Record<PlanSubcommand, PlanDispatcher> = {\n create: (input, ctx) => planCreate(input.options, input.global, ctx),\n show: (input, ctx) => planShow(requirePlanId(input, \"show\"), input.options, ctx),\n \"add-step\": (input, ctx) => planAddStep(requirePlanId(input, \"add-step\"), input.options, ctx),\n \"update-step\": (input, ctx) => {\n const target = requirePlanStepRef(input, \"update-step\");\n return planUpdateStep(target.id, input.options, ctx, { stepRef: target.stepRef, op: \"plan_update_step\" });\n },\n \"complete-step\": (input, ctx) => {\n const target = requirePlanStepRef(input, \"complete-step\");\n return planUpdateStep(target.id, input.options, ctx, {\n stepRef: target.stepRef,\n finalStatus: \"completed\",\n op: \"plan_complete_step\",\n });\n },\n \"block-step\": (input, ctx) => {\n const target = requirePlanStepRef(input, \"block-step\");\n return planUpdateStep(target.id, input.options, ctx, {\n stepRef: target.stepRef,\n finalStatus: \"blocked\",\n op: \"plan_block_step\",\n });\n },\n \"reorder-step\": (input, ctx) => {\n const target = requireReorderTarget(input);\n return planReorderStep(target.id, input.options, ctx, target.stepRef, target.reorderTo);\n },\n \"remove-step\": (input, ctx) => {\n const target = requirePlanStepRef(input, \"remove-step\");\n return planRemoveStep(target.id, input.options, ctx, target.stepRef);\n },\n link: (input, ctx) => {\n const target = requirePlanStepRef(input, \"link\");\n return planLink(target.id, input.options, ctx, target.stepRef);\n },\n unlink: (input, ctx) => {\n const target = requirePlanStepRef(input, \"unlink\");\n return planUnlink(target.id, input.options, ctx, target.stepRef);\n },\n decision: (input, ctx) => planAppendLog(requirePlanId(input, \"decision\"), input.options, ctx, \"decision\"),\n discovery: (input, ctx) => planAppendLog(requirePlanId(input, \"discovery\"), input.options, ctx, \"discovery\"),\n validation: (input, ctx) => planAppendLog(requirePlanId(input, \"validation\"), input.options, ctx, \"validation\"),\n resume: (input, ctx) => planResume(requirePlanId(input, \"resume\"), input.options, ctx),\n approve: (input, ctx) => planApprove(requirePlanId(input, \"approve\"), input.options, ctx),\n materialize: (input, ctx) => planMaterialize(requirePlanId(input, \"materialize\"), input.options, ctx),\n};\n\nfunction resolvePlanDispatcher(subcommand: PlanSubcommand): PlanDispatcher {\n const dispatcher = PLAN_DISPATCHERS[subcommand];\n if (!dispatcher) {\n throw new PmCliError(`Unknown pm plan subcommand \"${subcommand}\"`, EXIT_CODE.USAGE);\n }\n return dispatcher;\n}\n\n/**\n * Implements run plan for the public runtime surface of this module.\n */\nexport async function runPlan(input: PlanDispatchInput): Promise<PlanCommandResult> {\n const ctx = await loadContext(input.global);\n const normalizedInput = normalizePlanStepAliasInput(input);\n return resolvePlanDispatcher(normalizedInput.subcommand)(normalizedInput, ctx);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["global", "list"]
|
|
7
7
|
}
|