@unbrained/pm-cli 2026.5.31 → 2026.6.6
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 +167 -0
- package/CONTRIBUTING.md +1 -0
- package/README.md +12 -4
- package/dist/cli/argv-utils.js +7 -3
- package/dist/cli/argv-utils.js.map +1 -1
- package/dist/cli/bootstrap-args.d.ts +1 -0
- package/dist/cli/bootstrap-args.js +23 -3
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/calendar.js +17 -3
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/close-many.d.ts +63 -0
- package/dist/cli/commands/close-many.js +302 -0
- package/dist/cli/commands/close-many.js.map +1 -0
- package/dist/cli/commands/completion.d.ts +1 -0
- package/dist/cli/commands/completion.js +260 -32
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +4 -4
- package/dist/cli/commands/config.js +115 -3
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/contracts.js +193 -162
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.d.ts +1 -0
- package/dist/cli/commands/create.js +77 -114
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension/doctor.d.ts +12 -0
- package/dist/cli/commands/extension/doctor.js +97 -2
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/scaffold.js +49 -48
- package/dist/cli/commands/extension/scaffold.js.map +1 -1
- package/dist/cli/commands/extension.js +51 -23
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/gc.d.ts +8 -1
- package/dist/cli/commands/gc.js +26 -3
- package/dist/cli/commands/gc.js.map +1 -1
- package/dist/cli/commands/get.js +7 -7
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +51 -3
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.d.ts +4 -1
- package/dist/cli/commands/history.js +12 -24
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -1
- package/dist/cli/commands/index.js +5 -3
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +10 -0
- package/dist/cli/commands/init.js +107 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +5 -0
- package/dist/cli/commands/list.js +58 -26
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/reindex.js +163 -47
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/repeatable-metadata-parsers.d.ts +15 -0
- package/dist/cli/commands/repeatable-metadata-parsers.js +120 -0
- package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -0
- package/dist/cli/commands/restore.js +25 -4
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/schema.d.ts +122 -1
- package/dist/cli/commands/schema.js +536 -6
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/search.d.ts +1 -0
- package/dist/cli/commands/search.js +18 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +8 -1
- package/dist/cli/commands/stats.js +18 -17
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +8 -0
- package/dist/cli/commands/telemetry.js +253 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/commands/test.js +4 -3
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.js +69 -140
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.d.ts +2 -0
- package/dist/cli/commands/update.js +138 -119
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +1 -0
- package/dist/cli/commands/validate.js +63 -33
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.js +26 -3
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/help-content.js +91 -3
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/main.js +377 -23
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +14 -5
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +200 -28
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +31 -6
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +4 -2
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +31 -4
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-CVXTCHYY.js +16 -0
- package/dist/cli-bundle/chunks/activity-JM6DTDND.js +20 -0
- package/dist/cli-bundle/chunks/activity-JM6DTDND.js.map +1 -0
- package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js +206 -0
- package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js.map +1 -0
- package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js → aggregate-VNAHUNNF.js} +11 -11
- package/dist/cli-bundle/chunks/{append-JD2DETU7.js → append-7H5N64R2.js} +8 -9
- package/dist/cli-bundle/chunks/{append-JD2DETU7.js.map → append-7H5N64R2.js.map} +1 -1
- package/dist/cli-bundle/chunks/append-WMKRXKCE.js +69 -0
- package/dist/cli-bundle/chunks/append-WMKRXKCE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3M73P3G6.js → chunk-23YFZ3IG.js} +210 -132
- package/dist/cli-bundle/chunks/chunk-23YFZ3IG.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-2HVRUSQA.js +128 -0
- package/dist/cli-bundle/chunks/chunk-2HVRUSQA.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-2RSPZI5H.js +266 -0
- package/dist/cli-bundle/chunks/chunk-2RSPZI5H.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js +631 -0
- package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-2VVCGBNV.js +380 -0
- package/dist/cli-bundle/chunks/chunk-2VVCGBNV.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-3BWOVLTH.js +1664 -0
- package/dist/cli-bundle/chunks/chunk-3BWOVLTH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-6HT2F4TK.js → chunk-3FI4SEFT.js} +175 -54
- package/dist/cli-bundle/chunks/chunk-3FI4SEFT.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-JULRTHJQ.js → chunk-3LB74A67.js} +119 -6
- package/dist/cli-bundle/chunks/chunk-3LB74A67.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-3VAM3NNM.js +57 -0
- package/dist/cli-bundle/chunks/chunk-3VAM3NNM.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js +1832 -0
- package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js +422 -0
- package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js +412 -0
- package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js +5622 -0
- package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-U7FMKRXH.js → chunk-6ER6DXH5.js} +37 -16
- package/dist/cli-bundle/chunks/chunk-6ER6DXH5.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-6P6GGMOG.js +218 -0
- package/dist/cli-bundle/chunks/chunk-6P6GGMOG.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-77GFDHGF.js +80 -0
- package/dist/cli-bundle/chunks/chunk-77GFDHGF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MD7K4JYF.js → chunk-AO442XLN.js} +26 -15
- package/dist/cli-bundle/chunks/chunk-AO442XLN.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-AY43SBIN.js +751 -0
- package/dist/cli-bundle/chunks/chunk-AY43SBIN.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js → chunk-BQHUILZS.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-E5FJNAZA.js +242 -0
- package/dist/cli-bundle/chunks/chunk-E5FJNAZA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OGZEG5TT.js → chunk-ECCMVXGM.js} +164 -53
- package/dist/cli-bundle/chunks/chunk-ECCMVXGM.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js +182 -0
- package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-GCOQW437.js +130 -0
- package/dist/cli-bundle/chunks/chunk-GCOQW437.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-GGYWB3Y2.js +1340 -0
- package/dist/cli-bundle/chunks/chunk-GGYWB3Y2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js → chunk-GU2ZJ2VV.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-GXSUPCBV.js +231 -0
- package/dist/cli-bundle/chunks/chunk-GXSUPCBV.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-HZGUAH22.js +76 -0
- package/dist/cli-bundle/chunks/chunk-HZGUAH22.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-I2HSTRJF.js +346 -0
- package/dist/cli-bundle/chunks/chunk-I2HSTRJF.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-I6BNFU5X.js +140 -0
- package/dist/cli-bundle/chunks/chunk-I6BNFU5X.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-JTWRXG4B.js → chunk-IJGCZSIQ.js} +251 -251
- package/dist/cli-bundle/chunks/chunk-IJGCZSIQ.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js +1491 -0
- package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-IUV734HF.js +17 -0
- package/dist/cli-bundle/chunks/chunk-IUV734HF.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-J27KIHTG.js +15 -0
- package/dist/cli-bundle/chunks/chunk-J27KIHTG.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js → chunk-KAG77BY3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js → chunk-KJ33AOCY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WDPXDQFG.js → chunk-KJE2FOS4.js} +6 -4
- package/dist/cli-bundle/chunks/chunk-KJE2FOS4.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-KWU6HG75.js +3883 -0
- package/dist/cli-bundle/chunks/chunk-KWU6HG75.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js +1325 -0
- package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5HSEP75M.js → chunk-LCM63IXU.js} +18 -6
- package/dist/cli-bundle/chunks/chunk-LCM63IXU.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js +24 -0
- package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-ME2YH6FN.js +182 -0
- package/dist/cli-bundle/chunks/chunk-ME2YH6FN.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-MITFDD35.js +1809 -0
- package/dist/cli-bundle/chunks/chunk-MITFDD35.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js → chunk-N7ACFE26.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-NUZ5HKR4.js +332 -0
- package/dist/cli-bundle/chunks/chunk-NUZ5HKR4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7Y53ZJIQ.js → chunk-OVQCEJPG.js} +22 -3
- package/dist/cli-bundle/chunks/chunk-OVQCEJPG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PXUAZUUY.js → chunk-OZ7NSQHL.js} +12 -11
- package/dist/cli-bundle/chunks/chunk-OZ7NSQHL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-P53TN6IA.js → chunk-PDDFYW4X.js} +35 -8
- package/dist/cli-bundle/chunks/chunk-PDDFYW4X.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js → chunk-PIU6RSL3.js} +10 -12
- package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js.map → chunk-PIU6RSL3.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-PO3GSVFV.js +338 -0
- package/dist/cli-bundle/chunks/chunk-PO3GSVFV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LRBOHPUE.js → chunk-PRJCELV4.js} +108 -21
- package/dist/cli-bundle/chunks/chunk-PRJCELV4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GN7IJPCD.js → chunk-PROOHX4K.js} +332 -32
- package/dist/cli-bundle/chunks/chunk-PROOHX4K.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FQE6XZDB.js → chunk-Q7SPNHLW.js} +54 -32
- package/dist/cli-bundle/chunks/chunk-Q7SPNHLW.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js → chunk-QO7EBBOM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js → chunk-R6UFP2GE.js} +7 -7
- package/dist/cli-bundle/chunks/chunk-RWPSOIEE.js +154 -0
- package/dist/cli-bundle/chunks/chunk-RWPSOIEE.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-RZN6VURO.js +119 -0
- package/dist/cli-bundle/chunks/chunk-RZN6VURO.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js +1501 -0
- package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js → chunk-T3LC5LKB.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js +173 -0
- package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js +2988 -0
- package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LSXGH6NE.js → chunk-U5SXYXSY.js} +821 -200
- package/dist/cli-bundle/chunks/chunk-U5SXYXSY.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-UBOPJT3S.js +540 -0
- package/dist/cli-bundle/chunks/chunk-UBOPJT3S.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js → chunk-UM2GBHS4.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-W7XABV4H.js +454 -0
- package/dist/cli-bundle/chunks/chunk-W7XABV4H.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js → chunk-WKY2IBOQ.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js +698 -0
- package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-WSMOSYRD.js +1704 -0
- package/dist/cli-bundle/chunks/chunk-WSMOSYRD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js → chunk-XLTD2HN3.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-XSJCLN2R.js +131 -0
- package/dist/cli-bundle/chunks/chunk-XSJCLN2R.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +53 -0
- package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-BUPWJ3IJ.js → chunk-XTGLRY2Y.js} +484 -49
- package/dist/cli-bundle/chunks/chunk-XTGLRY2Y.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js → chunk-YL2DJGYS.js} +7 -7
- package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js → claim-4DBF6RVG.js} +10 -11
- package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js.map → claim-4DBF6RVG.js.map} +1 -1
- package/dist/cli-bundle/chunks/claim-X2P4IB7J.js +129 -0
- package/dist/cli-bundle/chunks/claim-X2P4IB7J.js.map +1 -0
- package/dist/cli-bundle/chunks/close-3HDWDA3L.js +13 -0
- package/dist/cli-bundle/chunks/close-PTYFA45H.js +17 -0
- package/dist/cli-bundle/chunks/close-PTYFA45H.js.map +1 -0
- package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js +314 -0
- package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js.map +7 -0
- package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js +311 -0
- package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js.map +1 -0
- package/dist/cli-bundle/chunks/comments-OONGABK5.js +100 -0
- package/dist/cli-bundle/chunks/comments-OONGABK5.js.map +1 -0
- package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js → comments-QKBYCWKD.js} +10 -11
- package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js.map → comments-QKBYCWKD.js.map} +1 -1
- package/dist/cli-bundle/chunks/config-6FXCQKIF.js +1671 -0
- package/dist/cli-bundle/chunks/config-6FXCQKIF.js.map +1 -0
- package/dist/cli-bundle/chunks/{config-V3FZOKLI.js → config-U4RZ4CQB.js} +121 -10
- package/dist/cli-bundle/chunks/config-U4RZ4CQB.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js → context-FYYJGFWS.js} +32 -19
- package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js.map → context-FYYJGFWS.js.map} +2 -2
- package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js +1461 -0
- package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js.map +1 -0
- package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js +1278 -0
- package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-YLMH33VU.js → contracts-RFSPGVVJ.js} +198 -162
- package/dist/cli-bundle/chunks/contracts-RFSPGVVJ.js.map +7 -0
- package/dist/cli-bundle/chunks/create-I5L4EYYZ.js +31 -0
- package/dist/cli-bundle/chunks/create-I5L4EYYZ.js.map +1 -0
- package/dist/cli-bundle/chunks/create-JTZNCTQC.js +27 -0
- package/dist/cli-bundle/chunks/delete-7HPGI4GZ.js +55 -0
- package/dist/cli-bundle/chunks/delete-7HPGI4GZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{delete-RHCTEORS.js → delete-VXUPH5RS.js} +7 -8
- package/dist/cli-bundle/chunks/{delete-RHCTEORS.js.map → delete-VXUPH5RS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js → deps-JSRRWC3Z.js} +7 -8
- package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js.map → deps-JSRRWC3Z.js.map} +1 -1
- package/dist/cli-bundle/chunks/deps-SCZIFK2Z.js +225 -0
- package/dist/cli-bundle/chunks/deps-SCZIFK2Z.js.map +1 -0
- package/dist/cli-bundle/chunks/docs-GJK6K4VP.js +31 -0
- package/dist/cli-bundle/chunks/docs-GJK6K4VP.js.map +1 -0
- package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js → docs-WW4N3MBM.js} +9 -10
- package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js.map → docs-WW4N3MBM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js → extension-J7IBMFTD.js} +4 -5
- package/dist/cli-bundle/chunks/extension-VDY2U33M.js +28 -0
- package/dist/cli-bundle/chunks/extension-VDY2U33M.js.map +1 -0
- package/dist/cli-bundle/chunks/files-ISZJGILQ.js +282 -0
- package/dist/cli-bundle/chunks/files-ISZJGILQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{files-WVOX67PE.js → files-WKOD326U.js} +9 -10
- package/dist/cli-bundle/chunks/{files-WVOX67PE.js.map → files-WKOD326U.js.map} +1 -1
- package/dist/cli-bundle/chunks/gc-JDVJ6OQ2.js +362 -0
- package/dist/cli-bundle/chunks/gc-JDVJ6OQ2.js.map +1 -0
- package/dist/cli-bundle/chunks/gc-ULPVWMTN.js +372 -0
- package/dist/cli-bundle/chunks/gc-ULPVWMTN.js.map +7 -0
- package/dist/cli-bundle/chunks/get-RV37HT3G.js +194 -0
- package/dist/cli-bundle/chunks/get-RV37HT3G.js.map +1 -0
- package/dist/cli-bundle/chunks/{get-LTK3HOCQ.js → get-WXU6WI5P.js} +16 -17
- package/dist/cli-bundle/chunks/get-WXU6WI5P.js.map +7 -0
- package/dist/cli-bundle/chunks/{health-TCWL55KM.js → health-6L6EH4WR.js} +57 -16
- package/dist/cli-bundle/chunks/health-6L6EH4WR.js.map +7 -0
- package/dist/cli-bundle/chunks/health-LOI2HHKB.js +1271 -0
- package/dist/cli-bundle/chunks/health-LOI2HHKB.js.map +1 -0
- package/dist/cli-bundle/chunks/history-2BA3T5AE.js +20 -0
- package/dist/cli-bundle/chunks/history-PKN67D5O.js +24 -0
- package/dist/cli-bundle/chunks/history-PKN67D5O.js.map +1 -0
- package/dist/cli-bundle/chunks/history-redact-JBZNXHGR.js +19 -0
- package/dist/cli-bundle/chunks/history-redact-V4FOJGS7.js +23 -0
- package/dist/cli-bundle/chunks/history-redact-V4FOJGS7.js.map +1 -0
- package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js → history-repair-HIBCBIKK.js} +12 -14
- package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js.map → history-repair-HIBCBIKK.js.map} +1 -1
- package/dist/cli-bundle/chunks/history-repair-SDMHR7JT.js +193 -0
- package/dist/cli-bundle/chunks/history-repair-SDMHR7JT.js.map +1 -0
- package/dist/cli-bundle/chunks/init-HIVSNX3O.js +16 -0
- package/dist/cli-bundle/chunks/init-P56QYWJF.js +20 -0
- package/dist/cli-bundle/chunks/init-P56QYWJF.js.map +1 -0
- package/dist/cli-bundle/chunks/learnings-GDFRG5J7.js +44 -0
- package/dist/cli-bundle/chunks/learnings-GDFRG5J7.js.map +1 -0
- package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js → learnings-MIXSESLK.js} +10 -11
- package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js.map → learnings-MIXSESLK.js.map} +1 -1
- package/dist/cli-bundle/chunks/list-FGOWQMSM.js +24 -0
- package/dist/cli-bundle/chunks/list-FGOWQMSM.js.map +1 -0
- package/dist/cli-bundle/chunks/list-MUSQNMTD.js +20 -0
- package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js → notes-4XVSH2AZ.js} +10 -11
- package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js.map → notes-4XVSH2AZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/notes-5UK3GEH2.js +44 -0
- package/dist/cli-bundle/chunks/notes-5UK3GEH2.js.map +1 -0
- package/dist/cli-bundle/chunks/plan-DUMBV3QB.js +1171 -0
- package/dist/cli-bundle/chunks/plan-DUMBV3QB.js.map +1 -0
- package/dist/cli-bundle/chunks/{plan-67AB2PLM.js → plan-SLMODHWX.js} +13 -14
- package/dist/cli-bundle/chunks/{plan-67AB2PLM.js.map → plan-SLMODHWX.js.map} +1 -1
- package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js +229 -0
- package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-UP3VRUFS.js → register-list-query-WST76HSQ.js} +26 -26
- package/dist/cli-bundle/chunks/register-list-query-WST76HSQ.js.map +7 -0
- package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js +813 -0
- package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-YWSBF545.js → register-mutation-OA675SOU.js} +154 -43
- package/dist/cli-bundle/chunks/register-mutation-OA675SOU.js.map +7 -0
- package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js +383 -0
- package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-3BDTGSDH.js → register-operations-N3PMHXH5.js} +49 -37
- package/dist/cli-bundle/chunks/register-operations-N3PMHXH5.js.map +7 -0
- package/dist/cli-bundle/chunks/register-setup-JIMPKJKV.js +242 -0
- package/dist/cli-bundle/chunks/register-setup-JIMPKJKV.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js → register-setup-ZHJI2DI3.js} +18 -19
- package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js.map → register-setup-ZHJI2DI3.js.map} +2 -2
- package/dist/cli-bundle/chunks/restore-D4RGNX33.js +17 -0
- package/dist/cli-bundle/chunks/restore-PBL6T5TW.js +21 -0
- package/dist/cli-bundle/chunks/restore-PBL6T5TW.js.map +1 -0
- package/dist/cli-bundle/chunks/schema-2NOO6NGB.js +780 -0
- package/dist/cli-bundle/chunks/schema-2NOO6NGB.js.map +7 -0
- package/dist/cli-bundle/chunks/schema-EBI4NLUO.js +770 -0
- package/dist/cli-bundle/chunks/schema-EBI4NLUO.js.map +1 -0
- package/dist/cli-bundle/chunks/search-JPUQTVCY.js +1127 -0
- package/dist/cli-bundle/chunks/search-JPUQTVCY.js.map +1 -0
- package/dist/cli-bundle/chunks/{search-HENBL456.js → search-OA6JX27A.js} +25 -16
- package/dist/cli-bundle/chunks/search-OA6JX27A.js.map +7 -0
- package/dist/cli-bundle/chunks/stats-CV54BAWY.js +202 -0
- package/dist/cli-bundle/chunks/stats-CV54BAWY.js.map +1 -0
- package/dist/cli-bundle/chunks/stats-XYB6KTFG.js +212 -0
- package/dist/cli-bundle/chunks/stats-XYB6KTFG.js.map +7 -0
- package/dist/cli-bundle/chunks/telemetry-LMJ7PFUO.js +251 -0
- package/dist/cli-bundle/chunks/telemetry-LMJ7PFUO.js.map +7 -0
- package/dist/cli-bundle/chunks/telemetry-NCMEPJNR.js +248 -0
- package/dist/cli-bundle/chunks/telemetry-NCMEPJNR.js.map +1 -0
- package/dist/cli-bundle/chunks/test-MXX3E5JL.js +31 -0
- package/dist/cli-bundle/chunks/test-WBROAJIE.js +35 -0
- package/dist/cli-bundle/chunks/test-WBROAJIE.js.map +1 -0
- package/dist/cli-bundle/chunks/test-all-N6NSRDTV.js +328 -0
- package/dist/cli-bundle/chunks/test-all-N6NSRDTV.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js → test-all-NTOZ7C3M.js} +13 -14
- package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js.map → test-all-NTOZ7C3M.js.map} +1 -1
- package/dist/cli-bundle/chunks/test-runs-V6A7LPWZ.js +929 -0
- package/dist/cli-bundle/chunks/test-runs-V6A7LPWZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js → test-runs-WMVTQU3Y.js} +5 -5
- package/dist/cli-bundle/chunks/update-OSV3NAQB.js +25 -0
- package/dist/cli-bundle/chunks/update-OSV3NAQB.js.map +1 -0
- package/dist/cli-bundle/chunks/update-YRXSUGYQ.js +21 -0
- package/dist/cli-bundle/chunks/update-many-EM6OXYGO.js +605 -0
- package/dist/cli-bundle/chunks/update-many-EM6OXYGO.js.map +1 -0
- package/dist/cli-bundle/chunks/{update-many-46HRSP2Q.js → update-many-KGGEYABR.js} +78 -146
- package/dist/cli-bundle/chunks/update-many-KGGEYABR.js.map +7 -0
- package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js → upgrade-BLI7XBAJ.js} +5 -7
- package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js.map → upgrade-BLI7XBAJ.js.map} +1 -1
- package/dist/cli-bundle/chunks/upgrade-LXPOQKFV.js +266 -0
- package/dist/cli-bundle/chunks/upgrade-LXPOQKFV.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-TMCVKIGZ.js → validate-AGOAUOVW.js} +61 -48
- package/dist/cli-bundle/chunks/validate-AGOAUOVW.js.map +7 -0
- package/dist/cli-bundle/chunks/validate-L5J6A7YO.js +1120 -0
- package/dist/cli-bundle/chunks/validate-L5J6A7YO.js.map +1 -0
- package/dist/cli-bundle/main.js +534 -1505
- package/dist/cli-bundle/main.js.map +4 -4
- package/dist/core/checkpoint/mutation-checkpoint.d.ts +44 -0
- package/dist/core/checkpoint/mutation-checkpoint.js +119 -0
- package/dist/core/checkpoint/mutation-checkpoint.js.map +1 -0
- package/dist/core/config/positional-value.js +4 -2
- package/dist/core/config/positional-value.js.map +1 -1
- package/dist/core/diagnostics/remediation.d.ts +73 -0
- package/dist/core/diagnostics/remediation.js +328 -0
- package/dist/core/diagnostics/remediation.js.map +1 -0
- package/dist/core/extensions/extension-hook-runtime.js +9 -2
- package/dist/core/extensions/extension-hook-runtime.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +60 -4
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +5 -1
- package/dist/core/extensions/index.js +61 -2
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/item-fields.d.ts +5 -1
- package/dist/core/extensions/item-fields.js +126 -4
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.js +283 -8
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/history-diff.d.ts +47 -0
- package/dist/core/history/history-diff.js +152 -0
- package/dist/core/history/history-diff.js.map +1 -0
- package/dist/core/history/history-storage-stats.d.ts +31 -0
- package/dist/core/history/history-storage-stats.js +101 -0
- package/dist/core/history/history-storage-stats.js.map +1 -0
- package/dist/core/item/item-format.d.ts +3 -2
- package/dist/core/item/item-format.js +15 -10
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/status-filter.d.ts +29 -0
- package/dist/core/item/status-filter.js +97 -0
- package/dist/core/item/status-filter.js.map +1 -0
- package/dist/core/item/type-registry.js +4 -2
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/lock-gc.d.ts +46 -0
- package/dist/core/lock/lock-gc.js +194 -0
- package/dist/core/lock/lock-gc.js.map +1 -0
- package/dist/core/output/output.js +17 -5
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/item-types-file.d.ts +15 -0
- package/dist/core/schema/item-types-file.js +27 -2
- package/dist/core/schema/item-types-file.js.map +1 -1
- package/dist/core/schema/runtime-field-filters.js +4 -3
- package/dist/core/schema/runtime-field-filters.js.map +1 -1
- package/dist/core/schema/runtime-field-values.d.ts +1 -1
- package/dist/core/schema/runtime-field-values.js +10 -4
- package/dist/core/schema/runtime-field-values.js.map +1 -1
- package/dist/core/schema/runtime-schema.js +75 -2
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/schema/status-defs-file.d.ts +113 -0
- package/dist/core/schema/status-defs-file.js +260 -0
- package/dist/core/schema/status-defs-file.js.map +1 -0
- package/dist/core/schema/type-workflows.d.ts +64 -0
- package/dist/core/schema/type-workflows.js +98 -0
- package/dist/core/schema/type-workflows.js.map +1 -0
- package/dist/core/search/cache.d.ts +3 -1
- package/dist/core/search/cache.js +104 -28
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/http-client.d.ts +2 -2
- package/dist/core/search/http-client.js +2 -2
- package/dist/core/search/http-client.js.map +1 -1
- package/dist/core/search/vector-stores.d.ts +1 -0
- package/dist/core/search/vector-stores.js +64 -14
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/search/vectorization-metadata.d.ts +13 -0
- package/dist/core/search/vectorization-metadata.js +65 -0
- package/dist/core/search/vectorization-metadata.js.map +1 -0
- package/dist/core/shared/serial-queue.d.ts +12 -0
- package/dist/core/shared/serial-queue.js +43 -0
- package/dist/core/shared/serial-queue.js.map +1 -0
- package/dist/core/shared/serialization.d.ts +1 -0
- package/dist/core/shared/serialization.js +86 -2
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/store/front-matter-cache.js +14 -5
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/core/store/item-store.d.ts +2 -0
- package/dist/core/store/item-store.js +61 -6
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-validator.js +18 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.d.ts +19 -1
- package/dist/core/store/settings.js +130 -10
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/consent.js +3 -3
- package/dist/core/telemetry/consent.js.map +1 -1
- package/dist/core/telemetry/observability.js +5 -4
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/core/telemetry/runtime.js +16 -4
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +372 -45
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +16 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +7 -2
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.js +53 -3
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +42 -10
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +42 -1
- package/dist/sdk/cli-contracts.js +225 -19
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/errors.d.ts +22 -0
- package/dist/sdk/errors.js +46 -0
- package/dist/sdk/errors.js.map +1 -0
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +3 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/package-import-adapters.js +14 -3
- package/dist/sdk/package-import-adapters.js.map +1 -1
- package/dist/sdk/runtime.d.ts +1 -0
- package/dist/sdk/runtime.js +3 -2
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/sdk/testing.d.ts +77 -0
- package/dist/sdk/testing.js +239 -0
- package/dist/sdk/testing.js.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.js +3 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +22 -3
- package/docs/ARCHITECTURE.md +11 -1
- package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
- package/docs/COMMANDS.md +118 -7
- package/docs/CONFIGURATION.md +57 -2
- package/docs/EXTENSIONS.md +125 -6
- package/docs/EXTENSION_AUTHOR_CONTRACTS.md +73 -0
- package/docs/ONBOARDING.md +165 -0
- package/docs/QUICKSTART.md +3 -1
- package/docs/README.md +12 -4
- package/docs/RELEASING.md +38 -3
- package/docs/SDK.md +273 -1
- package/docs/TESTING.md +36 -1
- package/docs/examples/policy-restricted-extension/manifest.json +1 -0
- package/docs/examples/starter-extension/index.js +9 -1
- package/docs/examples/starter-extension/manifest.json +1 -0
- package/package.json +16 -7
- package/packages/pm-beads/extensions/beads/index.js +2 -4
- package/packages/pm-beads/extensions/beads/index.ts +43 -33
- package/packages/pm-beads/extensions/beads/manifest.json +12 -1
- package/packages/pm-calendar/README.md +6 -0
- package/packages/pm-calendar/extensions/calendar/index.js +6 -1
- package/packages/pm-calendar/extensions/calendar/index.ts +6 -1
- package/packages/pm-calendar/extensions/calendar/manifest.json +6 -1
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +6 -1
- package/packages/pm-guide-shell/README.md +4 -0
- package/packages/pm-guide-shell/extensions/guide-shell/index.js +22 -0
- package/packages/pm-guide-shell/extensions/guide-shell/index.ts +22 -0
- package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +6 -1
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +74 -3
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +84 -4
- package/packages/pm-lifecycle-hooks/README.md +29 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +18 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +20 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +9 -0
- package/packages/pm-lifecycle-hooks/package.json +52 -0
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +13 -1
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +69 -1
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +91 -2
- package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +13 -1
- package/packages/pm-templates/extensions/templates/manifest.json +6 -1
- package/packages/pm-todos/extensions/todos/index.js +3 -7
- package/packages/pm-todos/extensions/todos/index.ts +55 -42
- package/packages/pm-todos/extensions/todos/manifest.json +13 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +7 -4
- package/plugins/pm-claude/agents/pm-coordinator.md +1 -1
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/scripts/bundle-cli.mjs +121 -17
- package/dist/cli-bundle/chunks/activity-OWYSUZOY.js +0 -17
- package/dist/cli-bundle/chunks/chunk-3M73P3G6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4AEZR5EJ.js +0 -189
- package/dist/cli-bundle/chunks/chunk-4AEZR5EJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5HSEP75M.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-6HT2F4TK.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7Y53ZJIQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-BUPWJ3IJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EGUGFSNX.js +0 -47
- package/dist/cli-bundle/chunks/chunk-EGUGFSNX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FM26RGSU.js +0 -56
- package/dist/cli-bundle/chunks/chunk-FM26RGSU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FQE6XZDB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-GN7IJPCD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JTWRXG4B.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JULRTHJQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-LRBOHPUE.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-LSXGH6NE.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MD7K4JYF.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-OGZEG5TT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-P53TN6IA.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-PXUAZUUY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-U7FMKRXH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-VGICHR7D.js +0 -141
- package/dist/cli-bundle/chunks/chunk-VGICHR7D.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-WDPXDQFG.js.map +0 -7
- package/dist/cli-bundle/chunks/close-XY4CSAYF.js +0 -14
- package/dist/cli-bundle/chunks/config-V3FZOKLI.js.map +0 -7
- package/dist/cli-bundle/chunks/contracts-YLMH33VU.js.map +0 -7
- package/dist/cli-bundle/chunks/create-PZVHRIZQ.js +0 -28
- package/dist/cli-bundle/chunks/gc-JWNF66EC.js +0 -181
- package/dist/cli-bundle/chunks/gc-JWNF66EC.js.map +0 -7
- package/dist/cli-bundle/chunks/get-LTK3HOCQ.js.map +0 -7
- package/dist/cli-bundle/chunks/health-TCWL55KM.js.map +0 -7
- package/dist/cli-bundle/chunks/history-A2JUDXUE.js +0 -21
- package/dist/cli-bundle/chunks/history-redact-ED6RFCPL.js +0 -20
- package/dist/cli-bundle/chunks/init-M2WUB4YH.js +0 -16
- package/dist/cli-bundle/chunks/list-OGWQPC26.js +0 -20
- package/dist/cli-bundle/chunks/register-list-query-UP3VRUFS.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-YWSBF545.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-3BDTGSDH.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-MB2ISME7.js +0 -18
- package/dist/cli-bundle/chunks/schema-Q622KC46.js +0 -119
- package/dist/cli-bundle/chunks/schema-Q622KC46.js.map +0 -7
- package/dist/cli-bundle/chunks/search-HENBL456.js.map +0 -7
- package/dist/cli-bundle/chunks/stats-N6H3YP2F.js +0 -124
- package/dist/cli-bundle/chunks/stats-N6H3YP2F.js.map +0 -7
- package/dist/cli-bundle/chunks/test-VNBDRJ4Z.js +0 -32
- package/dist/cli-bundle/chunks/update-H6SCWNMA.js +0 -22
- package/dist/cli-bundle/chunks/update-many-46HRSP2Q.js.map +0 -7
- package/dist/cli-bundle/chunks/validate-TMCVKIGZ.js.map +0 -7
- /package/dist/cli-bundle/chunks/{activity-OWYSUZOY.js.map → activity-CVXTCHYY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js.map → aggregate-VNAHUNNF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js.map → chunk-BQHUILZS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js.map → chunk-GU2ZJ2VV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js.map → chunk-KAG77BY3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js.map → chunk-KJ33AOCY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js.map → chunk-N7ACFE26.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js.map → chunk-QO7EBBOM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js.map → chunk-R6UFP2GE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js.map → chunk-T3LC5LKB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js.map → chunk-UM2GBHS4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js.map → chunk-WKY2IBOQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js.map → chunk-XLTD2HN3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js.map → chunk-YL2DJGYS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-XY4CSAYF.js.map → close-3HDWDA3L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-PZVHRIZQ.js.map → create-JTZNCTQC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js.map → extension-J7IBMFTD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-A2JUDXUE.js.map → history-2BA3T5AE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-ED6RFCPL.js.map → history-redact-JBZNXHGR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-M2WUB4YH.js.map → init-HIVSNX3O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-OGWQPC26.js.map → list-MUSQNMTD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-MB2ISME7.js.map → restore-D4RGNX33.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-VNBDRJ4Z.js.map → test-MXX3E5JL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js.map → test-runs-WMVTQU3Y.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-H6SCWNMA.js.map → update-YRXSUGYQ.js.map} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
applyRegisteredItemFieldDefaultsAndValidation,
|
|
3
2
|
assertNoLegacyNoneToken,
|
|
4
3
|
assertNoLegacyNoneTokens,
|
|
5
4
|
ensureEnumValue,
|
|
@@ -8,18 +7,15 @@ import {
|
|
|
8
7
|
normalizeSeverityInput,
|
|
9
8
|
parseConfidenceInput,
|
|
10
9
|
parseDocs,
|
|
11
|
-
|
|
10
|
+
parseEventEntries,
|
|
12
11
|
parseFiles,
|
|
13
12
|
parseLogSeed,
|
|
14
|
-
parseRecurrenceRule,
|
|
15
13
|
parseRegressionInput,
|
|
14
|
+
parseReminderEntries,
|
|
16
15
|
parseTests,
|
|
17
|
-
|
|
16
|
+
parseTypeOptionEntries,
|
|
18
17
|
resolvePriority
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
buildInvalidTypeError
|
|
22
|
-
} from "./chunk-7Y53ZJIQ.js";
|
|
18
|
+
} from "./chunk-IJGCZSIQ.js";
|
|
23
19
|
import {
|
|
24
20
|
applyTagRemovals,
|
|
25
21
|
createStdinTokenResolver,
|
|
@@ -27,29 +23,35 @@ import {
|
|
|
27
23
|
parseCsvKv,
|
|
28
24
|
parseOptionalNumber,
|
|
29
25
|
parseTags
|
|
30
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-XLTD2HN3.js";
|
|
31
27
|
import {
|
|
32
28
|
runClose
|
|
33
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-GU2ZJ2VV.js";
|
|
34
30
|
import {
|
|
35
31
|
normalizeParentReferenceValue,
|
|
36
32
|
validateMissingParentReference,
|
|
37
33
|
validateSprintOrReleaseValue
|
|
38
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-KAG77BY3.js";
|
|
35
|
+
import {
|
|
36
|
+
buildInvalidTypeError
|
|
37
|
+
} from "./chunk-OVQCEJPG.js";
|
|
39
38
|
import {
|
|
39
|
+
applyRegisteredItemFieldDefaultsAndValidation,
|
|
40
40
|
buildItemNotFoundError,
|
|
41
|
+
collectRegisteredItemFieldNames,
|
|
41
42
|
locateItem,
|
|
42
43
|
mutateItem,
|
|
44
|
+
parseRegisteredItemFieldAssignments,
|
|
43
45
|
readLocatedItem,
|
|
44
46
|
toItemRecord
|
|
45
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-XTGLRY2Y.js";
|
|
46
48
|
import {
|
|
47
49
|
normalizeItemId
|
|
48
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-T3LC5LKB.js";
|
|
49
51
|
import {
|
|
50
52
|
collectRuntimeUpdateFieldValues,
|
|
51
53
|
normalizeStatusInput
|
|
52
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-AO442XLN.js";
|
|
53
55
|
import {
|
|
54
56
|
canonicalizeCommandOptionKey,
|
|
55
57
|
commandOptionFlagLabel,
|
|
@@ -58,10 +60,10 @@ import {
|
|
|
58
60
|
resolveTypeDefinition,
|
|
59
61
|
resolveTypeName,
|
|
60
62
|
validateTypeOptions
|
|
61
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-KJE2FOS4.js";
|
|
62
64
|
import {
|
|
63
65
|
resolveIsoOrRelative
|
|
64
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-QO7EBBOM.js";
|
|
65
67
|
import {
|
|
66
68
|
DEPENDENCY_KIND_VALUES,
|
|
67
69
|
EXIT_CODE,
|
|
@@ -74,14 +76,95 @@ import {
|
|
|
74
76
|
readSettings,
|
|
75
77
|
resolvePmRoot,
|
|
76
78
|
resolveRuntimeFieldRegistry,
|
|
77
|
-
resolveRuntimeStatusRegistry
|
|
78
|
-
|
|
79
|
+
resolveRuntimeStatusRegistry,
|
|
80
|
+
stableValueEquals
|
|
81
|
+
} from "./chunk-U5SXYXSY.js";
|
|
82
|
+
|
|
83
|
+
// dist/core/schema/type-workflows.js
|
|
84
|
+
!(function() {
|
|
85
|
+
try {
|
|
86
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
87
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "70ab7197-566b-52de-8a82-e432b324ad8d");
|
|
88
|
+
} catch (e2) {
|
|
89
|
+
}
|
|
90
|
+
})();
|
|
91
|
+
function normalizeStatusToken(value) {
|
|
92
|
+
return typeof value === "string" ? value.trim().toLowerCase().replaceAll(/[\s-]+/g, "_") : "";
|
|
93
|
+
}
|
|
94
|
+
function normalizeTypeName(value) {
|
|
95
|
+
return typeof value === "string" ? value.trim().toLowerCase() : "";
|
|
96
|
+
}
|
|
97
|
+
function resolveStatusId(value, statusRegistry) {
|
|
98
|
+
const token = normalizeStatusToken(value);
|
|
99
|
+
if (token.length === 0) {
|
|
100
|
+
return "";
|
|
101
|
+
}
|
|
102
|
+
return statusRegistry?.alias_to_id?.get(token) ?? token;
|
|
103
|
+
}
|
|
104
|
+
function resolveTypeWorkflows(schema) {
|
|
105
|
+
const rawWorkflows = Array.isArray(schema?.type_workflows) ? schema.type_workflows : [];
|
|
106
|
+
const byType = /* @__PURE__ */ new Map();
|
|
107
|
+
for (const entry of rawWorkflows) {
|
|
108
|
+
const type = normalizeTypeName(entry?.type);
|
|
109
|
+
if (type.length === 0) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (!Array.isArray(entry?.allowed_transitions)) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const pairs = entry.allowed_transitions;
|
|
116
|
+
const record = byType.get(type) ?? { pairs: [], denyAll: false };
|
|
117
|
+
if (pairs.length === 0) {
|
|
118
|
+
record.denyAll = true;
|
|
119
|
+
}
|
|
120
|
+
for (const pair of pairs) {
|
|
121
|
+
if (!Array.isArray(pair) || pair.length !== 2) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
const from = normalizeStatusToken(pair[0]);
|
|
125
|
+
const to = normalizeStatusToken(pair[1]);
|
|
126
|
+
if (from.length === 0 || to.length === 0) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (record.pairs.some((candidate) => candidate[0] === from && candidate[1] === to)) {
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
record.pairs.push([from, to]);
|
|
133
|
+
}
|
|
134
|
+
byType.set(type, record);
|
|
135
|
+
}
|
|
136
|
+
return [...byType.entries()].filter(([, record]) => record.pairs.length > 0 || record.denyAll).map(([type, record]) => ({ type, allowed_transitions: record.pairs })).sort((left, right) => left.type.localeCompare(right.type));
|
|
137
|
+
}
|
|
138
|
+
function evaluateTransition(input) {
|
|
139
|
+
const typeName = normalizeTypeName(input.typeName);
|
|
140
|
+
const matched = input.typeWorkflows.find((workflow) => workflow.type === typeName);
|
|
141
|
+
if (!matched) {
|
|
142
|
+
return { allowed: true, hasRule: false, allowedTransitions: [] };
|
|
143
|
+
}
|
|
144
|
+
const from = resolveStatusId(input.fromStatus, input.statusRegistry);
|
|
145
|
+
const to = resolveStatusId(input.toStatus, input.statusRegistry);
|
|
146
|
+
if (from.length > 0 && from === to) {
|
|
147
|
+
return { allowed: true, hasRule: true, allowedTransitions: matched.allowed_transitions };
|
|
148
|
+
}
|
|
149
|
+
const allowed = matched.allowed_transitions.some((pair) => {
|
|
150
|
+
const ruleFrom = resolveStatusId(pair[0], input.statusRegistry);
|
|
151
|
+
const ruleTo = resolveStatusId(pair[1], input.statusRegistry);
|
|
152
|
+
return ruleFrom === from && ruleTo === to;
|
|
153
|
+
});
|
|
154
|
+
return { allowed, hasRule: true, allowedTransitions: matched.allowed_transitions };
|
|
155
|
+
}
|
|
156
|
+
function describeAllowedTransitions(allowedTransitions) {
|
|
157
|
+
if (allowedTransitions.length === 0) {
|
|
158
|
+
return "(no transitions allowed)";
|
|
159
|
+
}
|
|
160
|
+
return allowedTransitions.map((pair) => `${pair[0]} -> ${pair[1]}`).join(", ");
|
|
161
|
+
}
|
|
79
162
|
|
|
80
163
|
// dist/cli/commands/update.js
|
|
81
164
|
!(function() {
|
|
82
165
|
try {
|
|
83
166
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
84
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
167
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "74fefeac-195a-595c-aa23-d38e5b855b84");
|
|
85
168
|
} catch (e2) {
|
|
86
169
|
}
|
|
87
170
|
})();
|
|
@@ -309,7 +392,7 @@ function resolveRuntimeUnsetDefinition(token, runtimeFieldRegistry) {
|
|
|
309
392
|
}
|
|
310
393
|
return void 0;
|
|
311
394
|
}
|
|
312
|
-
function parseUpdateUnsetTargets(raw, runtimeFieldRegistry) {
|
|
395
|
+
function parseUpdateUnsetTargets(raw, runtimeFieldRegistry, extensionFieldNames = []) {
|
|
313
396
|
const frontMatterKeys = /* @__PURE__ */ new Set();
|
|
314
397
|
const optionKeys = /* @__PURE__ */ new Set();
|
|
315
398
|
if (!raw || raw.length === 0) {
|
|
@@ -323,7 +406,11 @@ function parseUpdateUnsetTargets(raw, runtimeFieldRegistry) {
|
|
|
323
406
|
if (isLegacyNoneToken(trimmed)) {
|
|
324
407
|
throw new PmCliError('--unset no longer accepts "none" or "null". Specify concrete field names such as --unset deadline', EXIT_CODE.USAGE);
|
|
325
408
|
}
|
|
326
|
-
const
|
|
409
|
+
const extensionFieldName = extensionFieldNames.find((fieldName) => {
|
|
410
|
+
const normalizedFieldName = fieldName.toLowerCase();
|
|
411
|
+
return normalizedFieldName === trimmed || normalizedFieldName.replaceAll("_", "-") === trimmed || normalizedFieldName.replaceAll("-", "_") === trimmed;
|
|
412
|
+
});
|
|
413
|
+
const definition = UPDATE_UNSET_ALIAS_MAP.get(trimmed) ?? resolveRuntimeUnsetDefinition(trimmed, runtimeFieldRegistry) ?? (extensionFieldName ? { optionKey: "field", frontMatterKey: extensionFieldName } : void 0);
|
|
327
414
|
if (!definition) {
|
|
328
415
|
throw new PmCliError(`Unsupported --unset field "${entry}". Supported fields: ${UPDATE_UNSET_SUPPORTED_CANONICAL_FIELDS}`, EXIT_CODE.USAGE);
|
|
329
416
|
}
|
|
@@ -522,98 +609,27 @@ function parseStatus(value, statusRegistry) {
|
|
|
522
609
|
}
|
|
523
610
|
return normalized;
|
|
524
611
|
}
|
|
525
|
-
function
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
text: textRaw
|
|
536
|
-
};
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
function parseEventEntries(raw, nowValue) {
|
|
540
|
-
return raw.map((entry) => {
|
|
541
|
-
const kv = parseCsvKv(entry, "--event");
|
|
542
|
-
const startRaw = (kv.start ?? kv.date)?.trim();
|
|
543
|
-
if (!startRaw) {
|
|
544
|
-
throw new PmCliError("--event requires start=<iso|relative> or date=<iso|relative>", EXIT_CODE.USAGE);
|
|
545
|
-
}
|
|
546
|
-
const startAt = resolveIsoOrRelative(startRaw, nowValue, "event.start");
|
|
547
|
-
const endRaw = kv.end?.trim();
|
|
548
|
-
const durationRaw = kv.duration?.trim();
|
|
549
|
-
const endAt = resolveEventEndAt(startAt, endRaw, durationRaw, nowValue);
|
|
550
|
-
const titleRaw = kv.title;
|
|
551
|
-
const descriptionRaw = kv.description;
|
|
552
|
-
const locationRaw = kv.location;
|
|
553
|
-
const timezoneRaw = kv.timezone;
|
|
554
|
-
const title = titleRaw?.trim();
|
|
555
|
-
const description = descriptionRaw?.trim();
|
|
556
|
-
const location = locationRaw?.trim();
|
|
557
|
-
const timezone = timezoneRaw?.trim();
|
|
558
|
-
if (titleRaw !== void 0 && !title) {
|
|
559
|
-
throw new PmCliError("--event title must not be empty", EXIT_CODE.USAGE);
|
|
560
|
-
}
|
|
561
|
-
if (descriptionRaw !== void 0 && !description) {
|
|
562
|
-
throw new PmCliError("--event description must not be empty", EXIT_CODE.USAGE);
|
|
563
|
-
}
|
|
564
|
-
if (locationRaw !== void 0 && !location) {
|
|
565
|
-
throw new PmCliError("--event location must not be empty", EXIT_CODE.USAGE);
|
|
566
|
-
}
|
|
567
|
-
if (timezoneRaw !== void 0 && !timezone) {
|
|
568
|
-
throw new PmCliError("--event timezone must not be empty", EXIT_CODE.USAGE);
|
|
569
|
-
}
|
|
570
|
-
const allDayRaw = kv.all_day?.trim();
|
|
571
|
-
const recurrence = parseRecurrenceRule(kv, startAt, nowValue, "truthy");
|
|
572
|
-
return {
|
|
573
|
-
start_at: startAt,
|
|
574
|
-
end_at: endAt,
|
|
575
|
-
title,
|
|
576
|
-
description,
|
|
577
|
-
location,
|
|
578
|
-
all_day: allDayRaw ? parseEventBoolean(allDayRaw, "--event all_day") : void 0,
|
|
579
|
-
timezone,
|
|
580
|
-
recurrence
|
|
581
|
-
};
|
|
612
|
+
function enforceTypeWorkflowTransition(params) {
|
|
613
|
+
if (params.enforcement === "off" || params.typeWorkflows.length === 0) {
|
|
614
|
+
return void 0;
|
|
615
|
+
}
|
|
616
|
+
const result = evaluateTransition({
|
|
617
|
+
typeName: params.typeName,
|
|
618
|
+
fromStatus: params.fromStatus,
|
|
619
|
+
toStatus: params.toStatus,
|
|
620
|
+
typeWorkflows: params.typeWorkflows,
|
|
621
|
+
statusRegistry: params.statusRegistry
|
|
582
622
|
});
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
let key;
|
|
592
|
-
let value;
|
|
593
|
-
const prefersStructuredKv = trimmedEntry.includes(",") || trimmedEntry.includes("\n") || trimmedEntry.startsWith("```") || /^(?:[-*+]\s+)?(?:key|value)\s*[:=]/i.test(trimmedEntry);
|
|
594
|
-
if (prefersStructuredKv) {
|
|
595
|
-
const kv = parseCsvKv(trimmedEntry, "--type-option");
|
|
596
|
-
key = kv.key?.trim();
|
|
597
|
-
value = kv.value?.trim();
|
|
598
|
-
} else {
|
|
599
|
-
const equalsIndex = trimmedEntry.indexOf("=");
|
|
600
|
-
const colonIndex = trimmedEntry.indexOf(":");
|
|
601
|
-
let separatorIndex = equalsIndex;
|
|
602
|
-
if (equalsIndex <= 0 && colonIndex > 0) {
|
|
603
|
-
separatorIndex = colonIndex;
|
|
604
|
-
}
|
|
605
|
-
if (separatorIndex <= 0 || separatorIndex === trimmedEntry.length - 1) {
|
|
606
|
-
throw new PmCliError("--type-option requires key=value or key=<name>,value=<value> entries", EXIT_CODE.USAGE);
|
|
607
|
-
}
|
|
608
|
-
key = trimmedEntry.slice(0, separatorIndex).trim();
|
|
609
|
-
value = trimmedEntry.slice(separatorIndex + 1).trim();
|
|
610
|
-
}
|
|
611
|
-
if (!key || !value) {
|
|
612
|
-
throw new PmCliError("--type-option requires key and value", EXIT_CODE.USAGE);
|
|
613
|
-
}
|
|
614
|
-
values[key] = value;
|
|
623
|
+
if (!result.hasRule || result.allowed) {
|
|
624
|
+
return void 0;
|
|
625
|
+
}
|
|
626
|
+
const normalizedFrom = normalizeStatusInput(params.fromStatus, params.statusRegistry) ?? params.fromStatus;
|
|
627
|
+
const normalizedTo = normalizeStatusInput(params.toStatus, params.statusRegistry) ?? params.toStatus;
|
|
628
|
+
const message = `Disallowed transition for type "${params.typeName}": ${normalizedFrom} -> ${normalizedTo}. Allowed transitions: ${describeAllowedTransitions(result.allowedTransitions)}.`;
|
|
629
|
+
if (params.enforcement === "strict") {
|
|
630
|
+
throw new PmCliError(message, EXIT_CODE.USAGE);
|
|
615
631
|
}
|
|
616
|
-
return
|
|
632
|
+
return `workflow_transition_not_allowed: ${message}`;
|
|
617
633
|
}
|
|
618
634
|
function parseDependencyCreatedAt(value, currentIso) {
|
|
619
635
|
if (!value || value.trim() === "" || value.trim().toLowerCase() === "now") {
|
|
@@ -635,9 +651,10 @@ function looksLikeStructuredDependencyEntry(raw) {
|
|
|
635
651
|
if (raw.startsWith("```") || raw.includes("\n")) {
|
|
636
652
|
return true;
|
|
637
653
|
}
|
|
638
|
-
return /^(?:[-*+]\s+)?(?:id|kind|author|created_at|source_kind)\s*[:=]/i.test(raw);
|
|
654
|
+
return /^(?:[-*+]\s+)?(?:id|kind|type|author|created_at|source_kind)\s*[:=]/i.test(raw);
|
|
639
655
|
}
|
|
640
656
|
var DEPENDENCY_KIND_INPUT_ALIASES = {
|
|
657
|
+
"blocked-by": "blocked_by",
|
|
641
658
|
depends_on: "blocked_by",
|
|
642
659
|
"depends-on": "blocked_by"
|
|
643
660
|
};
|
|
@@ -658,7 +675,7 @@ function parseDependencyAdditions(raw, prefix, nowIso) {
|
|
|
658
675
|
const trimmedEntry = entry.trim();
|
|
659
676
|
const kv = looksLikeStructuredDependencyEntry(trimmedEntry) ? parseCsvKv(entry, "--dep") : { id: trimmedEntry, kind: "related" };
|
|
660
677
|
const id = kv.id?.trim();
|
|
661
|
-
const kind = normalizeDependencyKindInput(kv.kind?.trim());
|
|
678
|
+
const kind = normalizeDependencyKindInput((kv.kind ?? kv.type)?.trim());
|
|
662
679
|
if (!id || !kind) {
|
|
663
680
|
throw new PmCliError("--dep requires id and kind, or a bare item id to add a related dependency", EXIT_CODE.USAGE);
|
|
664
681
|
}
|
|
@@ -686,7 +703,7 @@ function parseDependencyRemovals(raw, prefix) {
|
|
|
686
703
|
if (!trimmed) {
|
|
687
704
|
throw new PmCliError("--dep-remove requires id or key/value selectors", EXIT_CODE.USAGE);
|
|
688
705
|
}
|
|
689
|
-
if (trimmed.includes("=") || /^(?:[-*+]\s+)?(?:id|kind|source_kind)\s*[:=]/i.test(trimmed) || trimmed.startsWith("```")) {
|
|
706
|
+
if (trimmed.includes("=") || /^(?:[-*+]\s+)?(?:id|kind|type|source_kind)\s*[:=]/i.test(trimmed) || trimmed.startsWith("```")) {
|
|
690
707
|
const kv = parseCsvKv(trimmed, "--dep-remove");
|
|
691
708
|
const idRaw = kv.id?.trim();
|
|
692
709
|
if (!idRaw) {
|
|
@@ -695,7 +712,7 @@ function parseDependencyRemovals(raw, prefix) {
|
|
|
695
712
|
if (idRaw.toLowerCase() === "undefined") {
|
|
696
713
|
throw new PmCliError(`--dep-remove id must not use placeholder token "${idRaw}"`, EXIT_CODE.USAGE);
|
|
697
714
|
}
|
|
698
|
-
const kindRaw = normalizeDependencyKindInput(parseOptionalDependencyString(kv.kind));
|
|
715
|
+
const kindRaw = normalizeDependencyKindInput(parseOptionalDependencyString(kv.kind ?? kv.type));
|
|
699
716
|
const sourceKind = parseOptionalDependencyString(kv.source_kind);
|
|
700
717
|
return {
|
|
701
718
|
id: normalizeItemId(idRaw, prefix),
|
|
@@ -787,7 +804,7 @@ function normalizeUpdatePolicyOptionKey(raw, typeName) {
|
|
|
787
804
|
}
|
|
788
805
|
return canonical;
|
|
789
806
|
}
|
|
790
|
-
function collectProvidedUpdatePolicyOptions(options) {
|
|
807
|
+
function collectProvidedUpdatePolicyOptions(options, extensionFieldNames) {
|
|
791
808
|
const provided = /* @__PURE__ */ new Set();
|
|
792
809
|
const mark = (optionKey, isProvided) => {
|
|
793
810
|
if (isProvided) {
|
|
@@ -850,6 +867,7 @@ function collectProvidedUpdatePolicyOptions(options) {
|
|
|
850
867
|
mark("reminder", options.reminder !== void 0);
|
|
851
868
|
mark("event", options.event !== void 0);
|
|
852
869
|
mark("typeOption", options.typeOption !== void 0);
|
|
870
|
+
mark("field", options.field !== void 0);
|
|
853
871
|
mark("force", options.force === true);
|
|
854
872
|
mark("allowAuditUpdate", options.allowAuditUpdate === true);
|
|
855
873
|
mark("dep", options.clearDeps === true);
|
|
@@ -863,14 +881,14 @@ function collectProvidedUpdatePolicyOptions(options) {
|
|
|
863
881
|
mark("event", options.clearEvents === true);
|
|
864
882
|
mark("typeOption", options.clearTypeOptions === true);
|
|
865
883
|
if (options.unset && options.unset.length > 0) {
|
|
866
|
-
const unsetTargets = parseUpdateUnsetTargets(options.unset);
|
|
884
|
+
const unsetTargets = parseUpdateUnsetTargets(options.unset, void 0, extensionFieldNames);
|
|
867
885
|
for (const optionKey of unsetTargets.optionKeys) {
|
|
868
886
|
mark(optionKey, true);
|
|
869
887
|
}
|
|
870
888
|
}
|
|
871
889
|
return provided;
|
|
872
890
|
}
|
|
873
|
-
function enforceUpdateOptionsByType(typeName, options, typeRegistry) {
|
|
891
|
+
function enforceUpdateOptionsByType(typeName, options, typeRegistry, extensionFieldNames) {
|
|
874
892
|
const typeDefinition = resolveTypeDefinition(typeName, typeRegistry);
|
|
875
893
|
if (!typeDefinition) {
|
|
876
894
|
throw new PmCliError(`Invalid type value "${typeName}"`, EXIT_CODE.USAGE);
|
|
@@ -879,7 +897,7 @@ function enforceUpdateOptionsByType(typeName, options, typeRegistry) {
|
|
|
879
897
|
if (policyState.errors.length > 0) {
|
|
880
898
|
throw new PmCliError(policyState.errors.join("; "), EXIT_CODE.CONFLICT);
|
|
881
899
|
}
|
|
882
|
-
const provided = collectProvidedUpdatePolicyOptions(options);
|
|
900
|
+
const provided = collectProvidedUpdatePolicyOptions(options, extensionFieldNames);
|
|
883
901
|
for (const disabled of policyState.disabled) {
|
|
884
902
|
if (provided.has(normalizeUpdatePolicyOptionKey(disabled, typeName))) {
|
|
885
903
|
throw new PmCliError(`Option ${commandOptionFlagLabel("update", disabled)} is disabled for type "${typeName}" by command_option_policies`, EXIT_CODE.USAGE);
|
|
@@ -906,7 +924,8 @@ async function runUpdate(id, options, global2) {
|
|
|
906
924
|
doc: await stdinResolver.resolveList(options.doc, "--doc"),
|
|
907
925
|
reminder: await stdinResolver.resolveList(options.reminder, "--reminder"),
|
|
908
926
|
event: await stdinResolver.resolveList(options.event, "--event"),
|
|
909
|
-
typeOption: await stdinResolver.resolveList(options.typeOption, "--type-option")
|
|
927
|
+
typeOption: await stdinResolver.resolveList(options.typeOption, "--type-option"),
|
|
928
|
+
field: await stdinResolver.resolveList(options.field, "--field")
|
|
910
929
|
});
|
|
911
930
|
const pmRoot = resolvePmRoot(process.cwd(), global2.path);
|
|
912
931
|
if (!await pathExists(getSettingsPath(pmRoot))) {
|
|
@@ -915,10 +934,14 @@ async function runUpdate(id, options, global2) {
|
|
|
915
934
|
const settings = await readSettings(pmRoot);
|
|
916
935
|
const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
|
|
917
936
|
const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);
|
|
918
|
-
const
|
|
937
|
+
const extensionRegistrations = getActiveExtensionRegistrations();
|
|
938
|
+
const extensionFieldNames = collectRegisteredItemFieldNames(extensionRegistrations);
|
|
939
|
+
const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);
|
|
940
|
+
const workflowEnforcement = settings.governance.workflow_enforcement ?? "off";
|
|
941
|
+
const typeWorkflows = workflowEnforcement === "off" ? [] : resolveTypeWorkflows(settings.schema);
|
|
919
942
|
const parentReferencePolicy = settings.validation.parent_reference;
|
|
920
943
|
const sprintReleasePolicy = settings.validation.sprint_release_format;
|
|
921
|
-
const unsetTargets = parseUpdateUnsetTargets(options.unset, runtimeFieldRegistry);
|
|
944
|
+
const unsetTargets = parseUpdateUnsetTargets(options.unset, runtimeFieldRegistry, extensionFieldNames);
|
|
922
945
|
const clearOptionKeys = new Set(unsetTargets.optionKeys);
|
|
923
946
|
const clearFrontMatterKeys = new Set(unsetTargets.frontMatterKeys);
|
|
924
947
|
const clearCollectionDefinitions = [
|
|
@@ -1132,6 +1155,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1132
1155
|
const testUpdates = parseTests(options.test);
|
|
1133
1156
|
const docUpdates = parseDocs(options.doc);
|
|
1134
1157
|
const parentReferenceWarnings = [];
|
|
1158
|
+
const workflowTransitionWarnings = [];
|
|
1135
1159
|
let resolvedParentValue;
|
|
1136
1160
|
if (options.parent !== void 0 && !unsetTargets.frontMatterKeys.has("parent")) {
|
|
1137
1161
|
resolvedParentValue = normalizeParentReferenceValue(options.parent);
|
|
@@ -1146,6 +1170,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1146
1170
|
if (blockedByResolution.unresolved !== void 0) {
|
|
1147
1171
|
parentReferenceWarnings.push(`blocked_by_unresolved:${blockedByResolution.unresolved}`);
|
|
1148
1172
|
}
|
|
1173
|
+
const runtimeFieldUpdates = collectRuntimeUpdateFieldValues(options, runtimeFieldRegistry, options.runtimeFieldCommands);
|
|
1149
1174
|
const fieldFlags = {
|
|
1150
1175
|
title: options.title !== void 0,
|
|
1151
1176
|
description: options.description !== void 0,
|
|
@@ -1204,6 +1229,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1204
1229
|
reminder: options.reminder !== void 0,
|
|
1205
1230
|
event: options.event !== void 0,
|
|
1206
1231
|
typeOption: options.typeOption !== void 0,
|
|
1232
|
+
field: options.field !== void 0,
|
|
1207
1233
|
unset: options.unset !== void 0 && options.unset.length > 0,
|
|
1208
1234
|
clearDeps: options.clearDeps === true,
|
|
1209
1235
|
clearComments: options.clearComments === true,
|
|
@@ -1214,7 +1240,8 @@ async function runUpdate(id, options, global2) {
|
|
|
1214
1240
|
clearDocs: options.clearDocs === true,
|
|
1215
1241
|
clearReminders: options.clearReminders === true,
|
|
1216
1242
|
clearEvents: options.clearEvents === true,
|
|
1217
|
-
clearTypeOptions: options.clearTypeOptions === true
|
|
1243
|
+
clearTypeOptions: options.clearTypeOptions === true,
|
|
1244
|
+
runtimeFields: Object.keys(runtimeFieldUpdates).length > 0
|
|
1218
1245
|
};
|
|
1219
1246
|
const changedFlags = Object.values(fieldFlags).some(Boolean);
|
|
1220
1247
|
if (!changedFlags) {
|
|
@@ -1229,6 +1256,25 @@ async function runUpdate(id, options, global2) {
|
|
|
1229
1256
|
warnings: ["noop_no_update_fields"]
|
|
1230
1257
|
};
|
|
1231
1258
|
}
|
|
1259
|
+
if (workflowEnforcement !== "off" && typeWorkflows.length > 0 && fieldFlags.status && options.status !== void 0) {
|
|
1260
|
+
const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);
|
|
1261
|
+
if (!located) {
|
|
1262
|
+
throw await buildItemNotFoundError(pmRoot, id, settings.id_prefix, typeRegistry.type_to_folder);
|
|
1263
|
+
}
|
|
1264
|
+
const { document } = await readLocatedItem(located, { schema: settings.schema });
|
|
1265
|
+
const effectiveType = options.type !== void 0 ? resolveTypeName(options.type, typeRegistry) ?? options.type : document.metadata?.type ?? "";
|
|
1266
|
+
const warning = enforceTypeWorkflowTransition({
|
|
1267
|
+
enforcement: workflowEnforcement,
|
|
1268
|
+
typeWorkflows,
|
|
1269
|
+
statusRegistry,
|
|
1270
|
+
typeName: effectiveType,
|
|
1271
|
+
fromStatus: document.metadata?.status ?? "",
|
|
1272
|
+
toStatus: options.status ?? ""
|
|
1273
|
+
});
|
|
1274
|
+
if (warning) {
|
|
1275
|
+
workflowTransitionWarnings.push(warning);
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1232
1278
|
if (fieldFlags.status) {
|
|
1233
1279
|
const targetStatus = normalizeStatusInput(options.status, statusRegistry);
|
|
1234
1280
|
if (targetStatus === statusRegistry.close_status) {
|
|
@@ -1249,7 +1295,12 @@ async function runUpdate(id, options, global2) {
|
|
|
1249
1295
|
message: options.message,
|
|
1250
1296
|
force: options.force
|
|
1251
1297
|
}, global2);
|
|
1252
|
-
const warnings = [
|
|
1298
|
+
const warnings = [
|
|
1299
|
+
...workflowTransitionWarnings,
|
|
1300
|
+
...routeWarnings,
|
|
1301
|
+
...closeResult.warnings,
|
|
1302
|
+
"auto_routed_from_update_to_close"
|
|
1303
|
+
];
|
|
1253
1304
|
if (reasonDefaulted) {
|
|
1254
1305
|
warnings.push("close_reason_defaulted");
|
|
1255
1306
|
}
|
|
@@ -1273,6 +1324,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1273
1324
|
message: options.message,
|
|
1274
1325
|
force: options.force,
|
|
1275
1326
|
bypassAssigneeConflict: options.allowAuditUpdate === true || options.allowAuditDepUpdate === true,
|
|
1327
|
+
extensionFieldNames,
|
|
1276
1328
|
mutate(document) {
|
|
1277
1329
|
const changedFields = [];
|
|
1278
1330
|
const warnings = [];
|
|
@@ -1342,7 +1394,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1342
1394
|
activeTypeName = resolvedTypeName;
|
|
1343
1395
|
changedFields.push("type");
|
|
1344
1396
|
}
|
|
1345
|
-
enforceUpdateOptionsByType(activeTypeName, options, typeRegistry);
|
|
1397
|
+
enforceUpdateOptionsByType(activeTypeName, options, typeRegistry, extensionFieldNames);
|
|
1346
1398
|
if (options.typeOption !== void 0 || clearFrontMatterKeys.has("type_options")) {
|
|
1347
1399
|
if (clearFrontMatterKeys.has("type_options")) {
|
|
1348
1400
|
delete document.metadata.type_options;
|
|
@@ -1581,7 +1633,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1581
1633
|
if (clearFrontMatterKeys.has("reminders")) {
|
|
1582
1634
|
delete document.metadata.reminders;
|
|
1583
1635
|
} else {
|
|
1584
|
-
document.metadata.reminders = parseReminderEntries(options.reminder, nowValue);
|
|
1636
|
+
document.metadata.reminders = parseReminderEntries(options.reminder, nowValue, { valueMode: "trimmed" });
|
|
1585
1637
|
}
|
|
1586
1638
|
changedFields.push("reminders");
|
|
1587
1639
|
}
|
|
@@ -1589,7 +1641,10 @@ async function runUpdate(id, options, global2) {
|
|
|
1589
1641
|
if (clearFrontMatterKeys.has("events")) {
|
|
1590
1642
|
delete document.metadata.events;
|
|
1591
1643
|
} else {
|
|
1592
|
-
document.metadata.events = parseEventEntries(options.event, nowValue
|
|
1644
|
+
document.metadata.events = parseEventEntries(options.event, nowValue, {
|
|
1645
|
+
allDayEmptyGuard: "truthy",
|
|
1646
|
+
recurrenceEmptyNumericGuard: "truthy"
|
|
1647
|
+
});
|
|
1593
1648
|
}
|
|
1594
1649
|
changedFields.push("events");
|
|
1595
1650
|
}
|
|
@@ -1603,19 +1658,42 @@ async function runUpdate(id, options, global2) {
|
|
|
1603
1658
|
delete metadataRecord[definition.metadata_key];
|
|
1604
1659
|
changedFields.push(definition.metadata_key);
|
|
1605
1660
|
}
|
|
1606
|
-
const
|
|
1661
|
+
for (const fieldKey of extensionFieldNames) {
|
|
1662
|
+
if (!clearFrontMatterKeys.has(fieldKey)) {
|
|
1663
|
+
continue;
|
|
1664
|
+
}
|
|
1665
|
+
if (metadataRecord[fieldKey] === void 0) {
|
|
1666
|
+
continue;
|
|
1667
|
+
}
|
|
1668
|
+
delete metadataRecord[fieldKey];
|
|
1669
|
+
changedFields.push(fieldKey);
|
|
1670
|
+
}
|
|
1607
1671
|
for (const [fieldKey, fieldValue] of Object.entries(runtimeFieldUpdates)) {
|
|
1608
1672
|
if (clearFrontMatterKeys.has(fieldKey)) {
|
|
1609
1673
|
continue;
|
|
1610
1674
|
}
|
|
1611
|
-
if (
|
|
1675
|
+
if (stableValueEquals(metadataRecord[fieldKey], fieldValue)) {
|
|
1676
|
+
continue;
|
|
1677
|
+
}
|
|
1678
|
+
metadataRecord[fieldKey] = fieldValue;
|
|
1679
|
+
changedFields.push(fieldKey);
|
|
1680
|
+
}
|
|
1681
|
+
const registeredItemFieldUpdates = parseRegisteredItemFieldAssignments(options.field, extensionRegistrations);
|
|
1682
|
+
for (const fieldKey of Object.keys(registeredItemFieldUpdates)) {
|
|
1683
|
+
if (!clearFrontMatterKeys.has(fieldKey)) {
|
|
1684
|
+
continue;
|
|
1685
|
+
}
|
|
1686
|
+
throw new PmCliError(`Cannot combine --unset ${fieldKey.replaceAll("_", "-")} with --field ${fieldKey}=...`, EXIT_CODE.USAGE);
|
|
1687
|
+
}
|
|
1688
|
+
for (const [fieldKey, fieldValue] of Object.entries(registeredItemFieldUpdates)) {
|
|
1689
|
+
if (stableValueEquals(metadataRecord[fieldKey], fieldValue)) {
|
|
1612
1690
|
continue;
|
|
1613
1691
|
}
|
|
1614
1692
|
metadataRecord[fieldKey] = fieldValue;
|
|
1615
1693
|
changedFields.push(fieldKey);
|
|
1616
1694
|
}
|
|
1617
1695
|
try {
|
|
1618
|
-
applyRegisteredItemFieldDefaultsAndValidation(metadataRecord,
|
|
1696
|
+
applyRegisteredItemFieldDefaultsAndValidation(metadataRecord, extensionRegistrations, { skipDefaultFields: clearFrontMatterKeys });
|
|
1619
1697
|
} catch (error) {
|
|
1620
1698
|
throw new PmCliError(error instanceof Error ? error.message : "Invalid extension item field values", EXIT_CODE.USAGE);
|
|
1621
1699
|
}
|
|
@@ -1625,7 +1703,7 @@ async function runUpdate(id, options, global2) {
|
|
|
1625
1703
|
return {
|
|
1626
1704
|
item: toItemRecord(result.item),
|
|
1627
1705
|
changed_fields: result.changedFields,
|
|
1628
|
-
warnings: [...parentReferenceWarnings, ...result.warnings],
|
|
1706
|
+
warnings: [...workflowTransitionWarnings, ...parentReferenceWarnings, ...result.warnings],
|
|
1629
1707
|
...options.allowAuditUpdate === true || options.allowAuditDepUpdate === true ? { audit_update: true } : {}
|
|
1630
1708
|
};
|
|
1631
1709
|
}
|
|
@@ -1633,4 +1711,4 @@ async function runUpdate(id, options, global2) {
|
|
|
1633
1711
|
export {
|
|
1634
1712
|
runUpdate
|
|
1635
1713
|
};
|
|
1636
|
-
//# sourceMappingURL=chunk-
|
|
1714
|
+
//# sourceMappingURL=chunk-23YFZ3IG.js.map
|