@metabase/cli 0.4.0-alpha.release-65-integration-branch.31ca6bb → 0.4.1-alpha.fix-transform-test-ee-path.b41b46c

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 (290) hide show
  1. package/dist/{add-collection-B-Kczwcj.mjs → add-collection-CcjydN8e.mjs} +3 -3
  2. package/dist/{alert-Ne0ivd5m.mjs → alert-DBTU8iHe.mjs} +7 -7
  3. package/dist/{alerts-Fakzg9iP.mjs → alerts-DsgnumqY.mjs} +6 -6
  4. package/dist/{append-DCDVqPmR.mjs → append-DUFn3_Og.mjs} +4 -4
  5. package/dist/{archive-DCCkQTjQ.mjs → archive-BEzfnrwM.mjs} +3 -3
  6. package/dist/{archive-CGmvQht4.mjs → archive-BTfOiOnx.mjs} +5 -5
  7. package/dist/{archive-CL8wqAzm.mjs → archive-Bxl1oeJr.mjs} +3 -3
  8. package/dist/{archive-BbNqts-V.mjs → archive-CC6THE3k.mjs} +3 -3
  9. package/dist/{archive-CpCSY4RT.mjs → archive-CI-WE7dA.mjs} +5 -5
  10. package/dist/{archive-CSdktxvW.mjs → archive-CWs273rN.mjs} +5 -5
  11. package/dist/{archive-C93UR4Uc.mjs → archive-CcPTctIo.mjs} +3 -3
  12. package/dist/{archive-DCE087yD.mjs → archive-DVgglC0F.mjs} +4 -4
  13. package/dist/{archive-DIZu7o4C.mjs → archive-DjQkD1WI.mjs} +4 -4
  14. package/dist/{archive-DEef7eB8.mjs → archive-jwyopr47.mjs} +3 -3
  15. package/dist/{archive-BNJit8eD.mjs → archive-sfqadV_a.mjs} +3 -3
  16. package/dist/{auth-Bx4QQhqt.mjs → auth-IQKgyb_x.mjs} +5 -5
  17. package/dist/{body-CB2eDFFb.mjs → body-CT1cQrhp.mjs} +3 -3
  18. package/dist/{branch-flag-pFQPNYKr.mjs → branch-flag-Czh8JT1G.mjs} +1 -1
  19. package/dist/{branches-B6ilUG-7.mjs → branches-ByUeNOBP.mjs} +3 -3
  20. package/dist/{breaking-Dg3-8yDF.mjs → breaking-BKR88YVq.mjs} +6 -6
  21. package/dist/{broken-BNBD4Eo3.mjs → broken-DeS3_Cg2.mjs} +8 -8
  22. package/dist/{bulk-discard-values-DfKXuZpR.mjs → bulk-discard-values-DY7svs0d.mjs} +5 -5
  23. package/dist/{bulk-edit-oUCfDQ_M.mjs → bulk-edit-3EfcsqCu.mjs} +4 -4
  24. package/dist/{bulk-rescan-values-B8pNlXUH.mjs → bulk-rescan-values-BpwnC_WY.mjs} +4 -4
  25. package/dist/{bulk-sync-schema-tRp7jBJt.mjs → bulk-sync-schema-Dwbs0TsG.mjs} +4 -4
  26. package/dist/{cancel-Bl4BMkwI.mjs → cancel-Nz4jJ-Ey.mjs} +3 -3
  27. package/dist/{cancel-task-CWWo7vLf.mjs → cancel-task-CX_qYiJ0.mjs} +2 -2
  28. package/dist/{card-P5mBknsl.mjs → card-Bv4ZN0oV.mjs} +12 -2
  29. package/dist/{card-CQNUT9pm.mjs → card-DSrgU7lT.mjs} +1 -1
  30. package/dist/card-DmQO85ej.mjs +25 -0
  31. package/dist/{cards-BIUYdSIR.mjs → cards-FUW8-5PO.mjs} +4 -4
  32. package/dist/cli.mjs +69 -58
  33. package/dist/{client-BHIFvEg2.mjs → client-5y-BaV3d.mjs} +13 -560
  34. package/dist/collection-BPVrTfTv.mjs +21 -0
  35. package/dist/{collection-D3KXhvnc.mjs → collection-BgPYl2c5.mjs} +1 -1
  36. package/dist/{collection-BG3Ksea-.mjs → collection-DPiztU_l.mjs} +1 -1
  37. package/dist/{collection-namespace-ZQePD67z.mjs → collection-namespace-Q_up_tSg.mjs} +2 -2
  38. package/dist/{content-translation-BRdNdAmn.mjs → content-translation-CSkaKlqa.mjs} +3 -3
  39. package/dist/{copy-CbDfVZRC.mjs → copy-WlNBviDZ.mjs} +6 -6
  40. package/dist/{copy-BMEaYmTb.mjs → copy-fikpWJO4.mjs} +4 -4
  41. package/dist/{copy-flags-anRhAvB5.mjs → copy-flags-j38p0var.mjs} +2 -2
  42. package/dist/{create-CBSsW8Hm.mjs → create-9sPJd45D.mjs} +6 -6
  43. package/dist/{create-c2zR9y4J.mjs → create-BI73JzZN.mjs} +4 -4
  44. package/dist/{create-SqmOf6WQ.mjs → create-BmCz5lro.mjs} +6 -6
  45. package/dist/{create-zpJIRn9j.mjs → create-C0MNevKK.mjs} +5 -5
  46. package/dist/{create-5cDaZcRL.mjs → create-C4dDHOzR.mjs} +3 -3
  47. package/dist/{create-BEN-2XFK.mjs → create-CC89lXeE.mjs} +3 -3
  48. package/dist/{create-C7O9tPL2.mjs → create-CEezFRTJ.mjs} +5 -5
  49. package/dist/{create-D_pNX7d0.mjs → create-CLLcjbzq.mjs} +3 -3
  50. package/dist/{create-C8hsOv_D.mjs → create-CO6gBV7I.mjs} +6 -6
  51. package/dist/{create-CG6WWY6k.mjs → create-COv2mYmk.mjs} +4 -4
  52. package/dist/{create-C3TmU1Bi.mjs → create-CYqqBKhE.mjs} +4 -4
  53. package/dist/{create-D2Shlb7t.mjs → create-Ci7o6-Fk.mjs} +3 -3
  54. package/dist/create-DQM_AB3I.mjs +34 -0
  55. package/dist/{create-R0Q-nRlq.mjs → create-DdnC7PkI.mjs} +4 -4
  56. package/dist/{create-DVEqry26.mjs → create-Dp1597uC.mjs} +4 -4
  57. package/dist/{create-xt4ff6fP.mjs → create-DqGen4jU.mjs} +3 -3
  58. package/dist/{create-branch-Cb3CWojg.mjs → create-branch-Cflee_NY.mjs} +2 -2
  59. package/dist/{create-BTQB1lqX.mjs → create-yLNBBrwG.mjs} +4 -4
  60. package/dist/{csv-CRNOhy4X.mjs → csv-CX1wws5-.mjs} +4 -4
  61. package/dist/{current-task-DFo1ZJ51.mjs → current-task-BTnORR7t.mjs} +3 -3
  62. package/dist/dashboard-c_wOMtS9.mjs +35 -0
  63. package/dist/{database-BT7DVgSr.mjs → database-D-CRyRIv.mjs} +1 -1
  64. package/dist/{database-Kq2AL5jH.mjs → database-MlUPpitM.mjs} +1 -1
  65. package/dist/{dataset-BmvCxGoE.mjs → dataset-p5oNPQgL.mjs} +1 -1
  66. package/dist/{db-C8lj73Dz.mjs → db-DNevs1XU.mjs} +7 -7
  67. package/dist/{delete-D_ZNoYVv.mjs → delete-BJ18ifIG.mjs} +4 -4
  68. package/dist/{delete-CYgNpHl7.mjs → delete-CCUYbNae.mjs} +4 -4
  69. package/dist/delete-CZTG4wI2.mjs +44 -0
  70. package/dist/{delete-qwdN0N7e.mjs → delete-Ch797MmM.mjs} +4 -4
  71. package/dist/{delete-My8TX-B2.mjs → delete-ChmqxYa7.mjs} +4 -4
  72. package/dist/{delete-I4eFpsed.mjs → delete-D5Jy83V-.mjs} +4 -4
  73. package/dist/{delete-HWeQtc4M.mjs → delete-dfrM_M6T.mjs} +4 -4
  74. package/dist/{delete-runtime-BbmRg_in.mjs → delete-runtime-Cc7TASG7.mjs} +1 -1
  75. package/dist/{delete-table-BCvjX7bh.mjs → delete-table-0xxoSknN.mjs} +4 -4
  76. package/dist/{dependencies-BAE4YPXX.mjs → dependencies-GvzMLOS2.mjs} +5 -5
  77. package/dist/{dependency-zElFM-os.mjs → dependency-BZxbh7qe.mjs} +2 -2
  78. package/dist/dependency-D6DMbPVm.mjs +15 -0
  79. package/dist/{dependency-DzLH3J8P.mjs → dependency-DaGeVAHF.mjs} +2 -2
  80. package/dist/{dependents-Dv6tLdSs.mjs → dependents-BRqKb0Pu.mjs} +9 -9
  81. package/dist/{dirty-CZORg0i0.mjs → dirty-Bq2cf5AG.mjs} +3 -3
  82. package/dist/{discard-values-DKnP-JHr.mjs → discard-values-k5-ePxWl.mjs} +5 -5
  83. package/dist/{document-C18b5rM6.mjs → document-BsaKF8UR.mjs} +1 -1
  84. package/dist/{document-DFCj1Az_.mjs → document-COQzVLjW.mjs} +1 -1
  85. package/dist/document-DCqe5MO9.mjs +20 -0
  86. package/dist/{download-BImtTll0.mjs → download-Dpbarf8I.mjs} +2 -2
  87. package/dist/{eid-D0FxhT9H.mjs → eid-BEc1p_um.mjs} +4 -4
  88. package/dist/{entity-DWp9WJbU.mjs → entity-c_Br4SFc.mjs} +2 -2
  89. package/dist/{entry-flags-3sDWwa90.mjs → entry-flags-z8cZTfaQ.mjs} +4 -4
  90. package/dist/{events-BzCjVA3-.mjs → events-DBpOpy2y.mjs} +4 -4
  91. package/dist/{export-CjqjDnaZ.mjs → export-F-R_vF48.mjs} +5 -5
  92. package/dist/{export-flags-BETJHNcw.mjs → export-flags-QbLI0sKz.mjs} +3 -3
  93. package/dist/{export-preflight-DzvIP6TB.mjs → export-preflight-0BvDa8Oz.mjs} +3 -3
  94. package/dist/field-CcCQ0goz.mjs +21 -0
  95. package/dist/{fields-C-au1eLO.mjs → fields-DOdrazv2.mjs} +4 -4
  96. package/dist/{filter-flags-BIFcA2TT.mjs → filter-flags-DiUgZ6vZ.mjs} +4 -5
  97. package/dist/{fks-83QIm8xb.mjs → fks-41Ig_ZQ2.mjs} +5 -5
  98. package/dist/{get-C9sq2boy.mjs → get-2l2CbHc6.mjs} +3 -3
  99. package/dist/{get-Z36_0HX_.mjs → get-B8hREA2A.mjs} +4 -4
  100. package/dist/{get-CkXc0Xld.mjs → get-BAV-KpLU.mjs} +5 -5
  101. package/dist/{get-Dvr_69L7.mjs → get-BVaN-tgY.mjs} +3 -3
  102. package/dist/{get-BMHbEGbr.mjs → get-Bby33eun.mjs} +4 -4
  103. package/dist/{get-DXBXhPrU.mjs → get-BjJdy_Iw.mjs} +5 -5
  104. package/dist/{get-D_v1IAL1.mjs → get-BlLUy1G0.mjs} +3 -3
  105. package/dist/{get-YPDWhgm_2.mjs → get-CPhMYZDP.mjs} +4 -4
  106. package/dist/{get-BTCOzSkl.mjs → get-CVJFF8Lb.mjs} +3 -3
  107. package/dist/{get-BawLhSwW.mjs → get-CfeNeyGE.mjs} +3 -3
  108. package/dist/{get-D7h7uH4k.mjs → get-CjK2GzFn.mjs} +5 -5
  109. package/dist/{get-CqNEVAX_2.mjs → get-D1c-C-_Q2.mjs} +3 -3
  110. package/dist/{get-Cggv6yLC.mjs → get-DaxwG0AP.mjs} +4 -4
  111. package/dist/{get-C-R_Fdsi.mjs → get-DwUB0K2G.mjs} +3 -3
  112. package/dist/{get-DkzO3G5p.mjs → get-Dwp_BfIp.mjs} +5 -5
  113. package/dist/get-DxpDAUz4.mjs +32 -0
  114. package/dist/{get-NOMvMvYJ.mjs → get-OKOOd2yb.mjs} +3 -3
  115. package/dist/{get-BjqqFG2m.mjs → get-TbBkN-jS.mjs} +3 -3
  116. package/dist/{get-DTTsPd-c.mjs → get-YinpF0y5.mjs} +4 -4
  117. package/dist/{get-C73V2KsB.mjs → get-aC5jUA1y.mjs} +5 -5
  118. package/dist/{get-run-v1QHn-Mx.mjs → get-run-PeXiUJwf.mjs} +4 -4
  119. package/dist/git-sync-CO199xCu.mjs +29 -0
  120. package/dist/{glossary-BlNCrYbw.mjs → glossary-CdW6RFId.mjs} +1 -1
  121. package/dist/{glossary-LmZWwCNP.mjs → glossary-Del97Jqg.mjs} +1 -1
  122. package/dist/glossary-LdAlftZW.mjs +14 -0
  123. package/dist/{graph-B6OliqnW.mjs → graph-M7V_js_w.mjs} +6 -6
  124. package/dist/{group-bpD_KcjA.mjs → group-D4w87fXL.mjs} +1 -1
  125. package/dist/{has-remote-changes-iTRCU9j0.mjs → has-remote-changes-D7uABGR0.mjs} +2 -2
  126. package/dist/{import-CdSs5CtT.mjs → import-CABYSyWS.mjs} +5 -5
  127. package/dist/{input-D8qW-KtR.mjs → input-DjHsV-kD.mjs} +1 -1
  128. package/dist/{is-dirty-B5fj9NeS.mjs → is-dirty-DpQBXuVa.mjs} +2 -2
  129. package/dist/{items-BxWnNEh7.mjs → items-BqUCPf-J.mjs} +6 -6
  130. package/dist/{key-BynJSK9u.mjs → key-BTaxFn_7.mjs} +1 -1
  131. package/dist/{library-Ck0EK5bi.mjs → library-C4M8TF2N.mjs} +1 -1
  132. package/dist/{library-BHHgurW0.mjs → library-DDrpsgMv.mjs} +5 -5
  133. package/dist/{library-BOv5SY24.mjs → library-DmkpcZPb.mjs} +1 -1
  134. package/dist/{list-CPWgBkPa.mjs → list-BFAc460G.mjs} +4 -4
  135. package/dist/{list-hN_Tu2T6.mjs → list-BQXq0A65.mjs} +6 -6
  136. package/dist/{list-DFJt2-fY.mjs → list-BXRUiZuH.mjs} +4 -4
  137. package/dist/{list-DA9KsA0o.mjs → list-BygxQkq7.mjs} +5 -5
  138. package/dist/{list-CNC-XHbN.mjs → list-C9H24xr5.mjs} +6 -6
  139. package/dist/{list-By9XJRiv.mjs → list-CEU9UXaZ.mjs} +3 -3
  140. package/dist/{list-Dzzt6Yee.mjs → list-CHUwj_Qh.mjs} +3 -3
  141. package/dist/{list-DbXnSL2x.mjs → list-CLRezReA.mjs} +5 -5
  142. package/dist/{list-DW4-u7eO.mjs → list-CONZkA9i.mjs} +5 -5
  143. package/dist/list-CQJABPGk.mjs +35 -0
  144. package/dist/{list-DE9gYY3I.mjs → list-CZF_gQnI.mjs} +3 -3
  145. package/dist/{list-ZHLsjxXg.mjs → list-D0MlsdSX.mjs} +4 -4
  146. package/dist/{list-zyKxxNvn.mjs → list-D217irjK.mjs} +3 -3
  147. package/dist/{list-BTgAbqeS.mjs → list-DO767sO1.mjs} +4 -4
  148. package/dist/{list-e7yvJYMw.mjs → list-Dd9o6Tut.mjs} +3 -3
  149. package/dist/{list-DUcnAb1h.mjs → list-Hiq5T4Bt.mjs} +3 -3
  150. package/dist/{list-BPMOLrwn.mjs → list-ISpYiawJ.mjs} +5 -5
  151. package/dist/{list-Bop1NTbU.mjs → list-aHFBopQd.mjs} +6 -6
  152. package/dist/{list-BTcEm4td.mjs → list-glgnTw7w.mjs} +3 -3
  153. package/dist/{list-Cpa0Se7M.mjs → list-yDJq3wNs.mjs} +5 -5
  154. package/dist/{login-B7nGQDZK.mjs → login-DCWam2ec.mjs} +6 -6
  155. package/dist/{logout-pZffAh1G.mjs → logout-CmrJqhkc.mjs} +2 -2
  156. package/dist/{measure-AtnrCTCC.mjs → measure-c_VUyXFN.mjs} +6 -6
  157. package/dist/{notification-DOYdl0ao.mjs → notification-Cuuwoksm.mjs} +1 -1
  158. package/dist/{parameter-values-CxTkEjCs.mjs → parameter-values-CnwWZrJ_.mjs} +3 -3
  159. package/dist/{parse-enum-CLIXMsd8.mjs → parse-enum-BPKULOSw.mjs} +1 -1
  160. package/dist/{parse-id-7ja3HUdB.mjs → parse-id-aMXePsUP.mjs} +1 -1
  161. package/dist/{parse-ref-Cw5fa4FI.mjs → parse-ref-8bVX_9IN.mjs} +1 -1
  162. package/dist/{parse-text-T0lTXzTZ.mjs → parse-text-Bm6eUa-p.mjs} +1 -1
  163. package/dist/{path-DM4vyihl.mjs → path-CGbz-QSr.mjs} +4 -4
  164. package/dist/{poll-Dz4tUm2f.mjs → poll-DFZRtTA_.mjs} +2 -2
  165. package/dist/{preflight-DaZ2z2C1.mjs → preflight-ChJ0pemy.mjs} +3 -3
  166. package/dist/{process-D0HdqZ3r.mjs → process-B3Di_HtV.mjs} +1 -1
  167. package/dist/{publish-C0HCL04a.mjs → publish-7ke00CtK.mjs} +4 -4
  168. package/dist/{pulse-D1uh8UIU.mjs → pulse-CIza18rO.mjs} +1 -1
  169. package/dist/{query-BC-C6efK.mjs → query-8M7ZN2Ca.mjs} +6 -6
  170. package/dist/{query-CAFPlqfi.mjs → query-DNa-fGS7.mjs} +10 -11
  171. package/dist/{remapping-CgA6UJGU.mjs → remapping-Cy1CEown.mjs} +4 -4
  172. package/dist/{remove-collection-DoctJa9g.mjs → remove-collection-B2CL66No.mjs} +3 -3
  173. package/dist/{render-Bvm9mta6.mjs → render-ColPG5G7.mjs} +2 -2
  174. package/dist/{replace-CaFJd9fO.mjs → replace-COC3ggyx.mjs} +4 -4
  175. package/dist/{rescan-values-7VOGCLMe.mjs → rescan-values-DUX58myu.mjs} +4 -4
  176. package/dist/{rescan-values-sJRwcHsk.mjs → rescan-values-DXzXTw9a.mjs} +5 -5
  177. package/dist/{run-COHDQ5J4.mjs → run-C5wf-lug.mjs} +3 -3
  178. package/dist/run-C_nqwWmC.mjs +63 -0
  179. package/dist/{run-RXpFlDAB.mjs → run-T2a4m1x9.mjs} +7 -7
  180. package/dist/{runs-CUYdCKiE.mjs → runs-Datc76Wu.mjs} +5 -5
  181. package/dist/{runtime-B8RtMb4B.mjs → runtime-C3AL15Dp.mjs} +2 -2
  182. package/dist/{schema-tables-CO5qyZBe.mjs → schema-tables-CR2S5mNc.mjs} +5 -5
  183. package/dist/{schemas-CzHHgDdF.mjs → schemas-OrGjEuVc.mjs} +4 -4
  184. package/dist/{search-Cc9vHNae.mjs → search-BEXBlfak.mjs} +5 -5
  185. package/dist/{search-BWb052_b.mjs → search-CJYSB5eP.mjs} +5 -5
  186. package/dist/{segment-C_rsUkHK.mjs → segment-Tt8GaRnc.mjs} +6 -6
  187. package/dist/{send-C-3bkpni.mjs → send-uNLODakO.mjs} +3 -3
  188. package/dist/{set-BDkT37OT.mjs → set-DRp3F4wz.mjs} +4 -4
  189. package/dist/{set-active-CDJTfQEc.mjs → set-active-CAt6ieXS.mjs} +3 -3
  190. package/dist/{set-sensitivity-DVrINHde.mjs → set-sensitivity--Qq2RXVE.mjs} +4 -4
  191. package/dist/{setting-CoLzd08x.mjs → setting-DMqvipRp.mjs} +4 -4
  192. package/dist/{setup-C4F4XYbU.mjs → setup-B2PC1NVz.mjs} +3 -3
  193. package/dist/{signal-CxWeLszu.mjs → signal-0Yt8JTMn.mjs} +1 -1
  194. package/dist/{skill-list-BgihWuPf.mjs → skill-list-Cyx1935Q.mjs} +2 -2
  195. package/dist/{skills-BWEFRpUj.mjs → skills-D7wu2iff.mjs} +3 -3
  196. package/dist/{skills-4qDjKRSk.mjs → skills-Dlp0MK6g.mjs} +2 -2
  197. package/dist/snippet-D-5bKT_U.mjs +19 -0
  198. package/dist/{stash-CZ1x0rox.mjs → stash-CHeQPI8Z.mjs} +4 -4
  199. package/dist/{status-BM6eYW7I.mjs → status-Bdt5XWrQ.mjs} +3 -3
  200. package/dist/{status-gqpPZvue.mjs → status-gTN3G-rs.mjs} +4 -4
  201. package/dist/{subscription-pSuO241O.mjs → subscription-C9alueg1.mjs} +6 -6
  202. package/dist/{subscriptions-n5zJ9rYZ.mjs → subscriptions-DJKbcxDy.mjs} +6 -6
  203. package/dist/{summary-DvIf2EiO.mjs → summary-kaC0aINr.mjs} +3 -3
  204. package/dist/{sync-schema-Cc21crxQ.mjs → sync-schema-C29bGCtt.mjs} +4 -4
  205. package/dist/{sync-schema-D1t8rhdQ.mjs → sync-schema-CyKovAb9.mjs} +6 -6
  206. package/dist/{sync-task-CXFoqlpF.mjs → sync-task-BAMOf6_t.mjs} +3 -2
  207. package/dist/table-8c-V5afO.mjs +26 -0
  208. package/dist/{table-CxvaDiIZ.mjs → table-BFIOH6Pb.mjs} +1 -1
  209. package/dist/{table-selector-flags-BVZvnhUa.mjs → table-selector-flags-CSoedTgm.mjs} +2 -2
  210. package/dist/{text-DaNkPRwt.mjs → text-CdtEI6l6.mjs} +1 -1
  211. package/dist/timeline-BetOmLYk.mjs +21 -0
  212. package/dist/{timeline-event-jn1SOKd4.mjs → timeline-event-DN3y8vwW.mjs} +6 -6
  213. package/dist/{transform-CNBIV7No.mjs → transform-D4z70PIN.mjs} +1 -1
  214. package/dist/transform-job-DALBzYVV.mjs +22 -0
  215. package/dist/transform-p-6_thIh.mjs +28 -0
  216. package/dist/{transform-tag-C0jzV6Dk.mjs → transform-tag-CIKnNaQH.mjs} +5 -5
  217. package/dist/transform-test-BjjCQ2xm.mjs +169 -0
  218. package/dist/transform-test-C5Havg4o.mjs +16 -0
  219. package/dist/transform-test-DHGKeuHa.mjs +32 -0
  220. package/dist/{transforms-DwTy_Quh.mjs → transforms-BQjwZKTN.mjs} +5 -5
  221. package/dist/transport-DuU3fLui.mjs +313 -0
  222. package/dist/{tree-p2j6IVy-.mjs → tree-C21CG5rm.mjs} +3 -3
  223. package/dist/{unpublish-B-961jX1.mjs → unpublish-C7MRZTmS.mjs} +3 -3
  224. package/dist/{unreferenced-Dxy-aYI7.mjs → unreferenced-BJUIC_Ct.mjs} +6 -6
  225. package/dist/{update-CHkVN69L.mjs → update-9b4JHJWR.mjs} +4 -4
  226. package/dist/{update-MD1Kwq1P.mjs → update-B2F22ryV.mjs} +4 -4
  227. package/dist/update-BQben_Xm.mjs +41 -0
  228. package/dist/{update-BnIEN390.mjs → update-BXFGGYT8.mjs} +5 -5
  229. package/dist/{update-BGeaPntx.mjs → update-C0QcHFIP.mjs} +5 -5
  230. package/dist/{update-CYGYUCFQ.mjs → update-CBcJTZo6.mjs} +4 -4
  231. package/dist/{update-DXxJHC8y.mjs → update-CCHTQjsP.mjs} +6 -6
  232. package/dist/{update-CKqL9PmU.mjs → update-CVO8Srng.mjs} +5 -5
  233. package/dist/{update-D4TGE6FS.mjs → update-CYy-r_Jq.mjs} +5 -5
  234. package/dist/{update-D7xi-0bU.mjs → update-CZ2eSAV5.mjs} +4 -4
  235. package/dist/{update-CALlEgIC.mjs → update-CuYvtXQY.mjs} +4 -4
  236. package/dist/{update-DK77vtFF.mjs → update-D6oHLn1g.mjs} +6 -6
  237. package/dist/{update-DiJK0uRG.mjs → update-DDH6FTe6.mjs} +8 -8
  238. package/dist/{update-BFYRBbRu.mjs → update-DEnsF5zT.mjs} +5 -5
  239. package/dist/{update-qDZvnwvf.mjs → update-DX1s6KnO.mjs} +7 -7
  240. package/dist/{update-DKDQTlnV.mjs → update-Duxk_-dC.mjs} +5 -5
  241. package/dist/{update-hvO4VpfZ.mjs → update-EpHReUGk.mjs} +7 -7
  242. package/dist/{update-tltXCUwR.mjs → update-IEVAFvpi.mjs} +4 -4
  243. package/dist/{update-dashcard-DuTjOh14.mjs → update-dashcard-C4ZndfvP.mjs} +4 -4
  244. package/dist/{upgrade-Ca-Ss5jb.mjs → upgrade-o2DpB66j.mjs} +4 -4
  245. package/dist/upload-BqNErDXE.mjs +13 -0
  246. package/dist/{upload-t6dkccqn.mjs → upload-CEtKrueq.mjs} +3 -3
  247. package/dist/{upload-C2fhpKkP.mjs → upload-DJB7DMA1.mjs} +2 -2
  248. package/dist/{uuid-BMlJZT8z.mjs → uuid-D9oozo8p.mjs} +2 -2
  249. package/dist/{validate-D7e110oU.mjs → validate-D_iikPkc.mjs} +1 -1
  250. package/dist/{validate-query-BzbZmenf.mjs → validate-query-BEYjmSv2.mjs} +3 -7
  251. package/dist/{values-CXN4xTTh.mjs → values-De8aGDiJ.mjs} +3 -3
  252. package/dist/{verify-k-JB-k3D.mjs → verify-DKmz4xJs.mjs} +3 -3
  253. package/dist/{verify-CPVfwKSu.mjs → verify-DVjaammv.mjs} +3 -3
  254. package/dist/{verify-t-CEmvoG.mjs → verify-ob8JSLxv.mjs} +3 -3
  255. package/dist/{wait-KSkq7kKW.mjs → wait-BN_MzTng.mjs} +5 -5
  256. package/dist/{wait-flags-KX7NHdj4.mjs → wait-flags-DQlX2yM_.mjs} +2 -2
  257. package/dist/{window-CI_QD04s.mjs → window-2ybHqui2.mjs} +1 -1
  258. package/package.json +1 -1
  259. package/skill-data/core/SKILL.md +7 -1
  260. package/skill-data/native-sql/SKILL.md +1 -1
  261. package/skill-data/transform/SKILL.md +63 -1
  262. package/skill-data/transform-test-plan/SKILL.md +82 -0
  263. package/skill-data/transform-test-plan/references/checklist.md +32 -0
  264. package/skill-data/transform-test-plan/references/checks.md +156 -0
  265. package/dist/archive-55sDfnHf.mjs +0 -32
  266. package/dist/card-CQD4D8mw.mjs +0 -25
  267. package/dist/collection-CuaTd10G.mjs +0 -21
  268. package/dist/create-BJG630xB.mjs +0 -48
  269. package/dist/dashboard-D11YAa7I.mjs +0 -35
  270. package/dist/data-action-BiHjjVjc.mjs +0 -24
  271. package/dist/data-action-DZxVB_hD.mjs +0 -85
  272. package/dist/data-action-R9qxJDPA.mjs +0 -40
  273. package/dist/delete-09O7BTNw.mjs +0 -44
  274. package/dist/dependency-CIam7zmr.mjs +0 -15
  275. package/dist/document-uxz96Lah.mjs +0 -20
  276. package/dist/execute-BhHbkBqf.mjs +0 -45
  277. package/dist/field-fBpiGiqr.mjs +0 -21
  278. package/dist/get-DGmE5fmp.mjs +0 -31
  279. package/dist/git-sync-VAqASCQ5.mjs +0 -29
  280. package/dist/glossary-Brnk2PBi.mjs +0 -14
  281. package/dist/list-DgsM9YQX.mjs +0 -28
  282. package/dist/query-BKtMP5eH.mjs +0 -13
  283. package/dist/snippet-CYd8D9SK.mjs +0 -19
  284. package/dist/table-Dc0dLfyg.mjs +0 -26
  285. package/dist/timeline-BqU5sOb6.mjs +0 -21
  286. package/dist/transform-BUIlFqpv.mjs +0 -28
  287. package/dist/transform-job-DsbY9mme.mjs +0 -22
  288. package/dist/update-CuQy2g51.mjs +0 -52
  289. package/dist/upload-Dw7mVr9u.mjs +0 -13
  290. package/skill-data/data-action/SKILL.md +0 -125
@@ -1,31 +0,0 @@
1
- import { H as connectionFlags, J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
3
- import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
4
- import { t as DataAction } from "./data-action-DZxVB_hD.mjs";
5
- import { n as dataActionView } from "./data-action-R9qxJDPA.mjs";
6
- //#region src/commands/data-action/get.ts
7
- var get_default = defineMetabaseCommand({
8
- meta: {
9
- name: "get",
10
- description: "Get a data action by id"
11
- },
12
- requires: ["dataAction.get"],
13
- args: {
14
- ...outputFlags,
15
- ...profileFlag,
16
- ...connectionFlags,
17
- id: {
18
- type: "positional",
19
- description: "Data action id",
20
- required: true
21
- }
22
- },
23
- outputSchema: DataAction,
24
- examples: ["mb data-action get 1", "mb data-action get 1 --json --full"],
25
- async run({ args, ctx, getClient }) {
26
- const id = parseId(args.id);
27
- renderItem(await (await getClient()).dataAction.get(id), dataActionView, ctx);
28
- }
29
- });
30
- //#endregion
31
- export { get_default as default };
@@ -1,29 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/git-sync/index.ts
3
- var git_sync_default = defineCommandGroup({
4
- name: "git-sync",
5
- description: "Sync Metabase content with a git remote",
6
- skills: [{
7
- skill: "git-sync",
8
- purpose: "import/export round-trip and dirty checks"
9
- }],
10
- subCommands: {
11
- status: () => import("./status-gqpPZvue.mjs").then((mod) => mod.default),
12
- "is-dirty": () => import("./is-dirty-B5fj9NeS.mjs").then((mod) => mod.default),
13
- "has-remote-changes": () => import("./has-remote-changes-iTRCU9j0.mjs").then((mod) => mod.default),
14
- dirty: () => import("./dirty-CZORg0i0.mjs").then((mod) => mod.default),
15
- "current-task": () => import("./current-task-DFo1ZJ51.mjs").then((mod) => mod.default),
16
- "cancel-task": () => import("./cancel-task-CWWo7vLf.mjs").then((mod) => mod.default),
17
- wait: () => import("./wait-KSkq7kKW.mjs").then((mod) => mod.default),
18
- import: () => import("./import-CdSs5CtT.mjs").then((mod) => mod.default),
19
- export: () => import("./export-CjqjDnaZ.mjs").then((mod) => mod.default),
20
- "export-preflight": () => import("./export-preflight-DzvIP6TB.mjs").then((mod) => mod.default),
21
- stash: () => import("./stash-CZ1x0rox.mjs").then((mod) => mod.default),
22
- branches: () => import("./branches-B6ilUG-7.mjs").then((mod) => mod.default),
23
- "create-branch": () => import("./create-branch-Cb3CWojg.mjs").then((mod) => mod.default),
24
- "add-collection": () => import("./add-collection-B-Kczwcj.mjs").then((mod) => mod.default),
25
- "remove-collection": () => import("./remove-collection-DoctJa9g.mjs").then((mod) => mod.default)
26
- }
27
- });
28
- //#endregion
29
- export { git_sync_default as default };
@@ -1,14 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/glossary/index.ts
3
- var glossary_default = defineCommandGroup({
4
- name: "glossary",
5
- description: "Manage the Metabase glossary of business terms",
6
- subCommands: {
7
- list: () => import("./list-CNC-XHbN.mjs").then((mod) => mod.default),
8
- create: () => import("./create-C7O9tPL2.mjs").then((mod) => mod.default),
9
- update: () => import("./update-DXxJHC8y.mjs").then((mod) => mod.default),
10
- delete: () => import("./delete-I4eFpsed.mjs").then((mod) => mod.default)
11
- }
12
- });
13
- //#endregion
14
- export { glossary_default as default };
@@ -1,28 +0,0 @@
1
- import { G as listFlags, H as connectionFlags, J as profileFlag, X as listEnvelopeSchema, d as renderList, q as outputFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
3
- import { n as windowList } from "./window-CI_QD04s.mjs";
4
- import { n as DataActionCompact } from "./data-action-DZxVB_hD.mjs";
5
- import { n as dataActionView } from "./data-action-R9qxJDPA.mjs";
6
- //#region src/commands/data-action/list.ts
7
- const DataActionListEnvelope = listEnvelopeSchema(DataActionCompact);
8
- var list_default = defineMetabaseCommand({
9
- meta: {
10
- name: "list",
11
- description: "List data actions"
12
- },
13
- requires: ["dataAction.list"],
14
- args: {
15
- ...outputFlags,
16
- ...listFlags,
17
- ...profileFlag,
18
- ...connectionFlags
19
- },
20
- outputSchema: DataActionListEnvelope,
21
- examples: ["mb data-action list", "mb data-action list --json"],
22
- async run({ ctx, getClient }) {
23
- const { data, total } = await (await getClient()).dataAction.list();
24
- renderList(windowList(data, ctx.range, total), dataActionView, ctx);
25
- }
26
- });
27
- //#endregion
28
- export { list_default as default };
@@ -1,13 +0,0 @@
1
- import { z } from "zod";
2
- //#region ../client/src/domain/query.ts
3
- const DatasetQuery = z.object({}).loose().refine((value) => "lib/type" in value || "type" in value, { message: "dataset_query must include \"lib/type\" (MBQL 5) or \"type\" (legacy MBQL/native); empty `{}` is rejected" }).describe("MBQL 5, legacy MBQL, or native query");
4
- const ExportFormat = z.enum([
5
- "csv",
6
- "json",
7
- "xlsx"
8
- ]);
9
- const PivotExportFormat = ExportFormat.exclude(["json"]);
10
- const VisualizationSettings = z.record(z.string(), z.unknown());
11
- const SortDirection = z.enum(["asc", "desc"]);
12
- //#endregion
13
- export { VisualizationSettings as a, SortDirection as i, ExportFormat as n, PivotExportFormat as r, DatasetQuery as t };
@@ -1,19 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/snippet/index.ts
3
- var snippet_default = defineCommandGroup({
4
- name: "snippet",
5
- description: "Manage Metabase native query snippets",
6
- skills: [{
7
- skill: "core",
8
- purpose: "native-SQL snippets and body input"
9
- }],
10
- subCommands: {
11
- list: () => import("./list-zyKxxNvn.mjs").then((mod) => mod.default),
12
- get: () => import("./get-BTCOzSkl.mjs").then((mod) => mod.default),
13
- create: () => import("./create-5cDaZcRL.mjs").then((mod) => mod.default),
14
- update: () => import("./update-MD1Kwq1P.mjs").then((mod) => mod.default),
15
- archive: () => import("./archive-BNJit8eD.mjs").then((mod) => mod.default)
16
- }
17
- });
18
- //#endregion
19
- export { snippet_default as default };
@@ -1,26 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/table/index.ts
3
- var table_default = defineCommandGroup({
4
- name: "table",
5
- description: "Manage Metabase tables",
6
- skills: [{
7
- skill: "metadata",
8
- purpose: "table and column metadata, semantic types, visibility"
9
- }],
10
- subCommands: {
11
- list: () => import("./list-DA9KsA0o.mjs").then((m) => m.default),
12
- get: () => import("./get-DTTsPd-c.mjs").then((m) => m.default),
13
- fields: () => import("./fields-C-au1eLO.mjs").then((m) => m.default),
14
- fks: () => import("./fks-83QIm8xb.mjs").then((m) => m.default),
15
- update: () => import("./update-BFYRBbRu.mjs").then((m) => m.default),
16
- "sync-schema": () => import("./sync-schema-Cc21crxQ.mjs").then((m) => m.default),
17
- "rescan-values": () => import("./rescan-values-7VOGCLMe.mjs").then((m) => m.default),
18
- "discard-values": () => import("./discard-values-DKnP-JHr.mjs").then((m) => m.default),
19
- "bulk-edit": () => import("./bulk-edit-oUCfDQ_M.mjs").then((m) => m.default),
20
- "bulk-sync-schema": () => import("./bulk-sync-schema-tRp7jBJt.mjs").then((m) => m.default),
21
- "bulk-rescan-values": () => import("./bulk-rescan-values-B8pNlXUH.mjs").then((m) => m.default),
22
- "bulk-discard-values": () => import("./bulk-discard-values-DfKXuZpR.mjs").then((m) => m.default)
23
- }
24
- });
25
- //#endregion
26
- export { table_default as default };
@@ -1,21 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/timeline/index.ts
3
- var timeline_default = defineCommandGroup({
4
- name: "timeline",
5
- description: "Manage Metabase timelines (event annotations for time-series charts)",
6
- skills: [{
7
- skill: "core",
8
- purpose: "collection scoping — events render only on questions in the timeline's collection"
9
- }],
10
- subCommands: {
11
- list: () => import("./list-BTcEm4td.mjs").then((mod) => mod.default),
12
- get: () => import("./get-C-R_Fdsi.mjs").then((mod) => mod.default),
13
- events: () => import("./events-BzCjVA3-.mjs").then((mod) => mod.default),
14
- create: () => import("./create-D_pNX7d0.mjs").then((mod) => mod.default),
15
- update: () => import("./update-D7xi-0bU.mjs").then((mod) => mod.default),
16
- archive: () => import("./archive-CL8wqAzm.mjs").then((mod) => mod.default),
17
- delete: () => import("./delete-CYgNpHl7.mjs").then((mod) => mod.default)
18
- }
19
- });
20
- //#endregion
21
- export { timeline_default as default };
@@ -1,28 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/transform/index.ts
3
- var transform_default = defineCommandGroup({
4
- name: "transform",
5
- description: "Manage Metabase transforms",
6
- skills: [{
7
- skill: "transform",
8
- purpose: "body shape, run-with-wait, iterate"
9
- }, {
10
- skill: "mbql",
11
- purpose: "MBQL source.query bodies"
12
- }],
13
- subCommands: {
14
- list: () => import("./list-BTgAbqeS.mjs").then((mod) => mod.default),
15
- get: () => import("./get-Z36_0HX_.mjs").then((mod) => mod.default),
16
- dependencies: () => import("./dependencies-BAE4YPXX.mjs").then((mod) => mod.default),
17
- create: () => import("./create-CBSsW8Hm.mjs").then((mod) => mod.default),
18
- update: () => import("./update-qDZvnwvf.mjs").then((mod) => mod.default),
19
- delete: () => import("./delete-qwdN0N7e.mjs").then((mod) => mod.default),
20
- "delete-table": () => import("./delete-table-BCvjX7bh.mjs").then((mod) => mod.default),
21
- run: () => import("./run-RXpFlDAB.mjs").then((mod) => mod.default),
22
- cancel: () => import("./cancel-Bl4BMkwI.mjs").then((mod) => mod.default),
23
- "get-run": () => import("./get-run-v1QHn-Mx.mjs").then((mod) => mod.default),
24
- runs: () => import("./runs-CUYdCKiE.mjs").then((mod) => mod.default)
25
- }
26
- });
27
- //#endregion
28
- export { transform_default as default };
@@ -1,22 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/transform-job/index.ts
3
- var transform_job_default = defineCommandGroup({
4
- name: "transform-job",
5
- description: "Manage Metabase transform jobs",
6
- skills: [{
7
- skill: "transform",
8
- purpose: "tag-driven job schedules"
9
- }],
10
- subCommands: {
11
- list: () => import("./list-e7yvJYMw.mjs").then((mod) => mod.default),
12
- get: () => import("./get-Dvr_69L7.mjs").then((mod) => mod.default),
13
- create: () => import("./create-xt4ff6fP.mjs").then((mod) => mod.default),
14
- update: () => import("./update-CYGYUCFQ.mjs").then((mod) => mod.default),
15
- delete: () => import("./delete-My8TX-B2.mjs").then((mod) => mod.default),
16
- run: () => import("./run-COHDQ5J4.mjs").then((mod) => mod.default),
17
- transforms: () => import("./transforms-DwTy_Quh.mjs").then((mod) => mod.default),
18
- "set-active": () => import("./set-active-CDJTfQEc.mjs").then((mod) => mod.default)
19
- }
20
- });
21
- //#endregion
22
- export { transform_job_default as default };
@@ -1,52 +0,0 @@
1
- import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
3
- import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
4
- import { t as readBody } from "./body-CB2eDFFb.mjs";
5
- import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
- import { o as DataActionUpdateInput, t as DataAction } from "./data-action-DZxVB_hD.mjs";
7
- import { n as DATA_ACTION_DATASET_QUERY_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-BzbZmenf.mjs";
8
- import { n as dataActionView } from "./data-action-R9qxJDPA.mjs";
9
- //#region src/commands/data-action/update.ts
10
- var update_default = defineMetabaseCommand({
11
- meta: {
12
- name: "update",
13
- description: "Update a data action by id"
14
- },
15
- details: "The JSON body carries only the fields to change. A new MBQL 5 `dataset_query` is checked against a bundled JSON Schema before sending; pass --skip-validate to bypass.",
16
- skills: [{
17
- skill: "data-action",
18
- purpose: "the fields of a data action"
19
- }],
20
- requires: ["dataAction.update"],
21
- args: {
22
- ...outputFlags,
23
- ...profileFlag,
24
- ...connectionFlags,
25
- ...bodyInputFlags,
26
- ...skipValidateFlag,
27
- id: {
28
- type: "positional",
29
- description: "Data action id",
30
- required: true
31
- }
32
- },
33
- inputSchema: DataActionUpdateInput,
34
- outputSchema: DataAction,
35
- examples: [
36
- "cat patch.json | mb data-action update 1",
37
- "mb data-action update 1 --file patch.json",
38
- "mb data-action update 1 --body '{\"name\":\"Rename an order\"}'"
39
- ],
40
- async run({ args, ctx, getClient }) {
41
- const id = parseId(args.id);
42
- const body = await readBody({
43
- flag: args.body,
44
- file: args.file
45
- }, DataActionUpdateInput);
46
- if (body.dataset_query !== void 0) preflightMbql5Query(body.dataset_query, DATA_ACTION_DATASET_QUERY_LABELS, { skip: args["skip-validate"] === true });
47
- const updated = await (await getClient()).dataAction.update(id, body);
48
- renderSummary(updated, dataActionView, `Updated data action ${updated.id} "${updated.name}".`, ctx);
49
- }
50
- });
51
- //#endregion
52
- export { update_default as default };
@@ -1,13 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
2
- //#region src/commands/upload/index.ts
3
- var upload_default = defineCommandGroup({
4
- name: "upload",
5
- description: "Upload CSV files into Metabase",
6
- subCommands: {
7
- csv: () => import("./csv-CRNOhy4X.mjs").then((m) => m.default),
8
- append: () => import("./append-DCDVqPmR.mjs").then((m) => m.default),
9
- replace: () => import("./replace-CaFJd9fO.mjs").then((m) => m.default)
10
- }
11
- });
12
- //#endregion
13
- export { upload_default as default };
@@ -1,125 +0,0 @@
1
- ---
2
- name: data-action
3
- description: Author and run Metabase data actions with the `mb` CLI — saved, parameterized native SQL writes (INSERT, UPDATE, DELETE) filed in a collection and run with values. Covers enabling them on a database, the body, mapping template tags to parameters, running, and the lifecycle. Triggers — "add a data action", "let users update a row", "a button that inserts a record", "run a write query", "a form that saves to the database", "delete rows from Metabase".
4
- allowed-tools: Read, Write, Edit, Bash, AskUserQuestion
5
- requires: [dataActionsWithoutModel]
6
- ---
7
-
8
- # Data actions
9
-
10
- A **data action** is one native SQL statement that writes — `INSERT`, `UPDATE` or `DELETE` — with named inputs. It lives in a collection, and dashboards, apps and `mb data-action execute` run it with values.
11
-
12
- Flag conventions and `./.scratch` are in `core`; the native query and its template tags follow `native-sql`. This skill covers what a data action adds.
13
-
14
- ## Check the database first
15
-
16
- Data actions are off on every database until an admin turns on **Model actions** for it (Admin → Databases → the database). `mb` cannot change that setting.
17
-
18
- ```bash
19
- mb db get <id> --full --json
20
- ```
21
-
22
- - `features` must contain `"actions"` — otherwise the driver cannot run writes; pick another database.
23
- - `settings["database-enable-actions"]` must be `true`. If it is not, ask the user to have an admin enable it. Create and execute fail with `Actions are not enabled.` until then.
24
-
25
- ## The body
26
-
27
- ```json
28
- {
29
- "name": "Set order note",
30
- "type": "query",
31
- "database_id": 1,
32
- "collection_id": 12,
33
- "dataset_query": {
34
- "lib/type": "mbql/query",
35
- "database": 1,
36
- "stages": [
37
- {
38
- "lib/type": "mbql.stage/native",
39
- "native": "UPDATE orders SET note = {{note}} WHERE id = {{order_id}}",
40
- "template-tags": {
41
- "order_id": {
42
- "id": "order_id",
43
- "name": "order_id",
44
- "display-name": "Order ID",
45
- "type": "number",
46
- "required": true
47
- },
48
- "note": {
49
- "id": "note",
50
- "name": "note",
51
- "display-name": "Note",
52
- "type": "text",
53
- "required": true
54
- }
55
- }
56
- }
57
- ]
58
- },
59
- "parameters": [
60
- {
61
- "id": "order_id",
62
- "slug": "order_id",
63
- "name": "Order ID",
64
- "type": "number/=",
65
- "target": ["variable", ["template-tag", "order_id"]],
66
- "required": true
67
- },
68
- {
69
- "id": "note",
70
- "slug": "note",
71
- "name": "Note",
72
- "type": "string/=",
73
- "target": ["variable", ["template-tag", "note"]],
74
- "required": true
75
- }
76
- ]
77
- }
78
- ```
79
-
80
- - `type` is always `"query"`. Never set `model_id` or `type: "implicit"`; `mb data-action create` refuses both.
81
- - `database_id` and `dataset_query.database` are the same id (`mb db list`). Omit `collection_id` for the root collection (`mb collection list`).
82
- - One statement, no `;`. `create` and `update` validate `dataset_query` as `native-sql` does.
83
-
84
- ## Parameters: one per template tag
85
-
86
- Each `{{name}}` needs a `template-tags` entry and a `parameters` entry, all using the same name:
87
-
88
- | Tag `type` | Parameter `type` |
89
- | ---------- | ---------------- |
90
- | `number` | `number/=` |
91
- | `text` | `string/=` |
92
- | `date` | `date/single` |
93
- | `boolean` | `boolean/=` |
94
-
95
- - Parameter `id` and `slug` are the tag name; `target` is `["variable", ["template-tag", "<name>"]]`.
96
- - Use raw variables only. A field filter (`type: "dimension"`), snippet or card reference does not work in a write — write the comparison yourself (`WHERE id = {{order_id}}`).
97
- - Set `required: true` on every input the statement cannot run without (`WHERE` keys, `NOT NULL` columns).
98
- - Wrap an optional input in `[[ … ]]` with `required: false`; the clause drops out when no value is given. This makes one action do partial updates: `UPDATE orders SET updated_at = now() [[, note = {{note}}]] [[, status = {{status}}]] WHERE id = {{order_id}}`.
99
-
100
- ## Run it
101
-
102
- ```bash
103
- mb data-action execute <id> --body '{"parameters":{"order_id":1042,"note":"rush delivery"}}'
104
- ```
105
-
106
- `parameters` is keyed by parameter `id`. The result is `{"rows-affected": <n>}`. A missing required value is refused. A run cannot be undone, so confirm with the user before running against data that matters, and test a new action on a row created for the purpose.
107
-
108
- ## Lifecycle
109
-
110
- | Task | Command |
111
- | ------------------------ | ---------------------------------------------------------------------------------------- |
112
- | Find | `mb data-action list` (unarchived only), `mb search --models action <text>` |
113
- | Inspect | `mb data-action get <id> --full --json` |
114
- | Change SQL, inputs, name | `mb data-action update <id> --file patch.json` (changed fields only) |
115
- | Move | `mb data-action update <id> --body '{"collection_id":<id>}'` |
116
- | Archive / restore | `mb data-action archive <id>` / `mb data-action update <id> --body '{"archived":false}'` |
117
- | Delete | `mb data-action delete <id> --yes` (also removes the dashboard buttons that run it) |
118
-
119
- Archiving or deleting a collection archives or deletes its data actions. Existing model-bound or implicit data actions still list, run and archive; leave them as they are.
120
-
121
- ## Don't
122
-
123
- - Don't create a model for a data action.
124
- - Don't concatenate values into the SQL; every value goes through a template tag.
125
- - Don't run a data action on production data without the user's go-ahead.