@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
@@ -1,11 +1,9 @@
1
- import { ConfigError } from "./capabilities-1HTHeDa4.mjs";
2
-
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
3
2
  //#region src/commands/parse-enum.ts
4
3
  function parseEnumFlag(value, schema, name) {
5
4
  const result = schema.safeParse(value);
6
5
  if (result.success) return result.data;
7
6
  throw new ConfigError(`invalid ${name}: "${value}" (expected one of: ${schema.options.join(", ")})`);
8
7
  }
9
-
10
8
  //#endregion
11
- export { parseEnumFlag };
9
+ export { parseEnumFlag as t };
@@ -1,5 +1,4 @@
1
- import { parseInteger } from "./runtime-CPIHg_Zg.mjs";
2
-
1
+ import { R as parseInteger } from "./runtime-DiKyBxOw.mjs";
3
2
  //#region src/commands/parse-id.ts
4
3
  function parseId(value, name = "id") {
5
4
  return parseInteger(value, {
@@ -7,6 +6,5 @@ function parseId(value, name = "id") {
7
6
  min: 1
8
7
  });
9
8
  }
10
-
11
9
  //#endregion
12
- export { parseId };
10
+ export { parseId as t };
@@ -1,7 +1,6 @@
1
- import { ConfigError } from "./capabilities-1HTHeDa4.mjs";
2
-
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
3
2
  //#region src/commands/collection/parse-ref.ts
4
- const SPECIAL_TOKENS = new Set(["root", "trash"]);
3
+ const SPECIAL_TOKENS = /* @__PURE__ */ new Set(["root", "trash"]);
5
4
  const POSITIVE_INTEGER_PATTERN = /^[1-9]\d*$/;
6
5
  const NANO_ID_PATTERN = /^[A-Za-z0-9_-]{21}$/;
7
6
  const FORMAT_HINT = "expected integer, \"root\", \"trash\", or 21-char entity id";
@@ -12,6 +11,5 @@ function parseCollectionRef(raw) {
12
11
  if (POSITIVE_INTEGER_PATTERN.test(trimmed) || NANO_ID_PATTERN.test(trimmed)) return trimmed;
13
12
  throw new ConfigError(`invalid id: ${JSON.stringify(raw)} (${FORMAT_HINT})`);
14
13
  }
15
-
16
14
  //#endregion
17
- export { parseCollectionRef };
15
+ export { parseCollectionRef as t };
@@ -1,9 +1,8 @@
1
- import { listEnvelopeSchema, outputFlags, renderList, wrapList } from "./capabilities-1HTHeDa4.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
- import { findSkillByName, loadAllSkills, loadVisibleSkills } from "./skills-DlFbbaoS.mjs";
1
+ import { F as outputFlags, N as listFlags, R as listEnvelopeSchema, s as renderList } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
3
+ import { n as windowList } from "./window-BkvrP0gB.mjs";
4
+ import { i as loadVisibleSkills, n as findSkillByName, r as loadAllSkills } from "./skills-DTCrMcix.mjs";
5
5
  import { z } from "zod";
6
-
7
6
  //#region src/commands/skills/path.ts
8
7
  const SkillPath = z.object({
9
8
  name: z.string(),
@@ -25,8 +24,10 @@ var path_default = defineMetabaseCommand({
25
24
  name: "path",
26
25
  description: "Print the absolute path to a skill (or all skills). Useful when an agent needs to read the SKILL.md or its references with the Read tool directly."
27
26
  },
27
+ capabilities: null,
28
28
  args: {
29
29
  ...outputFlags,
30
+ ...listFlags,
30
31
  name: {
31
32
  type: "positional",
32
33
  description: "Skill name (omit to list every non-hidden skill)",
@@ -40,8 +41,7 @@ var path_default = defineMetabaseCommand({
40
41
  "mb skills path core --json"
41
42
  ],
42
43
  run({ args, ctx }) {
43
- const items = args.name === void 0 ? loadVisibleSkills().map(toSkillPath) : [toSkillPath(findSkillByName(loadAllSkills(), args.name))];
44
- renderList(wrapList(items), skillPathView, ctx);
44
+ renderList(windowList(args.name === void 0 ? loadVisibleSkills().map(toSkillPath) : [toSkillPath(findSkillByName(loadAllSkills(), args.name))], ctx.range), skillPathView, ctx);
45
45
  }
46
46
  });
47
47
  function toSkillPath(info) {
@@ -50,6 +50,5 @@ function toSkillPath(info) {
50
50
  dir: info.dir
51
51
  };
52
52
  }
53
-
54
53
  //#endregion
55
- export { path_default as default };
54
+ export { path_default as default };
@@ -1,28 +1,25 @@
1
- import { TimeoutError } from "./capabilities-1HTHeDa4.mjs";
2
- import { combineAborts, throwIfAborted } from "./runtime-CPIHg_Zg.mjs";
1
+ import { l as TimeoutError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { n as throwIfAborted, t as combineAborts } from "./signal-CMd0EFUa.mjs";
3
3
  import { setTimeout } from "node:timers/promises";
4
-
5
- //#region src/runtime/poll.ts
4
+ //#region ../client/src/poll.ts
6
5
  const DEFAULT_INTERVAL_MS = 2e3;
7
- const DEFAULT_MAX_INTERVAL_MS = 3e4;
8
6
  const DEFAULT_TIMEOUT_MS = 6e5;
9
7
  async function pollUntil(fn, done, opts = {}) {
10
- const intervalMs = opts.intervalMs ?? DEFAULT_INTERVAL_MS;
11
- const maxIntervalMs = opts.maxIntervalMs ?? DEFAULT_MAX_INTERVAL_MS;
12
- const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
8
+ const intervalMs = opts.intervalMs ?? 2e3;
9
+ const maxIntervalMs = opts.maxIntervalMs ?? 3e4;
10
+ const timeoutMs = opts.timeoutMs ?? 6e5;
13
11
  const backoff = opts.backoff ?? "fixed";
14
- const timeoutSignal = AbortSignal.timeout(timeoutMs);
15
- const { combined, processSignal } = combineAborts(timeoutSignal, opts.signal);
12
+ const combined = combineAborts(AbortSignal.timeout(timeoutMs), opts.signal);
16
13
  let interval = intervalMs;
17
14
  let attempts = 0;
18
15
  while (true) {
19
- throwIfAborted(processSignal);
16
+ throwIfAborted(opts.signal);
20
17
  if (combined.aborted) throw pollTimeout(timeoutMs, attempts);
21
18
  let value;
22
19
  try {
23
20
  value = await fn(combined);
24
21
  } catch (error) {
25
- throwIfAborted(processSignal);
22
+ throwIfAborted(opts.signal);
26
23
  if (combined.aborted) throw pollTimeout(timeoutMs, attempts);
27
24
  throw error;
28
25
  }
@@ -31,7 +28,7 @@ async function pollUntil(fn, done, opts = {}) {
31
28
  try {
32
29
  await setTimeout(interval, void 0, { signal: combined });
33
30
  } catch (error) {
34
- throwIfAborted(processSignal);
31
+ throwIfAborted(opts.signal);
35
32
  if (combined.aborted) throw pollTimeout(timeoutMs, attempts);
36
33
  throw error;
37
34
  }
@@ -45,6 +42,5 @@ function pollTimeout(timeoutMs, attempts) {
45
42
  attempts
46
43
  });
47
44
  }
48
-
49
45
  //#endregion
50
- export { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS, pollUntil };
46
+ export { DEFAULT_TIMEOUT_MS as n, pollUntil as r, DEFAULT_INTERVAL_MS as t };
@@ -0,0 +1,170 @@
1
+ import { ZodError, core } from "zod";
2
+ //#region ../client/src/json-pointer.ts
3
+ function escapeJsonPointerSegment(key) {
4
+ if (typeof key === "number") return String(key);
5
+ return (typeof key === "symbol" ? key.toString() : key).replaceAll("~", "~0").replaceAll("/", "~1");
6
+ }
7
+ //#endregion
8
+ //#region ../client/src/errors.ts
9
+ var MetabaseError = class extends Error {
10
+ get userMessage() {
11
+ return this.message;
12
+ }
13
+ };
14
+ var NetworkError = class extends MetabaseError {
15
+ category = "network";
16
+ isRetryable = true;
17
+ developerDetail;
18
+ constructor(message, developerDetail) {
19
+ super(message);
20
+ this.name = "NetworkError";
21
+ this.developerDetail = developerDetail;
22
+ }
23
+ };
24
+ var TimeoutError = class extends MetabaseError {
25
+ category = "timeout";
26
+ isRetryable = true;
27
+ developerDetail;
28
+ constructor(message, developerDetail) {
29
+ super(message);
30
+ this.name = "TimeoutError";
31
+ this.developerDetail = developerDetail;
32
+ }
33
+ };
34
+ var ValidationError = class extends MetabaseError {
35
+ category = "validation";
36
+ isRetryable = false;
37
+ developerDetail;
38
+ constructor(message, developerDetail) {
39
+ super(message);
40
+ this.name = "ValidationError";
41
+ this.developerDetail = developerDetail;
42
+ }
43
+ get userMessage() {
44
+ const issues = this.developerDetail.zodIssues;
45
+ if (issues.length === 0) return this.message;
46
+ return `${this.message}\n${formatIssueLines(issues, VALIDATION_ISSUE_FORMAT)}`;
47
+ }
48
+ };
49
+ const VALIDATION_MAX_ISSUES = 10;
50
+ const RESPONSE_SHAPE_MAX_ISSUES = 5;
51
+ const VALIDATION_ISSUE_FORMAT = {
52
+ max: VALIDATION_MAX_ISSUES,
53
+ formatIssue: (issue) => `${formatZodIssuePointer(issue.path)}: ${issue.message}`
54
+ };
55
+ const RESPONSE_SHAPE_ISSUE_FORMAT = {
56
+ max: RESPONSE_SHAPE_MAX_ISSUES,
57
+ formatIssue: formatZodIssue
58
+ };
59
+ function formatIssueLines(issues, format) {
60
+ const head = issues.slice(0, format.max).map(format.formatIssue);
61
+ const overflow = issues.length - format.max;
62
+ if (overflow > 0) head.push(`... and ${overflow} more`);
63
+ return head.map((line) => ` ${line}`).join("\n");
64
+ }
65
+ function formatZodIssuePointer(path) {
66
+ if (path.length === 0) return "/";
67
+ return path.map((key) => `/${escapeJsonPointerSegment(key)}`).join("");
68
+ }
69
+ const RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION = "Metabase returned unexpected response shape";
70
+ var ResponseShapeError = class ResponseShapeError extends MetabaseError {
71
+ category = "response-shape";
72
+ isRetryable = false;
73
+ developerDetail;
74
+ constructor(message, developerDetail) {
75
+ super(message);
76
+ this.name = "ResponseShapeError";
77
+ this.developerDetail = developerDetail;
78
+ }
79
+ static fromZodIssues(developerDetail) {
80
+ return new ResponseShapeError(formatResponseShapeMessage(developerDetail.zodIssues, developerDetail.serverTag), developerDetail);
81
+ }
82
+ };
83
+ function formatResponseShapeMessage(issues, serverTag) {
84
+ const lead = serverTag === null ? RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION : `On Metabase ${serverTag} the response shape was unexpected`;
85
+ if (issues.length === 0) return lead;
86
+ return `${lead}:\n${formatIssueLines(issues, RESPONSE_SHAPE_ISSUE_FORMAT)}`;
87
+ }
88
+ var ConfigError = class extends MetabaseError {
89
+ category = "config";
90
+ isRetryable = false;
91
+ developerDetail = null;
92
+ constructor(message) {
93
+ super(message);
94
+ this.name = "ConfigError";
95
+ }
96
+ };
97
+ var InternalError = class extends MetabaseError {
98
+ category = "internal";
99
+ isRetryable = false;
100
+ developerDetail = null;
101
+ constructor(message) {
102
+ super(message);
103
+ this.name = "InternalError";
104
+ }
105
+ };
106
+ var AbortError = class extends MetabaseError {
107
+ category = "abort";
108
+ isRetryable = false;
109
+ developerDetail = null;
110
+ constructor(message = "aborted") {
111
+ super(message);
112
+ this.name = "AbortError";
113
+ }
114
+ };
115
+ var ChainedRequestError = class extends MetabaseError {
116
+ cause;
117
+ constructor(message, cause) {
118
+ super(message);
119
+ this.name = "ChainedRequestError";
120
+ this.cause = cause;
121
+ }
122
+ get category() {
123
+ return this.cause.category;
124
+ }
125
+ get isRetryable() {
126
+ return this.cause.isRetryable;
127
+ }
128
+ get developerDetail() {
129
+ return this.cause.developerDetail;
130
+ }
131
+ };
132
+ var UnknownError = class extends MetabaseError {
133
+ category = "unknown";
134
+ isRetryable = false;
135
+ developerDetail;
136
+ constructor(input) {
137
+ super(input.originalMessage);
138
+ this.name = "UnknownError";
139
+ this.developerDetail = input;
140
+ }
141
+ };
142
+ function toMetabaseError(error) {
143
+ if (error instanceof MetabaseError) return error;
144
+ if (error instanceof ZodError) return new ConfigError(error.issues.map(formatZodIssue).join("; "));
145
+ if (error instanceof Error) return new UnknownError({
146
+ originalMessage: error.message,
147
+ stack: error.stack ?? null
148
+ });
149
+ return new UnknownError({
150
+ originalMessage: String(error),
151
+ stack: null
152
+ });
153
+ }
154
+ function formatZodIssue(issue) {
155
+ const path = core.toDotPath(issue.path);
156
+ return path === "" ? issue.message : `${path}: ${issue.message}`;
157
+ }
158
+ function isFileNotFoundError(value) {
159
+ return value instanceof Error && "code" in value && value.code === "ENOENT";
160
+ }
161
+ function errorMessage(value) {
162
+ return value instanceof Error ? value.message : String(value);
163
+ }
164
+ //#endregion
165
+ //#region ../client/src/predicates.ts
166
+ function isPlainObject(value) {
167
+ return typeof value === "object" && value !== null && !Array.isArray(value);
168
+ }
169
+ //#endregion
170
+ export { InternalError as a, ResponseShapeError as c, ValidationError as d, errorMessage as f, escapeJsonPointerSegment as h, ConfigError as i, TimeoutError as l, toMetabaseError as m, AbortError as n, MetabaseError as o, isFileNotFoundError as p, ChainedRequestError as r, NetworkError as s, isPlainObject as t, UnknownError as u };
@@ -0,0 +1,29 @@
1
+ import { i as ConfigError, o as MetabaseError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { l as writeJson } from "./cli.mjs";
3
+ import { i as chainRequestFailure } from "./network-error-CEb9ymDW.mjs";
4
+ import "./validate-BWchyW0V.mjs";
5
+ //#region src/commands/dashboard/preflight.ts
6
+ async function preflightDashcardCardReferences(client, dashcards) {
7
+ const issues = await client.dashboard.checkCardReferences(dashcards);
8
+ if (issues.length === 0) return;
9
+ const errors = issues.map((issue) => ({
10
+ path: issue.path,
11
+ message: describeIssue(issue)
12
+ }));
13
+ writeJson({
14
+ ok: false,
15
+ errors
16
+ });
17
+ throw new ConfigError(`dashboard card-reference pre-flight failed: ${errors.length} error(s) — fix the dashcard card_id values listed above`);
18
+ }
19
+ function wrapChainedDashboardWriteError(error, dashboardId) {
20
+ if (!(error instanceof MetabaseError)) return error;
21
+ return chainRequestFailure(error, `${`dashboard ${dashboardId} created but the follow-up update to dashboard ${dashboardId} failed`}: ${error.userMessage}; dashcards not applied`);
22
+ }
23
+ function describeIssue(issue) {
24
+ if (issue.problem.reason === "missing") return `card ${issue.cardId} not found`;
25
+ if (issue.problem.reason === "archived") return `card ${issue.cardId} is archived`;
26
+ return `card ${issue.cardId} is not readable: ${issue.problem.detail}`;
27
+ }
28
+ //#endregion
29
+ export { wrapChainedDashboardWriteError as n, preflightDashcardCardReferences as t };
@@ -1,6 +1,5 @@
1
- import { isNotFoundError } from "./capabilities-1HTHeDa4.mjs";
1
+ import { p as isFileNotFoundError } from "./predicates-Bkm2IoeX.mjs";
2
2
  import { spawn } from "node:child_process";
3
-
4
3
  //#region src/runtime/process.ts
5
4
  var ProcessNotFoundError = class extends Error {
6
5
  command;
@@ -10,7 +9,7 @@ var ProcessNotFoundError = class extends Error {
10
9
  this.command = command;
11
10
  }
12
11
  };
13
- const stdoutDecoder = new TextDecoder("utf-8");
12
+ new TextDecoder("utf-8");
14
13
  function streamProcess(command, args, options = {}) {
15
14
  return new Promise((resolve, reject) => {
16
15
  const child = spawn(command, args, {
@@ -18,7 +17,7 @@ function streamProcess(command, args, options = {}) {
18
17
  ...options.shell === true ? { shell: true } : {}
19
18
  });
20
19
  child.on("error", (error) => {
21
- if (isNotFoundError(error)) {
20
+ if (isFileNotFoundError(error)) {
22
21
  reject(new ProcessNotFoundError(command));
23
22
  return;
24
23
  }
@@ -68,6 +67,5 @@ function openBrowser(url) {
68
67
  });
69
68
  });
70
69
  }
71
-
72
70
  //#endregion
73
- export { openBrowser, streamProcess };
71
+ export { streamProcess as n, openBrowser as t };
@@ -1,22 +1,31 @@
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 "./parse-id-waEVK-uR.mjs";
5
- import { Collection, CollectionCompact } from "./collection-BrrjbPLN.mjs";
6
- import "./listing-1G8iFfZe.mjs";
7
- import "./poll-rqLkEJVP.mjs";
8
- import "./poll-task-CiB1o1wG.mjs";
9
- import { warnIfOutsideSyncScope } from "./sync-scope-Dh1wBlrg.mjs";
10
- import { ensureLibraryDataCollectionId } from "./resolve-BiL5scF0.mjs";
11
- import { parseTableSelectors, tableSelectorFlags } from "./selectors-Bsyhe1zP.mjs";
1
+ import { f as errorMessage } from "./predicates-Bkm2IoeX.mjs";
2
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, b as warn, c as renderSummary } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DiKyBxOw.mjs";
4
+ import { i as CollectionCompact, r as Collection } from "./collection-CfulNRBG.mjs";
5
+ import { n as tableSelectorFlags, t as parseTableSelectors } from "./selectors-DGDn0Hto.mjs";
12
6
  import { z } from "zod";
13
-
7
+ //#region src/commands/git-sync/sync-scope.ts
8
+ function isOutsideSyncScope(collection) {
9
+ return collection !== null && collection.is_remote_synced === false;
10
+ }
11
+ function syncScopeHint(collection, remoteSyncUrl) {
12
+ if (!isOutsideSyncScope(collection) || remoteSyncUrl === null) return null;
13
+ return `Note: collection ${collection.id} "${collection.name}" is not marked for git-sync, so \`mb git-sync export\` will not carry it (or its published tables' metadata) to ${remoteSyncUrl}. Add it with: mb git-sync add-collection ${collection.id}`;
14
+ }
15
+ async function warnIfOutsideSyncScope(mb, collection) {
16
+ if (!isOutsideSyncScope(collection)) return;
17
+ try {
18
+ const hint = syncScopeHint(collection, await mb.gitSync.remoteUrl());
19
+ if (hint !== null) warn(hint);
20
+ } catch (error) {
21
+ warn(`Could not check git-sync scope for collection ${collection.id}: ${errorMessage(error)}`);
22
+ }
23
+ }
24
+ //#endregion
14
25
  //#region src/commands/library/publish.ts
15
- const PUBLISH_TABLES_PATH = "/api/ee/data-studio/table/publish-tables";
16
26
  const LibraryPublishResult = z.object({ target_collection: Collection.nullable() });
17
- const LibraryPublishResultCompact = z.object({ target_collection: CollectionCompact.nullable() });
18
27
  const libraryPublishResultView = {
19
- compactPick: LibraryPublishResultCompact,
28
+ compactPick: z.object({ target_collection: CollectionCompact.nullable() }),
20
29
  tableColumns: [{
21
30
  key: "target_collection",
22
31
  label: "Target collection"
@@ -47,17 +56,14 @@ var publish_default = defineMetabaseCommand({
47
56
  async run({ args, ctx, getClient }) {
48
57
  const selectors = parseTableSelectors(args);
49
58
  const client = await getClient();
50
- const collectionId = await ensureLibraryDataCollectionId(client);
51
- const body = {
59
+ const collectionId = await client.library.ensureDataCollectionId();
60
+ const target = await client.library.publishTables({
52
61
  collection_id: collectionId,
53
62
  ...selectors
54
- };
55
- const result = await client.requestParsed(LibraryPublishResult, PUBLISH_TABLES_PATH, {
56
- method: "POST",
57
- body
58
63
  });
64
+ const result = { target_collection: target };
59
65
  renderSummary(result, libraryPublishResultView, summaryLine(result), ctx);
60
- await warnIfOutsideSyncScope(client, result.target_collection);
66
+ await warnIfOutsideSyncScope(client, target);
61
67
  }
62
68
  });
63
69
  function summaryLine(result) {
@@ -65,6 +71,5 @@ function summaryLine(result) {
65
71
  if (collection === null) return "Published tables to the Library.";
66
72
  return `Published tables to the Library (collection ${collection.id} "${collection.name}").`;
67
73
  }
68
-
69
74
  //#endregion
70
- export { publish_default as default };
75
+ export { publish_default as default };
@@ -1,7 +1,6 @@
1
- import { Parameter } from "./parameter-hCQ80jnc.mjs";
1
+ import { t as Parameter } from "./parameter-DUKR8NXo.mjs";
2
2
  import { z } from "zod";
3
-
4
- //#region src/domain/pulse.ts
3
+ //#region ../client/src/domain/pulse.ts
5
4
  const PulseChannelType = z.enum([
6
5
  "email",
7
6
  "slack",
@@ -94,57 +93,6 @@ const PulseCompact = Pulse.pick({
94
93
  cards: z.array(PulseCardCompact),
95
94
  channels: z.array(PulseChannelCompact)
96
95
  });
97
- const PulseChannelList = z.array(PulseChannel);
98
- const pulseView = {
99
- compactPick: PulseCompact,
100
- tableColumns: [
101
- {
102
- key: "id",
103
- label: "ID"
104
- },
105
- {
106
- key: "name",
107
- label: "Name"
108
- },
109
- {
110
- key: "dashboard_id",
111
- label: "Dashboard"
112
- },
113
- {
114
- key: "channels",
115
- label: "Delivery",
116
- format: formatChannels
117
- },
118
- {
119
- key: "archived",
120
- label: "Archived"
121
- }
122
- ]
123
- };
124
- function formatChannels(value) {
125
- const parsed = PulseChannelList.safeParse(value);
126
- if (!parsed.success) return "";
127
- return parsed.data.map(describeChannel).join("; ");
128
- }
129
- function describeChannel(channel) {
130
- const parts = [channel.channel_type, describeSchedule(channel)];
131
- const audience = describeAudience(channel);
132
- if (audience !== null) parts.push(`→ ${audience}`);
133
- if (!channel.enabled) parts.push("(disabled)");
134
- return parts.join(" ");
135
- }
136
- function describeSchedule(channel) {
137
- const parts = [channel.schedule_type];
138
- if (channel.schedule_frame !== null) parts.push(channel.schedule_frame);
139
- if (channel.schedule_day !== null) parts.push(channel.schedule_day);
140
- if (channel.schedule_hour !== null) parts.push(`${channel.schedule_hour}:00`);
141
- return parts.join(" ");
142
- }
143
- function describeAudience(channel) {
144
- if (channel.recipients.length > 0) return channel.recipients.map((recipient) => recipient.email).join(", ");
145
- const slackChannel = channel.details?.channel;
146
- return slackChannel === void 0 ? null : slackChannel;
147
- }
148
96
  const PulseRecipientInput = z.union([z.object({ id: z.number().int().positive() }).loose(), z.object({ email: z.string().min(1) }).loose()]);
149
97
  const PulseCardInput = z.object({
150
98
  id: z.number().int().positive(),
@@ -181,6 +129,5 @@ const PulseUpdateInput = z.object({
181
129
  archived: z.boolean().optional(),
182
130
  parameters: z.array(Parameter).optional()
183
131
  }).loose();
184
-
185
132
  //#endregion
186
- export { Pulse, PulseCompact, PulseCreateInput, PulseUpdateInput, pulseView };
133
+ export { PulseUpdateInput as a, PulseCreateInput as i, PulseChannel as n, PulseCompact as r, Pulse as t };
@@ -0,0 +1,57 @@
1
+ import { d as MALFORMED_CELL } from "./cli.mjs";
2
+ import { n as PulseChannel, r as PulseCompact } from "./pulse-BmsDenXm.mjs";
3
+ import { z } from "zod";
4
+ //#region src/output/views/pulse.ts
5
+ const PulseChannelList = z.array(PulseChannel);
6
+ function describeSchedule(channel) {
7
+ const parts = [channel.schedule_type];
8
+ if (channel.schedule_frame !== null) parts.push(channel.schedule_frame);
9
+ if (channel.schedule_day !== null) parts.push(channel.schedule_day);
10
+ if (channel.schedule_hour !== null) parts.push(`${channel.schedule_hour}:00`);
11
+ return parts.join(" ");
12
+ }
13
+ function describeAudience(channel) {
14
+ if (channel.recipients.length > 0) return channel.recipients.map((recipient) => recipient.email).join(", ");
15
+ const slackChannel = channel.details?.channel;
16
+ return slackChannel === void 0 ? null : slackChannel;
17
+ }
18
+ function describeChannel(channel) {
19
+ const parts = [channel.channel_type, describeSchedule(channel)];
20
+ const audience = describeAudience(channel);
21
+ if (audience !== null) parts.push(`→ ${audience}`);
22
+ if (!channel.enabled) parts.push("(disabled)");
23
+ return parts.join(" ");
24
+ }
25
+ function formatChannels(value) {
26
+ const parsed = PulseChannelList.safeParse(value);
27
+ if (!parsed.success) return MALFORMED_CELL;
28
+ return parsed.data.map(describeChannel).join("; ");
29
+ }
30
+ const pulseView = {
31
+ compactPick: PulseCompact,
32
+ tableColumns: [
33
+ {
34
+ key: "id",
35
+ label: "ID"
36
+ },
37
+ {
38
+ key: "name",
39
+ label: "Name"
40
+ },
41
+ {
42
+ key: "dashboard_id",
43
+ label: "Dashboard"
44
+ },
45
+ {
46
+ key: "channels",
47
+ label: "Delivery",
48
+ format: formatChannels
49
+ },
50
+ {
51
+ key: "archived",
52
+ label: "Archived"
53
+ }
54
+ ]
55
+ };
56
+ //#endregion
57
+ export { pulseView as t };