@metabase/cli 0.1.0-alpha.workspaces-commands.818a8f1 → 0.1.0-alpha.workspaces-commands.5ab9ca6

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 (125) hide show
  1. package/README.md +129 -0
  2. package/dist/{api-key-D9XxErQn.mjs → api-key-aNbgDn-8.mjs} +1 -1
  3. package/dist/{archive-BPG5c88Y.mjs → archive-WGVkPuf8.mjs} +6 -5
  4. package/dist/{auth--Hpjwlaf.mjs → auth-BV8kyXup.mjs} +3 -3
  5. package/dist/{body-DwU2s6Pg.mjs → body-Diijawme.mjs} +3 -2
  6. package/dist/{branches-BbcoJXfp.mjs → branches-BlSi3TBx.mjs} +6 -5
  7. package/dist/{cancel-task-BDas45YO.mjs → cancel-task-IE1xGzfI.mjs} +6 -5
  8. package/dist/card-Dj-6OZZT.mjs +19 -0
  9. package/dist/cards-DnUcsvj8.mjs +37 -0
  10. package/dist/cli.mjs +19 -17
  11. package/dist/create-3d18k8Id.mjs +48 -0
  12. package/dist/{create-DpnjQvPw.mjs → create-D-ByDVsB.mjs} +8 -7
  13. package/dist/{create-CCzsCZMm.mjs → create-D62m-Ubn.mjs} +8 -7
  14. package/dist/create-DYo4lbI2.mjs +47 -0
  15. package/dist/{create-Bd_U1zWU.mjs → create-DmakvRrX.mjs} +9 -8
  16. package/dist/create-QXhhxZr5.mjs +44 -0
  17. package/dist/{create-branch-sDttBORB.mjs → create-branch-C2Bdsd5R.mjs} +6 -5
  18. package/dist/{credentials-C0xKke5D.mjs → credentials-QKZob37v.mjs} +8 -7
  19. package/dist/{current-task-BGt1mqaX.mjs → current-task-DGuhFVZr.mjs} +6 -5
  20. package/dist/dashboard-DG6URsA8.mjs +20 -0
  21. package/dist/dashboard-DVCLGg3X.mjs +152 -0
  22. package/dist/{database-4V1iiPEx.mjs → database-Bw72HWEJ.mjs} +3 -3
  23. package/dist/{db-Dm2u2ISJ.mjs → db-BA6VieA7.mjs} +2 -2
  24. package/dist/{delete-DRBTgyus.mjs → delete-CTl8JxXL.mjs} +7 -6
  25. package/dist/{delete-DUC_stoL.mjs → delete-CYvfBnPq.mjs} +7 -6
  26. package/dist/{delete-runtime-inOVw3IX.mjs → delete-runtime-ZDxlvZa6.mjs} +3 -3
  27. package/dist/{delete-table-9Is631O_.mjs → delete-table-CZZncGrk.mjs} +7 -6
  28. package/dist/{deprovision-BAMzZc6f.mjs → deprovision-C_UQ1JgA.mjs} +11 -10
  29. package/dist/{dirty-CLjHbz6J.mjs → dirty-B798WgvJ.mjs} +6 -5
  30. package/dist/{docker-QWVMG2gl.mjs → docker-CJur3rjL.mjs} +4 -3
  31. package/dist/{eid-BNhutC1U.mjs → eid-DANih6Hk.mjs} +1 -1
  32. package/dist/errors-C6w1eZ1F.mjs +101 -0
  33. package/dist/{export-D2Anfu3p.mjs → export-DdkQHl4m.mjs} +7 -6
  34. package/dist/{field-Dhs2AND3.mjs → field-CAvHQkzI.mjs} +1 -1
  35. package/dist/{flag-pair-CWvvzDJ_.mjs → flag-pair-Dz-mbq0z.mjs} +1 -1
  36. package/dist/{get-CAPLfawI.mjs → get-BIzIOb3U.mjs} +6 -5
  37. package/dist/{get-2po1uv9i.mjs → get-BrpB_58I.mjs} +6 -5
  38. package/dist/{get-DDWpubE8.mjs → get-C7lv9SOO.mjs} +7 -6
  39. package/dist/{get-qPOsuTPw.mjs → get-CuiofGwZ.mjs} +6 -5
  40. package/dist/{get-CAVVmdMX.mjs → get-D7DCc-zR.mjs} +6 -5
  41. package/dist/get-HNKc0k5G.mjs +40 -0
  42. package/dist/{get-BHJA78zg.mjs → get-Ldui5Vyl.mjs} +6 -5
  43. package/dist/{get-DhIoNeOp.mjs → get-soL4Z2jq.mjs} +6 -5
  44. package/dist/{has-remote-changes-DAL5jetW.mjs → has-remote-changes-6bXwJa7C.mjs} +6 -5
  45. package/dist/{import-CUMxUfSF.mjs → import-ys-pzibQ.mjs} +7 -6
  46. package/dist/{input-BNqSFl38.mjs → input-DkgCMNA9.mjs} +1 -1
  47. package/dist/{is-dirty-B10S6MG0.mjs → is-dirty-AUZADvDx.mjs} +3 -3
  48. package/dist/is-dirty-DG5Samxj.mjs +10 -0
  49. package/dist/{key-CyhOpgWt.mjs → key-CpWh7W8M.mjs} +1 -1
  50. package/dist/{license-DtsGJi3l.mjs → license-Cr24Ibp3.mjs} +3 -3
  51. package/dist/{list-Y7iGsOfE.mjs → list-C737c643.mjs} +5 -4
  52. package/dist/{list-evtQS7jl.mjs → list-CeqlehZp.mjs} +5 -4
  53. package/dist/{list-C5MGydGU.mjs → list-Cwcz1wg7.mjs} +5 -4
  54. package/dist/{list-OBx5B3gd.mjs → list-DD0dVVEl.mjs} +7 -6
  55. package/dist/{list-qetY9OIN.mjs → list-DI9--PcL.mjs} +5 -4
  56. package/dist/{list-B8s7Qnzk.mjs → list-DxOceJmQ.mjs} +5 -4
  57. package/dist/list-SQESC1Z9.mjs +47 -0
  58. package/dist/{list-DeFGwhhJ.mjs → list-owVW2jma.mjs} +5 -4
  59. package/dist/{login-Dqw9ZtCx.mjs → login-Bw7TcgTG.mjs} +6 -5
  60. package/dist/{logout-DwYJ5OUi.mjs → logout-DEzazQMO.mjs} +5 -4
  61. package/dist/{logs-B_lrY7Js.mjs → logs-QMdzAnlJ.mjs} +6 -5
  62. package/dist/{manifest-wzEFG0JB.mjs → manifest-IMg51yb7.mjs} +3 -7
  63. package/dist/{package-t8dKf4m_.mjs → package-ROuZ4tbw.mjs} +6 -1
  64. package/dist/{parse-id-C1prc9US.mjs → parse-id-CGyF8OPI.mjs} +1 -1
  65. package/dist/{poll-D2sXM5rc.mjs → poll-B5RO0ias.mjs} +2 -1
  66. package/dist/{poll-task-Byiunmaj.mjs → poll-task-BU0gpBIk.mjs} +2 -2
  67. package/dist/{prompt-fXeNtj0M.mjs → prompt-D8p00XDp.mjs} +1 -1
  68. package/dist/{provision-DC4_HWZD.mjs → provision-CH7aVxXn.mjs} +12 -11
  69. package/dist/ps-D930MtWo.mjs +10 -0
  70. package/dist/{ps-BiOrecEe.mjs → ps-DP5XSIOy.mjs} +3 -3
  71. package/dist/{query-BnGVGeM3.mjs → query-DNiw6JKA.mjs} +6 -5
  72. package/dist/query-DwBWeir4.mjs +93 -0
  73. package/dist/{remove-DecoZzNd.mjs → remove-CmF7i1Jq.mjs} +8 -7
  74. package/dist/{remove-Bx48o-0S.mjs → remove-WGIoTwsl.mjs} +5 -4
  75. package/dist/{render-DlBijc5i.mjs → render-CZNR2MNK.mjs} +5 -2
  76. package/dist/{run-D4NgvaRh.mjs → run-CabruqrJ.mjs} +8 -7
  77. package/dist/{runtime-DUgFfYkN.mjs → runtime-8SAm0dHE.mjs} +7 -104
  78. package/dist/{search-4wKx5ug2.mjs → search-DNvad2hL.mjs} +5 -4
  79. package/dist/{set-DCjrmTFm.mjs → set-BclYXZNW.mjs} +8 -7
  80. package/dist/{set-BZnCRL4c.mjs → set-Cog7mkJT.mjs} +6 -5
  81. package/dist/{setting-C4vQSqer.mjs → setting-jFe6Zt2S.mjs} +3 -3
  82. package/dist/{setup-Dqh9hN6l.mjs → setup-Cw5pIrBj.mjs} +7 -6
  83. package/dist/{start-xXQypG5L.mjs → start-CNn99SQU.mjs} +17 -9
  84. package/dist/{stash-ZZkmW_V7.mjs → stash-BWCuQzmR.mjs} +7 -6
  85. package/dist/{status-JH6BZppo.mjs → status-CCqjWCFF.mjs} +4 -3
  86. package/dist/{status-9KAPIpX8.mjs → status-CSAGf0mB.mjs} +4 -3
  87. package/dist/{status-DezF-PIM.mjs → status-yZk5nUq3.mjs} +7 -6
  88. package/dist/{stop-br-ZOnve.mjs → stop-DMZey9PG.mjs} +8 -7
  89. package/dist/sync-BgVaAyuq.mjs +26 -0
  90. package/dist/{table-D-Mb5Nvw.mjs → table-BGLcZjyq.mjs} +2 -2
  91. package/dist/{table-BvAr2ixC.mjs → table-BbNgtqbd.mjs} +1 -1
  92. package/dist/transform-DpYeGyik.mjs +21 -0
  93. package/dist/transform-job-B1s0Q-rD.mjs +19 -0
  94. package/dist/{translate-DJxDVAE4.mjs → translate-p5_8y0R7.mjs} +8 -7
  95. package/dist/{update-DxKlQ0hP.mjs → update-Bh9gTZQA.mjs} +9 -8
  96. package/dist/update-Bz63bSR3.mjs +52 -0
  97. package/dist/{update-DYVeVjk2.mjs → update-CBaL4nmE.mjs} +12 -11
  98. package/dist/update-DbY0q1Ja.mjs +55 -0
  99. package/dist/update-dashcard-oH6KxEfS.mjs +67 -0
  100. package/dist/{url-DP88YHNo.mjs → url-rF80dSIr.mjs} +7 -6
  101. package/dist/validate-query-DE4UouY3.mjs +1521 -0
  102. package/dist/{wait-DwZN3ZwR.mjs → wait-BMxAPnb0.mjs} +2 -2
  103. package/dist/{wait-Cj_8wu4y.mjs → wait-CLNtd-on.mjs} +7 -6
  104. package/dist/{wait-flags-CjW4ogUJ.mjs → wait-flags-lGEHf-vx.mjs} +2 -2
  105. package/dist/workspace-BVCgMRZS.mjs +24 -0
  106. package/dist/{workspace-credentials-q5RRFMT8.mjs → workspace-credentials-BxrU2xZb.mjs} +1 -1
  107. package/package.json +6 -1
  108. package/dist/card-D4zZSPUb.mjs +0 -19
  109. package/dist/create-CwVcoq0O.mjs +0 -43
  110. package/dist/create-_UOeEXAj.mjs +0 -39
  111. package/dist/is-dirty-CUuq-aB6.mjs +0 -9
  112. package/dist/ps-1bZKIwWh.mjs +0 -9
  113. package/dist/sync-C7VOWD00.mjs +0 -26
  114. package/dist/transform-CqxZwhGs.mjs +0 -21
  115. package/dist/transform-job-HjbqjEoP.mjs +0 -19
  116. package/dist/update-CDtm71m2.mjs +0 -50
  117. package/dist/workspace-CbwR0vX_.mjs +0 -24
  118. /package/dist/{body-flags-7oqLhu5j.mjs → body-flags-BK7J6Daz.mjs} +0 -0
  119. /package/dist/{card-C31pGtBZ.mjs → card-2XdaHHSS.mjs} +0 -0
  120. /package/dist/{database-BTX5qbSv.mjs → database-B9-7QAXE.mjs} +0 -0
  121. /package/dist/{field-QwBMAWsq.mjs → field-D_g4xvH9.mjs} +0 -0
  122. /package/dist/{setting-DM7pm7yh.mjs → setting-Bm84ixxW.mjs} +0 -0
  123. /package/dist/{transform-DfVkUttP.mjs → transform-CRRW0mFp.mjs} +0 -0
  124. /package/dist/{transform-job-DuB_OjhO.mjs → transform-job-BtCoVYsb.mjs} +0 -0
  125. /package/dist/{workspace-Dr9lWU3D.mjs → workspace-C3tGVQ6_.mjs} +0 -0
@@ -0,0 +1,152 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/domain/dashboard.ts
4
+ const DashboardWidth = z.enum(["fixed", "full"]);
5
+ const Dashcard = z.object({
6
+ id: z.number().int(),
7
+ dashboard_id: z.number().int(),
8
+ card_id: z.number().int().nullable(),
9
+ dashboard_tab_id: z.number().int().nullable(),
10
+ row: z.number().int(),
11
+ col: z.number().int(),
12
+ size_x: z.number().int(),
13
+ size_y: z.number().int(),
14
+ entity_id: z.string().nullable(),
15
+ visualization_settings: z.unknown(),
16
+ parameter_mappings: z.array(z.unknown()).nullable(),
17
+ inline_parameters: z.array(z.string()).nullable()
18
+ }).loose();
19
+ const DashcardCompact = Dashcard.pick({
20
+ id: true,
21
+ dashboard_id: true,
22
+ card_id: true,
23
+ dashboard_tab_id: true,
24
+ row: true,
25
+ col: true,
26
+ size_x: true,
27
+ size_y: true
28
+ }).strip();
29
+ const dashcardView = {
30
+ compactPick: DashcardCompact,
31
+ tableColumns: [
32
+ {
33
+ key: "id",
34
+ label: "ID"
35
+ },
36
+ {
37
+ key: "card_id",
38
+ label: "Card"
39
+ },
40
+ {
41
+ key: "dashboard_tab_id",
42
+ label: "Tab"
43
+ },
44
+ {
45
+ key: "row",
46
+ label: "Row"
47
+ },
48
+ {
49
+ key: "col",
50
+ label: "Col"
51
+ },
52
+ {
53
+ key: "size_x",
54
+ label: "W"
55
+ },
56
+ {
57
+ key: "size_y",
58
+ label: "H"
59
+ }
60
+ ]
61
+ };
62
+ const DashboardTab = z.object({
63
+ id: z.number().int(),
64
+ dashboard_id: z.number().int(),
65
+ name: z.string(),
66
+ position: z.number().int().optional(),
67
+ entity_id: z.string().nullable().optional()
68
+ }).loose();
69
+ const Dashboard = z.object({
70
+ id: z.number().int(),
71
+ name: z.string(),
72
+ description: z.string().nullable(),
73
+ archived: z.boolean(),
74
+ collection_id: z.number().int().nullable(),
75
+ creator_id: z.number().int(),
76
+ entity_id: z.string().nullable(),
77
+ width: DashboardWidth,
78
+ auto_apply_filters: z.boolean(),
79
+ enable_embedding: z.boolean(),
80
+ public_uuid: z.string().nullable(),
81
+ cache_ttl: z.number().int().nullable(),
82
+ parameters: z.array(z.unknown()).nullable(),
83
+ dashcards: z.array(Dashcard).optional(),
84
+ tabs: z.array(DashboardTab).optional()
85
+ }).loose();
86
+ const DashboardDetail = Dashboard.extend({
87
+ dashcards: z.array(Dashcard),
88
+ tabs: z.array(DashboardTab)
89
+ });
90
+ const DashboardCompact = Dashboard.pick({
91
+ id: true,
92
+ name: true,
93
+ description: true,
94
+ archived: true,
95
+ collection_id: true
96
+ }).strip();
97
+ const dashboardView = {
98
+ compactPick: DashboardCompact,
99
+ tableColumns: [
100
+ {
101
+ key: "id",
102
+ label: "ID"
103
+ },
104
+ {
105
+ key: "name",
106
+ label: "Name"
107
+ },
108
+ {
109
+ key: "collection_id",
110
+ label: "Collection"
111
+ },
112
+ {
113
+ key: "archived",
114
+ label: "Archived"
115
+ }
116
+ ]
117
+ };
118
+ const DashboardCreateInput = z.object({
119
+ name: z.string().min(1),
120
+ description: z.string().nullable().optional(),
121
+ parameters: z.array(z.unknown()).optional(),
122
+ cache_ttl: z.number().int().positive().optional(),
123
+ collection_id: z.number().int().positive().nullable().optional(),
124
+ collection_position: z.number().int().positive().nullable().optional()
125
+ }).loose();
126
+ const DashboardUpdateInput = z.object({
127
+ name: z.string().min(1).optional(),
128
+ description: z.string().nullable().optional(),
129
+ archived: z.boolean().optional(),
130
+ width: DashboardWidth.optional(),
131
+ enable_embedding: z.boolean().optional(),
132
+ embedding_params: z.unknown().optional(),
133
+ parameters: z.array(z.unknown()).optional(),
134
+ cache_ttl: z.number().int().positive().nullable().optional(),
135
+ collection_id: z.number().int().positive().nullable().optional(),
136
+ collection_position: z.number().int().positive().nullable().optional(),
137
+ dashcards: z.array(z.unknown()).optional(),
138
+ tabs: z.array(DashboardTab.partial()).optional()
139
+ }).loose();
140
+ const DashcardPatchInput = z.object({
141
+ row: z.number().int().nonnegative().optional(),
142
+ col: z.number().int().nonnegative().optional(),
143
+ size_x: z.number().int().positive().optional(),
144
+ size_y: z.number().int().positive().optional(),
145
+ dashboard_tab_id: z.number().int().nullable().optional(),
146
+ parameter_mappings: z.array(z.unknown()).optional(),
147
+ inline_parameters: z.array(z.string()).optional(),
148
+ visualization_settings: z.unknown().optional()
149
+ }).strict().refine((value) => Object.keys(value).length > 0, { message: "patch must contain at least one field" });
150
+
151
+ //#endregion
152
+ export { Dashboard, DashboardCompact, DashboardCreateInput, DashboardDetail, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardPatchInput, dashboardView, dashcardView };
@@ -7,9 +7,9 @@ var database_default = defineCommand({
7
7
  description: "Manage databases provisioned to a workspace"
8
8
  },
9
9
  subCommands: {
10
- provision: () => import("./provision-DC4_HWZD.mjs").then((mod) => mod.default),
11
- update: () => import("./update-DYVeVjk2.mjs").then((mod) => mod.default),
12
- deprovision: () => import("./deprovision-BAMzZc6f.mjs").then((mod) => mod.default)
10
+ provision: () => import("./provision-CH7aVxXn.mjs").then((mod) => mod.default),
11
+ update: () => import("./update-CBaL4nmE.mjs").then((mod) => mod.default),
12
+ deprovision: () => import("./deprovision-C_UQ1JgA.mjs").then((mod) => mod.default)
13
13
  }
14
14
  });
15
15
 
@@ -8,8 +8,8 @@ var db_default = defineCommand({
8
8
  alias: "database"
9
9
  },
10
10
  subCommands: {
11
- list: () => import("./list-evtQS7jl.mjs").then((m) => m.default),
12
- get: () => import("./get-2po1uv9i.mjs").then((m) => m.default)
11
+ list: () => import("./list-CeqlehZp.mjs").then((m) => m.default),
12
+ get: () => import("./get-BrpB_58I.mjs").then((m) => m.default)
13
13
  }
14
14
  });
15
15
 
@@ -1,10 +1,11 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import "./prompt-fXeNtj0M.mjs";
7
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-inOVw3IX.mjs";
3
+ import "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import "./prompt-D8p00XDp.mjs";
8
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-ZDxlvZa6.mjs";
8
9
 
9
10
  //#region src/commands/transform/delete.ts
10
11
  var delete_default = defineMetabaseCommand({
@@ -1,10 +1,11 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import "./prompt-fXeNtj0M.mjs";
7
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-inOVw3IX.mjs";
3
+ import "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import "./prompt-D8p00XDp.mjs";
8
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-ZDxlvZa6.mjs";
8
9
 
9
10
  //#region src/commands/transform-job/delete.ts
10
11
  var delete_default = defineMetabaseCommand({
@@ -1,6 +1,6 @@
1
- import { renderItem } from "./render-DlBijc5i.mjs";
2
- import { ConfigError } from "./runtime-DUgFfYkN.mjs";
3
- import { promptConfirm } from "./prompt-fXeNtj0M.mjs";
1
+ import { renderItem } from "./render-CZNR2MNK.mjs";
2
+ import { ConfigError } from "./errors-C6w1eZ1F.mjs";
3
+ import { promptConfirm } from "./prompt-D8p00XDp.mjs";
4
4
  import { z } from "zod";
5
5
 
6
6
  //#region src/commands/delete-runtime.ts
@@ -1,10 +1,11 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import "./prompt-fXeNtj0M.mjs";
7
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-inOVw3IX.mjs";
3
+ import "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import "./prompt-D8p00XDp.mjs";
8
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-ZDxlvZa6.mjs";
8
9
 
9
10
  //#region src/commands/transform/delete-table.ts
10
11
  var delete_table_default = defineMetabaseCommand({
@@ -1,14 +1,15 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import "./prompt-fXeNtj0M.mjs";
7
- import "./poll-D2sXM5rc.mjs";
8
- import { DeleteResult, confirmAndDelete } from "./delete-runtime-inOVw3IX.mjs";
9
- import { parseWaitFlags, waitFlags } from "./wait-flags-CjW4ogUJ.mjs";
10
- import "./workspace-Dr9lWU3D.mjs";
11
- import { waitForDatabaseGone } from "./wait-DwZN3ZwR.mjs";
3
+ import "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import "./prompt-D8p00XDp.mjs";
8
+ import "./poll-B5RO0ias.mjs";
9
+ import { DeleteResult, confirmAndDelete } from "./delete-runtime-ZDxlvZa6.mjs";
10
+ import { parseWaitFlags, waitFlags } from "./wait-flags-lGEHf-vx.mjs";
11
+ import "./workspace-C3tGVQ6_.mjs";
12
+ import { waitForDatabaseGone } from "./wait-BMxAPnb0.mjs";
12
13
 
13
14
  //#region src/commands/workspace/database/deprovision.ts
14
15
  var deprovision_default = defineMetabaseCommand({
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-DUgFfYkN.mjs";
5
- import { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, syncDirtyItemView } from "./poll-task-Byiunmaj.mjs";
6
- import "./poll-D2sXM5rc.mjs";
3
+ import { renderList } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-8SAm0dHE.mjs";
6
+ import { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, syncDirtyItemView } from "./poll-task-BU0gpBIk.mjs";
7
+ import "./poll-B5RO0ias.mjs";
7
8
  import { z } from "zod";
8
9
 
9
10
  //#region src/commands/sync/dirty.ts
@@ -1,5 +1,6 @@
1
- import { ConfigError, errorMessage, isNotFoundError, parseJson } from "./runtime-DUgFfYkN.mjs";
2
- import { pollUntil } from "./poll-D2sXM5rc.mjs";
1
+ import { ConfigError, errorMessage, isNotFoundError } from "./errors-C6w1eZ1F.mjs";
2
+ import { parseJson } from "./runtime-8SAm0dHE.mjs";
3
+ import { pollUntil } from "./poll-B5RO0ias.mjs";
3
4
  import { z } from "zod";
4
5
  import { spawn } from "node:child_process";
5
6
 
@@ -454,7 +455,7 @@ function workspaceContainerEnv(spec) {
454
455
  MB_DB_FILE: `${CONTAINER_APP_DB_DIR}/metabase.db`,
455
456
  JAVA_OPTS: "-Xmx2g"
456
457
  };
457
- if (spec.metadataJson !== null) env["MB_DATABASE_METADATA_PATH"] = `${CONTAINER_CONFIG_DIR}/${METADATA_FILENAME}`;
458
+ if (spec.metadataJson !== null) env["MB_TABLE_METADATA_PATH"] = `${CONTAINER_CONFIG_DIR}/${METADATA_FILENAME}`;
458
459
  return env;
459
460
  }
460
461
  async function createContainer(options) {
@@ -6,7 +6,7 @@ var eid_default = defineCommand({
6
6
  name: "eid",
7
7
  description: "Translate Metabase entity ids (string EIDs) to numeric ids"
8
8
  },
9
- subCommands: { translate: () => import("./translate-DJxDVAE4.mjs").then((mod) => mod.default) }
9
+ subCommands: { translate: () => import("./translate-p5_8y0R7.mjs").then((mod) => mod.default) }
10
10
  });
11
11
 
12
12
  //#endregion
@@ -0,0 +1,101 @@
1
+ import { ZodError } from "zod";
2
+ import { isCancel } from "@clack/prompts";
3
+
4
+ //#region src/core/errors.ts
5
+ var MetabaseError = class extends Error {
6
+ get userMessage() {
7
+ return this.message;
8
+ }
9
+ };
10
+ var NetworkError = class extends MetabaseError {
11
+ category = "network";
12
+ isRetryable = true;
13
+ exitCode = 1;
14
+ developerDetail;
15
+ constructor(message, developerDetail) {
16
+ super(message);
17
+ this.name = "NetworkError";
18
+ this.developerDetail = developerDetail;
19
+ }
20
+ };
21
+ var TimeoutError = class extends MetabaseError {
22
+ category = "timeout";
23
+ isRetryable = true;
24
+ exitCode = 1;
25
+ developerDetail;
26
+ constructor(message, developerDetail) {
27
+ super(message);
28
+ this.name = "TimeoutError";
29
+ this.developerDetail = developerDetail;
30
+ }
31
+ };
32
+ var ValidationError = class extends MetabaseError {
33
+ category = "validation";
34
+ isRetryable = false;
35
+ exitCode = 1;
36
+ developerDetail;
37
+ constructor(message, developerDetail) {
38
+ super(message);
39
+ this.name = "ValidationError";
40
+ this.developerDetail = developerDetail;
41
+ }
42
+ };
43
+ var ConfigError = class extends MetabaseError {
44
+ category = "config";
45
+ isRetryable = false;
46
+ exitCode = 2;
47
+ developerDetail = null;
48
+ constructor(message) {
49
+ super(message);
50
+ this.name = "ConfigError";
51
+ }
52
+ };
53
+ var AbortError = class extends MetabaseError {
54
+ category = "abort";
55
+ isRetryable = false;
56
+ exitCode = 130;
57
+ developerDetail = null;
58
+ constructor(message = "aborted") {
59
+ super(message);
60
+ this.name = "AbortError";
61
+ }
62
+ };
63
+ var UnknownError = class extends MetabaseError {
64
+ category = "unknown";
65
+ isRetryable = false;
66
+ exitCode = 1;
67
+ developerDetail;
68
+ constructor(input) {
69
+ super(input.originalMessage);
70
+ this.name = "UnknownError";
71
+ this.developerDetail = input;
72
+ }
73
+ };
74
+ function toMetabaseError(error) {
75
+ if (error instanceof MetabaseError) return error;
76
+ if (isCancel(error)) return new AbortError();
77
+ if (error instanceof ZodError) return new ConfigError(formatZodError(error));
78
+ if (error instanceof Error) return new UnknownError({
79
+ originalMessage: error.message,
80
+ stack: error.stack ?? null
81
+ });
82
+ return new UnknownError({
83
+ originalMessage: String(error),
84
+ stack: null
85
+ });
86
+ }
87
+ function formatZodError(error) {
88
+ return error.issues.map((issue) => {
89
+ const path = issue.path.join(".");
90
+ return path ? `${path}: ${issue.message}` : issue.message;
91
+ }).join("; ");
92
+ }
93
+ function isNotFoundError(value) {
94
+ return value instanceof Error && "code" in value && value.code === "ENOENT";
95
+ }
96
+ function errorMessage(value) {
97
+ return value instanceof Error ? value.message : String(value);
98
+ }
99
+
100
+ //#endregion
101
+ export { AbortError, ConfigError, MetabaseError, NetworkError, TimeoutError, ValidationError, errorMessage, isNotFoundError, toMetabaseError };
@@ -1,10 +1,11 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-Byiunmaj.mjs";
7
- import "./poll-D2sXM5rc.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-BU0gpBIk.mjs";
8
+ import "./poll-B5RO0ias.mjs";
8
9
  import { z } from "zod";
9
10
 
10
11
  //#region src/commands/sync/export.ts
@@ -6,7 +6,7 @@ var field_default = defineCommand({
6
6
  name: "field",
7
7
  description: "Inspect Metabase fields"
8
8
  },
9
- subCommands: { get: () => import("./get-BHJA78zg.mjs").then((m) => m.default) }
9
+ subCommands: { get: () => import("./get-Ldui5Vyl.mjs").then((m) => m.default) }
10
10
  });
11
11
 
12
12
  //#endregion
@@ -1,4 +1,4 @@
1
- import { ConfigError } from "./runtime-DUgFfYkN.mjs";
1
+ import { ConfigError } from "./errors-C6w1eZ1F.mjs";
2
2
 
3
3
  //#region src/commands/flag-pair.ts
4
4
  function requireBothOrNeither(first, second) {
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import { Card, cardView } from "./card-C31pGtBZ.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { Card, cardView } from "./card-2XdaHHSS.mjs";
7
8
 
8
9
  //#region src/commands/card/get.ts
9
10
  var get_default = defineMetabaseCommand({
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import { Database, databaseView } from "./database-BTX5qbSv.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { Database, databaseView } from "./database-B9-7QAXE.mjs";
7
8
 
8
9
  //#region src/commands/db/get.ts
9
10
  var get_default = defineMetabaseCommand({
@@ -1,10 +1,11 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import "./field-QwBMAWsq.mjs";
7
- import { Table, tableView } from "./table-BvAr2ixC.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import "./field-D_g4xvH9.mjs";
8
+ import { Table, tableView } from "./table-BbNgtqbd.mjs";
8
9
 
9
10
  //#region src/commands/table/get.ts
10
11
  var get_default = defineMetabaseCommand({
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import { Transform, transformView } from "./transform-DfVkUttP.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { Transform, transformView } from "./transform-CRRW0mFp.mjs";
7
8
 
8
9
  //#region src/commands/transform/get.ts
9
10
  var get_default = defineMetabaseCommand({
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, parseJson, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { SettingValue, settingValueView } from "./setting-DM7pm7yh.mjs";
6
- import { parseSettingKey } from "./key-CyhOpgWt.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, parseJson, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { SettingValue, settingValueView } from "./setting-Bm84ixxW.mjs";
7
+ import { parseSettingKey } from "./key-CpWh7W8M.mjs";
7
8
  import { z } from "zod";
8
9
 
9
10
  //#region src/commands/setting/get.ts
@@ -0,0 +1,40 @@
1
+ import "./package-ROuZ4tbw.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { DashboardDetail, dashboardView } from "./dashboard-DVCLGg3X.mjs";
8
+
9
+ //#region src/commands/dashboard/get.ts
10
+ var get_default = defineMetabaseCommand({
11
+ meta: {
12
+ name: "get",
13
+ description: "Get a dashboard by id"
14
+ },
15
+ args: {
16
+ ...outputFlags,
17
+ ...profileFlag,
18
+ ...connectionFlags,
19
+ id: {
20
+ type: "positional",
21
+ description: "Dashboard id",
22
+ required: true
23
+ }
24
+ },
25
+ outputSchema: DashboardDetail,
26
+ examples: [
27
+ "metabase dashboard get 1",
28
+ "metabase dashboard get 1 --json",
29
+ "metabase dashboard get 1 --json --full"
30
+ ],
31
+ async run({ args, ctx, getClient }) {
32
+ const id = parseId(args.id);
33
+ const client = await getClient();
34
+ const dashboard = await client.requestParsed(DashboardDetail, `/api/dashboard/${id}`);
35
+ renderItem(dashboard, dashboardView, ctx);
36
+ }
37
+ });
38
+
39
+ //#endregion
40
+ export { get_default as default };
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import { Field, fieldView } from "./field-QwBMAWsq.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { Field, fieldView } from "./field-D_g4xvH9.mjs";
7
8
 
8
9
  //#region src/commands/field/get.ts
9
10
  var get_default = defineMetabaseCommand({
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { parseId } from "./parse-id-C1prc9US.mjs";
6
- import { TransformJob, transformJobView } from "./transform-job-DuB_OjhO.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { parseId } from "./parse-id-CGyF8OPI.mjs";
7
+ import { TransformJob, transformJobView } from "./transform-job-BtCoVYsb.mjs";
7
8
 
8
9
  //#region src/commands/transform-job/get.ts
9
10
  var get_default = defineMetabaseCommand({
@@ -1,9 +1,10 @@
1
- import "./package-t8dKf4m_.mjs";
1
+ import "./package-ROuZ4tbw.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DlBijc5i.mjs";
4
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DUgFfYkN.mjs";
5
- import { REMOTE_SYNC_PATHS } from "./poll-task-Byiunmaj.mjs";
6
- import "./poll-D2sXM5rc.mjs";
3
+ import { renderItem } from "./render-CZNR2MNK.mjs";
4
+ import "./errors-C6w1eZ1F.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-8SAm0dHE.mjs";
6
+ import { REMOTE_SYNC_PATHS } from "./poll-task-BU0gpBIk.mjs";
7
+ import "./poll-B5RO0ias.mjs";
7
8
  import { z } from "zod";
8
9
 
9
10
  //#region src/commands/sync/has-remote-changes.ts