@metabase/cli 0.1.8 → 0.1.9

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 (207) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/README.md +26 -236
  3. package/dist/{add-collection-CwrbKmC1.mjs → add-collection-CoP-6FZR.mjs} +5 -5
  4. package/dist/add-collection-EPp89tcs.mjs +10 -0
  5. package/dist/{archive-DqUtqRut.mjs → archive-BY8nrgnq.mjs} +5 -6
  6. package/dist/{archive-BzvqQd34.mjs → archive-BeslLaal.mjs} +5 -6
  7. package/dist/{archive-BpKZsGAm.mjs → archive-Blt0TxxA.mjs} +6 -7
  8. package/dist/{archive-ZnnJc2iT.mjs → archive-BxwGVDpd.mjs} +6 -7
  9. package/dist/{archive-BAjGIzhn.mjs → archive-C17qIvFW.mjs} +6 -7
  10. package/dist/{archive-BO3DOWI4.mjs → archive-CPLXsrzD.mjs} +5 -6
  11. package/dist/auth-CCUDM9Sv.mjs +19 -0
  12. package/dist/{body-DDYKoyMt.mjs → body-2jl-YSxT.mjs} +2 -2
  13. package/dist/{branches-DjiGsjAz.mjs → branches-Vlu44J51.mjs} +5 -6
  14. package/dist/{cancel-BwtDQ2MR.mjs → cancel-D0aBPUhs.mjs} +4 -5
  15. package/dist/{cancel-task-uJp18RvR.mjs → cancel-task-DoL2bqs1.mjs} +5 -6
  16. package/dist/{render-0_GsapXa.mjs → capabilities-7L9GVMd_.mjs} +45 -4
  17. package/dist/{card-ezYiriML.mjs → card-DnIeMmUn.mjs} +18 -2
  18. package/dist/card-UwczcLjq.mjs +20 -0
  19. package/dist/{cards-z68PANDD.mjs → cards-6MTreYAo.mjs} +5 -6
  20. package/dist/cli.mjs +23 -34
  21. package/dist/{collection-Bcy8cWYH.mjs → collection-BPTlcFw5.mjs} +8 -2
  22. package/dist/collection-Cexywhlj.mjs +20 -0
  23. package/dist/collection-namespace-BdqQJb7j.mjs +12 -0
  24. package/dist/{create-4EAGYVyp.mjs → create-BWD8H6yw.mjs} +12 -10
  25. package/dist/{create-GVfCQU3B.mjs → create-BZRA7nPu.mjs} +7 -8
  26. package/dist/{create-7JOWFxqu.mjs → create-BsOdn1Q1.mjs} +10 -11
  27. package/dist/{create-CQ4Vg4Ge.mjs → create-C_Z3IDrW.mjs} +9 -10
  28. package/dist/{create-Dd_Gyg_F.mjs → create-DNYFXAsy.mjs} +7 -8
  29. package/dist/{create-BzK59YlR.mjs → create-DcoF52Kx.mjs} +11 -12
  30. package/dist/{create-branch-CdWGiREu.mjs → create-branch-40Xm4DN7.mjs} +5 -6
  31. package/dist/create-dVmIemXi.mjs +52 -0
  32. package/dist/{create-DHWfmO2L.mjs → create-k59K2qf1.mjs} +9 -10
  33. package/dist/{current-task-nPs-iCLi.mjs → current-task-BN_XEFSX.mjs} +5 -6
  34. package/dist/dashboard-B_CuVbMX.mjs +21 -0
  35. package/dist/{database-BXiue1in.mjs → database-Dsv4QBs0.mjs} +20 -10
  36. package/dist/db-DULi5MOr.mjs +22 -0
  37. package/dist/{delete-Do1agSiL.mjs → delete-DEFgs5LE.mjs} +6 -7
  38. package/dist/{delete-runtime-uuYbd4k2.mjs → delete-runtime-DVb-Pkzp.mjs} +2 -2
  39. package/dist/{delete-CJqLgr6w.mjs → delete-tPjicYO4.mjs} +6 -7
  40. package/dist/{delete-table-ZiJDpMFT.mjs → delete-table-CDj19Qn6.mjs} +6 -7
  41. package/dist/{dirty-BnTG7w7v.mjs → dirty-DGCa6W1F.mjs} +5 -6
  42. package/dist/{eid-CwQ_smOD.mjs → eid-3v5MAKNA.mjs} +6 -7
  43. package/dist/{error-CTVL5CdB.mjs → error-BndUmcwS.mjs} +1 -1
  44. package/dist/{export-DR2cC4rL.mjs → export-BIZ-UR_M.mjs} +7 -8
  45. package/dist/field-CfrrLetM.mjs +18 -0
  46. package/dist/{fields-Ck31lDz9.mjs → fields-9lOrO8UH.mjs} +6 -7
  47. package/dist/{get-BFJ3VBPa.mjs → get-6Cj360cH.mjs} +5 -6
  48. package/dist/{get-CyG_P55z.mjs → get-BIH72g0v.mjs} +6 -7
  49. package/dist/{get-CICzGFSW.mjs → get-BSJN5TwW.mjs} +6 -7
  50. package/dist/{get-DyArILlF.mjs → get-BYSj7tMP.mjs} +5 -6
  51. package/dist/{get-DauAF3sm.mjs → get-Bk81meka.mjs} +5 -6
  52. package/dist/{get-GWRprk7k.mjs → get-BpWjLkKT.mjs} +5 -7
  53. package/dist/{get-F338MOK-.mjs → get-BuM6QPjZ.mjs} +5 -6
  54. package/dist/{get-C71ypFQk.mjs → get-CHaIVT6Y.mjs} +5 -6
  55. package/dist/{get-pO0wiy1e.mjs → get-CRa-h69C.mjs} +5 -6
  56. package/dist/{get-BPOd0Rm8.mjs → get-DFe2WoJ2.mjs} +5 -6
  57. package/dist/{get-DxqzDKKK.mjs → get-DlGlnciR.mjs} +5 -6
  58. package/dist/{get-BNKsNCcx.mjs → get-LI2xsRoT.mjs} +5 -6
  59. package/dist/{get-run-DhM_PyVy.mjs → get-run-hCZaw8-h.mjs} +5 -6
  60. package/dist/{get-BZiu-u-9.mjs → get-w-WqpjKy.mjs} +7 -8
  61. package/dist/git-sync-BpRstrZo.mjs +28 -0
  62. package/dist/{has-remote-changes-Ca0exJmb.mjs → has-remote-changes-DcpW1_KX.mjs} +5 -6
  63. package/dist/{import-DjclIzGP.mjs → import-CTQT1atq.mjs} +7 -8
  64. package/dist/{is-dirty-Cke0a1ie.mjs → is-dirty-DGrmt1ss.mjs} +4 -4
  65. package/dist/is-dirty-DuWCgrz2.mjs +9 -0
  66. package/dist/{items-BSpapmCU.mjs → items-Kr0oN2V7.mjs} +7 -8
  67. package/dist/{list-CEE9yKNp.mjs → list-Bz2ej0Cl.mjs} +4 -5
  68. package/dist/{list-V5IuMr_5.mjs → list-CCtYVgPN.mjs} +4 -5
  69. package/dist/{list-Brt4oKO7.mjs → list-CLvlEVQo.mjs} +6 -7
  70. package/dist/{list-Br77Mw6U.mjs → list-Ccj8-vb5.mjs} +5 -6
  71. package/dist/{list-Fjjtpghb.mjs → list-Cj3v4Lgv.mjs} +6 -7
  72. package/dist/{list-bVlCwg8g.mjs → list-Cl_O4_U4.mjs} +4 -5
  73. package/dist/{list-BRXGDSMo.mjs → list-D2D5Mw1E.mjs} +5 -6
  74. package/dist/{list-DUyWON1F.mjs → list-DNmekF2B.mjs} +4 -5
  75. package/dist/{list-fIV-P6wP.mjs → list-DaESiI72.mjs} +4 -5
  76. package/dist/{list-DWWGcUTg.mjs → list-DzKKdfCI.mjs} +5 -7
  77. package/dist/{list-BI1PfPjn.mjs → list-jcgK0thu.mjs} +5 -6
  78. package/dist/{list-D1qhCQn0.mjs → list-tklIxo38.mjs} +6 -7
  79. package/dist/{list-DmO4ADQq.mjs → list-zRQsvrH6.mjs} +4 -5
  80. package/dist/{login-BJGhZLgZ.mjs → login-BMKBmgeQ.mjs} +9 -10
  81. package/dist/{logout-BAGLqtnV.mjs → logout-C5pod937.mjs} +4 -5
  82. package/dist/{manifest-BNh0Lw6p.mjs → manifest-Cmu--CG5.mjs} +1 -2
  83. package/dist/measure-BkwFsP44.mjs +19 -0
  84. package/dist/{metadata-B-GOcWqL.mjs → metadata-CG4VZ5NW.mjs} +6 -7
  85. package/dist/{metadata-DJAdsOoh.mjs → metadata-DIEbyQeS.mjs} +7 -8
  86. package/dist/{parse-id-D1LTTt9L.mjs → parse-id-Boqc4wn4.mjs} +1 -1
  87. package/dist/{path-D5kX-msX.mjs → path-ur3NsMFr.mjs} +4 -6
  88. package/dist/{poll-DxpnK1wW.mjs → poll-BMjCkDaj.mjs} +1 -1
  89. package/dist/{poll-task-D8mG49IN.mjs → poll-task-CiRA0ER9.mjs} +2 -2
  90. package/dist/{preflight-Df_FqJ6o.mjs → preflight-CSqcIlbX.mjs} +3 -3
  91. package/dist/{query-zWFRDH3T.mjs → query-B8JzsQ_I.mjs} +7 -8
  92. package/dist/{query-OIuumiXN.mjs → query-CG0rEMS-.mjs} +11 -12
  93. package/dist/{query-result-ABPLz6I4.mjs → query-result-B4kTRid7.mjs} +1 -1
  94. package/dist/{remove-collection-BxmiXWKz.mjs → remove-collection-Clwz3EHQ.mjs} +7 -8
  95. package/dist/{rescan-values-M7g81KIl.mjs → rescan-values-DuHBnFjK.mjs} +8 -11
  96. package/dist/run-JXRivkfH.mjs +136 -0
  97. package/dist/{runs-CqfJIuh_.mjs → runs-FxgbXvax.mjs} +6 -7
  98. package/dist/{runtime-B40L_bj8.mjs → runtime-Ck8KKQe-.mjs} +11 -78
  99. package/dist/{schema-tables-CjBRF0_0.mjs → schema-tables-izDPI4f5.mjs} +6 -7
  100. package/dist/{schemas-GIIbek2O.mjs → schemas-CyzplnXl.mjs} +4 -5
  101. package/dist/{search-h78uOYec.mjs → search-BeuoOEQV.mjs} +4 -5
  102. package/dist/segment-ChYmSM0p.mjs +19 -0
  103. package/dist/{set-BRDxcLcQ.mjs → set-ClzB_5Jk.mjs} +7 -8
  104. package/dist/{setting-mKzZJpQY.mjs → setting-CBJVEx7_.mjs} +3 -3
  105. package/dist/{setup-WTIT2WbM.mjs → setup-vKXEUMM7.mjs} +6 -7
  106. package/dist/skills-1Z5Wj7Kp.mjs +18 -0
  107. package/dist/{skills-BkregMyb.mjs → skills-BDPVoBWU.mjs} +33 -2
  108. package/dist/snippet-De70ayL1.mjs +19 -0
  109. package/dist/{stash-DxoAJzcK.mjs → stash-DLtVf4_D.mjs} +7 -8
  110. package/dist/{status-B1dc3bbQ.mjs → status-AnPzI1f7.mjs} +4 -5
  111. package/dist/{status-D0Ukfodl.mjs → status-DHFYn9kO.mjs} +6 -7
  112. package/dist/{summary-3qOMUcEX.mjs → summary-DDed1LOz.mjs} +5 -6
  113. package/dist/sync-schema-BGQVq2JA.mjs +55 -0
  114. package/dist/table-C_bP2ao-.mjs +19 -0
  115. package/dist/{table-qDD2kApF.mjs → table-CkWja2UH.mjs} +1 -1
  116. package/dist/transform-B4RZfm6A.mjs +24 -0
  117. package/dist/{transform-BKahefz_.mjs → transform-DyWCoiO-.mjs} +1 -0
  118. package/dist/transform-job-C4pZcrIF.mjs +19 -0
  119. package/dist/{tree-DsnIPFyE.mjs → tree-BlYgJOn9.mjs} +4 -5
  120. package/dist/{update-Baya6OkO.mjs → update-B0z-2zqC.mjs} +12 -13
  121. package/dist/{update-BEtl9LpG.mjs → update-BHtliIr_.mjs} +8 -9
  122. package/dist/{update-CLsqoEJ8.mjs → update-CdfAogO2.mjs} +8 -9
  123. package/dist/{update-DPouQi4U.mjs → update-CgOPxKXK.mjs} +13 -11
  124. package/dist/{update-UaPqSfPN.mjs → update-CilTW98H.mjs} +10 -11
  125. package/dist/{update-DWn-nLPo.mjs → update-CoVvsU-I.mjs} +8 -9
  126. package/dist/{update-CZEd_Eej.mjs → update-DBN7yfAk.mjs} +9 -10
  127. package/dist/{update-BRLcnSwK.mjs → update-DqSG5_Ie.mjs} +10 -11
  128. package/dist/{update-BsgHRoZ8.mjs → update-DykqQLfo.mjs} +11 -12
  129. package/dist/{update-dashcard-DK9X91ha.mjs → update-dashcard-DZ8oV8up.mjs} +8 -9
  130. package/dist/{upgrade-UqdvTikR.mjs → upgrade-B8sEEQdQ.mjs} +34 -7
  131. package/dist/{uuid-BWCaWG4O.mjs → uuid-lLVnEoBN.mjs} +3 -4
  132. package/dist/{validate-dPEOnOf8.mjs → validate-B62TRDGV.mjs} +1 -1
  133. package/dist/{validate-query-CYvOP8Ld.mjs → validate-query-BpiN1CFu.mjs} +2 -2
  134. package/dist/{values-D_wycrcr.mjs → values-oD72EtRq.mjs} +5 -6
  135. package/dist/{verify-D7hb6VMy.mjs → verify-Bg6F0oFN.mjs} +1 -1
  136. package/dist/{wait-B5IpNFCG.mjs → wait-BtzuqQC3.mjs} +6 -7
  137. package/dist/{wait-flags-CNIeSq0_.mjs → wait-flags-DyFfZeav.mjs} +2 -2
  138. package/package.json +1 -1
  139. package/skill-data/core/SKILL.md +19 -32
  140. package/skill-data/git-sync/SKILL.md +8 -63
  141. package/skill-data/mbql/SKILL.md +95 -28
  142. package/skill-data/mbql/references/operators.md +13 -13
  143. package/skill-data/transform/SKILL.md +18 -7
  144. package/skills/metabase-cli/SKILL.md +1 -1
  145. package/dist/add-collection-DxtuNxeP.mjs +0 -11
  146. package/dist/auth-B9B4pUaH.mjs +0 -19
  147. package/dist/capabilities-7e9MgquN.mjs +0 -29
  148. package/dist/card-D54unw6r.mjs +0 -20
  149. package/dist/collection-B5kIKRTL.mjs +0 -20
  150. package/dist/create-6XE7GYxk.mjs +0 -45
  151. package/dist/create-C8gA-XP2.mjs +0 -54
  152. package/dist/credentials-CFA9iGZG.mjs +0 -88
  153. package/dist/dashboard-lw6IFfOs.mjs +0 -21
  154. package/dist/database-BPT6BrmF.mjs +0 -17
  155. package/dist/db-CBCj8sBg.mjs +0 -22
  156. package/dist/delete-CiV6f69N.mjs +0 -104
  157. package/dist/deprovision-C-qEnh-P.mjs +0 -67
  158. package/dist/docker-B-QQWThD.mjs +0 -515
  159. package/dist/field-DJmQ2pul.mjs +0 -18
  160. package/dist/git-sync-rmjYOGFK.mjs +0 -28
  161. package/dist/is-dirty-DFGgGLDi.mjs +0 -10
  162. package/dist/license-j0tDQLKI.mjs +0 -17
  163. package/dist/list-evetBTcH.mjs +0 -36
  164. package/dist/logs-jx5b_YDk.mjs +0 -60
  165. package/dist/measure-BfgxqewH.mjs +0 -19
  166. package/dist/parse-schemas-DDK9nXuh.mjs +0 -12
  167. package/dist/process-CM7Uu5q_.mjs +0 -105
  168. package/dist/provision-BJd6zO1D.mjs +0 -83
  169. package/dist/ps-CpyHEvv7.mjs +0 -11
  170. package/dist/ps-dEqRGeB3.mjs +0 -80
  171. package/dist/remove-BNQ1c6hB.mjs +0 -64
  172. package/dist/run-DTsx8bLb.mjs +0 -96
  173. package/dist/segment-CoElN2b-.mjs +0 -19
  174. package/dist/set-Dclba9xF.mjs +0 -68
  175. package/dist/skills-tMYd5d9v.mjs +0 -18
  176. package/dist/snippet-B84H3tfp.mjs +0 -19
  177. package/dist/start-B7ByBicB.mjs +0 -414
  178. package/dist/status-DAzD1Cn_.mjs +0 -34
  179. package/dist/stop-Cvexagxh.mjs +0 -87
  180. package/dist/sync-schema-CrmVX1cy.mjs +0 -44
  181. package/dist/table-B0fRQv91.mjs +0 -19
  182. package/dist/transform-K_kp6Rdm.mjs +0 -24
  183. package/dist/transform-job-CuNN8zgv.mjs +0 -19
  184. package/dist/update-hiJdbbsb.mjs +0 -78
  185. package/dist/url-LMJZRDv4.mjs +0 -56
  186. package/dist/wait-DHjXk3jD.mjs +0 -19
  187. package/dist/workspace-Bt8n3ojY.mjs +0 -25
  188. package/dist/workspace-D8HtUN0y.mjs +0 -72
  189. package/dist/workspace-credentials-8CBMQJFz.mjs +0 -100
  190. package/dist/yaml-Gv6wRFMF.mjs +0 -43
  191. package/skill-data/workspace/SKILL.md +0 -390
  192. /package/dist/{body-flags-D7q87Btw.mjs → body-flags-D78h_-Ua.mjs} +0 -0
  193. /package/dist/{dashboard-B4bn3z6t.mjs → dashboard-FY5UzJ_Z.mjs} +0 -0
  194. /package/dist/{field-E0IBy4Uw.mjs → field-MGxpNQUH.mjs} +0 -0
  195. /package/dist/{input-cMSEqISy.mjs → input-xewHccej.mjs} +0 -0
  196. /package/dist/{key-vkNkH82H.mjs → key-C2XG394c.mjs} +0 -0
  197. /package/dist/{measure-Bt3InQsA.mjs → measure-ClESGxIb.mjs} +0 -0
  198. /package/dist/{paginate-BexjkjbY.mjs → paginate-Dfm9eO9A.mjs} +0 -0
  199. /package/dist/{parse-enum-CrEWOhuY.mjs → parse-enum-Dr7ACrTR.mjs} +0 -0
  200. /package/dist/{parse-ref-DKag6a6I.mjs → parse-ref-BiETXmvm.mjs} +0 -0
  201. /package/dist/{prompt-CFKoys7k.mjs → prompt-u4WhE4T5.mjs} +0 -0
  202. /package/dist/{render-khznBlla.mjs → render-BQHJhSP1.mjs} +0 -0
  203. /package/dist/{revision-message-flag-DY29-cgz.mjs → revision-message-flag-WmsIzUOM.mjs} +0 -0
  204. /package/dist/{segment-DhBmcr_E.mjs → segment-Be2v4ilr.mjs} +0 -0
  205. /package/dist/{setting-BzCng1Ub.mjs → setting-oL97SNeO.mjs} +0 -0
  206. /package/dist/{snippet-bi_0XbNT.mjs → snippet-xh42tYly.mjs} +0 -0
  207. /package/dist/{transform-job-DjhoJbiV.mjs → transform-job-DpDGoqQt.mjs} +0 -0
@@ -0,0 +1,136 @@
1
+ import { TimeoutError } from "./command-augment-BH9qgQ5u.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderSummary } from "./capabilities-7L9GVMd_.mjs";
5
+ import { parseId } from "./parse-id-Boqc4wn4.mjs";
6
+ import { pollUntil } from "./poll-BMjCkDaj.mjs";
7
+ import { parseWaitFlags, waitFlags } from "./wait-flags-DyFfZeav.mjs";
8
+ import { Transform, TransformRun } from "./transform-DyWCoiO-.mjs";
9
+ import { z } from "zod";
10
+
11
+ //#region src/commands/transform/run.ts
12
+ const RUN_TERMINAL_STATUSES = new Set([
13
+ "succeeded",
14
+ "failed",
15
+ "timeout",
16
+ "canceled"
17
+ ]);
18
+ const RUN_FAILURE_STATUSES = new Set([
19
+ "failed",
20
+ "timeout",
21
+ "canceled"
22
+ ]);
23
+ const TransformRunKickoff = z.object({
24
+ message: z.string(),
25
+ run_id: z.number().int().positive().nullable()
26
+ });
27
+ const TransformRunResult = z.object({
28
+ message: z.string(),
29
+ run_id: z.number().int().positive().nullable(),
30
+ final: TransformRun.nullable(),
31
+ target_table_id: z.number().int().nullable().optional()
32
+ });
33
+ const transformRunResultView = {
34
+ compactPick: TransformRunResult,
35
+ tableColumns: [
36
+ {
37
+ key: "run_id",
38
+ label: "Run ID"
39
+ },
40
+ {
41
+ key: "message",
42
+ label: "Message"
43
+ },
44
+ {
45
+ key: "target_table_id",
46
+ label: "Target table"
47
+ }
48
+ ]
49
+ };
50
+ var run_default = defineMetabaseCommand({
51
+ meta: {
52
+ name: "run",
53
+ description: "Trigger a transform run by id"
54
+ },
55
+ details: "Starts a run and returns immediately. --wait polls the run to a terminal status. --sync additionally waits until the run's output table is registered and returns its `target_table_id`, so you can build MBQL cards against it — the run registers the table itself, so no separate `db sync-schema` is needed; --sync implies waiting for the run.",
56
+ capabilities: { minVersion: 59 },
57
+ args: {
58
+ ...outputFlags,
59
+ ...profileFlag,
60
+ ...connectionFlags,
61
+ ...waitFlags,
62
+ sync: {
63
+ type: "boolean",
64
+ description: "After a successful run, wait until the output table is registered and return its id (implies --wait)",
65
+ default: false
66
+ },
67
+ id: {
68
+ type: "positional",
69
+ description: "Transform id",
70
+ required: true
71
+ }
72
+ },
73
+ outputSchema: TransformRunResult,
74
+ examples: [
75
+ "mb transform run 1",
76
+ "mb transform run 1 --wait --json",
77
+ "mb transform run 1 --sync --json"
78
+ ],
79
+ async run({ args, ctx, getClient }) {
80
+ const id = parseId(args.id);
81
+ const syncTarget = args.sync === true;
82
+ const wait = parseWaitFlags(args);
83
+ const waitForRun = wait.enabled || syncTarget;
84
+ const client = await getClient();
85
+ const kickoff = await client.requestParsed(TransformRunKickoff, `/api/transform/${id}/run`, { method: "POST" });
86
+ if (!waitForRun) {
87
+ const started = kickoff.run_id === null ? kickoff.message : `Started run ${kickoff.run_id} for transform ${id}.`;
88
+ renderSummary({
89
+ message: kickoff.message,
90
+ run_id: kickoff.run_id,
91
+ final: null
92
+ }, transformRunResultView, started, ctx);
93
+ return;
94
+ }
95
+ if (kickoff.run_id === null) {
96
+ renderSummary({
97
+ message: kickoff.message,
98
+ run_id: null,
99
+ final: null
100
+ }, transformRunResultView, kickoff.message, ctx);
101
+ throw new Error(`transform run did not start: ${kickoff.message}`);
102
+ }
103
+ const runId = kickoff.run_id;
104
+ const final = await pollUntil(async () => client.requestParsed(TransformRun, `/api/transform/run/${runId}`), (run) => RUN_TERMINAL_STATUSES.has(run.status), wait.schedule);
105
+ const failed = RUN_FAILURE_STATUSES.has(final.status);
106
+ const targetTableId = syncTarget && !failed ? await awaitTargetTableId(client, id, wait.schedule) : void 0;
107
+ const result = {
108
+ message: kickoff.message,
109
+ run_id: runId,
110
+ final
111
+ };
112
+ if (syncTarget) result.target_table_id = targetTableId ?? null;
113
+ renderSummary(result, transformRunResultView, summaryLine(id, runId, final.status, syncTarget, targetTableId), ctx);
114
+ if (failed) throw new Error(`transform run ${runId} ${final.status}`);
115
+ }
116
+ });
117
+ async function awaitTargetTableId(client, transformId, schedule) {
118
+ try {
119
+ const linked = await pollUntil(async () => client.requestParsed(Transform, `/api/transform/${transformId}`), (transform) => linkedTableId(transform) !== null, schedule);
120
+ return linkedTableId(linked);
121
+ } catch (error) {
122
+ if (error instanceof TimeoutError) return null;
123
+ throw error;
124
+ }
125
+ }
126
+ function linkedTableId(transform) {
127
+ return transform.target_table_id ?? transform.table?.id ?? null;
128
+ }
129
+ function summaryLine(transformId, runId, status, syncTarget, targetTableId) {
130
+ const base = `Run ${runId} of transform ${transformId} ${status}.`;
131
+ if (!syncTarget) return base;
132
+ return targetTableId === null || targetTableId === void 0 ? `${base} Output table not registered before the wait timeout (it may still be syncing).` : `${base} Output table ${targetTableId} registered.`;
133
+ }
134
+
135
+ //#endregion
136
+ export { run_default as default };
@@ -1,11 +1,10 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderList } from "./render-0_GsapXa.mjs";
6
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
7
- import { collectPaginated } from "./paginate-BexjkjbY.mjs";
8
- import { TransformRun, TransformRunCompact, transformRunView } from "./transform-BKahefz_.mjs";
2
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderList } from "./capabilities-7L9GVMd_.mjs";
5
+ import { parseId } from "./parse-id-Boqc4wn4.mjs";
6
+ import { collectPaginated } from "./paginate-Dfm9eO9A.mjs";
7
+ import { TransformRun, TransformRunCompact, transformRunView } from "./transform-DyWCoiO-.mjs";
9
8
 
10
9
  //#region src/commands/transform/runs.ts
11
10
  const TransformRunListEnvelope = listEnvelopeSchema(TransformRunCompact);
@@ -1,6 +1,6 @@
1
1
  import { AbortError, ConfigError, MetabaseError, NetworkError, ResponseShapeError, TimeoutError, ValidationError, errorMessage, flagConsumesValue, isNotFoundError, normalizeFlag, setMetabaseAugment, toAliasArray } from "./command-augment-BH9qgQ5u.mjs";
2
- import { DEFAULT_MAX_BYTES, package_default, reportError } from "./error-CTVL5CdB.mjs";
3
- import { BASELINE_CAPABILITIES, isPlainObject, warn } from "./capabilities-7e9MgquN.mjs";
2
+ import { DEFAULT_MAX_BYTES, package_default, reportError } from "./error-BndUmcwS.mjs";
3
+ import { BASELINE_CAPABILITIES, isPlainObject, warn } from "./capabilities-7L9GVMd_.mjs";
4
4
  import { defineCommand } from "citty";
5
5
  import { z } from "zod";
6
6
  import { promises } from "node:fs";
@@ -124,10 +124,7 @@ const ProfileRecord = z.object({
124
124
  lastProbe: ProfileLastProbe.nullable(),
125
125
  lastFailure: ProfileLastFailure.nullable()
126
126
  });
127
- const ProfilesFile = z.object({
128
- profiles: z.array(ProfileRecord),
129
- license: z.string().nullable()
130
- });
127
+ const ProfilesFile = z.object({ profiles: z.array(ProfileRecord) });
131
128
 
132
129
  //#endregion
133
130
  //#region src/core/auth/storage.ts
@@ -139,10 +136,7 @@ const PROFILES_FILE_MODE = 384;
139
136
  const PROFILES_DIR_MODE = 448;
140
137
  const DEFAULT_PROFILE = "default";
141
138
  const LEGACY_STORAGE_NOTICE = "Old profile storage detected and ignored; re-run `mb auth login` for each profile.";
142
- const account = {
143
- profileApiKey: (profile) => `profile:${profile}:apiKey`,
144
- license: "license"
145
- };
139
+ const account = { profileApiKey: (profile) => `profile:${profile}:apiKey` };
146
140
  let legacyWarningPending = false;
147
141
  function profilesFilePath() {
148
142
  return join(configDir(), PROFILES_FILE);
@@ -188,10 +182,7 @@ async function readProfilesFile() {
188
182
  } catch (error) {
189
183
  if (isNotFoundError(error)) {
190
184
  await detectLegacyArtifacts();
191
- return {
192
- profiles: [],
193
- license: null
194
- };
185
+ return { profiles: [] };
195
186
  }
196
187
  throw error;
197
188
  }
@@ -199,10 +190,7 @@ async function readProfilesFile() {
199
190
  if (parsed.ok) return parsed.value;
200
191
  if (parsed.error instanceof ValidationError) {
201
192
  legacyWarningPending = true;
202
- return {
203
- profiles: [],
204
- license: null
205
- };
193
+ return { profiles: [] };
206
194
  }
207
195
  throw parsed.error;
208
196
  }
@@ -222,7 +210,7 @@ async function fileExists(path) {
222
210
  }
223
211
  async function writeProfilesFile(file) {
224
212
  const path = profilesFilePath();
225
- if (file.profiles.length === 0 && file.license === null) {
213
+ if (file.profiles.length === 0) {
226
214
  await promises.unlink(path).catch(() => void 0);
227
215
  await cleanupLegacyFiles();
228
216
  return;
@@ -249,9 +237,9 @@ function fileLocation(key) {
249
237
  reason: keyringEnabled() ? "unavailable" : "disabled"
250
238
  };
251
239
  }
252
- function keyringFallbackWarning(location, subject) {
240
+ function keyringFallbackWarning(location) {
253
241
  const cause = location.reason === "disabled" ? "OS keychain disabled via METABASE_CLI_DISABLE_KEYRING" : "OS keychain unavailable";
254
- return `warning: ${cause}; ${subject} stored as plaintext at ${location.path}`;
242
+ return `warning: ${cause}; credentials stored as plaintext at ${location.path}`;
255
243
  }
256
244
  async function persistApiKey(name, apiKey) {
257
245
  const key = account.profileApiKey(name);
@@ -360,42 +348,6 @@ async function clearProfile(name = DEFAULT_PROFILE) {
360
348
  });
361
349
  return true;
362
350
  }
363
- async function readLicense() {
364
- const fromKeyring = tryReadKeyring(account.license);
365
- if (typeof fromKeyring === "string") return fromKeyring;
366
- const file = await readProfilesFile();
367
- return file.license;
368
- }
369
- async function writeLicense(token) {
370
- const key = account.license;
371
- const file = await readProfilesFile();
372
- if (trySetKeyring(key, token)) {
373
- if (file.license !== null) await writeProfilesFile({
374
- ...file,
375
- license: null
376
- });
377
- return {
378
- backend: "keyring",
379
- service: KEYRING_SERVICE,
380
- account: key
381
- };
382
- }
383
- await writeProfilesFile({
384
- ...file,
385
- license: token
386
- });
387
- return fileLocation(key);
388
- }
389
- async function clearLicense() {
390
- const removedFromKeyring = tryRemoveKeyring(account.license);
391
- const file = await readProfilesFile();
392
- const hadInline = file.license !== null;
393
- if (hadInline) await writeProfilesFile({
394
- ...file,
395
- license: null
396
- });
397
- return removedFromKeyring === true || hadInline;
398
- }
399
351
 
400
352
  //#endregion
401
353
  //#region src/runtime/signal.ts
@@ -556,7 +508,7 @@ function buildUserMessage(kind, input, sanitizedBody) {
556
508
  function buildRouteMissingMessage(input) {
557
509
  const path = pathFromUrl(input.url);
558
510
  if (!input.serverTag) return `This endpoint is not available on the connected Metabase: ${input.method} ${path}.`;
559
- return `This endpoint is not available on Metabase ${input.serverTag}: ${input.method} ${path}. The command may require a newer Metabase major version. Run 'mb auth list' to see this server's version, or 'mb __manifest' for per-command requirements.`;
511
+ return `This endpoint is not available on Metabase ${input.serverTag}: ${input.method} ${path}. The command may require a newer Metabase major version. Run 'mb auth list' to see this server's version.`;
560
512
  }
561
513
  function pathFromUrl(url) {
562
514
  const parsed = new URL(url);
@@ -910,16 +862,12 @@ function originOnly(input) {
910
862
  parsed.password = "";
911
863
  return parsed.origin;
912
864
  }
913
- function localUrl(port) {
914
- return `http://localhost:${port}`;
915
- }
916
865
 
917
866
  //#endregion
918
867
  //#region src/core/config.ts
919
868
  const ENV_URL = "METABASE_URL";
920
869
  const ENV_API_KEY = "METABASE_API_KEY";
921
870
  const ENV_PROFILE = "METABASE_PROFILE";
922
- const ENV_LICENSE_TOKEN = "METABASE_LICENSE_TOKEN";
923
871
  const ENV_SKIP_PREFLIGHT = "METABASE_CLI_SKIP_PREFLIGHT";
924
872
  function isPreflightSkipped() {
925
873
  return process.env[ENV_SKIP_PREFLIGHT] === "1";
@@ -936,9 +884,6 @@ function readEnvCredentials() {
936
884
  apiKey: process.env[ENV_API_KEY] ?? null
937
885
  };
938
886
  }
939
- function readEnvLicenseToken() {
940
- return process.env[ENV_LICENSE_TOKEN] ?? null;
941
- }
942
887
  async function resolveConfig(flags) {
943
888
  const profile = resolveProfileName(flags.profile);
944
889
  const env = readEnvCredentials();
@@ -959,14 +904,6 @@ async function resolveConfig(flags) {
959
904
  source: urlField.source === keyField.source ? urlField.source : "mixed"
960
905
  };
961
906
  }
962
- async function resolveLicenseToken(flags) {
963
- const flag = flags.token;
964
- const env = readEnvLicenseToken();
965
- const stored = !flag && !env ? await readLicense() : null;
966
- const value = flag ?? env ?? stored;
967
- if (!value) throw new ConfigError(`No license token. Pass --token, set ${ENV_LICENSE_TOKEN}, or store one with \`mb workspace license set\`.`);
968
- return value;
969
- }
970
907
  async function failureHintForProfile(profile) {
971
908
  const record = await readProfileRecord(profile);
972
909
  if (record === null || record.lastFailure === null) return "";
@@ -1084,10 +1021,6 @@ function parseInteger(value, options) {
1084
1021
  if (parsed < options.min) throw new ConfigError(`invalid ${options.name}: ${parsed} (must be ≥ ${options.min})`);
1085
1022
  return parsed;
1086
1023
  }
1087
- function parseOptionalInteger(value, options) {
1088
- if (value === void 0 || value === "") return null;
1089
- return parseInteger(value, options);
1090
- }
1091
1024
 
1092
1025
  //#endregion
1093
1026
  //#region src/commands/context.ts
@@ -1290,4 +1223,4 @@ function buildConfigFlags(ctx) {
1290
1223
  }
1291
1224
 
1292
1225
  //#endregion
1293
- export { DEFAULT_PROFILE, HttpError, ParsedVersionSchema, ProbedUser, ProfileLastFailure, TokenFeatures, USER_AGENT, clearLicense, clearProfile, combineAborts, createClient, defineMetabaseCommand, explicitProfileName, keyringFallbackWarning, listProfileRecords, localUrl, normalizeUrl, originOnly, parseCsv, parseEnum, parseEnumCsv, parseInteger, parseJson, parseJsonOrPlain, parseOptionalInteger, probeServer, readEnvCredentials, readEnvLicenseToken, readLicense, readProfile, readProfileRecord, resolveLicenseToken, resolveProfileName, throwIfAborted, writeLicense, writeProbeFailure, writeProbeResult, writeProfile };
1226
+ export { DEFAULT_PROFILE, HttpError, ParsedVersionSchema, ProbedUser, ProfileLastFailure, TokenFeatures, USER_AGENT, clearProfile, combineAborts, createClient, defineMetabaseCommand, explicitProfileName, keyringFallbackWarning, listProfileRecords, normalizeUrl, originOnly, parseCsv, parseEnum, parseEnumCsv, parseInteger, parseJson, parseJsonOrPlain, probeServer, readEnvCredentials, readProfile, readProfileRecord, resolveProfileName, throwIfAborted, writeProbeFailure, writeProbeResult, writeProfile };
@@ -1,11 +1,10 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderList } from "./render-0_GsapXa.mjs";
6
- import "./field-E0IBy4Uw.mjs";
7
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
8
- import { Table, TableCompact, tableView } from "./table-qDD2kApF.mjs";
2
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderList } from "./capabilities-7L9GVMd_.mjs";
5
+ import "./field-MGxpNQUH.mjs";
6
+ import { parseId } from "./parse-id-Boqc4wn4.mjs";
7
+ import { Table, TableCompact, tableView } from "./table-CkWja2UH.mjs";
9
8
  import { z } from "zod";
10
9
 
11
10
  //#region src/commands/db/schema-tables.ts
@@ -1,9 +1,8 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderList } from "./render-0_GsapXa.mjs";
6
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
2
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderList } from "./capabilities-7L9GVMd_.mjs";
5
+ import { parseId } from "./parse-id-Boqc4wn4.mjs";
7
6
  import { z } from "zod";
8
7
 
9
8
  //#region src/commands/db/schemas.ts
@@ -1,9 +1,8 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand, parseEnumCsv } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderList } from "./render-0_GsapXa.mjs";
6
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
2
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand, parseEnumCsv } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderList } from "./capabilities-7L9GVMd_.mjs";
5
+ import { parseId } from "./parse-id-Boqc4wn4.mjs";
7
6
  import { z } from "zod";
8
7
 
9
8
  //#region src/domain/search.ts
@@ -0,0 +1,19 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/segment/index.ts
4
+ var segment_default = defineCommand({
5
+ meta: {
6
+ name: "segment",
7
+ description: "Manage Metabase segments"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-DNmekF2B.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-CHaIVT6Y.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-C_Z3IDrW.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-DqSG5_Ie.mjs").then((mod) => mod.default),
14
+ archive: () => import("./archive-C17qIvFW.mjs").then((mod) => mod.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { segment_default as default };
@@ -1,12 +1,11 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { formatScalar, renderSummary } from "./render-0_GsapXa.mjs";
6
- import "./input-cMSEqISy.mjs";
7
- import { readBody } from "./body-DDYKoyMt.mjs";
8
- import { SettingValue, settingValueView } from "./setting-BzCng1Ub.mjs";
9
- import { parseSettingKey, rethrowSettingError } from "./key-vkNkH82H.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { formatScalar, renderSummary } from "./capabilities-7L9GVMd_.mjs";
5
+ import "./input-xewHccej.mjs";
6
+ import { readBody } from "./body-2jl-YSxT.mjs";
7
+ import { SettingValue, settingValueView } from "./setting-oL97SNeO.mjs";
8
+ import { parseSettingKey, rethrowSettingError } from "./key-C2XG394c.mjs";
10
9
  import { z } from "zod";
11
10
 
12
11
  //#region src/commands/setting/set.ts
@@ -7,9 +7,9 @@ var setting_default = defineCommand({
7
7
  description: "Inspect and update Metabase settings"
8
8
  },
9
9
  subCommands: {
10
- list: () => import("./list-V5IuMr_5.mjs").then((m) => m.default),
11
- get: () => import("./get-DyArILlF.mjs").then((m) => m.default),
12
- set: () => import("./set-BRDxcLcQ.mjs").then((m) => m.default)
10
+ list: () => import("./list-CCtYVgPN.mjs").then((m) => m.default),
11
+ get: () => import("./get-BYSj7tMP.mjs").then((m) => m.default),
12
+ set: () => import("./set-ClzB_5Jk.mjs").then((m) => m.default)
13
13
  }
14
14
  });
15
15
 
@@ -1,11 +1,10 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderSummary } from "./render-0_GsapXa.mjs";
6
- import "./input-cMSEqISy.mjs";
7
- import { readBody } from "./body-DDYKoyMt.mjs";
8
- import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderSummary } from "./capabilities-7L9GVMd_.mjs";
5
+ import "./input-xewHccej.mjs";
6
+ import { readBody } from "./body-2jl-YSxT.mjs";
7
+ import { bodyInputFlags } from "./body-flags-D78h_-Ua.mjs";
9
8
  import { z } from "zod";
10
9
 
11
10
  //#region src/domain/setup.ts
@@ -0,0 +1,18 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/skills/index.ts
4
+ var skills_default = defineCommand({
5
+ meta: {
6
+ name: "skills",
7
+ description: "Read CLI-bundled skills — always consult the matching skill before acting on a task; they are the source of truth for every workflow."
8
+ },
9
+ default: "list",
10
+ subCommands: {
11
+ list: () => import("./list-DzKKdfCI.mjs").then((m) => m.default),
12
+ get: () => import("./get-BpWjLkKT.mjs").then((m) => m.default),
13
+ path: () => import("./path-ur3NsMFr.mjs").then((m) => m.default)
14
+ }
15
+ });
16
+
17
+ //#endregion
18
+ export { skills_default as default };
@@ -1,10 +1,41 @@
1
- import { ConfigError, isNotFoundError } from "./command-augment-BH9qgQ5u.mjs";
2
- import { parseYamlResult } from "./yaml-Gv6wRFMF.mjs";
1
+ import { ConfigError, ValidationError, errorMessage, isNotFoundError } from "./command-augment-BH9qgQ5u.mjs";
3
2
  import { z } from "zod";
4
3
  import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
5
4
  import { dirname, join, resolve } from "node:path";
6
5
  import { fileURLToPath } from "node:url";
6
+ import { YAMLParseError, parse } from "yaml";
7
7
 
8
+ //#region src/runtime/yaml.ts
9
+ function parseYamlResult(input, schema, opts = {}) {
10
+ const sourcePrefix = opts.source ? `${opts.source}: ` : "";
11
+ let raw;
12
+ try {
13
+ raw = parse(input);
14
+ } catch (error) {
15
+ if (error instanceof YAMLParseError) return {
16
+ ok: false,
17
+ error: new ConfigError(`${sourcePrefix}invalid YAML: ${error.message}`)
18
+ };
19
+ return {
20
+ ok: false,
21
+ error: new ConfigError(`${sourcePrefix}invalid YAML: ${errorMessage(error)}`)
22
+ };
23
+ }
24
+ const parsed = schema.safeParse(raw);
25
+ if (!parsed.success) return {
26
+ ok: false,
27
+ error: new ValidationError(`${sourcePrefix}value did not match expected schema`, {
28
+ source: opts.source ?? "<input>",
29
+ zodIssues: parsed.error.issues
30
+ })
31
+ };
32
+ return {
33
+ ok: true,
34
+ value: parsed.data
35
+ };
36
+ }
37
+
38
+ //#endregion
8
39
  //#region src/core/skills.ts
9
40
  const Frontmatter = z.object({
10
41
  name: z.string().min(1),
@@ -0,0 +1,19 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/snippet/index.ts
4
+ var snippet_default = defineCommand({
5
+ meta: {
6
+ name: "snippet",
7
+ description: "Manage Metabase native query snippets"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-Bz2ej0Cl.mjs").then((mod) => mod.default),
11
+ get: () => import("./get-BuM6QPjZ.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-BZRA7nPu.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-BHtliIr_.mjs").then((mod) => mod.default),
14
+ archive: () => import("./archive-CPLXsrzD.mjs").then((mod) => mod.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { snippet_default as default };
@@ -1,12 +1,11 @@
1
1
  import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderSummary } from "./render-0_GsapXa.mjs";
6
- import "./parse-id-D1LTTt9L.mjs";
7
- import { REMOTE_SYNC_PATHS, SyncTask, formatSyncTask, pollSyncTask, throwIfFailedTask } from "./poll-task-D8mG49IN.mjs";
8
- import "./poll-DxpnK1wW.mjs";
9
- import { gitSyncWaitFlags, parseWaitFlags } from "./wait-flags-CNIeSq0_.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderSummary } from "./capabilities-7L9GVMd_.mjs";
5
+ import "./parse-id-Boqc4wn4.mjs";
6
+ import "./poll-BMjCkDaj.mjs";
7
+ import { gitSyncWaitFlags, parseWaitFlags } from "./wait-flags-DyFfZeav.mjs";
8
+ import { REMOTE_SYNC_PATHS, SyncTask, formatSyncTask, pollSyncTask, throwIfFailedTask } from "./poll-task-CiRA0ER9.mjs";
10
9
  import { z } from "zod";
11
10
 
12
11
  //#region src/commands/git-sync/stash.ts
@@ -1,9 +1,8 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { ParsedVersionSchema, ProbedUser, ProfileLastFailure, TokenFeatures, defineMetabaseCommand, originOnly, readProfileRecord, resolveProfileName } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderItem } from "./render-0_GsapXa.mjs";
6
- import { renderTimestamp, renderUserName, renderUserRole, renderVersionTag } from "./render-khznBlla.mjs";
2
+ import { outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { ParsedVersionSchema, ProbedUser, ProfileLastFailure, TokenFeatures, defineMetabaseCommand, originOnly, readProfileRecord, resolveProfileName } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderItem } from "./capabilities-7L9GVMd_.mjs";
5
+ import { renderTimestamp, renderUserName, renderUserRole, renderVersionTag } from "./render-BQHJhSP1.mjs";
7
6
  import { z } from "zod";
8
7
 
9
8
  //#region src/commands/auth/status.ts
@@ -1,11 +1,10 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderSummary } from "./render-0_GsapXa.mjs";
6
- import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed, formatSyncTask } from "./poll-task-D8mG49IN.mjs";
7
- import "./poll-DxpnK1wW.mjs";
8
- import { IsDirtyResult } from "./is-dirty-Cke0a1ie.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderSummary } from "./capabilities-7L9GVMd_.mjs";
5
+ import "./poll-BMjCkDaj.mjs";
6
+ import { REMOTE_SYNC_PATHS, SyncTask, fetchCurrentTask, fetchOptionalParsed, formatSyncTask } from "./poll-task-CiRA0ER9.mjs";
7
+ import { IsDirtyResult } from "./is-dirty-DGrmt1ss.mjs";
9
8
  import { z } from "zod";
10
9
 
11
10
  //#region src/commands/git-sync/status.ts
@@ -1,10 +1,9 @@
1
1
  import "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-CTVL5CdB.mjs";
3
- import { defineMetabaseCommand } from "./runtime-B40L_bj8.mjs";
4
- import "./capabilities-7e9MgquN.mjs";
5
- import { renderItem } from "./render-0_GsapXa.mjs";
6
- import { FieldSummary, FieldSummaryRaw, fieldSummaryView } from "./field-E0IBy4Uw.mjs";
7
- import { parseId } from "./parse-id-D1LTTt9L.mjs";
2
+ import { connectionFlags, outputFlags, profileFlag } from "./error-BndUmcwS.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ck8KKQe-.mjs";
4
+ import { renderItem } from "./capabilities-7L9GVMd_.mjs";
5
+ import { FieldSummary, FieldSummaryRaw, fieldSummaryView } from "./field-MGxpNQUH.mjs";
6
+ import { parseId } from "./parse-id-Boqc4wn4.mjs";
8
7
 
9
8
  //#region src/commands/field/summary.ts
10
9
  var summary_default = defineMetabaseCommand({