@metabase/cli 0.1.2 → 0.1.4-alpha.skill-packaging.1c8ec40

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 (189) hide show
  1. package/.claude-plugin/marketplace.json +19 -0
  2. package/README.md +467 -388
  3. package/dist/add-collection-B3NhkLRT.mjs +11 -0
  4. package/dist/{add-collection-DwxQDXzL.mjs → add-collection-CEvZTea_.mjs} +5 -5
  5. package/dist/{api-key-BktzvPb7.mjs → api-key-BpmnzLLb.mjs} +1 -1
  6. package/dist/{archive-CLWtbvvH.mjs → archive-BPLLOdfL.mjs} +7 -7
  7. package/dist/{archive-C1mF-9Kj.mjs → archive-CazAWIrV.mjs} +6 -6
  8. package/dist/{archive-kYoy5LK5.mjs → archive-D596Cq7R.mjs} +7 -7
  9. package/dist/{archive-Cq4WKmJt.mjs → archive-DqPqXMZm.mjs} +7 -7
  10. package/dist/auth-DJp4QoWI.mjs +19 -0
  11. package/dist/{body-rDrR-C1c.mjs → body-CVSMGqZk.mjs} +3 -3
  12. package/dist/{branches-CH2UcCpX.mjs → branches--TavvEK1.mjs} +7 -7
  13. package/dist/{cancel-CgLZcItQ.mjs → cancel-BUitag4_.mjs} +6 -6
  14. package/dist/{cancel-task-DcYrFsM6.mjs → cancel-task-BHcWJUMu.mjs} +7 -7
  15. package/dist/card-DtUIadDM.mjs +20 -0
  16. package/dist/{cards-C4NIaERo.mjs → cards-Bir6wRS_.mjs} +6 -6
  17. package/dist/cli.mjs +31 -27
  18. package/dist/collection-4-gZeCWg.mjs +19 -0
  19. package/dist/{create-CNvd5T8h.mjs → create-4OjxTGAe.mjs} +10 -10
  20. package/dist/{create-bqc_rmix.mjs → create-BISpvrml.mjs} +10 -10
  21. package/dist/{create-BUCLNqiN.mjs → create-Bi8sqzL-.mjs} +13 -13
  22. package/dist/{create-Cbh1cGj9.mjs → create-C1cdoSw5.mjs} +12 -12
  23. package/dist/{create-Dh0p-c2Y.mjs → create-C3TiMJhQ.mjs} +10 -10
  24. package/dist/{create-QgN369N5.mjs → create-CZZc1KM8.mjs} +13 -13
  25. package/dist/{create-DU0ZhnZu.mjs → create-CxMpPsRO.mjs} +9 -9
  26. package/dist/{create-CB0Yp__0.mjs → create-Dj-fO-nV.mjs} +12 -12
  27. package/dist/{create-DvrVZ2hS.mjs → create-DuyWlx-S.mjs} +11 -11
  28. package/dist/{create-branch-BJFH9Hda.mjs → create-branch-CH1FmnxS.mjs} +7 -7
  29. package/dist/{create-CzfNOhOF.mjs → create-hYdLOyw_.mjs} +12 -12
  30. package/dist/{credentials-DTP1xuKz.mjs → credentials-BARfQeBr.mjs} +11 -9
  31. package/dist/{current-task-z_TiJ0kt.mjs → current-task-TX7rJmon.mjs} +7 -7
  32. package/dist/dashboard-C-azCGk-.mjs +20 -0
  33. package/dist/{database-DQkUxTLd.mjs → database-BKfGtTmB.mjs} +3 -3
  34. package/dist/db-D--IArxI.mjs +22 -0
  35. package/dist/{delete-DeZQ1r9w.mjs → delete-BxUaF8kW.mjs} +8 -8
  36. package/dist/{delete-CVYII8mq.mjs → delete-DzTd5w_y.mjs} +8 -8
  37. package/dist/{delete-runtime-BMzvfj_B.mjs → delete-runtime-DfFMWJJ6.mjs} +2 -2
  38. package/dist/{delete-table-ZiR9-ndv.mjs → delete-table-DWfA7uVn.mjs} +8 -8
  39. package/dist/{deprovision-BhD3J-Am.mjs → deprovision-CadXjs_7.mjs} +12 -12
  40. package/dist/{dirty-D9agt7Os.mjs → dirty-an-DQtBG.mjs} +7 -7
  41. package/dist/{docker-CHpV8PRz.mjs → docker-C9WQCjkt.mjs} +6 -103
  42. package/dist/{eid-B5wawMmO.mjs → eid-Cz9r5RX5.mjs} +1 -1
  43. package/dist/{export-Bfk7JAlR.mjs → export-BHq8ztFL.mjs} +10 -10
  44. package/dist/field-Do1HcUfq.mjs +18 -0
  45. package/dist/{fields-7ByLsxLg.mjs → fields-B21DeL2I.mjs} +6 -6
  46. package/dist/{flag-pair-DtR1AiBQ.mjs → flag-pair-Fmcdkrfx.mjs} +1 -1
  47. package/dist/{get-DikegGzi.mjs → get-BAqeeIQ-.mjs} +6 -6
  48. package/dist/{get-tISo-cmg.mjs → get-BHCgwPPT.mjs} +9 -9
  49. package/dist/{get-CQGeF-eP.mjs → get-BPah4iYM.mjs} +6 -6
  50. package/dist/{get-DKy3DAJX.mjs → get-C4_7ZrIS.mjs} +7 -7
  51. package/dist/{get-cuHp9-6U.mjs → get-CAYnc9sd.mjs} +6 -6
  52. package/dist/{get-BE6Izpus.mjs → get-ChEFd1sT.mjs} +7 -7
  53. package/dist/{get-gOT_RarI.mjs → get-ChxcxY2D.mjs} +7 -7
  54. package/dist/{get-DUSR5i99.mjs → get-Cy9YIesM.mjs} +6 -6
  55. package/dist/{get-bYc7eGYe.mjs → get-D-zU7VmK.mjs} +6 -6
  56. package/dist/{get-D2m4jhwT.mjs → get-DFm7pR7F.mjs} +8 -8
  57. package/dist/get-DWttywn_.mjs +79 -0
  58. package/dist/{get-StkjKuh0.mjs → get-RPL4h0It.mjs} +8 -8
  59. package/dist/{get-C3CcAJGg.mjs → get-dqrzLuwA.mjs} +8 -8
  60. package/dist/{get-run-D59Yqaoh.mjs → get-run-CG3QFs9T.mjs} +7 -7
  61. package/dist/git-sync-COKsdLkS.mjs +28 -0
  62. package/dist/{has-remote-changes-B1TciDVD.mjs → has-remote-changes-ecra9BFO.mjs} +7 -7
  63. package/dist/{import-DnnmmJbp.mjs → import-BzOKkYnp.mjs} +10 -10
  64. package/dist/{input-ikCiip6x.mjs → input-BQ-BZA8h.mjs} +1 -1
  65. package/dist/{is-dirty-DlfX7e39.mjs → is-dirty-7afLBOtn.mjs} +4 -4
  66. package/dist/is-dirty-Dnw0AHFw.mjs +10 -0
  67. package/dist/{items-DQFQSpjF.mjs → items-BEWSuEfe.mjs} +10 -10
  68. package/dist/{key-NDEARu2L.mjs → key-CCJdVWKc.mjs} +1 -1
  69. package/dist/{license-DBh13sc8.mjs → license-D3mFdxAq.mjs} +3 -3
  70. package/dist/{list-DQj-QJAs.mjs → list-B5E7LFDb.mjs} +8 -8
  71. package/dist/{list-BwjqQ6pp.mjs → list-B9mEqMZ5.mjs} +5 -5
  72. package/dist/{list-D067ZSE5.mjs → list-BJAC356Q.mjs} +7 -7
  73. package/dist/{list-Di529OJD.mjs → list-BOQWvb8b.mjs} +5 -5
  74. package/dist/{list-Cy0VhXQs.mjs → list-BZFTuiBr.mjs} +6 -6
  75. package/dist/{list-DJN-OvTZ.mjs → list-By3t67Y8.mjs} +7 -7
  76. package/dist/{list-GFfR9SuT.mjs → list-ByPzCM2G.mjs} +5 -5
  77. package/dist/{list-9AOWhxqp.mjs → list-C8b-KxY6.mjs} +8 -8
  78. package/dist/{list-iFVEdi2J.mjs → list-CiHlWufc.mjs} +6 -6
  79. package/dist/{list-DlKzgnqo.mjs → list-D_exD3LP.mjs} +7 -7
  80. package/dist/{list-4kYCGv01.mjs → list-DiAyv9l3.mjs} +6 -6
  81. package/dist/{list-CP5RNjO6.mjs → list-DtSOfMZ2.mjs} +6 -6
  82. package/dist/list-DwF6on6O.mjs +44 -0
  83. package/dist/{list-DAZP-IM5.mjs → list-nIxzXqr-.mjs} +5 -5
  84. package/dist/{login-DxgkosGx.mjs → login-Cka2HZWz.mjs} +9 -9
  85. package/dist/{logout-BlVwqBog.mjs → logout-rA25M-oa.mjs} +6 -6
  86. package/dist/{logs-CudNEkT4.mjs → logs-B5cGXoDi.mjs} +11 -10
  87. package/dist/{manifest-Dv5B9Blc.mjs → manifest-CGM7XNLC.mjs} +2 -2
  88. package/dist/measure-CwJ2o89T.mjs +19 -0
  89. package/dist/{metadata-BTJAFVvZ.mjs → metadata-BEd6s_Qf.mjs} +6 -6
  90. package/dist/{metadata-B2Td415K.mjs → metadata-DirWO0cS.mjs} +6 -6
  91. package/dist/{package-DV6Asqim.mjs → package-VV3qWWIQ.mjs} +10 -3
  92. package/dist/{parse-id-B38zTlYs.mjs → parse-id-DbSjfzoU.mjs} +1 -1
  93. package/dist/{parse-ref-DGvh4aDn.mjs → parse-ref-D1yeDOn8.mjs} +1 -1
  94. package/dist/{parse-schemas-Ds-cVE-O.mjs → parse-schemas-BXTlpoaf.mjs} +2 -2
  95. package/dist/path-DarsuSkB.mjs +58 -0
  96. package/dist/{poll-Bh6oAifO.mjs → poll-Cd8bRMmZ.mjs} +2 -2
  97. package/dist/{poll-task-vPwV31Fs.mjs → poll-task-BwKuhZ9P.mjs} +2 -2
  98. package/dist/{predicates-DiIiS3k7.mjs → predicates-CGO17Q15.mjs} +1 -1
  99. package/dist/{preflight-DxJb-hUV.mjs → preflight-RkDLqtNm.mjs} +3 -3
  100. package/dist/process-zJeVJZTM.mjs +105 -0
  101. package/dist/{prompt-Bf3DQ-qE.mjs → prompt-DgDNy_Pc.mjs} +1 -1
  102. package/dist/{provision-B-I0zuDe.mjs → provision-DBqPA-De.mjs} +15 -15
  103. package/dist/{ps-CaiOFCv2.mjs → ps-Cn3lzak-.mjs} +4 -4
  104. package/dist/ps-DIm7IScc.mjs +11 -0
  105. package/dist/{query-BtF1yWZZ.mjs → query-BoOismbH.mjs} +13 -13
  106. package/dist/{query-jmfqaXRP.mjs → query-CkNa5Nam.mjs} +9 -9
  107. package/dist/{remove-xskleeru.mjs → remove-B7NUBOqF.mjs} +6 -6
  108. package/dist/{remove-C2iv0g03.mjs → remove-C08c3vne.mjs} +10 -9
  109. package/dist/{remove-collection-DhZghaZy.mjs → remove-collection-cFO9M-qV.mjs} +9 -9
  110. package/dist/{render-DXv-D6fU.mjs → render-DuoDUTVL.mjs} +1 -1
  111. package/dist/{rescan-values-DW6u90ep.mjs → rescan-values-D1-IyyU7.mjs} +6 -6
  112. package/dist/{revision-message-flag-CWQbKhdl.mjs → revision-message-flag-oyq2xrDU.mjs} +1 -1
  113. package/dist/{run-DxVzhcF3.mjs → run-BCzKf_TV.mjs} +9 -9
  114. package/dist/{runs-BOHk1XnM.mjs → runs-pVgTv7cK.mjs} +9 -9
  115. package/dist/{runtime-cwBS8wwK.mjs → runtime-DPdP0sl1.mjs} +6 -6
  116. package/dist/{schema-tables-CcFbY_jN.mjs → schema-tables-c6K9AkS-.mjs} +6 -6
  117. package/dist/{schemas-DZmv_V62.mjs → schemas-s3PRMTwc.mjs} +6 -6
  118. package/dist/{search-CYMuc7Fg.mjs → search-DsF08cm9.mjs} +8 -8
  119. package/dist/segment-CvPF5gLG.mjs +19 -0
  120. package/dist/{set-CbGfQ7Ye.mjs → set-BNQjt8S1.mjs} +12 -12
  121. package/dist/{set-B_rrVwU4.mjs → set-DlfevPxG.mjs} +9 -9
  122. package/dist/{setting-DqZY9NXP.mjs → setting-Cc5FWSNN.mjs} +3 -3
  123. package/dist/{setup-DxmcAorA.mjs → setup-CIsvZgEA.mjs} +9 -9
  124. package/dist/skills-CHU7uuDU.mjs +191 -0
  125. package/dist/skills-Dws-azxD.mjs +18 -0
  126. package/dist/snippet-W-TaXdio.mjs +19 -0
  127. package/dist/{start-Cn0epTks.mjs → start-xREv6hev.mjs} +19 -17
  128. package/dist/{stash-BFZIl9F4.mjs → stash-ZLbOejYk.mjs} +9 -9
  129. package/dist/{status-UALK3OJl.mjs → status-CYWbB67d.mjs} +5 -5
  130. package/dist/{status-FDIDmqvM.mjs → status-DiXaGNmb.mjs} +5 -5
  131. package/dist/{status-BjCeJNLp.mjs → status-DjRAgzXl.mjs} +8 -8
  132. package/dist/{stop-DUwrDWw8.mjs → stop-CWKn_jI8.mjs} +10 -9
  133. package/dist/{summary-CS4UGiFJ.mjs → summary-CIFwiame.mjs} +6 -6
  134. package/dist/{sync-schema-IrHdJxmX.mjs → sync-schema-_SRMfBSQ.mjs} +6 -6
  135. package/dist/table-uhBlfNYj.mjs +19 -0
  136. package/dist/transform-UJ7T_BSb.mjs +24 -0
  137. package/dist/transform-job-DXs5apQ1.mjs +19 -0
  138. package/dist/{translate-B__zbDKm.mjs → translate-DVN_sIVb.mjs} +10 -10
  139. package/dist/{tree-Mh0uQ_Wy.mjs → tree-BTZfgldu.mjs} +5 -5
  140. package/dist/{update-D2VI_5cy.mjs → update-Bjd7YRyh.mjs} +13 -13
  141. package/dist/{update-Bw0WZix_.mjs → update-CCFegz4q.mjs} +15 -15
  142. package/dist/{update-BfBsM_y1.mjs → update-CDdML0mE.mjs} +14 -14
  143. package/dist/{update-B9DBMo30.mjs → update-CGYM_wWQ.mjs} +12 -12
  144. package/dist/{update-Cp1789qq.mjs → update-CYMsVUQX.mjs} +10 -10
  145. package/dist/{update-j9vgemKR.mjs → update-D48EYMKn.mjs} +10 -10
  146. package/dist/{update-1Di9hbPo.mjs → update-D6jptFDw.mjs} +14 -14
  147. package/dist/{update-B5_pp6Jj.mjs → update-DSjj9UQb.mjs} +15 -15
  148. package/dist/{update-Masp5WeT.mjs → update-DjfNbEgo.mjs} +11 -11
  149. package/dist/{update-D8GwQTcL.mjs → update-ZRF-sYqN.mjs} +16 -16
  150. package/dist/{update-dashcard-CNiQw1MD.mjs → update-dashcard-BfcB6pFx.mjs} +10 -10
  151. package/dist/upgrade-Cw_mP31_.mjs +432 -0
  152. package/dist/{url-GFM76VIK.mjs → url-DsDSVEnK.mjs} +9 -8
  153. package/dist/{uuid-Uif0lNk8.mjs → uuid-DbtHyH33.mjs} +7 -7
  154. package/dist/{validate-DCYx6jdL.mjs → validate-CB0bu50i.mjs} +3 -3
  155. package/dist/{validate-query-B07oGG4K.mjs → validate-query-CavIA0Q2.mjs} +3 -3
  156. package/dist/{values-DrwNHUAI.mjs → values-C1JRC3O2.mjs} +6 -6
  157. package/dist/{wait-DO7tS7NI.mjs → wait-Ed4Q7ccW.mjs} +2 -2
  158. package/dist/{wait-BoKk8CJy.mjs → wait-LRmiGepb.mjs} +8 -8
  159. package/dist/{wait-flags-CjX2sEGm.mjs → wait-flags-pItBfuzi.mjs} +2 -2
  160. package/dist/workspace-BozpZKez.mjs +24 -0
  161. package/dist/{workspace-credentials-B6BL-X0d.mjs → workspace-credentials-4lIxxz4g.mjs} +2 -41
  162. package/dist/yaml-ECiog374.mjs +43 -0
  163. package/package.json +8 -3
  164. package/skill-data/core/SKILL.md +575 -0
  165. package/skill-data/git-sync/SKILL.md +196 -0
  166. package/skill-data/transform/SKILL.md +235 -0
  167. package/skill-data/workspace/SKILL.md +408 -0
  168. package/skills/metabase-cli/SKILL.md +42 -0
  169. package/dist/add-collection-SL08iMub.mjs +0 -11
  170. package/dist/auth-DfYkakP3.mjs +0 -19
  171. package/dist/card-ZCGU2JEh.mjs +0 -20
  172. package/dist/collection-D_uFLIAS.mjs +0 -19
  173. package/dist/dashboard-G1-dGLUR.mjs +0 -20
  174. package/dist/db-CBaEfumR.mjs +0 -22
  175. package/dist/field-BDJ1pEgr.mjs +0 -18
  176. package/dist/git-sync-BiTWfLgY.mjs +0 -28
  177. package/dist/is-dirty-DClGFOGV.mjs +0 -10
  178. package/dist/measure-C7SbdYQk.mjs +0 -19
  179. package/dist/ps-BmYQYC7t.mjs +0 -10
  180. package/dist/segment-Df4pfjco.mjs +0 -19
  181. package/dist/snippet-CwSHjQyn.mjs +0 -19
  182. package/dist/table-Cdr5bKp1.mjs +0 -19
  183. package/dist/transform-CeZusR_w.mjs +0 -24
  184. package/dist/transform-job-BOn9-CGa.mjs +0 -19
  185. package/dist/workspace-CyEX40D-.mjs +0 -24
  186. /package/dist/{snippet-Dw0Sjzkr.mjs → snippet-CSWqkslB.mjs} +0 -0
  187. /package/dist/{transform-IEX4Mx3X.mjs → transform-DR4ejuPM.mjs} +0 -0
  188. /package/dist/{transform-job-Csr86muI.mjs → transform-job-BrhOLO4M.mjs} +0 -0
  189. /package/dist/{workspace-DVuqKJGG.mjs → workspace-DUfqhPm5.mjs} +0 -0
@@ -1,6 +1,6 @@
1
- import { package_default } from "./package-DV6Asqim.mjs";
1
+ import { package_default } from "./package-VV3qWWIQ.mjs";
2
2
  import { setMetabaseAugment } from "./command-augment-D9pI9Vbh.mjs";
3
- import { AbortError, ConfigError, MetabaseError, NetworkError, TimeoutError, VERBOSE_ENV, ValidationError, errorMessage, isNotFoundError, isPlainObject, toMetabaseError } from "./predicates-DiIiS3k7.mjs";
3
+ import { AbortError, ConfigError, MetabaseError, NetworkError, TimeoutError, VERBOSE_ENV, ValidationError, errorMessage, isNotFoundError, isPlainObject, toMetabaseError } from "./predicates-CGO17Q15.mjs";
4
4
  import { defineCommand } from "citty";
5
5
  import { z } from "zod";
6
6
  import { promises } from "node:fs";
@@ -468,8 +468,8 @@ async function resolveConfig(flags) {
468
468
  const keyField = pickField(flagKey, env.apiKey, stored?.apiKey);
469
469
  if (urlField === null || keyField === null) {
470
470
  const rejection = await readRejection(profile);
471
- if (rejection !== null) throw new ConfigError(`Last login for profile "${profile}" was rejected by ${originOnly(rejection.url)}: ${rejection.reason}. Re-run \`metabase auth login --profile ${profile}\` with valid credentials.`);
472
- throw new ConfigError(`Not authenticated for profile "${profile}". Run \`metabase auth login\`, set ${ENV_URL}/${ENV_API_KEY}, or pass --url/--api-key.`);
471
+ if (rejection !== null) throw new ConfigError(`Last login for profile "${profile}" was rejected by ${originOnly(rejection.url)}: ${rejection.reason}. Re-run \`mb auth login --profile ${profile}\` with valid credentials.`);
472
+ throw new ConfigError(`Not authenticated for profile "${profile}". Run \`mb auth login\`, set ${ENV_URL}/${ENV_API_KEY}, or pass --url/--api-key.`);
473
473
  }
474
474
  return {
475
475
  url: normalizeUrl(urlField.value),
@@ -483,7 +483,7 @@ async function resolveLicenseToken(flags) {
483
483
  const env = readEnvLicenseToken();
484
484
  const stored = !flag && !env ? await readLicense() : null;
485
485
  const value = flag ?? env ?? stored;
486
- if (!value) throw new ConfigError(`No license token. Pass --token, set ${ENV_LICENSE_TOKEN}, or store one with \`metabase license set\`.`);
486
+ if (!value) throw new ConfigError(`No license token. Pass --token, set ${ENV_LICENSE_TOKEN}, or store one with \`mb license set\`.`);
487
487
  return value;
488
488
  }
489
489
  function pickField(flag, env, stored) {
@@ -1065,4 +1065,4 @@ function buildConfigFlags(ctx) {
1065
1065
  }
1066
1066
 
1067
1067
  //#endregion
1068
- export { DEFAULT_PROFILE, HttpError, account, clearLicense, clearProfile, clearRejection, combineAborts, connectionFlags, createClient, credentials, defineMetabaseCommand, explicitProfileName, listEnvelopeSchema, listProfileNames, localUrl, normalizeUrl, originOnly, outputFlags, parseCsv, parseEnum, parseEnumCsv, parseInteger, parseJson, parseJsonOrPlain, parseOptionalInteger, profileFlag, readEnvCredentials, readEnvLicenseToken, readProfile, recordRejection, resolveLicenseToken, resolveProfileName, throwIfAborted, wrapList, writeLicense, writeProfile };
1068
+ export { DEFAULT_PROFILE, HttpError, USER_AGENT, account, clearLicense, clearProfile, clearRejection, combineAborts, connectionFlags, createClient, credentials, defineMetabaseCommand, explicitProfileName, listEnvelopeSchema, listProfileNames, localUrl, normalizeUrl, originOnly, outputFlags, parseCsv, parseEnum, parseEnumCsv, parseInteger, parseJson, parseJsonOrPlain, parseOptionalInteger, profileFlag, readEnvCredentials, readEnvLicenseToken, readProfile, recordRejection, resolveLicenseToken, resolveProfileName, throwIfAborted, wrapList, writeLicense, writeProfile };
@@ -1,9 +1,9 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-cwBS8wwK.mjs";
6
- import { parseId } from "./parse-id-B38zTlYs.mjs";
3
+ import { renderList } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
7
  import "./field-B3gvaqpK.mjs";
8
8
  import { Table, TableCompact, tableView } from "./table-B-PYcgGb.mjs";
9
9
  import { z } from "zod";
@@ -32,7 +32,7 @@ var schema_tables_default = defineMetabaseCommand({
32
32
  }
33
33
  },
34
34
  outputSchema: DatabaseSchemaTablesEnvelope,
35
- examples: ["metabase db schema-tables 1 public", "metabase db schema-tables 1 public --json"],
35
+ examples: ["mb db schema-tables 1 public", "mb db schema-tables 1 public --json"],
36
36
  async run({ args, ctx, getClient }) {
37
37
  const id = parseId(args.id);
38
38
  const client = await getClient();
@@ -1,9 +1,9 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-cwBS8wwK.mjs";
6
- import { parseId } from "./parse-id-B38zTlYs.mjs";
3
+ import { renderList } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
7
  import { z } from "zod";
8
8
 
9
9
  //#region src/commands/db/schemas.ts
@@ -33,7 +33,7 @@ var schemas_default = defineMetabaseCommand({
33
33
  }
34
34
  },
35
35
  outputSchema: DatabaseSchemaListEnvelope,
36
- examples: ["metabase db schemas 1", "metabase db schemas 1 --json"],
36
+ examples: ["mb db schemas 1", "mb db schemas 1 --json"],
37
37
  async run({ args, ctx, getClient }) {
38
38
  const id = parseId(args.id);
39
39
  const client = await getClient();
@@ -1,9 +1,9 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, parseEnumCsv, profileFlag } from "./runtime-cwBS8wwK.mjs";
6
- import { parseId } from "./parse-id-B38zTlYs.mjs";
3
+ import { renderList } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, parseEnumCsv, profileFlag } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
7
  import { z } from "zod";
8
8
 
9
9
  //#region src/domain/search.ts
@@ -120,9 +120,9 @@ var search_default = defineMetabaseCommand({
120
120
  },
121
121
  outputSchema: SearchListEnvelope,
122
122
  examples: [
123
- "metabase search orders",
124
- "metabase search --models card,dashboard --limit 10 --json",
125
- "metabase search products --archived"
123
+ "mb search orders",
124
+ "mb search --models card,dashboard --limit 10 --json",
125
+ "mb search products --archived"
126
126
  ],
127
127
  async run({ args, ctx, getClient }) {
128
128
  const limit = parseId(args.limit, "--limit");
@@ -0,0 +1,19 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/segment/index.ts
4
+ var segment_default = defineCommand({
5
+ meta: {
6
+ name: "segment",
7
+ description: "Inspect Metabase segments"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-ByPzCM2G.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-BAqeeIQ-.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-hYdLOyw_.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-CDdML0mE.mjs").then((mod) => mod.default),
14
+ archive: () => import("./archive-BPLLOdfL.mjs").then((mod) => mod.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { segment_default as default };
@@ -1,12 +1,12 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import "./input-ikCiip6x.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-cwBS8wwK.mjs";
7
- import { readBody } from "./body-rDrR-C1c.mjs";
3
+ import { renderItem } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import "./input-BQ-BZA8h.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
7
+ import { readBody } from "./body-CVSMGqZk.mjs";
8
8
  import { SettingValue, settingValueView } from "./setting-CTaAeMci.mjs";
9
- import { parseSettingKey } from "./key-NDEARu2L.mjs";
9
+ import { parseSettingKey } from "./key-CCJdVWKc.mjs";
10
10
  import { z } from "zod";
11
11
 
12
12
  //#region src/commands/setting/set.ts
@@ -36,11 +36,11 @@ var set_default = defineMetabaseCommand({
36
36
  },
37
37
  outputSchema: SettingValue,
38
38
  examples: [
39
- `metabase setting set remote-sync-branch '"main"'`,
40
- `metabase setting set anon-tracking-enabled true`,
41
- `echo '"main"' | metabase setting set remote-sync-branch`,
42
- `metabase setting set remote-sync-branch --file value.json`,
43
- `metabase setting set remote-sync-branch null`
39
+ `mb setting set remote-sync-branch '"main"'`,
40
+ `mb setting set anon-tracking-enabled true`,
41
+ `echo '"main"' | mb setting set remote-sync-branch`,
42
+ `mb setting set remote-sync-branch --file value.json`,
43
+ `mb setting set remote-sync-branch null`
44
44
  ],
45
45
  async run({ args, ctx, getClient }) {
46
46
  const key = parseSettingKey(args.key);
@@ -1,10 +1,10 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem, warn } from "./render-DXv-D6fU.mjs";
4
- import { ConfigError } from "./predicates-DiIiS3k7.mjs";
5
- import { readInput } from "./input-ikCiip6x.mjs";
6
- import { defineMetabaseCommand, outputFlags, readEnvLicenseToken, writeLicense } from "./runtime-cwBS8wwK.mjs";
7
- import { promptPassword } from "./prompt-Bf3DQ-qE.mjs";
3
+ import { renderItem, warn } from "./render-DuoDUTVL.mjs";
4
+ import { ConfigError } from "./predicates-CGO17Q15.mjs";
5
+ import { readInput } from "./input-BQ-BZA8h.mjs";
6
+ import { defineMetabaseCommand, outputFlags, readEnvLicenseToken, writeLicense } from "./runtime-DPdP0sl1.mjs";
7
+ import { promptPassword } from "./prompt-DgDNy_Pc.mjs";
8
8
  import { z } from "zod";
9
9
 
10
10
  //#region src/commands/license/set.ts
@@ -31,9 +31,9 @@ var set_default = defineMetabaseCommand({
31
31
  },
32
32
  outputSchema: LicenseSetResult,
33
33
  examples: [
34
- "echo $METABASE_LICENSE_TOKEN | metabase license set",
35
- "metabase license set < token.txt",
36
- "metabase license set $METABASE_LICENSE_TOKEN"
34
+ "echo $METABASE_LICENSE_TOKEN | mb license set",
35
+ "mb license set < token.txt",
36
+ "mb license set $METABASE_LICENSE_TOKEN"
37
37
  ],
38
38
  async run({ args, ctx }) {
39
39
  const token = await resolveToken(args.token);
@@ -8,9 +8,9 @@ var setting_default = defineCommand({
8
8
  alias: "settings"
9
9
  },
10
10
  subCommands: {
11
- list: () => import("./list-BwjqQ6pp.mjs").then((m) => m.default),
12
- get: () => import("./get-DUSR5i99.mjs").then((m) => m.default),
13
- set: () => import("./set-CbGfQ7Ye.mjs").then((m) => m.default)
11
+ list: () => import("./list-B9mEqMZ5.mjs").then((m) => m.default),
12
+ get: () => import("./get-Cy9YIesM.mjs").then((m) => m.default),
13
+ set: () => import("./set-BNQjt8S1.mjs").then((m) => m.default)
14
14
  }
15
15
  });
16
16
 
@@ -1,10 +1,10 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import "./input-ikCiip6x.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-cwBS8wwK.mjs";
7
- import { readBody } from "./body-rDrR-C1c.mjs";
3
+ import { renderItem } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import "./input-BQ-BZA8h.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
7
+ import { readBody } from "./body-CVSMGqZk.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
9
  import { z } from "zod";
10
10
 
@@ -49,9 +49,9 @@ var setup_default = defineMetabaseCommand({
49
49
  },
50
50
  outputSchema: SetupResult,
51
51
  examples: [
52
- "cat setup.json | metabase setup",
53
- "metabase setup --file setup.json",
54
- "metabase setup --body '{\"token\":\"...\",\"user\":{\"email\":\"a@b.c\",\"password\":\"...\"}}'"
52
+ "cat setup.json | mb setup",
53
+ "mb setup --file setup.json",
54
+ "mb setup --body '{\"token\":\"...\",\"user\":{\"email\":\"a@b.c\",\"password\":\"...\"}}'"
55
55
  ],
56
56
  async run({ args, ctx, getClient }) {
57
57
  const body = await readBody({
@@ -0,0 +1,191 @@
1
+ import { ConfigError, isNotFoundError } from "./predicates-CGO17Q15.mjs";
2
+ import { parseYamlResult } from "./yaml-ECiog374.mjs";
3
+ import { z } from "zod";
4
+ import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
5
+ import { dirname, join, resolve } from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+
8
+ //#region src/core/skills.ts
9
+ const Frontmatter = z.object({
10
+ name: z.string().min(1),
11
+ description: z.string().default(""),
12
+ hidden: z.boolean().default(false)
13
+ }).loose();
14
+ const SkillExtraFile = z.object({
15
+ path: z.string(),
16
+ content: z.string()
17
+ });
18
+ const SkillContent = z.object({
19
+ name: z.string(),
20
+ description: z.string(),
21
+ body: z.string(),
22
+ references: z.array(SkillExtraFile),
23
+ templates: z.array(SkillExtraFile)
24
+ });
25
+ const SKILL_DIR_NAMES = ["skills", "skill-data"];
26
+ const SKILL_MD_FILENAME = "SKILL.md";
27
+ const SKILL_REFERENCES_DIR = "references";
28
+ const SKILL_TEMPLATES_DIR = "templates";
29
+ const SKILLS_DIR_ENV = "MB_SKILLS_DIR";
30
+ const FRONTMATTER_PREFIX_BYTES = 8192;
31
+ const FRONTMATTER_FENCE = "---";
32
+ function loadAllSkills() {
33
+ return discoverSkills(resolveSkillDirs());
34
+ }
35
+ function loadVisibleSkills() {
36
+ return loadAllSkills().filter((s) => !s.hidden);
37
+ }
38
+ function findSkillByName(all, name) {
39
+ const hit = all.find((s) => s.name === name);
40
+ if (hit === void 0) throw new ConfigError(`unknown skill name: ${name} (${availableSkillNames(all)})`);
41
+ return hit;
42
+ }
43
+ function selectSkillsByNames(all, requested) {
44
+ if (requested.length === 0) throw new ConfigError("no skill names provided");
45
+ const byName = new Map(all.map((s) => [s.name, s]));
46
+ const missing = [];
47
+ const found = [];
48
+ for (const name of requested) {
49
+ const hit = byName.get(name);
50
+ if (hit === void 0) {
51
+ missing.push(name);
52
+ continue;
53
+ }
54
+ found.push(hit);
55
+ }
56
+ if (missing.length > 0) throw new ConfigError(`unknown skill name(s): ${missing.join(", ")} (${availableSkillNames(all)})`);
57
+ return found;
58
+ }
59
+ function availableSkillNames(all) {
60
+ const names = all.filter((s) => !s.hidden).map((s) => s.name);
61
+ return `available: ${names.length === 0 ? "none" : names.join(", ")}`;
62
+ }
63
+ function resolveSkillDirs() {
64
+ const override = process.env[SKILLS_DIR_ENV];
65
+ if (override !== void 0 && override !== "") {
66
+ if (!isDirectory(override)) throw new ConfigError(`${SKILLS_DIR_ENV} points at ${override}, which is not a directory`);
67
+ return [resolve(override)];
68
+ }
69
+ const root = findPackageRoot();
70
+ if (root === null) return [];
71
+ return SKILL_DIR_NAMES.map((name) => join(root, name)).filter(isDirectory);
72
+ }
73
+ function findPackageRoot() {
74
+ const here = fileURLToPath(import.meta.url);
75
+ let dir = dirname(here);
76
+ while (true) {
77
+ for (const name of SKILL_DIR_NAMES) if (isDirectory(join(dir, name))) return dir;
78
+ const parent = dirname(dir);
79
+ if (parent === dir) return null;
80
+ dir = parent;
81
+ }
82
+ }
83
+ function discoverSkills(dirs) {
84
+ const skills = [];
85
+ for (const dir of dirs) {
86
+ let entries;
87
+ try {
88
+ entries = readdirSync(dir);
89
+ } catch (error) {
90
+ if (isNotFoundError(error)) continue;
91
+ throw error;
92
+ }
93
+ for (const entryName of entries) {
94
+ const skillDir = join(dir, entryName);
95
+ const fm = readFrontmatterFromSkill(skillDir);
96
+ if (fm === null) continue;
97
+ skills.push({
98
+ name: fm.name,
99
+ description: fm.description,
100
+ hidden: fm.hidden,
101
+ dir: skillDir
102
+ });
103
+ }
104
+ }
105
+ skills.sort((a, b) => a.name.localeCompare(b.name));
106
+ return skills;
107
+ }
108
+ function readFrontmatterFromSkill(skillDir) {
109
+ const skillMd = join(skillDir, SKILL_MD_FILENAME);
110
+ const prefix = readFilePrefix(skillMd, FRONTMATTER_PREFIX_BYTES);
111
+ if (prefix === null) return null;
112
+ return parseFrontmatter(prefix);
113
+ }
114
+ function readFilePrefix(path, maxBytes) {
115
+ let fd;
116
+ try {
117
+ fd = openSync(path, "r");
118
+ } catch (error) {
119
+ if (isNotFoundError(error)) return null;
120
+ throw error;
121
+ }
122
+ try {
123
+ const buffer = Buffer.alloc(maxBytes);
124
+ const bytesRead = readSync(fd, buffer, 0, maxBytes, 0);
125
+ return buffer.toString("utf8", 0, bytesRead);
126
+ } finally {
127
+ closeSync(fd);
128
+ }
129
+ }
130
+ function parseFrontmatter(content) {
131
+ const trimmed = content.trimStart();
132
+ if (!trimmed.startsWith(FRONTMATTER_FENCE)) return null;
133
+ const afterOpening = trimmed.slice(FRONTMATTER_FENCE.length);
134
+ const closingIndex = afterOpening.indexOf(`\n${FRONTMATTER_FENCE}`);
135
+ if (closingIndex < 0) return null;
136
+ const block = afterOpening.slice(0, closingIndex);
137
+ const result = parseYamlResult(block, Frontmatter);
138
+ if (!result.ok) return null;
139
+ return result.value;
140
+ }
141
+ function readSkillContent(info, opts) {
142
+ const body = readFileSync(join(info.dir, SKILL_MD_FILENAME), "utf8");
143
+ if (!opts.includeExtras) return {
144
+ name: info.name,
145
+ description: info.description,
146
+ body,
147
+ references: [],
148
+ templates: []
149
+ };
150
+ return {
151
+ name: info.name,
152
+ description: info.description,
153
+ body,
154
+ references: collectExtraFiles(info.dir, SKILL_REFERENCES_DIR),
155
+ templates: collectExtraFiles(info.dir, SKILL_TEMPLATES_DIR)
156
+ };
157
+ }
158
+ function collectExtraFiles(skillDir, subdirName) {
159
+ const subdir = join(skillDir, subdirName);
160
+ if (!isDirectory(subdir)) return [];
161
+ const entries = readdirSync(subdir).toSorted();
162
+ const out = [];
163
+ for (const entry of entries) {
164
+ const full = join(subdir, entry);
165
+ if (!isFile(full)) continue;
166
+ out.push({
167
+ path: `${subdirName}/${entry}`,
168
+ content: readFileSync(full, "utf8")
169
+ });
170
+ }
171
+ return out;
172
+ }
173
+ function isDirectory(path) {
174
+ try {
175
+ return statSync(path).isDirectory();
176
+ } catch (error) {
177
+ if (isNotFoundError(error)) return false;
178
+ throw error;
179
+ }
180
+ }
181
+ function isFile(path) {
182
+ try {
183
+ return statSync(path).isFile();
184
+ } catch (error) {
185
+ if (isNotFoundError(error)) return false;
186
+ throw error;
187
+ }
188
+ }
189
+
190
+ //#endregion
191
+ export { SkillContent, findSkillByName, loadAllSkills, loadVisibleSkills, readSkillContent, selectSkillsByNames };
@@ -0,0 +1,18 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/skills/index.ts
4
+ var skills_default = defineCommand({
5
+ meta: {
6
+ name: "skills",
7
+ description: "Discover and read CLI-bundled skills (SKILL.md files served from the installed version)"
8
+ },
9
+ default: "list",
10
+ subCommands: {
11
+ list: () => import("./list-DwF6on6O.mjs").then((m) => m.default),
12
+ get: () => import("./get-DWttywn_.mjs").then((m) => m.default),
13
+ path: () => import("./path-DarsuSkB.mjs").then((m) => m.default)
14
+ }
15
+ });
16
+
17
+ //#endregion
18
+ export { skills_default as default };
@@ -0,0 +1,19 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/snippet/index.ts
4
+ var snippet_default = defineCommand({
5
+ meta: {
6
+ name: "snippet",
7
+ description: "Inspect Metabase native query snippets"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-B5E7LFDb.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-ChEFd1sT.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-C3TiMJhQ.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-CGYM_wWQ.mjs").then((mod) => mod.default),
14
+ archive: () => import("./archive-D596Cq7R.mjs").then((mod) => mod.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { snippet_default as default };
@@ -1,13 +1,15 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem, warn } from "./render-DXv-D6fU.mjs";
4
- import { ConfigError, errorMessage } from "./predicates-DiIiS3k7.mjs";
5
- import { connectionFlags, createClient, defineMetabaseCommand, localUrl, outputFlags, parseInteger, parseOptionalInteger, profileFlag, resolveLicenseToken } from "./runtime-cwBS8wwK.mjs";
6
- import { parseId } from "./parse-id-B38zTlYs.mjs";
7
- import { pollUntil } from "./poll-Bh6oAifO.mjs";
8
- import { Workspace } from "./workspace-DVuqKJGG.mjs";
9
- import { CONTAINER_REPO_DIR, checkDockerReady, containerLifecycleStatus, containerNameFor, pullImage, removeContainer, runProcess, runWorkspaceContainer, scrubContainerConfig, waitForConfigConsumed } from "./docker-CHpV8PRz.mjs";
10
- import { REPO_SYNC_MODES, RepoSyncMode, buildCredentialsJson, generateWorkspaceCredentials, injectCredentialsIntoConfig, injectRepoSettingsIntoConfig } from "./workspace-credentials-B6BL-X0d.mjs";
3
+ import { renderItem, warn } from "./render-DuoDUTVL.mjs";
4
+ import { ConfigError, errorMessage } from "./predicates-CGO17Q15.mjs";
5
+ import { connectionFlags, createClient, defineMetabaseCommand, localUrl, outputFlags, parseInteger, parseOptionalInteger, profileFlag, resolveLicenseToken } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
+ import { pollUntil } from "./poll-Cd8bRMmZ.mjs";
8
+ import "./yaml-ECiog374.mjs";
9
+ import { runProcess } from "./process-zJeVJZTM.mjs";
10
+ import { Workspace } from "./workspace-DUfqhPm5.mjs";
11
+ import { CONTAINER_REPO_DIR, checkDockerReady, containerLifecycleStatus, containerNameFor, pullImage, removeContainer, runWorkspaceContainer, scrubContainerConfig, waitForConfigConsumed } from "./docker-C9WQCjkt.mjs";
12
+ import { REPO_SYNC_MODES, RepoSyncMode, buildCredentialsJson, generateWorkspaceCredentials, injectCredentialsIntoConfig, injectRepoSettingsIntoConfig } from "./workspace-credentials-4lIxxz4g.mjs";
11
13
  import { z } from "zod";
12
14
  import { stat } from "node:fs/promises";
13
15
  import { resolve } from "node:path";
@@ -179,13 +181,13 @@ var start_default = defineMetabaseCommand({
179
181
  },
180
182
  outputSchema: StartResult,
181
183
  examples: [
182
- "metabase workspace start 1",
183
- "metabase workspace start 1 --wait",
184
- "metabase workspace start 1 --port 3100",
185
- "metabase workspace start 1 --image metabase/metabase-dev:feature-workspaces-v2 --no-pull",
186
- "metabase workspace start 1 --force",
187
- "metabase workspace start 1 --repo /path/to/sync-repo --wait",
188
- "metabase workspace start 1 --repo /path/to/sync-repo --repo-branch dev --repo-mode read-only"
184
+ "mb workspace start 1",
185
+ "mb workspace start 1 --wait",
186
+ "mb workspace start 1 --port 3100",
187
+ "mb workspace start 1 --image metabase/metabase-dev:feature-workspaces-v2 --no-pull",
188
+ "mb workspace start 1 --force",
189
+ "mb workspace start 1 --repo /path/to/sync-repo --wait",
190
+ "mb workspace start 1 --repo /path/to/sync-repo --repo-branch dev --repo-mode read-only"
189
191
  ],
190
192
  async run({ args, ctx, getClient, getResolvedConfig }) {
191
193
  const workspaceId = parseId(args.id);
@@ -274,7 +276,7 @@ async function ensureNoExistingContainer(workspaceId, containerName, force) {
274
276
  await removeContainer(containerName);
275
277
  return;
276
278
  }
277
- throw new ConfigError(`container ${containerName} is currently ${status}. Run \`metabase workspace stop ${workspaceId}\` first, or use --force to recreate it.`);
279
+ throw new ConfigError(`container ${containerName} is currently ${status}. Run \`mb workspace stop ${workspaceId}\` first, or use --force to recreate it.`);
278
280
  }
279
281
  async function resolveHostPort(requested) {
280
282
  if (requested !== null) {
@@ -1,11 +1,11 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DXv-D6fU.mjs";
4
- import { ConfigError } from "./predicates-DiIiS3k7.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-cwBS8wwK.mjs";
6
- import { parseId } from "./parse-id-B38zTlYs.mjs";
7
- import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-vPwV31Fs.mjs";
8
- import "./poll-Bh6oAifO.mjs";
3
+ import { renderItem } from "./render-DuoDUTVL.mjs";
4
+ import { ConfigError } from "./predicates-CGO17Q15.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
+ import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-BwKuhZ9P.mjs";
8
+ import "./poll-Cd8bRMmZ.mjs";
9
9
  import { z } from "zod";
10
10
 
11
11
  //#region src/commands/git-sync/stash.ts
@@ -37,7 +37,7 @@ const syncStashView = {
37
37
  }
38
38
  ]
39
39
  };
40
- const DEFAULT_STASH_MESSAGE = "Stashed from metabase CLI";
40
+ const DEFAULT_STASH_MESSAGE = "Stashed from mb CLI";
41
41
  var stash_default = defineMetabaseCommand({
42
42
  meta: {
43
43
  name: "stash",
@@ -62,7 +62,7 @@ var stash_default = defineMetabaseCommand({
62
62
  ...pollFlags
63
63
  },
64
64
  outputSchema: SyncStashResult,
65
- examples: ["metabase git-sync stash --new-branch wip", "metabase git-sync stash --new-branch wip -m \"work in progress\" --json"],
65
+ examples: ["mb git-sync stash --new-branch wip", "mb git-sync stash --new-branch wip -m \"work in progress\" --json"],
66
66
  async run({ args, ctx, getClient }) {
67
67
  const newBranch = args.newBranch.trim();
68
68
  if (newBranch === "") throw new ConfigError("invalid new-branch: must not be blank");
@@ -1,8 +1,8 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import { account, credentials, defineMetabaseCommand, outputFlags } from "./runtime-cwBS8wwK.mjs";
3
+ import { renderItem } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import { account, credentials, defineMetabaseCommand, outputFlags } from "./runtime-DPdP0sl1.mjs";
6
6
  import { z } from "zod";
7
7
 
8
8
  //#region src/commands/license/status.ts
@@ -21,7 +21,7 @@ var status_default = defineMetabaseCommand({
21
21
  },
22
22
  args: { ...outputFlags },
23
23
  outputSchema: LicenseStatus,
24
- examples: ["metabase license status", "metabase license status --json"],
24
+ examples: ["mb license status", "mb license status --json"],
25
25
  async run({ ctx }) {
26
26
  const present = await credentials.has(account.license);
27
27
  renderItem({ present }, licenseStatusView, ctx);
@@ -1,8 +1,8 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import { account, credentials, defineMetabaseCommand, originOnly, outputFlags, profileFlag, resolveProfileName } from "./runtime-cwBS8wwK.mjs";
3
+ import { renderItem } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import { account, credentials, defineMetabaseCommand, originOnly, outputFlags, profileFlag, resolveProfileName } from "./runtime-DPdP0sl1.mjs";
6
6
  import { z } from "zod";
7
7
 
8
8
  //#region src/commands/auth/status.ts
@@ -38,7 +38,7 @@ var status_default = defineMetabaseCommand({
38
38
  ...profileFlag
39
39
  },
40
40
  outputSchema: AuthStatus,
41
- examples: ["metabase auth status --json", "metabase auth status --profile staging"],
41
+ examples: ["mb auth status --json", "mb auth status --profile staging"],
42
42
  async run({ args, ctx }) {
43
43
  const profileName = resolveProfileName(args.profile);
44
44
  const [url, apiKey] = await Promise.all([credentials.read(account.profileUrl(profileName)), credentials.read(account.profileApiKey(profileName))]);
@@ -1,11 +1,11 @@
1
- import "./package-DV6Asqim.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DXv-D6fU.mjs";
4
- import "./predicates-DiIiS3k7.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-cwBS8wwK.mjs";
6
- import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed } from "./poll-task-vPwV31Fs.mjs";
7
- import "./poll-Bh6oAifO.mjs";
8
- import { IsDirtyResult } from "./is-dirty-DlfX7e39.mjs";
3
+ import { renderItem } from "./render-DuoDUTVL.mjs";
4
+ import "./predicates-CGO17Q15.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
6
+ import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed } from "./poll-task-BwKuhZ9P.mjs";
7
+ import "./poll-Cd8bRMmZ.mjs";
8
+ import { IsDirtyResult } from "./is-dirty-7afLBOtn.mjs";
9
9
  import { z } from "zod";
10
10
 
11
11
  //#region src/commands/git-sync/status.ts
@@ -43,7 +43,7 @@ var status_default = defineMetabaseCommand({
43
43
  ...connectionFlags
44
44
  },
45
45
  outputSchema: SyncStatus,
46
- examples: ["metabase git-sync status", "metabase git-sync status --json"],
46
+ examples: ["mb git-sync status", "mb git-sync status --json"],
47
47
  async run({ ctx, getClient }) {
48
48
  const client = await getClient();
49
49
  const [branch, isDirty, currentTask] = await Promise.all([