@unbrained/pm-cli 2026.7.20 → 2026.7.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +11 -0
- package/dist/cli/commander-usage.d.ts +1 -1
- package/dist/cli/commander-usage.js +5 -5
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/completion.js +13 -5
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/contracts.js +4 -3
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +2 -0
- package/dist/cli/error-guidance.js +7 -2
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/main.d.ts +1 -5
- package/dist/cli/main.js +12 -50
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +13 -3
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +45 -3
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-structured-mutation.d.ts +14 -0
- package/dist/cli/register-structured-mutation.js +62 -0
- package/dist/cli/register-structured-mutation.js.map +1 -0
- package/dist/cli/registration-helpers.js +5 -3
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/bundle-manifest.json +280 -296
- package/dist/cli-bundle/chunks/{append-E6V54WOQ.js → append-7OVFYR3C.js} +3 -3
- package/dist/cli-bundle/chunks/{append-NNJ3EFIT.js → append-DFETHAZL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-C3KD7U3T.js → chunk-2L6ZP22J.js} +241 -10
- package/dist/cli-bundle/chunks/chunk-2L6ZP22J.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KZEANWJS.js → chunk-4PUUNQDV.js} +98 -30
- package/dist/cli-bundle/chunks/chunk-4PUUNQDV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RDV4ZFYS.js → chunk-4QOB7L7I.js} +7 -9
- package/dist/cli-bundle/chunks/{chunk-RDV4ZFYS.js.map → chunk-4QOB7L7I.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-3LPFHE3P.js → chunk-4QSQ6XDK.js} +62 -20
- package/dist/cli-bundle/chunks/chunk-4QSQ6XDK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QJKL5PHS.js → chunk-7656MAUL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3AO5VSDR.js → chunk-7RW4JCU2.js} +328 -6
- package/dist/cli-bundle/chunks/chunk-7RW4JCU2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-X6K5XTTN.js → chunk-7W2UAXXT.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-SSKOQNMS.js → chunk-ABWCF646.js} +9 -11
- package/dist/cli-bundle/chunks/{chunk-SSKOQNMS.js.map → chunk-ABWCF646.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-WVA4DVNV.js → chunk-ADBTSVGK.js} +71 -33
- package/dist/cli-bundle/chunks/chunk-ADBTSVGK.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-J4FBIFU6.js → chunk-AELMUANP.js} +12 -6
- package/dist/cli-bundle/chunks/chunk-AELMUANP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4F6BWJ4J.js → chunk-AMJPSANK.js} +57 -36
- package/dist/cli-bundle/chunks/chunk-AMJPSANK.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6VIJ7UA5.js → chunk-AS4SAZ5R.js} +850 -819
- package/dist/cli-bundle/chunks/chunk-AS4SAZ5R.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SG74J6MV.js → chunk-ATBCUC7Y.js} +574 -5
- package/dist/cli-bundle/chunks/chunk-ATBCUC7Y.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5OK4UGFV.js → chunk-BXNDKOR2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-KSPWRNVP.js → chunk-CPX275C6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JH2ZSLO3.js → chunk-DZRV2OPA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-L7BH7IWU.js → chunk-E5XMKOSB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-CQTQKUUV.js → chunk-EWJWSNRU.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-DAQ45GCS.js → chunk-F2LBF7XJ.js} +22 -15
- package/dist/cli-bundle/chunks/chunk-F2LBF7XJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6XMUURSS.js → chunk-FJIFFBJX.js} +64 -33
- package/dist/cli-bundle/chunks/chunk-FJIFFBJX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-E7ICD63T.js → chunk-FO6OSVEN.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-E7ICD63T.js.map → chunk-FO6OSVEN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-3MCTMJXI.js → chunk-FPBMLYPI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UZDQXNUB.js → chunk-FSE2IKJQ.js} +46 -5
- package/dist/cli-bundle/chunks/chunk-FSE2IKJQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IX677TRO.js → chunk-GKX4NJ7U.js} +8 -10
- package/dist/cli-bundle/chunks/{chunk-IX677TRO.js.map → chunk-GKX4NJ7U.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-DVDBQA3B.js → chunk-GTK4DTEW.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-H7EAER5L.js +974 -0
- package/dist/cli-bundle/chunks/chunk-H7EAER5L.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5UX66S6U.js → chunk-ICDAQ4TD.js} +316 -8
- package/dist/cli-bundle/chunks/chunk-ICDAQ4TD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YQQNAKW3.js → chunk-JFD5LPMI.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-YQQNAKW3.js.map → chunk-JFD5LPMI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-QANSTTC7.js → chunk-JXCW2TI2.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-QANSTTC7.js.map → chunk-JXCW2TI2.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-GSJSM5BJ.js → chunk-K36WV5J6.js} +76 -13
- package/dist/cli-bundle/chunks/chunk-K36WV5J6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GVI6FAFG.js → chunk-K55VMLSS.js} +7 -5
- package/dist/cli-bundle/chunks/chunk-K55VMLSS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GIQSU6S2.js → chunk-KBLZ3AA5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XJF7CDNH.js → chunk-KH44WBAT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GV2262OF.js → chunk-LAV26CQG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VDO2JMD4.js → chunk-LVC72YRD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3VY6MIEO.js → chunk-LZYP423P.js} +35 -6
- package/dist/cli-bundle/chunks/chunk-LZYP423P.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZYPFOO3L.js → chunk-MATHDCGG.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-OV7MSW3I.js → chunk-MWQ2HC2A.js} +99 -31
- package/dist/cli-bundle/chunks/chunk-MWQ2HC2A.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-NHT3F4WZ.js → chunk-NUF7ROFH.js} +840 -816
- package/dist/cli-bundle/chunks/chunk-NUF7ROFH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AOEOYL3S.js → chunk-O4BCOJTZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-RJO3YAFM.js → chunk-OCUBRA6D.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5IZJWSDB.js → chunk-OG5DVFMA.js} +22 -15
- package/dist/cli-bundle/chunks/chunk-OG5DVFMA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-I577UHC7.js → chunk-OR42SO64.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZOJ3LR7O.js → chunk-OY7DMU5P.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HEWM6CEN.js → chunk-P7MTHPJQ.js} +50 -9
- package/dist/cli-bundle/chunks/chunk-P7MTHPJQ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2BO4CA46.js → chunk-PFNHX655.js} +236 -12
- package/dist/cli-bundle/chunks/{chunk-2BO4CA46.js.map → chunk-PFNHX655.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZV2NTVMJ.js → chunk-PONKZPCJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-THAOZG4U.js → chunk-PQSEQD6E.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-PQSEQD6E.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-PWDEHT3L.js +991 -0
- package/dist/cli-bundle/chunks/chunk-PWDEHT3L.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UX6SSO2I.js → chunk-PZC2FUOQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WUVEBQW6.js → chunk-QG4GFLQ6.js} +3 -5
- package/dist/cli-bundle/chunks/{chunk-WUVEBQW6.js.map → chunk-QG4GFLQ6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-VQIHNHMJ.js → chunk-QIH77CAG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-R3EWPG4A.js → chunk-QJIKE24M.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QLZ643FM.js → chunk-QOOTOD3W.js} +10 -12
- package/dist/cli-bundle/chunks/{chunk-QLZ643FM.js.map → chunk-QOOTOD3W.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MYSS5H2A.js → chunk-R3P6FZJW.js} +5 -7
- package/dist/cli-bundle/chunks/{chunk-MYSS5H2A.js.map → chunk-R3P6FZJW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-G3COA6GS.js → chunk-RNPZYNHS.js} +56 -35
- package/dist/cli-bundle/chunks/chunk-RNPZYNHS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-T44FMVRL.js → chunk-RPESLSO5.js} +62 -20
- package/dist/cli-bundle/chunks/chunk-RPESLSO5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-INSTSQNZ.js → chunk-SY4SFZSD.js} +595 -3
- package/dist/cli-bundle/chunks/chunk-SY4SFZSD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HB3P4M52.js → chunk-TRSHFPRZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HRW7GF6T.js → chunk-UCBDQI5E.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4U4Z6AHI.js → chunk-V22ZPOKN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JM6YAXTR.js → chunk-VHXHVTUU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-LPEYZRUR.js → chunk-VJQG4BIM.js} +35 -6
- package/dist/cli-bundle/chunks/chunk-VJQG4BIM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-D6NXDNP3.js → chunk-VLRGDBLY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JAPE62Y5.js → chunk-VNTCM3VW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-FDHPAVVB.js → chunk-VXOOB6YX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GFQP7HAZ.js → chunk-VZIZB6QH.js} +3 -5
- package/dist/cli-bundle/chunks/{chunk-GFQP7HAZ.js.map → chunk-VZIZB6QH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-HQ3SB4CN.js → chunk-X3W65QK3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RZJLNXFG.js → chunk-XJTABV3X.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GVT754PX.js → chunk-YCIUJJOD.js} +11 -5
- package/dist/cli-bundle/chunks/chunk-YCIUJJOD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-IJNK6WW2.js → chunk-Z75ONV25.js} +75 -12
- package/dist/cli-bundle/chunks/chunk-Z75ONV25.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4L23AGQ7.js → chunk-Z7VWXXJM.js} +5 -7
- package/dist/cli-bundle/chunks/{chunk-4L23AGQ7.js.map → chunk-Z7VWXXJM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-YBT7O4KT.js → chunk-ZTVA4KLN.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-YBT7O4KT.js.map → chunk-ZTVA4KLN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-TYHJDFYW.js → chunk-ZVZGXPQ5.js} +2 -2
- package/dist/cli-bundle/chunks/{close-many-SDA426VT.js → close-many-5RZXVN4J.js} +5 -6
- package/dist/cli-bundle/chunks/{close-many-UTZANOCQ.js → close-many-RZVTUGBG.js} +5 -6
- package/dist/cli-bundle/chunks/{comments-LZN6FXXC.js → comments-TPU7QRBL.js} +4 -4
- package/dist/cli-bundle/chunks/{comments-VBQ345ND.js → comments-Z4KV6FU3.js} +4 -4
- package/dist/cli-bundle/chunks/{create-GG4RBCGC.js → create-EIFBIVNQ.js} +6 -6
- package/dist/cli-bundle/chunks/{create-JBC5KUW6.js → create-RGSPN5GD.js} +6 -6
- package/dist/cli-bundle/chunks/{deps-FI4O6NQS.js → deps-UH5EQQUY.js} +3 -3
- package/dist/cli-bundle/chunks/{deps-DELOO4TL.js → deps-YG7UF3VR.js} +3 -3
- package/dist/cli-bundle/chunks/{docs-6Z2MP526.js → docs-G32TK6XS.js} +4 -4
- package/dist/cli-bundle/chunks/{docs-2UYBP5D6.js → docs-JWWNRC27.js} +4 -4
- package/dist/cli-bundle/chunks/{files-HKEAN5MA.js → files-3H32UQ4K.js} +4 -4
- package/dist/cli-bundle/chunks/{files-HEUGSJZL.js → files-4ALMCSKB.js} +4 -4
- package/dist/cli-bundle/chunks/{history-compact-7NDVP3PT.js → history-compact-77BT2LUB.js} +3 -4
- package/dist/cli-bundle/chunks/{history-compact-65YVN5DB.js → history-compact-VCKGTX64.js} +3 -4
- package/dist/cli-bundle/chunks/{history-redact-7YBL4XSG.js → history-redact-LJPZPNFA.js} +2 -3
- package/dist/cli-bundle/chunks/{history-redact-IZGNJBU4.js → history-redact-PWTTJ3XS.js} +2 -3
- package/dist/cli-bundle/chunks/{history-repair-7M4PYQUH.js → history-repair-I7CBNCV3.js} +5 -6
- package/dist/cli-bundle/chunks/{history-repair-GNGETJLI.js → history-repair-YTDZRK5E.js} +5 -6
- package/dist/cli-bundle/chunks/{learnings-3YXDRWFT.js → learnings-CYNOICKR.js} +4 -4
- package/dist/cli-bundle/chunks/{learnings-ALC6IMNL.js → learnings-KTYW3AL7.js} +4 -4
- package/dist/cli-bundle/chunks/{notes-7JMLQ447.js → notes-FGO63FXL.js} +4 -4
- package/dist/cli-bundle/chunks/{notes-JFCLTC5C.js → notes-ZERD3KB2.js} +4 -4
- package/dist/cli-bundle/chunks/{plan-T3XB3WTK.js → plan-OFJUBIM5.js} +7 -7
- package/dist/cli-bundle/chunks/{plan-KOIPWVOZ.js → plan-SGCDDTYR.js} +7 -7
- package/dist/cli-bundle/chunks/{profile-OILJHKUW.js → profile-3THJPIQY.js} +4 -5
- package/dist/cli-bundle/chunks/{profile-RJXA7PGS.js → profile-XEZAMMBW.js} +4 -5
- package/dist/cli-bundle/chunks/{register-list-query-CFVG75P3.js → register-list-query-BR435Q2H.js} +19 -16
- package/dist/cli-bundle/chunks/register-list-query-BR435Q2H.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-E7UVY4TN.js → register-list-query-RWTWLOBE.js} +18 -15
- package/dist/cli-bundle/chunks/register-list-query-RWTWLOBE.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-IQ55E25C.js → register-mutation-HLWC2WNP.js} +167 -31
- package/dist/cli-bundle/chunks/register-mutation-HLWC2WNP.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-4VJTXBZW.js → register-mutation-ZJX5AZM5.js} +173 -30
- package/dist/cli-bundle/chunks/register-mutation-ZJX5AZM5.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-AR7RMX4W.js → register-operations-744YBJMV.js} +23 -25
- package/dist/cli-bundle/chunks/{register-operations-AR7RMX4W.js.map → register-operations-744YBJMV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-NOLZGORC.js → register-operations-UEBJH6AN.js} +21 -23
- package/dist/cli-bundle/chunks/{register-operations-NOLZGORC.js.map → register-operations-UEBJH6AN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-EYZ7VTPZ.js → register-setup-5DA4UZXI.js} +7 -8
- package/dist/cli-bundle/chunks/{register-setup-EYZ7VTPZ.js.map → register-setup-5DA4UZXI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-BB77VUEE.js → register-setup-6H25M3BH.js} +9 -10
- package/dist/cli-bundle/chunks/{register-setup-BB77VUEE.js.map → register-setup-6H25M3BH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{restore-ZH65GZFB.js → restore-6TDVSATY.js} +4 -5
- package/dist/cli-bundle/chunks/{restore-L6IAGOD7.js → restore-RSL7C7LO.js} +4 -5
- package/dist/cli-bundle/chunks/{schema-4ERWM5QJ.js → schema-HFXFSGPG.js} +2 -3
- package/dist/cli-bundle/chunks/{schema-55DL3Q52.js → schema-TPVTIJPO.js} +2 -3
- package/dist/cli-bundle/chunks/{update-FW6FKDOP.js → update-LJZCL5SI.js} +7 -7
- package/dist/cli-bundle/chunks/{update-TJHSPRPT.js → update-SIA7LH5Y.js} +7 -7
- package/dist/cli-bundle/chunks/{update-many-PWXX5WHO.js → update-many-BDBZVGQL.js} +11 -12
- package/dist/cli-bundle/chunks/{update-many-NNALYQCN.js → update-many-MOY3A5B3.js} +11 -12
- package/dist/cli-bundle/main.js +60 -85
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli-bundle/sdk-runtime.js +37 -37
- package/dist/cli-bundle/sdk.js +126 -291
- package/dist/cli-bundle/sdk.js.map +4 -4
- package/dist/core/item/parse.d.ts +1 -1
- package/dist/core/item/parse.js +13 -7
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/output/mutation-projection.d.ts +2 -0
- package/dist/core/output/mutation-projection.js +33 -2
- package/dist/core/output/mutation-projection.js.map +1 -1
- package/dist/core/output/output.d.ts +4 -0
- package/dist/core/output/output.js +18 -13
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/shared/command-types.d.ts +4 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/mcp/server.js +39 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-definitions.js +45 -4
- package/dist/mcp/tool-definitions.js.map +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +2 -0
- package/dist/sdk/cli-bootstrap.js +20 -27
- package/dist/sdk/cli-bootstrap.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts/enum-contracts.js +7 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
- package/dist/sdk/cli-contracts/flag-contracts.js +21 -2
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +16 -3
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +6 -2
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts.js +3 -3
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/cli-program.js +4 -2
- package/dist/sdk/cli-program.js.map +1 -1
- package/dist/sdk/dependencies.d.ts +3 -2
- package/dist/sdk/dependencies.js +13 -12
- package/dist/sdk/dependencies.js.map +1 -1
- package/dist/sdk/error-runtime.d.ts +10 -0
- package/dist/sdk/error-runtime.js +59 -0
- package/dist/sdk/error-runtime.js.map +1 -0
- package/dist/sdk/graph/analytics.d.ts +9 -0
- package/dist/sdk/graph/analytics.js +24 -13
- package/dist/sdk/graph/analytics.js.map +1 -1
- package/dist/sdk/graph/assembly.d.ts +39 -0
- package/dist/sdk/graph/assembly.js +92 -12
- package/dist/sdk/graph/assembly.js.map +1 -1
- package/dist/sdk/graph/cache.d.ts +4 -1
- package/dist/sdk/graph/cache.js +17 -4
- package/dist/sdk/graph/cache.js.map +1 -1
- package/dist/sdk/graph/centrality.d.ts +82 -0
- package/dist/sdk/graph/centrality.js +259 -0
- package/dist/sdk/graph/centrality.js.map +1 -0
- package/dist/sdk/graph/durable-cache.d.ts +71 -0
- package/dist/sdk/graph/durable-cache.js +205 -0
- package/dist/sdk/graph/durable-cache.js.map +1 -0
- package/dist/sdk/graph/governance.d.ts +69 -1
- package/dist/sdk/graph/governance.js +143 -35
- package/dist/sdk/graph/governance.js.map +1 -1
- package/dist/sdk/graph/index.d.ts +7 -4
- package/dist/sdk/graph/index.js +8 -5
- package/dist/sdk/graph/index.js.map +1 -1
- package/dist/sdk/graph/mutation-advisory.d.ts +35 -4
- package/dist/sdk/graph/mutation-advisory.js +124 -35
- package/dist/sdk/graph/mutation-advisory.js.map +1 -1
- package/dist/sdk/graph/remediation.js +12 -2
- package/dist/sdk/graph/remediation.js.map +1 -1
- package/dist/sdk/graph/run.d.ts +133 -2
- package/dist/sdk/graph/run.js +217 -8
- package/dist/sdk/graph/run.js.map +1 -1
- package/dist/sdk/graph/scheduling.d.ts +59 -0
- package/dist/sdk/graph/scheduling.js +125 -0
- package/dist/sdk/graph/scheduling.js.map +1 -0
- package/dist/sdk/graph/traversal.d.ts +11 -0
- package/dist/sdk/graph/traversal.js +16 -2
- package/dist/sdk/graph/traversal.js.map +1 -1
- package/dist/sdk/index.d.ts +4 -0
- package/dist/sdk/index.js +6 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime-input.js +7 -2
- package/dist/sdk/runtime-input.js.map +1 -1
- package/dist/sdk/runtime-primitives.d.ts +10 -0
- package/dist/sdk/runtime-primitives.js +14 -0
- package/dist/sdk/runtime-primitives.js.map +1 -0
- package/dist/sdk/runtime.d.ts +15 -0
- package/dist/sdk/runtime.js +16 -3
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/sdk/structured-mutations.d.ts +21 -0
- package/dist/sdk/structured-mutations.js +375 -0
- package/dist/sdk/structured-mutations.js.map +1 -0
- package/docs/COMMANDS.md +85 -5
- package/docs/RELATIONSHIP_GRAPH.md +48 -7
- package/docs/SDK.md +78 -3
- package/marketplace.json +2 -2
- package/package.json +1 -1
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +5 -3
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-3AO5VSDR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3LPFHE3P.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3VY6MIEO.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4F6BWJ4J.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5IZJWSDB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5UX66S6U.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6C2ZZX5Z.js +0 -286
- package/dist/cli-bundle/chunks/chunk-6C2ZZX5Z.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6VIJ7UA5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-6XMUURSS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-C3KD7U3T.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js +0 -334
- package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DAQ45GCS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-E6LEMURX.js +0 -249
- package/dist/cli-bundle/chunks/chunk-E6LEMURX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-G3COA6GS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GSJSM5BJ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GVI6FAFG.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-GVT754PX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HEWM6CEN.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-IJNK6WW2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-J4FBIFU6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KZEANWJS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-LPEYZRUR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NHT3F4WZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OV7MSW3I.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js +0 -246
- package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js +0 -344
- package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SG74J6MV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-T44FMVRL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-THAOZG4U.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UQLXSG72.js +0 -289
- package/dist/cli-bundle/chunks/chunk-UQLXSG72.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UZDQXNUB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WVA4DVNV.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-CFVG75P3.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-E7UVY4TN.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-4VJTXBZW.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-IQ55E25C.js.map +0 -1
- /package/dist/cli-bundle/chunks/{append-E6V54WOQ.js.map → append-7OVFYR3C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-NNJ3EFIT.js.map → append-DFETHAZL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QJKL5PHS.js.map → chunk-7656MAUL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-X6K5XTTN.js.map → chunk-7W2UAXXT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5OK4UGFV.js.map → chunk-BXNDKOR2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KSPWRNVP.js.map → chunk-CPX275C6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JH2ZSLO3.js.map → chunk-DZRV2OPA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-L7BH7IWU.js.map → chunk-E5XMKOSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CQTQKUUV.js.map → chunk-EWJWSNRU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3MCTMJXI.js.map → chunk-FPBMLYPI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DVDBQA3B.js.map → chunk-GTK4DTEW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GIQSU6S2.js.map → chunk-KBLZ3AA5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XJF7CDNH.js.map → chunk-KH44WBAT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GV2262OF.js.map → chunk-LAV26CQG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VDO2JMD4.js.map → chunk-LVC72YRD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZYPFOO3L.js.map → chunk-MATHDCGG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AOEOYL3S.js.map → chunk-O4BCOJTZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RJO3YAFM.js.map → chunk-OCUBRA6D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I577UHC7.js.map → chunk-OR42SO64.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZOJ3LR7O.js.map → chunk-OY7DMU5P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZV2NTVMJ.js.map → chunk-PONKZPCJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UX6SSO2I.js.map → chunk-PZC2FUOQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VQIHNHMJ.js.map → chunk-QIH77CAG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R3EWPG4A.js.map → chunk-QJIKE24M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HB3P4M52.js.map → chunk-TRSHFPRZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HRW7GF6T.js.map → chunk-UCBDQI5E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4U4Z6AHI.js.map → chunk-V22ZPOKN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JM6YAXTR.js.map → chunk-VHXHVTUU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D6NXDNP3.js.map → chunk-VLRGDBLY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JAPE62Y5.js.map → chunk-VNTCM3VW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FDHPAVVB.js.map → chunk-VXOOB6YX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HQ3SB4CN.js.map → chunk-X3W65QK3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RZJLNXFG.js.map → chunk-XJTABV3X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TYHJDFYW.js.map → chunk-ZVZGXPQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-SDA426VT.js.map → close-many-5RZXVN4J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-UTZANOCQ.js.map → close-many-RZVTUGBG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-LZN6FXXC.js.map → comments-TPU7QRBL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-VBQ345ND.js.map → comments-Z4KV6FU3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-GG4RBCGC.js.map → create-EIFBIVNQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-JBC5KUW6.js.map → create-RGSPN5GD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-FI4O6NQS.js.map → deps-UH5EQQUY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-DELOO4TL.js.map → deps-YG7UF3VR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-6Z2MP526.js.map → docs-G32TK6XS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-2UYBP5D6.js.map → docs-JWWNRC27.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-HKEAN5MA.js.map → files-3H32UQ4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-HEUGSJZL.js.map → files-4ALMCSKB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-7NDVP3PT.js.map → history-compact-77BT2LUB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-65YVN5DB.js.map → history-compact-VCKGTX64.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-7YBL4XSG.js.map → history-redact-LJPZPNFA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-IZGNJBU4.js.map → history-redact-PWTTJ3XS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-7M4PYQUH.js.map → history-repair-I7CBNCV3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-GNGETJLI.js.map → history-repair-YTDZRK5E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-3YXDRWFT.js.map → learnings-CYNOICKR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-ALC6IMNL.js.map → learnings-KTYW3AL7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-7JMLQ447.js.map → notes-FGO63FXL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-JFCLTC5C.js.map → notes-ZERD3KB2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-T3XB3WTK.js.map → plan-OFJUBIM5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-KOIPWVOZ.js.map → plan-SGCDDTYR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-OILJHKUW.js.map → profile-3THJPIQY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-RJXA7PGS.js.map → profile-XEZAMMBW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-ZH65GZFB.js.map → restore-6TDVSATY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-L6IAGOD7.js.map → restore-RSL7C7LO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-4ERWM5QJ.js.map → schema-HFXFSGPG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-55DL3Q52.js.map → schema-TPVTIJPO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-FW6FKDOP.js.map → update-LJZCL5SI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-TJHSPRPT.js.map → update-SIA7LH5Y.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-PWXX5WHO.js.map → update-many-BDBZVGQL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-NNALYQCN.js.map → update-many-MOY3A5B3.js.map} +0 -0
|
@@ -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]="fb2c76d5-4ee1-5d07-bb2a-cf88087c8e4e")}catch(e){}}();
|
|
3
3
|
import { EXIT_CODE } from "../core/shared/constants.js";
|
|
4
4
|
import { PmCliError } from "../core/shared/errors.js";
|
|
5
5
|
import { renderRowsAsCsv, renderRowsAsTable } from "../core/output/tabular.js";
|
|
@@ -366,6 +366,12 @@ async function runGraphAction(subcommand, id, target, options, command) {
|
|
|
366
366
|
...(Array.isArray(options.exemptIsolate)
|
|
367
367
|
? { exemptIsolate: options.exemptIsolate }
|
|
368
368
|
: {}),
|
|
369
|
+
...(Array.isArray(options.exemptIsolateType)
|
|
370
|
+
? { exemptIsolateType: options.exemptIsolateType }
|
|
371
|
+
: {}),
|
|
372
|
+
saveBaseline: options.saveBaseline === true,
|
|
373
|
+
rebuild: options.rebuild === true,
|
|
374
|
+
clear: options.clear === true,
|
|
369
375
|
summary: options.summary === true,
|
|
370
376
|
}, globalOptions);
|
|
371
377
|
printResult(result, globalOptions);
|
|
@@ -620,7 +626,7 @@ export function registerListQueryCommands(program, options) {
|
|
|
620
626
|
if (shouldRegister("graph")) {
|
|
621
627
|
program
|
|
622
628
|
.command("graph")
|
|
623
|
-
.argument("<subcommand>", "Graph query (ancestors, descendants, predecessors, successors, paths, impact, analyze, audit, communities, redundancy, dominators, plan)")
|
|
629
|
+
.argument("<subcommand>", "Graph query (ancestors, descendants, predecessors, successors, paths, impact, analyze, audit, communities, redundancy, dominators, slack, centrality, articulation, plan, index)")
|
|
624
630
|
.argument("[id]", "Root item id (traversals, paths, impact, and dominators)")
|
|
625
631
|
.argument("[target]", "Target item id (paths only)")
|
|
626
632
|
.option("--kind <value>", "Restrict traversal to registered relationship kinds (repeatable or comma-separated)", collect)
|
|
@@ -631,6 +637,10 @@ export function registerListQueryCommands(program, options) {
|
|
|
631
637
|
.option("--max-paths <value>", "Maximum enumerated paths (paths only)")
|
|
632
638
|
.option("--sample <value>", "Maximum evidence sample entries per audit finding (audit only)")
|
|
633
639
|
.option("--exempt-isolate <value>", "Item ids treated as explicitly valid isolates by the audit (repeatable or comma-separated)", collect)
|
|
640
|
+
.option("--exempt-isolate-type <value>", "Item types whose active isolates are policy-valid for the audit (repeatable or comma-separated)", collect)
|
|
641
|
+
.option("--save-baseline", "Persist the audit census as the change-since-baseline comparison point (audit only)")
|
|
642
|
+
.option("--rebuild", "Rebuild and warm the durable graph index (index only)")
|
|
643
|
+
.option("--clear", "Delete the durable graph index (index only)")
|
|
634
644
|
.option("--summary", "Return counts-first envelopes without row collections")
|
|
635
645
|
.description("Bounded workspace relationship-graph queries, analytics, and governance audit.")
|
|
636
646
|
.action(runGraphAction);
|
|
@@ -642,4 +652,4 @@ export const _testOnlyRegisterListQuery = {
|
|
|
642
652
|
parseListFormat,
|
|
643
653
|
};
|
|
644
654
|
//# sourceMappingURL=register-list-query.js.map
|
|
645
|
-
//# debugId=
|
|
655
|
+
//# debugId=fb2c76d5-4ee1-5d07-bb2a-cf88087c8e4e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-list-query.js","sources":["cli/register-list-query.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/register-list-query\n *\n * Provides CLI runtime support for Register List Query.\n */\nimport type { Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { renderRowsAsCsv, renderRowsAsTable } from \"../core/output/tabular.js\";\nimport { runActivity } from \"./commands/activity.js\";\nimport { runAggregate } from \"./commands/aggregate.js\";\nimport {\n renderContextMarkdown,\n runContext,\n resolveContextOutputFormat,\n} from \"./commands/context.js\";\nimport { runEval } from \"./commands/eval.js\";\nimport { runGet } from \"./commands/get.js\";\nimport { runGraph } from \"./commands/graph.js\";\nimport { runHistory } from \"./commands/history.js\";\nimport { runList } from \"./commands/list.js\";\nimport {\n renderNextMarkdown,\n runNext,\n resolveNextOutputFormat,\n} from \"./commands/next.js\";\nimport { runSearch } from \"./commands/search.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n addHiddenOption,\n collect,\n getGlobalOptions,\n normalizeAggregateOptions,\n normalizeActivityOptions,\n normalizeContextOptions,\n normalizeListOptions,\n normalizeNextOptions,\n normalizeSearchKeywordsInput,\n normalizeSearchOptions,\n printActivityJsonStream,\n printError,\n printListJsonStream,\n printResult,\n resolveActivityStreamMode,\n writeStdout,\n} from \"./registration-helpers.js\";\n\n/** Documents the register list query commands options payload exchanged by command, SDK, and package integrations. */\nexport interface RegisterListQueryCommandsOptions {\n /** Value that configures or reports command filter for this contract. */\n commandFilter?: Set<string>;\n}\n\nfunction shouldRegisterListQueryCommand(\n commandName: string,\n commandFilter?: Set<string>,\n): boolean {\n if (!commandFilter || commandFilter.size === 0) {\n return true;\n }\n if (commandName === \"context\") {\n return commandFilter.has(\"context\") || commandFilter.has(\"ctx\");\n }\n return commandFilter.has(commandName);\n}\n\ntype ReadCommandOutputFormat = \"json\" | \"toon\";\n\ntype ListOutputFormat = \"csv\" | \"table\" | \"json\" | \"toon\";\n\n/** Parses the `pm list --format` value into a supported render mode. csv/table are human export modes; json/toon override the machine output format. Returns undefined when no `--format` was supplied so the global output format applies. */\nfunction parseListFormat(rawFormat: unknown): ListOutputFormat | undefined {\n if (rawFormat === undefined) {\n return undefined;\n }\n if (typeof rawFormat !== \"string\") {\n throw new PmCliError(\n \"List --format must be one of csv|table|json|toon\",\n EXIT_CODE.USAGE,\n );\n }\n const normalized = rawFormat.trim().toLowerCase();\n if (\n normalized === \"csv\" ||\n normalized === \"table\" ||\n normalized === \"json\" ||\n normalized === \"toon\"\n ) {\n return normalized;\n }\n throw new PmCliError(\n \"List --format must be one of csv|table|json|toon\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveReadCommandOutputFormat(\n commandLabel: string,\n rawFormat: unknown,\n globalOptions: ReturnType<typeof getGlobalOptions>,\n): ReturnType<typeof getGlobalOptions> {\n if (rawFormat === undefined) {\n return globalOptions;\n }\n if (typeof rawFormat !== \"string\") {\n throw new PmCliError(\n `${commandLabel} --format must be one of json|toon`,\n EXIT_CODE.USAGE,\n );\n }\n const normalized = rawFormat.trim().toLowerCase() as ReadCommandOutputFormat;\n if (normalized !== \"json\" && normalized !== \"toon\") {\n throw new PmCliError(\n `${commandLabel} --format must be one of json|toon`,\n EXIT_CODE.USAGE,\n );\n }\n if (globalOptions.json === true && normalized === \"toon\") {\n throw new PmCliError(\n `${commandLabel} cannot combine --json with --format toon`,\n EXIT_CODE.USAGE,\n );\n }\n return {\n ...globalOptions,\n json: normalized === \"json\",\n };\n}\n\nfunction applyDefaultBriefListMode(\n listOptions: ReturnType<typeof normalizeListOptions>,\n defaultBrief: boolean | undefined,\n): void {\n if (\n defaultBrief === true &&\n listOptions.includeBody !== true &&\n listOptions.compact !== true &&\n listOptions.brief !== true &&\n listOptions.full !== true &&\n listOptions.fields === undefined\n ) {\n listOptions.brief = true;\n }\n}\n\nfunction registerContentAndGovernanceFilters(command: Command): void {\n command\n .option(\"--has-notes\", \"Show only items that have notes\")\n .option(\"--has-learnings\", \"Show only items that have learnings\")\n .option(\"--has-files\", \"Show only items that have linked files\")\n .option(\"--has-docs\", \"Show only items that have linked docs\")\n .option(\"--has-tests\", \"Show only items that have linked tests\")\n .option(\"--has-comments\", \"Show only items that have comments\")\n .option(\"--has-deps\", \"Show only items that have dependencies\")\n .option(\"--has-body\", \"Show only items that have a non-empty body\")\n .option(\n \"--has-linked-command\",\n \"Show only items whose linked tests carry a runnable command\",\n )\n .option(\"--no-notes\", \"Show only items that have no notes\")\n .option(\"--no-learnings\", \"Show only items that have no learnings\")\n .option(\"--no-files\", \"Show only items that have no linked files\")\n .option(\"--filter-files-missing\", \"Alias for --no-files\")\n .option(\"--no-docs\", \"Show only items that have no linked docs\")\n .option(\"--filter-docs-missing\", \"Alias for --no-docs\")\n .option(\"--no-tests\", \"Show only items that have no linked tests\")\n .option(\"--no-comments\", \"Show only items that have no comments\")\n .option(\"--no-deps\", \"Show only items that have no dependencies\")\n .option(\"--empty-body\", \"Show only items with an empty body\")\n .option(\n \"--no-linked-command\",\n \"Show only items whose linked tests carry no runnable command\",\n )\n .option(\"--filter-reviewer-missing\", \"Show only items missing reviewer\")\n .option(\"--filter-risk-missing\", \"Show only items missing risk\")\n .option(\"--filter-confidence-missing\", \"Show only items missing confidence\")\n .option(\"--filter-sprint-missing\", \"Show only items missing sprint\")\n .option(\"--filter-release-missing\", \"Show only items missing release\");\n}\n\nasync function runRegisteredListCommand(params: {\n name: string;\n status?: ItemStatus;\n excludeTerminal?: boolean;\n defaultBrief?: boolean;\n dependencyBlocked?: boolean;\n options: Record<string, unknown>;\n actionCommand: Command;\n}): Promise<void> {\n const globalOptions = getGlobalOptions(params.actionCommand);\n const startedAt = Date.now();\n const listOptions = normalizeListOptions(params.options);\n applyDefaultBriefListMode(listOptions, params.defaultBrief);\n if (params.excludeTerminal) listOptions.excludeTerminal = true;\n listOptions.dependencyBlocked = params.dependencyBlocked;\n const result = await runList(\n params.dependencyBlocked ? undefined : params.status,\n listOptions,\n globalOptions,\n );\n const streamMode = params.options.stream === true;\n const listFormat = parseListFormat(params.options.format);\n const tabular = listFormat === \"csv\" || listFormat === \"table\";\n const effectiveGlobal =\n listFormat === \"json\" || listFormat === \"toon\"\n ? resolveReadCommandOutputFormat(\n \"List\",\n params.options.format,\n globalOptions,\n )\n : globalOptions;\n if (streamMode && !effectiveGlobal.json) {\n throw new PmCliError(\n \"--stream requires --json output mode.\",\n EXIT_CODE.USAGE,\n );\n }\n if (tabular && streamMode) {\n throw new PmCliError(\n \"--format csv|table cannot be combined with --stream (line-delimited JSON).\",\n EXIT_CODE.USAGE,\n );\n }\n if (tabular) {\n const rows = result.items as Array<Record<string, unknown>>;\n const rendered =\n listFormat === \"csv\" ? renderRowsAsCsv(rows) : renderRowsAsTable(rows);\n if (!effectiveGlobal.quiet && rendered.length > 0) {\n writeStdout(`${rendered}\\n`);\n }\n } else if (streamMode) {\n printListJsonStream(params.name, result, effectiveGlobal);\n } else {\n printResult(result, effectiveGlobal);\n }\n if (globalOptions.profile) {\n printError(\n `profile:command=${params.name} took_ms=${Date.now() - startedAt}`,\n );\n }\n}\n\ninterface ListCommandDescriptor {\n name: string;\n description: string;\n status?: ItemStatus;\n excludeTerminal?: boolean;\n allowStatusFilter?: boolean;\n defaultBrief?: boolean;\n /** Select via the shared edge-aware blocked classification instead of a raw status filter (GH-578). */\n dependencyBlocked?: boolean;\n}\n\nfunction registerListCommand(\n program: Command,\n descriptor: ListCommandDescriptor,\n): void {\n const {\n name,\n description,\n status,\n excludeTerminal,\n allowStatusFilter,\n defaultBrief,\n dependencyBlocked,\n } = descriptor;\n const command = program.command(name).description(description);\n if (allowStatusFilter) {\n command.option(\n \"--status <value>\",\n \"Filter by status (use all for no status restriction)\",\n );\n }\n command\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\n \"--deadline-before <value>\",\n \"Filter by deadline upper bound (ISO/date string or relative)\",\n )\n .option(\n \"--deadline-after <value>\",\n \"Filter by deadline lower bound (ISO/date string or relative)\",\n )\n .option(\"--today\", \"Filter to items updated since local midnight today\")\n .option(\"--recent\", \"Filter to items updated in the last 7 days\")\n .option(\n \"--updated-after <value>\",\n 'Filter by updated_at lower bound: ISO timestamp or signed relative (e.g. \"-2h\"/\"-7d\" for the past). \"Changed since my last window\" → --updated-after <ISO>',\n )\n .option(\n \"--updated-before <value>\",\n \"Filter by updated_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-after <value>\",\n \"Filter by created_at lower bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-before <value>\",\n \"Filter by created_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--ids <value>\",\n \"Filter by explicit item IDs (comma-separated or repeatable)\",\n )\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\n \"--filter-ac-missing\",\n \"Show only items missing acceptance_criteria\",\n )\n .option(\n \"--filter-estimates-missing\",\n \"Show only items missing estimated_minutes\",\n )\n .option(\n \"--filter-resolution-missing\",\n \"Show only terminal items missing resolution\",\n )\n .option(\n \"--filter-metadata-missing\",\n \"Show only items missing any tracked metadata (AC, estimate, or resolution)\",\n )\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\n \"--offset <n>\",\n \"Skip the first n matching rows before limit is applied\",\n )\n .option(\n \"--after <cursor>\",\n \"Continue after an opaque next_cursor from a previous list response\",\n )\n .option(\n \"--no-truncate\",\n \"Return every matched row, overriding any --limit (alias: --all)\",\n )\n .option(\"--include-body\", \"Include item body in each returned list row\")\n .option(\n \"--compact\",\n \"Render compact list projection fields (mutually exclusive with --brief/--full/--fields)\",\n )\n .option(\n \"--brief\",\n \"Ultra-compact output: id, status, type, title only (agent-optimized, mutually exclusive with --compact/--full/--fields)\",\n )\n .option(\n \"--full\",\n \"Render full list projection fields (mutually exclusive with --compact/--brief/--fields)\",\n )\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated list fields (mutually exclusive with --compact/--brief/--full; valid: --fields id,title)\",\n )\n .option(\n \"--sort <value>\",\n \"Sort field: priority|deadline|updated_at|created_at|title|parent (aliases: updated, created)\",\n )\n .option(\"--order <value>\", \"Sort order: asc|desc (requires --sort)\")\n .option(\"--tree\", \"Render rows in parent/child tree order\")\n .option(\n \"--tree-depth <n>\",\n \"Maximum recursion depth with --tree (0 keeps root rows only)\",\n )\n .option(\n \"--format <value>\",\n \"Output render mode: csv|table (human export) or json|toon (machine output override)\",\n )\n .option(\"--stream\", \"Emit line-delimited JSON rows (requires --json)\");\n registerContentAndGovernanceFilters(command);\n command.action(async (options: Record<string, unknown>, actionCommand) => {\n await runRegisteredListCommand({\n name,\n status,\n excludeTerminal,\n defaultBrief,\n dependencyBlocked,\n options,\n actionCommand,\n });\n });\n // Positive alias for --no-truncate (Commander stores the negation as truncate=false).\n addHiddenOption(command, \"--all\", \"Alias for --no-truncate\");\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(command, \"--tags <value>\", \"Alias for --tag\");\n addHiddenOption(\n command,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n addHiddenOption(command, \"--tree_depth <n>\", \"Alias for --tree-depth\");\n // Singular alias so `--filter-estimate-missing` works (matches update-many spelling).\n addHiddenOption(\n command,\n \"--filter-estimate-missing\",\n \"Alias for --filter-estimates-missing\",\n );\n}\n\nasync function runAggregateAction(\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runAggregate(\n normalizeAggregateOptions(options),\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=aggregate took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runContextAction(\n options: Record<string, unknown>,\n actionCommand: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const normalized = normalizeContextOptions(options);\n const result = await runContext(normalized, globalOptions);\n const outputFormat = resolveContextOutputFormat(normalized, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${renderContextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, {\n ...globalOptions,\n json: outputFormat === \"json\",\n });\n }\n if (globalOptions.profile) {\n printError(`profile:command=context took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runNextAction(\n options: Record<string, unknown>,\n actionCommand: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const nextOptions = normalizeNextOptions(options);\n const result = await runNext(nextOptions, globalOptions);\n const outputFormat = resolveNextOutputFormat(nextOptions, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${renderNextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, { ...globalOptions, json: outputFormat === \"json\" });\n }\n if (globalOptions.profile) {\n printError(`profile:command=next took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runSearchAction(\n keywords: string[],\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const searchOptions = normalizeSearchOptions(options);\n const result = await runSearch(\n normalizeSearchKeywordsInput(keywords),\n {\n ...searchOptions,\n mode:\n typeof searchOptions.mode === \"string\" &&\n searchOptions.mode.trim().length > 0\n ? searchOptions.mode\n : \"keyword\",\n },\n globalOptions,\n );\n printResult(\n result,\n resolveReadCommandOutputFormat(\"Search\", options.format, globalOptions),\n );\n if (globalOptions.profile) {\n printError(`profile:command=search took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runEvalAction(\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runEval(\n {\n mode: typeof options.mode === \"string\" ? options.mode : undefined,\n k: typeof options.k === \"string\" ? options.k : undefined,\n failUnder:\n typeof options.failUnder === \"string\" ? options.failUnder : undefined,\n queries:\n typeof options.queries === \"string\" ? options.queries : undefined,\n format: typeof options.format === \"string\" ? options.format : undefined,\n },\n globalOptions,\n );\n printResult(\n result,\n resolveReadCommandOutputFormat(\"Eval\", options.format, globalOptions),\n );\n if (globalOptions.profile) {\n printError(`profile:command=eval took_ms=${Date.now() - startedAt}`);\n }\n if (!result.passed) {\n throw new PmCliError(\n `Eval gate failed: aggregate nDCG@${result.k} ${result.aggregate.ndcg} is below --fail-under ${result.fail_under}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n}\n\nasync function runGetAction(\n id: string,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runGet(id, globalOptions, {\n depth: typeof options.depth === \"string\" ? options.depth : undefined,\n fields: typeof options.fields === \"string\" ? options.fields : undefined,\n full: Boolean(options.full),\n tree: options.tree === true,\n treeDepth:\n typeof options.treeDepth === \"string\"\n ? options.treeDepth\n : typeof options.tree_depth === \"string\"\n ? options.tree_depth\n : undefined,\n at: typeof options.at === \"string\" ? options.at : undefined,\n });\n printResult(\n result,\n resolveReadCommandOutputFormat(\"Get\", options.format, globalOptions),\n );\n if (globalOptions.profile) {\n printError(`profile:command=get took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runHistoryAction(\n id: string,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\n \"History projection options are mutually exclusive. Use either --compact or --full.\",\n EXIT_CODE.USAGE,\n );\n }\n const field = typeof options.field === \"string\" ? options.field : undefined;\n const strictExit =\n Boolean(options.strictExit) || Boolean(options.failOnWarn);\n if (strictExit && !options.verify) {\n throw new PmCliError(\n \"--strict-exit requires --verify (it gates on the verification result).\",\n EXIT_CODE.USAGE,\n );\n }\n const result = await runHistory(\n id,\n {\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n compact: options.full === true ? false : true,\n diff: Boolean(options.diff) || field !== undefined,\n field,\n verify: Boolean(options.verify),\n },\n globalOptions,\n );\n printResult(\n result,\n resolveReadCommandOutputFormat(\"History\", options.format, globalOptions),\n );\n // GH-604: without --strict-exit a broken chain still exits 0 (read-only\n // inspection default); with it, verification.ok:false becomes a nonzero exit\n // so CI and merge hooks can gate on `pm history <id> --verify --strict-exit`.\n if (strictExit && result.verification && !result.verification.ok) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n if (globalOptions.profile) {\n printError(`profile:command=history took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runActivityAction(\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\n \"Activity projection options are mutually exclusive. Use either --compact or --full.\",\n EXIT_CODE.USAGE,\n );\n }\n const normalized = normalizeActivityOptions(options);\n const result = await runActivity(normalized, globalOptions);\n const streamMode = resolveActivityStreamMode(options.stream);\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\n \"--stream requires --json output mode.\",\n EXIT_CODE.USAGE,\n );\n }\n if (streamMode) {\n printActivityJsonStream(result, normalized, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=activity took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runGraphAction(\n subcommand: string,\n id: string | undefined,\n target: string | undefined,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runGraph(\n subcommand,\n id,\n target,\n {\n ...(Array.isArray(options.kind) ? { kind: options.kind as string[] } : {}),\n maxDepth: typeof options.maxDepth === \"string\" ? options.maxDepth : undefined,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n after: typeof options.after === \"string\" ? options.after : undefined,\n direction:\n typeof options.direction === \"string\" ? options.direction : undefined,\n maxPaths: typeof options.maxPaths === \"string\" ? options.maxPaths : undefined,\n sample: typeof options.sample === \"string\" ? options.sample : undefined,\n ...(Array.isArray(options.exemptIsolate)\n ? { exemptIsolate: options.exemptIsolate as string[] }\n : {}),\n summary: options.summary === true,\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=graph took_ms=${Date.now() - startedAt}`);\n }\n}\n\n/** Implements register list query commands for the public runtime surface of this module. */\nexport function registerListQueryCommands(\n program: Command,\n options?: RegisterListQueryCommandsOptions,\n): void {\n const commandFilter = options?.commandFilter;\n const shouldRegister = (commandName: string): boolean =>\n shouldRegisterListQueryCommand(commandName, commandFilter);\n const listCommandDescriptors: ListCommandDescriptor[] = [\n {\n name: \"list\",\n description: \"List active items with optional filters.\",\n excludeTerminal: true,\n allowStatusFilter: true,\n defaultBrief: true,\n },\n {\n name: \"list-all\",\n description: \"List all items with optional filters.\",\n excludeTerminal: false,\n allowStatusFilter: true,\n },\n {\n name: \"list-draft\",\n description: \"List draft items with optional filters.\",\n status: \"draft\",\n },\n {\n name: \"list-open\",\n description: \"List open items with optional filters.\",\n status: \"open\",\n excludeTerminal: false,\n allowStatusFilter: false,\n defaultBrief: true,\n },\n {\n name: \"list-in-progress\",\n description: \"List in-progress items with optional filters.\",\n status: \"in_progress\",\n excludeTerminal: false,\n allowStatusFilter: false,\n defaultBrief: true,\n },\n {\n name: \"list-blocked\",\n description:\n \"List blocked items (blocked status or open blocked_by dependencies, matching pm next) with optional filters.\",\n dependencyBlocked: true,\n excludeTerminal: false,\n allowStatusFilter: false,\n defaultBrief: true,\n },\n {\n name: \"list-closed\",\n description: \"List closed items with optional filters.\",\n status: \"closed\",\n },\n {\n name: \"list-canceled\",\n description: \"List canceled items with optional filters.\",\n status: \"canceled\",\n },\n ];\n for (const descriptor of listCommandDescriptors) {\n if (shouldRegister(descriptor.name)) {\n registerListCommand(program, descriptor);\n }\n }\n\n if (shouldRegister(\"aggregate\")) {\n const aggregateCommand = program\n .command(\"aggregate\")\n .description(\"Aggregate grouped item counts for governance queries.\")\n .option(\n \"--group-by <value>\",\n \"Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)\",\n )\n .option(\"--count\", \"Return grouped counts (default behavior)\")\n .option(\n \"--completion\",\n \"Add open/in_progress/closed/other counts and completion_pct per group\",\n )\n .option(\"--sum <field>\", \"Sum a numeric field per group\")\n .option(\"--avg <field>\", \"Average a numeric field per group\")\n .option(\n \"--include-unparented\",\n \"Include unparented rows when grouping by parent\",\n )\n .option(\"--status <value>\", \"Filter by item status\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\n \"--deadline-before <value>\",\n \"Filter by deadline upper bound (ISO/date string or relative)\",\n )\n .option(\n \"--deadline-after <value>\",\n \"Filter by deadline lower bound (ISO/date string or relative)\",\n )\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\");\n // Hidden pure snake_case underscore-duplicate aliases (kept parse-functional).\n addHiddenOption(\n aggregateCommand,\n \"--include_unparented\",\n \"Alias for --include-unparented\",\n );\n addHiddenOption(\n aggregateCommand,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n aggregateCommand.action(runAggregateAction);\n }\n\n if (shouldRegister(\"context\")) {\n const contextCommand = program\n .command(\"context\")\n .alias(\"ctx\")\n .description(\n \"Show a token-efficient project context snapshot for next-work decisions.\",\n )\n .option(\n \"--date <value>\",\n \"Anchor date/time for agenda window calculations (ISO/date string or relative)\",\n )\n .option(\n \"--from <value>\",\n \"Agenda lower bound (ISO/date string or relative)\",\n )\n .option(\n \"--to <value>\",\n \"Agenda upper bound (ISO/date string or relative)\",\n )\n .option(\"--past\", \"Include past agenda entries in bounded windows\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\n \"--parent <id>\",\n \"Scope the snapshot to one item's subtree (the item plus all descendants)\",\n )\n .option(\"--limit <n>\", \"Limit focus and agenda rows per section\")\n .option(\n \"--after <cursor>\",\n \"Continue ranked focus after a next_cursor from a previous context response\",\n )\n .option(\n \"--format <value>\",\n \"Context output format override: markdown|toon|json\",\n )\n .option(\n \"--depth <value>\",\n \"Context depth: brief|standard|deep|full (full = every section, no per-section cap)\",\n )\n .option(\n \"--section <value...>\",\n \"Include specific sections (repeatable; overrides --depth)\",\n )\n .option(\n \"--fields <value>\",\n \"Project focus rows to a comma-separated field subset (e.g. id,title,priority)\",\n )\n .option(\n \"--activity-limit <n>\",\n \"Limit recent activity entries (default: settings or 10)\",\n )\n .option(\n \"--stale-threshold <value>\",\n \"Staleness cutoff in days (e.g. 7 or 7d; default: settings or 7)\",\n )\n .option(\n \"--explain-ranking\",\n \"Include the scorer model, per-signal contributions, and ranked candidate ids\",\n );\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(\n contextCommand,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n addHiddenOption(contextCommand, \"--max-items <n>\", \"Alias for --limit\");\n addHiddenOption(\n contextCommand,\n \"--explain_ranking\",\n \"Alias for --explain-ranking\",\n );\n contextCommand.action(runContextAction);\n }\n\n if (shouldRegister(\"next\")) {\n const nextCommand = program\n .command(\"next\")\n .description(\n \"Recommend the next actionable (unblocked, ready) work item with rationale + blocked companion.\",\n )\n .option(\"--type <value>\", \"Filter candidate items by type\")\n .option(\"--tag <value>\", \"Filter candidate items by tag\")\n .option(\"--priority <value>\", \"Filter candidate items by priority\")\n .option(\"--assignee <value>\", \"Filter candidate items by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--sprint <value>\", \"Filter candidate items by sprint\")\n .option(\"--release <value>\", \"Filter candidate items by release\")\n .option(\n \"--parent <id>\",\n \"Scope to one item's subtree (the item plus all descendants)\",\n )\n .option(\n \"--limit <n>\",\n \"Limit ready rows (default: 5; non-positive falls back to default)\",\n )\n .option(\n \"--blocked-limit <n>\",\n \"Limit blocked rows (default: same as --limit)\",\n )\n .option(\"--ready-only\", \"Omit the blocked companion list\")\n .option(\n \"--include-decisions\",\n \"Include human-gated Decision items in the claimable ready queue\",\n )\n .option(\n \"--format <value>\",\n \"Next output format override: markdown|toon|json\",\n )\n .option(\n \"--explain-ranking\",\n \"Include the scorer model, per-signal contributions, and ranked ready ids\",\n );\n addHiddenOption(\n nextCommand,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n addHiddenOption(\n nextCommand,\n \"--blocked_limit <n>\",\n \"Alias for --blocked-limit\",\n );\n addHiddenOption(nextCommand, \"--ready_only\", \"Alias for --ready-only\");\n addHiddenOption(\n nextCommand,\n \"--explain_ranking\",\n \"Alias for --explain-ranking\",\n );\n nextCommand.action(runNextAction);\n }\n\n if (shouldRegister(\"search\")) {\n const searchCommand = program\n .command(\"search\")\n .argument(\"<keywords...>\", \"Keyword query tokens\")\n .description(\n \"Search items with keyword, semantic, or hybrid retrieval. Inline field:value tokens \" +\n \"(tag:/status:/type:/priority:) in the query are parsed as filters, e.g. 'auth tag:area:search status:open'.\",\n )\n .option(\n \"--mode <value>\",\n \"Search mode: keyword|semantic|hybrid (default: keyword)\",\n )\n .option(\"--semantic\", \"Shorthand for --mode semantic\")\n .option(\"--hybrid\", \"Shorthand for --mode hybrid\")\n .option(\n \"--match-mode <value>\",\n \"Token match mode: and|or|exact (default: or with all-terms ranking bonus; and = hard-require every token; exact = exact phrase)\",\n )\n .option(\n \"--min-score <value>\",\n \"Per-query minimum score threshold (finite number >= 0); overrides settings search.score_threshold for this query only\",\n )\n .option(\n \"--count\",\n \"Return only the count of matching items (post-filter/threshold, pre-limit); skips hit rows\",\n )\n .option(\n \"--semantic-weight <value>\",\n \"Override hybrid semantic weight for this query (0..1); invalid values fall back to settings\",\n )\n .option(\n \"--include-linked\",\n \"Include linked files, docs, and tests in the searchable corpus\",\n )\n .option(\n \"--title-exact\",\n \"Require exact normalized title match for the full query string\",\n )\n .option(\n \"--phrase-exact\",\n \"Require exact normalized phrase match in searchable text\",\n )\n .option(\n \"--highlight\",\n \"Emit per-field matched-text snippets (wrapped in «…») on each hit; off by default\",\n )\n .option(\n \"--status <value>\",\n \"Filter by status before query (all, open/closed/canceled aliases, or configured status id; CSV)\",\n )\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\n \"--deadline-before <value>\",\n \"Filter by deadline upper bound (ISO/date string or relative)\",\n )\n .option(\n \"--deadline-after <value>\",\n \"Filter by deadline lower bound (ISO/date string or relative)\",\n )\n .option(\n \"--updated-after <value>\",\n 'Filter by updated_at lower bound: ISO timestamp or signed relative (e.g. \"-2h\"/\"-7d\" for the past)',\n )\n .option(\n \"--updated-before <value>\",\n \"Filter by updated_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-after <value>\",\n \"Filter by created_at lower bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-before <value>\",\n \"Filter by created_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\n \"--compact\",\n \"Render compact search hits (default; mutually exclusive with --full/--fields)\",\n )\n .option(\n \"--full\",\n \"Render full search hits with nested item payloads (mutually exclusive with --compact/--fields)\",\n )\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated search hit fields (mutually exclusive with --compact/--full; valid: --fields id,title,score; invalid: --full --fields id,title)\",\n )\n .option(\"--format <value>\", \"Search output format override: json|toon\")\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\n \"--after <cursor>\",\n \"Continue after an opaque next_cursor from a previous search response\",\n );\n registerContentAndGovernanceFilters(searchCommand);\n searchCommand.action(runSearchAction);\n addHiddenOption(searchCommand, \"--tags <value>\", \"Alias for --tag\");\n }\n\n if (shouldRegister(\"eval\")) {\n program\n .command(\"eval\")\n .description(\n \"Evaluate search relevance against a curated golden-query set: reports nDCG@k, MRR@k, \" +\n \"precision@k, and recall@k per query plus the macro average. Use --fail-under as a CI gate.\",\n )\n .option(\n \"--mode <value>\",\n \"Default retrieval mode for queries without their own: keyword|semantic|hybrid (default: keyword)\",\n )\n .option(\"--k <n>\", \"Metric cutoff @k (positive integer; default: 10)\")\n .option(\n \"--fail-under <value>\",\n \"Exit non-zero when aggregate nDCG@k falls below this threshold (0..1); CI gate\",\n )\n .option(\n \"--queries <path>\",\n \"Path to the golden-query JSON file (default: <pmRoot>/search/eval-queries.json)\",\n )\n .option(\"--format <value>\", \"Eval output format override: json|toon\")\n .action(runEvalAction);\n }\n\n if (shouldRegister(\"get\")) {\n const getCommand = program\n .command(\"get\")\n .argument(\"<id>\", \"Item id\")\n .option(\n \"--depth <value>\",\n \"Detail depth: brief|standard|deep|full (full aliases deep; default: standard)\",\n )\n .option(\n \"--full\",\n \"Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)\",\n )\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)\",\n )\n .option(\"--tree\", \"Include descendants rooted at the requested item\")\n .option(\n \"--tree-depth <n>\",\n \"Maximum subtree depth for --tree descendants\",\n )\n .option(\n \"--at <version-or-timestamp>\",\n \"Reconstruct a verified historical item state without mutating it\",\n )\n .option(\"--format <value>\", \"Get output format override: json|toon\")\n .description(\"Show item details by ID.\")\n .action(runGetAction);\n addHiddenOption(getCommand, \"--tree_depth <n>\", \"Alias for --tree-depth\");\n }\n\n if (shouldRegister(\"history\")) {\n program\n .command(\"history\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--limit <n>\", \"Return only the latest n history entries\")\n .option(\n \"--compact\",\n \"Condensed output: show entry index, timestamp, op, author, patch count, and changed fields\",\n )\n .option(\"--full\", \"Show full history entries with JSON Patch payloads\")\n .option(\n \"--diff\",\n \"Include per-entry field-level before/after value diffs computed by replaying the history chain\",\n )\n .option(\n \"--field <name>\",\n \"With --diff, show only entries that changed this field (implies --diff)\",\n )\n .option(\n \"--verify\",\n \"Verify hash chain and replay integrity for the full history stream\",\n )\n .option(\n \"--strict-exit\",\n \"With --verify, exit nonzero when verification fails (merge-safety gate parity with pm validate)\",\n )\n .option(\"--fail-on-warn\", \"Alias for --strict-exit\")\n .option(\"--format <value>\", \"History output format override: json|toon\")\n .description(\"Show item history entries.\")\n .action(runHistoryAction);\n }\n\n if (shouldRegister(\"activity\")) {\n program\n .command(\"activity\")\n .option(\"--id <value>\", \"Filter by item ID\")\n .option(\"--op <value>\", \"Filter by history operation\")\n .option(\"--author <value>\", \"Filter by history author\")\n .option(\n \"--from <value>\",\n \"Lower timestamp bound (ISO/date string or relative)\",\n )\n .option(\n \"--to <value>\",\n \"Upper timestamp bound (ISO/date string or relative)\",\n )\n .option(\"--limit <n>\", \"Return only the latest n activity entries\")\n .option(\n \"--compact\",\n \"Condensed output: show only id, op, ts, author, msg per entry\",\n )\n .option(\"--full\", \"Show full activity entries with JSON Patch payloads\")\n .option(\n \"--stream [mode]\",\n \"Emit line-delimited JSON rows (requires --json). Optional mode: rows|ndjson|jsonl\",\n )\n .description(\"Show recent activity across items.\")\n .action(runActivityAction);\n }\n\n if (shouldRegister(\"graph\")) {\n program\n .command(\"graph\")\n .argument(\n \"<subcommand>\",\n \"Graph query (ancestors, descendants, predecessors, successors, paths, impact, analyze, audit, communities, redundancy, dominators, plan)\",\n )\n .argument(\"[id]\", \"Root item id (traversals, paths, impact, and dominators)\")\n .argument(\"[target]\", \"Target item id (paths only)\")\n .option(\n \"--kind <value>\",\n \"Restrict traversal to registered relationship kinds (repeatable or comma-separated)\",\n collect,\n )\n .option(\n \"--max-depth <value>\",\n \"Maximum traversal depth (non-negative integer)\",\n )\n .option(\"--limit <value>\", \"Maximum returned rows per bounded collection\")\n .option(\n \"--after <value>\",\n \"Resume a traversal after this previously returned node id\",\n )\n .option(\n \"--direction <value>\",\n \"Edge orientation for paths/impact (outgoing, incoming, or both)\",\n )\n .option(\"--max-paths <value>\", \"Maximum enumerated paths (paths only)\")\n .option(\n \"--sample <value>\",\n \"Maximum evidence sample entries per audit finding (audit only)\",\n )\n .option(\n \"--exempt-isolate <value>\",\n \"Item ids treated as explicitly valid isolates by the audit (repeatable or comma-separated)\",\n collect,\n )\n .option(\"--summary\", \"Return counts-first envelopes without row collections\")\n .description(\n \"Bounded workspace relationship-graph queries, analytics, and governance audit.\",\n )\n .action(runGraphAction);\n }\n}\n\n/** Public contract for test only register list query, shared by SDK and presentation-layer consumers. */\nexport const _testOnlyRegisterListQuery = {\n resolveReadCommandOutputFormat,\n parseListFormat,\n};\n"],"names":[],"mappings":"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","debugId":"edb69c5e-c206-57cb-96cf-c239f3ba457a"}
|
|
1
|
+
{"version":3,"file":"register-list-query.js","sources":["cli/register-list-query.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/register-list-query\n *\n * Provides CLI runtime support for Register List Query.\n */\nimport type { Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { renderRowsAsCsv, renderRowsAsTable } from \"../core/output/tabular.js\";\nimport { runActivity } from \"./commands/activity.js\";\nimport { runAggregate } from \"./commands/aggregate.js\";\nimport {\n renderContextMarkdown,\n runContext,\n resolveContextOutputFormat,\n} from \"./commands/context.js\";\nimport { runEval } from \"./commands/eval.js\";\nimport { runGet } from \"./commands/get.js\";\nimport { runGraph } from \"./commands/graph.js\";\nimport { runHistory } from \"./commands/history.js\";\nimport { runList } from \"./commands/list.js\";\nimport {\n renderNextMarkdown,\n runNext,\n resolveNextOutputFormat,\n} from \"./commands/next.js\";\nimport { runSearch } from \"./commands/search.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n addHiddenOption,\n collect,\n getGlobalOptions,\n normalizeAggregateOptions,\n normalizeActivityOptions,\n normalizeContextOptions,\n normalizeListOptions,\n normalizeNextOptions,\n normalizeSearchKeywordsInput,\n normalizeSearchOptions,\n printActivityJsonStream,\n printError,\n printListJsonStream,\n printResult,\n resolveActivityStreamMode,\n writeStdout,\n} from \"./registration-helpers.js\";\n\n/** Documents the register list query commands options payload exchanged by command, SDK, and package integrations. */\nexport interface RegisterListQueryCommandsOptions {\n /** Value that configures or reports command filter for this contract. */\n commandFilter?: Set<string>;\n}\n\nfunction shouldRegisterListQueryCommand(\n commandName: string,\n commandFilter?: Set<string>,\n): boolean {\n if (!commandFilter || commandFilter.size === 0) {\n return true;\n }\n if (commandName === \"context\") {\n return commandFilter.has(\"context\") || commandFilter.has(\"ctx\");\n }\n return commandFilter.has(commandName);\n}\n\ntype ReadCommandOutputFormat = \"json\" | \"toon\";\n\ntype ListOutputFormat = \"csv\" | \"table\" | \"json\" | \"toon\";\n\n/** Parses the `pm list --format` value into a supported render mode. csv/table are human export modes; json/toon override the machine output format. Returns undefined when no `--format` was supplied so the global output format applies. */\nfunction parseListFormat(rawFormat: unknown): ListOutputFormat | undefined {\n if (rawFormat === undefined) {\n return undefined;\n }\n if (typeof rawFormat !== \"string\") {\n throw new PmCliError(\n \"List --format must be one of csv|table|json|toon\",\n EXIT_CODE.USAGE,\n );\n }\n const normalized = rawFormat.trim().toLowerCase();\n if (\n normalized === \"csv\" ||\n normalized === \"table\" ||\n normalized === \"json\" ||\n normalized === \"toon\"\n ) {\n return normalized;\n }\n throw new PmCliError(\n \"List --format must be one of csv|table|json|toon\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveReadCommandOutputFormat(\n commandLabel: string,\n rawFormat: unknown,\n globalOptions: ReturnType<typeof getGlobalOptions>,\n): ReturnType<typeof getGlobalOptions> {\n if (rawFormat === undefined) {\n return globalOptions;\n }\n if (typeof rawFormat !== \"string\") {\n throw new PmCliError(\n `${commandLabel} --format must be one of json|toon`,\n EXIT_CODE.USAGE,\n );\n }\n const normalized = rawFormat.trim().toLowerCase() as ReadCommandOutputFormat;\n if (normalized !== \"json\" && normalized !== \"toon\") {\n throw new PmCliError(\n `${commandLabel} --format must be one of json|toon`,\n EXIT_CODE.USAGE,\n );\n }\n if (globalOptions.json === true && normalized === \"toon\") {\n throw new PmCliError(\n `${commandLabel} cannot combine --json with --format toon`,\n EXIT_CODE.USAGE,\n );\n }\n return {\n ...globalOptions,\n json: normalized === \"json\",\n };\n}\n\nfunction applyDefaultBriefListMode(\n listOptions: ReturnType<typeof normalizeListOptions>,\n defaultBrief: boolean | undefined,\n): void {\n if (\n defaultBrief === true &&\n listOptions.includeBody !== true &&\n listOptions.compact !== true &&\n listOptions.brief !== true &&\n listOptions.full !== true &&\n listOptions.fields === undefined\n ) {\n listOptions.brief = true;\n }\n}\n\nfunction registerContentAndGovernanceFilters(command: Command): void {\n command\n .option(\"--has-notes\", \"Show only items that have notes\")\n .option(\"--has-learnings\", \"Show only items that have learnings\")\n .option(\"--has-files\", \"Show only items that have linked files\")\n .option(\"--has-docs\", \"Show only items that have linked docs\")\n .option(\"--has-tests\", \"Show only items that have linked tests\")\n .option(\"--has-comments\", \"Show only items that have comments\")\n .option(\"--has-deps\", \"Show only items that have dependencies\")\n .option(\"--has-body\", \"Show only items that have a non-empty body\")\n .option(\n \"--has-linked-command\",\n \"Show only items whose linked tests carry a runnable command\",\n )\n .option(\"--no-notes\", \"Show only items that have no notes\")\n .option(\"--no-learnings\", \"Show only items that have no learnings\")\n .option(\"--no-files\", \"Show only items that have no linked files\")\n .option(\"--filter-files-missing\", \"Alias for --no-files\")\n .option(\"--no-docs\", \"Show only items that have no linked docs\")\n .option(\"--filter-docs-missing\", \"Alias for --no-docs\")\n .option(\"--no-tests\", \"Show only items that have no linked tests\")\n .option(\"--no-comments\", \"Show only items that have no comments\")\n .option(\"--no-deps\", \"Show only items that have no dependencies\")\n .option(\"--empty-body\", \"Show only items with an empty body\")\n .option(\n \"--no-linked-command\",\n \"Show only items whose linked tests carry no runnable command\",\n )\n .option(\"--filter-reviewer-missing\", \"Show only items missing reviewer\")\n .option(\"--filter-risk-missing\", \"Show only items missing risk\")\n .option(\"--filter-confidence-missing\", \"Show only items missing confidence\")\n .option(\"--filter-sprint-missing\", \"Show only items missing sprint\")\n .option(\"--filter-release-missing\", \"Show only items missing release\");\n}\n\nasync function runRegisteredListCommand(params: {\n name: string;\n status?: ItemStatus;\n excludeTerminal?: boolean;\n defaultBrief?: boolean;\n dependencyBlocked?: boolean;\n options: Record<string, unknown>;\n actionCommand: Command;\n}): Promise<void> {\n const globalOptions = getGlobalOptions(params.actionCommand);\n const startedAt = Date.now();\n const listOptions = normalizeListOptions(params.options);\n applyDefaultBriefListMode(listOptions, params.defaultBrief);\n if (params.excludeTerminal) listOptions.excludeTerminal = true;\n listOptions.dependencyBlocked = params.dependencyBlocked;\n const result = await runList(\n params.dependencyBlocked ? undefined : params.status,\n listOptions,\n globalOptions,\n );\n const streamMode = params.options.stream === true;\n const listFormat = parseListFormat(params.options.format);\n const tabular = listFormat === \"csv\" || listFormat === \"table\";\n const effectiveGlobal =\n listFormat === \"json\" || listFormat === \"toon\"\n ? resolveReadCommandOutputFormat(\n \"List\",\n params.options.format,\n globalOptions,\n )\n : globalOptions;\n if (streamMode && !effectiveGlobal.json) {\n throw new PmCliError(\n \"--stream requires --json output mode.\",\n EXIT_CODE.USAGE,\n );\n }\n if (tabular && streamMode) {\n throw new PmCliError(\n \"--format csv|table cannot be combined with --stream (line-delimited JSON).\",\n EXIT_CODE.USAGE,\n );\n }\n if (tabular) {\n const rows = result.items as Array<Record<string, unknown>>;\n const rendered =\n listFormat === \"csv\" ? renderRowsAsCsv(rows) : renderRowsAsTable(rows);\n if (!effectiveGlobal.quiet && rendered.length > 0) {\n writeStdout(`${rendered}\\n`);\n }\n } else if (streamMode) {\n printListJsonStream(params.name, result, effectiveGlobal);\n } else {\n printResult(result, effectiveGlobal);\n }\n if (globalOptions.profile) {\n printError(\n `profile:command=${params.name} took_ms=${Date.now() - startedAt}`,\n );\n }\n}\n\ninterface ListCommandDescriptor {\n name: string;\n description: string;\n status?: ItemStatus;\n excludeTerminal?: boolean;\n allowStatusFilter?: boolean;\n defaultBrief?: boolean;\n /** Select via the shared edge-aware blocked classification instead of a raw status filter (GH-578). */\n dependencyBlocked?: boolean;\n}\n\nfunction registerListCommand(\n program: Command,\n descriptor: ListCommandDescriptor,\n): void {\n const {\n name,\n description,\n status,\n excludeTerminal,\n allowStatusFilter,\n defaultBrief,\n dependencyBlocked,\n } = descriptor;\n const command = program.command(name).description(description);\n if (allowStatusFilter) {\n command.option(\n \"--status <value>\",\n \"Filter by status (use all for no status restriction)\",\n );\n }\n command\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\n \"--deadline-before <value>\",\n \"Filter by deadline upper bound (ISO/date string or relative)\",\n )\n .option(\n \"--deadline-after <value>\",\n \"Filter by deadline lower bound (ISO/date string or relative)\",\n )\n .option(\"--today\", \"Filter to items updated since local midnight today\")\n .option(\"--recent\", \"Filter to items updated in the last 7 days\")\n .option(\n \"--updated-after <value>\",\n 'Filter by updated_at lower bound: ISO timestamp or signed relative (e.g. \"-2h\"/\"-7d\" for the past). \"Changed since my last window\" → --updated-after <ISO>',\n )\n .option(\n \"--updated-before <value>\",\n \"Filter by updated_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-after <value>\",\n \"Filter by created_at lower bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-before <value>\",\n \"Filter by created_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--ids <value>\",\n \"Filter by explicit item IDs (comma-separated or repeatable)\",\n )\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\n \"--filter-ac-missing\",\n \"Show only items missing acceptance_criteria\",\n )\n .option(\n \"--filter-estimates-missing\",\n \"Show only items missing estimated_minutes\",\n )\n .option(\n \"--filter-resolution-missing\",\n \"Show only terminal items missing resolution\",\n )\n .option(\n \"--filter-metadata-missing\",\n \"Show only items missing any tracked metadata (AC, estimate, or resolution)\",\n )\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\n \"--offset <n>\",\n \"Skip the first n matching rows before limit is applied\",\n )\n .option(\n \"--after <cursor>\",\n \"Continue after an opaque next_cursor from a previous list response\",\n )\n .option(\n \"--no-truncate\",\n \"Return every matched row, overriding any --limit (alias: --all)\",\n )\n .option(\"--include-body\", \"Include item body in each returned list row\")\n .option(\n \"--compact\",\n \"Render compact list projection fields (mutually exclusive with --brief/--full/--fields)\",\n )\n .option(\n \"--brief\",\n \"Ultra-compact output: id, status, type, title only (agent-optimized, mutually exclusive with --compact/--full/--fields)\",\n )\n .option(\n \"--full\",\n \"Render full list projection fields (mutually exclusive with --compact/--brief/--fields)\",\n )\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated list fields (mutually exclusive with --compact/--brief/--full; valid: --fields id,title)\",\n )\n .option(\n \"--sort <value>\",\n \"Sort field: priority|deadline|updated_at|created_at|title|parent (aliases: updated, created)\",\n )\n .option(\"--order <value>\", \"Sort order: asc|desc (requires --sort)\")\n .option(\"--tree\", \"Render rows in parent/child tree order\")\n .option(\n \"--tree-depth <n>\",\n \"Maximum recursion depth with --tree (0 keeps root rows only)\",\n )\n .option(\n \"--format <value>\",\n \"Output render mode: csv|table (human export) or json|toon (machine output override)\",\n )\n .option(\"--stream\", \"Emit line-delimited JSON rows (requires --json)\");\n registerContentAndGovernanceFilters(command);\n command.action(async (options: Record<string, unknown>, actionCommand) => {\n await runRegisteredListCommand({\n name,\n status,\n excludeTerminal,\n defaultBrief,\n dependencyBlocked,\n options,\n actionCommand,\n });\n });\n // Positive alias for --no-truncate (Commander stores the negation as truncate=false).\n addHiddenOption(command, \"--all\", \"Alias for --no-truncate\");\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(command, \"--tags <value>\", \"Alias for --tag\");\n addHiddenOption(\n command,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n addHiddenOption(command, \"--tree_depth <n>\", \"Alias for --tree-depth\");\n // Singular alias so `--filter-estimate-missing` works (matches update-many spelling).\n addHiddenOption(\n command,\n \"--filter-estimate-missing\",\n \"Alias for --filter-estimates-missing\",\n );\n}\n\nasync function runAggregateAction(\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runAggregate(\n normalizeAggregateOptions(options),\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=aggregate took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runContextAction(\n options: Record<string, unknown>,\n actionCommand: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const normalized = normalizeContextOptions(options);\n const result = await runContext(normalized, globalOptions);\n const outputFormat = resolveContextOutputFormat(normalized, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${renderContextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, {\n ...globalOptions,\n json: outputFormat === \"json\",\n });\n }\n if (globalOptions.profile) {\n printError(`profile:command=context took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runNextAction(\n options: Record<string, unknown>,\n actionCommand: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const nextOptions = normalizeNextOptions(options);\n const result = await runNext(nextOptions, globalOptions);\n const outputFormat = resolveNextOutputFormat(nextOptions, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${renderNextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, { ...globalOptions, json: outputFormat === \"json\" });\n }\n if (globalOptions.profile) {\n printError(`profile:command=next took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runSearchAction(\n keywords: string[],\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const searchOptions = normalizeSearchOptions(options);\n const result = await runSearch(\n normalizeSearchKeywordsInput(keywords),\n {\n ...searchOptions,\n mode:\n typeof searchOptions.mode === \"string\" &&\n searchOptions.mode.trim().length > 0\n ? searchOptions.mode\n : \"keyword\",\n },\n globalOptions,\n );\n printResult(\n result,\n resolveReadCommandOutputFormat(\"Search\", options.format, globalOptions),\n );\n if (globalOptions.profile) {\n printError(`profile:command=search took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runEvalAction(\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runEval(\n {\n mode: typeof options.mode === \"string\" ? options.mode : undefined,\n k: typeof options.k === \"string\" ? options.k : undefined,\n failUnder:\n typeof options.failUnder === \"string\" ? options.failUnder : undefined,\n queries:\n typeof options.queries === \"string\" ? options.queries : undefined,\n format: typeof options.format === \"string\" ? options.format : undefined,\n },\n globalOptions,\n );\n printResult(\n result,\n resolveReadCommandOutputFormat(\"Eval\", options.format, globalOptions),\n );\n if (globalOptions.profile) {\n printError(`profile:command=eval took_ms=${Date.now() - startedAt}`);\n }\n if (!result.passed) {\n throw new PmCliError(\n `Eval gate failed: aggregate nDCG@${result.k} ${result.aggregate.ndcg} is below --fail-under ${result.fail_under}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n}\n\nasync function runGetAction(\n id: string,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runGet(id, globalOptions, {\n depth: typeof options.depth === \"string\" ? options.depth : undefined,\n fields: typeof options.fields === \"string\" ? options.fields : undefined,\n full: Boolean(options.full),\n tree: options.tree === true,\n treeDepth:\n typeof options.treeDepth === \"string\"\n ? options.treeDepth\n : typeof options.tree_depth === \"string\"\n ? options.tree_depth\n : undefined,\n at: typeof options.at === \"string\" ? options.at : undefined,\n });\n printResult(\n result,\n resolveReadCommandOutputFormat(\"Get\", options.format, globalOptions),\n );\n if (globalOptions.profile) {\n printError(`profile:command=get took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runHistoryAction(\n id: string,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\n \"History projection options are mutually exclusive. Use either --compact or --full.\",\n EXIT_CODE.USAGE,\n );\n }\n const field = typeof options.field === \"string\" ? options.field : undefined;\n const strictExit =\n Boolean(options.strictExit) || Boolean(options.failOnWarn);\n if (strictExit && !options.verify) {\n throw new PmCliError(\n \"--strict-exit requires --verify (it gates on the verification result).\",\n EXIT_CODE.USAGE,\n );\n }\n const result = await runHistory(\n id,\n {\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n compact: options.full === true ? false : true,\n diff: Boolean(options.diff) || field !== undefined,\n field,\n verify: Boolean(options.verify),\n },\n globalOptions,\n );\n printResult(\n result,\n resolveReadCommandOutputFormat(\"History\", options.format, globalOptions),\n );\n // GH-604: without --strict-exit a broken chain still exits 0 (read-only\n // inspection default); with it, verification.ok:false becomes a nonzero exit\n // so CI and merge hooks can gate on `pm history <id> --verify --strict-exit`.\n if (strictExit && result.verification && !result.verification.ok) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n if (globalOptions.profile) {\n printError(`profile:command=history took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runActivityAction(\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\n \"Activity projection options are mutually exclusive. Use either --compact or --full.\",\n EXIT_CODE.USAGE,\n );\n }\n const normalized = normalizeActivityOptions(options);\n const result = await runActivity(normalized, globalOptions);\n const streamMode = resolveActivityStreamMode(options.stream);\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\n \"--stream requires --json output mode.\",\n EXIT_CODE.USAGE,\n );\n }\n if (streamMode) {\n printActivityJsonStream(result, normalized, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=activity took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runGraphAction(\n subcommand: string,\n id: string | undefined,\n target: string | undefined,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runGraph(\n subcommand,\n id,\n target,\n {\n ...(Array.isArray(options.kind) ? { kind: options.kind as string[] } : {}),\n maxDepth: typeof options.maxDepth === \"string\" ? options.maxDepth : undefined,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n after: typeof options.after === \"string\" ? options.after : undefined,\n direction:\n typeof options.direction === \"string\" ? options.direction : undefined,\n maxPaths: typeof options.maxPaths === \"string\" ? options.maxPaths : undefined,\n sample: typeof options.sample === \"string\" ? options.sample : undefined,\n ...(Array.isArray(options.exemptIsolate)\n ? { exemptIsolate: options.exemptIsolate as string[] }\n : {}),\n ...(Array.isArray(options.exemptIsolateType)\n ? { exemptIsolateType: options.exemptIsolateType as string[] }\n : {}),\n saveBaseline: options.saveBaseline === true,\n rebuild: options.rebuild === true,\n clear: options.clear === true,\n summary: options.summary === true,\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=graph took_ms=${Date.now() - startedAt}`);\n }\n}\n\n/** Implements register list query commands for the public runtime surface of this module. */\nexport function registerListQueryCommands(\n program: Command,\n options?: RegisterListQueryCommandsOptions,\n): void {\n const commandFilter = options?.commandFilter;\n const shouldRegister = (commandName: string): boolean =>\n shouldRegisterListQueryCommand(commandName, commandFilter);\n const listCommandDescriptors: ListCommandDescriptor[] = [\n {\n name: \"list\",\n description: \"List active items with optional filters.\",\n excludeTerminal: true,\n allowStatusFilter: true,\n defaultBrief: true,\n },\n {\n name: \"list-all\",\n description: \"List all items with optional filters.\",\n excludeTerminal: false,\n allowStatusFilter: true,\n },\n {\n name: \"list-draft\",\n description: \"List draft items with optional filters.\",\n status: \"draft\",\n },\n {\n name: \"list-open\",\n description: \"List open items with optional filters.\",\n status: \"open\",\n excludeTerminal: false,\n allowStatusFilter: false,\n defaultBrief: true,\n },\n {\n name: \"list-in-progress\",\n description: \"List in-progress items with optional filters.\",\n status: \"in_progress\",\n excludeTerminal: false,\n allowStatusFilter: false,\n defaultBrief: true,\n },\n {\n name: \"list-blocked\",\n description:\n \"List blocked items (blocked status or open blocked_by dependencies, matching pm next) with optional filters.\",\n dependencyBlocked: true,\n excludeTerminal: false,\n allowStatusFilter: false,\n defaultBrief: true,\n },\n {\n name: \"list-closed\",\n description: \"List closed items with optional filters.\",\n status: \"closed\",\n },\n {\n name: \"list-canceled\",\n description: \"List canceled items with optional filters.\",\n status: \"canceled\",\n },\n ];\n for (const descriptor of listCommandDescriptors) {\n if (shouldRegister(descriptor.name)) {\n registerListCommand(program, descriptor);\n }\n }\n\n if (shouldRegister(\"aggregate\")) {\n const aggregateCommand = program\n .command(\"aggregate\")\n .description(\"Aggregate grouped item counts for governance queries.\")\n .option(\n \"--group-by <value>\",\n \"Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)\",\n )\n .option(\"--count\", \"Return grouped counts (default behavior)\")\n .option(\n \"--completion\",\n \"Add open/in_progress/closed/other counts and completion_pct per group\",\n )\n .option(\"--sum <field>\", \"Sum a numeric field per group\")\n .option(\"--avg <field>\", \"Average a numeric field per group\")\n .option(\n \"--include-unparented\",\n \"Include unparented rows when grouping by parent\",\n )\n .option(\"--status <value>\", \"Filter by item status\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\n \"--deadline-before <value>\",\n \"Filter by deadline upper bound (ISO/date string or relative)\",\n )\n .option(\n \"--deadline-after <value>\",\n \"Filter by deadline lower bound (ISO/date string or relative)\",\n )\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\");\n // Hidden pure snake_case underscore-duplicate aliases (kept parse-functional).\n addHiddenOption(\n aggregateCommand,\n \"--include_unparented\",\n \"Alias for --include-unparented\",\n );\n addHiddenOption(\n aggregateCommand,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n aggregateCommand.action(runAggregateAction);\n }\n\n if (shouldRegister(\"context\")) {\n const contextCommand = program\n .command(\"context\")\n .alias(\"ctx\")\n .description(\n \"Show a token-efficient project context snapshot for next-work decisions.\",\n )\n .option(\n \"--date <value>\",\n \"Anchor date/time for agenda window calculations (ISO/date string or relative)\",\n )\n .option(\n \"--from <value>\",\n \"Agenda lower bound (ISO/date string or relative)\",\n )\n .option(\n \"--to <value>\",\n \"Agenda upper bound (ISO/date string or relative)\",\n )\n .option(\"--past\", \"Include past agenda entries in bounded windows\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\n \"--parent <id>\",\n \"Scope the snapshot to one item's subtree (the item plus all descendants)\",\n )\n .option(\"--limit <n>\", \"Limit focus and agenda rows per section\")\n .option(\n \"--after <cursor>\",\n \"Continue ranked focus after a next_cursor from a previous context response\",\n )\n .option(\n \"--format <value>\",\n \"Context output format override: markdown|toon|json\",\n )\n .option(\n \"--depth <value>\",\n \"Context depth: brief|standard|deep|full (full = every section, no per-section cap)\",\n )\n .option(\n \"--section <value...>\",\n \"Include specific sections (repeatable; overrides --depth)\",\n )\n .option(\n \"--fields <value>\",\n \"Project focus rows to a comma-separated field subset (e.g. id,title,priority)\",\n )\n .option(\n \"--activity-limit <n>\",\n \"Limit recent activity entries (default: settings or 10)\",\n )\n .option(\n \"--stale-threshold <value>\",\n \"Staleness cutoff in days (e.g. 7 or 7d; default: settings or 7)\",\n )\n .option(\n \"--explain-ranking\",\n \"Include the scorer model, per-signal contributions, and ranked candidate ids\",\n );\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(\n contextCommand,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n addHiddenOption(contextCommand, \"--max-items <n>\", \"Alias for --limit\");\n addHiddenOption(\n contextCommand,\n \"--explain_ranking\",\n \"Alias for --explain-ranking\",\n );\n contextCommand.action(runContextAction);\n }\n\n if (shouldRegister(\"next\")) {\n const nextCommand = program\n .command(\"next\")\n .description(\n \"Recommend the next actionable (unblocked, ready) work item with rationale + blocked companion.\",\n )\n .option(\"--type <value>\", \"Filter candidate items by type\")\n .option(\"--tag <value>\", \"Filter candidate items by tag\")\n .option(\"--priority <value>\", \"Filter candidate items by priority\")\n .option(\"--assignee <value>\", \"Filter candidate items by assignee\")\n .option(\n \"--assignee-filter <value>\",\n \"Filter assignee presence: assigned|unassigned\",\n )\n .option(\"--sprint <value>\", \"Filter candidate items by sprint\")\n .option(\"--release <value>\", \"Filter candidate items by release\")\n .option(\n \"--parent <id>\",\n \"Scope to one item's subtree (the item plus all descendants)\",\n )\n .option(\n \"--limit <n>\",\n \"Limit ready rows (default: 5; non-positive falls back to default)\",\n )\n .option(\n \"--blocked-limit <n>\",\n \"Limit blocked rows (default: same as --limit)\",\n )\n .option(\"--ready-only\", \"Omit the blocked companion list\")\n .option(\n \"--include-decisions\",\n \"Include human-gated Decision items in the claimable ready queue\",\n )\n .option(\n \"--format <value>\",\n \"Next output format override: markdown|toon|json\",\n )\n .option(\n \"--explain-ranking\",\n \"Include the scorer model, per-signal contributions, and ranked ready ids\",\n );\n addHiddenOption(\n nextCommand,\n \"--assignee_filter <value>\",\n \"Alias for --assignee-filter\",\n );\n addHiddenOption(\n nextCommand,\n \"--blocked_limit <n>\",\n \"Alias for --blocked-limit\",\n );\n addHiddenOption(nextCommand, \"--ready_only\", \"Alias for --ready-only\");\n addHiddenOption(\n nextCommand,\n \"--explain_ranking\",\n \"Alias for --explain-ranking\",\n );\n nextCommand.action(runNextAction);\n }\n\n if (shouldRegister(\"search\")) {\n const searchCommand = program\n .command(\"search\")\n .argument(\"<keywords...>\", \"Keyword query tokens\")\n .description(\n \"Search items with keyword, semantic, or hybrid retrieval. Inline field:value tokens \" +\n \"(tag:/status:/type:/priority:) in the query are parsed as filters, e.g. 'auth tag:area:search status:open'.\",\n )\n .option(\n \"--mode <value>\",\n \"Search mode: keyword|semantic|hybrid (default: keyword)\",\n )\n .option(\"--semantic\", \"Shorthand for --mode semantic\")\n .option(\"--hybrid\", \"Shorthand for --mode hybrid\")\n .option(\n \"--match-mode <value>\",\n \"Token match mode: and|or|exact (default: or with all-terms ranking bonus; and = hard-require every token; exact = exact phrase)\",\n )\n .option(\n \"--min-score <value>\",\n \"Per-query minimum score threshold (finite number >= 0); overrides settings search.score_threshold for this query only\",\n )\n .option(\n \"--count\",\n \"Return only the count of matching items (post-filter/threshold, pre-limit); skips hit rows\",\n )\n .option(\n \"--semantic-weight <value>\",\n \"Override hybrid semantic weight for this query (0..1); invalid values fall back to settings\",\n )\n .option(\n \"--include-linked\",\n \"Include linked files, docs, and tests in the searchable corpus\",\n )\n .option(\n \"--title-exact\",\n \"Require exact normalized title match for the full query string\",\n )\n .option(\n \"--phrase-exact\",\n \"Require exact normalized phrase match in searchable text\",\n )\n .option(\n \"--highlight\",\n \"Emit per-field matched-text snippets (wrapped in «…») on each hit; off by default\",\n )\n .option(\n \"--status <value>\",\n \"Filter by status before query (all, open/closed/canceled aliases, or configured status id; CSV)\",\n )\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\n \"--deadline-before <value>\",\n \"Filter by deadline upper bound (ISO/date string or relative)\",\n )\n .option(\n \"--deadline-after <value>\",\n \"Filter by deadline lower bound (ISO/date string or relative)\",\n )\n .option(\n \"--updated-after <value>\",\n 'Filter by updated_at lower bound: ISO timestamp or signed relative (e.g. \"-2h\"/\"-7d\" for the past)',\n )\n .option(\n \"--updated-before <value>\",\n \"Filter by updated_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-after <value>\",\n \"Filter by created_at lower bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\n \"--created-before <value>\",\n \"Filter by created_at upper bound: ISO timestamp or signed relative (-2h/+1d)\",\n )\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\n \"--compact\",\n \"Render compact search hits (default; mutually exclusive with --full/--fields)\",\n )\n .option(\n \"--full\",\n \"Render full search hits with nested item payloads (mutually exclusive with --compact/--fields)\",\n )\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated search hit fields (mutually exclusive with --compact/--full; valid: --fields id,title,score; invalid: --full --fields id,title)\",\n )\n .option(\"--format <value>\", \"Search output format override: json|toon\")\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\n \"--after <cursor>\",\n \"Continue after an opaque next_cursor from a previous search response\",\n );\n registerContentAndGovernanceFilters(searchCommand);\n searchCommand.action(runSearchAction);\n addHiddenOption(searchCommand, \"--tags <value>\", \"Alias for --tag\");\n }\n\n if (shouldRegister(\"eval\")) {\n program\n .command(\"eval\")\n .description(\n \"Evaluate search relevance against a curated golden-query set: reports nDCG@k, MRR@k, \" +\n \"precision@k, and recall@k per query plus the macro average. Use --fail-under as a CI gate.\",\n )\n .option(\n \"--mode <value>\",\n \"Default retrieval mode for queries without their own: keyword|semantic|hybrid (default: keyword)\",\n )\n .option(\"--k <n>\", \"Metric cutoff @k (positive integer; default: 10)\")\n .option(\n \"--fail-under <value>\",\n \"Exit non-zero when aggregate nDCG@k falls below this threshold (0..1); CI gate\",\n )\n .option(\n \"--queries <path>\",\n \"Path to the golden-query JSON file (default: <pmRoot>/search/eval-queries.json)\",\n )\n .option(\"--format <value>\", \"Eval output format override: json|toon\")\n .action(runEvalAction);\n }\n\n if (shouldRegister(\"get\")) {\n const getCommand = program\n .command(\"get\")\n .argument(\"<id>\", \"Item id\")\n .option(\n \"--depth <value>\",\n \"Detail depth: brief|standard|deep|full (full aliases deep; default: standard)\",\n )\n .option(\n \"--full\",\n \"Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)\",\n )\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)\",\n )\n .option(\"--tree\", \"Include descendants rooted at the requested item\")\n .option(\n \"--tree-depth <n>\",\n \"Maximum subtree depth for --tree descendants\",\n )\n .option(\n \"--at <version-or-timestamp>\",\n \"Reconstruct a verified historical item state without mutating it\",\n )\n .option(\"--format <value>\", \"Get output format override: json|toon\")\n .description(\"Show item details by ID.\")\n .action(runGetAction);\n addHiddenOption(getCommand, \"--tree_depth <n>\", \"Alias for --tree-depth\");\n }\n\n if (shouldRegister(\"history\")) {\n program\n .command(\"history\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--limit <n>\", \"Return only the latest n history entries\")\n .option(\n \"--compact\",\n \"Condensed output: show entry index, timestamp, op, author, patch count, and changed fields\",\n )\n .option(\"--full\", \"Show full history entries with JSON Patch payloads\")\n .option(\n \"--diff\",\n \"Include per-entry field-level before/after value diffs computed by replaying the history chain\",\n )\n .option(\n \"--field <name>\",\n \"With --diff, show only entries that changed this field (implies --diff)\",\n )\n .option(\n \"--verify\",\n \"Verify hash chain and replay integrity for the full history stream\",\n )\n .option(\n \"--strict-exit\",\n \"With --verify, exit nonzero when verification fails (merge-safety gate parity with pm validate)\",\n )\n .option(\"--fail-on-warn\", \"Alias for --strict-exit\")\n .option(\"--format <value>\", \"History output format override: json|toon\")\n .description(\"Show item history entries.\")\n .action(runHistoryAction);\n }\n\n if (shouldRegister(\"activity\")) {\n program\n .command(\"activity\")\n .option(\"--id <value>\", \"Filter by item ID\")\n .option(\"--op <value>\", \"Filter by history operation\")\n .option(\"--author <value>\", \"Filter by history author\")\n .option(\n \"--from <value>\",\n \"Lower timestamp bound (ISO/date string or relative)\",\n )\n .option(\n \"--to <value>\",\n \"Upper timestamp bound (ISO/date string or relative)\",\n )\n .option(\"--limit <n>\", \"Return only the latest n activity entries\")\n .option(\n \"--compact\",\n \"Condensed output: show only id, op, ts, author, msg per entry\",\n )\n .option(\"--full\", \"Show full activity entries with JSON Patch payloads\")\n .option(\n \"--stream [mode]\",\n \"Emit line-delimited JSON rows (requires --json). Optional mode: rows|ndjson|jsonl\",\n )\n .description(\"Show recent activity across items.\")\n .action(runActivityAction);\n }\n\n if (shouldRegister(\"graph\")) {\n program\n .command(\"graph\")\n .argument(\n \"<subcommand>\",\n \"Graph query (ancestors, descendants, predecessors, successors, paths, impact, analyze, audit, communities, redundancy, dominators, slack, centrality, articulation, plan, index)\",\n )\n .argument(\"[id]\", \"Root item id (traversals, paths, impact, and dominators)\")\n .argument(\"[target]\", \"Target item id (paths only)\")\n .option(\n \"--kind <value>\",\n \"Restrict traversal to registered relationship kinds (repeatable or comma-separated)\",\n collect,\n )\n .option(\n \"--max-depth <value>\",\n \"Maximum traversal depth (non-negative integer)\",\n )\n .option(\"--limit <value>\", \"Maximum returned rows per bounded collection\")\n .option(\n \"--after <value>\",\n \"Resume a traversal after this previously returned node id\",\n )\n .option(\n \"--direction <value>\",\n \"Edge orientation for paths/impact (outgoing, incoming, or both)\",\n )\n .option(\"--max-paths <value>\", \"Maximum enumerated paths (paths only)\")\n .option(\n \"--sample <value>\",\n \"Maximum evidence sample entries per audit finding (audit only)\",\n )\n .option(\n \"--exempt-isolate <value>\",\n \"Item ids treated as explicitly valid isolates by the audit (repeatable or comma-separated)\",\n collect,\n )\n .option(\n \"--exempt-isolate-type <value>\",\n \"Item types whose active isolates are policy-valid for the audit (repeatable or comma-separated)\",\n collect,\n )\n .option(\n \"--save-baseline\",\n \"Persist the audit census as the change-since-baseline comparison point (audit only)\",\n )\n .option(\n \"--rebuild\",\n \"Rebuild and warm the durable graph index (index only)\",\n )\n .option(\"--clear\", \"Delete the durable graph index (index only)\")\n .option(\"--summary\", \"Return counts-first envelopes without row collections\")\n .description(\n \"Bounded workspace relationship-graph queries, analytics, and governance audit.\",\n )\n .action(runGraphAction);\n }\n}\n\n/** Public contract for test only register list query, shared by SDK and presentation-layer consumers. */\nexport const _testOnlyRegisterListQuery = {\n resolveReadCommandOutputFormat,\n parseListFormat,\n};\n"],"names":[],"mappings":"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","debugId":"fb2c76d5-4ee1-5d07-bb2a-cf88087c8e4e"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides CLI runtime support for Register Mutation.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!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]="
|
|
7
|
+
!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]="a6b1df99-963c-5e1f-9d47-0234eab60894")}catch(e){}}();
|
|
8
8
|
import { Option } from "commander";
|
|
9
9
|
import { resolveBodyFileContent } from "../core/io/body-file.js";
|
|
10
10
|
import { EXIT_CODE } from "../core/shared/constants.js";
|
|
@@ -14,6 +14,9 @@ import { isPureSnakeCaseAlias } from "../core/shared/option-alias-visibility.js"
|
|
|
14
14
|
import { CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS, } from "../sdk/cli-contracts.js";
|
|
15
15
|
import { BUILTIN_ITEM_TYPE_VALUES } from "../types/index.js";
|
|
16
16
|
import { MERGE_DRIVER_ARTIFACT_VALUES, runMergeDriver, runMergeInstall, } from "./commands/merge.js";
|
|
17
|
+
import { createStdinTokenResolver } from "../sdk/runtime-primitives.js";
|
|
18
|
+
import { itemDocumentToMutationOptions } from "../sdk/structured-mutations.js";
|
|
19
|
+
import { registerStructuredMutationCommands } from "./register-structured-mutation.js";
|
|
17
20
|
// Lowercase set of built-in type names ("epic", "feature", ...) used by the
|
|
18
21
|
// `pm create` positional guard (pm-edge #1, 2026-05-28): if the single
|
|
19
22
|
// positional exactly matches a known type AND no --title was given, we throw
|
|
@@ -485,9 +488,38 @@ function assertCreatePositionalTypeHasTitle(positionalType, positionalTitle, opt
|
|
|
485
488
|
],
|
|
486
489
|
});
|
|
487
490
|
}
|
|
491
|
+
const STRUCTURED_STDIN_CONFLICT_KEYS = [
|
|
492
|
+
"body",
|
|
493
|
+
"dep",
|
|
494
|
+
"depRemove",
|
|
495
|
+
"comment",
|
|
496
|
+
"note",
|
|
497
|
+
"learning",
|
|
498
|
+
"file",
|
|
499
|
+
"test",
|
|
500
|
+
"doc",
|
|
501
|
+
"reminder",
|
|
502
|
+
"event",
|
|
503
|
+
"typeOption",
|
|
504
|
+
"field",
|
|
505
|
+
];
|
|
506
|
+
function assertExclusiveStructuredStdin(options) {
|
|
507
|
+
const conflictingFlags = STRUCTURED_STDIN_CONFLICT_KEYS.filter((key) => {
|
|
508
|
+
const value = options[key];
|
|
509
|
+
return value === "-" || (Array.isArray(value) && value.includes("-"));
|
|
510
|
+
}).map((key) => `--${key.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)}`);
|
|
511
|
+
if (conflictingFlags.length > 0) {
|
|
512
|
+
throw new PmCliError(`--stdin-json cannot be combined with other stdin consumers: ${conflictingFlags.join(", ")}`, EXIT_CODE.USAGE);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
488
515
|
async function runCreateAction(typeOrTitle, secondTitle, options, command) {
|
|
489
516
|
const globalOptions = getGlobalOptions(command);
|
|
490
517
|
const startedAt = Date.now();
|
|
518
|
+
if (options.stdinJson === true) {
|
|
519
|
+
assertExclusiveStructuredStdin(options);
|
|
520
|
+
const input = await createStdinTokenResolver().resolveValue("-", "--stdin-json");
|
|
521
|
+
options = itemDocumentToMutationOptions(input ?? "", "create", options);
|
|
522
|
+
}
|
|
491
523
|
const positionals = resolveCreatePositionals(typeOrTitle, secondTitle, options);
|
|
492
524
|
assertCreatePositionalTypeHasTitle(positionals.positionalType, positionals.positionalTitle, options);
|
|
493
525
|
if (typeof positionals.positionalType === "string" &&
|
|
@@ -971,6 +1003,11 @@ async function runFocusAction(id, options, command) {
|
|
|
971
1003
|
async function runUpdateAction(id, options, command) {
|
|
972
1004
|
const globalOptions = getGlobalOptions(command);
|
|
973
1005
|
const startedAt = Date.now();
|
|
1006
|
+
if (options.stdinJson === true) {
|
|
1007
|
+
assertExclusiveStructuredStdin(options);
|
|
1008
|
+
const input = await createStdinTokenResolver().resolveValue("-", "--stdin-json");
|
|
1009
|
+
options = itemDocumentToMutationOptions(input ?? "", "update", options);
|
|
1010
|
+
}
|
|
974
1011
|
// GH-214: resolve --body-file into the existing body field before
|
|
975
1012
|
// normalization so the rest of update is unchanged. CLI-only input alias.
|
|
976
1013
|
if (typeof options.bodyFile === "string") {
|
|
@@ -1268,7 +1305,9 @@ async function runDepsAction(id, options, command) {
|
|
|
1268
1305
|
tokenBudget: readOptionString(options, "tokenBudget"),
|
|
1269
1306
|
cursor: readOptionString(options, "cursor"),
|
|
1270
1307
|
direction: readOptionString(options, "direction"),
|
|
1271
|
-
...(Array.isArray(options.kind)
|
|
1308
|
+
...(Array.isArray(options.kind)
|
|
1309
|
+
? { kind: options.kind }
|
|
1310
|
+
: {}),
|
|
1272
1311
|
}, globalOptions);
|
|
1273
1312
|
printResult(result, globalOptions);
|
|
1274
1313
|
if (globalOptions.profile) {
|
|
@@ -1284,6 +1323,7 @@ export function registerMutationCommands(program) {
|
|
|
1284
1323
|
.description("Create a new project management item.");
|
|
1285
1324
|
registerCommanderOptionContracts(createCommand, CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);
|
|
1286
1325
|
createCommand
|
|
1326
|
+
.option("--stdin-json", "Read a full item JSON document from stdin; explicit flags override document values")
|
|
1287
1327
|
.option("--body-file <path>", "Load the item markdown body from a file (mutually exclusive with --body)")
|
|
1288
1328
|
.option("--clear-deps", "Clear dependency entries")
|
|
1289
1329
|
.option("--clear-comments", "Clear comments")
|
|
@@ -1316,6 +1356,7 @@ export function registerMutationCommands(program) {
|
|
|
1316
1356
|
.description("Update item fields and metadata.");
|
|
1317
1357
|
registerCommanderOptionContracts(updateCommand, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);
|
|
1318
1358
|
updateCommand
|
|
1359
|
+
.option("--stdin-json", "Read a full item JSON document from stdin; explicit flags override document values")
|
|
1319
1360
|
.option("--body-file <path>", "Load the item markdown body from a file (mutually exclusive with --body)")
|
|
1320
1361
|
.option("--replace-deps", "Atomically replace dependency entries with the provided --dep values")
|
|
1321
1362
|
.option("--replace-tests", "Atomically replace linked test entries with the provided --test values")
|
|
@@ -1331,6 +1372,7 @@ export function registerMutationCommands(program) {
|
|
|
1331
1372
|
.option("--clear-type-options", "Clear type options")
|
|
1332
1373
|
.option("--force", "Force ownership override");
|
|
1333
1374
|
updateCommand.action(runUpdateAction);
|
|
1375
|
+
registerStructuredMutationCommands(program);
|
|
1334
1376
|
const updateManyCommand = program
|
|
1335
1377
|
.command("update-many")
|
|
1336
1378
|
.description("Bulk-update matched items with dry-run plans and rollback checkpoints.")
|
|
@@ -1907,4 +1949,4 @@ export function registerMutationCommands(program) {
|
|
|
1907
1949
|
.action(runDepsAction);
|
|
1908
1950
|
}
|
|
1909
1951
|
//# sourceMappingURL=register-mutation.js.map
|
|
1910
|
-
//# debugId=
|
|
1952
|
+
//# debugId=a6b1df99-963c-5e1f-9d47-0234eab60894
|