@metabase/cli 0.3.0 → 0.3.1-alpha.fix-transform-test-ee-path.a3ca6dd
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-B3Ty8SzB.mjs → add-collection-BEg-1pt8.mjs} +6 -9
- package/dist/{alert-DT-ee7yf.mjs → alert-CBwtJ3lE.mjs} +7 -7
- package/dist/{alerts-Bf2RH_p_.mjs → alerts-Bn9ZhFYK.mjs} +7 -7
- package/dist/{append-DFzQRPMd.mjs → append-F7kfyk0p.mjs} +6 -5
- package/dist/{archive-ByvA49Kz.mjs → archive-2VqBgcyE.mjs} +5 -5
- package/dist/{archive-4tmm946K.mjs → archive-3_KVbxIk.mjs} +4 -4
- package/dist/{archive-Cd29QC0c.mjs → archive-7tZyaUWv.mjs} +4 -4
- package/dist/{archive-Dr9Xnx_Z.mjs → archive-Bonv-Hcf.mjs} +6 -6
- package/dist/{archive-C7w49Grr.mjs → archive-BzEvapLz.mjs} +6 -6
- package/dist/{archive-CwAdlv63.mjs → archive-CAwDiQWt2.mjs} +6 -6
- package/dist/{archive-lQqs13Uz.mjs → archive-CE-RKcle.mjs} +6 -6
- package/dist/{archive-B6eXiyER.mjs → archive-Da3-hnRM.mjs} +4 -4
- package/dist/{archive-gid9Y09v.mjs → archive-IBHOtOMk.mjs} +4 -4
- package/dist/{archive-BxNPHxOY.mjs → archive-TBo05bZZ.mjs} +6 -6
- package/dist/{archive-ChORH5JH.mjs → archive-k79AXZhh.mjs} +4 -4
- package/dist/{auth-Dltxua89.mjs → auth-CLZuUSzL.mjs} +5 -5
- package/dist/{body-Cur4NJt9.mjs → body-Q8iNnt-X.mjs} +3 -3
- package/dist/{branches-DchlyU0i.mjs → branches-CjMIMKse.mjs} +4 -7
- package/dist/{cancel-BMQa5R1Z.mjs → cancel-H4vYr5Jv.mjs} +4 -4
- package/dist/{cancel-task-C5CU1pxU.mjs → cancel-task-p09LCbgs.mjs} +5 -8
- package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
- package/dist/card-DlVb10D3.mjs +24 -0
- package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
- package/dist/{cards-SccWvRQD.mjs → cards-DDG6RObF.mjs} +7 -7
- package/dist/cli.mjs +567 -68
- package/dist/client-toDDqakD.mjs +4093 -0
- package/dist/{collection-CfulNRBG.mjs → collection-BxdPxD38.mjs} +1 -1
- package/dist/{collection-CGoVLvcD.mjs → collection-DYM0p3Xl.mjs} +1 -1
- package/dist/{collection-namespace-GwydWBF3.mjs → collection-namespace-DDI9-HgU.mjs} +2 -2
- package/dist/collection-p_sficxo.mjs +20 -0
- package/dist/content-translation-BrHOrmj9.mjs +5 -0
- package/dist/content-translation-DcTEH_d7.mjs +12 -0
- package/dist/{create-CAWytBE5.mjs → create-BLxdMJgQ.mjs} +5 -5
- package/dist/{create-BNQ_DytP.mjs → create-BPN1cX7b.mjs} +4 -4
- package/dist/{create-CHQx7jq4.mjs → create-BjCpsMQM.mjs} +5 -5
- package/dist/{create-CD008jdE.mjs → create-BovrhBQn.mjs} +12 -8
- package/dist/{create-DV-Ln5Mo.mjs → create-CVCPD-1F.mjs} +4 -4
- package/dist/{create-DJmXXQoq.mjs → create-CVPGOx7u2.mjs} +8 -8
- package/dist/{create-Beh-2uoN.mjs → create-Chs5c8vx.mjs} +6 -6
- package/dist/{create-BOLwWt8Q.mjs → create-D04fl6ec.mjs} +5 -5
- package/dist/{create-C79vErX0.mjs → create-D5mN20oE.mjs} +7 -7
- package/dist/{create-DF4QtgDL.mjs → create-D88Im3X22.mjs} +6 -6
- package/dist/{create-tQbnuz-I.mjs → create-DQfOV9Sm.mjs} +6 -6
- package/dist/{create-CCh_LyW9.mjs → create-DWU4j22P.mjs} +4 -4
- package/dist/create-DjP2yUyn.mjs +34 -0
- package/dist/{create-CAQV2g6V.mjs → create-Dk6Zm3ZH.mjs} +7 -7
- package/dist/{create-zeveFdnd.mjs → create-DkmeJGMy.mjs} +5 -8
- package/dist/{create-i14Wv3Tj.mjs → create-TQr3briq.mjs} +4 -4
- package/dist/{create-branch-CYo6jZth.mjs → create-branch-Bs6BlkgQ.mjs} +5 -9
- package/dist/{csv-B2Jgb1GM.mjs → csv-BsN6FmY-.mjs} +6 -5
- package/dist/{current-task-MpBFGttd.mjs → current-task-cCmLLVcv.mjs} +5 -8
- package/dist/{dashboard-BHJBoaG7.mjs → dashboard-CpIEKEgu.mjs} +10 -10
- package/dist/{dashboard-BCpSq_G-.mjs → dashboard-D0hwTC-f.mjs} +12 -2
- package/dist/{dashboard-CsIFFpzK.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-DsfojyeH.mjs → db-BbvcmfWM.mjs} +7 -7
- package/dist/{delete-B8e01xAG.mjs → delete-C4_rcfNu.mjs} +5 -5
- package/dist/delete-CLdDYdYG.mjs +44 -0
- package/dist/{delete-DFmX7jTp.mjs → delete-D13SLwhr.mjs} +5 -5
- package/dist/{delete-Ob06PPie.mjs → delete-D3-jMLu5.mjs} +5 -5
- package/dist/{delete-BApOjQvl.mjs → delete-DLirF5iq.mjs} +5 -5
- package/dist/{delete-Ck0q4Dzp.mjs → delete-JBjvxdIU.mjs} +5 -5
- package/dist/{delete-runtime-D74s6vhu.mjs → delete-runtime-BKEzJn22.mjs} +1 -2
- package/dist/{delete-table-DuyhGrvA.mjs → delete-table-Gwk7JL5c.mjs} +5 -5
- package/dist/{dependencies-Bj3QrGIm.mjs → dependencies-B7vl9Ovb.mjs} +7 -7
- package/dist/{dirty-DNYoM6Bp.mjs → dirty-CIZeASXG.mjs} +6 -9
- package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
- package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
- package/dist/document-ceJW4VuL.mjs +19 -0
- package/dist/download-B-krJch0.mjs +25 -0
- package/dist/{eid-WTZmDdsr.mjs → eid-C0D92gZW.mjs} +4 -5
- package/dist/{events-Bn7jh5lP.mjs → events-CuLeaey6.mjs} +5 -5
- package/dist/{export-BjfoZRDJ.mjs → export-DeuLpt3x.mjs} +7 -10
- package/dist/{field-Zau6Hc6X.mjs → field-B8Hndt4p.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-CBBa-Prp.mjs → fields-CAchmFh4.mjs} +7 -7
- package/dist/{get-CDJFVvhj.mjs → get-BH3Tgfgf.mjs} +4 -4
- package/dist/{get-CDMGbgrh.mjs → get-BJOxfbDP.mjs} +4 -4
- package/dist/{get-B_xdF1kq.mjs → get-BOjTqIMx.mjs} +6 -6
- package/dist/{get-D_h-G9bn.mjs → get-C1BPEbyl.mjs} +6 -6
- package/dist/{get-Dmj9Ygz1.mjs → get-C8dcHjd6.mjs} +6 -6
- package/dist/{get-DkWO0EI0.mjs → get-CArTALOt.mjs} +6 -6
- package/dist/get-CMCAgpxn.mjs +93 -0
- package/dist/{get-CnbUCzDM.mjs → get-CjDHpz6A.mjs} +4 -4
- package/dist/{get-ByBOq30r.mjs → get-ClNkea9I.mjs} +6 -6
- package/dist/{get-DRvsATp-.mjs → get-CvAMxfPD.mjs} +6 -6
- package/dist/{get-B7sMgsFs.mjs → get-D8qaSSEH.mjs} +4 -4
- package/dist/{get-00lyLv6R.mjs → get-DCvnNk3f.mjs} +6 -6
- package/dist/{get-DY03Azx9.mjs → get-DEwfm3Yl.mjs} +5 -8
- package/dist/{get-C2-Q3iQ5.mjs → get-DXWrGwWH.mjs} +4 -4
- package/dist/get-DbXTkB4u.mjs +32 -0
- package/dist/{get-DYO1kywc.mjs → get-DvF9oooq.mjs} +5 -5
- package/dist/{get-DdsoHaKH.mjs → get-d055CJ1T.mjs} +4 -4
- package/dist/{get-Bz99dAxK.mjs → get-kBTeBtLe.mjs} +6 -6
- package/dist/{get-DmpB6J9g.mjs → get-ohue3YrV2.mjs} +6 -6
- package/dist/{get-run-Cnux9ln0.mjs → get-run-X6zhp0dW.mjs} +6 -6
- package/dist/{get-Dn9ZiSZr.mjs → get-wIZrb7oN.mjs} +6 -6
- package/dist/git-sync-BkTmSgdD.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-DBM87IgC.mjs → group-YQQ5GIcP.mjs} +2 -2
- package/dist/{has-remote-changes-C684Redh.mjs → has-remote-changes-zCtdEGs-.mjs} +5 -8
- package/dist/{import-Rmmttboo.mjs → import-DkAy_Xi8.mjs} +7 -10
- package/dist/{input-DH9i67x_.mjs → input-DEvkIjGr.mjs} +1 -1
- package/dist/{is-dirty-DYeJYhBz.mjs → is-dirty-Dfk2Xf-W.mjs} +3 -6
- package/dist/{items-CQlPXBXE.mjs → items-CiSBrc9d.mjs} +7 -7
- package/dist/{key-BEhqIzIQ.mjs → key-PYetuQ13.mjs} +1 -1
- package/dist/library-BPIzb3K_.mjs +81 -0
- package/dist/{library-Bsm5KsFF.mjs → library-FBj2Je-M.mjs} +5 -5
- package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
- package/dist/list-9CJczyF5.mjs +60 -0
- package/dist/{list-DE9FM957.mjs → list-B6tDzQsv.mjs} +4 -4
- package/dist/{list-BtkWNtvY.mjs → list-BDJkJc8s.mjs} +7 -7
- package/dist/{list-BzVTHOoH.mjs → list-Br0g0oDR.mjs} +6 -6
- package/dist/{list-CNUiF8Z7.mjs → list-C9-2J0Nu.mjs} +6 -6
- package/dist/{list-B4hJuMhA.mjs → list-CGjdrAhT.mjs} +7 -7
- package/dist/{list-BtmsNOEn.mjs → list-CHOJQ1uR.mjs} +4 -4
- package/dist/{list-CKK-s3Ty.mjs → list-CK4S_aDK.mjs} +4 -4
- package/dist/{list-C5Zs8nrb.mjs → list-CYONHM9n.mjs} +6 -6
- package/dist/{list-CQwOgIlj.mjs → list-CrwbvMEG.mjs} +6 -6
- package/dist/{list-BOET6zhP.mjs → list-D6WZmnG_.mjs} +4 -4
- package/dist/{list-DMKDsBRd.mjs → list-DD_tjCmP.mjs} +7 -7
- package/dist/{list-DF2rvoO1.mjs → list-Dqv3nOEe.mjs} +14 -13
- package/dist/{list-CQDprvW0.mjs → list-Hjsg2N8L.mjs} +7 -7
- package/dist/{list-CMpoc2TN.mjs → list-M4Twal0d.mjs} +5 -5
- package/dist/{list-BpFp9Wre.mjs → list-UbzhJFFn.mjs} +4 -4
- package/dist/list-W5y4079U.mjs +35 -0
- package/dist/{list-BP3MPq-M.mjs → list-f5HIVoLN.mjs} +4 -4
- package/dist/{list-B8nAGwP4.mjs → list-uCAP4vmQ.mjs} +6 -6
- package/dist/{login-CGHeSjlP.mjs → login-CIzUMkf3.mjs} +15 -12
- package/dist/{logout-DAxOlbv4.mjs → logout-CRm_AaoF.mjs} +3 -4
- package/dist/{measure-BsYv0p26.mjs → measure-DPXeIN18.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-CJTdqd8c.mjs → parameter-values-rOHoy3k0.mjs} +5 -6
- package/dist/{parse-enum-D0Jfm_Bz.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
- package/dist/{parse-id-C_jmKFaa.mjs → parse-id-CYZAIB58.mjs} +1 -1
- package/dist/{parse-ref-ibKVB0J4.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
- package/dist/{path-B5gHvrYL.mjs → path-D9_unWc1.mjs} +5 -5
- package/dist/{poll-75SvT7Zv.mjs → poll-CZeXepUQ.mjs} +2 -2
- package/dist/{preflight-YpPQo-sa.mjs → preflight-BIxRV-bm.mjs} +3 -4
- package/dist/{process-DBOOrmET.mjs → process-CTrfxxaC.mjs} +1 -1
- package/dist/{publish-DijrxaCW.mjs → publish-N509vd0U.mjs} +9 -9
- package/dist/{pulse-BmsDenXm.mjs → pulse-Dz0ocv0l.mjs} +1 -1
- package/dist/{pulse-DhG6I9mI.mjs → pulse-x0gFxWfG.mjs} +2 -2
- package/dist/{query-Dc__-KJH.mjs → query-JvMjF22L.mjs} +9 -10
- package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
- package/dist/{query-BbqECzmF.mjs → query-yh5Wkfmc.mjs} +11 -18
- package/dist/{remove-collection-BOnxYvhj.mjs → remove-collection-B0E0dlZt.mjs} +6 -9
- package/dist/{render-CI93iP0I.mjs → render-Tlz6OCMU.mjs} +13 -2
- package/dist/{replace-Cq4CxVa-.mjs → replace-BwbYo6-2.mjs} +6 -5
- package/dist/{rescan-values-Dr_j416g.mjs → rescan-values-BiMPb5Z5.mjs} +6 -6
- package/dist/{run-DdGJ544X.mjs → run-B9aA1aNI.mjs} +26 -14
- package/dist/run-D37ntUQo.mjs +50 -0
- package/dist/{run-C3DkS6NP.mjs → run-Dbh3nvzF.mjs} +6 -6
- package/dist/{runs-CUNWiidL.mjs → runs-BuUzKR-x.mjs} +7 -7
- package/dist/{runtime-DiKyBxOw.mjs → runtime-CwhhhwcB.mjs} +946 -246
- package/dist/{schema-tables-CV386fnC.mjs → schema-tables-9PvvygPu.mjs} +7 -7
- package/dist/{schemas-DM-UqZBQ.mjs → schemas-DqkQI39t.mjs} +5 -5
- package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
- package/dist/{search-DmGScXs8.mjs → search-BjAwR-oP.mjs} +6 -6
- package/dist/{segment-BzUGM2Fr.mjs → segment-1nBcugv8.mjs} +6 -6
- package/dist/{selectors-DGDn0Hto.mjs → selectors-DFNdyhPn.mjs} +3 -3
- package/dist/{send-CVxxEpDB.mjs → send-D4tYN3aN.mjs} +4 -4
- package/dist/{set-DFolTjbd.mjs → set-D_Mh2eVO.mjs} +5 -5
- package/dist/{set-active-BD8L1lPX.mjs → set-active-jY5VZsO8.mjs} +5 -5
- package/dist/{setting-DyhaeICs.mjs → setting-9ULb5wjN.mjs} +4 -4
- package/dist/{setup-BbDQN8fe.mjs → setup-DMaIuuCV.mjs} +4 -4
- package/dist/{signal-CMd0EFUa.mjs → signal-k7cm5N6h.mjs} +11 -2
- package/dist/skill-list-Bucy7UE2.mjs +76 -0
- package/dist/{skills--vK6J-e4.mjs → skills-Dyfqgobg.mjs} +3 -3
- package/dist/skills-PjjRtYqi.mjs +351 -0
- package/dist/snippet-DNoTIGAs.mjs +19 -0
- package/dist/{stash-D0S4JmAz.mjs → stash-C6BEM6_u.mjs} +7 -11
- package/dist/{status-BhswxJL1.mjs → status-DiP093Vm.mjs} +11 -9
- package/dist/{status-hL1am-HV.mjs → status-wAg5ajzM.mjs} +12 -11
- package/dist/stream-McixcoUl.mjs +7 -0
- package/dist/{subscription-_d5fB45F.mjs → subscription-CEeI0pSr.mjs} +6 -6
- package/dist/{subscriptions-s4TF6Ax3.mjs → subscriptions-B9cMNuIS.mjs} +7 -7
- package/dist/{summary-CsPvcUwW.mjs → summary-D0NP2NoT.mjs} +6 -6
- package/dist/{sync-schema-DaZ_MV-u.mjs → sync-schema-BgJ6KEqa.mjs} +7 -7
- package/dist/{sync-task-BACcrs0i.mjs → sync-task-BXeWuARG.mjs} +1 -1
- package/dist/{table-DYoC1kPn.mjs → table-9bTG6zSa.mjs} +5 -5
- package/dist/{table-CsIJNPFf.mjs → table-C6h4tIRw.mjs} +1 -1
- package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
- package/dist/timeline-Ck53UgDh.mjs +21 -0
- package/dist/{timeline-event-CNQdCTDg.mjs → timeline-event-POmQ2TD2.mjs} +6 -6
- package/dist/transform-BC39AgQF.mjs +28 -0
- package/dist/{transform-DoTyyXAu.mjs → transform-CtqB1WYo.mjs} +2 -2
- package/dist/{transform-D3QX0jxA.mjs → transform-DiW7bREn.mjs} +68 -5
- package/dist/{transform-job-50GZHhKH.mjs → transform-job-AaMZRxAq.mjs} +1 -1
- package/dist/{transform-job-DRrK28IH.mjs → transform-job-CCguL6LP.mjs} +41 -4
- package/dist/transform-job-D-zUFmZU.mjs +22 -0
- package/dist/{transform-tag-_tgwlsdB.mjs → transform-tag-CP7FRU5G.mjs} +5 -5
- package/dist/transform-test-BjjCQ2xm.mjs +169 -0
- package/dist/transform-test-CKNQS_kC.mjs +16 -0
- package/dist/transform-test-gzDcbypy.mjs +25 -0
- package/dist/{transforms-oU4zizbO.mjs → transforms-DDSNP4eL.mjs} +7 -7
- package/dist/{tree-CH-f3bjP.mjs → tree-CAnMS2dm.mjs} +4 -5
- package/dist/{unpublish-BUl9RU5C.mjs → unpublish-DF1XQMWJ.mjs} +4 -7
- package/dist/{update-BZPllQoR.mjs → update-BS1yiwOO.mjs} +5 -5
- package/dist/{update-CO4m4wH3.mjs → update-Bb89y-0M.mjs} +8 -8
- package/dist/{update-C4YJQFDS.mjs → update-BbiVvdm1.mjs} +7 -7
- package/dist/{update-BCS5FxKr.mjs → update-BcdLQu7-.mjs} +9 -9
- package/dist/{update-cYkvbqK8.mjs → update-BjcWwrPc.mjs} +5 -5
- package/dist/{update-tX9mKBN_.mjs → update-BoJJ6Gel.mjs} +9 -9
- package/dist/{update-CHNSUHK4.mjs → update-C09GGTjN.mjs} +5 -5
- package/dist/{update-BzMDeZiU.mjs → update-C33R41eM.mjs} +7 -7
- package/dist/{update-CmDTljK-.mjs → update-C6KQZMDF.mjs} +7 -7
- package/dist/{update-bD_Jh5-s.mjs → update-CFqdElFO.mjs} +6 -6
- package/dist/{update-CVPAwJaH.mjs → update-CHsXoUJQ.mjs} +6 -6
- package/dist/update-CaJO1rWk.mjs +41 -0
- package/dist/{update-CvOO8TED.mjs → update-CmXGZPCR.mjs} +7 -7
- package/dist/{update-D-NE60AV.mjs → update-DFJSD3_l.mjs} +7 -7
- package/dist/{update-Nfi44RrE.mjs → update-DOeBAoul.mjs} +6 -6
- package/dist/{update-BiFDBcEH.mjs → update-DiowA7ud.mjs} +5 -5
- package/dist/{update-dashcard-C3TuYO_k.mjs → update-dashcard-DSL6Bogg.mjs} +7 -7
- package/dist/{upgrade-DXMV4AyP.mjs → upgrade-CBxr91bH.mjs} +6 -8
- package/dist/upload-C3z5ZaXA.mjs +24 -0
- package/dist/upload-CSHcnonI.mjs +13 -0
- package/dist/upload-DTyF-p8X.mjs +39 -0
- package/dist/upload-Do2PBSeH.mjs +23 -0
- package/dist/{uuid-BJkDWj9p.mjs → uuid-CwEbjDp8.mjs} +3 -4
- package/dist/{validate-BWchyW0V.mjs → validate-EAB-1EkK.mjs} +1 -1
- package/dist/{validate-query-DaGYSmpQ.mjs → validate-query-CQG86147.mjs} +2 -3
- package/dist/{values-Dxf1JEoA.mjs → values-69IZEVXu.mjs} +6 -6
- package/dist/{verify-K96rItG5.mjs → verify-Dg5YBI0l.mjs} +3 -18
- package/dist/{wait-DoMDH226.mjs → wait-DVXEJXd3.mjs} +7 -10
- package/dist/{wait-flags-DWEF9tX4.mjs → wait-flags-CkRgnfww.mjs} +2 -2
- package/dist/{window-BkvrP0gB.mjs → window-DSb1tqSe.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +31 -14
- package/skill-data/dashboard/SKILL.md +2 -2
- package/skill-data/data-workflow/references/building-clean-tables.md +6 -2
- package/skill-data/data-workflow/references/reusable-definitions.md +11 -3
- package/skill-data/document/SKILL.md +4 -1
- package/skill-data/git-sync/SKILL.md +5 -0
- package/skill-data/mbql/SKILL.md +1 -1
- package/skill-data/mbql/references/operators.md +20 -15
- package/skill-data/metadata/SKILL.md +1 -1
- package/skill-data/metadata/references/semantic-types.md +7 -1
- package/skill-data/native-sql/references/template-tags.md +6 -2
- package/skill-data/notification/SKILL.md +7 -1
- package/skill-data/transform/SKILL.md +75 -3
- 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 +259 -0
- package/skill-data/visualization/SKILL.md +11 -3
- package/skill-data/visualization/references/settings.md +6 -4
- package/skills/metabase-cli/SKILL.md +1 -1
- package/dist/card-CHI2bmds.mjs +0 -24
- package/dist/client-BqhzKdLM.mjs +0 -2194
- package/dist/collection-CY0AB99E.mjs +0 -20
- package/dist/document-BbskZPTT.mjs +0 -19
- package/dist/get-CvI--9S_.mjs +0 -80
- package/dist/git-sync-MQQYRYLg.mjs +0 -28
- package/dist/library-ClLgrAXy.mjs +0 -19
- package/dist/list-UhpKG6_m.mjs +0 -98
- package/dist/network-error-CEb9ymDW.mjs +0 -423
- package/dist/predicates-Bkm2IoeX.mjs +0 -170
- package/dist/skills-DTCrMcix.mjs +0 -216
- package/dist/snippet-DRwKb2x7.mjs +0 -19
- package/dist/timeline-xlDbEKWg.mjs +0 -21
- package/dist/transform-Bs0EWijQ.mjs +0 -28
- package/dist/transform-job-BcLChRup.mjs +0 -22
- package/dist/upload-CH632qW6.mjs +0 -46
- package/dist/upload-Dey_8rLf.mjs +0 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { n as windowList } from "./window-
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
4
4
|
import { n as TimelineCompact } from "./timeline-CCSU2qOS.mjs";
|
|
5
5
|
import { n as timelineView } from "./timeline-uDCmwGFT.mjs";
|
|
6
6
|
//#region src/commands/timeline/list.ts
|
|
@@ -10,7 +10,7 @@ var list_default = defineMetabaseCommand({
|
|
|
10
10
|
name: "list",
|
|
11
11
|
description: "List timelines"
|
|
12
12
|
},
|
|
13
|
-
|
|
13
|
+
requires: ["timeline.list"],
|
|
14
14
|
args: {
|
|
15
15
|
...outputFlags,
|
|
16
16
|
...listFlags,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as windowList } from "./window-
|
|
4
|
-
import { r as PulseCompact } from "./pulse-
|
|
5
|
-
import { t as pulseView } from "./pulse-
|
|
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 { it as parseOptionalInteger, t as defineMetabaseCommand } from "./runtime-CwhhhwcB.mjs";
|
|
3
|
+
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
4
|
+
import { r as PulseCompact } from "./pulse-Dz0ocv0l.mjs";
|
|
5
|
+
import { t as pulseView } from "./pulse-x0gFxWfG.mjs";
|
|
6
6
|
//#region src/commands/subscription/list.ts
|
|
7
7
|
const SubscriptionListEnvelope = listEnvelopeSchema(PulseCompact);
|
|
8
8
|
var list_default = defineMetabaseCommand({
|
|
@@ -10,7 +10,7 @@ var list_default = defineMetabaseCommand({
|
|
|
10
10
|
name: "list",
|
|
11
11
|
description: "List dashboard subscriptions"
|
|
12
12
|
},
|
|
13
|
-
|
|
13
|
+
requires: ["pulse.list"],
|
|
14
14
|
args: {
|
|
15
15
|
...outputFlags,
|
|
16
16
|
...listFlags,
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as verifyAndProbe } from "./verify-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { a as renderVersionTag, i as renderUserRole, r as renderUserName } from "./render-CI93iP0I.mjs";
|
|
8
|
-
import { t as openBrowser } from "./process-DBOOrmET.mjs";
|
|
1
|
+
import { C as promptSelect, E as warn, H as outputFlags, Q as ConfigError, S as promptPassword, U as profileFlag, ot as errorMessage, p as renderSummary, t as interruptSignal, w as promptText, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { A as OAUTH_SCOPE, C as ProbedUser, D as OAUTH_CLIENT_NAME, J as normalizeUrl, K as oauthCredentialFromTokens, M as exchangeCode, N as registerClient, O as USER_AGENT, P as tryDiscoverMetadata, S as writeProfile, X as summarizeServer, Y as ServerSummary, b as writeProbeFailure, c as readEnvCredentials, f as consumeKeychainResidualWarning, j as discoverMetadata, k as revokeOAuthCredential, m as keyringFallbackWarning, p as consumeKeyringDowngradeWarning, s as explicitProfileName, t as defineMetabaseCommand, u as DEFAULT_PROFILE, x as writeProbeResult, y as writeOAuthProfile } from "./runtime-CwhhhwcB.mjs";
|
|
3
|
+
import { r as readInput } from "./input-DEvkIjGr.mjs";
|
|
4
|
+
import { t as verifyAndProbe } from "./verify-Dg5YBI0l.mjs";
|
|
5
|
+
import { a as renderUserRole, i as renderUserName, n as renderSkew, o as renderVersionTag } from "./render-Tlz6OCMU.mjs";
|
|
6
|
+
import { t as openBrowser } from "./process-CTrfxxaC.mjs";
|
|
9
7
|
import { z } from "zod";
|
|
10
8
|
import { createServer } from "node:http";
|
|
11
9
|
import { createHash, randomBytes } from "node:crypto";
|
|
@@ -188,7 +186,7 @@ const LoginResult = z.object({
|
|
|
188
186
|
url: z.string(),
|
|
189
187
|
authenticated: z.boolean(),
|
|
190
188
|
user: ProbedUser.nullable(),
|
|
191
|
-
|
|
189
|
+
...ServerSummary.shape
|
|
192
190
|
});
|
|
193
191
|
const VERIFY_STEP_LABEL = Object.freeze({
|
|
194
192
|
user: "current user",
|
|
@@ -224,6 +222,11 @@ const loginView = {
|
|
|
224
222
|
key: "version",
|
|
225
223
|
label: "Version",
|
|
226
224
|
format: (value) => renderVersionTag(value)
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
key: "skew",
|
|
228
|
+
label: "Skew",
|
|
229
|
+
format: (value) => renderSkew(value)
|
|
227
230
|
}
|
|
228
231
|
]
|
|
229
232
|
};
|
|
@@ -233,7 +236,7 @@ var login_default = defineMetabaseCommand({
|
|
|
233
236
|
description: "Log in to a Metabase instance for a profile"
|
|
234
237
|
},
|
|
235
238
|
details: "Interactive login offers browser OAuth (recommended; Metabase v63+) or an API key — older servers fall back to the API key prompt automatically. Browser login opens Metabase, you sign in (password or SSO) and approve, and the CLI stores a refreshing access token. For CI/non-interactive use, supply an API key via --api-key, piped stdin, or $MB_API_KEY (first non-empty wins); any of these skips the browser flow, even on a TTY. The URL comes from --url or $MB_URL, prompted when stdin is a TTY.",
|
|
236
|
-
|
|
239
|
+
requires: ["user.current"],
|
|
237
240
|
args: {
|
|
238
241
|
...outputFlags,
|
|
239
242
|
...profileFlag,
|
|
@@ -344,7 +347,7 @@ async function completeLogin(profileName, url, credential, skipVerify, ctx, pers
|
|
|
344
347
|
url,
|
|
345
348
|
authenticated: false,
|
|
346
349
|
user: null,
|
|
347
|
-
|
|
350
|
+
...summarizeServer(null)
|
|
348
351
|
}, loginView, `Saved credentials for profile "${profileName}" (${url}) without verifying.`, ctx);
|
|
349
352
|
return;
|
|
350
353
|
}
|
|
@@ -371,7 +374,7 @@ async function completeLogin(profileName, url, credential, skipVerify, ctx, pers
|
|
|
371
374
|
url,
|
|
372
375
|
authenticated: true,
|
|
373
376
|
user: result.user,
|
|
374
|
-
|
|
377
|
+
...summarizeServer(result.server)
|
|
375
378
|
}, loginView, `Logged in to ${url} as ${who} (${role}). Saved to profile "${profileName}".${serverClause}`, ctx);
|
|
376
379
|
}
|
|
377
380
|
async function revokeUnsavedOAuthCredential(url, credential) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { C as readProfileCredential, c as resolveProfileName, d as revokeOAuthCredential, t as defineMetabaseCommand, u as USER_AGENT, v as clearProfile, y as consumeKeychainResidualWarning } from "./runtime-DiKyBxOw.mjs";
|
|
1
|
+
import { E as warn, H as outputFlags, U as profileFlag, ot as errorMessage, p as renderSummary, x as promptConfirm } from "./cli.mjs";
|
|
2
|
+
import { O as USER_AGENT, d as clearProfile, f as consumeKeychainResidualWarning, g as readProfileCredential, k as revokeOAuthCredential, l as resolveProfileName, t as defineMetabaseCommand } from "./runtime-CwhhhwcB.mjs";
|
|
4
3
|
import { z } from "zod";
|
|
5
4
|
//#region src/commands/auth/logout.ts
|
|
6
5
|
const LogoutResult = z.object({
|
|
@@ -30,7 +29,7 @@ var logout_default = defineMetabaseCommand({
|
|
|
30
29
|
name: "logout",
|
|
31
30
|
description: "Clear stored credentials for a profile"
|
|
32
31
|
},
|
|
33
|
-
|
|
32
|
+
requires: [],
|
|
34
33
|
args: {
|
|
35
34
|
...outputFlags,
|
|
36
35
|
...profileFlag,
|
|
@@ -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-CHOJQ1uR.mjs").then((mod) => mod.default),
|
|
15
|
+
get: () => import("./get-BJOxfbDP.mjs").then((mod) => mod.default),
|
|
16
|
+
create: () => import("./create-BLxdMJgQ.mjs").then((mod) => mod.default),
|
|
17
|
+
update: () => import("./update-DOeBAoul.mjs").then((mod) => mod.default),
|
|
18
|
+
archive: () => import("./archive-3_KVbxIk.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,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
5
|
-
import { i as ParameterValuesCompact, r as ParameterValues } from "./parameter-DUKR8NXo.mjs";
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.mjs";
|
|
4
|
+
import { i as ParameterValuesCompact, r as ParameterValues } from "./parameter-Celg0wZa.mjs";
|
|
6
5
|
//#region src/output/views/parameter.ts
|
|
7
6
|
const parameterValuesView = {
|
|
8
7
|
compactPick: ParameterValuesCompact,
|
|
@@ -23,7 +22,7 @@ var parameter_values_default = defineMetabaseCommand({
|
|
|
23
22
|
skill: "dashboard",
|
|
24
23
|
purpose: "dashboard parameters, mapping, value sources"
|
|
25
24
|
}],
|
|
26
|
-
|
|
25
|
+
requires: ["dashboard.parameterValues", "dashboard.searchParameterValues"],
|
|
27
26
|
args: {
|
|
28
27
|
...outputFlags,
|
|
29
28
|
...profileFlag,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Q as ConfigError } from "./cli.mjs";
|
|
2
2
|
//#region src/commands/collection/parse-ref.ts
|
|
3
3
|
const SPECIAL_TOKENS = /* @__PURE__ */ new Set(["root", "trash"]);
|
|
4
4
|
const POSITIVE_INTEGER_PATTERN = /^[1-9]\d*$/;
|
|
@@ -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-CwhhhwcB.mjs";
|
|
3
|
+
import { n as windowList } from "./window-DSb1tqSe.mjs";
|
|
4
|
+
import { i as loadVisibleSkills, n as findSkillByName, r as loadAllSkills } from "./skills-PjjRtYqi.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region src/commands/skills/path.ts
|
|
7
7
|
const SkillPath = z.object({
|
|
@@ -24,7 +24,7 @@ var path_default = defineMetabaseCommand({
|
|
|
24
24
|
name: "path",
|
|
25
25
|
description: "Print the absolute path to a skill (or all skills). Useful when an agent needs to read the SKILL.md or its references with the Read tool directly."
|
|
26
26
|
},
|
|
27
|
-
|
|
27
|
+
requires: null,
|
|
28
28
|
args: {
|
|
29
29
|
...outputFlags,
|
|
30
30
|
...listFlags,
|
|
@@ -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,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import "./validate-BWchyW0V.mjs";
|
|
1
|
+
import { Q as ConfigError, et as MetabaseError, m as writeJson } from "./cli.mjs";
|
|
2
|
+
import { R as chainRequestFailure } from "./runtime-CwhhhwcB.mjs";
|
|
3
|
+
import "./validate-EAB-1EkK.mjs";
|
|
5
4
|
//#region src/commands/dashboard/preflight.ts
|
|
6
5
|
async function preflightDashcardCardReferences(client, dashcards) {
|
|
7
6
|
const issues = await client.dashboard.checkCardReferences(dashcards);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { n as tableSelectorFlags, t as parseTableSelectors } from "./selectors-DGDn0Hto.mjs";
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { a as CollectionCompact, r as Collection } from "./collection-BxdPxD38.mjs";
|
|
4
|
+
import { n as tableSelectorFlags, t as parseTableSelectors } from "./selectors-DFNdyhPn.mjs";
|
|
6
5
|
import { z } from "zod";
|
|
7
6
|
//#region src/commands/git-sync/sync-scope.ts
|
|
8
7
|
function isOutsideSyncScope(collection) {
|
|
@@ -37,10 +36,11 @@ var publish_default = defineMetabaseCommand({
|
|
|
37
36
|
description: "Publish tables (and their upstream dependencies) to the Library Data collection"
|
|
38
37
|
},
|
|
39
38
|
details: "Sets each selected table and every upstream table it depends on into the Library Data collection, so they appear first in data pickers and rank up in search. The Library Data collection is resolved automatically (and the Library is created if it doesn't exist yet). Select with --table-ids, --db-ids, or --schemas (each schema id is \"<db-id>:<schema>\", e.g. 1:public); the filters are combined. Publishing does not add the Library Data collection to the git-sync scope — on an instance with remote sync configured, run `mb git-sync add-collection <collection-id>` so exports carry the published tables' metadata.",
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
requires: [
|
|
40
|
+
"library.ensureDataCollectionId",
|
|
41
|
+
"library.publishTables",
|
|
42
|
+
"gitSync.remoteUrl"
|
|
43
|
+
],
|
|
44
44
|
args: {
|
|
45
45
|
...outputFlags,
|
|
46
46
|
...profileFlag,
|
|
@@ -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,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as readBody } from "./body-Cur4NJt9.mjs";
|
|
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 { t as defineMetabaseCommand } from "./runtime-CwhhhwcB.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Q8iNnt-X.mjs";
|
|
5
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import { t as cardQueryView } from "./card-
|
|
8
|
-
import { i as validateQuery, n as getQuerySchemaBundle, r as isMbql5Query, t as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-
|
|
9
|
-
import { o as skipValidateFlag } from "./validate-query-
|
|
10
|
-
import { t as formatQueryResult } from "./query-result-
|
|
5
|
+
import { a as CardQueryResult } from "./card-voh1k4hl.mjs";
|
|
6
|
+
import { t as cardQueryView } from "./card-CEkp1mcI.mjs";
|
|
7
|
+
import { i as validateQuery, n as getQuerySchemaBundle, r as isMbql5Query, t as assertNotLegacyEnvelopeWrappingMbql5 } from "./validate-EAB-1EkK.mjs";
|
|
8
|
+
import { o as skipValidateFlag } from "./validate-query-CQG86147.mjs";
|
|
9
|
+
import { t as formatQueryResult } from "./query-result-E4Q-Gra6.mjs";
|
|
11
10
|
import { z } from "zod";
|
|
12
11
|
//#region src/commands/query.ts
|
|
13
12
|
const QueryBody = z.unknown().describe("MBQL 5, legacy MBQL, or native query body — full MBQL 5 schema: mb query --print-schema");
|
|
@@ -21,7 +20,7 @@ var query_default = defineMetabaseCommand({
|
|
|
21
20
|
skill: "mbql",
|
|
22
21
|
purpose: "body shape, clause rules, and the dry-run loop"
|
|
23
22
|
}],
|
|
24
|
-
|
|
23
|
+
requires: ["dataset.query"],
|
|
25
24
|
args: {
|
|
26
25
|
...outputFlags,
|
|
27
26
|
...profileFlag,
|
|
@@ -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,18 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as formatQueryResult } from "./query-result-DBDwk8TS.mjs";
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.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
|
+
import { t as pipeToStdout } from "./stream-McixcoUl.mjs";
|
|
9
8
|
import { z } from "zod";
|
|
10
|
-
import { Writable } from "node:stream";
|
|
11
|
-
//#region src/output/stream.ts
|
|
12
|
-
async function pipeToStdout(stream) {
|
|
13
|
-
await stream.pipeTo(Writable.toWeb(process.stdout));
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
9
|
//#region src/commands/card/query.ts
|
|
17
10
|
const QueryParameters = z.array(z.unknown());
|
|
18
11
|
var query_default = defineMetabaseCommand({
|
|
@@ -20,7 +13,7 @@ var query_default = defineMetabaseCommand({
|
|
|
20
13
|
name: "query",
|
|
21
14
|
description: "Run a saved card and return results (json envelope, or stream CSV/JSON/XLSX via --export-format)"
|
|
22
15
|
},
|
|
23
|
-
|
|
16
|
+
requires: ["card.exportQuery", "card.query"],
|
|
24
17
|
args: {
|
|
25
18
|
...outputFlags,
|
|
26
19
|
...profileFlag,
|
|
@@ -32,7 +25,7 @@ var query_default = defineMetabaseCommand({
|
|
|
32
25
|
},
|
|
33
26
|
"export-format": {
|
|
34
27
|
type: "string",
|
|
35
|
-
description: `Bypass JSON envelope and stream raw export: ${
|
|
28
|
+
description: `Bypass JSON envelope and stream raw export: ${ExportFormat.options.join(" | ")}`
|
|
36
29
|
},
|
|
37
30
|
parameters: {
|
|
38
31
|
type: "string",
|
|
@@ -85,8 +78,8 @@ function parseParameters(raw) {
|
|
|
85
78
|
return parseJson(raw, QueryParameters, { source: "--parameters" });
|
|
86
79
|
}
|
|
87
80
|
function parseExportFormat(raw) {
|
|
88
|
-
const result =
|
|
89
|
-
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(", ")})`);
|
|
90
83
|
return result.data;
|
|
91
84
|
}
|
|
92
85
|
function applyLimit(result, limit) {
|
|
@@ -1,18 +1,15 @@
|
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.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: {
|
|
9
9
|
name: "remove-collection",
|
|
10
10
|
description: "Unmark a collection as git-synced; cascades to descendants by location prefix"
|
|
11
11
|
},
|
|
12
|
-
|
|
13
|
-
minVersion: 60,
|
|
14
|
-
tokenFeature: "remote_sync"
|
|
15
|
-
},
|
|
12
|
+
requires: ["gitSync.setCollectionSynced"],
|
|
16
13
|
args: {
|
|
17
14
|
...outputFlags,
|
|
18
15
|
...profileFlag,
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import "./cli.mjs";
|
|
1
|
+
import { ct as KNOWN_RANGE } from "./cli.mjs";
|
|
2
|
+
import { Q as Skew } from "./runtime-CwhhhwcB.mjs";
|
|
2
3
|
//#region src/commands/auth/render.ts
|
|
4
|
+
const SKEW_LABEL = Object.freeze({
|
|
5
|
+
supported: "supported",
|
|
6
|
+
"older-than-known": `older than this CLI supports (v${KNOWN_RANGE.min} min)`,
|
|
7
|
+
"newer-than-known": `newer than this CLI knows (v${KNOWN_RANGE.max} max)`,
|
|
8
|
+
unknown: "unknown version"
|
|
9
|
+
});
|
|
3
10
|
function pickProperty(value, key) {
|
|
4
11
|
if (typeof value !== "object" || value === null || !(key in value)) return;
|
|
5
12
|
return Reflect.get(value, key);
|
|
@@ -31,5 +38,9 @@ function renderVersionTag(value) {
|
|
|
31
38
|
function renderTimestamp(value) {
|
|
32
39
|
return typeof value === "string" ? value : "—";
|
|
33
40
|
}
|
|
41
|
+
function renderSkew(value) {
|
|
42
|
+
const parsed = Skew.safeParse(value);
|
|
43
|
+
return parsed.success ? SKEW_LABEL[parsed.data] : "—";
|
|
44
|
+
}
|
|
34
45
|
//#endregion
|
|
35
|
-
export {
|
|
46
|
+
export { renderUserRole as a, renderUserName as i, renderSkew as n, renderVersionTag as o, renderTimestamp as r, renderAuthMethod as t };
|
|
@@ -1,8 +1,9 @@
|
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.mjs";
|
|
4
4
|
import { n as UploadUpdateResult } from "./upload-DAtxBBms.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { n as requireUploadFilePath, t as readCsvFile } from "./upload-Do2PBSeH.mjs";
|
|
6
|
+
import { n as uploadUpdateResultView } from "./upload-C3z5ZaXA.mjs";
|
|
6
7
|
//#region src/commands/upload/replace.ts
|
|
7
8
|
var replace_default = defineMetabaseCommand({
|
|
8
9
|
meta: {
|
|
@@ -10,7 +11,7 @@ var replace_default = defineMetabaseCommand({
|
|
|
10
11
|
description: "Replace an existing uploaded table's rows with a CSV file"
|
|
11
12
|
},
|
|
12
13
|
details: "Replaces the contents of the table with the given id with the rows of the CSV. The table must have been created by a CSV upload and the CSV columns must match.",
|
|
13
|
-
|
|
14
|
+
requires: ["table.replaceCsv"],
|
|
14
15
|
args: {
|
|
15
16
|
...outputFlags,
|
|
16
17
|
...profileFlag,
|
|
@@ -1,15 +1,15 @@
|
|
|
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-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.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: {
|
|
9
9
|
name: "rescan-values",
|
|
10
10
|
description: "Trigger a rescan of cached field values for a database"
|
|
11
11
|
},
|
|
12
|
-
|
|
12
|
+
requires: ["database.rescanValues"],
|
|
13
13
|
args: {
|
|
14
14
|
...outputFlags,
|
|
15
15
|
...profileFlag,
|
|
@@ -1,25 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as parseId } from "./parse-id-
|
|
4
|
-
import { a as TransformJobRunResult } from "./transform-job-
|
|
1
|
+
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.mjs";
|
|
4
|
+
import { a as TransformJobRunResult } from "./transform-job-CCguL6LP.mjs";
|
|
5
5
|
//#region src/commands/transform-job/run.ts
|
|
6
6
|
const transformJobRunResultView = {
|
|
7
7
|
compactPick: TransformJobRunResult,
|
|
8
|
-
tableColumns: [
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
tableColumns: [
|
|
9
|
+
{
|
|
10
|
+
key: "started",
|
|
11
|
+
label: "Started"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
key: "run_id",
|
|
15
|
+
label: "Run"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: "message",
|
|
19
|
+
label: "Message"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
15
22
|
};
|
|
23
|
+
function runSummary(id, result) {
|
|
24
|
+
if (result.started === null) return `Requested a run of transform job ${id}; this server does not say whether one started.`;
|
|
25
|
+
if (!result.started) return `Transform job ${id} was not started (already running, or it resolves to no transforms).`;
|
|
26
|
+
if (result.run_id === null) return `Started transform job ${id}.`;
|
|
27
|
+
return `Started transform job ${id} as run ${result.run_id}.`;
|
|
28
|
+
}
|
|
16
29
|
var run_default = defineMetabaseCommand({
|
|
17
30
|
meta: {
|
|
18
31
|
name: "run",
|
|
19
32
|
description: "Trigger a transform job run by id"
|
|
20
33
|
},
|
|
21
34
|
details: "Starts the job and returns immediately. The job runs every transform carrying one of its tags, plus those transforms' dependencies. Dependencies that are already fresh are skipped by default; --force-refresh re-runs the whole plan including them.",
|
|
22
|
-
|
|
35
|
+
requires: ["transformJob.run"],
|
|
23
36
|
args: {
|
|
24
37
|
...outputFlags,
|
|
25
38
|
...profileFlag,
|
|
@@ -40,8 +53,7 @@ var run_default = defineMetabaseCommand({
|
|
|
40
53
|
async run({ args, ctx, getClient }) {
|
|
41
54
|
const id = parseId(args.id);
|
|
42
55
|
const result = await (await getClient()).transformJob.run(id, { run_all: args["force-refresh"] === true });
|
|
43
|
-
|
|
44
|
-
renderSummary(result, transformJobRunResultView, summary, ctx);
|
|
56
|
+
renderSummary(result, transformJobRunResultView, runSummary(id, result), ctx);
|
|
45
57
|
}
|
|
46
58
|
});
|
|
47
59
|
//#endregion
|
|
@@ -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-CwhhhwcB.mjs";
|
|
3
|
+
import { t as parseId } from "./parse-id-CYZAIB58.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 };
|