@metabase/cli 0.1.0-alpha.workspaces-commands.c1d5eea → 0.1.0-alpha.workspaces-commands.d9c31ec

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 (189) hide show
  1. package/README.md +121 -100
  2. package/dist/{add-collection-Dsju7qPh.mjs → add-collection-8GuI25VU.mjs} +6 -6
  3. package/dist/add-collection-Dy0OMhKh.mjs +11 -0
  4. package/dist/{api-key-BU8wdQsz.mjs → api-key-bpZ0_40D.mjs} +1 -1
  5. package/dist/{archive-Dc8Ob7X2.mjs → archive-BAaYDw3P.mjs} +6 -6
  6. package/dist/{archive-C9nd1_nR.mjs → archive-BhqpKCm3.mjs} +7 -7
  7. package/dist/{archive-CT0qt-5r.mjs → archive-C17bfUgD.mjs} +6 -6
  8. package/dist/{archive-coFyGzcm.mjs → archive-Ci_l9wTo.mjs} +7 -7
  9. package/dist/auth-B2WfejxA.mjs +19 -0
  10. package/dist/{body-CFl-TxuS.mjs → body-DTkC7hZO.mjs} +3 -3
  11. package/dist/{branches-D84zM_wy.mjs → branches-CnlppPuF.mjs} +8 -8
  12. package/dist/{cancel-DbvPIFvO.mjs → cancel-CoZbsyqE.mjs} +5 -5
  13. package/dist/{cancel-task-CgdIriIr.mjs → cancel-task-VKO9ybMn.mjs} +9 -9
  14. package/dist/{card-BOGKT258.mjs → card-B2ZlGpQP.mjs} +3 -2
  15. package/dist/card-BgsQATFn.mjs +20 -0
  16. package/dist/{cards-Dfito_3s.mjs → cards-BLaa40uq.mjs} +6 -6
  17. package/dist/cli.mjs +24 -24
  18. package/dist/collection-wYJz_mCI.mjs +19 -0
  19. package/dist/{create-DbCWjP7O.mjs → create-1MX0T09Q.mjs} +8 -8
  20. package/dist/{create-B8-zmzDZ.mjs → create-B1NpGekI.mjs} +7 -7
  21. package/dist/{create-C45EtiVU.mjs → create-BJLX_cZo.mjs} +10 -9
  22. package/dist/{create-C9qNOUXt.mjs → create-CJxCVV2H.mjs} +24 -16
  23. package/dist/create-CRwWU9Pt.mjs +48 -0
  24. package/dist/{create-B0TZE4Hr.mjs → create-CVWAZRMp.mjs} +7 -7
  25. package/dist/{create-D2kaDG42.mjs → create-D3B8Fp4j.mjs} +7 -7
  26. package/dist/{create-D8iPEfcs.mjs → create-D3Ov4MEg.mjs} +10 -9
  27. package/dist/create-DnpGQ53I.mjs +48 -0
  28. package/dist/{create-branch-BHj7sWkz.mjs → create-branch-D3jzZxC4.mjs} +9 -9
  29. package/dist/{create-DdloUQrd.mjs → create-wWiNTJLy.mjs} +7 -7
  30. package/dist/{credentials-BXeWvbXs.mjs → credentials-DbTDsBkj.mjs} +8 -8
  31. package/dist/{current-task-t3ZYfeDJ.mjs → current-task-Bfhc8LzZ.mjs} +9 -9
  32. package/dist/dashboard-DICdcfPK.mjs +20 -0
  33. package/dist/{database-GbK7OAPX.mjs → database-DzcFix9u.mjs} +1 -1
  34. package/dist/{database-CCEjHEhb.mjs → database-ES40jkkB.mjs} +3 -3
  35. package/dist/db-CMrQrcFi.mjs +22 -0
  36. package/dist/{delete-BXnoOVMK.mjs → delete-B_pJNwBp.mjs} +7 -7
  37. package/dist/{delete-BgeI7Wzb.mjs → delete-hf1Mi3qy.mjs} +7 -7
  38. package/dist/{delete-runtime-CuaZEfPZ.mjs → delete-runtime-BMzvfj_B.mjs} +2 -2
  39. package/dist/{delete-table-Ba7JKvh7.mjs → delete-table-0sArY7go.mjs} +7 -7
  40. package/dist/{deprovision-DCtUz-YU.mjs → deprovision-DpmNjEEy.mjs} +11 -11
  41. package/dist/{dirty-2JmT5pZg.mjs → dirty-DiXL5WlS.mjs} +8 -8
  42. package/dist/{docker-DOCqIlti.mjs → docker-B-ckbz3m.mjs} +3 -3
  43. package/dist/{eid-CKrpg4jn.mjs → eid-bTxWg-gM.mjs} +1 -1
  44. package/dist/{export-CvPiPcDh.mjs → export-BzUsvMov.mjs} +11 -11
  45. package/dist/field-jFWcinu2.mjs +18 -0
  46. package/dist/{fields-CNaifB7g.mjs → fields-DET7ptiD.mjs} +7 -7
  47. package/dist/{flag-pair-DYOzdz6v.mjs → flag-pair-DtR1AiBQ.mjs} +1 -1
  48. package/dist/{get-CKkv8r_u.mjs → get-BECueuy8.mjs} +6 -6
  49. package/dist/{get-Bct3EBkp.mjs → get-BlYCHIJW.mjs} +6 -6
  50. package/dist/{get-CxmSDkJe.mjs → get-CELbZWrF.mjs} +6 -6
  51. package/dist/{get-DGmhriFO.mjs → get-CoFWjiiZ.mjs} +6 -6
  52. package/dist/{get-wC3HYX_n.mjs → get-Cu1nkuao.mjs} +8 -8
  53. package/dist/{get-DZ_tRfsn.mjs → get-D5jlfcMf.mjs} +6 -6
  54. package/dist/{get-D9OZkrQu.mjs → get-DGcusTgD.mjs} +6 -6
  55. package/dist/{get-Cp9pmC6J.mjs → get-DV1XjM5s.mjs} +6 -6
  56. package/dist/{get-Dyd0ggJ7.mjs → get-DbYGYs5c.mjs} +6 -6
  57. package/dist/get-Dm6Vm-8-.mjs +53 -0
  58. package/dist/{get-BHJt6xei.mjs → get-MHbeOynz.mjs} +6 -6
  59. package/dist/{get-run-DJDdFhZY.mjs → get-run-7hO_vClh.mjs} +6 -6
  60. package/dist/{get-Cc9CcZiV.mjs → get-ylnDN2Q8.mjs} +6 -6
  61. package/dist/{has-remote-changes-CIjJIIA-.mjs → has-remote-changes-DFARAyMl.mjs} +8 -8
  62. package/dist/{import-BdsWGGbT.mjs → import-CNi5I2EU.mjs} +11 -11
  63. package/dist/{input-fYkvqiUd.mjs → input-ikCiip6x.mjs} +1 -1
  64. package/dist/is-dirty-BFjDV_iH.mjs +10 -0
  65. package/dist/{is-dirty-CsqnEo7_.mjs → is-dirty-CPhiqe85.mjs} +5 -5
  66. package/dist/{items-CTpGfbiu.mjs → items-XPGeJSJ9.mjs} +8 -8
  67. package/dist/{key-Bb5PjkM7.mjs → key-NDEARu2L.mjs} +1 -1
  68. package/dist/{license-BG03M-I2.mjs → license-CBNy8WgI.mjs} +3 -3
  69. package/dist/{list-CHF7sQ6x.mjs → list-6myIKQLr.mjs} +4 -4
  70. package/dist/{list-C7lMxzzh.mjs → list-B-iAfasr.mjs} +5 -5
  71. package/dist/{list-E6wvq_SF.mjs → list-B15hTiuw.mjs} +5 -5
  72. package/dist/{list-CDZNFzoF.mjs → list-BGL8Z1JR.mjs} +5 -5
  73. package/dist/{list-lWJ2zBMg.mjs → list-BNtqsWab.mjs} +7 -7
  74. package/dist/{list-DS9R5u1C.mjs → list-BnRnm1Is.mjs} +5 -5
  75. package/dist/{list-D9ivyQsr.mjs → list-BoTtrGX2.mjs} +7 -7
  76. package/dist/{list-MDYtjA1Q.mjs → list-CrhFq5TH.mjs} +5 -5
  77. package/dist/{list-DcBCPK2O.mjs → list-D71fmTpn.mjs} +5 -5
  78. package/dist/{list-DWY1uNjV.mjs → list-DRBrOPpS.mjs} +5 -5
  79. package/dist/{list-CooT7UU7.mjs → list-DyBGj4yk.mjs} +5 -5
  80. package/dist/{list-DcnNRz2P.mjs → list-YXpUzQCL.mjs} +5 -5
  81. package/dist/{list-CdGj-vuH.mjs → list-ytrd005Z.mjs} +5 -5
  82. package/dist/{login-CXp0bxaB.mjs → login-BBHhoDPM.mjs} +6 -6
  83. package/dist/{logout-CnFQsbEt.mjs → logout-DMZkFSrC.mjs} +5 -5
  84. package/dist/{logs-1FNWPS2k.mjs → logs-Dusp0eIR.mjs} +6 -6
  85. package/dist/{manifest-CNNRftoC.mjs → manifest-VVjycZCe.mjs} +2 -2
  86. package/dist/measure-ol3ZlXbc.mjs +19 -0
  87. package/dist/{metadata-Cj9U2Vm6.mjs → metadata-BEPQuzQx.mjs} +8 -8
  88. package/dist/{metadata-CCE5TQqV.mjs → metadata-D1hGZxVH.mjs} +7 -7
  89. package/dist/{package-CbQKObcX.mjs → package-DwhGofpM.mjs} +1 -1
  90. package/dist/{paginate-CnTxzOh2.mjs → paginate-B9W7ZuBj.mjs} +2 -2
  91. package/dist/{parse-id-BgFi3UCN.mjs → parse-id-Di-wVtcP.mjs} +1 -1
  92. package/dist/{parse-ref-CzHgk0Hw.mjs → parse-ref-FBB8uGZw.mjs} +1 -1
  93. package/dist/{parse-schemas-CeeVtFhy.mjs → parse-schemas-DoQyoqgX.mjs} +2 -2
  94. package/dist/{poll-D1ZjdFr1.mjs → poll-BHFOOAGq.mjs} +2 -2
  95. package/dist/{poll-task-BP37zYAf.mjs → poll-task-CQ0jyN9p.mjs} +4 -4
  96. package/dist/{errors-CkVGRHrW.mjs → predicates-DiIiS3k7.mjs} +50 -7
  97. package/dist/preflight-7VrJgXMP.mjs +91 -0
  98. package/dist/{prompt-BiJFbHAV.mjs → prompt-Bf3DQ-qE.mjs} +1 -1
  99. package/dist/{provision-CAHqCCqN.mjs → provision-ChB9o8Vo.mjs} +12 -12
  100. package/dist/ps-D9xB9Ozi.mjs +10 -0
  101. package/dist/{ps-Csbckpzy.mjs → ps-DWjsRdjB.mjs} +3 -3
  102. package/dist/{query-DRkBg3wV.mjs → query-DLQsi5fQ.mjs} +6 -6
  103. package/dist/query-Xy_Hg05O.mjs +89 -0
  104. package/dist/remote-sync-C7sgxp7Q.mjs +28 -0
  105. package/dist/{remove-B8OV41WP.mjs → remove-Cw_fznOe.mjs} +5 -5
  106. package/dist/{remove-Cvk6y8BI.mjs → remove-DDmdEMUN.mjs} +8 -8
  107. package/dist/{remove-collection-Bm4M_Yss.mjs → remove-collection-CXSYFReG.mjs} +10 -10
  108. package/dist/{render-BblMa0Cg.mjs → render-DXv-D6fU.mjs} +2 -8
  109. package/dist/{rescan-values-CTN1kQ42.mjs → rescan-values-8gedBuRt.mjs} +8 -8
  110. package/dist/{run-G0ID7yHo.mjs → run-DiCxS7XF.mjs} +8 -8
  111. package/dist/{runs-DQwkAOj6.mjs → runs-BRZx2sjg.mjs} +7 -7
  112. package/dist/{runtime-DcczfJol.mjs → runtime-BY0yq43g.mjs} +59 -10
  113. package/dist/{schema-tables-kIynp5bQ.mjs → schema-tables-C2I8G64H.mjs} +7 -7
  114. package/dist/{schemas-CFFB2zpA.mjs → schemas-6OCy-dtZ.mjs} +5 -5
  115. package/dist/{search-GxIXyy0y.mjs → search-CADCabkh.mjs} +5 -5
  116. package/dist/segment-CGFQ7DQW.mjs +19 -0
  117. package/dist/{set-LivrVQWS.mjs → set-BvyvNejO.mjs} +6 -6
  118. package/dist/{set-Dw4chkYT.mjs → set-Ds3IVECR.mjs} +8 -8
  119. package/dist/{setting-DLkszd2Z.mjs → setting-BTgMc8H8.mjs} +3 -3
  120. package/dist/{setup-SjNjs7J0.mjs → setup-CCm7U1YU.mjs} +6 -6
  121. package/dist/snippet-DyoeUSIZ.mjs +19 -0
  122. package/dist/{start-3g0bvGr4.mjs → start-DrUCVDmu.mjs} +9 -9
  123. package/dist/{stash-DYIChkiQ.mjs → stash-BLRsdgxP.mjs} +9 -9
  124. package/dist/{status-DIaoIXv-.mjs → status-B4LY0-fS.mjs} +4 -4
  125. package/dist/{status-CK5qyGY4.mjs → status-Vc-Z4igY.mjs} +10 -10
  126. package/dist/{status-B72bjG8r.mjs → status-pFVwQsTF.mjs} +4 -4
  127. package/dist/{stop-Cjfs6eSc.mjs → stop-DsfVFTVy.mjs} +8 -8
  128. package/dist/{summary-ejyOKb2m.mjs → summary-M5WC7ttj.mjs} +6 -6
  129. package/dist/{sync-schema-BS5iqwmO.mjs → sync-schema-CkEohTrp.mjs} +8 -8
  130. package/dist/table-BXKV-RRl.mjs +19 -0
  131. package/dist/{table-DhB2_Dxd.mjs → table-Ck9sInse.mjs} +2 -2
  132. package/dist/transform-1rvuoPJE.mjs +24 -0
  133. package/dist/transform-job-ajyQmW3Z.mjs +19 -0
  134. package/dist/{translate-Btcr7JM7.mjs → translate-CtA59uzV.mjs} +7 -7
  135. package/dist/{tree-Bee3n9O2.mjs → tree-I_YkLcUL.mjs} +5 -5
  136. package/dist/{update-6Ng7wDHI.mjs → update-CADTPRV7.mjs} +12 -12
  137. package/dist/{update-CykTg7dz.mjs → update-COd94eCd.mjs} +8 -8
  138. package/dist/{update-ClOXgd6r.mjs → update-Cs8XYPu0.mjs} +13 -9
  139. package/dist/{update-CFsK-l0O.mjs → update-DGVAW1mn.mjs} +15 -10
  140. package/dist/{update-BGu-Xfs9.mjs → update-DU9fChpu.mjs} +11 -10
  141. package/dist/{update-BVnKMYi-.mjs → update-DppEfL1x.mjs} +9 -9
  142. package/dist/{update-FUHQBhNl.mjs → update-DwJ3NPY1.mjs} +11 -10
  143. package/dist/{update-YOvftU-I.mjs → update-HGyNITdd.mjs} +8 -8
  144. package/dist/{update-CudF7SIR.mjs → update-REiXbF-2.mjs} +15 -10
  145. package/dist/{update-dashcard--VnK1rU9.mjs → update-dashcard-D_AZjssC.mjs} +8 -8
  146. package/dist/{update-DuX9MHHw.mjs → update-jt_ybR9D.mjs} +8 -8
  147. package/dist/{url-MwoX0YYz.mjs → url-mxsHGJy8.mjs} +7 -7
  148. package/dist/{uuid-DUBsfCMS.mjs → uuid-Dz2jp9kb.mjs} +4 -4
  149. package/dist/{validate-query-VseSssGt.mjs → validate-GPoiblzw.mjs} +23 -125
  150. package/dist/validate-query-DQDzQCQv.mjs +37 -0
  151. package/dist/{values-DAPG4o1b.mjs → values-D0wz8xUT.mjs} +6 -6
  152. package/dist/{wait-ByIaTJfE.mjs → wait-B2wti_nF.mjs} +10 -10
  153. package/dist/{wait-B4MBOMM1.mjs → wait-BvriwUjY.mjs} +2 -2
  154. package/dist/{wait-flags-Cq5-5h6t.mjs → wait-flags-fyZuPGaW.mjs} +2 -2
  155. package/dist/workspace-Bj2YBuLj.mjs +24 -0
  156. package/dist/{workspace-credentials-Sl-qjCOb.mjs → workspace-credentials-B6BL-X0d.mjs} +1 -1
  157. package/package.json +1 -1
  158. package/dist/add-collection-D3o3iuV6.mjs +0 -11
  159. package/dist/auth-DDWFPOHE.mjs +0 -19
  160. package/dist/card-BLpzPLLD.mjs +0 -20
  161. package/dist/collection-BGMj95CP.mjs +0 -19
  162. package/dist/create-Cx6hzotV.mjs +0 -40
  163. package/dist/create-PWrAe2aX.mjs +0 -40
  164. package/dist/dashboard-nJ1dwYuB.mjs +0 -20
  165. package/dist/db-BKNI64nZ.mjs +0 -22
  166. package/dist/field-DGy3BZhm.mjs +0 -18
  167. package/dist/get-CQEYcyoK.mjs +0 -37
  168. package/dist/is-dirty-DW1j1P0B.mjs +0 -10
  169. package/dist/measure-qkBiyAN-.mjs +0 -19
  170. package/dist/ps-CmV4Fw-U.mjs +0 -10
  171. package/dist/query-vW-ws-hr.mjs +0 -93
  172. package/dist/segment-DLvpwQyO.mjs +0 -19
  173. package/dist/snippet-DLHBijDM.mjs +0 -19
  174. package/dist/sync-D3wsCLfY.mjs +0 -28
  175. package/dist/table-DHFb9SJU.mjs +0 -19
  176. package/dist/transform-DzEnER7v.mjs +0 -24
  177. package/dist/transform-job-CNNY-VWb.mjs +0 -19
  178. package/dist/workspace-CXHVXWXa.mjs +0 -24
  179. /package/dist/{collection-KWd1KZUC.mjs → collection-DFqH6N7s.mjs} +0 -0
  180. /package/dist/{dashboard-CztCJxke.mjs → dashboard-DyrRSbqQ.mjs} +0 -0
  181. /package/dist/{field-BakUM_Le.mjs → field-D6CJbmAR.mjs} +0 -0
  182. /package/dist/{measure-B1GKcZxO.mjs → measure-jbc7fsCs.mjs} +0 -0
  183. /package/dist/{revision-message-flag-BJiGjb5m.mjs → revision-message-flag-D4E1lKE5.mjs} +0 -0
  184. /package/dist/{segment-CQ5w3M_W.mjs → segment-BMrUBz94.mjs} +0 -0
  185. /package/dist/{setting-DIXJ2haa.mjs → setting-CTaAeMci.mjs} +0 -0
  186. /package/dist/{snippet-DRTklDg3.mjs → snippet-Dw0Sjzkr.mjs} +0 -0
  187. /package/dist/{transform-92odFxg-.mjs → transform-IEX4Mx3X.mjs} +0 -0
  188. /package/dist/{transform-job-DgApCViL.mjs → transform-job-DZ38Xc3k.mjs} +0 -0
  189. /package/dist/{workspace-C5FVNshq.mjs → workspace-jfsegcq8.mjs} +0 -0
@@ -0,0 +1,19 @@
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-BBHhoDPM.mjs").then((m) => m.default),
12
+ status: () => import("./status-B4LY0-fS.mjs").then((m) => m.default),
13
+ list: () => import("./list-6myIKQLr.mjs").then((m) => m.default),
14
+ logout: () => import("./logout-DMZkFSrC.mjs").then((m) => m.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { auth_default as default };
@@ -1,6 +1,6 @@
1
- import { ConfigError } from "./errors-CkVGRHrW.mjs";
2
- import { readInput } from "./input-fYkvqiUd.mjs";
3
- import { parseJson } from "./runtime-DcczfJol.mjs";
1
+ import { ConfigError } from "./predicates-DiIiS3k7.mjs";
2
+ import { readInput } from "./input-ikCiip6x.mjs";
3
+ import { parseJson } from "./runtime-BY0yq43g.mjs";
4
4
 
5
5
  //#region src/runtime/body.ts
6
6
  async function readBody(sources, schema) {
@@ -1,13 +1,13 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-DcczfJol.mjs";
6
- import { REMOTE_SYNC_PATHS } from "./poll-task-BP37zYAf.mjs";
7
- import "./poll-D1ZjdFr1.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-BY0yq43g.mjs";
6
+ import { REMOTE_SYNC_PATHS } from "./poll-task-CQ0jyN9p.mjs";
7
+ import "./poll-BHFOOAGq.mjs";
8
8
  import { z } from "zod";
9
9
 
10
- //#region src/commands/sync/branches.ts
10
+ //#region src/commands/remote-sync/branches.ts
11
11
  const SyncBranchesApiResponse = z.object({ items: z.array(z.string()) });
12
12
  const BranchRow = z.object({ name: z.string() });
13
13
  const branchView = {
@@ -29,7 +29,7 @@ var branches_default = defineMetabaseCommand({
29
29
  ...connectionFlags
30
30
  },
31
31
  outputSchema: SyncBranchListEnvelope,
32
- examples: ["metabase sync branches", "metabase sync branches --json"],
32
+ examples: ["metabase remote-sync branches", "metabase remote-sync branches --json"],
33
33
  async run({ ctx, getClient }) {
34
34
  const client = await getClient();
35
35
  const response = await client.requestParsed(SyncBranchesApiResponse, REMOTE_SYNC_PATHS.branches);
@@ -1,9 +1,9 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
6
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
7
7
  import { z } from "zod";
8
8
 
9
9
  //#region src/commands/transform/cancel.ts
@@ -1,16 +1,16 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { REMOTE_SYNC_PATHS, SyncTask, syncTaskView } from "./poll-task-BP37zYAf.mjs";
7
- import "./poll-D1ZjdFr1.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
6
+ import { REMOTE_SYNC_PATHS, SyncTask, syncTaskView } from "./poll-task-CQ0jyN9p.mjs";
7
+ import "./poll-BHFOOAGq.mjs";
8
8
 
9
- //#region src/commands/sync/cancel-task.ts
9
+ //#region src/commands/remote-sync/cancel-task.ts
10
10
  var cancel_task_default = defineMetabaseCommand({
11
11
  meta: {
12
12
  name: "cancel-task",
13
- description: "Cancel the running sync task"
13
+ description: "Cancel the running remote-sync task"
14
14
  },
15
15
  args: {
16
16
  ...outputFlags,
@@ -18,7 +18,7 @@ var cancel_task_default = defineMetabaseCommand({
18
18
  ...connectionFlags
19
19
  },
20
20
  outputSchema: SyncTask,
21
- examples: ["metabase sync cancel-task", "metabase sync cancel-task --json"],
21
+ examples: ["metabase remote-sync cancel-task", "metabase remote-sync cancel-task --json"],
22
22
  async run({ ctx, getClient }) {
23
23
  const client = await getClient();
24
24
  const task = await client.requestParsed(SyncTask, REMOTE_SYNC_PATHS.cancelTask, { method: "POST" });
@@ -7,6 +7,7 @@ const CardType = z.enum([
7
7
  "metric"
8
8
  ]);
9
9
  const CardQueryType = z.enum(["native", "query"]);
10
+ const CardDatasetQuery = z.object({}).loose().refine((value) => "lib/type" in value || "type" in value, { message: "dataset_query must include \"lib/type\" (MBQL 5) or \"type\" (legacy MBQL/native); empty `{}` is rejected" });
10
11
  const Card = z.object({
11
12
  id: z.number().int(),
12
13
  name: z.string(),
@@ -70,7 +71,7 @@ const cardView = {
70
71
  const CardCreateInput = z.object({
71
72
  name: z.string().min(1),
72
73
  type: CardType.optional(),
73
- dataset_query: z.unknown(),
74
+ dataset_query: CardDatasetQuery,
74
75
  display: z.string().min(1),
75
76
  visualization_settings: z.unknown(),
76
77
  description: z.string().nullable().optional(),
@@ -83,7 +84,7 @@ const CardCreateInput = z.object({
83
84
  const CardUpdateInput = z.object({
84
85
  name: z.string().min(1).optional(),
85
86
  type: CardType.optional(),
86
- dataset_query: z.unknown().optional(),
87
+ dataset_query: CardDatasetQuery.optional(),
87
88
  display: z.string().min(1).optional(),
88
89
  visualization_settings: z.unknown().optional(),
89
90
  description: z.string().nullable().optional(),
@@ -0,0 +1,20 @@
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-CrhFq5TH.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-BlYCHIJW.mjs").then((mod) => mod.default),
12
+ query: () => import("./query-DLQsi5fQ.mjs").then((mod) => mod.default),
13
+ create: () => import("./create-D3Ov4MEg.mjs").then((mod) => mod.default),
14
+ update: () => import("./update-DU9fChpu.mjs").then((mod) => mod.default),
15
+ archive: () => import("./archive-C17bfUgD.mjs").then((mod) => mod.default)
16
+ }
17
+ });
18
+
19
+ //#endregion
20
+ export { card_default as default };
@@ -1,10 +1,10 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import { DashboardDetail, DashcardCompact, dashcardView } from "./dashboard-CztCJxke.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-BY0yq43g.mjs";
6
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
7
+ import { DashboardDetail, DashcardCompact, dashcardView } from "./dashboard-DyrRSbqQ.mjs";
8
8
 
9
9
  //#region src/commands/dashboard/cards.ts
10
10
  const DashcardListEnvelope = listEnvelopeSchema(DashcardCompact);
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { package_default } from "./package-CbQKObcX.mjs";
2
+ import { package_default } from "./package-DwhGofpM.mjs";
3
3
  import { getMetabaseAugment } from "./command-augment-D9pI9Vbh.mjs";
4
4
  import { defineCommand, renderUsage, runMain } from "citty";
5
5
 
@@ -11,29 +11,29 @@ const main = defineCommand({
11
11
  description: package_default.description
12
12
  },
13
13
  subCommands: {
14
- auth: () => import("./auth-DDWFPOHE.mjs").then((mod) => mod.default),
15
- license: () => import("./license-BG03M-I2.mjs").then((mod) => mod.default),
16
- db: () => import("./db-BKNI64nZ.mjs").then((mod) => mod.default),
17
- table: () => import("./table-DHFb9SJU.mjs").then((mod) => mod.default),
18
- field: () => import("./field-DGy3BZhm.mjs").then((mod) => mod.default),
19
- card: () => import("./card-BLpzPLLD.mjs").then((mod) => mod.default),
20
- dashboard: () => import("./dashboard-nJ1dwYuB.mjs").then((mod) => mod.default),
21
- collection: () => import("./collection-BGMj95CP.mjs").then((mod) => mod.default),
22
- transform: () => import("./transform-DzEnER7v.mjs").then((mod) => mod.default),
23
- "transform-job": () => import("./transform-job-CNNY-VWb.mjs").then((mod) => mod.default),
24
- setting: () => import("./setting-DLkszd2Z.mjs").then((mod) => mod.default),
25
- search: () => import("./search-GxIXyy0y.mjs").then((mod) => mod.default),
26
- sync: () => import("./sync-D3wsCLfY.mjs").then((mod) => mod.default),
27
- workspace: () => import("./workspace-CXHVXWXa.mjs").then((mod) => mod.default),
28
- setup: () => import("./setup-SjNjs7J0.mjs").then((mod) => mod.default),
29
- "api-key": () => import("./api-key-BU8wdQsz.mjs").then((mod) => mod.default),
30
- snippet: () => import("./snippet-DLHBijDM.mjs").then((mod) => mod.default),
31
- segment: () => import("./segment-DLvpwQyO.mjs").then((mod) => mod.default),
32
- measure: () => import("./measure-qkBiyAN-.mjs").then((mod) => mod.default),
33
- eid: () => import("./eid-CKrpg4jn.mjs").then((mod) => mod.default),
34
- query: () => import("./query-vW-ws-hr.mjs").then((mod) => mod.default),
35
- uuid: () => import("./uuid-DUBsfCMS.mjs").then((mod) => mod.default),
36
- __manifest: () => import("./manifest-CNNRftoC.mjs").then((mod) => mod.createManifestCommand(main))
14
+ auth: () => import("./auth-B2WfejxA.mjs").then((mod) => mod.default),
15
+ license: () => import("./license-CBNy8WgI.mjs").then((mod) => mod.default),
16
+ db: () => import("./db-CMrQrcFi.mjs").then((mod) => mod.default),
17
+ table: () => import("./table-BXKV-RRl.mjs").then((mod) => mod.default),
18
+ field: () => import("./field-jFWcinu2.mjs").then((mod) => mod.default),
19
+ card: () => import("./card-BgsQATFn.mjs").then((mod) => mod.default),
20
+ dashboard: () => import("./dashboard-DICdcfPK.mjs").then((mod) => mod.default),
21
+ collection: () => import("./collection-wYJz_mCI.mjs").then((mod) => mod.default),
22
+ transform: () => import("./transform-1rvuoPJE.mjs").then((mod) => mod.default),
23
+ "transform-job": () => import("./transform-job-ajyQmW3Z.mjs").then((mod) => mod.default),
24
+ setting: () => import("./setting-BTgMc8H8.mjs").then((mod) => mod.default),
25
+ search: () => import("./search-CADCabkh.mjs").then((mod) => mod.default),
26
+ "remote-sync": () => import("./remote-sync-C7sgxp7Q.mjs").then((mod) => mod.default),
27
+ workspace: () => import("./workspace-Bj2YBuLj.mjs").then((mod) => mod.default),
28
+ setup: () => import("./setup-CCm7U1YU.mjs").then((mod) => mod.default),
29
+ "api-key": () => import("./api-key-bpZ0_40D.mjs").then((mod) => mod.default),
30
+ snippet: () => import("./snippet-DyoeUSIZ.mjs").then((mod) => mod.default),
31
+ segment: () => import("./segment-CGFQ7DQW.mjs").then((mod) => mod.default),
32
+ measure: () => import("./measure-ol3ZlXbc.mjs").then((mod) => mod.default),
33
+ eid: () => import("./eid-bTxWg-gM.mjs").then((mod) => mod.default),
34
+ query: () => import("./query-Xy_Hg05O.mjs").then((mod) => mod.default),
35
+ uuid: () => import("./uuid-Dz2jp9kb.mjs").then((mod) => mod.default),
36
+ __manifest: () => import("./manifest-VVjycZCe.mjs").then((mod) => mod.createManifestCommand(main))
37
37
  }
38
38
  });
39
39
  var main_default = main;
@@ -0,0 +1,19 @@
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-BGL8Z1JR.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-CELbZWrF.mjs").then((mod) => mod.default),
12
+ items: () => import("./items-XPGeJSJ9.mjs").then((mod) => mod.default),
13
+ tree: () => import("./tree-I_YkLcUL.mjs").then((mod) => mod.default),
14
+ create: () => import("./create-B1NpGekI.mjs").then((mod) => mod.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { collection_default as default };
@@ -1,13 +1,13 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { requireBothOrNeither } from "./flag-pair-DYOzdz6v.mjs";
10
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
9
+ import { requireBothOrNeither } from "./flag-pair-DtR1AiBQ.mjs";
10
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
11
11
  import { z } from "zod";
12
12
 
13
13
  //#region src/domain/api-key.ts
@@ -1,12 +1,12 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { Collection, CollectionCreateInput, collectionView } from "./collection-KWd1KZUC.mjs";
9
+ import { Collection, CollectionCreateInput, collectionView } from "./collection-DFqH6N7s.mjs";
10
10
 
11
11
  //#region src/commands/collection/create.ts
12
12
  var create_default = defineMetabaseCommand({
@@ -1,13 +1,14 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { preflightInternalMbql5Query, skipValidateFlag } from "./validate-query-VseSssGt.mjs";
10
- import { Transform, TransformCreateInput, transformView } from "./transform-92odFxg-.mjs";
9
+ import "./validate-GPoiblzw.mjs";
10
+ import { TRANSFORM_SOURCE_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-DQDzQCQv.mjs";
11
+ import { Transform, TransformCreateInput, transformView } from "./transform-IEX4Mx3X.mjs";
11
12
 
12
13
  //#region src/commands/transform/create.ts
13
14
  var create_default = defineMetabaseCommand({
@@ -33,7 +34,7 @@ var create_default = defineMetabaseCommand({
33
34
  flag: args.body,
34
35
  file: args.file
35
36
  }, TransformCreateInput);
36
- if (body.source.type === "query") preflightInternalMbql5Query(body.source.query, "transform.source.query validation failed", { skip: args["skip-validate"] === true });
37
+ if (body.source.type === "query") preflightMbql5Query(body.source.query, TRANSFORM_SOURCE_QUERY_LABELS, { skip: args["skip-validate"] === true });
37
38
  const client = await getClient();
38
39
  const created = await client.requestParsed(Transform, "/api/transform", {
39
40
  method: "POST",
@@ -1,18 +1,21 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { Dashboard, DashboardCreateInput, DashboardDetail, dashboardView } from "./dashboard-CztCJxke.mjs";
9
+ import "./card-B2ZlGpQP.mjs";
10
+ import "./validate-GPoiblzw.mjs";
11
+ import { Dashboard, DashboardCreateInput, DashboardDetail, dashboardView } from "./dashboard-DyrRSbqQ.mjs";
12
+ import { preflightDashcardCardReferences, wrapChainedDashboardWriteError } from "./preflight-7VrJgXMP.mjs";
10
13
 
11
14
  //#region src/commands/dashboard/create.ts
12
15
  var create_default = defineMetabaseCommand({
13
16
  meta: {
14
17
  name: "create",
15
- description: "Create a dashboard from a JSON spec"
18
+ description: "Create a dashboard from a JSON spec; any positive card_id referenced from dashcards is pre-flight-validated against /api/card/:id (exists, not archived) before the dashboard is created"
16
19
  },
17
20
  args: {
18
21
  ...outputFlags,
@@ -34,6 +37,7 @@ var create_default = defineMetabaseCommand({
34
37
  }, DashboardCreateInput);
35
38
  const { dashcards, tabs,...createOnly } = body;
36
39
  const client = await getClient();
40
+ await preflightDashcardCardReferences(client, dashcards);
37
41
  const created = await client.requestParsed(Dashboard, "/api/dashboard", {
38
42
  method: "POST",
39
43
  body: createOnly
@@ -42,14 +46,18 @@ var create_default = defineMetabaseCommand({
42
46
  renderItem(created, dashboardView, ctx);
43
47
  return;
44
48
  }
45
- const updated = await client.requestParsed(DashboardDetail, `/api/dashboard/${created.id}`, {
46
- method: "PUT",
47
- body: {
48
- dashcards,
49
- tabs
50
- }
51
- });
52
- renderItem(updated, dashboardView, ctx);
49
+ try {
50
+ const updated = await client.requestParsed(DashboardDetail, `/api/dashboard/${created.id}`, {
51
+ method: "PUT",
52
+ body: {
53
+ dashcards,
54
+ tabs
55
+ }
56
+ });
57
+ renderItem(updated, dashboardView, ctx);
58
+ } catch (error) {
59
+ throw wrapChainedDashboardWriteError(error, created.id);
60
+ }
53
61
  }
54
62
  });
55
63
 
@@ -0,0 +1,48 @@
1
+ import "./package-DwhGofpM.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import "./validate-GPoiblzw.mjs";
10
+ import { MEASURE_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-DQDzQCQv.mjs";
11
+ import { Measure, MeasureCreateInput, measureView } from "./measure-jbc7fsCs.mjs";
12
+
13
+ //#region src/commands/measure/create.ts
14
+ var create_default = defineMetabaseCommand({
15
+ meta: {
16
+ name: "create",
17
+ description: "Create a measure from a JSON spec; if definition is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `metabase query` (see `metabase query --print-schema`)"
18
+ },
19
+ args: {
20
+ ...outputFlags,
21
+ ...profileFlag,
22
+ ...connectionFlags,
23
+ ...bodyInputFlags,
24
+ ...skipValidateFlag
25
+ },
26
+ outputSchema: Measure,
27
+ examples: [
28
+ "cat measure.json | metabase measure create",
29
+ "metabase measure create --file measure.json",
30
+ "metabase measure create --file measure.json --skip-validate"
31
+ ],
32
+ async run({ args, ctx, getClient }) {
33
+ const body = await readBody({
34
+ flag: args.body,
35
+ file: args.file
36
+ }, MeasureCreateInput);
37
+ preflightMbql5Query(body.definition, MEASURE_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
38
+ const client = await getClient();
39
+ const created = await client.requestParsed(Measure, "/api/measure", {
40
+ method: "POST",
41
+ body
42
+ });
43
+ renderItem(created, measureView, ctx);
44
+ }
45
+ });
46
+
47
+ //#endregion
48
+ export { create_default as default };
@@ -1,12 +1,12 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { Workspace, WorkspaceCreateInput, workspaceView } from "./workspace-C5FVNshq.mjs";
9
+ import { Workspace, WorkspaceCreateInput, workspaceView } from "./workspace-jfsegcq8.mjs";
10
10
 
11
11
  //#region src/commands/workspace/create.ts
12
12
  var create_default = defineMetabaseCommand({
@@ -1,12 +1,12 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { TransformJob, TransformJobCreateInput, transformJobView } from "./transform-job-DgApCViL.mjs";
9
+ import { TransformJob, TransformJobCreateInput, transformJobView } from "./transform-job-DZ38Xc3k.mjs";
10
10
 
11
11
  //#region src/commands/transform-job/create.ts
12
12
  var create_default = defineMetabaseCommand({
@@ -1,13 +1,14 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import "./errors-CkVGRHrW.mjs";
5
- import "./input-fYkvqiUd.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
7
- import { readBody } from "./body-CFl-TxuS.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { Card, CardCreateInput, cardView } from "./card-BOGKT258.mjs";
10
- import { preflightInternalMbql5Query, skipValidateFlag } from "./validate-query-VseSssGt.mjs";
9
+ import { Card, CardCreateInput, cardView } from "./card-B2ZlGpQP.mjs";
10
+ import "./validate-GPoiblzw.mjs";
11
+ import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-DQDzQCQv.mjs";
11
12
 
12
13
  //#region src/commands/card/create.ts
13
14
  var create_default = defineMetabaseCommand({
@@ -34,7 +35,7 @@ var create_default = defineMetabaseCommand({
34
35
  flag: args.body,
35
36
  file: args.file
36
37
  }, CardCreateInput);
37
- preflightInternalMbql5Query(body.dataset_query, "card.dataset_query validation failed", { skip: args["skip-validate"] === true });
38
+ preflightMbql5Query(body.dataset_query, CARD_DATASET_QUERY_LABELS, { skip: args["skip-validate"] === true });
38
39
  const client = await getClient();
39
40
  const created = await client.requestParsed(Card, "/api/card", {
40
41
  method: "POST",
@@ -0,0 +1,48 @@
1
+ import "./package-DwhGofpM.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./input-ikCiip6x.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
7
+ import { readBody } from "./body-DTkC7hZO.mjs";
8
+ import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
+ import "./validate-GPoiblzw.mjs";
10
+ import { SEGMENT_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-DQDzQCQv.mjs";
11
+ import { Segment, SegmentCreateInput, segmentView } from "./segment-BMrUBz94.mjs";
12
+
13
+ //#region src/commands/segment/create.ts
14
+ var create_default = defineMetabaseCommand({
15
+ meta: {
16
+ name: "create",
17
+ description: "Create a segment from a JSON spec; if definition is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `metabase query` (see `metabase query --print-schema`)"
18
+ },
19
+ args: {
20
+ ...outputFlags,
21
+ ...profileFlag,
22
+ ...connectionFlags,
23
+ ...bodyInputFlags,
24
+ ...skipValidateFlag
25
+ },
26
+ outputSchema: Segment,
27
+ examples: [
28
+ "cat segment.json | metabase segment create",
29
+ "metabase segment create --file segment.json",
30
+ "metabase segment create --file segment.json --skip-validate"
31
+ ],
32
+ async run({ args, ctx, getClient }) {
33
+ const body = await readBody({
34
+ flag: args.body,
35
+ file: args.file
36
+ }, SegmentCreateInput);
37
+ preflightMbql5Query(body.definition, SEGMENT_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
38
+ const client = await getClient();
39
+ const created = await client.requestParsed(Segment, "/api/segment", {
40
+ method: "POST",
41
+ body
42
+ });
43
+ renderItem(created, segmentView, ctx);
44
+ }
45
+ });
46
+
47
+ //#endregion
48
+ export { create_default as default };
@@ -1,13 +1,13 @@
1
- import "./package-CbQKObcX.mjs";
1
+ import "./package-DwhGofpM.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-BblMa0Cg.mjs";
4
- import { ConfigError } from "./errors-CkVGRHrW.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { REMOTE_SYNC_PATHS } from "./poll-task-BP37zYAf.mjs";
7
- import "./poll-D1ZjdFr1.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import { ConfigError } from "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
6
+ import { REMOTE_SYNC_PATHS } from "./poll-task-CQ0jyN9p.mjs";
7
+ import "./poll-BHFOOAGq.mjs";
8
8
  import { z } from "zod";
9
9
 
10
- //#region src/commands/sync/create-branch.ts
10
+ //#region src/commands/remote-sync/create-branch.ts
11
11
  const CreateBranchResult = z.object({
12
12
  status: z.literal("success"),
13
13
  message: z.string()
@@ -25,7 +25,7 @@ const createBranchView = {
25
25
  var create_branch_default = defineMetabaseCommand({
26
26
  meta: {
27
27
  name: "create-branch",
28
- description: "Create a new branch on the git remote and switch sync to it"
28
+ description: "Create a new branch on the git remote and switch remote-sync to it"
29
29
  },
30
30
  args: {
31
31
  ...outputFlags,
@@ -38,7 +38,7 @@ var create_branch_default = defineMetabaseCommand({
38
38
  }
39
39
  },
40
40
  outputSchema: CreateBranchResult,
41
- examples: ["metabase sync create-branch feat/dashboards", "metabase sync create-branch feat/x --json"],
41
+ examples: ["metabase remote-sync create-branch feat/dashboards", "metabase remote-sync create-branch feat/x --json"],
42
42
  async run({ args, ctx, getClient }) {
43
43
  const name = args.name.trim();
44
44
  if (name === "") throw new ConfigError("invalid name: branch name must not be blank");