@unbrained/pm-cli 2026.7.15 → 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 +23 -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
@@ -1,25 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
+ applyBootstrapPagerPolicy,
3
4
  applyInvocationAuthorOverride,
4
- createPmCliProgram
5
- } from "./chunks/chunk-ZKRZY773.js";
5
+ createPmCliProgram,
6
+ normalizeBootstrapInvocation,
7
+ parseBootstrapCommandName,
8
+ parseBootstrapGlobalOptions,
9
+ parseBootstrapHelpRequest,
10
+ parseBootstrapTypeValue,
11
+ stripGlobalBootstrapTokens
12
+ } from "./chunks/chunk-XYJK6GIQ.js";
6
13
  import {
7
14
  deriveTelemetryCommandResolution,
8
15
  deriveTelemetryCommandTaxonomy,
9
16
  emitTelemetryErrorEvent,
10
17
  finishTelemetryCommand,
11
18
  startTelemetryCommand
12
- } from "./chunks/chunk-NP22ERDF.js";
19
+ } from "./chunks/chunk-RTBX3C4C.js";
13
20
  import {
14
21
  migrateItemFilesToFormat
15
- } from "./chunks/chunk-BCOFWYW4.js";
22
+ } from "./chunks/chunk-2BX74BAS.js";
16
23
  import {
17
24
  normalizeExtensionNameForMatch,
18
25
  renderPmCommand
19
- } from "./chunks/chunk-PENXZX3U.js";
26
+ } from "./chunks/chunk-74FKFFXO.js";
20
27
  import {
21
28
  recordContextUsageTouches
22
- } from "./chunks/chunk-YCQET3OT.js";
29
+ } from "./chunks/chunk-BAP7G3N2.js";
23
30
  import {
24
31
  applyDefaultOutputFormat,
25
32
  clearResolvedGlobalOptions,
@@ -30,17 +37,17 @@ import {
30
37
  invalidateSearchCachesForMutation,
31
38
  setResolvedGlobalOptions,
32
39
  syncCommanderActionOptions
33
- } from "./chunks/chunk-7B67ZL4N.js";
40
+ } from "./chunks/chunk-B6SH2YNN.js";
34
41
  import {
35
42
  EXECUTABLE_COMMAND_ALIASES,
36
43
  PM_CORE_COMMAND_NAMES,
37
44
  resolveSubcommandFlagContractsForCommand
38
- } from "./chunks/chunk-H5APFTHZ.js";
45
+ } from "./chunks/chunk-S6FF7VW6.js";
39
46
  import {
40
47
  printError,
41
48
  printResult,
42
49
  writeStdout
43
- } from "./chunks/chunk-IG3SWA4A.js";
50
+ } from "./chunks/chunk-EHJFUOXL.js";
44
51
  import {
45
52
  clearActiveExtensionHooks,
46
53
  consumeAfterCommandAffectedItems,
@@ -64,7 +71,7 @@ import {
64
71
  setActiveExtensionRenderers,
65
72
  setActiveExtensionServices,
66
73
  writeSettings
67
- } from "./chunks/chunk-XSJUSQAE.js";
74
+ } from "./chunks/chunk-646MQXFW.js";
68
75
  import {
69
76
  BUILTIN_ITEM_TYPE_VALUES,
70
77
  EXIT_CODE,
@@ -92,7 +99,7 @@ import {
92
99
  runAfterCommandHooks,
93
100
  runBeforeCommandHooks,
94
101
  toNonEmptyStringOrUndefined
95
- } from "./chunks/chunk-BSEQUTQP.js";
102
+ } from "./chunks/chunk-WACRQ26A.js";
96
103
 
97
104
  // dist/cli/main.js
98
105
  import { Command } from "commander";
@@ -3421,726 +3428,10 @@ function ensureCommandPath(root, pathParts) {
3421
3428
  !(function() {
3422
3429
  try {
3423
3430
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
3424
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c8537d1b-6df6-53b0-a308-f91e09d39cf3");
3431
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7ea0ba9e-0857-5090-9568-3432d518ac25");
3425
3432
  } catch (e2) {
3426
3433
  }
3427
3434
  })();
3428
- var GLOBAL_VALUE_CONSUMING_FLAGS = /* @__PURE__ */ new Set([
3429
- "--pm-path",
3430
- "--path",
3431
- "--author"
3432
- ]);
3433
- var isInlineGlobalValueToken = (token) => {
3434
- const equalsIndex = token.indexOf("=");
3435
- return equalsIndex > 0 && GLOBAL_VALUE_CONSUMING_FLAGS.has(token.slice(0, equalsIndex));
3436
- };
3437
- var consumesBootstrapAuthorValue = (next) => {
3438
- return typeof next === "string" && !next.startsWith("-");
3439
- };
3440
- function parseBootstrapPathToken(token, next) {
3441
- if (token === "--path" || token === "--pm-path") {
3442
- if (typeof next === "string" && next.length > 0) {
3443
- return {
3444
- consumed: 2,
3445
- pathValue: next,
3446
- preferred: token === "--pm-path"
3447
- };
3448
- }
3449
- return {
3450
- consumed: 1,
3451
- preferred: token === "--pm-path"
3452
- };
3453
- }
3454
- const inlinePrefix = token.startsWith("--path=") ? "--path=" : token.startsWith("--pm-path=") ? "--pm-path=" : void 0;
3455
- if (!inlinePrefix) {
3456
- return null;
3457
- }
3458
- const value = token.slice(inlinePrefix.length);
3459
- if (value.length > 0) {
3460
- return {
3461
- consumed: 1,
3462
- pathValue: value,
3463
- preferred: inlinePrefix === "--pm-path="
3464
- };
3465
- }
3466
- return {
3467
- consumed: 1,
3468
- preferred: inlinePrefix === "--pm-path="
3469
- };
3470
- }
3471
- function parseBootstrapGlobalOptions(argv) {
3472
- let legacyPathValue;
3473
- let pmPathValue;
3474
- let noExtensions = false;
3475
- let noPager = false;
3476
- let json = false;
3477
- let quiet = false;
3478
- let author;
3479
- let authorMissingValue = false;
3480
- let index = 0;
3481
- while (index < argv.length) {
3482
- const token = argv[index];
3483
- if (token === "--") {
3484
- break;
3485
- }
3486
- if (token === "--no-extensions") {
3487
- noExtensions = true;
3488
- index += 1;
3489
- continue;
3490
- }
3491
- if (token === "--no-pager") {
3492
- noPager = true;
3493
- index += 1;
3494
- continue;
3495
- }
3496
- if (token === "--json") {
3497
- json = true;
3498
- index += 1;
3499
- continue;
3500
- }
3501
- if (token === "--quiet") {
3502
- quiet = true;
3503
- index += 1;
3504
- continue;
3505
- }
3506
- const parsedPath = parseBootstrapPathToken(token, argv[index + 1]);
3507
- if (parsedPath) {
3508
- if (parsedPath.pathValue !== void 0) {
3509
- if (parsedPath.preferred) {
3510
- pmPathValue = parsedPath.pathValue;
3511
- } else {
3512
- legacyPathValue = parsedPath.pathValue;
3513
- }
3514
- }
3515
- index += parsedPath.consumed;
3516
- continue;
3517
- }
3518
- if (token === "--author") {
3519
- if (consumesBootstrapAuthorValue(argv[index + 1])) {
3520
- author = argv[index + 1];
3521
- index += 2;
3522
- } else {
3523
- authorMissingValue = true;
3524
- index += 1;
3525
- }
3526
- continue;
3527
- }
3528
- if (token.startsWith("--author=")) {
3529
- author = token.slice("--author=".length);
3530
- index += 1;
3531
- continue;
3532
- }
3533
- index += 1;
3534
- }
3535
- return {
3536
- path: pmPathValue ?? legacyPathValue,
3537
- noExtensions,
3538
- noPager,
3539
- json,
3540
- quiet,
3541
- ...author !== void 0 ? { author } : {},
3542
- ...authorMissingValue ? { authorMissingValue: true } : {}
3543
- };
3544
- }
3545
- function stripGlobalBootstrapTokens(argv) {
3546
- const remaining = [];
3547
- let index = 0;
3548
- while (index < argv.length) {
3549
- const token = argv[index];
3550
- if (token === "--") {
3551
- break;
3552
- }
3553
- if (token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
3554
- index += 1;
3555
- continue;
3556
- }
3557
- if (token === "--author") {
3558
- index += consumesBootstrapAuthorValue(argv[index + 1]) ? 2 : 1;
3559
- continue;
3560
- }
3561
- if (GLOBAL_VALUE_CONSUMING_FLAGS.has(token)) {
3562
- index += 2;
3563
- continue;
3564
- }
3565
- if (isInlineGlobalValueToken(token)) {
3566
- index += 1;
3567
- continue;
3568
- }
3569
- remaining.push(token);
3570
- index += 1;
3571
- }
3572
- return remaining;
3573
- }
3574
- function parseBootstrapHelpRequest(argv) {
3575
- const stripped = stripGlobalBootstrapTokens(argv);
3576
- const first = stripped[0]?.trim().toLowerCase();
3577
- if (first === "help") {
3578
- const commandPathTokens2 = [];
3579
- for (let index = 1; index < stripped.length; index += 1) {
3580
- const token = stripped[index];
3581
- if (token.startsWith("-")) {
3582
- break;
3583
- }
3584
- commandPathTokens2.push(token.trim().toLowerCase());
3585
- }
3586
- return {
3587
- requested: true,
3588
- commandPathTokens: commandPathTokens2
3589
- };
3590
- }
3591
- const helpFlagIndex = stripped.findIndex((token) => token === "--help" || token === "-h");
3592
- if (helpFlagIndex < 0) {
3593
- return {
3594
- requested: false,
3595
- commandPathTokens: []
3596
- };
3597
- }
3598
- const commandPathTokens = [];
3599
- for (const token of stripped) {
3600
- if (token.startsWith("-")) {
3601
- break;
3602
- }
3603
- commandPathTokens.push(token.trim().toLowerCase());
3604
- }
3605
- return {
3606
- requested: true,
3607
- commandPathTokens
3608
- };
3609
- }
3610
- function findCommandTokenIndex(argv) {
3611
- for (let index = 0; index < argv.length; index += 1) {
3612
- const token = argv[index];
3613
- if (token === "--") {
3614
- return void 0;
3615
- }
3616
- if (token === "--author") {
3617
- index += consumesBootstrapAuthorValue(argv[index + 1]) ? 1 : 0;
3618
- continue;
3619
- }
3620
- if (GLOBAL_VALUE_CONSUMING_FLAGS.has(token)) {
3621
- index += 1;
3622
- continue;
3623
- }
3624
- if (isInlineGlobalValueToken(token) || token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
3625
- continue;
3626
- }
3627
- if (token.startsWith("-")) {
3628
- continue;
3629
- }
3630
- return index;
3631
- }
3632
- return void 0;
3633
- }
3634
- function parseBootstrapCommandName(argv) {
3635
- const index = findCommandTokenIndex(argv);
3636
- return index === void 0 ? void 0 : argv[index].trim().toLowerCase();
3637
- }
3638
- function shouldDisablePagerForInvocation(argv, bootstrapGlobal) {
3639
- if (bootstrapGlobal.noPager) {
3640
- return true;
3641
- }
3642
- if (process.stdout.isTTY === true) {
3643
- return false;
3644
- }
3645
- const helpRequest = parseBootstrapHelpRequest(argv);
3646
- return helpRequest.requested;
3647
- }
3648
- function applyBootstrapPagerPolicy(argv) {
3649
- const bootstrapGlobal = parseBootstrapGlobalOptions(argv);
3650
- if (!shouldDisablePagerForInvocation(argv, bootstrapGlobal)) {
3651
- return;
3652
- }
3653
- process.env.PAGER = "cat";
3654
- process.env.MANPAGER = "cat";
3655
- process.env.GIT_PAGER = "cat";
3656
- if (typeof process.env.LESS !== "string" || process.env.LESS.trim().length === 0) {
3657
- process.env.LESS = "FRX";
3658
- }
3659
- }
3660
- var EXTENSION_ACTION_SYNTAX_TOKENS = /* @__PURE__ */ new Set([
3661
- "install",
3662
- "uninstall",
3663
- "explore",
3664
- "manage",
3665
- "doctor",
3666
- "adopt",
3667
- "adopt-all",
3668
- "activate",
3669
- "deactivate"
3670
- ]);
3671
- function normalizeLegacyExtensionActionSyntax(argv) {
3672
- const extensionIndex = argv.findIndex((token) => token === "extension");
3673
- if (extensionIndex < 0) {
3674
- return [...argv];
3675
- }
3676
- const actionToken = argv[extensionIndex + 1];
3677
- if (!actionToken || actionToken.startsWith("-")) {
3678
- return [...argv];
3679
- }
3680
- if (!EXTENSION_ACTION_SYNTAX_TOKENS.has(actionToken)) {
3681
- return [...argv];
3682
- }
3683
- if (argv.includes("--help") || argv.includes("-h")) {
3684
- return [...argv];
3685
- }
3686
- const forcedActionFlag = `--${actionToken}`;
3687
- if (argv.includes(forcedActionFlag)) {
3688
- return [...argv];
3689
- }
3690
- return [
3691
- ...argv.slice(0, extensionIndex + 1),
3692
- forcedActionFlag,
3693
- ...argv.slice(extensionIndex + 2)
3694
- ];
3695
- }
3696
- function rewriteCommandAlias(argv, trace) {
3697
- const index = findCommandTokenIndex(argv);
3698
- if (index === void 0) {
3699
- return argv;
3700
- }
3701
- const token = argv[index];
3702
- const canonical = EXECUTABLE_COMMAND_ALIASES[token.trim().toLowerCase()];
3703
- if (!canonical) {
3704
- return argv;
3705
- }
3706
- const rewritten = [...argv];
3707
- rewritten[index] = canonical;
3708
- trace.push({
3709
- from: token,
3710
- to: [canonical],
3711
- reason: "command_alias",
3712
- confidence: "high"
3713
- });
3714
- return rewritten;
3715
- }
3716
- function normalizeFlagKeyToken(raw) {
3717
- const withoutPrefix = raw.replace(/^--?/, "");
3718
- return withoutPrefix.replace(/_/g, "-").replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
3719
- }
3720
- function toComparableFlagKey(raw) {
3721
- return normalizeFlagKeyToken(raw).replace(/-/g, "");
3722
- }
3723
- function markUnambiguousFlag(map, key, canonicalFlag) {
3724
- const existing = map.get(key);
3725
- if (existing === void 0) {
3726
- map.set(key, canonicalFlag);
3727
- return;
3728
- }
3729
- if (existing !== canonicalFlag) {
3730
- map.set(key, null);
3731
- }
3732
- }
3733
- function collectLongFlagCandidates(contract) {
3734
- const candidates = [];
3735
- const pushLongFlag = (value) => {
3736
- if (typeof value !== "string") {
3737
- return;
3738
- }
3739
- if (!value.startsWith("--")) {
3740
- return;
3741
- }
3742
- candidates.push(value);
3743
- };
3744
- pushLongFlag(contract.flag);
3745
- for (const alias of contract.aliases ?? []) {
3746
- pushLongFlag(alias);
3747
- }
3748
- return candidates;
3749
- }
3750
- function buildFlagLookup(commandName, contractsOverride) {
3751
- const contracts = contractsOverride ?? resolveSubcommandFlagContractsForCommand(commandName);
3752
- const canonicalByNormalized = /* @__PURE__ */ new Map();
3753
- const canonicalByCompact = /* @__PURE__ */ new Map();
3754
- const canonicalComparablesMap = /* @__PURE__ */ new Map();
3755
- const listCanonicalFlags = /* @__PURE__ */ new Set();
3756
- for (const contract of contracts) {
3757
- const longCandidates = collectLongFlagCandidates(contract);
3758
- if (longCandidates.length === 0) {
3759
- continue;
3760
- }
3761
- const canonicalFlag = `--${normalizeFlagKeyToken(longCandidates[0])}`;
3762
- for (const candidate of longCandidates) {
3763
- markUnambiguousFlag(canonicalByNormalized, normalizeFlagKeyToken(candidate), canonicalFlag);
3764
- markUnambiguousFlag(canonicalByCompact, toComparableFlagKey(candidate), canonicalFlag);
3765
- }
3766
- const comparable = toComparableFlagKey(canonicalFlag);
3767
- if (!canonicalComparablesMap.has(canonicalFlag)) {
3768
- canonicalComparablesMap.set(canonicalFlag, comparable);
3769
- }
3770
- if (contract.list === true) {
3771
- listCanonicalFlags.add(canonicalFlag);
3772
- }
3773
- }
3774
- return {
3775
- canonicalByNormalized,
3776
- canonicalByCompact,
3777
- canonicalComparables: [...canonicalComparablesMap.entries()].map(([canonicalFlag, comparable]) => ({
3778
- canonicalFlag,
3779
- comparable
3780
- })),
3781
- listCanonicalFlags
3782
- };
3783
- }
3784
- function resolveCanonicalFlag(rawKey, lookup) {
3785
- const normalizedKey = normalizeFlagKeyToken(rawKey);
3786
- const direct = lookup.canonicalByNormalized.get(normalizedKey);
3787
- if (typeof direct === "string") {
3788
- return {
3789
- flag: direct,
3790
- reason: "flag_alias",
3791
- confidence: "high"
3792
- };
3793
- }
3794
- const comparableKey = normalizedKey.replace(/-/g, "");
3795
- const compactMatch = lookup.canonicalByCompact.get(comparableKey);
3796
- if (typeof compactMatch === "string") {
3797
- return {
3798
- flag: compactMatch,
3799
- reason: "flag_alias",
3800
- confidence: "high"
3801
- };
3802
- }
3803
- const maxDistance = comparableKey.length >= 8 ? 2 : 1;
3804
- let bestDistance = Number.POSITIVE_INFINITY;
3805
- let bestFlag;
3806
- let tied = false;
3807
- for (const candidate of lookup.canonicalComparables) {
3808
- const distance = levenshteinDistanceWithinLimit(comparableKey, candidate.comparable, maxDistance);
3809
- if (distance === null) {
3810
- continue;
3811
- }
3812
- if (distance < bestDistance) {
3813
- bestDistance = distance;
3814
- bestFlag = candidate.canonicalFlag;
3815
- tied = false;
3816
- continue;
3817
- }
3818
- if (distance === bestDistance && bestFlag !== candidate.canonicalFlag) {
3819
- tied = true;
3820
- }
3821
- }
3822
- if (!bestFlag || tied || !Number.isFinite(bestDistance) || bestDistance <= 0) {
3823
- return null;
3824
- }
3825
- return {
3826
- flag: bestFlag,
3827
- reason: "flag_typo",
3828
- confidence: bestDistance >= 2 ? "medium" : "high"
3829
- };
3830
- }
3831
- function parseBareKeyValueToken(token) {
3832
- if (token.includes("://")) {
3833
- return null;
3834
- }
3835
- const match = token.match(/^([A-Za-z][A-Za-z0-9_-]{1,63})([:=])(.*)$/);
3836
- if (!match) {
3837
- return null;
3838
- }
3839
- const key = match[1];
3840
- const value = match[3];
3841
- if (value.length === 0) {
3842
- return null;
3843
- }
3844
- return {
3845
- key,
3846
- value
3847
- };
3848
- }
3849
- function normalizeLongOptionToken(token, lookup) {
3850
- if (!token.startsWith("--")) {
3851
- return { tokens: [token] };
3852
- }
3853
- const equalsIndex = token.indexOf("=");
3854
- const key = equalsIndex >= 0 ? token.slice(0, equalsIndex) : token;
3855
- const inlineValue = equalsIndex >= 0 ? token.slice(equalsIndex + 1) : void 0;
3856
- const resolution = resolveCanonicalFlag(key, lookup);
3857
- if (!resolution) {
3858
- return { tokens: [token] };
3859
- }
3860
- const normalizedToken = inlineValue === void 0 ? resolution.flag : `${resolution.flag}=${inlineValue}`;
3861
- if (normalizedToken === token) {
3862
- return { tokens: [token] };
3863
- }
3864
- return {
3865
- tokens: [normalizedToken],
3866
- event: {
3867
- from: token,
3868
- to: [normalizedToken],
3869
- reason: resolution.reason,
3870
- confidence: resolution.confidence
3871
- }
3872
- };
3873
- }
3874
- function splitCanonicalListToken(token) {
3875
- if (!token.startsWith("--")) {
3876
- return null;
3877
- }
3878
- const equalsIndex = token.indexOf("=");
3879
- if (equalsIndex < 0) {
3880
- return { flag: token };
3881
- }
3882
- return {
3883
- flag: token.slice(0, equalsIndex),
3884
- inlineValue: token.slice(equalsIndex + 1)
3885
- };
3886
- }
3887
- function copyValueConsumingFlag(argv, index, result) {
3888
- result.push(argv[index]);
3889
- const next = argv[index + 1];
3890
- if (typeof next === "string" && next !== "--") {
3891
- result.push(next);
3892
- return index + 2;
3893
- }
3894
- return index + 1;
3895
- }
3896
- function readListFlagOccurrence(argv, index, parsed, multiValueListFlags) {
3897
- if (parsed.inlineValue !== void 0) {
3898
- return {
3899
- originalTokens: [argv[index]],
3900
- value: parsed.inlineValue,
3901
- consumed: 1
3902
- };
3903
- }
3904
- const values = [];
3905
- let valueIndex = index + 1;
3906
- while (valueIndex < argv.length && argv[valueIndex] !== "--" && !argv[valueIndex].startsWith("-") && (values.length === 0 || multiValueListFlags.has(parsed.flag))) {
3907
- values.push(argv[valueIndex]);
3908
- valueIndex += 1;
3909
- }
3910
- const consumed = values.length === 0 ? 1 : 1 + values.length;
3911
- return {
3912
- originalTokens: argv.slice(index, index + consumed),
3913
- value: values.length === 0 ? void 0 : values.join(","),
3914
- consumed
3915
- };
3916
- }
3917
- function recordListFlagOccurrence(slots, result, flag, occurrence) {
3918
- const existing = slots.get(flag);
3919
- if (existing) {
3920
- existing.values.push(occurrence.value);
3921
- existing.occurrences += 1;
3922
- return;
3923
- }
3924
- slots.set(flag, {
3925
- outputIndex: result.length,
3926
- originalTokens: occurrence.originalTokens,
3927
- values: [occurrence.value],
3928
- occurrences: 1
3929
- });
3930
- result.push(null);
3931
- }
3932
- function buildListFlagCoalescingSplices(slots, multiValueListFlags) {
3933
- const events = [];
3934
- const splices = [];
3935
- for (const [flag, slot] of slots) {
3936
- const shouldMerge = slot.occurrences >= 2 || multiValueListFlags.has(flag) && slot.originalTokens.length > 2;
3937
- if (!shouldMerge) {
3938
- splices.push({
3939
- outputIndex: slot.outputIndex,
3940
- tokens: slot.originalTokens
3941
- });
3942
- continue;
3943
- }
3944
- const mergedToken = `${flag}=${slot.values.join(",")}`;
3945
- splices.push({ outputIndex: slot.outputIndex, tokens: [mergedToken] });
3946
- events.push({
3947
- from: `${flag} (x${slot.occurrences})`,
3948
- to: [mergedToken],
3949
- reason: "list_merge",
3950
- confidence: "high"
3951
- });
3952
- }
3953
- return { events, splices };
3954
- }
3955
- function applyListFlagSplices(result, splices) {
3956
- splices.sort((a, b) => b.outputIndex - a.outputIndex);
3957
- for (const splice of splices) {
3958
- result.splice(splice.outputIndex, 1, ...splice.tokens);
3959
- }
3960
- }
3961
- function coalesceRepeatedListFlags(argv, listFlags, valueConsumingFlags = /* @__PURE__ */ new Set(), multiValueListFlags = /* @__PURE__ */ new Set()) {
3962
- if (listFlags.size === 0) {
3963
- return { argv: [...argv], events: [] };
3964
- }
3965
- const result = [];
3966
- const slots = /* @__PURE__ */ new Map();
3967
- let index = 0;
3968
- while (index < argv.length) {
3969
- const token = argv[index];
3970
- if (token === "--") {
3971
- result.push(...argv.slice(index));
3972
- break;
3973
- }
3974
- if (valueConsumingFlags.has(token)) {
3975
- index = copyValueConsumingFlag(argv, index, result);
3976
- continue;
3977
- }
3978
- const parsed = splitCanonicalListToken(token);
3979
- if (!parsed || !listFlags.has(parsed.flag)) {
3980
- result.push(token);
3981
- index += 1;
3982
- continue;
3983
- }
3984
- const occurrence = readListFlagOccurrence(argv, index, parsed, multiValueListFlags);
3985
- if (occurrence.value === void 0) {
3986
- result.push(token);
3987
- index += occurrence.consumed;
3988
- continue;
3989
- }
3990
- recordListFlagOccurrence(slots, result, parsed.flag, {
3991
- originalTokens: occurrence.originalTokens,
3992
- value: occurrence.value
3993
- });
3994
- index += occurrence.consumed;
3995
- }
3996
- const { events, splices } = buildListFlagCoalescingSplices(slots, multiValueListFlags);
3997
- applyListFlagSplices(result, splices);
3998
- return { argv: result, events };
3999
- }
4000
- var LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG = /* @__PURE__ */ new Map([
4001
- ["--add", /* @__PURE__ */ new Set(["command", "cmd", "path"])],
4002
- ["--remove", /* @__PURE__ */ new Set(["command", "path"])]
4003
- ]);
4004
- function isLinkedTestTwoTokenValuePosition(commandName, emittedTokens) {
4005
- if (commandName !== "test" || emittedTokens.length < 2) {
4006
- return false;
4007
- }
4008
- const key = emittedTokens[emittedTokens.length - 1];
4009
- const flag = emittedTokens[emittedTokens.length - 2];
4010
- const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(flag);
4011
- return keys !== void 0 && keys.has(key);
4012
- }
4013
- function shouldPreserveBareKeyValueToken(commandName, emittedTokens) {
4014
- return commandName === "search" || isLinkedTestTwoTokenValuePosition(commandName, emittedTokens);
4015
- }
4016
- function mergeLinkedTestTwoTokenEntries(argv, commandName, trace) {
4017
- if (commandName !== "test") {
4018
- return argv;
4019
- }
4020
- const result = [];
4021
- let index = 0;
4022
- while (index < argv.length) {
4023
- const token = argv[index];
4024
- if (token === "--") {
4025
- result.push(...argv.slice(index));
4026
- return result;
4027
- }
4028
- const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(token);
4029
- const key = keys ? argv[index + 1] : void 0;
4030
- if (!keys || typeof key !== "string" || !keys.has(key)) {
4031
- result.push(token);
4032
- index += 1;
4033
- continue;
4034
- }
4035
- let runEnd = index + 2;
4036
- while (runEnd < argv.length && !argv[runEnd].startsWith("-")) {
4037
- runEnd += 1;
4038
- }
4039
- if (runEnd - (index + 2) !== 1) {
4040
- result.push(token);
4041
- index += 1;
4042
- continue;
4043
- }
4044
- const value = argv[index + 2];
4045
- const mergedValue = `${key}=${value}`;
4046
- result.push(token, mergedValue);
4047
- trace.push({
4048
- from: `${token} ${key} ${value}`,
4049
- to: [token, mergedValue],
4050
- reason: "bare_key_value",
4051
- confidence: "high"
4052
- });
4053
- index += 3;
4054
- }
4055
- return result;
4056
- }
4057
- function normalizeBootstrapInvocation(argv) {
4058
- const trace = [];
4059
- const legacyNormalized = normalizeLegacyExtensionActionSyntax(argv);
4060
- if (legacyNormalized.length !== argv.length || legacyNormalized.some((token, index) => token !== argv[index])) {
4061
- trace.push({
4062
- from: argv.join(" "),
4063
- to: [...legacyNormalized],
4064
- reason: "legacy_extension_action",
4065
- confidence: "high"
4066
- });
4067
- }
4068
- const aliasNormalized = rewriteCommandAlias(legacyNormalized, trace);
4069
- const commandName = parseBootstrapCommandName(aliasNormalized);
4070
- const commandPathName = parseBootstrapCommandPathName(aliasNormalized);
4071
- const lookup = buildFlagLookup(commandPathName ?? commandName);
4072
- const normalizedArgv = [];
4073
- for (let index = 0; index < aliasNormalized.length; index += 1) {
4074
- const token = aliasNormalized[index];
4075
- if (token === "--") {
4076
- normalizedArgv.push(...aliasNormalized.slice(index));
4077
- break;
4078
- }
4079
- const previous = normalizedArgv[normalizedArgv.length - 1];
4080
- if (token.startsWith("--")) {
4081
- const normalizedToken = normalizeLongOptionToken(token, lookup);
4082
- normalizedArgv.push(...normalizedToken.tokens);
4083
- if (normalizedToken.event) {
4084
- trace.push(normalizedToken.event);
4085
- }
4086
- continue;
4087
- }
4088
- const bareKeyValue = parseBareKeyValueToken(token);
4089
- if (bareKeyValue && !(typeof previous === "string" && previous.startsWith("-")) && !shouldPreserveBareKeyValueToken(commandName, normalizedArgv)) {
4090
- const resolution = resolveCanonicalFlag(bareKeyValue.key, lookup);
4091
- if (resolution) {
4092
- const replacement = [resolution.flag, bareKeyValue.value];
4093
- normalizedArgv.push(...replacement);
4094
- trace.push({
4095
- from: token,
4096
- to: replacement,
4097
- reason: "bare_key_value",
4098
- confidence: resolution.confidence
4099
- });
4100
- continue;
4101
- }
4102
- }
4103
- normalizedArgv.push(token);
4104
- }
4105
- const linkedTestNormalized = mergeLinkedTestTwoTokenEntries(normalizedArgv, commandName, trace);
4106
- const coalesced = coalesceRepeatedListFlags(linkedTestNormalized, lookup.listCanonicalFlags, GLOBAL_VALUE_CONSUMING_FLAGS, commandName === "create" ? /* @__PURE__ */ new Set(["--tags"]) : /* @__PURE__ */ new Set());
4107
- for (const event of coalesced.events) {
4108
- trace.push(event);
4109
- }
4110
- return {
4111
- argv: coalesced.argv,
4112
- commandName,
4113
- trace
4114
- };
4115
- }
4116
- function parseBootstrapCommandPathName(argv) {
4117
- const stripped = stripGlobalBootstrapTokens(argv);
4118
- const first = stripped[0]?.trim().toLowerCase();
4119
- const second = stripped[1]?.trim().toLowerCase();
4120
- if ((first === "extension" || first === "package" || first === "packages") && typeof second === "string" && second.length > 0 && !second.startsWith("-")) {
4121
- return `${first} ${second}`;
4122
- }
4123
- return first;
4124
- }
4125
- function parseBootstrapTypeValue(argv) {
4126
- for (let index = 0; index < argv.length; index += 1) {
4127
- const token = argv[index];
4128
- if (token === "--type") {
4129
- const candidate = argv[index + 1];
4130
- if (typeof candidate === "string" && candidate.trim().length > 0) {
4131
- return candidate.trim();
4132
- }
4133
- continue;
4134
- }
4135
- if (token.startsWith("--type=")) {
4136
- const candidate = token.slice("--type=".length).trim();
4137
- if (candidate.length > 0) {
4138
- return candidate;
4139
- }
4140
- }
4141
- }
4142
- return void 0;
4143
- }
4144
3435
 
4145
3436
  // dist/cli/migration-gates.js
4146
3437
  !(function() {
@@ -5102,7 +4393,7 @@ function attachCreateUpdatePolicyHelpText(rootProgram, typeRegistry, argv) {
5102
4393
  !(function() {
5103
4394
  try {
5104
4395
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5105
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "422e7133-3086-5221-ab89-27a20135ee08");
4396
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4b2ea80e-8f8d-5b40-a4bc-6afa0416fc9e");
5106
4397
  } catch (e2) {
5107
4398
  }
5108
4399
  })();
@@ -5158,10 +4449,10 @@ var EXPECTED_HANDLED_ERROR_EXIT_CODES = /* @__PURE__ */ new Set([
5158
4449
  EXIT_CODE.CONFLICT
5159
4450
  ]);
5160
4451
  var TRUE_LIKE_ENV_VALUES = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]);
5161
- var loadSetupRegistrationModule = createLazyModule(() => import("./chunks/register-setup-BCVLFEYS.js"));
5162
- var loadListQueryRegistrationModule = createLazyModule(() => import("./chunks/register-list-query-DKA3EH5D.js"));
5163
- var loadMutationRegistrationModule = createLazyModule(() => import("./chunks/register-mutation-ARFHRW55.js"));
5164
- var loadOperationRegistrationModule = createLazyModule(() => import("./chunks/register-operations-ZUJ5JWPE.js"));
4452
+ var loadSetupRegistrationModule = createLazyModule(() => import("./chunks/register-setup-J3JS2ZVT.js"));
4453
+ var loadListQueryRegistrationModule = createLazyModule(() => import("./chunks/register-list-query-NEYP3TXO.js"));
4454
+ var loadMutationRegistrationModule = createLazyModule(() => import("./chunks/register-mutation-GCZOALNJ.js"));
4455
+ var loadOperationRegistrationModule = createLazyModule(() => import("./chunks/register-operations-REDIAEGI.js"));
5165
4456
  function describeUnknownError(error) {
5166
4457
  if (error instanceof PmCliError) {
5167
4458
  return error.message;
@@ -6497,26 +5788,106 @@ async function registerDynamicExtensionCommandPaths(rootProgram, invocationArgv)
6497
5788
  }
6498
5789
  var CLI_VERSION = resolvePmCliVersion(import.meta.url, ["../.."]) ?? "0.0.0";
6499
5790
  var program = createPmCliProgram(CLI_VERSION);
6500
- program.hook("preAction", async (_thisCommand, actionCommand) => {
6501
- activeExtensionHookContext = null;
6502
- activeTelemetryCommandContext = null;
6503
- clearActiveExtensionHooks();
6504
- clearResolvedGlobalOptions(actionCommand);
6505
- const bootstrapGlobalOptions = getGlobalOptions(actionCommand);
6506
- const commandPath = getCommandPath(actionCommand);
6507
- let commandArgs = actionCommand.args.map(String);
6508
- let commandOptions = extractCommandScopedOptions(actionCommand, commandArgs);
6509
- let globalOptions = { ...bootstrapGlobalOptions };
6510
- await maybeRunFirstUseTelemetryPrompt(commandPath, globalOptions);
6511
- const fallbackPmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);
6512
- const runtimeExtensions = await maybeLoadRuntimeExtensions(actionCommand);
6513
- if (!runtimeExtensions) {
6514
- activeExtensionHookContext = createCoreCommandHookContext({
5791
+ function attachProgramLifecycleHooks(rootProgram) {
5792
+ rootProgram.hook("preAction", async (_thisCommand, actionCommand) => {
5793
+ activeExtensionHookContext = null;
5794
+ activeTelemetryCommandContext = null;
5795
+ clearActiveExtensionHooks();
5796
+ clearResolvedGlobalOptions(actionCommand);
5797
+ const bootstrapGlobalOptions = getGlobalOptions(actionCommand);
5798
+ const commandPath = getCommandPath(actionCommand);
5799
+ let commandArgs = actionCommand.args.map(String);
5800
+ let commandOptions = extractCommandScopedOptions(actionCommand, commandArgs);
5801
+ let globalOptions = { ...bootstrapGlobalOptions };
5802
+ await maybeRunFirstUseTelemetryPrompt(commandPath, globalOptions);
5803
+ const fallbackPmRoot = resolvePmRoot(process.cwd(), bootstrapGlobalOptions.path);
5804
+ const runtimeExtensions = await maybeLoadRuntimeExtensions(actionCommand);
5805
+ if (!runtimeExtensions) {
5806
+ activeExtensionHookContext = createCoreCommandHookContext({
5807
+ commandName: commandPath,
5808
+ commandArgs,
5809
+ commandOptions,
5810
+ globalOptions,
5811
+ pmRoot: fallbackPmRoot
5812
+ });
5813
+ activeTelemetryCommandContext = await startTelemetryCommand({
5814
+ command: commandPath,
5815
+ pm_version: CLI_VERSION,
5816
+ args: commandArgs,
5817
+ options: commandOptions,
5818
+ global: globalOptions,
5819
+ pm_root: fallbackPmRoot
5820
+ });
5821
+ sentrySetCommandContext(commandPath, commandArgs, commandOptions, {
5822
+ source_context: activeTelemetryCommandContext?.source_context,
5823
+ source_context_source: activeTelemetryCommandContext?.source_context_source
5824
+ });
5825
+ sentryStartCommandSpan(commandPath);
5826
+ await enforceItemFormatWriteGateAndPreflightMigration(commandPath, commandOptions, fallbackPmRoot, defaultPreflightDecision());
5827
+ return;
5828
+ }
5829
+ setActiveExtensionHooks(runtimeExtensions.hooks);
5830
+ setActiveExtensionCommands(runtimeExtensions.commands);
5831
+ setActiveExtensionParsers(runtimeExtensions.parsers);
5832
+ setActiveExtensionPreflight(runtimeExtensions.preflight);
5833
+ setActiveExtensionServices(runtimeExtensions.services);
5834
+ setActiveExtensionRenderers(runtimeExtensions.renderers);
5835
+ setActiveExtensionRegistrations(runtimeExtensions.registrations);
5836
+ const extensionFlagDefinitions = collectExtensionFlagDefinitionsForInvocation(runtimeExtensions.registrations, commandPath, commandArgs);
5837
+ commandOptions = extractCommandScopedOptions(actionCommand, commandArgs, extensionFlagDefinitions);
5838
+ const parserOverride = await runActiveParserOverride({
5839
+ command: commandPath,
5840
+ args: commandArgs,
5841
+ options: commandOptions,
5842
+ global: globalOptions,
5843
+ pm_root: runtimeExtensions.pmRoot
5844
+ });
5845
+ if (globalOptions.profile && parserOverride.warnings.length > 0) {
5846
+ printError(`profile:extensions parser_warnings=${formatHookWarnings(parserOverride.warnings)}`);
5847
+ }
5848
+ commandArgs = parserOverride.context.args;
5849
+ commandOptions = parserOverride.context.options;
5850
+ globalOptions = parserOverride.context.global;
5851
+ syncCommanderActionOptions(actionCommand, commandOptions);
5852
+ const preflightOverride = await runActivePreflightOverride({
5853
+ command: commandPath,
5854
+ args: commandArgs,
5855
+ options: commandOptions,
5856
+ global: globalOptions,
5857
+ pm_root: runtimeExtensions.pmRoot,
5858
+ decision: defaultPreflightDecision()
5859
+ });
5860
+ if (globalOptions.profile && preflightOverride.warnings.length > 0) {
5861
+ printError(`profile:extensions preflight_warnings=${formatHookWarnings(preflightOverride.warnings)}`);
5862
+ }
5863
+ commandArgs = preflightOverride.context.args;
5864
+ commandOptions = preflightOverride.context.options;
5865
+ globalOptions = preflightOverride.context.global;
5866
+ syncCommanderActionOptions(actionCommand, commandOptions);
5867
+ const preflightDecision = preflightOverride.decision;
5868
+ await enforceItemFormatWriteGateAndPreflightMigration(commandPath, commandOptions, runtimeExtensions.pmRoot, preflightDecision);
5869
+ const migrationWarnings = preflightDecision.run_extension_migrations ? await executeRegisteredRuntimeMigrations(runtimeExtensions.registrations.migrations, runtimeExtensions.pmRoot) : [];
5870
+ if (globalOptions.profile && migrationWarnings.length > 0) {
5871
+ printError(`profile:extensions migration_warnings=${formatHookWarnings(migrationWarnings)}`);
5872
+ }
5873
+ const migrationBlockers = collectMandatoryMigrationBlockers(runtimeExtensions.registrations.migrations);
5874
+ activeExtensionHookContext = {
5875
+ hooks: runtimeExtensions.hooks,
6515
5876
  commandName: commandPath,
6516
5877
  commandArgs,
6517
- commandOptions,
6518
- globalOptions,
6519
- pmRoot: fallbackPmRoot
5878
+ commandOptions: { ...commandOptions },
5879
+ globalOptions: { ...globalOptions },
5880
+ pmRoot: runtimeExtensions.pmRoot,
5881
+ profileEnabled: Boolean(globalOptions.profile),
5882
+ migrationBlockers
5883
+ };
5884
+ setActiveCommandResult(void 0);
5885
+ setActiveCommandContext({
5886
+ command: commandPath,
5887
+ args: commandArgs,
5888
+ options: { ...commandOptions },
5889
+ global: { ...globalOptions },
5890
+ pm_root: runtimeExtensions.pmRoot
6520
5891
  });
6521
5892
  activeTelemetryCommandContext = await startTelemetryCommand({
6522
5893
  command: commandPath,
@@ -6524,117 +5895,40 @@ program.hook("preAction", async (_thisCommand, actionCommand) => {
6524
5895
  args: commandArgs,
6525
5896
  options: commandOptions,
6526
5897
  global: globalOptions,
6527
- pm_root: fallbackPmRoot
5898
+ pm_root: runtimeExtensions.pmRoot
6528
5899
  });
6529
5900
  sentrySetCommandContext(commandPath, commandArgs, commandOptions, {
6530
5901
  source_context: activeTelemetryCommandContext?.source_context,
6531
5902
  source_context_source: activeTelemetryCommandContext?.source_context_source
6532
5903
  });
6533
5904
  sentryStartCommandSpan(commandPath);
6534
- await enforceItemFormatWriteGateAndPreflightMigration(commandPath, commandOptions, fallbackPmRoot, defaultPreflightDecision());
6535
- return;
6536
- }
6537
- setActiveExtensionHooks(runtimeExtensions.hooks);
6538
- setActiveExtensionCommands(runtimeExtensions.commands);
6539
- setActiveExtensionParsers(runtimeExtensions.parsers);
6540
- setActiveExtensionPreflight(runtimeExtensions.preflight);
6541
- setActiveExtensionServices(runtimeExtensions.services);
6542
- setActiveExtensionRenderers(runtimeExtensions.renderers);
6543
- setActiveExtensionRegistrations(runtimeExtensions.registrations);
6544
- const extensionFlagDefinitions = collectExtensionFlagDefinitionsForInvocation(runtimeExtensions.registrations, commandPath, commandArgs);
6545
- commandOptions = extractCommandScopedOptions(actionCommand, commandArgs, extensionFlagDefinitions);
6546
- const parserOverride = await runActiveParserOverride({
6547
- command: commandPath,
6548
- args: commandArgs,
6549
- options: commandOptions,
6550
- global: globalOptions,
6551
- pm_root: runtimeExtensions.pmRoot
6552
- });
6553
- if (globalOptions.profile && parserOverride.warnings.length > 0) {
6554
- printError(`profile:extensions parser_warnings=${formatHookWarnings(parserOverride.warnings)}`);
6555
- }
6556
- commandArgs = parserOverride.context.args;
6557
- commandOptions = parserOverride.context.options;
6558
- globalOptions = parserOverride.context.global;
6559
- syncCommanderActionOptions(actionCommand, commandOptions);
6560
- const preflightOverride = await runActivePreflightOverride({
6561
- command: commandPath,
6562
- args: commandArgs,
6563
- options: commandOptions,
6564
- global: globalOptions,
6565
- pm_root: runtimeExtensions.pmRoot,
6566
- decision: defaultPreflightDecision()
6567
- });
6568
- if (globalOptions.profile && preflightOverride.warnings.length > 0) {
6569
- printError(`profile:extensions preflight_warnings=${formatHookWarnings(preflightOverride.warnings)}`);
6570
- }
6571
- commandArgs = preflightOverride.context.args;
6572
- commandOptions = preflightOverride.context.options;
6573
- globalOptions = preflightOverride.context.global;
6574
- syncCommanderActionOptions(actionCommand, commandOptions);
6575
- const preflightDecision = preflightOverride.decision;
6576
- await enforceItemFormatWriteGateAndPreflightMigration(commandPath, commandOptions, runtimeExtensions.pmRoot, preflightDecision);
6577
- const migrationWarnings = preflightDecision.run_extension_migrations ? await executeRegisteredRuntimeMigrations(runtimeExtensions.registrations.migrations, runtimeExtensions.pmRoot) : [];
6578
- if (globalOptions.profile && migrationWarnings.length > 0) {
6579
- printError(`profile:extensions migration_warnings=${formatHookWarnings(migrationWarnings)}`);
6580
- }
6581
- const migrationBlockers = collectMandatoryMigrationBlockers(runtimeExtensions.registrations.migrations);
6582
- activeExtensionHookContext = {
6583
- hooks: runtimeExtensions.hooks,
6584
- commandName: commandPath,
6585
- commandArgs,
6586
- commandOptions: { ...commandOptions },
6587
- globalOptions: { ...globalOptions },
6588
- pmRoot: runtimeExtensions.pmRoot,
6589
- profileEnabled: Boolean(globalOptions.profile),
6590
- migrationBlockers
6591
- };
6592
- setActiveCommandResult(void 0);
6593
- setActiveCommandContext({
6594
- command: commandPath,
6595
- args: commandArgs,
6596
- options: { ...commandOptions },
6597
- global: { ...globalOptions },
6598
- pm_root: runtimeExtensions.pmRoot
6599
- });
6600
- activeTelemetryCommandContext = await startTelemetryCommand({
6601
- command: commandPath,
6602
- pm_version: CLI_VERSION,
6603
- args: commandArgs,
6604
- options: commandOptions,
6605
- global: globalOptions,
6606
- pm_root: runtimeExtensions.pmRoot
6607
- });
6608
- sentrySetCommandContext(commandPath, commandArgs, commandOptions, {
6609
- source_context: activeTelemetryCommandContext?.source_context,
6610
- source_context_source: activeTelemetryCommandContext?.source_context_source
6611
- });
6612
- sentryStartCommandSpan(commandPath);
6613
- const hookWarnings = await runBeforeCommandHooks(runtimeExtensions.hooks, {
6614
- command: commandPath,
6615
- args: commandArgs,
6616
- options: { ...commandOptions },
6617
- global: { ...globalOptions },
6618
- pm_root: runtimeExtensions.pmRoot
5905
+ const hookWarnings = await runBeforeCommandHooks(runtimeExtensions.hooks, {
5906
+ command: commandPath,
5907
+ args: commandArgs,
5908
+ options: { ...commandOptions },
5909
+ global: { ...globalOptions },
5910
+ pm_root: runtimeExtensions.pmRoot
5911
+ });
5912
+ if (globalOptions.profile && hookWarnings.length > 0) {
5913
+ printError(`profile:extensions hook_warnings=${formatHookWarnings(hookWarnings)}`);
5914
+ }
5915
+ if (preflightDecision.enforce_mandatory_migration_gate) {
5916
+ enforceMandatoryMigrationWriteGate(commandPath, commandOptions, migrationBlockers);
5917
+ }
6619
5918
  });
6620
- if (globalOptions.profile && hookWarnings.length > 0) {
6621
- printError(`profile:extensions hook_warnings=${formatHookWarnings(hookWarnings)}`);
6622
- }
6623
- if (preflightDecision.enforce_mandatory_migration_gate) {
6624
- enforceMandatoryMigrationWriteGate(commandPath, commandOptions, migrationBlockers);
6625
- }
6626
- });
6627
- program.hook("postAction", async () => {
6628
- const outcome = buildPostActionTelemetryOutcome();
6629
- sentryFinishCommandSpan(outcome.ok, outcome.error, {
6630
- error_code: outcome.error_code,
6631
- error_category: outcome.error_category,
6632
- exit_code: outcome.exit_code,
6633
- command_resolution: outcome.command_resolution,
6634
- resolution_stage: outcome.resolution_stage
5919
+ rootProgram.hook("postAction", async () => {
5920
+ const outcome = buildPostActionTelemetryOutcome();
5921
+ sentryFinishCommandSpan(outcome.ok, outcome.error, {
5922
+ error_code: outcome.error_code,
5923
+ error_category: outcome.error_category,
5924
+ exit_code: outcome.exit_code,
5925
+ command_resolution: outcome.command_resolution,
5926
+ resolution_stage: outcome.resolution_stage
5927
+ });
5928
+ await runAndClearAfterCommandHooks(outcome);
6635
5929
  });
6636
- await runAndClearAfterCommandHooks(outcome);
6637
- });
5930
+ }
5931
+ attachProgramLifecycleHooks(program);
6638
5932
  var VERSION_FLAG_TOKENS = /* @__PURE__ */ new Set(["--version", "-V"]);
6639
5933
  var SETUP_COMMAND_NAMES = /* @__PURE__ */ new Set([
6640
5934
  "config",
@@ -7178,6 +6472,8 @@ async function handleRunPmCliError(params) {
7178
6472
  });
7179
6473
  }
7180
6474
  async function runPmCli(rawArgv = process.argv.slice(2)) {
6475
+ program = createPmCliProgram(CLI_VERSION);
6476
+ attachProgramLifecycleHooks(program);
7181
6477
  runtimeExtensionSnapshotCache = null;
7182
6478
  runtimeExtensionDiscoverySnapshotCache = null;
7183
6479
  activeRuntimeExtensionCommandDescriptors = /* @__PURE__ */ new Map();
@@ -7191,6 +6487,7 @@ async function runPmCli(rawArgv = process.argv.slice(2)) {
7191
6487
  ];
7192
6488
  const isBareInvocation = invocationArgv.length === 0;
7193
6489
  let restorePmAuthor;
6490
+ let restorePagerPolicy;
7194
6491
  try {
7195
6492
  const bootstrapGlobal = parseBootstrapGlobalOptions(invocationArgv);
7196
6493
  if (bootstrapGlobal.authorMissingValue) {
@@ -7201,7 +6498,7 @@ async function runPmCli(rawArgv = process.argv.slice(2)) {
7201
6498
  }
7202
6499
  restorePmAuthor = applyInvocationAuthorOverride(bootstrapGlobal.author);
7203
6500
  enforceExplicitRetryForFlagTypos(bootstrapInvocation);
7204
- applyBootstrapPagerPolicy(invocationArgv);
6501
+ restorePagerPolicy = applyBootstrapPagerPolicy(invocationArgv);
7205
6502
  const registrationSelection = resolveCoreCommandRegistrationSelection(invocationArgv);
7206
6503
  await registerCoreCommandFamilies(program, registrationSelection);
7207
6504
  if (shouldAttachRichHelpTextForInvocation(invocationArgv)) {
@@ -7230,6 +6527,7 @@ async function runPmCli(rawArgv = process.argv.slice(2)) {
7230
6527
  } catch (error) {
7231
6528
  await handleRunPmCliError({ error, invocationArgv });
7232
6529
  } finally {
6530
+ restorePagerPolicy?.();
7233
6531
  restorePmAuthor?.();
7234
6532
  }
7235
6533
  }