@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.
Files changed (421) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +11 -0
  3. package/dist/cli/commander-usage.d.ts +1 -1
  4. package/dist/cli/commander-usage.js +5 -5
  5. package/dist/cli/commander-usage.js.map +1 -1
  6. package/dist/cli/commands/completion.js +13 -5
  7. package/dist/cli/commands/completion.js.map +1 -1
  8. package/dist/cli/commands/contracts.js +4 -3
  9. package/dist/cli/commands/contracts.js.map +1 -1
  10. package/dist/cli/error-guidance.d.ts +2 -0
  11. package/dist/cli/error-guidance.js +7 -2
  12. package/dist/cli/error-guidance.js.map +1 -1
  13. package/dist/cli/main.d.ts +1 -5
  14. package/dist/cli/main.js +12 -50
  15. package/dist/cli/main.js.map +1 -1
  16. package/dist/cli/register-list-query.js +13 -3
  17. package/dist/cli/register-list-query.js.map +1 -1
  18. package/dist/cli/register-mutation.js +45 -3
  19. package/dist/cli/register-mutation.js.map +1 -1
  20. package/dist/cli/register-structured-mutation.d.ts +14 -0
  21. package/dist/cli/register-structured-mutation.js +62 -0
  22. package/dist/cli/register-structured-mutation.js.map +1 -0
  23. package/dist/cli/registration-helpers.js +5 -3
  24. package/dist/cli/registration-helpers.js.map +1 -1
  25. package/dist/cli-bundle/bundle-manifest.json +280 -296
  26. package/dist/cli-bundle/chunks/{append-E6V54WOQ.js → append-7OVFYR3C.js} +3 -3
  27. package/dist/cli-bundle/chunks/{append-NNJ3EFIT.js → append-DFETHAZL.js} +3 -3
  28. package/dist/cli-bundle/chunks/{chunk-C3KD7U3T.js → chunk-2L6ZP22J.js} +241 -10
  29. package/dist/cli-bundle/chunks/chunk-2L6ZP22J.js.map +7 -0
  30. package/dist/cli-bundle/chunks/{chunk-KZEANWJS.js → chunk-4PUUNQDV.js} +98 -30
  31. package/dist/cli-bundle/chunks/chunk-4PUUNQDV.js.map +7 -0
  32. package/dist/cli-bundle/chunks/{chunk-RDV4ZFYS.js → chunk-4QOB7L7I.js} +7 -9
  33. package/dist/cli-bundle/chunks/{chunk-RDV4ZFYS.js.map → chunk-4QOB7L7I.js.map} +1 -1
  34. package/dist/cli-bundle/chunks/{chunk-3LPFHE3P.js → chunk-4QSQ6XDK.js} +62 -20
  35. package/dist/cli-bundle/chunks/chunk-4QSQ6XDK.js.map +1 -0
  36. package/dist/cli-bundle/chunks/{chunk-QJKL5PHS.js → chunk-7656MAUL.js} +2 -2
  37. package/dist/cli-bundle/chunks/{chunk-3AO5VSDR.js → chunk-7RW4JCU2.js} +328 -6
  38. package/dist/cli-bundle/chunks/chunk-7RW4JCU2.js.map +7 -0
  39. package/dist/cli-bundle/chunks/{chunk-X6K5XTTN.js → chunk-7W2UAXXT.js} +5 -5
  40. package/dist/cli-bundle/chunks/{chunk-SSKOQNMS.js → chunk-ABWCF646.js} +9 -11
  41. package/dist/cli-bundle/chunks/{chunk-SSKOQNMS.js.map → chunk-ABWCF646.js.map} +1 -1
  42. package/dist/cli-bundle/chunks/{chunk-WVA4DVNV.js → chunk-ADBTSVGK.js} +71 -33
  43. package/dist/cli-bundle/chunks/chunk-ADBTSVGK.js.map +7 -0
  44. package/dist/cli-bundle/chunks/{chunk-J4FBIFU6.js → chunk-AELMUANP.js} +12 -6
  45. package/dist/cli-bundle/chunks/chunk-AELMUANP.js.map +1 -0
  46. package/dist/cli-bundle/chunks/{chunk-4F6BWJ4J.js → chunk-AMJPSANK.js} +57 -36
  47. package/dist/cli-bundle/chunks/chunk-AMJPSANK.js.map +7 -0
  48. package/dist/cli-bundle/chunks/{chunk-6VIJ7UA5.js → chunk-AS4SAZ5R.js} +850 -819
  49. package/dist/cli-bundle/chunks/chunk-AS4SAZ5R.js.map +7 -0
  50. package/dist/cli-bundle/chunks/{chunk-SG74J6MV.js → chunk-ATBCUC7Y.js} +574 -5
  51. package/dist/cli-bundle/chunks/chunk-ATBCUC7Y.js.map +1 -0
  52. package/dist/cli-bundle/chunks/{chunk-5OK4UGFV.js → chunk-BXNDKOR2.js} +3 -3
  53. package/dist/cli-bundle/chunks/{chunk-KSPWRNVP.js → chunk-CPX275C6.js} +2 -2
  54. package/dist/cli-bundle/chunks/{chunk-JH2ZSLO3.js → chunk-DZRV2OPA.js} +2 -2
  55. package/dist/cli-bundle/chunks/{chunk-L7BH7IWU.js → chunk-E5XMKOSB.js} +2 -2
  56. package/dist/cli-bundle/chunks/{chunk-CQTQKUUV.js → chunk-EWJWSNRU.js} +3 -3
  57. package/dist/cli-bundle/chunks/{chunk-DAQ45GCS.js → chunk-F2LBF7XJ.js} +22 -15
  58. package/dist/cli-bundle/chunks/chunk-F2LBF7XJ.js.map +7 -0
  59. package/dist/cli-bundle/chunks/{chunk-6XMUURSS.js → chunk-FJIFFBJX.js} +64 -33
  60. package/dist/cli-bundle/chunks/chunk-FJIFFBJX.js.map +1 -0
  61. package/dist/cli-bundle/chunks/{chunk-E7ICD63T.js → chunk-FO6OSVEN.js} +4 -6
  62. package/dist/cli-bundle/chunks/{chunk-E7ICD63T.js.map → chunk-FO6OSVEN.js.map} +1 -1
  63. package/dist/cli-bundle/chunks/{chunk-3MCTMJXI.js → chunk-FPBMLYPI.js} +2 -2
  64. package/dist/cli-bundle/chunks/{chunk-UZDQXNUB.js → chunk-FSE2IKJQ.js} +46 -5
  65. package/dist/cli-bundle/chunks/chunk-FSE2IKJQ.js.map +1 -0
  66. package/dist/cli-bundle/chunks/{chunk-IX677TRO.js → chunk-GKX4NJ7U.js} +8 -10
  67. package/dist/cli-bundle/chunks/{chunk-IX677TRO.js.map → chunk-GKX4NJ7U.js.map} +1 -1
  68. package/dist/cli-bundle/chunks/{chunk-DVDBQA3B.js → chunk-GTK4DTEW.js} +5 -5
  69. package/dist/cli-bundle/chunks/chunk-H7EAER5L.js +974 -0
  70. package/dist/cli-bundle/chunks/chunk-H7EAER5L.js.map +1 -0
  71. package/dist/cli-bundle/chunks/{chunk-5UX66S6U.js → chunk-ICDAQ4TD.js} +316 -8
  72. package/dist/cli-bundle/chunks/chunk-ICDAQ4TD.js.map +1 -0
  73. package/dist/cli-bundle/chunks/{chunk-YQQNAKW3.js → chunk-JFD5LPMI.js} +6 -8
  74. package/dist/cli-bundle/chunks/{chunk-YQQNAKW3.js.map → chunk-JFD5LPMI.js.map} +1 -1
  75. package/dist/cli-bundle/chunks/{chunk-QANSTTC7.js → chunk-JXCW2TI2.js} +6 -8
  76. package/dist/cli-bundle/chunks/{chunk-QANSTTC7.js.map → chunk-JXCW2TI2.js.map} +1 -1
  77. package/dist/cli-bundle/chunks/{chunk-GSJSM5BJ.js → chunk-K36WV5J6.js} +76 -13
  78. package/dist/cli-bundle/chunks/chunk-K36WV5J6.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-GVI6FAFG.js → chunk-K55VMLSS.js} +7 -5
  80. package/dist/cli-bundle/chunks/chunk-K55VMLSS.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-GIQSU6S2.js → chunk-KBLZ3AA5.js} +2 -2
  82. package/dist/cli-bundle/chunks/{chunk-XJF7CDNH.js → chunk-KH44WBAT.js} +2 -2
  83. package/dist/cli-bundle/chunks/{chunk-GV2262OF.js → chunk-LAV26CQG.js} +2 -2
  84. package/dist/cli-bundle/chunks/{chunk-VDO2JMD4.js → chunk-LVC72YRD.js} +2 -2
  85. package/dist/cli-bundle/chunks/{chunk-3VY6MIEO.js → chunk-LZYP423P.js} +35 -6
  86. package/dist/cli-bundle/chunks/chunk-LZYP423P.js.map +7 -0
  87. package/dist/cli-bundle/chunks/{chunk-ZYPFOO3L.js → chunk-MATHDCGG.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-OV7MSW3I.js → chunk-MWQ2HC2A.js} +99 -31
  89. package/dist/cli-bundle/chunks/chunk-MWQ2HC2A.js.map +1 -0
  90. package/dist/cli-bundle/chunks/{chunk-NHT3F4WZ.js → chunk-NUF7ROFH.js} +840 -816
  91. package/dist/cli-bundle/chunks/chunk-NUF7ROFH.js.map +1 -0
  92. package/dist/cli-bundle/chunks/{chunk-AOEOYL3S.js → chunk-O4BCOJTZ.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-RJO3YAFM.js → chunk-OCUBRA6D.js} +2 -2
  94. package/dist/cli-bundle/chunks/{chunk-5IZJWSDB.js → chunk-OG5DVFMA.js} +22 -15
  95. package/dist/cli-bundle/chunks/chunk-OG5DVFMA.js.map +1 -0
  96. package/dist/cli-bundle/chunks/{chunk-I577UHC7.js → chunk-OR42SO64.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-ZOJ3LR7O.js → chunk-OY7DMU5P.js} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-HEWM6CEN.js → chunk-P7MTHPJQ.js} +50 -9
  99. package/dist/cli-bundle/chunks/chunk-P7MTHPJQ.js.map +7 -0
  100. package/dist/cli-bundle/chunks/{chunk-2BO4CA46.js → chunk-PFNHX655.js} +236 -12
  101. package/dist/cli-bundle/chunks/{chunk-2BO4CA46.js.map → chunk-PFNHX655.js.map} +1 -1
  102. package/dist/cli-bundle/chunks/{chunk-ZV2NTVMJ.js → chunk-PONKZPCJ.js} +2 -2
  103. package/dist/cli-bundle/chunks/{chunk-THAOZG4U.js → chunk-PQSEQD6E.js} +8 -6
  104. package/dist/cli-bundle/chunks/chunk-PQSEQD6E.js.map +1 -0
  105. package/dist/cli-bundle/chunks/chunk-PWDEHT3L.js +991 -0
  106. package/dist/cli-bundle/chunks/chunk-PWDEHT3L.js.map +7 -0
  107. package/dist/cli-bundle/chunks/{chunk-UX6SSO2I.js → chunk-PZC2FUOQ.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-WUVEBQW6.js → chunk-QG4GFLQ6.js} +3 -5
  109. package/dist/cli-bundle/chunks/{chunk-WUVEBQW6.js.map → chunk-QG4GFLQ6.js.map} +1 -1
  110. package/dist/cli-bundle/chunks/{chunk-VQIHNHMJ.js → chunk-QIH77CAG.js} +2 -2
  111. package/dist/cli-bundle/chunks/{chunk-R3EWPG4A.js → chunk-QJIKE24M.js} +2 -2
  112. package/dist/cli-bundle/chunks/{chunk-QLZ643FM.js → chunk-QOOTOD3W.js} +10 -12
  113. package/dist/cli-bundle/chunks/{chunk-QLZ643FM.js.map → chunk-QOOTOD3W.js.map} +1 -1
  114. package/dist/cli-bundle/chunks/{chunk-MYSS5H2A.js → chunk-R3P6FZJW.js} +5 -7
  115. package/dist/cli-bundle/chunks/{chunk-MYSS5H2A.js.map → chunk-R3P6FZJW.js.map} +1 -1
  116. package/dist/cli-bundle/chunks/{chunk-G3COA6GS.js → chunk-RNPZYNHS.js} +56 -35
  117. package/dist/cli-bundle/chunks/chunk-RNPZYNHS.js.map +1 -0
  118. package/dist/cli-bundle/chunks/{chunk-T44FMVRL.js → chunk-RPESLSO5.js} +62 -20
  119. package/dist/cli-bundle/chunks/chunk-RPESLSO5.js.map +7 -0
  120. package/dist/cli-bundle/chunks/{chunk-INSTSQNZ.js → chunk-SY4SFZSD.js} +595 -3
  121. package/dist/cli-bundle/chunks/chunk-SY4SFZSD.js.map +7 -0
  122. package/dist/cli-bundle/chunks/{chunk-HB3P4M52.js → chunk-TRSHFPRZ.js} +2 -2
  123. package/dist/cli-bundle/chunks/{chunk-HRW7GF6T.js → chunk-UCBDQI5E.js} +2 -2
  124. package/dist/cli-bundle/chunks/{chunk-4U4Z6AHI.js → chunk-V22ZPOKN.js} +2 -2
  125. package/dist/cli-bundle/chunks/{chunk-JM6YAXTR.js → chunk-VHXHVTUU.js} +2 -2
  126. package/dist/cli-bundle/chunks/{chunk-LPEYZRUR.js → chunk-VJQG4BIM.js} +35 -6
  127. package/dist/cli-bundle/chunks/chunk-VJQG4BIM.js.map +1 -0
  128. package/dist/cli-bundle/chunks/{chunk-D6NXDNP3.js → chunk-VLRGDBLY.js} +2 -2
  129. package/dist/cli-bundle/chunks/{chunk-JAPE62Y5.js → chunk-VNTCM3VW.js} +3 -3
  130. package/dist/cli-bundle/chunks/{chunk-FDHPAVVB.js → chunk-VXOOB6YX.js} +2 -2
  131. package/dist/cli-bundle/chunks/{chunk-GFQP7HAZ.js → chunk-VZIZB6QH.js} +3 -5
  132. package/dist/cli-bundle/chunks/{chunk-GFQP7HAZ.js.map → chunk-VZIZB6QH.js.map} +1 -1
  133. package/dist/cli-bundle/chunks/{chunk-HQ3SB4CN.js → chunk-X3W65QK3.js} +2 -2
  134. package/dist/cli-bundle/chunks/{chunk-RZJLNXFG.js → chunk-XJTABV3X.js} +3 -3
  135. package/dist/cli-bundle/chunks/{chunk-GVT754PX.js → chunk-YCIUJJOD.js} +11 -5
  136. package/dist/cli-bundle/chunks/chunk-YCIUJJOD.js.map +7 -0
  137. package/dist/cli-bundle/chunks/{chunk-IJNK6WW2.js → chunk-Z75ONV25.js} +75 -12
  138. package/dist/cli-bundle/chunks/chunk-Z75ONV25.js.map +7 -0
  139. package/dist/cli-bundle/chunks/{chunk-4L23AGQ7.js → chunk-Z7VWXXJM.js} +5 -7
  140. package/dist/cli-bundle/chunks/{chunk-4L23AGQ7.js.map → chunk-Z7VWXXJM.js.map} +1 -1
  141. package/dist/cli-bundle/chunks/{chunk-YBT7O4KT.js → chunk-ZTVA4KLN.js} +4 -6
  142. package/dist/cli-bundle/chunks/{chunk-YBT7O4KT.js.map → chunk-ZTVA4KLN.js.map} +1 -1
  143. package/dist/cli-bundle/chunks/{chunk-TYHJDFYW.js → chunk-ZVZGXPQ5.js} +2 -2
  144. package/dist/cli-bundle/chunks/{close-many-SDA426VT.js → close-many-5RZXVN4J.js} +5 -6
  145. package/dist/cli-bundle/chunks/{close-many-UTZANOCQ.js → close-many-RZVTUGBG.js} +5 -6
  146. package/dist/cli-bundle/chunks/{comments-LZN6FXXC.js → comments-TPU7QRBL.js} +4 -4
  147. package/dist/cli-bundle/chunks/{comments-VBQ345ND.js → comments-Z4KV6FU3.js} +4 -4
  148. package/dist/cli-bundle/chunks/{create-GG4RBCGC.js → create-EIFBIVNQ.js} +6 -6
  149. package/dist/cli-bundle/chunks/{create-JBC5KUW6.js → create-RGSPN5GD.js} +6 -6
  150. package/dist/cli-bundle/chunks/{deps-FI4O6NQS.js → deps-UH5EQQUY.js} +3 -3
  151. package/dist/cli-bundle/chunks/{deps-DELOO4TL.js → deps-YG7UF3VR.js} +3 -3
  152. package/dist/cli-bundle/chunks/{docs-6Z2MP526.js → docs-G32TK6XS.js} +4 -4
  153. package/dist/cli-bundle/chunks/{docs-2UYBP5D6.js → docs-JWWNRC27.js} +4 -4
  154. package/dist/cli-bundle/chunks/{files-HKEAN5MA.js → files-3H32UQ4K.js} +4 -4
  155. package/dist/cli-bundle/chunks/{files-HEUGSJZL.js → files-4ALMCSKB.js} +4 -4
  156. package/dist/cli-bundle/chunks/{history-compact-7NDVP3PT.js → history-compact-77BT2LUB.js} +3 -4
  157. package/dist/cli-bundle/chunks/{history-compact-65YVN5DB.js → history-compact-VCKGTX64.js} +3 -4
  158. package/dist/cli-bundle/chunks/{history-redact-7YBL4XSG.js → history-redact-LJPZPNFA.js} +2 -3
  159. package/dist/cli-bundle/chunks/{history-redact-IZGNJBU4.js → history-redact-PWTTJ3XS.js} +2 -3
  160. package/dist/cli-bundle/chunks/{history-repair-7M4PYQUH.js → history-repair-I7CBNCV3.js} +5 -6
  161. package/dist/cli-bundle/chunks/{history-repair-GNGETJLI.js → history-repair-YTDZRK5E.js} +5 -6
  162. package/dist/cli-bundle/chunks/{learnings-3YXDRWFT.js → learnings-CYNOICKR.js} +4 -4
  163. package/dist/cli-bundle/chunks/{learnings-ALC6IMNL.js → learnings-KTYW3AL7.js} +4 -4
  164. package/dist/cli-bundle/chunks/{notes-7JMLQ447.js → notes-FGO63FXL.js} +4 -4
  165. package/dist/cli-bundle/chunks/{notes-JFCLTC5C.js → notes-ZERD3KB2.js} +4 -4
  166. package/dist/cli-bundle/chunks/{plan-T3XB3WTK.js → plan-OFJUBIM5.js} +7 -7
  167. package/dist/cli-bundle/chunks/{plan-KOIPWVOZ.js → plan-SGCDDTYR.js} +7 -7
  168. package/dist/cli-bundle/chunks/{profile-OILJHKUW.js → profile-3THJPIQY.js} +4 -5
  169. package/dist/cli-bundle/chunks/{profile-RJXA7PGS.js → profile-XEZAMMBW.js} +4 -5
  170. package/dist/cli-bundle/chunks/{register-list-query-CFVG75P3.js → register-list-query-BR435Q2H.js} +19 -16
  171. package/dist/cli-bundle/chunks/register-list-query-BR435Q2H.js.map +1 -0
  172. package/dist/cli-bundle/chunks/{register-list-query-E7UVY4TN.js → register-list-query-RWTWLOBE.js} +18 -15
  173. package/dist/cli-bundle/chunks/register-list-query-RWTWLOBE.js.map +7 -0
  174. package/dist/cli-bundle/chunks/{register-mutation-IQ55E25C.js → register-mutation-HLWC2WNP.js} +167 -31
  175. package/dist/cli-bundle/chunks/register-mutation-HLWC2WNP.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{register-mutation-4VJTXBZW.js → register-mutation-ZJX5AZM5.js} +173 -30
  177. package/dist/cli-bundle/chunks/register-mutation-ZJX5AZM5.js.map +7 -0
  178. package/dist/cli-bundle/chunks/{register-operations-AR7RMX4W.js → register-operations-744YBJMV.js} +23 -25
  179. package/dist/cli-bundle/chunks/{register-operations-AR7RMX4W.js.map → register-operations-744YBJMV.js.map} +1 -1
  180. package/dist/cli-bundle/chunks/{register-operations-NOLZGORC.js → register-operations-UEBJH6AN.js} +21 -23
  181. package/dist/cli-bundle/chunks/{register-operations-NOLZGORC.js.map → register-operations-UEBJH6AN.js.map} +1 -1
  182. package/dist/cli-bundle/chunks/{register-setup-EYZ7VTPZ.js → register-setup-5DA4UZXI.js} +7 -8
  183. package/dist/cli-bundle/chunks/{register-setup-EYZ7VTPZ.js.map → register-setup-5DA4UZXI.js.map} +1 -1
  184. package/dist/cli-bundle/chunks/{register-setup-BB77VUEE.js → register-setup-6H25M3BH.js} +9 -10
  185. package/dist/cli-bundle/chunks/{register-setup-BB77VUEE.js.map → register-setup-6H25M3BH.js.map} +1 -1
  186. package/dist/cli-bundle/chunks/{restore-ZH65GZFB.js → restore-6TDVSATY.js} +4 -5
  187. package/dist/cli-bundle/chunks/{restore-L6IAGOD7.js → restore-RSL7C7LO.js} +4 -5
  188. package/dist/cli-bundle/chunks/{schema-4ERWM5QJ.js → schema-HFXFSGPG.js} +2 -3
  189. package/dist/cli-bundle/chunks/{schema-55DL3Q52.js → schema-TPVTIJPO.js} +2 -3
  190. package/dist/cli-bundle/chunks/{update-FW6FKDOP.js → update-LJZCL5SI.js} +7 -7
  191. package/dist/cli-bundle/chunks/{update-TJHSPRPT.js → update-SIA7LH5Y.js} +7 -7
  192. package/dist/cli-bundle/chunks/{update-many-PWXX5WHO.js → update-many-BDBZVGQL.js} +11 -12
  193. package/dist/cli-bundle/chunks/{update-many-NNALYQCN.js → update-many-MOY3A5B3.js} +11 -12
  194. package/dist/cli-bundle/main.js +60 -85
  195. package/dist/cli-bundle/main.js.map +2 -2
  196. package/dist/cli-bundle/sdk-runtime.js +37 -37
  197. package/dist/cli-bundle/sdk.js +126 -291
  198. package/dist/cli-bundle/sdk.js.map +4 -4
  199. package/dist/core/item/parse.d.ts +1 -1
  200. package/dist/core/item/parse.js +13 -7
  201. package/dist/core/item/parse.js.map +1 -1
  202. package/dist/core/output/mutation-projection.d.ts +2 -0
  203. package/dist/core/output/mutation-projection.js +33 -2
  204. package/dist/core/output/mutation-projection.js.map +1 -1
  205. package/dist/core/output/output.d.ts +4 -0
  206. package/dist/core/output/output.js +18 -13
  207. package/dist/core/output/output.js.map +1 -1
  208. package/dist/core/shared/command-types.d.ts +4 -0
  209. package/dist/core/shared/command-types.js +2 -2
  210. package/dist/core/shared/command-types.js.map +1 -1
  211. package/dist/mcp/server.js +39 -4
  212. package/dist/mcp/server.js.map +1 -1
  213. package/dist/mcp/tool-definitions.js +45 -4
  214. package/dist/mcp/tool-definitions.js.map +1 -1
  215. package/dist/sdk/cli-bootstrap.d.ts +2 -0
  216. package/dist/sdk/cli-bootstrap.js +20 -27
  217. package/dist/sdk/cli-bootstrap.js.map +1 -1
  218. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  219. package/dist/sdk/cli-contracts/enum-contracts.js +7 -2
  220. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  221. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  222. package/dist/sdk/cli-contracts/flag-contracts.js +21 -2
  223. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  224. package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -2
  225. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  226. package/dist/sdk/cli-contracts/tool-parameter-tables.js +16 -3
  227. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  228. package/dist/sdk/cli-contracts/tool-schema.js +6 -2
  229. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  230. package/dist/sdk/cli-contracts.d.ts +1 -1
  231. package/dist/sdk/cli-contracts.js +3 -3
  232. package/dist/sdk/cli-contracts.js.map +1 -1
  233. package/dist/sdk/cli-program.js +4 -2
  234. package/dist/sdk/cli-program.js.map +1 -1
  235. package/dist/sdk/dependencies.d.ts +3 -2
  236. package/dist/sdk/dependencies.js +13 -12
  237. package/dist/sdk/dependencies.js.map +1 -1
  238. package/dist/sdk/error-runtime.d.ts +10 -0
  239. package/dist/sdk/error-runtime.js +59 -0
  240. package/dist/sdk/error-runtime.js.map +1 -0
  241. package/dist/sdk/graph/analytics.d.ts +9 -0
  242. package/dist/sdk/graph/analytics.js +24 -13
  243. package/dist/sdk/graph/analytics.js.map +1 -1
  244. package/dist/sdk/graph/assembly.d.ts +39 -0
  245. package/dist/sdk/graph/assembly.js +92 -12
  246. package/dist/sdk/graph/assembly.js.map +1 -1
  247. package/dist/sdk/graph/cache.d.ts +4 -1
  248. package/dist/sdk/graph/cache.js +17 -4
  249. package/dist/sdk/graph/cache.js.map +1 -1
  250. package/dist/sdk/graph/centrality.d.ts +82 -0
  251. package/dist/sdk/graph/centrality.js +259 -0
  252. package/dist/sdk/graph/centrality.js.map +1 -0
  253. package/dist/sdk/graph/durable-cache.d.ts +71 -0
  254. package/dist/sdk/graph/durable-cache.js +205 -0
  255. package/dist/sdk/graph/durable-cache.js.map +1 -0
  256. package/dist/sdk/graph/governance.d.ts +69 -1
  257. package/dist/sdk/graph/governance.js +143 -35
  258. package/dist/sdk/graph/governance.js.map +1 -1
  259. package/dist/sdk/graph/index.d.ts +7 -4
  260. package/dist/sdk/graph/index.js +8 -5
  261. package/dist/sdk/graph/index.js.map +1 -1
  262. package/dist/sdk/graph/mutation-advisory.d.ts +35 -4
  263. package/dist/sdk/graph/mutation-advisory.js +124 -35
  264. package/dist/sdk/graph/mutation-advisory.js.map +1 -1
  265. package/dist/sdk/graph/remediation.js +12 -2
  266. package/dist/sdk/graph/remediation.js.map +1 -1
  267. package/dist/sdk/graph/run.d.ts +133 -2
  268. package/dist/sdk/graph/run.js +217 -8
  269. package/dist/sdk/graph/run.js.map +1 -1
  270. package/dist/sdk/graph/scheduling.d.ts +59 -0
  271. package/dist/sdk/graph/scheduling.js +125 -0
  272. package/dist/sdk/graph/scheduling.js.map +1 -0
  273. package/dist/sdk/graph/traversal.d.ts +11 -0
  274. package/dist/sdk/graph/traversal.js +16 -2
  275. package/dist/sdk/graph/traversal.js.map +1 -1
  276. package/dist/sdk/index.d.ts +4 -0
  277. package/dist/sdk/index.js +6 -2
  278. package/dist/sdk/index.js.map +1 -1
  279. package/dist/sdk/runtime-input.js +7 -2
  280. package/dist/sdk/runtime-input.js.map +1 -1
  281. package/dist/sdk/runtime-primitives.d.ts +10 -0
  282. package/dist/sdk/runtime-primitives.js +14 -0
  283. package/dist/sdk/runtime-primitives.js.map +1 -0
  284. package/dist/sdk/runtime.d.ts +15 -0
  285. package/dist/sdk/runtime.js +16 -3
  286. package/dist/sdk/runtime.js.map +1 -1
  287. package/dist/sdk/structured-mutations.d.ts +21 -0
  288. package/dist/sdk/structured-mutations.js +375 -0
  289. package/dist/sdk/structured-mutations.js.map +1 -0
  290. package/docs/COMMANDS.md +85 -5
  291. package/docs/RELATIONSHIP_GRAPH.md +48 -7
  292. package/docs/SDK.md +78 -3
  293. package/marketplace.json +2 -2
  294. package/package.json +1 -1
  295. package/packages/pm-beads/package.json +1 -1
  296. package/packages/pm-calendar/package.json +1 -1
  297. package/packages/pm-command-kit/package.json +1 -1
  298. package/packages/pm-governance-audit/package.json +1 -1
  299. package/packages/pm-guide-shell/package.json +1 -1
  300. package/packages/pm-kanban/package.json +1 -1
  301. package/packages/pm-lifecycle-hooks/package.json +1 -1
  302. package/packages/pm-linked-test-adapters/package.json +1 -1
  303. package/packages/pm-search-advanced/package.json +1 -1
  304. package/packages/pm-templates/package.json +1 -1
  305. package/packages/pm-todos/package.json +1 -1
  306. package/packages/pm-vcs/package.json +1 -1
  307. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  308. package/plugins/pm-claude/README.md +5 -3
  309. package/plugins/pm-claude/commands/pm-init.md +1 -1
  310. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  311. package/dist/cli-bundle/chunks/chunk-3AO5VSDR.js.map +0 -7
  312. package/dist/cli-bundle/chunks/chunk-3LPFHE3P.js.map +0 -1
  313. package/dist/cli-bundle/chunks/chunk-3VY6MIEO.js.map +0 -7
  314. package/dist/cli-bundle/chunks/chunk-4F6BWJ4J.js.map +0 -7
  315. package/dist/cli-bundle/chunks/chunk-5IZJWSDB.js.map +0 -1
  316. package/dist/cli-bundle/chunks/chunk-5UX66S6U.js.map +0 -1
  317. package/dist/cli-bundle/chunks/chunk-6C2ZZX5Z.js +0 -286
  318. package/dist/cli-bundle/chunks/chunk-6C2ZZX5Z.js.map +0 -1
  319. package/dist/cli-bundle/chunks/chunk-6VIJ7UA5.js.map +0 -7
  320. package/dist/cli-bundle/chunks/chunk-6XMUURSS.js.map +0 -1
  321. package/dist/cli-bundle/chunks/chunk-C3KD7U3T.js.map +0 -7
  322. package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js +0 -334
  323. package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js.map +0 -1
  324. package/dist/cli-bundle/chunks/chunk-DAQ45GCS.js.map +0 -7
  325. package/dist/cli-bundle/chunks/chunk-E6LEMURX.js +0 -249
  326. package/dist/cli-bundle/chunks/chunk-E6LEMURX.js.map +0 -7
  327. package/dist/cli-bundle/chunks/chunk-G3COA6GS.js.map +0 -1
  328. package/dist/cli-bundle/chunks/chunk-GSJSM5BJ.js.map +0 -1
  329. package/dist/cli-bundle/chunks/chunk-GVI6FAFG.js.map +0 -7
  330. package/dist/cli-bundle/chunks/chunk-GVT754PX.js.map +0 -7
  331. package/dist/cli-bundle/chunks/chunk-HEWM6CEN.js.map +0 -7
  332. package/dist/cli-bundle/chunks/chunk-IJNK6WW2.js.map +0 -7
  333. package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js.map +0 -7
  334. package/dist/cli-bundle/chunks/chunk-J4FBIFU6.js.map +0 -1
  335. package/dist/cli-bundle/chunks/chunk-KZEANWJS.js.map +0 -7
  336. package/dist/cli-bundle/chunks/chunk-LPEYZRUR.js.map +0 -1
  337. package/dist/cli-bundle/chunks/chunk-NHT3F4WZ.js.map +0 -1
  338. package/dist/cli-bundle/chunks/chunk-OV7MSW3I.js.map +0 -1
  339. package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js +0 -246
  340. package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js.map +0 -1
  341. package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js +0 -344
  342. package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js.map +0 -7
  343. package/dist/cli-bundle/chunks/chunk-SG74J6MV.js.map +0 -1
  344. package/dist/cli-bundle/chunks/chunk-T44FMVRL.js.map +0 -7
  345. package/dist/cli-bundle/chunks/chunk-THAOZG4U.js.map +0 -1
  346. package/dist/cli-bundle/chunks/chunk-UQLXSG72.js +0 -289
  347. package/dist/cli-bundle/chunks/chunk-UQLXSG72.js.map +0 -7
  348. package/dist/cli-bundle/chunks/chunk-UZDQXNUB.js.map +0 -1
  349. package/dist/cli-bundle/chunks/chunk-WVA4DVNV.js.map +0 -7
  350. package/dist/cli-bundle/chunks/register-list-query-CFVG75P3.js.map +0 -1
  351. package/dist/cli-bundle/chunks/register-list-query-E7UVY4TN.js.map +0 -7
  352. package/dist/cli-bundle/chunks/register-mutation-4VJTXBZW.js.map +0 -7
  353. package/dist/cli-bundle/chunks/register-mutation-IQ55E25C.js.map +0 -1
  354. /package/dist/cli-bundle/chunks/{append-E6V54WOQ.js.map → append-7OVFYR3C.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{append-NNJ3EFIT.js.map → append-DFETHAZL.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-QJKL5PHS.js.map → chunk-7656MAUL.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-X6K5XTTN.js.map → chunk-7W2UAXXT.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-5OK4UGFV.js.map → chunk-BXNDKOR2.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-KSPWRNVP.js.map → chunk-CPX275C6.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{chunk-JH2ZSLO3.js.map → chunk-DZRV2OPA.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{chunk-L7BH7IWU.js.map → chunk-E5XMKOSB.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{chunk-CQTQKUUV.js.map → chunk-EWJWSNRU.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{chunk-3MCTMJXI.js.map → chunk-FPBMLYPI.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{chunk-DVDBQA3B.js.map → chunk-GTK4DTEW.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{chunk-GIQSU6S2.js.map → chunk-KBLZ3AA5.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{chunk-XJF7CDNH.js.map → chunk-KH44WBAT.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{chunk-GV2262OF.js.map → chunk-LAV26CQG.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{chunk-VDO2JMD4.js.map → chunk-LVC72YRD.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{chunk-ZYPFOO3L.js.map → chunk-MATHDCGG.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{chunk-AOEOYL3S.js.map → chunk-O4BCOJTZ.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{chunk-RJO3YAFM.js.map → chunk-OCUBRA6D.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{chunk-I577UHC7.js.map → chunk-OR42SO64.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{chunk-ZOJ3LR7O.js.map → chunk-OY7DMU5P.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{chunk-ZV2NTVMJ.js.map → chunk-PONKZPCJ.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{chunk-UX6SSO2I.js.map → chunk-PZC2FUOQ.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{chunk-VQIHNHMJ.js.map → chunk-QIH77CAG.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{chunk-R3EWPG4A.js.map → chunk-QJIKE24M.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{chunk-HB3P4M52.js.map → chunk-TRSHFPRZ.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{chunk-HRW7GF6T.js.map → chunk-UCBDQI5E.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{chunk-4U4Z6AHI.js.map → chunk-V22ZPOKN.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{chunk-JM6YAXTR.js.map → chunk-VHXHVTUU.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{chunk-D6NXDNP3.js.map → chunk-VLRGDBLY.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{chunk-JAPE62Y5.js.map → chunk-VNTCM3VW.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{chunk-FDHPAVVB.js.map → chunk-VXOOB6YX.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{chunk-HQ3SB4CN.js.map → chunk-X3W65QK3.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{chunk-RZJLNXFG.js.map → chunk-XJTABV3X.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{chunk-TYHJDFYW.js.map → chunk-ZVZGXPQ5.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{close-many-SDA426VT.js.map → close-many-5RZXVN4J.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{close-many-UTZANOCQ.js.map → close-many-RZVTUGBG.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{comments-LZN6FXXC.js.map → comments-TPU7QRBL.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{comments-VBQ345ND.js.map → comments-Z4KV6FU3.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{create-GG4RBCGC.js.map → create-EIFBIVNQ.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{create-JBC5KUW6.js.map → create-RGSPN5GD.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{deps-FI4O6NQS.js.map → deps-UH5EQQUY.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{deps-DELOO4TL.js.map → deps-YG7UF3VR.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{docs-6Z2MP526.js.map → docs-G32TK6XS.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{docs-2UYBP5D6.js.map → docs-JWWNRC27.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{files-HKEAN5MA.js.map → files-3H32UQ4K.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{files-HEUGSJZL.js.map → files-4ALMCSKB.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{history-compact-7NDVP3PT.js.map → history-compact-77BT2LUB.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{history-compact-65YVN5DB.js.map → history-compact-VCKGTX64.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{history-redact-7YBL4XSG.js.map → history-redact-LJPZPNFA.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{history-redact-IZGNJBU4.js.map → history-redact-PWTTJ3XS.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{history-repair-7M4PYQUH.js.map → history-repair-I7CBNCV3.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{history-repair-GNGETJLI.js.map → history-repair-YTDZRK5E.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{learnings-3YXDRWFT.js.map → learnings-CYNOICKR.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{learnings-ALC6IMNL.js.map → learnings-KTYW3AL7.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{notes-7JMLQ447.js.map → notes-FGO63FXL.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{notes-JFCLTC5C.js.map → notes-ZERD3KB2.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{plan-T3XB3WTK.js.map → plan-OFJUBIM5.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{plan-KOIPWVOZ.js.map → plan-SGCDDTYR.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{profile-OILJHKUW.js.map → profile-3THJPIQY.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{profile-RJXA7PGS.js.map → profile-XEZAMMBW.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{restore-ZH65GZFB.js.map → restore-6TDVSATY.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{restore-L6IAGOD7.js.map → restore-RSL7C7LO.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{schema-4ERWM5QJ.js.map → schema-HFXFSGPG.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{schema-55DL3Q52.js.map → schema-TPVTIJPO.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{update-FW6FKDOP.js.map → update-LJZCL5SI.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{update-TJHSPRPT.js.map → update-SIA7LH5Y.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{update-many-PWXX5WHO.js.map → update-many-BDBZVGQL.js.map} +0 -0
  421. /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-OV7MSW3I.js";
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-GIQSU6S2.js.map
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-J4FBIFU6.js";
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-XJF7CDNH.js.map
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-J4FBIFU6.js";
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-GV2262OF.js.map
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-WUVEBQW6.js";
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-VDO2JMD4.js.map
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] = "147a4984-cc0a-573b-b213-a5fb83fcd192");
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] = "839f267a-108f-5093-9f93-4fdda2478f24");
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.json === true ? "json" : options.json === false ? "toon" : options.defaultOutputFormat === "json" ? "json" : "toon";
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
- return `${JSON.stringify(outputResult, null, 2)}
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-3VY6MIEO.js.map
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-UZDQXNUB.js";
5
+ } from "./chunk-FSE2IKJQ.js";
6
6
  import {
7
7
  ensureTypeFolderScaffold
8
- } from "./chunk-5UX66S6U.js";
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-ZYPFOO3L.js.map
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]="e4e6373e-8e50-52da-92a1-0bb63a83f808")}catch(e){}}();
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
- analyzeRelationshipExecution
12
- } from "./chunk-6C2ZZX5Z.js";
11
+ collectOrderingCycles
12
+ } from "./chunk-H7EAER5L.js";
13
13
  import {
14
14
  printError
15
- } from "./chunk-LPEYZRUR.js";
15
+ } from "./chunk-VJQG4BIM.js";
16
16
  import {
17
17
  getFocusedItem
18
18
  } from "./chunk-ZOY5K4D3.js";
19
19
  import {
20
- assembleWorkspaceRelationshipGraph
21
- } from "./chunk-GSJSM5BJ.js";
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-J4FBIFU6.js";
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((left, right) => left.localeCompare(right)).join("\0");
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 buildOrderingAdjacency(graph) {
160
- const adjacency = new Map(graph.nodes().map((node) => [node, []]));
161
- for (const edge of graph.edges()) {
162
- const definition = graph.registry().require(edge.kind);
163
- if (!definition.ordering)
164
- continue;
165
- const sourceFirst = (definition.precedence ?? "source_before_target") === "source_before_target";
166
- adjacency.get(sourceFirst ? edge.source : edge.target)?.push(sourceFirst ? edge.target : edge.source);
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
- for (const neighbors of adjacency.values()) {
169
- neighbors.sort((left, right) => left.localeCompare(right));
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 adjacency;
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(graph, component, changedItemId) {
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 beforeGraph = assembleWorkspaceRelationshipGraph(beforeItems).graph;
207
- const afterGraph = assembleWorkspaceRelationshipGraph(afterItems).graph;
208
- const beforeCycles = new Set(analyzeRelationshipExecution(beforeGraph, {
209
- registry: beforeGraph.registry()
210
- }).cycles.map(cycleKey));
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-OV7MSW3I.js.map
3113
+ //# sourceMappingURL=chunk-MWQ2HC2A.js.map
3046
3114
 
3047
- //# debugId=e4e6373e-8e50-52da-92a1-0bb63a83f808
3115
+ //# debugId=6ddf4107-908d-5eae-b775-abc852c08596