@metabase/cli 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -115
- package/dist/add-collection-C9BdVBs2.mjs +11 -0
- package/dist/{add-collection-C_iovi9i.mjs → add-collection-DQjTlDNF.mjs} +12 -5
- package/dist/archive-B3qiL-kK.mjs +40 -0
- package/dist/{archive-DdaP94H3.mjs → archive-BXzghEQX.mjs} +10 -9
- package/dist/{archive-WaEW85NB.mjs → archive-CBGKzEAl.mjs} +9 -8
- package/dist/{archive-BKPO8lEO.mjs → archive-CuVk8iwN.mjs} +10 -9
- package/dist/archive-DTN9tLGT.mjs +40 -0
- package/dist/{archive-Dvzrmdbk.mjs → archive-De8jzzq7.mjs} +10 -9
- package/dist/auth-D9eAyVoG.mjs +19 -0
- package/dist/{body-XtR7-uCO.mjs → body-tcURGnGh.mjs} +4 -4
- package/dist/{branches-XUY4JY-X.mjs → branches-CIGkjXIk.mjs} +11 -7
- package/dist/{cancel-BrUVO_ax.mjs → cancel-pPsvgJ0Z.mjs} +9 -8
- package/dist/{cancel-task-oXheTOB6.mjs → cancel-task-BLGE4UlL.mjs} +12 -8
- package/dist/capabilities-7e9MgquN.mjs +29 -0
- package/dist/card-DDDrWcDU.mjs +20 -0
- package/dist/{card-CQxvHeyP.mjs → card-ezYiriML.mjs} +1 -1
- package/dist/{cards-CONTTAG9.mjs → cards-Dq3nx_9n.mjs} +8 -7
- package/dist/cli.mjs +264 -44
- package/dist/collection-DkEvCDar.mjs +20 -0
- package/dist/{predicates-CGO17Q15.mjs → command-augment-BH9qgQ5u.mjs} +66 -14
- package/dist/{create-Cs2xntFG.mjs → create-9DBTkbMq.mjs} +18 -16
- package/dist/{create-kYpjobrq.mjs → create-B1dyuL9Y.mjs} +16 -10
- package/dist/create-BIphz0kO.mjs +52 -0
- package/dist/create-BcgoukG4.mjs +50 -0
- package/dist/create-BdPoSk_7.mjs +50 -0
- package/dist/{create-DZxUeqdf.mjs → create-BrUqxreg.mjs} +11 -10
- package/dist/create-DHscDhRd.mjs +50 -0
- package/dist/{create-Dq25vsMu.mjs → create-aPaUEGdr.mjs} +11 -10
- package/dist/{create-branch-D5u14AxL.mjs → create-branch-DGoc9CUU.mjs} +12 -8
- package/dist/{create-Ca9lIDwP.mjs → create-w3mQg9n4.mjs} +11 -10
- package/dist/{credentials-BIQ1cEzM.mjs → credentials-qryRLUed.mjs} +12 -11
- package/dist/current-task-DZM28rnr.mjs +40 -0
- package/dist/{dashboard-CnMD04PQ.mjs → dashboard-B4bn3z6t.mjs} +2 -1
- package/dist/dashboard-BLf1RZlk.mjs +21 -0
- package/dist/{database-vvig8k4x.mjs → database-BXiue1in.mjs} +1 -1
- package/dist/{database-BSvzYlRe.mjs → database-Ce1gOJF7.mjs} +3 -3
- package/dist/db-CWTFe_FZ.mjs +22 -0
- package/dist/{delete-VTAS9EUt.mjs → delete-BPaFdHZP.mjs} +11 -8
- package/dist/{delete-CUx6RT9e.mjs → delete-BrJOotpW.mjs} +11 -8
- package/dist/{remove-C6bS0Z6w.mjs → delete-FFj1xQWO.mjs} +25 -20
- package/dist/{delete-runtime-DfFMWJJ6.mjs → delete-runtime-uuYbd4k2.mjs} +9 -7
- package/dist/{delete-table-DzUneMKe.mjs → delete-table-CNupWUO0.mjs} +11 -8
- package/dist/{deprovision-CpJfGgCt.mjs → deprovision-BNr9fPDY.mjs} +18 -12
- package/dist/{dirty-nkAOXxgC.mjs → dirty-BCkNOY8c.mjs} +11 -7
- package/dist/{docker-D5FTIoD0.mjs → docker-Ds252Mwc.mjs} +4 -4
- package/dist/{translate-Cqsd0Px5.mjs → eid-CLY5X0Uw.mjs} +43 -23
- package/dist/error-ZsFeevV2.mjs +191 -0
- package/dist/{export-BWvY7X_G.mjs → export-CgHgWW3I.mjs} +20 -18
- package/dist/{field-B3gvaqpK.mjs → field-E0IBy4Uw.mjs} +12 -3
- package/dist/field-LL6W_c-c.mjs +18 -0
- package/dist/{fields-dH16G5UV.mjs → fields-RkRWU-u9.mjs} +9 -8
- package/dist/{get-D96QEU49.mjs → get-42tJ7BNp.mjs} +8 -7
- package/dist/{get-C6SR3A9t.mjs → get-B8l4t4Pz.mjs} +10 -9
- package/dist/{get-BnBRKHr7.mjs → get-B9kwSs6U.mjs} +8 -7
- package/dist/{get-7macOPAI.mjs → get-Bo4Cpd_c.mjs} +7 -7
- package/dist/{get-BcqxMVC1.mjs → get-C9O_aEGo.mjs} +8 -7
- package/dist/{get-CKxlhMy1.mjs → get-CRvbChoX.mjs} +8 -7
- package/dist/{get-B7i_nYJB.mjs → get-CTDqioaj.mjs} +8 -7
- package/dist/{get-D8e_RzZ0.mjs → get-CiZrZJLt.mjs} +10 -9
- package/dist/{get-B08K82JV.mjs → get-CvmqPN30.mjs} +8 -7
- package/dist/{get-CACaBFLt.mjs → get-DmzgSgrl.mjs} +9 -8
- package/dist/{get-R7OaVL_t.mjs → get-DsqGHNHN.mjs} +8 -7
- package/dist/get-run-CBwcRc8E.mjs +38 -0
- package/dist/{get-DNN1X2gN.mjs → get-sMpa-X4E.mjs} +9 -8
- package/dist/{get-DAWofnzK.mjs → get-y17zJMnU.mjs} +8 -7
- package/dist/git-sync-CrWTo3YX.mjs +28 -0
- package/dist/{has-remote-changes-BAnIXQXU.mjs → has-remote-changes-CfRidwXT.mjs} +13 -8
- package/dist/{import-CfdPEMng.mjs → import-BZV0Z2KR.mjs} +21 -18
- package/dist/{input-BQ-BZA8h.mjs → input-cMSEqISy.mjs} +7 -4
- package/dist/is-dirty-CPzOnnH6.mjs +10 -0
- package/dist/{is-dirty-CZWcG0vj.mjs → is-dirty-hKcB4OH9.mjs} +9 -4
- package/dist/{items-DqwahOKf.mjs → items-C94eW2Yd.mjs} +10 -9
- package/dist/key-vkNkH82H.mjs +17 -0
- package/dist/license-B37055sr.mjs +17 -0
- package/dist/{list-L63TpX1t.mjs → list-B0V7FeL2.mjs} +7 -7
- package/dist/{list-Bkd7Nbds.mjs → list-BFlzLGlw.mjs} +7 -6
- package/dist/{list-yxVAE1S7.mjs → list-BJXaGk-z.mjs} +7 -6
- package/dist/{list-BqNMpIXy.mjs → list-BS_Bxejg.mjs} +9 -8
- package/dist/{list-J277Qtki.mjs → list-BmHoYJr7.mjs} +7 -6
- package/dist/list-C-oZe1_p.mjs +173 -0
- package/dist/{list-ViT2KWhv.mjs → list-CF1pMN4S.mjs} +7 -6
- package/dist/{list-BpNU1neq.mjs → list-CU6sOfI-.mjs} +9 -7
- package/dist/{list-oftHLFbE.mjs → list-CqN4gvCk.mjs} +9 -7
- package/dist/{list-DBOYoJtA.mjs → list-DUXdt0XI.mjs} +10 -6
- package/dist/{list-D41gfkKb.mjs → list-DfDZr55C.mjs} +10 -8
- package/dist/{list-vF4EneaE.mjs → list-DrINpVLM.mjs} +7 -6
- package/dist/{list-DJcGwJ4W.mjs → list-DuSoEk_J.mjs} +9 -8
- package/dist/{list-CQkDqphl.mjs → list-HS15y_WN.mjs} +7 -6
- package/dist/login-enh9Yimb.mjs +181 -0
- package/dist/{logout-DD4q5whi.mjs → logout-BWLPLDh8.mjs} +13 -11
- package/dist/{logs-Ci3mJE2z.mjs → logs-Cu3QtvPs.mjs} +9 -8
- package/dist/{manifest-CGM7XNLC.mjs → manifest-BNh0Lw6p.mjs} +15 -15
- package/dist/{measure-BEQfnLdN.mjs → measure-Bt3InQsA.mjs} +2 -2
- package/dist/measure-CDlEPFtB.mjs +19 -0
- package/dist/{metadata-BDat-jN9.mjs → metadata-BTTEBWdS.mjs} +10 -9
- package/dist/{metadata-29_qlqbz.mjs → metadata-D2TxboMm.mjs} +9 -8
- package/dist/parse-enum-CrEWOhuY.mjs +11 -0
- package/dist/{parse-id-CysSaCbf.mjs → parse-id-0_tOPvfI.mjs} +1 -1
- package/dist/{parse-ref-D1yeDOn8.mjs → parse-ref-DKag6a6I.mjs} +1 -1
- package/dist/{parse-schemas-B10n01ez.mjs → parse-schemas-D-qVLl4z.mjs} +2 -2
- package/dist/{path-DLByFMMA.mjs → path-C8GrBdgT.mjs} +7 -7
- package/dist/{poll-p9Y7-JEQ.mjs → poll-4eoh5J0r.mjs} +2 -2
- package/dist/{poll-task-BQe0NvJZ.mjs → poll-task-51WRdugU.mjs} +19 -20
- package/dist/{preflight-CvFu0Cct.mjs → preflight-BhsErYz3.mjs} +4 -4
- package/dist/{process-zJeVJZTM.mjs → process-CM7Uu5q_.mjs} +1 -1
- package/dist/{prompt-DgDNy_Pc.mjs → prompt-CFKoys7k.mjs} +3 -1
- package/dist/provision-Chf86BF0.mjs +83 -0
- package/dist/{ps-BxQdpkr5.mjs → ps-CEYtsKBj.mjs} +5 -3
- package/dist/ps-CIDwaubS.mjs +11 -0
- package/dist/{query-C7zTlFJA.mjs → query-BBCAF-tG.mjs} +17 -14
- package/dist/{query-CFH4nBlK.mjs → query-DYVBnu9d.mjs} +12 -9
- package/dist/query-result-ABPLz6I4.mjs +19 -0
- package/dist/{remove-BuWxx3hY.mjs → remove-2yInufA6.mjs} +14 -12
- package/dist/remove-collection-CBAHz0Dk.mjs +44 -0
- package/dist/{render-DuoDUTVL.mjs → render-0_GsapXa.mjs} +51 -23
- package/dist/render-khznBlla.mjs +32 -0
- package/dist/{rescan-values-DabyRYQ_.mjs → rescan-values-cfTSNQZo.mjs} +12 -11
- package/dist/{run-Cl-9RtC4.mjs → run-qgdEJv-I.mjs} +17 -15
- package/dist/{runs-BH6s1Zao.mjs → runs-BFIIH4GL.mjs} +9 -8
- package/dist/{runtime-CDu6fykq.mjs → runtime-Duawf5lE.mjs} +653 -428
- package/dist/{schema-tables-i58wp_p3.mjs → schema-tables-C2xM3dho.mjs} +9 -8
- package/dist/{schemas-_m8RYRl9.mjs → schemas-BP7xiktH.mjs} +7 -6
- package/dist/{search-DObOsjbP.mjs → search-DYP3lOlq.mjs} +12 -16
- package/dist/segment-B6HnNGDs.mjs +19 -0
- package/dist/{set-CwVWeAsi.mjs → set-DpRQqdo7.mjs} +13 -11
- package/dist/{set-CJA9dpK6.mjs → set-Tt-ioa4L.mjs} +14 -13
- package/dist/setting-DUa96KF3.mjs +17 -0
- package/dist/{setup-DqBOe3HZ.mjs → setup-BPlllnim.mjs} +10 -9
- package/dist/{skills-CHU7uuDU.mjs → skills-BkregMyb.mjs} +2 -2
- package/dist/{skills-C2rTVj0n.mjs → skills-SqbPo0BI.mjs} +3 -3
- package/dist/snippet-dJ68tGsl.mjs +19 -0
- package/dist/{start-CfruN4wF.mjs → start-DJZA67WF.mjs} +70 -38
- package/dist/{stash-CWuXKSZq.mjs → stash-C89zNKxo.mjs} +21 -18
- package/dist/{status-D-RYZB9G.mjs → status-B1EJ_jv0.mjs} +16 -9
- package/dist/status-BNvFPemM.mjs +100 -0
- package/dist/status-D5wSqYV_.mjs +34 -0
- package/dist/{stop-D8Hr4cKX.mjs → stop-5rCLmkCQ.mjs} +16 -11
- package/dist/{summary-Lt2XLBK9.mjs → summary-Cihbx0Qs.mjs} +8 -7
- package/dist/{sync-schema-BDElSynU.mjs → sync-schema-C3odu0ZH.mjs} +12 -11
- package/dist/table-J2f0STnB.mjs +19 -0
- package/dist/{table-B-PYcgGb.mjs → table-qDD2kApF.mjs} +1 -1
- package/dist/{transform-job-BrhOLO4M.mjs → transform-job-DjhoJbiV.mjs} +1 -1
- package/dist/transform-job-OW4SDhsQ.mjs +19 -0
- package/dist/transform-q1LYWQtW.mjs +24 -0
- package/dist/{tree-DfvjDjmk.mjs → tree-mvq9gM9w.mjs} +7 -6
- package/dist/{update-DzgXF082.mjs → update-BoIiuC70.mjs} +16 -14
- package/dist/{update-qnFY5IuC.mjs → update-C0jP0AKT.mjs} +12 -11
- package/dist/{update-zp7pCBZH.mjs → update-CbBnHz42.mjs} +16 -14
- package/dist/{update-B0bjPqKC.mjs → update-CtOo3LsX.mjs} +13 -12
- package/dist/{update-CVxOxmt6.mjs → update-DCrOQ1PW.mjs} +17 -15
- package/dist/{update-BYduslhn.mjs → update-DEZayTb4.mjs} +20 -15
- package/dist/{update-BgcroYkF.mjs → update-DwRxdflw.mjs} +12 -11
- package/dist/{update-D9Z8cL7h.mjs → update-Rr4usmCo.mjs} +12 -11
- package/dist/{update-DuA8-cCq.mjs → update-VvKMnwsM.mjs} +16 -14
- package/dist/{update-dashcard-CQ3kmmss.mjs → update-dashcard-DFvIz8Qj.mjs} +12 -11
- package/dist/{update-CqnDMNtZ.mjs → update-tRparnUs.mjs} +18 -16
- package/dist/{upgrade-CIgTr2CG.mjs → upgrade-D-Rl_fH9.mjs} +16 -29
- package/dist/{url-B5MgZXzg.mjs → url-BB6jeNQj.mjs} +11 -10
- package/dist/{uuid-CJz9TmHI.mjs → uuid-BSVUk8u2.mjs} +8 -6
- package/dist/{validate-CB0bu50i.mjs → validate-dPEOnOf8.mjs} +2 -1
- package/dist/{validate-query-CavIA0Q2.mjs → validate-query-CYvOP8Ld.mjs} +3 -3
- package/dist/values-D1RJE4H6.mjs +45 -0
- package/dist/verify-A7BWfBPZ.mjs +79 -0
- package/dist/{wait-BFqBlg0y.mjs → wait-B17I_pWy.mjs} +2 -2
- package/dist/{wait-tDp9ZOou.mjs → wait-DK5QDZ8n.mjs} +14 -10
- package/dist/{wait-flags-CN-e9zNq.mjs → wait-flags-DlfbIXHw.mjs} +20 -9
- package/dist/{workspace-credentials-4lIxxz4g.mjs → workspace-credentials-8CBMQJFz.mjs} +2 -2
- package/dist/workspace-ri6r3zWo.mjs +25 -0
- package/dist/{yaml-ECiog374.mjs → yaml-Gv6wRFMF.mjs} +1 -1
- package/package.json +2 -1
- package/skill-data/core/SKILL.md +55 -453
- package/skill-data/git-sync/SKILL.md +1 -1
- package/skill-data/mbql/SKILL.md +156 -0
- package/skill-data/mbql/references/operators.md +253 -0
- package/skill-data/transform/SKILL.md +2 -40
- package/skill-data/viz/SKILL.md +137 -0
- package/skill-data/viz/references/settings.md +312 -0
- package/skill-data/workspace/SKILL.md +45 -63
- package/skills/metabase-cli/SKILL.md +5 -26
- package/dist/add-collection-ucsyAMkV.mjs +0 -11
- package/dist/api-key-BENHbTbV.mjs +0 -13
- package/dist/auth-DICRtJDy.mjs +0 -19
- package/dist/card-l-UmrUIo.mjs +0 -20
- package/dist/collection-oV0olVY-.mjs +0 -19
- package/dist/command-augment-D9pI9Vbh.mjs +0 -11
- package/dist/create-CrUq6sib.mjs +0 -125
- package/dist/create-D3Z878yr.mjs +0 -50
- package/dist/create-Le3Bqn7b.mjs +0 -48
- package/dist/create-V-q2rU0T.mjs +0 -48
- package/dist/create-swbIXdo5.mjs +0 -48
- package/dist/current-task-DCq7rk9V.mjs +0 -36
- package/dist/dashboard-hbKDd36X.mjs +0 -20
- package/dist/db-qVK6NsdB.mjs +0 -22
- package/dist/eid-CDFXX_6H.mjs +0 -13
- package/dist/field-C0LE7RQI.mjs +0 -18
- package/dist/flag-pair-Fmcdkrfx.mjs +0 -17
- package/dist/get-run-CwFuR4Uw.mjs +0 -36
- package/dist/git-sync-DV7YjniX.mjs +0 -28
- package/dist/is-dirty-LxVbm2C5.mjs +0 -10
- package/dist/key-CCJdVWKc.mjs +0 -12
- package/dist/license-Cb6ewEJO.mjs +0 -17
- package/dist/list-DV6CONhp.mjs +0 -55
- package/dist/login-D1nZwgKv.mjs +0 -192
- package/dist/measure-XhJuL77y.mjs +0 -19
- package/dist/package-DFUprkSZ.mjs +0 -85
- package/dist/provision-BP-b4Are.mjs +0 -77
- package/dist/ps-Bk6unzaX.mjs +0 -11
- package/dist/remove-collection-Bc4roCq0.mjs +0 -38
- package/dist/segment-DfxZdJmR.mjs +0 -19
- package/dist/setting-Czy4ws6h.mjs +0 -18
- package/dist/snippet-BCY4KHBU.mjs +0 -19
- package/dist/status-1oUnw803.mjs +0 -56
- package/dist/status-J9HIDcA5.mjs +0 -32
- package/dist/table-BwX3Ib5f.mjs +0 -19
- package/dist/transform-iaAi37V0.mjs +0 -24
- package/dist/transform-job-Bemonf82.mjs +0 -19
- package/dist/values-BXN6tx1i.mjs +0 -36
- package/dist/workspace-BBsT0H0g.mjs +0 -24
- /package/dist/{body-flags-BK7J6Daz.mjs → body-flags-D7q87Btw.mjs} +0 -0
- /package/dist/{collection-B3sPXRLs.mjs → collection-Bcy8cWYH.mjs} +0 -0
- /package/dist/{paginate-CTSfuYiF.mjs → paginate-BexjkjbY.mjs} +0 -0
- /package/dist/{revision-message-flag-oyq2xrDU.mjs → revision-message-flag-DY29-cgz.mjs} +0 -0
- /package/dist/{segment-BMrUBz94.mjs → segment-DhBmcr_E.mjs} +0 -0
- /package/dist/{setting-CTaAeMci.mjs → setting-BzCng1Ub.mjs} +0 -0
- /package/dist/{snippet-CSWqkslB.mjs → snippet-bi_0XbNT.mjs} +0 -0
- /package/dist/{transform-DR4ejuPM.mjs → transform-BKahefz_.mjs} +0 -0
- /package/dist/{workspace-DUfqhPm5.mjs → workspace-D8HtUN0y.mjs} +0 -0
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
import { ZodError, core } from "zod";
|
|
2
2
|
import { isCancel } from "@clack/prompts";
|
|
3
3
|
|
|
4
|
+
//#region src/runtime/citty.ts
|
|
5
|
+
async function resolveCitty(value) {
|
|
6
|
+
if (value === void 0) return void 0;
|
|
7
|
+
if (typeof value === "function") return value();
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
function toAliasArray(alias) {
|
|
11
|
+
if (alias === void 0) return [];
|
|
12
|
+
return Array.isArray(alias) ? alias : [alias];
|
|
13
|
+
}
|
|
14
|
+
function normalizeFlag(value) {
|
|
15
|
+
return value.replace(/^-+/, "").replace(/-/g, "").toLowerCase();
|
|
16
|
+
}
|
|
17
|
+
function flagConsumesValue(token, argsDef) {
|
|
18
|
+
if (token.includes("=")) return false;
|
|
19
|
+
const name = normalizeFlag(token);
|
|
20
|
+
for (const [key, def] of Object.entries(argsDef)) {
|
|
21
|
+
if (def.type !== "string" && def.type !== "enum") continue;
|
|
22
|
+
if (normalizeFlag(key) === name) return true;
|
|
23
|
+
if (toAliasArray(def.alias).some((alias) => normalizeFlag(alias) === name)) return true;
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
4
29
|
//#region src/core/json-pointer.ts
|
|
5
30
|
function escapeJsonPointerSegment(key) {
|
|
6
31
|
if (typeof key === "number") return String(key);
|
|
@@ -51,23 +76,46 @@ var ValidationError = class extends MetabaseError {
|
|
|
51
76
|
get userMessage() {
|
|
52
77
|
const issues = this.developerDetail.zodIssues;
|
|
53
78
|
if (issues.length === 0) return this.message;
|
|
54
|
-
return `${this.message}\n${
|
|
79
|
+
return `${this.message}\n${formatIssueLines(issues, VALIDATION_ISSUE_FORMAT)}`;
|
|
55
80
|
}
|
|
56
81
|
};
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
const VALIDATION_MAX_ISSUES = 10;
|
|
83
|
+
const RESPONSE_SHAPE_MAX_ISSUES = 5;
|
|
84
|
+
const VALIDATION_ISSUE_FORMAT = {
|
|
85
|
+
max: VALIDATION_MAX_ISSUES,
|
|
86
|
+
formatIssue: (issue) => `${formatZodIssuePointer(issue.path)}: ${issue.message}`
|
|
87
|
+
};
|
|
88
|
+
const RESPONSE_SHAPE_ISSUE_FORMAT = {
|
|
89
|
+
max: RESPONSE_SHAPE_MAX_ISSUES,
|
|
90
|
+
formatIssue: formatZodIssue
|
|
91
|
+
};
|
|
92
|
+
function formatIssueLines(issues, format) {
|
|
93
|
+
const head = issues.slice(0, format.max).map(format.formatIssue);
|
|
94
|
+
const overflow = issues.length - format.max;
|
|
95
|
+
if (overflow > 0) head.push(`... and ${overflow} more`);
|
|
96
|
+
return head.map((line) => ` ${line}`).join("\n");
|
|
66
97
|
}
|
|
67
98
|
function formatZodIssuePointer(path) {
|
|
68
99
|
if (path.length === 0) return "/";
|
|
69
100
|
return path.map((key) => `/${escapeJsonPointerSegment(key)}`).join("");
|
|
70
101
|
}
|
|
102
|
+
const RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION = "Metabase returned unexpected response shape";
|
|
103
|
+
var ResponseShapeError = class extends MetabaseError {
|
|
104
|
+
category = "response-shape";
|
|
105
|
+
isRetryable = false;
|
|
106
|
+
exitCode = 1;
|
|
107
|
+
developerDetail;
|
|
108
|
+
constructor(developerDetail) {
|
|
109
|
+
super(formatResponseShapeMessage(developerDetail.zodIssues, developerDetail.serverTag));
|
|
110
|
+
this.name = "ResponseShapeError";
|
|
111
|
+
this.developerDetail = developerDetail;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
function formatResponseShapeMessage(issues, serverTag) {
|
|
115
|
+
const lead = serverTag === null ? RESPONSE_SHAPE_LEAD_UNKNOWN_VERSION : `On Metabase ${serverTag} the response shape was unexpected`;
|
|
116
|
+
if (issues.length === 0) return lead;
|
|
117
|
+
return `${lead}:\n${formatIssueLines(issues, RESPONSE_SHAPE_ISSUE_FORMAT)}`;
|
|
118
|
+
}
|
|
71
119
|
var ConfigError = class extends MetabaseError {
|
|
72
120
|
category = "config";
|
|
73
121
|
isRetryable = false;
|
|
@@ -144,10 +192,14 @@ function errorMessage(value) {
|
|
|
144
192
|
}
|
|
145
193
|
|
|
146
194
|
//#endregion
|
|
147
|
-
//#region src/runtime/
|
|
148
|
-
|
|
149
|
-
|
|
195
|
+
//#region src/runtime/command-augment.ts
|
|
196
|
+
const augments = new WeakMap();
|
|
197
|
+
function setMetabaseAugment(cmd, augment) {
|
|
198
|
+
augments.set(cmd, augment);
|
|
199
|
+
}
|
|
200
|
+
function getMetabaseAugment(cmd) {
|
|
201
|
+
return augments.get(cmd) ?? null;
|
|
150
202
|
}
|
|
151
203
|
|
|
152
204
|
//#endregion
|
|
153
|
-
export { AbortError, ChainedRequestError, ConfigError, MetabaseError, NetworkError, TimeoutError, UnknownError, VERBOSE_ENV, ValidationError, errorMessage, escapeJsonPointerSegment, isNotFoundError,
|
|
205
|
+
export { AbortError, ChainedRequestError, ConfigError, MetabaseError, NetworkError, ResponseShapeError, TimeoutError, UnknownError, VERBOSE_ENV, ValidationError, errorMessage, escapeJsonPointerSegment, flagConsumesValue, getMetabaseAugment, isNotFoundError, normalizeFlag, resolveCitty, setMetabaseAugment, toAliasArray, toMetabaseError };
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import "./
|
|
10
|
-
import "./
|
|
11
|
-
import "./validate-
|
|
12
|
-
import { Dashboard, DashboardCreateInput, DashboardDetail, dashboardView } from "./dashboard-
|
|
13
|
-
import { preflightDashcardCardReferences, wrapChainedDashboardWriteError } from "./preflight-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import "./field-E0IBy4Uw.mjs";
|
|
8
|
+
import "./card-ezYiriML.mjs";
|
|
9
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
10
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
11
|
+
import "./validate-dPEOnOf8.mjs";
|
|
12
|
+
import { Dashboard, DashboardCreateInput, DashboardDetail, dashboardView } from "./dashboard-B4bn3z6t.mjs";
|
|
13
|
+
import { preflightDashcardCardReferences, wrapChainedDashboardWriteError } from "./preflight-BhsErYz3.mjs";
|
|
14
14
|
|
|
15
15
|
//#region src/commands/dashboard/create.ts
|
|
16
16
|
var create_default = defineMetabaseCommand({
|
|
17
17
|
meta: {
|
|
18
18
|
name: "create",
|
|
19
|
-
description: "Create a dashboard from
|
|
19
|
+
description: "Create a dashboard from JSON"
|
|
20
20
|
},
|
|
21
|
+
details: "Any positive card_id referenced from dashcards is pre-flight-validated (exists and readable, not archived) before the dashboard is created.",
|
|
22
|
+
capabilities: { minVersion: 58 },
|
|
21
23
|
args: {
|
|
22
24
|
...outputFlags,
|
|
23
25
|
...profileFlag,
|
|
@@ -44,7 +46,7 @@ var create_default = defineMetabaseCommand({
|
|
|
44
46
|
body: createOnly
|
|
45
47
|
});
|
|
46
48
|
if (dashcards === void 0 && tabs === void 0) {
|
|
47
|
-
|
|
49
|
+
renderSummary(created, dashboardView, `Created dashboard ${created.id} "${created.name}".`, ctx);
|
|
48
50
|
return;
|
|
49
51
|
}
|
|
50
52
|
try {
|
|
@@ -55,7 +57,7 @@ var create_default = defineMetabaseCommand({
|
|
|
55
57
|
tabs
|
|
56
58
|
}
|
|
57
59
|
});
|
|
58
|
-
|
|
60
|
+
renderSummary(updated, dashboardView, `Created dashboard ${updated.id} "${updated.name}".`, ctx);
|
|
59
61
|
} catch (error) {
|
|
60
62
|
throw wrapChainedDashboardWriteError(error, created.id);
|
|
61
63
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
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 { Workspace, WorkspaceCreateInput, workspaceView } from "./workspace-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import { Workspace, WorkspaceCreateInput, workspaceView } from "./workspace-D8HtUN0y.mjs";
|
|
10
10
|
|
|
11
11
|
//#region src/commands/workspace/create.ts
|
|
12
12
|
var create_default = defineMetabaseCommand({
|
|
@@ -14,6 +14,10 @@ var create_default = defineMetabaseCommand({
|
|
|
14
14
|
name: "create",
|
|
15
15
|
description: "Create a workspace"
|
|
16
16
|
},
|
|
17
|
+
capabilities: {
|
|
18
|
+
minVersion: 62,
|
|
19
|
+
tokenFeature: "workspaces"
|
|
20
|
+
},
|
|
17
21
|
args: {
|
|
18
22
|
...outputFlags,
|
|
19
23
|
...profileFlag,
|
|
@@ -40,7 +44,9 @@ var create_default = defineMetabaseCommand({
|
|
|
40
44
|
method: "POST",
|
|
41
45
|
body
|
|
42
46
|
});
|
|
43
|
-
|
|
47
|
+
const hasDatabases = (created.databases ?? []).length > 0;
|
|
48
|
+
const hint = hasDatabases ? "" : " No databases yet — run `mb workspace database provision`.";
|
|
49
|
+
renderSummary(created, workspaceView, `Created workspace ${created.id} "${created.name}".${hint}`, ctx);
|
|
44
50
|
}
|
|
45
51
|
});
|
|
46
52
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import "./field-E0IBy4Uw.mjs";
|
|
8
|
+
import { Card, CardCreateInput, cardView } from "./card-ezYiriML.mjs";
|
|
9
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
10
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
11
|
+
import "./validate-dPEOnOf8.mjs";
|
|
12
|
+
import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CYvOP8Ld.mjs";
|
|
13
|
+
|
|
14
|
+
//#region src/commands/card/create.ts
|
|
15
|
+
var create_default = defineMetabaseCommand({
|
|
16
|
+
meta: {
|
|
17
|
+
name: "create",
|
|
18
|
+
description: "Create a card (question, model, or metric) from JSON"
|
|
19
|
+
},
|
|
20
|
+
details: "The JSON body needs `name`, `display` (the visualization — e.g. table, bar, scalar), `dataset_query` (the query powering the card), and `visualization_settings` (`{}` is fine). When `dataset_query` is an MBQL 5 query it is checked against a bundled JSON Schema before sending — fix the reported errors, or pass --skip-validate to send anyway. Native-SQL and legacy queries are sent unchecked. See `mb skills get mbql`.",
|
|
21
|
+
capabilities: { minVersion: 58 },
|
|
22
|
+
args: {
|
|
23
|
+
...outputFlags,
|
|
24
|
+
...profileFlag,
|
|
25
|
+
...connectionFlags,
|
|
26
|
+
...bodyInputFlags,
|
|
27
|
+
...skipValidateFlag
|
|
28
|
+
},
|
|
29
|
+
outputSchema: Card,
|
|
30
|
+
examples: [
|
|
31
|
+
"cat card.json | mb card create",
|
|
32
|
+
"mb card create --file card.json",
|
|
33
|
+
"mb card create --body '{\"name\":\"x\",\"display\":\"table\",\"dataset_query\":{...},\"visualization_settings\":{}}'",
|
|
34
|
+
"mb card create --file card.json --skip-validate"
|
|
35
|
+
],
|
|
36
|
+
async run({ args, ctx, getClient }) {
|
|
37
|
+
const body = await readBody({
|
|
38
|
+
flag: args.body,
|
|
39
|
+
file: args.file
|
|
40
|
+
}, CardCreateInput);
|
|
41
|
+
preflightMbql5Query(body.dataset_query, CARD_DATASET_QUERY_LABELS, { skip: args["skip-validate"] === true });
|
|
42
|
+
const client = await getClient();
|
|
43
|
+
const created = await client.requestParsed(Card, "/api/card", {
|
|
44
|
+
method: "POST",
|
|
45
|
+
body
|
|
46
|
+
});
|
|
47
|
+
renderSummary(created, cardView, `Created card ${created.id} "${created.name}".`, ctx);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
export { create_default as default };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import "./validate-dPEOnOf8.mjs";
|
|
10
|
+
import { TRANSFORM_SOURCE_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CYvOP8Ld.mjs";
|
|
11
|
+
import { Transform, TransformCreateInput, transformView } from "./transform-BKahefz_.mjs";
|
|
12
|
+
|
|
13
|
+
//#region src/commands/transform/create.ts
|
|
14
|
+
var create_default = defineMetabaseCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: "create",
|
|
17
|
+
description: "Create a transform from JSON"
|
|
18
|
+
},
|
|
19
|
+
details: "The JSON body needs a `name`, a `source` (the query to run — native SQL or MBQL — under `source.query`), and a `target` (the warehouse table to write, with `database`/`schema`/`name`). When `source.query` is an MBQL 5 query it is checked against a bundled JSON Schema before sending; pass --skip-validate to bypass. See `mb skills get mbql`.",
|
|
20
|
+
capabilities: { minVersion: 59 },
|
|
21
|
+
args: {
|
|
22
|
+
...outputFlags,
|
|
23
|
+
...profileFlag,
|
|
24
|
+
...connectionFlags,
|
|
25
|
+
...bodyInputFlags,
|
|
26
|
+
...skipValidateFlag
|
|
27
|
+
},
|
|
28
|
+
outputSchema: Transform,
|
|
29
|
+
examples: [
|
|
30
|
+
"cat transform.json | mb transform create",
|
|
31
|
+
"mb transform create --file transform.json",
|
|
32
|
+
"mb transform create --file transform.json --skip-validate"
|
|
33
|
+
],
|
|
34
|
+
async run({ args, ctx, getClient }) {
|
|
35
|
+
const body = await readBody({
|
|
36
|
+
flag: args.body,
|
|
37
|
+
file: args.file
|
|
38
|
+
}, TransformCreateInput);
|
|
39
|
+
if (body.source.type === "query") preflightMbql5Query(body.source.query, TRANSFORM_SOURCE_QUERY_LABELS, { skip: args["skip-validate"] === true });
|
|
40
|
+
const client = await getClient();
|
|
41
|
+
const created = await client.requestParsed(Transform, "/api/transform", {
|
|
42
|
+
method: "POST",
|
|
43
|
+
body
|
|
44
|
+
});
|
|
45
|
+
renderSummary(created, transformView, `Created transform ${created.id} "${created.name}".`, ctx);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { create_default as default };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import "./validate-dPEOnOf8.mjs";
|
|
10
|
+
import { MEASURE_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CYvOP8Ld.mjs";
|
|
11
|
+
import { Measure, MeasureCreateInput, measureView } from "./measure-Bt3InQsA.mjs";
|
|
12
|
+
|
|
13
|
+
//#region src/commands/measure/create.ts
|
|
14
|
+
var create_default = defineMetabaseCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: "create",
|
|
17
|
+
description: "Create a measure (saved aggregation) from JSON"
|
|
18
|
+
},
|
|
19
|
+
details: "A measure is a reusable, saved aggregation tied to a table. The JSON body needs `name`, `table_id`, and a `definition` (an MBQL query holding exactly one aggregation). An MBQL 5 `definition` is checked against a bundled JSON Schema before sending; pass --skip-validate to bypass. See `mb skills get mbql`.",
|
|
20
|
+
capabilities: { minVersion: 59 },
|
|
21
|
+
args: {
|
|
22
|
+
...outputFlags,
|
|
23
|
+
...profileFlag,
|
|
24
|
+
...connectionFlags,
|
|
25
|
+
...bodyInputFlags,
|
|
26
|
+
...skipValidateFlag
|
|
27
|
+
},
|
|
28
|
+
outputSchema: Measure,
|
|
29
|
+
examples: [
|
|
30
|
+
"cat measure.json | mb measure create",
|
|
31
|
+
"mb measure create --file measure.json",
|
|
32
|
+
"mb measure create --file measure.json --skip-validate"
|
|
33
|
+
],
|
|
34
|
+
async run({ args, ctx, getClient }) {
|
|
35
|
+
const body = await readBody({
|
|
36
|
+
flag: args.body,
|
|
37
|
+
file: args.file
|
|
38
|
+
}, MeasureCreateInput);
|
|
39
|
+
preflightMbql5Query(body.definition, MEASURE_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
|
|
40
|
+
const client = await getClient();
|
|
41
|
+
const created = await client.requestParsed(Measure, "/api/measure", {
|
|
42
|
+
method: "POST",
|
|
43
|
+
body
|
|
44
|
+
});
|
|
45
|
+
renderSummary(created, measureView, `Created measure ${created.id} "${created.name}".`, ctx);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { create_default as default };
|
|
@@ -1,12 +1,12 @@
|
|
|
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 { Snippet, SnippetCreateInput, snippetView } from "./snippet-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import { Snippet, SnippetCreateInput, snippetView } from "./snippet-bi_0XbNT.mjs";
|
|
10
10
|
|
|
11
11
|
//#region src/commands/snippet/create.ts
|
|
12
12
|
var create_default = defineMetabaseCommand({
|
|
@@ -14,6 +14,7 @@ var create_default = defineMetabaseCommand({
|
|
|
14
14
|
name: "create",
|
|
15
15
|
description: "Create a native query snippet from a JSON spec"
|
|
16
16
|
},
|
|
17
|
+
capabilities: { minVersion: 58 },
|
|
17
18
|
args: {
|
|
18
19
|
...outputFlags,
|
|
19
20
|
...profileFlag,
|
|
@@ -36,7 +37,7 @@ var create_default = defineMetabaseCommand({
|
|
|
36
37
|
method: "POST",
|
|
37
38
|
body
|
|
38
39
|
});
|
|
39
|
-
|
|
40
|
+
renderSummary(created, snippetView, `Created snippet ${created.id} "${created.name}".`, ctx);
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import "./validate-dPEOnOf8.mjs";
|
|
10
|
+
import { SEGMENT_DEFINITION_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CYvOP8Ld.mjs";
|
|
11
|
+
import { Segment, SegmentCreateInput, segmentView } from "./segment-DhBmcr_E.mjs";
|
|
12
|
+
|
|
13
|
+
//#region src/commands/segment/create.ts
|
|
14
|
+
var create_default = defineMetabaseCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: "create",
|
|
17
|
+
description: "Create a segment (saved filter) from JSON"
|
|
18
|
+
},
|
|
19
|
+
details: "A segment is a reusable, saved row filter tied to a table. The JSON body needs `name`, `table_id`, and a `definition` (an MBQL query holding the filter). An MBQL 5 `definition` is checked against a bundled JSON Schema before sending; pass --skip-validate to bypass. See `mb skills get mbql`.",
|
|
20
|
+
capabilities: { minVersion: 58 },
|
|
21
|
+
args: {
|
|
22
|
+
...outputFlags,
|
|
23
|
+
...profileFlag,
|
|
24
|
+
...connectionFlags,
|
|
25
|
+
...bodyInputFlags,
|
|
26
|
+
...skipValidateFlag
|
|
27
|
+
},
|
|
28
|
+
outputSchema: Segment,
|
|
29
|
+
examples: [
|
|
30
|
+
"cat segment.json | mb segment create",
|
|
31
|
+
"mb segment create --file segment.json",
|
|
32
|
+
"mb segment create --file segment.json --skip-validate"
|
|
33
|
+
],
|
|
34
|
+
async run({ args, ctx, getClient }) {
|
|
35
|
+
const body = await readBody({
|
|
36
|
+
flag: args.body,
|
|
37
|
+
file: args.file
|
|
38
|
+
}, SegmentCreateInput);
|
|
39
|
+
preflightMbql5Query(body.definition, SEGMENT_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
|
|
40
|
+
const client = await getClient();
|
|
41
|
+
const created = await client.requestParsed(Segment, "/api/segment", {
|
|
42
|
+
method: "POST",
|
|
43
|
+
body
|
|
44
|
+
});
|
|
45
|
+
renderSummary(created, segmentView, `Created segment ${created.id} "${created.name}".`, ctx);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { create_default as default };
|
|
@@ -1,12 +1,12 @@
|
|
|
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 { TransformJob, TransformJobCreateInput, transformJobView } from "./transform-job-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import { TransformJob, TransformJobCreateInput, transformJobView } from "./transform-job-DjhoJbiV.mjs";
|
|
10
10
|
|
|
11
11
|
//#region src/commands/transform-job/create.ts
|
|
12
12
|
var create_default = defineMetabaseCommand({
|
|
@@ -14,6 +14,7 @@ var create_default = defineMetabaseCommand({
|
|
|
14
14
|
name: "create",
|
|
15
15
|
description: "Create a transform job"
|
|
16
16
|
},
|
|
17
|
+
capabilities: { minVersion: 59 },
|
|
17
18
|
args: {
|
|
18
19
|
...outputFlags,
|
|
19
20
|
...profileFlag,
|
|
@@ -36,7 +37,7 @@ var create_default = defineMetabaseCommand({
|
|
|
36
37
|
method: "POST",
|
|
37
38
|
body
|
|
38
39
|
});
|
|
39
|
-
|
|
40
|
+
renderSummary(created, transformJobView, `Created transform job ${created.id} "${created.name}".`, ctx);
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import { REMOTE_SYNC_PATHS } from "./poll-task-
|
|
7
|
-
import "./poll-
|
|
1
|
+
import { ConfigError } from "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import { REMOTE_SYNC_PATHS } from "./poll-task-51WRdugU.mjs";
|
|
7
|
+
import "./poll-4eoh5J0r.mjs";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
|
|
10
10
|
//#region src/commands/git-sync/create-branch.ts
|
|
@@ -27,6 +27,10 @@ var create_branch_default = defineMetabaseCommand({
|
|
|
27
27
|
name: "create-branch",
|
|
28
28
|
description: "Create a new branch on the git remote and switch git-sync to it"
|
|
29
29
|
},
|
|
30
|
+
capabilities: {
|
|
31
|
+
minVersion: 60,
|
|
32
|
+
tokenFeature: "remote_sync"
|
|
33
|
+
},
|
|
30
34
|
args: {
|
|
31
35
|
...outputFlags,
|
|
32
36
|
...profileFlag,
|
|
@@ -47,7 +51,7 @@ var create_branch_default = defineMetabaseCommand({
|
|
|
47
51
|
method: "POST",
|
|
48
52
|
body: { name }
|
|
49
53
|
});
|
|
50
|
-
|
|
54
|
+
renderSummary(result, createBranchView, `Created branch "${name}" and switched git-sync to it.`, ctx);
|
|
51
55
|
}
|
|
52
56
|
});
|
|
53
57
|
|
|
@@ -1,12 +1,12 @@
|
|
|
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 { Collection, CollectionCreateInput, collectionView } from "./collection-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import "./input-cMSEqISy.mjs";
|
|
7
|
+
import { readBody } from "./body-tcURGnGh.mjs";
|
|
8
|
+
import { bodyInputFlags } from "./body-flags-D7q87Btw.mjs";
|
|
9
|
+
import { Collection, CollectionCreateInput, collectionView } from "./collection-Bcy8cWYH.mjs";
|
|
10
10
|
|
|
11
11
|
//#region src/commands/collection/create.ts
|
|
12
12
|
var create_default = defineMetabaseCommand({
|
|
@@ -14,6 +14,7 @@ var create_default = defineMetabaseCommand({
|
|
|
14
14
|
name: "create",
|
|
15
15
|
description: "Create a collection from a JSON spec"
|
|
16
16
|
},
|
|
17
|
+
capabilities: { minVersion: 58 },
|
|
17
18
|
args: {
|
|
18
19
|
...outputFlags,
|
|
19
20
|
...profileFlag,
|
|
@@ -36,7 +37,7 @@ var create_default = defineMetabaseCommand({
|
|
|
36
37
|
method: "POST",
|
|
37
38
|
body
|
|
38
39
|
});
|
|
39
|
-
|
|
40
|
+
renderSummary(created, collectionView, `Created collection ${created.id} "${created.name}".`, ctx);
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import { parseId } from "./parse-id-
|
|
7
|
-
import "./poll-
|
|
8
|
-
import "./yaml-
|
|
9
|
-
import "./process-
|
|
10
|
-
import { checkDockerReady, readContainerCredentialsFile, requireWorkspaceContainerLocation } from "./docker-
|
|
11
|
-
import { WorkspaceCredentials } from "./workspace-credentials-
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { outputFlags } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand, localUrl, parseJson } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderItem } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-0_tOPvfI.mjs";
|
|
7
|
+
import "./poll-4eoh5J0r.mjs";
|
|
8
|
+
import "./yaml-Gv6wRFMF.mjs";
|
|
9
|
+
import "./process-CM7Uu5q_.mjs";
|
|
10
|
+
import { checkDockerReady, readContainerCredentialsFile, requireWorkspaceContainerLocation } from "./docker-Ds252Mwc.mjs";
|
|
11
|
+
import { WorkspaceCredentials } from "./workspace-credentials-8CBMQJFz.mjs";
|
|
12
12
|
import { z } from "zod";
|
|
13
13
|
|
|
14
14
|
//#region src/commands/workspace/credentials.ts
|
|
@@ -55,6 +55,7 @@ var credentials_default = defineMetabaseCommand({
|
|
|
55
55
|
name: "credentials",
|
|
56
56
|
description: "Read the workspace child instance's admin credentials (email + password + API key) from the running container"
|
|
57
57
|
},
|
|
58
|
+
capabilities: null,
|
|
58
59
|
args: {
|
|
59
60
|
...outputFlags,
|
|
60
61
|
id: {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "./command-augment-BH9qgQ5u.mjs";
|
|
2
|
+
import { connectionFlags, outputFlags, profileFlag } from "./error-ZsFeevV2.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-Duawf5lE.mjs";
|
|
4
|
+
import "./capabilities-7e9MgquN.mjs";
|
|
5
|
+
import { renderSummary } from "./render-0_GsapXa.mjs";
|
|
6
|
+
import { SyncTaskOrIdle, fetchCurrentTask, formatSyncTask, syncTaskIdleView, syncTaskView } from "./poll-task-51WRdugU.mjs";
|
|
7
|
+
import "./poll-4eoh5J0r.mjs";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/git-sync/current-task.ts
|
|
10
|
+
const CurrentTaskResult = SyncTaskOrIdle;
|
|
11
|
+
var current_task_default = defineMetabaseCommand({
|
|
12
|
+
meta: {
|
|
13
|
+
name: "current-task",
|
|
14
|
+
description: "Get the most recent git-sync task (or idle if none)"
|
|
15
|
+
},
|
|
16
|
+
capabilities: {
|
|
17
|
+
minVersion: 60,
|
|
18
|
+
tokenFeature: "remote_sync"
|
|
19
|
+
},
|
|
20
|
+
args: {
|
|
21
|
+
...outputFlags,
|
|
22
|
+
...profileFlag,
|
|
23
|
+
...connectionFlags
|
|
24
|
+
},
|
|
25
|
+
outputSchema: CurrentTaskResult,
|
|
26
|
+
examples: ["mb git-sync current-task", "mb git-sync current-task --json"],
|
|
27
|
+
async run({ ctx, getClient }) {
|
|
28
|
+
const client = await getClient();
|
|
29
|
+
const task = await fetchCurrentTask(client);
|
|
30
|
+
if (task === null) {
|
|
31
|
+
const idle = { status: "idle" };
|
|
32
|
+
renderSummary(idle, syncTaskIdleView, "No git-sync task is running.", ctx);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
renderSummary(task, syncTaskView, formatSyncTask(task), ctx);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { current_task_default as default };
|