@unbrained/pm-cli 2026.5.31 → 2026.6.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 +127 -0
- 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 +241 -27
- 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 +191 -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/get.js +7 -7
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +38 -3
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/index.d.ts +2 -1
- package/dist/cli/commands/index.js +4 -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/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 +82 -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 +9 -3
- 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 +4 -2
- 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-3RWRRNOW.js +20 -0
- package/dist/cli-bundle/chunks/activity-3RWRRNOW.js.map +1 -0
- package/dist/cli-bundle/chunks/activity-P5BUMWP3.js +16 -0
- package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js +206 -0
- package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js.map +1 -0
- package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js → aggregate-OOAGKWRG.js} +11 -11
- package/dist/cli-bundle/chunks/{append-JD2DETU7.js → append-5JE3YGXU.js} +8 -9
- package/dist/cli-bundle/chunks/{append-JD2DETU7.js.map → append-5JE3YGXU.js.map} +1 -1
- package/dist/cli-bundle/chunks/append-PNN6UIBZ.js +69 -0
- package/dist/cli-bundle/chunks/append-PNN6UIBZ.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-26KTVXJW.js +218 -0
- package/dist/cli-bundle/chunks/chunk-26KTVXJW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JULRTHJQ.js → chunk-3OH4DAEB.js} +119 -6
- package/dist/cli-bundle/chunks/chunk-3OH4DAEB.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js +5553 -0
- package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WDPXDQFG.js → chunk-4PJQSECJ.js} +6 -4
- package/dist/cli-bundle/chunks/chunk-4PJQSECJ.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js +1832 -0
- package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-6HT2F4TK.js → chunk-5IRA6IYD.js} +175 -54
- package/dist/cli-bundle/chunks/chunk-5IRA6IYD.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js +412 -0
- package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js +182 -0
- package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-7K24QB23.js +698 -0
- package/dist/cli-bundle/chunks/chunk-7K24QB23.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-A6PEXMYN.js +380 -0
- package/dist/cli-bundle/chunks/chunk-A6PEXMYN.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-ASQM3IF5.js +230 -0
- package/dist/cli-bundle/chunks/chunk-ASQM3IF5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js → chunk-ATBVS6WW.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-AXXKLVTW.js +332 -0
- package/dist/cli-bundle/chunks/chunk-AXXKLVTW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PXUAZUUY.js → chunk-B3N4TKNL.js} +12 -11
- package/dist/cli-bundle/chunks/chunk-B3N4TKNL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js → chunk-BNL6S7QH.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-CCUFLH4J.js +154 -0
- package/dist/cli-bundle/chunks/chunk-CCUFLH4J.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js → chunk-CJDQB2ED.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-CWT53EYT.js +1340 -0
- package/dist/cli-bundle/chunks/chunk-CWT53EYT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js → chunk-D3WUNETC.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-3M73P3G6.js → chunk-D5X7N6FI.js} +210 -132
- package/dist/cli-bundle/chunks/chunk-D5X7N6FI.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js → chunk-DFIZGAI5.js} +10 -12
- package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js.map → chunk-DFIZGAI5.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-DFUSXJDE.js +1704 -0
- package/dist/cli-bundle/chunks/chunk-DFUSXJDE.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js +2988 -0
- package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-FVXM3GKS.js +128 -0
- package/dist/cli-bundle/chunks/chunk-FVXM3GKS.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-G5BACLYH.js +454 -0
- package/dist/cli-bundle/chunks/chunk-G5BACLYH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-U7FMKRXH.js → chunk-GCAVRLGE.js} +37 -16
- package/dist/cli-bundle/chunks/chunk-GCAVRLGE.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-GFWHHMVV.js +57 -0
- package/dist/cli-bundle/chunks/chunk-GFWHHMVV.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js +3860 -0
- package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-GPGAYASV.js +346 -0
- package/dist/cli-bundle/chunks/chunk-GPGAYASV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MD7K4JYF.js → chunk-HPH6X4ZZ.js} +26 -15
- package/dist/cli-bundle/chunks/chunk-HPH6X4ZZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-5HSEP75M.js → chunk-HZOS2UG5.js} +18 -6
- package/dist/cli-bundle/chunks/chunk-HZOS2UG5.js.map +7 -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-L2FXEKDB.js → chunk-JB4RGL4V.js} +7 -7
- package/dist/cli-bundle/chunks/chunk-JQI2HE55.js +130 -0
- package/dist/cli-bundle/chunks/chunk-JQI2HE55.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js → chunk-K47WAYQV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js → chunk-KA24HME7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js +1325 -0
- package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-KCMIYKTA.js +242 -0
- package/dist/cli-bundle/chunks/chunk-KCMIYKTA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7Y53ZJIQ.js → chunk-KK6YPGH3.js} +22 -3
- package/dist/cli-bundle/chunks/chunk-KK6YPGH3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js → chunk-LDJK7SHN.js} +7 -7
- 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-MISYRLEP.js +80 -0
- package/dist/cli-bundle/chunks/chunk-MISYRLEP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FQE6XZDB.js → chunk-N5YF3VFN.js} +54 -32
- package/dist/cli-bundle/chunks/chunk-N5YF3VFN.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js +173 -0
- package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-O5IBJE6S.js +338 -0
- package/dist/cli-bundle/chunks/chunk-O5IBJE6S.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OGZEG5TT.js → chunk-OIQIXTNB.js} +164 -53
- package/dist/cli-bundle/chunks/chunk-OIQIXTNB.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-ORTLYVA4.js +751 -0
- package/dist/cli-bundle/chunks/chunk-ORTLYVA4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JTWRXG4B.js → chunk-OUF3ARDX.js} +251 -251
- package/dist/cli-bundle/chunks/chunk-OUF3ARDX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js → chunk-RANZIID5.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-RQAWLSUU.js +140 -0
- package/dist/cli-bundle/chunks/chunk-RQAWLSUU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js → chunk-S3CV7JGJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-LSXGH6NE.js → chunk-SRVKTWPR.js} +748 -196
- package/dist/cli-bundle/chunks/chunk-SRVKTWPR.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js +76 -0
- package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-SZQCER6S.js +631 -0
- package/dist/cli-bundle/chunks/chunk-SZQCER6S.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-T2ORWB6D.js +540 -0
- package/dist/cli-bundle/chunks/chunk-T2ORWB6D.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js +422 -0
- package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-P53TN6IA.js → chunk-TK633IVD.js} +35 -8
- package/dist/cli-bundle/chunks/chunk-TK633IVD.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-TQ3ZK6VD.js +131 -0
- package/dist/cli-bundle/chunks/chunk-TQ3ZK6VD.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-UFCG3SWR.js +119 -0
- package/dist/cli-bundle/chunks/chunk-UFCG3SWR.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-UOVLWB47.js +1664 -0
- package/dist/cli-bundle/chunks/chunk-UOVLWB47.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js +186 -0
- package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-VGO2T3TY.js +182 -0
- package/dist/cli-bundle/chunks/chunk-VGO2T3TY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LRBOHPUE.js → chunk-WIKR7KFL.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-BUPWJ3IJ.js → chunk-XG7RJYHV.js} +484 -49
- package/dist/cli-bundle/chunks/chunk-XG7RJYHV.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-AKOOMO3T.js → chunk-XX5LRINW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js → chunk-Y2AKE2HS.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GN7IJPCD.js → chunk-ZQ4F6EC4.js} +301 -24
- package/dist/cli-bundle/chunks/chunk-ZQ4F6EC4.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-ZRVSMOMR.js +1809 -0
- package/dist/cli-bundle/chunks/chunk-ZRVSMOMR.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js → claim-AZLP7YFO.js} +10 -11
- package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js.map → claim-AZLP7YFO.js.map} +1 -1
- package/dist/cli-bundle/chunks/claim-ZFA7HKU4.js +129 -0
- package/dist/cli-bundle/chunks/claim-ZFA7HKU4.js.map +1 -0
- package/dist/cli-bundle/chunks/close-65DFYAVS.js +17 -0
- package/dist/cli-bundle/chunks/close-65DFYAVS.js.map +1 -0
- package/dist/cli-bundle/chunks/close-RMHQ3KWH.js +13 -0
- package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js +311 -0
- package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js.map +1 -0
- package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js +314 -0
- package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js.map +7 -0
- package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js → comments-AGBNSJJH.js} +10 -11
- package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js.map → comments-AGBNSJJH.js.map} +1 -1
- package/dist/cli-bundle/chunks/comments-CJWXQI7X.js +100 -0
- package/dist/cli-bundle/chunks/comments-CJWXQI7X.js.map +1 -0
- package/dist/cli-bundle/chunks/{config-V3FZOKLI.js → config-5ON3ADRH.js} +121 -10
- package/dist/cli-bundle/chunks/config-5ON3ADRH.js.map +7 -0
- package/dist/cli-bundle/chunks/config-DDPYIA6J.js +1671 -0
- package/dist/cli-bundle/chunks/config-DDPYIA6J.js.map +1 -0
- package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js → context-E6U3DWVM.js} +32 -19
- package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js.map → context-E6U3DWVM.js.map} +2 -2
- package/dist/cli-bundle/chunks/context-ZOJEN5VT.js +1461 -0
- package/dist/cli-bundle/chunks/context-ZOJEN5VT.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-YLMH33VU.js → contracts-CXSFM45B.js} +194 -162
- package/dist/cli-bundle/chunks/contracts-CXSFM45B.js.map +7 -0
- package/dist/cli-bundle/chunks/contracts-LCSX5R53.js +1274 -0
- package/dist/cli-bundle/chunks/contracts-LCSX5R53.js.map +1 -0
- package/dist/cli-bundle/chunks/create-ATONSAZW.js +27 -0
- package/dist/cli-bundle/chunks/create-WYFKN2U4.js +31 -0
- package/dist/cli-bundle/chunks/create-WYFKN2U4.js.map +1 -0
- package/dist/cli-bundle/chunks/{delete-RHCTEORS.js → delete-RONNH4F4.js} +7 -8
- package/dist/cli-bundle/chunks/{delete-RHCTEORS.js.map → delete-RONNH4F4.js.map} +1 -1
- package/dist/cli-bundle/chunks/delete-ZXWC56WO.js +55 -0
- package/dist/cli-bundle/chunks/delete-ZXWC56WO.js.map +1 -0
- package/dist/cli-bundle/chunks/deps-EHXIFOZR.js +225 -0
- package/dist/cli-bundle/chunks/deps-EHXIFOZR.js.map +1 -0
- package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js → deps-WII3O4HB.js} +7 -8
- package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js.map → deps-WII3O4HB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js → docs-JMVCFNHH.js} +9 -10
- package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js.map → docs-JMVCFNHH.js.map} +1 -1
- package/dist/cli-bundle/chunks/docs-PDREIMLS.js +31 -0
- package/dist/cli-bundle/chunks/docs-PDREIMLS.js.map +1 -0
- package/dist/cli-bundle/chunks/extension-B4ROVWJD.js +28 -0
- package/dist/cli-bundle/chunks/extension-B4ROVWJD.js.map +1 -0
- package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js → extension-G6UXSM5S.js} +4 -5
- package/dist/cli-bundle/chunks/files-2PN7UM2D.js +282 -0
- package/dist/cli-bundle/chunks/files-2PN7UM2D.js.map +1 -0
- package/dist/cli-bundle/chunks/{files-WVOX67PE.js → files-MXYS5W4M.js} +9 -10
- package/dist/cli-bundle/chunks/{files-WVOX67PE.js.map → files-MXYS5W4M.js.map} +1 -1
- package/dist/cli-bundle/chunks/gc-GT552UJH.js +178 -0
- package/dist/cli-bundle/chunks/gc-GT552UJH.js.map +1 -0
- package/dist/cli-bundle/chunks/{gc-JWNF66EC.js → gc-QNBRJG6H.js} +3 -3
- package/dist/cli-bundle/chunks/{get-LTK3HOCQ.js → get-CINFEUIY.js} +16 -17
- package/dist/cli-bundle/chunks/get-CINFEUIY.js.map +7 -0
- package/dist/cli-bundle/chunks/get-WXMLRG7M.js +194 -0
- package/dist/cli-bundle/chunks/get-WXMLRG7M.js.map +1 -0
- package/dist/cli-bundle/chunks/health-5VPOJQ53.js +1258 -0
- package/dist/cli-bundle/chunks/health-5VPOJQ53.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-TCWL55KM.js → health-IT5DBPRJ.js} +43 -15
- package/dist/cli-bundle/chunks/health-IT5DBPRJ.js.map +7 -0
- package/dist/cli-bundle/chunks/history-6FC4H6HI.js +20 -0
- package/dist/cli-bundle/chunks/history-FLZIP7PM.js +24 -0
- package/dist/cli-bundle/chunks/history-FLZIP7PM.js.map +1 -0
- package/dist/cli-bundle/chunks/history-redact-SSZBAD76.js +23 -0
- package/dist/cli-bundle/chunks/history-redact-SSZBAD76.js.map +1 -0
- package/dist/cli-bundle/chunks/history-redact-XKYEZDBL.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js → history-repair-KC5ZOJRZ.js} +12 -14
- package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js.map → history-repair-KC5ZOJRZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/history-repair-X7CO5JJZ.js +193 -0
- package/dist/cli-bundle/chunks/history-repair-X7CO5JJZ.js.map +1 -0
- package/dist/cli-bundle/chunks/init-6MRFVOLH.js +20 -0
- package/dist/cli-bundle/chunks/init-6MRFVOLH.js.map +1 -0
- package/dist/cli-bundle/chunks/init-KHX3FEEM.js +16 -0
- package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js → learnings-A3CLB5CO.js} +10 -11
- package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js.map → learnings-A3CLB5CO.js.map} +1 -1
- package/dist/cli-bundle/chunks/learnings-DCX55BNX.js +44 -0
- package/dist/cli-bundle/chunks/learnings-DCX55BNX.js.map +1 -0
- package/dist/cli-bundle/chunks/list-53LZ2AEO.js +20 -0
- package/dist/cli-bundle/chunks/list-DBRECOG4.js +24 -0
- package/dist/cli-bundle/chunks/list-DBRECOG4.js.map +1 -0
- package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js → notes-42LIC3UE.js} +10 -11
- package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js.map → notes-42LIC3UE.js.map} +1 -1
- package/dist/cli-bundle/chunks/notes-P5O3VMQ3.js +44 -0
- package/dist/cli-bundle/chunks/notes-P5O3VMQ3.js.map +1 -0
- package/dist/cli-bundle/chunks/{plan-67AB2PLM.js → plan-HDQXEUKD.js} +13 -14
- package/dist/cli-bundle/chunks/{plan-67AB2PLM.js.map → plan-HDQXEUKD.js.map} +1 -1
- package/dist/cli-bundle/chunks/plan-IGTE3WOJ.js +1171 -0
- package/dist/cli-bundle/chunks/plan-IGTE3WOJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-UP3VRUFS.js → register-list-query-AG3XKXWL.js} +22 -24
- package/dist/cli-bundle/chunks/register-list-query-AG3XKXWL.js.map +7 -0
- package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js +227 -0
- package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js.map +1 -0
- package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js +813 -0
- package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-YWSBF545.js → register-mutation-RSMT6DPK.js} +154 -43
- package/dist/cli-bundle/chunks/register-mutation-RSMT6DPK.js.map +7 -0
- package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js +370 -0
- package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-3BDTGSDH.js → register-operations-Q54JQZUN.js} +33 -34
- package/dist/cli-bundle/chunks/register-operations-Q54JQZUN.js.map +7 -0
- package/dist/cli-bundle/chunks/register-setup-DI6P7X75.js +242 -0
- package/dist/cli-bundle/chunks/register-setup-DI6P7X75.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js → register-setup-YJKIQRKA.js} +18 -19
- package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js.map → register-setup-YJKIQRKA.js.map} +2 -2
- package/dist/cli-bundle/chunks/restore-2XVTBLKQ.js +21 -0
- package/dist/cli-bundle/chunks/restore-2XVTBLKQ.js.map +1 -0
- package/dist/cli-bundle/chunks/restore-JL5QIH7H.js +17 -0
- package/dist/cli-bundle/chunks/schema-LVXZWFGY.js +770 -0
- package/dist/cli-bundle/chunks/schema-LVXZWFGY.js.map +1 -0
- package/dist/cli-bundle/chunks/schema-V6BX65Q2.js +780 -0
- package/dist/cli-bundle/chunks/schema-V6BX65Q2.js.map +7 -0
- package/dist/cli-bundle/chunks/{search-HENBL456.js → search-5A3BMFA7.js} +25 -16
- package/dist/cli-bundle/chunks/search-5A3BMFA7.js.map +7 -0
- package/dist/cli-bundle/chunks/search-C7NPB7G7.js +1127 -0
- package/dist/cli-bundle/chunks/search-C7NPB7G7.js.map +1 -0
- package/dist/cli-bundle/chunks/stats-FNLYVXTB.js +120 -0
- package/dist/cli-bundle/chunks/stats-FNLYVXTB.js.map +1 -0
- package/dist/cli-bundle/chunks/{stats-N6H3YP2F.js → stats-Y2CBTZSL.js} +7 -8
- package/dist/cli-bundle/chunks/{stats-N6H3YP2F.js.map → stats-Y2CBTZSL.js.map} +1 -1
- package/dist/cli-bundle/chunks/test-OFYONO3C.js +35 -0
- package/dist/cli-bundle/chunks/test-OFYONO3C.js.map +1 -0
- package/dist/cli-bundle/chunks/test-RJ4ZF35X.js +31 -0
- package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js → test-all-EEMKNTGU.js} +13 -14
- package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js.map → test-all-EEMKNTGU.js.map} +1 -1
- package/dist/cli-bundle/chunks/test-all-OJE6CIO7.js +328 -0
- package/dist/cli-bundle/chunks/test-all-OJE6CIO7.js.map +1 -0
- package/dist/cli-bundle/chunks/test-runs-IPOPFOAF.js +929 -0
- package/dist/cli-bundle/chunks/test-runs-IPOPFOAF.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js → test-runs-L2M7WKH7.js} +5 -5
- package/dist/cli-bundle/chunks/update-6YEHPVXH.js +25 -0
- package/dist/cli-bundle/chunks/update-6YEHPVXH.js.map +1 -0
- package/dist/cli-bundle/chunks/update-PYLVHMRD.js +21 -0
- package/dist/cli-bundle/chunks/{update-many-46HRSP2Q.js → update-many-322CCH2L.js} +78 -146
- package/dist/cli-bundle/chunks/update-many-322CCH2L.js.map +7 -0
- package/dist/cli-bundle/chunks/update-many-DYWGW57M.js +605 -0
- package/dist/cli-bundle/chunks/update-many-DYWGW57M.js.map +1 -0
- package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js → upgrade-2U727SAM.js} +5 -7
- package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js.map → upgrade-2U727SAM.js.map} +1 -1
- package/dist/cli-bundle/chunks/upgrade-3W3RVSNM.js +266 -0
- package/dist/cli-bundle/chunks/upgrade-3W3RVSNM.js.map +1 -0
- package/dist/cli-bundle/chunks/validate-GZ24NYHO.js +1120 -0
- package/dist/cli-bundle/chunks/validate-GZ24NYHO.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-TMCVKIGZ.js → validate-ZFVWPEEN.js} +61 -48
- package/dist/cli-bundle/chunks/validate-ZFVWPEEN.js.map +7 -0
- package/dist/cli-bundle/main.js +490 -52
- package/dist/cli-bundle/main.js.map +2 -2
- 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/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/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/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.js +40 -5
- 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 +4 -3
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/mcp/server.js +221 -12
- 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 +4 -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 +35 -6
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +19 -1
- package/dist/sdk/cli-contracts.js +187 -15
- 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 +21 -2
- package/docs/COMMANDS.md +85 -5
- package/docs/CONFIGURATION.md +49 -2
- package/docs/EXTENSIONS.md +118 -6
- package/docs/QUICKSTART.md +2 -0
- package/docs/RELEASING.md +2 -2
- package/docs/SDK.md +273 -1
- package/docs/TESTING.md +17 -0
- 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 +12 -6
- 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/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-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/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/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-P5BUMWP3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js.map → aggregate-OOAGKWRG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js.map → chunk-ATBVS6WW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js.map → chunk-BNL6S7QH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js.map → chunk-CJDQB2ED.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js.map → chunk-D3WUNETC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js.map → chunk-JB4RGL4V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js.map → chunk-K47WAYQV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js.map → chunk-KA24HME7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js.map → chunk-LDJK7SHN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js.map → chunk-RANZIID5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js.map → chunk-S3CV7JGJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LRBOHPUE.js.map → chunk-WIKR7KFL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js.map → chunk-XX5LRINW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js.map → chunk-Y2AKE2HS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-XY4CSAYF.js.map → close-RMHQ3KWH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-PZVHRIZQ.js.map → create-ATONSAZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js.map → extension-G6UXSM5S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-JWNF66EC.js.map → gc-QNBRJG6H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-A2JUDXUE.js.map → history-6FC4H6HI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-ED6RFCPL.js.map → history-redact-XKYEZDBL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-M2WUB4YH.js.map → init-KHX3FEEM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-OGWQPC26.js.map → list-53LZ2AEO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-MB2ISME7.js.map → restore-JL5QIH7H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-VNBDRJ4Z.js.map → test-RJ4ZF35X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js.map → test-runs-L2M7WKH7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-H6SCWNMA.js.map → update-PYLVHMRD.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-OUF3ARDX.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-CJDQB2ED.js";
|
|
31
27
|
import {
|
|
32
28
|
runClose
|
|
33
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-ATBVS6WW.js";
|
|
34
30
|
import {
|
|
35
31
|
normalizeParentReferenceValue,
|
|
36
32
|
validateMissingParentReference,
|
|
37
33
|
validateSprintOrReleaseValue
|
|
38
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-XX5LRINW.js";
|
|
35
|
+
import {
|
|
36
|
+
buildInvalidTypeError
|
|
37
|
+
} from "./chunk-KK6YPGH3.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-XG7RJYHV.js";
|
|
46
48
|
import {
|
|
47
49
|
normalizeItemId
|
|
48
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-KA24HME7.js";
|
|
49
51
|
import {
|
|
50
52
|
collectRuntimeUpdateFieldValues,
|
|
51
53
|
normalizeStatusInput
|
|
52
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-HPH6X4ZZ.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-4PJQSECJ.js";
|
|
62
64
|
import {
|
|
63
65
|
resolveIsoOrRelative
|
|
64
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-RANZIID5.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-SRVKTWPR.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-D5X7N6FI.js.map
|