@metabase/cli 0.3.1 → 0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a
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-CYDUm_XO.mjs → add-collection-B_-eMU_k.mjs} +6 -9
- package/dist/{alert-ClyhtxIz.mjs → alert-Dalin_DD.mjs} +7 -7
- package/dist/{alerts-Dt3D1gcz.mjs → alerts-DpBgrjPI.mjs} +7 -7
- package/dist/{append-Bl_Ensmr.mjs → append-C1JNVALm.mjs} +5 -5
- package/dist/{archive-BOyKhNOz.mjs → archive-52ZHbFDm2.mjs} +6 -6
- package/dist/{archive-DiGxCojL.mjs → archive-B51prFgS.mjs} +4 -4
- package/dist/{archive-CWceyy8x.mjs → archive-BkITQyWW.mjs} +5 -5
- package/dist/{archive-BJZ7Dace.mjs → archive-CISXgZAI.mjs} +6 -6
- package/dist/{archive-D3a3Wgz0.mjs → archive-CdKf_Eqq.mjs} +4 -4
- package/dist/{archive-DVGDg8mP.mjs → archive-CicPYX27.mjs} +6 -6
- package/dist/{archive-CNblz55j.mjs → archive-CwITzj_j.mjs} +6 -6
- package/dist/{archive-DSMqHRr1.mjs → archive-DA3OiLEE.mjs} +4 -4
- package/dist/{archive-nKD3mOB8.mjs → archive-DVHxeDKS.mjs} +6 -6
- package/dist/{archive-BdHXQg4I.mjs → archive-DckxlWBt.mjs} +4 -4
- package/dist/{archive-DDru3vdy.mjs → archive-cAdUa1-2.mjs} +4 -4
- package/dist/{auth-aCksg8q2.mjs → auth-A96JOCQx.mjs} +5 -5
- package/dist/{body-DxRSAMNC.mjs → body-CshgcV6U.mjs} +3 -3
- package/dist/{branches-_0VWR2Zm.mjs → branches-CbcwWYL9.mjs} +4 -7
- package/dist/{cancel-ctpVE8uC.mjs → cancel-DpDcVY7M.mjs} +4 -4
- package/dist/{cancel-task-FtxBka-M.mjs → cancel-task-B4RDvIYb.mjs} +5 -8
- package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
- package/dist/card-CefVYtF7.mjs +24 -0
- package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
- package/dist/{cards-DHOWAvfv.mjs → cards-BC0JX8Yg.mjs} +7 -7
- package/dist/cli.mjs +582 -69
- package/dist/client-ClL6gf7G.mjs +3783 -0
- package/dist/collection-Be5AHVWP.mjs +20 -0
- package/dist/{collection-CfulNRBG.mjs → collection-BxdPxD38.mjs} +1 -1
- package/dist/{collection-CGoVLvcD.mjs → collection-DYM0p3Xl.mjs} +1 -1
- package/dist/{collection-namespace-CEoQ7G08.mjs → collection-namespace-Dv0l-V9K.mjs} +2 -2
- package/dist/{content-translation-DNKerjS3.mjs → content-translation-BXIXL4eW.mjs} +3 -3
- package/dist/{create-DmvoibX8.mjs → create--fiwuTWc.mjs} +4 -4
- package/dist/{create-CLG2-bso.mjs → create-B9qXQ_wV.mjs} +6 -6
- package/dist/{create-CEydRMWS.mjs → create-BVNhtAgF.mjs} +7 -7
- package/dist/{create-C9vy4ZG6.mjs → create-BbjSOTN-.mjs} +5 -5
- package/dist/{create-BdPVWYSi.mjs → create-BcsVwXgS2.mjs} +6 -6
- package/dist/{create-CcLchJAN.mjs → create-Bryrkb9g.mjs} +7 -7
- package/dist/{create-7ddYK4TA.mjs → create-CHr8MPPq.mjs} +6 -6
- package/dist/{create-DaYRnK5P.mjs → create-D--Z1S3p2.mjs} +8 -8
- package/dist/{create-F4Lf09xq.mjs → create-DWFJdyIr.mjs} +4 -4
- package/dist/{create-vlrlY-2E.mjs → create-Dhai9zAt.mjs} +4 -4
- package/dist/create-DiJ8bUb-.mjs +34 -0
- package/dist/{create-C78g8Crb.mjs → create-DmN2gFc4.mjs} +5 -5
- package/dist/{create-wJR4CxHA.mjs → create-NCKHHdov.mjs} +5 -8
- package/dist/{create-C3IaXXty.mjs → create-YetX69Re.mjs} +4 -4
- package/dist/{create-e650zxzX.mjs → create-Za1EskpV.mjs} +5 -5
- package/dist/{create-branch-B8C7jl-J.mjs → create-branch-CseVn3lp.mjs} +5 -9
- package/dist/{create-DIVhBIyE.mjs → create-kZIIEN2Y.mjs} +11 -7
- package/dist/{csv-BLPJtlSC.mjs → csv-DNzesu8y.mjs} +5 -5
- package/dist/{current-task-C-ldJbWE.mjs → current-task-DRTKZcP9.mjs} +5 -8
- package/dist/{dashboard-CtO_3EfC.mjs → dashboard-CMw13KXM.mjs} +10 -10
- package/dist/{dashboard-CKUR8ZpQ.mjs → dashboard-D0hwTC-f.mjs} +11 -2
- package/dist/{dashboard-BlbNszi8.mjs → dashboard-DgK81azj.mjs} +1 -1
- package/dist/{database-B19qlLKZ.mjs → database-C3E9PZSx.mjs} +1 -1
- package/dist/{database-C8G6ZKG0.mjs → database-JtHTqSpq.mjs} +1 -1
- package/dist/{db-xXselnBq.mjs → db-BDijt81U.mjs} +7 -7
- package/dist/{delete-BZZHw6pm.mjs → delete--15it-A8.mjs} +5 -5
- package/dist/delete-Bsdwqh7H.mjs +44 -0
- package/dist/{delete-ZJJyqsRh.mjs → delete-BudvZkvK.mjs} +5 -5
- package/dist/{delete-BwSPQy7m.mjs → delete-BxjJ66BS.mjs} +5 -5
- package/dist/{delete-BZwAOQxG.mjs → delete-Dc8E5YwZ.mjs} +5 -5
- package/dist/{delete-runtime-D74s6vhu.mjs → delete-runtime-BKEzJn22.mjs} +1 -2
- package/dist/{delete-table-CJktZE3w.mjs → delete-table-5AQpn8OB.mjs} +5 -5
- package/dist/{delete-D6WxgWRp.mjs → delete-wFsy80db.mjs} +5 -5
- package/dist/{dependencies-BdqIqEIy.mjs → dependencies-C1ogC3BV.mjs} +7 -7
- package/dist/{dirty-BW2As2wS.mjs → dirty-CSLDYO-K.mjs} +6 -9
- package/dist/document-BGzVip5_.mjs +19 -0
- package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
- package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
- package/dist/{download-mfFJ9oRS.mjs → download-Ddap1OAo.mjs} +3 -6
- package/dist/{eid-DZ-4t2xe.mjs → eid-HnrWhPoe.mjs} +4 -5
- package/dist/{events-D6yFmXP1.mjs → events-CXqetjcS.mjs} +5 -5
- package/dist/{export-DYZjz1WP.mjs → export-IFZdgYZ2.mjs} +7 -10
- package/dist/{field-BJ54wmIX.mjs → field-BJ6HoLRd.mjs} +5 -5
- package/dist/{field-Cr2DPUG9.mjs → field-CcN4oZy6.mjs} +16 -1
- package/dist/{field-BPsNa-TO.mjs → field-fDtIrY6D.mjs} +1 -1
- package/dist/{fields-FUWCgPOa.mjs → fields-DxHxuxwO.mjs} +7 -7
- package/dist/{get-ByZJf9nO.mjs → get-B2pj2q3X.mjs} +5 -5
- package/dist/{get-C_5AbfpO.mjs → get-BF2vdF3W.mjs} +4 -4
- package/dist/{get-DAOSGt5Z.mjs → get-BGLvyOO3.mjs} +6 -6
- package/dist/{get-DMECsioX.mjs → get-BcoJ9Aha.mjs} +4 -4
- package/dist/{get-CsN7NBI0.mjs → get-BiPclcIP.mjs} +4 -4
- package/dist/{get-DCutQeiV.mjs → get-C3cuZNeW.mjs} +4 -4
- package/dist/{get-CQ0-fFWP.mjs → get-CDnmpfHQ.mjs} +5 -8
- package/dist/{get-DRJtsS1_.mjs → get-CE9_4Q7E.mjs} +4 -4
- package/dist/{get-C5q49Dgx.mjs → get-C_tdSMwW2.mjs} +6 -6
- package/dist/{get-CWnriw33.mjs → get-CxUQyhte.mjs} +6 -6
- package/dist/{get-DVyesErX.mjs → get-DW7mCaGe.mjs} +6 -6
- package/dist/{get-DYaQpixt.mjs → get-D_x-ENFe.mjs} +6 -6
- package/dist/{get-Ba2HRdrx.mjs → get-DjlQhgD4.mjs} +6 -6
- package/dist/{get-DhkltKIV.mjs → get-DmKtPNOy.mjs} +4 -4
- package/dist/{get-BWl3vzsf.mjs → get-Dtre5jzh.mjs} +6 -6
- package/dist/get-H6kInHIx.mjs +93 -0
- package/dist/{get-BraVQ1FJ.mjs → get-b0CoPz5B.mjs} +6 -6
- package/dist/{get-LAew34ID.mjs → get-eJilYnHk.mjs} +6 -6
- package/dist/get-i0KInCw9.mjs +32 -0
- package/dist/{get-_ggLr1tY.mjs → get-jofVjU6e.mjs} +6 -6
- package/dist/{get-run-oH4dRCBx.mjs → get-run-BE1HtJDW.mjs} +6 -6
- package/dist/{git-sync-BDnxPrqU.mjs → git-sync-BwBRmEhE.mjs} +18 -1
- package/dist/{git-sync-DxD_ng48.mjs → git-sync-TjX1r_wF.mjs} +1 -1
- package/dist/git-sync-xKC1sqC4.mjs +28 -0
- package/dist/{group-DBM87IgC.mjs → group-YQQ5GIcP.mjs} +2 -2
- package/dist/{has-remote-changes-CnmyIw_7.mjs → has-remote-changes-Cj1KhBOT.mjs} +5 -8
- package/dist/{import-B7Si-bSI.mjs → import-DLb9VN4l.mjs} +7 -10
- package/dist/{input-DH9i67x_.mjs → input-D5tQEfqN.mjs} +1 -1
- package/dist/{is-dirty-BOH_VEA8.mjs → is-dirty-BxtgV2xF.mjs} +3 -6
- package/dist/{items-DouHkWev.mjs → items-DLUYc5-z.mjs} +7 -7
- package/dist/{key-BEhqIzIQ.mjs → key-PYetuQ13.mjs} +1 -1
- package/dist/{library-1J_4Dicw.mjs → library-BNSxXOpc.mjs} +5 -5
- package/dist/library-BPIzb3K_.mjs +81 -0
- package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
- package/dist/{list-D25ofn4v.mjs → list-B1soS8QW.mjs} +7 -7
- package/dist/{list-Cy0w4Fap.mjs → list-BQnOEB3W.mjs} +4 -4
- package/dist/{list-BeMYIeiI.mjs → list-BUz6KOfw.mjs} +7 -7
- package/dist/{list-C1bAtgO1.mjs → list-BcP1DTJH.mjs} +4 -4
- package/dist/{list-DJK9_BEF.mjs → list-C5mS_ehX.mjs} +14 -13
- package/dist/{list-qs9wAtC3.mjs → list-CBLxhaNZ.mjs} +4 -4
- package/dist/{list-aKUk-a1Y.mjs → list-CERbeLbQ.mjs} +7 -7
- package/dist/{list-B2Ddf4W0.mjs → list-COLpwXW4.mjs} +5 -5
- package/dist/{list-sDpy4nDU.mjs → list-CQbiSx26.mjs} +6 -6
- package/dist/{list-C0zJ2ehz.mjs → list-CX9qZ-bx.mjs} +6 -6
- package/dist/{list-DhViDVx_.mjs → list-CehE6KBV.mjs} +6 -6
- package/dist/list-Cuhf2lKL.mjs +35 -0
- package/dist/{list-D2IYZ6lk.mjs → list-CzRzCbCY.mjs} +6 -6
- package/dist/{list-DWLGpMvr.mjs → list-D-SyhKFw.mjs} +7 -7
- package/dist/{list-DptEWB5Y.mjs → list-Dat8QNcf.mjs} +4 -4
- package/dist/{list-C7UvO3Uw.mjs → list-M8J10Ozk.mjs} +6 -6
- package/dist/{list-BXlTYsYA.mjs → list-Sd7jGZoX.mjs} +4 -4
- package/dist/list-cIMww2Me.mjs +60 -0
- package/dist/{list-BK_6VNm_.mjs → list-jhQSgh6i.mjs} +4 -4
- package/dist/{login-BmyCAfRV.mjs → login-BfLqBfCd.mjs} +18 -15
- package/dist/{logout-DUR32q0V.mjs → logout-BpRXB3Ze.mjs} +3 -4
- package/dist/{measure-DdVp-8jw.mjs → measure-Ds8O5Evr.mjs} +6 -6
- package/dist/{notification-Fcq1fIPw.mjs → notification-DVrLkjFT.mjs} +1 -1
- package/dist/{parameter-DUKR8NXo.mjs → parameter-Celg0wZa.mjs} +1 -1
- package/dist/{parameter-values-CBR-cBev.mjs → parameter-values-DhrkLXoN.mjs} +5 -6
- package/dist/{parse-enum-D0Jfm_Bz.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
- package/dist/{parse-id-B3YwNojT.mjs → parse-id-DtM6q9HU.mjs} +1 -1
- package/dist/{parse-ref-ibKVB0J4.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
- package/dist/{path-D8BQmEhL.mjs → path-_GHFrTLx.mjs} +5 -5
- package/dist/{poll-75SvT7Zv.mjs → poll-KLl4Eq8Y.mjs} +2 -2
- package/dist/{preflight-CoF1Em99.mjs → preflight-BpYtF0IU.mjs} +3 -4
- package/dist/{process-DBOOrmET.mjs → process-CLtOWKBn.mjs} +1 -1
- package/dist/{publish-Cb7XrQ3X.mjs → publish-D-7Zlmuk.mjs} +9 -9
- package/dist/{pulse-BmsDenXm.mjs → pulse-Dz0ocv0l.mjs} +1 -1
- package/dist/{pulse-DhG6I9mI.mjs → pulse-x0gFxWfG.mjs} +2 -2
- package/dist/{query-D35B588l.mjs → query-B1CZztxs.mjs} +10 -12
- package/dist/query-CxESKMve.mjs +114 -0
- package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
- package/dist/{remove-collection-DJem6V26.mjs → remove-collection-C4saCFxz.mjs} +6 -9
- package/dist/{render-CI93iP0I.mjs → render-6O_eF-P1.mjs} +13 -2
- package/dist/{replace-CtsWICrD.mjs → replace-BuR4f2Ai.mjs} +5 -5
- package/dist/{rescan-values-CaXUL6z5.mjs → rescan-values-CNOiiWQ5.mjs} +6 -6
- package/dist/{run-CM-Amtbf.mjs → run-DijA_BXt.mjs} +26 -14
- package/dist/run-FmRruANb.mjs +64 -0
- package/dist/{run-BeLm17F4.mjs → run-QEUbWNm7.mjs} +9 -9
- package/dist/{runs-DFG63zgr.mjs → runs-BSlhVeDO.mjs} +7 -7
- package/dist/{runtime-z8rra6-I.mjs → runtime-Dtb93zKy.mjs} +994 -252
- package/dist/{schema-tables-COAHkIcy.mjs → schema-tables-BE3rEb6I.mjs} +7 -7
- package/dist/{schemas-BX5BATiV.mjs → schemas-yDjBiwlH.mjs} +5 -5
- package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
- package/dist/{search-CPvvmhdt.mjs → search-CR_xNArA.mjs} +6 -6
- package/dist/{segment-C62L6BI3.mjs → segment-Cm6zQjJW.mjs} +6 -6
- package/dist/{selectors-P4QnrORk.mjs → selectors-C-vgMcGK.mjs} +3 -3
- package/dist/{send-PZh5IKF8.mjs → send-kC8oerkT.mjs} +4 -4
- package/dist/{set-active-DL4QzWDO.mjs → set-active-lDKhAlij.mjs} +5 -5
- package/dist/{set-DbCtUoFd.mjs → set-tFhPkxrL.mjs} +5 -5
- package/dist/{setting-BlRcZbhC.mjs → setting-DrJXCaFE.mjs} +4 -4
- package/dist/{setup-D_SLaC-3.mjs → setup-BWY9M0iR.mjs} +4 -4
- package/dist/{signal-CMd0EFUa.mjs → signal-Csom0mt5.mjs} +11 -2
- package/dist/skill-list-CCes8pKe.mjs +76 -0
- package/dist/skills-DE9ej5Rg.mjs +351 -0
- package/dist/{skills-D991LB1M.mjs → skills-DPRN2384.mjs} +3 -3
- package/dist/snippet-DWHTSo9c.mjs +19 -0
- package/dist/{stash-DyBxFoP6.mjs → stash-C9oDvQ9P.mjs} +7 -11
- package/dist/{status-DUsiogz5.mjs → status-CkpujA26.mjs} +11 -9
- package/dist/{status-cfDHqK2Q.mjs → status-DSdXmNC3.mjs} +12 -11
- package/dist/{subscription-Bn0AU7GN.mjs → subscription-DKOKoHRG.mjs} +6 -6
- package/dist/{subscriptions-DwqjCVlc.mjs → subscriptions-C5SyJL4B.mjs} +7 -7
- package/dist/{summary-BGwSNzf4.mjs → summary-DTPgXsc0.mjs} +6 -6
- package/dist/{sync-schema-dtkDOAKe.mjs → sync-schema-DKKkNSR7.mjs} +7 -7
- package/dist/{sync-task-BACcrs0i.mjs → sync-task-BtDnTXCP.mjs} +3 -2
- package/dist/{table-CsIJNPFf.mjs → table-C6h4tIRw.mjs} +1 -1
- package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
- package/dist/{table-BJoEAoCU.mjs → table-I8NXSdUC.mjs} +5 -5
- package/dist/timeline-B_ESH-6W.mjs +21 -0
- package/dist/{timeline-event-BsF7YqzZ.mjs → timeline-event-n4Lzet7l.mjs} +6 -6
- package/dist/transform-BNuNiH9d.mjs +28 -0
- package/dist/{transform-DoTyyXAu.mjs → transform-CtqB1WYo.mjs} +2 -2
- package/dist/{transform-D3QX0jxA.mjs → transform-DiW7bREn.mjs} +68 -5
- package/dist/{transform-job-50GZHhKH.mjs → transform-job-AaMZRxAq.mjs} +1 -1
- package/dist/transform-job-B7yc6dfH.mjs +22 -0
- package/dist/{transform-job-DRrK28IH.mjs → transform-job-CCguL6LP.mjs} +41 -4
- package/dist/{transform-tag-VM9R7Q_M.mjs → transform-tag-D6NXqWaX.mjs} +5 -5
- package/dist/transform-test-BjjCQ2xm.mjs +169 -0
- package/dist/transform-test-C1Oqtfb-.mjs +16 -0
- package/dist/transform-test-gzDcbypy.mjs +25 -0
- package/dist/{transforms-BjACGbBp.mjs → transforms-O4NtXqFz.mjs} +7 -7
- package/dist/transport-CyVo29u7.mjs +313 -0
- package/dist/{tree-BwS6JAmk.mjs → tree-CuyF116R.mjs} +4 -5
- package/dist/{unpublish-DWdPnENY.mjs → unpublish-DvWefKJi.mjs} +4 -7
- package/dist/{update-DkviXwSg.mjs → update-2KIpYgyj.mjs} +7 -7
- package/dist/{update-DKEHY-gt.mjs → update-76nzOc71.mjs} +7 -7
- package/dist/{update-B2CF2DK4.mjs → update-7oKvP1HC.mjs} +6 -6
- package/dist/{update-DTmRHBik.mjs → update-AJ2JmwDl.mjs} +7 -7
- package/dist/{update-BR_vkkd1.mjs → update-BB6Go_RX.mjs} +5 -5
- package/dist/{update-DCjAjihm.mjs → update-Bah7N8QX.mjs} +6 -6
- package/dist/{update-cqR1U6DU.mjs → update-CGJvIS-l.mjs} +5 -5
- package/dist/{update-tLIhVIPp.mjs → update-D7dG7H-z.mjs} +8 -8
- package/dist/{update-C1FBVLfC.mjs → update-DOdcflLH.mjs} +8 -8
- package/dist/{update-DlTaD1x3.mjs → update-DV54H3L5.mjs} +9 -9
- package/dist/{update-C4y3iQsv.mjs → update-DXmZuJho.mjs} +7 -7
- package/dist/{update-3idz42uD.mjs → update-DmgRIp7o.mjs} +7 -7
- package/dist/{update-DsZttiSC.mjs → update-H_fdjugs.mjs} +5 -5
- package/dist/{update-BCT9qpVr.mjs → update-To6A1Ugu.mjs} +5 -5
- package/dist/{update-dashcard-DlE_bb2F.mjs → update-dashcard-DjT5QOkL.mjs} +7 -7
- package/dist/update-l3PyNQKG.mjs +41 -0
- package/dist/{update-BpPaacCF.mjs → update-xEegxIyH.mjs} +6 -6
- package/dist/{upgrade-mNV7XuJG.mjs → upgrade-CuJx9fX4.mjs} +6 -8
- package/dist/upload-2YFFBSln.mjs +13 -0
- package/dist/{upload-CEGVxmYB.mjs → upload-CboARPZm.mjs} +4 -7
- package/dist/{upload-CD555ui1.mjs → upload-DOO94rCQ.mjs} +2 -2
- package/dist/{uuid-C4hqn3kA.mjs → uuid-InwZlrpQ.mjs} +10 -7
- package/dist/{validate-BWchyW0V.mjs → validate-D6-Vg_kn.mjs} +69 -23
- package/dist/{validate-query-DaGYSmpQ.mjs → validate-query-B90KYPQr.mjs} +3 -4
- package/dist/{values-C0O3eNaW.mjs → values-CsZLk1Ls.mjs} +6 -6
- package/dist/{verify-DfTjYF7s.mjs → verify-DrGjZwBM.mjs} +3 -18
- package/dist/{wait-WZmFenN_.mjs → wait-BmzdarP9.mjs} +7 -10
- package/dist/{wait-flags-BbfDSP8R.mjs → wait-flags-CiJGrTCT.mjs} +2 -2
- package/dist/{window-BkvrP0gB.mjs → window-DSb1tqSe.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +31 -15
- package/skill-data/dashboard/SKILL.md +1 -1
- package/skill-data/data-workflow/references/building-clean-tables.md +6 -2
- package/skill-data/data-workflow/references/reusable-definitions.md +11 -3
- package/skill-data/document/SKILL.md +4 -1
- package/skill-data/git-sync/SKILL.md +5 -0
- package/skill-data/mbql/SKILL.md +84 -115
- package/skill-data/mbql/references/operators.md +77 -231
- package/skill-data/metadata/SKILL.md +1 -1
- package/skill-data/metadata/references/semantic-types.md +7 -1
- package/skill-data/native-sql/SKILL.md +8 -9
- package/skill-data/native-sql/references/template-tags.md +27 -27
- package/skill-data/notification/SKILL.md +7 -1
- package/skill-data/transform/SKILL.md +76 -4
- package/skill-data/transform-test-plan/SKILL.md +171 -0
- package/skill-data/transform-test-plan/references/checklist.md +81 -0
- package/skill-data/transform-test-plan/references/checks.md +263 -0
- package/skill-data/visualization/SKILL.md +13 -6
- package/skill-data/visualization/references/settings.md +13 -11
- package/skills/metabase-cli/SKILL.md +1 -1
- package/dist/card-CGCXbdmD.mjs +0 -24
- package/dist/client-mKuHg_sc.mjs +0 -2218
- package/dist/collection-D8Tk8i3a.mjs +0 -20
- package/dist/document-KbcHhzFz.mjs +0 -19
- package/dist/get-BC8J8BXB.mjs +0 -80
- package/dist/git-sync-Dik8nKfw.mjs +0 -28
- package/dist/library-ClLgrAXy.mjs +0 -19
- package/dist/list-CW5PdYCX.mjs +0 -98
- package/dist/network-error-D6CiOEBw.mjs +0 -431
- package/dist/predicates-Bkm2IoeX.mjs +0 -170
- package/dist/query-C256WBYG.mjs +0 -87
- package/dist/skills-DTCrMcix.mjs +0 -216
- package/dist/snippet-DTDO55Cg.mjs +0 -19
- package/dist/timeline-DcXPshcT.mjs +0 -21
- package/dist/transform-Dsf_wHAj.mjs +0 -28
- package/dist/transform-job-B1yLv5l-.mjs +0 -22
- package/dist/upload-DsYCf5kB.mjs +0 -13
package/dist/cli.mjs
CHANGED
|
@@ -1,10 +1,193 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as ConfigError, m as toMetabaseError, n as AbortError, t as isPlainObject } from "./predicates-Bkm2IoeX.mjs";
|
|
3
2
|
import { defineCommand, renderUsage, runMain } from "citty";
|
|
4
|
-
import { z } from "zod";
|
|
3
|
+
import { ZodError, core, z } from "zod";
|
|
5
4
|
import tls from "node:tls";
|
|
6
5
|
import { confirm, isCancel, password, select, text } from "@clack/prompts";
|
|
7
6
|
import Table from "cli-table3";
|
|
7
|
+
//#region ../client/src/json-pointer.ts
|
|
8
|
+
function escapeJsonPointerSegment(key) {
|
|
9
|
+
if (typeof key === "number") return String(key);
|
|
10
|
+
return (typeof key === "symbol" ? key.toString() : key).replaceAll("~", "~0").replaceAll("/", "~1");
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region ../client/src/version/known-range.ts
|
|
14
|
+
const KNOWN_RANGE = {
|
|
15
|
+
min: 58,
|
|
16
|
+
max: 64
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region ../client/src/errors.ts
|
|
20
|
+
var MetabaseError = class extends Error {
|
|
21
|
+
get userMessage() {
|
|
22
|
+
return this.message;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var NetworkError = class extends MetabaseError {
|
|
26
|
+
category = "network";
|
|
27
|
+
isRetryable = true;
|
|
28
|
+
developerDetail;
|
|
29
|
+
constructor(message, developerDetail) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = "NetworkError";
|
|
32
|
+
this.developerDetail = developerDetail;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
var TimeoutError = class extends MetabaseError {
|
|
36
|
+
category = "timeout";
|
|
37
|
+
isRetryable = true;
|
|
38
|
+
developerDetail;
|
|
39
|
+
constructor(message, developerDetail) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.name = "TimeoutError";
|
|
42
|
+
this.developerDetail = developerDetail;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var ValidationError = class extends MetabaseError {
|
|
46
|
+
category = "validation";
|
|
47
|
+
isRetryable = false;
|
|
48
|
+
developerDetail;
|
|
49
|
+
constructor(message, developerDetail) {
|
|
50
|
+
super(message);
|
|
51
|
+
this.name = "ValidationError";
|
|
52
|
+
this.developerDetail = developerDetail;
|
|
53
|
+
}
|
|
54
|
+
get userMessage() {
|
|
55
|
+
const issues = this.developerDetail.zodIssues;
|
|
56
|
+
if (issues.length === 0) return this.message;
|
|
57
|
+
return `${this.message}\n${formatIssueLines(issues, VALIDATION_ISSUE_FORMAT)}`;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const VALIDATION_MAX_ISSUES = 10;
|
|
61
|
+
const RESPONSE_SHAPE_MAX_ISSUES = 5;
|
|
62
|
+
const VALIDATION_ISSUE_FORMAT = {
|
|
63
|
+
max: VALIDATION_MAX_ISSUES,
|
|
64
|
+
formatIssue: (issue) => `${formatZodIssuePointer(issue.path)}: ${issue.message}`
|
|
65
|
+
};
|
|
66
|
+
const RESPONSE_SHAPE_ISSUE_FORMAT = {
|
|
67
|
+
max: RESPONSE_SHAPE_MAX_ISSUES,
|
|
68
|
+
formatIssue: formatZodIssue
|
|
69
|
+
};
|
|
70
|
+
function formatIssueLines(issues, format) {
|
|
71
|
+
const head = issues.slice(0, format.max).map(format.formatIssue);
|
|
72
|
+
const overflow = issues.length - format.max;
|
|
73
|
+
if (overflow > 0) head.push(`... and ${overflow} more`);
|
|
74
|
+
return head.map((line) => ` ${line}`).join("\n");
|
|
75
|
+
}
|
|
76
|
+
function formatZodIssuePointer(path) {
|
|
77
|
+
if (path.length === 0) return "/";
|
|
78
|
+
return path.map((key) => `/${escapeJsonPointerSegment(key)}`).join("");
|
|
79
|
+
}
|
|
80
|
+
const RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION = "Metabase returned unexpected response shape";
|
|
81
|
+
var ResponseShapeError = class ResponseShapeError extends MetabaseError {
|
|
82
|
+
category = "response-shape";
|
|
83
|
+
isRetryable = false;
|
|
84
|
+
developerDetail;
|
|
85
|
+
constructor(message, developerDetail) {
|
|
86
|
+
super(message);
|
|
87
|
+
this.name = "ResponseShapeError";
|
|
88
|
+
this.developerDetail = developerDetail;
|
|
89
|
+
}
|
|
90
|
+
static fromZodIssues(developerDetail) {
|
|
91
|
+
return new ResponseShapeError(formatResponseShapeMessage(developerDetail), developerDetail);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
function formatResponseShapeMessage(detail) {
|
|
95
|
+
const { zodIssues: issues, serverTag, serverSkew } = detail;
|
|
96
|
+
const lead = serverTag === null ? RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION : `On Metabase ${describeServer(serverTag, serverSkew)} the response shape was unexpected`;
|
|
97
|
+
if (issues.length === 0) return lead;
|
|
98
|
+
return `${lead}:\n${formatIssueLines(issues, RESPONSE_SHAPE_ISSUE_FORMAT)}`;
|
|
99
|
+
}
|
|
100
|
+
function describeServer(tag, skew) {
|
|
101
|
+
if (skew === "newer-than-known") return `${tag} (newer than this client supports, up to v${KNOWN_RANGE.max})`;
|
|
102
|
+
if (skew === "development") return `development build ${tag} (newer than every release)`;
|
|
103
|
+
return tag;
|
|
104
|
+
}
|
|
105
|
+
var ConfigError = class extends MetabaseError {
|
|
106
|
+
category = "config";
|
|
107
|
+
isRetryable = false;
|
|
108
|
+
developerDetail = null;
|
|
109
|
+
constructor(message) {
|
|
110
|
+
super(message);
|
|
111
|
+
this.name = "ConfigError";
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
var InternalError = class extends MetabaseError {
|
|
115
|
+
category = "internal";
|
|
116
|
+
isRetryable = false;
|
|
117
|
+
developerDetail = null;
|
|
118
|
+
constructor(message) {
|
|
119
|
+
super(message);
|
|
120
|
+
this.name = "InternalError";
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
var FailedResultError = class extends MetabaseError {
|
|
124
|
+
category = "failed";
|
|
125
|
+
isRetryable = false;
|
|
126
|
+
developerDetail = null;
|
|
127
|
+
constructor(message) {
|
|
128
|
+
super(message);
|
|
129
|
+
this.name = "FailedResultError";
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
var AbortError = class extends MetabaseError {
|
|
133
|
+
category = "abort";
|
|
134
|
+
isRetryable = false;
|
|
135
|
+
developerDetail = null;
|
|
136
|
+
constructor(message = "aborted") {
|
|
137
|
+
super(message);
|
|
138
|
+
this.name = "AbortError";
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
var ChainedRequestError = class extends MetabaseError {
|
|
142
|
+
cause;
|
|
143
|
+
constructor(message, cause) {
|
|
144
|
+
super(message);
|
|
145
|
+
this.name = "ChainedRequestError";
|
|
146
|
+
this.cause = cause;
|
|
147
|
+
}
|
|
148
|
+
get category() {
|
|
149
|
+
return this.cause.category;
|
|
150
|
+
}
|
|
151
|
+
get isRetryable() {
|
|
152
|
+
return this.cause.isRetryable;
|
|
153
|
+
}
|
|
154
|
+
get developerDetail() {
|
|
155
|
+
return this.cause.developerDetail;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
var UnknownError = class extends MetabaseError {
|
|
159
|
+
category = "unknown";
|
|
160
|
+
isRetryable = false;
|
|
161
|
+
developerDetail;
|
|
162
|
+
constructor(input) {
|
|
163
|
+
super(input.originalMessage);
|
|
164
|
+
this.name = "UnknownError";
|
|
165
|
+
this.developerDetail = input;
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
function toMetabaseError(error) {
|
|
169
|
+
if (error instanceof MetabaseError) return error;
|
|
170
|
+
if (error instanceof ZodError) return new ConfigError(error.issues.map(formatZodIssue).join("; "));
|
|
171
|
+
if (error instanceof Error) return new UnknownError({
|
|
172
|
+
originalMessage: error.message,
|
|
173
|
+
stack: error.stack ?? null
|
|
174
|
+
});
|
|
175
|
+
return new UnknownError({
|
|
176
|
+
originalMessage: String(error),
|
|
177
|
+
stack: null
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
function formatZodIssue(issue) {
|
|
181
|
+
const path = core.toDotPath(issue.path);
|
|
182
|
+
return path === "" ? issue.message : `${path}: ${issue.message}`;
|
|
183
|
+
}
|
|
184
|
+
function isFileNotFoundError(value) {
|
|
185
|
+
return value instanceof Error && "code" in value && value.code === "ENOENT";
|
|
186
|
+
}
|
|
187
|
+
function errorMessage(value) {
|
|
188
|
+
return value instanceof Error ? value.message : String(value);
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
8
191
|
//#region src/runtime/citty.ts
|
|
9
192
|
async function resolveCitty(value) {
|
|
10
193
|
if (value === void 0) return;
|
|
@@ -32,7 +215,16 @@ function flagConsumesValue(token, argsDef) {
|
|
|
32
215
|
//#region src/output/types.ts
|
|
33
216
|
const DEFAULT_MAX_BYTES = 24576;
|
|
34
217
|
function listEnvelopeSchema(item) {
|
|
218
|
+
return z.object(listEnvelopeShape(item));
|
|
219
|
+
}
|
|
220
|
+
function listEnvelopeSchemaWithExtras(item, extras) {
|
|
35
221
|
return z.object({
|
|
222
|
+
...listEnvelopeShape(item),
|
|
223
|
+
...extras
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
function listEnvelopeShape(item) {
|
|
227
|
+
return {
|
|
36
228
|
data: z.array(item).describe("The items in this window."),
|
|
37
229
|
returned: z.number().int().nonnegative().describe("Number of items in `data`; a short window is not proof the walk is over."),
|
|
38
230
|
offset: z.number().int().nonnegative().describe("Index of the first item in `data` within the full result set."),
|
|
@@ -44,7 +236,7 @@ function listEnvelopeSchema(item) {
|
|
|
44
236
|
reason: z.literal("max_bytes"),
|
|
45
237
|
bytes: z.number().int().nonnegative()
|
|
46
238
|
}).optional().describe("Present when the `--max-bytes` cap cut the output, not when the data ran out; its `bytes` is what the untruncated answer would have measured, so narrow rows with `--fields` rather than raising the cap.")
|
|
47
|
-
}
|
|
239
|
+
};
|
|
48
240
|
}
|
|
49
241
|
//#endregion
|
|
50
242
|
//#region src/commands/flags.ts
|
|
@@ -175,7 +367,7 @@ function trustSystemCa() {
|
|
|
175
367
|
//#endregion
|
|
176
368
|
//#region package.json
|
|
177
369
|
var name = "@metabase/cli";
|
|
178
|
-
var version = "0.3.
|
|
370
|
+
var version = "0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a";
|
|
179
371
|
var description = "Metabase CLI";
|
|
180
372
|
//#endregion
|
|
181
373
|
//#region src/runtime/command-augment.ts
|
|
@@ -195,36 +387,37 @@ const main = defineCommand({
|
|
|
195
387
|
description
|
|
196
388
|
},
|
|
197
389
|
subCommands: {
|
|
198
|
-
auth: () => import("./auth-
|
|
199
|
-
db: () => import("./db-
|
|
200
|
-
table: () => import("./table-
|
|
201
|
-
field: () => import("./field-
|
|
202
|
-
upload: () => import("./upload-
|
|
203
|
-
"content-translation": () => import("./content-translation-
|
|
204
|
-
card: () => import("./card-
|
|
205
|
-
dashboard: () => import("./dashboard-
|
|
206
|
-
subscription: () => import("./subscription-
|
|
207
|
-
alert: () => import("./alert-
|
|
208
|
-
collection: () => import("./collection-
|
|
209
|
-
library: () => import("./library-
|
|
210
|
-
document: () => import("./document-
|
|
211
|
-
transform: () => import("./transform-
|
|
212
|
-
"transform-job": () => import("./transform-job-
|
|
213
|
-
"transform-tag": () => import("./transform-tag-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
390
|
+
auth: () => import("./auth-A96JOCQx.mjs").then((mod) => mod.default),
|
|
391
|
+
db: () => import("./db-BDijt81U.mjs").then((mod) => mod.default),
|
|
392
|
+
table: () => import("./table-I8NXSdUC.mjs").then((mod) => mod.default),
|
|
393
|
+
field: () => import("./field-BJ6HoLRd.mjs").then((mod) => mod.default),
|
|
394
|
+
upload: () => import("./upload-2YFFBSln.mjs").then((mod) => mod.default),
|
|
395
|
+
"content-translation": () => import("./content-translation-BXIXL4eW.mjs").then((mod) => mod.default),
|
|
396
|
+
card: () => import("./card-CefVYtF7.mjs").then((mod) => mod.default),
|
|
397
|
+
dashboard: () => import("./dashboard-CMw13KXM.mjs").then((mod) => mod.default),
|
|
398
|
+
subscription: () => import("./subscription-DKOKoHRG.mjs").then((mod) => mod.default),
|
|
399
|
+
alert: () => import("./alert-Dalin_DD.mjs").then((mod) => mod.default),
|
|
400
|
+
collection: () => import("./collection-Be5AHVWP.mjs").then((mod) => mod.default),
|
|
401
|
+
library: () => import("./library-BNSxXOpc.mjs").then((mod) => mod.default),
|
|
402
|
+
document: () => import("./document-BGzVip5_.mjs").then((mod) => mod.default),
|
|
403
|
+
transform: () => import("./transform-BNuNiH9d.mjs").then((mod) => mod.default),
|
|
404
|
+
"transform-job": () => import("./transform-job-B7yc6dfH.mjs").then((mod) => mod.default),
|
|
405
|
+
"transform-tag": () => import("./transform-tag-D6NXqWaX.mjs").then((mod) => mod.default),
|
|
406
|
+
"transform-test": () => import("./transform-test-C1Oqtfb-.mjs").then((mod) => mod.default),
|
|
407
|
+
setting: () => import("./setting-DrJXCaFE.mjs").then((mod) => mod.default),
|
|
408
|
+
search: () => import("./search-CR_xNArA.mjs").then((mod) => mod.default),
|
|
409
|
+
"git-sync": () => import("./git-sync-xKC1sqC4.mjs").then((mod) => mod.default),
|
|
410
|
+
setup: () => import("./setup-BWY9M0iR.mjs").then((mod) => mod.default),
|
|
411
|
+
snippet: () => import("./snippet-DWHTSo9c.mjs").then((mod) => mod.default),
|
|
412
|
+
segment: () => import("./segment-Cm6zQjJW.mjs").then((mod) => mod.default),
|
|
413
|
+
measure: () => import("./measure-Ds8O5Evr.mjs").then((mod) => mod.default),
|
|
414
|
+
timeline: () => import("./timeline-B_ESH-6W.mjs").then((mod) => mod.default),
|
|
415
|
+
"timeline-event": () => import("./timeline-event-n4Lzet7l.mjs").then((mod) => mod.default),
|
|
416
|
+
eid: () => import("./eid-HnrWhPoe.mjs").then((mod) => mod.default),
|
|
417
|
+
query: () => import("./query-CxESKMve.mjs").then((mod) => mod.default),
|
|
418
|
+
uuid: () => import("./uuid-InwZlrpQ.mjs").then((mod) => mod.default),
|
|
419
|
+
upgrade: () => import("./upgrade-CuJx9fX4.mjs").then((mod) => mod.default),
|
|
420
|
+
skills: () => import("./skills-DPRN2384.mjs").then((mod) => mod.default)
|
|
228
421
|
}
|
|
229
422
|
});
|
|
230
423
|
setMetabaseAugment(main, {
|
|
@@ -239,9 +432,22 @@ setMetabaseAugment(main, {
|
|
|
239
432
|
}],
|
|
240
433
|
inputSchema: null,
|
|
241
434
|
outputSchema: null,
|
|
242
|
-
|
|
435
|
+
requires: null
|
|
243
436
|
});
|
|
244
437
|
//#endregion
|
|
438
|
+
//#region src/core/profile-refreshed-error.ts
|
|
439
|
+
var ProfileRefreshedError = class extends MetabaseError {
|
|
440
|
+
category;
|
|
441
|
+
isRetryable = false;
|
|
442
|
+
developerDetail;
|
|
443
|
+
constructor(cause, note) {
|
|
444
|
+
super(`${cause.userMessage}\n${note}`);
|
|
445
|
+
this.name = "ProfileRefreshedError";
|
|
446
|
+
this.category = cause.category;
|
|
447
|
+
this.developerDetail = cause.developerDetail;
|
|
448
|
+
}
|
|
449
|
+
};
|
|
450
|
+
//#endregion
|
|
245
451
|
//#region src/core/env.ts
|
|
246
452
|
const LEGACY_PREFIX = "METABASE_";
|
|
247
453
|
const ENV_URL = "MB_URL";
|
|
@@ -380,6 +586,11 @@ function jsonByteLength(value) {
|
|
|
380
586
|
return Buffer.byteLength(JSON.stringify(value), "utf8");
|
|
381
587
|
}
|
|
382
588
|
//#endregion
|
|
589
|
+
//#region ../client/src/predicates.ts
|
|
590
|
+
function isPlainObject(value) {
|
|
591
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
592
|
+
}
|
|
593
|
+
//#endregion
|
|
383
594
|
//#region src/output/projection.ts
|
|
384
595
|
function projectForList(item, view, opts) {
|
|
385
596
|
const full = opts.format === "text" && opts.fields === void 0 ? false : opts.full;
|
|
@@ -513,8 +724,11 @@ function renderSummary(item, view, summaryText, opts) {
|
|
|
513
724
|
process.stdout.write(body);
|
|
514
725
|
}
|
|
515
726
|
function renderList(envelope, view, opts) {
|
|
727
|
+
renderListWithExtras(envelope, {}, view, opts);
|
|
728
|
+
}
|
|
729
|
+
function renderListWithExtras(envelope, extras, view, opts) {
|
|
516
730
|
if (opts.format === "json") {
|
|
517
|
-
renderJsonEnvelope(envelope, view, opts);
|
|
731
|
+
renderJsonEnvelope(envelope, extras, view, opts);
|
|
518
732
|
return;
|
|
519
733
|
}
|
|
520
734
|
if (envelope.data.length === 0) {
|
|
@@ -547,8 +761,11 @@ function projectedEnvelope(envelope, view, opts) {
|
|
|
547
761
|
data: envelope.data.map((item) => projectForList(item, view, opts))
|
|
548
762
|
};
|
|
549
763
|
}
|
|
550
|
-
function renderJsonEnvelope(envelope, view, opts) {
|
|
551
|
-
const capped = capListEnvelope(
|
|
764
|
+
function renderJsonEnvelope(envelope, extras, view, opts) {
|
|
765
|
+
const capped = capListEnvelope({
|
|
766
|
+
...projectedEnvelope(envelope, view, opts),
|
|
767
|
+
...extras
|
|
768
|
+
}, opts.maxBytes);
|
|
552
769
|
const ordered = {
|
|
553
770
|
returned: capped.returned,
|
|
554
771
|
offset: capped.offset,
|
|
@@ -557,6 +774,7 @@ function renderJsonEnvelope(envelope, view, opts) {
|
|
|
557
774
|
has_more: capped.has_more,
|
|
558
775
|
next_offset: capped.next_offset,
|
|
559
776
|
truncated: capped.truncated,
|
|
777
|
+
...extras,
|
|
560
778
|
data: capped.data
|
|
561
779
|
};
|
|
562
780
|
process.stdout.write(serializeJson(ordered, stdoutPretty()) + "\n");
|
|
@@ -607,6 +825,7 @@ function exitCodeFor(category) {
|
|
|
607
825
|
case "response-shape":
|
|
608
826
|
case "timeout":
|
|
609
827
|
case "internal":
|
|
828
|
+
case "failed":
|
|
610
829
|
case "unknown": return FAILURE_EXIT_CODE;
|
|
611
830
|
}
|
|
612
831
|
}
|
|
@@ -626,6 +845,7 @@ function isRouteMissing(handled) {
|
|
|
626
845
|
return "kind" in handled && handled.kind === ROUTE_MISSING_KIND;
|
|
627
846
|
}
|
|
628
847
|
function remediesFor(handled) {
|
|
848
|
+
if (handled instanceof ProfileRefreshedError) return [];
|
|
629
849
|
if (isVersionTooOld(handled.developerDetail)) return [DOWNGRADE_REMEDY];
|
|
630
850
|
if (isRouteMissing(handled)) return [ROUTE_MISSING_REMEDY];
|
|
631
851
|
return [];
|
|
@@ -654,35 +874,324 @@ function writeJsonError(handled, exitCode, verbose) {
|
|
|
654
874
|
process.stderr.write(serializeJson(envelope, stderrPretty()) + "\n");
|
|
655
875
|
}
|
|
656
876
|
//#endregion
|
|
657
|
-
//#region ../client/src/version/
|
|
658
|
-
const
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
877
|
+
//#region ../client/src/version/features.ts
|
|
878
|
+
const FEATURE_RULES = {
|
|
879
|
+
transforms: { since: 59 },
|
|
880
|
+
transformJobActivation: { since: 61 },
|
|
881
|
+
measures: { since: 59 },
|
|
882
|
+
library: {
|
|
883
|
+
since: 59,
|
|
884
|
+
tokenFeature: "library"
|
|
885
|
+
},
|
|
886
|
+
remoteSync: {
|
|
887
|
+
since: 60,
|
|
888
|
+
tokenFeature: "remote_sync"
|
|
889
|
+
},
|
|
890
|
+
remoteSyncExportPreflight: {
|
|
891
|
+
since: 63,
|
|
892
|
+
tokenFeature: "remote_sync"
|
|
893
|
+
},
|
|
894
|
+
contentTranslation: {
|
|
895
|
+
since: 58,
|
|
896
|
+
tokenFeature: "content_translation"
|
|
897
|
+
},
|
|
898
|
+
contentVerification: {
|
|
899
|
+
since: 58,
|
|
900
|
+
tokenFeature: "content_verification"
|
|
901
|
+
},
|
|
902
|
+
transformTargetTableId: { since: 61 },
|
|
903
|
+
transformTargetTableLinkedOnCreate: {
|
|
904
|
+
since: 61,
|
|
905
|
+
until: 61
|
|
906
|
+
},
|
|
907
|
+
transformJobRunIdIsNumeric: { since: 64 },
|
|
908
|
+
transformCheckpointReset: { since: 60 },
|
|
909
|
+
fieldDataSensitivity: { since: 64 },
|
|
910
|
+
transformDagRuns: { since: 64 },
|
|
911
|
+
unifiedTransformRuns: { since: 64 },
|
|
912
|
+
transformTests: {
|
|
913
|
+
since: 65,
|
|
914
|
+
tokenFeature: "transforms-testing"
|
|
915
|
+
},
|
|
916
|
+
libraryChildrenCarryType: { since: 62 },
|
|
917
|
+
collectionItemsTotalOnEmptyPage: { since: 64 },
|
|
918
|
+
invalidMbqlIsBadRequest: { since: 59 },
|
|
919
|
+
boxplotDisplay: { since: 59 },
|
|
920
|
+
nativeTableTemplateTag: { since: 59 },
|
|
921
|
+
smartLinkMeasureModel: { since: 60 },
|
|
922
|
+
dashboardSubscriptionFilters: {
|
|
923
|
+
since: 58,
|
|
924
|
+
tokenFeature: "dashboard_subscription_filters"
|
|
925
|
+
},
|
|
926
|
+
dependencyGraph: {
|
|
927
|
+
since: 58,
|
|
928
|
+
tokenFeature: "dependencies"
|
|
929
|
+
},
|
|
930
|
+
dependencyItemListings: {
|
|
931
|
+
since: 59,
|
|
932
|
+
tokenFeature: "dependencies"
|
|
933
|
+
},
|
|
934
|
+
dependencyKebabCaseFilters: { since: 60 },
|
|
935
|
+
tableListAccessFilters: { since: 59 },
|
|
936
|
+
tableListTransformTargets: { since: 60 },
|
|
937
|
+
tableUnusedFilter: {
|
|
938
|
+
since: 58,
|
|
939
|
+
tokenFeature: "dependencies"
|
|
940
|
+
},
|
|
941
|
+
tableDataLayerTiers: { since: 59 },
|
|
942
|
+
bulkTableEdit: { since: 59 },
|
|
943
|
+
erd: {
|
|
944
|
+
since: 62,
|
|
945
|
+
tokenFeature: "schema-viewer"
|
|
946
|
+
},
|
|
947
|
+
documentCopy: { since: 59 },
|
|
948
|
+
transformInspector: {
|
|
949
|
+
since: 60,
|
|
950
|
+
tokenFeature: "transforms-python"
|
|
951
|
+
},
|
|
952
|
+
pythonLibrary: {
|
|
953
|
+
since: 58,
|
|
954
|
+
tokenFeature: "transforms-python"
|
|
955
|
+
},
|
|
956
|
+
pythonTestRun: {
|
|
957
|
+
since: 60,
|
|
958
|
+
tokenFeature: "transforms-python"
|
|
959
|
+
},
|
|
960
|
+
sourceReplacement: {
|
|
961
|
+
since: 60,
|
|
962
|
+
tokenFeature: "dependencies"
|
|
963
|
+
},
|
|
964
|
+
metricDefinitionQuery: { since: 60 },
|
|
965
|
+
metricDimensionListing: { since: 64 },
|
|
966
|
+
oauthFullAccessScope: { since: 63 }
|
|
967
|
+
};
|
|
968
|
+
function isFeatureName(name) {
|
|
969
|
+
return Object.hasOwn(FEATURE_RULES, name);
|
|
970
|
+
}
|
|
971
|
+
const FEATURE_NAMES = Object.keys(FEATURE_RULES).filter(isFeatureName);
|
|
972
|
+
const Features = z.record(z.enum(FEATURE_NAMES), z.boolean());
|
|
973
|
+
function evaluateFeatures(major, tokenFeatures) {
|
|
974
|
+
const entries = FEATURE_NAMES.map((name) => [name, ruleHolds(FEATURE_RULES[name], major, tokenFeatures)]);
|
|
975
|
+
return Features.parse(Object.fromEntries(entries));
|
|
976
|
+
}
|
|
977
|
+
function ruleHolds(rule, major, tokenFeatures) {
|
|
978
|
+
return ruleGap(rule, major, tokenFeatures) === null;
|
|
979
|
+
}
|
|
980
|
+
function ruleGap(rule, major, tokenFeatures) {
|
|
981
|
+
if (!versionHolds(rule, major)) return { kind: "version" };
|
|
982
|
+
if (rule.tokenFeature === void 0) return null;
|
|
983
|
+
return tokenFeatures !== null && tokenFeatures[rule.tokenFeature] === true ? null : {
|
|
984
|
+
kind: "token",
|
|
985
|
+
tokenFeature: rule.tokenFeature
|
|
668
986
|
};
|
|
669
987
|
}
|
|
670
|
-
function
|
|
671
|
-
if (
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
988
|
+
function versionHolds(rule, major) {
|
|
989
|
+
if (major === "development") return rule.until === void 0;
|
|
990
|
+
return major >= rule.since && (rule.until === void 0 || major <= rule.until);
|
|
991
|
+
}
|
|
992
|
+
//#endregion
|
|
993
|
+
//#region ../client/src/version/requirements.ts
|
|
994
|
+
const METHOD_REQUIREMENTS = {
|
|
995
|
+
"card.list": [],
|
|
996
|
+
"card.get": [],
|
|
997
|
+
"card.create": [],
|
|
998
|
+
"card.update": [],
|
|
999
|
+
"card.archive": [],
|
|
1000
|
+
"card.query": [],
|
|
1001
|
+
"card.exportQuery": [],
|
|
1002
|
+
"card.queryMetadata": [],
|
|
1003
|
+
"collection.list": [],
|
|
1004
|
+
"collection.listWithLibrary": [],
|
|
1005
|
+
"collection.get": [],
|
|
1006
|
+
"collection.create": [],
|
|
1007
|
+
"collection.update": [],
|
|
1008
|
+
"collection.archive": [],
|
|
1009
|
+
"collection.itemPages": [],
|
|
1010
|
+
"collection.tree": [],
|
|
1011
|
+
"contentTranslation.download": ["contentTranslation"],
|
|
1012
|
+
"contentTranslation.upload": ["contentTranslation"],
|
|
1013
|
+
"dashboard.list": [],
|
|
1014
|
+
"dashboard.get": [],
|
|
1015
|
+
"dashboard.create": [],
|
|
1016
|
+
"dashboard.update": [],
|
|
1017
|
+
"dashboard.archive": [],
|
|
1018
|
+
"dashboard.copy": [],
|
|
1019
|
+
"dashboard.updateDashcard": [],
|
|
1020
|
+
"dashboard.checkCardReferences": [],
|
|
1021
|
+
"dashboard.parameterValues": [],
|
|
1022
|
+
"dashboard.searchParameterValues": [],
|
|
1023
|
+
"database.list": [],
|
|
1024
|
+
"database.get": [],
|
|
1025
|
+
"database.schemas": [],
|
|
1026
|
+
"database.schemaTables": [],
|
|
1027
|
+
"database.syncSchema": [],
|
|
1028
|
+
"database.rescanValues": [],
|
|
1029
|
+
"dataset.query": [],
|
|
1030
|
+
"dataset.native": [],
|
|
1031
|
+
"dataset.queryMetadata": [],
|
|
1032
|
+
"dataset.exportQuery": [],
|
|
1033
|
+
"dependency.breakingPages": ["dependencyItemListings"],
|
|
1034
|
+
"dependency.broken": ["dependencyItemListings"],
|
|
1035
|
+
"dependency.dependents": ["dependencyItemListings"],
|
|
1036
|
+
"dependency.graph": ["dependencyGraph"],
|
|
1037
|
+
"dependency.unreferencedPages": ["dependencyItemListings"],
|
|
1038
|
+
"document.list": [],
|
|
1039
|
+
"document.get": [],
|
|
1040
|
+
"document.create": [],
|
|
1041
|
+
"document.update": [],
|
|
1042
|
+
"document.archive": [],
|
|
1043
|
+
"document.copy": ["documentCopy"],
|
|
1044
|
+
"eidTranslation.translate": [],
|
|
1045
|
+
"erd.get": ["erd"],
|
|
1046
|
+
"field.get": [],
|
|
1047
|
+
"field.update": [],
|
|
1048
|
+
"field.search": [],
|
|
1049
|
+
"field.remapping": [],
|
|
1050
|
+
"field.summary": [],
|
|
1051
|
+
"field.values": [],
|
|
1052
|
+
"gitSync.currentTask": ["remoteSync"],
|
|
1053
|
+
"gitSync.cancelTask": ["remoteSync"],
|
|
1054
|
+
"gitSync.isDirty": ["remoteSync"],
|
|
1055
|
+
"gitSync.dirty": ["remoteSync"],
|
|
1056
|
+
"gitSync.hasRemoteChanges": ["remoteSync"],
|
|
1057
|
+
"gitSync.import": ["remoteSync"],
|
|
1058
|
+
"gitSync.export": ["remoteSync"],
|
|
1059
|
+
"gitSync.exportPreflight": ["remoteSyncExportPreflight"],
|
|
1060
|
+
"gitSync.stash": ["remoteSync"],
|
|
1061
|
+
"gitSync.branches": ["remoteSync"],
|
|
1062
|
+
"gitSync.createBranch": ["remoteSync"],
|
|
1063
|
+
"gitSync.setCollectionSynced": ["remoteSync"],
|
|
1064
|
+
"gitSync.syncedCollections": ["remoteSync"],
|
|
1065
|
+
"gitSync.remoteUrl": [],
|
|
1066
|
+
"gitSync.branch": [],
|
|
1067
|
+
"gitSync.waitForTask": ["remoteSync"],
|
|
1068
|
+
"glossary.list": [],
|
|
1069
|
+
"glossary.create": [],
|
|
1070
|
+
"glossary.update": [],
|
|
1071
|
+
"glossary.delete": [],
|
|
1072
|
+
"library.get": ["library"],
|
|
1073
|
+
"library.create": ["library"],
|
|
1074
|
+
"library.ensureDataCollectionId": ["library"],
|
|
1075
|
+
"library.publishTables": ["library"],
|
|
1076
|
+
"library.unpublishTables": ["library"],
|
|
1077
|
+
"metric.query": ["metricDefinitionQuery"],
|
|
1078
|
+
"metric.breakoutValues": ["metricDefinitionQuery"],
|
|
1079
|
+
"metric.dimensions": ["metricDimensionListing"],
|
|
1080
|
+
"measure.list": ["measures"],
|
|
1081
|
+
"measure.get": ["measures"],
|
|
1082
|
+
"measure.create": ["measures"],
|
|
1083
|
+
"measure.update": ["measures"],
|
|
1084
|
+
"measure.archive": ["measures"],
|
|
1085
|
+
"moderationReview.create": ["contentVerification"],
|
|
1086
|
+
"notification.list": [],
|
|
1087
|
+
"notification.get": [],
|
|
1088
|
+
"notification.create": [],
|
|
1089
|
+
"notification.update": [],
|
|
1090
|
+
"notification.archive": [],
|
|
1091
|
+
"notification.send": [],
|
|
1092
|
+
"permission.graph": [],
|
|
1093
|
+
"permission.databaseGraph": [],
|
|
1094
|
+
"permission.groupGraph": [],
|
|
1095
|
+
"pulse.list": [],
|
|
1096
|
+
"pulse.get": [],
|
|
1097
|
+
"pulse.create": [],
|
|
1098
|
+
"pulse.update": [],
|
|
1099
|
+
"pulse.archive": [],
|
|
1100
|
+
"replacement.checkReplaceSource": ["sourceReplacement"],
|
|
1101
|
+
"replacement.replaceSource": ["sourceReplacement"],
|
|
1102
|
+
"replacement.replaceModelWithTransform": ["sourceReplacement"],
|
|
1103
|
+
"replacement.listRuns": ["sourceReplacement"],
|
|
1104
|
+
"replacement.getRun": ["sourceReplacement"],
|
|
1105
|
+
"replacement.cancelRun": ["sourceReplacement"],
|
|
1106
|
+
"revision.list": [],
|
|
1107
|
+
"revision.revert": [],
|
|
1108
|
+
"search.query": [],
|
|
1109
|
+
"segment.list": [],
|
|
1110
|
+
"segment.get": [],
|
|
1111
|
+
"segment.create": [],
|
|
1112
|
+
"segment.update": [],
|
|
1113
|
+
"segment.archive": [],
|
|
1114
|
+
"setting.list": [],
|
|
1115
|
+
"setting.get": [],
|
|
1116
|
+
"setting.set": [],
|
|
1117
|
+
"setup.create": [],
|
|
1118
|
+
"snippet.list": [],
|
|
1119
|
+
"snippet.get": [],
|
|
1120
|
+
"snippet.create": [],
|
|
1121
|
+
"snippet.update": [],
|
|
1122
|
+
"snippet.archive": [],
|
|
1123
|
+
"table.list": [],
|
|
1124
|
+
"table.get": [],
|
|
1125
|
+
"table.update": [],
|
|
1126
|
+
"table.queryMetadata": [],
|
|
1127
|
+
"table.fks": [],
|
|
1128
|
+
"table.syncSchema": [],
|
|
1129
|
+
"table.rescanValues": [],
|
|
1130
|
+
"table.bulkEdit": ["bulkTableEdit"],
|
|
1131
|
+
"table.appendCsv": [],
|
|
1132
|
+
"table.replaceCsv": [],
|
|
1133
|
+
"timeline.list": [],
|
|
1134
|
+
"timeline.get": [],
|
|
1135
|
+
"timeline.events": [],
|
|
1136
|
+
"timeline.create": [],
|
|
1137
|
+
"timeline.update": [],
|
|
1138
|
+
"timeline.archive": [],
|
|
1139
|
+
"timeline.delete": [],
|
|
1140
|
+
"timelineEvent.get": [],
|
|
1141
|
+
"timelineEvent.create": [],
|
|
1142
|
+
"timelineEvent.update": [],
|
|
1143
|
+
"timelineEvent.archive": [],
|
|
1144
|
+
"timelineEvent.delete": [],
|
|
1145
|
+
"transform.list": ["transforms"],
|
|
1146
|
+
"transform.get": ["transforms"],
|
|
1147
|
+
"transform.create": ["transforms"],
|
|
1148
|
+
"transform.update": ["transforms"],
|
|
1149
|
+
"transform.delete": ["transforms"],
|
|
1150
|
+
"transform.deleteTable": ["transforms"],
|
|
1151
|
+
"transform.dependencies": ["transforms"],
|
|
1152
|
+
"transform.cancel": ["transforms"],
|
|
1153
|
+
"transform.getRun": ["transforms"],
|
|
1154
|
+
"transform.runPages": ["transforms"],
|
|
1155
|
+
"transform.runSummaryPages": ["unifiedTransformRuns", "transforms"],
|
|
1156
|
+
"transform.resetCheckpoint": ["transformCheckpointReset", "transforms"],
|
|
1157
|
+
"transform.runDag": ["transformDagRuns", "transforms"],
|
|
1158
|
+
"transform.dagTransforms": ["transformDagRuns", "transforms"],
|
|
1159
|
+
"transform.run": ["transforms"],
|
|
1160
|
+
"transformDagRun.transformRuns": ["transformDagRuns", "transforms"],
|
|
1161
|
+
"transformDagRun.cancel": ["transformDagRuns", "transforms"],
|
|
1162
|
+
"transformInspector.discover": ["transformInspector"],
|
|
1163
|
+
"transformInspector.lens": ["transformInspector"],
|
|
1164
|
+
"transformInspector.query": ["transformInspector"],
|
|
1165
|
+
"transformJob.list": ["transforms"],
|
|
1166
|
+
"transformJob.get": ["transforms"],
|
|
1167
|
+
"transformJob.create": ["transforms"],
|
|
1168
|
+
"transformJob.update": ["transforms"],
|
|
1169
|
+
"transformJob.delete": ["transforms"],
|
|
1170
|
+
"transformJob.run": ["transforms"],
|
|
1171
|
+
"transformJob.transforms": ["transforms"],
|
|
1172
|
+
"transformJob.setActive": ["transformJobActivation", "transforms"],
|
|
1173
|
+
"transformPython.getLibrary": ["pythonLibrary"],
|
|
1174
|
+
"transformPython.updateLibrary": ["pythonLibrary"],
|
|
1175
|
+
"transformPython.testRun": ["pythonTestRun"],
|
|
1176
|
+
"transformTag.list": ["transforms"],
|
|
1177
|
+
"transformTag.create": ["transforms"],
|
|
1178
|
+
"transformTag.update": ["transforms"],
|
|
1179
|
+
"transformTag.delete": ["transforms"],
|
|
1180
|
+
"transformTest.list": ["transformTests"],
|
|
1181
|
+
"transformTest.get": ["transformTests"],
|
|
1182
|
+
"transformTest.create": ["transformTests"],
|
|
1183
|
+
"transformTest.update": ["transformTests"],
|
|
1184
|
+
"transformTest.delete": ["transformTests"],
|
|
1185
|
+
"transformTest.run": ["transformTests"],
|
|
1186
|
+
"upload.createFromCsv": [],
|
|
1187
|
+
"user.current": []
|
|
1188
|
+
};
|
|
1189
|
+
function isMethodKey(key) {
|
|
1190
|
+
return Object.hasOwn(METHOD_REQUIREMENTS, key);
|
|
1191
|
+
}
|
|
1192
|
+
const METHOD_KEYS = Object.keys(METHOD_REQUIREMENTS).filter(isMethodKey);
|
|
1193
|
+
function methodRequirements(key) {
|
|
1194
|
+
return METHOD_REQUIREMENTS[key];
|
|
686
1195
|
}
|
|
687
1196
|
//#endregion
|
|
688
1197
|
//#region src/runtime/command-help.ts
|
|
@@ -708,6 +1217,10 @@ const CommandHelpSkill = z.object({
|
|
|
708
1217
|
skill: z.string(),
|
|
709
1218
|
purpose: z.string()
|
|
710
1219
|
});
|
|
1220
|
+
const CommandHelpRequires = z.object({
|
|
1221
|
+
methods: z.array(z.enum(METHOD_KEYS)),
|
|
1222
|
+
features: z.array(z.enum(FEATURE_NAMES))
|
|
1223
|
+
});
|
|
711
1224
|
z.object({
|
|
712
1225
|
command: z.string(),
|
|
713
1226
|
description: z.string().nullable(),
|
|
@@ -717,7 +1230,7 @@ z.object({
|
|
|
717
1230
|
args: z.array(CommandHelpArg),
|
|
718
1231
|
inputSchema: z.unknown().nullable(),
|
|
719
1232
|
outputSchema: z.unknown().nullable(),
|
|
720
|
-
|
|
1233
|
+
requires: CommandHelpRequires.nullable()
|
|
721
1234
|
});
|
|
722
1235
|
const CommandIndexEntry = z.object({
|
|
723
1236
|
command: z.string(),
|
|
@@ -734,7 +1247,7 @@ const EMPTY_AUGMENT = {
|
|
|
734
1247
|
skills: [],
|
|
735
1248
|
inputSchema: null,
|
|
736
1249
|
outputSchema: null,
|
|
737
|
-
|
|
1250
|
+
requires: null
|
|
738
1251
|
};
|
|
739
1252
|
async function buildHelpEntry(cmd, path) {
|
|
740
1253
|
const meta = await resolveCitty(cmd.meta);
|
|
@@ -748,7 +1261,7 @@ async function buildHelpEntry(cmd, path) {
|
|
|
748
1261
|
args: convertArgs(args),
|
|
749
1262
|
inputSchema: augment.inputSchema ? z.toJSONSchema(augment.inputSchema) : null,
|
|
750
1263
|
outputSchema: augment.outputSchema ? z.toJSONSchema(augment.outputSchema) : null,
|
|
751
|
-
|
|
1264
|
+
requires: augment.requires
|
|
752
1265
|
};
|
|
753
1266
|
if (augment.details !== null) entry.details = augment.details;
|
|
754
1267
|
return entry;
|
|
@@ -1059,4 +1572,4 @@ run().catch((error) => {
|
|
|
1059
1572
|
reportError(error);
|
|
1060
1573
|
});
|
|
1061
1574
|
//#endregion
|
|
1062
|
-
export {
|
|
1575
|
+
export { FailedResultError as $, ENV_SKILLS_DIR as A, listFlags as B, promptSelect as C, ENV_API_KEY as D, warn as E, ProfileRefreshedError as F, listEnvelopeSchema as G, outputFlags as H, setMetabaseAugment as I, normalizeFlag as J, listEnvelopeSchemaWithExtras as K, name as L, ENV_URL as M, consumeLegacyEnvWarnings as N, ENV_DISABLE_KEYRING as O, readEnv as P, ConfigError as Q, version as R, promptPassword as S, listTruncationNotice as T, profileFlag as U, listFlagsWithDefaultLimit as V, DEFAULT_MAX_BYTES as W, AbortError as X, toAliasArray as Y, ChainedRequestError as Z, formatScalar as _, Features as a, UnknownError as at, isPlainObject as b, ruleGap as c, isFileNotFoundError as ct, renderList as d, InternalError as et, renderListWithExtras as f, MALFORMED_CELL as g, writeText as h, FEATURE_RULES as i, TimeoutError as it, ENV_SKIP_PREFLIGHT as j, ENV_PROFILE as k, reportError as l, KNOWN_RANGE as lt, writeJson as m, methodRequirements as n, NetworkError as nt, evaluateFeatures as o, ValidationError as ot, renderSummary as p, flagConsumesValue as q, FEATURE_NAMES as r, ResponseShapeError as rt, isFeatureName as s, errorMessage as st, interruptSignal as t, MetabaseError as tt, renderItem as u, escapeJsonPointerSegment as ut, renderRows as v, promptText as w, promptConfirm as x, projectForList as y, connectionFlags as z };
|