@metabase/cli 0.1.7 → 0.1.8-alpha.cleanup-workspaces.75fe1d5

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 (205) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/README.md +2 -224
  3. package/dist/add-collection-BGifL-7Y.mjs +10 -0
  4. package/dist/{add-collection-DQjTlDNF.mjs → add-collection-C5ijC4e-.mjs} +5 -5
  5. package/dist/{archive-De8jzzq7.mjs → archive-2GZVq0n2.mjs} +6 -7
  6. package/dist/{archive-DTN9tLGT.mjs → archive-C5pXDf6a.mjs} +5 -6
  7. package/dist/{archive-CBGKzEAl.mjs → archive-CTEybKPq.mjs} +5 -6
  8. package/dist/{archive-BXzghEQX.mjs → archive-DEtOH_jf.mjs} +6 -7
  9. package/dist/{archive-B3qiL-kK.mjs → archive-DTrn90If.mjs} +5 -6
  10. package/dist/{archive-CuVk8iwN.mjs → archive-nqKJOyOt.mjs} +6 -7
  11. package/dist/auth-Divr9vkY.mjs +19 -0
  12. package/dist/{body-tcURGnGh.mjs → body-BMyDvOjf.mjs} +2 -2
  13. package/dist/{branches-CIGkjXIk.mjs → branches-B7Zf-nxr.mjs} +5 -6
  14. package/dist/{cancel-pPsvgJ0Z.mjs → cancel-WwjcCE2R.mjs} +4 -5
  15. package/dist/{cancel-task-BLGE4UlL.mjs → cancel-task-E4cCeJTc.mjs} +5 -6
  16. package/dist/{render-0_GsapXa.mjs → capabilities-Dj3NgPHg.mjs} +28 -2
  17. package/dist/card-BHAcovSB.mjs +20 -0
  18. package/dist/{card-ezYiriML.mjs → card-BtPiKjbB.mjs} +1 -1
  19. package/dist/{cards-Dq3nx_9n.mjs → cards-BW0Spirk.mjs} +5 -6
  20. package/dist/cli.mjs +23 -24
  21. package/dist/collection-DZx-vWb2.mjs +20 -0
  22. package/dist/{create-BIphz0kO.mjs → create-BV_VpyyI.mjs} +10 -11
  23. package/dist/{create-w3mQg9n4.mjs → create-B_Ysb6Ex.mjs} +7 -8
  24. package/dist/{create-BcgoukG4.mjs → create-BgeD2GMZ.mjs} +9 -10
  25. package/dist/{create-DHscDhRd.mjs → create-Bxkik5Fs.mjs} +9 -10
  26. package/dist/{create-aPaUEGdr.mjs → create-CZfHpi_I.mjs} +7 -8
  27. package/dist/{create-BrUqxreg.mjs → create-CbwFOL9h.mjs} +7 -8
  28. package/dist/{create-9DBTkbMq.mjs → create-CbyY4xTG.mjs} +11 -12
  29. package/dist/{create-BdPoSk_7.mjs → create-HCCdsuZR.mjs} +9 -10
  30. package/dist/{create-branch-DGoc9CUU.mjs → create-branch-BNRq3tO2.mjs} +5 -6
  31. package/dist/{current-task-DZM28rnr.mjs → current-task-ZvTjL4hP.mjs} +5 -6
  32. package/dist/dashboard-DCWGcx3e.mjs +21 -0
  33. package/dist/{database-BXiue1in.mjs → database-_Td7rG4o.mjs} +1 -1
  34. package/dist/db-bD6fwLwc.mjs +22 -0
  35. package/dist/{delete-BPaFdHZP.mjs → delete-D5-ITH10.mjs} +6 -7
  36. package/dist/{delete-BrJOotpW.mjs → delete-DvmHTMwf.mjs} +6 -7
  37. package/dist/{delete-runtime-uuYbd4k2.mjs → delete-runtime-Bo7v-0au.mjs} +2 -2
  38. package/dist/{delete-table-CNupWUO0.mjs → delete-table-DjmO5Qe4.mjs} +6 -7
  39. package/dist/{dirty-BCkNOY8c.mjs → dirty-BJgU1SGQ.mjs} +5 -6
  40. package/dist/{eid-CLY5X0Uw.mjs → eid-pqSVgO2g.mjs} +6 -7
  41. package/dist/{error-ZsFeevV2.mjs → error-Br6irjpM.mjs} +1 -1
  42. package/dist/{export-CgHgWW3I.mjs → export-gVXTOxC2.mjs} +7 -8
  43. package/dist/field-BFWc8q2W.mjs +18 -0
  44. package/dist/{fields-RkRWU-u9.mjs → fields-DK2TYRK2.mjs} +6 -7
  45. package/dist/{get-y17zJMnU.mjs → get-BjArD6Er.mjs} +5 -6
  46. package/dist/{get-42tJ7BNp.mjs → get-C1RSXOhf.mjs} +5 -6
  47. package/dist/{get-C9O_aEGo.mjs → get-C3RI_hKG.mjs} +5 -6
  48. package/dist/{get-DmzgSgrl.mjs → get-C7UEEICF.mjs} +6 -7
  49. package/dist/{get-B9kwSs6U.mjs → get-D-3tOuWQ.mjs} +5 -6
  50. package/dist/{get-CvmqPN30.mjs → get-DDF7_apz.mjs} +5 -6
  51. package/dist/{get-B8l4t4Pz.mjs → get-DYgLtHb8.mjs} +5 -6
  52. package/dist/{get-sMpa-X4E.mjs → get-DnK3WGDH.mjs} +6 -7
  53. package/dist/{get-CTDqioaj.mjs → get-DnyZMx-0.mjs} +5 -6
  54. package/dist/{get-Bo4Cpd_c.mjs → get-DtG5ytvs.mjs} +5 -7
  55. package/dist/{get-CiZrZJLt.mjs → get-Dy4NedW5.mjs} +7 -8
  56. package/dist/{get-DsqGHNHN.mjs → get-_JI4GiPa.mjs} +5 -6
  57. package/dist/{get-run-CBwcRc8E.mjs → get-run-CZwIo5QR.mjs} +5 -6
  58. package/dist/{get-CRvbChoX.mjs → get-xo5_PD1n.mjs} +5 -6
  59. package/dist/git-sync-Ch00miSa.mjs +28 -0
  60. package/dist/{has-remote-changes-CfRidwXT.mjs → has-remote-changes-tuuoPdHV.mjs} +5 -6
  61. package/dist/{import-BZV0Z2KR.mjs → import-BOzyRPTk.mjs} +7 -8
  62. package/dist/{is-dirty-hKcB4OH9.mjs → is-dirty-BXN1F9yR.mjs} +4 -4
  63. package/dist/is-dirty-Bc1UHnBU.mjs +9 -0
  64. package/dist/{items-C94eW2Yd.mjs → items-CC4sSWv7.mjs} +7 -8
  65. package/dist/{list-BFlzLGlw.mjs → list-BUpOvQsd.mjs} +4 -5
  66. package/dist/{list-B0V7FeL2.mjs → list-BlMpI88r.mjs} +4 -6
  67. package/dist/{list-BJXaGk-z.mjs → list-BqTdYtOW.mjs} +4 -5
  68. package/dist/{list-CF1pMN4S.mjs → list-BvTuDJZp.mjs} +4 -5
  69. package/dist/{list-BS_Bxejg.mjs → list-C48ZZLM5.mjs} +6 -7
  70. package/dist/{list-DfDZr55C.mjs → list-CJe45jFT.mjs} +6 -7
  71. package/dist/{list-C-oZe1_p.mjs → list-CMoG5_mh.mjs} +5 -6
  72. package/dist/{list-BmHoYJr7.mjs → list-CkI3hESA.mjs} +4 -5
  73. package/dist/{list-DuSoEk_J.mjs → list-CybLzPZw.mjs} +6 -7
  74. package/dist/{list-HS15y_WN.mjs → list-DLhU81LP.mjs} +4 -5
  75. package/dist/{list-CU6sOfI-.mjs → list-Ddyb5T-7.mjs} +5 -6
  76. package/dist/{list-CqN4gvCk.mjs → list-tveV3LKh.mjs} +5 -6
  77. package/dist/{list-DrINpVLM.mjs → list-u7cmunGG.mjs} +4 -5
  78. package/dist/{login-enh9Yimb.mjs → login-Bfsf6jLq.mjs} +9 -10
  79. package/dist/{logout-BWLPLDh8.mjs → logout-BCsE_1Yg.mjs} +4 -5
  80. package/dist/{manifest-BNh0Lw6p.mjs → manifest-B_OfG-Ss.mjs} +1 -2
  81. package/dist/measure-D_eiCKq9.mjs +19 -0
  82. package/dist/{metadata-BTTEBWdS.mjs → metadata-Cbqx1-yW.mjs} +7 -8
  83. package/dist/{metadata-D2TxboMm.mjs → metadata-CzbGy4b-.mjs} +6 -7
  84. package/dist/{parse-id-0_tOPvfI.mjs → parse-id-DBwNYb4Y.mjs} +1 -1
  85. package/dist/{path-C8GrBdgT.mjs → path-DJ-DfUGC.mjs} +4 -6
  86. package/dist/{poll-4eoh5J0r.mjs → poll-DWkVceIk.mjs} +1 -1
  87. package/dist/{poll-task-51WRdugU.mjs → poll-task-DOvUDrgL.mjs} +2 -2
  88. package/dist/{preflight-BhsErYz3.mjs → preflight-D-l6sLCX.mjs} +3 -3
  89. package/dist/{query-DYVBnu9d.mjs → query--05TZxmk.mjs} +7 -8
  90. package/dist/{query-BBCAF-tG.mjs → query-BbbDpt3u.mjs} +11 -12
  91. package/dist/{query-result-ABPLz6I4.mjs → query-result-PoQE05Pe.mjs} +1 -1
  92. package/dist/{remove-collection-CBAHz0Dk.mjs → remove-collection-Dco3yXa-.mjs} +7 -8
  93. package/dist/{rescan-values-cfTSNQZo.mjs → rescan-values-B1vE6I62.mjs} +7 -8
  94. package/dist/{run-qgdEJv-I.mjs → run-CWb_yZbK.mjs} +7 -8
  95. package/dist/{runs-BFIIH4GL.mjs → runs-BLwEO5sW.mjs} +6 -7
  96. package/dist/{runtime-Duawf5lE.mjs → runtime-DKLBPRhd.mjs} +10 -77
  97. package/dist/{schema-tables-C2xM3dho.mjs → schema-tables-D1qE25GS.mjs} +6 -7
  98. package/dist/{schemas-BP7xiktH.mjs → schemas-CFuYnQDg.mjs} +4 -5
  99. package/dist/{search-DYP3lOlq.mjs → search-CF4A051Z.mjs} +4 -5
  100. package/dist/segment-BP_vDpYM.mjs +19 -0
  101. package/dist/{set-DpRQqdo7.mjs → set-BJ8Rs-vI.mjs} +7 -8
  102. package/dist/{setting-DUa96KF3.mjs → setting-EYI0HqTq.mjs} +3 -3
  103. package/dist/{setup-BPlllnim.mjs → setup-DI6EGOdH.mjs} +6 -7
  104. package/dist/{skills-BkregMyb.mjs → skills-BDPVoBWU.mjs} +33 -2
  105. package/dist/{skills-SqbPo0BI.mjs → skills-CRECMGAo.mjs} +3 -3
  106. package/dist/snippet-BwK58D1F.mjs +19 -0
  107. package/dist/{stash-C89zNKxo.mjs → stash-BpPS0uG8.mjs} +7 -8
  108. package/dist/{status-B1EJ_jv0.mjs → status-BqFA7Tqr.mjs} +6 -7
  109. package/dist/{status-BNvFPemM.mjs → status-CU5LYX0i.mjs} +4 -5
  110. package/dist/{summary-Cihbx0Qs.mjs → summary-CraRyIM_.mjs} +5 -6
  111. package/dist/{sync-schema-C3odu0ZH.mjs → sync-schema-DkfwPESH.mjs} +7 -8
  112. package/dist/table-CJMN6ql8.mjs +19 -0
  113. package/dist/{table-qDD2kApF.mjs → table-CkWja2UH.mjs} +1 -1
  114. package/dist/transform-BqV5ssDN.mjs +24 -0
  115. package/dist/transform-job-DvdOLV9b.mjs +19 -0
  116. package/dist/{tree-mvq9gM9w.mjs → tree-Bd1i-Y4U.mjs} +4 -5
  117. package/dist/{update-CbBnHz42.mjs → update-BLZHmA0X.mjs} +10 -11
  118. package/dist/{update-Rr4usmCo.mjs → update-BncGqeWt.mjs} +8 -9
  119. package/dist/{update-DwRxdflw.mjs → update-C4f-8fsU.mjs} +8 -9
  120. package/dist/{update-VvKMnwsM.mjs → update-CgpgyDjd.mjs} +10 -11
  121. package/dist/{update-DCrOQ1PW.mjs → update-CsYa--Eb.mjs} +11 -12
  122. package/dist/{update-BoIiuC70.mjs → update-DA9aPhRr.mjs} +10 -11
  123. package/dist/{update-CtOo3LsX.mjs → update-DtO-1_tj.mjs} +9 -10
  124. package/dist/{update-tRparnUs.mjs → update-IPsv9Pj0.mjs} +12 -13
  125. package/dist/{update-C0jP0AKT.mjs → update-OZoOTnlY.mjs} +8 -9
  126. package/dist/{update-dashcard-DFvIz8Qj.mjs → update-dashcard-D0VAwfNO.mjs} +8 -9
  127. package/dist/{upgrade-D-Rl_fH9.mjs → upgrade-Bb_q7hJ7.mjs} +34 -7
  128. package/dist/{uuid-BSVUk8u2.mjs → uuid-DTdRruiz.mjs} +3 -4
  129. package/dist/{validate-dPEOnOf8.mjs → validate-CqVB_3_p.mjs} +1 -1
  130. package/dist/{validate-query-CYvOP8Ld.mjs → validate-query-BUTNK00f.mjs} +2 -2
  131. package/dist/{values-D1RJE4H6.mjs → values-Bpt6obVW.mjs} +5 -6
  132. package/dist/{verify-A7BWfBPZ.mjs → verify-COt2q73-.mjs} +1 -1
  133. package/dist/{wait-DK5QDZ8n.mjs → wait-DoKPlspq.mjs} +6 -7
  134. package/dist/{wait-flags-DlfbIXHw.mjs → wait-flags-D1jNm0JK.mjs} +2 -2
  135. package/package.json +1 -1
  136. package/skill-data/core/SKILL.md +15 -28
  137. package/skill-data/git-sync/SKILL.md +8 -63
  138. package/skill-data/mbql/SKILL.md +2 -0
  139. package/skill-data/transform/SKILL.md +16 -6
  140. package/skill-data/visualization/SKILL.md +158 -0
  141. package/skill-data/visualization/references/settings.md +414 -0
  142. package/skills/metabase-cli/SKILL.md +1 -1
  143. package/dist/add-collection-C9BdVBs2.mjs +0 -11
  144. package/dist/auth-D9eAyVoG.mjs +0 -19
  145. package/dist/capabilities-7e9MgquN.mjs +0 -29
  146. package/dist/card-DDDrWcDU.mjs +0 -20
  147. package/dist/collection-DkEvCDar.mjs +0 -20
  148. package/dist/create-B1dyuL9Y.mjs +0 -54
  149. package/dist/credentials-qryRLUed.mjs +0 -88
  150. package/dist/dashboard-BLf1RZlk.mjs +0 -21
  151. package/dist/database-Ce1gOJF7.mjs +0 -17
  152. package/dist/db-CWTFe_FZ.mjs +0 -22
  153. package/dist/delete-FFj1xQWO.mjs +0 -104
  154. package/dist/deprovision-BNr9fPDY.mjs +0 -67
  155. package/dist/docker-Ds252Mwc.mjs +0 -515
  156. package/dist/field-LL6W_c-c.mjs +0 -18
  157. package/dist/git-sync-CrWTo3YX.mjs +0 -28
  158. package/dist/is-dirty-CPzOnnH6.mjs +0 -10
  159. package/dist/license-B37055sr.mjs +0 -17
  160. package/dist/list-DUXdt0XI.mjs +0 -36
  161. package/dist/logs-Cu3QtvPs.mjs +0 -60
  162. package/dist/measure-CDlEPFtB.mjs +0 -19
  163. package/dist/parse-schemas-D-qVLl4z.mjs +0 -12
  164. package/dist/process-CM7Uu5q_.mjs +0 -105
  165. package/dist/provision-Chf86BF0.mjs +0 -83
  166. package/dist/ps-CEYtsKBj.mjs +0 -80
  167. package/dist/ps-CIDwaubS.mjs +0 -11
  168. package/dist/remove-2yInufA6.mjs +0 -64
  169. package/dist/segment-B6HnNGDs.mjs +0 -19
  170. package/dist/set-Tt-ioa4L.mjs +0 -68
  171. package/dist/snippet-dJ68tGsl.mjs +0 -19
  172. package/dist/start-DJZA67WF.mjs +0 -414
  173. package/dist/status-D5wSqYV_.mjs +0 -34
  174. package/dist/stop-5rCLmkCQ.mjs +0 -87
  175. package/dist/table-J2f0STnB.mjs +0 -19
  176. package/dist/transform-job-OW4SDhsQ.mjs +0 -19
  177. package/dist/transform-q1LYWQtW.mjs +0 -24
  178. package/dist/update-DEZayTb4.mjs +0 -78
  179. package/dist/url-BB6jeNQj.mjs +0 -56
  180. package/dist/wait-B17I_pWy.mjs +0 -19
  181. package/dist/workspace-D8HtUN0y.mjs +0 -72
  182. package/dist/workspace-credentials-8CBMQJFz.mjs +0 -100
  183. package/dist/workspace-ri6r3zWo.mjs +0 -25
  184. package/dist/yaml-Gv6wRFMF.mjs +0 -43
  185. package/skill-data/viz/SKILL.md +0 -137
  186. package/skill-data/viz/references/settings.md +0 -312
  187. package/skill-data/workspace/SKILL.md +0 -390
  188. /package/dist/{body-flags-D7q87Btw.mjs → body-flags-D78h_-Ua.mjs} +0 -0
  189. /package/dist/{collection-Bcy8cWYH.mjs → collection-B3sPXRLs.mjs} +0 -0
  190. /package/dist/{dashboard-B4bn3z6t.mjs → dashboard-FY5UzJ_Z.mjs} +0 -0
  191. /package/dist/{field-E0IBy4Uw.mjs → field-MGxpNQUH.mjs} +0 -0
  192. /package/dist/{input-cMSEqISy.mjs → input-xewHccej.mjs} +0 -0
  193. /package/dist/{key-vkNkH82H.mjs → key-C2XG394c.mjs} +0 -0
  194. /package/dist/{measure-Bt3InQsA.mjs → measure-ClESGxIb.mjs} +0 -0
  195. /package/dist/{paginate-BexjkjbY.mjs → paginate-Dfm9eO9A.mjs} +0 -0
  196. /package/dist/{parse-enum-CrEWOhuY.mjs → parse-enum-Dr7ACrTR.mjs} +0 -0
  197. /package/dist/{parse-ref-DKag6a6I.mjs → parse-ref-BiETXmvm.mjs} +0 -0
  198. /package/dist/{prompt-CFKoys7k.mjs → prompt-u4WhE4T5.mjs} +0 -0
  199. /package/dist/{render-khznBlla.mjs → render-BQHJhSP1.mjs} +0 -0
  200. /package/dist/{revision-message-flag-DY29-cgz.mjs → revision-message-flag-WmsIzUOM.mjs} +0 -0
  201. /package/dist/{segment-DhBmcr_E.mjs → segment-Be2v4ilr.mjs} +0 -0
  202. /package/dist/{setting-BzCng1Ub.mjs → setting-oL97SNeO.mjs} +0 -0
  203. /package/dist/{snippet-bi_0XbNT.mjs → snippet-xh42tYly.mjs} +0 -0
  204. /package/dist/{transform-BKahefz_.mjs → transform-DyJb0bV0.mjs} +0 -0
  205. /package/dist/{transform-job-DjhoJbiV.mjs → transform-job-DpDGoqQt.mjs} +0 -0
@@ -1,88 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import { outputFlags } from "./error-ZsFeevV2.mjs";
3
- import { defineMetabaseCommand, localUrl, parseJson } from "./runtime-Duawf5lE.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderItem } from "./render-0_GsapXa.mjs";
6
- import { parseId } from "./parse-id-0_tOPvfI.mjs";
7
- import "./poll-4eoh5J0r.mjs";
8
- import "./yaml-Gv6wRFMF.mjs";
9
- import "./process-CM7Uu5q_.mjs";
10
- import { checkDockerReady, readContainerCredentialsFile, requireWorkspaceContainerLocation } from "./docker-Ds252Mwc.mjs";
11
- import { WorkspaceCredentials } from "./workspace-credentials-8CBMQJFz.mjs";
12
- import { z } from "zod";
13
-
14
- //#region src/commands/workspace/credentials.ts
15
- const WorkspaceCredentialsResult = z.object({
16
- workspace_id: z.number().int().positive(),
17
- url: z.string(),
18
- email: z.string(),
19
- password: z.string(),
20
- api_key_name: z.string(),
21
- api_key: z.string()
22
- });
23
- const credentialsView = {
24
- compactPick: WorkspaceCredentialsResult,
25
- tableColumns: [
26
- {
27
- key: "workspace_id",
28
- label: "ID"
29
- },
30
- {
31
- key: "url",
32
- label: "URL"
33
- },
34
- {
35
- key: "email",
36
- label: "Email"
37
- },
38
- {
39
- key: "password",
40
- label: "Password"
41
- },
42
- {
43
- key: "api_key_name",
44
- label: "API Key Name"
45
- },
46
- {
47
- key: "api_key",
48
- label: "API Key"
49
- }
50
- ]
51
- };
52
- const textDecoder = new TextDecoder("utf-8");
53
- var credentials_default = defineMetabaseCommand({
54
- meta: {
55
- name: "credentials",
56
- description: "Read the workspace child instance's admin credentials (email + password + API key) from the running container"
57
- },
58
- capabilities: null,
59
- args: {
60
- ...outputFlags,
61
- id: {
62
- type: "positional",
63
- description: "Workspace id",
64
- required: true
65
- }
66
- },
67
- outputSchema: WorkspaceCredentialsResult,
68
- examples: ["mb workspace credentials 1", "mb workspace credentials 1 --json"],
69
- async run({ args, ctx }) {
70
- const workspaceId = parseId(args.id);
71
- await checkDockerReady();
72
- const { containerName, hostPort } = await requireWorkspaceContainerLocation(workspaceId);
73
- const bytes = await readContainerCredentialsFile(workspaceId);
74
- const credentials = parseJson(textDecoder.decode(bytes), WorkspaceCredentials, { source: `${containerName}:credentials.json` });
75
- const result = {
76
- workspace_id: workspaceId,
77
- url: localUrl(hostPort),
78
- email: credentials.user.email,
79
- password: credentials.user.password,
80
- api_key_name: credentials.api_key.name,
81
- api_key: credentials.api_key.key
82
- };
83
- renderItem(result, credentialsView, ctx);
84
- }
85
- });
86
-
87
- //#endregion
88
- export { credentials_default as default };
@@ -1,21 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/dashboard/index.ts
4
- var dashboard_default = defineCommand({
5
- meta: {
6
- name: "dashboard",
7
- description: "Manage Metabase dashboards"
8
- },
9
- subCommands: {
10
- list: () => import("./list-CqN4gvCk.mjs").then((mod) => mod.default),
11
- get: () => import("./get-C9O_aEGo.mjs").then((mod) => mod.default),
12
- cards: () => import("./cards-Dq3nx_9n.mjs").then((mod) => mod.default),
13
- create: () => import("./create-9DBTkbMq.mjs").then((mod) => mod.default),
14
- update: () => import("./update-tRparnUs.mjs").then((mod) => mod.default),
15
- "update-dashcard": () => import("./update-dashcard-DFvIz8Qj.mjs").then((mod) => mod.default),
16
- archive: () => import("./archive-B3qiL-kK.mjs").then((mod) => mod.default)
17
- }
18
- });
19
-
20
- //#endregion
21
- export { dashboard_default as default };
@@ -1,17 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/workspace/database/index.ts
4
- var database_default = defineCommand({
5
- meta: {
6
- name: "database",
7
- description: "Manage databases provisioned to a workspace"
8
- },
9
- subCommands: {
10
- provision: () => import("./provision-Chf86BF0.mjs").then((mod) => mod.default),
11
- update: () => import("./update-DEZayTb4.mjs").then((mod) => mod.default),
12
- deprovision: () => import("./deprovision-BNr9fPDY.mjs").then((mod) => mod.default)
13
- }
14
- });
15
-
16
- //#endregion
17
- export { database_default as default };
@@ -1,22 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/db/index.ts
4
- var db_default = defineCommand({
5
- meta: {
6
- name: "db",
7
- description: "Inspect and sync Metabase databases",
8
- alias: "database"
9
- },
10
- subCommands: {
11
- list: () => import("./list-BS_Bxejg.mjs").then((m) => m.default),
12
- get: () => import("./get-CiZrZJLt.mjs").then((m) => m.default),
13
- metadata: () => import("./metadata-BTTEBWdS.mjs").then((m) => m.default),
14
- schemas: () => import("./schemas-BP7xiktH.mjs").then((m) => m.default),
15
- "schema-tables": () => import("./schema-tables-C2xM3dho.mjs").then((m) => m.default),
16
- "sync-schema": () => import("./sync-schema-C3odu0ZH.mjs").then((m) => m.default),
17
- "rescan-values": () => import("./rescan-values-cfTSNQZo.mjs").then((m) => m.default)
18
- }
19
- });
20
-
21
- //#endregion
22
- export { db_default as default };
@@ -1,104 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import { outputFlags } from "./error-ZsFeevV2.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderSummary } from "./render-0_GsapXa.mjs";
6
- import { promptConfirm } from "./prompt-CFKoys7k.mjs";
7
- import { parseId } from "./parse-id-0_tOPvfI.mjs";
8
- import "./poll-4eoh5J0r.mjs";
9
- import "./process-CM7Uu5q_.mjs";
10
- import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-Ds252Mwc.mjs";
11
- import { z } from "zod";
12
-
13
- //#region src/commands/workspace/delete.ts
14
- const DeleteResult = z.object({
15
- workspace_id: z.number().int().positive(),
16
- container_name: z.string(),
17
- volume_name: z.string(),
18
- removed_container: z.boolean(),
19
- removed_volume: z.boolean()
20
- });
21
- const deleteResultView = {
22
- compactPick: DeleteResult.pick({
23
- workspace_id: true,
24
- removed_container: true,
25
- removed_volume: true
26
- }).strip(),
27
- tableColumns: [
28
- {
29
- key: "workspace_id",
30
- label: "ID"
31
- },
32
- {
33
- key: "container_name",
34
- label: "Container"
35
- },
36
- {
37
- key: "volume_name",
38
- label: "Volume"
39
- },
40
- {
41
- key: "removed_container",
42
- label: "Removed Container"
43
- },
44
- {
45
- key: "removed_volume",
46
- label: "Removed Volume"
47
- }
48
- ]
49
- };
50
- var delete_default = defineMetabaseCommand({
51
- meta: {
52
- name: "delete",
53
- description: "Stop and remove the local container + app-db volume (does not affect remote)"
54
- },
55
- capabilities: null,
56
- args: {
57
- ...outputFlags,
58
- id: {
59
- type: "positional",
60
- description: "Workspace id",
61
- required: true
62
- },
63
- "keep-volume": {
64
- type: "boolean",
65
- description: "Keep the workspace's app-db volume (faster restart, app-db survives)",
66
- default: false
67
- },
68
- yes: {
69
- type: "boolean",
70
- description: "Skip the confirmation prompt",
71
- default: false
72
- }
73
- },
74
- outputSchema: DeleteResult,
75
- examples: ["mb workspace delete 1 --yes", "mb workspace delete 1 --keep-volume --yes"],
76
- async run({ args, ctx }) {
77
- const workspaceId = parseId(args.id);
78
- const containerName = containerNameFor(workspaceId);
79
- const volumeName = volumeNameFor(workspaceId);
80
- const shouldRemoveVolume = args["keep-volume"] !== true;
81
- await checkDockerReady();
82
- if (!args.yes && process.stdin.isTTY === true) {
83
- const confirmed = await promptConfirm({ message: shouldRemoveVolume ? `Remove container ${containerName} and its app-db volume ${volumeName}?` : `Remove container ${containerName}? (volume ${volumeName} will be kept)` });
84
- if (!confirmed) return;
85
- }
86
- const removedContainer = await removeContainer(containerName);
87
- const removedVolume = shouldRemoveVolume ? await removeVolume(volumeName) : false;
88
- const result = {
89
- workspace_id: workspaceId,
90
- container_name: containerName,
91
- volume_name: volumeName,
92
- removed_container: removedContainer,
93
- removed_volume: removedVolume
94
- };
95
- let message;
96
- if (!result.removed_container) message = `No container found for workspace ${workspaceId} — nothing to remove.`;
97
- else if (result.removed_volume) message = `Removed workspace ${workspaceId}: container ${containerName} and app-db volume ${volumeName}.`;
98
- else message = `Removed workspace ${workspaceId}: container ${containerName} (volume ${volumeName} kept).`;
99
- renderSummary(result, deleteResultView, message, ctx);
100
- }
101
- });
102
-
103
- //#endregion
104
- export { delete_default as default };
@@ -1,67 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
3
- import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import "./render-0_GsapXa.mjs";
6
- import "./prompt-CFKoys7k.mjs";
7
- import { parseId } from "./parse-id-0_tOPvfI.mjs";
8
- import "./poll-4eoh5J0r.mjs";
9
- import { parseWaitFlags, waitFlags } from "./wait-flags-DlfbIXHw.mjs";
10
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-uuYbd4k2.mjs";
11
- import "./workspace-D8HtUN0y.mjs";
12
- import { waitForDatabaseGone } from "./wait-B17I_pWy.mjs";
13
-
14
- //#region src/commands/workspace/database/deprovision.ts
15
- var deprovision_default = defineMetabaseCommand({
16
- meta: {
17
- name: "deprovision",
18
- description: "Deprovision a database from a workspace"
19
- },
20
- capabilities: {
21
- minVersion: 62,
22
- tokenFeature: "workspaces"
23
- },
24
- args: {
25
- ...outputFlags,
26
- ...profileFlag,
27
- ...connectionFlags,
28
- ...waitFlags,
29
- yes: {
30
- type: "boolean",
31
- description: "Skip confirmation",
32
- default: false
33
- },
34
- id: {
35
- type: "positional",
36
- description: "Workspace id",
37
- required: true
38
- },
39
- "db-id": {
40
- type: "positional",
41
- description: "Database id",
42
- required: true
43
- }
44
- },
45
- outputSchema: DeleteResult,
46
- examples: ["mb workspace database deprovision 1 5 --yes", "mb workspace database deprovision 1 5 --yes --wait"],
47
- async run({ args, ctx, getClient }) {
48
- const workspaceId = parseId(args.id);
49
- const databaseId = parseId(args["db-id"], "db-id");
50
- const wait = parseWaitFlags(args);
51
- const client = await getClient();
52
- await confirmAndDelete({
53
- id: databaseId,
54
- path: `/api/ee/workspace-manager/${workspaceId}/database/${databaseId}`,
55
- yes: args.yes,
56
- promptMessage: `Deprovision database ${databaseId} from workspace ${workspaceId}?`,
57
- successMessage: `Deprovisioned database ${databaseId} from workspace ${workspaceId}.`,
58
- abortMessage: `Aborted; database ${databaseId} was not deprovisioned.`,
59
- client,
60
- ctx,
61
- ...wait.enabled ? { afterDelete: () => waitForDatabaseGone(client, workspaceId, databaseId, wait.schedule) } : {}
62
- });
63
- }
64
- });
65
-
66
- //#endregion
67
- export { deprovision_default as default };