@metabase/cli 0.1.4 → 0.1.6

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 (218) hide show
  1. package/.claude-plugin/marketplace.json +19 -0
  2. package/README.md +147 -101
  3. package/dist/{add-collection-CffaBB-Y.mjs → add-collection-BU8r3r2M.mjs} +9 -4
  4. package/dist/add-collection-C0w6ACQF.mjs +11 -0
  5. package/dist/{archive-uJrslh9r.mjs → archive-BNinrUak.mjs} +9 -8
  6. package/dist/{archive-GdGm7l2e.mjs → archive-C1enZgKV.mjs} +8 -7
  7. package/dist/archive-CDA0KxL8.mjs +40 -0
  8. package/dist/{archive-BAcEXbT9.mjs → archive-CRhiBpPJ.mjs} +9 -8
  9. package/dist/{archive-B_B3MQp0.mjs → archive-DMPS8Kih.mjs} +9 -8
  10. package/dist/archive-lWgqiFAt.mjs +40 -0
  11. package/dist/auth-CzXb_zB2.mjs +19 -0
  12. package/dist/{body-D6dHGjMT.mjs → body-DjdFxjpg.mjs} +4 -4
  13. package/dist/{branches-Bpe40fEd.mjs → branches-B1WRfG7-.mjs} +11 -7
  14. package/dist/{cancel-BWTY6oYI.mjs → cancel-Dl_Ho056.mjs} +7 -6
  15. package/dist/{cancel-task--BfiAXfS.mjs → cancel-task-CdigdCaO.mjs} +11 -7
  16. package/dist/capabilities-7e9MgquN.mjs +29 -0
  17. package/dist/card-DP4rfoOi.mjs +21 -0
  18. package/dist/{card-CQxvHeyP.mjs → card-DlCAaAPq.mjs} +1 -1
  19. package/dist/{cards-CVlFJxYh.mjs → cards-BGiJS675.mjs} +8 -7
  20. package/dist/cli.mjs +267 -44
  21. package/dist/collection-tY18ezvn.mjs +21 -0
  22. package/dist/{predicates-CGO17Q15.mjs → command-augment-BH9qgQ5u.mjs} +66 -14
  23. package/dist/create-BNiva__H.mjs +52 -0
  24. package/dist/{create-izE3EKCt.mjs → create-BTcpaop_.mjs} +9 -8
  25. package/dist/{create-BykvNpSA.mjs → create-BYlIju0b.mjs} +14 -12
  26. package/dist/{create-Bu-YhIDL.mjs → create-Be_0Vier.mjs} +10 -9
  27. package/dist/{create-DYoc9IXW.mjs → create-CHF313Qg.mjs} +13 -9
  28. package/dist/{create-Cz3_Wxdt.mjs → create-CwGtmwqm.mjs} +14 -12
  29. package/dist/{create-DP8RrLDi.mjs → create-CzzrbL0u.mjs} +10 -9
  30. package/dist/{create-BzElku2l.mjs → create-DGth_uOp.mjs} +14 -12
  31. package/dist/{create-branch-B49UQyCK.mjs → create-branch-DKZkoQ64.mjs} +11 -7
  32. package/dist/{create-DQVdMT2Y.mjs → create-dhxPxfF3.mjs} +16 -14
  33. package/dist/{credentials-xKSoP6eh.mjs → credentials-dzeq7ckm.mjs} +12 -10
  34. package/dist/{current-task-DweHmjlk.mjs → current-task-CCRzm0_7.mjs} +11 -7
  35. package/dist/dashboard-ChM_Tu0l.mjs +22 -0
  36. package/dist/{dashboard-CnMD04PQ.mjs → dashboard-FY5UzJ_Z.mjs} +2 -1
  37. package/dist/{database-BNlvldUL.mjs → database-CIXwHKjK.mjs} +3 -3
  38. package/dist/{database-vvig8k4x.mjs → database-lH-B3G1I.mjs} +1 -1
  39. package/dist/db-DrQn_i3W.mjs +22 -0
  40. package/dist/{remove-B3ZEqBF7.mjs → delete-CM3jnAeQ.mjs} +21 -20
  41. package/dist/{delete-DojHmKeM.mjs → delete-Dimc-2y8.mjs} +9 -8
  42. package/dist/{delete-DIz9Tgz5.mjs → delete-ZjnV35OJ.mjs} +9 -8
  43. package/dist/{delete-runtime-BkAdygbs.mjs → delete-runtime-B6RQo_pw.mjs} +5 -3
  44. package/dist/{delete-table-DjN8E3sd.mjs → delete-table-agZJpivt.mjs} +9 -8
  45. package/dist/{deprovision-_HDcBApz.mjs → deprovision-CwxcIT3k.mjs} +16 -12
  46. package/dist/{dirty-Co8V0SZ3.mjs → dirty-D4d0yHqj.mjs} +11 -7
  47. package/dist/{docker-D9sC_37H.mjs → docker-Oq80q3tu.mjs} +4 -4
  48. package/dist/{translate-CG_Ka0dO.mjs → eid-BXzaQh0o.mjs} +37 -22
  49. package/dist/error-C9S6PN3-.mjs +190 -0
  50. package/dist/{export-CVMFxoo1.mjs → export-DTygoXBP.mjs} +17 -16
  51. package/dist/field-Z6Pcxf4n.mjs +19 -0
  52. package/dist/{fields-Coha7vKv.mjs → fields-CoQi99gv.mjs} +9 -8
  53. package/dist/{get-DXv2FkA7.mjs → get-Bzys7vgp.mjs} +8 -7
  54. package/dist/{get-bNtA7vWe.mjs → get-C2p383Qc.mjs} +8 -7
  55. package/dist/{get-Br6WayZv.mjs → get-C3HdQ91a.mjs} +8 -7
  56. package/dist/{get-BOtKerj8.mjs → get-CP3Z3NiH.mjs} +9 -8
  57. package/dist/{get-BSKoL8ek.mjs → get-C_w1kvN3.mjs} +9 -8
  58. package/dist/{get-Be6EFh94.mjs → get-CzuzeKSe.mjs} +10 -9
  59. package/dist/{get-BVTz9B_H.mjs → get-D3SbEQSE.mjs} +10 -9
  60. package/dist/get-DFxZXaKz.mjs +79 -0
  61. package/dist/{get-DZrV7v9d.mjs → get-DQTZG_NP.mjs} +8 -7
  62. package/dist/{get-CJwzbVjc.mjs → get-DSWFjy7O.mjs} +8 -7
  63. package/dist/{get-BxzCKVC6.mjs → get-Ddr0XLh7.mjs} +8 -7
  64. package/dist/{get-AOvWo48B.mjs → get-Hc93A0Yz.mjs} +8 -7
  65. package/dist/{get-C_6K7MSW.mjs → get-lb7q3JYs.mjs} +7 -6
  66. package/dist/get-run-B7sKdaDU.mjs +38 -0
  67. package/dist/git-sync-CiGAad76.mjs +28 -0
  68. package/dist/{has-remote-changes-D6xgsuUr.mjs → has-remote-changes-BY10-nnE.mjs} +11 -7
  69. package/dist/{import-Dv0ORSNw.mjs → import-CiMz4Wz-.mjs} +17 -16
  70. package/dist/{input-BQ-BZA8h.mjs → input-cMSEqISy.mjs} +7 -4
  71. package/dist/{is-dirty-WNi8a6O9.mjs → is-dirty-BZOaryxT.mjs} +9 -4
  72. package/dist/is-dirty-Ume4oV0j.mjs +10 -0
  73. package/dist/{items-CTcAMknV.mjs → items-BWfvkY-J.mjs} +9 -8
  74. package/dist/key-C2XG394c.mjs +17 -0
  75. package/dist/license-Dxarh-gG.mjs +17 -0
  76. package/dist/{list-FXuSCYpa.mjs → list--OYdUTtu.mjs} +7 -6
  77. package/dist/{list-8oVMvlLV.mjs → list-2j7GsXsl.mjs} +7 -6
  78. package/dist/{list-xQmtQPSl.mjs → list-BI4zr8LW.mjs} +10 -8
  79. package/dist/{list-DhWG5jiW.mjs → list-Brgh-Z2v.mjs} +8 -6
  80. package/dist/{list-DSs0Q78i.mjs → list-C3hfovHv.mjs} +7 -6
  81. package/dist/{list-DvUjMQze.mjs → list-CL7eCOQE.mjs} +7 -6
  82. package/dist/list-Clz5igWg.mjs +44 -0
  83. package/dist/list-D4sFiqX8.mjs +173 -0
  84. package/dist/{list-BxdXvGTK.mjs → list-DXH7TlkU.mjs} +9 -7
  85. package/dist/{list-CocYwmnI.mjs → list-DZ8fNUoQ.mjs} +9 -8
  86. package/dist/{list-DjhZU-FY.mjs → list-SOG0whQ-.mjs} +7 -6
  87. package/dist/{list-DI7K3K6k.mjs → list-d58BprgJ.mjs} +7 -6
  88. package/dist/{list-NiwCL_1X.mjs → list-sD5N3fGk.mjs} +9 -8
  89. package/dist/{list-CbJeP0Z6.mjs → list-zSO0DMw-.mjs} +10 -6
  90. package/dist/{login-SXsSH0I1.mjs → login-Bm2AnCez.mjs} +65 -80
  91. package/dist/{logout-bgOXjxbN.mjs → logout-BlyRJODO.mjs} +8 -7
  92. package/dist/{logs-BnwVbFuD.mjs → logs-CywPikkL.mjs} +9 -8
  93. package/dist/{manifest-CGM7XNLC.mjs → manifest-BBR46KFM.mjs} +15 -15
  94. package/dist/measure-C44EK_xt.mjs +20 -0
  95. package/dist/{measure-BEQfnLdN.mjs → measure-ClESGxIb.mjs} +2 -2
  96. package/dist/{metadata-Bu2HOmuX.mjs → metadata-B8ZSF9LA.mjs} +10 -9
  97. package/dist/{metadata-B0WZT3Yb.mjs → metadata-DqiI2q9q.mjs} +9 -8
  98. package/dist/parse-enum-CrEWOhuY.mjs +11 -0
  99. package/dist/{parse-id-B3B-0hUA.mjs → parse-id-lk_K-CEF.mjs} +1 -1
  100. package/dist/{parse-ref-D1yeDOn8.mjs → parse-ref-BiETXmvm.mjs} +1 -1
  101. package/dist/{parse-schemas-DgtVLikM.mjs → parse-schemas-BqUdWUwq.mjs} +2 -2
  102. package/dist/path-AEtZ3mBq.mjs +58 -0
  103. package/dist/{poll-BCnrcUVf.mjs → poll-DHKDpCiq.mjs} +2 -2
  104. package/dist/{poll-task-0b1V6G-8.mjs → poll-task-Cooi0lQV.mjs} +3 -20
  105. package/dist/{preflight-5ACaYnDp.mjs → preflight-aXV5LyDs.mjs} +4 -4
  106. package/dist/{process-FjsqDwKo.mjs → process-C7V8LJ-j.mjs} +1 -1
  107. package/dist/{prompt-DgDNy_Pc.mjs → prompt-CFKoys7k.mjs} +3 -1
  108. package/dist/{provision-29Zt62Ft.mjs → provision-UWcNDoDe.mjs} +29 -24
  109. package/dist/{ps-BMFiRCi4.mjs → ps-CJU0EbrC.mjs} +5 -3
  110. package/dist/ps-DEroLgbI.mjs +11 -0
  111. package/dist/{query-DxA353Hy.mjs → query-AaKzYnTY.mjs} +9 -8
  112. package/dist/{query-aba8MEe_.mjs → query-BlsVNZpD.mjs} +15 -13
  113. package/dist/{remove-BfgU_CQi.mjs → remove-BFWun0e8.mjs} +9 -8
  114. package/dist/{remove-collection-Brv72xUe.mjs → remove-collection-CoCmrrQs.mjs} +13 -9
  115. package/dist/{render-DuoDUTVL.mjs → render-CfznwleY.mjs} +15 -17
  116. package/dist/render-OQn3iRsI.mjs +32 -0
  117. package/dist/{rescan-values-DIAdjoq7.mjs → rescan-values-C0FDsjT7.mjs} +10 -9
  118. package/dist/{run-CgXRo0hD.mjs → run-B4Wn43zm.mjs} +10 -9
  119. package/dist/{runs-DtLRw6xg.mjs → runs-Bbaszr18.mjs} +9 -8
  120. package/dist/{runtime-Br8L4NPm.mjs → runtime-Dmv5VtUK.mjs} +657 -428
  121. package/dist/{schema-tables-DiKMY6lx.mjs → schema-tables-CaWinbuK.mjs} +9 -8
  122. package/dist/{schemas-Bvr8cOzo.mjs → schemas-DUgGpAyB.mjs} +7 -6
  123. package/dist/{search-BT_TCcTd.mjs → search-BLrBXLUk.mjs} +12 -16
  124. package/dist/segment-B3Uwwcsm.mjs +20 -0
  125. package/dist/{set-DtG0KH6P.mjs → set-B8cUbRLD.mjs} +13 -12
  126. package/dist/{set-CAIkXlPy.mjs → set-DfGsta5O.mjs} +11 -10
  127. package/dist/{setting-BDOi5fk_.mjs → setting-D2p2MA7f.mjs} +3 -3
  128. package/dist/{setup-LjTvvlJy.mjs → setup-C9ikBRw_.mjs} +9 -8
  129. package/dist/skills-CUHIcQS6.mjs +18 -0
  130. package/dist/skills-CiN1OQ8W.mjs +191 -0
  131. package/dist/snippet-B7D0uWlz.mjs +20 -0
  132. package/dist/{start-CXKt0Q7A.mjs → start-3PX3ahjT.mjs} +68 -36
  133. package/dist/{stash-dRw1UEwg.mjs → stash-EIDcSvpF.mjs} +17 -16
  134. package/dist/{status-C2niMfrQ.mjs → status-95ElRAu9.mjs} +12 -8
  135. package/dist/status-B0_MiZEf.mjs +100 -0
  136. package/dist/status-CEplmC44.mjs +34 -0
  137. package/dist/{stop-BdedYfwU.mjs → stop-CQ0XGrN8.mjs} +11 -10
  138. package/dist/{summary-BPDA4K99.mjs → summary-C12LiEuJ.mjs} +8 -7
  139. package/dist/{sync-schema-D95LLRpf.mjs → sync-schema-Ba8M3DiX.mjs} +10 -9
  140. package/dist/{table-B-PYcgGb.mjs → table-C7a5V6Zn.mjs} +1 -1
  141. package/dist/table-e6h8SLVX.mjs +20 -0
  142. package/dist/transform-BMYh1lsC.mjs +25 -0
  143. package/dist/transform-job-Cm7z5TfH.mjs +20 -0
  144. package/dist/{transform-job-Csr86muI.mjs → transform-job-DeTDPMxt.mjs} +1 -1
  145. package/dist/{tree-DazZT7dR.mjs → tree-Des2ZG9d.mjs} +6 -5
  146. package/dist/{update-DE6kjV-f.mjs → update-Bx54nWEI.mjs} +17 -15
  147. package/dist/{update-bW-i6gjZ.mjs → update-CyIZdbIQ.mjs} +11 -10
  148. package/dist/{update-djgvzO3K.mjs → update-DBi5U8zb.mjs} +16 -14
  149. package/dist/{update-CJSDB6S8.mjs → update-DHZubok3.mjs} +18 -14
  150. package/dist/{update-BBfvArCx.mjs → update-DSgceARZ.mjs} +11 -10
  151. package/dist/{update-DSWZSfpw.mjs → update-DzAN4SPj.mjs} +15 -13
  152. package/dist/{update-WyRKlQPh.mjs → update-F6DmZncY.mjs} +11 -10
  153. package/dist/{update-DTIWJxob.mjs → update-_QfgNa53.mjs} +12 -11
  154. package/dist/{update-dashcard-BhD5x__K.mjs → update-dashcard-wpSjv4M7.mjs} +11 -10
  155. package/dist/{update-9kVyE3BJ.mjs → update-mYVnoYNV.mjs} +15 -13
  156. package/dist/{update-659eQR1L.mjs → update-njHe3j-s.mjs} +15 -13
  157. package/dist/{upgrade-D58rvXHM.mjs → upgrade-iAuvhX-W.mjs} +9 -8
  158. package/dist/{url-DKkSu2D8.mjs → url-DWaT6WIZ.mjs} +11 -10
  159. package/dist/{uuid-BF20B59s.mjs → uuid-CMKnS8-z.mjs} +8 -6
  160. package/dist/{validate-CB0bu50i.mjs → validate-dPEOnOf8.mjs} +2 -1
  161. package/dist/{validate-query-CavIA0Q2.mjs → validate-query-Cw6WE5Y8.mjs} +3 -3
  162. package/dist/{values-DyjmpcbT.mjs → values-BfSTAbzc.mjs} +8 -7
  163. package/dist/verify-D5YtTqqp.mjs +79 -0
  164. package/dist/{wait-CeUPCgdc.mjs → wait-8yV9_WIo.mjs} +2 -2
  165. package/dist/{wait-DhkTaV6E.mjs → wait-Bv3Tsnv4.mjs} +12 -8
  166. package/dist/{wait-flags-BR-yqe7y.mjs → wait-flags-Dzq9BGQY.mjs} +20 -9
  167. package/dist/workspace-CKLZrR7l.mjs +26 -0
  168. package/dist/{workspace-credentials-Cctumbru.mjs → workspace-credentials-BXpABsNZ.mjs} +2 -41
  169. package/dist/yaml-YTQiYJ9s.mjs +43 -0
  170. package/package.json +6 -2
  171. package/skill-data/core/SKILL.md +177 -0
  172. package/skill-data/git-sync/SKILL.md +196 -0
  173. package/skill-data/mbql/SKILL.md +156 -0
  174. package/skill-data/mbql/references/operators.md +253 -0
  175. package/skill-data/transform/SKILL.md +197 -0
  176. package/skill-data/viz/SKILL.md +137 -0
  177. package/skill-data/viz/references/settings.md +312 -0
  178. package/skill-data/workspace/SKILL.md +390 -0
  179. package/skills/metabase-cli/SKILL.md +21 -0
  180. package/dist/add-collection-CPL1njYZ.mjs +0 -11
  181. package/dist/api-key-9p1UPnXn.mjs +0 -13
  182. package/dist/auth-N4w5xtwW.mjs +0 -19
  183. package/dist/card-4rZRb5bc.mjs +0 -20
  184. package/dist/collection-Cp_B02I4.mjs +0 -19
  185. package/dist/command-augment-D9pI9Vbh.mjs +0 -11
  186. package/dist/create-doyv3SxU.mjs +0 -50
  187. package/dist/create-ov-De5dO.mjs +0 -125
  188. package/dist/dashboard-BYBiA-IG.mjs +0 -20
  189. package/dist/db-CObVU22j.mjs +0 -22
  190. package/dist/eid-Cr5r-t9B.mjs +0 -13
  191. package/dist/field-CbljasCH.mjs +0 -18
  192. package/dist/flag-pair-Fmcdkrfx.mjs +0 -17
  193. package/dist/get-run-CSrXHDGS.mjs +0 -36
  194. package/dist/git-sync-BGkS8o5b.mjs +0 -28
  195. package/dist/is-dirty-BOZ4xz92.mjs +0 -10
  196. package/dist/key-CCJdVWKc.mjs +0 -12
  197. package/dist/license-DLLTpFvP.mjs +0 -17
  198. package/dist/list-BNzdnE1c.mjs +0 -55
  199. package/dist/measure-B54VtKym.mjs +0 -19
  200. package/dist/package-D-aVYFKM.mjs +0 -80
  201. package/dist/ps-C5FOLwL2.mjs +0 -11
  202. package/dist/segment-C2ui5dSd.mjs +0 -19
  203. package/dist/snippet-BcgVYsoR.mjs +0 -19
  204. package/dist/status-BEONmJWv.mjs +0 -32
  205. package/dist/status-BWep0PFe.mjs +0 -56
  206. package/dist/table-lCNGbvej.mjs +0 -19
  207. package/dist/transform-BGAm1s4f.mjs +0 -24
  208. package/dist/transform-job-cNTJ30pm.mjs +0 -19
  209. package/dist/workspace-DtcBldk0.mjs +0 -24
  210. /package/dist/{body-flags-BK7J6Daz.mjs → body-flags-D7q87Btw.mjs} +0 -0
  211. /package/dist/{field-B3gvaqpK.mjs → field-yomXlkvl.mjs} +0 -0
  212. /package/dist/{paginate-CTSfuYiF.mjs → paginate-Dfm9eO9A.mjs} +0 -0
  213. /package/dist/{revision-message-flag-oyq2xrDU.mjs → revision-message-flag-WmsIzUOM.mjs} +0 -0
  214. /package/dist/{segment-BMrUBz94.mjs → segment-Be2v4ilr.mjs} +0 -0
  215. /package/dist/{setting-CTaAeMci.mjs → setting-oL97SNeO.mjs} +0 -0
  216. /package/dist/{snippet-Dw0Sjzkr.mjs → snippet-COggaWxx.mjs} +0 -0
  217. /package/dist/{transform-IEX4Mx3X.mjs → transform-GTW3G-01.mjs} +0 -0
  218. /package/dist/{workspace-C5q4nbpY.mjs → workspace-BBXJczJK.mjs} +0 -0
@@ -1,25 +1,25 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { defineMetabaseCommand, outputFlags } from "./runtime-Br8L4NPm.mjs";
6
- import { parseId } from "./parse-id-B3B-0hUA.mjs";
7
- import { promptConfirm } from "./prompt-DgDNy_Pc.mjs";
8
- import "./poll-BCnrcUVf.mjs";
9
- import "./process-FjsqDwKo.mjs";
10
- import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-D9sC_37H.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { outputFlags } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import { renderItem } from "./render-CfznwleY.mjs";
6
+ import { promptConfirm } from "./prompt-CFKoys7k.mjs";
7
+ import { parseId } from "./parse-id-lk_K-CEF.mjs";
8
+ import "./poll-DHKDpCiq.mjs";
9
+ import "./process-C7V8LJ-j.mjs";
10
+ import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-Oq80q3tu.mjs";
11
11
  import { z } from "zod";
12
12
 
13
- //#region src/commands/workspace/remove.ts
14
- const RemoveResult = z.object({
13
+ //#region src/commands/workspace/delete.ts
14
+ const DeleteResult = z.object({
15
15
  workspace_id: z.number().int().positive(),
16
16
  container_name: z.string(),
17
17
  volume_name: z.string(),
18
18
  removed_container: z.boolean(),
19
19
  removed_volume: z.boolean()
20
20
  });
21
- const removeResultView = {
22
- compactPick: RemoveResult.pick({
21
+ const deleteResultView = {
22
+ compactPick: DeleteResult.pick({
23
23
  workspace_id: true,
24
24
  removed_container: true,
25
25
  removed_volume: true
@@ -47,11 +47,12 @@ const removeResultView = {
47
47
  }
48
48
  ]
49
49
  };
50
- var remove_default = defineMetabaseCommand({
50
+ var delete_default = defineMetabaseCommand({
51
51
  meta: {
52
- name: "remove",
52
+ name: "delete",
53
53
  description: "Stop and remove the local container + app-db volume (does not affect remote)"
54
54
  },
55
+ capabilities: null,
55
56
  args: {
56
57
  ...outputFlags,
57
58
  id: {
@@ -70,8 +71,8 @@ var remove_default = defineMetabaseCommand({
70
71
  default: false
71
72
  }
72
73
  },
73
- outputSchema: RemoveResult,
74
- examples: ["mb workspace remove 1 --yes", "mb workspace remove 1 --keep-volume --yes"],
74
+ outputSchema: DeleteResult,
75
+ examples: ["mb workspace delete 1 --yes", "mb workspace delete 1 --keep-volume --yes"],
75
76
  async run({ args, ctx }) {
76
77
  const workspaceId = parseId(args.id);
77
78
  const containerName = containerNameFor(workspaceId);
@@ -91,9 +92,9 @@ var remove_default = defineMetabaseCommand({
91
92
  removed_container: removedContainer,
92
93
  removed_volume: removedVolume
93
94
  };
94
- renderItem(result, removeResultView, ctx);
95
+ renderItem(result, deleteResultView, ctx);
95
96
  }
96
97
  });
97
98
 
98
99
  //#endregion
99
- export { remove_default as default };
100
+ export { delete_default as default };
@@ -1,11 +1,11 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Br8L4NPm.mjs";
6
- import { parseId } from "./parse-id-B3B-0hUA.mjs";
7
- import "./prompt-DgDNy_Pc.mjs";
8
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-BkAdygbs.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import "./render-CfznwleY.mjs";
6
+ import "./prompt-CFKoys7k.mjs";
7
+ import { parseId } from "./parse-id-lk_K-CEF.mjs";
8
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
9
9
 
10
10
  //#region src/commands/transform-job/delete.ts
11
11
  var delete_default = defineMetabaseCommand({
@@ -13,6 +13,7 @@ var delete_default = defineMetabaseCommand({
13
13
  name: "delete",
14
14
  description: "Delete a transform job by id"
15
15
  },
16
+ capabilities: { minVersion: 59 },
16
17
  args: {
17
18
  ...outputFlags,
18
19
  ...profileFlag,
@@ -1,11 +1,11 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Br8L4NPm.mjs";
6
- import { parseId } from "./parse-id-B3B-0hUA.mjs";
7
- import "./prompt-DgDNy_Pc.mjs";
8
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-BkAdygbs.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import "./render-CfznwleY.mjs";
6
+ import "./prompt-CFKoys7k.mjs";
7
+ import { parseId } from "./parse-id-lk_K-CEF.mjs";
8
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
9
9
 
10
10
  //#region src/commands/transform/delete.ts
11
11
  var delete_default = defineMetabaseCommand({
@@ -13,6 +13,7 @@ var delete_default = defineMetabaseCommand({
13
13
  name: "delete",
14
14
  description: "Delete a transform by id"
15
15
  },
16
+ capabilities: { minVersion: 59 },
16
17
  args: {
17
18
  ...outputFlags,
18
19
  ...profileFlag,
@@ -1,5 +1,6 @@
1
- import { renderItem } from "./render-DuoDUTVL.mjs";
2
- import { promptConfirm } from "./prompt-DgDNy_Pc.mjs";
1
+ import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
2
+ import { renderItem } from "./render-CfznwleY.mjs";
3
+ import { promptConfirm } from "./prompt-CFKoys7k.mjs";
3
4
  import { z } from "zod";
4
5
 
5
6
  //#region src/commands/delete-runtime.ts
@@ -26,7 +27,8 @@ const deleteResultView = {
26
27
  ]
27
28
  };
28
29
  async function confirmAndDelete(args) {
29
- if (!args.yes && process.stdin.isTTY === true) {
30
+ if (!args.yes) {
31
+ if (process.stdin.isTTY !== true) throw new ConfigError(`refusing to delete ${args.id} without confirmation — pass --yes to proceed non-interactively`);
30
32
  const ok = await promptConfirm({
31
33
  message: args.promptMessage,
32
34
  initialValue: false
@@ -1,11 +1,11 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Br8L4NPm.mjs";
6
- import { parseId } from "./parse-id-B3B-0hUA.mjs";
7
- import "./prompt-DgDNy_Pc.mjs";
8
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-BkAdygbs.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import "./render-CfznwleY.mjs";
6
+ import "./prompt-CFKoys7k.mjs";
7
+ import { parseId } from "./parse-id-lk_K-CEF.mjs";
8
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
9
9
 
10
10
  //#region src/commands/transform/delete-table.ts
11
11
  var delete_table_default = defineMetabaseCommand({
@@ -13,6 +13,7 @@ var delete_table_default = defineMetabaseCommand({
13
13
  name: "delete-table",
14
14
  description: "Drop a transform's materialized output table (keeps the transform definition)"
15
15
  },
16
+ capabilities: { minVersion: 59 },
16
17
  args: {
17
18
  ...outputFlags,
18
19
  ...profileFlag,
@@ -1,15 +1,15 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Br8L4NPm.mjs";
6
- import { parseId } from "./parse-id-B3B-0hUA.mjs";
7
- import "./prompt-DgDNy_Pc.mjs";
8
- import "./poll-BCnrcUVf.mjs";
9
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-BkAdygbs.mjs";
10
- import { parseWaitFlags, waitFlags } from "./wait-flags-BR-yqe7y.mjs";
11
- import "./workspace-C5q4nbpY.mjs";
12
- import { waitForDatabaseGone } from "./wait-CeUPCgdc.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import "./render-CfznwleY.mjs";
6
+ import "./prompt-CFKoys7k.mjs";
7
+ import { parseId } from "./parse-id-lk_K-CEF.mjs";
8
+ import "./poll-DHKDpCiq.mjs";
9
+ import { parseWaitFlags, waitFlags } from "./wait-flags-Dzq9BGQY.mjs";
10
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
11
+ import "./workspace-BBXJczJK.mjs";
12
+ import { waitForDatabaseGone } from "./wait-8yV9_WIo.mjs";
13
13
 
14
14
  //#region src/commands/workspace/database/deprovision.ts
15
15
  var deprovision_default = defineMetabaseCommand({
@@ -17,6 +17,10 @@ var deprovision_default = defineMetabaseCommand({
17
17
  name: "deprovision",
18
18
  description: "Deprovision a database from a workspace"
19
19
  },
20
+ capabilities: {
21
+ minVersion: 62,
22
+ tokenFeature: "workspaces"
23
+ },
20
24
  args: {
21
25
  ...outputFlags,
22
26
  ...profileFlag,
@@ -1,10 +1,10 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-Br8L4NPm.mjs";
6
- import { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, syncDirtyItemView } from "./poll-task-0b1V6G-8.mjs";
7
- import "./poll-BCnrcUVf.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import { renderList } from "./render-CfznwleY.mjs";
6
+ import { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, syncDirtyItemView } from "./poll-task-Cooi0lQV.mjs";
7
+ import "./poll-DHKDpCiq.mjs";
8
8
  import { z } from "zod";
9
9
 
10
10
  //#region src/commands/git-sync/dirty.ts
@@ -15,6 +15,10 @@ var dirty_default = defineMetabaseCommand({
15
15
  name: "dirty",
16
16
  description: "List objects with unsynced local changes"
17
17
  },
18
+ capabilities: {
19
+ minVersion: 60,
20
+ tokenFeature: "remote_sync"
21
+ },
18
22
  args: {
19
23
  ...outputFlags,
20
24
  ...profileFlag,
@@ -1,7 +1,7 @@
1
- import { ConfigError, MetabaseError, errorMessage } from "./predicates-CGO17Q15.mjs";
2
- import { parseJson } from "./runtime-Br8L4NPm.mjs";
3
- import { pollUntil } from "./poll-BCnrcUVf.mjs";
4
- import { ProcessNotFoundError, runProcess, runProcessBinary, streamProcess } from "./process-FjsqDwKo.mjs";
1
+ import { ConfigError, MetabaseError, errorMessage } from "./command-augment-BH9qgQ5u.mjs";
2
+ import { parseJson } from "./runtime-Dmv5VtUK.mjs";
3
+ import { pollUntil } from "./poll-DHKDpCiq.mjs";
4
+ import { ProcessNotFoundError, runProcess, runProcessBinary, streamProcess } from "./process-C7V8LJ-j.mjs";
5
5
  import { z } from "zod";
6
6
 
7
7
  //#region src/runtime/tar.ts
@@ -1,12 +1,11 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import { ConfigError } from "./predicates-CGO17Q15.mjs";
5
- import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, parseCsv, profileFlag } from "./runtime-Br8L4NPm.mjs";
7
- import { readBody } from "./body-D6dHGjMT.mjs";
8
- import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { requireBothOrNeither } from "./flag-pair-Fmcdkrfx.mjs";
1
+ import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand, parseCsv } from "./runtime-Dmv5VtUK.mjs";
4
+ import "./capabilities-7e9MgquN.mjs";
5
+ import { renderItem } from "./render-CfznwleY.mjs";
6
+ import "./input-cMSEqISy.mjs";
7
+ import { readBody } from "./body-DjdFxjpg.mjs";
8
+ import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
10
9
  import { z } from "zod";
11
10
 
12
11
  //#region src/domain/eid-translation.ts
@@ -50,12 +49,27 @@ const eidTranslateView = {
50
49
  };
51
50
 
52
51
  //#endregion
53
- //#region src/commands/eid/translate.ts
54
- var translate_default = defineMetabaseCommand({
52
+ //#region src/commands/flag-pair.ts
53
+ function requireBothOrNeither(first, second) {
54
+ const firstSet = first.value !== void 0 && first.value !== "";
55
+ const secondSet = second.value !== void 0 && second.value !== "";
56
+ if (!firstSet && !secondSet) return null;
57
+ if (!firstSet) throw new ConfigError(`${first.name} is required when using ${second.name}`);
58
+ if (!secondSet) throw new ConfigError(`${second.name} is required when using ${first.name}`);
59
+ return {
60
+ first: first.value,
61
+ second: second.value
62
+ };
63
+ }
64
+
65
+ //#endregion
66
+ //#region src/commands/eid.ts
67
+ var eid_default = defineMetabaseCommand({
55
68
  meta: {
56
- name: "translate",
57
- description: "Translate entity ids (EIDs) to numeric ids"
69
+ name: "eid",
70
+ description: "Translate Metabase entity ids (string EIDs) to numeric ids"
58
71
  },
72
+ capabilities: { minVersion: 58 },
59
73
  args: {
60
74
  ...outputFlags,
61
75
  ...profileFlag,
@@ -63,25 +77,26 @@ var translate_default = defineMetabaseCommand({
63
77
  ...bodyInputFlags,
64
78
  model: {
65
79
  type: "string",
66
- description: `Entity model for shortcut form: ${EID_MODELS.join(" | ")}`
80
+ description: `Entity model for the positional EIDs: ${EID_MODELS.join(" | ")}`
67
81
  },
68
82
  eids: {
69
- type: "string",
70
- description: "Comma-separated EIDs (used with --model as a shortcut)"
83
+ type: "positional",
84
+ required: false,
85
+ description: "Comma-separated EIDs to translate (used with --model)"
71
86
  }
72
87
  },
73
88
  outputSchema: EidTranslateResult,
74
89
  examples: [
75
- "mb eid translate --model card --eids abc123XYZ,def456ABC",
76
- "mb eid translate --file translate.json",
77
- "mb eid translate --body '{\"entity_ids\":{\"card\":[\"abc123XYZ\"]}}'"
90
+ "mb eid --model card abc123XYZ,def456ABC",
91
+ "mb eid --file translate.json",
92
+ "mb eid --body '{\"entity_ids\":{\"card\":[\"abc123XYZ\"]}}'"
78
93
  ],
79
94
  async run({ args, ctx, getClient }) {
80
95
  const pair = requireBothOrNeither({
81
96
  name: "--model",
82
97
  value: args.model
83
98
  }, {
84
- name: "--eids",
99
+ name: "<eids>",
85
100
  value: args.eids
86
101
  });
87
102
  const body = pair ? EidTranslateInput.parse({ entity_ids: { [parseModel(pair.first)]: parseEids(pair.second) } }) : await readBody({
@@ -103,9 +118,9 @@ function parseModel(raw) {
103
118
  }
104
119
  function parseEids(raw) {
105
120
  const parts = parseCsv(raw);
106
- if (parts.length === 0) throw new ConfigError("--eids must contain at least one EID");
121
+ if (parts.length === 0) throw new ConfigError("provide at least one EID");
107
122
  return parts;
108
123
  }
109
124
 
110
125
  //#endregion
111
- export { translate_default as default };
126
+ export { eid_default as default };
@@ -0,0 +1,190 @@
1
+ import { VERBOSE_ENV, toMetabaseError } from "./command-augment-BH9qgQ5u.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region src/output/types.ts
5
+ const DEFAULT_MAX_BYTES = 65536;
6
+ function listEnvelopeSchema(item) {
7
+ return z.object({
8
+ data: z.array(item),
9
+ returned: z.number().int().nonnegative(),
10
+ total: z.number().int().nonnegative().nullable().optional(),
11
+ limit: z.number().int().nonnegative().optional(),
12
+ truncated: z.object({
13
+ reason: z.literal("max_bytes"),
14
+ bytes: z.number().int().nonnegative()
15
+ }).optional()
16
+ });
17
+ }
18
+ function wrapList(items) {
19
+ return {
20
+ data: items,
21
+ returned: items.length,
22
+ total: items.length
23
+ };
24
+ }
25
+
26
+ //#endregion
27
+ //#region src/commands/flags.ts
28
+ const outputFlags = {
29
+ format: {
30
+ type: "string",
31
+ description: "auto | json | text",
32
+ default: "auto"
33
+ },
34
+ json: {
35
+ type: "boolean",
36
+ description: "Shorthand for --format json"
37
+ },
38
+ full: {
39
+ type: "boolean",
40
+ description: "Return the full object (default: compact)"
41
+ },
42
+ fields: {
43
+ type: "string",
44
+ description: "Dot-paths, comma separated (mutually exclusive with --full)"
45
+ },
46
+ maxBytes: {
47
+ type: "string",
48
+ description: "Output size cap; 0 disables",
49
+ default: String(DEFAULT_MAX_BYTES),
50
+ alias: "max-bytes"
51
+ }
52
+ };
53
+ const profileFlag = { profile: {
54
+ type: "string",
55
+ description: "Named profile (default: 'default')"
56
+ } };
57
+ const connectionFlags = {
58
+ url: {
59
+ type: "string",
60
+ description: "Metabase URL"
61
+ },
62
+ apiKey: {
63
+ type: "string",
64
+ description: "API key",
65
+ alias: "api-key"
66
+ },
67
+ skipPreflight: {
68
+ type: "boolean",
69
+ description: "Skip the server version capability check for this command",
70
+ alias: "skip-preflight"
71
+ }
72
+ };
73
+
74
+ //#endregion
75
+ //#region package.json
76
+ var name = "@metabase/cli";
77
+ var version = "0.1.6";
78
+ var description = "Metabase CLI";
79
+ var license = "AGPL-3.0";
80
+ var repository = {
81
+ "type": "git",
82
+ "url": "git+https://github.com/metabase/mb-cli.git"
83
+ };
84
+ var bin = { "mb": "./dist/cli.mjs" };
85
+ var files = [
86
+ "dist",
87
+ "skills",
88
+ "skill-data",
89
+ ".claude-plugin"
90
+ ];
91
+ var type = "module";
92
+ var publishConfig = {
93
+ "access": "public",
94
+ "registry": "https://registry.npmjs.org/"
95
+ };
96
+ var scripts = {
97
+ "build": "tsdown",
98
+ "dev": "tsdown --watch",
99
+ "start": "node dist/cli.mjs",
100
+ "test": "vitest run --project unit",
101
+ "test:watch": "vitest --project unit",
102
+ "test:e2e": "vitest run --project e2e",
103
+ "test:e2e:watch": "vitest --project e2e",
104
+ "e2e:up": "docker compose -f tests/e2e/docker-compose.yml up -d --wait",
105
+ "e2e:down": "docker compose -f tests/e2e/docker-compose.yml down -v",
106
+ "e2e:bootstrap": "bun tests/e2e/setup/bootstrap.ts",
107
+ "e2e:matrix": "bun scripts/e2e-matrix.ts",
108
+ "e2e:logs": "docker compose -f tests/e2e/docker-compose.yml logs -f metabase",
109
+ "typecheck": "tsc --noEmit",
110
+ "lint": "oxlint",
111
+ "lint:fix": "oxlint --fix",
112
+ "format": "oxfmt",
113
+ "format:check": "oxfmt --check",
114
+ "sync:representations": "bun run scripts/sync-representations.ts",
115
+ "prepublishOnly": "tsdown && publint"
116
+ };
117
+ var dependencies = {
118
+ "@clack/prompts": "^0.8.2",
119
+ "@napi-rs/keyring": "^1.3.0",
120
+ "ajv": "^8.17.1",
121
+ "ajv-formats": "^3.0.1",
122
+ "citty": "^0.2.2",
123
+ "cli-table3": "^0.6.5",
124
+ "semver": "^7.8.0",
125
+ "yaml": "^2.8.4",
126
+ "zod": "^4.0.0"
127
+ };
128
+ var devDependencies = {
129
+ "@types/js-yaml": "^4.0.9",
130
+ "@types/node": "^22.10.0",
131
+ "@types/semver": "^7.7.1",
132
+ "execa": "^9.5.2",
133
+ "fast-check": "^4.7.0",
134
+ "js-yaml": "^4.1.0",
135
+ "oxfmt": "^0.47.0",
136
+ "oxlint": "^1.62.0",
137
+ "publint": "^0.3.0",
138
+ "tsdown": "^0.9.0",
139
+ "typescript": "^5.7.2",
140
+ "vitest": "^2.1.8"
141
+ };
142
+ var engines = { "node": ">=20.6" };
143
+ var package_default = {
144
+ name,
145
+ version,
146
+ description,
147
+ license,
148
+ repository,
149
+ bin,
150
+ files,
151
+ type,
152
+ publishConfig,
153
+ scripts,
154
+ dependencies,
155
+ devDependencies,
156
+ engines
157
+ };
158
+
159
+ //#endregion
160
+ //#region src/output/error.ts
161
+ const VERBOSE_BREADCRUMB = "(rerun with METABASE_VERBOSE=1 for details)";
162
+ function reportError(error, format) {
163
+ const handled = toMetabaseError(error);
164
+ const verbose = process.env[VERBOSE_ENV] === "1";
165
+ if (format === "json") writeJsonError(handled, verbose);
166
+ else writeTextError(handled, verbose);
167
+ process.exitCode = handled.exitCode;
168
+ }
169
+ function writeTextError(handled, verbose) {
170
+ process.stderr.write(handled.userMessage + "\n");
171
+ if (handled.developerDetail === null) return;
172
+ if (verbose) process.stderr.write(JSON.stringify(handled.developerDetail, null, 2) + "\n");
173
+ else process.stderr.write(VERBOSE_BREADCRUMB + "\n");
174
+ }
175
+ function writeJsonError(handled, verbose) {
176
+ const payload = {
177
+ category: handled.category,
178
+ message: handled.userMessage,
179
+ exitCode: handled.exitCode
180
+ };
181
+ if (verbose && handled.developerDetail !== null) payload.detail = handled.developerDetail;
182
+ const envelope = {
183
+ ok: false,
184
+ error: payload
185
+ };
186
+ process.stderr.write(JSON.stringify(envelope, null, 2) + "\n");
187
+ }
188
+
189
+ //#endregion
190
+ export { DEFAULT_MAX_BYTES, connectionFlags, listEnvelopeSchema, outputFlags, package_default, profileFlag, reportError, wrapList };
@@ -1,11 +1,12 @@
1
- import "./package-D-aVYFKM.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem, warn } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Br8L4NPm.mjs";
6
- import { parseId } from "./parse-id-B3B-0hUA.mjs";
7
- import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-0b1V6G-8.mjs";
8
- import "./poll-BCnrcUVf.mjs";
1
+ import "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
4
+ import { warn } from "./capabilities-7e9MgquN.mjs";
5
+ import { renderItem } from "./render-CfznwleY.mjs";
6
+ import "./parse-id-lk_K-CEF.mjs";
7
+ import { REMOTE_SYNC_PATHS, SyncTask, pollSyncTask, throwIfFailedTask } from "./poll-task-Cooi0lQV.mjs";
8
+ import "./poll-DHKDpCiq.mjs";
9
+ import { gitSyncWaitFlags, parseWaitFlags } from "./wait-flags-Dzq9BGQY.mjs";
9
10
  import { z } from "zod";
10
11
 
11
12
  //#region src/commands/git-sync/export.ts
@@ -33,6 +34,10 @@ var export_default = defineMetabaseCommand({
33
34
  name: "export",
34
35
  description: "Export Metabase changes back to the configured git remote"
35
36
  },
37
+ capabilities: {
38
+ minVersion: 60,
39
+ tokenFeature: "remote_sync"
40
+ },
36
41
  args: {
37
42
  ...outputFlags,
38
43
  ...profileFlag,
@@ -52,7 +57,7 @@ var export_default = defineMetabaseCommand({
52
57
  description: "Force-push / overwrite remote",
53
58
  default: false
54
59
  },
55
- ...pollFlags
60
+ ...gitSyncWaitFlags
56
61
  },
57
62
  outputSchema: SyncExportResult,
58
63
  examples: [
@@ -61,8 +66,7 @@ var export_default = defineMetabaseCommand({
61
66
  "mb git-sync export --no-wait"
62
67
  ],
63
68
  async run({ args, ctx, getClient }) {
64
- const timeoutMs = parseId(args.timeout, "timeout");
65
- const intervalMs = parseId(args.interval, "interval");
69
+ const wait = parseWaitFlags(args);
66
70
  const body = {};
67
71
  if (args.branch !== void 0 && args.branch !== "") body.branch = args.branch;
68
72
  if (args.message !== void 0 && args.message !== "") body.message = args.message;
@@ -72,17 +76,14 @@ var export_default = defineMetabaseCommand({
72
76
  method: "POST",
73
77
  body
74
78
  });
75
- if (!args.wait) {
79
+ if (!wait.enabled) {
76
80
  const result = {
77
81
  message: kickoff.message,
78
82
  task_id: kickoff.task_id
79
83
  };
80
84
  renderItem(result, syncExportView, ctx);
81
85
  } else {
82
- const final = await pollSyncTask(client, {
83
- timeoutMs,
84
- intervalMs
85
- });
86
+ const final = await pollSyncTask(client, wait.schedule);
86
87
  const result = {
87
88
  message: kickoff.message,
88
89
  task_id: kickoff.task_id,
@@ -0,0 +1,19 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/field/index.ts
4
+ var field_default = defineCommand({
5
+ meta: {
6
+ name: "field",
7
+ alias: "fields",
8
+ description: "Manage Metabase fields"
9
+ },
10
+ subCommands: {
11
+ get: () => import("./get-C3HdQ91a.mjs").then((m) => m.default),
12
+ values: () => import("./values-BfSTAbzc.mjs").then((m) => m.default),
13
+ summary: () => import("./summary-C12LiEuJ.mjs").then((m) => m.default),
14
+ update: () => import("./update-CyIZdbIQ.mjs").then((m) => m.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { field_default as default };