@metabase/cli 0.1.12 → 0.1.14

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 (191) hide show
  1. package/README.md +109 -22
  2. package/dist/add-collection-Cdhj6DJb.mjs +10 -0
  3. package/dist/{add-collection-DEME4IOy.mjs → add-collection-Cubho2HN.mjs} +5 -5
  4. package/dist/{archive-CMeTr8jv.mjs → archive-BBboJ-z3.mjs} +6 -6
  5. package/dist/{archive-DUlrUlok.mjs → archive-BrzOTxSA.mjs} +6 -6
  6. package/dist/{archive-BNioNJtG.mjs → archive-C8G0KIPI.mjs} +7 -7
  7. package/dist/{archive-BtDvBsr8.mjs → archive-D6eMYNI5.mjs} +6 -6
  8. package/dist/{archive-BFk-oupo.mjs → archive-DCIwtfv0.mjs} +6 -6
  9. package/dist/{archive-MTTQv3wR.mjs → archive-DTN6Anme.mjs} +7 -7
  10. package/dist/{archive-Dc-FwNZm.mjs → archive-F2g-bAXf.mjs} +7 -7
  11. package/dist/auth-D4cXDeiH.mjs +19 -0
  12. package/dist/{body-89w3r7In.mjs → body-CXpIB6hY.mjs} +3 -3
  13. package/dist/{branches-DuVKH8Ye.mjs → branches-r9SVJIV5.mjs} +6 -6
  14. package/dist/{cancel-BEMQKVuR.mjs → cancel-BbLZsVYQ.mjs} +5 -5
  15. package/dist/{cancel-task-D2mSPFXO.mjs → cancel-task-CojB-8XX.mjs} +6 -6
  16. package/dist/{capabilities-7L9GVMd_.mjs → capabilities-BX1rnVuH.mjs} +2 -14
  17. package/dist/card-BMN-mcxn.mjs +20 -0
  18. package/dist/{card-DnIeMmUn.mjs → card-wCPcuKSi.mjs} +1 -1
  19. package/dist/{cards-L9jksUMD.mjs → cards-e9Wgnbnq.mjs} +6 -6
  20. package/dist/cli.mjs +26 -25
  21. package/dist/collection-DZnA3zXr.mjs +20 -0
  22. package/dist/{collection-namespace-w26SavJH.mjs → collection-namespace-DmKMqLr0.mjs} +2 -2
  23. package/dist/{command-augment-BH9qgQ5u.mjs → command-augment-CAur0XOQ.mjs} +13 -2
  24. package/dist/{create-Cxg_h8Kf.mjs → create-Bbe2EM9f.mjs} +10 -10
  25. package/dist/{create-8hMjPz7j.mjs → create-Bu9edPBn.mjs} +8 -8
  26. package/dist/create-Bz4hf7W0.mjs +44 -0
  27. package/dist/{create-Bu9Jayck.mjs → create-BzKW27Hh.mjs} +12 -12
  28. package/dist/{create-Dew3rKsR.mjs → create-C4G_z8qO.mjs} +8 -8
  29. package/dist/{create-DoeqRVmx.mjs → create-C5-JhEUc.mjs} +11 -11
  30. package/dist/{create-zEq4ZJAT.mjs → create-Cq-ay6cJ.mjs} +8 -8
  31. package/dist/{create-D6QqOX6u.mjs → create-DFMpgUvH.mjs} +9 -9
  32. package/dist/{create-C3b3MoIN.mjs → create-UzeYyGq6.mjs} +10 -10
  33. package/dist/{create-branch-C5P2y8U5.mjs → create-branch--GJ_RxIN.mjs} +6 -6
  34. package/dist/{create-DCYc032c.mjs → create-onFRzFwS.mjs} +11 -11
  35. package/dist/{current-task-uD4QO5bM.mjs → current-task-C0mMBzdB.mjs} +6 -6
  36. package/dist/dashboard-PB_c3Irl.mjs +21 -0
  37. package/dist/{database-Dsv4QBs0.mjs → database-BmsxuRmO.mjs} +1 -1
  38. package/dist/db-q0lYg3k8.mjs +22 -0
  39. package/dist/{delete-DGaNAFdQ.mjs → delete-CGw1hwGZ.mjs} +7 -7
  40. package/dist/{delete-Bftif2R3.mjs → delete-CxTPHzom.mjs} +7 -7
  41. package/dist/delete-Dbzs51x3.mjs +50 -0
  42. package/dist/{delete-runtime-CjFc69tS.mjs → delete-runtime-BhZAAvjc.mjs} +3 -3
  43. package/dist/{delete-table-C0qxP6FE.mjs → delete-table-B6obSpLU.mjs} +7 -7
  44. package/dist/dependencies-DfkbJqzQ.mjs +40 -0
  45. package/dist/{dirty-CZZLpWt1.mjs → dirty-BqL_DE6p.mjs} +6 -6
  46. package/dist/document-4TwzGwl3.mjs +19 -0
  47. package/dist/{eid-C8xTmR8e.mjs → eid-C31VGHAM.mjs} +7 -7
  48. package/dist/{error-BGH4gxGN.mjs → error-BOi_ux9O.mjs} +40 -5
  49. package/dist/{export-DWdjnBKo.mjs → export--_0e40xU.mjs} +8 -8
  50. package/dist/field-Bi_O_Sdg.mjs +18 -0
  51. package/dist/{fields-Cq08PQec.mjs → fields-BRiL6KEF.mjs} +7 -7
  52. package/dist/{get-Bbij6RjC.mjs → get--bNbxDkk.mjs} +6 -6
  53. package/dist/{get-DHPN1716.mjs → get-B-phl324.mjs} +7 -7
  54. package/dist/{get-DtKv-gl3.mjs → get-B2-RLrYJ.mjs} +6 -6
  55. package/dist/{get-ug26gcOI.mjs → get-B_TdMKu-.mjs} +8 -8
  56. package/dist/{get-f5ENeUNw.mjs → get-C-o2-vnf.mjs} +6 -6
  57. package/dist/{get-BaKKF50e.mjs → get-C6njgZmF.mjs} +6 -6
  58. package/dist/{get-B_BJ10pV.mjs → get-CCyfx_AY.mjs} +6 -6
  59. package/dist/{get-Cr8oz_jr.mjs → get-CcGU3YaY.mjs} +6 -6
  60. package/dist/{get-8nAjRL2H.mjs → get-Cs7a7s2Z.mjs} +7 -7
  61. package/dist/{get-B2vGW7Aw.mjs → get-DGZw_U0s.mjs} +6 -6
  62. package/dist/{get-DzLAmSKd.mjs → get-DMeF2FLQ.mjs} +5 -5
  63. package/dist/{get-7IhxPyE_.mjs → get-DQOvqH9P.mjs} +6 -6
  64. package/dist/{get-Bcr_5fAb.mjs → get-LJam7ZQ-.mjs} +6 -6
  65. package/dist/{get-Rqz7UHv1.mjs → get-ev4Zw3Gj.mjs} +6 -6
  66. package/dist/{get-run-DhbHXaZE.mjs → get-run-Cp7ATZPQ.mjs} +6 -6
  67. package/dist/git-sync-BOZdFF09.mjs +28 -0
  68. package/dist/{has-remote-changes-CTLh3WjZ.mjs → has-remote-changes-Bw_Xp9Ii.mjs} +6 -6
  69. package/dist/{import-XakIQfRp.mjs → import-BmoC0ECq.mjs} +8 -8
  70. package/dist/{input-BZwm4yby.mjs → input-BXWgdKiS.mjs} +1 -1
  71. package/dist/is-dirty-B6usK-aU.mjs +9 -0
  72. package/dist/{is-dirty-DkOOyjsZ.mjs → is-dirty-BDmXm34E.mjs} +4 -4
  73. package/dist/{items-DC985V8K.mjs → items-BI-O48Sc.mjs} +8 -8
  74. package/dist/{key-y4TtxKwU.mjs → key-C8q5oIr5.mjs} +1 -1
  75. package/dist/{list-DfPwBQrZ.mjs → list-B7g2c9K7.mjs} +5 -5
  76. package/dist/{list-CEbMS6g3.mjs → list-BE3wVc-a.mjs} +5 -5
  77. package/dist/{list-CtAFlkLe.mjs → list-BcSjOiK1.mjs} +5 -5
  78. package/dist/{list-CIEI8XK_.mjs → list-BkEFHJe8.mjs} +5 -5
  79. package/dist/{list-STlBcPs8.mjs → list-CNeaMSjy.mjs} +5 -5
  80. package/dist/{list-BtNboYpZ.mjs → list-CRUjh592.mjs} +25 -18
  81. package/dist/{list-PYNFVJGM.mjs → list-CTfCgMTk.mjs} +7 -7
  82. package/dist/{list-OGkVAG6b.mjs → list-Cju3N2kB.mjs} +6 -6
  83. package/dist/{list-Df4MhR2A.mjs → list-Cqvt6gpK.mjs} +7 -7
  84. package/dist/{list-CyIgwqFB.mjs → list-Cz_2UyGV.mjs} +6 -6
  85. package/dist/{list-B83-hnq5.mjs → list-DIFjjwBV.mjs} +5 -5
  86. package/dist/list-DM-Oa-oB.mjs +32 -0
  87. package/dist/{list-Cnb9mQdd.mjs → list-DhWVjE6U.mjs} +7 -7
  88. package/dist/{list-xfmTxHNu.mjs → list-JCMQ06wX.mjs} +5 -5
  89. package/dist/{list-gy64AAWO.mjs → list-RC1HQ2dg.mjs} +5 -5
  90. package/dist/login-BF6LkxPI.mjs +453 -0
  91. package/dist/{logout-BUgUTFol.mjs → logout-Cg8Z_XD_.mjs} +15 -6
  92. package/dist/{manifest-BPHqF5LY.mjs → manifest-DYeLri80.mjs} +2 -2
  93. package/dist/measure-BRzkMY5y.mjs +19 -0
  94. package/dist/{metadata-B1EmV1l5.mjs → metadata-B15u_YYT.mjs} +7 -7
  95. package/dist/{metadata-Dwkcsa1c.mjs → metadata-CmvvOpKI.mjs} +8 -8
  96. package/dist/{parse-enum-Dr7ACrTR.mjs → parse-enum-BatHQ-Gs.mjs} +1 -1
  97. package/dist/{parse-id-sKNP6yu5.mjs → parse-id-DMs04KM3.mjs} +1 -1
  98. package/dist/{parse-ref-BiETXmvm.mjs → parse-ref-CZr1bYIl.mjs} +1 -1
  99. package/dist/{path-BZJR7YLR.mjs → path-YsfpMb_h.mjs} +5 -5
  100. package/dist/{poll-Cyw-dQi4.mjs → poll-13tgWrN_.mjs} +2 -2
  101. package/dist/{poll-task-BG0oVnfZ.mjs → poll-task-BuAHsDEK.mjs} +2 -2
  102. package/dist/{preflight-BjR63JnX.mjs → preflight-wCSgVqbX.mjs} +4 -4
  103. package/dist/process-DsGf7Mg5.mjs +73 -0
  104. package/dist/{prompt-u4WhE4T5.mjs → prompt-Bc_bHSD0.mjs} +13 -3
  105. package/dist/{query-Dk55Wp2p.mjs → query-DnYdI0fl.mjs} +12 -12
  106. package/dist/{query-result-B4kTRid7.mjs → query-result-L5_NrwQR.mjs} +1 -1
  107. package/dist/{query-C2xqnz24.mjs → query-x6g6unDt.mjs} +8 -8
  108. package/dist/{remove-collection-DbVNWGyb.mjs → remove-collection-CLTqx7ys.mjs} +8 -8
  109. package/dist/{render-BQHJhSP1.mjs → render-CkuFkWlQ.mjs} +6 -1
  110. package/dist/{rescan-values-CuLQ9UHP.mjs → rescan-values-C7b78yA2.mjs} +8 -8
  111. package/dist/{run-PDN33QjN.mjs → run-CsYI4Sqv.mjs} +8 -8
  112. package/dist/run-DR5O1_EU.mjs +59 -0
  113. package/dist/{runs-B9T-7lei.mjs → runs-DWbtqOyw.mjs} +7 -7
  114. package/dist/{runtime-DgHh4T6t.mjs → runtime-7JTC-usO.mjs} +591 -123
  115. package/dist/{schema-tables-DjmNwrlT.mjs → schema-tables-Cte09dhE.mjs} +7 -7
  116. package/dist/{schemas-CWL8gv1C.mjs → schemas-DAmSPGiC.mjs} +5 -5
  117. package/dist/{search-D7JzmvfR.mjs → search-Di-SFcZm.mjs} +5 -5
  118. package/dist/segment-DiHHHk2a.mjs +19 -0
  119. package/dist/{set-C0dCLnUA.mjs → set-C1rIETEg.mjs} +8 -8
  120. package/dist/set-active-CJ1VaxEC.mjs +56 -0
  121. package/dist/{setting-Licy7ZSs.mjs → setting-6WqN3L3F.mjs} +3 -3
  122. package/dist/{setup-BL4fqxoU.mjs → setup-DbXhTopr.mjs} +7 -7
  123. package/dist/{skills-CY_FmaPo.mjs → skills-CJ8g8fhQ.mjs} +1 -1
  124. package/dist/{skills-Cn8FMCxG.mjs → skills-CfWrH-1L.mjs} +3 -3
  125. package/dist/snippet-B-anQo6y.mjs +19 -0
  126. package/dist/{stash-SGod4B8-.mjs → stash-BCNSzoYQ.mjs} +8 -8
  127. package/dist/{status-CvUuZVvC.mjs → status-BocNdqNq.mjs} +14 -6
  128. package/dist/{status-BCb5iCsQ.mjs → status-CG3Lbl5_.mjs} +7 -7
  129. package/dist/{summary-qaTPTLWs.mjs → summary-TApK2JbW.mjs} +6 -6
  130. package/dist/{sync-schema-CjjAYTbO.mjs → sync-schema-COA-OlO3.mjs} +10 -10
  131. package/dist/table-Bnj8IBKx.mjs +19 -0
  132. package/dist/{table-CkWja2UH.mjs → table-qDD2kApF.mjs} +1 -1
  133. package/dist/transform-QCDItglq.mjs +25 -0
  134. package/dist/transform-job-Dawm4Lag.mjs +22 -0
  135. package/dist/transform-tag-BLAbrywB.mjs +36 -0
  136. package/dist/transform-tag-CN-bTSne.mjs +18 -0
  137. package/dist/transforms-Bo4u0YqS.mjs +40 -0
  138. package/dist/{tree-C0MFcweC.mjs → tree-CGh-ZG4n.mjs} +5 -5
  139. package/dist/{update-BqsGGrzx.mjs → update-Bob7lvnr.mjs} +13 -13
  140. package/dist/{update-BUoWwmQV.mjs → update-Br_cd74H.mjs} +9 -9
  141. package/dist/{update-vk_M0eOR.mjs → update-BuJjTYAx.mjs} +11 -11
  142. package/dist/{update-CJASCsG4.mjs → update-CCIkTuxz.mjs} +9 -9
  143. package/dist/{update-Dty6LvU2.mjs → update-Co4WLVkK.mjs} +12 -12
  144. package/dist/update-DCvTlxUK.mjs +51 -0
  145. package/dist/{update-qoP7hZTg.mjs → update-DLQygCXg.mjs} +10 -10
  146. package/dist/{update-BTzsE8GU.mjs → update-DtUhmJar.mjs} +9 -9
  147. package/dist/{update-DCR0wFNl.mjs → update-ETzjZl17.mjs} +11 -11
  148. package/dist/{update-BImaz9vj.mjs → update-ZPsCSWR6.mjs} +12 -12
  149. package/dist/{update-dashcard-BkJaVVvf.mjs → update-dashcard-Du-h_8oY.mjs} +9 -9
  150. package/dist/{update-CHUUY-IB.mjs → update-ysNL-mE-.mjs} +9 -9
  151. package/dist/{upgrade-TdaiAYbH.mjs → upgrade-CavKMkQ4.mjs} +6 -34
  152. package/dist/{uuid-BeUz8VpP.mjs → uuid-BL33x41p.mjs} +4 -4
  153. package/dist/{validate-B62TRDGV.mjs → validate-VawhJ5Sc.mjs} +2 -2
  154. package/dist/{validate-query-BpiN1CFu.mjs → validate-query-CSV-TTnd.mjs} +3 -3
  155. package/dist/{values-DR-3HcK6.mjs → values-DVu97Fcd.mjs} +6 -6
  156. package/dist/{verify-D2uBlvmt.mjs → verify-BLUei79N.mjs} +5 -5
  157. package/dist/{wait-FAnqO-LT.mjs → wait-C0P8Qt37.mjs} +7 -7
  158. package/dist/{wait-flags-B5BI_xob.mjs → wait-flags-Z_JC7x4L.mjs} +2 -2
  159. package/package.json +1 -1
  160. package/skill-data/core/SKILL.md +1 -1
  161. package/skill-data/transform/SKILL.md +17 -3
  162. package/dist/add-collection-BPtBMh8Y.mjs +0 -10
  163. package/dist/auth-CjFnuPe9.mjs +0 -19
  164. package/dist/card-DoDpwR4t.mjs +0 -20
  165. package/dist/collection-CF-1RIPY.mjs +0 -20
  166. package/dist/dashboard-C5zTX345.mjs +0 -21
  167. package/dist/db-4y5Z1CQw.mjs +0 -22
  168. package/dist/document-97l9Non_.mjs +0 -19
  169. package/dist/field-BwUTrelF.mjs +0 -18
  170. package/dist/git-sync-JIMEYW-E.mjs +0 -28
  171. package/dist/is-dirty-4gf8ujws.mjs +0 -9
  172. package/dist/login-C0VFlX8y.mjs +0 -180
  173. package/dist/measure-BmcmxRQ3.mjs +0 -19
  174. package/dist/segment-DrZNuxsM.mjs +0 -19
  175. package/dist/snippet-C5_4nPGj.mjs +0 -19
  176. package/dist/table-DK1B8Hzq.mjs +0 -19
  177. package/dist/transform-Dh5746zH.mjs +0 -24
  178. package/dist/transform-job-D0nRGPYN.mjs +0 -19
  179. /package/dist/{body-flags-D78h_-Ua.mjs → body-flags-D7q87Btw.mjs} +0 -0
  180. /package/dist/{collection-BPTlcFw5.mjs → collection-Deiziuu2.mjs} +0 -0
  181. /package/dist/{dashboard-FY5UzJ_Z.mjs → dashboard-B4bn3z6t.mjs} +0 -0
  182. /package/dist/{document-CcfiiV3b.mjs → document-qfwR0r63.mjs} +0 -0
  183. /package/dist/{field-MGxpNQUH.mjs → field-E0IBy4Uw.mjs} +0 -0
  184. /package/dist/{measure-COGAoZpo.mjs → measure-JJAdFoqK.mjs} +0 -0
  185. /package/dist/{paginate-Dfm9eO9A.mjs → paginate-BexjkjbY.mjs} +0 -0
  186. /package/dist/{revision-message-flag-Bo-Kvv6F.mjs → revision-message-flag-C7zBeWEt.mjs} +0 -0
  187. /package/dist/{segment-d-708KKO.mjs → segment-B9SEv9V_.mjs} +0 -0
  188. /package/dist/{setting-CSJvi1-6.mjs → setting-i0pugNHl.mjs} +0 -0
  189. /package/dist/{snippet-BZvo05ua.mjs → snippet-NNzqlksR.mjs} +0 -0
  190. /package/dist/{transform-job-n8W6tLqF.mjs → transform-job-B9pXBOwr.mjs} +0 -0
  191. /package/dist/{transform--dviwMA1.mjs → transform-qczxOAzn.mjs} +0 -0
@@ -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: "Manage Metabase fields"
8
- },
9
- subCommands: {
10
- get: () => import("./get-Bbij6RjC.mjs").then((m) => m.default),
11
- values: () => import("./values-DR-3HcK6.mjs").then((m) => m.default),
12
- summary: () => import("./summary-qaTPTLWs.mjs").then((m) => m.default),
13
- update: () => import("./update-BTzsE8GU.mjs").then((m) => m.default)
14
- }
15
- });
16
-
17
- //#endregion
18
- export { field_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-BCb5iCsQ.mjs").then((mod) => mod.default),
11
- "is-dirty": () => import("./is-dirty-4gf8ujws.mjs").then((mod) => mod.default),
12
- "has-remote-changes": () => import("./has-remote-changes-CTLh3WjZ.mjs").then((mod) => mod.default),
13
- dirty: () => import("./dirty-CZZLpWt1.mjs").then((mod) => mod.default),
14
- "current-task": () => import("./current-task-uD4QO5bM.mjs").then((mod) => mod.default),
15
- "cancel-task": () => import("./cancel-task-D2mSPFXO.mjs").then((mod) => mod.default),
16
- wait: () => import("./wait-FAnqO-LT.mjs").then((mod) => mod.default),
17
- import: () => import("./import-XakIQfRp.mjs").then((mod) => mod.default),
18
- export: () => import("./export-DWdjnBKo.mjs").then((mod) => mod.default),
19
- stash: () => import("./stash-SGod4B8-.mjs").then((mod) => mod.default),
20
- branches: () => import("./branches-DuVKH8Ye.mjs").then((mod) => mod.default),
21
- "create-branch": () => import("./create-branch-C5P2y8U5.mjs").then((mod) => mod.default),
22
- "add-collection": () => import("./add-collection-BPtBMh8Y.mjs").then((mod) => mod.default),
23
- "remove-collection": () => import("./remove-collection-DbVNWGyb.mjs").then((mod) => mod.default)
24
- }
25
- });
26
-
27
- //#endregion
28
- export { git_sync_default as default };
@@ -1,9 +0,0 @@
1
- import "./command-augment-BH9qgQ5u.mjs";
2
- import "./error-BGH4gxGN.mjs";
3
- import "./runtime-DgHh4T6t.mjs";
4
- import "./capabilities-7L9GVMd_.mjs";
5
- import "./poll-Cyw-dQi4.mjs";
6
- import "./poll-task-BG0oVnfZ.mjs";
7
- import { IsDirtyResult, is_dirty_default } from "./is-dirty-DkOOyjsZ.mjs";
8
-
9
- export { is_dirty_default as default };
@@ -1,180 +0,0 @@
1
- import { ConfigError, errorMessage } from "./command-augment-BH9qgQ5u.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-BGH4gxGN.mjs";
3
- import { DEFAULT_PROFILE, ParsedVersionSchema, ProbedUser, defineMetabaseCommand, explicitProfileName, keyringFallbackWarning, normalizeUrl, readEnvCredentials, writeProbeFailure, writeProbeResult, writeProfile } from "./runtime-DgHh4T6t.mjs";
4
- import { verifyAndProbe } from "./verify-D2uBlvmt.mjs";
5
- import { renderSummary, warn } from "./capabilities-7L9GVMd_.mjs";
6
- import { EMPTY_CELL, renderUserName, renderUserRole, renderVersionTag } from "./render-BQHJhSP1.mjs";
7
- import { promptPassword, promptText } from "./prompt-u4WhE4T5.mjs";
8
- import { readInput } from "./input-BZwm4yby.mjs";
9
- import { z } from "zod";
10
-
11
- //#region src/commands/auth/login.ts
12
- const LoginResult = z.object({
13
- profile: z.string(),
14
- url: z.string(),
15
- authenticated: z.boolean(),
16
- user: ProbedUser.nullable(),
17
- version: ParsedVersionSchema.nullable()
18
- });
19
- const loginView = {
20
- compactPick: LoginResult,
21
- tableColumns: [
22
- {
23
- key: "profile",
24
- label: "Profile"
25
- },
26
- {
27
- key: "url",
28
- label: "Metabase URL"
29
- },
30
- {
31
- key: "authenticated",
32
- label: "Authenticated",
33
- format: (value) => value === true ? "credentials verified" : "saved without verification"
34
- },
35
- {
36
- key: "user",
37
- label: "Logged in as",
38
- format: (value) => renderUserName(value)
39
- },
40
- {
41
- key: "user",
42
- label: "Role",
43
- format: (value) => renderUserRole(value)
44
- },
45
- {
46
- key: "version",
47
- label: "Version",
48
- format: (value) => renderVersionTag(value)
49
- }
50
- ]
51
- };
52
- var login_default = defineMetabaseCommand({
53
- meta: {
54
- name: "login",
55
- description: "Set Metabase credentials for a profile"
56
- },
57
- details: "API-key auth only. The key is read from --api-key, $METABASE_API_KEY, or piped stdin (first non-empty wins); the URL from --url or $METABASE_URL. Both are prompted when stdin is a TTY.",
58
- capabilities: { minVersion: 58 },
59
- args: {
60
- ...outputFlags,
61
- ...profileFlag,
62
- ...connectionFlags,
63
- "skip-verify": {
64
- type: "boolean",
65
- default: false,
66
- description: "Save without contacting the server"
67
- }
68
- },
69
- outputSchema: LoginResult,
70
- examples: [
71
- "mb auth login --url https://metabase.example.com < key.txt",
72
- "echo $METABASE_API_KEY | mb auth login --url https://metabase.example.com",
73
- "mb auth login --profile staging --url https://staging.example.com"
74
- ],
75
- async run({ args, ctx }) {
76
- const profileName = await resolveLoginProfile(args.profile);
77
- const env = readEnvCredentials();
78
- if (args.apiKey) warn("warning: --api-key is visible in shell history and process listings — pipe the key on stdin or set METABASE_API_KEY instead");
79
- const url = await resolveUrl(args.url, env.url);
80
- const apiKey = await resolveApiKey(args.apiKey, env.apiKey);
81
- if (args["skip-verify"]) {
82
- const location$1 = await writeProfile({
83
- url,
84
- apiKey
85
- }, profileName);
86
- if (location$1.backend === "file") warn(keyringFallbackWarning(location$1));
87
- renderSummary({
88
- profile: profileName,
89
- url,
90
- authenticated: false,
91
- user: null,
92
- version: null
93
- }, loginView, `Saved credentials for profile "${profileName}" (${url}) without verifying.`, ctx);
94
- return;
95
- }
96
- const result = await verifyAndProbe(url, apiKey);
97
- if (!result.ok) {
98
- await writeProbeFailure(profileName, {
99
- kind: result.kind,
100
- reason: result.message
101
- });
102
- throw new ConfigError(formatVerifyFailureMessage(profileName, result));
103
- }
104
- const location = await writeProfile({
105
- url,
106
- apiKey
107
- }, profileName);
108
- if (location.backend === "file") warn(keyringFallbackWarning(location));
109
- await writeProbeResult(profileName, {
110
- user: result.user,
111
- server: result.server
112
- });
113
- const who = renderUserName(result.user);
114
- const role = renderUserRole(result.user);
115
- const versionTag = renderVersionTag(result.server.version);
116
- const serverClause = versionTag === EMPTY_CELL ? "" : ` Server ${versionTag}.`;
117
- renderSummary({
118
- profile: profileName,
119
- url,
120
- authenticated: true,
121
- user: result.user,
122
- version: result.server.version
123
- }, loginView, `Logged in to ${url} as ${who} (${role}). Saved to profile "${profileName}".${serverClause}`, ctx);
124
- }
125
- });
126
- function formatVerifyFailureMessage(profileName, failure) {
127
- const which = failure.which === "user" ? "/api/user/current" : "/api/session/properties";
128
- return `verification failed (${which}): ${failure.message} — credentials were not saved for profile "${profileName}"`;
129
- }
130
- async function resolveLoginProfile(flagProfile) {
131
- const explicit = explicitProfileName(flagProfile);
132
- if (explicit !== null) return explicit;
133
- if (!process.stdin.isTTY) return DEFAULT_PROFILE;
134
- const entered = (await promptText({
135
- message: "Profile name",
136
- placeholder: DEFAULT_PROFILE,
137
- defaultValue: DEFAULT_PROFILE
138
- })).trim();
139
- return entered === "" ? DEFAULT_PROFILE : entered;
140
- }
141
- async function resolveUrl(flagUrl, envUrl) {
142
- if (flagUrl) return normalizeUrl(flagUrl);
143
- if (envUrl) return normalizeUrl(envUrl);
144
- return promptForUrl();
145
- }
146
- async function resolveApiKey(flagKey, envKey) {
147
- if (flagKey) return flagKey;
148
- const piped = (await readInput({ required: false })).trim();
149
- if (piped) return piped;
150
- if (envKey) return envKey;
151
- return promptForApiKey();
152
- }
153
- async function promptForUrl() {
154
- if (!process.stdin.isTTY) throw new ConfigError("--url is required when stdin is not a TTY (cannot prompt interactively)");
155
- const value = await promptText({
156
- message: "Metabase URL",
157
- placeholder: "https://metabase.example.com",
158
- validate(input) {
159
- if (!input) return "URL is required";
160
- try {
161
- normalizeUrl(input);
162
- } catch (error) {
163
- return errorMessage(error);
164
- }
165
- return void 0;
166
- }
167
- });
168
- return normalizeUrl(value);
169
- }
170
- async function promptForApiKey() {
171
- if (!process.stdin.isTTY) throw new ConfigError("--api-key, piped stdin, or METABASE_API_KEY required when stdin is not a TTY");
172
- return promptPassword({
173
- message: "API key",
174
- mask: "•",
175
- validate: (input) => input ? void 0 : "API key is required"
176
- });
177
- }
178
-
179
- //#endregion
180
- export { login_default as default };
@@ -1,19 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/measure/index.ts
4
- var measure_default = defineCommand({
5
- meta: {
6
- name: "measure",
7
- description: "Manage Metabase measures"
8
- },
9
- subCommands: {
10
- list: () => import("./list-CIEI8XK_.mjs").then((mod) => mod.default),
11
- get: () => import("./get-DtKv-gl3.mjs").then((mod) => mod.default),
12
- create: () => import("./create-Cxg_h8Kf.mjs").then((mod) => mod.default),
13
- update: () => import("./update-vk_M0eOR.mjs").then((mod) => mod.default),
14
- archive: () => import("./archive-MTTQv3wR.mjs").then((mod) => mod.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { measure_default as default };
@@ -1,19 +0,0 @@
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-STlBcPs8.mjs").then((mod) => mod.default),
11
- get: () => import("./get-Rqz7UHv1.mjs").then((mod) => mod.default),
12
- create: () => import("./create-C3b3MoIN.mjs").then((mod) => mod.default),
13
- update: () => import("./update-DCR0wFNl.mjs").then((mod) => mod.default),
14
- archive: () => import("./archive-Dc-FwNZm.mjs").then((mod) => mod.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { segment_default as default };
@@ -1,19 +0,0 @@
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-CEbMS6g3.mjs").then((mod) => mod.default),
11
- get: () => import("./get-BaKKF50e.mjs").then((mod) => mod.default),
12
- create: () => import("./create-zEq4ZJAT.mjs").then((mod) => mod.default),
13
- update: () => import("./update-BUoWwmQV.mjs").then((mod) => mod.default),
14
- archive: () => import("./archive-DUlrUlok.mjs").then((mod) => mod.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { snippet_default as default };
@@ -1,19 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/table/index.ts
4
- var table_default = defineCommand({
5
- meta: {
6
- name: "table",
7
- description: "Manage Metabase tables"
8
- },
9
- subCommands: {
10
- list: () => import("./list-PYNFVJGM.mjs").then((m) => m.default),
11
- get: () => import("./get-DHPN1716.mjs").then((m) => m.default),
12
- metadata: () => import("./metadata-B1EmV1l5.mjs").then((m) => m.default),
13
- fields: () => import("./fields-Cq08PQec.mjs").then((m) => m.default),
14
- update: () => import("./update-qoP7hZTg.mjs").then((m) => m.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { table_default as default };
@@ -1,24 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/transform/index.ts
4
- var transform_default = defineCommand({
5
- meta: {
6
- name: "transform",
7
- description: "Manage Metabase transforms"
8
- },
9
- subCommands: {
10
- list: () => import("./list-DfPwBQrZ.mjs").then((mod) => mod.default),
11
- get: () => import("./get-Cr8oz_jr.mjs").then((mod) => mod.default),
12
- create: () => import("./create-DCYc032c.mjs").then((mod) => mod.default),
13
- update: () => import("./update-BImaz9vj.mjs").then((mod) => mod.default),
14
- delete: () => import("./delete-DGaNAFdQ.mjs").then((mod) => mod.default),
15
- "delete-table": () => import("./delete-table-C0qxP6FE.mjs").then((mod) => mod.default),
16
- run: () => import("./run-PDN33QjN.mjs").then((mod) => mod.default),
17
- cancel: () => import("./cancel-BEMQKVuR.mjs").then((mod) => mod.default),
18
- "get-run": () => import("./get-run-DhbHXaZE.mjs").then((mod) => mod.default),
19
- runs: () => import("./runs-B9T-7lei.mjs").then((mod) => mod.default)
20
- }
21
- });
22
-
23
- //#endregion
24
- export { transform_default as default };
@@ -1,19 +0,0 @@
1
- import { defineCommand } from "citty";
2
-
3
- //#region src/commands/transform-job/index.ts
4
- var transform_job_default = defineCommand({
5
- meta: {
6
- name: "transform-job",
7
- description: "Manage Metabase transform jobs"
8
- },
9
- subCommands: {
10
- list: () => import("./list-xfmTxHNu.mjs").then((mod) => mod.default),
11
- get: () => import("./get-f5ENeUNw.mjs").then((mod) => mod.default),
12
- create: () => import("./create-Dew3rKsR.mjs").then((mod) => mod.default),
13
- update: () => import("./update-CJASCsG4.mjs").then((mod) => mod.default),
14
- delete: () => import("./delete-Bftif2R3.mjs").then((mod) => mod.default)
15
- }
16
- });
17
-
18
- //#endregion
19
- export { transform_job_default as default };
File without changes