@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,834 @@
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="40f35f26-1830-5c76-8d1b-23cc7f58d887")}catch(e){}}();
3
+ import {
4
+ EXECUTABLE_COMMAND_ALIASES,
5
+ resolveSubcommandFlagContractsForCommand
6
+ } from "./chunk-NCAFUBJX.js";
7
+ import {
8
+ writeStdout
9
+ } from "./chunk-BIRYX32V.js";
10
+ import {
11
+ EXIT_CODE,
12
+ PmCliError,
13
+ levenshteinDistanceWithinLimit
14
+ } from "./chunk-KX62NMZC.js";
15
+
16
+ // dist/sdk/cli-bootstrap.js
17
+ var GLOBAL_VALUE_CONSUMING_FLAGS = /* @__PURE__ */ new Set([
18
+ "--pm-path",
19
+ "--path",
20
+ "--author"
21
+ ]);
22
+ var isInlineGlobalValueToken = (token) => {
23
+ const equalsIndex = token.indexOf("=");
24
+ return equalsIndex > 0 && GLOBAL_VALUE_CONSUMING_FLAGS.has(token.slice(0, equalsIndex));
25
+ };
26
+ var consumesBootstrapAuthorValue = (next) => {
27
+ return typeof next === "string" && !next.startsWith("-");
28
+ };
29
+ function parseBootstrapPathToken(token, next) {
30
+ if (token === "--path" || token === "--pm-path") {
31
+ if (typeof next === "string" && next.length > 0) {
32
+ return {
33
+ consumed: 2,
34
+ pathValue: next,
35
+ preferred: token === "--pm-path"
36
+ };
37
+ }
38
+ return {
39
+ consumed: 1,
40
+ preferred: token === "--pm-path"
41
+ };
42
+ }
43
+ const inlinePrefix = token.startsWith("--path=") ? "--path=" : token.startsWith("--pm-path=") ? "--pm-path=" : void 0;
44
+ if (!inlinePrefix) {
45
+ return null;
46
+ }
47
+ const value = token.slice(inlinePrefix.length);
48
+ if (value.length > 0) {
49
+ return {
50
+ consumed: 1,
51
+ pathValue: value,
52
+ preferred: inlinePrefix === "--pm-path="
53
+ };
54
+ }
55
+ return {
56
+ consumed: 1,
57
+ preferred: inlinePrefix === "--pm-path="
58
+ };
59
+ }
60
+ function parseBootstrapGlobalOptions(argv) {
61
+ let legacyPathValue;
62
+ let pmPathValue;
63
+ let noExtensions = false;
64
+ let noPager = false;
65
+ let json = false;
66
+ let quiet = false;
67
+ let author;
68
+ let index = 0;
69
+ while (index < argv.length) {
70
+ const token = argv[index];
71
+ if (token === "--") {
72
+ break;
73
+ }
74
+ if (token === "--no-extensions") {
75
+ noExtensions = true;
76
+ index += 1;
77
+ continue;
78
+ }
79
+ if (token === "--no-pager") {
80
+ noPager = true;
81
+ index += 1;
82
+ continue;
83
+ }
84
+ if (token === "--json") {
85
+ json = true;
86
+ index += 1;
87
+ continue;
88
+ }
89
+ if (token === "--quiet") {
90
+ quiet = true;
91
+ index += 1;
92
+ continue;
93
+ }
94
+ const parsedPath = parseBootstrapPathToken(token, argv[index + 1]);
95
+ if (parsedPath) {
96
+ if (parsedPath.pathValue !== void 0) {
97
+ if (parsedPath.preferred) {
98
+ pmPathValue = parsedPath.pathValue;
99
+ } else {
100
+ legacyPathValue = parsedPath.pathValue;
101
+ }
102
+ }
103
+ index += parsedPath.consumed;
104
+ continue;
105
+ }
106
+ if (token === "--author") {
107
+ if (consumesBootstrapAuthorValue(argv[index + 1])) {
108
+ author = argv[index + 1];
109
+ index += 2;
110
+ } else {
111
+ author = "";
112
+ index += 1;
113
+ }
114
+ continue;
115
+ }
116
+ if (token.startsWith("--author=")) {
117
+ author = token.slice("--author=".length);
118
+ index += 1;
119
+ continue;
120
+ }
121
+ index += 1;
122
+ }
123
+ return {
124
+ path: pmPathValue ?? legacyPathValue,
125
+ noExtensions,
126
+ noPager,
127
+ json,
128
+ quiet,
129
+ ...author === "" ? { authorMissingValue: true } : author !== void 0 ? { author } : {}
130
+ };
131
+ }
132
+ function stripGlobalBootstrapTokens(argv) {
133
+ const remaining = [];
134
+ let index = 0;
135
+ while (index < argv.length) {
136
+ const token = argv[index];
137
+ if (token === "--") {
138
+ break;
139
+ }
140
+ if (token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
141
+ index += 1;
142
+ continue;
143
+ }
144
+ if (token === "--author") {
145
+ index += consumesBootstrapAuthorValue(argv[index + 1]) ? 2 : 1;
146
+ continue;
147
+ }
148
+ if (GLOBAL_VALUE_CONSUMING_FLAGS.has(token)) {
149
+ index += 2;
150
+ continue;
151
+ }
152
+ if (isInlineGlobalValueToken(token)) {
153
+ index += 1;
154
+ continue;
155
+ }
156
+ remaining.push(token);
157
+ index += 1;
158
+ }
159
+ return remaining;
160
+ }
161
+ function parseBootstrapHelpRequest(argv) {
162
+ const stripped = stripGlobalBootstrapTokens(argv);
163
+ const first = stripped[0]?.trim().toLowerCase();
164
+ if (first === "help") {
165
+ const commandPathTokens2 = [];
166
+ for (let index = 1; index < stripped.length; index += 1) {
167
+ const token = stripped[index];
168
+ if (token.startsWith("-")) {
169
+ break;
170
+ }
171
+ commandPathTokens2.push(token.trim().toLowerCase());
172
+ }
173
+ return {
174
+ requested: true,
175
+ commandPathTokens: commandPathTokens2
176
+ };
177
+ }
178
+ const helpFlagIndex = stripped.findIndex((token) => token === "--help" || token === "-h");
179
+ if (helpFlagIndex < 0) {
180
+ return {
181
+ requested: false,
182
+ commandPathTokens: []
183
+ };
184
+ }
185
+ const commandPathTokens = [];
186
+ for (const token of stripped) {
187
+ if (token.startsWith("-")) {
188
+ break;
189
+ }
190
+ commandPathTokens.push(token.trim().toLowerCase());
191
+ }
192
+ return {
193
+ requested: true,
194
+ commandPathTokens
195
+ };
196
+ }
197
+ function findCommandTokenIndex(argv) {
198
+ for (let index = 0; index < argv.length; index += 1) {
199
+ const token = argv[index];
200
+ if (token === "--") {
201
+ return void 0;
202
+ }
203
+ if (token === "--author") {
204
+ index += consumesBootstrapAuthorValue(argv[index + 1]) ? 1 : 0;
205
+ continue;
206
+ }
207
+ if (GLOBAL_VALUE_CONSUMING_FLAGS.has(token)) {
208
+ index += 1;
209
+ continue;
210
+ }
211
+ if (isInlineGlobalValueToken(token) || token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
212
+ continue;
213
+ }
214
+ if (token.startsWith("-")) {
215
+ continue;
216
+ }
217
+ return index;
218
+ }
219
+ return void 0;
220
+ }
221
+ function parseBootstrapCommandName(argv) {
222
+ const index = findCommandTokenIndex(argv);
223
+ return index === void 0 ? void 0 : argv[index].trim().toLowerCase();
224
+ }
225
+ function shouldDisablePagerForInvocation(argv, bootstrapGlobal) {
226
+ if (bootstrapGlobal.noPager) {
227
+ return true;
228
+ }
229
+ if (process.stdout.isTTY === true) {
230
+ return false;
231
+ }
232
+ const helpRequest = parseBootstrapHelpRequest(argv);
233
+ return helpRequest.requested;
234
+ }
235
+ function applyBootstrapPagerPolicy(argv) {
236
+ const pagerEnvironmentKeys = [
237
+ "PAGER",
238
+ "MANPAGER",
239
+ "GIT_PAGER",
240
+ "LESS"
241
+ ];
242
+ const previousValues = pagerEnvironmentKeys.map((key) => process.env[key]);
243
+ const restore = () => {
244
+ for (const [index, key] of pagerEnvironmentKeys.entries()) {
245
+ const value = previousValues[index];
246
+ if (value === void 0) {
247
+ delete process.env[key];
248
+ } else {
249
+ process.env[key] = value;
250
+ }
251
+ }
252
+ };
253
+ const bootstrapGlobal = parseBootstrapGlobalOptions(argv);
254
+ if (!shouldDisablePagerForInvocation(argv, bootstrapGlobal)) {
255
+ return restore;
256
+ }
257
+ process.env.PAGER = "cat";
258
+ process.env.MANPAGER = "cat";
259
+ process.env.GIT_PAGER = "cat";
260
+ if (typeof process.env.LESS !== "string" || process.env.LESS.trim().length === 0) {
261
+ process.env.LESS = "FRX";
262
+ }
263
+ return restore;
264
+ }
265
+ var EXTENSION_ACTION_SYNTAX_TOKENS = /* @__PURE__ */ new Set([
266
+ "install",
267
+ "uninstall",
268
+ "explore",
269
+ "manage",
270
+ "doctor",
271
+ "adopt",
272
+ "adopt-all",
273
+ "activate",
274
+ "deactivate"
275
+ ]);
276
+ function normalizeLegacyExtensionActionSyntax(argv) {
277
+ const extensionIndex = findCommandTokenIndex(argv);
278
+ if (extensionIndex === void 0 || argv[extensionIndex] !== "extension") {
279
+ return [...argv];
280
+ }
281
+ const actionToken = argv[extensionIndex + 1];
282
+ if (!actionToken || actionToken.startsWith("-")) {
283
+ return [...argv];
284
+ }
285
+ if (!EXTENSION_ACTION_SYNTAX_TOKENS.has(actionToken)) {
286
+ return [...argv];
287
+ }
288
+ if (argv.includes("--help") || argv.includes("-h")) {
289
+ return [...argv];
290
+ }
291
+ const forcedActionFlag = `--${actionToken}`;
292
+ if (argv.includes(forcedActionFlag)) {
293
+ return [...argv];
294
+ }
295
+ return [
296
+ ...argv.slice(0, extensionIndex + 1),
297
+ forcedActionFlag,
298
+ ...argv.slice(extensionIndex + 2)
299
+ ];
300
+ }
301
+ function rewriteCommandAlias(argv, trace) {
302
+ const index = findCommandTokenIndex(argv);
303
+ if (index === void 0) {
304
+ return argv;
305
+ }
306
+ const token = argv[index];
307
+ const canonical = EXECUTABLE_COMMAND_ALIASES[token.trim().toLowerCase()];
308
+ if (!canonical) {
309
+ return argv;
310
+ }
311
+ const rewritten = [...argv];
312
+ rewritten[index] = canonical;
313
+ trace.push({
314
+ from: token,
315
+ to: [canonical],
316
+ reason: "command_alias",
317
+ confidence: "high"
318
+ });
319
+ return rewritten;
320
+ }
321
+ function normalizeFlagKeyToken(raw) {
322
+ const withoutPrefix = raw.replace(/^--?/, "");
323
+ return withoutPrefix.replace(/_/g, "-").replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
324
+ }
325
+ function toComparableFlagKey(raw) {
326
+ return normalizeFlagKeyToken(raw).replace(/-/g, "");
327
+ }
328
+ function markUnambiguousFlag(map, key, canonicalFlag) {
329
+ const existing = map.get(key);
330
+ if (existing === void 0) {
331
+ map.set(key, canonicalFlag);
332
+ return;
333
+ }
334
+ if (existing !== canonicalFlag) {
335
+ map.set(key, null);
336
+ }
337
+ }
338
+ function collectLongFlagCandidates(contract) {
339
+ const candidates = [];
340
+ const pushLongFlag = (value) => {
341
+ if (typeof value !== "string") {
342
+ return;
343
+ }
344
+ if (!value.startsWith("--")) {
345
+ return;
346
+ }
347
+ candidates.push(value);
348
+ };
349
+ pushLongFlag(contract.flag);
350
+ for (const alias of contract.aliases ?? []) {
351
+ pushLongFlag(alias);
352
+ }
353
+ return candidates;
354
+ }
355
+ function buildFlagLookup(commandName, contractsOverride) {
356
+ const contracts = contractsOverride ?? resolveSubcommandFlagContractsForCommand(commandName);
357
+ const canonicalByNormalized = /* @__PURE__ */ new Map();
358
+ const canonicalByCompact = /* @__PURE__ */ new Map();
359
+ const canonicalComparablesMap = /* @__PURE__ */ new Map();
360
+ const listCanonicalFlags = /* @__PURE__ */ new Set();
361
+ for (const contract of contracts) {
362
+ const longCandidates = collectLongFlagCandidates(contract);
363
+ if (longCandidates.length === 0) {
364
+ continue;
365
+ }
366
+ const canonicalFlag = `--${normalizeFlagKeyToken(longCandidates[0])}`;
367
+ for (const candidate of longCandidates) {
368
+ markUnambiguousFlag(canonicalByNormalized, normalizeFlagKeyToken(candidate), canonicalFlag);
369
+ markUnambiguousFlag(canonicalByCompact, toComparableFlagKey(candidate), canonicalFlag);
370
+ }
371
+ const comparable = toComparableFlagKey(canonicalFlag);
372
+ if (!canonicalComparablesMap.has(canonicalFlag)) {
373
+ canonicalComparablesMap.set(canonicalFlag, comparable);
374
+ }
375
+ if (contract.list === true) {
376
+ listCanonicalFlags.add(canonicalFlag);
377
+ }
378
+ }
379
+ return {
380
+ canonicalByNormalized,
381
+ canonicalByCompact,
382
+ canonicalComparables: [...canonicalComparablesMap.entries()].map(([canonicalFlag, comparable]) => ({
383
+ canonicalFlag,
384
+ comparable
385
+ })),
386
+ listCanonicalFlags
387
+ };
388
+ }
389
+ function resolveCanonicalFlag(rawKey, lookup) {
390
+ const normalizedKey = normalizeFlagKeyToken(rawKey);
391
+ const direct = lookup.canonicalByNormalized.get(normalizedKey);
392
+ if (typeof direct === "string") {
393
+ return {
394
+ flag: direct,
395
+ reason: "flag_alias",
396
+ confidence: "high"
397
+ };
398
+ }
399
+ const comparableKey = normalizedKey.replace(/-/g, "");
400
+ const compactMatch = lookup.canonicalByCompact.get(comparableKey);
401
+ if (typeof compactMatch === "string") {
402
+ return {
403
+ flag: compactMatch,
404
+ reason: "flag_alias",
405
+ confidence: "high"
406
+ };
407
+ }
408
+ const maxDistance = comparableKey.length >= 8 ? 2 : 1;
409
+ let bestDistance = Number.POSITIVE_INFINITY;
410
+ let bestFlag;
411
+ let tied = false;
412
+ for (const candidate of lookup.canonicalComparables) {
413
+ const distance = levenshteinDistanceWithinLimit(comparableKey, candidate.comparable, maxDistance);
414
+ if (distance === null) {
415
+ continue;
416
+ }
417
+ if (distance < bestDistance) {
418
+ bestDistance = distance;
419
+ bestFlag = candidate.canonicalFlag;
420
+ tied = false;
421
+ continue;
422
+ }
423
+ if (distance === bestDistance && bestFlag !== candidate.canonicalFlag) {
424
+ tied = true;
425
+ }
426
+ }
427
+ if (!bestFlag || tied || !Number.isFinite(bestDistance) || bestDistance <= 0) {
428
+ return null;
429
+ }
430
+ return {
431
+ flag: bestFlag,
432
+ reason: "flag_typo",
433
+ confidence: bestDistance >= 2 ? "medium" : "high"
434
+ };
435
+ }
436
+ function listAliasPluralKeys(normalizedKey) {
437
+ const candidates = [`${normalizedKey}s`];
438
+ if (normalizedKey.endsWith("y") && normalizedKey.length > 1) {
439
+ candidates.push(`${normalizedKey.slice(0, -1)}ies`);
440
+ }
441
+ return candidates;
442
+ }
443
+ function parseBareKeyValueToken(token, preserve = false) {
444
+ if (preserve || token.includes("://")) {
445
+ return null;
446
+ }
447
+ const match = token.match(/^([A-Za-z][A-Za-z0-9_-]{1,63})([:=])(.*)$/);
448
+ if (!match) {
449
+ return null;
450
+ }
451
+ const key = match[1];
452
+ const value = match[3];
453
+ if (value.length === 0) {
454
+ return null;
455
+ }
456
+ return {
457
+ key,
458
+ value
459
+ };
460
+ }
461
+ function normalizeLongOptionToken(token, lookup, preserve = false) {
462
+ if (preserve || !token.startsWith("--")) {
463
+ return { tokens: [token] };
464
+ }
465
+ const equalsIndex = token.indexOf("=");
466
+ const key = equalsIndex >= 0 ? token.slice(0, equalsIndex) : token;
467
+ const inlineValue = equalsIndex >= 0 ? token.slice(equalsIndex + 1) : void 0;
468
+ const resolution = resolveCanonicalFlag(key, lookup);
469
+ if (!resolution) {
470
+ return { tokens: [token] };
471
+ }
472
+ const normalizedToken = inlineValue === void 0 ? resolution.flag : `${resolution.flag}=${inlineValue}`;
473
+ if (normalizedToken === token) {
474
+ return { tokens: [token] };
475
+ }
476
+ return {
477
+ tokens: [normalizedToken],
478
+ event: {
479
+ from: token,
480
+ to: [normalizedToken],
481
+ reason: resolution.reason,
482
+ confidence: resolution.confidence
483
+ }
484
+ };
485
+ }
486
+ function collectBootstrapPathValueIndices(argv) {
487
+ const indices = /* @__PURE__ */ new Set();
488
+ let expectsValue = false;
489
+ for (let index = 0; index < argv.length; index += 1) {
490
+ if (expectsValue) {
491
+ indices.add(index);
492
+ expectsValue = false;
493
+ continue;
494
+ }
495
+ const token = argv[index];
496
+ expectsValue = token === "--path" || token === "--pm-path";
497
+ }
498
+ return indices;
499
+ }
500
+ function splitCanonicalListToken(token) {
501
+ if (!token.startsWith("--")) {
502
+ return null;
503
+ }
504
+ const equalsIndex = token.indexOf("=");
505
+ if (equalsIndex < 0) {
506
+ return { flag: token };
507
+ }
508
+ return {
509
+ flag: token.slice(0, equalsIndex),
510
+ inlineValue: token.slice(equalsIndex + 1)
511
+ };
512
+ }
513
+ function copyValueConsumingFlag(argv, index, result) {
514
+ result.push(argv[index]);
515
+ const next = argv[index + 1];
516
+ if (typeof next === "string" && next !== "--") {
517
+ result.push(next);
518
+ return index + 2;
519
+ }
520
+ return index + 1;
521
+ }
522
+ function readListFlagOccurrence(argv, index, parsed, multiValueListFlags) {
523
+ if (parsed.inlineValue !== void 0) {
524
+ return {
525
+ originalTokens: [argv[index]],
526
+ value: parsed.inlineValue,
527
+ consumed: 1
528
+ };
529
+ }
530
+ const values = [];
531
+ let valueIndex = index + 1;
532
+ while (valueIndex < argv.length && argv[valueIndex] !== "--" && !argv[valueIndex].startsWith("-") && (values.length === 0 || multiValueListFlags.has(parsed.flag))) {
533
+ values.push(argv[valueIndex]);
534
+ valueIndex += 1;
535
+ }
536
+ const consumed = values.length === 0 ? 1 : 1 + values.length;
537
+ return {
538
+ originalTokens: argv.slice(index, index + consumed),
539
+ value: values.length === 0 ? void 0 : values.join(","),
540
+ consumed
541
+ };
542
+ }
543
+ function recordListFlagOccurrence(slots, result, flag, occurrence) {
544
+ const existing = slots.get(flag);
545
+ if (existing) {
546
+ existing.values.push(occurrence.value);
547
+ existing.occurrences += 1;
548
+ return;
549
+ }
550
+ slots.set(flag, {
551
+ outputIndex: result.length,
552
+ originalTokens: occurrence.originalTokens,
553
+ values: [occurrence.value],
554
+ occurrences: 1
555
+ });
556
+ result.push(null);
557
+ }
558
+ function buildListFlagCoalescingSplices(slots, multiValueListFlags) {
559
+ const events = [];
560
+ const splices = [];
561
+ for (const [flag, slot] of slots) {
562
+ const shouldMerge = slot.occurrences >= 2 || multiValueListFlags.has(flag) && slot.originalTokens.length > 2;
563
+ if (!shouldMerge) {
564
+ splices.push({
565
+ outputIndex: slot.outputIndex,
566
+ tokens: slot.originalTokens
567
+ });
568
+ continue;
569
+ }
570
+ const mergedToken = `${flag}=${slot.values.join(",")}`;
571
+ splices.push({ outputIndex: slot.outputIndex, tokens: [mergedToken] });
572
+ events.push({
573
+ from: `${flag} (x${slot.occurrences})`,
574
+ to: [mergedToken],
575
+ reason: "list_merge",
576
+ confidence: "high"
577
+ });
578
+ }
579
+ return { events, splices };
580
+ }
581
+ function applyListFlagSplices(result, splices) {
582
+ splices.sort((a, b) => b.outputIndex - a.outputIndex);
583
+ for (const splice of splices) {
584
+ result.splice(splice.outputIndex, 1, ...splice.tokens);
585
+ }
586
+ }
587
+ function coalesceRepeatedListFlags(argv, listFlags, valueConsumingFlags = /* @__PURE__ */ new Set(), multiValueListFlags = /* @__PURE__ */ new Set()) {
588
+ if (listFlags.size === 0) {
589
+ return { argv: [...argv], events: [] };
590
+ }
591
+ const result = [];
592
+ const slots = /* @__PURE__ */ new Map();
593
+ let index = 0;
594
+ while (index < argv.length) {
595
+ const token = argv[index];
596
+ if (token === "--") {
597
+ result.push(...argv.slice(index));
598
+ break;
599
+ }
600
+ if (valueConsumingFlags.has(token)) {
601
+ index = copyValueConsumingFlag(argv, index, result);
602
+ continue;
603
+ }
604
+ const parsed = splitCanonicalListToken(token);
605
+ if (!parsed || !listFlags.has(parsed.flag)) {
606
+ result.push(token);
607
+ index += 1;
608
+ continue;
609
+ }
610
+ const occurrence = readListFlagOccurrence(argv, index, parsed, multiValueListFlags);
611
+ if (occurrence.value === void 0) {
612
+ result.push(token);
613
+ index += occurrence.consumed;
614
+ continue;
615
+ }
616
+ recordListFlagOccurrence(slots, result, parsed.flag, {
617
+ originalTokens: occurrence.originalTokens,
618
+ value: occurrence.value
619
+ });
620
+ index += occurrence.consumed;
621
+ }
622
+ const { events, splices } = buildListFlagCoalescingSplices(slots, multiValueListFlags);
623
+ applyListFlagSplices(result, splices);
624
+ return { argv: result, events };
625
+ }
626
+ var LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG = /* @__PURE__ */ new Map([
627
+ ["--add", /* @__PURE__ */ new Set(["command", "cmd", "path"])],
628
+ ["--remove", /* @__PURE__ */ new Set(["command", "path"])]
629
+ ]);
630
+ function isLinkedTestTwoTokenValuePosition(commandName, emittedTokens) {
631
+ if (commandName !== "test" || emittedTokens.length < 2) {
632
+ return false;
633
+ }
634
+ const key = emittedTokens[emittedTokens.length - 1];
635
+ const flag = emittedTokens[emittedTokens.length - 2];
636
+ const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(flag);
637
+ return keys !== void 0 && keys.has(key);
638
+ }
639
+ function shouldPreserveBareKeyValueToken(commandName, emittedTokens) {
640
+ return commandName === "search" || isLinkedTestTwoTokenValuePosition(commandName, emittedTokens);
641
+ }
642
+ function mergeLinkedTestTwoTokenEntries(argv, commandName, trace) {
643
+ if (commandName !== "test") {
644
+ return argv;
645
+ }
646
+ const result = [];
647
+ let index = 0;
648
+ while (index < argv.length) {
649
+ const token = argv[index];
650
+ if (token === "--") {
651
+ result.push(...argv.slice(index));
652
+ return result;
653
+ }
654
+ const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(token);
655
+ const key = keys ? argv[index + 1] : void 0;
656
+ if (!keys || typeof key !== "string" || !keys.has(key)) {
657
+ result.push(token);
658
+ index += 1;
659
+ continue;
660
+ }
661
+ let runEnd = index + 2;
662
+ while (runEnd < argv.length && !argv[runEnd].startsWith("-")) {
663
+ runEnd += 1;
664
+ }
665
+ if (runEnd - (index + 2) !== 1) {
666
+ result.push(token);
667
+ index += 1;
668
+ continue;
669
+ }
670
+ const value = argv[index + 2];
671
+ const mergedValue = `${key}=${value}`;
672
+ result.push(token, mergedValue);
673
+ trace.push({
674
+ from: `${token} ${key} ${value}`,
675
+ to: [token, mergedValue],
676
+ reason: "bare_key_value",
677
+ confidence: "high"
678
+ });
679
+ index += 3;
680
+ }
681
+ return result;
682
+ }
683
+ function normalizeBootstrapInvocation(argv) {
684
+ const trace = [];
685
+ const legacyNormalized = normalizeLegacyExtensionActionSyntax(argv);
686
+ if (legacyNormalized.length !== argv.length || legacyNormalized.some((token, index) => token !== argv[index])) {
687
+ trace.push({
688
+ from: argv.join(" "),
689
+ to: [...legacyNormalized],
690
+ reason: "legacy_extension_action",
691
+ confidence: "high"
692
+ });
693
+ }
694
+ const aliasNormalized = rewriteCommandAlias(legacyNormalized, trace);
695
+ const commandName = parseBootstrapCommandName(aliasNormalized);
696
+ const commandPathName = parseBootstrapCommandPathName(aliasNormalized);
697
+ const lookup = buildFlagLookup(commandPathName ?? commandName);
698
+ const normalizedArgv = [];
699
+ const pathValueIndices = collectBootstrapPathValueIndices(aliasNormalized);
700
+ for (let index = 0; index < aliasNormalized.length; index += 1) {
701
+ const token = aliasNormalized[index];
702
+ if (token === "--") {
703
+ normalizedArgv.push(...aliasNormalized.slice(index));
704
+ break;
705
+ }
706
+ const preserveCurrentToken = pathValueIndices.has(index);
707
+ const previous = normalizedArgv[normalizedArgv.length - 1];
708
+ if (token.startsWith("--")) {
709
+ const normalizedToken = normalizeLongOptionToken(token, lookup, preserveCurrentToken);
710
+ normalizedArgv.push(...normalizedToken.tokens);
711
+ if (normalizedToken.event) {
712
+ trace.push(normalizedToken.event);
713
+ }
714
+ continue;
715
+ }
716
+ const bareKeyValue = parseBareKeyValueToken(token, preserveCurrentToken);
717
+ if (bareKeyValue && !(typeof previous === "string" && previous.startsWith("-")) && !shouldPreserveBareKeyValueToken(commandName, normalizedArgv)) {
718
+ const resolution = resolveCanonicalFlag(bareKeyValue.key, lookup);
719
+ if (resolution) {
720
+ const replacement = [resolution.flag, bareKeyValue.value];
721
+ normalizedArgv.push(...replacement);
722
+ trace.push({
723
+ from: token,
724
+ to: replacement,
725
+ reason: "bare_key_value",
726
+ confidence: resolution.confidence
727
+ });
728
+ continue;
729
+ }
730
+ }
731
+ normalizedArgv.push(token);
732
+ }
733
+ const linkedTestNormalized = mergeLinkedTestTwoTokenEntries(normalizedArgv, commandName, trace);
734
+ const coalesced = coalesceRepeatedListFlags(linkedTestNormalized, lookup.listCanonicalFlags, GLOBAL_VALUE_CONSUMING_FLAGS, commandName === "create" ? /* @__PURE__ */ new Set(["--tags"]) : /* @__PURE__ */ new Set());
735
+ for (const event of coalesced.events) {
736
+ trace.push(event);
737
+ }
738
+ return {
739
+ argv: coalesced.argv,
740
+ commandName,
741
+ trace
742
+ };
743
+ }
744
+ function parseBootstrapCommandPathName(argv) {
745
+ const stripped = stripGlobalBootstrapTokens(argv);
746
+ const first = stripped[0]?.trim().toLowerCase();
747
+ const second = stripped[1]?.trim().toLowerCase();
748
+ if ((first === "extension" || first === "package" || first === "packages") && typeof second === "string" && second.length > 0 && !second.startsWith("-")) {
749
+ return `${first} ${second}`;
750
+ }
751
+ return first;
752
+ }
753
+ function parseBootstrapTypeValue(argv) {
754
+ for (let index = 0; index < argv.length; index += 1) {
755
+ const token = argv[index];
756
+ if (token === "--") {
757
+ break;
758
+ }
759
+ if (token === "--type") {
760
+ const candidate = argv[index + 1];
761
+ if (typeof candidate === "string" && candidate.trim().length > 0) {
762
+ return candidate.trim();
763
+ }
764
+ continue;
765
+ }
766
+ if (token.startsWith("--type=")) {
767
+ const candidate = token.slice("--type=".length).trim();
768
+ if (candidate.length > 0) {
769
+ return candidate;
770
+ }
771
+ }
772
+ }
773
+ return void 0;
774
+ }
775
+
776
+ // dist/sdk/invocation-author.js
777
+ function applyInvocationAuthorOverride(author) {
778
+ if (author === void 0) {
779
+ return () => {
780
+ };
781
+ }
782
+ const normalizedAuthor = author.trim();
783
+ if (normalizedAuthor.length === 0) {
784
+ throw new PmCliError("--author requires a non-empty value.", EXIT_CODE.USAGE, {
785
+ code: "missing_required_argument",
786
+ nextSteps: ["Pass an explicit author identifier with --author <id>."]
787
+ });
788
+ }
789
+ const previousAuthor = process.env.PM_AUTHOR;
790
+ process.env.PM_AUTHOR = normalizedAuthor;
791
+ let restored = false;
792
+ return () => {
793
+ if (restored) {
794
+ return;
795
+ }
796
+ restored = true;
797
+ if (previousAuthor === void 0) {
798
+ delete process.env.PM_AUTHOR;
799
+ } else {
800
+ process.env.PM_AUTHOR = previousAuthor;
801
+ }
802
+ };
803
+ }
804
+
805
+ // dist/sdk/cli-program.js
806
+ import { Command } from "commander";
807
+ function createPmCliProgram(version) {
808
+ 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({
809
+ writeOut: (value) => {
810
+ writeStdout(value);
811
+ },
812
+ writeErr: () => {
813
+ }
814
+ }).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();
815
+ }
816
+
817
+ export {
818
+ parseBootstrapGlobalOptions,
819
+ stripGlobalBootstrapTokens,
820
+ parseBootstrapHelpRequest,
821
+ parseBootstrapCommandName,
822
+ applyBootstrapPagerPolicy,
823
+ normalizeLegacyExtensionActionSyntax,
824
+ listAliasPluralKeys,
825
+ coalesceRepeatedListFlags,
826
+ mergeLinkedTestTwoTokenEntries,
827
+ normalizeBootstrapInvocation,
828
+ parseBootstrapTypeValue,
829
+ applyInvocationAuthorOverride,
830
+ createPmCliProgram
831
+ };
832
+ //# sourceMappingURL=chunk-MNV226E4.js.map
833
+
834
+ //# debugId=40f35f26-1830-5c76-8d1b-23cc7f58d887