@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,8 +1,8 @@
|
|
|
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-
|
|
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
6
|
//#region src/commands/db/rescan-values.ts
|
|
7
7
|
var rescan_values_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, 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
4
|
import { a as TransformJobRunResult } from "./transform-job-CCguL6LP.mjs";
|
|
5
5
|
//#region src/commands/transform-job/run.ts
|
|
6
6
|
const transformJobRunResultView = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
4
|
import { c as TransformRunResult, p as isTransformRunFailed } from "./transform-DiW7bREn.mjs";
|
|
5
|
-
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-
|
|
5
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-KX7NHdj4.mjs";
|
|
6
6
|
//#region src/commands/transform/run.ts
|
|
7
7
|
const transformRunResultView = {
|
|
8
8
|
compactPick: TransformRunResult,
|
|
@@ -26,7 +26,7 @@ var run_default = defineMetabaseCommand({
|
|
|
26
26
|
name: "run",
|
|
27
27
|
description: "Trigger a transform run by id"
|
|
28
28
|
},
|
|
29
|
-
details: "Starts a run and returns immediately. --wait polls the run to a terminal status. --sync additionally waits until the run's output table is registered and returns its `target_table_id`, so you can build MBQL cards against it — the run registers the table itself, so no separate `db sync-schema` is needed; --sync implies waiting for the run.
|
|
29
|
+
details: "Starts a run and returns immediately. --wait polls the run to a terminal status. --sync additionally waits until the run's output table is registered and returns its `target_table_id`, so you can build MBQL cards against it — the run registers the table itself, so no separate `db sync-schema` is needed; --sync implies waiting for the run.",
|
|
30
30
|
requires: ["transform.run"],
|
|
31
31
|
args: {
|
|
32
32
|
...outputFlags,
|
|
@@ -66,11 +66,11 @@ var run_default = defineMetabaseCommand({
|
|
|
66
66
|
}
|
|
67
67
|
if (result.run_id === null || result.final === null) {
|
|
68
68
|
renderSummary(result, transformRunResultView, result.message, ctx);
|
|
69
|
-
throw new
|
|
69
|
+
throw new Error(`transform run did not start: ${result.message}`);
|
|
70
70
|
}
|
|
71
71
|
const status = result.final.status;
|
|
72
72
|
renderSummary(result, transformRunResultView, summaryLine(id, result.run_id, status, syncTarget, result.target_table_id), ctx);
|
|
73
|
-
if (isTransformRunFailed(status)) throw new
|
|
73
|
+
if (isTransformRunFailed(status)) throw new Error(`transform run ${result.run_id} ${status}`);
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
function summaryLine(transformId, runId, status, syncTarget, targetTableId) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { t as collectForOutput } 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 { t as collectForOutput } from "./window-CI_QD04s.mjs";
|
|
5
5
|
import { s as TransformRunCompact } from "./transform-DiW7bREn.mjs";
|
|
6
|
-
import { t as transformRunView } from "./transform-
|
|
6
|
+
import { t as transformRunView } from "./transform-CNBIV7No.mjs";
|
|
7
7
|
//#region src/commands/transform/runs.ts
|
|
8
8
|
const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
|
|
9
9
|
var runs_default = defineMetabaseCommand({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as givenFlagKeys, A as ENV_API_KEY, C as isPlainObject, F as ENV_URL, I as consumeLegacyEnvWarnings, L as readEnv, P as ENV_SKIP_PREFLIGHT, Q as assertArgv, R as ProfileRefreshedError, V as version, a as Features, at as ConfigError, c as ruleGap, ct as NetworkError, et as parseCsv, ft as ValidationError, gt as KNOWN_RANGE, ht as isFileNotFoundError, i as FEATURE_RULES, it as ChainedRequestError, j as ENV_DISABLE_KEYRING, k as warn, l as reportError, lt as ResponseShapeError, n as methodRequirements, o as evaluateFeatures, pt as errorMessage, r as FEATURE_NAMES, st as MetabaseError, t as interruptSignal, ut as TimeoutError, z as setMetabaseAugment } from "./cli.mjs";
|
|
2
2
|
import { defineCommand } from "citty";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { Entry } from "@napi-rs/keyring";
|
|
@@ -9,7 +9,10 @@ import { homedir } from "node:os";
|
|
|
9
9
|
const INTEGER_PATTERN = /^-?\d+$/;
|
|
10
10
|
function parseInteger(value, options) {
|
|
11
11
|
const trimmed = value.trim();
|
|
12
|
-
if (!INTEGER_PATTERN.test(trimmed))
|
|
12
|
+
if (!INTEGER_PATTERN.test(trimmed)) {
|
|
13
|
+
const expected = options.expected ?? "integer";
|
|
14
|
+
throw new ConfigError(`invalid ${options.name}: "${value}" (expected ${expected})`);
|
|
15
|
+
}
|
|
13
16
|
const parsed = Number.parseInt(trimmed, 10);
|
|
14
17
|
if (parsed < options.min) throw new ConfigError(`invalid ${options.name}: ${parsed} (must be ≥ ${options.min})`);
|
|
15
18
|
return parsed;
|
|
@@ -1462,34 +1465,6 @@ function resolveFormat({ json, format, isTty }) {
|
|
|
1462
1465
|
return isTty ? "text" : "json";
|
|
1463
1466
|
}
|
|
1464
1467
|
//#endregion
|
|
1465
|
-
//#region src/runtime/csv.ts
|
|
1466
|
-
function parseCsv(raw) {
|
|
1467
|
-
return raw.split(",").map((part) => part.trim()).filter((part) => part.length > 0);
|
|
1468
|
-
}
|
|
1469
|
-
function parseEnumCsv(raw, schema, flagName) {
|
|
1470
|
-
if (raw === void 0 || raw === "") return;
|
|
1471
|
-
const parts = parseCsv(raw);
|
|
1472
|
-
if (parts.length === 0) return;
|
|
1473
|
-
const accepted = [];
|
|
1474
|
-
const rejected = [];
|
|
1475
|
-
for (const part of parts) {
|
|
1476
|
-
const result = schema.safeParse(part);
|
|
1477
|
-
if (result.success) accepted.push(result.data);
|
|
1478
|
-
else rejected.push(part);
|
|
1479
|
-
}
|
|
1480
|
-
if (rejected.length > 0) {
|
|
1481
|
-
const allowed = Object.values(schema.enum).join(", ");
|
|
1482
|
-
throw new ConfigError(`invalid ${flagName} value: ${rejected.join(", ")} (expected one of: ${allowed})`);
|
|
1483
|
-
}
|
|
1484
|
-
return accepted;
|
|
1485
|
-
}
|
|
1486
|
-
function parseEnum(raw, schema, flagName) {
|
|
1487
|
-
if (raw === void 0 || raw === "") return;
|
|
1488
|
-
const result = schema.safeParse(raw);
|
|
1489
|
-
if (!result.success) throw new ConfigError(`invalid ${flagName} value: "${raw}" (expected one of: ${Object.values(schema.enum).join(", ")})`);
|
|
1490
|
-
return result.data;
|
|
1491
|
-
}
|
|
1492
|
-
//#endregion
|
|
1493
1468
|
//#region src/commands/context.ts
|
|
1494
1469
|
function resolveOutputFormat(args, options = {}) {
|
|
1495
1470
|
return resolveFormat({
|
|
@@ -1507,6 +1482,7 @@ function resolveCommonFlags(args, options = {}) {
|
|
|
1507
1482
|
full,
|
|
1508
1483
|
fields,
|
|
1509
1484
|
maxBytes: parseMaxBytes(args.maxBytes),
|
|
1485
|
+
maxBytesGiven: args.maxBytes !== void 0,
|
|
1510
1486
|
range: parseRange(args.limit, args.offset),
|
|
1511
1487
|
url: args.url,
|
|
1512
1488
|
apiKey: args.apiKey,
|
|
@@ -1539,51 +1515,6 @@ function parseRange(limit, offset) {
|
|
|
1539
1515
|
};
|
|
1540
1516
|
}
|
|
1541
1517
|
//#endregion
|
|
1542
|
-
//#region src/commands/known-flags.ts
|
|
1543
|
-
const ARGUMENT_SEPARATOR = "--";
|
|
1544
|
-
const NEGATION_PREFIX = "no-";
|
|
1545
|
-
const BUILTIN_FLAGS = [
|
|
1546
|
-
"help",
|
|
1547
|
-
"h",
|
|
1548
|
-
"version",
|
|
1549
|
-
"v"
|
|
1550
|
-
];
|
|
1551
|
-
function assertKnownFlags(rawArgs, argsDef) {
|
|
1552
|
-
const allowed = allowedFlagKeys(argsDef);
|
|
1553
|
-
let index = 0;
|
|
1554
|
-
while (index < rawArgs.length) {
|
|
1555
|
-
const token = rawArgs[index];
|
|
1556
|
-
if (token === void 0 || token === ARGUMENT_SEPARATOR) return;
|
|
1557
|
-
if (!isFlagToken(token)) {
|
|
1558
|
-
index += 1;
|
|
1559
|
-
continue;
|
|
1560
|
-
}
|
|
1561
|
-
if (!flagCandidates(token).some((candidate) => allowed.has(candidate))) throw new ConfigError(`unknown flag: ${displayFlag(token)}`);
|
|
1562
|
-
index += flagConsumesValue(token, argsDef) ? 2 : 1;
|
|
1563
|
-
}
|
|
1564
|
-
}
|
|
1565
|
-
function allowedFlagKeys(argsDef) {
|
|
1566
|
-
const keys = new Set(BUILTIN_FLAGS.map(normalizeFlag));
|
|
1567
|
-
for (const [name, def] of Object.entries(argsDef)) {
|
|
1568
|
-
keys.add(normalizeFlag(name));
|
|
1569
|
-
if ("alias" in def) for (const alias of toAliasArray(def.alias)) keys.add(normalizeFlag(alias));
|
|
1570
|
-
}
|
|
1571
|
-
return keys;
|
|
1572
|
-
}
|
|
1573
|
-
function isFlagToken(token) {
|
|
1574
|
-
return token.startsWith("-") && token !== "-";
|
|
1575
|
-
}
|
|
1576
|
-
function displayFlag(token) {
|
|
1577
|
-
const equals = token.indexOf("=");
|
|
1578
|
-
return equals === -1 ? token : token.slice(0, equals);
|
|
1579
|
-
}
|
|
1580
|
-
function flagCandidates(token) {
|
|
1581
|
-
const name = displayFlag(token).replace(/^-+/, "");
|
|
1582
|
-
const candidates = [normalizeFlag(name)];
|
|
1583
|
-
if (name.startsWith(NEGATION_PREFIX)) candidates.push(normalizeFlag(name.slice(3)));
|
|
1584
|
-
return candidates;
|
|
1585
|
-
}
|
|
1586
|
-
//#endregion
|
|
1587
1518
|
//#region src/commands/runtime.ts
|
|
1588
1519
|
function defineMetabaseCommand(def) {
|
|
1589
1520
|
const requirements = def.requires === null ? null : deriveRequirements(def.requires);
|
|
@@ -1591,12 +1522,12 @@ function defineMetabaseCommand(def) {
|
|
|
1591
1522
|
meta: def.meta,
|
|
1592
1523
|
args: def.args,
|
|
1593
1524
|
async run({ args, rawArgs }) {
|
|
1594
|
-
const commonArgs = pickCommonArgs(args);
|
|
1525
|
+
const commonArgs = pickCommonArgs(args, givenFlagKeys(rawArgs, def.args));
|
|
1595
1526
|
let reportFormat;
|
|
1596
1527
|
try {
|
|
1597
|
-
reportFormat =
|
|
1528
|
+
reportFormat = resolveReportFormat(commonArgs, rawArgs, def.args);
|
|
1529
|
+
assertArgv(rawArgs, def.args);
|
|
1598
1530
|
const ctx = resolveCommonFlags(commonArgs);
|
|
1599
|
-
assertKnownFlags(rawArgs, def.args);
|
|
1600
1531
|
let cachedConfig = null;
|
|
1601
1532
|
let cachedClient = null;
|
|
1602
1533
|
const getResolvedConfig = async () => {
|
|
@@ -1611,7 +1542,7 @@ function defineMetabaseCommand(def) {
|
|
|
1611
1542
|
const resolved = await getResolvedConfig();
|
|
1612
1543
|
const probe = await readCachedProbe(resolved.profile, resolved.url);
|
|
1613
1544
|
const server = probe === null ? null : createServerProfile(probe);
|
|
1614
|
-
const { createClient } = await import("./client-
|
|
1545
|
+
const { createClient } = await import("./client-BHIFvEg2.mjs").then((n) => n.t);
|
|
1615
1546
|
cachedClient = createClient({
|
|
1616
1547
|
url: resolved.url,
|
|
1617
1548
|
credential: resolved.credential
|
|
@@ -1723,13 +1654,21 @@ async function refreshChangedProbe(cached) {
|
|
|
1723
1654
|
});
|
|
1724
1655
|
return note;
|
|
1725
1656
|
}
|
|
1726
|
-
function
|
|
1657
|
+
function resolveReportFormat(commonArgs, rawArgs, argsDef) {
|
|
1658
|
+
try {
|
|
1659
|
+
return resolveOutputFormat(commonArgs);
|
|
1660
|
+
} catch (error) {
|
|
1661
|
+
assertArgv(rawArgs, argsDef);
|
|
1662
|
+
throw error;
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
function pickCommonArgs(args, given) {
|
|
1727
1666
|
const out = {};
|
|
1728
1667
|
if (typeof args["format"] === "string") out.format = args["format"];
|
|
1729
1668
|
if (typeof args["json"] === "boolean") out.json = args["json"];
|
|
1730
1669
|
if (typeof args["full"] === "boolean") out.full = args["full"];
|
|
1731
1670
|
if (typeof args["fields"] === "string") out.fields = args["fields"];
|
|
1732
|
-
if (typeof args["maxBytes"] === "string") out.maxBytes = args["maxBytes"];
|
|
1671
|
+
if (typeof args["maxBytes"] === "string" && given.has("maxBytes")) out.maxBytes = args["maxBytes"];
|
|
1733
1672
|
if (typeof args["limit"] === "string") out.limit = args["limit"];
|
|
1734
1673
|
if (typeof args["offset"] === "string") out.offset = args["offset"];
|
|
1735
1674
|
if (typeof args["profile"] === "string") out.profile = args["profile"];
|
|
@@ -1746,4 +1685,4 @@ function buildConfigFlags(ctx) {
|
|
|
1746
1685
|
return flags;
|
|
1747
1686
|
}
|
|
1748
1687
|
//#endregion
|
|
1749
|
-
export {
|
|
1688
|
+
export { CapabilityError as $, registerClient as A, assertCredentialHeaderSafe as B, profileAuthMethod as C, OAUTH_SCOPE as D, revokeOAuthCredential as E, chainRequestFailure as F, normalizeUrl as G, credentialSecrets as H, isRetryableStatus as I, checkFeatures as J, ServerSummary as K, JSON_CONTENT_TYPE as L, buildNetworkError as M, isConnectionClosed as N, discoverLoginMetadata as O, HttpError as P, probeServer as Q, parseJson as R, ProfileLastFailure as S, USER_AGENT as T, oauthCredentialFromTokens as U, credentialAuthHeader as V, displayUrl as W, createServerProfile as X, Skew as Y, PROBE_PATH as Z, writeProbeFailure as _, readEnvCredentials as a, ProbedUser as b, clearProfile as c, keyringFallbackWarning as d, RequirementFailure as et, listProfileRecords as f, writeOAuthProfile as g, resolveRecordCredential as h, explicitProfileName as i, tryDiscoverMetadata as j, exchangeCode as k, consumeKeychainResidualWarning as l, readProfileRecord as m, readCachedServerProfile as n, parseOptionalInteger as nt, resolveProfileName as o, readProfileCredential as p, summarizeServer as q, createCredentialRefresher as r, DEFAULT_PROFILE as s, defineMetabaseCommand as t, parseInteger as tt, consumeKeyringDowngradeWarning as u, writeProbeResult as v, OAUTH_CLIENT_NAME as w, ProfileAuthMethod as x, writeProfile as y, parseJsonOrPlain as z };
|
|
@@ -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 {
|
|
6
|
-
import {
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, X as listEnvelopeSchema, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { a as TableCompact } from "./table-Ci6bhZkb.mjs";
|
|
6
|
+
import { u as tableView } from "./table-CxvaDiIZ.mjs";
|
|
7
7
|
//#region src/commands/db/schema-tables.ts
|
|
8
8
|
const DatabaseSchemaTablesEnvelope = listEnvelopeSchema(TableCompact);
|
|
9
9
|
var schema_tables_default = defineMetabaseCommand({
|
|
@@ -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 { z } from "zod";
|
|
6
6
|
//#region src/commands/db/schemas.ts
|
|
7
7
|
const SchemaName = z.object({ name: z.string() });
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, K as listFlagsWithDefaultLimit, W as listFlag, X as listEnvelopeSchema, at as ConfigError, d as renderList, nt as parseEnumCsv, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { n as parseIdCsv, t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { r as windowServerPage } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { i as SearchResultCompact, n as SearchModel, t as SEARCH_MODELS } from "./search-BAXg-EJw.mjs";
|
|
6
|
+
import { t as parseOptionalText } from "./parse-text-T0lTXzTZ.mjs";
|
|
7
|
+
//#region src/output/views/search.ts
|
|
8
|
+
const searchResultView = {
|
|
9
|
+
compactPick: SearchResultCompact,
|
|
10
|
+
tableColumns: [
|
|
11
|
+
{
|
|
12
|
+
key: "id",
|
|
13
|
+
label: "ID"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
key: "model",
|
|
17
|
+
label: "Model"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
key: "name",
|
|
21
|
+
label: "Name"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/commands/search.ts
|
|
27
|
+
const DEFAULT_LIMIT = 20;
|
|
28
|
+
const SEARCH_MODELS_DESCRIPTION = `Comma-separated model filter: ${SEARCH_MODELS.join(",")}`;
|
|
29
|
+
const RESULT_METADATA = "result_metadata";
|
|
30
|
+
const SearchListEnvelope = listEnvelopeSchema(SearchResultCompact);
|
|
31
|
+
var search_default = defineMetabaseCommand({
|
|
32
|
+
meta: {
|
|
33
|
+
name: "search",
|
|
34
|
+
description: "Search Metabase content (cards, dashboards, collections, …)"
|
|
35
|
+
},
|
|
36
|
+
details: "Ranks content against a query string. To simply enumerate a resource, prefer its `… list` verb.",
|
|
37
|
+
skills: [{
|
|
38
|
+
skill: "core",
|
|
39
|
+
purpose: "search vs. list"
|
|
40
|
+
}],
|
|
41
|
+
requires: ["search.query"],
|
|
42
|
+
args: {
|
|
43
|
+
...outputFlags,
|
|
44
|
+
...listFlagsWithDefaultLimit(DEFAULT_LIMIT),
|
|
45
|
+
...profileFlag,
|
|
46
|
+
...connectionFlags,
|
|
47
|
+
query: {
|
|
48
|
+
type: "positional",
|
|
49
|
+
description: "Search query string",
|
|
50
|
+
required: false
|
|
51
|
+
},
|
|
52
|
+
models: listFlag({
|
|
53
|
+
type: "string",
|
|
54
|
+
description: SEARCH_MODELS_DESCRIPTION,
|
|
55
|
+
alias: "m"
|
|
56
|
+
}),
|
|
57
|
+
archived: {
|
|
58
|
+
type: "boolean",
|
|
59
|
+
description: "Search only archived items (instead of only active ones)",
|
|
60
|
+
default: false
|
|
61
|
+
},
|
|
62
|
+
"db-id": {
|
|
63
|
+
type: "string",
|
|
64
|
+
description: "Restrict to items on a given database id"
|
|
65
|
+
},
|
|
66
|
+
verified: {
|
|
67
|
+
type: "boolean",
|
|
68
|
+
description: "Only verified content"
|
|
69
|
+
},
|
|
70
|
+
collection: {
|
|
71
|
+
type: "string",
|
|
72
|
+
description: "Restrict to one collection by id: its own row, subcollections and the content filed under them, never segments, measures or transforms (dashboard questions need --include-dashboard-questions)"
|
|
73
|
+
},
|
|
74
|
+
"created-by": listFlag({
|
|
75
|
+
type: "string",
|
|
76
|
+
description: "Comma-separated user ids; matches items created by any of them (drops models with no creator)"
|
|
77
|
+
}),
|
|
78
|
+
"search-native-query": {
|
|
79
|
+
type: "boolean",
|
|
80
|
+
description: "Also match native query text; narrows to cards, models, metrics, actions and transforms"
|
|
81
|
+
},
|
|
82
|
+
"include-metadata": {
|
|
83
|
+
type: "boolean",
|
|
84
|
+
description: "Attach result_metadata to card, model and metric rows (needs --json --full, or --fields naming result_metadata)"
|
|
85
|
+
},
|
|
86
|
+
"include-dashboard-questions": {
|
|
87
|
+
type: "boolean",
|
|
88
|
+
description: "Also match questions saved into a dashboard (excluded by default)"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
outputSchema: SearchListEnvelope,
|
|
92
|
+
examples: [
|
|
93
|
+
"mb search orders",
|
|
94
|
+
"mb search --models card,dashboard --limit 10 --json",
|
|
95
|
+
"mb search products --archived",
|
|
96
|
+
"mb search --collection 12 --created-by 3,7 --include-dashboard-questions --json",
|
|
97
|
+
"mb search revenue --search-native-query --include-metadata --full --json"
|
|
98
|
+
],
|
|
99
|
+
async run({ args, ctx, getClient }) {
|
|
100
|
+
const tableDbIdRaw = args["db-id"];
|
|
101
|
+
const tableDbId = tableDbIdRaw === void 0 ? void 0 : parseId(tableDbIdRaw, "--db-id");
|
|
102
|
+
const models = parseEnumCsv(args.models, SearchModel, "--models");
|
|
103
|
+
const collection = args.collection === void 0 ? void 0 : parseId(args.collection, "--collection");
|
|
104
|
+
const createdByRaw = args["created-by"];
|
|
105
|
+
const createdBy = createdByRaw === void 0 ? void 0 : parseIdCsv(createdByRaw, "--created-by");
|
|
106
|
+
const includeMetadata = args["include-metadata"] === true;
|
|
107
|
+
if (includeMetadata && !printsResultMetadata(ctx)) throw new ConfigError("--include-metadata needs --json --full, or --fields naming result_metadata: every other output drops it");
|
|
108
|
+
const q = parseOptionalText(args.query, "query");
|
|
109
|
+
const { data, total } = await (await getClient()).search.query({
|
|
110
|
+
q,
|
|
111
|
+
models,
|
|
112
|
+
archived: args.archived ? true : void 0,
|
|
113
|
+
limit: ctx.range.limit,
|
|
114
|
+
offset: ctx.range.offset,
|
|
115
|
+
table_db_id: tableDbId,
|
|
116
|
+
verified: args.verified ? true : void 0,
|
|
117
|
+
collection,
|
|
118
|
+
created_by: createdBy,
|
|
119
|
+
search_native_query: args["search-native-query"] ? true : void 0,
|
|
120
|
+
include_metadata: includeMetadata ? true : void 0,
|
|
121
|
+
include_dashboard_questions: args["include-dashboard-questions"] ? true : void 0
|
|
122
|
+
});
|
|
123
|
+
renderList(windowServerPage(data, total, ctx.range), searchResultView, ctx);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
function printsResultMetadata(ctx) {
|
|
127
|
+
if (ctx.fields !== void 0) return ctx.fields.some((path) => path === RESULT_METADATA || path.startsWith(`${RESULT_METADATA}.`));
|
|
128
|
+
return ctx.full && ctx.format === "json";
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
export { search_default as default };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { G as listFlags, H as connectionFlags, J as profileFlag, X as listEnvelopeSchema, at as ConfigError, d as renderList, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { t as collectForOutput } from "./window-CI_QD04s.mjs";
|
|
5
|
+
import { n as parseText } from "./parse-text-T0lTXzTZ.mjs";
|
|
6
|
+
import { n as FieldValueLabel, o as fieldValueLabelView, u as toValueLabel } from "./field-wmN6raOG.mjs";
|
|
7
|
+
//#region src/commands/field/search.ts
|
|
8
|
+
const FieldSearchListEnvelope = listEnvelopeSchema(FieldValueLabel);
|
|
9
|
+
function fieldSearchValue(value, limit) {
|
|
10
|
+
if (value === void 0) {
|
|
11
|
+
if (limit === void 0) throw new ConfigError("--limit is required when --value is absent");
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
return parseText(value, "--value");
|
|
15
|
+
}
|
|
16
|
+
const FIRST_SEARCH_SPAN = 1e3;
|
|
17
|
+
const SEARCH_SPAN_GROWTH = 2;
|
|
18
|
+
async function* searchPages(searchRows, request) {
|
|
19
|
+
const windowSpan = request.max ?? Number.POSITIVE_INFINITY;
|
|
20
|
+
let span = Math.min(windowSpan, FIRST_SEARCH_SPAN);
|
|
21
|
+
let seen = request.offset;
|
|
22
|
+
let filledBound = true;
|
|
23
|
+
while (filledBound) {
|
|
24
|
+
const bound = request.offset + span;
|
|
25
|
+
const rows = await searchRows(bound);
|
|
26
|
+
yield {
|
|
27
|
+
items: rows.slice(seen).map(toValueLabel),
|
|
28
|
+
total: null
|
|
29
|
+
};
|
|
30
|
+
filledBound = rows.length === bound && span < windowSpan;
|
|
31
|
+
seen = bound;
|
|
32
|
+
span = Math.min(span * SEARCH_SPAN_GROWTH, windowSpan);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
var search_default = defineMetabaseCommand({
|
|
36
|
+
meta: {
|
|
37
|
+
name: "search",
|
|
38
|
+
description: "Search a field's values, answering them paired with the values of another field"
|
|
39
|
+
},
|
|
40
|
+
details: "Each row is a distinct pair of a value of `<id>` and the value of `<search-id>` on the same warehouse row, ordered by value. A FK on either side is followed to the key it points at, so searching an id column by a name column answers id/name pairs; after that both fields must be on one table, and a pair that is not answers no rows rather than an error, as does any failure of the warehouse query. `--value` keeps the rows whose `<search-id>` value contains it, case-insensitively; without it the first `--limit` rows are answered, so one of the two is required. `label` is null when `<id>` and `<search-id>` resolve to the same field once FKs are followed. A field with custom display values answers every mapped value instead, with its display value as `label`, matching `--value` against the display value and ignoring `<search-id>`. The endpoint takes no offset and reports no count, so `total` is null, every request asks for the rows from the first, at most 1000 at first and twice as many on each request after until the window is covered, and `has_more` is proven by one row fetched past it.",
|
|
41
|
+
requires: ["field.search"],
|
|
42
|
+
args: {
|
|
43
|
+
...outputFlags,
|
|
44
|
+
...listFlags,
|
|
45
|
+
limit: {
|
|
46
|
+
type: "string",
|
|
47
|
+
description: "Max items to return; required without --value (with it, default: as many as fit the output cap)"
|
|
48
|
+
},
|
|
49
|
+
...profileFlag,
|
|
50
|
+
...connectionFlags,
|
|
51
|
+
id: {
|
|
52
|
+
type: "positional",
|
|
53
|
+
description: "Field id whose values are answered",
|
|
54
|
+
required: true
|
|
55
|
+
},
|
|
56
|
+
"search-id": {
|
|
57
|
+
type: "positional",
|
|
58
|
+
description: "Field id whose values are searched",
|
|
59
|
+
required: true
|
|
60
|
+
},
|
|
61
|
+
value: {
|
|
62
|
+
type: "string",
|
|
63
|
+
description: "Text the searched values must contain (case-insensitive)"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
outputSchema: FieldSearchListEnvelope,
|
|
67
|
+
examples: [
|
|
68
|
+
"mb field search 100 101 --value ada",
|
|
69
|
+
"mb field search 100 101 --value ada --limit 5 --json",
|
|
70
|
+
"mb field search 100 101 --limit 20 --json"
|
|
71
|
+
],
|
|
72
|
+
async run({ args, ctx, getClient }) {
|
|
73
|
+
const id = parseId(args.id);
|
|
74
|
+
const searchId = parseId(args["search-id"], "search-id");
|
|
75
|
+
const value = fieldSearchValue(args.value, ctx.range.limit);
|
|
76
|
+
const client = await getClient();
|
|
77
|
+
const searchRows = (limit) => client.field.search(id, searchId, value === void 0 ? { limit } : {
|
|
78
|
+
value,
|
|
79
|
+
limit
|
|
80
|
+
});
|
|
81
|
+
renderList(await collectForOutput((request) => searchPages(searchRows, request), fieldValueLabelView, ctx), fieldValueLabelView, ctx);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
//#endregion
|
|
85
|
+
export { search_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
2
|
//#region src/commands/segment/index.ts
|
|
3
3
|
var segment_default = defineCommandGroup({
|
|
4
4
|
name: "segment",
|
|
@@ -11,11 +11,11 @@ var segment_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "define reusable segments"
|
|
12
12
|
}],
|
|
13
13
|
subCommands: {
|
|
14
|
-
list: () => import("./list-
|
|
15
|
-
get: () => import("./get-
|
|
16
|
-
create: () => import("./create-
|
|
17
|
-
update: () => import("./update-
|
|
18
|
-
archive: () => import("./archive-
|
|
14
|
+
list: () => import("./list-Dzzt6Yee.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-BjqqFG2m.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-R0Q-nRlq.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-BnIEN390.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-BbNqts-V.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/alert/send.ts
|
|
6
6
|
const AlertSendResult = z.object({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags, v as formatScalar } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as readBody } from "./body-CB2eDFFb.mjs";
|
|
4
4
|
import { r as SettingValue } from "./setting-DTiLCW8g.mjs";
|
|
5
5
|
import { t as settingValueView } from "./setting-CwRYgHYN.mjs";
|
|
6
|
-
import { t as parseSettingKey } from "./key-
|
|
6
|
+
import { t as parseSettingKey } from "./key-BynJSK9u.mjs";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
//#region src/commands/setting/set.ts
|
|
9
9
|
const SettingValueInput = z.unknown().describe("Any JSON value; the setting's own type constraints are enforced server-side");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { H as
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
3
|
import { n as TransformJobActiveResult } from "./transform-job-CCguL6LP.mjs";
|
|
4
|
-
import { t as parseEnumFlag } from "./parse-enum-
|
|
4
|
+
import { t as parseEnumFlag } from "./parse-enum-CLIXMsd8.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/transform-job/set-active.ts
|
|
7
7
|
const ActiveWord = z.enum(["true", "false"]);
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { H as connectionFlags, J as profileFlag, p as renderSummary, q as outputFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-B8RtMb4B.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-7ja3HUdB.mjs";
|
|
4
|
+
import { f as FieldWithDataSensitivity, i as FieldDataSensitivity } from "./field-5nivEfd6.mjs";
|
|
5
|
+
import { t as parseEnumFlag } from "./parse-enum-CLIXMsd8.mjs";
|
|
6
|
+
import { l as fieldWithDataSensitivityView } from "./field-wmN6raOG.mjs";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
//#region src/commands/field/set-sensitivity.ts
|
|
9
|
+
const NONE = "none";
|
|
10
|
+
const SensitivityArg = z.enum([...FieldDataSensitivity.options, NONE]);
|
|
11
|
+
function parseSensitivity(value) {
|
|
12
|
+
const parsed = parseEnumFlag(value, SensitivityArg, "label");
|
|
13
|
+
return parsed === NONE ? null : parsed;
|
|
14
|
+
}
|
|
15
|
+
function summarize(field, sensitivity) {
|
|
16
|
+
if (sensitivity !== null) return `Labelled field ${field.id} "${field.display_name}" as ${sensitivity}.`;
|
|
17
|
+
const unset = `Field ${field.id} "${field.display_name}" carries no hand-set label`;
|
|
18
|
+
if (field.data_sensitivity === null) return `${unset} and is unlabelled.`;
|
|
19
|
+
return `${unset} and shows the classifier's ${field.data_sensitivity}.`;
|
|
20
|
+
}
|
|
21
|
+
var set_sensitivity_default = defineMetabaseCommand({
|
|
22
|
+
meta: {
|
|
23
|
+
name: "set-sensitivity",
|
|
24
|
+
description: "Label a field's data sensitivity by hand, or withdraw the label with `none`"
|
|
25
|
+
},
|
|
26
|
+
details: "A label set here is a person's call that the server's classifier never overwrites; `none` withdraws it, and the field then shows the label the classifier wrote, if it wrote one, else none. Answers the field with its `data_sensitivity`.",
|
|
27
|
+
requires: ["field.setDataSensitivity"],
|
|
28
|
+
args: {
|
|
29
|
+
...outputFlags,
|
|
30
|
+
...profileFlag,
|
|
31
|
+
...connectionFlags,
|
|
32
|
+
id: {
|
|
33
|
+
type: "positional",
|
|
34
|
+
description: "Field id",
|
|
35
|
+
required: true
|
|
36
|
+
},
|
|
37
|
+
label: {
|
|
38
|
+
type: "positional",
|
|
39
|
+
description: `Sensitivity label (${SensitivityArg.options.join(" | ")})`,
|
|
40
|
+
required: true
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
outputSchema: FieldWithDataSensitivity,
|
|
44
|
+
examples: [
|
|
45
|
+
"mb field set-sensitivity 100 PII",
|
|
46
|
+
"mb field set-sensitivity 100 none",
|
|
47
|
+
"mb field set-sensitivity 100 PHI --json"
|
|
48
|
+
],
|
|
49
|
+
async run({ args, ctx, getClient }) {
|
|
50
|
+
const id = parseId(args.id);
|
|
51
|
+
const sensitivity = parseSensitivity(args.label);
|
|
52
|
+
const field = await (await getClient()).field.setDataSensitivity(id, { data_sensitivity: sensitivity });
|
|
53
|
+
renderSummary(field, fieldWithDataSensitivityView, summarize(field, sensitivity), ctx);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//#endregion
|
|
57
|
+
export { set_sensitivity_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
|
|
2
2
|
//#region src/commands/setting/index.ts
|
|
3
3
|
var setting_default = defineCommandGroup({
|
|
4
4
|
name: "setting",
|
|
@@ -8,9 +8,9 @@ var setting_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "setting get/set JSON value quoting"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
list: () => import("./list-
|
|
12
|
-
get: () => import("./get-
|
|
13
|
-
set: () => import("./set-
|
|
11
|
+
list: () => import("./list-DUcnAb1h.mjs").then((m) => m.default),
|
|
12
|
+
get: () => import("./get-D_v1IAL1.mjs").then((m) => m.default),
|
|
13
|
+
set: () => import("./set-BDkT37OT.mjs").then((m) => m.default)
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
//#endregion
|