@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
@@ -3,10 +3,10 @@ import {
3
3
  normalizeReplayPatchOps,
4
4
  tryApplyReplayPatch,
5
5
  verifyHistoryChain
6
- } from "./chunk-E2Q2ULMR.js";
6
+ } from "./chunk-G7I7DEZA.js";
7
7
  import {
8
8
  parseLimit
9
- } from "./chunk-7L6TXOOC.js";
9
+ } from "./chunk-4DUVCVLZ.js";
10
10
  import {
11
11
  enforceHistoryStreamPolicyForItem,
12
12
  hashDocument,
@@ -14,10 +14,10 @@ import {
14
14
  locateItem,
15
15
  normalizeItemId,
16
16
  readLocatedItem
17
- } from "./chunk-LBH7UYKY.js";
17
+ } from "./chunk-3K2M5OYU.js";
18
18
  import {
19
19
  findFirstMergeConflictMarker
20
- } from "./chunk-ZFIEEDTJ.js";
20
+ } from "./chunk-BHO33VBQ.js";
21
21
  import {
22
22
  EXIT_CODE,
23
23
  PmCliError,
@@ -30,7 +30,7 @@ import {
30
30
  resolveItemTypeRegistry,
31
31
  resolvePmRoot,
32
32
  runActiveOnReadHooks
33
- } from "./chunk-SNUK7H5J.js";
33
+ } from "./chunk-RVUALSJF.js";
34
34
 
35
35
  // dist/core/history/history-diff.js
36
36
  !(function() {
@@ -272,4 +272,4 @@ export {
272
272
  readHistoryEntries,
273
273
  runHistory
274
274
  };
275
- //# sourceMappingURL=chunk-IBU2LLWM.js.map
275
+ //# sourceMappingURL=chunk-64HNBBFQ.js.map
@@ -1,16 +1,20 @@
1
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]="cabc95dd-5428-533e-b3e2-d45eb7ef7409")}catch(e){}}();
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]="da6d1484-9f3c-56e4-a493-4b4296d741c1")}catch(e){}}();
3
3
  import {
4
+ EXECUTABLE_COMMAND_ALIASES,
4
5
  normalizeExtensionNameForMatch,
5
6
  normalizeManagedDirectoryName
6
- } from "./chunk-C2KCIZKZ.js";
7
+ } from "./chunk-4A3BJ675.js";
8
+ import {
9
+ PM_CORE_COMMAND_NAMES
10
+ } from "./chunk-HXTQJXWT.js";
7
11
  import {
8
12
  EXIT_CODE,
9
13
  PmCliError,
10
14
  collectUsedExtensionCapabilities,
11
15
  normalizeExtensionName,
12
16
  pathExists
13
- } from "./chunk-CY5IJMUM.js";
17
+ } from "./chunk-7R4QEMZZ.js";
14
18
 
15
19
  // dist/cli/commands/extension/scaffold.js
16
20
  import fs from "node:fs/promises";
@@ -26,8 +30,34 @@ var SCAFFOLD_DECLARED_PERMISSIONS = {
26
30
  env_write: false,
27
31
  process_spawn: false
28
32
  };
33
+ var RESERVED_SCAFFOLD_COMMAND_ROOTS = /* @__PURE__ */ new Set([
34
+ ...PM_CORE_COMMAND_NAMES.map((commandName) => commandName.split("-")[0].toLowerCase()),
35
+ ...Object.keys(EXECUTABLE_COMMAND_ALIASES).map((alias) => alias.toLowerCase()),
36
+ // "scaffold" is a Commander command that currently lives outside both
37
+ // PM_CORE_COMMAND_NAMES and EXECUTABLE_COMMAND_ALIASES.
38
+ "scaffold"
39
+ ]);
29
40
  var SCAFFOLD_TYPESCRIPT_VERSION = "^6.0.0";
30
41
  var SCAFFOLD_TYPES_NODE_VERSION = "^22.0.0";
42
+ var SAMPLE_HARNESS_CLEANUP_LINES = [
43
+ "type StarterHarness = Awaited<ReturnType<typeof createExtensionTestHarness>>;",
44
+ "",
45
+ "async function deactivateIfNeeded(ext: StarterHarness, deactivated: boolean): Promise<void> {",
46
+ " if (!deactivated) {",
47
+ " try {",
48
+ " await ext.deactivate();",
49
+ " } catch {",
50
+ " // Preserve the original assertion error; cleanup is best effort.",
51
+ " }",
52
+ " }",
53
+ "}",
54
+ ""
55
+ ];
56
+ var SAMPLE_HARNESS_FINALLY_LINES = [
57
+ " } finally {",
58
+ " await deactivateIfNeeded(ext, deactivated);",
59
+ " }"
60
+ ];
31
61
  var SCAFFOLD_TSCONFIG = {
32
62
  compilerOptions: {
33
63
  target: "ES2022",
@@ -396,6 +426,22 @@ function buildScaffoldActivationReadmeSection(capability, vocabulary) {
396
426
  }
397
427
  return LAZY_ACTIVATION_README_SECTION[vocabulary];
398
428
  }
429
+ function buildScaffoldCommandName(extensionName) {
430
+ const commandWords = extensionName.replace(/-/g, " ").trim().split(/\s+/).filter((word) => word.length > 0);
431
+ if (commandWords.length === 0) {
432
+ return "starter ping";
433
+ }
434
+ const firstWordLower = commandWords[0].toLowerCase();
435
+ let leadingStarterWords = 0;
436
+ while (commandWords[leadingStarterWords]?.toLowerCase() === "starter") {
437
+ leadingStarterWords += 1;
438
+ }
439
+ const nextStarterWord = commandWords[leadingStarterWords]?.toLowerCase();
440
+ const starterRootCollision = leadingStarterWords > 0 && (leadingStarterWords === commandWords.length || nextStarterWord !== void 0 && RESERVED_SCAFFOLD_COMMAND_ROOTS.has(nextStarterWord));
441
+ const reservedRoot = RESERVED_SCAFFOLD_COMMAND_ROOTS.has(firstWordLower) || starterRootCollision;
442
+ const resolvedWords = reservedRoot ? ["starter", ...commandWords] : commandWords;
443
+ return `${resolvedWords.join(" ")} ping`;
444
+ }
399
445
  function buildProfileArchetypeFieldLines(extensionName) {
400
446
  const typeName = extensionName;
401
447
  const typeFolder = `${extensionName}s`;
@@ -819,13 +865,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
819
865
  " const teardown = await ext.deactivate();",
820
866
  " assertExtensionDeactivated(teardown);",
821
867
  " deactivated = true;",
822
- " } finally {",
823
- " if (!deactivated) {",
824
- " try {",
825
- " await ext.deactivate();",
826
- " } catch {}",
827
- " }",
828
- " }",
868
+ ...SAMPLE_HARNESS_FINALLY_LINES,
829
869
  "});",
830
870
  ""
831
871
  ] : [];
@@ -875,13 +915,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
875
915
  " const teardown = await ext.deactivate();",
876
916
  " assertExtensionDeactivated(teardown);",
877
917
  " deactivated = true;",
878
- " } finally {",
879
- " if (!deactivated) {",
880
- " try {",
881
- " await ext.deactivate();",
882
- " } catch {}",
883
- " }",
884
- " }",
918
+ ...SAMPLE_HARNESS_FINALLY_LINES,
885
919
  "});",
886
920
  ""
887
921
  ] : [];
@@ -914,13 +948,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
914
948
  " const teardown = await ext.deactivate();",
915
949
  " assertExtensionDeactivated(teardown);",
916
950
  " deactivated = true;",
917
- " } finally {",
918
- " if (!deactivated) {",
919
- " try {",
920
- " await ext.deactivate();",
921
- " } catch {}",
922
- " }",
923
- " }",
951
+ ...SAMPLE_HARNESS_FINALLY_LINES,
924
952
  "});",
925
953
  ""
926
954
  ] : [];
@@ -949,13 +977,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
949
977
  " const teardown = await ext.deactivate();",
950
978
  " assertExtensionDeactivated(teardown);",
951
979
  " deactivated = true;",
952
- " } finally {",
953
- " if (!deactivated) {",
954
- " try {",
955
- " await ext.deactivate();",
956
- " } catch {}",
957
- " }",
958
- " }",
980
+ ...SAMPLE_HARNESS_FINALLY_LINES,
959
981
  "});",
960
982
  ""
961
983
  ] : [];
@@ -977,13 +999,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
977
999
  " const teardown = await ext.deactivate();",
978
1000
  " assertExtensionDeactivated(teardown);",
979
1001
  " deactivated = true;",
980
- " } finally {",
981
- " if (!deactivated) {",
982
- " try {",
983
- " await ext.deactivate();",
984
- " } catch {}",
985
- " }",
986
- " }",
1002
+ ...SAMPLE_HARNESS_FINALLY_LINES,
987
1003
  "});",
988
1004
  ""
989
1005
  ] : [];
@@ -1021,13 +1037,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
1021
1037
  " const teardown = await ext.deactivate();",
1022
1038
  " assertExtensionDeactivated(teardown);",
1023
1039
  " deactivated = true;",
1024
- " } finally {",
1025
- " if (!deactivated) {",
1026
- " try {",
1027
- " await ext.deactivate();",
1028
- " } catch {}",
1029
- " }",
1030
- " }",
1040
+ ...SAMPLE_HARNESS_FINALLY_LINES,
1031
1041
  "});",
1032
1042
  ""
1033
1043
  ] : [];
@@ -1071,13 +1081,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
1071
1081
  " const teardown = await ext.deactivate();",
1072
1082
  " assertExtensionDeactivated(teardown);",
1073
1083
  " deactivated = true;",
1074
- " } finally {",
1075
- " if (!deactivated) {",
1076
- " try {",
1077
- " await ext.deactivate();",
1078
- " } catch {}",
1079
- " }",
1080
- " }",
1084
+ ...SAMPLE_HARNESS_FINALLY_LINES,
1081
1085
  "});",
1082
1086
  ""
1083
1087
  ] : [];
@@ -1115,13 +1119,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
1115
1119
  " const teardown = await ext.deactivate();",
1116
1120
  " assertExtensionDeactivated(teardown);",
1117
1121
  " deactivated = true;",
1118
- " } finally {",
1119
- " if (!deactivated) {",
1120
- " try {",
1121
- " await ext.deactivate();",
1122
- " } catch {}",
1123
- " }",
1124
- " }",
1122
+ ...SAMPLE_HARNESS_FINALLY_LINES,
1125
1123
  "});",
1126
1124
  ""
1127
1125
  ] : [];
@@ -1158,13 +1156,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
1158
1156
  " const teardown = await ext.deactivate();",
1159
1157
  " assertExtensionDeactivated(teardown);",
1160
1158
  " deactivated = true;",
1161
- " } finally {",
1162
- " if (!deactivated) {",
1163
- " try {",
1164
- " await ext.deactivate();",
1165
- " } catch {}",
1166
- " }",
1167
- " }",
1159
+ ...SAMPLE_HARNESS_FINALLY_LINES,
1168
1160
  "});",
1169
1161
  ""
1170
1162
  ] : [];
@@ -1179,6 +1171,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
1179
1171
  ...searchEnabled ? ['import type { ItemDocument, PmSettings } from "@unbrained/pm-cli/sdk";'] : [],
1180
1172
  'import extension from "./index.ts";',
1181
1173
  "",
1174
+ ...SAMPLE_HARNESS_CLEANUP_LINES,
1182
1175
  `test(${JSON.stringify(`${extensionName} registers its starter command`)}, async () => {`,
1183
1176
  " // `capabilities` mirrors manifest.json so the in-memory activation grants",
1184
1177
  " // the capabilities the entrypoint relies on.",
@@ -1218,13 +1211,7 @@ function buildSampleTestSource(extensionName, commandName, capability) {
1218
1211
  " const teardown = await ext.deactivate();",
1219
1212
  " assertExtensionDeactivated(teardown);",
1220
1213
  " deactivated = true;",
1221
- " } finally {",
1222
- " if (!deactivated) {",
1223
- " try {",
1224
- " await ext.deactivate();",
1225
- " } catch {}",
1226
- " }",
1227
- " }",
1214
+ ...SAMPLE_HARNESS_FINALLY_LINES,
1228
1215
  "});",
1229
1216
  "",
1230
1217
  ...hookTestLines,
@@ -1441,13 +1428,7 @@ function buildDeclarativeCapabilityTestBlock(extensionName, commandName, capabil
1441
1428
  " const teardown = await ext.deactivate();",
1442
1429
  " assertExtensionDeactivated(teardown);",
1443
1430
  " deactivated = true;",
1444
- " } finally {",
1445
- " if (!deactivated) {",
1446
- " try {",
1447
- " await ext.deactivate();",
1448
- " } catch {}",
1449
- " }",
1450
- " }"
1431
+ ...SAMPLE_HARNESS_FINALLY_LINES
1451
1432
  ];
1452
1433
  switch (capability) {
1453
1434
  case "hooks":
@@ -1720,6 +1701,7 @@ function buildDeclarativeSampleTestSource(extensionName, commandName, capability
1720
1701
  ...capability === "search" ? ['import type { ItemDocument, PmSettings } from "@unbrained/pm-cli/sdk";'] : [],
1721
1702
  'import extension, { blueprint } from "./index.ts";',
1722
1703
  "",
1704
+ ...SAMPLE_HARNESS_CLEANUP_LINES,
1723
1705
  `test(${JSON.stringify(`${extensionName} passes author-time preflight`)}, () => {`,
1724
1706
  " // assertExtensionPreflight is the author-time capstone: it lints the blueprint,",
1725
1707
  " // synthesizes the least-privilege manifest from `identity`, and checks the version",
@@ -1778,13 +1760,7 @@ function buildDeclarativeSampleTestSource(extensionName, commandName, capability
1778
1760
  " const teardown = await ext.deactivate();",
1779
1761
  " assertExtensionDeactivated(teardown);",
1780
1762
  " deactivated = true;",
1781
- " } finally {",
1782
- " if (!deactivated) {",
1783
- " try {",
1784
- " await ext.deactivate();",
1785
- " } catch {}",
1786
- " }",
1787
- " }",
1763
+ ...SAMPLE_HARNESS_FINALLY_LINES,
1788
1764
  "});",
1789
1765
  "",
1790
1766
  ...buildDeclarativeCapabilityTestBlock(extensionName, commandName, capability, capabilitiesLiteral)
@@ -1865,6 +1841,111 @@ function buildDeclarativePackageReadme(packageName, commandName, capability) {
1865
1841
  ""
1866
1842
  ].join("\n");
1867
1843
  }
1844
+ function buildScaffoldSnippetNames(extensionName) {
1845
+ const itemTypeName = extensionName;
1846
+ const itemTypeAlias = extensionName.replace(/-/g, "");
1847
+ return {
1848
+ searchProviderName: `${extensionName}-search`,
1849
+ vectorAdapterName: `${extensionName}-vector`,
1850
+ adapterName: `${extensionName.replace(/-/g, " ")} items`,
1851
+ itemTypeName,
1852
+ itemTypeFolder: `${extensionName}s`,
1853
+ itemTypeAliases: itemTypeAlias === itemTypeName ? [] : [itemTypeAlias],
1854
+ fieldName: `${extensionName.replace(/-/g, "_")}_note`,
1855
+ migrationId: `${extensionName}-0001-init`
1856
+ };
1857
+ }
1858
+ function buildDefineBuilderImports(capability) {
1859
+ return [
1860
+ "defineCommand",
1861
+ ...capability === "hooks" ? ["defineAfterCommandHook"] : [],
1862
+ ...capability === "search" ? ["defineSearchProvider", "defineVectorStoreAdapter"] : [],
1863
+ ...capability === "importers" ? ["defineImporter", "defineExporter"] : [],
1864
+ ...capability === "schema" ? ["defineItemType", "defineItemField", "defineMigration"] : [],
1865
+ ...capability === "profile" ? ["defineProjectProfile"] : [],
1866
+ ...capability === "renderers" ? ["defineRendererOverride"] : [],
1867
+ ...capability === "parser" ? ["defineParserOverride"] : [],
1868
+ ...capability === "preflight" ? ["definePreflightOverride"] : [],
1869
+ ...capability === "services" ? ["defineServiceOverride"] : []
1870
+ ].join(", ");
1871
+ }
1872
+ function buildDefineBuilderExports(extensionName, commandName, capability, names) {
1873
+ const lines = [
1874
+ "export const pingCommand = defineCommand({",
1875
+ ` name: ${JSON.stringify(commandName)},`,
1876
+ ' description: "Starter scaffold command. Replace with your own behavior.",',
1877
+ // The parser starter's command declares the flags its override normalizes so
1878
+ // the demo is runnable through `pm <command> --shout`, and surfaces the
1879
+ // canonical `upper` flag in the result.
1880
+ ...capability === "parser" ? [
1881
+ " flags: [",
1882
+ ' { long: "--shout", value_type: "boolean", description: "Deprecated alias for --upper." },',
1883
+ ' { long: "--upper", value_type: "boolean", description: "Canonical flag the parser produces." },',
1884
+ " ],",
1885
+ " run: (context) => ({ ok: true, command: context.command, upper: context.options.upper === true }),"
1886
+ ] : [" run: (context) => ({ ok: true, command: context.command }),"],
1887
+ "});"
1888
+ ];
1889
+ if (capability === "hooks") {
1890
+ lines.push("", "export const afterCommandHook = defineAfterCommandHook((context) => {", " if (!context.ok) return;", " // React to context.affected here as your package grows.", "});");
1891
+ }
1892
+ if (capability === "search") {
1893
+ lines.push("", "export const searchProvider = defineSearchProvider({", ` name: ${JSON.stringify(names.searchProviderName)},`, " query: async (context) => ({", " hits: context.documents", ' .filter((document) => String(document.metadata.title ?? "").toLowerCase().includes(context.query.toLowerCase()))', ' .map((document) => ({ id: document.metadata.id, score: 1, matched_fields: ["title"] })),', " }),", " embed: async (context) => [context.input.length],", "});", "", "export const vectorStoreAdapter = defineVectorStoreAdapter({", ` name: ${JSON.stringify(names.vectorAdapterName)},`, ' query: async (context) => [{ id: "starter-vector-hit", score: context.limit }],', " upsert: async (context) => ({ upserted: context.points.length }),", " delete: async (context) => ({ deleted: context.ids.length }),", "});");
1894
+ }
1895
+ if (capability === "importers") {
1896
+ lines.push("", "export const importer = defineImporter(async (context) => ({", " imported: 1,", ' source: context.options.source ?? "starter",', " args: context.args,", "}));", "", "export const exporter = defineExporter(async (context) => ({", " exported: true,", ' destination: context.options.destination ?? "stdout",', " args: context.args,", "}));");
1897
+ }
1898
+ if (capability === "schema") {
1899
+ lines.push("", `export const noteField = defineItemField({ name: ${JSON.stringify(names.fieldName)}, type: "string", optional: true });`, "", "export const itemType = defineItemType({", ` name: ${JSON.stringify(names.itemTypeName)},`, ` folder: ${JSON.stringify(names.itemTypeFolder)},`, ` aliases: ${JSON.stringify(names.itemTypeAliases)},`, " required_create_fields: [],", "});", "", "export const initMigration = defineMigration({", ` id: ${JSON.stringify(names.migrationId)},`, ` description: ${JSON.stringify(`Initialize ${extensionName} schema state.`)},`, " mandatory: false,", " run: async (context) => ({ migrated: true, id: context.id }),", "});");
1900
+ }
1901
+ if (capability === "profile") {
1902
+ lines.push("", "export const starterProfile = defineProjectProfile({", ` name: ${JSON.stringify(extensionName)},`, ` title: ${JSON.stringify(`${extensionName} archetype`)},`, ' summary: "Starter project profile. Replace these dimensions with your own archetype.",', " types: [", ` { name: ${JSON.stringify(names.itemTypeName)}, folder: ${JSON.stringify(names.itemTypeFolder)} },`, " ],", " // ...plus statuses, fields, workflows, config, templates, and packages.", "});");
1903
+ }
1904
+ if (capability === "renderers") {
1905
+ lines.push("", "export const toonRenderer = defineRendererOverride((context) => {", ` if (context.command !== ${JSON.stringify(commandName)}) return null;`, ` return ${JSON.stringify(`${extensionName}: `)} + JSON.stringify(context.result);`, "});");
1906
+ }
1907
+ if (capability === "parser") {
1908
+ lines.push("", "export const pingParser = defineParserOverride((context) => {", " const options = { ...context.options };", " if (options.shout === true) options.upper = true;", " delete options.shout;", " return { options };", "});");
1909
+ }
1910
+ if (capability === "preflight") {
1911
+ lines.push("", "// Return a delta of the gate-decision keys you want to change; returning", "// context.decision unchanged is a safe no-op (e.g. { run_extension_migrations: false }).", "export const preflightOverride = definePreflightOverride((context) => context.decision);");
1912
+ }
1913
+ if (capability === "services") {
1914
+ lines.push("", "export const outputService = defineServiceOverride((context) => {", ` if (context.command !== ${JSON.stringify(commandName)}) return context.payload;`, ` return { rendered_by: ${JSON.stringify(extensionName)}, payload: context.payload };`, "});");
1915
+ }
1916
+ return lines;
1917
+ }
1918
+ function buildDefineBuilderActivate(commandName, capability, names) {
1919
+ const lines = [];
1920
+ if (capability === "renderers") {
1921
+ lines.push(' api.registerRenderer("toon", toonRenderer);');
1922
+ }
1923
+ if (capability === "parser") {
1924
+ lines.push(` api.registerParser(${JSON.stringify(commandName)}, pingParser);`);
1925
+ }
1926
+ if (capability === "preflight") {
1927
+ lines.push(" api.registerPreflight(preflightOverride);");
1928
+ }
1929
+ if (capability === "services") {
1930
+ lines.push(' api.registerService("output_format", outputService);');
1931
+ }
1932
+ if (capability === "hooks") {
1933
+ lines.push(" api.hooks.afterCommand(afterCommandHook);");
1934
+ }
1935
+ if (capability === "search") {
1936
+ lines.push(" api.registerSearchProvider(searchProvider);", " api.registerVectorStoreAdapter(vectorStoreAdapter);");
1937
+ }
1938
+ if (capability === "schema") {
1939
+ lines.push(" api.registerItemFields([noteField]);", " api.registerItemTypes([itemType]);", " api.registerMigration(initMigration);");
1940
+ }
1941
+ if (capability === "profile") {
1942
+ lines.push(" api.registerProfile(starterProfile);");
1943
+ }
1944
+ if (capability === "importers") {
1945
+ lines.push(` api.registerImporter(${JSON.stringify(names.adapterName)}, importer, {`, ` action: ${JSON.stringify(`${names.adapterName} import`)},`, ' description: "Import starter records into pm context.",', " flags: [", " {", ' long: "--source",', ' value_name: "name",', ' value_type: "string",', ' description: "Source name or path to import from.",', " },", " ],", " });", ` api.registerExporter(${JSON.stringify(names.adapterName)}, exporter, {`, ` action: ${JSON.stringify(`${names.adapterName} export`)},`, ' description: "Export pm context into starter records.",', " flags: [", " {", ' long: "--destination",', ' value_name: "name",', ' value_type: "string",', ' description: "Destination name or path to export to.",', " },", " ],", " });");
1946
+ }
1947
+ return lines;
1948
+ }
1868
1949
  function buildStarterExtensionScaffoldFiles(extensionName, commandName, vocabulary, capability = "commands", declarative = false) {
1869
1950
  const packageName = `pm-${extensionName}`;
1870
1951
  const capabilities = SCAFFOLD_MANIFEST_CAPABILITIES[capability];
@@ -1964,103 +2045,25 @@ function buildStarterExtensionScaffoldFiles(extensionName, commandName, vocabula
1964
2045
  "*.tsbuildinfo",
1965
2046
  ""
1966
2047
  ].join("\n");
1967
- const searchProviderName = `${extensionName}-search`;
1968
- const vectorAdapterName = `${extensionName}-vector`;
1969
- const adapterName = `${extensionName.replace(/-/g, " ")} items`;
1970
- const itemTypeName = extensionName;
1971
- const itemTypeFolder = `${extensionName}s`;
1972
- const itemTypeAlias = extensionName.replace(/-/g, "");
1973
- const itemTypeAliases = itemTypeAlias === itemTypeName ? [] : [itemTypeAlias];
1974
- const fieldName = `${extensionName.replace(/-/g, "_")}_note`;
1975
- const migrationId = `${extensionName}-0001-init`;
1976
- const defineBuilderImports = [
1977
- "defineCommand",
1978
- ...capability === "hooks" ? ["defineAfterCommandHook"] : [],
1979
- ...capability === "search" ? ["defineSearchProvider", "defineVectorStoreAdapter"] : [],
1980
- ...capability === "importers" ? ["defineImporter", "defineExporter"] : [],
1981
- ...capability === "schema" ? ["defineItemType", "defineItemField", "defineMigration"] : [],
1982
- ...capability === "profile" ? ["defineProjectProfile"] : [],
1983
- ...capability === "renderers" ? ["defineRendererOverride"] : [],
1984
- ...capability === "parser" ? ["defineParserOverride"] : [],
1985
- ...capability === "preflight" ? ["definePreflightOverride"] : [],
1986
- ...capability === "services" ? ["defineServiceOverride"] : []
1987
- ].join(", ");
2048
+ const names = buildScaffoldSnippetNames(extensionName);
2049
+ const defineBuilderImports = buildDefineBuilderImports(capability);
1988
2050
  const defineBuilderSnippet = [
1989
2051
  "```ts",
1990
2052
  `import { ${defineBuilderImports} } from "@unbrained/pm-cli/sdk";`,
1991
2053
  'import type { ExtensionApi } from "@unbrained/pm-cli/sdk";',
1992
2054
  "",
1993
- "export const pingCommand = defineCommand({",
1994
- ` name: ${JSON.stringify(commandName)},`,
1995
- ' description: "Starter scaffold command. Replace with your own behavior.",',
1996
- // The parser starter's command declares the flags its override normalizes so
1997
- // the demo is runnable through `pm <command> --shout`, and surfaces the
1998
- // canonical `upper` flag in the result.
1999
- ...capability === "parser" ? [
2000
- " flags: [",
2001
- ' { long: "--shout", value_type: "boolean", description: "Deprecated alias for --upper." },',
2002
- ' { long: "--upper", value_type: "boolean", description: "Canonical flag the parser produces." },',
2003
- " ],",
2004
- " run: (context) => ({ ok: true, command: context.command, upper: context.options.upper === true }),"
2005
- ] : [" run: (context) => ({ ok: true, command: context.command }),"],
2006
- "});"
2055
+ ...buildDefineBuilderExports(extensionName, commandName, capability, names),
2056
+ "",
2057
+ "export function activate(api: ExtensionApi): void {",
2058
+ " api.registerCommand(pingCommand);",
2059
+ ...buildDefineBuilderActivate(commandName, capability, names),
2060
+ "}",
2061
+ "",
2062
+ "export function deactivate(): void {}",
2063
+ "",
2064
+ "export default { activate, deactivate };",
2065
+ "```"
2007
2066
  ];
2008
- if (capability === "hooks") {
2009
- defineBuilderSnippet.push("", "export const afterCommandHook = defineAfterCommandHook((context) => {", " if (!context.ok) return;", " // React to context.affected here as your package grows.", "});");
2010
- }
2011
- if (capability === "search") {
2012
- defineBuilderSnippet.push("", "export const searchProvider = defineSearchProvider({", ` name: ${JSON.stringify(searchProviderName)},`, " query: async (context) => ({", " hits: context.documents", ' .filter((document) => String(document.metadata.title ?? "").toLowerCase().includes(context.query.toLowerCase()))', ' .map((document) => ({ id: document.metadata.id, score: 1, matched_fields: ["title"] })),', " }),", " embed: async (context) => [context.input.length],", "});", "", "export const vectorStoreAdapter = defineVectorStoreAdapter({", ` name: ${JSON.stringify(vectorAdapterName)},`, ' query: async (context) => [{ id: "starter-vector-hit", score: context.limit }],', " upsert: async (context) => ({ upserted: context.points.length }),", " delete: async (context) => ({ deleted: context.ids.length }),", "});");
2013
- }
2014
- if (capability === "importers") {
2015
- defineBuilderSnippet.push("", "export const importer = defineImporter(async (context) => ({", " imported: 1,", ' source: context.options.source ?? "starter",', " args: context.args,", "}));", "", "export const exporter = defineExporter(async (context) => ({", " exported: true,", ' destination: context.options.destination ?? "stdout",', " args: context.args,", "}));");
2016
- }
2017
- if (capability === "schema") {
2018
- defineBuilderSnippet.push("", `export const noteField = defineItemField({ name: ${JSON.stringify(fieldName)}, type: "string", optional: true });`, "", "export const itemType = defineItemType({", ` name: ${JSON.stringify(itemTypeName)},`, ` folder: ${JSON.stringify(itemTypeFolder)},`, ` aliases: ${JSON.stringify(itemTypeAliases)},`, " required_create_fields: [],", "});", "", "export const initMigration = defineMigration({", ` id: ${JSON.stringify(migrationId)},`, ` description: ${JSON.stringify(`Initialize ${extensionName} schema state.`)},`, " mandatory: false,", " run: async (context) => ({ migrated: true, id: context.id }),", "});");
2019
- }
2020
- if (capability === "profile") {
2021
- defineBuilderSnippet.push("", "export const starterProfile = defineProjectProfile({", ` name: ${JSON.stringify(extensionName)},`, ` title: ${JSON.stringify(`${extensionName} archetype`)},`, ' summary: "Starter project profile. Replace these dimensions with your own archetype.",', " types: [", ` { name: ${JSON.stringify(itemTypeName)}, folder: ${JSON.stringify(itemTypeFolder)} },`, " ],", " // ...plus statuses, fields, workflows, config, templates, and packages.", "});");
2022
- }
2023
- if (capability === "renderers") {
2024
- defineBuilderSnippet.push("", "export const toonRenderer = defineRendererOverride((context) => {", ` if (context.command !== ${JSON.stringify(commandName)}) return null;`, ` return ${JSON.stringify(`${extensionName}: `)} + JSON.stringify(context.result);`, "});");
2025
- }
2026
- if (capability === "parser") {
2027
- defineBuilderSnippet.push("", "export const pingParser = defineParserOverride((context) => {", " const options = { ...context.options };", " if (options.shout === true) options.upper = true;", " delete options.shout;", " return { options };", "});");
2028
- }
2029
- if (capability === "preflight") {
2030
- defineBuilderSnippet.push("", "// Return a delta of the gate-decision keys you want to change; returning", "// context.decision unchanged is a safe no-op (e.g. { run_extension_migrations: false }).", "export const preflightOverride = definePreflightOverride((context) => context.decision);");
2031
- }
2032
- if (capability === "services") {
2033
- defineBuilderSnippet.push("", "export const outputService = defineServiceOverride((context) => {", ` if (context.command !== ${JSON.stringify(commandName)}) return context.payload;`, ` return { rendered_by: ${JSON.stringify(extensionName)}, payload: context.payload };`, "});");
2034
- }
2035
- defineBuilderSnippet.push("", "export function activate(api: ExtensionApi): void {", " api.registerCommand(pingCommand);");
2036
- if (capability === "renderers") {
2037
- defineBuilderSnippet.push(' api.registerRenderer("toon", toonRenderer);');
2038
- }
2039
- if (capability === "parser") {
2040
- defineBuilderSnippet.push(` api.registerParser(${JSON.stringify(commandName)}, pingParser);`);
2041
- }
2042
- if (capability === "preflight") {
2043
- defineBuilderSnippet.push(" api.registerPreflight(preflightOverride);");
2044
- }
2045
- if (capability === "services") {
2046
- defineBuilderSnippet.push(' api.registerService("output_format", outputService);');
2047
- }
2048
- if (capability === "hooks") {
2049
- defineBuilderSnippet.push(" api.hooks.afterCommand(afterCommandHook);");
2050
- }
2051
- if (capability === "search") {
2052
- defineBuilderSnippet.push(" api.registerSearchProvider(searchProvider);", " api.registerVectorStoreAdapter(vectorStoreAdapter);");
2053
- }
2054
- if (capability === "schema") {
2055
- defineBuilderSnippet.push(" api.registerItemFields([noteField]);", " api.registerItemTypes([itemType]);", " api.registerMigration(initMigration);");
2056
- }
2057
- if (capability === "profile") {
2058
- defineBuilderSnippet.push(" api.registerProfile(starterProfile);");
2059
- }
2060
- if (capability === "importers") {
2061
- defineBuilderSnippet.push(` api.registerImporter(${JSON.stringify(adapterName)}, importer, {`, ` action: ${JSON.stringify(`${adapterName} import`)},`, ' description: "Import starter records into pm context.",', " flags: [", " {", ' long: "--source",', ' value_name: "name",', ' value_type: "string",', ' description: "Source name or path to import from.",', " },", " ],", " });", ` api.registerExporter(${JSON.stringify(adapterName)}, exporter, {`, ` action: ${JSON.stringify(`${adapterName} export`)},`, ' description: "Export pm context into starter records.",', " flags: [", " {", ' long: "--destination",', ' value_name: "name",', ' value_type: "string",', ' description: "Destination name or path to export to.",', " },", " ],", " });");
2062
- }
2063
- defineBuilderSnippet.push("}", "", "export function deactivate(): void {}", "", "export default { activate, deactivate };", "```");
2064
2067
  const packageReadme = [
2065
2068
  `# ${packageName}`,
2066
2069
  "",
@@ -2193,7 +2196,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
2193
2196
  const normalizedTarget = target.trim();
2194
2197
  const targetPath = path.resolve(process.cwd(), normalizedTarget);
2195
2198
  const extensionName = normalizeManagedDirectoryName(path.basename(targetPath));
2196
- const commandName = `${extensionName.replace(/-/g, " ")} ping`;
2199
+ const commandName = buildScaffoldCommandName(extensionName);
2197
2200
  const scaffoldFiles = buildStarterExtensionScaffoldFiles(extensionName, commandName, vocabulary, resolvedCapability, declarative);
2198
2201
  let createdDirectory = false;
2199
2202
  if (await pathExists(targetPath)) {
@@ -2334,6 +2337,17 @@ function renderSection(heading, level, entries) {
2334
2337
  lines.push(...entries.map((entry) => `- ${code(entry)}`), "");
2335
2338
  return lines;
2336
2339
  }
2340
+ function renderPreflightSection(count, level, includeEmpty) {
2341
+ if (count === 0 && !includeEmpty) {
2342
+ return [];
2343
+ }
2344
+ return [
2345
+ `${headingPrefix(level)} Preflight overrides`,
2346
+ "",
2347
+ count > 0 ? `- ${count} registered (this surface carries no per-entry identifier)` : "_None._",
2348
+ ""
2349
+ ];
2350
+ }
2337
2351
  function renderExtensionSurfaceMarkdown(summary, options = {}) {
2338
2352
  const titleLevel = options.headingLevel ?? 2;
2339
2353
  if (!Number.isInteger(titleLevel) || titleLevel < MIN_HEADING_LEVEL || titleLevel > MAX_HEADING_LEVEL) {
@@ -2346,21 +2360,16 @@ function renderExtensionSurfaceMarkdown(summary, options = {}) {
2346
2360
  if (includeEmpty || summary.capabilities.length > 0) {
2347
2361
  lines.push(renderCapabilitiesLine(summary.capabilities), "");
2348
2362
  }
2349
- let renderedSurface = false;
2350
2363
  for (const [field, heading] of SURFACE_SECTIONS) {
2351
2364
  const entries = summary[field];
2352
2365
  if (entries.length === 0 && !includeEmpty) {
2353
2366
  continue;
2354
2367
  }
2355
- renderedSurface = renderedSurface || entries.length > 0;
2356
2368
  lines.push(...renderSection(heading, sectionLevel, entries));
2357
2369
  }
2358
- if (summary.preflight_overrides > 0 || includeEmpty) {
2359
- renderedSurface = renderedSurface || summary.preflight_overrides > 0;
2360
- lines.push(`${headingPrefix(sectionLevel)} Preflight overrides`, "");
2361
- lines.push(summary.preflight_overrides > 0 ? `- ${summary.preflight_overrides} registered (this surface carries no per-entry identifier)` : "_None._", "");
2362
- }
2363
- if (!renderedSurface && !includeEmpty) {
2370
+ lines.push(...renderPreflightSection(summary.preflight_overrides, sectionLevel, includeEmpty));
2371
+ const hasAnySurface = summary.preflight_overrides > 0 || SURFACE_SECTIONS.some(([field]) => summary[field].length > 0);
2372
+ if (!hasAnySurface && !includeEmpty) {
2364
2373
  lines.push("_This extension registers no surfaces._", "");
2365
2374
  }
2366
2375
  return `${lines.join("\n").trimEnd()}
@@ -2430,6 +2439,6 @@ export {
2430
2439
  buildExtensionDescribeResult,
2431
2440
  renderExtensionDescribeMarkdown
2432
2441
  };
2433
- //# sourceMappingURL=chunk-T7ZMQI4J.js.map
2442
+ //# sourceMappingURL=chunk-6AQZPVHQ.js.map
2434
2443
 
2435
- //# debugId=cabc95dd-5428-533e-b3e2-d45eb7ef7409
2444
+ //# debugId=da6d1484-9f3c-56e4-a493-4b4296d741c1