@metabase/cli 0.1.3 → 0.1.4-alpha.skill-packaging.1c8ec40

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 (179) hide show
  1. package/.claude-plugin/marketplace.json +19 -0
  2. package/README.md +427 -394
  3. package/dist/{add-collection-BOnW3n0Z.mjs → add-collection-B3NhkLRT.mjs} +6 -6
  4. package/dist/{add-collection-CYzLXtm5.mjs → add-collection-CEvZTea_.mjs} +4 -4
  5. package/dist/{api-key-PuKAaQ7V.mjs → api-key-BpmnzLLb.mjs} +1 -1
  6. package/dist/{archive-rMwM-zTz.mjs → archive-BPLLOdfL.mjs} +5 -5
  7. package/dist/{archive-mnPwvARh.mjs → archive-CazAWIrV.mjs} +4 -4
  8. package/dist/{archive-BO29HssD.mjs → archive-D596Cq7R.mjs} +5 -5
  9. package/dist/{archive-TLtE0kDm.mjs → archive-DqPqXMZm.mjs} +5 -5
  10. package/dist/auth-DJp4QoWI.mjs +19 -0
  11. package/dist/{body-DyJdyUnm.mjs → body-CVSMGqZk.mjs} +1 -1
  12. package/dist/{branches-DfmU7c7o.mjs → branches--TavvEK1.mjs} +5 -5
  13. package/dist/{cancel-CMZDt-Oq.mjs → cancel-BUitag4_.mjs} +4 -4
  14. package/dist/{cancel-task-CgZTaU3M.mjs → cancel-task-BHcWJUMu.mjs} +5 -5
  15. package/dist/card-DtUIadDM.mjs +20 -0
  16. package/dist/{cards-CHbQGafh.mjs → cards-Bir6wRS_.mjs} +4 -4
  17. package/dist/cli.mjs +30 -27
  18. package/dist/collection-4-gZeCWg.mjs +19 -0
  19. package/dist/{create-BCuXOmjv.mjs → create-4OjxTGAe.mjs} +7 -7
  20. package/dist/{create-DxEFGyTl.mjs → create-BISpvrml.mjs} +7 -7
  21. package/dist/{create-DSYimCdi.mjs → create-Bi8sqzL-.mjs} +10 -10
  22. package/dist/{create-CicN3zvl.mjs → create-C1cdoSw5.mjs} +9 -9
  23. package/dist/{create-9Eixx15H.mjs → create-C3TiMJhQ.mjs} +7 -7
  24. package/dist/{create-C0rMO9hM.mjs → create-CZZc1KM8.mjs} +10 -10
  25. package/dist/{create-DmoCeGvG.mjs → create-CxMpPsRO.mjs} +6 -6
  26. package/dist/{create-BBUS1QQj.mjs → create-Dj-fO-nV.mjs} +9 -9
  27. package/dist/{create-BwTWnEI9.mjs → create-DuyWlx-S.mjs} +7 -7
  28. package/dist/{create-branch-CyGWseMj.mjs → create-branch-CH1FmnxS.mjs} +5 -5
  29. package/dist/{create-8Hv7mPeZ.mjs → create-hYdLOyw_.mjs} +9 -9
  30. package/dist/{credentials-BsyxKKpn.mjs → credentials-BARfQeBr.mjs} +9 -8
  31. package/dist/{current-task-Cp2TOV2G.mjs → current-task-TX7rJmon.mjs} +5 -5
  32. package/dist/dashboard-C-azCGk-.mjs +20 -0
  33. package/dist/{database-u753FytI.mjs → database-BKfGtTmB.mjs} +3 -3
  34. package/dist/db-D--IArxI.mjs +22 -0
  35. package/dist/{delete-_9bnRv2O.mjs → delete-BxUaF8kW.mjs} +5 -5
  36. package/dist/{delete-QRsN6npe.mjs → delete-DzTd5w_y.mjs} +5 -5
  37. package/dist/{delete-table-DTLdSkjp.mjs → delete-table-DWfA7uVn.mjs} +5 -5
  38. package/dist/{deprovision-CRV8Isc3.mjs → deprovision-CadXjs_7.mjs} +9 -9
  39. package/dist/{dirty-CEH3GeaE.mjs → dirty-an-DQtBG.mjs} +5 -5
  40. package/dist/{docker-BYQ0FHrT.mjs → docker-C9WQCjkt.mjs} +4 -4
  41. package/dist/{eid-C4-Vk0tN.mjs → eid-Cz9r5RX5.mjs} +1 -1
  42. package/dist/{export-D7sASe7p.mjs → export-BHq8ztFL.mjs} +8 -8
  43. package/dist/field-Do1HcUfq.mjs +18 -0
  44. package/dist/{fields-BcqomXOj.mjs → fields-B21DeL2I.mjs} +4 -4
  45. package/dist/{get-Cv5O0Nzp.mjs → get-BAqeeIQ-.mjs} +4 -4
  46. package/dist/{get-C8mOGKNU.mjs → get-BHCgwPPT.mjs} +6 -6
  47. package/dist/{get-Cw74jQSg.mjs → get-BPah4iYM.mjs} +4 -4
  48. package/dist/{get-By8D2ZCD.mjs → get-C4_7ZrIS.mjs} +5 -5
  49. package/dist/{get-C9ddaeGp.mjs → get-CAYnc9sd.mjs} +4 -4
  50. package/dist/{get-BRwM-_QR.mjs → get-ChEFd1sT.mjs} +5 -5
  51. package/dist/{get-B3N93OEi.mjs → get-ChxcxY2D.mjs} +5 -5
  52. package/dist/{get-BrLtlgsJ.mjs → get-Cy9YIesM.mjs} +3 -3
  53. package/dist/{get-REcs9xfF.mjs → get-D-zU7VmK.mjs} +4 -4
  54. package/dist/{get-DVTJi4o0.mjs → get-DFm7pR7F.mjs} +6 -6
  55. package/dist/get-DWttywn_.mjs +79 -0
  56. package/dist/{get-DGPgyqzM.mjs → get-RPL4h0It.mjs} +6 -6
  57. package/dist/{get-DNdDX5ON.mjs → get-dqrzLuwA.mjs} +6 -6
  58. package/dist/{get-run-DY8GOsfI.mjs → get-run-CG3QFs9T.mjs} +5 -5
  59. package/dist/git-sync-COKsdLkS.mjs +28 -0
  60. package/dist/{has-remote-changes-Bw_X8TI6.mjs → has-remote-changes-ecra9BFO.mjs} +5 -5
  61. package/dist/{import-QVwrtIFF.mjs → import-BzOKkYnp.mjs} +8 -8
  62. package/dist/{is-dirty-BHucbgY2.mjs → is-dirty-7afLBOtn.mjs} +3 -3
  63. package/dist/is-dirty-Dnw0AHFw.mjs +10 -0
  64. package/dist/{items-BrLOFmIa.mjs → items-BEWSuEfe.mjs} +7 -7
  65. package/dist/{license-B3KaSSS3.mjs → license-D3mFdxAq.mjs} +3 -3
  66. package/dist/{list-CYYq46ca.mjs → list-B5E7LFDb.mjs} +6 -6
  67. package/dist/{list-YwqpLfkl.mjs → list-B9mEqMZ5.mjs} +3 -3
  68. package/dist/{list-g2xt5jvY.mjs → list-BJAC356Q.mjs} +5 -5
  69. package/dist/{list-W_G0Wupl.mjs → list-BOQWvb8b.mjs} +3 -3
  70. package/dist/{list-D35m483Y.mjs → list-BZFTuiBr.mjs} +4 -4
  71. package/dist/{list-Dgaxc0kI.mjs → list-By3t67Y8.mjs} +5 -5
  72. package/dist/{list-B1_XSq0O.mjs → list-ByPzCM2G.mjs} +3 -3
  73. package/dist/{list-mSYy6xIm.mjs → list-C8b-KxY6.mjs} +6 -6
  74. package/dist/{list-wyaVSZpU.mjs → list-CiHlWufc.mjs} +4 -4
  75. package/dist/{list-ThlZXdtA.mjs → list-D_exD3LP.mjs} +5 -5
  76. package/dist/{list-B8WxxlSA.mjs → list-DiAyv9l3.mjs} +4 -4
  77. package/dist/{list-HcYQlqJr.mjs → list-DtSOfMZ2.mjs} +4 -4
  78. package/dist/list-DwF6on6O.mjs +44 -0
  79. package/dist/{list-Dygi5MBO.mjs → list-nIxzXqr-.mjs} +3 -3
  80. package/dist/{login-DVBsPahM.mjs → login-Cka2HZWz.mjs} +5 -5
  81. package/dist/{logout-CPGsbP2z.mjs → logout-rA25M-oa.mjs} +3 -3
  82. package/dist/{logs-CDdM2nW-.mjs → logs-B5cGXoDi.mjs} +10 -10
  83. package/dist/measure-CwJ2o89T.mjs +19 -0
  84. package/dist/{metadata-Djyv6HKF.mjs → metadata-BEd6s_Qf.mjs} +4 -4
  85. package/dist/{metadata-CpGxasPK.mjs → metadata-DirWO0cS.mjs} +4 -4
  86. package/dist/{package-BeJ9DFrO.mjs → package-VV3qWWIQ.mjs} +8 -3
  87. package/dist/{parse-id-DcoC0Z3o.mjs → parse-id-DbSjfzoU.mjs} +1 -1
  88. package/dist/{parse-schemas-NgeC8-ba.mjs → parse-schemas-BXTlpoaf.mjs} +1 -1
  89. package/dist/path-DarsuSkB.mjs +58 -0
  90. package/dist/{poll-CPn_4eae.mjs → poll-Cd8bRMmZ.mjs} +1 -1
  91. package/dist/{poll-task-YHJL7Q94.mjs → poll-task-BwKuhZ9P.mjs} +2 -2
  92. package/dist/{preflight-UP6MOkcY.mjs → preflight-RkDLqtNm.mjs} +1 -1
  93. package/dist/{provision-Cw4yFtn9.mjs → provision-DBqPA-De.mjs} +12 -12
  94. package/dist/{ps-CmGyds34.mjs → ps-Cn3lzak-.mjs} +3 -3
  95. package/dist/{ps-D7kAMsc0.mjs → ps-DIm7IScc.mjs} +6 -6
  96. package/dist/{query-CWM06uYl.mjs → query-BoOismbH.mjs} +10 -10
  97. package/dist/{query-DXYFK2Dn.mjs → query-CkNa5Nam.mjs} +7 -7
  98. package/dist/{remove-DtSkkvp3.mjs → remove-B7NUBOqF.mjs} +3 -3
  99. package/dist/{remove-BJiq8Bna.mjs → remove-C08c3vne.mjs} +7 -7
  100. package/dist/{remove-collection-CfdSGSSW.mjs → remove-collection-cFO9M-qV.mjs} +7 -7
  101. package/dist/{rescan-values-DmZSi8y2.mjs → rescan-values-D1-IyyU7.mjs} +4 -4
  102. package/dist/{revision-message-flag-CWQbKhdl.mjs → revision-message-flag-oyq2xrDU.mjs} +1 -1
  103. package/dist/{run-By3Hx4Sv.mjs → run-BCzKf_TV.mjs} +7 -7
  104. package/dist/{runs-OxCc7uCv.mjs → runs-pVgTv7cK.mjs} +7 -7
  105. package/dist/{runtime-CqLG3Q3o.mjs → runtime-DPdP0sl1.mjs} +4 -4
  106. package/dist/{schema-tables-gCfMALFX.mjs → schema-tables-c6K9AkS-.mjs} +4 -4
  107. package/dist/{schemas-CelnP-JJ.mjs → schemas-s3PRMTwc.mjs} +4 -4
  108. package/dist/{search-Ccc2XHFA.mjs → search-DsF08cm9.mjs} +6 -6
  109. package/dist/segment-CvPF5gLG.mjs +19 -0
  110. package/dist/{set-DQoW10tq.mjs → set-BNQjt8S1.mjs} +8 -8
  111. package/dist/{set-CwZkyHao.mjs → set-DlfevPxG.mjs} +5 -5
  112. package/dist/{setting-DrI9j2k_.mjs → setting-Cc5FWSNN.mjs} +3 -3
  113. package/dist/{setup-flXHfxYc.mjs → setup-CIsvZgEA.mjs} +6 -6
  114. package/dist/skills-CHU7uuDU.mjs +191 -0
  115. package/dist/skills-Dws-azxD.mjs +18 -0
  116. package/dist/snippet-W-TaXdio.mjs +19 -0
  117. package/dist/{start-B6jtccng.mjs → start-xREv6hev.mjs} +17 -16
  118. package/dist/{stash-Bhp_hRrV.mjs → stash-ZLbOejYk.mjs} +7 -7
  119. package/dist/{status-fw5qhKyj.mjs → status-CYWbB67d.mjs} +3 -3
  120. package/dist/{status-DGw7jG9b.mjs → status-DiXaGNmb.mjs} +3 -3
  121. package/dist/{status-BxWCQzCv.mjs → status-DjRAgzXl.mjs} +6 -6
  122. package/dist/{stop-x6EOdIVT.mjs → stop-CWKn_jI8.mjs} +8 -8
  123. package/dist/{summary-Da1JIhhv.mjs → summary-CIFwiame.mjs} +4 -4
  124. package/dist/{sync-schema-Do916yAq.mjs → sync-schema-_SRMfBSQ.mjs} +4 -4
  125. package/dist/table-uhBlfNYj.mjs +19 -0
  126. package/dist/transform-UJ7T_BSb.mjs +24 -0
  127. package/dist/transform-job-DXs5apQ1.mjs +19 -0
  128. package/dist/{translate-CEnaytH7.mjs → translate-DVN_sIVb.mjs} +6 -6
  129. package/dist/{tree-pWV930zt.mjs → tree-BTZfgldu.mjs} +3 -3
  130. package/dist/{update-CN3LI4St.mjs → update-Bjd7YRyh.mjs} +10 -10
  131. package/dist/{update-jLIPP2pF.mjs → update-CCFegz4q.mjs} +12 -12
  132. package/dist/{update-w3N6O04l.mjs → update-CDdML0mE.mjs} +11 -11
  133. package/dist/{update-DLMn9cXk.mjs → update-CGYM_wWQ.mjs} +9 -9
  134. package/dist/{update-C-VOpeVi.mjs → update-CYMsVUQX.mjs} +7 -7
  135. package/dist/{update-Bd-Hk_z8.mjs → update-D48EYMKn.mjs} +7 -7
  136. package/dist/{update-CA7f8M_E.mjs → update-D6jptFDw.mjs} +11 -11
  137. package/dist/{update-CvujE0sT.mjs → update-DSjj9UQb.mjs} +12 -12
  138. package/dist/{update-BncXiS3T.mjs → update-DjfNbEgo.mjs} +8 -8
  139. package/dist/{update-Db0rN6W1.mjs → update-ZRF-sYqN.mjs} +13 -13
  140. package/dist/{update-dashcard-C13FmMd8.mjs → update-dashcard-BfcB6pFx.mjs} +7 -7
  141. package/dist/{upgrade-Cko0ScCj.mjs → upgrade-Cw_mP31_.mjs} +8 -8
  142. package/dist/{url-BKzUneYx.mjs → url-DsDSVEnK.mjs} +7 -7
  143. package/dist/{uuid-D9TBeO2v.mjs → uuid-DbtHyH33.mjs} +5 -5
  144. package/dist/{validate-CLdliJUz.mjs → validate-CB0bu50i.mjs} +2 -2
  145. package/dist/{validate-query-C34T9ZUr.mjs → validate-query-CavIA0Q2.mjs} +1 -1
  146. package/dist/{values-CFO1KoS0.mjs → values-C1JRC3O2.mjs} +4 -4
  147. package/dist/{wait-CM59nNh3.mjs → wait-Ed4Q7ccW.mjs} +2 -2
  148. package/dist/{wait-h9MABbYJ.mjs → wait-LRmiGepb.mjs} +6 -6
  149. package/dist/{wait-flags-6QBmhHw9.mjs → wait-flags-pItBfuzi.mjs} +2 -2
  150. package/dist/workspace-BozpZKez.mjs +24 -0
  151. package/dist/{workspace-credentials-Cctumbru.mjs → workspace-credentials-4lIxxz4g.mjs} +2 -41
  152. package/dist/yaml-ECiog374.mjs +43 -0
  153. package/package.json +6 -3
  154. package/skill-data/core/SKILL.md +575 -0
  155. package/skill-data/git-sync/SKILL.md +196 -0
  156. package/skill-data/transform/SKILL.md +235 -0
  157. package/skill-data/workspace/SKILL.md +408 -0
  158. package/skills/metabase-cli/SKILL.md +42 -0
  159. package/dist/auth-6xSQV9_O.mjs +0 -19
  160. package/dist/card-BPRuWt1L.mjs +0 -20
  161. package/dist/collection-ubrm8jOv.mjs +0 -19
  162. package/dist/dashboard-DMXwndg8.mjs +0 -20
  163. package/dist/db-Br0VA1nL.mjs +0 -22
  164. package/dist/field-DN3Mtvjy.mjs +0 -18
  165. package/dist/git-sync-C3DyWKLP.mjs +0 -28
  166. package/dist/is-dirty-YZTcIZmy.mjs +0 -10
  167. package/dist/measure-C-2Zimtc.mjs +0 -19
  168. package/dist/segment-ZWbF5Lw8.mjs +0 -19
  169. package/dist/snippet-C7Y7BV-k.mjs +0 -19
  170. package/dist/table-BsJDzYMc.mjs +0 -19
  171. package/dist/transform-BFOkT-X-.mjs +0 -24
  172. package/dist/transform-job-CvAq4Qdm.mjs +0 -19
  173. package/dist/workspace-AJjCGa9h.mjs +0 -24
  174. /package/dist/{delete-runtime-BkAdygbs.mjs → delete-runtime-DfFMWJJ6.mjs} +0 -0
  175. /package/dist/{process-FjsqDwKo.mjs → process-zJeVJZTM.mjs} +0 -0
  176. /package/dist/{snippet-Dw0Sjzkr.mjs → snippet-CSWqkslB.mjs} +0 -0
  177. /package/dist/{transform-IEX4Mx3X.mjs → transform-DR4ejuPM.mjs} +0 -0
  178. /package/dist/{transform-job-Csr86muI.mjs → transform-job-BrhOLO4M.mjs} +0 -0
  179. /package/dist/{workspace-C5q4nbpY.mjs → workspace-DUfqhPm5.mjs} +0 -0
@@ -1,13 +1,13 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-DuoDUTVL.mjs";
4
4
  import "./predicates-CGO17Q15.mjs";
5
5
  import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CqLG3Q3o.mjs";
7
- import { readBody } from "./body-DyJdyUnm.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
7
+ import { readBody } from "./body-CVSMGqZk.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
10
- import { TransformJob, TransformJobUpdateInput, transformJobView } from "./transform-job-Csr86muI.mjs";
9
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
10
+ import { TransformJob, TransformJobUpdateInput, transformJobView } from "./transform-job-BrhOLO4M.mjs";
11
11
 
12
12
  //#region src/commands/transform-job/update.ts
13
13
  var update_default = defineMetabaseCommand({
@@ -28,9 +28,9 @@ var update_default = defineMetabaseCommand({
28
28
  },
29
29
  outputSchema: TransformJob,
30
30
  examples: [
31
- "cat patch.json | metabase transform-job update 1",
32
- "metabase transform-job update 1 --file patch.json",
33
- "metabase transform-job update 1 --body '{\"schedule\":\"0 0 6 * * ?\"}'"
31
+ "cat patch.json | mb transform-job update 1",
32
+ "mb transform-job update 1 --file patch.json",
33
+ "mb transform-job update 1 --body '{\"schedule\":\"0 0 6 * * ?\"}'"
34
34
  ],
35
35
  async run({ args, ctx, getClient }) {
36
36
  const id = parseId(args.id);
@@ -1,22 +1,22 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-DuoDUTVL.mjs";
4
4
  import "./predicates-CGO17Q15.mjs";
5
5
  import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CqLG3Q3o.mjs";
7
- import { readBody } from "./body-DyJdyUnm.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
7
+ import { readBody } from "./body-CVSMGqZk.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
9
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
10
10
  import "./field-B3gvaqpK.mjs";
11
11
  import { Card, CardUpdateInput, cardView } from "./card-CQxvHeyP.mjs";
12
- import "./validate-CLdliJUz.mjs";
13
- import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-C34T9ZUr.mjs";
12
+ import "./validate-CB0bu50i.mjs";
13
+ import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CavIA0Q2.mjs";
14
14
 
15
15
  //#region src/commands/card/update.ts
16
16
  var update_default = defineMetabaseCommand({
17
17
  meta: {
18
18
  name: "update",
19
- description: "Update a card by id; if dataset_query is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `metabase query` (see `metabase query --print-schema`)"
19
+ description: "Update a card by id; if dataset_query is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `mb query` (see `mb query --print-schema`)"
20
20
  },
21
21
  args: {
22
22
  ...outputFlags,
@@ -32,12 +32,12 @@ var update_default = defineMetabaseCommand({
32
32
  },
33
33
  outputSchema: Card,
34
34
  examples: [
35
- "cat patch.json | metabase card update 1",
36
- "metabase card update 1 --file patch.json",
37
- "metabase card update 1 --body '{\"name\":\"renamed\"}'",
38
- "metabase card update 1 --body '{\"display\":\"bar\"}'",
39
- "metabase card update 1 --body '{\"archived\":true}'",
40
- "metabase card update 1 --file patch.json --skip-validate"
35
+ "cat patch.json | mb card update 1",
36
+ "mb card update 1 --file patch.json",
37
+ "mb card update 1 --body '{\"name\":\"renamed\"}'",
38
+ "mb card update 1 --body '{\"display\":\"bar\"}'",
39
+ "mb card update 1 --body '{\"archived\":true}'",
40
+ "mb card update 1 --file patch.json --skip-validate"
41
41
  ],
42
42
  async run({ args, ctx, getClient }) {
43
43
  const id = parseId(args.id);
@@ -1,12 +1,12 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-DuoDUTVL.mjs";
4
4
  import { ConfigError } from "./predicates-CGO17Q15.mjs";
5
5
  import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CqLG3Q3o.mjs";
7
- import { readBody } from "./body-DyJdyUnm.mjs";
6
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
7
+ import { readBody } from "./body-CVSMGqZk.mjs";
8
8
  import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
9
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
10
10
  import { DashboardDetail, Dashcard, DashcardPatchInput, dashcardView } from "./dashboard-CnMD04PQ.mjs";
11
11
 
12
12
  //#region src/commands/dashboard/update-dashcard.ts
@@ -33,9 +33,9 @@ var update_dashcard_default = defineMetabaseCommand({
33
33
  },
34
34
  outputSchema: Dashcard,
35
35
  examples: [
36
- "metabase dashboard update-dashcard 1 5 --body '{\"row\":2,\"col\":0}'",
37
- "metabase dashboard update-dashcard 1 5 --body '{\"size_x\":12,\"size_y\":4}'",
38
- "cat patch.json | metabase dashboard update-dashcard 1 5"
36
+ "mb dashboard update-dashcard 1 5 --body '{\"row\":2,\"col\":0}'",
37
+ "mb dashboard update-dashcard 1 5 --body '{\"size_x\":12,\"size_y\":4}'",
38
+ "cat patch.json | mb dashboard update-dashcard 1 5"
39
39
  ],
40
40
  async run({ args, ctx, getClient }) {
41
41
  const dashboardId = parseId(args["dashboard-id"], "dashboard-id");
@@ -1,10 +1,10 @@
1
- import { package_default } from "./package-BeJ9DFrO.mjs";
1
+ import { package_default } from "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem, writeText } from "./render-DuoDUTVL.mjs";
4
4
  import { AbortError, NetworkError, TimeoutError, UnknownError, errorMessage } from "./predicates-CGO17Q15.mjs";
5
- import { HttpError, USER_AGENT, combineAborts, defineMetabaseCommand, outputFlags, parseJson, throwIfAborted } from "./runtime-CqLG3Q3o.mjs";
5
+ import { HttpError, USER_AGENT, combineAborts, defineMetabaseCommand, outputFlags, parseJson, throwIfAborted } from "./runtime-DPdP0sl1.mjs";
6
6
  import { promptConfirm } from "./prompt-DgDNy_Pc.mjs";
7
- import { streamProcess } from "./process-FjsqDwKo.mjs";
7
+ import { streamProcess } from "./process-zJeVJZTM.mjs";
8
8
  import { z } from "zod";
9
9
  import { realpathSync } from "node:fs";
10
10
  import { compare, valid } from "semver";
@@ -326,11 +326,11 @@ var upgrade_default = defineMetabaseCommand({
326
326
  },
327
327
  outputSchema: UpgradeStatus,
328
328
  examples: [
329
- "metabase upgrade",
330
- "metabase upgrade --check",
331
- "metabase upgrade --check --json",
332
- "metabase upgrade --yes",
333
- "metabase upgrade --to 0.1.2"
329
+ "mb upgrade",
330
+ "mb upgrade --check",
331
+ "mb upgrade --check --json",
332
+ "mb upgrade --yes",
333
+ "mb upgrade --to 0.1.2"
334
334
  ],
335
335
  async run({ args, ctx }) {
336
336
  const currentVersion = SemverString.parse(package_default.version);
@@ -1,12 +1,12 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-DuoDUTVL.mjs";
4
4
  import "./predicates-CGO17Q15.mjs";
5
- import { defineMetabaseCommand, localUrl, outputFlags } from "./runtime-CqLG3Q3o.mjs";
6
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
7
- import "./poll-CPn_4eae.mjs";
8
- import "./process-FjsqDwKo.mjs";
9
- import { checkDockerReady, requireWorkspaceContainerLocation } from "./docker-BYQ0FHrT.mjs";
5
+ import { defineMetabaseCommand, localUrl, outputFlags } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
+ import "./poll-Cd8bRMmZ.mjs";
8
+ import "./process-zJeVJZTM.mjs";
9
+ import { checkDockerReady, requireWorkspaceContainerLocation } from "./docker-C9WQCjkt.mjs";
10
10
  import { z } from "zod";
11
11
 
12
12
  //#region src/commands/workspace/url.ts
@@ -38,7 +38,7 @@ var url_default = defineMetabaseCommand({
38
38
  }
39
39
  },
40
40
  outputSchema: UrlResult,
41
- examples: ["metabase workspace url 1", "metabase workspace url 1 --json"],
41
+ examples: ["mb workspace url 1", "mb workspace url 1 --json"],
42
42
  async run({ args, ctx }) {
43
43
  const workspaceId = parseId(args.id);
44
44
  await checkDockerReady();
@@ -1,8 +1,8 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { writeJson, writeText } from "./render-DuoDUTVL.mjs";
4
4
  import { ConfigError } from "./predicates-CGO17Q15.mjs";
5
- import { defineMetabaseCommand, outputFlags, parseInteger } from "./runtime-CqLG3Q3o.mjs";
5
+ import { defineMetabaseCommand, outputFlags, parseInteger } from "./runtime-DPdP0sl1.mjs";
6
6
  import { z } from "zod";
7
7
  import { randomUUID } from "node:crypto";
8
8
 
@@ -24,9 +24,9 @@ var uuid_default = defineMetabaseCommand({
24
24
  },
25
25
  outputSchema: UuidList,
26
26
  examples: [
27
- "metabase uuid",
28
- "metabase uuid --count 5",
29
- "metabase uuid --count 5 --json"
27
+ "mb uuid",
28
+ "mb uuid --count 5",
29
+ "mb uuid --count 5 --json"
30
30
  ],
31
31
  run({ args, ctx }) {
32
32
  const count = parseInteger(args.count, {
@@ -1369,8 +1369,8 @@ function getValidator() {
1369
1369
  validator = compiled;
1370
1370
  return validator;
1371
1371
  }
1372
- const UUID_HINT_MESSAGE = "must be a UUID v4 (RFC 4122) — run `metabase uuid` (or `metabase uuid --count N`) to mint one. The MBQL 5 schema rejects placeholder strings (`a1`, `uuid-1`, etc.); agents must call the CLI for UUIDs rather than authoring them.";
1373
- const FIELD_SLOT1_HINT_MESSAGE = "must be the field options object — MBQL 5 field refs are [\"field\", {options}, fieldId]; the legacy MBQL 4 shape [\"field\", id, opts] is not accepted here. (Tip: `metabase uuid` mints `lib/uuid` strings if you need them.)";
1372
+ const UUID_HINT_MESSAGE = "must be a UUID v4 (RFC 4122) — run `mb uuid` (or `mb uuid --count N`) to mint one. The MBQL 5 schema rejects placeholder strings (`a1`, `uuid-1`, etc.); agents must call the CLI for UUIDs rather than authoring them.";
1373
+ const FIELD_SLOT1_HINT_MESSAGE = "must be the field options object — MBQL 5 field refs are [\"field\", {options}, fieldId]; the legacy MBQL 4 shape [\"field\", id, opts] is not accepted here. (Tip: `mb uuid` mints `lib/uuid` strings if you need them.)";
1374
1374
  function clauseSlot1HintMessage(operator, slot1) {
1375
1375
  return `must be the clause options object — every MBQL 5 clause is ["${operator}", {options}, ...args]; got ${describeJsonValue(slot1)} at index 1`;
1376
1376
  }
@@ -1,6 +1,6 @@
1
1
  import { writeJson } from "./render-DuoDUTVL.mjs";
2
2
  import { ConfigError } from "./predicates-CGO17Q15.mjs";
3
- import { assertNotLegacyEnvelopeWrappingMbql5, isMbql5Query, validateQuery } from "./validate-CLdliJUz.mjs";
3
+ import { assertNotLegacyEnvelopeWrappingMbql5, isMbql5Query, validateQuery } from "./validate-CB0bu50i.mjs";
4
4
 
5
5
  //#region src/commands/validate-query.ts
6
6
  const skipValidateFlag = { "skip-validate": {
@@ -1,9 +1,9 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-DuoDUTVL.mjs";
4
4
  import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CqLG3Q3o.mjs";
6
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
7
  import { FieldValues, fieldValuesView } from "./field-B3gvaqpK.mjs";
8
8
 
9
9
  //#region src/commands/field/values.ts
@@ -23,7 +23,7 @@ var values_default = defineMetabaseCommand({
23
23
  }
24
24
  },
25
25
  outputSchema: FieldValues,
26
- examples: ["metabase field values 100", "metabase field values 100 --json"],
26
+ examples: ["mb field values 100", "mb field values 100 --json"],
27
27
  async run({ args, ctx, getClient }) {
28
28
  const id = parseId(args.id);
29
29
  const client = await getClient();
@@ -1,5 +1,5 @@
1
- import { pollUntil } from "./poll-CPn_4eae.mjs";
2
- import { Workspace } from "./workspace-C5q4nbpY.mjs";
1
+ import { pollUntil } from "./poll-Cd8bRMmZ.mjs";
2
+ import { Workspace } from "./workspace-DUfqhPm5.mjs";
3
3
 
4
4
  //#region src/commands/workspace/database/wait.ts
5
5
  async function waitForDatabaseProvisioned(client, workspaceId, databaseId, schedule) {
@@ -1,11 +1,11 @@
1
- import "./package-BeJ9DFrO.mjs";
1
+ import "./package-VV3qWWIQ.mjs";
2
2
  import "./command-augment-D9pI9Vbh.mjs";
3
3
  import { renderItem } from "./render-DuoDUTVL.mjs";
4
4
  import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CqLG3Q3o.mjs";
6
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
7
- import { SyncTaskOrIdle, pollSyncTask, syncTaskIdleView, syncTaskView, throwIfFailedTask } from "./poll-task-YHJL7Q94.mjs";
8
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-CPn_4eae.mjs";
5
+ import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-DPdP0sl1.mjs";
6
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
7
+ import { SyncTaskOrIdle, pollSyncTask, syncTaskIdleView, syncTaskView, throwIfFailedTask } from "./poll-task-BwKuhZ9P.mjs";
8
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-Cd8bRMmZ.mjs";
9
9
 
10
10
  //#region src/commands/git-sync/wait.ts
11
11
  const WaitResult = SyncTaskOrIdle;
@@ -30,7 +30,7 @@ var wait_default = defineMetabaseCommand({
30
30
  }
31
31
  },
32
32
  outputSchema: WaitResult,
33
- examples: ["metabase git-sync wait", "metabase git-sync wait --timeout 300000 --json"],
33
+ examples: ["mb git-sync wait", "mb git-sync wait --timeout 300000 --json"],
34
34
  async run({ args, ctx, getClient }) {
35
35
  const timeoutMs = parseId(args.timeout, "timeout");
36
36
  const intervalMs = parseId(args.interval, "interval");
@@ -1,5 +1,5 @@
1
- import { parseId } from "./parse-id-DcoC0Z3o.mjs";
2
- import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-CPn_4eae.mjs";
1
+ import { parseId } from "./parse-id-DbSjfzoU.mjs";
2
+ import { DEFAULT_INTERVAL_MS, DEFAULT_TIMEOUT_MS } from "./poll-Cd8bRMmZ.mjs";
3
3
 
4
4
  //#region src/commands/wait-flags.ts
5
5
  const waitFlags = {
@@ -0,0 +1,24 @@
1
+ import { defineCommand } from "citty";
2
+
3
+ //#region src/commands/workspace/index.ts
4
+ var workspace_default = defineCommand({
5
+ meta: {
6
+ name: "workspace",
7
+ description: "Manage Metabase workspaces (workspace-manager)"
8
+ },
9
+ subCommands: {
10
+ list: () => import("./list-DiAyv9l3.mjs").then((mod) => mod.default),
11
+ create: () => import("./create-4OjxTGAe.mjs").then((mod) => mod.default),
12
+ database: () => import("./database-BKfGtTmB.mjs").then((mod) => mod.default),
13
+ start: () => import("./start-xREv6hev.mjs").then((mod) => mod.default),
14
+ stop: () => import("./stop-CWKn_jI8.mjs").then((mod) => mod.default),
15
+ remove: () => import("./remove-C08c3vne.mjs").then((mod) => mod.default),
16
+ logs: () => import("./logs-B5cGXoDi.mjs").then((mod) => mod.default),
17
+ url: () => import("./url-DsDSVEnK.mjs").then((mod) => mod.default),
18
+ credentials: () => import("./credentials-BARfQeBr.mjs").then((mod) => mod.default),
19
+ ps: () => import("./ps-DIm7IScc.mjs").then((mod) => mod.default)
20
+ }
21
+ });
22
+
23
+ //#endregion
24
+ export { workspace_default as default };
@@ -1,47 +1,8 @@
1
- import { ConfigError, ValidationError, errorMessage } from "./predicates-CGO17Q15.mjs";
1
+ import { ConfigError } from "./predicates-CGO17Q15.mjs";
2
+ import { parseYaml, stringifyYaml } from "./yaml-ECiog374.mjs";
2
3
  import { z } from "zod";
3
4
  import { randomBytes } from "node:crypto";
4
- import { YAMLParseError, parse, stringify } from "yaml";
5
5
 
6
- //#region src/runtime/yaml.ts
7
- function parseYaml(input, schema, opts = {}) {
8
- const result = parseYamlResult(input, schema, opts);
9
- if (!result.ok) throw result.error;
10
- return result.value;
11
- }
12
- function parseYamlResult(input, schema, opts = {}) {
13
- const sourcePrefix = opts.source ? `${opts.source}: ` : "";
14
- let raw;
15
- try {
16
- raw = parse(input);
17
- } catch (error) {
18
- if (error instanceof YAMLParseError) return {
19
- ok: false,
20
- error: new ConfigError(`${sourcePrefix}invalid YAML: ${error.message}`)
21
- };
22
- return {
23
- ok: false,
24
- error: new ConfigError(`${sourcePrefix}invalid YAML: ${errorMessage(error)}`)
25
- };
26
- }
27
- const parsed = schema.safeParse(raw);
28
- if (!parsed.success) return {
29
- ok: false,
30
- error: new ValidationError(`${sourcePrefix}value did not match expected schema`, {
31
- source: opts.source ?? "<input>",
32
- zodIssues: parsed.error.issues
33
- })
34
- };
35
- return {
36
- ok: true,
37
- value: parsed.data
38
- };
39
- }
40
- function stringifyYaml(value) {
41
- return stringify(value, { lineWidth: 0 });
42
- }
43
-
44
- //#endregion
45
6
  //#region src/core/workspace-credentials.ts
46
7
  const API_KEY_NAME = "Workspace API Key";
47
8
  const API_KEY_GROUP = "admin";
@@ -0,0 +1,43 @@
1
+ import { ConfigError, ValidationError, errorMessage } from "./predicates-CGO17Q15.mjs";
2
+ import { YAMLParseError, parse, stringify } from "yaml";
3
+
4
+ //#region src/runtime/yaml.ts
5
+ function parseYaml(input, schema, opts = {}) {
6
+ const result = parseYamlResult(input, schema, opts);
7
+ if (!result.ok) throw result.error;
8
+ return result.value;
9
+ }
10
+ function parseYamlResult(input, schema, opts = {}) {
11
+ const sourcePrefix = opts.source ? `${opts.source}: ` : "";
12
+ let raw;
13
+ try {
14
+ raw = parse(input);
15
+ } catch (error) {
16
+ if (error instanceof YAMLParseError) return {
17
+ ok: false,
18
+ error: new ConfigError(`${sourcePrefix}invalid YAML: ${error.message}`)
19
+ };
20
+ return {
21
+ ok: false,
22
+ error: new ConfigError(`${sourcePrefix}invalid YAML: ${errorMessage(error)}`)
23
+ };
24
+ }
25
+ const parsed = schema.safeParse(raw);
26
+ if (!parsed.success) return {
27
+ ok: false,
28
+ error: new ValidationError(`${sourcePrefix}value did not match expected schema`, {
29
+ source: opts.source ?? "<input>",
30
+ zodIssues: parsed.error.issues
31
+ })
32
+ };
33
+ return {
34
+ ok: true,
35
+ value: parsed.data
36
+ };
37
+ }
38
+ function stringifyYaml(value) {
39
+ return stringify(value, { lineWidth: 0 });
40
+ }
41
+
42
+ //#endregion
43
+ export { parseYaml, parseYamlResult, stringifyYaml };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metabase/cli",
3
- "version": "0.1.3",
3
+ "version": "0.1.4-alpha.skill-packaging.1c8ec40",
4
4
  "description": "Metabase CLI",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {
@@ -8,10 +8,13 @@
8
8
  "url": "git+https://github.com/metabase/mb-cli.git"
9
9
  },
10
10
  "bin": {
11
- "metabase": "./dist/cli.mjs"
11
+ "mb": "./dist/cli.mjs"
12
12
  },
13
13
  "files": [
14
- "dist"
14
+ "dist",
15
+ "skills",
16
+ "skill-data",
17
+ ".claude-plugin"
15
18
  ],
16
19
  "type": "module",
17
20
  "publishConfig": {