@metabase/cli 0.1.4 → 0.1.6
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.
- package/.claude-plugin/marketplace.json +19 -0
- package/README.md +147 -101
- package/dist/{add-collection-CffaBB-Y.mjs → add-collection-BU8r3r2M.mjs} +9 -4
- package/dist/add-collection-C0w6ACQF.mjs +11 -0
- package/dist/{archive-uJrslh9r.mjs → archive-BNinrUak.mjs} +9 -8
- package/dist/{archive-GdGm7l2e.mjs → archive-C1enZgKV.mjs} +8 -7
- package/dist/archive-CDA0KxL8.mjs +40 -0
- package/dist/{archive-BAcEXbT9.mjs → archive-CRhiBpPJ.mjs} +9 -8
- package/dist/{archive-B_B3MQp0.mjs → archive-DMPS8Kih.mjs} +9 -8
- package/dist/archive-lWgqiFAt.mjs +40 -0
- package/dist/auth-CzXb_zB2.mjs +19 -0
- package/dist/{body-D6dHGjMT.mjs → body-DjdFxjpg.mjs} +4 -4
- package/dist/{branches-Bpe40fEd.mjs → branches-B1WRfG7-.mjs} +11 -7
- package/dist/{cancel-BWTY6oYI.mjs → cancel-Dl_Ho056.mjs} +7 -6
- package/dist/{cancel-task--BfiAXfS.mjs → cancel-task-CdigdCaO.mjs} +11 -7
- package/dist/capabilities-7e9MgquN.mjs +29 -0
- package/dist/card-DP4rfoOi.mjs +21 -0
- package/dist/{card-CQxvHeyP.mjs → card-DlCAaAPq.mjs} +1 -1
- package/dist/{cards-CVlFJxYh.mjs → cards-BGiJS675.mjs} +8 -7
- package/dist/cli.mjs +267 -44
- package/dist/collection-tY18ezvn.mjs +21 -0
- package/dist/{predicates-CGO17Q15.mjs → command-augment-BH9qgQ5u.mjs} +66 -14
- package/dist/create-BNiva__H.mjs +52 -0
- package/dist/{create-izE3EKCt.mjs → create-BTcpaop_.mjs} +9 -8
- package/dist/{create-BykvNpSA.mjs → create-BYlIju0b.mjs} +14 -12
- package/dist/{create-Bu-YhIDL.mjs → create-Be_0Vier.mjs} +10 -9
- package/dist/{create-DYoc9IXW.mjs → create-CHF313Qg.mjs} +13 -9
- package/dist/{create-Cz3_Wxdt.mjs → create-CwGtmwqm.mjs} +14 -12
- package/dist/{create-DP8RrLDi.mjs → create-CzzrbL0u.mjs} +10 -9
- package/dist/{create-BzElku2l.mjs → create-DGth_uOp.mjs} +14 -12
- package/dist/{create-branch-B49UQyCK.mjs → create-branch-DKZkoQ64.mjs} +11 -7
- package/dist/{create-DQVdMT2Y.mjs → create-dhxPxfF3.mjs} +16 -14
- package/dist/{credentials-xKSoP6eh.mjs → credentials-dzeq7ckm.mjs} +12 -10
- package/dist/{current-task-DweHmjlk.mjs → current-task-CCRzm0_7.mjs} +11 -7
- package/dist/dashboard-ChM_Tu0l.mjs +22 -0
- package/dist/{dashboard-CnMD04PQ.mjs → dashboard-FY5UzJ_Z.mjs} +2 -1
- package/dist/{database-BNlvldUL.mjs → database-CIXwHKjK.mjs} +3 -3
- package/dist/{database-vvig8k4x.mjs → database-lH-B3G1I.mjs} +1 -1
- package/dist/db-DrQn_i3W.mjs +22 -0
- package/dist/{remove-B3ZEqBF7.mjs → delete-CM3jnAeQ.mjs} +21 -20
- package/dist/{delete-DojHmKeM.mjs → delete-Dimc-2y8.mjs} +9 -8
- package/dist/{delete-DIz9Tgz5.mjs → delete-ZjnV35OJ.mjs} +9 -8
- package/dist/{delete-runtime-BkAdygbs.mjs → delete-runtime-B6RQo_pw.mjs} +5 -3
- package/dist/{delete-table-DjN8E3sd.mjs → delete-table-agZJpivt.mjs} +9 -8
- package/dist/{deprovision-_HDcBApz.mjs → deprovision-CwxcIT3k.mjs} +16 -12
- package/dist/{dirty-Co8V0SZ3.mjs → dirty-D4d0yHqj.mjs} +11 -7
- package/dist/{docker-D9sC_37H.mjs → docker-Oq80q3tu.mjs} +4 -4
- package/dist/{translate-CG_Ka0dO.mjs → eid-BXzaQh0o.mjs} +37 -22
- package/dist/error-C9S6PN3-.mjs +190 -0
- package/dist/{export-CVMFxoo1.mjs → export-DTygoXBP.mjs} +17 -16
- package/dist/field-Z6Pcxf4n.mjs +19 -0
- package/dist/{fields-Coha7vKv.mjs → fields-CoQi99gv.mjs} +9 -8
- package/dist/{get-DXv2FkA7.mjs → get-Bzys7vgp.mjs} +8 -7
- package/dist/{get-bNtA7vWe.mjs → get-C2p383Qc.mjs} +8 -7
- package/dist/{get-Br6WayZv.mjs → get-C3HdQ91a.mjs} +8 -7
- package/dist/{get-BOtKerj8.mjs → get-CP3Z3NiH.mjs} +9 -8
- package/dist/{get-BSKoL8ek.mjs → get-C_w1kvN3.mjs} +9 -8
- package/dist/{get-Be6EFh94.mjs → get-CzuzeKSe.mjs} +10 -9
- package/dist/{get-BVTz9B_H.mjs → get-D3SbEQSE.mjs} +10 -9
- package/dist/get-DFxZXaKz.mjs +79 -0
- package/dist/{get-DZrV7v9d.mjs → get-DQTZG_NP.mjs} +8 -7
- package/dist/{get-CJwzbVjc.mjs → get-DSWFjy7O.mjs} +8 -7
- package/dist/{get-BxzCKVC6.mjs → get-Ddr0XLh7.mjs} +8 -7
- package/dist/{get-AOvWo48B.mjs → get-Hc93A0Yz.mjs} +8 -7
- package/dist/{get-C_6K7MSW.mjs → get-lb7q3JYs.mjs} +7 -6
- package/dist/get-run-B7sKdaDU.mjs +38 -0
- package/dist/git-sync-CiGAad76.mjs +28 -0
- package/dist/{has-remote-changes-D6xgsuUr.mjs → has-remote-changes-BY10-nnE.mjs} +11 -7
- package/dist/{import-Dv0ORSNw.mjs → import-CiMz4Wz-.mjs} +17 -16
- package/dist/{input-BQ-BZA8h.mjs → input-cMSEqISy.mjs} +7 -4
- package/dist/{is-dirty-WNi8a6O9.mjs → is-dirty-BZOaryxT.mjs} +9 -4
- package/dist/is-dirty-Ume4oV0j.mjs +10 -0
- package/dist/{items-CTcAMknV.mjs → items-BWfvkY-J.mjs} +9 -8
- package/dist/key-C2XG394c.mjs +17 -0
- package/dist/license-Dxarh-gG.mjs +17 -0
- package/dist/{list-FXuSCYpa.mjs → list--OYdUTtu.mjs} +7 -6
- package/dist/{list-8oVMvlLV.mjs → list-2j7GsXsl.mjs} +7 -6
- package/dist/{list-xQmtQPSl.mjs → list-BI4zr8LW.mjs} +10 -8
- package/dist/{list-DhWG5jiW.mjs → list-Brgh-Z2v.mjs} +8 -6
- package/dist/{list-DSs0Q78i.mjs → list-C3hfovHv.mjs} +7 -6
- package/dist/{list-DvUjMQze.mjs → list-CL7eCOQE.mjs} +7 -6
- package/dist/list-Clz5igWg.mjs +44 -0
- package/dist/list-D4sFiqX8.mjs +173 -0
- package/dist/{list-BxdXvGTK.mjs → list-DXH7TlkU.mjs} +9 -7
- package/dist/{list-CocYwmnI.mjs → list-DZ8fNUoQ.mjs} +9 -8
- package/dist/{list-DjhZU-FY.mjs → list-SOG0whQ-.mjs} +7 -6
- package/dist/{list-DI7K3K6k.mjs → list-d58BprgJ.mjs} +7 -6
- package/dist/{list-NiwCL_1X.mjs → list-sD5N3fGk.mjs} +9 -8
- package/dist/{list-CbJeP0Z6.mjs → list-zSO0DMw-.mjs} +10 -6
- package/dist/{login-SXsSH0I1.mjs → login-Bm2AnCez.mjs} +65 -80
- package/dist/{logout-bgOXjxbN.mjs → logout-BlyRJODO.mjs} +8 -7
- package/dist/{logs-BnwVbFuD.mjs → logs-CywPikkL.mjs} +9 -8
- package/dist/{manifest-CGM7XNLC.mjs → manifest-BBR46KFM.mjs} +15 -15
- package/dist/measure-C44EK_xt.mjs +20 -0
- package/dist/{measure-BEQfnLdN.mjs → measure-ClESGxIb.mjs} +2 -2
- package/dist/{metadata-Bu2HOmuX.mjs → metadata-B8ZSF9LA.mjs} +10 -9
- package/dist/{metadata-B0WZT3Yb.mjs → metadata-DqiI2q9q.mjs} +9 -8
- package/dist/parse-enum-CrEWOhuY.mjs +11 -0
- package/dist/{parse-id-B3B-0hUA.mjs → parse-id-lk_K-CEF.mjs} +1 -1
- package/dist/{parse-ref-D1yeDOn8.mjs → parse-ref-BiETXmvm.mjs} +1 -1
- package/dist/{parse-schemas-DgtVLikM.mjs → parse-schemas-BqUdWUwq.mjs} +2 -2
- package/dist/path-AEtZ3mBq.mjs +58 -0
- package/dist/{poll-BCnrcUVf.mjs → poll-DHKDpCiq.mjs} +2 -2
- package/dist/{poll-task-0b1V6G-8.mjs → poll-task-Cooi0lQV.mjs} +3 -20
- package/dist/{preflight-5ACaYnDp.mjs → preflight-aXV5LyDs.mjs} +4 -4
- package/dist/{process-FjsqDwKo.mjs → process-C7V8LJ-j.mjs} +1 -1
- package/dist/{prompt-DgDNy_Pc.mjs → prompt-CFKoys7k.mjs} +3 -1
- package/dist/{provision-29Zt62Ft.mjs → provision-UWcNDoDe.mjs} +29 -24
- package/dist/{ps-BMFiRCi4.mjs → ps-CJU0EbrC.mjs} +5 -3
- package/dist/ps-DEroLgbI.mjs +11 -0
- package/dist/{query-DxA353Hy.mjs → query-AaKzYnTY.mjs} +9 -8
- package/dist/{query-aba8MEe_.mjs → query-BlsVNZpD.mjs} +15 -13
- package/dist/{remove-BfgU_CQi.mjs → remove-BFWun0e8.mjs} +9 -8
- package/dist/{remove-collection-Brv72xUe.mjs → remove-collection-CoCmrrQs.mjs} +13 -9
- package/dist/{render-DuoDUTVL.mjs → render-CfznwleY.mjs} +15 -17
- package/dist/render-OQn3iRsI.mjs +32 -0
- package/dist/{rescan-values-DIAdjoq7.mjs → rescan-values-C0FDsjT7.mjs} +10 -9
- package/dist/{run-CgXRo0hD.mjs → run-B4Wn43zm.mjs} +10 -9
- package/dist/{runs-DtLRw6xg.mjs → runs-Bbaszr18.mjs} +9 -8
- package/dist/{runtime-Br8L4NPm.mjs → runtime-Dmv5VtUK.mjs} +657 -428
- package/dist/{schema-tables-DiKMY6lx.mjs → schema-tables-CaWinbuK.mjs} +9 -8
- package/dist/{schemas-Bvr8cOzo.mjs → schemas-DUgGpAyB.mjs} +7 -6
- package/dist/{search-BT_TCcTd.mjs → search-BLrBXLUk.mjs} +12 -16
- package/dist/segment-B3Uwwcsm.mjs +20 -0
- package/dist/{set-DtG0KH6P.mjs → set-B8cUbRLD.mjs} +13 -12
- package/dist/{set-CAIkXlPy.mjs → set-DfGsta5O.mjs} +11 -10
- package/dist/{setting-BDOi5fk_.mjs → setting-D2p2MA7f.mjs} +3 -3
- package/dist/{setup-LjTvvlJy.mjs → setup-C9ikBRw_.mjs} +9 -8
- package/dist/skills-CUHIcQS6.mjs +18 -0
- package/dist/skills-CiN1OQ8W.mjs +191 -0
- package/dist/snippet-B7D0uWlz.mjs +20 -0
- package/dist/{start-CXKt0Q7A.mjs → start-3PX3ahjT.mjs} +68 -36
- package/dist/{stash-dRw1UEwg.mjs → stash-EIDcSvpF.mjs} +17 -16
- package/dist/{status-C2niMfrQ.mjs → status-95ElRAu9.mjs} +12 -8
- package/dist/status-B0_MiZEf.mjs +100 -0
- package/dist/status-CEplmC44.mjs +34 -0
- package/dist/{stop-BdedYfwU.mjs → stop-CQ0XGrN8.mjs} +11 -10
- package/dist/{summary-BPDA4K99.mjs → summary-C12LiEuJ.mjs} +8 -7
- package/dist/{sync-schema-D95LLRpf.mjs → sync-schema-Ba8M3DiX.mjs} +10 -9
- package/dist/{table-B-PYcgGb.mjs → table-C7a5V6Zn.mjs} +1 -1
- package/dist/table-e6h8SLVX.mjs +20 -0
- package/dist/transform-BMYh1lsC.mjs +25 -0
- package/dist/transform-job-Cm7z5TfH.mjs +20 -0
- package/dist/{transform-job-Csr86muI.mjs → transform-job-DeTDPMxt.mjs} +1 -1
- package/dist/{tree-DazZT7dR.mjs → tree-Des2ZG9d.mjs} +6 -5
- package/dist/{update-DE6kjV-f.mjs → update-Bx54nWEI.mjs} +17 -15
- package/dist/{update-bW-i6gjZ.mjs → update-CyIZdbIQ.mjs} +11 -10
- package/dist/{update-djgvzO3K.mjs → update-DBi5U8zb.mjs} +16 -14
- package/dist/{update-CJSDB6S8.mjs → update-DHZubok3.mjs} +18 -14
- package/dist/{update-BBfvArCx.mjs → update-DSgceARZ.mjs} +11 -10
- package/dist/{update-DSWZSfpw.mjs → update-DzAN4SPj.mjs} +15 -13
- package/dist/{update-WyRKlQPh.mjs → update-F6DmZncY.mjs} +11 -10
- package/dist/{update-DTIWJxob.mjs → update-_QfgNa53.mjs} +12 -11
- package/dist/{update-dashcard-BhD5x__K.mjs → update-dashcard-wpSjv4M7.mjs} +11 -10
- package/dist/{update-9kVyE3BJ.mjs → update-mYVnoYNV.mjs} +15 -13
- package/dist/{update-659eQR1L.mjs → update-njHe3j-s.mjs} +15 -13
- package/dist/{upgrade-D58rvXHM.mjs → upgrade-iAuvhX-W.mjs} +9 -8
- package/dist/{url-DKkSu2D8.mjs → url-DWaT6WIZ.mjs} +11 -10
- package/dist/{uuid-BF20B59s.mjs → uuid-CMKnS8-z.mjs} +8 -6
- package/dist/{validate-CB0bu50i.mjs → validate-dPEOnOf8.mjs} +2 -1
- package/dist/{validate-query-CavIA0Q2.mjs → validate-query-Cw6WE5Y8.mjs} +3 -3
- package/dist/{values-DyjmpcbT.mjs → values-BfSTAbzc.mjs} +8 -7
- package/dist/verify-D5YtTqqp.mjs +79 -0
- package/dist/{wait-CeUPCgdc.mjs → wait-8yV9_WIo.mjs} +2 -2
- package/dist/{wait-DhkTaV6E.mjs → wait-Bv3Tsnv4.mjs} +12 -8
- package/dist/{wait-flags-BR-yqe7y.mjs → wait-flags-Dzq9BGQY.mjs} +20 -9
- package/dist/workspace-CKLZrR7l.mjs +26 -0
- package/dist/{workspace-credentials-Cctumbru.mjs → workspace-credentials-BXpABsNZ.mjs} +2 -41
- package/dist/yaml-YTQiYJ9s.mjs +43 -0
- package/package.json +6 -2
- package/skill-data/core/SKILL.md +177 -0
- package/skill-data/git-sync/SKILL.md +196 -0
- package/skill-data/mbql/SKILL.md +156 -0
- package/skill-data/mbql/references/operators.md +253 -0
- package/skill-data/transform/SKILL.md +197 -0
- package/skill-data/viz/SKILL.md +137 -0
- package/skill-data/viz/references/settings.md +312 -0
- package/skill-data/workspace/SKILL.md +390 -0
- package/skills/metabase-cli/SKILL.md +21 -0
- package/dist/add-collection-CPL1njYZ.mjs +0 -11
- package/dist/api-key-9p1UPnXn.mjs +0 -13
- package/dist/auth-N4w5xtwW.mjs +0 -19
- package/dist/card-4rZRb5bc.mjs +0 -20
- package/dist/collection-Cp_B02I4.mjs +0 -19
- package/dist/command-augment-D9pI9Vbh.mjs +0 -11
- package/dist/create-doyv3SxU.mjs +0 -50
- package/dist/create-ov-De5dO.mjs +0 -125
- package/dist/dashboard-BYBiA-IG.mjs +0 -20
- package/dist/db-CObVU22j.mjs +0 -22
- package/dist/eid-Cr5r-t9B.mjs +0 -13
- package/dist/field-CbljasCH.mjs +0 -18
- package/dist/flag-pair-Fmcdkrfx.mjs +0 -17
- package/dist/get-run-CSrXHDGS.mjs +0 -36
- package/dist/git-sync-BGkS8o5b.mjs +0 -28
- package/dist/is-dirty-BOZ4xz92.mjs +0 -10
- package/dist/key-CCJdVWKc.mjs +0 -12
- package/dist/license-DLLTpFvP.mjs +0 -17
- package/dist/list-BNzdnE1c.mjs +0 -55
- package/dist/measure-B54VtKym.mjs +0 -19
- package/dist/package-D-aVYFKM.mjs +0 -80
- package/dist/ps-C5FOLwL2.mjs +0 -11
- package/dist/segment-C2ui5dSd.mjs +0 -19
- package/dist/snippet-BcgVYsoR.mjs +0 -19
- package/dist/status-BEONmJWv.mjs +0 -32
- package/dist/status-BWep0PFe.mjs +0 -56
- package/dist/table-lCNGbvej.mjs +0 -19
- package/dist/transform-BGAm1s4f.mjs +0 -24
- package/dist/transform-job-cNTJ30pm.mjs +0 -19
- package/dist/workspace-DtcBldk0.mjs +0 -24
- /package/dist/{body-flags-BK7J6Daz.mjs → body-flags-D7q87Btw.mjs} +0 -0
- /package/dist/{field-B3gvaqpK.mjs → field-yomXlkvl.mjs} +0 -0
- /package/dist/{paginate-CTSfuYiF.mjs → paginate-Dfm9eO9A.mjs} +0 -0
- /package/dist/{revision-message-flag-oyq2xrDU.mjs → revision-message-flag-WmsIzUOM.mjs} +0 -0
- /package/dist/{segment-BMrUBz94.mjs → segment-Be2v4ilr.mjs} +0 -0
- /package/dist/{setting-CTaAeMci.mjs → setting-oL97SNeO.mjs} +0 -0
- /package/dist/{snippet-Dw0Sjzkr.mjs → snippet-COggaWxx.mjs} +0 -0
- /package/dist/{transform-IEX4Mx3X.mjs → transform-GTW3G-01.mjs} +0 -0
- /package/dist/{workspace-C5q4nbpY.mjs → workspace-BBXJczJK.mjs} +0 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import "./poll-
|
|
9
|
-
import "./process-
|
|
10
|
-
import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { outputFlags } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderItem } from "./render-CfznwleY.mjs";
|
|
6
|
+
import { promptConfirm } from "./prompt-CFKoys7k.mjs";
|
|
7
|
+
import { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
8
|
+
import "./poll-DHKDpCiq.mjs";
|
|
9
|
+
import "./process-C7V8LJ-j.mjs";
|
|
10
|
+
import { checkDockerReady, containerNameFor, removeContainer, removeVolume, volumeNameFor } from "./docker-Oq80q3tu.mjs";
|
|
11
11
|
import { z } from "zod";
|
|
12
12
|
|
|
13
|
-
//#region src/commands/workspace/
|
|
14
|
-
const
|
|
13
|
+
//#region src/commands/workspace/delete.ts
|
|
14
|
+
const DeleteResult = z.object({
|
|
15
15
|
workspace_id: z.number().int().positive(),
|
|
16
16
|
container_name: z.string(),
|
|
17
17
|
volume_name: z.string(),
|
|
18
18
|
removed_container: z.boolean(),
|
|
19
19
|
removed_volume: z.boolean()
|
|
20
20
|
});
|
|
21
|
-
const
|
|
22
|
-
compactPick:
|
|
21
|
+
const deleteResultView = {
|
|
22
|
+
compactPick: DeleteResult.pick({
|
|
23
23
|
workspace_id: true,
|
|
24
24
|
removed_container: true,
|
|
25
25
|
removed_volume: true
|
|
@@ -47,11 +47,12 @@ const removeResultView = {
|
|
|
47
47
|
}
|
|
48
48
|
]
|
|
49
49
|
};
|
|
50
|
-
var
|
|
50
|
+
var delete_default = defineMetabaseCommand({
|
|
51
51
|
meta: {
|
|
52
|
-
name: "
|
|
52
|
+
name: "delete",
|
|
53
53
|
description: "Stop and remove the local container + app-db volume (does not affect remote)"
|
|
54
54
|
},
|
|
55
|
+
capabilities: null,
|
|
55
56
|
args: {
|
|
56
57
|
...outputFlags,
|
|
57
58
|
id: {
|
|
@@ -70,8 +71,8 @@ var remove_default = defineMetabaseCommand({
|
|
|
70
71
|
default: false
|
|
71
72
|
}
|
|
72
73
|
},
|
|
73
|
-
outputSchema:
|
|
74
|
-
examples: ["mb workspace
|
|
74
|
+
outputSchema: DeleteResult,
|
|
75
|
+
examples: ["mb workspace delete 1 --yes", "mb workspace delete 1 --keep-volume --yes"],
|
|
75
76
|
async run({ args, ctx }) {
|
|
76
77
|
const workspaceId = parseId(args.id);
|
|
77
78
|
const containerName = containerNameFor(workspaceId);
|
|
@@ -91,9 +92,9 @@ var remove_default = defineMetabaseCommand({
|
|
|
91
92
|
removed_container: removedContainer,
|
|
92
93
|
removed_volume: removedVolume
|
|
93
94
|
};
|
|
94
|
-
renderItem(result,
|
|
95
|
+
renderItem(result, deleteResultView, ctx);
|
|
95
96
|
}
|
|
96
97
|
});
|
|
97
98
|
|
|
98
99
|
//#endregion
|
|
99
|
-
export {
|
|
100
|
+
export { delete_default as default };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import "./
|
|
8
|
-
import { DeleteResult, confirmAndDelete } from "./delete-runtime-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import "./render-CfznwleY.mjs";
|
|
6
|
+
import "./prompt-CFKoys7k.mjs";
|
|
7
|
+
import { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
8
|
+
import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
|
|
9
9
|
|
|
10
10
|
//#region src/commands/transform-job/delete.ts
|
|
11
11
|
var delete_default = defineMetabaseCommand({
|
|
@@ -13,6 +13,7 @@ var delete_default = defineMetabaseCommand({
|
|
|
13
13
|
name: "delete",
|
|
14
14
|
description: "Delete a transform job by id"
|
|
15
15
|
},
|
|
16
|
+
capabilities: { minVersion: 59 },
|
|
16
17
|
args: {
|
|
17
18
|
...outputFlags,
|
|
18
19
|
...profileFlag,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import "./
|
|
8
|
-
import { DeleteResult, confirmAndDelete } from "./delete-runtime-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import "./render-CfznwleY.mjs";
|
|
6
|
+
import "./prompt-CFKoys7k.mjs";
|
|
7
|
+
import { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
8
|
+
import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
|
|
9
9
|
|
|
10
10
|
//#region src/commands/transform/delete.ts
|
|
11
11
|
var delete_default = defineMetabaseCommand({
|
|
@@ -13,6 +13,7 @@ var delete_default = defineMetabaseCommand({
|
|
|
13
13
|
name: "delete",
|
|
14
14
|
description: "Delete a transform by id"
|
|
15
15
|
},
|
|
16
|
+
capabilities: { minVersion: 59 },
|
|
16
17
|
args: {
|
|
17
18
|
...outputFlags,
|
|
18
19
|
...profileFlag,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { renderItem } from "./render-CfznwleY.mjs";
|
|
3
|
+
import { promptConfirm } from "./prompt-CFKoys7k.mjs";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
|
|
5
6
|
//#region src/commands/delete-runtime.ts
|
|
@@ -26,7 +27,8 @@ const deleteResultView = {
|
|
|
26
27
|
]
|
|
27
28
|
};
|
|
28
29
|
async function confirmAndDelete(args) {
|
|
29
|
-
if (!args.yes
|
|
30
|
+
if (!args.yes) {
|
|
31
|
+
if (process.stdin.isTTY !== true) throw new ConfigError(`refusing to delete ${args.id} without confirmation — pass --yes to proceed non-interactively`);
|
|
30
32
|
const ok = await promptConfirm({
|
|
31
33
|
message: args.promptMessage,
|
|
32
34
|
initialValue: false
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import "./
|
|
8
|
-
import { DeleteResult, confirmAndDelete } from "./delete-runtime-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import "./render-CfznwleY.mjs";
|
|
6
|
+
import "./prompt-CFKoys7k.mjs";
|
|
7
|
+
import { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
8
|
+
import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
|
|
9
9
|
|
|
10
10
|
//#region src/commands/transform/delete-table.ts
|
|
11
11
|
var delete_table_default = defineMetabaseCommand({
|
|
@@ -13,6 +13,7 @@ var delete_table_default = defineMetabaseCommand({
|
|
|
13
13
|
name: "delete-table",
|
|
14
14
|
description: "Drop a transform's materialized output table (keeps the transform definition)"
|
|
15
15
|
},
|
|
16
|
+
capabilities: { minVersion: 59 },
|
|
16
17
|
args: {
|
|
17
18
|
...outputFlags,
|
|
18
19
|
...profileFlag,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import "./
|
|
8
|
-
import "./poll-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import "./workspace-
|
|
12
|
-
import { waitForDatabaseGone } from "./wait-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import "./render-CfznwleY.mjs";
|
|
6
|
+
import "./prompt-CFKoys7k.mjs";
|
|
7
|
+
import { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
8
|
+
import "./poll-DHKDpCiq.mjs";
|
|
9
|
+
import { parseWaitFlags, waitFlags } from "./wait-flags-Dzq9BGQY.mjs";
|
|
10
|
+
import { DeleteResult, confirmAndDelete } from "./delete-runtime-B6RQo_pw.mjs";
|
|
11
|
+
import "./workspace-BBXJczJK.mjs";
|
|
12
|
+
import { waitForDatabaseGone } from "./wait-8yV9_WIo.mjs";
|
|
13
13
|
|
|
14
14
|
//#region src/commands/workspace/database/deprovision.ts
|
|
15
15
|
var deprovision_default = defineMetabaseCommand({
|
|
@@ -17,6 +17,10 @@ var deprovision_default = defineMetabaseCommand({
|
|
|
17
17
|
name: "deprovision",
|
|
18
18
|
description: "Deprovision a database from a workspace"
|
|
19
19
|
},
|
|
20
|
+
capabilities: {
|
|
21
|
+
minVersion: 62,
|
|
22
|
+
tokenFeature: "workspaces"
|
|
23
|
+
},
|
|
20
24
|
args: {
|
|
21
25
|
...outputFlags,
|
|
22
26
|
...profileFlag,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, syncDirtyItemView } from "./poll-task-
|
|
7
|
-
import "./poll-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderList } from "./render-CfznwleY.mjs";
|
|
6
|
+
import { REMOTE_SYNC_PATHS, SyncDirtyItem, SyncDirtyItemCompact, syncDirtyItemView } from "./poll-task-Cooi0lQV.mjs";
|
|
7
|
+
import "./poll-DHKDpCiq.mjs";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
|
|
10
10
|
//#region src/commands/git-sync/dirty.ts
|
|
@@ -15,6 +15,10 @@ var dirty_default = defineMetabaseCommand({
|
|
|
15
15
|
name: "dirty",
|
|
16
16
|
description: "List objects with unsynced local changes"
|
|
17
17
|
},
|
|
18
|
+
capabilities: {
|
|
19
|
+
minVersion: 60,
|
|
20
|
+
tokenFeature: "remote_sync"
|
|
21
|
+
},
|
|
18
22
|
args: {
|
|
19
23
|
...outputFlags,
|
|
20
24
|
...profileFlag,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ConfigError, MetabaseError, errorMessage } from "./
|
|
2
|
-
import { parseJson } from "./runtime-
|
|
3
|
-
import { pollUntil } from "./poll-
|
|
4
|
-
import { ProcessNotFoundError, runProcess, runProcessBinary, streamProcess } from "./process-
|
|
1
|
+
import { ConfigError, MetabaseError, errorMessage } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { parseJson } from "./runtime-Dmv5VtUK.mjs";
|
|
3
|
+
import { pollUntil } from "./poll-DHKDpCiq.mjs";
|
|
4
|
+
import { ProcessNotFoundError, runProcess, runProcessBinary, streamProcess } from "./process-C7V8LJ-j.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
|
|
7
7
|
//#region src/runtime/tar.ts
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
6
|
-
import
|
|
7
|
-
import { readBody } from "./body-
|
|
8
|
-
import { bodyInputFlags } from "./body-flags-
|
|
9
|
-
import { requireBothOrNeither } from "./flag-pair-Fmcdkrfx.mjs";
|
|
1
|
+
import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand, parseCsv } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderItem } from "./render-CfznwleY.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-DjdFxjpg.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
10
9
|
import { z } from "zod";
|
|
11
10
|
|
|
12
11
|
//#region src/domain/eid-translation.ts
|
|
@@ -50,12 +49,27 @@ const eidTranslateView = {
|
|
|
50
49
|
};
|
|
51
50
|
|
|
52
51
|
//#endregion
|
|
53
|
-
//#region src/commands/
|
|
54
|
-
|
|
52
|
+
//#region src/commands/flag-pair.ts
|
|
53
|
+
function requireBothOrNeither(first, second) {
|
|
54
|
+
const firstSet = first.value !== void 0 && first.value !== "";
|
|
55
|
+
const secondSet = second.value !== void 0 && second.value !== "";
|
|
56
|
+
if (!firstSet && !secondSet) return null;
|
|
57
|
+
if (!firstSet) throw new ConfigError(`${first.name} is required when using ${second.name}`);
|
|
58
|
+
if (!secondSet) throw new ConfigError(`${second.name} is required when using ${first.name}`);
|
|
59
|
+
return {
|
|
60
|
+
first: first.value,
|
|
61
|
+
second: second.value
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/commands/eid.ts
|
|
67
|
+
var eid_default = defineMetabaseCommand({
|
|
55
68
|
meta: {
|
|
56
|
-
name: "
|
|
57
|
-
description: "Translate entity ids (EIDs) to numeric ids"
|
|
69
|
+
name: "eid",
|
|
70
|
+
description: "Translate Metabase entity ids (string EIDs) to numeric ids"
|
|
58
71
|
},
|
|
72
|
+
capabilities: { minVersion: 58 },
|
|
59
73
|
args: {
|
|
60
74
|
...outputFlags,
|
|
61
75
|
...profileFlag,
|
|
@@ -63,25 +77,26 @@ var translate_default = defineMetabaseCommand({
|
|
|
63
77
|
...bodyInputFlags,
|
|
64
78
|
model: {
|
|
65
79
|
type: "string",
|
|
66
|
-
description: `Entity model for
|
|
80
|
+
description: `Entity model for the positional EIDs: ${EID_MODELS.join(" | ")}`
|
|
67
81
|
},
|
|
68
82
|
eids: {
|
|
69
|
-
type: "
|
|
70
|
-
|
|
83
|
+
type: "positional",
|
|
84
|
+
required: false,
|
|
85
|
+
description: "Comma-separated EIDs to translate (used with --model)"
|
|
71
86
|
}
|
|
72
87
|
},
|
|
73
88
|
outputSchema: EidTranslateResult,
|
|
74
89
|
examples: [
|
|
75
|
-
"mb eid
|
|
76
|
-
"mb eid
|
|
77
|
-
"mb eid
|
|
90
|
+
"mb eid --model card abc123XYZ,def456ABC",
|
|
91
|
+
"mb eid --file translate.json",
|
|
92
|
+
"mb eid --body '{\"entity_ids\":{\"card\":[\"abc123XYZ\"]}}'"
|
|
78
93
|
],
|
|
79
94
|
async run({ args, ctx, getClient }) {
|
|
80
95
|
const pair = requireBothOrNeither({
|
|
81
96
|
name: "--model",
|
|
82
97
|
value: args.model
|
|
83
98
|
}, {
|
|
84
|
-
name: "
|
|
99
|
+
name: "<eids>",
|
|
85
100
|
value: args.eids
|
|
86
101
|
});
|
|
87
102
|
const body = pair ? EidTranslateInput.parse({ entity_ids: { [parseModel(pair.first)]: parseEids(pair.second) } }) : await readBody({
|
|
@@ -103,9 +118,9 @@ function parseModel(raw) {
|
|
|
103
118
|
}
|
|
104
119
|
function parseEids(raw) {
|
|
105
120
|
const parts = parseCsv(raw);
|
|
106
|
-
if (parts.length === 0) throw new ConfigError("
|
|
121
|
+
if (parts.length === 0) throw new ConfigError("provide at least one EID");
|
|
107
122
|
return parts;
|
|
108
123
|
}
|
|
109
124
|
|
|
110
125
|
//#endregion
|
|
111
|
-
export {
|
|
126
|
+
export { eid_default as default };
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { VERBOSE_ENV, toMetabaseError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/output/types.ts
|
|
5
|
+
const DEFAULT_MAX_BYTES = 65536;
|
|
6
|
+
function listEnvelopeSchema(item) {
|
|
7
|
+
return z.object({
|
|
8
|
+
data: z.array(item),
|
|
9
|
+
returned: z.number().int().nonnegative(),
|
|
10
|
+
total: z.number().int().nonnegative().nullable().optional(),
|
|
11
|
+
limit: z.number().int().nonnegative().optional(),
|
|
12
|
+
truncated: z.object({
|
|
13
|
+
reason: z.literal("max_bytes"),
|
|
14
|
+
bytes: z.number().int().nonnegative()
|
|
15
|
+
}).optional()
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function wrapList(items) {
|
|
19
|
+
return {
|
|
20
|
+
data: items,
|
|
21
|
+
returned: items.length,
|
|
22
|
+
total: items.length
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/commands/flags.ts
|
|
28
|
+
const outputFlags = {
|
|
29
|
+
format: {
|
|
30
|
+
type: "string",
|
|
31
|
+
description: "auto | json | text",
|
|
32
|
+
default: "auto"
|
|
33
|
+
},
|
|
34
|
+
json: {
|
|
35
|
+
type: "boolean",
|
|
36
|
+
description: "Shorthand for --format json"
|
|
37
|
+
},
|
|
38
|
+
full: {
|
|
39
|
+
type: "boolean",
|
|
40
|
+
description: "Return the full object (default: compact)"
|
|
41
|
+
},
|
|
42
|
+
fields: {
|
|
43
|
+
type: "string",
|
|
44
|
+
description: "Dot-paths, comma separated (mutually exclusive with --full)"
|
|
45
|
+
},
|
|
46
|
+
maxBytes: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "Output size cap; 0 disables",
|
|
49
|
+
default: String(DEFAULT_MAX_BYTES),
|
|
50
|
+
alias: "max-bytes"
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const profileFlag = { profile: {
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "Named profile (default: 'default')"
|
|
56
|
+
} };
|
|
57
|
+
const connectionFlags = {
|
|
58
|
+
url: {
|
|
59
|
+
type: "string",
|
|
60
|
+
description: "Metabase URL"
|
|
61
|
+
},
|
|
62
|
+
apiKey: {
|
|
63
|
+
type: "string",
|
|
64
|
+
description: "API key",
|
|
65
|
+
alias: "api-key"
|
|
66
|
+
},
|
|
67
|
+
skipPreflight: {
|
|
68
|
+
type: "boolean",
|
|
69
|
+
description: "Skip the server version capability check for this command",
|
|
70
|
+
alias: "skip-preflight"
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region package.json
|
|
76
|
+
var name = "@metabase/cli";
|
|
77
|
+
var version = "0.1.6";
|
|
78
|
+
var description = "Metabase CLI";
|
|
79
|
+
var license = "AGPL-3.0";
|
|
80
|
+
var repository = {
|
|
81
|
+
"type": "git",
|
|
82
|
+
"url": "git+https://github.com/metabase/mb-cli.git"
|
|
83
|
+
};
|
|
84
|
+
var bin = { "mb": "./dist/cli.mjs" };
|
|
85
|
+
var files = [
|
|
86
|
+
"dist",
|
|
87
|
+
"skills",
|
|
88
|
+
"skill-data",
|
|
89
|
+
".claude-plugin"
|
|
90
|
+
];
|
|
91
|
+
var type = "module";
|
|
92
|
+
var publishConfig = {
|
|
93
|
+
"access": "public",
|
|
94
|
+
"registry": "https://registry.npmjs.org/"
|
|
95
|
+
};
|
|
96
|
+
var scripts = {
|
|
97
|
+
"build": "tsdown",
|
|
98
|
+
"dev": "tsdown --watch",
|
|
99
|
+
"start": "node dist/cli.mjs",
|
|
100
|
+
"test": "vitest run --project unit",
|
|
101
|
+
"test:watch": "vitest --project unit",
|
|
102
|
+
"test:e2e": "vitest run --project e2e",
|
|
103
|
+
"test:e2e:watch": "vitest --project e2e",
|
|
104
|
+
"e2e:up": "docker compose -f tests/e2e/docker-compose.yml up -d --wait",
|
|
105
|
+
"e2e:down": "docker compose -f tests/e2e/docker-compose.yml down -v",
|
|
106
|
+
"e2e:bootstrap": "bun tests/e2e/setup/bootstrap.ts",
|
|
107
|
+
"e2e:matrix": "bun scripts/e2e-matrix.ts",
|
|
108
|
+
"e2e:logs": "docker compose -f tests/e2e/docker-compose.yml logs -f metabase",
|
|
109
|
+
"typecheck": "tsc --noEmit",
|
|
110
|
+
"lint": "oxlint",
|
|
111
|
+
"lint:fix": "oxlint --fix",
|
|
112
|
+
"format": "oxfmt",
|
|
113
|
+
"format:check": "oxfmt --check",
|
|
114
|
+
"sync:representations": "bun run scripts/sync-representations.ts",
|
|
115
|
+
"prepublishOnly": "tsdown && publint"
|
|
116
|
+
};
|
|
117
|
+
var dependencies = {
|
|
118
|
+
"@clack/prompts": "^0.8.2",
|
|
119
|
+
"@napi-rs/keyring": "^1.3.0",
|
|
120
|
+
"ajv": "^8.17.1",
|
|
121
|
+
"ajv-formats": "^3.0.1",
|
|
122
|
+
"citty": "^0.2.2",
|
|
123
|
+
"cli-table3": "^0.6.5",
|
|
124
|
+
"semver": "^7.8.0",
|
|
125
|
+
"yaml": "^2.8.4",
|
|
126
|
+
"zod": "^4.0.0"
|
|
127
|
+
};
|
|
128
|
+
var devDependencies = {
|
|
129
|
+
"@types/js-yaml": "^4.0.9",
|
|
130
|
+
"@types/node": "^22.10.0",
|
|
131
|
+
"@types/semver": "^7.7.1",
|
|
132
|
+
"execa": "^9.5.2",
|
|
133
|
+
"fast-check": "^4.7.0",
|
|
134
|
+
"js-yaml": "^4.1.0",
|
|
135
|
+
"oxfmt": "^0.47.0",
|
|
136
|
+
"oxlint": "^1.62.0",
|
|
137
|
+
"publint": "^0.3.0",
|
|
138
|
+
"tsdown": "^0.9.0",
|
|
139
|
+
"typescript": "^5.7.2",
|
|
140
|
+
"vitest": "^2.1.8"
|
|
141
|
+
};
|
|
142
|
+
var engines = { "node": ">=20.6" };
|
|
143
|
+
var package_default = {
|
|
144
|
+
name,
|
|
145
|
+
version,
|
|
146
|
+
description,
|
|
147
|
+
license,
|
|
148
|
+
repository,
|
|
149
|
+
bin,
|
|
150
|
+
files,
|
|
151
|
+
type,
|
|
152
|
+
publishConfig,
|
|
153
|
+
scripts,
|
|
154
|
+
dependencies,
|
|
155
|
+
devDependencies,
|
|
156
|
+
engines
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region src/output/error.ts
|
|
161
|
+
const VERBOSE_BREADCRUMB = "(rerun with METABASE_VERBOSE=1 for details)";
|
|
162
|
+
function reportError(error, format) {
|
|
163
|
+
const handled = toMetabaseError(error);
|
|
164
|
+
const verbose = process.env[VERBOSE_ENV] === "1";
|
|
165
|
+
if (format === "json") writeJsonError(handled, verbose);
|
|
166
|
+
else writeTextError(handled, verbose);
|
|
167
|
+
process.exitCode = handled.exitCode;
|
|
168
|
+
}
|
|
169
|
+
function writeTextError(handled, verbose) {
|
|
170
|
+
process.stderr.write(handled.userMessage + "\n");
|
|
171
|
+
if (handled.developerDetail === null) return;
|
|
172
|
+
if (verbose) process.stderr.write(JSON.stringify(handled.developerDetail, null, 2) + "\n");
|
|
173
|
+
else process.stderr.write(VERBOSE_BREADCRUMB + "\n");
|
|
174
|
+
}
|
|
175
|
+
function writeJsonError(handled, verbose) {
|
|
176
|
+
const payload = {
|
|
177
|
+
category: handled.category,
|
|
178
|
+
message: handled.userMessage,
|
|
179
|
+
exitCode: handled.exitCode
|
|
180
|
+
};
|
|
181
|
+
if (verbose && handled.developerDetail !== null) payload.detail = handled.developerDetail;
|
|
182
|
+
const envelope = {
|
|
183
|
+
ok: false,
|
|
184
|
+
error: payload
|
|
185
|
+
};
|
|
186
|
+
process.stderr.write(JSON.stringify(envelope, null, 2) + "\n");
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
//#endregion
|
|
190
|
+
export { DEFAULT_MAX_BYTES, connectionFlags, listEnvelopeSchema, outputFlags, package_default, profileFlag, reportError, wrapList };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import { REMOTE_SYNC_PATHS, SyncTask,
|
|
8
|
-
import "./poll-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-C9S6PN3-.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
+
import { warn } from "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderItem } from "./render-CfznwleY.mjs";
|
|
6
|
+
import "./parse-id-lk_K-CEF.mjs";
|
|
7
|
+
import { REMOTE_SYNC_PATHS, SyncTask, pollSyncTask, throwIfFailedTask } from "./poll-task-Cooi0lQV.mjs";
|
|
8
|
+
import "./poll-DHKDpCiq.mjs";
|
|
9
|
+
import { gitSyncWaitFlags, parseWaitFlags } from "./wait-flags-Dzq9BGQY.mjs";
|
|
9
10
|
import { z } from "zod";
|
|
10
11
|
|
|
11
12
|
//#region src/commands/git-sync/export.ts
|
|
@@ -33,6 +34,10 @@ var export_default = defineMetabaseCommand({
|
|
|
33
34
|
name: "export",
|
|
34
35
|
description: "Export Metabase changes back to the configured git remote"
|
|
35
36
|
},
|
|
37
|
+
capabilities: {
|
|
38
|
+
minVersion: 60,
|
|
39
|
+
tokenFeature: "remote_sync"
|
|
40
|
+
},
|
|
36
41
|
args: {
|
|
37
42
|
...outputFlags,
|
|
38
43
|
...profileFlag,
|
|
@@ -52,7 +57,7 @@ var export_default = defineMetabaseCommand({
|
|
|
52
57
|
description: "Force-push / overwrite remote",
|
|
53
58
|
default: false
|
|
54
59
|
},
|
|
55
|
-
...
|
|
60
|
+
...gitSyncWaitFlags
|
|
56
61
|
},
|
|
57
62
|
outputSchema: SyncExportResult,
|
|
58
63
|
examples: [
|
|
@@ -61,8 +66,7 @@ var export_default = defineMetabaseCommand({
|
|
|
61
66
|
"mb git-sync export --no-wait"
|
|
62
67
|
],
|
|
63
68
|
async run({ args, ctx, getClient }) {
|
|
64
|
-
const
|
|
65
|
-
const intervalMs = parseId(args.interval, "interval");
|
|
69
|
+
const wait = parseWaitFlags(args);
|
|
66
70
|
const body = {};
|
|
67
71
|
if (args.branch !== void 0 && args.branch !== "") body.branch = args.branch;
|
|
68
72
|
if (args.message !== void 0 && args.message !== "") body.message = args.message;
|
|
@@ -72,17 +76,14 @@ var export_default = defineMetabaseCommand({
|
|
|
72
76
|
method: "POST",
|
|
73
77
|
body
|
|
74
78
|
});
|
|
75
|
-
if (!
|
|
79
|
+
if (!wait.enabled) {
|
|
76
80
|
const result = {
|
|
77
81
|
message: kickoff.message,
|
|
78
82
|
task_id: kickoff.task_id
|
|
79
83
|
};
|
|
80
84
|
renderItem(result, syncExportView, ctx);
|
|
81
85
|
} else {
|
|
82
|
-
const final = await pollSyncTask(client,
|
|
83
|
-
timeoutMs,
|
|
84
|
-
intervalMs
|
|
85
|
-
});
|
|
86
|
+
const final = await pollSyncTask(client, wait.schedule);
|
|
86
87
|
const result = {
|
|
87
88
|
message: kickoff.message,
|
|
88
89
|
task_id: kickoff.task_id,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineCommand } from "citty";
|
|
2
|
+
|
|
3
|
+
//#region src/commands/field/index.ts
|
|
4
|
+
var field_default = defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "field",
|
|
7
|
+
alias: "fields",
|
|
8
|
+
description: "Manage Metabase fields"
|
|
9
|
+
},
|
|
10
|
+
subCommands: {
|
|
11
|
+
get: () => import("./get-C3HdQ91a.mjs").then((m) => m.default),
|
|
12
|
+
values: () => import("./values-BfSTAbzc.mjs").then((m) => m.default),
|
|
13
|
+
summary: () => import("./summary-C12LiEuJ.mjs").then((m) => m.default),
|
|
14
|
+
update: () => import("./update-CyIZdbIQ.mjs").then((m) => m.default)
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { field_default as default };
|