@metabase/cli 0.5.1 → 0.5.3
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/README.md +1 -1
- package/dist/{add-collection-BnGPc0Vv.mjs → add-collection-c1dfnavz.mjs} +4 -4
- package/dist/{alert-DQkF8jYR.mjs → alert-BkpPdBQ_.mjs} +6 -6
- package/dist/{alerts-BncG7w1_.mjs → alerts-TDYiIxjs.mjs} +3 -3
- package/dist/api-key-9jVV67hF.mjs +38 -0
- package/dist/api-key-DbsqHlN6.mjs +31 -0
- package/dist/api-key-wGtJ8kYy.mjs +13 -0
- package/dist/{append-D4ekYCuD.mjs → append-CoeZRD6u.mjs} +3 -3
- package/dist/{archive-ULXc3xzI.mjs → archive-3fdIvMsf.mjs} +2 -2
- package/dist/{archive-v08JESCM.mjs → archive-9uzfWGuq.mjs} +2 -2
- package/dist/{archive-BQ4OA-R4.mjs → archive-CAJHrKwd.mjs} +2 -2
- package/dist/{archive-DpCP4yR1.mjs → archive-CH1h8jz5.mjs} +2 -2
- package/dist/{archive-BifJXCHF.mjs → archive-D-BJwRLc.mjs} +2 -2
- package/dist/{archive-BXr9kFNz.mjs → archive-DQRehboT.mjs} +5 -5
- package/dist/{archive-DjHLWUfC.mjs → archive-DY76wU2k.mjs} +2 -2
- package/dist/{archive-EhW6blNc.mjs → archive-DZDkfhdH.mjs} +4 -4
- package/dist/{archive-D2WCz3Oe.mjs → archive-DxUnaV4x.mjs} +2 -2
- package/dist/{archive-DocyUIME.mjs → archive-N3lp1o-k.mjs} +4 -4
- package/dist/{archive-CxNUeWII2.mjs → archive-NfFWXRx5.mjs} +4 -4
- package/dist/{archive-DnCF-Ecm.mjs → archive-f7wKQ7Uy.mjs} +2 -2
- package/dist/{auth-BPbsm8yV.mjs → auth-hgkvHPpH.mjs} +4 -4
- package/dist/{body-BkkQkGJg.mjs → body-M5qsJoub.mjs} +2 -2
- package/dist/{branch-flag-CTDvbaBa.mjs → branch-flag-CPTQ4wXp.mjs} +1 -1
- package/dist/{branches-lPHtM_xR.mjs → branches-B3gHAanU.mjs} +2 -2
- package/dist/{breaking-DjMlCD96.mjs → breaking-DuWIof4T.mjs} +5 -5
- package/dist/{broken-DUX3GWS5.mjs → broken-D2ST8sTx.mjs} +7 -7
- package/dist/{bulk-discard-values-Dl8Lzypf.mjs → bulk-discard-values-77khEfpj.mjs} +4 -4
- package/dist/{bulk-edit-N2xLVtfG.mjs → bulk-edit-girwcjY6.mjs} +5 -5
- package/dist/{bulk-rescan-values-BK2rH2Ik.mjs → bulk-rescan-values-Df8KK8um.mjs} +4 -4
- package/dist/{bulk-sync-schema-BKJc9Rzq.mjs → bulk-sync-schema-DEPUZ6MN.mjs} +4 -4
- package/dist/{cancel-DzkRVGIk.mjs → cancel-Oek5PJnu.mjs} +2 -2
- package/dist/{cancel-task-BiTlDY7a.mjs → cancel-task-rkqY0qLU.mjs} +3 -3
- package/dist/{card-CQNUT9pm.mjs → card-3NmUiU5F.mjs} +1 -1
- package/dist/{card-BTBDBsu-.mjs → card-BWTjCE93.mjs} +8 -8
- package/dist/{card-P5mBknsl.mjs → card-QR3zEu6E.mjs} +39 -16
- package/dist/{cards-CSL8ukS1.mjs → cards-DWJOtZoN.mjs} +5 -5
- package/dist/cli.mjs +172 -37
- package/dist/{client-BBwYPXDW.mjs → client-BFP2Ssqu.mjs} +221 -39
- package/dist/{collection-B19phRNU.mjs → collection-9_mj8rVX.mjs} +7 -7
- package/dist/{collection-CTnYZ2Jj.mjs → collection-D5vt2IJ_.mjs} +1 -1
- package/dist/{collection-B2wRXyTF.mjs → collection-DNmFKALA.mjs} +1 -0
- package/dist/{collection-namespace-B1OkM7p1.mjs → collection-namespace-Dl8_7xII.mjs} +1 -1
- package/dist/{content-translation-DoGTQnvH.mjs → content-translation-B3oARbgD.mjs} +2 -2
- package/dist/{copy-BYukQEtf.mjs → copy-BzBp5FaY.mjs} +5 -5
- package/dist/{copy-XlCT3gvG.mjs → copy-C7Rc4qM7.mjs} +3 -3
- package/dist/{copy-flags-ByB2MicL.mjs → copy-flags-CTM91pxH.mjs} +2 -2
- package/dist/{create-T4PZPVE9.mjs → create-71_DODbc.mjs} +3 -3
- package/dist/{create-jr4xJgSI.mjs → create-BKRD11i-.mjs} +3 -3
- package/dist/{create-k1Bo7h7g.mjs → create-Bc4ADRmU.mjs} +2 -2
- package/dist/{create-Bnb1abv_.mjs → create-Bh3q3eHg.mjs} +5 -5
- package/dist/{create-3_oY9KHY.mjs → create-ByeGK_BE.mjs} +2 -2
- package/dist/{create-DZJQp3r7.mjs → create-C-2ivjed.mjs} +2 -2
- package/dist/{create-CLZ7w83R.mjs → create-C0gmhNnk.mjs} +3 -3
- package/dist/create-C3H9ljex.mjs +34 -0
- package/dist/{create-DxMmIHI4.mjs → create-CGE1D0Ay.mjs} +2 -2
- package/dist/{create-CbT4SPHV.mjs → create-CGxxztoE.mjs} +2 -2
- package/dist/{create-CYoarNrb.mjs → create-CfXKNnkK.mjs} +2 -2
- package/dist/{create-Bl9sS7v7.mjs → create-CjGEkSFz.mjs} +6 -6
- package/dist/{create-Cdt8u1wF.mjs → create-DO4ic4Kx.mjs} +5 -5
- package/dist/{create-BP39g5Jk.mjs → create-DQJ9h86G.mjs} +2 -2
- package/dist/{create-DBNxy5rN.mjs → create-YBDXZgyP.mjs} +2 -2
- package/dist/{create-D5_c5SHo.mjs → create-YIC3Q0a-.mjs} +2 -2
- package/dist/create-_rOCx5b8.mjs +38 -0
- package/dist/{create-branch-CUNFdKyB.mjs → create-branch-DBCBMDWh.mjs} +4 -4
- package/dist/{create-CqF7vqXC.mjs → create-f0bBEfDI.mjs} +4 -4
- package/dist/{create-B3fm5I-l2.mjs → create-myJ8HR4B.mjs} +4 -4
- package/dist/{create-CrtIqtXN.mjs → create-vgP9K2eH2.mjs} +4 -4
- package/dist/{csv-CcnhKpuj.mjs → csv-Dtgy7sTg.mjs} +3 -3
- package/dist/{current-task-nl2z8sHI.mjs → current-task-AwQisIT9.mjs} +3 -3
- package/dist/{dashboard-BP0p62fp.mjs → dashboard-BZV-0Qjp.mjs} +11 -11
- package/dist/{dashboard-Phz3XpRM.mjs → dashboard-Chjy5GKR.mjs} +52 -5
- package/dist/{dashboard-XSTr9QCr.mjs → dashboard-D5E3fMKh.mjs} +1 -1
- package/dist/{data-action-Cr17CfgE.mjs → data-action-B7kRpvCH.mjs} +7 -7
- package/dist/data-app-BIAvvV2P.mjs +41 -0
- package/dist/data-app-BUW-HlUo.mjs +52 -0
- package/dist/data-app-Blz61mG5.mjs +29 -0
- package/dist/data-app-project-BL4xpu_m.mjs +57 -0
- package/dist/{database-2HYCdHqK.mjs → database-CxykzTAA.mjs} +14 -3
- package/dist/{database-BewllGR7.mjs → database-D8XzgJEz.mjs} +19 -2
- package/dist/{dataset-D-x2Ho2i.mjs → dataset-DIQLAp2P.mjs} +5 -4
- package/dist/db-wsSYKqCB.mjs +25 -0
- package/dist/delete-4v4_lDwD.mjs +44 -0
- package/dist/{delete-BOma6qIq.mjs → delete-BHX_F8Qu.mjs} +3 -3
- package/dist/{delete-DulVnxD_.mjs → delete-BP9-YS-f.mjs} +3 -3
- package/dist/delete-BSgxmR3y.mjs +40 -0
- package/dist/{delete-BUCh72Bq.mjs → delete-BegkpIGi.mjs} +3 -3
- package/dist/{delete-xf2n7SNg.mjs → delete-D9FB7qjX.mjs} +3 -3
- package/dist/{delete-QHsiWYay.mjs → delete-DmM5L0wO.mjs} +3 -3
- package/dist/{delete-BrbmJ3sn.mjs → delete-E-g5b-HU.mjs} +3 -3
- package/dist/{delete-Oc2GE170.mjs → delete-WrV9I9uw.mjs} +3 -3
- package/dist/delete-runtime-CJ7gMYA1.mjs +72 -0
- package/dist/{delete-table-LgJ17t6j.mjs → delete-table-CJq8JM5J.mjs} +3 -3
- package/dist/{delete-BXMc-g3Q.mjs → delete-wnHUWWjX.mjs} +3 -3
- package/dist/{dependencies-BE5QW7Lb.mjs → dependencies-CnW3RSoZ.mjs} +3 -3
- package/dist/{dependency-qP1hx2YN.mjs → dependency-CaC6XuTY.mjs} +2 -2
- package/dist/{dependency-BlTYysYG.mjs → dependency-DDRGBlFL.mjs} +5 -5
- package/dist/{dependency-BACk_cVP.mjs → dependency-Dxvb2Znu.mjs} +1 -1
- package/dist/{dependents-mbgHQNiv.mjs → dependents-DHXqJ3lo.mjs} +8 -8
- package/dist/{dirty-fYlA1N1e.mjs → dirty-BRPWPUYH.mjs} +4 -4
- package/dist/{discard-values-cIRBP5nT.mjs → discard-values-DBHfVN8o.mjs} +4 -4
- package/dist/{document-BaRQ5fBd.mjs → document-BeLf7NqP.mjs} +6 -6
- package/dist/{download-CokVpeK6.mjs → download-BFu9xYHX.mjs} +1 -1
- package/dist/{eid-CaumGUFD.mjs → eid-eKmbXRds.mjs} +3 -4
- package/dist/{entity-BHYJtRxp.mjs → entity-DjDkaMkB.mjs} +2 -2
- package/dist/{entry-flags-DjICpQkc.mjs → entry-flags-Cxn09krz.mjs} +3 -3
- package/dist/{events-jEo9fytL.mjs → events-CZL9MU64.mjs} +3 -3
- package/dist/{execute-H09Qus4_.mjs → execute-DBJGtHHG.mjs} +3 -3
- package/dist/{export-flags-DzW0Ktkh.mjs → export-flags-CpukgETM.mjs} +13 -5
- package/dist/{export-preflight-Db_TChn5.mjs → export-preflight-SM9zJkBp.mjs} +4 -4
- package/dist/{export-YtdZo7LZ.mjs → export-xn_-NaBd.mjs} +24 -12
- package/dist/{field-wmN6raOG.mjs → field-BVz4AS3f.mjs} +1 -1
- package/dist/{field-DktidTPB.mjs → field-CQDz-6DK.mjs} +7 -7
- package/dist/{field-5nivEfd6.mjs → field-DoWQUl7V.mjs} +58 -45
- package/dist/{fields-DUXlosmx.mjs → fields-CB06GFBW.mjs} +5 -5
- package/dist/{filter-flags-DTDcU7OI.mjs → filter-flags-DhE4olyf.mjs} +4 -4
- package/dist/{fks-Cl2sq-c0.mjs → fks-CSoS7xZ6.mjs} +5 -5
- package/dist/{get-C_rjxpoe.mjs → get--1qTpTIQ.mjs} +4 -4
- package/dist/{get-BilMWiFq.mjs → get-B8xQXMU6.mjs} +2 -2
- package/dist/{get-okEsnkvC.mjs → get-B8xrmipw.mjs} +2 -2
- package/dist/{get-DPiNYmXo.mjs → get-BIf6eFWZ.mjs} +2 -2
- package/dist/{get-DtcChy9h.mjs → get-BQ7SAJEz.mjs} +2 -2
- package/dist/{get-XS-6R81E.mjs → get-BSPxmP_W.mjs} +4 -4
- package/dist/{get-zPMv3kZE.mjs → get-BW3jSR3y.mjs} +2 -2
- package/dist/{get-DyK_bvg6.mjs → get-BYAzIaGG.mjs} +2 -2
- package/dist/{get-Cg0up9gm.mjs → get-BZDUOZxI.mjs} +2 -2
- package/dist/{get-oQNL6pLY.mjs → get-BZFyqZXa.mjs} +2 -2
- package/dist/{get-CVMWhbA82.mjs → get-BfFZCiZR.mjs} +4 -4
- package/dist/get-Bq_9VSTa.mjs +28 -0
- package/dist/{get-FxCF0rxc.mjs → get-Bt4C-oxh.mjs} +2 -2
- package/dist/{get-GuWW4J24.mjs → get-C1rCVUYw.mjs} +3 -3
- package/dist/{get-CqlNUyFY.mjs → get-Cc4-e-Q_.mjs} +4 -4
- package/dist/{get-CTtzccwr.mjs → get-Cl-O6dFs.mjs} +3 -3
- package/dist/{get-Bt_zhviQ.mjs → get-CtDZOoWy.mjs} +5 -5
- package/dist/{get-CWyRAHpz.mjs → get-CuSwArMS.mjs} +5 -5
- package/dist/{get-CM596pmP.mjs → get-DIfjxTP8.mjs} +2 -2
- package/dist/{get-B-WT6ess.mjs → get-DePbMmjc.mjs} +5 -5
- package/dist/{get-DTDvlLT3.mjs → get-eZEHipwA.mjs} +2 -2
- package/dist/{get-DySyvotk2.mjs → get-jbOgdCQg.mjs} +2 -2
- package/dist/{get-run-CFGxSm_S.mjs → get-run-C-CNDbv3.mjs} +2 -2
- package/dist/{git-sync-Ch1V1fEK.mjs → git-sync-D1aKczo6.mjs} +15 -8
- package/dist/{git-sync-COokpYgc.mjs → git-sync-DP4wQFzm.mjs} +18 -1
- package/dist/git-sync-D_T9oNC6.mjs +29 -0
- package/dist/{glossary-BSgRQ2HO.mjs → glossary-BVK5DaLV.mjs} +4 -4
- package/dist/{graph-Wf4e0XIa.mjs → graph-CqBe2J4N.mjs} +5 -5
- package/dist/{has-remote-changes-BsS3XB0P.mjs → has-remote-changes-CDe1teSb.mjs} +3 -3
- package/dist/{import-CXd5HdB0.mjs → import-B64gjryF.mjs} +7 -7
- package/dist/{is-dirty-TDcfeOde.mjs → is-dirty-DhR3Xqjk.mjs} +1 -1
- package/dist/{items-BxvhoxYm.mjs → items-CLl2QgS8.mjs} +5 -5
- package/dist/{key-CUPbYxkk.mjs → key-BYEv4Wgq.mjs} +2 -2
- package/dist/{library-DzejNMqX.mjs → library-C3eO2J07.mjs} +4 -4
- package/dist/{library-BKSFtIV9.mjs → library-DKIqzyUk.mjs} +2 -2
- package/dist/{library-DuIrR8LS.mjs → library-wUiD2jbw.mjs} +1 -1
- package/dist/{list-DA1Fo6S6.mjs → list-B7Yvz5vA.mjs} +2 -2
- package/dist/{list-DlgjWr4r.mjs → list-BIqqh3A-.mjs} +2 -2
- package/dist/{list-CRXTfEFk.mjs → list-BiSwl56L.mjs} +2 -2
- package/dist/{list-DpK3ioES.mjs → list-BmvitCWZ.mjs} +5 -5
- package/dist/{list-D7yH-64Z.mjs → list-C3GBocvB.mjs} +4 -4
- package/dist/{list-B8V_OESj.mjs → list-C7TFreS8.mjs} +2 -2
- package/dist/{list-6nGX0Rqc.mjs → list-CA939qkn.mjs} +5 -5
- package/dist/list-CFaJA317.mjs +48 -0
- package/dist/{list-3Dh5yeq-.mjs → list-CdcFNphE.mjs} +2 -2
- package/dist/{list-DjlfBd7W.mjs → list-CjpZCiks.mjs} +2 -2
- package/dist/{list-B5kRBn7k.mjs → list-Cu6ET_yD.mjs} +4 -4
- package/dist/{list-BUjI5G0_.mjs → list-D4HNG282.mjs} +4 -4
- package/dist/{list-Ba7u5Ai9.mjs → list-DDPvxfhe.mjs} +5 -5
- package/dist/{list-Cr5Hoq-E.mjs → list-DLLzMaS3.mjs} +2 -2
- package/dist/{list-D_fsrh8w.mjs → list-DLwby7YA.mjs} +2 -2
- package/dist/{list-B3Pngm2j.mjs → list-D_IT8l9B.mjs} +2 -2
- package/dist/{list-CCCy6cBI.mjs → list-DpfOh8-5.mjs} +3 -3
- package/dist/{list-DsR58aMq.mjs → list-DrIcKxXX.mjs} +3 -3
- package/dist/{list-D1Q8H3jn.mjs → list-DyFu5Wx1.mjs} +3 -3
- package/dist/{list-Cf6A9Csi.mjs → list-DyQNRVAf.mjs} +2 -2
- package/dist/list-YFwmHXGG.mjs +33 -0
- package/dist/{list-Do-Xnz0I.mjs → list-eGlqXJno.mjs} +2 -2
- package/dist/list-s9_LlXCV.mjs +29 -0
- package/dist/{login-CXbCAcuB.mjs → login-Bg7Z3jDy.mjs} +15 -8
- package/dist/{logout-B6IGzkpG.mjs → logout-CAmp7DcS.mjs} +2 -2
- package/dist/{measure-CbMgNhlG.mjs → measure-C31HLp1C.mjs} +5 -5
- package/dist/{moderation-review-BdqEH6N1.mjs → moderation-review-Bf9bPNQI.mjs} +1 -1
- package/dist/{parameter-Celg0wZa.mjs → parameter-DvRQMKd2.mjs} +6 -6
- package/dist/{parameter-values-IWi_DNhp.mjs → parameter-values-3eHpqznI.mjs} +21 -7
- package/dist/{parse-enum-B2rGiC6p.mjs → parse-enum-DAcTzG1q.mjs} +1 -1
- package/dist/{parse-id-Cv5eM7sg.mjs → parse-id-5BZGQ9Vd.mjs} +1 -1
- package/dist/{parse-ref-DW7ik6ny.mjs → parse-ref-ByXc-pls.mjs} +1 -1
- package/dist/{parse-text-CUCSWOeR.mjs → parse-text-FgX60vIg.mjs} +1 -1
- package/dist/{path-C9r9urRK.mjs → path-XwdHlC23.mjs} +3 -3
- package/dist/{poll-CX3jPtXb.mjs → poll-CgtcJopL.mjs} +2 -2
- package/dist/{preflight-CiTgqNUy.mjs → preflight-ChTKhB8Y.mjs} +2 -2
- package/dist/{process-DImdroix.mjs → process-aqXm5QgC.mjs} +1 -1
- package/dist/{publish-xH1n74gd.mjs → publish-C2-pK0cf.mjs} +4 -4
- package/dist/{pulse-Dz0ocv0l.mjs → pulse-CC81N2_0.mjs} +1 -1
- package/dist/{pulse-CFj1WfIC.mjs → pulse-JPrq6NFP.mjs} +1 -1
- package/dist/{query-CN3BW5WB.mjs → query-DkaUzmMa.mjs} +12 -12
- package/dist/{query-BOCw0FBK.mjs → query-pmw23KkL.mjs} +17 -7
- package/dist/{remapping-Dggq2Fv0.mjs → remapping-C3htTzJn.mjs} +4 -4
- package/dist/{remove-collection-cxSSFxza.mjs → remove-collection-p_t9rUUX.mjs} +4 -4
- package/dist/{render-Cb8Hct67.mjs → render-C50k8-jc.mjs} +2 -2
- package/dist/{replace-wVi_XDut.mjs → replace-BQBuFJ1B.mjs} +3 -3
- package/dist/{requirement-check-BE3PuGsC.mjs → requirement-check-CpiVuL0H.mjs} +1 -1
- package/dist/{rescan-values-DAp_avxY.mjs → rescan-values-Ctq8wpkI.mjs} +4 -4
- package/dist/{rescan-values-C7b1Ghy-.mjs → rescan-values-DOqXJ3qH.mjs} +4 -4
- package/dist/{run-CUGs7mok.mjs → run-2xgPRuKR.mjs} +4 -4
- package/dist/{run-DywhwjNG.mjs → run-CtMbObQI.mjs} +4 -4
- package/dist/{run-CE6ei7s7.mjs → run-Dn3e8G4x.mjs} +2 -2
- package/dist/{runs--14jim_0.mjs → runs-CgNoQW6M.mjs} +3 -3
- package/dist/{runtime-Ckns6TKK.mjs → runtime-Y4VFWmmr.mjs} +63 -80
- package/dist/scaffold-BuL0_ptz.mjs +50 -0
- package/dist/{schema-tables-CeW0kpA5.mjs → schema-tables-BdXuo_lG.mjs} +5 -5
- package/dist/{schemas-CHMD0HrY.mjs → schemas-Dap3KFwY.mjs} +3 -3
- package/dist/{search-CXRavT7G.mjs → search-1et9tv_s.mjs} +21 -4
- package/dist/{search-LmBQu1Jg.mjs → search-DUmFK5Sy.mjs} +5 -5
- package/dist/{search-DyC54bGf.mjs → search-Dxcejw_v.mjs} +20 -5
- package/dist/{segment-DeT_Yic6.mjs → segment-CebcXn2E.mjs} +5 -5
- package/dist/{send-BWSJMrDL.mjs → send-DYdwcPTb.mjs} +2 -2
- package/dist/{set-active-C5cLG4_O.mjs → set-active-CVI_DDQi.mjs} +2 -2
- package/dist/set-bundle-DX5HqDji.mjs +40 -0
- package/dist/set-data-actions-DAI1XCQ2.mjs +46 -0
- package/dist/set-enabled-0QI-CHAT.mjs +41 -0
- package/dist/{set-sensitivity-BMLKazua.mjs → set-sensitivity-DqGkiLSr.mjs} +5 -5
- package/dist/{set-r2xiXrT_.mjs → set-xs8Vyvy2.mjs} +3 -3
- package/dist/{setting-CDRusiqP.mjs → setting-Bmry-y_l.mjs} +3 -3
- package/dist/{setup-BZaJVww3.mjs → setup-UM8N9Vh3.mjs} +2 -2
- package/dist/{signal-4tpCIkqR.mjs → signal-D8MH3LMN.mjs} +1 -1
- package/dist/{skills-9ihLaSmM.mjs → skills-BiSfuDqA.mjs} +3 -3
- package/dist/{skills-y2iVfW9k.mjs → skills-CcLTm3_2.mjs} +2 -2
- package/dist/slug-qeARO25o.mjs +15 -0
- package/dist/{snippet-Ce0o33Rj.mjs → snippet-DKARah-L.mjs} +5 -5
- package/dist/{stash-Dj-mnIa4.mjs → stash-e5cSvnj3.mjs} +6 -6
- package/dist/{status-BtWz7Pzn.mjs → status-BHiO3YBe.mjs} +36 -15
- package/dist/{status-B2Xj_q8f.mjs → status-CH7BAWGe.mjs} +2 -2
- package/dist/{subscription-Dh--agqE.mjs → subscription-DWleULhN.mjs} +5 -5
- package/dist/{subscriptions-CJ8Jdp9A.mjs → subscriptions-DcCOA2p1.mjs} +4 -4
- package/dist/{summary-ccbkNDbC.mjs → summary-CipFA6M6.mjs} +4 -4
- package/dist/{sync-schema-CewUOkmm.mjs → sync-schema-C45WO4db.mjs} +5 -5
- package/dist/{sync-schema-HwQectZd.mjs → sync-schema-D7p-P8F6.mjs} +4 -4
- package/dist/{sync-task-DEzhiaU9.mjs → sync-task-DNKG9Bk4.mjs} +2 -2
- package/dist/{table-CFZU-BRg.mjs → table-BDsqRU7a.mjs} +2 -2
- package/dist/table-BPYHnzyV.mjs +26 -0
- package/dist/{table-zAdW5_3H.mjs → table-CF7zW9cI.mjs} +33 -20
- package/dist/{table-selector-flags-p4jun7-v.mjs → table-selector-flags-CHfrVpYQ.mjs} +3 -3
- package/dist/{timeline-DLaBypse.mjs → timeline-C2m_QHxn.mjs} +7 -7
- package/dist/{timeline-event-xAAR6b-v.mjs → timeline-event-BF1dqSnD.mjs} +5 -5
- package/dist/transform-N_elgRuh.mjs +28 -0
- package/dist/transform-job-CTV6KRP2.mjs +22 -0
- package/dist/{transform-tag-BXusFzMX.mjs → transform-tag-BYoguZfW.mjs} +4 -4
- package/dist/{transform-test-UsH1udc4.mjs → transform-test-jaBpHOM5.mjs} +6 -6
- package/dist/{transforms-CqV01bMM.mjs → transforms-C6MFnT4C.mjs} +3 -3
- package/dist/{transport-0qFZhEuP.mjs → transport-k_fabWdF.mjs} +4 -4
- package/dist/{tree-Td6rgyOa.mjs → tree-C4Igf6xs.mjs} +3 -3
- package/dist/typed-schema-Bo0Q6C0S.mjs +45 -0
- package/dist/{unpublish-D4XTZsFW.mjs → unpublish-EStytsEm.mjs} +2 -2
- package/dist/{unreferenced-cR-l4zXN.mjs → unreferenced-DtUuyBrr.mjs} +5 -5
- package/dist/{update-C8xdeYI2.mjs → update-B0Na11v-.mjs} +5 -5
- package/dist/{update-C7Wmom6x.mjs → update-B1UXRPN-.mjs} +7 -7
- package/dist/{update-dQeji6RA.mjs → update-BOg1jZ_s.mjs} +5 -5
- package/dist/{update-CpwWURTp.mjs → update-BXLY92om.mjs} +4 -4
- package/dist/{update-DrVc25R8.mjs → update-Bba_zPSE.mjs} +4 -4
- package/dist/{update-C4iu-vQm.mjs → update-BogvN2Mb.mjs} +3 -3
- package/dist/{update-nGURR-y6.mjs → update-CCLpNTPa.mjs} +3 -3
- package/dist/{update-CHB4kvz-.mjs → update-CciLWH_s.mjs} +7 -8
- package/dist/{update-BqkqMOVN.mjs → update-DAG8m5f4.mjs} +5 -5
- package/dist/{update-Dk0E66Va.mjs → update-DECiEVlk.mjs} +7 -7
- package/dist/update-DIBaY-fy.mjs +37 -0
- package/dist/{update-C7dZLbsf.mjs → update-DT2ViMFr.mjs} +3 -3
- package/dist/{update-CND9At61.mjs → update-DT8U29Kk.mjs} +3 -3
- package/dist/{update-Js0IiqCq.mjs → update-DhgfReDD.mjs} +5 -5
- package/dist/{update-DFK2iUSP.mjs → update-DkvIK-eL.mjs} +3 -3
- package/dist/{update-DZHgr6Gu.mjs → update-FfeHReec.mjs} +4 -4
- package/dist/{update-BJL5975i.mjs → update-HbggUPuy.mjs} +3 -3
- package/dist/{update-D-cTgmb0.mjs → update-VGgvQu7W.mjs} +3 -3
- package/dist/{update-dashcard-BmkfJ7t9.mjs → update-dashcard-m-hkIGUu.mjs} +6 -6
- package/dist/{update-DROjGe3Q.mjs → update-pk0b6vXU.mjs} +3 -3
- package/dist/{update-DqCZsbLh.mjs → update-z8ZGCg1r.mjs} +3 -3
- package/dist/{upgrade-B6V_1cUh.mjs → upgrade-iETJ8fH2.mjs} +4 -4
- package/dist/{upload-B6zBzMPW.mjs → upload-BF5pdKRN.mjs} +3 -3
- package/dist/{upload-CfYmBv51.mjs → upload-CoK5LnyA.mjs} +2 -2
- package/dist/{upload-Dvjfz16M.mjs → upload-CqSGEZQW.mjs} +3 -3
- package/dist/{uuid-B8ynbkqG.mjs → uuid-8Ha-8bDX.mjs} +2 -2
- package/dist/{validate-C7DGkwb-.mjs → validate-BQ7vI8_x.mjs} +1 -1
- package/dist/{validate-query-CYUvRvVM.mjs → validate-query-YtH3d5BP.mjs} +2 -2
- package/dist/{values-36bzf9cK.mjs → values-BsgA7-6h.mjs} +4 -4
- package/dist/{verify-C4Tml4fD.mjs → verify-CzBZbP4W.mjs} +4 -4
- package/dist/{verify-BdW-GExk.mjs → verify-cjUPMF_B.mjs} +4 -4
- package/dist/{verify-Cs9e28YA.mjs → verify-crIrbGZV.mjs} +3 -3
- package/dist/{verify-flags-CMpRkMPa.mjs → verify-flags-DEVMB9w0.mjs} +1 -1
- package/dist/{wait-flags-DjyK03cm.mjs → wait-flags-BnZ-dfE2.mjs} +2 -2
- package/dist/{wait-BV6JOdgi.mjs → wait-mFUfpSaj.mjs} +5 -5
- package/package.json +2 -2
- package/skill-data/core/SKILL.md +1 -1
- package/skill-data/data-action/SKILL.md +18 -7
- package/skill-data/data-app/SKILL.md +138 -0
- package/skill-data/data-app/template/.env.local.example +2 -0
- package/skill-data/data-app/template/LICENSE +21 -0
- package/skill-data/data-app/template/README.md +29 -0
- package/skill-data/data-app/template/gitignore +5 -0
- package/skill-data/data-app/template/package.json +25 -0
- package/skill-data/data-app/template/src/App.tsx +9 -0
- package/skill-data/data-app/template/src/index.tsx +14 -0
- package/skill-data/data-app/template/src/theme.ts +25 -0
- package/skill-data/data-app/template/tsconfig.json +25 -0
- package/skill-data/data-app/template/vite.config.ts +3 -0
- package/skill-data/data-app-actions/SKILL.md +96 -0
- package/skill-data/data-app-data/SKILL.md +158 -0
- package/skill-data/data-app-filters/SKILL.md +87 -0
- package/skill-data/data-app-ui/SKILL.md +120 -0
- package/skill-data/git-sync/SKILL.md +3 -3
- package/skill-data/transform/SKILL.md +1 -1
- package/dist/db-m5bQcXdn.mjs +0 -24
- package/dist/delete-runtime-CkNvZfFA.mjs +0 -55
- package/dist/embedding-i-KqpefC.mjs +0 -9
- package/dist/git-sync-BwkWeJAz.mjs +0 -29
- package/dist/input-AXP2LCOV.mjs +0 -61
- package/dist/list-CUj04tg3.mjs +0 -38
- package/dist/table-P9ovwcaB.mjs +0 -26
- package/dist/transform-10YE8j5K.mjs +0 -28
- package/dist/transform-job-D97AutnF.mjs +0 -22
|
@@ -1,32 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Dt as PartialWriteError, Ft as isNonInterruptFailure, Mt as errorMessage, Nt as formatZodIssue, Ot as ResponseShapeError, P as CapabilityError, Q as parseJsonOrPlain, St as ConfigError, W as HttpError, Y as isPlainObject, kt as TimeoutError, n as isMethodKey, r as methodRequirements, wt as InternalError } from "./cli.mjs";
|
|
2
2
|
import { n as Notification, r as NotificationCardPayload, t as CARD_PAYLOAD_TYPE } from "./notification-DaA4bBHW.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { n as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { V as profileFromProperties, tt as SessionProperties } from "./runtime-Y4VFWmmr.mjs";
|
|
4
|
+
import { i as CreatedApiKey, t as ApiKey } from "./api-key-DbsqHlN6.mjs";
|
|
5
|
+
import { n as featureFailures, r as supersedingFeature, t as checkFeatures } from "./requirement-check-CpiVuL0H.mjs";
|
|
6
|
+
import { n as createTransport } from "./transport-k_fabWdF.mjs";
|
|
7
|
+
import { i as CardDetail, o as CardQueryResult, t as Card } from "./card-QR3zEu6E.mjs";
|
|
8
|
+
import { f as FieldWithDataSensitivity, g as fieldRemappedValueSchema, h as fieldDetailSchema, n as FieldBaseType, o as FieldSearchMatches, s as FieldSemanticType, u as FieldValues } from "./field-DoWQUl7V.mjs";
|
|
9
|
+
import { r as ModerationReviewCreateInput, t as ModerationReview } from "./moderation-review-Bf9bPNQI.mjs";
|
|
10
|
+
import { a as TemporalUnit, r as ParameterValues } from "./parameter-DvRQMKd2.mjs";
|
|
8
11
|
import { r as PivotExportFormat, t as DatasetQuery } from "./query-BKtMP5eH.mjs";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { t as Database } from "./database-2HYCdHqK.mjs";
|
|
12
|
+
import { b as TableVisibilityType, p as TableQueryMetadata, s as TableDataLayerTier, t as Table, u as TableForeignKey, v as TableSelectors } from "./table-CF7zW9cI.mjs";
|
|
13
|
+
import { c as DatabaseWithSettings, t as Database } from "./database-CxykzTAA.mjs";
|
|
12
14
|
import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
|
|
13
|
-
import { r as QueryMetadata, t as CompiledQuery } from "./dataset-
|
|
14
|
-
import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-
|
|
15
|
+
import { r as QueryMetadata, t as CompiledQuery } from "./dataset-DIQLAp2P.mjs";
|
|
16
|
+
import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-DNmFKALA.mjs";
|
|
15
17
|
import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
|
|
16
|
-
import {
|
|
18
|
+
import { o as DashboardDetail, r as DashboardCopy, t as Dashboard, u as Dashcard } from "./dashboard-Chjy5GKR.mjs";
|
|
17
19
|
import { a as DataActionExecuteResult, s as dataActionSchema } from "./data-action-DZxVB_hD.mjs";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
+
import { i as DataAppEntry, t as DataApp } from "./data-app-BUW-HlUo.mjs";
|
|
21
|
+
import { r as pollUntil } from "./poll-CgtcJopL.mjs";
|
|
22
|
+
import { i as DependencyEntity, s as DependencyGraph, t as BreakingSource, u as DependencyNode } from "./dependency-CaC6XuTY.mjs";
|
|
20
23
|
import { t as Document } from "./document-UMG6me2P.mjs";
|
|
21
24
|
import { i as EidTranslateResult } from "./eid-translation-Ba92VOHe.mjs";
|
|
22
|
-
import {
|
|
25
|
+
import { a as SyncExportPreflight, f as SyncTask, g as isSyncTaskTerminal, l as SyncRemoteChanges, n as SyncBranchCreated, r as SyncDirtyItem, t as RemoteSyncState, u as SyncSettingsUpdateResult } from "./git-sync-DP4wQFzm.mjs";
|
|
23
26
|
import { t as Glossary } from "./glossary-QN-hHfOT.mjs";
|
|
24
|
-
import { a as libraryWireSchema, i as LibraryPublishTablesInput, n as LibraryCollectionInfo, o as toLibrary } from "./library-
|
|
27
|
+
import { a as libraryWireSchema, i as LibraryPublishTablesInput, n as LibraryCollectionInfo, o as toLibrary } from "./library-DKIqzyUk.mjs";
|
|
25
28
|
import { t as Measure } from "./measure-CtfjqJFP.mjs";
|
|
26
|
-
import {
|
|
27
|
-
import { t as Pulse } from "./pulse-Dz0ocv0l.mjs";
|
|
29
|
+
import { t as Pulse } from "./pulse-CC81N2_0.mjs";
|
|
28
30
|
import { a as TransformDagTransform, d as TransformTarget, g as transformRowSchema, h as transformDetailSchema, i as TransformDagRunResult, l as TransformRunSummary, m as isTransformRunTerminal, o as TransformRun, p as isTransformRunFailed, u as TransformSourceTableEntry } from "./transform-DiW7bREn.mjs";
|
|
29
|
-
import { r as SearchResult } from "./search-
|
|
31
|
+
import { r as SearchResult } from "./search-1et9tv_s.mjs";
|
|
30
32
|
import { t as Segment } from "./segment-OsrbUDzw.mjs";
|
|
31
33
|
import { t as Setting } from "./setting-DTiLCW8g.mjs";
|
|
32
34
|
import { n as SetupResult } from "./setup-CO7QV-ao.mjs";
|
|
@@ -48,6 +50,38 @@ var __exportAll = (all, no_symbols) => {
|
|
|
48
50
|
return target;
|
|
49
51
|
};
|
|
50
52
|
//#endregion
|
|
53
|
+
//#region ../client/src/resources/api-key.ts
|
|
54
|
+
function apiKeyResource(transport) {
|
|
55
|
+
/** List the API keys, each with its masked key and the group it acts as. `GET /api/api-key` answers a bare array. */
|
|
56
|
+
async function list(options = {}) {
|
|
57
|
+
return {
|
|
58
|
+
data: await transport.requestParsed(z.array(ApiKey), "/api/api-key", { ...options }),
|
|
59
|
+
total: null
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** Create an API key acting as a member of the group; the answer carries the key itself, which no later read returns. */
|
|
63
|
+
async function create(params, options = {}) {
|
|
64
|
+
return transport.requestParsed(CreatedApiKey, "/api/api-key", {
|
|
65
|
+
...options,
|
|
66
|
+
method: "POST",
|
|
67
|
+
body: params
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/** Delete an API key by id; requests made with it fail from then on. */
|
|
71
|
+
async function remove(id, options = {}) {
|
|
72
|
+
await transport.requestRaw(`/api/api-key/${id}`, {
|
|
73
|
+
...options,
|
|
74
|
+
method: "DELETE",
|
|
75
|
+
expectContentType: "binary"
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
list,
|
|
80
|
+
create,
|
|
81
|
+
delete: remove
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
51
85
|
//#region ../client/src/resources/pivot-export.ts
|
|
52
86
|
const PivotedExportsProperty = SessionProperties.extend({ "enable-pivoted-exports": z.boolean() });
|
|
53
87
|
/**
|
|
@@ -77,11 +111,11 @@ function cardResource(transport) {
|
|
|
77
111
|
}
|
|
78
112
|
/** Get one card by id. */
|
|
79
113
|
async function get(id, options = {}) {
|
|
80
|
-
return transport.requestParsed(
|
|
114
|
+
return transport.requestParsed(CardDetail, `/api/card/${id}`, { ...options });
|
|
81
115
|
}
|
|
82
116
|
/** Create a card — a question, a model, or a metric — from a full card body. */
|
|
83
117
|
async function create(params, options = {}) {
|
|
84
|
-
return transport.requestParsed(
|
|
118
|
+
return transport.requestParsed(CardDetail, "/api/card", {
|
|
85
119
|
...options,
|
|
86
120
|
method: "POST",
|
|
87
121
|
body: params
|
|
@@ -89,7 +123,7 @@ function cardResource(transport) {
|
|
|
89
123
|
}
|
|
90
124
|
/** Update a card by id, patching only the fields the body carries. */
|
|
91
125
|
async function update(id, params, options = {}) {
|
|
92
|
-
return transport.requestParsed(
|
|
126
|
+
return transport.requestParsed(CardDetail, `/api/card/${id}`, {
|
|
93
127
|
...options,
|
|
94
128
|
method: "PUT",
|
|
95
129
|
body: params
|
|
@@ -99,12 +133,20 @@ function cardResource(transport) {
|
|
|
99
133
|
async function archive(id, options = {}) {
|
|
100
134
|
return update(id, { archived: true }, options);
|
|
101
135
|
}
|
|
102
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Run the query associated with a Card and return the query result envelope. A result served
|
|
138
|
+
* from the cache carries the time it was computed in `cached`; `ignore_cache` runs the query
|
|
139
|
+
* against the database instead. The rows stop at the server's row limit for an API run, which
|
|
140
|
+
* `rows_truncated` carries when it cut them; `exportQuery` runs under the larger download limit.
|
|
141
|
+
*/
|
|
103
142
|
async function query(id, params, options = {}) {
|
|
104
143
|
return transport.requestParsed(CardQueryResult, `/api/card/${id}/query`, {
|
|
105
144
|
...options,
|
|
106
145
|
method: "POST",
|
|
107
|
-
body: {
|
|
146
|
+
body: {
|
|
147
|
+
parameters: params.parameters,
|
|
148
|
+
ignore_cache: params.ignore_cache
|
|
149
|
+
}
|
|
108
150
|
});
|
|
109
151
|
}
|
|
110
152
|
/**
|
|
@@ -217,13 +259,17 @@ async function listCollectionsAs(transport, schema, options = {}) {
|
|
|
217
259
|
function collectionResource(transport) {
|
|
218
260
|
/**
|
|
219
261
|
* List collections. `filter` picks a server-side preset: everything, archived, or personal. Every
|
|
220
|
-
* preset includes the Library collections that match it.
|
|
262
|
+
* preset includes the Library collections that match it. `namespace` lists that namespace's
|
|
263
|
+
* collections, with its root, instead of the default namespace's.
|
|
221
264
|
*/
|
|
222
265
|
async function list(params = {}, options = {}) {
|
|
223
266
|
return {
|
|
224
267
|
data: await transport.requestParsed(CollectionApiList, "/api/collection", {
|
|
225
268
|
...options,
|
|
226
|
-
query:
|
|
269
|
+
query: {
|
|
270
|
+
...COLLECTION_LIST_QUERY[params.filter ?? DEFAULT_LIST_FILTER],
|
|
271
|
+
namespace: params.namespace
|
|
272
|
+
}
|
|
227
273
|
}),
|
|
228
274
|
total: null
|
|
229
275
|
};
|
|
@@ -479,15 +525,26 @@ function dashboardResource(transport) {
|
|
|
479
525
|
}
|
|
480
526
|
/**
|
|
481
527
|
* Update a dashboard by id, patching only the fields the body carries. `dashcards` and `tabs` are
|
|
482
|
-
* full replacements: whatever the
|
|
528
|
+
* full replacements: whatever the arrays omit is deleted from the dashboard. A body with
|
|
529
|
+
* `dashcards` and no `tabs` key keeps the current tabs, read first: the server takes the missing
|
|
530
|
+
* key for an empty list and deletes every tab, or fails on a dashcard that still names one.
|
|
483
531
|
*/
|
|
484
532
|
async function update(id, params, options = {}) {
|
|
533
|
+
const body = await withCurrentTabs(id, params, options);
|
|
485
534
|
return transport.requestParsed(DashboardDetail, `/api/dashboard/${id}`, {
|
|
486
535
|
...options,
|
|
487
536
|
method: "PUT",
|
|
488
|
-
body
|
|
537
|
+
body
|
|
489
538
|
});
|
|
490
539
|
}
|
|
540
|
+
async function withCurrentTabs(id, params, options) {
|
|
541
|
+
if (params.dashcards === void 0 || params.tabs !== void 0) return params;
|
|
542
|
+
const current = await get(id, options);
|
|
543
|
+
return {
|
|
544
|
+
...params,
|
|
545
|
+
tabs: tabWrites(current.tabs)
|
|
546
|
+
};
|
|
547
|
+
}
|
|
491
548
|
/**
|
|
492
549
|
* Copy a dashboard, with its tabs and dashcards, into `collection_id` (root when absent). A deep
|
|
493
550
|
* copy duplicates its questions and metrics and references its models. With `is_deep_copy`
|
|
@@ -520,7 +577,7 @@ function dashboardResource(transport) {
|
|
|
520
577
|
/**
|
|
521
578
|
* Patch one dashcard on a dashboard. Metabase exposes no dashcard endpoint and its dashboard PUT
|
|
522
579
|
* is a full replace of `dashcards`, so the patch is read-modify-written over the dashboard as it
|
|
523
|
-
* currently stands.
|
|
580
|
+
* currently stands, its tabs sent back unchanged.
|
|
524
581
|
*/
|
|
525
582
|
async function updateDashcard(dashboardId, dashcardId, params, options = {}) {
|
|
526
583
|
const dashboard = await get(dashboardId, options);
|
|
@@ -530,7 +587,10 @@ function dashboardResource(transport) {
|
|
|
530
587
|
...target,
|
|
531
588
|
...params
|
|
532
589
|
});
|
|
533
|
-
const refreshed = (await update(dashboardId, {
|
|
590
|
+
const refreshed = (await update(dashboardId, {
|
|
591
|
+
dashcards: dashboard.dashcards.map((dashcard) => stripEntityId(dashcard.id === dashcardId ? patched : dashcard)),
|
|
592
|
+
tabs: tabWrites(dashboard.tabs)
|
|
593
|
+
}, options)).dashcards.find((dashcard) => dashcard.id === dashcardId);
|
|
534
594
|
if (refreshed === void 0) throw new Error(`PUT /api/dashboard/${dashboardId}: dashcard ${dashcardId} missing from response`);
|
|
535
595
|
return refreshed;
|
|
536
596
|
}
|
|
@@ -569,17 +629,26 @@ function dashboardResource(transport) {
|
|
|
569
629
|
}
|
|
570
630
|
/**
|
|
571
631
|
* Fetch the selectable values for a dashboard parameter, through the chain-filter value endpoint.
|
|
632
|
+
* `constraints` sets other parameters' values, which narrow the values of a parameter linked to
|
|
633
|
+
* them.
|
|
572
634
|
*/
|
|
573
|
-
async function parameterValues(dashboardId, parameterId, options = {}) {
|
|
574
|
-
return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${encodeURIComponent(parameterId)}/values`, {
|
|
635
|
+
async function parameterValues(dashboardId, parameterId, constraints = {}, options = {}) {
|
|
636
|
+
return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${encodeURIComponent(parameterId)}/values`, {
|
|
637
|
+
...options,
|
|
638
|
+
query: constraints
|
|
639
|
+
});
|
|
575
640
|
}
|
|
576
641
|
/**
|
|
577
642
|
* Search a dashboard parameter's selectable values: the server returns only values containing the
|
|
578
|
-
* substring, capped at the first 1000 matches.
|
|
643
|
+
* substring, capped at the first 1000 matches. `constraints` narrows them as `parameterValues`
|
|
644
|
+
* does.
|
|
579
645
|
*/
|
|
580
|
-
async function searchParameterValues(dashboardId, parameterId, query, options = {}) {
|
|
646
|
+
async function searchParameterValues(dashboardId, parameterId, query, constraints = {}, options = {}) {
|
|
581
647
|
const parameter = encodeURIComponent(parameterId);
|
|
582
|
-
return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${parameter}/search/${encodeURIComponent(query)}`, {
|
|
648
|
+
return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${parameter}/search/${encodeURIComponent(query)}`, {
|
|
649
|
+
...options,
|
|
650
|
+
query: constraints
|
|
651
|
+
});
|
|
583
652
|
}
|
|
584
653
|
return {
|
|
585
654
|
list,
|
|
@@ -617,6 +686,12 @@ function groupByCardId(references) {
|
|
|
617
686
|
}
|
|
618
687
|
return grouped;
|
|
619
688
|
}
|
|
689
|
+
function tabWrites(tabs) {
|
|
690
|
+
return tabs.map(({ id, name }) => ({
|
|
691
|
+
id,
|
|
692
|
+
name
|
|
693
|
+
}));
|
|
694
|
+
}
|
|
620
695
|
function stripEntityId(dashcard) {
|
|
621
696
|
const { entity_id: _entity_id, id, size_x, size_y, row, col, ...rest } = dashcard;
|
|
622
697
|
return {
|
|
@@ -704,6 +779,77 @@ function dataActionResource(transport) {
|
|
|
704
779
|
};
|
|
705
780
|
}
|
|
706
781
|
//#endregion
|
|
782
|
+
//#region ../client/src/resources/data-app.ts
|
|
783
|
+
const DATA_APPS_PATH = "/api/ee/apps";
|
|
784
|
+
function appPath(slug) {
|
|
785
|
+
return `${DATA_APPS_PATH}/${encodeURIComponent(slug)}`;
|
|
786
|
+
}
|
|
787
|
+
function dataAppResource(transport) {
|
|
788
|
+
const { explain } = explainer(transport, "dataApp");
|
|
789
|
+
/** List the data apps; `available` keeps only the enabled ones that aren't outdated. `GET /api/ee/apps` answers a bare array. */
|
|
790
|
+
async function list(filter = {}, options = {}) {
|
|
791
|
+
return {
|
|
792
|
+
data: await transport.requestParsed(z.array(DataAppEntry), DATA_APPS_PATH, {
|
|
793
|
+
...options,
|
|
794
|
+
query: { available: filter.available }
|
|
795
|
+
}),
|
|
796
|
+
total: null
|
|
797
|
+
};
|
|
798
|
+
}
|
|
799
|
+
/** Get one data app by slug; admins read disabled apps too. */
|
|
800
|
+
async function get(slug, options = {}) {
|
|
801
|
+
return transport.requestParsed(DataAppEntry, appPath(slug), { ...options });
|
|
802
|
+
}
|
|
803
|
+
/** Create a data app with its resource collection and an empty bundle; it is disabled unless the body says otherwise. */
|
|
804
|
+
async function create(params, options = {}) {
|
|
805
|
+
return transport.requestParsed(DataApp, DATA_APPS_PATH, {
|
|
806
|
+
...options,
|
|
807
|
+
method: "POST",
|
|
808
|
+
body: params
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
/** Update a data app's fields, or enable or disable it. */
|
|
812
|
+
async function update(slug, params, options = {}) {
|
|
813
|
+
return transport.requestParsed(DataApp, appPath(slug), {
|
|
814
|
+
...options,
|
|
815
|
+
method: "PUT",
|
|
816
|
+
body: params
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
/** Replace a data app's bundle with the text of a built bundle. */
|
|
820
|
+
async function replaceBundle(slug, bundle, options = {}) {
|
|
821
|
+
return transport.requestParsed(DataApp, `${appPath(slug)}/bundle`, {
|
|
822
|
+
...options,
|
|
823
|
+
method: "PUT",
|
|
824
|
+
body: { bundle }
|
|
825
|
+
});
|
|
826
|
+
}
|
|
827
|
+
/** The TypeScript module of the app's queries and actions: a `defineQuery` or `defineAction` call per question and action in its collection. */
|
|
828
|
+
async function typedSchema(slug, options = {}) {
|
|
829
|
+
return (await transport.requestRaw(`${appPath(slug)}/typed-schema`, {
|
|
830
|
+
...options,
|
|
831
|
+
expectContentType: "text"
|
|
832
|
+
})).text();
|
|
833
|
+
}
|
|
834
|
+
/** Delete a data app with its bundle, its collection and its group assignments. */
|
|
835
|
+
async function remove(slug, options = {}) {
|
|
836
|
+
await transport.requestRaw(appPath(slug), {
|
|
837
|
+
...options,
|
|
838
|
+
method: "DELETE",
|
|
839
|
+
expectContentType: "binary"
|
|
840
|
+
});
|
|
841
|
+
}
|
|
842
|
+
return {
|
|
843
|
+
list: explain("list", list),
|
|
844
|
+
get: explain("get", get),
|
|
845
|
+
create: explain("create", create),
|
|
846
|
+
update: explain("update", update),
|
|
847
|
+
replaceBundle: explain("replaceBundle", replaceBundle),
|
|
848
|
+
typedSchema: explain("typedSchema", typedSchema),
|
|
849
|
+
delete: explain("delete", remove)
|
|
850
|
+
};
|
|
851
|
+
}
|
|
852
|
+
//#endregion
|
|
707
853
|
//#region ../client/src/resources/database.ts
|
|
708
854
|
const DatabaseApiList = z.object({
|
|
709
855
|
data: z.array(Database),
|
|
@@ -735,6 +881,14 @@ function databaseResource(transport) {
|
|
|
735
881
|
query: { include: params.include }
|
|
736
882
|
});
|
|
737
883
|
}
|
|
884
|
+
/** Update a database's settings by id; the server merges them into the ones it holds. */
|
|
885
|
+
async function update(id, params, options = {}) {
|
|
886
|
+
return transport.requestParsed(DatabaseWithSettings, `/api/database/${id}`, {
|
|
887
|
+
...options,
|
|
888
|
+
method: "PUT",
|
|
889
|
+
body: params
|
|
890
|
+
});
|
|
891
|
+
}
|
|
738
892
|
/** List the schema names in a database. */
|
|
739
893
|
async function schemas(id, options = {}) {
|
|
740
894
|
return {
|
|
@@ -786,6 +940,7 @@ function databaseResource(transport) {
|
|
|
786
940
|
return {
|
|
787
941
|
list,
|
|
788
942
|
get,
|
|
943
|
+
update,
|
|
789
944
|
schemas,
|
|
790
945
|
schemaTables,
|
|
791
946
|
syncSchema,
|
|
@@ -1285,6 +1440,11 @@ const RemoteSyncBranchProperty = SessionProperties.extend({ "remote-sync-branch"
|
|
|
1285
1440
|
const RemoteSyncUrlProperty = SessionProperties.extend({ "remote-sync-url": z.string().nullable().optional() });
|
|
1286
1441
|
const BRANCH_UNREADABLE_MESSAGE = "the remote-sync-branch setting is not readable: only admins see it, and a server without remote sync has none";
|
|
1287
1442
|
const BRANCH_UNSET_MESSAGE = "git-sync tracks no branch: the remote-sync-branch setting is unset";
|
|
1443
|
+
const RemoteSyncStateProperty = RemoteSyncBranchProperty.extend({
|
|
1444
|
+
"remote-sync-enabled": z.boolean().optional(),
|
|
1445
|
+
"remote-sync-type": RemoteSyncState.shape.sync_type.optional()
|
|
1446
|
+
});
|
|
1447
|
+
const REMOTE_SYNC_STATE_ABSENT_MESSAGE = "the remote-sync-enabled and remote-sync-type settings are absent: the server has no remote-sync module";
|
|
1288
1448
|
function isRemoteUnreadable(error) {
|
|
1289
1449
|
if (!(error instanceof HttpError)) return false;
|
|
1290
1450
|
return error.status === 403 || error.status === 404;
|
|
@@ -1401,13 +1561,14 @@ function gitSyncResource(transport) {
|
|
|
1401
1561
|
merge: params.merge
|
|
1402
1562
|
}
|
|
1403
1563
|
});
|
|
1404
|
-
|
|
1564
|
+
const accepted = {
|
|
1405
1565
|
message: started.message,
|
|
1406
|
-
task_id: started.task_id
|
|
1566
|
+
task_id: started.task_id,
|
|
1567
|
+
branch: branchName ?? null
|
|
1407
1568
|
};
|
|
1569
|
+
if (params.wait === void 0) return accepted;
|
|
1408
1570
|
return {
|
|
1409
|
-
|
|
1410
|
-
task_id: started.task_id,
|
|
1571
|
+
...accepted,
|
|
1411
1572
|
final: await settle(params.wait, options)
|
|
1412
1573
|
};
|
|
1413
1574
|
}
|
|
@@ -1527,6 +1688,24 @@ function gitSyncResource(transport) {
|
|
|
1527
1688
|
return tracked;
|
|
1528
1689
|
}
|
|
1529
1690
|
/**
|
|
1691
|
+
* Whether a remote is configured, through the settings or the environment, the direction the
|
|
1692
|
+
* instance syncs in, which is `read-only` until an admin sets it, and the branch it tracks, all
|
|
1693
|
+
* from one read. The remote's URL is visible to admins only and absent when the environment sets
|
|
1694
|
+
* it, so `configured` is read from its own setting. Refused like `branch` when the caller may not
|
|
1695
|
+
* read the branch, and on a server without the remote-sync module.
|
|
1696
|
+
*/
|
|
1697
|
+
function remote(properties) {
|
|
1698
|
+
const tracked = branch(properties);
|
|
1699
|
+
const configured = properties["remote-sync-enabled"];
|
|
1700
|
+
const syncType = properties["remote-sync-type"];
|
|
1701
|
+
if (configured === void 0 || syncType === void 0) throw new ConfigError(REMOTE_SYNC_STATE_ABSENT_MESSAGE);
|
|
1702
|
+
return {
|
|
1703
|
+
configured,
|
|
1704
|
+
sync_type: syncType,
|
|
1705
|
+
branch: tracked
|
|
1706
|
+
};
|
|
1707
|
+
}
|
|
1708
|
+
/**
|
|
1530
1709
|
* The branch git-sync tracks, refused when none is configured, the server has no remote sync, or
|
|
1531
1710
|
* the caller may not read it.
|
|
1532
1711
|
*/
|
|
@@ -1564,6 +1743,7 @@ function gitSyncResource(transport) {
|
|
|
1564
1743
|
syncedCollections: refuse("syncedCollections", syncedCollections),
|
|
1565
1744
|
remoteUrl,
|
|
1566
1745
|
branch: refuseAfterReading("branch", RemoteSyncBranchProperty, branch),
|
|
1746
|
+
remote: refuseAfterReading("remote", RemoteSyncStateProperty, remote),
|
|
1567
1747
|
trackedBranch: refuseAfterReading("trackedBranch", RemoteSyncBranchProperty, trackedBranch),
|
|
1568
1748
|
waitForTask: explain("waitForTask", waitForTask)
|
|
1569
1749
|
};
|
|
@@ -3872,11 +4052,13 @@ var client_exports = /* @__PURE__ */ __exportAll({ createClient: () => createCli
|
|
|
3872
4052
|
function createClient(config, options) {
|
|
3873
4053
|
const transport = createTransport(config, options);
|
|
3874
4054
|
return {
|
|
4055
|
+
apiKey: apiKeyResource(transport),
|
|
3875
4056
|
card: cardResource(transport),
|
|
3876
4057
|
collection: collectionResource(transport),
|
|
3877
4058
|
contentTranslation: contentTranslationResource(transport),
|
|
3878
4059
|
dashboard: dashboardResource(transport),
|
|
3879
4060
|
dataAction: dataActionResource(transport),
|
|
4061
|
+
dataApp: dataAppResource(transport),
|
|
3880
4062
|
database: databaseResource(transport),
|
|
3881
4063
|
dataset: datasetResource(transport),
|
|
3882
4064
|
dependency: dependencyResource(transport),
|
|
@@ -8,13 +8,13 @@ var collection_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "collection ref forms and the transforms namespace"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
list: () => import("./list-
|
|
12
|
-
get: () => import("./get-
|
|
13
|
-
items: () => import("./items-
|
|
14
|
-
tree: () => import("./tree-
|
|
15
|
-
create: () => import("./create-
|
|
16
|
-
update: () => import("./update-
|
|
17
|
-
archive: () => import("./archive-
|
|
11
|
+
list: () => import("./list-CFaJA317.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-Cc4-e-Q_.mjs").then((mod) => mod.default),
|
|
13
|
+
items: () => import("./items-CLl2QgS8.mjs").then((mod) => mod.default),
|
|
14
|
+
tree: () => import("./tree-C4Igf6xs.mjs").then((mod) => mod.default),
|
|
15
|
+
create: () => import("./create-DO4ic4Kx.mjs").then((mod) => mod.default),
|
|
16
|
+
update: () => import("./update-CciLWH_s.mjs").then((mod) => mod.default),
|
|
17
|
+
archive: () => import("./archive-N3lp1o-k.mjs").then((mod) => mod.default)
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-
|
|
1
|
+
import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-DNmFKALA.mjs";
|
|
2
2
|
//#region src/output/views/collection.ts
|
|
3
3
|
const collectionView = {
|
|
4
4
|
compactPick: CollectionCompact,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { St as ConfigError, W as HttpError } from "./cli.mjs";
|
|
2
2
|
//#region src/commands/transform/collection-namespace.ts
|
|
3
3
|
const TRANSFORMS_NAMESPACE_HINT = "transforms can only be filed in a :transforms-namespace collection. Create one with `mb collection create --body '{\"name\":\"…\"}' --namespace transforms` and pass its id as collection_id, or omit collection_id to leave the transform uncollected.";
|
|
4
4
|
function enrichTransformCollectionError(error) {
|
|
@@ -4,8 +4,8 @@ var content_translation_default = defineCommandGroup({
|
|
|
4
4
|
name: "content-translation",
|
|
5
5
|
description: "Download or replace the content translation dictionary",
|
|
6
6
|
subCommands: {
|
|
7
|
-
download: () => import("./download-
|
|
8
|
-
upload: () => import("./upload-
|
|
7
|
+
download: () => import("./download-BFu9xYHX.mjs").then((mod) => mod.default),
|
|
8
|
+
upload: () => import("./upload-CoK5LnyA.mjs").then((mod) => mod.default)
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { r as DashboardCopy } from "./dashboard-
|
|
5
|
-
import { t as dashboardCopyView } from "./dashboard-
|
|
6
|
-
import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
4
|
+
import { r as DashboardCopy } from "./dashboard-Chjy5GKR.mjs";
|
|
5
|
+
import { t as dashboardCopyView } from "./dashboard-D5E3fMKh.mjs";
|
|
6
|
+
import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-CTM91pxH.mjs";
|
|
7
7
|
//#region src/commands/dashboard/copy.ts
|
|
8
8
|
var copy_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
4
4
|
import { t as Document } from "./document-UMG6me2P.mjs";
|
|
5
|
-
import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-
|
|
5
|
+
import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-CTM91pxH.mjs";
|
|
6
6
|
import { t as documentView } from "./document-DVIu3Vj4.mjs";
|
|
7
7
|
//#region src/commands/document/copy.ts
|
|
8
8
|
var copy_default = defineMetabaseCommand({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as parseOptionalText } from "./parse-text-
|
|
1
|
+
import { pt as parseOptionalInteger } from "./cli.mjs";
|
|
2
|
+
import { t as parseOptionalText } from "./parse-text-FgX60vIg.mjs";
|
|
3
3
|
//#region src/commands/copy-flags.ts
|
|
4
4
|
const copyFlags = {
|
|
5
5
|
name: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as MeasureCreateInput, t as Measure } from "./measure-CtfjqJFP.mjs";
|
|
6
|
-
import { o as preflightMbql5Query, r as MEASURE_DEFINITION_LABELS, s as skipValidateFlag } from "./validate-query-
|
|
6
|
+
import { o as preflightMbql5Query, r as MEASURE_DEFINITION_LABELS, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
|
|
7
7
|
import { t as measureView } from "./measure-4P0bOlZ3.mjs";
|
|
8
8
|
//#region src/commands/measure/create.ts
|
|
9
9
|
var create_default = defineMetabaseCommand({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as Library } from "./library-
|
|
4
|
-
import { t as libraryView } from "./library-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as Library } from "./library-DKIqzyUk.mjs";
|
|
4
|
+
import { t as libraryView } from "./library-wUiD2jbw.mjs";
|
|
5
5
|
//#region src/commands/library/create.ts
|
|
6
6
|
var create_default = defineMetabaseCommand({
|
|
7
7
|
meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as TransformTestCreateInput, t as TransformTest } from "./transform-test-Bexa_K89.mjs";
|
|
6
6
|
import { n as transformTestView } from "./transform-test-C49ZTK7M.mjs";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
-
import { a as DashboardCreateInput, t as Dashboard } from "./dashboard-
|
|
6
|
-
import { n as dashboardView } from "./dashboard-
|
|
7
|
-
import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-
|
|
5
|
+
import { a as DashboardCreateInput, t as Dashboard } from "./dashboard-Chjy5GKR.mjs";
|
|
6
|
+
import { n as dashboardView } from "./dashboard-D5E3fMKh.mjs";
|
|
7
|
+
import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-ChTKhB8Y.mjs";
|
|
8
8
|
//#region src/commands/dashboard/create.ts
|
|
9
9
|
var create_default = defineMetabaseCommand({
|
|
10
10
|
meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as SnippetCreateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
|
|
6
6
|
import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as TransformTagCreateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
|
|
6
6
|
import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
|
|
3
|
+
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as SegmentCreateInput, t as Segment } from "./segment-OsrbUDzw.mjs";
|
|
6
|
-
import { i as SEGMENT_DEFINITION_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-
|
|
6
|
+
import { i as SEGMENT_DEFINITION_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
|
|
7
7
|
import { t as segmentView } from "./segment-C_gl5ag6.mjs";
|
|
8
8
|
//#region src/commands/segment/create.ts
|
|
9
9
|
var create_default = defineMetabaseCommand({
|