@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,165 @@
|
|
|
1
|
+
import { s as CardType } from "./card-P5mBknsl.mjs";
|
|
2
|
+
import { i as CollectionAuthorityLevel, s as CollectionId } from "./collection-D3KXhvnc.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region ../client/src/domain/dependency.ts
|
|
5
|
+
const DependencyType = z.enum([
|
|
6
|
+
"table",
|
|
7
|
+
"card",
|
|
8
|
+
"snippet",
|
|
9
|
+
"transform",
|
|
10
|
+
"dashboard",
|
|
11
|
+
"document",
|
|
12
|
+
"sandbox",
|
|
13
|
+
"segment",
|
|
14
|
+
"measure"
|
|
15
|
+
]);
|
|
16
|
+
const DependencyUsageType = z.enum([
|
|
17
|
+
"table",
|
|
18
|
+
"snippet",
|
|
19
|
+
"transform",
|
|
20
|
+
"dashboard",
|
|
21
|
+
"document",
|
|
22
|
+
"sandbox",
|
|
23
|
+
"segment",
|
|
24
|
+
"question",
|
|
25
|
+
"model",
|
|
26
|
+
"metric",
|
|
27
|
+
"measure"
|
|
28
|
+
]);
|
|
29
|
+
const DependencyFindingErrorType = z.enum([
|
|
30
|
+
"missing-column",
|
|
31
|
+
"missing-table-alias",
|
|
32
|
+
"missing-table",
|
|
33
|
+
"missing-card",
|
|
34
|
+
"duplicate-column",
|
|
35
|
+
"syntax-error",
|
|
36
|
+
"validation-exception-error"
|
|
37
|
+
]);
|
|
38
|
+
const DependencyErrorSourceType = z.enum([
|
|
39
|
+
"table",
|
|
40
|
+
"card",
|
|
41
|
+
"transform"
|
|
42
|
+
]);
|
|
43
|
+
const DependentsSortColumn = z.enum([
|
|
44
|
+
"name",
|
|
45
|
+
"location",
|
|
46
|
+
"view-count"
|
|
47
|
+
]);
|
|
48
|
+
const DependencyItemsSortColumn = z.enum([
|
|
49
|
+
"name",
|
|
50
|
+
"location",
|
|
51
|
+
"dependents-with-errors",
|
|
52
|
+
"dependents-errors"
|
|
53
|
+
]);
|
|
54
|
+
const DependencyCollectionRef = z.object({
|
|
55
|
+
id: CollectionId,
|
|
56
|
+
name: z.string(),
|
|
57
|
+
authority_level: CollectionAuthorityLevel.nullable(),
|
|
58
|
+
is_personal: z.boolean().optional()
|
|
59
|
+
}).loose();
|
|
60
|
+
const DependencyContainerRef = z.object({
|
|
61
|
+
id: z.number().int(),
|
|
62
|
+
name: z.string()
|
|
63
|
+
}).loose();
|
|
64
|
+
const DependencyDatabaseRef = z.object({
|
|
65
|
+
id: z.number().int(),
|
|
66
|
+
name: z.string()
|
|
67
|
+
}).loose();
|
|
68
|
+
const DependencyTableRef = z.object({
|
|
69
|
+
id: z.number().int(),
|
|
70
|
+
name: z.string(),
|
|
71
|
+
display_name: z.string()
|
|
72
|
+
}).loose();
|
|
73
|
+
const DependencyEntityData = z.object({
|
|
74
|
+
name: z.string().nullable().optional(),
|
|
75
|
+
display_name: z.string().nullable().optional(),
|
|
76
|
+
description: z.string().nullable().optional(),
|
|
77
|
+
type: CardType.nullable().optional(),
|
|
78
|
+
display: z.string().nullable().optional(),
|
|
79
|
+
database_id: z.number().int().nullable().optional(),
|
|
80
|
+
db_id: z.number().int().nullable().optional(),
|
|
81
|
+
schema: z.string().nullable().optional(),
|
|
82
|
+
collection_id: CollectionId.nullable().optional(),
|
|
83
|
+
collection: DependencyCollectionRef.nullable().optional(),
|
|
84
|
+
dashboard_id: z.number().int().nullable().optional(),
|
|
85
|
+
dashboard: DependencyContainerRef.nullable().optional(),
|
|
86
|
+
document_id: z.number().int().nullable().optional(),
|
|
87
|
+
document: DependencyContainerRef.nullable().optional(),
|
|
88
|
+
db: DependencyDatabaseRef.nullable().optional(),
|
|
89
|
+
table_id: z.number().int().nullable().optional(),
|
|
90
|
+
table: DependencyTableRef.nullable().optional(),
|
|
91
|
+
view_count: z.number().int().nullable().optional()
|
|
92
|
+
}).loose();
|
|
93
|
+
const DependencyEntity = z.object({
|
|
94
|
+
id: z.number().int(),
|
|
95
|
+
type: DependencyType,
|
|
96
|
+
data: DependencyEntityData
|
|
97
|
+
}).loose();
|
|
98
|
+
const DependencyEntityDataCompact = DependencyEntityData.pick({
|
|
99
|
+
name: true,
|
|
100
|
+
display_name: true,
|
|
101
|
+
description: true,
|
|
102
|
+
type: true,
|
|
103
|
+
database_id: true,
|
|
104
|
+
db_id: true,
|
|
105
|
+
schema: true,
|
|
106
|
+
table_id: true,
|
|
107
|
+
collection_id: true,
|
|
108
|
+
dashboard_id: true,
|
|
109
|
+
document_id: true,
|
|
110
|
+
view_count: true
|
|
111
|
+
}).strip().extend({
|
|
112
|
+
db: DependencyDatabaseRef.pick({
|
|
113
|
+
id: true,
|
|
114
|
+
name: true
|
|
115
|
+
}).strip().nullable().optional(),
|
|
116
|
+
table: DependencyTableRef.pick({
|
|
117
|
+
id: true,
|
|
118
|
+
name: true,
|
|
119
|
+
display_name: true
|
|
120
|
+
}).strip().nullable().optional(),
|
|
121
|
+
collection: DependencyCollectionRef.pick({
|
|
122
|
+
id: true,
|
|
123
|
+
name: true,
|
|
124
|
+
authority_level: true,
|
|
125
|
+
is_personal: true
|
|
126
|
+
}).strip().nullable().optional(),
|
|
127
|
+
dashboard: DependencyContainerRef.pick({
|
|
128
|
+
id: true,
|
|
129
|
+
name: true
|
|
130
|
+
}).strip().nullable().optional(),
|
|
131
|
+
document: DependencyContainerRef.pick({
|
|
132
|
+
id: true,
|
|
133
|
+
name: true
|
|
134
|
+
}).strip().nullable().optional()
|
|
135
|
+
});
|
|
136
|
+
const DependencyEntityCompact = DependencyEntity.pick({
|
|
137
|
+
id: true,
|
|
138
|
+
type: true
|
|
139
|
+
}).strip().extend({ data: DependencyEntityDataCompact });
|
|
140
|
+
const DependencyNode = DependencyEntity.extend({ dependents_count: z.partialRecord(DependencyUsageType, z.number().int()).nullable() });
|
|
141
|
+
const DependencyNodeCompact = DependencyEntityCompact.extend({ dependents_count: DependencyNode.shape.dependents_count });
|
|
142
|
+
const DependencyFindingError = z.object({
|
|
143
|
+
id: z.number().int(),
|
|
144
|
+
analyzed_entity_type: DependencyType,
|
|
145
|
+
analyzed_entity_id: z.number().int(),
|
|
146
|
+
error_type: DependencyFindingErrorType,
|
|
147
|
+
error_detail: z.string().nullable().optional(),
|
|
148
|
+
source_entity_type: DependencyErrorSourceType.nullable().optional(),
|
|
149
|
+
source_entity_id: z.number().int().nullable().optional()
|
|
150
|
+
}).loose();
|
|
151
|
+
const BreakingSource = DependencyNode.extend({ dependents_errors: z.array(DependencyFindingError).nullable().optional() });
|
|
152
|
+
const BreakingSourceCompact = DependencyNodeCompact.extend({ dependents_errors: BreakingSource.shape.dependents_errors });
|
|
153
|
+
const DependencyEdge = z.object({
|
|
154
|
+
from_entity_type: DependencyType,
|
|
155
|
+
from_entity_id: z.number().int(),
|
|
156
|
+
to_entity_type: DependencyType,
|
|
157
|
+
to_entity_id: z.number().int()
|
|
158
|
+
}).loose();
|
|
159
|
+
const DependencyGraph = z.object({
|
|
160
|
+
nodes: z.array(DependencyNode),
|
|
161
|
+
edges: z.array(DependencyEdge)
|
|
162
|
+
}).loose();
|
|
163
|
+
const DependencyGraphCompact = DependencyGraph.pick({ edges: true }).strip().extend({ nodes: z.array(DependencyNodeCompact) });
|
|
164
|
+
//#endregion
|
|
165
|
+
export { DependencyEntityCompact as a, DependencyGraphCompact as c, DependencyNodeCompact as d, DependencyType as f, DependencyEntity as i, DependencyItemsSortColumn as l, BreakingSourceCompact as n, DependencyEntityData as o, DependentsSortColumn as p, DependencyEdge as r, DependencyGraph as s, BreakingSource as t, DependencyNode as u };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { _ as MALFORMED_CELL, v as formatScalar } from "./cli.mjs";
|
|
2
|
+
import { a as DependencyEntityCompact, c as DependencyGraphCompact, d as DependencyNodeCompact, n as BreakingSourceCompact, o as DependencyEntityData, r as DependencyEdge } from "./dependency-DzLH3J8P.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/output/views/dependency.ts
|
|
5
|
+
const DependentsCount = DependencyNodeCompact.shape.dependents_count;
|
|
6
|
+
const DependentsErrors = BreakingSourceCompact.shape.dependents_errors;
|
|
7
|
+
const GraphNodes = z.array(DependencyNodeCompact);
|
|
8
|
+
const GraphEdges = z.array(DependencyEdge);
|
|
9
|
+
const GRAPH_ITEM_SEPARATOR = "; ";
|
|
10
|
+
function formatEntityName(value) {
|
|
11
|
+
const parsed = DependencyEntityData.safeParse(value);
|
|
12
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
13
|
+
return formatScalar(parsed.data.display_name ?? parsed.data.name);
|
|
14
|
+
}
|
|
15
|
+
function entityLocation({ type, data }) {
|
|
16
|
+
switch (type) {
|
|
17
|
+
case "card": return (data.dashboard ?? data.document ?? data.collection)?.name ?? null;
|
|
18
|
+
case "table": return data.db?.name ?? null;
|
|
19
|
+
case "segment":
|
|
20
|
+
case "measure": return data.table?.display_name ?? null;
|
|
21
|
+
case "snippet":
|
|
22
|
+
case "dashboard":
|
|
23
|
+
case "document": return data.collection?.name ?? null;
|
|
24
|
+
case "transform":
|
|
25
|
+
case "sandbox": return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function formatDependentsCount(value) {
|
|
29
|
+
const parsed = DependentsCount.safeParse(value);
|
|
30
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
31
|
+
if (parsed.data === null) return "";
|
|
32
|
+
return Object.entries(parsed.data).map(([usage, count]) => `${usage}: ${count}`).join(", ");
|
|
33
|
+
}
|
|
34
|
+
function formatDependentsErrors(value) {
|
|
35
|
+
const parsed = DependentsErrors.safeParse(value);
|
|
36
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
37
|
+
if (parsed.data === null || parsed.data === void 0) return "";
|
|
38
|
+
return parsed.data.map(formatFindingError).join("; ");
|
|
39
|
+
}
|
|
40
|
+
function formatFindingError(error) {
|
|
41
|
+
return `${error.analyzed_entity_type} ${error.analyzed_entity_id}: ${error.error_type}`;
|
|
42
|
+
}
|
|
43
|
+
function formatGraphNodes(value) {
|
|
44
|
+
const parsed = GraphNodes.safeParse(value);
|
|
45
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
46
|
+
return parsed.data.map((node) => `${node.type} ${node.id} ${formatEntityName(node.data)}`.trimEnd()).join(GRAPH_ITEM_SEPARATOR);
|
|
47
|
+
}
|
|
48
|
+
function formatGraphEdges(value) {
|
|
49
|
+
const parsed = GraphEdges.safeParse(value);
|
|
50
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
51
|
+
return parsed.data.map((edge) => `${edge.from_entity_type} ${edge.from_entity_id} -> ${edge.to_entity_type} ${edge.to_entity_id}`).join(GRAPH_ITEM_SEPARATOR);
|
|
52
|
+
}
|
|
53
|
+
const entityColumns = [
|
|
54
|
+
{
|
|
55
|
+
key: "id",
|
|
56
|
+
label: "ID"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "type",
|
|
60
|
+
label: "Type"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "data",
|
|
64
|
+
label: "Name",
|
|
65
|
+
format: formatEntityName
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: "data",
|
|
69
|
+
label: "Location",
|
|
70
|
+
value: entityLocation
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
const dependentsCountColumn = {
|
|
74
|
+
key: "dependents_count",
|
|
75
|
+
label: "Dependents",
|
|
76
|
+
format: formatDependentsCount
|
|
77
|
+
};
|
|
78
|
+
const dependencyEntityView = {
|
|
79
|
+
compactPick: DependencyEntityCompact,
|
|
80
|
+
tableColumns: entityColumns
|
|
81
|
+
};
|
|
82
|
+
const dependencyNodeView = {
|
|
83
|
+
compactPick: DependencyNodeCompact,
|
|
84
|
+
tableColumns: [...entityColumns, dependentsCountColumn]
|
|
85
|
+
};
|
|
86
|
+
const breakingSourceView = {
|
|
87
|
+
compactPick: BreakingSourceCompact,
|
|
88
|
+
tableColumns: [
|
|
89
|
+
...entityColumns,
|
|
90
|
+
dependentsCountColumn,
|
|
91
|
+
{
|
|
92
|
+
key: "dependents_errors",
|
|
93
|
+
label: "Errors",
|
|
94
|
+
format: formatDependentsErrors
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
};
|
|
98
|
+
const dependencyGraphView = {
|
|
99
|
+
compactPick: DependencyGraphCompact,
|
|
100
|
+
tableColumns: [{
|
|
101
|
+
key: "nodes",
|
|
102
|
+
label: "Nodes",
|
|
103
|
+
format: formatGraphNodes
|
|
104
|
+
}, {
|
|
105
|
+
key: "edges",
|
|
106
|
+
label: "Edges",
|
|
107
|
+
format: formatGraphEdges
|
|
108
|
+
}]
|
|
109
|
+
};
|
|
110
|
+
//#endregion
|
|
111
|
+
export { dependencyNodeView as i, dependencyEntityView as n, dependencyGraphView as r, breakingSourceView as t };
|
|
@@ -0,0 +1,52 @@
|
|
|
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 DependencyNodeCompact } from "./dependency-DzLH3J8P.mjs";
|
|
6
|
+
import { t as parseOptionalText } from "./parse-text-T0lTXzTZ.mjs";
|
|
7
|
+
import { i as dependencyNodeView } from "./dependency-zElFM-os.mjs";
|
|
8
|
+
import { i as readDependentFilters, r as queryFlag, t as dependentFilterFlags } from "./filter-flags-BIFcA2TT.mjs";
|
|
9
|
+
import { n as parseDependencyType, t as entityArgs } from "./entity-DWp9WJbU.mjs";
|
|
10
|
+
//#region src/commands/dependency/dependents.ts
|
|
11
|
+
const DependencyDependentsListEnvelope = listEnvelopeSchema(DependencyNodeCompact);
|
|
12
|
+
var dependents_default = defineMetabaseCommand({
|
|
13
|
+
meta: {
|
|
14
|
+
name: "dependents",
|
|
15
|
+
description: "List the entities that depend directly on an entity"
|
|
16
|
+
},
|
|
17
|
+
details: "Each row is a dependent with its own `dependents_count` by kind, so a chain can be followed one hop at a time. `--broken` keeps only the dependents whose query analysis failed, whatever the cause, and each row's `dependents_count` then counts only its broken dependents. The server sorts and filters; the window is applied here.",
|
|
18
|
+
requires: ["dependency.dependents"],
|
|
19
|
+
args: {
|
|
20
|
+
...outputFlags,
|
|
21
|
+
...listFlags,
|
|
22
|
+
...profileFlag,
|
|
23
|
+
...connectionFlags,
|
|
24
|
+
...entityArgs,
|
|
25
|
+
...dependentFilterFlags,
|
|
26
|
+
...queryFlag,
|
|
27
|
+
broken: {
|
|
28
|
+
type: "boolean",
|
|
29
|
+
description: "Only the dependents whose query analysis failed, whatever the cause"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
outputSchema: DependencyDependentsListEnvelope,
|
|
33
|
+
examples: [
|
|
34
|
+
"mb dependency dependents table 12",
|
|
35
|
+
"mb dependency dependents card 1 --dependent-types card,dashboard --json",
|
|
36
|
+
"mb dependency dependents table 12 --broken --json",
|
|
37
|
+
"mb dependency dependents card 1 --sort-column view-count --sort-direction desc"
|
|
38
|
+
],
|
|
39
|
+
async run({ args, ctx, getClient }) {
|
|
40
|
+
const type = parseDependencyType(args.type);
|
|
41
|
+
const id = parseId(args.id);
|
|
42
|
+
const filters = readDependentFilters(args);
|
|
43
|
+
const { data } = await (await getClient()).dependency.dependents(type, id, {
|
|
44
|
+
...filters,
|
|
45
|
+
broken: args.broken ? true : void 0,
|
|
46
|
+
query: parseOptionalText(args.query, "--query")
|
|
47
|
+
});
|
|
48
|
+
renderList(windowList(data, ctx.range), dependencyNodeView, ctx);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
//#endregion
|
|
52
|
+
export { dependents_default as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { n as windowList } from "./window-
|
|
4
|
-
import { r as SyncDirtyItemCompact } from "./git-sync-
|
|
5
|
-
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 { n as windowList } from "./window-CI_QD04s.mjs";
|
|
4
|
+
import { r as SyncDirtyItemCompact } from "./git-sync-COokpYgc.mjs";
|
|
5
|
+
import { r as syncDirtyItemView } from "./git-sync-DspFahwV.mjs";
|
|
6
6
|
//#region src/commands/git-sync/dirty.ts
|
|
7
7
|
const SyncDirtyListEnvelope = listEnvelopeSchema(SyncDirtyItemCompact);
|
|
8
8
|
var dirty_default = defineMetabaseCommand({
|
|
@@ -0,0 +1,55 @@
|
|
|
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 { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { r as confirmDestructive } from "./delete-runtime-BbmRg_in.mjs";
|
|
5
|
+
import { l as tableValuesDiscardResultView, n as TableValuesDiscardResult } from "./table-CxvaDiIZ.mjs";
|
|
6
|
+
//#region src/commands/table/discard-values.ts
|
|
7
|
+
var discard_values_default = defineMetabaseCommand({
|
|
8
|
+
meta: {
|
|
9
|
+
name: "discard-values",
|
|
10
|
+
description: "Discard the cached field values of one table"
|
|
11
|
+
},
|
|
12
|
+
details: "Deletes the cached distinct values behind this table's filter dropdowns, and with them any custom display values set on those values. No scan recreates a discarded set, neither `mb table rescan-values` nor the database's scheduled scan; Metabase rebuilds a set, without its display values, the next time it is read (a filter dropdown, `mb field values <id>`). Asks for confirmation on a terminal; pass --yes to skip it, which a non-interactive run must. To discard a set of tables use `mb table bulk-discard-values`.",
|
|
13
|
+
requires: ["table.discardValues"],
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags,
|
|
18
|
+
yes: {
|
|
19
|
+
type: "boolean",
|
|
20
|
+
description: "Skip confirmation",
|
|
21
|
+
default: false
|
|
22
|
+
},
|
|
23
|
+
id: {
|
|
24
|
+
type: "positional",
|
|
25
|
+
description: "Table id",
|
|
26
|
+
required: true
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
outputSchema: TableValuesDiscardResult,
|
|
30
|
+
examples: ["mb table discard-values 42 --yes", "mb table discard-values 42"],
|
|
31
|
+
async run({ args, ctx, getClient }) {
|
|
32
|
+
const id = parseId(args.id);
|
|
33
|
+
const client = await getClient();
|
|
34
|
+
if (!await confirmDestructive({
|
|
35
|
+
yes: args.yes,
|
|
36
|
+
action: `discard the field values of table ${id}`,
|
|
37
|
+
promptMessage: `Discard the cached field values of table ${id}, custom display values included?`
|
|
38
|
+
})) {
|
|
39
|
+
renderSummary({
|
|
40
|
+
id,
|
|
41
|
+
discarded: false,
|
|
42
|
+
aborted: true
|
|
43
|
+
}, tableValuesDiscardResultView, `Aborted; the field values of table ${id} were not discarded.`, ctx);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
await client.table.discardValues(id);
|
|
47
|
+
renderSummary({
|
|
48
|
+
id,
|
|
49
|
+
discarded: true,
|
|
50
|
+
aborted: false
|
|
51
|
+
}, tableValuesDiscardResultView, `Cached field values discarded for table ${id}.`, ctx);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
//#endregion
|
|
55
|
+
export { discard_values_default as default };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { t as NonBlankText } from "./text-DaNkPRwt.mjs";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
//#region ../client/src/domain/document.ts
|
|
3
4
|
const TipTapNode = z.looseObject({
|
|
@@ -85,7 +86,7 @@ const DocumentUpdateInput = z.object({
|
|
|
85
86
|
cards: z.record(z.string().regex(/^-?\d+$/), DocumentCardInput).nullable().optional().describe("cards keyed by card id; negative ids create new cards")
|
|
86
87
|
}).loose();
|
|
87
88
|
z.object({
|
|
88
|
-
name:
|
|
89
|
+
name: NonBlankText.nullable().optional(),
|
|
89
90
|
collection_id: z.number().int().positive().nullable().optional(),
|
|
90
91
|
collection_position: z.number().int().positive().nullable().optional()
|
|
91
92
|
}).strict();
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
|
+
//#region src/commands/document/index.ts
|
|
3
|
+
var document_default = defineCommandGroup({
|
|
4
|
+
name: "document",
|
|
5
|
+
description: "Manage Metabase documents",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "document",
|
|
8
|
+
purpose: "author the ProseMirror document body"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-DW4-u7eO.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-DXBXhPrU.mjs").then((mod) => mod.default),
|
|
13
|
+
create: () => import("./create-zpJIRn9j.mjs").then((mod) => mod.default),
|
|
14
|
+
update: () => import("./update-DK77vtFF.mjs").then((mod) => mod.default),
|
|
15
|
+
copy: () => import("./copy-CbDfVZRC.mjs").then((mod) => mod.default),
|
|
16
|
+
archive: () => import("./archive-CpCSY4RT.mjs").then((mod) => mod.default)
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { document_default as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
3
|
import { t as pipeToStdout } from "./stream-McixcoUl.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/content-translation/download.ts
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, at as ConfigError, et as parseCsv, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { r as givenValue } from "./input-D8qW-KtR.mjs";
|
|
4
|
+
import { t as readBody } from "./body-CB2eDFFb.mjs";
|
|
4
5
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
6
|
import { a as EidTranslateResultCompact, i as EidTranslateResult, n as EidModel, r as EidTranslateInput, t as EID_MODELS } from "./eid-translation-zEHtr5Oc.mjs";
|
|
6
7
|
//#region src/output/views/eid-translation.ts
|
|
@@ -14,14 +15,14 @@ const eidTranslateView = {
|
|
|
14
15
|
//#endregion
|
|
15
16
|
//#region src/commands/flag-pair.ts
|
|
16
17
|
function requireBothOrNeither(first, second) {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
if (
|
|
20
|
-
if (
|
|
21
|
-
if (
|
|
18
|
+
const firstValue = givenValue(first.value);
|
|
19
|
+
const secondValue = givenValue(second.value);
|
|
20
|
+
if (firstValue === null && secondValue === null) return null;
|
|
21
|
+
if (firstValue === null) throw new ConfigError(`${first.name} is required when using ${second.name}`);
|
|
22
|
+
if (secondValue === null) throw new ConfigError(`${second.name} is required when using ${first.name}`);
|
|
22
23
|
return {
|
|
23
|
-
first:
|
|
24
|
-
second:
|
|
24
|
+
first: firstValue,
|
|
25
|
+
second: secondValue
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
//#endregion
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { f as DependencyType } from "./dependency-DzLH3J8P.mjs";
|
|
2
|
+
import { t as parseEnumFlag } from "./parse-enum-CLIXMsd8.mjs";
|
|
3
|
+
//#region src/commands/dependency/entity.ts
|
|
4
|
+
const entityArgs = {
|
|
5
|
+
type: {
|
|
6
|
+
type: "positional",
|
|
7
|
+
description: `Entity kind (${DependencyType.options.join(" | ")})`,
|
|
8
|
+
required: true
|
|
9
|
+
},
|
|
10
|
+
id: {
|
|
11
|
+
type: "positional",
|
|
12
|
+
description: "Entity id",
|
|
13
|
+
required: true
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
function parseDependencyType(value) {
|
|
17
|
+
return parseEnumFlag(value, DependencyType, "type");
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { parseDependencyType as n, entityArgs as t };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { at as ConfigError } from "./cli.mjs";
|
|
2
|
+
import { r as givenValue } from "./input-D8qW-KtR.mjs";
|
|
3
|
+
import { t as readBody } from "./body-CB2eDFFb.mjs";
|
|
4
|
+
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
+
import { r as GlossaryCreateInput } from "./glossary-BlNCrYbw.mjs";
|
|
6
|
+
//#region src/commands/glossary/entry-flags.ts
|
|
7
|
+
const entryFlags = {
|
|
8
|
+
...bodyInputFlags,
|
|
9
|
+
term: {
|
|
10
|
+
type: "string",
|
|
11
|
+
description: "The term (used with --definition)"
|
|
12
|
+
},
|
|
13
|
+
definition: {
|
|
14
|
+
type: "string",
|
|
15
|
+
description: "The definition (used with --term)"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The flag pair and a body are alternatives, so a `--body` or `--file` beside the flags is refused
|
|
20
|
+
* rather than dropped. A body piped on stdin is not read while the flags are given: telling an
|
|
21
|
+
* idle inherited pipe from one still to send would cost every flag-driven call the stdin wait.
|
|
22
|
+
*/
|
|
23
|
+
async function readEntryInput(args) {
|
|
24
|
+
if (args.term === void 0 && args.definition === void 0) return readBody({
|
|
25
|
+
flag: args.body,
|
|
26
|
+
file: args.file
|
|
27
|
+
}, GlossaryCreateInput);
|
|
28
|
+
if (givenValue(args.body) !== null || givenValue(args.file) !== null) throw new ConfigError("--term, --definition cannot be combined with --body or --file");
|
|
29
|
+
if (args.term === void 0) throw new ConfigError("--term is required when using --definition");
|
|
30
|
+
if (args.definition === void 0) throw new ConfigError("--definition is required when using --term");
|
|
31
|
+
return {
|
|
32
|
+
term: parseFlag(GlossaryCreateInput.shape.term, args.term, "--term"),
|
|
33
|
+
definition: parseFlag(GlossaryCreateInput.shape.definition, args.definition, "--definition")
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function parseFlag(schema, value, flag) {
|
|
37
|
+
const parsed = schema.safeParse(value);
|
|
38
|
+
if (!parsed.success) throw new ConfigError(`${flag} ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
|
|
39
|
+
return parsed.data;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { readEntryInput as n, entryFlags as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
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
5
|
import { a as TimelineEventCompact } from "./timeline-CCSU2qOS.mjs";
|
|
6
6
|
import { t as timelineEventView } from "./timeline-uDCmwGFT.mjs";
|
|
7
7
|
//#region src/commands/timeline/events.ts
|
|
@@ -0,0 +1,45 @@
|
|
|
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 { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { t as readBody } from "./body-CB2eDFFb.mjs";
|
|
5
|
+
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
6
|
+
import { a as DataActionExecuteResult, i as DataActionExecuteInput } from "./data-action-DZxVB_hD.mjs";
|
|
7
|
+
import { t as dataActionExecuteResultView } from "./data-action-R9qxJDPA.mjs";
|
|
8
|
+
//#region src/commands/data-action/execute.ts
|
|
9
|
+
var execute_default = defineMetabaseCommand({
|
|
10
|
+
meta: {
|
|
11
|
+
name: "execute",
|
|
12
|
+
description: "Run a data action by id"
|
|
13
|
+
},
|
|
14
|
+
details: "The JSON body is `{\"parameters\": {...}}`, keyed by the data action's parameter ids. The data action writes to its database, so a run cannot be undone by the CLI.",
|
|
15
|
+
skills: [{
|
|
16
|
+
skill: "data-action",
|
|
17
|
+
purpose: "the parameter values a data action takes"
|
|
18
|
+
}],
|
|
19
|
+
requires: ["dataAction.execute"],
|
|
20
|
+
args: {
|
|
21
|
+
...outputFlags,
|
|
22
|
+
...profileFlag,
|
|
23
|
+
...connectionFlags,
|
|
24
|
+
...bodyInputFlags,
|
|
25
|
+
id: {
|
|
26
|
+
type: "positional",
|
|
27
|
+
description: "Data action id",
|
|
28
|
+
required: true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
inputSchema: DataActionExecuteInput,
|
|
32
|
+
outputSchema: DataActionExecuteResult,
|
|
33
|
+
examples: ["mb data-action execute 1 --body '{\"parameters\":{\"id\":1,\"note\":\"rush\"}}'", "mb data-action execute 1 --file values.json"],
|
|
34
|
+
async run({ args, ctx, getClient }) {
|
|
35
|
+
const id = parseId(args.id);
|
|
36
|
+
const body = await readBody({
|
|
37
|
+
flag: args.body,
|
|
38
|
+
file: args.file
|
|
39
|
+
}, DataActionExecuteInput);
|
|
40
|
+
const result = await (await getClient()).dataAction.execute(id, body);
|
|
41
|
+
renderSummary(result, dataActionExecuteResultView, `Ran data action ${id}; ${result["rows-affected"]} rows affected.`, ctx);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
//#endregion
|
|
45
|
+
export { execute_default as default };
|