@metabase/cli 0.2.2 → 0.3.0

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 (328) hide show
  1. package/README.md +4 -1902
  2. package/dist/add-collection-B3Ty8SzB.mjs +36 -0
  3. package/dist/alert-DT-ee7yf.mjs +23 -0
  4. package/dist/{alerts-CRGMX4eB.mjs → alerts-Bf2RH_p_.mjs} +11 -17
  5. package/dist/{append-lL0IaI6U.mjs → append-DFzQRPMd.mjs} +7 -12
  6. package/dist/{archive-DihHU042.mjs → archive-4tmm946K.mjs} +8 -17
  7. package/dist/{archive-C9mJGN6J.mjs → archive-B6eXiyER.mjs} +7 -13
  8. package/dist/{archive-D3DErepm.mjs → archive-BxNPHxOY.mjs} +7 -13
  9. package/dist/{archive-DyPsHSFb.mjs → archive-ByvA49Kz.mjs} +8 -13
  10. package/dist/{archive-ExcEma7q.mjs → archive-C7w49Grr.mjs} +7 -16
  11. package/dist/{archive-Baz4OVDd.mjs → archive-Cd29QC0c.mjs} +7 -13
  12. package/dist/{archive-CUGRnyRV.mjs → archive-ChORH5JH.mjs} +7 -13
  13. package/dist/{archive-hKPQXgXa.mjs → archive-CwAdlv63.mjs} +7 -12
  14. package/dist/{archive-D8YrImIU.mjs → archive-Dr9Xnx_Z.mjs} +7 -15
  15. package/dist/{archive-BUFc1me2.mjs → archive-gid9Y09v.mjs} +8 -17
  16. package/dist/{archive-3rLXY0nS.mjs → archive-lQqs13Uz.mjs} +7 -13
  17. package/dist/auth-Dltxua89.mjs +19 -0
  18. package/dist/{body-DXJ2v3GY.mjs → body-Cur4NJt9.mjs} +5 -8
  19. package/dist/{body-flags-Cbv-Ba6W.mjs → body-flags-AqKpN01Y.mjs} +1 -2
  20. package/dist/{branches-ByCzTuiv.mjs → branches-DchlyU0i.mjs} +7 -13
  21. package/dist/{cancel-DvehNbDD.mjs → cancel-BMQa5R1Z.mjs} +5 -12
  22. package/dist/{cancel-task-BM8ADd3Y.mjs → cancel-task-C5CU1pxU.mjs} +6 -10
  23. package/dist/card-CHI2bmds.mjs +24 -0
  24. package/dist/{card-BFRRyTGs.mjs → card-DZxRmver.mjs} +21 -48
  25. package/dist/card-zyUkr2nS.mjs +44 -0
  26. package/dist/cards-SccWvRQD.mjs +34 -0
  27. package/dist/cli.mjs +664 -85
  28. package/dist/client-BqhzKdLM.mjs +2194 -0
  29. package/dist/collection-CGoVLvcD.mjs +58 -0
  30. package/dist/collection-CY0AB99E.mjs +20 -0
  31. package/dist/{collection-BrrjbPLN.mjs → collection-CfulNRBG.mjs} +16 -61
  32. package/dist/{collection-namespace-8i_CvWsg.mjs → collection-namespace-GwydWBF3.mjs} +3 -5
  33. package/dist/{create-D6bXJlBS.mjs → create-BNQ_DytP.mjs} +8 -15
  34. package/dist/{create-CtIOvInN.mjs → create-BOLwWt8Q.mjs} +9 -17
  35. package/dist/{create--_4GZUNY.mjs → create-Beh-2uoN.mjs} +8 -16
  36. package/dist/{create-BnNRvoyz.mjs → create-C79vErX0.mjs} +9 -20
  37. package/dist/{create-D57tRDrg.mjs → create-CAQV2g6V.mjs} +9 -17
  38. package/dist/{create-CHK9cJcK.mjs → create-CAWytBE5.mjs} +9 -17
  39. package/dist/{create-BynNiG1N.mjs → create-CCh_LyW9.mjs} +8 -15
  40. package/dist/{create-Cy57naL0.mjs → create-CD008jdE.mjs} +13 -28
  41. package/dist/{create-DOpa2TmH.mjs → create-CHQx7jq4.mjs} +9 -17
  42. package/dist/{create-COI80Veo.mjs → create-DF4QtgDL.mjs} +8 -16
  43. package/dist/{create-yK1-fuX5.mjs → create-DJmXXQoq.mjs} +10 -18
  44. package/dist/{create-1O1UiTVt.mjs → create-DV-Ln5Mo.mjs} +8 -15
  45. package/dist/create-branch-CYo6jZth.mjs +35 -0
  46. package/dist/{create-t7z8Eb4T.mjs → create-i14Wv3Tj.mjs} +8 -15
  47. package/dist/{create-qzjhJFP8.mjs → create-tQbnuz-I.mjs} +8 -15
  48. package/dist/{create-DAj8pyfQ.mjs → create-zeveFdnd.mjs} +6 -11
  49. package/dist/{cron-93wjhtrP.mjs → cron-LKRffEC-.mjs} +2 -4
  50. package/dist/{csv-yoFA1hhv.mjs → csv-B2Jgb1GM.mjs} +7 -19
  51. package/dist/{current-task-D8Q1uFmk.mjs → current-task-MpBFGttd.mjs} +7 -12
  52. package/dist/{dashboard-BSCXTX4H.mjs → dashboard-BCpSq_G-.mjs} +9 -60
  53. package/dist/dashboard-BHJBoaG7.mjs +33 -0
  54. package/dist/dashboard-CsIFFpzK.mjs +58 -0
  55. package/dist/database-B19qlLKZ.mjs +38 -0
  56. package/dist/database-C8G6ZKG0.mjs +26 -0
  57. package/dist/db-DsfojyeH.mjs +24 -0
  58. package/dist/{delete-B8dui6O6.mjs → delete-B8e01xAG.mjs} +6 -11
  59. package/dist/{delete-CA7IjA5J.mjs → delete-BApOjQvl.mjs} +6 -11
  60. package/dist/{delete-Dcu3iDkg.mjs → delete-Ck0q4Dzp.mjs} +6 -11
  61. package/dist/{delete-BwPgIWV8.mjs → delete-DFmX7jTp.mjs} +6 -11
  62. package/dist/{delete-CawUDFud.mjs → delete-Ob06PPie.mjs} +6 -11
  63. package/dist/{delete-runtime-00-R9iJm.mjs → delete-runtime-D74s6vhu.mjs} +6 -13
  64. package/dist/{delete-table-DS0b3i0k.mjs → delete-table-DuyhGrvA.mjs} +6 -11
  65. package/dist/{dependencies-BQVZylqV.mjs → dependencies-Bj3QrGIm.mjs} +10 -13
  66. package/dist/dirty-DNYoM6Bp.mjs +31 -0
  67. package/dist/document-BbskZPTT.mjs +19 -0
  68. package/dist/{document-C7IR6T8c.mjs → document-Cd2mmqCp.mjs} +5 -33
  69. package/dist/document-D6OybtP2.mjs +29 -0
  70. package/dist/{eid-DcCAs-RP.mjs → eid-WTZmDdsr.mjs} +12 -54
  71. package/dist/eid-translation-zEHtr5Oc.mjs +35 -0
  72. package/dist/{embedding-B0x9CPkU.mjs → embedding-i-KqpefC.mjs} +2 -4
  73. package/dist/events-Bn7jh5lP.mjs +39 -0
  74. package/dist/export-BjfoZRDJ.mjs +66 -0
  75. package/dist/field-BPsNa-TO.mjs +80 -0
  76. package/dist/{field-RYBTW2KS.mjs → field-Cr2DPUG9.mjs} +2 -81
  77. package/dist/field-Zau6Hc6X.mjs +18 -0
  78. package/dist/fields-CBBa-Prp.mjs +34 -0
  79. package/dist/{get-vGqyjGSW.mjs → get-00lyLv6R.mjs} +7 -11
  80. package/dist/{get-Cvkt6GcQ.mjs → get-B7sMgsFs.mjs} +7 -11
  81. package/dist/get-B_xdF1kq.mjs +31 -0
  82. package/dist/{get-DhS4y0K9.mjs → get-ByBOq30r.mjs} +7 -11
  83. package/dist/get-Bz99dAxK.mjs +35 -0
  84. package/dist/get-C2-Q3iQ5.mjs +31 -0
  85. package/dist/get-CDJFVvhj.mjs +35 -0
  86. package/dist/get-CDMGbgrh.mjs +31 -0
  87. package/dist/get-CnbUCzDM.mjs +31 -0
  88. package/dist/{get-CJYv3CfV.mjs → get-CvI--9S_.mjs} +16 -12
  89. package/dist/get-DRvsATp-.mjs +31 -0
  90. package/dist/{get-Db8YNxId.mjs → get-DY03Azx9.mjs} +6 -11
  91. package/dist/{get-4rA8pbRu.mjs → get-DYO1kywc.mjs} +7 -13
  92. package/dist/{get-DZRB5S37.mjs → get-D_h-G9bn.mjs} +7 -11
  93. package/dist/get-DdsoHaKH.mjs +31 -0
  94. package/dist/{get-DQ0pb4tT.mjs → get-DkWO0EI0.mjs} +7 -11
  95. package/dist/{get-DXiL39gi.mjs → get-Dmj9Ygz1.mjs} +7 -17
  96. package/dist/{get-CvXOGyFj.mjs → get-DmpB6J9g.mjs} +7 -12
  97. package/dist/{get-B2vvnMpl.mjs → get-Dn9ZiSZr.mjs} +8 -16
  98. package/dist/{get-run-BF5ZBE8o.mjs → get-run-Cnux9ln0.mjs} +7 -11
  99. package/dist/git-sync-BDnxPrqU.mjs +104 -0
  100. package/dist/git-sync-DxD_ng48.mjs +136 -0
  101. package/dist/git-sync-MQQYRYLg.mjs +28 -0
  102. package/dist/{group-DfTvzGz-.mjs → group-DBM87IgC.mjs} +2 -4
  103. package/dist/has-remote-changes-C684Redh.mjs +35 -0
  104. package/dist/import-Rmmttboo.mjs +56 -0
  105. package/dist/{input-BpXlmJ5J.mjs → input-DH9i67x_.mjs} +6 -11
  106. package/dist/{is-dirty-4kIyD4oP.mjs → is-dirty-DYeJYhBz.mjs} +4 -8
  107. package/dist/{items-BXH0f1r6.mjs → items-CQlPXBXE.mjs} +13 -29
  108. package/dist/key-BEhqIzIQ.mjs +10 -0
  109. package/dist/{library-BFZYsBcz.mjs → library-Bsm5KsFF.mjs} +6 -9
  110. package/dist/library-ClLgrAXy.mjs +19 -0
  111. package/dist/library-DfYAT2Ep.mjs +21 -0
  112. package/dist/{list-By1yYVGq.mjs → list-B4hJuMhA.mjs} +11 -27
  113. package/dist/{list-oRyXsJXs.mjs → list-B8nAGwP4.mjs} +10 -12
  114. package/dist/list-BOET6zhP.mjs +36 -0
  115. package/dist/list-BP3MPq-M.mjs +36 -0
  116. package/dist/list-BpFp9Wre.mjs +28 -0
  117. package/dist/list-BtkWNtvY.mjs +34 -0
  118. package/dist/list-BtmsNOEn.mjs +28 -0
  119. package/dist/list-BzVTHOoH.mjs +28 -0
  120. package/dist/list-C5Zs8nrb.mjs +28 -0
  121. package/dist/list-CKK-s3Ty.mjs +28 -0
  122. package/dist/{list-SiSfX4wl.mjs → list-CMpoc2TN.mjs} +10 -13
  123. package/dist/list-CNUiF8Z7.mjs +28 -0
  124. package/dist/list-CQDprvW0.mjs +39 -0
  125. package/dist/{list-w61Uovt2.mjs → list-CQwOgIlj.mjs} +10 -24
  126. package/dist/list-DE9FM957.mjs +28 -0
  127. package/dist/{list-CG3ec9BZ.mjs → list-DF2rvoO1.mjs} +22 -14
  128. package/dist/list-DMKDsBRd.mjs +38 -0
  129. package/dist/{list-Bar8uQRC.mjs → list-UhpKG6_m.mjs} +15 -15
  130. package/dist/{login-zUCMDLC8.mjs → login-CGHeSjlP.mjs} +47 -52
  131. package/dist/{logout-BFh7QHx6.mjs → logout-DAxOlbv4.mjs} +7 -12
  132. package/dist/measure-4P0bOlZ3.mjs +29 -0
  133. package/dist/measure-BsYv0p26.mjs +22 -0
  134. package/dist/{measure-DH3ow2ko.mjs → measure-CtfjqJFP.mjs} +3 -30
  135. package/dist/network-error-CEb9ymDW.mjs +423 -0
  136. package/dist/{notification-BR5wehqg.mjs → notification-DaA4bBHW.mjs} +3 -66
  137. package/dist/notification-Fcq1fIPw.mjs +67 -0
  138. package/dist/{parameter-hCQ80jnc.mjs → parameter-DUKR8NXo.mjs} +2 -11
  139. package/dist/{parameter-values-BYDFzxNY.mjs → parameter-values-CJTdqd8c.mjs} +17 -11
  140. package/dist/{parse-enum-D1zTYr_i.mjs → parse-enum-D0Jfm_Bz.mjs} +2 -4
  141. package/dist/{parse-id-waEVK-uR.mjs → parse-id-C_jmKFaa.mjs} +2 -4
  142. package/dist/{parse-ref-C3DUXwci.mjs → parse-ref-ibKVB0J4.mjs} +3 -5
  143. package/dist/{path-Bvs9IR4k.mjs → path-B5gHvrYL.mjs} +8 -9
  144. package/dist/{poll-rqLkEJVP.mjs → poll-75SvT7Zv.mjs} +11 -15
  145. package/dist/predicates-Bkm2IoeX.mjs +170 -0
  146. package/dist/preflight-YpPQo-sa.mjs +29 -0
  147. package/dist/{process-BxAUv3Wx.mjs → process-DBOOrmET.mjs} +4 -6
  148. package/dist/{publish-C1y_vGGw.mjs → publish-DijrxaCW.mjs} +29 -24
  149. package/dist/{pulse-C8q469KD.mjs → pulse-BmsDenXm.mjs} +3 -56
  150. package/dist/pulse-DhG6I9mI.mjs +57 -0
  151. package/dist/{query-B9LlGOZI.mjs → query-BbqECzmF.mjs} +20 -44
  152. package/dist/{query-DpVWKW-y.mjs → query-Dc__-KJH.mjs} +13 -24
  153. package/dist/{query-result-Bvh89K4f.mjs → query-result-DBDwk8TS.mjs} +4 -8
  154. package/dist/remove-collection-BOnxYvhj.mjs +36 -0
  155. package/dist/{render-rgZBe3rO.mjs → render-CI93iP0I.mjs} +9 -11
  156. package/dist/{replace-sHtPBNnA.mjs → replace-Cq4CxVa-.mjs} +7 -12
  157. package/dist/rescan-values-Dr_j416g.mjs +31 -0
  158. package/dist/revision-message-flag-8TCHYJV6.mjs +8 -0
  159. package/dist/run-C3DkS6NP.mjs +82 -0
  160. package/dist/{run-Ce_gPVcg.mjs → run-DdGJ544X.mjs} +8 -18
  161. package/dist/runs-CUNWiidL.mjs +38 -0
  162. package/dist/runtime-DiKyBxOw.mjs +1007 -0
  163. package/dist/{schema-tables-D91DWM5l.mjs → schema-tables-CV386fnC.mjs} +10 -14
  164. package/dist/{schemas-OVYRgvz9.mjs → schemas-DM-UqZBQ.mjs} +8 -12
  165. package/dist/search-DFBwUc6d.mjs +44 -0
  166. package/dist/{search-msFNbxU6.mjs → search-DmGScXs8.mjs} +14 -73
  167. package/dist/segment-BzUGM2Fr.mjs +22 -0
  168. package/dist/segment-C_gl5ag6.mjs +29 -0
  169. package/dist/{segment-cwIOOF0v.mjs → segment-OsrbUDzw.mjs} +3 -30
  170. package/dist/{selectors-Bsyhe1zP.mjs → selectors-DGDn0Hto.mjs} +4 -6
  171. package/dist/{send-BeFpVrwD.mjs → send-CVxxEpDB.mjs} +5 -16
  172. package/dist/{set-jRnCLhvc.mjs → set-DFolTjbd.mjs} +10 -20
  173. package/dist/{set-active-CFWtIWzX.mjs → set-active-BD8L1lPX.mjs} +7 -18
  174. package/dist/setting-CwRYgHYN.mjs +35 -0
  175. package/dist/setting-DTiLCW8g.mjs +22 -0
  176. package/dist/setting-DyhaeICs.mjs +17 -0
  177. package/dist/setup-BbDQN8fe.mjs +44 -0
  178. package/dist/setup-CO7QV-ao.mjs +21 -0
  179. package/dist/signal-CMd0EFUa.mjs +16 -0
  180. package/dist/{skills-CxqkjkdQ.mjs → skills--vK6J-e4.mjs} +4 -6
  181. package/dist/{skills-DlFbbaoS.mjs → skills-DTCrMcix.mjs} +13 -19
  182. package/dist/{snippet-1xYckIwc.mjs → snippet-CyKAgIZl.mjs} +3 -32
  183. package/dist/snippet-DRwKb2x7.mjs +19 -0
  184. package/dist/snippet-oJLaYW9V.mjs +29 -0
  185. package/dist/stash-D0S4JmAz.mjs +61 -0
  186. package/dist/{status-DCIOvsc6.mjs → status-BhswxJL1.mjs} +23 -23
  187. package/dist/{status-BMEdl-_G.mjs → status-hL1am-HV.mjs} +6 -8
  188. package/dist/{subscription-BOOBR5Ir.mjs → subscription-_d5fB45F.mjs} +7 -10
  189. package/dist/{subscriptions-C_1AQpZF.mjs → subscriptions-s4TF6Ax3.mjs} +11 -16
  190. package/dist/{summary-D1fKnwE3.mjs → summary-BytbDz6e.mjs} +1 -2
  191. package/dist/summary-CsPvcUwW.mjs +31 -0
  192. package/dist/sync-schema-DaZ_MV-u.mjs +35 -0
  193. package/dist/sync-task-BACcrs0i.mjs +37 -0
  194. package/dist/{table-fDvuvqoU.mjs → table-CeeTJgQb.mjs} +4 -38
  195. package/dist/table-CsIJNPFf.mjs +37 -0
  196. package/dist/table-DYoC1kPn.mjs +18 -0
  197. package/dist/{timeline-BNwnJ3g9.mjs → timeline-CCSU2qOS.mjs} +2 -66
  198. package/dist/timeline-event-CNQdCTDg.mjs +19 -0
  199. package/dist/timeline-uDCmwGFT.mjs +66 -0
  200. package/dist/timeline-xlDbEKWg.mjs +21 -0
  201. package/dist/transform-Bs0EWijQ.mjs +28 -0
  202. package/dist/{transform-BkSkCvpx.mjs → transform-D3QX0jxA.mjs} +28 -74
  203. package/dist/transform-DoTyyXAu.mjs +74 -0
  204. package/dist/transform-job-50GZHhKH.mjs +37 -0
  205. package/dist/transform-job-BcLChRup.mjs +22 -0
  206. package/dist/{transform-job-sJmW_En3.mjs → transform-job-DRrK28IH.mjs} +11 -38
  207. package/dist/{transform-tag-qTjNVfTW.mjs → transform-tag-CcElGp3C.mjs} +2 -21
  208. package/dist/transform-tag-Dmb4u3-Q.mjs +21 -0
  209. package/dist/transform-tag-_tgwlsdB.mjs +18 -0
  210. package/dist/{transforms-Cosz-Vq3.mjs → transforms-oU4zizbO.mjs} +10 -13
  211. package/dist/{tree-BkXtw0c4.mjs → tree-CH-f3bjP.mjs} +6 -10
  212. package/dist/{unpublish-BlGj7omM.mjs → unpublish-BUl9RU5C.mjs} +7 -18
  213. package/dist/{update-DpIzJ8Ts.mjs → update-BCS5FxKr.mjs} +11 -19
  214. package/dist/{update-hoCyoR-u.mjs → update-BZPllQoR.mjs} +9 -16
  215. package/dist/{update-CXlhrcy8.mjs → update-BiFDBcEH.mjs} +9 -16
  216. package/dist/{update-Cbsgvopz.mjs → update-BzMDeZiU.mjs} +9 -15
  217. package/dist/{update-CTWsiwme.mjs → update-C4YJQFDS.mjs} +9 -16
  218. package/dist/{update-CzrbMLZq.mjs → update-CHNSUHK4.mjs} +9 -16
  219. package/dist/{update-CsYFWkVd.mjs → update-CO4m4wH3.mjs} +10 -21
  220. package/dist/{update-DDVuyquf.mjs → update-CVPAwJaH.mjs} +10 -18
  221. package/dist/{update-C9K1QnOo.mjs → update-CmDTljK-.mjs} +9 -17
  222. package/dist/{update-DrvAdi-O.mjs → update-CvOO8TED.mjs} +9 -17
  223. package/dist/{update-Tw0kARao.mjs → update-D-NE60AV.mjs} +9 -16
  224. package/dist/{update-ZJ5T-SBW.mjs → update-Nfi44RrE.mjs} +10 -18
  225. package/dist/{update-C-ChEcI9.mjs → update-bD_Jh5-s.mjs} +10 -16
  226. package/dist/{update-CuKHukZ6.mjs → update-cYkvbqK8.mjs} +9 -16
  227. package/dist/update-dashcard-C3TuYO_k.mjs +50 -0
  228. package/dist/{update-BHhEtxwC.mjs → update-tX9mKBN_.mjs} +10 -21
  229. package/dist/{upgrade-D0HiyTxw.mjs → upgrade-DXMV4AyP.mjs} +37 -44
  230. package/dist/upload-CH632qW6.mjs +46 -0
  231. package/dist/upload-DAtxBBms.mjs +13 -0
  232. package/dist/upload-Dey_8rLf.mjs +13 -0
  233. package/dist/{uuid-D7NcSTj8.mjs → uuid-BJkDWj9p.mjs} +5 -7
  234. package/dist/validate-BWchyW0V.mjs +1469 -0
  235. package/dist/{validate-query-Di0VKMF-.mjs → validate-query-DaGYSmpQ.mjs} +4 -5
  236. package/dist/{values-OBiEVCVH.mjs → values-Dxf1JEoA.mjs} +8 -13
  237. package/dist/verify-K96rItG5.mjs +89 -0
  238. package/dist/{wait-B9qNlcTe.mjs → wait-DoMDH226.mjs} +10 -18
  239. package/dist/{wait-flags-D0FEgH6k.mjs → wait-flags-DWEF9tX4.mjs} +14 -11
  240. package/dist/window-BkvrP0gB.mjs +64 -0
  241. package/package.json +5 -35
  242. package/skill-data/core/SKILL.md +25 -22
  243. package/skill-data/dashboard/SKILL.md +6 -2
  244. package/skill-data/document/SKILL.md +2 -2
  245. package/skill-data/transform/SKILL.md +1 -1
  246. package/.claude-plugin/marketplace.json +0 -19
  247. package/dist/add-collection-B-Pf12HY.mjs +0 -60
  248. package/dist/add-collection-B2PdVMRy.mjs +0 -9
  249. package/dist/alert-DGcECcDb.mjs +0 -26
  250. package/dist/auth-B8Yb4ZaN.mjs +0 -22
  251. package/dist/capabilities-1HTHeDa4.mjs +0 -684
  252. package/dist/card-BT7ce7uO.mjs +0 -27
  253. package/dist/cards-Bz6anDNX.mjs +0 -38
  254. package/dist/cli.d.mts +0 -1
  255. package/dist/collection-ahFSJT-e.mjs +0 -23
  256. package/dist/command-augment-D9pI9Vbh.mjs +0 -11
  257. package/dist/create-branch-BwqFHYcZ.mjs +0 -57
  258. package/dist/dashboard-C__PiWrv.mjs +0 -36
  259. package/dist/database-B-xwx5LA.mjs +0 -61
  260. package/dist/db-BiLWl1J9.mjs +0 -27
  261. package/dist/dirty-BqdcrfUz.mjs +0 -35
  262. package/dist/document-C9ykHYOG.mjs +0 -22
  263. package/dist/events-C9PqRUCO.mjs +0 -44
  264. package/dist/export-CdKR5nPT.mjs +0 -103
  265. package/dist/field-P7aJaet9.mjs +0 -21
  266. package/dist/fields-D2czTLKq.mjs +0 -37
  267. package/dist/get-75Vdyusm.mjs +0 -49
  268. package/dist/get-B6fSPCfp.mjs +0 -35
  269. package/dist/get-BbKC0fTx.mjs +0 -35
  270. package/dist/get-BfFKIfpX.mjs +0 -36
  271. package/dist/get-Bpw05IUm.mjs +0 -38
  272. package/dist/get-CaIYg15K.mjs +0 -41
  273. package/dist/get-DXydDRVU.mjs +0 -35
  274. package/dist/get-Dy5f54pV.mjs +0 -35
  275. package/dist/git-sync-BzievbUz.mjs +0 -31
  276. package/dist/has-remote-changes-CjDHphUH.mjs +0 -67
  277. package/dist/import-DzA5Ty9_.mjs +0 -94
  278. package/dist/is-dirty-Cv0bdKkX.mjs +0 -8
  279. package/dist/key-B9AAqwjq.mjs +0 -17
  280. package/dist/list-AyGEaws8.mjs +0 -8
  281. package/dist/list-BiAVv9jX.mjs +0 -31
  282. package/dist/list-Bm1PlZEV.mjs +0 -31
  283. package/dist/list-BtgjcC2w.mjs +0 -31
  284. package/dist/list-CLgkOcmY.mjs +0 -39
  285. package/dist/list-CSnpbFML.mjs +0 -31
  286. package/dist/list-Cn-VruXD.mjs +0 -8
  287. package/dist/list-D7mMcRG5.mjs +0 -49
  288. package/dist/list-DOhVPh95.mjs +0 -39
  289. package/dist/list-DSHteJOl.mjs +0 -32
  290. package/dist/list-Dl81pkVs.mjs +0 -53
  291. package/dist/list-DwMcwucR.mjs +0 -31
  292. package/dist/list-IxaPXKXu.mjs +0 -31
  293. package/dist/list-hKRQUcGB.mjs +0 -39
  294. package/dist/listing-1G8iFfZe.mjs +0 -10
  295. package/dist/measure-DNldT89z.mjs +0 -25
  296. package/dist/paginate-DuDXvUPr.mjs +0 -49
  297. package/dist/patch-BpjI9BOz.mjs +0 -20
  298. package/dist/patch-DrMVqf34.mjs +0 -36
  299. package/dist/poll-task-CiB1o1wG.mjs +0 -194
  300. package/dist/preflight-DJOBTWVq.mjs +0 -90
  301. package/dist/prompt-DmxSLNrO.mjs +0 -52
  302. package/dist/remove-collection-DYQibG6d.mjs +0 -42
  303. package/dist/requests-Pc0u7PQS.mjs +0 -96
  304. package/dist/rescan-values-CuPGOzKI.mjs +0 -40
  305. package/dist/resolve-BiL5scF0.mjs +0 -91
  306. package/dist/revision-message-flag-B4BxzDXJ.mjs +0 -11
  307. package/dist/run-D6jyZ0nv.mjs +0 -135
  308. package/dist/runs-DRxrpAkU.mjs +0 -53
  309. package/dist/runtime-CPIHg_Zg.mjs +0 -1699
  310. package/dist/segment-BIKVTq_n.mjs +0 -25
  311. package/dist/setting-CApPg0Xr.mjs +0 -20
  312. package/dist/setting-CDEoJYO0.mjs +0 -55
  313. package/dist/setup-CruHFQJz.mjs +0 -71
  314. package/dist/snippet-DdoeL-7N.mjs +0 -22
  315. package/dist/stash-CR-ESWiX.mjs +0 -108
  316. package/dist/summary-WUjzNITU.mjs +0 -40
  317. package/dist/sync-schema-Cq5LzHHc.mjs +0 -54
  318. package/dist/sync-scope-Dh1wBlrg.mjs +0 -55
  319. package/dist/table-BK56VDw8.mjs +0 -21
  320. package/dist/timeline-Dl5pm5tN.mjs +0 -24
  321. package/dist/timeline-event-5JAeGVSI.mjs +0 -22
  322. package/dist/transform-ATK6rJBl.mjs +0 -31
  323. package/dist/transform-job-BezBE6Y8.mjs +0 -25
  324. package/dist/transform-tag-GqbcG_6_.mjs +0 -21
  325. package/dist/update-dashcard-Dnfa8_aJ.mjs +0 -73
  326. package/dist/upload-WT6SywFa.mjs +0 -16
  327. package/dist/validate-BoY75_M3.mjs +0 -1496
  328. package/dist/verify-VEB7TBQ_.mjs +0 -79
@@ -1,14 +1,11 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import { parseId } from "./parse-id-waEVK-uR.mjs";
5
- import "./input-BpXlmJ5J.mjs";
6
- import { readBody } from "./body-DXJ2v3GY.mjs";
7
- import { bodyInputFlags } from "./body-flags-Cbv-Ba6W.mjs";
8
- import "./validate-BoY75_M3.mjs";
9
- import { MEASURE_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-Di0VKMF-.mjs";
10
- import { Measure, MeasureUpdateInput, measureView } from "./measure-DH3ow2ko.mjs";
11
-
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { t as readBody } from "./body-Cur4NJt9.mjs";
5
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
+ import { i as MeasureUpdateInput, t as Measure } from "./measure-CtfjqJFP.mjs";
7
+ import { a as preflightMbql5Query, n as MEASURE_DEFINITION_LABELS, o as skipValidateFlag } from "./validate-query-DaGYSmpQ.mjs";
8
+ import { t as measureView } from "./measure-4P0bOlZ3.mjs";
12
9
  //#region src/commands/measure/update.ts
13
10
  var update_default = defineMetabaseCommand({
14
11
  meta: {
@@ -48,14 +45,9 @@ var update_default = defineMetabaseCommand({
48
45
  file: args.file
49
46
  }, MeasureUpdateInput);
50
47
  preflightMbql5Query(body.definition, MEASURE_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
51
- const client = await getClient();
52
- const updated = await client.requestParsed(Measure, `/api/measure/${id}`, {
53
- method: "PUT",
54
- body
55
- });
48
+ const updated = await (await getClient()).measure.update(id, body);
56
49
  renderSummary(updated, measureView, `Updated measure ${updated.id} "${updated.name}".`, ctx);
57
50
  }
58
51
  });
59
-
60
52
  //#endregion
61
- export { update_default as default };
53
+ export { update_default as default };
@@ -1,15 +1,11 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import "./cron-93wjhtrP.mjs";
4
- import { Notification, NotificationUpdateInput, notificationView } from "./notification-BR5wehqg.mjs";
5
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
6
- import { parseId } from "./parse-id-waEVK-uR.mjs";
7
- import { patchAlert } from "./patch-DrMVqf34.mjs";
8
- import { describeAlert } from "./summary-D1fKnwE3.mjs";
9
- import "./input-BpXlmJ5J.mjs";
10
- import { readBody } from "./body-DXJ2v3GY.mjs";
11
- import { bodyInputFlags } from "./body-flags-Cbv-Ba6W.mjs";
12
-
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { c as NotificationUpdateInput, n as Notification } from "./notification-DaA4bBHW.mjs";
3
+ import { t as notificationView } from "./notification-Fcq1fIPw.mjs";
4
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
5
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
6
+ import { t as describeAlert } from "./summary-BytbDz6e.mjs";
7
+ import { t as readBody } from "./body-Cur4NJt9.mjs";
8
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
13
9
  //#region src/commands/alert/update.ts
14
10
  var update_default = defineMetabaseCommand({
15
11
  meta: {
@@ -47,11 +43,9 @@ var update_default = defineMetabaseCommand({
47
43
  flag: args.body,
48
44
  file: args.file
49
45
  }, NotificationUpdateInput);
50
- const client = await getClient();
51
- const updated = await patchAlert(client, id, body);
46
+ const updated = await (await getClient()).notification.update(id, body);
52
47
  renderSummary(updated, notificationView, describeAlert("Updated", updated), ctx);
53
48
  }
54
49
  });
55
-
56
50
  //#endregion
57
- export { update_default as default };
51
+ export { update_default as default };
@@ -1,12 +1,10 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import { parseId } from "./parse-id-waEVK-uR.mjs";
5
- import "./input-BpXlmJ5J.mjs";
6
- import { readBody } from "./body-DXJ2v3GY.mjs";
7
- import { bodyInputFlags } from "./body-flags-Cbv-Ba6W.mjs";
8
- import { Timeline, TimelineUpdateInput, timelineView } from "./timeline-BNwnJ3g9.mjs";
9
-
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { t as readBody } from "./body-Cur4NJt9.mjs";
5
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
+ import { c as TimelineUpdateInput, t as Timeline } from "./timeline-CCSU2qOS.mjs";
7
+ import { n as timelineView } from "./timeline-uDCmwGFT.mjs";
10
8
  //#region src/commands/timeline/update.ts
11
9
  var update_default = defineMetabaseCommand({
12
10
  meta: {
@@ -39,14 +37,9 @@ var update_default = defineMetabaseCommand({
39
37
  flag: args.body,
40
38
  file: args.file
41
39
  }, TimelineUpdateInput);
42
- const client = await getClient();
43
- const updated = await client.requestParsed(Timeline, `/api/timeline/${id}`, {
44
- method: "PUT",
45
- body
46
- });
40
+ const updated = await (await getClient()).timeline.update(id, body);
47
41
  renderSummary(updated, timelineView, `Updated timeline ${updated.id} "${updated.name}".`, ctx);
48
42
  }
49
43
  });
50
-
51
44
  //#endregion
52
- export { update_default as default };
45
+ export { update_default as default };
@@ -0,0 +1,50 @@
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { t as readBody } from "./body-Cur4NJt9.mjs";
5
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
+ import { l as DashcardPatchInput, s as Dashcard } from "./dashboard-BCpSq_G-.mjs";
7
+ import { n as dashcardView } from "./dashboard-CsIFFpzK.mjs";
8
+ //#region src/commands/dashboard/update-dashcard.ts
9
+ var update_dashcard_default = defineMetabaseCommand({
10
+ meta: {
11
+ name: "update-dashcard",
12
+ description: "Patch a single dashcard's layout or settings on a dashboard"
13
+ },
14
+ capabilities: { minVersion: 58 },
15
+ args: {
16
+ ...outputFlags,
17
+ ...profileFlag,
18
+ ...connectionFlags,
19
+ ...bodyInputFlags,
20
+ "dashboard-id": {
21
+ type: "positional",
22
+ description: "Dashboard id",
23
+ required: true
24
+ },
25
+ "dashcard-id": {
26
+ type: "positional",
27
+ description: "Dashcard id",
28
+ required: true
29
+ }
30
+ },
31
+ inputSchema: DashcardPatchInput,
32
+ outputSchema: Dashcard,
33
+ examples: [
34
+ "mb dashboard update-dashcard 1 5 --body '{\"row\":2,\"col\":0}'",
35
+ "mb dashboard update-dashcard 1 5 --body '{\"size_x\":12,\"size_y\":4}'",
36
+ "cat patch.json | mb dashboard update-dashcard 1 5"
37
+ ],
38
+ async run({ args, ctx, getClient }) {
39
+ const dashboardId = parseId(args["dashboard-id"], "dashboard-id");
40
+ const dashcardId = parseId(args["dashcard-id"], "dashcard-id");
41
+ const patch = await readBody({
42
+ flag: args.body,
43
+ file: args.file
44
+ }, DashcardPatchInput);
45
+ const refreshed = await (await getClient()).dashboard.updateDashcard(dashboardId, dashcardId, patch);
46
+ renderSummary(refreshed, dashcardView, `Updated dashcard ${dashcardId} on dashboard ${dashboardId} (row ${refreshed.row}, col ${refreshed.col}, ${refreshed.size_x}x${refreshed.size_y}).`, ctx);
47
+ }
48
+ });
49
+ //#endregion
50
+ export { update_dashcard_default as default };
@@ -1,18 +1,11 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import { parseId } from "./parse-id-waEVK-uR.mjs";
5
- import "./input-BpXlmJ5J.mjs";
6
- import { readBody } from "./body-DXJ2v3GY.mjs";
7
- import { bodyInputFlags } from "./body-flags-Cbv-Ba6W.mjs";
8
- import "./embedding-B0x9CPkU.mjs";
9
- import "./field-RYBTW2KS.mjs";
10
- import "./parameter-hCQ80jnc.mjs";
11
- import "./card-BFRRyTGs.mjs";
12
- import "./validate-BoY75_M3.mjs";
13
- import { DashboardDetail, DashboardUpdateInput, dashboardView } from "./dashboard-BSCXTX4H.mjs";
14
- import { preflightDashcardCardReferences } from "./preflight-DJOBTWVq.mjs";
15
-
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { t as readBody } from "./body-Cur4NJt9.mjs";
5
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
+ import { i as DashboardDetail, o as DashboardUpdateInput } from "./dashboard-BCpSq_G-.mjs";
7
+ import { t as dashboardView } from "./dashboard-CsIFFpzK.mjs";
8
+ import { t as preflightDashcardCardReferences } from "./preflight-YpPQo-sa.mjs";
16
9
  //#region src/commands/dashboard/update.ts
17
10
  var update_default = defineMetabaseCommand({
18
11
  meta: {
@@ -55,13 +48,9 @@ var update_default = defineMetabaseCommand({
55
48
  }, DashboardUpdateInput);
56
49
  const client = await getClient();
57
50
  await preflightDashcardCardReferences(client, body.dashcards);
58
- const updated = await client.requestParsed(DashboardDetail, `/api/dashboard/${id}`, {
59
- method: "PUT",
60
- body
61
- });
51
+ const updated = await client.dashboard.update(id, body);
62
52
  renderSummary(updated, dashboardView, `Updated dashboard ${updated.id} "${updated.name}".`, ctx);
63
53
  }
64
54
  });
65
-
66
55
  //#endregion
67
- export { update_default as default };
56
+ export { update_default as default };
@@ -1,36 +1,36 @@
1
- import { AbortError, NetworkError, TimeoutError, UnknownError, errorMessage, outputFlags, package_default, renderItem, writeText } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { HttpError, USER_AGENT, combineAborts, defineMetabaseCommand, parseJson, throwIfAborted } from "./runtime-CPIHg_Zg.mjs";
4
- import { promptConfirm } from "./prompt-DmxSLNrO.mjs";
5
- import { streamProcess } from "./process-BxAUv3Wx.mjs";
1
+ import { f as errorMessage, l as TimeoutError, n as AbortError, s as NetworkError, u as UnknownError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { A as name, F as outputFlags, h as promptConfirm, j as version, o as renderItem, t as interruptSignal, u as writeText } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand, u as USER_AGENT } from "./runtime-DiKyBxOw.mjs";
4
+ import { h as parseJson, r as HttpError } from "./network-error-CEb9ymDW.mjs";
5
+ import { n as throwIfAborted, t as combineAborts } from "./signal-CMd0EFUa.mjs";
6
+ import { n as streamProcess } from "./process-DBOOrmET.mjs";
6
7
  import { z } from "zod";
7
- import { realpathSync } from "node:fs";
8
8
  import { compare, valid } from "semver";
9
-
10
- //#region src/core/http/npm-registry.ts
9
+ import { realpathSync } from "node:fs";
10
+ //#region src/core/npm-registry.ts
11
11
  const DEFAULT_REGISTRY = "https://registry.npmjs.org";
12
12
  const DEFAULT_TIMEOUT_MS = 15e3;
13
13
  const ERROR_BODY_BYTE_CAP = 8 * 1024;
14
14
  const NpmDistTags = z.object({ latest: z.string() }).loose();
15
- async function fetchNpmDistTags(packageName, opts = {}) {
15
+ async function fetchNpmDistTags(packageName, opts) {
16
16
  const registry = opts.registry ?? DEFAULT_REGISTRY;
17
17
  const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
18
18
  const fetchImpl = opts.fetchImpl ?? globalThis.fetch.bind(globalThis);
19
19
  const url = buildDistTagsUrl(registry, packageName);
20
20
  const timeoutSignal = AbortSignal.timeout(timeoutMs);
21
- const { combined, processSignal } = combineAborts(timeoutSignal, opts.signal);
21
+ const combined = combineAborts(timeoutSignal, opts.signal);
22
22
  let response;
23
23
  try {
24
24
  response = await fetchImpl(url, {
25
25
  method: "GET",
26
26
  headers: {
27
27
  accept: "application/json",
28
- "user-agent": USER_AGENT
28
+ "user-agent": opts.userAgent
29
29
  },
30
30
  signal: combined
31
31
  });
32
32
  } catch (error) {
33
- throwIfAborted(opts.signal, processSignal);
33
+ throwIfAborted(opts.signal);
34
34
  if (timeoutSignal.aborted) throw new TimeoutError(`npm registry request timed out after ${timeoutMs}ms`, {
35
35
  kind: "http",
36
36
  method: "GET",
@@ -55,23 +55,18 @@ async function fetchNpmDistTags(packageName, opts = {}) {
55
55
  rawBody
56
56
  });
57
57
  }
58
- const text = await response.text();
59
- return parseJson(text, NpmDistTags, { source: url });
58
+ return parseJson(await response.text(), NpmDistTags, { source: url });
60
59
  }
61
60
  function buildDistTagsUrl(registry, packageName) {
62
- const base = registry.replace(/\/+$/, "");
63
- const encoded = packageName.replace("/", "%2F");
64
- return `${base}/-/package/${encoded}/dist-tags`;
61
+ return `${registry.replace(/\/+$/, "")}/-/package/${packageName.replace("/", "%2F")}/dist-tags`;
65
62
  }
66
63
  async function readErrorBody(response) {
67
64
  try {
68
- const text = await response.text();
69
- return text.slice(0, ERROR_BODY_BYTE_CAP);
65
+ return (await response.text()).slice(0, ERROR_BODY_BYTE_CAP);
70
66
  } catch (error) {
71
67
  return `[body read failed: ${errorMessage(error)}]`;
72
68
  }
73
69
  }
74
-
75
70
  //#endregion
76
71
  //#region src/core/install-method.ts
77
72
  const InstallMethodKindSchema = z.enum([
@@ -179,8 +174,7 @@ function detectInstallMethod(scriptPath, options = {}) {
179
174
  function resolveNpmConfigPrefix(override) {
180
175
  const raw = override ?? process.env["npm_config_prefix"] ?? process.env["NPM_CONFIG_PREFIX"];
181
176
  if (raw === void 0 || raw === "") return null;
182
- const normalized = raw.replaceAll("\\", "/").replace(/\/+$/, "");
183
- return `${normalized}/`;
177
+ return `${raw.replaceAll("\\", "/").replace(/\/+$/, "")}/`;
184
178
  }
185
179
  function buildInstallCommand(install, packageName, targetVersion) {
186
180
  const spec = `${packageName}@${targetVersion}`;
@@ -239,15 +233,10 @@ function safeRealpath(path) {
239
233
  throw error;
240
234
  }
241
235
  }
242
-
243
- //#endregion
244
- //#region src/core/semver.ts
245
- const SEMVER_MESSAGE = "expected semver MAJOR.MINOR.PATCH[-prerelease][+build]";
246
- const SemverString = z.string().refine((value) => valid(value) !== null, { message: SEMVER_MESSAGE });
236
+ const SemverString = z.string().refine((value) => valid(value) !== null, { message: "expected semver MAJOR.MINOR.PATCH[-prerelease][+build]" });
247
237
  function compareSemver(a, b) {
248
238
  return compare(a, b);
249
239
  }
250
-
251
240
  //#endregion
252
241
  //#region src/commands/upgrade.ts
253
242
  const UpgradeCommandSchema = z.object({
@@ -332,17 +321,18 @@ var upgrade_default = defineMetabaseCommand({
332
321
  "mb upgrade --to 0.1.2"
333
322
  ],
334
323
  async run({ args, ctx }) {
335
- const currentVersion = SemverString.parse(package_default.version);
324
+ const packageName = name;
325
+ const currentVersion = SemverString.parse(version);
336
326
  const install = detectInstallMethod(process.argv[1]);
337
- const distTags = await fetchNpmDistTags(package_default.name, distTagsOptions(args.registry));
327
+ const distTags = await fetchNpmDistTags(packageName, distTagsOptions(args.registry));
338
328
  const latestVersion = SemverString.parse(distTags.latest);
339
329
  const targetVersion = resolveTargetVersion(args.to, latestVersion);
340
330
  const updateAvailable = compareSemver(currentVersion, latestVersion) < 0;
341
331
  const changeRequired = compareSemver(currentVersion, targetVersion) !== 0;
342
- const command = buildInstallCommand(install, package_default.name, targetVersion);
332
+ const command = buildInstallCommand(install, packageName, targetVersion);
343
333
  const canAutoInstall = install.kind === "npm-global" && command !== null;
344
- const status = {
345
- packageName: package_default.name,
334
+ emitStatus({
335
+ packageName,
346
336
  currentVersion,
347
337
  latestVersion,
348
338
  targetVersion,
@@ -356,17 +346,15 @@ var upgrade_default = defineMetabaseCommand({
356
346
  display: command.display
357
347
  },
358
348
  canAutoInstall
359
- };
360
- emitStatus(status, install, command, ctx);
349
+ }, install, command, ctx);
361
350
  if (args.check || !changeRequired || command === null || !canAutoInstall) return;
362
351
  const needsPrompt = !args.yes;
363
352
  if (needsPrompt && !process.stdin.isTTY) return;
364
353
  if (needsPrompt) {
365
- const confirmed = await promptConfirm({
354
+ if (!await promptConfirm({
366
355
  message: `Run "${command.display}" now?`,
367
356
  initialValue: true
368
- });
369
- if (!confirmed) throw new AbortError();
357
+ })) throw new AbortError();
370
358
  }
371
359
  const [bin, ...rest] = command.argv;
372
360
  const exitCode = await streamProcess(bin, rest, { shell: process.platform === "win32" });
@@ -378,8 +366,15 @@ var upgrade_default = defineMetabaseCommand({
378
366
  });
379
367
  function distTagsOptions(registryArg) {
380
368
  const registry = registryArg?.trim();
381
- if (registry === void 0 || registry === "") return {};
382
- return { registry };
369
+ if (registry === void 0 || registry === "") return {
370
+ userAgent: USER_AGENT,
371
+ signal: interruptSignal
372
+ };
373
+ return {
374
+ userAgent: USER_AGENT,
375
+ registry,
376
+ signal: interruptSignal
377
+ };
383
378
  }
384
379
  function resolveTargetVersion(toArg, latestVersion) {
385
380
  const trimmed = toArg?.trim();
@@ -395,8 +390,7 @@ function emitStatus(status, install, command, ctx) {
395
390
  }
396
391
  function buildHumanText(status, install, command) {
397
392
  if (!status.changeRequired) return `Up to date (${status.currentVersion}).`;
398
- const headline = status.targetVersion === status.latestVersion ? `Update available: ${status.currentVersion} → ${status.latestVersion}` : `Target ${status.targetVersion} (current ${status.currentVersion}, latest ${status.latestVersion}).`;
399
- return [headline, ...buildHumanTail(install, command)].join("\n");
393
+ return [status.targetVersion === status.latestVersion ? `Update available: ${status.currentVersion} → ${status.latestVersion}` : `Target ${status.targetVersion} (current ${status.currentVersion}, latest ${status.latestVersion}).`, ...buildHumanTail(install, command)].join("\n");
400
394
  }
401
395
  function buildHumanTail(install, command) {
402
396
  switch (install.kind) {
@@ -412,6 +406,5 @@ function formatCommandCell(value) {
412
406
  if (typeof value === "object" && "display" in value && typeof value.display === "string") return value.display;
413
407
  return "";
414
408
  }
415
-
416
409
  //#endregion
417
- export { upgrade_default as default };
410
+ export { upgrade_default as default };
@@ -0,0 +1,46 @@
1
+ import { i as ConfigError, p as isFileNotFoundError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { n as fileNotFoundError } from "./input-DH9i67x_.mjs";
3
+ import { n as UploadUpdateResult, t as UploadResult } from "./upload-DAtxBBms.mjs";
4
+ import { basename } from "node:path";
5
+ import { readFile } from "node:fs/promises";
6
+ //#region src/output/views/upload.ts
7
+ const uploadResultView = {
8
+ compactPick: UploadResult,
9
+ tableColumns: [{
10
+ key: "model_id",
11
+ label: "Model ID"
12
+ }, {
13
+ key: "table_id",
14
+ label: "Table ID"
15
+ }]
16
+ };
17
+ const uploadUpdateResultView = {
18
+ compactPick: UploadUpdateResult,
19
+ tableColumns: [{
20
+ key: "table_id",
21
+ label: "Table ID"
22
+ }, {
23
+ key: "action",
24
+ label: "Action"
25
+ }]
26
+ };
27
+ //#endregion
28
+ //#region src/runtime/upload.ts
29
+ function requireUploadFilePath(file) {
30
+ if (typeof file !== "string" || file.trim() === "") throw new ConfigError("provide the CSV file to upload with --file <path>");
31
+ return file;
32
+ }
33
+ async function readCsvFile(path) {
34
+ try {
35
+ const bytes = await readFile(path);
36
+ return {
37
+ filename: basename(path),
38
+ bytes
39
+ };
40
+ } catch (error) {
41
+ if (isFileNotFoundError(error)) throw fileNotFoundError(path);
42
+ throw error;
43
+ }
44
+ }
45
+ //#endregion
46
+ export { uploadUpdateResultView as i, requireUploadFilePath as n, uploadResultView as r, readCsvFile as t };
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ //#region ../client/src/domain/upload.ts
3
+ const UploadResult = z.object({
4
+ model_id: z.number().int(),
5
+ table_id: z.number().int()
6
+ });
7
+ const UploadUpdateAction = z.enum(["append", "replace"]);
8
+ const UploadUpdateResult = z.object({
9
+ table_id: z.number().int(),
10
+ action: UploadUpdateAction
11
+ });
12
+ //#endregion
13
+ export { UploadUpdateResult as n, UploadResult as t };
@@ -0,0 +1,13 @@
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
+ //#region src/commands/upload/index.ts
3
+ var upload_default = defineCommandGroup({
4
+ name: "upload",
5
+ description: "Upload CSV files into Metabase",
6
+ subCommands: {
7
+ csv: () => import("./csv-B2Jgb1GM.mjs").then((m) => m.default),
8
+ append: () => import("./append-DFzQRPMd.mjs").then((m) => m.default),
9
+ replace: () => import("./replace-Cq4CxVa-.mjs").then((m) => m.default)
10
+ }
11
+ });
12
+ //#endregion
13
+ export { upload_default as default };
@@ -1,9 +1,8 @@
1
- import { ConfigError, outputFlags, writeJson, writeText } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand, parseInteger } from "./runtime-CPIHg_Zg.mjs";
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { F as outputFlags, l as writeJson, u as writeText } from "./cli.mjs";
3
+ import { R as parseInteger, t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
4
4
  import { z } from "zod";
5
5
  import { randomUUID } from "node:crypto";
6
-
7
6
  //#region src/commands/uuid.ts
8
7
  const MAX_COUNT = 1e4;
9
8
  const UuidList = z.array(z.string().uuid());
@@ -37,7 +36,7 @@ var uuid_default = defineMetabaseCommand({
37
36
  name: "--count",
38
37
  min: 1
39
38
  });
40
- if (count > MAX_COUNT) throw new ConfigError(`invalid --count: ${count} (must be ≤ ${MAX_COUNT})`);
39
+ if (count > 1e4) throw new ConfigError(`invalid --count: ${count} (must be ≤ ${MAX_COUNT})`);
41
40
  const uuids = Array.from({ length: count }, () => randomUUID());
42
41
  if (ctx.format === "json") {
43
42
  writeJson(uuids);
@@ -46,6 +45,5 @@ var uuid_default = defineMetabaseCommand({
46
45
  writeText(uuids.join("\n"));
47
46
  }
48
47
  });
49
-
50
48
  //#endregion
51
- export { uuid_default as default };
49
+ export { uuid_default as default };