@metabase/cli 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-collection-BjVAdZ1n.mjs → add-collection-CC6KSwjX.mjs} +5 -5
- package/dist/{alert-DCLhfwdv.mjs → alert-Dt6La9tK.mjs} +7 -7
- package/dist/{alerts-DRin_wt2.mjs → alerts-ClKnJqgB.mjs} +6 -6
- package/dist/{append-DQ9rPJHZ.mjs → append-pnaQWP_A.mjs} +4 -4
- package/dist/{archive-D6xzHaM3.mjs → archive-By1pLYtO.mjs} +3 -3
- package/dist/{archive-xcgoVPwv.mjs → archive-CLu2TGW5.mjs} +5 -5
- package/dist/{archive-HeRygdKz2.mjs → archive-COP9joWU.mjs} +4 -4
- package/dist/{archive-COFQAHAL.mjs → archive-CSnBFcQ_.mjs} +3 -3
- package/dist/{archive-1YVo-Wsu.mjs → archive-Ct1eyolN.mjs} +3 -3
- package/dist/{archive-_c-ISZmi.mjs → archive-D7nAQcCz.mjs} +3 -3
- package/dist/{archive-BzVxRqpL.mjs → archive-DEDA48w3.mjs} +5 -5
- package/dist/{archive-BVRKE9Ev.mjs → archive-DJAsSzCz.mjs} +5 -5
- package/dist/{archive-BPCgmLcV.mjs → archive-DtabbPUk.mjs} +4 -4
- package/dist/{archive-o5cWV3vZ.mjs → archive-YNpa8daf.mjs} +3 -3
- package/dist/{archive-D3yPvUtz.mjs → archive-ewitrKdx.mjs} +5 -5
- package/dist/{auth-DJn5T6zA.mjs → auth-DdLhXCn-.mjs} +5 -5
- package/dist/body-Dd-TwYYL.mjs +17 -0
- package/dist/branch-flag-pFQPNYKr.mjs +9 -0
- package/dist/{branches-CUyPxeeW.mjs → branches-ZvGNhed6.mjs} +3 -3
- package/dist/breaking-BLswgvkA.mjs +36 -0
- package/dist/broken-BN0nL2hf.mjs +37 -0
- package/dist/bulk-discard-values-DFJUjSnE.mjs +49 -0
- package/dist/bulk-edit-Brqr67bu.mjs +53 -0
- package/dist/bulk-rescan-values-DndXXi2N.mjs +28 -0
- package/dist/bulk-sync-schema-mO-t2QlL.mjs +28 -0
- package/dist/{cancel-BNuVls58.mjs → cancel-DP03dXBf.mjs} +3 -3
- package/dist/{cancel-task-DUmlQQpi.mjs → cancel-task-CELBfBPP.mjs} +4 -4
- package/dist/{card-voh1k4hl.mjs → card-Bv4ZN0oV.mjs} +5 -3
- package/dist/card-CFd-GUEM.mjs +25 -0
- package/dist/{card-CEkp1mcI.mjs → card-DSrgU7lT.mjs} +1 -1
- package/dist/{cards-_gbvw3wp.mjs → cards-Cn2ywFTJ.mjs} +6 -6
- package/dist/cli.mjs +410 -100
- package/dist/{client-BnK0evYf.mjs → client-ToLiPu9q.mjs} +316 -316
- package/dist/{collection-DYM0p3Xl.mjs → collection-BG3Ksea-.mjs} +1 -1
- package/dist/collection-BKNShKcY.mjs +21 -0
- package/dist/{collection-BxdPxD38.mjs → collection-D3KXhvnc.mjs} +7 -5
- package/dist/{collection-namespace-DM90lA8C.mjs → collection-namespace-CWW6hZxK.mjs} +2 -2
- package/dist/{content-translation-CqB3peU9.mjs → content-translation-C19SqZWp.mjs} +3 -3
- package/dist/copy-BGK8Wz6d.mjs +55 -0
- package/dist/copy-COLUuiuF.mjs +36 -0
- package/dist/copy-flags-eU8aa0zj.mjs +32 -0
- package/dist/{create-CnJKj9Nl.mjs → create-B2tuInV9.mjs} +4 -4
- package/dist/{create-D4Y69cDF.mjs → create-B3TKri1E.mjs} +4 -4
- package/dist/{create-BSvTs-EV.mjs → create-B4gXKDRr.mjs} +3 -3
- package/dist/create-B63JphYe.mjs +34 -0
- package/dist/{create-IFjwHs0G.mjs → create-BH6kLjHS.mjs} +4 -4
- package/dist/{create-BIUVvIGH.mjs → create-BwifyhyL.mjs} +3 -3
- package/dist/{create-CwXUMOMd.mjs → create-Colz5bOO.mjs} +3 -3
- package/dist/{create-Cm9Z-rfe2.mjs → create-CulUZgN1.mjs} +4 -4
- package/dist/{create-DNx9TGHs.mjs → create-Cxuqr3kT.mjs} +6 -6
- package/dist/{create-CUHpxANR.mjs → create-CzW_UTE7.mjs} +6 -6
- package/dist/{create-BMKuihoI.mjs → create-DNR8RMvV.mjs} +6 -6
- package/dist/{create-DMVw9nrZ.mjs → create-DSHeoV7e.mjs} +4 -4
- package/dist/{create-DVo8-IzZ.mjs → create-DWbW2WSc.mjs} +6 -6
- package/dist/{create-va8bByVt.mjs → create-Dx8nfjGs.mjs} +3 -3
- package/dist/{create-B7S5fCkD.mjs → create-XGomrTz5.mjs} +5 -5
- package/dist/{create-branch-Cw-uXows.mjs → create-branch-DxL7KUZp.mjs} +4 -4
- package/dist/{create-B48rmY8v.mjs → create-g1f2yJ4s.mjs} +3 -3
- package/dist/{csv-CaKx1oFZ.mjs → csv-C6TEfLMi.mjs} +4 -4
- package/dist/{current-task-lGh69Z1i.mjs → current-task-CHs0zNFM.mjs} +4 -4
- package/dist/dashboard-AWrXqQ7a.mjs +35 -0
- package/dist/{dashboard-D0hwTC-f.mjs → dashboard-Phz3XpRM.mjs} +2 -1
- package/dist/{dashboard-DgK81azj.mjs → dashboard-XSTr9QCr.mjs} +6 -2
- package/dist/database-D-CRyRIv.mjs +45 -0
- package/dist/{database-C3E9PZSx.mjs → database-MlUPpitM.mjs} +1 -1
- package/dist/dataset-p5oNPQgL.mjs +66 -0
- package/dist/{db-BRHPjshe.mjs → db-BFSeETMO.mjs} +7 -7
- package/dist/{delete-DMETa-37.mjs → delete-BUKgSJhh.mjs} +4 -4
- package/dist/{delete-CQWCfqHf.mjs → delete-CPBByycV.mjs} +4 -4
- package/dist/{delete-Ci0aDYpf.mjs → delete-Cucqn4-V.mjs} +4 -4
- package/dist/{delete-BxBadE3q.mjs → delete-D79TlpcE.mjs} +4 -4
- package/dist/delete-DZJxBmdU.mjs +44 -0
- package/dist/{delete-G6EiGn2Q.mjs → delete-DndykJn2.mjs} +4 -4
- package/dist/delete-runtime-BbmRg_in.mjs +55 -0
- package/dist/{delete-table-N4rZtt1T.mjs → delete-table-CbsWcjh5.mjs} +4 -4
- package/dist/{dependencies-edN0P1SS.mjs → dependencies-B-880phi.mjs} +5 -5
- package/dist/dependency-DBUJwXqv.mjs +15 -0
- package/dist/dependency-DKSjKT8P.mjs +165 -0
- package/dist/dependency-DSxKm9oS.mjs +111 -0
- package/dist/dependents-C_FDnpZs.mjs +52 -0
- package/dist/{dirty-U51bMoCP.mjs → dirty-B-Is68--.mjs} +5 -5
- package/dist/discard-values-yzH-kIsr.mjs +55 -0
- package/dist/document-BRaba87v.mjs +20 -0
- package/dist/{document-CA0Q6lqu.mjs → document-C18b5rM6.mjs} +1 -1
- package/dist/{document-BHpLJbKU.mjs → document-DFCj1Az_.mjs} +2 -1
- package/dist/{download-BJA6k-e6.mjs → download-DluF-vnU.mjs} +2 -2
- package/dist/{eid-BtlRU1E0.mjs → eid-Dz-mP40j.mjs} +11 -10
- package/dist/entity-CA4zfRt4.mjs +20 -0
- package/dist/entry-flags-7x7bIyOQ.mjs +42 -0
- package/dist/{events-B5rnOo-L.mjs → events-2sOk6H09.mjs} +4 -4
- package/dist/export-BKkAJOFb.mjs +74 -0
- package/dist/export-flags-NiZ7C3Gm.mjs +81 -0
- package/dist/export-preflight-CwJ_3-iX.mjs +35 -0
- package/dist/{field-CcN4oZy6.mjs → field-5nivEfd6.mjs} +33 -3
- package/dist/field-BARgq5I9.mjs +21 -0
- package/dist/field-wmN6raOG.mjs +128 -0
- package/dist/{fields-zQ6O_W_H.mjs → fields-Bod0s_uV.mjs} +6 -6
- package/dist/filter-flags-BYcbB85j.mjs +71 -0
- package/dist/fks-IUw66K_Q.mjs +36 -0
- package/dist/{get-BDrmBZ1z.mjs → get-B8DUMrCw.mjs} +5 -5
- package/dist/{get-is8x5f2n.mjs → get-BGqvoGQM.mjs} +3 -3
- package/dist/{get-CekXFP3x.mjs → get-BSUsfysk.mjs} +3 -3
- package/dist/{get-CeSQptdl.mjs → get-BXsLkoit.mjs} +5 -5
- package/dist/{get-DhpMuTSt.mjs → get-BXssHyJ1.mjs} +5 -5
- package/dist/get-Bct52yPw.mjs +36 -0
- package/dist/{get-DXwlZjw0.mjs → get-Besqwy32.mjs} +3 -3
- package/dist/{get-BLjcCXp8.mjs → get-BfSX-OeS.mjs} +3 -3
- package/dist/{get-BLcS4il2.mjs → get-Biy4gOzu2.mjs} +3 -3
- package/dist/{get-BSoMWp4t2.mjs → get-CYIeiTZ9.mjs} +4 -4
- package/dist/{get-CwiJWeH4.mjs → get-CaEiQnSw.mjs} +4 -4
- package/dist/{get-xPv7e5Ez.mjs → get-Cl81y0Md.mjs} +5 -5
- package/dist/{get-Cf6a4fFN.mjs → get-D1NjMXAH.mjs} +4 -4
- package/dist/{get-EFsmL4le.mjs → get-D2cPuOPR.mjs} +5 -5
- package/dist/{get-Dg-S07ri.mjs → get-DITlshJH.mjs} +3 -3
- package/dist/{get-CTp5l7aU.mjs → get-DLyg6Al9.mjs} +3 -3
- package/dist/{get-93wuhTn2.mjs → get-DQZfaVNq.mjs} +4 -4
- package/dist/{get-CG6G-mzV.mjs → get-DtBqoGTa.mjs} +5 -5
- package/dist/{get-DC_huYD8.mjs → get-_ik_5_lQ.mjs} +5 -5
- package/dist/{get-run-DwY4sFGy.mjs → get-run-CEc_tr5b.mjs} +4 -4
- package/dist/{git-sync-BwBRmEhE.mjs → git-sync-COokpYgc.mjs} +12 -3
- package/dist/git-sync-DKcaddkV.mjs +29 -0
- package/dist/git-sync-DspFahwV.mjs +165 -0
- package/dist/glossary-BlNCrYbw.mjs +30 -0
- package/dist/glossary-CWIX8Zh6.mjs +14 -0
- package/dist/glossary-LmZWwCNP.mjs +21 -0
- package/dist/graph-f6Bp1e8U.mjs +34 -0
- package/dist/{group-YQQ5GIcP.mjs → group-bpD_KcjA.mjs} +1 -1
- package/dist/{has-remote-changes-DE2_14FK.mjs → has-remote-changes-B8MmN6yh.mjs} +4 -4
- package/dist/{import-Cs7wk058.mjs → import-Bhq15KgP.mjs} +19 -8
- package/dist/{input-DEvkIjGr.mjs → input-D8qW-KtR.mjs} +6 -2
- package/dist/{is-dirty-XqDfqXGi.mjs → is-dirty-CAsVuVx8.mjs} +2 -2
- package/dist/{items-BloAjPwA.mjs → items-BZJomiDE.mjs} +8 -8
- package/dist/{key-PYetuQ13.mjs → key-BynJSK9u.mjs} +1 -1
- package/dist/{library-Dgq_5BFh.mjs → library-B7wDH-Nc.mjs} +5 -5
- package/dist/{library-PGCfm0UA.mjs → library-BOv5SY24.mjs} +1 -1
- package/dist/{library-BPIzb3K_.mjs → library-Ck0EK5bi.mjs} +4 -2
- package/dist/{list-CZCaqPoo.mjs → list-B2uUl26x.mjs} +6 -6
- package/dist/{list-3ErmGdY0.mjs → list-B4luDSYj.mjs} +6 -6
- package/dist/{list-D04uiS3F.mjs → list-B8ND9t2h.mjs} +3 -3
- package/dist/{list-CghNKfYJ.mjs → list-BT5t8ZOl.mjs} +4 -4
- package/dist/{list-VzrtA9lt.mjs → list-BT7xiUQe.mjs} +3 -3
- package/dist/{list-D9d5ocYi.mjs → list-BWFCv_zk.mjs} +5 -5
- package/dist/{list-DboUvg-Y.mjs → list-BtZVe1Nq.mjs} +6 -6
- package/dist/{list-sdCIS2Df.mjs → list-BwdSG-P5.mjs} +5 -5
- package/dist/{list-yV6CyPzn.mjs → list-C-A-2HFq.mjs} +3 -3
- package/dist/list-C9x--9Jq.mjs +101 -0
- package/dist/{list-CUJ1wem9.mjs → list-CCdXig7b.mjs} +4 -4
- package/dist/{list-BfLo1xI8.mjs → list-CJDFoOHb.mjs} +3 -3
- package/dist/{list-Bzm5mXRo.mjs → list-CLFu3mQB.mjs} +3 -3
- package/dist/{list-BZnf3RmA.mjs → list-Cd40Kr0R.mjs} +3 -3
- package/dist/{list-CUXlZiS1.mjs → list-Cj_mTxbY.mjs} +4 -4
- package/dist/{list-f8Csdjyc.mjs → list-CtS50R7m.mjs} +5 -5
- package/dist/{list-vsXIMssK.mjs → list-CvZyTwmV.mjs} +5 -5
- package/dist/list-DcnNlYQA.mjs +35 -0
- package/dist/{list-DuJezLm_.mjs → list-DtgbtE3_.mjs} +3 -3
- package/dist/{login-Vw51Gts5.mjs → login-Bi_nGMJ9.mjs} +6 -6
- package/dist/{logout-BDIqoVhv.mjs → logout-CiHQJWTu.mjs} +2 -2
- package/dist/{measure-LY9Tp9QZ.mjs → measure-D2qq5e8f.mjs} +6 -6
- package/dist/moderation-review-BdqEH6N1.mjs +31 -0
- package/dist/{notification-DVrLkjFT.mjs → notification-DOYdl0ao.mjs} +1 -1
- package/dist/{parameter-values-DWjmO7Ai.mjs → parameter-values-CZow98nb.mjs} +3 -3
- package/dist/{parse-enum-Dc0dMZ3P.mjs → parse-enum-CLIXMsd8.mjs} +1 -1
- package/dist/parse-id-BW09NysN.mjs +13 -0
- package/dist/{parse-ref-DTDld_LJ.mjs → parse-ref-Cw5fa4FI.mjs} +1 -1
- package/dist/parse-text-T0lTXzTZ.mjs +11 -0
- package/dist/{path-BUUAGYO5.mjs → path-K6LPLYPb.mjs} +4 -4
- package/dist/{poll-CZeXepUQ.mjs → poll-Dz4tUm2f.mjs} +2 -2
- package/dist/{preflight-DcULqq8E.mjs → preflight-CX6cqB90.mjs} +3 -3
- package/dist/{process-CTrfxxaC.mjs → process-D0HdqZ3r.mjs} +1 -1
- package/dist/{publish-qVFmJQ1E.mjs → publish-COatW4Un.mjs} +4 -4
- package/dist/{pulse-x0gFxWfG.mjs → pulse-D1uh8UIU.mjs} +1 -1
- package/dist/query-BJXTIDhy.mjs +328 -0
- package/dist/{query-Cq1lmqL5.mjs → query-DmvkyDfo.mjs} +14 -33
- package/dist/remapping-CPAvDKHV.mjs +53 -0
- package/dist/{remove-collection-DBqh2Lqm.mjs → remove-collection-Bg-sNX3U.mjs} +5 -5
- package/dist/{render-Gx1hR7IF.mjs → render-BSfDD6ip.mjs} +2 -2
- package/dist/{replace-CujInVY9.mjs → replace-RCHeZLUT.mjs} +4 -4
- package/dist/{rescan-values-HypqBCSK.mjs → rescan-values-CpDGYZvf.mjs} +5 -5
- package/dist/rescan-values-PeMnpaFY.mjs +32 -0
- package/dist/{run-DEkQSOQa.mjs → run-CaQ7kubO.mjs} +3 -3
- package/dist/{run-b3jyF29q.mjs → run-DkRkZRgf.mjs} +4 -4
- package/dist/{runs-GHqHLGy4.mjs → runs-BDjoVJ0P.mjs} +5 -5
- package/dist/{runtime-nCPku2nN.mjs → runtime-CZ5zh32z.mjs} +21 -82
- package/dist/{schema-tables-B5L05Y1L.mjs → schema-tables-C2qjLcPq.mjs} +6 -6
- package/dist/{schemas-Clx26p_4.mjs → schemas-D8hfNduk.mjs} +4 -4
- package/dist/search-BrQQuNmh.mjs +131 -0
- package/dist/search-CnTXKJgx.mjs +85 -0
- package/dist/{segment-DiRJcbam.mjs → segment-Bi6eqj3e.mjs} +6 -6
- package/dist/{send-DIHkDNBN.mjs → send-CAjgVNlA.mjs} +3 -3
- package/dist/{set-D77qUZML.mjs → set-BXTkYWid.mjs} +4 -4
- package/dist/{set-active-DCdFgD0O.mjs → set-active-CBQVCePU.mjs} +3 -3
- package/dist/set-sensitivity-D39kGTob.mjs +57 -0
- package/dist/{setting-DR9bj232.mjs → setting-CPkvkc4H.mjs} +4 -4
- package/dist/{setup-DGa2LLEp.mjs → setup-Be3xDXHi.mjs} +3 -3
- package/dist/{signal-k7cm5N6h.mjs → signal-CxWeLszu.mjs} +1 -1
- package/dist/{skill-list-DAvGGHzS.mjs → skill-list-CBGq30sI.mjs} +2 -2
- package/dist/{skills-CqtNuSXM.mjs → skills-CJ9eXouJ.mjs} +2 -2
- package/dist/{skills-CCn7cyMP.mjs → skills-DyiLycMY.mjs} +3 -3
- package/dist/snippet-QirK70R_.mjs +19 -0
- package/dist/{stash-BTtsV0AG.mjs → stash-BVN3s5N_.mjs} +6 -6
- package/dist/{status-CW7Dt-nV.mjs → status-BtbMmIWo.mjs} +7 -7
- package/dist/{status-XgSS3StV.mjs → status-CxP6w3aL.mjs} +3 -3
- package/dist/{subscription-CofRU47d.mjs → subscription-Dr-YHARg.mjs} +6 -6
- package/dist/{subscriptions-DCuuPF6U.mjs → subscriptions-8tM8TTeQ.mjs} +6 -6
- package/dist/{summary-uGlgKE3C.mjs → summary-DKx6ptQe.mjs} +5 -5
- package/dist/sync-schema-B8RY0Ra4.mjs +32 -0
- package/dist/{sync-schema-Cu9rD3eH.mjs → sync-schema-kNriXZjG.mjs} +6 -6
- package/dist/sync-task-CXFoqlpF.mjs +53 -0
- package/dist/table-CZnT6d9x.mjs +26 -0
- package/dist/{table-DfuY0N8e.mjs → table-Ci6bhZkb.mjs} +35 -12
- package/dist/table-CxvaDiIZ.mjs +155 -0
- package/dist/table-selector-flags-1bYkAKld.mjs +42 -0
- package/dist/text-DaNkPRwt.mjs +6 -0
- package/dist/timeline-CUzx6uXi.mjs +21 -0
- package/dist/{timeline-event-D-h0A_oh.mjs → timeline-event-DpNm4dkn.mjs} +6 -6
- package/dist/{transform-CtqB1WYo.mjs → transform-CNBIV7No.mjs} +1 -1
- package/dist/transform-g4-HHzDp.mjs +28 -0
- package/dist/transform-job-DqBtnTrG.mjs +22 -0
- package/dist/{transform-tag-BLp_p9J-.mjs → transform-tag-nTb0Ivpj.mjs} +5 -5
- package/dist/{transforms-n2IwEcbU.mjs → transforms-BSsAfwAg.mjs} +5 -5
- package/dist/tree-lMvw1jnZ.mjs +34 -0
- package/dist/{unpublish-DVQCAa3g.mjs → unpublish-CYFDd828.mjs} +3 -3
- package/dist/unreferenced-8Xdq76Kw.mjs +36 -0
- package/dist/{update-oQeQyqKO.mjs → update-6P_GYCLT.mjs} +5 -5
- package/dist/{update-DFdBeJwc.mjs → update-B28EJzrx.mjs} +13 -8
- package/dist/{update-DffrdV4b.mjs → update-BDunZa7G.mjs} +4 -4
- package/dist/{update-DKO9HF1f.mjs → update-BT2yNB_g.mjs} +6 -6
- package/dist/{update-rFRPLlb6.mjs → update-BnMUSFYZ.mjs} +4 -4
- package/dist/update-BwrYeKso.mjs +41 -0
- package/dist/{update-B7CikkI0.mjs → update-C7DEMiu-.mjs} +7 -7
- package/dist/{update-CAsqNhDC.mjs → update-CITzAFG8.mjs} +4 -4
- package/dist/update-CLl8tE20.mjs +181 -0
- package/dist/{update-C05J2nZ2.mjs → update-CM5uuhjB.mjs} +4 -4
- package/dist/{update-ChpOukqq.mjs → update-CQXcsvaa.mjs} +5 -5
- package/dist/{update-D4ggtuG4.mjs → update-Cs2zv_L2.mjs} +7 -7
- package/dist/{update-NGq0yXZk.mjs → update-D--Fw7-_.mjs} +5 -5
- package/dist/{update-D9H6Lh5U.mjs → update-D9p0N8ky.mjs} +4 -4
- package/dist/{update-CKDRuduL.mjs → update-DAzRx0of.mjs} +5 -5
- package/dist/{update-CnkPYL2i.mjs → update-D_DCOOAB.mjs} +6 -6
- package/dist/{update-DScUzKLI.mjs → update-_sYM1GuU.mjs} +7 -7
- package/dist/{update-dashcard-DvPqLJ3N.mjs → update-dashcard-VNnIqHDI.mjs} +6 -6
- package/dist/{upgrade-BRgw0fvn.mjs → upgrade-Tj_reACv.mjs} +4 -4
- package/dist/upload-BKxOpSz3.mjs +13 -0
- package/dist/{upload-Do2PBSeH.mjs → upload-C2fhpKkP.mjs} +2 -2
- package/dist/{upload-BrfbcbBW.mjs → upload-Dg91ldGg.mjs} +3 -3
- package/dist/{uuid-B4eij1d7.mjs → uuid-Blpv_e0S.mjs} +2 -2
- package/dist/{validate-xR_MHBNR.mjs → validate-D7e110oU.mjs} +1 -1
- package/dist/{validate-query-D6_ad-Gi.mjs → validate-query-C7LuKiUT.mjs} +2 -2
- package/dist/{values-xgOftPq5.mjs → values-PonkbYAK.mjs} +5 -5
- package/dist/verify-DixUBbd2.mjs +38 -0
- package/dist/verify-Dv7ER11c.mjs +38 -0
- package/dist/{verify-DTOA_wVM.mjs → verify-Mpb65a5v.mjs} +3 -3
- package/dist/verify-flags-CMpRkMPa.mjs +58 -0
- package/dist/{wait-BjeFgR13.mjs → wait-CaH6XHQV.mjs} +6 -6
- package/dist/{wait-flags-BCeCnaz3.mjs → wait-flags-rUU4NUrv.mjs} +2 -2
- package/dist/{window-DSb1tqSe.mjs → window-CI_QD04s.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +18 -11
- package/skill-data/dashboard/SKILL.md +1 -1
- package/skill-data/document/SKILL.md +12 -1
- package/skill-data/git-sync/SKILL.md +61 -9
- package/skill-data/mbql/SKILL.md +5 -0
- package/skill-data/metadata/SKILL.md +36 -6
- package/dist/body-Cu94pH4P.mjs +0 -17
- package/dist/card-ByOzVxpI.mjs +0 -24
- package/dist/collection-BGbW7u_Q.mjs +0 -20
- package/dist/dashboard-Bzjz2v6u.mjs +0 -33
- package/dist/database-JtHTqSpq.mjs +0 -26
- package/dist/delete-runtime-BKEzJn22.mjs +0 -49
- package/dist/document-DqJ7Cysa.mjs +0 -19
- package/dist/export-DO2josC0.mjs +0 -63
- package/dist/field-CHZByaXa.mjs +0 -18
- package/dist/field-fDtIrY6D.mjs +0 -80
- package/dist/get-yHIEezeG.mjs +0 -31
- package/dist/git-sync-NhfLSZA6.mjs +0 -28
- package/dist/git-sync-TjX1r_wF.mjs +0 -136
- package/dist/list-DgteFn01.mjs +0 -34
- package/dist/parse-id-whJX4DAb.mjs +0 -10
- package/dist/query-BPtIy79s.mjs +0 -114
- package/dist/query-result-E4Q-Gra6.mjs +0 -15
- package/dist/search-DxiuY5EV.mjs +0 -97
- package/dist/selectors-rEFuyXPZ.mjs +0 -35
- package/dist/snippet-g9JTDxqu.mjs +0 -19
- package/dist/sync-task-BXeWuARG.mjs +0 -37
- package/dist/table-C6h4tIRw.mjs +0 -37
- package/dist/table-Di-EY7pg.mjs +0 -18
- package/dist/timeline-D7EsWZm6.mjs +0 -21
- package/dist/transform-8XK1LIgC.mjs +0 -28
- package/dist/transform-job-CTizQkWy.mjs +0 -22
- package/dist/tree-cqxiDh2b.mjs +0 -26
- package/dist/upload-VXBFKzLT.mjs +0 -13
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Q as ConfigError, p as renderSummary, x as promptConfirm } from "./cli.mjs";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
//#region src/commands/delete-runtime.ts
|
|
4
|
-
const DeleteResult = z.object({
|
|
5
|
-
deleted: z.boolean(),
|
|
6
|
-
aborted: z.boolean(),
|
|
7
|
-
id: z.number().int()
|
|
8
|
-
});
|
|
9
|
-
const deleteResultView = {
|
|
10
|
-
compactPick: DeleteResult,
|
|
11
|
-
tableColumns: [
|
|
12
|
-
{
|
|
13
|
-
key: "id",
|
|
14
|
-
label: "ID"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
key: "deleted",
|
|
18
|
-
label: "Deleted"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
key: "aborted",
|
|
22
|
-
label: "Aborted"
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
};
|
|
26
|
-
async function confirmAndDelete(args) {
|
|
27
|
-
if (!args.yes) {
|
|
28
|
-
if (process.stdin.isTTY !== true) throw new ConfigError(`refusing to delete ${args.id} without confirmation — pass --yes to proceed non-interactively`);
|
|
29
|
-
if (!await promptConfirm({
|
|
30
|
-
message: args.promptMessage,
|
|
31
|
-
initialValue: false
|
|
32
|
-
})) {
|
|
33
|
-
renderSummary({
|
|
34
|
-
deleted: false,
|
|
35
|
-
aborted: true,
|
|
36
|
-
id: args.id
|
|
37
|
-
}, deleteResultView, args.abortMessage, args.ctx);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
await args.deleteResource();
|
|
42
|
-
renderSummary({
|
|
43
|
-
deleted: true,
|
|
44
|
-
aborted: false,
|
|
45
|
-
id: args.id
|
|
46
|
-
}, deleteResultView, args.successMessage, args.ctx);
|
|
47
|
-
}
|
|
48
|
-
//#endregion
|
|
49
|
-
export { confirmAndDelete as n, DeleteResult as t };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.mjs";
|
|
2
|
-
//#region src/commands/document/index.ts
|
|
3
|
-
var document_default = defineCommandGroup({
|
|
4
|
-
name: "document",
|
|
5
|
-
description: "Manage Metabase documents",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "document",
|
|
8
|
-
purpose: "author the ProseMirror document body"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-vsXIMssK.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-CeSQptdl.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-B7S5fCkD.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-DKO9HF1f.mjs").then((mod) => mod.default),
|
|
15
|
-
archive: () => import("./archive-D3yPvUtz.mjs").then((mod) => mod.default)
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
//#endregion
|
|
19
|
-
export { document_default as default };
|
package/dist/export-DO2josC0.mjs
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { E as warn, H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
-
import { a as SyncExportResult } from "./git-sync-BwBRmEhE.mjs";
|
|
4
|
-
import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-BCeCnaz3.mjs";
|
|
5
|
-
import { r as syncExportView } from "./git-sync-TjX1r_wF.mjs";
|
|
6
|
-
import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-BXeWuARG.mjs";
|
|
7
|
-
//#region src/commands/git-sync/export.ts
|
|
8
|
-
var export_default = defineMetabaseCommand({
|
|
9
|
-
meta: {
|
|
10
|
-
name: "export",
|
|
11
|
-
description: "Export Metabase changes back to the configured git remote"
|
|
12
|
-
},
|
|
13
|
-
requires: ["gitSync.export"],
|
|
14
|
-
args: {
|
|
15
|
-
...outputFlags,
|
|
16
|
-
...profileFlag,
|
|
17
|
-
...connectionFlags,
|
|
18
|
-
branch: {
|
|
19
|
-
type: "string",
|
|
20
|
-
description: "Branch to export to (defaults to remote-sync-branch setting)",
|
|
21
|
-
alias: "b"
|
|
22
|
-
},
|
|
23
|
-
message: {
|
|
24
|
-
type: "string",
|
|
25
|
-
description: "Commit message",
|
|
26
|
-
alias: "m"
|
|
27
|
-
},
|
|
28
|
-
force: {
|
|
29
|
-
type: "boolean",
|
|
30
|
-
description: "Force-push / overwrite remote",
|
|
31
|
-
default: false
|
|
32
|
-
},
|
|
33
|
-
...gitSyncWaitFlags
|
|
34
|
-
},
|
|
35
|
-
outputSchema: SyncExportResult,
|
|
36
|
-
examples: [
|
|
37
|
-
"mb git-sync export -m \"update dashboards\"",
|
|
38
|
-
"mb git-sync export --branch main --json",
|
|
39
|
-
"mb git-sync export --no-wait"
|
|
40
|
-
],
|
|
41
|
-
async run({ args, ctx, getClient }) {
|
|
42
|
-
const wait = parseWaitFlags(args);
|
|
43
|
-
const params = {};
|
|
44
|
-
if (args.branch !== void 0 && args.branch !== "") params.branch = args.branch;
|
|
45
|
-
if (args.message !== void 0 && args.message !== "") params.message = args.message;
|
|
46
|
-
if (args.force) params.force = true;
|
|
47
|
-
if (wait.enabled) params.wait = taskPollOptions(wait.schedule);
|
|
48
|
-
const result = await (await getClient()).gitSync.export(params);
|
|
49
|
-
if (!wait.enabled) renderSummary(result, syncExportView, `Started export task #${result.task_id}.`, ctx);
|
|
50
|
-
else {
|
|
51
|
-
const final = result.final ?? null;
|
|
52
|
-
renderSummary(result, syncExportView, final === null ? `Export task #${result.task_id} finished.` : formatSyncTask(final), ctx);
|
|
53
|
-
throwIfFailedTask(final, "export");
|
|
54
|
-
}
|
|
55
|
-
emitRealignHint(ctx);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
function emitRealignHint(ctx) {
|
|
59
|
-
if (ctx.format !== "text") return;
|
|
60
|
-
warn("\nNote: if exporting to a host-bound repo, realign the host working tree with:\n git -C <repo-path> restore --staged --worktree .");
|
|
61
|
-
}
|
|
62
|
-
//#endregion
|
|
63
|
-
export { export_default as default };
|
package/dist/field-CHZByaXa.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.mjs";
|
|
2
|
-
//#region src/commands/field/index.ts
|
|
3
|
-
var field_default = defineCommandGroup({
|
|
4
|
-
name: "field",
|
|
5
|
-
description: "Manage Metabase fields",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "metadata",
|
|
8
|
-
purpose: "semantic types, FK targets, visibility, dropdown behavior"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
get: () => import("./get-yHIEezeG.mjs").then((m) => m.default),
|
|
12
|
-
values: () => import("./values-xgOftPq5.mjs").then((m) => m.default),
|
|
13
|
-
summary: () => import("./summary-uGlgKE3C.mjs").then((m) => m.default),
|
|
14
|
-
update: () => import("./update-DFdBeJwc.mjs").then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
//#endregion
|
|
18
|
-
export { field_default as default };
|
package/dist/field-fDtIrY6D.mjs
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { r as FieldCompact, s as FieldSummary, u as FieldValuesCompact } from "./field-CcN4oZy6.mjs";
|
|
2
|
-
//#region src/output/views/field.ts
|
|
3
|
-
function formatTypeTag(value) {
|
|
4
|
-
return typeof value === "string" ? value.replace(/^type\//, "") : "";
|
|
5
|
-
}
|
|
6
|
-
function formatFkTarget(value) {
|
|
7
|
-
return typeof value === "number" ? `field ${value}` : "";
|
|
8
|
-
}
|
|
9
|
-
const fieldView = {
|
|
10
|
-
compactPick: FieldCompact,
|
|
11
|
-
tableColumns: [
|
|
12
|
-
{
|
|
13
|
-
key: "id",
|
|
14
|
-
label: "ID"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
key: "name",
|
|
18
|
-
label: "Name"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
key: "display_name",
|
|
22
|
-
label: "Display Name"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
key: "base_type",
|
|
26
|
-
label: "Base Type",
|
|
27
|
-
format: formatTypeTag
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
key: "semantic_type",
|
|
31
|
-
label: "Semantic Type",
|
|
32
|
-
format: formatTypeTag
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
key: "fk_target_field_id",
|
|
36
|
-
label: "FK Target",
|
|
37
|
-
format: formatFkTarget
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
key: "description",
|
|
41
|
-
label: "Description"
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
const fieldValuesView = {
|
|
46
|
-
compactPick: FieldValuesCompact,
|
|
47
|
-
tableColumns: [
|
|
48
|
-
{
|
|
49
|
-
key: "field_id",
|
|
50
|
-
label: "Field"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "has_more_values",
|
|
54
|
-
label: "Has More"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "values",
|
|
58
|
-
label: "Values"
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
};
|
|
62
|
-
const fieldSummaryView = {
|
|
63
|
-
compactPick: FieldSummary,
|
|
64
|
-
tableColumns: [
|
|
65
|
-
{
|
|
66
|
-
key: "field_id",
|
|
67
|
-
label: "Field"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
key: "count",
|
|
71
|
-
label: "Count"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
key: "distincts",
|
|
75
|
-
label: "Distinct"
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
};
|
|
79
|
-
//#endregion
|
|
80
|
-
export { fieldValuesView as n, fieldView as r, fieldSummaryView as t };
|
package/dist/get-yHIEezeG.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { H as outputFlags, U as profileFlag, u as renderItem, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-whJX4DAb.mjs";
|
|
4
|
-
import { t as Field } from "./field-CcN4oZy6.mjs";
|
|
5
|
-
import { r as fieldView } from "./field-fDtIrY6D.mjs";
|
|
6
|
-
//#region src/commands/field/get.ts
|
|
7
|
-
var get_default = defineMetabaseCommand({
|
|
8
|
-
meta: {
|
|
9
|
-
name: "get",
|
|
10
|
-
description: "Get a field by id"
|
|
11
|
-
},
|
|
12
|
-
requires: ["field.get"],
|
|
13
|
-
args: {
|
|
14
|
-
...outputFlags,
|
|
15
|
-
...profileFlag,
|
|
16
|
-
...connectionFlags,
|
|
17
|
-
id: {
|
|
18
|
-
type: "positional",
|
|
19
|
-
description: "Field id",
|
|
20
|
-
required: true
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
outputSchema: Field,
|
|
24
|
-
examples: ["mb field get 100", "mb field get 100 --json"],
|
|
25
|
-
async run({ args, ctx, getClient }) {
|
|
26
|
-
const id = parseId(args.id);
|
|
27
|
-
renderItem(await (await getClient()).field.get(id), fieldView, ctx);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
//#endregion
|
|
31
|
-
export { get_default as default };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.mjs";
|
|
2
|
-
//#region src/commands/git-sync/index.ts
|
|
3
|
-
var git_sync_default = defineCommandGroup({
|
|
4
|
-
name: "git-sync",
|
|
5
|
-
description: "Sync Metabase content with a git remote",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "git-sync",
|
|
8
|
-
purpose: "import/export round-trip and dirty checks"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
status: () => import("./status-CW7Dt-nV.mjs").then((mod) => mod.default),
|
|
12
|
-
"is-dirty": () => import("./is-dirty-XqDfqXGi.mjs").then((mod) => mod.default),
|
|
13
|
-
"has-remote-changes": () => import("./has-remote-changes-DE2_14FK.mjs").then((mod) => mod.default),
|
|
14
|
-
dirty: () => import("./dirty-U51bMoCP.mjs").then((mod) => mod.default),
|
|
15
|
-
"current-task": () => import("./current-task-lGh69Z1i.mjs").then((mod) => mod.default),
|
|
16
|
-
"cancel-task": () => import("./cancel-task-DUmlQQpi.mjs").then((mod) => mod.default),
|
|
17
|
-
wait: () => import("./wait-BjeFgR13.mjs").then((mod) => mod.default),
|
|
18
|
-
import: () => import("./import-Cs7wk058.mjs").then((mod) => mod.default),
|
|
19
|
-
export: () => import("./export-DO2josC0.mjs").then((mod) => mod.default),
|
|
20
|
-
stash: () => import("./stash-BTtsV0AG.mjs").then((mod) => mod.default),
|
|
21
|
-
branches: () => import("./branches-CUyPxeeW.mjs").then((mod) => mod.default),
|
|
22
|
-
"create-branch": () => import("./create-branch-Cw-uXows.mjs").then((mod) => mod.default),
|
|
23
|
-
"add-collection": () => import("./add-collection-BjVAdZ1n.mjs").then((mod) => mod.default),
|
|
24
|
-
"remove-collection": () => import("./remove-collection-DBqh2Lqm.mjs").then((mod) => mod.default)
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
//#endregion
|
|
28
|
-
export { git_sync_default as default };
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { a as SyncExportResult, c as SyncSettingsUpdateResult, d as SyncTaskCompact, l as SyncStashResult, o as SyncImportResult, r as SyncDirtyItemCompact, s as SyncRemoteChanges, t as SyncBranchCreated } from "./git-sync-BwBRmEhE.mjs";
|
|
2
|
-
//#region src/output/views/git-sync.ts
|
|
3
|
-
const syncTaskView = {
|
|
4
|
-
compactPick: SyncTaskCompact,
|
|
5
|
-
tableColumns: [
|
|
6
|
-
{
|
|
7
|
-
key: "id",
|
|
8
|
-
label: "ID"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
key: "sync_task_type",
|
|
12
|
-
label: "Type"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
key: "status",
|
|
16
|
-
label: "Status"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
key: "progress",
|
|
20
|
-
label: "Progress"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
key: "version",
|
|
24
|
-
label: "Version"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
key: "error_message",
|
|
28
|
-
label: "Error"
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
};
|
|
32
|
-
const syncDirtyItemView = {
|
|
33
|
-
compactPick: SyncDirtyItemCompact,
|
|
34
|
-
tableColumns: [
|
|
35
|
-
{
|
|
36
|
-
key: "id",
|
|
37
|
-
label: "ID"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
key: "model",
|
|
41
|
-
label: "Model"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
key: "name",
|
|
45
|
-
label: "Name"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
key: "sync_status",
|
|
49
|
-
label: "Status"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
key: "collection_id",
|
|
53
|
-
label: "Collection"
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
};
|
|
57
|
-
const syncRemoteChangesView = {
|
|
58
|
-
compactPick: SyncRemoteChanges,
|
|
59
|
-
tableColumns: [
|
|
60
|
-
{
|
|
61
|
-
key: "has_changes",
|
|
62
|
-
label: "Has changes"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
key: "remote_version",
|
|
66
|
-
label: "Remote"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
key: "local_version",
|
|
70
|
-
label: "Local"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
key: "cached",
|
|
74
|
-
label: "Cached"
|
|
75
|
-
}
|
|
76
|
-
]
|
|
77
|
-
};
|
|
78
|
-
const syncBranchCreatedView = {
|
|
79
|
-
compactPick: SyncBranchCreated,
|
|
80
|
-
tableColumns: [{
|
|
81
|
-
key: "status",
|
|
82
|
-
label: "Status"
|
|
83
|
-
}, {
|
|
84
|
-
key: "message",
|
|
85
|
-
label: "Message"
|
|
86
|
-
}]
|
|
87
|
-
};
|
|
88
|
-
const syncSettingsUpdateView = {
|
|
89
|
-
compactPick: SyncSettingsUpdateResult,
|
|
90
|
-
tableColumns: [{
|
|
91
|
-
key: "success",
|
|
92
|
-
label: "Success"
|
|
93
|
-
}, {
|
|
94
|
-
key: "task_id",
|
|
95
|
-
label: "Task ID"
|
|
96
|
-
}]
|
|
97
|
-
};
|
|
98
|
-
const syncImportView = {
|
|
99
|
-
compactPick: SyncImportResult,
|
|
100
|
-
tableColumns: [{
|
|
101
|
-
key: "task_id",
|
|
102
|
-
label: "Task ID"
|
|
103
|
-
}, {
|
|
104
|
-
key: "message",
|
|
105
|
-
label: "Message"
|
|
106
|
-
}]
|
|
107
|
-
};
|
|
108
|
-
const syncExportView = {
|
|
109
|
-
compactPick: SyncExportResult,
|
|
110
|
-
tableColumns: [{
|
|
111
|
-
key: "task_id",
|
|
112
|
-
label: "Task ID"
|
|
113
|
-
}, {
|
|
114
|
-
key: "message",
|
|
115
|
-
label: "Message"
|
|
116
|
-
}]
|
|
117
|
-
};
|
|
118
|
-
const syncStashView = {
|
|
119
|
-
compactPick: SyncStashResult,
|
|
120
|
-
tableColumns: [
|
|
121
|
-
{
|
|
122
|
-
key: "task_id",
|
|
123
|
-
label: "Task ID"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
key: "status",
|
|
127
|
-
label: "Status"
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
key: "message",
|
|
131
|
-
label: "Message"
|
|
132
|
-
}
|
|
133
|
-
]
|
|
134
|
-
};
|
|
135
|
-
//#endregion
|
|
136
|
-
export { syncRemoteChangesView as a, syncTaskView as c, syncImportView as i, syncDirtyItemView as n, syncSettingsUpdateView as o, syncExportView as r, syncStashView as s, syncBranchCreatedView as t };
|
package/dist/list-DgteFn01.mjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { B as listFlags, G as listEnvelopeSchema, H as outputFlags, U as profileFlag, d as renderList, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-whJX4DAb.mjs";
|
|
4
|
-
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
5
|
-
import { n as TableCompact } from "./table-DfuY0N8e.mjs";
|
|
6
|
-
import { t as tableView } from "./table-C6h4tIRw.mjs";
|
|
7
|
-
//#region src/commands/table/list.ts
|
|
8
|
-
const TableListEnvelope = listEnvelopeSchema(TableCompact);
|
|
9
|
-
var list_default = defineMetabaseCommand({
|
|
10
|
-
meta: {
|
|
11
|
-
name: "list",
|
|
12
|
-
description: "List tables (optionally filtered by database)"
|
|
13
|
-
},
|
|
14
|
-
requires: ["table.list"],
|
|
15
|
-
args: {
|
|
16
|
-
...outputFlags,
|
|
17
|
-
...listFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags,
|
|
20
|
-
"db-id": {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "Filter by database id"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
outputSchema: TableListEnvelope,
|
|
26
|
-
examples: ["mb table list", "mb table list --db-id 1 --json"],
|
|
27
|
-
async run({ args, ctx, getClient }) {
|
|
28
|
-
const dbIdFilter = args["db-id"] === void 0 ? void 0 : parseId(args["db-id"], "db-id");
|
|
29
|
-
const { data } = await (await getClient()).table.list();
|
|
30
|
-
renderList(windowList(dbIdFilter === void 0 ? data : data.filter((row) => row.db_id === dbIdFilter), ctx.range), tableView, ctx);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
//#endregion
|
|
34
|
-
export { list_default as default };
|
package/dist/query-BPtIy79s.mjs
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { H as outputFlags, Q as ConfigError, U as profileFlag, m as writeJson, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { L as HttpError, R as chainRequestFailure, t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
-
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
|
-
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
-
import { a as CardQueryResult, l as DatasetQuery } from "./card-voh1k4hl.mjs";
|
|
6
|
-
import { t as cardQueryView } from "./card-CEkp1mcI.mjs";
|
|
7
|
-
import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5, r as getQuerySchemaBundle, t as ValidationOutcome } from "./validate-xR_MHBNR.mjs";
|
|
8
|
-
import { o as skipValidateFlag } from "./validate-query-D6_ad-Gi.mjs";
|
|
9
|
-
import { t as formatQueryResult } from "./query-result-E4Q-Gra6.mjs";
|
|
10
|
-
import { z } from "zod";
|
|
11
|
-
//#region src/commands/query.ts
|
|
12
|
-
const QueryBody = z.unknown().describe("The query body: {\"lib/type\": \"mbql/query\", database, stages}; full schema: mb query --print-schema");
|
|
13
|
-
const QueryDryRunOutcome = ValidationOutcome.extend({ sql: z.string().nullable().describe("The compiled native query; null when it did not compile") });
|
|
14
|
-
const QueryOutput = z.union([CardQueryResult, QueryDryRunOutcome]);
|
|
15
|
-
const COMPILE_REJECTION_STATUSES = /* @__PURE__ */ new Set([400, 500]);
|
|
16
|
-
const FORBIDDEN_STATUS = 403;
|
|
17
|
-
const WHOLE_QUERY_POINTER = "";
|
|
18
|
-
var query_default = defineMetabaseCommand({
|
|
19
|
-
meta: {
|
|
20
|
-
name: "query",
|
|
21
|
-
description: "Run an ad-hoc MBQL or native query"
|
|
22
|
-
},
|
|
23
|
-
details: "Reads a JSON query body from --body, --file, or stdin and runs it. MBQL 5 is Metabase's structured query format, shaped {\"lib/type\": \"mbql/query\", \"database\": <database id>, \"stages\": [{\"lib/type\": \"mbql.stage/mbql\", \"source-table\": <table id>, \"aggregation\": [[\"count\", {}]]}]} with ids from `mb database list` and `mb table list`; it is checked against a bundled JSON Schema before sending, and --print-schema prints that schema. --dry-run checks the body without running it: the local schema check, then the server compiles it to native SQL without touching the warehouse. It prints {ok, errors:[{path, message}], sql} and exits 0 when the query compiled, 2 when either check rejected it. Legacy MBQL 4 and legacy native bodies skip the local check.",
|
|
24
|
-
skills: [{
|
|
25
|
-
skill: "mbql",
|
|
26
|
-
purpose: "body shape, clause rules, and the dry-run loop"
|
|
27
|
-
}],
|
|
28
|
-
requires: ["dataset.native", "dataset.query"],
|
|
29
|
-
args: {
|
|
30
|
-
...outputFlags,
|
|
31
|
-
...profileFlag,
|
|
32
|
-
...connectionFlags,
|
|
33
|
-
...bodyInputFlags,
|
|
34
|
-
"dry-run": {
|
|
35
|
-
type: "boolean",
|
|
36
|
-
description: "Check the body and compile it on the server to native SQL without running it; prints {ok, errors, sql}"
|
|
37
|
-
},
|
|
38
|
-
"print-schema": {
|
|
39
|
-
type: "boolean",
|
|
40
|
-
description: "Emit the bundled MBQL 5 query JSON Schema and exit; no body required"
|
|
41
|
-
},
|
|
42
|
-
...skipValidateFlag
|
|
43
|
-
},
|
|
44
|
-
inputSchema: QueryBody,
|
|
45
|
-
outputSchema: QueryOutput,
|
|
46
|
-
examples: [
|
|
47
|
-
"mb query --print-schema",
|
|
48
|
-
"cat q.json | mb query --dry-run",
|
|
49
|
-
"mb query --file q.json",
|
|
50
|
-
"mb query --file q.json --skip-validate"
|
|
51
|
-
],
|
|
52
|
-
async run({ args, ctx, getClient }) {
|
|
53
|
-
if (args["print-schema"] === true) {
|
|
54
|
-
writeJson(getQuerySchemaBundle());
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const dryRun = args["dry-run"] === true;
|
|
58
|
-
const explicitSkip = args["skip-validate"] === true;
|
|
59
|
-
if (dryRun && explicitSkip) throw new ConfigError("--skip-validate cannot be combined with --dry-run");
|
|
60
|
-
const body = await readBody({
|
|
61
|
-
flag: args.body,
|
|
62
|
-
file: args.file
|
|
63
|
-
}, QueryBody);
|
|
64
|
-
if (!explicitSkip) assertNotLegacyEnvelopeWrappingMbql5(body, {
|
|
65
|
-
contextLabel: "query",
|
|
66
|
-
bodyNoun: "the body"
|
|
67
|
-
});
|
|
68
|
-
if (!explicitSkip && isMbql5Query(body)) {
|
|
69
|
-
const local = validateQuery(body);
|
|
70
|
-
if (!local.ok) {
|
|
71
|
-
writeJson(dryRun ? notCompiled(local) : local);
|
|
72
|
-
const hint = dryRun ? "" : " — pass --dry-run to check it without running";
|
|
73
|
-
throw new ConfigError(`validation failed: ${local.errors.length} error(s)${hint}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (dryRun) {
|
|
77
|
-
const query = DatasetQuery.parse(body);
|
|
78
|
-
const outcome = await (await getClient()).dataset.native(query).then(compiledOutcome, rejectedOutcome);
|
|
79
|
-
writeJson(outcome);
|
|
80
|
-
if (!outcome.ok) throw new ConfigError(`server validation failed: ${outcome.errors.length} error(s)`);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
const queryResult = await (await getClient()).dataset.query(body);
|
|
84
|
-
renderSummary(queryResult, cardQueryView, () => formatQueryResult(queryResult), ctx);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
function notCompiled(local) {
|
|
88
|
-
return {
|
|
89
|
-
...local,
|
|
90
|
-
sql: null
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function compiledOutcome(compiled) {
|
|
94
|
-
return {
|
|
95
|
-
ok: true,
|
|
96
|
-
errors: [],
|
|
97
|
-
sql: typeof compiled.query === "string" ? compiled.query : JSON.stringify(compiled.query)
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
function rejectedOutcome(error) {
|
|
101
|
-
if (!(error instanceof HttpError)) throw error;
|
|
102
|
-
if (error.status === FORBIDDEN_STATUS) throw chainRequestFailure(error, `the compile check could not run because the server refused permission: ${error.message}`);
|
|
103
|
-
if (!COMPILE_REJECTION_STATUSES.has(error.status)) throw error;
|
|
104
|
-
return {
|
|
105
|
-
ok: false,
|
|
106
|
-
errors: [{
|
|
107
|
-
path: WHOLE_QUERY_POINTER,
|
|
108
|
-
message: error.message
|
|
109
|
-
}],
|
|
110
|
-
sql: null
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//#endregion
|
|
114
|
-
export { query_default as default };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { _ as formatScalar, v as renderRows } from "./cli.mjs";
|
|
2
|
-
//#region src/output/query-result.ts
|
|
3
|
-
function formatQueryResult(result) {
|
|
4
|
-
if (result.status !== "completed" || result.data === void 0) {
|
|
5
|
-
const detail = typeof result.error === "string" && result.error !== "" ? `: ${result.error}` : "";
|
|
6
|
-
return `Query ${result.status}${detail}`;
|
|
7
|
-
}
|
|
8
|
-
const head = result.data.cols.map((col) => col.display_name ?? col.name);
|
|
9
|
-
const rowCount = result.row_count ?? result.data.rows.length;
|
|
10
|
-
const summary = `${rowCount} row${rowCount === 1 ? "" : "s"}.`;
|
|
11
|
-
if (result.data.rows.length === 0) return summary;
|
|
12
|
-
return `${renderRows(head, result.data.rows.map((row) => Array.isArray(row) ? row.map((cell) => formatScalar(cell)) : [formatScalar(row)]))}\n${summary}`;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { formatQueryResult as t };
|