@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,20 +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
|
-
alias: "measures",
|
|
8
|
-
description: "Manage Metabase measures"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-CL7eCOQE.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-DQTZG_NP.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-CwGtmwqm.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-DzAN4SPj.mjs").then((mod) => mod.default),
|
|
15
|
-
archive: () => import("./archive-CRhiBpPJ.mjs").then((mod) => mod.default)
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { measure_default as default };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
-
import { parseCsv } from "./runtime-Dmv5VtUK.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/commands/workspace/database/parse-schemas.ts
|
|
5
|
-
function parseSchemasCsv(raw) {
|
|
6
|
-
const parts = parseCsv(raw);
|
|
7
|
-
if (parts.length === 0) throw new ConfigError("--schemas must contain at least one schema name");
|
|
8
|
-
return parts;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
export { parseSchemasCsv };
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { isNotFoundError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
-
import { spawn } from "node:child_process";
|
|
3
|
-
|
|
4
|
-
//#region src/runtime/process.ts
|
|
5
|
-
var ProcessNotFoundError = class extends Error {
|
|
6
|
-
command;
|
|
7
|
-
constructor(command) {
|
|
8
|
-
super(`command not found: ${command}`);
|
|
9
|
-
this.name = "ProcessNotFoundError";
|
|
10
|
-
this.command = command;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
var ProcessTimeoutError = class extends Error {
|
|
14
|
-
command;
|
|
15
|
-
timeoutMs;
|
|
16
|
-
constructor(command, timeoutMs) {
|
|
17
|
-
super(`command timed out after ${timeoutMs}ms: ${command}`);
|
|
18
|
-
this.name = "ProcessTimeoutError";
|
|
19
|
-
this.command = command;
|
|
20
|
-
this.timeoutMs = timeoutMs;
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
function spawnAndCollect(command, args, options) {
|
|
24
|
-
const timeoutSignal = options.timeoutMs !== void 0 && options.timeoutMs > 0 ? AbortSignal.timeout(options.timeoutMs) : void 0;
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
const child = spawn(command, args, {
|
|
27
|
-
stdio: [
|
|
28
|
-
"pipe",
|
|
29
|
-
"pipe",
|
|
30
|
-
"pipe"
|
|
31
|
-
],
|
|
32
|
-
env: options.env ?? process.env,
|
|
33
|
-
...options.cwd !== void 0 ? { cwd: options.cwd } : {},
|
|
34
|
-
...timeoutSignal !== void 0 ? {
|
|
35
|
-
signal: timeoutSignal,
|
|
36
|
-
killSignal: "SIGKILL"
|
|
37
|
-
} : {},
|
|
38
|
-
...options.shell === true ? { shell: true } : {}
|
|
39
|
-
});
|
|
40
|
-
const stdoutChunks = [];
|
|
41
|
-
let stderr = "";
|
|
42
|
-
child.stdout.on("data", (chunk) => {
|
|
43
|
-
stdoutChunks.push(chunk);
|
|
44
|
-
});
|
|
45
|
-
child.stderr.on("data", (chunk) => {
|
|
46
|
-
stderr += chunk.toString("utf8");
|
|
47
|
-
});
|
|
48
|
-
child.on("error", (error) => {
|
|
49
|
-
if (isNotFoundError(error)) {
|
|
50
|
-
reject(new ProcessNotFoundError(command));
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
if (timeoutSignal?.aborted) {
|
|
54
|
-
reject(new ProcessTimeoutError(command, options.timeoutMs ?? 0));
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
reject(error);
|
|
58
|
-
});
|
|
59
|
-
child.on("close", (code) => {
|
|
60
|
-
if (timeoutSignal?.aborted) {
|
|
61
|
-
reject(new ProcessTimeoutError(command, options.timeoutMs ?? 0));
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const stdoutBuffer = Buffer.concat(stdoutChunks);
|
|
65
|
-
resolve({
|
|
66
|
-
stdout: new Uint8Array(stdoutBuffer.buffer, stdoutBuffer.byteOffset, stdoutBuffer.length),
|
|
67
|
-
stderr,
|
|
68
|
-
exitCode: code
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
if (options.stdin === void 0) child.stdin.end();
|
|
72
|
-
else child.stdin.end(options.stdin);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
const stdoutDecoder = new TextDecoder("utf-8");
|
|
76
|
-
async function runProcess(command, args, options = {}) {
|
|
77
|
-
const result = await spawnAndCollect(command, args, options);
|
|
78
|
-
return {
|
|
79
|
-
stdout: stdoutDecoder.decode(result.stdout),
|
|
80
|
-
stderr: result.stderr,
|
|
81
|
-
exitCode: result.exitCode
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
function runProcessBinary(command, args, options = {}) {
|
|
85
|
-
return spawnAndCollect(command, args, options);
|
|
86
|
-
}
|
|
87
|
-
function streamProcess(command, args, options = {}) {
|
|
88
|
-
return new Promise((resolve, reject) => {
|
|
89
|
-
const child = spawn(command, args, {
|
|
90
|
-
stdio: "inherit",
|
|
91
|
-
...options.shell === true ? { shell: true } : {}
|
|
92
|
-
});
|
|
93
|
-
child.on("error", (error) => {
|
|
94
|
-
if (isNotFoundError(error)) {
|
|
95
|
-
reject(new ProcessNotFoundError(command));
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
reject(error);
|
|
99
|
-
});
|
|
100
|
-
child.on("close", (code) => resolve(code));
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
//#endregion
|
|
105
|
-
export { ProcessNotFoundError, runProcess, runProcessBinary, streamProcess };
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { ConfigError } from "./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 { parseId } from "./parse-id-lk_K-CEF.mjs";
|
|
8
|
-
import { readBody } from "./body-DjdFxjpg.mjs";
|
|
9
|
-
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
10
|
-
import "./poll-DHKDpCiq.mjs";
|
|
11
|
-
import { parseWaitFlags, waitFlags } from "./wait-flags-Dzq9BGQY.mjs";
|
|
12
|
-
import { Workspace, WorkspaceProvisionInput, workspaceView } from "./workspace-BBXJczJK.mjs";
|
|
13
|
-
import { waitForDatabaseProvisioned } from "./wait-8yV9_WIo.mjs";
|
|
14
|
-
import { parseSchemasCsv } from "./parse-schemas-BqUdWUwq.mjs";
|
|
15
|
-
|
|
16
|
-
//#region src/commands/workspace/database/provision.ts
|
|
17
|
-
var provision_default = defineMetabaseCommand({
|
|
18
|
-
meta: {
|
|
19
|
-
name: "provision",
|
|
20
|
-
description: "Provision a database into a workspace"
|
|
21
|
-
},
|
|
22
|
-
capabilities: {
|
|
23
|
-
minVersion: 62,
|
|
24
|
-
tokenFeature: "workspaces"
|
|
25
|
-
},
|
|
26
|
-
args: {
|
|
27
|
-
...outputFlags,
|
|
28
|
-
...profileFlag,
|
|
29
|
-
...connectionFlags,
|
|
30
|
-
...bodyInputFlags,
|
|
31
|
-
...waitFlags,
|
|
32
|
-
schemas: {
|
|
33
|
-
type: "string",
|
|
34
|
-
description: "Comma-separated input schemas (alternative to --body / --file)"
|
|
35
|
-
},
|
|
36
|
-
id: {
|
|
37
|
-
type: "positional",
|
|
38
|
-
description: "Workspace id",
|
|
39
|
-
required: true
|
|
40
|
-
},
|
|
41
|
-
"db-id": {
|
|
42
|
-
type: "positional",
|
|
43
|
-
description: "Database id (alternative to --body / --file)",
|
|
44
|
-
required: false
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
outputSchema: Workspace,
|
|
48
|
-
examples: [
|
|
49
|
-
"mb workspace database provision 1 5 --schemas analytics,github",
|
|
50
|
-
"mb workspace database provision 1 5 --schemas analytics --wait",
|
|
51
|
-
"mb workspace database provision 1 --file provision.json"
|
|
52
|
-
],
|
|
53
|
-
async run({ args, ctx, getClient }) {
|
|
54
|
-
const workspaceId = parseId(args.id);
|
|
55
|
-
const databaseIdArg = args["db-id"];
|
|
56
|
-
const schemasFlag = args.schemas;
|
|
57
|
-
const wait = parseWaitFlags(args);
|
|
58
|
-
let body;
|
|
59
|
-
if (databaseIdArg !== void 0 && databaseIdArg !== "") {
|
|
60
|
-
const databaseId = parseId(databaseIdArg, "db-id");
|
|
61
|
-
if (schemasFlag === void 0 || schemasFlag === "") throw new ConfigError("--schemas is required when providing a db-id");
|
|
62
|
-
const input_schemas = parseSchemasCsv(schemasFlag);
|
|
63
|
-
body = WorkspaceProvisionInput.parse({
|
|
64
|
-
database_id: databaseId,
|
|
65
|
-
input_schemas
|
|
66
|
-
});
|
|
67
|
-
} else body = await readBody({
|
|
68
|
-
flag: args.body,
|
|
69
|
-
file: args.file
|
|
70
|
-
}, WorkspaceProvisionInput);
|
|
71
|
-
const client = await getClient();
|
|
72
|
-
const initial = await client.requestParsed(Workspace, `/api/ee/workspace-manager/${workspaceId}/database`, {
|
|
73
|
-
method: "POST",
|
|
74
|
-
body
|
|
75
|
-
});
|
|
76
|
-
const final = wait.enabled ? await waitForDatabaseProvisioned(client, workspaceId, body.database_id, wait.schedule) : initial;
|
|
77
|
-
renderItem(final, workspaceView, ctx);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
//#endregion
|
|
82
|
-
export { provision_default as default };
|
package/dist/ps-CJU0EbrC.mjs
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { listEnvelopeSchema, outputFlags, wrapList } from "./error-C9S6PN3-.mjs";
|
|
2
|
-
import { defineMetabaseCommand, localUrl } from "./runtime-Dmv5VtUK.mjs";
|
|
3
|
-
import { renderList } from "./render-CfznwleY.mjs";
|
|
4
|
-
import { CONTAINER_STATES, checkDockerReady, listWorkspaceContainers } from "./docker-Oq80q3tu.mjs";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
//#region src/commands/workspace/ps.ts
|
|
8
|
-
const LocalWorkspaceState = z.enum(CONTAINER_STATES);
|
|
9
|
-
const LocalWorkspace = z.object({
|
|
10
|
-
workspace_id: z.number().int().positive(),
|
|
11
|
-
workspace_name: z.string(),
|
|
12
|
-
container_name: z.string(),
|
|
13
|
-
state: LocalWorkspaceState,
|
|
14
|
-
status: z.string(),
|
|
15
|
-
image: z.string(),
|
|
16
|
-
profile: z.string().nullable(),
|
|
17
|
-
parent_url: z.string().nullable(),
|
|
18
|
-
host_port: z.number().int().positive().nullable(),
|
|
19
|
-
url: z.string().nullable()
|
|
20
|
-
});
|
|
21
|
-
const LocalWorkspaceCompact = LocalWorkspace.pick({
|
|
22
|
-
workspace_id: true,
|
|
23
|
-
workspace_name: true,
|
|
24
|
-
state: true,
|
|
25
|
-
url: true
|
|
26
|
-
}).strip();
|
|
27
|
-
const localWorkspaceView = {
|
|
28
|
-
compactPick: LocalWorkspaceCompact,
|
|
29
|
-
tableColumns: [
|
|
30
|
-
{
|
|
31
|
-
key: "workspace_id",
|
|
32
|
-
label: "ID"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
key: "workspace_name",
|
|
36
|
-
label: "Name"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
key: "state",
|
|
40
|
-
label: "State"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
key: "url",
|
|
44
|
-
label: "URL",
|
|
45
|
-
format: (value) => typeof value === "string" ? value : "—"
|
|
46
|
-
}
|
|
47
|
-
]
|
|
48
|
-
};
|
|
49
|
-
const LocalWorkspaceListEnvelope = listEnvelopeSchema(LocalWorkspaceCompact);
|
|
50
|
-
var ps_default = defineMetabaseCommand({
|
|
51
|
-
meta: {
|
|
52
|
-
name: "ps",
|
|
53
|
-
description: "List workspaces with a local container (running or stopped)"
|
|
54
|
-
},
|
|
55
|
-
capabilities: null,
|
|
56
|
-
args: { ...outputFlags },
|
|
57
|
-
outputSchema: LocalWorkspaceListEnvelope,
|
|
58
|
-
examples: ["mb workspace ps", "mb workspace ps --json"],
|
|
59
|
-
async run({ ctx }) {
|
|
60
|
-
await checkDockerReady();
|
|
61
|
-
const summaries = await listWorkspaceContainers();
|
|
62
|
-
const items = summaries.map((summary) => ({
|
|
63
|
-
workspace_id: summary.workspaceId,
|
|
64
|
-
workspace_name: summary.workspaceName,
|
|
65
|
-
container_name: summary.name,
|
|
66
|
-
state: summary.state,
|
|
67
|
-
status: summary.status,
|
|
68
|
-
image: summary.image,
|
|
69
|
-
profile: summary.profile,
|
|
70
|
-
parent_url: summary.parentUrl,
|
|
71
|
-
host_port: summary.hostPort,
|
|
72
|
-
url: summary.hostPort !== null && summary.state === "running" ? localUrl(summary.hostPort) : null
|
|
73
|
-
}));
|
|
74
|
-
items.sort((a, b) => a.workspace_id - b.workspace_id);
|
|
75
|
-
renderList(wrapList(items), localWorkspaceView, ctx);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
//#endregion
|
|
80
|
-
export { LocalWorkspace, LocalWorkspaceCompact, LocalWorkspaceListEnvelope, LocalWorkspaceState, localWorkspaceView, ps_default };
|
package/dist/ps-DEroLgbI.mjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
-
import "./error-C9S6PN3-.mjs";
|
|
3
|
-
import "./runtime-Dmv5VtUK.mjs";
|
|
4
|
-
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
-
import "./render-CfznwleY.mjs";
|
|
6
|
-
import "./poll-DHKDpCiq.mjs";
|
|
7
|
-
import "./process-C7V8LJ-j.mjs";
|
|
8
|
-
import "./docker-Oq80q3tu.mjs";
|
|
9
|
-
import { LocalWorkspace, LocalWorkspaceCompact, LocalWorkspaceListEnvelope, LocalWorkspaceState, localWorkspaceView, ps_default } from "./ps-CJU0EbrC.mjs";
|
|
10
|
-
|
|
11
|
-
export { ps_default as default };
|
package/dist/remove-BFWun0e8.mjs
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
-
import { outputFlags } from "./error-C9S6PN3-.mjs";
|
|
3
|
-
import { clearLicense, 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 { z } from "zod";
|
|
8
|
-
|
|
9
|
-
//#region src/commands/workspace/license/remove.ts
|
|
10
|
-
const LicenseRemoveResult = z.object({
|
|
11
|
-
removed: z.boolean(),
|
|
12
|
-
aborted: z.boolean()
|
|
13
|
-
});
|
|
14
|
-
const licenseRemoveView = {
|
|
15
|
-
compactPick: LicenseRemoveResult,
|
|
16
|
-
tableColumns: [{
|
|
17
|
-
key: "removed",
|
|
18
|
-
label: "Removed"
|
|
19
|
-
}, {
|
|
20
|
-
key: "aborted",
|
|
21
|
-
label: "Aborted"
|
|
22
|
-
}]
|
|
23
|
-
};
|
|
24
|
-
var remove_default = defineMetabaseCommand({
|
|
25
|
-
meta: {
|
|
26
|
-
name: "remove",
|
|
27
|
-
description: "Remove the stored license token"
|
|
28
|
-
},
|
|
29
|
-
capabilities: null,
|
|
30
|
-
args: {
|
|
31
|
-
...outputFlags,
|
|
32
|
-
yes: {
|
|
33
|
-
type: "boolean",
|
|
34
|
-
description: "Skip confirmation",
|
|
35
|
-
default: false
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
outputSchema: LicenseRemoveResult,
|
|
39
|
-
examples: ["mb workspace license remove --yes"],
|
|
40
|
-
async run({ args, ctx }) {
|
|
41
|
-
if (!args.yes && process.stdin.isTTY === true) {
|
|
42
|
-
const ok = await promptConfirm({
|
|
43
|
-
message: "Remove stored license token?",
|
|
44
|
-
initialValue: false
|
|
45
|
-
});
|
|
46
|
-
if (!ok) {
|
|
47
|
-
renderItem({
|
|
48
|
-
removed: false,
|
|
49
|
-
aborted: true
|
|
50
|
-
}, licenseRemoveView, ctx);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const removed = await clearLicense();
|
|
55
|
-
renderItem({
|
|
56
|
-
removed,
|
|
57
|
-
aborted: false
|
|
58
|
-
}, licenseRemoveView, ctx);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
//#endregion
|
|
63
|
-
export { remove_default as default };
|
|
@@ -1,20 +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
|
-
alias: "segments",
|
|
8
|
-
description: "Manage Metabase segments"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-SOG0whQ-.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-Bzys7vgp.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-DGth_uOp.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-njHe3j-s.mjs").then((mod) => mod.default),
|
|
15
|
-
archive: () => import("./archive-DMPS8Kih.mjs").then((mod) => mod.default)
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { segment_default as default };
|
package/dist/set-B8cUbRLD.mjs
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
-
import { outputFlags } from "./error-C9S6PN3-.mjs";
|
|
3
|
-
import { defineMetabaseCommand, keyringFallbackWarning, readEnvLicenseToken, writeLicense } from "./runtime-Dmv5VtUK.mjs";
|
|
4
|
-
import { warn } from "./capabilities-7e9MgquN.mjs";
|
|
5
|
-
import { renderItem } from "./render-CfznwleY.mjs";
|
|
6
|
-
import { promptPassword } from "./prompt-CFKoys7k.mjs";
|
|
7
|
-
import { readInput } from "./input-cMSEqISy.mjs";
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
|
|
10
|
-
//#region src/commands/workspace/license/set.ts
|
|
11
|
-
const LicenseSetResult = z.object({ stored: z.literal(true) });
|
|
12
|
-
const licenseSetView = {
|
|
13
|
-
compactPick: LicenseSetResult,
|
|
14
|
-
tableColumns: [{
|
|
15
|
-
key: "stored",
|
|
16
|
-
label: "Stored"
|
|
17
|
-
}]
|
|
18
|
-
};
|
|
19
|
-
var set_default = defineMetabaseCommand({
|
|
20
|
-
meta: {
|
|
21
|
-
name: "set",
|
|
22
|
-
description: "Store a Metabase license token"
|
|
23
|
-
},
|
|
24
|
-
capabilities: null,
|
|
25
|
-
args: {
|
|
26
|
-
...outputFlags,
|
|
27
|
-
token: {
|
|
28
|
-
type: "positional",
|
|
29
|
-
description: "License token (visible in shell history; pipe on stdin instead)",
|
|
30
|
-
required: false
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
outputSchema: LicenseSetResult,
|
|
34
|
-
examples: [
|
|
35
|
-
"echo $METABASE_LICENSE_TOKEN | mb workspace license set",
|
|
36
|
-
"mb workspace license set < token.txt",
|
|
37
|
-
"mb workspace license set $METABASE_LICENSE_TOKEN"
|
|
38
|
-
],
|
|
39
|
-
async run({ args, ctx }) {
|
|
40
|
-
const token = await resolveToken(args.token);
|
|
41
|
-
const location = await writeLicense(token);
|
|
42
|
-
if (location.backend === "file") warn(keyringFallbackWarning(location, "license"));
|
|
43
|
-
const result = { stored: true };
|
|
44
|
-
renderItem(result, licenseSetView, ctx);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
async function resolveToken(positional) {
|
|
48
|
-
if (positional) {
|
|
49
|
-
warn("warning: license token passed as positional is visible in shell history and process listings — pipe the token on stdin or set METABASE_LICENSE_TOKEN instead");
|
|
50
|
-
return positional;
|
|
51
|
-
}
|
|
52
|
-
const piped = (await readInput({ required: false })).trim();
|
|
53
|
-
if (piped) return piped;
|
|
54
|
-
const envToken = readEnvLicenseToken();
|
|
55
|
-
if (envToken) return envToken;
|
|
56
|
-
return promptForToken();
|
|
57
|
-
}
|
|
58
|
-
async function promptForToken() {
|
|
59
|
-
if (!process.stdin.isTTY) throw new ConfigError("license token, piped stdin, or METABASE_LICENSE_TOKEN required when stdin is not a TTY");
|
|
60
|
-
return promptPassword({
|
|
61
|
-
message: "License token",
|
|
62
|
-
mask: "•",
|
|
63
|
-
validate: (input) => input ? void 0 : "License token is required"
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
//#endregion
|
|
68
|
-
export { set_default as default };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineCommand } from "citty";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/setting/index.ts
|
|
4
|
-
var setting_default = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "setting",
|
|
7
|
-
description: "Inspect and update Metabase settings",
|
|
8
|
-
alias: "settings"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-2j7GsXsl.mjs").then((m) => m.default),
|
|
12
|
-
get: () => import("./get-D3SbEQSE.mjs").then((m) => m.default),
|
|
13
|
-
set: () => import("./set-DfGsta5O.mjs").then((m) => m.default)
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
//#endregion
|
|
18
|
-
export { setting_default as default };
|
|
@@ -1,20 +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
|
-
alias: "snippets",
|
|
8
|
-
description: "Manage Metabase native query snippets"
|
|
9
|
-
},
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list--OYdUTtu.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-Ddr0XLh7.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-Be_0Vier.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-F6DmZncY.mjs").then((mod) => mod.default),
|
|
15
|
-
archive: () => import("./archive-C1enZgKV.mjs").then((mod) => mod.default)
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { snippet_default as default };
|