@unbrained/pm-cli 2026.6.30 → 2026.7.1

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 (452) hide show
  1. package/AGENTS.md +2 -0
  2. package/CHANGELOG.md +20 -0
  3. package/dist/cli/bootstrap-args.js +89 -79
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commands/calendar.js +63 -62
  6. package/dist/cli/commands/calendar.js.map +1 -1
  7. package/dist/cli/commands/create.js +483 -434
  8. package/dist/cli/commands/create.js.map +1 -1
  9. package/dist/cli/commands/extension/bundled-catalog.js +59 -46
  10. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  11. package/dist/cli/commands/extension/doctor.js +129 -78
  12. package/dist/cli/commands/extension/doctor.js.map +1 -1
  13. package/dist/cli/commands/extension/managed-state.js +101 -57
  14. package/dist/cli/commands/extension/managed-state.js.map +1 -1
  15. package/dist/cli/commands/extension/scaffold.d.ts +7 -0
  16. package/dist/cli/commands/extension/scaffold.js +214 -186
  17. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  18. package/dist/cli/commands/extension.d.ts +6 -1
  19. package/dist/cli/commands/extension.js +1034 -902
  20. package/dist/cli/commands/extension.js.map +1 -1
  21. package/dist/cli/commands/list-filter-shared.js +55 -48
  22. package/dist/cli/commands/list-filter-shared.js.map +1 -1
  23. package/dist/cli/commands/search.js +94 -68
  24. package/dist/cli/commands/search.js.map +1 -1
  25. package/dist/cli/commands/test.js +108 -122
  26. package/dist/cli/commands/test.js.map +1 -1
  27. package/dist/cli/commands/update.js +27 -77
  28. package/dist/cli/commands/update.js.map +1 -1
  29. package/dist/cli/extension-command-options.js +48 -21
  30. package/dist/cli/extension-command-options.js.map +1 -1
  31. package/dist/cli/registration-helpers.js +117 -122
  32. package/dist/cli/registration-helpers.js.map +1 -1
  33. package/dist/cli-bundle/chunks/activity-AW6XVFH6.js +16 -0
  34. package/dist/cli-bundle/chunks/{activity-MVSEND6D.js → activity-DBLQVIP6.js} +9 -9
  35. package/dist/cli-bundle/chunks/{aggregate-MOC4TR2G.js → aggregate-JTEF4BP7.js} +9 -9
  36. package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js → aggregate-SDF7DUOD.js} +9 -9
  37. package/dist/cli-bundle/chunks/{append-LEDBAM3K.js → append-LOVPGVPT.js} +6 -6
  38. package/dist/cli-bundle/chunks/{append-KDHT4GHI.js → append-QCFJSDFL.js} +6 -6
  39. package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js → chunk-22WKIL3H.js} +6 -6
  40. package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js → chunk-2466X6E4.js} +6 -6
  41. package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js → chunk-27BXPBAY.js} +3 -3
  42. package/dist/cli-bundle/chunks/{chunk-WTRUDJ3R.js → chunk-2D4HATP2.js} +5 -5
  43. package/dist/cli-bundle/chunks/{chunk-DORJSBGJ.js → chunk-3J6JRJ3I.js} +127 -125
  44. package/dist/cli-bundle/chunks/chunk-3J6JRJ3I.js.map +7 -0
  45. package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js → chunk-3K2M5OYU.js} +4 -4
  46. package/dist/cli-bundle/chunks/{chunk-KTMMTOIP.js → chunk-3S2KT7NG.js} +7 -7
  47. package/dist/cli-bundle/chunks/{chunk-FDEVKXC4.js → chunk-3VGN2UWE.js} +2 -2
  48. package/dist/cli-bundle/chunks/{chunk-K46GQ265.js → chunk-3XZCOZ5J.js} +107 -117
  49. package/dist/cli-bundle/chunks/chunk-3XZCOZ5J.js.map +1 -0
  50. package/dist/cli-bundle/chunks/chunk-4A3BJ675.js +799 -0
  51. package/dist/cli-bundle/chunks/chunk-4A3BJ675.js.map +1 -0
  52. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +87 -0
  53. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +7 -0
  54. package/dist/cli-bundle/chunks/{chunk-KYDYQMNW.js → chunk-4DSGXSBL.js} +4 -4
  55. package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js → chunk-4DUVCVLZ.js} +2 -2
  56. package/dist/cli-bundle/chunks/{chunk-UB3V5WUI.js → chunk-4XOIEKSD.js} +351 -330
  57. package/dist/cli-bundle/chunks/chunk-4XOIEKSD.js.map +1 -0
  58. package/dist/cli-bundle/chunks/{chunk-DJDXAU74.js → chunk-55SNVXRQ.js} +68 -69
  59. package/dist/cli-bundle/chunks/chunk-55SNVXRQ.js.map +7 -0
  60. package/dist/cli-bundle/chunks/{chunk-ZIE6WXJ2.js → chunk-5CGRF3L5.js} +7 -7
  61. package/dist/cli-bundle/chunks/{chunk-7WDETKGP.js → chunk-5QFDBI4F.js} +1105 -965
  62. package/dist/cli-bundle/chunks/chunk-5QFDBI4F.js.map +7 -0
  63. package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js → chunk-64HNBBFQ.js} +6 -6
  64. package/dist/cli-bundle/chunks/{chunk-T7ZMQI4J.js → chunk-6AQZPVHQ.js} +198 -189
  65. package/dist/cli-bundle/chunks/chunk-6AQZPVHQ.js.map +1 -0
  66. package/dist/cli-bundle/chunks/{chunk-CY5IJMUM.js → chunk-7R4QEMZZ.js} +361 -322
  67. package/dist/cli-bundle/chunks/chunk-7R4QEMZZ.js.map +1 -0
  68. package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js → chunk-A7FPBAQS.js} +4 -4
  69. package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js → chunk-AVEE5EHK.js} +3 -3
  70. package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js → chunk-AXIDKKAT.js} +2 -2
  71. package/dist/cli-bundle/chunks/{chunk-CHRNYKNI.js → chunk-BDTISOSD.js} +2 -2
  72. package/dist/cli-bundle/chunks/{chunk-ZFIEEDTJ.js → chunk-BHO33VBQ.js} +509 -363
  73. package/dist/cli-bundle/chunks/chunk-BHO33VBQ.js.map +7 -0
  74. package/dist/cli-bundle/chunks/{chunk-RM6MHL6A.js → chunk-BZCEN4JA.js} +98 -74
  75. package/dist/cli-bundle/chunks/chunk-BZCEN4JA.js.map +7 -0
  76. package/dist/cli-bundle/chunks/{chunk-RPRW26NG.js → chunk-CF7RL6FR.js} +7 -7
  77. package/dist/cli-bundle/chunks/{chunk-NIBP3I7A.js → chunk-CWFNTKQJ.js} +128 -126
  78. package/dist/cli-bundle/chunks/chunk-CWFNTKQJ.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js → chunk-DDPTYJIM.js} +2 -2
  80. package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js → chunk-EJUDVUYZ.js} +3 -3
  81. package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js → chunk-EVMTBV6V.js} +3 -3
  82. package/dist/cli-bundle/chunks/{chunk-6YRAMXRS.js → chunk-FFMQB7WR.js} +99 -75
  83. package/dist/cli-bundle/chunks/chunk-FFMQB7WR.js.map +1 -0
  84. package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js → chunk-G7I7DEZA.js} +4 -4
  85. package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js → chunk-GJ326ZKX.js} +3 -3
  86. package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js → chunk-HPPFYYOV.js} +2 -2
  87. package/dist/cli-bundle/chunks/{chunk-5IRVSKPS.js → chunk-HXTQJXWT.js} +150 -224
  88. package/dist/cli-bundle/chunks/chunk-HXTQJXWT.js.map +1 -0
  89. package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js → chunk-HYTGA6GI.js} +3 -3
  90. package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js → chunk-HZZEHPRG.js} +2 -2
  91. package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js → chunk-IJYK2T43.js} +2 -2
  92. package/dist/cli-bundle/chunks/{chunk-GF7EAR22.js → chunk-IPYBJWTE.js} +7 -7
  93. package/dist/cli-bundle/chunks/{chunk-AWN4PPH5.js → chunk-IZBR4NRW.js} +7 -7
  94. package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js → chunk-JLM7BHI7.js} +6 -6
  95. package/dist/cli-bundle/chunks/{chunk-DU66JUGT.js → chunk-JMP4E6D7.js} +106 -116
  96. package/dist/cli-bundle/chunks/chunk-JMP4E6D7.js.map +7 -0
  97. package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js → chunk-JPECA746.js} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-KGQ3W65B.js → chunk-JSU5P7VS.js} +4 -4
  99. package/dist/cli-bundle/chunks/{chunk-HIBK6H4S.js → chunk-JWXRETDF.js} +69 -70
  100. package/dist/cli-bundle/chunks/chunk-JWXRETDF.js.map +1 -0
  101. package/dist/cli-bundle/chunks/{chunk-Z5BM2FKQ.js → chunk-KNPEF7QG.js} +4 -4
  102. package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js → chunk-L5OEFZQG.js} +3 -3
  103. package/dist/cli-bundle/chunks/{chunk-DRPF274X.js → chunk-LB6TP6MC.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js → chunk-MAUKX7JC.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-6T5ZIWBS.js → chunk-MDPEOIGN.js} +150 -224
  106. package/dist/cli-bundle/chunks/chunk-MDPEOIGN.js.map +7 -0
  107. package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js → chunk-N74UMG5H.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-ZEATCVAC.js → chunk-NFDPYAIP.js} +2 -2
  109. package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js → chunk-NKZAN7BD.js} +3 -3
  110. package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js → chunk-NOLPZMSV.js} +2 -2
  111. package/dist/cli-bundle/chunks/{chunk-JZG5ADVE.js → chunk-NU2UEROZ.js} +1103 -963
  112. package/dist/cli-bundle/chunks/chunk-NU2UEROZ.js.map +1 -0
  113. package/dist/cli-bundle/chunks/{chunk-A3UNLXNJ.js → chunk-NUHHPVVS.js} +36 -86
  114. package/dist/cli-bundle/chunks/chunk-NUHHPVVS.js.map +7 -0
  115. package/dist/cli-bundle/chunks/{chunk-QE5UFCCO.js → chunk-NWMZWYYB.js} +2 -2
  116. package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js → chunk-OGXLACHC.js} +6 -6
  117. package/dist/cli-bundle/chunks/{chunk-IHXXUIXS.js → chunk-OTUHB4HS.js} +4 -4
  118. package/dist/cli-bundle/chunks/{chunk-V3KLX7U7.js → chunk-QCWF6IYD.js} +510 -364
  119. package/dist/cli-bundle/chunks/chunk-QCWF6IYD.js.map +1 -0
  120. package/dist/cli-bundle/chunks/{chunk-UFKNF23C.js → chunk-RGEMWD6Q.js} +5 -5
  121. package/dist/cli-bundle/chunks/chunk-RH5ZBYFD.js +809 -0
  122. package/dist/cli-bundle/chunks/chunk-RH5ZBYFD.js.map +7 -0
  123. package/dist/cli-bundle/chunks/{chunk-Z55WX4IQ.js → chunk-RLDHZHQS.js} +7 -7
  124. package/dist/cli-bundle/chunks/{chunk-NO6Y6FB2.js → chunk-RMMQ74TG.js} +5 -5
  125. package/dist/cli-bundle/chunks/{chunk-SNUK7H5J.js → chunk-RVUALSJF.js} +361 -322
  126. package/dist/cli-bundle/chunks/chunk-RVUALSJF.js.map +7 -0
  127. package/dist/cli-bundle/chunks/{chunk-IZQOJR2B.js → chunk-SDR5J34Q.js} +198 -189
  128. package/dist/cli-bundle/chunks/chunk-SDR5J34Q.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js → chunk-SLMUGTK3.js} +4 -4
  130. package/dist/cli-bundle/chunks/{chunk-BOWQWXLI.js → chunk-TP5Q5ZD3.js} +5 -5
  131. package/dist/cli-bundle/chunks/{chunk-D5LYZVGB.js → chunk-UYUYDGIB.js} +4 -4
  132. package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js → chunk-UZIWVBE6.js} +2 -2
  133. package/dist/cli-bundle/chunks/{chunk-JTRKME24.js → chunk-V3NOKJF2.js} +6 -6
  134. package/dist/cli-bundle/chunks/{chunk-5T6WPLRO.js → chunk-VARHOHYV.js} +350 -329
  135. package/dist/cli-bundle/chunks/chunk-VARHOHYV.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js → chunk-VICZWYGZ.js} +4 -4
  137. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +84 -0
  138. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +1 -0
  139. package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js → chunk-W4ULYO7Z.js} +6 -6
  140. package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js → chunk-WYDHYJPO.js} +2 -2
  141. package/dist/cli-bundle/chunks/{chunk-53ARXF2O.js → chunk-YITK2PJ6.js} +6 -6
  142. package/dist/cli-bundle/chunks/{chunk-VD3LKZFX.js → chunk-ZETXE4SE.js} +37 -87
  143. package/dist/cli-bundle/chunks/chunk-ZETXE4SE.js.map +1 -0
  144. package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js → chunk-ZRP4VG5U.js} +2 -2
  145. package/dist/cli-bundle/chunks/{claim-6NINZYB3.js → claim-EMQLYPRW.js} +8 -8
  146. package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js → claim-T3GCKV7C.js} +8 -8
  147. package/dist/cli-bundle/chunks/close-E6ZZGCJY.js +14 -0
  148. package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js → close-TQYAAFJP.js} +7 -7
  149. package/dist/cli-bundle/chunks/{close-many-BFMP6HHK.js → close-many-BG5QQIDQ.js} +15 -15
  150. package/dist/cli-bundle/chunks/{close-many-CXJBOWWY.js → close-many-LDRVEQY2.js} +15 -15
  151. package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js → comments-QCKR2YY2.js} +8 -8
  152. package/dist/cli-bundle/chunks/{comments-ETHABIY6.js → comments-YUXJRZPQ.js} +8 -8
  153. package/dist/cli-bundle/chunks/{config-FIXJZEQK.js → config-DMSU64QO.js} +7 -7
  154. package/dist/cli-bundle/chunks/{config-X3ZVCUUG.js → config-QH2DICD6.js} +7 -7
  155. package/dist/cli-bundle/chunks/{context-XDI4DKKT.js → context-B6275WPX.js} +12 -12
  156. package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js → context-OCZ3FJ4Z.js} +12 -12
  157. package/dist/cli-bundle/chunks/{contracts-SMOAN5NF.js → contracts-HN7ABKLP.js} +3 -3
  158. package/dist/cli-bundle/chunks/{contracts-KP4QAGVW.js → contracts-W4FZVVD6.js} +3 -3
  159. package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js → copy-BTJOSKKT.js} +5 -5
  160. package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js → copy-DEM4DATS.js} +5 -5
  161. package/dist/cli-bundle/chunks/create-OH3BDGBB.js +28 -0
  162. package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js → create-RLRJMRTM.js} +12 -12
  163. package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js → delete-BHK7VB2Z.js} +5 -5
  164. package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js → delete-LSVHAB4Y.js} +5 -5
  165. package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js → deps-4UDFJRUA.js} +5 -5
  166. package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js → deps-XHYXWEPT.js} +5 -5
  167. package/dist/cli-bundle/chunks/{docs-2TIFR62T.js → docs-26S44RXU.js} +7 -7
  168. package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js → docs-GYZNVS26.js} +7 -7
  169. package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js → eval-PGRVIJQU.js} +10 -10
  170. package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js → eval-UYF3ZPVO.js} +10 -10
  171. package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js → extension-CPSLJQVE.js} +11 -10
  172. package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js → extension-CXJ6RELI.js} +11 -10
  173. package/dist/cli-bundle/chunks/{files-T5ODMETM.js → files-MBNICQFM.js} +7 -7
  174. package/dist/cli-bundle/chunks/{files-DF3HO6XK.js → files-NQHEXUZD.js} +7 -7
  175. package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js → focus-DWYIG7GU.js} +6 -6
  176. package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js → focus-XZW5423D.js} +6 -6
  177. package/dist/cli-bundle/chunks/{gc-FULIVYR4.js → gc-7GQYOS2G.js} +3 -3
  178. package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js → gc-LPVMKJQJ.js} +3 -3
  179. package/dist/cli-bundle/chunks/{get-AWK324RS.js → get-A7MAOHCU.js} +9 -9
  180. package/dist/cli-bundle/chunks/{get-VYPIICPC.js → get-DSDEKJ3L.js} +9 -9
  181. package/dist/cli-bundle/chunks/{health-Q66C43GN.js → health-3IPFLKXB.js} +17 -16
  182. package/dist/cli-bundle/chunks/{health-Q66C43GN.js.map → health-3IPFLKXB.js.map} +1 -1
  183. package/dist/cli-bundle/chunks/{health-FBCVZGSX.js → health-GZXGBZ36.js} +15 -14
  184. package/dist/cli-bundle/chunks/{health-FBCVZGSX.js.map → health-GZXGBZ36.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{history-X4OSES6K.js → history-NERDJNUB.js} +8 -8
  186. package/dist/cli-bundle/chunks/history-WSZHY3PN.js +18 -0
  187. package/dist/cli-bundle/chunks/{history-compact-WLCQEKXS.js → history-compact-2WRZ2WK4.js} +10 -10
  188. package/dist/cli-bundle/chunks/{history-compact-2GHT32UX.js → history-compact-HR7BB4LR.js} +10 -10
  189. package/dist/cli-bundle/chunks/history-redact-MP6CH7U5.js +19 -0
  190. package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js → history-redact-O3NBCNWC.js} +9 -9
  191. package/dist/cli-bundle/chunks/{history-repair-GABSDSVD.js → history-repair-LCMOS45X.js} +10 -10
  192. package/dist/cli-bundle/chunks/{history-repair-FY75IC26.js → history-repair-XA3LC4GA.js} +10 -10
  193. package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js → init-64XDLQJB.js} +12 -11
  194. package/dist/cli-bundle/chunks/init-PAX32BJA.js +22 -0
  195. package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js → learnings-JR6MA5TI.js} +8 -8
  196. package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js → learnings-LPKCSJX7.js} +8 -8
  197. package/dist/cli-bundle/chunks/{list-ROT7JF62.js → list-DNBJVO3E.js} +8 -8
  198. package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js → list-G5Y65VF6.js} +8 -8
  199. package/dist/cli-bundle/chunks/{next-66BJB4N2.js → next-BCERKDUR.js} +13 -13
  200. package/dist/cli-bundle/chunks/{next-N5MWJTBY.js → next-FYTQF6HG.js} +13 -13
  201. package/dist/cli-bundle/chunks/{notes-FW6YFLND.js → notes-2BMU3VVQ.js} +8 -8
  202. package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js → notes-6KTGO2OJ.js} +8 -8
  203. package/dist/cli-bundle/chunks/{plan-DQ7G4EDC.js → plan-4WXEQCTN.js} +12 -12
  204. package/dist/cli-bundle/chunks/{plan-ZHKZ7JVF.js → plan-RKZHQVXR.js} +12 -12
  205. package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js → profile-4OMM32CD.js} +8 -8
  206. package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js → profile-QLER5ENE.js} +8 -8
  207. package/dist/cli-bundle/chunks/{register-list-query-Y2VRHPCL.js → register-list-query-7LV46VAU.js} +18 -18
  208. package/dist/cli-bundle/chunks/{register-list-query-KY6Z6WV7.js → register-list-query-SNG5PGA4.js} +18 -18
  209. package/dist/cli-bundle/chunks/{register-mutation-PCARIGZS.js → register-mutation-ENNDUAZG.js} +35 -35
  210. package/dist/cli-bundle/chunks/{register-mutation-N6AYSKPM.js → register-mutation-KK7PHYYU.js} +35 -35
  211. package/dist/cli-bundle/chunks/{register-operations-YAT6FUUB.js → register-operations-C6OWLDSH.js} +30 -30
  212. package/dist/cli-bundle/chunks/{register-operations-L6CYTOIH.js → register-operations-HZ6XERQG.js} +30 -30
  213. package/dist/cli-bundle/chunks/{register-setup-N7UGXYJC.js → register-setup-P67EMBDJ.js} +15 -15
  214. package/dist/cli-bundle/chunks/{register-setup-MPANILQF.js → register-setup-ZKJ53RS7.js} +15 -15
  215. package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js → restore-4MHZFJ2E.js} +9 -9
  216. package/dist/cli-bundle/chunks/restore-YALDGTQR.js +17 -0
  217. package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js → scheduling-shortcuts-LB6DOLRL.js} +12 -12
  218. package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js → scheduling-shortcuts-UTOYKLXQ.js} +12 -12
  219. package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js → schema-73HR2OJW.js} +7 -7
  220. package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js → schema-U6LJKSIR.js} +7 -7
  221. package/dist/cli-bundle/chunks/{search-CX5UMV4H.js → search-AXPXKZER.js} +10 -10
  222. package/dist/cli-bundle/chunks/{search-KP6H7COV.js → search-KILGT37L.js} +10 -10
  223. package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js → stats-PSYVVTNZ.js} +6 -6
  224. package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js → stats-W5KNVJWQ.js} +6 -6
  225. package/dist/cli-bundle/chunks/{telemetry-WTYFUPRL.js → telemetry-BZUF6H7G.js} +4 -4
  226. package/dist/cli-bundle/chunks/{telemetry-DIFPXCAT.js → telemetry-GAHHQTOS.js} +4 -4
  227. package/dist/cli-bundle/chunks/{test-QNDXZQCW.js → test-ACD52Z3S.js} +15 -14
  228. package/dist/cli-bundle/chunks/{test-HU2BS7EY.js → test-PWDIZ255.js} +15 -14
  229. package/dist/cli-bundle/chunks/{test-all-XLPI4USF.js → test-all-L2MDDUCA.js} +17 -16
  230. package/dist/cli-bundle/chunks/{test-all-XLPI4USF.js.map → test-all-L2MDDUCA.js.map} +1 -1
  231. package/dist/cli-bundle/chunks/{test-all-PZTBLLQ6.js → test-all-RBZ6DLU2.js} +15 -14
  232. package/dist/cli-bundle/chunks/{test-all-PZTBLLQ6.js.map → test-all-RBZ6DLU2.js.map} +1 -1
  233. package/dist/cli-bundle/chunks/{test-runs-LANLLPVO.js → test-runs-PLRAZEFW.js} +4 -4
  234. package/dist/cli-bundle/chunks/{test-runs-CA6K32RD.js → test-runs-UXIXPDKU.js} +4 -4
  235. package/dist/cli-bundle/chunks/update-AMRSOIWP.js +24 -0
  236. package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js → update-KFX2SIAC.js} +15 -15
  237. package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js → update-many-RNSBX2TA.js} +23 -23
  238. package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js → update-many-Z5GJS5LC.js} +23 -23
  239. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js → upgrade-BRL6KCOJ.js} +13 -12
  240. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js.map → upgrade-BRL6KCOJ.js.map} +1 -1
  241. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js → upgrade-HAK6JG2O.js} +11 -10
  242. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js.map → upgrade-HAK6JG2O.js.map} +1 -1
  243. package/dist/cli-bundle/chunks/{validate-2G566PKQ.js → validate-MTUVL5VC.js} +20 -19
  244. package/dist/cli-bundle/chunks/{validate-2G566PKQ.js.map → validate-MTUVL5VC.js.map} +1 -1
  245. package/dist/cli-bundle/chunks/{validate-BDPVXHHH.js → validate-X5W76YJL.js} +22 -21
  246. package/dist/cli-bundle/chunks/{validate-BDPVXHHH.js.map → validate-X5W76YJL.js.map} +1 -1
  247. package/dist/cli-bundle/main.js +55 -702
  248. package/dist/cli-bundle/main.js.map +4 -4
  249. package/dist/core/extensions/activation-summary-markdown.js +23 -12
  250. package/dist/core/extensions/activation-summary-markdown.js.map +1 -1
  251. package/dist/core/extensions/extension-policy.d.ts +18 -3
  252. package/dist/core/extensions/extension-policy.js +116 -106
  253. package/dist/core/extensions/extension-policy.js.map +1 -1
  254. package/dist/core/extensions/loader.js +310 -232
  255. package/dist/core/extensions/loader.js.map +1 -1
  256. package/dist/core/item/item-format.js +523 -410
  257. package/dist/core/item/item-format.js.map +1 -1
  258. package/dist/mcp/server.js +387 -367
  259. package/dist/mcp/server.js.map +1 -1
  260. package/dist/sdk/cli-contracts/flag-contracts.js +111 -180
  261. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  262. package/dist/sdk/cli-contracts/tool-schema.js +76 -45
  263. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  264. package/dist/sdk/compose.d.ts +4 -1
  265. package/dist/sdk/compose.js +181 -115
  266. package/dist/sdk/compose.js.map +1 -1
  267. package/docs/RELEASING.md +2 -3
  268. package/package.json +1 -1
  269. package/dist/cli-bundle/chunks/activity-EJBMXUBH.js +0 -16
  270. package/dist/cli-bundle/chunks/chunk-5IRVSKPS.js.map +0 -1
  271. package/dist/cli-bundle/chunks/chunk-5T6WPLRO.js.map +0 -7
  272. package/dist/cli-bundle/chunks/chunk-6T5ZIWBS.js.map +0 -7
  273. package/dist/cli-bundle/chunks/chunk-6YRAMXRS.js.map +0 -1
  274. package/dist/cli-bundle/chunks/chunk-7WDETKGP.js.map +0 -7
  275. package/dist/cli-bundle/chunks/chunk-A3UNLXNJ.js.map +0 -7
  276. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js +0 -115
  277. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js.map +0 -1
  278. package/dist/cli-bundle/chunks/chunk-CY5IJMUM.js.map +0 -1
  279. package/dist/cli-bundle/chunks/chunk-DJDXAU74.js.map +0 -7
  280. package/dist/cli-bundle/chunks/chunk-DORJSBGJ.js.map +0 -7
  281. package/dist/cli-bundle/chunks/chunk-DU66JUGT.js.map +0 -7
  282. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js +0 -118
  283. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js.map +0 -7
  284. package/dist/cli-bundle/chunks/chunk-HIBK6H4S.js.map +0 -1
  285. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js +0 -35
  286. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js.map +0 -7
  287. package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js.map +0 -7
  288. package/dist/cli-bundle/chunks/chunk-JZG5ADVE.js.map +0 -1
  289. package/dist/cli-bundle/chunks/chunk-K46GQ265.js.map +0 -1
  290. package/dist/cli-bundle/chunks/chunk-NIBP3I7A.js.map +0 -1
  291. package/dist/cli-bundle/chunks/chunk-RM6MHL6A.js.map +0 -7
  292. package/dist/cli-bundle/chunks/chunk-SNUK7H5J.js.map +0 -7
  293. package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js.map +0 -1
  294. package/dist/cli-bundle/chunks/chunk-UB3V5WUI.js.map +0 -1
  295. package/dist/cli-bundle/chunks/chunk-V3KLX7U7.js.map +0 -1
  296. package/dist/cli-bundle/chunks/chunk-VD3LKZFX.js.map +0 -1
  297. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js +0 -32
  298. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js.map +0 -1
  299. package/dist/cli-bundle/chunks/chunk-ZFIEEDTJ.js.map +0 -7
  300. package/dist/cli-bundle/chunks/close-37KEHLYM.js +0 -14
  301. package/dist/cli-bundle/chunks/create-DFMNBKBS.js +0 -28
  302. package/dist/cli-bundle/chunks/history-5XUSLAJA.js +0 -18
  303. package/dist/cli-bundle/chunks/history-redact-BVHWDXPR.js +0 -19
  304. package/dist/cli-bundle/chunks/init-TRYJELH4.js +0 -21
  305. package/dist/cli-bundle/chunks/restore-IRAKSWIW.js +0 -17
  306. package/dist/cli-bundle/chunks/update-UXDLTEOZ.js +0 -24
  307. /package/dist/cli-bundle/chunks/{activity-EJBMXUBH.js.map → activity-AW6XVFH6.js.map} +0 -0
  308. /package/dist/cli-bundle/chunks/{activity-MVSEND6D.js.map → activity-DBLQVIP6.js.map} +0 -0
  309. /package/dist/cli-bundle/chunks/{aggregate-MOC4TR2G.js.map → aggregate-JTEF4BP7.js.map} +0 -0
  310. /package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js.map → aggregate-SDF7DUOD.js.map} +0 -0
  311. /package/dist/cli-bundle/chunks/{append-LEDBAM3K.js.map → append-LOVPGVPT.js.map} +0 -0
  312. /package/dist/cli-bundle/chunks/{append-KDHT4GHI.js.map → append-QCFJSDFL.js.map} +0 -0
  313. /package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js.map → chunk-22WKIL3H.js.map} +0 -0
  314. /package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js.map → chunk-2466X6E4.js.map} +0 -0
  315. /package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js.map → chunk-27BXPBAY.js.map} +0 -0
  316. /package/dist/cli-bundle/chunks/{chunk-WTRUDJ3R.js.map → chunk-2D4HATP2.js.map} +0 -0
  317. /package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js.map → chunk-3K2M5OYU.js.map} +0 -0
  318. /package/dist/cli-bundle/chunks/{chunk-KTMMTOIP.js.map → chunk-3S2KT7NG.js.map} +0 -0
  319. /package/dist/cli-bundle/chunks/{chunk-FDEVKXC4.js.map → chunk-3VGN2UWE.js.map} +0 -0
  320. /package/dist/cli-bundle/chunks/{chunk-KYDYQMNW.js.map → chunk-4DSGXSBL.js.map} +0 -0
  321. /package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js.map → chunk-4DUVCVLZ.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{chunk-ZIE6WXJ2.js.map → chunk-5CGRF3L5.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js.map → chunk-64HNBBFQ.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js.map → chunk-A7FPBAQS.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js.map → chunk-AVEE5EHK.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js.map → chunk-AXIDKKAT.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{chunk-CHRNYKNI.js.map → chunk-BDTISOSD.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{chunk-RPRW26NG.js.map → chunk-CF7RL6FR.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js.map → chunk-DDPTYJIM.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js.map → chunk-EJUDVUYZ.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js.map → chunk-EVMTBV6V.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js.map → chunk-G7I7DEZA.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js.map → chunk-GJ326ZKX.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js.map → chunk-HPPFYYOV.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js.map → chunk-HYTGA6GI.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js.map → chunk-HZZEHPRG.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js.map → chunk-IJYK2T43.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{chunk-GF7EAR22.js.map → chunk-IPYBJWTE.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{chunk-AWN4PPH5.js.map → chunk-IZBR4NRW.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js.map → chunk-JLM7BHI7.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js.map → chunk-JPECA746.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{chunk-KGQ3W65B.js.map → chunk-JSU5P7VS.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{chunk-Z5BM2FKQ.js.map → chunk-KNPEF7QG.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js.map → chunk-L5OEFZQG.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{chunk-DRPF274X.js.map → chunk-LB6TP6MC.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js.map → chunk-MAUKX7JC.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js.map → chunk-N74UMG5H.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{chunk-ZEATCVAC.js.map → chunk-NFDPYAIP.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js.map → chunk-NKZAN7BD.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js.map → chunk-NOLPZMSV.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{chunk-QE5UFCCO.js.map → chunk-NWMZWYYB.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js.map → chunk-OGXLACHC.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{chunk-IHXXUIXS.js.map → chunk-OTUHB4HS.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{chunk-UFKNF23C.js.map → chunk-RGEMWD6Q.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{chunk-Z55WX4IQ.js.map → chunk-RLDHZHQS.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-NO6Y6FB2.js.map → chunk-RMMQ74TG.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js.map → chunk-SLMUGTK3.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-BOWQWXLI.js.map → chunk-TP5Q5ZD3.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-D5LYZVGB.js.map → chunk-UYUYDGIB.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js.map → chunk-UZIWVBE6.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{chunk-JTRKME24.js.map → chunk-V3NOKJF2.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js.map → chunk-VICZWYGZ.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js.map → chunk-W4ULYO7Z.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js.map → chunk-WYDHYJPO.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{chunk-53ARXF2O.js.map → chunk-YITK2PJ6.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js.map → chunk-ZRP4VG5U.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{claim-6NINZYB3.js.map → claim-EMQLYPRW.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js.map → claim-T3GCKV7C.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{close-37KEHLYM.js.map → close-E6ZZGCJY.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js.map → close-TQYAAFJP.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{close-many-BFMP6HHK.js.map → close-many-BG5QQIDQ.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{close-many-CXJBOWWY.js.map → close-many-LDRVEQY2.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js.map → comments-QCKR2YY2.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{comments-ETHABIY6.js.map → comments-YUXJRZPQ.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{config-FIXJZEQK.js.map → config-DMSU64QO.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{config-X3ZVCUUG.js.map → config-QH2DICD6.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{context-XDI4DKKT.js.map → context-B6275WPX.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js.map → context-OCZ3FJ4Z.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{contracts-SMOAN5NF.js.map → contracts-HN7ABKLP.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{contracts-KP4QAGVW.js.map → contracts-W4FZVVD6.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js.map → copy-BTJOSKKT.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js.map → copy-DEM4DATS.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{create-DFMNBKBS.js.map → create-OH3BDGBB.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js.map → create-RLRJMRTM.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js.map → delete-BHK7VB2Z.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js.map → delete-LSVHAB4Y.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js.map → deps-4UDFJRUA.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js.map → deps-XHYXWEPT.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{docs-2TIFR62T.js.map → docs-26S44RXU.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js.map → docs-GYZNVS26.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js.map → eval-PGRVIJQU.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js.map → eval-UYF3ZPVO.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js.map → extension-CPSLJQVE.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js.map → extension-CXJ6RELI.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{files-T5ODMETM.js.map → files-MBNICQFM.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{files-DF3HO6XK.js.map → files-NQHEXUZD.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js.map → focus-DWYIG7GU.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js.map → focus-XZW5423D.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{gc-FULIVYR4.js.map → gc-7GQYOS2G.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js.map → gc-LPVMKJQJ.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{get-AWK324RS.js.map → get-A7MAOHCU.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{get-VYPIICPC.js.map → get-DSDEKJ3L.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{history-X4OSES6K.js.map → history-NERDJNUB.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{history-5XUSLAJA.js.map → history-WSZHY3PN.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{history-compact-WLCQEKXS.js.map → history-compact-2WRZ2WK4.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{history-compact-2GHT32UX.js.map → history-compact-HR7BB4LR.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{history-redact-BVHWDXPR.js.map → history-redact-MP6CH7U5.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js.map → history-redact-O3NBCNWC.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{history-repair-GABSDSVD.js.map → history-repair-LCMOS45X.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{history-repair-FY75IC26.js.map → history-repair-XA3LC4GA.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js.map → init-64XDLQJB.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{init-TRYJELH4.js.map → init-PAX32BJA.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js.map → learnings-JR6MA5TI.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js.map → learnings-LPKCSJX7.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{list-ROT7JF62.js.map → list-DNBJVO3E.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js.map → list-G5Y65VF6.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{next-66BJB4N2.js.map → next-BCERKDUR.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{next-N5MWJTBY.js.map → next-FYTQF6HG.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{notes-FW6YFLND.js.map → notes-2BMU3VVQ.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js.map → notes-6KTGO2OJ.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{plan-DQ7G4EDC.js.map → plan-4WXEQCTN.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{plan-ZHKZ7JVF.js.map → plan-RKZHQVXR.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js.map → profile-4OMM32CD.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js.map → profile-QLER5ENE.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{register-list-query-Y2VRHPCL.js.map → register-list-query-7LV46VAU.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{register-list-query-KY6Z6WV7.js.map → register-list-query-SNG5PGA4.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{register-mutation-PCARIGZS.js.map → register-mutation-ENNDUAZG.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{register-mutation-N6AYSKPM.js.map → register-mutation-KK7PHYYU.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{register-operations-YAT6FUUB.js.map → register-operations-C6OWLDSH.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{register-operations-L6CYTOIH.js.map → register-operations-HZ6XERQG.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{register-setup-N7UGXYJC.js.map → register-setup-P67EMBDJ.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{register-setup-MPANILQF.js.map → register-setup-ZKJ53RS7.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js.map → restore-4MHZFJ2E.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{restore-IRAKSWIW.js.map → restore-YALDGTQR.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js.map → scheduling-shortcuts-LB6DOLRL.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js.map → scheduling-shortcuts-UTOYKLXQ.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js.map → schema-73HR2OJW.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js.map → schema-U6LJKSIR.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{search-CX5UMV4H.js.map → search-AXPXKZER.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{search-KP6H7COV.js.map → search-KILGT37L.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js.map → stats-PSYVVTNZ.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js.map → stats-W5KNVJWQ.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{telemetry-WTYFUPRL.js.map → telemetry-BZUF6H7G.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{telemetry-DIFPXCAT.js.map → telemetry-GAHHQTOS.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{test-QNDXZQCW.js.map → test-ACD52Z3S.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{test-HU2BS7EY.js.map → test-PWDIZ255.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{test-runs-LANLLPVO.js.map → test-runs-PLRAZEFW.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{test-runs-CA6K32RD.js.map → test-runs-UXIXPDKU.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{update-UXDLTEOZ.js.map → update-AMRSOIWP.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js.map → update-KFX2SIAC.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js.map → update-many-RNSBX2TA.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js.map → update-many-Z5GJS5LC.js.map} +0 -0
@@ -0,0 +1,809 @@
1
+ import {
2
+ resolveSubcommandFlagContractsForCommand
3
+ } from "./chunk-MDPEOIGN.js";
4
+ import {
5
+ EXIT_CODE,
6
+ PmCliError,
7
+ isPathWithinDirectory,
8
+ levenshteinDistanceWithinLimit,
9
+ pathExists
10
+ } from "./chunk-RVUALSJF.js";
11
+
12
+ // dist/cli/bootstrap-args.js
13
+ !(function() {
14
+ try {
15
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
16
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "ddf0b427-0fb3-5cf1-99ef-177bf6530e4e");
17
+ } catch (e2) {
18
+ }
19
+ })();
20
+ function parseBootstrapPathToken(token, next) {
21
+ if (token === "--path" || token === "--pm-path") {
22
+ if (typeof next === "string" && next.length > 0) {
23
+ return {
24
+ consumed: 2,
25
+ pathValue: next,
26
+ preferred: token === "--pm-path"
27
+ };
28
+ }
29
+ return {
30
+ consumed: 1,
31
+ preferred: token === "--pm-path"
32
+ };
33
+ }
34
+ const inlinePrefix = token.startsWith("--path=") ? "--path=" : token.startsWith("--pm-path=") ? "--pm-path=" : void 0;
35
+ if (!inlinePrefix) {
36
+ return null;
37
+ }
38
+ const value = token.slice(inlinePrefix.length);
39
+ if (value.length > 0) {
40
+ return {
41
+ consumed: 1,
42
+ pathValue: value,
43
+ preferred: inlinePrefix === "--pm-path="
44
+ };
45
+ }
46
+ return {
47
+ consumed: 1,
48
+ preferred: inlinePrefix === "--pm-path="
49
+ };
50
+ }
51
+ function parseBootstrapGlobalOptions(argv) {
52
+ let legacyPathValue;
53
+ let pmPathValue;
54
+ let noExtensions = false;
55
+ let noPager = false;
56
+ let json = false;
57
+ let quiet = false;
58
+ let index = 0;
59
+ while (index < argv.length) {
60
+ const token = argv[index];
61
+ if (token === "--") {
62
+ break;
63
+ }
64
+ if (token === "--no-extensions") {
65
+ noExtensions = true;
66
+ index += 1;
67
+ continue;
68
+ }
69
+ if (token === "--no-pager") {
70
+ noPager = true;
71
+ index += 1;
72
+ continue;
73
+ }
74
+ if (token === "--json") {
75
+ json = true;
76
+ index += 1;
77
+ continue;
78
+ }
79
+ if (token === "--quiet") {
80
+ quiet = true;
81
+ index += 1;
82
+ continue;
83
+ }
84
+ const parsedPath = parseBootstrapPathToken(token, argv[index + 1]);
85
+ if (parsedPath) {
86
+ if (parsedPath.pathValue !== void 0) {
87
+ if (parsedPath.preferred) {
88
+ pmPathValue = parsedPath.pathValue;
89
+ } else {
90
+ legacyPathValue = parsedPath.pathValue;
91
+ }
92
+ }
93
+ index += parsedPath.consumed;
94
+ continue;
95
+ }
96
+ index += 1;
97
+ }
98
+ return {
99
+ path: pmPathValue ?? legacyPathValue,
100
+ noExtensions,
101
+ noPager,
102
+ json,
103
+ quiet
104
+ };
105
+ }
106
+ function stripGlobalBootstrapTokens(argv) {
107
+ const remaining = [];
108
+ let index = 0;
109
+ while (index < argv.length) {
110
+ const token = argv[index];
111
+ if (token === "--") {
112
+ break;
113
+ }
114
+ if (token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
115
+ index += 1;
116
+ continue;
117
+ }
118
+ if (token === "--path" || token === "--pm-path") {
119
+ index += 2;
120
+ continue;
121
+ }
122
+ if (token.startsWith("--path=") || token.startsWith("--pm-path=")) {
123
+ index += 1;
124
+ continue;
125
+ }
126
+ remaining.push(token);
127
+ index += 1;
128
+ }
129
+ return remaining;
130
+ }
131
+ function parseBootstrapHelpRequest(argv) {
132
+ const stripped = stripGlobalBootstrapTokens(argv);
133
+ const first = stripped[0]?.trim().toLowerCase();
134
+ if (first === "help") {
135
+ const commandPathTokens2 = [];
136
+ for (let index = 1; index < stripped.length; index += 1) {
137
+ const token = stripped[index];
138
+ if (token.startsWith("-")) {
139
+ break;
140
+ }
141
+ commandPathTokens2.push(token.trim().toLowerCase());
142
+ }
143
+ return {
144
+ requested: true,
145
+ commandPathTokens: commandPathTokens2
146
+ };
147
+ }
148
+ const helpFlagIndex = stripped.findIndex((token) => token === "--help" || token === "-h");
149
+ if (helpFlagIndex < 0) {
150
+ return {
151
+ requested: false,
152
+ commandPathTokens: []
153
+ };
154
+ }
155
+ const commandPathTokens = [];
156
+ for (const token of stripped) {
157
+ if (token.startsWith("-")) {
158
+ break;
159
+ }
160
+ commandPathTokens.push(token.trim().toLowerCase());
161
+ }
162
+ return {
163
+ requested: true,
164
+ commandPathTokens
165
+ };
166
+ }
167
+ function findCommandTokenIndex(argv) {
168
+ for (let index = 0; index < argv.length; index += 1) {
169
+ const token = argv[index];
170
+ if (token === "--") {
171
+ return void 0;
172
+ }
173
+ if (token === "--path" || token === "--pm-path") {
174
+ index += 1;
175
+ continue;
176
+ }
177
+ if (token.startsWith("--path=") || token.startsWith("--pm-path=") || token === "--json" || token === "--quiet" || token === "--no-extensions" || token === "--no-pager" || token === "--profile" || token === "--id-only" || token === "--explain") {
178
+ continue;
179
+ }
180
+ if (token.startsWith("-")) {
181
+ continue;
182
+ }
183
+ return index;
184
+ }
185
+ return void 0;
186
+ }
187
+ function parseBootstrapCommandName(argv) {
188
+ const index = findCommandTokenIndex(argv);
189
+ return index === void 0 ? void 0 : argv[index].trim().toLowerCase();
190
+ }
191
+ function shouldDisablePagerForInvocation(argv, bootstrapGlobal) {
192
+ if (bootstrapGlobal.noPager) {
193
+ return true;
194
+ }
195
+ if (process.stdout.isTTY === true) {
196
+ return false;
197
+ }
198
+ const helpRequest = parseBootstrapHelpRequest(argv);
199
+ return helpRequest.requested;
200
+ }
201
+ function applyBootstrapPagerPolicy(argv) {
202
+ const bootstrapGlobal = parseBootstrapGlobalOptions(argv);
203
+ if (!shouldDisablePagerForInvocation(argv, bootstrapGlobal)) {
204
+ return;
205
+ }
206
+ process.env.PAGER = "cat";
207
+ process.env.MANPAGER = "cat";
208
+ process.env.GIT_PAGER = "cat";
209
+ if (typeof process.env.LESS !== "string" || process.env.LESS.trim().length === 0) {
210
+ process.env.LESS = "FRX";
211
+ }
212
+ }
213
+ var EXTENSION_ACTION_SYNTAX_TOKENS = /* @__PURE__ */ new Set([
214
+ "install",
215
+ "uninstall",
216
+ "explore",
217
+ "manage",
218
+ "doctor",
219
+ "adopt",
220
+ "adopt-all",
221
+ "activate",
222
+ "deactivate"
223
+ ]);
224
+ function normalizeLegacyExtensionActionSyntax(argv) {
225
+ const extensionIndex = argv.findIndex((token) => token === "extension");
226
+ if (extensionIndex < 0) {
227
+ return [...argv];
228
+ }
229
+ const actionToken = argv[extensionIndex + 1];
230
+ if (!actionToken || actionToken.startsWith("-")) {
231
+ return [...argv];
232
+ }
233
+ if (!EXTENSION_ACTION_SYNTAX_TOKENS.has(actionToken)) {
234
+ return [...argv];
235
+ }
236
+ if (argv.includes("--help") || argv.includes("-h")) {
237
+ return [...argv];
238
+ }
239
+ const forcedActionFlag = `--${actionToken}`;
240
+ if (argv.includes(forcedActionFlag)) {
241
+ return [...argv];
242
+ }
243
+ return [...argv.slice(0, extensionIndex + 1), forcedActionFlag, ...argv.slice(extensionIndex + 2)];
244
+ }
245
+ var EXECUTABLE_COMMAND_ALIASES = {
246
+ show: "get",
247
+ view: "get",
248
+ comment: "comments",
249
+ note: "notes",
250
+ learning: "learnings"
251
+ };
252
+ function rewriteCommandAlias(argv, trace) {
253
+ const index = findCommandTokenIndex(argv);
254
+ if (index === void 0) {
255
+ return argv;
256
+ }
257
+ const token = argv[index];
258
+ const canonical = EXECUTABLE_COMMAND_ALIASES[token.trim().toLowerCase()];
259
+ if (!canonical) {
260
+ return argv;
261
+ }
262
+ const rewritten = [...argv];
263
+ rewritten[index] = canonical;
264
+ trace.push({ from: token, to: [canonical], reason: "command_alias", confidence: "high" });
265
+ return rewritten;
266
+ }
267
+ function normalizeFlagKeyToken(raw) {
268
+ const withoutPrefix = raw.replace(/^--?/, "");
269
+ return withoutPrefix.replace(/_/g, "-").replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
270
+ }
271
+ function toComparableFlagKey(raw) {
272
+ return normalizeFlagKeyToken(raw).replace(/-/g, "");
273
+ }
274
+ function markUnambiguousFlag(map, key, canonicalFlag) {
275
+ const existing = map.get(key);
276
+ if (existing === void 0) {
277
+ map.set(key, canonicalFlag);
278
+ return;
279
+ }
280
+ if (existing !== canonicalFlag) {
281
+ map.set(key, null);
282
+ }
283
+ }
284
+ function collectLongFlagCandidates(contract) {
285
+ const candidates = [];
286
+ const pushLongFlag = (value) => {
287
+ if (typeof value !== "string") {
288
+ return;
289
+ }
290
+ if (!value.startsWith("--")) {
291
+ return;
292
+ }
293
+ candidates.push(value);
294
+ };
295
+ pushLongFlag(contract.flag);
296
+ for (const alias of contract.aliases ?? []) {
297
+ pushLongFlag(alias);
298
+ }
299
+ return candidates;
300
+ }
301
+ function buildFlagLookup(commandName, contractsOverride) {
302
+ const contracts = contractsOverride ?? resolveSubcommandFlagContractsForCommand(commandName);
303
+ const canonicalByNormalized = /* @__PURE__ */ new Map();
304
+ const canonicalByCompact = /* @__PURE__ */ new Map();
305
+ const canonicalComparablesMap = /* @__PURE__ */ new Map();
306
+ const listCanonicalFlags = /* @__PURE__ */ new Set();
307
+ for (const contract of contracts) {
308
+ const longCandidates = collectLongFlagCandidates(contract);
309
+ if (longCandidates.length === 0) {
310
+ continue;
311
+ }
312
+ const canonicalFlag = `--${normalizeFlagKeyToken(longCandidates[0])}`;
313
+ for (const candidate of longCandidates) {
314
+ markUnambiguousFlag(canonicalByNormalized, normalizeFlagKeyToken(candidate), canonicalFlag);
315
+ markUnambiguousFlag(canonicalByCompact, toComparableFlagKey(candidate), canonicalFlag);
316
+ }
317
+ const comparable = toComparableFlagKey(canonicalFlag);
318
+ if (!canonicalComparablesMap.has(canonicalFlag)) {
319
+ canonicalComparablesMap.set(canonicalFlag, comparable);
320
+ }
321
+ if (contract.list === true) {
322
+ listCanonicalFlags.add(canonicalFlag);
323
+ }
324
+ }
325
+ return {
326
+ canonicalByNormalized,
327
+ canonicalByCompact,
328
+ canonicalComparables: [...canonicalComparablesMap.entries()].map(([canonicalFlag, comparable]) => ({
329
+ canonicalFlag,
330
+ comparable
331
+ })),
332
+ listCanonicalFlags
333
+ };
334
+ }
335
+ function resolveCanonicalFlag(rawKey, lookup) {
336
+ const normalizedKey = normalizeFlagKeyToken(rawKey);
337
+ const direct = lookup.canonicalByNormalized.get(normalizedKey);
338
+ if (typeof direct === "string") {
339
+ return {
340
+ flag: direct,
341
+ reason: "flag_alias",
342
+ confidence: "high"
343
+ };
344
+ }
345
+ const comparableKey = normalizedKey.replace(/-/g, "");
346
+ const compactMatch = lookup.canonicalByCompact.get(comparableKey);
347
+ if (typeof compactMatch === "string") {
348
+ return {
349
+ flag: compactMatch,
350
+ reason: "flag_alias",
351
+ confidence: "high"
352
+ };
353
+ }
354
+ const maxDistance = comparableKey.length >= 8 ? 2 : 1;
355
+ let bestDistance = Number.POSITIVE_INFINITY;
356
+ let bestFlag;
357
+ let tied = false;
358
+ for (const candidate of lookup.canonicalComparables) {
359
+ const distance = levenshteinDistanceWithinLimit(comparableKey, candidate.comparable, maxDistance);
360
+ if (distance === null) {
361
+ continue;
362
+ }
363
+ if (distance < bestDistance) {
364
+ bestDistance = distance;
365
+ bestFlag = candidate.canonicalFlag;
366
+ tied = false;
367
+ continue;
368
+ }
369
+ if (distance === bestDistance && bestFlag !== candidate.canonicalFlag) {
370
+ tied = true;
371
+ }
372
+ }
373
+ if (!bestFlag || tied || !Number.isFinite(bestDistance) || bestDistance <= 0) {
374
+ return null;
375
+ }
376
+ return {
377
+ flag: bestFlag,
378
+ reason: "flag_typo",
379
+ confidence: bestDistance >= 2 ? "medium" : "high"
380
+ };
381
+ }
382
+ function parseBareKeyValueToken(token) {
383
+ if (token.includes("://")) {
384
+ return null;
385
+ }
386
+ const match = token.match(/^([A-Za-z][A-Za-z0-9_-]{1,63})([:=])(.*)$/);
387
+ if (!match) {
388
+ return null;
389
+ }
390
+ const key = match[1];
391
+ const value = match[3];
392
+ if (value.length === 0) {
393
+ return null;
394
+ }
395
+ return {
396
+ key,
397
+ value
398
+ };
399
+ }
400
+ function normalizeLongOptionToken(token, lookup) {
401
+ if (!token.startsWith("--")) {
402
+ return { tokens: [token] };
403
+ }
404
+ const equalsIndex = token.indexOf("=");
405
+ const key = equalsIndex >= 0 ? token.slice(0, equalsIndex) : token;
406
+ const inlineValue = equalsIndex >= 0 ? token.slice(equalsIndex + 1) : void 0;
407
+ const resolution = resolveCanonicalFlag(key, lookup);
408
+ if (!resolution) {
409
+ return { tokens: [token] };
410
+ }
411
+ const normalizedToken = inlineValue === void 0 ? resolution.flag : `${resolution.flag}=${inlineValue}`;
412
+ if (normalizedToken === token) {
413
+ return { tokens: [token] };
414
+ }
415
+ return {
416
+ tokens: [normalizedToken],
417
+ event: {
418
+ from: token,
419
+ to: [normalizedToken],
420
+ reason: resolution.reason,
421
+ confidence: resolution.confidence
422
+ }
423
+ };
424
+ }
425
+ var GLOBAL_VALUE_CONSUMING_FLAGS = /* @__PURE__ */ new Set(["--pm-path", "--path"]);
426
+ function splitCanonicalListToken(token) {
427
+ if (!token.startsWith("--")) {
428
+ return null;
429
+ }
430
+ const equalsIndex = token.indexOf("=");
431
+ if (equalsIndex < 0) {
432
+ return { flag: token };
433
+ }
434
+ return {
435
+ flag: token.slice(0, equalsIndex),
436
+ inlineValue: token.slice(equalsIndex + 1)
437
+ };
438
+ }
439
+ function copyValueConsumingFlag(argv, index, result) {
440
+ result.push(argv[index]);
441
+ const next = argv[index + 1];
442
+ if (typeof next === "string" && next !== "--") {
443
+ result.push(next);
444
+ return index + 2;
445
+ }
446
+ return index + 1;
447
+ }
448
+ function readListFlagOccurrence(argv, index, parsed, multiValueListFlags) {
449
+ if (parsed.inlineValue !== void 0) {
450
+ return {
451
+ originalTokens: [argv[index]],
452
+ value: parsed.inlineValue,
453
+ consumed: 1
454
+ };
455
+ }
456
+ const values = [];
457
+ let valueIndex = index + 1;
458
+ while (valueIndex < argv.length && argv[valueIndex] !== "--" && !argv[valueIndex].startsWith("-") && (values.length === 0 || multiValueListFlags.has(parsed.flag))) {
459
+ values.push(argv[valueIndex]);
460
+ valueIndex += 1;
461
+ }
462
+ const consumed = values.length === 0 ? 1 : 1 + values.length;
463
+ return {
464
+ originalTokens: argv.slice(index, index + consumed),
465
+ value: values.length === 0 ? void 0 : values.join(","),
466
+ consumed
467
+ };
468
+ }
469
+ function recordListFlagOccurrence(slots, result, flag, occurrence) {
470
+ const existing = slots.get(flag);
471
+ if (existing) {
472
+ existing.values.push(occurrence.value);
473
+ existing.occurrences += 1;
474
+ return;
475
+ }
476
+ slots.set(flag, {
477
+ outputIndex: result.length,
478
+ originalTokens: occurrence.originalTokens,
479
+ values: [occurrence.value],
480
+ occurrences: 1
481
+ });
482
+ result.push(null);
483
+ }
484
+ function buildListFlagCoalescingSplices(slots, multiValueListFlags) {
485
+ const events = [];
486
+ const splices = [];
487
+ for (const [flag, slot] of slots) {
488
+ const shouldMerge = slot.occurrences >= 2 || multiValueListFlags.has(flag) && slot.originalTokens.length > 2;
489
+ if (!shouldMerge) {
490
+ splices.push({ outputIndex: slot.outputIndex, tokens: slot.originalTokens });
491
+ continue;
492
+ }
493
+ const mergedToken = `${flag}=${slot.values.join(",")}`;
494
+ splices.push({ outputIndex: slot.outputIndex, tokens: [mergedToken] });
495
+ events.push({
496
+ from: `${flag} (x${slot.occurrences})`,
497
+ to: [mergedToken],
498
+ reason: "list_merge",
499
+ confidence: "high"
500
+ });
501
+ }
502
+ return { events, splices };
503
+ }
504
+ function applyListFlagSplices(result, splices) {
505
+ splices.sort((a, b) => b.outputIndex - a.outputIndex);
506
+ for (const splice of splices) {
507
+ result.splice(splice.outputIndex, 1, ...splice.tokens);
508
+ }
509
+ }
510
+ function coalesceRepeatedListFlags(argv, listFlags, valueConsumingFlags = /* @__PURE__ */ new Set(), multiValueListFlags = /* @__PURE__ */ new Set()) {
511
+ if (listFlags.size === 0) {
512
+ return { argv: [...argv], events: [] };
513
+ }
514
+ const result = [];
515
+ const slots = /* @__PURE__ */ new Map();
516
+ let index = 0;
517
+ while (index < argv.length) {
518
+ const token = argv[index];
519
+ if (token === "--") {
520
+ result.push(...argv.slice(index));
521
+ break;
522
+ }
523
+ if (valueConsumingFlags.has(token)) {
524
+ index = copyValueConsumingFlag(argv, index, result);
525
+ continue;
526
+ }
527
+ const parsed = splitCanonicalListToken(token);
528
+ if (!parsed || !listFlags.has(parsed.flag)) {
529
+ result.push(token);
530
+ index += 1;
531
+ continue;
532
+ }
533
+ const occurrence = readListFlagOccurrence(argv, index, parsed, multiValueListFlags);
534
+ if (occurrence.value === void 0) {
535
+ result.push(token);
536
+ index += occurrence.consumed;
537
+ continue;
538
+ }
539
+ recordListFlagOccurrence(slots, result, parsed.flag, {
540
+ originalTokens: occurrence.originalTokens,
541
+ value: occurrence.value
542
+ });
543
+ index += occurrence.consumed;
544
+ }
545
+ const { events, splices } = buildListFlagCoalescingSplices(slots, multiValueListFlags);
546
+ applyListFlagSplices(result, splices);
547
+ return { argv: result, events };
548
+ }
549
+ var LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG = /* @__PURE__ */ new Map([
550
+ ["--add", /* @__PURE__ */ new Set(["command", "cmd", "path"])],
551
+ ["--remove", /* @__PURE__ */ new Set(["command", "path"])]
552
+ ]);
553
+ function isLinkedTestTwoTokenValuePosition(commandName, emittedTokens) {
554
+ if (commandName !== "test" || emittedTokens.length < 2) {
555
+ return false;
556
+ }
557
+ const key = emittedTokens[emittedTokens.length - 1];
558
+ const flag = emittedTokens[emittedTokens.length - 2];
559
+ const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(flag);
560
+ return keys !== void 0 && keys.has(key);
561
+ }
562
+ function mergeLinkedTestTwoTokenEntries(argv, commandName, trace) {
563
+ if (commandName !== "test") {
564
+ return argv;
565
+ }
566
+ const result = [];
567
+ let index = 0;
568
+ while (index < argv.length) {
569
+ const token = argv[index];
570
+ if (token === "--") {
571
+ result.push(...argv.slice(index));
572
+ return result;
573
+ }
574
+ const keys = LINKED_TEST_TWO_TOKEN_KEYS_BY_FLAG.get(token);
575
+ const key = keys ? argv[index + 1] : void 0;
576
+ if (!keys || typeof key !== "string" || !keys.has(key)) {
577
+ result.push(token);
578
+ index += 1;
579
+ continue;
580
+ }
581
+ let runEnd = index + 2;
582
+ while (runEnd < argv.length && !argv[runEnd].startsWith("-")) {
583
+ runEnd += 1;
584
+ }
585
+ if (runEnd - (index + 2) !== 1) {
586
+ result.push(token);
587
+ index += 1;
588
+ continue;
589
+ }
590
+ const value = argv[index + 2];
591
+ const mergedValue = `${key}=${value}`;
592
+ result.push(token, mergedValue);
593
+ trace.push({
594
+ from: `${token} ${key} ${value}`,
595
+ to: [token, mergedValue],
596
+ reason: "bare_key_value",
597
+ confidence: "high"
598
+ });
599
+ index += 3;
600
+ }
601
+ return result;
602
+ }
603
+ function normalizeBootstrapInvocation(argv) {
604
+ const trace = [];
605
+ const legacyNormalized = normalizeLegacyExtensionActionSyntax(argv);
606
+ if (legacyNormalized.length !== argv.length || legacyNormalized.some((token, index) => token !== argv[index])) {
607
+ trace.push({
608
+ from: argv.join(" "),
609
+ to: [...legacyNormalized],
610
+ reason: "legacy_extension_action",
611
+ confidence: "high"
612
+ });
613
+ }
614
+ const aliasNormalized = rewriteCommandAlias(legacyNormalized, trace);
615
+ const commandName = parseBootstrapCommandName(aliasNormalized);
616
+ const commandPathName = parseBootstrapCommandPathName(aliasNormalized);
617
+ const lookup = buildFlagLookup(commandPathName ?? commandName);
618
+ const normalizedArgv = [];
619
+ for (let index = 0; index < aliasNormalized.length; index += 1) {
620
+ const token = aliasNormalized[index];
621
+ if (token === "--") {
622
+ normalizedArgv.push(...aliasNormalized.slice(index));
623
+ break;
624
+ }
625
+ const previous = normalizedArgv[normalizedArgv.length - 1];
626
+ if (token.startsWith("--")) {
627
+ const normalizedToken = normalizeLongOptionToken(token, lookup);
628
+ normalizedArgv.push(...normalizedToken.tokens);
629
+ if (normalizedToken.event) {
630
+ trace.push(normalizedToken.event);
631
+ }
632
+ continue;
633
+ }
634
+ const bareKeyValue = parseBareKeyValueToken(token);
635
+ if (bareKeyValue && !(typeof previous === "string" && previous.startsWith("-")) && !isLinkedTestTwoTokenValuePosition(commandName, normalizedArgv)) {
636
+ const resolution = resolveCanonicalFlag(bareKeyValue.key, lookup);
637
+ if (resolution) {
638
+ const replacement = [resolution.flag, bareKeyValue.value];
639
+ normalizedArgv.push(...replacement);
640
+ trace.push({
641
+ from: token,
642
+ to: replacement,
643
+ reason: "bare_key_value",
644
+ confidence: resolution.confidence
645
+ });
646
+ continue;
647
+ }
648
+ }
649
+ normalizedArgv.push(token);
650
+ }
651
+ const linkedTestNormalized = mergeLinkedTestTwoTokenEntries(normalizedArgv, commandName, trace);
652
+ const coalesced = coalesceRepeatedListFlags(linkedTestNormalized, lookup.listCanonicalFlags, GLOBAL_VALUE_CONSUMING_FLAGS, commandName === "create" ? /* @__PURE__ */ new Set(["--tags"]) : /* @__PURE__ */ new Set());
653
+ for (const event of coalesced.events) {
654
+ trace.push(event);
655
+ }
656
+ return {
657
+ argv: coalesced.argv,
658
+ commandName,
659
+ trace
660
+ };
661
+ }
662
+ function parseBootstrapCommandPathName(argv) {
663
+ const stripped = stripGlobalBootstrapTokens(argv);
664
+ const first = stripped[0]?.trim().toLowerCase();
665
+ const second = stripped[1]?.trim().toLowerCase();
666
+ if ((first === "extension" || first === "package" || first === "packages") && typeof second === "string" && second.length > 0 && !second.startsWith("-")) {
667
+ return `${first} ${second}`;
668
+ }
669
+ return first;
670
+ }
671
+ function parseBootstrapTypeValue(argv) {
672
+ for (let index = 0; index < argv.length; index += 1) {
673
+ const token = argv[index];
674
+ if (token === "--type") {
675
+ const candidate = argv[index + 1];
676
+ if (typeof candidate === "string" && candidate.trim().length > 0) {
677
+ return candidate.trim();
678
+ }
679
+ continue;
680
+ }
681
+ if (token.startsWith("--type=")) {
682
+ const candidate = token.slice("--type=".length).trim();
683
+ if (candidate.length > 0) {
684
+ return candidate;
685
+ }
686
+ }
687
+ }
688
+ return void 0;
689
+ }
690
+
691
+ // dist/cli/commands/extension/shared.js
692
+ import fs from "node:fs/promises";
693
+ import path from "node:path";
694
+ !(function() {
695
+ try {
696
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
697
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c751d14c-1c20-52ed-9418-886d9e85f3ed");
698
+ } catch (e2) {
699
+ }
700
+ })();
701
+ var DEFAULT_EXTENSION_PRIORITY = 100;
702
+ function normalizeStringList(values) {
703
+ return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
704
+ }
705
+ function normalizeExtensionNameForMatch(value) {
706
+ return value.trim().toLowerCase();
707
+ }
708
+ function normalizeManagedDirectoryName(name) {
709
+ const normalized = name.trim().toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(/^-+|-+$/g, "");
710
+ if (normalized.length === 0) {
711
+ throw new PmCliError("Extension manifest name must resolve to a non-empty directory name.", EXIT_CODE.USAGE);
712
+ }
713
+ if (normalized === "." || normalized === "..") {
714
+ throw new PmCliError('Extension manifest name must not resolve to "." or "..".', EXIT_CODE.USAGE);
715
+ }
716
+ return normalized;
717
+ }
718
+ function parseExtensionManifest(raw) {
719
+ if (typeof raw !== "object" || raw === null) {
720
+ return null;
721
+ }
722
+ const candidate = raw;
723
+ if (typeof candidate.name !== "string" || candidate.name.trim().length === 0) {
724
+ return null;
725
+ }
726
+ if (typeof candidate.version !== "string" || candidate.version.trim().length === 0) {
727
+ return null;
728
+ }
729
+ if (typeof candidate.entry !== "string" || candidate.entry.trim().length === 0) {
730
+ return null;
731
+ }
732
+ let priority = DEFAULT_EXTENSION_PRIORITY;
733
+ if (candidate.priority !== void 0 && candidate.priority !== null) {
734
+ if (typeof candidate.priority !== "number" || !Number.isInteger(candidate.priority)) {
735
+ return null;
736
+ }
737
+ priority = candidate.priority;
738
+ }
739
+ let capabilities = [];
740
+ if (candidate.capabilities !== void 0 && candidate.capabilities !== null) {
741
+ if (!Array.isArray(candidate.capabilities) || candidate.capabilities.some((value) => typeof value !== "string")) {
742
+ return null;
743
+ }
744
+ capabilities = normalizeStringList(candidate.capabilities.map((value) => String(value).toLowerCase()));
745
+ }
746
+ return {
747
+ name: candidate.name.trim(),
748
+ version: candidate.version.trim(),
749
+ entry: candidate.entry.trim(),
750
+ priority,
751
+ capabilities
752
+ };
753
+ }
754
+ async function isCanonicalPathWithinDirectory(directory, targetPath) {
755
+ const [resolvedDirectory, resolvedTargetPath] = await Promise.all([fs.realpath(directory), fs.realpath(targetPath)]);
756
+ return isPathWithinDirectory(resolvedDirectory, resolvedTargetPath);
757
+ }
758
+ async function validateExtensionDirectory(directory) {
759
+ const manifestPath = path.join(directory, "manifest.json");
760
+ if (!await pathExists(manifestPath)) {
761
+ throw new PmCliError(`Extension manifest is missing at "${manifestPath}".`, EXIT_CODE.USAGE);
762
+ }
763
+ let parsedManifest;
764
+ try {
765
+ parsedManifest = JSON.parse(await fs.readFile(manifestPath, "utf8"));
766
+ } catch (error) {
767
+ throw new PmCliError(`Failed to parse extension manifest at "${manifestPath}": ${formatManifestReadError(error)}`, EXIT_CODE.USAGE);
768
+ }
769
+ const manifest = parseExtensionManifest(parsedManifest);
770
+ if (!manifest) {
771
+ throw new PmCliError(`Extension manifest at "${manifestPath}" is invalid.`, EXIT_CODE.USAGE);
772
+ }
773
+ const entryPath = path.resolve(directory, manifest.entry);
774
+ if (!isPathWithinDirectory(directory, entryPath)) {
775
+ throw new PmCliError(`Extension entry "${manifest.entry}" resolves outside extension directory "${directory}".`, EXIT_CODE.USAGE);
776
+ }
777
+ if (!await pathExists(entryPath)) {
778
+ throw new PmCliError(`Extension entry file is missing at "${entryPath}".`, EXIT_CODE.USAGE);
779
+ }
780
+ if (!await isCanonicalPathWithinDirectory(directory, entryPath)) {
781
+ throw new PmCliError(`Extension entry "${manifest.entry}" resolves outside extension directory after symlink resolution.`, EXIT_CODE.USAGE);
782
+ }
783
+ return {
784
+ directory,
785
+ manifest_path: manifestPath,
786
+ entry_path: entryPath,
787
+ manifest
788
+ };
789
+ }
790
+ function formatManifestReadError(error) {
791
+ return error instanceof Error ? error.message : String(error);
792
+ }
793
+
794
+ export {
795
+ parseBootstrapGlobalOptions,
796
+ stripGlobalBootstrapTokens,
797
+ parseBootstrapHelpRequest,
798
+ parseBootstrapCommandName,
799
+ applyBootstrapPagerPolicy,
800
+ EXECUTABLE_COMMAND_ALIASES,
801
+ normalizeBootstrapInvocation,
802
+ parseBootstrapTypeValue,
803
+ normalizeStringList,
804
+ normalizeExtensionNameForMatch,
805
+ normalizeManagedDirectoryName,
806
+ parseExtensionManifest,
807
+ validateExtensionDirectory
808
+ };
809
+ //# sourceMappingURL=chunk-RH5ZBYFD.js.map