@metabase/cli 0.2.2 → 0.3.0-alpha.extract-api-client.e9b2dd5

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 (328) hide show
  1. package/README.md +4 -1902
  2. package/dist/add-collection-B3Ty8SzB.mjs +36 -0
  3. package/dist/alert-DT-ee7yf.mjs +23 -0
  4. package/dist/{alerts-CRGMX4eB.mjs → alerts-Bf2RH_p_.mjs} +11 -17
  5. package/dist/{append-lL0IaI6U.mjs → append-DFzQRPMd.mjs} +7 -12
  6. package/dist/{archive-DihHU042.mjs → archive-4tmm946K.mjs} +8 -17
  7. package/dist/{archive-C9mJGN6J.mjs → archive-B6eXiyER.mjs} +7 -13
  8. package/dist/{archive-D3DErepm.mjs → archive-BxNPHxOY.mjs} +7 -13
  9. package/dist/{archive-DyPsHSFb.mjs → archive-ByvA49Kz.mjs} +8 -13
  10. package/dist/{archive-ExcEma7q.mjs → archive-C7w49Grr.mjs} +7 -16
  11. package/dist/{archive-Baz4OVDd.mjs → archive-Cd29QC0c.mjs} +7 -13
  12. package/dist/{archive-CUGRnyRV.mjs → archive-ChORH5JH.mjs} +7 -13
  13. package/dist/{archive-hKPQXgXa.mjs → archive-CwAdlv63.mjs} +7 -12
  14. package/dist/{archive-D8YrImIU.mjs → archive-Dr9Xnx_Z.mjs} +7 -15
  15. package/dist/{archive-BUFc1me2.mjs → archive-gid9Y09v.mjs} +8 -17
  16. package/dist/{archive-3rLXY0nS.mjs → archive-lQqs13Uz.mjs} +7 -13
  17. package/dist/auth-Dltxua89.mjs +19 -0
  18. package/dist/{body-DXJ2v3GY.mjs → body-Cur4NJt9.mjs} +5 -8
  19. package/dist/{body-flags-Cbv-Ba6W.mjs → body-flags-AqKpN01Y.mjs} +1 -2
  20. package/dist/{branches-ByCzTuiv.mjs → branches-DchlyU0i.mjs} +7 -13
  21. package/dist/{cancel-DvehNbDD.mjs → cancel-BMQa5R1Z.mjs} +5 -12
  22. package/dist/{cancel-task-BM8ADd3Y.mjs → cancel-task-C5CU1pxU.mjs} +6 -10
  23. package/dist/card-CHI2bmds.mjs +24 -0
  24. package/dist/{card-BFRRyTGs.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 +664 -85
  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-BrrjbPLN.mjs → collection-CfulNRBG.mjs} +16 -61
  32. package/dist/{collection-namespace-8i_CvWsg.mjs → collection-namespace-GwydWBF3.mjs} +3 -5
  33. package/dist/{create-D6bXJlBS.mjs → create-BNQ_DytP.mjs} +8 -15
  34. package/dist/{create-CtIOvInN.mjs → create-BOLwWt8Q.mjs} +9 -17
  35. package/dist/{create--_4GZUNY.mjs → create-Beh-2uoN.mjs} +8 -16
  36. package/dist/{create-BnNRvoyz.mjs → create-C79vErX0.mjs} +9 -20
  37. package/dist/{create-D57tRDrg.mjs → create-CAQV2g6V.mjs} +9 -17
  38. package/dist/{create-CHK9cJcK.mjs → create-CAWytBE5.mjs} +9 -17
  39. package/dist/{create-BynNiG1N.mjs → create-CCh_LyW9.mjs} +8 -15
  40. package/dist/{create-Cy57naL0.mjs → create-CD008jdE.mjs} +13 -28
  41. package/dist/{create-DOpa2TmH.mjs → create-CHQx7jq4.mjs} +9 -17
  42. package/dist/{create-COI80Veo.mjs → create-DF4QtgDL.mjs} +8 -16
  43. package/dist/{create-yK1-fuX5.mjs → create-DJmXXQoq.mjs} +10 -18
  44. package/dist/{create-1O1UiTVt.mjs → create-DV-Ln5Mo.mjs} +8 -15
  45. package/dist/create-branch-CYo6jZth.mjs +35 -0
  46. package/dist/{create-t7z8Eb4T.mjs → create-i14Wv3Tj.mjs} +8 -15
  47. package/dist/{create-qzjhJFP8.mjs → create-tQbnuz-I.mjs} +8 -15
  48. package/dist/{create-DAj8pyfQ.mjs → create-zeveFdnd.mjs} +6 -11
  49. package/dist/{cron-93wjhtrP.mjs → cron-LKRffEC-.mjs} +2 -4
  50. package/dist/{csv-yoFA1hhv.mjs → csv-B2Jgb1GM.mjs} +7 -19
  51. package/dist/{current-task-D8Q1uFmk.mjs → current-task-MpBFGttd.mjs} +7 -12
  52. package/dist/{dashboard-BSCXTX4H.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-B8dui6O6.mjs → delete-B8e01xAG.mjs} +6 -11
  59. package/dist/{delete-CA7IjA5J.mjs → delete-BApOjQvl.mjs} +6 -11
  60. package/dist/{delete-Dcu3iDkg.mjs → delete-Ck0q4Dzp.mjs} +6 -11
  61. package/dist/{delete-BwPgIWV8.mjs → delete-DFmX7jTp.mjs} +6 -11
  62. package/dist/{delete-CawUDFud.mjs → delete-Ob06PPie.mjs} +6 -11
  63. package/dist/{delete-runtime-00-R9iJm.mjs → delete-runtime-D74s6vhu.mjs} +6 -13
  64. package/dist/{delete-table-DS0b3i0k.mjs → delete-table-DuyhGrvA.mjs} +6 -11
  65. package/dist/{dependencies-BQVZylqV.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-C7IR6T8c.mjs → document-Cd2mmqCp.mjs} +5 -33
  69. package/dist/document-D6OybtP2.mjs +29 -0
  70. package/dist/{eid-DcCAs-RP.mjs → eid-WTZmDdsr.mjs} +12 -54
  71. package/dist/eid-translation-zEHtr5Oc.mjs +35 -0
  72. package/dist/{embedding-B0x9CPkU.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-RYBTW2KS.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-vGqyjGSW.mjs → get-00lyLv6R.mjs} +7 -11
  80. package/dist/{get-Cvkt6GcQ.mjs → get-B7sMgsFs.mjs} +7 -11
  81. package/dist/get-B_xdF1kq.mjs +31 -0
  82. package/dist/{get-DhS4y0K9.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-CJYv3CfV.mjs → get-CvI--9S_.mjs} +16 -12
  89. package/dist/get-DRvsATp-.mjs +31 -0
  90. package/dist/{get-Db8YNxId.mjs → get-DY03Azx9.mjs} +6 -11
  91. package/dist/{get-4rA8pbRu.mjs → get-DYO1kywc.mjs} +7 -13
  92. package/dist/{get-DZRB5S37.mjs → get-D_h-G9bn.mjs} +7 -11
  93. package/dist/get-DdsoHaKH.mjs +31 -0
  94. package/dist/{get-DQ0pb4tT.mjs → get-DkWO0EI0.mjs} +7 -11
  95. package/dist/{get-DXiL39gi.mjs → get-Dmj9Ygz1.mjs} +7 -17
  96. package/dist/{get-CvXOGyFj.mjs → get-DmpB6J9g.mjs} +7 -12
  97. package/dist/{get-B2vvnMpl.mjs → get-Dn9ZiSZr.mjs} +8 -16
  98. package/dist/{get-run-BF5ZBE8o.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-DfTvzGz-.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-BpXlmJ5J.mjs → input-DH9i67x_.mjs} +6 -11
  106. package/dist/{is-dirty-4kIyD4oP.mjs → is-dirty-DYeJYhBz.mjs} +4 -8
  107. package/dist/{items-BXH0f1r6.mjs → items-CQlPXBXE.mjs} +13 -29
  108. package/dist/key-BEhqIzIQ.mjs +10 -0
  109. package/dist/{library-BFZYsBcz.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-By1yYVGq.mjs → list-B4hJuMhA.mjs} +11 -27
  113. package/dist/{list-oRyXsJXs.mjs → list-B8nAGwP4.mjs} +10 -12
  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-SiSfX4wl.mjs → list-CMpoc2TN.mjs} +10 -13
  123. package/dist/list-CNUiF8Z7.mjs +28 -0
  124. package/dist/list-CQDprvW0.mjs +39 -0
  125. package/dist/{list-w61Uovt2.mjs → list-CQwOgIlj.mjs} +10 -24
  126. package/dist/list-DE9FM957.mjs +28 -0
  127. package/dist/{list-CG3ec9BZ.mjs → list-DF2rvoO1.mjs} +22 -14
  128. package/dist/list-DMKDsBRd.mjs +38 -0
  129. package/dist/{list-Bar8uQRC.mjs → list-UhpKG6_m.mjs} +15 -15
  130. package/dist/{login-zUCMDLC8.mjs → login-CGHeSjlP.mjs} +47 -52
  131. package/dist/{logout-BFh7QHx6.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-DH3ow2ko.mjs → measure-CtfjqJFP.mjs} +3 -30
  135. package/dist/network-error-CEb9ymDW.mjs +423 -0
  136. package/dist/{notification-BR5wehqg.mjs → notification-DaA4bBHW.mjs} +3 -66
  137. package/dist/notification-Fcq1fIPw.mjs +67 -0
  138. package/dist/{parameter-hCQ80jnc.mjs → parameter-DUKR8NXo.mjs} +2 -11
  139. package/dist/{parameter-values-BYDFzxNY.mjs → parameter-values-CJTdqd8c.mjs} +17 -11
  140. package/dist/{parse-enum-D1zTYr_i.mjs → parse-enum-D0Jfm_Bz.mjs} +2 -4
  141. package/dist/{parse-id-waEVK-uR.mjs → parse-id-C_jmKFaa.mjs} +2 -4
  142. package/dist/{parse-ref-C3DUXwci.mjs → parse-ref-ibKVB0J4.mjs} +3 -5
  143. package/dist/{path-Bvs9IR4k.mjs → path-B5gHvrYL.mjs} +8 -9
  144. package/dist/{poll-rqLkEJVP.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-BxAUv3Wx.mjs → process-DBOOrmET.mjs} +4 -6
  148. package/dist/{publish-C1y_vGGw.mjs → publish-DijrxaCW.mjs} +29 -24
  149. package/dist/{pulse-C8q469KD.mjs → pulse-BmsDenXm.mjs} +3 -56
  150. package/dist/pulse-DhG6I9mI.mjs +57 -0
  151. package/dist/{query-B9LlGOZI.mjs → query-BbqECzmF.mjs} +20 -44
  152. package/dist/{query-DpVWKW-y.mjs → query-Dc__-KJH.mjs} +13 -24
  153. package/dist/{query-result-Bvh89K4f.mjs → query-result-DBDwk8TS.mjs} +4 -8
  154. package/dist/remove-collection-BOnxYvhj.mjs +36 -0
  155. package/dist/{render-rgZBe3rO.mjs → render-CI93iP0I.mjs} +9 -11
  156. package/dist/{replace-sHtPBNnA.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-Ce_gPVcg.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-D91DWM5l.mjs → schema-tables-CV386fnC.mjs} +10 -14
  164. package/dist/{schemas-OVYRgvz9.mjs → schemas-DM-UqZBQ.mjs} +8 -12
  165. package/dist/search-DFBwUc6d.mjs +44 -0
  166. package/dist/{search-msFNbxU6.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-cwIOOF0v.mjs → segment-OsrbUDzw.mjs} +3 -30
  170. package/dist/{selectors-Bsyhe1zP.mjs → selectors-DGDn0Hto.mjs} +4 -6
  171. package/dist/{send-BeFpVrwD.mjs → send-CVxxEpDB.mjs} +5 -16
  172. package/dist/{set-jRnCLhvc.mjs → set-DFolTjbd.mjs} +10 -20
  173. package/dist/{set-active-CFWtIWzX.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-CxqkjkdQ.mjs → skills--vK6J-e4.mjs} +4 -6
  181. package/dist/{skills-DlFbbaoS.mjs → skills-DTCrMcix.mjs} +13 -19
  182. package/dist/{snippet-1xYckIwc.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-DCIOvsc6.mjs → status-BhswxJL1.mjs} +23 -23
  187. package/dist/{status-BMEdl-_G.mjs → status-hL1am-HV.mjs} +6 -8
  188. package/dist/{subscription-BOOBR5Ir.mjs → subscription-_d5fB45F.mjs} +7 -10
  189. package/dist/{subscriptions-C_1AQpZF.mjs → subscriptions-s4TF6Ax3.mjs} +11 -16
  190. package/dist/{summary-D1fKnwE3.mjs → summary-BytbDz6e.mjs} +1 -2
  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-fDvuvqoU.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-BNwnJ3g9.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-BkSkCvpx.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-sJmW_En3.mjs → transform-job-DRrK28IH.mjs} +11 -38
  207. package/dist/{transform-tag-qTjNVfTW.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-Cosz-Vq3.mjs → transforms-oU4zizbO.mjs} +10 -13
  211. package/dist/{tree-BkXtw0c4.mjs → tree-CH-f3bjP.mjs} +6 -10
  212. package/dist/{unpublish-BlGj7omM.mjs → unpublish-BUl9RU5C.mjs} +7 -18
  213. package/dist/{update-DpIzJ8Ts.mjs → update-BCS5FxKr.mjs} +11 -19
  214. package/dist/{update-hoCyoR-u.mjs → update-BZPllQoR.mjs} +9 -16
  215. package/dist/{update-CXlhrcy8.mjs → update-BiFDBcEH.mjs} +9 -16
  216. package/dist/{update-Cbsgvopz.mjs → update-BzMDeZiU.mjs} +9 -15
  217. package/dist/{update-CTWsiwme.mjs → update-C4YJQFDS.mjs} +9 -16
  218. package/dist/{update-CzrbMLZq.mjs → update-CHNSUHK4.mjs} +9 -16
  219. package/dist/{update-CsYFWkVd.mjs → update-CO4m4wH3.mjs} +10 -21
  220. package/dist/{update-DDVuyquf.mjs → update-CVPAwJaH.mjs} +10 -18
  221. package/dist/{update-C9K1QnOo.mjs → update-CmDTljK-.mjs} +9 -17
  222. package/dist/{update-DrvAdi-O.mjs → update-CvOO8TED.mjs} +9 -17
  223. package/dist/{update-Tw0kARao.mjs → update-D-NE60AV.mjs} +9 -16
  224. package/dist/{update-ZJ5T-SBW.mjs → update-Nfi44RrE.mjs} +10 -18
  225. package/dist/{update-C-ChEcI9.mjs → update-bD_Jh5-s.mjs} +10 -16
  226. package/dist/{update-CuKHukZ6.mjs → update-cYkvbqK8.mjs} +9 -16
  227. package/dist/update-dashcard-C3TuYO_k.mjs +50 -0
  228. package/dist/{update-BHhEtxwC.mjs → update-tX9mKBN_.mjs} +10 -21
  229. package/dist/{upgrade-D0HiyTxw.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-D7NcSTj8.mjs → uuid-BJkDWj9p.mjs} +5 -7
  234. package/dist/validate-BWchyW0V.mjs +1469 -0
  235. package/dist/{validate-query-Di0VKMF-.mjs → validate-query-DaGYSmpQ.mjs} +4 -5
  236. package/dist/{values-OBiEVCVH.mjs → values-Dxf1JEoA.mjs} +8 -13
  237. package/dist/verify-K96rItG5.mjs +89 -0
  238. package/dist/{wait-B9qNlcTe.mjs → wait-DoMDH226.mjs} +10 -18
  239. package/dist/{wait-flags-D0FEgH6k.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 +25 -22
  243. package/skill-data/dashboard/SKILL.md +6 -2
  244. package/skill-data/document/SKILL.md +2 -2
  245. package/skill-data/transform/SKILL.md +1 -1
  246. package/.claude-plugin/marketplace.json +0 -19
  247. package/dist/add-collection-B-Pf12HY.mjs +0 -60
  248. package/dist/add-collection-B2PdVMRy.mjs +0 -9
  249. package/dist/alert-DGcECcDb.mjs +0 -26
  250. package/dist/auth-B8Yb4ZaN.mjs +0 -22
  251. package/dist/capabilities-1HTHeDa4.mjs +0 -684
  252. package/dist/card-BT7ce7uO.mjs +0 -27
  253. package/dist/cards-Bz6anDNX.mjs +0 -38
  254. package/dist/cli.d.mts +0 -1
  255. package/dist/collection-ahFSJT-e.mjs +0 -23
  256. package/dist/command-augment-D9pI9Vbh.mjs +0 -11
  257. package/dist/create-branch-BwqFHYcZ.mjs +0 -57
  258. package/dist/dashboard-C__PiWrv.mjs +0 -36
  259. package/dist/database-B-xwx5LA.mjs +0 -61
  260. package/dist/db-BiLWl1J9.mjs +0 -27
  261. package/dist/dirty-BqdcrfUz.mjs +0 -35
  262. package/dist/document-C9ykHYOG.mjs +0 -22
  263. package/dist/events-C9PqRUCO.mjs +0 -44
  264. package/dist/export-CdKR5nPT.mjs +0 -103
  265. package/dist/field-P7aJaet9.mjs +0 -21
  266. package/dist/fields-D2czTLKq.mjs +0 -37
  267. package/dist/get-75Vdyusm.mjs +0 -49
  268. package/dist/get-B6fSPCfp.mjs +0 -35
  269. package/dist/get-BbKC0fTx.mjs +0 -35
  270. package/dist/get-BfFKIfpX.mjs +0 -36
  271. package/dist/get-Bpw05IUm.mjs +0 -38
  272. package/dist/get-CaIYg15K.mjs +0 -41
  273. package/dist/get-DXydDRVU.mjs +0 -35
  274. package/dist/get-Dy5f54pV.mjs +0 -35
  275. package/dist/git-sync-BzievbUz.mjs +0 -31
  276. package/dist/has-remote-changes-CjDHphUH.mjs +0 -67
  277. package/dist/import-DzA5Ty9_.mjs +0 -94
  278. package/dist/is-dirty-Cv0bdKkX.mjs +0 -8
  279. package/dist/key-B9AAqwjq.mjs +0 -17
  280. package/dist/list-AyGEaws8.mjs +0 -8
  281. package/dist/list-BiAVv9jX.mjs +0 -31
  282. package/dist/list-Bm1PlZEV.mjs +0 -31
  283. package/dist/list-BtgjcC2w.mjs +0 -31
  284. package/dist/list-CLgkOcmY.mjs +0 -39
  285. package/dist/list-CSnpbFML.mjs +0 -31
  286. package/dist/list-Cn-VruXD.mjs +0 -8
  287. package/dist/list-D7mMcRG5.mjs +0 -49
  288. package/dist/list-DOhVPh95.mjs +0 -39
  289. package/dist/list-DSHteJOl.mjs +0 -32
  290. package/dist/list-Dl81pkVs.mjs +0 -53
  291. package/dist/list-DwMcwucR.mjs +0 -31
  292. package/dist/list-IxaPXKXu.mjs +0 -31
  293. package/dist/list-hKRQUcGB.mjs +0 -39
  294. package/dist/listing-1G8iFfZe.mjs +0 -10
  295. package/dist/measure-DNldT89z.mjs +0 -25
  296. package/dist/paginate-DuDXvUPr.mjs +0 -49
  297. package/dist/patch-BpjI9BOz.mjs +0 -20
  298. package/dist/patch-DrMVqf34.mjs +0 -36
  299. package/dist/poll-task-CiB1o1wG.mjs +0 -194
  300. package/dist/preflight-DJOBTWVq.mjs +0 -90
  301. package/dist/prompt-DmxSLNrO.mjs +0 -52
  302. package/dist/remove-collection-DYQibG6d.mjs +0 -42
  303. package/dist/requests-Pc0u7PQS.mjs +0 -96
  304. package/dist/rescan-values-CuPGOzKI.mjs +0 -40
  305. package/dist/resolve-BiL5scF0.mjs +0 -91
  306. package/dist/revision-message-flag-B4BxzDXJ.mjs +0 -11
  307. package/dist/run-D6jyZ0nv.mjs +0 -135
  308. package/dist/runs-DRxrpAkU.mjs +0 -53
  309. package/dist/runtime-CPIHg_Zg.mjs +0 -1699
  310. package/dist/segment-BIKVTq_n.mjs +0 -25
  311. package/dist/setting-CApPg0Xr.mjs +0 -20
  312. package/dist/setting-CDEoJYO0.mjs +0 -55
  313. package/dist/setup-CruHFQJz.mjs +0 -71
  314. package/dist/snippet-DdoeL-7N.mjs +0 -22
  315. package/dist/stash-CR-ESWiX.mjs +0 -108
  316. package/dist/summary-WUjzNITU.mjs +0 -40
  317. package/dist/sync-schema-Cq5LzHHc.mjs +0 -54
  318. package/dist/sync-scope-Dh1wBlrg.mjs +0 -55
  319. package/dist/table-BK56VDw8.mjs +0 -21
  320. package/dist/timeline-Dl5pm5tN.mjs +0 -24
  321. package/dist/timeline-event-5JAeGVSI.mjs +0 -22
  322. package/dist/transform-ATK6rJBl.mjs +0 -31
  323. package/dist/transform-job-BezBE6Y8.mjs +0 -25
  324. package/dist/transform-tag-GqbcG_6_.mjs +0 -21
  325. package/dist/update-dashcard-Dnfa8_aJ.mjs +0 -73
  326. package/dist/upload-WT6SywFa.mjs +0 -16
  327. package/dist/validate-BoY75_M3.mjs +0 -1496
  328. package/dist/verify-VEB7TBQ_.mjs +0 -79
@@ -0,0 +1,16 @@
1
+ import { f as errorMessage, n as AbortError, o as MetabaseError } from "./predicates-Bkm2IoeX.mjs";
2
+ //#region ../client/src/signal.ts
3
+ function combineAborts(...signals) {
4
+ return AbortSignal.any(signals.filter((signal) => signal !== void 0));
5
+ }
6
+ function throwIfAborted(...signals) {
7
+ for (const signal of signals) if (signal?.aborted) throw abortReason(signal);
8
+ }
9
+ function abortReason(signal) {
10
+ const reason = signal.reason;
11
+ if (reason instanceof MetabaseError) return reason;
12
+ if (reason instanceof Error || typeof reason === "string") return new AbortError(errorMessage(reason) || "aborted");
13
+ return new AbortError("aborted");
14
+ }
15
+ //#endregion
16
+ export { throwIfAborted as n, combineAborts as t };
@@ -1,5 +1,4 @@
1
1
  import { defineCommand } from "citty";
2
-
3
2
  //#region src/commands/skills/index.ts
4
3
  var skills_default = defineCommand({
5
4
  meta: {
@@ -8,11 +7,10 @@ var skills_default = defineCommand({
8
7
  },
9
8
  default: "list",
10
9
  subCommands: {
11
- list: () => import("./list-Bar8uQRC.mjs").then((m) => m.default),
12
- get: () => import("./get-CJYv3CfV.mjs").then((m) => m.default),
13
- path: () => import("./path-Bvs9IR4k.mjs").then((m) => m.default)
10
+ list: () => import("./list-UhpKG6_m.mjs").then((m) => m.default),
11
+ get: () => import("./get-CvI--9S_.mjs").then((m) => m.default),
12
+ path: () => import("./path-B5gHvrYL.mjs").then((m) => m.default)
14
13
  }
15
14
  });
16
-
17
15
  //#endregion
18
- export { skills_default as default };
16
+ export { skills_default as default };
@@ -1,10 +1,10 @@
1
- import { ConfigError, ValidationError, errorMessage, isNotFoundError } from "./capabilities-1HTHeDa4.mjs";
1
+ import { d as ValidationError, f as errorMessage, i as ConfigError, p as isFileNotFoundError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { O as readEnv, w as ENV_SKILLS_DIR } from "./cli.mjs";
2
3
  import { z } from "zod";
3
4
  import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
4
5
  import { dirname, join, resolve } from "node:path";
5
6
  import { fileURLToPath } from "node:url";
6
7
  import { YAMLParseError, parse } from "yaml";
7
-
8
8
  //#region src/runtime/yaml.ts
9
9
  function parseYamlResult(input, schema, opts = {}) {
10
10
  const sourcePrefix = opts.source ? `${opts.source}: ` : "";
@@ -34,7 +34,6 @@ function parseYamlResult(input, schema, opts = {}) {
34
34
  value: parsed.data
35
35
  };
36
36
  }
37
-
38
37
  //#endregion
39
38
  //#region src/core/skills.ts
40
39
  const Frontmatter = z.object({
@@ -57,7 +56,6 @@ const SKILL_DIR_NAMES = ["skills", "skill-data"];
57
56
  const SKILL_MD_FILENAME = "SKILL.md";
58
57
  const SKILL_REFERENCES_DIR = "references";
59
58
  const SKILL_TEMPLATES_DIR = "templates";
60
- const SKILLS_DIR_ENV = "MB_SKILLS_DIR";
61
59
  const FRONTMATTER_PREFIX_BYTES = 8192;
62
60
  const FRONTMATTER_FENCE = "---";
63
61
  function loadAllSkills() {
@@ -92,9 +90,9 @@ function availableSkillNames(all) {
92
90
  return `available: ${names.length === 0 ? "none" : names.join(", ")}`;
93
91
  }
94
92
  function resolveSkillDirs() {
95
- const override = process.env[SKILLS_DIR_ENV];
93
+ const override = readEnv(ENV_SKILLS_DIR);
96
94
  if (override !== void 0 && override !== "") {
97
- if (!isDirectory(override)) throw new ConfigError(`${SKILLS_DIR_ENV} points at ${override}, which is not a directory`);
95
+ if (!isDirectory(override)) throw new ConfigError(`${ENV_SKILLS_DIR} points at ${override}, which is not a directory`);
98
96
  return [resolve(override)];
99
97
  }
100
98
  const root = findPackageRoot();
@@ -102,8 +100,7 @@ function resolveSkillDirs() {
102
100
  return SKILL_DIR_NAMES.map((name) => join(root, name)).filter(isDirectory);
103
101
  }
104
102
  function findPackageRoot() {
105
- const here = fileURLToPath(import.meta.url);
106
- let dir = dirname(here);
103
+ let dir = dirname(fileURLToPath(import.meta.url));
107
104
  while (true) {
108
105
  for (const name of SKILL_DIR_NAMES) if (isDirectory(join(dir, name))) return dir;
109
106
  const parent = dirname(dir);
@@ -118,7 +115,7 @@ function discoverSkills(dirs) {
118
115
  try {
119
116
  entries = readdirSync(dir);
120
117
  } catch (error) {
121
- if (isNotFoundError(error)) continue;
118
+ if (isFileNotFoundError(error)) continue;
122
119
  throw error;
123
120
  }
124
121
  for (const entryName of entries) {
@@ -137,8 +134,7 @@ function discoverSkills(dirs) {
137
134
  return skills;
138
135
  }
139
136
  function readFrontmatterFromSkill(skillDir) {
140
- const skillMd = join(skillDir, SKILL_MD_FILENAME);
141
- const prefix = readFilePrefix(skillMd, FRONTMATTER_PREFIX_BYTES);
137
+ const prefix = readFilePrefix(join(skillDir, SKILL_MD_FILENAME), FRONTMATTER_PREFIX_BYTES);
142
138
  if (prefix === null) return null;
143
139
  return parseFrontmatter(prefix);
144
140
  }
@@ -147,7 +143,7 @@ function readFilePrefix(path, maxBytes) {
147
143
  try {
148
144
  fd = openSync(path, "r");
149
145
  } catch (error) {
150
- if (isNotFoundError(error)) return null;
146
+ if (isFileNotFoundError(error)) return null;
151
147
  throw error;
152
148
  }
153
149
  try {
@@ -161,11 +157,10 @@ function readFilePrefix(path, maxBytes) {
161
157
  function parseFrontmatter(content) {
162
158
  const trimmed = content.trimStart();
163
159
  if (!trimmed.startsWith(FRONTMATTER_FENCE)) return null;
164
- const afterOpening = trimmed.slice(FRONTMATTER_FENCE.length);
160
+ const afterOpening = trimmed.slice(3);
165
161
  const closingIndex = afterOpening.indexOf(`\n${FRONTMATTER_FENCE}`);
166
162
  if (closingIndex < 0) return null;
167
- const block = afterOpening.slice(0, closingIndex);
168
- const result = parseYamlResult(block, Frontmatter);
163
+ const result = parseYamlResult(afterOpening.slice(0, closingIndex), Frontmatter);
169
164
  if (!result.ok) return null;
170
165
  return result.value;
171
166
  }
@@ -205,7 +200,7 @@ function isDirectory(path) {
205
200
  try {
206
201
  return statSync(path).isDirectory();
207
202
  } catch (error) {
208
- if (isNotFoundError(error)) return false;
203
+ if (isFileNotFoundError(error)) return false;
209
204
  throw error;
210
205
  }
211
206
  }
@@ -213,10 +208,9 @@ function isFile(path) {
213
208
  try {
214
209
  return statSync(path).isFile();
215
210
  } catch (error) {
216
- if (isNotFoundError(error)) return false;
211
+ if (isFileNotFoundError(error)) return false;
217
212
  throw error;
218
213
  }
219
214
  }
220
-
221
215
  //#endregion
222
- export { SkillContent, findSkillByName, loadAllSkills, loadVisibleSkills, readSkillContent, selectSkillsByNames };
216
+ export { readSkillContent as a, loadVisibleSkills as i, findSkillByName as n, selectSkillsByNames as o, loadAllSkills as r, SkillContent as t };
@@ -1,6 +1,5 @@
1
1
  import { z } from "zod";
2
-
3
- //#region src/domain/snippet.ts
2
+ //#region ../client/src/domain/snippet.ts
4
3
  const Snippet = z.object({
5
4
  id: z.number().int(),
6
5
  name: z.string(),
@@ -21,34 +20,7 @@ const SnippetCompact = Snippet.pick({
21
20
  archived: true,
22
21
  collection_id: true
23
22
  }).strip();
24
- const snippetView = {
25
- compactPick: SnippetCompact,
26
- tableColumns: [
27
- {
28
- key: "id",
29
- label: "ID"
30
- },
31
- {
32
- key: "name",
33
- label: "Name"
34
- },
35
- {
36
- key: "description",
37
- label: "Description"
38
- },
39
- {
40
- key: "collection_id",
41
- label: "Collection"
42
- },
43
- {
44
- key: "archived",
45
- label: "Archived"
46
- }
47
- ]
48
- };
49
- const SNIPPET_NAME_PATTERN = /^(?!\s)[^}]*$/;
50
- const SNIPPET_NAME_MESSAGE = "snippet names cannot include '}' or start with spaces";
51
- const snippetName = z.string().regex(SNIPPET_NAME_PATTERN, SNIPPET_NAME_MESSAGE);
23
+ const snippetName = z.string().regex(/^(?!\s)[^}]*$/, "snippet names cannot include '}' or start with spaces");
52
24
  const SnippetCreateInput = z.object({
53
25
  name: snippetName,
54
26
  content: z.string(),
@@ -62,6 +34,5 @@ const SnippetUpdateInput = z.object({
62
34
  archived: z.boolean().nullable().optional(),
63
35
  collection_id: z.number().int().positive().nullable().optional()
64
36
  }).loose();
65
-
66
37
  //#endregion
67
- export { Snippet, SnippetCompact, SnippetCreateInput, SnippetUpdateInput, snippetView };
38
+ export { SnippetUpdateInput as i, SnippetCompact as n, SnippetCreateInput as r, Snippet as t };
@@ -0,0 +1,19 @@
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
+ //#region src/commands/snippet/index.ts
3
+ var snippet_default = defineCommandGroup({
4
+ name: "snippet",
5
+ description: "Manage Metabase native query snippets",
6
+ skills: [{
7
+ skill: "core",
8
+ purpose: "native-SQL snippets and body input"
9
+ }],
10
+ subCommands: {
11
+ list: () => import("./list-BOET6zhP.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-C2-Q3iQ5.mjs").then((mod) => mod.default),
13
+ create: () => import("./create-BNQ_DytP.mjs").then((mod) => mod.default),
14
+ update: () => import("./update-CHNSUHK4.mjs").then((mod) => mod.default),
15
+ archive: () => import("./archive-ChORH5JH.mjs").then((mod) => mod.default)
16
+ }
17
+ });
18
+ //#endregion
19
+ export { snippet_default as default };
@@ -0,0 +1,29 @@
1
+ import { n as SnippetCompact } from "./snippet-CyKAgIZl.mjs";
2
+ //#region src/output/views/snippet.ts
3
+ const snippetView = {
4
+ compactPick: SnippetCompact,
5
+ tableColumns: [
6
+ {
7
+ key: "id",
8
+ label: "ID"
9
+ },
10
+ {
11
+ key: "name",
12
+ label: "Name"
13
+ },
14
+ {
15
+ key: "description",
16
+ label: "Description"
17
+ },
18
+ {
19
+ key: "collection_id",
20
+ label: "Collection"
21
+ },
22
+ {
23
+ key: "archived",
24
+ label: "Archived"
25
+ }
26
+ ]
27
+ };
28
+ //#endregion
29
+ export { snippetView as t };
@@ -0,0 +1,61 @@
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
4
+ import { c as SyncStashResult } from "./git-sync-BDnxPrqU.mjs";
5
+ import { n as parseWaitFlags, t as gitSyncWaitFlags } from "./wait-flags-DWEF9tX4.mjs";
6
+ import { s as syncStashView } from "./git-sync-DxD_ng48.mjs";
7
+ import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask } from "./sync-task-BACcrs0i.mjs";
8
+ //#region src/commands/git-sync/stash.ts
9
+ const DEFAULT_STASH_MESSAGE = "Stashed from mb CLI";
10
+ var stash_default = defineMetabaseCommand({
11
+ meta: {
12
+ name: "stash",
13
+ description: "Export current Metabase state to a new branch on the git remote"
14
+ },
15
+ capabilities: {
16
+ minVersion: 60,
17
+ tokenFeature: "remote_sync"
18
+ },
19
+ args: {
20
+ ...outputFlags,
21
+ ...profileFlag,
22
+ ...connectionFlags,
23
+ newBranch: {
24
+ type: "string",
25
+ description: "Branch to create and export to",
26
+ alias: "new-branch",
27
+ required: true
28
+ },
29
+ message: {
30
+ type: "string",
31
+ description: "Commit message",
32
+ alias: "m",
33
+ default: DEFAULT_STASH_MESSAGE
34
+ },
35
+ ...gitSyncWaitFlags
36
+ },
37
+ outputSchema: SyncStashResult,
38
+ examples: ["mb git-sync stash --new-branch wip", "mb git-sync stash --new-branch wip -m \"work in progress\" --json"],
39
+ async run({ args, ctx, getClient }) {
40
+ const newBranch = args.newBranch.trim();
41
+ if (newBranch === "") throw new ConfigError("invalid new-branch: must not be blank");
42
+ const message = args.message.trim();
43
+ if (message === "") throw new ConfigError("invalid message: must not be blank");
44
+ const wait = parseWaitFlags(args);
45
+ const params = {
46
+ new_branch: newBranch,
47
+ message
48
+ };
49
+ if (wait.enabled) params.wait = taskPollOptions(wait.schedule);
50
+ const result = await (await getClient()).gitSync.stash(params);
51
+ if (!wait.enabled) {
52
+ renderSummary(result, syncStashView, `Started stash to branch "${newBranch}" (task #${result.task_id}).`, ctx);
53
+ return;
54
+ }
55
+ const final = result.final ?? null;
56
+ renderSummary(result, syncStashView, final === null || final.status === "successful" ? `Stashed Metabase state to branch "${newBranch}" (task #${result.task_id}).` : formatSyncTask(final), ctx);
57
+ throwIfFailedTask(final, "stash");
58
+ }
59
+ });
60
+ //#endregion
61
+ export { stash_default as default };
@@ -1,16 +1,14 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import "./collection-BrrjbPLN.mjs";
5
- import "./listing-1G8iFfZe.mjs";
6
- import "./poll-rqLkEJVP.mjs";
7
- import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed, formatSyncTask } from "./poll-task-CiB1o1wG.mjs";
8
- import { IsDirtyResult } from "./is-dirty-4kIyD4oP.mjs";
9
- import { SyncedCollection, fetchSyncedCollections } from "./sync-scope-Dh1wBlrg.mjs";
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { r as Collection } from "./collection-CfulNRBG.mjs";
4
+ import { l as SyncTask } from "./git-sync-BDnxPrqU.mjs";
5
+ import { n as formatSyncTask } from "./sync-task-BACcrs0i.mjs";
10
6
  import { z } from "zod";
11
-
12
7
  //#region src/commands/git-sync/status.ts
13
- const RemoteSyncBranch = z.string().nullable();
8
+ const SyncedCollection = Collection.pick({
9
+ id: true,
10
+ name: true
11
+ }).strip();
14
12
  const SyncStatus = z.object({
15
13
  branch: z.string().nullable(),
16
14
  is_dirty: z.boolean(),
@@ -55,21 +53,25 @@ var status_default = defineMetabaseCommand({
55
53
  outputSchema: SyncStatus,
56
54
  examples: ["mb git-sync status", "mb git-sync status --json"],
57
55
  async run({ ctx, getClient }) {
58
- const client = await getClient();
59
- const [branch, isDirty, currentTask, syncedCollections] = await Promise.all([
60
- fetchOptionalParsed(client, "/api/setting/remote-sync-branch", RemoteSyncBranch),
61
- client.requestParsed(IsDirtyResult, REMOTE_SYNC_PATHS.isDirty),
62
- fetchCurrentTask(client),
63
- fetchSyncedCollections(client)
56
+ const mb = await getClient();
57
+ const [branch, isDirty, currentTask, collections] = await Promise.all([
58
+ mb.gitSync.branch(),
59
+ mb.gitSync.isDirty(),
60
+ mb.gitSync.currentTask(),
61
+ mb.gitSync.syncedCollections()
64
62
  ]);
63
+ const syncedCollections = collections.data.map((collection) => ({
64
+ id: collection.id,
65
+ name: collection.name
66
+ }));
65
67
  const summary = {
66
68
  branch,
67
- is_dirty: isDirty.is_dirty,
69
+ is_dirty: isDirty,
68
70
  current_task: currentTask,
69
71
  synced_collections: syncedCollections
70
72
  };
71
73
  const branchPart = branch === null ? "git-sync branch not set" : `Branch ${branch}`;
72
- const dirtyPart = isDirty.is_dirty ? "Metabase has unsynced local changes" : "in sync with the remote";
74
+ const dirtyPart = isDirty ? "Metabase has unsynced local changes" : "in sync with the remote";
73
75
  const taskPart = currentTask === null ? "No task running." : formatSyncTask(currentTask);
74
76
  const scopePart = formatSyncedCollections(syncedCollections);
75
77
  renderSummary(summary, syncStatusView, `${branchPart} — ${dirtyPart}. ${taskPart} ${scopePart}`, ctx);
@@ -77,9 +79,7 @@ var status_default = defineMetabaseCommand({
77
79
  });
78
80
  function formatSyncedCollections(collections) {
79
81
  if (collections.length === 0) return "No collections are marked for sync.";
80
- const names = collections.map((collection) => `${collection.name} (${collection.id})`);
81
- return `Synced collections: ${names.join(", ")}.`;
82
+ return `Synced collections: ${collections.map((collection) => `${collection.name} (${collection.id})`).join(", ")}.`;
82
83
  }
83
-
84
84
  //#endregion
85
- export { status_default as default };
85
+ export { status_default as default };
@@ -1,9 +1,8 @@
1
- import { outputFlags, profileFlag, renderItem } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { ParsedVersionSchema, ProbedUser, ProfileAuthMethod, ProfileLastFailure, TokenFeatures, defineMetabaseCommand, displayUrl, profileAuthMethod, readProfileRecord, resolveProfileName } from "./runtime-CPIHg_Zg.mjs";
4
- import { renderAuthMethod, renderTimestamp, renderUserName, renderUserRole, renderVersionTag } from "./render-rgZBe3rO.mjs";
1
+ import { F as outputFlags, I as profileFlag, o as renderItem } from "./cli.mjs";
2
+ import { A as ProbedUser, L as TokenFeatures, M as ProfileLastFailure, N as profileAuthMethod, P as ParsedVersion, c as resolveProfileName, j as ProfileAuthMethod, t as defineMetabaseCommand, w as readProfileRecord } from "./runtime-DiKyBxOw.mjs";
3
+ import { s as displayUrl } from "./network-error-CEb9ymDW.mjs";
4
+ import { a as renderVersionTag, i as renderUserRole, n as renderTimestamp, r as renderUserName, t as renderAuthMethod } from "./render-CI93iP0I.mjs";
5
5
  import { z } from "zod";
6
-
7
6
  //#region src/commands/auth/status.ts
8
7
  const AuthStatus = z.object({
9
8
  profile: z.string(),
@@ -11,7 +10,7 @@ const AuthStatus = z.object({
11
10
  url: z.string().nullable(),
12
11
  method: ProfileAuthMethod.nullable(),
13
12
  user: ProbedUser.nullable(),
14
- version: ParsedVersionSchema.nullable(),
13
+ version: ParsedVersion.nullable(),
15
14
  tokenFeatures: TokenFeatures.nullable(),
16
15
  lastProbedAt: z.iso.datetime().nullable(),
17
16
  lastFailure: ProfileLastFailure.nullable()
@@ -101,6 +100,5 @@ var status_default = defineMetabaseCommand({
101
100
  }, authStatusView, ctx);
102
101
  }
103
102
  });
104
-
105
103
  //#endregion
106
- export { status_default as default };
104
+ export { status_default as default };
@@ -1,6 +1,4 @@
1
- import "./command-augment-D9pI9Vbh.mjs";
2
- import { defineCommandGroup } from "./group-DfTvzGz-.mjs";
3
-
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
4
2
  //#region src/commands/subscription/index.ts
5
3
  var subscription_default = defineCommandGroup({
6
4
  name: "subscription",
@@ -13,13 +11,12 @@ var subscription_default = defineCommandGroup({
13
11
  purpose: "the dashboard and dashcards a subscription delivers"
14
12
  }],
15
13
  subCommands: {
16
- list: () => import("./list-Cn-VruXD.mjs").then((mod) => mod.default),
17
- get: () => import("./get-CvXOGyFj.mjs").then((mod) => mod.default),
18
- create: () => import("./create-COI80Veo.mjs").then((mod) => mod.default),
19
- update: () => import("./update-Cbsgvopz.mjs").then((mod) => mod.default),
20
- archive: () => import("./archive-hKPQXgXa.mjs").then((mod) => mod.default)
14
+ list: () => import("./list-B8nAGwP4.mjs").then((mod) => mod.default),
15
+ get: () => import("./get-DmpB6J9g.mjs").then((mod) => mod.default),
16
+ create: () => import("./create-DF4QtgDL.mjs").then((mod) => mod.default),
17
+ update: () => import("./update-BzMDeZiU.mjs").then((mod) => mod.default),
18
+ archive: () => import("./archive-CwAdlv63.mjs").then((mod) => mod.default)
21
19
  }
22
20
  });
23
-
24
21
  //#endregion
25
- export { subscription_default as default };
22
+ export { subscription_default as default };
@@ -1,14 +1,10 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import { parseId } from "./parse-id-waEVK-uR.mjs";
5
- import "./parameter-hCQ80jnc.mjs";
6
- import { Pulse, pulseView } from "./pulse-C8q469KD.mjs";
7
- import { SubscriptionListEnvelope } from "./list-oRyXsJXs.mjs";
8
- import { z } from "zod";
9
-
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, N as listFlags, s as renderList } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { n as windowList } from "./window-BkvrP0gB.mjs";
5
+ import { t as pulseView } from "./pulse-DhG6I9mI.mjs";
6
+ import { SubscriptionListEnvelope } from "./list-B8nAGwP4.mjs";
10
7
  //#region src/commands/dashboard/subscriptions.ts
11
- const PulseApiList = z.array(Pulse);
12
8
  var subscriptions_default = defineMetabaseCommand({
13
9
  meta: {
14
10
  name: "subscriptions",
@@ -18,6 +14,7 @@ var subscriptions_default = defineMetabaseCommand({
18
14
  capabilities: { minVersion: 58 },
19
15
  args: {
20
16
  ...outputFlags,
17
+ ...listFlags,
21
18
  ...profileFlag,
22
19
  ...connectionFlags,
23
20
  archived: {
@@ -34,14 +31,12 @@ var subscriptions_default = defineMetabaseCommand({
34
31
  examples: ["mb dashboard subscriptions 10", "mb dashboard subscriptions 10 --json"],
35
32
  async run({ args, ctx, getClient }) {
36
33
  const id = parseId(args.id);
37
- const client = await getClient();
38
- const items = await client.requestParsed(PulseApiList, "/api/pulse", { query: {
34
+ const { data, total } = await (await getClient()).pulse.list({
39
35
  dashboard_id: id,
40
36
  archived: args.archived || void 0
41
- } });
42
- renderList(wrapList(items), pulseView, ctx);
37
+ });
38
+ renderList(windowList(data, ctx.range, total), pulseView, ctx);
43
39
  }
44
40
  });
45
-
46
41
  //#endregion
47
- export { subscriptions_default as default };
42
+ export { subscriptions_default as default };
@@ -3,6 +3,5 @@ function describeAlert(verb, alert) {
3
3
  if (alert.payload === null) return `${verb} alert ${alert.id}.`;
4
4
  return `${verb} alert ${alert.id} on card ${alert.payload.card_id}.`;
5
5
  }
6
-
7
6
  //#endregion
8
- export { describeAlert };
7
+ export { describeAlert as t };
@@ -0,0 +1,31 @@
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, o as renderItem } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { a as FieldSummary } from "./field-Cr2DPUG9.mjs";
5
+ import { t as fieldSummaryView } from "./field-BPsNa-TO.mjs";
6
+ //#region src/commands/field/summary.ts
7
+ var summary_default = defineMetabaseCommand({
8
+ meta: {
9
+ name: "summary",
10
+ description: "Get the row count and distinct count for a field"
11
+ },
12
+ capabilities: { minVersion: 58 },
13
+ args: {
14
+ ...outputFlags,
15
+ ...profileFlag,
16
+ ...connectionFlags,
17
+ id: {
18
+ type: "positional",
19
+ description: "Field id",
20
+ required: true
21
+ }
22
+ },
23
+ outputSchema: FieldSummary,
24
+ examples: ["mb field summary 100", "mb field summary 100 --json"],
25
+ async run({ args, ctx, getClient }) {
26
+ const id = parseId(args.id);
27
+ renderItem(await (await getClient()).field.summary(id), fieldSummaryView, ctx);
28
+ }
29
+ });
30
+ //#endregion
31
+ export { summary_default as default };
@@ -0,0 +1,35 @@
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { t as parseId } from "./parse-id-C_jmKFaa.mjs";
4
+ import { a as DatabaseSyncResult } from "./database-C8G6ZKG0.mjs";
5
+ import { t as databaseSyncResultView } from "./database-B19qlLKZ.mjs";
6
+ import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-DWEF9tX4.mjs";
7
+ //#region src/commands/db/sync-schema.ts
8
+ var sync_schema_default = defineMetabaseCommand({
9
+ meta: {
10
+ name: "sync-schema",
11
+ description: "Trigger a manual schema sync for a database"
12
+ },
13
+ details: "Queues an async schema sync and returns immediately. Pass --wait to poll the database until its initial_sync_status reports `complete` (a database that has already finished its initial sync returns at once). To wait for a specific newly-materialized transform table to register, prefer `mb transform run <id> --sync`.",
14
+ capabilities: { minVersion: 58 },
15
+ args: {
16
+ ...outputFlags,
17
+ ...profileFlag,
18
+ ...connectionFlags,
19
+ ...waitFlags,
20
+ id: {
21
+ type: "positional",
22
+ description: "Database id",
23
+ required: true
24
+ }
25
+ },
26
+ outputSchema: DatabaseSyncResult,
27
+ examples: ["mb db sync-schema 1", "mb db sync-schema 1 --wait --json"],
28
+ async run({ args, ctx, getClient }) {
29
+ const id = parseId(args.id);
30
+ const wait = parseWaitFlags(args);
31
+ renderSummary(await (await getClient()).database.syncSchema(id, { wait: wait.enabled ? wait.schedule : void 0 }), databaseSyncResultView, wait.enabled ? `Schema sync for database ${id} complete.` : `Schema sync queued for database ${id}.`, ctx);
32
+ }
33
+ });
34
+ //#endregion
35
+ export { sync_schema_default as default };
@@ -0,0 +1,37 @@
1
+ import { d as isSyncTaskFailed, l as SyncTask } from "./git-sync-BDnxPrqU.mjs";
2
+ import { z } from "zod";
3
+ //#region src/commands/git-sync/sync-task.ts
4
+ const SyncTaskIdle = z.object({ status: z.literal("idle") });
5
+ const SyncTaskOrIdle = z.union([SyncTask, SyncTaskIdle]);
6
+ const syncTaskIdleView = {
7
+ compactPick: SyncTaskIdle,
8
+ tableColumns: [{
9
+ key: "status",
10
+ label: "Status"
11
+ }]
12
+ };
13
+ function taskPollOptions(schedule) {
14
+ return {
15
+ ...schedule,
16
+ backoff: "exponential"
17
+ };
18
+ }
19
+ function throwIfFailedTask(final, verb) {
20
+ if (final === null || !isSyncTaskFailed(final.status)) return;
21
+ const detail = final.error_message ? `: ${final.error_message}` : "";
22
+ throw new Error(`git-sync ${verb} ${final.status}${detail}`);
23
+ }
24
+ function formatSyncTask(task) {
25
+ const label = `${task.sync_task_type === "export" ? "Export" : "Import"} task #${task.id}`;
26
+ const detail = task.error_message ? `: ${task.error_message}` : "";
27
+ switch (task.status) {
28
+ case "running": return `${label} is running${task.progress === null ? "" : ` (${Math.round(task.progress * 100)}%)`}.`;
29
+ case "successful": return `${label} succeeded.`;
30
+ case "errored": return `${label} errored${detail}.`;
31
+ case "timed-out": return `${label} timed out${detail}.`;
32
+ case "conflict": return `${label} hit conflicts${detail}.`;
33
+ case "cancelled": return `${label} was cancelled.`;
34
+ }
35
+ }
36
+ //#endregion
37
+ export { throwIfFailedTask as a, taskPollOptions as i, formatSyncTask as n, syncTaskIdleView as r, SyncTaskOrIdle as t };