@metabase/cli 0.3.2 → 0.4.0-alpha.release-65-integration-branch.31ca6bb

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 (304) hide show
  1. package/dist/{add-collection-BjVAdZ1n.mjs → add-collection-B-Kczwcj.mjs} +5 -5
  2. package/dist/{alert-DCLhfwdv.mjs → alert-Ne0ivd5m.mjs} +7 -7
  3. package/dist/{alerts-DRin_wt2.mjs → alerts-Fakzg9iP.mjs} +6 -6
  4. package/dist/{append-DQ9rPJHZ.mjs → append-DCDVqPmR.mjs} +4 -4
  5. package/dist/archive-55sDfnHf.mjs +32 -0
  6. package/dist/{archive-_c-ISZmi.mjs → archive-BNJit8eD.mjs} +3 -3
  7. package/dist/{archive-o5cWV3vZ.mjs → archive-BbNqts-V.mjs} +3 -3
  8. package/dist/{archive-D6xzHaM3.mjs → archive-C93UR4Uc.mjs} +3 -3
  9. package/dist/{archive-BzVxRqpL.mjs → archive-CGmvQht4.mjs} +5 -5
  10. package/dist/{archive-COFQAHAL.mjs → archive-CL8wqAzm.mjs} +3 -3
  11. package/dist/{archive-BVRKE9Ev.mjs → archive-CSdktxvW.mjs} +5 -5
  12. package/dist/{archive-D3yPvUtz.mjs → archive-CpCSY4RT.mjs} +5 -5
  13. package/dist/{archive-xcgoVPwv.mjs → archive-DCCkQTjQ.mjs} +5 -5
  14. package/dist/{archive-BPCgmLcV.mjs → archive-DCE087yD.mjs} +4 -4
  15. package/dist/{archive-1YVo-Wsu.mjs → archive-DEef7eB8.mjs} +3 -3
  16. package/dist/{archive-HeRygdKz2.mjs → archive-DIZu7o4C.mjs} +4 -4
  17. package/dist/{auth-DJn5T6zA.mjs → auth-Bx4QQhqt.mjs} +5 -5
  18. package/dist/body-CB2eDFFb.mjs +17 -0
  19. package/dist/branch-flag-pFQPNYKr.mjs +9 -0
  20. package/dist/{branches-CUyPxeeW.mjs → branches-B6ilUG-7.mjs} +3 -3
  21. package/dist/breaking-Dg3-8yDF.mjs +36 -0
  22. package/dist/broken-BNBD4Eo3.mjs +37 -0
  23. package/dist/bulk-discard-values-DfKXuZpR.mjs +49 -0
  24. package/dist/bulk-edit-oUCfDQ_M.mjs +53 -0
  25. package/dist/bulk-rescan-values-B8pNlXUH.mjs +28 -0
  26. package/dist/bulk-sync-schema-tRp7jBJt.mjs +28 -0
  27. package/dist/{cancel-BNuVls58.mjs → cancel-Bl4BMkwI.mjs} +3 -3
  28. package/dist/{cancel-task-DUmlQQpi.mjs → cancel-task-CWWo7vLf.mjs} +4 -4
  29. package/dist/card-CQD4D8mw.mjs +25 -0
  30. package/dist/{card-CEkp1mcI.mjs → card-CQNUT9pm.mjs} +1 -1
  31. package/dist/{card-voh1k4hl.mjs → card-P5mBknsl.mjs} +3 -11
  32. package/dist/{cards-_gbvw3wp.mjs → cards-BIUYdSIR.mjs} +6 -6
  33. package/dist/cli.mjs +420 -100
  34. package/dist/{client-BnK0evYf.mjs → client-BHIFvEg2.mjs} +394 -316
  35. package/dist/{collection-DYM0p3Xl.mjs → collection-BG3Ksea-.mjs} +1 -1
  36. package/dist/collection-CuaTd10G.mjs +21 -0
  37. package/dist/{collection-BxdPxD38.mjs → collection-D3KXhvnc.mjs} +7 -5
  38. package/dist/{collection-namespace-DM90lA8C.mjs → collection-namespace-ZQePD67z.mjs} +2 -2
  39. package/dist/{content-translation-CqB3peU9.mjs → content-translation-BRdNdAmn.mjs} +3 -3
  40. package/dist/copy-BMEaYmTb.mjs +55 -0
  41. package/dist/copy-CbDfVZRC.mjs +36 -0
  42. package/dist/copy-flags-anRhAvB5.mjs +32 -0
  43. package/dist/{create-BIUVvIGH.mjs → create-5cDaZcRL.mjs} +3 -3
  44. package/dist/{create-CwXUMOMd.mjs → create-BEN-2XFK.mjs} +3 -3
  45. package/dist/create-BJG630xB.mjs +48 -0
  46. package/dist/{create-IFjwHs0G.mjs → create-BTQB1lqX.mjs} +4 -4
  47. package/dist/{create-BMKuihoI.mjs → create-C3TmU1Bi.mjs} +6 -6
  48. package/dist/create-C7O9tPL2.mjs +34 -0
  49. package/dist/{create-DVo8-IzZ.mjs → create-C8hsOv_D.mjs} +6 -6
  50. package/dist/{create-DNx9TGHs.mjs → create-CBSsW8Hm.mjs} +6 -6
  51. package/dist/{create-Cm9Z-rfe2.mjs → create-CG6WWY6k.mjs} +4 -4
  52. package/dist/{create-BSvTs-EV.mjs → create-D2Shlb7t.mjs} +3 -3
  53. package/dist/{create-DMVw9nrZ.mjs → create-DVEqry26.mjs} +4 -4
  54. package/dist/{create-B48rmY8v.mjs → create-D_pNX7d0.mjs} +3 -3
  55. package/dist/{create-D4Y69cDF.mjs → create-R0Q-nRlq.mjs} +4 -4
  56. package/dist/{create-CUHpxANR.mjs → create-SqmOf6WQ.mjs} +6 -6
  57. package/dist/{create-branch-Cw-uXows.mjs → create-branch-Cb3CWojg.mjs} +4 -4
  58. package/dist/{create-CnJKj9Nl.mjs → create-c2zR9y4J.mjs} +4 -4
  59. package/dist/{create-va8bByVt.mjs → create-xt4ff6fP.mjs} +3 -3
  60. package/dist/{create-B7S5fCkD.mjs → create-zpJIRn9j.mjs} +5 -5
  61. package/dist/{csv-CaKx1oFZ.mjs → csv-CRNOhy4X.mjs} +4 -4
  62. package/dist/{current-task-lGh69Z1i.mjs → current-task-DFo1ZJ51.mjs} +4 -4
  63. package/dist/dashboard-D11YAa7I.mjs +35 -0
  64. package/dist/{dashboard-D0hwTC-f.mjs → dashboard-Phz3XpRM.mjs} +2 -1
  65. package/dist/{dashboard-DgK81azj.mjs → dashboard-XSTr9QCr.mjs} +6 -2
  66. package/dist/data-action-BiHjjVjc.mjs +24 -0
  67. package/dist/data-action-DZxVB_hD.mjs +85 -0
  68. package/dist/data-action-R9qxJDPA.mjs +40 -0
  69. package/dist/database-BT7DVgSr.mjs +45 -0
  70. package/dist/{database-C3E9PZSx.mjs → database-Kq2AL5jH.mjs} +1 -1
  71. package/dist/dataset-BmvCxGoE.mjs +66 -0
  72. package/dist/{db-BRHPjshe.mjs → db-C8lj73Dz.mjs} +7 -7
  73. package/dist/delete-09O7BTNw.mjs +44 -0
  74. package/dist/{delete-Ci0aDYpf.mjs → delete-CYgNpHl7.mjs} +4 -4
  75. package/dist/{delete-G6EiGn2Q.mjs → delete-D_ZNoYVv.mjs} +4 -4
  76. package/dist/{delete-BxBadE3q.mjs → delete-HWeQtc4M.mjs} +4 -4
  77. package/dist/delete-I4eFpsed.mjs +44 -0
  78. package/dist/{delete-DMETa-37.mjs → delete-My8TX-B2.mjs} +4 -4
  79. package/dist/{delete-CQWCfqHf.mjs → delete-qwdN0N7e.mjs} +4 -4
  80. package/dist/delete-runtime-BbmRg_in.mjs +55 -0
  81. package/dist/{delete-table-N4rZtt1T.mjs → delete-table-BCvjX7bh.mjs} +4 -4
  82. package/dist/{dependencies-edN0P1SS.mjs → dependencies-BAE4YPXX.mjs} +5 -5
  83. package/dist/dependency-CIam7zmr.mjs +15 -0
  84. package/dist/dependency-DzLH3J8P.mjs +165 -0
  85. package/dist/dependency-zElFM-os.mjs +111 -0
  86. package/dist/dependents-Dv6tLdSs.mjs +52 -0
  87. package/dist/{dirty-U51bMoCP.mjs → dirty-CZORg0i0.mjs} +5 -5
  88. package/dist/discard-values-DKnP-JHr.mjs +55 -0
  89. package/dist/{document-CA0Q6lqu.mjs → document-C18b5rM6.mjs} +1 -1
  90. package/dist/{document-BHpLJbKU.mjs → document-DFCj1Az_.mjs} +2 -1
  91. package/dist/document-uxz96Lah.mjs +20 -0
  92. package/dist/{download-BJA6k-e6.mjs → download-BImtTll0.mjs} +2 -2
  93. package/dist/{eid-BtlRU1E0.mjs → eid-D0FxhT9H.mjs} +11 -10
  94. package/dist/entity-DWp9WJbU.mjs +20 -0
  95. package/dist/entry-flags-3sDWwa90.mjs +42 -0
  96. package/dist/{events-B5rnOo-L.mjs → events-BzCjVA3-.mjs} +4 -4
  97. package/dist/execute-BhHbkBqf.mjs +45 -0
  98. package/dist/export-CjqjDnaZ.mjs +74 -0
  99. package/dist/export-flags-BETJHNcw.mjs +81 -0
  100. package/dist/export-preflight-DzvIP6TB.mjs +35 -0
  101. package/dist/{field-CcN4oZy6.mjs → field-5nivEfd6.mjs} +33 -3
  102. package/dist/field-fBpiGiqr.mjs +21 -0
  103. package/dist/field-wmN6raOG.mjs +128 -0
  104. package/dist/{fields-zQ6O_W_H.mjs → fields-C-au1eLO.mjs} +6 -6
  105. package/dist/filter-flags-BIFcA2TT.mjs +72 -0
  106. package/dist/fks-83QIm8xb.mjs +36 -0
  107. package/dist/{get-93wuhTn2.mjs → get-BMHbEGbr.mjs} +4 -4
  108. package/dist/{get-DXwlZjw0.mjs → get-BTCOzSkl.mjs} +3 -3
  109. package/dist/{get-CekXFP3x.mjs → get-BawLhSwW.mjs} +3 -3
  110. package/dist/{get-BLjcCXp8.mjs → get-BjqqFG2m.mjs} +3 -3
  111. package/dist/{get-is8x5f2n.mjs → get-C-R_Fdsi.mjs} +3 -3
  112. package/dist/{get-DC_huYD8.mjs → get-C73V2KsB.mjs} +5 -5
  113. package/dist/{get-CG6G-mzV.mjs → get-C9sq2boy.mjs} +5 -5
  114. package/dist/{get-Cf6a4fFN.mjs → get-Cggv6yLC.mjs} +4 -4
  115. package/dist/{get-xPv7e5Ez.mjs → get-CkXc0Xld.mjs} +5 -5
  116. package/dist/{get-BLcS4il2.mjs → get-CqNEVAX_2.mjs} +3 -3
  117. package/dist/{get-DhpMuTSt.mjs → get-D7h7uH4k.mjs} +5 -5
  118. package/dist/get-DGmE5fmp.mjs +31 -0
  119. package/dist/{get-EFsmL4le.mjs → get-DTTsPd-c.mjs} +5 -5
  120. package/dist/{get-CeSQptdl.mjs → get-DXBXhPrU.mjs} +5 -5
  121. package/dist/{get-CTp5l7aU.mjs → get-D_v1IAL1.mjs} +3 -3
  122. package/dist/{get-BDrmBZ1z.mjs → get-DkzO3G5p.mjs} +5 -5
  123. package/dist/{get-Dg-S07ri.mjs → get-Dvr_69L7.mjs} +3 -3
  124. package/dist/get-NOMvMvYJ.mjs +36 -0
  125. package/dist/{get-BSoMWp4t2.mjs → get-YPDWhgm_2.mjs} +4 -4
  126. package/dist/{get-CwiJWeH4.mjs → get-Z36_0HX_.mjs} +4 -4
  127. package/dist/{get-run-DwY4sFGy.mjs → get-run-v1QHn-Mx.mjs} +4 -4
  128. package/dist/{git-sync-BwBRmEhE.mjs → git-sync-COokpYgc.mjs} +12 -3
  129. package/dist/git-sync-DspFahwV.mjs +165 -0
  130. package/dist/git-sync-VAqASCQ5.mjs +29 -0
  131. package/dist/glossary-BlNCrYbw.mjs +30 -0
  132. package/dist/glossary-Brnk2PBi.mjs +14 -0
  133. package/dist/glossary-LmZWwCNP.mjs +21 -0
  134. package/dist/graph-B6OliqnW.mjs +34 -0
  135. package/dist/{group-YQQ5GIcP.mjs → group-bpD_KcjA.mjs} +1 -1
  136. package/dist/{has-remote-changes-DE2_14FK.mjs → has-remote-changes-iTRCU9j0.mjs} +4 -4
  137. package/dist/{import-Cs7wk058.mjs → import-CdSs5CtT.mjs} +19 -8
  138. package/dist/{input-DEvkIjGr.mjs → input-D8qW-KtR.mjs} +6 -2
  139. package/dist/{is-dirty-XqDfqXGi.mjs → is-dirty-B5fj9NeS.mjs} +2 -2
  140. package/dist/{items-BloAjPwA.mjs → items-BxWnNEh7.mjs} +8 -8
  141. package/dist/{key-PYetuQ13.mjs → key-BynJSK9u.mjs} +1 -1
  142. package/dist/{library-Dgq_5BFh.mjs → library-BHHgurW0.mjs} +5 -5
  143. package/dist/{library-PGCfm0UA.mjs → library-BOv5SY24.mjs} +1 -1
  144. package/dist/{library-BPIzb3K_.mjs → library-Ck0EK5bi.mjs} +4 -2
  145. package/dist/{list-D9d5ocYi.mjs → list-BPMOLrwn.mjs} +5 -5
  146. package/dist/{list-D04uiS3F.mjs → list-BTcEm4td.mjs} +3 -3
  147. package/dist/{list-CghNKfYJ.mjs → list-BTgAbqeS.mjs} +4 -4
  148. package/dist/{list-3ErmGdY0.mjs → list-Bop1NTbU.mjs} +6 -6
  149. package/dist/{list-yV6CyPzn.mjs → list-By9XJRiv.mjs} +3 -3
  150. package/dist/list-CNC-XHbN.mjs +35 -0
  151. package/dist/{list-CUJ1wem9.mjs → list-CPWgBkPa.mjs} +4 -4
  152. package/dist/{list-sdCIS2Df.mjs → list-Cpa0Se7M.mjs} +5 -5
  153. package/dist/list-DA9KsA0o.mjs +101 -0
  154. package/dist/{list-VzrtA9lt.mjs → list-DE9gYY3I.mjs} +3 -3
  155. package/dist/{list-CUXlZiS1.mjs → list-DFJt2-fY.mjs} +4 -4
  156. package/dist/{list-BZnf3RmA.mjs → list-DUcnAb1h.mjs} +3 -3
  157. package/dist/{list-vsXIMssK.mjs → list-DW4-u7eO.mjs} +5 -5
  158. package/dist/{list-f8Csdjyc.mjs → list-DbXnSL2x.mjs} +5 -5
  159. package/dist/list-DgsM9YQX.mjs +28 -0
  160. package/dist/{list-BfLo1xI8.mjs → list-Dzzt6Yee.mjs} +3 -3
  161. package/dist/{list-CZCaqPoo.mjs → list-ZHLsjxXg.mjs} +6 -6
  162. package/dist/{list-Bzm5mXRo.mjs → list-e7yvJYMw.mjs} +3 -3
  163. package/dist/{list-DboUvg-Y.mjs → list-hN_Tu2T6.mjs} +6 -6
  164. package/dist/{list-DuJezLm_.mjs → list-zyKxxNvn.mjs} +3 -3
  165. package/dist/{login-Vw51Gts5.mjs → login-B7nGQDZK.mjs} +6 -6
  166. package/dist/{logout-BDIqoVhv.mjs → logout-pZffAh1G.mjs} +2 -2
  167. package/dist/{measure-LY9Tp9QZ.mjs → measure-AtnrCTCC.mjs} +6 -6
  168. package/dist/moderation-review-BdqEH6N1.mjs +31 -0
  169. package/dist/{notification-DVrLkjFT.mjs → notification-DOYdl0ao.mjs} +1 -1
  170. package/dist/{parameter-values-DWjmO7Ai.mjs → parameter-values-CxTkEjCs.mjs} +3 -3
  171. package/dist/{parse-enum-Dc0dMZ3P.mjs → parse-enum-CLIXMsd8.mjs} +1 -1
  172. package/dist/parse-id-7ja3HUdB.mjs +13 -0
  173. package/dist/{parse-ref-DTDld_LJ.mjs → parse-ref-Cw5fa4FI.mjs} +1 -1
  174. package/dist/parse-text-T0lTXzTZ.mjs +11 -0
  175. package/dist/{path-BUUAGYO5.mjs → path-DM4vyihl.mjs} +4 -4
  176. package/dist/{poll-CZeXepUQ.mjs → poll-Dz4tUm2f.mjs} +2 -2
  177. package/dist/{preflight-DcULqq8E.mjs → preflight-DaZ2z2C1.mjs} +3 -3
  178. package/dist/{process-CTrfxxaC.mjs → process-D0HdqZ3r.mjs} +1 -1
  179. package/dist/{publish-qVFmJQ1E.mjs → publish-C0HCL04a.mjs} +4 -4
  180. package/dist/{pulse-x0gFxWfG.mjs → pulse-D1uh8UIU.mjs} +1 -1
  181. package/dist/{query-Cq1lmqL5.mjs → query-BC-C6efK.mjs} +14 -33
  182. package/dist/query-BKtMP5eH.mjs +13 -0
  183. package/dist/query-CAFPlqfi.mjs +329 -0
  184. package/dist/remapping-CgA6UJGU.mjs +53 -0
  185. package/dist/{remove-collection-DBqh2Lqm.mjs → remove-collection-DoctJa9g.mjs} +5 -5
  186. package/dist/{render-Gx1hR7IF.mjs → render-Bvm9mta6.mjs} +2 -2
  187. package/dist/{replace-CujInVY9.mjs → replace-CaFJd9fO.mjs} +4 -4
  188. package/dist/rescan-values-7VOGCLMe.mjs +32 -0
  189. package/dist/{rescan-values-HypqBCSK.mjs → rescan-values-sJRwcHsk.mjs} +5 -5
  190. package/dist/{run-DEkQSOQa.mjs → run-COHDQ5J4.mjs} +3 -3
  191. package/dist/{run-b3jyF29q.mjs → run-RXpFlDAB.mjs} +4 -4
  192. package/dist/{runs-GHqHLGy4.mjs → runs-CUYdCKiE.mjs} +5 -5
  193. package/dist/{runtime-nCPku2nN.mjs → runtime-B8RtMb4B.mjs} +21 -82
  194. package/dist/{schema-tables-B5L05Y1L.mjs → schema-tables-CO5qyZBe.mjs} +6 -6
  195. package/dist/{schemas-Clx26p_4.mjs → schemas-CzHHgDdF.mjs} +4 -4
  196. package/dist/search-BWb052_b.mjs +131 -0
  197. package/dist/search-Cc9vHNae.mjs +85 -0
  198. package/dist/{segment-DiRJcbam.mjs → segment-C_rsUkHK.mjs} +6 -6
  199. package/dist/{send-DIHkDNBN.mjs → send-C-3bkpni.mjs} +3 -3
  200. package/dist/{set-D77qUZML.mjs → set-BDkT37OT.mjs} +4 -4
  201. package/dist/{set-active-DCdFgD0O.mjs → set-active-CDJTfQEc.mjs} +3 -3
  202. package/dist/set-sensitivity-DVrINHde.mjs +57 -0
  203. package/dist/{setting-DR9bj232.mjs → setting-CoLzd08x.mjs} +4 -4
  204. package/dist/{setup-DGa2LLEp.mjs → setup-C4F4XYbU.mjs} +3 -3
  205. package/dist/{signal-k7cm5N6h.mjs → signal-CxWeLszu.mjs} +1 -1
  206. package/dist/{skill-list-DAvGGHzS.mjs → skill-list-BgihWuPf.mjs} +2 -2
  207. package/dist/{skills-CqtNuSXM.mjs → skills-4qDjKRSk.mjs} +2 -2
  208. package/dist/{skills-CCn7cyMP.mjs → skills-BWEFRpUj.mjs} +3 -3
  209. package/dist/snippet-CYd8D9SK.mjs +19 -0
  210. package/dist/{stash-BTtsV0AG.mjs → stash-CZ1x0rox.mjs} +6 -6
  211. package/dist/{status-XgSS3StV.mjs → status-BM6eYW7I.mjs} +3 -3
  212. package/dist/{status-CW7Dt-nV.mjs → status-gqpPZvue.mjs} +7 -7
  213. package/dist/{subscription-CofRU47d.mjs → subscription-pSuO241O.mjs} +6 -6
  214. package/dist/{subscriptions-DCuuPF6U.mjs → subscriptions-n5zJ9rYZ.mjs} +6 -6
  215. package/dist/{summary-uGlgKE3C.mjs → summary-DvIf2EiO.mjs} +5 -5
  216. package/dist/sync-schema-Cc21crxQ.mjs +32 -0
  217. package/dist/{sync-schema-Cu9rD3eH.mjs → sync-schema-D1t8rhdQ.mjs} +6 -6
  218. package/dist/sync-task-CXFoqlpF.mjs +53 -0
  219. package/dist/{table-DfuY0N8e.mjs → table-Ci6bhZkb.mjs} +35 -12
  220. package/dist/table-CxvaDiIZ.mjs +155 -0
  221. package/dist/table-Dc0dLfyg.mjs +26 -0
  222. package/dist/table-selector-flags-BVZvnhUa.mjs +42 -0
  223. package/dist/text-DaNkPRwt.mjs +6 -0
  224. package/dist/timeline-BqU5sOb6.mjs +21 -0
  225. package/dist/{timeline-event-D-h0A_oh.mjs → timeline-event-jn1SOKd4.mjs} +6 -6
  226. package/dist/transform-BUIlFqpv.mjs +28 -0
  227. package/dist/{transform-CtqB1WYo.mjs → transform-CNBIV7No.mjs} +1 -1
  228. package/dist/transform-job-DsbY9mme.mjs +22 -0
  229. package/dist/{transform-tag-BLp_p9J-.mjs → transform-tag-C0jzV6Dk.mjs} +5 -5
  230. package/dist/{transforms-n2IwEcbU.mjs → transforms-DwTy_Quh.mjs} +5 -5
  231. package/dist/tree-p2j6IVy-.mjs +34 -0
  232. package/dist/{unpublish-DVQCAa3g.mjs → unpublish-B-961jX1.mjs} +3 -3
  233. package/dist/unreferenced-Dxy-aYI7.mjs +36 -0
  234. package/dist/{update-CnkPYL2i.mjs → update-BFYRBbRu.mjs} +6 -6
  235. package/dist/{update-ChpOukqq.mjs → update-BGeaPntx.mjs} +5 -5
  236. package/dist/{update-NGq0yXZk.mjs → update-BnIEN390.mjs} +5 -5
  237. package/dist/{update-DffrdV4b.mjs → update-CALlEgIC.mjs} +4 -4
  238. package/dist/{update-DFdBeJwc.mjs → update-CHkVN69L.mjs} +13 -8
  239. package/dist/{update-oQeQyqKO.mjs → update-CKqL9PmU.mjs} +5 -5
  240. package/dist/{update-rFRPLlb6.mjs → update-CYGYUCFQ.mjs} +4 -4
  241. package/dist/update-CuQy2g51.mjs +52 -0
  242. package/dist/{update-B7CikkI0.mjs → update-D4TGE6FS.mjs} +7 -7
  243. package/dist/{update-D9H6Lh5U.mjs → update-D7xi-0bU.mjs} +4 -4
  244. package/dist/{update-DKO9HF1f.mjs → update-DK77vtFF.mjs} +6 -6
  245. package/dist/{update-CKDRuduL.mjs → update-DKDQTlnV.mjs} +5 -5
  246. package/dist/update-DXxJHC8y.mjs +41 -0
  247. package/dist/update-DiJK0uRG.mjs +181 -0
  248. package/dist/{update-CAsqNhDC.mjs → update-MD1Kwq1P.mjs} +4 -4
  249. package/dist/{update-dashcard-DvPqLJ3N.mjs → update-dashcard-DuTjOh14.mjs} +6 -6
  250. package/dist/{update-DScUzKLI.mjs → update-hvO4VpfZ.mjs} +7 -7
  251. package/dist/{update-D4ggtuG4.mjs → update-qDZvnwvf.mjs} +7 -7
  252. package/dist/{update-C05J2nZ2.mjs → update-tltXCUwR.mjs} +4 -4
  253. package/dist/{upgrade-BRgw0fvn.mjs → upgrade-Ca-Ss5jb.mjs} +4 -4
  254. package/dist/{upload-Do2PBSeH.mjs → upload-C2fhpKkP.mjs} +2 -2
  255. package/dist/upload-Dw7mVr9u.mjs +13 -0
  256. package/dist/{upload-BrfbcbBW.mjs → upload-t6dkccqn.mjs} +3 -3
  257. package/dist/{uuid-B4eij1d7.mjs → uuid-BMlJZT8z.mjs} +2 -2
  258. package/dist/{validate-xR_MHBNR.mjs → validate-D7e110oU.mjs} +1 -1
  259. package/dist/{validate-query-D6_ad-Gi.mjs → validate-query-BzbZmenf.mjs} +7 -3
  260. package/dist/{values-xgOftPq5.mjs → values-CXN4xTTh.mjs} +5 -5
  261. package/dist/verify-CPVfwKSu.mjs +38 -0
  262. package/dist/verify-flags-CMpRkMPa.mjs +58 -0
  263. package/dist/verify-k-JB-k3D.mjs +38 -0
  264. package/dist/{verify-DTOA_wVM.mjs → verify-t-CEmvoG.mjs} +3 -3
  265. package/dist/{wait-BjeFgR13.mjs → wait-KSkq7kKW.mjs} +6 -6
  266. package/dist/{wait-flags-BCeCnaz3.mjs → wait-flags-KX7NHdj4.mjs} +2 -2
  267. package/dist/{window-DSb1tqSe.mjs → window-CI_QD04s.mjs} +1 -1
  268. package/package.json +1 -1
  269. package/skill-data/core/SKILL.md +18 -11
  270. package/skill-data/dashboard/SKILL.md +1 -1
  271. package/skill-data/data-action/SKILL.md +125 -0
  272. package/skill-data/document/SKILL.md +12 -1
  273. package/skill-data/git-sync/SKILL.md +61 -9
  274. package/skill-data/mbql/SKILL.md +5 -0
  275. package/skill-data/metadata/SKILL.md +36 -6
  276. package/skill-data/native-sql/SKILL.md +1 -1
  277. package/dist/body-Cu94pH4P.mjs +0 -17
  278. package/dist/card-ByOzVxpI.mjs +0 -24
  279. package/dist/collection-BGbW7u_Q.mjs +0 -20
  280. package/dist/dashboard-Bzjz2v6u.mjs +0 -33
  281. package/dist/database-JtHTqSpq.mjs +0 -26
  282. package/dist/delete-runtime-BKEzJn22.mjs +0 -49
  283. package/dist/document-DqJ7Cysa.mjs +0 -19
  284. package/dist/export-DO2josC0.mjs +0 -63
  285. package/dist/field-CHZByaXa.mjs +0 -18
  286. package/dist/field-fDtIrY6D.mjs +0 -80
  287. package/dist/get-yHIEezeG.mjs +0 -31
  288. package/dist/git-sync-NhfLSZA6.mjs +0 -28
  289. package/dist/git-sync-TjX1r_wF.mjs +0 -136
  290. package/dist/list-DgteFn01.mjs +0 -34
  291. package/dist/parse-id-whJX4DAb.mjs +0 -10
  292. package/dist/query-BPtIy79s.mjs +0 -114
  293. package/dist/query-result-E4Q-Gra6.mjs +0 -15
  294. package/dist/search-DxiuY5EV.mjs +0 -97
  295. package/dist/selectors-rEFuyXPZ.mjs +0 -35
  296. package/dist/snippet-g9JTDxqu.mjs +0 -19
  297. package/dist/sync-task-BXeWuARG.mjs +0 -37
  298. package/dist/table-C6h4tIRw.mjs +0 -37
  299. package/dist/table-Di-EY7pg.mjs +0 -18
  300. package/dist/timeline-D7EsWZm6.mjs +0 -21
  301. package/dist/transform-8XK1LIgC.mjs +0 -28
  302. package/dist/transform-job-CTizQkWy.mjs +0 -22
  303. package/dist/tree-cqxiDh2b.mjs +0 -26
  304. package/dist/upload-VXBFKzLT.mjs +0 -13
package/dist/cli.mjs CHANGED
@@ -189,18 +189,283 @@ function toAliasArray(alias) {
189
189
  if (alias === void 0) return [];
190
190
  return Array.isArray(alias) ? alias : [alias];
191
191
  }
192
- function normalizeFlag(value) {
193
- return value.replace(/^-+/, "").replace(/-/g, "").toLowerCase();
194
- }
195
- function flagConsumesValue(token, argsDef) {
196
- if (token.includes("=")) return false;
197
- const name = normalizeFlag(token);
192
+ const NEGATION_PREFIX = "--no-";
193
+ const INLINE_VALUE = "=";
194
+ const LONG_PREFIX = "--";
195
+ const SHORT_PREFIX = "-";
196
+ const SHORT_FLAG_LENGTH = 2;
197
+ const WORD_SEPARATORS = /* @__PURE__ */ new Set([
198
+ "-",
199
+ "_",
200
+ "/",
201
+ "."
202
+ ]);
203
+ const NEGATIVE_NUMBER = /^-\.?\d/;
204
+ const DIGIT = /\d/;
205
+ function flagSpellings(argsDef) {
206
+ const spellings = /* @__PURE__ */ new Map();
198
207
  for (const [key, def] of Object.entries(argsDef)) {
199
- if (def.type !== "string" && def.type !== "enum") continue;
200
- if (normalizeFlag(key) === name) return true;
201
- if (toAliasArray(def.alias).some((alias) => normalizeFlag(alias) === name)) return true;
208
+ if (def.type === "positional") continue;
209
+ const takes = flagTakes(def);
210
+ const aliases = "alias" in def ? toAliasArray(def.alias) : [];
211
+ const words = splitWords(key);
212
+ for (const name of /* @__PURE__ */ new Set([
213
+ key,
214
+ camelCase(words),
215
+ kebabCase(words),
216
+ ...aliases
217
+ ])) {
218
+ spellings.set(`${LONG_PREFIX}${name}`, {
219
+ key,
220
+ negated: false,
221
+ takes
222
+ });
223
+ spellings.set(`${NEGATION_PREFIX}${name}`, {
224
+ key,
225
+ negated: true,
226
+ takes
227
+ });
228
+ }
229
+ for (const letter of aliases.filter((alias) => alias.length === 1)) spellings.set(`${SHORT_PREFIX}${letter}`, {
230
+ key,
231
+ negated: false,
232
+ takes
233
+ });
234
+ }
235
+ return spellings;
236
+ }
237
+ function flagTakes(def) {
238
+ if (def.type === "string" && "list" in def && def.list === true) return "list";
239
+ return def.type === "string" || def.type === "enum" ? "value" : "nothing";
240
+ }
241
+ function parseFlagToken(token, spellings) {
242
+ const equals = token.indexOf(INLINE_VALUE);
243
+ const name = equals === -1 ? token : token.slice(0, equals);
244
+ const inlineValue = equals === -1 ? null : readInlineValue(token, name);
245
+ const flag = spellings.get(name);
246
+ if (flag !== void 0) return {
247
+ name,
248
+ flag: flag.negated && inlineValue !== null ? null : flag,
249
+ inlineValue
250
+ };
251
+ const short = name.slice(0, SHORT_FLAG_LENGTH);
252
+ const shortFlag = name.startsWith(LONG_PREFIX) ? void 0 : spellings.get(short);
253
+ if (shortFlag !== void 0 && shortFlag.takes !== "nothing") return {
254
+ name: short,
255
+ flag: shortFlag,
256
+ inlineValue: readInlineValue(token, short)
257
+ };
258
+ return {
259
+ name,
260
+ flag: null,
261
+ inlineValue
262
+ };
263
+ }
264
+ function readInlineValue(token, name) {
265
+ const start = name.startsWith(LONG_PREFIX) ? name.length + 1 : name.length;
266
+ return token.slice(start);
267
+ }
268
+ function isFlagToken(token) {
269
+ return token.startsWith(SHORT_PREFIX) && token !== SHORT_PREFIX && !NEGATIVE_NUMBER.test(token);
270
+ }
271
+ function isNegativeNumber(token) {
272
+ return NEGATIVE_NUMBER.test(token);
273
+ }
274
+ function* readArgv(rawArgs, spellings, start = 0) {
275
+ let index = start;
276
+ while (index < rawArgs.length) {
277
+ const token = rawArgs[index];
278
+ if (token === void 0) return;
279
+ if (token === "--") {
280
+ yield {
281
+ kind: "separator",
282
+ index
283
+ };
284
+ for (const [offset, rest] of rawArgs.slice(index + 1).entries()) yield {
285
+ kind: "positional",
286
+ index: index + 1 + offset,
287
+ token: rest
288
+ };
289
+ return;
290
+ }
291
+ if (!isFlagToken(token)) {
292
+ yield {
293
+ kind: "positional",
294
+ index,
295
+ token
296
+ };
297
+ index += 1;
298
+ continue;
299
+ }
300
+ const item = readFlag(rawArgs, index, parseFlagToken(token, spellings));
301
+ yield item;
302
+ index = item.end;
303
+ }
304
+ }
305
+ function readFlag(rawArgs, index, parsed) {
306
+ const { flag } = parsed;
307
+ const consumesNext = flag !== null && flag.takes !== "nothing" && !flag.negated && parsed.inlineValue === null;
308
+ const next = consumesNext ? rawArgs[index + 1] : void 0;
309
+ const end = next === void 0 ? index + 1 : index + 2;
310
+ const value = consumesNext ? next ?? null : parsed.inlineValue;
311
+ return {
312
+ kind: "flag",
313
+ index,
314
+ ...parsed,
315
+ consumesNext,
316
+ value,
317
+ end
318
+ };
319
+ }
320
+ function splitWords(name) {
321
+ const words = [];
322
+ let word = "";
323
+ let previousUpper = null;
324
+ for (const char of name) {
325
+ if (WORD_SEPARATORS.has(char)) {
326
+ words.push(word);
327
+ word = "";
328
+ previousUpper = null;
329
+ continue;
330
+ }
331
+ const upper = DIGIT.test(char) ? null : char !== char.toLowerCase();
332
+ if (previousUpper === false && upper === true) {
333
+ words.push(word);
334
+ word = char;
335
+ } else if (previousUpper === true && upper === false && word.length > 1) {
336
+ words.push(word.slice(0, -1));
337
+ word = `${word.slice(-1)}${char}`;
338
+ } else word += char;
339
+ previousUpper = upper;
202
340
  }
203
- return false;
341
+ words.push(word);
342
+ return words;
343
+ }
344
+ function camelCase(words) {
345
+ const pascal = words.map((word) => `${word.charAt(0).toUpperCase()}${word.slice(1)}`).join("");
346
+ return `${pascal.charAt(0).toLowerCase()}${pascal.slice(1)}`;
347
+ }
348
+ function kebabCase(words) {
349
+ return words.map((word) => word.toLowerCase()).join("-");
350
+ }
351
+ function parseCsv(raw) {
352
+ return raw.split(",").map((part) => part.trim()).filter((part) => part.length > 0);
353
+ }
354
+ function parseEnumCsv(raw, schema, flagName) {
355
+ if (raw === void 0) return;
356
+ const allowed = Object.values(schema.enum).join(", ");
357
+ const parts = parseCsv(raw);
358
+ if (parts.length === 0) throw new ConfigError(`invalid ${flagName} value: "${raw}" (expected one of: ${allowed})`);
359
+ const accepted = [];
360
+ const rejected = [];
361
+ for (const part of parts) {
362
+ const result = schema.safeParse(part);
363
+ if (result.success) accepted.push(result.data);
364
+ else rejected.push(part);
365
+ }
366
+ if (rejected.length > 0) throw new ConfigError(`invalid ${flagName} value: ${rejected.join(", ")} (expected one of: ${allowed})`);
367
+ return accepted;
368
+ }
369
+ function parseEnum(raw, schema, flagName) {
370
+ if (raw === void 0 || raw === "") return;
371
+ const result = schema.safeParse(raw);
372
+ if (!result.success) throw new ConfigError(`invalid ${flagName} value: "${raw}" (expected one of: ${Object.values(schema.enum).join(", ")})`);
373
+ return result.data;
374
+ }
375
+ //#endregion
376
+ //#region src/commands/argv.ts
377
+ const BUILTIN_FLAGS = [
378
+ "--help",
379
+ "-h",
380
+ "--version",
381
+ "-v"
382
+ ];
383
+ const SHELL_SAFE_WORD = /^[\w.,:/@%+=-]+$/;
384
+ function commandSpellings(argsDef) {
385
+ const builtins = BUILTIN_FLAGS.map((flag) => [flag, {
386
+ key: flag,
387
+ negated: false,
388
+ takes: "nothing"
389
+ }]);
390
+ return new Map([...builtins, ...flagSpellings(argsDef)]);
391
+ }
392
+ function separatePositionals(rawArgs, argsDef) {
393
+ const flagTokens = [];
394
+ const positionals = [];
395
+ for (const item of readArgv(rawArgs, commandSpellings(argsDef))) if (item.kind === "flag") flagTokens.push(...rawArgs.slice(item.index, item.end));
396
+ else if (item.kind === "positional") positionals.push(item.token);
397
+ if (!positionals.some(isNegativeNumber)) return [...rawArgs];
398
+ return [
399
+ ...flagTokens,
400
+ "--",
401
+ ...positionals
402
+ ];
403
+ }
404
+ function givenFlagKeys(rawArgs, argsDef) {
405
+ const keys = /* @__PURE__ */ new Set();
406
+ for (const item of readArgv(rawArgs, flagSpellings(argsDef))) if (item.kind === "flag" && item.flag !== null && !item.flag.negated) keys.add(item.flag.key);
407
+ return keys;
408
+ }
409
+ function assertArgv(rawArgs, argsDef) {
410
+ const spellings = commandSpellings(argsDef);
411
+ const valueFlags = [];
412
+ const positionals = [];
413
+ for (const item of readArgv(rawArgs, spellings)) if (item.kind === "positional") positionals.push(item.token);
414
+ else if (item.kind === "flag") {
415
+ const valueFlag = readValueFlag(item, spellings);
416
+ if (valueFlag !== null) valueFlags.push(valueFlag);
417
+ }
418
+ assertEachGivenOnce(valueFlags);
419
+ assertPositionalCount(positionals, argsDef);
420
+ }
421
+ function readValueFlag(item, spellings) {
422
+ const { flag, name } = item;
423
+ if (flag === null) throw new ConfigError(`unknown flag: ${name}`);
424
+ if (flag.takes === "nothing") return null;
425
+ if (flag.negated) throw new ConfigError(`${name}: ${`--${name.slice(5)}`} takes a value, so it cannot be negated`);
426
+ return {
427
+ name,
428
+ flag,
429
+ value: readFlagValue(item, spellings)
430
+ };
431
+ }
432
+ function assertPositionalCount(positionals, argsDef) {
433
+ const declared = Object.entries(argsDef).filter(([, def]) => def.type === "positional").map(([name]) => `<${name}>`);
434
+ const extra = positionals[declared.length];
435
+ if (extra === void 0) return;
436
+ throw new ConfigError(`unexpected argument: "${extra}" (${declared.length === 0 ? "this command takes no positional arguments" : `this command takes ${declared.join(" ")}; quote an argument that contains spaces`})`);
437
+ }
438
+ function assertEachGivenOnce(valueFlags) {
439
+ const first = /* @__PURE__ */ new Map();
440
+ for (const repeat of valueFlags) {
441
+ const earlier = first.get(repeat.flag.key);
442
+ if (earlier === void 0) {
443
+ first.set(repeat.flag.key, repeat);
444
+ continue;
445
+ }
446
+ const also = earlier.name === repeat.name ? "" : ` (also as ${earlier.name})`;
447
+ const joined = joinedSpelling(repeat, valueFlags);
448
+ throw new ConfigError(`${repeat.name} is given more than once${also}; pass it once${joined}`);
449
+ }
450
+ }
451
+ function joinedSpelling(repeat, valueFlags) {
452
+ if (repeat.flag.takes !== "list") return "";
453
+ const joined = valueFlags.filter((valueFlag) => valueFlag.flag.key === repeat.flag.key).map((valueFlag) => valueFlag.value).join(",");
454
+ return `, as --${repeat.flag.key}=${quoteForShell(joined)}`;
455
+ }
456
+ function quoteForShell(value) {
457
+ if (SHELL_SAFE_WORD.test(value)) return value;
458
+ return `'${value.replaceAll("'", `'\\''`)}'`;
459
+ }
460
+ function readFlagValue(item, spellings) {
461
+ const { name, value, consumesNext } = item;
462
+ if (value === null || consumesNext && value === "--") throw new ConfigError(`${name} needs a value`);
463
+ if (consumesNext && readsAsFlag(value, spellings)) throw new ConfigError(`${name} needs a value, but the flag ${parseFlagToken(value, spellings).name} follows it; write ${name}=<value> for a value that starts with "-"`);
464
+ return value;
465
+ }
466
+ function readsAsFlag(value, spellings) {
467
+ if (!isFlagToken(value)) return false;
468
+ return value.startsWith("--no-") || parseFlagToken(value, spellings).flag !== null;
204
469
  }
205
470
  //#endregion
206
471
  //#region src/output/types.ts
@@ -231,7 +496,13 @@ function listEnvelopeShape(item) {
231
496
  }
232
497
  //#endregion
233
498
  //#region src/commands/flags.ts
234
- const outputFlags = {
499
+ function listFlag(def) {
500
+ return {
501
+ ...def,
502
+ list: true
503
+ };
504
+ }
505
+ const formatFlags = {
235
506
  format: {
236
507
  type: "string",
237
508
  description: "auto | json | text",
@@ -240,15 +511,18 @@ const outputFlags = {
240
511
  json: {
241
512
  type: "boolean",
242
513
  description: "Shorthand for --format json"
243
- },
514
+ }
515
+ };
516
+ const outputFlags = {
517
+ ...formatFlags,
244
518
  full: {
245
519
  type: "boolean",
246
520
  description: "Return the full object (default: compact)"
247
521
  },
248
- fields: {
522
+ fields: listFlag({
249
523
  type: "string",
250
524
  description: "Dot-paths, comma separated (mutually exclusive with --full)"
251
- },
525
+ }),
252
526
  maxBytes: {
253
527
  type: "string",
254
528
  description: "Output size cap; 0 disables",
@@ -300,50 +574,32 @@ const connectionFlags = {
300
574
  };
301
575
  //#endregion
302
576
  //#region src/commands/global-flags.ts
303
- const ARGUMENT_SEPARATOR = "--";
304
- const NEGATION_PREFIX = "no-";
305
- const GLOBAL_FLAG_ARGS = {
577
+ const GLOBAL_FLAG_SPELLINGS = flagSpellings({
306
578
  ...outputFlags,
307
579
  ...listFlags,
308
580
  ...profileFlag,
309
581
  ...connectionFlags
310
- };
311
- const GLOBAL_FLAG_NAMES = buildGlobalFlagNames();
312
- function buildGlobalFlagNames() {
313
- const names = /* @__PURE__ */ new Set();
314
- for (const [key, def] of Object.entries(GLOBAL_FLAG_ARGS)) {
315
- names.add(normalizeFlag(key));
316
- if ("alias" in def) for (const alias of toAliasArray(def.alias)) names.add(normalizeFlag(alias));
317
- }
318
- return names;
319
- }
320
- function isGlobalFlag(token) {
321
- if (!token.startsWith("-") || token === ARGUMENT_SEPARATOR) return false;
322
- const raw = token.includes("=") ? token.slice(0, token.indexOf("=")) : token;
323
- const name = normalizeFlag(raw);
324
- if (GLOBAL_FLAG_NAMES.has(name)) return true;
325
- const bare = raw.replace(/^-+/, "");
326
- if (bare.startsWith(NEGATION_PREFIX)) return GLOBAL_FLAG_NAMES.has(normalizeFlag(bare.slice(3)));
327
- return false;
328
- }
582
+ });
329
583
  function hoistGlobalFlags(rawArgs) {
330
- const leading = [];
331
- let index = 0;
332
- while (index < rawArgs.length) {
333
- const token = rawArgs[index];
334
- if (token === void 0 || !isGlobalFlag(token)) break;
335
- leading.push(token);
336
- index += 1;
337
- if (flagConsumesValue(token, GLOBAL_FLAG_ARGS) && index < rawArgs.length) {
338
- const value = rawArgs[index];
339
- if (value !== void 0) {
340
- leading.push(value);
341
- index += 1;
342
- }
343
- }
584
+ const end = leadingGlobalFlagsEnd(rawArgs);
585
+ if (end === 0) return [...rawArgs];
586
+ const leading = rawArgs.slice(0, end);
587
+ const rest = rawArgs.slice(end);
588
+ const separator = rest.indexOf("--");
589
+ if (separator === -1) return [...rest, ...leading];
590
+ return [
591
+ ...rest.slice(0, separator),
592
+ ...leading,
593
+ ...rest.slice(separator)
594
+ ];
595
+ }
596
+ function leadingGlobalFlagsEnd(rawArgs) {
597
+ let end = 0;
598
+ for (const item of readArgv(rawArgs, GLOBAL_FLAG_SPELLINGS)) {
599
+ if (item.kind !== "flag" || item.flag === null) return end;
600
+ end = item.end;
344
601
  }
345
- if (leading.length === 0) return [...rawArgs];
346
- return [...rawArgs.slice(index), ...leading];
602
+ return end;
347
603
  }
348
604
  //#endregion
349
605
  //#region src/core/system-ca.ts
@@ -358,7 +614,7 @@ function trustSystemCa() {
358
614
  //#endregion
359
615
  //#region package.json
360
616
  var name = "@metabase/cli";
361
- var version = "0.3.2";
617
+ var version = "0.4.0-alpha.release-65-integration-branch.31ca6bb";
362
618
  var description = "Metabase CLI";
363
619
  //#endregion
364
620
  //#region src/runtime/command-augment.ts
@@ -378,36 +634,39 @@ const main = defineCommand({
378
634
  description
379
635
  },
380
636
  subCommands: {
381
- auth: () => import("./auth-DJn5T6zA.mjs").then((mod) => mod.default),
382
- db: () => import("./db-BRHPjshe.mjs").then((mod) => mod.default),
383
- table: () => import("./table-Di-EY7pg.mjs").then((mod) => mod.default),
384
- field: () => import("./field-CHZByaXa.mjs").then((mod) => mod.default),
385
- upload: () => import("./upload-VXBFKzLT.mjs").then((mod) => mod.default),
386
- "content-translation": () => import("./content-translation-CqB3peU9.mjs").then((mod) => mod.default),
387
- card: () => import("./card-ByOzVxpI.mjs").then((mod) => mod.default),
388
- dashboard: () => import("./dashboard-Bzjz2v6u.mjs").then((mod) => mod.default),
389
- subscription: () => import("./subscription-CofRU47d.mjs").then((mod) => mod.default),
390
- alert: () => import("./alert-DCLhfwdv.mjs").then((mod) => mod.default),
391
- collection: () => import("./collection-BGbW7u_Q.mjs").then((mod) => mod.default),
392
- library: () => import("./library-Dgq_5BFh.mjs").then((mod) => mod.default),
393
- document: () => import("./document-DqJ7Cysa.mjs").then((mod) => mod.default),
394
- transform: () => import("./transform-8XK1LIgC.mjs").then((mod) => mod.default),
395
- "transform-job": () => import("./transform-job-CTizQkWy.mjs").then((mod) => mod.default),
396
- "transform-tag": () => import("./transform-tag-BLp_p9J-.mjs").then((mod) => mod.default),
397
- setting: () => import("./setting-DR9bj232.mjs").then((mod) => mod.default),
398
- search: () => import("./search-DxiuY5EV.mjs").then((mod) => mod.default),
399
- "git-sync": () => import("./git-sync-NhfLSZA6.mjs").then((mod) => mod.default),
400
- setup: () => import("./setup-DGa2LLEp.mjs").then((mod) => mod.default),
401
- snippet: () => import("./snippet-g9JTDxqu.mjs").then((mod) => mod.default),
402
- segment: () => import("./segment-DiRJcbam.mjs").then((mod) => mod.default),
403
- measure: () => import("./measure-LY9Tp9QZ.mjs").then((mod) => mod.default),
404
- timeline: () => import("./timeline-D7EsWZm6.mjs").then((mod) => mod.default),
405
- "timeline-event": () => import("./timeline-event-D-h0A_oh.mjs").then((mod) => mod.default),
406
- eid: () => import("./eid-BtlRU1E0.mjs").then((mod) => mod.default),
407
- query: () => import("./query-BPtIy79s.mjs").then((mod) => mod.default),
408
- uuid: () => import("./uuid-B4eij1d7.mjs").then((mod) => mod.default),
409
- upgrade: () => import("./upgrade-BRgw0fvn.mjs").then((mod) => mod.default),
410
- skills: () => import("./skills-CCn7cyMP.mjs").then((mod) => mod.default)
637
+ auth: () => import("./auth-Bx4QQhqt.mjs").then((mod) => mod.default),
638
+ db: () => import("./db-C8lj73Dz.mjs").then((mod) => mod.default),
639
+ table: () => import("./table-Dc0dLfyg.mjs").then((mod) => mod.default),
640
+ field: () => import("./field-fBpiGiqr.mjs").then((mod) => mod.default),
641
+ upload: () => import("./upload-Dw7mVr9u.mjs").then((mod) => mod.default),
642
+ "content-translation": () => import("./content-translation-BRdNdAmn.mjs").then((mod) => mod.default),
643
+ card: () => import("./card-CQD4D8mw.mjs").then((mod) => mod.default),
644
+ dashboard: () => import("./dashboard-D11YAa7I.mjs").then((mod) => mod.default),
645
+ subscription: () => import("./subscription-pSuO241O.mjs").then((mod) => mod.default),
646
+ "data-action": () => import("./data-action-BiHjjVjc.mjs").then((mod) => mod.default),
647
+ alert: () => import("./alert-Ne0ivd5m.mjs").then((mod) => mod.default),
648
+ collection: () => import("./collection-CuaTd10G.mjs").then((mod) => mod.default),
649
+ library: () => import("./library-BHHgurW0.mjs").then((mod) => mod.default),
650
+ document: () => import("./document-uxz96Lah.mjs").then((mod) => mod.default),
651
+ glossary: () => import("./glossary-Brnk2PBi.mjs").then((mod) => mod.default),
652
+ transform: () => import("./transform-BUIlFqpv.mjs").then((mod) => mod.default),
653
+ "transform-job": () => import("./transform-job-DsbY9mme.mjs").then((mod) => mod.default),
654
+ "transform-tag": () => import("./transform-tag-C0jzV6Dk.mjs").then((mod) => mod.default),
655
+ setting: () => import("./setting-CoLzd08x.mjs").then((mod) => mod.default),
656
+ search: () => import("./search-BWb052_b.mjs").then((mod) => mod.default),
657
+ "git-sync": () => import("./git-sync-VAqASCQ5.mjs").then((mod) => mod.default),
658
+ setup: () => import("./setup-C4F4XYbU.mjs").then((mod) => mod.default),
659
+ snippet: () => import("./snippet-CYd8D9SK.mjs").then((mod) => mod.default),
660
+ segment: () => import("./segment-C_rsUkHK.mjs").then((mod) => mod.default),
661
+ measure: () => import("./measure-AtnrCTCC.mjs").then((mod) => mod.default),
662
+ dependency: () => import("./dependency-CIam7zmr.mjs").then((mod) => mod.default),
663
+ timeline: () => import("./timeline-BqU5sOb6.mjs").then((mod) => mod.default),
664
+ "timeline-event": () => import("./timeline-event-jn1SOKd4.mjs").then((mod) => mod.default),
665
+ eid: () => import("./eid-D0FxhT9H.mjs").then((mod) => mod.default),
666
+ query: () => import("./query-CAFPlqfi.mjs").then((mod) => mod.default),
667
+ uuid: () => import("./uuid-BMlJZT8z.mjs").then((mod) => mod.default),
668
+ upgrade: () => import("./upgrade-Ca-Ss5jb.mjs").then((mod) => mod.default),
669
+ skills: () => import("./skills-BWEFRpUj.mjs").then((mod) => mod.default)
411
670
  }
412
671
  });
413
672
  setMetabaseAugment(main, {
@@ -580,6 +839,18 @@ function jsonByteLength(value) {
580
839
  function isPlainObject(value) {
581
840
  return typeof value === "object" && value !== null && !Array.isArray(value);
582
841
  }
842
+ const JAVA_WHITESPACE = " \n\v\f\r            \u2028\u2029  ";
843
+ const UNICODE_ESCAPE_DIGITS = 4;
844
+ function unicodeEscape(char) {
845
+ return `\\u${char.charCodeAt(0).toString(16).padStart(UNICODE_ESCAPE_DIGITS, "0")}`;
846
+ }
847
+ const JAVA_WHITESPACE_ESCAPED = [...JAVA_WHITESPACE].map(unicodeEscape).join("");
848
+ /** Matches a string Metabase reads as not blank: one holding a character that is not Java whitespace. */
849
+ const NOT_BLANK = new RegExp(`[^${JAVA_WHITESPACE_ESCAPED}]`);
850
+ /** Whether Metabase reads `value` as blank: empty, or Java whitespace only. */
851
+ function isBlank(value) {
852
+ return !NOT_BLANK.test(value);
853
+ }
583
854
  //#endregion
584
855
  //#region src/output/projection.ts
585
856
  function projectForList(item, view, opts) {
@@ -672,7 +943,7 @@ function renderRows(head, rows) {
672
943
  return table.toString();
673
944
  }
674
945
  function formatCell(row, column) {
675
- const value = row[column.key];
946
+ const value = column.value === void 0 ? row[column.key] : column.value(row);
676
947
  if (column.format !== void 0) return column.format(value);
677
948
  return formatScalar(value);
678
949
  }
@@ -865,6 +1136,8 @@ function writeJsonError(handled, exitCode, verbose) {
865
1136
  //#endregion
866
1137
  //#region ../client/src/version/features.ts
867
1138
  const FEATURE_RULES = {
1139
+ dataActionCollections: { since: 65 },
1140
+ dataActionsWithoutModel: { since: 65 },
868
1141
  transforms: { since: 59 },
869
1142
  transformJobActivation: { since: 61 },
870
1143
  measures: { since: 59 },
@@ -880,6 +1153,11 @@ const FEATURE_RULES = {
880
1153
  since: 63,
881
1154
  tokenFeature: "remote_sync"
882
1155
  },
1156
+ remoteSyncBranchGuard: { since: 63 },
1157
+ remoteSyncMerge: {
1158
+ since: 63,
1159
+ tokenFeature: "remote_sync"
1160
+ },
883
1161
  contentTranslation: {
884
1162
  since: 58,
885
1163
  tokenFeature: "content_translation"
@@ -896,6 +1174,10 @@ const FEATURE_RULES = {
896
1174
  transformJobRunIdIsNumeric: { since: 64 },
897
1175
  transformCheckpointReset: { since: 60 },
898
1176
  fieldDataSensitivity: { since: 64 },
1177
+ fieldRemappingAppendsDisplayColumns: {
1178
+ since: 58,
1179
+ until: 59
1180
+ },
899
1181
  transformDagRuns: { since: 64 },
900
1182
  unifiedTransformRuns: { since: 64 },
901
1183
  transformTests: {
@@ -907,6 +1189,10 @@ const FEATURE_RULES = {
907
1189
  invalidMbqlIsBadRequest: { since: 59 },
908
1190
  boxplotDisplay: { since: 59 },
909
1191
  nativeTableTemplateTag: { since: 59 },
1192
+ compiledQueryOmitsCollection: {
1193
+ since: 59,
1194
+ until: 62
1195
+ },
910
1196
  smartLinkMeasureModel: { since: 60 },
911
1197
  dashboardSubscriptionFilters: {
912
1198
  since: 58,
@@ -920,15 +1206,22 @@ const FEATURE_RULES = {
920
1206
  since: 59,
921
1207
  tokenFeature: "dependencies"
922
1208
  },
923
- dependencyKebabCaseFilters: { since: 60 },
1209
+ dependencyAsyncBackfill: {
1210
+ since: 60,
1211
+ tokenFeature: "dependencies"
1212
+ },
1213
+ measureDependencyGraph: { since: 59 },
924
1214
  tableListAccessFilters: { since: 59 },
925
1215
  tableListTransformTargets: { since: 60 },
1216
+ tableListPublishedFilter: { since: 63 },
926
1217
  tableUnusedFilter: {
927
1218
  since: 58,
928
1219
  tokenFeature: "dependencies"
929
1220
  },
930
1221
  tableDataLayerTiers: { since: 59 },
931
1222
  bulkTableEdit: { since: 59 },
1223
+ tableUserValueWithdrawal: { since: 64 },
1224
+ bulkTableSync: { since: 59 },
932
1225
  erd: {
933
1226
  since: 62,
934
1227
  tokenFeature: "schema-viewer"
@@ -952,7 +1245,8 @@ const FEATURE_RULES = {
952
1245
  },
953
1246
  metricDefinitionQuery: { since: 60 },
954
1247
  metricDimensionListing: { since: 64 },
955
- oauthFullAccessScope: { since: 63 }
1248
+ oauthFullAccessScope: { since: 63 },
1249
+ exportCsvByteOrderMark: { since: 63 }
956
1250
  };
957
1251
  function isFeatureName(name) {
958
1252
  return Object.hasOwn(FEATURE_RULES, name);
@@ -990,7 +1284,6 @@ const METHOD_REQUIREMENTS = {
990
1284
  "card.exportQuery": [],
991
1285
  "card.queryMetadata": [],
992
1286
  "collection.list": [],
993
- "collection.listWithLibrary": [],
994
1287
  "collection.get": [],
995
1288
  "collection.create": [],
996
1289
  "collection.update": [],
@@ -1009,6 +1302,13 @@ const METHOD_REQUIREMENTS = {
1009
1302
  "dashboard.checkCardReferences": [],
1010
1303
  "dashboard.parameterValues": [],
1011
1304
  "dashboard.searchParameterValues": [],
1305
+ "dataAction.list": [],
1306
+ "dataAction.get": [],
1307
+ "dataAction.create": ["dataActionsWithoutModel"],
1308
+ "dataAction.update": [],
1309
+ "dataAction.archive": [],
1310
+ "dataAction.delete": [],
1311
+ "dataAction.execute": [],
1012
1312
  "database.list": [],
1013
1313
  "database.get": [],
1014
1314
  "database.schemas": [],
@@ -1034,6 +1334,7 @@ const METHOD_REQUIREMENTS = {
1034
1334
  "erd.get": ["erd"],
1035
1335
  "field.get": [],
1036
1336
  "field.update": [],
1337
+ "field.setDataSensitivity": ["fieldDataSensitivity"],
1037
1338
  "field.search": [],
1038
1339
  "field.remapping": [],
1039
1340
  "field.summary": [],
@@ -1053,6 +1354,7 @@ const METHOD_REQUIREMENTS = {
1053
1354
  "gitSync.syncedCollections": ["remoteSync"],
1054
1355
  "gitSync.remoteUrl": [],
1055
1356
  "gitSync.branch": [],
1357
+ "gitSync.trackedBranch": [],
1056
1358
  "gitSync.waitForTask": ["remoteSync"],
1057
1359
  "glossary.list": [],
1058
1360
  "glossary.create": [],
@@ -1116,7 +1418,11 @@ const METHOD_REQUIREMENTS = {
1116
1418
  "table.fks": [],
1117
1419
  "table.syncSchema": [],
1118
1420
  "table.rescanValues": [],
1421
+ "table.discardValues": [],
1119
1422
  "table.bulkEdit": ["bulkTableEdit"],
1423
+ "table.bulkSyncSchema": ["bulkTableSync"],
1424
+ "table.bulkRescanValues": ["bulkTableSync"],
1425
+ "table.bulkDiscardValues": ["bulkTableSync"],
1120
1426
  "table.appendCsv": [],
1121
1427
  "table.replaceCsv": [],
1122
1428
  "timeline.list": [],
@@ -1453,7 +1759,9 @@ async function walkCommandPath(root, rawArgs) {
1453
1759
  const match = await findSubCommand(subCommands, token);
1454
1760
  if (match === null) return {
1455
1761
  segments,
1456
- unknownToken: token
1762
+ unknownToken: token,
1763
+ command: current,
1764
+ argsStart: index
1457
1765
  };
1458
1766
  segments.push(match.name);
1459
1767
  current = match.command;
@@ -1461,7 +1769,17 @@ async function walkCommandPath(root, rawArgs) {
1461
1769
  }
1462
1770
  return {
1463
1771
  segments,
1464
- unknownToken: null
1772
+ unknownToken: null,
1773
+ command: current,
1774
+ argsStart: index
1775
+ };
1776
+ }
1777
+ async function resolveLeafArgv(root, rawArgs) {
1778
+ const path = await walkCommandPath(root, rawArgs);
1779
+ if (path.unknownToken !== null || await resolveCitty(path.command.subCommands) !== void 0) return null;
1780
+ return {
1781
+ argsDef: await resolveCitty(path.command.args) ?? {},
1782
+ argsStart: path.argsStart
1465
1783
  };
1466
1784
  }
1467
1785
  async function resolveBreadcrumb(root, rawArgs) {
@@ -1472,16 +1790,11 @@ async function findUnknownCommand(root, rawArgs) {
1472
1790
  return (await walkCommandPath(root, rawArgs)).unknownToken;
1473
1791
  }
1474
1792
  function skipFlags(rawArgs, start, argsDef) {
1475
- let index = start;
1476
- while (index < rawArgs.length) {
1477
- const token = rawArgs[index];
1478
- if (token === void 0) return index;
1479
- if (token === "--") return rawArgs.length;
1480
- if (!token.startsWith("-")) return index;
1481
- if (flagConsumesValue(token, argsDef)) index += 1;
1482
- index += 1;
1793
+ for (const item of readArgv(rawArgs, flagSpellings(argsDef), start)) {
1794
+ if (item.kind === "positional") return item.index;
1795
+ if (item.kind === "separator") return rawArgs.length;
1483
1796
  }
1484
- return index;
1797
+ return rawArgs.length;
1485
1798
  }
1486
1799
  async function findSubCommand(subCommands, token) {
1487
1800
  const direct = subCommands[token];
@@ -1531,7 +1844,7 @@ const JSON_HELP_FLAG = "--json";
1531
1844
  async function run() {
1532
1845
  installInterruptHandler((code) => process.exit(code));
1533
1846
  trustSystemCa();
1534
- const rawArgs = hoistGlobalFlags(process.argv.slice(2));
1847
+ const rawArgs = await normalizeArgv(process.argv.slice(2));
1535
1848
  const wantsJsonHelp = rawArgs.includes(JSON_HELP_FLAG);
1536
1849
  const showUsageWithBreadcrumb = async (cmd, parent) => {
1537
1850
  const breadcrumb = await resolveBreadcrumb(main, rawArgs);
@@ -1557,8 +1870,15 @@ async function run() {
1557
1870
  rawArgs
1558
1871
  });
1559
1872
  }
1873
+ async function normalizeArgv(argv) {
1874
+ const hoisted = hoistGlobalFlags(argv);
1875
+ const leaf = await resolveLeafArgv(main, hoisted);
1876
+ if (leaf === null) return hoisted;
1877
+ const leafArgs = separatePositionals(hoisted.slice(leaf.argsStart), leaf.argsDef);
1878
+ return [...hoisted.slice(0, leaf.argsStart), ...leafArgs];
1879
+ }
1560
1880
  run().catch((error) => {
1561
1881
  reportError(error);
1562
1882
  });
1563
1883
  //#endregion
1564
- export { InternalError as $, ENV_SKILLS_DIR as A, listFlags as B, promptSelect as C, ENV_API_KEY as D, warn as E, ProfileRefreshedError as F, listEnvelopeSchema as G, outputFlags as H, setMetabaseAugment as I, normalizeFlag as J, listEnvelopeSchemaWithExtras as K, name as L, ENV_URL as M, consumeLegacyEnvWarnings as N, ENV_DISABLE_KEYRING as O, readEnv as P, ConfigError as Q, version as R, promptPassword as S, listTruncationNotice as T, profileFlag as U, listFlagsWithDefaultLimit as V, DEFAULT_MAX_BYTES as W, AbortError as X, toAliasArray as Y, ChainedRequestError as Z, formatScalar as _, Features as a, ValidationError as at, isPlainObject as b, ruleGap as c, KNOWN_RANGE as ct, renderList as d, MetabaseError as et, renderListWithExtras as f, MALFORMED_CELL as g, writeText as h, FEATURE_RULES as i, UnknownError as it, ENV_SKIP_PREFLIGHT as j, ENV_PROFILE as k, reportError as l, escapeJsonPointerSegment as lt, writeJson as m, methodRequirements as n, ResponseShapeError as nt, evaluateFeatures as o, errorMessage as ot, renderSummary as p, flagConsumesValue as q, FEATURE_NAMES as r, TimeoutError as rt, isFeatureName as s, isFileNotFoundError as st, interruptSignal as t, NetworkError as tt, renderItem as u, renderRows as v, promptText as w, promptConfirm as x, projectForList as y, connectionFlags as z };
1884
+ export { givenFlagKeys as $, ENV_API_KEY as A, name as B, isPlainObject as C, promptText as D, promptSelect as E, ENV_URL as F, listFlags as G, connectionFlags as H, consumeLegacyEnvWarnings as I, profileFlag as J, listFlagsWithDefaultLimit as K, readEnv as L, ENV_PROFILE as M, ENV_SKILLS_DIR as N, listTruncationNotice as O, ENV_SKIP_PREFLIGHT as P, assertArgv as Q, ProfileRefreshedError as R, isBlank as S, promptPassword as T, formatFlags as U, version as V, listFlag as W, listEnvelopeSchema as X, DEFAULT_MAX_BYTES as Y, listEnvelopeSchemaWithExtras as Z, MALFORMED_CELL as _, escapeJsonPointerSegment as _t, Features as a, ConfigError as at, projectForList as b, ruleGap as c, NetworkError as ct, renderList as d, UnknownError as dt, parseCsv as et, renderListWithExtras as f, ValidationError as ft, writeText as g, KNOWN_RANGE as gt, writeJson as h, isFileNotFoundError as ht, FEATURE_RULES as i, ChainedRequestError as it, ENV_DISABLE_KEYRING as j, warn as k, reportError as l, ResponseShapeError as lt, serializeJson as m, formatZodIssue as mt, methodRequirements as n, parseEnumCsv as nt, evaluateFeatures as o, InternalError as ot, renderSummary as p, errorMessage as pt, outputFlags as q, FEATURE_NAMES as r, AbortError as rt, isFeatureName as s, MetabaseError as st, interruptSignal as t, parseEnum as tt, renderItem as u, TimeoutError as ut, formatScalar as v, promptConfirm as w, NOT_BLANK as x, renderRows as y, setMetabaseAugment as z };