@metabase/cli 0.1.5 → 0.1.7

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 (228) hide show
  1. package/README.md +128 -115
  2. package/dist/add-collection-C9BdVBs2.mjs +11 -0
  3. package/dist/{add-collection-C_iovi9i.mjs → add-collection-DQjTlDNF.mjs} +12 -5
  4. package/dist/archive-B3qiL-kK.mjs +40 -0
  5. package/dist/{archive-DdaP94H3.mjs → archive-BXzghEQX.mjs} +10 -9
  6. package/dist/{archive-WaEW85NB.mjs → archive-CBGKzEAl.mjs} +9 -8
  7. package/dist/{archive-BKPO8lEO.mjs → archive-CuVk8iwN.mjs} +10 -9
  8. package/dist/archive-DTN9tLGT.mjs +40 -0
  9. package/dist/{archive-Dvzrmdbk.mjs → archive-De8jzzq7.mjs} +10 -9
  10. package/dist/auth-D9eAyVoG.mjs +19 -0
  11. package/dist/{body-XtR7-uCO.mjs → body-tcURGnGh.mjs} +4 -4
  12. package/dist/{branches-XUY4JY-X.mjs → branches-CIGkjXIk.mjs} +11 -7
  13. package/dist/{cancel-BrUVO_ax.mjs → cancel-pPsvgJ0Z.mjs} +9 -8
  14. package/dist/{cancel-task-oXheTOB6.mjs → cancel-task-BLGE4UlL.mjs} +12 -8
  15. package/dist/capabilities-7e9MgquN.mjs +29 -0
  16. package/dist/card-DDDrWcDU.mjs +20 -0
  17. package/dist/{card-CQxvHeyP.mjs → card-ezYiriML.mjs} +1 -1
  18. package/dist/{cards-CONTTAG9.mjs → cards-Dq3nx_9n.mjs} +8 -7
  19. package/dist/cli.mjs +264 -44
  20. package/dist/collection-DkEvCDar.mjs +20 -0
  21. package/dist/{predicates-CGO17Q15.mjs → command-augment-BH9qgQ5u.mjs} +66 -14
  22. package/dist/{create-Cs2xntFG.mjs → create-9DBTkbMq.mjs} +18 -16
  23. package/dist/{create-kYpjobrq.mjs → create-B1dyuL9Y.mjs} +16 -10
  24. package/dist/create-BIphz0kO.mjs +52 -0
  25. package/dist/create-BcgoukG4.mjs +50 -0
  26. package/dist/create-BdPoSk_7.mjs +50 -0
  27. package/dist/{create-DZxUeqdf.mjs → create-BrUqxreg.mjs} +11 -10
  28. package/dist/create-DHscDhRd.mjs +50 -0
  29. package/dist/{create-Dq25vsMu.mjs → create-aPaUEGdr.mjs} +11 -10
  30. package/dist/{create-branch-D5u14AxL.mjs → create-branch-DGoc9CUU.mjs} +12 -8
  31. package/dist/{create-Ca9lIDwP.mjs → create-w3mQg9n4.mjs} +11 -10
  32. package/dist/{credentials-BIQ1cEzM.mjs → credentials-qryRLUed.mjs} +12 -11
  33. package/dist/current-task-DZM28rnr.mjs +40 -0
  34. package/dist/{dashboard-CnMD04PQ.mjs → dashboard-B4bn3z6t.mjs} +2 -1
  35. package/dist/dashboard-BLf1RZlk.mjs +21 -0
  36. package/dist/{database-vvig8k4x.mjs → database-BXiue1in.mjs} +1 -1
  37. package/dist/{database-BSvzYlRe.mjs → database-Ce1gOJF7.mjs} +3 -3
  38. package/dist/db-CWTFe_FZ.mjs +22 -0
  39. package/dist/{delete-VTAS9EUt.mjs → delete-BPaFdHZP.mjs} +11 -8
  40. package/dist/{delete-CUx6RT9e.mjs → delete-BrJOotpW.mjs} +11 -8
  41. package/dist/{remove-C6bS0Z6w.mjs → delete-FFj1xQWO.mjs} +25 -20
  42. package/dist/{delete-runtime-DfFMWJJ6.mjs → delete-runtime-uuYbd4k2.mjs} +9 -7
  43. package/dist/{delete-table-DzUneMKe.mjs → delete-table-CNupWUO0.mjs} +11 -8
  44. package/dist/{deprovision-CpJfGgCt.mjs → deprovision-BNr9fPDY.mjs} +18 -12
  45. package/dist/{dirty-nkAOXxgC.mjs → dirty-BCkNOY8c.mjs} +11 -7
  46. package/dist/{docker-D5FTIoD0.mjs → docker-Ds252Mwc.mjs} +4 -4
  47. package/dist/{translate-Cqsd0Px5.mjs → eid-CLY5X0Uw.mjs} +43 -23
  48. package/dist/error-ZsFeevV2.mjs +191 -0
  49. package/dist/{export-BWvY7X_G.mjs → export-CgHgWW3I.mjs} +20 -18
  50. package/dist/{field-B3gvaqpK.mjs → field-E0IBy4Uw.mjs} +12 -3
  51. package/dist/field-LL6W_c-c.mjs +18 -0
  52. package/dist/{fields-dH16G5UV.mjs → fields-RkRWU-u9.mjs} +9 -8
  53. package/dist/{get-D96QEU49.mjs → get-42tJ7BNp.mjs} +8 -7
  54. package/dist/{get-C6SR3A9t.mjs → get-B8l4t4Pz.mjs} +10 -9
  55. package/dist/{get-BnBRKHr7.mjs → get-B9kwSs6U.mjs} +8 -7
  56. package/dist/{get-7macOPAI.mjs → get-Bo4Cpd_c.mjs} +7 -7
  57. package/dist/{get-BcqxMVC1.mjs → get-C9O_aEGo.mjs} +8 -7
  58. package/dist/{get-CKxlhMy1.mjs → get-CRvbChoX.mjs} +8 -7
  59. package/dist/{get-B7i_nYJB.mjs → get-CTDqioaj.mjs} +8 -7
  60. package/dist/{get-D8e_RzZ0.mjs → get-CiZrZJLt.mjs} +10 -9
  61. package/dist/{get-B08K82JV.mjs → get-CvmqPN30.mjs} +8 -7
  62. package/dist/{get-CACaBFLt.mjs → get-DmzgSgrl.mjs} +9 -8
  63. package/dist/{get-R7OaVL_t.mjs → get-DsqGHNHN.mjs} +8 -7
  64. package/dist/get-run-CBwcRc8E.mjs +38 -0
  65. package/dist/{get-DNN1X2gN.mjs → get-sMpa-X4E.mjs} +9 -8
  66. package/dist/{get-DAWofnzK.mjs → get-y17zJMnU.mjs} +8 -7
  67. package/dist/git-sync-CrWTo3YX.mjs +28 -0
  68. package/dist/{has-remote-changes-BAnIXQXU.mjs → has-remote-changes-CfRidwXT.mjs} +13 -8
  69. package/dist/{import-CfdPEMng.mjs → import-BZV0Z2KR.mjs} +21 -18
  70. package/dist/{input-BQ-BZA8h.mjs → input-cMSEqISy.mjs} +7 -4
  71. package/dist/is-dirty-CPzOnnH6.mjs +10 -0
  72. package/dist/{is-dirty-CZWcG0vj.mjs → is-dirty-hKcB4OH9.mjs} +9 -4
  73. package/dist/{items-DqwahOKf.mjs → items-C94eW2Yd.mjs} +10 -9
  74. package/dist/key-vkNkH82H.mjs +17 -0
  75. package/dist/license-B37055sr.mjs +17 -0
  76. package/dist/{list-L63TpX1t.mjs → list-B0V7FeL2.mjs} +7 -7
  77. package/dist/{list-Bkd7Nbds.mjs → list-BFlzLGlw.mjs} +7 -6
  78. package/dist/{list-yxVAE1S7.mjs → list-BJXaGk-z.mjs} +7 -6
  79. package/dist/{list-BqNMpIXy.mjs → list-BS_Bxejg.mjs} +9 -8
  80. package/dist/{list-J277Qtki.mjs → list-BmHoYJr7.mjs} +7 -6
  81. package/dist/list-C-oZe1_p.mjs +173 -0
  82. package/dist/{list-ViT2KWhv.mjs → list-CF1pMN4S.mjs} +7 -6
  83. package/dist/{list-BpNU1neq.mjs → list-CU6sOfI-.mjs} +9 -7
  84. package/dist/{list-oftHLFbE.mjs → list-CqN4gvCk.mjs} +9 -7
  85. package/dist/{list-DBOYoJtA.mjs → list-DUXdt0XI.mjs} +10 -6
  86. package/dist/{list-D41gfkKb.mjs → list-DfDZr55C.mjs} +10 -8
  87. package/dist/{list-vF4EneaE.mjs → list-DrINpVLM.mjs} +7 -6
  88. package/dist/{list-DJcGwJ4W.mjs → list-DuSoEk_J.mjs} +9 -8
  89. package/dist/{list-CQkDqphl.mjs → list-HS15y_WN.mjs} +7 -6
  90. package/dist/login-enh9Yimb.mjs +181 -0
  91. package/dist/{logout-DD4q5whi.mjs → logout-BWLPLDh8.mjs} +13 -11
  92. package/dist/{logs-Ci3mJE2z.mjs → logs-Cu3QtvPs.mjs} +9 -8
  93. package/dist/{manifest-CGM7XNLC.mjs → manifest-BNh0Lw6p.mjs} +15 -15
  94. package/dist/{measure-BEQfnLdN.mjs → measure-Bt3InQsA.mjs} +2 -2
  95. package/dist/measure-CDlEPFtB.mjs +19 -0
  96. package/dist/{metadata-BDat-jN9.mjs → metadata-BTTEBWdS.mjs} +10 -9
  97. package/dist/{metadata-29_qlqbz.mjs → metadata-D2TxboMm.mjs} +9 -8
  98. package/dist/parse-enum-CrEWOhuY.mjs +11 -0
  99. package/dist/{parse-id-CysSaCbf.mjs → parse-id-0_tOPvfI.mjs} +1 -1
  100. package/dist/{parse-ref-D1yeDOn8.mjs → parse-ref-DKag6a6I.mjs} +1 -1
  101. package/dist/{parse-schemas-B10n01ez.mjs → parse-schemas-D-qVLl4z.mjs} +2 -2
  102. package/dist/{path-DLByFMMA.mjs → path-C8GrBdgT.mjs} +7 -7
  103. package/dist/{poll-p9Y7-JEQ.mjs → poll-4eoh5J0r.mjs} +2 -2
  104. package/dist/{poll-task-BQe0NvJZ.mjs → poll-task-51WRdugU.mjs} +19 -20
  105. package/dist/{preflight-CvFu0Cct.mjs → preflight-BhsErYz3.mjs} +4 -4
  106. package/dist/{process-zJeVJZTM.mjs → process-CM7Uu5q_.mjs} +1 -1
  107. package/dist/{prompt-DgDNy_Pc.mjs → prompt-CFKoys7k.mjs} +3 -1
  108. package/dist/provision-Chf86BF0.mjs +83 -0
  109. package/dist/{ps-BxQdpkr5.mjs → ps-CEYtsKBj.mjs} +5 -3
  110. package/dist/ps-CIDwaubS.mjs +11 -0
  111. package/dist/{query-C7zTlFJA.mjs → query-BBCAF-tG.mjs} +17 -14
  112. package/dist/{query-CFH4nBlK.mjs → query-DYVBnu9d.mjs} +12 -9
  113. package/dist/query-result-ABPLz6I4.mjs +19 -0
  114. package/dist/{remove-BuWxx3hY.mjs → remove-2yInufA6.mjs} +14 -12
  115. package/dist/remove-collection-CBAHz0Dk.mjs +44 -0
  116. package/dist/{render-DuoDUTVL.mjs → render-0_GsapXa.mjs} +51 -23
  117. package/dist/render-khznBlla.mjs +32 -0
  118. package/dist/{rescan-values-DabyRYQ_.mjs → rescan-values-cfTSNQZo.mjs} +12 -11
  119. package/dist/{run-Cl-9RtC4.mjs → run-qgdEJv-I.mjs} +17 -15
  120. package/dist/{runs-BH6s1Zao.mjs → runs-BFIIH4GL.mjs} +9 -8
  121. package/dist/{runtime-CDu6fykq.mjs → runtime-Duawf5lE.mjs} +653 -428
  122. package/dist/{schema-tables-i58wp_p3.mjs → schema-tables-C2xM3dho.mjs} +9 -8
  123. package/dist/{schemas-_m8RYRl9.mjs → schemas-BP7xiktH.mjs} +7 -6
  124. package/dist/{search-DObOsjbP.mjs → search-DYP3lOlq.mjs} +12 -16
  125. package/dist/segment-B6HnNGDs.mjs +19 -0
  126. package/dist/{set-CwVWeAsi.mjs → set-DpRQqdo7.mjs} +13 -11
  127. package/dist/{set-CJA9dpK6.mjs → set-Tt-ioa4L.mjs} +14 -13
  128. package/dist/setting-DUa96KF3.mjs +17 -0
  129. package/dist/{setup-DqBOe3HZ.mjs → setup-BPlllnim.mjs} +10 -9
  130. package/dist/{skills-CHU7uuDU.mjs → skills-BkregMyb.mjs} +2 -2
  131. package/dist/{skills-C2rTVj0n.mjs → skills-SqbPo0BI.mjs} +3 -3
  132. package/dist/snippet-dJ68tGsl.mjs +19 -0
  133. package/dist/{start-CfruN4wF.mjs → start-DJZA67WF.mjs} +70 -38
  134. package/dist/{stash-CWuXKSZq.mjs → stash-C89zNKxo.mjs} +21 -18
  135. package/dist/{status-D-RYZB9G.mjs → status-B1EJ_jv0.mjs} +16 -9
  136. package/dist/status-BNvFPemM.mjs +100 -0
  137. package/dist/status-D5wSqYV_.mjs +34 -0
  138. package/dist/{stop-D8Hr4cKX.mjs → stop-5rCLmkCQ.mjs} +16 -11
  139. package/dist/{summary-Lt2XLBK9.mjs → summary-Cihbx0Qs.mjs} +8 -7
  140. package/dist/{sync-schema-BDElSynU.mjs → sync-schema-C3odu0ZH.mjs} +12 -11
  141. package/dist/table-J2f0STnB.mjs +19 -0
  142. package/dist/{table-B-PYcgGb.mjs → table-qDD2kApF.mjs} +1 -1
  143. package/dist/{transform-job-BrhOLO4M.mjs → transform-job-DjhoJbiV.mjs} +1 -1
  144. package/dist/transform-job-OW4SDhsQ.mjs +19 -0
  145. package/dist/transform-q1LYWQtW.mjs +24 -0
  146. package/dist/{tree-DfvjDjmk.mjs → tree-mvq9gM9w.mjs} +7 -6
  147. package/dist/{update-DzgXF082.mjs → update-BoIiuC70.mjs} +16 -14
  148. package/dist/{update-qnFY5IuC.mjs → update-C0jP0AKT.mjs} +12 -11
  149. package/dist/{update-zp7pCBZH.mjs → update-CbBnHz42.mjs} +16 -14
  150. package/dist/{update-B0bjPqKC.mjs → update-CtOo3LsX.mjs} +13 -12
  151. package/dist/{update-CVxOxmt6.mjs → update-DCrOQ1PW.mjs} +17 -15
  152. package/dist/{update-BYduslhn.mjs → update-DEZayTb4.mjs} +20 -15
  153. package/dist/{update-BgcroYkF.mjs → update-DwRxdflw.mjs} +12 -11
  154. package/dist/{update-D9Z8cL7h.mjs → update-Rr4usmCo.mjs} +12 -11
  155. package/dist/{update-DuA8-cCq.mjs → update-VvKMnwsM.mjs} +16 -14
  156. package/dist/{update-dashcard-CQ3kmmss.mjs → update-dashcard-DFvIz8Qj.mjs} +12 -11
  157. package/dist/{update-CqnDMNtZ.mjs → update-tRparnUs.mjs} +18 -16
  158. package/dist/{upgrade-CIgTr2CG.mjs → upgrade-D-Rl_fH9.mjs} +16 -29
  159. package/dist/{url-B5MgZXzg.mjs → url-BB6jeNQj.mjs} +11 -10
  160. package/dist/{uuid-CJz9TmHI.mjs → uuid-BSVUk8u2.mjs} +8 -6
  161. package/dist/{validate-CB0bu50i.mjs → validate-dPEOnOf8.mjs} +2 -1
  162. package/dist/{validate-query-CavIA0Q2.mjs → validate-query-CYvOP8Ld.mjs} +3 -3
  163. package/dist/values-D1RJE4H6.mjs +45 -0
  164. package/dist/verify-A7BWfBPZ.mjs +79 -0
  165. package/dist/{wait-BFqBlg0y.mjs → wait-B17I_pWy.mjs} +2 -2
  166. package/dist/{wait-tDp9ZOou.mjs → wait-DK5QDZ8n.mjs} +14 -10
  167. package/dist/{wait-flags-CN-e9zNq.mjs → wait-flags-DlfbIXHw.mjs} +20 -9
  168. package/dist/{workspace-credentials-4lIxxz4g.mjs → workspace-credentials-8CBMQJFz.mjs} +2 -2
  169. package/dist/workspace-ri6r3zWo.mjs +25 -0
  170. package/dist/{yaml-ECiog374.mjs → yaml-Gv6wRFMF.mjs} +1 -1
  171. package/package.json +2 -1
  172. package/skill-data/core/SKILL.md +55 -453
  173. package/skill-data/git-sync/SKILL.md +1 -1
  174. package/skill-data/mbql/SKILL.md +156 -0
  175. package/skill-data/mbql/references/operators.md +253 -0
  176. package/skill-data/transform/SKILL.md +2 -40
  177. package/skill-data/viz/SKILL.md +137 -0
  178. package/skill-data/viz/references/settings.md +312 -0
  179. package/skill-data/workspace/SKILL.md +45 -63
  180. package/skills/metabase-cli/SKILL.md +5 -26
  181. package/dist/add-collection-ucsyAMkV.mjs +0 -11
  182. package/dist/api-key-BENHbTbV.mjs +0 -13
  183. package/dist/auth-DICRtJDy.mjs +0 -19
  184. package/dist/card-l-UmrUIo.mjs +0 -20
  185. package/dist/collection-oV0olVY-.mjs +0 -19
  186. package/dist/command-augment-D9pI9Vbh.mjs +0 -11
  187. package/dist/create-CrUq6sib.mjs +0 -125
  188. package/dist/create-D3Z878yr.mjs +0 -50
  189. package/dist/create-Le3Bqn7b.mjs +0 -48
  190. package/dist/create-V-q2rU0T.mjs +0 -48
  191. package/dist/create-swbIXdo5.mjs +0 -48
  192. package/dist/current-task-DCq7rk9V.mjs +0 -36
  193. package/dist/dashboard-hbKDd36X.mjs +0 -20
  194. package/dist/db-qVK6NsdB.mjs +0 -22
  195. package/dist/eid-CDFXX_6H.mjs +0 -13
  196. package/dist/field-C0LE7RQI.mjs +0 -18
  197. package/dist/flag-pair-Fmcdkrfx.mjs +0 -17
  198. package/dist/get-run-CwFuR4Uw.mjs +0 -36
  199. package/dist/git-sync-DV7YjniX.mjs +0 -28
  200. package/dist/is-dirty-LxVbm2C5.mjs +0 -10
  201. package/dist/key-CCJdVWKc.mjs +0 -12
  202. package/dist/license-Cb6ewEJO.mjs +0 -17
  203. package/dist/list-DV6CONhp.mjs +0 -55
  204. package/dist/login-D1nZwgKv.mjs +0 -192
  205. package/dist/measure-XhJuL77y.mjs +0 -19
  206. package/dist/package-DFUprkSZ.mjs +0 -85
  207. package/dist/provision-BP-b4Are.mjs +0 -77
  208. package/dist/ps-Bk6unzaX.mjs +0 -11
  209. package/dist/remove-collection-Bc4roCq0.mjs +0 -38
  210. package/dist/segment-DfxZdJmR.mjs +0 -19
  211. package/dist/setting-Czy4ws6h.mjs +0 -18
  212. package/dist/snippet-BCY4KHBU.mjs +0 -19
  213. package/dist/status-1oUnw803.mjs +0 -56
  214. package/dist/status-J9HIDcA5.mjs +0 -32
  215. package/dist/table-BwX3Ib5f.mjs +0 -19
  216. package/dist/transform-iaAi37V0.mjs +0 -24
  217. package/dist/transform-job-Bemonf82.mjs +0 -19
  218. package/dist/values-BXN6tx1i.mjs +0 -36
  219. package/dist/workspace-BBsT0H0g.mjs +0 -24
  220. /package/dist/{body-flags-BK7J6Daz.mjs → body-flags-D7q87Btw.mjs} +0 -0
  221. /package/dist/{collection-B3sPXRLs.mjs → collection-Bcy8cWYH.mjs} +0 -0
  222. /package/dist/{paginate-CTSfuYiF.mjs → paginate-BexjkjbY.mjs} +0 -0
  223. /package/dist/{revision-message-flag-oyq2xrDU.mjs → revision-message-flag-DY29-cgz.mjs} +0 -0
  224. /package/dist/{segment-BMrUBz94.mjs → segment-DhBmcr_E.mjs} +0 -0
  225. /package/dist/{setting-CTaAeMci.mjs → setting-BzCng1Ub.mjs} +0 -0
  226. /package/dist/{snippet-CSWqkslB.mjs → snippet-bi_0XbNT.mjs} +0 -0
  227. /package/dist/{transform-DR4ejuPM.mjs → transform-BKahefz_.mjs} +0 -0
  228. /package/dist/{workspace-DUfqhPm5.mjs → workspace-D8HtUN0y.mjs} +0 -0
@@ -1,20 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/card/index.ts
4
- var card_default = defineCommand({
5
- meta: {
6
- name: "card",
7
- description: "Manage Metabase cards (questions, models, metrics)"
8
- },
9
- subCommands: {
10
- list: () => import("./list-D41gfkKb.mjs").then((mod) => mod.default),
11
- get: () => import("./get-DNN1X2gN.mjs").then((mod) => mod.default),
12
- query: () => import("./query-CFH4nBlK.mjs").then((mod) => mod.default),
13
- create: () => import("./create-D3Z878yr.mjs").then((mod) => mod.default),
14
- update: () => import("./update-CVxOxmt6.mjs").then((mod) => mod.default),
15
- archive: () => import("./archive-Dvzrmdbk.mjs").then((mod) => mod.default)
16
- }
17
- });
18
-
19
- //#endregion
20
- export { card_default as default };
@@ -1,19 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/collection/index.ts
4
- var collection_default = defineCommand({
5
- meta: {
6
- name: "collection",
7
- description: "Browse Metabase collections"
8
- },
9
- subCommands: {
10
- list: () => import("./list-BpNU1neq.mjs").then((mod) => mod.default),
11
- get: () => import("./get-CKxlhMy1.mjs").then((mod) => mod.default),
12
- items: () => import("./items-DqwahOKf.mjs").then((mod) => mod.default),
13
- tree: () => import("./tree-DfvjDjmk.mjs").then((mod) => mod.default),
14
- create: () => import("./create-Ca9lIDwP.mjs").then((mod) => mod.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { collection_default as default };
@@ -1,11 +0,0 @@
1
- //#region src/runtime/command-augment.ts
2
- const augments = new WeakMap();
3
- function setMetabaseAugment(cmd, augment) {
4
- augments.set(cmd, augment);
5
- }
6
- function getMetabaseAugment(cmd) {
7
- return augments.get(cmd) ?? null;
8
- }
9
-
10
- //#endregion
11
- export { getMetabaseAugment, setMetabaseAugment };
@@ -1,125 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
7
- import { readBody } from "./body-XtR7-uCO.mjs";
8
- import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import { requireBothOrNeither } from "./flag-pair-Fmcdkrfx.mjs";
10
- import { parseId } from "./parse-id-CysSaCbf.mjs";
11
- import { z } from "zod";
12
-
13
- //#region src/domain/api-key.ts
14
- const ApiKeyCreateInput = z.object({
15
- name: z.string().min(1),
16
- group_id: z.number().int().positive()
17
- }).loose();
18
- const ApiKeyGroup = z.object({
19
- id: z.number().int().nullable(),
20
- name: z.string().nullable()
21
- }).loose();
22
- const ApiKeyUpdatedBy = z.object({
23
- id: z.number().int(),
24
- common_name: z.string().nullable().optional()
25
- }).loose();
26
- const ApiKey = z.object({
27
- id: z.number().int(),
28
- name: z.string(),
29
- group: ApiKeyGroup.nullable().optional(),
30
- unmasked_key: z.string().nullable().optional(),
31
- masked_key: z.string().nullable().optional(),
32
- updated_by: ApiKeyUpdatedBy.nullable().optional(),
33
- created_at: z.string().nullable().optional(),
34
- updated_at: z.string().nullable().optional()
35
- }).loose();
36
- const ApiKeyCompact = ApiKey.pick({
37
- id: true,
38
- name: true,
39
- group: true,
40
- masked_key: true
41
- }).strip();
42
- const apiKeyView = {
43
- compactPick: ApiKeyCompact,
44
- tableColumns: [
45
- {
46
- key: "id",
47
- label: "ID"
48
- },
49
- {
50
- key: "name",
51
- label: "Name"
52
- },
53
- {
54
- key: "group",
55
- label: "Group",
56
- format: (value) => formatGroup(value)
57
- },
58
- {
59
- key: "unmasked_key",
60
- label: "Key"
61
- }
62
- ]
63
- };
64
- function formatGroup(value) {
65
- const parsed = ApiKeyGroup.nullable().safeParse(value);
66
- if (!parsed.success || parsed.data === null) return "";
67
- const { id, name } = parsed.data;
68
- if (name === null && id === null) return "";
69
- if (name === null) return String(id);
70
- return id === null ? name : `${name} (${id})`;
71
- }
72
-
73
- //#endregion
74
- //#region src/commands/api-key/create.ts
75
- var create_default = defineMetabaseCommand({
76
- meta: {
77
- name: "create",
78
- description: "Create a new API key"
79
- },
80
- args: {
81
- ...outputFlags,
82
- ...profileFlag,
83
- ...connectionFlags,
84
- ...bodyInputFlags,
85
- name: {
86
- type: "string",
87
- description: "API key name (alternative to --body / --file)"
88
- },
89
- "group-id": {
90
- type: "string",
91
- description: "Permission group id (alternative to --body / --file)"
92
- }
93
- },
94
- outputSchema: ApiKey,
95
- examples: [
96
- "mb api-key create --name \"deploy-bot\" --group-id 2",
97
- "echo '{\"name\":\"k\",\"group_id\":2}' | mb api-key create",
98
- "mb api-key create --file key.json"
99
- ],
100
- async run({ args, ctx, getClient }) {
101
- const pair = requireBothOrNeither({
102
- name: "--name",
103
- value: args.name
104
- }, {
105
- name: "--group-id",
106
- value: args["group-id"]
107
- });
108
- const body = pair ? ApiKeyCreateInput.parse({
109
- name: pair.first,
110
- group_id: parseId(pair.second, "--group-id")
111
- }) : await readBody({
112
- flag: args.body,
113
- file: args.file
114
- }, ApiKeyCreateInput);
115
- const client = await getClient();
116
- const created = await client.requestParsed(ApiKey, "/api/api-key", {
117
- method: "POST",
118
- body
119
- });
120
- renderItem(created, apiKeyView, ctx);
121
- }
122
- });
123
-
124
- //#endregion
125
- export { create_default as default };
@@ -1,50 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
7
- import { readBody } from "./body-XtR7-uCO.mjs";
8
- import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import "./field-B3gvaqpK.mjs";
10
- import { Card, CardCreateInput, cardView } from "./card-CQxvHeyP.mjs";
11
- import "./validate-CB0bu50i.mjs";
12
- import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CavIA0Q2.mjs";
13
-
14
- //#region src/commands/card/create.ts
15
- var create_default = defineMetabaseCommand({
16
- meta: {
17
- name: "create",
18
- description: "Create a card from a JSON spec; 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`)"
19
- },
20
- args: {
21
- ...outputFlags,
22
- ...profileFlag,
23
- ...connectionFlags,
24
- ...bodyInputFlags,
25
- ...skipValidateFlag
26
- },
27
- outputSchema: Card,
28
- examples: [
29
- "cat card.json | mb card create",
30
- "mb card create --file card.json",
31
- "mb card create --body '{\"name\":\"x\",\"display\":\"table\",\"dataset_query\":{...},\"visualization_settings\":{}}'",
32
- "mb card create --file card.json --skip-validate"
33
- ],
34
- async run({ args, ctx, getClient }) {
35
- const body = await readBody({
36
- flag: args.body,
37
- file: args.file
38
- }, CardCreateInput);
39
- preflightMbql5Query(body.dataset_query, CARD_DATASET_QUERY_LABELS, { skip: args["skip-validate"] === true });
40
- const client = await getClient();
41
- const created = await client.requestParsed(Card, "/api/card", {
42
- method: "POST",
43
- body
44
- });
45
- renderItem(created, cardView, ctx);
46
- }
47
- });
48
-
49
- //#endregion
50
- export { create_default as default };
@@ -1,48 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
7
- import { readBody } from "./body-XtR7-uCO.mjs";
8
- import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import "./validate-CB0bu50i.mjs";
10
- import { SEGMENT_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CavIA0Q2.mjs";
11
- import { Segment, SegmentCreateInput, segmentView } from "./segment-BMrUBz94.mjs";
12
-
13
- //#region src/commands/segment/create.ts
14
- var create_default = defineMetabaseCommand({
15
- meta: {
16
- name: "create",
17
- description: "Create a segment from a JSON spec; if definition is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `mb query` (see `mb query --print-schema`)"
18
- },
19
- args: {
20
- ...outputFlags,
21
- ...profileFlag,
22
- ...connectionFlags,
23
- ...bodyInputFlags,
24
- ...skipValidateFlag
25
- },
26
- outputSchema: Segment,
27
- examples: [
28
- "cat segment.json | mb segment create",
29
- "mb segment create --file segment.json",
30
- "mb segment create --file segment.json --skip-validate"
31
- ],
32
- async run({ args, ctx, getClient }) {
33
- const body = await readBody({
34
- flag: args.body,
35
- file: args.file
36
- }, SegmentCreateInput);
37
- preflightMbql5Query(body.definition, SEGMENT_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
38
- const client = await getClient();
39
- const created = await client.requestParsed(Segment, "/api/segment", {
40
- method: "POST",
41
- body
42
- });
43
- renderItem(created, segmentView, ctx);
44
- }
45
- });
46
-
47
- //#endregion
48
- export { create_default as default };
@@ -1,48 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
7
- import { readBody } from "./body-XtR7-uCO.mjs";
8
- import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import "./validate-CB0bu50i.mjs";
10
- import { TRANSFORM_SOURCE_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CavIA0Q2.mjs";
11
- import { Transform, TransformCreateInput, transformView } from "./transform-DR4ejuPM.mjs";
12
-
13
- //#region src/commands/transform/create.ts
14
- var create_default = defineMetabaseCommand({
15
- meta: {
16
- name: "create",
17
- description: "Create a transform; if source.type is `query` and source.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`)"
18
- },
19
- args: {
20
- ...outputFlags,
21
- ...profileFlag,
22
- ...connectionFlags,
23
- ...bodyInputFlags,
24
- ...skipValidateFlag
25
- },
26
- outputSchema: Transform,
27
- examples: [
28
- "cat transform.json | mb transform create",
29
- "mb transform create --file transform.json",
30
- "mb transform create --file transform.json --skip-validate"
31
- ],
32
- async run({ args, ctx, getClient }) {
33
- const body = await readBody({
34
- flag: args.body,
35
- file: args.file
36
- }, TransformCreateInput);
37
- if (body.source.type === "query") preflightMbql5Query(body.source.query, TRANSFORM_SOURCE_QUERY_LABELS, { skip: args["skip-validate"] === true });
38
- const client = await getClient();
39
- const created = await client.requestParsed(Transform, "/api/transform", {
40
- method: "POST",
41
- body
42
- });
43
- renderItem(created, transformView, ctx);
44
- }
45
- });
46
-
47
- //#endregion
48
- export { create_default as default };
@@ -1,48 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import "./input-BQ-BZA8h.mjs";
6
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
7
- import { readBody } from "./body-XtR7-uCO.mjs";
8
- import { bodyInputFlags } from "./body-flags-BK7J6Daz.mjs";
9
- import "./validate-CB0bu50i.mjs";
10
- import { MEASURE_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CavIA0Q2.mjs";
11
- import { Measure, MeasureCreateInput, measureView } from "./measure-BEQfnLdN.mjs";
12
-
13
- //#region src/commands/measure/create.ts
14
- var create_default = defineMetabaseCommand({
15
- meta: {
16
- name: "create",
17
- description: "Create a measure from a JSON spec; if definition is MBQL 5 (lib/type: mbql/query) it is pre-flight-validated against the same schema as `mb query` (see `mb query --print-schema`)"
18
- },
19
- args: {
20
- ...outputFlags,
21
- ...profileFlag,
22
- ...connectionFlags,
23
- ...bodyInputFlags,
24
- ...skipValidateFlag
25
- },
26
- outputSchema: Measure,
27
- examples: [
28
- "cat measure.json | mb measure create",
29
- "mb measure create --file measure.json",
30
- "mb measure create --file measure.json --skip-validate"
31
- ],
32
- async run({ args, ctx, getClient }) {
33
- const body = await readBody({
34
- flag: args.body,
35
- file: args.file
36
- }, MeasureCreateInput);
37
- preflightMbql5Query(body.definition, MEASURE_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
38
- const client = await getClient();
39
- const created = await client.requestParsed(Measure, "/api/measure", {
40
- method: "POST",
41
- body
42
- });
43
- renderItem(created, measureView, ctx);
44
- }
45
- });
46
-
47
- //#endregion
48
- export { create_default as default };
@@ -1,36 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
6
- import { SyncTaskOrIdle, fetchCurrentTask, syncTaskIdleView, syncTaskView } from "./poll-task-BQe0NvJZ.mjs";
7
- import "./poll-p9Y7-JEQ.mjs";
8
-
9
- //#region src/commands/git-sync/current-task.ts
10
- const CurrentTaskResult = SyncTaskOrIdle;
11
- var current_task_default = defineMetabaseCommand({
12
- meta: {
13
- name: "current-task",
14
- description: "Get the most recent git-sync task (or idle if none)"
15
- },
16
- args: {
17
- ...outputFlags,
18
- ...profileFlag,
19
- ...connectionFlags
20
- },
21
- outputSchema: CurrentTaskResult,
22
- examples: ["mb git-sync current-task", "mb git-sync current-task --json"],
23
- async run({ ctx, getClient }) {
24
- const client = await getClient();
25
- const task = await fetchCurrentTask(client);
26
- if (task === null) {
27
- const idle = { status: "idle" };
28
- renderItem(idle, syncTaskIdleView, ctx);
29
- return;
30
- }
31
- renderItem(task, syncTaskView, ctx);
32
- }
33
- });
34
-
35
- //#endregion
36
- export { current_task_default as default };
@@ -1,20 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/dashboard/index.ts
4
- var dashboard_default = defineCommand({
5
- meta: {
6
- name: "dashboard",
7
- description: "Manage Metabase dashboards"
8
- },
9
- subCommands: {
10
- list: () => import("./list-oftHLFbE.mjs").then((mod) => mod.default),
11
- get: () => import("./get-BcqxMVC1.mjs").then((mod) => mod.default),
12
- cards: () => import("./cards-CONTTAG9.mjs").then((mod) => mod.default),
13
- create: () => import("./create-Cs2xntFG.mjs").then((mod) => mod.default),
14
- update: () => import("./update-CqnDMNtZ.mjs").then((mod) => mod.default),
15
- "update-dashcard": () => import("./update-dashcard-CQ3kmmss.mjs").then((mod) => mod.default)
16
- }
17
- });
18
-
19
- //#endregion
20
- export { dashboard_default as default };
@@ -1,22 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/db/index.ts
4
- var db_default = defineCommand({
5
- meta: {
6
- name: "db",
7
- description: "Inspect Metabase databases",
8
- alias: "database"
9
- },
10
- subCommands: {
11
- list: () => import("./list-BqNMpIXy.mjs").then((m) => m.default),
12
- get: () => import("./get-D8e_RzZ0.mjs").then((m) => m.default),
13
- metadata: () => import("./metadata-BDat-jN9.mjs").then((m) => m.default),
14
- schemas: () => import("./schemas-_m8RYRl9.mjs").then((m) => m.default),
15
- "schema-tables": () => import("./schema-tables-i58wp_p3.mjs").then((m) => m.default),
16
- "sync-schema": () => import("./sync-schema-BDElSynU.mjs").then((m) => m.default),
17
- "rescan-values": () => import("./rescan-values-DabyRYQ_.mjs").then((m) => m.default)
18
- }
19
- });
20
-
21
- //#endregion
22
- export { db_default as default };
@@ -1,13 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/eid/index.ts
4
- var eid_default = defineCommand({
5
- meta: {
6
- name: "eid",
7
- description: "Translate Metabase entity ids (string EIDs) to numeric ids"
8
- },
9
- subCommands: { translate: () => import("./translate-Cqsd0Px5.mjs").then((mod) => mod.default) }
10
- });
11
-
12
- //#endregion
13
- export { eid_default as default };
@@ -1,18 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/field/index.ts
4
- var field_default = defineCommand({
5
- meta: {
6
- name: "field",
7
- description: "Inspect Metabase fields"
8
- },
9
- subCommands: {
10
- get: () => import("./get-D96QEU49.mjs").then((m) => m.default),
11
- values: () => import("./values-BXN6tx1i.mjs").then((m) => m.default),
12
- summary: () => import("./summary-Lt2XLBK9.mjs").then((m) => m.default),
13
- update: () => import("./update-D9Z8cL7h.mjs").then((m) => m.default)
14
- }
15
- });
16
-
17
- //#endregion
18
- export { field_default as default };
@@ -1,17 +0,0 @@
1
- import { ConfigError } from "./predicates-CGO17Q15.mjs";
2
-
3
- //#region src/commands/flag-pair.ts
4
- function requireBothOrNeither(first, second) {
5
- const firstSet = first.value !== void 0 && first.value !== "";
6
- const secondSet = second.value !== void 0 && second.value !== "";
7
- if (!firstSet && !secondSet) return null;
8
- if (!firstSet) throw new ConfigError(`${first.name} is required when using ${second.name}`);
9
- if (!secondSet) throw new ConfigError(`${second.name} is required when using ${first.name}`);
10
- return {
11
- first: first.value,
12
- second: second.value
13
- };
14
- }
15
-
16
- //#endregion
17
- export { requireBothOrNeither };
@@ -1,36 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderItem } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-CDu6fykq.mjs";
6
- import { parseId } from "./parse-id-CysSaCbf.mjs";
7
- import { TransformRun, transformRunView } from "./transform-DR4ejuPM.mjs";
8
-
9
- //#region src/commands/transform/get-run.ts
10
- var get_run_default = defineMetabaseCommand({
11
- meta: {
12
- name: "get-run",
13
- description: "Get a transform run by id"
14
- },
15
- args: {
16
- ...outputFlags,
17
- ...profileFlag,
18
- ...connectionFlags,
19
- id: {
20
- type: "positional",
21
- description: "Run id",
22
- required: true
23
- }
24
- },
25
- outputSchema: TransformRun,
26
- examples: ["mb transform get-run 1", "mb transform get-run 1 --json"],
27
- async run({ args, ctx, getClient }) {
28
- const id = parseId(args.id, "run id");
29
- const client = await getClient();
30
- const run = await client.requestParsed(TransformRun, `/api/transform/run/${id}`);
31
- renderItem(run, transformRunView, ctx);
32
- }
33
- });
34
-
35
- //#endregion
36
- export { get_run_default as default };
@@ -1,28 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/git-sync/index.ts
4
- var git_sync_default = defineCommand({
5
- meta: {
6
- name: "git-sync",
7
- description: "Sync Metabase content with a git remote"
8
- },
9
- subCommands: {
10
- status: () => import("./status-D-RYZB9G.mjs").then((mod) => mod.default),
11
- "is-dirty": () => import("./is-dirty-LxVbm2C5.mjs").then((mod) => mod.default),
12
- "has-remote-changes": () => import("./has-remote-changes-BAnIXQXU.mjs").then((mod) => mod.default),
13
- dirty: () => import("./dirty-nkAOXxgC.mjs").then((mod) => mod.default),
14
- "current-task": () => import("./current-task-DCq7rk9V.mjs").then((mod) => mod.default),
15
- "cancel-task": () => import("./cancel-task-oXheTOB6.mjs").then((mod) => mod.default),
16
- wait: () => import("./wait-tDp9ZOou.mjs").then((mod) => mod.default),
17
- import: () => import("./import-CfdPEMng.mjs").then((mod) => mod.default),
18
- export: () => import("./export-BWvY7X_G.mjs").then((mod) => mod.default),
19
- stash: () => import("./stash-CWuXKSZq.mjs").then((mod) => mod.default),
20
- branches: () => import("./branches-XUY4JY-X.mjs").then((mod) => mod.default),
21
- "create-branch": () => import("./create-branch-D5u14AxL.mjs").then((mod) => mod.default),
22
- "add-collection": () => import("./add-collection-ucsyAMkV.mjs").then((mod) => mod.default),
23
- "remove-collection": () => import("./remove-collection-Bc4roCq0.mjs").then((mod) => mod.default)
24
- }
25
- });
26
-
27
- //#endregion
28
- export { git_sync_default as default };
@@ -1,10 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import "./runtime-CDu6fykq.mjs";
6
- import "./poll-task-BQe0NvJZ.mjs";
7
- import "./poll-p9Y7-JEQ.mjs";
8
- import { IsDirtyResult, is_dirty_default } from "./is-dirty-CZWcG0vj.mjs";
9
-
10
- export { is_dirty_default as default };
@@ -1,12 +0,0 @@
1
- import { ConfigError } from "./predicates-CGO17Q15.mjs";
2
-
3
- //#region src/commands/setting/key.ts
4
- const SETTING_KEY_PATTERN = /^[A-Za-z][A-Za-z0-9_-]*$/;
5
- function parseSettingKey(value) {
6
- const trimmed = value.trim();
7
- if (!SETTING_KEY_PATTERN.test(trimmed)) throw new ConfigError(`invalid setting key: "${value}" (expected kebab-case identifier)`);
8
- return trimmed;
9
- }
10
-
11
- //#endregion
12
- export { parseSettingKey };
@@ -1,17 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/license/index.ts
4
- var license_default = defineCommand({
5
- meta: {
6
- name: "license",
7
- description: "Manage the Metabase license token"
8
- },
9
- subCommands: {
10
- set: () => import("./set-CJA9dpK6.mjs").then((m) => m.default),
11
- status: () => import("./status-J9HIDcA5.mjs").then((m) => m.default),
12
- remove: () => import("./remove-BuWxx3hY.mjs").then((m) => m.default)
13
- }
14
- });
15
-
16
- //#endregion
17
- export { license_default as default };
@@ -1,55 +0,0 @@
1
- import "./package-DFUprkSZ.mjs";
2
- import "./command-augment-D9pI9Vbh.mjs";
3
- import { renderList } from "./render-DuoDUTVL.mjs";
4
- import "./predicates-CGO17Q15.mjs";
5
- import { defineMetabaseCommand, listEnvelopeSchema, listProfileNames, originOnly, outputFlags, readProfile, wrapList } from "./runtime-CDu6fykq.mjs";
6
- import { z } from "zod";
7
-
8
- //#region src/commands/auth/list.ts
9
- const AuthProfile = z.object({
10
- profile: z.string(),
11
- url: z.string().nullable(),
12
- present: z.boolean()
13
- });
14
- const AuthProfileListEnvelope = listEnvelopeSchema(AuthProfile);
15
- const authProfileView = {
16
- compactPick: AuthProfile,
17
- tableColumns: [
18
- {
19
- key: "profile",
20
- label: "Profile"
21
- },
22
- {
23
- key: "url",
24
- label: "URL"
25
- },
26
- {
27
- key: "present",
28
- label: "Authenticated"
29
- }
30
- ]
31
- };
32
- var list_default = defineMetabaseCommand({
33
- meta: {
34
- name: "list",
35
- description: "List configured authentication profiles"
36
- },
37
- args: { ...outputFlags },
38
- outputSchema: AuthProfileListEnvelope,
39
- examples: ["mb auth list", "mb auth list --json"],
40
- async run({ ctx }) {
41
- const names = await listProfileNames();
42
- const items = await Promise.all(names.map(async (name) => {
43
- const profile = await readProfile(name);
44
- return {
45
- profile: name,
46
- url: profile === null ? null : originOnly(profile.url),
47
- present: profile !== null
48
- };
49
- }));
50
- renderList(wrapList(items), authProfileView, ctx);
51
- }
52
- });
53
-
54
- //#endregion
55
- export { list_default as default };