@metabase/cli 0.3.2 → 0.4.0-alpha.release-65-integration-branch.31ca6bb
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-B-Kczwcj.mjs} +5 -5
- package/dist/{alert-DCLhfwdv.mjs → alert-Ne0ivd5m.mjs} +7 -7
- package/dist/{alerts-DRin_wt2.mjs → alerts-Fakzg9iP.mjs} +6 -6
- package/dist/{append-DQ9rPJHZ.mjs → append-DCDVqPmR.mjs} +4 -4
- package/dist/archive-55sDfnHf.mjs +32 -0
- package/dist/{archive-_c-ISZmi.mjs → archive-BNJit8eD.mjs} +3 -3
- package/dist/{archive-o5cWV3vZ.mjs → archive-BbNqts-V.mjs} +3 -3
- package/dist/{archive-D6xzHaM3.mjs → archive-C93UR4Uc.mjs} +3 -3
- package/dist/{archive-BzVxRqpL.mjs → archive-CGmvQht4.mjs} +5 -5
- package/dist/{archive-COFQAHAL.mjs → archive-CL8wqAzm.mjs} +3 -3
- package/dist/{archive-BVRKE9Ev.mjs → archive-CSdktxvW.mjs} +5 -5
- package/dist/{archive-D3yPvUtz.mjs → archive-CpCSY4RT.mjs} +5 -5
- package/dist/{archive-xcgoVPwv.mjs → archive-DCCkQTjQ.mjs} +5 -5
- package/dist/{archive-BPCgmLcV.mjs → archive-DCE087yD.mjs} +4 -4
- package/dist/{archive-1YVo-Wsu.mjs → archive-DEef7eB8.mjs} +3 -3
- package/dist/{archive-HeRygdKz2.mjs → archive-DIZu7o4C.mjs} +4 -4
- package/dist/{auth-DJn5T6zA.mjs → auth-Bx4QQhqt.mjs} +5 -5
- package/dist/body-CB2eDFFb.mjs +17 -0
- package/dist/branch-flag-pFQPNYKr.mjs +9 -0
- package/dist/{branches-CUyPxeeW.mjs → branches-B6ilUG-7.mjs} +3 -3
- package/dist/breaking-Dg3-8yDF.mjs +36 -0
- package/dist/broken-BNBD4Eo3.mjs +37 -0
- package/dist/bulk-discard-values-DfKXuZpR.mjs +49 -0
- package/dist/bulk-edit-oUCfDQ_M.mjs +53 -0
- package/dist/bulk-rescan-values-B8pNlXUH.mjs +28 -0
- package/dist/bulk-sync-schema-tRp7jBJt.mjs +28 -0
- package/dist/{cancel-BNuVls58.mjs → cancel-Bl4BMkwI.mjs} +3 -3
- package/dist/{cancel-task-DUmlQQpi.mjs → cancel-task-CWWo7vLf.mjs} +4 -4
- package/dist/card-CQD4D8mw.mjs +25 -0
- package/dist/{card-CEkp1mcI.mjs → card-CQNUT9pm.mjs} +1 -1
- package/dist/{card-voh1k4hl.mjs → card-P5mBknsl.mjs} +3 -11
- package/dist/{cards-_gbvw3wp.mjs → cards-BIUYdSIR.mjs} +6 -6
- package/dist/cli.mjs +420 -100
- package/dist/{client-BnK0evYf.mjs → client-BHIFvEg2.mjs} +394 -316
- package/dist/{collection-DYM0p3Xl.mjs → collection-BG3Ksea-.mjs} +1 -1
- package/dist/collection-CuaTd10G.mjs +21 -0
- package/dist/{collection-BxdPxD38.mjs → collection-D3KXhvnc.mjs} +7 -5
- package/dist/{collection-namespace-DM90lA8C.mjs → collection-namespace-ZQePD67z.mjs} +2 -2
- package/dist/{content-translation-CqB3peU9.mjs → content-translation-BRdNdAmn.mjs} +3 -3
- package/dist/copy-BMEaYmTb.mjs +55 -0
- package/dist/copy-CbDfVZRC.mjs +36 -0
- package/dist/copy-flags-anRhAvB5.mjs +32 -0
- package/dist/{create-BIUVvIGH.mjs → create-5cDaZcRL.mjs} +3 -3
- package/dist/{create-CwXUMOMd.mjs → create-BEN-2XFK.mjs} +3 -3
- package/dist/create-BJG630xB.mjs +48 -0
- package/dist/{create-IFjwHs0G.mjs → create-BTQB1lqX.mjs} +4 -4
- package/dist/{create-BMKuihoI.mjs → create-C3TmU1Bi.mjs} +6 -6
- package/dist/create-C7O9tPL2.mjs +34 -0
- package/dist/{create-DVo8-IzZ.mjs → create-C8hsOv_D.mjs} +6 -6
- package/dist/{create-DNx9TGHs.mjs → create-CBSsW8Hm.mjs} +6 -6
- package/dist/{create-Cm9Z-rfe2.mjs → create-CG6WWY6k.mjs} +4 -4
- package/dist/{create-BSvTs-EV.mjs → create-D2Shlb7t.mjs} +3 -3
- package/dist/{create-DMVw9nrZ.mjs → create-DVEqry26.mjs} +4 -4
- package/dist/{create-B48rmY8v.mjs → create-D_pNX7d0.mjs} +3 -3
- package/dist/{create-D4Y69cDF.mjs → create-R0Q-nRlq.mjs} +4 -4
- package/dist/{create-CUHpxANR.mjs → create-SqmOf6WQ.mjs} +6 -6
- package/dist/{create-branch-Cw-uXows.mjs → create-branch-Cb3CWojg.mjs} +4 -4
- package/dist/{create-CnJKj9Nl.mjs → create-c2zR9y4J.mjs} +4 -4
- package/dist/{create-va8bByVt.mjs → create-xt4ff6fP.mjs} +3 -3
- package/dist/{create-B7S5fCkD.mjs → create-zpJIRn9j.mjs} +5 -5
- package/dist/{csv-CaKx1oFZ.mjs → csv-CRNOhy4X.mjs} +4 -4
- package/dist/{current-task-lGh69Z1i.mjs → current-task-DFo1ZJ51.mjs} +4 -4
- package/dist/dashboard-D11YAa7I.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/data-action-BiHjjVjc.mjs +24 -0
- package/dist/data-action-DZxVB_hD.mjs +85 -0
- package/dist/data-action-R9qxJDPA.mjs +40 -0
- package/dist/database-BT7DVgSr.mjs +45 -0
- package/dist/{database-C3E9PZSx.mjs → database-Kq2AL5jH.mjs} +1 -1
- package/dist/dataset-BmvCxGoE.mjs +66 -0
- package/dist/{db-BRHPjshe.mjs → db-C8lj73Dz.mjs} +7 -7
- package/dist/delete-09O7BTNw.mjs +44 -0
- package/dist/{delete-Ci0aDYpf.mjs → delete-CYgNpHl7.mjs} +4 -4
- package/dist/{delete-G6EiGn2Q.mjs → delete-D_ZNoYVv.mjs} +4 -4
- package/dist/{delete-BxBadE3q.mjs → delete-HWeQtc4M.mjs} +4 -4
- package/dist/delete-I4eFpsed.mjs +44 -0
- package/dist/{delete-DMETa-37.mjs → delete-My8TX-B2.mjs} +4 -4
- package/dist/{delete-CQWCfqHf.mjs → delete-qwdN0N7e.mjs} +4 -4
- package/dist/delete-runtime-BbmRg_in.mjs +55 -0
- package/dist/{delete-table-N4rZtt1T.mjs → delete-table-BCvjX7bh.mjs} +4 -4
- package/dist/{dependencies-edN0P1SS.mjs → dependencies-BAE4YPXX.mjs} +5 -5
- package/dist/dependency-CIam7zmr.mjs +15 -0
- package/dist/dependency-DzLH3J8P.mjs +165 -0
- package/dist/dependency-zElFM-os.mjs +111 -0
- package/dist/dependents-Dv6tLdSs.mjs +52 -0
- package/dist/{dirty-U51bMoCP.mjs → dirty-CZORg0i0.mjs} +5 -5
- package/dist/discard-values-DKnP-JHr.mjs +55 -0
- package/dist/{document-CA0Q6lqu.mjs → document-C18b5rM6.mjs} +1 -1
- package/dist/{document-BHpLJbKU.mjs → document-DFCj1Az_.mjs} +2 -1
- package/dist/document-uxz96Lah.mjs +20 -0
- package/dist/{download-BJA6k-e6.mjs → download-BImtTll0.mjs} +2 -2
- package/dist/{eid-BtlRU1E0.mjs → eid-D0FxhT9H.mjs} +11 -10
- package/dist/entity-DWp9WJbU.mjs +20 -0
- package/dist/entry-flags-3sDWwa90.mjs +42 -0
- package/dist/{events-B5rnOo-L.mjs → events-BzCjVA3-.mjs} +4 -4
- package/dist/execute-BhHbkBqf.mjs +45 -0
- package/dist/export-CjqjDnaZ.mjs +74 -0
- package/dist/export-flags-BETJHNcw.mjs +81 -0
- package/dist/export-preflight-DzvIP6TB.mjs +35 -0
- package/dist/{field-CcN4oZy6.mjs → field-5nivEfd6.mjs} +33 -3
- package/dist/field-fBpiGiqr.mjs +21 -0
- package/dist/field-wmN6raOG.mjs +128 -0
- package/dist/{fields-zQ6O_W_H.mjs → fields-C-au1eLO.mjs} +6 -6
- package/dist/filter-flags-BIFcA2TT.mjs +72 -0
- package/dist/fks-83QIm8xb.mjs +36 -0
- package/dist/{get-93wuhTn2.mjs → get-BMHbEGbr.mjs} +4 -4
- package/dist/{get-DXwlZjw0.mjs → get-BTCOzSkl.mjs} +3 -3
- package/dist/{get-CekXFP3x.mjs → get-BawLhSwW.mjs} +3 -3
- package/dist/{get-BLjcCXp8.mjs → get-BjqqFG2m.mjs} +3 -3
- package/dist/{get-is8x5f2n.mjs → get-C-R_Fdsi.mjs} +3 -3
- package/dist/{get-DC_huYD8.mjs → get-C73V2KsB.mjs} +5 -5
- package/dist/{get-CG6G-mzV.mjs → get-C9sq2boy.mjs} +5 -5
- package/dist/{get-Cf6a4fFN.mjs → get-Cggv6yLC.mjs} +4 -4
- package/dist/{get-xPv7e5Ez.mjs → get-CkXc0Xld.mjs} +5 -5
- package/dist/{get-BLcS4il2.mjs → get-CqNEVAX_2.mjs} +3 -3
- package/dist/{get-DhpMuTSt.mjs → get-D7h7uH4k.mjs} +5 -5
- package/dist/get-DGmE5fmp.mjs +31 -0
- package/dist/{get-EFsmL4le.mjs → get-DTTsPd-c.mjs} +5 -5
- package/dist/{get-CeSQptdl.mjs → get-DXBXhPrU.mjs} +5 -5
- package/dist/{get-CTp5l7aU.mjs → get-D_v1IAL1.mjs} +3 -3
- package/dist/{get-BDrmBZ1z.mjs → get-DkzO3G5p.mjs} +5 -5
- package/dist/{get-Dg-S07ri.mjs → get-Dvr_69L7.mjs} +3 -3
- package/dist/get-NOMvMvYJ.mjs +36 -0
- package/dist/{get-BSoMWp4t2.mjs → get-YPDWhgm_2.mjs} +4 -4
- package/dist/{get-CwiJWeH4.mjs → get-Z36_0HX_.mjs} +4 -4
- package/dist/{get-run-DwY4sFGy.mjs → get-run-v1QHn-Mx.mjs} +4 -4
- package/dist/{git-sync-BwBRmEhE.mjs → git-sync-COokpYgc.mjs} +12 -3
- package/dist/git-sync-DspFahwV.mjs +165 -0
- package/dist/git-sync-VAqASCQ5.mjs +29 -0
- package/dist/glossary-BlNCrYbw.mjs +30 -0
- package/dist/glossary-Brnk2PBi.mjs +14 -0
- package/dist/glossary-LmZWwCNP.mjs +21 -0
- package/dist/graph-B6OliqnW.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-iTRCU9j0.mjs} +4 -4
- package/dist/{import-Cs7wk058.mjs → import-CdSs5CtT.mjs} +19 -8
- package/dist/{input-DEvkIjGr.mjs → input-D8qW-KtR.mjs} +6 -2
- package/dist/{is-dirty-XqDfqXGi.mjs → is-dirty-B5fj9NeS.mjs} +2 -2
- package/dist/{items-BloAjPwA.mjs → items-BxWnNEh7.mjs} +8 -8
- package/dist/{key-PYetuQ13.mjs → key-BynJSK9u.mjs} +1 -1
- package/dist/{library-Dgq_5BFh.mjs → library-BHHgurW0.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-D9d5ocYi.mjs → list-BPMOLrwn.mjs} +5 -5
- package/dist/{list-D04uiS3F.mjs → list-BTcEm4td.mjs} +3 -3
- package/dist/{list-CghNKfYJ.mjs → list-BTgAbqeS.mjs} +4 -4
- package/dist/{list-3ErmGdY0.mjs → list-Bop1NTbU.mjs} +6 -6
- package/dist/{list-yV6CyPzn.mjs → list-By9XJRiv.mjs} +3 -3
- package/dist/list-CNC-XHbN.mjs +35 -0
- package/dist/{list-CUJ1wem9.mjs → list-CPWgBkPa.mjs} +4 -4
- package/dist/{list-sdCIS2Df.mjs → list-Cpa0Se7M.mjs} +5 -5
- package/dist/list-DA9KsA0o.mjs +101 -0
- package/dist/{list-VzrtA9lt.mjs → list-DE9gYY3I.mjs} +3 -3
- package/dist/{list-CUXlZiS1.mjs → list-DFJt2-fY.mjs} +4 -4
- package/dist/{list-BZnf3RmA.mjs → list-DUcnAb1h.mjs} +3 -3
- package/dist/{list-vsXIMssK.mjs → list-DW4-u7eO.mjs} +5 -5
- package/dist/{list-f8Csdjyc.mjs → list-DbXnSL2x.mjs} +5 -5
- package/dist/list-DgsM9YQX.mjs +28 -0
- package/dist/{list-BfLo1xI8.mjs → list-Dzzt6Yee.mjs} +3 -3
- package/dist/{list-CZCaqPoo.mjs → list-ZHLsjxXg.mjs} +6 -6
- package/dist/{list-Bzm5mXRo.mjs → list-e7yvJYMw.mjs} +3 -3
- package/dist/{list-DboUvg-Y.mjs → list-hN_Tu2T6.mjs} +6 -6
- package/dist/{list-DuJezLm_.mjs → list-zyKxxNvn.mjs} +3 -3
- package/dist/{login-Vw51Gts5.mjs → login-B7nGQDZK.mjs} +6 -6
- package/dist/{logout-BDIqoVhv.mjs → logout-pZffAh1G.mjs} +2 -2
- package/dist/{measure-LY9Tp9QZ.mjs → measure-AtnrCTCC.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-CxTkEjCs.mjs} +3 -3
- package/dist/{parse-enum-Dc0dMZ3P.mjs → parse-enum-CLIXMsd8.mjs} +1 -1
- package/dist/parse-id-7ja3HUdB.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-DM4vyihl.mjs} +4 -4
- package/dist/{poll-CZeXepUQ.mjs → poll-Dz4tUm2f.mjs} +2 -2
- package/dist/{preflight-DcULqq8E.mjs → preflight-DaZ2z2C1.mjs} +3 -3
- package/dist/{process-CTrfxxaC.mjs → process-D0HdqZ3r.mjs} +1 -1
- package/dist/{publish-qVFmJQ1E.mjs → publish-C0HCL04a.mjs} +4 -4
- package/dist/{pulse-x0gFxWfG.mjs → pulse-D1uh8UIU.mjs} +1 -1
- package/dist/{query-Cq1lmqL5.mjs → query-BC-C6efK.mjs} +14 -33
- package/dist/query-BKtMP5eH.mjs +13 -0
- package/dist/query-CAFPlqfi.mjs +329 -0
- package/dist/remapping-CgA6UJGU.mjs +53 -0
- package/dist/{remove-collection-DBqh2Lqm.mjs → remove-collection-DoctJa9g.mjs} +5 -5
- package/dist/{render-Gx1hR7IF.mjs → render-Bvm9mta6.mjs} +2 -2
- package/dist/{replace-CujInVY9.mjs → replace-CaFJd9fO.mjs} +4 -4
- package/dist/rescan-values-7VOGCLMe.mjs +32 -0
- package/dist/{rescan-values-HypqBCSK.mjs → rescan-values-sJRwcHsk.mjs} +5 -5
- package/dist/{run-DEkQSOQa.mjs → run-COHDQ5J4.mjs} +3 -3
- package/dist/{run-b3jyF29q.mjs → run-RXpFlDAB.mjs} +4 -4
- package/dist/{runs-GHqHLGy4.mjs → runs-CUYdCKiE.mjs} +5 -5
- package/dist/{runtime-nCPku2nN.mjs → runtime-B8RtMb4B.mjs} +21 -82
- package/dist/{schema-tables-B5L05Y1L.mjs → schema-tables-CO5qyZBe.mjs} +6 -6
- package/dist/{schemas-Clx26p_4.mjs → schemas-CzHHgDdF.mjs} +4 -4
- package/dist/search-BWb052_b.mjs +131 -0
- package/dist/search-Cc9vHNae.mjs +85 -0
- package/dist/{segment-DiRJcbam.mjs → segment-C_rsUkHK.mjs} +6 -6
- package/dist/{send-DIHkDNBN.mjs → send-C-3bkpni.mjs} +3 -3
- package/dist/{set-D77qUZML.mjs → set-BDkT37OT.mjs} +4 -4
- package/dist/{set-active-DCdFgD0O.mjs → set-active-CDJTfQEc.mjs} +3 -3
- package/dist/set-sensitivity-DVrINHde.mjs +57 -0
- package/dist/{setting-DR9bj232.mjs → setting-CoLzd08x.mjs} +4 -4
- package/dist/{setup-DGa2LLEp.mjs → setup-C4F4XYbU.mjs} +3 -3
- package/dist/{signal-k7cm5N6h.mjs → signal-CxWeLszu.mjs} +1 -1
- package/dist/{skill-list-DAvGGHzS.mjs → skill-list-BgihWuPf.mjs} +2 -2
- package/dist/{skills-CqtNuSXM.mjs → skills-4qDjKRSk.mjs} +2 -2
- package/dist/{skills-CCn7cyMP.mjs → skills-BWEFRpUj.mjs} +3 -3
- package/dist/snippet-CYd8D9SK.mjs +19 -0
- package/dist/{stash-BTtsV0AG.mjs → stash-CZ1x0rox.mjs} +6 -6
- package/dist/{status-XgSS3StV.mjs → status-BM6eYW7I.mjs} +3 -3
- package/dist/{status-CW7Dt-nV.mjs → status-gqpPZvue.mjs} +7 -7
- package/dist/{subscription-CofRU47d.mjs → subscription-pSuO241O.mjs} +6 -6
- package/dist/{subscriptions-DCuuPF6U.mjs → subscriptions-n5zJ9rYZ.mjs} +6 -6
- package/dist/{summary-uGlgKE3C.mjs → summary-DvIf2EiO.mjs} +5 -5
- package/dist/sync-schema-Cc21crxQ.mjs +32 -0
- package/dist/{sync-schema-Cu9rD3eH.mjs → sync-schema-D1t8rhdQ.mjs} +6 -6
- package/dist/sync-task-CXFoqlpF.mjs +53 -0
- package/dist/{table-DfuY0N8e.mjs → table-Ci6bhZkb.mjs} +35 -12
- package/dist/table-CxvaDiIZ.mjs +155 -0
- package/dist/table-Dc0dLfyg.mjs +26 -0
- package/dist/table-selector-flags-BVZvnhUa.mjs +42 -0
- package/dist/text-DaNkPRwt.mjs +6 -0
- package/dist/timeline-BqU5sOb6.mjs +21 -0
- package/dist/{timeline-event-D-h0A_oh.mjs → timeline-event-jn1SOKd4.mjs} +6 -6
- package/dist/transform-BUIlFqpv.mjs +28 -0
- package/dist/{transform-CtqB1WYo.mjs → transform-CNBIV7No.mjs} +1 -1
- package/dist/transform-job-DsbY9mme.mjs +22 -0
- package/dist/{transform-tag-BLp_p9J-.mjs → transform-tag-C0jzV6Dk.mjs} +5 -5
- package/dist/{transforms-n2IwEcbU.mjs → transforms-DwTy_Quh.mjs} +5 -5
- package/dist/tree-p2j6IVy-.mjs +34 -0
- package/dist/{unpublish-DVQCAa3g.mjs → unpublish-B-961jX1.mjs} +3 -3
- package/dist/unreferenced-Dxy-aYI7.mjs +36 -0
- package/dist/{update-CnkPYL2i.mjs → update-BFYRBbRu.mjs} +6 -6
- package/dist/{update-ChpOukqq.mjs → update-BGeaPntx.mjs} +5 -5
- package/dist/{update-NGq0yXZk.mjs → update-BnIEN390.mjs} +5 -5
- package/dist/{update-DffrdV4b.mjs → update-CALlEgIC.mjs} +4 -4
- package/dist/{update-DFdBeJwc.mjs → update-CHkVN69L.mjs} +13 -8
- package/dist/{update-oQeQyqKO.mjs → update-CKqL9PmU.mjs} +5 -5
- package/dist/{update-rFRPLlb6.mjs → update-CYGYUCFQ.mjs} +4 -4
- package/dist/update-CuQy2g51.mjs +52 -0
- package/dist/{update-B7CikkI0.mjs → update-D4TGE6FS.mjs} +7 -7
- package/dist/{update-D9H6Lh5U.mjs → update-D7xi-0bU.mjs} +4 -4
- package/dist/{update-DKO9HF1f.mjs → update-DK77vtFF.mjs} +6 -6
- package/dist/{update-CKDRuduL.mjs → update-DKDQTlnV.mjs} +5 -5
- package/dist/update-DXxJHC8y.mjs +41 -0
- package/dist/update-DiJK0uRG.mjs +181 -0
- package/dist/{update-CAsqNhDC.mjs → update-MD1Kwq1P.mjs} +4 -4
- package/dist/{update-dashcard-DvPqLJ3N.mjs → update-dashcard-DuTjOh14.mjs} +6 -6
- package/dist/{update-DScUzKLI.mjs → update-hvO4VpfZ.mjs} +7 -7
- package/dist/{update-D4ggtuG4.mjs → update-qDZvnwvf.mjs} +7 -7
- package/dist/{update-C05J2nZ2.mjs → update-tltXCUwR.mjs} +4 -4
- package/dist/{upgrade-BRgw0fvn.mjs → upgrade-Ca-Ss5jb.mjs} +4 -4
- package/dist/{upload-Do2PBSeH.mjs → upload-C2fhpKkP.mjs} +2 -2
- package/dist/upload-Dw7mVr9u.mjs +13 -0
- package/dist/{upload-BrfbcbBW.mjs → upload-t6dkccqn.mjs} +3 -3
- package/dist/{uuid-B4eij1d7.mjs → uuid-BMlJZT8z.mjs} +2 -2
- package/dist/{validate-xR_MHBNR.mjs → validate-D7e110oU.mjs} +1 -1
- package/dist/{validate-query-D6_ad-Gi.mjs → validate-query-BzbZmenf.mjs} +7 -3
- package/dist/{values-xgOftPq5.mjs → values-CXN4xTTh.mjs} +5 -5
- package/dist/verify-CPVfwKSu.mjs +38 -0
- package/dist/verify-flags-CMpRkMPa.mjs +58 -0
- package/dist/verify-k-JB-k3D.mjs +38 -0
- package/dist/{verify-DTOA_wVM.mjs → verify-t-CEmvoG.mjs} +3 -3
- package/dist/{wait-BjeFgR13.mjs → wait-KSkq7kKW.mjs} +6 -6
- package/dist/{wait-flags-BCeCnaz3.mjs → wait-flags-KX7NHdj4.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/data-action/SKILL.md +125 -0
- 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/skill-data/native-sql/SKILL.md +1 -1
- 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,74 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, at as ConfigError, k as warn, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { o as SyncExportResult } from "./git-sync-COokpYgc.mjs";
|
|
4
|
+
import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-KX7NHdj4.mjs";
|
|
5
|
+
import { a as syncExportView } from "./git-sync-DspFahwV.mjs";
|
|
6
|
+
import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-CXFoqlpF.mjs";
|
|
7
|
+
import { t as branchFlag } from "./branch-flag-pFQPNYKr.mjs";
|
|
8
|
+
//#region src/commands/git-sync/export.ts
|
|
9
|
+
var export_default = defineMetabaseCommand({
|
|
10
|
+
meta: {
|
|
11
|
+
name: "export",
|
|
12
|
+
description: "Export Metabase changes back to the configured git remote"
|
|
13
|
+
},
|
|
14
|
+
details: "The export targets the branch git-sync tracks. On Metabase 63+ `--branch` defaults to it and must name it (the server answers 409 for any other branch); older servers export to the branch `--branch` names and switch git-sync to it, refusing with 400 when that branch's tip is not the last synced commit unless --force is given. To push to a new branch, use `git-sync stash` or `git-sync create-branch` first. When the remote has moved past the last sync, a plain export ends in a `conflict` task on 63+ and is refused with 400 on older servers. --merge (63+) folds the remote's changes in by a three-way merge (entities changed on both sides still end in `conflict`), --force overwrites them. `git-sync export-preflight` previews which applies. A task that ends in `conflict` makes the server count the remote commit it saw as synced, so a retry, --merge included, no longer sees the remote's changes: resolve a conflict with --force on the side to keep, or `git-sync create-branch` then export, never with a retry.",
|
|
15
|
+
requires: ["gitSync.export"],
|
|
16
|
+
args: {
|
|
17
|
+
...outputFlags,
|
|
18
|
+
...profileFlag,
|
|
19
|
+
...connectionFlags,
|
|
20
|
+
branch: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "Branch to export to (defaults to the remote-sync-branch setting; on 63+ it must be that branch)",
|
|
23
|
+
alias: "b"
|
|
24
|
+
},
|
|
25
|
+
message: {
|
|
26
|
+
type: "string",
|
|
27
|
+
description: "Commit message",
|
|
28
|
+
alias: "m"
|
|
29
|
+
},
|
|
30
|
+
force: {
|
|
31
|
+
type: "boolean",
|
|
32
|
+
description: "Force-push / overwrite remote",
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
35
|
+
merge: {
|
|
36
|
+
type: "boolean",
|
|
37
|
+
description: "When the remote moved on, fold its changes in by a three-way merge instead of ending in conflict",
|
|
38
|
+
default: false
|
|
39
|
+
},
|
|
40
|
+
...gitSyncWaitFlags
|
|
41
|
+
},
|
|
42
|
+
outputSchema: SyncExportResult,
|
|
43
|
+
examples: [
|
|
44
|
+
"mb git-sync export -m \"update dashboards\"",
|
|
45
|
+
"mb git-sync export --merge -m \"update dashboards\"",
|
|
46
|
+
"mb git-sync export --branch main --json",
|
|
47
|
+
"mb git-sync export --no-wait"
|
|
48
|
+
],
|
|
49
|
+
async run({ args, ctx, getClient }) {
|
|
50
|
+
const wait = parseWaitFlags(args);
|
|
51
|
+
if (args.merge && args.force) throw new ConfigError("--merge cannot be combined with --force");
|
|
52
|
+
const branch = branchFlag(args.branch);
|
|
53
|
+
const params = {};
|
|
54
|
+
if (branch !== null) params.branch = branch;
|
|
55
|
+
if (args.message !== void 0 && args.message !== "") params.message = args.message;
|
|
56
|
+
if (args.force) params.force = true;
|
|
57
|
+
if (args.merge) params.merge = true;
|
|
58
|
+
if (wait.enabled) params.wait = taskPollOptions(wait.schedule);
|
|
59
|
+
const result = await (await getClient()).gitSync.export(params);
|
|
60
|
+
if (!wait.enabled) renderSummary(result, syncExportView, `Started export task #${result.task_id}.`, ctx);
|
|
61
|
+
else {
|
|
62
|
+
const final = result.final ?? null;
|
|
63
|
+
renderSummary(result, syncExportView, final === null ? `Export task #${result.task_id} finished.` : formatSyncTask(final), ctx);
|
|
64
|
+
throwIfFailedTask(final, "export");
|
|
65
|
+
}
|
|
66
|
+
emitRealignHint(ctx);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
function emitRealignHint(ctx) {
|
|
70
|
+
if (ctx.format !== "text") return;
|
|
71
|
+
warn("\nNote: if exporting to a host-bound repo, realign the host working tree with:\n git -C <repo-path> restore --staged --worktree .");
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { export_default as default };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { at as ConfigError, v as formatScalar, y as renderRows } from "./cli.mjs";
|
|
2
|
+
import { n as ExportFormat, r as PivotExportFormat } from "./query-BKtMP5eH.mjs";
|
|
3
|
+
import { t as parseEnumFlag } from "./parse-enum-CLIXMsd8.mjs";
|
|
4
|
+
//#region src/output/query-result.ts
|
|
5
|
+
function formatQueryResult(result) {
|
|
6
|
+
if (result.status !== "completed" || result.data === void 0) {
|
|
7
|
+
const detail = typeof result.error === "string" && result.error !== "" ? `: ${result.error}` : "";
|
|
8
|
+
return `Query ${result.status}${detail}`;
|
|
9
|
+
}
|
|
10
|
+
const head = result.data.cols.map((col) => col.display_name ?? col.name);
|
|
11
|
+
const rowCount = result.row_count ?? result.data.rows.length;
|
|
12
|
+
const summary = `${rowCount} row${rowCount === 1 ? "" : "s"}.`;
|
|
13
|
+
if (result.data.rows.length === 0) return summary;
|
|
14
|
+
return `${renderRows(head, result.data.rows.map((row) => Array.isArray(row) ? row.map((cell) => formatScalar(cell)) : [formatScalar(row)]))}\n${summary}`;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/commands/export-flags.ts
|
|
18
|
+
const PIVOT_FORMATS = PivotExportFormat.options.join(" or ");
|
|
19
|
+
const exportOnlyFlags = {
|
|
20
|
+
"format-rows": {
|
|
21
|
+
type: "boolean",
|
|
22
|
+
description: "Streamed exports only: format values as Metabase displays them, column settings included",
|
|
23
|
+
default: false
|
|
24
|
+
},
|
|
25
|
+
"pivot-results": {
|
|
26
|
+
type: "boolean",
|
|
27
|
+
description: `With --export-format ${PIVOT_FORMATS}: lay a pivot table's rows out as the pivot, with its subtotals; refused when the server has pivoted exports turned off`,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
"csv-include-bom": {
|
|
31
|
+
type: "boolean",
|
|
32
|
+
description: "With --export-format csv: open the file with a UTF-8 byte order mark, so Excel reads it as UTF-8",
|
|
33
|
+
default: false
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const exportFlags = {
|
|
37
|
+
"export-format": {
|
|
38
|
+
type: "string",
|
|
39
|
+
description: `Bypass the JSON envelope and stream the raw export: ${ExportFormat.options.join(" | ")}`
|
|
40
|
+
},
|
|
41
|
+
...exportOnlyFlags
|
|
42
|
+
};
|
|
43
|
+
function isExportOnlyFlag(flag) {
|
|
44
|
+
return flag in exportOnlyFlags;
|
|
45
|
+
}
|
|
46
|
+
const EXPORT_ONLY_FLAGS = Object.keys(exportOnlyFlags).filter(isExportOnlyFlag);
|
|
47
|
+
/**
|
|
48
|
+
* The export the flags ask for, or `null` when `--export-format` is absent. An export-only flag
|
|
49
|
+
* given without a format would be ignored silently, so it is refused.
|
|
50
|
+
*/
|
|
51
|
+
function readExportRequest(args) {
|
|
52
|
+
const raw = args["export-format"];
|
|
53
|
+
if (raw === void 0 || raw === "") {
|
|
54
|
+
const stray = EXPORT_ONLY_FLAGS.find((flag) => args[flag]);
|
|
55
|
+
if (stray !== void 0) throw new ConfigError(`--${stray} requires --export-format`);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const format = parseEnumFlag(raw, ExportFormat, "--export-format");
|
|
59
|
+
if (args["csv-include-bom"] && format !== "csv") throw new ConfigError("--csv-include-bom requires --export-format csv");
|
|
60
|
+
if (args["pivot-results"] && !PivotExportFormat.safeParse(format).success) throw new ConfigError(`--pivot-results requires --export-format ${PIVOT_FORMATS}`);
|
|
61
|
+
return {
|
|
62
|
+
format,
|
|
63
|
+
params: {
|
|
64
|
+
format_rows: args["format-rows"],
|
|
65
|
+
pivot_results: args["pivot-results"],
|
|
66
|
+
csv_include_bom: args["csv-include-bom"]
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A streamed export is the server's bytes, so a flag that shapes the JSON output would be ignored
|
|
72
|
+
* silently and is refused. `--json` and `--format` still pick the shape of an error report.
|
|
73
|
+
*/
|
|
74
|
+
function assertStreamedOutput(ctx) {
|
|
75
|
+
if (ctx.full) throw new ConfigError("--full cannot be combined with --export-format");
|
|
76
|
+
if (ctx.fields !== void 0) throw new ConfigError("--fields cannot be combined with --export-format");
|
|
77
|
+
if (ctx.maxBytesGiven) throw new ConfigError("--max-bytes cannot be combined with --export-format");
|
|
78
|
+
if (ctx.range.limit !== void 0) throw new ConfigError("--limit cannot be combined with --export-format");
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { formatQueryResult as i, exportFlags as n, readExportRequest as r, assertStreamedOutput as t };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { i as SyncExportPreflight } from "./git-sync-COokpYgc.mjs";
|
|
4
|
+
import { i as syncExportPreflightView, t as formatExportPreflight } from "./git-sync-DspFahwV.mjs";
|
|
5
|
+
import { t as branchFlag } from "./branch-flag-pFQPNYKr.mjs";
|
|
6
|
+
//#region src/commands/git-sync/export-preflight.ts
|
|
7
|
+
var export_preflight_default = defineMetabaseCommand({
|
|
8
|
+
meta: {
|
|
9
|
+
name: "export-preflight",
|
|
10
|
+
description: "Preview what an export would do against the live remote branch, without writing"
|
|
11
|
+
},
|
|
12
|
+
details: "Compares the current Metabase content with the remote branch. `has_changes` says whether the remote has advanced past the last synced version (false when nothing has been synced yet, and after a task that ended in `conflict`, which the server counts as synced), `clean` whether a three-way merge would apply without conflicts, `conflicts` names the entities that would conflict, `summary` counts the remote changes a merge would fold in, `force_push_casualties` names the remote content a force push would discard (empty when nothing has been synced yet, although a forced export then replaces the remote's managed directories wholesale), and `reason` is `history-rewritten` when the remote was force-pushed or rebased so no merge base exists. The branch must be the one git-sync tracks; the server answers 409 otherwise.",
|
|
13
|
+
requires: ["gitSync.exportPreflight", "gitSync.trackedBranch"],
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags,
|
|
18
|
+
branch: {
|
|
19
|
+
type: "string",
|
|
20
|
+
description: "Branch to preview against (defaults to the remote-sync-branch setting; must be that branch)",
|
|
21
|
+
alias: "b"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
outputSchema: SyncExportPreflight,
|
|
25
|
+
examples: ["mb git-sync export-preflight", "mb git-sync export-preflight --branch main --json"],
|
|
26
|
+
async run({ args, ctx, getClient }) {
|
|
27
|
+
const given = branchFlag(args.branch);
|
|
28
|
+
const mb = await getClient();
|
|
29
|
+
const branch = given ?? await mb.gitSync.trackedBranch();
|
|
30
|
+
const result = await mb.gitSync.exportPreflight({ branch });
|
|
31
|
+
renderSummary(result, syncExportPreflightView, () => formatExportPreflight(branch, result), ctx);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
export { export_preflight_default as default };
|
|
@@ -187,6 +187,17 @@ const FieldCompact = Field.pick({
|
|
|
187
187
|
semantic_type: true,
|
|
188
188
|
fk_target_field_id: true
|
|
189
189
|
}).strip();
|
|
190
|
+
const FieldWithDataSensitivity = Field.extend({ data_sensitivity: FieldDataSensitivity.nullable() });
|
|
191
|
+
const FieldDetail = z.union([FieldWithDataSensitivity, Field]);
|
|
192
|
+
/** The shape `GET` and `PUT /api/field/{id}` answer on a server with `features`. */
|
|
193
|
+
function fieldDetailSchema(features) {
|
|
194
|
+
return features.fieldDataSensitivity ? FieldWithDataSensitivity : Field;
|
|
195
|
+
}
|
|
196
|
+
/** Whether `field` came from a server that labels data sensitivity. */
|
|
197
|
+
function hasDataSensitivity(field) {
|
|
198
|
+
return "data_sensitivity" in field && FieldWithDataSensitivity.shape.data_sensitivity.safeParse(field.data_sensitivity).success;
|
|
199
|
+
}
|
|
200
|
+
const FieldWithDataSensitivityCompact = FieldCompact.extend({ data_sensitivity: FieldDataSensitivity.nullable() }).strip();
|
|
190
201
|
const NonBlankNullable = z.string().min(1).nullable();
|
|
191
202
|
const FieldUpdateInput = z.object({
|
|
192
203
|
display_name: NonBlankNullable.optional(),
|
|
@@ -214,12 +225,31 @@ const FieldValuesCompact = FieldValues.pick({
|
|
|
214
225
|
field_id: true,
|
|
215
226
|
has_more_values: true
|
|
216
227
|
}).strip();
|
|
217
|
-
const FieldSearchMatches = z.array(z.
|
|
218
|
-
const
|
|
228
|
+
const FieldSearchMatches = z.array(z.union([z.tuple([z.unknown()]), z.tuple([z.unknown(), z.unknown()])]));
|
|
229
|
+
const FieldRemappedPair = z.tuple([z.unknown(), z.unknown()]);
|
|
230
|
+
const FieldRemappedSingle = z.tuple([z.unknown()]).transform(([value]) => [value, value]);
|
|
231
|
+
const FieldRemappedValue = z.union([FieldRemappedPair, FieldRemappedSingle]);
|
|
232
|
+
const FieldRemappedRowWireV59 = z.array(z.unknown()).min(1);
|
|
233
|
+
function firstTwoCells(row) {
|
|
234
|
+
const [value, second] = row;
|
|
235
|
+
return row.length === 1 ? [value, value] : [value, second];
|
|
236
|
+
}
|
|
237
|
+
function valueTwice(row) {
|
|
238
|
+
const [value] = row;
|
|
239
|
+
return [value, value];
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* The row `GET /api/field/{id}/remapping/{remapped-id}` answers on a server with `features`, read as
|
|
243
|
+
* `FieldRemappedValue`. `sameField` says the two ids name one field.
|
|
244
|
+
*/
|
|
245
|
+
function fieldRemappedValueSchema(features, sameField) {
|
|
246
|
+
if (!features.fieldRemappingAppendsDisplayColumns) return FieldRemappedValue;
|
|
247
|
+
return FieldRemappedRowWireV59.transform(sameField ? valueTwice : firstTwoCells);
|
|
248
|
+
}
|
|
219
249
|
const FieldSummary = z.object({
|
|
220
250
|
field_id: z.number().int(),
|
|
221
251
|
count: z.number().int(),
|
|
222
252
|
distincts: z.number().int()
|
|
223
253
|
});
|
|
224
254
|
//#endregion
|
|
225
|
-
export {
|
|
255
|
+
export { FieldDetail as a, FieldSummary as c, FieldValuesCompact as d, FieldWithDataSensitivity as f, hasDataSensitivity as g, fieldRemappedValueSchema as h, FieldDataSensitivity as i, FieldUpdateInput as l, fieldDetailSchema as m, FieldBaseType as n, FieldSearchMatches as o, FieldWithDataSensitivityCompact as p, FieldCompact as r, FieldSemanticType as s, Field as t, FieldValues as u };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.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-NOMvMvYJ.mjs").then((m) => m.default),
|
|
12
|
+
values: () => import("./values-CXN4xTTh.mjs").then((m) => m.default),
|
|
13
|
+
summary: () => import("./summary-DvIf2EiO.mjs").then((m) => m.default),
|
|
14
|
+
update: () => import("./update-CHkVN69L.mjs").then((m) => m.default),
|
|
15
|
+
search: () => import("./search-Cc9vHNae.mjs").then((m) => m.default),
|
|
16
|
+
remapping: () => import("./remapping-CgA6UJGU.mjs").then((m) => m.default),
|
|
17
|
+
"set-sensitivity": () => import("./set-sensitivity-DVrINHde.mjs").then((m) => m.default)
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { field_default as default };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { c as FieldSummary, d as FieldValuesCompact, p as FieldWithDataSensitivityCompact, r as FieldCompact } from "./field-5nivEfd6.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/output/views/field.ts
|
|
4
|
+
function formatTypeTag(value) {
|
|
5
|
+
return typeof value === "string" ? value.replace(/^type\//, "") : "";
|
|
6
|
+
}
|
|
7
|
+
function formatFkTarget(value) {
|
|
8
|
+
return typeof value === "number" ? `field ${value}` : "";
|
|
9
|
+
}
|
|
10
|
+
const FIELD_COLUMNS = [
|
|
11
|
+
{
|
|
12
|
+
key: "id",
|
|
13
|
+
label: "ID"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
key: "name",
|
|
17
|
+
label: "Name"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
key: "display_name",
|
|
21
|
+
label: "Display Name"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
key: "base_type",
|
|
25
|
+
label: "Base Type",
|
|
26
|
+
format: formatTypeTag
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
key: "semantic_type",
|
|
30
|
+
label: "Semantic Type",
|
|
31
|
+
format: formatTypeTag
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: "fk_target_field_id",
|
|
35
|
+
label: "FK Target",
|
|
36
|
+
format: formatFkTarget
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: "description",
|
|
40
|
+
label: "Description"
|
|
41
|
+
}
|
|
42
|
+
];
|
|
43
|
+
const fieldView = {
|
|
44
|
+
compactPick: FieldCompact,
|
|
45
|
+
tableColumns: FIELD_COLUMNS
|
|
46
|
+
};
|
|
47
|
+
const fieldWithDataSensitivityView = {
|
|
48
|
+
compactPick: FieldWithDataSensitivityCompact,
|
|
49
|
+
tableColumns: [...FIELD_COLUMNS, {
|
|
50
|
+
key: "data_sensitivity",
|
|
51
|
+
label: "Sensitivity"
|
|
52
|
+
}]
|
|
53
|
+
};
|
|
54
|
+
const FieldValueLabel = z.object({
|
|
55
|
+
value: z.unknown(),
|
|
56
|
+
label: z.unknown()
|
|
57
|
+
});
|
|
58
|
+
function toValueLabel(row) {
|
|
59
|
+
const [value, label = null] = row;
|
|
60
|
+
return {
|
|
61
|
+
value,
|
|
62
|
+
label
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const VALUE_LABEL_COLUMNS = [{
|
|
66
|
+
key: "value",
|
|
67
|
+
label: "Value"
|
|
68
|
+
}, {
|
|
69
|
+
key: "label",
|
|
70
|
+
label: "Label"
|
|
71
|
+
}];
|
|
72
|
+
const fieldValueLabelView = {
|
|
73
|
+
compactPick: FieldValueLabel,
|
|
74
|
+
tableColumns: VALUE_LABEL_COLUMNS
|
|
75
|
+
};
|
|
76
|
+
const FieldRemappingMatch = z.object({
|
|
77
|
+
found: z.literal(true),
|
|
78
|
+
...FieldValueLabel.shape
|
|
79
|
+
});
|
|
80
|
+
const FieldRemappingMiss = z.object({ found: z.literal(false) });
|
|
81
|
+
const FieldRemappingResult = z.discriminatedUnion("found", [FieldRemappingMatch, FieldRemappingMiss]);
|
|
82
|
+
const fieldRemappingMatchView = {
|
|
83
|
+
compactPick: FieldRemappingMatch,
|
|
84
|
+
tableColumns: VALUE_LABEL_COLUMNS
|
|
85
|
+
};
|
|
86
|
+
const fieldRemappingMissView = {
|
|
87
|
+
compactPick: FieldRemappingMiss,
|
|
88
|
+
tableColumns: [{
|
|
89
|
+
key: "found",
|
|
90
|
+
label: "Found"
|
|
91
|
+
}]
|
|
92
|
+
};
|
|
93
|
+
const fieldValuesView = {
|
|
94
|
+
compactPick: FieldValuesCompact,
|
|
95
|
+
tableColumns: [
|
|
96
|
+
{
|
|
97
|
+
key: "field_id",
|
|
98
|
+
label: "Field"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
key: "has_more_values",
|
|
102
|
+
label: "Has More"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
key: "values",
|
|
106
|
+
label: "Values"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
};
|
|
110
|
+
const fieldSummaryView = {
|
|
111
|
+
compactPick: FieldSummary,
|
|
112
|
+
tableColumns: [
|
|
113
|
+
{
|
|
114
|
+
key: "field_id",
|
|
115
|
+
label: "Field"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "count",
|
|
119
|
+
label: "Count"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
key: "distincts",
|
|
123
|
+
label: "Distinct"
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
};
|
|
127
|
+
//#endregion
|
|
128
|
+
export { fieldSummaryView as a, fieldView as c, fieldRemappingMissView as i, fieldWithDataSensitivityView as l, FieldValueLabel as n, fieldValueLabelView as o, fieldRemappingMatchView as r, fieldValuesView as s, FieldRemappingResult as t, toValueLabel as u };
|
|
@@ -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 { r as FieldCompact } from "./field-
|
|
6
|
-
import {
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, X as listEnvelopeSchema, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { r as FieldCompact } from "./field-5nivEfd6.mjs";
|
|
6
|
+
import { c as fieldView } from "./field-wmN6raOG.mjs";
|
|
7
7
|
//#region src/commands/table/fields.ts
|
|
8
8
|
const FieldListEnvelope = listEnvelopeSchema(FieldCompact);
|
|
9
9
|
var fields_default = defineMetabaseCommand({
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { W as listFlag, nt as parseEnumCsv, tt as parseEnum } from "./cli.mjs";
|
|
2
|
+
import { i as SortDirection } from "./query-BKtMP5eH.mjs";
|
|
3
|
+
import { s as CardType } from "./card-P5mBknsl.mjs";
|
|
4
|
+
import { f as DependencyType, l as DependencyItemsSortColumn, p as DependentsSortColumn } from "./dependency-DzLH3J8P.mjs";
|
|
5
|
+
import { t as parseOptionalText } from "./parse-text-T0lTXzTZ.mjs";
|
|
6
|
+
//#region src/commands/dependency/filter-flags.ts
|
|
7
|
+
const sharedFilterFlags = {
|
|
8
|
+
"include-personal-collections": {
|
|
9
|
+
type: "boolean",
|
|
10
|
+
description: "Also list content in personal collections"
|
|
11
|
+
},
|
|
12
|
+
"sort-direction": {
|
|
13
|
+
type: "string",
|
|
14
|
+
description: `Sort direction: ${SortDirection.options.join("|")} (default: asc)`
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const dependentFilterFlags = {
|
|
18
|
+
"dependent-types": listFlag({
|
|
19
|
+
type: "string",
|
|
20
|
+
description: `Comma-separated entity kinds to keep: ${DependencyType.options.join(",")}`
|
|
21
|
+
}),
|
|
22
|
+
"dependent-card-types": listFlag({
|
|
23
|
+
type: "string",
|
|
24
|
+
description: `Comma-separated card kinds to keep (narrows card dependents only): ${CardType.options.join(",")}`
|
|
25
|
+
}),
|
|
26
|
+
"sort-column": {
|
|
27
|
+
type: "string",
|
|
28
|
+
description: `Sort by: ${DependentsSortColumn.options.join("|")} (default: name)`
|
|
29
|
+
},
|
|
30
|
+
...sharedFilterFlags
|
|
31
|
+
};
|
|
32
|
+
function readDependentFilters(args) {
|
|
33
|
+
return {
|
|
34
|
+
"dependent-types": parseEnumCsv(args["dependent-types"], DependencyType, "--dependent-types"),
|
|
35
|
+
"dependent-card-types": parseEnumCsv(args["dependent-card-types"], CardType, "--dependent-card-types"),
|
|
36
|
+
"include-personal-collections": args["include-personal-collections"] ? true : void 0,
|
|
37
|
+
"sort-column": parseEnum(args["sort-column"], DependentsSortColumn, "--sort-column"),
|
|
38
|
+
"sort-direction": parseEnum(args["sort-direction"], SortDirection, "--sort-direction")
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const queryFlag = { query: {
|
|
42
|
+
type: "string",
|
|
43
|
+
description: "Keep entities whose name or location contains this text (case-insensitive)"
|
|
44
|
+
} };
|
|
45
|
+
const itemFilterFlags = {
|
|
46
|
+
types: listFlag({
|
|
47
|
+
type: "string",
|
|
48
|
+
description: `Comma-separated entity kinds to list: ${DependencyType.options.join(",")}`
|
|
49
|
+
}),
|
|
50
|
+
"card-types": listFlag({
|
|
51
|
+
type: "string",
|
|
52
|
+
description: `Comma-separated card kinds to list (narrows cards only): ${CardType.options.join(",")}`
|
|
53
|
+
}),
|
|
54
|
+
...queryFlag,
|
|
55
|
+
"sort-column": {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: `Sort by: ${DependencyItemsSortColumn.options.join("|")} (default: name)`
|
|
58
|
+
},
|
|
59
|
+
...sharedFilterFlags
|
|
60
|
+
};
|
|
61
|
+
function readItemFilters(args) {
|
|
62
|
+
return {
|
|
63
|
+
types: parseEnumCsv(args.types, DependencyType, "--types"),
|
|
64
|
+
"card-types": parseEnumCsv(args["card-types"], CardType, "--card-types"),
|
|
65
|
+
query: parseOptionalText(args.query, "--query"),
|
|
66
|
+
"include-personal-collections": args["include-personal-collections"] ? true : void 0,
|
|
67
|
+
"sort-column": parseEnum(args["sort-column"], DependencyItemsSortColumn, "--sort-column"),
|
|
68
|
+
"sort-direction": parseEnum(args["sort-direction"], SortDirection, "--sort-direction")
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { readItemFilters as a, readDependentFilters as i, itemFilterFlags as n, queryFlag as r, dependentFilterFlags as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, X as listEnvelopeSchema, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { d as TableForeignKeyCompact } from "./table-Ci6bhZkb.mjs";
|
|
6
|
+
import { a as tableForeignKeyView } from "./table-CxvaDiIZ.mjs";
|
|
7
|
+
//#region src/commands/table/fks.ts
|
|
8
|
+
const TableForeignKeyListEnvelope = listEnvelopeSchema(TableForeignKeyCompact);
|
|
9
|
+
var fks_default = defineMetabaseCommand({
|
|
10
|
+
meta: {
|
|
11
|
+
name: "fks",
|
|
12
|
+
description: "List the foreign keys pointing at a table"
|
|
13
|
+
},
|
|
14
|
+
details: "Lists every active field whose `fk_target_field_id` is an active, unretired field of this table, the table's own self-references included. The server leaves out origin fields in inactive tables and in tables the caller cannot read, so a non-admin sees only the foreign keys from tables it can read. The text table names the origin as `<schema>.<table>.<field>`, or `<table>.<field>` on a database without schemas.",
|
|
15
|
+
requires: ["table.fks"],
|
|
16
|
+
args: {
|
|
17
|
+
...outputFlags,
|
|
18
|
+
...listFlags,
|
|
19
|
+
...profileFlag,
|
|
20
|
+
...connectionFlags,
|
|
21
|
+
id: {
|
|
22
|
+
type: "positional",
|
|
23
|
+
description: "Table id",
|
|
24
|
+
required: true
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
outputSchema: TableForeignKeyListEnvelope,
|
|
28
|
+
examples: ["mb table fks 42", "mb table fks 42 --json"],
|
|
29
|
+
async run({ args, ctx, getClient }) {
|
|
30
|
+
const id = parseId(args.id);
|
|
31
|
+
const { data } = await (await getClient()).table.fks(id);
|
|
32
|
+
renderList(windowList(data, ctx.range), tableForeignKeyView, ctx);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
36
|
+
export { fks_default as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as Library } from "./library-
|
|
4
|
-
import { t as libraryView } from "./library-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as Library } from "./library-Ck0EK5bi.mjs";
|
|
4
|
+
import { t as libraryView } from "./library-BOv5SY24.mjs";
|
|
5
5
|
//#region src/commands/library/get.ts
|
|
6
6
|
var get_default = defineMetabaseCommand({
|
|
7
7
|
meta: {
|
|
@@ -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, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
4
|
import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
|
|
5
5
|
import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
|
|
6
6
|
//#region src/commands/snippet/get.ts
|
|
@@ -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, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
4
|
import { t as Measure } from "./measure-CtfjqJFP.mjs";
|
|
5
5
|
import { t as measureView } from "./measure-4P0bOlZ3.mjs";
|
|
6
6
|
//#region src/commands/measure/get.ts
|
|
@@ -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, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
4
|
import { t as Segment } from "./segment-OsrbUDzw.mjs";
|
|
5
5
|
import { t as segmentView } from "./segment-C_gl5ag6.mjs";
|
|
6
6
|
//#region src/commands/segment/get.ts
|
|
@@ -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, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
4
|
import { t as Timeline } from "./timeline-CCSU2qOS.mjs";
|
|
5
5
|
import { n as timelineView } from "./timeline-uDCmwGFT.mjs";
|
|
6
6
|
//#region src/commands/timeline/get.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as windowList } from "./window-
|
|
4
|
-
import { a as readSkillContent, i as loadVisibleSkills, o as selectForProfile, r as loadAllSkills, s as selectSkillsByNames, t as SkillContent } from "./skills-
|
|
5
|
-
import { i as unfilteredFlag, r as skillFilterNotices, t as UnavailableSkills } from "./skill-list-
|
|
1
|
+
import { G as listFlags, J as profileFlag, Z as listEnvelopeSchemaWithExtras, at as ConfigError, et as parseCsv, f as renderListWithExtras, g as writeText, k as warn, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { n as readCachedServerProfile, o as resolveProfileName, t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { n as windowList } from "./window-CI_QD04s.mjs";
|
|
4
|
+
import { a as readSkillContent, i as loadVisibleSkills, o as selectForProfile, r as loadAllSkills, s as selectSkillsByNames, t as SkillContent } from "./skills-4qDjKRSk.mjs";
|
|
5
|
+
import { i as unfilteredFlag, r as skillFilterNotices, t as UnavailableSkills } from "./skill-list-BgihWuPf.mjs";
|
|
6
6
|
//#region src/commands/skills/get.ts
|
|
7
7
|
const SkillGetEnvelope = listEnvelopeSchemaWithExtras(SkillContent, { unavailable: UnavailableSkills });
|
|
8
8
|
const SKILL_OVERSIZE_HINT = "a skill body is indivisible — pass --max-bytes 0 to print it whole, or `mb skills path <name>` to read it from disk";
|
|
@@ -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-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { o as DashboardDetail } from "./dashboard-Phz3XpRM.mjs";
|
|
5
|
+
import { n as dashboardView } from "./dashboard-XSTr9QCr.mjs";
|
|
6
6
|
//#region src/commands/dashboard/get.ts
|
|
7
7
|
var get_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { H as
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
2
|
import { n as Notification } from "./notification-DaA4bBHW.mjs";
|
|
3
|
-
import { t as notificationView } from "./notification-
|
|
4
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
5
|
-
import { t as parseId } from "./parse-id-
|
|
3
|
+
import { t as notificationView } from "./notification-DOYdl0ao.mjs";
|
|
4
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
5
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
6
6
|
//#region src/commands/alert/get.ts
|
|
7
7
|
var get_default = defineMetabaseCommand({
|
|
8
8
|
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 { t as Card } from "./card-
|
|
5
|
-
import { n as cardView } from "./card-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { t as Card } from "./card-P5mBknsl.mjs";
|
|
5
|
+
import { n as cardView } from "./card-CQNUT9pm.mjs";
|
|
6
6
|
//#region src/commands/card/get.ts
|
|
7
7
|
var get_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|