@metabase/cli 0.1.8 → 0.1.10

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 (215) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/README.md +89 -236
  3. package/dist/add-collection-D9wXgmRj.mjs +10 -0
  4. package/dist/{add-collection-CwrbKmC1.mjs → add-collection-DUqTrC5T.mjs} +5 -5
  5. package/dist/{archive-DqUtqRut.mjs → archive-0krZxAXq.mjs} +5 -6
  6. package/dist/{archive-ZnnJc2iT.mjs → archive-44EWiXud.mjs} +6 -7
  7. package/dist/{archive-BpKZsGAm.mjs → archive-B59Y7ajB.mjs} +6 -7
  8. package/dist/{archive-BO3DOWI4.mjs → archive-BEIyIsin.mjs} +5 -6
  9. package/dist/{archive-BzvqQd34.mjs → archive-BZfpjMir.mjs} +5 -6
  10. package/dist/{archive-BAjGIzhn.mjs → archive-DtE2H4A6.mjs} +6 -7
  11. package/dist/archive-_GMNY8wH.mjs +39 -0
  12. package/dist/auth-cFC5m69m.mjs +19 -0
  13. package/dist/{body-DDYKoyMt.mjs → body-BdRyuvU4.mjs} +2 -2
  14. package/dist/{branches-DjiGsjAz.mjs → branches-Jpv-FNds.mjs} +5 -6
  15. package/dist/{cancel-BwtDQ2MR.mjs → cancel-ChC4lFd4.mjs} +4 -5
  16. package/dist/{cancel-task-uJp18RvR.mjs → cancel-task-DyhIkNaL.mjs} +5 -6
  17. package/dist/{render-0_GsapXa.mjs → capabilities-7L9GVMd_.mjs} +45 -4
  18. package/dist/card-ClvGX6dQ.mjs +20 -0
  19. package/dist/{card-ezYiriML.mjs → card-DnIeMmUn.mjs} +18 -2
  20. package/dist/{cards-z68PANDD.mjs → cards-O-nKkQKP.mjs} +5 -6
  21. package/dist/cli.mjs +24 -34
  22. package/dist/{collection-Bcy8cWYH.mjs → collection-BPTlcFw5.mjs} +8 -2
  23. package/dist/collection-DjvowSJC.mjs +20 -0
  24. package/dist/collection-namespace-7724zUMx.mjs +12 -0
  25. package/dist/{create-BzK59YlR.mjs → create-B4f4Pldw.mjs} +11 -12
  26. package/dist/{create-4EAGYVyp.mjs → create-BbF9zVFP.mjs} +12 -10
  27. package/dist/{create-Dd_Gyg_F.mjs → create-BnFHcnlL.mjs} +7 -8
  28. package/dist/{create-GVfCQU3B.mjs → create-BuKx7kw6.mjs} +7 -8
  29. package/dist/{create-CQ4Vg4Ge.mjs → create-BxRsXQrm.mjs} +9 -10
  30. package/dist/{create-7JOWFxqu.mjs → create-CvYKJOcE.mjs} +10 -11
  31. package/dist/create-D45uFXlo.mjs +44 -0
  32. package/dist/create-DS52EhPd.mjs +52 -0
  33. package/dist/{create-DHWfmO2L.mjs → create-DeZ2x2Db.mjs} +9 -10
  34. package/dist/{create-branch-CdWGiREu.mjs → create-branch-KOWUIE72.mjs} +5 -6
  35. package/dist/{current-task-nPs-iCLi.mjs → current-task-ClcWPPMc.mjs} +5 -6
  36. package/dist/dashboard-BFeURTOw.mjs +21 -0
  37. package/dist/{database-BXiue1in.mjs → database-Dsv4QBs0.mjs} +20 -10
  38. package/dist/db-CSH1kwQr.mjs +22 -0
  39. package/dist/{delete-CJqLgr6w.mjs → delete-CX2VUA5R.mjs} +6 -7
  40. package/dist/{delete-Do1agSiL.mjs → delete-D68oS73R.mjs} +6 -7
  41. package/dist/{delete-runtime-uuYbd4k2.mjs → delete-runtime-CjFc69tS.mjs} +2 -2
  42. package/dist/{delete-table-ZiJDpMFT.mjs → delete-table-DLvL9mDA.mjs} +6 -7
  43. package/dist/{dirty-BnTG7w7v.mjs → dirty-1OrXpc7E.mjs} +5 -6
  44. package/dist/document-CcfiiV3b.mjs +100 -0
  45. package/dist/document-KdT_Xj6r.mjs +19 -0
  46. package/dist/{eid-CwQ_smOD.mjs → eid-CzLhHZMW.mjs} +6 -7
  47. package/dist/{error-CTVL5CdB.mjs → error-BWXBhqLW.mjs} +1 -1
  48. package/dist/{export-DR2cC4rL.mjs → export-B5z8w-xo.mjs} +7 -8
  49. package/dist/field-CTFnZI8G.mjs +18 -0
  50. package/dist/{fields-Ck31lDz9.mjs → fields-sC7pzmPX.mjs} +6 -7
  51. package/dist/{get-pO0wiy1e.mjs → get-4GEDd9YN.mjs} +5 -6
  52. package/dist/get-BC60bhel.mjs +36 -0
  53. package/dist/{get-CyG_P55z.mjs → get-BYw3xS0X.mjs} +6 -7
  54. package/dist/{get-C71ypFQk.mjs → get-Bo1FGyFs.mjs} +5 -6
  55. package/dist/{get-BNKsNCcx.mjs → get-ByZ4HR2T.mjs} +5 -6
  56. package/dist/{get-DxqzDKKK.mjs → get-C6n86-dS.mjs} +5 -6
  57. package/dist/{get-DyArILlF.mjs → get-CHb6J908.mjs} +5 -6
  58. package/dist/{get-F338MOK-.mjs → get-DLwb_gUh.mjs} +5 -6
  59. package/dist/{get-CICzGFSW.mjs → get-DTHLETau.mjs} +6 -7
  60. package/dist/{get-BFJ3VBPa.mjs → get-Dl62Fy6Y.mjs} +5 -6
  61. package/dist/{get-BZiu-u-9.mjs → get-Fn9WkNhS.mjs} +7 -8
  62. package/dist/{get-GWRprk7k.mjs → get-ZesERdyk.mjs} +5 -7
  63. package/dist/{get-BPOd0Rm8.mjs → get-lcX52Skc.mjs} +5 -6
  64. package/dist/{get-DauAF3sm.mjs → get-reSMTfQi.mjs} +5 -6
  65. package/dist/{get-run-DhM_PyVy.mjs → get-run-CpCbHJad.mjs} +5 -6
  66. package/dist/git-sync-C2vib8rx.mjs +28 -0
  67. package/dist/{has-remote-changes-Ca0exJmb.mjs → has-remote-changes-CPz_-uxd.mjs} +5 -6
  68. package/dist/{import-DjclIzGP.mjs → import-DaWgprK6.mjs} +7 -8
  69. package/dist/is-dirty-Bb0Rtj7x.mjs +9 -0
  70. package/dist/{is-dirty-Cke0a1ie.mjs → is-dirty-DZlI7lQx.mjs} +4 -4
  71. package/dist/{items-BSpapmCU.mjs → items-hgbRYsYD.mjs} +7 -8
  72. package/dist/{list-BI1PfPjn.mjs → list-36H-dvJZ.mjs} +5 -6
  73. package/dist/list-B9J3ujwn.mjs +32 -0
  74. package/dist/{list-BRXGDSMo.mjs → list-BGerkRHH.mjs} +5 -6
  75. package/dist/{list-CEE9yKNp.mjs → list-BWv5y307.mjs} +4 -5
  76. package/dist/{list-V5IuMr_5.mjs → list-BgHESP7b.mjs} +4 -5
  77. package/dist/{list-DWWGcUTg.mjs → list-CCZnH2-Z.mjs} +5 -7
  78. package/dist/{list-Fjjtpghb.mjs → list-CGdOC9zX.mjs} +6 -7
  79. package/dist/{list-DmO4ADQq.mjs → list-CKeVS1IZ.mjs} +4 -5
  80. package/dist/{list-D1qhCQn0.mjs → list-Cd2nOCAx.mjs} +6 -7
  81. package/dist/{list-fIV-P6wP.mjs → list-D9EuxFHO.mjs} +4 -5
  82. package/dist/{list-Br77Mw6U.mjs → list-DBlsRSpZ.mjs} +5 -6
  83. package/dist/{list-bVlCwg8g.mjs → list-DO8T-nmF.mjs} +4 -5
  84. package/dist/{list-Brt4oKO7.mjs → list-DOVX3vCb.mjs} +6 -7
  85. package/dist/{list-DUyWON1F.mjs → list-kath_2cX.mjs} +4 -5
  86. package/dist/{login-BJGhZLgZ.mjs → login-BzrAGJfu.mjs} +9 -10
  87. package/dist/{logout-BAGLqtnV.mjs → logout-CKBiltoS.mjs} +4 -5
  88. package/dist/{manifest-BNh0Lw6p.mjs → manifest-BPHqF5LY.mjs} +1 -2
  89. package/dist/measure-Dw1QpRZa.mjs +19 -0
  90. package/dist/{metadata-B-GOcWqL.mjs → metadata-BcGcUEVJ.mjs} +6 -7
  91. package/dist/{metadata-DJAdsOoh.mjs → metadata-BjOrKtnv.mjs} +7 -8
  92. package/dist/{parse-id-D1LTTt9L.mjs → parse-id--iVTCKSo.mjs} +1 -1
  93. package/dist/{path-D5kX-msX.mjs → path-LgGU6Bd0.mjs} +4 -6
  94. package/dist/{poll-DxpnK1wW.mjs → poll-BucRFJT-.mjs} +1 -1
  95. package/dist/{poll-task-D8mG49IN.mjs → poll-task-DTzKB3T3.mjs} +2 -2
  96. package/dist/{preflight-Df_FqJ6o.mjs → preflight-CzqVX0PP.mjs} +3 -3
  97. package/dist/{query-zWFRDH3T.mjs → query-BVZkK6Qk.mjs} +7 -8
  98. package/dist/{query-OIuumiXN.mjs → query-DG_jygDF.mjs} +11 -12
  99. package/dist/{query-result-ABPLz6I4.mjs → query-result-B4kTRid7.mjs} +1 -1
  100. package/dist/{remove-collection-BxmiXWKz.mjs → remove-collection-HdeAfLyi.mjs} +7 -8
  101. package/dist/{rescan-values-M7g81KIl.mjs → rescan-values-hWubCruZ.mjs} +8 -11
  102. package/dist/run-C1-lDmQF.mjs +136 -0
  103. package/dist/{runs-CqfJIuh_.mjs → runs-Q6DYQyqj.mjs} +6 -7
  104. package/dist/{runtime-B40L_bj8.mjs → runtime-colqvhLf.mjs} +11 -78
  105. package/dist/{schema-tables-CjBRF0_0.mjs → schema-tables-BEastV_8.mjs} +6 -7
  106. package/dist/{schemas-GIIbek2O.mjs → schemas-CgawwI_k.mjs} +4 -5
  107. package/dist/{search-h78uOYec.mjs → search-BWo7xSPP.mjs} +4 -5
  108. package/dist/segment-DMuYvFjg.mjs +19 -0
  109. package/dist/{set-BRDxcLcQ.mjs → set-7Nm2ZTb_.mjs} +7 -8
  110. package/dist/{setting-mKzZJpQY.mjs → setting-DSGXJehQ.mjs} +3 -3
  111. package/dist/{setup-WTIT2WbM.mjs → setup-aJLGLrIT.mjs} +6 -7
  112. package/dist/{skills-BkregMyb.mjs → skills-CY_FmaPo.mjs} +33 -2
  113. package/dist/skills-Q2AFsYvc.mjs +18 -0
  114. package/dist/snippet-Df2TrP7-.mjs +19 -0
  115. package/dist/{stash-DxoAJzcK.mjs → stash-DPQ0c-Cd.mjs} +7 -8
  116. package/dist/{status-B1dc3bbQ.mjs → status-CvAATvV0.mjs} +4 -5
  117. package/dist/{status-D0Ukfodl.mjs → status-CvKPrV5X.mjs} +6 -7
  118. package/dist/{summary-3qOMUcEX.mjs → summary-CeOnoOq2.mjs} +5 -6
  119. package/dist/sync-schema-aOPBc3CY.mjs +55 -0
  120. package/dist/{table-qDD2kApF.mjs → table-CkWja2UH.mjs} +1 -1
  121. package/dist/table-pK4OkVtL.mjs +19 -0
  122. package/dist/{transform-BKahefz_.mjs → transform--dviwMA1.mjs} +1 -0
  123. package/dist/transform-D60veFH8.mjs +24 -0
  124. package/dist/transform-job-DXt5LsrY.mjs +19 -0
  125. package/dist/{tree-DsnIPFyE.mjs → tree-MOQOBeAP.mjs} +4 -5
  126. package/dist/update-57uxZWcR.mjs +52 -0
  127. package/dist/{update-CLsqoEJ8.mjs → update-B6mg3AZD.mjs} +8 -9
  128. package/dist/{update-CZEd_Eej.mjs → update-BD9xkglP.mjs} +9 -10
  129. package/dist/{update-BEtl9LpG.mjs → update-BRrnfG0q.mjs} +8 -9
  130. package/dist/{update-DPouQi4U.mjs → update-BWyCK8QV.mjs} +13 -11
  131. package/dist/{update-DWn-nLPo.mjs → update-Bj9s0ri8.mjs} +8 -9
  132. package/dist/{update-BsgHRoZ8.mjs → update-BkMWBzvk.mjs} +11 -12
  133. package/dist/{update-Baya6OkO.mjs → update-CitS-QRN.mjs} +12 -13
  134. package/dist/{update-BRLcnSwK.mjs → update-DfNKr_vS.mjs} +10 -11
  135. package/dist/{update-UaPqSfPN.mjs → update-Dri4Zg2H.mjs} +10 -11
  136. package/dist/{update-dashcard-DK9X91ha.mjs → update-dashcard-D_-ura3Y.mjs} +8 -9
  137. package/dist/{upgrade-UqdvTikR.mjs → upgrade-CFkZ4USY.mjs} +34 -7
  138. package/dist/{uuid-BWCaWG4O.mjs → uuid-DpinhSxA.mjs} +3 -4
  139. package/dist/{validate-dPEOnOf8.mjs → validate-B62TRDGV.mjs} +1 -1
  140. package/dist/{validate-query-CYvOP8Ld.mjs → validate-query-BpiN1CFu.mjs} +2 -2
  141. package/dist/{values-D_wycrcr.mjs → values-BSS4DRxk.mjs} +5 -6
  142. package/dist/{verify-D7hb6VMy.mjs → verify-B_A7v8TY.mjs} +1 -1
  143. package/dist/{wait-B5IpNFCG.mjs → wait-D3iSnjMM.mjs} +6 -7
  144. package/dist/{wait-flags-CNIeSq0_.mjs → wait-flags-_LnHOeBA.mjs} +2 -2
  145. package/package.json +1 -1
  146. package/skill-data/core/SKILL.md +19 -32
  147. package/skill-data/document/SKILL.md +162 -0
  148. package/skill-data/git-sync/SKILL.md +8 -63
  149. package/skill-data/mbql/SKILL.md +95 -28
  150. package/skill-data/mbql/references/operators.md +13 -13
  151. package/skill-data/transform/SKILL.md +18 -7
  152. package/skills/metabase-cli/SKILL.md +1 -1
  153. package/dist/add-collection-DxtuNxeP.mjs +0 -11
  154. package/dist/auth-B9B4pUaH.mjs +0 -19
  155. package/dist/capabilities-7e9MgquN.mjs +0 -29
  156. package/dist/card-D54unw6r.mjs +0 -20
  157. package/dist/collection-B5kIKRTL.mjs +0 -20
  158. package/dist/create-6XE7GYxk.mjs +0 -45
  159. package/dist/create-C8gA-XP2.mjs +0 -54
  160. package/dist/credentials-CFA9iGZG.mjs +0 -88
  161. package/dist/dashboard-lw6IFfOs.mjs +0 -21
  162. package/dist/database-BPT6BrmF.mjs +0 -17
  163. package/dist/db-CBCj8sBg.mjs +0 -22
  164. package/dist/delete-CiV6f69N.mjs +0 -104
  165. package/dist/deprovision-C-qEnh-P.mjs +0 -67
  166. package/dist/docker-B-QQWThD.mjs +0 -515
  167. package/dist/field-DJmQ2pul.mjs +0 -18
  168. package/dist/git-sync-rmjYOGFK.mjs +0 -28
  169. package/dist/is-dirty-DFGgGLDi.mjs +0 -10
  170. package/dist/license-j0tDQLKI.mjs +0 -17
  171. package/dist/list-evetBTcH.mjs +0 -36
  172. package/dist/logs-jx5b_YDk.mjs +0 -60
  173. package/dist/measure-BfgxqewH.mjs +0 -19
  174. package/dist/parse-schemas-DDK9nXuh.mjs +0 -12
  175. package/dist/process-CM7Uu5q_.mjs +0 -105
  176. package/dist/provision-BJd6zO1D.mjs +0 -83
  177. package/dist/ps-CpyHEvv7.mjs +0 -11
  178. package/dist/ps-dEqRGeB3.mjs +0 -80
  179. package/dist/remove-BNQ1c6hB.mjs +0 -64
  180. package/dist/run-DTsx8bLb.mjs +0 -96
  181. package/dist/segment-CoElN2b-.mjs +0 -19
  182. package/dist/set-Dclba9xF.mjs +0 -68
  183. package/dist/skills-tMYd5d9v.mjs +0 -18
  184. package/dist/snippet-B84H3tfp.mjs +0 -19
  185. package/dist/start-B7ByBicB.mjs +0 -414
  186. package/dist/status-DAzD1Cn_.mjs +0 -34
  187. package/dist/stop-Cvexagxh.mjs +0 -87
  188. package/dist/sync-schema-CrmVX1cy.mjs +0 -44
  189. package/dist/table-B0fRQv91.mjs +0 -19
  190. package/dist/transform-K_kp6Rdm.mjs +0 -24
  191. package/dist/transform-job-CuNN8zgv.mjs +0 -19
  192. package/dist/update-hiJdbbsb.mjs +0 -78
  193. package/dist/url-LMJZRDv4.mjs +0 -56
  194. package/dist/wait-DHjXk3jD.mjs +0 -19
  195. package/dist/workspace-Bt8n3ojY.mjs +0 -25
  196. package/dist/workspace-D8HtUN0y.mjs +0 -72
  197. package/dist/workspace-credentials-8CBMQJFz.mjs +0 -100
  198. package/dist/yaml-Gv6wRFMF.mjs +0 -43
  199. package/skill-data/workspace/SKILL.md +0 -390
  200. /package/dist/{body-flags-D7q87Btw.mjs → body-flags-D78h_-Ua.mjs} +0 -0
  201. /package/dist/{dashboard-B4bn3z6t.mjs → dashboard-FY5UzJ_Z.mjs} +0 -0
  202. /package/dist/{field-E0IBy4Uw.mjs → field-MGxpNQUH.mjs} +0 -0
  203. /package/dist/{input-cMSEqISy.mjs → input-xewHccej.mjs} +0 -0
  204. /package/dist/{key-vkNkH82H.mjs → key-y4TtxKwU.mjs} +0 -0
  205. /package/dist/{measure-Bt3InQsA.mjs → measure-COGAoZpo.mjs} +0 -0
  206. /package/dist/{paginate-BexjkjbY.mjs → paginate-Dfm9eO9A.mjs} +0 -0
  207. /package/dist/{parse-enum-CrEWOhuY.mjs → parse-enum-Dr7ACrTR.mjs} +0 -0
  208. /package/dist/{parse-ref-DKag6a6I.mjs → parse-ref-BiETXmvm.mjs} +0 -0
  209. /package/dist/{prompt-CFKoys7k.mjs → prompt-u4WhE4T5.mjs} +0 -0
  210. /package/dist/{render-khznBlla.mjs → render-BQHJhSP1.mjs} +0 -0
  211. /package/dist/{revision-message-flag-DY29-cgz.mjs → revision-message-flag-Bo-Kvv6F.mjs} +0 -0
  212. /package/dist/{segment-DhBmcr_E.mjs → segment-d-708KKO.mjs} +0 -0
  213. /package/dist/{setting-BzCng1Ub.mjs → setting-CSJvi1-6.mjs} +0 -0
  214. /package/dist/{snippet-bi_0XbNT.mjs → snippet-BZvo05ua.mjs} +0 -0
  215. /package/dist/{transform-job-DjhoJbiV.mjs → transform-job-n8W6tLqF.mjs} +0 -0
@@ -1,45 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderSummary } from "./render-0_GsapXa.mjs";
6
- import "./input-cMSEqISy.mjs";
7
- import { readBody } from "./body-DDYKoyMt.mjs";
8
- import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
9
- import { Collection, CollectionCreateInput, collectionView } from "./collection-Bcy8cWYH.mjs";
10
-
11
- //#region src/commands/collection/create.ts
12
- var create_default = defineMetabaseCommand({
13
- meta: {
14
- name: "create",
15
- description: "Create a collection from a JSON spec"
16
- },
17
- capabilities: { minVersion: 58 },
18
- args: {
19
- ...outputFlags,
20
- ...profileFlag,
21
- ...connectionFlags,
22
- ...bodyInputFlags
23
- },
24
- outputSchema: Collection,
25
- examples: [
26
- "cat collection.json | mb collection create",
27
- "mb collection create --file collection.json",
28
- "mb collection create --body '{\"name\":\"My Collection\",\"parent_id\":4}'"
29
- ],
30
- async run({ args, ctx, getClient }) {
31
- const body = await readBody({
32
- flag: args.body,
33
- file: args.file
34
- }, CollectionCreateInput);
35
- const client = await getClient();
36
- const created = await client.requestParsed(Collection, "/api/collection", {
37
- method: "POST",
38
- body
39
- });
40
- renderSummary(created, collectionView, `Created collection ${created.id} "${created.name}".`, ctx);
41
- }
42
- });
43
-
44
- //#endregion
45
- export { create_default as default };
@@ -1,54 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderSummary } from "./render-0_GsapXa.mjs";
6
- import "./input-cMSEqISy.mjs";
7
- import { readBody } from "./body-DDYKoyMt.mjs";
8
- import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
9
- import { Workspace, WorkspaceCreateInput, workspaceView } from "./workspace-D8HtUN0y.mjs";
10
-
11
- //#region src/commands/workspace/create.ts
12
- var create_default = defineMetabaseCommand({
13
- meta: {
14
- name: "create",
15
- description: "Create a workspace"
16
- },
17
- capabilities: {
18
- minVersion: 62,
19
- tokenFeature: "workspaces"
20
- },
21
- args: {
22
- ...outputFlags,
23
- ...profileFlag,
24
- ...connectionFlags,
25
- ...bodyInputFlags,
26
- name: {
27
- type: "string",
28
- description: "Workspace name (alternative to --body / --file)"
29
- }
30
- },
31
- outputSchema: Workspace,
32
- examples: [
33
- "mb workspace create --name \"analytics\"",
34
- "echo '{\"name\":\"analytics\"}' | mb workspace create",
35
- "mb workspace create --file workspace.json"
36
- ],
37
- async run({ args, ctx, getClient }) {
38
- const body = args.name !== void 0 && args.name !== "" ? WorkspaceCreateInput.parse({ name: args.name }) : await readBody({
39
- flag: args.body,
40
- file: args.file
41
- }, WorkspaceCreateInput);
42
- const client = await getClient();
43
- const created = await client.requestParsed(Workspace, "/api/ee/workspace-manager", {
44
- method: "POST",
45
- body
46
- });
47
- const hasDatabases = (created.databases ?? []).length > 0;
48
- const hint = hasDatabases ? "" : " No databases yet — run `mb workspace database provision`.";
49
- renderSummary(created, workspaceView, `Created workspace ${created.id} "${created.name}".${hint}`, ctx);
50
- }
51
- });
52
-
53
- //#endregion
54
- export { create_default as default };
@@ -1,88 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import { outputFlags } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand, localUrl, parseJson } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderItem } from "./render-0_GsapXa.mjs";
6
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
7
- import "./poll-DxpnK1wW.mjs";
8
- import "./yaml-Gv6wRFMF.mjs";
9
- import "./process-CM7Uu5q_.mjs";
10
- import { checkDockerReady, readContainerCredentialsFile, requireWorkspaceContainerLocation } from "./docker-B-QQWThD.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-Br77Mw6U.mjs").then((mod) => mod.default),
11
- get: () => import("./get-BNKsNCcx.mjs").then((mod) => mod.default),
12
- cards: () => import("./cards-z68PANDD.mjs").then((mod) => mod.default),
13
- create: () => import("./create-BzK59YlR.mjs").then((mod) => mod.default),
14
- update: () => import("./update-Baya6OkO.mjs").then((mod) => mod.default),
15
- "update-dashcard": () => import("./update-dashcard-DK9X91ha.mjs").then((mod) => mod.default),
16
- archive: () => import("./archive-DqUtqRut.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-BJd6zO1D.mjs").then((mod) => mod.default),
11
- update: () => import("./update-hiJdbbsb.mjs").then((mod) => mod.default),
12
- deprovision: () => import("./deprovision-C-qEnh-P.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-D1qhCQn0.mjs").then((m) => m.default),
12
- get: () => import("./get-BZiu-u-9.mjs").then((m) => m.default),
13
- metadata: () => import("./metadata-DJAdsOoh.mjs").then((m) => m.default),
14
- schemas: () => import("./schemas-GIIbek2O.mjs").then((m) => m.default),
15
- "schema-tables": () => import("./schema-tables-CjBRF0_0.mjs").then((m) => m.default),
16
- "sync-schema": () => import("./sync-schema-CrmVX1cy.mjs").then((m) => m.default),
17
- "rescan-values": () => import("./rescan-values-M7g81KIl.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-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.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-D1LTTt9L.mjs";
8
- import "./poll-DxpnK1wW.mjs";
9
- import "./process-CM7Uu5q_.mjs";
10
- import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-B-QQWThD.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-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import "./render-0_GsapXa.mjs";
6
- import "./prompt-CFKoys7k.mjs";
7
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
8
- import "./poll-DxpnK1wW.mjs";
9
- import { parseWaitFlags, waitFlags } from "./wait-flags-CNIeSq0_.mjs";
10
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-uuYbd4k2.mjs";
11
- import "./workspace-D8HtUN0y.mjs";
12
- import { waitForDatabaseGone } from "./wait-DHjXk3jD.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 };