@unbrained/pm-cli 2026.7.2 → 2026.7.3
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/.claude-plugin/marketplace.json +3 -3
- package/CHANGELOG.md +19 -0
- package/CONTRIBUTING.md +2 -2
- package/README.md +1 -1
- package/dist/cli/commander-usage.js +54 -41
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/activity.js +79 -57
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/close-many.js +106 -65
- package/dist/cli/commands/close-many.js.map +1 -1
- package/dist/cli/commands/create.js +32 -17
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension/doctor.js +56 -67
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/shared.js +21 -15
- package/dist/cli/commands/extension/shared.js.map +1 -1
- package/dist/cli/commands/health.js +101 -112
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/init-agent-guidance.js +32 -19
- package/dist/cli/commands/init-agent-guidance.js.map +1 -1
- package/dist/cli/commands/next.js +13 -10
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/profile.js +23 -15
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +2 -0
- package/dist/cli/commands/validate.js +14 -2
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.js +9 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-help.js +27 -19
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/help-json-payload.js +57 -49
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.js +48 -32
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +213 -213
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +368 -368
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +303 -299
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +4 -0
- package/dist/cli/registration-helpers.js +45 -56
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/{activity-CUC4JY3U.js → activity-5YWLSPGE.js} +9 -9
- package/dist/cli-bundle/chunks/activity-BIML7K2D.js +16 -0
- package/dist/cli-bundle/chunks/{aggregate-SW5PNGCS.js → aggregate-2V2M3JZU.js} +8 -8
- package/dist/cli-bundle/chunks/{aggregate-DKUTRY6R.js → aggregate-EK7DXML7.js} +8 -8
- package/dist/cli-bundle/chunks/{append-UBM632FK.js → append-EZESUVJT.js} +8 -8
- package/dist/cli-bundle/chunks/{append-H32VOR2Y.js → append-JFG4WQMG.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-XTHQWXVC.js → chunk-32IUNTG4.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-IEEJQCZ4.js → chunk-3W2HJKJX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-MNBPX5JS.js → chunk-4EXFFP7T.js} +42 -27
- package/dist/cli-bundle/chunks/{chunk-MNBPX5JS.js.map → chunk-4EXFFP7T.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JMK5GCK2.js → chunk-4PFVUUYV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NRZS637N.js → chunk-4WB6S4YX.js} +56 -21
- package/dist/cli-bundle/chunks/chunk-4WB6S4YX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5GVTFFTC.js → chunk-572FKBRL.js} +61 -102
- package/dist/cli-bundle/chunks/chunk-572FKBRL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MRD4T5LF.js → chunk-5E7N4T2Z.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S62UANU7.js → chunk-5IZUBZBR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-BTX5MIQF.js → chunk-5JIWFWOZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SYVUU7EK.js → chunk-67LARBDL.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-KIYCOJ63.js → chunk-6CDCWKSX.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-JXAUVO6X.js → chunk-6KRFL33E.js} +55 -20
- package/dist/cli-bundle/chunks/chunk-6KRFL33E.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3LCUASYG.js → chunk-6NYJGMTY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-2ASNV4DH.js → chunk-7CLLC75T.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-FFOQHGNH.js → chunk-7LYO6S5A.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-55XRYWEG.js → chunk-A3OQ7TFW.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-Q6K2OACU.js → chunk-AIKU3IIL.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-AIAIXG7I.js → chunk-AJHYQCBJ.js} +39 -5
- package/dist/cli-bundle/chunks/chunk-AJHYQCBJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TTHCEV5Q.js → chunk-BE2SR6QL.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-GFMSLORL.js → chunk-BI4R7HI2.js} +75 -53
- package/dist/cli-bundle/chunks/chunk-BI4R7HI2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-K2VYLVX4.js → chunk-CXR3CMBQ.js} +33 -6
- package/dist/cli-bundle/chunks/chunk-CXR3CMBQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7W4H4K26.js → chunk-ECU6MMTQ.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-YLZZ6T54.js → chunk-EJ2OCBHF.js} +23 -8
- package/dist/cli-bundle/chunks/chunk-EJ2OCBHF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5PGBHRY3.js → chunk-EQURFOMH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-H4GRLYJS.js → chunk-ER4ME5U2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QH3FSKRJ.js → chunk-ERG65A2L.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UWKEJMZU.js → chunk-F6WNBITZ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-U2BEEM2X.js → chunk-FH2H3CBD.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EUKTMRN3.js → chunk-FUFFPIYA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-7MYWF4ZX.js → chunk-FZJM2TXF.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-CYBDUHNO.js → chunk-GUYNUXQT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ZNT7KEWE.js → chunk-GVJE5T7Q.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SYNKD3ZG.js → chunk-HB4FAT3O.js} +42 -60
- package/dist/cli-bundle/chunks/chunk-HB4FAT3O.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XEWQKDYZ.js → chunk-HQAF23Q2.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-KLXF7NCC.js → chunk-JBZ2NTKX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SPM2XLWI.js → chunk-JPATY4SE.js} +22 -7
- package/dist/cli-bundle/chunks/chunk-JPATY4SE.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4NUOWFBT.js → chunk-K5DT2YKM.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-KCO2EAN5.js → chunk-KEZOIPCR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7NSPKJUS.js → chunk-KHVGM5CS.js} +113 -83
- package/dist/cli-bundle/chunks/chunk-KHVGM5CS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-66Z3X7ZG.js → chunk-KS6ATO47.js} +33 -20
- package/dist/cli-bundle/chunks/{chunk-66Z3X7ZG.js.map → chunk-KS6ATO47.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-I66WE2HE.js → chunk-L4SLHV6G.js} +112 -82
- package/dist/cli-bundle/chunks/chunk-L4SLHV6G.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-2227673O.js → chunk-LBE5QFMZ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-YPKFV2JR.js → chunk-LCWQP6NM.js} +76 -54
- package/dist/cli-bundle/chunks/chunk-LCWQP6NM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UGLU6Q2I.js → chunk-LOWVNZBZ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-Y4NRKBFW.js → chunk-MDHWWBNZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LRKMWUUV.js → chunk-MEZZZBYX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6YCYF2AI.js → chunk-MHRS5FUX.js} +34 -21
- package/dist/cli-bundle/chunks/{chunk-6YCYF2AI.js.map → chunk-MHRS5FUX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Q6NXOHS6.js → chunk-NOIEVOK5.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-GRRG3MCT.js → chunk-NZ7QIUP5.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-TPOFWBMY.js → chunk-OGLGI22K.js} +26 -20
- package/dist/cli-bundle/chunks/chunk-OGLGI22K.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZNHEYCDD.js → chunk-P5L7Z2O6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6ZMBJRDJ.js → chunk-PULUSQAV.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-EMPGXBUF.js → chunk-QCDTQCMW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OTUJZKGI.js → chunk-QNNQAAZ5.js} +24 -18
- package/dist/cli-bundle/chunks/{chunk-OTUJZKGI.js.map → chunk-QNNQAAZ5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-XWGEMNBR.js → chunk-RAHINBVP.js} +60 -101
- package/dist/cli-bundle/chunks/chunk-RAHINBVP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-AJEBCRIY.js → chunk-RJH5VQHW.js} +43 -61
- package/dist/cli-bundle/chunks/chunk-RJH5VQHW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HQTPRV4D.js → chunk-SU2E4AWU.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-3Q2HBMTI.js → chunk-SU3TB4NS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XCHUVHKU.js → chunk-SYE6WMV6.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-2KWL5NPW.js → chunk-T3P7PMZP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N2JSWVWG.js → chunk-T4XBKJ3F.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-BVZZN2LH.js → chunk-T6AXEBOP.js} +23 -17
- package/dist/cli-bundle/chunks/{chunk-BVZZN2LH.js.map → chunk-T6AXEBOP.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N3QCJS4M.js → chunk-TQ6AX5SQ.js} +58 -69
- package/dist/cli-bundle/chunks/{chunk-N3QCJS4M.js.map → chunk-TQ6AX5SQ.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RM37OPYK.js → chunk-U3S2B7TA.js} +43 -28
- package/dist/cli-bundle/chunks/{chunk-RM37OPYK.js.map → chunk-U3S2B7TA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-UTSH5GWX.js → chunk-U5TR4N7J.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-UT73HUPC.js → chunk-UMNQZS4H.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CZPVDLD2.js → chunk-WJA3PXW7.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-WJAMWAHZ.js → chunk-WRYERRZX.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6ITZLD4T.js → chunk-WYOIIFSE.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-7TH5NMVB.js → chunk-XRYSCRZR.js} +25 -19
- package/dist/cli-bundle/chunks/chunk-XRYSCRZR.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3AZUFQK6.js → chunk-YF746GTH.js} +59 -70
- package/dist/cli-bundle/chunks/{chunk-3AZUFQK6.js.map → chunk-YF746GTH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-IG5JYZGU.js → chunk-YPWUSH72.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-KN3URLKS.js → chunk-YSDFIY7N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-2CHRYUXL.js → chunk-YSGTMDWC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-36UGKF4O.js → chunk-YVKZ3ANP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-A6VOGKBA.js → chunk-Z5F6XZXE.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-LTRAF2D7.js → chunk-Z7RPDF2Y.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-W47SML5B.js → chunk-ZFTKYWIF.js} +7 -7
- package/dist/cli-bundle/chunks/{claim-SENTPZBN.js → claim-2BGBGSVI.js} +8 -8
- package/dist/cli-bundle/chunks/{claim-Z7MEQCBT.js → claim-5GU7OE67.js} +8 -8
- package/dist/cli-bundle/chunks/close-6YODBUIV.js +14 -0
- package/dist/cli-bundle/chunks/{close-424MX4CU.js → close-AFVKPR57.js} +7 -7
- package/dist/cli-bundle/chunks/{close-many-SWY34BII.js → close-many-7KLOSYLP.js} +119 -76
- package/dist/cli-bundle/chunks/close-many-7KLOSYLP.js.map +7 -0
- package/dist/cli-bundle/chunks/{close-many-2IV4J2TR.js → close-many-JKUJMHLG.js} +120 -77
- package/dist/cli-bundle/chunks/close-many-JKUJMHLG.js.map +1 -0
- package/dist/cli-bundle/chunks/{comments-4FGNTSNV.js → comments-DNWHEBOS.js} +9 -9
- package/dist/cli-bundle/chunks/{comments-7YS5MY5X.js → comments-RW23R3VE.js} +9 -9
- package/dist/cli-bundle/chunks/{config-G74GISC4.js → config-AUM5WBYA.js} +7 -7
- package/dist/cli-bundle/chunks/{config-BZJKK7FZ.js → config-OZWSA2NP.js} +7 -7
- package/dist/cli-bundle/chunks/{context-ZQY54JNS.js → context-OYXRGY7S.js} +12 -12
- package/dist/cli-bundle/chunks/{context-LHVKJSPJ.js → context-PKCEHQY3.js} +12 -12
- package/dist/cli-bundle/chunks/{contracts-CP2EZJC7.js → contracts-L6ODXNUM.js} +3 -3
- package/dist/cli-bundle/chunks/{contracts-FIZLMP7O.js → contracts-X74F2GSM.js} +3 -3
- package/dist/cli-bundle/chunks/{copy-GYNQQPW2.js → copy-6XOR3HKN.js} +5 -5
- package/dist/cli-bundle/chunks/{copy-TLW7JTQT.js → copy-I4NCLBR4.js} +5 -5
- package/dist/cli-bundle/chunks/{create-VSKYSOCD.js → create-PM45M6PE.js} +12 -12
- package/dist/cli-bundle/chunks/create-Z7YCH3BE.js +28 -0
- package/dist/cli-bundle/chunks/{delete-ANTOTI2I.js → delete-7YXHYG67.js} +5 -5
- package/dist/cli-bundle/chunks/{delete-4W5JYCEG.js → delete-LPISP43T.js} +5 -5
- package/dist/cli-bundle/chunks/{deps-HPPE6MJN.js → deps-N2T26FME.js} +5 -5
- package/dist/cli-bundle/chunks/{deps-ZQZN54EZ.js → deps-WATKQDE3.js} +5 -5
- package/dist/cli-bundle/chunks/{docs-RPOVFMP3.js → docs-6LQ3GLM7.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-XJNYBJGE.js → docs-Z3X6JZLT.js} +7 -7
- package/dist/cli-bundle/chunks/{eval-RFBI5FGS.js → eval-6DCLG52D.js} +10 -10
- package/dist/cli-bundle/chunks/{eval-DM6JBZTS.js → eval-Y3ZCUTHK.js} +10 -10
- package/dist/cli-bundle/chunks/{extension-B3YY4WY5.js → extension-BNINIMT7.js} +11 -11
- package/dist/cli-bundle/chunks/{extension-TTSEFQTS.js → extension-QWE4YYK5.js} +11 -11
- package/dist/cli-bundle/chunks/{files-5D65CHGE.js → files-6SGKHS6O.js} +7 -7
- package/dist/cli-bundle/chunks/{files-GPIG77EN.js → files-FUYPSOFJ.js} +7 -7
- package/dist/cli-bundle/chunks/{focus-ZHN7WIGX.js → focus-2Q3K76G2.js} +6 -6
- package/dist/cli-bundle/chunks/{focus-C3PEJV2C.js → focus-ATLBWXXD.js} +6 -6
- package/dist/cli-bundle/chunks/{gc-D4JQ6OWN.js → gc-RUYEMNRF.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-VZIXDL32.js → gc-TDWSDR66.js} +3 -3
- package/dist/cli-bundle/chunks/{get-IOVAN6RU.js → get-2WGLX74N.js} +10 -10
- package/dist/cli-bundle/chunks/{get-GIBRUUOP.js → get-LY6M2JIM.js} +10 -10
- package/dist/cli-bundle/chunks/{health-L2U3AFKV.js → health-4RKHYS3T.js} +115 -123
- package/dist/cli-bundle/chunks/health-4RKHYS3T.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-MM7AWXYF.js → health-TMFVNYRA.js} +114 -122
- package/dist/cli-bundle/chunks/health-TMFVNYRA.js.map +7 -0
- package/dist/cli-bundle/chunks/history-CGNQJXFE.js +18 -0
- package/dist/cli-bundle/chunks/{history-IL7XCEX2.js → history-SGRRS72R.js} +8 -8
- package/dist/cli-bundle/chunks/{history-compact-MV25P7DM.js → history-compact-LOED43R3.js} +10 -10
- package/dist/cli-bundle/chunks/{history-compact-HALOTOU7.js → history-compact-V5DNAQHH.js} +10 -10
- package/dist/cli-bundle/chunks/{history-redact-VYCWQFK7.js → history-redact-IRL7WJ3E.js} +9 -9
- package/dist/cli-bundle/chunks/history-redact-N3JK7VBW.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-44MODPQF.js → history-repair-4WVBVHFR.js} +10 -10
- package/dist/cli-bundle/chunks/{history-repair-CPNAOCNF.js → history-repair-PGYQJMGD.js} +10 -10
- package/dist/cli-bundle/chunks/{init-F27NHENZ.js → init-4GESW7RM.js} +12 -12
- package/dist/cli-bundle/chunks/init-XIDPABA4.js +22 -0
- package/dist/cli-bundle/chunks/{learnings-HJVDQIGY.js → learnings-4BHWFFUV.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-XSFSUUWK.js → learnings-4FJY7WIW.js} +9 -9
- package/dist/cli-bundle/chunks/{list-HPMEKCAA.js → list-472TIOVK.js} +8 -8
- package/dist/cli-bundle/chunks/{list-VMPWTURB.js → list-D7BF5CL2.js} +8 -8
- package/dist/cli-bundle/chunks/{next-QM6YJIIS.js → next-D5STGWI2.js} +26 -23
- package/dist/cli-bundle/chunks/next-D5STGWI2.js.map +1 -0
- package/dist/cli-bundle/chunks/{next-ETXF2ZCN.js → next-SFQZVX2B.js} +25 -22
- package/dist/cli-bundle/chunks/{next-ETXF2ZCN.js.map → next-SFQZVX2B.js.map} +2 -2
- package/dist/cli-bundle/chunks/{notes-GDZIKGR6.js → notes-6KNOSLIT.js} +9 -9
- package/dist/cli-bundle/chunks/{notes-WDDBPC4D.js → notes-W4UEICGF.js} +9 -9
- package/dist/cli-bundle/chunks/{plan-BGDR73Z6.js → plan-JO6V7BXO.js} +12 -12
- package/dist/cli-bundle/chunks/{plan-C5IMM335.js → plan-MJQW5XK3.js} +12 -12
- package/dist/cli-bundle/chunks/{profile-HUCENIEQ.js → profile-3TOTMUR4.js} +26 -18
- package/dist/cli-bundle/chunks/profile-3TOTMUR4.js.map +7 -0
- package/dist/cli-bundle/chunks/{profile-CCOKZ2IQ.js → profile-WIQY2KCV.js} +27 -19
- package/dist/cli-bundle/chunks/profile-WIQY2KCV.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-XN4ZRHSV.js → register-list-query-ELBHCCFI.js} +179 -170
- package/dist/cli-bundle/chunks/register-list-query-ELBHCCFI.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-ROSNIL52.js → register-list-query-GAPQ6DM3.js} +180 -171
- package/dist/cli-bundle/chunks/register-list-query-GAPQ6DM3.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-KRLAHEL2.js → register-mutation-ROFE2YPC.js} +367 -361
- package/dist/cli-bundle/chunks/register-mutation-ROFE2YPC.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-CFSB2MS3.js → register-mutation-SJWMVIJ2.js} +368 -362
- package/dist/cli-bundle/chunks/register-mutation-SJWMVIJ2.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-4PASGJDB.js → register-operations-IADFVH53.js} +309 -304
- package/dist/cli-bundle/chunks/register-operations-IADFVH53.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-MBN4KGUM.js → register-operations-MEKU3AKC.js} +310 -305
- package/dist/cli-bundle/chunks/register-operations-MEKU3AKC.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-ZCGKHDKL.js → register-setup-3QJY43CY.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-VIAWYFP5.js → register-setup-AJWUSSQX.js} +15 -15
- package/dist/cli-bundle/chunks/{restore-4CBWUMCX.js → restore-44IHMMZZ.js} +9 -9
- package/dist/cli-bundle/chunks/restore-EXHU34EU.js +17 -0
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-6VFKNKCM.js → scheduling-shortcuts-OLHNLAZY.js} +12 -12
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-ERHCVTEM.js → scheduling-shortcuts-TSBK4AY5.js} +12 -12
- package/dist/cli-bundle/chunks/{schema-TDGK6N3I.js → schema-IB2NZZWD.js} +7 -7
- package/dist/cli-bundle/chunks/{schema-UE5KKAUX.js → schema-VBCELP5G.js} +7 -7
- package/dist/cli-bundle/chunks/{search-K4CFLQ5S.js → search-7UBETML4.js} +10 -10
- package/dist/cli-bundle/chunks/{search-FP7MEU4S.js → search-R227JOL6.js} +10 -10
- package/dist/cli-bundle/chunks/{stats-XT6QRKQY.js → stats-FAG7COEH.js} +6 -6
- package/dist/cli-bundle/chunks/{stats-NJJCALEZ.js → stats-MCK7PLYS.js} +6 -6
- package/dist/cli-bundle/chunks/{telemetry-5SQ5UDXC.js → telemetry-DRPDZMAO.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-HVXFZA2U.js → telemetry-GVVUQSJQ.js} +4 -4
- package/dist/cli-bundle/chunks/{test-YCDAUBWF.js → test-QY44WAMR.js} +15 -15
- package/dist/cli-bundle/chunks/{test-UFSJ5YIO.js → test-SY76DZTO.js} +15 -15
- package/dist/cli-bundle/chunks/{test-all-PM7UYN42.js → test-all-QD6QAEG7.js} +17 -17
- package/dist/cli-bundle/chunks/{test-all-2BWKY3GQ.js → test-all-USPJHXFR.js} +17 -17
- package/dist/cli-bundle/chunks/{test-runs-FK5E75AA.js → test-runs-MG5VIGSK.js} +4 -4
- package/dist/cli-bundle/chunks/{test-runs-H4TGWGRN.js → test-runs-QIR5MJPL.js} +4 -4
- package/dist/cli-bundle/chunks/update-A7EICML6.js +24 -0
- package/dist/cli-bundle/chunks/{update-Y5WQVT5O.js → update-IKJZWLQC.js} +15 -15
- package/dist/cli-bundle/chunks/{update-many-JTKKSA7Y.js → update-many-BEMTDA2X.js} +28 -28
- package/dist/cli-bundle/chunks/{update-many-6YAYYRLE.js → update-many-RATAARHU.js} +28 -28
- package/dist/cli-bundle/chunks/{upgrade-JUDU7YL4.js → upgrade-NWMR3VQL.js} +11 -11
- package/dist/cli-bundle/chunks/{upgrade-DTAHZ236.js → upgrade-VU46BLJZ.js} +11 -11
- package/dist/cli-bundle/chunks/{validate-W7H5TEDC.js → validate-GAJ6FUSI.js} +32 -22
- package/dist/cli-bundle/chunks/validate-GAJ6FUSI.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-732RWS5W.js → validate-NRY6MFXN.js} +31 -21
- package/dist/cli-bundle/chunks/validate-NRY6MFXN.js.map +7 -0
- package/dist/cli-bundle/main.js +180 -122
- package/dist/cli-bundle/main.js.map +3 -3
- package/dist/core/item/type-registry.js +29 -19
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/schema/runtime-schema.js +65 -54
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/schema/status-defs-file.js +26 -3
- package/dist/core/schema/status-defs-file.js.map +1 -1
- package/dist/core/search/corpus.js +25 -19
- package/dist/core/search/corpus.js.map +1 -1
- package/dist/core/shared/memo.d.ts +12 -0
- package/dist/core/shared/memo.js +25 -0
- package/dist/core/shared/memo.js.map +1 -0
- package/dist/core/shared/serialization.js +24 -14
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/shared/time.js +26 -4
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/front-matter-cache.d.ts +5 -0
- package/dist/core/store/front-matter-cache.js +79 -20
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +71 -99
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/compose.js +51 -42
- package/dist/sdk/compose.js.map +1 -1
- package/docs/AGENT_GUIDE.md +2 -2
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/COMMANDS.md +8 -4
- package/docs/CONFIGURATION.md +1 -1
- package/docs/EXTENSIONS.md +12 -12
- package/docs/ONBOARDING.md +4 -2
- package/docs/README.md +2 -0
- package/docs/examples/starter-extension/README.md +11 -10
- package/marketplace.json +3 -3
- package/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/pm-claude/README.md +6 -3
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/dist/cli-bundle/chunks/activity-WEIEMM73.js +0 -16
- package/dist/cli-bundle/chunks/chunk-5GVTFFTC.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7NSPKJUS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7TH5NMVB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AIAIXG7I.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AJEBCRIY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GFMSLORL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-I66WE2HE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-JXAUVO6X.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-K2VYLVX4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NRZS637N.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SPM2XLWI.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SYNKD3ZG.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TPOFWBMY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XWGEMNBR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-YLZZ6T54.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YPKFV2JR.js.map +0 -1
- package/dist/cli-bundle/chunks/close-YCWQQPDS.js +0 -14
- package/dist/cli-bundle/chunks/close-many-2IV4J2TR.js.map +0 -1
- package/dist/cli-bundle/chunks/close-many-SWY34BII.js.map +0 -7
- package/dist/cli-bundle/chunks/create-XTMAPS7I.js +0 -28
- package/dist/cli-bundle/chunks/health-L2U3AFKV.js.map +0 -1
- package/dist/cli-bundle/chunks/health-MM7AWXYF.js.map +0 -7
- package/dist/cli-bundle/chunks/history-DD7L7BNL.js +0 -18
- package/dist/cli-bundle/chunks/history-redact-IX4YEWMY.js +0 -19
- package/dist/cli-bundle/chunks/init-HHVQQP6C.js +0 -22
- package/dist/cli-bundle/chunks/next-QM6YJIIS.js.map +0 -1
- package/dist/cli-bundle/chunks/profile-CCOKZ2IQ.js.map +0 -1
- package/dist/cli-bundle/chunks/profile-HUCENIEQ.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-ROSNIL52.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-XN4ZRHSV.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-CFSB2MS3.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-KRLAHEL2.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-4PASGJDB.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-MBN4KGUM.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-5UEAGG3W.js +0 -17
- package/dist/cli-bundle/chunks/update-MTCFES6X.js +0 -24
- package/dist/cli-bundle/chunks/validate-732RWS5W.js.map +0 -7
- package/dist/cli-bundle/chunks/validate-W7H5TEDC.js.map +0 -1
- /package/dist/cli-bundle/chunks/{activity-CUC4JY3U.js.map → activity-5YWLSPGE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-WEIEMM73.js.map → activity-BIML7K2D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-SW5PNGCS.js.map → aggregate-2V2M3JZU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-DKUTRY6R.js.map → aggregate-EK7DXML7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-UBM632FK.js.map → append-EZESUVJT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-H32VOR2Y.js.map → append-JFG4WQMG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XTHQWXVC.js.map → chunk-32IUNTG4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IEEJQCZ4.js.map → chunk-3W2HJKJX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JMK5GCK2.js.map → chunk-4PFVUUYV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MRD4T5LF.js.map → chunk-5E7N4T2Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S62UANU7.js.map → chunk-5IZUBZBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BTX5MIQF.js.map → chunk-5JIWFWOZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SYVUU7EK.js.map → chunk-67LARBDL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KIYCOJ63.js.map → chunk-6CDCWKSX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3LCUASYG.js.map → chunk-6NYJGMTY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2ASNV4DH.js.map → chunk-7CLLC75T.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FFOQHGNH.js.map → chunk-7LYO6S5A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-55XRYWEG.js.map → chunk-A3OQ7TFW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q6K2OACU.js.map → chunk-AIKU3IIL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TTHCEV5Q.js.map → chunk-BE2SR6QL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7W4H4K26.js.map → chunk-ECU6MMTQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5PGBHRY3.js.map → chunk-EQURFOMH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-H4GRLYJS.js.map → chunk-ER4ME5U2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QH3FSKRJ.js.map → chunk-ERG65A2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UWKEJMZU.js.map → chunk-F6WNBITZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-U2BEEM2X.js.map → chunk-FH2H3CBD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EUKTMRN3.js.map → chunk-FUFFPIYA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7MYWF4ZX.js.map → chunk-FZJM2TXF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CYBDUHNO.js.map → chunk-GUYNUXQT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZNT7KEWE.js.map → chunk-GVJE5T7Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XEWQKDYZ.js.map → chunk-HQAF23Q2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KLXF7NCC.js.map → chunk-JBZ2NTKX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4NUOWFBT.js.map → chunk-K5DT2YKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KCO2EAN5.js.map → chunk-KEZOIPCR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2227673O.js.map → chunk-LBE5QFMZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UGLU6Q2I.js.map → chunk-LOWVNZBZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y4NRKBFW.js.map → chunk-MDHWWBNZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LRKMWUUV.js.map → chunk-MEZZZBYX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q6NXOHS6.js.map → chunk-NOIEVOK5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GRRG3MCT.js.map → chunk-NZ7QIUP5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZNHEYCDD.js.map → chunk-P5L7Z2O6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6ZMBJRDJ.js.map → chunk-PULUSQAV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EMPGXBUF.js.map → chunk-QCDTQCMW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HQTPRV4D.js.map → chunk-SU2E4AWU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3Q2HBMTI.js.map → chunk-SU3TB4NS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XCHUVHKU.js.map → chunk-SYE6WMV6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2KWL5NPW.js.map → chunk-T3P7PMZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N2JSWVWG.js.map → chunk-T4XBKJ3F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UTSH5GWX.js.map → chunk-U5TR4N7J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UT73HUPC.js.map → chunk-UMNQZS4H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CZPVDLD2.js.map → chunk-WJA3PXW7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WJAMWAHZ.js.map → chunk-WRYERRZX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6ITZLD4T.js.map → chunk-WYOIIFSE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IG5JYZGU.js.map → chunk-YPWUSH72.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KN3URLKS.js.map → chunk-YSDFIY7N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2CHRYUXL.js.map → chunk-YSGTMDWC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-36UGKF4O.js.map → chunk-YVKZ3ANP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A6VOGKBA.js.map → chunk-Z5F6XZXE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LTRAF2D7.js.map → chunk-Z7RPDF2Y.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W47SML5B.js.map → chunk-ZFTKYWIF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-SENTPZBN.js.map → claim-2BGBGSVI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-Z7MEQCBT.js.map → claim-5GU7OE67.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-YCWQQPDS.js.map → close-6YODBUIV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-424MX4CU.js.map → close-AFVKPR57.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-4FGNTSNV.js.map → comments-DNWHEBOS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-7YS5MY5X.js.map → comments-RW23R3VE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-G74GISC4.js.map → config-AUM5WBYA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-BZJKK7FZ.js.map → config-OZWSA2NP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-ZQY54JNS.js.map → context-OYXRGY7S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-LHVKJSPJ.js.map → context-PKCEHQY3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-CP2EZJC7.js.map → contracts-L6ODXNUM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-FIZLMP7O.js.map → contracts-X74F2GSM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-GYNQQPW2.js.map → copy-6XOR3HKN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-TLW7JTQT.js.map → copy-I4NCLBR4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-VSKYSOCD.js.map → create-PM45M6PE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-XTMAPS7I.js.map → create-Z7YCH3BE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-ANTOTI2I.js.map → delete-7YXHYG67.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-4W5JYCEG.js.map → delete-LPISP43T.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-HPPE6MJN.js.map → deps-N2T26FME.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-ZQZN54EZ.js.map → deps-WATKQDE3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-RPOVFMP3.js.map → docs-6LQ3GLM7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-XJNYBJGE.js.map → docs-Z3X6JZLT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{eval-RFBI5FGS.js.map → eval-6DCLG52D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{eval-DM6JBZTS.js.map → eval-Y3ZCUTHK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-B3YY4WY5.js.map → extension-BNINIMT7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-TTSEFQTS.js.map → extension-QWE4YYK5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-5D65CHGE.js.map → files-6SGKHS6O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-GPIG77EN.js.map → files-FUYPSOFJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-ZHN7WIGX.js.map → focus-2Q3K76G2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-C3PEJV2C.js.map → focus-ATLBWXXD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-D4JQ6OWN.js.map → gc-RUYEMNRF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-VZIXDL32.js.map → gc-TDWSDR66.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-IOVAN6RU.js.map → get-2WGLX74N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-GIBRUUOP.js.map → get-LY6M2JIM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-DD7L7BNL.js.map → history-CGNQJXFE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-IL7XCEX2.js.map → history-SGRRS72R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-MV25P7DM.js.map → history-compact-LOED43R3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-HALOTOU7.js.map → history-compact-V5DNAQHH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-VYCWQFK7.js.map → history-redact-IRL7WJ3E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-IX4YEWMY.js.map → history-redact-N3JK7VBW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-44MODPQF.js.map → history-repair-4WVBVHFR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-CPNAOCNF.js.map → history-repair-PGYQJMGD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-F27NHENZ.js.map → init-4GESW7RM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-HHVQQP6C.js.map → init-XIDPABA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-HJVDQIGY.js.map → learnings-4BHWFFUV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-XSFSUUWK.js.map → learnings-4FJY7WIW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-HPMEKCAA.js.map → list-472TIOVK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-VMPWTURB.js.map → list-D7BF5CL2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-GDZIKGR6.js.map → notes-6KNOSLIT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-WDDBPC4D.js.map → notes-W4UEICGF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-BGDR73Z6.js.map → plan-JO6V7BXO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-C5IMM335.js.map → plan-MJQW5XK3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-ZCGKHDKL.js.map → register-setup-3QJY43CY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-VIAWYFP5.js.map → register-setup-AJWUSSQX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-4CBWUMCX.js.map → restore-44IHMMZZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-5UEAGG3W.js.map → restore-EXHU34EU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{scheduling-shortcuts-6VFKNKCM.js.map → scheduling-shortcuts-OLHNLAZY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{scheduling-shortcuts-ERHCVTEM.js.map → scheduling-shortcuts-TSBK4AY5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-TDGK6N3I.js.map → schema-IB2NZZWD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-UE5KKAUX.js.map → schema-VBCELP5G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-K4CFLQ5S.js.map → search-7UBETML4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-FP7MEU4S.js.map → search-R227JOL6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-XT6QRKQY.js.map → stats-FAG7COEH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-NJJCALEZ.js.map → stats-MCK7PLYS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-5SQ5UDXC.js.map → telemetry-DRPDZMAO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-HVXFZA2U.js.map → telemetry-GVVUQSJQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-YCDAUBWF.js.map → test-QY44WAMR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-UFSJ5YIO.js.map → test-SY76DZTO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-PM7UYN42.js.map → test-all-QD6QAEG7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-2BWKY3GQ.js.map → test-all-USPJHXFR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-FK5E75AA.js.map → test-runs-MG5VIGSK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-H4TGWGRN.js.map → test-runs-QIR5MJPL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-MTCFES6X.js.map → update-A7EICML6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-Y5WQVT5O.js.map → update-IKJZWLQC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-JTKKSA7Y.js.map → update-many-BEMTDA2X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-6YAYYRLE.js.map → update-many-RATAARHU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-JUDU7YL4.js.map → upgrade-NWMR3VQL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-DTAHZ236.js.map → upgrade-VU46BLJZ.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="962c869e-fec2-5e55-87c2-07feb8bf0782")}catch(e){}}();
|
|
3
3
|
import { normalizeStatusInputWithRegistry, resolveRuntimeStatusRegistry, } from "../core/schema/runtime-schema.js";
|
|
4
4
|
import { setActiveCommandResult } from "../core/extensions/index.js";
|
|
5
5
|
import { EXIT_CODE } from "../core/shared/constants.js";
|
|
6
6
|
import { PmCliError } from "../core/shared/errors.js";
|
|
7
7
|
import { resolvePmRoot } from "../core/store/paths.js";
|
|
8
8
|
import { readSettings } from "../core/store/settings.js";
|
|
9
|
-
import { buildBackgroundTestAllCommandArgs, buildBackgroundTestCommandArgs, collect, getGlobalOptions, invalidateSearchCachesForMutation, printError, printResult, } from "./registration-helpers.js";
|
|
9
|
+
import { buildBackgroundTestAllCommandArgs, buildBackgroundTestCommandArgs, collect, getGlobalOptions, invalidateSearchCachesForMutation, printError, printResult, readOptionString, } from "./registration-helpers.js";
|
|
10
10
|
/**
|
|
11
11
|
* Resolve the status the `start-task` lifecycle alias should move an item to.
|
|
12
12
|
* Resolves `in_progress` strictly through the workspace registry so a custom
|
|
@@ -122,6 +122,293 @@ async function runTestCommandAction(id, options, command) {
|
|
|
122
122
|
printError(`profile:command=test took_ms=${Date.now() - startedAt}`);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
+
function buildLifecycleMutationOptions(options) {
|
|
126
|
+
return {
|
|
127
|
+
author: readOptionString(options, "author"),
|
|
128
|
+
message: readOptionString(options, "message"),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
async function runTestAllAction(options, command) {
|
|
132
|
+
const globalOptions = getGlobalOptions(command);
|
|
133
|
+
const startedAt = Date.now();
|
|
134
|
+
const runInBackground = options.background === true;
|
|
135
|
+
if (runInBackground) {
|
|
136
|
+
const { runStartBackgroundRun } = await import("./commands/test-runs.js");
|
|
137
|
+
const result = await runStartBackgroundRun({
|
|
138
|
+
kind: "test-all",
|
|
139
|
+
commandArgs: buildBackgroundTestAllCommandArgs(options),
|
|
140
|
+
statusFilter: readOptionString(options, "status"),
|
|
141
|
+
noExtensions: globalOptions.noExtensions === true,
|
|
142
|
+
}, globalOptions);
|
|
143
|
+
printResult(result, globalOptions);
|
|
144
|
+
if (globalOptions.profile) {
|
|
145
|
+
printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);
|
|
146
|
+
}
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const { runTestAll } = await import("./commands/test-all.js");
|
|
150
|
+
const result = await runTestAll({
|
|
151
|
+
status: readOptionString(options, "status"),
|
|
152
|
+
limit: readOptionString(options, "limit"),
|
|
153
|
+
offset: readOptionString(options, "offset"),
|
|
154
|
+
timeout: readOptionString(options, "timeout"),
|
|
155
|
+
progress: Boolean(options.progress),
|
|
156
|
+
envSet: Array.isArray(options.envSet) ? options.envSet : [],
|
|
157
|
+
envClear: Array.isArray(options.envClear) ? options.envClear : [],
|
|
158
|
+
sharedHostSafe: Boolean(options.sharedHostSafe),
|
|
159
|
+
pmContext: readOptionString(options, "pmContext"),
|
|
160
|
+
overrideLinkedPmContext: Boolean(options.overrideLinkedPmContext),
|
|
161
|
+
failOnContextMismatch: Boolean(options.failOnContextMismatch),
|
|
162
|
+
failOnSkipped: Boolean(options.failOnSkipped),
|
|
163
|
+
failOnEmptyTestRun: Boolean(options.failOnEmptyTestRun),
|
|
164
|
+
requireAssertionsForPm: Boolean(options.requireAssertionsForPm),
|
|
165
|
+
checkContext: Boolean(options.checkContext),
|
|
166
|
+
autoPmContext: Boolean(options.autoPmContext),
|
|
167
|
+
}, globalOptions);
|
|
168
|
+
await invalidateSearchCachesForMutation(globalOptions, { ids: result.results.map((entry) => entry.id) });
|
|
169
|
+
printResult(result, globalOptions);
|
|
170
|
+
if (result.failed > 0 || result.fail_on_skipped_triggered === true) {
|
|
171
|
+
process.exitCode = EXIT_CODE.DEPENDENCY_FAILED;
|
|
172
|
+
}
|
|
173
|
+
if (globalOptions.profile) {
|
|
174
|
+
printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async function runTelemetryAction(namespaceOrSubcommand, subcommand, options, command) {
|
|
178
|
+
const globalOptions = getGlobalOptions(command);
|
|
179
|
+
const startedAt = Date.now();
|
|
180
|
+
const { runTelemetry } = await import("./commands/telemetry.js");
|
|
181
|
+
const result = await runTelemetry({
|
|
182
|
+
subcommand: resolveTelemetrySubcommand(namespaceOrSubcommand, subcommand),
|
|
183
|
+
// Commander always parses `--limit <n>` to a string (or leaves it
|
|
184
|
+
// undefined), so a string passthrough covers every CLI-reachable input.
|
|
185
|
+
limit: readOptionString(options, "limit"),
|
|
186
|
+
}, globalOptions);
|
|
187
|
+
printResult(result, globalOptions);
|
|
188
|
+
if (globalOptions.profile) {
|
|
189
|
+
printError(`profile:command=telemetry took_ms=${Date.now() - startedAt}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
async function runStatsAction(options, command) {
|
|
193
|
+
const globalOptions = getGlobalOptions(command);
|
|
194
|
+
const startedAt = Date.now();
|
|
195
|
+
const { runStats } = await import("./commands/stats.js");
|
|
196
|
+
const result = await runStats(globalOptions, {
|
|
197
|
+
storage: options.storage === true,
|
|
198
|
+
metadataCoverage: options.metadataCoverage === true,
|
|
199
|
+
byAssignee: options.byAssignee === true,
|
|
200
|
+
byTag: options.byTag === true,
|
|
201
|
+
byPriority: options.byPriority === true,
|
|
202
|
+
tagPrefix: readOptionString(options, "tagPrefix"),
|
|
203
|
+
fieldUtilization: options.fieldUtilization === true,
|
|
204
|
+
});
|
|
205
|
+
printResult(result, globalOptions);
|
|
206
|
+
if (globalOptions.profile) {
|
|
207
|
+
printError(`profile:command=stats took_ms=${Date.now() - startedAt}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async function runHealthAction(options, command) {
|
|
211
|
+
const globalOptions = getGlobalOptions(command);
|
|
212
|
+
const startedAt = Date.now();
|
|
213
|
+
const { runHealth } = await import("./commands/health.js");
|
|
214
|
+
const result = await runHealth(globalOptions, {
|
|
215
|
+
strictDirectories: Boolean(options.strictDirectories),
|
|
216
|
+
checkOnly: Boolean(options.checkOnly),
|
|
217
|
+
checkTelemetry: Boolean(options.checkTelemetry),
|
|
218
|
+
noRefresh: Boolean(options.noRefresh),
|
|
219
|
+
refreshVectors: Boolean(options.refreshVectors),
|
|
220
|
+
verboseStaleItems: Boolean(options.verboseStaleItems),
|
|
221
|
+
brief: Boolean(options.brief),
|
|
222
|
+
summary: Boolean(options.summary),
|
|
223
|
+
skipVectors: Boolean(options.skipVectors),
|
|
224
|
+
skipIntegrity: Boolean(options.skipIntegrity),
|
|
225
|
+
skipDrift: Boolean(options.skipDrift),
|
|
226
|
+
full: Boolean(options.full),
|
|
227
|
+
});
|
|
228
|
+
printResult(result, globalOptions);
|
|
229
|
+
const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);
|
|
230
|
+
if (strictExit && !result.ok) {
|
|
231
|
+
setActiveCommandResult({
|
|
232
|
+
...result,
|
|
233
|
+
exit_code: EXIT_CODE.GENERIC_FAILURE,
|
|
234
|
+
error_code: "health_findings",
|
|
235
|
+
error_category: "validation",
|
|
236
|
+
command_resolution: "health_findings",
|
|
237
|
+
resolution_stage: "execute",
|
|
238
|
+
});
|
|
239
|
+
process.exitCode = EXIT_CODE.GENERIC_FAILURE;
|
|
240
|
+
}
|
|
241
|
+
if (globalOptions.profile) {
|
|
242
|
+
printError(`profile:command=health took_ms=${Date.now() - startedAt}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
async function runValidateAction(options, command) {
|
|
246
|
+
const globalOptions = getGlobalOptions(command);
|
|
247
|
+
const startedAt = Date.now();
|
|
248
|
+
const { runValidate } = await import("./commands/validate.js");
|
|
249
|
+
const result = await runValidate({
|
|
250
|
+
checkMetadata: Boolean(options.checkMetadata),
|
|
251
|
+
metadataProfile: readOptionString(options, "metadataProfile"),
|
|
252
|
+
checkResolution: Boolean(options.checkResolution),
|
|
253
|
+
checkLifecycle: Boolean(options.checkLifecycle),
|
|
254
|
+
checkStaleBlockers: Boolean(options.checkStaleBlockers),
|
|
255
|
+
dependencyCycleSeverity: readOptionString(options, "dependencyCycleSeverity"),
|
|
256
|
+
parentCycleSeverity: readOptionString(options, "parentCycleSeverity"),
|
|
257
|
+
checkFiles: Boolean(options.checkFiles),
|
|
258
|
+
checkCommandReferences: Boolean(options.checkCommandReferences),
|
|
259
|
+
scanMode: readOptionString(options, "scanMode"),
|
|
260
|
+
includePmInternals: Boolean(options.includePmInternals),
|
|
261
|
+
verboseFileLists: Boolean(options.verboseFileLists),
|
|
262
|
+
verboseDiagnostics: Boolean(options.verboseDiagnostics),
|
|
263
|
+
allAffectedIds: Boolean(options.allAffectedIds),
|
|
264
|
+
checkHistoryDrift: Boolean(options.checkHistoryDrift),
|
|
265
|
+
fixHints: Boolean(options.fixHints),
|
|
266
|
+
autoFix: Boolean(options.autoFix),
|
|
267
|
+
dryRun: Boolean(options.dryRun),
|
|
268
|
+
fixScope: Array.isArray(options.fixScope) ? options.fixScope : undefined,
|
|
269
|
+
pruneMissing: Boolean(options.pruneMissing),
|
|
270
|
+
}, globalOptions);
|
|
271
|
+
printResult(result, globalOptions);
|
|
272
|
+
const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);
|
|
273
|
+
if (strictExit && (result.has_warnings || !result.ok)) {
|
|
274
|
+
setActiveCommandResult({
|
|
275
|
+
...result,
|
|
276
|
+
exit_code: EXIT_CODE.GENERIC_FAILURE,
|
|
277
|
+
error_code: "validation_findings",
|
|
278
|
+
error_category: "validation",
|
|
279
|
+
command_resolution: "validation_findings",
|
|
280
|
+
resolution_stage: "execute",
|
|
281
|
+
});
|
|
282
|
+
process.exitCode = EXIT_CODE.GENERIC_FAILURE;
|
|
283
|
+
}
|
|
284
|
+
if (globalOptions.profile) {
|
|
285
|
+
printError(`profile:command=validate took_ms=${Date.now() - startedAt}`);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
async function runGcAction(options, command) {
|
|
289
|
+
const globalOptions = getGlobalOptions(command);
|
|
290
|
+
const startedAt = Date.now();
|
|
291
|
+
const { runGc } = await import("./commands/gc.js");
|
|
292
|
+
const result = await runGc(globalOptions, {
|
|
293
|
+
dryRun: options.dryRun === true,
|
|
294
|
+
scope: Array.isArray(options.scope) ? options.scope : [],
|
|
295
|
+
});
|
|
296
|
+
printResult(result, globalOptions);
|
|
297
|
+
if (globalOptions.profile) {
|
|
298
|
+
printError(`profile:command=gc took_ms=${Date.now() - startedAt}`);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
async function runContractsAction(options, command) {
|
|
302
|
+
const globalOptions = getGlobalOptions(command);
|
|
303
|
+
const startedAt = Date.now();
|
|
304
|
+
const { runContracts } = await import("./commands/contracts.js");
|
|
305
|
+
const result = await runContracts({
|
|
306
|
+
action: readOptionString(options, "action"),
|
|
307
|
+
command: readOptionString(options, "command"),
|
|
308
|
+
schemaOnly: Boolean(options.schemaOnly),
|
|
309
|
+
flagsOnly: Boolean(options.flagsOnly),
|
|
310
|
+
availabilityOnly: Boolean(options.availabilityOnly),
|
|
311
|
+
runtimeOnly: Boolean(options.runtimeOnly) || Boolean(options.activeOnly),
|
|
312
|
+
full: Boolean(options.full),
|
|
313
|
+
}, globalOptions);
|
|
314
|
+
printResult(result, globalOptions);
|
|
315
|
+
if (globalOptions.profile) {
|
|
316
|
+
printError(`profile:command=contracts took_ms=${Date.now() - startedAt}`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
async function runClaimAction(id, options, command) {
|
|
320
|
+
const globalOptions = getGlobalOptions(command);
|
|
321
|
+
const startedAt = Date.now();
|
|
322
|
+
const { runClaim } = await import("./commands/claim.js");
|
|
323
|
+
const result = await runClaim(id, Boolean(options.force), globalOptions, {
|
|
324
|
+
...buildLifecycleMutationOptions(options),
|
|
325
|
+
ifAvailable: options.ifAvailable === true,
|
|
326
|
+
});
|
|
327
|
+
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
328
|
+
printResult(result, globalOptions);
|
|
329
|
+
if (globalOptions.profile) {
|
|
330
|
+
printError(`profile:command=claim took_ms=${Date.now() - startedAt}`);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
async function runReleaseAction(id, options, command) {
|
|
334
|
+
const globalOptions = getGlobalOptions(command);
|
|
335
|
+
const startedAt = Date.now();
|
|
336
|
+
const { runRelease } = await import("./commands/claim.js");
|
|
337
|
+
const result = await runRelease(id, Boolean(options.force), globalOptions, {
|
|
338
|
+
...buildLifecycleMutationOptions(options),
|
|
339
|
+
allowAuditRelease: options.allowAuditRelease === true,
|
|
340
|
+
});
|
|
341
|
+
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
342
|
+
printResult(result, globalOptions);
|
|
343
|
+
if (globalOptions.profile) {
|
|
344
|
+
printError(`profile:command=release took_ms=${Date.now() - startedAt}`);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
async function runStartTaskAction(id, options, command) {
|
|
348
|
+
const globalOptions = getGlobalOptions(command);
|
|
349
|
+
const startedAt = Date.now();
|
|
350
|
+
const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);
|
|
351
|
+
const settings = await readSettings(pmRoot);
|
|
352
|
+
const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
|
|
353
|
+
const inProgressStatus = resolveStartTaskInProgressStatus(statusRegistry);
|
|
354
|
+
const force = Boolean(options.force);
|
|
355
|
+
const mutationOptions = buildLifecycleMutationOptions(options);
|
|
356
|
+
const [{ runClaim }, { runUpdate }] = await Promise.all([
|
|
357
|
+
import("./commands/claim.js"),
|
|
358
|
+
import("./commands/update.js"),
|
|
359
|
+
]);
|
|
360
|
+
const claimResult = await runClaim(id, force, globalOptions, mutationOptions);
|
|
361
|
+
await invalidateSearchCachesForMutation(globalOptions, claimResult);
|
|
362
|
+
const updateResult = await runUpdate(id, { ...mutationOptions, status: inProgressStatus, force }, globalOptions);
|
|
363
|
+
await invalidateSearchCachesForMutation(globalOptions, updateResult);
|
|
364
|
+
printResult({ id, action: "start_task", claim: claimResult, update: updateResult }, globalOptions);
|
|
365
|
+
if (globalOptions.profile) {
|
|
366
|
+
printError(`profile:command=start-task took_ms=${Date.now() - startedAt}`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
async function runPauseTaskAction(id, options, command) {
|
|
370
|
+
const globalOptions = getGlobalOptions(command);
|
|
371
|
+
const startedAt = Date.now();
|
|
372
|
+
const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);
|
|
373
|
+
const settings = await readSettings(pmRoot);
|
|
374
|
+
const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
|
|
375
|
+
const force = Boolean(options.force);
|
|
376
|
+
const mutationOptions = buildLifecycleMutationOptions(options);
|
|
377
|
+
const [{ runUpdate }, { runRelease }] = await Promise.all([
|
|
378
|
+
import("./commands/update.js"),
|
|
379
|
+
import("./commands/claim.js"),
|
|
380
|
+
]);
|
|
381
|
+
const updateResult = await runUpdate(id, { ...mutationOptions, status: statusRegistry.open_status, force }, globalOptions);
|
|
382
|
+
await invalidateSearchCachesForMutation(globalOptions, updateResult);
|
|
383
|
+
const releaseResult = await runRelease(id, force, globalOptions, mutationOptions);
|
|
384
|
+
await invalidateSearchCachesForMutation(globalOptions, releaseResult);
|
|
385
|
+
printResult({ id, action: "pause_task", update: updateResult, release: releaseResult }, globalOptions);
|
|
386
|
+
if (globalOptions.profile) {
|
|
387
|
+
printError(`profile:command=pause-task took_ms=${Date.now() - startedAt}`);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
async function runCloseTaskAction(id, reason, options, command) {
|
|
391
|
+
const globalOptions = getGlobalOptions(command);
|
|
392
|
+
const startedAt = Date.now();
|
|
393
|
+
const force = Boolean(options.force);
|
|
394
|
+
const mutationOptions = buildLifecycleMutationOptions(options);
|
|
395
|
+
const [{ runClose }, { runRelease }] = await Promise.all([
|
|
396
|
+
import("./commands/close.js"),
|
|
397
|
+
import("./commands/claim.js"),
|
|
398
|
+
]);
|
|
399
|
+
const closeResult = await runClose(id, reason, {
|
|
400
|
+
...mutationOptions,
|
|
401
|
+
validateClose: readOptionString(options, "validateClose"),
|
|
402
|
+
force,
|
|
403
|
+
}, globalOptions);
|
|
404
|
+
await invalidateSearchCachesForMutation(globalOptions, closeResult);
|
|
405
|
+
const releaseResult = await runRelease(id, force, globalOptions, mutationOptions);
|
|
406
|
+
await invalidateSearchCachesForMutation(globalOptions, releaseResult);
|
|
407
|
+
printResult({ id, action: "close_task", close: closeResult, release: releaseResult }, globalOptions);
|
|
408
|
+
if (globalOptions.profile) {
|
|
409
|
+
printError(`profile:command=close-task took_ms=${Date.now() - startedAt}`);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
125
412
|
/**
|
|
126
413
|
* Implements register operation commands for the public runtime surface of this module.
|
|
127
414
|
*/
|
|
@@ -155,9 +442,7 @@ export function registerOperationCommands(program) {
|
|
|
155
442
|
.option("--message <value>", "History message")
|
|
156
443
|
.option("--force", "Force ownership override")
|
|
157
444
|
.description("Manage tests linked to an item and optionally run them.")
|
|
158
|
-
.action(
|
|
159
|
-
await runTestCommandAction(id, options, command);
|
|
160
|
-
});
|
|
445
|
+
.action(runTestCommandAction);
|
|
161
446
|
program
|
|
162
447
|
.command("test-all")
|
|
163
448
|
.description("Run linked tests across matching items.")
|
|
@@ -178,52 +463,7 @@ export function registerOperationCommands(program) {
|
|
|
178
463
|
.option("--require-assertions-for-pm", "Require assertion metadata for linked PM command tests")
|
|
179
464
|
.option("--check-context", "Preflight linked PM command context diagnostics before executing commands")
|
|
180
465
|
.option("--auto-pm-context", "Auto-remediate PM tracker-read context mismatches by routing those linked commands through tracker context")
|
|
181
|
-
.action(
|
|
182
|
-
const globalOptions = getGlobalOptions(command);
|
|
183
|
-
const startedAt = Date.now();
|
|
184
|
-
const runInBackground = options.background === true;
|
|
185
|
-
if (runInBackground) {
|
|
186
|
-
const { runStartBackgroundRun } = await import("./commands/test-runs.js");
|
|
187
|
-
const result = await runStartBackgroundRun({
|
|
188
|
-
kind: "test-all",
|
|
189
|
-
commandArgs: buildBackgroundTestAllCommandArgs(options),
|
|
190
|
-
statusFilter: typeof options.status === "string" ? options.status : undefined,
|
|
191
|
-
noExtensions: globalOptions.noExtensions === true,
|
|
192
|
-
}, globalOptions);
|
|
193
|
-
printResult(result, globalOptions);
|
|
194
|
-
if (globalOptions.profile) {
|
|
195
|
-
printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);
|
|
196
|
-
}
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
const { runTestAll } = await import("./commands/test-all.js");
|
|
200
|
-
const result = await runTestAll({
|
|
201
|
-
status: typeof options.status === "string" ? options.status : undefined,
|
|
202
|
-
limit: typeof options.limit === "string" ? options.limit : undefined,
|
|
203
|
-
offset: typeof options.offset === "string" ? options.offset : undefined,
|
|
204
|
-
timeout: typeof options.timeout === "string" ? options.timeout : undefined,
|
|
205
|
-
progress: Boolean(options.progress),
|
|
206
|
-
envSet: Array.isArray(options.envSet) ? options.envSet : [],
|
|
207
|
-
envClear: Array.isArray(options.envClear) ? options.envClear : [],
|
|
208
|
-
sharedHostSafe: Boolean(options.sharedHostSafe),
|
|
209
|
-
pmContext: typeof options.pmContext === "string" ? options.pmContext : undefined,
|
|
210
|
-
overrideLinkedPmContext: Boolean(options.overrideLinkedPmContext),
|
|
211
|
-
failOnContextMismatch: Boolean(options.failOnContextMismatch),
|
|
212
|
-
failOnSkipped: Boolean(options.failOnSkipped),
|
|
213
|
-
failOnEmptyTestRun: Boolean(options.failOnEmptyTestRun),
|
|
214
|
-
requireAssertionsForPm: Boolean(options.requireAssertionsForPm),
|
|
215
|
-
checkContext: Boolean(options.checkContext),
|
|
216
|
-
autoPmContext: Boolean(options.autoPmContext),
|
|
217
|
-
}, globalOptions);
|
|
218
|
-
await invalidateSearchCachesForMutation(globalOptions, { ids: result.results.map((entry) => entry.id) });
|
|
219
|
-
printResult(result, globalOptions);
|
|
220
|
-
if (result.failed > 0 || result.fail_on_skipped_triggered === true) {
|
|
221
|
-
process.exitCode = EXIT_CODE.DEPENDENCY_FAILED;
|
|
222
|
-
}
|
|
223
|
-
if (globalOptions.profile) {
|
|
224
|
-
printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);
|
|
225
|
-
}
|
|
226
|
-
});
|
|
466
|
+
.action(runTestAllAction);
|
|
227
467
|
program
|
|
228
468
|
.command("test-runs-worker", { hidden: true })
|
|
229
469
|
.argument("<runId>", "Background run id")
|
|
@@ -239,21 +479,7 @@ export function registerOperationCommands(program) {
|
|
|
239
479
|
.argument("[subcommand]", "Compatibility alias target for local-analytics: status, flush, stats, clear")
|
|
240
480
|
.option("--limit <n>", "Maximum command groups returned by telemetry stats")
|
|
241
481
|
.description("Inspect and manage local telemetry queue/runtime state.")
|
|
242
|
-
.action(
|
|
243
|
-
const globalOptions = getGlobalOptions(command);
|
|
244
|
-
const startedAt = Date.now();
|
|
245
|
-
const { runTelemetry } = await import("./commands/telemetry.js");
|
|
246
|
-
const result = await runTelemetry({
|
|
247
|
-
subcommand: resolveTelemetrySubcommand(namespaceOrSubcommand, subcommand),
|
|
248
|
-
// Commander always parses `--limit <n>` to a string (or leaves it
|
|
249
|
-
// undefined), so a string passthrough covers every CLI-reachable input.
|
|
250
|
-
limit: typeof options.limit === "string" ? options.limit : undefined,
|
|
251
|
-
}, globalOptions);
|
|
252
|
-
printResult(result, globalOptions);
|
|
253
|
-
if (globalOptions.profile) {
|
|
254
|
-
printError(`profile:command=telemetry took_ms=${Date.now() - startedAt}`);
|
|
255
|
-
}
|
|
256
|
-
});
|
|
482
|
+
.action(runTelemetryAction);
|
|
257
483
|
program
|
|
258
484
|
.command("stats")
|
|
259
485
|
.description("Show project tracker statistics.")
|
|
@@ -264,24 +490,7 @@ export function registerOperationCommands(program) {
|
|
|
264
490
|
.option("--by-priority", "Include a lifecycle-bucketed item breakdown grouped by priority")
|
|
265
491
|
.option("--tag-prefix <value>", "With --by-tag: only count tags starting with this prefix (e.g. domain:)")
|
|
266
492
|
.option("--field-utilization", "Report content-field utilization rates (notes/learnings/files/docs/tests/comments/deps/body) for governance audits")
|
|
267
|
-
.action(
|
|
268
|
-
const globalOptions = getGlobalOptions(command);
|
|
269
|
-
const startedAt = Date.now();
|
|
270
|
-
const { runStats } = await import("./commands/stats.js");
|
|
271
|
-
const result = await runStats(globalOptions, {
|
|
272
|
-
storage: options.storage === true,
|
|
273
|
-
metadataCoverage: options.metadataCoverage === true,
|
|
274
|
-
byAssignee: options.byAssignee === true,
|
|
275
|
-
byTag: options.byTag === true,
|
|
276
|
-
byPriority: options.byPriority === true,
|
|
277
|
-
tagPrefix: typeof options.tagPrefix === "string" ? options.tagPrefix : undefined,
|
|
278
|
-
fieldUtilization: options.fieldUtilization === true,
|
|
279
|
-
});
|
|
280
|
-
printResult(result, globalOptions);
|
|
281
|
-
if (globalOptions.profile) {
|
|
282
|
-
printError(`profile:command=stats took_ms=${Date.now() - startedAt}`);
|
|
283
|
-
}
|
|
284
|
-
});
|
|
493
|
+
.action(runStatsAction);
|
|
285
494
|
program
|
|
286
495
|
.command("health")
|
|
287
496
|
.description("Show project tracker health checks.")
|
|
@@ -299,41 +508,7 @@ export function registerOperationCommands(program) {
|
|
|
299
508
|
.option("--full", "Run all checks including slow integrity, drift, and vectorization checks")
|
|
300
509
|
.option("--strict-exit", "Return non-zero exit when health is not ok (advisory telemetry warnings are excluded; see warnings[])")
|
|
301
510
|
.option("--fail-on-warn", "Alias for --strict-exit")
|
|
302
|
-
.action(
|
|
303
|
-
const globalOptions = getGlobalOptions(command);
|
|
304
|
-
const startedAt = Date.now();
|
|
305
|
-
const { runHealth } = await import("./commands/health.js");
|
|
306
|
-
const result = await runHealth(globalOptions, {
|
|
307
|
-
strictDirectories: Boolean(options.strictDirectories),
|
|
308
|
-
checkOnly: Boolean(options.checkOnly),
|
|
309
|
-
checkTelemetry: Boolean(options.checkTelemetry),
|
|
310
|
-
noRefresh: Boolean(options.noRefresh),
|
|
311
|
-
refreshVectors: Boolean(options.refreshVectors),
|
|
312
|
-
verboseStaleItems: Boolean(options.verboseStaleItems),
|
|
313
|
-
brief: Boolean(options.brief),
|
|
314
|
-
summary: Boolean(options.summary),
|
|
315
|
-
skipVectors: Boolean(options.skipVectors),
|
|
316
|
-
skipIntegrity: Boolean(options.skipIntegrity),
|
|
317
|
-
skipDrift: Boolean(options.skipDrift),
|
|
318
|
-
full: Boolean(options.full),
|
|
319
|
-
});
|
|
320
|
-
printResult(result, globalOptions);
|
|
321
|
-
const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);
|
|
322
|
-
if (strictExit && !result.ok) {
|
|
323
|
-
setActiveCommandResult({
|
|
324
|
-
...result,
|
|
325
|
-
exit_code: EXIT_CODE.GENERIC_FAILURE,
|
|
326
|
-
error_code: "health_findings",
|
|
327
|
-
error_category: "validation",
|
|
328
|
-
command_resolution: "health_findings",
|
|
329
|
-
resolution_stage: "execute",
|
|
330
|
-
});
|
|
331
|
-
process.exitCode = EXIT_CODE.GENERIC_FAILURE;
|
|
332
|
-
}
|
|
333
|
-
if (globalOptions.profile) {
|
|
334
|
-
printError(`profile:command=health took_ms=${Date.now() - startedAt}`);
|
|
335
|
-
}
|
|
336
|
-
});
|
|
511
|
+
.action(runHealthAction);
|
|
337
512
|
program
|
|
338
513
|
.command("validate")
|
|
339
514
|
.description("Run standalone metadata, resolution, lifecycle, files, linked-command reference, and history drift validation checks.")
|
|
@@ -359,67 +534,13 @@ export function registerOperationCommands(program) {
|
|
|
359
534
|
.option("--fix-scope <scope>", "Grant --auto-fix scopes (metadata, resolution, lifecycle; comma-separated or repeatable). Default: metadata, resolution; lifecycle must be named explicitly", collect)
|
|
360
535
|
.option("--prune-missing", "Remove stale linked-file/doc LINKS whose paths classified as deleted (never touches real files)")
|
|
361
536
|
.option("--check-history-drift", "Run item/history hash drift checks")
|
|
362
|
-
.action(
|
|
363
|
-
const globalOptions = getGlobalOptions(command);
|
|
364
|
-
const startedAt = Date.now();
|
|
365
|
-
const { runValidate } = await import("./commands/validate.js");
|
|
366
|
-
const result = await runValidate({
|
|
367
|
-
checkMetadata: Boolean(options.checkMetadata),
|
|
368
|
-
metadataProfile: typeof options.metadataProfile === "string" ? options.metadataProfile : undefined,
|
|
369
|
-
checkResolution: Boolean(options.checkResolution),
|
|
370
|
-
checkLifecycle: Boolean(options.checkLifecycle),
|
|
371
|
-
checkStaleBlockers: Boolean(options.checkStaleBlockers),
|
|
372
|
-
dependencyCycleSeverity: typeof options.dependencyCycleSeverity === "string" ? options.dependencyCycleSeverity : undefined,
|
|
373
|
-
parentCycleSeverity: typeof options.parentCycleSeverity === "string" ? options.parentCycleSeverity : undefined,
|
|
374
|
-
checkFiles: Boolean(options.checkFiles),
|
|
375
|
-
checkCommandReferences: Boolean(options.checkCommandReferences),
|
|
376
|
-
scanMode: typeof options.scanMode === "string" ? options.scanMode : undefined,
|
|
377
|
-
includePmInternals: Boolean(options.includePmInternals),
|
|
378
|
-
verboseFileLists: Boolean(options.verboseFileLists),
|
|
379
|
-
verboseDiagnostics: Boolean(options.verboseDiagnostics),
|
|
380
|
-
allAffectedIds: Boolean(options.allAffectedIds),
|
|
381
|
-
checkHistoryDrift: Boolean(options.checkHistoryDrift),
|
|
382
|
-
fixHints: Boolean(options.fixHints),
|
|
383
|
-
autoFix: Boolean(options.autoFix),
|
|
384
|
-
dryRun: Boolean(options.dryRun),
|
|
385
|
-
fixScope: Array.isArray(options.fixScope) ? options.fixScope : undefined,
|
|
386
|
-
pruneMissing: Boolean(options.pruneMissing),
|
|
387
|
-
}, globalOptions);
|
|
388
|
-
printResult(result, globalOptions);
|
|
389
|
-
const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);
|
|
390
|
-
if (strictExit && (result.has_warnings || !result.ok)) {
|
|
391
|
-
setActiveCommandResult({
|
|
392
|
-
...result,
|
|
393
|
-
exit_code: EXIT_CODE.GENERIC_FAILURE,
|
|
394
|
-
error_code: "validation_findings",
|
|
395
|
-
error_category: "validation",
|
|
396
|
-
command_resolution: "validation_findings",
|
|
397
|
-
resolution_stage: "execute",
|
|
398
|
-
});
|
|
399
|
-
process.exitCode = EXIT_CODE.GENERIC_FAILURE;
|
|
400
|
-
}
|
|
401
|
-
if (globalOptions.profile) {
|
|
402
|
-
printError(`profile:command=validate took_ms=${Date.now() - startedAt}`);
|
|
403
|
-
}
|
|
404
|
-
});
|
|
537
|
+
.action(runValidateAction);
|
|
405
538
|
program
|
|
406
539
|
.command("gc")
|
|
407
540
|
.option("--dry-run", "Preview cleanup targets without deleting files; without this flag, pm gc deletes matched artifacts")
|
|
408
541
|
.option("--scope <value>", "Limit cleanup to one or more scopes (comma-separated or repeatable): index, embeddings, runtime, locks, checkpoints", collect)
|
|
409
542
|
.description("Delete optional cache artifacts by default (including expired lock debris) and show a summary.")
|
|
410
|
-
.action(
|
|
411
|
-
const globalOptions = getGlobalOptions(command);
|
|
412
|
-
const startedAt = Date.now();
|
|
413
|
-
const { runGc } = await import("./commands/gc.js");
|
|
414
|
-
const result = await runGc(globalOptions, {
|
|
415
|
-
dryRun: options.dryRun === true,
|
|
416
|
-
scope: Array.isArray(options.scope) ? options.scope : [],
|
|
417
|
-
});
|
|
418
|
-
printResult(result, globalOptions);
|
|
419
|
-
if (globalOptions.profile) {
|
|
420
|
-
printError(`profile:command=gc took_ms=${Date.now() - startedAt}`);
|
|
421
|
-
}
|
|
422
|
-
});
|
|
543
|
+
.action(runGcAction);
|
|
423
544
|
program
|
|
424
545
|
.command("contracts")
|
|
425
546
|
.description("Show machine-readable command and schema contracts for agents.")
|
|
@@ -431,24 +552,7 @@ export function registerOperationCommands(program) {
|
|
|
431
552
|
.option("--runtime-only", "Include only actions invocable in the current runtime")
|
|
432
553
|
.option("--active-only", "Alias for --runtime-only")
|
|
433
554
|
.option("--full", "Include full schema and command-flag surfaces (large; default brief output omits heavy sections for unfiltered queries)")
|
|
434
|
-
.action(
|
|
435
|
-
const globalOptions = getGlobalOptions(command);
|
|
436
|
-
const startedAt = Date.now();
|
|
437
|
-
const { runContracts } = await import("./commands/contracts.js");
|
|
438
|
-
const result = await runContracts({
|
|
439
|
-
action: typeof options.action === "string" ? options.action : undefined,
|
|
440
|
-
command: typeof options.command === "string" ? options.command : undefined,
|
|
441
|
-
schemaOnly: Boolean(options.schemaOnly),
|
|
442
|
-
flagsOnly: Boolean(options.flagsOnly),
|
|
443
|
-
availabilityOnly: Boolean(options.availabilityOnly),
|
|
444
|
-
runtimeOnly: Boolean(options.runtimeOnly) || Boolean(options.activeOnly),
|
|
445
|
-
full: Boolean(options.full),
|
|
446
|
-
}, globalOptions);
|
|
447
|
-
printResult(result, globalOptions);
|
|
448
|
-
if (globalOptions.profile) {
|
|
449
|
-
printError(`profile:command=contracts took_ms=${Date.now() - startedAt}`);
|
|
450
|
-
}
|
|
451
|
-
});
|
|
555
|
+
.action(runContractsAction);
|
|
452
556
|
program
|
|
453
557
|
.command("claim")
|
|
454
558
|
.argument("<id>", "Item id")
|
|
@@ -457,21 +561,7 @@ export function registerOperationCommands(program) {
|
|
|
457
561
|
.option("--force", "Force claim override")
|
|
458
562
|
.option("--if-available", "Skip silently when the item is already claimed by another author (returns skipped=true)")
|
|
459
563
|
.description("Claim an item for active work.")
|
|
460
|
-
.action(
|
|
461
|
-
const globalOptions = getGlobalOptions(command);
|
|
462
|
-
const startedAt = Date.now();
|
|
463
|
-
const { runClaim } = await import("./commands/claim.js");
|
|
464
|
-
const result = await runClaim(id, Boolean(options.force), globalOptions, {
|
|
465
|
-
author: typeof options.author === "string" ? options.author : undefined,
|
|
466
|
-
message: typeof options.message === "string" ? options.message : undefined,
|
|
467
|
-
ifAvailable: options.ifAvailable === true,
|
|
468
|
-
});
|
|
469
|
-
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
470
|
-
printResult(result, globalOptions);
|
|
471
|
-
if (globalOptions.profile) {
|
|
472
|
-
printError(`profile:command=claim took_ms=${Date.now() - startedAt}`);
|
|
473
|
-
}
|
|
474
|
-
});
|
|
564
|
+
.action(runClaimAction);
|
|
475
565
|
program
|
|
476
566
|
.command("release")
|
|
477
567
|
.argument("<id>", "Item id")
|
|
@@ -480,21 +570,7 @@ export function registerOperationCommands(program) {
|
|
|
480
570
|
.option("--allow-audit-release", "Allow non-owner release handoffs without requiring --force")
|
|
481
571
|
.option("--force", "Force release override")
|
|
482
572
|
.description("Release an item's active claim.")
|
|
483
|
-
.action(
|
|
484
|
-
const globalOptions = getGlobalOptions(command);
|
|
485
|
-
const startedAt = Date.now();
|
|
486
|
-
const { runRelease } = await import("./commands/claim.js");
|
|
487
|
-
const result = await runRelease(id, Boolean(options.force), globalOptions, {
|
|
488
|
-
author: typeof options.author === "string" ? options.author : undefined,
|
|
489
|
-
message: typeof options.message === "string" ? options.message : undefined,
|
|
490
|
-
allowAuditRelease: options.allowAuditRelease === true,
|
|
491
|
-
});
|
|
492
|
-
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
493
|
-
printResult(result, globalOptions);
|
|
494
|
-
if (globalOptions.profile) {
|
|
495
|
-
printError(`profile:command=release took_ms=${Date.now() - startedAt}`);
|
|
496
|
-
}
|
|
497
|
-
});
|
|
573
|
+
.action(runReleaseAction);
|
|
498
574
|
program
|
|
499
575
|
.command("start-task")
|
|
500
576
|
.argument("<id>", "Item id")
|
|
@@ -502,31 +578,7 @@ export function registerOperationCommands(program) {
|
|
|
502
578
|
.option("--message <value>", "History message")
|
|
503
579
|
.option("--force", "Force ownership or terminal override when required")
|
|
504
580
|
.description("Lifecycle alias: claim an item and move it to in_progress.")
|
|
505
|
-
.action(
|
|
506
|
-
const globalOptions = getGlobalOptions(command);
|
|
507
|
-
const startedAt = Date.now();
|
|
508
|
-
const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);
|
|
509
|
-
const settings = await readSettings(pmRoot);
|
|
510
|
-
const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
|
|
511
|
-
const inProgressStatus = resolveStartTaskInProgressStatus(statusRegistry);
|
|
512
|
-
const force = Boolean(options.force);
|
|
513
|
-
const mutationOptions = {
|
|
514
|
-
author: typeof options.author === "string" ? options.author : undefined,
|
|
515
|
-
message: typeof options.message === "string" ? options.message : undefined,
|
|
516
|
-
};
|
|
517
|
-
const [{ runClaim }, { runUpdate }] = await Promise.all([
|
|
518
|
-
import("./commands/claim.js"),
|
|
519
|
-
import("./commands/update.js"),
|
|
520
|
-
]);
|
|
521
|
-
const claimResult = await runClaim(id, force, globalOptions, mutationOptions);
|
|
522
|
-
await invalidateSearchCachesForMutation(globalOptions, claimResult);
|
|
523
|
-
const updateResult = await runUpdate(id, { ...mutationOptions, status: inProgressStatus, force }, globalOptions);
|
|
524
|
-
await invalidateSearchCachesForMutation(globalOptions, updateResult);
|
|
525
|
-
printResult({ id, action: "start_task", claim: claimResult, update: updateResult }, globalOptions);
|
|
526
|
-
if (globalOptions.profile) {
|
|
527
|
-
printError(`profile:command=start-task took_ms=${Date.now() - startedAt}`);
|
|
528
|
-
}
|
|
529
|
-
});
|
|
581
|
+
.action(runStartTaskAction);
|
|
530
582
|
program
|
|
531
583
|
.command("pause-task")
|
|
532
584
|
.argument("<id>", "Item id")
|
|
@@ -534,31 +586,7 @@ export function registerOperationCommands(program) {
|
|
|
534
586
|
.option("--message <value>", "History message")
|
|
535
587
|
.option("--force", "Force ownership override when required")
|
|
536
588
|
.description("Lifecycle alias: move an item to open and release its claim.")
|
|
537
|
-
.action(
|
|
538
|
-
const globalOptions = getGlobalOptions(command);
|
|
539
|
-
const startedAt = Date.now();
|
|
540
|
-
const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);
|
|
541
|
-
const settings = await readSettings(pmRoot);
|
|
542
|
-
const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
|
|
543
|
-
const openStatus = statusRegistry.open_status;
|
|
544
|
-
const force = Boolean(options.force);
|
|
545
|
-
const mutationOptions = {
|
|
546
|
-
author: typeof options.author === "string" ? options.author : undefined,
|
|
547
|
-
message: typeof options.message === "string" ? options.message : undefined,
|
|
548
|
-
};
|
|
549
|
-
const [{ runUpdate }, { runRelease }] = await Promise.all([
|
|
550
|
-
import("./commands/update.js"),
|
|
551
|
-
import("./commands/claim.js"),
|
|
552
|
-
]);
|
|
553
|
-
const updateResult = await runUpdate(id, { ...mutationOptions, status: openStatus, force }, globalOptions);
|
|
554
|
-
await invalidateSearchCachesForMutation(globalOptions, updateResult);
|
|
555
|
-
const releaseResult = await runRelease(id, force, globalOptions, mutationOptions);
|
|
556
|
-
await invalidateSearchCachesForMutation(globalOptions, releaseResult);
|
|
557
|
-
printResult({ id, action: "pause_task", update: updateResult, release: releaseResult }, globalOptions);
|
|
558
|
-
if (globalOptions.profile) {
|
|
559
|
-
printError(`profile:command=pause-task took_ms=${Date.now() - startedAt}`);
|
|
560
|
-
}
|
|
561
|
-
});
|
|
589
|
+
.action(runPauseTaskAction);
|
|
562
590
|
program
|
|
563
591
|
.command("close-task")
|
|
564
592
|
.argument("<id>", "Item id")
|
|
@@ -568,31 +596,7 @@ export function registerOperationCommands(program) {
|
|
|
568
596
|
.option("--validate-close <value>", "Close-time validation mode: off|warn|strict")
|
|
569
597
|
.option("--force", "Force ownership or terminal override when required")
|
|
570
598
|
.description("Lifecycle alias: close an item and release assignment metadata.")
|
|
571
|
-
.action(
|
|
572
|
-
const globalOptions = getGlobalOptions(command);
|
|
573
|
-
const startedAt = Date.now();
|
|
574
|
-
const force = Boolean(options.force);
|
|
575
|
-
const mutationOptions = {
|
|
576
|
-
author: typeof options.author === "string" ? options.author : undefined,
|
|
577
|
-
message: typeof options.message === "string" ? options.message : undefined,
|
|
578
|
-
};
|
|
579
|
-
const [{ runClose }, { runRelease }] = await Promise.all([
|
|
580
|
-
import("./commands/close.js"),
|
|
581
|
-
import("./commands/claim.js"),
|
|
582
|
-
]);
|
|
583
|
-
const closeResult = await runClose(id, reason, {
|
|
584
|
-
...mutationOptions,
|
|
585
|
-
validateClose: typeof options.validateClose === "string" ? options.validateClose : undefined,
|
|
586
|
-
force,
|
|
587
|
-
}, globalOptions);
|
|
588
|
-
await invalidateSearchCachesForMutation(globalOptions, closeResult);
|
|
589
|
-
const releaseResult = await runRelease(id, force, globalOptions, mutationOptions);
|
|
590
|
-
await invalidateSearchCachesForMutation(globalOptions, releaseResult);
|
|
591
|
-
printResult({ id, action: "close_task", close: closeResult, release: releaseResult }, globalOptions);
|
|
592
|
-
if (globalOptions.profile) {
|
|
593
|
-
printError(`profile:command=close-task took_ms=${Date.now() - startedAt}`);
|
|
594
|
-
}
|
|
595
|
-
});
|
|
599
|
+
.action(runCloseTaskAction);
|
|
596
600
|
registerSchedulingShortcutCommands(program);
|
|
597
601
|
}
|
|
598
602
|
/**
|
|
@@ -696,4 +700,4 @@ function registerSchedulingShortcutCommands(program) {
|
|
|
696
700
|
});
|
|
697
701
|
}
|
|
698
702
|
//# sourceMappingURL=register-operations.js.map
|
|
699
|
-
//# debugId=
|
|
703
|
+
//# debugId=962c869e-fec2-5e55-87c2-07feb8bf0782
|