@metabase/cli 0.3.1 → 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 (268) hide show
  1. package/dist/{add-collection-CYDUm_XO.mjs → add-collection-B_-eMU_k.mjs} +6 -9
  2. package/dist/{alert-ClyhtxIz.mjs → alert-Dalin_DD.mjs} +7 -7
  3. package/dist/{alerts-Dt3D1gcz.mjs → alerts-DpBgrjPI.mjs} +7 -7
  4. package/dist/{append-Bl_Ensmr.mjs → append-C1JNVALm.mjs} +5 -5
  5. package/dist/{archive-BOyKhNOz.mjs → archive-52ZHbFDm2.mjs} +6 -6
  6. package/dist/{archive-DiGxCojL.mjs → archive-B51prFgS.mjs} +4 -4
  7. package/dist/{archive-CWceyy8x.mjs → archive-BkITQyWW.mjs} +5 -5
  8. package/dist/{archive-BJZ7Dace.mjs → archive-CISXgZAI.mjs} +6 -6
  9. package/dist/{archive-D3a3Wgz0.mjs → archive-CdKf_Eqq.mjs} +4 -4
  10. package/dist/{archive-DVGDg8mP.mjs → archive-CicPYX27.mjs} +6 -6
  11. package/dist/{archive-CNblz55j.mjs → archive-CwITzj_j.mjs} +6 -6
  12. package/dist/{archive-DSMqHRr1.mjs → archive-DA3OiLEE.mjs} +4 -4
  13. package/dist/{archive-nKD3mOB8.mjs → archive-DVHxeDKS.mjs} +6 -6
  14. package/dist/{archive-BdHXQg4I.mjs → archive-DckxlWBt.mjs} +4 -4
  15. package/dist/{archive-DDru3vdy.mjs → archive-cAdUa1-2.mjs} +4 -4
  16. package/dist/{auth-aCksg8q2.mjs → auth-A96JOCQx.mjs} +5 -5
  17. package/dist/{body-DxRSAMNC.mjs → body-CshgcV6U.mjs} +3 -3
  18. package/dist/{branches-_0VWR2Zm.mjs → branches-CbcwWYL9.mjs} +4 -7
  19. package/dist/{cancel-ctpVE8uC.mjs → cancel-DpDcVY7M.mjs} +4 -4
  20. package/dist/{cancel-task-FtxBka-M.mjs → cancel-task-B4RDvIYb.mjs} +5 -8
  21. package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
  22. package/dist/card-CefVYtF7.mjs +24 -0
  23. package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
  24. package/dist/{cards-DHOWAvfv.mjs → cards-BC0JX8Yg.mjs} +7 -7
  25. package/dist/cli.mjs +582 -69
  26. package/dist/client-ClL6gf7G.mjs +3783 -0
  27. package/dist/collection-Be5AHVWP.mjs +20 -0
  28. package/dist/{collection-CfulNRBG.mjs → collection-BxdPxD38.mjs} +1 -1
  29. package/dist/{collection-CGoVLvcD.mjs → collection-DYM0p3Xl.mjs} +1 -1
  30. package/dist/{collection-namespace-CEoQ7G08.mjs → collection-namespace-Dv0l-V9K.mjs} +2 -2
  31. package/dist/{content-translation-DNKerjS3.mjs → content-translation-BXIXL4eW.mjs} +3 -3
  32. package/dist/{create-DmvoibX8.mjs → create--fiwuTWc.mjs} +4 -4
  33. package/dist/{create-CLG2-bso.mjs → create-B9qXQ_wV.mjs} +6 -6
  34. package/dist/{create-CEydRMWS.mjs → create-BVNhtAgF.mjs} +7 -7
  35. package/dist/{create-C9vy4ZG6.mjs → create-BbjSOTN-.mjs} +5 -5
  36. package/dist/{create-BdPVWYSi.mjs → create-BcsVwXgS2.mjs} +6 -6
  37. package/dist/{create-CcLchJAN.mjs → create-Bryrkb9g.mjs} +7 -7
  38. package/dist/{create-7ddYK4TA.mjs → create-CHr8MPPq.mjs} +6 -6
  39. package/dist/{create-DaYRnK5P.mjs → create-D--Z1S3p2.mjs} +8 -8
  40. package/dist/{create-F4Lf09xq.mjs → create-DWFJdyIr.mjs} +4 -4
  41. package/dist/{create-vlrlY-2E.mjs → create-Dhai9zAt.mjs} +4 -4
  42. package/dist/create-DiJ8bUb-.mjs +34 -0
  43. package/dist/{create-C78g8Crb.mjs → create-DmN2gFc4.mjs} +5 -5
  44. package/dist/{create-wJR4CxHA.mjs → create-NCKHHdov.mjs} +5 -8
  45. package/dist/{create-C3IaXXty.mjs → create-YetX69Re.mjs} +4 -4
  46. package/dist/{create-e650zxzX.mjs → create-Za1EskpV.mjs} +5 -5
  47. package/dist/{create-branch-B8C7jl-J.mjs → create-branch-CseVn3lp.mjs} +5 -9
  48. package/dist/{create-DIVhBIyE.mjs → create-kZIIEN2Y.mjs} +11 -7
  49. package/dist/{csv-BLPJtlSC.mjs → csv-DNzesu8y.mjs} +5 -5
  50. package/dist/{current-task-C-ldJbWE.mjs → current-task-DRTKZcP9.mjs} +5 -8
  51. package/dist/{dashboard-CtO_3EfC.mjs → dashboard-CMw13KXM.mjs} +10 -10
  52. package/dist/{dashboard-CKUR8ZpQ.mjs → dashboard-D0hwTC-f.mjs} +11 -2
  53. package/dist/{dashboard-BlbNszi8.mjs → dashboard-DgK81azj.mjs} +1 -1
  54. package/dist/{database-B19qlLKZ.mjs → database-C3E9PZSx.mjs} +1 -1
  55. package/dist/{database-C8G6ZKG0.mjs → database-JtHTqSpq.mjs} +1 -1
  56. package/dist/{db-xXselnBq.mjs → db-BDijt81U.mjs} +7 -7
  57. package/dist/{delete-BZZHw6pm.mjs → delete--15it-A8.mjs} +5 -5
  58. package/dist/delete-Bsdwqh7H.mjs +44 -0
  59. package/dist/{delete-ZJJyqsRh.mjs → delete-BudvZkvK.mjs} +5 -5
  60. package/dist/{delete-BwSPQy7m.mjs → delete-BxjJ66BS.mjs} +5 -5
  61. package/dist/{delete-BZwAOQxG.mjs → delete-Dc8E5YwZ.mjs} +5 -5
  62. package/dist/{delete-runtime-D74s6vhu.mjs → delete-runtime-BKEzJn22.mjs} +1 -2
  63. package/dist/{delete-table-CJktZE3w.mjs → delete-table-5AQpn8OB.mjs} +5 -5
  64. package/dist/{delete-D6WxgWRp.mjs → delete-wFsy80db.mjs} +5 -5
  65. package/dist/{dependencies-BdqIqEIy.mjs → dependencies-C1ogC3BV.mjs} +7 -7
  66. package/dist/{dirty-BW2As2wS.mjs → dirty-CSLDYO-K.mjs} +6 -9
  67. package/dist/document-BGzVip5_.mjs +19 -0
  68. package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
  69. package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
  70. package/dist/{download-mfFJ9oRS.mjs → download-Ddap1OAo.mjs} +3 -6
  71. package/dist/{eid-DZ-4t2xe.mjs → eid-HnrWhPoe.mjs} +4 -5
  72. package/dist/{events-D6yFmXP1.mjs → events-CXqetjcS.mjs} +5 -5
  73. package/dist/{export-DYZjz1WP.mjs → export-IFZdgYZ2.mjs} +7 -10
  74. package/dist/{field-BJ54wmIX.mjs → field-BJ6HoLRd.mjs} +5 -5
  75. package/dist/{field-Cr2DPUG9.mjs → field-CcN4oZy6.mjs} +16 -1
  76. package/dist/{field-BPsNa-TO.mjs → field-fDtIrY6D.mjs} +1 -1
  77. package/dist/{fields-FUWCgPOa.mjs → fields-DxHxuxwO.mjs} +7 -7
  78. package/dist/{get-ByZJf9nO.mjs → get-B2pj2q3X.mjs} +5 -5
  79. package/dist/{get-C_5AbfpO.mjs → get-BF2vdF3W.mjs} +4 -4
  80. package/dist/{get-DAOSGt5Z.mjs → get-BGLvyOO3.mjs} +6 -6
  81. package/dist/{get-DMECsioX.mjs → get-BcoJ9Aha.mjs} +4 -4
  82. package/dist/{get-CsN7NBI0.mjs → get-BiPclcIP.mjs} +4 -4
  83. package/dist/{get-DCutQeiV.mjs → get-C3cuZNeW.mjs} +4 -4
  84. package/dist/{get-CQ0-fFWP.mjs → get-CDnmpfHQ.mjs} +5 -8
  85. package/dist/{get-DRJtsS1_.mjs → get-CE9_4Q7E.mjs} +4 -4
  86. package/dist/{get-C5q49Dgx.mjs → get-C_tdSMwW2.mjs} +6 -6
  87. package/dist/{get-CWnriw33.mjs → get-CxUQyhte.mjs} +6 -6
  88. package/dist/{get-DVyesErX.mjs → get-DW7mCaGe.mjs} +6 -6
  89. package/dist/{get-DYaQpixt.mjs → get-D_x-ENFe.mjs} +6 -6
  90. package/dist/{get-Ba2HRdrx.mjs → get-DjlQhgD4.mjs} +6 -6
  91. package/dist/{get-DhkltKIV.mjs → get-DmKtPNOy.mjs} +4 -4
  92. package/dist/{get-BWl3vzsf.mjs → get-Dtre5jzh.mjs} +6 -6
  93. package/dist/get-H6kInHIx.mjs +93 -0
  94. package/dist/{get-BraVQ1FJ.mjs → get-b0CoPz5B.mjs} +6 -6
  95. package/dist/{get-LAew34ID.mjs → get-eJilYnHk.mjs} +6 -6
  96. package/dist/get-i0KInCw9.mjs +32 -0
  97. package/dist/{get-_ggLr1tY.mjs → get-jofVjU6e.mjs} +6 -6
  98. package/dist/{get-run-oH4dRCBx.mjs → get-run-BE1HtJDW.mjs} +6 -6
  99. package/dist/{git-sync-BDnxPrqU.mjs → git-sync-BwBRmEhE.mjs} +18 -1
  100. package/dist/{git-sync-DxD_ng48.mjs → git-sync-TjX1r_wF.mjs} +1 -1
  101. package/dist/git-sync-xKC1sqC4.mjs +28 -0
  102. package/dist/{group-DBM87IgC.mjs → group-YQQ5GIcP.mjs} +2 -2
  103. package/dist/{has-remote-changes-CnmyIw_7.mjs → has-remote-changes-Cj1KhBOT.mjs} +5 -8
  104. package/dist/{import-B7Si-bSI.mjs → import-DLb9VN4l.mjs} +7 -10
  105. package/dist/{input-DH9i67x_.mjs → input-D5tQEfqN.mjs} +1 -1
  106. package/dist/{is-dirty-BOH_VEA8.mjs → is-dirty-BxtgV2xF.mjs} +3 -6
  107. package/dist/{items-DouHkWev.mjs → items-DLUYc5-z.mjs} +7 -7
  108. package/dist/{key-BEhqIzIQ.mjs → key-PYetuQ13.mjs} +1 -1
  109. package/dist/{library-1J_4Dicw.mjs → library-BNSxXOpc.mjs} +5 -5
  110. package/dist/library-BPIzb3K_.mjs +81 -0
  111. package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
  112. package/dist/{list-D25ofn4v.mjs → list-B1soS8QW.mjs} +7 -7
  113. package/dist/{list-Cy0w4Fap.mjs → list-BQnOEB3W.mjs} +4 -4
  114. package/dist/{list-BeMYIeiI.mjs → list-BUz6KOfw.mjs} +7 -7
  115. package/dist/{list-C1bAtgO1.mjs → list-BcP1DTJH.mjs} +4 -4
  116. package/dist/{list-DJK9_BEF.mjs → list-C5mS_ehX.mjs} +14 -13
  117. package/dist/{list-qs9wAtC3.mjs → list-CBLxhaNZ.mjs} +4 -4
  118. package/dist/{list-aKUk-a1Y.mjs → list-CERbeLbQ.mjs} +7 -7
  119. package/dist/{list-B2Ddf4W0.mjs → list-COLpwXW4.mjs} +5 -5
  120. package/dist/{list-sDpy4nDU.mjs → list-CQbiSx26.mjs} +6 -6
  121. package/dist/{list-C0zJ2ehz.mjs → list-CX9qZ-bx.mjs} +6 -6
  122. package/dist/{list-DhViDVx_.mjs → list-CehE6KBV.mjs} +6 -6
  123. package/dist/list-Cuhf2lKL.mjs +35 -0
  124. package/dist/{list-D2IYZ6lk.mjs → list-CzRzCbCY.mjs} +6 -6
  125. package/dist/{list-DWLGpMvr.mjs → list-D-SyhKFw.mjs} +7 -7
  126. package/dist/{list-DptEWB5Y.mjs → list-Dat8QNcf.mjs} +4 -4
  127. package/dist/{list-C7UvO3Uw.mjs → list-M8J10Ozk.mjs} +6 -6
  128. package/dist/{list-BXlTYsYA.mjs → list-Sd7jGZoX.mjs} +4 -4
  129. package/dist/list-cIMww2Me.mjs +60 -0
  130. package/dist/{list-BK_6VNm_.mjs → list-jhQSgh6i.mjs} +4 -4
  131. package/dist/{login-BmyCAfRV.mjs → login-BfLqBfCd.mjs} +18 -15
  132. package/dist/{logout-DUR32q0V.mjs → logout-BpRXB3Ze.mjs} +3 -4
  133. package/dist/{measure-DdVp-8jw.mjs → measure-Ds8O5Evr.mjs} +6 -6
  134. package/dist/{notification-Fcq1fIPw.mjs → notification-DVrLkjFT.mjs} +1 -1
  135. package/dist/{parameter-DUKR8NXo.mjs → parameter-Celg0wZa.mjs} +1 -1
  136. package/dist/{parameter-values-CBR-cBev.mjs → parameter-values-DhrkLXoN.mjs} +5 -6
  137. package/dist/{parse-enum-D0Jfm_Bz.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
  138. package/dist/{parse-id-B3YwNojT.mjs → parse-id-DtM6q9HU.mjs} +1 -1
  139. package/dist/{parse-ref-ibKVB0J4.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
  140. package/dist/{path-D8BQmEhL.mjs → path-_GHFrTLx.mjs} +5 -5
  141. package/dist/{poll-75SvT7Zv.mjs → poll-KLl4Eq8Y.mjs} +2 -2
  142. package/dist/{preflight-CoF1Em99.mjs → preflight-BpYtF0IU.mjs} +3 -4
  143. package/dist/{process-DBOOrmET.mjs → process-CLtOWKBn.mjs} +1 -1
  144. package/dist/{publish-Cb7XrQ3X.mjs → publish-D-7Zlmuk.mjs} +9 -9
  145. package/dist/{pulse-BmsDenXm.mjs → pulse-Dz0ocv0l.mjs} +1 -1
  146. package/dist/{pulse-DhG6I9mI.mjs → pulse-x0gFxWfG.mjs} +2 -2
  147. package/dist/{query-D35B588l.mjs → query-B1CZztxs.mjs} +10 -12
  148. package/dist/query-CxESKMve.mjs +114 -0
  149. package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
  150. package/dist/{remove-collection-DJem6V26.mjs → remove-collection-C4saCFxz.mjs} +6 -9
  151. package/dist/{render-CI93iP0I.mjs → render-6O_eF-P1.mjs} +13 -2
  152. package/dist/{replace-CtsWICrD.mjs → replace-BuR4f2Ai.mjs} +5 -5
  153. package/dist/{rescan-values-CaXUL6z5.mjs → rescan-values-CNOiiWQ5.mjs} +6 -6
  154. package/dist/{run-CM-Amtbf.mjs → run-DijA_BXt.mjs} +26 -14
  155. package/dist/run-FmRruANb.mjs +64 -0
  156. package/dist/{run-BeLm17F4.mjs → run-QEUbWNm7.mjs} +9 -9
  157. package/dist/{runs-DFG63zgr.mjs → runs-BSlhVeDO.mjs} +7 -7
  158. package/dist/{runtime-z8rra6-I.mjs → runtime-Dtb93zKy.mjs} +994 -252
  159. package/dist/{schema-tables-COAHkIcy.mjs → schema-tables-BE3rEb6I.mjs} +7 -7
  160. package/dist/{schemas-BX5BATiV.mjs → schemas-yDjBiwlH.mjs} +5 -5
  161. package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
  162. package/dist/{search-CPvvmhdt.mjs → search-CR_xNArA.mjs} +6 -6
  163. package/dist/{segment-C62L6BI3.mjs → segment-Cm6zQjJW.mjs} +6 -6
  164. package/dist/{selectors-P4QnrORk.mjs → selectors-C-vgMcGK.mjs} +3 -3
  165. package/dist/{send-PZh5IKF8.mjs → send-kC8oerkT.mjs} +4 -4
  166. package/dist/{set-active-DL4QzWDO.mjs → set-active-lDKhAlij.mjs} +5 -5
  167. package/dist/{set-DbCtUoFd.mjs → set-tFhPkxrL.mjs} +5 -5
  168. package/dist/{setting-BlRcZbhC.mjs → setting-DrJXCaFE.mjs} +4 -4
  169. package/dist/{setup-D_SLaC-3.mjs → setup-BWY9M0iR.mjs} +4 -4
  170. package/dist/{signal-CMd0EFUa.mjs → signal-Csom0mt5.mjs} +11 -2
  171. package/dist/skill-list-CCes8pKe.mjs +76 -0
  172. package/dist/skills-DE9ej5Rg.mjs +351 -0
  173. package/dist/{skills-D991LB1M.mjs → skills-DPRN2384.mjs} +3 -3
  174. package/dist/snippet-DWHTSo9c.mjs +19 -0
  175. package/dist/{stash-DyBxFoP6.mjs → stash-C9oDvQ9P.mjs} +7 -11
  176. package/dist/{status-DUsiogz5.mjs → status-CkpujA26.mjs} +11 -9
  177. package/dist/{status-cfDHqK2Q.mjs → status-DSdXmNC3.mjs} +12 -11
  178. package/dist/{subscription-Bn0AU7GN.mjs → subscription-DKOKoHRG.mjs} +6 -6
  179. package/dist/{subscriptions-DwqjCVlc.mjs → subscriptions-C5SyJL4B.mjs} +7 -7
  180. package/dist/{summary-BGwSNzf4.mjs → summary-DTPgXsc0.mjs} +6 -6
  181. package/dist/{sync-schema-dtkDOAKe.mjs → sync-schema-DKKkNSR7.mjs} +7 -7
  182. package/dist/{sync-task-BACcrs0i.mjs → sync-task-BtDnTXCP.mjs} +3 -2
  183. package/dist/{table-CsIJNPFf.mjs → table-C6h4tIRw.mjs} +1 -1
  184. package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
  185. package/dist/{table-BJoEAoCU.mjs → table-I8NXSdUC.mjs} +5 -5
  186. package/dist/timeline-B_ESH-6W.mjs +21 -0
  187. package/dist/{timeline-event-BsF7YqzZ.mjs → timeline-event-n4Lzet7l.mjs} +6 -6
  188. package/dist/transform-BNuNiH9d.mjs +28 -0
  189. package/dist/{transform-DoTyyXAu.mjs → transform-CtqB1WYo.mjs} +2 -2
  190. package/dist/{transform-D3QX0jxA.mjs → transform-DiW7bREn.mjs} +68 -5
  191. package/dist/{transform-job-50GZHhKH.mjs → transform-job-AaMZRxAq.mjs} +1 -1
  192. package/dist/transform-job-B7yc6dfH.mjs +22 -0
  193. package/dist/{transform-job-DRrK28IH.mjs → transform-job-CCguL6LP.mjs} +41 -4
  194. package/dist/{transform-tag-VM9R7Q_M.mjs → transform-tag-D6NXqWaX.mjs} +5 -5
  195. package/dist/transform-test-BjjCQ2xm.mjs +169 -0
  196. package/dist/transform-test-C1Oqtfb-.mjs +16 -0
  197. package/dist/transform-test-gzDcbypy.mjs +25 -0
  198. package/dist/{transforms-BjACGbBp.mjs → transforms-O4NtXqFz.mjs} +7 -7
  199. package/dist/transport-CyVo29u7.mjs +313 -0
  200. package/dist/{tree-BwS6JAmk.mjs → tree-CuyF116R.mjs} +4 -5
  201. package/dist/{unpublish-DWdPnENY.mjs → unpublish-DvWefKJi.mjs} +4 -7
  202. package/dist/{update-DkviXwSg.mjs → update-2KIpYgyj.mjs} +7 -7
  203. package/dist/{update-DKEHY-gt.mjs → update-76nzOc71.mjs} +7 -7
  204. package/dist/{update-B2CF2DK4.mjs → update-7oKvP1HC.mjs} +6 -6
  205. package/dist/{update-DTmRHBik.mjs → update-AJ2JmwDl.mjs} +7 -7
  206. package/dist/{update-BR_vkkd1.mjs → update-BB6Go_RX.mjs} +5 -5
  207. package/dist/{update-DCjAjihm.mjs → update-Bah7N8QX.mjs} +6 -6
  208. package/dist/{update-cqR1U6DU.mjs → update-CGJvIS-l.mjs} +5 -5
  209. package/dist/{update-tLIhVIPp.mjs → update-D7dG7H-z.mjs} +8 -8
  210. package/dist/{update-C1FBVLfC.mjs → update-DOdcflLH.mjs} +8 -8
  211. package/dist/{update-DlTaD1x3.mjs → update-DV54H3L5.mjs} +9 -9
  212. package/dist/{update-C4y3iQsv.mjs → update-DXmZuJho.mjs} +7 -7
  213. package/dist/{update-3idz42uD.mjs → update-DmgRIp7o.mjs} +7 -7
  214. package/dist/{update-DsZttiSC.mjs → update-H_fdjugs.mjs} +5 -5
  215. package/dist/{update-BCT9qpVr.mjs → update-To6A1Ugu.mjs} +5 -5
  216. package/dist/{update-dashcard-DlE_bb2F.mjs → update-dashcard-DjT5QOkL.mjs} +7 -7
  217. package/dist/update-l3PyNQKG.mjs +41 -0
  218. package/dist/{update-BpPaacCF.mjs → update-xEegxIyH.mjs} +6 -6
  219. package/dist/{upgrade-mNV7XuJG.mjs → upgrade-CuJx9fX4.mjs} +6 -8
  220. package/dist/upload-2YFFBSln.mjs +13 -0
  221. package/dist/{upload-CEGVxmYB.mjs → upload-CboARPZm.mjs} +4 -7
  222. package/dist/{upload-CD555ui1.mjs → upload-DOO94rCQ.mjs} +2 -2
  223. package/dist/{uuid-C4hqn3kA.mjs → uuid-InwZlrpQ.mjs} +10 -7
  224. package/dist/{validate-BWchyW0V.mjs → validate-D6-Vg_kn.mjs} +69 -23
  225. package/dist/{validate-query-DaGYSmpQ.mjs → validate-query-B90KYPQr.mjs} +3 -4
  226. package/dist/{values-C0O3eNaW.mjs → values-CsZLk1Ls.mjs} +6 -6
  227. package/dist/{verify-DfTjYF7s.mjs → verify-DrGjZwBM.mjs} +3 -18
  228. package/dist/{wait-WZmFenN_.mjs → wait-BmzdarP9.mjs} +7 -10
  229. package/dist/{wait-flags-BbfDSP8R.mjs → wait-flags-CiJGrTCT.mjs} +2 -2
  230. package/dist/{window-BkvrP0gB.mjs → window-DSb1tqSe.mjs} +1 -1
  231. package/package.json +1 -1
  232. package/skill-data/core/SKILL.md +31 -15
  233. package/skill-data/dashboard/SKILL.md +1 -1
  234. package/skill-data/data-workflow/references/building-clean-tables.md +6 -2
  235. package/skill-data/data-workflow/references/reusable-definitions.md +11 -3
  236. package/skill-data/document/SKILL.md +4 -1
  237. package/skill-data/git-sync/SKILL.md +5 -0
  238. package/skill-data/mbql/SKILL.md +84 -115
  239. package/skill-data/mbql/references/operators.md +77 -231
  240. package/skill-data/metadata/SKILL.md +1 -1
  241. package/skill-data/metadata/references/semantic-types.md +7 -1
  242. package/skill-data/native-sql/SKILL.md +8 -9
  243. package/skill-data/native-sql/references/template-tags.md +27 -27
  244. package/skill-data/notification/SKILL.md +7 -1
  245. package/skill-data/transform/SKILL.md +76 -4
  246. package/skill-data/transform-test-plan/SKILL.md +171 -0
  247. package/skill-data/transform-test-plan/references/checklist.md +81 -0
  248. package/skill-data/transform-test-plan/references/checks.md +263 -0
  249. package/skill-data/visualization/SKILL.md +13 -6
  250. package/skill-data/visualization/references/settings.md +13 -11
  251. package/skills/metabase-cli/SKILL.md +1 -1
  252. package/dist/card-CGCXbdmD.mjs +0 -24
  253. package/dist/client-mKuHg_sc.mjs +0 -2218
  254. package/dist/collection-D8Tk8i3a.mjs +0 -20
  255. package/dist/document-KbcHhzFz.mjs +0 -19
  256. package/dist/get-BC8J8BXB.mjs +0 -80
  257. package/dist/git-sync-Dik8nKfw.mjs +0 -28
  258. package/dist/library-ClLgrAXy.mjs +0 -19
  259. package/dist/list-CW5PdYCX.mjs +0 -98
  260. package/dist/network-error-D6CiOEBw.mjs +0 -431
  261. package/dist/predicates-Bkm2IoeX.mjs +0 -170
  262. package/dist/query-C256WBYG.mjs +0 -87
  263. package/dist/skills-DTCrMcix.mjs +0 -216
  264. package/dist/snippet-DTDO55Cg.mjs +0 -19
  265. package/dist/timeline-DcXPshcT.mjs +0 -21
  266. package/dist/transform-Dsf_wHAj.mjs +0 -28
  267. package/dist/transform-job-B1yLv5l-.mjs +0 -22
  268. package/dist/upload-DsYCf5kB.mjs +0 -13
@@ -1,17 +1,17 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
3
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
4
- import { t as readBody } from "./body-DxRSAMNC.mjs";
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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
- import { o as TransformJobUpdateInput, t as TransformJob } from "./transform-job-DRrK28IH.mjs";
7
- import { t as transformJobView } from "./transform-job-50GZHhKH.mjs";
6
+ import { o as TransformJobUpdateInput, t as TransformJob } from "./transform-job-CCguL6LP.mjs";
7
+ import { t as transformJobView } from "./transform-job-AaMZRxAq.mjs";
8
8
  //#region src/commands/transform-job/update.ts
9
9
  var update_default = defineMetabaseCommand({
10
10
  meta: {
11
11
  name: "update",
12
12
  description: "Update a transform job by id"
13
13
  },
14
- capabilities: { minVersion: 59 },
14
+ requires: ["transformJob.update"],
15
15
  args: {
16
16
  ...outputFlags,
17
17
  ...profileFlag,
@@ -1,7 +1,7 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
3
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
4
- import { t as readBody } from "./body-DxRSAMNC.mjs";
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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";
@@ -12,7 +12,7 @@ var update_default = defineMetabaseCommand({
12
12
  description: "Update a timeline by id"
13
13
  },
14
14
  details: "Patches only the fields you send: `name`, `description`, `icon`, `collection_id`, `default`, `archived`. Changing `archived` cascades to every event on the timeline.",
15
- capabilities: { minVersion: 58 },
15
+ requires: ["timeline.update"],
16
16
  args: {
17
17
  ...outputFlags,
18
18
  ...profileFlag,
@@ -1,7 +1,7 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
3
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
4
- import { t as readBody } from "./body-DxRSAMNC.mjs";
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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";
@@ -12,7 +12,7 @@ var update_default = defineMetabaseCommand({
12
12
  description: "Update a timeline event by id"
13
13
  },
14
14
  details: "Patches only the fields you send: `name`, `description`, `timestamp`, `timezone`, `time_matters`, `icon`, `timeline_id` (moves the event to another timeline), `archived`.",
15
- capabilities: { minVersion: 58 },
15
+ requires: ["timelineEvent.update"],
16
16
  args: {
17
17
  ...outputFlags,
18
18
  ...profileFlag,
@@ -1,17 +1,17 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
3
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
4
- import { t as readBody } from "./body-DxRSAMNC.mjs";
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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
- import { l as DashcardPatchInput, s as Dashcard } from "./dashboard-CKUR8ZpQ.mjs";
7
- import { n as dashcardView } from "./dashboard-BlbNszi8.mjs";
6
+ import { c as Dashcard, u as DashcardPatchInput } from "./dashboard-D0hwTC-f.mjs";
7
+ import { n as dashcardView } from "./dashboard-DgK81azj.mjs";
8
8
  //#region src/commands/dashboard/update-dashcard.ts
9
9
  var update_dashcard_default = defineMetabaseCommand({
10
10
  meta: {
11
11
  name: "update-dashcard",
12
12
  description: "Patch a single dashcard's layout or settings on a dashboard"
13
13
  },
14
- capabilities: { minVersion: 58 },
14
+ requires: ["dashboard.updateDashcard"],
15
15
  args: {
16
16
  ...outputFlags,
17
17
  ...profileFlag,
@@ -0,0 +1,41 @@
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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
+ import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
+ import { a as TransformTestUpdateInput, t as TransformTest } from "./transform-test-BjjCQ2xm.mjs";
7
+ import { t as transformTestView } from "./transform-test-gzDcbypy.mjs";
8
+ //#region src/commands/transform-test/update.ts
9
+ var update_default = defineMetabaseCommand({
10
+ meta: {
11
+ name: "update",
12
+ description: "Update a transform test from JSON"
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 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
+ requires: ["transformTest.update"],
16
+ args: {
17
+ ...outputFlags,
18
+ ...profileFlag,
19
+ ...connectionFlags,
20
+ ...bodyInputFlags,
21
+ id: {
22
+ type: "positional",
23
+ description: "Transform test id",
24
+ required: true
25
+ }
26
+ },
27
+ inputSchema: TransformTestUpdateInput,
28
+ outputSchema: TransformTest,
29
+ examples: ["cat patch.json | mb transform-test update 1", "mb transform-test update 1 --file patch.json"],
30
+ async run({ args, ctx, getClient }) {
31
+ const id = parseId(args.id);
32
+ const body = await readBody({
33
+ flag: args.body,
34
+ file: args.file
35
+ }, TransformTestUpdateInput);
36
+ const updated = await (await getClient()).transformTest.update(id, body);
37
+ renderSummary(updated, transformTestView, `Updated transform test ${updated.id}.`, ctx);
38
+ }
39
+ });
40
+ //#endregion
41
+ export { update_default as default };
@@ -1,10 +1,10 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
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
- import { t as notificationView } from "./notification-Fcq1fIPw.mjs";
4
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
5
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
3
+ import { t as notificationView } from "./notification-DVrLkjFT.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-DxRSAMNC.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({
@@ -18,7 +18,7 @@ var update_default = defineMetabaseCommand({
18
18
  "`subscriptions` and `handlers` replace the whole list, so send every schedule and recipient you want to keep —",
19
19
  "`mb alert get <id>` prints the current ones. An alert's card cannot be moved to a different card."
20
20
  ].join(" "),
21
- capabilities: { minVersion: 58 },
21
+ requires: ["notification.update"],
22
22
  args: {
23
23
  ...outputFlags,
24
24
  ...profileFlag,
@@ -1,12 +1,10 @@
1
- import { f as errorMessage, l as TimeoutError, n as AbortError, s as NetworkError, u as UnknownError } from "./predicates-Bkm2IoeX.mjs";
2
- import { A as name, F as outputFlags, h as promptConfirm, j as version, o as renderItem, t as interruptSignal, u as writeText } from "./cli.mjs";
3
- import { t as defineMetabaseCommand, u as USER_AGENT } from "./runtime-z8rra6-I.mjs";
4
- import { h as parseJson, r as HttpError } from "./network-error-D6CiOEBw.mjs";
5
- import { n as throwIfAborted, t as combineAborts } from "./signal-CMd0EFUa.mjs";
6
- import { n as streamProcess } from "./process-DBOOrmET.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";
7
5
  import { z } from "zod";
8
- import { compare, valid } from "semver";
9
6
  import { realpathSync } from "node:fs";
7
+ import { compare, valid } from "semver";
10
8
  //#region src/core/npm-registry.ts
11
9
  const DEFAULT_REGISTRY = "https://registry.npmjs.org";
12
10
  const DEFAULT_TIMEOUT_MS = 15e3;
@@ -291,7 +289,7 @@ var upgrade_default = defineMetabaseCommand({
291
289
  name: "upgrade",
292
290
  description: "Upgrade the Metabase CLI itself to the latest published release"
293
291
  },
294
- capabilities: null,
292
+ requires: null,
295
293
  args: {
296
294
  ...outputFlags,
297
295
  check: {
@@ -0,0 +1,13 @@
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-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
+ }
11
+ });
12
+ //#endregion
13
+ export { upload_default as default };
@@ -1,7 +1,7 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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-CD555ui1.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,
@@ -18,10 +18,7 @@ var upload_default = defineMetabaseCommand({
18
18
  description: "Replace the complete content translation dictionary from CSV"
19
19
  },
20
20
  details: "Uploads one complete dictionary and replaces every active content translation on the server. Keep the canonical full CSV in version control and download the current dictionary before replacing it. Metabase accepts dictionaries up to 1.5 MiB.",
21
- capabilities: {
22
- minVersion: 58,
23
- tokenFeature: "content_translation"
24
- },
21
+ requires: ["contentTranslation.upload"],
25
22
  args: {
26
23
  ...outputFlags,
27
24
  ...profileFlag,
@@ -1,5 +1,5 @@
1
- import { i as ConfigError, p as isFileNotFoundError } from "./predicates-Bkm2IoeX.mjs";
2
- import { n as fileNotFoundError } from "./input-DH9i67x_.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,6 +1,5 @@
1
- import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
- import { F as outputFlags, l as writeJson, u as writeText } from "./cli.mjs";
3
- import { R as parseInteger, t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
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-Dtb93zKy.mjs";
4
3
  import { z } from "zod";
5
4
  import { randomUUID } from "node:crypto";
6
5
  //#region src/commands/uuid.ts
@@ -11,12 +10,15 @@ var uuid_default = defineMetabaseCommand({
11
10
  name: "uuid",
12
11
  description: "Mint random UUID v4 strings"
13
12
  },
14
- details: "For MBQL `lib/uuid` slots, native template-tag ids, and other UUID fields. Mint fresh values here rather than authoring them by hand — the MBQL 5 schema rejects placeholder strings.",
13
+ details: "For the values that must be a UUID: the `lib/uuid` of an aggregation an MBQL aggregation ref points at, and a document node's `_id`.",
15
14
  skills: [{
16
15
  skill: "mbql",
17
- purpose: "where lib/uuid values are used"
16
+ purpose: "aggregation refs"
17
+ }, {
18
+ skill: "document",
19
+ purpose: "document node ids"
18
20
  }],
19
- capabilities: null,
21
+ requires: null,
20
22
  args: {
21
23
  ...outputFlags,
22
24
  count: {
@@ -29,7 +31,8 @@ var uuid_default = defineMetabaseCommand({
29
31
  examples: [
30
32
  "mb uuid",
31
33
  "mb uuid --count 5",
32
- "mb uuid --count 5 --json"
34
+ "mb uuid --count 5 --json",
35
+ "U=$(mb uuid --format text)"
33
36
  ],
34
37
  run({ args, ctx }) {
35
38
  const count = parseInteger(args.count, {
@@ -1,4 +1,4 @@
1
- import { h as escapeJsonPointerSegment, i as ConfigError, t as isPlainObject } from "./predicates-Bkm2IoeX.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";
@@ -1308,7 +1308,7 @@ const ValidationIssue = z.object({
1308
1308
  path: z.string(),
1309
1309
  message: z.string()
1310
1310
  });
1311
- z.object({
1311
+ const ValidationOutcome = z.object({
1312
1312
  ok: z.boolean(),
1313
1313
  errors: z.array(ValidationIssue)
1314
1314
  });
@@ -1327,6 +1327,58 @@ const idSchema = {
1327
1327
  field_id: POSITIVE_INTEGER
1328
1328
  }
1329
1329
  };
1330
+ function definitionRef(tag) {
1331
+ return {
1332
+ description: `[${tag}, options, id]`,
1333
+ type: "array",
1334
+ prefixItems: [
1335
+ { const: tag },
1336
+ { $ref: "query.yaml#/$defs/options" },
1337
+ POSITIVE_INTEGER
1338
+ ],
1339
+ minItems: 3,
1340
+ maxItems: 3
1341
+ };
1342
+ }
1343
+ const refSchemaWithIds = {
1344
+ ...ref_default,
1345
+ $defs: {
1346
+ ...ref_default.$defs,
1347
+ metric_ref: definitionRef("metric"),
1348
+ measure_ref: definitionRef("measure"),
1349
+ segment_ref: definitionRef("segment")
1350
+ }
1351
+ };
1352
+ const templateTag = query_default.$defs.template_tag;
1353
+ const nativeStage = query_default.$defs.native_stage;
1354
+ const TEMPLATE_TAG_REF = { $ref: "#/$defs/template_tag" };
1355
+ const querySchemaForApi = {
1356
+ ...query_default,
1357
+ $defs: {
1358
+ ...query_default.$defs,
1359
+ native_stage: {
1360
+ ...nativeStage,
1361
+ properties: {
1362
+ ...nativeStage.properties,
1363
+ "template-tags": {
1364
+ type: ["object", "array"],
1365
+ additionalProperties: TEMPLATE_TAG_REF,
1366
+ items: TEMPLATE_TAG_REF
1367
+ }
1368
+ }
1369
+ },
1370
+ template_tag: {
1371
+ ...templateTag,
1372
+ properties: {
1373
+ ...templateTag.properties,
1374
+ id: {
1375
+ type: "string",
1376
+ minLength: 1
1377
+ }
1378
+ }
1379
+ }
1380
+ }
1381
+ };
1330
1382
  let validator = null;
1331
1383
  function getValidator() {
1332
1384
  if (validator !== null) return validator;
@@ -1338,18 +1390,18 @@ function getValidator() {
1338
1390
  addFormats(ajv);
1339
1391
  ajv.addSchema(idSchema, "id.yaml");
1340
1392
  ajv.addSchema(parameter_default, "parameter.yaml");
1341
- ajv.addSchema(ref_default, "ref.yaml");
1393
+ ajv.addSchema(refSchemaWithIds, "ref.yaml");
1342
1394
  ajv.addSchema(temporal_bucketing_default, "temporal_bucketing.yaml");
1343
- ajv.addSchema(query_default, "query.yaml");
1395
+ ajv.addSchema(querySchemaForApi, "query.yaml");
1344
1396
  const compiled = ajv.getSchema("query.yaml");
1345
1397
  if (compiled === void 0) throw new Error("internal: query.yaml validator not registered");
1346
1398
  validator = compiled;
1347
1399
  return validator;
1348
1400
  }
1349
- const UUID_HINT_MESSAGE = "must be a UUID v4 (RFC 4122) — run `mb uuid` (or `mb uuid --count N`) to mint one. The MBQL 5 schema rejects placeholder strings (`a1`, `uuid-1`, etc.); agents must call the CLI for UUIDs rather than authoring them.";
1350
- const FIELD_SLOT1_HINT_MESSAGE = "must be the field options object — MBQL 5 field refs are [\"field\", {options}, fieldId]; the legacy MBQL 4 shape [\"field\", id, opts] is not accepted here. (Tip: `mb uuid` mints `lib/uuid` strings if you need them.)";
1351
- function clauseSlot1HintMessage(operator, slot1) {
1352
- return `must be the clause options object — every MBQL 5 clause is ["${operator}", {options}, ...args]; got ${describeJsonValue(slot1)} at index 1`;
1401
+ const UUID_HINT_MESSAGE = "must be a UUID from `mb uuid`";
1402
+ const FIELD_SLOT1_HINT_MESSAGE = "must be the options object: [\"field\", {}, <field id>]";
1403
+ function clauseSlot1HintMessage(operator) {
1404
+ return `must be the options object: ["${operator}", {}, ...args]`;
1353
1405
  }
1354
1406
  const FormatErrorParams = z.object({ format: z.string() });
1355
1407
  function isUuidFormatIssue(issue) {
@@ -1365,7 +1417,7 @@ function runValidator(validatorFn, value) {
1365
1417
  const overrides = collectMessageOverrides(value);
1366
1418
  return {
1367
1419
  ok: false,
1368
- errors: (validatorFn.errors ?? []).map((issue) => {
1420
+ errors: (validatorFn.errors ?? []).filter((issue) => issue.keyword !== IF_KEYWORD).map((issue) => {
1369
1421
  if (issue.message === void 0) throw new Error(`Ajv issue at ${issue.instancePath} has no message`);
1370
1422
  const path = issue.instancePath === "" ? "/" : issue.instancePath;
1371
1423
  if (isUuidFormatIssue(issue)) return {
@@ -1379,6 +1431,7 @@ function runValidator(validatorFn, value) {
1379
1431
  })
1380
1432
  };
1381
1433
  }
1434
+ const IF_KEYWORD = "if";
1382
1435
  function collectMessageOverrides(root) {
1383
1436
  const overrides = /* @__PURE__ */ new Map();
1384
1437
  visit(root, "");
@@ -1403,7 +1456,7 @@ function clauseSlot1Message(clause) {
1403
1456
  const slot1 = clause[1];
1404
1457
  if (isPlainObject(slot1)) return null;
1405
1458
  if (operator === "field") return FIELD_SLOT1_HINT_MESSAGE;
1406
- return clauseSlot1HintMessage(operator, slot1);
1459
+ return clauseSlot1HintMessage(operator);
1407
1460
  }
1408
1461
  function refSlot2Message(clause) {
1409
1462
  if (clause.length !== 3) return null;
@@ -1414,18 +1467,11 @@ function refSlot2Message(clause) {
1414
1467
  }
1415
1468
  function refHintForKind(kind) {
1416
1469
  switch (kind) {
1417
- case "aggregation": return "must be the target aggregation's lib/uuid (string), not a numeric position";
1418
- case "expression": return "must be the target expression's name (string), not a numeric position";
1470
+ case "aggregation": return "must be the lib/uuid of an aggregation in this stage";
1471
+ case "expression": return "must be the name of an expression in this stage";
1419
1472
  default: return null;
1420
1473
  }
1421
1474
  }
1422
- function describeJsonValue(value) {
1423
- if (value === null) return "null";
1424
- if (Array.isArray(value)) return "array";
1425
- if (typeof value === "string") return `string ${JSON.stringify(value)}`;
1426
- if (typeof value === "number" || typeof value === "boolean") return `${typeof value} ${String(value)}`;
1427
- return typeof value;
1428
- }
1429
1475
  function validateQuery(value) {
1430
1476
  return runValidator(getValidator(), value);
1431
1477
  }
@@ -1443,7 +1489,7 @@ function isLegacyEnvelopeWrappingMbql5(value) {
1443
1489
  }
1444
1490
  function assertNotLegacyEnvelopeWrappingMbql5(value, options) {
1445
1491
  if (!isLegacyEnvelopeWrappingMbql5(value)) return;
1446
- throw new ConfigError(`${options.contextLabel}: MBQL 5 query nested inside a legacy {type:"query", query:…} envelope. For MBQL 5, ${options.bodyNoun} is the mbql/query value itself: {"lib/type":"mbql/query", database:N, stages:[…]}.`);
1492
+ throw new ConfigError(`${options.contextLabel}: ${options.bodyNoun} is the query itself: {"lib/type": "mbql/query", "database": N, "stages": […]}.`);
1447
1493
  }
1448
1494
  z.object({
1449
1495
  schema: z.unknown(),
@@ -1456,14 +1502,14 @@ z.object({
1456
1502
  });
1457
1503
  function getQuerySchemaBundle() {
1458
1504
  return {
1459
- schema: query_default,
1505
+ schema: querySchemaForApi,
1460
1506
  defs: {
1461
1507
  "id.yaml": idSchema,
1462
1508
  "parameter.yaml": parameter_default,
1463
- "ref.yaml": ref_default,
1509
+ "ref.yaml": refSchemaWithIds,
1464
1510
  "temporal_bucketing.yaml": temporal_bucketing_default
1465
1511
  }
1466
1512
  };
1467
1513
  }
1468
1514
  //#endregion
1469
- export { validateQuery as i, getQuerySchemaBundle as n, isMbql5Query as r, assertNotLegacyEnvelopeWrappingMbql5 as t };
1515
+ export { validateQuery as a, isMbql5Query as i, assertNotLegacyEnvelopeWrappingMbql5 as n, getQuerySchemaBundle as r, ValidationOutcome as t };
@@ -1,6 +1,5 @@
1
- import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
- import { l as writeJson } from "./cli.mjs";
3
- import { i as validateQuery, r as isMbql5Query, t as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-BWchyW0V.mjs";
1
+ import { Q as ConfigError, m as writeJson } from "./cli.mjs";
2
+ import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-D6-Vg_kn.mjs";
4
3
  //#region src/commands/validate-query.ts
5
4
  const skipValidateFlag = { "skip-validate": {
6
5
  type: "boolean",
@@ -29,7 +28,7 @@ function preflightMbql5Query(query, labels, options) {
29
28
  const outcome = validateQuery(query);
30
29
  if (outcome.ok) return;
31
30
  writeJson(outcome);
32
- throw new ConfigError(`${labels.contextLabel}: ${outcome.errors.length} error(s) — pass valid MBQL 5 or use the legacy format`);
31
+ throw new ConfigError(`${labels.contextLabel}: ${outcome.errors.length} error(s) — fix them, or pass --skip-validate to send anyway`);
33
32
  }
34
33
  //#endregion
35
34
  export { preflightMbql5Query as a, TRANSFORM_SOURCE_QUERY_LABELS as i, MEASURE_DEFINITION_LABELS as n, skipValidateFlag as o, SEGMENT_DEFINITION_LABELS as r, CARD_DATASET_QUERY_LABELS as t };
@@ -1,15 +1,15 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary, f as formatScalar } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
3
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
4
- import { s as FieldValues } from "./field-Cr2DPUG9.mjs";
5
- import { n as fieldValuesView } from "./field-BPsNa-TO.mjs";
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-Dtb93zKy.mjs";
3
+ import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
4
+ import { l as FieldValues } from "./field-CcN4oZy6.mjs";
5
+ import { n as fieldValuesView } from "./field-fDtIrY6D.mjs";
6
6
  //#region src/commands/field/values.ts
7
7
  var values_default = defineMetabaseCommand({
8
8
  meta: {
9
9
  name: "values",
10
10
  description: "Fetch the cached distinct values for a field (FieldValues list)"
11
11
  },
12
- capabilities: { minVersion: 58 },
12
+ requires: ["field.values"],
13
13
  args: {
14
14
  ...outputFlags,
15
15
  ...profileFlag,
@@ -1,21 +1,6 @@
1
- import { n as createClient } from "./client-mKuHg_sc.mjs";
2
- import { f as errorMessage, l as TimeoutError, o as MetabaseError, s as NetworkError } from "./predicates-Bkm2IoeX.mjs";
3
- import { F as tryParseTag, I as SessionProperties, u as USER_AGENT } from "./runtime-z8rra6-I.mjs";
4
- import { r as HttpError } from "./network-error-D6CiOEBw.mjs";
5
- //#region ../client/src/version/probe.ts
6
- const PROBE_PATH = "/api/session/properties";
7
- const PROBE_TIMEOUT_MS = 1e4;
8
- async function probeServer(client, opts = {}) {
9
- const properties = await client.requestParsed(SessionProperties, PROBE_PATH, {
10
- timeoutMs: PROBE_TIMEOUT_MS,
11
- retries: opts.retries ?? 0
12
- });
13
- return {
14
- version: tryParseTag(properties.version.tag),
15
- tokenFeatures: properties["token-features"] ?? null
16
- };
17
- }
18
- //#endregion
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";
19
4
  //#region src/core/auth/verify.ts
20
5
  const VERIFY_TIMEOUT_MS = 15e3;
21
6
  async function verifyAndProbe(url, credential, options = {}) {
@@ -1,9 +1,9 @@
1
- import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-z8rra6-I.mjs";
3
- import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-75SvT7Zv.mjs";
4
- import { r as parseWaitSchedule } from "./wait-flags-BbfDSP8R.mjs";
5
- import { c as syncTaskView } from "./git-sync-DxD_ng48.mjs";
6
- import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask, r as syncTaskIdleView, t as SyncTaskOrIdle } from "./sync-task-BACcrs0i.mjs";
1
+ import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.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
+ 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-BtDnTXCP.mjs";
7
7
  //#region src/commands/git-sync/wait.ts
8
8
  const WaitResult = SyncTaskOrIdle;
9
9
  var wait_default = defineMetabaseCommand({
@@ -11,10 +11,7 @@ var wait_default = defineMetabaseCommand({
11
11
  name: "wait",
12
12
  description: "Poll the current git-sync task until it reaches a terminal status"
13
13
  },
14
- capabilities: {
15
- minVersion: 60,
16
- tokenFeature: "remote_sync"
17
- },
14
+ requires: ["gitSync.waitForTask"],
18
15
  args: {
19
16
  ...outputFlags,
20
17
  ...profileFlag,
@@ -1,6 +1,6 @@
1
1
  import { t as interruptSignal } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-B3YwNojT.mjs";
3
- import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-75SvT7Zv.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: {
@@ -1,4 +1,4 @@
1
- import { m as projectForList } from "./cli.mjs";
1
+ import { y as projectForList } from "./cli.mjs";
2
2
  //#region src/output/window.ts
3
3
  const MAX_REQUEST_PAGE_SIZE = 200;
4
4
  function windowList(items, range, serverTotal) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metabase/cli",
3
- "version": "0.3.1",
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": {