@unbrained/pm-cli 2026.7.16 → 2026.7.18

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 (620) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +30 -2
  3. package/CONTRIBUTING.md +2 -2
  4. package/dist/cli/bootstrap-args.d.ts +2 -115
  5. package/dist/cli/bootstrap-args.js +4 -831
  6. package/dist/cli/bootstrap-args.js.map +1 -1
  7. package/dist/cli/commands/close.d.ts +1 -1
  8. package/dist/cli/commands/close.js +3 -3
  9. package/dist/cli/commands/close.js.map +1 -1
  10. package/dist/cli/commands/completion.js +47 -5
  11. package/dist/cli/commands/completion.js.map +1 -1
  12. package/dist/cli/commands/context.d.ts +2 -2
  13. package/dist/cli/commands/context.js +42 -28
  14. package/dist/cli/commands/context.js.map +1 -1
  15. package/dist/cli/commands/contracts.js +5 -3
  16. package/dist/cli/commands/contracts.js.map +1 -1
  17. package/dist/cli/commands/eval.d.ts +4 -64
  18. package/dist/cli/commands/eval.js +4 -153
  19. package/dist/cli/commands/eval.js.map +1 -1
  20. package/dist/cli/commands/graph.d.ts +7 -0
  21. package/dist/cli/commands/graph.js +11 -0
  22. package/dist/cli/commands/graph.js.map +1 -0
  23. package/dist/cli/commands/index.d.ts +1 -0
  24. package/dist/cli/commands/index.js +3 -2
  25. package/dist/cli/commands/index.js.map +1 -1
  26. package/dist/cli/commands/linked-test-entry.d.ts +6 -6
  27. package/dist/cli/commands/linked-test-entry.js +4 -65
  28. package/dist/cli/commands/linked-test-entry.js.map +1 -1
  29. package/dist/cli/commands/linked-test-parsers.d.ts +3 -45
  30. package/dist/cli/commands/linked-test-parsers.js +4 -516
  31. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  32. package/dist/cli/commands/list.d.ts +3 -210
  33. package/dist/cli/commands/list.js +4 -1068
  34. package/dist/cli/commands/list.js.map +1 -1
  35. package/dist/cli/commands/next.d.ts +1 -1
  36. package/dist/cli/commands/next.js +3 -3
  37. package/dist/cli/commands/next.js.map +1 -1
  38. package/dist/cli/commands/search.d.ts +3 -464
  39. package/dist/cli/commands/search.js +4 -2236
  40. package/dist/cli/commands/search.js.map +1 -1
  41. package/dist/cli/commands/stats.d.ts +6 -66
  42. package/dist/cli/commands/stats.js +4 -157
  43. package/dist/cli/commands/stats.js.map +1 -1
  44. package/dist/cli/commands/telemetry.d.ts +6 -14
  45. package/dist/cli/commands/telemetry.js +4 -349
  46. package/dist/cli/commands/telemetry.js.map +1 -1
  47. package/dist/cli/commands/test-all.d.ts +6 -95
  48. package/dist/cli/commands/test-all.js +4 -439
  49. package/dist/cli/commands/test-all.js.map +1 -1
  50. package/dist/cli/commands/test-runs.d.ts +6 -92
  51. package/dist/cli/commands/test-runs.js +4 -189
  52. package/dist/cli/commands/test-runs.js.map +1 -1
  53. package/dist/cli/commands/test.d.ts +6 -244
  54. package/dist/cli/commands/test.js +4 -1780
  55. package/dist/cli/commands/test.js.map +1 -1
  56. package/dist/cli/commands/update-many.d.ts +15 -29
  57. package/dist/cli/commands/update-many.js +355 -259
  58. package/dist/cli/commands/update-many.js.map +1 -1
  59. package/dist/cli/main.js +141 -133
  60. package/dist/cli/main.js.map +1 -1
  61. package/dist/cli/register-list-query.js +49 -7
  62. package/dist/cli/register-list-query.js.map +1 -1
  63. package/dist/cli/register-mutation.js +7 -3
  64. package/dist/cli/register-mutation.js.map +1 -1
  65. package/dist/cli/search-refresh.js +4 -9
  66. package/dist/cli/search-refresh.js.map +1 -1
  67. package/dist/cli/shared-parsers.d.ts +6 -9
  68. package/dist/cli/shared-parsers.js +4 -37
  69. package/dist/cli/shared-parsers.js.map +1 -1
  70. package/dist/cli/telemetry-flush.js +4 -4
  71. package/dist/cli/telemetry-flush.js.map +1 -1
  72. package/dist/cli-bundle/bundle-manifest.json +334 -326
  73. package/dist/cli-bundle/chunks/{append-OJQFUQ4T.js → append-5YF3TO7I.js} +5 -5
  74. package/dist/cli-bundle/chunks/append-JHO5K6RP.js +11 -0
  75. package/dist/cli-bundle/chunks/{chunk-BCOFWYW4.js → chunk-2BX74BAS.js} +3 -3
  76. package/dist/cli-bundle/chunks/{chunk-APRVSW2O.js → chunk-2CXL335K.js} +3 -3
  77. package/dist/cli-bundle/chunks/{chunk-KG44YSKD.js → chunk-2FUOXSRN.js} +4 -4
  78. package/dist/cli-bundle/chunks/{chunk-HDH3JUGG.js → chunk-2IPNL3DR.js} +3 -3
  79. package/dist/cli-bundle/chunks/{chunk-GM5QHQU6.js → chunk-2XOSFSTH.js} +5 -5
  80. package/dist/cli-bundle/chunks/{chunk-UFXU44HV.js → chunk-35FHWD4C.js} +6 -6
  81. package/dist/cli-bundle/chunks/{chunk-2WSE6PO2.js.map → chunk-35FHWD4C.js.map} +1 -7
  82. package/dist/cli-bundle/chunks/{chunk-K3WII2ME.js → chunk-37DRDP2B.js} +5 -5
  83. package/dist/cli-bundle/chunks/{chunk-BKVG6XOA.js → chunk-3CUQZNQ6.js} +67 -509
  84. package/dist/cli-bundle/chunks/chunk-3CUQZNQ6.js.map +7 -0
  85. package/dist/cli-bundle/chunks/chunk-3QDR6ZLU.js +800 -0
  86. package/dist/cli-bundle/chunks/chunk-3QDR6ZLU.js.map +7 -0
  87. package/dist/cli-bundle/chunks/{chunk-5JLUII3O.js → chunk-43UMFKCK.js} +321 -240
  88. package/dist/cli-bundle/chunks/chunk-43UMFKCK.js.map +1 -0
  89. package/dist/cli-bundle/chunks/{chunk-PMOSXADO.js → chunk-47HXN6RX.js} +3 -3
  90. package/dist/cli-bundle/chunks/{chunk-6CFNAVTF.js → chunk-5HGZKQUL.js} +4 -4
  91. package/dist/cli-bundle/chunks/{chunk-2IFFUZLC.js → chunk-5UKQLQM2.js} +2 -2
  92. package/dist/cli-bundle/chunks/{chunk-DM4H7FP4.js → chunk-633PKXLT.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-XSJUSQAE.js → chunk-646MQXFW.js} +2 -2
  94. package/dist/cli-bundle/chunks/{chunk-ZI6VQWQ7.js → chunk-66MKH7SZ.js} +4 -4
  95. package/dist/cli-bundle/chunks/{chunk-S6MQESFR.js → chunk-67RO3H4N.js} +4 -4
  96. package/dist/cli-bundle/chunks/{chunk-34L5OT3Y.js → chunk-6DYOZS6C.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-RRM5JYJC.js → chunk-6O44IN44.js} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-5ZSLZLDN.js → chunk-6VHUGVNP.js} +608 -456
  99. package/dist/cli-bundle/chunks/chunk-6VHUGVNP.js.map +1 -0
  100. package/dist/cli-bundle/chunks/{chunk-PENXZX3U.js → chunk-74FKFFXO.js} +2 -2
  101. package/dist/cli-bundle/chunks/{chunk-HO4KXD6I.js → chunk-7H5NNCJ5.js} +4 -4
  102. package/dist/cli-bundle/chunks/{chunk-7B67ZL4N.js → chunk-7R6UIHYY.js} +75 -5
  103. package/dist/cli-bundle/chunks/{chunk-7B67ZL4N.js.map → chunk-7R6UIHYY.js.map} +1 -1
  104. package/dist/cli-bundle/chunks/{chunk-3S5QVM5H.js → chunk-7UCY6DR5.js} +193 -22
  105. package/dist/cli-bundle/chunks/chunk-7UCY6DR5.js.map +1 -0
  106. package/dist/cli-bundle/chunks/{chunk-WT3ZEOGH.js → chunk-ADXDCAKP.js} +16 -7
  107. package/dist/cli-bundle/chunks/{chunk-WT3ZEOGH.js.map → chunk-ADXDCAKP.js.map} +1 -1
  108. package/dist/cli-bundle/chunks/{chunk-TQSZFPIS.js → chunk-AFGKSHAM.js} +4 -4
  109. package/dist/cli-bundle/chunks/{chunk-6N2VXVTQ.js → chunk-ARGDWQ4J.js} +2 -2
  110. package/dist/cli-bundle/chunks/{chunk-XXXF6PAQ.js → chunk-AXRT7K5V.js} +83 -62
  111. package/dist/cli-bundle/chunks/chunk-AXRT7K5V.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{chunk-3U7ZR6M4.js → chunk-B57RJHBZ.js} +4 -4
  113. package/dist/cli-bundle/chunks/{chunk-YCQET3OT.js → chunk-BAP7G3N2.js} +2 -2
  114. package/dist/cli-bundle/chunks/{chunk-NLDFBC6J.js → chunk-BDA35QG5.js} +35 -5
  115. package/dist/cli-bundle/chunks/chunk-BDA35QG5.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-QKXHFPYM.js → chunk-BIRYX32V.js} +3 -3
  117. package/dist/cli-bundle/chunks/{chunk-RMLWNPH2.js → chunk-BVLOMU6O.js} +2 -2
  118. package/dist/cli-bundle/chunks/{chunk-2VPAVL7O.js → chunk-CKX4WOPC.js} +2 -2
  119. package/dist/cli-bundle/chunks/{chunk-TKOVBP6C.js → chunk-D52ZN3BF.js} +2 -2
  120. package/dist/cli-bundle/chunks/{chunk-KPMKHGEA.js → chunk-D53RTYVI.js} +4 -4
  121. package/dist/cli-bundle/chunks/{chunk-ODALILG3.js → chunk-D5XHO4Q7.js} +2 -2
  122. package/dist/cli-bundle/chunks/{chunk-YAQEBNY7.js → chunk-DDFGYUCQ.js} +4 -4
  123. package/dist/cli-bundle/chunks/{chunk-EAB64KLB.js → chunk-DG2EQRIH.js} +4 -4
  124. package/dist/cli-bundle/chunks/{chunk-J6364LFM.js → chunk-DHNG452T.js} +9 -18
  125. package/dist/cli-bundle/chunks/{chunk-J6364LFM.js.map → chunk-DHNG452T.js.map} +1 -1
  126. package/dist/cli-bundle/chunks/{chunk-JXQUXVMI.js → chunk-E4FXM2XB.js} +77 -7
  127. package/dist/cli-bundle/chunks/{chunk-JXQUXVMI.js.map → chunk-E4FXM2XB.js.map} +1 -1
  128. package/dist/cli-bundle/chunks/{chunk-IG3SWA4A.js → chunk-EHJFUOXL.js} +3 -3
  129. package/dist/cli-bundle/chunks/{chunk-P74IZQ7A.js → chunk-EWIT5WIC.js} +7 -7
  130. package/dist/cli-bundle/chunks/chunk-EX7OQT3Y.js +783 -0
  131. package/dist/cli-bundle/chunks/chunk-EX7OQT3Y.js.map +1 -0
  132. package/dist/cli-bundle/chunks/{chunk-ONREO4ST.js → chunk-EY7ZE3TG.js} +3 -3
  133. package/dist/cli-bundle/chunks/{chunk-ILX33QXL.js → chunk-F3VC3GOV.js} +669 -472
  134. package/dist/cli-bundle/chunks/chunk-F3VC3GOV.js.map +7 -0
  135. package/dist/cli-bundle/chunks/{chunk-EJEXHTY5.js → chunk-FHOBCGQO.js} +2 -2
  136. package/dist/cli-bundle/chunks/{chunk-H3EIEWGR.js → chunk-FL4D53ND.js} +2 -2
  137. package/dist/cli-bundle/chunks/{chunk-WUJQK4YV.js → chunk-FVNWHUME.js} +4 -4
  138. package/dist/cli-bundle/chunks/{chunk-INU6DKT5.js → chunk-FXFCFL73.js} +5 -5
  139. package/dist/cli-bundle/chunks/{chunk-QEHQ2GVG.js → chunk-FY4RLHSC.js} +2 -2
  140. package/dist/cli-bundle/chunks/{chunk-AHVTB5I5.js → chunk-G6MYGULG.js} +4 -4
  141. package/dist/cli-bundle/chunks/{chunk-HYB5AZ63.js → chunk-GKPCTQYG.js} +1822 -72
  142. package/dist/cli-bundle/chunks/chunk-GKPCTQYG.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-TSMHDIW4.js → chunk-GLZKZON6.js} +2 -2
  144. package/dist/cli-bundle/chunks/{chunk-2JKGO6QX.js → chunk-H5IOT54C.js} +4 -4
  145. package/dist/cli-bundle/chunks/{chunk-SELVXEZK.js → chunk-HO4DLBNK.js} +2 -2
  146. package/dist/cli-bundle/chunks/{chunk-CRVF2JDM.js → chunk-HPAYDSR2.js} +8 -8
  147. package/dist/cli-bundle/chunks/{chunk-3CLU2XZO.js → chunk-HSYV4ZYT.js} +4 -4
  148. package/dist/cli-bundle/chunks/{chunk-EH2OPHBI.js → chunk-HTXXXF45.js} +23 -19
  149. package/dist/cli-bundle/chunks/chunk-HTXXXF45.js.map +1 -0
  150. package/dist/cli-bundle/chunks/{chunk-J5AOEGDC.js → chunk-HYTOJW2Q.js} +8 -8
  151. package/dist/cli-bundle/chunks/{chunk-4XQ3BDV4.js → chunk-I3INI567.js} +536 -449
  152. package/dist/cli-bundle/chunks/chunk-I3INI567.js.map +7 -0
  153. package/dist/cli-bundle/chunks/{chunk-NU3IMIEA.js → chunk-I7DIDUSP.js} +2 -2
  154. package/dist/cli-bundle/chunks/{chunk-JYFOV7FC.js → chunk-IE5KRAKN.js} +4 -4
  155. package/dist/cli-bundle/chunks/{chunk-YAROI3PD.js → chunk-IL5SPRMH.js} +7 -7
  156. package/dist/cli-bundle/chunks/{chunk-UY2ACEMF.js → chunk-ILVOOAT4.js} +5 -5
  157. package/dist/cli-bundle/chunks/{chunk-GOSLKLFE.js → chunk-KH6QAHME.js} +3 -3
  158. package/dist/cli-bundle/chunks/{chunk-QKECXBBG.js → chunk-KX62NMZC.js} +3 -3
  159. package/dist/cli-bundle/chunks/{chunk-QKECXBBG.js.map → chunk-KX62NMZC.js.map} +1 -1
  160. package/dist/cli-bundle/chunks/{chunk-WQPUU7XD.js → chunk-L337QKWJ.js} +5 -5
  161. package/dist/cli-bundle/chunks/{chunk-JFTKLTEF.js → chunk-L5BTTDU5.js} +68 -503
  162. package/dist/cli-bundle/chunks/chunk-L5BTTDU5.js.map +1 -0
  163. package/dist/cli-bundle/chunks/{chunk-LSG2U345.js → chunk-L6FVNR7X.js} +5 -5
  164. package/dist/cli-bundle/chunks/{chunk-FMBNM2EN.js → chunk-LSOWTLEM.js} +2 -2
  165. package/dist/cli-bundle/chunks/{chunk-4223PVZT.js → chunk-M7MVOKVV.js} +3 -3
  166. package/dist/cli-bundle/chunks/{chunk-UMOPHQSU.js → chunk-MR4SHYR4.js} +41 -19
  167. package/dist/cli-bundle/chunks/chunk-MR4SHYR4.js.map +7 -0
  168. package/dist/cli-bundle/chunks/{chunk-3WM75PWC.js → chunk-N33FD2UI.js} +3 -3
  169. package/dist/cli-bundle/chunks/{chunk-UXONS674.js → chunk-NCVT6XEL.js} +68 -56
  170. package/dist/cli-bundle/chunks/chunk-NCVT6XEL.js.map +1 -0
  171. package/dist/cli-bundle/chunks/{chunk-6S3YSUYG.js → chunk-NNANAWFH.js} +3 -3
  172. package/dist/cli-bundle/chunks/{chunk-IJIICKVW.js → chunk-NTRQLE2R.js} +2 -2
  173. package/dist/cli-bundle/chunks/{chunk-SDQLJWBO.js → chunk-NVZ6NVHJ.js} +4 -4
  174. package/dist/cli-bundle/chunks/{chunk-E2OJMKML.js → chunk-OGVTB5VO.js} +47 -37
  175. package/dist/cli-bundle/chunks/chunk-OGVTB5VO.js.map +7 -0
  176. package/dist/cli-bundle/chunks/{chunk-H2Z3FYXQ.js → chunk-OWP6QFBV.js} +4 -4
  177. package/dist/cli-bundle/chunks/{chunk-Q7A43DS4.js → chunk-P22HGFFI.js} +2 -2
  178. package/dist/cli-bundle/chunks/{chunk-NVPZIJVR.js → chunk-PT7MCCGD.js} +2 -2
  179. package/dist/cli-bundle/chunks/{chunk-ONG5V5CI.js → chunk-QPGQNLPI.js} +1751 -70
  180. package/dist/cli-bundle/chunks/chunk-QPGQNLPI.js.map +1 -0
  181. package/dist/cli-bundle/chunks/{chunk-J6EY5V4N.js → chunk-QRZNCRNA.js} +9 -9
  182. package/dist/cli-bundle/chunks/{chunk-QIPLHNP7.js → chunk-QWBKN3QC.js} +5 -5
  183. package/dist/cli-bundle/chunks/{chunk-7PIWCHTW.js → chunk-R5XTTZSJ.js} +5 -5
  184. package/dist/cli-bundle/chunks/{chunk-JOUQZENX.js → chunk-RC4UOUXA.js} +3 -3
  185. package/dist/cli-bundle/chunks/{chunk-BEP7WJA2.js → chunk-RGMWJLXF.js} +4 -4
  186. package/dist/cli-bundle/chunks/{chunk-NP22ERDF.js → chunk-RTBX3C4C.js} +3 -3
  187. package/dist/cli-bundle/chunks/{chunk-FNSPG7MU.js → chunk-RXPQ5Q23.js} +7 -7
  188. package/dist/cli-bundle/chunks/{chunk-LPYWLWDS.js → chunk-SIPOACV5.js} +534 -447
  189. package/dist/cli-bundle/chunks/chunk-SIPOACV5.js.map +1 -0
  190. package/dist/cli-bundle/chunks/chunk-TGBTLGPX.js +851 -0
  191. package/dist/cli-bundle/chunks/chunk-TGBTLGPX.js.map +7 -0
  192. package/dist/cli-bundle/chunks/{chunk-2WSE6PO2.js → chunk-TLWJP5BF.js} +5 -5
  193. package/dist/cli-bundle/chunks/chunk-TLWJP5BF.js.map +7 -0
  194. package/dist/cli-bundle/chunks/{chunk-ULTHRDBP.js → chunk-TM5CIO3F.js} +3 -3
  195. package/dist/cli-bundle/chunks/{chunk-UWQHLMEB.js → chunk-TZAE66GQ.js} +8 -8
  196. package/dist/cli-bundle/chunks/{chunk-OW4JWD5M.js → chunk-VAHZIPWS.js} +4 -4
  197. package/dist/cli-bundle/chunks/{chunk-DYH63FX7.js → chunk-VE6ZSTQW.js} +4 -4
  198. package/dist/cli-bundle/chunks/{chunk-3AUGG2DP.js → chunk-W5E2UUSH.js} +3 -3
  199. package/dist/cli-bundle/chunks/{chunk-BSEQUTQP.js → chunk-WACRQ26A.js} +2 -2
  200. package/dist/cli-bundle/chunks/{chunk-BSEQUTQP.js.map → chunk-WACRQ26A.js.map} +1 -1
  201. package/dist/cli-bundle/chunks/{chunk-UOHFKBUV.js → chunk-WL3SS45P.js} +3 -3
  202. package/dist/cli-bundle/chunks/{chunk-H5APFTHZ.js → chunk-WQXRZMFN.js} +204 -33
  203. package/dist/cli-bundle/chunks/chunk-WQXRZMFN.js.map +7 -0
  204. package/dist/cli-bundle/chunks/{chunk-QKJGPFAF.js → chunk-WU3KAN6A.js} +3 -3
  205. package/dist/cli-bundle/chunks/{chunk-IA5FKNII.js → chunk-X2MGQMZO.js} +2 -2
  206. package/dist/cli-bundle/chunks/{chunk-TD3LVC7D.js → chunk-X5YCTFKT.js} +3 -3
  207. package/dist/cli-bundle/chunks/{chunk-B7PE22W6.js → chunk-XC2HEEOV.js} +4 -4
  208. package/dist/cli-bundle/chunks/{chunk-7Z4LKRS4.js → chunk-XPUTSGJU.js} +38 -37
  209. package/dist/cli-bundle/chunks/chunk-XPUTSGJU.js.map +1 -0
  210. package/dist/cli-bundle/chunks/{chunk-YBLZ2VE7.js → chunk-XWBD6DSR.js} +320 -239
  211. package/dist/cli-bundle/chunks/chunk-XWBD6DSR.js.map +7 -0
  212. package/dist/cli-bundle/chunks/chunk-XWYQ2LT4.js +834 -0
  213. package/dist/cli-bundle/chunks/chunk-XWYQ2LT4.js.map +1 -0
  214. package/dist/cli-bundle/chunks/{chunk-K2X6U4UA.js → chunk-XXLXJL7V.js} +4 -4
  215. package/dist/cli-bundle/chunks/{chunk-2NCIPMQP.js → chunk-YFE7JHX3.js} +27 -6
  216. package/dist/cli-bundle/chunks/chunk-YFE7JHX3.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{chunk-EACOH7AU.js → chunk-YIIIAKCE.js} +8 -8
  218. package/dist/cli-bundle/chunks/{chunk-RLCHOOHC.js → chunk-YJSURTBB.js} +2 -2
  219. package/dist/cli-bundle/chunks/{chunk-PGY23YTC.js → chunk-YKFHF37B.js} +3 -3
  220. package/dist/cli-bundle/chunks/{chunk-EYLCSJAI.js → chunk-YQEZWI3R.js} +2 -2
  221. package/dist/cli-bundle/chunks/close-GPD7DTJV.js +12 -0
  222. package/dist/cli-bundle/chunks/{close-CWODTPKG.js → close-X3CF6FQP.js} +5 -5
  223. package/dist/cli-bundle/chunks/{close-many-CQFUY7MR.js → close-many-J7A5EHOQ.js} +14 -14
  224. package/dist/cli-bundle/chunks/close-many-NQLYGPYW.js +23 -0
  225. package/dist/cli-bundle/chunks/comments-2AOZQ5D2.js +13 -0
  226. package/dist/cli-bundle/chunks/{comments-WGLHR7LB.js → comments-TMHMALA5.js} +7 -7
  227. package/dist/cli-bundle/chunks/{copy-LXVDXH7B.js → copy-FWQA5OU4.js} +4 -4
  228. package/dist/cli-bundle/chunks/copy-N3LCQBMC.js +9 -0
  229. package/dist/cli-bundle/chunks/{create-LBVCYMEG.js → create-AQ5SIGZC.js} +9 -9
  230. package/dist/cli-bundle/chunks/{create-J5U6ND4K.js → create-KOGQ3JKD.js} +9 -9
  231. package/dist/cli-bundle/chunks/delete-6G3MBZ6S.js +10 -0
  232. package/dist/cli-bundle/chunks/{delete-PMJBNY5G.js → delete-YYYFOSEA.js} +4 -4
  233. package/dist/cli-bundle/chunks/{deps-JZ7TMVCB.js → deps-MQ4ZIGZB.js} +16 -7
  234. package/dist/cli-bundle/chunks/deps-NIIKXLPB.js +28 -0
  235. package/dist/cli-bundle/chunks/{docs-FEWB2DQB.js → docs-53NUGMIQ.js} +6 -6
  236. package/dist/cli-bundle/chunks/docs-OWRGDMNY.js +14 -0
  237. package/dist/cli-bundle/chunks/{files-EFIWKFTM.js → files-3PXGXYDB.js} +6 -6
  238. package/dist/cli-bundle/chunks/{files-6YFBJRBG.js → files-EGLKHD7O.js} +6 -6
  239. package/dist/cli-bundle/chunks/focus-KZLIA6WS.js +10 -0
  240. package/dist/cli-bundle/chunks/{focus-4QJR7FOQ.js → focus-SRPASFTN.js} +5 -5
  241. package/dist/cli-bundle/chunks/{history-compact-CKRPDTJN.js → history-compact-G4DULDCX.js} +6 -6
  242. package/dist/cli-bundle/chunks/history-compact-HHIUOMZ7.js +16 -0
  243. package/dist/cli-bundle/chunks/{history-redact-BB3TGDAE.js → history-redact-IUSJ6X3E.js} +4 -4
  244. package/dist/cli-bundle/chunks/{history-redact-D225BHOZ.js → history-redact-THHGRQXV.js} +4 -4
  245. package/dist/cli-bundle/chunks/history-repair-KG7SWXI6.js +16 -0
  246. package/dist/cli-bundle/chunks/{history-repair-RQXKQHL4.js → history-repair-LUQWRS7X.js} +6 -6
  247. package/dist/cli-bundle/chunks/{learnings-JLNLCOL5.js → learnings-2MRNBFJF.js} +7 -7
  248. package/dist/cli-bundle/chunks/learnings-ZVHSALJY.js +13 -0
  249. package/dist/cli-bundle/chunks/{notes-GB47XXQQ.js → notes-73JWKWUD.js} +7 -7
  250. package/dist/cli-bundle/chunks/notes-BAKUL5DJ.js +13 -0
  251. package/dist/cli-bundle/chunks/{plan-VDCJ2PCN.js → plan-AZPMCG37.js} +10 -10
  252. package/dist/cli-bundle/chunks/plan-LEAGLPGP.js +24 -0
  253. package/dist/cli-bundle/chunks/{profile-FAU7NZML.js → profile-AVCIIZID.js} +9 -9
  254. package/dist/cli-bundle/chunks/{profile-IVXQEL3D.js → profile-LFYO3HHX.js} +9 -9
  255. package/dist/cli-bundle/chunks/{register-list-query-UL4UKBBN.js → register-list-query-MZUF2EEC.js} +50 -22
  256. package/dist/cli-bundle/chunks/register-list-query-MZUF2EEC.js.map +1 -0
  257. package/dist/cli-bundle/chunks/{register-list-query-DKA3EH5D.js → register-list-query-UKMF55FT.js} +49 -21
  258. package/dist/cli-bundle/chunks/register-list-query-UKMF55FT.js.map +7 -0
  259. package/dist/cli-bundle/chunks/{register-mutation-RBBJ52DK.js → register-mutation-2PBW2GEX.js} +35 -33
  260. package/dist/cli-bundle/chunks/register-mutation-2PBW2GEX.js.map +1 -0
  261. package/dist/cli-bundle/chunks/{register-mutation-ARFHRW55.js → register-mutation-T6RVNJC4.js} +34 -32
  262. package/dist/cli-bundle/chunks/{register-mutation-ARFHRW55.js.map → register-mutation-T6RVNJC4.js.map} +2 -2
  263. package/dist/cli-bundle/chunks/{register-operations-ZIBBRSED.js → register-operations-KHZYR6MG.js} +35 -35
  264. package/dist/cli-bundle/chunks/{register-operations-ZUJ5JWPE.js → register-operations-WPQ2LWZJ.js} +35 -35
  265. package/dist/cli-bundle/chunks/{register-setup-BCVLFEYS.js → register-setup-PGDNOXDQ.js} +15 -15
  266. package/dist/cli-bundle/chunks/{register-setup-TDCGWIOS.js → register-setup-TDN7WAO6.js} +15 -15
  267. package/dist/cli-bundle/chunks/{restore-25DLT2Q2.js → restore-E3PRGDN3.js} +6 -6
  268. package/dist/cli-bundle/chunks/restore-KIUYTAEJ.js +14 -0
  269. package/dist/cli-bundle/chunks/{schema-FNU3WE4O.js → schema-5JNFQFUW.js} +6 -6
  270. package/dist/cli-bundle/chunks/{schema-NBCM3RAD.js → schema-TMIW4XZC.js} +6 -6
  271. package/dist/cli-bundle/chunks/{update-XHSIAIXE.js → update-SQYZA3ZW.js} +12 -12
  272. package/dist/cli-bundle/chunks/update-XZJYS5X7.js +21 -0
  273. package/dist/cli-bundle/chunks/update-many-R24B3GBK.js +36 -0
  274. package/dist/cli-bundle/chunks/update-many-WQ3R3J6N.js +32 -0
  275. package/dist/cli-bundle/main.js +170 -856
  276. package/dist/cli-bundle/main.js.map +4 -4
  277. package/dist/cli-bundle/sdk-runtime.js +57 -54
  278. package/dist/cli-bundle/sdk-testing.js +6 -6
  279. package/dist/cli-bundle/sdk.js +266 -340
  280. package/dist/cli-bundle/sdk.js.map +4 -4
  281. package/dist/core/extensions/item-fields.js +2 -2
  282. package/dist/core/extensions/item-fields.js.map +1 -1
  283. package/dist/core/item/actionability.d.ts +12 -0
  284. package/dist/core/item/actionability.js +39 -4
  285. package/dist/core/item/actionability.js.map +1 -1
  286. package/dist/core/sentry/instrument.d.ts +11 -0
  287. package/dist/core/sentry/instrument.js +21 -2
  288. package/dist/core/sentry/instrument.js.map +1 -1
  289. package/dist/mcp/server.d.ts +16 -18
  290. package/dist/mcp/server.js +84 -31
  291. package/dist/mcp/server.js.map +1 -1
  292. package/dist/mcp/tool-definitions.js +17 -4
  293. package/dist/mcp/tool-definitions.js.map +1 -1
  294. package/dist/sdk/actionability.d.ts +10 -0
  295. package/dist/sdk/actionability.js +14 -0
  296. package/dist/sdk/actionability.js.map +1 -0
  297. package/dist/sdk/cli-bootstrap.d.ts +122 -0
  298. package/dist/sdk/cli-bootstrap.js +879 -0
  299. package/dist/sdk/cli-bootstrap.js.map +1 -0
  300. package/dist/sdk/cli-contracts/enum-contracts.d.ts +6 -2
  301. package/dist/sdk/cli-contracts/enum-contracts.js +19 -2
  302. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  303. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  304. package/dist/sdk/cli-contracts/flag-contracts.js +21 -2
  305. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  306. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +2 -0
  307. package/dist/sdk/cli-contracts/tool-option-contracts.js +16 -2
  308. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  309. package/dist/sdk/cli-contracts/tool-parameter-tables.js +80 -3
  310. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  311. package/dist/sdk/cli-contracts/tool-schema.d.ts +20 -0
  312. package/dist/sdk/cli-contracts/tool-schema.js +97 -9
  313. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  314. package/dist/sdk/cli-contracts.d.ts +2 -2
  315. package/dist/sdk/cli-contracts.js +4 -4
  316. package/dist/sdk/cli-contracts.js.map +1 -1
  317. package/dist/sdk/dependencies.d.ts +42 -53
  318. package/dist/sdk/dependencies.js +177 -125
  319. package/dist/sdk/dependencies.js.map +1 -1
  320. package/dist/sdk/eval.d.ts +66 -0
  321. package/dist/sdk/eval.js +186 -0
  322. package/dist/sdk/eval.js.map +1 -0
  323. package/dist/sdk/governance/validate.js +3 -3
  324. package/dist/sdk/governance/validate.js.map +1 -1
  325. package/dist/sdk/graph/analytics.d.ts +124 -0
  326. package/dist/sdk/graph/analytics.js +464 -0
  327. package/dist/sdk/graph/analytics.js.map +1 -0
  328. package/dist/sdk/graph/assembly.d.ts +97 -0
  329. package/dist/sdk/graph/assembly.js +146 -0
  330. package/dist/sdk/graph/assembly.js.map +1 -0
  331. package/dist/sdk/graph/cache.d.ts +66 -0
  332. package/dist/sdk/graph/cache.js +148 -0
  333. package/dist/sdk/graph/cache.js.map +1 -0
  334. package/dist/sdk/graph/governance.d.ts +108 -0
  335. package/dist/sdk/graph/governance.js +360 -0
  336. package/dist/sdk/graph/governance.js.map +1 -0
  337. package/dist/sdk/graph/index.d.ts +16 -0
  338. package/dist/sdk/graph/index.js +20 -0
  339. package/dist/sdk/graph/index.js.map +1 -0
  340. package/dist/sdk/graph/remediation.d.ts +52 -0
  341. package/dist/sdk/graph/remediation.js +148 -0
  342. package/dist/sdk/graph/remediation.js.map +1 -0
  343. package/dist/sdk/graph/run.d.ts +295 -0
  344. package/dist/sdk/graph/run.js +468 -0
  345. package/dist/sdk/graph/run.js.map +1 -0
  346. package/dist/sdk/graph/traversal.d.ts +77 -0
  347. package/dist/sdk/graph/traversal.js +262 -0
  348. package/dist/sdk/graph/traversal.js.map +1 -0
  349. package/dist/sdk/index.d.ts +19 -5
  350. package/dist/sdk/index.js +21 -7
  351. package/dist/sdk/index.js.map +1 -1
  352. package/dist/{cli/commands → sdk/query}/item-filter-options.d.ts +1 -1
  353. package/dist/{cli/commands → sdk/query}/item-filter-options.js +3 -3
  354. package/dist/sdk/query/item-filter-options.js.map +1 -0
  355. package/dist/sdk/query/list.d.ts +262 -0
  356. package/dist/sdk/query/list.js +1089 -0
  357. package/dist/sdk/query/list.js.map +1 -0
  358. package/dist/sdk/query/parsers.d.ts +9 -0
  359. package/dist/sdk/query/parsers.js +45 -0
  360. package/dist/sdk/query/parsers.js.map +1 -0
  361. package/dist/{cli/commands → sdk/query}/search-pagination.js +4 -4
  362. package/dist/sdk/query/search-pagination.js.map +1 -0
  363. package/dist/{cli/commands → sdk/query}/search-rendering.js +3 -3
  364. package/dist/sdk/query/search-rendering.js.map +1 -0
  365. package/dist/sdk/query/search.d.ts +469 -0
  366. package/dist/sdk/query/search.js +2247 -0
  367. package/dist/sdk/query/search.js.map +1 -0
  368. package/dist/sdk/relationship-context.d.ts +42 -0
  369. package/dist/sdk/relationship-context.js +99 -20
  370. package/dist/sdk/relationship-context.js.map +1 -1
  371. package/dist/sdk/relationships.d.ts +13 -0
  372. package/dist/sdk/relationships.js +30 -2
  373. package/dist/sdk/relationships.js.map +1 -1
  374. package/dist/sdk/runtime-input.d.ts +41 -0
  375. package/dist/sdk/runtime-input.js +422 -2
  376. package/dist/sdk/runtime-input.js.map +1 -1
  377. package/dist/sdk/runtime.d.ts +19 -30
  378. package/dist/sdk/runtime.js +30 -376
  379. package/dist/sdk/runtime.js.map +1 -1
  380. package/dist/sdk/search-refresh-worker.d.ts +2 -0
  381. package/dist/sdk/search-refresh-worker.js +19 -0
  382. package/dist/sdk/search-refresh-worker.js.map +1 -0
  383. package/dist/sdk/stats.d.ts +66 -0
  384. package/dist/sdk/stats.js +151 -0
  385. package/dist/sdk/stats.js.map +1 -0
  386. package/dist/sdk/telemetry-flush.d.ts +2 -0
  387. package/dist/sdk/telemetry-flush.js +14 -0
  388. package/dist/sdk/telemetry-flush.js.map +1 -0
  389. package/dist/sdk/telemetry.d.ts +14 -0
  390. package/dist/sdk/telemetry.js +398 -0
  391. package/dist/sdk/telemetry.js.map +1 -0
  392. package/dist/sdk/test/batch.d.ts +94 -0
  393. package/dist/sdk/test/batch.js +492 -0
  394. package/dist/sdk/test/batch.js.map +1 -0
  395. package/dist/sdk/test/entry.d.ts +6 -0
  396. package/dist/sdk/test/entry.js +74 -0
  397. package/dist/sdk/test/entry.js.map +1 -0
  398. package/dist/sdk/test/execution.d.ts +282 -0
  399. package/dist/sdk/test/execution.js +1817 -0
  400. package/dist/sdk/test/execution.js.map +1 -0
  401. package/dist/sdk/test/linked-command-detection.js +12 -3
  402. package/dist/sdk/test/linked-command-detection.js.map +1 -1
  403. package/dist/sdk/test/parsers.d.ts +48 -0
  404. package/dist/sdk/test/parsers.js +522 -0
  405. package/dist/sdk/test/parsers.js.map +1 -0
  406. package/dist/sdk/test/runs.d.ts +92 -0
  407. package/dist/sdk/test/runs.js +195 -0
  408. package/dist/sdk/test/runs.js.map +1 -0
  409. package/docs/AGENT_GUIDE.md +1 -0
  410. package/docs/COMMANDS.md +19 -1
  411. package/docs/RELATIONSHIP_GRAPH.md +99 -3
  412. package/docs/SDK.md +139 -3
  413. package/docs/SDK_PRIMITIVE_INVENTORY.md +5 -3
  414. package/docs/examples/sdk-custom-tool/README.md +27 -0
  415. package/docs/examples/sdk-custom-tool/package.json +13 -0
  416. package/docs/examples/sdk-custom-tool/src/cli.ts +36 -0
  417. package/docs/examples/sdk-custom-tool/src/entry.ts +15 -0
  418. package/docs/examples/sdk-custom-tool/src/index.ts +223 -0
  419. package/marketplace.json +2 -2
  420. package/package.json +4 -4
  421. package/packages/pm-beads/package.json +1 -1
  422. package/packages/pm-calendar/package.json +1 -1
  423. package/packages/pm-command-kit/package.json +1 -1
  424. package/packages/pm-governance-audit/extensions/governance-audit/comments-audit.ts +77 -57
  425. package/packages/pm-governance-audit/extensions/governance-audit/dedupe-audit.ts +202 -194
  426. package/packages/pm-governance-audit/extensions/governance-audit/dedupe-merge.ts +227 -153
  427. package/packages/pm-governance-audit/extensions/governance-audit/normalize.ts +169 -125
  428. package/packages/pm-governance-audit/extensions/governance-audit/runtime-utils.ts +130 -81
  429. package/packages/pm-governance-audit/extensions/governance-audit/sdk.ts +53 -4
  430. package/packages/pm-governance-audit/package.json +1 -1
  431. package/packages/pm-guide-shell/package.json +1 -1
  432. package/packages/pm-kanban/package.json +1 -1
  433. package/packages/pm-lifecycle-hooks/package.json +1 -1
  434. package/packages/pm-linked-test-adapters/package.json +1 -1
  435. package/packages/pm-search-advanced/package.json +1 -1
  436. package/packages/pm-templates/package.json +1 -1
  437. package/packages/pm-todos/package.json +1 -1
  438. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  439. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  440. package/dist/cli/commands/item-filter-options.js.map +0 -1
  441. package/dist/cli/commands/search-pagination.js.map +0 -1
  442. package/dist/cli/commands/search-rendering.js.map +0 -1
  443. package/dist/cli-bundle/chunks/append-UZVHUO74.js +0 -11
  444. package/dist/cli-bundle/chunks/chunk-2NCIPMQP.js.map +0 -1
  445. package/dist/cli-bundle/chunks/chunk-3S5QVM5H.js.map +0 -1
  446. package/dist/cli-bundle/chunks/chunk-4XQ3BDV4.js.map +0 -7
  447. package/dist/cli-bundle/chunks/chunk-5JLUII3O.js.map +0 -1
  448. package/dist/cli-bundle/chunks/chunk-5ZSLZLDN.js.map +0 -1
  449. package/dist/cli-bundle/chunks/chunk-7Z4LKRS4.js.map +0 -1
  450. package/dist/cli-bundle/chunks/chunk-BKVG6XOA.js.map +0 -7
  451. package/dist/cli-bundle/chunks/chunk-E2OJMKML.js.map +0 -7
  452. package/dist/cli-bundle/chunks/chunk-EH2OPHBI.js.map +0 -1
  453. package/dist/cli-bundle/chunks/chunk-H5APFTHZ.js.map +0 -7
  454. package/dist/cli-bundle/chunks/chunk-HYB5AZ63.js.map +0 -7
  455. package/dist/cli-bundle/chunks/chunk-ILX33QXL.js.map +0 -7
  456. package/dist/cli-bundle/chunks/chunk-JFTKLTEF.js.map +0 -1
  457. package/dist/cli-bundle/chunks/chunk-LPYWLWDS.js.map +0 -1
  458. package/dist/cli-bundle/chunks/chunk-NLDFBC6J.js.map +0 -7
  459. package/dist/cli-bundle/chunks/chunk-ONG5V5CI.js.map +0 -1
  460. package/dist/cli-bundle/chunks/chunk-UFXU44HV.js.map +0 -1
  461. package/dist/cli-bundle/chunks/chunk-UMOPHQSU.js.map +0 -7
  462. package/dist/cli-bundle/chunks/chunk-UXONS674.js.map +0 -1
  463. package/dist/cli-bundle/chunks/chunk-XXXF6PAQ.js.map +0 -7
  464. package/dist/cli-bundle/chunks/chunk-YBLZ2VE7.js.map +0 -7
  465. package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js +0 -58
  466. package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js.map +0 -1
  467. package/dist/cli-bundle/chunks/chunk-ZKRZY773.js +0 -68
  468. package/dist/cli-bundle/chunks/chunk-ZKRZY773.js.map +0 -7
  469. package/dist/cli-bundle/chunks/close-W6LI2PKM.js +0 -12
  470. package/dist/cli-bundle/chunks/close-many-DLDDVSH5.js +0 -23
  471. package/dist/cli-bundle/chunks/comments-E3TNTK24.js +0 -13
  472. package/dist/cli-bundle/chunks/copy-Q5ZJPUKR.js +0 -9
  473. package/dist/cli-bundle/chunks/delete-WNHB3LYW.js +0 -10
  474. package/dist/cli-bundle/chunks/deps-OA26IS25.js +0 -19
  475. package/dist/cli-bundle/chunks/docs-HA2AIDBB.js +0 -14
  476. package/dist/cli-bundle/chunks/focus-POIW5LTJ.js +0 -10
  477. package/dist/cli-bundle/chunks/history-compact-FWG2C7FZ.js +0 -16
  478. package/dist/cli-bundle/chunks/history-repair-6GEAM7HE.js +0 -16
  479. package/dist/cli-bundle/chunks/learnings-RSNLSWDC.js +0 -13
  480. package/dist/cli-bundle/chunks/notes-2WDH6DXU.js +0 -13
  481. package/dist/cli-bundle/chunks/plan-DOVI2VMW.js +0 -24
  482. package/dist/cli-bundle/chunks/register-list-query-DKA3EH5D.js.map +0 -7
  483. package/dist/cli-bundle/chunks/register-list-query-UL4UKBBN.js.map +0 -1
  484. package/dist/cli-bundle/chunks/register-mutation-RBBJ52DK.js.map +0 -1
  485. package/dist/cli-bundle/chunks/restore-YPMVUUEX.js +0 -14
  486. package/dist/cli-bundle/chunks/update-WWBYOPXO.js +0 -21
  487. package/dist/cli-bundle/chunks/update-many-OUGIU5SF.js +0 -32
  488. package/dist/cli-bundle/chunks/update-many-TA7NGQBO.js +0 -36
  489. /package/dist/cli-bundle/chunks/{append-OJQFUQ4T.js.map → append-5YF3TO7I.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{append-UZVHUO74.js.map → append-JHO5K6RP.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{chunk-BCOFWYW4.js.map → chunk-2BX74BAS.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{chunk-APRVSW2O.js.map → chunk-2CXL335K.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{chunk-KG44YSKD.js.map → chunk-2FUOXSRN.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{chunk-HDH3JUGG.js.map → chunk-2IPNL3DR.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{chunk-GM5QHQU6.js.map → chunk-2XOSFSTH.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{chunk-K3WII2ME.js.map → chunk-37DRDP2B.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{chunk-PMOSXADO.js.map → chunk-47HXN6RX.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{chunk-6CFNAVTF.js.map → chunk-5HGZKQUL.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{chunk-2IFFUZLC.js.map → chunk-5UKQLQM2.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{chunk-DM4H7FP4.js.map → chunk-633PKXLT.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{chunk-XSJUSQAE.js.map → chunk-646MQXFW.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{chunk-ZI6VQWQ7.js.map → chunk-66MKH7SZ.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{chunk-S6MQESFR.js.map → chunk-67RO3H4N.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{chunk-34L5OT3Y.js.map → chunk-6DYOZS6C.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{chunk-RRM5JYJC.js.map → chunk-6O44IN44.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{chunk-PENXZX3U.js.map → chunk-74FKFFXO.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{chunk-HO4KXD6I.js.map → chunk-7H5NNCJ5.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{chunk-TQSZFPIS.js.map → chunk-AFGKSHAM.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{chunk-6N2VXVTQ.js.map → chunk-ARGDWQ4J.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{chunk-3U7ZR6M4.js.map → chunk-B57RJHBZ.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{chunk-YCQET3OT.js.map → chunk-BAP7G3N2.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{chunk-QKXHFPYM.js.map → chunk-BIRYX32V.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{chunk-RMLWNPH2.js.map → chunk-BVLOMU6O.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{chunk-2VPAVL7O.js.map → chunk-CKX4WOPC.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{chunk-TKOVBP6C.js.map → chunk-D52ZN3BF.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{chunk-KPMKHGEA.js.map → chunk-D53RTYVI.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{chunk-ODALILG3.js.map → chunk-D5XHO4Q7.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{chunk-YAQEBNY7.js.map → chunk-DDFGYUCQ.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{chunk-EAB64KLB.js.map → chunk-DG2EQRIH.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{chunk-IG3SWA4A.js.map → chunk-EHJFUOXL.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{chunk-P74IZQ7A.js.map → chunk-EWIT5WIC.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{chunk-ONREO4ST.js.map → chunk-EY7ZE3TG.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{chunk-EJEXHTY5.js.map → chunk-FHOBCGQO.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{chunk-H3EIEWGR.js.map → chunk-FL4D53ND.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{chunk-WUJQK4YV.js.map → chunk-FVNWHUME.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{chunk-INU6DKT5.js.map → chunk-FXFCFL73.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{chunk-QEHQ2GVG.js.map → chunk-FY4RLHSC.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{chunk-AHVTB5I5.js.map → chunk-G6MYGULG.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{chunk-TSMHDIW4.js.map → chunk-GLZKZON6.js.map} +0 -0
  530. /package/dist/cli-bundle/chunks/{chunk-2JKGO6QX.js.map → chunk-H5IOT54C.js.map} +0 -0
  531. /package/dist/cli-bundle/chunks/{chunk-SELVXEZK.js.map → chunk-HO4DLBNK.js.map} +0 -0
  532. /package/dist/cli-bundle/chunks/{chunk-CRVF2JDM.js.map → chunk-HPAYDSR2.js.map} +0 -0
  533. /package/dist/cli-bundle/chunks/{chunk-3CLU2XZO.js.map → chunk-HSYV4ZYT.js.map} +0 -0
  534. /package/dist/cli-bundle/chunks/{chunk-J5AOEGDC.js.map → chunk-HYTOJW2Q.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{chunk-NU3IMIEA.js.map → chunk-I7DIDUSP.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{chunk-JYFOV7FC.js.map → chunk-IE5KRAKN.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{chunk-YAROI3PD.js.map → chunk-IL5SPRMH.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{chunk-UY2ACEMF.js.map → chunk-ILVOOAT4.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{chunk-GOSLKLFE.js.map → chunk-KH6QAHME.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{chunk-WQPUU7XD.js.map → chunk-L337QKWJ.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{chunk-LSG2U345.js.map → chunk-L6FVNR7X.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{chunk-FMBNM2EN.js.map → chunk-LSOWTLEM.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{chunk-4223PVZT.js.map → chunk-M7MVOKVV.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{chunk-3WM75PWC.js.map → chunk-N33FD2UI.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{chunk-6S3YSUYG.js.map → chunk-NNANAWFH.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{chunk-IJIICKVW.js.map → chunk-NTRQLE2R.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{chunk-SDQLJWBO.js.map → chunk-NVZ6NVHJ.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-H2Z3FYXQ.js.map → chunk-OWP6QFBV.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-Q7A43DS4.js.map → chunk-P22HGFFI.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-NVPZIJVR.js.map → chunk-PT7MCCGD.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-J6EY5V4N.js.map → chunk-QRZNCRNA.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-QIPLHNP7.js.map → chunk-QWBKN3QC.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-7PIWCHTW.js.map → chunk-R5XTTZSJ.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-JOUQZENX.js.map → chunk-RC4UOUXA.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-BEP7WJA2.js.map → chunk-RGMWJLXF.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-NP22ERDF.js.map → chunk-RTBX3C4C.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-FNSPG7MU.js.map → chunk-RXPQ5Q23.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-ULTHRDBP.js.map → chunk-TM5CIO3F.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{chunk-UWQHLMEB.js.map → chunk-TZAE66GQ.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{chunk-OW4JWD5M.js.map → chunk-VAHZIPWS.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{chunk-DYH63FX7.js.map → chunk-VE6ZSTQW.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-3AUGG2DP.js.map → chunk-W5E2UUSH.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-UOHFKBUV.js.map → chunk-WL3SS45P.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-QKJGPFAF.js.map → chunk-WU3KAN6A.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-IA5FKNII.js.map → chunk-X2MGQMZO.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-TD3LVC7D.js.map → chunk-X5YCTFKT.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-B7PE22W6.js.map → chunk-XC2HEEOV.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{chunk-K2X6U4UA.js.map → chunk-XXLXJL7V.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{chunk-EACOH7AU.js.map → chunk-YIIIAKCE.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{chunk-RLCHOOHC.js.map → chunk-YJSURTBB.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{chunk-PGY23YTC.js.map → chunk-YKFHF37B.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{chunk-EYLCSJAI.js.map → chunk-YQEZWI3R.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{close-W6LI2PKM.js.map → close-GPD7DTJV.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{close-CWODTPKG.js.map → close-X3CF6FQP.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{close-many-CQFUY7MR.js.map → close-many-J7A5EHOQ.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{close-many-DLDDVSH5.js.map → close-many-NQLYGPYW.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{comments-E3TNTK24.js.map → comments-2AOZQ5D2.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{comments-WGLHR7LB.js.map → comments-TMHMALA5.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{copy-LXVDXH7B.js.map → copy-FWQA5OU4.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{copy-Q5ZJPUKR.js.map → copy-N3LCQBMC.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{create-LBVCYMEG.js.map → create-AQ5SIGZC.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{create-J5U6ND4K.js.map → create-KOGQ3JKD.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{delete-WNHB3LYW.js.map → delete-6G3MBZ6S.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{delete-PMJBNY5G.js.map → delete-YYYFOSEA.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{deps-JZ7TMVCB.js.map → deps-MQ4ZIGZB.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{deps-OA26IS25.js.map → deps-NIIKXLPB.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{docs-FEWB2DQB.js.map → docs-53NUGMIQ.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{docs-HA2AIDBB.js.map → docs-OWRGDMNY.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{files-EFIWKFTM.js.map → files-3PXGXYDB.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{files-6YFBJRBG.js.map → files-EGLKHD7O.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{focus-POIW5LTJ.js.map → focus-KZLIA6WS.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{focus-4QJR7FOQ.js.map → focus-SRPASFTN.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{history-compact-CKRPDTJN.js.map → history-compact-G4DULDCX.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{history-compact-FWG2C7FZ.js.map → history-compact-HHIUOMZ7.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{history-redact-BB3TGDAE.js.map → history-redact-IUSJ6X3E.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{history-redact-D225BHOZ.js.map → history-redact-THHGRQXV.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{history-repair-6GEAM7HE.js.map → history-repair-KG7SWXI6.js.map} +0 -0
  598. /package/dist/cli-bundle/chunks/{history-repair-RQXKQHL4.js.map → history-repair-LUQWRS7X.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{learnings-JLNLCOL5.js.map → learnings-2MRNBFJF.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{learnings-RSNLSWDC.js.map → learnings-ZVHSALJY.js.map} +0 -0
  601. /package/dist/cli-bundle/chunks/{notes-GB47XXQQ.js.map → notes-73JWKWUD.js.map} +0 -0
  602. /package/dist/cli-bundle/chunks/{notes-2WDH6DXU.js.map → notes-BAKUL5DJ.js.map} +0 -0
  603. /package/dist/cli-bundle/chunks/{plan-VDCJ2PCN.js.map → plan-AZPMCG37.js.map} +0 -0
  604. /package/dist/cli-bundle/chunks/{plan-DOVI2VMW.js.map → plan-LEAGLPGP.js.map} +0 -0
  605. /package/dist/cli-bundle/chunks/{profile-FAU7NZML.js.map → profile-AVCIIZID.js.map} +0 -0
  606. /package/dist/cli-bundle/chunks/{profile-IVXQEL3D.js.map → profile-LFYO3HHX.js.map} +0 -0
  607. /package/dist/cli-bundle/chunks/{register-operations-ZIBBRSED.js.map → register-operations-KHZYR6MG.js.map} +0 -0
  608. /package/dist/cli-bundle/chunks/{register-operations-ZUJ5JWPE.js.map → register-operations-WPQ2LWZJ.js.map} +0 -0
  609. /package/dist/cli-bundle/chunks/{register-setup-BCVLFEYS.js.map → register-setup-PGDNOXDQ.js.map} +0 -0
  610. /package/dist/cli-bundle/chunks/{register-setup-TDCGWIOS.js.map → register-setup-TDN7WAO6.js.map} +0 -0
  611. /package/dist/cli-bundle/chunks/{restore-25DLT2Q2.js.map → restore-E3PRGDN3.js.map} +0 -0
  612. /package/dist/cli-bundle/chunks/{restore-YPMVUUEX.js.map → restore-KIUYTAEJ.js.map} +0 -0
  613. /package/dist/cli-bundle/chunks/{schema-FNU3WE4O.js.map → schema-5JNFQFUW.js.map} +0 -0
  614. /package/dist/cli-bundle/chunks/{schema-NBCM3RAD.js.map → schema-TMIW4XZC.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{update-XHSIAIXE.js.map → update-SQYZA3ZW.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{update-WWBYOPXO.js.map → update-XZJYS5X7.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{update-many-TA7NGQBO.js.map → update-many-R24B3GBK.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{update-many-OUGIU5SF.js.map → update-many-WQ3R3J6N.js.map} +0 -0
  619. /package/dist/{cli/commands → sdk/query}/search-pagination.d.ts +0 -0
  620. /package/dist/{cli/commands → sdk/query}/search-rendering.d.ts +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  assertHistoryRepairTarget,
3
3
  runHistoryRepair,
4
4
  runHistoryRepairAll
5
- } from "./chunk-LSG2U345.js";
5
+ } from "./chunk-L6FVNR7X.js";
6
6
  import {
7
7
  resolveStartTaskInProgressStatus,
8
8
  runClaim,
@@ -16,73 +16,70 @@ import {
16
16
  runTest,
17
17
  runTestAll,
18
18
  runValidate
19
- } from "./chunk-ILX33QXL.js";
19
+ } from "./chunk-F3VC3GOV.js";
20
20
  import {
21
21
  runDocs
22
- } from "./chunk-ODALILG3.js";
23
- import {
24
- runDeps
25
- } from "./chunk-BKVG6XOA.js";
22
+ } from "./chunk-D5XHO4Q7.js";
26
23
  import {
27
24
  runCopy
28
- } from "./chunk-6S3YSUYG.js";
25
+ } from "./chunk-NNANAWFH.js";
29
26
  import {
30
27
  runFocus
31
- } from "./chunk-H2Z3FYXQ.js";
28
+ } from "./chunk-OWP6QFBV.js";
32
29
  import {
33
30
  runDelete
34
- } from "./chunk-3AUGG2DP.js";
31
+ } from "./chunk-W5E2UUSH.js";
35
32
  import {
36
33
  runAppend
37
- } from "./chunk-AHVTB5I5.js";
34
+ } from "./chunk-G6MYGULG.js";
38
35
  import {
39
36
  runProfileApply,
40
37
  runProfileLint,
41
38
  runProfileList,
42
39
  runProfileShow
43
- } from "./chunk-UWQHLMEB.js";
40
+ } from "./chunk-TZAE66GQ.js";
44
41
  import {
45
42
  runNotes
46
- } from "./chunk-FMBNM2EN.js";
43
+ } from "./chunk-LSOWTLEM.js";
47
44
  import {
48
45
  runLearnings
49
- } from "./chunk-34L5OT3Y.js";
46
+ } from "./chunk-6DYOZS6C.js";
50
47
  import {
51
48
  runFiles,
52
49
  runFilesDiscover
53
- } from "./chunk-ZI6VQWQ7.js";
50
+ } from "./chunk-66MKH7SZ.js";
54
51
  import {
55
52
  runCloseMany
56
- } from "./chunk-FNSPG7MU.js";
53
+ } from "./chunk-RXPQ5Q23.js";
57
54
  import {
58
55
  runUpdateMany
59
- } from "./chunk-YBLZ2VE7.js";
56
+ } from "./chunk-XWBD6DSR.js";
60
57
  import {
61
58
  runRestore
62
- } from "./chunk-6CFNAVTF.js";
59
+ } from "./chunk-5HGZKQUL.js";
63
60
  import {
64
61
  runUpdate
65
- } from "./chunk-CRVF2JDM.js";
62
+ } from "./chunk-HPAYDSR2.js";
66
63
  import {
67
64
  runPlan
68
- } from "./chunk-K2X6U4UA.js";
65
+ } from "./chunk-XXLXJL7V.js";
69
66
  import {
70
67
  assertHistoryCompactTarget,
71
68
  runHistoryCompact,
72
69
  runHistoryCompactBulk
73
- } from "./chunk-K3WII2ME.js";
70
+ } from "./chunk-37DRDP2B.js";
74
71
  import {
75
72
  runComments
76
- } from "./chunk-BEP7WJA2.js";
73
+ } from "./chunk-RGMWJLXF.js";
77
74
  import {
78
75
  runConfig,
79
76
  runUpgrade
80
- } from "./chunk-WT3ZEOGH.js";
77
+ } from "./chunk-ADXDCAKP.js";
81
78
  import {
82
79
  SCAFFOLD_CAPABILITIES,
83
80
  runExtension,
84
81
  runInit
85
- } from "./chunk-J6364LFM.js";
82
+ } from "./chunk-DHNG452T.js";
86
83
  import {
87
84
  runSchemaAddField,
88
85
  runSchemaAddStatus,
@@ -97,24 +94,28 @@ import {
97
94
  runSchemaShow,
98
95
  runSchemaShowField,
99
96
  runSchemaShowStatus
100
- } from "./chunk-GM5QHQU6.js";
97
+ } from "./chunk-2XOSFSTH.js";
101
98
  import {
102
99
  runAggregate,
103
100
  runGet,
101
+ runGraph,
104
102
  runSearch
105
- } from "./chunk-HYB5AZ63.js";
103
+ } from "./chunk-GKPCTQYG.js";
104
+ import {
105
+ runDeps
106
+ } from "./chunk-3QDR6ZLU.js";
106
107
  import {
107
108
  runActivity,
108
109
  runContext,
109
110
  runHistory,
110
111
  runNext
111
- } from "./chunk-E2OJMKML.js";
112
+ } from "./chunk-OGVTB5VO.js";
112
113
  import {
113
114
  runList
114
- } from "./chunk-XXXF6PAQ.js";
115
+ } from "./chunk-AXRT7K5V.js";
115
116
  import {
116
117
  runHistoryRedact
117
- } from "./chunk-TD3LVC7D.js";
118
+ } from "./chunk-X5YCTFKT.js";
118
119
  import {
119
120
  resolveRegisteredSearchProvider,
120
121
  resolveRegisteredVectorStoreAdapter
@@ -141,7 +142,7 @@ import {
141
142
  resolveSettingsWithSemanticRuntimeDefaults,
142
143
  resolveVectorStores,
143
144
  writeVectorizationStatusLedger
144
- } from "./chunk-7B67ZL4N.js";
145
+ } from "./chunk-7R6UIHYY.js";
145
146
  import {
146
147
  ACTIVITY_FLAG_CONTRACTS,
147
148
  AGGREGATE_FLAG_CONTRACTS,
@@ -158,6 +159,7 @@ import {
158
159
  FOCUS_FLAG_CONTRACTS,
159
160
  GET_FLAG_CONTRACTS,
160
161
  GLOBAL_FLAG_CONTRACTS,
162
+ GRAPH_FLAG_CONTRACTS,
161
163
  GUIDE_FLAG_CONTRACTS,
162
164
  HEALTH_FLAG_CONTRACTS,
163
165
  INIT_FLAG_CONTRACTS,
@@ -173,19 +175,19 @@ import {
173
175
  UPDATE_FLAG_CONTRACTS,
174
176
  UPDATE_MANY_FLAG_CONTRACTS,
175
177
  toCompletionFlagString
176
- } from "./chunk-H5APFTHZ.js";
178
+ } from "./chunk-WQXRZMFN.js";
177
179
  import {
178
180
  runCreate
179
- } from "./chunk-UMOPHQSU.js";
181
+ } from "./chunk-MR4SHYR4.js";
180
182
  import {
181
183
  parseTags
182
- } from "./chunk-TKOVBP6C.js";
184
+ } from "./chunk-D52ZN3BF.js";
183
185
  import {
184
186
  projectMutationResult
185
- } from "./chunk-IG3SWA4A.js";
187
+ } from "./chunk-EHJFUOXL.js";
186
188
  import {
187
189
  runClose
188
- } from "./chunk-2WSE6PO2.js";
190
+ } from "./chunk-TLWJP5BF.js";
189
191
  import {
190
192
  acquireLock,
191
193
  appendHistoryEntry,
@@ -208,7 +210,7 @@ import {
208
210
  setActiveExtensionRegistrations,
209
211
  setActiveExtensionRenderers,
210
212
  setActiveExtensionServices
211
- } from "./chunk-XSJUSQAE.js";
213
+ } from "./chunk-646MQXFW.js";
212
214
  import {
213
215
  BUILTIN_ITEM_TYPE_VALUES,
214
216
  EXIT_CODE,
@@ -236,7 +238,7 @@ import {
236
238
  resolveRuntimeStatusRegistry,
237
239
  toNonEmptyStringOrUndefined,
238
240
  writeFileAtomic
239
- } from "./chunk-BSEQUTQP.js";
241
+ } from "./chunk-WACRQ26A.js";
240
242
 
241
243
  // dist/sdk/runtime.js
242
244
  import path3 from "node:path";
@@ -324,7 +326,7 @@ function memoizeWorkspaceExtensionRegistrations(cacheKey, loadRegistrations) {
324
326
  !(function() {
325
327
  try {
326
328
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
327
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a2c3675b-3c03-501f-8d2f-2405db17fabb");
329
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6d0e5ae8-a3fd-535d-942b-3629f93b5ff6");
328
330
  } catch (e2) {
329
331
  }
330
332
  })();
@@ -333,7 +335,7 @@ function memoizeWorkspaceExtensionRegistrations(cacheKey, loadRegistrations) {
333
335
  !(function() {
334
336
  try {
335
337
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
336
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "246cb97d-1f47-52a8-bf9a-012d5ab982c4");
338
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "52271df3-791f-5fa8-8666-c8edc31a5cbe");
337
339
  } catch (e2) {
338
340
  }
339
341
  })();
@@ -363,16 +365,362 @@ function parseRuntimeInteger(value, label) {
363
365
  if (!Number.isInteger(value)) {
364
366
  throw new PmCliError(`${label} must be a finite integer.`, EXIT_CODE.USAGE);
365
367
  }
366
- return value;
368
+ return value;
369
+ }
370
+ if (typeof value === "string" && value.trim().length > 0) {
371
+ const parsed = Number(value);
372
+ if (!Number.isInteger(parsed)) {
373
+ throw new PmCliError(`${label} must be a finite integer.`, EXIT_CODE.USAGE);
374
+ }
375
+ return parsed;
376
+ }
377
+ return void 0;
378
+ }
379
+ function actionGlobalOptions(args) {
380
+ return {
381
+ json: true,
382
+ quiet: true,
383
+ path: readRuntimeString(args, "path"),
384
+ noExtensions: args.noExtensions === true || args.no_extensions === true,
385
+ noPager: true
386
+ };
387
+ }
388
+ var ARRAY_TO_CSV_FIELDS = /* @__PURE__ */ new Set([
389
+ "tags",
390
+ "blockedBy",
391
+ "blocked_by",
392
+ "skills",
393
+ "fields"
394
+ ]);
395
+ var SCALAR_TO_ARRAY_FIELDS = /* @__PURE__ */ new Set([
396
+ "comment",
397
+ "note",
398
+ "learning",
399
+ "reminder",
400
+ "event",
401
+ "dep",
402
+ "depRemove",
403
+ "dep_remove",
404
+ "file",
405
+ "doc",
406
+ "test",
407
+ "unset",
408
+ "addGlob",
409
+ "add_glob",
410
+ "migrate",
411
+ "envSet",
412
+ "env_set",
413
+ "envClear",
414
+ "env_clear"
415
+ ]);
416
+ var ARRAY_ADD_REMOVE_ACTIONS = /* @__PURE__ */ new Set([
417
+ "files",
418
+ "files-discover",
419
+ "docs",
420
+ "test",
421
+ "test-all"
422
+ ]);
423
+ var LIFECYCLE_AUTHOR_ALIAS_ACTIONS = /* @__PURE__ */ new Set([
424
+ "claim",
425
+ "release",
426
+ "start-task",
427
+ "pause-task",
428
+ "close-task"
429
+ ]);
430
+ function normalizeMcpOptionsArrays(options, action) {
431
+ const result = {};
432
+ const promoteAddRemove = action !== void 0 && ARRAY_ADD_REMOVE_ACTIONS.has(action);
433
+ const preserveStandaloneNote = action === "files" || action === "files-discover" || action === "docs";
434
+ for (const [key, value] of Object.entries(options)) {
435
+ if (Array.isArray(value) && ARRAY_TO_CSV_FIELDS.has(key)) {
436
+ result[key] = value.join(",");
437
+ continue;
438
+ }
439
+ if (key === "note" && preserveStandaloneNote) {
440
+ result[key] = value;
441
+ continue;
442
+ }
443
+ if (typeof value === "string" && SCALAR_TO_ARRAY_FIELDS.has(key)) {
444
+ result[key] = [value];
445
+ continue;
446
+ }
447
+ if (typeof value === "string" && promoteAddRemove && (key === "add" || key === "remove")) {
448
+ result[key] = [value];
449
+ continue;
450
+ }
451
+ result[key] = value;
452
+ }
453
+ return result;
454
+ }
455
+ function optionsWithAuthor(args, action) {
456
+ const baseOptions = asRecordClone(args.options);
457
+ const hoistedTopLevel = {};
458
+ const hoistKey = (key) => {
459
+ if (baseOptions[key] !== void 0 || args[key] === void 0) {
460
+ return;
461
+ }
462
+ hoistedTopLevel[key] = args[key];
463
+ };
464
+ if (action === "list") {
465
+ hoistKey("status");
466
+ hoistKey("type");
467
+ hoistKey("tag");
468
+ hoistKey("priority");
469
+ hoistKey("limit");
470
+ hoistKey("offset");
471
+ } else if (action === "search") {
472
+ hoistKey("mode");
473
+ hoistKey("status");
474
+ hoistKey("type");
475
+ hoistKey("tag");
476
+ hoistKey("priority");
477
+ hoistKey("limit");
478
+ } else if (action === "create") {
479
+ hoistKey("title");
480
+ hoistKey("type");
481
+ hoistKey("status");
482
+ hoistKey("description");
483
+ hoistKey("body");
484
+ hoistKey("priority");
485
+ hoistKey("tags");
486
+ hoistKey("parent");
487
+ hoistKey("createMode");
488
+ hoistKey("create_mode");
489
+ hoistKey("allowMissingParent");
490
+ } else if (action === "close") {
491
+ hoistKey("duplicateOf");
492
+ } else if (action === "append") {
493
+ hoistKey("body");
494
+ }
495
+ const options = normalizeMcpOptionsArrays({ ...hoistedTopLevel, ...baseOptions }, action);
496
+ const author = readRuntimeString(args, "author");
497
+ const authorFromAssignee = action !== void 0 && LIFECYCLE_AUTHOR_ALIAS_ACTIONS.has(action) ? readRuntimeString(args, "assignee") ?? readRuntimeString(options, "assignee") : void 0;
498
+ if (author && options.author === void 0) {
499
+ return { ...options, author };
500
+ }
501
+ if (authorFromAssignee && options.author === void 0) {
502
+ return { ...options, author: authorFromAssignee };
503
+ }
504
+ return options;
505
+ }
506
+ function withAddNoteOption(options) {
507
+ if (options.addNote === void 0) {
508
+ return options;
509
+ }
510
+ const next2 = { ...options };
511
+ if (next2.note === void 0 && typeof next2.addNote === "string") {
512
+ next2.note = next2.addNote;
513
+ }
514
+ delete next2.addNote;
515
+ return next2;
516
+ }
517
+ function withFilesDiscoveryOptions(options) {
518
+ const next2 = { ...options };
519
+ if (next2.discoveryNote !== void 0 && next2.note === void 0 && typeof next2.discoveryNote === "string") {
520
+ next2.note = next2.discoveryNote;
521
+ }
522
+ delete next2.discover;
523
+ delete next2.discoveryNote;
524
+ return next2;
525
+ }
526
+ function normalizeActionName(value) {
527
+ const chunks = [];
528
+ let lastWasSeparator = true;
529
+ for (const character of value.trim().toLowerCase()) {
530
+ const isAlphaNumeric = character >= "a" && character <= "z" || character >= "0" && character <= "9";
531
+ if (isAlphaNumeric) {
532
+ chunks.push(character);
533
+ lastWasSeparator = false;
534
+ continue;
535
+ }
536
+ if (!lastWasSeparator) {
537
+ chunks.push("-");
538
+ lastWasSeparator = true;
539
+ }
540
+ }
541
+ if (chunks.at(-1) === "-") {
542
+ chunks.pop();
543
+ }
544
+ return chunks.join("");
545
+ }
546
+ function normalizeCommandPath(value) {
547
+ return value.trim().toLowerCase().split(/\s+/).filter(Boolean).join(" ");
548
+ }
549
+ function readRuntimeStringArray(value) {
550
+ if (!Array.isArray(value)) {
551
+ return [];
552
+ }
553
+ return value.map((entry) => String(entry)).filter((entry) => entry.length > 0);
554
+ }
555
+ function extensionOptionsFromArgs(args, options) {
556
+ const reserved = /* @__PURE__ */ new Set([
557
+ "action",
558
+ "args",
559
+ "author",
560
+ "cwd",
561
+ "fullChangedFields",
562
+ "id",
563
+ "options",
564
+ "path",
565
+ "query",
566
+ "reason",
567
+ "target"
568
+ ]);
569
+ const passthrough = {};
570
+ for (const [key, value] of Object.entries(args)) {
571
+ if (!reserved.has(key)) {
572
+ passthrough[key] = value;
573
+ }
574
+ }
575
+ const normalizedOptions = { ...passthrough, ...options };
576
+ delete normalizedOptions.args;
577
+ return normalizedOptions;
578
+ }
579
+ function withMutationCompaction(args, options) {
580
+ return {
581
+ changedFields: args.fullChangedFields === true ? "full" : "compact",
582
+ idOnly: args.idOnly === true,
583
+ runnerOptions: { ...options }
584
+ };
585
+ }
586
+ function mutationListOptions(options) {
587
+ return {
588
+ type: readRuntimeScalarString(options, "filterType"),
589
+ tag: readRuntimeScalarString(options, "filterTag"),
590
+ priority: readRuntimeScalarString(options, "filterPriority"),
591
+ deadlineBefore: readRuntimeScalarString(options, "filterDeadlineBefore"),
592
+ deadlineAfter: readRuntimeScalarString(options, "filterDeadlineAfter"),
593
+ updatedAfter: readRuntimeScalarString(options, "filterUpdatedAfter"),
594
+ updatedBefore: readRuntimeScalarString(options, "filterUpdatedBefore"),
595
+ createdAfter: readRuntimeScalarString(options, "filterCreatedAfter"),
596
+ createdBefore: readRuntimeScalarString(options, "filterCreatedBefore"),
597
+ ids: readRuntimeScalarStringAllowBlank(options, "ids"),
598
+ assignee: readRuntimeScalarString(options, "filterAssignee"),
599
+ assigneeFilter: readRuntimeScalarString(options, "filterAssigneeFilter") ?? readRuntimeScalarString(options, "filterAssignee_filter"),
600
+ parent: readRuntimeScalarString(options, "filterParent"),
601
+ sprint: readRuntimeScalarString(options, "filterSprint"),
602
+ release: readRuntimeScalarString(options, "filterRelease"),
603
+ limit: readRuntimeScalarString(options, "limit"),
604
+ offset: readRuntimeScalarString(options, "offset")
605
+ };
606
+ }
607
+ function readGraphIdListOption(value) {
608
+ if (typeof value === "string" && value.trim().length > 0)
609
+ return value;
610
+ if (Array.isArray(value))
611
+ return readRuntimeStringArray(value);
612
+ return void 0;
613
+ }
614
+ function readGraphBoundOption(value) {
615
+ if (typeof value === "number" && Number.isFinite(value))
616
+ return value;
617
+ if (typeof value === "string" && value.trim().length > 0)
618
+ return value;
619
+ return void 0;
620
+ }
621
+ function graphOptionsFromFlat(options) {
622
+ const kind = readGraphIdListOption(options.kind);
623
+ const exemptIsolate = readGraphIdListOption(options.exemptIsolate);
624
+ return {
625
+ ...kind === void 0 ? {} : { kind },
626
+ maxDepth: readGraphBoundOption(options.maxDepth),
627
+ limit: readGraphBoundOption(options.limit),
628
+ after: readRuntimeString(options, "after"),
629
+ direction: readRuntimeString(options, "direction"),
630
+ maxPaths: readGraphBoundOption(options.maxPaths),
631
+ sample: readGraphBoundOption(options.sample),
632
+ ...exemptIsolate === void 0 ? {} : { exemptIsolate },
633
+ summary: options.summary === true
634
+ };
635
+ }
636
+ function closeManyOptionsFromFlat(options) {
637
+ return {
638
+ status: readRuntimeString(options, "filterStatus"),
639
+ list: isRuntimeRecord(options.list) ? normalizeListOptions(options.list) : mutationListOptions(options),
640
+ reason: readRuntimeString(options, "reason"),
641
+ resolution: readRuntimeString(options, "resolution"),
642
+ expectedResult: readRuntimeString(options, "expectedResult") ?? readRuntimeString(options, "expected_result") ?? readRuntimeString(options, "expected"),
643
+ actualResult: readRuntimeString(options, "actualResult") ?? readRuntimeString(options, "actual_result") ?? readRuntimeString(options, "actual"),
644
+ validateClose: readRuntimeString(options, "validateClose") ?? readRuntimeString(options, "validate_close"),
645
+ author: readRuntimeString(options, "author"),
646
+ message: readRuntimeString(options, "message"),
647
+ force: options.force === true ? true : void 0,
648
+ dryRun: options.dryRun === true || options.dry_run === true ? true : void 0,
649
+ rollback: readRuntimeString(options, "rollback"),
650
+ checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : void 0
651
+ };
652
+ }
653
+ var UPDATE_MANY_FLAT_CONTROL_KEYS = /* @__PURE__ */ new Set([
654
+ "filterStatus",
655
+ "filterType",
656
+ "filterTag",
657
+ "filterPriority",
658
+ "filterDeadlineBefore",
659
+ "filterDeadlineAfter",
660
+ "filterUpdatedAfter",
661
+ "filterUpdatedBefore",
662
+ "filterCreatedAfter",
663
+ "filterCreatedBefore",
664
+ "filterAssignee",
665
+ "filterAssigneeFilter",
666
+ "filterAssignee_filter",
667
+ "filterParent",
668
+ "filterSprint",
669
+ "filterRelease",
670
+ "ids",
671
+ "list",
672
+ "update",
673
+ "limit",
674
+ "offset",
675
+ "dryRun",
676
+ "dry_run",
677
+ "rollback",
678
+ "checkpoint",
679
+ "noCheckpoint",
680
+ "no_checkpoint"
681
+ ]);
682
+ function updateManyUpdateOptionsFromFlat(options) {
683
+ const update2 = {};
684
+ for (const [key, value] of Object.entries(options)) {
685
+ if (UPDATE_MANY_FLAT_CONTROL_KEYS.has(key)) {
686
+ continue;
687
+ }
688
+ update2[key] = value;
367
689
  }
368
- if (typeof value === "string" && value.trim().length > 0) {
369
- const parsed = Number(value);
370
- if (!Number.isInteger(parsed)) {
371
- throw new PmCliError(`${label} must be a finite integer.`, EXIT_CODE.USAGE);
690
+ return normalizeMcpUpdateOptions(update2);
691
+ }
692
+ function normalizeMcpUpdateOptions(options) {
693
+ const normalizedInput = normalizeMcpOptionsArrays(options, "update-many");
694
+ for (const contract of UPDATE_COMMANDER_STRING_OPTION_CONTRACTS) {
695
+ for (const key of contract.keys) {
696
+ const value = normalizedInput[key];
697
+ if (typeof value === "number" && Number.isFinite(value)) {
698
+ normalizedInput[key] = String(value);
699
+ }
372
700
  }
373
- return parsed;
374
701
  }
375
- return void 0;
702
+ return normalizeUpdateOptions(normalizedInput);
703
+ }
704
+ function updateManyOptionsFromFlat(options) {
705
+ if (isRuntimeRecord(options.list) || isRuntimeRecord(options.update)) {
706
+ const updateSource = isRuntimeRecord(options.update) ? options.update : updateManyUpdateOptionsFromFlat(options);
707
+ return {
708
+ status: readRuntimeScalarString(options, "filterStatus"),
709
+ list: isRuntimeRecord(options.list) ? normalizeListOptions(options.list) : mutationListOptions(options),
710
+ update: normalizeMcpUpdateOptions(updateSource),
711
+ dryRun: options.dryRun === true || options.dry_run === true ? true : void 0,
712
+ rollback: readRuntimeString(options, "rollback"),
713
+ checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : void 0
714
+ };
715
+ }
716
+ return {
717
+ status: readRuntimeScalarString(options, "filterStatus"),
718
+ list: mutationListOptions(options),
719
+ update: updateManyUpdateOptionsFromFlat(options),
720
+ dryRun: options.dryRun === true || options.dry_run === true ? true : void 0,
721
+ rollback: readRuntimeString(options, "rollback"),
722
+ checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : void 0
723
+ };
376
724
  }
377
725
 
378
726
  // dist/sdk/history-mcp.js
@@ -1534,7 +1882,7 @@ function renderGuideMarkdown(result) {
1534
1882
  !(function() {
1535
1883
  try {
1536
1884
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1537
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c129d790-a418-5226-8a6e-eea642855314");
1885
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0cbc08ea-b2ee-5ae6-88c1-9cc026c274f2");
1538
1886
  } catch (e2) {
1539
1887
  }
1540
1888
  })();
@@ -1559,6 +1907,7 @@ var CALENDAR_FLAGS = toCompletionFlagString(CALENDAR_FLAG_CONTRACTS);
1559
1907
  var CONTEXT_FLAGS = toCompletionFlagString(CONTEXT_FLAG_CONTRACTS);
1560
1908
  var NEXT_FLAGS = toCompletionFlagString(NEXT_FLAG_CONTRACTS);
1561
1909
  var DEPS_FLAGS = toCompletionFlagString(DEPS_FLAG_CONTRACTS);
1910
+ var GRAPH_FLAGS = toCompletionFlagString(GRAPH_FLAG_CONTRACTS);
1562
1911
  var GUIDE_FLAGS = toCompletionFlagString(GUIDE_FLAG_CONTRACTS);
1563
1912
  var SEARCH_FLAGS = toCompletionFlagString(SEARCH_FLAG_CONTRACTS);
1564
1913
  var HEALTH_FLAGS = toCompletionFlagString(HEALTH_FLAG_CONTRACTS);
@@ -1651,6 +2000,7 @@ var COMMAND_COMPLETION_DESCRIPTIONS = [
1651
2000
  ["files", "Manage linked files"],
1652
2001
  ["docs", "Manage linked docs"],
1653
2002
  ["deps", "Show dependency relationships for an item"],
2003
+ ["graph", "Bounded graph traversal, analytics, and governance-audit queries"],
1654
2004
  ["test", "Manage linked tests and optionally run them"],
1655
2005
  ["test-all", "Run linked tests across matching items"],
1656
2006
  ["test-runs", "Manage background linked-test runs"],
@@ -2107,6 +2457,9 @@ function generateBashScript(itemTypes = [], tags = [], eagerTagExpansion = false
2107
2457
  " deps)",
2108
2458
  ` COMPREPLY=(${compgen(DEPS_FLAGS)})`,
2109
2459
  " ;;",
2460
+ " graph)",
2461
+ ` COMPREPLY=(${compgen(`ancestors descendants predecessors successors paths impact analyze audit communities redundancy dominators plan ${GRAPH_FLAGS}`)})`,
2462
+ " ;;",
2110
2463
  " test)",
2111
2464
  ` COMPREPLY=(${compgen("--add --add-json --remove --list --run --match --only-index --only-last --background --timeout --progress --env-set --env-clear --shared-host-safe --pm-context --override-linked-pm-context --fail-on-context-mismatch --fail-on-skipped --fail-on-empty-test-run --require-assertions-for-pm --check-context --auto-pm-context --author --message --force --json --quiet --no-changed-fields --pm-path --path --no-extensions --no-pager --profile --help")})`,
2112
2465
  " ;;",
@@ -2808,10 +3161,31 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
2808
3161
  ;;
2809
3162
  deps)
2810
3163
  _arguments \\
2811
- '--format[Output format]:(tree graph)' \\
3164
+ '--format[Output format]:(tree graph context)' \\
2812
3165
  '--max-depth[Maximum traversal depth (0 keeps root only)]:depth' \\
2813
3166
  '--collapse[Collapse mode]:(none repeated)' \\
2814
3167
  '--summary[Return counts only without tree/graph payload]' \\
3168
+ '--node-limit[Maximum nodes in context output]:number' \\
3169
+ '--edge-limit[Maximum edges in context output]:number' \\
3170
+ '--token-budget[Maximum estimated tokens in context output]:number' \\
3171
+ '--cursor[Continue an equivalent context query]:cursor' \\
3172
+ '--direction[Context traversal direction]:(outgoing incoming both)' \\
3173
+ '--kind[Restrict context traversal to relationship kinds]:kind' \\
3174
+ '--json[Output JSON]' \\
3175
+ '--quiet[Suppress stdout]'
3176
+ ;;
3177
+ graph)
3178
+ _arguments \\
3179
+ '1:subcommand:(ancestors descendants predecessors successors paths impact analyze audit communities redundancy dominators plan)' \\
3180
+ '--kind[Restrict traversal to registered relationship kinds]:kind' \\
3181
+ '--max-depth[Maximum traversal depth]:depth' \\
3182
+ '--limit[Maximum returned rows per bounded collection]:number' \\
3183
+ '--after[Resume a traversal after this node id]:id' \\
3184
+ '--direction[Edge orientation for paths/impact]:(outgoing incoming both)' \\
3185
+ '--max-paths[Maximum enumerated paths]:number' \\
3186
+ '--sample[Maximum evidence sample entries per audit finding]:number' \\
3187
+ '--exempt-isolate[Item ids treated as explicitly valid isolates]:id' \\
3188
+ '--summary[Return counts-first envelopes without row collections]' \\
2815
3189
  '--json[Output JSON]' \\
2816
3190
  '--quiet[Suppress stdout]'
2817
3191
  ;;
@@ -3675,10 +4049,26 @@ complete -c pm -n '__fish_seen_subcommand_from contracts' -l flags-only -d 'Retu
3675
4049
  complete -c pm -n '__fish_seen_subcommand_from contracts' -l availability-only -d 'Return action availability only'
3676
4050
  complete -c pm -n '__fish_seen_subcommand_from contracts' -l runtime-only -d 'Include only actions invocable in the current runtime'
3677
4051
  complete -c pm -n '__fish_seen_subcommand_from contracts' -l active-only -d 'Alias for --runtime-only'
3678
- complete -c pm -n '__fish_seen_subcommand_from deps' -l format -d 'Output format' -r -a 'tree graph'
4052
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l format -d 'Output format' -r -a 'tree graph context'
3679
4053
  complete -c pm -n '__fish_seen_subcommand_from deps' -l max-depth -d 'Maximum traversal depth (0 keeps root only)' -r
3680
4054
  complete -c pm -n '__fish_seen_subcommand_from deps' -l collapse -d 'Collapse mode' -r -a 'none repeated'
3681
4055
  complete -c pm -n '__fish_seen_subcommand_from deps' -l summary -d 'Return counts only without tree/graph payload'
4056
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l node-limit -d 'Maximum nodes in context output' -r
4057
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l edge-limit -d 'Maximum edges in context output' -r
4058
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l token-budget -d 'Maximum estimated tokens in context output' -r
4059
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l cursor -d 'Continue an equivalent context query' -r
4060
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l direction -d 'Context traversal direction' -r -a 'outgoing incoming both'
4061
+ complete -c pm -n '__fish_seen_subcommand_from deps' -l kind -d 'Restrict context traversal to relationship kinds' -r
4062
+ complete -c pm -n '__fish_seen_subcommand_from graph' -a 'ancestors descendants predecessors successors paths impact analyze audit communities redundancy dominators plan' -d 'Graph query'
4063
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l kind -d 'Restrict traversal to registered relationship kinds' -r
4064
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l max-depth -d 'Maximum traversal depth' -r
4065
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l limit -d 'Maximum returned rows per bounded collection' -r
4066
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l after -d 'Resume a traversal after this node id' -r
4067
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l direction -d 'Edge orientation for paths/impact' -r -a 'outgoing incoming both'
4068
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l max-paths -d 'Maximum enumerated paths' -r
4069
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l sample -d 'Maximum evidence sample entries per audit finding' -r
4070
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l exempt-isolate -d 'Item ids treated as explicitly valid isolates' -r
4071
+ complete -c pm -n '__fish_seen_subcommand_from graph' -l summary -d 'Return counts-first envelopes without row collections'
3682
4072
 
3683
4073
  # comments / notes / learnings flags
3684
4074
  complete -c pm -n '__fish_seen_subcommand_from comments notes learnings' -l add -d 'Add one entry (text=<value> or plain text)' -r
@@ -4705,7 +5095,7 @@ async function runReindex(options, global2) {
4705
5095
  !(function() {
4706
5096
  try {
4707
5097
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4708
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "40c78d4e-1d6c-5910-a925-95fb87ebad82");
5098
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "eceb55d4-5d10-5d1f-b060-4ea493f70d9d");
4709
5099
  } catch (e2) {
4710
5100
  }
4711
5101
  })();
@@ -4786,6 +5176,10 @@ var PmClient = class {
4786
5176
  deps(id, options = {}) {
4787
5177
  return this.runTyped("deps", { id, options });
4788
5178
  }
5179
+ /** Run bounded workspace graph traversal, analytics, or governance-audit queries. */
5180
+ graph(subcommand, ids = {}, options = {}) {
5181
+ return this.runTyped("graph", { subcommand, ...ids, options });
5182
+ }
4789
5183
  /** Append markdown/body text to an item through the mutation pipeline. */
4790
5184
  append(id, body, options = {}) {
4791
5185
  return this.runTyped("append", {
@@ -5238,6 +5632,9 @@ function docs(id, options = {}, clientOptions = {}) {
5238
5632
  function deps(id, options = {}, clientOptions = {}) {
5239
5633
  return new PmClient(clientOptions).deps(id, options);
5240
5634
  }
5635
+ function graph(subcommand, ids = {}, options = {}, clientOptions = {}) {
5636
+ return new PmClient(clientOptions).graph(subcommand, ids, options);
5637
+ }
5241
5638
  function append(id, body, options = {}, clientOptions = {}) {
5242
5639
  return new PmClient(clientOptions).append(id, body, options);
5243
5640
  }
@@ -5377,288 +5774,88 @@ function extensionActivate(target, options = {}, clientOptions = {}) {
5377
5774
  return new PmClient(clientOptions).extensionActivate(target, options);
5378
5775
  }
5379
5776
  function extensionDeactivate(target, options = {}, clientOptions = {}) {
5380
- return new PmClient(clientOptions).extensionDeactivate(target, options);
5381
- }
5382
- function packageLifecycle(target, options = {}, clientOptions = {}) {
5383
- return new PmClient(clientOptions).package(target, options);
5384
- }
5385
- function packageList(options = {}, clientOptions = {}) {
5386
- return new PmClient(clientOptions).packageList(options);
5387
- }
5388
- function packageInstall(target, options = {}, clientOptions = {}) {
5389
- return new PmClient(clientOptions).packageInstall(target, options);
5390
- }
5391
- function packageUninstall(target, options = {}, clientOptions = {}) {
5392
- return new PmClient(clientOptions).packageUninstall(target, options);
5393
- }
5394
- function packageDoctor(options = {}, clientOptions = {}) {
5395
- return new PmClient(clientOptions).packageDoctor(options);
5396
- }
5397
- function packageManage(target, options = {}, clientOptions = {}) {
5398
- return new PmClient(clientOptions).packageManage(target, options);
5399
- }
5400
- function packageDescribe(target, options = {}, clientOptions = {}) {
5401
- return new PmClient(clientOptions).packageDescribe(target, options);
5402
- }
5403
- function packageReload(options = {}, clientOptions = {}) {
5404
- return new PmClient(clientOptions).packageReload(options);
5405
- }
5406
- function packageCatalog(options = {}, clientOptions = {}) {
5407
- return new PmClient(clientOptions).packageCatalog(options);
5408
- }
5409
- function packageActivate(target, options = {}, clientOptions = {}) {
5410
- return new PmClient(clientOptions).packageActivate(target, options);
5411
- }
5412
- function packageDeactivate(target, options = {}, clientOptions = {}) {
5413
- return new PmClient(clientOptions).packageDeactivate(target, options);
5414
- }
5415
- function upgrade(target, options = {}, clientOptions = {}) {
5416
- return new PmClient(clientOptions).upgrade(target, options);
5417
- }
5418
- function buildWorkspaceExtensionRegistrationsCacheKey(pmRoot, settings, cwd) {
5419
- return JSON.stringify([
5420
- path3.resolve(pmRoot),
5421
- path3.resolve(cwd ?? process.cwd()),
5422
- settings.extensions.enabled,
5423
- settings.extensions.disabled,
5424
- settings.extensions.policy
5425
- ]);
5426
- }
5427
- async function resolveWorkspaceExtensionRegistrations(pmRoot, settings, cwd) {
5428
- const cacheKey = buildWorkspaceExtensionRegistrationsCacheKey(pmRoot, settings, cwd);
5429
- return memoizeWorkspaceExtensionRegistrations(cacheKey, () => loadWorkspaceExtensionRegistrations(pmRoot, settings, cwd));
5430
- }
5431
- async function getWorkspaceContracts(pmRoot, options = {}) {
5432
- const settings = await readSettings(pmRoot);
5433
- const extensionRegistrations = options.extensionRegistrations ?? (options.noExtensions === true ? null : await resolveWorkspaceExtensionRegistrations(pmRoot, settings, options.cwd));
5434
- const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);
5435
- const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
5436
- return {
5437
- types: [...typeRegistry.types],
5438
- statuses: statusRegistry.definitions.map((definition) => definition.id),
5439
- openStatus: statusRegistry.open_status,
5440
- closeStatus: statusRegistry.close_status,
5441
- canceledStatus: statusRegistry.canceled_status
5442
- };
5443
- }
5444
- async function getContracts(pmRootOrOptions, options = {}) {
5445
- const resolvedOptions = typeof pmRootOrOptions === "string" ? { ...options, pmRoot: pmRootOrOptions } : pmRootOrOptions ?? options;
5446
- const global2 = {
5447
- json: true,
5448
- quiet: resolvedOptions.quiet ?? true,
5449
- noExtensions: resolvedOptions.noExtensions ?? false,
5450
- noPager: true,
5451
- profile: resolvedOptions.profile ?? false,
5452
- path: resolvedOptions.pmRoot
5453
- };
5454
- return runContracts(resolvedOptions, global2);
5455
- }
5456
- function readRequiredString(args, key) {
5457
- const value = readRuntimeString(args, key);
5458
- if (!value) {
5459
- throw new PmCliError(`Missing required argument: ${key}`, 64);
5460
- }
5461
- return value;
5462
- }
5463
- function globalOptions(args) {
5464
- return {
5465
- json: true,
5466
- quiet: true,
5467
- path: readRuntimeString(args, "path"),
5468
- noExtensions: args.noExtensions === true || args.no_extensions === true,
5469
- noPager: true
5470
- };
5471
- }
5472
- var ARRAY_TO_CSV_FIELDS = /* @__PURE__ */ new Set([
5473
- "tags",
5474
- "blockedBy",
5475
- "blocked_by",
5476
- "skills",
5477
- "fields"
5478
- ]);
5479
- var SCALAR_TO_ARRAY_FIELDS = /* @__PURE__ */ new Set([
5480
- "comment",
5481
- "note",
5482
- "learning",
5483
- "reminder",
5484
- "event",
5485
- "dep",
5486
- "depRemove",
5487
- "dep_remove",
5488
- "file",
5489
- "doc",
5490
- "test",
5491
- "unset",
5492
- "addGlob",
5493
- "add_glob",
5494
- "migrate",
5495
- "envSet",
5496
- "env_set",
5497
- "envClear",
5498
- "env_clear"
5499
- ]);
5500
- var ARRAY_ADD_REMOVE_ACTIONS = /* @__PURE__ */ new Set([
5501
- "files",
5502
- "files-discover",
5503
- "docs",
5504
- "test",
5505
- "test-all"
5506
- ]);
5507
- var LIFECYCLE_AUTHOR_ALIAS_ACTIONS = /* @__PURE__ */ new Set([
5508
- "claim",
5509
- "release",
5510
- "start-task",
5511
- "pause-task",
5512
- "close-task"
5513
- ]);
5514
- function normalizeMcpOptionsArrays(options, action) {
5515
- const result = {};
5516
- const promoteAddRemove = action !== void 0 && ARRAY_ADD_REMOVE_ACTIONS.has(action);
5517
- const preserveStandaloneNote = action === "files" || action === "files-discover" || action === "docs";
5518
- for (const [key, value] of Object.entries(options)) {
5519
- if (Array.isArray(value) && ARRAY_TO_CSV_FIELDS.has(key)) {
5520
- result[key] = value.join(",");
5521
- continue;
5522
- }
5523
- if (key === "note" && preserveStandaloneNote) {
5524
- result[key] = value;
5525
- continue;
5526
- }
5527
- if (typeof value === "string" && SCALAR_TO_ARRAY_FIELDS.has(key)) {
5528
- result[key] = [value];
5529
- continue;
5530
- }
5531
- if (typeof value === "string" && promoteAddRemove && (key === "add" || key === "remove")) {
5532
- result[key] = [value];
5533
- continue;
5534
- }
5535
- result[key] = value;
5536
- }
5537
- return result;
5538
- }
5539
- function optionsWithAuthor(args, action) {
5540
- const baseOptions = asRecordClone(args.options);
5541
- const hoistedTopLevel = {};
5542
- const hoistKey = (key) => {
5543
- if (baseOptions[key] !== void 0 || args[key] === void 0) {
5544
- return;
5545
- }
5546
- hoistedTopLevel[key] = args[key];
5547
- };
5548
- if (action === "list") {
5549
- hoistKey("status");
5550
- hoistKey("type");
5551
- hoistKey("tag");
5552
- hoistKey("priority");
5553
- hoistKey("limit");
5554
- hoistKey("offset");
5555
- } else if (action === "search") {
5556
- hoistKey("mode");
5557
- hoistKey("status");
5558
- hoistKey("type");
5559
- hoistKey("tag");
5560
- hoistKey("priority");
5561
- hoistKey("limit");
5562
- } else if (action === "create") {
5563
- hoistKey("title");
5564
- hoistKey("type");
5565
- hoistKey("status");
5566
- hoistKey("description");
5567
- hoistKey("body");
5568
- hoistKey("priority");
5569
- hoistKey("tags");
5570
- hoistKey("parent");
5571
- hoistKey("createMode");
5572
- hoistKey("create_mode");
5573
- hoistKey("allowMissingParent");
5574
- } else if (action === "close") {
5575
- hoistKey("duplicateOf");
5576
- } else if (action === "append") {
5577
- hoistKey("body");
5578
- }
5579
- const options = normalizeMcpOptionsArrays({ ...hoistedTopLevel, ...baseOptions }, action);
5580
- const author = readRuntimeString(args, "author");
5581
- const authorFromAssignee = action !== void 0 && LIFECYCLE_AUTHOR_ALIAS_ACTIONS.has(action) ? readRuntimeString(args, "assignee") ?? readRuntimeString(options, "assignee") : void 0;
5582
- if (author && options.author === void 0) {
5583
- return { ...options, author };
5584
- }
5585
- if (authorFromAssignee && options.author === void 0) {
5586
- return { ...options, author: authorFromAssignee };
5587
- }
5588
- return options;
5777
+ return new PmClient(clientOptions).extensionDeactivate(target, options);
5589
5778
  }
5590
- function withAddNoteOption(options) {
5591
- if (options.addNote === void 0) {
5592
- return options;
5593
- }
5594
- const next2 = { ...options };
5595
- if (next2.note === void 0 && typeof next2.addNote === "string") {
5596
- next2.note = next2.addNote;
5597
- }
5598
- delete next2.addNote;
5599
- return next2;
5779
+ function packageLifecycle(target, options = {}, clientOptions = {}) {
5780
+ return new PmClient(clientOptions).package(target, options);
5600
5781
  }
5601
- function withFilesDiscoveryOptions(options) {
5602
- const next2 = { ...options };
5603
- if (next2.discoveryNote !== void 0 && next2.note === void 0 && typeof next2.discoveryNote === "string") {
5604
- next2.note = next2.discoveryNote;
5605
- }
5606
- delete next2.discover;
5607
- delete next2.discoveryNote;
5608
- return next2;
5782
+ function packageList(options = {}, clientOptions = {}) {
5783
+ return new PmClient(clientOptions).packageList(options);
5609
5784
  }
5610
- function normalizeActionName(value) {
5611
- const chunks = [];
5612
- let lastWasSeparator = true;
5613
- for (const character of value.trim().toLowerCase()) {
5614
- const isAlphaNumeric = character >= "a" && character <= "z" || character >= "0" && character <= "9";
5615
- if (isAlphaNumeric) {
5616
- chunks.push(character);
5617
- lastWasSeparator = false;
5618
- continue;
5619
- }
5620
- if (!lastWasSeparator) {
5621
- chunks.push("-");
5622
- lastWasSeparator = true;
5623
- }
5624
- }
5625
- if (chunks.at(-1) === "-") {
5626
- chunks.pop();
5627
- }
5628
- return chunks.join("");
5785
+ function packageInstall(target, options = {}, clientOptions = {}) {
5786
+ return new PmClient(clientOptions).packageInstall(target, options);
5629
5787
  }
5630
- function normalizeCommandPath(value) {
5631
- return value.trim().toLowerCase().split(/\s+/).filter(Boolean).join(" ");
5788
+ function packageUninstall(target, options = {}, clientOptions = {}) {
5789
+ return new PmClient(clientOptions).packageUninstall(target, options);
5632
5790
  }
5633
- function readStringArray(value) {
5634
- if (!Array.isArray(value)) {
5635
- return [];
5636
- }
5637
- return value.map((entry) => String(entry)).filter((entry) => entry.length > 0);
5791
+ function packageDoctor(options = {}, clientOptions = {}) {
5792
+ return new PmClient(clientOptions).packageDoctor(options);
5638
5793
  }
5639
- function extensionOptionsFromArgs(args, options) {
5640
- const reserved = /* @__PURE__ */ new Set([
5641
- "action",
5642
- "args",
5643
- "author",
5644
- "cwd",
5645
- "fullChangedFields",
5646
- "id",
5647
- "options",
5648
- "path",
5649
- "query",
5650
- "reason",
5651
- "target"
5794
+ function packageManage(target, options = {}, clientOptions = {}) {
5795
+ return new PmClient(clientOptions).packageManage(target, options);
5796
+ }
5797
+ function packageDescribe(target, options = {}, clientOptions = {}) {
5798
+ return new PmClient(clientOptions).packageDescribe(target, options);
5799
+ }
5800
+ function packageReload(options = {}, clientOptions = {}) {
5801
+ return new PmClient(clientOptions).packageReload(options);
5802
+ }
5803
+ function packageCatalog(options = {}, clientOptions = {}) {
5804
+ return new PmClient(clientOptions).packageCatalog(options);
5805
+ }
5806
+ function packageActivate(target, options = {}, clientOptions = {}) {
5807
+ return new PmClient(clientOptions).packageActivate(target, options);
5808
+ }
5809
+ function packageDeactivate(target, options = {}, clientOptions = {}) {
5810
+ return new PmClient(clientOptions).packageDeactivate(target, options);
5811
+ }
5812
+ function upgrade(target, options = {}, clientOptions = {}) {
5813
+ return new PmClient(clientOptions).upgrade(target, options);
5814
+ }
5815
+ function buildWorkspaceExtensionRegistrationsCacheKey(pmRoot, settings, cwd) {
5816
+ return JSON.stringify([
5817
+ path3.resolve(pmRoot),
5818
+ path3.resolve(cwd ?? process.cwd()),
5819
+ settings.extensions.enabled,
5820
+ settings.extensions.disabled,
5821
+ settings.extensions.policy
5652
5822
  ]);
5653
- const passthrough = {};
5654
- for (const [key, value] of Object.entries(args)) {
5655
- if (!reserved.has(key)) {
5656
- passthrough[key] = value;
5657
- }
5823
+ }
5824
+ async function resolveWorkspaceExtensionRegistrations(pmRoot, settings, cwd) {
5825
+ const cacheKey = buildWorkspaceExtensionRegistrationsCacheKey(pmRoot, settings, cwd);
5826
+ return memoizeWorkspaceExtensionRegistrations(cacheKey, () => loadWorkspaceExtensionRegistrations(pmRoot, settings, cwd));
5827
+ }
5828
+ async function getWorkspaceContracts(pmRoot, options = {}) {
5829
+ const settings = await readSettings(pmRoot);
5830
+ const extensionRegistrations = options.extensionRegistrations ?? (options.noExtensions === true ? null : await resolveWorkspaceExtensionRegistrations(pmRoot, settings, options.cwd));
5831
+ const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);
5832
+ const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
5833
+ return {
5834
+ types: [...typeRegistry.types],
5835
+ statuses: statusRegistry.definitions.map((definition) => definition.id),
5836
+ openStatus: statusRegistry.open_status,
5837
+ closeStatus: statusRegistry.close_status,
5838
+ canceledStatus: statusRegistry.canceled_status
5839
+ };
5840
+ }
5841
+ async function getContracts(pmRootOrOptions, options = {}) {
5842
+ const resolvedOptions = typeof pmRootOrOptions === "string" ? { ...options, pmRoot: pmRootOrOptions } : pmRootOrOptions ?? options;
5843
+ const global2 = {
5844
+ json: true,
5845
+ quiet: resolvedOptions.quiet ?? true,
5846
+ noExtensions: resolvedOptions.noExtensions ?? false,
5847
+ noPager: true,
5848
+ profile: resolvedOptions.profile ?? false,
5849
+ path: resolvedOptions.pmRoot
5850
+ };
5851
+ return runContracts(resolvedOptions, global2);
5852
+ }
5853
+ function readRequiredString(args, key) {
5854
+ const value = readRuntimeString(args, key);
5855
+ if (!value) {
5856
+ throw new PmCliError(`Missing required argument: ${key}`, 64);
5658
5857
  }
5659
- const normalizedOptions = { ...passthrough, ...options };
5660
- delete normalizedOptions.args;
5661
- return normalizedOptions;
5858
+ return value;
5662
5859
  }
5663
5860
  var extensionActivationQueue = createSerialQueue();
5664
5861
  function resetActiveExtensionRegistries() {
@@ -5735,7 +5932,7 @@ async function dispatchActiveExtensionAction(action, args, options, global2, act
5735
5932
  }
5736
5933
  const handlerResult = await runActiveCommandHandler({
5737
5934
  command: normalizeCommandPath(command),
5738
- args: readStringArray(options.args ?? args.args),
5935
+ args: readRuntimeStringArray(options.args ?? args.args),
5739
5936
  options: extensionOptionsFromArgs(args, options),
5740
5937
  global: global2,
5741
5938
  pm_root: active.pmRoot
@@ -5755,123 +5952,6 @@ async function withCwd(cwd, run) {
5755
5952
  process.chdir(previous);
5756
5953
  }
5757
5954
  }
5758
- function withMutationCompaction(args, options) {
5759
- return {
5760
- changedFields: args.fullChangedFields === true ? "full" : "compact",
5761
- idOnly: args.idOnly === true,
5762
- runnerOptions: { ...options }
5763
- };
5764
- }
5765
- function mutationListOptions(options) {
5766
- return {
5767
- type: readRuntimeScalarString(options, "filterType"),
5768
- tag: readRuntimeScalarString(options, "filterTag"),
5769
- priority: readRuntimeScalarString(options, "filterPriority"),
5770
- deadlineBefore: readRuntimeScalarString(options, "filterDeadlineBefore"),
5771
- deadlineAfter: readRuntimeScalarString(options, "filterDeadlineAfter"),
5772
- updatedAfter: readRuntimeScalarString(options, "filterUpdatedAfter"),
5773
- updatedBefore: readRuntimeScalarString(options, "filterUpdatedBefore"),
5774
- createdAfter: readRuntimeScalarString(options, "filterCreatedAfter"),
5775
- createdBefore: readRuntimeScalarString(options, "filterCreatedBefore"),
5776
- ids: readRuntimeScalarStringAllowBlank(options, "ids"),
5777
- assignee: readRuntimeScalarString(options, "filterAssignee"),
5778
- assigneeFilter: readRuntimeScalarString(options, "filterAssigneeFilter") ?? readRuntimeScalarString(options, "filterAssignee_filter"),
5779
- parent: readRuntimeScalarString(options, "filterParent"),
5780
- sprint: readRuntimeScalarString(options, "filterSprint"),
5781
- release: readRuntimeScalarString(options, "filterRelease"),
5782
- limit: readRuntimeScalarString(options, "limit"),
5783
- offset: readRuntimeScalarString(options, "offset")
5784
- };
5785
- }
5786
- function closeManyOptionsFromFlat(options) {
5787
- return {
5788
- status: readRuntimeString(options, "filterStatus"),
5789
- list: isRuntimeRecord(options.list) ? normalizeListOptions(options.list) : mutationListOptions(options),
5790
- reason: readRuntimeString(options, "reason"),
5791
- resolution: readRuntimeString(options, "resolution"),
5792
- expectedResult: readRuntimeString(options, "expectedResult") ?? readRuntimeString(options, "expected_result") ?? readRuntimeString(options, "expected"),
5793
- actualResult: readRuntimeString(options, "actualResult") ?? readRuntimeString(options, "actual_result") ?? readRuntimeString(options, "actual"),
5794
- validateClose: readRuntimeString(options, "validateClose") ?? readRuntimeString(options, "validate_close"),
5795
- author: readRuntimeString(options, "author"),
5796
- message: readRuntimeString(options, "message"),
5797
- force: options.force === true ? true : void 0,
5798
- dryRun: options.dryRun === true || options.dry_run === true ? true : void 0,
5799
- rollback: readRuntimeString(options, "rollback"),
5800
- checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : void 0
5801
- };
5802
- }
5803
- var UPDATE_MANY_FLAT_CONTROL_KEYS = /* @__PURE__ */ new Set([
5804
- "filterStatus",
5805
- "filterType",
5806
- "filterTag",
5807
- "filterPriority",
5808
- "filterDeadlineBefore",
5809
- "filterDeadlineAfter",
5810
- "filterUpdatedAfter",
5811
- "filterUpdatedBefore",
5812
- "filterCreatedAfter",
5813
- "filterCreatedBefore",
5814
- "filterAssignee",
5815
- "filterAssigneeFilter",
5816
- "filterAssignee_filter",
5817
- "filterParent",
5818
- "filterSprint",
5819
- "filterRelease",
5820
- "ids",
5821
- "list",
5822
- "update",
5823
- "limit",
5824
- "offset",
5825
- "dryRun",
5826
- "dry_run",
5827
- "rollback",
5828
- "checkpoint",
5829
- "noCheckpoint",
5830
- "no_checkpoint"
5831
- ]);
5832
- function updateManyUpdateOptionsFromFlat(options) {
5833
- const update2 = {};
5834
- for (const [key, value] of Object.entries(options)) {
5835
- if (UPDATE_MANY_FLAT_CONTROL_KEYS.has(key)) {
5836
- continue;
5837
- }
5838
- update2[key] = value;
5839
- }
5840
- return normalizeMcpUpdateOptions(update2);
5841
- }
5842
- function normalizeMcpUpdateOptions(options) {
5843
- const normalizedInput = normalizeMcpOptionsArrays(options, "update-many");
5844
- for (const contract of UPDATE_COMMANDER_STRING_OPTION_CONTRACTS) {
5845
- for (const key of contract.keys) {
5846
- const value = normalizedInput[key];
5847
- if (typeof value === "number" && Number.isFinite(value)) {
5848
- normalizedInput[key] = String(value);
5849
- }
5850
- }
5851
- }
5852
- return normalizeUpdateOptions(normalizedInput);
5853
- }
5854
- function updateManyOptionsFromFlat(options) {
5855
- if (isRuntimeRecord(options.list) || isRuntimeRecord(options.update)) {
5856
- const updateSource = isRuntimeRecord(options.update) ? options.update : updateManyUpdateOptionsFromFlat(options);
5857
- return {
5858
- status: readRuntimeScalarString(options, "filterStatus"),
5859
- list: isRuntimeRecord(options.list) ? normalizeListOptions(options.list) : mutationListOptions(options),
5860
- update: normalizeMcpUpdateOptions(updateSource),
5861
- dryRun: options.dryRun === true || options.dry_run === true ? true : void 0,
5862
- rollback: readRuntimeString(options, "rollback"),
5863
- checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : void 0
5864
- };
5865
- }
5866
- return {
5867
- status: readRuntimeScalarString(options, "filterStatus"),
5868
- list: mutationListOptions(options),
5869
- update: updateManyUpdateOptionsFromFlat(options),
5870
- dryRun: options.dryRun === true || options.dry_run === true ? true : void 0,
5871
- rollback: readRuntimeString(options, "rollback"),
5872
- checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : void 0
5873
- };
5874
- }
5875
5955
  var WORKSPACE_CONTRACTS_CACHE_PRESERVING_ACTIONS = /* @__PURE__ */ new Set([
5876
5956
  "activity",
5877
5957
  "aggregate",
@@ -5880,6 +5960,7 @@ var WORKSPACE_CONTRACTS_CACHE_PRESERVING_ACTIONS = /* @__PURE__ */ new Set([
5880
5960
  "deps",
5881
5961
  "files-discover",
5882
5962
  "get",
5963
+ "graph",
5883
5964
  "health",
5884
5965
  "history",
5885
5966
  "list",
@@ -6016,7 +6097,7 @@ function shouldInvalidateWorkspaceContractsCacheAfterAction(action) {
6016
6097
  }
6017
6098
  async function runAction(args) {
6018
6099
  const resolved = resolveSdkActionInput(args);
6019
- const global2 = globalOptions(resolved.args);
6100
+ const global2 = actionGlobalOptions(resolved.args);
6020
6101
  const invalidateWorkspaceContractsCache = shouldInvalidateWorkspaceContractsCacheAfterAction(resolved.action);
6021
6102
  const explicitCwd = readRuntimeString(resolved.args, "cwd");
6022
6103
  const resolutionCwd = explicitCwd ?? process.cwd();
@@ -6176,7 +6257,7 @@ function createMcpSchemaContext(ctx) {
6176
6257
  name: readRuntimeString(ctx.args, "name") ?? readRuntimeString(ctx.options, "name"),
6177
6258
  author: readRuntimeString(ctx.args, "author") ?? readRuntimeString(ctx.options, "author"),
6178
6259
  force: ctx.args.force === true || ctx.options.force === true,
6179
- aliases: aliasSource === void 0 ? void 0 : readStringArray(aliasSource)
6260
+ aliases: aliasSource === void 0 ? void 0 : readRuntimeStringArray(aliasSource)
6180
6261
  };
6181
6262
  }
6182
6263
  function runMcpSchemaReadOrRemoveAction(schema2) {
@@ -6201,14 +6282,14 @@ function runMcpSchemaAddFieldAction(schema2) {
6201
6282
  const requiredTypesSource = ctx.args.requiredTypes ?? ctx.options.requiredTypes;
6202
6283
  return runSchemaAddField(name, {
6203
6284
  type: readRuntimeString(ctx.args, "fieldType") ?? readRuntimeString(ctx.options, "fieldType"),
6204
- commands: commandsSource === void 0 ? void 0 : readStringArray(commandsSource),
6285
+ commands: commandsSource === void 0 ? void 0 : readRuntimeStringArray(commandsSource),
6205
6286
  description: readRuntimeString(ctx.args, "description") ?? readRuntimeString(ctx.options, "description"),
6206
6287
  cliFlag: readRuntimeString(ctx.args, "cliFlag") ?? readRuntimeString(ctx.options, "cliFlag"),
6207
6288
  alias: aliases,
6208
6289
  required: ctx.args.required === true || ctx.options.required === true,
6209
6290
  requiredOnCreate: ctx.args.requiredOnCreate === true || ctx.options.requiredOnCreate === true,
6210
6291
  allowUnset: !(ctx.args.allowUnset === false || ctx.options.allowUnset === false),
6211
- requiredTypes: requiredTypesSource === void 0 ? void 0 : readStringArray(requiredTypesSource),
6292
+ requiredTypes: requiredTypesSource === void 0 ? void 0 : readRuntimeStringArray(requiredTypesSource),
6212
6293
  author,
6213
6294
  force
6214
6295
  }, ctx.global);
@@ -6217,7 +6298,7 @@ function runMcpSchemaAddStatusAction(schema2) {
6217
6298
  const { ctx, name, author, force, aliases } = schema2;
6218
6299
  const roleSource = ctx.args.role ?? ctx.options.role;
6219
6300
  return runSchemaAddStatus(name, {
6220
- role: roleSource === void 0 ? void 0 : readStringArray(roleSource),
6301
+ role: roleSource === void 0 ? void 0 : readRuntimeStringArray(roleSource),
6221
6302
  alias: aliases,
6222
6303
  description: readRuntimeString(ctx.args, "description") ?? readRuntimeString(ctx.options, "description"),
6223
6304
  order: parseRuntimeInteger(ctx.args.order ?? ctx.options.order, "schema add-status order"),
@@ -6367,6 +6448,10 @@ async function runMcpCloseTaskAction(ctx) {
6367
6448
  release: releaseResult
6368
6449
  };
6369
6450
  }
6451
+ function runMcpGraphAction(ctx) {
6452
+ const merged = { ...ctx.args, ...ctx.options };
6453
+ return runGraph(readRequiredString(merged, "subcommand"), readRuntimeString(merged, "id") ?? ctx.id, readRuntimeString(merged, "target"), graphOptionsFromFlat(merged), ctx.global);
6454
+ }
6370
6455
  var SDK_ACTION_HANDLERS = {
6371
6456
  init: (ctx) => runInit(readRuntimeString(ctx.args, "prefix"), ctx.global, ctx.options),
6372
6457
  context: (ctx) => runContext(ctx.options, ctx.global),
@@ -6407,6 +6492,7 @@ var SDK_ACTION_HANDLERS = {
6407
6492
  upgrade: (ctx) => runUpgrade(readMcpTarget(ctx), ctx.options, ctx.global),
6408
6493
  delete: (ctx) => runDelete(requireMcpItemId(ctx), ctx.options, ctx.global),
6409
6494
  deps: (ctx) => runDeps(requireMcpItemId(ctx), ctx.options, ctx.global),
6495
+ graph: runMcpGraphAction,
6410
6496
  "files-discover": (ctx) => runFilesDiscover(requireMcpItemId(ctx), ctx.options, ctx.global),
6411
6497
  history: (ctx) => runHistory(requireMcpItemId(ctx), ctx.options, ctx.global),
6412
6498
  "history-redact": (ctx) => runHistoryRedact(requireMcpItemId(ctx), ctx.options, ctx.global),
@@ -6438,7 +6524,7 @@ async function dispatchAction(action, args, global2, activeExtensions) {
6438
6524
  var actionRunnerTestHooks = {
6439
6525
  closeManyOptionsFromFlat,
6440
6526
  extensionOptionsFromArgs,
6441
- globalOptions,
6527
+ globalOptions: actionGlobalOptions,
6442
6528
  mutationListOptions,
6443
6529
  normalizeActionName,
6444
6530
  normalizeCommandPath,
@@ -6448,7 +6534,7 @@ var actionRunnerTestHooks = {
6448
6534
  readRequiredString,
6449
6535
  readScalarString: readRuntimeScalarString,
6450
6536
  readScalarStringAllowBlank: readRuntimeScalarStringAllowBlank,
6451
- readStringArray,
6537
+ readStringArray: readRuntimeStringArray,
6452
6538
  updateManyOptionsFromFlat,
6453
6539
  withAddNoteOption,
6454
6540
  withFilesDiscoveryOptions,
@@ -6523,6 +6609,7 @@ export {
6523
6609
  filesDiscover,
6524
6610
  docs,
6525
6611
  deps,
6612
+ graph,
6526
6613
  append,
6527
6614
  init,
6528
6615
  config,
@@ -6587,4 +6674,4 @@ export {
6587
6674
  readRequiredString,
6588
6675
  runAction
6589
6676
  };
6590
- //# sourceMappingURL=chunk-4XQ3BDV4.js.map
6677
+ //# sourceMappingURL=chunk-I3INI567.js.map