@metabase/cli 0.5.3 → 0.5.4
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-D2x34KVO.mjs} +3 -3
- package/dist/{alert-BkpPdBQ_.mjs → alert-B-w0c61D.mjs} +7 -7
- package/dist/{alerts-TDYiIxjs.mjs → alerts-nnrpqD-U.mjs} +6 -6
- package/dist/api-key-CTyXuYui.mjs +13 -0
- package/dist/{append-CoeZRD6u.mjs → append-BPrVW4RB.mjs} +4 -4
- package/dist/{archive-CH1h8jz5.mjs → archive-BYo35OGC.mjs} +5 -5
- package/dist/{archive-9uzfWGuq.mjs → archive-BZVRJYTT.mjs} +5 -5
- package/dist/{archive-DY76wU2k.mjs → archive-Bw_cvk_4.mjs} +3 -3
- package/dist/{archive-NfFWXRx5.mjs → archive-CJFUFozc.mjs} +5 -5
- package/dist/{archive-DQRehboT.mjs → archive-CTZs6Hl6.mjs} +5 -5
- package/dist/{archive-f7wKQ7Uy.mjs → archive-Ccf6Qqrf.mjs} +3 -3
- package/dist/{archive-D-BJwRLc.mjs → archive-Cwetg5kK.mjs} +5 -5
- package/dist/{archive-3fdIvMsf.mjs → archive-DBQnauVo.mjs} +5 -5
- package/dist/{archive-CAJHrKwd.mjs → archive-F5hoWW7f.mjs} +5 -5
- package/dist/{archive-N3lp1o-k.mjs → archive-OZQaaQkK.mjs} +5 -5
- package/dist/{archive-DZDkfhdH.mjs → archive-p7gGwh0n.mjs} +5 -5
- package/dist/{archive-DxUnaV4x.mjs → archive-tmrsG41w.mjs} +3 -3
- package/dist/{auth-hgkvHPpH.mjs → auth-eogOlU4X.mjs} +5 -5
- package/dist/{branch-flag-CPTQ4wXp.mjs → branch-flag-BvIdNB5z.mjs} +1 -1
- package/dist/{branches-B3gHAanU.mjs → branches-CERgKqFq.mjs} +3 -3
- package/dist/{breaking-DuWIof4T.mjs → breaking-B8f_vl0i.mjs} +6 -6
- package/dist/{broken-D2ST8sTx.mjs → broken-mrkOdV4j.mjs} +8 -8
- package/dist/{bulk-discard-values-77khEfpj.mjs → bulk-discard-values-BQ3z6nJb.mjs} +5 -5
- package/dist/{bulk-edit-girwcjY6.mjs → bulk-edit-CJxoxDGQ.mjs} +7 -7
- package/dist/{bulk-rescan-values-Df8KK8um.mjs → bulk-rescan-values-DflzyxEj.mjs} +5 -5
- package/dist/{bulk-sync-schema-DEPUZ6MN.mjs → bulk-sync-schema-CBIs4yHs.mjs} +5 -5
- package/dist/{cancel-Oek5PJnu.mjs → cancel-CyTRWSOr.mjs} +3 -3
- package/dist/{cancel-task-rkqY0qLU.mjs → cancel-task-BuZsQuLp.mjs} +2 -2
- package/dist/{card-QR3zEu6E.mjs → card-BJRZ5D5Q.mjs} +2 -2
- package/dist/card-DA1W3Axw.mjs +25 -0
- package/dist/{card-3NmUiU5F.mjs → card-VipF12MJ.mjs} +1 -1
- package/dist/{cards-DWJOtZoN.mjs → cards-BEeFNiCt.mjs} +6 -6
- package/dist/cli.mjs +128 -294
- package/dist/{client-BFP2Ssqu.mjs → client-DvWllzKd.mjs} +294 -189
- package/dist/{collection-D5vt2IJ_.mjs → collection-Bf3lv-zo.mjs} +1 -1
- package/dist/collection-C98jgufi.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-1coWME1P.mjs} +3 -3
- package/dist/{copy-BzBp5FaY.mjs → copy-DVe4rcLK.mjs} +6 -6
- package/dist/{copy-flags-CTM91pxH.mjs → copy-flags-DZ5Cy-Gk.mjs} +2 -2
- package/dist/{copy-C7Rc4qM7.mjs → copy-hE6SaHfb.mjs} +6 -6
- package/dist/{create-YBDXZgyP.mjs → create-B3P62NaN.mjs} +4 -5
- package/dist/{create-Bc4ADRmU.mjs → create-B3kz_fHg.mjs} +4 -5
- package/dist/{create-DO4ic4Kx.mjs → create-BPRuU7Mv.mjs} +7 -8
- package/dist/{create-71_DODbc.mjs → create-BjH0i2BC.mjs} +9 -10
- package/dist/{create-f0bBEfDI.mjs → create-Btwnm6D2.mjs} +9 -10
- package/dist/{create-CfXKNnkK.mjs → create-CCb2_Kcc.mjs} +6 -7
- package/dist/{create-Bh3q3eHg.mjs → create-D271V9Cf.mjs} +9 -9
- package/dist/{create-_rOCx5b8.mjs → create-D6Xm2b2D.mjs} +4 -5
- package/dist/{create-BKRD11i-.mjs → create-DCoo3sI2.mjs} +4 -4
- package/dist/{create-vgP9K2eH2.mjs → create-DEIIUohY2.mjs} +10 -11
- package/dist/{create-C0gmhNnk.mjs → create-DJg0Ohj5.mjs} +9 -10
- package/dist/{create-DQJ9h86G.mjs → create-DR5tpMUA.mjs} +4 -5
- package/dist/{create-CGE1D0Ay.mjs → create-DR8g_rEL.mjs} +6 -7
- package/dist/{create-C-2ivjed.mjs → create-DXivfl69.mjs} +4 -5
- package/dist/{create-C3H9ljex.mjs → create-DdfFgF-w.mjs} +4 -5
- package/dist/{create-myJ8HR4B.mjs → create-DkFCjBp3.mjs} +6 -7
- package/dist/{create-CjGEkSFz.mjs → create-Dz4c8E33.mjs} +9 -10
- package/dist/{create-YIC3Q0a-.mjs → create-LpdQKxUt.mjs} +7 -7
- package/dist/{create-ByeGK_BE.mjs → create-XCzUuT42.mjs} +4 -5
- package/dist/{create-CGxxztoE.mjs → create-XVjr8IDS.mjs} +6 -7
- package/dist/{create-branch-DBCBMDWh.mjs → create-branch-D_nbKxDS.mjs} +3 -2
- package/dist/{csv-Dtgy7sTg.mjs → csv-LP7sE-CS.mjs} +4 -4
- package/dist/{current-task-AwQisIT9.mjs → current-task-DhgwtGN3.mjs} +3 -3
- package/dist/{dashboard-D5E3fMKh.mjs → dashboard-Bx2sYijR.mjs} +1 -1
- package/dist/dashboard-CR97_zXn.mjs +35 -0
- package/dist/{dashboard-Chjy5GKR.mjs → dashboard-Cwsf-e9T.mjs} +23 -6
- package/dist/data-action-C4jE-RLb.mjs +24 -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-app-BIAvvV2P.mjs → data-app-BlBvvRzC.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-D8mPRqZc.mjs} +8 -8
- package/dist/{delete-BP9-YS-f.mjs → delete-8k7oYDFr.mjs} +4 -4
- package/dist/{delete-BegkpIGi.mjs → delete-B1SbEVIc.mjs} +4 -4
- package/dist/{delete-E-g5b-HU.mjs → delete-CaaPrNOf.mjs} +4 -4
- package/dist/{delete-wnHUWWjX.mjs → delete-CqyBkMCd.mjs} +4 -4
- package/dist/{delete-D9FB7qjX.mjs → delete-CuyGTe0i.mjs} +4 -4
- package/dist/{delete-4v4_lDwD.mjs → delete-DC-DEYSq.mjs} +4 -4
- package/dist/{delete-WrV9I9uw.mjs → delete-DWTqIlbr.mjs} +4 -4
- package/dist/{delete-BSgxmR3y.mjs → delete-DaqzPLcG.mjs} +4 -4
- package/dist/{delete-BHX_F8Qu.mjs → delete-DuaJ8PUI.mjs} +4 -4
- package/dist/{delete-DmM5L0wO.mjs → delete-ZjLpkwgx.mjs} +4 -4
- package/dist/{delete-runtime-CJ7gMYA1.mjs → delete-runtime-DOOy3gzH.mjs} +2 -1
- package/dist/{delete-table-CJq8JM5J.mjs → delete-table-CnGv1gx9.mjs} +4 -4
- package/dist/{dependencies-CnW3RSoZ.mjs → dependencies-D6SNdLW8.mjs} +6 -6
- package/dist/dependency-Bbg9x1V9.mjs +15 -0
- package/dist/{dependency-CaC6XuTY.mjs → dependency-C1DExO6k.mjs} +8 -5
- package/dist/{dependency-Dxvb2Znu.mjs → dependency-DcM96XJ-.mjs} +4 -3
- package/dist/{dependents-DHXqJ3lo.mjs → dependents-BizQb14Q.mjs} +9 -9
- package/dist/{dirty-BRPWPUYH.mjs → dirty-BHwdHOEj.mjs} +3 -3
- package/dist/{discard-values-DBHfVN8o.mjs → discard-values-BWlh2ce8.mjs} +5 -5
- package/dist/document-B6254tue.mjs +20 -0
- package/dist/{document-UMG6me2P.mjs → document-BHOQq2T_.mjs} +2 -2
- package/dist/{document-DVIu3Vj4.mjs → document-lS1XZEF3.mjs} +1 -1
- package/dist/{download-BFu9xYHX.mjs → download-D2wEAgi_.mjs} +2 -2
- package/dist/{eid-eKmbXRds.mjs → eid-KtWIPUCC.mjs} +5 -5
- package/dist/{entity-DjDkaMkB.mjs → entity-DICgy4Bl.mjs} +2 -2
- package/dist/{entry-flags-Cxn09krz.mjs → entry-flags-DLS6r8Vf.mjs} +5 -6
- package/dist/{events-CZL9MU64.mjs → events-B8yMqrrD.mjs} +4 -4
- package/dist/{execute-DBJGtHHG.mjs → execute-Bebvab7D.mjs} +7 -8
- package/dist/{export-xn_-NaBd.mjs → export-BNj3RvAl.mjs} +6 -5
- package/dist/{export-flags-CpukgETM.mjs → export-flags-iXfEILf7.mjs} +3 -2
- package/dist/{export-preflight-SM9zJkBp.mjs → export-preflight-F3OapAD5.mjs} +3 -3
- package/dist/{field-DoWQUl7V.mjs → field-C2qOViFZ.mjs} +8 -2
- package/dist/{field-BVz4AS3f.mjs → field-CT4r6b92.mjs} +1 -1
- package/dist/field-DQAcCjXr.mjs +21 -0
- package/dist/{fields-CB06GFBW.mjs → fields-BkAS_wIA.mjs} +6 -6
- package/dist/{filter-flags-DhE4olyf.mjs → filter-flags-ezqqsOQL.mjs} +4 -4
- package/dist/{fks-CSoS7xZ6.mjs → fks--SaqvPw1.mjs} +6 -6
- package/dist/{get-BYAzIaGG.mjs → get-B1S1kW2N.mjs} +5 -5
- package/dist/{get-CtDZOoWy.mjs → get-B1uiZyyi.mjs} +5 -5
- package/dist/{get-Cl-O6dFs.mjs → get-B2nBYYCw.mjs} +4 -4
- package/dist/{get-BZFyqZXa.mjs → get-BSKpQJVB.mjs} +5 -5
- package/dist/{get-Bt4C-oxh.mjs → get-BjgB5l7X.mjs} +5 -5
- package/dist/{get-Cc4-e-Q_.mjs → get-Boql3_0n.mjs} +5 -5
- package/dist/{get-B8xrmipw.mjs → get-BseHija1.mjs} +5 -5
- package/dist/{get-C1rCVUYw.mjs → get-C9VumVZ3.mjs} +6 -5
- package/dist/{get-BQ7SAJEz.mjs → get-CGPxAoow.mjs} +3 -3
- package/dist/{get-jbOgdCQg.mjs → get-CM9IOr82.mjs} +3 -3
- package/dist/{get-eZEHipwA.mjs → get-CTTKQDr7.mjs} +5 -5
- package/dist/{get-BSPxmP_W.mjs → get-CU1zKfBS.mjs} +5 -5
- package/dist/{get-DIfjxTP8.mjs → get-CWDz6eV2.mjs} +3 -3
- package/dist/{get-BZDUOZxI.mjs → get-C_hatP_z.mjs} +3 -3
- package/dist/{get-Bq_9VSTa.mjs → get-Cdcj1c9U.mjs} +3 -3
- package/dist/{get-CuSwArMS.mjs → get-CiLYhFjU.mjs} +5 -5
- package/dist/{get-BIf6eFWZ.mjs → get-De6qpuzO.mjs} +5 -5
- package/dist/{get--1qTpTIQ.mjs → get-VpGfaL7c.mjs} +5 -5
- package/dist/{get-BW3jSR3y.mjs → get-f2km9wsq.mjs} +3 -3
- package/dist/{get-B8xQXMU6.mjs → get-gGSl7Se4.mjs} +5 -5
- package/dist/{get-BfFZCiZR.mjs → get-iOs1ci6x.mjs} +5 -5
- package/dist/{get-run-C-CNDbv3.mjs → get-run-CHup8cMl.mjs} +5 -5
- package/dist/{get-DePbMmjc.mjs → get-uHs9Ve-4.mjs} +5 -5
- package/dist/git-sync-Czena0TW.mjs +29 -0
- package/dist/glossary-BVxRpD7o.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-B7SlzpkC.mjs} +6 -6
- package/dist/{group-81zoQcEP.mjs → group--6adAsqG.mjs} +2 -2
- package/dist/{has-remote-changes-CDe1teSb.mjs → has-remote-changes-DZq7q2Wk.mjs} +2 -2
- package/dist/{import-B64gjryF.mjs → import-DKZF0kMU.mjs} +6 -5
- package/dist/input-gate-registry-Dh8QjKgW.mjs +14 -0
- package/dist/{is-dirty-DhR3Xqjk.mjs → is-dirty-haRLODo1.mjs} +2 -2
- package/dist/{items-CLl2QgS8.mjs → items-BGWE5hLl.mjs} +7 -6
- package/dist/{key-BYEv4Wgq.mjs → key-DLrpCgdZ.mjs} +1 -1
- package/dist/{library-wUiD2jbw.mjs → library-BprxuqZl.mjs} +1 -1
- package/dist/{library-DKIqzyUk.mjs → library-C4g9pdiS.mjs} +8 -3
- package/dist/{library-C3eO2J07.mjs → library-e3aiJ1Yb.mjs} +5 -5
- package/dist/{list-BIqqh3A-.mjs → list-B9yhUzCc.mjs} +5 -5
- package/dist/{list-CFaJA317.mjs → list-BNel4hYs.mjs} +6 -6
- package/dist/{list-CjpZCiks.mjs → list-Bbc8VYDi.mjs} +3 -3
- package/dist/{list-eGlqXJno.mjs → list-BiIZdUoN.mjs} +5 -5
- package/dist/{list-YFwmHXGG.mjs → list-C-AnwSRP.mjs} +3 -3
- package/dist/{list-s9_LlXCV.mjs → list-CNiCM1NL.mjs} +3 -3
- package/dist/{list-DLLzMaS3.mjs → list-COPGHkWL.mjs} +5 -5
- package/dist/{list-DrIcKxXX.mjs → list-CsXdnNyp.mjs} +5 -5
- package/dist/{list-DyFu5Wx1.mjs → list-D0ASRA_6.mjs} +6 -6
- package/dist/{list-Cu6ET_yD.mjs → list-DAa4EWlv.mjs} +5 -5
- package/dist/{list-DpfOh8-5.mjs → list-DDt1iLXj.mjs} +4 -4
- package/dist/{list-DDPvxfhe.mjs → list-DFuydMdV.mjs} +6 -6
- package/dist/{list-CA939qkn.mjs → list-DFxfpa4W.mjs} +6 -6
- package/dist/{list-C3GBocvB.mjs → list-DJyIkrY1.mjs} +5 -5
- package/dist/{list-C7TFreS8.mjs → list-DUCxqhtn.mjs} +5 -5
- package/dist/{list-CdcFNphE.mjs → list-D_8GeDG-.mjs} +3 -3
- package/dist/{list-BiSwl56L.mjs → list-DcXqKZyg.mjs} +5 -5
- package/dist/{list-D_IT8l9B.mjs → list-DednUvr3.mjs} +3 -3
- package/dist/{list-DyQNRVAf.mjs → list-Dvf1iB8r.mjs} +3 -3
- package/dist/{list-B7Yvz5vA.mjs → list-HI7Mpoy-.mjs} +5 -5
- package/dist/{list-DLwby7YA.mjs → list-OUSeeuXb.mjs} +5 -5
- package/dist/{list-BmvitCWZ.mjs → list-P7FnSsbZ.mjs} +6 -6
- package/dist/{list-D4HNG282.mjs → list-gcDxZ7Th.mjs} +5 -5
- package/dist/{login-Bg7Z3jDy.mjs → login-APHXId1p.mjs} +6 -5
- package/dist/{logout-CAmp7DcS.mjs → logout-V0pxj6AM.mjs} +3 -2
- package/dist/{measure-CtfjqJFP.mjs → measure-BMWrX1ca.mjs} +3 -1
- package/dist/{measure-C31HLp1C.mjs → measure-DnGWkKyx.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-DfZSEK3O.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-Bni-pnKS.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-DkYn86ak.mjs} +5 -4
- package/dist/{pulse-CC81N2_0.mjs → pulse-B2AmIWsO.mjs} +11 -4
- package/dist/{pulse-JPrq6NFP.mjs → pulse-CPSpum5U.mjs} +2 -2
- package/dist/{query-DkaUzmMa.mjs → query-CZbI4Rlv.mjs} +17 -29
- package/dist/{query-pmw23KkL.mjs → query-gHeYfWj_.mjs} +7 -6
- package/dist/{remapping-C3htTzJn.mjs → remapping-hcWkFQsx.mjs} +5 -5
- package/dist/{remove-collection-p_t9rUUX.mjs → remove-collection-Qne5ww6M.mjs} +3 -3
- package/dist/{render-C50k8-jc.mjs → render-d1-sCPn_.mjs} +3 -2
- package/dist/{replace-BQBuFJ1B.mjs → replace-DoU0IFGd.mjs} +4 -4
- package/dist/{requirement-check-CpiVuL0H.mjs → requirement-check-BoVSK1uK.mjs} +2 -2
- package/dist/{rescan-values-DOqXJ3qH.mjs → rescan-values-COzM86P5.mjs} +5 -5
- package/dist/{rescan-values-Ctq8wpkI.mjs → rescan-values-s82n_You.mjs} +5 -5
- package/dist/{run-Dn3e8G4x.mjs → run-Bwj4Uuxk.mjs} +4 -4
- package/dist/{run-2xgPRuKR.mjs → run-JYNbEO_V.mjs} +6 -5
- package/dist/{run-CtMbObQI.mjs → run-Q7fHux1F.mjs} +5 -4
- package/dist/{runs-CgNoQW6M.mjs → runs-GQD6FO2k.mjs} +6 -6
- package/dist/{runtime-Y4VFWmmr.mjs → runtime-iIsqiOwO.mjs} +51 -9
- package/dist/{scaffold-BuL0_ptz.mjs → scaffold-CJo9l-2p.mjs} +4 -4
- package/dist/schema-2JhmK8FM.mjs +283 -0
- package/dist/{schema-tables-BdXuo_lG.mjs → schema-tables-CarGLayY.mjs} +6 -6
- package/dist/{schemas-Dap3KFwY.mjs → schemas-oSjtuQ4G.mjs} +4 -4
- package/dist/{search-DUmFK5Sy.mjs → search-Ca0sIr28.mjs} +7 -6
- package/dist/{search-Dxcejw_v.mjs → search-CvGEL2h-.mjs} +6 -5
- package/dist/{segment-CebcXn2E.mjs → segment-BJCEJwNY.mjs} +6 -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/{send-DYdwcPTb.mjs → send-B4nZI6CU.mjs} +3 -3
- package/dist/{set-xs8Vyvy2.mjs → set-BjMZCdN8.mjs} +5 -6
- package/dist/{set-active-CVI_DDQi.mjs → set-active-CWDdv3kN.mjs} +4 -4
- package/dist/{set-bundle-DX5HqDji.mjs → set-bundle-C2uk4jdt.mjs} +4 -4
- package/dist/{set-data-actions-DAI1XCQ2.mjs → set-data-actions-lWl05ekf.mjs} +6 -6
- package/dist/{set-enabled-0QI-CHAT.mjs → set-enabled-CPhw1AX4.mjs} +4 -4
- package/dist/{set-sensitivity-DqGkiLSr.mjs → set-sensitivity-B7WI5BJC.mjs} +6 -6
- package/dist/{setting-Bmry-y_l.mjs → setting-BvPpFjJT.mjs} +4 -4
- package/dist/{setup-CO7QV-ao.mjs → setup-BnczkG96.mjs} +1 -1
- package/dist/{setup-UM8N9Vh3.mjs → setup-DPRa8Uxm.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-BiSfuDqA.mjs → skills-BCivFuuZ.mjs} +3 -3
- package/dist/{skills-CcLTm3_2.mjs → skills-BY3MCR8i.mjs} +3 -2
- package/dist/{slug-qeARO25o.mjs → slug-COdwq63O.mjs} +1 -1
- package/dist/snippet-BcN1UwoS.mjs +19 -0
- package/dist/{stash-e5cSvnj3.mjs → stash-leoW1fby.mjs} +5 -4
- package/dist/{status-CH7BAWGe.mjs → status-AA4APlwZ.mjs} +3 -3
- package/dist/{status-BHiO3YBe.mjs → status-BezD_K-g.mjs} +4 -4
- package/dist/{subscription-DWleULhN.mjs → subscription-BDukZFlC.mjs} +6 -6
- package/dist/{subscriptions-DcCOA2p1.mjs → subscriptions-CU4E_p7B.mjs} +6 -6
- package/dist/{summary-CipFA6M6.mjs → summary-BFspP71W.mjs} +5 -5
- package/dist/{sync-schema-C45WO4db.mjs → sync-schema-BhRhsm8Y.mjs} +6 -6
- package/dist/{sync-schema-D7p-P8F6.mjs → sync-schema-BtjC-PNY.mjs} +5 -5
- 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-Dzp1uANs.mjs +26 -0
- package/dist/{table-CF7zW9cI.mjs → table-hgrX1i-R.mjs} +36 -5
- 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-Cr5d4Oer.mjs +21 -0
- package/dist/{timeline-event-BF1dqSnD.mjs → timeline-event-BiYDbW3r.mjs} +6 -6
- package/dist/{transform-DiW7bREn.mjs → transform-B62craFM.mjs} +76 -7
- package/dist/transform-C-0nV5Et.mjs +28 -0
- package/dist/{transform-CWGJB8N_.mjs → transform-DKPtUV54.mjs} +2 -2
- package/dist/transform-job-B9MPk7S5.mjs +22 -0
- 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-tag-BYoguZfW.mjs → transform-tag-DQXOPhmt.mjs} +5 -5
- package/dist/transform-test-wmAjyaka.mjs +16 -0
- package/dist/{transforms-C6MFnT4C.mjs → transforms-DcXL4Dox.mjs} +6 -6
- package/dist/{transport-k_fabWdF.mjs → transport-DZSxmmtY.mjs} +5 -4
- package/dist/{tree-C4Igf6xs.mjs → tree-DrYYCdXP.mjs} +4 -3
- package/dist/{typed-schema-Bo0Q6C0S.mjs → typed-schema-DEzmTY3J.mjs} +4 -4
- package/dist/{unpublish-EStytsEm.mjs → unpublish-D8hmulCx.mjs} +3 -3
- package/dist/{unreferenced-DtUuyBrr.mjs → unreferenced-C3CqO3tu.mjs} +6 -6
- package/dist/{update-BXLY92om.mjs → update-3lRE8G9k.mjs} +10 -11
- package/dist/{update-DT8U29Kk.mjs → update-4TDRNrV-.mjs} +7 -8
- package/dist/{update-DT2ViMFr.mjs → update-4sOfpwpv.mjs} +5 -6
- package/dist/{update-DAG8m5f4.mjs → update-552UGPAG.mjs} +7 -8
- package/dist/{update-z8ZGCg1r.mjs → update-7iXRB23T2.mjs} +7 -8
- package/dist/{update-DkvIK-eL.mjs → update-B21GAnzT.mjs} +7 -8
- package/dist/{update-Bba_zPSE.mjs → update-BVz0oIwS.mjs} +10 -11
- package/dist/{update-B1UXRPN-.mjs → update-BxRFktpB.mjs} +8 -9
- package/dist/{update-BOg1jZ_s.mjs → update-CEDMvgJI.mjs} +11 -12
- package/dist/{update-pk0b6vXU.mjs → update-CcNYCalv.mjs} +5 -6
- package/dist/{update-BogvN2Mb.mjs → update-CctMr2T1.mjs} +8 -8
- package/dist/{update-VGgvQu7W.mjs → update-Ch6AAOeh.mjs} +5 -6
- package/dist/{update-CciLWH_s.mjs → update-CtuLA42g.mjs} +11 -11
- package/dist/{update-HbggUPuy.mjs → update-DVD77mVR.mjs} +5 -6
- package/dist/{update-FfeHReec.mjs → update-DmMHHn75.mjs} +10 -11
- package/dist/{update-CCLpNTPa.mjs → update-DvGIaZdl.mjs} +5 -6
- package/dist/{update-DECiEVlk.mjs → update-LlJM4tUd.mjs} +10 -11
- package/dist/{update-DhgfReDD.mjs → update-Zv7PP8nl.mjs} +7 -8
- package/dist/{update-dashcard-m-hkIGUu.mjs → update-dashcard-BijqiYQd.mjs} +7 -8
- package/dist/{update-B0Na11v-.mjs → update-l4WRN6Jh.mjs} +7 -8
- package/dist/{update-DIBaY-fy.mjs → update-sma1ZRm2.mjs} +5 -6
- package/dist/{upgrade-iETJ8fH2.mjs → upgrade-TzILOkiM.mjs} +5 -4
- package/dist/upload-B37bUVl_.mjs +13 -0
- package/dist/{upload-BF5pdKRN.mjs → upload-CdiDKe69.mjs} +2 -2
- package/dist/{upload-CoK5LnyA.mjs → upload-Do-kOGtc.mjs} +3 -3
- package/dist/{uuid-8Ha-8bDX.mjs → uuid-Dqq2WfAT.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-CtY5zv0m.mjs} +5 -5
- package/dist/{verify-CzBZbP4W.mjs → verify-BiB8jzXB.mjs} +3 -3
- package/dist/{verify-cjUPMF_B.mjs → verify-DBTlWx-S.mjs} +3 -3
- package/dist/{verify-crIrbGZV.mjs → verify-DJ7fGyLL.mjs} +4 -3
- package/dist/{wait-mFUfpSaj.mjs → wait-DEYagfq4.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 +14 -13
- 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
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { C as unescapeJsonPointerSegment, o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
|
|
2
|
+
import { $ as main, Ct as resolveCitty, U as featureAvailability, at as formatFlags, dt as urlFlag, et as getMetabaseAugment, f as writeJson, n as resolveCommandPath, ut as profileFlag } from "./cli.mjs";
|
|
3
|
+
import { r as readCachedServerProfile, s as resolveProfileName, t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
|
+
import { n as inputGatesOf } from "./input-gate-registry-Dh8QjKgW.mjs";
|
|
5
|
+
import { c as FieldSemanticType, r as FieldBaseType } from "./field-C2qOViFZ.mjs";
|
|
6
|
+
import { n as ParameterMapping, r as ParameterTarget, t as Parameter } from "./parameter-Bucz3cLJ.mjs";
|
|
7
|
+
import { m as CollectionTreeNode } from "./collection-Cz2qLX2m.mjs";
|
|
8
|
+
import { f as Dashcard, u as DashboardTab } from "./dashboard-Cwsf-e9T.mjs";
|
|
9
|
+
import { a as TipTapNode } from "./document-BHOQq2T_.mjs";
|
|
10
|
+
import { t as QuerySchemaBundle } from "./validate-moGYlHxB.mjs";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
//#region src/runtime/json-schema.ts
|
|
13
|
+
const OPTIONALITY = {
|
|
14
|
+
input: "optin",
|
|
15
|
+
output: "optout"
|
|
16
|
+
};
|
|
17
|
+
const REFINED_PREFIX = "refined: ";
|
|
18
|
+
const LOCAL_DEFS_PREFIX = "#/$defs/";
|
|
19
|
+
const ALTERNATIVE_KEYWORDS = [
|
|
20
|
+
"anyOf",
|
|
21
|
+
"oneOf",
|
|
22
|
+
"allOf"
|
|
23
|
+
];
|
|
24
|
+
const CUSTOM_CHECK = "custom";
|
|
25
|
+
const UNREPORTED_ISSUE = {
|
|
26
|
+
code: "custom",
|
|
27
|
+
input: void 0
|
|
28
|
+
};
|
|
29
|
+
function toJsonSchema(schema, params) {
|
|
30
|
+
const { io } = params;
|
|
31
|
+
return z.toJSONSchema(schema, {
|
|
32
|
+
...params,
|
|
33
|
+
override: ({ zodSchema, jsonSchema }) => {
|
|
34
|
+
if (zodSchema instanceof z.core.$ZodTuple) restoreArity(zodSchema, jsonSchema, io);
|
|
35
|
+
noteRefinements(zodSchema, jsonSchema);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function restoreArity(tuple, json, io) {
|
|
40
|
+
if (json.prefixItems === void 0) return;
|
|
41
|
+
const { items, rest } = tuple._zod.def;
|
|
42
|
+
const required = items.findLastIndex((item) => item._zod[OPTIONALITY[io]] !== "optional") + 1;
|
|
43
|
+
json.minItems = json.minItems === void 0 ? required : Math.max(json.minItems, required);
|
|
44
|
+
if (rest === null) json.items = false;
|
|
45
|
+
}
|
|
46
|
+
function noteRefinements(schema, json) {
|
|
47
|
+
const notes = refinementMessages(schema, json).map((message) => `${REFINED_PREFIX}${message}`);
|
|
48
|
+
if (notes.length === 0) return;
|
|
49
|
+
json.description = [...json.description === void 0 ? [] : [json.description], ...notes].join("; ");
|
|
50
|
+
}
|
|
51
|
+
function refinementMessages(schema, json) {
|
|
52
|
+
const { checks } = schema._zod.def;
|
|
53
|
+
if (checks === void 0) return [];
|
|
54
|
+
const inherited = json.$ref === void 0 ? [] : schema._zod.parent?._zod.def.checks ?? [];
|
|
55
|
+
return checks.filter((check) => check._zod.def.check === CUSTOM_CHECK && !inherited.includes(check)).map((check) => refinementMessage(schema, check));
|
|
56
|
+
}
|
|
57
|
+
function refinementMessage(schema, check) {
|
|
58
|
+
const message = check instanceof z.core.$ZodCustom ? reportedMessage(check._zod.def.error?.(UNREPORTED_ISSUE)) : null;
|
|
59
|
+
if (message === null) throw new Error(`a refinement on a ${schema._zod.def.type} schema has no static message to note`);
|
|
60
|
+
return message;
|
|
61
|
+
}
|
|
62
|
+
function reportedMessage(reported) {
|
|
63
|
+
if (typeof reported === "string") return reported;
|
|
64
|
+
return reported?.message ?? null;
|
|
65
|
+
}
|
|
66
|
+
function notePaths(root, notes) {
|
|
67
|
+
return notes.reduce((noted, { path, note }) => {
|
|
68
|
+
const reached = notePath(noted, path, note, noted.$defs);
|
|
69
|
+
if (reached === null) throw new Error(`no member at "${path.join(".")}" to note`);
|
|
70
|
+
return reached;
|
|
71
|
+
}, root);
|
|
72
|
+
}
|
|
73
|
+
function notePath(schema, path, note, defs) {
|
|
74
|
+
if (typeof schema === "boolean") return null;
|
|
75
|
+
const [key, ...rest] = path;
|
|
76
|
+
if (key === void 0) {
|
|
77
|
+
const description = schema.description === void 0 ? [] : [schema.description];
|
|
78
|
+
return {
|
|
79
|
+
...schema,
|
|
80
|
+
description: [...description, note].join("; ")
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (schema.$ref !== void 0) return noteThroughRef(schema, schema.$ref, path, note, defs);
|
|
84
|
+
const noted = { ...schema };
|
|
85
|
+
let reached = false;
|
|
86
|
+
const property = schema.properties?.[key];
|
|
87
|
+
const notedProperty = property === void 0 ? null : notePath(property, rest, note, defs);
|
|
88
|
+
if (notedProperty !== null) {
|
|
89
|
+
noted.properties = {
|
|
90
|
+
...schema.properties,
|
|
91
|
+
[key]: notedProperty
|
|
92
|
+
};
|
|
93
|
+
reached = true;
|
|
94
|
+
}
|
|
95
|
+
for (const keyword of ALTERNATIVE_KEYWORDS) {
|
|
96
|
+
const alternatives = schema[keyword];
|
|
97
|
+
const notedAlternatives = alternatives === void 0 ? null : noteAlternatives(alternatives, path, note, defs);
|
|
98
|
+
if (notedAlternatives !== null) {
|
|
99
|
+
noted[keyword] = notedAlternatives;
|
|
100
|
+
reached = true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return reached ? noted : null;
|
|
104
|
+
}
|
|
105
|
+
function noteAlternatives(alternatives, path, note, defs) {
|
|
106
|
+
const noted = alternatives.map((alternative) => notePath(alternative, path, note, defs));
|
|
107
|
+
if (noted.every((alternative) => alternative === null)) return null;
|
|
108
|
+
return alternatives.map((alternative, index) => noted[index] ?? alternative);
|
|
109
|
+
}
|
|
110
|
+
function noteThroughRef(schema, ref, path, note, defs) {
|
|
111
|
+
if (!ref.startsWith(LOCAL_DEFS_PREFIX)) throw new Error(`cannot note "${path.join(".")}" through $ref "${ref}"`);
|
|
112
|
+
const target = defs?.[unescapeJsonPointerSegment(ref.slice(8))];
|
|
113
|
+
if (target === void 0) throw new Error(`$ref "${ref}" points at no $defs entry`);
|
|
114
|
+
const notedTarget = notePath(target, path, note, defs);
|
|
115
|
+
if (notedTarget === null) return null;
|
|
116
|
+
const { $ref: _inlined, ...siblings } = schema;
|
|
117
|
+
return {
|
|
118
|
+
...siblings,
|
|
119
|
+
allOf: [...siblings.allOf ?? [], notedTarget]
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/commands/schema.ts
|
|
124
|
+
const NAMED_SCHEMAS = {
|
|
125
|
+
Parameter,
|
|
126
|
+
ParameterMapping,
|
|
127
|
+
ParameterTarget,
|
|
128
|
+
Dashcard,
|
|
129
|
+
DashboardTab,
|
|
130
|
+
CollectionTreeNode,
|
|
131
|
+
TipTapNode,
|
|
132
|
+
FieldBaseType,
|
|
133
|
+
FieldSemanticType
|
|
134
|
+
};
|
|
135
|
+
var SchemaNames = class extends z.core.$ZodRegistry {
|
|
136
|
+
#ids;
|
|
137
|
+
#gateNotes;
|
|
138
|
+
constructor(named, gateNotes) {
|
|
139
|
+
super();
|
|
140
|
+
this.#ids = new Map(Object.entries(named).map(([id, schema]) => [schema, id]));
|
|
141
|
+
this.#gateNotes = gateNotes;
|
|
142
|
+
}
|
|
143
|
+
get(schema) {
|
|
144
|
+
const described = z.globalRegistry.get(schema);
|
|
145
|
+
const id = this.#ids.get(schema);
|
|
146
|
+
const named = id === void 0 ? described : {
|
|
147
|
+
...described,
|
|
148
|
+
id
|
|
149
|
+
};
|
|
150
|
+
const gates = inputGatesOf(schema);
|
|
151
|
+
if (this.#gateNotes === null || gates === null) return named;
|
|
152
|
+
const { server } = this.#gateNotes;
|
|
153
|
+
const prior = described?.description === void 0 ? [] : [described.description];
|
|
154
|
+
const notes = gates.map((gate) => gateNote(gate, server));
|
|
155
|
+
return {
|
|
156
|
+
...named,
|
|
157
|
+
description: [...prior, ...notes].join("; ")
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
const SCHEMA_NAMES = new SchemaNames(NAMED_SCHEMAS, null);
|
|
162
|
+
const GATE_EFFECT_TEXT = {
|
|
163
|
+
needs: {
|
|
164
|
+
claim: "needs",
|
|
165
|
+
verdict: "this server lacks it"
|
|
166
|
+
},
|
|
167
|
+
supersededBy: {
|
|
168
|
+
claim: "read differently under",
|
|
169
|
+
verdict: "this server reads it differently"
|
|
170
|
+
},
|
|
171
|
+
droppedBy: {
|
|
172
|
+
claim: "dropped by",
|
|
173
|
+
verdict: "this server ignores it"
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
function gateNote(gate, server) {
|
|
177
|
+
const text = GATE_EFFECT_TEXT[gate.effect];
|
|
178
|
+
const feature = `${gate.feature} (${featureAvailability(gate.feature)})`;
|
|
179
|
+
const trigger = triggerText(gate.when);
|
|
180
|
+
const claim = `${text.claim} ${feature}`;
|
|
181
|
+
const note = trigger === null ? claim : `${claim} ${trigger}`;
|
|
182
|
+
return server !== null && serverActsOnGate(gate, server) ? `${note}; ${text.verdict}` : note;
|
|
183
|
+
}
|
|
184
|
+
function triggerText(when) {
|
|
185
|
+
switch (when.kind) {
|
|
186
|
+
case "present": return null;
|
|
187
|
+
case "values": return `for ${when.values.map((value) => JSON.stringify(value)).join(", ")}`;
|
|
188
|
+
case "nonEmpty": return "when non-empty";
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function serverActsOnGate(gate, server) {
|
|
192
|
+
const holds = server.features[gate.feature];
|
|
193
|
+
return gate.effect === "needs" ? !holds : holds;
|
|
194
|
+
}
|
|
195
|
+
const PrintedSchema = z.union([z.object({ $schema: z.string() }).loose(), QuerySchemaBundle]).describe("The JSON Schema (draft 2020-12) of the command's body or output; for query's body, the MBQL 5 schema documents");
|
|
196
|
+
var schema_default = defineMetabaseCommand({
|
|
197
|
+
meta: {
|
|
198
|
+
name: "schema",
|
|
199
|
+
description: "Print the schema of a command's JSON body or output"
|
|
200
|
+
},
|
|
201
|
+
details: "Names another command and prints the JSON Schema of the JSON body it accepts, or with --output of the JSON it prints. A body field only some servers take says in its description the feature it needs, as `needs fieldDataSensitivity (v64+)`. Those notes are judged against the server the profile last probed, read from its cache with no request: `this server lacks it` follows a field that server lacks the feature for, which the client refuses there, `this server reads it differently` a value it would take as another, and `this server ignores it` a field it drops unread. A field holding an MBQL 5 query names `mb schema query`, which prints the MBQL 5 query schema that query, card, transform, segment, measure and data-action bodies are checked against.",
|
|
202
|
+
requires: null,
|
|
203
|
+
args: {
|
|
204
|
+
...formatFlags,
|
|
205
|
+
...profileFlag,
|
|
206
|
+
...urlFlag,
|
|
207
|
+
output: {
|
|
208
|
+
type: "boolean",
|
|
209
|
+
description: "Print the schema of the command's output instead of its body"
|
|
210
|
+
},
|
|
211
|
+
command: {
|
|
212
|
+
type: "positional",
|
|
213
|
+
required: true,
|
|
214
|
+
description: "The command, or the group holding it (card, query, …)"
|
|
215
|
+
},
|
|
216
|
+
subcommand: {
|
|
217
|
+
type: "positional",
|
|
218
|
+
required: false,
|
|
219
|
+
description: "The command within that group (create, get, …)"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
outputSchema: PrintedSchema,
|
|
223
|
+
examples: [
|
|
224
|
+
"mb schema card create",
|
|
225
|
+
"mb schema dashboard get --output",
|
|
226
|
+
"mb schema query"
|
|
227
|
+
],
|
|
228
|
+
async run({ args }) {
|
|
229
|
+
if (args.format === "text") throw new ConfigError("schema output is JSON-only; --format text is not supported");
|
|
230
|
+
const path = args.subcommand === void 0 ? [args.command] : [args.command, args.subcommand];
|
|
231
|
+
const side = args.output === true ? "output" : "input";
|
|
232
|
+
writeJson(await schemaJson(path, side, { server: side === "input" ? await cachedServer(args.profile, args.url) : null }));
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
async function cachedServer(profile, url) {
|
|
236
|
+
const cached = await readCachedServerProfile(resolveProfileName(profile), url);
|
|
237
|
+
return cached.kind === "found" ? cached.profile : null;
|
|
238
|
+
}
|
|
239
|
+
async function schemaJson(path, side, gateNotes) {
|
|
240
|
+
return contractJson(await resolveContract(path, side), side, gateNotes);
|
|
241
|
+
}
|
|
242
|
+
async function resolveContract(path, side) {
|
|
243
|
+
const contract = readContract(getMetabaseAugment(await resolveLeaf(path)), side);
|
|
244
|
+
if (contract === null) throw missingSchema(path.join(" "), side);
|
|
245
|
+
return contract;
|
|
246
|
+
}
|
|
247
|
+
async function resolveLeaf(path) {
|
|
248
|
+
const command = await resolveCommandPath(main, path);
|
|
249
|
+
const subCommands = await resolveCitty(command.subCommands);
|
|
250
|
+
if (subCommands === void 0) return command;
|
|
251
|
+
throw new ConfigError(`${path.join(" ")} is a command group; name one of its commands: ${Object.keys(subCommands).join(", ")}`);
|
|
252
|
+
}
|
|
253
|
+
function readContract(augment, side) {
|
|
254
|
+
if (augment === null) return null;
|
|
255
|
+
if (side === "input") return augment.input;
|
|
256
|
+
if (augment.outputSchema === null) return null;
|
|
257
|
+
return {
|
|
258
|
+
kind: "zod",
|
|
259
|
+
schema: augment.outputSchema,
|
|
260
|
+
embedded: []
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
function missingSchema(command, side) {
|
|
264
|
+
if (side === "output") return new ConfigError(`${command} declares no output schema`);
|
|
265
|
+
return new ConfigError(`${command} takes no JSON body, so it has no input schema; pass --output for the schema of what it prints`);
|
|
266
|
+
}
|
|
267
|
+
function contractJson(contract, side, gateNotes) {
|
|
268
|
+
if (contract.kind === "documents") return contract.source.bundle;
|
|
269
|
+
const names = side === "input" ? new SchemaNames(NAMED_SCHEMAS, gateNotes) : SCHEMA_NAMES;
|
|
270
|
+
return notePaths(toJsonSchema(contract.schema, {
|
|
271
|
+
io: side,
|
|
272
|
+
reused: "ref",
|
|
273
|
+
metadata: names
|
|
274
|
+
}), embeddedQueryNotes(contract.embedded));
|
|
275
|
+
}
|
|
276
|
+
function embeddedQueryNotes(embedded) {
|
|
277
|
+
return embedded.map(({ path, documents }) => ({
|
|
278
|
+
path,
|
|
279
|
+
note: `${documents.title} checked against \`mb schema ${documents.command.join(" ")}\``
|
|
280
|
+
}));
|
|
281
|
+
}
|
|
282
|
+
//#endregion
|
|
283
|
+
export { schema_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as parseId } from "./parse-id-
|
|
3
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
5
|
-
import {
|
|
6
|
-
import { u as tableView } from "./table-
|
|
1
|
+
import { gt as listEnvelopeSchema, it as connectionFlags, lt as outputFlags, s as renderList, st as listFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
|
+
import { n as windowList } from "./window-D1w7B0vh.mjs";
|
|
5
|
+
import { l as TableCompact } from "./table-hgrX1i-R.mjs";
|
|
6
|
+
import { u as tableView } from "./table-BNA9Or05.mjs";
|
|
7
7
|
//#region src/commands/db/schema-tables.ts
|
|
8
8
|
const DatabaseSchemaTablesEnvelope = listEnvelopeSchema(TableCompact);
|
|
9
9
|
var schema_tables_default = defineMetabaseCommand({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as parseId } from "./parse-id-
|
|
3
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
1
|
+
import { gt as listEnvelopeSchema, it as connectionFlags, lt as outputFlags, s as renderList, st as listFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
|
+
import { n as windowList } from "./window-D1w7B0vh.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/db/schemas.ts
|
|
7
7
|
const SchemaName = z.object({ name: z.string() });
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
import { n as
|
|
1
|
+
import { o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
|
|
2
|
+
import { gt as listEnvelopeSchema, it as connectionFlags, lt as outputFlags, s as renderList, st as listFlags, ut as profileFlag } from "./cli.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
4
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
5
|
+
import { t as collectForOutput } from "./window-D1w7B0vh.mjs";
|
|
6
|
+
import { n as parseText } from "./parse-text-C4LYzIFa.mjs";
|
|
7
|
+
import { n as FieldValueLabel, o as fieldValueLabelView, u as toValueLabel } from "./field-CT4r6b92.mjs";
|
|
7
8
|
//#region src/commands/field/search.ts
|
|
8
9
|
const FieldSearchListEnvelope = listEnvelopeSchema(FieldValueLabel);
|
|
9
10
|
function fieldSearchValue(value, limit) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
1
|
+
import { o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
|
|
2
|
+
import { St as parseEnumCsv, ct as listFlagsWithDefaultLimit, gt as listEnvelopeSchema, it as connectionFlags, lt as outputFlags, ot as listFlag, s as renderList, ut as profileFlag } from "./cli.mjs";
|
|
3
|
+
import { n as parseIdCsv, t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
4
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
5
|
+
import { r as windowServerPage } from "./window-D1w7B0vh.mjs";
|
|
5
6
|
import { i as SearchResultCompact, n as SearchModel, t as SEARCH_MODELS } from "./search-1et9tv_s.mjs";
|
|
6
|
-
import { t as parseOptionalText } from "./parse-text-
|
|
7
|
+
import { t as parseOptionalText } from "./parse-text-C4LYzIFa.mjs";
|
|
7
8
|
//#region src/output/views/search.ts
|
|
8
9
|
function searchLocation(row) {
|
|
9
10
|
const tableName = row.table_name;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group
|
|
1
|
+
import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
|
|
2
2
|
//#region src/commands/segment/index.ts
|
|
3
3
|
var segment_default = defineCommandGroup({
|
|
4
4
|
name: "segment",
|
|
@@ -11,11 +11,11 @@ var segment_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "define reusable segments"
|
|
12
12
|
}],
|
|
13
13
|
subCommands: {
|
|
14
|
-
list: () => import("./list-
|
|
15
|
-
get: () => import("./get-
|
|
16
|
-
create: () => import("./create-
|
|
17
|
-
update: () => import("./update-
|
|
18
|
-
archive: () => import("./archive-
|
|
14
|
+
list: () => import("./list-HI7Mpoy-.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-BSKpQJVB.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-DJg0Ohj5.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-BVz0oIwS.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-F5hoWW7f.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { t as gateInput } from "./input-gate-registry-Dh8QjKgW.mjs";
|
|
2
|
+
import { i as TABLE_FROM_DEFINITION_GATE } from "./table-hgrX1i-R.mjs";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
//#region ../client/src/domain/segment.ts
|
|
3
5
|
const Segment = z.object({
|
|
@@ -26,7 +28,7 @@ const SegmentCompact = Segment.pick({
|
|
|
26
28
|
const SegmentDefinition = z.record(z.string(), z.unknown()).describe("MBQL query holding the filter");
|
|
27
29
|
const SegmentCreateInput = z.object({
|
|
28
30
|
name: z.string().min(1),
|
|
29
|
-
table_id: z.number().int().positive(),
|
|
31
|
+
table_id: gateInput(z.number().int().positive(), TABLE_FROM_DEFINITION_GATE),
|
|
30
32
|
definition: SegmentDefinition,
|
|
31
33
|
description: z.string().nullable().optional()
|
|
32
34
|
}).loose();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as parseId } from "./parse-id-
|
|
3
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/alert/send.ts
|
|
6
6
|
const AlertSendResult = z.object({
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
1
|
+
import { h as formatScalar, it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
3
|
import { r as SettingValue } from "./setting-DTiLCW8g.mjs";
|
|
5
4
|
import { t as settingValueView } from "./setting-CwRYgHYN.mjs";
|
|
6
|
-
import { t as parseSettingKey } from "./key-
|
|
5
|
+
import { t as parseSettingKey } from "./key-DLrpCgdZ.mjs";
|
|
7
6
|
import { z } from "zod";
|
|
8
7
|
//#region src/commands/setting/set.ts
|
|
9
8
|
const SettingValueInput = z.unknown().describe("Any JSON value; the setting's own type constraints are enforced server-side");
|
|
@@ -41,13 +40,13 @@ var set_default = defineMetabaseCommand({
|
|
|
41
40
|
`mb setting set remote-sync-branch --file value.json`,
|
|
42
41
|
`mb setting set remote-sync-branch null`
|
|
43
42
|
],
|
|
44
|
-
async run({ args, ctx, getClient }) {
|
|
43
|
+
async run({ args, ctx, getClient, readBody }) {
|
|
45
44
|
const key = parseSettingKey(args.key);
|
|
46
45
|
const value = await readBody({
|
|
47
46
|
file: args.file,
|
|
48
47
|
positional: args.value,
|
|
49
48
|
source: `setting ${key} value`
|
|
50
|
-
}
|
|
49
|
+
});
|
|
51
50
|
await (await getClient()).setting.set(key, value);
|
|
52
51
|
renderSummary({
|
|
53
52
|
key,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { n as TransformJobActiveResult } from "./transform-job-
|
|
4
|
-
import { t as parseEnumFlag } from "./parse-enum-
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
3
|
+
import { n as TransformJobActiveResult } from "./transform-job-CDIb3B9o.mjs";
|
|
4
|
+
import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/transform-job/set-active.ts
|
|
7
7
|
const ActiveWord = z.enum(["true", "false"]);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
3
3
|
import { t as DataApp } from "./data-app-BUW-HlUo.mjs";
|
|
4
4
|
import { t as dataAppView } from "./data-app-Blz61mG5.mjs";
|
|
5
|
-
import { n as slugArg, t as parseSlug } from "./slug-
|
|
6
|
-
import { n as readBundle, t as DEFAULT_BUNDLE_PATH } from "./data-app-project-
|
|
5
|
+
import { n as slugArg, t as parseSlug } from "./slug-COdwq63O.mjs";
|
|
6
|
+
import { n as readBundle, t as DEFAULT_BUNDLE_PATH } from "./data-app-project-DjDDWgUF.mjs";
|
|
7
7
|
//#region src/commands/data-app/set-bundle.ts
|
|
8
8
|
var set_bundle_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as parseId } from "./parse-id-
|
|
3
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { c as DatabaseWithSettings } from "./database-
|
|
5
|
-
import { t as parseEnumFlag } from "./parse-enum-
|
|
6
|
-
import { t as databaseDataActionsView } from "./database-
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
|
+
import { c as DatabaseWithSettings } from "./database-C5ucihp3.mjs";
|
|
5
|
+
import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.mjs";
|
|
6
|
+
import { t as databaseDataActionsView } from "./database-u_spHEa0.mjs";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
//#region src/commands/db/set-data-actions.ts
|
|
9
9
|
const EnabledWord = z.enum(["true", "false"]);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
3
3
|
import { t as DataApp } from "./data-app-BUW-HlUo.mjs";
|
|
4
|
-
import { t as parseEnumFlag } from "./parse-enum-
|
|
4
|
+
import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.mjs";
|
|
5
5
|
import { t as dataAppView } from "./data-app-Blz61mG5.mjs";
|
|
6
|
-
import { n as slugArg, t as parseSlug } from "./slug-
|
|
6
|
+
import { n as slugArg, t as parseSlug } from "./slug-COdwq63O.mjs";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
//#region src/commands/data-app/set-enabled.ts
|
|
9
9
|
const EnabledWord = z.enum(["true", "false"]);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as parseId } from "./parse-id-
|
|
3
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import {
|
|
5
|
-
import { t as parseEnumFlag } from "./parse-enum-
|
|
6
|
-
import { l as fieldWithDataSensitivityView } from "./field-
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-EXZan40V.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
|
+
import { a as FieldDataSensitivity, p as FieldWithDataSensitivity } from "./field-C2qOViFZ.mjs";
|
|
5
|
+
import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.mjs";
|
|
6
|
+
import { l as fieldWithDataSensitivityView } from "./field-CT4r6b92.mjs";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
//#region src/commands/field/set-sensitivity.ts
|
|
9
9
|
const NONE = "none";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group
|
|
1
|
+
import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
|
|
2
2
|
//#region src/commands/setting/index.ts
|
|
3
3
|
var setting_default = defineCommandGroup({
|
|
4
4
|
name: "setting",
|
|
@@ -8,9 +8,9 @@ var setting_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "setting get/set JSON value quoting"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
list: () => import("./list-
|
|
12
|
-
get: () => import("./get-
|
|
13
|
-
set: () => import("./set-
|
|
11
|
+
list: () => import("./list-Dvf1iB8r.mjs").then((m) => m.default),
|
|
12
|
+
get: () => import("./get-C_hatP_z.mjs").then((m) => m.default),
|
|
13
|
+
set: () => import("./set-BjMZCdN8.mjs").then((m) => m.default)
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
//#endregion
|
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
const SetupUserInput = z.object({
|
|
4
4
|
first_name: z.string().min(1).nullable().optional(),
|
|
5
5
|
last_name: z.string().min(1).nullable().optional(),
|
|
6
|
-
email: z.
|
|
6
|
+
email: z.string(),
|
|
7
7
|
password: z.string().min(1).describe("must satisfy the server's password complexity requirements")
|
|
8
8
|
}).loose();
|
|
9
9
|
const SetupPrefsInput = z.object({
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-M5qsJoub.mjs";
|
|
1
|
+
import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
|
|
4
3
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
-
import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "./setup-
|
|
4
|
+
import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "./setup-BnczkG96.mjs";
|
|
6
5
|
//#region src/output/views/setup.ts
|
|
7
6
|
const setupResultView = {
|
|
8
7
|
compactPick: SetupResultCompact,
|
|
@@ -32,11 +31,11 @@ var setup_default = defineMetabaseCommand({
|
|
|
32
31
|
"mb setup --file setup.json",
|
|
33
32
|
"mb setup --body '{\"token\":\"...\",\"user\":{\"email\":\"a@b.c\",\"password\":\"...\"}}'"
|
|
34
33
|
],
|
|
35
|
-
async run({ args, ctx, getClient }) {
|
|
34
|
+
async run({ args, ctx, getClient, readBody }) {
|
|
36
35
|
const body = await readBody({
|
|
37
36
|
flag: args.body,
|
|
38
37
|
file: args.file
|
|
39
|
-
}
|
|
38
|
+
});
|
|
40
39
|
renderSummary(await (await getClient()).setup.create(body), setupResultView, "Metabase setup complete.", ctx);
|
|
41
40
|
}
|
|
42
41
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as errorMessage, i as AbortError, l as MetabaseError } from "./predicates-0C0TsWcJ.mjs";
|
|
2
2
|
//#region ../client/src/signal.ts
|
|
3
3
|
function combineAborts(...signals) {
|
|
4
4
|
return AbortSignal.any(signals.filter((signal) => signal !== void 0));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { I as RequirementFailure, S as listTruncationNotice, T as warn } from "./cli.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/output/skill-list.ts
|
|
4
4
|
const UnavailableSkillJson = z.object({
|
|
@@ -7,9 +7,9 @@ var skills_default = defineCommand({
|
|
|
7
7
|
},
|
|
8
8
|
default: "list",
|
|
9
9
|
subCommands: {
|
|
10
|
-
list: () => import("./list-
|
|
11
|
-
get: () => import("./get-
|
|
12
|
-
path: () => import("./path-
|
|
10
|
+
list: () => import("./list-CsXdnNyp.mjs").then((m) => m.default),
|
|
11
|
+
get: () => import("./get-C9VumVZ3.mjs").then((m) => m.default),
|
|
12
|
+
path: () => import("./path-Bni-pnKS.mjs").then((m) => m.default)
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
//#endregion
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { g as errorMessage, h as ValidationError, o as ConfigError, v as isFileNotFoundError } from "./predicates-0C0TsWcJ.mjs";
|
|
2
|
+
import { N as readEnv, W as isFeatureName, bt as parseCsv, k as ENV_SKILLS_DIR, z as FEATURE_NAMES } from "./cli.mjs";
|
|
3
|
+
import { t as checkFeatures } from "./requirement-check-BoVSK1uK.mjs";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
|
|
5
6
|
import { dirname, join, resolve } from "node:path";
|