@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,27 +1,19 @@
1
- import { ConfigError, connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand, parseJson } from "./runtime-CPIHg_Zg.mjs";
4
- import { parseId } from "./parse-id-waEVK-uR.mjs";
5
- import "./embedding-B0x9CPkU.mjs";
6
- import "./field-RYBTW2KS.mjs";
7
- import "./parameter-hCQ80jnc.mjs";
8
- import { CardQueryResult, cardQueryView } from "./card-BFRRyTGs.mjs";
9
- import { formatQueryResult } from "./query-result-Bvh89K4f.mjs";
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand, z as parseOptionalInteger } from "./runtime-DiKyBxOw.mjs";
4
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
5
+ import { h as parseJson } from "./network-error-CEb9ymDW.mjs";
6
+ import { i as CardExportFormat, o as CardQueryResult } from "./card-DZxRmver.mjs";
7
+ import { t as cardQueryView } from "./card-zyUkr2nS.mjs";
8
+ import { t as formatQueryResult } from "./query-result-DBDwk8TS.mjs";
10
9
  import { z } from "zod";
11
10
  import { Writable } from "node:stream";
12
-
13
11
  //#region src/output/stream.ts
14
12
  async function pipeToStdout(stream) {
15
13
  await stream.pipeTo(Writable.toWeb(process.stdout));
16
14
  }
17
-
18
15
  //#endregion
19
16
  //#region src/commands/card/query.ts
20
- const ExportFormat = z.enum([
21
- "csv",
22
- "json",
23
- "xlsx"
24
- ]);
25
17
  const QueryParameters = z.array(z.unknown());
26
18
  var query_default = defineMetabaseCommand({
27
19
  meta: {
@@ -40,7 +32,7 @@ var query_default = defineMetabaseCommand({
40
32
  },
41
33
  "export-format": {
42
34
  type: "string",
43
- description: `Bypass JSON envelope and stream raw export: ${ExportFormat.options.join(" | ")}`
35
+ description: `Bypass JSON envelope and stream raw export: ${CardExportFormat.options.join(" | ")}`
44
36
  },
45
37
  parameters: {
46
38
  type: "string",
@@ -74,20 +66,17 @@ var query_default = defineMetabaseCommand({
74
66
  const client = await getClient();
75
67
  const exportFormatRaw = args["export-format"];
76
68
  if (exportFormatRaw !== void 0 && exportFormatRaw !== "") {
77
- await streamExport(client, id, {
78
- format: parseExportFormat(exportFormatRaw),
69
+ await pipeToStdout(await client.card.exportQuery(id, parseExportFormat(exportFormatRaw), {
79
70
  parameters,
80
- formatRows: args["format-rows"],
81
- pivotResults: args["pivot-results"]
82
- });
71
+ format_rows: args["format-rows"],
72
+ pivot_results: args["pivot-results"]
73
+ }));
83
74
  return;
84
75
  }
85
- const result = await client.requestParsed(CardQueryResult, `/api/card/${id}/query`, {
86
- method: "POST",
87
- body: { parameters }
88
- });
89
- const limit = args.limit === void 0 || args.limit === "" ? null : parseId(args.limit, "limit");
90
- const limited = applyLimit(result, limit);
76
+ const limited = applyLimit(await client.card.query(id, { parameters }), parseOptionalInteger(args.limit, {
77
+ name: "--limit",
78
+ min: 1
79
+ }));
91
80
  renderSummary(limited, cardQueryView, () => formatQueryResult(limited), ctx);
92
81
  }
93
82
  });
@@ -96,8 +85,8 @@ function parseParameters(raw) {
96
85
  return parseJson(raw, QueryParameters, { source: "--parameters" });
97
86
  }
98
87
  function parseExportFormat(raw) {
99
- const result = ExportFormat.safeParse(raw);
100
- if (!result.success) throw new ConfigError(`invalid --export-format: "${raw}" (expected: ${ExportFormat.options.join(", ")})`);
88
+ const result = CardExportFormat.safeParse(raw);
89
+ if (!result.success) throw new ConfigError(`invalid --export-format: "${raw}" (expected: ${CardExportFormat.options.join(", ")})`);
101
90
  return result.data;
102
91
  }
103
92
  function applyLimit(result, limit) {
@@ -110,18 +99,5 @@ function applyLimit(result, limit) {
110
99
  }
111
100
  };
112
101
  }
113
- async function streamExport(client, id, options) {
114
- const body = new URLSearchParams({
115
- parameters: JSON.stringify(options.parameters),
116
- format_rows: String(options.formatRows),
117
- pivot_results: String(options.pivotResults)
118
- });
119
- const stream = await client.requestStream(`/api/card/${id}/query/${options.format}`, {
120
- method: "POST",
121
- body
122
- });
123
- await pipeToStdout(stream);
124
- }
125
-
126
102
  //#endregion
127
- export { query_default as default };
103
+ export { query_default as default };
@@ -1,21 +1,16 @@
1
- import { ConfigError, connectionFlags, outputFlags, profileFlag, renderSummary, writeJson } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import "./input-BpXlmJ5J.mjs";
5
- import { readBody } from "./body-DXJ2v3GY.mjs";
6
- import { bodyInputFlags } from "./body-flags-Cbv-Ba6W.mjs";
7
- import "./embedding-B0x9CPkU.mjs";
8
- import "./field-RYBTW2KS.mjs";
9
- import "./parameter-hCQ80jnc.mjs";
10
- import { CardQueryResult, cardQueryView } from "./card-BFRRyTGs.mjs";
11
- import { assertNotLegacyEnvelopeWrappingMbql5, getQuerySchemaBundle, isMbql5Query, validateQuery } from "./validate-BoY75_M3.mjs";
12
- import { skipValidateFlag } from "./validate-query-Di0VKMF-.mjs";
13
- import { formatQueryResult } from "./query-result-Bvh89K4f.mjs";
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary, l as writeJson } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
4
+ import { t as readBody } from "./body-Cur4NJt9.mjs";
5
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
+ import { o as CardQueryResult } from "./card-DZxRmver.mjs";
7
+ import { t as cardQueryView } from "./card-zyUkr2nS.mjs";
8
+ import { i as validateQuery, n as getQuerySchemaBundle, r as isMbql5Query, t as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-BWchyW0V.mjs";
9
+ import { o as skipValidateFlag } from "./validate-query-DaGYSmpQ.mjs";
10
+ import { t as formatQueryResult } from "./query-result-DBDwk8TS.mjs";
14
11
  import { z } from "zod";
15
-
16
12
  //#region src/commands/query.ts
17
13
  const QueryBody = z.unknown().describe("MBQL 5, legacy MBQL, or native query body — full MBQL 5 schema: mb query --print-schema");
18
- const QUERY_ENDPOINT = "/api/dataset";
19
14
  var query_default = defineMetabaseCommand({
20
15
  meta: {
21
16
  name: "query",
@@ -66,8 +61,7 @@ var query_default = defineMetabaseCommand({
66
61
  contextLabel: "query",
67
62
  bodyNoun: "the body"
68
63
  });
69
- const skipValidation = explicitSkip || !isMbql5Query(body);
70
- if (!skipValidation) {
64
+ if (!(explicitSkip || !isMbql5Query(body))) {
71
65
  const outcome = validateQuery(body);
72
66
  if (!outcome.ok) {
73
67
  writeJson(outcome);
@@ -85,14 +79,9 @@ var query_default = defineMetabaseCommand({
85
79
  });
86
80
  return;
87
81
  }
88
- const client = await getClient();
89
- const queryResult = await client.requestParsed(CardQueryResult, QUERY_ENDPOINT, {
90
- method: "POST",
91
- body
92
- });
82
+ const queryResult = await (await getClient()).dataset.query(body);
93
83
  renderSummary(queryResult, cardQueryView, () => formatQueryResult(queryResult), ctx);
94
84
  }
95
85
  });
96
-
97
86
  //#endregion
98
- export { query_default as default };
87
+ export { query_default as default };
@@ -1,19 +1,15 @@
1
- import { formatScalar, renderRows } from "./capabilities-1HTHeDa4.mjs";
2
-
1
+ import { f as formatScalar, p as renderRows } from "./cli.mjs";
3
2
  //#region src/output/query-result.ts
4
3
  function formatQueryResult(result) {
5
4
  if (result.status !== "completed" || result.data === void 0) {
6
- const hasError = typeof result.error === "string" && result.error !== "";
7
- const detail = hasError ? `: ${result.error}` : "";
5
+ const detail = typeof result.error === "string" && result.error !== "" ? `: ${result.error}` : "";
8
6
  return `Query ${result.status}${detail}`;
9
7
  }
10
8
  const head = result.data.cols.map((col) => col.display_name ?? col.name);
11
9
  const rowCount = result.row_count ?? result.data.rows.length;
12
10
  const summary = `${rowCount} row${rowCount === 1 ? "" : "s"}.`;
13
11
  if (result.data.rows.length === 0) return summary;
14
- const rows = result.data.rows.map((row) => Array.isArray(row) ? row.map((cell) => formatScalar(cell)) : [formatScalar(row)]);
15
- return `${renderRows(head, rows)}\n${summary}`;
12
+ return `${renderRows(head, result.data.rows.map((row) => Array.isArray(row) ? row.map((cell) => formatScalar(cell)) : [formatScalar(row)]))}\n${summary}`;
16
13
  }
17
-
18
14
  //#endregion
19
- export { formatQueryResult };
15
+ export { formatQueryResult as t };
@@ -0,0 +1,36 @@
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 { s as SyncSettingsUpdateResult } from "./git-sync-BDnxPrqU.mjs";
5
+ import { o as syncSettingsUpdateView } from "./git-sync-DxD_ng48.mjs";
6
+ //#region src/commands/git-sync/remove-collection.ts
7
+ var remove_collection_default = defineMetabaseCommand({
8
+ meta: {
9
+ name: "remove-collection",
10
+ description: "Unmark a collection as git-synced; cascades to descendants by location prefix"
11
+ },
12
+ capabilities: {
13
+ minVersion: 60,
14
+ tokenFeature: "remote_sync"
15
+ },
16
+ args: {
17
+ ...outputFlags,
18
+ ...profileFlag,
19
+ ...connectionFlags,
20
+ id: {
21
+ type: "positional",
22
+ description: "Collection id (positive integer)",
23
+ required: true
24
+ }
25
+ },
26
+ outputSchema: SyncSettingsUpdateResult,
27
+ examples: ["mb git-sync remove-collection 12", "mb git-sync remove-collection 12 --json --profile prod"],
28
+ async run({ args, ctx, getClient }) {
29
+ const collectionId = parseId(args.id, "id");
30
+ const result = await (await getClient()).gitSync.setCollectionSynced(collectionId, false);
31
+ const taskPart = result.task_id !== void 0 ? ` (task #${result.task_id})` : "";
32
+ renderSummary(result, syncSettingsUpdateView, result.success ? `Collection ${collectionId} is no longer git-synced${taskPart}.` : `Could not update git-sync setting for collection ${collectionId}.`, ctx);
33
+ }
34
+ });
35
+ //#endregion
36
+ export { remove_collection_default as default };
@@ -1,9 +1,8 @@
1
+ import "./cli.mjs";
1
2
  //#region src/commands/auth/render.ts
2
- const EMPTY_CELL = "—";
3
3
  function pickProperty(value, key) {
4
- if (typeof value !== "object" || value === null || !(key in value)) return void 0;
5
- const inner = Reflect.get(value, key);
6
- return inner;
4
+ if (typeof value !== "object" || value === null || !(key in value)) return;
5
+ return Reflect.get(value, key);
7
6
  }
8
7
  function pickString(value, key) {
9
8
  const inner = pickProperty(value, key);
@@ -14,24 +13,23 @@ function pickBoolean(value, key) {
14
13
  return typeof inner === "boolean" ? inner : null;
15
14
  }
16
15
  function renderUserName(value) {
17
- return pickString(value, "name") ?? EMPTY_CELL;
16
+ return pickString(value, "name") ?? "—";
18
17
  }
19
18
  function renderUserRole(value) {
20
19
  const isAdmin = pickBoolean(value, "isAdmin");
21
- if (isAdmin === null) return EMPTY_CELL;
20
+ if (isAdmin === null) return "—";
22
21
  return isAdmin ? "Admin" : "User";
23
22
  }
24
23
  function renderAuthMethod(value) {
25
24
  if (value === "oauth") return "OAuth";
26
25
  if (value === "apiKey") return "API key";
27
- return EMPTY_CELL;
26
+ return "—";
28
27
  }
29
28
  function renderVersionTag(value) {
30
- return pickString(value, "tag") ?? EMPTY_CELL;
29
+ return pickString(value, "tag") ?? "—";
31
30
  }
32
31
  function renderTimestamp(value) {
33
- return typeof value === "string" ? value : EMPTY_CELL;
32
+ return typeof value === "string" ? value : "—";
34
33
  }
35
-
36
34
  //#endregion
37
- export { EMPTY_CELL, renderAuthMethod, renderTimestamp, renderUserName, renderUserRole, renderVersionTag };
35
+ export { renderVersionTag as a, renderUserRole as i, renderTimestamp as n, renderUserName as r, renderAuthMethod as t };
@@ -1,10 +1,8 @@
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 { UploadUpdateResult, readCsvFile, requireUploadFilePath, updateTableFromCsv, uploadUpdateResultView } from "./requests-Pc0u7PQS.mjs";
7
-
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 { n as UploadUpdateResult } from "./upload-DAtxBBms.mjs";
5
+ import { i as uploadUpdateResultView, n as requireUploadFilePath, t as readCsvFile } from "./upload-CH632qW6.mjs";
8
6
  //#region src/commands/upload/replace.ts
9
7
  var replace_default = defineMetabaseCommand({
10
8
  meta: {
@@ -32,11 +30,8 @@ var replace_default = defineMetabaseCommand({
32
30
  async run({ args, ctx, getClient }) {
33
31
  const id = parseId(args.id);
34
32
  const file = await readCsvFile(requireUploadFilePath(args.file));
35
- const client = await getClient();
36
- const result = await updateTableFromCsv(client, id, "replace", file);
37
- renderSummary(result, uploadUpdateResultView, `Replaced table ${id} with "${file.filename}".`, ctx);
33
+ renderSummary(await (await getClient()).table.replaceCsv(id, file), uploadUpdateResultView, `Replaced table ${id} with "${file.filename}".`, ctx);
38
34
  }
39
35
  });
40
-
41
36
  //#endregion
42
- export { replace_default as default };
37
+ export { replace_default as default };
@@ -0,0 +1,31 @@
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 { a as DatabaseSyncResult } from "./database-C8G6ZKG0.mjs";
5
+ import { t as databaseSyncResultView } from "./database-B19qlLKZ.mjs";
6
+ //#region src/commands/db/rescan-values.ts
7
+ var rescan_values_default = defineMetabaseCommand({
8
+ meta: {
9
+ name: "rescan-values",
10
+ description: "Trigger a rescan of cached field values for a database"
11
+ },
12
+ capabilities: { minVersion: 58 },
13
+ args: {
14
+ ...outputFlags,
15
+ ...profileFlag,
16
+ ...connectionFlags,
17
+ id: {
18
+ type: "positional",
19
+ description: "Database id",
20
+ required: true
21
+ }
22
+ },
23
+ outputSchema: DatabaseSyncResult,
24
+ examples: ["mb db rescan-values 1", "mb db rescan-values 1 --json"],
25
+ async run({ args, ctx, getClient }) {
26
+ const id = parseId(args.id);
27
+ renderSummary(await (await getClient()).database.rescanValues(id), databaseSyncResultView, `Field-values rescan queued for database ${id}.`, ctx);
28
+ }
29
+ });
30
+ //#endregion
31
+ export { rescan_values_default as default };
@@ -0,0 +1,8 @@
1
+ const revisionMessageFlag = { revisionMessage: {
2
+ type: "string",
3
+ description: "Audit-log message recorded with the change",
4
+ alias: "revision-message",
5
+ default: "Archived via mb CLI"
6
+ } };
7
+ //#endregion
8
+ export { revisionMessageFlag as t };
@@ -0,0 +1,82 @@
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 { l as isTransformRunFailed, o as TransformRunResult } from "./transform-D3QX0jxA.mjs";
5
+ import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-DWEF9tX4.mjs";
6
+ //#region src/commands/transform/run.ts
7
+ const transformRunResultView = {
8
+ compactPick: TransformRunResult,
9
+ tableColumns: [
10
+ {
11
+ key: "run_id",
12
+ label: "Run ID"
13
+ },
14
+ {
15
+ key: "message",
16
+ label: "Message"
17
+ },
18
+ {
19
+ key: "target_table_id",
20
+ label: "Target table"
21
+ }
22
+ ]
23
+ };
24
+ var run_default = defineMetabaseCommand({
25
+ meta: {
26
+ name: "run",
27
+ description: "Trigger a transform run by id"
28
+ },
29
+ details: "Starts a run and returns immediately. --wait polls the run to a terminal status. --sync additionally waits until the run's output table is registered and returns its `target_table_id`, so you can build MBQL cards against it — the run registers the table itself, so no separate `db sync-schema` is needed; --sync implies waiting for the run.",
30
+ capabilities: { minVersion: 59 },
31
+ args: {
32
+ ...outputFlags,
33
+ ...profileFlag,
34
+ ...connectionFlags,
35
+ ...waitFlags,
36
+ sync: {
37
+ type: "boolean",
38
+ description: "After a successful run, wait until the output table is registered and return its id (implies --wait)",
39
+ default: false
40
+ },
41
+ id: {
42
+ type: "positional",
43
+ description: "Transform id",
44
+ required: true
45
+ }
46
+ },
47
+ outputSchema: TransformRunResult,
48
+ examples: [
49
+ "mb transform run 1",
50
+ "mb transform run 1 --wait --json",
51
+ "mb transform run 1 --sync --json"
52
+ ],
53
+ async run({ args, ctx, getClient }) {
54
+ const id = parseId(args.id);
55
+ const syncTarget = args.sync === true;
56
+ const wait = parseWaitFlags(args);
57
+ const waitForRun = wait.enabled || syncTarget;
58
+ const result = await (await getClient()).transform.run(id, {
59
+ ...waitForRun && { wait: wait.schedule },
60
+ syncTarget
61
+ });
62
+ if (!waitForRun) {
63
+ const started = result.run_id === null ? result.message : `Started run ${result.run_id} for transform ${id}.`;
64
+ renderSummary(result, transformRunResultView, started, ctx);
65
+ return;
66
+ }
67
+ if (result.run_id === null || result.final === null) {
68
+ renderSummary(result, transformRunResultView, result.message, ctx);
69
+ throw new Error(`transform run did not start: ${result.message}`);
70
+ }
71
+ const status = result.final.status;
72
+ renderSummary(result, transformRunResultView, summaryLine(id, result.run_id, status, syncTarget, result.target_table_id), ctx);
73
+ if (isTransformRunFailed(status)) throw new Error(`transform run ${result.run_id} ${status}`);
74
+ }
75
+ });
76
+ function summaryLine(transformId, runId, status, syncTarget, targetTableId) {
77
+ const base = `Run ${runId} of transform ${transformId} ${status}.`;
78
+ if (!syncTarget) return base;
79
+ return targetTableId === null || targetTableId === void 0 ? `${base} Output table not registered before the wait timeout (it may still be syncing).` : `${base} Output table ${targetTableId} registered.`;
80
+ }
81
+ //#endregion
82
+ export { run_default as default };
@@ -1,14 +1,8 @@
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 { z } from "zod";
6
-
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 { a as TransformJobRunResult } from "./transform-job-DRrK28IH.mjs";
7
5
  //#region src/commands/transform-job/run.ts
8
- const TransformJobRunResult = z.object({
9
- message: z.string(),
10
- job_run_id: z.string()
11
- });
12
6
  const transformJobRunResultView = {
13
7
  compactPick: TransformJobRunResult,
14
8
  tableColumns: [{
@@ -45,14 +39,10 @@ var run_default = defineMetabaseCommand({
45
39
  examples: ["mb transform-job run 1", "mb transform-job run 1 --force-refresh --json"],
46
40
  async run({ args, ctx, getClient }) {
47
41
  const id = parseId(args.id);
48
- const client = await getClient();
49
- const result = await client.requestParsed(TransformJobRunResult, `/api/transform-job/${id}/run`, {
50
- method: "POST",
51
- body: { run_all: args["force-refresh"] === true }
52
- });
53
- renderSummary(result, transformJobRunResultView, `Started transform job ${id}.`, ctx);
42
+ const result = await (await getClient()).transformJob.run(id, { run_all: args["force-refresh"] === true });
43
+ const summary = result.job_run_id === null ? `Transform job ${id} was not started (already running, or it resolves to no transforms).` : `Started transform job ${id}.`;
44
+ renderSummary(result, transformJobRunResultView, summary, ctx);
54
45
  }
55
46
  });
56
-
57
47
  //#endregion
58
- export { run_default as default };
48
+ export { run_default as default };
@@ -0,0 +1,38 @@
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, N as listFlags, R as listEnvelopeSchema, s as renderList } 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 collectForOutput } from "./window-BkvrP0gB.mjs";
5
+ import { a as TransformRunCompact } from "./transform-D3QX0jxA.mjs";
6
+ import { t as transformRunView } from "./transform-DoTyyXAu.mjs";
7
+ //#region src/commands/transform/runs.ts
8
+ const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
9
+ var runs_default = defineMetabaseCommand({
10
+ meta: {
11
+ name: "runs",
12
+ description: "List recent transform runs"
13
+ },
14
+ capabilities: { minVersion: 59 },
15
+ args: {
16
+ ...outputFlags,
17
+ ...listFlags,
18
+ ...profileFlag,
19
+ ...connectionFlags,
20
+ "transform-id": {
21
+ type: "string",
22
+ description: "Filter to runs of a single transform id"
23
+ }
24
+ },
25
+ outputSchema: TransformRunListEnvelope,
26
+ examples: [
27
+ "mb transform runs",
28
+ "mb transform runs --transform-id 1 --json",
29
+ "mb transform runs --limit 10 --json"
30
+ ],
31
+ async run({ args, ctx, getClient }) {
32
+ const transformId = args["transform-id"] === void 0 ? void 0 : parseId(args["transform-id"], "--transform-id");
33
+ const client = await getClient();
34
+ renderList(await collectForOutput((request) => client.transform.runPages({ "transform-ids": transformId }, request), transformRunView, ctx), transformRunView, ctx);
35
+ }
36
+ });
37
+ //#endregion
38
+ export { runs_default as default };