@metabase/cli 0.3.1-alpha.versioning.9ac5f50 → 0.3.2-alpha.fix-transform-test-ee-path.041c793
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-Dmd-uNeU.mjs → add-collection-73X1DmCM.mjs} +5 -5
- package/dist/{alert-D1u2MVZj.mjs → alert-BB38lWSL.mjs} +7 -7
- package/dist/{alerts-DcBjcfEE.mjs → alerts-DxyzqLSU.mjs} +6 -6
- package/dist/{append-B9Htvmab.mjs → append-CHme1Enm.mjs} +4 -4
- package/dist/{archive-BUoYMkxO.mjs → archive-BGiDxu8O.mjs} +3 -3
- package/dist/{archive-Bf014rFm.mjs → archive-BMyvyf62.mjs} +3 -3
- package/dist/{archive-BmsZFOZY.mjs → archive-C4Y2B58q.mjs} +3 -3
- package/dist/{archive-BNivAYGr.mjs → archive-CP5Hlqjw.mjs} +4 -4
- package/dist/{archive-CvU2z5192.mjs → archive-Cq3fnc0v2.mjs} +5 -5
- package/dist/{archive-B660RguB.mjs → archive-CqKqNdUh.mjs} +5 -5
- package/dist/{archive-CgmidYZV.mjs → archive-Czo5T0Lp.mjs} +3 -3
- package/dist/{archive-BVmFGFwG.mjs → archive-DBcxZwLd.mjs} +5 -5
- package/dist/{archive-DhDQIKR_.mjs → archive-DKFPJ9j3.mjs} +5 -5
- package/dist/{archive-CNif6BKy.mjs → archive-DPL1qOuL.mjs} +5 -5
- package/dist/{archive-bPdDITuY.mjs → archive-eS-XA74p.mjs} +3 -3
- package/dist/{auth-CefYEPP5.mjs → auth-6YyB0HNB.mjs} +5 -5
- package/dist/{body-C7m9q4cm.mjs → body-OjAWKVaU.mjs} +3 -3
- package/dist/{branches-pz04OjF2.mjs → branches-D5YLVFDK.mjs} +3 -3
- package/dist/{cancel-CNLnv19e.mjs → cancel-DeRIq1YJ.mjs} +3 -3
- package/dist/{cancel-task-DbnxSh7U.mjs → cancel-task-CqExODVm.mjs} +4 -4
- package/dist/card-BMSqofd7.mjs +24 -0
- package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
- package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
- package/dist/{cards-DtYlVoGP.mjs → cards-B813G9I5.mjs} +6 -6
- package/dist/cli.mjs +223 -211
- package/dist/{client-Bv7Iwdvh.mjs → client-cJ7aw0Gt.mjs} +1788 -72
- package/dist/collection-BfNg7tEg.mjs +20 -0
- package/dist/{collection-WFdBeyqa.mjs → collection-BxdPxD38.mjs} +1 -1
- package/dist/{collection-DALwHnbz.mjs → collection-DYM0p3Xl.mjs} +1 -1
- package/dist/{collection-namespace-CvT0TIZA.mjs → collection-namespace-CVzDgJV0.mjs} +2 -2
- package/dist/{content-translation-D7POzJJ6.mjs → content-translation-QKWt9l76.mjs} +3 -3
- package/dist/{create-JOXq0ULN.mjs → create-4UnoQvsy.mjs} +4 -4
- package/dist/{create-CLgalJUe.mjs → create-BJad6MR82.mjs} +7 -7
- package/dist/{create-Bh2j733n.mjs → create-BLiB2xqo.mjs} +6 -6
- package/dist/{create-DGHILnnk.mjs → create-BWp6L_dW.mjs} +4 -4
- package/dist/{create-Di4YvIbK.mjs → create-Bef5eBCA.mjs} +4 -4
- package/dist/{create-CGgPnb7L.mjs → create-CMV3qlzJ.mjs} +3 -3
- package/dist/{create-Ds-DnSBe.mjs → create-CWGsiFvU.mjs} +3 -3
- package/dist/{create-DhDREiiy.mjs → create-CoFg1p6m.mjs} +3 -3
- package/dist/{create-CGPle4nE.mjs → create-CvIeb1NU.mjs} +6 -6
- package/dist/{create-Bwg-5p08.mjs → create-CvpeAcFc.mjs} +3 -3
- package/dist/{create-DYd_o9BD.mjs → create-D50TxVTk.mjs} +4 -4
- package/dist/{create-DnqnjGGf.mjs → create-DEBgYRlM.mjs} +5 -5
- package/dist/{create-CN24yp_W.mjs → create-DJm0YuLW.mjs} +3 -3
- package/dist/{create-CuYGZ4gu2.mjs → create-DmKwDQCY2.mjs} +5 -5
- package/dist/{create-branch-DWcxC30N.mjs → create-branch-BN5iH-GM.mjs} +4 -4
- package/dist/{create-BEE8uvz2.mjs → create-bvpl6Fn5.mjs} +6 -6
- package/dist/create-uanpKsPo.mjs +34 -0
- package/dist/{csv-CUQvcCEk.mjs → csv-BhuX9fwh.mjs} +4 -4
- package/dist/{current-task-D6P0eL21.mjs → current-task-BMt2NeqV.mjs} +4 -4
- package/dist/{dashboard-BudI952R.mjs → dashboard-Ct_ajSYI.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-C7UTd-6P.mjs → db-B_LW2VE-.mjs} +7 -7
- package/dist/{delete-Ud6iliGM.mjs → delete-BOcPK_H9.mjs} +4 -4
- package/dist/{delete-_IHffP-A.mjs → delete-CowGO4rh.mjs} +4 -4
- package/dist/{delete-Ds-zGh9C.mjs → delete-D0f7VatX.mjs} +4 -4
- package/dist/{delete-DbZZKcYj.mjs → delete-D2bUV6uo.mjs} +4 -4
- package/dist/delete-DZ_ICQug.mjs +44 -0
- package/dist/{delete-DSxqbcFE.mjs → delete-Ur7b11no.mjs} +4 -4
- package/dist/{delete-runtime-BjHL1ryM.mjs → delete-runtime-BKEzJn22.mjs} +1 -1
- package/dist/{delete-table-DtXH6IN5.mjs → delete-table-Dd8X573t.mjs} +4 -4
- package/dist/{dependencies-CR1dlq-A.mjs → dependencies-XDVLBwko.mjs} +6 -6
- package/dist/{dirty-CYxnOnh0.mjs → dirty-k-JmGLsS.mjs} +5 -5
- package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
- package/dist/document-BW9iow8R.mjs +19 -0
- package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
- package/dist/{download-DPpmmYQe.mjs → download-CQjPIYDO.mjs} +2 -2
- package/dist/{eid-D-BbtWjt.mjs → eid-CNTKDgwj.mjs} +3 -3
- package/dist/{events-CJEnn8WE.mjs → events-BshWlkDp.mjs} +4 -4
- package/dist/{export-BOgyuIOQ.mjs → export-Dq6ecU8h.mjs} +6 -6
- package/dist/{field-CzHBOPER.mjs → field-Bo2ISMO4.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-Bwgkrvus.mjs → fields-CVctqn5G.mjs} +6 -6
- package/dist/{get-BLJSCw53.mjs → get-7xTeNGAo.mjs} +5 -5
- package/dist/{get-DyyPiiaB.mjs → get-8b5Sh50q.mjs} +5 -5
- package/dist/{get-DVi3a2nm.mjs → get-B4RgW-VT.mjs} +5 -5
- package/dist/{get-BaPadzdM.mjs → get-BD81MHl_.mjs} +3 -3
- package/dist/{get-CvIgxPXV.mjs → get-Bl3OmlBP.mjs} +4 -4
- package/dist/get-BtTetWzm.mjs +32 -0
- package/dist/{get-BfVCLBqc.mjs → get-BvSA_mmf.mjs} +5 -5
- package/dist/{get-DsKmZfM2.mjs → get-BvgEF--n.mjs} +3 -3
- package/dist/{get-D8lHwu4-.mjs → get-C5sWciaE.mjs} +5 -5
- package/dist/{get-CqQ-pf0q.mjs → get-CO6X4nZH.mjs} +16 -12
- package/dist/{get-CWfIiXwL.mjs → get-CTPvdcud.mjs} +5 -5
- package/dist/{get-C1ZdOvMm.mjs → get-CrpwxWOV.mjs} +3 -3
- package/dist/{get-BOLwso0V.mjs → get-D4oGhZWX.mjs} +3 -3
- package/dist/{get-B89DUSvw.mjs → get-Df6cGHCM.mjs} +3 -3
- package/dist/{get-BL90QC64.mjs → get-DfMVlz64.mjs} +5 -5
- package/dist/{get-CLu4yzMp2.mjs → get-Dr-U321T2.mjs} +5 -5
- package/dist/{get-D4OTJblo.mjs → get-Dw7jAno3.mjs} +5 -5
- package/dist/{get-DgnYF7LR.mjs → get-PWhOdz1z.mjs} +3 -3
- package/dist/{get-COwdtskS.mjs → get-RslzBaXx.mjs} +4 -4
- package/dist/{get-run-Iya0Yw9s.mjs → get-run-CZdDqfUj.mjs} +5 -5
- package/dist/{get-Eqq13YY-.mjs → get-wjIgUlNl.mjs} +3 -3
- package/dist/git-sync-BmoRk0UV.mjs +28 -0
- 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/{group-CmVCLBDz.mjs → group-YQQ5GIcP.mjs} +2 -3
- package/dist/{has-remote-changes-DfJUMP8F.mjs → has-remote-changes-i-3MVxat.mjs} +4 -4
- package/dist/{import-FEAx-Y5A.mjs → import-DWEKejya.mjs} +6 -6
- package/dist/{input-DFZ_qGW_.mjs → input-DEvkIjGr.mjs} +1 -1
- package/dist/{is-dirty-BsYjBSXG.mjs → is-dirty-C5ipqd4v.mjs} +2 -2
- package/dist/{items-D4rstE12.mjs → items-hKJ2ZDwy.mjs} +6 -6
- package/dist/{key-BmWundO3.mjs → key-PYetuQ13.mjs} +1 -1
- package/dist/{library-uzyHWBap.mjs → library-B7_04UVK.mjs} +5 -5
- package/dist/{library-DXB8sm4r.mjs → library-BPIzb3K_.mjs} +1 -1
- package/dist/{library-CmctxHjv.mjs → library-PGCfm0UA.mjs} +1 -1
- package/dist/{list-DrS3ePsv.mjs → list-1vdClKSE.mjs} +3 -3
- package/dist/{list-xMfCeuZc.mjs → list-6myofqMv.mjs} +6 -6
- package/dist/{list-squb_ioH.mjs → list-B-9QOX9Y.mjs} +5 -5
- package/dist/{list-ndIl9XqV.mjs → list-Bs7_Rysg.mjs} +6 -6
- package/dist/list-CHuhMXet.mjs +35 -0
- package/dist/{list-CQy0z7f9.mjs → list-CLZU_EOf.mjs} +3 -3
- package/dist/{list-DeNGm9G4.mjs → list-Cen-7uTo.mjs} +4 -4
- package/dist/{list-Bjj0z5BS.mjs → list-CgH-H-O6.mjs} +3 -3
- package/dist/{list-BmMi_wPD.mjs → list-CjNXskB4.mjs} +6 -6
- package/dist/{list-DoTiQc3D.mjs → list-CmFh1GQ_.mjs} +3 -3
- package/dist/{list-D_zvX0ms.mjs → list-D6tTvYUP.mjs} +3 -3
- package/dist/{list-CC1M_n6Z.mjs → list-DI820W6w.mjs} +5 -5
- package/dist/{list-Dgm6TkqR.mjs → list-DKZnQ4Ts.mjs} +6 -6
- package/dist/{list-sQcA4g05.mjs → list-DKcC4cm0.mjs} +5 -5
- package/dist/{list-BRpPbvyS.mjs → list-DfRqNH1N.mjs} +3 -3
- package/dist/{list-bN0RC14-.mjs → list-DjwnsyXM.mjs} +11 -10
- package/dist/{list-BXL8HFr_.mjs → list-VNC-_E59.mjs} +5 -5
- package/dist/{list-1DkkU82x.mjs → list-eKDT1XXk.mjs} +5 -5
- package/dist/{list-B7tqNV8B.mjs → list-oX2SMzxZ.mjs} +3 -3
- package/dist/{login-D_1-zE4A.mjs → login-DumZaWXK.mjs} +9 -9
- package/dist/{logout-DPi2q1Wu.mjs → logout-BsXPRc-3.mjs} +2 -2
- package/dist/{measure-CdA8Nl3Z.mjs → measure-BFxkbAoa.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-C6dj6I4g.mjs → parameter-values-CoF9Hx1p.mjs} +4 -4
- package/dist/{parse-enum-B1t8S194.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
- package/dist/{parse-id-DR8aUSdL.mjs → parse-id-DmFJgpY6.mjs} +1 -1
- package/dist/{parse-ref-BJ_Q0tNW.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
- package/dist/{path-B96DI8u2.mjs → path-BQ4lRDyN.mjs} +4 -4
- package/dist/{poll-By46YQ5J.mjs → poll-CZeXepUQ.mjs} +2 -2
- package/dist/{preflight-Bl1oitm8.mjs → preflight-BTQe4swo.mjs} +3 -3
- package/dist/{process-CcQM4qPv.mjs → process-CTrfxxaC.mjs} +1 -1
- package/dist/{publish-BKJYvxif.mjs → publish-CFB2Cc5A.mjs} +4 -4
- package/dist/{pulse-BmsDenXm.mjs → pulse-Dz0ocv0l.mjs} +1 -1
- package/dist/{pulse-DhG6I9mI.mjs → pulse-x0gFxWfG.mjs} +2 -2
- package/dist/{query-qBHjZQc_.mjs → query-BJbUnAHf.mjs} +9 -9
- package/dist/query-CV2KCS5O.mjs +114 -0
- package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
- package/dist/{remove-collection-BWFW7Rn6.mjs → remove-collection-D3yvKH3e.mjs} +5 -5
- package/dist/{render-DmykmrFB.mjs → render-BJRCs7rA.mjs} +4 -2
- package/dist/{replace-BmAqD3zY.mjs → replace-uj4WTqx_.mjs} +4 -4
- package/dist/{rescan-values-BrCLrihF.mjs → rescan-values-CzxQU318.mjs} +5 -5
- package/dist/{run-q5Y44Fxj.mjs → run-B2f_omHu.mjs} +3 -3
- package/dist/run-DlO1J1Sx.mjs +50 -0
- package/dist/{run-CtbzjDKY.mjs → run-yX2dtmE5.mjs} +5 -5
- package/dist/{runs-JFlbezkQ.mjs → runs-DzUO45wU.mjs} +6 -6
- package/dist/{runtime-BQiGgbgZ.mjs → runtime-arKqJqIT.mjs} +225 -68
- package/dist/{schema-tables-Bzx2ShyE.mjs → schema-tables-DZCNzuQ6.mjs} +6 -6
- package/dist/{schemas-ww5mU2AS.mjs → schemas-2ejqaVsG.mjs} +4 -4
- package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
- package/dist/{search-J4RwCof-.mjs → search-DcihauDZ.mjs} +5 -5
- package/dist/{segment-XXTjU0eG.mjs → segment-BQT2poPG.mjs} +6 -6
- package/dist/{selectors-BAAZMi43.mjs → selectors-BzestDld.mjs} +3 -3
- package/dist/{send-BmpDlw9O.mjs → send-DMxoLFo7.mjs} +3 -3
- package/dist/{set-DUWrSza9.mjs → set-CDmiD0vv.mjs} +4 -4
- package/dist/{set-active-BiUlbNI5.mjs → set-active-RrvWR9NY.mjs} +3 -3
- package/dist/{setting-B1KBQN3M.mjs → setting-BiBLCcxz.mjs} +4 -4
- package/dist/{setup-CVaNVwOd.mjs → setup-DYsTzkWO.mjs} +3 -3
- package/dist/{signal-GhGmuHfx.mjs → signal-k7cm5N6h.mjs} +1 -1
- package/dist/{skill-list-DTnDhnL5.mjs → skill-list-D9_1Pmt7.mjs} +16 -9
- package/dist/{skills-DkDsSH5F.mjs → skills-BPHXUfeL.mjs} +75 -28
- package/dist/{skills-BWrAlj9l.mjs → skills-C3bxxC6a.mjs} +3 -3
- package/dist/snippet-BtfxE60H.mjs +19 -0
- package/dist/{stash-DMm8YF8V.mjs → stash-DdheS0Ad.mjs} +6 -6
- package/dist/{status-BzEQjQ_t.mjs → status-BuIzXRX1.mjs} +3 -3
- package/dist/{status-ClWsQD6v.mjs → status-CXouQJ31.mjs} +5 -5
- package/dist/{subscription-CdFn2hre.mjs → subscription-CJ8Igs1U.mjs} +6 -6
- package/dist/{subscriptions-DBda1pE5.mjs → subscriptions-D0NpGvCQ.mjs} +6 -6
- package/dist/{summary-B4GPiuqD.mjs → summary-D04S8gGj.mjs} +5 -5
- package/dist/{sync-schema-DsIM5g2U.mjs → sync-schema-DrA5zkdl.mjs} +6 -6
- package/dist/{sync-task-BACcrs0i.mjs → sync-task-BXeWuARG.mjs} +1 -1
- package/dist/{table-CsIJNPFf.mjs → table-C6h4tIRw.mjs} +1 -1
- package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
- package/dist/{table-D4Alrrwh.mjs → table-Dntbz7Q2.mjs} +5 -5
- package/dist/timeline-8jwsldo3.mjs +21 -0
- package/dist/{timeline-event-DWIh3Tdt.mjs → timeline-event-BbB1xEdI.mjs} +6 -6
- package/dist/{transform-Bk0D0nIs.mjs → transform-CtqB1WYo.mjs} +2 -2
- package/dist/{transform-DpuG-ON3.mjs → transform-DiW7bREn.mjs} +43 -1
- package/dist/transform-job-B-1YAbvy.mjs +22 -0
- package/dist/transform-m6s4kkWU.mjs +28 -0
- package/dist/{transform-tag-DJ3_bksm.mjs → transform-tag-PjryheLF.mjs} +5 -5
- package/dist/transform-test-BjjCQ2xm.mjs +169 -0
- package/dist/transform-test-DSTkKKNC.mjs +16 -0
- package/dist/transform-test-gzDcbypy.mjs +25 -0
- package/dist/{transforms-Dg2MfB2a.mjs → transforms-CijX3VE7.mjs} +6 -6
- package/dist/{tree-BQL0f7YX.mjs → tree-Cmb3O6rH.mjs} +3 -3
- package/dist/{unpublish-DfSvb_Rs.mjs → unpublish-DkP_AcK5.mjs} +3 -3
- package/dist/{update-DBGaJDsj.mjs → update-8UmD1prT.mjs} +6 -6
- package/dist/{update-Izqip6jY.mjs → update-BFyRBc-H.mjs} +7 -7
- package/dist/{update-BCgAyfj_.mjs → update-BrXGg3QO.mjs} +7 -7
- package/dist/{update-sYLQIUgh.mjs → update-C91m9YAR.mjs} +5 -5
- package/dist/{update-D1QdfpKR.mjs → update-COcx61Ur.mjs} +5 -5
- package/dist/update-Ci8YL4_2.mjs +41 -0
- package/dist/{update-CDo0Orvu.mjs → update-CtLbFCd_.mjs} +4 -4
- package/dist/{update-Bhmli02m.mjs → update-D6Zzvc7F.mjs} +6 -6
- package/dist/{update-Cr5zHb0D.mjs → update-D8htjzNJ.mjs} +4 -4
- package/dist/{update-CtDHMxW8.mjs → update-D9kOTr0n.mjs} +5 -5
- package/dist/{update-BxIyFtrX.mjs → update-DPTio6i1.mjs} +6 -6
- package/dist/{update-NZhIjTCf.mjs → update-DlWB9s0v.mjs} +4 -4
- package/dist/{update-D4qdTlLF.mjs → update-DubrpPbz.mjs} +4 -4
- package/dist/{update-CiYxcf8M.mjs → update-Dz47cKBk.mjs} +4 -4
- package/dist/{update-B-hRR8gW.mjs → update-FCP5Lop2.mjs} +6 -6
- package/dist/{update-CKoBDTL7.mjs → update-KSHnb6vB.mjs} +8 -8
- package/dist/{update-dashcard-D5b971AO.mjs → update-dashcard-BlibHa5o.mjs} +6 -6
- package/dist/{upgrade-CD1xtsIv.mjs → upgrade-EwL6wPSY.mjs} +4 -4
- package/dist/upload-BZshRJIM.mjs +13 -0
- package/dist/{upload-akKFxpVA.mjs → upload-D0KaTqUE.mjs} +3 -3
- package/dist/{upload-BUd3MG90.mjs → upload-Do2PBSeH.mjs} +2 -2
- package/dist/{uuid-oVdJ62eA.mjs → uuid-DjKLDIVE.mjs} +9 -5
- package/dist/{validate-query-Boi8-cAP.mjs → validate-query-D6_ad-Gi.mjs} +3 -3
- package/dist/{validate-CWd6l6KZ.mjs → validate-xR_MHBNR.mjs} +69 -23
- package/dist/{values-DLwZl-P8.mjs → values-Dc9612_L.mjs} +5 -5
- package/dist/{verify-CH9Tw8yv.mjs → verify-DVN1eqXZ.mjs} +3 -3
- package/dist/{wait-rfTdQWdi.mjs → wait-C-ovOTAZ.mjs} +6 -6
- package/dist/{wait-flags-DiQ_kRjZ.mjs → wait-flags-BQNmuvIj.mjs} +2 -2
- package/dist/{window-BkvrP0gB.mjs → window-DSb1tqSe.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +20 -14
- package/skill-data/dashboard/SKILL.md +1 -1
- package/skill-data/mbql/SKILL.md +84 -115
- package/skill-data/mbql/references/operators.md +81 -240
- package/skill-data/native-sql/SKILL.md +8 -9
- package/skill-data/native-sql/references/template-tags.md +21 -25
- package/skill-data/transform/SKILL.md +64 -2
- 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 +260 -0
- package/skill-data/visualization/SKILL.md +2 -3
- package/skill-data/visualization/references/settings.md +7 -7
- package/skills/metabase-cli/SKILL.md +1 -1
- package/dist/card-BRarvKYX.mjs +0 -24
- package/dist/collection-CKeO8X7U.mjs +0 -20
- package/dist/document-BoILnE_1.mjs +0 -19
- package/dist/git-sync-CdN0Maun.mjs +0 -28
- package/dist/query-BKSM-pbi.mjs +0 -86
- package/dist/snippet-CG75L2DS.mjs +0 -19
- package/dist/timeline-DmM0BuX8.mjs +0 -21
- package/dist/transform-BcV_XlSX.mjs +0 -28
- package/dist/transform-job-CjtwBGoM.mjs +0 -22
- package/dist/upload-DzGTlldn.mjs +0 -13
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-YQQ5GIcP.mjs";
|
|
2
2
|
//#region src/commands/measure/index.ts
|
|
3
3
|
var measure_default = defineCommandGroup({
|
|
4
4
|
name: "measure",
|
|
@@ -11,11 +11,11 @@ var measure_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "define reusable measures"
|
|
12
12
|
}],
|
|
13
13
|
subCommands: {
|
|
14
|
-
list: () => import("./list-
|
|
15
|
-
get: () => import("./get-
|
|
16
|
-
create: () => import("./create-
|
|
17
|
-
update: () => import("./update-
|
|
18
|
-
archive: () => import("./archive-
|
|
14
|
+
list: () => import("./list-D6tTvYUP.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-BvgEF--n.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-BWp6L_dW.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-D9kOTr0n.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-BGiDxu8O.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as MALFORMED_CELL } from "./cli.mjs";
|
|
2
2
|
import { i as NotificationCompact, o as NotificationHandler, r as NotificationCardPayload, s as NotificationSubscription } from "./notification-DaA4bBHW.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/output/views/notification.ts
|
|
@@ -106,4 +106,4 @@ const ParameterValuesCompact = ParameterValues.pick({
|
|
|
106
106
|
has_more_values: true
|
|
107
107
|
}).strip();
|
|
108
108
|
//#endregion
|
|
109
|
-
export { ParameterValuesCompact as i, ParameterMapping as n, ParameterValues as r, Parameter as t };
|
|
109
|
+
export { TemporalUnit as a, ParameterValuesCompact as i, ParameterMapping as n, ParameterValues as r, Parameter as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { i as ParameterValuesCompact, r as ParameterValues } from "./parameter-
|
|
1
|
+
import { H as outputFlags, Q as ConfigError, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { i as ParameterValuesCompact, r as ParameterValues } from "./parameter-Celg0wZa.mjs";
|
|
5
5
|
//#region src/output/views/parameter.ts
|
|
6
6
|
const parameterValuesView = {
|
|
7
7
|
compactPick: ParameterValuesCompact,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { n as windowList } from "./window-
|
|
4
|
-
import { i as loadVisibleSkills, n as findSkillByName, r as loadAllSkills } from "./skills-
|
|
1
|
+
import { B as listFlags, G as listEnvelopeSchema, H as outputFlags, d as renderList } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
4
|
+
import { i as loadVisibleSkills, n as findSkillByName, r as loadAllSkills } from "./skills-BPHXUfeL.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/skills/path.ts
|
|
7
7
|
const SkillPath = z.object({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as throwIfAborted, t as combineAborts } from "./signal-
|
|
1
|
+
import { rt as TimeoutError } from "./cli.mjs";
|
|
2
|
+
import { n as throwIfAborted, t as combineAborts } from "./signal-k7cm5N6h.mjs";
|
|
3
3
|
import { setTimeout } from "node:timers/promises";
|
|
4
4
|
//#region ../client/src/poll.ts
|
|
5
5
|
const DEFAULT_INTERVAL_MS = 2e3;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { R as chainRequestFailure } from "./runtime-
|
|
3
|
-
import "./validate-
|
|
1
|
+
import { Q as ConfigError, et as MetabaseError, m as writeJson } from "./cli.mjs";
|
|
2
|
+
import { R as chainRequestFailure } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import "./validate-xR_MHBNR.mjs";
|
|
4
4
|
//#region src/commands/dashboard/preflight.ts
|
|
5
5
|
async function preflightDashcardCardReferences(client, dashcards) {
|
|
6
6
|
const issues = await client.dashboard.checkCardReferences(dashcards);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import {
|
|
4
|
-
import { n as tableSelectorFlags, t as parseTableSelectors } from "./selectors-
|
|
1
|
+
import { E as warn, H as outputFlags, U as profileFlag, ot as errorMessage, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { a as CollectionCompact, r as Collection } from "./collection-BxdPxD38.mjs";
|
|
4
|
+
import { n as tableSelectorFlags, t as parseTableSelectors } from "./selectors-BzestDld.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 { g as MALFORMED_CELL } from "./cli.mjs";
|
|
2
|
+
import { n as PulseChannel, r as PulseCompact } from "./pulse-Dz0ocv0l.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/output/views/pulse.ts
|
|
5
5
|
const PulseChannelList = z.array(PulseChannel);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { V as parseJson,
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import {
|
|
5
|
-
import { t as cardQueryView } from "./card-
|
|
6
|
-
import { t as formatQueryResult } from "./query-result-
|
|
1
|
+
import { H as outputFlags, Q as ConfigError, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { V as parseJson, it as parseOptionalInteger, t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { a as CardQueryResult, u as ExportFormat } from "./card-voh1k4hl.mjs";
|
|
5
|
+
import { t as cardQueryView } from "./card-CEkp1mcI.mjs";
|
|
6
|
+
import { t as formatQueryResult } from "./query-result-E4Q-Gra6.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
|
|
@@ -25,7 +25,7 @@ var query_default = defineMetabaseCommand({
|
|
|
25
25
|
},
|
|
26
26
|
"export-format": {
|
|
27
27
|
type: "string",
|
|
28
|
-
description: `Bypass JSON envelope and stream raw export: ${
|
|
28
|
+
description: `Bypass JSON envelope and stream raw export: ${ExportFormat.options.join(" | ")}`
|
|
29
29
|
},
|
|
30
30
|
parameters: {
|
|
31
31
|
type: "string",
|
|
@@ -78,8 +78,8 @@ function parseParameters(raw) {
|
|
|
78
78
|
return parseJson(raw, QueryParameters, { source: "--parameters" });
|
|
79
79
|
}
|
|
80
80
|
function parseExportFormat(raw) {
|
|
81
|
-
const result =
|
|
82
|
-
if (!result.success) throw new ConfigError(`invalid --export-format: "${raw}" (expected: ${
|
|
81
|
+
const result = ExportFormat.safeParse(raw);
|
|
82
|
+
if (!result.success) throw new ConfigError(`invalid --export-format: "${raw}" (expected: ${ExportFormat.options.join(", ")})`);
|
|
83
83
|
return result.data;
|
|
84
84
|
}
|
|
85
85
|
function applyLimit(result, limit) {
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { H as outputFlags, Q as ConfigError, U as profileFlag, m as writeJson, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { L as HttpError, R as chainRequestFailure, t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as readBody } from "./body-OjAWKVaU.mjs";
|
|
4
|
+
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
|
+
import { a as CardQueryResult, l as DatasetQuery } from "./card-voh1k4hl.mjs";
|
|
6
|
+
import { t as cardQueryView } from "./card-CEkp1mcI.mjs";
|
|
7
|
+
import { a as validateQuery, i as isMbql5Query, n as assertNotLegacyEnvelopeWrappingMbql5, r as getQuerySchemaBundle, t as ValidationOutcome } from "./validate-xR_MHBNR.mjs";
|
|
8
|
+
import { o as skipValidateFlag } from "./validate-query-D6_ad-Gi.mjs";
|
|
9
|
+
import { t as formatQueryResult } from "./query-result-E4Q-Gra6.mjs";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
//#region src/commands/query.ts
|
|
12
|
+
const QueryBody = z.unknown().describe("The query body: {\"lib/type\": \"mbql/query\", database, stages}; full schema: mb query --print-schema");
|
|
13
|
+
const QueryDryRunOutcome = ValidationOutcome.extend({ sql: z.string().nullable().describe("The compiled native query; null when it did not compile") });
|
|
14
|
+
const QueryOutput = z.union([CardQueryResult, QueryDryRunOutcome]);
|
|
15
|
+
const COMPILE_REJECTION_STATUSES = /* @__PURE__ */ new Set([400, 500]);
|
|
16
|
+
const FORBIDDEN_STATUS = 403;
|
|
17
|
+
const WHOLE_QUERY_POINTER = "";
|
|
18
|
+
var query_default = defineMetabaseCommand({
|
|
19
|
+
meta: {
|
|
20
|
+
name: "query",
|
|
21
|
+
description: "Run an ad-hoc MBQL or native query"
|
|
22
|
+
},
|
|
23
|
+
details: "Reads a JSON query body from --body, --file, or stdin and runs it. MBQL 5 is Metabase's structured query format, shaped {\"lib/type\": \"mbql/query\", \"database\": <database id>, \"stages\": [{\"lib/type\": \"mbql.stage/mbql\", \"source-table\": <table id>, \"aggregation\": [[\"count\", {}]]}]} with ids from `mb database list` and `mb table list`; it is checked against a bundled JSON Schema before sending, and --print-schema prints that schema. --dry-run checks the body without running it: the local schema check, then the server compiles it to native SQL without touching the warehouse. It prints {ok, errors:[{path, message}], sql} and exits 0 when the query compiled, 2 when either check rejected it. Legacy MBQL 4 and legacy native bodies skip the local check.",
|
|
24
|
+
skills: [{
|
|
25
|
+
skill: "mbql",
|
|
26
|
+
purpose: "body shape, clause rules, and the dry-run loop"
|
|
27
|
+
}],
|
|
28
|
+
requires: ["dataset.native", "dataset.query"],
|
|
29
|
+
args: {
|
|
30
|
+
...outputFlags,
|
|
31
|
+
...profileFlag,
|
|
32
|
+
...connectionFlags,
|
|
33
|
+
...bodyInputFlags,
|
|
34
|
+
"dry-run": {
|
|
35
|
+
type: "boolean",
|
|
36
|
+
description: "Check the body and compile it on the server to native SQL without running it; prints {ok, errors, sql}"
|
|
37
|
+
},
|
|
38
|
+
"print-schema": {
|
|
39
|
+
type: "boolean",
|
|
40
|
+
description: "Emit the bundled MBQL 5 query JSON Schema and exit; no body required"
|
|
41
|
+
},
|
|
42
|
+
...skipValidateFlag
|
|
43
|
+
},
|
|
44
|
+
inputSchema: QueryBody,
|
|
45
|
+
outputSchema: QueryOutput,
|
|
46
|
+
examples: [
|
|
47
|
+
"mb query --print-schema",
|
|
48
|
+
"cat q.json | mb query --dry-run",
|
|
49
|
+
"mb query --file q.json",
|
|
50
|
+
"mb query --file q.json --skip-validate"
|
|
51
|
+
],
|
|
52
|
+
async run({ args, ctx, getClient }) {
|
|
53
|
+
if (args["print-schema"] === true) {
|
|
54
|
+
writeJson(getQuerySchemaBundle());
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const dryRun = args["dry-run"] === true;
|
|
58
|
+
const explicitSkip = args["skip-validate"] === true;
|
|
59
|
+
if (dryRun && explicitSkip) throw new ConfigError("--skip-validate cannot be combined with --dry-run");
|
|
60
|
+
const body = await readBody({
|
|
61
|
+
flag: args.body,
|
|
62
|
+
file: args.file
|
|
63
|
+
}, QueryBody);
|
|
64
|
+
if (!explicitSkip) assertNotLegacyEnvelopeWrappingMbql5(body, {
|
|
65
|
+
contextLabel: "query",
|
|
66
|
+
bodyNoun: "the body"
|
|
67
|
+
});
|
|
68
|
+
if (!explicitSkip && isMbql5Query(body)) {
|
|
69
|
+
const local = validateQuery(body);
|
|
70
|
+
if (!local.ok) {
|
|
71
|
+
writeJson(dryRun ? notCompiled(local) : local);
|
|
72
|
+
const hint = dryRun ? "" : " — pass --dry-run to check it without running";
|
|
73
|
+
throw new ConfigError(`validation failed: ${local.errors.length} error(s)${hint}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (dryRun) {
|
|
77
|
+
const query = DatasetQuery.parse(body);
|
|
78
|
+
const outcome = await (await getClient()).dataset.native(query).then(compiledOutcome, rejectedOutcome);
|
|
79
|
+
writeJson(outcome);
|
|
80
|
+
if (!outcome.ok) throw new ConfigError(`server validation failed: ${outcome.errors.length} error(s)`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const queryResult = await (await getClient()).dataset.query(body);
|
|
84
|
+
renderSummary(queryResult, cardQueryView, () => formatQueryResult(queryResult), ctx);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
function notCompiled(local) {
|
|
88
|
+
return {
|
|
89
|
+
...local,
|
|
90
|
+
sql: null
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function compiledOutcome(compiled) {
|
|
94
|
+
return {
|
|
95
|
+
ok: true,
|
|
96
|
+
errors: [],
|
|
97
|
+
sql: typeof compiled.query === "string" ? compiled.query : JSON.stringify(compiled.query)
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function rejectedOutcome(error) {
|
|
101
|
+
if (!(error instanceof HttpError)) throw error;
|
|
102
|
+
if (error.status === FORBIDDEN_STATUS) throw chainRequestFailure(error, `the compile check could not run because the server refused permission: ${error.message}`);
|
|
103
|
+
if (!COMPILE_REJECTION_STATUSES.has(error.status)) throw error;
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
errors: [{
|
|
107
|
+
path: WHOLE_QUERY_POINTER,
|
|
108
|
+
message: error.message
|
|
109
|
+
}],
|
|
110
|
+
sql: null
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { query_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as formatScalar, v as renderRows } from "./cli.mjs";
|
|
2
2
|
//#region src/output/query-result.ts
|
|
3
3
|
function formatQueryResult(result) {
|
|
4
4
|
if (result.status !== "completed" || result.data === void 0) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import {
|
|
5
|
-
import { o as syncSettingsUpdateView } from "./git-sync-
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { c as SyncSettingsUpdateResult } from "./git-sync-BwBRmEhE.mjs";
|
|
5
|
+
import { o as syncSettingsUpdateView } from "./git-sync-TjX1r_wF.mjs";
|
|
6
6
|
//#region src/commands/git-sync/remove-collection.ts
|
|
7
7
|
var remove_collection_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ct as KNOWN_RANGE } from "./cli.mjs";
|
|
2
|
+
import { Q as Skew } from "./runtime-arKqJqIT.mjs";
|
|
2
3
|
//#region src/commands/auth/render.ts
|
|
3
4
|
const SKEW_LABEL = Object.freeze({
|
|
4
5
|
supported: "supported",
|
|
6
|
+
"older-than-known": `older than this CLI supports (v${KNOWN_RANGE.min} min)`,
|
|
5
7
|
"newer-than-known": `newer than this CLI knows (v${KNOWN_RANGE.max} max)`,
|
|
6
|
-
|
|
8
|
+
development: "development build (newer than every release)"
|
|
7
9
|
});
|
|
8
10
|
function pickProperty(value, key) {
|
|
9
11
|
if (typeof value !== "object" || value === null || !(key in value)) return;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.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-Do2PBSeH.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,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { a as DatabaseSyncResult } from "./database-
|
|
5
|
-
import { t as databaseSyncResultView } from "./database-
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { a as DatabaseSyncResult } from "./database-JtHTqSpq.mjs";
|
|
5
|
+
import { t as databaseSyncResultView } from "./database-C3E9PZSx.mjs";
|
|
6
6
|
//#region src/commands/db/rescan-values.ts
|
|
7
7
|
var rescan_values_default = defineMetabaseCommand({
|
|
8
8
|
meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
4
|
import { a as TransformJobRunResult } from "./transform-job-CCguL6LP.mjs";
|
|
5
5
|
//#region src/commands/transform-job/run.ts
|
|
6
6
|
const transformJobRunResultView = {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { i as TransformTestRunResult } from "./transform-test-BjjCQ2xm.mjs";
|
|
5
|
+
//#region src/commands/transform-test/run.ts
|
|
6
|
+
const transformTestRunResultView = {
|
|
7
|
+
compactPick: TransformTestRunResult,
|
|
8
|
+
tableColumns: [{
|
|
9
|
+
key: "status",
|
|
10
|
+
label: "Status"
|
|
11
|
+
}]
|
|
12
|
+
};
|
|
13
|
+
function namesOf(expectations, status) {
|
|
14
|
+
return expectations.filter((expectation) => expectation.status === status).map((e) => e.name);
|
|
15
|
+
}
|
|
16
|
+
function summaryLine(id, result) {
|
|
17
|
+
if (result.status === "passed") return `Transform test ${id} passed ${result.expectations.length} expectation(s).`;
|
|
18
|
+
const failed = namesOf(result.expectations, "failed");
|
|
19
|
+
const errored = namesOf(result.expectations, "error");
|
|
20
|
+
const parts = [failed.length > 0 ? `failed: ${failed.join(", ")}` : null, errored.length > 0 ? `could not run: ${errored.join(", ")}` : null].filter((part) => part !== null);
|
|
21
|
+
return `Transform test ${id} ${result.status} — ${parts.join("; ")}.`;
|
|
22
|
+
}
|
|
23
|
+
var run_default = defineMetabaseCommand({
|
|
24
|
+
meta: {
|
|
25
|
+
name: "run",
|
|
26
|
+
description: "Run a transform test by id"
|
|
27
|
+
},
|
|
28
|
+
details: "Runs the transform against temp tables built from the test's inputs, checks every expectation against its output, and drops the temp tables. Nothing reads or writes a real table. A failing expectation exits non-zero; --json reports what each expectation found, including the rows a comparison disagreed on.",
|
|
29
|
+
requires: ["transformTest.run"],
|
|
30
|
+
args: {
|
|
31
|
+
...outputFlags,
|
|
32
|
+
...profileFlag,
|
|
33
|
+
...connectionFlags,
|
|
34
|
+
id: {
|
|
35
|
+
type: "positional",
|
|
36
|
+
description: "Transform test id",
|
|
37
|
+
required: true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
outputSchema: TransformTestRunResult,
|
|
41
|
+
examples: ["mb transform-test run 1", "mb transform-test run 1 --json"],
|
|
42
|
+
async run({ args, ctx, getClient }) {
|
|
43
|
+
const id = parseId(args.id);
|
|
44
|
+
const result = await (await getClient()).transformTest.run(id);
|
|
45
|
+
renderSummary(result, transformTestRunResultView, summaryLine(id, result), ctx);
|
|
46
|
+
if (result.status !== "passed") throw new Error(`transform test ${id} ${result.status}`);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
//#endregion
|
|
50
|
+
export { run_default as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import {
|
|
5
|
-
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { c as TransformRunResult, p as isTransformRunFailed } from "./transform-DiW7bREn.mjs";
|
|
5
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-BQNmuvIj.mjs";
|
|
6
6
|
//#region src/commands/transform/run.ts
|
|
7
7
|
const transformRunResultView = {
|
|
8
8
|
compactPick: TransformRunResult,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { t as collectForOutput } from "./window-
|
|
5
|
-
import {
|
|
6
|
-
import { t as transformRunView } from "./transform-
|
|
1
|
+
import { B as listFlags, G as listEnvelopeSchema, H as outputFlags, U as profileFlag, d as renderList, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
|
|
4
|
+
import { t as collectForOutput } from "./window-DSb1tqSe.mjs";
|
|
5
|
+
import { s as TransformRunCompact } from "./transform-DiW7bREn.mjs";
|
|
6
|
+
import { t as transformRunView } from "./transform-CtqB1WYo.mjs";
|
|
7
7
|
//#region src/commands/transform/runs.ts
|
|
8
8
|
const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
|
|
9
9
|
var runs_default = defineMetabaseCommand({
|