@metabase/cli 0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-collection-B_-eMU_k.mjs → add-collection-CC6KSwjX.mjs} +5 -5
- package/dist/{alert-Dalin_DD.mjs → alert-Dt6La9tK.mjs} +7 -7
- package/dist/{alerts-DpBgrjPI.mjs → alerts-ClKnJqgB.mjs} +6 -6
- package/dist/{append-C1JNVALm.mjs → append-pnaQWP_A.mjs} +4 -4
- package/dist/{archive-B51prFgS.mjs → archive-By1pLYtO.mjs} +3 -3
- package/dist/{archive-CwITzj_j.mjs → archive-CLu2TGW5.mjs} +5 -5
- package/dist/{archive-52ZHbFDm2.mjs → archive-COP9joWU.mjs} +4 -4
- package/dist/{archive-cAdUa1-2.mjs → archive-CSnBFcQ_.mjs} +3 -3
- package/dist/{archive-DA3OiLEE.mjs → archive-Ct1eyolN.mjs} +3 -3
- package/dist/{archive-CdKf_Eqq.mjs → archive-D7nAQcCz.mjs} +3 -3
- package/dist/{archive-CISXgZAI.mjs → archive-DEDA48w3.mjs} +5 -5
- package/dist/{archive-DVHxeDKS.mjs → archive-DJAsSzCz.mjs} +5 -5
- package/dist/{archive-BkITQyWW.mjs → archive-DtabbPUk.mjs} +4 -4
- package/dist/{archive-DckxlWBt.mjs → archive-YNpa8daf.mjs} +3 -3
- package/dist/{archive-CicPYX27.mjs → archive-ewitrKdx.mjs} +5 -5
- package/dist/{auth-A96JOCQx.mjs → auth-DdLhXCn-.mjs} +5 -5
- package/dist/body-Dd-TwYYL.mjs +17 -0
- package/dist/branch-flag-pFQPNYKr.mjs +9 -0
- package/dist/{branches-CbcwWYL9.mjs → branches-ZvGNhed6.mjs} +3 -3
- package/dist/breaking-BLswgvkA.mjs +36 -0
- package/dist/broken-BN0nL2hf.mjs +37 -0
- package/dist/bulk-discard-values-DFJUjSnE.mjs +49 -0
- package/dist/bulk-edit-Brqr67bu.mjs +53 -0
- package/dist/bulk-rescan-values-DndXXi2N.mjs +28 -0
- package/dist/bulk-sync-schema-mO-t2QlL.mjs +28 -0
- package/dist/{cancel-DpDcVY7M.mjs → cancel-DP03dXBf.mjs} +3 -3
- package/dist/{cancel-task-B4RDvIYb.mjs → cancel-task-CELBfBPP.mjs} +4 -4
- package/dist/{card-voh1k4hl.mjs → card-Bv4ZN0oV.mjs} +5 -3
- package/dist/card-CFd-GUEM.mjs +25 -0
- package/dist/{card-CEkp1mcI.mjs → card-DSrgU7lT.mjs} +1 -1
- package/dist/{cards-BC0JX8Yg.mjs → cards-Cn2ywFTJ.mjs} +6 -6
- package/dist/cli.mjs +410 -111
- package/dist/{client-ClL6gf7G.mjs → client-ToLiPu9q.mjs} +785 -316
- package/dist/{collection-DYM0p3Xl.mjs → collection-BG3Ksea-.mjs} +1 -1
- package/dist/collection-BKNShKcY.mjs +21 -0
- package/dist/{collection-BxdPxD38.mjs → collection-D3KXhvnc.mjs} +7 -5
- package/dist/{collection-namespace-Dv0l-V9K.mjs → collection-namespace-CWW6hZxK.mjs} +2 -2
- package/dist/{content-translation-BXIXL4eW.mjs → content-translation-C19SqZWp.mjs} +3 -3
- package/dist/copy-BGK8Wz6d.mjs +55 -0
- package/dist/copy-COLUuiuF.mjs +36 -0
- package/dist/copy-flags-eU8aa0zj.mjs +32 -0
- package/dist/{create-BbjSOTN-.mjs → create-B2tuInV9.mjs} +4 -4
- package/dist/{create-Za1EskpV.mjs → create-B3TKri1E.mjs} +4 -4
- package/dist/{create--fiwuTWc.mjs → create-B4gXKDRr.mjs} +3 -3
- package/dist/create-B63JphYe.mjs +34 -0
- package/dist/{create-NCKHHdov.mjs → create-BH6kLjHS.mjs} +4 -4
- package/dist/{create-Dhai9zAt.mjs → create-BwifyhyL.mjs} +3 -3
- package/dist/{create-DWFJdyIr.mjs → create-Colz5bOO.mjs} +3 -3
- package/dist/{create-BcsVwXgS2.mjs → create-CulUZgN1.mjs} +4 -4
- package/dist/{create-D--Z1S3p2.mjs → create-Cxuqr3kT.mjs} +6 -6
- package/dist/{create-Bryrkb9g.mjs → create-CzW_UTE7.mjs} +6 -6
- package/dist/{create-kZIIEN2Y.mjs → create-DNR8RMvV.mjs} +6 -6
- package/dist/{create-DmN2gFc4.mjs → create-DSHeoV7e.mjs} +4 -4
- package/dist/{create-BVNhtAgF.mjs → create-DWbW2WSc.mjs} +6 -6
- package/dist/{create-CHr8MPPq.mjs → create-Dx8nfjGs.mjs} +3 -3
- package/dist/{create-B9qXQ_wV.mjs → create-XGomrTz5.mjs} +5 -5
- package/dist/{create-branch-CseVn3lp.mjs → create-branch-DxL7KUZp.mjs} +4 -4
- package/dist/{create-YetX69Re.mjs → create-g1f2yJ4s.mjs} +3 -3
- package/dist/{csv-DNzesu8y.mjs → csv-C6TEfLMi.mjs} +4 -4
- package/dist/{current-task-DRTKZcP9.mjs → current-task-CHs0zNFM.mjs} +4 -4
- package/dist/dashboard-AWrXqQ7a.mjs +35 -0
- package/dist/{dashboard-D0hwTC-f.mjs → dashboard-Phz3XpRM.mjs} +2 -1
- package/dist/{dashboard-DgK81azj.mjs → dashboard-XSTr9QCr.mjs} +6 -2
- package/dist/database-D-CRyRIv.mjs +45 -0
- package/dist/{database-C3E9PZSx.mjs → database-MlUPpitM.mjs} +1 -1
- package/dist/dataset-p5oNPQgL.mjs +66 -0
- package/dist/{db-BDijt81U.mjs → db-BFSeETMO.mjs} +7 -7
- package/dist/{delete-Dc8E5YwZ.mjs → delete-BUKgSJhh.mjs} +4 -4
- package/dist/{delete-BxjJ66BS.mjs → delete-CPBByycV.mjs} +4 -4
- package/dist/{delete-wFsy80db.mjs → delete-Cucqn4-V.mjs} +4 -4
- package/dist/{delete--15it-A8.mjs → delete-D79TlpcE.mjs} +4 -4
- package/dist/delete-DZJxBmdU.mjs +44 -0
- package/dist/{delete-BudvZkvK.mjs → delete-DndykJn2.mjs} +4 -4
- package/dist/delete-runtime-BbmRg_in.mjs +55 -0
- package/dist/{delete-table-5AQpn8OB.mjs → delete-table-CbsWcjh5.mjs} +4 -4
- package/dist/{dependencies-C1ogC3BV.mjs → dependencies-B-880phi.mjs} +5 -5
- package/dist/dependency-DBUJwXqv.mjs +15 -0
- package/dist/dependency-DKSjKT8P.mjs +165 -0
- package/dist/dependency-DSxKm9oS.mjs +111 -0
- package/dist/dependents-C_FDnpZs.mjs +52 -0
- package/dist/{dirty-CSLDYO-K.mjs → dirty-B-Is68--.mjs} +5 -5
- package/dist/discard-values-yzH-kIsr.mjs +55 -0
- package/dist/document-BRaba87v.mjs +20 -0
- package/dist/{document-CA0Q6lqu.mjs → document-C18b5rM6.mjs} +1 -1
- package/dist/{document-BHpLJbKU.mjs → document-DFCj1Az_.mjs} +2 -1
- package/dist/{download-Ddap1OAo.mjs → download-DluF-vnU.mjs} +2 -2
- package/dist/{eid-HnrWhPoe.mjs → eid-Dz-mP40j.mjs} +11 -10
- package/dist/entity-CA4zfRt4.mjs +20 -0
- package/dist/entry-flags-7x7bIyOQ.mjs +42 -0
- package/dist/{events-CXqetjcS.mjs → events-2sOk6H09.mjs} +4 -4
- package/dist/export-BKkAJOFb.mjs +74 -0
- package/dist/export-flags-NiZ7C3Gm.mjs +81 -0
- package/dist/export-preflight-CwJ_3-iX.mjs +35 -0
- package/dist/{field-CcN4oZy6.mjs → field-5nivEfd6.mjs} +33 -3
- package/dist/field-BARgq5I9.mjs +21 -0
- package/dist/field-wmN6raOG.mjs +128 -0
- package/dist/{fields-DxHxuxwO.mjs → fields-Bod0s_uV.mjs} +6 -6
- package/dist/filter-flags-BYcbB85j.mjs +71 -0
- package/dist/fks-IUw66K_Q.mjs +36 -0
- package/dist/{get-eJilYnHk.mjs → get-B8DUMrCw.mjs} +5 -5
- package/dist/{get-C3cuZNeW.mjs → get-BGqvoGQM.mjs} +3 -3
- package/dist/{get-DmKtPNOy.mjs → get-BSUsfysk.mjs} +3 -3
- package/dist/{get-DW7mCaGe.mjs → get-BXsLkoit.mjs} +5 -5
- package/dist/{get-Dtre5jzh.mjs → get-BXssHyJ1.mjs} +5 -5
- package/dist/get-Bct52yPw.mjs +36 -0
- package/dist/{get-BiPclcIP.mjs → get-Besqwy32.mjs} +3 -3
- package/dist/{get-BcoJ9Aha.mjs → get-BfSX-OeS.mjs} +3 -3
- package/dist/{get-BF2vdF3W.mjs → get-Biy4gOzu2.mjs} +3 -3
- package/dist/{get-C_tdSMwW2.mjs → get-CYIeiTZ9.mjs} +4 -4
- package/dist/{get-b0CoPz5B.mjs → get-CaEiQnSw.mjs} +4 -4
- package/dist/{get-CxUQyhte.mjs → get-Cl81y0Md.mjs} +5 -5
- package/dist/{get-B2pj2q3X.mjs → get-D1NjMXAH.mjs} +4 -4
- package/dist/{get-D_x-ENFe.mjs → get-D2cPuOPR.mjs} +5 -5
- package/dist/{get-DjlQhgD4.mjs → get-DITlshJH.mjs} +3 -3
- package/dist/{get-CE9_4Q7E.mjs → get-DLyg6Al9.mjs} +3 -3
- package/dist/{get-CDnmpfHQ.mjs → get-DQZfaVNq.mjs} +4 -4
- package/dist/{get-BGLvyOO3.mjs → get-DtBqoGTa.mjs} +5 -5
- package/dist/{get-H6kInHIx.mjs → get-_ik_5_lQ.mjs} +5 -5
- package/dist/{get-run-BE1HtJDW.mjs → get-run-CEc_tr5b.mjs} +4 -4
- package/dist/{git-sync-BwBRmEhE.mjs → git-sync-COokpYgc.mjs} +12 -3
- package/dist/git-sync-DKcaddkV.mjs +29 -0
- package/dist/git-sync-DspFahwV.mjs +165 -0
- package/dist/glossary-BlNCrYbw.mjs +30 -0
- package/dist/glossary-CWIX8Zh6.mjs +14 -0
- package/dist/glossary-LmZWwCNP.mjs +21 -0
- package/dist/graph-f6Bp1e8U.mjs +34 -0
- package/dist/{group-YQQ5GIcP.mjs → group-bpD_KcjA.mjs} +1 -1
- package/dist/{has-remote-changes-Cj1KhBOT.mjs → has-remote-changes-B8MmN6yh.mjs} +4 -4
- package/dist/{import-DLb9VN4l.mjs → import-Bhq15KgP.mjs} +19 -8
- package/dist/{input-D5tQEfqN.mjs → input-D8qW-KtR.mjs} +6 -2
- package/dist/{is-dirty-BxtgV2xF.mjs → is-dirty-CAsVuVx8.mjs} +2 -2
- package/dist/{items-DLUYc5-z.mjs → items-BZJomiDE.mjs} +8 -8
- package/dist/{key-PYetuQ13.mjs → key-BynJSK9u.mjs} +1 -1
- package/dist/{library-BNSxXOpc.mjs → library-B7wDH-Nc.mjs} +5 -5
- package/dist/{library-PGCfm0UA.mjs → library-BOv5SY24.mjs} +1 -1
- package/dist/{library-BPIzb3K_.mjs → library-Ck0EK5bi.mjs} +4 -2
- package/dist/{list-BUz6KOfw.mjs → list-B2uUl26x.mjs} +6 -6
- package/dist/{list-CERbeLbQ.mjs → list-B4luDSYj.mjs} +6 -6
- package/dist/{list-jhQSgh6i.mjs → list-B8ND9t2h.mjs} +3 -3
- package/dist/{list-M8J10Ozk.mjs → list-BT5t8ZOl.mjs} +4 -4
- package/dist/{list-Dat8QNcf.mjs → list-BT7xiUQe.mjs} +3 -3
- package/dist/{list-cIMww2Me.mjs → list-BWFCv_zk.mjs} +5 -5
- package/dist/{list-B1soS8QW.mjs → list-BtZVe1Nq.mjs} +6 -6
- package/dist/{list-C5mS_ehX.mjs → list-BwdSG-P5.mjs} +5 -5
- package/dist/{list-BQnOEB3W.mjs → list-C-A-2HFq.mjs} +3 -3
- package/dist/list-C9x--9Jq.mjs +101 -0
- package/dist/{list-CX9qZ-bx.mjs → list-CCdXig7b.mjs} +4 -4
- package/dist/{list-Sd7jGZoX.mjs → list-CJDFoOHb.mjs} +3 -3
- package/dist/{list-CzRzCbCY.mjs → list-CLFu3mQB.mjs} +3 -3
- package/dist/{list-CBLxhaNZ.mjs → list-Cd40Kr0R.mjs} +3 -3
- package/dist/{list-COLpwXW4.mjs → list-Cj_mTxbY.mjs} +4 -4
- package/dist/{list-CQbiSx26.mjs → list-CtS50R7m.mjs} +5 -5
- package/dist/{list-CehE6KBV.mjs → list-CvZyTwmV.mjs} +5 -5
- package/dist/list-DcnNlYQA.mjs +35 -0
- package/dist/{list-BcP1DTJH.mjs → list-DtgbtE3_.mjs} +3 -3
- package/dist/{login-BfLqBfCd.mjs → login-Bi_nGMJ9.mjs} +6 -6
- package/dist/{logout-BpRXB3Ze.mjs → logout-CiHQJWTu.mjs} +2 -2
- package/dist/{measure-Ds8O5Evr.mjs → measure-D2qq5e8f.mjs} +6 -6
- package/dist/moderation-review-BdqEH6N1.mjs +31 -0
- package/dist/{notification-DVrLkjFT.mjs → notification-DOYdl0ao.mjs} +1 -1
- package/dist/{parameter-values-DhrkLXoN.mjs → parameter-values-CZow98nb.mjs} +3 -3
- package/dist/{parse-enum-Dc0dMZ3P.mjs → parse-enum-CLIXMsd8.mjs} +1 -1
- package/dist/parse-id-BW09NysN.mjs +13 -0
- package/dist/{parse-ref-DTDld_LJ.mjs → parse-ref-Cw5fa4FI.mjs} +1 -1
- package/dist/parse-text-T0lTXzTZ.mjs +11 -0
- package/dist/{path-_GHFrTLx.mjs → path-K6LPLYPb.mjs} +4 -4
- package/dist/{poll-KLl4Eq8Y.mjs → poll-Dz4tUm2f.mjs} +2 -2
- package/dist/{preflight-BpYtF0IU.mjs → preflight-CX6cqB90.mjs} +3 -3
- package/dist/{process-CLtOWKBn.mjs → process-D0HdqZ3r.mjs} +1 -1
- package/dist/{publish-D-7Zlmuk.mjs → publish-COatW4Un.mjs} +4 -4
- package/dist/{pulse-x0gFxWfG.mjs → pulse-D1uh8UIU.mjs} +1 -1
- package/dist/query-BJXTIDhy.mjs +328 -0
- package/dist/{query-B1CZztxs.mjs → query-DmvkyDfo.mjs} +14 -33
- package/dist/remapping-CPAvDKHV.mjs +53 -0
- package/dist/{remove-collection-C4saCFxz.mjs → remove-collection-Bg-sNX3U.mjs} +5 -5
- package/dist/{render-6O_eF-P1.mjs → render-BSfDD6ip.mjs} +2 -2
- package/dist/{replace-BuR4f2Ai.mjs → replace-RCHeZLUT.mjs} +4 -4
- package/dist/{rescan-values-CNOiiWQ5.mjs → rescan-values-CpDGYZvf.mjs} +5 -5
- package/dist/rescan-values-PeMnpaFY.mjs +32 -0
- package/dist/{run-DijA_BXt.mjs → run-CaQ7kubO.mjs} +3 -3
- package/dist/{run-QEUbWNm7.mjs → run-DkRkZRgf.mjs} +7 -7
- package/dist/{runs-BSlhVeDO.mjs → runs-BDjoVJ0P.mjs} +5 -5
- package/dist/{runtime-Dtb93zKy.mjs → runtime-CZ5zh32z.mjs} +21 -82
- package/dist/{schema-tables-BE3rEb6I.mjs → schema-tables-C2qjLcPq.mjs} +6 -6
- package/dist/{schemas-yDjBiwlH.mjs → schemas-D8hfNduk.mjs} +4 -4
- package/dist/search-BrQQuNmh.mjs +131 -0
- package/dist/search-CnTXKJgx.mjs +85 -0
- package/dist/{segment-Cm6zQjJW.mjs → segment-Bi6eqj3e.mjs} +6 -6
- package/dist/{send-kC8oerkT.mjs → send-CAjgVNlA.mjs} +3 -3
- package/dist/{set-tFhPkxrL.mjs → set-BXTkYWid.mjs} +4 -4
- package/dist/{set-active-lDKhAlij.mjs → set-active-CBQVCePU.mjs} +3 -3
- package/dist/set-sensitivity-D39kGTob.mjs +57 -0
- package/dist/{setting-DrJXCaFE.mjs → setting-CPkvkc4H.mjs} +4 -4
- package/dist/{setup-BWY9M0iR.mjs → setup-Be3xDXHi.mjs} +3 -3
- package/dist/{signal-Csom0mt5.mjs → signal-CxWeLszu.mjs} +1 -1
- package/dist/{skill-list-CCes8pKe.mjs → skill-list-CBGq30sI.mjs} +2 -2
- package/dist/{skills-DE9ej5Rg.mjs → skills-CJ9eXouJ.mjs} +2 -2
- package/dist/{skills-DPRN2384.mjs → skills-DyiLycMY.mjs} +3 -3
- package/dist/snippet-QirK70R_.mjs +19 -0
- package/dist/{stash-C9oDvQ9P.mjs → stash-BVN3s5N_.mjs} +6 -6
- package/dist/{status-CkpujA26.mjs → status-BtbMmIWo.mjs} +7 -7
- package/dist/{status-DSdXmNC3.mjs → status-CxP6w3aL.mjs} +3 -3
- package/dist/{subscription-DKOKoHRG.mjs → subscription-Dr-YHARg.mjs} +6 -6
- package/dist/{subscriptions-C5SyJL4B.mjs → subscriptions-8tM8TTeQ.mjs} +6 -6
- package/dist/{summary-DTPgXsc0.mjs → summary-DKx6ptQe.mjs} +5 -5
- package/dist/sync-schema-B8RY0Ra4.mjs +32 -0
- package/dist/{sync-schema-DKKkNSR7.mjs → sync-schema-kNriXZjG.mjs} +6 -6
- package/dist/sync-task-CXFoqlpF.mjs +53 -0
- package/dist/table-CZnT6d9x.mjs +26 -0
- package/dist/{table-DfuY0N8e.mjs → table-Ci6bhZkb.mjs} +35 -12
- package/dist/table-CxvaDiIZ.mjs +155 -0
- package/dist/table-selector-flags-1bYkAKld.mjs +42 -0
- package/dist/text-DaNkPRwt.mjs +6 -0
- package/dist/timeline-CUzx6uXi.mjs +21 -0
- package/dist/{timeline-event-n4Lzet7l.mjs → timeline-event-DpNm4dkn.mjs} +6 -6
- package/dist/{transform-CtqB1WYo.mjs → transform-CNBIV7No.mjs} +1 -1
- package/dist/transform-g4-HHzDp.mjs +28 -0
- package/dist/transform-job-DqBtnTrG.mjs +22 -0
- package/dist/{transform-tag-D6NXqWaX.mjs → transform-tag-nTb0Ivpj.mjs} +5 -5
- package/dist/{transforms-O4NtXqFz.mjs → transforms-BSsAfwAg.mjs} +5 -5
- package/dist/tree-lMvw1jnZ.mjs +34 -0
- package/dist/{unpublish-DvWefKJi.mjs → unpublish-CYFDd828.mjs} +3 -3
- package/dist/unreferenced-8Xdq76Kw.mjs +36 -0
- package/dist/{update-AJ2JmwDl.mjs → update-6P_GYCLT.mjs} +5 -5
- package/dist/{update-76nzOc71.mjs → update-B28EJzrx.mjs} +13 -8
- package/dist/{update-To6A1Ugu.mjs → update-BDunZa7G.mjs} +4 -4
- package/dist/{update-2KIpYgyj.mjs → update-BT2yNB_g.mjs} +6 -6
- package/dist/{update-DmgRIp7o.mjs → update-BnMUSFYZ.mjs} +4 -4
- package/dist/update-BwrYeKso.mjs +41 -0
- package/dist/{update-DOdcflLH.mjs → update-C7DEMiu-.mjs} +7 -7
- package/dist/{update-CGJvIS-l.mjs → update-CITzAFG8.mjs} +4 -4
- package/dist/update-CLl8tE20.mjs +181 -0
- package/dist/{update-BB6Go_RX.mjs → update-CM5uuhjB.mjs} +4 -4
- package/dist/{update-xEegxIyH.mjs → update-CQXcsvaa.mjs} +5 -5
- package/dist/{update-DV54H3L5.mjs → update-Cs2zv_L2.mjs} +7 -7
- package/dist/{update-Bah7N8QX.mjs → update-D--Fw7-_.mjs} +5 -5
- package/dist/{update-H_fdjugs.mjs → update-D9p0N8ky.mjs} +4 -4
- package/dist/{update-7oKvP1HC.mjs → update-DAzRx0of.mjs} +5 -5
- package/dist/{update-DXmZuJho.mjs → update-D_DCOOAB.mjs} +6 -6
- package/dist/{update-D7dG7H-z.mjs → update-_sYM1GuU.mjs} +7 -7
- package/dist/{update-dashcard-DjT5QOkL.mjs → update-dashcard-VNnIqHDI.mjs} +6 -6
- package/dist/{upgrade-CuJx9fX4.mjs → upgrade-Tj_reACv.mjs} +4 -4
- package/dist/upload-BKxOpSz3.mjs +13 -0
- package/dist/{upload-DOO94rCQ.mjs → upload-C2fhpKkP.mjs} +2 -2
- package/dist/{upload-CboARPZm.mjs → upload-Dg91ldGg.mjs} +3 -3
- package/dist/{uuid-InwZlrpQ.mjs → uuid-Blpv_e0S.mjs} +2 -2
- package/dist/{validate-D6-Vg_kn.mjs → validate-D7e110oU.mjs} +1 -1
- package/dist/{validate-query-B90KYPQr.mjs → validate-query-C7LuKiUT.mjs} +2 -2
- package/dist/{values-CsZLk1Ls.mjs → values-PonkbYAK.mjs} +5 -5
- package/dist/verify-DixUBbd2.mjs +38 -0
- package/dist/verify-Dv7ER11c.mjs +38 -0
- package/dist/{verify-DrGjZwBM.mjs → verify-Mpb65a5v.mjs} +3 -3
- package/dist/verify-flags-CMpRkMPa.mjs +58 -0
- package/dist/{wait-BmzdarP9.mjs → wait-CaH6XHQV.mjs} +6 -6
- package/dist/{wait-flags-CiJGrTCT.mjs → wait-flags-rUU4NUrv.mjs} +2 -2
- package/dist/{window-DSb1tqSe.mjs → window-CI_QD04s.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +24 -23
- package/skill-data/dashboard/SKILL.md +1 -1
- package/skill-data/document/SKILL.md +12 -1
- package/skill-data/git-sync/SKILL.md +61 -9
- package/skill-data/mbql/SKILL.md +5 -0
- package/skill-data/metadata/SKILL.md +36 -6
- package/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
package/dist/list-Cuhf2lKL.mjs
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { B as listFlags, G as listEnvelopeSchema, H as outputFlags, U as profileFlag, d as renderList, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
|
|
4
|
-
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
5
|
-
import { n as TransformTestCompact } from "./transform-test-BjjCQ2xm.mjs";
|
|
6
|
-
import { t as transformTestView } from "./transform-test-gzDcbypy.mjs";
|
|
7
|
-
//#region src/commands/transform-test/list.ts
|
|
8
|
-
const TransformTestListEnvelope = listEnvelopeSchema(TransformTestCompact);
|
|
9
|
-
var list_default = defineMetabaseCommand({
|
|
10
|
-
meta: {
|
|
11
|
-
name: "list",
|
|
12
|
-
description: "List transform tests"
|
|
13
|
-
},
|
|
14
|
-
requires: ["transformTest.list"],
|
|
15
|
-
args: {
|
|
16
|
-
...outputFlags,
|
|
17
|
-
...listFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags,
|
|
20
|
-
transform: {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "Only the tests of this transform id"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
outputSchema: TransformTestListEnvelope,
|
|
26
|
-
examples: ["mb transform-test list", "mb transform-test list --transform 1 --json"],
|
|
27
|
-
async run({ args, ctx, getClient }) {
|
|
28
|
-
const client = await getClient();
|
|
29
|
-
const transformId = args.transform === void 0 ? void 0 : parseId(args.transform);
|
|
30
|
-
const { data } = await client.transformTest.list({ "transform-id": transformId });
|
|
31
|
-
renderList(windowList(data, ctx.range), transformTestView, ctx);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
//#endregion
|
|
35
|
-
export { list_default as default };
|
package/dist/list-D-SyhKFw.mjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { B as listFlags, G as listEnvelopeSchema, H as outputFlags, U as profileFlag, d as renderList, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
|
|
4
|
-
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
5
|
-
import { n as TableCompact } from "./table-DfuY0N8e.mjs";
|
|
6
|
-
import { t as tableView } from "./table-C6h4tIRw.mjs";
|
|
7
|
-
//#region src/commands/table/list.ts
|
|
8
|
-
const TableListEnvelope = listEnvelopeSchema(TableCompact);
|
|
9
|
-
var list_default = defineMetabaseCommand({
|
|
10
|
-
meta: {
|
|
11
|
-
name: "list",
|
|
12
|
-
description: "List tables (optionally filtered by database)"
|
|
13
|
-
},
|
|
14
|
-
requires: ["table.list"],
|
|
15
|
-
args: {
|
|
16
|
-
...outputFlags,
|
|
17
|
-
...listFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags,
|
|
20
|
-
"db-id": {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "Filter by database id"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
outputSchema: TableListEnvelope,
|
|
26
|
-
examples: ["mb table list", "mb table list --db-id 1 --json"],
|
|
27
|
-
async run({ args, ctx, getClient }) {
|
|
28
|
-
const dbIdFilter = args["db-id"] === void 0 ? void 0 : parseId(args["db-id"], "db-id");
|
|
29
|
-
const { data } = await (await getClient()).table.list();
|
|
30
|
-
renderList(windowList(dbIdFilter === void 0 ? data : data.filter((row) => row.db_id === dbIdFilter), ctx.range), tableView, ctx);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
//#endregion
|
|
34
|
-
export { list_default as default };
|
package/dist/query-CxESKMve.mjs
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { H as outputFlags, Q as ConfigError, U as profileFlag, m as writeJson, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { L as HttpError, R as chainRequestFailure, t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
|
|
3
|
-
import { t as readBody } from "./body-CshgcV6U.mjs";
|
|
4
|
-
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
-
import { a as CardQueryResult, l as DatasetQuery } from "./card-voh1k4hl.mjs";
|
|
6
|
-
import { t as cardQueryView } from "./card-CEkp1mcI.mjs";
|
|
7
|
-
import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5, r as getQuerySchemaBundle, t as ValidationOutcome } from "./validate-D6-Vg_kn.mjs";
|
|
8
|
-
import { o as skipValidateFlag } from "./validate-query-B90KYPQr.mjs";
|
|
9
|
-
import { t as formatQueryResult } from "./query-result-E4Q-Gra6.mjs";
|
|
10
|
-
import { z } from "zod";
|
|
11
|
-
//#region src/commands/query.ts
|
|
12
|
-
const QueryBody = z.unknown().describe("The query body: {\"lib/type\": \"mbql/query\", database, stages}; full schema: mb query --print-schema");
|
|
13
|
-
const QueryDryRunOutcome = ValidationOutcome.extend({ sql: z.string().nullable().describe("The compiled native query; null when it did not compile") });
|
|
14
|
-
const QueryOutput = z.union([CardQueryResult, QueryDryRunOutcome]);
|
|
15
|
-
const COMPILE_REJECTION_STATUSES = /* @__PURE__ */ new Set([400, 500]);
|
|
16
|
-
const FORBIDDEN_STATUS = 403;
|
|
17
|
-
const WHOLE_QUERY_POINTER = "";
|
|
18
|
-
var query_default = defineMetabaseCommand({
|
|
19
|
-
meta: {
|
|
20
|
-
name: "query",
|
|
21
|
-
description: "Run an ad-hoc MBQL or native query"
|
|
22
|
-
},
|
|
23
|
-
details: "Reads a JSON query body from --body, --file, or stdin and runs it. MBQL 5 is Metabase's structured query format, shaped {\"lib/type\": \"mbql/query\", \"database\": <database id>, \"stages\": [{\"lib/type\": \"mbql.stage/mbql\", \"source-table\": <table id>, \"aggregation\": [[\"count\", {}]]}]} with ids from `mb database list` and `mb table list`; it is checked against a bundled JSON Schema before sending, and --print-schema prints that schema. --dry-run checks the body without running it: the local schema check, then the server compiles it to native SQL without touching the warehouse. It prints {ok, errors:[{path, message}], sql} and exits 0 when the query compiled, 2 when either check rejected it. Legacy MBQL 4 and legacy native bodies skip the local check.",
|
|
24
|
-
skills: [{
|
|
25
|
-
skill: "mbql",
|
|
26
|
-
purpose: "body shape, clause rules, and the dry-run loop"
|
|
27
|
-
}],
|
|
28
|
-
requires: ["dataset.native", "dataset.query"],
|
|
29
|
-
args: {
|
|
30
|
-
...outputFlags,
|
|
31
|
-
...profileFlag,
|
|
32
|
-
...connectionFlags,
|
|
33
|
-
...bodyInputFlags,
|
|
34
|
-
"dry-run": {
|
|
35
|
-
type: "boolean",
|
|
36
|
-
description: "Check the body and compile it on the server to native SQL without running it; prints {ok, errors, sql}"
|
|
37
|
-
},
|
|
38
|
-
"print-schema": {
|
|
39
|
-
type: "boolean",
|
|
40
|
-
description: "Emit the bundled MBQL 5 query JSON Schema and exit; no body required"
|
|
41
|
-
},
|
|
42
|
-
...skipValidateFlag
|
|
43
|
-
},
|
|
44
|
-
inputSchema: QueryBody,
|
|
45
|
-
outputSchema: QueryOutput,
|
|
46
|
-
examples: [
|
|
47
|
-
"mb query --print-schema",
|
|
48
|
-
"cat q.json | mb query --dry-run",
|
|
49
|
-
"mb query --file q.json",
|
|
50
|
-
"mb query --file q.json --skip-validate"
|
|
51
|
-
],
|
|
52
|
-
async run({ args, ctx, getClient }) {
|
|
53
|
-
if (args["print-schema"] === true) {
|
|
54
|
-
writeJson(getQuerySchemaBundle());
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const dryRun = args["dry-run"] === true;
|
|
58
|
-
const explicitSkip = args["skip-validate"] === true;
|
|
59
|
-
if (dryRun && explicitSkip) throw new ConfigError("--skip-validate cannot be combined with --dry-run");
|
|
60
|
-
const body = await readBody({
|
|
61
|
-
flag: args.body,
|
|
62
|
-
file: args.file
|
|
63
|
-
}, QueryBody);
|
|
64
|
-
if (!explicitSkip) assertNotLegacyEnvelopeWrappingMbql5(body, {
|
|
65
|
-
contextLabel: "query",
|
|
66
|
-
bodyNoun: "the body"
|
|
67
|
-
});
|
|
68
|
-
if (!explicitSkip && isMbql5Query(body)) {
|
|
69
|
-
const local = validateQuery(body);
|
|
70
|
-
if (!local.ok) {
|
|
71
|
-
writeJson(dryRun ? notCompiled(local) : local);
|
|
72
|
-
const hint = dryRun ? "" : " — pass --dry-run to check it without running";
|
|
73
|
-
throw new ConfigError(`validation failed: ${local.errors.length} error(s)${hint}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (dryRun) {
|
|
77
|
-
const query = DatasetQuery.parse(body);
|
|
78
|
-
const outcome = await (await getClient()).dataset.native(query).then(compiledOutcome, rejectedOutcome);
|
|
79
|
-
writeJson(outcome);
|
|
80
|
-
if (!outcome.ok) throw new ConfigError(`server validation failed: ${outcome.errors.length} error(s)`);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
const queryResult = await (await getClient()).dataset.query(body);
|
|
84
|
-
renderSummary(queryResult, cardQueryView, () => formatQueryResult(queryResult), ctx);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
function notCompiled(local) {
|
|
88
|
-
return {
|
|
89
|
-
...local,
|
|
90
|
-
sql: null
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function compiledOutcome(compiled) {
|
|
94
|
-
return {
|
|
95
|
-
ok: true,
|
|
96
|
-
errors: [],
|
|
97
|
-
sql: typeof compiled.query === "string" ? compiled.query : JSON.stringify(compiled.query)
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
function rejectedOutcome(error) {
|
|
101
|
-
if (!(error instanceof HttpError)) throw error;
|
|
102
|
-
if (error.status === FORBIDDEN_STATUS) throw chainRequestFailure(error, `the compile check could not run because the server refused permission: ${error.message}`);
|
|
103
|
-
if (!COMPILE_REJECTION_STATUSES.has(error.status)) throw error;
|
|
104
|
-
return {
|
|
105
|
-
ok: false,
|
|
106
|
-
errors: [{
|
|
107
|
-
path: WHOLE_QUERY_POINTER,
|
|
108
|
-
message: error.message
|
|
109
|
-
}],
|
|
110
|
-
sql: null
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//#endregion
|
|
114
|
-
export { query_default as default };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { _ as formatScalar, v as renderRows } from "./cli.mjs";
|
|
2
|
-
//#region src/output/query-result.ts
|
|
3
|
-
function formatQueryResult(result) {
|
|
4
|
-
if (result.status !== "completed" || result.data === void 0) {
|
|
5
|
-
const detail = typeof result.error === "string" && result.error !== "" ? `: ${result.error}` : "";
|
|
6
|
-
return `Query ${result.status}${detail}`;
|
|
7
|
-
}
|
|
8
|
-
const head = result.data.cols.map((col) => col.display_name ?? col.name);
|
|
9
|
-
const rowCount = result.row_count ?? result.data.rows.length;
|
|
10
|
-
const summary = `${rowCount} row${rowCount === 1 ? "" : "s"}.`;
|
|
11
|
-
if (result.data.rows.length === 0) return summary;
|
|
12
|
-
return `${renderRows(head, result.data.rows.map((row) => Array.isArray(row) ? row.map((cell) => formatScalar(cell)) : [formatScalar(row)]))}\n${summary}`;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { formatQueryResult as t };
|
package/dist/run-FmRruANb.mjs
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { $ as FailedResultError, H as outputFlags, U as profileFlag, p as renderSummary, t as interruptSignal, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
|
|
4
|
-
import { t as DEFAULT_TIMEOUT_MS } from "./transport-CyVo29u7.mjs";
|
|
5
|
-
import { i as TransformTestRunResult } from "./transform-test-BjjCQ2xm.mjs";
|
|
6
|
-
//#region src/commands/transform-test/run.ts
|
|
7
|
-
const transformTestRunResultView = {
|
|
8
|
-
compactPick: TransformTestRunResult,
|
|
9
|
-
tableColumns: [{
|
|
10
|
-
key: "status",
|
|
11
|
-
label: "Status"
|
|
12
|
-
}]
|
|
13
|
-
};
|
|
14
|
-
function namesOf(expectations, status) {
|
|
15
|
-
return expectations.filter((expectation) => expectation.status === status).map((e) => e.name);
|
|
16
|
-
}
|
|
17
|
-
function summaryLine(id, result) {
|
|
18
|
-
if (result.status === "passed") return `Transform test ${id} passed ${result.expectations.length} expectation(s).`;
|
|
19
|
-
const failed = namesOf(result.expectations, "failed");
|
|
20
|
-
const errored = namesOf(result.expectations, "error");
|
|
21
|
-
const parts = [failed.length > 0 ? `failed: ${failed.join(", ")}` : null, errored.length > 0 ? `could not run: ${errored.join(", ")}` : null].filter((part) => part !== null);
|
|
22
|
-
return `Transform test ${id} ${result.status} — ${parts.join("; ")}.`;
|
|
23
|
-
}
|
|
24
|
-
var run_default = defineMetabaseCommand({
|
|
25
|
-
meta: {
|
|
26
|
-
name: "run",
|
|
27
|
-
description: "Run a transform test by id"
|
|
28
|
-
},
|
|
29
|
-
details: "Runs the transform against temp tables built from the test's inputs, checks every expectation against its output, and drops the temp tables. The transform and the expectations read only those temp tables; a `format: \"sql\"` input runs verbatim against the transform's source database. The run is one synchronous request, so --timeout bounds the whole of it. --json reports what each expectation found, including the rows a comparison disagreed on. A test that does not pass exits 1.",
|
|
30
|
-
requires: ["transformTest.run"],
|
|
31
|
-
args: {
|
|
32
|
-
...outputFlags,
|
|
33
|
-
...profileFlag,
|
|
34
|
-
...connectionFlags,
|
|
35
|
-
timeout: {
|
|
36
|
-
type: "string",
|
|
37
|
-
description: "Request timeout in ms",
|
|
38
|
-
default: String(DEFAULT_TIMEOUT_MS)
|
|
39
|
-
},
|
|
40
|
-
id: {
|
|
41
|
-
type: "positional",
|
|
42
|
-
description: "Transform test id",
|
|
43
|
-
required: true
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
outputSchema: TransformTestRunResult,
|
|
47
|
-
examples: [
|
|
48
|
-
"mb transform-test run 1",
|
|
49
|
-
"mb transform-test run 1 --json",
|
|
50
|
-
"mb transform-test run 1 --timeout 300000"
|
|
51
|
-
],
|
|
52
|
-
async run({ args, ctx, getClient }) {
|
|
53
|
-
const id = parseId(args.id);
|
|
54
|
-
const timeoutMs = parseId(args.timeout, "timeout");
|
|
55
|
-
const result = await (await getClient()).transformTest.run(id, {
|
|
56
|
-
timeoutMs,
|
|
57
|
-
signal: interruptSignal
|
|
58
|
-
});
|
|
59
|
-
renderSummary(result, transformTestRunResultView, summaryLine(id, result), ctx);
|
|
60
|
-
if (result.status !== "passed") throw new FailedResultError(`transform test ${id} ${result.status}`);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
//#endregion
|
|
64
|
-
export { run_default as default };
|
package/dist/search-CR_xNArA.mjs
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { G as listEnvelopeSchema, H as outputFlags, U as profileFlag, V as listFlagsWithDefaultLimit, d as renderList, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { i as parseEnumCsv, t as defineMetabaseCommand } from "./runtime-Dtb93zKy.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
|
|
4
|
-
import { r as windowServerPage } from "./window-DSb1tqSe.mjs";
|
|
5
|
-
import { i as SearchResultCompact, n as SearchModel, t as SEARCH_MODELS } from "./search-BAXg-EJw.mjs";
|
|
6
|
-
//#region src/output/views/search.ts
|
|
7
|
-
const searchResultView = {
|
|
8
|
-
compactPick: SearchResultCompact,
|
|
9
|
-
tableColumns: [
|
|
10
|
-
{
|
|
11
|
-
key: "id",
|
|
12
|
-
label: "ID"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
key: "model",
|
|
16
|
-
label: "Model"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
key: "name",
|
|
20
|
-
label: "Name"
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
};
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region src/commands/search.ts
|
|
26
|
-
const DEFAULT_LIMIT = 20;
|
|
27
|
-
const SEARCH_MODELS_DESCRIPTION = `Comma-separated model filter: ${SEARCH_MODELS.join(",")}`;
|
|
28
|
-
const SearchListEnvelope = listEnvelopeSchema(SearchResultCompact);
|
|
29
|
-
var search_default = defineMetabaseCommand({
|
|
30
|
-
meta: {
|
|
31
|
-
name: "search",
|
|
32
|
-
description: "Search Metabase content (cards, dashboards, collections, …)"
|
|
33
|
-
},
|
|
34
|
-
details: "Ranks content against a query string. To simply enumerate a resource, prefer its `… list` verb.",
|
|
35
|
-
skills: [{
|
|
36
|
-
skill: "core",
|
|
37
|
-
purpose: "search vs. list"
|
|
38
|
-
}],
|
|
39
|
-
requires: ["search.query"],
|
|
40
|
-
args: {
|
|
41
|
-
...outputFlags,
|
|
42
|
-
...listFlagsWithDefaultLimit(DEFAULT_LIMIT),
|
|
43
|
-
...profileFlag,
|
|
44
|
-
...connectionFlags,
|
|
45
|
-
query: {
|
|
46
|
-
type: "positional",
|
|
47
|
-
description: "Search query string",
|
|
48
|
-
required: false
|
|
49
|
-
},
|
|
50
|
-
models: {
|
|
51
|
-
type: "string",
|
|
52
|
-
description: SEARCH_MODELS_DESCRIPTION,
|
|
53
|
-
alias: "m"
|
|
54
|
-
},
|
|
55
|
-
archived: {
|
|
56
|
-
type: "boolean",
|
|
57
|
-
description: "Search only archived items (instead of only active ones)",
|
|
58
|
-
default: false
|
|
59
|
-
},
|
|
60
|
-
"db-id": {
|
|
61
|
-
type: "string",
|
|
62
|
-
description: "Restrict to items on a given database id"
|
|
63
|
-
},
|
|
64
|
-
verified: {
|
|
65
|
-
type: "boolean",
|
|
66
|
-
description: "Only verified content"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
outputSchema: SearchListEnvelope,
|
|
70
|
-
examples: [
|
|
71
|
-
"mb search orders",
|
|
72
|
-
"mb search --models card,dashboard --limit 10 --json",
|
|
73
|
-
"mb search products --archived"
|
|
74
|
-
],
|
|
75
|
-
async run({ args, ctx, getClient }) {
|
|
76
|
-
const tableDbIdRaw = args["db-id"];
|
|
77
|
-
const tableDbId = tableDbIdRaw ? parseId(tableDbIdRaw, "--db-id") : void 0;
|
|
78
|
-
const models = parseEnumCsv(args.models, SearchModel, "--models");
|
|
79
|
-
const { data, total } = await (await getClient()).search.query({
|
|
80
|
-
q: nonEmpty(args.query),
|
|
81
|
-
models,
|
|
82
|
-
archived: args.archived ? true : void 0,
|
|
83
|
-
limit: ctx.range.limit,
|
|
84
|
-
offset: ctx.range.offset,
|
|
85
|
-
table_db_id: tableDbId,
|
|
86
|
-
verified: args.verified ? true : void 0
|
|
87
|
-
});
|
|
88
|
-
renderList(windowServerPage(data, total, ctx.range), searchResultView, ctx);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
function nonEmpty(value) {
|
|
92
|
-
if (typeof value !== "string") return;
|
|
93
|
-
const trimmed = value.trim();
|
|
94
|
-
return trimmed.length === 0 ? void 0 : trimmed;
|
|
95
|
-
}
|
|
96
|
-
//#endregion
|
|
97
|
-
export { search_default as default };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Q as ConfigError } from "./cli.mjs";
|
|
2
|
-
import { n as parseCsv } from "./runtime-Dtb93zKy.mjs";
|
|
3
|
-
import { t as parseId } from "./parse-id-DtM6q9HU.mjs";
|
|
4
|
-
//#region src/commands/library/selectors.ts
|
|
5
|
-
const tableSelectorFlags = {
|
|
6
|
-
"table-ids": {
|
|
7
|
-
type: "string",
|
|
8
|
-
description: "Comma-separated table ids"
|
|
9
|
-
},
|
|
10
|
-
"db-ids": {
|
|
11
|
-
type: "string",
|
|
12
|
-
description: "Comma-separated database ids"
|
|
13
|
-
},
|
|
14
|
-
schemas: {
|
|
15
|
-
type: "string",
|
|
16
|
-
description: "Comma-separated schema ids, each \"<db-id>:<schema>\" (e.g. 1:public)"
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
function parseIdList(value, name) {
|
|
20
|
-
if (value === void 0) return [];
|
|
21
|
-
return parseCsv(value).map((part) => parseId(part, name));
|
|
22
|
-
}
|
|
23
|
-
function parseTableSelectors(args) {
|
|
24
|
-
const tableIds = parseIdList(args["table-ids"], "table id");
|
|
25
|
-
const databaseIds = parseIdList(args["db-ids"], "database id");
|
|
26
|
-
const schemaNames = args.schemas === void 0 ? [] : parseCsv(args.schemas);
|
|
27
|
-
const selectors = {};
|
|
28
|
-
if (tableIds.length > 0) selectors.table_ids = tableIds;
|
|
29
|
-
if (databaseIds.length > 0) selectors.database_ids = databaseIds;
|
|
30
|
-
if (schemaNames.length > 0) selectors.schema_ids = schemaNames;
|
|
31
|
-
if (Object.keys(selectors).length === 0) throw new ConfigError("provide at least one selector: --table-ids, --db-ids, or --schemas");
|
|
32
|
-
return selectors;
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
export { tableSelectorFlags as n, parseTableSelectors as t };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-BcP1DTJH.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-BiPclcIP.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-Dhai9zAt.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-CGJvIS-l.mjs").then((mod) => mod.default),
|
|
15
|
-
archive: () => import("./archive-CdKf_Eqq.mjs").then((mod) => mod.default)
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
//#endregion
|
|
19
|
-
export { snippet_default as default };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { $ as FailedResultError } from "./cli.mjs";
|
|
2
|
-
import { f as isSyncTaskFailed, u as SyncTask } from "./git-sync-BwBRmEhE.mjs";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
//#region src/commands/git-sync/sync-task.ts
|
|
5
|
-
const SyncTaskIdle = z.object({ status: z.literal("idle") });
|
|
6
|
-
const SyncTaskOrIdle = z.union([SyncTask, SyncTaskIdle]);
|
|
7
|
-
const syncTaskIdleView = {
|
|
8
|
-
compactPick: SyncTaskIdle,
|
|
9
|
-
tableColumns: [{
|
|
10
|
-
key: "status",
|
|
11
|
-
label: "Status"
|
|
12
|
-
}]
|
|
13
|
-
};
|
|
14
|
-
function taskPollOptions(schedule) {
|
|
15
|
-
return {
|
|
16
|
-
...schedule,
|
|
17
|
-
backoff: "exponential"
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
function throwIfFailedTask(final, verb) {
|
|
21
|
-
if (final === null || !isSyncTaskFailed(final.status)) return;
|
|
22
|
-
const detail = final.error_message ? `: ${final.error_message}` : "";
|
|
23
|
-
throw new FailedResultError(`git-sync ${verb} ${final.status}${detail}`);
|
|
24
|
-
}
|
|
25
|
-
function formatSyncTask(task) {
|
|
26
|
-
const label = `${task.sync_task_type === "export" ? "Export" : "Import"} task #${task.id}`;
|
|
27
|
-
const detail = task.error_message ? `: ${task.error_message}` : "";
|
|
28
|
-
switch (task.status) {
|
|
29
|
-
case "running": return `${label} is running${task.progress === null ? "" : ` (${Math.round(task.progress * 100)}%)`}.`;
|
|
30
|
-
case "successful": return `${label} succeeded.`;
|
|
31
|
-
case "errored": return `${label} errored${detail}.`;
|
|
32
|
-
case "timed-out": return `${label} timed out${detail}.`;
|
|
33
|
-
case "conflict": return `${label} hit conflicts${detail}.`;
|
|
34
|
-
case "cancelled": return `${label} was cancelled.`;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { throwIfFailedTask as a, taskPollOptions as i, formatSyncTask as n, syncTaskIdleView as r, SyncTaskOrIdle as t };
|
package/dist/table-C6h4tIRw.mjs
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { n as TableCompact } from "./table-DfuY0N8e.mjs";
|
|
2
|
-
//#region src/output/views/table.ts
|
|
3
|
-
const tableView = {
|
|
4
|
-
compactPick: TableCompact,
|
|
5
|
-
tableColumns: [
|
|
6
|
-
{
|
|
7
|
-
key: "id",
|
|
8
|
-
label: "ID"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
key: "db_id",
|
|
12
|
-
label: "DB"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
key: "schema",
|
|
16
|
-
label: "Schema"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
key: "name",
|
|
20
|
-
label: "Name"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
key: "display_name",
|
|
24
|
-
label: "Display Name"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
key: "description",
|
|
28
|
-
label: "Description"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
key: "is_published",
|
|
32
|
-
label: "Published"
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
};
|
|
36
|
-
//#endregion
|
|
37
|
-
export { tableView as t };
|
package/dist/table-I8NXSdUC.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-D-SyhKFw.mjs").then((m) => m.default),
|
|
12
|
-
get: () => import("./get-D_x-ENFe.mjs").then((m) => m.default),
|
|
13
|
-
fields: () => import("./fields-DxHxuxwO.mjs").then((m) => m.default),
|
|
14
|
-
update: () => import("./update-DXmZuJho.mjs").then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
//#endregion
|
|
18
|
-
export { table_default as default };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-jhQSgh6i.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-C3cuZNeW.mjs").then((mod) => mod.default),
|
|
13
|
-
events: () => import("./events-CXqetjcS.mjs").then((mod) => mod.default),
|
|
14
|
-
create: () => import("./create-YetX69Re.mjs").then((mod) => mod.default),
|
|
15
|
-
update: () => import("./update-H_fdjugs.mjs").then((mod) => mod.default),
|
|
16
|
-
archive: () => import("./archive-cAdUa1-2.mjs").then((mod) => mod.default),
|
|
17
|
-
delete: () => import("./delete-wFsy80db.mjs").then((mod) => mod.default)
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
//#endregion
|
|
21
|
-
export { timeline_default as default };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.mjs";
|
|
2
|
-
//#region src/commands/transform/index.ts
|
|
3
|
-
var transform_default = defineCommandGroup({
|
|
4
|
-
name: "transform",
|
|
5
|
-
description: "Manage Metabase transforms",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "transform",
|
|
8
|
-
purpose: "body shape, run-with-wait, iterate"
|
|
9
|
-
}, {
|
|
10
|
-
skill: "mbql",
|
|
11
|
-
purpose: "MBQL source.query bodies"
|
|
12
|
-
}],
|
|
13
|
-
subCommands: {
|
|
14
|
-
list: () => import("./list-M8J10Ozk.mjs").then((mod) => mod.default),
|
|
15
|
-
get: () => import("./get-b0CoPz5B.mjs").then((mod) => mod.default),
|
|
16
|
-
dependencies: () => import("./dependencies-C1ogC3BV.mjs").then((mod) => mod.default),
|
|
17
|
-
create: () => import("./create-D--Z1S3p2.mjs").then((mod) => mod.default),
|
|
18
|
-
update: () => import("./update-DV54H3L5.mjs").then((mod) => mod.default),
|
|
19
|
-
delete: () => import("./delete-BxjJ66BS.mjs").then((mod) => mod.default),
|
|
20
|
-
"delete-table": () => import("./delete-table-5AQpn8OB.mjs").then((mod) => mod.default),
|
|
21
|
-
run: () => import("./run-QEUbWNm7.mjs").then((mod) => mod.default),
|
|
22
|
-
cancel: () => import("./cancel-DpDcVY7M.mjs").then((mod) => mod.default),
|
|
23
|
-
"get-run": () => import("./get-run-BE1HtJDW.mjs").then((mod) => mod.default),
|
|
24
|
-
runs: () => import("./runs-BSlhVeDO.mjs").then((mod) => mod.default)
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
//#endregion
|
|
28
|
-
export { transform_default as default };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-YQQ5GIcP.mjs";
|
|
2
|
-
//#region src/commands/transform-job/index.ts
|
|
3
|
-
var transform_job_default = defineCommandGroup({
|
|
4
|
-
name: "transform-job",
|
|
5
|
-
description: "Manage Metabase transform jobs",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "transform",
|
|
8
|
-
purpose: "tag-driven job schedules"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-CzRzCbCY.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-DjlQhgD4.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-CHr8MPPq.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-DmgRIp7o.mjs").then((mod) => mod.default),
|
|
15
|
-
delete: () => import("./delete-Dc8E5YwZ.mjs").then((mod) => mod.default),
|
|
16
|
-
run: () => import("./run-DijA_BXt.mjs").then((mod) => mod.default),
|
|
17
|
-
transforms: () => import("./transforms-O4NtXqFz.mjs").then((mod) => mod.default),
|
|
18
|
-
"set-active": () => import("./set-active-lDKhAlij.mjs").then((mod) => mod.default)
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
//#endregion
|
|
22
|
-
export { transform_job_default as default };
|