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