@metabase/cli 0.1.0-alpha.workspaces-commands.9af92d7 → 0.1.0-alpha.workspaces-commands.66774cc

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 (123) hide show
  1. package/README.md +66 -31
  2. package/dist/{api-key-U35bYysN.mjs → api-key-Cy87ZD6J.mjs} +1 -1
  3. package/dist/{archive-t98qQCTg.mjs → archive-CYnqV6se.mjs} +5 -5
  4. package/dist/auth-B4W4K7j-.mjs +19 -0
  5. package/dist/{body-qjVMvNjF.mjs → body-CGoWst5q.mjs} +2 -2
  6. package/dist/{branches-GR_uFakd.mjs → branches-CLNtwBB2.mjs} +5 -5
  7. package/dist/{cancel-task-Bx4unmzB.mjs → cancel-task-DqdP2_8k.mjs} +5 -5
  8. package/dist/{card-2XdaHHSS.mjs → card-BOGKT258.mjs} +22 -1
  9. package/dist/card-drxclrvk.mjs +20 -0
  10. package/dist/{cards-CvXNClLR.mjs → cards-Bslh-gVE.mjs} +5 -5
  11. package/dist/cli.mjs +28 -20
  12. package/dist/{create-CT8GaHhd.mjs → create-CDa7ycuY.mjs} +22 -9
  13. package/dist/{create-78zUdOrE.mjs → create-DX5ZlJVx.mjs} +7 -7
  14. package/dist/{create-klUmZ4qb.mjs → create-Dfk-Cwra.mjs} +6 -6
  15. package/dist/{create-DRSgnSTg.mjs → create-MW9yGet7.mjs} +6 -6
  16. package/dist/{create-DOsPeHvv.mjs → create-O5_huJxw.mjs} +7 -7
  17. package/dist/{create-branch-95PKGg4J.mjs → create-branch-Di9ux42t.mjs} +5 -5
  18. package/dist/{create-A8ixnCEp.mjs → create-cAHtZgGR.mjs} +6 -6
  19. package/dist/{credentials-h6gwy6KC.mjs → credentials-CmfhxT15.mjs} +7 -7
  20. package/dist/{current-task-CKTHTDJ-.mjs → current-task-BT63IEqN.mjs} +5 -5
  21. package/dist/dashboard-DZvXencG.mjs +20 -0
  22. package/dist/{dashboard-DVCLGg3X.mjs → dashboard-nYIzB6gy.mjs} +3 -1
  23. package/dist/{database-VBWFKoFw.mjs → database-Zcv6o9HD.mjs} +3 -3
  24. package/dist/{db-BNIiulL8.mjs → db-CxjyjJjE.mjs} +2 -2
  25. package/dist/{delete-Dgw7tuwF.mjs → delete-BOqKxL9h.mjs} +6 -6
  26. package/dist/{delete-SpvnjwpH.mjs → delete-C5R9Ovcn.mjs} +6 -6
  27. package/dist/{delete-runtime-ZDxlvZa6.mjs → delete-runtime-BIDRhI6e.mjs} +3 -5
  28. package/dist/{delete-table-BXmFReAx.mjs → delete-table-CHwD8KMd.mjs} +6 -6
  29. package/dist/{deprovision-Cay-ixJs.mjs → deprovision-AMoA4GJ-.mjs} +10 -10
  30. package/dist/{dirty-CNjg0YSW.mjs → dirty-DGu-zGzj.mjs} +5 -5
  31. package/dist/{docker-D2GAMpHR.mjs → docker-JpSqfyrV.mjs} +22 -8
  32. package/dist/{eid-CLOyMi0C.mjs → eid-DOpqY6Xr.mjs} +1 -1
  33. package/dist/{export-D2PP3RlE.mjs → export-CM4xVQtO.mjs} +25 -20
  34. package/dist/{field-D9nztsQP.mjs → field-CvvYmcqL.mjs} +1 -1
  35. package/dist/{get-DtsLPlhf.mjs → get-B2gUIWWn.mjs} +5 -5
  36. package/dist/{get-CW0uHmFb.mjs → get-BCftPMeY.mjs} +5 -5
  37. package/dist/{get-BzfjbJ1f.mjs → get-BLDZmnI6.mjs} +6 -6
  38. package/dist/{get-Bc0yqaS1.mjs → get-B_TDKynl.mjs} +5 -5
  39. package/dist/{get-B32KbqqV.mjs → get-Bb0zpzfP.mjs} +5 -5
  40. package/dist/{get-qXYTmiCW.mjs → get-BmNatkw0.mjs} +5 -5
  41. package/dist/{get-gZ5sQoS9.mjs → get-C9hLsWZN.mjs} +6 -6
  42. package/dist/{get-B6PHgITW.mjs → get-CadG65Mw.mjs} +5 -5
  43. package/dist/{has-remote-changes-BjdywTVP.mjs → has-remote-changes-jcUyn4BL.mjs} +5 -5
  44. package/dist/{import-CVOFq6HN.mjs → import-DwxLbBqY.mjs} +6 -6
  45. package/dist/{input-DkgCMNA9.mjs → input-DMcm_A5s.mjs} +1 -0
  46. package/dist/{is-dirty-DgxNJz79.mjs → is-dirty-Bft_2Beg.mjs} +3 -3
  47. package/dist/is-dirty-DfpvMy-Z.mjs +10 -0
  48. package/dist/{license-B2eNHmdg.mjs → license-CEf37q8h.mjs} +3 -3
  49. package/dist/{list-AcUuhDxS.mjs → list-B-etmnDB.mjs} +4 -4
  50. package/dist/{list-B6LmdzL6.mjs → list-C4mEhTuI.mjs} +4 -4
  51. package/dist/{list-Cw0Geehz.mjs → list-C9__j3X6.mjs} +4 -4
  52. package/dist/{list-CW20Zfq-.mjs → list-D79qqG6n.mjs} +4 -4
  53. package/dist/{list-DEW7ZHzy.mjs → list-WabdLE4S.mjs} +4 -4
  54. package/dist/list-X1BvRpvu.mjs +55 -0
  55. package/dist/{list-B0durHcU.mjs → list-YEYFjczS.mjs} +4 -4
  56. package/dist/{list-B9ppD-U5.mjs → list-lMXe0ihm.mjs} +4 -4
  57. package/dist/{list-bSb_Y5k9.mjs → list-wflhJJRp.mjs} +6 -6
  58. package/dist/{login-ChQ9J6Ne.mjs → login-BvZe_SH8.mjs} +5 -5
  59. package/dist/{logout-Cit2O74l.mjs → logout-DS_iumfz.mjs} +6 -7
  60. package/dist/{logs-Ca_YA7A6.mjs → logs-B-UEyFH2.mjs} +5 -5
  61. package/dist/{manifest-IMg51yb7.mjs → manifest-QVMj24rH.mjs} +1 -1
  62. package/dist/{package-CVNZnqz9.mjs → package-DHwFgisf.mjs} +1 -1
  63. package/dist/{parse-id-YyyUbzvS.mjs → parse-id-BVuB-dYb.mjs} +1 -1
  64. package/dist/{poll-CxWRi3iY.mjs → poll-BkPMyRGr.mjs} +1 -1
  65. package/dist/{poll-task-DdXgrDJf.mjs → poll-task-8OfFZFlk.mjs} +3 -3
  66. package/dist/{provision-CV30W4mk.mjs → provision-9JcwXfaO.mjs} +10 -10
  67. package/dist/{ps-BR36xoRT.mjs → ps-BtV5q-v0.mjs} +3 -3
  68. package/dist/ps-CA2yc6af.mjs +10 -0
  69. package/dist/{query-Dnlo_5UK.mjs → query-CwGBNXRD.mjs} +5 -5
  70. package/dist/{query-DmeLeLlh.mjs → query-D6MUf1bB.mjs} +7 -7
  71. package/dist/{remove-ChoQTtcC.mjs → remove-D6dNO_JR.mjs} +6 -7
  72. package/dist/{remove-DfVVf1N9.mjs → remove-DRzzmp4L.mjs} +8 -8
  73. package/dist/{render-CZNR2MNK.mjs → render-BYWlZPEH.mjs} +7 -4
  74. package/dist/{run-BiXybcsl.mjs → run-CvcTc0Ij.mjs} +7 -7
  75. package/dist/{runtime-DR8NwmQU.mjs → runtime-Dm9yLeT_.mjs} +73 -3
  76. package/dist/{search-0cjOmsQu.mjs → search-BOESDli6.mjs} +4 -4
  77. package/dist/{set-CLsmPD8_.mjs → set-HliJC97V.mjs} +5 -5
  78. package/dist/{set-BeVw7OX5.mjs → set-sr3YCFCC.mjs} +7 -7
  79. package/dist/{setting-DEhllKkK.mjs → setting-DRiJcVn4.mjs} +3 -3
  80. package/dist/{setup-BYL5Yagu.mjs → setup-Cw7SZEte.mjs} +5 -5
  81. package/dist/{start-BdAhhZYt.mjs → start-BlTG8xm9.mjs} +18 -11
  82. package/dist/{stash-Ca63-mCs.mjs → stash-DtwiEyLc.mjs} +6 -6
  83. package/dist/{status-Bt6rZDLa.mjs → status-CQUYPa2m.mjs} +3 -3
  84. package/dist/{status-cZiC8-t_.mjs → status-CqwBiAEw.mjs} +6 -6
  85. package/dist/{status-D7Ihw-lN.mjs → status-Snec_vKv.mjs} +3 -3
  86. package/dist/{stop-BDeCLqh0.mjs → stop-ap-ezh_7.mjs} +7 -7
  87. package/dist/sync-BVrrn4wX.mjs +26 -0
  88. package/dist/{table-CjnruP5H.mjs → table-CISZRlK9.mjs} +2 -2
  89. package/dist/{table-BbNgtqbd.mjs → table-Dx6KCUVC.mjs} +1 -1
  90. package/dist/transform-job-Bo1rtoXO.mjs +19 -0
  91. package/dist/transform-oFy2JltU.mjs +21 -0
  92. package/dist/{translate-oHz4-5o0.mjs → translate-DsD_bI78.mjs} +5 -5
  93. package/dist/update-BS9zqDT2.mjs +57 -0
  94. package/dist/{update-WFBs9Nfq.mjs → update-CAhzSUHT.mjs} +8 -8
  95. package/dist/{update-Dtu0CHTJ.mjs → update-DeHlwttq.mjs} +7 -7
  96. package/dist/{update-BqI8hYNO.mjs → update-OAfGXSV1.mjs} +10 -10
  97. package/dist/{update-dashcard-BSf1-SfK.mjs → update-dashcard-H9G6T3zi.mjs} +7 -7
  98. package/dist/{update-CLXVmkyr.mjs → update-kh0X4VGX.mjs} +7 -7
  99. package/dist/{url-B0Bc70KV.mjs → url-vVkeIPup.mjs} +6 -6
  100. package/dist/{validate-query-DE4UouY3.mjs → validate-query-D0aAFTUs.mjs} +49 -3
  101. package/dist/{wait-DFI3pf6P.mjs → wait-DR3UCWim.mjs} +2 -2
  102. package/dist/{wait-Dkbfo1eS.mjs → wait-GYWtN1mb.mjs} +6 -6
  103. package/dist/{wait-flags-BIVgwvUI.mjs → wait-flags-DqDOwv0J.mjs} +2 -2
  104. package/dist/workspace-DmuFl7Iw.mjs +24 -0
  105. package/package.json +1 -1
  106. package/dist/auth-Pmzzbl9X.mjs +0 -18
  107. package/dist/card-CY60jlXc.mjs +0 -19
  108. package/dist/dashboard-BVEiysxL.mjs +0 -20
  109. package/dist/is-dirty-79hBpoVR.mjs +0 -10
  110. package/dist/ps-B9-TFn7r.mjs +0 -10
  111. package/dist/sync-BZPts11d.mjs +0 -26
  112. package/dist/transform-BXF9B-hF.mjs +0 -21
  113. package/dist/transform-job-DDsjt-4N.mjs +0 -19
  114. package/dist/workspace-Bv7qoaJi.mjs +0 -24
  115. /package/dist/{database-B9-7QAXE.mjs → database-CqVM76jo.mjs} +0 -0
  116. /package/dist/{field-D_g4xvH9.mjs → field-uWPctJqU.mjs} +0 -0
  117. /package/dist/{key-CpWh7W8M.mjs → key-DVHK0_ny.mjs} +0 -0
  118. /package/dist/{prompt-D8p00XDp.mjs → prompt-k9s4Ntk5.mjs} +0 -0
  119. /package/dist/{setting-Bm84ixxW.mjs → setting-DwFQyJPi.mjs} +0 -0
  120. /package/dist/{transform-CRRW0mFp.mjs → transform-h405NiRC.mjs} +0 -0
  121. /package/dist/{transform-job-BtCoVYsb.mjs → transform-job-oBa_OKqk.mjs} +0 -0
  122. /package/dist/{workspace-C3tGVQ6_.mjs → workspace-PL1je3wr.mjs} +0 -0
  123. /package/dist/{workspace-credentials-BxrU2xZb.mjs → workspace-credentials-DT-YilSB.mjs} +0 -0
@@ -1,10 +1,10 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
9
  import { z } from "zod";
10
10
 
@@ -1,13 +1,13 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem, warn } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem, warn } from "./render-BYWlZPEH.mjs";
4
4
  import { ConfigError, errorMessage } from "./errors-C6w1eZ1F.mjs";
5
- import { connectionFlags, defineMetabaseCommand, localUrl, outputFlags, parseInteger, parseOptionalInteger, profileFlag, resolveLicenseToken } from "./runtime-DR8NwmQU.mjs";
6
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
7
- import { pollUntil } from "./poll-CxWRi3iY.mjs";
8
- import { Workspace } from "./workspace-C3tGVQ6_.mjs";
9
- import { CONTAINER_REPO_DIR, checkDockerReady, containerLifecycleStatus, containerNameFor, pullImage, removeContainer, runProcess, runWorkspaceContainer, scrubContainerConfig, waitForConfigConsumed } from "./docker-D2GAMpHR.mjs";
10
- import { REPO_SYNC_MODES, RepoSyncMode, buildCredentialsJson, generateWorkspaceCredentials, injectCredentialsIntoConfig, injectRepoSettingsIntoConfig } from "./workspace-credentials-BxrU2xZb.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, localUrl, outputFlags, parseInteger, parseOptionalInteger, profileFlag, resolveLicenseToken } from "./runtime-Dm9yLeT_.mjs";
6
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
7
+ import { pollUntil } from "./poll-BkPMyRGr.mjs";
8
+ import { Workspace } from "./workspace-PL1je3wr.mjs";
9
+ import { CONTAINER_REPO_DIR, checkDockerReady, containerLifecycleStatus, containerNameFor, pullImage, removeContainer, runProcess, runWorkspaceContainer, scrubContainerConfig, waitForConfigConsumed } from "./docker-JpSqfyrV.mjs";
10
+ import { REPO_SYNC_MODES, RepoSyncMode, buildCredentialsJson, generateWorkspaceCredentials, injectCredentialsIntoConfig, injectRepoSettingsIntoConfig } from "./workspace-credentials-DT-YilSB.mjs";
11
11
  import { z } from "zod";
12
12
  import { stat } from "node:fs/promises";
13
13
  import { resolve } from "node:path";
@@ -41,7 +41,7 @@ function isPortFree(port) {
41
41
  server.once("listening", () => {
42
42
  server.close(() => resolve$1(true));
43
43
  });
44
- server.listen(port, "127.0.0.1");
44
+ server.listen(port, "0.0.0.0");
45
45
  });
46
46
  }
47
47
  async function findFreePort(start) {
@@ -111,7 +111,7 @@ var start_default = defineMetabaseCommand({
111
111
  },
112
112
  port: {
113
113
  type: "string",
114
- description: `Host port to bind (default: ${DEFAULT_HOST_PORT}; auto-shifts up if taken)`
114
+ description: `Host port to bind (default: ${DEFAULT_HOST_PORT}; auto-shifts up when this flag is omitted, fails on collision when set explicitly)`
115
115
  },
116
116
  image: {
117
117
  type: "string",
@@ -263,7 +263,14 @@ async function fetchConfigYaml(client, workspaceId) {
263
263
  return response.text();
264
264
  }
265
265
  async function fetchMetadataJson(client, workspaceId) {
266
- const response = await client.requestRaw(`/api/ee/workspace-manager/${workspaceId}/metadata/export`, { expectContentType: "binary" });
266
+ const response = await client.requestRaw(`/api/ee/workspace-manager/${workspaceId}/metadata/export`, {
267
+ expectContentType: "binary",
268
+ query: {
269
+ "with-databases": true,
270
+ "with-tables": true,
271
+ "with-fields": true
272
+ }
273
+ });
267
274
  return new Uint8Array(await response.arrayBuffer());
268
275
  }
269
276
  async function waitForHealth(hostPort, timeoutMs) {
@@ -1,11 +1,11 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import { ConfigError } from "./errors-C6w1eZ1F.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
6
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
7
- import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-DdXgrDJf.mjs";
8
- import "./poll-CxWRi3iY.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
6
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
7
+ import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-8OfFZFlk.mjs";
8
+ import "./poll-BkPMyRGr.mjs";
9
9
  import { z } from "zod";
10
10
 
11
11
  //#region src/commands/sync/stash.ts
@@ -1,8 +1,8 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { account, credentials, defineMetabaseCommand, outputFlags } from "./runtime-DR8NwmQU.mjs";
5
+ import { account, credentials, defineMetabaseCommand, outputFlags } from "./runtime-Dm9yLeT_.mjs";
6
6
  import { z } from "zod";
7
7
 
8
8
  //#region src/commands/license/status.ts
@@ -1,11 +1,11 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
6
- import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed } from "./poll-task-DdXgrDJf.mjs";
7
- import "./poll-CxWRi3iY.mjs";
8
- import { IsDirtyResult } from "./is-dirty-DgxNJz79.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
6
+ import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed } from "./poll-task-8OfFZFlk.mjs";
7
+ import "./poll-BkPMyRGr.mjs";
8
+ import { IsDirtyResult } from "./is-dirty-Bft_2Beg.mjs";
9
9
  import { z } from "zod";
10
10
 
11
11
  //#region src/commands/sync/status.ts
@@ -1,8 +1,8 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { account, credentials, defineMetabaseCommand, originOnly, outputFlags, profileFlag, resolveProfileName } from "./runtime-DR8NwmQU.mjs";
5
+ import { account, credentials, defineMetabaseCommand, originOnly, outputFlags, profileFlag, resolveProfileName } from "./runtime-Dm9yLeT_.mjs";
6
6
  import { z } from "zod";
7
7
 
8
8
  //#region src/commands/auth/status.ts
@@ -1,12 +1,12 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { defineMetabaseCommand, outputFlags } from "./runtime-DR8NwmQU.mjs";
6
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
7
- import "./poll-CxWRi3iY.mjs";
8
- import { checkDockerReady, containerLifecycleStatus, containerNameFor, stopContainer } from "./docker-D2GAMpHR.mjs";
9
- import { LocalWorkspaceState } from "./ps-BR36xoRT.mjs";
5
+ import { defineMetabaseCommand, outputFlags } from "./runtime-Dm9yLeT_.mjs";
6
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
7
+ import "./poll-BkPMyRGr.mjs";
8
+ import { checkDockerReady, containerLifecycleStatus, containerNameFor, stopContainer } from "./docker-JpSqfyrV.mjs";
9
+ import { LocalWorkspaceState } from "./ps-BtV5q-v0.mjs";
10
10
  import { z } from "zod";
11
11
 
12
12
  //#region src/commands/workspace/stop.ts
@@ -0,0 +1,26 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/sync/index.ts
4
+ var sync_default = defineCommand({
5
+ meta: {
6
+ name: "sync",
7
+ description: "Remote-sync operations (import, export, status, branches)"
8
+ },
9
+ subCommands: {
10
+ status: () => import("./status-CqwBiAEw.mjs").then((mod) => mod.default),
11
+ "is-dirty": () => import("./is-dirty-DfpvMy-Z.mjs").then((mod) => mod.default),
12
+ "has-remote-changes": () => import("./has-remote-changes-jcUyn4BL.mjs").then((mod) => mod.default),
13
+ dirty: () => import("./dirty-DGu-zGzj.mjs").then((mod) => mod.default),
14
+ "current-task": () => import("./current-task-BT63IEqN.mjs").then((mod) => mod.default),
15
+ "cancel-task": () => import("./cancel-task-DqdP2_8k.mjs").then((mod) => mod.default),
16
+ wait: () => import("./wait-GYWtN1mb.mjs").then((mod) => mod.default),
17
+ import: () => import("./import-DwxLbBqY.mjs").then((mod) => mod.default),
18
+ export: () => import("./export-CM4xVQtO.mjs").then((mod) => mod.default),
19
+ stash: () => import("./stash-DtwiEyLc.mjs").then((mod) => mod.default),
20
+ branches: () => import("./branches-CLNtwBB2.mjs").then((mod) => mod.default),
21
+ "create-branch": () => import("./create-branch-Di9ux42t.mjs").then((mod) => mod.default)
22
+ }
23
+ });
24
+
25
+ //#endregion
26
+ export { sync_default as default };
@@ -7,8 +7,8 @@ var table_default = defineCommand({
7
7
  description: "Inspect Metabase tables"
8
8
  },
9
9
  subCommands: {
10
- list: () => import("./list-bSb_Y5k9.mjs").then((m) => m.default),
11
- get: () => import("./get-gZ5sQoS9.mjs").then((m) => m.default)
10
+ list: () => import("./list-wflhJJRp.mjs").then((m) => m.default),
11
+ get: () => import("./get-C9hLsWZN.mjs").then((m) => m.default)
12
12
  }
13
13
  });
14
14
 
@@ -1,4 +1,4 @@
1
- import { Field } from "./field-D_g4xvH9.mjs";
1
+ import { Field } from "./field-uWPctJqU.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region src/domain/table.ts
@@ -0,0 +1,19 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/transform-job/index.ts
4
+ var transform_job_default = defineCommand({
5
+ meta: {
6
+ name: "transform-job",
7
+ description: "Manage Metabase transform jobs"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-C9__j3X6.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-BCftPMeY.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-cAHtZgGR.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-DeHlwttq.mjs").then((mod) => mod.default),
14
+ delete: () => import("./delete-C5R9Ovcn.mjs").then((mod) => mod.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { transform_job_default as default };
@@ -0,0 +1,21 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/transform/index.ts
4
+ var transform_default = defineCommand({
5
+ meta: {
6
+ name: "transform",
7
+ description: "Manage Metabase transforms"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-C4mEhTuI.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-B2gUIWWn.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-O5_huJxw.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-CAhzSUHT.mjs").then((mod) => mod.default),
14
+ delete: () => import("./delete-BOqKxL9h.mjs").then((mod) => mod.default),
15
+ "delete-table": () => import("./delete-table-CHwD8KMd.mjs").then((mod) => mod.default),
16
+ run: () => import("./run-CvcTc0Ij.mjs").then((mod) => mod.default)
17
+ }
18
+ });
19
+
20
+ //#endregion
21
+ export { transform_default as default };
@@ -1,10 +1,10 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import { ConfigError } from "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, parseCsv, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, parseCsv, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
9
  import { requireBothOrNeither } from "./flag-pair-Dz-mbq0z.mjs";
10
10
  import { z } from "zod";
@@ -0,0 +1,57 @@
1
+ import "./package-DHwFgisf.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
10
+ import { Card, CardUpdateInput, cardView } from "./card-BOGKT258.mjs";
11
+ import { preflightInternalMbql5Query, skipValidateFlag } from "./validate-query-D0aAFTUs.mjs";
12
+
13
+ //#region src/commands/card/update.ts
14
+ var update_default = defineMetabaseCommand({
15
+ meta: {
16
+ name: "update",
17
+ description: "Update a card by id; if dataset_query is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `metabase query` (see `metabase query --print-schema`)"
18
+ },
19
+ args: {
20
+ ...outputFlags,
21
+ ...profileFlag,
22
+ ...connectionFlags,
23
+ ...bodyInputFlags,
24
+ ...skipValidateFlag,
25
+ id: {
26
+ type: "positional",
27
+ description: "Card id",
28
+ required: true
29
+ }
30
+ },
31
+ outputSchema: Card,
32
+ examples: [
33
+ "cat patch.json | metabase card update 1",
34
+ "metabase card update 1 --file patch.json",
35
+ "metabase card update 1 --body '{\"name\":\"renamed\"}'",
36
+ "metabase card update 1 --body '{\"display\":\"bar\"}'",
37
+ "metabase card update 1 --body '{\"archived\":true}'",
38
+ "metabase card update 1 --file patch.json --skip-validate"
39
+ ],
40
+ async run({ args, ctx, getClient }) {
41
+ const id = parseId(args.id);
42
+ const body = await readBody({
43
+ flag: args.body,
44
+ file: args.file
45
+ }, CardUpdateInput);
46
+ preflightInternalMbql5Query(body.dataset_query, "card.dataset_query validation failed", { skip: args["skip-validate"] === true });
47
+ const client = await getClient();
48
+ const updated = await client.requestParsed(Card, `/api/card/${id}`, {
49
+ method: "PUT",
50
+ body
51
+ });
52
+ renderItem(updated, cardView, ctx);
53
+ }
54
+ });
55
+
56
+ //#endregion
57
+ export { update_default as default };
@@ -1,14 +1,14 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
10
- import { preflightInternalMbql5Query, skipValidateFlag } from "./validate-query-DE4UouY3.mjs";
11
- import { Transform, TransformUpdateInput, transformView } from "./transform-CRRW0mFp.mjs";
9
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
10
+ import { preflightInternalMbql5Query, skipValidateFlag } from "./validate-query-D0aAFTUs.mjs";
11
+ import { Transform, TransformUpdateInput, transformView } from "./transform-h405NiRC.mjs";
12
12
 
13
13
  //#region src/commands/transform/update.ts
14
14
  var update_default = defineMetabaseCommand({
@@ -1,13 +1,13 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
10
- import { TransformJob, TransformJobUpdateInput, transformJobView } from "./transform-job-BtCoVYsb.mjs";
9
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
10
+ import { TransformJob, TransformJobUpdateInput, transformJobView } from "./transform-job-oBa_OKqk.mjs";
11
11
 
12
12
  //#region src/commands/transform-job/update.ts
13
13
  var update_default = defineMetabaseCommand({
@@ -1,16 +1,16 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import { ConfigError } from "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, parseCsv, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, parseCsv, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
10
- import "./poll-CxWRi3iY.mjs";
11
- import { parseWaitFlags, waitFlags } from "./wait-flags-BIVgwvUI.mjs";
12
- import { Workspace, WorkspaceUpdateDatabaseInput, workspaceView } from "./workspace-C3tGVQ6_.mjs";
13
- import { waitForDatabaseProvisioned } from "./wait-DFI3pf6P.mjs";
9
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
10
+ import "./poll-BkPMyRGr.mjs";
11
+ import { parseWaitFlags, waitFlags } from "./wait-flags-DqDOwv0J.mjs";
12
+ import { Workspace, WorkspaceUpdateDatabaseInput, workspaceView } from "./workspace-PL1je3wr.mjs";
13
+ import { waitForDatabaseProvisioned } from "./wait-DR3UCWim.mjs";
14
14
 
15
15
  //#region src/commands/workspace/database/update.ts
16
16
  var update_default = defineMetabaseCommand({
@@ -1,13 +1,13 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import { ConfigError } from "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
10
- import { DashboardDetail, Dashcard, DashcardPatchInput, dashcardView } from "./dashboard-DVCLGg3X.mjs";
9
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
10
+ import { DashboardDetail, Dashcard, DashcardPatchInput, dashcardView } from "./dashboard-nYIzB6gy.mjs";
11
11
 
12
12
  //#region src/commands/dashboard/update-dashcard.ts
13
13
  var update_dashcard_default = defineMetabaseCommand({
@@ -1,13 +1,13 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import "./input-DkgCMNA9.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
7
- import { readBody } from "./body-qjVMvNjF.mjs";
5
+ import "./input-DMcm_A5s.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
7
+ import { readBody } from "./body-CGoWst5q.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
10
- import { DashboardDetail, DashboardUpdateInput, dashboardView } from "./dashboard-DVCLGg3X.mjs";
9
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
10
+ import { DashboardDetail, DashboardUpdateInput, dashboardView } from "./dashboard-nYIzB6gy.mjs";
11
11
 
12
12
  //#region src/commands/dashboard/update.ts
13
13
  var update_default = defineMetabaseCommand({
@@ -1,11 +1,11 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { defineMetabaseCommand, localUrl, outputFlags } from "./runtime-DR8NwmQU.mjs";
6
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
7
- import "./poll-CxWRi3iY.mjs";
8
- import { checkDockerReady, requireWorkspaceContainerLocation } from "./docker-D2GAMpHR.mjs";
5
+ import { defineMetabaseCommand, localUrl, outputFlags } from "./runtime-Dm9yLeT_.mjs";
6
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
7
+ import "./poll-BkPMyRGr.mjs";
8
+ import { checkDockerReady, requireWorkspaceContainerLocation } from "./docker-JpSqfyrV.mjs";
9
9
  import { z } from "zod";
10
10
 
11
11
  //#region src/commands/workspace/url.ts
@@ -1,4 +1,4 @@
1
- import { writeJson } from "./render-CZNR2MNK.mjs";
1
+ import { isPlainObject, writeJson } from "./render-BYWlZPEH.mjs";
2
2
  import { ConfigError } from "./errors-C6w1eZ1F.mjs";
3
3
  import { z } from "zod";
4
4
  import Ajv2020 from "ajv/dist/2020.js";
@@ -1455,12 +1455,15 @@ function runValidator(validator, value) {
1455
1455
  ok: true,
1456
1456
  errors: []
1457
1457
  };
1458
+ const refHints = collectRefShapeHints(value);
1458
1459
  const issues = validator.errors ?? [];
1459
1460
  const errors = issues.map((issue) => {
1460
1461
  if (issue.message === void 0) throw new Error(`Ajv issue at ${issue.instancePath} has no message`);
1462
+ const path = issue.instancePath === "" ? "/" : issue.instancePath;
1463
+ const enrichedMessage = refHints.get(path);
1461
1464
  return {
1462
- path: issue.instancePath === "" ? "/" : issue.instancePath,
1463
- message: issue.message
1465
+ path,
1466
+ message: enrichedMessage ?? issue.message
1464
1467
  };
1465
1468
  });
1466
1469
  return {
@@ -1468,6 +1471,40 @@ function runValidator(validator, value) {
1468
1471
  errors
1469
1472
  };
1470
1473
  }
1474
+ function collectRefShapeHints(root) {
1475
+ const hints = new Map();
1476
+ visit(root, "");
1477
+ return hints;
1478
+ function visit(node, path) {
1479
+ if (Array.isArray(node)) {
1480
+ const refMessage = refShapeMessage(node);
1481
+ if (refMessage !== null) hints.set(`${path}/2`, refMessage);
1482
+ for (let index = 0; index < node.length; index += 1) visit(node[index], `${path}/${index}`);
1483
+ return;
1484
+ }
1485
+ if (!isPlainObject(node)) return;
1486
+ for (const key of Object.keys(node)) {
1487
+ const segment = key.replace(/~/g, "~0").replace(/\//g, "~1");
1488
+ visit(node[key], `${path}/${segment}`);
1489
+ }
1490
+ }
1491
+ }
1492
+ function refShapeMessage(clause) {
1493
+ if (clause.length !== 3) return null;
1494
+ const kind = clause[0];
1495
+ if (typeof kind !== "string") return null;
1496
+ const hint = refHintForKind(kind);
1497
+ if (hint === null) return null;
1498
+ if (typeof clause[2] === "string") return null;
1499
+ return hint;
1500
+ }
1501
+ function refHintForKind(kind) {
1502
+ switch (kind) {
1503
+ case "aggregation": return "must be the target aggregation's lib/uuid (string), not a numeric position";
1504
+ case "expression": return "must be the target expression's name (string), not a numeric position";
1505
+ default: return null;
1506
+ }
1507
+ }
1471
1508
  function validateExternalQuery(value) {
1472
1509
  return runValidator(getExternalValidator(), value);
1473
1510
  }
@@ -1478,6 +1515,14 @@ function isMbql5Query(value) {
1478
1515
  if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
1479
1516
  return "lib/type" in value && value["lib/type"] === "mbql/query";
1480
1517
  }
1518
+ function isLegacyEnvelopeWrappingMbql5(value) {
1519
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
1520
+ if (!("type" in value) || value["type"] !== "query") return false;
1521
+ if (!("query" in value)) return false;
1522
+ const inner = value["query"];
1523
+ if (typeof inner !== "object" || inner === null || Array.isArray(inner)) return false;
1524
+ return "lib/type" in inner && inner["lib/type"] === "mbql/query";
1525
+ }
1481
1526
  const SchemaMode = z.enum(["external", "internal"]);
1482
1527
  const QuerySchemaBundle = z.object({
1483
1528
  mode: SchemaMode,
@@ -1510,6 +1555,7 @@ const skipValidateFlag = { "skip-validate": {
1510
1555
  } };
1511
1556
  function preflightInternalMbql5Query(query, contextLabel, options) {
1512
1557
  if (options.skip) return;
1558
+ if (isLegacyEnvelopeWrappingMbql5(query)) throw new ConfigError(`${contextLabel}: MBQL 5 query nested inside a legacy {type:"query", query:…} envelope. For MBQL 5, dataset_query is the mbql/query value itself: {"lib/type":"mbql/query", database:N, stages:[…]}.`);
1513
1559
  if (!isMbql5Query(query)) return;
1514
1560
  const outcome = validateInternalQuery(query);
1515
1561
  if (outcome.ok) return;
@@ -1,5 +1,5 @@
1
- import { pollUntil } from "./poll-CxWRi3iY.mjs";
2
- import { Workspace } from "./workspace-C3tGVQ6_.mjs";
1
+ import { pollUntil } from "./poll-BkPMyRGr.mjs";
2
+ import { Workspace } from "./workspace-PL1je3wr.mjs";
3
3
 
4
4
  //#region src/commands/workspace/database/wait.ts
5
5
  async function waitForDatabaseProvisioned(client, workspaceId, databaseId, schedule) {
@@ -1,11 +1,11 @@
1
- import "./package-CVNZnqz9.mjs";
1
+ import "./package-DHwFgisf.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-CZNR2MNK.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DR8NwmQU.mjs";
6
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
7
- import { SyncTaskOrIdle, pollSyncTask, syncTaskIdleView, syncTaskView, throwIfFailedTask } from "./poll-task-DdXgrDJf.mjs";
8
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-CxWRi3iY.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dm9yLeT_.mjs";
6
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
7
+ import { SyncTaskOrIdle, pollSyncTask, syncTaskIdleView, syncTaskView, throwIfFailedTask } from "./poll-task-8OfFZFlk.mjs";
8
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-BkPMyRGr.mjs";
9
9
 
10
10
  //#region src/commands/sync/wait.ts
11
11
  const WaitResult = SyncTaskOrIdle;
@@ -1,5 +1,5 @@
1
- import { parseId } from "./parse-id-YyyUbzvS.mjs";
2
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-CxWRi3iY.mjs";
1
+ import { parseId } from "./parse-id-BVuB-dYb.mjs";
2
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-BkPMyRGr.mjs";
3
3
 
4
4
  //#region src/commands/wait-flags.ts
5
5
  const waitFlags = {
@@ -0,0 +1,24 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/workspace/index.ts
4
+ var workspace_default = defineCommand({
5
+ meta: {
6
+ name: "workspace",
7
+ description: "Manage Metabase workspaces (workspace-manager)"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-WabdLE4S.mjs").then((mod) => mod.default),
11
+ create: () => import("./create-MW9yGet7.mjs").then((mod) => mod.default),
12
+ database: () => import("./database-Zcv6o9HD.mjs").then((mod) => mod.default),
13
+ start: () => import("./start-BlTG8xm9.mjs").then((mod) => mod.default),
14
+ stop: () => import("./stop-ap-ezh_7.mjs").then((mod) => mod.default),
15
+ remove: () => import("./remove-DRzzmp4L.mjs").then((mod) => mod.default),
16
+ logs: () => import("./logs-B-UEyFH2.mjs").then((mod) => mod.default),
17
+ url: () => import("./url-vVkeIPup.mjs").then((mod) => mod.default),
18
+ credentials: () => import("./credentials-CmfhxT15.mjs").then((mod) => mod.default),
19
+ ps: () => import("./ps-CA2yc6af.mjs").then((mod) => mod.default)
20
+ }
21
+ });
22
+
23
+ //#endregion
24
+ export { workspace_default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metabase/cli",
3
- "version": "0.1.0-alpha.workspaces-commands.9af92d7",
3
+ "version": "0.1.0-alpha.workspaces-commands.66774cc",
4
4
  "description": "Metabase CLI",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {