@metabase/cli 0.2.1-alpha.trust-system-ca.541e4e0 → 0.2.2-alpha.extract-api-client.27e2241

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) 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-Cak5jykn.mjs → append-DFzQRPMd.mjs} +7 -12
  6. package/dist/{archive-BVY_jD_g.mjs → archive-4tmm946K.mjs} +8 -17
  7. package/dist/{archive-CytCvQpn.mjs → archive-B6eXiyER.mjs} +7 -13
  8. package/dist/{archive-op9pJRpg.mjs → archive-BxNPHxOY.mjs} +7 -13
  9. package/dist/archive-ByvA49Kz.mjs +34 -0
  10. package/dist/{archive-DfbI8DRB.mjs → archive-C7w49Grr.mjs} +7 -16
  11. package/dist/{archive-CPgWNCG3.mjs → archive-Cd29QC0c.mjs} +7 -13
  12. package/dist/{archive-BIEnBoE8.mjs → archive-ChORH5JH.mjs} +7 -13
  13. package/dist/archive-CwAdlv63.mjs +33 -0
  14. package/dist/{archive-CaKhG58H.mjs → archive-Dr9Xnx_Z.mjs} +7 -15
  15. package/dist/{archive-CjnCAM61.mjs → archive-gid9Y09v.mjs} +8 -17
  16. package/dist/{archive-BMbx6lt8.mjs → archive-lQqs13Uz.mjs} +7 -13
  17. package/dist/auth-Dltxua89.mjs +19 -0
  18. package/dist/{body-BW_CiL1d.mjs → body-Cur4NJt9.mjs} +5 -8
  19. package/dist/{body-flags-CgHgJBRC.mjs → body-flags-AqKpN01Y.mjs} +1 -2
  20. package/dist/{branches-gVRwKne4.mjs → branches-DchlyU0i.mjs} +7 -13
  21. package/dist/{cancel-CBOJSslz.mjs → cancel-BMQa5R1Z.mjs} +5 -12
  22. package/dist/{cancel-task-Djancczz.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 +664 -83
  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-C52Ndi_O.mjs → collection-CfulNRBG.mjs} +16 -61
  32. package/dist/{collection-namespace-w1y5D0Uh.mjs → collection-namespace-GwydWBF3.mjs} +3 -5
  33. package/dist/{create-VA58AF6A.mjs → create-BNQ_DytP.mjs} +8 -15
  34. package/dist/{create-CnT-L03B.mjs → create-BOLwWt8Q.mjs} +9 -17
  35. package/dist/{create-BkvdOecg.mjs → create-Beh-2uoN.mjs} +8 -15
  36. package/dist/{create-CvptjYVb.mjs → create-C79vErX0.mjs} +9 -20
  37. package/dist/{create-C_fyIHZU.mjs → create-CAQV2g6V.mjs} +9 -17
  38. package/dist/{create-q2QqkwEN.mjs → create-CAWytBE5.mjs} +9 -17
  39. package/dist/{create-CGsTL5aE.mjs → create-CCh_LyW9.mjs} +8 -15
  40. package/dist/{create-ldvT5L0W.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-D_eiLBqR.mjs → create-DJmXXQoq.mjs} +10 -18
  44. package/dist/{create-DbHIjWio.mjs → create-DV-Ln5Mo.mjs} +8 -15
  45. package/dist/create-branch-CYo6jZth.mjs +35 -0
  46. package/dist/{create-DZBtbGqj.mjs → create-i14Wv3Tj.mjs} +8 -15
  47. package/dist/{create-CnqGhtuF.mjs → create-tQbnuz-I.mjs} +8 -15
  48. package/dist/{create-BRK8TBzp.mjs → create-zeveFdnd.mjs} +6 -11
  49. package/dist/cron-LKRffEC-.mjs +5 -0
  50. package/dist/{csv-C3O1wTQ8.mjs → csv-B2Jgb1GM.mjs} +7 -19
  51. package/dist/{current-task-CZsZPe0o.mjs → current-task-MpBFGttd.mjs} +7 -12
  52. package/dist/{dashboard-BLihjDXg.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-BmT5C6eK.mjs → delete-B8e01xAG.mjs} +6 -11
  59. package/dist/{delete-Dkfu4e5K.mjs → delete-BApOjQvl.mjs} +6 -11
  60. package/dist/{delete-JeRzVISE.mjs → delete-Ck0q4Dzp.mjs} +6 -11
  61. package/dist/{delete-cF97pfFX.mjs → delete-DFmX7jTp.mjs} +6 -11
  62. package/dist/{delete-DgI03U43.mjs → delete-Ob06PPie.mjs} +6 -11
  63. package/dist/{delete-runtime-DiqKOEqi.mjs → delete-runtime-D74s6vhu.mjs} +6 -13
  64. package/dist/{delete-table-dnQs_Twm.mjs → delete-table-DuyhGrvA.mjs} +6 -11
  65. package/dist/{dependencies-BsMwFSxP.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-D4zB-5a0.mjs → document-Cd2mmqCp.mjs} +5 -33
  69. package/dist/document-D6OybtP2.mjs +29 -0
  70. package/dist/{eid-60sCZhQV.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-CaosV7j8.mjs → get-00lyLv6R.mjs} +7 -11
  80. package/dist/{get-DxAx-2C0.mjs → get-B7sMgsFs.mjs} +7 -11
  81. package/dist/get-B_xdF1kq.mjs +31 -0
  82. package/dist/{get-B_EinsrO.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-L8c_h5EP.mjs → get-CvI--9S_.mjs} +16 -12
  89. package/dist/{get-CRXEqpar.mjs → get-DRvsATp-.mjs} +7 -11
  90. package/dist/{get-BNBRMNtC.mjs → get-DY03Azx9.mjs} +6 -11
  91. package/dist/get-DYO1kywc.mjs +32 -0
  92. package/dist/{get-CKnHNxak.mjs → get-D_h-G9bn.mjs} +7 -11
  93. package/dist/get-DdsoHaKH.mjs +31 -0
  94. package/dist/{get-Ct5TnofS.mjs → get-DkWO0EI0.mjs} +7 -11
  95. package/dist/{get-fGOQA0GF.mjs → get-Dmj9Ygz1.mjs} +7 -17
  96. package/dist/get-DmpB6J9g.mjs +31 -0
  97. package/dist/{get-Csa7Dz36.mjs → get-Dn9ZiSZr.mjs} +8 -16
  98. package/dist/{get-run-DqwPQRMJ.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-D2-H-QKX.mjs → input-DH9i67x_.mjs} +6 -11
  106. package/dist/{is-dirty-B87YMLV2.mjs → is-dirty-DYeJYhBz.mjs} +4 -8
  107. package/dist/{items-DrP1b4Qj.mjs → items-CQlPXBXE.mjs} +13 -29
  108. package/dist/key-BEhqIzIQ.mjs +10 -0
  109. package/dist/{library-bUBWlweP.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-B8zgT05M.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-DCl7zHCp.mjs → list-CQwOgIlj.mjs} +10 -24
  126. package/dist/list-DE9FM957.mjs +28 -0
  127. package/dist/{list-F_hMRbsa.mjs → list-DF2rvoO1.mjs} +22 -14
  128. package/dist/list-DMKDsBRd.mjs +38 -0
  129. package/dist/{list-TibX1b8i.mjs → list-UhpKG6_m.mjs} +15 -15
  130. package/dist/{login-C5Ug3BVC.mjs → login-CGHeSjlP.mjs} +47 -52
  131. package/dist/{logout-B_N1N2DV.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-ByY4U3ZK.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-ZXKECrJk.mjs → parameter-values-CJTdqd8c.mjs} +17 -11
  140. package/dist/{parse-enum-D5h-JePs.mjs → parse-enum-D0Jfm_Bz.mjs} +2 -4
  141. package/dist/{parse-id-ySsF4nA3.mjs → parse-id-C_jmKFaa.mjs} +2 -4
  142. package/dist/{parse-ref-Ds8VxdKb.mjs → parse-ref-ibKVB0J4.mjs} +3 -5
  143. package/dist/{path-C6ucgeYs.mjs → path-B5gHvrYL.mjs} +8 -9
  144. package/dist/{poll-CgzD9_RH.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-jjR_DX5G.mjs → process-DBOOrmET.mjs} +4 -6
  148. package/dist/{publish-F-QbufXr.mjs → publish-DijrxaCW.mjs} +29 -24
  149. package/dist/pulse-BmsDenXm.mjs +133 -0
  150. package/dist/pulse-DhG6I9mI.mjs +57 -0
  151. package/dist/{query-DX4r0-uz.mjs → query-BbqECzmF.mjs} +20 -44
  152. package/dist/{query-DGBzATpV.mjs → query-Dc__-KJH.mjs} +13 -24
  153. package/dist/{query-result-D5J3Dlpn.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-xlQv9yl_.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-opQkYIaT.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-8FjtkFIt.mjs → schema-tables-CV386fnC.mjs} +10 -14
  164. package/dist/{schemas-L9kMsEJL.mjs → schemas-DM-UqZBQ.mjs} +8 -12
  165. package/dist/search-DFBwUc6d.mjs +44 -0
  166. package/dist/{search-Csbb-u-_.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-eeGhLo7_.mjs → segment-OsrbUDzw.mjs} +3 -30
  170. package/dist/{selectors-D34gXjQa.mjs → selectors-DGDn0Hto.mjs} +4 -6
  171. package/dist/send-CVxxEpDB.mjs +49 -0
  172. package/dist/{set-CfwncOI_.mjs → set-DFolTjbd.mjs} +10 -20
  173. package/dist/{set-active-gP4mjVDY.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-DvSQOPWg.mjs → skills--vK6J-e4.mjs} +4 -6
  181. package/dist/{skills-aRQfUvCq.mjs → skills-DTCrMcix.mjs} +13 -19
  182. package/dist/{snippet-CdjEhVCT.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-BsEPyknG.mjs → status-BhswxJL1.mjs} +23 -23
  187. package/dist/{status-D1vtL5eW.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-3onHpwcb.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-2ShuGr4f.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-DNSMm1dV.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-CvE0MBBo.mjs → transform-job-DRrK28IH.mjs} +14 -41
  207. package/dist/{transform-tag-xdxjlDcD.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-BQkmsPUR.mjs → transforms-oU4zizbO.mjs} +10 -13
  211. package/dist/{tree-CtufTBZY.mjs → tree-CH-f3bjP.mjs} +6 -10
  212. package/dist/{unpublish-CnLXPYR8.mjs → unpublish-BUl9RU5C.mjs} +7 -18
  213. package/dist/{update-BC-MLtiG.mjs → update-BCS5FxKr.mjs} +11 -19
  214. package/dist/{update-CqQj32ol.mjs → update-BZPllQoR.mjs} +9 -16
  215. package/dist/{update-DmQJqGvX.mjs → update-BiFDBcEH.mjs} +9 -16
  216. package/dist/update-BzMDeZiU.mjs +50 -0
  217. package/dist/{update-Dt9-3Tqf.mjs → update-C4YJQFDS.mjs} +9 -16
  218. package/dist/{update-C4P_YtGW.mjs → update-CHNSUHK4.mjs} +9 -16
  219. package/dist/{update-bz-FKwuR.mjs → update-CO4m4wH3.mjs} +10 -21
  220. package/dist/{update-BZxLyBVm.mjs → update-CVPAwJaH.mjs} +10 -18
  221. package/dist/{update-dJ2mlCXm.mjs → update-CmDTljK-.mjs} +9 -16
  222. package/dist/{update-DcYwxb-R.mjs → update-CvOO8TED.mjs} +9 -17
  223. package/dist/{update-QNuvGuS3.mjs → update-D-NE60AV.mjs} +9 -16
  224. package/dist/{update-DshCe-bl.mjs → update-Nfi44RrE.mjs} +10 -18
  225. package/dist/update-bD_Jh5-s.mjs +51 -0
  226. package/dist/{update-D6blsNGY.mjs → update-cYkvbqK8.mjs} +9 -16
  227. package/dist/update-dashcard-C3TuYO_k.mjs +50 -0
  228. package/dist/{update-CE-Z6E8V.mjs → update-tX9mKBN_.mjs} +10 -21
  229. package/dist/{upgrade--_g3bacj.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-DBKkosBq.mjs → uuid-BJkDWj9p.mjs} +5 -7
  234. package/dist/validate-BWchyW0V.mjs +1469 -0
  235. package/dist/{validate-query-tECK019A.mjs → validate-query-DaGYSmpQ.mjs} +4 -5
  236. package/dist/{values-BAhMnVh6.mjs → values-Dxf1JEoA.mjs} +8 -13
  237. package/dist/verify-K96rItG5.mjs +89 -0
  238. package/dist/{wait-BJ_87Yz0.mjs → wait-DoMDH226.mjs} +10 -18
  239. package/dist/{wait-flags-DEn-3mjb.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 +30 -25
  243. package/skill-data/dashboard/SKILL.md +6 -2
  244. package/skill-data/document/SKILL.md +2 -2
  245. package/skill-data/notification/SKILL.md +157 -0
  246. package/skill-data/transform/SKILL.md +1 -1
  247. package/.claude-plugin/marketplace.json +0 -19
  248. package/dist/add-collection-BZAVH5Wk.mjs +0 -60
  249. package/dist/add-collection-DByJYvGO.mjs +0 -9
  250. package/dist/auth-XfuGXI2K.mjs +0 -22
  251. package/dist/capabilities-CSjeWyLV.mjs +0 -684
  252. package/dist/card-B_kiDDil.mjs +0 -26
  253. package/dist/cards-23FtfL4S.mjs +0 -38
  254. package/dist/cli.d.mts +0 -1
  255. package/dist/collection-DNzM3u7n.mjs +0 -23
  256. package/dist/command-augment-D9pI9Vbh.mjs +0 -11
  257. package/dist/create-branch-BtqOfSRb.mjs +0 -57
  258. package/dist/dashboard-kb1oz7Z3.mjs +0 -35
  259. package/dist/database-BOqzcexD.mjs +0 -61
  260. package/dist/db-CHnqeJCo.mjs +0 -27
  261. package/dist/dirty-CN6sGKX3.mjs +0 -35
  262. package/dist/document-Y_DZNi4D.mjs +0 -22
  263. package/dist/events-CSZEAgs0.mjs +0 -44
  264. package/dist/export-CAxUJer6.mjs +0 -103
  265. package/dist/field-DAB2gImv.mjs +0 -21
  266. package/dist/fields-CLWtUlpR.mjs +0 -37
  267. package/dist/get-B22wjDxr.mjs +0 -38
  268. package/dist/get-BIHtWl2x.mjs +0 -35
  269. package/dist/get-B_QKP1vR.mjs +0 -35
  270. package/dist/get-Ca30K5_W.mjs +0 -35
  271. package/dist/get-DTjeTNGb.mjs +0 -49
  272. package/dist/get-DU8V-7S2.mjs +0 -35
  273. package/dist/get-H3X5e5-Y.mjs +0 -41
  274. package/dist/git-sync-BhhdNjq5.mjs +0 -31
  275. package/dist/has-remote-changes-D0ZIBHSk.mjs +0 -67
  276. package/dist/import-BcIcDPl9.mjs +0 -94
  277. package/dist/is-dirty-CXTS25Tk.mjs +0 -8
  278. package/dist/key-GP1gxZZD.mjs +0 -17
  279. package/dist/list-B-_PTqKw.mjs +0 -53
  280. package/dist/list-B8212eUr.mjs +0 -39
  281. package/dist/list-BhCahBEO.mjs +0 -39
  282. package/dist/list-CWQYaCp8.mjs +0 -31
  283. package/dist/list-Cbhx7N_t.mjs +0 -31
  284. package/dist/list-CoXeBm66.mjs +0 -49
  285. package/dist/list-D1pHJX7w.mjs +0 -31
  286. package/dist/list-DhT42e0q.mjs +0 -31
  287. package/dist/list-GeqRHx8g.mjs +0 -31
  288. package/dist/list-MPePXEWe.mjs +0 -31
  289. package/dist/list-TJjExx6e.mjs +0 -31
  290. package/dist/list-TQghfc-u.mjs +0 -39
  291. package/dist/listing-wFZuS5li.mjs +0 -10
  292. package/dist/measure-D9rKeA6Z.mjs +0 -25
  293. package/dist/paginate-FVZUxL4J.mjs +0 -49
  294. package/dist/poll-task-DF9xJl13.mjs +0 -194
  295. package/dist/preflight-Co2grgX_.mjs +0 -90
  296. package/dist/prompt-BSqji7Fo.mjs +0 -52
  297. package/dist/remove-collection-C-msSyas.mjs +0 -42
  298. package/dist/requests-COuEPJxE.mjs +0 -96
  299. package/dist/rescan-values-BC2SVtY6.mjs +0 -40
  300. package/dist/resolve-8iT-dXgX.mjs +0 -91
  301. package/dist/revision-message-flag-vt_V8ACy.mjs +0 -11
  302. package/dist/run-Cg6k3kHo.mjs +0 -135
  303. package/dist/runs-Cbqm1HYG.mjs +0 -53
  304. package/dist/runtime-MGH96fhp.mjs +0 -1695
  305. package/dist/segment-DCeafJwX.mjs +0 -25
  306. package/dist/setting-D5Y9sJha.mjs +0 -20
  307. package/dist/setting-DADuiF5W.mjs +0 -55
  308. package/dist/setup-D9HNfS7W.mjs +0 -71
  309. package/dist/snippet-CwRiMCfE.mjs +0 -22
  310. package/dist/stash-C_k1uZlf.mjs +0 -108
  311. package/dist/summary-h20AjhcO.mjs +0 -40
  312. package/dist/sync-schema-D67cYLhd.mjs +0 -54
  313. package/dist/sync-scope-CKx6xeF6.mjs +0 -55
  314. package/dist/table-CmKFWPvJ.mjs +0 -21
  315. package/dist/timeline-1ZphX3zj.mjs +0 -24
  316. package/dist/timeline-event-C6aKZ4EO.mjs +0 -22
  317. package/dist/transform-CvsBOTqB.mjs +0 -31
  318. package/dist/transform-job-D_8Kp772.mjs +0 -25
  319. package/dist/transform-tag-DhDnvbmq.mjs +0 -21
  320. package/dist/update-dashcard-CQP-qd6a.mjs +0 -73
  321. package/dist/upload-BOFc_eZD.mjs +0 -16
  322. package/dist/validate-Bpqt3ntH.mjs +0 -1496
  323. package/dist/verify-RLb2DoOX.mjs +0 -79
@@ -1,6 +1,5 @@
1
1
  import { z } from "zod";
2
-
3
- //#region src/domain/parameter.ts
2
+ //#region ../client/src/domain/parameter.ts
4
3
  const ParameterType = z.enum([
5
4
  "number",
6
5
  "text",
@@ -106,13 +105,5 @@ const ParameterValuesCompact = ParameterValues.pick({
106
105
  values: true,
107
106
  has_more_values: true
108
107
  }).strip();
109
- const parameterValuesView = {
110
- compactPick: ParameterValuesCompact,
111
- tableColumns: [{
112
- key: "has_more_values",
113
- label: "More available"
114
- }]
115
- };
116
-
117
108
  //#endregion
118
- export { Parameter, ParameterMapping, ParameterValues, parameterValuesView };
109
+ export { ParameterValuesCompact as i, ParameterMapping as n, ParameterValues as r, Parameter as t };
@@ -1,9 +1,17 @@
1
- import { ConfigError, connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CSjeWyLV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
4
- import { ParameterValues, parameterValuesView } from "./parameter-BZ6y-Gfs.mjs";
5
- import { parseId } from "./parse-id-ySsF4nA3.mjs";
6
-
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 { t as parseId } from "./parse-id-C_jmKFaa.mjs";
5
+ import { i as ParameterValuesCompact, r as ParameterValues } from "./parameter-DUKR8NXo.mjs";
6
+ //#region src/output/views/parameter.ts
7
+ const parameterValuesView = {
8
+ compactPick: ParameterValuesCompact,
9
+ tableColumns: [{
10
+ key: "has_more_values",
11
+ label: "More available"
12
+ }]
13
+ };
14
+ //#endregion
7
15
  //#region src/commands/dashboard/parameter-values.ts
8
16
  var parameter_values_default = defineMetabaseCommand({
9
17
  meta: {
@@ -42,13 +50,11 @@ var parameter_values_default = defineMetabaseCommand({
42
50
  const parameterId = args["parameter-id"];
43
51
  if (parameterId === "") throw new ConfigError("parameter-id must not be empty");
44
52
  const client = await getClient();
45
- const base = `/api/dashboard/${dashboardId}/params/${encodeURIComponent(parameterId)}`;
46
- const path = args.query === void 0 || args.query === "" ? `${base}/values` : `${base}/search/${encodeURIComponent(args.query)}`;
47
- const result = await client.requestParsed(ParameterValues, path);
53
+ const search = args.query === void 0 || args.query === "" ? null : args.query;
54
+ const result = search === null ? await client.dashboard.parameterValues(dashboardId, parameterId) : await client.dashboard.searchParameterValues(dashboardId, parameterId, search);
48
55
  const more = result.has_more_values ? " (more available — narrow with --query)" : "";
49
56
  renderSummary(result, parameterValuesView, `${result.values.length} value(s)${more}.`, ctx);
50
57
  }
51
58
  });
52
-
53
59
  //#endregion
54
- export { parameter_values_default as default };
60
+ export { parameter_values_default as default };
@@ -1,11 +1,9 @@
1
- import { ConfigError } from "./capabilities-CSjeWyLV.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-MGH96fhp.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-CSjeWyLV.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-CSjeWyLV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
4
- import { findSkillByName, loadAllSkills, loadVisibleSkills } from "./skills-aRQfUvCq.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-CSjeWyLV.mjs";
2
- import { combineAborts, throwIfAborted } from "./runtime-MGH96fhp.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-CSjeWyLV.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-CSjeWyLV.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-MGH96fhp.mjs";
4
- import "./parse-id-ySsF4nA3.mjs";
5
- import { Collection, CollectionCompact } from "./collection-C52Ndi_O.mjs";
6
- import "./listing-wFZuS5li.mjs";
7
- import "./poll-CgzD9_RH.mjs";
8
- import "./poll-task-DF9xJl13.mjs";
9
- import { warnIfOutsideSyncScope } from "./sync-scope-CKx6xeF6.mjs";
10
- import { ensureLibraryDataCollectionId } from "./resolve-8iT-dXgX.mjs";
11
- import { parseTableSelectors, tableSelectorFlags } from "./selectors-D34gXjQa.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 };
@@ -0,0 +1,133 @@
1
+ import { t as Parameter } from "./parameter-DUKR8NXo.mjs";
2
+ import { z } from "zod";
3
+ //#region ../client/src/domain/pulse.ts
4
+ const PulseChannelType = z.enum([
5
+ "email",
6
+ "slack",
7
+ "http"
8
+ ]);
9
+ const PulseScheduleType = z.enum([
10
+ "hourly",
11
+ "daily",
12
+ "weekly",
13
+ "monthly"
14
+ ]);
15
+ const PulseScheduleDay = z.enum([
16
+ "mon",
17
+ "tue",
18
+ "wed",
19
+ "thu",
20
+ "fri",
21
+ "sat",
22
+ "sun"
23
+ ]);
24
+ const PulseScheduleFrame = z.enum([
25
+ "first",
26
+ "mid",
27
+ "last"
28
+ ]);
29
+ const PulseChannelDetails = z.object({ channel: z.string().optional() }).loose();
30
+ const PulseRecipient = z.object({
31
+ id: z.number().int().nullable().optional(),
32
+ email: z.string()
33
+ }).loose();
34
+ const PulseRecipientCompact = PulseRecipient.pick({
35
+ id: true,
36
+ email: true
37
+ }).strip();
38
+ const PulseChannel = z.object({
39
+ id: z.number().int().optional(),
40
+ channel_type: PulseChannelType,
41
+ channel_id: z.number().int().nullable().optional(),
42
+ enabled: z.boolean(),
43
+ schedule_type: PulseScheduleType,
44
+ schedule_hour: z.number().int().nullable(),
45
+ schedule_day: PulseScheduleDay.nullable(),
46
+ schedule_frame: PulseScheduleFrame.nullable(),
47
+ details: PulseChannelDetails.optional(),
48
+ recipients: z.array(PulseRecipient)
49
+ }).loose();
50
+ const PulseChannelCompact = PulseChannel.pick({
51
+ channel_type: true,
52
+ enabled: true,
53
+ schedule_type: true,
54
+ schedule_hour: true,
55
+ schedule_day: true,
56
+ schedule_frame: true,
57
+ details: true
58
+ }).strip().extend({ recipients: z.array(PulseRecipientCompact) });
59
+ const PulseCard = z.object({
60
+ id: z.number().int(),
61
+ name: z.string(),
62
+ dashboard_card_id: z.number().int().nullable(),
63
+ include_csv: z.boolean(),
64
+ include_xls: z.boolean()
65
+ }).loose();
66
+ const PulseCardCompact = PulseCard.pick({
67
+ id: true,
68
+ name: true,
69
+ dashboard_card_id: true,
70
+ include_csv: true,
71
+ include_xls: true
72
+ }).strip();
73
+ const Pulse = z.object({
74
+ id: z.number().int(),
75
+ name: z.string().nullable(),
76
+ creator_id: z.number().int(),
77
+ dashboard_id: z.number().int().nullable(),
78
+ collection_id: z.number().int().nullable(),
79
+ archived: z.boolean(),
80
+ skip_if_empty: z.boolean(),
81
+ parameters: z.array(Parameter),
82
+ cards: z.array(PulseCard),
83
+ channels: z.array(PulseChannel)
84
+ }).loose();
85
+ const PulseCompact = Pulse.pick({
86
+ id: true,
87
+ name: true,
88
+ dashboard_id: true,
89
+ collection_id: true,
90
+ archived: true,
91
+ skip_if_empty: true
92
+ }).strip().extend({
93
+ cards: z.array(PulseCardCompact),
94
+ channels: z.array(PulseChannelCompact)
95
+ });
96
+ const PulseRecipientInput = z.union([z.object({ id: z.number().int().positive() }).loose(), z.object({ email: z.string().min(1) }).loose()]);
97
+ const PulseCardInput = z.object({
98
+ id: z.number().int().positive(),
99
+ include_csv: z.boolean(),
100
+ include_xls: z.boolean(),
101
+ dashboard_card_id: z.number().int().positive().nullable().optional(),
102
+ format_rows: z.boolean().optional(),
103
+ pivot_results: z.boolean().optional()
104
+ }).loose();
105
+ const PulseChannelInput = z.object({
106
+ channel_type: PulseChannelType,
107
+ enabled: z.boolean().default(true),
108
+ schedule_type: PulseScheduleType,
109
+ schedule_hour: z.number().int().min(0).max(23).nullable().optional(),
110
+ schedule_day: PulseScheduleDay.nullable().optional(),
111
+ schedule_frame: PulseScheduleFrame.nullable().optional(),
112
+ channel_id: z.number().int().positive().nullable().optional(),
113
+ details: PulseChannelDetails.optional(),
114
+ recipients: z.array(PulseRecipientInput).optional()
115
+ }).loose();
116
+ const PulseCreateInput = z.object({
117
+ name: z.string().min(1),
118
+ dashboard_id: z.number().int().positive(),
119
+ cards: z.array(PulseCardInput).min(1),
120
+ channels: z.array(PulseChannelInput).min(1),
121
+ skip_if_empty: z.boolean().optional(),
122
+ parameters: z.array(Parameter).optional()
123
+ }).loose();
124
+ const PulseUpdateInput = z.object({
125
+ name: z.string().min(1).optional(),
126
+ cards: z.array(PulseCardInput).min(1).optional(),
127
+ channels: z.array(PulseChannelInput).min(1).optional(),
128
+ skip_if_empty: z.boolean().optional(),
129
+ archived: z.boolean().optional(),
130
+ parameters: z.array(Parameter).optional()
131
+ }).loose();
132
+ //#endregion
133
+ export { PulseUpdateInput as a, PulseCreateInput as i, PulseChannel as n, PulseCompact as r, Pulse as t };