@metabase/cli 0.2.1 → 0.2.2-alpha.extract-api-client.27e2241

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/README.md +4 -1715
  2. package/dist/add-collection-B3Ty8SzB.mjs +36 -0
  3. package/dist/alert-DT-ee7yf.mjs +23 -0
  4. package/dist/alerts-Bf2RH_p_.mjs +43 -0
  5. package/dist/{append-BgDaYJW9.mjs → append-DFzQRPMd.mjs} +7 -12
  6. package/dist/{archive-DFCu5hVG.mjs → archive-4tmm946K.mjs} +8 -17
  7. package/dist/{archive-Bv59HYsU.mjs → archive-B6eXiyER.mjs} +7 -13
  8. package/dist/{archive-BM9HjJHQ.mjs → archive-BxNPHxOY.mjs} +7 -13
  9. package/dist/archive-ByvA49Kz.mjs +34 -0
  10. package/dist/{archive-Oh1iZu2y.mjs → archive-C7w49Grr.mjs} +7 -16
  11. package/dist/{archive-EoYl-lS-.mjs → archive-Cd29QC0c.mjs} +7 -13
  12. package/dist/{archive-BZpXnQSu.mjs → archive-ChORH5JH.mjs} +7 -13
  13. package/dist/archive-CwAdlv63.mjs +33 -0
  14. package/dist/{archive-BncW2dGw.mjs → archive-Dr9Xnx_Z.mjs} +7 -15
  15. package/dist/{archive-BCPA0HhV.mjs → archive-gid9Y09v.mjs} +8 -17
  16. package/dist/{archive-Czzktgho.mjs → archive-lQqs13Uz.mjs} +7 -13
  17. package/dist/auth-Dltxua89.mjs +19 -0
  18. package/dist/{body-DKcQw7G5.mjs → body-Cur4NJt9.mjs} +5 -8
  19. package/dist/{body-flags-CgHgJBRC.mjs → body-flags-AqKpN01Y.mjs} +1 -2
  20. package/dist/{branches-CCmtr3W8.mjs → branches-DchlyU0i.mjs} +7 -13
  21. package/dist/{cancel-72y10-Rg.mjs → cancel-BMQa5R1Z.mjs} +5 -12
  22. package/dist/{cancel-task-CGwdz91O.mjs → cancel-task-C5CU1pxU.mjs} +6 -10
  23. package/dist/card-CHI2bmds.mjs +24 -0
  24. package/dist/{card-B8G5jQQT.mjs → card-DZxRmver.mjs} +21 -48
  25. package/dist/card-zyUkr2nS.mjs +44 -0
  26. package/dist/cards-SccWvRQD.mjs +34 -0
  27. package/dist/cli.mjs +675 -81
  28. package/dist/client-BqhzKdLM.mjs +2194 -0
  29. package/dist/collection-CGoVLvcD.mjs +58 -0
  30. package/dist/collection-CY0AB99E.mjs +20 -0
  31. package/dist/{collection-CFoLPrY5.mjs → collection-CfulNRBG.mjs} +20 -63
  32. package/dist/{collection-namespace-C7mr_a8H.mjs → collection-namespace-GwydWBF3.mjs} +3 -5
  33. package/dist/{create-pTnveKkm.mjs → create-BNQ_DytP.mjs} +8 -15
  34. package/dist/{create-QYctYGSa.mjs → create-BOLwWt8Q.mjs} +9 -17
  35. package/dist/{create-C_WqoOf5.mjs → create-Beh-2uoN.mjs} +8 -15
  36. package/dist/{create-C3DThF9E.mjs → create-C79vErX0.mjs} +9 -20
  37. package/dist/{create-nXlnVzXl.mjs → create-CAQV2g6V.mjs} +9 -16
  38. package/dist/{create-E7XhC0gJ.mjs → create-CAWytBE5.mjs} +9 -17
  39. package/dist/{create-CPEOSxIH.mjs → create-CCh_LyW9.mjs} +8 -15
  40. package/dist/{create-7pbf5Wu0.mjs → create-CD008jdE.mjs} +13 -28
  41. package/dist/create-CHQx7jq4.mjs +45 -0
  42. package/dist/create-DF4QtgDL.mjs +44 -0
  43. package/dist/{create-CaWFrPRU.mjs → create-DJmXXQoq.mjs} +10 -18
  44. package/dist/{create-Brh8WCa3.mjs → create-DV-Ln5Mo.mjs} +8 -15
  45. package/dist/create-branch-CYo6jZth.mjs +35 -0
  46. package/dist/{create-U_XDwsIX.mjs → create-i14Wv3Tj.mjs} +8 -15
  47. package/dist/{create-BDY38_Kr.mjs → create-tQbnuz-I.mjs} +8 -15
  48. package/dist/{create-DFyZCXQD.mjs → create-zeveFdnd.mjs} +6 -10
  49. package/dist/cron-LKRffEC-.mjs +5 -0
  50. package/dist/{csv-CR2qhmC6.mjs → csv-B2Jgb1GM.mjs} +7 -19
  51. package/dist/{current-task-MUHaiHIg.mjs → current-task-MpBFGttd.mjs} +7 -12
  52. package/dist/{dashboard-B-MTpfeS.mjs → dashboard-BCpSq_G-.mjs} +9 -60
  53. package/dist/dashboard-BHJBoaG7.mjs +33 -0
  54. package/dist/dashboard-CsIFFpzK.mjs +58 -0
  55. package/dist/database-B19qlLKZ.mjs +38 -0
  56. package/dist/database-C8G6ZKG0.mjs +26 -0
  57. package/dist/db-DsfojyeH.mjs +24 -0
  58. package/dist/{delete-B58Cng0p.mjs → delete-B8e01xAG.mjs} +6 -11
  59. package/dist/{delete-CW3dYmuT.mjs → delete-BApOjQvl.mjs} +6 -11
  60. package/dist/{delete-doa3R-c5.mjs → delete-Ck0q4Dzp.mjs} +6 -11
  61. package/dist/{delete-BKMOtpjs.mjs → delete-DFmX7jTp.mjs} +6 -11
  62. package/dist/{delete-BMa26SzX.mjs → delete-Ob06PPie.mjs} +6 -11
  63. package/dist/{delete-runtime-_YOukDRC.mjs → delete-runtime-D74s6vhu.mjs} +6 -13
  64. package/dist/{delete-table-D_tjBZPd.mjs → delete-table-DuyhGrvA.mjs} +6 -11
  65. package/dist/{dependencies-BR_4um7h.mjs → dependencies-Bj3QrGIm.mjs} +10 -13
  66. package/dist/dirty-DNYoM6Bp.mjs +31 -0
  67. package/dist/document-BbskZPTT.mjs +19 -0
  68. package/dist/{document-CL4ML5FN.mjs → document-Cd2mmqCp.mjs} +5 -33
  69. package/dist/document-D6OybtP2.mjs +29 -0
  70. package/dist/{eid-DSOk7Khb.mjs → eid-WTZmDdsr.mjs} +12 -54
  71. package/dist/eid-translation-zEHtr5Oc.mjs +35 -0
  72. package/dist/{embedding-CKdw8q7p.mjs → embedding-i-KqpefC.mjs} +2 -4
  73. package/dist/events-Bn7jh5lP.mjs +39 -0
  74. package/dist/export-BjfoZRDJ.mjs +66 -0
  75. package/dist/field-BPsNa-TO.mjs +80 -0
  76. package/dist/{field-DsXTeqBy.mjs → field-Cr2DPUG9.mjs} +2 -81
  77. package/dist/field-Zau6Hc6X.mjs +18 -0
  78. package/dist/fields-CBBa-Prp.mjs +34 -0
  79. package/dist/{get-CHAH_F37.mjs → get-00lyLv6R.mjs} +7 -11
  80. package/dist/{get-T85qZgnv.mjs → get-B7sMgsFs.mjs} +7 -11
  81. package/dist/get-B_xdF1kq.mjs +31 -0
  82. package/dist/{get-DT2MOZ8L.mjs → get-ByBOq30r.mjs} +7 -11
  83. package/dist/get-Bz99dAxK.mjs +35 -0
  84. package/dist/get-C2-Q3iQ5.mjs +31 -0
  85. package/dist/get-CDJFVvhj.mjs +35 -0
  86. package/dist/get-CDMGbgrh.mjs +31 -0
  87. package/dist/get-CnbUCzDM.mjs +31 -0
  88. package/dist/{get-DtvzjfjG.mjs → get-CvI--9S_.mjs} +16 -12
  89. package/dist/{get-CH_JmPc-.mjs → get-DRvsATp-.mjs} +7 -11
  90. package/dist/{get-CgZ5qjQx.mjs → get-DY03Azx9.mjs} +6 -10
  91. package/dist/get-DYO1kywc.mjs +32 -0
  92. package/dist/{get-BSdOE5J4.mjs → get-D_h-G9bn.mjs} +7 -11
  93. package/dist/get-DdsoHaKH.mjs +31 -0
  94. package/dist/{get-DRK5-UdU.mjs → get-DkWO0EI0.mjs} +7 -11
  95. package/dist/{get-43Smv3RI.mjs → get-Dmj9Ygz1.mjs} +7 -17
  96. package/dist/get-DmpB6J9g.mjs +31 -0
  97. package/dist/{get-nZW0W7Ui.mjs → get-Dn9ZiSZr.mjs} +8 -16
  98. package/dist/{get-run-Cwia6e0d.mjs → get-run-Cnux9ln0.mjs} +7 -11
  99. package/dist/git-sync-BDnxPrqU.mjs +104 -0
  100. package/dist/git-sync-DxD_ng48.mjs +136 -0
  101. package/dist/git-sync-MQQYRYLg.mjs +28 -0
  102. package/dist/{group-CILtQqCL.mjs → group-DBM87IgC.mjs} +2 -4
  103. package/dist/has-remote-changes-C684Redh.mjs +35 -0
  104. package/dist/import-Rmmttboo.mjs +56 -0
  105. package/dist/{input-DzbvxKYU.mjs → input-DH9i67x_.mjs} +6 -11
  106. package/dist/{is-dirty-CHbUJ-bh.mjs → is-dirty-DYeJYhBz.mjs} +4 -8
  107. package/dist/{items-DN63mjpF.mjs → items-CQlPXBXE.mjs} +13 -29
  108. package/dist/key-BEhqIzIQ.mjs +10 -0
  109. package/dist/{library-DF2qx50w.mjs → library-Bsm5KsFF.mjs} +6 -9
  110. package/dist/library-ClLgrAXy.mjs +19 -0
  111. package/dist/library-DfYAT2Ep.mjs +21 -0
  112. package/dist/{list-n2PY3OIx.mjs → list-B4hJuMhA.mjs} +11 -27
  113. package/dist/list-B8nAGwP4.mjs +48 -0
  114. package/dist/list-BOET6zhP.mjs +36 -0
  115. package/dist/list-BP3MPq-M.mjs +36 -0
  116. package/dist/list-BpFp9Wre.mjs +28 -0
  117. package/dist/list-BtkWNtvY.mjs +34 -0
  118. package/dist/list-BtmsNOEn.mjs +28 -0
  119. package/dist/list-BzVTHOoH.mjs +28 -0
  120. package/dist/list-C5Zs8nrb.mjs +28 -0
  121. package/dist/list-CKK-s3Ty.mjs +28 -0
  122. package/dist/list-CMpoc2TN.mjs +70 -0
  123. package/dist/list-CNUiF8Z7.mjs +28 -0
  124. package/dist/list-CQDprvW0.mjs +39 -0
  125. package/dist/{list-C7TqbWG1.mjs → list-CQwOgIlj.mjs} +10 -24
  126. package/dist/list-DE9FM957.mjs +28 -0
  127. package/dist/{list-De82cXvn.mjs → list-DF2rvoO1.mjs} +22 -14
  128. package/dist/list-DMKDsBRd.mjs +38 -0
  129. package/dist/{list-B3HoSfYj.mjs → list-UhpKG6_m.mjs} +15 -15
  130. package/dist/{login-jy9rbYev.mjs → login-CGHeSjlP.mjs} +47 -52
  131. package/dist/{logout-CRbk1SuY.mjs → logout-DAxOlbv4.mjs} +7 -12
  132. package/dist/measure-4P0bOlZ3.mjs +29 -0
  133. package/dist/measure-BsYv0p26.mjs +22 -0
  134. package/dist/{measure-S9WszHre.mjs → measure-CtfjqJFP.mjs} +3 -30
  135. package/dist/network-error-CEb9ymDW.mjs +423 -0
  136. package/dist/notification-DaA4bBHW.mjs +138 -0
  137. package/dist/notification-Fcq1fIPw.mjs +67 -0
  138. package/dist/{parameter-BZ6y-Gfs.mjs → parameter-DUKR8NXo.mjs} +2 -11
  139. package/dist/{parameter-values-CcgcG3S5.mjs → parameter-values-CJTdqd8c.mjs} +17 -11
  140. package/dist/{parse-enum-C_2lGr3g.mjs → parse-enum-D0Jfm_Bz.mjs} +2 -4
  141. package/dist/{parse-id-CD54Chc5.mjs → parse-id-C_jmKFaa.mjs} +2 -4
  142. package/dist/{parse-ref-BLgKEEF-.mjs → parse-ref-ibKVB0J4.mjs} +3 -5
  143. package/dist/{path-CPMr1RJO.mjs → path-B5gHvrYL.mjs} +8 -9
  144. package/dist/{poll-DVF9EnEb.mjs → poll-75SvT7Zv.mjs} +11 -15
  145. package/dist/predicates-Bkm2IoeX.mjs +170 -0
  146. package/dist/preflight-YpPQo-sa.mjs +29 -0
  147. package/dist/{process-HDPKLS_z.mjs → process-DBOOrmET.mjs} +4 -6
  148. package/dist/publish-DijrxaCW.mjs +75 -0
  149. package/dist/pulse-BmsDenXm.mjs +133 -0
  150. package/dist/pulse-DhG6I9mI.mjs +57 -0
  151. package/dist/{query-Cxh9hmrP.mjs → query-BbqECzmF.mjs} +20 -44
  152. package/dist/{query-B3HDIsJ-.mjs → query-Dc__-KJH.mjs} +13 -24
  153. package/dist/{query-result-Drvjv7DD.mjs → query-result-DBDwk8TS.mjs} +4 -8
  154. package/dist/remove-collection-BOnxYvhj.mjs +36 -0
  155. package/dist/{render-CkuFkWlQ.mjs → render-CI93iP0I.mjs} +9 -11
  156. package/dist/{replace-BwvKDNur.mjs → replace-Cq4CxVa-.mjs} +7 -12
  157. package/dist/rescan-values-Dr_j416g.mjs +31 -0
  158. package/dist/revision-message-flag-8TCHYJV6.mjs +8 -0
  159. package/dist/run-C3DkS6NP.mjs +82 -0
  160. package/dist/{run-yrpSF6VL.mjs → run-DdGJ544X.mjs} +8 -18
  161. package/dist/runs-CUNWiidL.mjs +38 -0
  162. package/dist/runtime-DiKyBxOw.mjs +1007 -0
  163. package/dist/{schema-tables-ChBYz4mO.mjs → schema-tables-CV386fnC.mjs} +10 -14
  164. package/dist/{schemas-C2crnVML.mjs → schemas-DM-UqZBQ.mjs} +8 -12
  165. package/dist/search-DFBwUc6d.mjs +44 -0
  166. package/dist/{search-DnGEh6sZ.mjs → search-DmGScXs8.mjs} +14 -73
  167. package/dist/segment-BzUGM2Fr.mjs +22 -0
  168. package/dist/segment-C_gl5ag6.mjs +29 -0
  169. package/dist/{segment-BPb1H6DW.mjs → segment-OsrbUDzw.mjs} +3 -30
  170. package/dist/{selectors-Ll_TRxl5.mjs → selectors-DGDn0Hto.mjs} +4 -6
  171. package/dist/send-CVxxEpDB.mjs +49 -0
  172. package/dist/{set-tHsHXRGV.mjs → set-DFolTjbd.mjs} +10 -20
  173. package/dist/{set-active-qqDoBh_Z.mjs → set-active-BD8L1lPX.mjs} +7 -18
  174. package/dist/setting-CwRYgHYN.mjs +35 -0
  175. package/dist/setting-DTiLCW8g.mjs +22 -0
  176. package/dist/setting-DyhaeICs.mjs +17 -0
  177. package/dist/setup-BbDQN8fe.mjs +44 -0
  178. package/dist/setup-CO7QV-ao.mjs +21 -0
  179. package/dist/signal-CMd0EFUa.mjs +16 -0
  180. package/dist/{skills-rnvVgau4.mjs → skills--vK6J-e4.mjs} +4 -6
  181. package/dist/{skills-BKuiGkc1.mjs → skills-DTCrMcix.mjs} +13 -19
  182. package/dist/{snippet-DWiXNy4T.mjs → snippet-CyKAgIZl.mjs} +3 -32
  183. package/dist/snippet-DRwKb2x7.mjs +19 -0
  184. package/dist/snippet-oJLaYW9V.mjs +29 -0
  185. package/dist/stash-D0S4JmAz.mjs +61 -0
  186. package/dist/status-BhswxJL1.mjs +85 -0
  187. package/dist/{status-B5ar0uXc.mjs → status-hL1am-HV.mjs} +6 -8
  188. package/dist/subscription-_d5fB45F.mjs +22 -0
  189. package/dist/subscriptions-s4TF6Ax3.mjs +42 -0
  190. package/dist/summary-BytbDz6e.mjs +7 -0
  191. package/dist/summary-CsPvcUwW.mjs +31 -0
  192. package/dist/sync-schema-DaZ_MV-u.mjs +35 -0
  193. package/dist/sync-task-BACcrs0i.mjs +37 -0
  194. package/dist/{table-C3RIKiYM.mjs → table-CeeTJgQb.mjs} +4 -38
  195. package/dist/table-CsIJNPFf.mjs +37 -0
  196. package/dist/table-DYoC1kPn.mjs +18 -0
  197. package/dist/{timeline-BCTRThc-.mjs → timeline-CCSU2qOS.mjs} +2 -66
  198. package/dist/timeline-event-CNQdCTDg.mjs +19 -0
  199. package/dist/timeline-uDCmwGFT.mjs +66 -0
  200. package/dist/timeline-xlDbEKWg.mjs +21 -0
  201. package/dist/transform-Bs0EWijQ.mjs +28 -0
  202. package/dist/{transform-BVHYzWpK.mjs → transform-D3QX0jxA.mjs} +28 -74
  203. package/dist/transform-DoTyyXAu.mjs +74 -0
  204. package/dist/transform-job-50GZHhKH.mjs +37 -0
  205. package/dist/transform-job-BcLChRup.mjs +22 -0
  206. package/dist/{transform-job-CjsAXMej.mjs → transform-job-DRrK28IH.mjs} +14 -41
  207. package/dist/{transform-tag--IBQ-8Ij.mjs → transform-tag-CcElGp3C.mjs} +2 -21
  208. package/dist/transform-tag-Dmb4u3-Q.mjs +21 -0
  209. package/dist/transform-tag-_tgwlsdB.mjs +18 -0
  210. package/dist/{transforms-CLkv3e81.mjs → transforms-oU4zizbO.mjs} +10 -13
  211. package/dist/{tree-CB2IURsX.mjs → tree-CH-f3bjP.mjs} +6 -10
  212. package/dist/{unpublish-BkZldbkP.mjs → unpublish-BUl9RU5C.mjs} +7 -18
  213. package/dist/{update-B1dkPypu.mjs → update-BCS5FxKr.mjs} +11 -19
  214. package/dist/{update-8bTrglfc.mjs → update-BZPllQoR.mjs} +9 -16
  215. package/dist/{update-BacyVaLu.mjs → update-BiFDBcEH.mjs} +9 -16
  216. package/dist/update-BzMDeZiU.mjs +50 -0
  217. package/dist/{update-B4atxTx0.mjs → update-C4YJQFDS.mjs} +9 -16
  218. package/dist/{update-CGWTX1Z0.mjs → update-CHNSUHK4.mjs} +9 -16
  219. package/dist/{update-D7Ia9Qrt.mjs → update-CO4m4wH3.mjs} +10 -21
  220. package/dist/{update-CO9uCJxV.mjs → update-CVPAwJaH.mjs} +10 -18
  221. package/dist/{update-BHC3pwzR.mjs → update-CmDTljK-.mjs} +9 -16
  222. package/dist/{update-iY9WZqy0.mjs → update-CvOO8TED.mjs} +9 -17
  223. package/dist/{update-Cyxjg496.mjs → update-D-NE60AV.mjs} +9 -16
  224. package/dist/{update-D80GWpWl.mjs → update-Nfi44RrE.mjs} +10 -18
  225. package/dist/update-bD_Jh5-s.mjs +51 -0
  226. package/dist/{update-DajyWtBN.mjs → update-cYkvbqK8.mjs} +9 -16
  227. package/dist/update-dashcard-C3TuYO_k.mjs +50 -0
  228. package/dist/{update-BghbOcv6.mjs → update-tX9mKBN_.mjs} +10 -21
  229. package/dist/{upgrade-CXoNQ4FH.mjs → upgrade-DXMV4AyP.mjs} +37 -44
  230. package/dist/upload-CH632qW6.mjs +46 -0
  231. package/dist/upload-DAtxBBms.mjs +13 -0
  232. package/dist/upload-Dey_8rLf.mjs +13 -0
  233. package/dist/{uuid-D6dao_q4.mjs → uuid-BJkDWj9p.mjs} +5 -7
  234. package/dist/validate-BWchyW0V.mjs +1469 -0
  235. package/dist/{validate-query-D1N30wJ7.mjs → validate-query-DaGYSmpQ.mjs} +4 -5
  236. package/dist/{values-DIBAgSyz.mjs → values-Dxf1JEoA.mjs} +8 -13
  237. package/dist/verify-K96rItG5.mjs +89 -0
  238. package/dist/{wait-CW1OawkI.mjs → wait-DoMDH226.mjs} +10 -18
  239. package/dist/{wait-flags-DvNU8ahZ.mjs → wait-flags-DWEF9tX4.mjs} +14 -11
  240. package/dist/window-BkvrP0gB.mjs +64 -0
  241. package/package.json +5 -35
  242. package/skill-data/core/SKILL.md +31 -26
  243. package/skill-data/dashboard/SKILL.md +6 -2
  244. package/skill-data/document/SKILL.md +2 -2
  245. package/skill-data/git-sync/SKILL.md +20 -5
  246. package/skill-data/notification/SKILL.md +157 -0
  247. package/skill-data/transform/SKILL.md +1 -1
  248. package/.claude-plugin/marketplace.json +0 -19
  249. package/dist/add-collection-C8ZTPlIE.mjs +0 -9
  250. package/dist/add-collection-CUBn11d4.mjs +0 -60
  251. package/dist/auth-hgAnMUfi.mjs +0 -22
  252. package/dist/capabilities-DOTcPraV.mjs +0 -684
  253. package/dist/card-Ct-q_C4S.mjs +0 -26
  254. package/dist/cards-CYSyvN7Z.mjs +0 -38
  255. package/dist/cli.d.mts +0 -1
  256. package/dist/collection-K82kJWdj.mjs +0 -23
  257. package/dist/command-augment-D9pI9Vbh.mjs +0 -11
  258. package/dist/create-branch-DPE6itiS.mjs +0 -57
  259. package/dist/dashboard-B1iRSUBI.mjs +0 -35
  260. package/dist/database-CIbVSfua.mjs +0 -61
  261. package/dist/db-eWy7A-H3.mjs +0 -27
  262. package/dist/dirty-BKCg6oVN.mjs +0 -35
  263. package/dist/document-CVxhTnUD.mjs +0 -22
  264. package/dist/events-Dxm7me47.mjs +0 -44
  265. package/dist/export-Gb_wfZpt.mjs +0 -103
  266. package/dist/field-BTCw6voJ.mjs +0 -21
  267. package/dist/fields-hZeq6IF2.mjs +0 -37
  268. package/dist/get--rGDVyje.mjs +0 -35
  269. package/dist/get-7Np_G2je.mjs +0 -35
  270. package/dist/get-CP3lrIYi.mjs +0 -49
  271. package/dist/get-CuPCE_AG.mjs +0 -35
  272. package/dist/get-DB6Y9igl.mjs +0 -41
  273. package/dist/get-DWzMR8sn.mjs +0 -35
  274. package/dist/get-DZatHVdn.mjs +0 -38
  275. package/dist/git-sync-Cjrx2meo.mjs +0 -31
  276. package/dist/has-remote-changes-CIIib71u.mjs +0 -67
  277. package/dist/import-D9ID9Mz4.mjs +0 -94
  278. package/dist/is-dirty-DY5Zhsbk.mjs +0 -8
  279. package/dist/key-BnGRTX8U.mjs +0 -17
  280. package/dist/list-B1sdMz6m.mjs +0 -31
  281. package/dist/list-BSxMFDMR.mjs +0 -31
  282. package/dist/list-BeqcZVSn.mjs +0 -39
  283. package/dist/list-C0344yqi.mjs +0 -52
  284. package/dist/list-C5Ir-96z.mjs +0 -49
  285. package/dist/list-C6YpaUpC.mjs +0 -39
  286. package/dist/list-CQN2BpaW.mjs +0 -31
  287. package/dist/list-CY-jpBNE.mjs +0 -31
  288. package/dist/list-CkTsOOA7.mjs +0 -39
  289. package/dist/list-CvS68tLn.mjs +0 -31
  290. package/dist/list-KDHLmoUx.mjs +0 -31
  291. package/dist/list-MqqHcBvD.mjs +0 -31
  292. package/dist/measure-CPqisgyf.mjs +0 -25
  293. package/dist/paginate-CMqbqhMC.mjs +0 -49
  294. package/dist/poll-task-CpHGQOd5.mjs +0 -194
  295. package/dist/preflight-xhwEOHAt.mjs +0 -90
  296. package/dist/prompt-BgkWNgIR.mjs +0 -52
  297. package/dist/publish-xVPABwE8.mjs +0 -65
  298. package/dist/remove-collection-_a4uIlLB.mjs +0 -42
  299. package/dist/requests-qyh002pL.mjs +0 -96
  300. package/dist/rescan-values-Bd0Joerq.mjs +0 -40
  301. package/dist/resolve-Ct084wx3.mjs +0 -84
  302. package/dist/revision-message-flag-CHzX0cqV.mjs +0 -11
  303. package/dist/run-BfpKUjqL.mjs +0 -135
  304. package/dist/runs-D_08Ma08.mjs +0 -53
  305. package/dist/runtime-Ab96yYlM.mjs +0 -1695
  306. package/dist/segment-DyVTZSIM.mjs +0 -25
  307. package/dist/setting-B9xSyMf6.mjs +0 -20
  308. package/dist/setting-Cko6bE_w.mjs +0 -55
  309. package/dist/setup-CXGcyTuv.mjs +0 -71
  310. package/dist/snippet-C4h-GMUf.mjs +0 -22
  311. package/dist/stash-DxmpBS7x.mjs +0 -108
  312. package/dist/status-D5CR1SrS.mjs +0 -69
  313. package/dist/summary-BEEJl2O1.mjs +0 -40
  314. package/dist/sync-schema-B5HDpmrp.mjs +0 -54
  315. package/dist/table-DHmaW3Ec.mjs +0 -21
  316. package/dist/timeline-B0R6-dm8.mjs +0 -24
  317. package/dist/timeline-event-BVDTt-pM.mjs +0 -22
  318. package/dist/transform-Cq2_muWO.mjs +0 -31
  319. package/dist/transform-job-BpebgMnq.mjs +0 -25
  320. package/dist/transform-tag-B1xnFa9w.mjs +0 -21
  321. package/dist/update-dashcard-DLq7ihNO.mjs +0 -73
  322. package/dist/upload-D3eiApa0.mjs +0 -16
  323. package/dist/validate-Cqa14t7o.mjs +0 -1496
  324. package/dist/verify-DvhZWmS2.mjs +0 -79
@@ -1,31 +0,0 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { TransformJob, TransformJobCompact, transformJobView } from "./transform-job-CjsAXMej.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 };
@@ -1,39 +0,0 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { Snippet, SnippetCompact, snippetView } from "./snippet-DWiXNy4T.mjs";
5
- import { z } from "zod";
6
-
7
- //#region src/commands/snippet/list.ts
8
- const SnippetApiList = z.array(Snippet);
9
- const SnippetListEnvelope = listEnvelopeSchema(SnippetCompact);
10
- var list_default = defineMetabaseCommand({
11
- meta: {
12
- name: "list",
13
- description: "List native query snippets"
14
- },
15
- capabilities: { minVersion: 58 },
16
- args: {
17
- ...outputFlags,
18
- ...profileFlag,
19
- ...connectionFlags,
20
- archived: {
21
- type: "boolean",
22
- description: "Show archived snippets instead of active ones"
23
- }
24
- },
25
- outputSchema: SnippetListEnvelope,
26
- examples: [
27
- "mb snippet list",
28
- "mb snippet list --json",
29
- "mb snippet list --archived --json"
30
- ],
31
- async run({ args, ctx, getClient }) {
32
- const client = await getClient();
33
- const items = await client.requestParsed(SnippetApiList, "/api/native-query-snippet", { query: { archived: args.archived || void 0 } });
34
- renderList(wrapList(items), snippetView, ctx);
35
- }
36
- });
37
-
38
- //#endregion
39
- export { list_default as default };
@@ -1,31 +0,0 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { Segment, SegmentCompact, segmentView } from "./segment-BPb1H6DW.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 };
@@ -1,31 +0,0 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { Setting, SettingCompact, settingView } from "./setting-Cko6bE_w.mjs";
5
- import { z } from "zod";
6
-
7
- //#region src/commands/setting/list.ts
8
- const SettingApiList = z.array(Setting);
9
- const SettingListEnvelope = listEnvelopeSchema(SettingCompact);
10
- var list_default = defineMetabaseCommand({
11
- meta: {
12
- name: "list",
13
- description: "List all settings (admin)"
14
- },
15
- capabilities: { minVersion: 58 },
16
- args: {
17
- ...outputFlags,
18
- ...profileFlag,
19
- ...connectionFlags
20
- },
21
- outputSchema: SettingListEnvelope,
22
- examples: ["mb setting list", "mb setting list --json"],
23
- async run({ ctx, getClient }) {
24
- const client = await getClient();
25
- const settings = await client.requestParsed(SettingApiList, "/api/setting");
26
- renderList(wrapList(settings), settingView, ctx);
27
- }
28
- });
29
-
30
- //#endregion
31
- export { list_default as default };
@@ -1,31 +0,0 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { Measure, MeasureCompact, measureView } from "./measure-S9WszHre.mjs";
5
- import { z } from "zod";
6
-
7
- //#region src/commands/measure/list.ts
8
- const MeasureApiList = z.array(Measure);
9
- const MeasureListEnvelope = listEnvelopeSchema(MeasureCompact);
10
- var list_default = defineMetabaseCommand({
11
- meta: {
12
- name: "list",
13
- description: "List measures"
14
- },
15
- capabilities: { minVersion: 59 },
16
- args: {
17
- ...outputFlags,
18
- ...profileFlag,
19
- ...connectionFlags
20
- },
21
- outputSchema: MeasureListEnvelope,
22
- examples: ["mb measure list", "mb measure list --json"],
23
- async run({ ctx, getClient }) {
24
- const client = await getClient();
25
- const items = await client.requestParsed(MeasureApiList, "/api/measure");
26
- renderList(wrapList(items), measureView, ctx);
27
- }
28
- });
29
-
30
- //#endregion
31
- export { list_default as default };
@@ -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-MqqHcBvD.mjs").then((mod) => mod.default),
17
- get: () => import("./get--rGDVyje.mjs").then((mod) => mod.default),
18
- create: () => import("./create-E7XhC0gJ.mjs").then((mod) => mod.default),
19
- update: () => import("./update-D80GWpWl.mjs").then((mod) => mod.default),
20
- archive: () => import("./archive-DFCu5hVG.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-Ab96yYlM.mjs";
2
- import { pollUntil } from "./poll-DVF9EnEb.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-DOTcPraV.mjs";
2
- import { HttpError } from "./runtime-Ab96yYlM.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 };
@@ -1,52 +0,0 @@
1
- import { AbortError, ConfigError } from "./capabilities-DOTcPraV.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,65 +0,0 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import "./parse-id-CD54Chc5.mjs";
5
- import { Collection, CollectionCompact } from "./collection-CFoLPrY5.mjs";
6
- import { ensureLibraryDataCollectionId } from "./resolve-Ct084wx3.mjs";
7
- import { parseTableSelectors, tableSelectorFlags } from "./selectors-Ll_TRxl5.mjs";
8
- import { z } from "zod";
9
-
10
- //#region src/commands/library/publish.ts
11
- const PUBLISH_TABLES_PATH = "/api/ee/data-studio/table/publish-tables";
12
- const LibraryPublishResult = z.object({ target_collection: Collection.nullable() });
13
- const LibraryPublishResultCompact = z.object({ target_collection: CollectionCompact.nullable() });
14
- const libraryPublishResultView = {
15
- compactPick: LibraryPublishResultCompact,
16
- tableColumns: [{
17
- key: "target_collection",
18
- label: "Target collection"
19
- }]
20
- };
21
- var publish_default = defineMetabaseCommand({
22
- meta: {
23
- name: "publish",
24
- description: "Publish tables (and their upstream dependencies) to the Library Data collection"
25
- },
26
- 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.",
27
- capabilities: {
28
- minVersion: 59,
29
- tokenFeature: "library"
30
- },
31
- args: {
32
- ...outputFlags,
33
- ...profileFlag,
34
- ...connectionFlags,
35
- ...tableSelectorFlags
36
- },
37
- outputSchema: LibraryPublishResult,
38
- examples: [
39
- "mb library publish --table-ids 1,2,3",
40
- "mb library publish --db-ids 1 --json",
41
- "mb library publish --schemas 1:public,1:analytics"
42
- ],
43
- async run({ args, ctx, getClient }) {
44
- const selectors = parseTableSelectors(args);
45
- const client = await getClient();
46
- const collectionId = await ensureLibraryDataCollectionId(client);
47
- const body = {
48
- collection_id: collectionId,
49
- ...selectors
50
- };
51
- const result = await client.requestParsed(LibraryPublishResult, PUBLISH_TABLES_PATH, {
52
- method: "POST",
53
- body
54
- });
55
- renderSummary(result, libraryPublishResultView, summaryLine(result), ctx);
56
- }
57
- });
58
- function summaryLine(result) {
59
- const collection = result.target_collection;
60
- if (collection === null) return "Published tables to the Library.";
61
- return `Published tables to the Library (collection ${collection.id} "${collection.name}").`;
62
- }
63
-
64
- //#endregion
65
- export { publish_default as default };
@@ -1,42 +0,0 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { parseId } from "./parse-id-CD54Chc5.mjs";
5
- import "./poll-DVF9EnEb.mjs";
6
- import "./poll-task-CpHGQOd5.mjs";
7
- import { SyncSettingsUpdateResult, setCollectionRemoteSynced, syncSettingsUpdateView } from "./add-collection-CUBn11d4.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 };