@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
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { ConfigError, isNotFoundError } from "./capabilities-CSjeWyLV.mjs";
|
|
2
|
-
import { fileNotFoundError } from "./input-D2-H-QKX.mjs";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { basename } from "node:path";
|
|
5
|
-
import { readFile } from "node:fs/promises";
|
|
6
|
-
|
|
7
|
-
//#region src/runtime/upload.ts
|
|
8
|
-
const CSV_CONTENT_TYPE = "text/csv";
|
|
9
|
-
function requireUploadFilePath(file) {
|
|
10
|
-
if (typeof file !== "string" || file.trim() === "") throw new ConfigError("provide the CSV file to upload with --file <path>");
|
|
11
|
-
return file;
|
|
12
|
-
}
|
|
13
|
-
async function readCsvFile(path) {
|
|
14
|
-
try {
|
|
15
|
-
const bytes = await readFile(path);
|
|
16
|
-
return {
|
|
17
|
-
filename: basename(path),
|
|
18
|
-
bytes
|
|
19
|
-
};
|
|
20
|
-
} catch (error) {
|
|
21
|
-
if (isNotFoundError(error)) throw fileNotFoundError(path);
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function buildCsvFormData(file) {
|
|
26
|
-
const form = new FormData();
|
|
27
|
-
form.append("file", new Blob([file.bytes], { type: CSV_CONTENT_TYPE }), file.filename);
|
|
28
|
-
return form;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
//#region src/commands/upload/results.ts
|
|
33
|
-
const UploadResult = z.object({
|
|
34
|
-
model_id: z.number().int(),
|
|
35
|
-
table_id: z.number().int()
|
|
36
|
-
});
|
|
37
|
-
const uploadResultView = {
|
|
38
|
-
compactPick: UploadResult,
|
|
39
|
-
tableColumns: [{
|
|
40
|
-
key: "model_id",
|
|
41
|
-
label: "Model ID"
|
|
42
|
-
}, {
|
|
43
|
-
key: "table_id",
|
|
44
|
-
label: "Table ID"
|
|
45
|
-
}]
|
|
46
|
-
};
|
|
47
|
-
const UploadUpdateAction = z.enum(["append", "replace"]);
|
|
48
|
-
const UploadUpdateResult = z.object({
|
|
49
|
-
table_id: z.number().int(),
|
|
50
|
-
action: UploadUpdateAction
|
|
51
|
-
});
|
|
52
|
-
const uploadUpdateResultView = {
|
|
53
|
-
compactPick: UploadUpdateResult,
|
|
54
|
-
tableColumns: [{
|
|
55
|
-
key: "table_id",
|
|
56
|
-
label: "Table ID"
|
|
57
|
-
}, {
|
|
58
|
-
key: "action",
|
|
59
|
-
label: "Action"
|
|
60
|
-
}]
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
//#endregion
|
|
64
|
-
//#region src/commands/upload/requests.ts
|
|
65
|
-
const UPLOAD_TABLE_ID_HEADER = "metabase-table-id";
|
|
66
|
-
const UPLOAD_UPDATE_PATHS = {
|
|
67
|
-
append: "append-csv",
|
|
68
|
-
replace: "replace-csv"
|
|
69
|
-
};
|
|
70
|
-
async function updateTableFromCsv(client, tableId, action, file) {
|
|
71
|
-
await client.requestRaw(`/api/table/${tableId}/${UPLOAD_UPDATE_PATHS[action]}`, {
|
|
72
|
-
method: "POST",
|
|
73
|
-
body: buildCsvFormData(file),
|
|
74
|
-
expectContentType: "binary"
|
|
75
|
-
});
|
|
76
|
-
return {
|
|
77
|
-
table_id: tableId,
|
|
78
|
-
action
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function parseCreateUploadResult(bodyText, headers) {
|
|
82
|
-
return UploadResult.parse({
|
|
83
|
-
model_id: parseResponseInteger(bodyText, "response body"),
|
|
84
|
-
table_id: parseResponseInteger(headers.get(UPLOAD_TABLE_ID_HEADER), `${UPLOAD_TABLE_ID_HEADER} header`)
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function parseResponseInteger(value, source) {
|
|
88
|
-
const trimmed = value?.trim() ?? "";
|
|
89
|
-
if (trimmed === "") throw new Error(`upload succeeded but the ${source} was empty`);
|
|
90
|
-
const parsed = Number(trimmed);
|
|
91
|
-
if (!Number.isInteger(parsed)) throw new Error(`upload succeeded but the ${source} was not an integer: ${JSON.stringify(trimmed)}`);
|
|
92
|
-
return parsed;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
//#endregion
|
|
96
|
-
export { UploadResult, UploadUpdateResult, buildCsvFormData, parseCreateUploadResult, readCsvFile, requireUploadFilePath, updateTableFromCsv, uploadResultView, uploadUpdateResultView };
|
|
@@ -1,40 +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 "./field-DsXTeqBy.mjs";
|
|
5
|
-
import { parseId } from "./parse-id-ySsF4nA3.mjs";
|
|
6
|
-
import "./table-3onHpwcb.mjs";
|
|
7
|
-
import { DatabaseSyncResult, DatabaseTaskAck, databaseSyncResultView } from "./database-BOqzcexD.mjs";
|
|
8
|
-
|
|
9
|
-
//#region src/commands/db/rescan-values.ts
|
|
10
|
-
var rescan_values_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "rescan-values",
|
|
13
|
-
description: "Trigger a rescan of cached field values for a database"
|
|
14
|
-
},
|
|
15
|
-
capabilities: { minVersion: 58 },
|
|
16
|
-
args: {
|
|
17
|
-
...outputFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags,
|
|
20
|
-
id: {
|
|
21
|
-
type: "positional",
|
|
22
|
-
description: "Database id",
|
|
23
|
-
required: true
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
outputSchema: DatabaseSyncResult,
|
|
27
|
-
examples: ["mb db rescan-values 1", "mb db rescan-values 1 --json"],
|
|
28
|
-
async run({ args, ctx, getClient }) {
|
|
29
|
-
const id = parseId(args.id);
|
|
30
|
-
const client = await getClient();
|
|
31
|
-
const response = await client.requestParsed(DatabaseTaskAck, `/api/database/${id}/rescan_values`, { method: "POST" });
|
|
32
|
-
renderSummary({
|
|
33
|
-
id,
|
|
34
|
-
status: response.status
|
|
35
|
-
}, databaseSyncResultView, `Field-values rescan queued for database ${id}.`, ctx);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
export { rescan_values_default as default };
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Collection } from "./collection-C52Ndi_O.mjs";
|
|
2
|
-
import { fetchCollectionsWithLibrary } from "./listing-wFZuS5li.mjs";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
|
|
5
|
-
//#region src/domain/library.ts
|
|
6
|
-
const LibraryChild = Collection.pick({
|
|
7
|
-
id: true,
|
|
8
|
-
name: true,
|
|
9
|
-
type: true,
|
|
10
|
-
description: true,
|
|
11
|
-
is_remote_synced: true
|
|
12
|
-
}).strip();
|
|
13
|
-
const Library = Collection.extend({ effective_children: z.array(LibraryChild) }).loose();
|
|
14
|
-
const LibraryCompact = Library.pick({
|
|
15
|
-
id: true,
|
|
16
|
-
name: true,
|
|
17
|
-
type: true,
|
|
18
|
-
effective_children: true
|
|
19
|
-
}).strip();
|
|
20
|
-
const libraryView = {
|
|
21
|
-
compactPick: LibraryCompact,
|
|
22
|
-
tableColumns: [
|
|
23
|
-
{
|
|
24
|
-
key: "id",
|
|
25
|
-
label: "ID"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
key: "name",
|
|
29
|
-
label: "Name"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
key: "type",
|
|
33
|
-
label: "Type"
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region src/commands/library/resolve.ts
|
|
40
|
-
const LIBRARY_ROOT_PATH = "/api/ee/library/";
|
|
41
|
-
const LIBRARY_DATA_TYPE = "library-data";
|
|
42
|
-
const AbsentLibrary = z.object({ data: z.null() });
|
|
43
|
-
const LibraryOrAbsent = z.union([Library, AbsentLibrary]);
|
|
44
|
-
const LibraryCollectionEntry = Collection.pick({
|
|
45
|
-
id: true,
|
|
46
|
-
type: true,
|
|
47
|
-
is_remote_synced: true
|
|
48
|
-
}).strip();
|
|
49
|
-
async function fetchLibrary(client) {
|
|
50
|
-
const result = await client.requestParsed(LibraryOrAbsent, LIBRARY_ROOT_PATH);
|
|
51
|
-
if (!("effective_children" in result)) return null;
|
|
52
|
-
const infoById = await fetchLibraryCollectionInfo(client);
|
|
53
|
-
const effective_children = result.effective_children.map((child) => {
|
|
54
|
-
if (typeof child.id !== "number") return child;
|
|
55
|
-
const info = infoById.get(child.id);
|
|
56
|
-
if (info === void 0) return child;
|
|
57
|
-
return {
|
|
58
|
-
...child,
|
|
59
|
-
type: info.type ?? child.type,
|
|
60
|
-
is_remote_synced: info.is_remote_synced ?? child.is_remote_synced
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
return {
|
|
64
|
-
...result,
|
|
65
|
-
effective_children
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
async function fetchLibraryCollectionInfo(client) {
|
|
69
|
-
const collections = await fetchCollectionsWithLibrary(client, LibraryCollectionEntry);
|
|
70
|
-
const infoById = new Map();
|
|
71
|
-
for (const collection of collections) if (typeof collection.id === "number") infoById.set(collection.id, collection);
|
|
72
|
-
return infoById;
|
|
73
|
-
}
|
|
74
|
-
async function createLibrary(client) {
|
|
75
|
-
const existing = await fetchLibrary(client);
|
|
76
|
-
if (existing !== null) return existing;
|
|
77
|
-
await client.requestRaw(LIBRARY_ROOT_PATH, { method: "POST" });
|
|
78
|
-
const created = await fetchLibrary(client);
|
|
79
|
-
if (created === null) throw new Error(`Library was not created after POST ${LIBRARY_ROOT_PATH}`);
|
|
80
|
-
return created;
|
|
81
|
-
}
|
|
82
|
-
async function ensureLibraryDataCollectionId(client) {
|
|
83
|
-
const library = await createLibrary(client);
|
|
84
|
-
const data = library.effective_children.find((child) => child.type === LIBRARY_DATA_TYPE);
|
|
85
|
-
if (data === void 0) throw new Error("Library has no Data collection to publish into");
|
|
86
|
-
if (typeof data.id !== "number") throw new Error(`Library Data collection has a non-numeric id ${String(data.id)}`);
|
|
87
|
-
return data.id;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
//#endregion
|
|
91
|
-
export { Library, createLibrary, ensureLibraryDataCollectionId, fetchLibrary, libraryView };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region src/commands/revision-message-flag.ts
|
|
2
|
-
const DEFAULT_ARCHIVE_REVISION_MESSAGE = "Archived via mb CLI";
|
|
3
|
-
const revisionMessageFlag = { revisionMessage: {
|
|
4
|
-
type: "string",
|
|
5
|
-
description: "Audit-log message recorded with the change",
|
|
6
|
-
alias: "revision-message",
|
|
7
|
-
default: DEFAULT_ARCHIVE_REVISION_MESSAGE
|
|
8
|
-
} };
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
export { revisionMessageFlag };
|
package/dist/run-Cg6k3kHo.mjs
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { TimeoutError, 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 { pollUntil } from "./poll-CgzD9_RH.mjs";
|
|
6
|
-
import { parseWaitFlags, waitFlags } from "./wait-flags-DEn-3mjb.mjs";
|
|
7
|
-
import { Transform, TransformRun } from "./transform-DNSMm1dV.mjs";
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
|
|
10
|
-
//#region src/commands/transform/run.ts
|
|
11
|
-
const RUN_TERMINAL_STATUSES = new Set([
|
|
12
|
-
"succeeded",
|
|
13
|
-
"failed",
|
|
14
|
-
"timeout",
|
|
15
|
-
"canceled"
|
|
16
|
-
]);
|
|
17
|
-
const RUN_FAILURE_STATUSES = new Set([
|
|
18
|
-
"failed",
|
|
19
|
-
"timeout",
|
|
20
|
-
"canceled"
|
|
21
|
-
]);
|
|
22
|
-
const TransformRunKickoff = z.object({
|
|
23
|
-
message: z.string(),
|
|
24
|
-
run_id: z.number().int().positive().nullable()
|
|
25
|
-
});
|
|
26
|
-
const TransformRunResult = z.object({
|
|
27
|
-
message: z.string(),
|
|
28
|
-
run_id: z.number().int().positive().nullable(),
|
|
29
|
-
final: TransformRun.nullable(),
|
|
30
|
-
target_table_id: z.number().int().nullable().optional()
|
|
31
|
-
});
|
|
32
|
-
const transformRunResultView = {
|
|
33
|
-
compactPick: TransformRunResult,
|
|
34
|
-
tableColumns: [
|
|
35
|
-
{
|
|
36
|
-
key: "run_id",
|
|
37
|
-
label: "Run ID"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
key: "message",
|
|
41
|
-
label: "Message"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
key: "target_table_id",
|
|
45
|
-
label: "Target table"
|
|
46
|
-
}
|
|
47
|
-
]
|
|
48
|
-
};
|
|
49
|
-
var run_default = defineMetabaseCommand({
|
|
50
|
-
meta: {
|
|
51
|
-
name: "run",
|
|
52
|
-
description: "Trigger a transform run by id"
|
|
53
|
-
},
|
|
54
|
-
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.",
|
|
55
|
-
capabilities: { minVersion: 59 },
|
|
56
|
-
args: {
|
|
57
|
-
...outputFlags,
|
|
58
|
-
...profileFlag,
|
|
59
|
-
...connectionFlags,
|
|
60
|
-
...waitFlags,
|
|
61
|
-
sync: {
|
|
62
|
-
type: "boolean",
|
|
63
|
-
description: "After a successful run, wait until the output table is registered and return its id (implies --wait)",
|
|
64
|
-
default: false
|
|
65
|
-
},
|
|
66
|
-
id: {
|
|
67
|
-
type: "positional",
|
|
68
|
-
description: "Transform id",
|
|
69
|
-
required: true
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
outputSchema: TransformRunResult,
|
|
73
|
-
examples: [
|
|
74
|
-
"mb transform run 1",
|
|
75
|
-
"mb transform run 1 --wait --json",
|
|
76
|
-
"mb transform run 1 --sync --json"
|
|
77
|
-
],
|
|
78
|
-
async run({ args, ctx, getClient }) {
|
|
79
|
-
const id = parseId(args.id);
|
|
80
|
-
const syncTarget = args.sync === true;
|
|
81
|
-
const wait = parseWaitFlags(args);
|
|
82
|
-
const waitForRun = wait.enabled || syncTarget;
|
|
83
|
-
const client = await getClient();
|
|
84
|
-
const kickoff = await client.requestParsed(TransformRunKickoff, `/api/transform/${id}/run`, { method: "POST" });
|
|
85
|
-
if (!waitForRun) {
|
|
86
|
-
const started = kickoff.run_id === null ? kickoff.message : `Started run ${kickoff.run_id} for transform ${id}.`;
|
|
87
|
-
renderSummary({
|
|
88
|
-
message: kickoff.message,
|
|
89
|
-
run_id: kickoff.run_id,
|
|
90
|
-
final: null
|
|
91
|
-
}, transformRunResultView, started, ctx);
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
if (kickoff.run_id === null) {
|
|
95
|
-
renderSummary({
|
|
96
|
-
message: kickoff.message,
|
|
97
|
-
run_id: null,
|
|
98
|
-
final: null
|
|
99
|
-
}, transformRunResultView, kickoff.message, ctx);
|
|
100
|
-
throw new Error(`transform run did not start: ${kickoff.message}`);
|
|
101
|
-
}
|
|
102
|
-
const runId = kickoff.run_id;
|
|
103
|
-
const final = await pollUntil(async () => client.requestParsed(TransformRun, `/api/transform/run/${runId}`), (run) => RUN_TERMINAL_STATUSES.has(run.status), wait.schedule);
|
|
104
|
-
const failed = RUN_FAILURE_STATUSES.has(final.status);
|
|
105
|
-
const targetTableId = syncTarget && !failed ? await awaitTargetTableId(client, id, wait.schedule) : void 0;
|
|
106
|
-
const result = {
|
|
107
|
-
message: kickoff.message,
|
|
108
|
-
run_id: runId,
|
|
109
|
-
final
|
|
110
|
-
};
|
|
111
|
-
if (syncTarget) result.target_table_id = targetTableId ?? null;
|
|
112
|
-
renderSummary(result, transformRunResultView, summaryLine(id, runId, final.status, syncTarget, targetTableId), ctx);
|
|
113
|
-
if (failed) throw new Error(`transform run ${runId} ${final.status}`);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
async function awaitTargetTableId(client, transformId, schedule) {
|
|
117
|
-
try {
|
|
118
|
-
const linked = await pollUntil(async () => client.requestParsed(Transform, `/api/transform/${transformId}`), (transform) => linkedTableId(transform) !== null, schedule);
|
|
119
|
-
return linkedTableId(linked);
|
|
120
|
-
} catch (error) {
|
|
121
|
-
if (error instanceof TimeoutError) return null;
|
|
122
|
-
throw error;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
function linkedTableId(transform) {
|
|
126
|
-
return transform.target_table_id ?? transform.table?.id ?? null;
|
|
127
|
-
}
|
|
128
|
-
function summaryLine(transformId, runId, status, syncTarget, targetTableId) {
|
|
129
|
-
const base = `Run ${runId} of transform ${transformId} ${status}.`;
|
|
130
|
-
if (!syncTarget) return base;
|
|
131
|
-
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.`;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
//#endregion
|
|
135
|
-
export { run_default as default };
|
package/dist/runs-Cbqm1HYG.mjs
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList } 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 { collectPaginated } from "./paginate-FVZUxL4J.mjs";
|
|
6
|
-
import { TransformRun, TransformRunCompact, transformRunView } from "./transform-DNSMm1dV.mjs";
|
|
7
|
-
|
|
8
|
-
//#region src/commands/transform/runs.ts
|
|
9
|
-
const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
|
|
10
|
-
var runs_default = defineMetabaseCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "runs",
|
|
13
|
-
description: "List recent transform runs"
|
|
14
|
-
},
|
|
15
|
-
capabilities: { minVersion: 59 },
|
|
16
|
-
args: {
|
|
17
|
-
...outputFlags,
|
|
18
|
-
...profileFlag,
|
|
19
|
-
...connectionFlags,
|
|
20
|
-
"transform-id": {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "Filter to runs of a single transform id"
|
|
23
|
-
},
|
|
24
|
-
limit: {
|
|
25
|
-
type: "string",
|
|
26
|
-
description: "Cap total runs returned (default: drain all pages)"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
outputSchema: TransformRunListEnvelope,
|
|
30
|
-
examples: [
|
|
31
|
-
"mb transform runs",
|
|
32
|
-
"mb transform runs --transform-id 1 --json",
|
|
33
|
-
"mb transform runs --limit 10 --json"
|
|
34
|
-
],
|
|
35
|
-
async run({ args, ctx, getClient }) {
|
|
36
|
-
const transformId = args["transform-id"] === void 0 ? void 0 : parseId(args["transform-id"], "--transform-id");
|
|
37
|
-
const max = args.limit === void 0 ? void 0 : parseId(args.limit, "--limit");
|
|
38
|
-
const client = await getClient();
|
|
39
|
-
const items = await collectPaginated(client, "/api/transform/run", TransformRun, {
|
|
40
|
-
query: { "transform-ids": transformId },
|
|
41
|
-
...max !== void 0 && { max }
|
|
42
|
-
});
|
|
43
|
-
const envelope = {
|
|
44
|
-
data: items,
|
|
45
|
-
returned: items.length,
|
|
46
|
-
...max === void 0 ? { total: items.length } : { limit: max }
|
|
47
|
-
};
|
|
48
|
-
renderList(envelope, transformRunView, ctx);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
//#endregion
|
|
53
|
-
export { runs_default as default };
|