@metabase/cli 0.2.1-alpha.trust-system-ca.541e4e0 → 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-Cak5jykn.mjs → append-DFzQRPMd.mjs} +7 -12
- package/dist/{archive-BVY_jD_g.mjs → archive-4tmm946K.mjs} +8 -17
- package/dist/{archive-CytCvQpn.mjs → archive-B6eXiyER.mjs} +7 -13
- package/dist/{archive-op9pJRpg.mjs → archive-BxNPHxOY.mjs} +7 -13
- package/dist/archive-ByvA49Kz.mjs +34 -0
- package/dist/{archive-DfbI8DRB.mjs → archive-C7w49Grr.mjs} +7 -16
- package/dist/{archive-CPgWNCG3.mjs → archive-Cd29QC0c.mjs} +7 -13
- package/dist/{archive-BIEnBoE8.mjs → archive-ChORH5JH.mjs} +7 -13
- package/dist/archive-CwAdlv63.mjs +33 -0
- package/dist/{archive-CaKhG58H.mjs → archive-Dr9Xnx_Z.mjs} +7 -15
- package/dist/{archive-CjnCAM61.mjs → archive-gid9Y09v.mjs} +8 -17
- package/dist/{archive-BMbx6lt8.mjs → archive-lQqs13Uz.mjs} +7 -13
- package/dist/auth-Dltxua89.mjs +19 -0
- package/dist/{body-BW_CiL1d.mjs → body-Cur4NJt9.mjs} +5 -8
- package/dist/{body-flags-CgHgJBRC.mjs → body-flags-AqKpN01Y.mjs} +1 -2
- package/dist/{branches-gVRwKne4.mjs → branches-DchlyU0i.mjs} +7 -13
- package/dist/{cancel-CBOJSslz.mjs → cancel-BMQa5R1Z.mjs} +5 -12
- package/dist/{cancel-task-Djancczz.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 +664 -83
- package/dist/client-BqhzKdLM.mjs +2194 -0
- package/dist/collection-CGoVLvcD.mjs +58 -0
- package/dist/collection-CY0AB99E.mjs +20 -0
- package/dist/{collection-C52Ndi_O.mjs → collection-CfulNRBG.mjs} +16 -61
- package/dist/{collection-namespace-w1y5D0Uh.mjs → collection-namespace-GwydWBF3.mjs} +3 -5
- package/dist/{create-VA58AF6A.mjs → create-BNQ_DytP.mjs} +8 -15
- package/dist/{create-CnT-L03B.mjs → create-BOLwWt8Q.mjs} +9 -17
- package/dist/{create-BkvdOecg.mjs → create-Beh-2uoN.mjs} +8 -15
- package/dist/{create-CvptjYVb.mjs → create-C79vErX0.mjs} +9 -20
- package/dist/{create-C_fyIHZU.mjs → create-CAQV2g6V.mjs} +9 -17
- package/dist/{create-q2QqkwEN.mjs → create-CAWytBE5.mjs} +9 -17
- package/dist/{create-CGsTL5aE.mjs → create-CCh_LyW9.mjs} +8 -15
- package/dist/{create-ldvT5L0W.mjs → create-CD008jdE.mjs} +13 -28
- package/dist/create-CHQx7jq4.mjs +45 -0
- package/dist/create-DF4QtgDL.mjs +44 -0
- package/dist/{create-D_eiLBqR.mjs → create-DJmXXQoq.mjs} +10 -18
- package/dist/{create-DbHIjWio.mjs → create-DV-Ln5Mo.mjs} +8 -15
- package/dist/create-branch-CYo6jZth.mjs +35 -0
- package/dist/{create-DZBtbGqj.mjs → create-i14Wv3Tj.mjs} +8 -15
- package/dist/{create-CnqGhtuF.mjs → create-tQbnuz-I.mjs} +8 -15
- package/dist/{create-BRK8TBzp.mjs → create-zeveFdnd.mjs} +6 -11
- package/dist/cron-LKRffEC-.mjs +5 -0
- package/dist/{csv-C3O1wTQ8.mjs → csv-B2Jgb1GM.mjs} +7 -19
- package/dist/{current-task-CZsZPe0o.mjs → current-task-MpBFGttd.mjs} +7 -12
- package/dist/{dashboard-BLihjDXg.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-BmT5C6eK.mjs → delete-B8e01xAG.mjs} +6 -11
- package/dist/{delete-Dkfu4e5K.mjs → delete-BApOjQvl.mjs} +6 -11
- package/dist/{delete-JeRzVISE.mjs → delete-Ck0q4Dzp.mjs} +6 -11
- package/dist/{delete-cF97pfFX.mjs → delete-DFmX7jTp.mjs} +6 -11
- package/dist/{delete-DgI03U43.mjs → delete-Ob06PPie.mjs} +6 -11
- package/dist/{delete-runtime-DiqKOEqi.mjs → delete-runtime-D74s6vhu.mjs} +6 -13
- package/dist/{delete-table-dnQs_Twm.mjs → delete-table-DuyhGrvA.mjs} +6 -11
- package/dist/{dependencies-BsMwFSxP.mjs → dependencies-Bj3QrGIm.mjs} +10 -13
- package/dist/dirty-DNYoM6Bp.mjs +31 -0
- package/dist/document-BbskZPTT.mjs +19 -0
- package/dist/{document-D4zB-5a0.mjs → document-Cd2mmqCp.mjs} +5 -33
- package/dist/document-D6OybtP2.mjs +29 -0
- package/dist/{eid-60sCZhQV.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-CaosV7j8.mjs → get-00lyLv6R.mjs} +7 -11
- package/dist/{get-DxAx-2C0.mjs → get-B7sMgsFs.mjs} +7 -11
- package/dist/get-B_xdF1kq.mjs +31 -0
- package/dist/{get-B_EinsrO.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-L8c_h5EP.mjs → get-CvI--9S_.mjs} +16 -12
- package/dist/{get-CRXEqpar.mjs → get-DRvsATp-.mjs} +7 -11
- package/dist/{get-BNBRMNtC.mjs → get-DY03Azx9.mjs} +6 -11
- package/dist/get-DYO1kywc.mjs +32 -0
- package/dist/{get-CKnHNxak.mjs → get-D_h-G9bn.mjs} +7 -11
- package/dist/get-DdsoHaKH.mjs +31 -0
- package/dist/{get-Ct5TnofS.mjs → get-DkWO0EI0.mjs} +7 -11
- package/dist/{get-fGOQA0GF.mjs → get-Dmj9Ygz1.mjs} +7 -17
- package/dist/get-DmpB6J9g.mjs +31 -0
- package/dist/{get-Csa7Dz36.mjs → get-Dn9ZiSZr.mjs} +8 -16
- package/dist/{get-run-DqwPQRMJ.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-D2-H-QKX.mjs → input-DH9i67x_.mjs} +6 -11
- package/dist/{is-dirty-B87YMLV2.mjs → is-dirty-DYeJYhBz.mjs} +4 -8
- package/dist/{items-DrP1b4Qj.mjs → items-CQlPXBXE.mjs} +13 -29
- package/dist/key-BEhqIzIQ.mjs +10 -0
- package/dist/{library-bUBWlweP.mjs → library-Bsm5KsFF.mjs} +6 -9
- package/dist/library-ClLgrAXy.mjs +19 -0
- package/dist/library-DfYAT2Ep.mjs +21 -0
- package/dist/{list-B8zgT05M.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-DCl7zHCp.mjs → list-CQwOgIlj.mjs} +10 -24
- package/dist/list-DE9FM957.mjs +28 -0
- package/dist/{list-F_hMRbsa.mjs → list-DF2rvoO1.mjs} +22 -14
- package/dist/list-DMKDsBRd.mjs +38 -0
- package/dist/{list-TibX1b8i.mjs → list-UhpKG6_m.mjs} +15 -15
- package/dist/{login-C5Ug3BVC.mjs → login-CGHeSjlP.mjs} +47 -52
- package/dist/{logout-B_N1N2DV.mjs → logout-DAxOlbv4.mjs} +7 -12
- package/dist/measure-4P0bOlZ3.mjs +29 -0
- package/dist/measure-BsYv0p26.mjs +22 -0
- package/dist/{measure-ByY4U3ZK.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-ZXKECrJk.mjs → parameter-values-CJTdqd8c.mjs} +17 -11
- package/dist/{parse-enum-D5h-JePs.mjs → parse-enum-D0Jfm_Bz.mjs} +2 -4
- package/dist/{parse-id-ySsF4nA3.mjs → parse-id-C_jmKFaa.mjs} +2 -4
- package/dist/{parse-ref-Ds8VxdKb.mjs → parse-ref-ibKVB0J4.mjs} +3 -5
- package/dist/{path-C6ucgeYs.mjs → path-B5gHvrYL.mjs} +8 -9
- package/dist/{poll-CgzD9_RH.mjs → poll-75SvT7Zv.mjs} +11 -15
- package/dist/predicates-Bkm2IoeX.mjs +170 -0
- package/dist/preflight-YpPQo-sa.mjs +29 -0
- package/dist/{process-jjR_DX5G.mjs → process-DBOOrmET.mjs} +4 -6
- package/dist/{publish-F-QbufXr.mjs → publish-DijrxaCW.mjs} +29 -24
- package/dist/pulse-BmsDenXm.mjs +133 -0
- package/dist/pulse-DhG6I9mI.mjs +57 -0
- package/dist/{query-DX4r0-uz.mjs → query-BbqECzmF.mjs} +20 -44
- package/dist/{query-DGBzATpV.mjs → query-Dc__-KJH.mjs} +13 -24
- package/dist/{query-result-D5J3Dlpn.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-xlQv9yl_.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-opQkYIaT.mjs → run-DdGJ544X.mjs} +8 -18
- package/dist/runs-CUNWiidL.mjs +38 -0
- package/dist/runtime-DiKyBxOw.mjs +1007 -0
- package/dist/{schema-tables-8FjtkFIt.mjs → schema-tables-CV386fnC.mjs} +10 -14
- package/dist/{schemas-L9kMsEJL.mjs → schemas-DM-UqZBQ.mjs} +8 -12
- package/dist/search-DFBwUc6d.mjs +44 -0
- package/dist/{search-Csbb-u-_.mjs → search-DmGScXs8.mjs} +14 -73
- package/dist/segment-BzUGM2Fr.mjs +22 -0
- package/dist/segment-C_gl5ag6.mjs +29 -0
- package/dist/{segment-eeGhLo7_.mjs → segment-OsrbUDzw.mjs} +3 -30
- package/dist/{selectors-D34gXjQa.mjs → selectors-DGDn0Hto.mjs} +4 -6
- package/dist/send-CVxxEpDB.mjs +49 -0
- package/dist/{set-CfwncOI_.mjs → set-DFolTjbd.mjs} +10 -20
- package/dist/{set-active-gP4mjVDY.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-DvSQOPWg.mjs → skills--vK6J-e4.mjs} +4 -6
- package/dist/{skills-aRQfUvCq.mjs → skills-DTCrMcix.mjs} +13 -19
- package/dist/{snippet-CdjEhVCT.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-BsEPyknG.mjs → status-BhswxJL1.mjs} +23 -23
- package/dist/{status-D1vtL5eW.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-3onHpwcb.mjs → table-CeeTJgQb.mjs} +4 -38
- package/dist/table-CsIJNPFf.mjs +37 -0
- package/dist/table-DYoC1kPn.mjs +18 -0
- package/dist/{timeline-2ShuGr4f.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-DNSMm1dV.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-CvE0MBBo.mjs → transform-job-DRrK28IH.mjs} +14 -41
- package/dist/{transform-tag-xdxjlDcD.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-BQkmsPUR.mjs → transforms-oU4zizbO.mjs} +10 -13
- package/dist/{tree-CtufTBZY.mjs → tree-CH-f3bjP.mjs} +6 -10
- package/dist/{unpublish-CnLXPYR8.mjs → unpublish-BUl9RU5C.mjs} +7 -18
- package/dist/{update-BC-MLtiG.mjs → update-BCS5FxKr.mjs} +11 -19
- package/dist/{update-CqQj32ol.mjs → update-BZPllQoR.mjs} +9 -16
- package/dist/{update-DmQJqGvX.mjs → update-BiFDBcEH.mjs} +9 -16
- package/dist/update-BzMDeZiU.mjs +50 -0
- package/dist/{update-Dt9-3Tqf.mjs → update-C4YJQFDS.mjs} +9 -16
- package/dist/{update-C4P_YtGW.mjs → update-CHNSUHK4.mjs} +9 -16
- package/dist/{update-bz-FKwuR.mjs → update-CO4m4wH3.mjs} +10 -21
- package/dist/{update-BZxLyBVm.mjs → update-CVPAwJaH.mjs} +10 -18
- package/dist/{update-dJ2mlCXm.mjs → update-CmDTljK-.mjs} +9 -16
- package/dist/{update-DcYwxb-R.mjs → update-CvOO8TED.mjs} +9 -17
- package/dist/{update-QNuvGuS3.mjs → update-D-NE60AV.mjs} +9 -16
- package/dist/{update-DshCe-bl.mjs → update-Nfi44RrE.mjs} +10 -18
- package/dist/update-bD_Jh5-s.mjs +51 -0
- package/dist/{update-D6blsNGY.mjs → update-cYkvbqK8.mjs} +9 -16
- package/dist/update-dashcard-C3TuYO_k.mjs +50 -0
- package/dist/{update-CE-Z6E8V.mjs → update-tX9mKBN_.mjs} +10 -21
- package/dist/{upgrade--_g3bacj.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-DBKkosBq.mjs → uuid-BJkDWj9p.mjs} +5 -7
- package/dist/validate-BWchyW0V.mjs +1469 -0
- package/dist/{validate-query-tECK019A.mjs → validate-query-DaGYSmpQ.mjs} +4 -5
- package/dist/{values-BAhMnVh6.mjs → values-Dxf1JEoA.mjs} +8 -13
- package/dist/verify-K96rItG5.mjs +89 -0
- package/dist/{wait-BJ_87Yz0.mjs → wait-DoMDH226.mjs} +10 -18
- package/dist/{wait-flags-DEn-3mjb.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 +30 -25
- package/skill-data/dashboard/SKILL.md +6 -2
- package/skill-data/document/SKILL.md +2 -2
- 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-BZAVH5Wk.mjs +0 -60
- package/dist/add-collection-DByJYvGO.mjs +0 -9
- package/dist/auth-XfuGXI2K.mjs +0 -22
- package/dist/capabilities-CSjeWyLV.mjs +0 -684
- package/dist/card-B_kiDDil.mjs +0 -26
- package/dist/cards-23FtfL4S.mjs +0 -38
- package/dist/cli.d.mts +0 -1
- package/dist/collection-DNzM3u7n.mjs +0 -23
- package/dist/command-augment-D9pI9Vbh.mjs +0 -11
- package/dist/create-branch-BtqOfSRb.mjs +0 -57
- package/dist/dashboard-kb1oz7Z3.mjs +0 -35
- package/dist/database-BOqzcexD.mjs +0 -61
- package/dist/db-CHnqeJCo.mjs +0 -27
- package/dist/dirty-CN6sGKX3.mjs +0 -35
- package/dist/document-Y_DZNi4D.mjs +0 -22
- package/dist/events-CSZEAgs0.mjs +0 -44
- package/dist/export-CAxUJer6.mjs +0 -103
- package/dist/field-DAB2gImv.mjs +0 -21
- package/dist/fields-CLWtUlpR.mjs +0 -37
- package/dist/get-B22wjDxr.mjs +0 -38
- package/dist/get-BIHtWl2x.mjs +0 -35
- package/dist/get-B_QKP1vR.mjs +0 -35
- package/dist/get-Ca30K5_W.mjs +0 -35
- package/dist/get-DTjeTNGb.mjs +0 -49
- package/dist/get-DU8V-7S2.mjs +0 -35
- package/dist/get-H3X5e5-Y.mjs +0 -41
- package/dist/git-sync-BhhdNjq5.mjs +0 -31
- package/dist/has-remote-changes-D0ZIBHSk.mjs +0 -67
- package/dist/import-BcIcDPl9.mjs +0 -94
- package/dist/is-dirty-CXTS25Tk.mjs +0 -8
- package/dist/key-GP1gxZZD.mjs +0 -17
- package/dist/list-B-_PTqKw.mjs +0 -53
- package/dist/list-B8212eUr.mjs +0 -39
- package/dist/list-BhCahBEO.mjs +0 -39
- package/dist/list-CWQYaCp8.mjs +0 -31
- package/dist/list-Cbhx7N_t.mjs +0 -31
- package/dist/list-CoXeBm66.mjs +0 -49
- package/dist/list-D1pHJX7w.mjs +0 -31
- package/dist/list-DhT42e0q.mjs +0 -31
- package/dist/list-GeqRHx8g.mjs +0 -31
- package/dist/list-MPePXEWe.mjs +0 -31
- package/dist/list-TJjExx6e.mjs +0 -31
- package/dist/list-TQghfc-u.mjs +0 -39
- package/dist/listing-wFZuS5li.mjs +0 -10
- package/dist/measure-D9rKeA6Z.mjs +0 -25
- package/dist/paginate-FVZUxL4J.mjs +0 -49
- package/dist/poll-task-DF9xJl13.mjs +0 -194
- package/dist/preflight-Co2grgX_.mjs +0 -90
- package/dist/prompt-BSqji7Fo.mjs +0 -52
- package/dist/remove-collection-C-msSyas.mjs +0 -42
- package/dist/requests-COuEPJxE.mjs +0 -96
- package/dist/rescan-values-BC2SVtY6.mjs +0 -40
- package/dist/resolve-8iT-dXgX.mjs +0 -91
- package/dist/revision-message-flag-vt_V8ACy.mjs +0 -11
- package/dist/run-Cg6k3kHo.mjs +0 -135
- package/dist/runs-Cbqm1HYG.mjs +0 -53
- package/dist/runtime-MGH96fhp.mjs +0 -1695
- package/dist/segment-DCeafJwX.mjs +0 -25
- package/dist/setting-D5Y9sJha.mjs +0 -20
- package/dist/setting-DADuiF5W.mjs +0 -55
- package/dist/setup-D9HNfS7W.mjs +0 -71
- package/dist/snippet-CwRiMCfE.mjs +0 -22
- package/dist/stash-C_k1uZlf.mjs +0 -108
- package/dist/summary-h20AjhcO.mjs +0 -40
- package/dist/sync-schema-D67cYLhd.mjs +0 -54
- package/dist/sync-scope-CKx6xeF6.mjs +0 -55
- package/dist/table-CmKFWPvJ.mjs +0 -21
- package/dist/timeline-1ZphX3zj.mjs +0 -24
- package/dist/timeline-event-C6aKZ4EO.mjs +0 -22
- package/dist/transform-CvsBOTqB.mjs +0 -31
- package/dist/transform-job-D_8Kp772.mjs +0 -25
- package/dist/transform-tag-DhDnvbmq.mjs +0 -21
- package/dist/update-dashcard-CQP-qd6a.mjs +0 -73
- package/dist/upload-BOFc_eZD.mjs +0 -16
- package/dist/validate-Bpqt3ntH.mjs +0 -1496
- package/dist/verify-RLb2DoOX.mjs +0 -79
package/dist/list-GeqRHx8g.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
|
|
4
|
-
import { TransformJob, TransformJobCompact, transformJobView } from "./transform-job-CvE0MBBo.mjs";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
//#region src/commands/transform-job/list.ts
|
|
8
|
-
const TransformJobApiList = z.array(TransformJob);
|
|
9
|
-
const TransformJobListEnvelope = listEnvelopeSchema(TransformJobCompact);
|
|
10
|
-
var list_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "list",
|
|
13
|
-
description: "List transform jobs"
|
|
14
|
-
},
|
|
15
|
-
capabilities: { minVersion: 59 },
|
|
16
|
-
args: {
|
|
17
|
-
...outputFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags
|
|
20
|
-
},
|
|
21
|
-
outputSchema: TransformJobListEnvelope,
|
|
22
|
-
examples: ["mb transform-job list", "mb transform-job list --json"],
|
|
23
|
-
async run({ ctx, getClient }) {
|
|
24
|
-
const client = await getClient();
|
|
25
|
-
const items = await client.requestParsed(TransformJobApiList, "/api/transform-job");
|
|
26
|
-
renderList(wrapList(items), transformJobView, ctx);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
export { list_default as default };
|
package/dist/list-MPePXEWe.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
|
|
4
|
-
import { TransformTag, TransformTagCompact, transformTagView } from "./transform-tag-xdxjlDcD.mjs";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
//#region src/commands/transform-tag/list.ts
|
|
8
|
-
const TransformTagApiList = z.array(TransformTag);
|
|
9
|
-
const TransformTagListEnvelope = listEnvelopeSchema(TransformTagCompact);
|
|
10
|
-
var list_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "list",
|
|
13
|
-
description: "List transform tags"
|
|
14
|
-
},
|
|
15
|
-
capabilities: { minVersion: 59 },
|
|
16
|
-
args: {
|
|
17
|
-
...outputFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags
|
|
20
|
-
},
|
|
21
|
-
outputSchema: TransformTagListEnvelope,
|
|
22
|
-
examples: ["mb transform-tag list", "mb transform-tag list --json"],
|
|
23
|
-
async run({ ctx, getClient }) {
|
|
24
|
-
const client = await getClient();
|
|
25
|
-
const items = await client.requestParsed(TransformTagApiList, "/api/transform-tag");
|
|
26
|
-
renderList(wrapList(items), transformTagView, ctx);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
export { list_default as default };
|
package/dist/list-TJjExx6e.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
|
|
4
|
-
import { Segment, SegmentCompact, segmentView } from "./segment-eeGhLo7_.mjs";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
//#region src/commands/segment/list.ts
|
|
8
|
-
const SegmentApiList = z.array(Segment);
|
|
9
|
-
const SegmentListEnvelope = listEnvelopeSchema(SegmentCompact);
|
|
10
|
-
var list_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "list",
|
|
13
|
-
description: "List segments"
|
|
14
|
-
},
|
|
15
|
-
capabilities: { minVersion: 58 },
|
|
16
|
-
args: {
|
|
17
|
-
...outputFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags
|
|
20
|
-
},
|
|
21
|
-
outputSchema: SegmentListEnvelope,
|
|
22
|
-
examples: ["mb segment list", "mb segment list --json"],
|
|
23
|
-
async run({ ctx, getClient }) {
|
|
24
|
-
const client = await getClient();
|
|
25
|
-
const items = await client.requestParsed(SegmentApiList, "/api/segment");
|
|
26
|
-
renderList(wrapList(items), segmentView, ctx);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
export { list_default as default };
|
package/dist/list-TQghfc-u.mjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
|
|
4
|
-
import { Timeline, TimelineCompact, timelineView } from "./timeline-2ShuGr4f.mjs";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
//#region src/commands/timeline/list.ts
|
|
8
|
-
const TimelineApiList = z.array(Timeline);
|
|
9
|
-
const TimelineListEnvelope = listEnvelopeSchema(TimelineCompact);
|
|
10
|
-
var list_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "list",
|
|
13
|
-
description: "List timelines"
|
|
14
|
-
},
|
|
15
|
-
capabilities: { minVersion: 58 },
|
|
16
|
-
args: {
|
|
17
|
-
...outputFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags,
|
|
20
|
-
archived: {
|
|
21
|
-
type: "boolean",
|
|
22
|
-
description: "Show archived timelines instead of active ones"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
outputSchema: TimelineListEnvelope,
|
|
26
|
-
examples: [
|
|
27
|
-
"mb timeline list",
|
|
28
|
-
"mb timeline list --json",
|
|
29
|
-
"mb timeline list --archived --json"
|
|
30
|
-
],
|
|
31
|
-
async run({ args, ctx, getClient }) {
|
|
32
|
-
const client = await getClient();
|
|
33
|
-
const items = await client.requestParsed(TimelineApiList, "/api/timeline", { query: { archived: args.archived || void 0 } });
|
|
34
|
-
renderList(wrapList(items), timelineView, ctx);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
//#endregion
|
|
39
|
-
export { list_default as default };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/collection/listing.ts
|
|
4
|
-
const COLLECTIONS_PATH = "/api/collection";
|
|
5
|
-
async function fetchCollectionsWithLibrary(client, itemSchema) {
|
|
6
|
-
return await client.requestParsed(z.array(itemSchema), COLLECTIONS_PATH, { query: { "include-library": true } });
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { COLLECTIONS_PATH, fetchCollectionsWithLibrary };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import "./command-augment-D9pI9Vbh.mjs";
|
|
2
|
-
import { defineCommandGroup } from "./group-CILtQqCL.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/commands/measure/index.ts
|
|
5
|
-
var measure_default = defineCommandGroup({
|
|
6
|
-
name: "measure",
|
|
7
|
-
description: "Manage Metabase measures",
|
|
8
|
-
skills: [{
|
|
9
|
-
skill: "mbql",
|
|
10
|
-
purpose: "the definition aggregation"
|
|
11
|
-
}, {
|
|
12
|
-
skill: "data-workflow",
|
|
13
|
-
purpose: "define reusable measures"
|
|
14
|
-
}],
|
|
15
|
-
subCommands: {
|
|
16
|
-
list: () => import("./list-Cbhx7N_t.mjs").then((mod) => mod.default),
|
|
17
|
-
get: () => import("./get-B_QKP1vR.mjs").then((mod) => mod.default),
|
|
18
|
-
create: () => import("./create-q2QqkwEN.mjs").then((mod) => mod.default),
|
|
19
|
-
update: () => import("./update-DshCe-bl.mjs").then((mod) => mod.default),
|
|
20
|
-
archive: () => import("./archive-BVY_jD_g.mjs").then((mod) => mod.default)
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
//#endregion
|
|
25
|
-
export { measure_default as default };
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/paginate.ts
|
|
4
|
-
const DEFAULT_PAGE_SIZE = 50;
|
|
5
|
-
async function* paginate(client, path, itemSchema, opts = {}) {
|
|
6
|
-
const envelopeSchema = paginatedEnvelopeSchema(itemSchema);
|
|
7
|
-
const pageSize = opts.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
8
|
-
const baseQuery = opts.query ?? {};
|
|
9
|
-
const cap = opts.max;
|
|
10
|
-
let offset = 0;
|
|
11
|
-
let yielded = 0;
|
|
12
|
-
while (true) {
|
|
13
|
-
const remaining = cap === void 0 ? Number.POSITIVE_INFINITY : cap - yielded;
|
|
14
|
-
if (remaining <= 0) return;
|
|
15
|
-
const requested = Math.min(pageSize, remaining);
|
|
16
|
-
const envelope = await client.requestParsed(envelopeSchema, path, {
|
|
17
|
-
query: {
|
|
18
|
-
...baseQuery,
|
|
19
|
-
limit: requested,
|
|
20
|
-
offset
|
|
21
|
-
},
|
|
22
|
-
...opts.signal !== void 0 && { signal: opts.signal }
|
|
23
|
-
});
|
|
24
|
-
for (const item of envelope.data) {
|
|
25
|
-
yield item;
|
|
26
|
-
yielded += 1;
|
|
27
|
-
if (cap !== void 0 && yielded >= cap) return;
|
|
28
|
-
}
|
|
29
|
-
if (envelope.data.length < requested) return;
|
|
30
|
-
if (envelope.total !== void 0 && envelope.total !== null && offset + envelope.data.length >= envelope.total) return;
|
|
31
|
-
offset += envelope.data.length;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async function collectPaginated(client, path, itemSchema, opts = {}) {
|
|
35
|
-
const items = [];
|
|
36
|
-
for await (const item of paginate(client, path, itemSchema, opts)) items.push(item);
|
|
37
|
-
return items;
|
|
38
|
-
}
|
|
39
|
-
function paginatedEnvelopeSchema(itemSchema) {
|
|
40
|
-
return z.object({
|
|
41
|
-
data: z.array(itemSchema),
|
|
42
|
-
total: z.number().int().nonnegative().nullable().optional(),
|
|
43
|
-
limit: z.number().int().nonnegative().optional(),
|
|
44
|
-
offset: z.number().int().nonnegative().optional()
|
|
45
|
-
}).passthrough();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { collectPaginated };
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { parseJsonOrPlain } from "./runtime-MGH96fhp.mjs";
|
|
2
|
-
import { pollUntil } from "./poll-CgzD9_RH.mjs";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
|
|
5
|
-
//#region src/domain/git-sync.ts
|
|
6
|
-
const SyncTaskStatus = z.enum([
|
|
7
|
-
"running",
|
|
8
|
-
"successful",
|
|
9
|
-
"errored",
|
|
10
|
-
"cancelled",
|
|
11
|
-
"timed-out",
|
|
12
|
-
"conflict"
|
|
13
|
-
]);
|
|
14
|
-
const SyncTaskType = z.enum(["import", "export"]);
|
|
15
|
-
const SyncTask = z.object({
|
|
16
|
-
id: z.number().int().positive(),
|
|
17
|
-
sync_task_type: SyncTaskType,
|
|
18
|
-
status: SyncTaskStatus,
|
|
19
|
-
progress: z.number().min(0).max(1).nullable(),
|
|
20
|
-
started_at: z.string(),
|
|
21
|
-
ended_at: z.string().nullable().optional(),
|
|
22
|
-
last_progress_report_at: z.string().nullable().optional(),
|
|
23
|
-
version: z.string().nullable().optional(),
|
|
24
|
-
initiated_by: z.number().int().positive().nullable().optional(),
|
|
25
|
-
cancelled: z.boolean().nullable().optional(),
|
|
26
|
-
error_message: z.string().nullable().optional(),
|
|
27
|
-
conflicts: z.array(z.string()).nullable().optional()
|
|
28
|
-
}).loose();
|
|
29
|
-
const SyncTaskCompact = SyncTask.pick({
|
|
30
|
-
id: true,
|
|
31
|
-
sync_task_type: true,
|
|
32
|
-
status: true,
|
|
33
|
-
progress: true,
|
|
34
|
-
version: true,
|
|
35
|
-
error_message: true
|
|
36
|
-
}).strip();
|
|
37
|
-
const syncTaskView = {
|
|
38
|
-
compactPick: SyncTaskCompact,
|
|
39
|
-
tableColumns: [
|
|
40
|
-
{
|
|
41
|
-
key: "id",
|
|
42
|
-
label: "ID"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
key: "sync_task_type",
|
|
46
|
-
label: "Type"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
key: "status",
|
|
50
|
-
label: "Status"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "progress",
|
|
54
|
-
label: "Progress"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "version",
|
|
58
|
-
label: "Version"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
key: "error_message",
|
|
62
|
-
label: "Error"
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
};
|
|
66
|
-
const SyncDirtyItem = z.object({
|
|
67
|
-
id: z.number().int(),
|
|
68
|
-
name: z.string().nullable(),
|
|
69
|
-
model: z.string(),
|
|
70
|
-
sync_status: z.string(),
|
|
71
|
-
collection_id: z.number().int().positive().nullable().optional(),
|
|
72
|
-
description: z.string().nullable().optional(),
|
|
73
|
-
display: z.string().nullable().optional(),
|
|
74
|
-
query_type: z.string().nullable().optional(),
|
|
75
|
-
table_id: z.number().int().positive().nullable().optional(),
|
|
76
|
-
table_name: z.string().nullable().optional()
|
|
77
|
-
}).loose();
|
|
78
|
-
const SyncDirtyItemCompact = SyncDirtyItem.pick({
|
|
79
|
-
id: true,
|
|
80
|
-
name: true,
|
|
81
|
-
model: true,
|
|
82
|
-
sync_status: true,
|
|
83
|
-
collection_id: true
|
|
84
|
-
}).strip();
|
|
85
|
-
const syncDirtyItemView = {
|
|
86
|
-
compactPick: SyncDirtyItemCompact,
|
|
87
|
-
tableColumns: [
|
|
88
|
-
{
|
|
89
|
-
key: "id",
|
|
90
|
-
label: "ID"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
key: "model",
|
|
94
|
-
label: "Model"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
key: "name",
|
|
98
|
-
label: "Name"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
key: "sync_status",
|
|
102
|
-
label: "Status"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
key: "collection_id",
|
|
106
|
-
label: "Collection"
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
//#endregion
|
|
112
|
-
//#region src/commands/git-sync/poll-task.ts
|
|
113
|
-
const TERMINAL_STATUSES = new Set([
|
|
114
|
-
"successful",
|
|
115
|
-
"errored",
|
|
116
|
-
"cancelled",
|
|
117
|
-
"timed-out",
|
|
118
|
-
"conflict"
|
|
119
|
-
]);
|
|
120
|
-
const FAILURE_STATUSES = new Set([
|
|
121
|
-
"errored",
|
|
122
|
-
"timed-out",
|
|
123
|
-
"conflict"
|
|
124
|
-
]);
|
|
125
|
-
const REMOTE_SYNC_PATHS = {
|
|
126
|
-
currentTask: "/api/ee/remote-sync/current-task",
|
|
127
|
-
cancelTask: "/api/ee/remote-sync/current-task/cancel",
|
|
128
|
-
isDirty: "/api/ee/remote-sync/is-dirty",
|
|
129
|
-
hasRemoteChanges: "/api/ee/remote-sync/has-remote-changes",
|
|
130
|
-
dirty: "/api/ee/remote-sync/dirty",
|
|
131
|
-
import: "/api/ee/remote-sync/import",
|
|
132
|
-
export: "/api/ee/remote-sync/export",
|
|
133
|
-
stash: "/api/ee/remote-sync/stash",
|
|
134
|
-
branches: "/api/ee/remote-sync/branches",
|
|
135
|
-
createBranch: "/api/ee/remote-sync/create-branch",
|
|
136
|
-
settings: "/api/ee/remote-sync/settings"
|
|
137
|
-
};
|
|
138
|
-
const SyncTaskIdle = z.object({ status: z.literal("idle") });
|
|
139
|
-
const SyncTaskOrIdle = z.union([SyncTask, SyncTaskIdle]);
|
|
140
|
-
const syncTaskIdleView = {
|
|
141
|
-
compactPick: SyncTaskIdle,
|
|
142
|
-
tableColumns: [{
|
|
143
|
-
key: "status",
|
|
144
|
-
label: "Status"
|
|
145
|
-
}]
|
|
146
|
-
};
|
|
147
|
-
function isTerminal(status) {
|
|
148
|
-
return TERMINAL_STATUSES.has(status);
|
|
149
|
-
}
|
|
150
|
-
function isFailure(status) {
|
|
151
|
-
return FAILURE_STATUSES.has(status);
|
|
152
|
-
}
|
|
153
|
-
async function fetchOptionalParsed(client, path, schema) {
|
|
154
|
-
const response = await client.requestRaw(path, {
|
|
155
|
-
method: "GET",
|
|
156
|
-
expectContentType: "binary"
|
|
157
|
-
});
|
|
158
|
-
if (response.status === 204) return null;
|
|
159
|
-
const text = await response.text();
|
|
160
|
-
return parseJsonOrPlain(text, response.headers.get("content-type"), schema, { source: response.url });
|
|
161
|
-
}
|
|
162
|
-
async function fetchCurrentTask(client) {
|
|
163
|
-
return await fetchOptionalParsed(client, REMOTE_SYNC_PATHS.currentTask, SyncTask);
|
|
164
|
-
}
|
|
165
|
-
async function pollSyncTask(client, opts) {
|
|
166
|
-
return await pollUntil(async () => fetchCurrentTask(client), (task) => task === null || isTerminal(task.status), {
|
|
167
|
-
backoff: "exponential",
|
|
168
|
-
...opts
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
function throwIfFailedTask(final, verb) {
|
|
172
|
-
if (final === null || !isFailure(final.status)) return;
|
|
173
|
-
const detail = final.error_message ? `: ${final.error_message}` : "";
|
|
174
|
-
throw new Error(`git-sync ${verb} ${final.status}${detail}`);
|
|
175
|
-
}
|
|
176
|
-
function formatSyncTask(task) {
|
|
177
|
-
const kind = task.sync_task_type === "export" ? "Export" : "Import";
|
|
178
|
-
const label = `${kind} task #${task.id}`;
|
|
179
|
-
const detail = task.error_message ? `: ${task.error_message}` : "";
|
|
180
|
-
switch (task.status) {
|
|
181
|
-
case "running": {
|
|
182
|
-
const percent = task.progress === null ? "" : ` (${Math.round(task.progress * 100)}%)`;
|
|
183
|
-
return `${label} is running${percent}.`;
|
|
184
|
-
}
|
|
185
|
-
case "successful": return `${label} succeeded.`;
|
|
186
|
-
case "errored": return `${label} errored${detail}.`;
|
|
187
|
-
case "timed-out": return `${label} timed out${detail}.`;
|
|
188
|
-
case "conflict": return `${label} hit conflicts${detail}.`;
|
|
189
|
-
case "cancelled": return `${label} was cancelled.`;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
//#endregion
|
|
194
|
-
export { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, SyncTask, SyncTaskOrIdle, fetchCurrentTask, fetchOptionalParsed, formatSyncTask, pollSyncTask, syncDirtyItemView, syncTaskIdleView, syncTaskView, throwIfFailedTask };
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { ChainedRequestError, ConfigError, MetabaseError, writeJson } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import { HttpError } from "./runtime-MGH96fhp.mjs";
|
|
3
|
-
import { Card } from "./card-B8G5jQQT.mjs";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
|
|
6
|
-
//#region src/commands/dashboard/preflight.ts
|
|
7
|
-
const PreflightDashcard = z.looseObject({ card_id: z.number().int().nullable().optional() });
|
|
8
|
-
function collectDashcardCardReferences(dashcards) {
|
|
9
|
-
if (dashcards === void 0 || dashcards === null) return [];
|
|
10
|
-
const refs = [];
|
|
11
|
-
dashcards.forEach((dashcard, index) => {
|
|
12
|
-
const parsed = PreflightDashcard.safeParse(dashcard);
|
|
13
|
-
if (!parsed.success) return;
|
|
14
|
-
const cardId = parsed.data.card_id;
|
|
15
|
-
if (typeof cardId === "number" && cardId > 0) refs.push({
|
|
16
|
-
cardId,
|
|
17
|
-
path: `/dashcards/${index}/card_id`
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
return refs;
|
|
21
|
-
}
|
|
22
|
-
async function preflightDashcardCardReferences(client, dashcards) {
|
|
23
|
-
const references = collectDashcardCardReferences(dashcards);
|
|
24
|
-
if (references.length === 0) return;
|
|
25
|
-
const grouped = new Map();
|
|
26
|
-
for (const ref of references) {
|
|
27
|
-
const list = grouped.get(ref.cardId);
|
|
28
|
-
if (list === void 0) grouped.set(ref.cardId, [ref]);
|
|
29
|
-
else list.push(ref);
|
|
30
|
-
}
|
|
31
|
-
const checks = await Promise.all(Array.from(grouped.entries()).map(async ([cardId, refs]) => ({
|
|
32
|
-
refs,
|
|
33
|
-
result: await classifyCardReference(client, cardId)
|
|
34
|
-
})));
|
|
35
|
-
const errors = [];
|
|
36
|
-
for (const check of checks) {
|
|
37
|
-
if (check.result.status === "ok") continue;
|
|
38
|
-
for (const ref of check.refs) errors.push({
|
|
39
|
-
path: ref.path,
|
|
40
|
-
message: check.result.message
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
if (errors.length === 0) return;
|
|
44
|
-
const outcome = {
|
|
45
|
-
ok: false,
|
|
46
|
-
errors
|
|
47
|
-
};
|
|
48
|
-
writeJson(outcome);
|
|
49
|
-
throw new ConfigError(`dashboard card-reference pre-flight failed: ${errors.length} error(s) — fix the dashcard card_id values listed above`);
|
|
50
|
-
}
|
|
51
|
-
function wrapChainedDashboardWriteError(error, dashboardId) {
|
|
52
|
-
if (!(error instanceof MetabaseError)) return error;
|
|
53
|
-
const prefix = `dashboard ${dashboardId} created but follow-up PUT /api/dashboard/${dashboardId} failed`;
|
|
54
|
-
const suffix = "dashcards not applied";
|
|
55
|
-
const message = `${prefix}: ${error.userMessage}; ${suffix}`;
|
|
56
|
-
if (error instanceof HttpError) return new HttpError({
|
|
57
|
-
status: error.status,
|
|
58
|
-
statusText: error.developerDetail.statusText,
|
|
59
|
-
method: error.developerDetail.method,
|
|
60
|
-
url: error.developerDetail.url,
|
|
61
|
-
responseHeaders: error.developerDetail.responseHeaders,
|
|
62
|
-
rawBody: error.developerDetail.body,
|
|
63
|
-
overrideUserMessage: message
|
|
64
|
-
});
|
|
65
|
-
return new ChainedRequestError(message, error);
|
|
66
|
-
}
|
|
67
|
-
async function classifyCardReference(client, cardId) {
|
|
68
|
-
try {
|
|
69
|
-
const card = await client.requestParsed(Card, `/api/card/${cardId}`);
|
|
70
|
-
if (card.archived) return {
|
|
71
|
-
status: "error",
|
|
72
|
-
message: `card ${cardId} is archived`
|
|
73
|
-
};
|
|
74
|
-
return { status: "ok" };
|
|
75
|
-
} catch (error) {
|
|
76
|
-
if (!(error instanceof HttpError)) throw error;
|
|
77
|
-
if (error.status === 404) return {
|
|
78
|
-
status: "error",
|
|
79
|
-
message: `card ${cardId} not found`
|
|
80
|
-
};
|
|
81
|
-
if (error.status === 401 || error.status === 403) return {
|
|
82
|
-
status: "error",
|
|
83
|
-
message: `card ${cardId} is not readable: ${error.userMessage}`
|
|
84
|
-
};
|
|
85
|
-
throw error;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
//#endregion
|
|
90
|
-
export { preflightDashcardCardReferences, wrapChainedDashboardWriteError };
|
package/dist/prompt-BSqji7Fo.mjs
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { AbortError, ConfigError } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import { confirm, isCancel, password, select, text } from "@clack/prompts";
|
|
3
|
-
|
|
4
|
-
//#region src/output/prompt.ts
|
|
5
|
-
async function promptText(opts) {
|
|
6
|
-
requireTty(opts.message);
|
|
7
|
-
const value = await text({
|
|
8
|
-
message: opts.message,
|
|
9
|
-
defaultValue: "",
|
|
10
|
-
...opts.placeholder !== void 0 && { placeholder: opts.placeholder },
|
|
11
|
-
...opts.initialValue !== void 0 && { initialValue: opts.initialValue },
|
|
12
|
-
...opts.defaultValue !== void 0 && { defaultValue: opts.defaultValue },
|
|
13
|
-
...opts.validate !== void 0 && { validate: opts.validate }
|
|
14
|
-
});
|
|
15
|
-
if (isCancel(value)) throw new AbortError();
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
async function promptPassword(opts) {
|
|
19
|
-
requireTty(opts.message);
|
|
20
|
-
const value = await password({
|
|
21
|
-
message: opts.message,
|
|
22
|
-
...opts.mask !== void 0 && { mask: opts.mask },
|
|
23
|
-
...opts.validate !== void 0 && { validate: opts.validate }
|
|
24
|
-
});
|
|
25
|
-
if (isCancel(value)) throw new AbortError();
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
async function promptConfirm(opts) {
|
|
29
|
-
requireTty(opts.message);
|
|
30
|
-
const value = await confirm({
|
|
31
|
-
message: opts.message,
|
|
32
|
-
...opts.initialValue !== void 0 && { initialValue: opts.initialValue }
|
|
33
|
-
});
|
|
34
|
-
if (isCancel(value)) throw new AbortError();
|
|
35
|
-
return value;
|
|
36
|
-
}
|
|
37
|
-
async function promptSelect(opts) {
|
|
38
|
-
requireTty(opts.message);
|
|
39
|
-
const value = await select({
|
|
40
|
-
message: opts.message,
|
|
41
|
-
options: opts.choices,
|
|
42
|
-
...opts.initialValue !== void 0 && { initialValue: opts.initialValue }
|
|
43
|
-
});
|
|
44
|
-
if (isCancel(value)) throw new AbortError();
|
|
45
|
-
return value;
|
|
46
|
-
}
|
|
47
|
-
function requireTty(prompt) {
|
|
48
|
-
if (!process.stdin.isTTY) throw new ConfigError(`cannot prompt "${prompt}" — stdin is not a TTY`);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
//#endregion
|
|
52
|
-
export { promptConfirm, promptPassword, promptSelect, promptText };
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
|
|
4
|
-
import { parseId } from "./parse-id-ySsF4nA3.mjs";
|
|
5
|
-
import "./poll-CgzD9_RH.mjs";
|
|
6
|
-
import "./poll-task-DF9xJl13.mjs";
|
|
7
|
-
import { SyncSettingsUpdateResult, setCollectionRemoteSynced, syncSettingsUpdateView } from "./add-collection-BZAVH5Wk.mjs";
|
|
8
|
-
|
|
9
|
-
//#region src/commands/git-sync/remove-collection.ts
|
|
10
|
-
var remove_collection_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "remove-collection",
|
|
13
|
-
description: "Unmark a collection as git-synced; cascades to descendants by location prefix"
|
|
14
|
-
},
|
|
15
|
-
capabilities: {
|
|
16
|
-
minVersion: 60,
|
|
17
|
-
tokenFeature: "remote_sync"
|
|
18
|
-
},
|
|
19
|
-
args: {
|
|
20
|
-
...outputFlags,
|
|
21
|
-
...profileFlag,
|
|
22
|
-
...connectionFlags,
|
|
23
|
-
id: {
|
|
24
|
-
type: "positional",
|
|
25
|
-
description: "Collection id (positive integer)",
|
|
26
|
-
required: true
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
outputSchema: SyncSettingsUpdateResult,
|
|
30
|
-
examples: ["mb git-sync remove-collection 12", "mb git-sync remove-collection 12 --json --profile prod"],
|
|
31
|
-
async run({ args, ctx, getClient }) {
|
|
32
|
-
const collectionId = parseId(args.id, "id");
|
|
33
|
-
const client = await getClient();
|
|
34
|
-
const result = await setCollectionRemoteSynced(client, collectionId, false);
|
|
35
|
-
const taskPart = result.task_id !== void 0 ? ` (task #${result.task_id})` : "";
|
|
36
|
-
const message = result.success ? `Collection ${collectionId} is no longer git-synced${taskPart}.` : `Could not update git-sync setting for collection ${collectionId}.`;
|
|
37
|
-
renderSummary(result, syncSettingsUpdateView, message, ctx);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
export { remove_collection_default as default };
|