@metabase/cli 0.3.1-alpha.support-worktrees.b634907 → 0.3.1-alpha.transform-tests.3fbcf8b
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-CxzzDG4z.mjs → add-collection-C-XJPp3F.mjs} +5 -6
- package/dist/{alert-CQ7Az16h.mjs → alert-Klz8Bhst.mjs} +7 -7
- package/dist/{alerts-DmwyyBfW.mjs → alerts-Bp2vByJf.mjs} +6 -7
- package/dist/{append-B0avMkvW.mjs → append-D16_s1HW.mjs} +3 -4
- package/dist/archive-BOJUGwyL.mjs +32 -0
- package/dist/{archive-Cvrkz8F8.mjs → archive-Bj4MjbJY.mjs} +4 -5
- package/dist/{archive-THcEfy9B.mjs → archive-C9iNjXcI.mjs} +4 -5
- package/dist/{archive-BPSNe0Ul.mjs → archive-CA-HIfQq.mjs} +3 -4
- package/dist/{archive-DCyeRNfV.mjs → archive-D4nGMs8A.mjs} +3 -4
- package/dist/{archive-BVblae-p.mjs → archive-Dd7ZTibw.mjs} +3 -4
- package/dist/{archive-CMTHh4-w.mjs → archive-Q_qUuYh8.mjs} +3 -4
- package/dist/archive-RzzXt2V0.mjs +32 -0
- package/dist/{archive-BZEu6UfT.mjs → archive-lDnTIypd.mjs} +5 -6
- package/dist/{archive-DFofUIEC.mjs → archive-nDvHMzTv.mjs} +3 -4
- package/dist/{archive-BQ50OZ7y.mjs → archive-vzu8ghZZ.mjs} +3 -4
- package/dist/{auth-BEEkuu4J.mjs → auth-kyPQfiND.mjs} +5 -5
- package/dist/{branches-CmWc8NyL.mjs → branches-QixvzIpl.mjs} +3 -4
- package/dist/{cancel-DrQqmxvn.mjs → cancel-CPStS4zJ.mjs} +3 -4
- package/dist/cancel-task--cuSISnl.mjs +28 -0
- package/dist/{card-CrBGUkGQ.mjs → card-DZxRmver.mjs} +0 -1
- package/dist/card-p2r_szeS.mjs +24 -0
- package/dist/{card-BEeafd4Y.mjs → card-zyUkr2nS.mjs} +1 -1
- package/dist/{cards-M_6X8wCI.mjs → cards-CNbV8aGO.mjs} +4 -5
- package/dist/cli.mjs +48 -142
- package/dist/{client-DYD8WZYy.mjs → client-DynvZqa0.mjs} +129 -207
- package/dist/collection-CAM47Der.mjs +20 -0
- package/dist/{collection-CJHqsFKP.mjs → collection-CGoVLvcD.mjs} +1 -1
- package/dist/{collection-BxE7OzcQ.mjs → collection-CfulNRBG.mjs} +3 -6
- package/dist/{content-translation-C8MlXPOF.mjs → content-translation-CxTabpLF.mjs} +3 -3
- package/dist/{create-BqpkCjx4.mjs → create-BGV7ejai.mjs} +2 -3
- package/dist/{create-ByuJ6T4k.mjs → create-BGy4L_yh.mjs} +5 -6
- package/dist/{create-CY-SzM66.mjs → create-BMokmmLp2.mjs} +9 -14
- package/dist/{create-CJ7Am4Gc.mjs → create-BTvSwLws.mjs} +3 -4
- package/dist/{create-C2XFfbjx.mjs → create-BikaTHCw.mjs} +2 -3
- package/dist/{create-z-oMrlfT.mjs → create-BsvpUxJq.mjs} +4 -5
- package/dist/{create-BLWwN0uw.mjs → create-CEP4Jsrd.mjs} +3 -4
- package/dist/{create-hTc131aX.mjs → create-CYhsYOOJ.mjs} +2 -3
- package/dist/{create-CoubLR5o.mjs → create-CsABLrSI.mjs} +3 -4
- package/dist/{create-ldrghMd1.mjs → create-CtDaASGO.mjs} +2 -3
- package/dist/{create-myI6doga.mjs → create-DMLjSEkF.mjs} +3 -4
- package/dist/{create-D0anrINz.mjs → create-M8qXs24L.mjs} +8 -13
- package/dist/{create-BupBEwR2.mjs → create-U15wd8_9.mjs} +6 -11
- package/dist/{create-BA_tTDEk.mjs → create-UxWtLwXT.mjs} +3 -4
- package/dist/{create-C7iooS6W.mjs → create-WIIp7MVV.mjs} +7 -13
- package/dist/create-branch-Bkq9rtf7.mjs +35 -0
- package/dist/create-ku05K1Oj.mjs +34 -0
- package/dist/{csv-DBNzJiWK.mjs → csv-GincCch9.mjs} +3 -4
- package/dist/{current-task-YzemU0Ic.mjs → current-task-CbnNWQ7H.mjs} +7 -12
- package/dist/{dashboard-B1mpfCq_.mjs → dashboard-ReNaou5J.mjs} +10 -10
- package/dist/{db-1tLH3nYI.mjs → db-2hSYsqHk.mjs} +7 -7
- package/dist/{delete-CpKH5ia4.mjs → delete-B2wmUpj_.mjs} +4 -5
- package/dist/{delete-CD_-B4Kq.mjs → delete-BEPw7WRT.mjs} +4 -5
- package/dist/{delete-eAUB7p-f.mjs → delete-Bv3_SIqh.mjs} +5 -10
- package/dist/{delete-DjAUp9mk.mjs → delete-C1YmyeVy.mjs} +4 -5
- package/dist/delete-CZqleA9Q.mjs +44 -0
- package/dist/{delete-QNgBV6eS.mjs → delete-DNsY94Ok.mjs} +5 -10
- package/dist/{delete-runtime-b2_ZMSjj.mjs → delete-runtime-D74s6vhu.mjs} +1 -1
- package/dist/{delete-table-DamlxnSO.mjs → delete-table-DySwoEaq.mjs} +5 -10
- package/dist/dependencies-ygT6uMu4.mjs +36 -0
- package/dist/dirty-BkiHZ8gb.mjs +31 -0
- package/dist/document-DGbDloCb.mjs +19 -0
- package/dist/{download-C4v7u-AV.mjs → download-Chr-YNTG.mjs} +2 -3
- package/dist/{eid-CP35PdEF.mjs → eid-BvY-YGpN.mjs} +2 -3
- package/dist/{events-DmbzKIh_.mjs → events-B01P0G7C.mjs} +4 -5
- package/dist/{export-i8D6laBG.mjs → export-CG23iezf.mjs} +12 -25
- package/dist/{field-BKn9bt7I.mjs → field-DikmNcAt.mjs} +5 -5
- package/dist/{fields-8_p81BqN.mjs → fields-C9BF3jHL.mjs} +4 -5
- package/dist/get-B3jvGI0b.mjs +31 -0
- package/dist/{get-CNEQK0-9.mjs → get-B4GltkXP.mjs} +4 -5
- package/dist/get-BHpVRSbm.mjs +32 -0
- package/dist/{get-N4dOaTsp.mjs → get-BYSFFlsd.mjs} +4 -5
- package/dist/{get-BbHPFNqr.mjs → get-Blbcl76m.mjs} +3 -4
- package/dist/{get-CPTbySa7.mjs → get-BtauixMx.mjs} +3 -4
- package/dist/{get-DFkbi5L3.mjs → get-Buxkx-RX.mjs} +2 -3
- package/dist/get-C1V7vZse.mjs +31 -0
- package/dist/{get-CAzSP-7o.mjs → get-C99cjjD0.mjs} +3 -4
- package/dist/{get-BBOfshz1.mjs → get-CMMXBVff.mjs} +3 -4
- package/dist/{get-Bds6Izxk.mjs → get-CkMLxzVy.mjs} +3 -4
- package/dist/{get-vrccOMBk.mjs → get-DY-e5oP7.mjs} +3 -4
- package/dist/{get-B0g6VMBC.mjs → get-DZpRq_Fw.mjs} +3 -4
- package/dist/{get-DnCE7K0y.mjs → get-DdSB-fpR.mjs} +4 -5
- package/dist/{get-BHGgXqUq.mjs → get-DvqYIBp5.mjs} +3 -4
- package/dist/get-FJofgEPB.mjs +36 -0
- package/dist/{get-CWf46UFu.mjs → get-N5EUCDL0.mjs} +5 -6
- package/dist/{get-vvs0qzzM.mjs → get-PKhv8WUf.mjs} +3 -4
- package/dist/{get-BvW21ujw.mjs → get-UW0DOjH5.mjs} +3 -4
- package/dist/{get-DvLuY5Xu.mjs → get-gFM8-HHP.mjs} +9 -17
- package/dist/{get-run-4Ng8_awa.mjs → get-run-F7ARJeAD.mjs} +5 -6
- package/dist/{git-sync-DLzJrdMi.mjs → git-sync-BDnxPrqU.mjs} +3 -22
- package/dist/{git-sync-LQIVMNxO.mjs → git-sync-DxD_ng48.mjs} +2 -31
- package/dist/git-sync-IW4T2sKq.mjs +28 -0
- package/dist/{group-YN6jj2AN.mjs → group-DBM87IgC.mjs} +2 -3
- package/dist/{has-remote-changes-BXPGI9xG.mjs → has-remote-changes-Bwyp8mc-.mjs} +6 -14
- package/dist/{import-BoxOkA-G.mjs → import-CPY8aM8d.mjs} +11 -28
- package/dist/{is-dirty-Cwxq4_gd.mjs → is-dirty-0F_UJY7Q.mjs} +6 -15
- package/dist/{items-Cv6iAzrI.mjs → items-FUop0zGR.mjs} +9 -17
- package/dist/{library-Cfw6eF35.mjs → library-ClLgrAXy.mjs} +1 -1
- package/dist/{library-fhVn1KDC.mjs → library-DfYAT2Ep.mjs} +1 -1
- package/dist/{library-CRaOhJnj.mjs → library-DpOtb0E0.mjs} +5 -5
- package/dist/{list-BBp9XjYs.mjs → list--B2EUWJg.mjs} +3 -4
- package/dist/list-B-74c1BD.mjs +35 -0
- package/dist/{list-BLJkJp5a.mjs → list-BASNYNJr.mjs} +3 -4
- package/dist/list-BQaXU1bp.mjs +28 -0
- package/dist/{list-DhrapAcy.mjs → list-BQrk4Ua4.mjs} +3 -4
- package/dist/{list-C8J3n8B8.mjs → list-Beoh2AYD.mjs} +3 -4
- package/dist/{list-9uvk9dIA.mjs → list-Bqm0F1Y-.mjs} +3 -4
- package/dist/{list-oAAgU5uE.mjs → list-C2qxVTu7.mjs} +9 -16
- package/dist/list-CGkgypYz.mjs +38 -0
- package/dist/{list-CtZAu4im.mjs → list-CvzWE6CS.mjs} +4 -5
- package/dist/list-DMlFbccD.mjs +28 -0
- package/dist/{list-tutXEQRW.mjs → list-DdFViPYS.mjs} +4 -5
- package/dist/{list-DOZNpX4b.mjs → list-DfbsmsHv.mjs} +4 -5
- package/dist/{list--2T-GUEF.mjs → list-GyP4b_tU.mjs} +4 -5
- package/dist/{list-DOaWCx8S.mjs → list-Uc1OxV36.mjs} +8 -17
- package/dist/{list-L2U1l6R4.mjs → list-ba7lI44w.mjs} +3 -4
- package/dist/{list-BwkfWtP2.mjs → list-lzIKVtE9.mjs} +3 -4
- package/dist/list-rQ-6XSua.mjs +36 -0
- package/dist/{list-WSJLnunb.mjs → list-xC99-2X0.mjs} +3 -4
- package/dist/{login-DqWRF3Og.mjs → login-D5jt0q9K.mjs} +4 -5
- package/dist/{logout-ChCz1bkf.mjs → logout-DViy0VzV.mjs} +2 -3
- package/dist/{measure-C5dIdFj1.mjs → measure-IPlonpqU.mjs} +6 -6
- package/dist/{notification-DVrLkjFT.mjs → notification-Fcq1fIPw.mjs} +1 -1
- package/dist/{parameter-values-Dy4cBs5y.mjs → parameter-values-CHyOCxmR.mjs} +3 -4
- package/dist/{parse-id-DDCn3VXx.mjs → parse-id-CPINxy7h.mjs} +1 -1
- package/dist/{parse-ref-Wv21Roup.mjs → parse-ref-ibKVB0J4.mjs} +2 -6
- package/dist/{path-IYhuzjQV.mjs → path-bMZzUOVo.mjs} +4 -5
- package/dist/{preflight-HLUVr2Yf.mjs → preflight-CoF1Em99.mjs} +1 -1
- package/dist/{publish-CMkCSt8i.mjs → publish-Cs-OUG6n.mjs} +4 -5
- package/dist/{pulse-a-83M4DV.mjs → pulse-DhG6I9mI.mjs} +1 -1
- package/dist/{query-tWQAV9pb.mjs → query-CEdmSEq8.mjs} +6 -7
- package/dist/{query-Bka77J62.mjs → query-CpD46hL6.mjs} +6 -7
- package/dist/{query-result-E4Q-Gra6.mjs → query-result-DBDwk8TS.mjs} +1 -1
- package/dist/{remove-collection-BV9wRQZD.mjs → remove-collection-DynsqkwG.mjs} +5 -6
- package/dist/{render-DHjCcUXn.mjs → render-CI93iP0I.mjs} +1 -7
- package/dist/{replace-mt47dlRV.mjs → replace-C6YqqCG9.mjs} +3 -4
- package/dist/{rescan-values-6cRjcpTs.mjs → rescan-values-C6PB02uT.mjs} +3 -4
- package/dist/run-C7PXBBEl.mjs +50 -0
- package/dist/{run-DI_pDxji.mjs → run-Cb86sH_c.mjs} +5 -6
- package/dist/{run-BmGmC-GQ.mjs → run-CpmWoOGp.mjs} +3 -4
- package/dist/{runs-9Fu0mug5.mjs → runs-CCRszsbB.mjs} +6 -7
- package/dist/{runtime-CNAZ_FuR.mjs → runtime-BMJv4VOi.mjs} +8 -103
- package/dist/{schema-tables-CLG0mtQb.mjs → schema-tables-BQdFNy1B.mjs} +4 -5
- package/dist/{schemas-Cm5NWy59.mjs → schemas-CNAPFh4n.mjs} +4 -5
- package/dist/{search-CljYyf2F.mjs → search-BKVV6YtB.mjs} +8 -14
- package/dist/{segment-IRzlQggt.mjs → segment-CDoZHSYX.mjs} +6 -6
- package/dist/{selectors-D4iOP5uB.mjs → selectors-BXbjj36S.mjs} +2 -2
- package/dist/{send-D7DBnQbu.mjs → send-D2eXL9lt.mjs} +3 -4
- package/dist/{set-active-CkE0Eiqh.mjs → set-active-DT61WwV0.mjs} +2 -3
- package/dist/{set-DKN8fuC6.mjs → set-sHBtSGLi.mjs} +2 -3
- package/dist/{setting-CN4l8N-b.mjs → setting-dkfKvCxc.mjs} +4 -4
- package/dist/{setup-BpTptmdO.mjs → setup-TOwWatgm.mjs} +2 -3
- package/dist/{skills-BSAiLI3Z.mjs → skills-BcOjZldN.mjs} +3 -3
- package/dist/{skills-hVKSOCUf.mjs → skills-DTCrMcix.mjs} +1 -1
- package/dist/{snippet-BxgvQ09J.mjs → snippet-CyKAgIZl.mjs} +2 -5
- package/dist/snippet-DMdFqvNq.mjs +19 -0
- package/dist/{snippet-DecHB4Dn.mjs → snippet-oJLaYW9V.mjs} +1 -1
- package/dist/{stash-DJs6A6BA.mjs → stash-BgWw2lyu.mjs} +6 -7
- package/dist/{status-N_2EaWb7.mjs → status-B14FO8n7.mjs} +6 -15
- package/dist/{status-DtwBDRtc.mjs → status-J4pEIm-c.mjs} +16 -44
- package/dist/{subscription-BnGDp1oy.mjs → subscription-B1uuKxM7.mjs} +6 -6
- package/dist/{subscriptions-BfFwV__x.mjs → subscriptions-BHIATSN6.mjs} +6 -7
- package/dist/{summary-CHiq-4mz.mjs → summary-B1V5TXaZ.mjs} +3 -4
- package/dist/{sync-schema-DhnM-rpm.mjs → sync-schema-D1vX-rpv.mjs} +4 -5
- package/dist/{sync-task-G1K47Nvn.mjs → sync-task-BACcrs0i.mjs} +1 -1
- package/dist/{table-BQaiCSNS.mjs → table-CDeO1WbH.mjs} +5 -5
- package/dist/timeline-MQFX3Fla.mjs +21 -0
- package/dist/{timeline-event-B7H1y8s8.mjs → timeline-event-oGmne082.mjs} +6 -6
- package/dist/transform-CWIqW64R.mjs +28 -0
- package/dist/{transform-BvOEn41C.mjs → transform-D3QX0jxA.mjs} +1 -4
- package/dist/{transform-CiDOJGBW.mjs → transform-DoTyyXAu.mjs} +2 -2
- package/dist/transform-job-DpF2MARE.mjs +22 -0
- package/dist/{transform-tag-Dip51YBa.mjs → transform-tag-Bpj8l5Ci.mjs} +5 -5
- package/dist/{transform-tag-jBVd6wXd.mjs → transform-tag-CcElGp3C.mjs} +4 -9
- package/dist/{transform-tag-DiXWRCQG.mjs → transform-tag-Dmb4u3-Q.mjs} +1 -1
- package/dist/transform-test-BJOPAwKl.mjs +25 -0
- package/dist/transform-test-BhkpwFqD.mjs +16 -0
- package/dist/transform-test-Dhcj7u-U.mjs +142 -0
- package/dist/{transforms-C-jYgS6z.mjs → transforms-K7Y4ON_q.mjs} +6 -7
- package/dist/tree-CtFtroe4.mjs +27 -0
- package/dist/{unpublish-BokbnLng.mjs → unpublish-D7UaaIWA.mjs} +3 -4
- package/dist/{update-BRXKLeJH.mjs → update-3ksm443P.mjs} +3 -4
- package/dist/{update-AZSXMJqu.mjs → update-B7veBLhx.mjs} +7 -13
- package/dist/{update-CfQoYVTc.mjs → update-BicO3Lio.mjs} +3 -4
- package/dist/{update-e7lyQPxq.mjs → update-BlBEKrNE.mjs} +7 -13
- package/dist/{update-BErxnZrj.mjs → update-BpuZsX9z.mjs} +4 -5
- package/dist/{update-CKL2FtoX.mjs → update-BvbPpgOL.mjs} +4 -5
- package/dist/{update-C4PbAYgW.mjs → update-CGJXd_E3.mjs} +3 -4
- package/dist/{update-B9DcRSBQ.mjs → update-C_wTtrtX.mjs} +10 -16
- package/dist/{update-BCGE5UYC.mjs → update-D9Nfv864.mjs} +4 -5
- package/dist/{update-D9OTkZhw.mjs → update-DUNJEk8m.mjs} +3 -4
- package/dist/{update-Bc8s1TL1.mjs → update-HqUKBeM2.mjs} +3 -4
- package/dist/{update-CpLEEbiJ.mjs → update-MWaDj2VX.mjs} +6 -7
- package/dist/{update-BBQInyiJ.mjs → update-YkB3xWUh.mjs} +4 -5
- package/dist/{update-rkbpH0lF.mjs → update-bix8NoKq.mjs} +3 -4
- package/dist/{update-CPEU8ZEu.mjs → update-dRAPKE3c.mjs} +4 -5
- package/dist/{update-dashcard-St-dGcE3.mjs → update-dashcard-BGqKMqQb.mjs} +3 -4
- package/dist/update-e4ufwrkF.mjs +41 -0
- package/dist/{upgrade-CUoRHfVg.mjs → upgrade-DkQ1wk4z.mjs} +2 -3
- package/dist/{upload-BPd1Uzxc.mjs → upload-BfGc-L4t.mjs} +2 -3
- package/dist/upload-JN6EK96c.mjs +13 -0
- package/dist/{uuid-CFN8LIkP.mjs → uuid-BLBLkWAF.mjs} +2 -3
- package/dist/{validate-query-Chc43ezW.mjs → validate-query-DaGYSmpQ.mjs} +1 -1
- package/dist/{values-BL_U-Zdw.mjs → values-8CrXBkyg.mjs} +3 -4
- package/dist/{verify-DnBaRmkI.mjs → verify-nNVN-0CR.mjs} +2 -2
- package/dist/{wait-mPoOZxrw.mjs → wait-YrD7UYFF.mjs} +7 -12
- package/dist/{wait-flags-DzytMEG8.mjs → wait-flags-CDtMS8FP.mjs} +2 -2
- package/dist/{window-DSb1tqSe.mjs → window-BkvrP0gB.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +15 -17
- package/skill-data/git-sync/SKILL.md +1 -91
- package/skill-data/transform/SKILL.md +56 -10
- package/dist/archive-CqOKKrb2.mjs +0 -38
- package/dist/archive-DCjdICg7.mjs +0 -38
- package/dist/branch-BSeGrtP7.mjs +0 -28
- package/dist/cancel-task-BMQXtjW5.mjs +0 -34
- package/dist/card-RlzLDB2z.mjs +0 -24
- package/dist/collection-Bhe20ckt.mjs +0 -20
- package/dist/create-DwrhcI8r2.mjs +0 -144
- package/dist/create-branch-B3BMpF1g.mjs +0 -49
- package/dist/delete-D_OgiI4v.mjs +0 -86
- package/dist/dependencies-DEx0BsZ3.mjs +0 -41
- package/dist/dirty-dC1-Ud0G.mjs +0 -40
- package/dist/document-DOJbBWLF.mjs +0 -19
- package/dist/export-preflight-B5MvYhm3.mjs +0 -67
- package/dist/get-Cfagmy1i.mjs +0 -42
- package/dist/get-DwdMvWXU.mjs +0 -44
- package/dist/get-jV8G90Zy.mjs +0 -42
- package/dist/get-mGEv-kag.mjs +0 -33
- package/dist/git-sync-DjoaNmRM.mjs +0 -29
- package/dist/list-5Iojbr_p.mjs +0 -37
- package/dist/list-BD4onDqO.mjs +0 -37
- package/dist/list-C2yL7-CH.mjs +0 -45
- package/dist/list-CbbKip6U.mjs +0 -32
- package/dist/list-Dg2XeDON.mjs +0 -47
- package/dist/pin-BuZ_kg-u.mjs +0 -62
- package/dist/scope-DsGuWG5w.mjs +0 -11
- package/dist/snippet-LlHz3FdJ.mjs +0 -19
- package/dist/timeline-C2VW0Ph6.mjs +0 -21
- package/dist/transform-DAf0Y02t.mjs +0 -28
- package/dist/transform-job-ntiT5Rrh.mjs +0 -22
- package/dist/tree-DtyJhD54.mjs +0 -36
- package/dist/unpin-DxbXmLtW.mjs +0 -45
- package/dist/upload-Dc3QLhZw.mjs +0 -13
- package/dist/worktree-ChdDlG3Q.mjs +0 -25
- package/dist/worktree-DC0kTxxQ.mjs +0 -20
- package/dist/worktree-xAro1xAB.mjs +0 -24
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { r as Collection } from "./collection-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { n as formatSyncTask } from "./sync-task-G1K47Nvn.mjs";
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
|
|
3
|
+
import { r as Collection } from "./collection-CfulNRBG.mjs";
|
|
4
|
+
import { l as SyncTask } from "./git-sync-BDnxPrqU.mjs";
|
|
5
|
+
import { n as formatSyncTask } from "./sync-task-BACcrs0i.mjs";
|
|
7
6
|
import { z } from "zod";
|
|
8
7
|
//#region src/commands/git-sync/status.ts
|
|
9
8
|
const SyncedCollection = Collection.pick({
|
|
10
9
|
id: true,
|
|
11
10
|
name: true
|
|
12
11
|
}).strip();
|
|
13
|
-
const SyncStatusWorktree = Worktree.pick({
|
|
14
|
-
id: true,
|
|
15
|
-
branch: true
|
|
16
|
-
}).strip();
|
|
17
12
|
const SyncStatus = z.object({
|
|
18
13
|
branch: z.string().nullable(),
|
|
19
|
-
worktree: SyncStatusWorktree.nullable(),
|
|
20
14
|
is_dirty: z.boolean(),
|
|
21
15
|
current_task: SyncTask.nullable(),
|
|
22
16
|
synced_collections: z.array(SyncedCollection)
|
|
@@ -28,10 +22,6 @@ const syncStatusView = {
|
|
|
28
22
|
key: "branch",
|
|
29
23
|
label: "Branch"
|
|
30
24
|
},
|
|
31
|
-
{
|
|
32
|
-
key: "worktree",
|
|
33
|
-
label: "Worktree"
|
|
34
|
-
},
|
|
35
25
|
{
|
|
36
26
|
key: "is_dirty",
|
|
37
27
|
label: "Dirty"
|
|
@@ -55,52 +45,34 @@ var status_default = defineMetabaseCommand({
|
|
|
55
45
|
minVersion: 60,
|
|
56
46
|
tokenFeature: "remote_sync"
|
|
57
47
|
},
|
|
58
|
-
worktree: "scoped",
|
|
59
|
-
details: "Inside a worktree the branch reported is the worktree's own and the dirty flag and current task are the worktree's; the per-collection sync scope is the main app's alone, so it reads empty there. " + WORKTREE_SCOPE_DETAIL,
|
|
60
48
|
args: {
|
|
61
49
|
...outputFlags,
|
|
62
50
|
...profileFlag,
|
|
63
|
-
...connectionFlags
|
|
64
|
-
...worktreeFlag
|
|
51
|
+
...connectionFlags
|
|
65
52
|
},
|
|
66
53
|
outputSchema: SyncStatus,
|
|
67
|
-
examples: [
|
|
68
|
-
|
|
69
|
-
"mb git-sync status --json",
|
|
70
|
-
"mb git-sync status --worktree feat/transforms"
|
|
71
|
-
],
|
|
72
|
-
async run({ ctx, getClient, getWorktree }) {
|
|
54
|
+
examples: ["mb git-sync status", "mb git-sync status --json"],
|
|
55
|
+
async run({ ctx, getClient }) {
|
|
73
56
|
const mb = await getClient();
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const status = {
|
|
81
|
-
branch: scope.branch,
|
|
82
|
-
worktree: scope,
|
|
83
|
-
is_dirty: isDirty,
|
|
84
|
-
current_task: currentTask,
|
|
85
|
-
synced_collections: []
|
|
86
|
-
};
|
|
87
|
-
const scopePart = `Worktree ${scope.id} (${scope.branch})`;
|
|
88
|
-
renderSummary(status, syncStatusView, `${scopePart} — ${dirtyPart}. ${taskPart}`, ctx);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
const [branch, collections] = await Promise.all([mb.gitSync.branch(), mb.gitSync.syncedCollections()]);
|
|
57
|
+
const [branch, isDirty, currentTask, collections] = await Promise.all([
|
|
58
|
+
mb.gitSync.branch(),
|
|
59
|
+
mb.gitSync.isDirty(),
|
|
60
|
+
mb.gitSync.currentTask(),
|
|
61
|
+
mb.gitSync.syncedCollections()
|
|
62
|
+
]);
|
|
92
63
|
const syncedCollections = collections.data.map((collection) => ({
|
|
93
64
|
id: collection.id,
|
|
94
65
|
name: collection.name
|
|
95
66
|
}));
|
|
96
67
|
const summary = {
|
|
97
68
|
branch,
|
|
98
|
-
worktree: null,
|
|
99
69
|
is_dirty: isDirty,
|
|
100
70
|
current_task: currentTask,
|
|
101
71
|
synced_collections: syncedCollections
|
|
102
72
|
};
|
|
103
73
|
const branchPart = branch === null ? "git-sync branch not set" : `Branch ${branch}`;
|
|
74
|
+
const dirtyPart = isDirty ? "Metabase has unsynced local changes" : "in sync with the remote";
|
|
75
|
+
const taskPart = currentTask === null ? "No task running." : formatSyncTask(currentTask);
|
|
104
76
|
const scopePart = formatSyncedCollections(syncedCollections);
|
|
105
77
|
renderSummary(summary, syncStatusView, `${branchPart} — ${dirtyPart}. ${taskPart} ${scopePart}`, ctx);
|
|
106
78
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
2
|
//#region src/commands/subscription/index.ts
|
|
3
3
|
var subscription_default = defineCommandGroup({
|
|
4
4
|
name: "subscription",
|
|
@@ -11,11 +11,11 @@ var subscription_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "the dashboard and dashcards a subscription delivers"
|
|
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-DdFViPYS.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-BYSFFlsd.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-CEP4Jsrd.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-D9Nfv864.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-Bj4MjbJY.mjs").then((mod) => mod.default)
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
5
|
-
import { t as pulseView } from "./pulse-
|
|
6
|
-
import { SubscriptionListEnvelope } from "./list-
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, N as listFlags, s as renderList } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CPINxy7h.mjs";
|
|
4
|
+
import { n as windowList } from "./window-BkvrP0gB.mjs";
|
|
5
|
+
import { t as pulseView } from "./pulse-DhG6I9mI.mjs";
|
|
6
|
+
import { SubscriptionListEnvelope } from "./list-DdFViPYS.mjs";
|
|
7
7
|
//#region src/commands/dashboard/subscriptions.ts
|
|
8
8
|
var subscriptions_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -12,7 +12,6 @@ var subscriptions_default = defineMetabaseCommand({
|
|
|
12
12
|
},
|
|
13
13
|
details: "Manage them with `mb subscription create|update|archive`, which take the subscription id printed here.",
|
|
14
14
|
capabilities: { minVersion: 58 },
|
|
15
|
-
worktree: "any",
|
|
16
15
|
args: {
|
|
17
16
|
...outputFlags,
|
|
18
17
|
...listFlags,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, o as renderItem } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CPINxy7h.mjs";
|
|
4
4
|
import { a as FieldSummary } from "./field-Cr2DPUG9.mjs";
|
|
5
5
|
import { t as fieldSummaryView } from "./field-BPsNa-TO.mjs";
|
|
6
6
|
//#region src/commands/field/summary.ts
|
|
@@ -10,7 +10,6 @@ var summary_default = defineMetabaseCommand({
|
|
|
10
10
|
description: "Get the row count and distinct count for a field"
|
|
11
11
|
},
|
|
12
12
|
capabilities: { minVersion: 58 },
|
|
13
|
-
worktree: "any",
|
|
14
13
|
args: {
|
|
15
14
|
...outputFlags,
|
|
16
15
|
...profileFlag,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CPINxy7h.mjs";
|
|
4
4
|
import { a as DatabaseSyncResult } from "./database-C8G6ZKG0.mjs";
|
|
5
5
|
import { t as databaseSyncResultView } from "./database-B19qlLKZ.mjs";
|
|
6
|
-
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-
|
|
6
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-CDtMS8FP.mjs";
|
|
7
7
|
//#region src/commands/db/sync-schema.ts
|
|
8
8
|
var sync_schema_default = defineMetabaseCommand({
|
|
9
9
|
meta: {
|
|
@@ -12,7 +12,6 @@ var sync_schema_default = defineMetabaseCommand({
|
|
|
12
12
|
},
|
|
13
13
|
details: "Queues an async schema sync and returns immediately. Pass --wait to poll the database until its initial_sync_status reports `complete` (a database that has already finished its initial sync returns at once). To wait for a specific newly-materialized transform table to register, prefer `mb transform run <id> --sync`.",
|
|
14
14
|
capabilities: { minVersion: 58 },
|
|
15
|
-
worktree: "main-only",
|
|
16
15
|
args: {
|
|
17
16
|
...outputFlags,
|
|
18
17
|
...profileFlag,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d as isSyncTaskFailed, l as SyncTask } from "./git-sync-BDnxPrqU.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/commands/git-sync/sync-task.ts
|
|
4
4
|
const SyncTaskIdle = z.object({ status: z.literal("idle") });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
2
|
//#region src/commands/table/index.ts
|
|
3
3
|
var table_default = defineCommandGroup({
|
|
4
4
|
name: "table",
|
|
@@ -8,10 +8,10 @@ var table_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "table and column metadata, semantic types, visibility"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
list: () => import("./list-
|
|
12
|
-
get: () => import("./get-
|
|
13
|
-
fields: () => import("./fields-
|
|
14
|
-
update: () => import("./update-
|
|
11
|
+
list: () => import("./list-DfbsmsHv.mjs").then((m) => m.default),
|
|
12
|
+
get: () => import("./get-Blbcl76m.mjs").then((m) => m.default),
|
|
13
|
+
fields: () => import("./fields-C9BF3jHL.mjs").then((m) => m.default),
|
|
14
|
+
update: () => import("./update-bix8NoKq.mjs").then((m) => m.default)
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
//#endregion
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
+
//#region src/commands/timeline/index.ts
|
|
3
|
+
var timeline_default = defineCommandGroup({
|
|
4
|
+
name: "timeline",
|
|
5
|
+
description: "Manage Metabase timelines (event annotations for time-series charts)",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "core",
|
|
8
|
+
purpose: "collection scoping — events render only on questions in the timeline's collection"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-Beoh2AYD.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-CkMLxzVy.mjs").then((mod) => mod.default),
|
|
13
|
+
events: () => import("./events-B01P0G7C.mjs").then((mod) => mod.default),
|
|
14
|
+
create: () => import("./create-BGV7ejai.mjs").then((mod) => mod.default),
|
|
15
|
+
update: () => import("./update-HqUKBeM2.mjs").then((mod) => mod.default),
|
|
16
|
+
archive: () => import("./archive-CA-HIfQq.mjs").then((mod) => mod.default),
|
|
17
|
+
delete: () => import("./delete-C1YmyeVy.mjs").then((mod) => mod.default)
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { timeline_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
2
|
//#region src/commands/timeline-event/index.ts
|
|
3
3
|
var timeline_event_default = defineCommandGroup({
|
|
4
4
|
name: "timeline-event",
|
|
@@ -8,11 +8,11 @@ var timeline_event_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "required event fields and timeline collection scoping"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
get: () => import("./get-
|
|
12
|
-
create: () => import("./create-
|
|
13
|
-
update: () => import("./update-
|
|
14
|
-
archive: () => import("./archive-
|
|
15
|
-
delete: () => import("./delete-
|
|
11
|
+
get: () => import("./get-UW0DOjH5.mjs").then((mod) => mod.default),
|
|
12
|
+
create: () => import("./create-CYhsYOOJ.mjs").then((mod) => mod.default),
|
|
13
|
+
update: () => import("./update-CGJXd_E3.mjs").then((mod) => mod.default),
|
|
14
|
+
archive: () => import("./archive-Dd7ZTibw.mjs").then((mod) => mod.default),
|
|
15
|
+
delete: () => import("./delete-B2wmUpj_.mjs").then((mod) => mod.default)
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
//#endregion
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
+
//#region src/commands/transform/index.ts
|
|
3
|
+
var transform_default = defineCommandGroup({
|
|
4
|
+
name: "transform",
|
|
5
|
+
description: "Manage Metabase transforms",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "transform",
|
|
8
|
+
purpose: "body shape, run-with-wait, iterate"
|
|
9
|
+
}, {
|
|
10
|
+
skill: "mbql",
|
|
11
|
+
purpose: "MBQL source.query bodies"
|
|
12
|
+
}],
|
|
13
|
+
subCommands: {
|
|
14
|
+
list: () => import("./list-DMlFbccD.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-B3jvGI0b.mjs").then((mod) => mod.default),
|
|
16
|
+
dependencies: () => import("./dependencies-ygT6uMu4.mjs").then((mod) => mod.default),
|
|
17
|
+
create: () => import("./create-BMokmmLp2.mjs").then((mod) => mod.default),
|
|
18
|
+
update: () => import("./update-C_wTtrtX.mjs").then((mod) => mod.default),
|
|
19
|
+
delete: () => import("./delete-DNsY94Ok.mjs").then((mod) => mod.default),
|
|
20
|
+
"delete-table": () => import("./delete-table-DySwoEaq.mjs").then((mod) => mod.default),
|
|
21
|
+
run: () => import("./run-Cb86sH_c.mjs").then((mod) => mod.default),
|
|
22
|
+
cancel: () => import("./cancel-CPStS4zJ.mjs").then((mod) => mod.default),
|
|
23
|
+
"get-run": () => import("./get-run-F7ARJeAD.mjs").then((mod) => mod.default),
|
|
24
|
+
runs: () => import("./runs-CCRszsbB.mjs").then((mod) => mod.default)
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
//#endregion
|
|
28
|
+
export { transform_default as default };
|
|
@@ -135,7 +135,6 @@ const Transform = z.object({
|
|
|
135
135
|
updated_at: z.string(),
|
|
136
136
|
creator_id: z.number().int(),
|
|
137
137
|
collection_id: z.number().int().nullable(),
|
|
138
|
-
worktree_id: z.number().int().positive().nullable().optional(),
|
|
139
138
|
run_trigger: TransformRunTrigger.nullable().optional(),
|
|
140
139
|
last_run: TransformLastRun.nullable().optional(),
|
|
141
140
|
tag_ids: z.array(z.number().int()).optional()
|
|
@@ -145,8 +144,7 @@ const TransformCompact = Transform.pick({
|
|
|
145
144
|
name: true,
|
|
146
145
|
description: true,
|
|
147
146
|
source_type: true,
|
|
148
|
-
target_db_id: true
|
|
149
|
-
worktree_id: true
|
|
147
|
+
target_db_id: true
|
|
150
148
|
}).strip().extend({ target: TransformTargetCompact });
|
|
151
149
|
const TransformCreateInput = z.object({
|
|
152
150
|
name: z.string().min(1),
|
|
@@ -156,7 +154,6 @@ const TransformCreateInput = z.object({
|
|
|
156
154
|
run_trigger: TransformRunTrigger.optional(),
|
|
157
155
|
tag_ids: z.array(z.number().int().positive()).optional(),
|
|
158
156
|
collection_id: z.number().int().positive().nullable().optional(),
|
|
159
|
-
worktree_id: z.number().int().positive().nullable().optional(),
|
|
160
157
|
owner_user_id: z.number().int().positive().nullable().optional(),
|
|
161
158
|
owner_email: z.string().nullable().optional()
|
|
162
159
|
}).loose();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as TransformRunCompact, n as TransformCompact, s as TransformTarget } from "./transform-
|
|
1
|
+
import { d as MALFORMED_CELL } from "./cli.mjs";
|
|
2
|
+
import { a as TransformRunCompact, n as TransformCompact, s as TransformTarget } from "./transform-D3QX0jxA.mjs";
|
|
3
3
|
//#region src/output/views/transform.ts
|
|
4
4
|
function formatTarget(value) {
|
|
5
5
|
const parsed = TransformTarget.safeParse(value);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
+
//#region src/commands/transform-job/index.ts
|
|
3
|
+
var transform_job_default = defineCommandGroup({
|
|
4
|
+
name: "transform-job",
|
|
5
|
+
description: "Manage Metabase transform jobs",
|
|
6
|
+
skills: [{
|
|
7
|
+
skill: "transform",
|
|
8
|
+
purpose: "tag-driven job schedules"
|
|
9
|
+
}],
|
|
10
|
+
subCommands: {
|
|
11
|
+
list: () => import("./list-ba7lI44w.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-CMMXBVff.mjs").then((mod) => mod.default),
|
|
13
|
+
create: () => import("./create-BikaTHCw.mjs").then((mod) => mod.default),
|
|
14
|
+
update: () => import("./update-BicO3Lio.mjs").then((mod) => mod.default),
|
|
15
|
+
delete: () => import("./delete-BEPw7WRT.mjs").then((mod) => mod.default),
|
|
16
|
+
run: () => import("./run-CpmWoOGp.mjs").then((mod) => mod.default),
|
|
17
|
+
transforms: () => import("./transforms-K7Y4ON_q.mjs").then((mod) => mod.default),
|
|
18
|
+
"set-active": () => import("./set-active-DT61WwV0.mjs").then((mod) => mod.default)
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { transform_job_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
2
|
//#region src/commands/transform-tag/index.ts
|
|
3
3
|
var transform_tag_default = defineCommandGroup({
|
|
4
4
|
name: "transform-tag",
|
|
@@ -8,10 +8,10 @@ var transform_tag_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "tags that drive job schedules"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
list: () => import("./list-
|
|
12
|
-
create: () => import("./create-
|
|
13
|
-
update: () => import("./update-
|
|
14
|
-
delete: () => import("./delete-
|
|
11
|
+
list: () => import("./list-BQaXU1bp.mjs").then((mod) => mod.default),
|
|
12
|
+
create: () => import("./create-WIIp7MVV.mjs").then((mod) => mod.default),
|
|
13
|
+
update: () => import("./update-B7veBLhx.mjs").then((mod) => mod.default),
|
|
14
|
+
delete: () => import("./delete-Bv3_SIqh.mjs").then((mod) => mod.default)
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
//#endregion
|
|
@@ -4,19 +4,14 @@ const TransformTag = z.object({
|
|
|
4
4
|
id: z.number().int(),
|
|
5
5
|
name: z.string(),
|
|
6
6
|
entity_id: z.string().nullable(),
|
|
7
|
-
built_in_type: z.string().nullable()
|
|
8
|
-
worktree_id: z.number().int().positive().nullable().optional()
|
|
7
|
+
built_in_type: z.string().nullable()
|
|
9
8
|
}).loose();
|
|
10
9
|
const TransformTagCompact = TransformTag.pick({
|
|
11
10
|
id: true,
|
|
12
11
|
name: true,
|
|
13
|
-
built_in_type: true
|
|
14
|
-
worktree_id: true
|
|
12
|
+
built_in_type: true
|
|
15
13
|
}).strip();
|
|
16
|
-
const TransformTagCreateInput = z.object({
|
|
17
|
-
|
|
18
|
-
worktree_id: z.number().int().positive().nullable().optional()
|
|
19
|
-
}).loose();
|
|
20
|
-
const TransformTagUpdateInput = z.object({ name: z.string().min(1) }).loose();
|
|
14
|
+
const TransformTagCreateInput = z.object({ name: z.string().min(1) }).loose();
|
|
15
|
+
const TransformTagUpdateInput = TransformTagCreateInput;
|
|
21
16
|
//#endregion
|
|
22
17
|
export { TransformTagUpdateInput as i, TransformTagCompact as n, TransformTagCreateInput as r, TransformTag as t };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { n as TransformTestCompact } from "./transform-test-Dhcj7u-U.mjs";
|
|
2
|
+
//#region src/output/views/transform-test.ts
|
|
3
|
+
const transformTestView = {
|
|
4
|
+
compactPick: TransformTestCompact,
|
|
5
|
+
tableColumns: [
|
|
6
|
+
{
|
|
7
|
+
key: "id",
|
|
8
|
+
label: "ID"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
key: "transform_id",
|
|
12
|
+
label: "Transform"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
key: "name",
|
|
16
|
+
label: "Name"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "description",
|
|
20
|
+
label: "Description"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { transformTestView as t };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
+
//#region src/commands/transform-test/index.ts
|
|
3
|
+
var transform_test_default = defineCommandGroup({
|
|
4
|
+
name: "transform-test",
|
|
5
|
+
description: "Manage transform tests — fixtures and expectations run against temp tables",
|
|
6
|
+
subCommands: {
|
|
7
|
+
list: () => import("./list-B-74c1BD.mjs").then((mod) => mod.default),
|
|
8
|
+
get: () => import("./get-BHpVRSbm.mjs").then((mod) => mod.default),
|
|
9
|
+
create: () => import("./create-ku05K1Oj.mjs").then((mod) => mod.default),
|
|
10
|
+
update: () => import("./update-e4ufwrkF.mjs").then((mod) => mod.default),
|
|
11
|
+
delete: () => import("./delete-CZqleA9Q.mjs").then((mod) => mod.default),
|
|
12
|
+
run: () => import("./run-C7PXBBEl.mjs").then((mod) => mod.default)
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
//#endregion
|
|
16
|
+
export { transform_test_default as default };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region ../client/src/domain/transform-test.ts
|
|
3
|
+
const TransformTestTable = z.object({
|
|
4
|
+
schema: z.string().nullable().optional(),
|
|
5
|
+
name: z.string().min(1)
|
|
6
|
+
}).loose();
|
|
7
|
+
const TransformTestColumn = z.object({
|
|
8
|
+
name: z.string().min(1),
|
|
9
|
+
database_type: z.string().min(1).describe("The warehouse's own spelling, e.g. VARCHAR(255)")
|
|
10
|
+
}).loose();
|
|
11
|
+
const TransformTestCell = z.union([
|
|
12
|
+
z.string(),
|
|
13
|
+
z.number(),
|
|
14
|
+
z.boolean(),
|
|
15
|
+
z.null()
|
|
16
|
+
]);
|
|
17
|
+
const TransformTestRow = z.record(z.string(), TransformTestCell);
|
|
18
|
+
const TransformTestSqlData = z.object({
|
|
19
|
+
format: z.literal("sql"),
|
|
20
|
+
sql: z.string().min(1)
|
|
21
|
+
}).loose();
|
|
22
|
+
const TransformTestRowsData = z.object({
|
|
23
|
+
format: z.literal("rows"),
|
|
24
|
+
columns: z.array(TransformTestColumn).min(1),
|
|
25
|
+
rows: z.array(TransformTestRow)
|
|
26
|
+
}).loose();
|
|
27
|
+
const TransformTestSqlInput = TransformTestSqlData.extend({ table: TransformTestTable });
|
|
28
|
+
const TransformTestRowsInput = TransformTestRowsData.extend({ table: TransformTestTable });
|
|
29
|
+
/** Test data standing in for one table the transform reads. */
|
|
30
|
+
const TransformTestInput = z.discriminatedUnion("format", [TransformTestSqlInput, TransformTestRowsInput]);
|
|
31
|
+
const TransformTestEqualsSql = TransformTestSqlData.extend({
|
|
32
|
+
type: z.literal("equals"),
|
|
33
|
+
name: z.string().min(1)
|
|
34
|
+
});
|
|
35
|
+
const TransformTestEqualsRows = TransformTestRowsData.extend({
|
|
36
|
+
type: z.literal("equals"),
|
|
37
|
+
name: z.string().min(1)
|
|
38
|
+
});
|
|
39
|
+
const TransformTestEmpty = z.object({
|
|
40
|
+
type: z.literal("empty"),
|
|
41
|
+
name: z.string().min(1),
|
|
42
|
+
sql: z.string().min(1)
|
|
43
|
+
}).loose();
|
|
44
|
+
/** One check against the transform's output. Names are unique within a test. */
|
|
45
|
+
const TransformTestExpectation = z.union([
|
|
46
|
+
TransformTestEqualsSql,
|
|
47
|
+
TransformTestEqualsRows,
|
|
48
|
+
TransformTestEmpty
|
|
49
|
+
]);
|
|
50
|
+
const TransformTest = z.object({
|
|
51
|
+
id: z.number().int(),
|
|
52
|
+
entity_id: z.string().nullable(),
|
|
53
|
+
transform_id: z.number().int(),
|
|
54
|
+
creator_id: z.number().int(),
|
|
55
|
+
name: z.string(),
|
|
56
|
+
description: z.string().nullable(),
|
|
57
|
+
inputs: z.array(TransformTestInput),
|
|
58
|
+
expectations: z.array(TransformTestExpectation),
|
|
59
|
+
created_at: z.string(),
|
|
60
|
+
updated_at: z.string()
|
|
61
|
+
}).loose();
|
|
62
|
+
const TransformTestCompact = TransformTest.pick({
|
|
63
|
+
id: true,
|
|
64
|
+
transform_id: true,
|
|
65
|
+
name: true,
|
|
66
|
+
description: true
|
|
67
|
+
}).strip();
|
|
68
|
+
/**
|
|
69
|
+
* The server closes this map, so an unrecognized key is a 400 there. Refusing it here names the key
|
|
70
|
+
* instead: a body cloned from `get` has to shed `id`, `entity_id`, `creator_id`, `created_at` and
|
|
71
|
+
* `updated_at` before it can be sent back.
|
|
72
|
+
*/
|
|
73
|
+
const TransformTestCreateInput = z.object({
|
|
74
|
+
transform_id: z.number().int().positive(),
|
|
75
|
+
name: z.string().min(1),
|
|
76
|
+
description: z.string().nullable().optional(),
|
|
77
|
+
inputs: z.array(TransformTestInput),
|
|
78
|
+
expectations: z.array(TransformTestExpectation)
|
|
79
|
+
}).strict();
|
|
80
|
+
/** Closed for the same reason as [[TransformTestCreateInput]]; every field is optional. */
|
|
81
|
+
const TransformTestUpdateInput = z.object({
|
|
82
|
+
transform_id: z.number().int().positive().optional(),
|
|
83
|
+
name: z.string().min(1).optional(),
|
|
84
|
+
description: z.string().nullable().optional(),
|
|
85
|
+
inputs: z.array(TransformTestInput).optional(),
|
|
86
|
+
expectations: z.array(TransformTestExpectation).optional()
|
|
87
|
+
}).strict();
|
|
88
|
+
/**
|
|
89
|
+
* `error` is one expectation's own failure to run, which leaves the rest of the run reporting; the
|
|
90
|
+
* run as a whole is only `passed` or `failed`.
|
|
91
|
+
*/
|
|
92
|
+
const TransformTestStatus = z.enum([
|
|
93
|
+
"passed",
|
|
94
|
+
"failed",
|
|
95
|
+
"error"
|
|
96
|
+
]);
|
|
97
|
+
const TransformTestResultColumn = z.object({
|
|
98
|
+
name: z.string(),
|
|
99
|
+
database_type: z.string()
|
|
100
|
+
}).loose();
|
|
101
|
+
const TransformTestCellMismatch = z.object({
|
|
102
|
+
column: z.string(),
|
|
103
|
+
expected: TransformTestCell,
|
|
104
|
+
actual: TransformTestCell
|
|
105
|
+
}).loose();
|
|
106
|
+
const TransformTestRowCounts = z.object({
|
|
107
|
+
actual: z.number().int(),
|
|
108
|
+
expected: z.number().int()
|
|
109
|
+
}).loose();
|
|
110
|
+
const TransformTestExpectationError = z.object({
|
|
111
|
+
type: z.string(),
|
|
112
|
+
message: z.string()
|
|
113
|
+
}).loose();
|
|
114
|
+
/**
|
|
115
|
+
* What one expectation found. The keys beyond `name`, `type` and `status` are its type's own:
|
|
116
|
+
* `equals` reports the rows the two sides disagree on, `empty` a sample of the rows its query
|
|
117
|
+
* returned, and both cap what they report, with `truncated` counting what the cap dropped.
|
|
118
|
+
*/
|
|
119
|
+
const TransformTestExpectationResult = z.object({
|
|
120
|
+
name: z.string(),
|
|
121
|
+
type: z.enum(["equals", "empty"]),
|
|
122
|
+
status: TransformTestStatus,
|
|
123
|
+
columns: z.array(TransformTestResultColumn).optional(),
|
|
124
|
+
error: TransformTestExpectationError.optional(),
|
|
125
|
+
"row-counts": TransformTestRowCounts.optional(),
|
|
126
|
+
"extra-rows": z.array(TransformTestRow).optional(),
|
|
127
|
+
"missing-rows": z.array(TransformTestRow).optional(),
|
|
128
|
+
"cell-mismatches": z.array(TransformTestCellMismatch).optional(),
|
|
129
|
+
sample: z.array(TransformTestRow).optional(),
|
|
130
|
+
truncated: z.number().int().optional()
|
|
131
|
+
}).loose();
|
|
132
|
+
/**
|
|
133
|
+
* What a run reported. `tables` maps each temp table the run created to the table it stood in for.
|
|
134
|
+
* A run that happened reports `passed` or `failed`; a refusal is an HTTP error rather than a body.
|
|
135
|
+
*/
|
|
136
|
+
const TransformTestRunResult = z.object({
|
|
137
|
+
status: TransformTestStatus,
|
|
138
|
+
expectations: z.array(TransformTestExpectationResult),
|
|
139
|
+
tables: z.record(z.string(), z.string())
|
|
140
|
+
}).loose();
|
|
141
|
+
//#endregion
|
|
142
|
+
export { TransformTestUpdateInput as a, TransformTestRunResult as i, TransformTestCompact as n, TransformTestCreateInput as r, TransformTest as t };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { n as windowList } from "./window-
|
|
5
|
-
import { n as TransformCompact } from "./transform-
|
|
6
|
-
import { n as transformView } from "./transform-
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, N as listFlags, R as listEnvelopeSchema, s as renderList } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CPINxy7h.mjs";
|
|
4
|
+
import { n as windowList } from "./window-BkvrP0gB.mjs";
|
|
5
|
+
import { n as TransformCompact } from "./transform-D3QX0jxA.mjs";
|
|
6
|
+
import { n as transformView } from "./transform-DoTyyXAu.mjs";
|
|
7
7
|
//#region src/commands/transform-job/transforms.ts
|
|
8
8
|
const TransformJobTransformsEnvelope = listEnvelopeSchema(TransformCompact);
|
|
9
9
|
var transforms_default = defineMetabaseCommand({
|
|
@@ -13,7 +13,6 @@ var transforms_default = defineMetabaseCommand({
|
|
|
13
13
|
},
|
|
14
14
|
details: "Resolves the transforms a job would execute, matched by the job's tags. The positional id is a JOB id, not a transform id.",
|
|
15
15
|
capabilities: { minVersion: 59 },
|
|
16
|
-
worktree: "any",
|
|
17
16
|
args: {
|
|
18
17
|
...outputFlags,
|
|
19
18
|
...listFlags,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
|
|
2
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, l as writeJson } from "./cli.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
|
|
4
|
+
import { f as CollectionTreeNode } from "./collection-CfulNRBG.mjs";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
//#region src/commands/collection/tree.ts
|
|
7
|
+
const CollectionTreeResponse = z.array(CollectionTreeNode);
|
|
8
|
+
var tree_default = defineMetabaseCommand({
|
|
9
|
+
meta: {
|
|
10
|
+
name: "tree",
|
|
11
|
+
description: "Fetch the collection hierarchy as a nested tree (JSON only)"
|
|
12
|
+
},
|
|
13
|
+
capabilities: { minVersion: 58 },
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags
|
|
18
|
+
},
|
|
19
|
+
outputSchema: CollectionTreeResponse,
|
|
20
|
+
examples: ["mb collection tree", "mb collection tree --json"],
|
|
21
|
+
async run({ ctx, getClient }) {
|
|
22
|
+
if (ctx.format === "text") throw new ConfigError("collection tree output is JSON-only; --format text is not supported");
|
|
23
|
+
writeJson((await (await getClient()).collection.tree()).data);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
export { tree_default as default };
|