@metabase/cli 0.2.1 → 0.2.2-alpha.extract-api-client.27e2241
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/README.md +4 -1715
- package/dist/add-collection-B3Ty8SzB.mjs +36 -0
- package/dist/alert-DT-ee7yf.mjs +23 -0
- package/dist/alerts-Bf2RH_p_.mjs +43 -0
- package/dist/{append-BgDaYJW9.mjs → append-DFzQRPMd.mjs} +7 -12
- package/dist/{archive-DFCu5hVG.mjs → archive-4tmm946K.mjs} +8 -17
- package/dist/{archive-Bv59HYsU.mjs → archive-B6eXiyER.mjs} +7 -13
- package/dist/{archive-BM9HjJHQ.mjs → archive-BxNPHxOY.mjs} +7 -13
- package/dist/archive-ByvA49Kz.mjs +34 -0
- package/dist/{archive-Oh1iZu2y.mjs → archive-C7w49Grr.mjs} +7 -16
- package/dist/{archive-EoYl-lS-.mjs → archive-Cd29QC0c.mjs} +7 -13
- package/dist/{archive-BZpXnQSu.mjs → archive-ChORH5JH.mjs} +7 -13
- package/dist/archive-CwAdlv63.mjs +33 -0
- package/dist/{archive-BncW2dGw.mjs → archive-Dr9Xnx_Z.mjs} +7 -15
- package/dist/{archive-BCPA0HhV.mjs → archive-gid9Y09v.mjs} +8 -17
- package/dist/{archive-Czzktgho.mjs → archive-lQqs13Uz.mjs} +7 -13
- package/dist/auth-Dltxua89.mjs +19 -0
- package/dist/{body-DKcQw7G5.mjs → body-Cur4NJt9.mjs} +5 -8
- package/dist/{body-flags-CgHgJBRC.mjs → body-flags-AqKpN01Y.mjs} +1 -2
- package/dist/{branches-CCmtr3W8.mjs → branches-DchlyU0i.mjs} +7 -13
- package/dist/{cancel-72y10-Rg.mjs → cancel-BMQa5R1Z.mjs} +5 -12
- package/dist/{cancel-task-CGwdz91O.mjs → cancel-task-C5CU1pxU.mjs} +6 -10
- package/dist/card-CHI2bmds.mjs +24 -0
- package/dist/{card-B8G5jQQT.mjs → card-DZxRmver.mjs} +21 -48
- package/dist/card-zyUkr2nS.mjs +44 -0
- package/dist/cards-SccWvRQD.mjs +34 -0
- package/dist/cli.mjs +675 -81
- package/dist/client-BqhzKdLM.mjs +2194 -0
- package/dist/collection-CGoVLvcD.mjs +58 -0
- package/dist/collection-CY0AB99E.mjs +20 -0
- package/dist/{collection-CFoLPrY5.mjs → collection-CfulNRBG.mjs} +20 -63
- package/dist/{collection-namespace-C7mr_a8H.mjs → collection-namespace-GwydWBF3.mjs} +3 -5
- package/dist/{create-pTnveKkm.mjs → create-BNQ_DytP.mjs} +8 -15
- package/dist/{create-QYctYGSa.mjs → create-BOLwWt8Q.mjs} +9 -17
- package/dist/{create-C_WqoOf5.mjs → create-Beh-2uoN.mjs} +8 -15
- package/dist/{create-C3DThF9E.mjs → create-C79vErX0.mjs} +9 -20
- package/dist/{create-nXlnVzXl.mjs → create-CAQV2g6V.mjs} +9 -16
- package/dist/{create-E7XhC0gJ.mjs → create-CAWytBE5.mjs} +9 -17
- package/dist/{create-CPEOSxIH.mjs → create-CCh_LyW9.mjs} +8 -15
- package/dist/{create-7pbf5Wu0.mjs → create-CD008jdE.mjs} +13 -28
- package/dist/create-CHQx7jq4.mjs +45 -0
- package/dist/create-DF4QtgDL.mjs +44 -0
- package/dist/{create-CaWFrPRU.mjs → create-DJmXXQoq.mjs} +10 -18
- package/dist/{create-Brh8WCa3.mjs → create-DV-Ln5Mo.mjs} +8 -15
- package/dist/create-branch-CYo6jZth.mjs +35 -0
- package/dist/{create-U_XDwsIX.mjs → create-i14Wv3Tj.mjs} +8 -15
- package/dist/{create-BDY38_Kr.mjs → create-tQbnuz-I.mjs} +8 -15
- package/dist/{create-DFyZCXQD.mjs → create-zeveFdnd.mjs} +6 -10
- package/dist/cron-LKRffEC-.mjs +5 -0
- package/dist/{csv-CR2qhmC6.mjs → csv-B2Jgb1GM.mjs} +7 -19
- package/dist/{current-task-MUHaiHIg.mjs → current-task-MpBFGttd.mjs} +7 -12
- package/dist/{dashboard-B-MTpfeS.mjs → dashboard-BCpSq_G-.mjs} +9 -60
- package/dist/dashboard-BHJBoaG7.mjs +33 -0
- package/dist/dashboard-CsIFFpzK.mjs +58 -0
- package/dist/database-B19qlLKZ.mjs +38 -0
- package/dist/database-C8G6ZKG0.mjs +26 -0
- package/dist/db-DsfojyeH.mjs +24 -0
- package/dist/{delete-B58Cng0p.mjs → delete-B8e01xAG.mjs} +6 -11
- package/dist/{delete-CW3dYmuT.mjs → delete-BApOjQvl.mjs} +6 -11
- package/dist/{delete-doa3R-c5.mjs → delete-Ck0q4Dzp.mjs} +6 -11
- package/dist/{delete-BKMOtpjs.mjs → delete-DFmX7jTp.mjs} +6 -11
- package/dist/{delete-BMa26SzX.mjs → delete-Ob06PPie.mjs} +6 -11
- package/dist/{delete-runtime-_YOukDRC.mjs → delete-runtime-D74s6vhu.mjs} +6 -13
- package/dist/{delete-table-D_tjBZPd.mjs → delete-table-DuyhGrvA.mjs} +6 -11
- package/dist/{dependencies-BR_4um7h.mjs → dependencies-Bj3QrGIm.mjs} +10 -13
- package/dist/dirty-DNYoM6Bp.mjs +31 -0
- package/dist/document-BbskZPTT.mjs +19 -0
- package/dist/{document-CL4ML5FN.mjs → document-Cd2mmqCp.mjs} +5 -33
- package/dist/document-D6OybtP2.mjs +29 -0
- package/dist/{eid-DSOk7Khb.mjs → eid-WTZmDdsr.mjs} +12 -54
- package/dist/eid-translation-zEHtr5Oc.mjs +35 -0
- package/dist/{embedding-CKdw8q7p.mjs → embedding-i-KqpefC.mjs} +2 -4
- package/dist/events-Bn7jh5lP.mjs +39 -0
- package/dist/export-BjfoZRDJ.mjs +66 -0
- package/dist/field-BPsNa-TO.mjs +80 -0
- package/dist/{field-DsXTeqBy.mjs → field-Cr2DPUG9.mjs} +2 -81
- package/dist/field-Zau6Hc6X.mjs +18 -0
- package/dist/fields-CBBa-Prp.mjs +34 -0
- package/dist/{get-CHAH_F37.mjs → get-00lyLv6R.mjs} +7 -11
- package/dist/{get-T85qZgnv.mjs → get-B7sMgsFs.mjs} +7 -11
- package/dist/get-B_xdF1kq.mjs +31 -0
- package/dist/{get-DT2MOZ8L.mjs → get-ByBOq30r.mjs} +7 -11
- package/dist/get-Bz99dAxK.mjs +35 -0
- package/dist/get-C2-Q3iQ5.mjs +31 -0
- package/dist/get-CDJFVvhj.mjs +35 -0
- package/dist/get-CDMGbgrh.mjs +31 -0
- package/dist/get-CnbUCzDM.mjs +31 -0
- package/dist/{get-DtvzjfjG.mjs → get-CvI--9S_.mjs} +16 -12
- package/dist/{get-CH_JmPc-.mjs → get-DRvsATp-.mjs} +7 -11
- package/dist/{get-CgZ5qjQx.mjs → get-DY03Azx9.mjs} +6 -10
- package/dist/get-DYO1kywc.mjs +32 -0
- package/dist/{get-BSdOE5J4.mjs → get-D_h-G9bn.mjs} +7 -11
- package/dist/get-DdsoHaKH.mjs +31 -0
- package/dist/{get-DRK5-UdU.mjs → get-DkWO0EI0.mjs} +7 -11
- package/dist/{get-43Smv3RI.mjs → get-Dmj9Ygz1.mjs} +7 -17
- package/dist/get-DmpB6J9g.mjs +31 -0
- package/dist/{get-nZW0W7Ui.mjs → get-Dn9ZiSZr.mjs} +8 -16
- package/dist/{get-run-Cwia6e0d.mjs → get-run-Cnux9ln0.mjs} +7 -11
- package/dist/git-sync-BDnxPrqU.mjs +104 -0
- package/dist/git-sync-DxD_ng48.mjs +136 -0
- package/dist/git-sync-MQQYRYLg.mjs +28 -0
- package/dist/{group-CILtQqCL.mjs → group-DBM87IgC.mjs} +2 -4
- package/dist/has-remote-changes-C684Redh.mjs +35 -0
- package/dist/import-Rmmttboo.mjs +56 -0
- package/dist/{input-DzbvxKYU.mjs → input-DH9i67x_.mjs} +6 -11
- package/dist/{is-dirty-CHbUJ-bh.mjs → is-dirty-DYeJYhBz.mjs} +4 -8
- package/dist/{items-DN63mjpF.mjs → items-CQlPXBXE.mjs} +13 -29
- package/dist/key-BEhqIzIQ.mjs +10 -0
- package/dist/{library-DF2qx50w.mjs → library-Bsm5KsFF.mjs} +6 -9
- package/dist/library-ClLgrAXy.mjs +19 -0
- package/dist/library-DfYAT2Ep.mjs +21 -0
- package/dist/{list-n2PY3OIx.mjs → list-B4hJuMhA.mjs} +11 -27
- package/dist/list-B8nAGwP4.mjs +48 -0
- package/dist/list-BOET6zhP.mjs +36 -0
- package/dist/list-BP3MPq-M.mjs +36 -0
- package/dist/list-BpFp9Wre.mjs +28 -0
- package/dist/list-BtkWNtvY.mjs +34 -0
- package/dist/list-BtmsNOEn.mjs +28 -0
- package/dist/list-BzVTHOoH.mjs +28 -0
- package/dist/list-C5Zs8nrb.mjs +28 -0
- package/dist/list-CKK-s3Ty.mjs +28 -0
- package/dist/list-CMpoc2TN.mjs +70 -0
- package/dist/list-CNUiF8Z7.mjs +28 -0
- package/dist/list-CQDprvW0.mjs +39 -0
- package/dist/{list-C7TqbWG1.mjs → list-CQwOgIlj.mjs} +10 -24
- package/dist/list-DE9FM957.mjs +28 -0
- package/dist/{list-De82cXvn.mjs → list-DF2rvoO1.mjs} +22 -14
- package/dist/list-DMKDsBRd.mjs +38 -0
- package/dist/{list-B3HoSfYj.mjs → list-UhpKG6_m.mjs} +15 -15
- package/dist/{login-jy9rbYev.mjs → login-CGHeSjlP.mjs} +47 -52
- package/dist/{logout-CRbk1SuY.mjs → logout-DAxOlbv4.mjs} +7 -12
- package/dist/measure-4P0bOlZ3.mjs +29 -0
- package/dist/measure-BsYv0p26.mjs +22 -0
- package/dist/{measure-S9WszHre.mjs → measure-CtfjqJFP.mjs} +3 -30
- package/dist/network-error-CEb9ymDW.mjs +423 -0
- package/dist/notification-DaA4bBHW.mjs +138 -0
- package/dist/notification-Fcq1fIPw.mjs +67 -0
- package/dist/{parameter-BZ6y-Gfs.mjs → parameter-DUKR8NXo.mjs} +2 -11
- package/dist/{parameter-values-CcgcG3S5.mjs → parameter-values-CJTdqd8c.mjs} +17 -11
- package/dist/{parse-enum-C_2lGr3g.mjs → parse-enum-D0Jfm_Bz.mjs} +2 -4
- package/dist/{parse-id-CD54Chc5.mjs → parse-id-C_jmKFaa.mjs} +2 -4
- package/dist/{parse-ref-BLgKEEF-.mjs → parse-ref-ibKVB0J4.mjs} +3 -5
- package/dist/{path-CPMr1RJO.mjs → path-B5gHvrYL.mjs} +8 -9
- package/dist/{poll-DVF9EnEb.mjs → poll-75SvT7Zv.mjs} +11 -15
- package/dist/predicates-Bkm2IoeX.mjs +170 -0
- package/dist/preflight-YpPQo-sa.mjs +29 -0
- package/dist/{process-HDPKLS_z.mjs → process-DBOOrmET.mjs} +4 -6
- package/dist/publish-DijrxaCW.mjs +75 -0
- package/dist/pulse-BmsDenXm.mjs +133 -0
- package/dist/pulse-DhG6I9mI.mjs +57 -0
- package/dist/{query-Cxh9hmrP.mjs → query-BbqECzmF.mjs} +20 -44
- package/dist/{query-B3HDIsJ-.mjs → query-Dc__-KJH.mjs} +13 -24
- package/dist/{query-result-Drvjv7DD.mjs → query-result-DBDwk8TS.mjs} +4 -8
- package/dist/remove-collection-BOnxYvhj.mjs +36 -0
- package/dist/{render-CkuFkWlQ.mjs → render-CI93iP0I.mjs} +9 -11
- package/dist/{replace-BwvKDNur.mjs → replace-Cq4CxVa-.mjs} +7 -12
- package/dist/rescan-values-Dr_j416g.mjs +31 -0
- package/dist/revision-message-flag-8TCHYJV6.mjs +8 -0
- package/dist/run-C3DkS6NP.mjs +82 -0
- package/dist/{run-yrpSF6VL.mjs → run-DdGJ544X.mjs} +8 -18
- package/dist/runs-CUNWiidL.mjs +38 -0
- package/dist/runtime-DiKyBxOw.mjs +1007 -0
- package/dist/{schema-tables-ChBYz4mO.mjs → schema-tables-CV386fnC.mjs} +10 -14
- package/dist/{schemas-C2crnVML.mjs → schemas-DM-UqZBQ.mjs} +8 -12
- package/dist/search-DFBwUc6d.mjs +44 -0
- package/dist/{search-DnGEh6sZ.mjs → search-DmGScXs8.mjs} +14 -73
- package/dist/segment-BzUGM2Fr.mjs +22 -0
- package/dist/segment-C_gl5ag6.mjs +29 -0
- package/dist/{segment-BPb1H6DW.mjs → segment-OsrbUDzw.mjs} +3 -30
- package/dist/{selectors-Ll_TRxl5.mjs → selectors-DGDn0Hto.mjs} +4 -6
- package/dist/send-CVxxEpDB.mjs +49 -0
- package/dist/{set-tHsHXRGV.mjs → set-DFolTjbd.mjs} +10 -20
- package/dist/{set-active-qqDoBh_Z.mjs → set-active-BD8L1lPX.mjs} +7 -18
- package/dist/setting-CwRYgHYN.mjs +35 -0
- package/dist/setting-DTiLCW8g.mjs +22 -0
- package/dist/setting-DyhaeICs.mjs +17 -0
- package/dist/setup-BbDQN8fe.mjs +44 -0
- package/dist/setup-CO7QV-ao.mjs +21 -0
- package/dist/signal-CMd0EFUa.mjs +16 -0
- package/dist/{skills-rnvVgau4.mjs → skills--vK6J-e4.mjs} +4 -6
- package/dist/{skills-BKuiGkc1.mjs → skills-DTCrMcix.mjs} +13 -19
- package/dist/{snippet-DWiXNy4T.mjs → snippet-CyKAgIZl.mjs} +3 -32
- package/dist/snippet-DRwKb2x7.mjs +19 -0
- package/dist/snippet-oJLaYW9V.mjs +29 -0
- package/dist/stash-D0S4JmAz.mjs +61 -0
- package/dist/status-BhswxJL1.mjs +85 -0
- package/dist/{status-B5ar0uXc.mjs → status-hL1am-HV.mjs} +6 -8
- package/dist/subscription-_d5fB45F.mjs +22 -0
- package/dist/subscriptions-s4TF6Ax3.mjs +42 -0
- package/dist/summary-BytbDz6e.mjs +7 -0
- package/dist/summary-CsPvcUwW.mjs +31 -0
- package/dist/sync-schema-DaZ_MV-u.mjs +35 -0
- package/dist/sync-task-BACcrs0i.mjs +37 -0
- package/dist/{table-C3RIKiYM.mjs → table-CeeTJgQb.mjs} +4 -38
- package/dist/table-CsIJNPFf.mjs +37 -0
- package/dist/table-DYoC1kPn.mjs +18 -0
- package/dist/{timeline-BCTRThc-.mjs → timeline-CCSU2qOS.mjs} +2 -66
- package/dist/timeline-event-CNQdCTDg.mjs +19 -0
- package/dist/timeline-uDCmwGFT.mjs +66 -0
- package/dist/timeline-xlDbEKWg.mjs +21 -0
- package/dist/transform-Bs0EWijQ.mjs +28 -0
- package/dist/{transform-BVHYzWpK.mjs → transform-D3QX0jxA.mjs} +28 -74
- package/dist/transform-DoTyyXAu.mjs +74 -0
- package/dist/transform-job-50GZHhKH.mjs +37 -0
- package/dist/transform-job-BcLChRup.mjs +22 -0
- package/dist/{transform-job-CjsAXMej.mjs → transform-job-DRrK28IH.mjs} +14 -41
- package/dist/{transform-tag--IBQ-8Ij.mjs → transform-tag-CcElGp3C.mjs} +2 -21
- package/dist/transform-tag-Dmb4u3-Q.mjs +21 -0
- package/dist/transform-tag-_tgwlsdB.mjs +18 -0
- package/dist/{transforms-CLkv3e81.mjs → transforms-oU4zizbO.mjs} +10 -13
- package/dist/{tree-CB2IURsX.mjs → tree-CH-f3bjP.mjs} +6 -10
- package/dist/{unpublish-BkZldbkP.mjs → unpublish-BUl9RU5C.mjs} +7 -18
- package/dist/{update-B1dkPypu.mjs → update-BCS5FxKr.mjs} +11 -19
- package/dist/{update-8bTrglfc.mjs → update-BZPllQoR.mjs} +9 -16
- package/dist/{update-BacyVaLu.mjs → update-BiFDBcEH.mjs} +9 -16
- package/dist/update-BzMDeZiU.mjs +50 -0
- package/dist/{update-B4atxTx0.mjs → update-C4YJQFDS.mjs} +9 -16
- package/dist/{update-CGWTX1Z0.mjs → update-CHNSUHK4.mjs} +9 -16
- package/dist/{update-D7Ia9Qrt.mjs → update-CO4m4wH3.mjs} +10 -21
- package/dist/{update-CO9uCJxV.mjs → update-CVPAwJaH.mjs} +10 -18
- package/dist/{update-BHC3pwzR.mjs → update-CmDTljK-.mjs} +9 -16
- package/dist/{update-iY9WZqy0.mjs → update-CvOO8TED.mjs} +9 -17
- package/dist/{update-Cyxjg496.mjs → update-D-NE60AV.mjs} +9 -16
- package/dist/{update-D80GWpWl.mjs → update-Nfi44RrE.mjs} +10 -18
- package/dist/update-bD_Jh5-s.mjs +51 -0
- package/dist/{update-DajyWtBN.mjs → update-cYkvbqK8.mjs} +9 -16
- package/dist/update-dashcard-C3TuYO_k.mjs +50 -0
- package/dist/{update-BghbOcv6.mjs → update-tX9mKBN_.mjs} +10 -21
- package/dist/{upgrade-CXoNQ4FH.mjs → upgrade-DXMV4AyP.mjs} +37 -44
- package/dist/upload-CH632qW6.mjs +46 -0
- package/dist/upload-DAtxBBms.mjs +13 -0
- package/dist/upload-Dey_8rLf.mjs +13 -0
- package/dist/{uuid-D6dao_q4.mjs → uuid-BJkDWj9p.mjs} +5 -7
- package/dist/validate-BWchyW0V.mjs +1469 -0
- package/dist/{validate-query-D1N30wJ7.mjs → validate-query-DaGYSmpQ.mjs} +4 -5
- package/dist/{values-DIBAgSyz.mjs → values-Dxf1JEoA.mjs} +8 -13
- package/dist/verify-K96rItG5.mjs +89 -0
- package/dist/{wait-CW1OawkI.mjs → wait-DoMDH226.mjs} +10 -18
- package/dist/{wait-flags-DvNU8ahZ.mjs → wait-flags-DWEF9tX4.mjs} +14 -11
- package/dist/window-BkvrP0gB.mjs +64 -0
- package/package.json +5 -35
- package/skill-data/core/SKILL.md +31 -26
- package/skill-data/dashboard/SKILL.md +6 -2
- package/skill-data/document/SKILL.md +2 -2
- package/skill-data/git-sync/SKILL.md +20 -5
- package/skill-data/notification/SKILL.md +157 -0
- package/skill-data/transform/SKILL.md +1 -1
- package/.claude-plugin/marketplace.json +0 -19
- package/dist/add-collection-C8ZTPlIE.mjs +0 -9
- package/dist/add-collection-CUBn11d4.mjs +0 -60
- package/dist/auth-hgAnMUfi.mjs +0 -22
- package/dist/capabilities-DOTcPraV.mjs +0 -684
- package/dist/card-Ct-q_C4S.mjs +0 -26
- package/dist/cards-CYSyvN7Z.mjs +0 -38
- package/dist/cli.d.mts +0 -1
- package/dist/collection-K82kJWdj.mjs +0 -23
- package/dist/command-augment-D9pI9Vbh.mjs +0 -11
- package/dist/create-branch-DPE6itiS.mjs +0 -57
- package/dist/dashboard-B1iRSUBI.mjs +0 -35
- package/dist/database-CIbVSfua.mjs +0 -61
- package/dist/db-eWy7A-H3.mjs +0 -27
- package/dist/dirty-BKCg6oVN.mjs +0 -35
- package/dist/document-CVxhTnUD.mjs +0 -22
- package/dist/events-Dxm7me47.mjs +0 -44
- package/dist/export-Gb_wfZpt.mjs +0 -103
- package/dist/field-BTCw6voJ.mjs +0 -21
- package/dist/fields-hZeq6IF2.mjs +0 -37
- package/dist/get--rGDVyje.mjs +0 -35
- package/dist/get-7Np_G2je.mjs +0 -35
- package/dist/get-CP3lrIYi.mjs +0 -49
- package/dist/get-CuPCE_AG.mjs +0 -35
- package/dist/get-DB6Y9igl.mjs +0 -41
- package/dist/get-DWzMR8sn.mjs +0 -35
- package/dist/get-DZatHVdn.mjs +0 -38
- package/dist/git-sync-Cjrx2meo.mjs +0 -31
- package/dist/has-remote-changes-CIIib71u.mjs +0 -67
- package/dist/import-D9ID9Mz4.mjs +0 -94
- package/dist/is-dirty-DY5Zhsbk.mjs +0 -8
- package/dist/key-BnGRTX8U.mjs +0 -17
- package/dist/list-B1sdMz6m.mjs +0 -31
- package/dist/list-BSxMFDMR.mjs +0 -31
- package/dist/list-BeqcZVSn.mjs +0 -39
- package/dist/list-C0344yqi.mjs +0 -52
- package/dist/list-C5Ir-96z.mjs +0 -49
- package/dist/list-C6YpaUpC.mjs +0 -39
- package/dist/list-CQN2BpaW.mjs +0 -31
- package/dist/list-CY-jpBNE.mjs +0 -31
- package/dist/list-CkTsOOA7.mjs +0 -39
- package/dist/list-CvS68tLn.mjs +0 -31
- package/dist/list-KDHLmoUx.mjs +0 -31
- package/dist/list-MqqHcBvD.mjs +0 -31
- package/dist/measure-CPqisgyf.mjs +0 -25
- package/dist/paginate-CMqbqhMC.mjs +0 -49
- package/dist/poll-task-CpHGQOd5.mjs +0 -194
- package/dist/preflight-xhwEOHAt.mjs +0 -90
- package/dist/prompt-BgkWNgIR.mjs +0 -52
- package/dist/publish-xVPABwE8.mjs +0 -65
- package/dist/remove-collection-_a4uIlLB.mjs +0 -42
- package/dist/requests-qyh002pL.mjs +0 -96
- package/dist/rescan-values-Bd0Joerq.mjs +0 -40
- package/dist/resolve-Ct084wx3.mjs +0 -84
- package/dist/revision-message-flag-CHzX0cqV.mjs +0 -11
- package/dist/run-BfpKUjqL.mjs +0 -135
- package/dist/runs-D_08Ma08.mjs +0 -53
- package/dist/runtime-Ab96yYlM.mjs +0 -1695
- package/dist/segment-DyVTZSIM.mjs +0 -25
- package/dist/setting-B9xSyMf6.mjs +0 -20
- package/dist/setting-Cko6bE_w.mjs +0 -55
- package/dist/setup-CXGcyTuv.mjs +0 -71
- package/dist/snippet-C4h-GMUf.mjs +0 -22
- package/dist/stash-DxmpBS7x.mjs +0 -108
- package/dist/status-D5CR1SrS.mjs +0 -69
- package/dist/summary-BEEJl2O1.mjs +0 -40
- package/dist/sync-schema-B5HDpmrp.mjs +0 -54
- package/dist/table-DHmaW3Ec.mjs +0 -21
- package/dist/timeline-B0R6-dm8.mjs +0 -24
- package/dist/timeline-event-BVDTt-pM.mjs +0 -22
- package/dist/transform-Cq2_muWO.mjs +0 -31
- package/dist/transform-job-BpebgMnq.mjs +0 -25
- package/dist/transform-tag-B1xnFa9w.mjs +0 -21
- package/dist/update-dashcard-DLq7ihNO.mjs +0 -73
- package/dist/upload-D3eiApa0.mjs +0 -16
- package/dist/validate-Cqa14t7o.mjs +0 -1496
- package/dist/verify-DvhZWmS2.mjs +0 -79
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { d as MALFORMED_CELL } from "./cli.mjs";
|
|
2
|
+
import { n as PulseChannel, r as PulseCompact } from "./pulse-BmsDenXm.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/output/views/pulse.ts
|
|
5
|
+
const PulseChannelList = z.array(PulseChannel);
|
|
6
|
+
function describeSchedule(channel) {
|
|
7
|
+
const parts = [channel.schedule_type];
|
|
8
|
+
if (channel.schedule_frame !== null) parts.push(channel.schedule_frame);
|
|
9
|
+
if (channel.schedule_day !== null) parts.push(channel.schedule_day);
|
|
10
|
+
if (channel.schedule_hour !== null) parts.push(`${channel.schedule_hour}:00`);
|
|
11
|
+
return parts.join(" ");
|
|
12
|
+
}
|
|
13
|
+
function describeAudience(channel) {
|
|
14
|
+
if (channel.recipients.length > 0) return channel.recipients.map((recipient) => recipient.email).join(", ");
|
|
15
|
+
const slackChannel = channel.details?.channel;
|
|
16
|
+
return slackChannel === void 0 ? null : slackChannel;
|
|
17
|
+
}
|
|
18
|
+
function describeChannel(channel) {
|
|
19
|
+
const parts = [channel.channel_type, describeSchedule(channel)];
|
|
20
|
+
const audience = describeAudience(channel);
|
|
21
|
+
if (audience !== null) parts.push(`→ ${audience}`);
|
|
22
|
+
if (!channel.enabled) parts.push("(disabled)");
|
|
23
|
+
return parts.join(" ");
|
|
24
|
+
}
|
|
25
|
+
function formatChannels(value) {
|
|
26
|
+
const parsed = PulseChannelList.safeParse(value);
|
|
27
|
+
if (!parsed.success) return MALFORMED_CELL;
|
|
28
|
+
return parsed.data.map(describeChannel).join("; ");
|
|
29
|
+
}
|
|
30
|
+
const pulseView = {
|
|
31
|
+
compactPick: PulseCompact,
|
|
32
|
+
tableColumns: [
|
|
33
|
+
{
|
|
34
|
+
key: "id",
|
|
35
|
+
label: "ID"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: "name",
|
|
39
|
+
label: "Name"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
key: "dashboard_id",
|
|
43
|
+
label: "Dashboard"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "channels",
|
|
47
|
+
label: "Delivery",
|
|
48
|
+
format: formatChannels
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
key: "archived",
|
|
52
|
+
label: "Archived"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
export { pulseView as t };
|
|
@@ -1,27 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./
|
|
3
|
-
import { defineMetabaseCommand,
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { formatQueryResult } from "./query-result-Drvjv7DD.mjs";
|
|
1
|
+
import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
|
|
2
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand, z as parseOptionalInteger } from "./runtime-DiKyBxOw.mjs";
|
|
4
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
5
|
+
import { h as parseJson } from "./network-error-CEb9ymDW.mjs";
|
|
6
|
+
import { i as CardExportFormat, o as CardQueryResult } from "./card-DZxRmver.mjs";
|
|
7
|
+
import { t as cardQueryView } from "./card-zyUkr2nS.mjs";
|
|
8
|
+
import { t as formatQueryResult } from "./query-result-DBDwk8TS.mjs";
|
|
10
9
|
import { z } from "zod";
|
|
11
10
|
import { Writable } from "node:stream";
|
|
12
|
-
|
|
13
11
|
//#region src/output/stream.ts
|
|
14
12
|
async function pipeToStdout(stream) {
|
|
15
13
|
await stream.pipeTo(Writable.toWeb(process.stdout));
|
|
16
14
|
}
|
|
17
|
-
|
|
18
15
|
//#endregion
|
|
19
16
|
//#region src/commands/card/query.ts
|
|
20
|
-
const ExportFormat = z.enum([
|
|
21
|
-
"csv",
|
|
22
|
-
"json",
|
|
23
|
-
"xlsx"
|
|
24
|
-
]);
|
|
25
17
|
const QueryParameters = z.array(z.unknown());
|
|
26
18
|
var query_default = defineMetabaseCommand({
|
|
27
19
|
meta: {
|
|
@@ -40,7 +32,7 @@ var query_default = defineMetabaseCommand({
|
|
|
40
32
|
},
|
|
41
33
|
"export-format": {
|
|
42
34
|
type: "string",
|
|
43
|
-
description: `Bypass JSON envelope and stream raw export: ${
|
|
35
|
+
description: `Bypass JSON envelope and stream raw export: ${CardExportFormat.options.join(" | ")}`
|
|
44
36
|
},
|
|
45
37
|
parameters: {
|
|
46
38
|
type: "string",
|
|
@@ -74,20 +66,17 @@ var query_default = defineMetabaseCommand({
|
|
|
74
66
|
const client = await getClient();
|
|
75
67
|
const exportFormatRaw = args["export-format"];
|
|
76
68
|
if (exportFormatRaw !== void 0 && exportFormatRaw !== "") {
|
|
77
|
-
await
|
|
78
|
-
format: parseExportFormat(exportFormatRaw),
|
|
69
|
+
await pipeToStdout(await client.card.exportQuery(id, parseExportFormat(exportFormatRaw), {
|
|
79
70
|
parameters,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
});
|
|
71
|
+
format_rows: args["format-rows"],
|
|
72
|
+
pivot_results: args["pivot-results"]
|
|
73
|
+
}));
|
|
83
74
|
return;
|
|
84
75
|
}
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
});
|
|
89
|
-
const limit = args.limit === void 0 || args.limit === "" ? null : parseId(args.limit, "limit");
|
|
90
|
-
const limited = applyLimit(result, limit);
|
|
76
|
+
const limited = applyLimit(await client.card.query(id, { parameters }), parseOptionalInteger(args.limit, {
|
|
77
|
+
name: "--limit",
|
|
78
|
+
min: 1
|
|
79
|
+
}));
|
|
91
80
|
renderSummary(limited, cardQueryView, () => formatQueryResult(limited), ctx);
|
|
92
81
|
}
|
|
93
82
|
});
|
|
@@ -96,8 +85,8 @@ function parseParameters(raw) {
|
|
|
96
85
|
return parseJson(raw, QueryParameters, { source: "--parameters" });
|
|
97
86
|
}
|
|
98
87
|
function parseExportFormat(raw) {
|
|
99
|
-
const result =
|
|
100
|
-
if (!result.success) throw new ConfigError(`invalid --export-format: "${raw}" (expected: ${
|
|
88
|
+
const result = CardExportFormat.safeParse(raw);
|
|
89
|
+
if (!result.success) throw new ConfigError(`invalid --export-format: "${raw}" (expected: ${CardExportFormat.options.join(", ")})`);
|
|
101
90
|
return result.data;
|
|
102
91
|
}
|
|
103
92
|
function applyLimit(result, limit) {
|
|
@@ -110,18 +99,5 @@ function applyLimit(result, limit) {
|
|
|
110
99
|
}
|
|
111
100
|
};
|
|
112
101
|
}
|
|
113
|
-
async function streamExport(client, id, options) {
|
|
114
|
-
const body = new URLSearchParams({
|
|
115
|
-
parameters: JSON.stringify(options.parameters),
|
|
116
|
-
format_rows: String(options.formatRows),
|
|
117
|
-
pivot_results: String(options.pivotResults)
|
|
118
|
-
});
|
|
119
|
-
const stream = await client.requestStream(`/api/card/${id}/query/${options.format}`, {
|
|
120
|
-
method: "POST",
|
|
121
|
-
body
|
|
122
|
-
});
|
|
123
|
-
await pipeToStdout(stream);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
102
|
//#endregion
|
|
127
|
-
export { query_default as default };
|
|
103
|
+
export { query_default as default };
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { assertNotLegacyEnvelopeWrappingMbql5, getQuerySchemaBundle, isMbql5Query, validateQuery } from "./validate-Cqa14t7o.mjs";
|
|
12
|
-
import { skipValidateFlag } from "./validate-query-D1N30wJ7.mjs";
|
|
13
|
-
import { formatQueryResult } from "./query-result-Drvjv7DD.mjs";
|
|
1
|
+
import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
|
|
2
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary, l as writeJson } from "./cli.mjs";
|
|
3
|
+
import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
|
|
4
|
+
import { t as readBody } from "./body-Cur4NJt9.mjs";
|
|
5
|
+
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
6
|
+
import { o as CardQueryResult } from "./card-DZxRmver.mjs";
|
|
7
|
+
import { t as cardQueryView } from "./card-zyUkr2nS.mjs";
|
|
8
|
+
import { i as validateQuery, n as getQuerySchemaBundle, r as isMbql5Query, t as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-BWchyW0V.mjs";
|
|
9
|
+
import { o as skipValidateFlag } from "./validate-query-DaGYSmpQ.mjs";
|
|
10
|
+
import { t as formatQueryResult } from "./query-result-DBDwk8TS.mjs";
|
|
14
11
|
import { z } from "zod";
|
|
15
|
-
|
|
16
12
|
//#region src/commands/query.ts
|
|
17
13
|
const QueryBody = z.unknown().describe("MBQL 5, legacy MBQL, or native query body — full MBQL 5 schema: mb query --print-schema");
|
|
18
|
-
const QUERY_ENDPOINT = "/api/dataset";
|
|
19
14
|
var query_default = defineMetabaseCommand({
|
|
20
15
|
meta: {
|
|
21
16
|
name: "query",
|
|
@@ -66,8 +61,7 @@ var query_default = defineMetabaseCommand({
|
|
|
66
61
|
contextLabel: "query",
|
|
67
62
|
bodyNoun: "the body"
|
|
68
63
|
});
|
|
69
|
-
|
|
70
|
-
if (!skipValidation) {
|
|
64
|
+
if (!(explicitSkip || !isMbql5Query(body))) {
|
|
71
65
|
const outcome = validateQuery(body);
|
|
72
66
|
if (!outcome.ok) {
|
|
73
67
|
writeJson(outcome);
|
|
@@ -85,14 +79,9 @@ var query_default = defineMetabaseCommand({
|
|
|
85
79
|
});
|
|
86
80
|
return;
|
|
87
81
|
}
|
|
88
|
-
const
|
|
89
|
-
const queryResult = await client.requestParsed(CardQueryResult, QUERY_ENDPOINT, {
|
|
90
|
-
method: "POST",
|
|
91
|
-
body
|
|
92
|
-
});
|
|
82
|
+
const queryResult = await (await getClient()).dataset.query(body);
|
|
93
83
|
renderSummary(queryResult, cardQueryView, () => formatQueryResult(queryResult), ctx);
|
|
94
84
|
}
|
|
95
85
|
});
|
|
96
|
-
|
|
97
86
|
//#endregion
|
|
98
|
-
export { query_default as default };
|
|
87
|
+
export { query_default as default };
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { formatScalar, renderRows } from "./
|
|
2
|
-
|
|
1
|
+
import { f as formatScalar, p as renderRows } from "./cli.mjs";
|
|
3
2
|
//#region src/output/query-result.ts
|
|
4
3
|
function formatQueryResult(result) {
|
|
5
4
|
if (result.status !== "completed" || result.data === void 0) {
|
|
6
|
-
const
|
|
7
|
-
const detail = hasError ? `: ${result.error}` : "";
|
|
5
|
+
const detail = typeof result.error === "string" && result.error !== "" ? `: ${result.error}` : "";
|
|
8
6
|
return `Query ${result.status}${detail}`;
|
|
9
7
|
}
|
|
10
8
|
const head = result.data.cols.map((col) => col.display_name ?? col.name);
|
|
11
9
|
const rowCount = result.row_count ?? result.data.rows.length;
|
|
12
10
|
const summary = `${rowCount} row${rowCount === 1 ? "" : "s"}.`;
|
|
13
11
|
if (result.data.rows.length === 0) return summary;
|
|
14
|
-
|
|
15
|
-
return `${renderRows(head, rows)}\n${summary}`;
|
|
12
|
+
return `${renderRows(head, result.data.rows.map((row) => Array.isArray(row) ? row.map((cell) => formatScalar(cell)) : [formatScalar(row)]))}\n${summary}`;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
//#endregion
|
|
19
|
-
export { formatQueryResult };
|
|
15
|
+
export { formatQueryResult as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
4
|
+
import { s as SyncSettingsUpdateResult } from "./git-sync-BDnxPrqU.mjs";
|
|
5
|
+
import { o as syncSettingsUpdateView } from "./git-sync-DxD_ng48.mjs";
|
|
6
|
+
//#region src/commands/git-sync/remove-collection.ts
|
|
7
|
+
var remove_collection_default = defineMetabaseCommand({
|
|
8
|
+
meta: {
|
|
9
|
+
name: "remove-collection",
|
|
10
|
+
description: "Unmark a collection as git-synced; cascades to descendants by location prefix"
|
|
11
|
+
},
|
|
12
|
+
capabilities: {
|
|
13
|
+
minVersion: 60,
|
|
14
|
+
tokenFeature: "remote_sync"
|
|
15
|
+
},
|
|
16
|
+
args: {
|
|
17
|
+
...outputFlags,
|
|
18
|
+
...profileFlag,
|
|
19
|
+
...connectionFlags,
|
|
20
|
+
id: {
|
|
21
|
+
type: "positional",
|
|
22
|
+
description: "Collection id (positive integer)",
|
|
23
|
+
required: true
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
outputSchema: SyncSettingsUpdateResult,
|
|
27
|
+
examples: ["mb git-sync remove-collection 12", "mb git-sync remove-collection 12 --json --profile prod"],
|
|
28
|
+
async run({ args, ctx, getClient }) {
|
|
29
|
+
const collectionId = parseId(args.id, "id");
|
|
30
|
+
const result = await (await getClient()).gitSync.setCollectionSynced(collectionId, false);
|
|
31
|
+
const taskPart = result.task_id !== void 0 ? ` (task #${result.task_id})` : "";
|
|
32
|
+
renderSummary(result, syncSettingsUpdateView, result.success ? `Collection ${collectionId} is no longer git-synced${taskPart}.` : `Could not update git-sync setting for collection ${collectionId}.`, ctx);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
36
|
+
export { remove_collection_default as default };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import "./cli.mjs";
|
|
1
2
|
//#region src/commands/auth/render.ts
|
|
2
|
-
const EMPTY_CELL = "—";
|
|
3
3
|
function pickProperty(value, key) {
|
|
4
|
-
if (typeof value !== "object" || value === null || !(key in value)) return
|
|
5
|
-
|
|
6
|
-
return inner;
|
|
4
|
+
if (typeof value !== "object" || value === null || !(key in value)) return;
|
|
5
|
+
return Reflect.get(value, key);
|
|
7
6
|
}
|
|
8
7
|
function pickString(value, key) {
|
|
9
8
|
const inner = pickProperty(value, key);
|
|
@@ -14,24 +13,23 @@ function pickBoolean(value, key) {
|
|
|
14
13
|
return typeof inner === "boolean" ? inner : null;
|
|
15
14
|
}
|
|
16
15
|
function renderUserName(value) {
|
|
17
|
-
return pickString(value, "name") ??
|
|
16
|
+
return pickString(value, "name") ?? "—";
|
|
18
17
|
}
|
|
19
18
|
function renderUserRole(value) {
|
|
20
19
|
const isAdmin = pickBoolean(value, "isAdmin");
|
|
21
|
-
if (isAdmin === null) return
|
|
20
|
+
if (isAdmin === null) return "—";
|
|
22
21
|
return isAdmin ? "Admin" : "User";
|
|
23
22
|
}
|
|
24
23
|
function renderAuthMethod(value) {
|
|
25
24
|
if (value === "oauth") return "OAuth";
|
|
26
25
|
if (value === "apiKey") return "API key";
|
|
27
|
-
return
|
|
26
|
+
return "—";
|
|
28
27
|
}
|
|
29
28
|
function renderVersionTag(value) {
|
|
30
|
-
return pickString(value, "tag") ??
|
|
29
|
+
return pickString(value, "tag") ?? "—";
|
|
31
30
|
}
|
|
32
31
|
function renderTimestamp(value) {
|
|
33
|
-
return typeof value === "string" ? value :
|
|
32
|
+
return typeof value === "string" ? value : "—";
|
|
34
33
|
}
|
|
35
|
-
|
|
36
34
|
//#endregion
|
|
37
|
-
export {
|
|
35
|
+
export { renderVersionTag as a, renderUserRole as i, renderTimestamp as n, renderUserName as r, renderAuthMethod as t };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import { UploadUpdateResult, readCsvFile, requireUploadFilePath, updateTableFromCsv, uploadUpdateResultView } from "./requests-qyh002pL.mjs";
|
|
7
|
-
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
4
|
+
import { n as UploadUpdateResult } from "./upload-DAtxBBms.mjs";
|
|
5
|
+
import { i as uploadUpdateResultView, n as requireUploadFilePath, t as readCsvFile } from "./upload-CH632qW6.mjs";
|
|
8
6
|
//#region src/commands/upload/replace.ts
|
|
9
7
|
var replace_default = defineMetabaseCommand({
|
|
10
8
|
meta: {
|
|
@@ -32,11 +30,8 @@ var replace_default = defineMetabaseCommand({
|
|
|
32
30
|
async run({ args, ctx, getClient }) {
|
|
33
31
|
const id = parseId(args.id);
|
|
34
32
|
const file = await readCsvFile(requireUploadFilePath(args.file));
|
|
35
|
-
|
|
36
|
-
const result = await updateTableFromCsv(client, id, "replace", file);
|
|
37
|
-
renderSummary(result, uploadUpdateResultView, `Replaced table ${id} with "${file.filename}".`, ctx);
|
|
33
|
+
renderSummary(await (await getClient()).table.replaceCsv(id, file), uploadUpdateResultView, `Replaced table ${id} with "${file.filename}".`, ctx);
|
|
38
34
|
}
|
|
39
35
|
});
|
|
40
|
-
|
|
41
36
|
//#endregion
|
|
42
|
-
export { replace_default as default };
|
|
37
|
+
export { replace_default as default };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
4
|
+
import { a as DatabaseSyncResult } from "./database-C8G6ZKG0.mjs";
|
|
5
|
+
import { t as databaseSyncResultView } from "./database-B19qlLKZ.mjs";
|
|
6
|
+
//#region src/commands/db/rescan-values.ts
|
|
7
|
+
var rescan_values_default = defineMetabaseCommand({
|
|
8
|
+
meta: {
|
|
9
|
+
name: "rescan-values",
|
|
10
|
+
description: "Trigger a rescan of cached field values for a database"
|
|
11
|
+
},
|
|
12
|
+
capabilities: { minVersion: 58 },
|
|
13
|
+
args: {
|
|
14
|
+
...outputFlags,
|
|
15
|
+
...profileFlag,
|
|
16
|
+
...connectionFlags,
|
|
17
|
+
id: {
|
|
18
|
+
type: "positional",
|
|
19
|
+
description: "Database id",
|
|
20
|
+
required: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
outputSchema: DatabaseSyncResult,
|
|
24
|
+
examples: ["mb db rescan-values 1", "mb db rescan-values 1 --json"],
|
|
25
|
+
async run({ args, ctx, getClient }) {
|
|
26
|
+
const id = parseId(args.id);
|
|
27
|
+
renderSummary(await (await getClient()).database.rescanValues(id), databaseSyncResultView, `Field-values rescan queued for database ${id}.`, ctx);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
export { rescan_values_default as default };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
4
|
+
import { l as isTransformRunFailed, o as TransformRunResult } from "./transform-D3QX0jxA.mjs";
|
|
5
|
+
import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-DWEF9tX4.mjs";
|
|
6
|
+
//#region src/commands/transform/run.ts
|
|
7
|
+
const transformRunResultView = {
|
|
8
|
+
compactPick: TransformRunResult,
|
|
9
|
+
tableColumns: [
|
|
10
|
+
{
|
|
11
|
+
key: "run_id",
|
|
12
|
+
label: "Run ID"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
key: "message",
|
|
16
|
+
label: "Message"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "target_table_id",
|
|
20
|
+
label: "Target table"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
var run_default = defineMetabaseCommand({
|
|
25
|
+
meta: {
|
|
26
|
+
name: "run",
|
|
27
|
+
description: "Trigger a transform run by id"
|
|
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.",
|
|
30
|
+
capabilities: { minVersion: 59 },
|
|
31
|
+
args: {
|
|
32
|
+
...outputFlags,
|
|
33
|
+
...profileFlag,
|
|
34
|
+
...connectionFlags,
|
|
35
|
+
...waitFlags,
|
|
36
|
+
sync: {
|
|
37
|
+
type: "boolean",
|
|
38
|
+
description: "After a successful run, wait until the output table is registered and return its id (implies --wait)",
|
|
39
|
+
default: false
|
|
40
|
+
},
|
|
41
|
+
id: {
|
|
42
|
+
type: "positional",
|
|
43
|
+
description: "Transform id",
|
|
44
|
+
required: true
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
outputSchema: TransformRunResult,
|
|
48
|
+
examples: [
|
|
49
|
+
"mb transform run 1",
|
|
50
|
+
"mb transform run 1 --wait --json",
|
|
51
|
+
"mb transform run 1 --sync --json"
|
|
52
|
+
],
|
|
53
|
+
async run({ args, ctx, getClient }) {
|
|
54
|
+
const id = parseId(args.id);
|
|
55
|
+
const syncTarget = args.sync === true;
|
|
56
|
+
const wait = parseWaitFlags(args);
|
|
57
|
+
const waitForRun = wait.enabled || syncTarget;
|
|
58
|
+
const result = await (await getClient()).transform.run(id, {
|
|
59
|
+
...waitForRun && { wait: wait.schedule },
|
|
60
|
+
syncTarget
|
|
61
|
+
});
|
|
62
|
+
if (!waitForRun) {
|
|
63
|
+
const started = result.run_id === null ? result.message : `Started run ${result.run_id} for transform ${id}.`;
|
|
64
|
+
renderSummary(result, transformRunResultView, started, ctx);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (result.run_id === null || result.final === null) {
|
|
68
|
+
renderSummary(result, transformRunResultView, result.message, ctx);
|
|
69
|
+
throw new Error(`transform run did not start: ${result.message}`);
|
|
70
|
+
}
|
|
71
|
+
const status = result.final.status;
|
|
72
|
+
renderSummary(result, transformRunResultView, summaryLine(id, result.run_id, status, syncTarget, result.target_table_id), ctx);
|
|
73
|
+
if (isTransformRunFailed(status)) throw new Error(`transform run ${result.run_id} ${status}`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
function summaryLine(transformId, runId, status, syncTarget, targetTableId) {
|
|
77
|
+
const base = `Run ${runId} of transform ${transformId} ${status}.`;
|
|
78
|
+
if (!syncTarget) return base;
|
|
79
|
+
return targetTableId === null || targetTableId === void 0 ? `${base} Output table not registered before the wait timeout (it may still be syncing).` : `${base} Output table ${targetTableId} registered.`;
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { run_default as default };
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
1
|
+
import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
4
|
+
import { a as TransformJobRunResult } from "./transform-job-DRrK28IH.mjs";
|
|
7
5
|
//#region src/commands/transform-job/run.ts
|
|
8
|
-
const TransformJobRunResult = z.object({
|
|
9
|
-
message: z.string(),
|
|
10
|
-
job_run_id: z.string()
|
|
11
|
-
});
|
|
12
6
|
const transformJobRunResultView = {
|
|
13
7
|
compactPick: TransformJobRunResult,
|
|
14
8
|
tableColumns: [{
|
|
@@ -45,14 +39,10 @@ var run_default = defineMetabaseCommand({
|
|
|
45
39
|
examples: ["mb transform-job run 1", "mb transform-job run 1 --force-refresh --json"],
|
|
46
40
|
async run({ args, ctx, getClient }) {
|
|
47
41
|
const id = parseId(args.id);
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
body: { run_all: args["force-refresh"] === true }
|
|
52
|
-
});
|
|
53
|
-
renderSummary(result, transformJobRunResultView, `Started transform job ${id}.`, ctx);
|
|
42
|
+
const result = await (await getClient()).transformJob.run(id, { run_all: args["force-refresh"] === true });
|
|
43
|
+
const summary = result.job_run_id === null ? `Transform job ${id} was not started (already running, or it resolves to no transforms).` : `Started transform job ${id}.`;
|
|
44
|
+
renderSummary(result, transformJobRunResultView, summary, ctx);
|
|
54
45
|
}
|
|
55
46
|
});
|
|
56
|
-
|
|
57
47
|
//#endregion
|
|
58
|
-
export { run_default as default };
|
|
48
|
+
export { run_default as default };
|
|
@@ -0,0 +1,38 @@
|
|
|
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-DiKyBxOw.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
|
|
4
|
+
import { t as collectForOutput } from "./window-BkvrP0gB.mjs";
|
|
5
|
+
import { a as TransformRunCompact } from "./transform-D3QX0jxA.mjs";
|
|
6
|
+
import { t as transformRunView } from "./transform-DoTyyXAu.mjs";
|
|
7
|
+
//#region src/commands/transform/runs.ts
|
|
8
|
+
const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
|
|
9
|
+
var runs_default = defineMetabaseCommand({
|
|
10
|
+
meta: {
|
|
11
|
+
name: "runs",
|
|
12
|
+
description: "List recent transform runs"
|
|
13
|
+
},
|
|
14
|
+
capabilities: { minVersion: 59 },
|
|
15
|
+
args: {
|
|
16
|
+
...outputFlags,
|
|
17
|
+
...listFlags,
|
|
18
|
+
...profileFlag,
|
|
19
|
+
...connectionFlags,
|
|
20
|
+
"transform-id": {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "Filter to runs of a single transform id"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
outputSchema: TransformRunListEnvelope,
|
|
26
|
+
examples: [
|
|
27
|
+
"mb transform runs",
|
|
28
|
+
"mb transform runs --transform-id 1 --json",
|
|
29
|
+
"mb transform runs --limit 10 --json"
|
|
30
|
+
],
|
|
31
|
+
async run({ args, ctx, getClient }) {
|
|
32
|
+
const transformId = args["transform-id"] === void 0 ? void 0 : parseId(args["transform-id"], "--transform-id");
|
|
33
|
+
const client = await getClient();
|
|
34
|
+
renderList(await collectForOutput((request) => client.transform.runPages({ "transform-ids": transformId }, request), transformRunView, ctx), transformRunView, ctx);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//#endregion
|
|
38
|
+
export { runs_default as default };
|