@metabase/cli 0.3.2-alpha.fix-transform-test-ee-path.041c793 → 0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a

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 (201) hide show
  1. package/dist/{add-collection-73X1DmCM.mjs → add-collection-B_-eMU_k.mjs} +2 -2
  2. package/dist/{alert-BB38lWSL.mjs → alert-Dalin_DD.mjs} +6 -6
  3. package/dist/{alerts-DxyzqLSU.mjs → alerts-DpBgrjPI.mjs} +3 -3
  4. package/dist/{append-CHme1Enm.mjs → append-C1JNVALm.mjs} +3 -3
  5. package/dist/{archive-Cq3fnc0v2.mjs → archive-52ZHbFDm2.mjs} +2 -2
  6. package/dist/{archive-eS-XA74p.mjs → archive-B51prFgS.mjs} +2 -2
  7. package/dist/{archive-CP5Hlqjw.mjs → archive-BkITQyWW.mjs} +2 -2
  8. package/dist/{archive-DPL1qOuL.mjs → archive-CISXgZAI.mjs} +2 -2
  9. package/dist/{archive-BMyvyf62.mjs → archive-CdKf_Eqq.mjs} +2 -2
  10. package/dist/{archive-CqKqNdUh.mjs → archive-CicPYX27.mjs} +2 -2
  11. package/dist/{archive-DKFPJ9j3.mjs → archive-CwITzj_j.mjs} +2 -2
  12. package/dist/{archive-BGiDxu8O.mjs → archive-DA3OiLEE.mjs} +2 -2
  13. package/dist/{archive-DBcxZwLd.mjs → archive-DVHxeDKS.mjs} +2 -2
  14. package/dist/{archive-C4Y2B58q.mjs → archive-DckxlWBt.mjs} +2 -2
  15. package/dist/{archive-Czo5T0Lp.mjs → archive-cAdUa1-2.mjs} +2 -2
  16. package/dist/{auth-6YyB0HNB.mjs → auth-A96JOCQx.mjs} +4 -4
  17. package/dist/{body-OjAWKVaU.mjs → body-CshgcV6U.mjs} +2 -2
  18. package/dist/{branches-D5YLVFDK.mjs → branches-CbcwWYL9.mjs} +1 -1
  19. package/dist/{cancel-DeRIq1YJ.mjs → cancel-DpDcVY7M.mjs} +2 -2
  20. package/dist/{cancel-task-CqExODVm.mjs → cancel-task-B4RDvIYb.mjs} +1 -1
  21. package/dist/{card-BMSqofd7.mjs → card-CefVYtF7.mjs} +7 -7
  22. package/dist/{cards-B813G9I5.mjs → cards-BC0JX8Yg.mjs} +2 -2
  23. package/dist/cli.mjs +43 -33
  24. package/dist/{client-cJ7aw0Gt.mjs → client-ClL6gf7G.mjs} +4 -313
  25. package/dist/{collection-BfNg7tEg.mjs → collection-Be5AHVWP.mjs} +6 -6
  26. package/dist/{collection-namespace-CVzDgJV0.mjs → collection-namespace-Dv0l-V9K.mjs} +1 -1
  27. package/dist/{content-translation-QKWt9l76.mjs → content-translation-BXIXL4eW.mjs} +2 -2
  28. package/dist/{create-CWGsiFvU.mjs → create--fiwuTWc.mjs} +2 -2
  29. package/dist/{create-DEBgYRlM.mjs → create-B9qXQ_wV.mjs} +2 -2
  30. package/dist/{create-CvIeb1NU.mjs → create-BVNhtAgF.mjs} +3 -3
  31. package/dist/{create-BWp6L_dW.mjs → create-BbjSOTN-.mjs} +3 -3
  32. package/dist/{create-DmKwDQCY2.mjs → create-BcsVwXgS2.mjs} +2 -2
  33. package/dist/{create-BLiB2xqo.mjs → create-Bryrkb9g.mjs} +2 -2
  34. package/dist/{create-DJm0YuLW.mjs → create-CHr8MPPq.mjs} +2 -2
  35. package/dist/{create-BJad6MR82.mjs → create-D--Z1S3p2.mjs} +4 -4
  36. package/dist/{create-CMV3qlzJ.mjs → create-DWFJdyIr.mjs} +2 -2
  37. package/dist/{create-CvpeAcFc.mjs → create-Dhai9zAt.mjs} +2 -2
  38. package/dist/{create-uanpKsPo.mjs → create-DiJ8bUb-.mjs} +3 -3
  39. package/dist/{create-Bef5eBCA.mjs → create-DmN2gFc4.mjs} +2 -2
  40. package/dist/{create-D50TxVTk.mjs → create-NCKHHdov.mjs} +1 -1
  41. package/dist/{create-CoFg1p6m.mjs → create-YetX69Re.mjs} +2 -2
  42. package/dist/{create-4UnoQvsy.mjs → create-Za1EskpV.mjs} +3 -3
  43. package/dist/{create-branch-BN5iH-GM.mjs → create-branch-CseVn3lp.mjs} +1 -1
  44. package/dist/{create-bvpl6Fn5.mjs → create-kZIIEN2Y.mjs} +3 -3
  45. package/dist/{csv-BhuX9fwh.mjs → csv-DNzesu8y.mjs} +3 -3
  46. package/dist/{current-task-BMt2NeqV.mjs → current-task-DRTKZcP9.mjs} +2 -2
  47. package/dist/{dashboard-Ct_ajSYI.mjs → dashboard-CMw13KXM.mjs} +9 -9
  48. package/dist/{db-B_LW2VE-.mjs → db-BDijt81U.mjs} +6 -6
  49. package/dist/{delete-CowGO4rh.mjs → delete--15it-A8.mjs} +2 -2
  50. package/dist/{delete-DZ_ICQug.mjs → delete-Bsdwqh7H.mjs} +2 -2
  51. package/dist/{delete-BOcPK_H9.mjs → delete-BudvZkvK.mjs} +2 -2
  52. package/dist/{delete-D2bUV6uo.mjs → delete-BxjJ66BS.mjs} +2 -2
  53. package/dist/{delete-Ur7b11no.mjs → delete-Dc8E5YwZ.mjs} +2 -2
  54. package/dist/{delete-table-Dd8X573t.mjs → delete-table-5AQpn8OB.mjs} +2 -2
  55. package/dist/{delete-D0f7VatX.mjs → delete-wFsy80db.mjs} +2 -2
  56. package/dist/{dependencies-XDVLBwko.mjs → dependencies-C1ogC3BV.mjs} +2 -2
  57. package/dist/{dirty-k-JmGLsS.mjs → dirty-CSLDYO-K.mjs} +1 -1
  58. package/dist/{document-BW9iow8R.mjs → document-BGzVip5_.mjs} +5 -5
  59. package/dist/{download-CQjPIYDO.mjs → download-Ddap1OAo.mjs} +1 -1
  60. package/dist/{eid-CNTKDgwj.mjs → eid-HnrWhPoe.mjs} +2 -2
  61. package/dist/{events-BshWlkDp.mjs → events-CXqetjcS.mjs} +2 -2
  62. package/dist/{export-Dq6ecU8h.mjs → export-IFZdgYZ2.mjs} +3 -3
  63. package/dist/{field-Bo2ISMO4.mjs → field-BJ6HoLRd.mjs} +4 -4
  64. package/dist/{fields-CVctqn5G.mjs → fields-DxHxuxwO.mjs} +2 -2
  65. package/dist/{get-Bl3OmlBP.mjs → get-B2pj2q3X.mjs} +2 -2
  66. package/dist/{get-BD81MHl_.mjs → get-BF2vdF3W.mjs} +2 -2
  67. package/dist/{get-Dw7jAno3.mjs → get-BGLvyOO3.mjs} +2 -2
  68. package/dist/{get-CrpwxWOV.mjs → get-BcoJ9Aha.mjs} +2 -2
  69. package/dist/{get-Df6cGHCM.mjs → get-BiPclcIP.mjs} +2 -2
  70. package/dist/{get-wjIgUlNl.mjs → get-C3cuZNeW.mjs} +2 -2
  71. package/dist/{get-RslzBaXx.mjs → get-CDnmpfHQ.mjs} +1 -1
  72. package/dist/{get-PWhOdz1z.mjs → get-CE9_4Q7E.mjs} +1 -1
  73. package/dist/{get-Dr-U321T2.mjs → get-C_tdSMwW2.mjs} +2 -2
  74. package/dist/{get-B4RgW-VT.mjs → get-CxUQyhte.mjs} +2 -2
  75. package/dist/{get-CTPvdcud.mjs → get-DW7mCaGe.mjs} +2 -2
  76. package/dist/{get-C5sWciaE.mjs → get-D_x-ENFe.mjs} +2 -2
  77. package/dist/{get-D4oGhZWX.mjs → get-DjlQhgD4.mjs} +2 -2
  78. package/dist/{get-BvgEF--n.mjs → get-DmKtPNOy.mjs} +2 -2
  79. package/dist/{get-DfMVlz64.mjs → get-Dtre5jzh.mjs} +1 -1
  80. package/dist/{get-CO6X4nZH.mjs → get-H6kInHIx.mjs} +3 -3
  81. package/dist/{get-7xTeNGAo.mjs → get-b0CoPz5B.mjs} +2 -2
  82. package/dist/{get-8b5Sh50q.mjs → get-eJilYnHk.mjs} +2 -2
  83. package/dist/{get-BtTetWzm.mjs → get-i0KInCw9.mjs} +3 -3
  84. package/dist/{get-BvSA_mmf.mjs → get-jofVjU6e.mjs} +2 -2
  85. package/dist/{get-run-CZdDqfUj.mjs → get-run-BE1HtJDW.mjs} +2 -2
  86. package/dist/git-sync-xKC1sqC4.mjs +28 -0
  87. package/dist/{has-remote-changes-i-3MVxat.mjs → has-remote-changes-Cj1KhBOT.mjs} +1 -1
  88. package/dist/{import-DWEKejya.mjs → import-DLb9VN4l.mjs} +3 -3
  89. package/dist/{input-DEvkIjGr.mjs → input-D5tQEfqN.mjs} +1 -1
  90. package/dist/{is-dirty-C5ipqd4v.mjs → is-dirty-BxtgV2xF.mjs} +1 -1
  91. package/dist/{items-hKJ2ZDwy.mjs → items-DLUYc5-z.mjs} +1 -1
  92. package/dist/{library-B7_04UVK.mjs → library-BNSxXOpc.mjs} +4 -4
  93. package/dist/{list-DKZnQ4Ts.mjs → list-B1soS8QW.mjs} +1 -1
  94. package/dist/{list-D6tTvYUP.mjs → list-BQnOEB3W.mjs} +1 -1
  95. package/dist/{list-CjNXskB4.mjs → list-BUz6KOfw.mjs} +1 -1
  96. package/dist/{list-CmFh1GQ_.mjs → list-BcP1DTJH.mjs} +1 -1
  97. package/dist/{list-eKDT1XXk.mjs → list-C5mS_ehX.mjs} +3 -3
  98. package/dist/{list-DfRqNH1N.mjs → list-CBLxhaNZ.mjs} +1 -1
  99. package/dist/{list-Bs7_Rysg.mjs → list-CERbeLbQ.mjs} +1 -1
  100. package/dist/{list-Cen-7uTo.mjs → list-COLpwXW4.mjs} +1 -1
  101. package/dist/{list-VNC-_E59.mjs → list-CQbiSx26.mjs} +1 -1
  102. package/dist/{list-DKcC4cm0.mjs → list-CX9qZ-bx.mjs} +1 -1
  103. package/dist/{list-B-9QOX9Y.mjs → list-CehE6KBV.mjs} +1 -1
  104. package/dist/{list-CHuhMXet.mjs → list-Cuhf2lKL.mjs} +2 -2
  105. package/dist/{list-CgH-H-O6.mjs → list-CzRzCbCY.mjs} +1 -1
  106. package/dist/{list-6myofqMv.mjs → list-D-SyhKFw.mjs} +2 -2
  107. package/dist/{list-CLZU_EOf.mjs → list-Dat8QNcf.mjs} +1 -1
  108. package/dist/{list-DI820W6w.mjs → list-M8J10Ozk.mjs} +1 -1
  109. package/dist/{list-oX2SMzxZ.mjs → list-Sd7jGZoX.mjs} +1 -1
  110. package/dist/{list-DjwnsyXM.mjs → list-cIMww2Me.mjs} +3 -3
  111. package/dist/{list-1vdClKSE.mjs → list-jhQSgh6i.mjs} +1 -1
  112. package/dist/{login-DumZaWXK.mjs → login-BfLqBfCd.mjs} +6 -6
  113. package/dist/{logout-BsXPRc-3.mjs → logout-BpRXB3Ze.mjs} +2 -2
  114. package/dist/{measure-BFxkbAoa.mjs → measure-Ds8O5Evr.mjs} +5 -5
  115. package/dist/{parameter-values-CoF9Hx1p.mjs → parameter-values-DhrkLXoN.mjs} +2 -2
  116. package/dist/{parse-id-DmFJgpY6.mjs → parse-id-DtM6q9HU.mjs} +1 -1
  117. package/dist/{path-BQ4lRDyN.mjs → path-_GHFrTLx.mjs} +2 -2
  118. package/dist/{poll-CZeXepUQ.mjs → poll-KLl4Eq8Y.mjs} +2 -2
  119. package/dist/{preflight-BTQe4swo.mjs → preflight-BpYtF0IU.mjs} +3 -3
  120. package/dist/{process-CTrfxxaC.mjs → process-CLtOWKBn.mjs} +1 -1
  121. package/dist/{publish-CFB2Cc5A.mjs → publish-D-7Zlmuk.mjs} +3 -3
  122. package/dist/{query-BJbUnAHf.mjs → query-B1CZztxs.mjs} +2 -2
  123. package/dist/{query-CV2KCS5O.mjs → query-CxESKMve.mjs} +4 -4
  124. package/dist/{remove-collection-D3yvKH3e.mjs → remove-collection-C4saCFxz.mjs} +2 -2
  125. package/dist/{render-BJRCs7rA.mjs → render-6O_eF-P1.mjs} +2 -2
  126. package/dist/{replace-uj4WTqx_.mjs → replace-BuR4f2Ai.mjs} +3 -3
  127. package/dist/{rescan-values-CzxQU318.mjs → rescan-values-CNOiiWQ5.mjs} +2 -2
  128. package/dist/{run-B2f_omHu.mjs → run-DijA_BXt.mjs} +2 -2
  129. package/dist/{run-DlO1J1Sx.mjs → run-FmRruANb.mjs} +21 -7
  130. package/dist/{run-yX2dtmE5.mjs → run-QEUbWNm7.mjs} +7 -7
  131. package/dist/{runs-DzUO45wU.mjs → runs-BSlhVeDO.mjs} +2 -2
  132. package/dist/{runtime-arKqJqIT.mjs → runtime-Dtb93zKy.mjs} +2 -2
  133. package/dist/{schema-tables-DZCNzuQ6.mjs → schema-tables-BE3rEb6I.mjs} +2 -2
  134. package/dist/{schemas-2ejqaVsG.mjs → schemas-yDjBiwlH.mjs} +2 -2
  135. package/dist/{search-DcihauDZ.mjs → search-CR_xNArA.mjs} +2 -2
  136. package/dist/{segment-BQT2poPG.mjs → segment-Cm6zQjJW.mjs} +5 -5
  137. package/dist/{selectors-BzestDld.mjs → selectors-C-vgMcGK.mjs} +2 -2
  138. package/dist/{send-DMxoLFo7.mjs → send-kC8oerkT.mjs} +2 -2
  139. package/dist/{set-active-RrvWR9NY.mjs → set-active-lDKhAlij.mjs} +1 -1
  140. package/dist/{set-CDmiD0vv.mjs → set-tFhPkxrL.mjs} +2 -2
  141. package/dist/{setting-BiBLCcxz.mjs → setting-DrJXCaFE.mjs} +3 -3
  142. package/dist/{setup-DYsTzkWO.mjs → setup-BWY9M0iR.mjs} +2 -2
  143. package/dist/{signal-k7cm5N6h.mjs → signal-Csom0mt5.mjs} +1 -1
  144. package/dist/{skill-list-D9_1Pmt7.mjs → skill-list-CCes8pKe.mjs} +1 -1
  145. package/dist/{skills-BPHXUfeL.mjs → skills-DE9ej5Rg.mjs} +2 -2
  146. package/dist/{skills-C3bxxC6a.mjs → skills-DPRN2384.mjs} +3 -3
  147. package/dist/{snippet-BtfxE60H.mjs → snippet-DWHTSo9c.mjs} +5 -5
  148. package/dist/{stash-DdheS0Ad.mjs → stash-C9oDvQ9P.mjs} +3 -3
  149. package/dist/{status-CXouQJ31.mjs → status-CkpujA26.mjs} +2 -2
  150. package/dist/{status-BuIzXRX1.mjs → status-DSdXmNC3.mjs} +2 -2
  151. package/dist/{subscription-CJ8Igs1U.mjs → subscription-DKOKoHRG.mjs} +5 -5
  152. package/dist/{subscriptions-D0NpGvCQ.mjs → subscriptions-C5SyJL4B.mjs} +3 -3
  153. package/dist/{summary-D04S8gGj.mjs → summary-DTPgXsc0.mjs} +2 -2
  154. package/dist/{sync-schema-DrA5zkdl.mjs → sync-schema-DKKkNSR7.mjs} +3 -3
  155. package/dist/{sync-task-BXeWuARG.mjs → sync-task-BtDnTXCP.mjs} +2 -1
  156. package/dist/{table-Dntbz7Q2.mjs → table-I8NXSdUC.mjs} +4 -4
  157. package/dist/{timeline-8jwsldo3.mjs → timeline-B_ESH-6W.mjs} +7 -7
  158. package/dist/{timeline-event-BbB1xEdI.mjs → timeline-event-n4Lzet7l.mjs} +5 -5
  159. package/dist/transform-BNuNiH9d.mjs +28 -0
  160. package/dist/transform-job-B7yc6dfH.mjs +22 -0
  161. package/dist/{transform-tag-PjryheLF.mjs → transform-tag-D6NXqWaX.mjs} +4 -4
  162. package/dist/{transform-test-DSTkKKNC.mjs → transform-test-C1Oqtfb-.mjs} +6 -6
  163. package/dist/{transforms-CijX3VE7.mjs → transforms-O4NtXqFz.mjs} +2 -2
  164. package/dist/transport-CyVo29u7.mjs +313 -0
  165. package/dist/{tree-Cmb3O6rH.mjs → tree-CuyF116R.mjs} +1 -1
  166. package/dist/{unpublish-DkP_AcK5.mjs → unpublish-DvWefKJi.mjs} +2 -2
  167. package/dist/{update-FCP5Lop2.mjs → update-2KIpYgyj.mjs} +3 -3
  168. package/dist/{update-8UmD1prT.mjs → update-76nzOc71.mjs} +3 -3
  169. package/dist/{update-D9kOTr0n.mjs → update-7oKvP1HC.mjs} +4 -4
  170. package/dist/{update-D6Zzvc7F.mjs → update-AJ2JmwDl.mjs} +3 -3
  171. package/dist/{update-CtLbFCd_.mjs → update-BB6Go_RX.mjs} +3 -3
  172. package/dist/{update-C91m9YAR.mjs → update-Bah7N8QX.mjs} +4 -4
  173. package/dist/{update-D8htjzNJ.mjs → update-CGJvIS-l.mjs} +3 -3
  174. package/dist/{update-BrXGg3QO.mjs → update-D7dG7H-z.mjs} +4 -4
  175. package/dist/{update-BFyRBc-H.mjs → update-DOdcflLH.mjs} +4 -4
  176. package/dist/{update-KSHnb6vB.mjs → update-DV54H3L5.mjs} +5 -5
  177. package/dist/{update-DPTio6i1.mjs → update-DXmZuJho.mjs} +3 -3
  178. package/dist/{update-Dz47cKBk.mjs → update-DmgRIp7o.mjs} +3 -3
  179. package/dist/{update-DlWB9s0v.mjs → update-H_fdjugs.mjs} +3 -3
  180. package/dist/{update-DubrpPbz.mjs → update-To6A1Ugu.mjs} +3 -3
  181. package/dist/{update-dashcard-BlibHa5o.mjs → update-dashcard-DjT5QOkL.mjs} +3 -3
  182. package/dist/{update-Ci8YL4_2.mjs → update-l3PyNQKG.mjs} +4 -4
  183. package/dist/{update-COcx61Ur.mjs → update-xEegxIyH.mjs} +3 -3
  184. package/dist/{upgrade-EwL6wPSY.mjs → upgrade-CuJx9fX4.mjs} +4 -4
  185. package/dist/{upload-BZshRJIM.mjs → upload-2YFFBSln.mjs} +3 -3
  186. package/dist/{upload-D0KaTqUE.mjs → upload-CboARPZm.mjs} +2 -2
  187. package/dist/{upload-Do2PBSeH.mjs → upload-DOO94rCQ.mjs} +2 -2
  188. package/dist/{uuid-DjKLDIVE.mjs → uuid-InwZlrpQ.mjs} +1 -1
  189. package/dist/{validate-xR_MHBNR.mjs → validate-D6-Vg_kn.mjs} +1 -1
  190. package/dist/{validate-query-D6_ad-Gi.mjs → validate-query-B90KYPQr.mjs} +1 -1
  191. package/dist/{values-Dc9612_L.mjs → values-CsZLk1Ls.mjs} +2 -2
  192. package/dist/{verify-DVN1eqXZ.mjs → verify-DrGjZwBM.mjs} +3 -3
  193. package/dist/{wait-C-ovOTAZ.mjs → wait-BmzdarP9.mjs} +4 -4
  194. package/dist/{wait-flags-BQNmuvIj.mjs → wait-flags-CiJGrTCT.mjs} +2 -2
  195. package/package.json +1 -1
  196. package/skill-data/core/SKILL.md +1 -1
  197. package/skill-data/transform/SKILL.md +5 -5
  198. package/skill-data/transform-test-plan/references/checks.md +3 -0
  199. package/dist/git-sync-BmoRk0UV.mjs +0 -28
  200. package/dist/transform-job-B-1YAbvy.mjs +0 -22
  201. package/dist/transform-m6s4kkWU.mjs +0 -28
@@ -1,10 +1,10 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { i as MeasureUpdateInput, t as Measure } from "./measure-CtfjqJFP.mjs";
7
- import { a as preflightMbql5Query, n as MEASURE_DEFINITION_LABELS, o as skipValidateFlag } from "./validate-query-D6_ad-Gi.mjs";
7
+ import { a as preflightMbql5Query, n as MEASURE_DEFINITION_LABELS, o as skipValidateFlag } from "./validate-query-B90KYPQr.mjs";
8
8
  import { t as measureView } from "./measure-4P0bOlZ3.mjs";
9
9
  //#region src/commands/measure/update.ts
10
10
  var update_default = defineMetabaseCommand({
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { a as PulseUpdateInput, t as Pulse } from "./pulse-Dz0ocv0l.mjs";
7
7
  import { t as pulseView } from "./pulse-x0gFxWfG.mjs";
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { i as TransformTagUpdateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
7
7
  import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
@@ -1,10 +1,10 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { i as SegmentUpdateInput, t as Segment } from "./segment-OsrbUDzw.mjs";
7
- import { a as preflightMbql5Query, o as skipValidateFlag, r as SEGMENT_DEFINITION_LABELS } from "./validate-query-D6_ad-Gi.mjs";
7
+ import { a as preflightMbql5Query, o as skipValidateFlag, r as SEGMENT_DEFINITION_LABELS } from "./validate-query-B90KYPQr.mjs";
8
8
  import { t as segmentView } from "./segment-C_gl5ag6.mjs";
9
9
  //#region src/commands/segment/update.ts
10
10
  var update_default = defineMetabaseCommand({
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { i as SnippetUpdateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
7
7
  import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
@@ -1,11 +1,11 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { c as CardUpdateInput, t as Card } from "./card-voh1k4hl.mjs";
7
7
  import { n as cardView } from "./card-CEkp1mcI.mjs";
8
- import { a as preflightMbql5Query, o as skipValidateFlag, t as CARD_DATASET_QUERY_LABELS } from "./validate-query-D6_ad-Gi.mjs";
8
+ import { a as preflightMbql5Query, o as skipValidateFlag, t as CARD_DATASET_QUERY_LABELS } from "./validate-query-B90KYPQr.mjs";
9
9
  //#region src/commands/card/update.ts
10
10
  var update_default = defineMetabaseCommand({
11
11
  meta: {
@@ -1,11 +1,11 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { a as DashboardDetail, s as DashboardUpdateInput } from "./dashboard-D0hwTC-f.mjs";
7
7
  import { t as dashboardView } from "./dashboard-DgK81azj.mjs";
8
- import { t as preflightDashcardCardReferences } from "./preflight-BTQe4swo.mjs";
8
+ import { t as preflightDashcardCardReferences } from "./preflight-BpYtF0IU.mjs";
9
9
  //#region src/commands/dashboard/update.ts
10
10
  var update_default = defineMetabaseCommand({
11
11
  meta: {
@@ -1,12 +1,12 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { f as TransformUpdateInput, t as Transform } from "./transform-DiW7bREn.mjs";
7
- import { a as preflightMbql5Query, i as TRANSFORM_SOURCE_QUERY_LABELS, o as skipValidateFlag } from "./validate-query-D6_ad-Gi.mjs";
7
+ import { a as preflightMbql5Query, i as TRANSFORM_SOURCE_QUERY_LABELS, o as skipValidateFlag } from "./validate-query-B90KYPQr.mjs";
8
8
  import { n as transformView } from "./transform-CtqB1WYo.mjs";
9
- import { t as enrichTransformCollectionError } from "./collection-namespace-CVzDgJV0.mjs";
9
+ import { t as enrichTransformCollectionError } from "./collection-namespace-Dv0l-V9K.mjs";
10
10
  //#region src/commands/transform/update.ts
11
11
  var update_default = defineMetabaseCommand({
12
12
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { s as TableUpdateInput, t as Table } from "./table-DfuY0N8e.mjs";
7
7
  import { t as tableView } from "./table-C6h4tIRw.mjs";
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { o as TransformJobUpdateInput, t as TransformJob } from "./transform-job-CCguL6LP.mjs";
7
7
  import { t as transformJobView } from "./transform-job-AaMZRxAq.mjs";
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { c as TimelineUpdateInput, t as Timeline } from "./timeline-CCSU2qOS.mjs";
7
7
  import { n as timelineView } from "./timeline-uDCmwGFT.mjs";
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { i as TimelineEvent, s as TimelineEventUpdateInput } from "./timeline-CCSU2qOS.mjs";
7
7
  import { t as timelineEventView } from "./timeline-uDCmwGFT.mjs";
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { c as Dashcard, u as DashcardPatchInput } from "./dashboard-D0hwTC-f.mjs";
7
7
  import { n as dashcardView } from "./dashboard-DgK81azj.mjs";
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
- import { t as readBody } from "./body-OjAWKVaU.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { t as readBody } from "./body-CshgcV6U.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { a as TransformTestUpdateInput, t as TransformTest } from "./transform-test-BjjCQ2xm.mjs";
7
7
  import { t as transformTestView } from "./transform-test-gzDcbypy.mjs";
@@ -11,7 +11,7 @@ var update_default = defineMetabaseCommand({
11
11
  name: "update",
12
12
  description: "Update a transform test from JSON"
13
13
  },
14
- details: "Only the fields the body carries are patched. `inputs` and `expectations` replace what is stored rather than merging into it. The body is closed: a test read back with `get --full` has to shed `id`, `entity_id`, `creator_id`, `created_at` and `updated_at` before it can be sent.",
14
+ details: "Only the fields the body carries are patched. `inputs` and `expectations` replace what is stored rather than merging into it. The body is closed at every level: a test read back with `get --full` has to shed `id`, `entity_id`, `creator_id`, `created_at` and `updated_at` before it can be sent.",
15
15
  requires: ["transformTest.update"],
16
16
  args: {
17
17
  ...outputFlags,
@@ -1,10 +1,10 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
2
  import { c as NotificationUpdateInput, n as Notification } from "./notification-DaA4bBHW.mjs";
3
3
  import { t as notificationView } from "./notification-DVrLkjFT.mjs";
4
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
5
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
5
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
6
6
  import { t as describeAlert } from "./summary-BytbDz6e.mjs";
7
- import { t as readBody } from "./body-OjAWKVaU.mjs";
7
+ import { t as readBody } from "./body-CshgcV6U.mjs";
8
8
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
9
9
  //#region src/commands/alert/update.ts
10
10
  var update_default = defineMetabaseCommand({
@@ -1,7 +1,7 @@
1
- import { H as outputFlags, L as name, R as version, X as AbortError, h as writeText, it as UnknownError, ot as errorMessage, rt as TimeoutError, t as interruptSignal, tt as NetworkError, u as renderItem, x as promptConfirm } from "./cli.mjs";
2
- import { L as HttpError, O as USER_AGENT, V as parseJson, t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { n as throwIfAborted, t as combineAborts } from "./signal-k7cm5N6h.mjs";
4
- import { n as streamProcess } from "./process-CTrfxxaC.mjs";
1
+ import { H as outputFlags, L as name, R as version, X as AbortError, at as UnknownError, h as writeText, it as TimeoutError, nt as NetworkError, st as errorMessage, t as interruptSignal, u as renderItem, x as promptConfirm } from "./cli.mjs";
2
+ import { L as HttpError, O as USER_AGENT, V as parseJson, t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { n as throwIfAborted, t as combineAborts } from "./signal-Csom0mt5.mjs";
4
+ import { n as streamProcess } from "./process-CLtOWKBn.mjs";
5
5
  import { z } from "zod";
6
6
  import { realpathSync } from "node:fs";
7
7
  import { compare, valid } from "semver";
@@ -4,9 +4,9 @@ var upload_default = defineCommandGroup({
4
4
  name: "upload",
5
5
  description: "Upload CSV files into Metabase",
6
6
  subCommands: {
7
- csv: () => import("./csv-BhuX9fwh.mjs").then((m) => m.default),
8
- append: () => import("./append-CHme1Enm.mjs").then((m) => m.default),
9
- replace: () => import("./replace-uj4WTqx_.mjs").then((m) => m.default)
7
+ csv: () => import("./csv-DNzesu8y.mjs").then((m) => m.default),
8
+ append: () => import("./append-C1JNVALm.mjs").then((m) => m.default),
9
+ replace: () => import("./replace-BuR4f2Ai.mjs").then((m) => m.default)
10
10
  }
11
11
  });
12
12
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
3
  import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
4
- import { n as requireUploadFilePath, t as readCsvFile } from "./upload-Do2PBSeH.mjs";
4
+ import { n as requireUploadFilePath, t as readCsvFile } from "./upload-DOO94rCQ.mjs";
5
5
  //#region src/output/views/content-translation.ts
6
6
  const contentTranslationUploadView = {
7
7
  compactPick: ContentTranslationUploadResult,
@@ -1,5 +1,5 @@
1
- import { Q as ConfigError, st as isFileNotFoundError } from "./cli.mjs";
2
- import { n as fileNotFoundError } from "./input-DEvkIjGr.mjs";
1
+ import { Q as ConfigError, ct as isFileNotFoundError } from "./cli.mjs";
2
+ import { n as fileNotFoundError } from "./input-D5tQEfqN.mjs";
3
3
  import { basename } from "node:path";
4
4
  import { readFile } from "node:fs/promises";
5
5
  //#region src/runtime/upload.ts
@@ -1,5 +1,5 @@
1
1
  import { H as outputFlags, Q as ConfigError, h as writeText, m as writeJson } from "./cli.mjs";
2
- import { rt as parseInteger, t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
2
+ import { rt as parseInteger, t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
5
5
  //#region src/commands/uuid.ts
@@ -1,4 +1,4 @@
1
- import { Q as ConfigError, b as isPlainObject, lt as escapeJsonPointerSegment } from "./cli.mjs";
1
+ import { Q as ConfigError, b as isPlainObject, ut as escapeJsonPointerSegment } from "./cli.mjs";
2
2
  import { z } from "zod";
3
3
  import Ajv2020 from "ajv/dist/2020.js";
4
4
  import addFormats from "ajv-formats";
@@ -1,5 +1,5 @@
1
1
  import { Q as ConfigError, m as writeJson } from "./cli.mjs";
2
- import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-xR_MHBNR.mjs";
2
+ import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-D6-Vg_kn.mjs";
3
3
  //#region src/commands/validate-query.ts
4
4
  const skipValidateFlag = { "skip-validate": {
5
5
  type: "boolean",
@@ -1,6 +1,6 @@
1
1
  import { H as outputFlags, U as profileFlag, _ as formatScalar, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
4
  import { l as FieldValues } from "./field-CcN4oZy6.mjs";
5
5
  import { n as fieldValuesView } from "./field-fDtIrY6D.mjs";
6
6
  //#region src/commands/field/values.ts
@@ -1,6 +1,6 @@
1
- import { n as createClient } from "./client-cJ7aw0Gt.mjs";
2
- import { et as MetabaseError, ot as errorMessage, rt as TimeoutError, tt as NetworkError } from "./cli.mjs";
3
- import { L as HttpError, O as USER_AGENT, et as probeServer } from "./runtime-arKqJqIT.mjs";
1
+ import { n as createClient } from "./client-ClL6gf7G.mjs";
2
+ import { it as TimeoutError, nt as NetworkError, st as errorMessage, tt as MetabaseError } from "./cli.mjs";
3
+ import { L as HttpError, O as USER_AGENT, et as probeServer } from "./runtime-Dtb93zKy.mjs";
4
4
  //#region src/core/auth/verify.ts
5
5
  const VERIFY_TIMEOUT_MS = 15e3;
6
6
  async function verifyAndProbe(url, credential, options = {}) {
@@ -1,9 +1,9 @@
1
1
  import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
- import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-CZeXepUQ.mjs";
4
- import { r as parseWaitSchedule } from "./wait-flags-BQNmuvIj.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
3
+ import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-KLl4Eq8Y.mjs";
4
+ import { r as parseWaitSchedule } from "./wait-flags-CiJGrTCT.mjs";
5
5
  import { c as syncTaskView } from "./git-sync-TjX1r_wF.mjs";
6
- import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask, r as syncTaskIdleView, t as SyncTaskOrIdle } from "./sync-task-BXeWuARG.mjs";
6
+ import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask, r as syncTaskIdleView, t as SyncTaskOrIdle } from "./sync-task-BtDnTXCP.mjs";
7
7
  //#region src/commands/git-sync/wait.ts
8
8
  const WaitResult = SyncTaskOrIdle;
9
9
  var wait_default = defineMetabaseCommand({
@@ -1,6 +1,6 @@
1
1
  import { t as interruptSignal } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
3
- import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-CZeXepUQ.mjs";
2
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
3
+ import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-KLl4Eq8Y.mjs";
4
4
  //#region src/commands/wait-flags.ts
5
5
  const waitScheduleFlags = {
6
6
  timeout: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metabase/cli",
3
- "version": "0.3.2-alpha.fix-transform-test-ee-path.041c793",
3
+ "version": "0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a",
4
4
  "description": "Metabase CLI",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {
@@ -146,7 +146,7 @@ Only what `--help` does _not_ tell you: footguns and non-obvious behaviors.
146
146
  - **transform.** Iterate with `transform update <id>`, never `delete` + `create` (keeps the row, `entity_id`, materialized table, and YAML filename — avoids `_2` suffixes and noisy git history). `transform run` needs `--wait` (or `--sync`, which also waits for the output table to register and returns `target_table_id`) or you get only `{run_id, final:null}`. (→ `transform`.)
147
147
  <!-- /requires -->
148
148
  <!-- requires: transformTests -->
149
- - **transform-test.** `transform-test run <id>` checks a transform against fixtures in temp tables — no real table is read — and exits non-zero unless it passes. (→ `transform`.)
149
+ - **transform-test.** `transform-test run <id>` checks a transform against fixtures in temp tables — only a `format: "sql"` input reads the source database — and exits 1 unless it passes. (→ `transform`.)
150
150
  <!-- /requires -->
151
151
  - **setup is one-shot.** `mb setup` walks `/api/setup` for a **fresh** instance only — errors against an already-configured one. Mostly for bootstrapping local / e2e instances.
152
152
  - **eid** translates a string entity id → numeric id: `mb eid --model <model> <eid1,eid2> --json`. Entity ids are NanoIDs that can start with `-`, which the positional form misreads as a flag (shell quotes don't help) — for those, use `--body '{"entity_ids":{"card":["-…"]}}'` (the id is a JSON string value, immune to flag parsing).
@@ -177,7 +177,7 @@ If you really must `create + delete` instead, do the `delete` **before** the fir
177
177
 
178
178
  ## Transform tests
179
179
 
180
- A transform test replaces every table the transform reads with a fixture, runs it into a temp table, and checks that output. No real table is read or written.
180
+ A transform test replaces every table the transform reads with a fixture, runs it into a temp table, and checks that output. The transform and the expectations read only the run's temp tables; a `format: "sql"` input runs verbatim against the transform's source database, so it may read real tables. Only query transforms (native SQL or MBQL) can be tested, and only on Postgres, MySQL, H2, ClickHouse, Redshift or SQL Server; otherwise `create`/`update`/`run` refuse with `transform-test.unsupported-transform` / `unsupported-driver` (422).
181
181
 
182
182
  ```bash
183
183
  mb transform-test list --transform <id> --profile <n> --json # --transform is optional
@@ -185,16 +185,16 @@ mb transform-test get <id> --full --profile <n> --json # --full for input
185
185
  mb transform-test create --file ./.scratch/test.json --profile <n> --json
186
186
  mb transform-test update <id> --file ./.scratch/patch.json --profile <n> --json
187
187
  mb transform-test delete <id> --yes --profile <n>
188
- mb transform-test run <id> --profile <n> --json # exits non-zero unless it passes
188
+ mb transform-test run <id> --profile <n> --json # exits 1 unless it passes
189
189
  ```
190
190
 
191
191
  **`inputs`** — one per table the transform reads, each naming a `table` plus either `format: "sql"` with `sql`, or `format: "rows"` with `columns` (each a `name` and a `cast_type`) and `rows`.
192
192
 
193
193
  **`cast_type` is a `CAST` target, not a column type**, and the two vocabularies differ per warehouse: MySQL casts to `SIGNED` and reports `BIGINT`; ClickHouse takes `Nullable(Int32)` for a column that is `Int64`. So a body is warehouse-specific — don't copy a `database_type` out of a run result into a `cast_type`, and don't expect one body to run everywhere.
194
194
 
195
- **`expectations`** — `type: "empty"` with the `sql` that must return no rows, or `type: "equals"`, which needs the same `format` split as an input (`"rows"` with `columns`/`rows`, or `"sql"` with a query). An `equals` without a `format` is refused.
195
+ **`expectations`** — `type: "empty"` with the `sql` that must return no rows, or `type: "equals"` with `format: "rows"` and the `columns` and `rows` the output must hold exactly; an `equals` without a `format` is refused.
196
196
 
197
- **Expectation SQL may only name the transform's target table and its declared input tables.** Those are rewritten to the run's temp tables; any other table is refused with `transform-test.unremapped-reference` (400), at `create`/`update` as well as `run`. Expectation names are unique within a test, and every `rows` row carries exactly its declared columns — both refused with the offending name.
197
+ **Expectation SQL may only name the transform's target table and its declared input tables.** Those are rewritten to the run's temp tables; any other table is refused with `transform-test.unremapped-reference` (400), at `create`/`update` as well as `run`. A column qualified by its table name (`people.id`) is refused the same way, in expectation SQL and in the transform's own SQL alike: qualify by an alias (`FROM people p … p.id`) or leave the column bare — for the transform's SQL that means editing the transform. Expectation names are unique within a test (refused with "expectation names must be unique within a test"), and every `rows` row carries exactly its declared columns (refused naming the missing or undeclared columns).
198
198
 
199
199
  ```json
200
200
  {
@@ -231,7 +231,7 @@ mb transform-test run <id> --profile <n> --json # exits non-zero u
231
231
  }
232
232
  ```
233
233
 
234
- Create and update bodies are closed — strip `id`, `entity_id`, `creator_id`, `created_at` and `updated_at` from a `get --full` body before sending it back.
234
+ Create and update bodies are closed at every level (the top level is checked before sending; a stray nested key is a 400) — strip `id`, `entity_id`, `creator_id`, `created_at` and `updated_at` from a `get --full` body before sending it back.
235
235
 
236
236
  <!-- /requires -->
237
237
 
@@ -15,6 +15,9 @@ user bare.
15
15
  Throughout, `<target>` stands for the transform's target table as written in the transform's own
16
16
  definition, and `<input>` for a declared input table.
17
17
 
18
+ `IS DISTINCT FROM` is the null-safe inequality; MySQL spells it `NOT (a <=> b)`, and where neither
19
+ parses, `a <> b OR (a IS NULL) <> (b IS NULL)`.
20
+
18
21
  ## Grain & keys
19
22
 
20
23
  **G1 — Declared grain.** Every output table states "one row per X"; the declaration anchors every
@@ -1,28 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-CXouQJ31.mjs").then((mod) => mod.default),
12
- "is-dirty": () => import("./is-dirty-C5ipqd4v.mjs").then((mod) => mod.default),
13
- "has-remote-changes": () => import("./has-remote-changes-i-3MVxat.mjs").then((mod) => mod.default),
14
- dirty: () => import("./dirty-k-JmGLsS.mjs").then((mod) => mod.default),
15
- "current-task": () => import("./current-task-BMt2NeqV.mjs").then((mod) => mod.default),
16
- "cancel-task": () => import("./cancel-task-CqExODVm.mjs").then((mod) => mod.default),
17
- wait: () => import("./wait-C-ovOTAZ.mjs").then((mod) => mod.default),
18
- import: () => import("./import-DWEKejya.mjs").then((mod) => mod.default),
19
- export: () => import("./export-Dq6ecU8h.mjs").then((mod) => mod.default),
20
- stash: () => import("./stash-DdheS0Ad.mjs").then((mod) => mod.default),
21
- branches: () => import("./branches-D5YLVFDK.mjs").then((mod) => mod.default),
22
- "create-branch": () => import("./create-branch-BN5iH-GM.mjs").then((mod) => mod.default),
23
- "add-collection": () => import("./add-collection-73X1DmCM.mjs").then((mod) => mod.default),
24
- "remove-collection": () => import("./remove-collection-D3yvKH3e.mjs").then((mod) => mod.default)
25
- }
26
- });
27
- //#endregion
28
- export { git_sync_default as default };
@@ -1,22 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-CgH-H-O6.mjs").then((mod) => mod.default),
12
- get: () => import("./get-D4oGhZWX.mjs").then((mod) => mod.default),
13
- create: () => import("./create-DJm0YuLW.mjs").then((mod) => mod.default),
14
- update: () => import("./update-Dz47cKBk.mjs").then((mod) => mod.default),
15
- delete: () => import("./delete-Ur7b11no.mjs").then((mod) => mod.default),
16
- run: () => import("./run-B2f_omHu.mjs").then((mod) => mod.default),
17
- transforms: () => import("./transforms-CijX3VE7.mjs").then((mod) => mod.default),
18
- "set-active": () => import("./set-active-RrvWR9NY.mjs").then((mod) => mod.default)
19
- }
20
- });
21
- //#endregion
22
- export { transform_job_default as default };
@@ -1,28 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-DI820W6w.mjs").then((mod) => mod.default),
15
- get: () => import("./get-7xTeNGAo.mjs").then((mod) => mod.default),
16
- dependencies: () => import("./dependencies-XDVLBwko.mjs").then((mod) => mod.default),
17
- create: () => import("./create-BJad6MR82.mjs").then((mod) => mod.default),
18
- update: () => import("./update-KSHnb6vB.mjs").then((mod) => mod.default),
19
- delete: () => import("./delete-D2bUV6uo.mjs").then((mod) => mod.default),
20
- "delete-table": () => import("./delete-table-Dd8X573t.mjs").then((mod) => mod.default),
21
- run: () => import("./run-yX2dtmE5.mjs").then((mod) => mod.default),
22
- cancel: () => import("./cancel-DeRIq1YJ.mjs").then((mod) => mod.default),
23
- "get-run": () => import("./get-run-CZdDqfUj.mjs").then((mod) => mod.default),
24
- runs: () => import("./runs-DzUO45wU.mjs").then((mod) => mod.default)
25
- }
26
- });
27
- //#endregion
28
- export { transform_default as default };