@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
|
@@ -2,7 +2,7 @@
|
|
|
2
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]="84827734-b632-5de5-933c-74a3bbbda783")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
runCreate
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MWQ2HC2A.js";
|
|
6
6
|
import {
|
|
7
7
|
splitCommaList
|
|
8
8
|
} from "./chunk-NETP4DY4.js";
|
|
@@ -1488,6 +1488,6 @@ export {
|
|
|
1488
1488
|
resolvePlanTemplateSteps,
|
|
1489
1489
|
runPlan
|
|
1490
1490
|
};
|
|
1491
|
-
//# sourceMappingURL=chunk-
|
|
1491
|
+
//# sourceMappingURL=chunk-KBLZ3AA5.js.map
|
|
1492
1492
|
|
|
1493
1493
|
//# debugId=84827734-b632-5de5-933c-74a3bbbda783
|
|
@@ -2,7 +2,7 @@
|
|
|
2
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]="7ea426c5-e4fc-52f3-bdd8-8e99c3e2a798")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
createStdinTokenResolver
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-AELMUANP.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveAuthor
|
|
8
8
|
} from "./chunk-CUFW7ITY.js";
|
|
@@ -68,6 +68,6 @@ async function runAppend(id, options, global) {
|
|
|
68
68
|
export {
|
|
69
69
|
runAppend
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-KH44WBAT.js.map
|
|
72
72
|
|
|
73
73
|
//# debugId=7ea426c5-e4fc-52f3-bdd8-8e99c3e2a798
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
createStdinTokenResolver,
|
|
9
9
|
looksLikeGenericKeyValueEntry,
|
|
10
10
|
parseCsvKv
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-AELMUANP.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveAuthor
|
|
14
14
|
} from "./chunk-CUFW7ITY.js";
|
|
@@ -432,6 +432,6 @@ export {
|
|
|
432
432
|
runLinkedArtifacts,
|
|
433
433
|
renameArtifactsResultKey
|
|
434
434
|
};
|
|
435
|
-
//# sourceMappingURL=chunk-
|
|
435
|
+
//# sourceMappingURL=chunk-LAV26CQG.js.map
|
|
436
436
|
|
|
437
437
|
//# debugId=10878e88-c016-568a-a007-cdc95cbb235d
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-AF2CCM5U.js";
|
|
16
16
|
import {
|
|
17
17
|
runRestore
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-QG4GFLQ6.js";
|
|
19
19
|
import {
|
|
20
20
|
resolveAuthor
|
|
21
21
|
} from "./chunk-YRYYFGV3.js";
|
|
@@ -404,4 +404,4 @@ export {
|
|
|
404
404
|
runCloseMany,
|
|
405
405
|
_testOnly
|
|
406
406
|
};
|
|
407
|
-
//# sourceMappingURL=chunk-
|
|
407
|
+
//# sourceMappingURL=chunk-LVC72YRD.js.map
|
|
@@ -29,7 +29,7 @@ function isHostOutputSuppressed(value) {
|
|
|
29
29
|
!(function() {
|
|
30
30
|
try {
|
|
31
31
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
32
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
32
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "8f1cdc52-3bf6-55e7-ac12-bffdf4538203");
|
|
33
33
|
} catch (e2) {
|
|
34
34
|
}
|
|
35
35
|
})();
|
|
@@ -85,6 +85,26 @@ function projectIdOnlyResult(result) {
|
|
|
85
85
|
}
|
|
86
86
|
return status ? { id, status } : { id };
|
|
87
87
|
}
|
|
88
|
+
function projectCompactMutationEnvelope(result) {
|
|
89
|
+
if (!isPlainObject(result) || !isPlainObject(result.item))
|
|
90
|
+
return null;
|
|
91
|
+
if (typeof result.item.id !== "string")
|
|
92
|
+
return null;
|
|
93
|
+
const changedFields = result[CHANGED_FIELDS_KEY];
|
|
94
|
+
if (!Array.isArray(changedFields))
|
|
95
|
+
return null;
|
|
96
|
+
const compact = {
|
|
97
|
+
id: result.item.id,
|
|
98
|
+
...typeof result.item.status === "string" ? { status: result.item.status } : {},
|
|
99
|
+
changed_field_count: changedFields.length
|
|
100
|
+
};
|
|
101
|
+
const closeReason = typeof result.close_reason === "string" ? result.close_reason : typeof result.item.close_reason === "string" ? result.item.close_reason : void 0;
|
|
102
|
+
if (closeReason !== void 0)
|
|
103
|
+
compact.close_reason = closeReason;
|
|
104
|
+
if (Array.isArray(result.warnings) && result.warnings.length > 0)
|
|
105
|
+
compact.warnings = result.warnings;
|
|
106
|
+
return compact;
|
|
107
|
+
}
|
|
88
108
|
function compactUpdateManyRows(envelope) {
|
|
89
109
|
const rows = isUpdateManyMutationEnvelope(envelope) ? envelope[ROWS_KEY] : void 0;
|
|
90
110
|
if (!Array.isArray(rows)) {
|
|
@@ -111,6 +131,11 @@ function projectMutationResult(result, options = {}) {
|
|
|
111
131
|
return idOnly;
|
|
112
132
|
}
|
|
113
133
|
}
|
|
134
|
+
if (options.compactEnvelope === true) {
|
|
135
|
+
const compact = projectCompactMutationEnvelope(result);
|
|
136
|
+
if (compact !== null)
|
|
137
|
+
return compact;
|
|
138
|
+
}
|
|
114
139
|
const mode = options.changedFields ?? "full";
|
|
115
140
|
if (mode === "full" || !isPlainObject(result)) {
|
|
116
141
|
return result;
|
|
@@ -134,7 +159,7 @@ function projectMutationResult(result, options = {}) {
|
|
|
134
159
|
!(function() {
|
|
135
160
|
try {
|
|
136
161
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
137
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
162
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b482bf29-8259-5fa0-9bad-9a349276a604");
|
|
138
163
|
} catch (e2) {
|
|
139
164
|
}
|
|
140
165
|
})();
|
|
@@ -319,8 +344,11 @@ function renderDefaultMarkdownResult(value) {
|
|
|
319
344
|
return `${lines.join("\n")}
|
|
320
345
|
`;
|
|
321
346
|
}
|
|
347
|
+
function resolveOutputFormat(options) {
|
|
348
|
+
return options.json === true || options.json === void 0 && options.defaultOutputFormat === "json" ? "json" : "toon";
|
|
349
|
+
}
|
|
322
350
|
function formatEffectiveOutput(effectiveResult, nativeOutput, options) {
|
|
323
|
-
const format = options
|
|
351
|
+
const format = resolveOutputFormat(options);
|
|
324
352
|
const serviceOverride = nativeOutput ? { handled: false, result: effectiveResult } : runActiveServiceOverrideSync("output_format", {
|
|
325
353
|
command: options.command,
|
|
326
354
|
args: options.commandArgs,
|
|
@@ -348,7 +376,8 @@ function formatEffectiveOutput(effectiveResult, nativeOutput, options) {
|
|
|
348
376
|
`;
|
|
349
377
|
}
|
|
350
378
|
if (format === "json") {
|
|
351
|
-
|
|
379
|
+
const jsonResult = options.lean === true ? compactToonValue(outputResult) ?? null : outputResult;
|
|
380
|
+
return `${JSON.stringify(jsonResult, null, 2)}
|
|
352
381
|
`;
|
|
353
382
|
}
|
|
354
383
|
const compactedToon = compactToonValue(outputResult);
|
|
@@ -367,7 +396,7 @@ function formatOutput(result, options) {
|
|
|
367
396
|
return suppressedOutput ? "" : formatEffectiveOutput(effectiveResult, nativeOutput, options);
|
|
368
397
|
}
|
|
369
398
|
function printResult(result, options) {
|
|
370
|
-
const projected = options.idOnly ? projectMutationResult(result, { idOnly: true }) : options.noChangedFields ? projectMutationResult(result, { changedFields: "compact" }) : result;
|
|
399
|
+
const projected = options.idOnly ? projectMutationResult(result, { idOnly: true }) : options.fullChangedFields ? result : options.noChangedFields ? projectMutationResult(result, { changedFields: "compact" }) : projectMutationResult(result, { compactEnvelope: true });
|
|
371
400
|
const rendered = formatOutput(projected, options);
|
|
372
401
|
if (options.quiet) {
|
|
373
402
|
return;
|
|
@@ -392,4 +421,4 @@ export {
|
|
|
392
421
|
printResult,
|
|
393
422
|
printError
|
|
394
423
|
};
|
|
395
|
-
//# sourceMappingURL=chunk-
|
|
424
|
+
//# sourceMappingURL=chunk-LZYP423P.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../core/output/output-control.ts", "../../../../../../../../core/output/mutation-projection.ts", "../../../../../../../../core/output/output.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @module core/output/output-control\n *\n * Defines the structural protocol for commands that own their output stream.\n */\n\nconst SUPPRESS_HOST_OUTPUT_KEY = \"__pm_suppress_host_output\";\n\n/** Collision-resistant wire marker understood by pm hosts when a package already emitted output. */\nexport const SUPPRESS_HOST_OUTPUT_MARKER =\n \"@unbrained/pm-cli:suppress-host-output:v1\";\n\n/** A handled result that tells a pm host not to render or write another payload. */\nexport interface SuppressedHostOutput<TResult = unknown> {\n /** Explicit protocol marker consumed by CLI and SDK-built presentation hosts. */\n readonly __pm_suppress_host_output: typeof SUPPRESS_HOST_OUTPUT_MARKER;\n /** Optional structured result retained for hooks, telemetry, and embedding hosts. */\n readonly result?: TResult;\n}\n\n/** Return from a command/exporter after it has written its own streaming, binary, or pre-rendered output. */\nexport function suppressHostOutput<TResult = undefined>(\n result?: TResult,\n): SuppressedHostOutput<TResult> {\n return result === undefined\n ? { __pm_suppress_host_output: SUPPRESS_HOST_OUTPUT_MARKER }\n : { __pm_suppress_host_output: SUPPRESS_HOST_OUTPUT_MARKER, result };\n}\n\n/** Detect the public suppression result without relying on object identity across package boundaries. */\nexport function isHostOutputSuppressed(\n value: unknown,\n): value is SuppressedHostOutput {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n (value as Record<string, unknown>)[SUPPRESS_HOST_OUTPUT_KEY] ===\n SUPPRESS_HOST_OUTPUT_MARKER\n );\n}\n", "/**\n * Shared projection helper for mutation command results.\n *\n * Mutation commands (create/update/close/append/update-many) return a result\n * envelope that carries a `changed_fields` string array. On create this array simply\n * re-lists every field the command just set, which the item echo above it already\n * shows, so for high-volume agent loops it is ~50% redundant payload. This helper\n * lets the CLI (`--no-changed-fields`) and the MCP agent path trim that array down\n * to a deterministic `changed_field_count` without losing mutation evidence.\n *\n * Compaction is deliberately scoped to the mutation envelope only:\n * - the envelope's own top-level `changed_fields` (create/update/close/append), and\n * - `rows[*].changed_fields` (update-many reports its delta per row).\n * It does NOT recurse into arbitrary nested objects, so unrelated payloads that\n * legitimately carry `changed_fields` (for example `pm history --diff` entries, or a\n * custom runtime metadata field) are left untouched.\n *\n * The helper is pure and side-effect free, reused by both the output layer and the\n * MCP server, and returns the original reference unchanged when nothing is compacted.\n */\n\n/** Controls whether mutation output keeps full changed fields or compact counts. */\nexport type ChangedFieldsMode = \"full\" | \"compact\";\n\n/** Documents the mutation projection options payload exchanged by command, SDK, and package integrations. */\nexport interface MutationProjectionOptions {\n /** Defaults to \"full\" (unchanged output). \"compact\" drops the array, keeping a count. */\n changedFields?: ChangedFieldsMode;\n /** Return the default agent envelope: id, status, changed-field count, and close reason. */\n compactEnvelope?: boolean;\n /** Return only id/status for single-item mutation envelopes. */\n idOnly?: boolean;\n}\n\nconst CHANGED_FIELDS_KEY = \"changed_fields\";\nconst CHANGED_FIELD_COUNT_KEY = \"changed_field_count\";\nconst ROWS_KEY = \"rows\";\nconst UPDATE_MANY_MUTATION_MODES = new Set([\"apply\", \"rollback\"]);\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n return false;\n }\n const proto = Object.getPrototypeOf(value);\n return proto === null || proto === Object.prototype;\n}\n\n/** Replace a single envelope's own top-level `changed_fields` array with a count. */\nfunction compactOwnChangedFields(\n envelope: Record<string, unknown>,\n): Record<string, unknown> | null {\n const changedFields = envelope[CHANGED_FIELDS_KEY];\n if (!Array.isArray(changedFields)) {\n return null;\n }\n const projected: Record<string, unknown> =\n Object.getPrototypeOf(envelope) === null ? Object.create(null) : {};\n for (const [key, value] of Object.entries(envelope)) {\n if (key !== CHANGED_FIELDS_KEY) {\n projected[key] = value;\n }\n }\n projected[CHANGED_FIELD_COUNT_KEY] = changedFields.length;\n return projected;\n}\n\nfunction isMutationEnvelope(value: Record<string, unknown>): boolean {\n return \"item\" in value && Array.isArray(value[CHANGED_FIELDS_KEY]);\n}\n\nfunction isUpdateManyMutationEnvelope(value: Record<string, unknown>): boolean {\n return (\n typeof value.mode === \"string\" &&\n UPDATE_MANY_MUTATION_MODES.has(value.mode) &&\n Array.isArray(value[ROWS_KEY])\n );\n}\n\nfunction replaceRows(\n envelope: Record<string, unknown>,\n rows: unknown[],\n): Record<string, unknown> {\n const projected: Record<string, unknown> =\n Object.getPrototypeOf(envelope) === null ? Object.create(null) : {};\n Object.assign(projected, envelope);\n projected[ROWS_KEY] = rows;\n return projected;\n}\n\nfunction projectIdOnlyResult(result: unknown): unknown | null {\n if (!isPlainObject(result)) {\n return null;\n }\n // Plan mutations wrap the mutated subject under \"plan\" instead of \"item\";\n // both shapes honor the root --id-only contract (id + status).\n const subject = isPlainObject(result.item)\n ? result.item\n : isPlainObject(result.plan)\n ? result.plan\n : null;\n if (subject === null) {\n return null;\n }\n const id = typeof subject.id === \"string\" ? subject.id : undefined;\n const status =\n typeof subject.status === \"string\" ? subject.status : undefined;\n if (!id) {\n return null;\n }\n return status ? { id, status } : { id };\n}\n\nfunction projectCompactMutationEnvelope(result: unknown): unknown | null {\n if (!isPlainObject(result) || !isPlainObject(result.item)) return null;\n if (typeof result.item.id !== \"string\") return null;\n const changedFields = result[CHANGED_FIELDS_KEY];\n if (!Array.isArray(changedFields)) return null;\n const compact: Record<string, unknown> = {\n id: result.item.id,\n ...(typeof result.item.status === \"string\"\n ? { status: result.item.status }\n : {}),\n changed_field_count: changedFields.length,\n };\n const closeReason =\n typeof result.close_reason === \"string\"\n ? result.close_reason\n : typeof result.item.close_reason === \"string\"\n ? result.item.close_reason\n : undefined;\n if (closeReason !== undefined) compact.close_reason = closeReason;\n if (Array.isArray(result.warnings) && result.warnings.length > 0)\n compact.warnings = result.warnings;\n return compact;\n}\n\nfunction compactUpdateManyRows(envelope: Record<string, unknown>): {\n projected: Record<string, unknown>;\n changed: boolean;\n} {\n const rows = isUpdateManyMutationEnvelope(envelope)\n ? envelope[ROWS_KEY]\n : undefined;\n if (!Array.isArray(rows)) {\n return { projected: envelope, changed: false };\n }\n let rowsChanged = false;\n const nextRows = rows.map((row) => {\n if (!isPlainObject(row)) {\n return row;\n }\n const compactedRow = compactOwnChangedFields(row);\n if (compactedRow) {\n rowsChanged = true;\n return compactedRow;\n }\n return row;\n });\n return rowsChanged\n ? { projected: replaceRows(envelope, nextRows), changed: true }\n : { projected: envelope, changed: false };\n}\n\n/** Returns a copy of a mutation result with the envelope `changed_fields` arrays replaced by `changed_field_count` when compact mode is requested. Inputs that are not a mutation envelope (or full mode) are returned unchanged (same reference). */\nexport function projectMutationResult(\n result: unknown,\n options: MutationProjectionOptions = {},\n): unknown {\n if (options.idOnly === true) {\n const idOnly = projectIdOnlyResult(result);\n if (idOnly !== null) {\n return idOnly;\n }\n }\n\n if (options.compactEnvelope === true) {\n const compact = projectCompactMutationEnvelope(result);\n if (compact !== null) return compact;\n }\n\n const mode = options.changedFields ?? \"full\";\n if (mode === \"full\" || !isPlainObject(result)) {\n return result;\n }\n\n let changed = false;\n let projected: Record<string, unknown> = result;\n\n const compactedTop = isMutationEnvelope(result)\n ? compactOwnChangedFields(result)\n : null;\n if (compactedTop !== null) {\n projected = compactedTop;\n changed = true;\n }\n\n const rowProjection = compactUpdateManyRows(projected);\n if (rowProjection.changed) {\n projected = rowProjection.projected;\n changed = true;\n }\n\n return changed ? projected : result;\n}\n", "/**\n * @module core/output/output\n *\n * Formats compact human and machine output for Output.\n */\nimport {\n runActiveCommandOverride,\n runActiveRendererOverride,\n runActiveServiceOverrideSync,\n setActiveCommandResult,\n} from \"../extensions/index.js\";\nimport { EXIT_CODE } from \"../shared/constants.js\";\nimport { isHostOutputSuppressed } from \"./output-control.js\";\nimport { projectMutationResult } from \"./mutation-projection.js\";\n\n/** Documents the output options payload exchanged by command, SDK, and package integrations. */\nexport interface OutputOptions {\n /** Value that configures or reports json for this contract. */\n json?: boolean;\n /** Value that configures or reports quiet for this contract. */\n quiet?: boolean;\n /** When true, mutation results drop the verbose changed_fields array (keeps changed_field_count). */\n noChangedFields?: boolean;\n /** When true, preserve the legacy full mutation envelope and changed-fields array. */\n fullChangedFields?: boolean;\n /** When true, single-item mutation results print only id and status. */\n idOnly?: boolean;\n /** When true, JSON output omits null, undefined, and empty containers recursively. */\n lean?: boolean;\n /** Fallback output format used when callers do not provide an override. */\n defaultOutputFormat?: \"toon\" | \"json\";\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Value that configures or reports command args for this contract. */\n commandArgs?: string[];\n /** Inputs that customize the command operation. */\n commandOptions?: Record<string, unknown>;\n /** Value that configures or reports pm root for this contract. */\n pmRoot?: string;\n}\n\ninterface NodeLikeError {\n code?: string;\n}\n\nconst NATIVE_OUTPUT_MARKER = \"__pm_native_output\";\n\nlet streamErrorHandlersInstalled = false;\ntype OutputStreamTarget = \"stdout\" | \"stderr\";\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction shouldUseNativeOutput(result: unknown): boolean {\n return isPlainObject(result) && result[NATIVE_OUTPUT_MARKER] === true;\n}\n\nfunction stripNativeOutputMarker<T>(result: T): T {\n if (!isPlainObject(result) || result[NATIVE_OUTPUT_MARKER] !== true) {\n return result;\n }\n const { [NATIVE_OUTPUT_MARKER]: _marker, ...rest } = result;\n return rest as T;\n}\n\nfunction isBrokenPipeError(error: unknown): boolean {\n return (\n typeof error === \"object\" &&\n error !== null &&\n (error as NodeLikeError).code === \"EPIPE\"\n );\n}\n\nfunction markStdoutBrokenPipeExitCode(): void {\n if (\n process.exitCode === undefined ||\n process.exitCode === EXIT_CODE.SUCCESS\n ) {\n process.exitCode = EXIT_CODE.SUCCESS;\n }\n}\n\nfunction markStderrBrokenPipeExitCode(): void {\n if (\n process.exitCode === undefined ||\n process.exitCode === EXIT_CODE.SUCCESS\n ) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n}\n\nfunction markBrokenPipeExitCode(target: OutputStreamTarget): void {\n if (target === \"stdout\") {\n markStdoutBrokenPipeExitCode();\n return;\n }\n markStderrBrokenPipeExitCode();\n}\n\nfunction handleUnhandledStreamError(error: unknown): void {\n const unhandled = error instanceof Error ? error : new Error(String(error));\n setImmediate(() => {\n throw unhandled;\n });\n}\n\nfunction installStreamErrorHandlers(): void {\n if (streamErrorHandlersInstalled) {\n return;\n }\n streamErrorHandlersInstalled = true;\n process.stdout.on(\"error\", (error: unknown) => {\n if (isBrokenPipeError(error)) {\n markBrokenPipeExitCode(\"stdout\");\n return;\n }\n handleUnhandledStreamError(error);\n });\n process.stderr.on(\"error\", (error: unknown) => {\n if (isBrokenPipeError(error)) {\n markBrokenPipeExitCode(\"stderr\");\n return;\n }\n handleUnhandledStreamError(error);\n });\n}\n\nfunction writeToStream(target: OutputStreamTarget, text: string): boolean {\n installStreamErrorHandlers();\n try {\n if (target === \"stdout\") {\n process.stdout.write(text);\n } else {\n process.stderr.write(text);\n }\n return true;\n } catch (error: unknown) {\n if (isBrokenPipeError(error)) {\n markBrokenPipeExitCode(target);\n return false;\n }\n throw error;\n }\n}\n\n/** Implements write stdout for the public runtime surface of this module. */\nexport function writeStdout(text: string): boolean {\n return writeToStream(\"stdout\", text);\n}\n\n/** Implements write stderr for the public runtime surface of this module. */\nexport function writeStderr(text: string): boolean {\n return writeToStream(\"stderr\", text);\n}\n\nfunction renderScalar(value: unknown): string {\n if (typeof value === \"string\") return JSON.stringify(value);\n if (typeof value === \"number\" || typeof value === \"boolean\")\n return String(value);\n if (value === null) return \"null\";\n return JSON.stringify(value);\n}\n\nfunction compactToonValue(value: unknown): unknown | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (Array.isArray(value)) {\n const compactedEntries = value\n .map((entry) => compactToonValue(entry))\n .filter((entry): entry is unknown => entry !== undefined);\n return compactedEntries.length > 0 ? compactedEntries : undefined;\n }\n\n if (isPlainObject(value)) {\n const compacted: Record<string, unknown> = {};\n for (const [key, entry] of Object.entries(value)) {\n const compactedEntry = compactToonValue(entry);\n if (compactedEntry !== undefined) {\n compacted[key] = compactedEntry;\n }\n }\n return Object.keys(compacted).length > 0 ? compacted : undefined;\n }\n\n return value;\n}\n\nfunction renderToonValue(value: unknown, depth: number): string {\n const indent = \" \".repeat(depth);\n\n if (Array.isArray(value)) {\n if (value.length === 0) return \"[]\";\n return value\n .map((entry) => {\n if (!isPlainObject(entry) && !Array.isArray(entry)) {\n return `${indent}- ${renderScalar(entry)}`;\n }\n const rendered = renderToonValue(entry, depth + 1);\n const lines = rendered.split(\"\\n\");\n const [firstLine, ...rest] = lines;\n if (rest.length === 0) {\n return `${indent}- ${firstLine.trimStart()}`;\n }\n return `${indent}- ${firstLine.trimStart()}\\n${rest.join(\"\\n\")}`;\n })\n .join(\"\\n\");\n }\n\n if (isPlainObject(value)) {\n const entries = Object.entries(value);\n if (entries.length === 0) return \"{}\";\n return entries\n .map(([key, entry]) => {\n if (!isPlainObject(entry) && !Array.isArray(entry)) {\n return `${indent}${key}: ${renderScalar(entry)}`;\n }\n if (Array.isArray(entry) && entry.length === 0) {\n return `${indent}${key}: []`;\n }\n if (isPlainObject(entry) && Object.keys(entry).length === 0) {\n return `${indent}${key}: {}`;\n }\n return `${indent}${key}:\\n${renderToonValue(entry, depth + 1)}`;\n })\n .join(\"\\n\");\n }\n\n return `${indent}${renderScalar(value)}`;\n}\n\nfunction renderDefaultMarkdownResult(value: unknown): string | null {\n if (!isPlainObject(value) || value.output_default !== \"markdown\") {\n return null;\n }\n if (\n typeof value.view !== \"string\" ||\n !Array.isArray(value.events) ||\n !Array.isArray(value.days)\n ) {\n return null;\n }\n const lines = [`# pm calendar (${value.view})`, \"\"];\n const summary = isPlainObject(value.summary) ? value.summary : {};\n lines.push(`- events: ${String(summary.events ?? 0)}`);\n lines.push(\"\");\n if (value.events.length === 0) {\n lines.push(\"No calendar events matched the selected filters.\");\n return `${lines.join(\"\\n\")}\\n`;\n }\n for (const event of value.events) {\n if (!isPlainObject(event)) {\n continue;\n }\n const kind = typeof event.kind === \"string\" ? event.kind : \"event\";\n const title = typeof event.item_title === \"string\" ? event.item_title : \"\";\n const itemId = typeof event.item_id === \"string\" ? event.item_id : \"\";\n const reminderText =\n typeof event.reminder_text === \"string\" && event.reminder_text.length > 0\n ? ` ${event.reminder_text}`\n : \"\";\n lines.push(`- [${kind}] ${itemId} ${title}${reminderText}`.trim());\n }\n return `${lines.join(\"\\n\")}\\n`;\n}\n\nfunction resolveOutputFormat(options: OutputOptions): \"json\" | \"toon\" {\n return options.json === true ||\n (options.json === undefined && options.defaultOutputFormat === \"json\")\n ? \"json\"\n : \"toon\";\n}\n\n/** Formats a command result after command-level output ownership is resolved. */\nfunction formatEffectiveOutput(\n effectiveResult: unknown,\n nativeOutput: boolean,\n options: OutputOptions,\n): string {\n const format = resolveOutputFormat(options);\n const serviceOverride = nativeOutput\n ? { handled: false, result: effectiveResult }\n : runActiveServiceOverrideSync(\"output_format\", {\n command: options.command,\n args: options.commandArgs,\n command_options: options.commandOptions,\n global: { ...options },\n pm_root: options.pmRoot,\n format,\n options: { ...options },\n result: effectiveResult,\n });\n if (serviceOverride.handled && typeof serviceOverride.result === \"string\") {\n return serviceOverride.result.endsWith(\"\\n\")\n ? serviceOverride.result\n : `${serviceOverride.result}\\n`;\n }\n const outputResult = serviceOverride.handled\n ? serviceOverride.result\n : effectiveResult;\n if (format === \"toon\") {\n const markdownDefault = renderDefaultMarkdownResult(outputResult);\n if (markdownDefault !== null) {\n return markdownDefault;\n }\n }\n const rendererOverride = nativeOutput\n ? { rendered: null }\n : runActiveRendererOverride(format, outputResult);\n if (rendererOverride.rendered !== null) {\n return rendererOverride.rendered.endsWith(\"\\n\")\n ? rendererOverride.rendered\n : `${rendererOverride.rendered}\\n`;\n }\n if (format === \"json\") {\n const jsonResult =\n options.lean === true\n ? (compactToonValue(outputResult) ?? null)\n : outputResult;\n return `${JSON.stringify(jsonResult, null, 2)}\\n`;\n }\n const compactedToon = compactToonValue(outputResult);\n if (compactedToon === undefined) {\n return \"{}\\n\";\n }\n return `${renderToonValue(compactedToon, 0)}\\n`;\n}\n\n/** Implements format output for the public runtime surface of this module. */\nexport function formatOutput(result: unknown, options: OutputOptions): string {\n const commandOverride = runActiveCommandOverride(result);\n const suppressedOutput = isHostOutputSuppressed(commandOverride.result)\n ? commandOverride.result\n : null;\n const nativeOutput = shouldUseNativeOutput(commandOverride.result);\n const effectiveResult = suppressedOutput\n ? suppressedOutput.result\n : stripNativeOutputMarker(commandOverride.result);\n setActiveCommandResult(effectiveResult);\n return suppressedOutput\n ? \"\"\n : formatEffectiveOutput(effectiveResult, nativeOutput, options);\n}\n\n/** Implements print result for the public runtime surface of this module. */\nexport function printResult(result: unknown, options: OutputOptions): void {\n const projected = options.idOnly\n ? projectMutationResult(result, { idOnly: true })\n : options.fullChangedFields\n ? result\n : options.noChangedFields\n ? projectMutationResult(result, { changedFields: \"compact\" })\n : projectMutationResult(result, { compactEnvelope: true });\n const rendered = formatOutput(projected, options);\n if (options.quiet) {\n return;\n }\n writeStdout(rendered);\n}\n\n/** Implements print error for the public runtime surface of this module. */\nexport function printError(message: string): void {\n const override = runActiveServiceOverrideSync(\"error_format\", {\n message,\n });\n const rendered =\n override.handled && typeof override.result === \"string\"\n ? override.result\n : message;\n writeStderr(rendered.endsWith(\"\\n\") ? rendered : `${rendered}\\n`);\n}\n\n/** Public contract for output test only, shared by SDK and presentation-layer consumers. */\nexport const outputTestOnly = {\n compactToonValue,\n renderToonValue,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["isPlainObject"]
|
|
7
|
+
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
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]="1cfaab52-ff3e-5abe-a29a-20f07739bea2")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FSE2IKJQ.js";
|
|
6
6
|
import {
|
|
7
7
|
ensureTypeFolderScaffold
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ICDAQ4TD.js";
|
|
9
9
|
import {
|
|
10
10
|
lintProjectProfile,
|
|
11
11
|
resolveProfileCatalog,
|
|
@@ -840,6 +840,6 @@ export {
|
|
|
840
840
|
formatProfileLintHuman,
|
|
841
841
|
formatProfileApplyHuman
|
|
842
842
|
};
|
|
843
|
-
//# sourceMappingURL=chunk-
|
|
843
|
+
//# sourceMappingURL=chunk-MATHDCGG.js.map
|
|
844
844
|
|
|
845
845
|
//# debugId=1cfaab52-ff3e-5abe-a29a-20f07739bea2
|
|
@@ -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]="6ddf4107-908d-5eae-b775-abc852c08596")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
assertParentReferenceIsNotSelf,
|
|
5
5
|
isPlaceholderReferenceToken,
|
|
@@ -8,17 +8,18 @@ import {
|
|
|
8
8
|
validateSprintOrReleaseValue
|
|
9
9
|
} from "./chunk-PEQGTJ5Q.js";
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
} from "./chunk-
|
|
11
|
+
collectOrderingCycles
|
|
12
|
+
} from "./chunk-H7EAER5L.js";
|
|
13
13
|
import {
|
|
14
14
|
printError
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VJQG4BIM.js";
|
|
16
16
|
import {
|
|
17
17
|
getFocusedItem
|
|
18
18
|
} from "./chunk-ZOY5K4D3.js";
|
|
19
19
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
normalizeDependencyGraphTarget,
|
|
21
|
+
resolveWorkspaceRelationshipKindRegistry
|
|
22
|
+
} from "./chunk-K36WV5J6.js";
|
|
22
23
|
import {
|
|
23
24
|
splitCommaList
|
|
24
25
|
} from "./chunk-NETP4DY4.js";
|
|
@@ -34,7 +35,7 @@ import {
|
|
|
34
35
|
parseOptionalNonNegativeInteger,
|
|
35
36
|
parseOptionalNumber,
|
|
36
37
|
parseTags
|
|
37
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-AELMUANP.js";
|
|
38
39
|
import {
|
|
39
40
|
acquireLock,
|
|
40
41
|
appendHistoryEntry,
|
|
@@ -154,26 +155,96 @@ function resolveTypeSynonym(rawType) {
|
|
|
154
155
|
|
|
155
156
|
// dist/sdk/graph/mutation-advisory.js
|
|
156
157
|
function cycleKey(component) {
|
|
157
|
-
return [...component].sort(
|
|
158
|
+
return [...component].sort().join("\0");
|
|
159
|
+
}
|
|
160
|
+
function addOrderingEdge(digraph, predecessor, successor) {
|
|
161
|
+
const forward = digraph.successors.get(predecessor);
|
|
162
|
+
if (forward)
|
|
163
|
+
forward.push(successor);
|
|
164
|
+
else
|
|
165
|
+
digraph.successors.set(predecessor, [successor]);
|
|
166
|
+
const backward = digraph.predecessors.get(successor);
|
|
167
|
+
if (backward)
|
|
168
|
+
backward.push(predecessor);
|
|
169
|
+
else
|
|
170
|
+
digraph.predecessors.set(successor, [predecessor]);
|
|
171
|
+
}
|
|
172
|
+
function orientOrderingEdge(digraph, registry, source, target, kind) {
|
|
173
|
+
const definition = registry.resolve(kind);
|
|
174
|
+
if (definition?.ordering !== true)
|
|
175
|
+
return;
|
|
176
|
+
const normalized = normalizeDependencyGraphTarget(target);
|
|
177
|
+
const canonicalTarget = normalized === void 0 ? void 0 : digraph.canonicalIds.get(normalized.toLowerCase());
|
|
178
|
+
if (canonicalTarget === void 0)
|
|
179
|
+
return;
|
|
180
|
+
const sourceFirst = (definition.precedence ?? "source_before_target") === "source_before_target";
|
|
181
|
+
addOrderingEdge(digraph, sourceFirst ? source : canonicalTarget, sourceFirst ? canonicalTarget : source);
|
|
182
|
+
}
|
|
183
|
+
function buildOrderingDigraph(items, registry) {
|
|
184
|
+
const digraph = {
|
|
185
|
+
successors: /* @__PURE__ */ new Map(),
|
|
186
|
+
predecessors: /* @__PURE__ */ new Map(),
|
|
187
|
+
canonicalIds: /* @__PURE__ */ new Map()
|
|
188
|
+
};
|
|
189
|
+
const safeItems = items.filter((item) => typeof item?.id === "string" && item.id.trim().length > 0);
|
|
190
|
+
for (const item of safeItems) {
|
|
191
|
+
const id = item.id.trim();
|
|
192
|
+
digraph.canonicalIds.set(id.toLowerCase(), id);
|
|
193
|
+
}
|
|
194
|
+
for (const item of safeItems) {
|
|
195
|
+
const id = item.id.trim();
|
|
196
|
+
orientOrderingEdge(digraph, registry, id, item.blocked_by, "blocked_by");
|
|
197
|
+
for (const dependency of item.dependencies ?? []) {
|
|
198
|
+
if (typeof dependency !== "object" || dependency === null)
|
|
199
|
+
continue;
|
|
200
|
+
orientOrderingEdge(digraph, registry, id, dependency.id, typeof dependency.kind === "string" ? dependency.kind : "related");
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
for (const adjacency of [digraph.successors, digraph.predecessors])
|
|
204
|
+
for (const neighbors of adjacency.values())
|
|
205
|
+
neighbors.sort();
|
|
206
|
+
return digraph;
|
|
158
207
|
}
|
|
159
|
-
function
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
208
|
+
function collectWeakComponent(digraph, start) {
|
|
209
|
+
const members = /* @__PURE__ */ new Set([start]);
|
|
210
|
+
const queue = [start];
|
|
211
|
+
while (queue.length > 0) {
|
|
212
|
+
const node = queue.pop();
|
|
213
|
+
for (const adjacency of [digraph.successors, digraph.predecessors]) {
|
|
214
|
+
for (const neighbor of adjacency.get(node) ?? []) {
|
|
215
|
+
if (members.has(neighbor))
|
|
216
|
+
continue;
|
|
217
|
+
members.add(neighbor);
|
|
218
|
+
queue.push(neighbor);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
167
221
|
}
|
|
168
|
-
|
|
169
|
-
|
|
222
|
+
return members;
|
|
223
|
+
}
|
|
224
|
+
function induceSuccessors(digraph, members) {
|
|
225
|
+
const induced = /* @__PURE__ */ new Map();
|
|
226
|
+
for (const member of members) {
|
|
227
|
+
const neighbors = (digraph.successors.get(member) ?? []).filter((node) => members.has(node));
|
|
228
|
+
if (neighbors.length > 0)
|
|
229
|
+
induced.set(member, neighbors);
|
|
170
230
|
}
|
|
171
|
-
return
|
|
231
|
+
return induced;
|
|
232
|
+
}
|
|
233
|
+
function collectScopedCycles(items, registry, changedItemId) {
|
|
234
|
+
const digraph = buildOrderingDigraph(items, registry);
|
|
235
|
+
const canonical = digraph.canonicalIds.get(changedItemId.trim().toLowerCase());
|
|
236
|
+
if (canonical === void 0)
|
|
237
|
+
return { cycles: [], successors: /* @__PURE__ */ new Map(), canonical: changedItemId };
|
|
238
|
+
const successors = induceSuccessors(digraph, collectWeakComponent(digraph, canonical));
|
|
239
|
+
return {
|
|
240
|
+
cycles: collectOrderingCycles(successors).filter((component) => component.includes(canonical)),
|
|
241
|
+
successors,
|
|
242
|
+
canonical
|
|
243
|
+
};
|
|
172
244
|
}
|
|
173
|
-
function findCyclePath(
|
|
245
|
+
function findCyclePath(adjacency, component, changedItemId) {
|
|
174
246
|
const members = new Set(component);
|
|
175
247
|
const start = members.has(changedItemId) ? changedItemId : component[0];
|
|
176
|
-
const adjacency = buildOrderingAdjacency(graph);
|
|
177
248
|
if (adjacency.get(start)?.includes(start))
|
|
178
249
|
return [start, start];
|
|
179
250
|
for (const first of adjacency.get(start) ?? []) {
|
|
@@ -203,14 +274,11 @@ function findPathBackToStart(adjacency, members, start, first) {
|
|
|
203
274
|
return void 0;
|
|
204
275
|
}
|
|
205
276
|
function collectNewOrderingCycleWarnings(beforeItems, afterItems, changedItemId) {
|
|
206
|
-
const
|
|
207
|
-
const
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
return analyzeRelationshipExecution(afterGraph, {
|
|
212
|
-
registry: afterGraph.registry()
|
|
213
|
-
}).cycles.filter((component) => component.includes(changedItemId) && !beforeCycles.has(cycleKey(component))).map((component) => `ordering_cycle_created:${findCyclePath(afterGraph, component, changedItemId).join(" -> ")}:items_will_not_be_ready:run_pm_graph_audit`);
|
|
277
|
+
const registry = resolveWorkspaceRelationshipKindRegistry();
|
|
278
|
+
const before = collectScopedCycles(beforeItems, registry, changedItemId);
|
|
279
|
+
const after = collectScopedCycles(afterItems, registry, changedItemId);
|
|
280
|
+
const beforeCycles = new Set(before.cycles.map(cycleKey));
|
|
281
|
+
return after.cycles.filter((component) => !beforeCycles.has(cycleKey(component))).map((component) => `ordering_cycle_created:${findCyclePath(after.successors, component, after.canonical).join(" -> ")}:items_will_not_be_ready:run_pm_graph_audit`);
|
|
214
282
|
}
|
|
215
283
|
|
|
216
284
|
// dist/cli/commands/metadata-normalizers.js
|
|
@@ -3042,6 +3110,6 @@ export {
|
|
|
3042
3110
|
runCreate,
|
|
3043
3111
|
_testOnlyCreateCommand
|
|
3044
3112
|
};
|
|
3045
|
-
//# sourceMappingURL=chunk-
|
|
3113
|
+
//# sourceMappingURL=chunk-MWQ2HC2A.js.map
|
|
3046
3114
|
|
|
3047
|
-
//# debugId=
|
|
3115
|
+
//# debugId=6ddf4107-908d-5eae-b775-abc852c08596
|