@metabase/cli 0.1.0 → 0.1.1

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 (187) hide show
  1. package/README.md +972 -57
  2. package/dist/add-collection--zwkmE1S.mjs +11 -0
  3. package/dist/add-collection-B1qe0D1U.mjs +54 -0
  4. package/dist/api-key-gzCbKDjL.mjs +13 -0
  5. package/dist/archive-CitmlD1e.mjs +39 -0
  6. package/dist/{archive-CsWeHXle.mjs → archive-CnhWegtR.mjs} +7 -4
  7. package/dist/archive-DQjBOXnx.mjs +44 -0
  8. package/dist/archive-Ni8-lQ1Y.mjs +44 -0
  9. package/dist/auth-BPjsrFxM.mjs +19 -0
  10. package/dist/{body-Dv9hQ0Qk.mjs → body-DRBgxS6-.mjs} +3 -2
  11. package/dist/{branches-BujtceGr.mjs → branches-C5Jcw8wu.mjs} +8 -6
  12. package/dist/cancel-Ca3r7Y6v.mjs +56 -0
  13. package/dist/{cancel-task-CT2xUMRg.mjs → cancel-task-C1-8vDKS.mjs} +9 -7
  14. package/dist/card-BGAy3eIb.mjs +20 -0
  15. package/dist/{card-CsXk8T6A.mjs → card-CAEZWixN.mjs} +34 -15
  16. package/dist/cards-CILfMPUP.mjs +37 -0
  17. package/dist/cli.mjs +33 -14
  18. package/dist/collection-B3sPXRLs.mjs +163 -0
  19. package/dist/collection-D8cnCB98.mjs +19 -0
  20. package/dist/create-3Z6rm-4O.mjs +44 -0
  21. package/dist/create-BsY5RrVY.mjs +44 -0
  22. package/dist/create-C4OCclBD.mjs +48 -0
  23. package/dist/create-COsD7Vzm.mjs +48 -0
  24. package/dist/create-CP8ou91U.mjs +125 -0
  25. package/dist/create-CeIi_QLj.mjs +66 -0
  26. package/dist/create-CqNw6PmR.mjs +50 -0
  27. package/dist/create-DE_5NrFy.mjs +48 -0
  28. package/dist/{create-B8ektf-R.mjs → create-MEhhhgMC.mjs} +8 -6
  29. package/dist/create-QxDmleKJ.mjs +48 -0
  30. package/dist/{create-branch-goZBTNnr.mjs → create-branch-CKMYaAHk.mjs} +9 -7
  31. package/dist/credentials-CwRKvdP2.mjs +85 -0
  32. package/dist/{current-task-DBjRNCFq.mjs → current-task-Dutjys16.mjs} +9 -7
  33. package/dist/dashboard-B4fVp392.mjs +20 -0
  34. package/dist/dashboard-CnMD04PQ.mjs +163 -0
  35. package/dist/database-BMTb0CzV.mjs +17 -0
  36. package/dist/database-Dvkfy3JM.mjs +51 -0
  37. package/dist/db-ACuuaEok.mjs +22 -0
  38. package/dist/{delete-8vGU35r3.mjs → delete-BMQZuVXZ.mjs} +7 -5
  39. package/dist/{delete-B27KLF5X.mjs → delete-BvcA4jPj.mjs} +7 -5
  40. package/dist/{delete-runtime-Byr60cR3.mjs → delete-runtime-BMzvfj_B.mjs} +4 -4
  41. package/dist/{delete-table-BNaJ_gA4.mjs → delete-table-DUPjHKk4.mjs} +7 -5
  42. package/dist/deprovision-Bsc1S15j.mjs +61 -0
  43. package/dist/{dirty-aNUuph4I.mjs → dirty-CXcdoUhY.mjs} +8 -6
  44. package/dist/docker-D-ieBsP7.mjs +612 -0
  45. package/dist/eid-pvOsEMPZ.mjs +13 -0
  46. package/dist/{export-QDkuuzSE.mjs → export-BjGhLEOi.mjs} +30 -23
  47. package/dist/field-BI2bt8e9.mjs +18 -0
  48. package/dist/field-DciLbuv-.mjs +276 -0
  49. package/dist/fields-Do8HHm_T.mjs +38 -0
  50. package/dist/flag-pair-DtR1AiBQ.mjs +17 -0
  51. package/dist/{get-BGBIzMKY.mjs → get-BGFGWkH0.mjs} +6 -4
  52. package/dist/get-BmE_VHdl.mjs +36 -0
  53. package/dist/{get-DI_IJvgk.mjs → get-C7sshmqF.mjs} +6 -4
  54. package/dist/get-CObKBj2J.mjs +36 -0
  55. package/dist/get-Cq5U_Eep.mjs +40 -0
  56. package/dist/get-D4GUJBiX.mjs +41 -0
  57. package/dist/{get-COXHplHP.mjs → get-DFrsi77F.mjs} +7 -5
  58. package/dist/get-DczxeETg.mjs +53 -0
  59. package/dist/{get-Cl8-IauC.mjs → get-DeQa3ThJ.mjs} +7 -4
  60. package/dist/get-DhZ_dGUb.mjs +36 -0
  61. package/dist/{get-i6LWOByV.mjs → get-DzCVafyO.mjs} +6 -4
  62. package/dist/get-YCnVqq-z.mjs +49 -0
  63. package/dist/get-run-CTyW29s3.mjs +36 -0
  64. package/dist/git-sync-BOmT8HEU.mjs +28 -0
  65. package/dist/{has-remote-changes-hjKoQuRy.mjs → has-remote-changes-xX8vMVsX.mjs} +8 -6
  66. package/dist/{import-HJsSKRYx.mjs → import-CaAUNtXz.mjs} +11 -9
  67. package/dist/{input-Dojr-RTw.mjs → input-ikCiip6x.mjs} +2 -1
  68. package/dist/is-dirty-CPu-xqkW.mjs +10 -0
  69. package/dist/{is-dirty-1Qy7hiHB.mjs → is-dirty-mgxEwEk4.mjs} +5 -4
  70. package/dist/items-Cg67tdto.mjs +77 -0
  71. package/dist/{key-DBxPSFwi.mjs → key-NDEARu2L.mjs} +1 -1
  72. package/dist/{license-MoWse3ZI.mjs → license-CwKzVMD0.mjs} +3 -3
  73. package/dist/list-BqdNQ1nU.mjs +47 -0
  74. package/dist/list-BwGdD45N.mjs +32 -0
  75. package/dist/list-CfOVsAZz.mjs +55 -0
  76. package/dist/list-CpyNn1Zn.mjs +32 -0
  77. package/dist/list-CwwOoGLK.mjs +40 -0
  78. package/dist/{list-C_PRdL5e.mjs → list-DD8CQx8l.mjs} +7 -5
  79. package/dist/{list-Bk6RsbJl.mjs → list-DL-RWpIE.mjs} +5 -3
  80. package/dist/list-DLlq3FyS.mjs +61 -0
  81. package/dist/list-DdQ4jmUQ.mjs +52 -0
  82. package/dist/{list-C4Ajrw8f.mjs → list-DshbLoqR.mjs} +6 -3
  83. package/dist/{list-C8tdLOH5.mjs → list-DzTMpoBs.mjs} +5 -3
  84. package/dist/list-JgRtCzz3.mjs +32 -0
  85. package/dist/{list-CWt3fqrZ.mjs → list-WzgJcwB5.mjs} +5 -3
  86. package/dist/{login-C9WTwNn6.mjs → login-DJnmR2wX.mjs} +14 -5
  87. package/dist/{logout-oLszGCOg.mjs → logout-BMe_1Zp8.mjs} +7 -6
  88. package/dist/logs-CQxKJ3HG.mjs +58 -0
  89. package/dist/{manifest-CAdjQYH8.mjs → manifest-Dv5B9Blc.mjs} +3 -7
  90. package/dist/measure-BEQfnLdN.mjs +67 -0
  91. package/dist/measure-BGyYbtqO.mjs +19 -0
  92. package/dist/metadata-CLIALntn.mjs +37 -0
  93. package/dist/metadata-T-fNUWg_.mjs +38 -0
  94. package/dist/{package-BGfw4ZWJ.mjs → package-DBsS7a5x.mjs} +7 -1
  95. package/dist/paginate-CTSfuYiF.mjs +49 -0
  96. package/dist/parse-id-BUOZQqjp.mjs +12 -0
  97. package/dist/parse-ref-DGvh4aDn.mjs +17 -0
  98. package/dist/parse-schemas-BnW4T1_I.mjs +12 -0
  99. package/dist/{poll-ILanYysl.mjs → poll-DMmmZWvi.mjs} +2 -1
  100. package/dist/{poll-task-DbpsiQhl.mjs → poll-task-2Ckiwp8U.mjs} +8 -7
  101. package/dist/predicates-DiIiS3k7.mjs +153 -0
  102. package/dist/preflight-CC_g6EWU.mjs +91 -0
  103. package/dist/{prompt-DpT8yAVy.mjs → prompt-Bf3DQ-qE.mjs} +1 -1
  104. package/dist/provision-BUgWJWAV.mjs +77 -0
  105. package/dist/ps-BUNHygf-.mjs +10 -0
  106. package/dist/ps-Yv0JjLVN.mjs +78 -0
  107. package/dist/{query-PihYi-UZ.mjs → query-CzfbuG8a.mjs} +38 -13
  108. package/dist/query-UIebHmbT.mjs +90 -0
  109. package/dist/remove-BAUbcwuF.mjs +98 -0
  110. package/dist/{remove-B2hVYn1v.mjs → remove-CN2PNGTR.mjs} +6 -5
  111. package/dist/remove-collection-C6NxEh53.mjs +38 -0
  112. package/dist/render-DXv-D6fU.mjs +182 -0
  113. package/dist/rescan-values-CcB4F9qa.mjs +43 -0
  114. package/dist/revision-message-flag-CWQbKhdl.mjs +11 -0
  115. package/dist/{run-C2so6Qp6.mjs → run-BjXZtu_6.mjs} +27 -36
  116. package/dist/runs-CXx7l1NY.mjs +54 -0
  117. package/dist/{runtime-C9CEZhcn.mjs → runtime-D7jihh81.mjs} +425 -442
  118. package/dist/schema-tables-BCJT2DM_.mjs +45 -0
  119. package/dist/schemas-DlNpbn4H.mjs +47 -0
  120. package/dist/{search-CopOytXY.mjs → search-Dt-6mdHZ.mjs} +6 -19
  121. package/dist/segment-BMrUBz94.mjs +70 -0
  122. package/dist/segment-C52QNnSs.mjs +19 -0
  123. package/dist/{set-BcF7M1GQ.mjs → set-DCESWpi3.mjs} +6 -4
  124. package/dist/{set-CbibegpA.mjs → set-L7cuHjVZ.mjs} +8 -6
  125. package/dist/{setting-U3NtBMFo.mjs → setting-DysGAuYS.mjs} +3 -3
  126. package/dist/setup-_ypJDPAY.mjs +71 -0
  127. package/dist/snippet-Dw0Sjzkr.mjs +64 -0
  128. package/dist/snippet-vb3G9R8a.mjs +19 -0
  129. package/dist/start-BokXnb0V.mjs +350 -0
  130. package/dist/{stash-DOBbYozC.mjs → stash-CaGX6PfX.mjs} +9 -7
  131. package/dist/{status-Buf1ZbNR.mjs → status-BaX9vedb.mjs} +10 -8
  132. package/dist/{status-CUcs8XBH.mjs → status-CyecXzN4.mjs} +4 -2
  133. package/dist/{status-D1F5XHae.mjs → status-RpVyPEty.mjs} +4 -2
  134. package/dist/stop-BRuF_Cg1.mjs +81 -0
  135. package/dist/summary-CpEOiOlZ.mjs +41 -0
  136. package/dist/sync-schema-4Cl4h8Jn.mjs +43 -0
  137. package/dist/table-BeMWuvzO.mjs +19 -0
  138. package/dist/{table-Cfk7oSvw.mjs → table-jljEqZ0R.mjs} +22 -9
  139. package/dist/transform-DwRc-w6y.mjs +24 -0
  140. package/dist/{transform-B5uRpg1G.mjs → transform-IEX4Mx3X.mjs} +56 -2
  141. package/dist/transform-job-BigWrctt.mjs +19 -0
  142. package/dist/{transform-job-C7QXWTVE.mjs → transform-job-Csr86muI.mjs} +7 -0
  143. package/dist/translate-DqLlXXUx.mjs +111 -0
  144. package/dist/tree-BT24nkLM.mjs +32 -0
  145. package/dist/update-BCXKQi2n.mjs +52 -0
  146. package/dist/{update-CL8tRbxr.mjs → update-BXbLmC2b.mjs} +9 -7
  147. package/dist/update-C1Frz9GR.mjs +52 -0
  148. package/dist/update-C5goGhNr.mjs +56 -0
  149. package/dist/update-CCOyB0iT.mjs +73 -0
  150. package/dist/update-D04NMueX.mjs +59 -0
  151. package/dist/update-D6WVtNV1.mjs +57 -0
  152. package/dist/update-DFR46LsB.mjs +56 -0
  153. package/dist/update-DyLItrpV.mjs +56 -0
  154. package/dist/update-dashcard-av0_PYeg.mjs +71 -0
  155. package/dist/update-mrgvQF4i.mjs +51 -0
  156. package/dist/url-x4wn_l3k.mjs +54 -0
  157. package/dist/uuid-BZHbti8B.mjs +47 -0
  158. package/dist/validate-DCYx6jdL.mjs +1496 -0
  159. package/dist/validate-query-B07oGG4K.mjs +37 -0
  160. package/dist/values-Be6i0Fs9.mjs +36 -0
  161. package/dist/{wait-Bugr9eXD.mjs → wait-BMqQD8k_.mjs} +10 -8
  162. package/dist/wait-CWizX_sR.mjs +19 -0
  163. package/dist/wait-flags-DO3ar2tf.mjs +35 -0
  164. package/dist/workspace-CG1xyJ86.mjs +24 -0
  165. package/dist/workspace-DVuqKJGG.mjs +72 -0
  166. package/dist/workspace-credentials-B6BL-X0d.mjs +139 -0
  167. package/package.json +7 -1
  168. package/dist/auth-BF7IjZIH.mjs +0 -18
  169. package/dist/card-_Ta7zdYe.mjs +0 -19
  170. package/dist/create-CI2Cunq5.mjs +0 -38
  171. package/dist/create-DdbU3TLX.mjs +0 -42
  172. package/dist/database-PA9Goi25.mjs +0 -33
  173. package/dist/db-DMghzgb6.mjs +0 -17
  174. package/dist/field-C8IVs6rp.mjs +0 -76
  175. package/dist/field-DaYo_90x.mjs +0 -13
  176. package/dist/get-Cwpj7lDe.mjs +0 -35
  177. package/dist/get-Dh_acl8q.mjs +0 -34
  178. package/dist/is-dirty-DpKn9HJp.mjs +0 -8
  179. package/dist/list-CBSBHtK-.mjs +0 -38
  180. package/dist/parse-id-BhmmfyCP.mjs +0 -14
  181. package/dist/sync-BPyGXfUk.mjs +0 -26
  182. package/dist/table-D7nJt7JO.mjs +0 -16
  183. package/dist/transform-UbyewMxY.mjs +0 -21
  184. package/dist/transform-job-CrYkr-Ma.mjs +0 -19
  185. package/dist/update-DU2oU2j-.mjs +0 -49
  186. /package/dist/{body-flags-BUA9XV1u.mjs → body-flags-BK7J6Daz.mjs} +0 -0
  187. /package/dist/{setting-26ckqHAP.mjs → setting-CTaAeMci.mjs} +0 -0
@@ -1,8 +1,10 @@
1
- import "./package-BGfw4ZWJ.mjs";
1
+ import "./package-DBsS7a5x.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag, renderItem } from "./runtime-C9CEZhcn.mjs";
4
- import { parseId } from "./parse-id-BhmmfyCP.mjs";
5
- import { Transform, transformView } from "./transform-B5uRpg1G.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import { parseId } from "./parse-id-BUOZQqjp.mjs";
7
+ import { Transform, transformView } from "./transform-IEX4Mx3X.mjs";
6
8
 
7
9
  //#region src/commands/transform/get.ts
8
10
  var get_default = defineMetabaseCommand({
@@ -0,0 +1,49 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, parseEnum, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import { parseId } from "./parse-id-BUOZQqjp.mjs";
7
+ import "./field-DciLbuv-.mjs";
8
+ import "./table-jljEqZ0R.mjs";
9
+ import { Database, databaseView } from "./database-Dvkfy3JM.mjs";
10
+ import { z } from "zod";
11
+
12
+ //#region src/commands/db/get.ts
13
+ const DatabaseGetInclude = z.enum(["tables", "tables.fields"]);
14
+ var get_default = defineMetabaseCommand({
15
+ meta: {
16
+ name: "get",
17
+ description: "Get a database by id"
18
+ },
19
+ args: {
20
+ ...outputFlags,
21
+ ...profileFlag,
22
+ ...connectionFlags,
23
+ include: {
24
+ type: "string",
25
+ description: `Hydrate related entities: ${DatabaseGetInclude.options.join("|")}`
26
+ },
27
+ id: {
28
+ type: "positional",
29
+ description: "Database id",
30
+ required: true
31
+ }
32
+ },
33
+ outputSchema: Database,
34
+ examples: [
35
+ "metabase db get 1",
36
+ "metabase db get 1 --json",
37
+ "metabase db get 1 --include tables.fields --json"
38
+ ],
39
+ async run({ args, ctx, getClient }) {
40
+ const id = parseId(args.id);
41
+ const include = parseEnum(args.include, DatabaseGetInclude, "--include");
42
+ const client = await getClient();
43
+ const database = await client.requestParsed(Database, `/api/database/${id}`, { query: { include } });
44
+ renderItem(database, databaseView, ctx);
45
+ }
46
+ });
47
+
48
+ //#endregion
49
+ export { get_default as default };
@@ -0,0 +1,36 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import { parseId } from "./parse-id-BUOZQqjp.mjs";
7
+ import { TransformRun, transformRunView } from "./transform-IEX4Mx3X.mjs";
8
+
9
+ //#region src/commands/transform/get-run.ts
10
+ var get_run_default = defineMetabaseCommand({
11
+ meta: {
12
+ name: "get-run",
13
+ description: "Get a transform run by id"
14
+ },
15
+ args: {
16
+ ...outputFlags,
17
+ ...profileFlag,
18
+ ...connectionFlags,
19
+ id: {
20
+ type: "positional",
21
+ description: "Run id",
22
+ required: true
23
+ }
24
+ },
25
+ outputSchema: TransformRun,
26
+ examples: ["metabase transform get-run 1", "metabase transform get-run 1 --json"],
27
+ async run({ args, ctx, getClient }) {
28
+ const id = parseId(args.id, "run id");
29
+ const client = await getClient();
30
+ const run = await client.requestParsed(TransformRun, `/api/transform/run/${id}`);
31
+ renderItem(run, transformRunView, ctx);
32
+ }
33
+ });
34
+
35
+ //#endregion
36
+ export { get_run_default as default };
@@ -0,0 +1,28 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/git-sync/index.ts
4
+ var git_sync_default = defineCommand({
5
+ meta: {
6
+ name: "git-sync",
7
+ description: "Sync Metabase content with a git remote"
8
+ },
9
+ subCommands: {
10
+ status: () => import("./status-BaX9vedb.mjs").then((mod) => mod.default),
11
+ "is-dirty": () => import("./is-dirty-CPu-xqkW.mjs").then((mod) => mod.default),
12
+ "has-remote-changes": () => import("./has-remote-changes-xX8vMVsX.mjs").then((mod) => mod.default),
13
+ dirty: () => import("./dirty-CXcdoUhY.mjs").then((mod) => mod.default),
14
+ "current-task": () => import("./current-task-Dutjys16.mjs").then((mod) => mod.default),
15
+ "cancel-task": () => import("./cancel-task-C1-8vDKS.mjs").then((mod) => mod.default),
16
+ wait: () => import("./wait-BMqQD8k_.mjs").then((mod) => mod.default),
17
+ import: () => import("./import-CaAUNtXz.mjs").then((mod) => mod.default),
18
+ export: () => import("./export-BjGhLEOi.mjs").then((mod) => mod.default),
19
+ stash: () => import("./stash-CaGX6PfX.mjs").then((mod) => mod.default),
20
+ branches: () => import("./branches-C5Jcw8wu.mjs").then((mod) => mod.default),
21
+ "create-branch": () => import("./create-branch-CKMYaAHk.mjs").then((mod) => mod.default),
22
+ "add-collection": () => import("./add-collection--zwkmE1S.mjs").then((mod) => mod.default),
23
+ "remove-collection": () => import("./remove-collection-C6NxEh53.mjs").then((mod) => mod.default)
24
+ }
25
+ });
26
+
27
+ //#endregion
28
+ export { git_sync_default as default };
@@ -1,11 +1,13 @@
1
- import "./package-BGfw4ZWJ.mjs";
1
+ import "./package-DBsS7a5x.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag, renderItem } from "./runtime-C9CEZhcn.mjs";
4
- import { REMOTE_SYNC_PATHS } from "./poll-task-DbpsiQhl.mjs";
5
- import "./poll-ILanYysl.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import { REMOTE_SYNC_PATHS } from "./poll-task-2Ckiwp8U.mjs";
7
+ import "./poll-DMmmZWvi.mjs";
6
8
  import { z } from "zod";
7
9
 
8
- //#region src/commands/sync/has-remote-changes.ts
10
+ //#region src/commands/git-sync/has-remote-changes.ts
9
11
  const HasRemoteChangesResult = z.object({
10
12
  has_changes: z.boolean(),
11
13
  remote_version: z.string().nullable(),
@@ -50,7 +52,7 @@ var has_remote_changes_default = defineMetabaseCommand({
50
52
  }
51
53
  },
52
54
  outputSchema: HasRemoteChangesResult,
53
- examples: ["metabase sync has-remote-changes", "metabase sync has-remote-changes --force-refresh --json"],
55
+ examples: ["metabase git-sync has-remote-changes", "metabase git-sync has-remote-changes --force-refresh --json"],
54
56
  async run({ args, ctx, getClient }) {
55
57
  const client = await getClient();
56
58
  const result = await client.requestParsed(HasRemoteChangesResult, REMOTE_SYNC_PATHS.hasRemoteChanges, { query: { "force-refresh": args.forceRefresh } });
@@ -1,12 +1,14 @@
1
- import "./package-BGfw4ZWJ.mjs";
1
+ import "./package-DBsS7a5x.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag, renderItem } from "./runtime-C9CEZhcn.mjs";
4
- import { parseId } from "./parse-id-BhmmfyCP.mjs";
5
- import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-DbpsiQhl.mjs";
6
- import "./poll-ILanYysl.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import { parseId } from "./parse-id-BUOZQqjp.mjs";
7
+ import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-2Ckiwp8U.mjs";
8
+ import "./poll-DMmmZWvi.mjs";
7
9
  import { z } from "zod";
8
10
 
9
- //#region src/commands/sync/import.ts
11
+ //#region src/commands/git-sync/import.ts
10
12
  const SyncImportKickoff = z.object({
11
13
  status: z.literal("success"),
12
14
  task_id: z.number().int().positive().nullable(),
@@ -50,9 +52,9 @@ var import_default = defineMetabaseCommand({
50
52
  },
51
53
  outputSchema: SyncImportResult,
52
54
  examples: [
53
- "metabase sync import",
54
- "metabase sync import --branch main --json",
55
- "metabase sync import --force --no-wait"
55
+ "metabase git-sync import",
56
+ "metabase git-sync import --branch main --json",
57
+ "metabase git-sync import --force --no-wait"
56
58
  ],
57
59
  async run({ args, ctx, getClient }) {
58
60
  const timeoutMs = parseId(args.timeout, "timeout");
@@ -1,4 +1,4 @@
1
- import { ConfigError, isNotFoundError } from "./runtime-C9CEZhcn.mjs";
1
+ import { ConfigError, isNotFoundError } from "./predicates-DiIiS3k7.mjs";
2
2
  import { readFile } from "node:fs/promises";
3
3
 
4
4
  //#region src/runtime/input.ts
@@ -16,6 +16,7 @@ async function readInput(sources) {
16
16
  return "";
17
17
  }
18
18
  async function readFileSource(path) {
19
+ if (path === "-") return await readStdin();
19
20
  try {
20
21
  return await readFile(path, "utf8");
21
22
  } catch (error) {
@@ -0,0 +1,10 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./runtime-D7jihh81.mjs";
6
+ import "./poll-task-2Ckiwp8U.mjs";
7
+ import "./poll-DMmmZWvi.mjs";
8
+ import { IsDirtyResult, is_dirty_default } from "./is-dirty-mgxEwEk4.mjs";
9
+
10
+ export { is_dirty_default as default };
@@ -1,8 +1,9 @@
1
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag, renderItem } from "./runtime-C9CEZhcn.mjs";
2
- import { REMOTE_SYNC_PATHS } from "./poll-task-DbpsiQhl.mjs";
1
+ import { renderItem } from "./render-DXv-D6fU.mjs";
2
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
3
+ import { REMOTE_SYNC_PATHS } from "./poll-task-2Ckiwp8U.mjs";
3
4
  import { z } from "zod";
4
5
 
5
- //#region src/commands/sync/is-dirty.ts
6
+ //#region src/commands/git-sync/is-dirty.ts
6
7
  const IsDirtyResult = z.object({ is_dirty: z.boolean() });
7
8
  const isDirtyView = {
8
9
  compactPick: IsDirtyResult,
@@ -22,7 +23,7 @@ var is_dirty_default = defineMetabaseCommand({
22
23
  ...connectionFlags
23
24
  },
24
25
  outputSchema: IsDirtyResult,
25
- examples: ["metabase sync is-dirty", "metabase sync is-dirty --json"],
26
+ examples: ["metabase git-sync is-dirty", "metabase git-sync is-dirty --json"],
26
27
  async run({ ctx, getClient }) {
27
28
  const client = await getClient();
28
29
  const result = await client.requestParsed(IsDirtyResult, REMOTE_SYNC_PATHS.isDirty);
@@ -0,0 +1,77 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, parseEnum, parseEnumCsv, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import { parseId } from "./parse-id-BUOZQqjp.mjs";
7
+ import { COLLECTION_ITEM_FILTER_MODELS, COLLECTION_PINNED_STATES, CollectionItem, CollectionItemCompact, CollectionItemFilterModel, CollectionPinnedState, collectionItemView } from "./collection-B3sPXRLs.mjs";
8
+ import { parseCollectionRef } from "./parse-ref-DGvh4aDn.mjs";
9
+ import { collectPaginated } from "./paginate-CTSfuYiF.mjs";
10
+
11
+ //#region src/commands/collection/items.ts
12
+ const CollectionItemListEnvelope = listEnvelopeSchema(CollectionItemCompact);
13
+ var items_default = defineMetabaseCommand({
14
+ meta: {
15
+ name: "items",
16
+ description: "List items inside a collection"
17
+ },
18
+ args: {
19
+ ...outputFlags,
20
+ ...profileFlag,
21
+ ...connectionFlags,
22
+ id: {
23
+ type: "positional",
24
+ description: "Collection id, 21-char entity id, or one of: \"root\", \"trash\"",
25
+ required: true
26
+ },
27
+ models: {
28
+ type: "string",
29
+ description: `Comma-separated model filter: ${COLLECTION_ITEM_FILTER_MODELS.join(",")}`,
30
+ alias: "m"
31
+ },
32
+ archived: {
33
+ type: "boolean",
34
+ description: "Return archived items instead of unarchived",
35
+ default: false
36
+ },
37
+ "pinned-state": {
38
+ type: "string",
39
+ description: `Pinned filter: ${COLLECTION_PINNED_STATES.join("|")}`
40
+ },
41
+ limit: {
42
+ type: "string",
43
+ description: "Cap total items returned (default: drain all pages)"
44
+ }
45
+ },
46
+ outputSchema: CollectionItemListEnvelope,
47
+ examples: [
48
+ "metabase collection items 4",
49
+ "metabase collection items root --json",
50
+ "metabase collection items 4 --models card,dashboard --json",
51
+ "metabase collection items 4 --pinned-state is_pinned --json"
52
+ ],
53
+ async run({ args, ctx, getClient }) {
54
+ const ref = parseCollectionRef(args.id);
55
+ const models = parseEnumCsv(args.models, CollectionItemFilterModel, "--models");
56
+ const pinnedState = parseEnum(args["pinned-state"], CollectionPinnedState, "--pinned-state");
57
+ const max = args.limit === void 0 ? void 0 : parseId(args.limit, "--limit");
58
+ const client = await getClient();
59
+ const items = await collectPaginated(client, `/api/collection/${ref}/items`, CollectionItem, {
60
+ query: {
61
+ models,
62
+ archived: args.archived ? true : void 0,
63
+ pinned_state: pinnedState
64
+ },
65
+ ...max !== void 0 && { max }
66
+ });
67
+ const envelope = {
68
+ data: items,
69
+ returned: items.length,
70
+ ...max === void 0 ? { total: items.length } : { limit: max }
71
+ };
72
+ renderList(envelope, collectionItemView, ctx);
73
+ }
74
+ });
75
+
76
+ //#endregion
77
+ export { items_default as default };
@@ -1,4 +1,4 @@
1
- import { ConfigError } from "./runtime-C9CEZhcn.mjs";
1
+ import { ConfigError } from "./predicates-DiIiS3k7.mjs";
2
2
 
3
3
  //#region src/commands/setting/key.ts
4
4
  const SETTING_KEY_PATTERN = /^[A-Za-z][A-Za-z0-9_-]*$/;
@@ -7,9 +7,9 @@ var license_default = defineCommand({
7
7
  description: "Manage the Metabase license token"
8
8
  },
9
9
  subCommands: {
10
- set: () => import("./set-BcF7M1GQ.mjs").then((m) => m.default),
11
- status: () => import("./status-D1F5XHae.mjs").then((m) => m.default),
12
- remove: () => import("./remove-B2hVYn1v.mjs").then((m) => m.default)
10
+ set: () => import("./set-DCESWpi3.mjs").then((m) => m.default),
11
+ status: () => import("./status-RpVyPEty.mjs").then((m) => m.default),
12
+ remove: () => import("./remove-CN2PNGTR.mjs").then((m) => m.default)
13
13
  }
14
14
  });
15
15
 
@@ -0,0 +1,47 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { Dashboard, DashboardCompact, dashboardView } from "./dashboard-CnMD04PQ.mjs";
7
+ import { z } from "zod";
8
+
9
+ //#region src/commands/dashboard/list.ts
10
+ const DashboardApiList = z.array(Dashboard);
11
+ const DashboardListFilter = z.enum([
12
+ "all",
13
+ "mine",
14
+ "archived"
15
+ ]);
16
+ const DashboardListEnvelope = listEnvelopeSchema(DashboardCompact);
17
+ var list_default = defineMetabaseCommand({
18
+ meta: {
19
+ name: "list",
20
+ description: "List dashboards"
21
+ },
22
+ args: {
23
+ ...outputFlags,
24
+ ...profileFlag,
25
+ ...connectionFlags,
26
+ filter: {
27
+ type: "string",
28
+ description: `Filter preset: ${DashboardListFilter.options.join("|")}`,
29
+ default: "all"
30
+ }
31
+ },
32
+ outputSchema: DashboardListEnvelope,
33
+ examples: [
34
+ "metabase dashboard list",
35
+ "metabase dashboard list --json",
36
+ "metabase dashboard list --filter archived --json"
37
+ ],
38
+ async run({ args, ctx, getClient }) {
39
+ const filter = DashboardListFilter.parse(args.filter);
40
+ const client = await getClient();
41
+ const items = await client.requestParsed(DashboardApiList, "/api/dashboard", { query: { f: filter } });
42
+ renderList(wrapList(items), dashboardView, ctx);
43
+ }
44
+ });
45
+
46
+ //#endregion
47
+ export { list_default as default };
@@ -0,0 +1,32 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { Measure, MeasureCompact, measureView } from "./measure-BEQfnLdN.mjs";
7
+ import { z } from "zod";
8
+
9
+ //#region src/commands/measure/list.ts
10
+ const MeasureApiList = z.array(Measure);
11
+ const MeasureListEnvelope = listEnvelopeSchema(MeasureCompact);
12
+ var list_default = defineMetabaseCommand({
13
+ meta: {
14
+ name: "list",
15
+ description: "List measures"
16
+ },
17
+ args: {
18
+ ...outputFlags,
19
+ ...profileFlag,
20
+ ...connectionFlags
21
+ },
22
+ outputSchema: MeasureListEnvelope,
23
+ examples: ["metabase measure list", "metabase measure list --json"],
24
+ async run({ ctx, getClient }) {
25
+ const client = await getClient();
26
+ const items = await client.requestParsed(MeasureApiList, "/api/measure");
27
+ renderList(wrapList(items), measureView, ctx);
28
+ }
29
+ });
30
+
31
+ //#endregion
32
+ export { list_default as default };
@@ -0,0 +1,55 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { defineMetabaseCommand, listEnvelopeSchema, listProfileNames, originOnly, outputFlags, readProfile, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { z } from "zod";
7
+
8
+ //#region src/commands/auth/list.ts
9
+ const AuthProfile = z.object({
10
+ profile: z.string(),
11
+ url: z.string().nullable(),
12
+ present: z.boolean()
13
+ });
14
+ const AuthProfileListEnvelope = listEnvelopeSchema(AuthProfile);
15
+ const authProfileView = {
16
+ compactPick: AuthProfile,
17
+ tableColumns: [
18
+ {
19
+ key: "profile",
20
+ label: "Profile"
21
+ },
22
+ {
23
+ key: "url",
24
+ label: "URL"
25
+ },
26
+ {
27
+ key: "present",
28
+ label: "Authenticated"
29
+ }
30
+ ]
31
+ };
32
+ var list_default = defineMetabaseCommand({
33
+ meta: {
34
+ name: "list",
35
+ description: "List configured authentication profiles"
36
+ },
37
+ args: { ...outputFlags },
38
+ outputSchema: AuthProfileListEnvelope,
39
+ examples: ["metabase auth list", "metabase auth list --json"],
40
+ async run({ ctx }) {
41
+ const names = await listProfileNames();
42
+ const items = await Promise.all(names.map(async (name) => {
43
+ const profile = await readProfile(name);
44
+ return {
45
+ profile: name,
46
+ url: profile === null ? null : originOnly(profile.url),
47
+ present: profile !== null
48
+ };
49
+ }));
50
+ renderList(wrapList(items), authProfileView, ctx);
51
+ }
52
+ });
53
+
54
+ //#endregion
55
+ export { list_default as default };
@@ -0,0 +1,32 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { Workspace, WorkspaceCompact, workspaceView } from "./workspace-DVuqKJGG.mjs";
7
+ import { z } from "zod";
8
+
9
+ //#region src/commands/workspace/list.ts
10
+ const WorkspaceApiList = z.array(Workspace);
11
+ const WorkspaceListEnvelope = listEnvelopeSchema(WorkspaceCompact);
12
+ var list_default = defineMetabaseCommand({
13
+ meta: {
14
+ name: "list",
15
+ description: "List workspaces"
16
+ },
17
+ args: {
18
+ ...outputFlags,
19
+ ...profileFlag,
20
+ ...connectionFlags
21
+ },
22
+ outputSchema: WorkspaceListEnvelope,
23
+ examples: ["metabase workspace list", "metabase workspace list --json"],
24
+ async run({ ctx, getClient }) {
25
+ const client = await getClient();
26
+ const items = await client.requestParsed(WorkspaceApiList, "/api/ee/workspace-manager");
27
+ renderList(wrapList(items), workspaceView, ctx);
28
+ }
29
+ });
30
+
31
+ //#endregion
32
+ export { list_default as default };
@@ -0,0 +1,40 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { Snippet, SnippetCompact, snippetView } from "./snippet-Dw0Sjzkr.mjs";
7
+ import { z } from "zod";
8
+
9
+ //#region src/commands/snippet/list.ts
10
+ const SnippetApiList = z.array(Snippet);
11
+ const SnippetListEnvelope = listEnvelopeSchema(SnippetCompact);
12
+ var list_default = defineMetabaseCommand({
13
+ meta: {
14
+ name: "list",
15
+ description: "List native query snippets"
16
+ },
17
+ args: {
18
+ ...outputFlags,
19
+ ...profileFlag,
20
+ ...connectionFlags,
21
+ archived: {
22
+ type: "boolean",
23
+ description: "Show archived snippets instead of active ones"
24
+ }
25
+ },
26
+ outputSchema: SnippetListEnvelope,
27
+ examples: [
28
+ "metabase snippet list",
29
+ "metabase snippet list --json",
30
+ "metabase snippet list --archived --json"
31
+ ],
32
+ async run({ args, ctx, getClient }) {
33
+ const client = await getClient();
34
+ const items = await client.requestParsed(SnippetApiList, "/api/native-query-snippet", { query: { archived: args.archived || void 0 } });
35
+ renderList(wrapList(items), snippetView, ctx);
36
+ }
37
+ });
38
+
39
+ //#endregion
40
+ export { list_default as default };
@@ -1,9 +1,11 @@
1
- import "./package-BGfw4ZWJ.mjs";
1
+ import "./package-DBsS7a5x.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./runtime-C9CEZhcn.mjs";
4
- import { parseId } from "./parse-id-BhmmfyCP.mjs";
5
- import "./field-C8IVs6rp.mjs";
6
- import { Table, TableCompact, tableView } from "./table-Cfk7oSvw.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { parseId } from "./parse-id-BUOZQqjp.mjs";
7
+ import "./field-DciLbuv-.mjs";
8
+ import { Table, TableCompact, tableView } from "./table-jljEqZ0R.mjs";
7
9
  import { z } from "zod";
8
10
 
9
11
  //#region src/commands/table/list.ts
@@ -1,7 +1,9 @@
1
- import "./package-BGfw4ZWJ.mjs";
1
+ import "./package-DBsS7a5x.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./runtime-C9CEZhcn.mjs";
4
- import { Setting, SettingCompact, settingView } from "./setting-26ckqHAP.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
6
+ import { Setting, SettingCompact, settingView } from "./setting-CTaAeMci.mjs";
5
7
  import { z } from "zod";
6
8
 
7
9
  //#region src/commands/setting/list.ts
@@ -0,0 +1,61 @@
1
+ import "./package-DBsS7a5x.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, parseEnum, profileFlag } from "./runtime-D7jihh81.mjs";
6
+ import "./field-DciLbuv-.mjs";
7
+ import "./table-jljEqZ0R.mjs";
8
+ import { Database, DatabaseCompact, databaseView } from "./database-Dvkfy3JM.mjs";
9
+ import { z } from "zod";
10
+
11
+ //#region src/commands/db/list.ts
12
+ const DatabaseListInclude = z.enum(["tables"]);
13
+ const DatabaseApiList = z.object({
14
+ data: z.array(Database),
15
+ total: z.number().int().nonnegative()
16
+ }).loose();
17
+ const DatabaseListEnvelope = listEnvelopeSchema(DatabaseCompact);
18
+ var list_default = defineMetabaseCommand({
19
+ meta: {
20
+ name: "list",
21
+ description: "List databases"
22
+ },
23
+ args: {
24
+ ...outputFlags,
25
+ ...profileFlag,
26
+ ...connectionFlags,
27
+ include: {
28
+ type: "string",
29
+ description: `Hydrate related entities: ${DatabaseListInclude.options.join("|")}`
30
+ },
31
+ saved: {
32
+ type: "boolean",
33
+ description: "Include the Saved Questions virtual database"
34
+ }
35
+ },
36
+ outputSchema: DatabaseListEnvelope,
37
+ examples: [
38
+ "metabase db list",
39
+ "metabase db list --json",
40
+ "metabase db list --include tables --json",
41
+ "metabase db list --saved --json"
42
+ ],
43
+ async run({ args, ctx, getClient }) {
44
+ const include = parseEnum(args.include, DatabaseListInclude, "--include");
45
+ const saved = args.saved ? true : void 0;
46
+ const client = await getClient();
47
+ const response = await client.requestParsed(DatabaseApiList, "/api/database", { query: {
48
+ include,
49
+ saved
50
+ } });
51
+ const envelope = {
52
+ data: response.data,
53
+ returned: response.data.length,
54
+ total: response.total
55
+ };
56
+ renderList(envelope, databaseView, ctx);
57
+ }
58
+ });
59
+
60
+ //#endregion
61
+ export { list_default as default };