@unbrained/pm-cli 2026.7.16 → 2026.7.17

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 (508) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +17 -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/eval.d.ts +4 -64
  8. package/dist/cli/commands/eval.js +4 -153
  9. package/dist/cli/commands/eval.js.map +1 -1
  10. package/dist/cli/commands/linked-test-entry.d.ts +6 -6
  11. package/dist/cli/commands/linked-test-entry.js +4 -65
  12. package/dist/cli/commands/linked-test-entry.js.map +1 -1
  13. package/dist/cli/commands/linked-test-parsers.d.ts +3 -45
  14. package/dist/cli/commands/linked-test-parsers.js +4 -516
  15. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  16. package/dist/cli/commands/list.d.ts +3 -210
  17. package/dist/cli/commands/list.js +4 -1068
  18. package/dist/cli/commands/list.js.map +1 -1
  19. package/dist/cli/commands/search.d.ts +3 -464
  20. package/dist/cli/commands/search.js +4 -2236
  21. package/dist/cli/commands/search.js.map +1 -1
  22. package/dist/cli/commands/stats.d.ts +6 -66
  23. package/dist/cli/commands/stats.js +4 -157
  24. package/dist/cli/commands/stats.js.map +1 -1
  25. package/dist/cli/commands/telemetry.d.ts +6 -14
  26. package/dist/cli/commands/telemetry.js +4 -349
  27. package/dist/cli/commands/telemetry.js.map +1 -1
  28. package/dist/cli/commands/test-all.d.ts +6 -95
  29. package/dist/cli/commands/test-all.js +4 -439
  30. package/dist/cli/commands/test-all.js.map +1 -1
  31. package/dist/cli/commands/test-runs.d.ts +6 -92
  32. package/dist/cli/commands/test-runs.js +4 -189
  33. package/dist/cli/commands/test-runs.js.map +1 -1
  34. package/dist/cli/commands/test.d.ts +6 -244
  35. package/dist/cli/commands/test.js +4 -1780
  36. package/dist/cli/commands/test.js.map +1 -1
  37. package/dist/cli/commands/update-many.d.ts +15 -29
  38. package/dist/cli/commands/update-many.js +355 -259
  39. package/dist/cli/commands/update-many.js.map +1 -1
  40. package/dist/cli/main.js +140 -133
  41. package/dist/cli/main.js.map +1 -1
  42. package/dist/cli/search-refresh.js +4 -9
  43. package/dist/cli/search-refresh.js.map +1 -1
  44. package/dist/cli/shared-parsers.d.ts +6 -9
  45. package/dist/cli/shared-parsers.js +4 -37
  46. package/dist/cli/shared-parsers.js.map +1 -1
  47. package/dist/cli/telemetry-flush.js +4 -4
  48. package/dist/cli/telemetry-flush.js.map +1 -1
  49. package/dist/cli-bundle/bundle-manifest.json +341 -341
  50. package/dist/cli-bundle/chunks/{append-OJQFUQ4T.js → append-5YF3TO7I.js} +5 -5
  51. package/dist/cli-bundle/chunks/append-JHO5K6RP.js +11 -0
  52. package/dist/cli-bundle/chunks/{chunk-WT3ZEOGH.js → chunk-23TCGBRK.js} +16 -7
  53. package/dist/cli-bundle/chunks/{chunk-WT3ZEOGH.js.map → chunk-23TCGBRK.js.map} +1 -1
  54. package/dist/cli-bundle/chunks/{chunk-BCOFWYW4.js → chunk-2BX74BAS.js} +3 -3
  55. package/dist/cli-bundle/chunks/{chunk-APRVSW2O.js → chunk-2CXL335K.js} +3 -3
  56. package/dist/cli-bundle/chunks/{chunk-KG44YSKD.js → chunk-2FUOXSRN.js} +4 -4
  57. package/dist/cli-bundle/chunks/{chunk-HDH3JUGG.js → chunk-2IPNL3DR.js} +3 -3
  58. package/dist/cli-bundle/chunks/{chunk-J6364LFM.js → chunk-2MPMKJF2.js} +9 -18
  59. package/dist/cli-bundle/chunks/{chunk-J6364LFM.js.map → chunk-2MPMKJF2.js.map} +1 -1
  60. package/dist/cli-bundle/chunks/{chunk-GM5QHQU6.js → chunk-2XOSFSTH.js} +5 -5
  61. package/dist/cli-bundle/chunks/{chunk-K3WII2ME.js → chunk-37DRDP2B.js} +5 -5
  62. package/dist/cli-bundle/chunks/{chunk-2WSE6PO2.js → chunk-37V5MXAU.js} +4 -4
  63. package/dist/cli-bundle/chunks/{chunk-UWQHLMEB.js → chunk-3D4YVTNG.js} +8 -8
  64. package/dist/cli-bundle/chunks/{chunk-PMOSXADO.js → chunk-47HXN6RX.js} +3 -3
  65. package/dist/cli-bundle/chunks/{chunk-6CFNAVTF.js → chunk-5HGZKQUL.js} +4 -4
  66. package/dist/cli-bundle/chunks/{chunk-2IFFUZLC.js → chunk-5UKQLQM2.js} +2 -2
  67. package/dist/cli-bundle/chunks/{chunk-DM4H7FP4.js → chunk-633PKXLT.js} +3 -3
  68. package/dist/cli-bundle/chunks/{chunk-XSJUSQAE.js → chunk-646MQXFW.js} +2 -2
  69. package/dist/cli-bundle/chunks/{chunk-ZI6VQWQ7.js → chunk-66MKH7SZ.js} +4 -4
  70. package/dist/cli-bundle/chunks/{chunk-S6MQESFR.js → chunk-67RO3H4N.js} +4 -4
  71. package/dist/cli-bundle/chunks/{chunk-34L5OT3Y.js → chunk-6DYOZS6C.js} +2 -2
  72. package/dist/cli-bundle/chunks/{chunk-RRM5JYJC.js → chunk-6O44IN44.js} +2 -2
  73. package/dist/cli-bundle/chunks/{chunk-ONG5V5CI.js → chunk-6XAZB6SE.js} +97 -69
  74. package/dist/cli-bundle/chunks/chunk-6XAZB6SE.js.map +1 -0
  75. package/dist/cli-bundle/chunks/{chunk-PENXZX3U.js → chunk-74FKFFXO.js} +2 -2
  76. package/dist/cli-bundle/chunks/{chunk-LPYWLWDS.js → chunk-7CTQ7WW5.js} +37 -37
  77. package/dist/cli-bundle/chunks/chunk-7CTQ7WW5.js.map +1 -0
  78. package/dist/cli-bundle/chunks/{chunk-HO4KXD6I.js → chunk-7H5NNCJ5.js} +4 -4
  79. package/dist/cli-bundle/chunks/{chunk-XXXF6PAQ.js → chunk-7LTCLTRG.js} +69 -61
  80. package/dist/cli-bundle/chunks/chunk-7LTCLTRG.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-TQSZFPIS.js → chunk-AFGKSHAM.js} +4 -4
  82. package/dist/cli-bundle/chunks/{chunk-JXQUXVMI.js → chunk-AFSV5HBB.js} +77 -7
  83. package/dist/cli-bundle/chunks/{chunk-JXQUXVMI.js.map → chunk-AFSV5HBB.js.map} +1 -1
  84. package/dist/cli-bundle/chunks/{chunk-6N2VXVTQ.js → chunk-ARGDWQ4J.js} +2 -2
  85. package/dist/cli-bundle/chunks/{chunk-3U7ZR6M4.js → chunk-B57RJHBZ.js} +4 -4
  86. package/dist/cli-bundle/chunks/{chunk-7B67ZL4N.js → chunk-B6SH2YNN.js} +75 -5
  87. package/dist/cli-bundle/chunks/{chunk-7B67ZL4N.js.map → chunk-B6SH2YNN.js.map} +1 -1
  88. package/dist/cli-bundle/chunks/{chunk-YCQET3OT.js → chunk-BAP7G3N2.js} +2 -2
  89. package/dist/cli-bundle/chunks/{chunk-QKXHFPYM.js → chunk-BIRYX32V.js} +3 -3
  90. package/dist/cli-bundle/chunks/{chunk-RMLWNPH2.js → chunk-BVLOMU6O.js} +2 -2
  91. package/dist/cli-bundle/chunks/{chunk-YBLZ2VE7.js → chunk-CFSUNEL7.js} +320 -239
  92. package/dist/cli-bundle/chunks/chunk-CFSUNEL7.js.map +7 -0
  93. package/dist/cli-bundle/chunks/{chunk-2VPAVL7O.js → chunk-CKX4WOPC.js} +2 -2
  94. package/dist/cli-bundle/chunks/{chunk-TKOVBP6C.js → chunk-D52ZN3BF.js} +2 -2
  95. package/dist/cli-bundle/chunks/{chunk-KPMKHGEA.js → chunk-D53RTYVI.js} +4 -4
  96. package/dist/cli-bundle/chunks/{chunk-ODALILG3.js → chunk-D5XHO4Q7.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-E2OJMKML.js → chunk-DCC2AQBD.js} +18 -9
  98. package/dist/cli-bundle/chunks/{chunk-E2OJMKML.js.map → chunk-DCC2AQBD.js.map} +1 -1
  99. package/dist/cli-bundle/chunks/{chunk-YAQEBNY7.js → chunk-DDFGYUCQ.js} +4 -4
  100. package/dist/cli-bundle/chunks/{chunk-EAB64KLB.js → chunk-DG2EQRIH.js} +4 -4
  101. package/dist/cli-bundle/chunks/{chunk-IG3SWA4A.js → chunk-EHJFUOXL.js} +3 -3
  102. package/dist/cli-bundle/chunks/{chunk-ONREO4ST.js → chunk-EY7ZE3TG.js} +3 -3
  103. package/dist/cli-bundle/chunks/{chunk-EJEXHTY5.js → chunk-FHOBCGQO.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-H3EIEWGR.js → chunk-FL4D53ND.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-WUJQK4YV.js → chunk-FVNWHUME.js} +4 -4
  106. package/dist/cli-bundle/chunks/{chunk-INU6DKT5.js → chunk-FXFCFL73.js} +5 -5
  107. package/dist/cli-bundle/chunks/{chunk-QEHQ2GVG.js → chunk-FY4RLHSC.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-EACOH7AU.js → chunk-FZGM3PNA.js} +8 -8
  109. package/dist/cli-bundle/chunks/{chunk-FNSPG7MU.js → chunk-G6KM4YKY.js} +7 -7
  110. package/dist/cli-bundle/chunks/{chunk-AHVTB5I5.js → chunk-G6MYGULG.js} +4 -4
  111. package/dist/cli-bundle/chunks/{chunk-TSMHDIW4.js → chunk-GLZKZON6.js} +2 -2
  112. package/dist/cli-bundle/chunks/{chunk-2JKGO6QX.js → chunk-H5IOT54C.js} +4 -4
  113. package/dist/cli-bundle/chunks/{chunk-5ZSLZLDN.js → chunk-HF63SBLC.js} +585 -456
  114. package/dist/cli-bundle/chunks/chunk-HF63SBLC.js.map +1 -0
  115. package/dist/cli-bundle/chunks/{chunk-SELVXEZK.js → chunk-HO4DLBNK.js} +2 -2
  116. package/dist/cli-bundle/chunks/{chunk-3CLU2XZO.js → chunk-HSYV4ZYT.js} +4 -4
  117. package/dist/cli-bundle/chunks/{chunk-EH2OPHBI.js → chunk-HTXXXF45.js} +23 -19
  118. package/dist/cli-bundle/chunks/chunk-HTXXXF45.js.map +1 -0
  119. package/dist/cli-bundle/chunks/{chunk-CRVF2JDM.js → chunk-HXVHBERL.js} +8 -8
  120. package/dist/cli-bundle/chunks/{chunk-NU3IMIEA.js → chunk-I7DIDUSP.js} +2 -2
  121. package/dist/cli-bundle/chunks/{chunk-2NCIPMQP.js → chunk-I7GY4X6Y.js} +2 -2
  122. package/dist/cli-bundle/chunks/{chunk-JYFOV7FC.js → chunk-IE5KRAKN.js} +4 -4
  123. package/dist/cli-bundle/chunks/{chunk-UY2ACEMF.js → chunk-ILVOOAT4.js} +5 -5
  124. package/dist/cli-bundle/chunks/{chunk-GOSLKLFE.js → chunk-KH6QAHME.js} +3 -3
  125. package/dist/cli-bundle/chunks/{chunk-J6EY5V4N.js → chunk-KOEZCHRF.js} +9 -9
  126. package/dist/cli-bundle/chunks/{chunk-QKECXBBG.js → chunk-KX62NMZC.js} +3 -3
  127. package/dist/cli-bundle/chunks/{chunk-QKECXBBG.js.map → chunk-KX62NMZC.js.map} +1 -1
  128. package/dist/cli-bundle/chunks/{chunk-WQPUU7XD.js → chunk-L337QKWJ.js} +5 -5
  129. package/dist/cli-bundle/chunks/{chunk-LSG2U345.js → chunk-L6FVNR7X.js} +5 -5
  130. package/dist/cli-bundle/chunks/{chunk-ILX33QXL.js → chunk-LLODAQMP.js} +706 -532
  131. package/dist/cli-bundle/chunks/chunk-LLODAQMP.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-FMBNM2EN.js → chunk-LSOWTLEM.js} +2 -2
  133. package/dist/cli-bundle/chunks/{chunk-4223PVZT.js → chunk-M7MVOKVV.js} +3 -3
  134. package/dist/cli-bundle/chunks/chunk-MNV226E4.js +834 -0
  135. package/dist/cli-bundle/chunks/chunk-MNV226E4.js.map +1 -0
  136. package/dist/cli-bundle/chunks/{chunk-UMOPHQSU.js → chunk-MR4SHYR4.js} +41 -19
  137. package/dist/cli-bundle/chunks/chunk-MR4SHYR4.js.map +7 -0
  138. package/dist/cli-bundle/chunks/{chunk-BKVG6XOA.js → chunk-MSGETE6I.js} +4 -4
  139. package/dist/cli-bundle/chunks/{chunk-3WM75PWC.js → chunk-N33FD2UI.js} +3 -3
  140. package/dist/cli-bundle/chunks/{chunk-UFXU44HV.js → chunk-N7I2DGLP.js} +4 -4
  141. package/dist/cli-bundle/chunks/{chunk-3S5QVM5H.js → chunk-NCAFUBJX.js} +13 -13
  142. package/dist/cli-bundle/chunks/chunk-NCAFUBJX.js.map +1 -0
  143. package/dist/cli-bundle/chunks/{chunk-6S3YSUYG.js → chunk-NNANAWFH.js} +3 -3
  144. package/dist/cli-bundle/chunks/{chunk-IJIICKVW.js → chunk-NTRQLE2R.js} +2 -2
  145. package/dist/cli-bundle/chunks/{chunk-SDQLJWBO.js → chunk-NVZ6NVHJ.js} +4 -4
  146. package/dist/cli-bundle/chunks/{chunk-H2Z3FYXQ.js → chunk-OWP6QFBV.js} +4 -4
  147. package/dist/cli-bundle/chunks/{chunk-Q7A43DS4.js → chunk-P22HGFFI.js} +2 -2
  148. package/dist/cli-bundle/chunks/{chunk-NLDFBC6J.js → chunk-P56LKFQX.js} +2 -2
  149. package/dist/cli-bundle/chunks/{chunk-NVPZIJVR.js → chunk-PT7MCCGD.js} +2 -2
  150. package/dist/cli-bundle/chunks/{chunk-P74IZQ7A.js → chunk-QKVVV6QO.js} +7 -7
  151. package/dist/cli-bundle/chunks/{chunk-5JLUII3O.js → chunk-QNUAZYGW.js} +321 -240
  152. package/dist/cli-bundle/chunks/chunk-QNUAZYGW.js.map +1 -0
  153. package/dist/cli-bundle/chunks/{chunk-QIPLHNP7.js → chunk-QWBKN3QC.js} +5 -5
  154. package/dist/cli-bundle/chunks/{chunk-7PIWCHTW.js → chunk-R5XTTZSJ.js} +5 -5
  155. package/dist/cli-bundle/chunks/{chunk-JOUQZENX.js → chunk-RC4UOUXA.js} +3 -3
  156. package/dist/cli-bundle/chunks/{chunk-BEP7WJA2.js → chunk-RGMWJLXF.js} +4 -4
  157. package/dist/cli-bundle/chunks/{chunk-NP22ERDF.js → chunk-RTBX3C4C.js} +3 -3
  158. package/dist/cli-bundle/chunks/{chunk-HYB5AZ63.js → chunk-S46R2M3W.js} +117 -71
  159. package/dist/cli-bundle/chunks/chunk-S46R2M3W.js.map +7 -0
  160. package/dist/cli-bundle/chunks/{chunk-H5APFTHZ.js → chunk-S6FF7VW6.js} +18 -18
  161. package/dist/cli-bundle/chunks/chunk-S6FF7VW6.js.map +7 -0
  162. package/dist/cli-bundle/chunks/{chunk-UXONS674.js → chunk-SIJV365F.js} +54 -55
  163. package/dist/cli-bundle/chunks/chunk-SIJV365F.js.map +1 -0
  164. package/dist/cli-bundle/chunks/{chunk-7Z4LKRS4.js → chunk-SPFZV2GR.js} +9 -9
  165. package/dist/cli-bundle/chunks/{chunk-ULTHRDBP.js → chunk-TM5CIO3F.js} +3 -3
  166. package/dist/cli-bundle/chunks/{chunk-4XQ3BDV4.js → chunk-V3VBXQQV.js} +36 -36
  167. package/dist/cli-bundle/chunks/chunk-V3VBXQQV.js.map +7 -0
  168. package/dist/cli-bundle/chunks/{chunk-YAROI3PD.js → chunk-V7MP6YTN.js} +7 -7
  169. package/dist/cli-bundle/chunks/{chunk-OW4JWD5M.js → chunk-VAHZIPWS.js} +4 -4
  170. package/dist/cli-bundle/chunks/{chunk-DYH63FX7.js → chunk-VE6ZSTQW.js} +4 -4
  171. package/dist/cli-bundle/chunks/{chunk-3AUGG2DP.js → chunk-W5E2UUSH.js} +3 -3
  172. package/dist/cli-bundle/chunks/{chunk-BSEQUTQP.js → chunk-WACRQ26A.js} +2 -2
  173. package/dist/cli-bundle/chunks/{chunk-BSEQUTQP.js.map → chunk-WACRQ26A.js.map} +1 -1
  174. package/dist/cli-bundle/chunks/{chunk-UOHFKBUV.js → chunk-WL3SS45P.js} +3 -3
  175. package/dist/cli-bundle/chunks/{chunk-QKJGPFAF.js → chunk-WU3KAN6A.js} +3 -3
  176. package/dist/cli-bundle/chunks/{chunk-IA5FKNII.js → chunk-X2MGQMZO.js} +2 -2
  177. package/dist/cli-bundle/chunks/{chunk-TD3LVC7D.js → chunk-X5YCTFKT.js} +3 -3
  178. package/dist/cli-bundle/chunks/{chunk-B7PE22W6.js → chunk-XC2HEEOV.js} +4 -4
  179. package/dist/cli-bundle/chunks/{chunk-J5AOEGDC.js → chunk-XNPMDSQQ.js} +8 -8
  180. package/dist/cli-bundle/chunks/{chunk-K2X6U4UA.js → chunk-XXLXJL7V.js} +4 -4
  181. package/dist/cli-bundle/chunks/chunk-XYJK6GIQ.js +851 -0
  182. package/dist/cli-bundle/chunks/chunk-XYJK6GIQ.js.map +7 -0
  183. package/dist/cli-bundle/chunks/{chunk-RLCHOOHC.js → chunk-YJSURTBB.js} +2 -2
  184. package/dist/cli-bundle/chunks/{chunk-PGY23YTC.js → chunk-YKFHF37B.js} +3 -3
  185. package/dist/cli-bundle/chunks/{chunk-JFTKLTEF.js → chunk-YQCWK2MB.js} +4 -4
  186. package/dist/cli-bundle/chunks/{chunk-EYLCSJAI.js → chunk-YQEZWI3R.js} +2 -2
  187. package/dist/cli-bundle/chunks/close-BEP7MHF3.js +12 -0
  188. package/dist/cli-bundle/chunks/{close-CWODTPKG.js → close-Y6QFUJQN.js} +5 -5
  189. package/dist/cli-bundle/chunks/{close-many-CQFUY7MR.js → close-many-JJFW7KTT.js} +14 -14
  190. package/dist/cli-bundle/chunks/close-many-QJ6FKJUE.js +23 -0
  191. package/dist/cli-bundle/chunks/comments-2AOZQ5D2.js +13 -0
  192. package/dist/cli-bundle/chunks/{comments-WGLHR7LB.js → comments-TMHMALA5.js} +7 -7
  193. package/dist/cli-bundle/chunks/{copy-LXVDXH7B.js → copy-FWQA5OU4.js} +4 -4
  194. package/dist/cli-bundle/chunks/copy-N3LCQBMC.js +9 -0
  195. package/dist/cli-bundle/chunks/{create-LBVCYMEG.js → create-AQ5SIGZC.js} +9 -9
  196. package/dist/cli-bundle/chunks/{create-J5U6ND4K.js → create-KOGQ3JKD.js} +9 -9
  197. package/dist/cli-bundle/chunks/delete-6G3MBZ6S.js +10 -0
  198. package/dist/cli-bundle/chunks/{delete-PMJBNY5G.js → delete-YYYFOSEA.js} +4 -4
  199. package/dist/cli-bundle/chunks/{deps-OA26IS25.js → deps-5NC4IZH7.js} +5 -5
  200. package/dist/cli-bundle/chunks/{deps-JZ7TMVCB.js → deps-EVTOQMKW.js} +5 -5
  201. package/dist/cli-bundle/chunks/{docs-FEWB2DQB.js → docs-53NUGMIQ.js} +6 -6
  202. package/dist/cli-bundle/chunks/docs-OWRGDMNY.js +14 -0
  203. package/dist/cli-bundle/chunks/{files-EFIWKFTM.js → files-3PXGXYDB.js} +6 -6
  204. package/dist/cli-bundle/chunks/{files-6YFBJRBG.js → files-EGLKHD7O.js} +6 -6
  205. package/dist/cli-bundle/chunks/focus-KZLIA6WS.js +10 -0
  206. package/dist/cli-bundle/chunks/{focus-4QJR7FOQ.js → focus-SRPASFTN.js} +5 -5
  207. package/dist/cli-bundle/chunks/{history-compact-CKRPDTJN.js → history-compact-G4DULDCX.js} +6 -6
  208. package/dist/cli-bundle/chunks/history-compact-HHIUOMZ7.js +16 -0
  209. package/dist/cli-bundle/chunks/{history-redact-BB3TGDAE.js → history-redact-IUSJ6X3E.js} +4 -4
  210. package/dist/cli-bundle/chunks/{history-redact-D225BHOZ.js → history-redact-THHGRQXV.js} +4 -4
  211. package/dist/cli-bundle/chunks/history-repair-KG7SWXI6.js +16 -0
  212. package/dist/cli-bundle/chunks/{history-repair-RQXKQHL4.js → history-repair-LUQWRS7X.js} +6 -6
  213. package/dist/cli-bundle/chunks/{learnings-JLNLCOL5.js → learnings-2MRNBFJF.js} +7 -7
  214. package/dist/cli-bundle/chunks/learnings-ZVHSALJY.js +13 -0
  215. package/dist/cli-bundle/chunks/{notes-GB47XXQQ.js → notes-73JWKWUD.js} +7 -7
  216. package/dist/cli-bundle/chunks/notes-BAKUL5DJ.js +13 -0
  217. package/dist/cli-bundle/chunks/{plan-VDCJ2PCN.js → plan-AZPMCG37.js} +10 -10
  218. package/dist/cli-bundle/chunks/plan-LEAGLPGP.js +24 -0
  219. package/dist/cli-bundle/chunks/{profile-IVXQEL3D.js → profile-AGUKS52S.js} +9 -9
  220. package/dist/cli-bundle/chunks/{profile-FAU7NZML.js → profile-U2B6Y7GE.js} +9 -9
  221. package/dist/cli-bundle/chunks/{register-list-query-UL4UKBBN.js → register-list-query-A5KRJ5J2.js} +16 -16
  222. package/dist/cli-bundle/chunks/{register-list-query-DKA3EH5D.js → register-list-query-NEYP3TXO.js} +16 -16
  223. package/dist/cli-bundle/chunks/{register-mutation-RBBJ52DK.js → register-mutation-6LOPBAHC.js} +29 -29
  224. package/dist/cli-bundle/chunks/{register-mutation-ARFHRW55.js → register-mutation-GCZOALNJ.js} +29 -29
  225. package/dist/cli-bundle/chunks/{register-operations-ZIBBRSED.js → register-operations-6ZZIF27A.js} +35 -35
  226. package/dist/cli-bundle/chunks/{register-operations-ZUJ5JWPE.js → register-operations-REDIAEGI.js} +35 -35
  227. package/dist/cli-bundle/chunks/{register-setup-TDCGWIOS.js → register-setup-BHPMN5SK.js} +15 -15
  228. package/dist/cli-bundle/chunks/{register-setup-BCVLFEYS.js → register-setup-J3JS2ZVT.js} +15 -15
  229. package/dist/cli-bundle/chunks/{restore-25DLT2Q2.js → restore-E3PRGDN3.js} +6 -6
  230. package/dist/cli-bundle/chunks/restore-KIUYTAEJ.js +14 -0
  231. package/dist/cli-bundle/chunks/{schema-FNU3WE4O.js → schema-5JNFQFUW.js} +6 -6
  232. package/dist/cli-bundle/chunks/{schema-NBCM3RAD.js → schema-TMIW4XZC.js} +6 -6
  233. package/dist/cli-bundle/chunks/update-PQQHLYCC.js +21 -0
  234. package/dist/cli-bundle/chunks/{update-XHSIAIXE.js → update-SA6AG23P.js} +12 -12
  235. package/dist/cli-bundle/chunks/update-many-RQVTFJPD.js +36 -0
  236. package/dist/cli-bundle/chunks/update-many-TV3L3KBX.js +32 -0
  237. package/dist/cli-bundle/main.js +153 -855
  238. package/dist/cli-bundle/main.js.map +4 -4
  239. package/dist/cli-bundle/sdk-runtime.js +54 -54
  240. package/dist/cli-bundle/sdk-testing.js +6 -6
  241. package/dist/cli-bundle/sdk.js +195 -59
  242. package/dist/cli-bundle/sdk.js.map +3 -3
  243. package/dist/core/extensions/item-fields.js +2 -2
  244. package/dist/core/extensions/item-fields.js.map +1 -1
  245. package/dist/sdk/cli-bootstrap.d.ts +122 -0
  246. package/dist/sdk/cli-bootstrap.js +879 -0
  247. package/dist/sdk/cli-bootstrap.js.map +1 -0
  248. package/dist/sdk/eval.d.ts +66 -0
  249. package/dist/sdk/eval.js +186 -0
  250. package/dist/sdk/eval.js.map +1 -0
  251. package/dist/sdk/index.d.ts +16 -4
  252. package/dist/sdk/index.js +18 -6
  253. package/dist/sdk/index.js.map +1 -1
  254. package/dist/{cli/commands → sdk/query}/item-filter-options.d.ts +1 -1
  255. package/dist/{cli/commands → sdk/query}/item-filter-options.js +3 -3
  256. package/dist/sdk/query/item-filter-options.js.map +1 -0
  257. package/dist/sdk/query/list.d.ts +254 -0
  258. package/dist/sdk/query/list.js +1073 -0
  259. package/dist/sdk/query/list.js.map +1 -0
  260. package/dist/sdk/query/parsers.d.ts +9 -0
  261. package/dist/sdk/query/parsers.js +45 -0
  262. package/dist/sdk/query/parsers.js.map +1 -0
  263. package/dist/{cli/commands → sdk/query}/search-pagination.js +4 -4
  264. package/dist/sdk/query/search-pagination.js.map +1 -0
  265. package/dist/{cli/commands → sdk/query}/search-rendering.js +3 -3
  266. package/dist/sdk/query/search-rendering.js.map +1 -0
  267. package/dist/sdk/query/search.d.ts +469 -0
  268. package/dist/sdk/query/search.js +2247 -0
  269. package/dist/sdk/query/search.js.map +1 -0
  270. package/dist/sdk/runtime.d.ts +7 -7
  271. package/dist/sdk/runtime.js +13 -7
  272. package/dist/sdk/runtime.js.map +1 -1
  273. package/dist/sdk/search-refresh-worker.d.ts +2 -0
  274. package/dist/sdk/search-refresh-worker.js +19 -0
  275. package/dist/sdk/search-refresh-worker.js.map +1 -0
  276. package/dist/sdk/stats.d.ts +66 -0
  277. package/dist/sdk/stats.js +151 -0
  278. package/dist/sdk/stats.js.map +1 -0
  279. package/dist/sdk/telemetry-flush.d.ts +2 -0
  280. package/dist/sdk/telemetry-flush.js +14 -0
  281. package/dist/sdk/telemetry-flush.js.map +1 -0
  282. package/dist/sdk/telemetry.d.ts +14 -0
  283. package/dist/sdk/telemetry.js +398 -0
  284. package/dist/sdk/telemetry.js.map +1 -0
  285. package/dist/sdk/test/batch.d.ts +94 -0
  286. package/dist/sdk/test/batch.js +492 -0
  287. package/dist/sdk/test/batch.js.map +1 -0
  288. package/dist/sdk/test/entry.d.ts +6 -0
  289. package/dist/sdk/test/entry.js +74 -0
  290. package/dist/sdk/test/entry.js.map +1 -0
  291. package/dist/sdk/test/execution.d.ts +282 -0
  292. package/dist/sdk/test/execution.js +1817 -0
  293. package/dist/sdk/test/execution.js.map +1 -0
  294. package/dist/sdk/test/parsers.d.ts +48 -0
  295. package/dist/sdk/test/parsers.js +522 -0
  296. package/dist/sdk/test/parsers.js.map +1 -0
  297. package/dist/sdk/test/runs.d.ts +92 -0
  298. package/dist/sdk/test/runs.js +195 -0
  299. package/dist/sdk/test/runs.js.map +1 -0
  300. package/docs/SDK.md +122 -0
  301. package/docs/SDK_PRIMITIVE_INVENTORY.md +5 -3
  302. package/docs/examples/sdk-custom-tool/README.md +27 -0
  303. package/docs/examples/sdk-custom-tool/package.json +13 -0
  304. package/docs/examples/sdk-custom-tool/src/cli.ts +36 -0
  305. package/docs/examples/sdk-custom-tool/src/entry.ts +15 -0
  306. package/docs/examples/sdk-custom-tool/src/index.ts +223 -0
  307. package/marketplace.json +2 -2
  308. package/package.json +4 -4
  309. package/packages/pm-beads/package.json +1 -1
  310. package/packages/pm-calendar/package.json +1 -1
  311. package/packages/pm-command-kit/package.json +1 -1
  312. package/packages/pm-governance-audit/extensions/governance-audit/comments-audit.ts +77 -57
  313. package/packages/pm-governance-audit/extensions/governance-audit/dedupe-audit.ts +202 -194
  314. package/packages/pm-governance-audit/extensions/governance-audit/dedupe-merge.ts +227 -153
  315. package/packages/pm-governance-audit/extensions/governance-audit/normalize.ts +169 -125
  316. package/packages/pm-governance-audit/extensions/governance-audit/runtime-utils.ts +130 -81
  317. package/packages/pm-governance-audit/extensions/governance-audit/sdk.ts +53 -4
  318. package/packages/pm-governance-audit/package.json +1 -1
  319. package/packages/pm-guide-shell/package.json +1 -1
  320. package/packages/pm-kanban/package.json +1 -1
  321. package/packages/pm-lifecycle-hooks/package.json +1 -1
  322. package/packages/pm-linked-test-adapters/package.json +1 -1
  323. package/packages/pm-search-advanced/package.json +1 -1
  324. package/packages/pm-templates/package.json +1 -1
  325. package/packages/pm-todos/package.json +1 -1
  326. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  327. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  328. package/dist/cli/commands/item-filter-options.js.map +0 -1
  329. package/dist/cli/commands/search-pagination.js.map +0 -1
  330. package/dist/cli/commands/search-rendering.js.map +0 -1
  331. package/dist/cli-bundle/chunks/append-UZVHUO74.js +0 -11
  332. package/dist/cli-bundle/chunks/chunk-3S5QVM5H.js.map +0 -1
  333. package/dist/cli-bundle/chunks/chunk-4XQ3BDV4.js.map +0 -7
  334. package/dist/cli-bundle/chunks/chunk-5JLUII3O.js.map +0 -1
  335. package/dist/cli-bundle/chunks/chunk-5ZSLZLDN.js.map +0 -1
  336. package/dist/cli-bundle/chunks/chunk-EH2OPHBI.js.map +0 -1
  337. package/dist/cli-bundle/chunks/chunk-H5APFTHZ.js.map +0 -7
  338. package/dist/cli-bundle/chunks/chunk-HYB5AZ63.js.map +0 -7
  339. package/dist/cli-bundle/chunks/chunk-ILX33QXL.js.map +0 -7
  340. package/dist/cli-bundle/chunks/chunk-LPYWLWDS.js.map +0 -1
  341. package/dist/cli-bundle/chunks/chunk-ONG5V5CI.js.map +0 -1
  342. package/dist/cli-bundle/chunks/chunk-UMOPHQSU.js.map +0 -7
  343. package/dist/cli-bundle/chunks/chunk-UXONS674.js.map +0 -1
  344. package/dist/cli-bundle/chunks/chunk-XXXF6PAQ.js.map +0 -7
  345. package/dist/cli-bundle/chunks/chunk-YBLZ2VE7.js.map +0 -7
  346. package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js +0 -58
  347. package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js.map +0 -1
  348. package/dist/cli-bundle/chunks/chunk-ZKRZY773.js +0 -68
  349. package/dist/cli-bundle/chunks/chunk-ZKRZY773.js.map +0 -7
  350. package/dist/cli-bundle/chunks/close-W6LI2PKM.js +0 -12
  351. package/dist/cli-bundle/chunks/close-many-DLDDVSH5.js +0 -23
  352. package/dist/cli-bundle/chunks/comments-E3TNTK24.js +0 -13
  353. package/dist/cli-bundle/chunks/copy-Q5ZJPUKR.js +0 -9
  354. package/dist/cli-bundle/chunks/delete-WNHB3LYW.js +0 -10
  355. package/dist/cli-bundle/chunks/docs-HA2AIDBB.js +0 -14
  356. package/dist/cli-bundle/chunks/focus-POIW5LTJ.js +0 -10
  357. package/dist/cli-bundle/chunks/history-compact-FWG2C7FZ.js +0 -16
  358. package/dist/cli-bundle/chunks/history-repair-6GEAM7HE.js +0 -16
  359. package/dist/cli-bundle/chunks/learnings-RSNLSWDC.js +0 -13
  360. package/dist/cli-bundle/chunks/notes-2WDH6DXU.js +0 -13
  361. package/dist/cli-bundle/chunks/plan-DOVI2VMW.js +0 -24
  362. package/dist/cli-bundle/chunks/restore-YPMVUUEX.js +0 -14
  363. package/dist/cli-bundle/chunks/update-WWBYOPXO.js +0 -21
  364. package/dist/cli-bundle/chunks/update-many-OUGIU5SF.js +0 -32
  365. package/dist/cli-bundle/chunks/update-many-TA7NGQBO.js +0 -36
  366. /package/dist/cli-bundle/chunks/{append-OJQFUQ4T.js.map → append-5YF3TO7I.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{append-UZVHUO74.js.map → append-JHO5K6RP.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{chunk-BCOFWYW4.js.map → chunk-2BX74BAS.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{chunk-APRVSW2O.js.map → chunk-2CXL335K.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{chunk-KG44YSKD.js.map → chunk-2FUOXSRN.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{chunk-HDH3JUGG.js.map → chunk-2IPNL3DR.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{chunk-GM5QHQU6.js.map → chunk-2XOSFSTH.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{chunk-K3WII2ME.js.map → chunk-37DRDP2B.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{chunk-2WSE6PO2.js.map → chunk-37V5MXAU.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{chunk-UWQHLMEB.js.map → chunk-3D4YVTNG.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{chunk-PMOSXADO.js.map → chunk-47HXN6RX.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{chunk-6CFNAVTF.js.map → chunk-5HGZKQUL.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{chunk-2IFFUZLC.js.map → chunk-5UKQLQM2.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{chunk-DM4H7FP4.js.map → chunk-633PKXLT.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{chunk-XSJUSQAE.js.map → chunk-646MQXFW.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{chunk-ZI6VQWQ7.js.map → chunk-66MKH7SZ.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{chunk-S6MQESFR.js.map → chunk-67RO3H4N.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{chunk-34L5OT3Y.js.map → chunk-6DYOZS6C.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{chunk-RRM5JYJC.js.map → chunk-6O44IN44.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{chunk-PENXZX3U.js.map → chunk-74FKFFXO.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{chunk-HO4KXD6I.js.map → chunk-7H5NNCJ5.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{chunk-TQSZFPIS.js.map → chunk-AFGKSHAM.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{chunk-6N2VXVTQ.js.map → chunk-ARGDWQ4J.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{chunk-3U7ZR6M4.js.map → chunk-B57RJHBZ.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{chunk-YCQET3OT.js.map → chunk-BAP7G3N2.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{chunk-QKXHFPYM.js.map → chunk-BIRYX32V.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{chunk-RMLWNPH2.js.map → chunk-BVLOMU6O.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{chunk-2VPAVL7O.js.map → chunk-CKX4WOPC.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{chunk-TKOVBP6C.js.map → chunk-D52ZN3BF.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{chunk-KPMKHGEA.js.map → chunk-D53RTYVI.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{chunk-ODALILG3.js.map → chunk-D5XHO4Q7.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{chunk-YAQEBNY7.js.map → chunk-DDFGYUCQ.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{chunk-EAB64KLB.js.map → chunk-DG2EQRIH.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{chunk-IG3SWA4A.js.map → chunk-EHJFUOXL.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{chunk-ONREO4ST.js.map → chunk-EY7ZE3TG.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{chunk-EJEXHTY5.js.map → chunk-FHOBCGQO.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{chunk-H3EIEWGR.js.map → chunk-FL4D53ND.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{chunk-WUJQK4YV.js.map → chunk-FVNWHUME.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{chunk-INU6DKT5.js.map → chunk-FXFCFL73.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{chunk-QEHQ2GVG.js.map → chunk-FY4RLHSC.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{chunk-EACOH7AU.js.map → chunk-FZGM3PNA.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{chunk-FNSPG7MU.js.map → chunk-G6KM4YKY.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{chunk-AHVTB5I5.js.map → chunk-G6MYGULG.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{chunk-TSMHDIW4.js.map → chunk-GLZKZON6.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{chunk-2JKGO6QX.js.map → chunk-H5IOT54C.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{chunk-SELVXEZK.js.map → chunk-HO4DLBNK.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{chunk-3CLU2XZO.js.map → chunk-HSYV4ZYT.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{chunk-CRVF2JDM.js.map → chunk-HXVHBERL.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{chunk-NU3IMIEA.js.map → chunk-I7DIDUSP.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{chunk-2NCIPMQP.js.map → chunk-I7GY4X6Y.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{chunk-JYFOV7FC.js.map → chunk-IE5KRAKN.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{chunk-UY2ACEMF.js.map → chunk-ILVOOAT4.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{chunk-GOSLKLFE.js.map → chunk-KH6QAHME.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{chunk-J6EY5V4N.js.map → chunk-KOEZCHRF.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{chunk-WQPUU7XD.js.map → chunk-L337QKWJ.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{chunk-LSG2U345.js.map → chunk-L6FVNR7X.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{chunk-FMBNM2EN.js.map → chunk-LSOWTLEM.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{chunk-4223PVZT.js.map → chunk-M7MVOKVV.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{chunk-BKVG6XOA.js.map → chunk-MSGETE6I.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{chunk-3WM75PWC.js.map → chunk-N33FD2UI.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{chunk-UFXU44HV.js.map → chunk-N7I2DGLP.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{chunk-6S3YSUYG.js.map → chunk-NNANAWFH.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{chunk-IJIICKVW.js.map → chunk-NTRQLE2R.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{chunk-SDQLJWBO.js.map → chunk-NVZ6NVHJ.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{chunk-H2Z3FYXQ.js.map → chunk-OWP6QFBV.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{chunk-Q7A43DS4.js.map → chunk-P22HGFFI.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{chunk-NLDFBC6J.js.map → chunk-P56LKFQX.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{chunk-NVPZIJVR.js.map → chunk-PT7MCCGD.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{chunk-P74IZQ7A.js.map → chunk-QKVVV6QO.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{chunk-QIPLHNP7.js.map → chunk-QWBKN3QC.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{chunk-7PIWCHTW.js.map → chunk-R5XTTZSJ.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{chunk-JOUQZENX.js.map → chunk-RC4UOUXA.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{chunk-BEP7WJA2.js.map → chunk-RGMWJLXF.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{chunk-NP22ERDF.js.map → chunk-RTBX3C4C.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{chunk-7Z4LKRS4.js.map → chunk-SPFZV2GR.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{chunk-ULTHRDBP.js.map → chunk-TM5CIO3F.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{chunk-YAROI3PD.js.map → chunk-V7MP6YTN.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{chunk-OW4JWD5M.js.map → chunk-VAHZIPWS.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{chunk-DYH63FX7.js.map → chunk-VE6ZSTQW.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{chunk-3AUGG2DP.js.map → chunk-W5E2UUSH.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{chunk-UOHFKBUV.js.map → chunk-WL3SS45P.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{chunk-QKJGPFAF.js.map → chunk-WU3KAN6A.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{chunk-IA5FKNII.js.map → chunk-X2MGQMZO.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{chunk-TD3LVC7D.js.map → chunk-X5YCTFKT.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{chunk-B7PE22W6.js.map → chunk-XC2HEEOV.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{chunk-J5AOEGDC.js.map → chunk-XNPMDSQQ.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{chunk-K2X6U4UA.js.map → chunk-XXLXJL7V.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-RLCHOOHC.js.map → chunk-YJSURTBB.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-PGY23YTC.js.map → chunk-YKFHF37B.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-JFTKLTEF.js.map → chunk-YQCWK2MB.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-EYLCSJAI.js.map → chunk-YQEZWI3R.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{close-W6LI2PKM.js.map → close-BEP7MHF3.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{close-CWODTPKG.js.map → close-Y6QFUJQN.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{close-many-CQFUY7MR.js.map → close-many-JJFW7KTT.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{close-many-DLDDVSH5.js.map → close-many-QJ6FKJUE.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{comments-E3TNTK24.js.map → comments-2AOZQ5D2.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{comments-WGLHR7LB.js.map → comments-TMHMALA5.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{copy-LXVDXH7B.js.map → copy-FWQA5OU4.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{copy-Q5ZJPUKR.js.map → copy-N3LCQBMC.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{create-LBVCYMEG.js.map → create-AQ5SIGZC.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{create-J5U6ND4K.js.map → create-KOGQ3JKD.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{delete-WNHB3LYW.js.map → delete-6G3MBZ6S.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{delete-PMJBNY5G.js.map → delete-YYYFOSEA.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{deps-OA26IS25.js.map → deps-5NC4IZH7.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{deps-JZ7TMVCB.js.map → deps-EVTOQMKW.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{docs-FEWB2DQB.js.map → docs-53NUGMIQ.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{docs-HA2AIDBB.js.map → docs-OWRGDMNY.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{files-EFIWKFTM.js.map → files-3PXGXYDB.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{files-6YFBJRBG.js.map → files-EGLKHD7O.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{focus-POIW5LTJ.js.map → focus-KZLIA6WS.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{focus-4QJR7FOQ.js.map → focus-SRPASFTN.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{history-compact-CKRPDTJN.js.map → history-compact-G4DULDCX.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{history-compact-FWG2C7FZ.js.map → history-compact-HHIUOMZ7.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{history-redact-BB3TGDAE.js.map → history-redact-IUSJ6X3E.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{history-redact-D225BHOZ.js.map → history-redact-THHGRQXV.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{history-repair-6GEAM7HE.js.map → history-repair-KG7SWXI6.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{history-repair-RQXKQHL4.js.map → history-repair-LUQWRS7X.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{learnings-JLNLCOL5.js.map → learnings-2MRNBFJF.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{learnings-RSNLSWDC.js.map → learnings-ZVHSALJY.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{notes-GB47XXQQ.js.map → notes-73JWKWUD.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{notes-2WDH6DXU.js.map → notes-BAKUL5DJ.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{plan-VDCJ2PCN.js.map → plan-AZPMCG37.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{plan-DOVI2VMW.js.map → plan-LEAGLPGP.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{profile-IVXQEL3D.js.map → profile-AGUKS52S.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{profile-FAU7NZML.js.map → profile-U2B6Y7GE.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{register-list-query-UL4UKBBN.js.map → register-list-query-A5KRJ5J2.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{register-list-query-DKA3EH5D.js.map → register-list-query-NEYP3TXO.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{register-mutation-RBBJ52DK.js.map → register-mutation-6LOPBAHC.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{register-mutation-ARFHRW55.js.map → register-mutation-GCZOALNJ.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{register-operations-ZIBBRSED.js.map → register-operations-6ZZIF27A.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{register-operations-ZUJ5JWPE.js.map → register-operations-REDIAEGI.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{register-setup-TDCGWIOS.js.map → register-setup-BHPMN5SK.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{register-setup-BCVLFEYS.js.map → register-setup-J3JS2ZVT.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{restore-25DLT2Q2.js.map → restore-E3PRGDN3.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{restore-YPMVUUEX.js.map → restore-KIUYTAEJ.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{schema-FNU3WE4O.js.map → schema-5JNFQFUW.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{schema-NBCM3RAD.js.map → schema-TMIW4XZC.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{update-WWBYOPXO.js.map → update-PQQHLYCC.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{update-XHSIAIXE.js.map → update-SA6AG23P.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{update-many-TA7NGQBO.js.map → update-many-RQVTFJPD.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{update-many-OUGIU5SF.js.map → update-many-TV3L3KBX.js.map} +0 -0
  507. /package/dist/{cli/commands → sdk/query}/search-pagination.d.ts +0 -0
  508. /package/dist/{cli/commands → sdk/query}/search-rendering.d.ts +0 -0
@@ -0,0 +1,851 @@
1
+ import {
2
+ EXECUTABLE_COMMAND_ALIASES,
3
+ resolveSubcommandFlagContractsForCommand
4
+ } from "./chunk-S6FF7VW6.js";
5
+ import {
6
+ writeStdout
7
+ } from "./chunk-EHJFUOXL.js";
8
+ import {
9
+ EXIT_CODE,
10
+ PmCliError,
11
+ levenshteinDistanceWithinLimit
12
+ } from "./chunk-WACRQ26A.js";
13
+
14
+ // dist/sdk/cli-bootstrap.js
15
+ !(function() {
16
+ try {
17
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
18
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a359a8f1-ea63-5579-b93b-3ebbfb2a89b8");
19
+ } catch (e2) {
20
+ }
21
+ })();
22
+ var GLOBAL_VALUE_CONSUMING_FLAGS = /* @__PURE__ */ new Set([
23
+ "--pm-path",
24
+ "--path",
25
+ "--author"
26
+ ]);
27
+ var isInlineGlobalValueToken = (token) => {
28
+ const equalsIndex = token.indexOf("=");
29
+ return equalsIndex > 0 && GLOBAL_VALUE_CONSUMING_FLAGS.has(token.slice(0, equalsIndex));
30
+ };
31
+ var consumesBootstrapAuthorValue = (next) => {
32
+ return typeof next === "string" && !next.startsWith("-");
33
+ };
34
+ function parseBootstrapPathToken(token, next) {
35
+ if (token === "--path" || token === "--pm-path") {
36
+ if (typeof next === "string" && next.length > 0) {
37
+ return {
38
+ consumed: 2,
39
+ pathValue: next,
40
+ preferred: token === "--pm-path"
41
+ };
42
+ }
43
+ return {
44
+ consumed: 1,
45
+ preferred: token === "--pm-path"
46
+ };
47
+ }
48
+ const inlinePrefix = token.startsWith("--path=") ? "--path=" : token.startsWith("--pm-path=") ? "--pm-path=" : void 0;
49
+ if (!inlinePrefix) {
50
+ return null;
51
+ }
52
+ const value = token.slice(inlinePrefix.length);
53
+ if (value.length > 0) {
54
+ return {
55
+ consumed: 1,
56
+ pathValue: value,
57
+ preferred: inlinePrefix === "--pm-path="
58
+ };
59
+ }
60
+ return {
61
+ consumed: 1,
62
+ preferred: inlinePrefix === "--pm-path="
63
+ };
64
+ }
65
+ function parseBootstrapGlobalOptions(argv) {
66
+ let legacyPathValue;
67
+ let pmPathValue;
68
+ let noExtensions = false;
69
+ let noPager = false;
70
+ let json = false;
71
+ let quiet = false;
72
+ let author;
73
+ let index = 0;
74
+ while (index < argv.length) {
75
+ const token = argv[index];
76
+ if (token === "--") {
77
+ break;
78
+ }
79
+ if (token === "--no-extensions") {
80
+ noExtensions = true;
81
+ index += 1;
82
+ continue;
83
+ }
84
+ if (token === "--no-pager") {
85
+ noPager = true;
86
+ index += 1;
87
+ continue;
88
+ }
89
+ if (token === "--json") {
90
+ json = true;
91
+ index += 1;
92
+ continue;
93
+ }
94
+ if (token === "--quiet") {
95
+ quiet = true;
96
+ index += 1;
97
+ continue;
98
+ }
99
+ const parsedPath = parseBootstrapPathToken(token, argv[index + 1]);
100
+ if (parsedPath) {
101
+ if (parsedPath.pathValue !== void 0) {
102
+ if (parsedPath.preferred) {
103
+ pmPathValue = parsedPath.pathValue;
104
+ } else {
105
+ legacyPathValue = parsedPath.pathValue;
106
+ }
107
+ }
108
+ index += parsedPath.consumed;
109
+ continue;
110
+ }
111
+ if (token === "--author") {
112
+ if (consumesBootstrapAuthorValue(argv[index + 1])) {
113
+ author = argv[index + 1];
114
+ index += 2;
115
+ } else {
116
+ author = "";
117
+ index += 1;
118
+ }
119
+ continue;
120
+ }
121
+ if (token.startsWith("--author=")) {
122
+ author = token.slice("--author=".length);
123
+ index += 1;
124
+ continue;
125
+ }
126
+ index += 1;
127
+ }
128
+ return {
129
+ path: pmPathValue ?? legacyPathValue,
130
+ noExtensions,
131
+ noPager,
132
+ json,
133
+ quiet,
134
+ ...author === "" ? { authorMissingValue: true } : author !== void 0 ? { author } : {}
135
+ };
136
+ }
137
+ function stripGlobalBootstrapTokens(argv) {
138
+ const remaining = [];
139
+ let index = 0;
140
+ while (index < argv.length) {
141
+ const token = argv[index];
142
+ if (token === "--") {
143
+ break;
144
+ }
145
+ if (token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
146
+ index += 1;
147
+ continue;
148
+ }
149
+ if (token === "--author") {
150
+ index += consumesBootstrapAuthorValue(argv[index + 1]) ? 2 : 1;
151
+ continue;
152
+ }
153
+ if (GLOBAL_VALUE_CONSUMING_FLAGS.has(token)) {
154
+ index += 2;
155
+ continue;
156
+ }
157
+ if (isInlineGlobalValueToken(token)) {
158
+ index += 1;
159
+ continue;
160
+ }
161
+ remaining.push(token);
162
+ index += 1;
163
+ }
164
+ return remaining;
165
+ }
166
+ function parseBootstrapHelpRequest(argv) {
167
+ const stripped = stripGlobalBootstrapTokens(argv);
168
+ const first = stripped[0]?.trim().toLowerCase();
169
+ if (first === "help") {
170
+ const commandPathTokens2 = [];
171
+ for (let index = 1; index < stripped.length; index += 1) {
172
+ const token = stripped[index];
173
+ if (token.startsWith("-")) {
174
+ break;
175
+ }
176
+ commandPathTokens2.push(token.trim().toLowerCase());
177
+ }
178
+ return {
179
+ requested: true,
180
+ commandPathTokens: commandPathTokens2
181
+ };
182
+ }
183
+ const helpFlagIndex = stripped.findIndex((token) => token === "--help" || token === "-h");
184
+ if (helpFlagIndex < 0) {
185
+ return {
186
+ requested: false,
187
+ commandPathTokens: []
188
+ };
189
+ }
190
+ const commandPathTokens = [];
191
+ for (const token of stripped) {
192
+ if (token.startsWith("-")) {
193
+ break;
194
+ }
195
+ commandPathTokens.push(token.trim().toLowerCase());
196
+ }
197
+ return {
198
+ requested: true,
199
+ commandPathTokens
200
+ };
201
+ }
202
+ function findCommandTokenIndex(argv) {
203
+ for (let index = 0; index < argv.length; index += 1) {
204
+ const token = argv[index];
205
+ if (token === "--") {
206
+ return void 0;
207
+ }
208
+ if (token === "--author") {
209
+ index += consumesBootstrapAuthorValue(argv[index + 1]) ? 1 : 0;
210
+ continue;
211
+ }
212
+ if (GLOBAL_VALUE_CONSUMING_FLAGS.has(token)) {
213
+ index += 1;
214
+ continue;
215
+ }
216
+ if (isInlineGlobalValueToken(token) || token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
217
+ continue;
218
+ }
219
+ if (token.startsWith("-")) {
220
+ continue;
221
+ }
222
+ return index;
223
+ }
224
+ return void 0;
225
+ }
226
+ function parseBootstrapCommandName(argv) {
227
+ const index = findCommandTokenIndex(argv);
228
+ return index === void 0 ? void 0 : argv[index].trim().toLowerCase();
229
+ }
230
+ function shouldDisablePagerForInvocation(argv, bootstrapGlobal) {
231
+ if (bootstrapGlobal.noPager) {
232
+ return true;
233
+ }
234
+ if (process.stdout.isTTY === true) {
235
+ return false;
236
+ }
237
+ const helpRequest = parseBootstrapHelpRequest(argv);
238
+ return helpRequest.requested;
239
+ }
240
+ function applyBootstrapPagerPolicy(argv) {
241
+ const pagerEnvironmentKeys = [
242
+ "PAGER",
243
+ "MANPAGER",
244
+ "GIT_PAGER",
245
+ "LESS"
246
+ ];
247
+ const previousValues = pagerEnvironmentKeys.map((key) => process.env[key]);
248
+ const restore = () => {
249
+ for (const [index, key] of pagerEnvironmentKeys.entries()) {
250
+ const value = previousValues[index];
251
+ if (value === void 0) {
252
+ delete process.env[key];
253
+ } else {
254
+ process.env[key] = value;
255
+ }
256
+ }
257
+ };
258
+ const bootstrapGlobal = parseBootstrapGlobalOptions(argv);
259
+ if (!shouldDisablePagerForInvocation(argv, bootstrapGlobal)) {
260
+ return restore;
261
+ }
262
+ process.env.PAGER = "cat";
263
+ process.env.MANPAGER = "cat";
264
+ process.env.GIT_PAGER = "cat";
265
+ if (typeof process.env.LESS !== "string" || process.env.LESS.trim().length === 0) {
266
+ process.env.LESS = "FRX";
267
+ }
268
+ return restore;
269
+ }
270
+ var EXTENSION_ACTION_SYNTAX_TOKENS = /* @__PURE__ */ new Set([
271
+ "install",
272
+ "uninstall",
273
+ "explore",
274
+ "manage",
275
+ "doctor",
276
+ "adopt",
277
+ "adopt-all",
278
+ "activate",
279
+ "deactivate"
280
+ ]);
281
+ function normalizeLegacyExtensionActionSyntax(argv) {
282
+ const extensionIndex = findCommandTokenIndex(argv);
283
+ if (extensionIndex === void 0 || argv[extensionIndex] !== "extension") {
284
+ return [...argv];
285
+ }
286
+ const actionToken = argv[extensionIndex + 1];
287
+ if (!actionToken || actionToken.startsWith("-")) {
288
+ return [...argv];
289
+ }
290
+ if (!EXTENSION_ACTION_SYNTAX_TOKENS.has(actionToken)) {
291
+ return [...argv];
292
+ }
293
+ if (argv.includes("--help") || argv.includes("-h")) {
294
+ return [...argv];
295
+ }
296
+ const forcedActionFlag = `--${actionToken}`;
297
+ if (argv.includes(forcedActionFlag)) {
298
+ return [...argv];
299
+ }
300
+ return [
301
+ ...argv.slice(0, extensionIndex + 1),
302
+ forcedActionFlag,
303
+ ...argv.slice(extensionIndex + 2)
304
+ ];
305
+ }
306
+ function rewriteCommandAlias(argv, trace) {
307
+ const index = findCommandTokenIndex(argv);
308
+ if (index === void 0) {
309
+ return argv;
310
+ }
311
+ const token = argv[index];
312
+ const canonical = EXECUTABLE_COMMAND_ALIASES[token.trim().toLowerCase()];
313
+ if (!canonical) {
314
+ return argv;
315
+ }
316
+ const rewritten = [...argv];
317
+ rewritten[index] = canonical;
318
+ trace.push({
319
+ from: token,
320
+ to: [canonical],
321
+ reason: "command_alias",
322
+ confidence: "high"
323
+ });
324
+ return rewritten;
325
+ }
326
+ function normalizeFlagKeyToken(raw) {
327
+ const withoutPrefix = raw.replace(/^--?/, "");
328
+ return withoutPrefix.replace(/_/g, "-").replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
329
+ }
330
+ function toComparableFlagKey(raw) {
331
+ return normalizeFlagKeyToken(raw).replace(/-/g, "");
332
+ }
333
+ function markUnambiguousFlag(map, key, canonicalFlag) {
334
+ const existing = map.get(key);
335
+ if (existing === void 0) {
336
+ map.set(key, canonicalFlag);
337
+ return;
338
+ }
339
+ if (existing !== canonicalFlag) {
340
+ map.set(key, null);
341
+ }
342
+ }
343
+ function collectLongFlagCandidates(contract) {
344
+ const candidates = [];
345
+ const pushLongFlag = (value) => {
346
+ if (typeof value !== "string") {
347
+ return;
348
+ }
349
+ if (!value.startsWith("--")) {
350
+ return;
351
+ }
352
+ candidates.push(value);
353
+ };
354
+ pushLongFlag(contract.flag);
355
+ for (const alias of contract.aliases ?? []) {
356
+ pushLongFlag(alias);
357
+ }
358
+ return candidates;
359
+ }
360
+ function buildFlagLookup(commandName, contractsOverride) {
361
+ const contracts = contractsOverride ?? resolveSubcommandFlagContractsForCommand(commandName);
362
+ const canonicalByNormalized = /* @__PURE__ */ new Map();
363
+ const canonicalByCompact = /* @__PURE__ */ new Map();
364
+ const canonicalComparablesMap = /* @__PURE__ */ new Map();
365
+ const listCanonicalFlags = /* @__PURE__ */ new Set();
366
+ for (const contract of contracts) {
367
+ const longCandidates = collectLongFlagCandidates(contract);
368
+ if (longCandidates.length === 0) {
369
+ continue;
370
+ }
371
+ const canonicalFlag = `--${normalizeFlagKeyToken(longCandidates[0])}`;
372
+ for (const candidate of longCandidates) {
373
+ markUnambiguousFlag(canonicalByNormalized, normalizeFlagKeyToken(candidate), canonicalFlag);
374
+ markUnambiguousFlag(canonicalByCompact, toComparableFlagKey(candidate), canonicalFlag);
375
+ }
376
+ const comparable = toComparableFlagKey(canonicalFlag);
377
+ if (!canonicalComparablesMap.has(canonicalFlag)) {
378
+ canonicalComparablesMap.set(canonicalFlag, comparable);
379
+ }
380
+ if (contract.list === true) {
381
+ listCanonicalFlags.add(canonicalFlag);
382
+ }
383
+ }
384
+ return {
385
+ canonicalByNormalized,
386
+ canonicalByCompact,
387
+ canonicalComparables: [...canonicalComparablesMap.entries()].map(([canonicalFlag, comparable]) => ({
388
+ canonicalFlag,
389
+ comparable
390
+ })),
391
+ listCanonicalFlags
392
+ };
393
+ }
394
+ function resolveCanonicalFlag(rawKey, lookup) {
395
+ const normalizedKey = normalizeFlagKeyToken(rawKey);
396
+ const direct = lookup.canonicalByNormalized.get(normalizedKey);
397
+ if (typeof direct === "string") {
398
+ return {
399
+ flag: direct,
400
+ reason: "flag_alias",
401
+ confidence: "high"
402
+ };
403
+ }
404
+ const comparableKey = normalizedKey.replace(/-/g, "");
405
+ const compactMatch = lookup.canonicalByCompact.get(comparableKey);
406
+ if (typeof compactMatch === "string") {
407
+ return {
408
+ flag: compactMatch,
409
+ reason: "flag_alias",
410
+ confidence: "high"
411
+ };
412
+ }
413
+ const maxDistance = comparableKey.length >= 8 ? 2 : 1;
414
+ let bestDistance = Number.POSITIVE_INFINITY;
415
+ let bestFlag;
416
+ let tied = false;
417
+ for (const candidate of lookup.canonicalComparables) {
418
+ const distance = levenshteinDistanceWithinLimit(comparableKey, candidate.comparable, maxDistance);
419
+ if (distance === null) {
420
+ continue;
421
+ }
422
+ if (distance < bestDistance) {
423
+ bestDistance = distance;
424
+ bestFlag = candidate.canonicalFlag;
425
+ tied = false;
426
+ continue;
427
+ }
428
+ if (distance === bestDistance && bestFlag !== candidate.canonicalFlag) {
429
+ tied = true;
430
+ }
431
+ }
432
+ if (!bestFlag || tied || !Number.isFinite(bestDistance) || bestDistance <= 0) {
433
+ return null;
434
+ }
435
+ return {
436
+ flag: bestFlag,
437
+ reason: "flag_typo",
438
+ confidence: bestDistance >= 2 ? "medium" : "high"
439
+ };
440
+ }
441
+ function listAliasPluralKeys(normalizedKey) {
442
+ const candidates = [`${normalizedKey}s`];
443
+ if (normalizedKey.endsWith("y") && normalizedKey.length > 1) {
444
+ candidates.push(`${normalizedKey.slice(0, -1)}ies`);
445
+ }
446
+ return candidates;
447
+ }
448
+ function parseBareKeyValueToken(token, preserve = false) {
449
+ if (preserve || token.includes("://")) {
450
+ return null;
451
+ }
452
+ const match = token.match(/^([A-Za-z][A-Za-z0-9_-]{1,63})([:=])(.*)$/);
453
+ if (!match) {
454
+ return null;
455
+ }
456
+ const key = match[1];
457
+ const value = match[3];
458
+ if (value.length === 0) {
459
+ return null;
460
+ }
461
+ return {
462
+ key,
463
+ value
464
+ };
465
+ }
466
+ function normalizeLongOptionToken(token, lookup, preserve = false) {
467
+ if (preserve || !token.startsWith("--")) {
468
+ return { tokens: [token] };
469
+ }
470
+ const equalsIndex = token.indexOf("=");
471
+ const key = equalsIndex >= 0 ? token.slice(0, equalsIndex) : token;
472
+ const inlineValue = equalsIndex >= 0 ? token.slice(equalsIndex + 1) : void 0;
473
+ const resolution = resolveCanonicalFlag(key, lookup);
474
+ if (!resolution) {
475
+ return { tokens: [token] };
476
+ }
477
+ const normalizedToken = inlineValue === void 0 ? resolution.flag : `${resolution.flag}=${inlineValue}`;
478
+ if (normalizedToken === token) {
479
+ return { tokens: [token] };
480
+ }
481
+ return {
482
+ tokens: [normalizedToken],
483
+ event: {
484
+ from: token,
485
+ to: [normalizedToken],
486
+ reason: resolution.reason,
487
+ confidence: resolution.confidence
488
+ }
489
+ };
490
+ }
491
+ function collectBootstrapPathValueIndices(argv) {
492
+ const indices = /* @__PURE__ */ new Set();
493
+ let expectsValue = false;
494
+ for (let index = 0; index < argv.length; index += 1) {
495
+ if (expectsValue) {
496
+ indices.add(index);
497
+ expectsValue = false;
498
+ continue;
499
+ }
500
+ const token = argv[index];
501
+ expectsValue = token === "--path" || token === "--pm-path";
502
+ }
503
+ return indices;
504
+ }
505
+ function splitCanonicalListToken(token) {
506
+ if (!token.startsWith("--")) {
507
+ return null;
508
+ }
509
+ const equalsIndex = token.indexOf("=");
510
+ if (equalsIndex < 0) {
511
+ return { flag: token };
512
+ }
513
+ return {
514
+ flag: token.slice(0, equalsIndex),
515
+ inlineValue: token.slice(equalsIndex + 1)
516
+ };
517
+ }
518
+ function copyValueConsumingFlag(argv, index, result) {
519
+ result.push(argv[index]);
520
+ const next = argv[index + 1];
521
+ if (typeof next === "string" && next !== "--") {
522
+ result.push(next);
523
+ return index + 2;
524
+ }
525
+ return index + 1;
526
+ }
527
+ function readListFlagOccurrence(argv, index, parsed, multiValueListFlags) {
528
+ if (parsed.inlineValue !== void 0) {
529
+ return {
530
+ originalTokens: [argv[index]],
531
+ value: parsed.inlineValue,
532
+ consumed: 1
533
+ };
534
+ }
535
+ const values = [];
536
+ let valueIndex = index + 1;
537
+ while (valueIndex < argv.length && argv[valueIndex] !== "--" && !argv[valueIndex].startsWith("-") && (values.length === 0 || multiValueListFlags.has(parsed.flag))) {
538
+ values.push(argv[valueIndex]);
539
+ valueIndex += 1;
540
+ }
541
+ const consumed = values.length === 0 ? 1 : 1 + values.length;
542
+ return {
543
+ originalTokens: argv.slice(index, index + consumed),
544
+ value: values.length === 0 ? void 0 : values.join(","),
545
+ consumed
546
+ };
547
+ }
548
+ function recordListFlagOccurrence(slots, result, flag, occurrence) {
549
+ const existing = slots.get(flag);
550
+ if (existing) {
551
+ existing.values.push(occurrence.value);
552
+ existing.occurrences += 1;
553
+ return;
554
+ }
555
+ slots.set(flag, {
556
+ outputIndex: result.length,
557
+ originalTokens: occurrence.originalTokens,
558
+ values: [occurrence.value],
559
+ occurrences: 1
560
+ });
561
+ result.push(null);
562
+ }
563
+ function buildListFlagCoalescingSplices(slots, multiValueListFlags) {
564
+ const events = [];
565
+ const splices = [];
566
+ for (const [flag, slot] of slots) {
567
+ const shouldMerge = slot.occurrences >= 2 || multiValueListFlags.has(flag) && slot.originalTokens.length > 2;
568
+ if (!shouldMerge) {
569
+ splices.push({
570
+ outputIndex: slot.outputIndex,
571
+ tokens: slot.originalTokens
572
+ });
573
+ continue;
574
+ }
575
+ const mergedToken = `${flag}=${slot.values.join(",")}`;
576
+ splices.push({ outputIndex: slot.outputIndex, tokens: [mergedToken] });
577
+ events.push({
578
+ from: `${flag} (x${slot.occurrences})`,
579
+ to: [mergedToken],
580
+ reason: "list_merge",
581
+ confidence: "high"
582
+ });
583
+ }
584
+ return { events, splices };
585
+ }
586
+ function applyListFlagSplices(result, splices) {
587
+ splices.sort((a, b) => b.outputIndex - a.outputIndex);
588
+ for (const splice of splices) {
589
+ result.splice(splice.outputIndex, 1, ...splice.tokens);
590
+ }
591
+ }
592
+ function coalesceRepeatedListFlags(argv, listFlags, valueConsumingFlags = /* @__PURE__ */ new Set(), multiValueListFlags = /* @__PURE__ */ new Set()) {
593
+ if (listFlags.size === 0) {
594
+ return { argv: [...argv], events: [] };
595
+ }
596
+ const result = [];
597
+ const slots = /* @__PURE__ */ new Map();
598
+ let index = 0;
599
+ while (index < argv.length) {
600
+ const token = argv[index];
601
+ if (token === "--") {
602
+ result.push(...argv.slice(index));
603
+ break;
604
+ }
605
+ if (valueConsumingFlags.has(token)) {
606
+ index = copyValueConsumingFlag(argv, index, result);
607
+ continue;
608
+ }
609
+ const parsed = splitCanonicalListToken(token);
610
+ if (!parsed || !listFlags.has(parsed.flag)) {
611
+ result.push(token);
612
+ index += 1;
613
+ continue;
614
+ }
615
+ const occurrence = readListFlagOccurrence(argv, index, parsed, multiValueListFlags);
616
+ if (occurrence.value === void 0) {
617
+ result.push(token);
618
+ index += occurrence.consumed;
619
+ continue;
620
+ }
621
+ recordListFlagOccurrence(slots, result, parsed.flag, {
622
+ originalTokens: occurrence.originalTokens,
623
+ value: occurrence.value
624
+ });
625
+ index += occurrence.consumed;
626
+ }
627
+ const { events, splices } = buildListFlagCoalescingSplices(slots, multiValueListFlags);
628
+ applyListFlagSplices(result, splices);
629
+ return { argv: result, events };
630
+ }
631
+ var LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG = /* @__PURE__ */ new Map([
632
+ ["--add", /* @__PURE__ */ new Set(["command", "cmd", "path"])],
633
+ ["--remove", /* @__PURE__ */ new Set(["command", "path"])]
634
+ ]);
635
+ function isLinkedTestTwoTokenValuePosition(commandName, emittedTokens) {
636
+ if (commandName !== "test" || emittedTokens.length < 2) {
637
+ return false;
638
+ }
639
+ const key = emittedTokens[emittedTokens.length - 1];
640
+ const flag = emittedTokens[emittedTokens.length - 2];
641
+ const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(flag);
642
+ return keys !== void 0 && keys.has(key);
643
+ }
644
+ function shouldPreserveBareKeyValueToken(commandName, emittedTokens) {
645
+ return commandName === "search" || isLinkedTestTwoTokenValuePosition(commandName, emittedTokens);
646
+ }
647
+ function mergeLinkedTestTwoTokenEntries(argv, commandName, trace) {
648
+ if (commandName !== "test") {
649
+ return argv;
650
+ }
651
+ const result = [];
652
+ let index = 0;
653
+ while (index < argv.length) {
654
+ const token = argv[index];
655
+ if (token === "--") {
656
+ result.push(...argv.slice(index));
657
+ return result;
658
+ }
659
+ const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(token);
660
+ const key = keys ? argv[index + 1] : void 0;
661
+ if (!keys || typeof key !== "string" || !keys.has(key)) {
662
+ result.push(token);
663
+ index += 1;
664
+ continue;
665
+ }
666
+ let runEnd = index + 2;
667
+ while (runEnd < argv.length && !argv[runEnd].startsWith("-")) {
668
+ runEnd += 1;
669
+ }
670
+ if (runEnd - (index + 2) !== 1) {
671
+ result.push(token);
672
+ index += 1;
673
+ continue;
674
+ }
675
+ const value = argv[index + 2];
676
+ const mergedValue = `${key}=${value}`;
677
+ result.push(token, mergedValue);
678
+ trace.push({
679
+ from: `${token} ${key} ${value}`,
680
+ to: [token, mergedValue],
681
+ reason: "bare_key_value",
682
+ confidence: "high"
683
+ });
684
+ index += 3;
685
+ }
686
+ return result;
687
+ }
688
+ function normalizeBootstrapInvocation(argv) {
689
+ const trace = [];
690
+ const legacyNormalized = normalizeLegacyExtensionActionSyntax(argv);
691
+ if (legacyNormalized.length !== argv.length || legacyNormalized.some((token, index) => token !== argv[index])) {
692
+ trace.push({
693
+ from: argv.join(" "),
694
+ to: [...legacyNormalized],
695
+ reason: "legacy_extension_action",
696
+ confidence: "high"
697
+ });
698
+ }
699
+ const aliasNormalized = rewriteCommandAlias(legacyNormalized, trace);
700
+ const commandName = parseBootstrapCommandName(aliasNormalized);
701
+ const commandPathName = parseBootstrapCommandPathName(aliasNormalized);
702
+ const lookup = buildFlagLookup(commandPathName ?? commandName);
703
+ const normalizedArgv = [];
704
+ const pathValueIndices = collectBootstrapPathValueIndices(aliasNormalized);
705
+ for (let index = 0; index < aliasNormalized.length; index += 1) {
706
+ const token = aliasNormalized[index];
707
+ if (token === "--") {
708
+ normalizedArgv.push(...aliasNormalized.slice(index));
709
+ break;
710
+ }
711
+ const preserveCurrentToken = pathValueIndices.has(index);
712
+ const previous = normalizedArgv[normalizedArgv.length - 1];
713
+ if (token.startsWith("--")) {
714
+ const normalizedToken = normalizeLongOptionToken(token, lookup, preserveCurrentToken);
715
+ normalizedArgv.push(...normalizedToken.tokens);
716
+ if (normalizedToken.event) {
717
+ trace.push(normalizedToken.event);
718
+ }
719
+ continue;
720
+ }
721
+ const bareKeyValue = parseBareKeyValueToken(token, preserveCurrentToken);
722
+ if (bareKeyValue && !(typeof previous === "string" && previous.startsWith("-")) && !shouldPreserveBareKeyValueToken(commandName, normalizedArgv)) {
723
+ const resolution = resolveCanonicalFlag(bareKeyValue.key, lookup);
724
+ if (resolution) {
725
+ const replacement = [resolution.flag, bareKeyValue.value];
726
+ normalizedArgv.push(...replacement);
727
+ trace.push({
728
+ from: token,
729
+ to: replacement,
730
+ reason: "bare_key_value",
731
+ confidence: resolution.confidence
732
+ });
733
+ continue;
734
+ }
735
+ }
736
+ normalizedArgv.push(token);
737
+ }
738
+ const linkedTestNormalized = mergeLinkedTestTwoTokenEntries(normalizedArgv, commandName, trace);
739
+ const coalesced = coalesceRepeatedListFlags(linkedTestNormalized, lookup.listCanonicalFlags, GLOBAL_VALUE_CONSUMING_FLAGS, commandName === "create" ? /* @__PURE__ */ new Set(["--tags"]) : /* @__PURE__ */ new Set());
740
+ for (const event of coalesced.events) {
741
+ trace.push(event);
742
+ }
743
+ return {
744
+ argv: coalesced.argv,
745
+ commandName,
746
+ trace
747
+ };
748
+ }
749
+ function parseBootstrapCommandPathName(argv) {
750
+ const stripped = stripGlobalBootstrapTokens(argv);
751
+ const first = stripped[0]?.trim().toLowerCase();
752
+ const second = stripped[1]?.trim().toLowerCase();
753
+ if ((first === "extension" || first === "package" || first === "packages") && typeof second === "string" && second.length > 0 && !second.startsWith("-")) {
754
+ return `${first} ${second}`;
755
+ }
756
+ return first;
757
+ }
758
+ function parseBootstrapTypeValue(argv) {
759
+ for (let index = 0; index < argv.length; index += 1) {
760
+ const token = argv[index];
761
+ if (token === "--") {
762
+ break;
763
+ }
764
+ if (token === "--type") {
765
+ const candidate = argv[index + 1];
766
+ if (typeof candidate === "string" && candidate.trim().length > 0) {
767
+ return candidate.trim();
768
+ }
769
+ continue;
770
+ }
771
+ if (token.startsWith("--type=")) {
772
+ const candidate = token.slice("--type=".length).trim();
773
+ if (candidate.length > 0) {
774
+ return candidate;
775
+ }
776
+ }
777
+ }
778
+ return void 0;
779
+ }
780
+
781
+ // dist/sdk/invocation-author.js
782
+ !(function() {
783
+ try {
784
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
785
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "83b4c8c6-db52-50a9-8bf7-97ed382927d6");
786
+ } catch (e2) {
787
+ }
788
+ })();
789
+ function applyInvocationAuthorOverride(author) {
790
+ if (author === void 0) {
791
+ return () => {
792
+ };
793
+ }
794
+ const normalizedAuthor = author.trim();
795
+ if (normalizedAuthor.length === 0) {
796
+ throw new PmCliError("--author requires a non-empty value.", EXIT_CODE.USAGE, {
797
+ code: "missing_required_argument",
798
+ nextSteps: ["Pass an explicit author identifier with --author <id>."]
799
+ });
800
+ }
801
+ const previousAuthor = process.env.PM_AUTHOR;
802
+ process.env.PM_AUTHOR = normalizedAuthor;
803
+ let restored = false;
804
+ return () => {
805
+ if (restored) {
806
+ return;
807
+ }
808
+ restored = true;
809
+ if (previousAuthor === void 0) {
810
+ delete process.env.PM_AUTHOR;
811
+ } else {
812
+ process.env.PM_AUTHOR = previousAuthor;
813
+ }
814
+ };
815
+ }
816
+
817
+ // dist/sdk/cli-program.js
818
+ import { Command } from "commander";
819
+ !(function() {
820
+ try {
821
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
822
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "91531f42-f413-5b2b-8366-76068aade412");
823
+ } catch (e2) {
824
+ }
825
+ })();
826
+ function createPmCliProgram(version) {
827
+ return new Command().name("pm").description("Universal, flexible, extensible, agent-optimized project management CLI for any project or programming language.").version(version).showHelpAfterError(false).allowExcessArguments(false).allowUnknownOption(false).configureOutput({
828
+ writeOut: (value) => {
829
+ writeStdout(value);
830
+ },
831
+ writeErr: () => {
832
+ }
833
+ }).option("--json", "Output JSON instead of TOON").option("--quiet", "Suppress stdout output").option("--no-changed-fields", "Omit the changed_fields array from mutation output (keeps changed_field_count)").option("--id-only", "Print only id and status for single-item mutation output").option("--pm-path <dir>", "Explicit tracker storage path for this command (preferred over --path)").option("--path <dir>", "Backward-compatible alias for --pm-path; this is the tracker storage path, not a workspace cwd").option("--no-extensions", "Disable extension loading").option("--no-pager", "Disable pager integration for help and long output").option("--explain", "Render extended rationale and examples in help output").option("--profile", "Print deterministic timing diagnostics").option("--author <id>", "Override mutation author for this invocation").exitOverride();
834
+ }
835
+
836
+ export {
837
+ parseBootstrapGlobalOptions,
838
+ stripGlobalBootstrapTokens,
839
+ parseBootstrapHelpRequest,
840
+ parseBootstrapCommandName,
841
+ applyBootstrapPagerPolicy,
842
+ normalizeLegacyExtensionActionSyntax,
843
+ listAliasPluralKeys,
844
+ coalesceRepeatedListFlags,
845
+ mergeLinkedTestTwoTokenEntries,
846
+ normalizeBootstrapInvocation,
847
+ parseBootstrapTypeValue,
848
+ applyInvocationAuthorOverride,
849
+ createPmCliProgram
850
+ };
851
+ //# sourceMappingURL=chunk-XYJK6GIQ.js.map