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

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 (305) hide show
  1. package/dist/{add-collection-B_-eMU_k.mjs → add-collection-CC6KSwjX.mjs} +5 -5
  2. package/dist/{alert-Dalin_DD.mjs → alert-Dt6La9tK.mjs} +7 -7
  3. package/dist/{alerts-DpBgrjPI.mjs → alerts-ClKnJqgB.mjs} +6 -6
  4. package/dist/{append-C1JNVALm.mjs → append-pnaQWP_A.mjs} +4 -4
  5. package/dist/{archive-B51prFgS.mjs → archive-By1pLYtO.mjs} +3 -3
  6. package/dist/{archive-CwITzj_j.mjs → archive-CLu2TGW5.mjs} +5 -5
  7. package/dist/{archive-52ZHbFDm2.mjs → archive-COP9joWU.mjs} +4 -4
  8. package/dist/{archive-cAdUa1-2.mjs → archive-CSnBFcQ_.mjs} +3 -3
  9. package/dist/{archive-DA3OiLEE.mjs → archive-Ct1eyolN.mjs} +3 -3
  10. package/dist/{archive-CdKf_Eqq.mjs → archive-D7nAQcCz.mjs} +3 -3
  11. package/dist/{archive-CISXgZAI.mjs → archive-DEDA48w3.mjs} +5 -5
  12. package/dist/{archive-DVHxeDKS.mjs → archive-DJAsSzCz.mjs} +5 -5
  13. package/dist/{archive-BkITQyWW.mjs → archive-DtabbPUk.mjs} +4 -4
  14. package/dist/{archive-DckxlWBt.mjs → archive-YNpa8daf.mjs} +3 -3
  15. package/dist/{archive-CicPYX27.mjs → archive-ewitrKdx.mjs} +5 -5
  16. package/dist/{auth-A96JOCQx.mjs → auth-DdLhXCn-.mjs} +5 -5
  17. package/dist/body-Dd-TwYYL.mjs +17 -0
  18. package/dist/branch-flag-pFQPNYKr.mjs +9 -0
  19. package/dist/{branches-CbcwWYL9.mjs → branches-ZvGNhed6.mjs} +3 -3
  20. package/dist/breaking-BLswgvkA.mjs +36 -0
  21. package/dist/broken-BN0nL2hf.mjs +37 -0
  22. package/dist/bulk-discard-values-DFJUjSnE.mjs +49 -0
  23. package/dist/bulk-edit-Brqr67bu.mjs +53 -0
  24. package/dist/bulk-rescan-values-DndXXi2N.mjs +28 -0
  25. package/dist/bulk-sync-schema-mO-t2QlL.mjs +28 -0
  26. package/dist/{cancel-DpDcVY7M.mjs → cancel-DP03dXBf.mjs} +3 -3
  27. package/dist/{cancel-task-B4RDvIYb.mjs → cancel-task-CELBfBPP.mjs} +4 -4
  28. package/dist/{card-voh1k4hl.mjs → card-Bv4ZN0oV.mjs} +5 -3
  29. package/dist/card-CFd-GUEM.mjs +25 -0
  30. package/dist/{card-CEkp1mcI.mjs → card-DSrgU7lT.mjs} +1 -1
  31. package/dist/{cards-BC0JX8Yg.mjs → cards-Cn2ywFTJ.mjs} +6 -6
  32. package/dist/cli.mjs +410 -111
  33. package/dist/{client-ClL6gf7G.mjs → client-ToLiPu9q.mjs} +785 -316
  34. package/dist/{collection-DYM0p3Xl.mjs → collection-BG3Ksea-.mjs} +1 -1
  35. package/dist/collection-BKNShKcY.mjs +21 -0
  36. package/dist/{collection-BxdPxD38.mjs → collection-D3KXhvnc.mjs} +7 -5
  37. package/dist/{collection-namespace-Dv0l-V9K.mjs → collection-namespace-CWW6hZxK.mjs} +2 -2
  38. package/dist/{content-translation-BXIXL4eW.mjs → content-translation-C19SqZWp.mjs} +3 -3
  39. package/dist/copy-BGK8Wz6d.mjs +55 -0
  40. package/dist/copy-COLUuiuF.mjs +36 -0
  41. package/dist/copy-flags-eU8aa0zj.mjs +32 -0
  42. package/dist/{create-BbjSOTN-.mjs → create-B2tuInV9.mjs} +4 -4
  43. package/dist/{create-Za1EskpV.mjs → create-B3TKri1E.mjs} +4 -4
  44. package/dist/{create--fiwuTWc.mjs → create-B4gXKDRr.mjs} +3 -3
  45. package/dist/create-B63JphYe.mjs +34 -0
  46. package/dist/{create-NCKHHdov.mjs → create-BH6kLjHS.mjs} +4 -4
  47. package/dist/{create-Dhai9zAt.mjs → create-BwifyhyL.mjs} +3 -3
  48. package/dist/{create-DWFJdyIr.mjs → create-Colz5bOO.mjs} +3 -3
  49. package/dist/{create-BcsVwXgS2.mjs → create-CulUZgN1.mjs} +4 -4
  50. package/dist/{create-D--Z1S3p2.mjs → create-Cxuqr3kT.mjs} +6 -6
  51. package/dist/{create-Bryrkb9g.mjs → create-CzW_UTE7.mjs} +6 -6
  52. package/dist/{create-kZIIEN2Y.mjs → create-DNR8RMvV.mjs} +6 -6
  53. package/dist/{create-DmN2gFc4.mjs → create-DSHeoV7e.mjs} +4 -4
  54. package/dist/{create-BVNhtAgF.mjs → create-DWbW2WSc.mjs} +6 -6
  55. package/dist/{create-CHr8MPPq.mjs → create-Dx8nfjGs.mjs} +3 -3
  56. package/dist/{create-B9qXQ_wV.mjs → create-XGomrTz5.mjs} +5 -5
  57. package/dist/{create-branch-CseVn3lp.mjs → create-branch-DxL7KUZp.mjs} +4 -4
  58. package/dist/{create-YetX69Re.mjs → create-g1f2yJ4s.mjs} +3 -3
  59. package/dist/{csv-DNzesu8y.mjs → csv-C6TEfLMi.mjs} +4 -4
  60. package/dist/{current-task-DRTKZcP9.mjs → current-task-CHs0zNFM.mjs} +4 -4
  61. package/dist/dashboard-AWrXqQ7a.mjs +35 -0
  62. package/dist/{dashboard-D0hwTC-f.mjs → dashboard-Phz3XpRM.mjs} +2 -1
  63. package/dist/{dashboard-DgK81azj.mjs → dashboard-XSTr9QCr.mjs} +6 -2
  64. package/dist/database-D-CRyRIv.mjs +45 -0
  65. package/dist/{database-C3E9PZSx.mjs → database-MlUPpitM.mjs} +1 -1
  66. package/dist/dataset-p5oNPQgL.mjs +66 -0
  67. package/dist/{db-BDijt81U.mjs → db-BFSeETMO.mjs} +7 -7
  68. package/dist/{delete-Dc8E5YwZ.mjs → delete-BUKgSJhh.mjs} +4 -4
  69. package/dist/{delete-BxjJ66BS.mjs → delete-CPBByycV.mjs} +4 -4
  70. package/dist/{delete-wFsy80db.mjs → delete-Cucqn4-V.mjs} +4 -4
  71. package/dist/{delete--15it-A8.mjs → delete-D79TlpcE.mjs} +4 -4
  72. package/dist/delete-DZJxBmdU.mjs +44 -0
  73. package/dist/{delete-BudvZkvK.mjs → delete-DndykJn2.mjs} +4 -4
  74. package/dist/delete-runtime-BbmRg_in.mjs +55 -0
  75. package/dist/{delete-table-5AQpn8OB.mjs → delete-table-CbsWcjh5.mjs} +4 -4
  76. package/dist/{dependencies-C1ogC3BV.mjs → dependencies-B-880phi.mjs} +5 -5
  77. package/dist/dependency-DBUJwXqv.mjs +15 -0
  78. package/dist/dependency-DKSjKT8P.mjs +165 -0
  79. package/dist/dependency-DSxKm9oS.mjs +111 -0
  80. package/dist/dependents-C_FDnpZs.mjs +52 -0
  81. package/dist/{dirty-CSLDYO-K.mjs → dirty-B-Is68--.mjs} +5 -5
  82. package/dist/discard-values-yzH-kIsr.mjs +55 -0
  83. package/dist/document-BRaba87v.mjs +20 -0
  84. package/dist/{document-CA0Q6lqu.mjs → document-C18b5rM6.mjs} +1 -1
  85. package/dist/{document-BHpLJbKU.mjs → document-DFCj1Az_.mjs} +2 -1
  86. package/dist/{download-Ddap1OAo.mjs → download-DluF-vnU.mjs} +2 -2
  87. package/dist/{eid-HnrWhPoe.mjs → eid-Dz-mP40j.mjs} +11 -10
  88. package/dist/entity-CA4zfRt4.mjs +20 -0
  89. package/dist/entry-flags-7x7bIyOQ.mjs +42 -0
  90. package/dist/{events-CXqetjcS.mjs → events-2sOk6H09.mjs} +4 -4
  91. package/dist/export-BKkAJOFb.mjs +74 -0
  92. package/dist/export-flags-NiZ7C3Gm.mjs +81 -0
  93. package/dist/export-preflight-CwJ_3-iX.mjs +35 -0
  94. package/dist/{field-CcN4oZy6.mjs → field-5nivEfd6.mjs} +33 -3
  95. package/dist/field-BARgq5I9.mjs +21 -0
  96. package/dist/field-wmN6raOG.mjs +128 -0
  97. package/dist/{fields-DxHxuxwO.mjs → fields-Bod0s_uV.mjs} +6 -6
  98. package/dist/filter-flags-BYcbB85j.mjs +71 -0
  99. package/dist/fks-IUw66K_Q.mjs +36 -0
  100. package/dist/{get-eJilYnHk.mjs → get-B8DUMrCw.mjs} +5 -5
  101. package/dist/{get-C3cuZNeW.mjs → get-BGqvoGQM.mjs} +3 -3
  102. package/dist/{get-DmKtPNOy.mjs → get-BSUsfysk.mjs} +3 -3
  103. package/dist/{get-DW7mCaGe.mjs → get-BXsLkoit.mjs} +5 -5
  104. package/dist/{get-Dtre5jzh.mjs → get-BXssHyJ1.mjs} +5 -5
  105. package/dist/get-Bct52yPw.mjs +36 -0
  106. package/dist/{get-BiPclcIP.mjs → get-Besqwy32.mjs} +3 -3
  107. package/dist/{get-BcoJ9Aha.mjs → get-BfSX-OeS.mjs} +3 -3
  108. package/dist/{get-BF2vdF3W.mjs → get-Biy4gOzu2.mjs} +3 -3
  109. package/dist/{get-C_tdSMwW2.mjs → get-CYIeiTZ9.mjs} +4 -4
  110. package/dist/{get-b0CoPz5B.mjs → get-CaEiQnSw.mjs} +4 -4
  111. package/dist/{get-CxUQyhte.mjs → get-Cl81y0Md.mjs} +5 -5
  112. package/dist/{get-B2pj2q3X.mjs → get-D1NjMXAH.mjs} +4 -4
  113. package/dist/{get-D_x-ENFe.mjs → get-D2cPuOPR.mjs} +5 -5
  114. package/dist/{get-DjlQhgD4.mjs → get-DITlshJH.mjs} +3 -3
  115. package/dist/{get-CE9_4Q7E.mjs → get-DLyg6Al9.mjs} +3 -3
  116. package/dist/{get-CDnmpfHQ.mjs → get-DQZfaVNq.mjs} +4 -4
  117. package/dist/{get-BGLvyOO3.mjs → get-DtBqoGTa.mjs} +5 -5
  118. package/dist/{get-H6kInHIx.mjs → get-_ik_5_lQ.mjs} +5 -5
  119. package/dist/{get-run-BE1HtJDW.mjs → get-run-CEc_tr5b.mjs} +4 -4
  120. package/dist/{git-sync-BwBRmEhE.mjs → git-sync-COokpYgc.mjs} +12 -3
  121. package/dist/git-sync-DKcaddkV.mjs +29 -0
  122. package/dist/git-sync-DspFahwV.mjs +165 -0
  123. package/dist/glossary-BlNCrYbw.mjs +30 -0
  124. package/dist/glossary-CWIX8Zh6.mjs +14 -0
  125. package/dist/glossary-LmZWwCNP.mjs +21 -0
  126. package/dist/graph-f6Bp1e8U.mjs +34 -0
  127. package/dist/{group-YQQ5GIcP.mjs → group-bpD_KcjA.mjs} +1 -1
  128. package/dist/{has-remote-changes-Cj1KhBOT.mjs → has-remote-changes-B8MmN6yh.mjs} +4 -4
  129. package/dist/{import-DLb9VN4l.mjs → import-Bhq15KgP.mjs} +19 -8
  130. package/dist/{input-D5tQEfqN.mjs → input-D8qW-KtR.mjs} +6 -2
  131. package/dist/{is-dirty-BxtgV2xF.mjs → is-dirty-CAsVuVx8.mjs} +2 -2
  132. package/dist/{items-DLUYc5-z.mjs → items-BZJomiDE.mjs} +8 -8
  133. package/dist/{key-PYetuQ13.mjs → key-BynJSK9u.mjs} +1 -1
  134. package/dist/{library-BNSxXOpc.mjs → library-B7wDH-Nc.mjs} +5 -5
  135. package/dist/{library-PGCfm0UA.mjs → library-BOv5SY24.mjs} +1 -1
  136. package/dist/{library-BPIzb3K_.mjs → library-Ck0EK5bi.mjs} +4 -2
  137. package/dist/{list-BUz6KOfw.mjs → list-B2uUl26x.mjs} +6 -6
  138. package/dist/{list-CERbeLbQ.mjs → list-B4luDSYj.mjs} +6 -6
  139. package/dist/{list-jhQSgh6i.mjs → list-B8ND9t2h.mjs} +3 -3
  140. package/dist/{list-M8J10Ozk.mjs → list-BT5t8ZOl.mjs} +4 -4
  141. package/dist/{list-Dat8QNcf.mjs → list-BT7xiUQe.mjs} +3 -3
  142. package/dist/{list-cIMww2Me.mjs → list-BWFCv_zk.mjs} +5 -5
  143. package/dist/{list-B1soS8QW.mjs → list-BtZVe1Nq.mjs} +6 -6
  144. package/dist/{list-C5mS_ehX.mjs → list-BwdSG-P5.mjs} +5 -5
  145. package/dist/{list-BQnOEB3W.mjs → list-C-A-2HFq.mjs} +3 -3
  146. package/dist/list-C9x--9Jq.mjs +101 -0
  147. package/dist/{list-CX9qZ-bx.mjs → list-CCdXig7b.mjs} +4 -4
  148. package/dist/{list-Sd7jGZoX.mjs → list-CJDFoOHb.mjs} +3 -3
  149. package/dist/{list-CzRzCbCY.mjs → list-CLFu3mQB.mjs} +3 -3
  150. package/dist/{list-CBLxhaNZ.mjs → list-Cd40Kr0R.mjs} +3 -3
  151. package/dist/{list-COLpwXW4.mjs → list-Cj_mTxbY.mjs} +4 -4
  152. package/dist/{list-CQbiSx26.mjs → list-CtS50R7m.mjs} +5 -5
  153. package/dist/{list-CehE6KBV.mjs → list-CvZyTwmV.mjs} +5 -5
  154. package/dist/list-DcnNlYQA.mjs +35 -0
  155. package/dist/{list-BcP1DTJH.mjs → list-DtgbtE3_.mjs} +3 -3
  156. package/dist/{login-BfLqBfCd.mjs → login-Bi_nGMJ9.mjs} +6 -6
  157. package/dist/{logout-BpRXB3Ze.mjs → logout-CiHQJWTu.mjs} +2 -2
  158. package/dist/{measure-Ds8O5Evr.mjs → measure-D2qq5e8f.mjs} +6 -6
  159. package/dist/moderation-review-BdqEH6N1.mjs +31 -0
  160. package/dist/{notification-DVrLkjFT.mjs → notification-DOYdl0ao.mjs} +1 -1
  161. package/dist/{parameter-values-DhrkLXoN.mjs → parameter-values-CZow98nb.mjs} +3 -3
  162. package/dist/{parse-enum-Dc0dMZ3P.mjs → parse-enum-CLIXMsd8.mjs} +1 -1
  163. package/dist/parse-id-BW09NysN.mjs +13 -0
  164. package/dist/{parse-ref-DTDld_LJ.mjs → parse-ref-Cw5fa4FI.mjs} +1 -1
  165. package/dist/parse-text-T0lTXzTZ.mjs +11 -0
  166. package/dist/{path-_GHFrTLx.mjs → path-K6LPLYPb.mjs} +4 -4
  167. package/dist/{poll-KLl4Eq8Y.mjs → poll-Dz4tUm2f.mjs} +2 -2
  168. package/dist/{preflight-BpYtF0IU.mjs → preflight-CX6cqB90.mjs} +3 -3
  169. package/dist/{process-CLtOWKBn.mjs → process-D0HdqZ3r.mjs} +1 -1
  170. package/dist/{publish-D-7Zlmuk.mjs → publish-COatW4Un.mjs} +4 -4
  171. package/dist/{pulse-x0gFxWfG.mjs → pulse-D1uh8UIU.mjs} +1 -1
  172. package/dist/query-BJXTIDhy.mjs +328 -0
  173. package/dist/{query-B1CZztxs.mjs → query-DmvkyDfo.mjs} +14 -33
  174. package/dist/remapping-CPAvDKHV.mjs +53 -0
  175. package/dist/{remove-collection-C4saCFxz.mjs → remove-collection-Bg-sNX3U.mjs} +5 -5
  176. package/dist/{render-6O_eF-P1.mjs → render-BSfDD6ip.mjs} +2 -2
  177. package/dist/{replace-BuR4f2Ai.mjs → replace-RCHeZLUT.mjs} +4 -4
  178. package/dist/{rescan-values-CNOiiWQ5.mjs → rescan-values-CpDGYZvf.mjs} +5 -5
  179. package/dist/rescan-values-PeMnpaFY.mjs +32 -0
  180. package/dist/{run-DijA_BXt.mjs → run-CaQ7kubO.mjs} +3 -3
  181. package/dist/{run-QEUbWNm7.mjs → run-DkRkZRgf.mjs} +7 -7
  182. package/dist/{runs-BSlhVeDO.mjs → runs-BDjoVJ0P.mjs} +5 -5
  183. package/dist/{runtime-Dtb93zKy.mjs → runtime-CZ5zh32z.mjs} +21 -82
  184. package/dist/{schema-tables-BE3rEb6I.mjs → schema-tables-C2qjLcPq.mjs} +6 -6
  185. package/dist/{schemas-yDjBiwlH.mjs → schemas-D8hfNduk.mjs} +4 -4
  186. package/dist/search-BrQQuNmh.mjs +131 -0
  187. package/dist/search-CnTXKJgx.mjs +85 -0
  188. package/dist/{segment-Cm6zQjJW.mjs → segment-Bi6eqj3e.mjs} +6 -6
  189. package/dist/{send-kC8oerkT.mjs → send-CAjgVNlA.mjs} +3 -3
  190. package/dist/{set-tFhPkxrL.mjs → set-BXTkYWid.mjs} +4 -4
  191. package/dist/{set-active-lDKhAlij.mjs → set-active-CBQVCePU.mjs} +3 -3
  192. package/dist/set-sensitivity-D39kGTob.mjs +57 -0
  193. package/dist/{setting-DrJXCaFE.mjs → setting-CPkvkc4H.mjs} +4 -4
  194. package/dist/{setup-BWY9M0iR.mjs → setup-Be3xDXHi.mjs} +3 -3
  195. package/dist/{signal-Csom0mt5.mjs → signal-CxWeLszu.mjs} +1 -1
  196. package/dist/{skill-list-CCes8pKe.mjs → skill-list-CBGq30sI.mjs} +2 -2
  197. package/dist/{skills-DE9ej5Rg.mjs → skills-CJ9eXouJ.mjs} +2 -2
  198. package/dist/{skills-DPRN2384.mjs → skills-DyiLycMY.mjs} +3 -3
  199. package/dist/snippet-QirK70R_.mjs +19 -0
  200. package/dist/{stash-C9oDvQ9P.mjs → stash-BVN3s5N_.mjs} +6 -6
  201. package/dist/{status-CkpujA26.mjs → status-BtbMmIWo.mjs} +7 -7
  202. package/dist/{status-DSdXmNC3.mjs → status-CxP6w3aL.mjs} +3 -3
  203. package/dist/{subscription-DKOKoHRG.mjs → subscription-Dr-YHARg.mjs} +6 -6
  204. package/dist/{subscriptions-C5SyJL4B.mjs → subscriptions-8tM8TTeQ.mjs} +6 -6
  205. package/dist/{summary-DTPgXsc0.mjs → summary-DKx6ptQe.mjs} +5 -5
  206. package/dist/sync-schema-B8RY0Ra4.mjs +32 -0
  207. package/dist/{sync-schema-DKKkNSR7.mjs → sync-schema-kNriXZjG.mjs} +6 -6
  208. package/dist/sync-task-CXFoqlpF.mjs +53 -0
  209. package/dist/table-CZnT6d9x.mjs +26 -0
  210. package/dist/{table-DfuY0N8e.mjs → table-Ci6bhZkb.mjs} +35 -12
  211. package/dist/table-CxvaDiIZ.mjs +155 -0
  212. package/dist/table-selector-flags-1bYkAKld.mjs +42 -0
  213. package/dist/text-DaNkPRwt.mjs +6 -0
  214. package/dist/timeline-CUzx6uXi.mjs +21 -0
  215. package/dist/{timeline-event-n4Lzet7l.mjs → timeline-event-DpNm4dkn.mjs} +6 -6
  216. package/dist/{transform-CtqB1WYo.mjs → transform-CNBIV7No.mjs} +1 -1
  217. package/dist/transform-g4-HHzDp.mjs +28 -0
  218. package/dist/transform-job-DqBtnTrG.mjs +22 -0
  219. package/dist/{transform-tag-D6NXqWaX.mjs → transform-tag-nTb0Ivpj.mjs} +5 -5
  220. package/dist/{transforms-O4NtXqFz.mjs → transforms-BSsAfwAg.mjs} +5 -5
  221. package/dist/tree-lMvw1jnZ.mjs +34 -0
  222. package/dist/{unpublish-DvWefKJi.mjs → unpublish-CYFDd828.mjs} +3 -3
  223. package/dist/unreferenced-8Xdq76Kw.mjs +36 -0
  224. package/dist/{update-AJ2JmwDl.mjs → update-6P_GYCLT.mjs} +5 -5
  225. package/dist/{update-76nzOc71.mjs → update-B28EJzrx.mjs} +13 -8
  226. package/dist/{update-To6A1Ugu.mjs → update-BDunZa7G.mjs} +4 -4
  227. package/dist/{update-2KIpYgyj.mjs → update-BT2yNB_g.mjs} +6 -6
  228. package/dist/{update-DmgRIp7o.mjs → update-BnMUSFYZ.mjs} +4 -4
  229. package/dist/update-BwrYeKso.mjs +41 -0
  230. package/dist/{update-DOdcflLH.mjs → update-C7DEMiu-.mjs} +7 -7
  231. package/dist/{update-CGJvIS-l.mjs → update-CITzAFG8.mjs} +4 -4
  232. package/dist/update-CLl8tE20.mjs +181 -0
  233. package/dist/{update-BB6Go_RX.mjs → update-CM5uuhjB.mjs} +4 -4
  234. package/dist/{update-xEegxIyH.mjs → update-CQXcsvaa.mjs} +5 -5
  235. package/dist/{update-DV54H3L5.mjs → update-Cs2zv_L2.mjs} +7 -7
  236. package/dist/{update-Bah7N8QX.mjs → update-D--Fw7-_.mjs} +5 -5
  237. package/dist/{update-H_fdjugs.mjs → update-D9p0N8ky.mjs} +4 -4
  238. package/dist/{update-7oKvP1HC.mjs → update-DAzRx0of.mjs} +5 -5
  239. package/dist/{update-DXmZuJho.mjs → update-D_DCOOAB.mjs} +6 -6
  240. package/dist/{update-D7dG7H-z.mjs → update-_sYM1GuU.mjs} +7 -7
  241. package/dist/{update-dashcard-DjT5QOkL.mjs → update-dashcard-VNnIqHDI.mjs} +6 -6
  242. package/dist/{upgrade-CuJx9fX4.mjs → upgrade-Tj_reACv.mjs} +4 -4
  243. package/dist/upload-BKxOpSz3.mjs +13 -0
  244. package/dist/{upload-DOO94rCQ.mjs → upload-C2fhpKkP.mjs} +2 -2
  245. package/dist/{upload-CboARPZm.mjs → upload-Dg91ldGg.mjs} +3 -3
  246. package/dist/{uuid-InwZlrpQ.mjs → uuid-Blpv_e0S.mjs} +2 -2
  247. package/dist/{validate-D6-Vg_kn.mjs → validate-D7e110oU.mjs} +1 -1
  248. package/dist/{validate-query-B90KYPQr.mjs → validate-query-C7LuKiUT.mjs} +2 -2
  249. package/dist/{values-CsZLk1Ls.mjs → values-PonkbYAK.mjs} +5 -5
  250. package/dist/verify-DixUBbd2.mjs +38 -0
  251. package/dist/verify-Dv7ER11c.mjs +38 -0
  252. package/dist/{verify-DrGjZwBM.mjs → verify-Mpb65a5v.mjs} +3 -3
  253. package/dist/verify-flags-CMpRkMPa.mjs +58 -0
  254. package/dist/{wait-BmzdarP9.mjs → wait-CaH6XHQV.mjs} +6 -6
  255. package/dist/{wait-flags-CiJGrTCT.mjs → wait-flags-rUU4NUrv.mjs} +2 -2
  256. package/dist/{window-DSb1tqSe.mjs → window-CI_QD04s.mjs} +1 -1
  257. package/package.json +1 -1
  258. package/skill-data/core/SKILL.md +24 -23
  259. package/skill-data/dashboard/SKILL.md +1 -1
  260. package/skill-data/document/SKILL.md +12 -1
  261. package/skill-data/git-sync/SKILL.md +61 -9
  262. package/skill-data/mbql/SKILL.md +5 -0
  263. package/skill-data/metadata/SKILL.md +36 -6
  264. package/skill-data/transform/SKILL.md +1 -63
  265. package/dist/body-CshgcV6U.mjs +0 -17
  266. package/dist/card-CefVYtF7.mjs +0 -24
  267. package/dist/collection-Be5AHVWP.mjs +0 -20
  268. package/dist/create-DiJ8bUb-.mjs +0 -34
  269. package/dist/dashboard-CMw13KXM.mjs +0 -33
  270. package/dist/database-JtHTqSpq.mjs +0 -26
  271. package/dist/delete-Bsdwqh7H.mjs +0 -44
  272. package/dist/delete-runtime-BKEzJn22.mjs +0 -49
  273. package/dist/document-BGzVip5_.mjs +0 -19
  274. package/dist/export-IFZdgYZ2.mjs +0 -63
  275. package/dist/field-BJ6HoLRd.mjs +0 -18
  276. package/dist/field-fDtIrY6D.mjs +0 -80
  277. package/dist/get-i0KInCw9.mjs +0 -32
  278. package/dist/get-jofVjU6e.mjs +0 -31
  279. package/dist/git-sync-TjX1r_wF.mjs +0 -136
  280. package/dist/git-sync-xKC1sqC4.mjs +0 -28
  281. package/dist/list-Cuhf2lKL.mjs +0 -35
  282. package/dist/list-D-SyhKFw.mjs +0 -34
  283. package/dist/parse-id-DtM6q9HU.mjs +0 -10
  284. package/dist/query-CxESKMve.mjs +0 -114
  285. package/dist/query-result-E4Q-Gra6.mjs +0 -15
  286. package/dist/run-FmRruANb.mjs +0 -64
  287. package/dist/search-CR_xNArA.mjs +0 -97
  288. package/dist/selectors-C-vgMcGK.mjs +0 -35
  289. package/dist/snippet-DWHTSo9c.mjs +0 -19
  290. package/dist/sync-task-BtDnTXCP.mjs +0 -38
  291. package/dist/table-C6h4tIRw.mjs +0 -37
  292. package/dist/table-I8NXSdUC.mjs +0 -18
  293. package/dist/timeline-B_ESH-6W.mjs +0 -21
  294. package/dist/transform-BNuNiH9d.mjs +0 -28
  295. package/dist/transform-job-B7yc6dfH.mjs +0 -22
  296. package/dist/transform-test-BjjCQ2xm.mjs +0 -169
  297. package/dist/transform-test-C1Oqtfb-.mjs +0 -16
  298. package/dist/transform-test-gzDcbypy.mjs +0 -25
  299. package/dist/transport-CyVo29u7.mjs +0 -313
  300. package/dist/tree-CuyF116R.mjs +0 -26
  301. package/dist/update-l3PyNQKG.mjs +0 -41
  302. package/dist/upload-2YFFBSln.mjs +0 -13
  303. package/skill-data/transform-test-plan/SKILL.md +0 -171
  304. package/skill-data/transform-test-plan/references/checklist.md +0 -81
  305. package/skill-data/transform-test-plan/references/checks.md +0 -263
package/dist/cli.mjs CHANGED
@@ -120,15 +120,6 @@ var InternalError = class extends MetabaseError {
120
120
  this.name = "InternalError";
121
121
  }
122
122
  };
123
- var FailedResultError = class extends MetabaseError {
124
- category = "failed";
125
- isRetryable = false;
126
- developerDetail = null;
127
- constructor(message) {
128
- super(message);
129
- this.name = "FailedResultError";
130
- }
131
- };
132
123
  var AbortError = class extends MetabaseError {
133
124
  category = "abort";
134
125
  isRetryable = false;
@@ -198,18 +189,283 @@ function toAliasArray(alias) {
198
189
  if (alias === void 0) return [];
199
190
  return Array.isArray(alias) ? alias : [alias];
200
191
  }
201
- function normalizeFlag(value) {
202
- return value.replace(/^-+/, "").replace(/-/g, "").toLowerCase();
203
- }
204
- function flagConsumesValue(token, argsDef) {
205
- if (token.includes("=")) return false;
206
- 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();
207
207
  for (const [key, def] of Object.entries(argsDef)) {
208
- if (def.type !== "string" && def.type !== "enum") continue;
209
- if (normalizeFlag(key) === name) return true;
210
- 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
+ });
211
234
  }
212
- return false;
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;
340
+ }
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;
213
469
  }
214
470
  //#endregion
215
471
  //#region src/output/types.ts
@@ -240,7 +496,13 @@ function listEnvelopeShape(item) {
240
496
  }
241
497
  //#endregion
242
498
  //#region src/commands/flags.ts
243
- const outputFlags = {
499
+ function listFlag(def) {
500
+ return {
501
+ ...def,
502
+ list: true
503
+ };
504
+ }
505
+ const formatFlags = {
244
506
  format: {
245
507
  type: "string",
246
508
  description: "auto | json | text",
@@ -249,15 +511,18 @@ const outputFlags = {
249
511
  json: {
250
512
  type: "boolean",
251
513
  description: "Shorthand for --format json"
252
- },
514
+ }
515
+ };
516
+ const outputFlags = {
517
+ ...formatFlags,
253
518
  full: {
254
519
  type: "boolean",
255
520
  description: "Return the full object (default: compact)"
256
521
  },
257
- fields: {
522
+ fields: listFlag({
258
523
  type: "string",
259
524
  description: "Dot-paths, comma separated (mutually exclusive with --full)"
260
- },
525
+ }),
261
526
  maxBytes: {
262
527
  type: "string",
263
528
  description: "Output size cap; 0 disables",
@@ -309,50 +574,32 @@ const connectionFlags = {
309
574
  };
310
575
  //#endregion
311
576
  //#region src/commands/global-flags.ts
312
- const ARGUMENT_SEPARATOR = "--";
313
- const NEGATION_PREFIX = "no-";
314
- const GLOBAL_FLAG_ARGS = {
577
+ const GLOBAL_FLAG_SPELLINGS = flagSpellings({
315
578
  ...outputFlags,
316
579
  ...listFlags,
317
580
  ...profileFlag,
318
581
  ...connectionFlags
319
- };
320
- const GLOBAL_FLAG_NAMES = buildGlobalFlagNames();
321
- function buildGlobalFlagNames() {
322
- const names = /* @__PURE__ */ new Set();
323
- for (const [key, def] of Object.entries(GLOBAL_FLAG_ARGS)) {
324
- names.add(normalizeFlag(key));
325
- if ("alias" in def) for (const alias of toAliasArray(def.alias)) names.add(normalizeFlag(alias));
326
- }
327
- return names;
328
- }
329
- function isGlobalFlag(token) {
330
- if (!token.startsWith("-") || token === ARGUMENT_SEPARATOR) return false;
331
- const raw = token.includes("=") ? token.slice(0, token.indexOf("=")) : token;
332
- const name = normalizeFlag(raw);
333
- if (GLOBAL_FLAG_NAMES.has(name)) return true;
334
- const bare = raw.replace(/^-+/, "");
335
- if (bare.startsWith(NEGATION_PREFIX)) return GLOBAL_FLAG_NAMES.has(normalizeFlag(bare.slice(3)));
336
- return false;
337
- }
582
+ });
338
583
  function hoistGlobalFlags(rawArgs) {
339
- const leading = [];
340
- let index = 0;
341
- while (index < rawArgs.length) {
342
- const token = rawArgs[index];
343
- if (token === void 0 || !isGlobalFlag(token)) break;
344
- leading.push(token);
345
- index += 1;
346
- if (flagConsumesValue(token, GLOBAL_FLAG_ARGS) && index < rawArgs.length) {
347
- const value = rawArgs[index];
348
- if (value !== void 0) {
349
- leading.push(value);
350
- index += 1;
351
- }
352
- }
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;
353
601
  }
354
- if (leading.length === 0) return [...rawArgs];
355
- return [...rawArgs.slice(index), ...leading];
602
+ return end;
356
603
  }
357
604
  //#endregion
358
605
  //#region src/core/system-ca.ts
@@ -367,7 +614,7 @@ function trustSystemCa() {
367
614
  //#endregion
368
615
  //#region package.json
369
616
  var name = "@metabase/cli";
370
- var version = "0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a";
617
+ var version = "0.4.0";
371
618
  var description = "Metabase CLI";
372
619
  //#endregion
373
620
  //#region src/runtime/command-augment.ts
@@ -387,37 +634,38 @@ const main = defineCommand({
387
634
  description
388
635
  },
389
636
  subCommands: {
390
- auth: () => import("./auth-A96JOCQx.mjs").then((mod) => mod.default),
391
- db: () => import("./db-BDijt81U.mjs").then((mod) => mod.default),
392
- table: () => import("./table-I8NXSdUC.mjs").then((mod) => mod.default),
393
- field: () => import("./field-BJ6HoLRd.mjs").then((mod) => mod.default),
394
- upload: () => import("./upload-2YFFBSln.mjs").then((mod) => mod.default),
395
- "content-translation": () => import("./content-translation-BXIXL4eW.mjs").then((mod) => mod.default),
396
- card: () => import("./card-CefVYtF7.mjs").then((mod) => mod.default),
397
- dashboard: () => import("./dashboard-CMw13KXM.mjs").then((mod) => mod.default),
398
- subscription: () => import("./subscription-DKOKoHRG.mjs").then((mod) => mod.default),
399
- alert: () => import("./alert-Dalin_DD.mjs").then((mod) => mod.default),
400
- collection: () => import("./collection-Be5AHVWP.mjs").then((mod) => mod.default),
401
- library: () => import("./library-BNSxXOpc.mjs").then((mod) => mod.default),
402
- document: () => import("./document-BGzVip5_.mjs").then((mod) => mod.default),
403
- transform: () => import("./transform-BNuNiH9d.mjs").then((mod) => mod.default),
404
- "transform-job": () => import("./transform-job-B7yc6dfH.mjs").then((mod) => mod.default),
405
- "transform-tag": () => import("./transform-tag-D6NXqWaX.mjs").then((mod) => mod.default),
406
- "transform-test": () => import("./transform-test-C1Oqtfb-.mjs").then((mod) => mod.default),
407
- setting: () => import("./setting-DrJXCaFE.mjs").then((mod) => mod.default),
408
- search: () => import("./search-CR_xNArA.mjs").then((mod) => mod.default),
409
- "git-sync": () => import("./git-sync-xKC1sqC4.mjs").then((mod) => mod.default),
410
- setup: () => import("./setup-BWY9M0iR.mjs").then((mod) => mod.default),
411
- snippet: () => import("./snippet-DWHTSo9c.mjs").then((mod) => mod.default),
412
- segment: () => import("./segment-Cm6zQjJW.mjs").then((mod) => mod.default),
413
- measure: () => import("./measure-Ds8O5Evr.mjs").then((mod) => mod.default),
414
- timeline: () => import("./timeline-B_ESH-6W.mjs").then((mod) => mod.default),
415
- "timeline-event": () => import("./timeline-event-n4Lzet7l.mjs").then((mod) => mod.default),
416
- eid: () => import("./eid-HnrWhPoe.mjs").then((mod) => mod.default),
417
- query: () => import("./query-CxESKMve.mjs").then((mod) => mod.default),
418
- uuid: () => import("./uuid-InwZlrpQ.mjs").then((mod) => mod.default),
419
- upgrade: () => import("./upgrade-CuJx9fX4.mjs").then((mod) => mod.default),
420
- skills: () => import("./skills-DPRN2384.mjs").then((mod) => mod.default)
637
+ auth: () => import("./auth-DdLhXCn-.mjs").then((mod) => mod.default),
638
+ db: () => import("./db-BFSeETMO.mjs").then((mod) => mod.default),
639
+ table: () => import("./table-CZnT6d9x.mjs").then((mod) => mod.default),
640
+ field: () => import("./field-BARgq5I9.mjs").then((mod) => mod.default),
641
+ upload: () => import("./upload-BKxOpSz3.mjs").then((mod) => mod.default),
642
+ "content-translation": () => import("./content-translation-C19SqZWp.mjs").then((mod) => mod.default),
643
+ card: () => import("./card-CFd-GUEM.mjs").then((mod) => mod.default),
644
+ dashboard: () => import("./dashboard-AWrXqQ7a.mjs").then((mod) => mod.default),
645
+ subscription: () => import("./subscription-Dr-YHARg.mjs").then((mod) => mod.default),
646
+ alert: () => import("./alert-Dt6La9tK.mjs").then((mod) => mod.default),
647
+ collection: () => import("./collection-BKNShKcY.mjs").then((mod) => mod.default),
648
+ library: () => import("./library-B7wDH-Nc.mjs").then((mod) => mod.default),
649
+ document: () => import("./document-BRaba87v.mjs").then((mod) => mod.default),
650
+ glossary: () => import("./glossary-CWIX8Zh6.mjs").then((mod) => mod.default),
651
+ transform: () => import("./transform-g4-HHzDp.mjs").then((mod) => mod.default),
652
+ "transform-job": () => import("./transform-job-DqBtnTrG.mjs").then((mod) => mod.default),
653
+ "transform-tag": () => import("./transform-tag-nTb0Ivpj.mjs").then((mod) => mod.default),
654
+ setting: () => import("./setting-CPkvkc4H.mjs").then((mod) => mod.default),
655
+ search: () => import("./search-BrQQuNmh.mjs").then((mod) => mod.default),
656
+ "git-sync": () => import("./git-sync-DKcaddkV.mjs").then((mod) => mod.default),
657
+ setup: () => import("./setup-Be3xDXHi.mjs").then((mod) => mod.default),
658
+ snippet: () => import("./snippet-QirK70R_.mjs").then((mod) => mod.default),
659
+ segment: () => import("./segment-Bi6eqj3e.mjs").then((mod) => mod.default),
660
+ measure: () => import("./measure-D2qq5e8f.mjs").then((mod) => mod.default),
661
+ dependency: () => import("./dependency-DBUJwXqv.mjs").then((mod) => mod.default),
662
+ timeline: () => import("./timeline-CUzx6uXi.mjs").then((mod) => mod.default),
663
+ "timeline-event": () => import("./timeline-event-DpNm4dkn.mjs").then((mod) => mod.default),
664
+ eid: () => import("./eid-Dz-mP40j.mjs").then((mod) => mod.default),
665
+ query: () => import("./query-BJXTIDhy.mjs").then((mod) => mod.default),
666
+ uuid: () => import("./uuid-Blpv_e0S.mjs").then((mod) => mod.default),
667
+ upgrade: () => import("./upgrade-Tj_reACv.mjs").then((mod) => mod.default),
668
+ skills: () => import("./skills-DyiLycMY.mjs").then((mod) => mod.default)
421
669
  }
422
670
  });
423
671
  setMetabaseAugment(main, {
@@ -590,6 +838,18 @@ function jsonByteLength(value) {
590
838
  function isPlainObject(value) {
591
839
  return typeof value === "object" && value !== null && !Array.isArray(value);
592
840
  }
841
+ const JAVA_WHITESPACE = " \n\v\f\r            \u2028\u2029  ";
842
+ const UNICODE_ESCAPE_DIGITS = 4;
843
+ function unicodeEscape(char) {
844
+ return `\\u${char.charCodeAt(0).toString(16).padStart(UNICODE_ESCAPE_DIGITS, "0")}`;
845
+ }
846
+ const JAVA_WHITESPACE_ESCAPED = [...JAVA_WHITESPACE].map(unicodeEscape).join("");
847
+ /** Matches a string Metabase reads as not blank: one holding a character that is not Java whitespace. */
848
+ const NOT_BLANK = new RegExp(`[^${JAVA_WHITESPACE_ESCAPED}]`);
849
+ /** Whether Metabase reads `value` as blank: empty, or Java whitespace only. */
850
+ function isBlank(value) {
851
+ return !NOT_BLANK.test(value);
852
+ }
593
853
  //#endregion
594
854
  //#region src/output/projection.ts
595
855
  function projectForList(item, view, opts) {
@@ -682,7 +942,7 @@ function renderRows(head, rows) {
682
942
  return table.toString();
683
943
  }
684
944
  function formatCell(row, column) {
685
- const value = row[column.key];
945
+ const value = column.value === void 0 ? row[column.key] : column.value(row);
686
946
  if (column.format !== void 0) return column.format(value);
687
947
  return formatScalar(value);
688
948
  }
@@ -825,7 +1085,6 @@ function exitCodeFor(category) {
825
1085
  case "response-shape":
826
1086
  case "timeout":
827
1087
  case "internal":
828
- case "failed":
829
1088
  case "unknown": return FAILURE_EXIT_CODE;
830
1089
  }
831
1090
  }
@@ -891,6 +1150,11 @@ const FEATURE_RULES = {
891
1150
  since: 63,
892
1151
  tokenFeature: "remote_sync"
893
1152
  },
1153
+ remoteSyncBranchGuard: { since: 63 },
1154
+ remoteSyncMerge: {
1155
+ since: 63,
1156
+ tokenFeature: "remote_sync"
1157
+ },
894
1158
  contentTranslation: {
895
1159
  since: 58,
896
1160
  tokenFeature: "content_translation"
@@ -907,6 +1171,10 @@ const FEATURE_RULES = {
907
1171
  transformJobRunIdIsNumeric: { since: 64 },
908
1172
  transformCheckpointReset: { since: 60 },
909
1173
  fieldDataSensitivity: { since: 64 },
1174
+ fieldRemappingAppendsDisplayColumns: {
1175
+ since: 58,
1176
+ until: 59
1177
+ },
910
1178
  transformDagRuns: { since: 64 },
911
1179
  unifiedTransformRuns: { since: 64 },
912
1180
  transformTests: {
@@ -918,6 +1186,10 @@ const FEATURE_RULES = {
918
1186
  invalidMbqlIsBadRequest: { since: 59 },
919
1187
  boxplotDisplay: { since: 59 },
920
1188
  nativeTableTemplateTag: { since: 59 },
1189
+ compiledQueryOmitsCollection: {
1190
+ since: 59,
1191
+ until: 62
1192
+ },
921
1193
  smartLinkMeasureModel: { since: 60 },
922
1194
  dashboardSubscriptionFilters: {
923
1195
  since: 58,
@@ -931,15 +1203,22 @@ const FEATURE_RULES = {
931
1203
  since: 59,
932
1204
  tokenFeature: "dependencies"
933
1205
  },
934
- dependencyKebabCaseFilters: { since: 60 },
1206
+ dependencyAsyncBackfill: {
1207
+ since: 60,
1208
+ tokenFeature: "dependencies"
1209
+ },
1210
+ measureDependencyGraph: { since: 59 },
935
1211
  tableListAccessFilters: { since: 59 },
936
1212
  tableListTransformTargets: { since: 60 },
1213
+ tableListPublishedFilter: { since: 63 },
937
1214
  tableUnusedFilter: {
938
1215
  since: 58,
939
1216
  tokenFeature: "dependencies"
940
1217
  },
941
1218
  tableDataLayerTiers: { since: 59 },
942
1219
  bulkTableEdit: { since: 59 },
1220
+ tableUserValueWithdrawal: { since: 64 },
1221
+ bulkTableSync: { since: 59 },
943
1222
  erd: {
944
1223
  since: 62,
945
1224
  tokenFeature: "schema-viewer"
@@ -963,7 +1242,8 @@ const FEATURE_RULES = {
963
1242
  },
964
1243
  metricDefinitionQuery: { since: 60 },
965
1244
  metricDimensionListing: { since: 64 },
966
- oauthFullAccessScope: { since: 63 }
1245
+ oauthFullAccessScope: { since: 63 },
1246
+ exportCsvByteOrderMark: { since: 63 }
967
1247
  };
968
1248
  function isFeatureName(name) {
969
1249
  return Object.hasOwn(FEATURE_RULES, name);
@@ -1001,7 +1281,6 @@ const METHOD_REQUIREMENTS = {
1001
1281
  "card.exportQuery": [],
1002
1282
  "card.queryMetadata": [],
1003
1283
  "collection.list": [],
1004
- "collection.listWithLibrary": [],
1005
1284
  "collection.get": [],
1006
1285
  "collection.create": [],
1007
1286
  "collection.update": [],
@@ -1045,6 +1324,7 @@ const METHOD_REQUIREMENTS = {
1045
1324
  "erd.get": ["erd"],
1046
1325
  "field.get": [],
1047
1326
  "field.update": [],
1327
+ "field.setDataSensitivity": ["fieldDataSensitivity"],
1048
1328
  "field.search": [],
1049
1329
  "field.remapping": [],
1050
1330
  "field.summary": [],
@@ -1064,6 +1344,7 @@ const METHOD_REQUIREMENTS = {
1064
1344
  "gitSync.syncedCollections": ["remoteSync"],
1065
1345
  "gitSync.remoteUrl": [],
1066
1346
  "gitSync.branch": [],
1347
+ "gitSync.trackedBranch": [],
1067
1348
  "gitSync.waitForTask": ["remoteSync"],
1068
1349
  "glossary.list": [],
1069
1350
  "glossary.create": [],
@@ -1127,7 +1408,11 @@ const METHOD_REQUIREMENTS = {
1127
1408
  "table.fks": [],
1128
1409
  "table.syncSchema": [],
1129
1410
  "table.rescanValues": [],
1411
+ "table.discardValues": [],
1130
1412
  "table.bulkEdit": ["bulkTableEdit"],
1413
+ "table.bulkSyncSchema": ["bulkTableSync"],
1414
+ "table.bulkRescanValues": ["bulkTableSync"],
1415
+ "table.bulkDiscardValues": ["bulkTableSync"],
1131
1416
  "table.appendCsv": [],
1132
1417
  "table.replaceCsv": [],
1133
1418
  "timeline.list": [],
@@ -1464,7 +1749,9 @@ async function walkCommandPath(root, rawArgs) {
1464
1749
  const match = await findSubCommand(subCommands, token);
1465
1750
  if (match === null) return {
1466
1751
  segments,
1467
- unknownToken: token
1752
+ unknownToken: token,
1753
+ command: current,
1754
+ argsStart: index
1468
1755
  };
1469
1756
  segments.push(match.name);
1470
1757
  current = match.command;
@@ -1472,7 +1759,17 @@ async function walkCommandPath(root, rawArgs) {
1472
1759
  }
1473
1760
  return {
1474
1761
  segments,
1475
- unknownToken: null
1762
+ unknownToken: null,
1763
+ command: current,
1764
+ argsStart: index
1765
+ };
1766
+ }
1767
+ async function resolveLeafArgv(root, rawArgs) {
1768
+ const path = await walkCommandPath(root, rawArgs);
1769
+ if (path.unknownToken !== null || await resolveCitty(path.command.subCommands) !== void 0) return null;
1770
+ return {
1771
+ argsDef: await resolveCitty(path.command.args) ?? {},
1772
+ argsStart: path.argsStart
1476
1773
  };
1477
1774
  }
1478
1775
  async function resolveBreadcrumb(root, rawArgs) {
@@ -1483,16 +1780,11 @@ async function findUnknownCommand(root, rawArgs) {
1483
1780
  return (await walkCommandPath(root, rawArgs)).unknownToken;
1484
1781
  }
1485
1782
  function skipFlags(rawArgs, start, argsDef) {
1486
- let index = start;
1487
- while (index < rawArgs.length) {
1488
- const token = rawArgs[index];
1489
- if (token === void 0) return index;
1490
- if (token === "--") return rawArgs.length;
1491
- if (!token.startsWith("-")) return index;
1492
- if (flagConsumesValue(token, argsDef)) index += 1;
1493
- index += 1;
1783
+ for (const item of readArgv(rawArgs, flagSpellings(argsDef), start)) {
1784
+ if (item.kind === "positional") return item.index;
1785
+ if (item.kind === "separator") return rawArgs.length;
1494
1786
  }
1495
- return index;
1787
+ return rawArgs.length;
1496
1788
  }
1497
1789
  async function findSubCommand(subCommands, token) {
1498
1790
  const direct = subCommands[token];
@@ -1542,7 +1834,7 @@ const JSON_HELP_FLAG = "--json";
1542
1834
  async function run() {
1543
1835
  installInterruptHandler((code) => process.exit(code));
1544
1836
  trustSystemCa();
1545
- const rawArgs = hoistGlobalFlags(process.argv.slice(2));
1837
+ const rawArgs = await normalizeArgv(process.argv.slice(2));
1546
1838
  const wantsJsonHelp = rawArgs.includes(JSON_HELP_FLAG);
1547
1839
  const showUsageWithBreadcrumb = async (cmd, parent) => {
1548
1840
  const breadcrumb = await resolveBreadcrumb(main, rawArgs);
@@ -1568,8 +1860,15 @@ async function run() {
1568
1860
  rawArgs
1569
1861
  });
1570
1862
  }
1863
+ async function normalizeArgv(argv) {
1864
+ const hoisted = hoistGlobalFlags(argv);
1865
+ const leaf = await resolveLeafArgv(main, hoisted);
1866
+ if (leaf === null) return hoisted;
1867
+ const leafArgs = separatePositionals(hoisted.slice(leaf.argsStart), leaf.argsDef);
1868
+ return [...hoisted.slice(0, leaf.argsStart), ...leafArgs];
1869
+ }
1571
1870
  run().catch((error) => {
1572
1871
  reportError(error);
1573
1872
  });
1574
1873
  //#endregion
1575
- export { FailedResultError 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, UnknownError as at, isPlainObject as b, ruleGap as c, isFileNotFoundError as ct, renderList as d, InternalError as et, renderListWithExtras as f, MALFORMED_CELL as g, writeText as h, FEATURE_RULES as i, TimeoutError as it, ENV_SKIP_PREFLIGHT as j, ENV_PROFILE as k, reportError as l, KNOWN_RANGE as lt, writeJson as m, methodRequirements as n, NetworkError as nt, evaluateFeatures as o, ValidationError as ot, renderSummary as p, flagConsumesValue as q, FEATURE_NAMES as r, ResponseShapeError as rt, isFeatureName as s, errorMessage as st, interruptSignal as t, MetabaseError as tt, renderItem as u, escapeJsonPointerSegment as ut, renderRows as v, promptText as w, promptConfirm as x, projectForList as y, connectionFlags as z };
1874
+ 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 };