@unbrained/pm-cli 2026.6.12 → 2026.6.16
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 +103 -0
- package/README.md +2 -2
- package/dist/cli/bootstrap-args.d.ts +29 -0
- package/dist/cli/bootstrap-args.js +11 -4
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commander-usage.d.ts +12 -0
- package/dist/cli/commander-usage.js +18 -7
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/activity.d.ts +19 -0
- package/dist/cli/commands/activity.js +12 -2
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +58 -0
- package/dist/cli/commands/aggregate.js +48 -15
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/annotation-command.d.ts +6 -1
- package/dist/cli/commands/annotation-command.js +72 -2
- package/dist/cli/commands/annotation-command.js.map +1 -1
- package/dist/cli/commands/append.js +4 -3
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/close-many.d.ts +20 -0
- package/dist/cli/commands/close-many.js +14 -23
- package/dist/cli/commands/close-many.js.map +1 -1
- package/dist/cli/commands/close.js +37 -4
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments-audit.js +3 -2
- package/dist/cli/commands/comments-audit.js.map +1 -1
- package/dist/cli/commands/comments.d.ts +2 -0
- package/dist/cli/commands/comments.js +49 -23
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js +269 -8
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +51 -1
- package/dist/cli/commands/config.js +50 -12
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.d.ts +79 -1
- package/dist/cli/commands/context.js +151 -25
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +80 -1
- package/dist/cli/commands/contracts.js +54 -4
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.d.ts +49 -0
- package/dist/cli/commands/create.js +112 -7
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dedupe-audit.d.ts +33 -0
- package/dist/cli/commands/dedupe-audit.js +18 -14
- package/dist/cli/commands/dedupe-audit.js.map +1 -1
- package/dist/cli/commands/deps.js +7 -4
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/event-validation-messages.js +3 -3
- package/dist/cli/commands/event-validation-messages.js.map +1 -1
- package/dist/cli/commands/extension/bundled-catalog.d.ts +7 -0
- package/dist/cli/commands/extension/bundled-catalog.js +19 -15
- package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.d.ts +41 -1
- package/dist/cli/commands/extension/install-sources.js +26 -8
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension/shared.d.ts +5 -0
- package/dist/cli/commands/extension/shared.js +9 -3
- package/dist/cli/commands/extension/shared.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +133 -1
- package/dist/cli/commands/extension.js +127 -9
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.d.ts +30 -1
- package/dist/cli/commands/files.js +21 -2
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/focus.d.ts +11 -0
- package/dist/cli/commands/focus.js +86 -0
- package/dist/cli/commands/focus.js.map +1 -0
- package/dist/cli/commands/get.d.ts +9 -2
- package/dist/cli/commands/get.js +34 -6
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/guide.d.ts +5 -0
- package/dist/cli/commands/guide.js +6 -3
- package/dist/cli/commands/guide.js.map +1 -1
- package/dist/cli/commands/health.d.ts +109 -0
- package/dist/cli/commands/health.js +87 -35
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history-compact.js +27 -36
- package/dist/cli/commands/history-compact.js.map +1 -1
- package/dist/cli/commands/history-redact.d.ts +46 -0
- package/dist/cli/commands/history-redact.js +99 -67
- package/dist/cli/commands/history-redact.js.map +1 -1
- package/dist/cli/commands/history-repair.js +34 -37
- package/dist/cli/commands/history-repair.js.map +1 -1
- package/dist/cli/commands/history.js +6 -2
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +3 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init-agent-guidance.d.ts +54 -0
- package/dist/cli/commands/init-agent-guidance.js +31 -4
- package/dist/cli/commands/init-agent-guidance.js.map +1 -1
- package/dist/cli/commands/init.d.ts +36 -1
- package/dist/cli/commands/init.js +38 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learnings.js +4 -3
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/linked-test-parsers.d.ts +5 -0
- package/dist/cli/commands/linked-test-parsers.js +5 -2
- package/dist/cli/commands/linked-test-parsers.js.map +1 -1
- package/dist/cli/commands/list-filter-shared.d.ts +8 -0
- package/dist/cli/commands/list-filter-shared.js +70 -0
- package/dist/cli/commands/list-filter-shared.js.map +1 -0
- package/dist/cli/commands/list.d.ts +116 -0
- package/dist/cli/commands/list.js +194 -6
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +16 -2
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/notes.js +4 -3
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/plan.js +3 -2
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/reindex.d.ts +83 -0
- package/dist/cli/commands/reindex.js +45 -10
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.d.ts +40 -1
- package/dist/cli/commands/restore.js +27 -2
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/schema.d.ts +18 -0
- package/dist/cli/commands/schema.js +30 -3
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/search.d.ts +289 -1
- package/dist/cli/commands/search.js +367 -60
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +38 -0
- package/dist/cli/commands/stats.js +38 -10
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/telemetry.js +5 -3
- package/dist/cli/commands/telemetry.js.map +1 -1
- package/dist/cli/commands/templates.d.ts +18 -0
- package/dist/cli/commands/templates.js +9 -2
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/commands/test-all.d.ts +5 -0
- package/dist/cli/commands/test-all.js +9 -3
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test.d.ts +70 -1
- package/dist/cli/commands/test.js +84 -3
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.d.ts +34 -1
- package/dist/cli/commands/update-many.js +60 -31
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.d.ts +71 -0
- package/dist/cli/commands/update.js +74 -8
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +28 -1
- package/dist/cli/commands/upgrade.js +17 -4
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +114 -0
- package/dist/cli/commands/validate.js +154 -9
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +30 -0
- package/dist/cli/error-guidance.js +68 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-options.js +9 -7
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/help-content.d.ts +8 -0
- package/dist/cli/help-content.js +30 -6
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.d.ts +19 -1
- package/dist/cli/help-json-payload.js +16 -7
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.d.ts +223 -0
- package/dist/cli/main.js +214 -46
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +62 -5
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.d.ts +16 -0
- package/dist/cli/register-mutation.js +210 -40
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.d.ts +8 -0
- package/dist/cli/register-operations.js +33 -11
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +9 -6
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +4 -0
- package/dist/cli/registration-helpers.js +124 -38
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5P2KQCTH.js +18 -0
- package/dist/cli-bundle/chunks/{activity-XADJOG6G.js → activity-MJGTX4LO.js} +13 -11
- package/dist/cli-bundle/chunks/{aggregate-OD36DJU5.js → aggregate-MH3GROKB.js} +54 -25
- package/dist/cli-bundle/chunks/aggregate-MH3GROKB.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-6OTS3AOO.js → aggregate-OUGCDFNC.js} +55 -26
- package/dist/cli-bundle/chunks/aggregate-OUGCDFNC.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-JYWO4P7W.js → append-2Q4BPUBW.js} +10 -10
- package/dist/cli-bundle/chunks/{append-JYWO4P7W.js.map → append-2Q4BPUBW.js.map} +2 -2
- package/dist/cli-bundle/chunks/{append-KG55G7S3.js → append-VCRUG2W6.js} +11 -11
- package/dist/cli-bundle/chunks/append-VCRUG2W6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IGVJRZ6H.js → chunk-2IUJBMKS.js} +10 -9
- package/dist/cli-bundle/chunks/{chunk-IGVJRZ6H.js.map → chunk-2IUJBMKS.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ATEES5SX.js → chunk-2JEGCDYT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XUC4C4PT.js → chunk-3WAULYOY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UIG4TW2H.js → chunk-3XOXWOGA.js} +359 -19
- package/dist/cli-bundle/chunks/chunk-3XOXWOGA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3KLPFWZ4.js → chunk-4KBK4BA3.js} +16 -34
- package/dist/cli-bundle/chunks/chunk-4KBK4BA3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OLKBSY4N.js → chunk-4VLB4JH2.js} +51 -8
- package/dist/cli-bundle/chunks/chunk-4VLB4JH2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZMW77VWV.js → chunk-656HPQPO.js} +27 -12
- package/dist/cli-bundle/chunks/chunk-656HPQPO.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-CW6E4NAT.js → chunk-667XI4UJ.js} +309 -20
- package/dist/cli-bundle/chunks/chunk-667XI4UJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5SCT2JCT.js → chunk-6BV7ENQL.js} +9 -8
- package/dist/cli-bundle/chunks/chunk-6BV7ENQL.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js +35 -0
- package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VFUZV5EB.js → chunk-6NQXMGYU.js} +19 -8
- package/dist/cli-bundle/chunks/chunk-6NQXMGYU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GKIZW7SM.js → chunk-764O7EUA.js} +223 -50
- package/dist/cli-bundle/chunks/chunk-764O7EUA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-QJMGRZO2.js → chunk-7AGIXLNK.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-7EILPFMA.js +404 -0
- package/dist/cli-bundle/chunks/chunk-7EILPFMA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HI7STVF2.js → chunk-7K2MXFMX.js} +14 -32
- package/dist/cli-bundle/chunks/chunk-7K2MXFMX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TNAP7EJX.js → chunk-7L5VOUYP.js} +6 -17
- package/dist/cli-bundle/chunks/chunk-7L5VOUYP.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-7ZGKNHUL.js +61 -0
- package/dist/cli-bundle/chunks/chunk-7ZGKNHUL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7IYFN5R7.js → chunk-A576QZDL.js} +223 -50
- package/dist/cli-bundle/chunks/chunk-A576QZDL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KBPQHXWG.js → chunk-AERT7KT3.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-ASM4DVRW.js +58 -0
- package/dist/cli-bundle/chunks/chunk-ASM4DVRW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KWAXVAXX.js → chunk-B5Q7XC4K.js} +117 -37
- package/dist/cli-bundle/chunks/chunk-B5Q7XC4K.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EWFY7SLA.js → chunk-BJWTFOZM.js} +74 -14
- package/dist/cli-bundle/chunks/chunk-BJWTFOZM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XJDGS74Y.js → chunk-CBMETQ2U.js} +105 -31
- package/dist/cli-bundle/chunks/chunk-CBMETQ2U.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ESANVZF4.js → chunk-E6J2PEK6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VSRZRLG3.js → chunk-F2GC6L3N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I7NYDZDV.js → chunk-F7WSO5UX.js} +7 -18
- package/dist/cli-bundle/chunks/chunk-F7WSO5UX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-VAOUX6TK.js → chunk-FTAZLAR7.js} +8 -5
- package/dist/cli-bundle/chunks/{chunk-VAOUX6TK.js.map → chunk-FTAZLAR7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-OASDW5UI.js → chunk-FXNT5LPX.js} +77 -9
- package/dist/cli-bundle/chunks/chunk-FXNT5LPX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WUNFKP7M.js → chunk-G2YVUY7I.js} +14 -9
- package/dist/cli-bundle/chunks/chunk-G2YVUY7I.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-L5EPZQIC.js → chunk-G3CEIXTV.js} +68 -19
- package/dist/cli-bundle/chunks/chunk-G3CEIXTV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UUWGCWBU.js → chunk-GAVE4MYM.js} +37 -63
- package/dist/cli-bundle/chunks/chunk-GAVE4MYM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SXKNJPQ7.js → chunk-GQ4JKNMV.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-SXKNJPQ7.js.map → chunk-GQ4JKNMV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-73ZPG2I3.js → chunk-GYMG7AG6.js} +36 -62
- package/dist/cli-bundle/chunks/chunk-GYMG7AG6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-35P4GT6E.js → chunk-H6EH6ENJ.js} +362 -22
- package/dist/cli-bundle/chunks/chunk-H6EH6ENJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-F75JSIOZ.js → chunk-HDIDUME4.js} +45 -13
- package/dist/cli-bundle/chunks/chunk-HDIDUME4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XWMF3POR.js → chunk-HPELHUTG.js} +122 -45
- package/dist/cli-bundle/chunks/chunk-HPELHUTG.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QKW5D45B.js → chunk-II7OGE3V.js} +20 -9
- package/dist/cli-bundle/chunks/chunk-II7OGE3V.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4HFU4UO2.js → chunk-ILHLIA47.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-4HFU4UO2.js.map → chunk-ILHLIA47.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-P5BJOMBB.js → chunk-IMQG4VR3.js} +118 -74
- package/dist/cli-bundle/chunks/chunk-IMQG4VR3.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AX4GEVQC.js → chunk-IQVB3YDD.js} +88 -22
- package/dist/cli-bundle/chunks/chunk-IQVB3YDD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-I53JBTJW.js → chunk-KQ3LAMDO.js} +45 -13
- package/dist/cli-bundle/chunks/chunk-KQ3LAMDO.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-A6LXQFO7.js → chunk-KTVETP66.js} +334 -253
- package/dist/cli-bundle/chunks/chunk-KTVETP66.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-DY6C42S6.js → chunk-KZYVTOG5.js} +26 -11
- package/dist/cli-bundle/chunks/chunk-KZYVTOG5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HGLC63AU.js → chunk-L6FJPOT4.js} +11 -10
- package/dist/cli-bundle/chunks/{chunk-HGLC63AU.js.map → chunk-L6FJPOT4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-FY4SPXSC.js → chunk-LV5FFQ7M.js} +354 -266
- package/dist/cli-bundle/chunks/chunk-LV5FFQ7M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PNYAAB4S.js → chunk-LWGMDLQ6.js} +8 -3
- package/dist/cli-bundle/chunks/chunk-LWGMDLQ6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XTKJSVWH.js → chunk-M23HXJL3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S26FESD4.js → chunk-MJZUZ2QE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I2IJY2NL.js → chunk-NCIBNERT.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-I2IJY2NL.js.map → chunk-NCIBNERT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-TK5VZFHY.js → chunk-NIQHNDBZ.js} +76 -8
- package/dist/cli-bundle/chunks/chunk-NIQHNDBZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-C6SAP27O.js → chunk-O46LTCXQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YW6Q3RYZ.js → chunk-OCTQJP42.js} +19 -8
- package/dist/cli-bundle/chunks/{chunk-YW6Q3RYZ.js.map → chunk-OCTQJP42.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WPDMBIX6.js → chunk-OLTYNVJR.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-IUKD4W6Z.js → chunk-OY3P2I6B.js} +13 -8
- package/dist/cli-bundle/chunks/chunk-OY3P2I6B.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SO55HRA5.js → chunk-PZD7WPUC.js} +69 -20
- package/dist/cli-bundle/chunks/chunk-PZD7WPUC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HHHJ2GI3.js → chunk-Q5RLUCP3.js} +74 -14
- package/dist/cli-bundle/chunks/chunk-Q5RLUCP3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-S2ZLDYGS.js → chunk-RKKIH2ZQ.js} +116 -36
- package/dist/cli-bundle/chunks/chunk-RKKIH2ZQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GWZSYR6X.js → chunk-SPYPC5CB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GWZSYR6X.js.map → chunk-SPYPC5CB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-7AMK6DOW.js → chunk-SY4GKIWT.js} +88 -22
- package/dist/cli-bundle/chunks/chunk-SY4GKIWT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZLMIWZUG.js → chunk-SY4PZWIZ.js} +7 -4
- package/dist/cli-bundle/chunks/{chunk-ZLMIWZUG.js.map → chunk-SY4PZWIZ.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-R2OUQVBK.js → chunk-T5VU7ROQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-37CYVF73.js → chunk-TIRZIQRP.js} +121 -44
- package/dist/cli-bundle/chunks/chunk-TIRZIQRP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7UGSRQCL.js → chunk-TUB3DZAZ.js} +107 -33
- package/dist/cli-bundle/chunks/chunk-TUB3DZAZ.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-UAR2VNCK.js +394 -0
- package/dist/cli-bundle/chunks/chunk-UAR2VNCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-P5U5EOMA.js → chunk-UBMCSJXX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ZYNJNPYD.js → chunk-UUKORJSN.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-R4VWYWRN.js → chunk-W3HFLORZ.js} +7 -2
- package/dist/cli-bundle/chunks/chunk-W3HFLORZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VPEAS7PS.js → chunk-WZCQVABQ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js +32 -0
- package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4YFAGDRH.js → chunk-XLNNCKTN.js} +322 -19
- package/dist/cli-bundle/chunks/chunk-XLNNCKTN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RXAP6JL5.js → chunk-XNOY7TCB.js} +118 -74
- package/dist/cli-bundle/chunks/chunk-XNOY7TCB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y3YKK7CY.js → chunk-YGRPBFMA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QNJSITCX.js → chunk-YXTLI4XP.js} +20 -9
- package/dist/cli-bundle/chunks/chunk-YXTLI4XP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FDH2X65L.js → chunk-Z3MUNQRV.js} +52 -9
- package/dist/cli-bundle/chunks/chunk-Z3MUNQRV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XMBI6TNW.js → chunk-ZJRDVYZI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-CCX4RSYZ.js → chunk-ZONXMSVB.js} +10 -9
- package/dist/cli-bundle/chunks/chunk-ZONXMSVB.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-2RDYMCTP.js → claim-4APLUXJW.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-MJ7DZFC3.js → claim-NEO7AGWH.js} +10 -10
- package/dist/cli-bundle/chunks/{close-XLEKIQSW.js → close-3QABBNGU.js} +8 -8
- package/dist/cli-bundle/chunks/close-ILMZR3D7.js +13 -0
- package/dist/cli-bundle/chunks/{close-many-AOD4HSAZ.js → close-many-MIZLTYGL.js} +32 -20
- package/dist/cli-bundle/chunks/close-many-MIZLTYGL.js.map +1 -0
- package/dist/cli-bundle/chunks/{close-many-XKAQY5CQ.js → close-many-Q7Y5AHQI.js} +31 -19
- package/dist/cli-bundle/chunks/close-many-Q7Y5AHQI.js.map +7 -0
- package/dist/cli-bundle/chunks/{comments-RN5TG4ZN.js → comments-DAIQPOMU.js} +55 -31
- package/dist/cli-bundle/chunks/comments-DAIQPOMU.js.map +1 -0
- package/dist/cli-bundle/chunks/{comments-B4RWWDJT.js → comments-IWFSVM4P.js} +54 -30
- package/dist/cli-bundle/chunks/comments-IWFSVM4P.js.map +7 -0
- package/dist/cli-bundle/chunks/{config-3JXJ3XZ7.js → config-IOJELD6O.js} +45 -19
- package/dist/cli-bundle/chunks/config-IOJELD6O.js.map +1 -0
- package/dist/cli-bundle/chunks/{config-FZ4UDC4B.js → config-PXTMAYV3.js} +44 -18
- package/dist/cli-bundle/chunks/config-PXTMAYV3.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-QBPO3BFM.js → context-QHJSCJW4.js} +128 -39
- package/dist/cli-bundle/chunks/context-QHJSCJW4.js.map +1 -0
- package/dist/cli-bundle/chunks/{context-L36PIN35.js → context-XZS2VFKU.js} +127 -38
- package/dist/cli-bundle/chunks/context-XZS2VFKU.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-2G66IGIA.js → contracts-B7U4OJTV.js} +54 -10
- package/dist/cli-bundle/chunks/contracts-B7U4OJTV.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-PJCHYSO5.js → contracts-NSBVLXQ3.js} +54 -10
- package/dist/cli-bundle/chunks/contracts-NSBVLXQ3.js.map +7 -0
- package/dist/cli-bundle/chunks/{copy-FWIVTLBO.js → copy-Q64T5FD4.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-ALU5WMHA.js → copy-SG34LCMU.js} +7 -7
- package/dist/cli-bundle/chunks/create-F5HZX2S4.js +30 -0
- package/dist/cli-bundle/chunks/{create-5433DP3G.js → create-IPAX2SNL.js} +16 -13
- package/dist/cli-bundle/chunks/{delete-Y2SGJBGY.js → delete-TLXR7LJ2.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-IYTIYAJS.js → delete-VH3L7DZ6.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-CZ4PTVXU.js → deps-J3HBBLDB.js} +9 -10
- package/dist/cli-bundle/chunks/{deps-CZ4PTVXU.js.map → deps-J3HBBLDB.js.map} +2 -2
- package/dist/cli-bundle/chunks/{deps-6TSPOSGU.js → deps-XV6JJ6IN.js} +10 -11
- package/dist/cli-bundle/chunks/deps-XV6JJ6IN.js.map +1 -0
- package/dist/cli-bundle/chunks/{docs-MXLGZUIT.js → docs-GWDEB7JH.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-I3BAF5WH.js → docs-RCLNSKID.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-Q34OEWO5.js → extension-5RN65LHT.js} +7 -5
- package/dist/cli-bundle/chunks/{extension-WH2FOIOZ.js → extension-7KO2NX2A.js} +7 -5
- package/dist/cli-bundle/chunks/{files-GUXUM2MB.js → files-3TCQHUHA.js} +25 -11
- package/dist/cli-bundle/chunks/files-3TCQHUHA.js.map +1 -0
- package/dist/cli-bundle/chunks/{files-FYP3MDPX.js → files-5FDUPSEA.js} +24 -10
- package/dist/cli-bundle/chunks/files-5FDUPSEA.js.map +7 -0
- package/dist/cli-bundle/chunks/focus-7AQMNRSU.js +109 -0
- package/dist/cli-bundle/chunks/focus-7AQMNRSU.js.map +7 -0
- package/dist/cli-bundle/chunks/focus-HQXBYPKM.js +106 -0
- package/dist/cli-bundle/chunks/focus-HQXBYPKM.js.map +1 -0
- package/dist/cli-bundle/chunks/{gc-KGQG66SA.js → gc-2FGKYRJ4.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-FENB2ESG.js → gc-5B6ABL3Z.js} +3 -3
- package/dist/cli-bundle/chunks/{get-PCHS7RA6.js → get-FUMVOJQD.js} +43 -16
- package/dist/cli-bundle/chunks/get-FUMVOJQD.js.map +1 -0
- package/dist/cli-bundle/chunks/{get-QARTE6BL.js → get-H5BZTW4A.js} +42 -15
- package/dist/cli-bundle/chunks/get-H5BZTW4A.js.map +7 -0
- package/dist/cli-bundle/chunks/{health-E4D7KGHD.js → health-JSVOR6B4.js} +75 -49
- package/dist/cli-bundle/chunks/health-JSVOR6B4.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-7MTXAVR2.js → health-LE2ZQGSM.js} +74 -48
- package/dist/cli-bundle/chunks/health-LE2ZQGSM.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-7WUAEWHW.js → history-QO4JVJJP.js} +10 -10
- package/dist/cli-bundle/chunks/history-SSXGGTVZ.js +20 -0
- package/dist/cli-bundle/chunks/{history-compact-LW27IPFK.js → history-compact-ID74DOUI.js} +37 -46
- package/dist/cli-bundle/chunks/history-compact-ID74DOUI.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-compact-3EJ3L2O7.js → history-compact-SDFRPZ4V.js} +38 -47
- package/dist/cli-bundle/chunks/history-compact-SDFRPZ4V.js.map +1 -0
- package/dist/cli-bundle/chunks/history-redact-VBH44Y7F.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-G72A4EJ4.js → history-redact-Z4P5MM3G.js} +13 -11
- package/dist/cli-bundle/chunks/{history-repair-OSQOKJ3E.js → history-repair-ANHEYWKF.js} +43 -48
- package/dist/cli-bundle/chunks/history-repair-ANHEYWKF.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-repair-SBK7P34V.js → history-repair-CKE7GLZR.js} +44 -49
- package/dist/cli-bundle/chunks/history-repair-CKE7GLZR.js.map +1 -0
- package/dist/cli-bundle/chunks/init-7FBQO77A.js +19 -0
- package/dist/cli-bundle/chunks/{init-S5WEGUJY.js → init-K6MSMB37.js} +11 -9
- package/dist/cli-bundle/chunks/{learnings-XK3P4ZDR.js → learnings-VIS3NOQV.js} +13 -12
- package/dist/cli-bundle/chunks/learnings-VIS3NOQV.js.map +7 -0
- package/dist/cli-bundle/chunks/{learnings-HQXSSKZ5.js → learnings-YYNB64GN.js} +14 -13
- package/dist/cli-bundle/chunks/learnings-YYNB64GN.js.map +1 -0
- package/dist/cli-bundle/chunks/list-7UE44A2R.js +29 -0
- package/dist/cli-bundle/chunks/list-UHMA3N2K.js +33 -0
- package/dist/cli-bundle/chunks/{notes-5T6P7C5V.js → notes-2HRMV67I.js} +14 -13
- package/dist/cli-bundle/chunks/notes-2HRMV67I.js.map +1 -0
- package/dist/cli-bundle/chunks/{notes-U5FZCSBT.js → notes-IN3UMA7W.js} +13 -12
- package/dist/cli-bundle/chunks/notes-IN3UMA7W.js.map +7 -0
- package/dist/cli-bundle/chunks/{plan-2YTQYWGM.js → plan-I3SVH7FV.js} +16 -15
- package/dist/cli-bundle/chunks/plan-I3SVH7FV.js.map +1 -0
- package/dist/cli-bundle/chunks/{plan-7IVSICR6.js → plan-PAWCCAPW.js} +15 -14
- package/dist/cli-bundle/chunks/plan-PAWCCAPW.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-4UPMHONX.js → register-list-query-N7Z7RTDM.js} +31 -22
- package/dist/cli-bundle/chunks/register-list-query-N7Z7RTDM.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-7VOW2C3W.js → register-list-query-OTIK4DVA.js} +32 -23
- package/dist/cli-bundle/chunks/register-list-query-OTIK4DVA.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-FARSGYRD.js → register-mutation-UFZK6Q57.js} +216 -66
- package/dist/cli-bundle/chunks/register-mutation-UFZK6Q57.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-LJDNVREU.js → register-mutation-XFORLS6D.js} +210 -67
- package/dist/cli-bundle/chunks/register-mutation-XFORLS6D.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-HCJKDUA6.js → register-operations-6ZCLKRBG.js} +53 -39
- package/dist/cli-bundle/chunks/register-operations-6ZCLKRBG.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-FFTYAL42.js → register-operations-ITE7JTH3.js} +54 -40
- package/dist/cli-bundle/chunks/register-operations-ITE7JTH3.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-6AVIUOCC.js → register-setup-7RKGE4BQ.js} +18 -21
- package/dist/cli-bundle/chunks/register-setup-7RKGE4BQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-KVNLO5OJ.js → register-setup-7UKEFKT6.js} +17 -20
- package/dist/cli-bundle/chunks/register-setup-7UKEFKT6.js.map +7 -0
- package/dist/cli-bundle/chunks/{restore-M6AFHMV4.js → restore-NNVPBBVJ.js} +13 -11
- package/dist/cli-bundle/chunks/restore-XXXLQ2XC.js +19 -0
- package/dist/cli-bundle/chunks/{schema-AINZ2IMM.js → schema-3HCLXCFX.js} +27 -9
- package/dist/cli-bundle/chunks/schema-3HCLXCFX.js.map +7 -0
- package/dist/cli-bundle/chunks/{schema-76HDZJCC.js → schema-3YKCQ3VO.js} +28 -10
- package/dist/cli-bundle/chunks/schema-3YKCQ3VO.js.map +1 -0
- package/dist/cli-bundle/chunks/{search-JMLFQEPJ.js → search-NQ42NC6A.js} +328 -71
- package/dist/cli-bundle/chunks/search-NQ42NC6A.js.map +7 -0
- package/dist/cli-bundle/chunks/{search-NL3TSCYB.js → search-V7PZ2ICH.js} +328 -71
- package/dist/cli-bundle/chunks/search-V7PZ2ICH.js.map +1 -0
- package/dist/cli-bundle/chunks/{stats-BKXCBIGT.js → stats-7KD4PJC5.js} +41 -16
- package/dist/cli-bundle/chunks/stats-7KD4PJC5.js.map +7 -0
- package/dist/cli-bundle/chunks/{stats-UBD56TGK.js → stats-GRHO6RFB.js} +42 -17
- package/dist/cli-bundle/chunks/stats-GRHO6RFB.js.map +1 -0
- package/dist/cli-bundle/chunks/{telemetry-ZJXK3H7X.js → telemetry-H5GLXNG5.js} +6 -6
- package/dist/cli-bundle/chunks/telemetry-H5GLXNG5.js.map +7 -0
- package/dist/cli-bundle/chunks/{telemetry-N454RHG5.js → telemetry-TRRYZXWT.js} +7 -7
- package/dist/cli-bundle/chunks/telemetry-TRRYZXWT.js.map +1 -0
- package/dist/cli-bundle/chunks/test-6CZNIIGA.js +34 -0
- package/dist/cli-bundle/chunks/{test-BQAKIXAT.js → test-7GVQ3VMN.js} +16 -14
- package/dist/cli-bundle/chunks/{test-all-7LV3I6S5.js → test-all-3LF2OZD2.js} +23 -16
- package/dist/cli-bundle/chunks/test-all-3LF2OZD2.js.map +7 -0
- package/dist/cli-bundle/chunks/{test-all-TDYCCBA4.js → test-all-ODVADHV6.js} +24 -17
- package/dist/cli-bundle/chunks/test-all-ODVADHV6.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-E64M6XS3.js → test-runs-LYT6ZTNQ.js} +62 -65
- package/dist/cli-bundle/chunks/test-runs-LYT6ZTNQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-LXZLULCI.js → test-runs-RVP6VWN7.js} +61 -64
- package/dist/cli-bundle/chunks/test-runs-RVP6VWN7.js.map +7 -0
- package/dist/cli-bundle/chunks/update-MPGM6SBE.js +28 -0
- package/dist/cli-bundle/chunks/update-UN75XW3C.js +24 -0
- package/dist/cli-bundle/chunks/{update-many-F4IKDWZB.js → update-many-FCU6RKTO.js} +80 -34
- package/dist/cli-bundle/chunks/update-many-FCU6RKTO.js.map +1 -0
- package/dist/cli-bundle/chunks/{update-many-NTWZ5YT3.js → update-many-XSEQJ24X.js} +79 -33
- package/dist/cli-bundle/chunks/update-many-XSEQJ24X.js.map +7 -0
- package/dist/cli-bundle/chunks/{upgrade-37F7JKES.js → upgrade-A6TL3INC.js} +22 -8
- package/dist/cli-bundle/chunks/upgrade-A6TL3INC.js.map +7 -0
- package/dist/cli-bundle/chunks/{upgrade-L32JA4TZ.js → upgrade-FOB5LHO5.js} +23 -9
- package/dist/cli-bundle/chunks/upgrade-FOB5LHO5.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-46KCRHL7.js → validate-7BLDG3AT.js} +222 -31
- package/dist/cli-bundle/chunks/validate-7BLDG3AT.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-CRFMPTYD.js → validate-EHL3MI2V.js} +236 -31
- package/dist/cli-bundle/chunks/validate-EHL3MI2V.js.map +7 -0
- package/dist/cli-bundle/main.js +305 -140
- package/dist/cli-bundle/main.js.map +3 -3
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +21 -8
- package/dist/cli.js.map +1 -1
- package/dist/core/diagnostics/remediation.js +7 -2
- package/dist/core/diagnostics/remediation.js.map +1 -1
- package/dist/core/extensions/extension-capability-aliases.js +7 -33
- package/dist/core/extensions/extension-capability-aliases.js.map +1 -1
- package/dist/core/extensions/extension-policy.js +14 -15
- package/dist/core/extensions/extension-policy.js.map +1 -1
- package/dist/core/extensions/item-fields.js +4 -5
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +75 -1
- package/dist/core/extensions/loader.js +56 -32
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/governance/content-fields.d.ts +84 -0
- package/dist/core/governance/content-fields.js +182 -0
- package/dist/core/governance/content-fields.js.map +1 -0
- package/dist/core/governance/issue-codes.d.ts +51 -0
- package/dist/core/governance/issue-codes.js +95 -0
- package/dist/core/governance/issue-codes.js.map +1 -0
- package/dist/core/governance/metadata-coverage.d.ts +168 -0
- package/dist/core/governance/metadata-coverage.js +362 -0
- package/dist/core/governance/metadata-coverage.js.map +1 -0
- package/dist/core/history/history-rewrite.d.ts +22 -0
- package/dist/core/history/history-rewrite.js +38 -2
- package/dist/core/history/history-rewrite.js.map +1 -1
- package/dist/core/history/history.d.ts +7 -0
- package/dist/core/history/history.js +6 -2
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/io/body-file.d.ts +14 -0
- package/dist/core/io/body-file.js +47 -0
- package/dist/core/io/body-file.js.map +1 -0
- package/dist/core/item/item-format.d.ts +46 -1
- package/dist/core/item/item-format.js +51 -60
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/parse.d.ts +9 -0
- package/dist/core/item/parse.js +10 -16
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/item/type-registry.d.ts +1 -0
- package/dist/core/item/type-registry.js +8 -10
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/lock.d.ts +26 -0
- package/dist/core/lock/lock.js +10 -2
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/output/output.d.ts +7 -0
- package/dist/core/output/output.js +6 -2
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/item-types-file.d.ts +25 -2
- package/dist/core/schema/item-types-file.js +78 -6
- package/dist/core/schema/item-types-file.js.map +1 -1
- package/dist/core/schema/runtime-schema.d.ts +7 -0
- package/dist/core/schema/runtime-schema.js +23 -16
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/background-refresh.js +3 -3
- package/dist/core/search/background-refresh.js.map +1 -1
- package/dist/core/search/cache.d.ts +19 -1
- package/dist/core/search/cache.js +11 -3
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/corpus.d.ts +36 -2
- package/dist/core/search/corpus.js +120 -24
- package/dist/core/search/corpus.js.map +1 -1
- package/dist/core/search/providers.d.ts +19 -0
- package/dist/core/search/providers.js +19 -2
- package/dist/core/search/providers.js.map +1 -1
- package/dist/core/sentry/instrument.d.ts +1 -0
- package/dist/core/sentry/instrument.js +6 -2
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/session/session-state.d.ts +16 -0
- package/dist/core/session/session-state.js +48 -0
- package/dist/core/session/session-state.js.map +1 -0
- package/dist/core/shared/constants.d.ts +8 -0
- package/dist/core/shared/constants.js +11 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +3 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/text-normalization.js +4 -3
- package/dist/core/shared/text-normalization.js.map +1 -1
- package/dist/core/shared/time.d.ts +13 -0
- package/dist/core/shared/time.js +19 -7
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/item-store.d.ts +11 -0
- package/dist/core/store/item-store.js +16 -23
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +2 -0
- package/dist/core/store/settings-validator.js +25 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.d.ts +60 -1
- package/dist/core/store/settings.js +100 -46
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/observability.js +10 -8
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +272 -1
- package/dist/core/telemetry/runtime.js +358 -37
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.d.ts +35 -0
- package/dist/core/test/background-runs.js +72 -61
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/test/run-selectors.js +5 -4
- package/dist/core/test/run-selectors.js.map +1 -1
- package/dist/core/validate/estimate-defaults.d.ts +39 -0
- package/dist/core/validate/estimate-defaults.js +117 -0
- package/dist/core/validate/estimate-defaults.js.map +1 -0
- package/dist/core/validate/fix-planning.d.ts +21 -3
- package/dist/core/validate/fix-planning.js +31 -4
- package/dist/core/validate/fix-planning.js.map +1 -1
- package/dist/core/validate/missing-link-owners.d.ts +64 -0
- package/dist/core/validate/missing-link-owners.js +98 -0
- package/dist/core/validate/missing-link-owners.js.map +1 -0
- package/dist/mcp/server.d.ts +62 -0
- package/dist/mcp/server.js +71 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-definitions.js +17 -4
- package/dist/mcp/tool-definitions.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +13 -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.js +110 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +83 -8
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +28 -0
- package/dist/sdk/cli-contracts.js +164 -11
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/types.d.ts +17 -1
- package/dist/types.js +3 -3
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +15 -3
- package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
- package/docs/COMMANDS.md +136 -7
- package/docs/CONFIGURATION.md +52 -0
- package/docs/TESTING.md +6 -4
- package/package.json +6 -4
- package/packages/pm-calendar/extensions/calendar/runtime.js +6 -0
- package/packages/pm-calendar/extensions/calendar/runtime.ts +12 -0
- package/packages/pm-todos/extensions/todos/runtime.ts +5 -0
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +6 -14
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/plugins/pm-codex/README.md +1 -1
- package/scripts/bundle-cli.mjs +46 -37
- package/scripts/finalize-build.mjs +20 -9
- package/scripts/prepare-build-cache.mjs +27 -16
- package/dist/cli-bundle/chunks/activity-XZIUPGZH.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-6OTS3AOO.js.map +0 -1
- package/dist/cli-bundle/chunks/aggregate-OD36DJU5.js.map +0 -7
- package/dist/cli-bundle/chunks/append-KG55G7S3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-35P4GT6E.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-37CYVF73.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3KLPFWZ4.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4JCSYR6F.js +0 -138
- package/dist/cli-bundle/chunks/chunk-4JCSYR6F.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4YFAGDRH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5SCT2JCT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-73ZPG2I3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7AMK6DOW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7IYFN5R7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7UGSRQCL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-A6LXQFO7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-AVGHVVF7.js +0 -128
- package/dist/cli-bundle/chunks/chunk-AVGHVVF7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-AX4GEVQC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-CCX4RSYZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-CW6E4NAT.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DY6C42S6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EWFY7SLA.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-F75JSIOZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FDH2X65L.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FY4SPXSC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-GKIZW7SM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HHHJ2GI3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HI7STVF2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-I53JBTJW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-I7NYDZDV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IUKD4W6Z.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KWAXVAXX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-L5EPZQIC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-OASDW5UI.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OLKBSY4N.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-P5BJOMBB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PNYAAB4S.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QKW5D45B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QNJSITCX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-R4VWYWRN.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RXAP6JL5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-S2ZLDYGS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SO55HRA5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TK5VZFHY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TNAP7EJX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UIG4TW2H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UUWGCWBU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-VFUZV5EB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-WUNFKP7M.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XJDGS74Y.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XWMF3POR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ZMW77VWV.js.map +0 -1
- package/dist/cli-bundle/chunks/close-4FMAPEMY.js +0 -13
- package/dist/cli-bundle/chunks/close-many-AOD4HSAZ.js.map +0 -1
- package/dist/cli-bundle/chunks/close-many-XKAQY5CQ.js.map +0 -7
- package/dist/cli-bundle/chunks/comments-B4RWWDJT.js.map +0 -7
- package/dist/cli-bundle/chunks/comments-RN5TG4ZN.js.map +0 -1
- package/dist/cli-bundle/chunks/config-3JXJ3XZ7.js.map +0 -1
- package/dist/cli-bundle/chunks/config-FZ4UDC4B.js.map +0 -7
- package/dist/cli-bundle/chunks/context-L36PIN35.js.map +0 -7
- package/dist/cli-bundle/chunks/context-QBPO3BFM.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-2G66IGIA.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-PJCHYSO5.js.map +0 -7
- package/dist/cli-bundle/chunks/create-VWLWS34Z.js +0 -27
- package/dist/cli-bundle/chunks/deps-6TSPOSGU.js.map +0 -1
- package/dist/cli-bundle/chunks/files-FYP3MDPX.js.map +0 -7
- package/dist/cli-bundle/chunks/files-GUXUM2MB.js.map +0 -1
- package/dist/cli-bundle/chunks/get-PCHS7RA6.js.map +0 -1
- package/dist/cli-bundle/chunks/get-QARTE6BL.js.map +0 -7
- package/dist/cli-bundle/chunks/health-7MTXAVR2.js.map +0 -7
- package/dist/cli-bundle/chunks/health-E4D7KGHD.js.map +0 -1
- package/dist/cli-bundle/chunks/history-L2FQFRTU.js +0 -20
- package/dist/cli-bundle/chunks/history-compact-3EJ3L2O7.js.map +0 -1
- package/dist/cli-bundle/chunks/history-compact-LW27IPFK.js.map +0 -7
- package/dist/cli-bundle/chunks/history-redact-QWQCX5DZ.js +0 -19
- package/dist/cli-bundle/chunks/history-repair-OSQOKJ3E.js.map +0 -7
- package/dist/cli-bundle/chunks/history-repair-SBK7P34V.js.map +0 -1
- package/dist/cli-bundle/chunks/init-4BKRHGWW.js +0 -17
- package/dist/cli-bundle/chunks/learnings-HQXSSKZ5.js.map +0 -1
- package/dist/cli-bundle/chunks/learnings-XK3P4ZDR.js.map +0 -7
- package/dist/cli-bundle/chunks/list-6CL3XFT6.js +0 -23
- package/dist/cli-bundle/chunks/list-BYNN4ZEO.js +0 -19
- package/dist/cli-bundle/chunks/notes-5T6P7C5V.js.map +0 -1
- package/dist/cli-bundle/chunks/notes-U5FZCSBT.js.map +0 -7
- package/dist/cli-bundle/chunks/plan-2YTQYWGM.js.map +0 -1
- package/dist/cli-bundle/chunks/plan-7IVSICR6.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-4UPMHONX.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-7VOW2C3W.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-FARSGYRD.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-LJDNVREU.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-FFTYAL42.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-HCJKDUA6.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-6AVIUOCC.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-KVNLO5OJ.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-CHIOQAQL.js +0 -17
- package/dist/cli-bundle/chunks/schema-76HDZJCC.js.map +0 -1
- package/dist/cli-bundle/chunks/schema-AINZ2IMM.js.map +0 -7
- package/dist/cli-bundle/chunks/search-JMLFQEPJ.js.map +0 -7
- package/dist/cli-bundle/chunks/search-NL3TSCYB.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-BKXCBIGT.js.map +0 -7
- package/dist/cli-bundle/chunks/stats-UBD56TGK.js.map +0 -1
- package/dist/cli-bundle/chunks/telemetry-N454RHG5.js.map +0 -1
- package/dist/cli-bundle/chunks/telemetry-ZJXK3H7X.js.map +0 -7
- package/dist/cli-bundle/chunks/test-O74JFUH5.js +0 -32
- package/dist/cli-bundle/chunks/test-all-7LV3I6S5.js.map +0 -7
- package/dist/cli-bundle/chunks/test-all-TDYCCBA4.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-E64M6XS3.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-LXZLULCI.js.map +0 -7
- package/dist/cli-bundle/chunks/update-36JM7YZT.js +0 -21
- package/dist/cli-bundle/chunks/update-I246PCLO.js +0 -25
- package/dist/cli-bundle/chunks/update-many-F4IKDWZB.js.map +0 -1
- package/dist/cli-bundle/chunks/update-many-NTWZ5YT3.js.map +0 -7
- package/dist/cli-bundle/chunks/upgrade-37F7JKES.js.map +0 -7
- package/dist/cli-bundle/chunks/upgrade-L32JA4TZ.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-46KCRHL7.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-CRFMPTYD.js.map +0 -7
- /package/dist/cli-bundle/chunks/{activity-XZIUPGZH.js.map → activity-5P2KQCTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-XADJOG6G.js.map → activity-MJGTX4LO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ATEES5SX.js.map → chunk-2JEGCDYT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XUC4C4PT.js.map → chunk-3WAULYOY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QJMGRZO2.js.map → chunk-7AGIXLNK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KBPQHXWG.js.map → chunk-AERT7KT3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ESANVZF4.js.map → chunk-E6J2PEK6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VSRZRLG3.js.map → chunk-F2GC6L3N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XTKJSVWH.js.map → chunk-M23HXJL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S26FESD4.js.map → chunk-MJZUZ2QE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C6SAP27O.js.map → chunk-O46LTCXQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WPDMBIX6.js.map → chunk-OLTYNVJR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R2OUQVBK.js.map → chunk-T5VU7ROQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P5U5EOMA.js.map → chunk-UBMCSJXX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZYNJNPYD.js.map → chunk-UUKORJSN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VPEAS7PS.js.map → chunk-WZCQVABQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y3YKK7CY.js.map → chunk-YGRPBFMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XMBI6TNW.js.map → chunk-ZJRDVYZI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-2RDYMCTP.js.map → claim-4APLUXJW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-MJ7DZFC3.js.map → claim-NEO7AGWH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-XLEKIQSW.js.map → close-3QABBNGU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-4FMAPEMY.js.map → close-ILMZR3D7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-FWIVTLBO.js.map → copy-Q64T5FD4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-ALU5WMHA.js.map → copy-SG34LCMU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-VWLWS34Z.js.map → create-F5HZX2S4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-5433DP3G.js.map → create-IPAX2SNL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-Y2SGJBGY.js.map → delete-TLXR7LJ2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-IYTIYAJS.js.map → delete-VH3L7DZ6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-MXLGZUIT.js.map → docs-GWDEB7JH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-I3BAF5WH.js.map → docs-RCLNSKID.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-Q34OEWO5.js.map → extension-5RN65LHT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-WH2FOIOZ.js.map → extension-7KO2NX2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-KGQG66SA.js.map → gc-2FGKYRJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-FENB2ESG.js.map → gc-5B6ABL3Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-7WUAEWHW.js.map → history-QO4JVJJP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-L2FQFRTU.js.map → history-SSXGGTVZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-QWQCX5DZ.js.map → history-redact-VBH44Y7F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-G72A4EJ4.js.map → history-redact-Z4P5MM3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-4BKRHGWW.js.map → init-7FBQO77A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-S5WEGUJY.js.map → init-K6MSMB37.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-BYNN4ZEO.js.map → list-7UE44A2R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-6CL3XFT6.js.map → list-UHMA3N2K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-M6AFHMV4.js.map → restore-NNVPBBVJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-CHIOQAQL.js.map → restore-XXXLQ2XC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-O74JFUH5.js.map → test-6CZNIIGA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-BQAKIXAT.js.map → test-7GVQ3VMN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-I246PCLO.js.map → update-MPGM6SBE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-36JM7YZT.js.map → update-UN75XW3C.js.map} +0 -0
package/dist/cli-bundle/chunks/{register-mutation-LJDNVREU.js → register-mutation-XFORLS6D.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
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]="1cefd232-fe09-5271-abb9-bbd3ed26dabb")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
collect,
|
|
5
5
|
extractUpdateManyMutationOptionSource,
|
|
@@ -8,31 +8,66 @@ import {
|
|
|
8
8
|
invalidateSearchCachesForMutation,
|
|
9
9
|
normalizeCreateOptions,
|
|
10
10
|
normalizeUpdateOptions
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-HPELHUTG.js";
|
|
12
12
|
import {
|
|
13
13
|
CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,
|
|
14
14
|
UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-3XOXWOGA.js";
|
|
16
|
+
import "./chunk-CBMETQ2U.js";
|
|
17
17
|
import {
|
|
18
18
|
printError,
|
|
19
19
|
printResult,
|
|
20
20
|
writeStdout
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-NCIBNERT.js";
|
|
22
|
+
import "./chunk-7K2MXFMX.js";
|
|
23
|
+
import "./chunk-2JEGCDYT.js";
|
|
24
|
+
import "./chunk-GAVE4MYM.js";
|
|
25
|
+
import "./chunk-ZONXMSVB.js";
|
|
26
|
+
import "./chunk-G2YVUY7I.js";
|
|
27
27
|
import {
|
|
28
28
|
BUILTIN_ITEM_TYPE_VALUES,
|
|
29
29
|
EXIT_CODE,
|
|
30
30
|
PmCliError
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-KTVETP66.js";
|
|
32
32
|
|
|
33
33
|
// dist/cli/register-mutation.js
|
|
34
34
|
import { Option } from "commander";
|
|
35
35
|
|
|
36
|
+
// dist/core/io/body-file.js
|
|
37
|
+
import { readFile } from "node:fs/promises";
|
|
38
|
+
var defaultBodyFileReader = (path) => readFile(path, "utf8");
|
|
39
|
+
async function resolveBodyFileContent(bodyFile, inlineBody, readFileImpl = defaultBodyFileReader) {
|
|
40
|
+
if (inlineBody !== void 0) {
|
|
41
|
+
throw new PmCliError("--body and --body-file are mutually exclusive; provide the body inline with --body or from a file with --body-file, not both.", EXIT_CODE.USAGE, {
|
|
42
|
+
code: "body_file_conflicts_with_body",
|
|
43
|
+
required: "Choose exactly one body source.",
|
|
44
|
+
why: "Both --body and --body-file set the item body; allowing both would make the effective body ambiguous.",
|
|
45
|
+
nextSteps: ["Re-run with only --body <text> or only --body-file <path>."]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
const path = bodyFile.trim();
|
|
49
|
+
if (path.length === 0) {
|
|
50
|
+
throw new PmCliError("--body-file requires a file path.", EXIT_CODE.USAGE, {
|
|
51
|
+
code: "body_file_missing_path",
|
|
52
|
+
required: "Pass a readable file path: --body-file <path>.",
|
|
53
|
+
why: "An empty --body-file value has no file to read the body from."
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
return await readFileImpl(path);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
const errno = error?.code;
|
|
60
|
+
const isDirectory = errno === "EISDIR";
|
|
61
|
+
const detail = errno ? ` (${errno})` : "";
|
|
62
|
+
throw new PmCliError(isDirectory ? `--body-file "${path}" is a directory, not a file. Point it at a readable file.` : `--body-file could not read "${path}"${detail}. Check that the file exists and is readable.`, EXIT_CODE.NOT_FOUND, {
|
|
63
|
+
code: "body_file_unreadable",
|
|
64
|
+
required: "Point --body-file at an existing, readable file.",
|
|
65
|
+
why: `The body content is loaded from the file at the supplied path, so an unreadable path cannot produce a body${errno ? ` (underlying error: ${errno})` : ""}.`,
|
|
66
|
+
nextSteps: [`Verify the path: ls -l "${path}"`, "Or pass the body inline with --body <text>."]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
36
71
|
// dist/core/shared/option-alias-visibility.js
|
|
37
72
|
function extractLongFlags(flagSpec) {
|
|
38
73
|
return flagSpec.split(/[\s,|]+/).map((token) => token.trim()).filter((token) => token.startsWith("--"));
|
|
@@ -88,6 +123,62 @@ function parseSchemaOrderOption(raw) {
|
|
|
88
123
|
}
|
|
89
124
|
throw new PmCliError("--order must be a finite integer.", EXIT_CODE.USAGE);
|
|
90
125
|
}
|
|
126
|
+
function parsePositiveIntOption(flag) {
|
|
127
|
+
return (value) => {
|
|
128
|
+
const parsed = Number(value);
|
|
129
|
+
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
130
|
+
throw new PmCliError(`${flag} must be a positive integer (1-based index).`, EXIT_CODE.USAGE);
|
|
131
|
+
}
|
|
132
|
+
return parsed;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
function registerBulkContentAndGovernanceFilters(command, action) {
|
|
136
|
+
command.option("--filter-has-notes", `Select only items that have notes before ${action}`).option("--filter-no-notes", `Select only items that have no notes before ${action}`).option("--filter-has-learnings", `Select only items that have learnings before ${action}`).option("--filter-no-learnings", `Select only items that have no learnings before ${action}`).option("--filter-has-files", `Select only items that have linked files before ${action}`).option("--filter-no-files", `Select only items that have no linked files before ${action}`).option("--filter-has-docs", `Select only items that have linked docs before ${action}`).option("--filter-no-docs", `Select only items that have no linked docs before ${action}`).option("--filter-has-tests", `Select only items that have linked tests before ${action}`).option("--filter-no-tests", `Select only items that have no linked tests before ${action}`).option("--filter-has-comments", `Select only items that have comments before ${action}`).option("--filter-no-comments", `Select only items that have no comments before ${action}`).option("--filter-has-deps", `Select only items that have dependencies before ${action}`).option("--filter-no-deps", `Select only items that have no dependencies before ${action}`).option("--filter-has-body", `Select only items that have a non-empty body before ${action}`).option("--filter-empty-body", `Select only items with an empty body before ${action}`).option("--filter-has-linked-command", `Select only items whose linked tests carry a runnable command before ${action}`).option("--filter-no-linked-command", `Select only items whose linked tests carry no runnable command before ${action}`).option("--filter-reviewer-missing", `Select only items missing reviewer before ${action}`).option("--filter-risk-missing", `Select only items missing risk before ${action}`).option("--filter-confidence-missing", `Select only items missing confidence before ${action}`).option("--filter-sprint-missing", `Select only items missing sprint before ${action}`).option("--filter-release-missing", `Select only items missing release before ${action}`);
|
|
137
|
+
}
|
|
138
|
+
var BULK_CONTENT_FILTER_CONFLICTS = [
|
|
139
|
+
["filterHasNotes", "filterNoNotes", "--filter-has-notes", "--filter-no-notes"],
|
|
140
|
+
["filterHasLearnings", "filterNoLearnings", "--filter-has-learnings", "--filter-no-learnings"],
|
|
141
|
+
["filterHasFiles", "filterNoFiles", "--filter-has-files", "--filter-no-files"],
|
|
142
|
+
["filterHasDocs", "filterNoDocs", "--filter-has-docs", "--filter-no-docs"],
|
|
143
|
+
["filterHasTests", "filterNoTests", "--filter-has-tests", "--filter-no-tests"],
|
|
144
|
+
["filterHasComments", "filterNoComments", "--filter-has-comments", "--filter-no-comments"],
|
|
145
|
+
["filterHasDeps", "filterNoDeps", "--filter-has-deps", "--filter-no-deps"],
|
|
146
|
+
["filterHasBody", "filterEmptyBody", "--filter-has-body", "--filter-empty-body"],
|
|
147
|
+
["filterHasLinkedCommand", "filterNoLinkedCommand", "--filter-has-linked-command", "--filter-no-linked-command"]
|
|
148
|
+
];
|
|
149
|
+
function mapBulkContentAndGovernanceFilters(options) {
|
|
150
|
+
const presence = (key) => options[key] === true ? true : void 0;
|
|
151
|
+
for (const [hasKey, noKey, hasFlag, noFlag] of BULK_CONTENT_FILTER_CONFLICTS) {
|
|
152
|
+
if (options[hasKey] === true && options[noKey] === true) {
|
|
153
|
+
throw new PmCliError(`Cannot combine ${hasFlag} with ${noFlag} for the same field.`, EXIT_CODE.USAGE);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
filterReviewerMissing: presence("filterReviewerMissing"),
|
|
158
|
+
filterRiskMissing: presence("filterRiskMissing"),
|
|
159
|
+
filterConfidenceMissing: presence("filterConfidenceMissing"),
|
|
160
|
+
filterSprintMissing: presence("filterSprintMissing"),
|
|
161
|
+
filterReleaseMissing: presence("filterReleaseMissing"),
|
|
162
|
+
hasNotes: presence("filterHasNotes"),
|
|
163
|
+
hasLearnings: presence("filterHasLearnings"),
|
|
164
|
+
hasFiles: presence("filterHasFiles"),
|
|
165
|
+
hasDocs: presence("filterHasDocs"),
|
|
166
|
+
hasTests: presence("filterHasTests"),
|
|
167
|
+
hasComments: presence("filterHasComments"),
|
|
168
|
+
hasDeps: presence("filterHasDeps"),
|
|
169
|
+
hasBody: presence("filterHasBody"),
|
|
170
|
+
hasLinkedCommand: presence("filterHasLinkedCommand"),
|
|
171
|
+
noNotes: presence("filterNoNotes"),
|
|
172
|
+
noLearnings: presence("filterNoLearnings"),
|
|
173
|
+
noFiles: presence("filterNoFiles"),
|
|
174
|
+
noDocs: presence("filterNoDocs"),
|
|
175
|
+
noTests: presence("filterNoTests"),
|
|
176
|
+
noComments: presence("filterNoComments"),
|
|
177
|
+
noDeps: presence("filterNoDeps"),
|
|
178
|
+
emptyBody: presence("filterEmptyBody"),
|
|
179
|
+
noLinkedCommand: presence("filterNoLinkedCommand")
|
|
180
|
+
};
|
|
181
|
+
}
|
|
91
182
|
function registerCommanderOptionContracts(command, contracts) {
|
|
92
183
|
for (const contract of contracts) {
|
|
93
184
|
if (contract.required) {
|
|
@@ -108,10 +199,38 @@ function registerCommanderOptionContracts(command, contracts) {
|
|
|
108
199
|
}
|
|
109
200
|
}
|
|
110
201
|
}
|
|
202
|
+
function buildUpdateManyListOptions(options) {
|
|
203
|
+
const readString = (key) => typeof options[key] === "string" ? options[key] : void 0;
|
|
204
|
+
return {
|
|
205
|
+
type: readString("filterType"),
|
|
206
|
+
tag: readString("filterTag"),
|
|
207
|
+
priority: readString("filterPriority"),
|
|
208
|
+
deadlineBefore: readString("filterDeadlineBefore"),
|
|
209
|
+
deadlineAfter: readString("filterDeadlineAfter"),
|
|
210
|
+
updatedAfter: readString("filterUpdatedAfter"),
|
|
211
|
+
updatedBefore: readString("filterUpdatedBefore"),
|
|
212
|
+
createdAfter: readString("filterCreatedAfter"),
|
|
213
|
+
createdBefore: readString("filterCreatedBefore"),
|
|
214
|
+
ids: readString("ids"),
|
|
215
|
+
assignee: readString("filterAssignee"),
|
|
216
|
+
assigneeFilter: readString("filterAssigneeFilter") ?? readString("filterAssignee_filter"),
|
|
217
|
+
parent: readString("filterParent"),
|
|
218
|
+
sprint: readString("filterSprint"),
|
|
219
|
+
release: readString("filterRelease"),
|
|
220
|
+
filterAcMissing: options.filterAcMissing === true ? true : void 0,
|
|
221
|
+
filterEstimatesMissing: options.filterEstimatesMissing === true || options.filterEstimateMissing === true ? true : void 0,
|
|
222
|
+
filterResolutionMissing: options.filterResolutionMissing === true ? true : void 0,
|
|
223
|
+
filterMetadataMissing: options.filterMetadataMissing === true ? true : void 0,
|
|
224
|
+
...mapBulkContentAndGovernanceFilters(options),
|
|
225
|
+
limit: readString("limit"),
|
|
226
|
+
offset: readString("offset"),
|
|
227
|
+
includeBody: true
|
|
228
|
+
};
|
|
229
|
+
}
|
|
111
230
|
function registerMutationCommands(program) {
|
|
112
231
|
const createCommand = program.command("create").argument("[typeOrTitle]", 'Item title, or item type when a title follows (e.g. `pm create task "Fix bug"`)').argument("[title]", "Item title when the first argument is an item type").description("Create a new project management item.");
|
|
113
232
|
registerCommanderOptionContracts(createCommand, CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);
|
|
114
|
-
createCommand.option("--clear-deps", "Clear dependency entries").option("--clear-comments", "Clear comments").option("--clear-notes", "Clear notes").option("--clear-learnings", "Clear learnings").option("--clear-files", "Clear linked files").option("--clear-tests", "Clear linked tests").option("--clear-docs", "Clear linked docs").option("--clear-reminders", "Clear reminders").option("--clear-events", "Clear events").option("--clear-type-options", "Clear type options").action(async (typeOrTitle, secondTitle, options, command) => {
|
|
233
|
+
createCommand.option("--body-file <path>", "Load the item markdown body from a file (mutually exclusive with --body)").option("--clear-deps", "Clear dependency entries").option("--clear-comments", "Clear comments").option("--clear-notes", "Clear notes").option("--clear-learnings", "Clear learnings").option("--clear-files", "Clear linked files").option("--clear-tests", "Clear linked tests").option("--clear-docs", "Clear linked docs").option("--clear-reminders", "Clear reminders").option("--clear-events", "Clear events").option("--clear-type-options", "Clear type options").action(async (typeOrTitle, secondTitle, options, command) => {
|
|
115
234
|
const globalOptions = getGlobalOptions(command);
|
|
116
235
|
const startedAt = Date.now();
|
|
117
236
|
let positionalType;
|
|
@@ -120,7 +239,12 @@ function registerMutationCommands(program) {
|
|
|
120
239
|
positionalType = typeOrTitle;
|
|
121
240
|
positionalTitle = secondTitle;
|
|
122
241
|
} else if (typeof typeOrTitle === "string" && typeOrTitle.length > 0) {
|
|
123
|
-
|
|
242
|
+
const explicitTitleProvided = typeof options.title === "string" && options.title.trim().length > 0;
|
|
243
|
+
if (explicitTitleProvided && options.type === void 0) {
|
|
244
|
+
positionalType = typeOrTitle;
|
|
245
|
+
} else {
|
|
246
|
+
positionalTitle = typeOrTitle;
|
|
247
|
+
}
|
|
124
248
|
}
|
|
125
249
|
if (positionalType === void 0 && typeof positionalTitle === "string" && positionalTitle.length > 0 && options.title === void 0 && options.type === void 0 && BUILTIN_TYPE_NAME_LOOKUP.has(positionalTitle.trim().toLowerCase())) {
|
|
126
250
|
const matchedType = positionalTitle.trim();
|
|
@@ -142,8 +266,12 @@ function registerMutationCommands(program) {
|
|
|
142
266
|
if (typeof positionalTitle === "string" && positionalTitle.length > 0 && options.title === void 0) {
|
|
143
267
|
options.title = positionalTitle;
|
|
144
268
|
}
|
|
269
|
+
if (typeof options.bodyFile === "string") {
|
|
270
|
+
options.body = await resolveBodyFileContent(options.bodyFile, options.body !== void 0 ? String(options.body) : void 0);
|
|
271
|
+
delete options.bodyFile;
|
|
272
|
+
}
|
|
145
273
|
const normalized = normalizeCreateOptions(options, { requireType: false });
|
|
146
|
-
const { runCreate } = await import("./create-
|
|
274
|
+
const { runCreate } = await import("./create-IPAX2SNL.js");
|
|
147
275
|
const result = await runCreate(normalized, globalOptions);
|
|
148
276
|
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
149
277
|
printResult(result, globalOptions);
|
|
@@ -154,7 +282,7 @@ function registerMutationCommands(program) {
|
|
|
154
282
|
program.command("copy").argument("<id>", "Source item id").option("--title <value>", "Optional title override for the copied item").option("--author <value>", "Mutation author").option("--message <value>", "History message").description("Copy an item into a new item id while resetting lifecycle fields.").action(async (id, options, command) => {
|
|
155
283
|
const globalOptions = getGlobalOptions(command);
|
|
156
284
|
const startedAt = Date.now();
|
|
157
|
-
const { runCopy } = await import("./copy-
|
|
285
|
+
const { runCopy } = await import("./copy-SG34LCMU.js");
|
|
158
286
|
const result = await runCopy(id, {
|
|
159
287
|
title: typeof options.title === "string" ? options.title : void 0,
|
|
160
288
|
author: typeof options.author === "string" ? options.author : void 0,
|
|
@@ -166,15 +294,29 @@ function registerMutationCommands(program) {
|
|
|
166
294
|
printError(`profile:command=copy took_ms=${Date.now() - startedAt}`);
|
|
167
295
|
}
|
|
168
296
|
});
|
|
297
|
+
program.command("focus").argument("[id]", "Item id to focus (omit to show current focus)").option("--clear", "Clear the focused item").description("Set/clear/show the session focused item that new items default --parent to.").action(async (id, options, command) => {
|
|
298
|
+
const globalOptions = getGlobalOptions(command);
|
|
299
|
+
const startedAt = Date.now();
|
|
300
|
+
const { runFocus } = await import("./focus-HQXBYPKM.js");
|
|
301
|
+
const result = await runFocus(id, { clear: options.clear === true }, globalOptions);
|
|
302
|
+
printResult(result, globalOptions);
|
|
303
|
+
if (globalOptions.profile) {
|
|
304
|
+
printError(`profile:command=focus took_ms=${Date.now() - startedAt}`);
|
|
305
|
+
}
|
|
306
|
+
});
|
|
169
307
|
const updateCommand = program.command("update").argument("<id>", "Item id").description("Update item fields and metadata.");
|
|
170
308
|
registerCommanderOptionContracts(updateCommand, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);
|
|
171
|
-
updateCommand.option("--replace-deps", "Atomically replace dependency entries with the provided --dep values").option("--replace-tests", "Atomically replace linked test entries with the provided --test values").option("--clear-deps", "Clear dependency entries").option("--clear-comments", "Clear comments").option("--clear-notes", "Clear notes").option("--clear-learnings", "Clear learnings").option("--clear-files", "Clear linked files").option("--clear-tests", "Clear linked tests").option("--clear-docs", "Clear linked docs").option("--clear-reminders", "Clear reminders").option("--clear-events", "Clear events").option("--clear-type-options", "Clear type options").option("--allow-audit-update", "Allow non-owner metadata-only audit updates without requiring --force").option("--allow-audit-dep-update", "Allow non-owner append-only dependency updates without requiring --force").option("--force", "Force ownership override");
|
|
309
|
+
updateCommand.option("--body-file <path>", "Load the item markdown body from a file (mutually exclusive with --body)").option("--replace-deps", "Atomically replace dependency entries with the provided --dep values").option("--replace-tests", "Atomically replace linked test entries with the provided --test values").option("--clear-deps", "Clear dependency entries").option("--clear-comments", "Clear comments").option("--clear-notes", "Clear notes").option("--clear-learnings", "Clear learnings").option("--clear-files", "Clear linked files").option("--clear-tests", "Clear linked tests").option("--clear-docs", "Clear linked docs").option("--clear-reminders", "Clear reminders").option("--clear-events", "Clear events").option("--clear-type-options", "Clear type options").option("--allow-audit-update", "Allow non-owner metadata-only audit updates without requiring --force").option("--allow-audit-dep-update", "Allow non-owner append-only dependency updates without requiring --force").option("--force", "Force ownership override");
|
|
172
310
|
addHiddenOption(updateCommand, "--allow_audit_update", "Alias for --allow-audit-update", false);
|
|
173
311
|
addHiddenOption(updateCommand, "--allow_audit_dep_update", "Alias for --allow-audit-dep-update", false);
|
|
174
312
|
updateCommand.action(async (id, options, command) => {
|
|
175
313
|
const globalOptions = getGlobalOptions(command);
|
|
176
314
|
const startedAt = Date.now();
|
|
177
|
-
|
|
315
|
+
if (typeof options.bodyFile === "string") {
|
|
316
|
+
options.body = await resolveBodyFileContent(options.bodyFile, options.body !== void 0 ? String(options.body) : void 0);
|
|
317
|
+
delete options.bodyFile;
|
|
318
|
+
}
|
|
319
|
+
const { runUpdate } = await import("./update-MPGM6SBE.js");
|
|
178
320
|
const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);
|
|
179
321
|
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
180
322
|
printResult(result, globalOptions);
|
|
@@ -182,7 +324,9 @@ function registerMutationCommands(program) {
|
|
|
182
324
|
printError(`profile:command=update took_ms=${Date.now() - startedAt}`);
|
|
183
325
|
}
|
|
184
326
|
});
|
|
185
|
-
const updateManyCommand = program.command("update-many").description("Bulk-update matched items with dry-run plans and rollback checkpoints.").option("--filter-status <value>", "Filter by status before applying updates").option("--filter-type <value>", "Filter by item type before applying updates").option("--filter-tag <value>", "Filter by tag before applying updates").option("--filter-priority <value>", "Filter by priority before applying updates").option("--filter-deadline-before <value>", "Filter by deadline upper bound before applying updates").option("--filter-deadline-after <value>", "Filter by deadline lower bound before applying updates").option("--filter-updated-after <value>", "Filter by updated_at lower bound before applying updates (ISO/relative)").option("--filter-updated-before <value>", "Filter by updated_at upper bound before applying updates (ISO/relative)").option("--filter-created-after <value>", "Filter by created_at lower bound before applying updates (ISO/relative)").option("--filter-created-before <value>", "Filter by created_at upper bound before applying updates (ISO/relative)").option("--filter-assignee <value>", "Filter by assignee before applying updates").option("--filter-assignee-filter <value>", "Filter assignee presence: assigned|unassigned before applying updates").option("--filter-parent <value>", "Filter by parent item ID before applying updates").option("--filter-sprint <value>", "Filter by sprint before applying updates").option("--filter-release <value>", "Filter by release before applying updates").option("--
|
|
327
|
+
const updateManyCommand = program.command("update-many").description("Bulk-update matched items with dry-run plans and rollback checkpoints.").option("--filter-status <value>", "Filter by status before applying updates").option("--filter-type <value>", "Filter by item type before applying updates").option("--filter-tag <value>", "Filter by tag before applying updates").option("--filter-priority <value>", "Filter by priority before applying updates").option("--filter-deadline-before <value>", "Filter by deadline upper bound before applying updates").option("--filter-deadline-after <value>", "Filter by deadline lower bound before applying updates").option("--filter-updated-after <value>", "Filter by updated_at lower bound before applying updates (ISO/relative)").option("--filter-updated-before <value>", "Filter by updated_at upper bound before applying updates (ISO/relative)").option("--filter-created-after <value>", "Filter by created_at lower bound before applying updates (ISO/relative)").option("--filter-created-before <value>", "Filter by created_at upper bound before applying updates (ISO/relative)").option("--filter-assignee <value>", "Filter by assignee before applying updates").option("--filter-assignee-filter <value>", "Filter assignee presence: assigned|unassigned before applying updates").option("--filter-parent <value>", "Filter by parent item ID before applying updates").option("--filter-sprint <value>", "Filter by sprint before applying updates").option("--filter-release <value>", "Filter by release before applying updates").option("--filter-ac-missing", "Select only items missing acceptance_criteria (bulk backfill)").option("--filter-estimates-missing", "Select only items missing estimated_minutes (bulk backfill)").option("--filter-resolution-missing", "Select only terminal items missing resolution (bulk backfill)").option("--filter-metadata-missing", "Select only items missing any tracked metadata (AC, estimate, or resolution)");
|
|
328
|
+
registerBulkContentAndGovernanceFilters(updateManyCommand, "applying updates");
|
|
329
|
+
updateManyCommand.option("--ids <value>", "Restrict to an explicit comma-separated ID allowlist (intersected with other filters)").option("--limit <n>", "Limit matched item count before apply/preview").option("--offset <n>", "Skip first n matched rows before apply/preview").option("--dry-run", "Preview per-item diffs and checkpoint intent without mutating").option("--rollback <value>", "Rollback a prior update-many checkpoint ID").option("--no-checkpoint", "Disable checkpoint creation during apply mode").option("--title, -t <value>", "Set title").option("--description, -d <value>", "Set description").option("--body, -b <value>", "Set body (allow empty string)").option("--status, -s <value>", "Set status (use close command for closed)").option("--priority, -p <value>", "Set priority").option("--type <value>", "Set type").option("--tags <value>", "Set comma-separated tags (replaces existing). Use --add-tags / --remove-tags to mutate additively.").option("--add-tags <value>", "Add tags additively without replacing existing (repeatable; CSV accepted)", collect).option("--remove-tags <value>", "Remove tags from the existing list (repeatable; CSV accepted)", collect).option("--deadline <value>", "Set deadline (ISO/date string or relative)").option("--estimate, --estimated-minutes <value>", "Set estimated minutes").option("--acceptance-criteria <value>", "Set acceptance criteria").option("--ac <value>", "Alias for --acceptance-criteria").option("--definition-of-ready <value>", "Set definition of ready").option("--order <value>", "Set planning order/rank integer").option("--rank <value>", "Alias for --order").option("--goal <value>", "Set goal identifier").option("--objective <value>", "Set objective identifier").option("--value <value>", "Set business value summary").option("--impact <value>", "Set business impact summary").option("--outcome <value>", "Set expected outcome summary").option("--why-now <value>", "Set why-now rationale").option("--assignee <value>", "Set assignee").option("--parent <value>", "Set parent item ID").option("--reviewer <value>", "Set reviewer").option("--risk <value>", "Set risk level").option("--confidence <value>", "Set confidence level").option("--sprint <value>", "Set sprint identifier").option("--release <value>", "Set release identifier").option("--blocked-by <value>", "Set blocked-by item ID or reason").option("--blocked-reason <value>", "Set blocked reason").option("--unblock-note <value>", "Set unblock rationale note").option("--reporter <value>", "Set issue reporter").option("--severity <value>", "Set issue severity").option("--environment <value>", "Set issue environment context").option("--repro-steps <value>", "Set issue reproduction steps").option("--resolution <value>", "Set issue resolution summary").option("--expected-result <value>", "Set issue expected behavior").option("--expected <value>", "Short alias for --expected-result").option("--actual-result <value>", "Set issue observed behavior").option("--actual <value>", "Short alias for --actual-result").option("--affected-version <value>", "Set affected version identifier").option("--fixed-version <value>", "Set fixed version identifier").option("--component <value>", "Set issue component ownership").option("--regression <value>", "Set regression marker: true|false|1|0").option("--customer-impact <value>", "Set customer impact summary").option("--dep <value>", "Add dependency entry id=<id>,kind=<kind>,author=<author>,created_at=<timestamp>", collect).option("--dep-remove <value>", "Remove dependency entries by id/kind/author/timestamp signature", collect).option("--replace-deps", "Atomically replace dependency entries with provided --dep values").option("--replace-tests", "Atomically replace linked tests with provided --test values").option("--comment <value>", "Add comment seed author=<value>,created_at=<iso|now>,text=<value>", collect).option("--note <value>", "Add note seed author=<value>,created_at=<iso|now>,text=<value>", collect).option("--learning <value>", "Add learning seed author=<value>,created_at=<iso|now>,text=<value>", collect).option("--file <value>", "Add linked file path=<value>,scope=<project|global>,note=<text>", collect).option("--test <value>", "Add linked test command=<value>,path=<value>,scope=<project|global>", collect).option("--doc <value>", "Add linked doc path=<value>,scope=<project|global>,note=<text>", collect).option("--reminder <value>", "Add reminder entry at=<iso|relative>|date=<iso|relative>,text=<text>|title=<text>", collect).option("--event <value>", "Add event entry start=<iso|relative>,end=<iso|relative>,recur_*", collect).option("--type-option <value>", "Set type options key=value (repeatable)", collect).option("--unset <field>", "Clear scalar metadata field by name (repeatable)", collect).option("--clear-deps", "Clear dependency entries").option("--clear-comments", "Clear comments").option("--clear-notes", "Clear notes").option("--clear-learnings", "Clear learnings").option("--clear-files", "Clear linked files").option("--clear-tests", "Clear linked tests").option("--clear-docs", "Clear linked docs").option("--clear-reminders", "Clear reminders").option("--clear-events", "Clear events").option("--clear-type-options", "Clear type options").option("--allow-audit-update", "Allow non-owner metadata-only audit updates without requiring --force").option("--allow-audit-dep-update", "Allow non-owner append-only dependency updates without requiring --force").option("--author <value>", "Mutation author").option("--message <value>", "Mutation message").option("--force", "Force ownership override");
|
|
186
330
|
for (const [flags, description] of [
|
|
187
331
|
["--filter-assignee_filter <value>", "Alias for --filter-assignee-filter"],
|
|
188
332
|
["--estimated_minutes <value>", "Alias for --estimated-minutes"],
|
|
@@ -199,7 +343,8 @@ function registerMutationCommands(program) {
|
|
|
199
343
|
["--fixed_version <value>", "Alias for --fixed-version"],
|
|
200
344
|
["--customer_impact <value>", "Alias for --customer-impact"],
|
|
201
345
|
["--allow_audit_update", "Alias for --allow-audit-update"],
|
|
202
|
-
["--allow_audit_dep_update", "Alias for --allow-audit-dep-update"]
|
|
346
|
+
["--allow_audit_dep_update", "Alias for --allow-audit-dep-update"],
|
|
347
|
+
["--filter-estimate-missing", "Alias for --filter-estimates-missing"]
|
|
203
348
|
]) {
|
|
204
349
|
addHiddenOption(updateManyCommand, flags, description, false);
|
|
205
350
|
}
|
|
@@ -214,29 +359,10 @@ function registerMutationCommands(program) {
|
|
|
214
359
|
updateManyCommand.action(async (options, command) => {
|
|
215
360
|
const globalOptions = getGlobalOptions(command);
|
|
216
361
|
const startedAt = Date.now();
|
|
217
|
-
const { runUpdateMany } = await import("./update-many-
|
|
362
|
+
const { runUpdateMany } = await import("./update-many-FCU6RKTO.js");
|
|
218
363
|
const result = await runUpdateMany({
|
|
219
364
|
status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
|
|
220
|
-
list:
|
|
221
|
-
type: typeof options.filterType === "string" ? options.filterType : void 0,
|
|
222
|
-
tag: typeof options.filterTag === "string" ? options.filterTag : void 0,
|
|
223
|
-
priority: typeof options.filterPriority === "string" ? options.filterPriority : void 0,
|
|
224
|
-
deadlineBefore: typeof options.filterDeadlineBefore === "string" ? options.filterDeadlineBefore : void 0,
|
|
225
|
-
deadlineAfter: typeof options.filterDeadlineAfter === "string" ? options.filterDeadlineAfter : void 0,
|
|
226
|
-
updatedAfter: typeof options.filterUpdatedAfter === "string" ? options.filterUpdatedAfter : void 0,
|
|
227
|
-
updatedBefore: typeof options.filterUpdatedBefore === "string" ? options.filterUpdatedBefore : void 0,
|
|
228
|
-
createdAfter: typeof options.filterCreatedAfter === "string" ? options.filterCreatedAfter : void 0,
|
|
229
|
-
createdBefore: typeof options.filterCreatedBefore === "string" ? options.filterCreatedBefore : void 0,
|
|
230
|
-
ids: typeof options.ids === "string" ? options.ids : void 0,
|
|
231
|
-
assignee: typeof options.filterAssignee === "string" ? options.filterAssignee : void 0,
|
|
232
|
-
assigneeFilter: typeof options.filterAssigneeFilter === "string" ? options.filterAssigneeFilter : typeof options.filterAssignee_filter === "string" ? options.filterAssignee_filter : void 0,
|
|
233
|
-
parent: typeof options.filterParent === "string" ? options.filterParent : void 0,
|
|
234
|
-
sprint: typeof options.filterSprint === "string" ? options.filterSprint : void 0,
|
|
235
|
-
release: typeof options.filterRelease === "string" ? options.filterRelease : void 0,
|
|
236
|
-
limit: typeof options.limit === "string" ? options.limit : void 0,
|
|
237
|
-
offset: typeof options.offset === "string" ? options.offset : void 0,
|
|
238
|
-
includeBody: true
|
|
239
|
-
},
|
|
365
|
+
list: buildUpdateManyListOptions(options),
|
|
240
366
|
update: normalizeUpdateOptions(extractUpdateManyMutationOptionSource(options)),
|
|
241
367
|
dryRun: options.dryRun === true ? true : void 0,
|
|
242
368
|
rollback: typeof options.rollback === "string" ? options.rollback : void 0,
|
|
@@ -248,13 +374,13 @@ function registerMutationCommands(program) {
|
|
|
248
374
|
printError(`profile:command=update-many took_ms=${Date.now() - startedAt}`);
|
|
249
375
|
}
|
|
250
376
|
});
|
|
251
|
-
const closeCommand = program.command("close").argument("<id>", "Item id").argument("[text]", "Close reason text (alias: --reason)").option("--reason <value>", "Close reason text (alias for positional <text>)").option("--close-reason <value>", "Close reason text (alias for positional <text>)").option("--duplicate-of <id>", "Close as a duplicate of the canonical item id and auto-fill duplicate closure metadata").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--validate-close [mode]", 'Validate closure metadata before close: "off", "warn", or "strict" (default: settings governance preset)').option("--resolution <value>", "Set the closure resolution summary inline (same field --validate-close strict checks; previously required a prior pm update)").option("--expected-result <value>", "Set the expected-result note inline (closure validation field)").option("--expected <value>", "Short alias for --expected-result").option("--actual-result <value>", "Set the actual-result note inline (closure validation field)").option("--actual <value>", "Short alias for --actual-result").option("--force", "Force ownership override").description("Close an item. Close reason requirement follows governance.require_close_reason.");
|
|
377
|
+
const closeCommand = program.command("close").argument("<id>", "Item id").argument("[text]", "Close reason text (alias: --reason)").option("-r, --reason <value>", "Close reason text (alias for positional <text>)").option("--close-reason <value>", "Close reason text (alias for positional <text>)").option("-d, --duplicate-of <id>", "Close as a duplicate of the canonical item id and auto-fill duplicate closure metadata").option("--author <value>", "Mutation author").option("-m, --message <value>", "History message").option("--validate-close [mode]", 'Validate closure metadata before close: "off", "warn", or "strict" (default: settings governance preset)').option("--resolution <value>", "Set the closure resolution summary inline (same field --validate-close strict checks; previously required a prior pm update)").option("--expected-result <value>", "Set the expected-result note inline (closure validation field)").option("--expected <value>", "Short alias for --expected-result").option("--actual-result <value>", "Set the actual-result note inline (closure validation field)").option("--actual <value>", "Short alias for --actual-result").option("--force", "Force ownership override").description("Close an item. Close reason requirement follows governance.require_close_reason.");
|
|
252
378
|
addHiddenOption(closeCommand, "--expected_result <value>", "Alias for --expected-result", false);
|
|
253
379
|
addHiddenOption(closeCommand, "--actual_result <value>", "Alias for --actual-result", false);
|
|
254
380
|
closeCommand.action(async (id, text, options, command) => {
|
|
255
381
|
const globalOptions = getGlobalOptions(command);
|
|
256
382
|
const startedAt = Date.now();
|
|
257
|
-
const { runClose } = await import("./close-
|
|
383
|
+
const { runClose } = await import("./close-3QABBNGU.js");
|
|
258
384
|
const reasonFromOption = typeof options.reason === "string" && options.reason.trim().length > 0 && options.reason || typeof options.closeReason === "string" && options.closeReason.trim().length > 0 && options.closeReason || void 0;
|
|
259
385
|
const resolvedText = typeof text === "string" && text.length > 0 ? text : reasonFromOption;
|
|
260
386
|
const pickInlineString = (...candidates) => {
|
|
@@ -281,7 +407,9 @@ function registerMutationCommands(program) {
|
|
|
281
407
|
printError(`profile:command=close took_ms=${Date.now() - startedAt}`);
|
|
282
408
|
}
|
|
283
409
|
});
|
|
284
|
-
const closeManyCommand = program.command("close-many").description("Bulk-close matched items with a shared reason and full runClose semantics (dry-run + rollback checkpoint).").option("--filter-status <value>", "Filter by status before closing").option("--filter-type <value>", "Filter by item type before closing").option("--filter-tag <value>", "Filter by tag before closing").option("--filter-priority <value>", "Filter by priority before closing").option("--filter-deadline-before <value>", "Filter by deadline upper bound before closing").option("--filter-deadline-after <value>", "Filter by deadline lower bound before closing").option("--filter-updated-after <value>", "Filter by updated_at lower bound before closing (ISO/relative)").option("--filter-updated-before <value>", "Filter by updated_at upper bound before closing (ISO/relative)").option("--filter-created-after <value>", "Filter by created_at lower bound before closing (ISO/relative)").option("--filter-created-before <value>", "Filter by created_at upper bound before closing (ISO/relative)").option("--filter-assignee <value>", "Filter by assignee before closing").option("--filter-assignee-filter <value>", "Filter assignee presence: assigned|unassigned before closing").option("--filter-parent <value>", "Filter by parent item ID before closing").option("--filter-sprint <value>", "Filter by sprint before closing").option("--filter-release <value>", "Filter by release before closing")
|
|
410
|
+
const closeManyCommand = program.command("close-many").description("Bulk-close matched items with a shared reason and full runClose semantics (dry-run + rollback checkpoint).").option("--filter-status <value>", "Filter by status before closing").option("--filter-type <value>", "Filter by item type before closing").option("--filter-tag <value>", "Filter by tag before closing").option("--filter-priority <value>", "Filter by priority before closing").option("--filter-deadline-before <value>", "Filter by deadline upper bound before closing").option("--filter-deadline-after <value>", "Filter by deadline lower bound before closing").option("--filter-updated-after <value>", "Filter by updated_at lower bound before closing (ISO/relative)").option("--filter-updated-before <value>", "Filter by updated_at upper bound before closing (ISO/relative)").option("--filter-created-after <value>", "Filter by created_at lower bound before closing (ISO/relative)").option("--filter-created-before <value>", "Filter by created_at upper bound before closing (ISO/relative)").option("--filter-assignee <value>", "Filter by assignee before closing").option("--filter-assignee-filter <value>", "Filter assignee presence: assigned|unassigned before closing").option("--filter-parent <value>", "Filter by parent item ID before closing").option("--filter-sprint <value>", "Filter by sprint before closing").option("--filter-release <value>", "Filter by release before closing");
|
|
411
|
+
registerBulkContentAndGovernanceFilters(closeManyCommand, "closing");
|
|
412
|
+
closeManyCommand.option("--ids <value>", "Restrict to an explicit comma-separated ID allowlist (intersected with other filters)").option("--limit <n>", "Limit matched item count before apply/preview").option("--offset <n>", "Skip first n matched rows before apply/preview").option("--reason <value>", "Shared close reason applied to matched items (required when governance.require_close_reason is enabled)").option("--resolution <value>", "Shared closure resolution applied to every matched item (closure-validation field)").option("--expected-result <value>", "Shared expected-result note (closure-validation field)").option("--expected <value>", "Short alias for --expected-result").option("--actual-result <value>", "Shared actual-result note (closure-validation field)").option("--actual <value>", "Short alias for --actual-result").option("--validate-close [mode]", 'Validate closure metadata per item: "off", "warn", or "strict" (default: settings governance preset)').option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Re-close already-terminal matches and override ownership").option("--dry-run", "Preview matched items + per-item skip/active-child plan without mutating").option("--rollback <value>", "Rollback a prior close-many checkpoint ID").option("--no-checkpoint", "Disable checkpoint creation during apply mode");
|
|
285
413
|
addHiddenOption(closeManyCommand, "--filter-assignee_filter <value>", "Alias for --filter-assignee-filter", false);
|
|
286
414
|
addHiddenOption(closeManyCommand, "--expected_result <value>", "Alias for --expected-result", false);
|
|
287
415
|
addHiddenOption(closeManyCommand, "--actual_result <value>", "Alias for --actual-result", false);
|
|
@@ -296,7 +424,7 @@ function registerMutationCommands(program) {
|
|
|
296
424
|
}
|
|
297
425
|
return void 0;
|
|
298
426
|
};
|
|
299
|
-
const { runCloseMany } = await import("./close-many-
|
|
427
|
+
const { runCloseMany } = await import("./close-many-MIZLTYGL.js");
|
|
300
428
|
const result = await runCloseMany({
|
|
301
429
|
status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
|
|
302
430
|
list: {
|
|
@@ -315,6 +443,7 @@ function registerMutationCommands(program) {
|
|
|
315
443
|
parent: typeof options.filterParent === "string" ? options.filterParent : void 0,
|
|
316
444
|
sprint: typeof options.filterSprint === "string" ? options.filterSprint : void 0,
|
|
317
445
|
release: typeof options.filterRelease === "string" ? options.filterRelease : void 0,
|
|
446
|
+
...mapBulkContentAndGovernanceFilters(options),
|
|
318
447
|
limit: typeof options.limit === "string" ? options.limit : void 0,
|
|
319
448
|
offset: typeof options.offset === "string" ? options.offset : void 0
|
|
320
449
|
},
|
|
@@ -339,7 +468,7 @@ function registerMutationCommands(program) {
|
|
|
339
468
|
program.command("delete").argument("<id>", "Item id").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership override").option("--dry-run", "Preview the item file that would be deleted without mutating").description("Delete an item and record the change in history.").action(async (id, options, command) => {
|
|
340
469
|
const globalOptions = getGlobalOptions(command);
|
|
341
470
|
const startedAt = Date.now();
|
|
342
|
-
const { runDelete } = await import("./delete-
|
|
471
|
+
const { runDelete } = await import("./delete-TLXR7LJ2.js");
|
|
343
472
|
const result = await runDelete(id, {
|
|
344
473
|
author: typeof options.author === "string" ? options.author : void 0,
|
|
345
474
|
message: typeof options.message === "string" ? options.message : void 0,
|
|
@@ -368,7 +497,7 @@ function registerMutationCommands(program) {
|
|
|
368
497
|
if (resolvedBody === void 0) {
|
|
369
498
|
throw new PmCliError("Missing append text. Provide it as positional [text], --body <value>, or --text <value> (use - for stdin).", EXIT_CODE.USAGE);
|
|
370
499
|
}
|
|
371
|
-
const { runAppend } = await import("./append-
|
|
500
|
+
const { runAppend } = await import("./append-VCRUG2W6.js");
|
|
372
501
|
const result = await runAppend(id, {
|
|
373
502
|
body: resolvedBody,
|
|
374
503
|
author: typeof options.author === "string" ? options.author : void 0,
|
|
@@ -384,7 +513,7 @@ function registerMutationCommands(program) {
|
|
|
384
513
|
program.command("restore").argument("<id>", "Item id").argument("<target>", "Restore target timestamp or version number").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership/lock override").description("Restore an item to an earlier timestamp or version.").action(async (id, target, options, command) => {
|
|
385
514
|
const globalOptions = getGlobalOptions(command);
|
|
386
515
|
const startedAt = Date.now();
|
|
387
|
-
const { runRestore } = await import("./restore-
|
|
516
|
+
const { runRestore } = await import("./restore-NNVPBBVJ.js");
|
|
388
517
|
const result = await runRestore(id, target, {
|
|
389
518
|
author: typeof options.author === "string" ? options.author : void 0,
|
|
390
519
|
message: typeof options.message === "string" ? options.message : void 0,
|
|
@@ -433,7 +562,7 @@ function registerMutationCommands(program) {
|
|
|
433
562
|
planCommand.action(async (subcommand, id, stepRef, reorderToken, options, command) => {
|
|
434
563
|
const globalOptions = getGlobalOptions(command);
|
|
435
564
|
const startedAt = Date.now();
|
|
436
|
-
const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-
|
|
565
|
+
const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-I3SVH7FV.js");
|
|
437
566
|
const normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
|
|
438
567
|
if (!normalizedSubcommand) {
|
|
439
568
|
throw new PmCliError(`pm plan requires a subcommand. Allowed: ${PLAN_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, {
|
|
@@ -517,7 +646,7 @@ function registerMutationCommands(program) {
|
|
|
517
646
|
program.command("history-redact").argument("<id>", "Item id").option("--literal <value>", "Literal string to redact (repeatable)", collect).option("--regex <value>", "Regex pattern to redact (repeatable; accepts /pattern/flags or raw pattern)", collect).option("--replacement <value>", 'Replacement string (default: "[redacted]")').option("--dry-run", "Preview redaction impact without writing item/history files").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the redaction marker entry").option("--force", "Force ownership/lock override").description("Redact sensitive literals/patterns from an item history stream and recompute hashes.").action(async (id, options, command) => {
|
|
518
647
|
const globalOptions = getGlobalOptions(command);
|
|
519
648
|
const startedAt = Date.now();
|
|
520
|
-
const { runHistoryRedact } = await import("./history-redact-
|
|
649
|
+
const { runHistoryRedact } = await import("./history-redact-Z4P5MM3G.js");
|
|
521
650
|
const literal = Array.isArray(options.literal) ? options.literal : void 0;
|
|
522
651
|
const regex = Array.isArray(options.regex) ? options.regex : void 0;
|
|
523
652
|
const result = await runHistoryRedact(id, {
|
|
@@ -540,7 +669,7 @@ function registerMutationCommands(program) {
|
|
|
540
669
|
program.command("history-repair").argument("[id]", "Item id (omit with --all)").option("--all", "Scan every stream for drift and repair each drifted stream in one audited pass").option("--dry-run", "Preview the re-anchor impact without writing the history file").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the repair marker entry").option("--force", "Force ownership/lock override").description("Re-anchor a drifted item history chain (recompute hashes, reconcile with the on-disk item) and record an audit marker. Use --all to repair every drifted stream.").action(async (id, options, command) => {
|
|
541
670
|
const globalOptions = getGlobalOptions(command);
|
|
542
671
|
const startedAt = Date.now();
|
|
543
|
-
const { runHistoryRepair, runHistoryRepairAll, assertHistoryRepairTarget } = await import("./history-repair-
|
|
672
|
+
const { runHistoryRepair, runHistoryRepairAll, assertHistoryRepairTarget } = await import("./history-repair-CKE7GLZR.js");
|
|
544
673
|
const all = options.all === true;
|
|
545
674
|
assertHistoryRepairTarget(id, all);
|
|
546
675
|
const repairOptions = {
|
|
@@ -566,7 +695,7 @@ function registerMutationCommands(program) {
|
|
|
566
695
|
program.command("history-compact").argument("<id>", "Item id").option("--before <value>", "Compact entries strictly before this version number or ISO timestamp").option("--dry-run", "Preview compaction impact without writing the history file").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the compaction marker entry").option("--force", "Force ownership/lock override").description("Compact an item history stream into a synthetic baseline plus retained tail entries.").action(async (id, options, command) => {
|
|
567
696
|
const globalOptions = getGlobalOptions(command);
|
|
568
697
|
const startedAt = Date.now();
|
|
569
|
-
const { runHistoryCompact } = await import("./history-compact-
|
|
698
|
+
const { runHistoryCompact } = await import("./history-compact-SDFRPZ4V.js");
|
|
570
699
|
const result = await runHistoryCompact(id, {
|
|
571
700
|
before: typeof options.before === "string" ? options.before : void 0,
|
|
572
701
|
dryRun: options.dryRun === true,
|
|
@@ -584,7 +713,7 @@ function registerMutationCommands(program) {
|
|
|
584
713
|
schemaCommand.action(async (subcommand, name, options, command) => {
|
|
585
714
|
const globalOptions = getGlobalOptions(command);
|
|
586
715
|
const startedAt = Date.now();
|
|
587
|
-
const { runSchemaAddType, runSchemaRemoveType, runSchemaAddStatus, runSchemaRemoveStatus, runSchemaList, runSchemaShow, runSchemaShowStatus, formatSchemaAddTypeHuman, formatSchemaRemoveTypeHuman, formatSchemaAddStatusHuman, formatSchemaRemoveStatusHuman, formatSchemaListHuman, formatSchemaShowHuman, formatSchemaShowStatusHuman, SCHEMA_SUBCOMMANDS } = await import("./schema-
|
|
716
|
+
const { runSchemaAddType, runSchemaRemoveType, runSchemaAddStatus, runSchemaRemoveStatus, runSchemaList, runSchemaShow, runSchemaShowStatus, formatSchemaAddTypeHuman, formatSchemaRemoveTypeHuman, formatSchemaAddStatusHuman, formatSchemaRemoveStatusHuman, formatSchemaListHuman, formatSchemaShowHuman, formatSchemaShowStatusHuman, SCHEMA_SUBCOMMANDS } = await import("./schema-3YKCQ3VO.js");
|
|
588
717
|
let normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
|
|
589
718
|
let typeName = name;
|
|
590
719
|
if (!normalizedSubcommand) {
|
|
@@ -601,8 +730,14 @@ function registerMutationCommands(program) {
|
|
|
601
730
|
]
|
|
602
731
|
});
|
|
603
732
|
}
|
|
604
|
-
const aliases =
|
|
605
|
-
|
|
733
|
+
const aliases = (
|
|
734
|
+
/* c8 ignore next -- --alias is registered with commander `collect`, so it is always an array here; the string arm is a defensive guard for non-CLI (programmatic) callers */
|
|
735
|
+
typeof options.alias === "string" ? [options.alias] : Array.isArray(options.alias) ? options.alias : void 0
|
|
736
|
+
);
|
|
737
|
+
const roles = (
|
|
738
|
+
/* c8 ignore next -- --role is registered with commander `collect`, so it is always an array here; the string arm is a defensive guard for non-CLI (programmatic) callers */
|
|
739
|
+
typeof options.role === "string" ? [options.role] : Array.isArray(options.role) ? options.role : void 0
|
|
740
|
+
);
|
|
606
741
|
const defaultStatus = typeof options.defaultStatus === "string" ? options.defaultStatus : typeof options.default_status === "string" ? options.default_status : void 0;
|
|
607
742
|
const order = parseSchemaOrderOption(options.order);
|
|
608
743
|
if (!SCHEMA_SUBCOMMANDS.includes(normalizedSubcommand) && typeName === void 0) {
|
|
@@ -662,9 +797,11 @@ function registerMutationCommands(program) {
|
|
|
662
797
|
printError(`profile:command=schema took_ms=${Date.now() - startedAt}`);
|
|
663
798
|
}
|
|
664
799
|
});
|
|
665
|
-
program.command("comments").argument("<id>", "Item id").argument("[text]", "Optional comment text shorthand (equivalent to --add)").option("--add <text>", "Add one comment entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)").option("--stdin", "Read comment text from stdin (supports multiline markdown)").option("--file <path>", "Read comment text from file (supports multiline markdown)").option("--limit <n>", "Return only latest n comments").option("--author [value]", "Comment author (optional; falls back to PM_AUTHOR/settings)").option("--message <value>", "History message").option("--allow-audit-comment", "Allow non-owner append-only comment audits without requiring --force").option("--force", "Force ownership override").description("List or
|
|
800
|
+
program.command("comments").argument("<id>", "Item id").argument("[text]", "Optional comment text shorthand (equivalent to --add)").option("--add <text>", "Add one comment entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)").option("--stdin", "Read comment text from stdin (supports multiline markdown)").option("--file <path>", "Read comment text from file (supports multiline markdown)").option("--edit <index>", "Replace the comment at 1-based <index> (replacement text from positional [text], --add, --stdin, or --file)", parsePositiveIntOption("--edit")).option("--delete <index>", "Delete the comment at 1-based <index>", parsePositiveIntOption("--delete")).option("--limit <n>", "Return only latest n comments").option("--author [value]", "Comment author (optional; falls back to PM_AUTHOR/settings)").option("--message <value>", "History message").option("--allow-audit-comment", "Allow non-owner append-only comment audits (add/edit/delete) without requiring --force").option("--force", "Force ownership override").description("List, add, edit, or delete comments for an item.").action(async (id, text, options, command) => {
|
|
666
801
|
const globalOptions = getGlobalOptions(command);
|
|
667
802
|
const startedAt = Date.now();
|
|
803
|
+
const editIndex = typeof options.edit === "number" ? options.edit : void 0;
|
|
804
|
+
const deleteIndex = typeof options.delete === "number" ? options.delete : void 0;
|
|
668
805
|
const addFromOption = typeof options.add === "string" ? options.add : void 0;
|
|
669
806
|
const addFromPositional = typeof text === "string" ? text : void 0;
|
|
670
807
|
const readFromStdin = options.stdin === true;
|
|
@@ -677,18 +814,21 @@ function registerMutationCommands(program) {
|
|
|
677
814
|
throw new PmCliError("Specify comment text with exactly one source: positional [text], --add, --stdin, or --file", EXIT_CODE.USAGE);
|
|
678
815
|
}
|
|
679
816
|
const add = addFromOption ?? addFromPositional;
|
|
680
|
-
const { runComments } = await import("./comments-
|
|
817
|
+
const { runComments } = await import("./comments-DAIQPOMU.js");
|
|
681
818
|
const result = await runComments(id, {
|
|
682
819
|
add,
|
|
683
820
|
stdin: readFromStdin,
|
|
684
821
|
file: readFromFile,
|
|
822
|
+
edit: editIndex,
|
|
823
|
+
delete: deleteIndex,
|
|
685
824
|
limit: typeof options.limit === "string" ? options.limit : void 0,
|
|
686
825
|
author: typeof options.author === "string" ? options.author : void 0,
|
|
687
826
|
message: typeof options.message === "string" ? options.message : void 0,
|
|
688
827
|
allowAuditComment: Boolean(options.allowAuditComment),
|
|
689
828
|
force: Boolean(options.force)
|
|
690
829
|
}, globalOptions);
|
|
691
|
-
|
|
830
|
+
const isMutation = typeof add === "string" || readFromStdin || readFromFile !== void 0 || editIndex !== void 0 || deleteIndex !== void 0;
|
|
831
|
+
if (isMutation) {
|
|
692
832
|
await invalidateSearchCachesForMutation(globalOptions, result);
|
|
693
833
|
}
|
|
694
834
|
printResult(result, globalOptions);
|
|
@@ -705,7 +845,7 @@ function registerMutationCommands(program) {
|
|
|
705
845
|
throw new PmCliError("Specify note text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
|
|
706
846
|
}
|
|
707
847
|
const add = addFromOption ?? addFromPositional;
|
|
708
|
-
const { runNotes } = await import("./notes-
|
|
848
|
+
const { runNotes } = await import("./notes-2HRMV67I.js");
|
|
709
849
|
const result = await runNotes(id, {
|
|
710
850
|
add,
|
|
711
851
|
limit: typeof options.limit === "string" ? options.limit : void 0,
|
|
@@ -731,7 +871,7 @@ function registerMutationCommands(program) {
|
|
|
731
871
|
throw new PmCliError("Specify learning text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
|
|
732
872
|
}
|
|
733
873
|
const add = addFromOption ?? addFromPositional;
|
|
734
|
-
const { runLearnings } = await import("./learnings-
|
|
874
|
+
const { runLearnings } = await import("./learnings-YYNB64GN.js");
|
|
735
875
|
const result = await runLearnings(id, {
|
|
736
876
|
add,
|
|
737
877
|
limit: typeof options.limit === "string" ? options.limit : void 0,
|
|
@@ -756,7 +896,7 @@ function registerMutationCommands(program) {
|
|
|
756
896
|
const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
|
|
757
897
|
const removeValues = Array.isArray(options.remove) ? options.remove : [];
|
|
758
898
|
const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
|
|
759
|
-
const { runFiles } = await import("./files-
|
|
899
|
+
const { runFiles } = await import("./files-3TCQHUHA.js");
|
|
760
900
|
const result = await runFiles(id, {
|
|
761
901
|
add: addValues,
|
|
762
902
|
addGlob: addGlobValues,
|
|
@@ -783,7 +923,7 @@ function registerMutationCommands(program) {
|
|
|
783
923
|
const globalOptions = getGlobalOptions(command);
|
|
784
924
|
const startedAt = Date.now();
|
|
785
925
|
const mergedOptions = { ...command.optsWithGlobals(), ...options };
|
|
786
|
-
const { runFilesDiscover } = await import("./files-
|
|
926
|
+
const { runFilesDiscover } = await import("./files-3TCQHUHA.js");
|
|
787
927
|
const result = await runFilesDiscover(id, {
|
|
788
928
|
apply: Boolean(mergedOptions.apply),
|
|
789
929
|
note: typeof mergedOptions.note === "string" ? mergedOptions.note : void 0,
|
|
@@ -807,7 +947,7 @@ function registerMutationCommands(program) {
|
|
|
807
947
|
const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
|
|
808
948
|
const removeValues = Array.isArray(options.remove) ? options.remove : [];
|
|
809
949
|
const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
|
|
810
|
-
const { runDocs } = await import("./docs-
|
|
950
|
+
const { runDocs } = await import("./docs-RCLNSKID.js");
|
|
811
951
|
const result = await runDocs(id, {
|
|
812
952
|
add: addValues,
|
|
813
953
|
addGlob: addGlobValues,
|
|
@@ -832,11 +972,11 @@ function registerMutationCommands(program) {
|
|
|
832
972
|
program.command("deps").argument("<id>", "Item id").option("--format <value>", "Output format (tree or graph)", "tree").option("--max-depth <value>", "Maximum dependency traversal depth (0 keeps only the root)").option("--collapse <value>", "Collapse mode (none or repeated)", "none").option("--summary", "Return counts only without full tree/graph payload").description("Show dependency relationships for an item.").action(async (id, options, command) => {
|
|
833
973
|
const globalOptions = getGlobalOptions(command);
|
|
834
974
|
const startedAt = Date.now();
|
|
835
|
-
const { runDeps } = await import("./deps-
|
|
975
|
+
const { runDeps } = await import("./deps-XV6JJ6IN.js");
|
|
836
976
|
const result = await runDeps(id, {
|
|
837
|
-
format:
|
|
977
|
+
format: options.format,
|
|
838
978
|
maxDepth: typeof options.maxDepth === "string" ? options.maxDepth : void 0,
|
|
839
|
-
collapse:
|
|
979
|
+
collapse: options.collapse,
|
|
840
980
|
summary: options.summary === true
|
|
841
981
|
}, globalOptions);
|
|
842
982
|
printResult(result, globalOptions);
|
|
@@ -846,8 +986,11 @@ function registerMutationCommands(program) {
|
|
|
846
986
|
});
|
|
847
987
|
}
|
|
848
988
|
export {
|
|
989
|
+
parsePositiveIntOption,
|
|
990
|
+
parseSchemaOrderOption,
|
|
991
|
+
registerCommanderOptionContracts,
|
|
849
992
|
registerMutationCommands
|
|
850
993
|
};
|
|
851
|
-
//# sourceMappingURL=register-mutation-
|
|
994
|
+
//# sourceMappingURL=register-mutation-XFORLS6D.js.map
|
|
852
995
|
|
|
853
|
-
//# debugId=
|
|
996
|
+
//# debugId=1cefd232-fe09-5271-abb9-bbd3ed26dabb
|