@metabase/cli 0.5.0 → 0.5.2
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-COtKcy6Y.mjs → add-collection-C0BQHjJd.mjs} +5 -5
- package/dist/{alert-DMlSjPEv.mjs → alert-mXHOt00T.mjs} +7 -7
- package/dist/{alerts-s3al16NZ.mjs → alerts-CyB1Z7AU.mjs} +6 -6
- package/dist/{append-CbGmdeLw.mjs → append-DeHhUAeY.mjs} +4 -4
- package/dist/{archive-DvbaSglr.mjs → archive-B1MA5MZp.mjs} +5 -5
- package/dist/{archive-CnDriekB.mjs → archive-Bi-Sfq5T.mjs} +5 -5
- package/dist/{archive-BFmx4B91.mjs → archive-CCKxZEuq.mjs} +5 -5
- package/dist/{archive-BZCYIBhQ.mjs → archive-CDSAXKKB.mjs} +5 -5
- package/dist/{archive-5EY9UJU_.mjs → archive-CfNLlebd.mjs} +6 -6
- package/dist/archive-CjVd1fJ5.mjs +32 -0
- package/dist/{archive-Ce4eArrs.mjs → archive-CpvpGZlz.mjs} +3 -3
- package/dist/{archive-DDO2XX0E.mjs → archive-DRMXvkiI.mjs} +4 -4
- package/dist/{archive-a05W75XH.mjs → archive-DfDqPgtk.mjs} +3 -3
- package/dist/{archive-DzSdJVqE.mjs → archive-DpgtAdEa.mjs} +5 -5
- package/dist/{archive-C_UHeanE.mjs → archive-HCVTRXI2.mjs} +3 -3
- package/dist/{archive-DW7x0IFB.mjs → archive-qy0CFo1s2.mjs} +5 -5
- package/dist/{auth-DOz7KW5E.mjs → auth-_cdypXeX.mjs} +5 -5
- package/dist/{body-Di7940x_.mjs → body-C0VnEiRV.mjs} +2 -2
- package/dist/{branch-flag-CfJ8vwgu.mjs → branch-flag-CPTQ4wXp.mjs} +1 -1
- package/dist/{branches-BC-vlk6i.mjs → branches-C7mNYAky.mjs} +3 -3
- package/dist/{breaking-ByrjsFjq.mjs → breaking-BindR3ZW.mjs} +6 -6
- package/dist/{broken-DLSk1T88.mjs → broken-SoXfkx7d.mjs} +8 -8
- package/dist/{bulk-discard-values-VKGj8c7z.mjs → bulk-discard-values-D_d5_1w5.mjs} +5 -5
- package/dist/{bulk-edit-CpuleeCQ.mjs → bulk-edit-Cce05vb_.mjs} +5 -5
- package/dist/{bulk-rescan-values-DeGwiqLS.mjs → bulk-rescan-values-DIQN4VT_.mjs} +5 -5
- package/dist/{bulk-sync-schema-BKVhauW1.mjs → bulk-sync-schema-DLWf5dCl.mjs} +5 -5
- package/dist/{cancel-qKj45001.mjs → cancel-rnd6UI-6.mjs} +3 -3
- package/dist/{cancel-task-nmBBd1Ky.mjs → cancel-task-acq1GT6Z.mjs} +4 -4
- package/dist/{card-DSrgU7lT.mjs → card-3NmUiU5F.mjs} +1 -1
- package/dist/card-BnL92zoT.mjs +25 -0
- package/dist/{card-Bv4ZN0oV.mjs → card-QR3zEu6E.mjs} +39 -26
- package/dist/{cards-Bq73s48q.mjs → cards-DmzPtx81.mjs} +6 -6
- package/dist/cli.mjs +200 -49
- package/dist/{client-BmURNkkW.mjs → client-D-Aw6JLk.mjs} +202 -618
- package/dist/{collection-C03LXnCT.mjs → collection-D5vt2IJ_.mjs} +1 -1
- package/dist/{collection-zrZoJfgR.mjs → collection-DNmFKALA.mjs} +12 -3
- package/dist/collection-DRHGwFSL.mjs +21 -0
- package/dist/{collection-namespace-DaDzK31i.mjs → collection-namespace-Dl8_7xII.mjs} +1 -1
- package/dist/{content-translation-BlG41YrA.mjs → content-translation-DxT1OMnP.mjs} +3 -3
- package/dist/{copy-DTiYs_a2.mjs → copy-BTdTiDQo.mjs} +6 -6
- package/dist/{copy-DOKlVa7H.mjs → copy-CyFf3e2Y.mjs} +6 -6
- package/dist/{copy-flags-BhGWC5kS.mjs → copy-flags-CTM91pxH.mjs} +2 -2
- package/dist/{create-DraZzrLO.mjs → create-B3QZpifA.mjs} +7 -7
- package/dist/{create-B5BwdPwT.mjs → create-B6dABrs7.mjs} +6 -6
- package/dist/create-BH6zpwKD.mjs +34 -0
- package/dist/{create-BpwZJZxb.mjs → create-Bg3WTMMU.mjs} +5 -5
- package/dist/{create-JaFhqysM.mjs → create-BwIOlpLc.mjs} +5 -5
- package/dist/{create-BKKNIe93.mjs → create-C3rabvE_.mjs} +5 -5
- package/dist/{create-Duj_2YIF.mjs → create-Ce5YVusp.mjs} +4 -4
- package/dist/create-Ch-NbeMr.mjs +48 -0
- package/dist/{create-Cob0gLsA.mjs → create-CuJJd7Rh.mjs} +5 -5
- package/dist/{create-1rLk8b5q.mjs → create-D6NLpIzV.mjs} +3 -3
- package/dist/{create-B1bX6ngX.mjs → create-DeCPAYJi.mjs} +4 -4
- package/dist/{create-d0trLAzB.mjs → create-DeiBnRRz.mjs} +6 -6
- package/dist/{create-C0kz0oYc.mjs → create-DiG165B2.mjs} +5 -5
- package/dist/{create-B1QDNU1x.mjs → create-Dn8V5siS.mjs} +6 -6
- package/dist/{create-BXX_n64u.mjs → create-DsCydgm22.mjs} +5 -5
- package/dist/{create-vOw8gmBU.mjs → create-GU8_GNbN.mjs} +3 -3
- package/dist/{create-branch-B5jB4tKk.mjs → create-branch-C4Ql9G2g.mjs} +4 -4
- package/dist/{create-DUytP2Y1.mjs → create-qtTB8rIE.mjs} +4 -4
- package/dist/{create-DPggIXfn.mjs → create-roJbQOmm.mjs} +4 -4
- package/dist/{csv-DfExp9H_.mjs → csv-DmuyyLdz.mjs} +4 -4
- package/dist/{current-task-CbXIH_RA.mjs → current-task-C2PPBVVv.mjs} +4 -4
- package/dist/dashboard-Bq1pae4N.mjs +35 -0
- package/dist/{dashboard-Phz3XpRM.mjs → dashboard-Chjy5GKR.mjs} +52 -5
- package/dist/{dashboard-XSTr9QCr.mjs → dashboard-D5E3fMKh.mjs} +1 -1
- package/dist/data-action-BZ2PvlaP.mjs +24 -0
- package/dist/data-action-DZxVB_hD.mjs +85 -0
- package/dist/data-action-R9qxJDPA.mjs +40 -0
- package/dist/{database-BdKkae1m.mjs → database-CxykzTAA.mjs} +14 -3
- package/dist/{database-DoNoZ8Yc.mjs → database-D8XzgJEz.mjs} +19 -2
- package/dist/{dataset-DZgJm5hP.mjs → dataset-DIQLAp2P.mjs} +5 -4
- package/dist/db-BgKKN1-4.mjs +25 -0
- package/dist/{delete-DJ7SNXiH.mjs → delete-5ZOvFr-7.mjs} +4 -4
- package/dist/delete-B3aylPHD.mjs +44 -0
- package/dist/{delete-hwPqKXeY.mjs → delete-CH32Ew4m.mjs} +4 -4
- package/dist/{delete-D0xFMRRq.mjs → delete-CS6hsBnd.mjs} +4 -4
- package/dist/{delete-hcw_4pBG.mjs → delete-DeqGTuwO.mjs} +4 -4
- package/dist/{delete-9xHRd2CG.mjs → delete-DiZg2wit.mjs} +4 -4
- package/dist/delete-DtIbkF42.mjs +44 -0
- package/dist/{delete-B4BfGfiJ.mjs → delete-_XC6R-Jn.mjs} +4 -4
- package/dist/{delete-runtime-DkgYUQ_n.mjs → delete-runtime-DRGveT8H.mjs} +1 -1
- package/dist/{delete-table-DhTMft7u.mjs → delete-table-BEuMlqw1.mjs} +4 -4
- package/dist/{dependencies-B8H2gA04.mjs → dependencies-DD48u9i3.mjs} +5 -5
- package/dist/dependency-6kfpR8Ga.mjs +15 -0
- package/dist/{dependency-tQBxYjFX.mjs → dependency-CaC6XuTY.mjs} +2 -2
- package/dist/{dependency-Dc33mjgd.mjs → dependency-Dxvb2Znu.mjs} +2 -2
- package/dist/{dependents-B2GcS5kB.mjs → dependents-ByfHs8pO.mjs} +9 -9
- package/dist/{dirty-Cz2rUd6S.mjs → dirty-DsrGfLit.mjs} +5 -5
- package/dist/{discard-values-QWuWGaVK.mjs → discard-values-BfpwwC62.mjs} +5 -5
- package/dist/document-C0mZEg5w.mjs +20 -0
- package/dist/{document-wfWbV0B_.mjs → document-DVIu3Vj4.mjs} +1 -1
- package/dist/{document-BDobDiap.mjs → document-UMG6me2P.mjs} +1 -1
- package/dist/{download-Dw15fUMy.mjs → download-kpgGtfpw.mjs} +2 -2
- package/dist/{eid-Ex4G-ZlN.mjs → eid-Tp-ACZ4O.mjs} +4 -5
- package/dist/{eid-translation-zEHtr5Oc.mjs → eid-translation-Ba92VOHe.mjs} +1 -0
- package/dist/{entity-DBKPaMr5.mjs → entity-DjDkaMkB.mjs} +2 -2
- package/dist/{entry-flags-DgY3IXFe.mjs → entry-flags-nhBrUS6p.mjs} +4 -4
- package/dist/{events-BibJ4ya0.mjs → events-Dm9-ofXu.mjs} +6 -6
- package/dist/execute-BL0dAlrp.mjs +45 -0
- package/dist/{export-U8MdaatW.mjs → export-CIW-dHft.mjs} +24 -12
- package/dist/{export-flags-BrfeyE8D.mjs → export-flags-CpukgETM.mjs} +14 -6
- package/dist/{export-preflight-A28L45au.mjs → export-preflight-BMlz3Hp9.mjs} +5 -5
- package/dist/field-BUkyWiWk.mjs +21 -0
- package/dist/{field-wmN6raOG.mjs → field-BVz4AS3f.mjs} +1 -1
- package/dist/{field-5nivEfd6.mjs → field-DoWQUl7V.mjs} +58 -45
- package/dist/{fields-i1TFa_th.mjs → fields-CcerFaiu.mjs} +6 -6
- package/dist/{filter-flags-Bm3vuSM-.mjs → filter-flags-DhE4olyf.mjs} +5 -4
- package/dist/{fks-Dcfn3-73.mjs → fks-CYfBesHV.mjs} +6 -6
- package/dist/{get-D0NZ0ZO1.mjs → get--E7UvR-v.mjs} +5 -5
- package/dist/{get-Dz3dNirC.mjs → get-B0RQPTV-2.mjs} +5 -5
- package/dist/{get-CCLWWqTD.mjs → get-BFloqjrN.mjs} +4 -4
- package/dist/{get-B4_3DID6.mjs → get-BLnQ2aut.mjs} +5 -5
- package/dist/{get-DqYn9mez.mjs → get-BaiyMem3.mjs} +4 -4
- package/dist/{get-CobILQ_7.mjs → get-Be7yjY9v.mjs} +6 -6
- package/dist/get-BvEHWLGL.mjs +32 -0
- package/dist/get-CEJE9Rmp.mjs +31 -0
- package/dist/{get-EKBYludD.mjs → get-CRfrkxqc.mjs} +3 -3
- package/dist/{get-DPZUIPjv.mjs → get-CZgAr8rM.mjs} +5 -5
- package/dist/{get-BKDTRMNU.mjs → get-Cj3-w_Nu.mjs} +5 -5
- package/dist/{get-BCdtCwaG.mjs → get-CmxYFUuR.mjs} +3 -3
- package/dist/{get-Cwj1Q-at.mjs → get-DHSuVxrH.mjs} +5 -5
- package/dist/{get-C3ojRVJ_.mjs → get-DKbGKa6F.mjs} +4 -4
- package/dist/{get-HFQSttF3.mjs → get-DRhcS76J.mjs} +5 -5
- package/dist/{get-BiPSePQc.mjs → get-Dp45rXRS.mjs} +3 -3
- package/dist/{get-DUwX-RU82.mjs → get-HzDQViDP2.mjs} +5 -5
- package/dist/{get-CcwRn8Y2.mjs → get-LRTRu85E.mjs} +5 -5
- package/dist/{get-IjoHBExI.mjs → get-RCDF-hEq.mjs} +5 -5
- package/dist/{get-CVpIQb8v.mjs → get-eNRULmE5.mjs} +5 -5
- package/dist/{get-hAoJtVCK.mjs → get-p2sZvp7v.mjs} +3 -3
- package/dist/{get-run-B2SnsZSY.mjs → get-run-C3AHKn3-.mjs} +4 -4
- package/dist/git-sync-CNTB5jvI.mjs +29 -0
- package/dist/{git-sync-Ch1V1fEK.mjs → git-sync-D1aKczo6.mjs} +15 -8
- package/dist/{git-sync-COokpYgc.mjs → git-sync-DP4wQFzm.mjs} +18 -1
- package/dist/glossary-B9Eo4hXc.mjs +14 -0
- package/dist/{glossary-wnuxoE_I.mjs → glossary-BkGmCI4X.mjs} +1 -1
- package/dist/{glossary-6LLpItof.mjs → glossary-QN-hHfOT.mjs} +1 -1
- package/dist/{graph-CHlfxVy1.mjs → graph-BGOYocJc.mjs} +6 -6
- package/dist/{group-B3X3LTcU.mjs → group-81zoQcEP.mjs} +1 -1
- package/dist/{has-remote-changes-DCMpqGgE.mjs → has-remote-changes-DxsRvZsw.mjs} +4 -4
- package/dist/{import-C7MZhKo6.mjs → import-izn2_OsW.mjs} +7 -7
- package/dist/{is-dirty-DpLyHebS.mjs → is-dirty-DHYYRl6Y.mjs} +2 -2
- package/dist/{items-1ME_eg27.mjs → items-mIoZBqUc.mjs} +6 -6
- package/dist/{key-DMtgTOwN.mjs → key-BYEv4Wgq.mjs} +2 -2
- package/dist/{library-D2ogEIfI.mjs → library-5I0TlXmf.mjs} +5 -5
- package/dist/{library-fWEv38OB.mjs → library-DKIqzyUk.mjs} +2 -2
- package/dist/{library-CP-9yepy.mjs → library-wUiD2jbw.mjs} +1 -1
- package/dist/{list-BUwDGyIu.mjs → list-B6TYzXyW.mjs} +5 -5
- package/dist/{list-Ud7F0XdU.mjs → list-B8FPpgct.mjs} +3 -3
- package/dist/{list-B0h-j1E7.mjs → list-BEBAq1xc.mjs} +5 -5
- package/dist/{list-OXiXtdiM.mjs → list-BKhJfFyB.mjs} +5 -5
- package/dist/{list-STy8UHs2.mjs → list-BxIulkp3.mjs} +6 -6
- package/dist/{list-CQi3AgS5.mjs → list-C-f-G-cC.mjs} +5 -5
- package/dist/{list-dCi6OaIE.mjs → list-C1dEh2yq.mjs} +6 -6
- package/dist/{list-DkCadZ2E.mjs → list-C3CXHKTW.mjs} +5 -5
- package/dist/{list-LMlJ4uAY.mjs → list-C6roDyBd.mjs} +6 -6
- package/dist/{list-CJ5FyCnL.mjs → list-CT7AOXTS.mjs} +4 -4
- package/dist/{list-BUZ91ctZ.mjs → list-CTlIVHeG.mjs} +5 -5
- package/dist/list-CmOTwt_z.mjs +35 -0
- package/dist/list-CpxEOoqw.mjs +48 -0
- package/dist/{list-DzP7YXdZ.mjs → list-CuEPFHrk.mjs} +3 -3
- package/dist/{list-DBAEy3Rx.mjs → list-D8jiz8YP.mjs} +3 -3
- package/dist/{list-NINy7ybI.mjs → list-DV4wojtv.mjs} +4 -4
- package/dist/{list-BXcDPU5d.mjs → list-DVnPzc5m.mjs} +6 -6
- package/dist/list-NeImhwLD.mjs +28 -0
- package/dist/{list-CVh8DHOO.mjs → list-OWPg67JC.mjs} +5 -5
- package/dist/{list-C9996vbS.mjs → list-O_nmgwSj.mjs} +3 -3
- package/dist/{list-C1oEpUZG.mjs → list-jT5ndEGr.mjs} +3 -3
- package/dist/{login-BMON3Fft.mjs → login-DOW1mr40.mjs} +15 -8
- package/dist/{logout-Cx934GzW.mjs → logout-BQ8wywf7.mjs} +2 -2
- package/dist/{measure-CUqJtDNm.mjs → measure-Bz-bGn-Z.mjs} +6 -6
- package/dist/{moderation-review-BdqEH6N1.mjs → moderation-review-Bf9bPNQI.mjs} +1 -1
- package/dist/{notification-CCZ9mrOw.mjs → notification-W2SVssyY.mjs} +1 -1
- package/dist/{parameter-Celg0wZa.mjs → parameter-DvRQMKd2.mjs} +6 -6
- package/dist/{parameter-values-DCrU02Az.mjs → parameter-values-B7rr6fcy.mjs} +21 -7
- package/dist/{parse-enum-Do5Cptbv.mjs → parse-enum-DAcTzG1q.mjs} +1 -1
- package/dist/{parse-id-oCbmouCn.mjs → parse-id-5BZGQ9Vd.mjs} +1 -1
- package/dist/{parse-ref-Df8gusl4.mjs → parse-ref-ByXc-pls.mjs} +1 -1
- package/dist/{parse-text-CVrP7GmZ.mjs → parse-text-FgX60vIg.mjs} +1 -1
- package/dist/{path-DTuSDGd6.mjs → path-CHQguAPa.mjs} +4 -4
- package/dist/{poll-BKo5dK0l.mjs → poll-CgtcJopL.mjs} +2 -2
- package/dist/{preflight-UeYuGDPr.mjs → preflight-ChTKhB8Y.mjs} +2 -2
- package/dist/{process-BpmZXbcw.mjs → process-aqXm5QgC.mjs} +1 -1
- package/dist/{publish-D3GwLC-K.mjs → publish-CaoFOucS.mjs} +4 -4
- package/dist/{pulse-Dz0ocv0l.mjs → pulse-CC81N2_0.mjs} +1 -1
- package/dist/{pulse-DzVPfb5J.mjs → pulse-JPrq6NFP.mjs} +2 -2
- package/dist/{query-Ct697cY-.mjs → query-0u1WR1bV.mjs} +13 -12
- package/dist/query-BKtMP5eH.mjs +13 -0
- package/dist/{query-B1Cp9EO6.mjs → query-CzDBwAZD.mjs} +17 -7
- package/dist/{remapping-RsoPWE7c.mjs → remapping-CodmT28F.mjs} +5 -5
- package/dist/{remove-collection-BJo3Wd9K.mjs → remove-collection-DfUsf6Dd.mjs} +5 -5
- package/dist/{render-C_ev6qoW.mjs → render-DP6UoZNT.mjs} +2 -2
- package/dist/{replace-BSAGp3cR.mjs → replace-qWiUOgmn.mjs} +4 -4
- package/dist/{requirement-check-T3bjQ0Mr.mjs → requirement-check-sfmyH2PH.mjs} +2 -2
- package/dist/{rescan-values-rpro4Kw2.mjs → rescan-values-BcrhdSj_.mjs} +5 -5
- package/dist/{rescan-values-CE62_2dc.mjs → rescan-values-BuDmeda3.mjs} +5 -5
- package/dist/{run-BI1QO9Kn.mjs → run-BBRnFayr.mjs} +7 -7
- package/dist/{run-B3BRodEp.mjs → run-BG_5lR0x.mjs} +4 -4
- package/dist/run-DXXD-CnS.mjs +63 -0
- package/dist/{runs-CUseZezf.mjs → runs-CovgMSwy.mjs} +5 -5
- package/dist/{runtime-C5Ha6Ou8.mjs → runtime-Cmes70jO.mjs} +63 -80
- package/dist/{schema-tables-C7YkyRh0.mjs → schema-tables-CjKl8jr5.mjs} +6 -6
- package/dist/{schemas-Bj5sJ9uB.mjs → schemas-CAGvBAD_.mjs} +4 -4
- package/dist/{search-BAXg-EJw.mjs → search-1et9tv_s.mjs} +22 -4
- package/dist/{search-BsAwK7Rk.mjs → search-DFU6FHRd.mjs} +6 -6
- package/dist/{search-CB1A4HWx.mjs → search-OpYS2Ub4.mjs} +21 -6
- package/dist/{segment-BEjaeLc5.mjs → segment-D-SKpFzF.mjs} +6 -6
- package/dist/{send-Dfh8d1gG.mjs → send-DNu83_3E.mjs} +3 -3
- package/dist/{set-DA8dKyzi.mjs → set-CGYZcLVo.mjs} +4 -4
- package/dist/{set-active-AyjKtBD-.mjs → set-active-32IaLx1O.mjs} +4 -4
- package/dist/set-data-actions-DRhgAfhE.mjs +46 -0
- package/dist/{set-sensitivity-D0613dHA.mjs → set-sensitivity-D_i3XEe8.mjs} +6 -6
- package/dist/{setting-B-bxCkC0.mjs → setting-BBn9Lv9J.mjs} +4 -4
- package/dist/{setup-Bvvqlz9d.mjs → setup-8d7Uplhy.mjs} +3 -3
- package/dist/{signal-Dm4N0Bcc.mjs → signal-D8MH3LMN.mjs} +1 -1
- package/dist/{skill-list-DkuCf0k4.mjs → skill-list-D2FhhYS3.mjs} +1 -1
- package/dist/{skills-DlDCTGVE.mjs → skills-BZGd_9d3.mjs} +2 -2
- package/dist/{skills-DxrO7HUz.mjs → skills-BeIDC-_H.mjs} +3 -3
- package/dist/snippet-CpZ5cJ_y.mjs +19 -0
- package/dist/{stash-j9JPv3ns.mjs → stash-Dyc1xZ8u.mjs} +6 -6
- package/dist/{status-DcbvbRc5.mjs → status-CQZwl1PX.mjs} +3 -3
- package/dist/{status-DxNcrfnI.mjs → status-lCN8unWe.mjs} +37 -16
- package/dist/{subscription-CSR2t-xK.mjs → subscription-CEFxmtGH.mjs} +6 -6
- package/dist/{subscriptions--0YvW40u.mjs → subscriptions-AU14uznL.mjs} +6 -6
- package/dist/{summary-Dslv78-r.mjs → summary-Do9IBOQM.mjs} +5 -5
- package/dist/{sync-schema-Dgij5ICd.mjs → sync-schema-B3nyoKZl.mjs} +5 -5
- package/dist/{sync-schema-BSJiokQf.mjs → sync-schema-_gw9RQyF.mjs} +6 -6
- package/dist/{sync-task-a1zyF1Qb.mjs → sync-task-DNKG9Bk4.mjs} +4 -3
- package/dist/{table-Uvu1roSx.mjs → table-BDsqRU7a.mjs} +3 -3
- package/dist/{table-zAdW5_3H.mjs → table-CF7zW9cI.mjs} +33 -20
- package/dist/table-Cb_Uvw8m.mjs +26 -0
- package/dist/{table-selector-flags-B9OiA3Z1.mjs → table-selector-flags-CHfrVpYQ.mjs} +3 -3
- package/dist/{text-821Rn8M9.mjs → text-C2VwKF9D.mjs} +1 -1
- package/dist/{timeline-uDCmwGFT.mjs → timeline-BgWz8DYK.mjs} +1 -1
- package/dist/{timeline-CCSU2qOS.mjs → timeline-DcsCXNUt.mjs} +5 -1
- package/dist/{timeline-event-CSzx8EDP.mjs → timeline-event-B-nGnoVL.mjs} +6 -6
- package/dist/timeline-x0s_3sfc.mjs +21 -0
- package/dist/{transform-BKX6tl3i.mjs → transform-CWGJB8N_.mjs} +1 -1
- package/dist/{transform-job-AaMZRxAq.mjs → transform-job-BBZ5L46v.mjs} +1 -1
- package/dist/{transform-job-CCguL6LP.mjs → transform-job-ClX8e5iO.mjs} +2 -1
- package/dist/transform-job-Dlx2c6II.mjs +22 -0
- package/dist/transform-kP11Mv9_.mjs +28 -0
- package/dist/{transform-tag-DHg7j15d.mjs → transform-tag-dKCqQPTd.mjs} +5 -5
- package/dist/transform-test-Bexa_K89.mjs +173 -0
- package/dist/transform-test-C49ZTK7M.mjs +32 -0
- package/dist/transform-test-jFuzVhlT.mjs +16 -0
- package/dist/{transforms-DwxPfMiG.mjs → transforms-DRAws1f4.mjs} +5 -5
- package/dist/transport-Ck4anhoc.mjs +416 -0
- package/dist/{tree-COFmA20J.mjs → tree-Ddsj298M.mjs} +3 -3
- package/dist/{unpublish-BQClh4U7.mjs → unpublish-BMfjQ8UV.mjs} +3 -3
- package/dist/{unreferenced-DKc0zZDl.mjs → unreferenced-DRQrvH5r.mjs} +6 -6
- package/dist/{update-CMRWXoZ2.mjs → update-0AoF6QJ_.mjs} +4 -4
- package/dist/{update-BVFfoopT.mjs → update-6sfqiInZ.mjs} +5 -5
- package/dist/{update-MxvqmZ3z.mjs → update-8eXJso_l.mjs} +6 -6
- package/dist/{update-BNwjjMk6.mjs → update-BCC1Igr2.mjs} +5 -5
- package/dist/{update-CFfr1ZdL.mjs → update-BIL0JPqm.mjs} +4 -4
- package/dist/{update-BVMgrMy7.mjs → update-BQLTaw3z.mjs} +6 -6
- package/dist/{update-CPmPnEvm.mjs → update-Bpsdi6kM.mjs} +6 -6
- package/dist/{update-kM3TDlEp.mjs → update-BtfUX9CN.mjs} +8 -8
- package/dist/{update-myfBF5qV.mjs → update-C19B1Sry.mjs} +6 -6
- package/dist/{update-Ca8LSZer.mjs → update-C1VwtJWu.mjs} +5 -5
- package/dist/update-C1x90FSH.mjs +52 -0
- package/dist/{update-C9HK3i8s.mjs → update-CGpiLu7N.mjs} +8 -8
- package/dist/{update-Dwr3n7_n.mjs → update-CnxzmPRG.mjs} +7 -7
- package/dist/update-D1aKeWfo.mjs +41 -0
- package/dist/{update-Bgy2amR0.mjs → update-DlFHoUxe.mjs} +6 -6
- package/dist/{update-DJwu8UT2.mjs → update-DpP1EEC0.mjs} +6 -6
- package/dist/{update-B-wcIl8T.mjs → update-DrT10fxQ.mjs} +6 -6
- package/dist/{update-B8jQTspb.mjs → update-_hHnM1Hx.mjs} +7 -8
- package/dist/{update-dashcard-C8QN2Qcu.mjs → update-dashcard-CDI0Tnxy.mjs} +7 -7
- package/dist/{update-BBLbEPEP.mjs → update-pXVhyiFo.mjs} +6 -6
- package/dist/{upgrade-BBOEVIRa.mjs → upgrade-Cfouv1Ii.mjs} +4 -4
- package/dist/upload-Cqv-In6j.mjs +13 -0
- package/dist/{upload-CoBd4qBp.mjs → upload-DIEcI5iM.mjs} +3 -3
- package/dist/{upload-CxpXpjCf.mjs → upload-DnLXgUA-.mjs} +3 -3
- package/dist/{uuid-DW30GY7B.mjs → uuid-D0sH5txV.mjs} +2 -2
- package/dist/{validate-n85yMraN.mjs → validate-BQ7vI8_x.mjs} +1 -1
- package/dist/{validate-query-BwXvFFYi.mjs → validate-query-YtH3d5BP.mjs} +7 -3
- package/dist/{values-B6eFE4K5.mjs → values-BFPO6y5o.mjs} +5 -5
- package/dist/{verify-DnU-wXIs.mjs → verify-7fW020r_.mjs} +3 -3
- package/dist/{verify-BSq7x66g.mjs → verify-C-StvB4f.mjs} +5 -5
- package/dist/{verify-Dp8tUbP3.mjs → verify-CuGs0X3C.mjs} +5 -5
- package/dist/{verify-flags-CMpRkMPa.mjs → verify-flags-DEVMB9w0.mjs} +1 -1
- package/dist/{wait-D6Tw4ZxO.mjs → wait-Cvt8xO0h.mjs} +6 -6
- package/dist/{wait-flags-BRUzMI6S.mjs → wait-flags-BnZ-dfE2.mjs} +2 -2
- package/dist/{window-BqMFpWMh.mjs → window-CfK_j6m1.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +11 -5
- package/skill-data/data-action/SKILL.md +136 -0
- package/skill-data/git-sync/SKILL.md +3 -3
- package/skill-data/native-sql/SKILL.md +1 -1
- package/skill-data/transform/SKILL.md +64 -2
- package/skill-data/transform-test-plan/SKILL.md +82 -0
- package/skill-data/transform-test-plan/references/checklist.md +32 -0
- package/skill-data/transform-test-plan/references/checks.md +156 -0
- package/dist/card-Buc-X4Mh.mjs +0 -25
- package/dist/collection-D-sS0AFw.mjs +0 -21
- package/dist/dashboard-DH_soSQp.mjs +0 -35
- package/dist/db-C82M3Gpg.mjs +0 -24
- package/dist/dependency-CLznxtLE.mjs +0 -15
- package/dist/document-WhSEyI-3.mjs +0 -20
- package/dist/embedding-i-KqpefC.mjs +0 -9
- package/dist/field-qF1KRJYB.mjs +0 -21
- package/dist/git-sync-BlgB_-8-.mjs +0 -29
- package/dist/glossary-BvVxqjxJ.mjs +0 -14
- package/dist/input-sRdxNc3T.mjs +0 -61
- package/dist/list-BoVeF8QA.mjs +0 -38
- package/dist/snippet-B7Kau5U8.mjs +0 -19
- package/dist/table-qjgz2eek.mjs +0 -26
- package/dist/timeline-CNkrY3e3.mjs +0 -21
- package/dist/transform-Y86R7_2F.mjs +0 -28
- package/dist/transform-job-Cg_1jzWI.mjs +0 -22
- package/dist/upload-fcim1xtK.mjs +0 -13
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { a as CollectionCompact, r as Collection } from "./collection-
|
|
4
|
-
import { i as tableSelectorFlags, n as parseTableSelectors } from "./table-selector-flags-
|
|
1
|
+
import { Mt as errorMessage, c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags, w as warn } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
3
|
+
import { a as CollectionCompact, r as Collection } from "./collection-DNmFKALA.mjs";
|
|
4
|
+
import { i as tableSelectorFlags, n as parseTableSelectors } from "./table-selector-flags-CHfrVpYQ.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/git-sync/sync-scope.ts
|
|
7
7
|
function isOutsideSyncScope(collection) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as PulseChannel, r as PulseCompact } from "./pulse-
|
|
1
|
+
import { p as MALFORMED_CELL } from "./cli.mjs";
|
|
2
|
+
import { n as PulseChannel, r as PulseCompact } from "./pulse-CC81N2_0.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/output/views/pulse.ts
|
|
5
5
|
const PulseChannelList = z.array(PulseChannel);
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
1
|
+
import { G as chainRequestFailure, St as ConfigError, W as HttpError, Z as parseJson, a as renderItem, c as renderSummary, ct as outputFlags, d as writeJson, lt as profileFlag, p as MALFORMED_CELL, rt as connectionFlags, u as serializeJson } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
3
|
+
import { t as readBody } from "./body-C0VnEiRV.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
5
|
+
import { o as CardQueryResult } from "./card-QR3zEu6E.mjs";
|
|
6
|
+
import { t as Field } from "./field-DoWQUl7V.mjs";
|
|
7
|
+
import { a as VisualizationSettings, t as DatasetQuery } from "./query-BKtMP5eH.mjs";
|
|
8
|
+
import { p as TableQueryMetadata } from "./table-CF7zW9cI.mjs";
|
|
9
|
+
import { t as Database } from "./database-CxykzTAA.mjs";
|
|
9
10
|
import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
|
|
10
|
-
import { a as VirtualTable, i as QueryMetadataCompact, n as CompiledQueryCompact, r as QueryMetadata, t as CompiledQuery } from "./dataset-
|
|
11
|
-
import { t as cardQueryView } from "./card-
|
|
12
|
-
import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5, r as getQuerySchemaBundle, t as ValidationOutcome } from "./validate-
|
|
13
|
-
import {
|
|
14
|
-
import { i as formatQueryResult, n as exportFlags, r as readExportRequest, t as assertStreamedOutput } from "./export-flags-
|
|
11
|
+
import { a as VirtualTable, i as QueryMetadataCompact, n as CompiledQueryCompact, r as QueryMetadata, t as CompiledQuery } from "./dataset-DIQLAp2P.mjs";
|
|
12
|
+
import { t as cardQueryView } from "./card-3NmUiU5F.mjs";
|
|
13
|
+
import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5, r as getQuerySchemaBundle, t as ValidationOutcome } from "./validate-BQ7vI8_x.mjs";
|
|
14
|
+
import { s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
|
|
15
|
+
import { i as formatQueryResult, n as exportFlags, r as readExportRequest, t as assertStreamedOutput } from "./export-flags-CpukgETM.mjs";
|
|
15
16
|
import { t as pipeToStdout } from "./stream-McixcoUl.mjs";
|
|
16
17
|
import { z } from "zod";
|
|
17
18
|
//#region src/output/views/dataset.ts
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region ../client/src/domain/query.ts
|
|
3
|
+
const DatasetQuery = z.object({}).loose().refine((value) => "lib/type" in value || "type" in value, { message: "dataset_query must include \"lib/type\" (MBQL 5) or \"type\" (legacy MBQL/native); empty `{}` is rejected" }).describe("MBQL 5, legacy MBQL, or native query");
|
|
4
|
+
const ExportFormat = z.enum([
|
|
5
|
+
"csv",
|
|
6
|
+
"json",
|
|
7
|
+
"xlsx"
|
|
8
|
+
]);
|
|
9
|
+
const PivotExportFormat = ExportFormat.exclude(["json"]);
|
|
10
|
+
const VisualizationSettings = z.record(z.string(), z.unknown());
|
|
11
|
+
const SortDirection = z.enum(["asc", "desc"]);
|
|
12
|
+
//#endregion
|
|
13
|
+
export { VisualizationSettings as a, SortDirection as i, ExportFormat as n, PivotExportFormat as r, DatasetQuery as t };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
5
|
-
import { t as cardQueryView } from "./card-
|
|
6
|
-
import { i as formatQueryResult, n as exportFlags, r as readExportRequest, t as assertStreamedOutput } from "./export-flags-
|
|
1
|
+
import { St as ConfigError, Z as parseJson, c as renderSummary, ct as outputFlags, lt as profileFlag, pt as parseOptionalInteger, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { o as CardQueryResult } from "./card-QR3zEu6E.mjs";
|
|
5
|
+
import { t as cardQueryView } from "./card-3NmUiU5F.mjs";
|
|
6
|
+
import { i as formatQueryResult, n as exportFlags, r as readExportRequest, t as assertStreamedOutput } from "./export-flags-CpukgETM.mjs";
|
|
7
7
|
import { t as pipeToStdout } from "./stream-McixcoUl.mjs";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
//#region src/commands/card/query.ts
|
|
@@ -31,12 +31,18 @@ var query_default = defineMetabaseCommand({
|
|
|
31
31
|
limit: {
|
|
32
32
|
type: "string",
|
|
33
33
|
description: "Cap rows kept in the JSON envelope; refused with --export-format"
|
|
34
|
+
},
|
|
35
|
+
"ignore-cache": {
|
|
36
|
+
type: "boolean",
|
|
37
|
+
description: "Run the query against the database even when a cached result would be served; refused with --export-format",
|
|
38
|
+
default: false
|
|
34
39
|
}
|
|
35
40
|
},
|
|
36
41
|
outputSchema: CardQueryResult,
|
|
37
42
|
examples: [
|
|
38
43
|
"mb card query 1",
|
|
39
44
|
"mb card query 1 --json --limit 20",
|
|
45
|
+
"mb card query 1 --ignore-cache",
|
|
40
46
|
"mb card query 1 --export-format csv > results.csv",
|
|
41
47
|
"mb card query 1 --parameters '[{\"type\":\"category\",\"value\":\"A\",\"target\":[\"variable\",[\"template-tag\",\"c\"]]}]'"
|
|
42
48
|
],
|
|
@@ -46,13 +52,17 @@ var query_default = defineMetabaseCommand({
|
|
|
46
52
|
const exportRequest = readExportRequest(args);
|
|
47
53
|
if (exportRequest !== null) {
|
|
48
54
|
assertStreamedOutput(ctx);
|
|
55
|
+
if (args["ignore-cache"]) throw new ConfigError("--ignore-cache has no effect with --export-format: an export always runs the query against the database");
|
|
49
56
|
await pipeToStdout(await (await getClient()).card.exportQuery(id, exportRequest.format, {
|
|
50
57
|
parameters,
|
|
51
58
|
...exportRequest.params
|
|
52
59
|
}));
|
|
53
60
|
return;
|
|
54
61
|
}
|
|
55
|
-
const limited = applyLimit(await (await getClient()).card.query(id, {
|
|
62
|
+
const limited = applyLimit(await (await getClient()).card.query(id, {
|
|
63
|
+
parameters,
|
|
64
|
+
ignore_cache: args["ignore-cache"]
|
|
65
|
+
}), parseOptionalInteger(args.limit, {
|
|
56
66
|
name: "--limit",
|
|
57
67
|
min: 1
|
|
58
68
|
}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { n as parseText } from "./parse-text-
|
|
5
|
-
import { i as fieldRemappingMissView, r as fieldRemappingMatchView, t as FieldRemappingResult, u as toValueLabel } from "./field-
|
|
1
|
+
import { c as renderSummary, ct as outputFlags, lt as profileFlag, m as formatScalar, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { n as parseText } from "./parse-text-FgX60vIg.mjs";
|
|
5
|
+
import { i as fieldRemappingMissView, r as fieldRemappingMatchView, t as FieldRemappingResult, u as toValueLabel } from "./field-BVz4AS3f.mjs";
|
|
6
6
|
//#region src/commands/field/remapping.ts
|
|
7
7
|
var remapping_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
5
|
-
import { c as syncSettingsUpdateView } from "./git-sync-
|
|
1
|
+
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { u as SyncSettingsUpdateResult } from "./git-sync-DP4wQFzm.mjs";
|
|
5
|
+
import { c as syncSettingsUpdateView } from "./git-sync-D1aKczo6.mjs";
|
|
6
6
|
//#region src/commands/git-sync/remove-collection.ts
|
|
7
7
|
var remove_collection_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { It as KNOWN_RANGE } from "./cli.mjs";
|
|
2
|
+
import { Z as Skew } from "./runtime-Cmes70jO.mjs";
|
|
3
3
|
//#region src/commands/auth/render.ts
|
|
4
4
|
const SKEW_LABEL = Object.freeze({
|
|
5
5
|
supported: "supported",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
1
|
+
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
4
|
import { n as UploadUpdateResult } from "./upload-DAtxBBms.mjs";
|
|
5
|
-
import { n as requireUploadFilePath, t as readCsvFile } from "./upload-
|
|
5
|
+
import { n as requireUploadFilePath, t as readCsvFile } from "./upload-DnLXgUA-.mjs";
|
|
6
6
|
import { n as uploadUpdateResultView } from "./upload-C3z5ZaXA.mjs";
|
|
7
7
|
//#region src/commands/upload/replace.ts
|
|
8
8
|
var replace_default = defineMetabaseCommand({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { I as missingTokenFeatureMessage, L as versionTooOldMessage, z as FEATURE_RULES } from "./cli.mjs";
|
|
2
|
+
import { $ as featureGap, et as describeVersion } from "./runtime-Cmes70jO.mjs";
|
|
3
3
|
//#region ../client/src/version/requirement-check.ts
|
|
4
4
|
/** The first of `features` the profile lacks, or `null` when it has every one. */
|
|
5
5
|
function checkFeatures(features, profile) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { a as DatabaseSyncResult } from "./database-
|
|
5
|
-
import {
|
|
1
|
+
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { a as DatabaseSyncResult } from "./database-CxykzTAA.mjs";
|
|
5
|
+
import { n as databaseSyncResultView } from "./database-D8XzgJEz.mjs";
|
|
6
6
|
//#region src/commands/db/rescan-values.ts
|
|
7
7
|
var rescan_values_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { l as TableFieldValuesResult } from "./table-
|
|
5
|
-
import { i as tableFieldValuesResultView } from "./table-
|
|
1
|
+
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { l as TableFieldValuesResult } from "./table-CF7zW9cI.mjs";
|
|
5
|
+
import { i as tableFieldValuesResultView } from "./table-BDsqRU7a.mjs";
|
|
6
6
|
//#region src/commands/table/rescan-values.ts
|
|
7
7
|
var rescan_values_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
1
|
+
import { Ct as FailedResultError, c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
4
|
import { c as TransformRunResult, p as isTransformRunFailed } from "./transform-DiW7bREn.mjs";
|
|
5
|
-
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-
|
|
5
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-BnZ-dfE2.mjs";
|
|
6
6
|
//#region src/commands/transform/run.ts
|
|
7
7
|
const transformRunResultView = {
|
|
8
8
|
compactPick: TransformRunResult,
|
|
@@ -26,7 +26,7 @@ var run_default = defineMetabaseCommand({
|
|
|
26
26
|
name: "run",
|
|
27
27
|
description: "Trigger a transform run by id"
|
|
28
28
|
},
|
|
29
|
-
details: "Starts a run and returns immediately. --wait polls the run to a terminal status. --sync additionally waits until the run's output table is registered and returns its `target_table_id`, so you can build MBQL cards against it — the run registers the table itself, so no separate `db sync-schema` is needed; --sync implies waiting for the run.",
|
|
29
|
+
details: "Starts a run and returns immediately. --wait polls the run to a terminal status. --sync additionally waits until the run's output table is registered and returns its `target_table_id`, so you can build MBQL cards against it — the run registers the table itself, so no separate `db sync-schema` is needed; --sync implies waiting for the run. While waiting, a run that does not succeed exits 1.",
|
|
30
30
|
requires: ["transform.run"],
|
|
31
31
|
args: {
|
|
32
32
|
...outputFlags,
|
|
@@ -66,11 +66,11 @@ var run_default = defineMetabaseCommand({
|
|
|
66
66
|
}
|
|
67
67
|
if (result.run_id === null || result.final === null) {
|
|
68
68
|
renderSummary(result, transformRunResultView, result.message, ctx);
|
|
69
|
-
throw new
|
|
69
|
+
throw new FailedResultError(`transform run did not start: ${result.message}`);
|
|
70
70
|
}
|
|
71
71
|
const status = result.final.status;
|
|
72
72
|
renderSummary(result, transformRunResultView, summaryLine(id, result.run_id, status, syncTarget, result.target_table_id), ctx);
|
|
73
|
-
if (isTransformRunFailed(status)) throw new
|
|
73
|
+
if (isTransformRunFailed(status)) throw new FailedResultError(`transform run ${result.run_id} ${status}`);
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
function summaryLine(transformId, runId, status, syncTarget, targetTableId) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as renderSummary, ct as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { a as TransformJobRunResult } from "./transform-job-
|
|
1
|
+
import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { a as TransformJobRunResult } from "./transform-job-ClX8e5iO.mjs";
|
|
5
5
|
//#region src/commands/transform-job/run.ts
|
|
6
6
|
const transformJobRunResultView = {
|
|
7
7
|
compactPick: TransformJobRunResult,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Ct as FailedResultError, St as ConfigError, ct as outputFlags, l as renderSummaryWithinMaxBytes, lt as profileFlag, rt as connectionFlags, t as interruptSignal } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { t as DEFAULT_TIMEOUT_MS } from "./transport-Ck4anhoc.mjs";
|
|
5
|
+
import { i as TransformTestRunResult } from "./transform-test-Bexa_K89.mjs";
|
|
6
|
+
import { t as transformTestRunResultView } from "./transform-test-C49ZTK7M.mjs";
|
|
7
|
+
//#region src/commands/transform-test/run.ts
|
|
8
|
+
function namesOf(expectations, status) {
|
|
9
|
+
return expectations.filter((expectation) => expectation.status === status).map((e) => e.name);
|
|
10
|
+
}
|
|
11
|
+
function summaryLine(id, result) {
|
|
12
|
+
if (result.status === "passed") return `Transform test ${id} passed ${result.expectations.length} expectation(s).`;
|
|
13
|
+
const failed = namesOf(result.expectations, "failed");
|
|
14
|
+
const errored = namesOf(result.expectations, "error");
|
|
15
|
+
const parts = [failed.length > 0 ? `failed: ${failed.join(", ")}` : null, errored.length > 0 ? `could not run: ${errored.join(", ")}` : null].filter((part) => part !== null);
|
|
16
|
+
return `Transform test ${id} ${result.status} — ${parts.join("; ")}.`;
|
|
17
|
+
}
|
|
18
|
+
var run_default = defineMetabaseCommand({
|
|
19
|
+
meta: {
|
|
20
|
+
name: "run",
|
|
21
|
+
description: "Run a transform test by id"
|
|
22
|
+
},
|
|
23
|
+
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, also when its report is over --max-bytes and is not printed; the error then names the expectations that did not pass.",
|
|
24
|
+
requires: ["transformTest.run"],
|
|
25
|
+
args: {
|
|
26
|
+
...outputFlags,
|
|
27
|
+
...profileFlag,
|
|
28
|
+
...connectionFlags,
|
|
29
|
+
timeout: {
|
|
30
|
+
type: "string",
|
|
31
|
+
description: "Request timeout in ms",
|
|
32
|
+
default: String(DEFAULT_TIMEOUT_MS)
|
|
33
|
+
},
|
|
34
|
+
id: {
|
|
35
|
+
type: "positional",
|
|
36
|
+
description: "Transform test id",
|
|
37
|
+
required: true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
outputSchema: TransformTestRunResult,
|
|
41
|
+
examples: [
|
|
42
|
+
"mb transform-test run 1",
|
|
43
|
+
"mb transform-test run 1 --json",
|
|
44
|
+
"mb transform-test run 1 --timeout 300000"
|
|
45
|
+
],
|
|
46
|
+
async run({ args, ctx, getClient }) {
|
|
47
|
+
const id = parseId(args.id);
|
|
48
|
+
const timeoutMs = parseId(args.timeout, "timeout");
|
|
49
|
+
const result = await (await getClient()).transformTest.run(id, {
|
|
50
|
+
timeoutMs,
|
|
51
|
+
signal: interruptSignal
|
|
52
|
+
});
|
|
53
|
+
const summary = summaryLine(id, result);
|
|
54
|
+
const oversize = renderSummaryWithinMaxBytes(result, transformTestRunResultView, summary, ctx);
|
|
55
|
+
if (result.status === "passed") {
|
|
56
|
+
if (oversize !== null) throw new ConfigError(oversize);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
throw new FailedResultError(oversize === null ? `transform test ${id} ${result.status}` : `${summary} Its ${oversize}`);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
//#endregion
|
|
63
|
+
export { run_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as collectForOutput } from "./window-
|
|
1
|
+
import { ct as outputFlags, lt as profileFlag, mt as listEnvelopeSchema, o as renderList, ot as listFlags, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { t as collectForOutput } from "./window-CfK_j6m1.mjs";
|
|
5
5
|
import { s as TransformRunCompact } from "./transform-DiW7bREn.mjs";
|
|
6
|
-
import { t as transformRunView } from "./transform-
|
|
6
|
+
import { t as transformRunView } from "./transform-CWGJB8N_.mjs";
|
|
7
7
|
//#region src/commands/transform/runs.ts
|
|
8
8
|
const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
|
|
9
9
|
var runs_default = defineMetabaseCommand({
|
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as parseJsonResult, A as ENV_URL, B as Features, C as preflightUncheckedNotice, E as ENV_DISABLE_KEYRING, Et as NetworkError, Ft as isNonInterruptFailure, It as KNOWN_RANGE, K as isRetryableStatus, M as readEnv, Mt as errorMessage, N as ProfileRefreshedError, Ot as ResponseShapeError, Pt as isFileNotFoundError, S as preflightSkippedNotice, St as ConfigError, T as ENV_API_KEY, U as ruleGap, V as evaluateFeatures, W as HttpError, X as JSON_CONTENT_TYPE, _t as givenFlagKeys, dt as resolveOutputFormat, et as setMetabaseAugment, gt as assertArgv, i as reportError, j as consumeLegacyEnvWarnings, jt as ValidationError, kt as TimeoutError, nt as version, r as methodRequirements, t as interruptSignal, ut as resolveCommonFlags, w as warn, z as FEATURE_RULES } from "./cli.mjs";
|
|
2
2
|
import { defineCommand } from "citty";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
+
import { readFile } from "node:fs/promises";
|
|
5
|
+
import { setTimeout } from "node:timers/promises";
|
|
4
6
|
import { Entry } from "@napi-rs/keyring";
|
|
5
7
|
import { promises } from "node:fs";
|
|
6
8
|
import { dirname, join } from "node:path";
|
|
7
9
|
import { homedir } from "node:os";
|
|
8
|
-
//#region src/commands/parse-integer.ts
|
|
9
|
-
const INTEGER_PATTERN = /^-?\d+$/;
|
|
10
|
-
function parseInteger(value, options) {
|
|
11
|
-
const trimmed = value.trim();
|
|
12
|
-
if (!INTEGER_PATTERN.test(trimmed)) {
|
|
13
|
-
const expected = options.expected ?? "integer";
|
|
14
|
-
throw new ConfigError(`invalid ${options.name}: "${value}" (expected ${expected})`);
|
|
15
|
-
}
|
|
16
|
-
const parsed = Number.parseInt(trimmed, 10);
|
|
17
|
-
if (parsed < options.min) throw new ConfigError(`invalid ${options.name}: ${parsed} (must be ≥ ${options.min})`);
|
|
18
|
-
return parsed;
|
|
19
|
-
}
|
|
20
|
-
function parseOptionalInteger(value, options) {
|
|
21
|
-
if (value === void 0) return null;
|
|
22
|
-
return parseInteger(value, options);
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
10
|
//#region ../client/src/domain/session-properties.ts
|
|
26
11
|
const ServerVersion$1 = z.object({
|
|
27
12
|
tag: z.string(),
|
|
@@ -610,6 +595,63 @@ async function revokeOAuthCredential(baseUrl, credential, userAgent) {
|
|
|
610
595
|
return true;
|
|
611
596
|
}
|
|
612
597
|
//#endregion
|
|
598
|
+
//#region src/runtime/input.ts
|
|
599
|
+
const DEFAULT_FLAG_NAME = "--body";
|
|
600
|
+
const SOURCE_LIST = `${DEFAULT_FLAG_NAME}, --file, stdin, or a positional argument`;
|
|
601
|
+
/** The value of a string flag, or `null` when it was left out or passed empty. */
|
|
602
|
+
function givenValue(value) {
|
|
603
|
+
return value === void 0 || value === "" ? null : value;
|
|
604
|
+
}
|
|
605
|
+
async function readInput(sources) {
|
|
606
|
+
if (sources.flag) return sources.flag;
|
|
607
|
+
if (sources.file) return await readFileSource(sources.file);
|
|
608
|
+
if (!process.stdin.isTTY) {
|
|
609
|
+
const piped = await readPipedStdin();
|
|
610
|
+
if (piped) return piped;
|
|
611
|
+
}
|
|
612
|
+
if (sources.positional) return sources.positional;
|
|
613
|
+
if (sources.required ?? true) throw new ConfigError(`input required: provide one of ${SOURCE_LIST}`);
|
|
614
|
+
return "";
|
|
615
|
+
}
|
|
616
|
+
async function readFileSource(path) {
|
|
617
|
+
if (path === "-") return await drainStdin();
|
|
618
|
+
try {
|
|
619
|
+
return await readFile(path, "utf8");
|
|
620
|
+
} catch (error) {
|
|
621
|
+
if (isFileNotFoundError(error)) throw fileNotFoundError(path);
|
|
622
|
+
throw error;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
function fileNotFoundError(path) {
|
|
626
|
+
return new ConfigError(`--file not found: ${path}`);
|
|
627
|
+
}
|
|
628
|
+
async function drainStdin() {
|
|
629
|
+
let data = "";
|
|
630
|
+
for await (const chunk of process.stdin) data += chunk;
|
|
631
|
+
return data;
|
|
632
|
+
}
|
|
633
|
+
const STDIN_FIRST_CHUNK_TIMEOUT_MS = 500;
|
|
634
|
+
const STDIN_IDLE = Symbol("stdin-idle");
|
|
635
|
+
async function readPipedStdin() {
|
|
636
|
+
const iterator = process.stdin[Symbol.asyncIterator]();
|
|
637
|
+
const controller = new AbortController();
|
|
638
|
+
const idle = setTimeout(STDIN_FIRST_CHUNK_TIMEOUT_MS, STDIN_IDLE, { signal: controller.signal }).catch(() => STDIN_IDLE);
|
|
639
|
+
const first = await Promise.race([iterator.next(), idle]);
|
|
640
|
+
if (typeof first === "symbol") {
|
|
641
|
+
process.stdin.pause();
|
|
642
|
+
process.stdin.unref();
|
|
643
|
+
return null;
|
|
644
|
+
}
|
|
645
|
+
controller.abort();
|
|
646
|
+
let data = "";
|
|
647
|
+
let chunk = first;
|
|
648
|
+
while (chunk.done !== true) {
|
|
649
|
+
data += chunk.value;
|
|
650
|
+
chunk = await iterator.next();
|
|
651
|
+
}
|
|
652
|
+
return data;
|
|
653
|
+
}
|
|
654
|
+
//#endregion
|
|
613
655
|
//#region src/core/user-agent.ts
|
|
614
656
|
const USER_AGENT = `metabase-cli/${version}`;
|
|
615
657
|
const OAUTH_CLIENT_NAME = "Metabase CLI";
|
|
@@ -1012,6 +1054,7 @@ function readEnvCredentials() {
|
|
|
1012
1054
|
};
|
|
1013
1055
|
}
|
|
1014
1056
|
async function resolveConfig(flags) {
|
|
1057
|
+
if (flags.apiKey === "-") throw new ConfigError(`--api-key - reads stdin only for \`mb auth login\`; log in a profile or set ${ENV_API_KEY} instead`);
|
|
1015
1058
|
const profile = resolveProfileName(flags.profile);
|
|
1016
1059
|
const env = readEnvCredentials();
|
|
1017
1060
|
const hasUrl = Boolean(flags.url ?? env.url);
|
|
@@ -1139,66 +1182,6 @@ async function readCachedServerProfile(profileName) {
|
|
|
1139
1182
|
};
|
|
1140
1183
|
}
|
|
1141
1184
|
//#endregion
|
|
1142
|
-
//#region src/output/format.ts
|
|
1143
|
-
function resolveFormat({ json, format, isTty }) {
|
|
1144
|
-
const explicit = format !== void 0 && format !== "auto" ? format : null;
|
|
1145
|
-
if (explicit !== null && explicit !== "json" && explicit !== "text") throw new ConfigError(`invalid --format value: "${explicit}" (expected: auto, json, text)`);
|
|
1146
|
-
if (json && explicit !== null && explicit !== "json") throw new ConfigError(`--json conflicts with --format ${explicit}`);
|
|
1147
|
-
if (json) return "json";
|
|
1148
|
-
if (explicit !== null) return explicit;
|
|
1149
|
-
return isTty ? "text" : "json";
|
|
1150
|
-
}
|
|
1151
|
-
//#endregion
|
|
1152
|
-
//#region src/commands/context.ts
|
|
1153
|
-
function resolveOutputFormat(args, options = {}) {
|
|
1154
|
-
return resolveFormat({
|
|
1155
|
-
json: args.json,
|
|
1156
|
-
format: args.format,
|
|
1157
|
-
isTty: options.isTty ?? Boolean(process.stdout.isTTY)
|
|
1158
|
-
});
|
|
1159
|
-
}
|
|
1160
|
-
function resolveCommonFlags(args, options = {}) {
|
|
1161
|
-
const fields = parseFields(args.fields);
|
|
1162
|
-
const full = args.full === true;
|
|
1163
|
-
if (full && fields !== void 0) throw new ConfigError("--full conflicts with --fields (use one or neither)");
|
|
1164
|
-
return {
|
|
1165
|
-
format: resolveOutputFormat(args, options),
|
|
1166
|
-
full,
|
|
1167
|
-
fields,
|
|
1168
|
-
maxBytes: parseMaxBytes(args.maxBytes),
|
|
1169
|
-
maxBytesGiven: args.maxBytes !== void 0,
|
|
1170
|
-
range: parseRange(args.limit, args.offset),
|
|
1171
|
-
url: args.url,
|
|
1172
|
-
apiKey: args.apiKey,
|
|
1173
|
-
profile: args.profile,
|
|
1174
|
-
skipPreflight: args.skipPreflight
|
|
1175
|
-
};
|
|
1176
|
-
}
|
|
1177
|
-
function parseFields(value) {
|
|
1178
|
-
if (value === void 0 || value === "") return;
|
|
1179
|
-
const parts = parseCsv(value);
|
|
1180
|
-
return parts.length > 0 ? parts : void 0;
|
|
1181
|
-
}
|
|
1182
|
-
function parseMaxBytes(value) {
|
|
1183
|
-
return parseInteger(value ?? String(24576), {
|
|
1184
|
-
name: "--max-bytes",
|
|
1185
|
-
min: 0
|
|
1186
|
-
});
|
|
1187
|
-
}
|
|
1188
|
-
function parseRange(limit, offset) {
|
|
1189
|
-
const parsedLimit = parseOptionalInteger(limit, {
|
|
1190
|
-
name: "--limit",
|
|
1191
|
-
min: 1
|
|
1192
|
-
});
|
|
1193
|
-
return {
|
|
1194
|
-
offset: parseInteger(offset ?? "0", {
|
|
1195
|
-
name: "--offset",
|
|
1196
|
-
min: 0
|
|
1197
|
-
}),
|
|
1198
|
-
limit: parsedLimit === null ? void 0 : parsedLimit
|
|
1199
|
-
};
|
|
1200
|
-
}
|
|
1201
|
-
//#endregion
|
|
1202
1185
|
//#region src/commands/runtime.ts
|
|
1203
1186
|
function defineMetabaseCommand(def) {
|
|
1204
1187
|
const requirements = def.requires === null ? null : deriveRequirements(def.requires);
|
|
@@ -1229,7 +1212,7 @@ function defineMetabaseCommand(def) {
|
|
|
1229
1212
|
const probe = await readCachedProbe(resolved.profile, resolved.url);
|
|
1230
1213
|
const server = probe === null ? null : createServerProfile(probe);
|
|
1231
1214
|
const saveProbe = probe === null ? null : createProbeSaver(resolved.profile, probe);
|
|
1232
|
-
const { createClient } = await import("./client-
|
|
1215
|
+
const { createClient } = await import("./client-D-Aw6JLk.mjs").then((n) => n.t);
|
|
1233
1216
|
const client = createClient({
|
|
1234
1217
|
url: resolved.url,
|
|
1235
1218
|
credential: resolved.credential
|
|
@@ -1399,4 +1382,4 @@ function buildConfigFlags(ctx) {
|
|
|
1399
1382
|
return flags;
|
|
1400
1383
|
}
|
|
1401
1384
|
//#endregion
|
|
1402
|
-
export {
|
|
1385
|
+
export { featureGap as $, revokeOAuthCredential as A, probeServer as B, profileAuthMethod as C, fileNotFoundError as D, DEFAULT_FLAG_NAME as E, tryDiscoverMetadata as F, credentialSecrets as G, serverInfoFromProperties as H, buildNetworkError as I, normalizeUrl as J, oauthCredentialFromTokens as K, isConnectionClosed as L, discoverLoginMetadata as M, exchangeCode as N, givenValue as O, registerClient as P, createServerProfile as Q, PROBE_PATH as R, ProfileLastFailure as S, USER_AGENT as T, assertCredentialHeaderSafe as U, profileFromProperties as V, credentialAuthHeader as W, summarizeServer as X, ServerSummary as Y, Skew as Z, writeProbeFailure as _, readEnvCredentials as a, ProbedUser as b, clearProfile as c, keyringFallbackWarning as d, describeVersion as et, listProfileRecords as f, writeOAuthProfile as g, resolveRecordCredential as h, explicitProfileName as i, OAUTH_SCOPE as j, readInput as k, consumeKeychainResidualWarning as l, readProfileRecord as m, readCachedServerProfile as n, resolveProfileName as o, readProfileCredential as p, displayUrl as q, createCredentialRefresher as r, DEFAULT_PROFILE as s, defineMetabaseCommand as t, SessionProperties as tt, consumeKeyringDowngradeWarning as u, writeProbeResult as v, OAUTH_CLIENT_NAME as w, ProfileAuthMethod as x, writeProfile as y, probeBudget as z };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { n as windowList } from "./window-
|
|
5
|
-
import { a as TableCompact } from "./table-
|
|
6
|
-
import { u as tableView } from "./table-
|
|
1
|
+
import { ct as outputFlags, lt as profileFlag, mt as listEnvelopeSchema, o as renderList, ot as listFlags, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CfK_j6m1.mjs";
|
|
5
|
+
import { a as TableCompact } from "./table-CF7zW9cI.mjs";
|
|
6
|
+
import { u as tableView } from "./table-BDsqRU7a.mjs";
|
|
7
7
|
//#region src/commands/db/schema-tables.ts
|
|
8
8
|
const DatabaseSchemaTablesEnvelope = listEnvelopeSchema(TableCompact);
|
|
9
9
|
var schema_tables_default = defineMetabaseCommand({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { n as windowList } from "./window-
|
|
1
|
+
import { ct as outputFlags, lt as profileFlag, mt as listEnvelopeSchema, o as renderList, ot as listFlags, rt as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
|
|
4
|
+
import { n as windowList } from "./window-CfK_j6m1.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/db/schemas.ts
|
|
7
7
|
const SchemaName = z.object({ name: z.string() });
|