@metabase/cli 0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a → 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-B_-eMU_k.mjs → add-collection-B-Kczwcj.mjs} +5 -5
- package/dist/{alert-Dalin_DD.mjs → alert-Ne0ivd5m.mjs} +7 -7
- package/dist/{alerts-DpBgrjPI.mjs → alerts-Fakzg9iP.mjs} +6 -6
- package/dist/{append-C1JNVALm.mjs → append-DCDVqPmR.mjs} +4 -4
- package/dist/archive-55sDfnHf.mjs +32 -0
- package/dist/{archive-CdKf_Eqq.mjs → archive-BNJit8eD.mjs} +3 -3
- package/dist/{archive-DckxlWBt.mjs → archive-BbNqts-V.mjs} +3 -3
- package/dist/{archive-B51prFgS.mjs → archive-C93UR4Uc.mjs} +3 -3
- package/dist/{archive-CISXgZAI.mjs → archive-CGmvQht4.mjs} +5 -5
- package/dist/{archive-cAdUa1-2.mjs → archive-CL8wqAzm.mjs} +3 -3
- package/dist/{archive-DVHxeDKS.mjs → archive-CSdktxvW.mjs} +5 -5
- package/dist/{archive-CicPYX27.mjs → archive-CpCSY4RT.mjs} +5 -5
- package/dist/{archive-CwITzj_j.mjs → archive-DCCkQTjQ.mjs} +5 -5
- package/dist/{archive-BkITQyWW.mjs → archive-DCE087yD.mjs} +4 -4
- package/dist/{archive-DA3OiLEE.mjs → archive-DEef7eB8.mjs} +3 -3
- package/dist/{archive-52ZHbFDm2.mjs → archive-DIZu7o4C.mjs} +4 -4
- package/dist/{auth-A96JOCQx.mjs → auth-Bx4QQhqt.mjs} +5 -5
- package/dist/body-CB2eDFFb.mjs +17 -0
- package/dist/branch-flag-pFQPNYKr.mjs +9 -0
- package/dist/{branches-CbcwWYL9.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-DpDcVY7M.mjs → cancel-Bl4BMkwI.mjs} +3 -3
- package/dist/{cancel-task-B4RDvIYb.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-BC0JX8Yg.mjs → cards-BIUYdSIR.mjs} +6 -6
- package/dist/cli.mjs +420 -111
- package/dist/{client-ClL6gf7G.mjs → client-BHIFvEg2.mjs} +863 -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-Dv0l-V9K.mjs → collection-namespace-ZQePD67z.mjs} +2 -2
- package/dist/{content-translation-BXIXL4eW.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-Dhai9zAt.mjs → create-5cDaZcRL.mjs} +3 -3
- package/dist/{create-DWFJdyIr.mjs → create-BEN-2XFK.mjs} +3 -3
- package/dist/create-BJG630xB.mjs +48 -0
- package/dist/{create-NCKHHdov.mjs → create-BTQB1lqX.mjs} +4 -4
- package/dist/{create-kZIIEN2Y.mjs → create-C3TmU1Bi.mjs} +6 -6
- package/dist/create-C7O9tPL2.mjs +34 -0
- package/dist/{create-BVNhtAgF.mjs → create-C8hsOv_D.mjs} +6 -6
- package/dist/{create-D--Z1S3p2.mjs → create-CBSsW8Hm.mjs} +6 -6
- package/dist/{create-BcsVwXgS2.mjs → create-CG6WWY6k.mjs} +4 -4
- package/dist/{create--fiwuTWc.mjs → create-D2Shlb7t.mjs} +3 -3
- package/dist/{create-DmN2gFc4.mjs → create-DVEqry26.mjs} +4 -4
- package/dist/{create-YetX69Re.mjs → create-D_pNX7d0.mjs} +3 -3
- package/dist/{create-Za1EskpV.mjs → create-R0Q-nRlq.mjs} +4 -4
- package/dist/{create-Bryrkb9g.mjs → create-SqmOf6WQ.mjs} +6 -6
- package/dist/{create-branch-CseVn3lp.mjs → create-branch-Cb3CWojg.mjs} +4 -4
- package/dist/{create-BbjSOTN-.mjs → create-c2zR9y4J.mjs} +4 -4
- package/dist/{create-CHr8MPPq.mjs → create-xt4ff6fP.mjs} +3 -3
- package/dist/{create-B9qXQ_wV.mjs → create-zpJIRn9j.mjs} +5 -5
- package/dist/{csv-DNzesu8y.mjs → csv-CRNOhy4X.mjs} +4 -4
- package/dist/{current-task-DRTKZcP9.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-BDijt81U.mjs → db-C8lj73Dz.mjs} +7 -7
- package/dist/delete-09O7BTNw.mjs +44 -0
- package/dist/{delete-wFsy80db.mjs → delete-CYgNpHl7.mjs} +4 -4
- package/dist/{delete-BudvZkvK.mjs → delete-D_ZNoYVv.mjs} +4 -4
- package/dist/{delete--15it-A8.mjs → delete-HWeQtc4M.mjs} +4 -4
- package/dist/delete-I4eFpsed.mjs +44 -0
- package/dist/{delete-Dc8E5YwZ.mjs → delete-My8TX-B2.mjs} +4 -4
- package/dist/{delete-BxjJ66BS.mjs → delete-qwdN0N7e.mjs} +4 -4
- package/dist/delete-runtime-BbmRg_in.mjs +55 -0
- package/dist/{delete-table-5AQpn8OB.mjs → delete-table-BCvjX7bh.mjs} +4 -4
- package/dist/{dependencies-C1ogC3BV.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-CSLDYO-K.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-Ddap1OAo.mjs → download-BImtTll0.mjs} +2 -2
- package/dist/{eid-HnrWhPoe.mjs → eid-D0FxhT9H.mjs} +11 -10
- package/dist/entity-DWp9WJbU.mjs +20 -0
- package/dist/entry-flags-3sDWwa90.mjs +42 -0
- package/dist/{events-CXqetjcS.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-DxHxuxwO.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-CDnmpfHQ.mjs → get-BMHbEGbr.mjs} +4 -4
- package/dist/{get-BiPclcIP.mjs → get-BTCOzSkl.mjs} +3 -3
- package/dist/{get-DmKtPNOy.mjs → get-BawLhSwW.mjs} +3 -3
- package/dist/{get-BcoJ9Aha.mjs → get-BjqqFG2m.mjs} +3 -3
- package/dist/{get-C3cuZNeW.mjs → get-C-R_Fdsi.mjs} +3 -3
- package/dist/{get-H6kInHIx.mjs → get-C73V2KsB.mjs} +5 -5
- package/dist/{get-BGLvyOO3.mjs → get-C9sq2boy.mjs} +5 -5
- package/dist/{get-B2pj2q3X.mjs → get-Cggv6yLC.mjs} +4 -4
- package/dist/{get-CxUQyhte.mjs → get-CkXc0Xld.mjs} +5 -5
- package/dist/{get-BF2vdF3W.mjs → get-CqNEVAX_2.mjs} +3 -3
- package/dist/{get-Dtre5jzh.mjs → get-D7h7uH4k.mjs} +5 -5
- package/dist/get-DGmE5fmp.mjs +31 -0
- package/dist/{get-D_x-ENFe.mjs → get-DTTsPd-c.mjs} +5 -5
- package/dist/{get-DW7mCaGe.mjs → get-DXBXhPrU.mjs} +5 -5
- package/dist/{get-CE9_4Q7E.mjs → get-D_v1IAL1.mjs} +3 -3
- package/dist/{get-eJilYnHk.mjs → get-DkzO3G5p.mjs} +5 -5
- package/dist/{get-DjlQhgD4.mjs → get-Dvr_69L7.mjs} +3 -3
- package/dist/get-NOMvMvYJ.mjs +36 -0
- package/dist/{get-C_tdSMwW2.mjs → get-YPDWhgm_2.mjs} +4 -4
- package/dist/{get-b0CoPz5B.mjs → get-Z36_0HX_.mjs} +4 -4
- package/dist/{get-run-BE1HtJDW.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-Cj1KhBOT.mjs → has-remote-changes-iTRCU9j0.mjs} +4 -4
- package/dist/{import-DLb9VN4l.mjs → import-CdSs5CtT.mjs} +19 -8
- package/dist/{input-D5tQEfqN.mjs → input-D8qW-KtR.mjs} +6 -2
- package/dist/{is-dirty-BxtgV2xF.mjs → is-dirty-B5fj9NeS.mjs} +2 -2
- package/dist/{items-DLUYc5-z.mjs → items-BxWnNEh7.mjs} +8 -8
- package/dist/{key-PYetuQ13.mjs → key-BynJSK9u.mjs} +1 -1
- package/dist/{library-BNSxXOpc.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-cIMww2Me.mjs → list-BPMOLrwn.mjs} +5 -5
- package/dist/{list-jhQSgh6i.mjs → list-BTcEm4td.mjs} +3 -3
- package/dist/{list-M8J10Ozk.mjs → list-BTgAbqeS.mjs} +4 -4
- package/dist/{list-CERbeLbQ.mjs → list-Bop1NTbU.mjs} +6 -6
- package/dist/{list-BQnOEB3W.mjs → list-By9XJRiv.mjs} +3 -3
- package/dist/list-CNC-XHbN.mjs +35 -0
- package/dist/{list-CX9qZ-bx.mjs → list-CPWgBkPa.mjs} +4 -4
- package/dist/{list-C5mS_ehX.mjs → list-Cpa0Se7M.mjs} +5 -5
- package/dist/list-DA9KsA0o.mjs +101 -0
- package/dist/{list-Dat8QNcf.mjs → list-DE9gYY3I.mjs} +3 -3
- package/dist/{list-COLpwXW4.mjs → list-DFJt2-fY.mjs} +4 -4
- package/dist/{list-CBLxhaNZ.mjs → list-DUcnAb1h.mjs} +3 -3
- package/dist/{list-CehE6KBV.mjs → list-DW4-u7eO.mjs} +5 -5
- package/dist/{list-CQbiSx26.mjs → list-DbXnSL2x.mjs} +5 -5
- package/dist/list-DgsM9YQX.mjs +28 -0
- package/dist/{list-Sd7jGZoX.mjs → list-Dzzt6Yee.mjs} +3 -3
- package/dist/{list-BUz6KOfw.mjs → list-ZHLsjxXg.mjs} +6 -6
- package/dist/{list-CzRzCbCY.mjs → list-e7yvJYMw.mjs} +3 -3
- package/dist/{list-B1soS8QW.mjs → list-hN_Tu2T6.mjs} +6 -6
- package/dist/{list-BcP1DTJH.mjs → list-zyKxxNvn.mjs} +3 -3
- package/dist/{login-BfLqBfCd.mjs → login-B7nGQDZK.mjs} +6 -6
- package/dist/{logout-BpRXB3Ze.mjs → logout-pZffAh1G.mjs} +2 -2
- package/dist/{measure-Ds8O5Evr.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-DhrkLXoN.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-_GHFrTLx.mjs → path-DM4vyihl.mjs} +4 -4
- package/dist/{poll-KLl4Eq8Y.mjs → poll-Dz4tUm2f.mjs} +2 -2
- package/dist/{preflight-BpYtF0IU.mjs → preflight-DaZ2z2C1.mjs} +3 -3
- package/dist/{process-CLtOWKBn.mjs → process-D0HdqZ3r.mjs} +1 -1
- package/dist/{publish-D-7Zlmuk.mjs → publish-C0HCL04a.mjs} +4 -4
- package/dist/{pulse-x0gFxWfG.mjs → pulse-D1uh8UIU.mjs} +1 -1
- package/dist/{query-B1CZztxs.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-C4saCFxz.mjs → remove-collection-DoctJa9g.mjs} +5 -5
- package/dist/{render-6O_eF-P1.mjs → render-Bvm9mta6.mjs} +2 -2
- package/dist/{replace-BuR4f2Ai.mjs → replace-CaFJd9fO.mjs} +4 -4
- package/dist/rescan-values-7VOGCLMe.mjs +32 -0
- package/dist/{rescan-values-CNOiiWQ5.mjs → rescan-values-sJRwcHsk.mjs} +5 -5
- package/dist/{run-DijA_BXt.mjs → run-COHDQ5J4.mjs} +3 -3
- package/dist/{run-QEUbWNm7.mjs → run-RXpFlDAB.mjs} +7 -7
- package/dist/{runs-BSlhVeDO.mjs → runs-CUYdCKiE.mjs} +5 -5
- package/dist/{runtime-Dtb93zKy.mjs → runtime-B8RtMb4B.mjs} +21 -82
- package/dist/{schema-tables-BE3rEb6I.mjs → schema-tables-CO5qyZBe.mjs} +6 -6
- package/dist/{schemas-yDjBiwlH.mjs → schemas-CzHHgDdF.mjs} +4 -4
- package/dist/search-BWb052_b.mjs +131 -0
- package/dist/search-Cc9vHNae.mjs +85 -0
- package/dist/{segment-Cm6zQjJW.mjs → segment-C_rsUkHK.mjs} +6 -6
- package/dist/{send-kC8oerkT.mjs → send-C-3bkpni.mjs} +3 -3
- package/dist/{set-tFhPkxrL.mjs → set-BDkT37OT.mjs} +4 -4
- package/dist/{set-active-lDKhAlij.mjs → set-active-CDJTfQEc.mjs} +3 -3
- package/dist/set-sensitivity-DVrINHde.mjs +57 -0
- package/dist/{setting-DrJXCaFE.mjs → setting-CoLzd08x.mjs} +4 -4
- package/dist/{setup-BWY9M0iR.mjs → setup-C4F4XYbU.mjs} +3 -3
- package/dist/{signal-Csom0mt5.mjs → signal-CxWeLszu.mjs} +1 -1
- package/dist/{skill-list-CCes8pKe.mjs → skill-list-BgihWuPf.mjs} +2 -2
- package/dist/{skills-DE9ej5Rg.mjs → skills-4qDjKRSk.mjs} +2 -2
- package/dist/{skills-DPRN2384.mjs → skills-BWEFRpUj.mjs} +3 -3
- package/dist/snippet-CYd8D9SK.mjs +19 -0
- package/dist/{stash-C9oDvQ9P.mjs → stash-CZ1x0rox.mjs} +6 -6
- package/dist/{status-DSdXmNC3.mjs → status-BM6eYW7I.mjs} +3 -3
- package/dist/{status-CkpujA26.mjs → status-gqpPZvue.mjs} +7 -7
- package/dist/{subscription-DKOKoHRG.mjs → subscription-pSuO241O.mjs} +6 -6
- package/dist/{subscriptions-C5SyJL4B.mjs → subscriptions-n5zJ9rYZ.mjs} +6 -6
- package/dist/{summary-DTPgXsc0.mjs → summary-DvIf2EiO.mjs} +5 -5
- package/dist/sync-schema-Cc21crxQ.mjs +32 -0
- package/dist/{sync-schema-DKKkNSR7.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-n4Lzet7l.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-D6NXqWaX.mjs → transform-tag-C0jzV6Dk.mjs} +5 -5
- package/dist/{transforms-O4NtXqFz.mjs → transforms-DwTy_Quh.mjs} +5 -5
- package/dist/tree-p2j6IVy-.mjs +34 -0
- package/dist/{unpublish-DvWefKJi.mjs → unpublish-B-961jX1.mjs} +3 -3
- package/dist/unreferenced-Dxy-aYI7.mjs +36 -0
- package/dist/{update-DXmZuJho.mjs → update-BFYRBbRu.mjs} +6 -6
- package/dist/{update-xEegxIyH.mjs → update-BGeaPntx.mjs} +5 -5
- package/dist/{update-Bah7N8QX.mjs → update-BnIEN390.mjs} +5 -5
- package/dist/{update-To6A1Ugu.mjs → update-CALlEgIC.mjs} +4 -4
- package/dist/{update-76nzOc71.mjs → update-CHkVN69L.mjs} +13 -8
- package/dist/{update-AJ2JmwDl.mjs → update-CKqL9PmU.mjs} +5 -5
- package/dist/{update-DmgRIp7o.mjs → update-CYGYUCFQ.mjs} +4 -4
- package/dist/update-CuQy2g51.mjs +52 -0
- package/dist/{update-DOdcflLH.mjs → update-D4TGE6FS.mjs} +7 -7
- package/dist/{update-H_fdjugs.mjs → update-D7xi-0bU.mjs} +4 -4
- package/dist/{update-2KIpYgyj.mjs → update-DK77vtFF.mjs} +6 -6
- package/dist/{update-7oKvP1HC.mjs → update-DKDQTlnV.mjs} +5 -5
- package/dist/update-DXxJHC8y.mjs +41 -0
- package/dist/update-DiJK0uRG.mjs +181 -0
- package/dist/{update-CGJvIS-l.mjs → update-MD1Kwq1P.mjs} +4 -4
- package/dist/{update-dashcard-DjT5QOkL.mjs → update-dashcard-DuTjOh14.mjs} +6 -6
- package/dist/{update-D7dG7H-z.mjs → update-hvO4VpfZ.mjs} +7 -7
- package/dist/{update-DV54H3L5.mjs → update-qDZvnwvf.mjs} +7 -7
- package/dist/{update-BB6Go_RX.mjs → update-tltXCUwR.mjs} +4 -4
- package/dist/{upgrade-CuJx9fX4.mjs → upgrade-Ca-Ss5jb.mjs} +4 -4
- package/dist/{upload-DOO94rCQ.mjs → upload-C2fhpKkP.mjs} +2 -2
- package/dist/upload-Dw7mVr9u.mjs +13 -0
- package/dist/{upload-CboARPZm.mjs → upload-t6dkccqn.mjs} +3 -3
- package/dist/{uuid-InwZlrpQ.mjs → uuid-BMlJZT8z.mjs} +2 -2
- package/dist/{validate-D6-Vg_kn.mjs → validate-D7e110oU.mjs} +1 -1
- package/dist/{validate-query-B90KYPQr.mjs → validate-query-BzbZmenf.mjs} +7 -3
- package/dist/{values-CsZLk1Ls.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-DrGjZwBM.mjs → verify-t-CEmvoG.mjs} +3 -3
- package/dist/{wait-BmzdarP9.mjs → wait-KSkq7kKW.mjs} +6 -6
- package/dist/{wait-flags-CiJGrTCT.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 +24 -23
- 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/skill-data/transform/SKILL.md +1 -63
- package/dist/body-CshgcV6U.mjs +0 -17
- package/dist/card-CefVYtF7.mjs +0 -24
- package/dist/collection-Be5AHVWP.mjs +0 -20
- package/dist/create-DiJ8bUb-.mjs +0 -34
- package/dist/dashboard-CMw13KXM.mjs +0 -33
- package/dist/database-JtHTqSpq.mjs +0 -26
- package/dist/delete-Bsdwqh7H.mjs +0 -44
- package/dist/delete-runtime-BKEzJn22.mjs +0 -49
- package/dist/document-BGzVip5_.mjs +0 -19
- package/dist/export-IFZdgYZ2.mjs +0 -63
- package/dist/field-BJ6HoLRd.mjs +0 -18
- package/dist/field-fDtIrY6D.mjs +0 -80
- package/dist/get-i0KInCw9.mjs +0 -32
- package/dist/get-jofVjU6e.mjs +0 -31
- package/dist/git-sync-TjX1r_wF.mjs +0 -136
- package/dist/git-sync-xKC1sqC4.mjs +0 -28
- package/dist/list-Cuhf2lKL.mjs +0 -35
- package/dist/list-D-SyhKFw.mjs +0 -34
- package/dist/parse-id-DtM6q9HU.mjs +0 -10
- package/dist/query-CxESKMve.mjs +0 -114
- package/dist/query-result-E4Q-Gra6.mjs +0 -15
- package/dist/run-FmRruANb.mjs +0 -64
- package/dist/search-CR_xNArA.mjs +0 -97
- package/dist/selectors-C-vgMcGK.mjs +0 -35
- package/dist/snippet-DWHTSo9c.mjs +0 -19
- package/dist/sync-task-BtDnTXCP.mjs +0 -38
- package/dist/table-C6h4tIRw.mjs +0 -37
- package/dist/table-I8NXSdUC.mjs +0 -18
- package/dist/timeline-B_ESH-6W.mjs +0 -21
- package/dist/transform-BNuNiH9d.mjs +0 -28
- package/dist/transform-job-B7yc6dfH.mjs +0 -22
- package/dist/transform-test-BjjCQ2xm.mjs +0 -169
- package/dist/transform-test-C1Oqtfb-.mjs +0 -16
- package/dist/transform-test-gzDcbypy.mjs +0 -25
- package/dist/transport-CyVo29u7.mjs +0 -313
- package/dist/tree-CuyF116R.mjs +0 -26
- package/dist/update-l3PyNQKG.mjs +0 -41
- package/dist/upload-2YFFBSln.mjs +0 -13
- package/skill-data/transform-test-plan/SKILL.md +0 -171
- package/skill-data/transform-test-plan/references/checklist.md +0 -81
- package/skill-data/transform-test-plan/references/checks.md +0 -263
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as readBody } from "./body-CB2eDFFb.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "./setup-CO7QV-ao.mjs";
|
|
6
6
|
//#region src/output/views/setup.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { pt as errorMessage, rt as AbortError, st as MetabaseError } from "./cli.mjs";
|
|
2
2
|
//#region ../client/src/signal.ts
|
|
3
3
|
function combineAborts(...signals) {
|
|
4
4
|
return AbortSignal.any(signals.filter((signal) => signal !== void 0));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { O as listTruncationNotice, k as warn } from "./cli.mjs";
|
|
2
|
+
import { et as RequirementFailure } from "./runtime-B8RtMb4B.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/output/skill-list.ts
|
|
5
5
|
const UnavailableSkillJson = z.object({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { L as readEnv, N as ENV_SKILLS_DIR, at as ConfigError, et as parseCsv, ft as ValidationError, ht as isFileNotFoundError, pt as errorMessage, r as FEATURE_NAMES, s as isFeatureName } from "./cli.mjs";
|
|
2
|
+
import { J as checkFeatures } from "./runtime-B8RtMb4B.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
|
|
5
5
|
import { dirname, join, resolve } from "node:path";
|
|
@@ -7,9 +7,9 @@ var skills_default = defineCommand({
|
|
|
7
7
|
},
|
|
8
8
|
default: "list",
|
|
9
9
|
subCommands: {
|
|
10
|
-
list: () => import("./list-
|
|
11
|
-
get: () => import("./get-
|
|
12
|
-
path: () => import("./path-
|
|
10
|
+
list: () => import("./list-BPMOLrwn.mjs").then((m) => m.default),
|
|
11
|
+
get: () => import("./get-C73V2KsB.mjs").then((m) => m.default),
|
|
12
|
+
path: () => import("./path-DM4vyihl.mjs").then((m) => m.default)
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
//#endregion
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
|
+
//#region src/commands/snippet/index.ts
|
|
3
|
+
var snippet_default = defineCommandGroup({
|
|
4
|
+
name: "snippet",
|
|
5
|
+
description: "Manage Metabase native query snippets",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "core",
|
|
8
|
+
purpose: "native-SQL snippets and body input"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-zyKxxNvn.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-BTCOzSkl.mjs").then((mod) => mod.default),
|
|
13
|
+
create: () => import("./create-5cDaZcRL.mjs").then((mod) => mod.default),
|
|
14
|
+
update: () => import("./update-MD1Kwq1P.mjs").then((mod) => mod.default),
|
|
15
|
+
archive: () => import("./archive-BNJit8eD.mjs").then((mod) => mod.default)
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { snippet_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import {
|
|
4
|
-
import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-
|
|
5
|
-
import {
|
|
6
|
-
import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, at as ConfigError, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { u as SyncStashResult } from "./git-sync-COokpYgc.mjs";
|
|
4
|
+
import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-KX7NHdj4.mjs";
|
|
5
|
+
import { l as syncStashView } from "./git-sync-DspFahwV.mjs";
|
|
6
|
+
import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-CXFoqlpF.mjs";
|
|
7
7
|
//#region src/commands/git-sync/stash.ts
|
|
8
8
|
const DEFAULT_STASH_MESSAGE = "Stashed from mb CLI";
|
|
9
9
|
var stash_default = defineMetabaseCommand({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as
|
|
3
|
-
import { a as renderUserRole, i as renderUserName, n as renderSkew, o as renderVersionTag, r as renderTimestamp, t as renderAuthMethod } from "./render-
|
|
1
|
+
import { J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { C as profileAuthMethod, K as ServerSummary, S as ProfileLastFailure, W as displayUrl, b as ProbedUser, m as readProfileRecord, o as resolveProfileName, q as summarizeServer, t as defineMetabaseCommand, x as ProfileAuthMethod } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { a as renderUserRole, i as renderUserName, n as renderSkew, o as renderVersionTag, r as renderTimestamp, t as renderAuthMethod } from "./render-Bvm9mta6.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/auth/status.ts
|
|
6
6
|
const AuthStatus = z.object({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { r as Collection } from "./collection-
|
|
4
|
-
import {
|
|
5
|
-
import { n as formatSyncTask } from "./sync-task-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { r as Collection } from "./collection-D3KXhvnc.mjs";
|
|
4
|
+
import { d as SyncTask } from "./git-sync-COokpYgc.mjs";
|
|
5
|
+
import { n as formatSyncTask } from "./sync-task-CXFoqlpF.mjs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
//#region src/commands/git-sync/status.ts
|
|
8
8
|
const SyncedCollection = Collection.pick({
|
|
@@ -56,12 +56,12 @@ var status_default = defineMetabaseCommand({
|
|
|
56
56
|
examples: ["mb git-sync status", "mb git-sync status --json"],
|
|
57
57
|
async run({ ctx, getClient }) {
|
|
58
58
|
const mb = await getClient();
|
|
59
|
-
const [
|
|
60
|
-
mb.gitSync.branch(),
|
|
59
|
+
const [isDirty, currentTask, collections] = await Promise.all([
|
|
61
60
|
mb.gitSync.isDirty(),
|
|
62
61
|
mb.gitSync.currentTask(),
|
|
63
62
|
mb.gitSync.syncedCollections()
|
|
64
63
|
]);
|
|
64
|
+
const branch = await mb.gitSync.branch();
|
|
65
65
|
const syncedCollections = collections.data.map((collection) => ({
|
|
66
66
|
id: collection.id,
|
|
67
67
|
name: collection.name
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
2
|
//#region src/commands/subscription/index.ts
|
|
3
3
|
var subscription_default = defineCommandGroup({
|
|
4
4
|
name: "subscription",
|
|
@@ -11,11 +11,11 @@ var subscription_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "the dashboard and dashcards a subscription delivers"
|
|
12
12
|
}],
|
|
13
13
|
subCommands: {
|
|
14
|
-
list: () => import("./list-
|
|
15
|
-
get: () => import("./get-
|
|
16
|
-
create: () => import("./create-
|
|
17
|
-
update: () => import("./update-
|
|
18
|
-
archive: () => import("./archive-
|
|
14
|
+
list: () => import("./list-CPWgBkPa.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-YPDWhgm_2.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-CG6WWY6k.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-CKqL9PmU.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-DIZu7o4C.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
5
|
-
import { t as pulseView } from "./pulse-
|
|
6
|
-
import { SubscriptionListEnvelope } from "./list-
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { t as pulseView } from "./pulse-D1uh8UIU.mjs";
|
|
6
|
+
import { SubscriptionListEnvelope } from "./list-CPWgBkPa.mjs";
|
|
7
7
|
//#region src/commands/dashboard/subscriptions.ts
|
|
8
8
|
var subscriptions_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, q as outputFlags, u as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { c as FieldSummary } from "./field-5nivEfd6.mjs";
|
|
5
|
+
import { a as fieldSummaryView } from "./field-wmN6raOG.mjs";
|
|
6
6
|
//#region src/commands/field/summary.ts
|
|
7
7
|
var summary_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { g as TableSchemaSyncResult } from "./table-Ci6bhZkb.mjs";
|
|
5
|
+
import { o as tableSchemaSyncResultView } from "./table-CxvaDiIZ.mjs";
|
|
6
|
+
//#region src/commands/table/sync-schema.ts
|
|
7
|
+
var sync_schema_default = defineMetabaseCommand({
|
|
8
|
+
meta: {
|
|
9
|
+
name: "sync-schema",
|
|
10
|
+
description: "Trigger a manual schema sync for one table"
|
|
11
|
+
},
|
|
12
|
+
details: "Queues an async sync of this one table and returns immediately; the server reports no completion to wait on. The sync re-reads the table's columns, fingerprints them, and refreshes its cached field values; it never discovers new tables, so use `mb db sync-schema <db-id>` for a table the warehouse just gained. A warehouse the server cannot connect to is refused with a 422. To sync a set of tables use `mb table bulk-sync-schema`.",
|
|
13
|
+
requires: ["table.syncSchema"],
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags,
|
|
18
|
+
id: {
|
|
19
|
+
type: "positional",
|
|
20
|
+
description: "Table id",
|
|
21
|
+
required: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
outputSchema: TableSchemaSyncResult,
|
|
25
|
+
examples: ["mb table sync-schema 42", "mb table sync-schema 42 --json"],
|
|
26
|
+
async run({ args, ctx, getClient }) {
|
|
27
|
+
const id = parseId(args.id);
|
|
28
|
+
renderSummary(await (await getClient()).table.syncSchema(id), tableSchemaSyncResultView, `Schema sync queued for table ${id}.`, ctx);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//#endregion
|
|
32
|
+
export { sync_schema_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { a as DatabaseSyncResult } from "./database-
|
|
5
|
-
import { t as databaseSyncResultView } from "./database-
|
|
6
|
-
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { a as DatabaseSyncResult } from "./database-BT7DVgSr.mjs";
|
|
5
|
+
import { t as databaseSyncResultView } from "./database-Kq2AL5jH.mjs";
|
|
6
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-KX7NHdj4.mjs";
|
|
7
7
|
//#region src/commands/db/sync-schema.ts
|
|
8
8
|
var sync_schema_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { d as SyncTask, p as isSyncTaskFailed } from "./git-sync-COokpYgc.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/commands/git-sync/sync-task.ts
|
|
4
|
+
const SyncTaskIdle = z.object({ status: z.literal("idle") });
|
|
5
|
+
const SyncTaskOrIdle = z.union([SyncTask, SyncTaskIdle]);
|
|
6
|
+
const syncTaskIdleView = {
|
|
7
|
+
compactPick: SyncTaskIdle,
|
|
8
|
+
tableColumns: [{
|
|
9
|
+
key: "status",
|
|
10
|
+
label: "Status"
|
|
11
|
+
}]
|
|
12
|
+
};
|
|
13
|
+
function taskPollOptions(schedule) {
|
|
14
|
+
return {
|
|
15
|
+
...schedule,
|
|
16
|
+
backoff: "exponential"
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const CONFLICT_REMEDY = "The server now counts the remote's commit as synced, so a retry, --merge included, would not see its changes: keep one side with import --force or export --force, or push Metabase's side to a new branch with create-branch then export.";
|
|
20
|
+
const DIVERGED_EXPORT = "the remote branch moved past the last sync";
|
|
21
|
+
function throwIfFailedTask(final, verb) {
|
|
22
|
+
if (final === null || !isSyncTaskFailed(final.status)) return;
|
|
23
|
+
const failure = withDetail(`git-sync ${verb} ${final.status}`, taskDetail(final));
|
|
24
|
+
if (final.status === "conflict") throw new Error(`${sentence(failure)} ${CONFLICT_REMEDY}`);
|
|
25
|
+
throw new Error(failure);
|
|
26
|
+
}
|
|
27
|
+
function taskDetail(task) {
|
|
28
|
+
if (task.error_message) return task.error_message;
|
|
29
|
+
const conflicts = task.conflicts ?? null;
|
|
30
|
+
if (conflicts !== null && conflicts.length > 0) return conflicts.join("; ");
|
|
31
|
+
if (task.status === "conflict" && task.sync_task_type === "export") return DIVERGED_EXPORT;
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
function withDetail(head, detail) {
|
|
35
|
+
return detail === null ? head : `${head}: ${detail}`;
|
|
36
|
+
}
|
|
37
|
+
function sentence(text) {
|
|
38
|
+
return text.endsWith(".") ? text : `${text}.`;
|
|
39
|
+
}
|
|
40
|
+
function formatSyncTask(task) {
|
|
41
|
+
const label = `${task.sync_task_type === "export" ? "Export" : "Import"} task #${task.id}`;
|
|
42
|
+
const detail = taskDetail(task);
|
|
43
|
+
switch (task.status) {
|
|
44
|
+
case "running": return `${label} is running${task.progress === null ? "" : ` (${Math.round(task.progress * 100)}%)`}.`;
|
|
45
|
+
case "successful": return `${label} succeeded.`;
|
|
46
|
+
case "errored": return sentence(withDetail(`${label} errored`, detail));
|
|
47
|
+
case "timed-out": return sentence(withDetail(`${label} timed out`, detail));
|
|
48
|
+
case "conflict": return sentence(withDetail(`${label} hit conflicts`, detail));
|
|
49
|
+
case "cancelled": return `${label} was cancelled.`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { throwIfFailedTask as a, taskPollOptions as i, formatSyncTask as n, syncTaskIdleView as r, SyncTaskOrIdle as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as FieldCompact, t as Field } from "./field-
|
|
1
|
+
import { r as FieldCompact, t as Field } from "./field-5nivEfd6.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region ../client/src/domain/table.ts
|
|
4
4
|
const TableEntityType = z.enum([
|
|
@@ -30,7 +30,7 @@ const Table = z.object({
|
|
|
30
30
|
schema: z.string().nullable(),
|
|
31
31
|
entity_type: TableEntityType.nullable(),
|
|
32
32
|
visibility_type: TableVisibilityType.nullable().optional(),
|
|
33
|
-
active: z.boolean()
|
|
33
|
+
active: z.boolean(),
|
|
34
34
|
is_published: z.boolean().optional(),
|
|
35
35
|
collection_id: z.number().int().nullable().optional(),
|
|
36
36
|
fields: z.array(Field).optional()
|
|
@@ -45,8 +45,10 @@ const TableCompact = Table.pick({
|
|
|
45
45
|
db_id: true,
|
|
46
46
|
schema: true,
|
|
47
47
|
entity_type: true,
|
|
48
|
+
active: true,
|
|
48
49
|
is_published: true
|
|
49
50
|
}).strip().extend({ fields: z.array(FieldCompact).optional() });
|
|
51
|
+
const TableQueryMetadataCompact = TableCompact.extend({ fields: z.array(FieldCompact) });
|
|
50
52
|
const TableDataAuthority = z.enum([
|
|
51
53
|
"unconfigured",
|
|
52
54
|
"authoritative",
|
|
@@ -89,32 +91,53 @@ const TableUpdateInput = z.object({
|
|
|
89
91
|
owner_user_id: z.number().int().nullable().optional(),
|
|
90
92
|
collection_id: z.number().int().positive().nullable().optional()
|
|
91
93
|
}).loose();
|
|
92
|
-
z.
|
|
94
|
+
const TableSchemaId = z.string().regex(/^[1-9]\d{0,17}:[^:]*$/, { error: "expected a schema id \"<db-id>:<schema>\" with a positive database id" });
|
|
95
|
+
const TableSelectors = z.object({
|
|
93
96
|
database_ids: z.array(z.number().int().positive()).optional(),
|
|
94
|
-
schema_ids: z.array(
|
|
97
|
+
schema_ids: z.array(TableSchemaId).optional(),
|
|
95
98
|
table_ids: z.array(z.number().int().positive()).optional()
|
|
96
|
-
}).
|
|
99
|
+
}).strict();
|
|
100
|
+
const TableBulkEditFields = z.object({
|
|
97
101
|
data_authority: TableDataAuthority.nullable().optional(),
|
|
98
102
|
data_source: TableDataSource.nullable().optional(),
|
|
99
103
|
data_layer: TableDataLayerTier.nullable().optional(),
|
|
100
104
|
entity_type: TableEntityType.nullable().optional(),
|
|
101
105
|
owner_email: z.string().nullable().optional(),
|
|
102
|
-
owner_user_id: z.number().int().nullable().optional()
|
|
103
|
-
})
|
|
106
|
+
owner_user_id: z.number().int().positive().nullable().optional()
|
|
107
|
+
});
|
|
108
|
+
const TableBulkEditInput = TableSelectors.extend(TableBulkEditFields.shape).strict();
|
|
109
|
+
const TableSchemaSyncResult = z.object({
|
|
110
|
+
id: z.number().int(),
|
|
111
|
+
status: z.literal("ok")
|
|
112
|
+
});
|
|
113
|
+
const TableFieldValuesResult = z.object({
|
|
114
|
+
id: z.number().int(),
|
|
115
|
+
status: z.literal("success")
|
|
116
|
+
});
|
|
117
|
+
const TableSelectionResult = TableSelectors.extend({ accepted: z.literal(true) }).strict();
|
|
118
|
+
const TableBulkEditResult = TableBulkEditInput.extend({ accepted: z.literal(true) }).strict();
|
|
119
|
+
const TableForeignKeyEnd = Field.extend({ table: Table });
|
|
104
120
|
const TableForeignKey = z.object({
|
|
105
121
|
relationship: z.literal("Mt1"),
|
|
106
122
|
origin_id: z.number().int(),
|
|
107
|
-
origin:
|
|
123
|
+
origin: TableForeignKeyEnd,
|
|
108
124
|
destination_id: z.number().int(),
|
|
109
|
-
destination:
|
|
125
|
+
destination: TableForeignKeyEnd
|
|
110
126
|
}).loose();
|
|
111
|
-
|
|
127
|
+
const TableForeignKeyOriginCompact = FieldCompact.extend({ table: Table.pick({
|
|
128
|
+
id: true,
|
|
129
|
+
name: true,
|
|
130
|
+
display_name: true,
|
|
131
|
+
schema: true,
|
|
132
|
+
db_id: true
|
|
133
|
+
}).strip() });
|
|
134
|
+
const TableForeignKeyCompact = TableForeignKey.pick({
|
|
112
135
|
relationship: true,
|
|
113
136
|
origin_id: true,
|
|
114
137
|
destination_id: true
|
|
115
138
|
}).strip().extend({
|
|
116
|
-
origin:
|
|
139
|
+
origin: TableForeignKeyOriginCompact,
|
|
117
140
|
destination: FieldCompact
|
|
118
141
|
});
|
|
119
142
|
//#endregion
|
|
120
|
-
export {
|
|
143
|
+
export { TableSelectionResult as _, TableCompact as a, TableVisibilityType as b, TableDataSource as c, TableForeignKeyCompact as d, TableGetInclude as f, TableSchemaSyncResult as g, TableSchemaId as h, TableBulkEditResult as i, TableFieldValuesResult as l, TableQueryMetadataCompact as m, TableBulkEditFields as n, TableDataLayer as o, TableQueryMetadata as p, TableBulkEditInput as r, TableDataLayerTier as s, Table as t, TableForeignKey as u, TableSelectors as v, TableUpdateInput as y };
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { _ as MALFORMED_CELL } from "./cli.mjs";
|
|
2
|
+
import { r as FieldCompact } from "./field-5nivEfd6.mjs";
|
|
3
|
+
import { _ as TableSelectionResult, a as TableCompact, d as TableForeignKeyCompact, g as TableSchemaSyncResult, i as TableBulkEditResult, l as TableFieldValuesResult, n as TableBulkEditFields, v as TableSelectors } from "./table-Ci6bhZkb.mjs";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
//#region src/output/views/table.ts
|
|
6
|
+
function formatFieldName(value) {
|
|
7
|
+
const parsed = FieldCompact.safeParse(value);
|
|
8
|
+
return parsed.success ? parsed.data.name : MALFORMED_CELL;
|
|
9
|
+
}
|
|
10
|
+
function formatOriginField(value) {
|
|
11
|
+
const parsed = TableForeignKeyCompact.shape.origin.safeParse(value);
|
|
12
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
13
|
+
const { table, name } = parsed.data;
|
|
14
|
+
return `${table.schema ? `${table.schema}.${table.name}` : table.name}.${name}`;
|
|
15
|
+
}
|
|
16
|
+
const tableView = {
|
|
17
|
+
compactPick: TableCompact,
|
|
18
|
+
tableColumns: [
|
|
19
|
+
{
|
|
20
|
+
key: "id",
|
|
21
|
+
label: "ID"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
key: "db_id",
|
|
25
|
+
label: "DB"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "schema",
|
|
29
|
+
label: "Schema"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "name",
|
|
33
|
+
label: "Name"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
key: "display_name",
|
|
37
|
+
label: "Display Name"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "description",
|
|
41
|
+
label: "Description"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: "active",
|
|
45
|
+
label: "Active"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "is_published",
|
|
49
|
+
label: "Published"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
};
|
|
53
|
+
const tableForeignKeyView = {
|
|
54
|
+
compactPick: TableForeignKeyCompact,
|
|
55
|
+
tableColumns: [
|
|
56
|
+
{
|
|
57
|
+
key: "origin_id",
|
|
58
|
+
label: "Origin ID"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: "origin",
|
|
62
|
+
label: "Origin Field",
|
|
63
|
+
format: formatOriginField
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
key: "destination_id",
|
|
67
|
+
label: "Destination ID"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "destination",
|
|
71
|
+
label: "Destination Field",
|
|
72
|
+
format: formatFieldName
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
key: "relationship",
|
|
76
|
+
label: "Relationship"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
};
|
|
80
|
+
const SYNC_RESULT_COLUMNS = [{
|
|
81
|
+
key: "id",
|
|
82
|
+
label: "Table"
|
|
83
|
+
}, {
|
|
84
|
+
key: "status",
|
|
85
|
+
label: "Status"
|
|
86
|
+
}];
|
|
87
|
+
const tableSchemaSyncResultView = {
|
|
88
|
+
compactPick: TableSchemaSyncResult,
|
|
89
|
+
tableColumns: [...SYNC_RESULT_COLUMNS]
|
|
90
|
+
};
|
|
91
|
+
const tableFieldValuesResultView = {
|
|
92
|
+
compactPick: TableFieldValuesResult,
|
|
93
|
+
tableColumns: [...SYNC_RESULT_COLUMNS]
|
|
94
|
+
};
|
|
95
|
+
const TableValuesDiscardResult = z.object({
|
|
96
|
+
id: z.number().int(),
|
|
97
|
+
discarded: z.boolean(),
|
|
98
|
+
aborted: z.boolean()
|
|
99
|
+
});
|
|
100
|
+
const tableValuesDiscardResultView = {
|
|
101
|
+
compactPick: TableValuesDiscardResult,
|
|
102
|
+
tableColumns: [
|
|
103
|
+
{
|
|
104
|
+
key: "id",
|
|
105
|
+
label: "Table"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
key: "discarded",
|
|
109
|
+
label: "Discarded"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: "aborted",
|
|
113
|
+
label: "Aborted"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
};
|
|
117
|
+
const SELECTOR_COLUMNS = TableSelectors.keyof().options.map((key) => ({ key }));
|
|
118
|
+
const tableSelectionResultView = {
|
|
119
|
+
compactPick: TableSelectionResult,
|
|
120
|
+
tableColumns: [{
|
|
121
|
+
key: "accepted",
|
|
122
|
+
label: "Accepted"
|
|
123
|
+
}, ...SELECTOR_COLUMNS]
|
|
124
|
+
};
|
|
125
|
+
const TableSelectionDiscardResult = TableSelectionResult.extend({
|
|
126
|
+
accepted: z.boolean(),
|
|
127
|
+
aborted: z.boolean()
|
|
128
|
+
});
|
|
129
|
+
const tableSelectionDiscardResultView = {
|
|
130
|
+
compactPick: TableSelectionDiscardResult,
|
|
131
|
+
tableColumns: [
|
|
132
|
+
{
|
|
133
|
+
key: "accepted",
|
|
134
|
+
label: "Accepted"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
key: "aborted",
|
|
138
|
+
label: "Aborted"
|
|
139
|
+
},
|
|
140
|
+
...SELECTOR_COLUMNS
|
|
141
|
+
]
|
|
142
|
+
};
|
|
143
|
+
const tableBulkEditResultView = {
|
|
144
|
+
compactPick: TableBulkEditResult,
|
|
145
|
+
tableColumns: [
|
|
146
|
+
{
|
|
147
|
+
key: "accepted",
|
|
148
|
+
label: "Accepted"
|
|
149
|
+
},
|
|
150
|
+
...SELECTOR_COLUMNS,
|
|
151
|
+
...TableBulkEditFields.keyof().options.map((key) => ({ key }))
|
|
152
|
+
]
|
|
153
|
+
};
|
|
154
|
+
//#endregion
|
|
155
|
+
export { tableForeignKeyView as a, tableSelectionResultView as c, tableFieldValuesResultView as i, tableValuesDiscardResultView as l, TableValuesDiscardResult as n, tableSchemaSyncResultView as o, tableBulkEditResultView as r, tableSelectionDiscardResultView as s, TableSelectionDiscardResult as t, tableView as u };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
|
+
//#region src/commands/table/index.ts
|
|
3
|
+
var table_default = defineCommandGroup({
|
|
4
|
+
name: "table",
|
|
5
|
+
description: "Manage Metabase tables",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "metadata",
|
|
8
|
+
purpose: "table and column metadata, semantic types, visibility"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-DA9KsA0o.mjs").then((m) => m.default),
|
|
12
|
+
get: () => import("./get-DTTsPd-c.mjs").then((m) => m.default),
|
|
13
|
+
fields: () => import("./fields-C-au1eLO.mjs").then((m) => m.default),
|
|
14
|
+
fks: () => import("./fks-83QIm8xb.mjs").then((m) => m.default),
|
|
15
|
+
update: () => import("./update-BFYRBbRu.mjs").then((m) => m.default),
|
|
16
|
+
"sync-schema": () => import("./sync-schema-Cc21crxQ.mjs").then((m) => m.default),
|
|
17
|
+
"rescan-values": () => import("./rescan-values-7VOGCLMe.mjs").then((m) => m.default),
|
|
18
|
+
"discard-values": () => import("./discard-values-DKnP-JHr.mjs").then((m) => m.default),
|
|
19
|
+
"bulk-edit": () => import("./bulk-edit-oUCfDQ_M.mjs").then((m) => m.default),
|
|
20
|
+
"bulk-sync-schema": () => import("./bulk-sync-schema-tRp7jBJt.mjs").then((m) => m.default),
|
|
21
|
+
"bulk-rescan-values": () => import("./bulk-rescan-values-B8pNlXUH.mjs").then((m) => m.default),
|
|
22
|
+
"bulk-discard-values": () => import("./bulk-discard-values-DfKXuZpR.mjs").then((m) => m.default)
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
export { table_default as default };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { W as listFlag, at as ConfigError } from "./cli.mjs";
|
|
2
|
+
import { n as parseIdCsv } from "./parse-id-7ja3HUdB.mjs";
|
|
3
|
+
import { h as TableSchemaId, v as TableSelectors } from "./table-Ci6bhZkb.mjs";
|
|
4
|
+
//#region src/commands/table-selector-flags.ts
|
|
5
|
+
const tableSelectorFlags = {
|
|
6
|
+
"table-ids": listFlag({
|
|
7
|
+
type: "string",
|
|
8
|
+
description: "Comma-separated table ids"
|
|
9
|
+
}),
|
|
10
|
+
"db-ids": listFlag({
|
|
11
|
+
type: "string",
|
|
12
|
+
description: "Comma-separated database ids"
|
|
13
|
+
}),
|
|
14
|
+
schemas: listFlag({
|
|
15
|
+
type: "string",
|
|
16
|
+
description: "Comma-separated schema ids, each \"<db-id>:<schema>\" (e.g. 1:public; 1: for the tables with no schema)"
|
|
17
|
+
})
|
|
18
|
+
};
|
|
19
|
+
const SELECTOR_FLAGS = {
|
|
20
|
+
table_ids: "table-ids",
|
|
21
|
+
database_ids: "db-ids",
|
|
22
|
+
schema_ids: "schemas"
|
|
23
|
+
};
|
|
24
|
+
const SELECTION_DETAILS = "Select with --table-ids, --db-ids, or --schemas (each schema id is \"<db-id>:<schema>\", e.g. 1:public, and 1: selects the tables of database 1 that have no schema); the selectors are unioned. Only an admin or a data analyst may call it; anyone else gets a 403. The server answers the same whether or not a selector matched a table, so the output restates the accepted request and cannot say which tables were affected.";
|
|
25
|
+
function selectionSummary(action, selectors) {
|
|
26
|
+
return `${action} accepted for the tables selected by ${TableSelectors.keyof().options.filter((key) => selectors[key] !== void 0).map((key) => `--${SELECTOR_FLAGS[key]}`).join(", ")}; the server does not report which tables matched.`;
|
|
27
|
+
}
|
|
28
|
+
function parseSchemaId(part) {
|
|
29
|
+
const value = part.trim();
|
|
30
|
+
if (!TableSchemaId.safeParse(value).success) throw new ConfigError(`invalid schema id: "${value}" (expected "<db-id>:<schema>" with a positive database id)`);
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
function parseTableSelectors(args) {
|
|
34
|
+
const selectors = {};
|
|
35
|
+
if (args["table-ids"] !== void 0) selectors.table_ids = parseIdCsv(args["table-ids"], "table id");
|
|
36
|
+
if (args["db-ids"] !== void 0) selectors.database_ids = parseIdCsv(args["db-ids"], "database id");
|
|
37
|
+
if (args.schemas !== void 0) selectors.schema_ids = args.schemas.split(",").map(parseSchemaId);
|
|
38
|
+
if (Object.keys(selectors).length === 0) throw new ConfigError("provide at least one selector: --table-ids, --db-ids, or --schemas");
|
|
39
|
+
return selectors;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { tableSelectorFlags as i, parseTableSelectors as n, selectionSummary as r, SELECTION_DETAILS as t };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
|
+
//#region src/commands/timeline/index.ts
|
|
3
|
+
var timeline_default = defineCommandGroup({
|
|
4
|
+
name: "timeline",
|
|
5
|
+
description: "Manage Metabase timelines (event annotations for time-series charts)",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "core",
|
|
8
|
+
purpose: "collection scoping — events render only on questions in the timeline's collection"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-BTcEm4td.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-C-R_Fdsi.mjs").then((mod) => mod.default),
|
|
13
|
+
events: () => import("./events-BzCjVA3-.mjs").then((mod) => mod.default),
|
|
14
|
+
create: () => import("./create-D_pNX7d0.mjs").then((mod) => mod.default),
|
|
15
|
+
update: () => import("./update-D7xi-0bU.mjs").then((mod) => mod.default),
|
|
16
|
+
archive: () => import("./archive-CL8wqAzm.mjs").then((mod) => mod.default),
|
|
17
|
+
delete: () => import("./delete-CYgNpHl7.mjs").then((mod) => mod.default)
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { timeline_default as default };
|