@metabase/cli 0.5.3 → 0.5.5
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.
- package/dist/{add-collection-c1dfnavz.mjs → add-collection-lgBkahhW.mjs} +3 -3
- package/dist/{alert-BkpPdBQ_.mjs → alert-32mfYFy1.mjs} +7 -7
- package/dist/{alerts-TDYiIxjs.mjs → alerts-DWVmtHEJ.mjs} +6 -6
- package/dist/api-key-DJfhPe4x.mjs +13 -0
- package/dist/{append-CoeZRD6u.mjs → append-CdzKyHhn.mjs} +4 -4
- package/dist/{archive-DZDkfhdH.mjs → archive-24zg3Ckb.mjs} +5 -5
- package/dist/{archive-DY76wU2k.mjs → archive-B3_fjvid.mjs} +3 -3
- package/dist/{archive-N3lp1o-k.mjs → archive-B4G4EE9n.mjs} +5 -5
- package/dist/{archive-D-BJwRLc.mjs → archive-BTxrM_x2.mjs} +5 -5
- package/dist/{archive-DQRehboT.mjs → archive-BZxa5zJk.mjs} +5 -5
- package/dist/{archive-CH1h8jz5.mjs → archive-BmutUzPS.mjs} +5 -5
- package/dist/{archive-DxUnaV4x.mjs → archive-CHQOH-nm.mjs} +3 -3
- package/dist/{archive-CAJHrKwd.mjs → archive-DEOq8OqU.mjs} +5 -5
- package/dist/{archive-NfFWXRx5.mjs → archive-DOXrtANg.mjs} +5 -5
- package/dist/{archive-f7wKQ7Uy.mjs → archive-DbaGJh7E.mjs} +3 -3
- package/dist/{archive-9uzfWGuq.mjs → archive-NhewLr23.mjs} +5 -5
- package/dist/{archive-3fdIvMsf.mjs → archive-Uws1E_p8.mjs} +5 -5
- package/dist/{auth-hgkvHPpH.mjs → auth-bVvBp9Tl.mjs} +5 -5
- package/dist/{branch-flag-CPTQ4wXp.mjs → branch-flag-BvIdNB5z.mjs} +1 -1
- package/dist/{branches-B3gHAanU.mjs → branches-CkOAJk1H.mjs} +3 -3
- package/dist/{breaking-DuWIof4T.mjs → breaking-CMpEeieT.mjs} +6 -6
- package/dist/{broken-D2ST8sTx.mjs → broken-DFFLXiYc.mjs} +8 -8
- package/dist/{bulk-discard-values-77khEfpj.mjs → bulk-discard-values-D4eFBtKc.mjs} +5 -5
- package/dist/{bulk-edit-girwcjY6.mjs → bulk-edit-CLJeGY2E.mjs} +7 -7
- package/dist/{bulk-rescan-values-Df8KK8um.mjs → bulk-rescan-values-DsaGKIo_.mjs} +5 -5
- package/dist/{bulk-sync-schema-DEPUZ6MN.mjs → bulk-sync-schema-CN797vy9.mjs} +5 -5
- package/dist/{cancel-Oek5PJnu.mjs → cancel-CRpzqIUu.mjs} +3 -3
- package/dist/{cancel-task-rkqY0qLU.mjs → cancel-task-CpZcj7HB.mjs} +2 -2
- package/dist/{card-QR3zEu6E.mjs → card-BJRZ5D5Q.mjs} +2 -2
- package/dist/{card-3NmUiU5F.mjs → card-VipF12MJ.mjs} +1 -1
- package/dist/card-nOX_QJ9u.mjs +25 -0
- package/dist/{cards-DWJOtZoN.mjs → cards-DJMTrFQg.mjs} +6 -6
- package/dist/cli.mjs +128 -294
- package/dist/{client-BFP2Ssqu.mjs → client-D2ycdMRO.mjs} +299 -189
- package/dist/{collection-D5vt2IJ_.mjs → collection-Bf3lv-zo.mjs} +1 -1
- package/dist/collection-Cs84x7WB.mjs +21 -0
- package/dist/{collection-DNmFKALA.mjs → collection-Cz2qLX2m.mjs} +1 -1
- package/dist/{collection-namespace-Dl8_7xII.mjs → collection-namespace-C0JcSEwN.mjs} +2 -1
- package/dist/{content-translation-B3oARbgD.mjs → content-translation-7qPz-dIU.mjs} +3 -3
- package/dist/{copy-C7Rc4qM7.mjs → copy-BeFjqXXc.mjs} +6 -6
- package/dist/{copy-BzBp5FaY.mjs → copy-D9-xBYYq.mjs} +6 -6
- package/dist/{copy-flags-CTM91pxH.mjs → copy-flags-DZ5Cy-Gk.mjs} +2 -2
- package/dist/{create-YBDXZgyP.mjs → create--eZb0G2P.mjs} +4 -5
- package/dist/{create-f0bBEfDI.mjs → create-B57Sj0om.mjs} +9 -10
- package/dist/{create-Bh3q3eHg.mjs → create-Ba8nYAWL.mjs} +9 -9
- package/dist/{create-CjGEkSFz.mjs → create-BfgTvPvI.mjs} +9 -10
- package/dist/{create-C-2ivjed.mjs → create-BlYxQv6U.mjs} +4 -5
- package/dist/{create-DQJ9h86G.mjs → create-CLQVeQ0w.mjs} +4 -5
- package/dist/{create-CGxxztoE.mjs → create-Cc07ouKB.mjs} +6 -7
- package/dist/{create-C0gmhNnk.mjs → create-CplN1ey8.mjs} +9 -10
- package/dist/{create-myJ8HR4B.mjs → create-D4FT8Xj8.mjs} +6 -7
- package/dist/{create-BKRD11i-.mjs → create-DBCOYtqn.mjs} +4 -4
- package/dist/{create-CfXKNnkK.mjs → create-DBSpDnaA.mjs} +6 -7
- package/dist/{create-ByeGK_BE.mjs → create-DHTl3wVv.mjs} +4 -5
- package/dist/{create-DO4ic4Kx.mjs → create-DIZGUCFE.mjs} +7 -8
- package/dist/{create-CGE1D0Ay.mjs → create-DJ0Xrpod.mjs} +6 -7
- package/dist/{create-Bc4ADRmU.mjs → create-Dj5y7xbA.mjs} +4 -5
- package/dist/{create-vgP9K2eH2.mjs → create-Dr-q5oWx2.mjs} +10 -11
- package/dist/{create-YIC3Q0a-.mjs → create-Dt6gdbAH.mjs} +7 -7
- package/dist/{create-branch-DBCBMDWh.mjs → create-branch-CKQkpU-_.mjs} +3 -2
- package/dist/{create-C3H9ljex.mjs → create-cpxnjNMC.mjs} +4 -5
- package/dist/{create-_rOCx5b8.mjs → create-n5cH8Tq-.mjs} +5 -6
- package/dist/{create-71_DODbc.mjs → create-ypwRxrcj.mjs} +9 -10
- package/dist/{csv-Dtgy7sTg.mjs → csv-CxWsxJIB.mjs} +4 -4
- package/dist/{current-task-AwQisIT9.mjs → current-task-DB7UTh6J.mjs} +3 -3
- package/dist/{dashboard-D5E3fMKh.mjs → dashboard-Bx2sYijR.mjs} +1 -1
- package/dist/{dashboard-Chjy5GKR.mjs → dashboard-Cwsf-e9T.mjs} +23 -6
- package/dist/dashboard-DeSaOt2Z.mjs +35 -0
- package/dist/{data-action-DZxVB_hD.mjs → data-action-CuvI17XF.mjs} +8 -2
- package/dist/{data-action-R9qxJDPA.mjs → data-action-DLj9cgpu.mjs} +1 -1
- package/dist/data-action-Dpt7pfzd.mjs +24 -0
- package/dist/{data-app-BIAvvV2P.mjs → data-app--T695WPM.mjs} +10 -10
- package/dist/{data-app-project-BL4xpu_m.mjs → data-app-project-DjDDWgUF.mjs} +2 -1
- package/dist/{database-CxykzTAA.mjs → database-C5ucihp3.mjs} +2 -2
- package/dist/{database-D8XzgJEz.mjs → database-u_spHEa0.mjs} +1 -1
- package/dist/{dataset-DIQLAp2P.mjs → dataset-LJxNN6p5.mjs} +3 -3
- package/dist/{db-wsSYKqCB.mjs → db-CpK3QluZ.mjs} +8 -8
- package/dist/{delete-E-g5b-HU.mjs → delete-9YIc_L2E.mjs} +4 -4
- package/dist/{delete-WrV9I9uw.mjs → delete-AwOJ1x-D.mjs} +4 -4
- package/dist/{delete-D9FB7qjX.mjs → delete-B9GABYEJ.mjs} +4 -4
- package/dist/{delete-4v4_lDwD.mjs → delete-Bw8CMa_A.mjs} +4 -4
- package/dist/{delete-BSgxmR3y.mjs → delete-CE19WUPi.mjs} +4 -4
- package/dist/{delete-BegkpIGi.mjs → delete-CUzOTiI8.mjs} +4 -4
- package/dist/{delete-BP9-YS-f.mjs → delete-D784J3ur.mjs} +4 -4
- package/dist/{delete-BHX_F8Qu.mjs → delete-DbAOgu73.mjs} +4 -4
- package/dist/{delete-DmM5L0wO.mjs → delete-TcDfZNz2.mjs} +4 -4
- package/dist/{delete-runtime-CJ7gMYA1.mjs → delete-runtime-DOOy3gzH.mjs} +2 -1
- package/dist/{delete-table-CJq8JM5J.mjs → delete-table-a8acciQe.mjs} +4 -4
- package/dist/{delete-wnHUWWjX.mjs → delete-trx8NIoh.mjs} +4 -4
- package/dist/{dependencies-CnW3RSoZ.mjs → dependencies-BcPdAMYB.mjs} +6 -6
- package/dist/{dependency-CaC6XuTY.mjs → dependency-C1DExO6k.mjs} +8 -5
- package/dist/{dependency-Dxvb2Znu.mjs → dependency-DcM96XJ-.mjs} +4 -3
- package/dist/dependency-_SgcW_fL.mjs +15 -0
- package/dist/{dependents-DHXqJ3lo.mjs → dependents-CRZaiOzg.mjs} +9 -9
- package/dist/{dirty-BRPWPUYH.mjs → dirty-1taTj3G6.mjs} +3 -3
- package/dist/{discard-values-DBHfVN8o.mjs → discard-values-DmiWAx4J.mjs} +5 -5
- package/dist/{document-UMG6me2P.mjs → document-BHOQq2T_.mjs} +2 -2
- package/dist/document-DB6YGtqX.mjs +20 -0
- package/dist/{document-DVIu3Vj4.mjs → document-lS1XZEF3.mjs} +1 -1
- package/dist/{download-BFu9xYHX.mjs → download-CEvVDGeC.mjs} +2 -2
- package/dist/{eid-eKmbXRds.mjs → eid-pO_lMTI9.mjs} +5 -5
- package/dist/{entity-DjDkaMkB.mjs → entity-DICgy4Bl.mjs} +2 -2
- package/dist/{entry-flags-Cxn09krz.mjs → entry-flags-CswcY8bG.mjs} +5 -6
- package/dist/{events-CZL9MU64.mjs → events-cGDPEL5_.mjs} +4 -4
- package/dist/{execute-DBJGtHHG.mjs → execute-DHGbJpPr.mjs} +7 -8
- package/dist/{export-xn_-NaBd.mjs → export-B0NUSP6q.mjs} +6 -5
- package/dist/{export-flags-CpukgETM.mjs → export-flags-iXfEILf7.mjs} +3 -2
- package/dist/{export-preflight-SM9zJkBp.mjs → export-preflight-Bbl1bHpI.mjs} +3 -3
- package/dist/field-AkNMIQnx.mjs +21 -0
- package/dist/{field-DoWQUl7V.mjs → field-C2qOViFZ.mjs} +8 -2
- package/dist/{field-BVz4AS3f.mjs → field-CT4r6b92.mjs} +1 -1
- package/dist/{fields-CB06GFBW.mjs → fields-M66PaKdV.mjs} +6 -6
- package/dist/{filter-flags-DhE4olyf.mjs → filter-flags-ezqqsOQL.mjs} +4 -4
- package/dist/{fks-CSoS7xZ6.mjs → fks-BvOGzID5.mjs} +6 -6
- package/dist/{get-BZFyqZXa.mjs → get-0T9zeyCh.mjs} +5 -5
- package/dist/{get-BSPxmP_W.mjs → get-B3Ceh_7N.mjs} +5 -5
- package/dist/{get-BW3jSR3y.mjs → get-BL_9fN-q.mjs} +3 -3
- package/dist/{get-Bt4C-oxh.mjs → get-Bt2Q516N.mjs} +5 -5
- package/dist/{get--1qTpTIQ.mjs → get-BzIQK_mt.mjs} +5 -5
- package/dist/{get-BQ7SAJEz.mjs → get-C3j93ivl.mjs} +3 -3
- package/dist/{get-DIfjxTP8.mjs → get-CCLnfOOE.mjs} +3 -3
- package/dist/{get-CtDZOoWy.mjs → get-CEreA2oN.mjs} +5 -5
- package/dist/{get-jbOgdCQg.mjs → get-CJFg7YM5.mjs} +3 -3
- package/dist/{get-Cl-O6dFs.mjs → get-Cfg52y7X.mjs} +4 -4
- package/dist/{get-eZEHipwA.mjs → get-D-8G7EoL.mjs} +5 -5
- package/dist/{get-BYAzIaGG.mjs → get-D-ElxFlQ.mjs} +5 -5
- package/dist/{get-Bq_9VSTa.mjs → get-D7y_z5K7.mjs} +3 -3
- package/dist/{get-DePbMmjc.mjs → get-DGlZtzfB.mjs} +5 -5
- package/dist/{get-C1rCVUYw.mjs → get-DKZLwN3K.mjs} +6 -5
- package/dist/{get-BIf6eFWZ.mjs → get-HtzPLpy2.mjs} +5 -5
- package/dist/{get-B8xQXMU6.mjs → get-SOCVdBIU.mjs} +5 -5
- package/dist/{get-BZDUOZxI.mjs → get-ZSLfDowg.mjs} +3 -3
- package/dist/{get-B8xrmipw.mjs → get-jzChrvn2.mjs} +5 -5
- package/dist/{get-run-C-CNDbv3.mjs → get-run-BZP_z57v.mjs} +5 -5
- package/dist/{get-CuSwArMS.mjs → get-uB7jROcz.mjs} +5 -5
- package/dist/{get-BfFZCiZR.mjs → get-wPkejadn.mjs} +5 -5
- package/dist/{get-Cc4-e-Q_.mjs → get-zGreQNnG.mjs} +5 -5
- package/dist/git-sync-DaHnqpYi.mjs +29 -0
- package/dist/glossary-Br_mSh3i.mjs +14 -0
- package/dist/{glossary-BkGmCI4X.mjs → glossary-CQRW3Z4d.mjs} +1 -1
- package/dist/{glossary-QN-hHfOT.mjs → glossary-iPIWrEbP.mjs} +1 -1
- package/dist/{graph-CqBe2J4N.mjs → graph-CdKi07zZ.mjs} +6 -6
- package/dist/{group-81zoQcEP.mjs → group--6adAsqG.mjs} +2 -2
- package/dist/{has-remote-changes-CDe1teSb.mjs → has-remote-changes-d_JyzdPX.mjs} +2 -2
- package/dist/{import-B64gjryF.mjs → import-1bK-qrjV.mjs} +6 -5
- package/dist/input-gate-registry-Dh8QjKgW.mjs +14 -0
- package/dist/{is-dirty-DhR3Xqjk.mjs → is-dirty-BXwvuTeD.mjs} +2 -2
- package/dist/{items-CLl2QgS8.mjs → items-Dzh_xylQ.mjs} +7 -6
- package/dist/{key-BYEv4Wgq.mjs → key-DLrpCgdZ.mjs} +1 -1
- package/dist/{library-C3eO2J07.mjs → library-BA1QssFE.mjs} +5 -5
- package/dist/{library-wUiD2jbw.mjs → library-BprxuqZl.mjs} +1 -1
- package/dist/{library-DKIqzyUk.mjs → library-C4g9pdiS.mjs} +8 -3
- package/dist/{list-CdcFNphE.mjs → list-0TtkxraU.mjs} +3 -3
- package/dist/{list-YFwmHXGG.mjs → list-2doqGDIF.mjs} +3 -3
- package/dist/{list-DLLzMaS3.mjs → list-7qcWFDXR.mjs} +5 -5
- package/dist/{list-DyFu5Wx1.mjs → list-B5D3leO9.mjs} +6 -6
- package/dist/{list-CjpZCiks.mjs → list-B70w2ibG.mjs} +3 -3
- package/dist/{list-B7Yvz5vA.mjs → list-B75rzgSi.mjs} +5 -5
- package/dist/{list-BmvitCWZ.mjs → list-BWNw-ppI.mjs} +6 -6
- package/dist/{list-DyQNRVAf.mjs → list-BjpGurur.mjs} +3 -3
- package/dist/{list-DrIcKxXX.mjs → list-CdpEUPL-.mjs} +5 -5
- package/dist/{list-DpfOh8-5.mjs → list-CvQlMhrb.mjs} +4 -4
- package/dist/{list-DDPvxfhe.mjs → list-DDV5PylU.mjs} +6 -6
- package/dist/{list-BIqqh3A-.mjs → list-DHX7-8Ae.mjs} +5 -5
- package/dist/{list-BiSwl56L.mjs → list-DQNbHPNQ.mjs} +5 -5
- package/dist/{list-CFaJA317.mjs → list-DR9dswtK.mjs} +6 -6
- package/dist/{list-eGlqXJno.mjs → list-DSi8mf_F.mjs} +5 -5
- package/dist/{list-D4HNG282.mjs → list-D_SfsO_-.mjs} +5 -5
- package/dist/{list-CA939qkn.mjs → list-Dn5_L-85.mjs} +6 -6
- package/dist/{list-C7TFreS8.mjs → list-DuaFmOCz.mjs} +5 -5
- package/dist/{list-Cu6ET_yD.mjs → list-Dv3s_PIu.mjs} +5 -5
- package/dist/{list-s9_LlXCV.mjs → list-Dz2YVD7m.mjs} +3 -3
- package/dist/{list-DLwby7YA.mjs → list-TzuL_7GA.mjs} +5 -5
- package/dist/{list-C3GBocvB.mjs → list-_jHBfq0E.mjs} +5 -5
- package/dist/{list-D_IT8l9B.mjs → list-iFtmAfVv.mjs} +3 -3
- package/dist/{login-Bg7Z3jDy.mjs → login-LAFw5Xxu.mjs} +6 -5
- package/dist/{logout-CAmp7DcS.mjs → logout-CjYzDvLH.mjs} +3 -2
- package/dist/{measure-CtfjqJFP.mjs → measure-BMWrX1ca.mjs} +3 -1
- package/dist/{measure-C31HLp1C.mjs → measure-DgtOyIoD.mjs} +6 -6
- package/dist/{measure-4P0bOlZ3.mjs → measure-DqZG65of.mjs} +1 -1
- package/dist/{notification-DaA4bBHW.mjs → notification-B5yMuPmo.mjs} +6 -1
- package/dist/{notification-W2SVssyY.mjs → notification-BEJaEZS2.mjs} +2 -2
- package/dist/{parameter-DvRQMKd2.mjs → parameter-Bucz3cLJ.mjs} +1 -1
- package/dist/{parameter-values-3eHpqznI.mjs → parameter-values-CRwVLpRD.mjs} +6 -5
- package/dist/{parse-enum-DAcTzG1q.mjs → parse-enum-CEXPuN9H.mjs} +1 -1
- package/dist/{parse-id-5BZGQ9Vd.mjs → parse-id-EXZan40V.mjs} +1 -1
- package/dist/{parse-ref-ByXc-pls.mjs → parse-ref-D28NvwpR.mjs} +1 -1
- package/dist/{parse-text-FgX60vIg.mjs → parse-text-C4LYzIFa.mjs} +1 -1
- package/dist/{path-XwdHlC23.mjs → path-BA_GGcGN.mjs} +4 -4
- package/dist/{poll-CgtcJopL.mjs → poll-vxN__4cz.mjs} +2 -2
- package/dist/predicates-0C0TsWcJ.mjs +219 -0
- package/dist/{preflight-ChTKhB8Y.mjs → preflight-4iy2qzsh.mjs} +3 -2
- package/dist/{process-aqXm5QgC.mjs → process-BQC3mK2k.mjs} +1 -1
- package/dist/{publish-C2-pK0cf.mjs → publish--I94MMjp.mjs} +13 -6
- package/dist/{pulse-CC81N2_0.mjs → pulse-B2AmIWsO.mjs} +11 -4
- package/dist/{pulse-JPrq6NFP.mjs → pulse-CPSpum5U.mjs} +2 -2
- package/dist/{query-pmw23KkL.mjs → query-C8w04b4F.mjs} +7 -6
- package/dist/{query-DkaUzmMa.mjs → query-O1b4qIr4.mjs} +17 -29
- package/dist/{remapping-C3htTzJn.mjs → remapping-BdX4nj-U.mjs} +5 -5
- package/dist/{remove-collection-p_t9rUUX.mjs → remove-collection-dltKu8LO.mjs} +3 -3
- package/dist/{render-C50k8-jc.mjs → render-DK2j4BwQ.mjs} +3 -2
- package/dist/{replace-BQBuFJ1B.mjs → replace-BfO6UFZN.mjs} +4 -4
- package/dist/{requirement-check-CpiVuL0H.mjs → requirement-check-1fcffJj6.mjs} +2 -2
- package/dist/{rescan-values-DOqXJ3qH.mjs → rescan-values-0-c5Gqtx.mjs} +5 -5
- package/dist/{rescan-values-Ctq8wpkI.mjs → rescan-values-7bbNa7WZ.mjs} +5 -5
- package/dist/{run-CtMbObQI.mjs → run-5b123gPi.mjs} +5 -4
- package/dist/{run-2xgPRuKR.mjs → run-BS_wUAsi.mjs} +6 -5
- package/dist/{run-Dn3e8G4x.mjs → run-Cf1nJahe.mjs} +4 -4
- package/dist/{runs-CgNoQW6M.mjs → runs-BJ4uy05c.mjs} +6 -6
- package/dist/{runtime-Y4VFWmmr.mjs → runtime-D5yfliIq.mjs} +51 -9
- package/dist/{scaffold-BuL0_ptz.mjs → scaffold-aUy3Ik4q.mjs} +4 -4
- package/dist/schema-Ds_j3N1I.mjs +283 -0
- package/dist/{schema-tables-BdXuo_lG.mjs → schema-tables-BuFF9Psy.mjs} +6 -6
- package/dist/{schemas-Dap3KFwY.mjs → schemas-DaDsur6B.mjs} +4 -4
- package/dist/{search-Dxcejw_v.mjs → search-BcJgmPU3.mjs} +6 -5
- package/dist/{search-DUmFK5Sy.mjs → search-CTZzUd_j.mjs} +7 -6
- package/dist/{segment-C_gl5ag6.mjs → segment-CWVASaM1.mjs} +1 -1
- package/dist/{segment-OsrbUDzw.mjs → segment-Cf-DrdjE.mjs} +3 -1
- package/dist/{segment-CebcXn2E.mjs → segment-zy4VVraQ.mjs} +6 -6
- package/dist/{send-DYdwcPTb.mjs → send-D0ikejQU.mjs} +3 -3
- package/dist/{set-xs8Vyvy2.mjs → set-CjAaw2ZL.mjs} +5 -6
- package/dist/{set-active-CVI_DDQi.mjs → set-active-BQjKw1wk.mjs} +4 -4
- package/dist/{set-bundle-DX5HqDji.mjs → set-bundle-6Qknum1I.mjs} +6 -6
- package/dist/{set-data-actions-DAI1XCQ2.mjs → set-data-actions-LcWEP4RO.mjs} +6 -6
- package/dist/{set-enabled-0QI-CHAT.mjs → set-enabled-C8Yww7Yv.mjs} +7 -7
- package/dist/{set-sensitivity-DqGkiLSr.mjs → set-sensitivity-OVcL2PbY.mjs} +6 -6
- package/dist/{setting-Bmry-y_l.mjs → setting-BsIBFvRP.mjs} +4 -4
- package/dist/{setup-CO7QV-ao.mjs → setup-BnczkG96.mjs} +1 -1
- package/dist/{setup-UM8N9Vh3.mjs → setup-BxUd_KYl.mjs} +5 -6
- package/dist/{signal-D8MH3LMN.mjs → signal-BNUlQjpc.mjs} +1 -1
- package/dist/{skill-list-D2FhhYS3.mjs → skill-list-BoJITnw8.mjs} +1 -1
- package/dist/{skills-CcLTm3_2.mjs → skills-BQBerRAk.mjs} +3 -2
- package/dist/{skills-BiSfuDqA.mjs → skills-CQRgUHI3.mjs} +3 -3
- package/dist/{slug-qeARO25o.mjs → slug-COdwq63O.mjs} +1 -1
- package/dist/snippet-CRLI3fYI.mjs +19 -0
- package/dist/{stash-e5cSvnj3.mjs → stash-BGqpcbSW.mjs} +5 -4
- package/dist/{status-BHiO3YBe.mjs → status-CcOJIgfB.mjs} +4 -4
- package/dist/{status-CH7BAWGe.mjs → status-_wPMW1wq.mjs} +3 -3
- package/dist/{subscription-DWleULhN.mjs → subscription-CqUIrnUJ.mjs} +6 -6
- package/dist/{subscriptions-DcCOA2p1.mjs → subscriptions-BP83ctRX.mjs} +6 -6
- package/dist/{summary-CipFA6M6.mjs → summary-Byz6Y1v-.mjs} +5 -5
- package/dist/{sync-schema-D7p-P8F6.mjs → sync-schema-BJ-AtcCq.mjs} +5 -5
- package/dist/{sync-schema-C45WO4db.mjs → sync-schema-DQBHc3bt.mjs} +6 -6
- package/dist/{sync-task-DNKG9Bk4.mjs → sync-task-Gf86CU9l.mjs} +1 -1
- package/dist/{table-BDsqRU7a.mjs → table-BNA9Or05.mjs} +3 -3
- package/dist/{table-CF7zW9cI.mjs → table-hgrX1i-R.mjs} +36 -5
- package/dist/table-nIdBLcz7.mjs +26 -0
- package/dist/{table-selector-flags-CHfrVpYQ.mjs → table-selector-flags-BpFFoSaT.mjs} +4 -3
- package/dist/{text-C2VwKF9D.mjs → text-8nOxfC17.mjs} +1 -1
- package/dist/timeline-Cw581KRT.mjs +21 -0
- package/dist/{timeline-event-BF1dqSnD.mjs → timeline-event-BHfAXJrB.mjs} +6 -6
- package/dist/{transform-DiW7bREn.mjs → transform-B62craFM.mjs} +76 -7
- package/dist/{transform-CWGJB8N_.mjs → transform-DKPtUV54.mjs} +2 -2
- package/dist/{transform-job-ClX8e5iO.mjs → transform-job-CDIb3B9o.mjs} +6 -1
- package/dist/{transform-job-BBZ5L46v.mjs → transform-job-D18XRLBK.mjs} +1 -1
- package/dist/transform-job-sCgr8r-t.mjs +22 -0
- package/dist/transform-l1oC8oUS.mjs +28 -0
- package/dist/{transform-tag-BYoguZfW.mjs → transform-tag-DZEvmwxY.mjs} +5 -5
- package/dist/transform-test-hxkx6M8c.mjs +16 -0
- package/dist/{transforms-C6MFnT4C.mjs → transforms-D1wwWdCY.mjs} +6 -6
- package/dist/{transport-k_fabWdF.mjs → transport-BWixD5Ww.mjs} +5 -4
- package/dist/{tree-C4Igf6xs.mjs → tree-IymKTTCK.mjs} +4 -3
- package/dist/{typed-schema-Bo0Q6C0S.mjs → typed-schema-gaIKntyu.mjs} +4 -4
- package/dist/{unpublish-EStytsEm.mjs → unpublish-BnP0O_S2.mjs} +3 -3
- package/dist/{unreferenced-DtUuyBrr.mjs → unreferenced-DDkcn8EQ.mjs} +6 -6
- package/dist/{update-DAG8m5f4.mjs → update-BAocDvnS.mjs} +7 -8
- package/dist/{update-DECiEVlk.mjs → update-BemK_tZ_.mjs} +10 -11
- package/dist/{update-B0Na11v-.mjs → update-Bfws2FN2.mjs} +7 -8
- package/dist/{update-FfeHReec.mjs → update-BiBazvzY.mjs} +10 -11
- package/dist/{update-DhgfReDD.mjs → update-BsEG1dRm.mjs} +7 -8
- package/dist/{update-BogvN2Mb.mjs → update-C0p1E-hs.mjs} +8 -8
- package/dist/{update-pk0b6vXU.mjs → update-CFkOEnUu.mjs} +5 -6
- package/dist/{update-DT8U29Kk.mjs → update-CKrLtJWZ.mjs} +7 -8
- package/dist/{update-Bba_zPSE.mjs → update-C_VV1SP8.mjs} +10 -11
- package/dist/{update-DkvIK-eL.mjs → update-CgJwzutJ.mjs} +7 -8
- package/dist/{update-BOg1jZ_s.mjs → update-Cga4lrX5.mjs} +11 -12
- package/dist/{update-z8ZGCg1r.mjs → update-CsH0lSpQ2.mjs} +7 -8
- package/dist/{update-HbggUPuy.mjs → update-CyfLXFKR.mjs} +5 -6
- package/dist/{update-CCLpNTPa.mjs → update-D9eA9UOf.mjs} +5 -6
- package/dist/{update-B1UXRPN-.mjs → update-D9fs-PSK.mjs} +8 -9
- package/dist/{update-DIBaY-fy.mjs → update-DL1Iex_M.mjs} +7 -8
- package/dist/{update-BXLY92om.mjs → update-DntKWUl2.mjs} +10 -11
- package/dist/{update-CciLWH_s.mjs → update-K8FwdJEV.mjs} +11 -11
- package/dist/{update-DT2ViMFr.mjs → update-ReSzm23m.mjs} +5 -6
- package/dist/{update-dashcard-m-hkIGUu.mjs → update-dashcard-Bpv45o1_.mjs} +7 -8
- package/dist/{update-VGgvQu7W.mjs → update-gAPjldWw.mjs} +5 -6
- package/dist/{upgrade-iETJ8fH2.mjs → upgrade-D3aDQZwd.mjs} +5 -4
- package/dist/{upload-CoK5LnyA.mjs → upload-B8HbBXb8.mjs} +3 -3
- package/dist/{upload-BF5pdKRN.mjs → upload-BAD_9okY.mjs} +2 -2
- package/dist/upload-BqJLNCb1.mjs +13 -0
- package/dist/{uuid-8Ha-8bDX.mjs → uuid-BIDBDPLI.mjs} +3 -2
- package/dist/{validate-BQ7vI8_x.mjs → validate-moGYlHxB.mjs} +8 -18
- package/dist/validate-query-Bf5FhhMI.mjs +72 -0
- package/dist/{values-BsgA7-6h.mjs → values-BDekphEw.mjs} +5 -5
- package/dist/{verify-cjUPMF_B.mjs → verify-BnZqq9Aw.mjs} +3 -3
- package/dist/{verify-CzBZbP4W.mjs → verify-CMTrDvAW.mjs} +3 -3
- package/dist/{verify-crIrbGZV.mjs → verify-k0WHgc16.mjs} +4 -3
- package/dist/{wait-mFUfpSaj.mjs → wait-C69z8PSw.mjs} +5 -5
- package/dist/{wait-flags-BnZ-dfE2.mjs → wait-flags-C3cu_O0w.mjs} +2 -2
- package/dist/{window-CfK_j6m1.mjs → window-D1w7B0vh.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +18 -14
- package/skill-data/data-app/SKILL.md +16 -17
- package/skill-data/data-app/template/README.md +1 -1
- package/skill-data/data-app-actions/SKILL.md +3 -0
- package/skill-data/data-app-data/SKILL.md +6 -6
- package/skill-data/data-app-filters/SKILL.md +12 -4
- package/skill-data/data-app-ui/SKILL.md +11 -11
- package/skill-data/data-workflow/references/reusable-definitions.md +2 -2
- package/skill-data/git-sync/SKILL.md +13 -11
- package/skill-data/mbql/SKILL.md +3 -3
- package/skill-data/native-sql/SKILL.md +1 -1
- package/skill-data/native-sql/references/template-tags.md +1 -1
- package/dist/api-key-wGtJ8kYy.mjs +0 -13
- package/dist/body-M5qsJoub.mjs +0 -16
- package/dist/card-BWTjCE93.mjs +0 -25
- package/dist/collection-9_mj8rVX.mjs +0 -21
- package/dist/dashboard-BZV-0Qjp.mjs +0 -35
- package/dist/data-action-B7kRpvCH.mjs +0 -24
- package/dist/dependency-DDRGBlFL.mjs +0 -15
- package/dist/document-BeLf7NqP.mjs +0 -20
- package/dist/field-CQDz-6DK.mjs +0 -21
- package/dist/git-sync-D_T9oNC6.mjs +0 -29
- package/dist/glossary-BVK5DaLV.mjs +0 -14
- package/dist/snippet-DKARah-L.mjs +0 -19
- package/dist/table-BPYHnzyV.mjs +0 -26
- package/dist/timeline-C2m_QHxn.mjs +0 -21
- package/dist/transform-N_elgRuh.mjs +0 -28
- package/dist/transform-job-CTV6KRP2.mjs +0 -22
- package/dist/transform-test-jaBpHOM5.mjs +0 -16
- package/dist/upload-CqSGEZQW.mjs +0 -13
- package/dist/validate-query-YtH3d5BP.mjs +0 -38
package/dist/cli.mjs
CHANGED
|
@@ -1,206 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { a as ChainedRequestError, b as toMetabaseError, g as errorMessage, h as ValidationError, i as AbortError, l as MetabaseError, o as ConfigError, r as isPlainObject, x as KNOWN_RANGE } from "./predicates-0C0TsWcJ.mjs";
|
|
2
3
|
import { defineCommand, parseArgs, renderUsage, runMain } from "citty";
|
|
3
|
-
import {
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
import tls from "node:tls";
|
|
5
6
|
import { confirm, isCancel, password, select, text } from "@clack/prompts";
|
|
6
7
|
import Table from "cli-table3";
|
|
7
|
-
//#region ../client/src/json-pointer.ts
|
|
8
|
-
function escapeJsonPointerSegment(key) {
|
|
9
|
-
if (typeof key === "number") return String(key);
|
|
10
|
-
return (typeof key === "symbol" ? key.toString() : key).replaceAll("~", "~0").replaceAll("/", "~1");
|
|
11
|
-
}
|
|
12
|
-
//#endregion
|
|
13
|
-
//#region ../client/src/version/known-range.ts
|
|
14
|
-
const KNOWN_RANGE = {
|
|
15
|
-
min: 58,
|
|
16
|
-
max: 64
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
//#region ../client/src/errors.ts
|
|
20
|
-
var MetabaseError = class extends Error {
|
|
21
|
-
get userMessage() {
|
|
22
|
-
return this.message;
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
var NetworkError = class extends MetabaseError {
|
|
26
|
-
category = "network";
|
|
27
|
-
isRetryable = true;
|
|
28
|
-
developerDetail;
|
|
29
|
-
constructor(message, developerDetail) {
|
|
30
|
-
super(message);
|
|
31
|
-
this.name = "NetworkError";
|
|
32
|
-
this.developerDetail = developerDetail;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
var TimeoutError = class extends MetabaseError {
|
|
36
|
-
category = "timeout";
|
|
37
|
-
isRetryable = true;
|
|
38
|
-
developerDetail;
|
|
39
|
-
constructor(message, developerDetail) {
|
|
40
|
-
super(message);
|
|
41
|
-
this.name = "TimeoutError";
|
|
42
|
-
this.developerDetail = developerDetail;
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
var ValidationError = class extends MetabaseError {
|
|
46
|
-
category = "validation";
|
|
47
|
-
isRetryable = false;
|
|
48
|
-
developerDetail;
|
|
49
|
-
constructor(message, developerDetail) {
|
|
50
|
-
super(message);
|
|
51
|
-
this.name = "ValidationError";
|
|
52
|
-
this.developerDetail = developerDetail;
|
|
53
|
-
}
|
|
54
|
-
get userMessage() {
|
|
55
|
-
const issues = this.developerDetail.zodIssues;
|
|
56
|
-
if (issues.length === 0) return this.message;
|
|
57
|
-
return `${this.message}\n${formatIssueLines(issues, VALIDATION_ISSUE_FORMAT)}`;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const VALIDATION_MAX_ISSUES = 10;
|
|
61
|
-
const RESPONSE_SHAPE_MAX_ISSUES = 5;
|
|
62
|
-
const VALIDATION_ISSUE_FORMAT = {
|
|
63
|
-
max: VALIDATION_MAX_ISSUES,
|
|
64
|
-
formatIssue: (issue) => `${formatZodIssuePointer(issue.path)}: ${issue.message}`
|
|
65
|
-
};
|
|
66
|
-
const RESPONSE_SHAPE_ISSUE_FORMAT = {
|
|
67
|
-
max: RESPONSE_SHAPE_MAX_ISSUES,
|
|
68
|
-
formatIssue: formatZodIssue
|
|
69
|
-
};
|
|
70
|
-
function formatIssueLines(issues, format) {
|
|
71
|
-
const head = issues.slice(0, format.max).map(format.formatIssue);
|
|
72
|
-
const overflow = issues.length - format.max;
|
|
73
|
-
if (overflow > 0) head.push(`... and ${overflow} more`);
|
|
74
|
-
return head.map((line) => ` ${line}`).join("\n");
|
|
75
|
-
}
|
|
76
|
-
function formatZodIssuePointer(path) {
|
|
77
|
-
if (path.length === 0) return "/";
|
|
78
|
-
return path.map((key) => `/${escapeJsonPointerSegment(key)}`).join("");
|
|
79
|
-
}
|
|
80
|
-
const RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION = "Metabase returned unexpected response shape";
|
|
81
|
-
var ResponseShapeError = class ResponseShapeError extends MetabaseError {
|
|
82
|
-
category = "response-shape";
|
|
83
|
-
isRetryable = false;
|
|
84
|
-
developerDetail;
|
|
85
|
-
constructor(message, developerDetail) {
|
|
86
|
-
super(message);
|
|
87
|
-
this.name = "ResponseShapeError";
|
|
88
|
-
this.developerDetail = developerDetail;
|
|
89
|
-
}
|
|
90
|
-
static fromZodIssues(developerDetail) {
|
|
91
|
-
return new ResponseShapeError(formatResponseShapeMessage(developerDetail), developerDetail);
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
function formatResponseShapeMessage(detail) {
|
|
95
|
-
const { zodIssues: issues, serverTag, serverSkew } = detail;
|
|
96
|
-
const lead = serverTag === null ? RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION : `On Metabase ${describeServer(serverTag, serverSkew)} the response shape was unexpected`;
|
|
97
|
-
if (issues.length === 0) return lead;
|
|
98
|
-
return `${lead}:\n${formatIssueLines(issues, RESPONSE_SHAPE_ISSUE_FORMAT)}`;
|
|
99
|
-
}
|
|
100
|
-
function describeServer(tag, skew) {
|
|
101
|
-
if (skew === "newer-than-known") return `${tag} (newer than this client supports, up to v${KNOWN_RANGE.max})`;
|
|
102
|
-
if (skew === "development") return `development build ${tag} (newer than every release)`;
|
|
103
|
-
return tag;
|
|
104
|
-
}
|
|
105
|
-
var ConfigError = class extends MetabaseError {
|
|
106
|
-
category = "config";
|
|
107
|
-
isRetryable = false;
|
|
108
|
-
developerDetail = null;
|
|
109
|
-
constructor(message) {
|
|
110
|
-
super(message);
|
|
111
|
-
this.name = "ConfigError";
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
var InternalError = class extends MetabaseError {
|
|
115
|
-
category = "internal";
|
|
116
|
-
isRetryable = false;
|
|
117
|
-
developerDetail = null;
|
|
118
|
-
constructor(message) {
|
|
119
|
-
super(message);
|
|
120
|
-
this.name = "InternalError";
|
|
121
|
-
}
|
|
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
|
-
var AbortError = class extends MetabaseError {
|
|
133
|
-
category = "abort";
|
|
134
|
-
isRetryable = false;
|
|
135
|
-
developerDetail = null;
|
|
136
|
-
constructor(message = "aborted") {
|
|
137
|
-
super(message);
|
|
138
|
-
this.name = "AbortError";
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
function isNonInterruptFailure(error) {
|
|
142
|
-
return error instanceof MetabaseError && !(error instanceof AbortError);
|
|
143
|
-
}
|
|
144
|
-
var ChainedRequestError = class extends MetabaseError {
|
|
145
|
-
cause;
|
|
146
|
-
constructor(message, cause) {
|
|
147
|
-
super(message);
|
|
148
|
-
this.name = "ChainedRequestError";
|
|
149
|
-
this.cause = cause;
|
|
150
|
-
}
|
|
151
|
-
get category() {
|
|
152
|
-
return this.cause.category;
|
|
153
|
-
}
|
|
154
|
-
get isRetryable() {
|
|
155
|
-
return this.cause.isRetryable;
|
|
156
|
-
}
|
|
157
|
-
get developerDetail() {
|
|
158
|
-
return this.cause.developerDetail;
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
var UnknownError = class extends MetabaseError {
|
|
162
|
-
category = "unknown";
|
|
163
|
-
isRetryable = false;
|
|
164
|
-
developerDetail;
|
|
165
|
-
constructor(input) {
|
|
166
|
-
super(input.originalMessage);
|
|
167
|
-
this.name = "UnknownError";
|
|
168
|
-
this.developerDetail = input;
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
var PartialWriteError = class extends MetabaseError {
|
|
172
|
-
category = "partial-write";
|
|
173
|
-
isRetryable = false;
|
|
174
|
-
developerDetail;
|
|
175
|
-
constructor(message, developerDetail) {
|
|
176
|
-
super(message);
|
|
177
|
-
this.name = "PartialWriteError";
|
|
178
|
-
this.developerDetail = developerDetail;
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
function toMetabaseError(error) {
|
|
182
|
-
if (error instanceof MetabaseError) return error;
|
|
183
|
-
if (error instanceof ZodError) return new ConfigError(error.issues.map(formatZodIssue).join("; "));
|
|
184
|
-
if (error instanceof Error) return new UnknownError({
|
|
185
|
-
originalMessage: error.message,
|
|
186
|
-
stack: error.stack ?? null
|
|
187
|
-
});
|
|
188
|
-
return new UnknownError({
|
|
189
|
-
originalMessage: String(error),
|
|
190
|
-
stack: null
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
function formatZodIssue(issue) {
|
|
194
|
-
const path = core.toDotPath(issue.path);
|
|
195
|
-
return path === "" ? issue.message : `${path}: ${issue.message}`;
|
|
196
|
-
}
|
|
197
|
-
function isFileNotFoundError(value) {
|
|
198
|
-
return value instanceof Error && "code" in value && value.code === "ENOENT";
|
|
199
|
-
}
|
|
200
|
-
function errorMessage(value) {
|
|
201
|
-
return value instanceof Error ? value.message : String(value);
|
|
202
|
-
}
|
|
203
|
-
//#endregion
|
|
204
8
|
//#region src/runtime/citty.ts
|
|
205
9
|
async function resolveCitty(value) {
|
|
206
10
|
if (value === void 0) return;
|
|
@@ -664,11 +468,12 @@ const profileFlag = { profile: {
|
|
|
664
468
|
description: "Named profile (default: 'default')",
|
|
665
469
|
alias: "p"
|
|
666
470
|
} };
|
|
471
|
+
const urlFlag = { url: {
|
|
472
|
+
type: "string",
|
|
473
|
+
description: "Metabase URL"
|
|
474
|
+
} };
|
|
667
475
|
const connectionFlags = {
|
|
668
|
-
|
|
669
|
-
type: "string",
|
|
670
|
-
description: "Metabase URL"
|
|
671
|
-
},
|
|
476
|
+
...urlFlag,
|
|
672
477
|
apiKey: {
|
|
673
478
|
type: "string",
|
|
674
479
|
description: "API key",
|
|
@@ -722,7 +527,7 @@ function trustSystemCa() {
|
|
|
722
527
|
//#endregion
|
|
723
528
|
//#region package.json
|
|
724
529
|
var name = "@metabase/cli";
|
|
725
|
-
var version = "0.5.
|
|
530
|
+
var version = "0.5.5";
|
|
726
531
|
var description = "Metabase CLI";
|
|
727
532
|
//#endregion
|
|
728
533
|
//#region src/runtime/command-augment.ts
|
|
@@ -742,42 +547,43 @@ const main = defineCommand({
|
|
|
742
547
|
description
|
|
743
548
|
},
|
|
744
549
|
subCommands: {
|
|
745
|
-
auth: () => import("./auth-
|
|
746
|
-
db: () => import("./db-
|
|
747
|
-
table: () => import("./table-
|
|
748
|
-
field: () => import("./field-
|
|
749
|
-
upload: () => import("./upload-
|
|
750
|
-
"content-translation": () => import("./content-translation-
|
|
751
|
-
card: () => import("./card-
|
|
752
|
-
dashboard: () => import("./dashboard-
|
|
753
|
-
subscription: () => import("./subscription-
|
|
754
|
-
"data-action": () => import("./data-action-
|
|
755
|
-
"data-app": () => import("./data-app
|
|
756
|
-
"api-key": () => import("./api-key-
|
|
757
|
-
alert: () => import("./alert-
|
|
758
|
-
collection: () => import("./collection-
|
|
759
|
-
library: () => import("./library-
|
|
760
|
-
document: () => import("./document-
|
|
761
|
-
glossary: () => import("./glossary-
|
|
762
|
-
transform: () => import("./transform-
|
|
763
|
-
"transform-job": () => import("./transform-job-
|
|
764
|
-
"transform-tag": () => import("./transform-tag-
|
|
765
|
-
"transform-test": () => import("./transform-test-
|
|
766
|
-
setting: () => import("./setting-
|
|
767
|
-
search: () => import("./search-
|
|
768
|
-
"git-sync": () => import("./git-sync-
|
|
769
|
-
setup: () => import("./setup-
|
|
770
|
-
snippet: () => import("./snippet-
|
|
771
|
-
segment: () => import("./segment-
|
|
772
|
-
measure: () => import("./measure-
|
|
773
|
-
dependency: () => import("./dependency-
|
|
774
|
-
timeline: () => import("./timeline-
|
|
775
|
-
"timeline-event": () => import("./timeline-event-
|
|
776
|
-
eid: () => import("./eid-
|
|
777
|
-
query: () => import("./query-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
550
|
+
auth: () => import("./auth-bVvBp9Tl.mjs").then((mod) => mod.default),
|
|
551
|
+
db: () => import("./db-CpK3QluZ.mjs").then((mod) => mod.default),
|
|
552
|
+
table: () => import("./table-nIdBLcz7.mjs").then((mod) => mod.default),
|
|
553
|
+
field: () => import("./field-AkNMIQnx.mjs").then((mod) => mod.default),
|
|
554
|
+
upload: () => import("./upload-BqJLNCb1.mjs").then((mod) => mod.default),
|
|
555
|
+
"content-translation": () => import("./content-translation-7qPz-dIU.mjs").then((mod) => mod.default),
|
|
556
|
+
card: () => import("./card-nOX_QJ9u.mjs").then((mod) => mod.default),
|
|
557
|
+
dashboard: () => import("./dashboard-DeSaOt2Z.mjs").then((mod) => mod.default),
|
|
558
|
+
subscription: () => import("./subscription-CqUIrnUJ.mjs").then((mod) => mod.default),
|
|
559
|
+
"data-action": () => import("./data-action-Dpt7pfzd.mjs").then((mod) => mod.default),
|
|
560
|
+
"data-app": () => import("./data-app--T695WPM.mjs").then((mod) => mod.default),
|
|
561
|
+
"api-key": () => import("./api-key-DJfhPe4x.mjs").then((mod) => mod.default),
|
|
562
|
+
alert: () => import("./alert-32mfYFy1.mjs").then((mod) => mod.default),
|
|
563
|
+
collection: () => import("./collection-Cs84x7WB.mjs").then((mod) => mod.default),
|
|
564
|
+
library: () => import("./library-BA1QssFE.mjs").then((mod) => mod.default),
|
|
565
|
+
document: () => import("./document-DB6YGtqX.mjs").then((mod) => mod.default),
|
|
566
|
+
glossary: () => import("./glossary-Br_mSh3i.mjs").then((mod) => mod.default),
|
|
567
|
+
transform: () => import("./transform-l1oC8oUS.mjs").then((mod) => mod.default),
|
|
568
|
+
"transform-job": () => import("./transform-job-sCgr8r-t.mjs").then((mod) => mod.default),
|
|
569
|
+
"transform-tag": () => import("./transform-tag-DZEvmwxY.mjs").then((mod) => mod.default),
|
|
570
|
+
"transform-test": () => import("./transform-test-hxkx6M8c.mjs").then((mod) => mod.default),
|
|
571
|
+
setting: () => import("./setting-BsIBFvRP.mjs").then((mod) => mod.default),
|
|
572
|
+
search: () => import("./search-BcJgmPU3.mjs").then((mod) => mod.default),
|
|
573
|
+
"git-sync": () => import("./git-sync-DaHnqpYi.mjs").then((mod) => mod.default),
|
|
574
|
+
setup: () => import("./setup-BxUd_KYl.mjs").then((mod) => mod.default),
|
|
575
|
+
snippet: () => import("./snippet-CRLI3fYI.mjs").then((mod) => mod.default),
|
|
576
|
+
segment: () => import("./segment-zy4VVraQ.mjs").then((mod) => mod.default),
|
|
577
|
+
measure: () => import("./measure-DgtOyIoD.mjs").then((mod) => mod.default),
|
|
578
|
+
dependency: () => import("./dependency-_SgcW_fL.mjs").then((mod) => mod.default),
|
|
579
|
+
timeline: () => import("./timeline-Cw581KRT.mjs").then((mod) => mod.default),
|
|
580
|
+
"timeline-event": () => import("./timeline-event-BHfAXJrB.mjs").then((mod) => mod.default),
|
|
581
|
+
eid: () => import("./eid-pO_lMTI9.mjs").then((mod) => mod.default),
|
|
582
|
+
query: () => import("./query-O1b4qIr4.mjs").then((mod) => mod.default),
|
|
583
|
+
schema: () => import("./schema-Ds_j3N1I.mjs").then((mod) => mod.default),
|
|
584
|
+
uuid: () => import("./uuid-BIDBDPLI.mjs").then((mod) => mod.default),
|
|
585
|
+
upgrade: () => import("./upgrade-D3aDQZwd.mjs").then((mod) => mod.default),
|
|
586
|
+
skills: () => import("./skills-CQRgUHI3.mjs").then((mod) => mod.default)
|
|
781
587
|
}
|
|
782
588
|
});
|
|
783
589
|
setMetabaseAugment(main, {
|
|
@@ -790,7 +596,7 @@ setMetabaseAugment(main, {
|
|
|
790
596
|
skill: "data-workflow",
|
|
791
597
|
purpose: "guided end-to-end: raw data → clean tables → metrics → answers → dashboards"
|
|
792
598
|
}],
|
|
793
|
-
|
|
599
|
+
input: null,
|
|
794
600
|
outputSchema: null,
|
|
795
601
|
requires: null
|
|
796
602
|
});
|
|
@@ -837,23 +643,6 @@ function isJsonContentType(contentType) {
|
|
|
837
643
|
return contentType !== null && contentType.includes("application/json");
|
|
838
644
|
}
|
|
839
645
|
//#endregion
|
|
840
|
-
//#region ../client/src/predicates.ts
|
|
841
|
-
function isPlainObject(value) {
|
|
842
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
843
|
-
}
|
|
844
|
-
const JAVA_WHITESPACE = " \n\v\f\r \u2028\u2029 ";
|
|
845
|
-
const UNICODE_ESCAPE_DIGITS = 4;
|
|
846
|
-
function unicodeEscape(char) {
|
|
847
|
-
return `\\u${char.charCodeAt(0).toString(16).padStart(UNICODE_ESCAPE_DIGITS, "0")}`;
|
|
848
|
-
}
|
|
849
|
-
const JAVA_WHITESPACE_ESCAPED = [...JAVA_WHITESPACE].map(unicodeEscape).join("");
|
|
850
|
-
/** Matches a string Metabase reads as not blank: one holding a character that is not Java whitespace. */
|
|
851
|
-
const NOT_BLANK = new RegExp(`[^${JAVA_WHITESPACE_ESCAPED}]`);
|
|
852
|
-
/** Whether Metabase reads `value` as blank: empty, or Java whitespace only. */
|
|
853
|
-
function isBlank(value) {
|
|
854
|
-
return !NOT_BLANK.test(value);
|
|
855
|
-
}
|
|
856
|
-
//#endregion
|
|
857
646
|
//#region ../client/src/http/sanitize.ts
|
|
858
647
|
const SECRET_HEADER_NAMES = /* @__PURE__ */ new Set([
|
|
859
648
|
"authorization",
|
|
@@ -1176,11 +965,15 @@ const FEATURE_RULES = {
|
|
|
1176
965
|
transforms: { since: 59 },
|
|
1177
966
|
transformJobActivation: { since: 61 },
|
|
1178
967
|
measures: { since: 59 },
|
|
968
|
+
collectionItemMeasures: { since: 61 },
|
|
969
|
+
explorations: { since: 65 },
|
|
970
|
+
tableFromDefinition: { since: 64 },
|
|
1179
971
|
library: {
|
|
1180
972
|
since: 59,
|
|
1181
973
|
tokenFeature: "library"
|
|
1182
974
|
},
|
|
1183
975
|
libraryDashboards: { since: 65 },
|
|
976
|
+
tablePublishTargetCollection: { since: 62 },
|
|
1184
977
|
remoteSync: {
|
|
1185
978
|
since: 58,
|
|
1186
979
|
tokenFeature: "remote_sync"
|
|
@@ -1208,6 +1001,7 @@ const FEATURE_RULES = {
|
|
|
1208
1001
|
tokenFeature: "content_verification"
|
|
1209
1002
|
},
|
|
1210
1003
|
transformTargetTableId: { since: 61 },
|
|
1004
|
+
transformSourceTablesAsList: { since: 60 },
|
|
1211
1005
|
transformTargetTableLinkedOnCreate: {
|
|
1212
1006
|
since: 61,
|
|
1213
1007
|
until: 61
|
|
@@ -1248,6 +1042,7 @@ const FEATURE_RULES = {
|
|
|
1248
1042
|
tokenFeature: "dependencies"
|
|
1249
1043
|
},
|
|
1250
1044
|
measureDependencyGraph: { since: 59 },
|
|
1045
|
+
actionDependencyGraph: { since: 65 },
|
|
1251
1046
|
tableListAccessFilters: { since: 59 },
|
|
1252
1047
|
tableListTransformTargets: { since: 60 },
|
|
1253
1048
|
tableListPublishedFilter: { since: 63 },
|
|
@@ -1273,7 +1068,7 @@ const FEATURE_RULES = {
|
|
|
1273
1068
|
tokenFeature: "transforms-python"
|
|
1274
1069
|
},
|
|
1275
1070
|
pythonTestRun: {
|
|
1276
|
-
since:
|
|
1071
|
+
since: 58,
|
|
1277
1072
|
tokenFeature: "transforms-python"
|
|
1278
1073
|
},
|
|
1279
1074
|
sourceReplacement: {
|
|
@@ -1290,6 +1085,23 @@ function isFeatureName(name) {
|
|
|
1290
1085
|
}
|
|
1291
1086
|
const FEATURE_NAMES = Object.keys(FEATURE_RULES).filter(isFeatureName);
|
|
1292
1087
|
const Features = z.record(z.enum(FEATURE_NAMES), z.boolean());
|
|
1088
|
+
/**
|
|
1089
|
+
* Which servers hold `feature`, as a reader says it: the majors its rule spans and the token
|
|
1090
|
+
* feature it needs, each left out where every supported server meets it.
|
|
1091
|
+
*/
|
|
1092
|
+
function featureAvailability(feature) {
|
|
1093
|
+
const rule = FEATURE_RULES[feature];
|
|
1094
|
+
const token = rule.tokenFeature === void 0 ? null : `token ${rule.tokenFeature}`;
|
|
1095
|
+
const parts = [majorSpan(rule), token].filter((part) => part !== null);
|
|
1096
|
+
if (parts.length === 0) throw new Error(`${feature} holds on every supported server, so it gates nothing`);
|
|
1097
|
+
return parts.join(", ");
|
|
1098
|
+
}
|
|
1099
|
+
function majorSpan(rule) {
|
|
1100
|
+
const floor = rule.since > KNOWN_RANGE.min ? `v${rule.since}` : null;
|
|
1101
|
+
if (rule.until === void 0) return floor === null ? null : `${floor}+`;
|
|
1102
|
+
if (floor === null) return `up to v${rule.until}`;
|
|
1103
|
+
return rule.since === rule.until ? `${floor} only` : `${floor}-v${rule.until}`;
|
|
1104
|
+
}
|
|
1293
1105
|
function evaluateFeatures(major, tokenFeatures) {
|
|
1294
1106
|
const entries = FEATURE_NAMES.map((name) => [name, ruleHolds(FEATURE_RULES[name], major, tokenFeatures)]);
|
|
1295
1107
|
return Features.parse(Object.fromEntries(entries));
|
|
@@ -2069,8 +1881,6 @@ z.object({
|
|
|
2069
1881
|
skills: z.array(CommandHelpSkill),
|
|
2070
1882
|
examples: z.array(z.string()),
|
|
2071
1883
|
args: z.array(CommandHelpArg),
|
|
2072
|
-
inputSchema: z.unknown().nullable(),
|
|
2073
|
-
outputSchema: z.unknown().nullable(),
|
|
2074
1884
|
requires: CommandHelpRequires.nullable()
|
|
2075
1885
|
});
|
|
2076
1886
|
const CommandIndexEntry = z.object({
|
|
@@ -2086,7 +1896,7 @@ const EMPTY_AUGMENT = {
|
|
|
2086
1896
|
examples: [],
|
|
2087
1897
|
details: null,
|
|
2088
1898
|
skills: [],
|
|
2089
|
-
|
|
1899
|
+
input: null,
|
|
2090
1900
|
outputSchema: null,
|
|
2091
1901
|
requires: null
|
|
2092
1902
|
};
|
|
@@ -2100,8 +1910,6 @@ async function buildHelpEntry(cmd, path) {
|
|
|
2100
1910
|
skills: Array.from(augment.skills),
|
|
2101
1911
|
examples: Array.from(augment.examples),
|
|
2102
1912
|
args: convertArgs(args),
|
|
2103
|
-
inputSchema: augment.inputSchema ? z.toJSONSchema(augment.inputSchema) : null,
|
|
2104
|
-
outputSchema: augment.outputSchema ? z.toJSONSchema(augment.outputSchema) : null,
|
|
2105
1913
|
requires: augment.requires
|
|
2106
1914
|
};
|
|
2107
1915
|
if (augment.details !== null) entry.details = augment.details;
|
|
@@ -2116,6 +1924,37 @@ async function buildHelpIndex(cmd, path) {
|
|
|
2116
1924
|
commands: await walk(cmd, path)
|
|
2117
1925
|
};
|
|
2118
1926
|
}
|
|
1927
|
+
async function resolveCommandPath(root, segments) {
|
|
1928
|
+
let current = root;
|
|
1929
|
+
for (const [index, segment] of segments.entries()) {
|
|
1930
|
+
const subCommands = await resolveCitty(current.subCommands);
|
|
1931
|
+
const match = subCommands === void 0 ? null : await findSubCommand(subCommands, segment);
|
|
1932
|
+
if (match === null) throw new ConfigError(`unknown command: ${segments.slice(0, index + 1).join(" ")}`);
|
|
1933
|
+
current = match.command;
|
|
1934
|
+
}
|
|
1935
|
+
return current;
|
|
1936
|
+
}
|
|
1937
|
+
async function findSubCommand(subCommands, token) {
|
|
1938
|
+
const direct = Object.hasOwn(subCommands, token) ? subCommands[token] : void 0;
|
|
1939
|
+
if (direct !== void 0) {
|
|
1940
|
+
const command = await resolveCitty(direct);
|
|
1941
|
+
if (command === void 0) return null;
|
|
1942
|
+
return {
|
|
1943
|
+
name: (await resolveCitty(command.meta))?.name ?? token,
|
|
1944
|
+
command
|
|
1945
|
+
};
|
|
1946
|
+
}
|
|
1947
|
+
for (const [key, loader] of Object.entries(subCommands)) {
|
|
1948
|
+
const command = await resolveCitty(loader);
|
|
1949
|
+
if (command === void 0) continue;
|
|
1950
|
+
const meta = await resolveCitty(command.meta);
|
|
1951
|
+
if (toAliasArray(meta?.alias).includes(token)) return {
|
|
1952
|
+
name: meta?.name ?? key,
|
|
1953
|
+
command
|
|
1954
|
+
};
|
|
1955
|
+
}
|
|
1956
|
+
return null;
|
|
1957
|
+
}
|
|
2119
1958
|
async function walk(cmd, path) {
|
|
2120
1959
|
const meta = await resolveCitty(cmd.meta);
|
|
2121
1960
|
if (meta?.hidden === true) return [];
|
|
@@ -2168,12 +2007,11 @@ const OPTIONS_HEADER = "OPTIONS";
|
|
|
2168
2007
|
const LINE_PREFIX = " ";
|
|
2169
2008
|
const COLUMN_GAP = " ";
|
|
2170
2009
|
const COMMAND_PLACEHOLDER = "<command> [options]";
|
|
2171
|
-
const CLI_NAME = "mb";
|
|
2172
2010
|
const HELP_FLAG_SPEC = "-h, --help";
|
|
2173
2011
|
const HELP_FLAG_DESCRIPTION = "Show help for this command";
|
|
2174
|
-
const GETTING_STARTED_HINT = `First time? Run
|
|
2012
|
+
const GETTING_STARTED_HINT = `First time? Run \`mb auth login\` to connect to a Metabase instance.`;
|
|
2175
2013
|
const SKILLS_HEADER = "AGENT SKILLS";
|
|
2176
|
-
const SKILLS_LIST_ITEM =
|
|
2014
|
+
const SKILLS_LIST_ITEM = `mb skills list — every bundled skill`;
|
|
2177
2015
|
async function showUsage(cmd, parent, breadcrumb) {
|
|
2178
2016
|
const lines = (await renderUsage(cmd, parent)).replace(ANSI_PATTERN, "").split("\n").map((line) => line.replace(TRAILING_WHITESPACE, ""));
|
|
2179
2017
|
const cmdMeta = await resolveCitty(cmd.meta);
|
|
@@ -2194,7 +2032,14 @@ async function showUsage(cmd, parent, breadcrumb) {
|
|
|
2194
2032
|
if (examples.length > 0) sections.push(renderExamples(examples));
|
|
2195
2033
|
if (skills.length > 0) sections.push(renderSkillsSection(skills, isRoot));
|
|
2196
2034
|
if (isRoot) sections.push(GETTING_STARTED_HINT);
|
|
2197
|
-
|
|
2035
|
+
const schemas = {
|
|
2036
|
+
body: augment !== null && augment.input !== null,
|
|
2037
|
+
output: augment !== null && augment.outputSchema !== null
|
|
2038
|
+
};
|
|
2039
|
+
sections.push(machineHelpHint(breadcrumb ?? cittyName, {
|
|
2040
|
+
hasSubCommands,
|
|
2041
|
+
schemas
|
|
2042
|
+
}));
|
|
2198
2043
|
await writeUsage(sections.join("\n\n") + "\n");
|
|
2199
2044
|
}
|
|
2200
2045
|
async function showUsageJson(cmd, breadcrumb) {
|
|
@@ -2209,12 +2054,22 @@ function writeUsage(text) {
|
|
|
2209
2054
|
}
|
|
2210
2055
|
function breadcrumbPath(breadcrumb) {
|
|
2211
2056
|
const segments = breadcrumb.split(" ").filter((segment) => segment.length > 0);
|
|
2212
|
-
return segments[0] ===
|
|
2057
|
+
return segments[0] === "mb" ? segments.slice(1) : segments;
|
|
2213
2058
|
}
|
|
2214
|
-
const MACHINE_HELP_LEAF_LABEL = "Machine-readable help (flags, output schema):";
|
|
2215
2059
|
const MACHINE_HELP_INDEX_LABEL = "Machine-readable command index:";
|
|
2216
|
-
|
|
2217
|
-
|
|
2060
|
+
const MACHINE_HELP_LEAF_LABEL = "Machine-readable help (flags):";
|
|
2061
|
+
function machineHelpHint(breadcrumb, target) {
|
|
2062
|
+
if (target.hasSubCommands) return `${MACHINE_HELP_INDEX_LABEL} ${breadcrumb} --help --json`;
|
|
2063
|
+
const helpLine = `${MACHINE_HELP_LEAF_LABEL} ${breadcrumb} --help --json`;
|
|
2064
|
+
const schemaLine = schemaHint(breadcrumbPath(breadcrumb).join(" "), target.schemas);
|
|
2065
|
+
return schemaLine === null ? helpLine : `${helpLine}\n${schemaLine}`;
|
|
2066
|
+
}
|
|
2067
|
+
function schemaHint(command, schemas) {
|
|
2068
|
+
const schema = `mb schema ${command}`;
|
|
2069
|
+
if (schemas.body && schemas.output) return `Body and output schemas: ${schema} [--output]`;
|
|
2070
|
+
if (schemas.body) return `Body schema: ${schema}`;
|
|
2071
|
+
if (schemas.output) return `Output schema: ${schema} --output`;
|
|
2072
|
+
return null;
|
|
2218
2073
|
}
|
|
2219
2074
|
function transformBody(lines, rewrite) {
|
|
2220
2075
|
return injectHelpOption(lines.map((line, index) => {
|
|
@@ -2330,7 +2185,7 @@ async function resolveLeafArgv(root, rawArgs) {
|
|
|
2330
2185
|
}
|
|
2331
2186
|
async function resolveBreadcrumb(root, rawArgs) {
|
|
2332
2187
|
const { segments } = await walkCommandPath(root, rawArgs);
|
|
2333
|
-
return segments.length > 0 ? segments.join(" ") :
|
|
2188
|
+
return segments.length > 0 ? segments.join(" ") : "mb";
|
|
2334
2189
|
}
|
|
2335
2190
|
async function findUnknownCommand(root, rawArgs) {
|
|
2336
2191
|
return (await walkCommandPath(root, rawArgs)).unknownToken;
|
|
@@ -2342,27 +2197,6 @@ function skipFlags(rawArgs, start, argsDef) {
|
|
|
2342
2197
|
}
|
|
2343
2198
|
return rawArgs.length;
|
|
2344
2199
|
}
|
|
2345
|
-
async function findSubCommand(subCommands, token) {
|
|
2346
|
-
const direct = subCommands[token];
|
|
2347
|
-
if (direct !== void 0) {
|
|
2348
|
-
const command = await resolveCitty(direct);
|
|
2349
|
-
if (command === void 0) return null;
|
|
2350
|
-
return {
|
|
2351
|
-
name: (await resolveCitty(command.meta))?.name ?? token,
|
|
2352
|
-
command
|
|
2353
|
-
};
|
|
2354
|
-
}
|
|
2355
|
-
for (const [key, loader] of Object.entries(subCommands)) {
|
|
2356
|
-
const command = await resolveCitty(loader);
|
|
2357
|
-
if (command === void 0) continue;
|
|
2358
|
-
const meta = await resolveCitty(command.meta);
|
|
2359
|
-
if (toAliasArray(meta?.alias).includes(token)) return {
|
|
2360
|
-
name: meta?.name ?? key,
|
|
2361
|
-
command
|
|
2362
|
-
};
|
|
2363
|
-
}
|
|
2364
|
-
return null;
|
|
2365
|
-
}
|
|
2366
2200
|
//#endregion
|
|
2367
2201
|
//#region src/runtime/interrupt.ts
|
|
2368
2202
|
const INTERRUPT_REASON = new AbortError("interrupted");
|
|
@@ -2458,4 +2292,4 @@ run().catch((error) => {
|
|
|
2458
2292
|
reportError(error);
|
|
2459
2293
|
});
|
|
2460
2294
|
//#endregion
|
|
2461
|
-
export {
|
|
2295
|
+
export { main as $, ENV_SKIP_PREFLIGHT as A, FEATURE_RULES as B, preflightSkippedNotice as C, resolveCitty as Ct, ENV_DISABLE_KEYRING as D, ENV_API_KEY as E, CapabilityError as F, ruleGap as G, evaluateFeatures as H, RequirementFailure as I, isRetryableStatus as J, HttpError as K, missingTokenFeatureMessage as L, consumeLegacyEnvWarnings as M, readEnv as N, ENV_PROFILE as O, ProfileRefreshedError as P, parseJsonResult as Q, versionTooOldMessage as R, listTruncationNotice as S, parseEnumCsv as St, warn as T, featureAvailability as U, Features as V, isFeatureName as W, parseJson as X, JSON_CONTENT_TYPE as Y, parseJsonOrPlain as Z, projectForList as _, listEnvelopeSchemaWithExtras as _t, reportError as a, formatFlags as at, promptSelect as b, parseCsv as bt, renderListWithExtras as c, listFlagsWithDefaultLimit as ct, serializeJson as d, urlFlag as dt, getMetabaseAugment as et, writeJson as f, resolveCommonFlags as ft, renderRows as g, listEnvelopeSchema as gt, formatScalar as h, parseOptionalInteger as ht, methodRequirements as i, connectionFlags as it, ENV_URL as j, ENV_SKILLS_DIR as k, renderSummary as l, outputFlags as lt, MALFORMED_CELL as m, parseInteger as mt, resolveCommandPath as n, name as nt, renderItem as o, listFlag as ot, writeText as p, resolveOutputFormat as pt, chainRequestFailure as q, isMethodKey as r, version as rt, renderList as s, listFlags as st, interruptSignal as t, setMetabaseAugment as tt, renderSummaryWithinMaxBytes as u, profileFlag as ut, promptConfirm as v, assertArgv as vt, preflightUncheckedNotice as w, promptText as x, parseEnum as xt, promptPassword as y, givenFlagKeys as yt, FEATURE_NAMES as z };
|