@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
|
@@ -3,19 +3,17 @@ import {
|
|
|
3
3
|
} from "./chunk-3P7UJQOX.js";
|
|
4
4
|
import {
|
|
5
5
|
applyHistoryPatch,
|
|
6
|
-
executeHistoryRewrite,
|
|
7
|
-
readHistoryEntries,
|
|
8
|
-
resolveHistorySubject,
|
|
9
|
-
writeHistoryRawWithRollback
|
|
10
|
-
} from "./chunk-C3KD7U3T.js";
|
|
11
|
-
import {
|
|
12
6
|
cloneEmptyReplayDocument,
|
|
7
|
+
executeHistoryRewrite,
|
|
13
8
|
historyEntriesToRaw,
|
|
9
|
+
readHistoryEntries,
|
|
14
10
|
replayHash,
|
|
15
11
|
replayToItemDocument,
|
|
12
|
+
resolveHistorySubject,
|
|
16
13
|
toReplayDocument,
|
|
17
|
-
verifyHistoryChain
|
|
18
|
-
|
|
14
|
+
verifyHistoryChain,
|
|
15
|
+
writeHistoryRawWithRollback
|
|
16
|
+
} from "./chunk-2L6ZP22J.js";
|
|
19
17
|
import {
|
|
20
18
|
resolveAuthor
|
|
21
19
|
} from "./chunk-YRYYFGV3.js";
|
|
@@ -607,4 +605,4 @@ export {
|
|
|
607
605
|
assertHistoryCompactTarget,
|
|
608
606
|
runHistoryCompactBulk
|
|
609
607
|
};
|
|
610
|
-
//# sourceMappingURL=chunk-
|
|
608
|
+
//# sourceMappingURL=chunk-4QOB7L7I.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../sdk/history-compact.ts", "../../../../../../../../core/history/history-compact-bulk.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * @module sdk/history-compact\n *\n * Implements the pm history compact command surface and its agent-facing runtime behavior.\n */\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { createHistoryEntry } from \"../core/history/history.js\";\nimport {\n selectHistoryCompactBulkTargets,\n type HistoryCompactBulkCandidate,\n type HistoryCompactBulkSkipReason,\n type HistoryCompactScope,\n} from \"../core/history/history-compact-bulk.js\";\nimport {\n executeHistoryRewrite,\n writeHistoryRawWithRollback,\n} from \"../core/history/history-rewrite.js\";\nimport {\n cloneEmptyReplayDocument,\n historyEntriesToRaw,\n replayHash,\n replayToItemDocument,\n toReplayDocument,\n verifyHistoryChain,\n type ReplayDocument,\n} from \"../core/history/replay.js\";\nimport { applyHistoryPatch } from \"../core/history/projection.js\";\nimport { readHistoryEntries } from \"../core/history/read.js\";\nimport { resolveItemTypeRegistry } from \"../core/item/type-registry.js\";\nimport { lifecycleClassifierFromStatusRegistry } from \"../core/governance/metadata-coverage.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport { listAllItemMetadataLight } from \"../core/store/item-store.js\";\nimport { pathExists, readFileIfExists } from \"../core/fs/fs-utils.js\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { nowIso } from \"../core/shared/time.js\";\nimport {\n getActiveExtensionRegistrations,\n runActiveOnReadHooks,\n runActiveOnWriteHooks,\n} from \"../core/extensions/index.js\";\nimport { readLocatedItem } from \"../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport { resolveAuthor } from \"../core/shared/author.js\";\nimport type { HistoryEntry } from \"../types/index.js\";\nimport { resolveHistorySubject } from \"./history-redact.js\";\n\n/** Documents the history compact command options payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryCompactCommandOptions {\n /** Value that configures or reports before for this contract. */\n before?: string;\n /** Value that configures or reports dry run for this contract. */\n dryRun?: boolean;\n /** Value that configures or reports author for this contract. */\n author?: string;\n /** Human-readable explanation suitable for logs and agent-facing output. */\n message?: string;\n /** Value that configures or reports force for this contract. */\n force?: boolean;\n}\n\ntype HistoryCompactBoundaryKind = \"default\" | \"version\" | \"timestamp\";\n\ninterface HistoryCompactBoundary {\n kind: HistoryCompactBoundaryKind;\n raw: string | null;\n compactCount: number;\n retainedCount: number;\n}\n\ninterface HistoryCompactCurrentItem {\n loadedItem: Awaited<ReturnType<typeof readLocatedItem>> | null;\n currentItemRawBeforeLock: string | null;\n matchedChainBefore: boolean | null;\n}\n\n/** Documents the history compact result payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryCompactResult {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports dry run for this contract. */\n dry_run: boolean;\n /** Value that configures or reports changed for this contract. */\n changed: boolean;\n /** Value that configures or reports compact boundary for this contract. */\n compact_boundary: {\n kind: HistoryCompactBoundaryKind;\n before: string | null;\n entries_compacted: number;\n entries_retained: number;\n first_retained_entry: number | null;\n };\n /** Value that configures or reports history for this contract. */\n history: {\n path: string;\n entries_scanned: number;\n entries_after: number;\n baseline_entry_added: boolean;\n audit_entry_added: boolean;\n verify_ok: boolean;\n verify_errors: string[];\n };\n /** Value that configures or reports item for this contract. */\n item: {\n exists: boolean;\n path: string | null;\n matched_chain_before: boolean | null;\n };\n /** Value that configures or reports warnings for this contract. */\n warnings: string[];\n /** ISO 8601 timestamp recording when generated occurred. */\n generated_at: string;\n}\n\nfunction parseBeforeBoundary(\n before: string | undefined,\n entries: HistoryEntry[],\n): HistoryCompactBoundary {\n if (before === undefined) {\n return {\n kind: \"default\",\n raw: null,\n compactCount: entries.length,\n retainedCount: 0,\n };\n }\n\n const raw = before.trim();\n if (raw.length === 0) {\n throw new PmCliError(\n \"history-compact --before requires a non-empty value.\",\n EXIT_CODE.USAGE,\n );\n }\n\n if (/^\\d+$/.test(raw)) {\n const version = Number.parseInt(raw, 10);\n if (\n !Number.isSafeInteger(version) ||\n version < 1 ||\n version > entries.length + 1\n ) {\n throw new PmCliError(\n `history-compact --before version must be between 1 and ${entries.length + 1}.`,\n EXIT_CODE.USAGE,\n );\n }\n const compactCount = Math.max(0, Math.min(entries.length, version - 1));\n return {\n kind: \"version\",\n raw,\n compactCount,\n retainedCount: entries.length - compactCount,\n };\n }\n\n const beforeTs = Date.parse(raw);\n if (!Number.isFinite(beforeTs)) {\n throw new PmCliError(\n `Invalid history-compact --before value \"${before}\". Use a version number or ISO timestamp.`,\n EXIT_CODE.USAGE,\n );\n }\n\n let compactCount = 0;\n for (const [index, entry] of entries.entries()) {\n const entryTs = Date.parse(entry.ts);\n if (!Number.isFinite(entryTs)) {\n throw new PmCliError(\n `History for this item contains invalid timestamp at entry ${index + 1}.`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n if (entryTs >= beforeTs) {\n break;\n }\n compactCount += 1;\n }\n\n return {\n kind: \"timestamp\",\n raw,\n compactCount,\n retainedCount: entries.length - compactCount,\n };\n}\n\nfunction replayHistoryAndResolveCheckpoint(\n entries: HistoryEntry[],\n compactCount: number,\n): {\n checkpoint: ReplayDocument;\n finalReplay: ReplayDocument;\n} {\n let replay = cloneEmptyReplayDocument();\n let checkpoint = cloneEmptyReplayDocument();\n for (let index = 0; index < entries.length; index += 1) {\n const entry = entries[index];\n if (replayHash(replay) !== entry.before_hash) {\n throw new PmCliError(\n `history-compact detected before-hash drift at entry ${index + 1}; run pm history-repair first.`,\n EXIT_CODE.CONFLICT,\n );\n }\n replay = applyHistoryPatch(replay, entry.patch, index + 1, entry.op);\n if (replayHash(replay) !== entry.after_hash) {\n throw new PmCliError(\n `history-compact detected after-hash drift at entry ${index + 1}; run pm history-repair first.`,\n EXIT_CODE.CONFLICT,\n );\n }\n if (index + 1 === compactCount) {\n checkpoint = structuredClone(replay);\n }\n }\n return {\n checkpoint,\n finalReplay: replay,\n };\n}\n\nfunction reanchorRetainedEntries(\n retainedEntries: HistoryEntry[],\n seed: ReplayDocument,\n retainedEntryOffset: number,\n): {\n entries: HistoryEntry[];\n finalReplay: ReplayDocument;\n} {\n let replay = structuredClone(seed);\n const rewritten: HistoryEntry[] = [];\n for (const [index, entry] of retainedEntries.entries()) {\n const beforeHash = replayHash(replay);\n replay = applyHistoryPatch(\n replay,\n entry.patch,\n retainedEntryOffset + index + 1,\n entry.op,\n );\n rewritten.push({\n ...entry,\n before_hash: beforeHash,\n after_hash: replayHash(replay),\n });\n }\n return {\n entries: rewritten,\n finalReplay: replay,\n };\n}\n\nasync function loadHistoryCompactCurrentItem(\n subject: Awaited<ReturnType<typeof resolveHistorySubject>>,\n settings: Awaited<ReturnType<typeof readSettings>>,\n historyEntries: HistoryEntry[],\n): Promise<HistoryCompactCurrentItem> {\n const loadedItem = subject.located\n ? await readLocatedItem(subject.located, { schema: settings.schema })\n : null;\n if (!loadedItem) {\n return {\n loadedItem: null,\n currentItemRawBeforeLock: null,\n matchedChainBefore: null,\n };\n }\n return {\n loadedItem,\n currentItemRawBeforeLock: loadedItem.raw,\n matchedChainBefore:\n replayHash(toReplayDocument(loadedItem.document)) ===\n historyEntries[historyEntries.length - 1]?.after_hash,\n };\n}\n\nfunction buildHistoryCompactMessage(\n options: HistoryCompactCommandOptions,\n boundary: HistoryCompactBoundary,\n): string {\n if (\n typeof options.message === \"string\" &&\n options.message.trim().length > 0\n ) {\n return options.message;\n }\n if (boundary.raw === null) {\n return `history-compact compacted full stream (${boundary.compactCount} entr${\n boundary.compactCount === 1 ? \"y\" : \"ies\"\n }).`;\n }\n return `history-compact compacted ${boundary.compactCount} entr${\n boundary.compactCount === 1 ? \"y\" : \"ies\"\n } before ${boundary.raw}.`;\n}\n\nfunction buildHistoryCompactBaselineMessage(\n boundary: HistoryCompactBoundary,\n): string {\n if (boundary.raw === null) {\n return `history-compact baseline snapshot after compacting ${boundary.compactCount} entr${\n boundary.compactCount === 1 ? \"y\" : \"ies\"\n }.`;\n }\n return `history-compact baseline snapshot before ${boundary.raw}.`;\n}\n\nfunction buildHistoryCompactEntries(params: {\n historyEntries: HistoryEntry[];\n boundary: HistoryCompactBoundary;\n changed: boolean;\n dryRun: boolean;\n author: string;\n options: HistoryCompactCommandOptions;\n}): {\n rewrittenEntries: HistoryEntry[];\n baselineEntryAdded: boolean;\n auditEntryAdded: boolean;\n} {\n if (!params.changed) {\n return {\n rewrittenEntries: params.historyEntries,\n baselineEntryAdded: false,\n auditEntryAdded: false,\n };\n }\n const { checkpoint, finalReplay } = replayHistoryAndResolveCheckpoint(\n params.historyEntries,\n params.boundary.compactCount,\n );\n const retained = params.historyEntries.slice(params.boundary.compactCount);\n const reanchored = reanchorRetainedEntries(\n retained,\n checkpoint,\n params.boundary.compactCount,\n );\n const baselineEntry = createHistoryEntry({\n nowIso: nowIso(),\n author: params.author,\n op: \"history_compact_baseline\",\n before: replayToItemDocument(cloneEmptyReplayDocument()),\n after: replayToItemDocument(checkpoint),\n message: buildHistoryCompactBaselineMessage(params.boundary),\n });\n const rewrittenEntries = [baselineEntry, ...reanchored.entries];\n if (!params.dryRun) {\n rewrittenEntries.push(\n createHistoryEntry({\n nowIso: nowIso(),\n author: params.author,\n op: \"history_compact\",\n before: replayToItemDocument(finalReplay),\n after: replayToItemDocument(finalReplay),\n message: buildHistoryCompactMessage(params.options, params.boundary),\n }),\n );\n }\n return {\n rewrittenEntries,\n baselineEntryAdded: true,\n auditEntryAdded: !params.dryRun,\n };\n}\n\nasync function applyHistoryCompactRewrite(params: {\n pmRoot: string;\n subject: Awaited<ReturnType<typeof resolveHistorySubject>>;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n historyRawBeforeLock: string;\n currentItemRawBeforeLock: string | null;\n author: string;\n force: boolean | undefined;\n loadedItem: Awaited<ReturnType<typeof readLocatedItem>> | null;\n historyPath: string;\n rewrittenEntries: HistoryEntry[];\n}): Promise<string[]> {\n return executeHistoryRewrite({\n pmRoot: params.pmRoot,\n subject: params.subject,\n settings: params.settings,\n typeRegistry: params.typeRegistry,\n historyRawBeforeLock: params.historyRawBeforeLock,\n currentItemRawBeforeLock: params.currentItemRawBeforeLock,\n operation: \"history-compact\",\n author: params.author,\n force: params.force,\n itemDocument: params.loadedItem?.document ?? null,\n applyRewrite: async ({ historyRawUnderLock }) =>\n writeHistoryRawWithRollback({\n historyPath: params.historyPath,\n nextHistoryRaw: historyEntriesToRaw(params.rewrittenEntries),\n historyRawUnderLock,\n }),\n applyPostRewrite: async () =>\n runActiveOnWriteHooks({\n path: params.historyPath,\n scope: \"project\",\n op: \"history_compact:history\",\n }),\n });\n}\n\n/** Implements run history compact for the public runtime surface of this module. */\nexport async function runHistoryCompact(\n id: string,\n options: HistoryCompactCommandOptions,\n global: GlobalOptions,\n): Promise<HistoryCompactResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(\n `Tracker is not initialized at ${pmRoot}. Run pm init first.`,\n EXIT_CODE.NOT_FOUND,\n );\n }\n\n const settings = await readSettings(pmRoot);\n const typeRegistry = resolveItemTypeRegistry(\n settings,\n getActiveExtensionRegistrations(),\n );\n const subject = await resolveHistorySubject(\n pmRoot,\n id,\n settings,\n typeRegistry.type_to_folder,\n );\n const historyPath = subject.historyPath;\n const historyRawBeforeLock = await readFileIfExists(historyPath);\n if (historyRawBeforeLock === null) {\n throw new PmCliError(\n `No history stream exists for ${subject.id}.`,\n EXIT_CODE.NOT_FOUND,\n );\n }\n const historyEntries = await readHistoryEntries(historyPath, subject.id);\n if (historyEntries.length === 0) {\n throw new PmCliError(\n `No history entries exist for ${subject.id}; nothing to compact.`,\n EXIT_CODE.USAGE,\n );\n }\n\n const chainVerification = verifyHistoryChain(historyEntries);\n if (!chainVerification.ok) {\n throw new PmCliError(\n `history-compact requires a valid history chain (${chainVerification.errors.join(\", \")}). Run pm history-repair ${subject.id} first.`,\n EXIT_CODE.CONFLICT,\n );\n }\n\n const boundary = parseBeforeBoundary(options.before, historyEntries);\n const changed = boundary.compactCount > 0;\n const dryRun = Boolean(options.dryRun);\n const author = resolveAuthor(options.author, settings.author_default);\n const warnings: string[] = [];\n if (!changed) {\n warnings.push(\"history_compact_noop_before_boundary\");\n }\n\n const currentItem = await loadHistoryCompactCurrentItem(\n subject,\n settings,\n historyEntries,\n );\n if (currentItem.matchedChainBefore === false) {\n warnings.push(\"history_compact_item_chain_mismatch\");\n }\n\n const { rewrittenEntries, baselineEntryAdded, auditEntryAdded } =\n buildHistoryCompactEntries({\n historyEntries,\n boundary,\n changed,\n dryRun,\n author,\n options,\n });\n\n const rewrittenVerify = verifyHistoryChain(rewrittenEntries);\n if (!rewrittenVerify.ok) {\n throw new PmCliError(\n `history-compact produced an invalid rewritten chain (${rewrittenVerify.errors.join(\", \")}).`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n\n if (changed && !dryRun) {\n warnings.push(\n ...(await applyHistoryCompactRewrite({\n pmRoot,\n subject,\n settings,\n typeRegistry,\n historyRawBeforeLock,\n currentItemRawBeforeLock: currentItem.currentItemRawBeforeLock,\n author,\n force: options.force,\n loadedItem: currentItem.loadedItem,\n historyPath,\n rewrittenEntries,\n })),\n );\n }\n\n const firstRetainedEntry =\n boundary.retainedCount > 0 ? boundary.compactCount + 1 : null;\n return {\n id: subject.id,\n dry_run: dryRun,\n changed,\n compact_boundary: {\n kind: boundary.kind,\n before: boundary.raw,\n entries_compacted: boundary.compactCount,\n entries_retained: boundary.retainedCount,\n first_retained_entry: firstRetainedEntry,\n },\n history: {\n path: historyPath,\n entries_scanned: historyEntries.length,\n entries_after: rewrittenEntries.length,\n baseline_entry_added: baselineEntryAdded,\n audit_entry_added: auditEntryAdded,\n verify_ok: rewrittenVerify.ok,\n verify_errors: rewrittenVerify.errors,\n },\n item: {\n exists: subject.located !== null,\n path: subject.located?.itemPath ?? null,\n matched_chain_before: currentItem.matchedChainBefore,\n },\n warnings: [...new Set(warnings)].sort((left, right) =>\n left.localeCompare(right),\n ),\n generated_at: nowIso(),\n };\n}\n\n/** Default entry floor below which a stream is treated as already compact. */\nexport const HISTORY_COMPACT_BULK_DEFAULT_MIN_ENTRIES = 3;\n\n/** Documents the bulk history compact command options payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryCompactBulkCommandOptions {\n /** Value that configures or reports ids for this contract. */\n ids?: string[];\n /** Value that configures or reports scope for this contract. */\n scope?: HistoryCompactScope;\n /** Value that configures or reports all over for this contract. */\n allOver?: number;\n /** Value that configures or reports min entries for this contract. */\n minEntries?: number;\n /** Value that configures or reports dry run for this contract. */\n dryRun?: boolean;\n /** Value that configures or reports author for this contract. */\n author?: string;\n /** Human-readable explanation suitable for logs and agent-facing output. */\n message?: string;\n /** Value that configures or reports force for this contract. */\n force?: boolean;\n}\n\n/** Per-item outcome row in a bulk compaction pass. */\nexport interface HistoryCompactBulkItemResult {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports outcome for this contract. */\n outcome: \"compacted\" | \"skipped\" | \"errored\";\n /** Value that configures or reports entries before for this contract. */\n entries_before: number;\n /** Value that configures or reports entries after for this contract. */\n entries_after: number | null;\n /** Value that configures or reports skip reason for this contract. */\n skip_reason: HistoryCompactBulkSkipReason | null;\n /** Value that configures or reports changed for this contract. */\n changed: boolean;\n /** Value that configures or reports error for this contract. */\n error: string | null;\n}\n\n/** Documents the bulk history compact result payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryCompactBulkResult {\n /** Value that configures or reports bulk for this contract. */\n bulk: true;\n /** Value that configures or reports dry run for this contract. */\n dry_run: boolean;\n /** Value that configures or reports mode for this contract. */\n mode: \"ids\" | \"scan\";\n /** Value that configures or reports scope for this contract. */\n scope: HistoryCompactScope | null;\n /** Value that configures or reports criteria for this contract. */\n criteria: {\n min_entries: number;\n all_over: number | null;\n policy_threshold_applied: boolean;\n };\n /** Value that configures or reports totals for this contract. */\n totals: {\n streams_considered: number;\n selected: number;\n items_compacted: number;\n items_skipped: number;\n items_errored: number;\n };\n /** Value that configures or reports results for this contract. */\n results: HistoryCompactBulkItemResult[];\n /** ISO 8601 timestamp recording when generated occurred. */\n generated_at: string;\n}\n\n/** Enforce the `pm history-compact` target contract shared by the CLI and MCP surfaces: exactly one selection mode — a single item `<id>`, an explicit `--ids` list, or a scan selector (`--all-over` / `--closed` / `--all-streams`). */\nexport function assertHistoryCompactTarget(\n id: string | undefined,\n bulk: { ids?: string[]; allOver?: number; scope?: HistoryCompactScope },\n): void {\n const hasIds = bulk.ids !== undefined && bulk.ids.length > 0;\n const hasScan = bulk.allOver !== undefined || bulk.scope !== undefined;\n const selectorCount =\n (id !== undefined ? 1 : 0) + (hasIds ? 1 : 0) + (hasScan ? 1 : 0);\n if (selectorCount === 0) {\n throw new PmCliError(\n \"history-compact: provide an item <id>, or a bulk selector (--ids, --all-over <N>, --closed, or --all-streams).\",\n EXIT_CODE.USAGE,\n );\n }\n if (id !== undefined && (hasIds || hasScan)) {\n throw new PmCliError(\n \"history-compact: <id> and bulk selectors (--ids/--all-over/--closed/--all-streams) are mutually exclusive; pass one item id, or use bulk mode without a positional id.\",\n EXIT_CODE.USAGE,\n );\n }\n if (hasIds && hasScan) {\n throw new PmCliError(\n \"history-compact: --ids is mutually exclusive with --all-over/--closed/--all-streams; pass an explicit id list or a scan selector, not both.\",\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction countHistoryStreamEntries(raw: string): number {\n let count = 0;\n for (const line of raw.split(/\\r?\\n/)) {\n if (line.trim().length > 0) {\n count += 1;\n }\n }\n return count;\n}\n\nasync function collectHistoryCompactBulkCandidates(params: {\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeToFolder: Record<string, string>;\n}): Promise<{\n candidates: HistoryCompactBulkCandidate[];\n preselectionErrors: HistoryCompactBulkItemResult[];\n}> {\n const statusRegistry = resolveRuntimeStatusRegistry(params.settings.schema);\n const classifier = lifecycleClassifierFromStatusRegistry(statusRegistry);\n const items = await listAllItemMetadataLight(\n params.pmRoot,\n params.settings.item_format,\n params.typeToFolder,\n undefined,\n params.settings.schema,\n );\n const bucketById = new Map(\n items.map((item) => [item.id, classifier.classify(item.status)] as const),\n );\n const historyDir = path.join(params.pmRoot, \"history\");\n const candidates: HistoryCompactBulkCandidate[] = [];\n const preselectionErrors: HistoryCompactBulkItemResult[] = [];\n if (!(await pathExists(historyDir))) {\n return { candidates, preselectionErrors };\n }\n const historyFiles = (await fs.readdir(historyDir))\n .filter((entry) => entry.endsWith(\".jsonl\"))\n .sort((left, right) => left.localeCompare(right));\n for (const fileName of historyFiles) {\n const historyPath = path.join(historyDir, fileName);\n const id = fileName.slice(0, -\".jsonl\".length);\n try {\n const raw = await fs.readFile(historyPath, \"utf8\");\n await runActiveOnReadHooks({ path: historyPath, scope: \"project\" });\n candidates.push({\n id,\n entries: countHistoryStreamEntries(raw),\n bucket: bucketById.get(id) ?? null,\n });\n } catch (error) {\n preselectionErrors.push({\n id,\n outcome: \"errored\",\n entries_before: 0,\n entries_after: null,\n skip_reason: null,\n changed: false,\n /* c8 ignore next -- non-Error throws are normalized in defensive fallback. */\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n return { candidates, preselectionErrors };\n}\n\nasync function runHistoryCompactBulkRow(params: {\n row: ReturnType<typeof selectHistoryCompactBulkTargets>[number];\n options: HistoryCompactBulkCommandOptions;\n dryRun: boolean;\n global: GlobalOptions;\n}): Promise<{\n result: HistoryCompactBulkItemResult;\n selected: boolean;\n compacted: boolean;\n errored: boolean;\n}> {\n if (!params.row.selected) {\n return {\n selected: false,\n compacted: false,\n errored: false,\n result: {\n id: params.row.id,\n outcome: \"skipped\",\n entries_before: params.row.entries,\n entries_after: null,\n skip_reason: params.row.skip_reason,\n changed: false,\n error: null,\n },\n };\n }\n try {\n const result = await runHistoryCompact(\n params.row.id,\n {\n dryRun: params.dryRun,\n author: params.options.author,\n message: params.options.message,\n force: params.options.force,\n },\n params.global,\n );\n return {\n selected: true,\n compacted: true,\n errored: false,\n result: {\n id: params.row.id,\n outcome: \"compacted\",\n entries_before: params.row.entries,\n entries_after: result.history.entries_after,\n skip_reason: null,\n changed: result.changed,\n error: null,\n },\n };\n } catch (error) {\n return {\n selected: true,\n compacted: false,\n errored: true,\n result: {\n id: params.row.id,\n outcome: \"errored\",\n entries_before: params.row.entries,\n entries_after: null,\n skip_reason: null,\n changed: false,\n /* c8 ignore next -- non-Error throws are normalized in defensive fallback. */\n error: error instanceof Error ? error.message : String(error),\n },\n };\n }\n}\n\n/**\n * Bulk history compaction: compact every history stream matching the requested\n * selection (explicit `--ids`, a `--scope` lifecycle filter, and/or an\n * `--all-over <N>` entry threshold) in one audited pass. Each selected stream is\n * compacted with the same single-item logic ({@link runHistoryCompact}); one\n * failing stream never aborts the rest, and the caller decides the exit code\n * from `totals.items_errored`.\n *\n * When `history.compact_policy` is enabled and no explicit `--all-over` is\n * given, the policy's `max_entries` is used as the scan threshold so the\n * configured policy drives the sweep.\n */\nexport async function runHistoryCompactBulk(\n options: HistoryCompactBulkCommandOptions,\n global: GlobalOptions,\n): Promise<HistoryCompactBulkResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(\n `Tracker is not initialized at ${pmRoot}. Run pm init first.`,\n EXIT_CODE.NOT_FOUND,\n );\n }\n\n const settings = await readSettings(pmRoot);\n const typeRegistry = resolveItemTypeRegistry(\n settings,\n getActiveExtensionRegistrations(),\n );\n const { candidates, preselectionErrors } =\n await collectHistoryCompactBulkCandidates({\n pmRoot,\n settings,\n typeToFolder: typeRegistry.type_to_folder,\n });\n\n const mode: \"ids\" | \"scan\" =\n options.ids !== undefined && options.ids.length > 0 ? \"ids\" : \"scan\";\n const minEntries =\n options.minEntries ?? HISTORY_COMPACT_BULK_DEFAULT_MIN_ENTRIES;\n const policy = settings.history.compact_policy;\n const policyThresholdApplied =\n mode === \"scan\" && options.allOver === undefined && policy.enabled;\n const allOver =\n options.allOver ??\n (policyThresholdApplied ? policy.max_entries : undefined);\n\n const selection = selectHistoryCompactBulkTargets(candidates, {\n ids: options.ids,\n scope: options.scope,\n minEntries,\n allOver,\n });\n\n const dryRun = Boolean(options.dryRun);\n const results: HistoryCompactBulkItemResult[] = [...preselectionErrors];\n const totals = {\n streams_considered: candidates.length + preselectionErrors.length,\n selected: 0,\n items_compacted: 0,\n items_skipped: 0,\n items_errored: preselectionErrors.length,\n };\n for (const row of selection) {\n const outcome = await runHistoryCompactBulkRow({\n row,\n options,\n dryRun,\n global,\n });\n results.push(outcome.result);\n if (!outcome.selected) {\n totals.items_skipped += 1;\n continue;\n }\n totals.selected += 1;\n if (outcome.compacted) {\n totals.items_compacted += 1;\n }\n if (outcome.errored) {\n totals.items_errored += 1;\n }\n }\n\n return {\n bulk: true,\n dry_run: dryRun,\n mode,\n scope: options.scope ?? null,\n criteria: {\n min_entries: minEntries,\n all_over: allOver ?? null,\n policy_threshold_applied: policyThresholdApplied,\n },\n totals,\n results,\n generated_at: nowIso(),\n };\n}\n", "/**\n * @module core/history/history-compact-bulk\n *\n * Pure selection logic for bulk history-stream compaction. Given a set of\n * history-stream candidates (id, entry count, and lifecycle bucket of the\n * owning item) plus the requested selection criteria, this module decides which\n * streams should be compacted and which are skipped (and why).\n *\n * The module performs no filesystem access and imports no heavy runtime\n * dependencies — the command layer reads streams and item statuses, hands the\n * resolved candidates here, then executes per-item compaction on the selection\n * this module returns. Keeping selection pure makes the matrix of scope /\n * threshold / explicit-id rules trivially testable without touching disk.\n */\n\nimport type { LifecycleBucket } from \"../governance/metadata-coverage.js\";\n\n/** Bulk-compaction scope: only closed items, or every history stream. */\nexport type HistoryCompactScope = \"closed\" | \"all-streams\";\n\n/** Why a candidate stream was not selected for compaction. */\nexport type HistoryCompactBulkSkipReason =\n | \"no_stream\"\n | \"already_compact\"\n | \"scope_mismatch\"\n | \"below_threshold\";\n\n/**\n * One history stream considered for bulk compaction.\n *\n * `bucket` is the lifecycle bucket of the owning item, or `null` when no item\n * matches the stream (an orphan history file). Orphan streams never satisfy a\n * `closed` scope filter but are eligible under `all-streams`.\n */\nexport interface HistoryCompactBulkCandidate {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports entries for this contract. */\n entries: number;\n /** Value that configures or reports bucket for this contract. */\n bucket: LifecycleBucket | null;\n}\n\n/** Selection criteria resolved from the command flags + policy defaults. */\nexport interface HistoryCompactBulkCriteria {\n /** Explicit, ordered list of item ids to compact. When non-empty the selection runs in \"ids\" mode: scope/allOver are ignored and only the `minEntries` floor applies. Duplicates are collapsed, preserving first-seen order. */\n ids?: string[];\n /** Lifecycle scope filter for scan mode (ignored in ids mode). */\n scope?: HistoryCompactScope;\n /** Streams with at most this many entries are skipped as `already_compact` (compaction collapses a stream to a 2-entry baseline+audit pair, so smaller streams gain nothing). Applies in both modes. */\n minEntries: number;\n /** Scan mode only: when set, only streams with strictly more entries than this are selected. Streams above `minEntries` but at/below `allOver` are skipped as `below_threshold`. */\n allOver?: number;\n}\n\n/** Per-candidate selection outcome. */\nexport interface HistoryCompactBulkSelectionRow {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports entries for this contract. */\n entries: number;\n /** Value that configures or reports selected for this contract. */\n selected: boolean;\n /** Value that configures or reports skip reason for this contract. */\n skip_reason: HistoryCompactBulkSkipReason | null;\n}\n\nfunction selectIdsMode(\n ids: string[],\n byId: ReadonlyMap<string, HistoryCompactBulkCandidate>,\n minEntries: number,\n): HistoryCompactBulkSelectionRow[] {\n const seen = new Set<string>();\n const rows: HistoryCompactBulkSelectionRow[] = [];\n for (const rawId of ids) {\n const id = rawId.trim();\n if (id.length === 0 || seen.has(id)) {\n continue;\n }\n seen.add(id);\n const candidate = byId.get(id);\n if (candidate === undefined) {\n rows.push({ id, entries: 0, selected: false, skip_reason: \"no_stream\" });\n continue;\n }\n if (candidate.entries <= minEntries) {\n rows.push({\n id,\n entries: candidate.entries,\n selected: false,\n skip_reason: \"already_compact\",\n });\n continue;\n }\n rows.push({\n id,\n entries: candidate.entries,\n selected: true,\n skip_reason: null,\n });\n }\n return rows;\n}\n\nfunction selectScanMode(\n candidates: HistoryCompactBulkCandidate[],\n criteria: HistoryCompactBulkCriteria,\n): HistoryCompactBulkSelectionRow[] {\n const ordered = [...candidates].sort(\n (a, b) => b.entries - a.entries || a.id.localeCompare(b.id),\n );\n const rows: HistoryCompactBulkSelectionRow[] = [];\n for (const candidate of ordered) {\n if (criteria.scope === \"closed\" && candidate.bucket !== \"closed\") {\n rows.push({\n id: candidate.id,\n entries: candidate.entries,\n selected: false,\n skip_reason: \"scope_mismatch\",\n });\n continue;\n }\n if (candidate.entries <= criteria.minEntries) {\n rows.push({\n id: candidate.id,\n entries: candidate.entries,\n selected: false,\n skip_reason: \"already_compact\",\n });\n continue;\n }\n if (\n criteria.allOver !== undefined &&\n candidate.entries <= criteria.allOver\n ) {\n rows.push({\n id: candidate.id,\n entries: candidate.entries,\n selected: false,\n skip_reason: \"below_threshold\",\n });\n continue;\n }\n rows.push({\n id: candidate.id,\n entries: candidate.entries,\n selected: true,\n skip_reason: null,\n });\n }\n return rows;\n}\n\n/**\n * Decide which history streams to compact.\n *\n * Runs in \"ids\" mode when `criteria.ids` is non-empty (exact, ordered set,\n * honouring only the `minEntries` floor) and \"scan\" mode otherwise (every\n * candidate, filtered by scope and entry thresholds, ordered deepest-first).\n */\nexport function selectHistoryCompactBulkTargets(\n candidates: HistoryCompactBulkCandidate[],\n criteria: HistoryCompactBulkCriteria,\n): HistoryCompactBulkSelectionRow[] {\n if (criteria.ids !== undefined && criteria.ids.length > 0) {\n const byId = new Map(\n candidates.map((candidate) => [candidate.id, candidate]),\n );\n return selectIdsMode(criteria.ids, byId, criteria.minEntries);\n }\n return selectScanMode(candidates, criteria);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["compactCount", "global"]
|
|
7
7
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
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]="f8e075e8-caf9-5324-8241-28eebe58bb3c")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
runUpdate
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XJTABV3X.js";
|
|
6
6
|
import {
|
|
7
7
|
buildCapabilityContractMetadata,
|
|
8
8
|
buildRegistrationCollisionRemediation,
|
|
9
9
|
collectUnknownCapabilityGuidance,
|
|
10
10
|
readManagedExtensionState,
|
|
11
11
|
runInit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JXCW2TI2.js";
|
|
13
13
|
import {
|
|
14
14
|
collectStaleVectorizationIds,
|
|
15
15
|
runNext
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JFD5LPMI.js";
|
|
17
17
|
import {
|
|
18
18
|
buildVectorizationEmbeddingIdentity,
|
|
19
19
|
hasVectorizationEmbeddingIdentityChanged,
|
|
@@ -23,10 +23,10 @@ import {
|
|
|
23
23
|
resolveProviderConfigSource,
|
|
24
24
|
resolveSettingsWithSemanticRuntimeDefaults,
|
|
25
25
|
resolveVectorStores
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-PQSEQD6E.js";
|
|
27
27
|
import {
|
|
28
28
|
scanHistoryDrift
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-PONKZPCJ.js";
|
|
30
30
|
import {
|
|
31
31
|
ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
32
32
|
ACTIVITY_FLAG_CONTRACTS,
|
|
@@ -80,6 +80,7 @@ import {
|
|
|
80
80
|
HISTORY_REPAIR_FLAG_CONTRACTS,
|
|
81
81
|
INIT_FLAG_CONTRACTS,
|
|
82
82
|
INSTALL_FLAG_CONTRACTS,
|
|
83
|
+
ITEM_MUTATE_FLAG_CONTRACTS,
|
|
83
84
|
LEARNINGS_FLAG_CONTRACTS,
|
|
84
85
|
LIST_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
85
86
|
LIST_FILTER_FLAG_CONTRACTS,
|
|
@@ -119,13 +120,13 @@ import {
|
|
|
119
120
|
UPGRADE_FLAG_CONTRACTS,
|
|
120
121
|
VALIDATE_FLAG_CONTRACTS,
|
|
121
122
|
compactFlagAliasContracts
|
|
122
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-FSE2IKJQ.js";
|
|
123
124
|
import {
|
|
124
125
|
auditMergeAttributeFence
|
|
125
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-ICDAQ4TD.js";
|
|
126
127
|
import {
|
|
127
128
|
wrapOwnershipConflict
|
|
128
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-TRSHFPRZ.js";
|
|
129
130
|
import {
|
|
130
131
|
LINKED_TEST_PM_CONTEXT_MODE_VALUES,
|
|
131
132
|
LINKED_TEST_PROTECTED_ENV_KEYS,
|
|
@@ -142,24 +143,24 @@ import {
|
|
|
142
143
|
parseLinkedTestRegexList,
|
|
143
144
|
parseLinkedTestStringList,
|
|
144
145
|
runCreate
|
|
145
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-MWQ2HC2A.js";
|
|
146
147
|
import {
|
|
147
148
|
collectDanglingDependencyReferences
|
|
148
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-K36WV5J6.js";
|
|
149
150
|
import {
|
|
150
151
|
runDocs
|
|
151
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-OY7DMU5P.js";
|
|
152
153
|
import {
|
|
153
154
|
runFiles
|
|
154
|
-
} from "./chunk-
|
|
155
|
+
} from "./chunk-FPBMLYPI.js";
|
|
155
156
|
import {
|
|
156
157
|
isRemoteLinkedArtifactReference
|
|
157
|
-
} from "./chunk-
|
|
158
|
+
} from "./chunk-LAV26CQG.js";
|
|
158
159
|
import {
|
|
159
160
|
createStdinTokenResolver,
|
|
160
161
|
parseCsvKv,
|
|
161
162
|
parseOptionalNumber
|
|
162
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-AELMUANP.js";
|
|
163
164
|
import {
|
|
164
165
|
computeContentFieldUtilization
|
|
165
166
|
} from "./chunk-7DOJC3HS.js";
|
|
@@ -173,7 +174,7 @@ import {
|
|
|
173
174
|
} from "./chunk-K4CI6Y45.js";
|
|
174
175
|
import {
|
|
175
176
|
readHistoryEntries
|
|
176
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-PFNHX655.js";
|
|
177
178
|
import {
|
|
178
179
|
resolveAuthor
|
|
179
180
|
} from "./chunk-CUFW7ITY.js";
|
|
@@ -2286,7 +2287,10 @@ var SEARCH_TOP_LEVEL_OPTION_PROPERTIES = {
|
|
|
2286
2287
|
};
|
|
2287
2288
|
var COPY_TOP_LEVEL_OPTION_PROPERTIES = Object.fromEntries(COPY_FLAG_CONTRACTS.filter(({ flag }) => flag !== "--author").map(({ flag }) => [
|
|
2288
2289
|
flag.slice(2),
|
|
2289
|
-
{
|
|
2290
|
+
{
|
|
2291
|
+
type: "string",
|
|
2292
|
+
description: `Alias for options.${flag.slice(2).replaceAll("-", "_")}.`
|
|
2293
|
+
}
|
|
2290
2294
|
]));
|
|
2291
2295
|
function objectSchema(properties, required = []) {
|
|
2292
2296
|
return {
|
|
@@ -2397,6 +2401,43 @@ var TOOLS = [
|
|
|
2397
2401
|
}
|
|
2398
2402
|
}, ["options"])
|
|
2399
2403
|
},
|
|
2404
|
+
{
|
|
2405
|
+
name: "pm_mutate",
|
|
2406
|
+
description: "Apply an ordered create/update/close batch atomically through the public pm SDK. Use a stable transactionId to resume interrupted work; set dryRun=true to validate and preview without writes.",
|
|
2407
|
+
inputSchema: objectSchema({
|
|
2408
|
+
transactionId: {
|
|
2409
|
+
type: "string",
|
|
2410
|
+
description: "Stable idempotency key for this atomic mutation batch."
|
|
2411
|
+
},
|
|
2412
|
+
mutations: {
|
|
2413
|
+
type: "array",
|
|
2414
|
+
minItems: 1,
|
|
2415
|
+
description: "Ordered rows shaped as {op:create|update|close,id,options?,reason?}.",
|
|
2416
|
+
items: {
|
|
2417
|
+
type: "object",
|
|
2418
|
+
properties: {
|
|
2419
|
+
op: { type: "string", enum: ["create", "update", "close"] },
|
|
2420
|
+
id: idSchema,
|
|
2421
|
+
reason: { type: "string" },
|
|
2422
|
+
options: { type: "object" }
|
|
2423
|
+
},
|
|
2424
|
+
required: ["op", "id"],
|
|
2425
|
+
additionalProperties: false
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
dryRun: {
|
|
2429
|
+
type: "boolean",
|
|
2430
|
+
description: "Validate and preview without writing."
|
|
2431
|
+
},
|
|
2432
|
+
createCompensation: {
|
|
2433
|
+
type: "string",
|
|
2434
|
+
enum: ["close", "delete"],
|
|
2435
|
+
description: "How a failed batch compensates created items; defaults to close."
|
|
2436
|
+
},
|
|
2437
|
+
lockTtlSeconds: { type: "number" },
|
|
2438
|
+
lockWaitMs: { type: "number" }
|
|
2439
|
+
}, ["transactionId", "mutations"])
|
|
2440
|
+
},
|
|
2400
2441
|
{
|
|
2401
2442
|
name: "pm_copy",
|
|
2402
2443
|
description: "Copy an existing pm item into a new id while resetting lifecycle fields. Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.",
|
|
@@ -2538,7 +2579,7 @@ var TOOLS = [
|
|
|
2538
2579
|
},
|
|
2539
2580
|
{
|
|
2540
2581
|
name: "pm_graph",
|
|
2541
|
-
description: "Run bounded workspace relationship-graph queries: ancestors/descendants (hierarchy), predecessors/successors (ordering), paths, impact (blast radius), analyze (execution + knowledge analytics), audit (governance findings), communities (label-propagation clusters), redundancy (transitively implied edges), dominators (structural bottlenecks), and plan (dry-run remediation proposals derived from the audit). Traversals, paths, impact, and dominators require id; paths also requires target. Options support kind, maxDepth, limit, after, direction, maxPaths, sample, exemptIsolate, and counts-first summary.",
|
|
2582
|
+
description: "Run bounded workspace relationship-graph queries: ancestors/descendants (hierarchy), predecessors/successors (ordering), paths, impact (blast radius), analyze (execution + knowledge analytics), audit (governance findings with change-since-baseline deltas), communities (label-propagation clusters), redundancy (transitively implied edges), dominators (structural bottlenecks), slack (critical-path method float per task), centrality (betweenness/closeness/degree with directed fan-in/out), articulation (cut points and bridges \u2014 single points of failure), plan (dry-run remediation proposals derived from the audit), and index (durable cross-process graph index status/rebuild/clear). Traversals, paths, impact, and dominators require id; paths also requires target. Options support kind, maxDepth, limit, after, direction, maxPaths, sample, exemptIsolate, exemptIsolateType, saveBaseline (audit), rebuild/clear (index), and counts-first summary.",
|
|
2542
2583
|
inputSchema: objectSchema({
|
|
2543
2584
|
subcommand: {
|
|
2544
2585
|
type: "string",
|
|
@@ -2936,6 +2977,7 @@ var CORE_COMMAND_FLAG_CONTRACT_ENTRIES = [
|
|
|
2936
2977
|
["packages", PACKAGE_FLAG_CONTRACTS],
|
|
2937
2978
|
["install", INSTALL_FLAG_CONTRACTS],
|
|
2938
2979
|
["create", CREATE_FLAG_CONTRACTS],
|
|
2980
|
+
["item mutate", ITEM_MUTATE_FLAG_CONTRACTS],
|
|
2939
2981
|
["update", UPDATE_FLAG_CONTRACTS],
|
|
2940
2982
|
["update-many", UPDATE_MANY_FLAG_CONTRACTS],
|
|
2941
2983
|
["upgrade", UPGRADE_FLAG_CONTRACTS],
|
|
@@ -13693,6 +13735,6 @@ export {
|
|
|
13693
13735
|
runValidate2,
|
|
13694
13736
|
resolveStartTaskInProgressStatus
|
|
13695
13737
|
};
|
|
13696
|
-
//# sourceMappingURL=chunk-
|
|
13738
|
+
//# sourceMappingURL=chunk-4QSQ6XDK.js.map
|
|
13697
13739
|
|
|
13698
|
-
//# debugId=
|
|
13740
|
+
//# debugId=f8e075e8-caf9-5324-8241-28eebe58bb3c
|