@metabase/cli 0.5.3 → 0.5.5

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 (332) hide show
  1. package/dist/{add-collection-c1dfnavz.mjs → add-collection-lgBkahhW.mjs} +3 -3
  2. package/dist/{alert-BkpPdBQ_.mjs → alert-32mfYFy1.mjs} +7 -7
  3. package/dist/{alerts-TDYiIxjs.mjs → alerts-DWVmtHEJ.mjs} +6 -6
  4. package/dist/api-key-DJfhPe4x.mjs +13 -0
  5. package/dist/{append-CoeZRD6u.mjs → append-CdzKyHhn.mjs} +4 -4
  6. package/dist/{archive-DZDkfhdH.mjs → archive-24zg3Ckb.mjs} +5 -5
  7. package/dist/{archive-DY76wU2k.mjs → archive-B3_fjvid.mjs} +3 -3
  8. package/dist/{archive-N3lp1o-k.mjs → archive-B4G4EE9n.mjs} +5 -5
  9. package/dist/{archive-D-BJwRLc.mjs → archive-BTxrM_x2.mjs} +5 -5
  10. package/dist/{archive-DQRehboT.mjs → archive-BZxa5zJk.mjs} +5 -5
  11. package/dist/{archive-CH1h8jz5.mjs → archive-BmutUzPS.mjs} +5 -5
  12. package/dist/{archive-DxUnaV4x.mjs → archive-CHQOH-nm.mjs} +3 -3
  13. package/dist/{archive-CAJHrKwd.mjs → archive-DEOq8OqU.mjs} +5 -5
  14. package/dist/{archive-NfFWXRx5.mjs → archive-DOXrtANg.mjs} +5 -5
  15. package/dist/{archive-f7wKQ7Uy.mjs → archive-DbaGJh7E.mjs} +3 -3
  16. package/dist/{archive-9uzfWGuq.mjs → archive-NhewLr23.mjs} +5 -5
  17. package/dist/{archive-3fdIvMsf.mjs → archive-Uws1E_p8.mjs} +5 -5
  18. package/dist/{auth-hgkvHPpH.mjs → auth-bVvBp9Tl.mjs} +5 -5
  19. package/dist/{branch-flag-CPTQ4wXp.mjs → branch-flag-BvIdNB5z.mjs} +1 -1
  20. package/dist/{branches-B3gHAanU.mjs → branches-CkOAJk1H.mjs} +3 -3
  21. package/dist/{breaking-DuWIof4T.mjs → breaking-CMpEeieT.mjs} +6 -6
  22. package/dist/{broken-D2ST8sTx.mjs → broken-DFFLXiYc.mjs} +8 -8
  23. package/dist/{bulk-discard-values-77khEfpj.mjs → bulk-discard-values-D4eFBtKc.mjs} +5 -5
  24. package/dist/{bulk-edit-girwcjY6.mjs → bulk-edit-CLJeGY2E.mjs} +7 -7
  25. package/dist/{bulk-rescan-values-Df8KK8um.mjs → bulk-rescan-values-DsaGKIo_.mjs} +5 -5
  26. package/dist/{bulk-sync-schema-DEPUZ6MN.mjs → bulk-sync-schema-CN797vy9.mjs} +5 -5
  27. package/dist/{cancel-Oek5PJnu.mjs → cancel-CRpzqIUu.mjs} +3 -3
  28. package/dist/{cancel-task-rkqY0qLU.mjs → cancel-task-CpZcj7HB.mjs} +2 -2
  29. package/dist/{card-QR3zEu6E.mjs → card-BJRZ5D5Q.mjs} +2 -2
  30. package/dist/{card-3NmUiU5F.mjs → card-VipF12MJ.mjs} +1 -1
  31. package/dist/card-nOX_QJ9u.mjs +25 -0
  32. package/dist/{cards-DWJOtZoN.mjs → cards-DJMTrFQg.mjs} +6 -6
  33. package/dist/cli.mjs +128 -294
  34. package/dist/{client-BFP2Ssqu.mjs → client-D2ycdMRO.mjs} +299 -189
  35. package/dist/{collection-D5vt2IJ_.mjs → collection-Bf3lv-zo.mjs} +1 -1
  36. package/dist/collection-Cs84x7WB.mjs +21 -0
  37. package/dist/{collection-DNmFKALA.mjs → collection-Cz2qLX2m.mjs} +1 -1
  38. package/dist/{collection-namespace-Dl8_7xII.mjs → collection-namespace-C0JcSEwN.mjs} +2 -1
  39. package/dist/{content-translation-B3oARbgD.mjs → content-translation-7qPz-dIU.mjs} +3 -3
  40. package/dist/{copy-C7Rc4qM7.mjs → copy-BeFjqXXc.mjs} +6 -6
  41. package/dist/{copy-BzBp5FaY.mjs → copy-D9-xBYYq.mjs} +6 -6
  42. package/dist/{copy-flags-CTM91pxH.mjs → copy-flags-DZ5Cy-Gk.mjs} +2 -2
  43. package/dist/{create-YBDXZgyP.mjs → create--eZb0G2P.mjs} +4 -5
  44. package/dist/{create-f0bBEfDI.mjs → create-B57Sj0om.mjs} +9 -10
  45. package/dist/{create-Bh3q3eHg.mjs → create-Ba8nYAWL.mjs} +9 -9
  46. package/dist/{create-CjGEkSFz.mjs → create-BfgTvPvI.mjs} +9 -10
  47. package/dist/{create-C-2ivjed.mjs → create-BlYxQv6U.mjs} +4 -5
  48. package/dist/{create-DQJ9h86G.mjs → create-CLQVeQ0w.mjs} +4 -5
  49. package/dist/{create-CGxxztoE.mjs → create-Cc07ouKB.mjs} +6 -7
  50. package/dist/{create-C0gmhNnk.mjs → create-CplN1ey8.mjs} +9 -10
  51. package/dist/{create-myJ8HR4B.mjs → create-D4FT8Xj8.mjs} +6 -7
  52. package/dist/{create-BKRD11i-.mjs → create-DBCOYtqn.mjs} +4 -4
  53. package/dist/{create-CfXKNnkK.mjs → create-DBSpDnaA.mjs} +6 -7
  54. package/dist/{create-ByeGK_BE.mjs → create-DHTl3wVv.mjs} +4 -5
  55. package/dist/{create-DO4ic4Kx.mjs → create-DIZGUCFE.mjs} +7 -8
  56. package/dist/{create-CGE1D0Ay.mjs → create-DJ0Xrpod.mjs} +6 -7
  57. package/dist/{create-Bc4ADRmU.mjs → create-Dj5y7xbA.mjs} +4 -5
  58. package/dist/{create-vgP9K2eH2.mjs → create-Dr-q5oWx2.mjs} +10 -11
  59. package/dist/{create-YIC3Q0a-.mjs → create-Dt6gdbAH.mjs} +7 -7
  60. package/dist/{create-branch-DBCBMDWh.mjs → create-branch-CKQkpU-_.mjs} +3 -2
  61. package/dist/{create-C3H9ljex.mjs → create-cpxnjNMC.mjs} +4 -5
  62. package/dist/{create-_rOCx5b8.mjs → create-n5cH8Tq-.mjs} +5 -6
  63. package/dist/{create-71_DODbc.mjs → create-ypwRxrcj.mjs} +9 -10
  64. package/dist/{csv-Dtgy7sTg.mjs → csv-CxWsxJIB.mjs} +4 -4
  65. package/dist/{current-task-AwQisIT9.mjs → current-task-DB7UTh6J.mjs} +3 -3
  66. package/dist/{dashboard-D5E3fMKh.mjs → dashboard-Bx2sYijR.mjs} +1 -1
  67. package/dist/{dashboard-Chjy5GKR.mjs → dashboard-Cwsf-e9T.mjs} +23 -6
  68. package/dist/dashboard-DeSaOt2Z.mjs +35 -0
  69. package/dist/{data-action-DZxVB_hD.mjs → data-action-CuvI17XF.mjs} +8 -2
  70. package/dist/{data-action-R9qxJDPA.mjs → data-action-DLj9cgpu.mjs} +1 -1
  71. package/dist/data-action-Dpt7pfzd.mjs +24 -0
  72. package/dist/{data-app-BIAvvV2P.mjs → data-app--T695WPM.mjs} +10 -10
  73. package/dist/{data-app-project-BL4xpu_m.mjs → data-app-project-DjDDWgUF.mjs} +2 -1
  74. package/dist/{database-CxykzTAA.mjs → database-C5ucihp3.mjs} +2 -2
  75. package/dist/{database-D8XzgJEz.mjs → database-u_spHEa0.mjs} +1 -1
  76. package/dist/{dataset-DIQLAp2P.mjs → dataset-LJxNN6p5.mjs} +3 -3
  77. package/dist/{db-wsSYKqCB.mjs → db-CpK3QluZ.mjs} +8 -8
  78. package/dist/{delete-E-g5b-HU.mjs → delete-9YIc_L2E.mjs} +4 -4
  79. package/dist/{delete-WrV9I9uw.mjs → delete-AwOJ1x-D.mjs} +4 -4
  80. package/dist/{delete-D9FB7qjX.mjs → delete-B9GABYEJ.mjs} +4 -4
  81. package/dist/{delete-4v4_lDwD.mjs → delete-Bw8CMa_A.mjs} +4 -4
  82. package/dist/{delete-BSgxmR3y.mjs → delete-CE19WUPi.mjs} +4 -4
  83. package/dist/{delete-BegkpIGi.mjs → delete-CUzOTiI8.mjs} +4 -4
  84. package/dist/{delete-BP9-YS-f.mjs → delete-D784J3ur.mjs} +4 -4
  85. package/dist/{delete-BHX_F8Qu.mjs → delete-DbAOgu73.mjs} +4 -4
  86. package/dist/{delete-DmM5L0wO.mjs → delete-TcDfZNz2.mjs} +4 -4
  87. package/dist/{delete-runtime-CJ7gMYA1.mjs → delete-runtime-DOOy3gzH.mjs} +2 -1
  88. package/dist/{delete-table-CJq8JM5J.mjs → delete-table-a8acciQe.mjs} +4 -4
  89. package/dist/{delete-wnHUWWjX.mjs → delete-trx8NIoh.mjs} +4 -4
  90. package/dist/{dependencies-CnW3RSoZ.mjs → dependencies-BcPdAMYB.mjs} +6 -6
  91. package/dist/{dependency-CaC6XuTY.mjs → dependency-C1DExO6k.mjs} +8 -5
  92. package/dist/{dependency-Dxvb2Znu.mjs → dependency-DcM96XJ-.mjs} +4 -3
  93. package/dist/dependency-_SgcW_fL.mjs +15 -0
  94. package/dist/{dependents-DHXqJ3lo.mjs → dependents-CRZaiOzg.mjs} +9 -9
  95. package/dist/{dirty-BRPWPUYH.mjs → dirty-1taTj3G6.mjs} +3 -3
  96. package/dist/{discard-values-DBHfVN8o.mjs → discard-values-DmiWAx4J.mjs} +5 -5
  97. package/dist/{document-UMG6me2P.mjs → document-BHOQq2T_.mjs} +2 -2
  98. package/dist/document-DB6YGtqX.mjs +20 -0
  99. package/dist/{document-DVIu3Vj4.mjs → document-lS1XZEF3.mjs} +1 -1
  100. package/dist/{download-BFu9xYHX.mjs → download-CEvVDGeC.mjs} +2 -2
  101. package/dist/{eid-eKmbXRds.mjs → eid-pO_lMTI9.mjs} +5 -5
  102. package/dist/{entity-DjDkaMkB.mjs → entity-DICgy4Bl.mjs} +2 -2
  103. package/dist/{entry-flags-Cxn09krz.mjs → entry-flags-CswcY8bG.mjs} +5 -6
  104. package/dist/{events-CZL9MU64.mjs → events-cGDPEL5_.mjs} +4 -4
  105. package/dist/{execute-DBJGtHHG.mjs → execute-DHGbJpPr.mjs} +7 -8
  106. package/dist/{export-xn_-NaBd.mjs → export-B0NUSP6q.mjs} +6 -5
  107. package/dist/{export-flags-CpukgETM.mjs → export-flags-iXfEILf7.mjs} +3 -2
  108. package/dist/{export-preflight-SM9zJkBp.mjs → export-preflight-Bbl1bHpI.mjs} +3 -3
  109. package/dist/field-AkNMIQnx.mjs +21 -0
  110. package/dist/{field-DoWQUl7V.mjs → field-C2qOViFZ.mjs} +8 -2
  111. package/dist/{field-BVz4AS3f.mjs → field-CT4r6b92.mjs} +1 -1
  112. package/dist/{fields-CB06GFBW.mjs → fields-M66PaKdV.mjs} +6 -6
  113. package/dist/{filter-flags-DhE4olyf.mjs → filter-flags-ezqqsOQL.mjs} +4 -4
  114. package/dist/{fks-CSoS7xZ6.mjs → fks-BvOGzID5.mjs} +6 -6
  115. package/dist/{get-BZFyqZXa.mjs → get-0T9zeyCh.mjs} +5 -5
  116. package/dist/{get-BSPxmP_W.mjs → get-B3Ceh_7N.mjs} +5 -5
  117. package/dist/{get-BW3jSR3y.mjs → get-BL_9fN-q.mjs} +3 -3
  118. package/dist/{get-Bt4C-oxh.mjs → get-Bt2Q516N.mjs} +5 -5
  119. package/dist/{get--1qTpTIQ.mjs → get-BzIQK_mt.mjs} +5 -5
  120. package/dist/{get-BQ7SAJEz.mjs → get-C3j93ivl.mjs} +3 -3
  121. package/dist/{get-DIfjxTP8.mjs → get-CCLnfOOE.mjs} +3 -3
  122. package/dist/{get-CtDZOoWy.mjs → get-CEreA2oN.mjs} +5 -5
  123. package/dist/{get-jbOgdCQg.mjs → get-CJFg7YM5.mjs} +3 -3
  124. package/dist/{get-Cl-O6dFs.mjs → get-Cfg52y7X.mjs} +4 -4
  125. package/dist/{get-eZEHipwA.mjs → get-D-8G7EoL.mjs} +5 -5
  126. package/dist/{get-BYAzIaGG.mjs → get-D-ElxFlQ.mjs} +5 -5
  127. package/dist/{get-Bq_9VSTa.mjs → get-D7y_z5K7.mjs} +3 -3
  128. package/dist/{get-DePbMmjc.mjs → get-DGlZtzfB.mjs} +5 -5
  129. package/dist/{get-C1rCVUYw.mjs → get-DKZLwN3K.mjs} +6 -5
  130. package/dist/{get-BIf6eFWZ.mjs → get-HtzPLpy2.mjs} +5 -5
  131. package/dist/{get-B8xQXMU6.mjs → get-SOCVdBIU.mjs} +5 -5
  132. package/dist/{get-BZDUOZxI.mjs → get-ZSLfDowg.mjs} +3 -3
  133. package/dist/{get-B8xrmipw.mjs → get-jzChrvn2.mjs} +5 -5
  134. package/dist/{get-run-C-CNDbv3.mjs → get-run-BZP_z57v.mjs} +5 -5
  135. package/dist/{get-CuSwArMS.mjs → get-uB7jROcz.mjs} +5 -5
  136. package/dist/{get-BfFZCiZR.mjs → get-wPkejadn.mjs} +5 -5
  137. package/dist/{get-Cc4-e-Q_.mjs → get-zGreQNnG.mjs} +5 -5
  138. package/dist/git-sync-DaHnqpYi.mjs +29 -0
  139. package/dist/glossary-Br_mSh3i.mjs +14 -0
  140. package/dist/{glossary-BkGmCI4X.mjs → glossary-CQRW3Z4d.mjs} +1 -1
  141. package/dist/{glossary-QN-hHfOT.mjs → glossary-iPIWrEbP.mjs} +1 -1
  142. package/dist/{graph-CqBe2J4N.mjs → graph-CdKi07zZ.mjs} +6 -6
  143. package/dist/{group-81zoQcEP.mjs → group--6adAsqG.mjs} +2 -2
  144. package/dist/{has-remote-changes-CDe1teSb.mjs → has-remote-changes-d_JyzdPX.mjs} +2 -2
  145. package/dist/{import-B64gjryF.mjs → import-1bK-qrjV.mjs} +6 -5
  146. package/dist/input-gate-registry-Dh8QjKgW.mjs +14 -0
  147. package/dist/{is-dirty-DhR3Xqjk.mjs → is-dirty-BXwvuTeD.mjs} +2 -2
  148. package/dist/{items-CLl2QgS8.mjs → items-Dzh_xylQ.mjs} +7 -6
  149. package/dist/{key-BYEv4Wgq.mjs → key-DLrpCgdZ.mjs} +1 -1
  150. package/dist/{library-C3eO2J07.mjs → library-BA1QssFE.mjs} +5 -5
  151. package/dist/{library-wUiD2jbw.mjs → library-BprxuqZl.mjs} +1 -1
  152. package/dist/{library-DKIqzyUk.mjs → library-C4g9pdiS.mjs} +8 -3
  153. package/dist/{list-CdcFNphE.mjs → list-0TtkxraU.mjs} +3 -3
  154. package/dist/{list-YFwmHXGG.mjs → list-2doqGDIF.mjs} +3 -3
  155. package/dist/{list-DLLzMaS3.mjs → list-7qcWFDXR.mjs} +5 -5
  156. package/dist/{list-DyFu5Wx1.mjs → list-B5D3leO9.mjs} +6 -6
  157. package/dist/{list-CjpZCiks.mjs → list-B70w2ibG.mjs} +3 -3
  158. package/dist/{list-B7Yvz5vA.mjs → list-B75rzgSi.mjs} +5 -5
  159. package/dist/{list-BmvitCWZ.mjs → list-BWNw-ppI.mjs} +6 -6
  160. package/dist/{list-DyQNRVAf.mjs → list-BjpGurur.mjs} +3 -3
  161. package/dist/{list-DrIcKxXX.mjs → list-CdpEUPL-.mjs} +5 -5
  162. package/dist/{list-DpfOh8-5.mjs → list-CvQlMhrb.mjs} +4 -4
  163. package/dist/{list-DDPvxfhe.mjs → list-DDV5PylU.mjs} +6 -6
  164. package/dist/{list-BIqqh3A-.mjs → list-DHX7-8Ae.mjs} +5 -5
  165. package/dist/{list-BiSwl56L.mjs → list-DQNbHPNQ.mjs} +5 -5
  166. package/dist/{list-CFaJA317.mjs → list-DR9dswtK.mjs} +6 -6
  167. package/dist/{list-eGlqXJno.mjs → list-DSi8mf_F.mjs} +5 -5
  168. package/dist/{list-D4HNG282.mjs → list-D_SfsO_-.mjs} +5 -5
  169. package/dist/{list-CA939qkn.mjs → list-Dn5_L-85.mjs} +6 -6
  170. package/dist/{list-C7TFreS8.mjs → list-DuaFmOCz.mjs} +5 -5
  171. package/dist/{list-Cu6ET_yD.mjs → list-Dv3s_PIu.mjs} +5 -5
  172. package/dist/{list-s9_LlXCV.mjs → list-Dz2YVD7m.mjs} +3 -3
  173. package/dist/{list-DLwby7YA.mjs → list-TzuL_7GA.mjs} +5 -5
  174. package/dist/{list-C3GBocvB.mjs → list-_jHBfq0E.mjs} +5 -5
  175. package/dist/{list-D_IT8l9B.mjs → list-iFtmAfVv.mjs} +3 -3
  176. package/dist/{login-Bg7Z3jDy.mjs → login-LAFw5Xxu.mjs} +6 -5
  177. package/dist/{logout-CAmp7DcS.mjs → logout-CjYzDvLH.mjs} +3 -2
  178. package/dist/{measure-CtfjqJFP.mjs → measure-BMWrX1ca.mjs} +3 -1
  179. package/dist/{measure-C31HLp1C.mjs → measure-DgtOyIoD.mjs} +6 -6
  180. package/dist/{measure-4P0bOlZ3.mjs → measure-DqZG65of.mjs} +1 -1
  181. package/dist/{notification-DaA4bBHW.mjs → notification-B5yMuPmo.mjs} +6 -1
  182. package/dist/{notification-W2SVssyY.mjs → notification-BEJaEZS2.mjs} +2 -2
  183. package/dist/{parameter-DvRQMKd2.mjs → parameter-Bucz3cLJ.mjs} +1 -1
  184. package/dist/{parameter-values-3eHpqznI.mjs → parameter-values-CRwVLpRD.mjs} +6 -5
  185. package/dist/{parse-enum-DAcTzG1q.mjs → parse-enum-CEXPuN9H.mjs} +1 -1
  186. package/dist/{parse-id-5BZGQ9Vd.mjs → parse-id-EXZan40V.mjs} +1 -1
  187. package/dist/{parse-ref-ByXc-pls.mjs → parse-ref-D28NvwpR.mjs} +1 -1
  188. package/dist/{parse-text-FgX60vIg.mjs → parse-text-C4LYzIFa.mjs} +1 -1
  189. package/dist/{path-XwdHlC23.mjs → path-BA_GGcGN.mjs} +4 -4
  190. package/dist/{poll-CgtcJopL.mjs → poll-vxN__4cz.mjs} +2 -2
  191. package/dist/predicates-0C0TsWcJ.mjs +219 -0
  192. package/dist/{preflight-ChTKhB8Y.mjs → preflight-4iy2qzsh.mjs} +3 -2
  193. package/dist/{process-aqXm5QgC.mjs → process-BQC3mK2k.mjs} +1 -1
  194. package/dist/{publish-C2-pK0cf.mjs → publish--I94MMjp.mjs} +13 -6
  195. package/dist/{pulse-CC81N2_0.mjs → pulse-B2AmIWsO.mjs} +11 -4
  196. package/dist/{pulse-JPrq6NFP.mjs → pulse-CPSpum5U.mjs} +2 -2
  197. package/dist/{query-pmw23KkL.mjs → query-C8w04b4F.mjs} +7 -6
  198. package/dist/{query-DkaUzmMa.mjs → query-O1b4qIr4.mjs} +17 -29
  199. package/dist/{remapping-C3htTzJn.mjs → remapping-BdX4nj-U.mjs} +5 -5
  200. package/dist/{remove-collection-p_t9rUUX.mjs → remove-collection-dltKu8LO.mjs} +3 -3
  201. package/dist/{render-C50k8-jc.mjs → render-DK2j4BwQ.mjs} +3 -2
  202. package/dist/{replace-BQBuFJ1B.mjs → replace-BfO6UFZN.mjs} +4 -4
  203. package/dist/{requirement-check-CpiVuL0H.mjs → requirement-check-1fcffJj6.mjs} +2 -2
  204. package/dist/{rescan-values-DOqXJ3qH.mjs → rescan-values-0-c5Gqtx.mjs} +5 -5
  205. package/dist/{rescan-values-Ctq8wpkI.mjs → rescan-values-7bbNa7WZ.mjs} +5 -5
  206. package/dist/{run-CtMbObQI.mjs → run-5b123gPi.mjs} +5 -4
  207. package/dist/{run-2xgPRuKR.mjs → run-BS_wUAsi.mjs} +6 -5
  208. package/dist/{run-Dn3e8G4x.mjs → run-Cf1nJahe.mjs} +4 -4
  209. package/dist/{runs-CgNoQW6M.mjs → runs-BJ4uy05c.mjs} +6 -6
  210. package/dist/{runtime-Y4VFWmmr.mjs → runtime-D5yfliIq.mjs} +51 -9
  211. package/dist/{scaffold-BuL0_ptz.mjs → scaffold-aUy3Ik4q.mjs} +4 -4
  212. package/dist/schema-Ds_j3N1I.mjs +283 -0
  213. package/dist/{schema-tables-BdXuo_lG.mjs → schema-tables-BuFF9Psy.mjs} +6 -6
  214. package/dist/{schemas-Dap3KFwY.mjs → schemas-DaDsur6B.mjs} +4 -4
  215. package/dist/{search-Dxcejw_v.mjs → search-BcJgmPU3.mjs} +6 -5
  216. package/dist/{search-DUmFK5Sy.mjs → search-CTZzUd_j.mjs} +7 -6
  217. package/dist/{segment-C_gl5ag6.mjs → segment-CWVASaM1.mjs} +1 -1
  218. package/dist/{segment-OsrbUDzw.mjs → segment-Cf-DrdjE.mjs} +3 -1
  219. package/dist/{segment-CebcXn2E.mjs → segment-zy4VVraQ.mjs} +6 -6
  220. package/dist/{send-DYdwcPTb.mjs → send-D0ikejQU.mjs} +3 -3
  221. package/dist/{set-xs8Vyvy2.mjs → set-CjAaw2ZL.mjs} +5 -6
  222. package/dist/{set-active-CVI_DDQi.mjs → set-active-BQjKw1wk.mjs} +4 -4
  223. package/dist/{set-bundle-DX5HqDji.mjs → set-bundle-6Qknum1I.mjs} +6 -6
  224. package/dist/{set-data-actions-DAI1XCQ2.mjs → set-data-actions-LcWEP4RO.mjs} +6 -6
  225. package/dist/{set-enabled-0QI-CHAT.mjs → set-enabled-C8Yww7Yv.mjs} +7 -7
  226. package/dist/{set-sensitivity-DqGkiLSr.mjs → set-sensitivity-OVcL2PbY.mjs} +6 -6
  227. package/dist/{setting-Bmry-y_l.mjs → setting-BsIBFvRP.mjs} +4 -4
  228. package/dist/{setup-CO7QV-ao.mjs → setup-BnczkG96.mjs} +1 -1
  229. package/dist/{setup-UM8N9Vh3.mjs → setup-BxUd_KYl.mjs} +5 -6
  230. package/dist/{signal-D8MH3LMN.mjs → signal-BNUlQjpc.mjs} +1 -1
  231. package/dist/{skill-list-D2FhhYS3.mjs → skill-list-BoJITnw8.mjs} +1 -1
  232. package/dist/{skills-CcLTm3_2.mjs → skills-BQBerRAk.mjs} +3 -2
  233. package/dist/{skills-BiSfuDqA.mjs → skills-CQRgUHI3.mjs} +3 -3
  234. package/dist/{slug-qeARO25o.mjs → slug-COdwq63O.mjs} +1 -1
  235. package/dist/snippet-CRLI3fYI.mjs +19 -0
  236. package/dist/{stash-e5cSvnj3.mjs → stash-BGqpcbSW.mjs} +5 -4
  237. package/dist/{status-BHiO3YBe.mjs → status-CcOJIgfB.mjs} +4 -4
  238. package/dist/{status-CH7BAWGe.mjs → status-_wPMW1wq.mjs} +3 -3
  239. package/dist/{subscription-DWleULhN.mjs → subscription-CqUIrnUJ.mjs} +6 -6
  240. package/dist/{subscriptions-DcCOA2p1.mjs → subscriptions-BP83ctRX.mjs} +6 -6
  241. package/dist/{summary-CipFA6M6.mjs → summary-Byz6Y1v-.mjs} +5 -5
  242. package/dist/{sync-schema-D7p-P8F6.mjs → sync-schema-BJ-AtcCq.mjs} +5 -5
  243. package/dist/{sync-schema-C45WO4db.mjs → sync-schema-DQBHc3bt.mjs} +6 -6
  244. package/dist/{sync-task-DNKG9Bk4.mjs → sync-task-Gf86CU9l.mjs} +1 -1
  245. package/dist/{table-BDsqRU7a.mjs → table-BNA9Or05.mjs} +3 -3
  246. package/dist/{table-CF7zW9cI.mjs → table-hgrX1i-R.mjs} +36 -5
  247. package/dist/table-nIdBLcz7.mjs +26 -0
  248. package/dist/{table-selector-flags-CHfrVpYQ.mjs → table-selector-flags-BpFFoSaT.mjs} +4 -3
  249. package/dist/{text-C2VwKF9D.mjs → text-8nOxfC17.mjs} +1 -1
  250. package/dist/timeline-Cw581KRT.mjs +21 -0
  251. package/dist/{timeline-event-BF1dqSnD.mjs → timeline-event-BHfAXJrB.mjs} +6 -6
  252. package/dist/{transform-DiW7bREn.mjs → transform-B62craFM.mjs} +76 -7
  253. package/dist/{transform-CWGJB8N_.mjs → transform-DKPtUV54.mjs} +2 -2
  254. package/dist/{transform-job-ClX8e5iO.mjs → transform-job-CDIb3B9o.mjs} +6 -1
  255. package/dist/{transform-job-BBZ5L46v.mjs → transform-job-D18XRLBK.mjs} +1 -1
  256. package/dist/transform-job-sCgr8r-t.mjs +22 -0
  257. package/dist/transform-l1oC8oUS.mjs +28 -0
  258. package/dist/{transform-tag-BYoguZfW.mjs → transform-tag-DZEvmwxY.mjs} +5 -5
  259. package/dist/transform-test-hxkx6M8c.mjs +16 -0
  260. package/dist/{transforms-C6MFnT4C.mjs → transforms-D1wwWdCY.mjs} +6 -6
  261. package/dist/{transport-k_fabWdF.mjs → transport-BWixD5Ww.mjs} +5 -4
  262. package/dist/{tree-C4Igf6xs.mjs → tree-IymKTTCK.mjs} +4 -3
  263. package/dist/{typed-schema-Bo0Q6C0S.mjs → typed-schema-gaIKntyu.mjs} +4 -4
  264. package/dist/{unpublish-EStytsEm.mjs → unpublish-BnP0O_S2.mjs} +3 -3
  265. package/dist/{unreferenced-DtUuyBrr.mjs → unreferenced-DDkcn8EQ.mjs} +6 -6
  266. package/dist/{update-DAG8m5f4.mjs → update-BAocDvnS.mjs} +7 -8
  267. package/dist/{update-DECiEVlk.mjs → update-BemK_tZ_.mjs} +10 -11
  268. package/dist/{update-B0Na11v-.mjs → update-Bfws2FN2.mjs} +7 -8
  269. package/dist/{update-FfeHReec.mjs → update-BiBazvzY.mjs} +10 -11
  270. package/dist/{update-DhgfReDD.mjs → update-BsEG1dRm.mjs} +7 -8
  271. package/dist/{update-BogvN2Mb.mjs → update-C0p1E-hs.mjs} +8 -8
  272. package/dist/{update-pk0b6vXU.mjs → update-CFkOEnUu.mjs} +5 -6
  273. package/dist/{update-DT8U29Kk.mjs → update-CKrLtJWZ.mjs} +7 -8
  274. package/dist/{update-Bba_zPSE.mjs → update-C_VV1SP8.mjs} +10 -11
  275. package/dist/{update-DkvIK-eL.mjs → update-CgJwzutJ.mjs} +7 -8
  276. package/dist/{update-BOg1jZ_s.mjs → update-Cga4lrX5.mjs} +11 -12
  277. package/dist/{update-z8ZGCg1r.mjs → update-CsH0lSpQ2.mjs} +7 -8
  278. package/dist/{update-HbggUPuy.mjs → update-CyfLXFKR.mjs} +5 -6
  279. package/dist/{update-CCLpNTPa.mjs → update-D9eA9UOf.mjs} +5 -6
  280. package/dist/{update-B1UXRPN-.mjs → update-D9fs-PSK.mjs} +8 -9
  281. package/dist/{update-DIBaY-fy.mjs → update-DL1Iex_M.mjs} +7 -8
  282. package/dist/{update-BXLY92om.mjs → update-DntKWUl2.mjs} +10 -11
  283. package/dist/{update-CciLWH_s.mjs → update-K8FwdJEV.mjs} +11 -11
  284. package/dist/{update-DT2ViMFr.mjs → update-ReSzm23m.mjs} +5 -6
  285. package/dist/{update-dashcard-m-hkIGUu.mjs → update-dashcard-Bpv45o1_.mjs} +7 -8
  286. package/dist/{update-VGgvQu7W.mjs → update-gAPjldWw.mjs} +5 -6
  287. package/dist/{upgrade-iETJ8fH2.mjs → upgrade-D3aDQZwd.mjs} +5 -4
  288. package/dist/{upload-CoK5LnyA.mjs → upload-B8HbBXb8.mjs} +3 -3
  289. package/dist/{upload-BF5pdKRN.mjs → upload-BAD_9okY.mjs} +2 -2
  290. package/dist/upload-BqJLNCb1.mjs +13 -0
  291. package/dist/{uuid-8Ha-8bDX.mjs → uuid-BIDBDPLI.mjs} +3 -2
  292. package/dist/{validate-BQ7vI8_x.mjs → validate-moGYlHxB.mjs} +8 -18
  293. package/dist/validate-query-Bf5FhhMI.mjs +72 -0
  294. package/dist/{values-BsgA7-6h.mjs → values-BDekphEw.mjs} +5 -5
  295. package/dist/{verify-cjUPMF_B.mjs → verify-BnZqq9Aw.mjs} +3 -3
  296. package/dist/{verify-CzBZbP4W.mjs → verify-CMTrDvAW.mjs} +3 -3
  297. package/dist/{verify-crIrbGZV.mjs → verify-k0WHgc16.mjs} +4 -3
  298. package/dist/{wait-mFUfpSaj.mjs → wait-C69z8PSw.mjs} +5 -5
  299. package/dist/{wait-flags-BnZ-dfE2.mjs → wait-flags-C3cu_O0w.mjs} +2 -2
  300. package/dist/{window-CfK_j6m1.mjs → window-D1w7B0vh.mjs} +1 -1
  301. package/package.json +1 -1
  302. package/skill-data/core/SKILL.md +18 -14
  303. package/skill-data/data-app/SKILL.md +16 -17
  304. package/skill-data/data-app/template/README.md +1 -1
  305. package/skill-data/data-app-actions/SKILL.md +3 -0
  306. package/skill-data/data-app-data/SKILL.md +6 -6
  307. package/skill-data/data-app-filters/SKILL.md +12 -4
  308. package/skill-data/data-app-ui/SKILL.md +11 -11
  309. package/skill-data/data-workflow/references/reusable-definitions.md +2 -2
  310. package/skill-data/git-sync/SKILL.md +13 -11
  311. package/skill-data/mbql/SKILL.md +3 -3
  312. package/skill-data/native-sql/SKILL.md +1 -1
  313. package/skill-data/native-sql/references/template-tags.md +1 -1
  314. package/dist/api-key-wGtJ8kYy.mjs +0 -13
  315. package/dist/body-M5qsJoub.mjs +0 -16
  316. package/dist/card-BWTjCE93.mjs +0 -25
  317. package/dist/collection-9_mj8rVX.mjs +0 -21
  318. package/dist/dashboard-BZV-0Qjp.mjs +0 -35
  319. package/dist/data-action-B7kRpvCH.mjs +0 -24
  320. package/dist/dependency-DDRGBlFL.mjs +0 -15
  321. package/dist/document-BeLf7NqP.mjs +0 -20
  322. package/dist/field-CQDz-6DK.mjs +0 -21
  323. package/dist/git-sync-D_T9oNC6.mjs +0 -29
  324. package/dist/glossary-BVK5DaLV.mjs +0 -14
  325. package/dist/snippet-DKARah-L.mjs +0 -19
  326. package/dist/table-BPYHnzyV.mjs +0 -26
  327. package/dist/timeline-C2m_QHxn.mjs +0 -21
  328. package/dist/transform-N_elgRuh.mjs +0 -28
  329. package/dist/transform-job-CTV6KRP2.mjs +0 -22
  330. package/dist/transform-test-jaBpHOM5.mjs +0 -16
  331. package/dist/upload-CqSGEZQW.mjs +0 -13
  332. package/dist/validate-query-YtH3d5BP.mjs +0 -38
@@ -1,4 +1,4 @@
1
- import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-DNmFKALA.mjs";
1
+ import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-Cz2qLX2m.mjs";
2
2
  //#region src/output/views/collection.ts
3
3
  const collectionView = {
4
4
  compactPick: CollectionCompact,
@@ -0,0 +1,21 @@
1
+ import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
2
+ //#region src/commands/collection/index.ts
3
+ var collection_default = defineCommandGroup({
4
+ name: "collection",
5
+ description: "Manage Metabase collections",
6
+ skills: [{
7
+ skill: "core",
8
+ purpose: "collection ref forms and the transforms namespace"
9
+ }],
10
+ subCommands: {
11
+ list: () => import("./list-DR9dswtK.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-zGreQNnG.mjs").then((mod) => mod.default),
13
+ items: () => import("./items-Dzh_xylQ.mjs").then((mod) => mod.default),
14
+ tree: () => import("./tree-IymKTTCK.mjs").then((mod) => mod.default),
15
+ create: () => import("./create-DIZGUCFE.mjs").then((mod) => mod.default),
16
+ update: () => import("./update-K8FwdJEV.mjs").then((mod) => mod.default),
17
+ archive: () => import("./archive-B4G4EE9n.mjs").then((mod) => mod.default)
18
+ }
19
+ });
20
+ //#endregion
21
+ export { collection_default as default };
@@ -1,4 +1,4 @@
1
- import { t as NonBlankText } from "./text-C2VwKF9D.mjs";
1
+ import { t as NonBlankText } from "./text-8nOxfC17.mjs";
2
2
  import { z } from "zod";
3
3
  //#region ../client/src/domain/collection.ts
4
4
  const CollectionId = z.union([z.number().int(), z.string()]);
@@ -1,4 +1,5 @@
1
- import { St as ConfigError, W as HttpError } from "./cli.mjs";
1
+ import { o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
2
+ import { K as HttpError } from "./cli.mjs";
2
3
  //#region src/commands/transform/collection-namespace.ts
3
4
  const TRANSFORMS_NAMESPACE_HINT = "transforms can only be filed in a :transforms-namespace collection. Create one with `mb collection create --body '{\"name\":\"…\"}' --namespace transforms` and pass its id as collection_id, or omit collection_id to leave the transform uncollected.";
4
5
  function enrichTransformCollectionError(error) {
@@ -1,11 +1,11 @@
1
- import { t as defineCommandGroup } from "./group-81zoQcEP.mjs";
1
+ import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
2
2
  //#region src/commands/content-translation/index.ts
3
3
  var content_translation_default = defineCommandGroup({
4
4
  name: "content-translation",
5
5
  description: "Download or replace the content translation dictionary",
6
6
  subCommands: {
7
- download: () => import("./download-BFu9xYHX.mjs").then((mod) => mod.default),
8
- upload: () => import("./upload-CoK5LnyA.mjs").then((mod) => mod.default)
7
+ download: () => import("./download-CEvVDGeC.mjs").then((mod) => mod.default),
8
+ upload: () => import("./upload-B8HbBXb8.mjs").then((mod) => mod.default)
9
9
  }
10
10
  });
11
11
  //#endregion
@@ -1,9 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
4
- import { t as Document } from "./document-UMG6me2P.mjs";
5
- import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-CTM91pxH.mjs";
6
- import { t as documentView } from "./document-DVIu3Vj4.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
+ import { t as Document } from "./document-BHOQq2T_.mjs";
5
+ import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-DZ5Cy-Gk.mjs";
6
+ import { t as documentView } from "./document-lS1XZEF3.mjs";
7
7
  //#region src/commands/document/copy.ts
8
8
  var copy_default = defineMetabaseCommand({
9
9
  meta: {
@@ -1,9 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
4
- import { r as DashboardCopy } from "./dashboard-Chjy5GKR.mjs";
5
- import { t as dashboardCopyView } from "./dashboard-D5E3fMKh.mjs";
6
- import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-CTM91pxH.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
+ import { r as DashboardCopy } from "./dashboard-Cwsf-e9T.mjs";
5
+ import { t as dashboardCopyView } from "./dashboard-Bx2sYijR.mjs";
6
+ import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-DZ5Cy-Gk.mjs";
7
7
  //#region src/commands/dashboard/copy.ts
8
8
  var copy_default = defineMetabaseCommand({
9
9
  meta: {
@@ -1,5 +1,5 @@
1
- import { pt as parseOptionalInteger } from "./cli.mjs";
2
- import { t as parseOptionalText } from "./parse-text-FgX60vIg.mjs";
1
+ import { ht as parseOptionalInteger } from "./cli.mjs";
2
+ import { t as parseOptionalText } from "./parse-text-C4LYzIFa.mjs";
3
3
  //#region src/commands/copy-flags.ts
4
4
  const copyFlags = {
5
5
  name: {
@@ -1,6 +1,5 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
4
  import { r as TimelineCreateInput, t as Timeline } from "./timeline-DcsCXNUt.mjs";
6
5
  import { n as timelineView } from "./timeline-BgWz8DYK.mjs";
@@ -25,11 +24,11 @@ var create_default = defineMetabaseCommand({
25
24
  "cat timeline.json | mb timeline create",
26
25
  "mb timeline create --file timeline.json"
27
26
  ],
28
- async run({ args, ctx, getClient }) {
27
+ async run({ args, ctx, getClient, readBody }) {
29
28
  const body = await readBody({
30
29
  flag: args.body,
31
30
  file: args.file
32
- }, TimelineCreateInput);
31
+ });
33
32
  const created = await (await getClient()).timeline.create(body);
34
33
  renderSummary(created, timelineView, `Created timeline ${created.id} "${created.name}".`, ctx);
35
34
  }
@@ -1,17 +1,16 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { r as DataActionCreateInput, t as DataAction } from "./data-action-DZxVB_hD.mjs";
6
- import { n as DATA_ACTION_DATASET_QUERY_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
7
- import { n as dataActionView } from "./data-action-R9qxJDPA.mjs";
4
+ import { i as DataActionCreateInput, n as DataAction } from "./data-action-CuvI17XF.mjs";
5
+ import { DATA_ACTION_DATASET_QUERY, skipValidateFlag } from "./validate-query-Bf5FhhMI.mjs";
6
+ import { n as dataActionView } from "./data-action-DLj9cgpu.mjs";
8
7
  //#region src/commands/data-action/create.ts
9
8
  var create_default = defineMetabaseCommand({
10
9
  meta: {
11
10
  name: "create",
12
11
  description: "Create a data action from JSON"
13
12
  },
14
- details: "A data action is a parameterized native query that writes to a database, filed in a collection. The JSON body needs `name`, `type: \"query\"`, `database_id`, a native `dataset_query` whose `{{tag}}` placeholders are its inputs, and `parameters` targeting those tags; `collection_id` picks a collection in the `data-actions` or `data-apps` namespace (omit for the data actions root; a regular collection is refused). Data actions must be enabled on the database (`mb db set-data-actions <id> true`). An MBQL 5 `dataset_query` is checked against a bundled JSON Schema before sending; pass --skip-validate to bypass.",
13
+ details: "A data action is a parameterized native query that writes to a database, filed in a collection. The JSON body needs `name`, `type: \"query\"`, `database_id`, a native `dataset_query` whose `{{tag}}` placeholders are its inputs, and `parameters` targeting those tags; `collection_id` picks a collection in the `data-actions` or `data-apps` namespace (omit for the data actions root; a regular collection is refused). Data actions must be enabled on the database (`mb db set-data-actions <id> true`). An MBQL 5 `dataset_query` is checked against a bundled JSON Schema (print it with `mb schema query`) before sending; pass --skip-validate to bypass.",
15
14
  skills: [{
16
15
  skill: "data-action",
17
16
  purpose: "author a data action and its parameters"
@@ -28,18 +27,18 @@ var create_default = defineMetabaseCommand({
28
27
  ...skipValidateFlag
29
28
  },
30
29
  inputSchema: DataActionCreateInput,
30
+ embeddedDocuments: [DATA_ACTION_DATASET_QUERY],
31
31
  outputSchema: DataAction,
32
32
  examples: [
33
33
  "cat data-action.json | mb data-action create",
34
34
  "mb data-action create --file data-action.json",
35
35
  "mb data-action create --file data-action.json --skip-validate"
36
36
  ],
37
- async run({ args, ctx, getClient }) {
37
+ async run({ args, ctx, getClient, readBody }) {
38
38
  const body = await readBody({
39
39
  flag: args.body,
40
40
  file: args.file
41
- }, DataActionCreateInput);
42
- preflightMbql5Query(body.dataset_query, DATA_ACTION_DATASET_QUERY_LABELS, { skip: args["skip-validate"] === true });
41
+ });
43
42
  const created = await (await getClient()).dataAction.create(body);
44
43
  renderSummary(created, dataActionView, `Created data action ${created.id} "${created.name}".`, ctx);
45
44
  }
@@ -1,11 +1,11 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { a as DashboardCreateInput, t as Dashboard } from "./dashboard-Chjy5GKR.mjs";
6
- import { n as dashboardView } from "./dashboard-D5E3fMKh.mjs";
7
- import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-ChTKhB8Y.mjs";
4
+ import { a as DashboardCreateInput, s as DashboardLayoutInput, t as Dashboard } from "./dashboard-Cwsf-e9T.mjs";
5
+ import { n as dashboardView } from "./dashboard-Bx2sYijR.mjs";
6
+ import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-4iy2qzsh.mjs";
8
7
  //#region src/commands/dashboard/create.ts
8
+ const DashboardCreateBody = DashboardCreateInput.extend(DashboardLayoutInput.shape);
9
9
  var create_default = defineMetabaseCommand({
10
10
  meta: {
11
11
  name: "create",
@@ -30,7 +30,7 @@ var create_default = defineMetabaseCommand({
30
30
  ...connectionFlags,
31
31
  ...bodyInputFlags
32
32
  },
33
- inputSchema: DashboardCreateInput,
33
+ inputSchema: DashboardCreateBody,
34
34
  outputSchema: Dashboard,
35
35
  examples: [
36
36
  "cat dashboard.json | mb dashboard create",
@@ -38,11 +38,11 @@ var create_default = defineMetabaseCommand({
38
38
  "mb dashboard create --body '{\"name\":\"My Dashboard\",\"collection_id\":4}'",
39
39
  "mb dashboard create --body '{\"name\":\"D\",\"dashcards\":[{\"id\":-1,\"card_id\":42,\"row\":0,\"col\":0,\"size_x\":12,\"size_y\":6}]}'"
40
40
  ],
41
- async run({ args, ctx, getClient }) {
41
+ async run({ args, ctx, getClient, readBody }) {
42
42
  const { dashcards, tabs, ...createOnly } = await readBody({
43
43
  flag: args.body,
44
44
  file: args.file
45
- }, DashboardCreateInput);
45
+ });
46
46
  const client = await getClient();
47
47
  await preflightDashcardCardReferences(client, dashcards);
48
48
  const created = await client.dashboard.create(createOnly);
@@ -1,17 +1,16 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { i as CardDetail, r as CardCreateInput } from "./card-QR3zEu6E.mjs";
6
- import { n as cardView } from "./card-3NmUiU5F.mjs";
7
- import { o as preflightMbql5Query, s as skipValidateFlag, t as CARD_DATASET_QUERY_LABELS } from "./validate-query-YtH3d5BP.mjs";
4
+ import { i as CardDetail, r as CardCreateInput } from "./card-BJRZ5D5Q.mjs";
5
+ import { n as cardView } from "./card-VipF12MJ.mjs";
6
+ import { CARD_DATASET_QUERY, skipValidateFlag } from "./validate-query-Bf5FhhMI.mjs";
8
7
  //#region src/commands/card/create.ts
9
8
  var create_default = defineMetabaseCommand({
10
9
  meta: {
11
10
  name: "create",
12
11
  description: "Create a card (question, model, or metric) from JSON"
13
12
  },
14
- details: "The JSON body needs `name`, `display` (the visualization — e.g. table, bar, scalar), `dataset_query` (the query powering the card), and `visualization_settings` (`{}` is fine). When `dataset_query` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb query --print-schema`) before sending — fix the reported errors, or pass --skip-validate to send anyway. Native-SQL and legacy queries are sent unchecked.",
13
+ details: "The JSON body needs `name`, `display` (the visualization — e.g. table, bar, scalar), `dataset_query` (the query powering the card), and `visualization_settings` (`{}` is fine). When `dataset_query` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb schema query`) before sending — fix the reported errors, or pass --skip-validate to send anyway. Native-SQL and legacy queries are sent unchecked.",
15
14
  skills: [
16
15
  {
17
16
  skill: "mbql",
@@ -35,6 +34,7 @@ var create_default = defineMetabaseCommand({
35
34
  ...skipValidateFlag
36
35
  },
37
36
  inputSchema: CardCreateInput,
37
+ embeddedDocuments: [CARD_DATASET_QUERY],
38
38
  outputSchema: CardDetail,
39
39
  examples: [
40
40
  "cat card.json | mb card create",
@@ -42,12 +42,11 @@ var create_default = defineMetabaseCommand({
42
42
  "mb card create --body '{\"name\":\"x\",\"display\":\"table\",\"dataset_query\":{...},\"visualization_settings\":{}}'",
43
43
  "mb card create --file card.json --skip-validate"
44
44
  ],
45
- async run({ args, ctx, getClient }) {
45
+ async run({ args, ctx, getClient, readBody }) {
46
46
  const body = await readBody({
47
47
  flag: args.body,
48
48
  file: args.file
49
- }, CardCreateInput);
50
- preflightMbql5Query(body.dataset_query, CARD_DATASET_QUERY_LABELS, { skip: args["skip-validate"] === true });
49
+ });
51
50
  const created = await (await getClient()).card.create(body);
52
51
  renderSummary(created, cardView, `Created card ${created.id} "${created.name}".`, ctx);
53
52
  }
@@ -1,6 +1,5 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
4
  import { r as TransformTagCreateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
6
5
  import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
@@ -24,11 +23,11 @@ var create_default = defineMetabaseCommand({
24
23
  "mb transform-tag create --file tag.json",
25
24
  "echo '{\"name\":\"nightly\"}' | mb transform-tag create"
26
25
  ],
27
- async run({ args, ctx, getClient }) {
26
+ async run({ args, ctx, getClient, readBody }) {
28
27
  const body = await readBody({
29
28
  flag: args.body,
30
29
  file: args.file
31
- }, TransformTagCreateInput);
30
+ });
32
31
  const created = await (await getClient()).transformTag.create(body);
33
32
  renderSummary(created, transformTagView, `Created transform tag ${created.id} "${created.name}".`, ctx);
34
33
  }
@@ -1,6 +1,5 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
4
  import { i as TimelineEvent, o as TimelineEventCreateInput } from "./timeline-DcsCXNUt.mjs";
6
5
  import { t as timelineEventView } from "./timeline-BgWz8DYK.mjs";
@@ -25,11 +24,11 @@ var create_default = defineMetabaseCommand({
25
24
  "cat event.json | mb timeline-event create",
26
25
  "mb timeline-event create --file event.json"
27
26
  ],
28
- async run({ args, ctx, getClient }) {
27
+ async run({ args, ctx, getClient, readBody }) {
29
28
  const body = await readBody({
30
29
  flag: args.body,
31
30
  file: args.file
32
- }, TimelineEventCreateInput);
31
+ });
33
32
  const created = await (await getClient()).timelineEvent.create(body);
34
33
  renderSummary(created, timelineEventView, `Created timeline event ${created.id} "${created.name}".`, ctx);
35
34
  }
@@ -1,9 +1,8 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { i as TransformJobCreateInput, t as TransformJob } from "./transform-job-ClX8e5iO.mjs";
6
- import { t as transformJobView } from "./transform-job-BBZ5L46v.mjs";
4
+ import { i as TransformJobCreateInput, t as TransformJob } from "./transform-job-CDIb3B9o.mjs";
5
+ import { t as transformJobView } from "./transform-job-D18XRLBK.mjs";
7
6
  //#region src/commands/transform-job/create.ts
8
7
  var create_default = defineMetabaseCommand({
9
8
  meta: {
@@ -24,11 +23,11 @@ var create_default = defineMetabaseCommand({
24
23
  "mb transform-job create --file job.json",
25
24
  "mb transform-job create --body '{\"name\":\"daily\",\"schedule\":\"0 0 0 * * ?\"}'"
26
25
  ],
27
- async run({ args, ctx, getClient }) {
26
+ async run({ args, ctx, getClient, readBody }) {
28
27
  const body = await readBody({
29
28
  flag: args.body,
30
29
  file: args.file
31
- }, TransformJobCreateInput);
30
+ });
32
31
  const created = await (await getClient()).transformJob.create(body);
33
32
  renderSummary(created, transformJobView, `Created transform job ${created.id} "${created.name}".`, ctx);
34
33
  }
@@ -1,17 +1,16 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { r as SegmentCreateInput, t as Segment } from "./segment-OsrbUDzw.mjs";
6
- import { i as SEGMENT_DEFINITION_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
7
- import { t as segmentView } from "./segment-C_gl5ag6.mjs";
4
+ import { r as SegmentCreateInput, t as Segment } from "./segment-Cf-DrdjE.mjs";
5
+ import { SEGMENT_DEFINITION, skipValidateFlag } from "./validate-query-Bf5FhhMI.mjs";
6
+ import { t as segmentView } from "./segment-CWVASaM1.mjs";
8
7
  //#region src/commands/segment/create.ts
9
8
  var create_default = defineMetabaseCommand({
10
9
  meta: {
11
10
  name: "create",
12
11
  description: "Create a segment (saved filter) from JSON"
13
12
  },
14
- details: "A segment is a reusable, saved row filter tied to a table. The JSON body needs `name`, `table_id`, and a `definition` (an MBQL query holding the filter). An MBQL 5 `definition` is checked against a bundled JSON Schema (print it with `mb query --print-schema`) before sending; pass --skip-validate to bypass.",
13
+ details: "A segment is a reusable, saved row filter tied to a table. The JSON body needs `name`, `table_id`, and a `definition` (an MBQL query holding the filter). An MBQL 5 `definition` is checked against a bundled JSON Schema (print it with `mb schema query`) before sending; pass --skip-validate to bypass.",
15
14
  skills: [{
16
15
  skill: "mbql",
17
16
  purpose: "the definition filter clause"
@@ -25,18 +24,18 @@ var create_default = defineMetabaseCommand({
25
24
  ...skipValidateFlag
26
25
  },
27
26
  inputSchema: SegmentCreateInput,
27
+ embeddedDocuments: [SEGMENT_DEFINITION],
28
28
  outputSchema: Segment,
29
29
  examples: [
30
30
  "cat segment.json | mb segment create",
31
31
  "mb segment create --file segment.json",
32
32
  "mb segment create --file segment.json --skip-validate"
33
33
  ],
34
- async run({ args, ctx, getClient }) {
34
+ async run({ args, ctx, getClient, readBody }) {
35
35
  const body = await readBody({
36
36
  flag: args.body,
37
37
  file: args.file
38
- }, SegmentCreateInput);
39
- preflightMbql5Query(body.definition, SEGMENT_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
38
+ });
40
39
  const created = await (await getClient()).segment.create(body);
41
40
  renderSummary(created, segmentView, `Created segment ${created.id} "${created.name}".`, ctx);
42
41
  }
@@ -1,9 +1,8 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { i as PulseCreateInput, t as Pulse } from "./pulse-CC81N2_0.mjs";
6
- import { t as pulseView } from "./pulse-JPrq6NFP.mjs";
4
+ import { i as PulseCreateInput, t as Pulse } from "./pulse-B2AmIWsO.mjs";
5
+ import { t as pulseView } from "./pulse-CPSpum5U.mjs";
7
6
  //#region src/commands/subscription/create.ts
8
7
  var create_default = defineMetabaseCommand({
9
8
  meta: {
@@ -31,11 +30,11 @@ var create_default = defineMetabaseCommand({
31
30
  "cat subscription.json | mb subscription create",
32
31
  "mb subscription create --file subscription.json"
33
32
  ],
34
- async run({ args, ctx, getClient }) {
33
+ async run({ args, ctx, getClient, readBody }) {
35
34
  const body = await readBody({
36
35
  flag: args.body,
37
36
  file: args.file
38
- }, PulseCreateInput);
37
+ });
39
38
  const created = await (await getClient()).pulse.create(body);
40
39
  renderSummary(created, pulseView, `Created subscription ${created.id} on dashboard ${created.dashboard_id}.`, ctx);
41
40
  }
@@ -1,7 +1,7 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as Library } from "./library-DKIqzyUk.mjs";
4
- import { t as libraryView } from "./library-wUiD2jbw.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
3
+ import { t as Library } from "./library-C4g9pdiS.mjs";
4
+ import { t as libraryView } from "./library-BprxuqZl.mjs";
5
5
  //#region src/commands/library/create.ts
6
6
  var create_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,9 +1,8 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { a as NotificationCreateInput, n as Notification } from "./notification-DaA4bBHW.mjs";
3
- import { t as notificationView } from "./notification-W2SVssyY.mjs";
4
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { o as NotificationCreateInput, r as Notification } from "./notification-B5yMuPmo.mjs";
3
+ import { t as notificationView } from "./notification-BEJaEZS2.mjs";
4
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
5
5
  import { t as describeAlert } from "./summary-BytbDz6e.mjs";
6
- import { t as readBody } from "./body-M5qsJoub.mjs";
7
6
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
8
7
  //#region src/commands/alert/create.ts
9
8
  var create_default = defineMetabaseCommand({
@@ -32,11 +31,11 @@ var create_default = defineMetabaseCommand({
32
31
  "cat alert.json | mb alert create",
33
32
  "mb alert create --file alert.json"
34
33
  ],
35
- async run({ args, ctx, getClient }) {
34
+ async run({ args, ctx, getClient, readBody }) {
36
35
  const body = await readBody({
37
36
  flag: args.body,
38
37
  file: args.file
39
- }, NotificationCreateInput);
38
+ });
40
39
  const created = await (await getClient()).notification.create(body);
41
40
  renderSummary(created, notificationView, describeAlert("Created", created), ctx);
42
41
  }
@@ -1,6 +1,5 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
4
  import { r as SnippetCreateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
6
5
  import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
@@ -24,11 +23,11 @@ var create_default = defineMetabaseCommand({
24
23
  "mb snippet create --file snippet.json",
25
24
  "mb snippet create --body '{\"name\":\"active\",\"content\":\"WHERE active = true\"}'"
26
25
  ],
27
- async run({ args, ctx, getClient }) {
26
+ async run({ args, ctx, getClient, readBody }) {
28
27
  const body = await readBody({
29
28
  flag: args.body,
30
29
  file: args.file
31
- }, SnippetCreateInput);
30
+ });
32
31
  const created = await (await getClient()).snippet.create(body);
33
32
  renderSummary(created, snippetView, `Created snippet ${created.id} "${created.name}".`, ctx);
34
33
  }
@@ -1,10 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { f as CollectionNamespace, o as CollectionCreateInput, r as Collection } from "./collection-DNmFKALA.mjs";
6
- import { t as parseEnumFlag } from "./parse-enum-DAcTzG1q.mjs";
7
- import { n as collectionView } from "./collection-D5vt2IJ_.mjs";
4
+ import { f as CollectionNamespace, o as CollectionCreateInput, r as Collection } from "./collection-Cz2qLX2m.mjs";
5
+ import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.mjs";
6
+ import { n as collectionView } from "./collection-Bf3lv-zo.mjs";
8
7
  //#region src/commands/collection/create.ts
9
8
  var create_default = defineMetabaseCommand({
10
9
  meta: {
@@ -31,11 +30,11 @@ var create_default = defineMetabaseCommand({
31
30
  "mb collection create --body '{\"name\":\"My Collection\",\"parent_id\":4}'",
32
31
  "mb collection create --body '{\"name\":\"ETL\"}' --namespace transforms"
33
32
  ],
34
- async run({ args, ctx, getClient }) {
33
+ async run({ args, ctx, getClient, readBody }) {
35
34
  const body = await readBody({
36
35
  flag: args.body,
37
36
  file: args.file
38
- }, CollectionCreateInput);
37
+ });
39
38
  if (typeof args.namespace === "string" && args.namespace !== "") body.namespace = parseEnumFlag(args.namespace, CollectionNamespace, "namespace");
40
39
  const created = await (await getClient()).collection.create(body);
41
40
  renderSummary(created, collectionView, `Created collection ${created.id} "${created.name}".`, ctx);
@@ -1,9 +1,8 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { r as DocumentCreateInput, t as Document } from "./document-UMG6me2P.mjs";
6
- import { t as documentView } from "./document-DVIu3Vj4.mjs";
4
+ import { r as DocumentCreateInput, t as Document } from "./document-BHOQq2T_.mjs";
5
+ import { t as documentView } from "./document-lS1XZEF3.mjs";
7
6
  //#region src/commands/document/create.ts
8
7
  var create_default = defineMetabaseCommand({
9
8
  meta: {
@@ -24,11 +23,11 @@ var create_default = defineMetabaseCommand({
24
23
  "mb document create --file doc.json",
25
24
  "mb document create --body '{\"name\":\"Notes\",\"document\":{\"type\":\"doc\",\"content\":[]}}'"
26
25
  ],
27
- async run({ args, ctx, getClient }) {
26
+ async run({ args, ctx, getClient, readBody }) {
28
27
  const body = await readBody({
29
28
  flag: args.body,
30
29
  file: args.file
31
- }, DocumentCreateInput);
30
+ });
32
31
  const created = await (await getClient()).document.create(body);
33
32
  renderSummary(created, documentView, `Created document ${created.id} "${created.name}".`, ctx);
34
33
  }
@@ -1,6 +1,5 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
4
  import { r as TransformTestCreateInput, t as TransformTest } from "./transform-test-Bexa_K89.mjs";
6
5
  import { n as transformTestView } from "./transform-test-C49ZTK7M.mjs";
@@ -21,11 +20,11 @@ var create_default = defineMetabaseCommand({
21
20
  inputSchema: TransformTestCreateInput,
22
21
  outputSchema: TransformTest,
23
22
  examples: ["cat transform-test.json | mb transform-test create", "mb transform-test create --file transform-test.json"],
24
- async run({ args, ctx, getClient }) {
23
+ async run({ args, ctx, getClient, readBody }) {
25
24
  const body = await readBody({
26
25
  flag: args.body,
27
26
  file: args.file
28
- }, TransformTestCreateInput);
27
+ });
29
28
  const created = await (await getClient()).transformTest.create(body);
30
29
  renderSummary(created, transformTestView, `Created transform test ${created.id} "${created.name}".`, ctx);
31
30
  }
@@ -1,18 +1,17 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
- import { t as readBody } from "./body-M5qsJoub.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-D5yfliIq.mjs";
4
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { r as TransformCreateInput, t as Transform } from "./transform-DiW7bREn.mjs";
6
- import { a as TRANSFORM_SOURCE_QUERY_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
7
- import { n as transformView } from "./transform-CWGJB8N_.mjs";
8
- import { t as enrichTransformCollectionError } from "./collection-namespace-Dl8_7xII.mjs";
4
+ import { r as TransformCreateInput, t as Transform } from "./transform-B62craFM.mjs";
5
+ import { TRANSFORM_SOURCE_QUERY, skipValidateFlag } from "./validate-query-Bf5FhhMI.mjs";
6
+ import { n as transformView } from "./transform-DKPtUV54.mjs";
7
+ import { t as enrichTransformCollectionError } from "./collection-namespace-C0JcSEwN.mjs";
9
8
  //#region src/commands/transform/create.ts
10
9
  var create_default = defineMetabaseCommand({
11
10
  meta: {
12
11
  name: "create",
13
12
  description: "Create a transform from JSON"
14
13
  },
15
- details: "The JSON body needs a `name`, a `source` (the query to run — native SQL or MBQL — under `source.query`), and a `target` (the warehouse table to write, with `database`/`schema`/`name`). When `source.query` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb query --print-schema`) before sending; pass --skip-validate to bypass.",
14
+ details: "The JSON body needs a `name`, a `source` (the query to run — native SQL or MBQL — under `source.query`), and a `target` (the warehouse table to write, with `database`/`schema`/`name`). When `source.query` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb schema query`) before sending; pass --skip-validate to bypass.",
16
15
  skills: [{
17
16
  skill: "mbql",
18
17
  purpose: "MBQL source.query bodies"
@@ -26,18 +25,18 @@ var create_default = defineMetabaseCommand({
26
25
  ...skipValidateFlag
27
26
  },
28
27
  inputSchema: TransformCreateInput,
28
+ embeddedDocuments: [TRANSFORM_SOURCE_QUERY],
29
29
  outputSchema: Transform,
30
30
  examples: [
31
31
  "cat transform.json | mb transform create",
32
32
  "mb transform create --file transform.json",
33
33
  "mb transform create --file transform.json --skip-validate"
34
34
  ],
35
- async run({ args, ctx, getClient }) {
35
+ async run({ args, ctx, getClient, readBody }) {
36
36
  const body = await readBody({
37
37
  flag: args.body,
38
38
  file: args.file
39
- }, TransformCreateInput);
40
- if (body.source.type === "query") preflightMbql5Query(body.source.query, TRANSFORM_SOURCE_QUERY_LABELS, { skip: args["skip-validate"] === true });
39
+ });
41
40
  const created = await (await getClient()).transform.create(body).catch((error) => {
42
41
  throw enrichTransformCollectionError(error);
43
42
  });