@metabase/cli 0.2.1 → 0.2.2

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 (240) hide show
  1. package/README.md +198 -11
  2. package/dist/{add-collection-CUBn11d4.mjs → add-collection-B-Pf12HY.mjs} +4 -4
  3. package/dist/add-collection-B2PdVMRy.mjs +9 -0
  4. package/dist/alert-DGcECcDb.mjs +26 -0
  5. package/dist/alerts-CRGMX4eB.mjs +49 -0
  6. package/dist/{append-BgDaYJW9.mjs → append-lL0IaI6U.mjs} +5 -5
  7. package/dist/{archive-Czzktgho.mjs → archive-3rLXY0nS.mjs} +4 -4
  8. package/dist/{archive-BCPA0HhV.mjs → archive-BUFc1me2.mjs} +5 -5
  9. package/dist/{archive-EoYl-lS-.mjs → archive-Baz4OVDd.mjs} +4 -4
  10. package/dist/{archive-Bv59HYsU.mjs → archive-C9mJGN6J.mjs} +4 -4
  11. package/dist/{archive-BZpXnQSu.mjs → archive-CUGRnyRV.mjs} +4 -4
  12. package/dist/{archive-BM9HjJHQ.mjs → archive-D3DErepm.mjs} +4 -4
  13. package/dist/{archive-BncW2dGw.mjs → archive-D8YrImIU.mjs} +6 -6
  14. package/dist/{archive-DFCu5hVG.mjs → archive-DihHU042.mjs} +5 -5
  15. package/dist/archive-DyPsHSFb.mjs +39 -0
  16. package/dist/{archive-Oh1iZu2y.mjs → archive-ExcEma7q.mjs} +7 -7
  17. package/dist/archive-hKPQXgXa.mjs +38 -0
  18. package/dist/{auth-hgAnMUfi.mjs → auth-B8Yb4ZaN.mjs} +5 -5
  19. package/dist/{body-DKcQw7G5.mjs → body-DXJ2v3GY.mjs} +3 -3
  20. package/dist/{branches-CCmtr3W8.mjs → branches-ByCzTuiv.mjs} +4 -4
  21. package/dist/{cancel-72y10-Rg.mjs → cancel-DvehNbDD.mjs} +3 -3
  22. package/dist/{cancel-task-CGwdz91O.mjs → cancel-task-BM8ADd3Y.mjs} +4 -4
  23. package/dist/{capabilities-DOTcPraV.mjs → capabilities-1HTHeDa4.mjs} +1 -1
  24. package/dist/{card-B8G5jQQT.mjs → card-BFRRyTGs.mjs} +3 -3
  25. package/dist/card-BT7ce7uO.mjs +27 -0
  26. package/dist/{cards-CYSyvN7Z.mjs → cards-Bz6anDNX.mjs} +6 -6
  27. package/dist/cli.mjs +43 -28
  28. package/dist/{collection-CFoLPrY5.mjs → collection-BrrjbPLN.mjs} +4 -2
  29. package/dist/collection-ahFSJT-e.mjs +23 -0
  30. package/dist/{collection-namespace-C7mr_a8H.mjs → collection-namespace-8i_CvWsg.mjs} +2 -2
  31. package/dist/{create-C_WqoOf5.mjs → create--_4GZUNY.mjs} +7 -6
  32. package/dist/{create-Brh8WCa3.mjs → create-1O1UiTVt.mjs} +6 -6
  33. package/dist/{create-C3DThF9E.mjs → create-BnNRvoyz.mjs} +11 -11
  34. package/dist/{create-CPEOSxIH.mjs → create-BynNiG1N.mjs} +6 -6
  35. package/dist/{create-E7XhC0gJ.mjs → create-CHK9cJcK.mjs} +8 -8
  36. package/dist/create-COI80Veo.mjs +52 -0
  37. package/dist/{create-QYctYGSa.mjs → create-CtIOvInN.mjs} +8 -8
  38. package/dist/{create-7pbf5Wu0.mjs → create-Cy57naL0.mjs} +12 -12
  39. package/dist/{create-nXlnVzXl.mjs → create-D57tRDrg.mjs} +9 -8
  40. package/dist/{create-pTnveKkm.mjs → create-D6bXJlBS.mjs} +6 -6
  41. package/dist/{create-DFyZCXQD.mjs → create-DAj8pyfQ.mjs} +5 -4
  42. package/dist/create-DOpa2TmH.mjs +53 -0
  43. package/dist/{create-branch-DPE6itiS.mjs → create-branch-BwqFHYcZ.mjs} +4 -4
  44. package/dist/{create-BDY38_Kr.mjs → create-qzjhJFP8.mjs} +6 -6
  45. package/dist/{create-U_XDwsIX.mjs → create-t7z8Eb4T.mjs} +6 -6
  46. package/dist/{create-CaWFrPRU.mjs → create-yK1-fuX5.mjs} +9 -9
  47. package/dist/cron-93wjhtrP.mjs +7 -0
  48. package/dist/{csv-CR2qhmC6.mjs → csv-yoFA1hhv.mjs} +5 -5
  49. package/dist/{current-task-MUHaiHIg.mjs → current-task-D8Q1uFmk.mjs} +4 -4
  50. package/dist/{dashboard-B-MTpfeS.mjs → dashboard-BSCXTX4H.mjs} +2 -2
  51. package/dist/dashboard-C__PiWrv.mjs +36 -0
  52. package/dist/{database-CIbVSfua.mjs → database-B-xwx5LA.mjs} +1 -1
  53. package/dist/{db-eWy7A-H3.mjs → db-BiLWl1J9.mjs} +7 -7
  54. package/dist/{delete-B58Cng0p.mjs → delete-B8dui6O6.mjs} +5 -5
  55. package/dist/{delete-BKMOtpjs.mjs → delete-BwPgIWV8.mjs} +5 -5
  56. package/dist/{delete-CW3dYmuT.mjs → delete-CA7IjA5J.mjs} +5 -5
  57. package/dist/{delete-BMa26SzX.mjs → delete-CawUDFud.mjs} +5 -5
  58. package/dist/{delete-doa3R-c5.mjs → delete-Dcu3iDkg.mjs} +5 -5
  59. package/dist/{delete-runtime-_YOukDRC.mjs → delete-runtime-00-R9iJm.mjs} +2 -2
  60. package/dist/{delete-table-D_tjBZPd.mjs → delete-table-DS0b3i0k.mjs} +5 -5
  61. package/dist/{dependencies-BR_4um7h.mjs → dependencies-BQVZylqV.mjs} +4 -4
  62. package/dist/{dirty-BKCg6oVN.mjs → dirty-BqdcrfUz.mjs} +4 -4
  63. package/dist/document-C9ykHYOG.mjs +22 -0
  64. package/dist/{eid-DSOk7Khb.mjs → eid-DcCAs-RP.mjs} +5 -5
  65. package/dist/{events-Dxm7me47.mjs → events-C9PqRUCO.mjs} +4 -4
  66. package/dist/{export-Gb_wfZpt.mjs → export-CdKR5nPT.mjs} +6 -6
  67. package/dist/field-P7aJaet9.mjs +21 -0
  68. package/dist/{fields-hZeq6IF2.mjs → fields-D2czTLKq.mjs} +5 -5
  69. package/dist/get-4rA8pbRu.mjs +38 -0
  70. package/dist/{get-CP3lrIYi.mjs → get-75Vdyusm.mjs} +4 -4
  71. package/dist/{get-nZW0W7Ui.mjs → get-B2vvnMpl.mjs} +5 -5
  72. package/dist/{get--rGDVyje.mjs → get-B6fSPCfp.mjs} +4 -4
  73. package/dist/{get-7Np_G2je.mjs → get-BbKC0fTx.mjs} +4 -4
  74. package/dist/{get-CH_JmPc-.mjs → get-BfFKIfpX.mjs} +5 -4
  75. package/dist/{get-DZatHVdn.mjs → get-Bpw05IUm.mjs} +7 -7
  76. package/dist/{get-DtvzjfjG.mjs → get-CJYv3CfV.mjs} +3 -3
  77. package/dist/{get-DB6Y9igl.mjs → get-CaIYg15K.mjs} +6 -6
  78. package/dist/get-CvXOGyFj.mjs +36 -0
  79. package/dist/{get-T85qZgnv.mjs → get-Cvkt6GcQ.mjs} +4 -4
  80. package/dist/{get-DRK5-UdU.mjs → get-DQ0pb4tT.mjs} +4 -4
  81. package/dist/{get-43Smv3RI.mjs → get-DXiL39gi.mjs} +6 -6
  82. package/dist/{get-DWzMR8sn.mjs → get-DXydDRVU.mjs} +4 -4
  83. package/dist/{get-BSdOE5J4.mjs → get-DZRB5S37.mjs} +4 -4
  84. package/dist/{get-CgZ5qjQx.mjs → get-Db8YNxId.mjs} +5 -4
  85. package/dist/{get-DT2MOZ8L.mjs → get-DhS4y0K9.mjs} +4 -4
  86. package/dist/{get-CuPCE_AG.mjs → get-Dy5f54pV.mjs} +4 -4
  87. package/dist/{get-run-Cwia6e0d.mjs → get-run-BF5ZBE8o.mjs} +4 -4
  88. package/dist/{get-CHAH_F37.mjs → get-vGqyjGSW.mjs} +4 -4
  89. package/dist/git-sync-BzievbUz.mjs +31 -0
  90. package/dist/{has-remote-changes-CIIib71u.mjs → has-remote-changes-CjDHphUH.mjs} +4 -4
  91. package/dist/{import-D9ID9Mz4.mjs → import-DzA5Ty9_.mjs} +6 -6
  92. package/dist/{input-DzbvxKYU.mjs → input-BpXlmJ5J.mjs} +1 -1
  93. package/dist/{is-dirty-CHbUJ-bh.mjs → is-dirty-4kIyD4oP.mjs} +3 -3
  94. package/dist/is-dirty-Cv0bdKkX.mjs +8 -0
  95. package/dist/{items-DN63mjpF.mjs → items-BXH0f1r6.mjs} +6 -6
  96. package/dist/{key-BnGRTX8U.mjs → key-B9AAqwjq.mjs} +1 -1
  97. package/dist/{library-DF2qx50w.mjs → library-BFZYsBcz.mjs} +5 -5
  98. package/dist/list-AyGEaws8.mjs +8 -0
  99. package/dist/{list-B3HoSfYj.mjs → list-Bar8uQRC.mjs} +3 -3
  100. package/dist/{list-KDHLmoUx.mjs → list-BiAVv9jX.mjs} +3 -3
  101. package/dist/{list-BSxMFDMR.mjs → list-Bm1PlZEV.mjs} +3 -3
  102. package/dist/{list-CQN2BpaW.mjs → list-BtgjcC2w.mjs} +3 -3
  103. package/dist/{list-n2PY3OIx.mjs → list-By1yYVGq.mjs} +7 -7
  104. package/dist/{list-De82cXvn.mjs → list-CG3ec9BZ.mjs} +4 -4
  105. package/dist/{list-C6YpaUpC.mjs → list-CLgkOcmY.mjs} +5 -5
  106. package/dist/{list-CvS68tLn.mjs → list-CSnpbFML.mjs} +3 -3
  107. package/dist/list-Cn-VruXD.mjs +8 -0
  108. package/dist/{list-C5Ir-96z.mjs → list-D7mMcRG5.mjs} +6 -6
  109. package/dist/{list-BeqcZVSn.mjs → list-DOhVPh95.mjs} +3 -3
  110. package/dist/{list-CY-jpBNE.mjs → list-DSHteJOl.mjs} +4 -3
  111. package/dist/{list-C0344yqi.mjs → list-Dl81pkVs.mjs} +6 -5
  112. package/dist/{list-MqqHcBvD.mjs → list-DwMcwucR.mjs} +3 -3
  113. package/dist/{list-B1sdMz6m.mjs → list-IxaPXKXu.mjs} +3 -3
  114. package/dist/list-SiSfX4wl.mjs +73 -0
  115. package/dist/{list-CkTsOOA7.mjs → list-hKRQUcGB.mjs} +3 -3
  116. package/dist/list-oRyXsJXs.mjs +50 -0
  117. package/dist/{list-C7TqbWG1.mjs → list-w61Uovt2.mjs} +5 -5
  118. package/dist/listing-1G8iFfZe.mjs +10 -0
  119. package/dist/{login-jy9rbYev.mjs → login-zUCMDLC8.mjs} +7 -7
  120. package/dist/{logout-CRbk1SuY.mjs → logout-BFh7QHx6.mjs} +3 -3
  121. package/dist/{measure-CPqisgyf.mjs → measure-DNldT89z.mjs} +6 -6
  122. package/dist/notification-BR5wehqg.mjs +201 -0
  123. package/dist/{parameter-values-CcgcG3S5.mjs → parameter-values-BYDFzxNY.mjs} +4 -4
  124. package/dist/{parse-enum-C_2lGr3g.mjs → parse-enum-D1zTYr_i.mjs} +1 -1
  125. package/dist/{parse-id-CD54Chc5.mjs → parse-id-waEVK-uR.mjs} +1 -1
  126. package/dist/{parse-ref-BLgKEEF-.mjs → parse-ref-C3DUXwci.mjs} +1 -1
  127. package/dist/patch-BpjI9BOz.mjs +20 -0
  128. package/dist/patch-DrMVqf34.mjs +36 -0
  129. package/dist/{path-CPMr1RJO.mjs → path-Bvs9IR4k.mjs} +3 -3
  130. package/dist/{poll-DVF9EnEb.mjs → poll-rqLkEJVP.mjs} +2 -2
  131. package/dist/{poll-task-CpHGQOd5.mjs → poll-task-CiB1o1wG.mjs} +2 -2
  132. package/dist/{preflight-xhwEOHAt.mjs → preflight-DJOBTWVq.mjs} +3 -3
  133. package/dist/{process-HDPKLS_z.mjs → process-BxAUv3Wx.mjs} +1 -1
  134. package/dist/{prompt-BgkWNgIR.mjs → prompt-DmxSLNrO.mjs} +1 -1
  135. package/dist/{publish-xVPABwE8.mjs → publish-C1y_vGGw.mjs} +12 -7
  136. package/dist/pulse-C8q469KD.mjs +186 -0
  137. package/dist/{query-Cxh9hmrP.mjs → query-B9LlGOZI.mjs} +8 -8
  138. package/dist/{query-B3HDIsJ-.mjs → query-DpVWKW-y.mjs} +12 -12
  139. package/dist/{query-result-Drvjv7DD.mjs → query-result-Bvh89K4f.mjs} +1 -1
  140. package/dist/{remove-collection-_a4uIlLB.mjs → remove-collection-DYQibG6d.mjs} +6 -6
  141. package/dist/{replace-BwvKDNur.mjs → replace-sHtPBNnA.mjs} +5 -5
  142. package/dist/{requests-qyh002pL.mjs → requests-Pc0u7PQS.mjs} +2 -2
  143. package/dist/{rescan-values-Bd0Joerq.mjs → rescan-values-CuPGOzKI.mjs} +6 -6
  144. package/dist/{resolve-Ct084wx3.mjs → resolve-BiL5scF0.mjs} +22 -15
  145. package/dist/{run-yrpSF6VL.mjs → run-Ce_gPVcg.mjs} +3 -3
  146. package/dist/{run-BfpKUjqL.mjs → run-D6jyZ0nv.mjs} +6 -6
  147. package/dist/{runs-D_08Ma08.mjs → runs-DRxrpAkU.mjs} +5 -5
  148. package/dist/{runtime-Ab96yYlM.mjs → runtime-CPIHg_Zg.mjs} +105 -101
  149. package/dist/{schema-tables-ChBYz4mO.mjs → schema-tables-D91DWM5l.mjs} +5 -5
  150. package/dist/{schemas-C2crnVML.mjs → schemas-OVYRgvz9.mjs} +3 -3
  151. package/dist/{search-DnGEh6sZ.mjs → search-msFNbxU6.mjs} +3 -3
  152. package/dist/{segment-DyVTZSIM.mjs → segment-BIKVTq_n.mjs} +6 -6
  153. package/dist/{selectors-Ll_TRxl5.mjs → selectors-Bsyhe1zP.mjs} +3 -3
  154. package/dist/send-BeFpVrwD.mjs +60 -0
  155. package/dist/{set-active-qqDoBh_Z.mjs → set-active-CFWtIWzX.mjs} +3 -3
  156. package/dist/{set-tHsHXRGV.mjs → set-jRnCLhvc.mjs} +6 -6
  157. package/dist/{setting-B9xSyMf6.mjs → setting-CApPg0Xr.mjs} +4 -4
  158. package/dist/{setup-CXGcyTuv.mjs → setup-CruHFQJz.mjs} +5 -5
  159. package/dist/{skills-rnvVgau4.mjs → skills-CxqkjkdQ.mjs} +3 -3
  160. package/dist/{skills-BKuiGkc1.mjs → skills-DlFbbaoS.mjs} +1 -1
  161. package/dist/snippet-DdoeL-7N.mjs +22 -0
  162. package/dist/{stash-DxmpBS7x.mjs → stash-CR-ESWiX.mjs} +6 -6
  163. package/dist/{status-B5ar0uXc.mjs → status-BMEdl-_G.mjs} +3 -3
  164. package/dist/{status-D5CR1SrS.mjs → status-DCIOvsc6.mjs} +26 -10
  165. package/dist/subscription-BOOBR5Ir.mjs +25 -0
  166. package/dist/subscriptions-C_1AQpZF.mjs +47 -0
  167. package/dist/summary-D1fKnwE3.mjs +8 -0
  168. package/dist/{summary-BEEJl2O1.mjs → summary-WUjzNITU.mjs} +4 -4
  169. package/dist/{sync-schema-B5HDpmrp.mjs → sync-schema-Cq5LzHHc.mjs} +8 -8
  170. package/dist/sync-scope-Dh1wBlrg.mjs +55 -0
  171. package/dist/table-BK56VDw8.mjs +21 -0
  172. package/dist/{table-C3RIKiYM.mjs → table-fDvuvqoU.mjs} +1 -1
  173. package/dist/timeline-Dl5pm5tN.mjs +24 -0
  174. package/dist/{timeline-event-BVDTt-pM.mjs → timeline-event-5JAeGVSI.mjs} +6 -6
  175. package/dist/transform-ATK6rJBl.mjs +31 -0
  176. package/dist/transform-job-BezBE6Y8.mjs +25 -0
  177. package/dist/{transform-job-CjsAXMej.mjs → transform-job-sJmW_En3.mjs} +4 -4
  178. package/dist/{transform-tag-B1xnFa9w.mjs → transform-tag-GqbcG_6_.mjs} +5 -5
  179. package/dist/{transforms-CLkv3e81.mjs → transforms-Cosz-Vq3.mjs} +4 -4
  180. package/dist/{tree-CB2IURsX.mjs → tree-BkXtw0c4.mjs} +3 -3
  181. package/dist/{unpublish-BkZldbkP.mjs → unpublish-BlGj7omM.mjs} +4 -4
  182. package/dist/{update-BghbOcv6.mjs → update-BHhEtxwC.mjs} +13 -13
  183. package/dist/update-C-ChEcI9.mjs +57 -0
  184. package/dist/{update-BHC3pwzR.mjs → update-C9K1QnOo.mjs} +8 -7
  185. package/dist/{update-B4atxTx0.mjs → update-CTWsiwme.mjs} +7 -7
  186. package/dist/{update-BacyVaLu.mjs → update-CXlhrcy8.mjs} +7 -7
  187. package/dist/update-Cbsgvopz.mjs +56 -0
  188. package/dist/{update-D7Ia9Qrt.mjs → update-CsYFWkVd.mjs} +12 -12
  189. package/dist/{update-DajyWtBN.mjs → update-CuKHukZ6.mjs} +7 -7
  190. package/dist/{update-CGWTX1Z0.mjs → update-CzrbMLZq.mjs} +7 -7
  191. package/dist/{update-CO9uCJxV.mjs → update-DDVuyquf.mjs} +9 -9
  192. package/dist/{update-B1dkPypu.mjs → update-DpIzJ8Ts.mjs} +10 -10
  193. package/dist/{update-iY9WZqy0.mjs → update-DrvAdi-O.mjs} +8 -8
  194. package/dist/{update-Cyxjg496.mjs → update-Tw0kARao.mjs} +7 -7
  195. package/dist/{update-D80GWpWl.mjs → update-ZJ5T-SBW.mjs} +9 -9
  196. package/dist/{update-dashcard-DLq7ihNO.mjs → update-dashcard-Dnfa8_aJ.mjs} +9 -9
  197. package/dist/{update-8bTrglfc.mjs → update-hoCyoR-u.mjs} +7 -7
  198. package/dist/{upgrade-CXoNQ4FH.mjs → upgrade-D0HiyTxw.mjs} +4 -4
  199. package/dist/upload-WT6SywFa.mjs +16 -0
  200. package/dist/{uuid-D6dao_q4.mjs → uuid-D7NcSTj8.mjs} +2 -2
  201. package/dist/{validate-Cqa14t7o.mjs → validate-BoY75_M3.mjs} +1 -1
  202. package/dist/{validate-query-D1N30wJ7.mjs → validate-query-Di0VKMF-.mjs} +2 -2
  203. package/dist/{values-DIBAgSyz.mjs → values-OBiEVCVH.mjs} +4 -4
  204. package/dist/{verify-DvhZWmS2.mjs → verify-VEB7TBQ_.mjs} +2 -2
  205. package/dist/{wait-CW1OawkI.mjs → wait-B9qNlcTe.mjs} +5 -5
  206. package/dist/{wait-flags-DvNU8ahZ.mjs → wait-flags-D0FEgH6k.mjs} +2 -2
  207. package/package.json +1 -1
  208. package/skill-data/core/SKILL.md +6 -4
  209. package/skill-data/git-sync/SKILL.md +20 -5
  210. package/skill-data/notification/SKILL.md +157 -0
  211. package/dist/add-collection-C8ZTPlIE.mjs +0 -9
  212. package/dist/card-Ct-q_C4S.mjs +0 -26
  213. package/dist/collection-K82kJWdj.mjs +0 -23
  214. package/dist/dashboard-B1iRSUBI.mjs +0 -35
  215. package/dist/document-CVxhTnUD.mjs +0 -22
  216. package/dist/field-BTCw6voJ.mjs +0 -21
  217. package/dist/git-sync-Cjrx2meo.mjs +0 -31
  218. package/dist/is-dirty-DY5Zhsbk.mjs +0 -8
  219. package/dist/snippet-C4h-GMUf.mjs +0 -22
  220. package/dist/table-DHmaW3Ec.mjs +0 -21
  221. package/dist/timeline-B0R6-dm8.mjs +0 -24
  222. package/dist/transform-Cq2_muWO.mjs +0 -31
  223. package/dist/transform-job-BpebgMnq.mjs +0 -25
  224. package/dist/upload-D3eiApa0.mjs +0 -16
  225. /package/dist/{body-flags-CgHgJBRC.mjs → body-flags-Cbv-Ba6W.mjs} +0 -0
  226. /package/dist/{document-CL4ML5FN.mjs → document-C7IR6T8c.mjs} +0 -0
  227. /package/dist/{embedding-CKdw8q7p.mjs → embedding-B0x9CPkU.mjs} +0 -0
  228. /package/dist/{field-DsXTeqBy.mjs → field-RYBTW2KS.mjs} +0 -0
  229. /package/dist/{group-CILtQqCL.mjs → group-DfTvzGz-.mjs} +0 -0
  230. /package/dist/{measure-S9WszHre.mjs → measure-DH3ow2ko.mjs} +0 -0
  231. /package/dist/{paginate-CMqbqhMC.mjs → paginate-DuDXvUPr.mjs} +0 -0
  232. /package/dist/{parameter-BZ6y-Gfs.mjs → parameter-hCQ80jnc.mjs} +0 -0
  233. /package/dist/{render-CkuFkWlQ.mjs → render-rgZBe3rO.mjs} +0 -0
  234. /package/dist/{revision-message-flag-CHzX0cqV.mjs → revision-message-flag-B4BxzDXJ.mjs} +0 -0
  235. /package/dist/{segment-BPb1H6DW.mjs → segment-cwIOOF0v.mjs} +0 -0
  236. /package/dist/{setting-Cko6bE_w.mjs → setting-CDEoJYO0.mjs} +0 -0
  237. /package/dist/{snippet-DWiXNy4T.mjs → snippet-1xYckIwc.mjs} +0 -0
  238. /package/dist/{timeline-BCTRThc-.mjs → timeline-BNwnJ3g9.mjs} +0 -0
  239. /package/dist/{transform-BVHYzWpK.mjs → transform-BkSkCvpx.mjs} +0 -0
  240. /package/dist/{transform-tag--IBQ-8Ij.mjs → transform-tag-qTjNVfTW.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { AbortError, BASELINE_CAPABILITIES, ConfigError, DEFAULT_MAX_BYTES, ENV_API_KEY, ENV_DISABLE_KEYRING, ENV_PROFILE, ENV_SKIP_PREFLIGHT, ENV_URL, MetabaseError, NetworkError, ResponseShapeError, TimeoutError, ValidationError, consumeLegacyEnvWarnings, errorMessage, flagConsumesValue, isNotFoundError, isPlainObject, normalizeFlag, package_default, readEnv, reportError, toAliasArray, warn } from "./capabilities-DOTcPraV.mjs";
1
+ import { AbortError, BASELINE_CAPABILITIES, ConfigError, DEFAULT_MAX_BYTES, ENV_API_KEY, ENV_DISABLE_KEYRING, ENV_PROFILE, ENV_SKIP_PREFLIGHT, ENV_URL, MetabaseError, NetworkError, ResponseShapeError, TimeoutError, ValidationError, consumeLegacyEnvWarnings, errorMessage, flagConsumesValue, isNotFoundError, isPlainObject, normalizeFlag, package_default, readEnv, reportError, toAliasArray, warn } from "./capabilities-1HTHeDa4.mjs";
2
2
  import { setMetabaseAugment } from "./command-augment-D9pI9Vbh.mjs";
3
3
  import { defineCommand } from "citty";
4
4
  import { z } from "zod";
@@ -9,6 +9,21 @@ import { homedir } from "node:os";
9
9
  import { parse } from "semver";
10
10
  import { setTimeout } from "node:timers/promises";
11
11
 
12
+ //#region src/commands/parse-integer.ts
13
+ const INTEGER_PATTERN = /^-?\d+$/;
14
+ function parseInteger(value, options) {
15
+ const trimmed = value.trim();
16
+ if (!INTEGER_PATTERN.test(trimmed)) throw new ConfigError(`invalid ${options.name}: "${value}" (expected integer)`);
17
+ const parsed = Number.parseInt(trimmed, 10);
18
+ if (parsed < options.min) throw new ConfigError(`invalid ${options.name}: ${parsed} (must be ≥ ${options.min})`);
19
+ return parsed;
20
+ }
21
+ function parseOptionalInteger(value, options) {
22
+ if (value === void 0 || value === "") return null;
23
+ return parseInteger(value, options);
24
+ }
25
+
26
+ //#endregion
12
27
  //#region src/runtime/json.ts
13
28
  const JSON_CONTENT_TYPE = "application/json";
14
29
  function parseJson(input, schema, opts = {}) {
@@ -458,44 +473,6 @@ async function clearProfile(name = DEFAULT_PROFILE) {
458
473
  return true;
459
474
  }
460
475
 
461
- //#endregion
462
- //#region src/runtime/signal.ts
463
- function createProcessAbortHandler() {
464
- const controller = new AbortController();
465
- const handler = () => {
466
- if (!controller.signal.aborted) controller.abort(new AbortError("interrupted"));
467
- process.off("SIGINT", handler);
468
- };
469
- process.on("SIGINT", handler);
470
- return {
471
- signal: controller.signal,
472
- uninstall: () => process.off("SIGINT", handler)
473
- };
474
- }
475
- let singleton = null;
476
- function getProcessAbortSignal() {
477
- if (singleton === null) singleton = createProcessAbortHandler().signal;
478
- return singleton;
479
- }
480
- function combineAborts(timeoutSignal, callerSignal) {
481
- const processSignal = getProcessAbortSignal();
482
- const signals = [timeoutSignal, processSignal];
483
- if (callerSignal) signals.push(callerSignal);
484
- return {
485
- combined: AbortSignal.any(signals),
486
- processSignal
487
- };
488
- }
489
- function throwIfAborted(...signals) {
490
- for (const signal of signals) if (signal?.aborted) throw abortReason(signal);
491
- }
492
- function abortReason(signal) {
493
- const reason = signal.reason;
494
- if (reason instanceof MetabaseError) return reason;
495
- if (reason instanceof Error || typeof reason === "string") return new AbortError(errorMessage(reason) || "aborted");
496
- return new AbortError("aborted");
497
- }
498
-
499
476
  //#endregion
500
477
  //#region src/core/auth/credential.ts
501
478
  const API_KEY_HEADER = "x-api-key";
@@ -535,6 +512,77 @@ function oauthCredentialFromTokens(tokens, refreshToken, clientId, nowMs) {
535
512
  };
536
513
  }
537
514
 
515
+ //#endregion
516
+ //#region src/core/url.ts
517
+ function normalizeUrl(input) {
518
+ const trimmed = input.trim().replace(/\/+$/, "");
519
+ if (!/^https?:\/\//i.test(trimmed)) throw new ConfigError("URL must start with http:// or https://");
520
+ return trimmed;
521
+ }
522
+ function displayUrl(input) {
523
+ const parsed = new URL(input);
524
+ const path = parsed.pathname.replace(/\/+$/, "");
525
+ return `${parsed.origin}${path}`;
526
+ }
527
+ const LOOPBACK_HOSTS = new Set([
528
+ "localhost",
529
+ "127.0.0.1",
530
+ "::1",
531
+ "[::1]"
532
+ ]);
533
+ function isLoopbackHost(hostname) {
534
+ return LOOPBACK_HOSTS.has(hostname.toLowerCase());
535
+ }
536
+ function assertEndpointOrigin(endpoint, baseUrl, label) {
537
+ let parsed;
538
+ try {
539
+ parsed = new URL(endpoint);
540
+ } catch {
541
+ throw new ConfigError(`OAuth ${label} is not a valid URL: ${endpoint}`);
542
+ }
543
+ const base = new URL(baseUrl);
544
+ if (parsed.protocol !== "https:" && !isLoopbackHost(parsed.hostname)) throw new ConfigError(`OAuth ${label} must use https: ${endpoint}`);
545
+ if (parsed.origin !== base.origin) throw new ConfigError(`OAuth ${label} origin (${parsed.origin}) does not match the Metabase URL (${base.origin})`);
546
+ }
547
+
548
+ //#endregion
549
+ //#region src/runtime/signal.ts
550
+ function createProcessAbortHandler() {
551
+ const controller = new AbortController();
552
+ const handler = () => {
553
+ if (!controller.signal.aborted) controller.abort(new AbortError("interrupted"));
554
+ process.off("SIGINT", handler);
555
+ };
556
+ process.on("SIGINT", handler);
557
+ return {
558
+ signal: controller.signal,
559
+ uninstall: () => process.off("SIGINT", handler)
560
+ };
561
+ }
562
+ let singleton = null;
563
+ function getProcessAbortSignal() {
564
+ if (singleton === null) singleton = createProcessAbortHandler().signal;
565
+ return singleton;
566
+ }
567
+ function combineAborts(timeoutSignal, callerSignal) {
568
+ const processSignal = getProcessAbortSignal();
569
+ const signals = [timeoutSignal, processSignal];
570
+ if (callerSignal) signals.push(callerSignal);
571
+ return {
572
+ combined: AbortSignal.any(signals),
573
+ processSignal
574
+ };
575
+ }
576
+ function throwIfAborted(...signals) {
577
+ for (const signal of signals) if (signal?.aborted) throw abortReason(signal);
578
+ }
579
+ function abortReason(signal) {
580
+ const reason = signal.reason;
581
+ if (reason instanceof MetabaseError) return reason;
582
+ if (reason instanceof Error || typeof reason === "string") return new AbortError(errorMessage(reason) || "aborted");
583
+ return new AbortError("aborted");
584
+ }
585
+
538
586
  //#endregion
539
587
  //#region src/core/http/sanitize.ts
540
588
  const SECRET_HEADER_NAMES = new Set([
@@ -744,7 +792,7 @@ function buildNetworkError(error, method, url) {
744
792
  }
745
793
  function networkMessage(code, target, fallback) {
746
794
  if (code === null) return `Could not reach Metabase: ${fallback}`;
747
- if (TLS_ERROR_CODES.has(code)) return `Could not reach Metabase: TLS error contacting ${target.host} (${code}) — the certificate could not be verified, or https:// was used against a plain-HTTP server.`;
795
+ if (TLS_ERROR_CODES.has(code)) return `Could not reach Metabase: TLS error contacting ${target.host} (${code}) — the certificate could not be verified, or https:// was used against a plain-HTTP server. For a certificate the OS does not trust either, set NODE_EXTRA_CA_CERTS to its CA bundle.`;
748
796
  const hint = NETWORK_HINTS[code];
749
797
  if (hint === void 0) return `Could not reach Metabase: ${fallback} (${code})`;
750
798
  return `Could not reach Metabase: ${hint(target)}`;
@@ -1023,55 +1071,6 @@ async function readBodyForError(response) {
1023
1071
  }
1024
1072
  }
1025
1073
 
1026
- //#endregion
1027
- //#region src/core/version/probe.ts
1028
- const PROBE_PATH = "/api/session/properties";
1029
- const PROBE_TIMEOUT_MS = 1e4;
1030
- async function probeServer(client, opts = {}) {
1031
- const properties = await client.requestParsed(SessionProperties, PROBE_PATH, {
1032
- timeoutMs: PROBE_TIMEOUT_MS,
1033
- retries: opts.retries ?? 0
1034
- });
1035
- const version = tryParseTag(properties.version.tag);
1036
- return {
1037
- version,
1038
- tokenFeatures: properties["token-features"] ?? null
1039
- };
1040
- }
1041
-
1042
- //#endregion
1043
- //#region src/core/url.ts
1044
- function normalizeUrl(input) {
1045
- const trimmed = input.trim().replace(/\/+$/, "");
1046
- if (!/^https?:\/\//i.test(trimmed)) throw new ConfigError("URL must start with http:// or https://");
1047
- return trimmed;
1048
- }
1049
- function displayUrl(input) {
1050
- const parsed = new URL(input);
1051
- const path = parsed.pathname.replace(/\/+$/, "");
1052
- return `${parsed.origin}${path}`;
1053
- }
1054
- const LOOPBACK_HOSTS = new Set([
1055
- "localhost",
1056
- "127.0.0.1",
1057
- "::1",
1058
- "[::1]"
1059
- ]);
1060
- function isLoopbackHost(hostname) {
1061
- return LOOPBACK_HOSTS.has(hostname.toLowerCase());
1062
- }
1063
- function assertEndpointOrigin(endpoint, baseUrl, label) {
1064
- let parsed;
1065
- try {
1066
- parsed = new URL(endpoint);
1067
- } catch {
1068
- throw new ConfigError(`OAuth ${label} is not a valid URL: ${endpoint}`);
1069
- }
1070
- const base = new URL(baseUrl);
1071
- if (parsed.protocol !== "https:" && !isLoopbackHost(parsed.hostname)) throw new ConfigError(`OAuth ${label} must use https: ${endpoint}`);
1072
- if (parsed.origin !== base.origin) throw new ConfigError(`OAuth ${label} origin (${parsed.origin}) does not match the Metabase URL (${base.origin})`);
1073
- }
1074
-
1075
1074
  //#endregion
1076
1075
  //#region src/core/http/oauth.ts
1077
1076
  const DISCOVERY_PATH = "/.well-known/oauth-authorization-server";
@@ -1429,6 +1428,22 @@ var CapabilityError = class extends MetabaseError {
1429
1428
  }
1430
1429
  };
1431
1430
 
1431
+ //#endregion
1432
+ //#region src/core/version/probe.ts
1433
+ const PROBE_PATH = "/api/session/properties";
1434
+ const PROBE_TIMEOUT_MS = 1e4;
1435
+ async function probeServer(client, opts = {}) {
1436
+ const properties = await client.requestParsed(SessionProperties, PROBE_PATH, {
1437
+ timeoutMs: PROBE_TIMEOUT_MS,
1438
+ retries: opts.retries ?? 0
1439
+ });
1440
+ const version = tryParseTag(properties.version.tag);
1441
+ return {
1442
+ version,
1443
+ tokenFeatures: properties["token-features"] ?? null
1444
+ };
1445
+ }
1446
+
1432
1447
  //#endregion
1433
1448
  //#region src/output/format.ts
1434
1449
  function resolveFormat({ json, format, isTty }) {
@@ -1472,17 +1487,6 @@ function parseEnum(raw, schema, flagName) {
1472
1487
  return result.data;
1473
1488
  }
1474
1489
 
1475
- //#endregion
1476
- //#region src/commands/parse-integer.ts
1477
- const INTEGER_PATTERN = /^-?\d+$/;
1478
- function parseInteger(value, options) {
1479
- const trimmed = value.trim();
1480
- if (!INTEGER_PATTERN.test(trimmed)) throw new ConfigError(`invalid ${options.name}: "${value}" (expected integer)`);
1481
- const parsed = Number.parseInt(trimmed, 10);
1482
- if (parsed < options.min) throw new ConfigError(`invalid ${options.name}: ${parsed} (must be ≥ ${options.min})`);
1483
- return parsed;
1484
- }
1485
-
1486
1490
  //#endregion
1487
1491
  //#region src/commands/context.ts
1488
1492
  function resolveCommonFlags(args, options = {}) {
@@ -1692,4 +1696,4 @@ function buildConfigFlags(ctx) {
1692
1696
  }
1693
1697
 
1694
1698
  //#endregion
1695
- export { DEFAULT_PROFILE, HttpError, OAUTH_SCOPE, ParsedVersionSchema, ProbedUser, ProfileAuthMethod, ProfileLastFailure, TokenFeatures, USER_AGENT, clearProfile, combineAborts, consumeKeychainResidualWarning, consumeKeyringDowngradeWarning, createClient, createCredentialRefresher, defineMetabaseCommand, discoverMetadata, displayUrl, exchangeCode, explicitProfileName, keyringFallbackWarning, listProfileRecords, normalizeUrl, oauthCredentialFromTokens, parseCsv, parseEnum, parseEnumCsv, parseInteger, parseJson, parseJsonOrPlain, probeServer, profileAuthMethod, readEnvCredentials, readProfileCredential, readProfileRecord, registerClient, resolveProfileName, resolveRecordCredential, revokeOAuthCredential, throwIfAborted, tryDiscoverMetadata, writeOAuthProfile, writeProbeFailure, writeProbeResult, writeProfile };
1699
+ export { DEFAULT_PROFILE, HttpError, OAUTH_SCOPE, ParsedVersionSchema, ProbedUser, ProfileAuthMethod, ProfileLastFailure, TokenFeatures, USER_AGENT, clearProfile, combineAborts, consumeKeychainResidualWarning, consumeKeyringDowngradeWarning, createClient, createCredentialRefresher, defineMetabaseCommand, discoverMetadata, displayUrl, exchangeCode, explicitProfileName, keyringFallbackWarning, listProfileRecords, normalizeUrl, oauthCredentialFromTokens, parseCsv, parseEnum, parseEnumCsv, parseInteger, parseJson, parseJsonOrPlain, parseOptionalInteger, probeServer, profileAuthMethod, readEnvCredentials, readProfileCredential, readProfileRecord, registerClient, resolveProfileName, resolveRecordCredential, revokeOAuthCredential, throwIfAborted, tryDiscoverMetadata, writeOAuthProfile, writeProbeFailure, writeProbeResult, writeProfile };
@@ -1,9 +1,9 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import "./field-DsXTeqBy.mjs";
5
- import { parseId } from "./parse-id-CD54Chc5.mjs";
6
- import { Table, TableCompact, tableView } from "./table-C3RIKiYM.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
+ import { parseId } from "./parse-id-waEVK-uR.mjs";
5
+ import "./field-RYBTW2KS.mjs";
6
+ import { Table, TableCompact, tableView } from "./table-fDvuvqoU.mjs";
7
7
  import { z } from "zod";
8
8
 
9
9
  //#region src/commands/db/schema-tables.ts
@@ -1,7 +1,7 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { parseId } from "./parse-id-CD54Chc5.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
+ import { parseId } from "./parse-id-waEVK-uR.mjs";
5
5
  import { z } from "zod";
6
6
 
7
7
  //#region src/commands/db/schemas.ts
@@ -1,7 +1,7 @@
1
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand, parseEnumCsv } from "./runtime-Ab96yYlM.mjs";
4
- import { parseId } from "./parse-id-CD54Chc5.mjs";
3
+ import { defineMetabaseCommand, parseEnumCsv } from "./runtime-CPIHg_Zg.mjs";
4
+ import { parseId } from "./parse-id-waEVK-uR.mjs";
5
5
  import { z } from "zod";
6
6
 
7
7
  //#region src/domain/search.ts
@@ -1,5 +1,5 @@
1
1
  import "./command-augment-D9pI9Vbh.mjs";
2
- import { defineCommandGroup } from "./group-CILtQqCL.mjs";
2
+ import { defineCommandGroup } from "./group-DfTvzGz-.mjs";
3
3
 
4
4
  //#region src/commands/segment/index.ts
5
5
  var segment_default = defineCommandGroup({
@@ -13,11 +13,11 @@ var segment_default = defineCommandGroup({
13
13
  purpose: "define reusable segments"
14
14
  }],
15
15
  subCommands: {
16
- list: () => import("./list-CvS68tLn.mjs").then((mod) => mod.default),
17
- get: () => import("./get-DWzMR8sn.mjs").then((mod) => mod.default),
18
- create: () => import("./create-QYctYGSa.mjs").then((mod) => mod.default),
19
- update: () => import("./update-CO9uCJxV.mjs").then((mod) => mod.default),
20
- archive: () => import("./archive-BCPA0HhV.mjs").then((mod) => mod.default)
16
+ list: () => import("./list-CSnpbFML.mjs").then((mod) => mod.default),
17
+ get: () => import("./get-DXydDRVU.mjs").then((mod) => mod.default),
18
+ create: () => import("./create-CtIOvInN.mjs").then((mod) => mod.default),
19
+ update: () => import("./update-DDVuyquf.mjs").then((mod) => mod.default),
20
+ archive: () => import("./archive-BUFc1me2.mjs").then((mod) => mod.default)
21
21
  }
22
22
  });
23
23
 
@@ -1,6 +1,6 @@
1
- import { ConfigError } from "./capabilities-DOTcPraV.mjs";
2
- import { parseCsv } from "./runtime-Ab96yYlM.mjs";
3
- import { parseId } from "./parse-id-CD54Chc5.mjs";
1
+ import { ConfigError } from "./capabilities-1HTHeDa4.mjs";
2
+ import { parseCsv } from "./runtime-CPIHg_Zg.mjs";
3
+ import { parseId } from "./parse-id-waEVK-uR.mjs";
4
4
 
5
5
  //#region src/commands/library/selectors.ts
6
6
  const tableSelectorFlags = {
@@ -0,0 +1,60 @@
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import "./cron-93wjhtrP.mjs";
4
+ import "./notification-BR5wehqg.mjs";
5
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
6
+ import { parseId } from "./parse-id-waEVK-uR.mjs";
7
+ import { fetchAlert } from "./patch-DrMVqf34.mjs";
8
+ import { z } from "zod";
9
+
10
+ //#region src/commands/alert/send.ts
11
+ const AlertSendResult = z.object({
12
+ id: z.number().int(),
13
+ sent: z.boolean()
14
+ });
15
+ const alertSendResultView = {
16
+ compactPick: AlertSendResult,
17
+ tableColumns: [{
18
+ key: "id",
19
+ label: "ID"
20
+ }, {
21
+ key: "sent",
22
+ label: "Sent"
23
+ }]
24
+ };
25
+ var send_default = defineMetabaseCommand({
26
+ meta: {
27
+ name: "send",
28
+ description: "Send a question alert now, off-schedule"
29
+ },
30
+ details: "Delivers to every handler on the alert, ignoring its send condition and schedule. Requires the channel to be configured on the server (email needs SMTP set up).",
31
+ capabilities: { minVersion: 58 },
32
+ args: {
33
+ ...outputFlags,
34
+ ...profileFlag,
35
+ ...connectionFlags,
36
+ id: {
37
+ type: "positional",
38
+ description: "Alert id",
39
+ required: true
40
+ }
41
+ },
42
+ outputSchema: AlertSendResult,
43
+ examples: ["mb alert send 9", "mb alert send 9 --json"],
44
+ async run({ args, ctx, getClient }) {
45
+ const id = parseId(args.id);
46
+ const client = await getClient();
47
+ await fetchAlert(client, id);
48
+ await client.requestRaw(`/api/notification/${id}/send`, {
49
+ method: "POST",
50
+ expectContentType: "binary"
51
+ });
52
+ renderSummary({
53
+ id,
54
+ sent: true
55
+ }, alertSendResultView, `Sent alert ${id}.`, ctx);
56
+ }
57
+ });
58
+
59
+ //#endregion
60
+ export { send_default as default };
@@ -1,7 +1,7 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import { parseEnumFlag } from "./parse-enum-C_2lGr3g.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
+ import { parseEnumFlag } from "./parse-enum-D1zTYr_i.mjs";
5
5
  import { z } from "zod";
6
6
 
7
7
  //#region src/commands/transform-job/set-active.ts
@@ -1,10 +1,10 @@
1
- import { connectionFlags, formatScalar, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, formatScalar, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import "./input-DzbvxKYU.mjs";
5
- import { readBody } from "./body-DKcQw7G5.mjs";
6
- import { SettingValue, settingValueView } from "./setting-Cko6bE_w.mjs";
7
- import { parseSettingKey, rethrowSettingError } from "./key-BnGRTX8U.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
+ import "./input-BpXlmJ5J.mjs";
5
+ import { readBody } from "./body-DXJ2v3GY.mjs";
6
+ import { SettingValue, settingValueView } from "./setting-CDEoJYO0.mjs";
7
+ import { parseSettingKey, rethrowSettingError } from "./key-B9AAqwjq.mjs";
8
8
  import { z } from "zod";
9
9
 
10
10
  //#region src/commands/setting/set.ts
@@ -1,5 +1,5 @@
1
1
  import "./command-augment-D9pI9Vbh.mjs";
2
- import { defineCommandGroup } from "./group-CILtQqCL.mjs";
2
+ import { defineCommandGroup } from "./group-DfTvzGz-.mjs";
3
3
 
4
4
  //#region src/commands/setting/index.ts
5
5
  var setting_default = defineCommandGroup({
@@ -10,9 +10,9 @@ var setting_default = defineCommandGroup({
10
10
  purpose: "setting get/set JSON value quoting"
11
11
  }],
12
12
  subCommands: {
13
- list: () => import("./list-KDHLmoUx.mjs").then((m) => m.default),
14
- get: () => import("./get-CP3lrIYi.mjs").then((m) => m.default),
15
- set: () => import("./set-tHsHXRGV.mjs").then((m) => m.default)
13
+ list: () => import("./list-BiAVv9jX.mjs").then((m) => m.default),
14
+ get: () => import("./get-75Vdyusm.mjs").then((m) => m.default),
15
+ set: () => import("./set-jRnCLhvc.mjs").then((m) => m.default)
16
16
  }
17
17
  });
18
18
 
@@ -1,9 +1,9 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import "./input-DzbvxKYU.mjs";
5
- import { readBody } from "./body-DKcQw7G5.mjs";
6
- import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
+ import "./input-BpXlmJ5J.mjs";
5
+ import { readBody } from "./body-DXJ2v3GY.mjs";
6
+ import { bodyInputFlags } from "./body-flags-Cbv-Ba6W.mjs";
7
7
  import { z } from "zod";
8
8
 
9
9
  //#region src/domain/setup.ts
@@ -8,9 +8,9 @@ var skills_default = defineCommand({
8
8
  },
9
9
  default: "list",
10
10
  subCommands: {
11
- list: () => import("./list-B3HoSfYj.mjs").then((m) => m.default),
12
- get: () => import("./get-DtvzjfjG.mjs").then((m) => m.default),
13
- path: () => import("./path-CPMr1RJO.mjs").then((m) => m.default)
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)
14
14
  }
15
15
  });
16
16
 
@@ -1,4 +1,4 @@
1
- import { ConfigError, ValidationError, errorMessage, isNotFoundError } from "./capabilities-DOTcPraV.mjs";
1
+ import { ConfigError, ValidationError, errorMessage, isNotFoundError } from "./capabilities-1HTHeDa4.mjs";
2
2
  import { z } from "zod";
3
3
  import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
4
4
  import { dirname, join, resolve } from "node:path";
@@ -0,0 +1,22 @@
1
+ import "./command-augment-D9pI9Vbh.mjs";
2
+ import { defineCommandGroup } from "./group-DfTvzGz-.mjs";
3
+
4
+ //#region src/commands/snippet/index.ts
5
+ var snippet_default = defineCommandGroup({
6
+ name: "snippet",
7
+ description: "Manage Metabase native query snippets",
8
+ skills: [{
9
+ skill: "core",
10
+ purpose: "native-SQL snippets and body input"
11
+ }],
12
+ subCommands: {
13
+ list: () => import("./list-hKRQUcGB.mjs").then((mod) => mod.default),
14
+ get: () => import("./get-BbKC0fTx.mjs").then((mod) => mod.default),
15
+ create: () => import("./create-D6bXJlBS.mjs").then((mod) => mod.default),
16
+ update: () => import("./update-CzrbMLZq.mjs").then((mod) => mod.default),
17
+ archive: () => import("./archive-CUGRnyRV.mjs").then((mod) => mod.default)
18
+ }
19
+ });
20
+
21
+ //#endregion
22
+ export { snippet_default as default };
@@ -1,10 +1,10 @@
1
- import { ConfigError, connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
1
+ import { ConfigError, connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import "./parse-id-CD54Chc5.mjs";
5
- import "./poll-DVF9EnEb.mjs";
6
- import { gitSyncWaitFlags, parseWaitFlags } from "./wait-flags-DvNU8ahZ.mjs";
7
- import { REMOTE_SYNC_PATHS, SyncTask, formatSyncTask, pollSyncTask, throwIfFailedTask } from "./poll-task-CpHGQOd5.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-CPIHg_Zg.mjs";
4
+ import "./parse-id-waEVK-uR.mjs";
5
+ import "./poll-rqLkEJVP.mjs";
6
+ import { gitSyncWaitFlags, parseWaitFlags } from "./wait-flags-D0FEgH6k.mjs";
7
+ import { REMOTE_SYNC_PATHS, SyncTask, formatSyncTask, pollSyncTask, throwIfFailedTask } from "./poll-task-CiB1o1wG.mjs";
8
8
  import { z } from "zod";
9
9
 
10
10
  //#region src/commands/git-sync/stash.ts
@@ -1,7 +1,7 @@
1
- import { outputFlags, profileFlag, renderItem } from "./capabilities-DOTcPraV.mjs";
1
+ import { outputFlags, profileFlag, renderItem } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { ParsedVersionSchema, ProbedUser, ProfileAuthMethod, ProfileLastFailure, TokenFeatures, defineMetabaseCommand, displayUrl, profileAuthMethod, readProfileRecord, resolveProfileName } from "./runtime-Ab96yYlM.mjs";
4
- import { renderAuthMethod, renderTimestamp, renderUserName, renderUserRole, renderVersionTag } from "./render-CkuFkWlQ.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";
5
5
  import { z } from "zod";
6
6
 
7
7
  //#region src/commands/auth/status.ts
@@ -1,9 +1,12 @@
1
- import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-1HTHeDa4.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
- import "./poll-DVF9EnEb.mjs";
5
- import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed, formatSyncTask } from "./poll-task-CpHGQOd5.mjs";
6
- import { IsDirtyResult } from "./is-dirty-CHbUJ-bh.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";
7
10
  import { z } from "zod";
8
11
 
9
12
  //#region src/commands/git-sync/status.ts
@@ -11,7 +14,8 @@ const RemoteSyncBranch = z.string().nullable();
11
14
  const SyncStatus = z.object({
12
15
  branch: z.string().nullable(),
13
16
  is_dirty: z.boolean(),
14
- current_task: SyncTask.nullable()
17
+ current_task: SyncTask.nullable(),
18
+ synced_collections: z.array(SyncedCollection)
15
19
  });
16
20
  const syncStatusView = {
17
21
  compactPick: SyncStatus,
@@ -27,6 +31,10 @@ const syncStatusView = {
27
31
  {
28
32
  key: "current_task",
29
33
  label: "Current task"
34
+ },
35
+ {
36
+ key: "synced_collections",
37
+ label: "Synced collections"
30
38
  }
31
39
  ]
32
40
  };
@@ -48,22 +56,30 @@ var status_default = defineMetabaseCommand({
48
56
  examples: ["mb git-sync status", "mb git-sync status --json"],
49
57
  async run({ ctx, getClient }) {
50
58
  const client = await getClient();
51
- const [branch, isDirty, currentTask] = await Promise.all([
59
+ const [branch, isDirty, currentTask, syncedCollections] = await Promise.all([
52
60
  fetchOptionalParsed(client, "/api/setting/remote-sync-branch", RemoteSyncBranch),
53
61
  client.requestParsed(IsDirtyResult, REMOTE_SYNC_PATHS.isDirty),
54
- fetchCurrentTask(client)
62
+ fetchCurrentTask(client),
63
+ fetchSyncedCollections(client)
55
64
  ]);
56
65
  const summary = {
57
66
  branch,
58
67
  is_dirty: isDirty.is_dirty,
59
- current_task: currentTask
68
+ current_task: currentTask,
69
+ synced_collections: syncedCollections
60
70
  };
61
71
  const branchPart = branch === null ? "git-sync branch not set" : `Branch ${branch}`;
62
72
  const dirtyPart = isDirty.is_dirty ? "Metabase has unsynced local changes" : "in sync with the remote";
63
73
  const taskPart = currentTask === null ? "No task running." : formatSyncTask(currentTask);
64
- renderSummary(summary, syncStatusView, `${branchPart} — ${dirtyPart}. ${taskPart}`, ctx);
74
+ const scopePart = formatSyncedCollections(syncedCollections);
75
+ renderSummary(summary, syncStatusView, `${branchPart} — ${dirtyPart}. ${taskPart} ${scopePart}`, ctx);
65
76
  }
66
77
  });
78
+ function formatSyncedCollections(collections) {
79
+ 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
+ }
67
83
 
68
84
  //#endregion
69
85
  export { status_default as default };
@@ -0,0 +1,25 @@
1
+ import "./command-augment-D9pI9Vbh.mjs";
2
+ import { defineCommandGroup } from "./group-DfTvzGz-.mjs";
3
+
4
+ //#region src/commands/subscription/index.ts
5
+ var subscription_default = defineCommandGroup({
6
+ name: "subscription",
7
+ description: "Manage Metabase dashboard subscriptions (scheduled dashboard delivery)",
8
+ skills: [{
9
+ skill: "notification",
10
+ purpose: "channel schedules, recipients, skip_if_empty, per-subscription filter values"
11
+ }, {
12
+ skill: "dashboard",
13
+ purpose: "the dashboard and dashcards a subscription delivers"
14
+ }],
15
+ 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)
21
+ }
22
+ });
23
+
24
+ //#endregion
25
+ export { subscription_default as default };