@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
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, X as listEnvelopeSchema, at as ConfigError, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
|
+
import { t as collectForOutput } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { n as parseText } from "./parse-text-T0lTXzTZ.mjs";
|
|
6
|
+
import { n as FieldValueLabel, o as fieldValueLabelView, u as toValueLabel } from "./field-wmN6raOG.mjs";
|
|
7
|
+
//#region src/commands/field/search.ts
|
|
8
|
+
const FieldSearchListEnvelope = listEnvelopeSchema(FieldValueLabel);
|
|
9
|
+
function fieldSearchValue(value, limit) {
|
|
10
|
+
if (value === void 0) {
|
|
11
|
+
if (limit === void 0) throw new ConfigError("--limit is required when --value is absent");
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
return parseText(value, "--value");
|
|
15
|
+
}
|
|
16
|
+
const FIRST_SEARCH_SPAN = 1e3;
|
|
17
|
+
const SEARCH_SPAN_GROWTH = 2;
|
|
18
|
+
async function* searchPages(searchRows, request) {
|
|
19
|
+
const windowSpan = request.max ?? Number.POSITIVE_INFINITY;
|
|
20
|
+
let span = Math.min(windowSpan, FIRST_SEARCH_SPAN);
|
|
21
|
+
let seen = request.offset;
|
|
22
|
+
let filledBound = true;
|
|
23
|
+
while (filledBound) {
|
|
24
|
+
const bound = request.offset + span;
|
|
25
|
+
const rows = await searchRows(bound);
|
|
26
|
+
yield {
|
|
27
|
+
items: rows.slice(seen).map(toValueLabel),
|
|
28
|
+
total: null
|
|
29
|
+
};
|
|
30
|
+
filledBound = rows.length === bound && span < windowSpan;
|
|
31
|
+
seen = bound;
|
|
32
|
+
span = Math.min(span * SEARCH_SPAN_GROWTH, windowSpan);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
var search_default = defineMetabaseCommand({
|
|
36
|
+
meta: {
|
|
37
|
+
name: "search",
|
|
38
|
+
description: "Search a field's values, answering them paired with the values of another field"
|
|
39
|
+
},
|
|
40
|
+
details: "Each row is a distinct pair of a value of `<id>` and the value of `<search-id>` on the same warehouse row, ordered by value. A FK on either side is followed to the key it points at, so searching an id column by a name column answers id/name pairs; after that both fields must be on one table, and a pair that is not answers no rows rather than an error, as does any failure of the warehouse query. `--value` keeps the rows whose `<search-id>` value contains it, case-insensitively; without it the first `--limit` rows are answered, so one of the two is required. `label` is null when `<id>` and `<search-id>` resolve to the same field once FKs are followed. A field with custom display values answers every mapped value instead, with its display value as `label`, matching `--value` against the display value and ignoring `<search-id>`. The endpoint takes no offset and reports no count, so `total` is null, every request asks for the rows from the first, at most 1000 at first and twice as many on each request after until the window is covered, and `has_more` is proven by one row fetched past it.",
|
|
41
|
+
requires: ["field.search"],
|
|
42
|
+
args: {
|
|
43
|
+
...outputFlags,
|
|
44
|
+
...listFlags,
|
|
45
|
+
limit: {
|
|
46
|
+
type: "string",
|
|
47
|
+
description: "Max items to return; required without --value (with it, default: as many as fit the output cap)"
|
|
48
|
+
},
|
|
49
|
+
...profileFlag,
|
|
50
|
+
...connectionFlags,
|
|
51
|
+
id: {
|
|
52
|
+
type: "positional",
|
|
53
|
+
description: "Field id whose values are answered",
|
|
54
|
+
required: true
|
|
55
|
+
},
|
|
56
|
+
"search-id": {
|
|
57
|
+
type: "positional",
|
|
58
|
+
description: "Field id whose values are searched",
|
|
59
|
+
required: true
|
|
60
|
+
},
|
|
61
|
+
value: {
|
|
62
|
+
type: "string",
|
|
63
|
+
description: "Text the searched values must contain (case-insensitive)"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
outputSchema: FieldSearchListEnvelope,
|
|
67
|
+
examples: [
|
|
68
|
+
"mb field search 100 101 --value ada",
|
|
69
|
+
"mb field search 100 101 --value ada --limit 5 --json",
|
|
70
|
+
"mb field search 100 101 --limit 20 --json"
|
|
71
|
+
],
|
|
72
|
+
async run({ args, ctx, getClient }) {
|
|
73
|
+
const id = parseId(args.id);
|
|
74
|
+
const searchId = parseId(args["search-id"], "search-id");
|
|
75
|
+
const value = fieldSearchValue(args.value, ctx.range.limit);
|
|
76
|
+
const client = await getClient();
|
|
77
|
+
const searchRows = (limit) => client.field.search(id, searchId, value === void 0 ? { limit } : {
|
|
78
|
+
value,
|
|
79
|
+
limit
|
|
80
|
+
});
|
|
81
|
+
renderList(await collectForOutput((request) => searchPages(searchRows, request), fieldValueLabelView, ctx), fieldValueLabelView, ctx);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
//#endregion
|
|
85
|
+
export { search_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.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-CJDFoOHb.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-BfSX-OeS.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-B3TKri1E.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-D--Fw7-_.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-YNpa8daf.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/alert/send.ts
|
|
6
6
|
const AlertSendResult = z.object({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags, v as formatScalar } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Dd-TwYYL.mjs";
|
|
4
4
|
import { r as SettingValue } from "./setting-DTiLCW8g.mjs";
|
|
5
5
|
import { t as settingValueView } from "./setting-CwRYgHYN.mjs";
|
|
6
|
-
import { t as parseSettingKey } from "./key-
|
|
6
|
+
import { t as parseSettingKey } from "./key-BynJSK9u.mjs";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
//#region src/commands/setting/set.ts
|
|
9
9
|
const SettingValueInput = z.unknown().describe("Any JSON value; the setting's own type constraints are enforced server-side");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
3
|
import { n as TransformJobActiveResult } from "./transform-job-CCguL6LP.mjs";
|
|
4
|
-
import { t as parseEnumFlag } from "./parse-enum-
|
|
4
|
+
import { t as parseEnumFlag } from "./parse-enum-CLIXMsd8.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"]);
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
|
+
import { f as FieldWithDataSensitivity, i as FieldDataSensitivity } from "./field-5nivEfd6.mjs";
|
|
5
|
+
import { t as parseEnumFlag } from "./parse-enum-CLIXMsd8.mjs";
|
|
6
|
+
import { l as fieldWithDataSensitivityView } from "./field-wmN6raOG.mjs";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
//#region src/commands/field/set-sensitivity.ts
|
|
9
|
+
const NONE = "none";
|
|
10
|
+
const SensitivityArg = z.enum([...FieldDataSensitivity.options, NONE]);
|
|
11
|
+
function parseSensitivity(value) {
|
|
12
|
+
const parsed = parseEnumFlag(value, SensitivityArg, "label");
|
|
13
|
+
return parsed === NONE ? null : parsed;
|
|
14
|
+
}
|
|
15
|
+
function summarize(field, sensitivity) {
|
|
16
|
+
if (sensitivity !== null) return `Labelled field ${field.id} "${field.display_name}" as ${sensitivity}.`;
|
|
17
|
+
const unset = `Field ${field.id} "${field.display_name}" carries no hand-set label`;
|
|
18
|
+
if (field.data_sensitivity === null) return `${unset} and is unlabelled.`;
|
|
19
|
+
return `${unset} and shows the classifier's ${field.data_sensitivity}.`;
|
|
20
|
+
}
|
|
21
|
+
var set_sensitivity_default = defineMetabaseCommand({
|
|
22
|
+
meta: {
|
|
23
|
+
name: "set-sensitivity",
|
|
24
|
+
description: "Label a field's data sensitivity by hand, or withdraw the label with `none`"
|
|
25
|
+
},
|
|
26
|
+
details: "A label set here is a person's call that the server's classifier never overwrites; `none` withdraws it, and the field then shows the label the classifier wrote, if it wrote one, else none. Answers the field with its `data_sensitivity`.",
|
|
27
|
+
requires: ["field.setDataSensitivity"],
|
|
28
|
+
args: {
|
|
29
|
+
...outputFlags,
|
|
30
|
+
...profileFlag,
|
|
31
|
+
...connectionFlags,
|
|
32
|
+
id: {
|
|
33
|
+
type: "positional",
|
|
34
|
+
description: "Field id",
|
|
35
|
+
required: true
|
|
36
|
+
},
|
|
37
|
+
label: {
|
|
38
|
+
type: "positional",
|
|
39
|
+
description: `Sensitivity label (${SensitivityArg.options.join(" | ")})`,
|
|
40
|
+
required: true
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
outputSchema: FieldWithDataSensitivity,
|
|
44
|
+
examples: [
|
|
45
|
+
"mb field set-sensitivity 100 PII",
|
|
46
|
+
"mb field set-sensitivity 100 none",
|
|
47
|
+
"mb field set-sensitivity 100 PHI --json"
|
|
48
|
+
],
|
|
49
|
+
async run({ args, ctx, getClient }) {
|
|
50
|
+
const id = parseId(args.id);
|
|
51
|
+
const sensitivity = parseSensitivity(args.label);
|
|
52
|
+
const field = await (await getClient()).field.setDataSensitivity(id, { data_sensitivity: sensitivity });
|
|
53
|
+
renderSummary(field, fieldWithDataSensitivityView, summarize(field, sensitivity), ctx);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//#endregion
|
|
57
|
+
export { set_sensitivity_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.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-Cd40Kr0R.mjs").then((m) => m.default),
|
|
12
|
+
get: () => import("./get-DLyg6Al9.mjs").then((m) => m.default),
|
|
13
|
+
set: () => import("./set-BXTkYWid.mjs").then((m) => m.default)
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Dd-TwYYL.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "./setup-CO7QV-ao.mjs";
|
|
6
6
|
//#region src/output/views/setup.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { pt as errorMessage, rt as AbortError, st as MetabaseError } from "./cli.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,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { O as listTruncationNotice, k as warn } from "./cli.mjs";
|
|
2
|
+
import { et as RequirementFailure } from "./runtime-CZ5zh32z.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/output/skill-list.ts
|
|
5
5
|
const UnavailableSkillJson = z.object({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { L as readEnv, N as ENV_SKILLS_DIR, at as ConfigError, et as parseCsv, ft as ValidationError, ht as isFileNotFoundError, pt as errorMessage, r as FEATURE_NAMES, s as isFeatureName } from "./cli.mjs";
|
|
2
|
+
import { J as checkFeatures } from "./runtime-CZ5zh32z.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
|
|
5
5
|
import { dirname, join, resolve } from "node:path";
|
|
@@ -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-BWFCv_zk.mjs").then((m) => m.default),
|
|
11
|
+
get: () => import("./get-_ik_5_lQ.mjs").then((m) => m.default),
|
|
12
|
+
path: () => import("./path-K6LPLYPb.mjs").then((m) => m.default)
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
//#endregion
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
|
+
//#region src/commands/snippet/index.ts
|
|
3
|
+
var snippet_default = defineCommandGroup({
|
|
4
|
+
name: "snippet",
|
|
5
|
+
description: "Manage Metabase native query snippets",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "core",
|
|
8
|
+
purpose: "native-SQL snippets and body input"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-DtgbtE3_.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-Besqwy32.mjs").then((mod) => mod.default),
|
|
13
|
+
create: () => import("./create-BwifyhyL.mjs").then((mod) => mod.default),
|
|
14
|
+
update: () => import("./update-CITzAFG8.mjs").then((mod) => mod.default),
|
|
15
|
+
archive: () => import("./archive-D7nAQcCz.mjs").then((mod) => mod.default)
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { snippet_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import {
|
|
4
|
-
import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-
|
|
5
|
-
import {
|
|
6
|
-
import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, at as ConfigError, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { u as SyncStashResult } from "./git-sync-COokpYgc.mjs";
|
|
4
|
+
import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-rUU4NUrv.mjs";
|
|
5
|
+
import { l as syncStashView } from "./git-sync-DspFahwV.mjs";
|
|
6
|
+
import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-CXFoqlpF.mjs";
|
|
7
7
|
//#region src/commands/git-sync/stash.ts
|
|
8
8
|
const DEFAULT_STASH_MESSAGE = "Stashed from mb CLI";
|
|
9
9
|
var stash_default = defineMetabaseCommand({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { r as Collection } from "./collection-
|
|
4
|
-
import {
|
|
5
|
-
import { n as formatSyncTask } from "./sync-task-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { r as Collection } from "./collection-D3KXhvnc.mjs";
|
|
4
|
+
import { d as SyncTask } from "./git-sync-COokpYgc.mjs";
|
|
5
|
+
import { n as formatSyncTask } from "./sync-task-CXFoqlpF.mjs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
//#region src/commands/git-sync/status.ts
|
|
8
8
|
const SyncedCollection = Collection.pick({
|
|
@@ -56,12 +56,12 @@ var status_default = defineMetabaseCommand({
|
|
|
56
56
|
examples: ["mb git-sync status", "mb git-sync status --json"],
|
|
57
57
|
async run({ ctx, getClient }) {
|
|
58
58
|
const mb = await getClient();
|
|
59
|
-
const [
|
|
60
|
-
mb.gitSync.branch(),
|
|
59
|
+
const [isDirty, currentTask, collections] = await Promise.all([
|
|
61
60
|
mb.gitSync.isDirty(),
|
|
62
61
|
mb.gitSync.currentTask(),
|
|
63
62
|
mb.gitSync.syncedCollections()
|
|
64
63
|
]);
|
|
64
|
+
const branch = await mb.gitSync.branch();
|
|
65
65
|
const syncedCollections = collections.data.map((collection) => ({
|
|
66
66
|
id: collection.id,
|
|
67
67
|
name: collection.name
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as
|
|
3
|
-
import { a as renderUserRole, i as renderUserName, n as renderSkew, o as renderVersionTag, r as renderTimestamp, t as renderAuthMethod } from "./render-
|
|
1
|
+
import { J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { C as profileAuthMethod, K as ServerSummary, S as ProfileLastFailure, W as displayUrl, b as ProbedUser, m as readProfileRecord, o as resolveProfileName, q as summarizeServer, t as defineMetabaseCommand, x as ProfileAuthMethod } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { a as renderUserRole, i as renderUserName, n as renderSkew, o as renderVersionTag, r as renderTimestamp, t as renderAuthMethod } from "./render-BSfDD6ip.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/auth/status.ts
|
|
6
6
|
const AuthStatus = z.object({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
2
|
//#region src/commands/subscription/index.ts
|
|
3
3
|
var subscription_default = defineCommandGroup({
|
|
4
4
|
name: "subscription",
|
|
@@ -11,11 +11,11 @@ var subscription_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "the dashboard and dashcards a subscription delivers"
|
|
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-CCdXig7b.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-CYIeiTZ9.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-CulUZgN1.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-6P_GYCLT.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-COP9joWU.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
5
|
-
import { t as pulseView } from "./pulse-
|
|
6
|
-
import { SubscriptionListEnvelope } from "./list-
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { t as pulseView } from "./pulse-D1uh8UIU.mjs";
|
|
6
|
+
import { SubscriptionListEnvelope } from "./list-CCdXig7b.mjs";
|
|
7
7
|
//#region src/commands/dashboard/subscriptions.ts
|
|
8
8
|
var subscriptions_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
|
+
import { c as FieldSummary } from "./field-5nivEfd6.mjs";
|
|
5
|
+
import { a as fieldSummaryView } from "./field-wmN6raOG.mjs";
|
|
6
6
|
//#region src/commands/field/summary.ts
|
|
7
7
|
var summary_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
|
+
import { g as TableSchemaSyncResult } from "./table-Ci6bhZkb.mjs";
|
|
5
|
+
import { o as tableSchemaSyncResultView } from "./table-CxvaDiIZ.mjs";
|
|
6
|
+
//#region src/commands/table/sync-schema.ts
|
|
7
|
+
var sync_schema_default = defineMetabaseCommand({
|
|
8
|
+
meta: {
|
|
9
|
+
name: "sync-schema",
|
|
10
|
+
description: "Trigger a manual schema sync for one table"
|
|
11
|
+
},
|
|
12
|
+
details: "Queues an async sync of this one table and returns immediately; the server reports no completion to wait on. The sync re-reads the table's columns, fingerprints them, and refreshes its cached field values; it never discovers new tables, so use `mb db sync-schema <db-id>` for a table the warehouse just gained. A warehouse the server cannot connect to is refused with a 422. To sync a set of tables use `mb table bulk-sync-schema`.",
|
|
13
|
+
requires: ["table.syncSchema"],
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags,
|
|
18
|
+
id: {
|
|
19
|
+
type: "positional",
|
|
20
|
+
description: "Table id",
|
|
21
|
+
required: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
outputSchema: TableSchemaSyncResult,
|
|
25
|
+
examples: ["mb table sync-schema 42", "mb table sync-schema 42 --json"],
|
|
26
|
+
async run({ args, ctx, getClient }) {
|
|
27
|
+
const id = parseId(args.id);
|
|
28
|
+
renderSummary(await (await getClient()).table.syncSchema(id), tableSchemaSyncResultView, `Schema sync queued for table ${id}.`, ctx);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//#endregion
|
|
32
|
+
export { sync_schema_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { a as DatabaseSyncResult } from "./database-
|
|
5
|
-
import { t as databaseSyncResultView } from "./database-
|
|
6
|
-
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CZ5zh32z.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-BW09NysN.mjs";
|
|
4
|
+
import { a as DatabaseSyncResult } from "./database-D-CRyRIv.mjs";
|
|
5
|
+
import { t as databaseSyncResultView } from "./database-MlUPpitM.mjs";
|
|
6
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-rUU4NUrv.mjs";
|
|
7
7
|
//#region src/commands/db/sync-schema.ts
|
|
8
8
|
var sync_schema_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { d as SyncTask, p as isSyncTaskFailed } from "./git-sync-COokpYgc.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/commands/git-sync/sync-task.ts
|
|
4
|
+
const SyncTaskIdle = z.object({ status: z.literal("idle") });
|
|
5
|
+
const SyncTaskOrIdle = z.union([SyncTask, SyncTaskIdle]);
|
|
6
|
+
const syncTaskIdleView = {
|
|
7
|
+
compactPick: SyncTaskIdle,
|
|
8
|
+
tableColumns: [{
|
|
9
|
+
key: "status",
|
|
10
|
+
label: "Status"
|
|
11
|
+
}]
|
|
12
|
+
};
|
|
13
|
+
function taskPollOptions(schedule) {
|
|
14
|
+
return {
|
|
15
|
+
...schedule,
|
|
16
|
+
backoff: "exponential"
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const CONFLICT_REMEDY = "The server now counts the remote's commit as synced, so a retry, --merge included, would not see its changes: keep one side with import --force or export --force, or push Metabase's side to a new branch with create-branch then export.";
|
|
20
|
+
const DIVERGED_EXPORT = "the remote branch moved past the last sync";
|
|
21
|
+
function throwIfFailedTask(final, verb) {
|
|
22
|
+
if (final === null || !isSyncTaskFailed(final.status)) return;
|
|
23
|
+
const failure = withDetail(`git-sync ${verb} ${final.status}`, taskDetail(final));
|
|
24
|
+
if (final.status === "conflict") throw new Error(`${sentence(failure)} ${CONFLICT_REMEDY}`);
|
|
25
|
+
throw new Error(failure);
|
|
26
|
+
}
|
|
27
|
+
function taskDetail(task) {
|
|
28
|
+
if (task.error_message) return task.error_message;
|
|
29
|
+
const conflicts = task.conflicts ?? null;
|
|
30
|
+
if (conflicts !== null && conflicts.length > 0) return conflicts.join("; ");
|
|
31
|
+
if (task.status === "conflict" && task.sync_task_type === "export") return DIVERGED_EXPORT;
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
function withDetail(head, detail) {
|
|
35
|
+
return detail === null ? head : `${head}: ${detail}`;
|
|
36
|
+
}
|
|
37
|
+
function sentence(text) {
|
|
38
|
+
return text.endsWith(".") ? text : `${text}.`;
|
|
39
|
+
}
|
|
40
|
+
function formatSyncTask(task) {
|
|
41
|
+
const label = `${task.sync_task_type === "export" ? "Export" : "Import"} task #${task.id}`;
|
|
42
|
+
const detail = taskDetail(task);
|
|
43
|
+
switch (task.status) {
|
|
44
|
+
case "running": return `${label} is running${task.progress === null ? "" : ` (${Math.round(task.progress * 100)}%)`}.`;
|
|
45
|
+
case "successful": return `${label} succeeded.`;
|
|
46
|
+
case "errored": return sentence(withDetail(`${label} errored`, detail));
|
|
47
|
+
case "timed-out": return sentence(withDetail(`${label} timed out`, detail));
|
|
48
|
+
case "conflict": return sentence(withDetail(`${label} hit conflicts`, detail));
|
|
49
|
+
case "cancelled": return `${label} was cancelled.`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { throwIfFailedTask as a, taskPollOptions as i, formatSyncTask as n, syncTaskIdleView as r, SyncTaskOrIdle as t };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
|
+
//#region src/commands/table/index.ts
|
|
3
|
+
var table_default = defineCommandGroup({
|
|
4
|
+
name: "table",
|
|
5
|
+
description: "Manage Metabase tables",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "metadata",
|
|
8
|
+
purpose: "table and column metadata, semantic types, visibility"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-C9x--9Jq.mjs").then((m) => m.default),
|
|
12
|
+
get: () => import("./get-D2cPuOPR.mjs").then((m) => m.default),
|
|
13
|
+
fields: () => import("./fields-Bod0s_uV.mjs").then((m) => m.default),
|
|
14
|
+
fks: () => import("./fks-IUw66K_Q.mjs").then((m) => m.default),
|
|
15
|
+
update: () => import("./update-D_DCOOAB.mjs").then((m) => m.default),
|
|
16
|
+
"sync-schema": () => import("./sync-schema-B8RY0Ra4.mjs").then((m) => m.default),
|
|
17
|
+
"rescan-values": () => import("./rescan-values-PeMnpaFY.mjs").then((m) => m.default),
|
|
18
|
+
"discard-values": () => import("./discard-values-yzH-kIsr.mjs").then((m) => m.default),
|
|
19
|
+
"bulk-edit": () => import("./bulk-edit-Brqr67bu.mjs").then((m) => m.default),
|
|
20
|
+
"bulk-sync-schema": () => import("./bulk-sync-schema-mO-t2QlL.mjs").then((m) => m.default),
|
|
21
|
+
"bulk-rescan-values": () => import("./bulk-rescan-values-DndXXi2N.mjs").then((m) => m.default),
|
|
22
|
+
"bulk-discard-values": () => import("./bulk-discard-values-DFJUjSnE.mjs").then((m) => m.default)
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
export { table_default as default };
|