@metabase/cli 0.1.6 → 0.1.8-alpha.cleanup-workspaces.75fe1d5
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 +1 -1
- package/README.md +16 -238
- package/dist/add-collection-BGifL-7Y.mjs +10 -0
- package/dist/{add-collection-BU8r3r2M.mjs → add-collection-C5ijC4e-.mjs} +8 -6
- package/dist/{archive-BNinrUak.mjs → archive-2GZVq0n2.mjs} +7 -8
- package/dist/{archive-lWgqiFAt.mjs → archive-C5pXDf6a.mjs} +5 -6
- package/dist/{archive-C1enZgKV.mjs → archive-CTEybKPq.mjs} +6 -7
- package/dist/{archive-DMPS8Kih.mjs → archive-DEtOH_jf.mjs} +5 -6
- package/dist/{archive-CDA0KxL8.mjs → archive-DTrn90If.mjs} +5 -6
- package/dist/{archive-CRhiBpPJ.mjs → archive-nqKJOyOt.mjs} +5 -6
- package/dist/auth-Divr9vkY.mjs +19 -0
- package/dist/{body-DjdFxjpg.mjs → body-BMyDvOjf.mjs} +2 -2
- package/dist/{branches-B1WRfG7-.mjs → branches-B7Zf-nxr.mjs} +5 -6
- package/dist/{cancel-Dl_Ho056.mjs → cancel-WwjcCE2R.mjs} +6 -7
- package/dist/{cancel-task-CdigdCaO.mjs → cancel-task-E4cCeJTc.mjs} +6 -7
- package/dist/{render-CfznwleY.mjs → capabilities-Dj3NgPHg.mjs} +66 -10
- package/dist/card-BHAcovSB.mjs +20 -0
- package/dist/{card-DlCAaAPq.mjs → card-BtPiKjbB.mjs} +1 -1
- package/dist/{cards-BGiJS675.mjs → cards-BW0Spirk.mjs} +4 -5
- package/dist/cli.mjs +23 -24
- package/dist/collection-DZx-vWb2.mjs +20 -0
- package/dist/{create-BNiva__H.mjs → create-BV_VpyyI.mjs} +11 -12
- package/dist/{create-BTcpaop_.mjs → create-B_Ysb6Ex.mjs} +7 -8
- package/dist/{create-BYlIju0b.mjs → create-BgeD2GMZ.mjs} +10 -11
- package/dist/{create-DGth_uOp.mjs → create-Bxkik5Fs.mjs} +9 -10
- package/dist/{create-CzzrbL0u.mjs → create-CZfHpi_I.mjs} +8 -9
- package/dist/{create-Be_0Vier.mjs → create-CbwFOL9h.mjs} +8 -9
- package/dist/{create-dhxPxfF3.mjs → create-CbyY4xTG.mjs} +12 -13
- package/dist/{create-CwGtmwqm.mjs → create-HCCdsuZR.mjs} +9 -10
- package/dist/{create-branch-DKZkoQ64.mjs → create-branch-BNRq3tO2.mjs} +6 -7
- package/dist/{current-task-CCRzm0_7.mjs → current-task-ZvTjL4hP.mjs} +7 -8
- package/dist/dashboard-DCWGcx3e.mjs +21 -0
- package/dist/{database-lH-B3G1I.mjs → database-_Td7rG4o.mjs} +1 -1
- package/dist/db-bD6fwLwc.mjs +22 -0
- package/dist/{delete-ZjnV35OJ.mjs → delete-D5-ITH10.mjs} +8 -7
- package/dist/{delete-Dimc-2y8.mjs → delete-DvmHTMwf.mjs} +8 -7
- package/dist/{delete-runtime-B6RQo_pw.mjs → delete-runtime-Bo7v-0au.mjs} +6 -6
- package/dist/{delete-table-agZJpivt.mjs → delete-table-DjmO5Qe4.mjs} +8 -7
- package/dist/{dirty-D4d0yHqj.mjs → dirty-BJgU1SGQ.mjs} +5 -6
- package/dist/{eid-BXzaQh0o.mjs → eid-pqSVgO2g.mjs} +12 -8
- package/dist/{error-C9S6PN3-.mjs → error-Br6irjpM.mjs} +3 -2
- package/dist/{export-DTygoXBP.mjs → export-gVXTOxC2.mjs} +10 -10
- package/dist/field-BFWc8q2W.mjs +18 -0
- package/dist/{field-yomXlkvl.mjs → field-MGxpNQUH.mjs} +12 -3
- package/dist/{fields-CoQi99gv.mjs → fields-DK2TYRK2.mjs} +6 -7
- package/dist/{get-DQTZG_NP.mjs → get-BjArD6Er.mjs} +4 -5
- package/dist/{get-C3HdQ91a.mjs → get-C1RSXOhf.mjs} +5 -6
- package/dist/{get-DSWFjy7O.mjs → get-C3RI_hKG.mjs} +4 -5
- package/dist/{get-C_w1kvN3.mjs → get-C7UEEICF.mjs} +6 -7
- package/dist/{get-Bzys7vgp.mjs → get-D-3tOuWQ.mjs} +4 -5
- package/dist/{get-Hc93A0Yz.mjs → get-DDF7_apz.mjs} +5 -6
- package/dist/{get-D3SbEQSE.mjs → get-DYgLtHb8.mjs} +4 -5
- package/dist/{get-CP3Z3NiH.mjs → get-DnK3WGDH.mjs} +6 -7
- package/dist/{get-C2p383Qc.mjs → get-DnyZMx-0.mjs} +5 -6
- package/dist/{get-DFxZXaKz.mjs → get-DtG5ytvs.mjs} +5 -7
- package/dist/{get-CzuzeKSe.mjs → get-Dy4NedW5.mjs} +7 -8
- package/dist/{get-Ddr0XLh7.mjs → get-_JI4GiPa.mjs} +5 -6
- package/dist/{get-run-B7sKdaDU.mjs → get-run-CZwIo5QR.mjs} +5 -6
- package/dist/{get-lb7q3JYs.mjs → get-xo5_PD1n.mjs} +3 -4
- package/dist/git-sync-Ch00miSa.mjs +28 -0
- package/dist/{has-remote-changes-BY10-nnE.mjs → has-remote-changes-tuuoPdHV.mjs} +7 -7
- package/dist/{import-CiMz4Wz-.mjs → import-BOzyRPTk.mjs} +11 -10
- package/dist/{is-dirty-BZOaryxT.mjs → is-dirty-BXN1F9yR.mjs} +5 -5
- package/dist/is-dirty-Bc1UHnBU.mjs +9 -0
- package/dist/{items-BWfvkY-J.mjs → items-CC4sSWv7.mjs} +4 -5
- package/dist/{list-SOG0whQ-.mjs → list-BUpOvQsd.mjs} +3 -4
- package/dist/{list-Clz5igWg.mjs → list-BlMpI88r.mjs} +4 -6
- package/dist/{list-2j7GsXsl.mjs → list-BqTdYtOW.mjs} +3 -4
- package/dist/{list-C3hfovHv.mjs → list-BvTuDJZp.mjs} +4 -5
- package/dist/{list-DZ8fNUoQ.mjs → list-C48ZZLM5.mjs} +6 -7
- package/dist/{list-BI4zr8LW.mjs → list-CJe45jFT.mjs} +6 -7
- package/dist/{list-D4sFiqX8.mjs → list-CMoG5_mh.mjs} +5 -6
- package/dist/{list-d58BprgJ.mjs → list-CkI3hESA.mjs} +4 -5
- package/dist/{list-sD5N3fGk.mjs → list-CybLzPZw.mjs} +6 -7
- package/dist/{list-CL7eCOQE.mjs → list-DLhU81LP.mjs} +3 -4
- package/dist/{list-Brgh-Z2v.mjs → list-Ddyb5T-7.mjs} +4 -5
- package/dist/{list-DXH7TlkU.mjs → list-tveV3LKh.mjs} +4 -5
- package/dist/{list--OYdUTtu.mjs → list-u7cmunGG.mjs} +4 -5
- package/dist/{login-Bm2AnCez.mjs → login-Bfsf6jLq.mjs} +17 -14
- package/dist/{logout-BlyRJODO.mjs → logout-BCsE_1Yg.mjs} +9 -9
- package/dist/{manifest-BBR46KFM.mjs → manifest-B_OfG-Ss.mjs} +1 -2
- package/dist/measure-D_eiCKq9.mjs +19 -0
- package/dist/{metadata-B8ZSF9LA.mjs → metadata-Cbqx1-yW.mjs} +7 -8
- package/dist/{metadata-DqiI2q9q.mjs → metadata-CzbGy4b-.mjs} +6 -7
- package/dist/{parse-id-lk_K-CEF.mjs → parse-id-DBwNYb4Y.mjs} +1 -1
- package/dist/{path-AEtZ3mBq.mjs → path-DJ-DfUGC.mjs} +4 -6
- package/dist/{poll-DHKDpCiq.mjs → poll-DWkVceIk.mjs} +1 -1
- package/dist/{poll-task-Cooi0lQV.mjs → poll-task-DOvUDrgL.mjs} +19 -3
- package/dist/{preflight-aXV5LyDs.mjs → preflight-D-l6sLCX.mjs} +3 -3
- package/dist/{query-AaKzYnTY.mjs → query--05TZxmk.mjs} +9 -8
- package/dist/{query-BlsVNZpD.mjs → query-BbbDpt3u.mjs} +12 -12
- package/dist/query-result-PoQE05Pe.mjs +19 -0
- package/dist/{remove-collection-CoCmrrQs.mjs → remove-collection-Dco3yXa-.mjs} +10 -9
- package/dist/{render-OQn3iRsI.mjs → render-BQHJhSP1.mjs} +1 -1
- package/dist/{rescan-values-C0FDsjT7.mjs → rescan-values-B1vE6I62.mjs} +9 -10
- package/dist/{run-B4Wn43zm.mjs → run-CWb_yZbK.mjs} +14 -14
- package/dist/{runs-Bbaszr18.mjs → runs-BLwEO5sW.mjs} +5 -6
- package/dist/{runtime-Dmv5VtUK.mjs → runtime-DKLBPRhd.mjs} +16 -87
- package/dist/{schema-tables-CaWinbuK.mjs → schema-tables-D1qE25GS.mjs} +6 -7
- package/dist/{schemas-DUgGpAyB.mjs → schemas-CFuYnQDg.mjs} +4 -5
- package/dist/{search-BLrBXLUk.mjs → search-CF4A051Z.mjs} +4 -5
- package/dist/segment-BP_vDpYM.mjs +19 -0
- package/dist/{set-DfGsta5O.mjs → set-BJ8Rs-vI.mjs} +7 -7
- package/dist/setting-EYI0HqTq.mjs +17 -0
- package/dist/{setup-C9ikBRw_.mjs → setup-DI6EGOdH.mjs} +7 -8
- package/dist/{skills-CiN1OQ8W.mjs → skills-BDPVoBWU.mjs} +33 -2
- package/dist/{skills-CUHIcQS6.mjs → skills-CRECMGAo.mjs} +3 -3
- package/dist/snippet-BwK58D1F.mjs +19 -0
- package/dist/{stash-EIDcSvpF.mjs → stash-BpPS0uG8.mjs} +11 -10
- package/dist/{status-95ElRAu9.mjs → status-BqFA7Tqr.mjs} +10 -8
- package/dist/{status-B0_MiZEf.mjs → status-CU5LYX0i.mjs} +4 -5
- package/dist/{summary-C12LiEuJ.mjs → summary-CraRyIM_.mjs} +5 -6
- package/dist/{sync-schema-Ba8M3DiX.mjs → sync-schema-DkfwPESH.mjs} +9 -10
- package/dist/table-CJMN6ql8.mjs +19 -0
- package/dist/{table-C7a5V6Zn.mjs → table-CkWja2UH.mjs} +1 -1
- package/dist/transform-BqV5ssDN.mjs +24 -0
- package/dist/transform-job-DvdOLV9b.mjs +19 -0
- package/dist/{tree-Des2ZG9d.mjs → tree-Bd1i-Y4U.mjs} +3 -4
- package/dist/{update-DzAN4SPj.mjs → update-BLZHmA0X.mjs} +10 -11
- package/dist/{update-CyIZdbIQ.mjs → update-BncGqeWt.mjs} +9 -10
- package/dist/{update-DSgceARZ.mjs → update-C4f-8fsU.mjs} +9 -10
- package/dist/{update-njHe3j-s.mjs → update-CgpgyDjd.mjs} +10 -11
- package/dist/{update-DBi5U8zb.mjs → update-CsYa--Eb.mjs} +12 -13
- package/dist/{update-mYVnoYNV.mjs → update-DA9aPhRr.mjs} +11 -12
- package/dist/{update-_QfgNa53.mjs → update-DtO-1_tj.mjs} +10 -11
- package/dist/{update-Bx54nWEI.mjs → update-IPsv9Pj0.mjs} +12 -13
- package/dist/{update-F6DmZncY.mjs → update-OZoOTnlY.mjs} +9 -10
- package/dist/{update-dashcard-wpSjv4M7.mjs → update-dashcard-D0VAwfNO.mjs} +8 -9
- package/dist/{upgrade-iAuvhX-W.mjs → upgrade-Bb_q7hJ7.mjs} +41 -28
- package/dist/{uuid-CMKnS8-z.mjs → uuid-DTdRruiz.mjs} +3 -4
- package/dist/{validate-dPEOnOf8.mjs → validate-CqVB_3_p.mjs} +1 -1
- package/dist/{validate-query-Cw6WE5Y8.mjs → validate-query-BUTNK00f.mjs} +2 -2
- package/dist/values-Bpt6obVW.mjs +44 -0
- package/dist/{verify-D5YtTqqp.mjs → verify-COt2q73-.mjs} +1 -1
- package/dist/{wait-Bv3Tsnv4.mjs → wait-DoKPlspq.mjs} +8 -9
- package/dist/{wait-flags-Dzq9BGQY.mjs → wait-flags-D1jNm0JK.mjs} +2 -2
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +15 -28
- package/skill-data/git-sync/SKILL.md +8 -63
- package/skill-data/mbql/SKILL.md +2 -0
- package/skill-data/transform/SKILL.md +16 -6
- package/skill-data/visualization/SKILL.md +158 -0
- package/skill-data/visualization/references/settings.md +414 -0
- package/skills/metabase-cli/SKILL.md +1 -1
- package/dist/add-collection-C0w6ACQF.mjs +0 -11
- package/dist/auth-CzXb_zB2.mjs +0 -19
- package/dist/capabilities-7e9MgquN.mjs +0 -29
- package/dist/card-DP4rfoOi.mjs +0 -21
- package/dist/collection-tY18ezvn.mjs +0 -21
- package/dist/create-CHF313Qg.mjs +0 -52
- package/dist/credentials-dzeq7ckm.mjs +0 -88
- package/dist/dashboard-ChM_Tu0l.mjs +0 -22
- package/dist/database-CIXwHKjK.mjs +0 -17
- package/dist/db-DrQn_i3W.mjs +0 -22
- package/dist/delete-CM3jnAeQ.mjs +0 -100
- package/dist/deprovision-CwxcIT3k.mjs +0 -65
- package/dist/docker-Oq80q3tu.mjs +0 -515
- package/dist/field-Z6Pcxf4n.mjs +0 -19
- package/dist/git-sync-CiGAad76.mjs +0 -28
- package/dist/is-dirty-Ume4oV0j.mjs +0 -10
- package/dist/license-Dxarh-gG.mjs +0 -17
- package/dist/list-zSO0DMw-.mjs +0 -36
- package/dist/logs-CywPikkL.mjs +0 -60
- package/dist/measure-C44EK_xt.mjs +0 -20
- package/dist/parse-schemas-BqUdWUwq.mjs +0 -12
- package/dist/process-C7V8LJ-j.mjs +0 -105
- package/dist/provision-UWcNDoDe.mjs +0 -82
- package/dist/ps-CJU0EbrC.mjs +0 -80
- package/dist/ps-DEroLgbI.mjs +0 -11
- package/dist/remove-BFWun0e8.mjs +0 -63
- package/dist/segment-B3Uwwcsm.mjs +0 -20
- package/dist/set-B8cUbRLD.mjs +0 -68
- package/dist/setting-D2p2MA7f.mjs +0 -18
- package/dist/snippet-B7D0uWlz.mjs +0 -20
- package/dist/start-3PX3ahjT.mjs +0 -413
- package/dist/status-CEplmC44.mjs +0 -34
- package/dist/stop-CQ0XGrN8.mjs +0 -83
- package/dist/table-e6h8SLVX.mjs +0 -20
- package/dist/transform-BMYh1lsC.mjs +0 -25
- package/dist/transform-job-Cm7z5TfH.mjs +0 -20
- package/dist/update-DHZubok3.mjs +0 -77
- package/dist/url-DWaT6WIZ.mjs +0 -56
- package/dist/values-BfSTAbzc.mjs +0 -37
- package/dist/wait-8yV9_WIo.mjs +0 -19
- package/dist/workspace-BBXJczJK.mjs +0 -72
- package/dist/workspace-CKLZrR7l.mjs +0 -26
- package/dist/workspace-credentials-BXpABsNZ.mjs +0 -100
- package/dist/yaml-YTQiYJ9s.mjs +0 -43
- package/skill-data/viz/SKILL.md +0 -137
- package/skill-data/viz/references/settings.md +0 -312
- package/skill-data/workspace/SKILL.md +0 -390
- /package/dist/{body-flags-D7q87Btw.mjs → body-flags-D78h_-Ua.mjs} +0 -0
- /package/dist/{input-cMSEqISy.mjs → input-xewHccej.mjs} +0 -0
- /package/dist/{parse-enum-CrEWOhuY.mjs → parse-enum-Dr7ACrTR.mjs} +0 -0
- /package/dist/{prompt-CFKoys7k.mjs → prompt-u4WhE4T5.mjs} +0 -0
- /package/dist/{snippet-COggaWxx.mjs → snippet-xh42tYly.mjs} +0 -0
- /package/dist/{transform-GTW3G-01.mjs → transform-DyJb0bV0.mjs} +0 -0
- /package/dist/{transform-job-DeTDPMxt.mjs → transform-job-DpDGoqQt.mjs} +0 -0
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/predicates.ts
|
|
4
|
-
function isPlainObject(value) {
|
|
5
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/output/notice.ts
|
|
10
|
-
function warn(message) {
|
|
11
|
-
process.stderr.write(message + "\n");
|
|
12
|
-
}
|
|
13
|
-
function listTruncationNotice(bytes) {
|
|
14
|
-
return `… cut at ${bytes} bytes; rerun with --max-bytes 0`;
|
|
15
|
-
}
|
|
16
|
-
function itemOversizeMessage(bytes, maxBytes) {
|
|
17
|
-
return `output is ${bytes} bytes, over the ${maxBytes}-byte --max-bytes cap; narrow with --fields, or pass --max-bytes 0 to disable`;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region src/runtime/capabilities.ts
|
|
22
|
-
const Capabilities = z.object({
|
|
23
|
-
minVersion: z.number(),
|
|
24
|
-
tokenFeature: z.string().optional()
|
|
25
|
-
});
|
|
26
|
-
const BASELINE_CAPABILITIES = Object.freeze({ minVersion: 58 });
|
|
27
|
-
|
|
28
|
-
//#endregion
|
|
29
|
-
export { BASELINE_CAPABILITIES, Capabilities, isPlainObject, itemOversizeMessage, listTruncationNotice, warn };
|
package/dist/card-DP4rfoOi.mjs
DELETED
|
@@ -1,21 +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
|
-
alias: "cards",
|
|
8
|
-
description: "Manage Metabase cards (questions, models, metrics)"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-BI4zr8LW.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-CP3Z3NiH.mjs").then((mod) => mod.default),
|
|
13
|
-
query: () => import("./query-AaKzYnTY.mjs").then((mod) => mod.default),
|
|
14
|
-
create: () => import("./create-BNiva__H.mjs").then((mod) => mod.default),
|
|
15
|
-
update: () => import("./update-DBi5U8zb.mjs").then((mod) => mod.default),
|
|
16
|
-
archive: () => import("./archive-BNinrUak.mjs").then((mod) => mod.default)
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
export { card_default as default };
|
|
@@ -1,21 +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
|
-
alias: "collections",
|
|
8
|
-
description: "Manage Metabase collections"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-Brgh-Z2v.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-lb7q3JYs.mjs").then((mod) => mod.default),
|
|
13
|
-
items: () => import("./items-BWfvkY-J.mjs").then((mod) => mod.default),
|
|
14
|
-
tree: () => import("./tree-Des2ZG9d.mjs").then((mod) => mod.default),
|
|
15
|
-
create: () => import("./create-BTcpaop_.mjs").then((mod) => mod.default),
|
|
16
|
-
archive: () => import("./archive-lWgqiFAt.mjs").then((mod) => mod.default)
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
export { collection_default as default };
|
package/dist/create-CHF313Qg.mjs
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
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 { 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";
|
|
9
|
-
import { Workspace, WorkspaceCreateInput, workspaceView } from "./workspace-BBXJczJK.mjs";
|
|
10
|
-
|
|
11
|
-
//#region src/commands/workspace/create.ts
|
|
12
|
-
var create_default = defineMetabaseCommand({
|
|
13
|
-
meta: {
|
|
14
|
-
name: "create",
|
|
15
|
-
description: "Create a workspace"
|
|
16
|
-
},
|
|
17
|
-
capabilities: {
|
|
18
|
-
minVersion: 62,
|
|
19
|
-
tokenFeature: "workspaces"
|
|
20
|
-
},
|
|
21
|
-
args: {
|
|
22
|
-
...outputFlags,
|
|
23
|
-
...profileFlag,
|
|
24
|
-
...connectionFlags,
|
|
25
|
-
...bodyInputFlags,
|
|
26
|
-
name: {
|
|
27
|
-
type: "string",
|
|
28
|
-
description: "Workspace name (alternative to --body / --file)"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
outputSchema: Workspace,
|
|
32
|
-
examples: [
|
|
33
|
-
"mb workspace create --name \"analytics\"",
|
|
34
|
-
"echo '{\"name\":\"analytics\"}' | mb workspace create",
|
|
35
|
-
"mb workspace create --file workspace.json"
|
|
36
|
-
],
|
|
37
|
-
async run({ args, ctx, getClient }) {
|
|
38
|
-
const body = args.name !== void 0 && args.name !== "" ? WorkspaceCreateInput.parse({ name: args.name }) : await readBody({
|
|
39
|
-
flag: args.body,
|
|
40
|
-
file: args.file
|
|
41
|
-
}, WorkspaceCreateInput);
|
|
42
|
-
const client = await getClient();
|
|
43
|
-
const created = await client.requestParsed(Workspace, "/api/ee/workspace-manager", {
|
|
44
|
-
method: "POST",
|
|
45
|
-
body
|
|
46
|
-
});
|
|
47
|
-
renderItem(created, workspaceView, ctx);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
//#endregion
|
|
52
|
-
export { create_default as default };
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
-
import { outputFlags } from "./error-C9S6PN3-.mjs";
|
|
3
|
-
import { defineMetabaseCommand, localUrl, parseJson } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
-
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
-
import { renderItem } from "./render-CfznwleY.mjs";
|
|
6
|
-
import { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
7
|
-
import "./poll-DHKDpCiq.mjs";
|
|
8
|
-
import "./yaml-YTQiYJ9s.mjs";
|
|
9
|
-
import "./process-C7V8LJ-j.mjs";
|
|
10
|
-
import { checkDockerReady, readContainerCredentialsFile, requireWorkspaceContainerLocation } from "./docker-Oq80q3tu.mjs";
|
|
11
|
-
import { WorkspaceCredentials } from "./workspace-credentials-BXpABsNZ.mjs";
|
|
12
|
-
import { z } from "zod";
|
|
13
|
-
|
|
14
|
-
//#region src/commands/workspace/credentials.ts
|
|
15
|
-
const WorkspaceCredentialsResult = z.object({
|
|
16
|
-
workspace_id: z.number().int().positive(),
|
|
17
|
-
url: z.string(),
|
|
18
|
-
email: z.string(),
|
|
19
|
-
password: z.string(),
|
|
20
|
-
api_key_name: z.string(),
|
|
21
|
-
api_key: z.string()
|
|
22
|
-
});
|
|
23
|
-
const credentialsView = {
|
|
24
|
-
compactPick: WorkspaceCredentialsResult,
|
|
25
|
-
tableColumns: [
|
|
26
|
-
{
|
|
27
|
-
key: "workspace_id",
|
|
28
|
-
label: "ID"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
key: "url",
|
|
32
|
-
label: "URL"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
key: "email",
|
|
36
|
-
label: "Email"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
key: "password",
|
|
40
|
-
label: "Password"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
key: "api_key_name",
|
|
44
|
-
label: "API Key Name"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
key: "api_key",
|
|
48
|
-
label: "API Key"
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
};
|
|
52
|
-
const textDecoder = new TextDecoder("utf-8");
|
|
53
|
-
var credentials_default = defineMetabaseCommand({
|
|
54
|
-
meta: {
|
|
55
|
-
name: "credentials",
|
|
56
|
-
description: "Read the workspace child instance's admin credentials (email + password + API key) from the running container"
|
|
57
|
-
},
|
|
58
|
-
capabilities: null,
|
|
59
|
-
args: {
|
|
60
|
-
...outputFlags,
|
|
61
|
-
id: {
|
|
62
|
-
type: "positional",
|
|
63
|
-
description: "Workspace id",
|
|
64
|
-
required: true
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
outputSchema: WorkspaceCredentialsResult,
|
|
68
|
-
examples: ["mb workspace credentials 1", "mb workspace credentials 1 --json"],
|
|
69
|
-
async run({ args, ctx }) {
|
|
70
|
-
const workspaceId = parseId(args.id);
|
|
71
|
-
await checkDockerReady();
|
|
72
|
-
const { containerName, hostPort } = await requireWorkspaceContainerLocation(workspaceId);
|
|
73
|
-
const bytes = await readContainerCredentialsFile(workspaceId);
|
|
74
|
-
const credentials = parseJson(textDecoder.decode(bytes), WorkspaceCredentials, { source: `${containerName}:credentials.json` });
|
|
75
|
-
const result = {
|
|
76
|
-
workspace_id: workspaceId,
|
|
77
|
-
url: localUrl(hostPort),
|
|
78
|
-
email: credentials.user.email,
|
|
79
|
-
password: credentials.user.password,
|
|
80
|
-
api_key_name: credentials.api_key.name,
|
|
81
|
-
api_key: credentials.api_key.key
|
|
82
|
-
};
|
|
83
|
-
renderItem(result, credentialsView, ctx);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
//#endregion
|
|
88
|
-
export { credentials_default as default };
|
|
@@ -1,22 +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
|
-
alias: "dashboards",
|
|
8
|
-
description: "Manage Metabase dashboards"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-DXH7TlkU.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-DSWFjy7O.mjs").then((mod) => mod.default),
|
|
13
|
-
cards: () => import("./cards-BGiJS675.mjs").then((mod) => mod.default),
|
|
14
|
-
create: () => import("./create-dhxPxfF3.mjs").then((mod) => mod.default),
|
|
15
|
-
update: () => import("./update-Bx54nWEI.mjs").then((mod) => mod.default),
|
|
16
|
-
"update-dashcard": () => import("./update-dashcard-wpSjv4M7.mjs").then((mod) => mod.default),
|
|
17
|
-
archive: () => import("./archive-CDA0KxL8.mjs").then((mod) => mod.default)
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { dashboard_default as default };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { defineCommand } from "citty";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/workspace/database/index.ts
|
|
4
|
-
var database_default = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "database",
|
|
7
|
-
description: "Manage databases provisioned to a workspace"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
provision: () => import("./provision-UWcNDoDe.mjs").then((mod) => mod.default),
|
|
11
|
-
update: () => import("./update-DHZubok3.mjs").then((mod) => mod.default),
|
|
12
|
-
deprovision: () => import("./deprovision-CwxcIT3k.mjs").then((mod) => mod.default)
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { database_default as default };
|
package/dist/db-DrQn_i3W.mjs
DELETED
|
@@ -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 and sync Metabase databases",
|
|
8
|
-
alias: "database"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-DZ8fNUoQ.mjs").then((m) => m.default),
|
|
12
|
-
get: () => import("./get-CzuzeKSe.mjs").then((m) => m.default),
|
|
13
|
-
metadata: () => import("./metadata-B8ZSF9LA.mjs").then((m) => m.default),
|
|
14
|
-
schemas: () => import("./schemas-DUgGpAyB.mjs").then((m) => m.default),
|
|
15
|
-
"schema-tables": () => import("./schema-tables-CaWinbuK.mjs").then((m) => m.default),
|
|
16
|
-
"sync-schema": () => import("./sync-schema-Ba8M3DiX.mjs").then((m) => m.default),
|
|
17
|
-
"rescan-values": () => import("./rescan-values-C0FDsjT7.mjs").then((m) => m.default)
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { db_default as default };
|
package/dist/delete-CM3jnAeQ.mjs
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
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
|
-
import { z } from "zod";
|
|
12
|
-
|
|
13
|
-
//#region src/commands/workspace/delete.ts
|
|
14
|
-
const DeleteResult = z.object({
|
|
15
|
-
workspace_id: z.number().int().positive(),
|
|
16
|
-
container_name: z.string(),
|
|
17
|
-
volume_name: z.string(),
|
|
18
|
-
removed_container: z.boolean(),
|
|
19
|
-
removed_volume: z.boolean()
|
|
20
|
-
});
|
|
21
|
-
const deleteResultView = {
|
|
22
|
-
compactPick: DeleteResult.pick({
|
|
23
|
-
workspace_id: true,
|
|
24
|
-
removed_container: true,
|
|
25
|
-
removed_volume: true
|
|
26
|
-
}).strip(),
|
|
27
|
-
tableColumns: [
|
|
28
|
-
{
|
|
29
|
-
key: "workspace_id",
|
|
30
|
-
label: "ID"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
key: "container_name",
|
|
34
|
-
label: "Container"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
key: "volume_name",
|
|
38
|
-
label: "Volume"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
key: "removed_container",
|
|
42
|
-
label: "Removed Container"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
key: "removed_volume",
|
|
46
|
-
label: "Removed Volume"
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
};
|
|
50
|
-
var delete_default = defineMetabaseCommand({
|
|
51
|
-
meta: {
|
|
52
|
-
name: "delete",
|
|
53
|
-
description: "Stop and remove the local container + app-db volume (does not affect remote)"
|
|
54
|
-
},
|
|
55
|
-
capabilities: null,
|
|
56
|
-
args: {
|
|
57
|
-
...outputFlags,
|
|
58
|
-
id: {
|
|
59
|
-
type: "positional",
|
|
60
|
-
description: "Workspace id",
|
|
61
|
-
required: true
|
|
62
|
-
},
|
|
63
|
-
"keep-volume": {
|
|
64
|
-
type: "boolean",
|
|
65
|
-
description: "Keep the workspace's app-db volume (faster restart, app-db survives)",
|
|
66
|
-
default: false
|
|
67
|
-
},
|
|
68
|
-
yes: {
|
|
69
|
-
type: "boolean",
|
|
70
|
-
description: "Skip the confirmation prompt",
|
|
71
|
-
default: false
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
outputSchema: DeleteResult,
|
|
75
|
-
examples: ["mb workspace delete 1 --yes", "mb workspace delete 1 --keep-volume --yes"],
|
|
76
|
-
async run({ args, ctx }) {
|
|
77
|
-
const workspaceId = parseId(args.id);
|
|
78
|
-
const containerName = containerNameFor(workspaceId);
|
|
79
|
-
const volumeName = volumeNameFor(workspaceId);
|
|
80
|
-
const shouldRemoveVolume = args["keep-volume"] !== true;
|
|
81
|
-
await checkDockerReady();
|
|
82
|
-
if (!args.yes && process.stdin.isTTY === true) {
|
|
83
|
-
const confirmed = await promptConfirm({ message: shouldRemoveVolume ? `Remove container ${containerName} and its app-db volume ${volumeName}?` : `Remove container ${containerName}? (volume ${volumeName} will be kept)` });
|
|
84
|
-
if (!confirmed) return;
|
|
85
|
-
}
|
|
86
|
-
const removedContainer = await removeContainer(containerName);
|
|
87
|
-
const removedVolume = shouldRemoveVolume ? await removeVolume(volumeName) : false;
|
|
88
|
-
const result = {
|
|
89
|
-
workspace_id: workspaceId,
|
|
90
|
-
container_name: containerName,
|
|
91
|
-
volume_name: volumeName,
|
|
92
|
-
removed_container: removedContainer,
|
|
93
|
-
removed_volume: removedVolume
|
|
94
|
-
};
|
|
95
|
-
renderItem(result, deleteResultView, ctx);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
//#endregion
|
|
100
|
-
export { delete_default as default };
|
|
@@ -1,65 +0,0 @@
|
|
|
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
|
-
|
|
14
|
-
//#region src/commands/workspace/database/deprovision.ts
|
|
15
|
-
var deprovision_default = defineMetabaseCommand({
|
|
16
|
-
meta: {
|
|
17
|
-
name: "deprovision",
|
|
18
|
-
description: "Deprovision a database from a workspace"
|
|
19
|
-
},
|
|
20
|
-
capabilities: {
|
|
21
|
-
minVersion: 62,
|
|
22
|
-
tokenFeature: "workspaces"
|
|
23
|
-
},
|
|
24
|
-
args: {
|
|
25
|
-
...outputFlags,
|
|
26
|
-
...profileFlag,
|
|
27
|
-
...connectionFlags,
|
|
28
|
-
...waitFlags,
|
|
29
|
-
yes: {
|
|
30
|
-
type: "boolean",
|
|
31
|
-
description: "Skip confirmation",
|
|
32
|
-
default: false
|
|
33
|
-
},
|
|
34
|
-
id: {
|
|
35
|
-
type: "positional",
|
|
36
|
-
description: "Workspace id",
|
|
37
|
-
required: true
|
|
38
|
-
},
|
|
39
|
-
"db-id": {
|
|
40
|
-
type: "positional",
|
|
41
|
-
description: "Database id",
|
|
42
|
-
required: true
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
outputSchema: DeleteResult,
|
|
46
|
-
examples: ["mb workspace database deprovision 1 5 --yes", "mb workspace database deprovision 1 5 --yes --wait"],
|
|
47
|
-
async run({ args, ctx, getClient }) {
|
|
48
|
-
const workspaceId = parseId(args.id);
|
|
49
|
-
const databaseId = parseId(args["db-id"], "db-id");
|
|
50
|
-
const wait = parseWaitFlags(args);
|
|
51
|
-
const client = await getClient();
|
|
52
|
-
await confirmAndDelete({
|
|
53
|
-
id: databaseId,
|
|
54
|
-
path: `/api/ee/workspace-manager/${workspaceId}/database/${databaseId}`,
|
|
55
|
-
yes: args.yes,
|
|
56
|
-
promptMessage: `Deprovision database ${databaseId} from workspace ${workspaceId}?`,
|
|
57
|
-
client,
|
|
58
|
-
ctx,
|
|
59
|
-
...wait.enabled ? { afterDelete: () => waitForDatabaseGone(client, workspaceId, databaseId, wait.schedule) } : {}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
//#endregion
|
|
65
|
-
export { deprovision_default as default };
|