@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
@@ -1,5 +1,5 @@
1
- import { parseJsonOrPlain } from "./runtime-DcczfJol.mjs";
2
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS, pollUntil } from "./poll-D1ZjdFr1.mjs";
1
+ import { parseJsonOrPlain } from "./runtime-BY0yq43g.mjs";
2
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS, pollUntil } from "./poll-BHFOOAGq.mjs";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/domain/remote-sync.ts
@@ -109,7 +109,7 @@ const syncDirtyItemView = {
109
109
  };
110
110
 
111
111
  //#endregion
112
- //#region src/commands/sync/poll-task.ts
112
+ //#region src/commands/remote-sync/poll-task.ts
113
113
  const TERMINAL_STATUSES = new Set([
114
114
  "successful",
115
115
  "errored",
@@ -188,7 +188,7 @@ async function pollSyncTask(client, opts) {
188
188
  function throwIfFailedTask(final, verb) {
189
189
  if (final === null || !isFailure(final.status)) return;
190
190
  const detail = final.error_message ? `: ${final.error_message}` : "";
191
- throw new Error(`sync ${verb} ${final.status}${detail}`);
191
+ throw new Error(`remote-sync ${verb} ${final.status}${detail}`);
192
192
  }
193
193
 
194
194
  //#endregion
@@ -1,6 +1,14 @@
1
1
  import { ZodError, core } from "zod";
2
2
  import { isCancel } from "@clack/prompts";
3
3
 
4
+ //#region src/core/json-pointer.ts
5
+ function escapeJsonPointerSegment(key) {
6
+ if (typeof key === "number") return String(key);
7
+ const segment = typeof key === "symbol" ? key.toString() : key;
8
+ return segment.replaceAll("~", "~0").replaceAll("/", "~1");
9
+ }
10
+
11
+ //#endregion
4
12
  //#region src/core/errors.ts
5
13
  const VERBOSE_ENV = "METABASE_VERBOSE";
6
14
  var MetabaseError = class extends Error {
@@ -30,7 +38,6 @@ var TimeoutError = class extends MetabaseError {
30
38
  this.developerDetail = developerDetail;
31
39
  }
32
40
  };
33
- const VALIDATION_ISSUE_PREVIEW_LIMIT = 5;
34
41
  var ValidationError = class extends MetabaseError {
35
42
  category = "validation";
36
43
  isRetryable = false;
@@ -44,13 +51,23 @@ var ValidationError = class extends MetabaseError {
44
51
  get userMessage() {
45
52
  const issues = this.developerDetail.zodIssues;
46
53
  if (issues.length === 0) return this.message;
47
- const shown = issues.slice(0, VALIDATION_ISSUE_PREVIEW_LIMIT);
48
- const lines = shown.map((issue) => ` - ${formatZodIssue(issue)}`);
49
- const trailer = issues.length > shown.length ? `\n …and ${issues.length - shown.length} more` : "";
50
- const hint = `\n Set ${VERBOSE_ENV}=1 for the full developer detail.`;
51
- return `${this.message} (${issues.length} issue${issues.length === 1 ? "" : "s"})\n${lines.join("\n")}${trailer}${hint}`;
54
+ return `${this.message}\n${formatZodIssueList(issues)}`;
52
55
  }
53
56
  };
57
+ const MAX_ISSUES_PRINTED = 10;
58
+ function formatZodIssueList(issues) {
59
+ const head = issues.slice(0, MAX_ISSUES_PRINTED).map(formatZodIssueLine);
60
+ const overflow = issues.length - MAX_ISSUES_PRINTED;
61
+ if (overflow > 0) head.push(` ... and ${overflow} more`);
62
+ return head.join("\n");
63
+ }
64
+ function formatZodIssueLine(issue) {
65
+ return ` ${formatZodIssuePointer(issue.path)}: ${issue.message}`;
66
+ }
67
+ function formatZodIssuePointer(path) {
68
+ if (path.length === 0) return "/";
69
+ return path.map((key) => `/${escapeJsonPointerSegment(key)}`).join("");
70
+ }
54
71
  var ConfigError = class extends MetabaseError {
55
72
  category = "config";
56
73
  isRetryable = false;
@@ -71,6 +88,26 @@ var AbortError = class extends MetabaseError {
71
88
  this.name = "AbortError";
72
89
  }
73
90
  };
91
+ var ChainedRequestError = class extends MetabaseError {
92
+ cause;
93
+ constructor(message, cause) {
94
+ super(message);
95
+ this.name = "ChainedRequestError";
96
+ this.cause = cause;
97
+ }
98
+ get category() {
99
+ return this.cause.category;
100
+ }
101
+ get isRetryable() {
102
+ return this.cause.isRetryable;
103
+ }
104
+ get exitCode() {
105
+ return this.cause.exitCode;
106
+ }
107
+ get developerDetail() {
108
+ return this.cause.developerDetail;
109
+ }
110
+ };
74
111
  var UnknownError = class extends MetabaseError {
75
112
  category = "unknown";
76
113
  isRetryable = false;
@@ -107,4 +144,10 @@ function errorMessage(value) {
107
144
  }
108
145
 
109
146
  //#endregion
110
- export { AbortError, ConfigError, MetabaseError, NetworkError, TimeoutError, VERBOSE_ENV, ValidationError, errorMessage, isNotFoundError, toMetabaseError };
147
+ //#region src/runtime/predicates.ts
148
+ function isPlainObject(value) {
149
+ return typeof value === "object" && value !== null && !Array.isArray(value);
150
+ }
151
+
152
+ //#endregion
153
+ export { AbortError, ChainedRequestError, ConfigError, MetabaseError, NetworkError, TimeoutError, VERBOSE_ENV, ValidationError, errorMessage, escapeJsonPointerSegment, isNotFoundError, isPlainObject, toMetabaseError };
@@ -0,0 +1,91 @@
1
+ import { writeJson } from "./render-DXv-D6fU.mjs";
2
+ import { ChainedRequestError, ConfigError, MetabaseError } from "./predicates-DiIiS3k7.mjs";
3
+ import { HttpError } from "./runtime-BY0yq43g.mjs";
4
+ import { Card } from "./card-B2ZlGpQP.mjs";
5
+ import { z } from "zod";
6
+
7
+ //#region src/commands/dashboard/preflight.ts
8
+ const PreflightDashcard = z.looseObject({ card_id: z.number().int().nullable().optional() });
9
+ function collectDashcardCardReferences(dashcards) {
10
+ if (dashcards === void 0) return [];
11
+ const refs = [];
12
+ dashcards.forEach((dashcard, index) => {
13
+ const parsed = PreflightDashcard.safeParse(dashcard);
14
+ if (!parsed.success) return;
15
+ const cardId = parsed.data.card_id;
16
+ if (typeof cardId === "number" && cardId > 0) refs.push({
17
+ cardId,
18
+ path: `/dashcards/${index}/card_id`
19
+ });
20
+ });
21
+ return refs;
22
+ }
23
+ async function preflightDashcardCardReferences(client, dashcards) {
24
+ const references = collectDashcardCardReferences(dashcards);
25
+ if (references.length === 0) return;
26
+ const grouped = new Map();
27
+ for (const ref of references) {
28
+ const list = grouped.get(ref.cardId);
29
+ if (list === void 0) grouped.set(ref.cardId, [ref]);
30
+ else list.push(ref);
31
+ }
32
+ const checks = await Promise.all(Array.from(grouped.entries()).map(async ([cardId, refs]) => ({
33
+ refs,
34
+ result: await classifyCardReference(client, cardId)
35
+ })));
36
+ const errors = [];
37
+ for (const check of checks) {
38
+ if (check.result.status === "ok") continue;
39
+ for (const ref of check.refs) errors.push({
40
+ path: ref.path,
41
+ message: check.result.message
42
+ });
43
+ }
44
+ if (errors.length === 0) return;
45
+ const outcome = {
46
+ ok: false,
47
+ errors
48
+ };
49
+ writeJson(outcome);
50
+ throw new ConfigError(`dashboard card-reference pre-flight failed: ${errors.length} error(s) — fix the dashcard card_id values listed above`);
51
+ }
52
+ function wrapChainedDashboardWriteError(error, dashboardId) {
53
+ if (!(error instanceof MetabaseError)) return error;
54
+ const prefix = `dashboard ${dashboardId} created but follow-up PUT /api/dashboard/${dashboardId} failed`;
55
+ const suffix = "dashcards not applied";
56
+ const message = `${prefix}: ${error.userMessage}; ${suffix}`;
57
+ if (error instanceof HttpError) return new HttpError({
58
+ status: error.status,
59
+ statusText: error.developerDetail.statusText,
60
+ method: error.developerDetail.method,
61
+ url: error.developerDetail.url,
62
+ responseHeaders: error.developerDetail.responseHeaders,
63
+ rawBody: error.developerDetail.body,
64
+ overrideUserMessage: message
65
+ });
66
+ return new ChainedRequestError(message, error);
67
+ }
68
+ async function classifyCardReference(client, cardId) {
69
+ try {
70
+ const card = await client.requestParsed(Card, `/api/card/${cardId}`);
71
+ if (card.archived) return {
72
+ status: "error",
73
+ message: `card ${cardId} is archived`
74
+ };
75
+ return { status: "ok" };
76
+ } catch (error) {
77
+ if (!(error instanceof HttpError)) throw error;
78
+ if (error.status === 404) return {
79
+ status: "error",
80
+ message: `card ${cardId} not found`
81
+ };
82
+ if (error.status === 401 || error.status === 403) return {
83
+ status: "error",
84
+ message: `card ${cardId} is not readable: ${error.userMessage}`
85
+ };
86
+ throw error;
87
+ }
88
+ }
89
+
90
+ //#endregion
91
+ export { preflightDashcardCardReferences, wrapChainedDashboardWriteError };
@@ -1,4 +1,4 @@
1
- import { AbortError, ConfigError } from "./errors-CkVGRHrW.mjs";
1
+ import { AbortError, ConfigError } from "./predicates-DiIiS3k7.mjs";
2
2
  import { confirm, isCancel, password, text } from "@clack/prompts";
3
3
 
4
4
  //#region src/output/prompt.ts
@@ -1,17 +1,17 @@
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 "./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 { ConfigError } from "./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 { parseId } from "./parse-id-BgFi3UCN.mjs";
10
- import "./poll-D1ZjdFr1.mjs";
11
- import { parseWaitFlags, waitFlags } from "./wait-flags-Cq5-5h6t.mjs";
12
- import { Workspace, WorkspaceProvisionInput, workspaceView } from "./workspace-C5FVNshq.mjs";
13
- import { waitForDatabaseProvisioned } from "./wait-B4MBOMM1.mjs";
14
- import { parseSchemasCsv } from "./parse-schemas-CeeVtFhy.mjs";
9
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
10
+ import "./poll-BHFOOAGq.mjs";
11
+ import { parseWaitFlags, waitFlags } from "./wait-flags-fyZuPGaW.mjs";
12
+ import { Workspace, WorkspaceProvisionInput, workspaceView } from "./workspace-jfsegcq8.mjs";
13
+ import { waitForDatabaseProvisioned } from "./wait-BvriwUjY.mjs";
14
+ import { parseSchemasCsv } from "./parse-schemas-DoQyoqgX.mjs";
15
15
 
16
16
  //#region src/commands/workspace/database/provision.ts
17
17
  var provision_default = defineMetabaseCommand({
@@ -0,0 +1,10 @@
1
+ import "./package-DwhGofpM.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import "./runtime-BY0yq43g.mjs";
6
+ import "./poll-BHFOOAGq.mjs";
7
+ import "./docker-B-ckbz3m.mjs";
8
+ import { LocalWorkspace, LocalWorkspaceCompact, LocalWorkspaceListEnvelope, LocalWorkspaceState, localWorkspaceView, ps_default } from "./ps-DWjsRdjB.mjs";
9
+
10
+ export { ps_default as default };
@@ -1,6 +1,6 @@
1
- import { renderList } from "./render-BblMa0Cg.mjs";
2
- import { defineMetabaseCommand, listEnvelopeSchema, localUrl, outputFlags, wrapList } from "./runtime-DcczfJol.mjs";
3
- import { CONTAINER_STATES, checkDockerReady, listWorkspaceContainers } from "./docker-DOCqIlti.mjs";
1
+ import { renderList } from "./render-DXv-D6fU.mjs";
2
+ import { defineMetabaseCommand, listEnvelopeSchema, localUrl, outputFlags, wrapList } from "./runtime-BY0yq43g.mjs";
3
+ import { CONTAINER_STATES, checkDockerReady, listWorkspaceContainers } from "./docker-B-ckbz3m.mjs";
4
4
  import { z } from "zod";
5
5
 
6
6
  //#region src/commands/workspace/ps.ts
@@ -1,10 +1,10 @@
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, parseJson, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import { CardQueryResult, cardQueryView } from "./card-BOGKT258.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import { ConfigError } from "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, parseJson, profileFlag } from "./runtime-BY0yq43g.mjs";
6
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
7
+ import { CardQueryResult, cardQueryView } from "./card-B2ZlGpQP.mjs";
8
8
  import { z } from "zod";
9
9
  import { Writable } from "node:stream";
10
10
 
@@ -0,0 +1,89 @@
1
+ import "./package-DwhGofpM.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { renderItem, writeJson } from "./render-DXv-D6fU.mjs";
4
+ import { ConfigError } from "./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 { CardQueryResult, cardQueryView } from "./card-B2ZlGpQP.mjs";
10
+ import { assertNotLegacyEnvelopeWrappingMbql5, getQuerySchemaBundle, isMbql5Query, validateQuery } from "./validate-GPoiblzw.mjs";
11
+ import { skipValidateFlag } from "./validate-query-DQDzQCQv.mjs";
12
+ import { z } from "zod";
13
+
14
+ //#region src/commands/query.ts
15
+ const QueryBody = z.unknown();
16
+ const QUERY_ENDPOINT = "/api/dataset";
17
+ var query_default = defineMetabaseCommand({
18
+ meta: {
19
+ name: "query",
20
+ description: "Run an MBQL 5 query (validates against the bundled schema first); --print-schema emits the schema for agent discovery, --dry-run validates without sending. Any non-MBQL 5 body — legacy MBQL 4 ({type:\"query\", …}), legacy native ({type:\"native\", …}), or any other non-{lib/type:\"mbql/query\"} shape — skips pre-flight automatically and is normalized server-side by lib-be/normalize-query. The bundled schema only models MBQL 5. Every clause options object carries a `lib/uuid` (UUID v4); mint these via `metabase uuid` — never author them by hand."
21
+ },
22
+ args: {
23
+ ...outputFlags,
24
+ ...profileFlag,
25
+ ...connectionFlags,
26
+ ...bodyInputFlags,
27
+ "dry-run": {
28
+ type: "boolean",
29
+ description: "Validate the body and exit without sending the query"
30
+ },
31
+ "print-schema": {
32
+ type: "boolean",
33
+ description: "Emit the bundled MBQL 5 query JSON Schema and exit; no body required"
34
+ },
35
+ ...skipValidateFlag
36
+ },
37
+ outputSchema: CardQueryResult,
38
+ examples: [
39
+ "metabase query --print-schema",
40
+ "cat q.json | metabase query --dry-run",
41
+ "metabase query --file q.json",
42
+ "metabase query --file q.json --skip-validate"
43
+ ],
44
+ async run({ args, ctx, getClient }) {
45
+ if (args["print-schema"] === true) {
46
+ writeJson(getQuerySchemaBundle());
47
+ return;
48
+ }
49
+ const dryRun = args["dry-run"] === true;
50
+ const explicitSkip = args["skip-validate"] === true;
51
+ if (dryRun && explicitSkip) throw new ConfigError("--skip-validate cannot be combined with --dry-run");
52
+ const body = await readBody({
53
+ flag: args.body,
54
+ file: args.file
55
+ }, QueryBody);
56
+ if (!explicitSkip) assertNotLegacyEnvelopeWrappingMbql5(body, {
57
+ contextLabel: "query",
58
+ bodyNoun: "the body"
59
+ });
60
+ const skipValidation = explicitSkip || !isMbql5Query(body);
61
+ if (!skipValidation) {
62
+ const outcome = validateQuery(body);
63
+ if (!outcome.ok) {
64
+ writeJson(outcome);
65
+ const hint = dryRun ? "" : " — pass --dry-run to validate without sending";
66
+ throw new ConfigError(`validation failed: ${outcome.errors.length} error(s)${hint}`);
67
+ }
68
+ if (dryRun) {
69
+ writeJson(outcome);
70
+ return;
71
+ }
72
+ } else if (dryRun) {
73
+ writeJson({
74
+ ok: true,
75
+ errors: []
76
+ });
77
+ return;
78
+ }
79
+ const client = await getClient();
80
+ const queryResult = await client.requestParsed(CardQueryResult, QUERY_ENDPOINT, {
81
+ method: "POST",
82
+ body
83
+ });
84
+ renderItem(queryResult, cardQueryView, ctx);
85
+ }
86
+ });
87
+
88
+ //#endregion
89
+ export { query_default as default };
@@ -0,0 +1,28 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/remote-sync/index.ts
4
+ var remote_sync_default = defineCommand({
5
+ meta: {
6
+ name: "remote-sync",
7
+ description: "Sync Metabase content with a git remote"
8
+ },
9
+ subCommands: {
10
+ status: () => import("./status-Vc-Z4igY.mjs").then((mod) => mod.default),
11
+ "is-dirty": () => import("./is-dirty-BFjDV_iH.mjs").then((mod) => mod.default),
12
+ "has-remote-changes": () => import("./has-remote-changes-DFARAyMl.mjs").then((mod) => mod.default),
13
+ dirty: () => import("./dirty-DiXL5WlS.mjs").then((mod) => mod.default),
14
+ "current-task": () => import("./current-task-Bfhc8LzZ.mjs").then((mod) => mod.default),
15
+ "cancel-task": () => import("./cancel-task-VKO9ybMn.mjs").then((mod) => mod.default),
16
+ wait: () => import("./wait-B2wti_nF.mjs").then((mod) => mod.default),
17
+ import: () => import("./import-CNi5I2EU.mjs").then((mod) => mod.default),
18
+ export: () => import("./export-BzUsvMov.mjs").then((mod) => mod.default),
19
+ stash: () => import("./stash-BLRsdgxP.mjs").then((mod) => mod.default),
20
+ branches: () => import("./branches-CnlppPuF.mjs").then((mod) => mod.default),
21
+ "create-branch": () => import("./create-branch-D3jzZxC4.mjs").then((mod) => mod.default),
22
+ "add-collection": () => import("./add-collection-Dy0OMhKh.mjs").then((mod) => mod.default),
23
+ "remove-collection": () => import("./remove-collection-CXSYFReG.mjs").then((mod) => mod.default)
24
+ }
25
+ });
26
+
27
+ //#endregion
28
+ export { remote_sync_default as default };
@@ -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 { clearLicense, defineMetabaseCommand, outputFlags } from "./runtime-DcczfJol.mjs";
6
- import { promptConfirm } from "./prompt-BiJFbHAV.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { clearLicense, defineMetabaseCommand, outputFlags } from "./runtime-BY0yq43g.mjs";
6
+ import { promptConfirm } from "./prompt-Bf3DQ-qE.mjs";
7
7
  import { z } from "zod";
8
8
 
9
9
  //#region src/commands/license/remove.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 { defineMetabaseCommand, outputFlags } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import { promptConfirm } from "./prompt-BiJFbHAV.mjs";
8
- import "./poll-D1ZjdFr1.mjs";
9
- import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-DOCqIlti.mjs";
3
+ import { renderItem } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { defineMetabaseCommand, outputFlags } from "./runtime-BY0yq43g.mjs";
6
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
7
+ import { promptConfirm } from "./prompt-Bf3DQ-qE.mjs";
8
+ import "./poll-BHFOOAGq.mjs";
9
+ import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-B-ckbz3m.mjs";
10
10
  import { z } from "zod";
11
11
 
12
12
  //#region src/commands/workspace/remove.ts
@@ -1,14 +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 { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import "./poll-task-BP37zYAf.mjs";
8
- import "./poll-D1ZjdFr1.mjs";
9
- import { SyncSettingsUpdateResult, setCollectionRemoteSynced, syncSettingsUpdateView } from "./add-collection-Dsju7qPh.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
+ import "./poll-task-CQ0jyN9p.mjs";
8
+ import "./poll-BHFOOAGq.mjs";
9
+ import { SyncSettingsUpdateResult, setCollectionRemoteSynced, syncSettingsUpdateView } from "./add-collection-8GuI25VU.mjs";
10
10
 
11
- //#region src/commands/sync/remove-collection.ts
11
+ //#region src/commands/remote-sync/remove-collection.ts
12
12
  var remove_collection_default = defineMetabaseCommand({
13
13
  meta: {
14
14
  name: "remove-collection",
@@ -25,7 +25,7 @@ var remove_collection_default = defineMetabaseCommand({
25
25
  }
26
26
  },
27
27
  outputSchema: SyncSettingsUpdateResult,
28
- examples: ["metabase sync remove-collection 12", "metabase sync remove-collection 12 --json --profile prod"],
28
+ examples: ["metabase remote-sync remove-collection 12", "metabase remote-sync remove-collection 12 --json --profile prod"],
29
29
  async run({ args, ctx, getClient }) {
30
30
  const collectionId = parseId(args.id, "id");
31
31
  const client = await getClient();
@@ -1,4 +1,4 @@
1
- import { ConfigError } from "./errors-CkVGRHrW.mjs";
1
+ import { ConfigError, isPlainObject } from "./predicates-DiIiS3k7.mjs";
2
2
  import Table from "cli-table3";
3
3
 
4
4
  //#region src/output/cap.ts
@@ -42,12 +42,6 @@ function itemOversizeNotice(bytes) {
42
42
  return `… item is ${bytes} bytes (exceeds --max-bytes); narrow with --fields, or pass --max-bytes 0`;
43
43
  }
44
44
 
45
- //#endregion
46
- //#region src/runtime/predicates.ts
47
- function isPlainObject(value) {
48
- return typeof value === "object" && value !== null && !Array.isArray(value);
49
- }
50
-
51
45
  //#endregion
52
46
  //#region src/output/projection.ts
53
47
  function applyProjection(value, view, full, fields) {
@@ -185,4 +179,4 @@ function emitItemOversizeNotice(body, maxBytes) {
185
179
  }
186
180
 
187
181
  //#endregion
188
- export { isPlainObject, renderItem, renderList, warn, writeJson, writeText };
182
+ export { renderItem, renderList, warn, writeJson, writeText };
@@ -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 { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import "./field-BakUM_Le.mjs";
8
- import "./table-DhB2_Dxd.mjs";
9
- import { DatabaseSyncResult, databaseSyncResultView } from "./database-GbK7OAPX.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
+ import "./field-D6CJbmAR.mjs";
8
+ import "./table-Ck9sInse.mjs";
9
+ import { DatabaseSyncResult, databaseSyncResultView } from "./database-DzcFix9u.mjs";
10
10
  import { z } from "zod";
11
11
 
12
12
  //#region src/commands/db/rescan-values.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 { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import { pollUntil } from "./poll-D1ZjdFr1.mjs";
8
- import { TransformRun } from "./transform-92odFxg-.mjs";
9
- import { parseWaitFlags, waitFlags } from "./wait-flags-Cq5-5h6t.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
+ import { pollUntil } from "./poll-BHFOOAGq.mjs";
8
+ import { TransformRun } from "./transform-IEX4Mx3X.mjs";
9
+ import { parseWaitFlags, waitFlags } from "./wait-flags-fyZuPGaW.mjs";
10
10
  import { z } from "zod";
11
11
 
12
12
  //#region src/commands/transform/run.ts
@@ -1,11 +1,11 @@
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 } from "./runtime-DcczfJol.mjs";
6
- import { parseId } from "./parse-id-BgFi3UCN.mjs";
7
- import { collectPaginated } from "./paginate-CnTxzOh2.mjs";
8
- import { TransformRun, TransformRunCompact, transformRunView } from "./transform-92odFxg-.mjs";
3
+ import { renderList } from "./render-DXv-D6fU.mjs";
4
+ import "./predicates-DiIiS3k7.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag } from "./runtime-BY0yq43g.mjs";
6
+ import { parseId } from "./parse-id-Di-wVtcP.mjs";
7
+ import { collectPaginated } from "./paginate-B9W7ZuBj.mjs";
8
+ import { TransformRun, TransformRunCompact, transformRunView } from "./transform-IEX4Mx3X.mjs";
9
9
 
10
10
  //#region src/commands/transform/runs.ts
11
11
  const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);