@metabase/cli 0.1.0-alpha.workspaces-commands.a3b3a5f → 0.1.0-alpha.workspaces-commands.68d980f

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 (170) hide show
  1. package/README.md +381 -2
  2. package/dist/{add-collection-Ck8F8rfI.mjs → add-collection-Cu4B6KXG.mjs} +3 -3
  3. package/dist/{add-collection-CTwAZIZX.mjs → add-collection-DGV1rqqR.mjs} +6 -6
  4. package/dist/{api-key-BfgphcIw.mjs → api-key-6_Q5e_K0.mjs} +1 -1
  5. package/dist/archive-Bpf0QvqP.mjs +39 -0
  6. package/dist/archive-C2ziJ31w.mjs +44 -0
  7. package/dist/{archive-Bh8wMjxT.mjs → archive-CYgtaA_I.mjs} +3 -3
  8. package/dist/archive-DHjG2vSi.mjs +44 -0
  9. package/dist/auth-BaMPV-un.mjs +19 -0
  10. package/dist/{body-CZVc1-lx.mjs → body-BAdJj5HJ.mjs} +1 -1
  11. package/dist/{branches-BxkxOnfI.mjs → branches-DkwkHvgF.mjs} +4 -4
  12. package/dist/cancel-UgDP_AM-.mjs +56 -0
  13. package/dist/{cancel-task-DgbDOIBj.mjs → cancel-task-DCV5l_rj.mjs} +4 -4
  14. package/dist/card-DI78jgjG.mjs +20 -0
  15. package/dist/{cards-Ci1cFff8.mjs → cards-BXYJMHYy.mjs} +4 -4
  16. package/dist/cli.mjs +23 -20
  17. package/dist/collection-BcMoZLX0.mjs +19 -0
  18. package/dist/{create-Da762ktf.mjs → create-BLwyolnm.mjs} +4 -4
  19. package/dist/{create-Bvk8II_k.mjs → create-BUcIJ1nk.mjs} +4 -4
  20. package/dist/{create-C9pjkU_P.mjs → create-D4_iBwTY.mjs} +3 -3
  21. package/dist/create-D9CEUvL3.mjs +40 -0
  22. package/dist/create-D9zWWm9b.mjs +44 -0
  23. package/dist/{create-DWrrFHC-.mjs → create-DCAvWcNL.mjs} +4 -4
  24. package/dist/{create-DKkn1Lyh.mjs → create-DCEuLMff.mjs} +4 -4
  25. package/dist/create-RneHGLFF.mjs +40 -0
  26. package/dist/{create-branch-tOClZPwN.mjs → create-branch-BfSrjGld.mjs} +4 -4
  27. package/dist/{create-nh6nXg71.mjs → create-n7yxR6s2.mjs} +3 -3
  28. package/dist/{create-dwPoKGVA.mjs → create-yiHTy9qd.mjs} +4 -4
  29. package/dist/{credentials-BNtGhrLA.mjs → credentials-BnX6KoeQ.mjs} +6 -6
  30. package/dist/{current-task-DqAxfixg.mjs → current-task-C60CWYop.mjs} +4 -4
  31. package/dist/dashboard-B8zj0bZS.mjs +20 -0
  32. package/dist/{database-COJdZf-Q.mjs → database-BkSdTiyB.mjs} +3 -3
  33. package/dist/database-GbK7OAPX.mjs +51 -0
  34. package/dist/db-DG-1rI_O.mjs +22 -0
  35. package/dist/{delete-Dys9TjAC.mjs → delete-D39mHiYu.mjs} +4 -4
  36. package/dist/{delete-CPt8lsAb.mjs → delete-nxO9ND-q.mjs} +4 -4
  37. package/dist/{delete-table-CpstZKiT.mjs → delete-table-Dk1C3x9k.mjs} +4 -4
  38. package/dist/{deprovision-BUwyKwUk.mjs → deprovision-CCokm00M.mjs} +8 -8
  39. package/dist/{dirty-DFICkq0n.mjs → dirty-Da9uKlQp.mjs} +4 -4
  40. package/dist/{docker-DLdy5ail.mjs → docker-En_jqSVW.mjs} +2 -2
  41. package/dist/{eid-CdVllbSH.mjs → eid-BQx_tnuC.mjs} +1 -1
  42. package/dist/{export-B64M106G.mjs → export-PQ84ihYr.mjs} +5 -5
  43. package/dist/field-BakUM_Le.mjs +142 -0
  44. package/dist/field-CE-2zFaL.mjs +18 -0
  45. package/dist/fields-BhN1M2TD.mjs +38 -0
  46. package/dist/{get-BCezh5OQ.mjs → get-BifK1SP6.mjs} +3 -3
  47. package/dist/{get-CJXfc3kx.mjs → get-CAYdsSX4.mjs} +4 -4
  48. package/dist/{get-COG6MmwR.mjs → get-CScnOuJ-.mjs} +4 -4
  49. package/dist/{get-CZG4xlat.mjs → get-CaRX225l.mjs} +2 -2
  50. package/dist/get-CbwJfVx1.mjs +36 -0
  51. package/dist/get-CtsZA_BB.mjs +36 -0
  52. package/dist/{get-D3HUYbpw.mjs → get-D64v79fP.mjs} +4 -4
  53. package/dist/get-D6dlsNBD.mjs +49 -0
  54. package/dist/{get-CDijTiom.mjs → get-DM2UkeKJ.mjs} +4 -4
  55. package/dist/{get-BxUYdg4n.mjs → get-DQ0lm-Dx.mjs} +4 -4
  56. package/dist/{get-DJC-mrw8.mjs → get-Dopinaxx.mjs} +7 -7
  57. package/dist/get-DpFyct1X.mjs +36 -0
  58. package/dist/get-run-DpjKXCww.mjs +36 -0
  59. package/dist/{has-remote-changes-CYYZTZBY.mjs → has-remote-changes-BgbCIv30.mjs} +4 -4
  60. package/dist/{import-DF2of9wH.mjs → import-BRC4SYRj.mjs} +5 -5
  61. package/dist/{is-dirty-Un88eXXt.mjs → is-dirty-BduCa9nf.mjs} +2 -2
  62. package/dist/is-dirty-hMK61S1s.mjs +10 -0
  63. package/dist/{items-N_CzelCi.mjs → items-NE7Z-vuw.mjs} +4 -50
  64. package/dist/{license-sxjee9oP.mjs → license-MWU4vLvD.mjs} +3 -3
  65. package/dist/{list-C09pCgov.mjs → list--EFsidRC.mjs} +5 -5
  66. package/dist/{list-HYHuLdci.mjs → list-BB9IsaT4.mjs} +2 -2
  67. package/dist/{list-20u4leMj.mjs → list-BMFbKnG1.mjs} +3 -3
  68. package/dist/list-BPC7KqBQ.mjs +32 -0
  69. package/dist/list-B_XtS5VX.mjs +40 -0
  70. package/dist/{list-CGwBTGMW.mjs → list-Bgt_qxRd.mjs} +28 -7
  71. package/dist/list-C-ucaNmG.mjs +32 -0
  72. package/dist/{list-CrKfUerD.mjs → list-C1wNHDPl.mjs} +2 -2
  73. package/dist/{list-CkzHOMtE.mjs → list-CR1Dkcbk.mjs} +3 -3
  74. package/dist/{list-BuNa0fZI.mjs → list-D6KnlTOp.mjs} +3 -3
  75. package/dist/{list-C_yKP2-c.mjs → list-DeNHJECx.mjs} +3 -3
  76. package/dist/{list-BSiAMxrA.mjs → list-_4_qW2nQ.mjs} +2 -2
  77. package/dist/{list-CuGEV_Qx.mjs → list-jHGjjZdC.mjs} +3 -3
  78. package/dist/{login-DD9SPbq9.mjs → login-B30jvHfe.mjs} +2 -2
  79. package/dist/{logout-aC-vTsuI.mjs → logout-bWublBcN.mjs} +2 -2
  80. package/dist/{logs-D4WcMOIr.mjs → logs-DsiDIT90.mjs} +5 -5
  81. package/dist/measure-B1GKcZxO.mjs +67 -0
  82. package/dist/measure-Bc9tjbVl.mjs +19 -0
  83. package/dist/metadata-DCFEJsKY.mjs +37 -0
  84. package/dist/{get-Ck2PTv-d.mjs → metadata-DCVxSKX7.mjs} +13 -11
  85. package/dist/{package-CkA529J7.mjs → package-Be4_p9f8.mjs} +1 -1
  86. package/dist/paginate-CnTxzOh2.mjs +49 -0
  87. package/dist/{parse-id-CcKdsH0O.mjs → parse-id-DKRTKFB2.mjs} +1 -1
  88. package/dist/parse-schemas-CtMwPgZe.mjs +12 -0
  89. package/dist/{poll-BIIpvP2F.mjs → poll-BXEPgd4X.mjs} +1 -1
  90. package/dist/{poll-task-CdsDGOTW.mjs → poll-task-UMS6aAza.mjs} +2 -2
  91. package/dist/{provision-scSEhq2K.mjs → provision-BDtZZK84.mjs} +12 -16
  92. package/dist/{ps-BgfTwWJa.mjs → ps-DcKt1oHS.mjs} +2 -2
  93. package/dist/{ps-CsZyR9iu.mjs → ps-iON5iNUT.mjs} +5 -5
  94. package/dist/{query-zzJ7K7nz.mjs → query-7qZ7dWnE.mjs} +3 -3
  95. package/dist/{query-Cv9WxWrI.mjs → query-DtD0dc_V.mjs} +3 -3
  96. package/dist/{remove-D9Tc4Dx8.mjs → remove-D194SUD-.mjs} +5 -5
  97. package/dist/{remove-BaTxkjUl.mjs → remove-UWzVKtfF.mjs} +2 -2
  98. package/dist/{remove-collection-Bt70a7hs.mjs → remove-collection-BUwKxMsH.mjs} +6 -6
  99. package/dist/rescan-values-zYxt5WcO.mjs +43 -0
  100. package/dist/revision-message-flag-BJiGjb5m.mjs +11 -0
  101. package/dist/{run-DIX5vK-5.mjs → run-DwYkAZHU.mjs} +10 -10
  102. package/dist/runs-CeHd9FOO.mjs +54 -0
  103. package/dist/{runtime-DFoza8Mg.mjs → runtime-Dlk-yyFO.mjs} +1 -1
  104. package/dist/schema-tables-LZG9R38V.mjs +45 -0
  105. package/dist/schemas-ZC7JrOKM.mjs +47 -0
  106. package/dist/{search-Y_x03m2m.mjs → search-StdHjR5q.mjs} +3 -3
  107. package/dist/segment-BVM0WSM7.mjs +19 -0
  108. package/dist/segment-CQ5w3M_W.mjs +70 -0
  109. package/dist/{set-D_0O8rTO.mjs → set-CgDS1Feo.mjs} +5 -5
  110. package/dist/{set-CE0vjKd5.mjs → set-Ey8zuk9j.mjs} +2 -2
  111. package/dist/{setting-Bz8l6Eak.mjs → setting-D4mR5WMp.mjs} +3 -3
  112. package/dist/{setup-DHEvJzOO.mjs → setup-DKRzEM6a.mjs} +3 -3
  113. package/dist/snippet-BO-gCn0H.mjs +19 -0
  114. package/dist/snippet-DRTklDg3.mjs +64 -0
  115. package/dist/{start-DoanhLP0.mjs → start-15kcQYwC.mjs} +7 -7
  116. package/dist/{stash-Cpec6IQq.mjs → stash-CQkpgkAr.mjs} +5 -5
  117. package/dist/{status-BdQk2otc.mjs → status-BmYxYGZE.mjs} +5 -5
  118. package/dist/{status-Ci368pIi.mjs → status-D0LTLSrI.mjs} +2 -2
  119. package/dist/{status-D80Gk_aQ.mjs → status-Dg0qSJtP.mjs} +2 -2
  120. package/dist/{stop-ChzTIRoM.mjs → stop-B9M_LliY.mjs} +6 -6
  121. package/dist/summary-CSGteNEX.mjs +41 -0
  122. package/dist/sync-_BtDG63a.mjs +28 -0
  123. package/dist/sync-schema-BjGQtnol.mjs +43 -0
  124. package/dist/table-C0N9hfqm.mjs +19 -0
  125. package/dist/{table-DimNUJtH.mjs → table-DhB2_Dxd.mjs} +21 -4
  126. package/dist/{transform-DRDHuulD.mjs → transform-92odFxg-.mjs} +45 -3
  127. package/dist/transform-BycLORsG.mjs +24 -0
  128. package/dist/transform-job-B_SvpPfl.mjs +19 -0
  129. package/dist/{translate-CL3KFzKP.mjs → translate-DRajJsf0.mjs} +3 -3
  130. package/dist/{tree-Hqmw922o.mjs → tree-eunCOx9U.mjs} +2 -2
  131. package/dist/update-6BC1K7uY.mjs +51 -0
  132. package/dist/{update-CqxAOcCk.mjs → update-B0bpqs4y.mjs} +4 -4
  133. package/dist/update-BJk9pfiv.mjs +52 -0
  134. package/dist/{update--8dVz3Kc.mjs → update-Bhfzszoc.mjs} +5 -5
  135. package/dist/update-BprFaiqH.mjs +51 -0
  136. package/dist/{update-BsbAZYit.mjs → update-C-i8drfb.mjs} +5 -5
  137. package/dist/{update-CecK4BPY.mjs → update-CSsRBrV5.mjs} +12 -16
  138. package/dist/{update-CBonxnMk.mjs → update-CkrxPRXK.mjs} +5 -5
  139. package/dist/update-D14Sl_IP.mjs +51 -0
  140. package/dist/update-D1mHRo8M.mjs +52 -0
  141. package/dist/{update-dashcard-CrkkLo0u.mjs → update-dashcard-I13krLAG.mjs} +5 -5
  142. package/dist/{url-DvLmyClQ.mjs → url-CRyx47hL.mjs} +5 -5
  143. package/dist/values-BhYRwEvd.mjs +36 -0
  144. package/dist/{wait-DRQ4bYeS.mjs → wait-Dx7gfA8G.mjs} +2 -2
  145. package/dist/{wait-CYN0Q85L.mjs → wait-dqZ8MsDQ.mjs} +5 -5
  146. package/dist/{wait-flags-DhQSVQfa.mjs → wait-flags-Czo_9Q__.mjs} +2 -2
  147. package/dist/{workspace-D1rBvWkD.mjs → workspace-D93cDL8-.mjs} +15 -5
  148. package/dist/workspace-eQ2gxKYO.mjs +24 -0
  149. package/package.json +1 -1
  150. package/dist/auth-cjFae1zW.mjs +0 -19
  151. package/dist/card-y9UYZfLR.mjs +0 -20
  152. package/dist/collection-CcC7wUma.mjs +0 -19
  153. package/dist/dashboard-BlPgitFE.mjs +0 -20
  154. package/dist/database-C5LkxQ5G.mjs +0 -33
  155. package/dist/db-DakWTs11.mjs +0 -17
  156. package/dist/field-Bye6f5p9.mjs +0 -13
  157. package/dist/field-C1ai7Y05.mjs +0 -76
  158. package/dist/is-dirty-UxGvM54J.mjs +0 -10
  159. package/dist/sync-BR86Eo1a.mjs +0 -28
  160. package/dist/table-CQr9uggH.mjs +0 -16
  161. package/dist/transform-D4gUfCiT.mjs +0 -21
  162. package/dist/transform-job-DDNg556V.mjs +0 -19
  163. package/dist/workspace-CidyQImS.mjs +0 -24
  164. /package/dist/{dashboard-BJXi1tGr.mjs → dashboard-C7MhcBfX.mjs} +0 -0
  165. /package/dist/{delete-runtime-Dx4ONQaO.mjs → delete-runtime-DCc3Hie4.mjs} +0 -0
  166. /package/dist/{key-CS6durfH.mjs → key-CjpAYsPz.mjs} +0 -0
  167. /package/dist/{manifest-C7lnUosz.mjs → manifest-CdAV6-YB.mjs} +0 -0
  168. /package/dist/{setting-DEHSnsEV.mjs → setting-DIXJ2haa.mjs} +0 -0
  169. /package/dist/{transform-job-BqYZMjf5.mjs → transform-job-DgApCViL.mjs} +0 -0
  170. /package/dist/{workspace-credentials-CC_99x9r.mjs → workspace-credentials-D_ivv5vy.mjs} +0 -0
@@ -0,0 +1,52 @@
1
+ import "./package-Be4_p9f8.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-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import { Snippet, SnippetUpdateInput, snippetView } from "./snippet-DRTklDg3.mjs";
11
+
12
+ //#region src/commands/snippet/update.ts
13
+ var update_default = defineMetabaseCommand({
14
+ meta: {
15
+ name: "update",
16
+ description: "Update a native query snippet by id"
17
+ },
18
+ args: {
19
+ ...outputFlags,
20
+ ...profileFlag,
21
+ ...connectionFlags,
22
+ ...bodyInputFlags,
23
+ id: {
24
+ type: "positional",
25
+ description: "Snippet id",
26
+ required: true
27
+ }
28
+ },
29
+ outputSchema: Snippet,
30
+ examples: [
31
+ "cat patch.json | metabase snippet update 1",
32
+ "metabase snippet update 1 --file patch.json",
33
+ "metabase snippet update 1 --body '{\"name\":\"renamed\"}'",
34
+ "metabase snippet update 1 --body '{\"archived\":true}'"
35
+ ],
36
+ async run({ args, ctx, getClient }) {
37
+ const id = parseId(args.id);
38
+ const body = await readBody({
39
+ flag: args.body,
40
+ file: args.file
41
+ }, SnippetUpdateInput);
42
+ const client = await getClient();
43
+ const updated = await client.requestParsed(Snippet, `/api/native-query-snippet/${id}`, {
44
+ method: "PUT",
45
+ body
46
+ });
47
+ renderItem(updated, snippetView, ctx);
48
+ }
49
+ });
50
+
51
+ //#endregion
52
+ export { update_default as default };
@@ -1,13 +1,13 @@
1
- import "./package-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
5
  import "./input-DMcm_A5s.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DFoza8Mg.mjs";
7
- import { readBody } from "./body-CZVc1-lx.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
10
- import { DashboardDetail, DashboardUpdateInput, dashboardView } from "./dashboard-BJXi1tGr.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import { DashboardDetail, DashboardUpdateInput, dashboardView } from "./dashboard-C7MhcBfX.mjs";
11
11
 
12
12
  //#region src/commands/dashboard/update.ts
13
13
  var update_default = defineMetabaseCommand({
@@ -0,0 +1,51 @@
1
+ import "./package-Be4_p9f8.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-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import { Measure, MeasureUpdateInput, measureView } from "./measure-B1GKcZxO.mjs";
11
+
12
+ //#region src/commands/measure/update.ts
13
+ var update_default = defineMetabaseCommand({
14
+ meta: {
15
+ name: "update",
16
+ description: "Update a measure by id; body must include revision_message (audit-logged with the change)"
17
+ },
18
+ args: {
19
+ ...outputFlags,
20
+ ...profileFlag,
21
+ ...connectionFlags,
22
+ ...bodyInputFlags,
23
+ id: {
24
+ type: "positional",
25
+ description: "Measure id",
26
+ required: true
27
+ }
28
+ },
29
+ outputSchema: Measure,
30
+ examples: [
31
+ "cat patch.json | metabase measure update 1",
32
+ "metabase measure update 1 --file patch.json",
33
+ "metabase measure update 1 --body '{\"name\":\"renamed\",\"revision_message\":\"rename\"}'"
34
+ ],
35
+ async run({ args, ctx, getClient }) {
36
+ const id = parseId(args.id);
37
+ const body = await readBody({
38
+ flag: args.body,
39
+ file: args.file
40
+ }, MeasureUpdateInput);
41
+ const client = await getClient();
42
+ const updated = await client.requestParsed(Measure, `/api/measure/${id}`, {
43
+ method: "PUT",
44
+ body
45
+ });
46
+ renderItem(updated, measureView, ctx);
47
+ }
48
+ });
49
+
50
+ //#endregion
51
+ export { update_default as default };
@@ -1,13 +1,13 @@
1
- import "./package-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
5
  import "./input-DMcm_A5s.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DFoza8Mg.mjs";
7
- import { readBody } from "./body-CZVc1-lx.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
10
- import { TransformJob, TransformJobUpdateInput, transformJobView } from "./transform-job-BqYZMjf5.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import { TransformJob, TransformJobUpdateInput, transformJobView } from "./transform-job-DgApCViL.mjs";
11
11
 
12
12
  //#region src/commands/transform-job/update.ts
13
13
  var update_default = defineMetabaseCommand({
@@ -1,16 +1,17 @@
1
- import "./package-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
- import { ConfigError } from "./errors-C6w1eZ1F.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
5
  import "./input-DMcm_A5s.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, parseCsv, profileFlag } from "./runtime-DFoza8Mg.mjs";
7
- import { readBody } from "./body-CZVc1-lx.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
10
- import "./poll-BIIpvP2F.mjs";
11
- import { parseWaitFlags, waitFlags } from "./wait-flags-DhQSVQfa.mjs";
12
- import { Workspace, WorkspaceUpdateDatabaseInput, workspaceView } from "./workspace-D1rBvWkD.mjs";
13
- import { waitForDatabaseProvisioned } from "./wait-DRQ4bYeS.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import "./poll-BXEPgd4X.mjs";
11
+ import { parseWaitFlags, waitFlags } from "./wait-flags-Czo_9Q__.mjs";
12
+ import { Workspace, WorkspaceUpdateDatabaseInput, workspaceView } from "./workspace-D93cDL8-.mjs";
13
+ import { waitForDatabaseProvisioned } from "./wait-Dx7gfA8G.mjs";
14
+ import { parseSchemasCsv } from "./parse-schemas-CtMwPgZe.mjs";
14
15
 
15
16
  //#region src/commands/workspace/database/update.ts
16
17
  var update_default = defineMetabaseCommand({
@@ -52,8 +53,8 @@ var update_default = defineMetabaseCommand({
52
53
  const wait = parseWaitFlags(args);
53
54
  let body;
54
55
  if (schemasFlag !== void 0 && schemasFlag !== "") {
55
- const schemas = parseSchemas(schemasFlag);
56
- body = WorkspaceUpdateDatabaseInput.parse({ input_schemas: schemas });
56
+ const input = parseSchemasCsv(schemasFlag);
57
+ body = WorkspaceUpdateDatabaseInput.parse({ input });
57
58
  } else body = await readBody({
58
59
  flag: args.body,
59
60
  file: args.file
@@ -67,11 +68,6 @@ var update_default = defineMetabaseCommand({
67
68
  renderItem(final, workspaceView, ctx);
68
69
  }
69
70
  });
70
- function parseSchemas(raw) {
71
- const parts = parseCsv(raw);
72
- if (parts.length === 0) throw new ConfigError("--schemas must contain at least one schema name");
73
- return parts;
74
- }
75
71
 
76
72
  //#endregion
77
73
  export { update_default as default };
@@ -1,14 +1,14 @@
1
- import "./package-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
5
  import "./input-DMcm_A5s.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DFoza8Mg.mjs";
7
- import { readBody } from "./body-CZVc1-lx.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
10
  import { preflightInternalMbql5Query, skipValidateFlag } from "./validate-query-D0aAFTUs.mjs";
11
- import { Transform, TransformUpdateInput, transformView } from "./transform-DRDHuulD.mjs";
11
+ import { Transform, TransformUpdateInput, transformView } from "./transform-92odFxg-.mjs";
12
12
 
13
13
  //#region src/commands/transform/update.ts
14
14
  var update_default = defineMetabaseCommand({
@@ -0,0 +1,51 @@
1
+ import "./package-Be4_p9f8.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-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import { Segment, SegmentUpdateInput, segmentView } from "./segment-CQ5w3M_W.mjs";
11
+
12
+ //#region src/commands/segment/update.ts
13
+ var update_default = defineMetabaseCommand({
14
+ meta: {
15
+ name: "update",
16
+ description: "Update a segment by id; body must include revision_message (audit-logged with the change)"
17
+ },
18
+ args: {
19
+ ...outputFlags,
20
+ ...profileFlag,
21
+ ...connectionFlags,
22
+ ...bodyInputFlags,
23
+ id: {
24
+ type: "positional",
25
+ description: "Segment id",
26
+ required: true
27
+ }
28
+ },
29
+ outputSchema: Segment,
30
+ examples: [
31
+ "cat patch.json | metabase segment update 1",
32
+ "metabase segment update 1 --file patch.json",
33
+ "metabase segment update 1 --body '{\"name\":\"renamed\",\"revision_message\":\"rename\"}'"
34
+ ],
35
+ async run({ args, ctx, getClient }) {
36
+ const id = parseId(args.id);
37
+ const body = await readBody({
38
+ flag: args.body,
39
+ file: args.file
40
+ }, SegmentUpdateInput);
41
+ const client = await getClient();
42
+ const updated = await client.requestParsed(Segment, `/api/segment/${id}`, {
43
+ method: "PUT",
44
+ body
45
+ });
46
+ renderItem(updated, segmentView, ctx);
47
+ }
48
+ });
49
+
50
+ //#endregion
51
+ export { update_default as default };
@@ -0,0 +1,52 @@
1
+ import "./package-Be4_p9f8.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-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import "./field-BakUM_Le.mjs";
11
+ import { Table, TableUpdateInput, tableView } from "./table-DhB2_Dxd.mjs";
12
+
13
+ //#region src/commands/table/update.ts
14
+ var update_default = defineMetabaseCommand({
15
+ meta: {
16
+ name: "update",
17
+ description: "Update a table (display name, description, visibility, etc.)"
18
+ },
19
+ args: {
20
+ ...outputFlags,
21
+ ...profileFlag,
22
+ ...connectionFlags,
23
+ ...bodyInputFlags,
24
+ id: {
25
+ type: "positional",
26
+ description: "Table id",
27
+ required: true
28
+ }
29
+ },
30
+ outputSchema: Table,
31
+ examples: [
32
+ "metabase table update 42 --body '{\"display_name\":\"Customers\"}'",
33
+ "metabase table update 42 --file patch.json",
34
+ "cat patch.json | metabase table update 42"
35
+ ],
36
+ async run({ args, ctx, getClient }) {
37
+ const id = parseId(args.id);
38
+ const body = await readBody({
39
+ flag: args.body,
40
+ file: args.file
41
+ }, TableUpdateInput);
42
+ const client = await getClient();
43
+ const updated = await client.requestParsed(Table, `/api/table/${id}`, {
44
+ method: "PUT",
45
+ body
46
+ });
47
+ renderItem(updated, tableView, ctx);
48
+ }
49
+ });
50
+
51
+ //#endregion
52
+ export { update_default as default };
@@ -1,13 +1,13 @@
1
- import "./package-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import { ConfigError } from "./errors-C6w1eZ1F.mjs";
5
5
  import "./input-DMcm_A5s.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DFoza8Mg.mjs";
7
- import { readBody } from "./body-CZVc1-lx.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
7
+ import { readBody } from "./body-BAdJj5HJ.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
10
- import { DashboardDetail, Dashcard, DashcardPatchInput, dashcardView } from "./dashboard-BJXi1tGr.mjs";
9
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
10
+ import { DashboardDetail, Dashcard, DashcardPatchInput, dashcardView } from "./dashboard-C7MhcBfX.mjs";
11
11
 
12
12
  //#region src/commands/dashboard/update-dashcard.ts
13
13
  var update_dashcard_default = defineMetabaseCommand({
@@ -1,11 +1,11 @@
1
- import "./package-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { defineMetabaseCommand, localUrl, outputFlags } from "./runtime-DFoza8Mg.mjs";
6
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
7
- import "./poll-BIIpvP2F.mjs";
8
- import { checkDockerReady, requireWorkspaceContainerLocation } from "./docker-DLdy5ail.mjs";
5
+ import { defineMetabaseCommand, localUrl, outputFlags } from "./runtime-Dlk-yyFO.mjs";
6
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
7
+ import "./poll-BXEPgd4X.mjs";
8
+ import { checkDockerReady, requireWorkspaceContainerLocation } from "./docker-En_jqSVW.mjs";
9
9
  import { z } from "zod";
10
10
 
11
11
  //#region src/commands/workspace/url.ts
@@ -0,0 +1,36 @@
1
+ import "./package-Be4_p9f8.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-BYWlZPEH.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
6
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
7
+ import { FieldValues, fieldValuesView } from "./field-BakUM_Le.mjs";
8
+
9
+ //#region src/commands/field/values.ts
10
+ var values_default = defineMetabaseCommand({
11
+ meta: {
12
+ name: "values",
13
+ description: "Fetch the cached distinct values for a field (FieldValues list)"
14
+ },
15
+ args: {
16
+ ...outputFlags,
17
+ ...profileFlag,
18
+ ...connectionFlags,
19
+ id: {
20
+ type: "positional",
21
+ description: "Field id",
22
+ required: true
23
+ }
24
+ },
25
+ outputSchema: FieldValues,
26
+ examples: ["metabase field values 100", "metabase field values 100 --json"],
27
+ async run({ args, ctx, getClient }) {
28
+ const id = parseId(args.id);
29
+ const client = await getClient();
30
+ const values = await client.requestParsed(FieldValues, `/api/field/${id}/values`);
31
+ renderItem(values, fieldValuesView, ctx);
32
+ }
33
+ });
34
+
35
+ //#endregion
36
+ export { values_default as default };
@@ -1,5 +1,5 @@
1
- import { pollUntil } from "./poll-BIIpvP2F.mjs";
2
- import { Workspace } from "./workspace-D1rBvWkD.mjs";
1
+ import { pollUntil } from "./poll-BXEPgd4X.mjs";
2
+ import { Workspace } from "./workspace-D93cDL8-.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-CkA529J7.mjs";
1
+ import "./package-Be4_p9f8.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-BYWlZPEH.mjs";
4
4
  import "./errors-C6w1eZ1F.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DFoza8Mg.mjs";
6
- import { parseId } from "./parse-id-CcKdsH0O.mjs";
7
- import { SyncTaskOrIdle, pollSyncTask, syncTaskIdleView, syncTaskView, throwIfFailedTask } from "./poll-task-CdsDGOTW.mjs";
8
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-BIIpvP2F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-Dlk-yyFO.mjs";
6
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
7
+ import { SyncTaskOrIdle, pollSyncTask, syncTaskIdleView, syncTaskView, throwIfFailedTask } from "./poll-task-UMS6aAza.mjs";
8
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-BXEPgd4X.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-CcKdsH0O.mjs";
2
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-BIIpvP2F.mjs";
1
+ import { parseId } from "./parse-id-DKRTKFB2.mjs";
2
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-BXEPgd4X.mjs";
3
3
 
4
4
  //#region src/commands/wait-flags.ts
5
5
  const waitFlags = {
@@ -7,10 +7,14 @@ const WorkspaceDatabaseStatus = z.enum([
7
7
  "provisioned",
8
8
  "deprovisioning"
9
9
  ]);
10
+ const WorkspaceInputNamespace = z.object({
11
+ db: z.string().min(1).optional(),
12
+ schema: z.string().min(1).optional()
13
+ }).loose().refine((value) => value.db !== void 0 || value.schema !== void 0, { message: "input namespace must specify at least one of db or schema" });
10
14
  const WorkspaceDatabase = z.object({
11
15
  database_id: z.number().int(),
12
16
  output_schema: z.string(),
13
- input_schemas: z.array(z.string()),
17
+ input: z.array(WorkspaceInputNamespace),
14
18
  status: WorkspaceDatabaseStatus
15
19
  }).loose();
16
20
  const WorkspaceCreator = z.object({
@@ -55,18 +59,24 @@ const workspaceView = {
55
59
  const WorkspaceCreateInput = z.object({ name: z.string().min(1) }).loose();
56
60
  const WorkspaceProvisionInput = z.object({
57
61
  database_id: z.number().int().positive(),
58
- input_schemas: z.array(z.string().min(1)).min(1)
62
+ input: z.array(WorkspaceInputNamespace).min(1)
59
63
  }).loose();
60
- const WorkspaceUpdateDatabaseInput = z.object({ input_schemas: z.array(z.string().min(1)).min(1) }).loose();
64
+ const WorkspaceUpdateDatabaseInput = z.object({ input: z.array(WorkspaceInputNamespace).min(1) }).loose();
61
65
  function formatDatabases(value) {
62
66
  if (value === void 0) return "";
63
67
  const parsed = WorkspaceDatabaseList.safeParse(value);
64
68
  if (!parsed.success || parsed.data.length === 0) return "(none)";
65
69
  return parsed.data.map((entry) => {
66
- const schemaList = entry.input_schemas.length === 0 ? "" : ` [${entry.input_schemas.join(", ")}]`;
67
- return `${entry.database_id} (${entry.status})${schemaList}`;
70
+ const inputList = entry.input.length === 0 ? "" : ` [${entry.input.map(formatInputNamespace).join(", ")}]`;
71
+ return `${entry.database_id} (${entry.status})${inputList}`;
68
72
  }).join("; ");
69
73
  }
74
+ function formatInputNamespace(namespace) {
75
+ if (namespace.db !== void 0 && namespace.schema !== void 0) return `${namespace.db}.${namespace.schema}`;
76
+ if (namespace.schema !== void 0) return namespace.schema;
77
+ if (namespace.db !== void 0) return namespace.db;
78
+ throw new Error("WorkspaceInputNamespace must specify db or schema");
79
+ }
70
80
 
71
81
  //#endregion
72
82
  export { Workspace, WorkspaceCompact, WorkspaceCreateInput, WorkspaceProvisionInput, WorkspaceUpdateDatabaseInput, workspaceView };
@@ -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-DeNHJECx.mjs").then((mod) => mod.default),
11
+ create: () => import("./create-BUcIJ1nk.mjs").then((mod) => mod.default),
12
+ database: () => import("./database-BkSdTiyB.mjs").then((mod) => mod.default),
13
+ start: () => import("./start-15kcQYwC.mjs").then((mod) => mod.default),
14
+ stop: () => import("./stop-B9M_LliY.mjs").then((mod) => mod.default),
15
+ remove: () => import("./remove-D194SUD-.mjs").then((mod) => mod.default),
16
+ logs: () => import("./logs-DsiDIT90.mjs").then((mod) => mod.default),
17
+ url: () => import("./url-CRyx47hL.mjs").then((mod) => mod.default),
18
+ credentials: () => import("./credentials-BnX6KoeQ.mjs").then((mod) => mod.default),
19
+ ps: () => import("./ps-iON5iNUT.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.a3b3a5f",
3
+ "version": "0.1.0-alpha.workspaces-commands.68d980f",
4
4
  "description": "Metabase CLI",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {
@@ -1,19 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/auth/index.ts
4
- var auth_default = defineCommand({
5
- meta: {
6
- name: "auth",
7
- description: "Authenticate against a Metabase instance"
8
- },
9
- default: "login",
10
- subCommands: {
11
- login: () => import("./login-DD9SPbq9.mjs").then((m) => m.default),
12
- status: () => import("./status-D80Gk_aQ.mjs").then((m) => m.default),
13
- list: () => import("./list-HYHuLdci.mjs").then((m) => m.default),
14
- logout: () => import("./logout-aC-vTsuI.mjs").then((m) => m.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { auth_default as default };
@@ -1,20 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/card/index.ts
4
- var card_default = defineCommand({
5
- meta: {
6
- name: "card",
7
- description: "Manage Metabase cards (questions, models, metrics)"
8
- },
9
- subCommands: {
10
- list: () => import("./list-CrKfUerD.mjs").then((mod) => mod.default),
11
- get: () => import("./get-BCezh5OQ.mjs").then((mod) => mod.default),
12
- query: () => import("./query-Cv9WxWrI.mjs").then((mod) => mod.default),
13
- create: () => import("./create-C9pjkU_P.mjs").then((mod) => mod.default),
14
- update: () => import("./update-CqxAOcCk.mjs").then((mod) => mod.default),
15
- archive: () => import("./archive-Bh8wMjxT.mjs").then((mod) => mod.default)
16
- }
17
- });
18
-
19
- //#endregion
20
- export { card_default as default };
@@ -1,19 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/collection/index.ts
4
- var collection_default = defineCommand({
5
- meta: {
6
- name: "collection",
7
- description: "Browse Metabase collections"
8
- },
9
- subCommands: {
10
- list: () => import("./list-BSiAMxrA.mjs").then((mod) => mod.default),
11
- get: () => import("./get-CZG4xlat.mjs").then((mod) => mod.default),
12
- items: () => import("./items-N_CzelCi.mjs").then((mod) => mod.default),
13
- tree: () => import("./tree-Hqmw922o.mjs").then((mod) => mod.default),
14
- create: () => import("./create-nh6nXg71.mjs").then((mod) => mod.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { collection_default as default };
@@ -1,20 +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-20u4leMj.mjs").then((mod) => mod.default),
11
- get: () => import("./get-D3HUYbpw.mjs").then((mod) => mod.default),
12
- cards: () => import("./cards-Ci1cFff8.mjs").then((mod) => mod.default),
13
- create: () => import("./create-DKkn1Lyh.mjs").then((mod) => mod.default),
14
- update: () => import("./update--8dVz3Kc.mjs").then((mod) => mod.default),
15
- "update-dashcard": () => import("./update-dashcard-CrkkLo0u.mjs").then((mod) => mod.default)
16
- }
17
- });
18
-
19
- //#endregion
20
- export { dashboard_default as default };
@@ -1,33 +0,0 @@
1
- import { z } from "zod";
2
-
3
- //#region src/domain/database.ts
4
- const Database = z.object({
5
- id: z.number().int(),
6
- name: z.string(),
7
- engine: z.string()
8
- }).loose();
9
- const DatabaseCompact = Database.pick({
10
- id: true,
11
- name: true,
12
- engine: true
13
- }).strip();
14
- const databaseView = {
15
- compactPick: DatabaseCompact,
16
- tableColumns: [
17
- {
18
- key: "id",
19
- label: "ID"
20
- },
21
- {
22
- key: "name",
23
- label: "Name"
24
- },
25
- {
26
- key: "engine",
27
- label: "Engine"
28
- }
29
- ]
30
- };
31
-
32
- //#endregion
33
- export { Database, DatabaseCompact, databaseView };
@@ -1,17 +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 Metabase databases",
8
- alias: "database"
9
- },
10
- subCommands: {
11
- list: () => import("./list-CGwBTGMW.mjs").then((m) => m.default),
12
- get: () => import("./get-Ck2PTv-d.mjs").then((m) => m.default)
13
- }
14
- });
15
-
16
- //#endregion
17
- export { db_default as default };