@metabase/cli 0.2.0 → 0.2.1-alpha.bcm-ghy-4075-spawn-default-profile.eb120d1
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 +222 -10
- package/dist/add-collection-CCpC-GUz.mjs +9 -0
- package/dist/{add-collection-BTSGp4f9.mjs → add-collection-CLXfrgp4.mjs} +4 -4
- package/dist/{append-DY1-O789.mjs → append-DMcxP1LM.mjs} +5 -5
- package/dist/archive-4WqMsPWB.mjs +38 -0
- package/dist/{archive-CWtUzlHO.mjs → archive-5inmbMDL.mjs} +4 -4
- package/dist/{archive-CJ9rElKn.mjs → archive-BggM_AuL.mjs} +5 -5
- package/dist/{archive-pHsa4dL0.mjs → archive-BmhehbS0.mjs} +3 -3
- package/dist/{archive-DCPw3df6.mjs → archive-BwIZzWGe.mjs} +4 -4
- package/dist/{archive-DOa1u1aJ.mjs → archive-DErhQn8A.mjs} +4 -4
- package/dist/archive-DTnz1suV.mjs +38 -0
- package/dist/{archive-w6TX-zEk.mjs → archive-Q1387APe.mjs} +4 -4
- package/dist/{archive-BOEEMrYL.mjs → archive-h-3H5b4K.mjs} +5 -5
- package/dist/{auth-BrQtY0pO.mjs → auth-DzCAiArV.mjs} +4 -4
- package/dist/{body-C1_AaTS4.mjs → body-5snfmiwR.mjs} +3 -3
- package/dist/{branches-BsBzaGIf.mjs → branches-PL170CYS.mjs} +4 -4
- package/dist/{cancel-BNM0yyx-.mjs → cancel-EFKcF5J_.mjs} +3 -3
- package/dist/{cancel-task-Bggzn4JL.mjs → cancel-task-mFFx0d5m.mjs} +4 -4
- package/dist/{capabilities-DrDJo_ng.mjs → capabilities-CiaAfUgX.mjs} +1 -1
- package/dist/{card-DHCcmpgr.mjs → card-BsfdXK0O.mjs} +6 -6
- package/dist/{cards-D0hvA13L.mjs → cards-BI7zKb9M.mjs} +4 -4
- package/dist/cli.mjs +29 -26
- package/dist/{collection-D0O9gp3S.mjs → collection-2h_by9Ue.mjs} +6 -6
- package/dist/{collection-CFoLPrY5.mjs → collection-C52Ndi_O.mjs} +4 -2
- package/dist/{collection-namespace-DqPNrCdQ.mjs → collection-namespace-uNA5WhLB.mjs} +2 -2
- package/dist/{create-Cii_utzV.mjs → create-BLD0YniB.mjs} +5 -4
- package/dist/create-BP8EIWrP.mjs +161 -0
- package/dist/{create-Cyv7vHV_.mjs → create-BpizGzgQ.mjs} +5 -5
- package/dist/create-BxCsAdqc.mjs +45 -0
- package/dist/{create-CZ9KFnbi.mjs → create-CBKT7SE_.mjs} +5 -5
- package/dist/{create-C17Fh1_X.mjs → create-CQ32FwVe.mjs} +8 -7
- package/dist/{create-DKuixGJ2.mjs → create-CU3bYpsT.mjs} +5 -5
- package/dist/create-DAH24ltu.mjs +45 -0
- package/dist/{create-a3s1S2Dw.mjs → create-DutkaD7P.mjs} +7 -7
- package/dist/{create-E6L3WMqV.mjs → create-FuZa4j1N.mjs} +5 -5
- package/dist/{create-BR7x66KW.mjs → create-KveE3j3p.mjs} +8 -8
- package/dist/{create-C8ndg3g4.mjs → create-VrSowEbj.mjs} +6 -6
- package/dist/{create-oLb0E-ZP.mjs → create-acWKw4Y1.mjs} +7 -7
- package/dist/{create-branch-Dxn6UnV_.mjs → create-branch-CP1Y4_El.mjs} +4 -4
- package/dist/{create-05rX4oL-.mjs → create-xPfmI1Tu.mjs} +7 -7
- package/dist/{csv-T6_vlLJS.mjs → csv-CZyYi0vi.mjs} +5 -5
- package/dist/{current-task-DxWbw-bU.mjs → current-task-BR4koo9z.mjs} +4 -4
- package/dist/{dashboard-BpSPoeAn.mjs → dashboard-ARgJfamb.mjs} +8 -8
- package/dist/{database-CIbVSfua.mjs → database-BOqzcexD.mjs} +1 -1
- package/dist/{db-DBRijnh4.mjs → db-dbnxMPSR.mjs} +6 -6
- package/dist/{delete--P1xFX37.mjs → delete-BpL3vaaT.mjs} +5 -5
- package/dist/{delete-Ce2EBQYA.mjs → delete-C5DqDwev.mjs} +5 -5
- package/dist/delete-DCDFLHFa.mjs +49 -0
- package/dist/delete-P2Qlsr_s.mjs +49 -0
- package/dist/{delete-BBOIUl0D.mjs → delete-ea_ns1uM.mjs} +5 -5
- package/dist/{delete-runtime-B-8I9V1g.mjs → delete-runtime-DdBn6poA.mjs} +2 -2
- package/dist/{delete-table-Bj32NsXn.mjs → delete-table-tM048btr.mjs} +5 -5
- package/dist/{dependencies-ixzjVjUz.mjs → dependencies-DdOTClO2.mjs} +4 -4
- package/dist/destroy-B51EPvOJ.mjs +168 -0
- package/dist/{dirty-CH70h5m5.mjs → dirty-CEQYmhNF.mjs} +4 -4
- package/dist/{document-dZpuFu3I.mjs → document-DR1FLOn9.mjs} +5 -5
- package/dist/{eid-XjkBbyb_.mjs → eid-CtKGjAkz.mjs} +4 -4
- package/dist/events-C26DZ6yZ.mjs +44 -0
- package/dist/{export-CChMg-mL.mjs → export-CippuWZJ.mjs} +5 -8
- package/dist/export-Cy2DFtR2.mjs +10 -0
- package/dist/{field-B1heFeCz.mjs → field-CXDndCbB.mjs} +4 -4
- package/dist/{fields-C7h2QwUp.mjs → fields-Xm_HVNcX.mjs} +4 -4
- package/dist/{get-RlP_xiUd.mjs → get-3O7hv4zv.mjs} +5 -5
- package/dist/{get-Cj90oyxG.mjs → get-B0cq1uGy.mjs} +4 -4
- package/dist/{get-BWHJDa0B.mjs → get-B90bXbpw.mjs} +4 -4
- package/dist/{get-DWWmpQ87.mjs → get-BQBu2c94.mjs} +4 -4
- package/dist/{get-BsyccuCH.mjs → get-BQz45IBF.mjs} +5 -4
- package/dist/get-BSfKWZNJ.mjs +35 -0
- package/dist/get-BdNC8WM8.mjs +38 -0
- package/dist/{get-D9r2znrn.mjs → get-Bj66bcuU.mjs} +4 -4
- package/dist/{get-DRZENkCj.mjs → get-BrKqMM1d.mjs} +4 -4
- package/dist/{get-cyR67Lmq.mjs → get-CjZWjRa5.mjs} +4 -4
- package/dist/{get-kqY2lwhO.mjs → get-CwGqARAf.mjs} +4 -4
- package/dist/{get-B6ZJCJ8H.mjs → get-D5crrFSf.mjs} +4 -4
- package/dist/{get-AvGH_oph.mjs → get-DTkvGu_J.mjs} +3 -3
- package/dist/{get-KVN9ANVh.mjs → get-DX2fp6BB.mjs} +3 -3
- package/dist/get-DYuJVlP-.mjs +35 -0
- package/dist/{get-DrWYvefc.mjs → get-FIE88hj9.mjs} +4 -4
- package/dist/{get-C98IFgFi.mjs → get-Ihx_XaaI.mjs} +3 -3
- package/dist/{get-run-C4C_QQqO.mjs → get-run-lVwhQVFx.mjs} +4 -4
- package/dist/{get-Dg1J0wxb.mjs → get-z0BKkiRX.mjs} +4 -4
- package/dist/git-sync-CmB4YBmS.mjs +31 -0
- package/dist/{has-remote-changes-dLUGr0MD.mjs → has-remote-changes-DHrYSnTg.mjs} +4 -4
- package/dist/{import-Byull6jF.mjs → import-BU40xXSF.mjs} +6 -6
- package/dist/{input-m9ctfLxZ.mjs → input-BGyHn0Kr.mjs} +1 -1
- package/dist/{is-dirty-CU3ovgdG.mjs → is-dirty-BPluqPPP.mjs} +3 -3
- package/dist/is-dirty-DOy1TRcf.mjs +8 -0
- package/dist/{items-CEGDYWuF.mjs → items-BZpYkImP.mjs} +6 -6
- package/dist/{key-Ge4VwWvS.mjs → key-B8UAsQmB.mjs} +1 -1
- package/dist/{library-DHWWa4Tt.mjs → library-BGWDIfEM.mjs} +4 -4
- package/dist/list-B037kJtH.mjs +39 -0
- package/dist/{list-BuyRG3GB.mjs → list-B7Ihu6XI.mjs} +4 -4
- package/dist/{list-BtcpNl4-.mjs → list-BCeZlfpQ.mjs} +3 -3
- package/dist/{list-Bpv06V24.mjs → list-Bct00qku.mjs} +4 -4
- package/dist/{list-D9FY30xH.mjs → list-Be8xMtS3.mjs} +3 -3
- package/dist/{list-3z1ZChTG.mjs → list-CjBPVJqd.mjs} +3 -3
- package/dist/{list-CmCJwaGT.mjs → list-CoqHnusK.mjs} +3 -3
- package/dist/{list-O2w5xd1q.mjs → list-CvaoHnl-.mjs} +3 -3
- package/dist/{list-BliCJAjt.mjs → list-DamRE5Ds.mjs} +3 -3
- package/dist/{list-Br48kL09.mjs → list-DmopauvJ.mjs} +3 -3
- package/dist/{list-th_Ym6Cv.mjs → list-M_1sdYNH.mjs} +4 -4
- package/dist/{list-Cur_72xZ.mjs → list-Ov6bYzT9.mjs} +6 -5
- package/dist/{list-BFm4iEBt.mjs → list-SfpASSFx.mjs} +3 -3
- package/dist/{list-DEkPxVZu.mjs → list-fPfgG0PY.mjs} +3 -3
- package/dist/list-lsPeumLP.mjs +34 -0
- package/dist/{list-B9TyELob.mjs → list-sn9M7QQX.mjs} +3 -3
- package/dist/{list-CMb03cv3.mjs → list-wxIVl45_.mjs} +3 -3
- package/dist/listing-wFZuS5li.mjs +10 -0
- package/dist/{login-hKlYsAa1.mjs → login-CRlmR4op.mjs} +59 -19
- package/dist/{logout-DO8GVC6b.mjs → logout-DSZEUxSQ.mjs} +4 -4
- package/dist/{measure-R3T20wnB.mjs → measure-Ka0n3426.mjs} +5 -5
- package/dist/{parameter-values-BJb2GuLz.mjs → parameter-values-CwW8Xes7.mjs} +3 -3
- package/dist/{parse-enum-Cfne2suT.mjs → parse-enum-ooCsJWn6.mjs} +1 -1
- package/dist/parse-id-xS1tWJAq.mjs +18 -0
- package/dist/{parse-ref-C_MsXYI6.mjs → parse-ref-j4lxaQmd.mjs} +1 -1
- package/dist/{path-DzhQVCH8.mjs → path-CVmg-bmf.mjs} +3 -3
- package/dist/{poll-D1Yg78c3.mjs → poll-CuTlWBwI.mjs} +2 -2
- package/dist/{poll-task-DLUZaglY.mjs → poll-task-DhsYs8Hx.mjs} +2 -2
- package/dist/{preflight-Cy2jUSca.mjs → preflight-D3VgjEg7.mjs} +2 -2
- package/dist/{process-D5HN1wpT.mjs → process-7c8BcQEi.mjs} +1 -1
- package/dist/profile-name-CZ1-Vtrh.mjs +7 -0
- package/dist/{prompt-ZG9Drin_.mjs → prompt-jQnNKtlx.mjs} +1 -1
- package/dist/{publish-3hmHoaX-.mjs → publish-DFTCsjHU.mjs} +12 -7
- package/dist/{query-DkZViD_3.mjs → query-CPq-dhFV.mjs} +7 -7
- package/dist/{query-DTASj9Zu.mjs → query-Dfx69iJ4.mjs} +4 -4
- package/dist/{query-result-CbTFdlSf.mjs → query-result-Cg7odyR_.mjs} +1 -1
- package/dist/{remove-collection-D3wH9H6R.mjs → remove-collection-DUAMhx5L.mjs} +6 -6
- package/dist/{replace-CFzqkZXs.mjs → replace-DZWd6avZ.mjs} +5 -5
- package/dist/{requests-KBiY9UYy.mjs → requests-DYrDe-D0.mjs} +2 -2
- package/dist/{rescan-values-B1WycObS.mjs → rescan-values-DZSnEFA0.mjs} +5 -5
- package/dist/{resolve-Ct084wx3.mjs → resolve-BTZuO3Yq.mjs} +22 -15
- package/dist/{run-B8qEEdC8.mjs → run-B2b3Bjmv.mjs} +3 -3
- package/dist/{run-cw0qTEQ7.mjs → run-ryZ4sXK5.mjs} +6 -6
- package/dist/{runs-BOA4kK_X.mjs → runs-F82HVSie.mjs} +5 -5
- package/dist/{runtime-B-c-Fc2i.mjs → runtime-C6ASrgVA.mjs} +942 -906
- package/dist/{schema-tables-DRYzSVcW.mjs → schema-tables-CCOKb715.mjs} +4 -4
- package/dist/{schemas-BiMjD25L.mjs → schemas-LtVrNECH.mjs} +3 -3
- package/dist/{search-DjKxRXO5.mjs → search-9GSZHgJQ.mjs} +3 -3
- package/dist/{segment-CZkk0g79.mjs → segment-C40bORNZ.mjs} +5 -5
- package/dist/{selectors-B7MJUn3I.mjs → selectors-B2nDmrIV.mjs} +3 -3
- package/dist/{set-kyoORFG3.mjs → set-C57KDMGM.mjs} +6 -6
- package/dist/{set-active-CF868qdW.mjs → set-active-BDHGHtj2.mjs} +3 -3
- package/dist/{setting-BZgjURQ_.mjs → setting-zrJwy48C.mjs} +3 -3
- package/dist/{setup-D9joJYPb.mjs → setup-Doq8atTG.mjs} +4 -4
- package/dist/{skills-BqI05u72.mjs → skills-y-KsUqT9.mjs} +1 -1
- package/dist/{skills-D8NrJxjp.mjs → skills-yuzH_o8s.mjs} +3 -3
- package/dist/{snippet-y_FzKxaQ.mjs → snippet-ScFM8re8.mjs} +5 -5
- package/dist/{stash-BVMerTaF.mjs → stash-D_u6z4q6.mjs} +6 -6
- package/dist/{status-C-0jFjFn.mjs → status--Dm2Jv6k.mjs} +3 -3
- package/dist/{status-x8bDOa1i.mjs → status-CDPhDX5I.mjs} +26 -10
- package/dist/{summary-B-R9SdMF.mjs → summary-C9a2cBTE.mjs} +3 -3
- package/dist/{sync-schema-wne2KXIW.mjs → sync-schema-CDIWNCGI.mjs} +7 -7
- package/dist/sync-scope-DW2QpGwv.mjs +55 -0
- package/dist/{table-CS2-2INi.mjs → table-BKehBm_E.mjs} +4 -4
- package/dist/timeline-DEaiuB5V.mjs +157 -0
- package/dist/timeline-event-CLWMxvE0.mjs +22 -0
- package/dist/timeline-n3Nw9Egt.mjs +24 -0
- package/dist/transform-CrOOqKen.mjs +31 -0
- package/dist/transform-job-J-E0Mec7.mjs +25 -0
- package/dist/{transform-tag-DaNKreDj.mjs → transform-tag-Bkyasy_s.mjs} +4 -4
- package/dist/{transforms-DB2WNP2R.mjs → transforms-w2a5qsjJ.mjs} +4 -4
- package/dist/{tree-BIOphGVs.mjs → tree-JZC6vD9q.mjs} +3 -3
- package/dist/{unpublish-BWM36ZTg.mjs → unpublish-BsfIH46y.mjs} +4 -4
- package/dist/{update-BCbv880u.mjs → update-B8hn6VxO.mjs} +8 -8
- package/dist/{update-BlzcZwRQ.mjs → update-BSNK36fk.mjs} +8 -8
- package/dist/update-BTFj6WHo.mjs +52 -0
- package/dist/{update-6umfSz5t.mjs → update-BfIGjAVA.mjs} +5 -5
- package/dist/{update-HxYcvpSq.mjs → update-C1_aIL6X.mjs} +7 -7
- package/dist/{update-BchtHlbH.mjs → update-CXKWHOIN.mjs} +6 -6
- package/dist/{update-CTZg2Lia.mjs → update-Cg09lBb5.mjs} +9 -9
- package/dist/update-D01S8hnw.mjs +52 -0
- package/dist/{update-7Ts7KrB8.mjs → update-DKQjMsuE.mjs} +6 -6
- package/dist/{update-Sz0QRGWB.mjs → update-DSlSr7Ky.mjs} +6 -6
- package/dist/{update-DJDuIhYG.mjs → update-QaBVvlz9.mjs} +6 -6
- package/dist/{update-BiUeEGU-.mjs → update-WLb9099y.mjs} +8 -8
- package/dist/{update-zfLbmC-H.mjs → update-bFNKpay8.mjs} +6 -6
- package/dist/{update-dashcard-CfDpy7Lz.mjs → update-dashcard-CKZC7scy.mjs} +6 -6
- package/dist/{upgrade-BWl0VjMK.mjs → upgrade-DkK1ZbEY.mjs} +4 -4
- package/dist/{upload-CPzOhGeX.mjs → upload-DOMoaR9f.mjs} +3 -3
- package/dist/{uuid-D_YeqDui.mjs → uuid-DDbLKnbe.mjs} +2 -2
- package/dist/{validate-clAWO3X-.mjs → validate-DqQ7DQnP.mjs} +1 -1
- package/dist/{validate-query-CsK2_2_u.mjs → validate-query-BYG7lyaY.mjs} +2 -2
- package/dist/{values-DSk8ZJ3B.mjs → values-Bc99Kkuv.mjs} +3 -3
- package/dist/{verify-DkQdLjf3.mjs → verify-WvMbaT8W.mjs} +2 -2
- package/dist/{wait-DvSsMjea.mjs → wait-DmgEPnHW.mjs} +5 -5
- package/dist/{wait-flags-dXGThljd.mjs → wait-flags-BpzyrpAL.mjs} +2 -2
- package/dist/workspace-BgH_4xFO.mjs +75 -0
- package/dist/workspace-LFtHxcw9.mjs +19 -0
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +5 -3
- package/skill-data/git-sync/SKILL.md +20 -5
- package/skill-data/visualization/SKILL.md +1 -0
- package/dist/add-collection-DlAwt2Z3.mjs +0 -9
- package/dist/git-sync-JHa7bIyY.mjs +0 -31
- package/dist/is-dirty-Bb2dfEYs.mjs +0 -8
- package/dist/parse-id-DfY0Lugw.mjs +0 -12
- package/dist/transform-6hqM1DXA.mjs +0 -31
- package/dist/transform-job-DuERhLaj.mjs +0 -25
- /package/dist/{dashboard-B-MTpfeS.mjs → dashboard-BLihjDXg.mjs} +0 -0
- /package/dist/{document-CL4ML5FN.mjs → document-D4zB-5a0.mjs} +0 -0
- /package/dist/{measure-S9WszHre.mjs → measure-C3G1srWb.mjs} +0 -0
- /package/dist/{paginate-CMqbqhMC.mjs → paginate-FVZUxL4J.mjs} +0 -0
- /package/dist/{revision-message-flag-CHzX0cqV.mjs → revision-message-flag-CHrJgFFx.mjs} +0 -0
- /package/dist/{segment-BPb1H6DW.mjs → segment-CxRYEXeO.mjs} +0 -0
- /package/dist/{setting-Cko6bE_w.mjs → setting-m46MUtW5.mjs} +0 -0
- /package/dist/{snippet-DWiXNy4T.mjs → snippet-C8PVaPY9.mjs} +0 -0
- /package/dist/{table-C3RIKiYM.mjs → table-3onHpwcb.mjs} +0 -0
- /package/dist/{transform-JQel7e5H.mjs → transform-DP6J2ber.mjs} +0 -0
- /package/dist/{transform-job-CtVziW85.mjs → transform-job-B5x8aYfV.mjs} +0 -0
- /package/dist/{transform-tag-wFiWmiyO.mjs → transform-tag-BRwfWeHf.mjs} +0 -0
package/README.md
CHANGED
|
@@ -52,16 +52,19 @@ Against a server older than v62 the CLI detects the missing OAuth support and fa
|
|
|
52
52
|
|
|
53
53
|
On success the server is probed once — the rendered output shows the user, role (`Admin`/`User`), and Metabase version, and the same values are cached in `<configDir>/profiles.json` so later commands skip re-probing. Failure of either the auth probe (`/api/user/current`) or the server probe (`/api/session/properties`) rejects the login; an existing profile keeps its last-known-good credential and gains a `lastFailure` entry.
|
|
54
54
|
|
|
55
|
-
| Flag | Description
|
|
56
|
-
| ------------------------ |
|
|
57
|
-
| `--url <url>` | Metabase URL, including any subpath if the instance is hosted under one (`https://my.org.com/metabase`). Falls back to `MB_URL`, then prompts.
|
|
58
|
-
| `--api-key <value>` | API key. Skips the browser flow. Visible in shell history — pipe on stdin instead.
|
|
59
|
-
| `--client-id <id>` | Pre-registered OAuth client id (only needed when dynamic client registration is disabled on the server).
|
|
60
|
-
| `--profile <name>`, `-p` | Profile to write to (default: `default`).
|
|
61
|
-
| `--skip-verify` | Save without contacting the server (no probe, no cache).
|
|
55
|
+
| Flag | Description |
|
|
56
|
+
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
57
|
+
| `--url <url>` | Metabase URL, including any subpath if the instance is hosted under one (`https://my.org.com/metabase`). Falls back to `MB_URL`, then prompts. |
|
|
58
|
+
| `--api-key <value>` | API key. Skips the browser flow. Visible in shell history — pipe on stdin instead. |
|
|
59
|
+
| `--client-id <id>` | Pre-registered OAuth client id (only needed when dynamic client registration is disabled on the server). |
|
|
60
|
+
| `--profile <name>`, `-p` | Profile to write to (default: `default`). |
|
|
61
|
+
| `--skip-verify` | Save without contacting the server (no probe, no cache). |
|
|
62
|
+
| `--workspace` | Request a workspace-manager-scoped login: the stored token can only manage workspaces — every other endpoint 403s server-side. Browser OAuth only (an API key cannot carry a scope), so it requires a TTY and refuses `--api-key`/`MB_API_KEY`. Requires a server advertising the `mb:workspace-manager` scope. |
|
|
62
63
|
|
|
63
64
|
Non-interactive (non-TTY) login requires an API key; resolution order: `--api-key` → piped stdin → `MB_API_KEY` (first non-empty wins). Without one, non-interactive login fails rather than prompting.
|
|
64
65
|
|
|
66
|
+
A workspace-scoped profile that hits a 403 on a content command gets an error naming the scope and the fix (re-login without `--workspace`, or use a workspace profile) instead of a bare "Forbidden."
|
|
67
|
+
|
|
65
68
|
```sh
|
|
66
69
|
mb auth login # interactive: browser or API key
|
|
67
70
|
echo "$MB_KEY" | mb auth login --url https://m.example.com
|
|
@@ -919,6 +922,157 @@ mb measure archive 1 --revision-message "deprecated"
|
|
|
919
922
|
| --------------------------- | ------------------------------------------- |
|
|
920
923
|
| `--revision-message <text>` | Audit-log message recorded with the change. |
|
|
921
924
|
|
|
925
|
+
## Timelines
|
|
926
|
+
|
|
927
|
+
CRUD on `/api/timeline`. A timeline is a named collection of dated events rendered as annotations on time-series charts. Timelines live in collections (`collection_id: null` = root) and carry an icon (`star`, `cake`, `mail`, `warning`, `bell`, `cloud`).
|
|
928
|
+
|
|
929
|
+
### `mb timeline list`
|
|
930
|
+
|
|
931
|
+
```sh
|
|
932
|
+
mb timeline list
|
|
933
|
+
mb timeline list --json
|
|
934
|
+
mb timeline list --archived --json
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
| Flag | Description |
|
|
938
|
+
| ------------ | ----------------------------------------------- |
|
|
939
|
+
| `--archived` | Show archived timelines instead of active ones. |
|
|
940
|
+
|
|
941
|
+
### `mb timeline get <id>`
|
|
942
|
+
|
|
943
|
+
```sh
|
|
944
|
+
mb timeline get 1
|
|
945
|
+
mb timeline get 1 --json --full
|
|
946
|
+
```
|
|
947
|
+
|
|
948
|
+
### `mb timeline events <id>`
|
|
949
|
+
|
|
950
|
+
List the events on a timeline. Archived events are excluded unless `--archived` is passed (which returns both).
|
|
951
|
+
|
|
952
|
+
```sh
|
|
953
|
+
mb timeline events 1
|
|
954
|
+
mb timeline events 1 --archived --json
|
|
955
|
+
```
|
|
956
|
+
|
|
957
|
+
| Flag | Description |
|
|
958
|
+
| ------------ | ------------------------ |
|
|
959
|
+
| `--archived` | Include archived events. |
|
|
960
|
+
|
|
961
|
+
### `mb timeline create`
|
|
962
|
+
|
|
963
|
+
```sh
|
|
964
|
+
mb timeline create --body '{"name":"Releases"}'
|
|
965
|
+
cat timeline.json | mb timeline create
|
|
966
|
+
mb timeline create --file timeline.json
|
|
967
|
+
```
|
|
968
|
+
|
|
969
|
+
| Flag | Description |
|
|
970
|
+
| --------------- | ----------------------- |
|
|
971
|
+
| `--body <json>` | Inline JSON body. |
|
|
972
|
+
| `--file <path>` | Path to JSON body file. |
|
|
973
|
+
|
|
974
|
+
Body fields: `name` (required), `description` (optional), `icon` (optional, default `star`), `collection_id` (optional positive integer, omit for the root collection), `default` (optional boolean marking the collection's default timeline).
|
|
975
|
+
|
|
976
|
+
### `mb timeline update <id>`
|
|
977
|
+
|
|
978
|
+
Patch a timeline. Body is a partial subset of the create shape plus `archived`. Only the keys you send are touched. Changing `archived` cascades to every event on the timeline.
|
|
979
|
+
|
|
980
|
+
```sh
|
|
981
|
+
mb timeline update 1 --body '{"name":"Product releases"}'
|
|
982
|
+
cat patch.json | mb timeline update 1
|
|
983
|
+
mb timeline update 1 --file patch.json
|
|
984
|
+
```
|
|
985
|
+
|
|
986
|
+
| Flag | Description |
|
|
987
|
+
| --------------- | ----------------------- |
|
|
988
|
+
| `--body <json>` | Inline JSON body. |
|
|
989
|
+
| `--file <path>` | Path to JSON body file. |
|
|
990
|
+
|
|
991
|
+
### `mb timeline archive <id>`
|
|
992
|
+
|
|
993
|
+
Soft-delete a timeline (and, by server-side cascade, all its events) by setting `archived: true`. To unarchive use `mb timeline update <id> --body '{"archived":false}'`.
|
|
994
|
+
|
|
995
|
+
```sh
|
|
996
|
+
mb timeline archive 1
|
|
997
|
+
mb timeline archive 1 --json
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
### `mb timeline delete <id>`
|
|
1001
|
+
|
|
1002
|
+
Permanently delete a timeline and all its events. Irreversible — prefer `mb timeline archive` unless you mean it. Prompts for confirmation on a TTY; requires `--yes` otherwise.
|
|
1003
|
+
|
|
1004
|
+
```sh
|
|
1005
|
+
mb timeline delete 1 --yes
|
|
1006
|
+
mb timeline delete 1
|
|
1007
|
+
```
|
|
1008
|
+
|
|
1009
|
+
| Flag | Description |
|
|
1010
|
+
| ------- | ------------------ |
|
|
1011
|
+
| `--yes` | Skip confirmation. |
|
|
1012
|
+
|
|
1013
|
+
## Timeline events
|
|
1014
|
+
|
|
1015
|
+
CRUD on `/api/timeline-event`. An event is a dated annotation on a timeline. There is no server-side list endpoint — list events with `mb timeline events <id>`.
|
|
1016
|
+
|
|
1017
|
+
### `mb timeline-event get <id>`
|
|
1018
|
+
|
|
1019
|
+
```sh
|
|
1020
|
+
mb timeline-event get 1
|
|
1021
|
+
mb timeline-event get 1 --json --full
|
|
1022
|
+
```
|
|
1023
|
+
|
|
1024
|
+
### `mb timeline-event create`
|
|
1025
|
+
|
|
1026
|
+
```sh
|
|
1027
|
+
mb timeline-event create --body '{"name":"v2 launch","timestamp":"2026-07-01T00:00:00Z","timezone":"UTC","time_matters":false,"timeline_id":1}'
|
|
1028
|
+
cat event.json | mb timeline-event create
|
|
1029
|
+
mb timeline-event create --file event.json
|
|
1030
|
+
```
|
|
1031
|
+
|
|
1032
|
+
| Flag | Description |
|
|
1033
|
+
| --------------- | ----------------------- |
|
|
1034
|
+
| `--body <json>` | Inline JSON body. |
|
|
1035
|
+
| `--file <path>` | Path to JSON body file. |
|
|
1036
|
+
|
|
1037
|
+
Body fields: `name` (required), `timestamp` (required, ISO 8601), `timezone` (required, IANA name like `UTC` or `America/New_York`), `time_matters` (required boolean — `true` when the time of day is significant, `false` when only the date is), `timeline_id` (required positive integer), `description` (optional), `icon` (optional, default: the timeline's icon).
|
|
1038
|
+
|
|
1039
|
+
### `mb timeline-event update <id>`
|
|
1040
|
+
|
|
1041
|
+
Patch an event. Body is a partial subset of the create shape plus `archived`. Only the keys you send are touched; `timeline_id` moves the event to another timeline.
|
|
1042
|
+
|
|
1043
|
+
```sh
|
|
1044
|
+
mb timeline-event update 1 --body '{"name":"v2.1 launch"}'
|
|
1045
|
+
cat patch.json | mb timeline-event update 1
|
|
1046
|
+
mb timeline-event update 1 --file patch.json
|
|
1047
|
+
```
|
|
1048
|
+
|
|
1049
|
+
| Flag | Description |
|
|
1050
|
+
| --------------- | ----------------------- |
|
|
1051
|
+
| `--body <json>` | Inline JSON body. |
|
|
1052
|
+
| `--file <path>` | Path to JSON body file. |
|
|
1053
|
+
|
|
1054
|
+
### `mb timeline-event archive <id>`
|
|
1055
|
+
|
|
1056
|
+
Soft-delete an event by setting `archived: true`. To unarchive use `mb timeline-event update <id> --body '{"archived":false}'`.
|
|
1057
|
+
|
|
1058
|
+
```sh
|
|
1059
|
+
mb timeline-event archive 1
|
|
1060
|
+
mb timeline-event archive 1 --json
|
|
1061
|
+
```
|
|
1062
|
+
|
|
1063
|
+
### `mb timeline-event delete <id>`
|
|
1064
|
+
|
|
1065
|
+
Permanently delete an event. Prompts for confirmation on a TTY; requires `--yes` otherwise.
|
|
1066
|
+
|
|
1067
|
+
```sh
|
|
1068
|
+
mb timeline-event delete 1 --yes
|
|
1069
|
+
mb timeline-event delete 1
|
|
1070
|
+
```
|
|
1071
|
+
|
|
1072
|
+
| Flag | Description |
|
|
1073
|
+
| ------- | ------------------ |
|
|
1074
|
+
| `--yes` | Skip confirmation. |
|
|
1075
|
+
|
|
922
1076
|
## Collections
|
|
923
1077
|
|
|
924
1078
|
Read collections on `/api/collection`. Collections are the folders that contain cards, dashboards, and other collections. The list endpoint surfaces a virtual root collection (id `"root"`) alongside regular numeric ids; the get endpoint accepts only the numeric id.
|
|
@@ -1026,7 +1180,7 @@ mb library create --json
|
|
|
1026
1180
|
|
|
1027
1181
|
### `mb library publish`
|
|
1028
1182
|
|
|
1029
|
-
Publish tables (and their upstream dependencies) into the Library's Data collection (`POST /api/ee/data-studio/table/publish-tables`). The target Data collection is resolved automatically and the Library is created if it doesn't exist yet — there's no collection id to pass.
|
|
1183
|
+
Publish tables (and their upstream dependencies) into the Library's Data collection (`POST /api/ee/data-studio/table/publish-tables`). The target Data collection is resolved automatically and the Library is created if it doesn't exist yet — there's no collection id to pass. Publishing does not add the Data collection to the git-sync scope; on an instance with remote sync configured, the command warns on stderr with the `mb git-sync add-collection <id>` invocation that makes exports carry the published tables' metadata.
|
|
1030
1184
|
|
|
1031
1185
|
```sh
|
|
1032
1186
|
mb library publish --table-ids 1,2,3
|
|
@@ -1177,7 +1331,7 @@ Drive Metabase Enterprise Remote Sync (`/api/ee/remote-sync`) — import / expor
|
|
|
1177
1331
|
|
|
1178
1332
|
### `mb git-sync status`
|
|
1179
1333
|
|
|
1180
|
-
Roll up the current sync state in one call: configured branch, dirty flag,
|
|
1334
|
+
Roll up the current sync state in one call: configured branch, dirty flag, the most recent sync task (or `null` if none has ever run), and the collections marked for sync.
|
|
1181
1335
|
|
|
1182
1336
|
```sh
|
|
1183
1337
|
mb git-sync status
|
|
@@ -1336,6 +1490,64 @@ mb git-sync remove-collection 12
|
|
|
1336
1490
|
mb git-sync remove-collection 12 --json --profile prod
|
|
1337
1491
|
```
|
|
1338
1492
|
|
|
1493
|
+
## Workspaces
|
|
1494
|
+
|
|
1495
|
+
Lifecycle for EE workspaces via `/api/ee/workspace-manager` (Metabase v62+, `workspaces` premium feature). A workspace attaches databases and provisions warehouse isolation — a temporary schema + user per database — so work runs against real data without touching prod schemas. Alias: `mb ws`.
|
|
1496
|
+
|
|
1497
|
+
### `mb workspace list`
|
|
1498
|
+
|
|
1499
|
+
```sh
|
|
1500
|
+
mb workspace list
|
|
1501
|
+
mb workspace list --json
|
|
1502
|
+
```
|
|
1503
|
+
|
|
1504
|
+
### `mb workspace get <id>`
|
|
1505
|
+
|
|
1506
|
+
Includes per-database provisioning status (`unprovisioned` | `provisioning` | `provisioned` | `deprovisioning`), input schemas, and the isolated output namespace.
|
|
1507
|
+
|
|
1508
|
+
```sh
|
|
1509
|
+
mb workspace get 1 --json
|
|
1510
|
+
```
|
|
1511
|
+
|
|
1512
|
+
### `mb workspace create`
|
|
1513
|
+
|
|
1514
|
+
Creates the workspace and provisions isolation for each database (blocking). Each database must be eligible for workspaces (driver support + the `database-enable-workspaces` database setting).
|
|
1515
|
+
|
|
1516
|
+
```sh
|
|
1517
|
+
mb workspace create --name ws-reports --database-ids 1
|
|
1518
|
+
mb workspace create --name ws-etl --database-ids 1,2 --json
|
|
1519
|
+
mb workspace create --name transform-work --database-ids 1 --spawn
|
|
1520
|
+
```
|
|
1521
|
+
|
|
1522
|
+
| Flag | Description |
|
|
1523
|
+
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
1524
|
+
| `--name <name>` | Workspace name. |
|
|
1525
|
+
| `--database-ids <ids>` | Database ids to attach, comma separated. |
|
|
1526
|
+
| `--spawn` | Also spawn a workspace Metabase; the returned credential is saved to the `ws-<id>` profile (never printed) and made the default. |
|
|
1527
|
+
| `--keep-existing-auth` | Proceed despite broader same-server credentials in the profile store. Interactive only — refused in non-interactive contexts. |
|
|
1528
|
+
|
|
1529
|
+
Before creating, the profile store is swept for broader credentials against the same server: any API key profile, or any OAuth profile wider than `mb:workspace-manager`. Interactive runs offer to revoke the offenders (local clear + best-effort server-side token revocation; API keys must additionally be deleted in Admin settings); non-interactive runs hard-refuse so an agent can't proceed while a full-power credential is in reach.
|
|
1530
|
+
|
|
1531
|
+
With `--spawn` the parent asks its instance manager for a workspace Metabase (`spawn_instance: true`) and the CLI consumes the returned `url` + `api_key`: the credential is written straight to the profile store as `ws-<id>` — never to stdout, `--json`, or an agent transcript — and that profile becomes the default, so bare `mb` targets the new workspace from then on (explicit `--profile`/`MB_PROFILE` still win). Destroying the workspace (or `mb auth logout` on the profile) unhooks the default again. Because an exported `MB_API_KEY` outranks stored profiles, `--spawn` refuses to run while it is set — it would silently shadow the profile it is about to install.
|
|
1532
|
+
|
|
1533
|
+
### `mb workspace destroy <id>`
|
|
1534
|
+
|
|
1535
|
+
Destroy is the only irreversible moment, so it closes the work-loss window first: when a local profile named `ws-<id>` exists, the child is checked for unsynced work (`remote-sync is-dirty`) and a dirty workspace is auto-exported to its target branch before teardown. `--discard` skips the check and the export; a machine without the workspace's profile warns and proceeds (destroy is the billing-stop lever — ops cleanup must work from anywhere), while a profile whose child can't be reached refuses without `--discard`.
|
|
1536
|
+
|
|
1537
|
+
Then each provisioned database's warehouse isolation is torn down and the workspace removed; the matching local profile is dropped on success. Prompts unless `--yes`. Refuses (409) while any database is still provisioning/deprovisioning unless `--ignore-pending`, which removes the records and leaves those warehouse objects behind; unreachable-warehouse leftovers are reported as `orphaned_resources`.
|
|
1538
|
+
|
|
1539
|
+
```sh
|
|
1540
|
+
mb workspace destroy 1 --yes
|
|
1541
|
+
mb workspace destroy 1 --yes --discard
|
|
1542
|
+
mb workspace destroy 1 --yes --ignore-pending
|
|
1543
|
+
```
|
|
1544
|
+
|
|
1545
|
+
| Flag | Description |
|
|
1546
|
+
| ------------------ | ----------------------------------------------------------------------- |
|
|
1547
|
+
| `--yes` | Skip confirmation. |
|
|
1548
|
+
| `--discard` | Destroy without exporting unsynced work (skips the is-dirty check). |
|
|
1549
|
+
| `--ignore-pending` | Remove workspace records even while databases are mid-(de)provisioning. |
|
|
1550
|
+
|
|
1339
1551
|
## Instance setup
|
|
1340
1552
|
|
|
1341
1553
|
Bootstrapping a fresh, not-yet-configured Metabase instance.
|
|
@@ -1536,7 +1748,7 @@ Exit codes: `0` success, `2` `ConfigError` (missing name, unknown name, `MB_SKIL
|
|
|
1536
1748
|
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1537
1749
|
| `MB_URL` | Default URL for `auth login` and config resolution. |
|
|
1538
1750
|
| `MB_API_KEY` | Default API key (makes `auth login` non-interactive, skipping the browser flow; not stored). |
|
|
1539
|
-
| `MB_PROFILE` | Default profile when `--profile` is omitted. Falls back to `default`.
|
|
1751
|
+
| `MB_PROFILE` | Default profile when `--profile` is omitted. Falls back to the stored default pointer (set by `workspace create --spawn`), then `default`. |
|
|
1540
1752
|
| `MB_VERBOSE` | When set to `1`, prints structured developer-detail JSON to stderr on failure. |
|
|
1541
1753
|
| `MB_CLI_SKIP_PREFLIGHT` | When set to `1`, bypasses the per-command server version / token-feature preflight check. Escape hatch for patched Metabase builds; can mask real compatibility problems. |
|
|
1542
1754
|
| `MB_CLI_DISABLE_KEYRING` | When set to `1`, skips the OS keychain and stores credentials as plaintext in the profiles file. |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./capabilities-CiaAfUgX.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import "./poll-CuTlWBwI.mjs";
|
|
6
|
+
import "./poll-task-DhsYs8Hx.mjs";
|
|
7
|
+
import { SyncSettingsUpdateResult, add_collection_default, setCollectionRemoteSynced, syncSettingsUpdateView } from "./add-collection-CLXfrgp4.mjs";
|
|
8
|
+
|
|
9
|
+
export { add_collection_default as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
2
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { parseId } from "./parse-id-
|
|
4
|
-
import { REMOTE_SYNC_PATHS } from "./poll-task-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
3
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
4
|
+
import { REMOTE_SYNC_PATHS } from "./poll-task-DhsYs8Hx.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/git-sync/add-collection.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import "./input-
|
|
5
|
-
import { parseId } from "./parse-id-
|
|
6
|
-
import { UploadUpdateResult, readCsvFile, requireUploadFilePath, updateTableFromCsv, uploadUpdateResultView } from "./requests-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import "./input-BGyHn0Kr.mjs";
|
|
5
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
6
|
+
import { UploadUpdateResult, readCsvFile, requireUploadFilePath, updateTableFromCsv, uploadUpdateResultView } from "./requests-DYrDe-D0.mjs";
|
|
7
7
|
|
|
8
8
|
//#region src/commands/upload/append.ts
|
|
9
9
|
var append_default = defineMetabaseCommand({
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { Timeline, timelineView } from "./timeline-DEaiuB5V.mjs";
|
|
6
|
+
|
|
7
|
+
//#region src/commands/timeline/archive.ts
|
|
8
|
+
var archive_default = defineMetabaseCommand({
|
|
9
|
+
meta: {
|
|
10
|
+
name: "archive",
|
|
11
|
+
description: "Archive (soft-delete) a timeline and all its events by id"
|
|
12
|
+
},
|
|
13
|
+
capabilities: { minVersion: 58 },
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags,
|
|
18
|
+
id: {
|
|
19
|
+
type: "positional",
|
|
20
|
+
description: "Timeline id",
|
|
21
|
+
required: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
outputSchema: Timeline,
|
|
25
|
+
examples: ["mb timeline archive 1", "mb timeline archive 1 --json"],
|
|
26
|
+
async run({ args, ctx, getClient }) {
|
|
27
|
+
const id = parseId(args.id);
|
|
28
|
+
const client = await getClient();
|
|
29
|
+
const updated = await client.requestParsed(Timeline, `/api/timeline/${id}`, {
|
|
30
|
+
method: "PUT",
|
|
31
|
+
body: { archived: true }
|
|
32
|
+
});
|
|
33
|
+
renderSummary(updated, timelineView, `Archived timeline ${updated.id} "${updated.name}".`, ctx);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { archive_default as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { parseId } from "./parse-id-
|
|
5
|
-
import { Collection, collectionView } from "./collection-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { Collection, collectionView } from "./collection-C52Ndi_O.mjs";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/collection/archive.ts
|
|
8
8
|
var archive_default = defineMetabaseCommand({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { parseId } from "./parse-id-
|
|
5
|
-
import { revisionMessageFlag } from "./revision-message-flag-
|
|
6
|
-
import { Segment, segmentView } from "./segment-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { revisionMessageFlag } from "./revision-message-flag-CHrJgFFx.mjs";
|
|
6
|
+
import { Segment, segmentView } from "./segment-CxRYEXeO.mjs";
|
|
7
7
|
|
|
8
8
|
//#region src/commands/segment/archive.ts
|
|
9
9
|
var archive_default = defineMetabaseCommand({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
4
|
import "./embedding-CKdw8q7p.mjs";
|
|
5
5
|
import "./field-DsXTeqBy.mjs";
|
|
6
6
|
import "./parameter-BZ6y-Gfs.mjs";
|
|
7
7
|
import { Card, cardView } from "./card-B8G5jQQT.mjs";
|
|
8
|
-
import { parseId } from "./parse-id-
|
|
8
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
9
9
|
|
|
10
10
|
//#region src/commands/card/archive.ts
|
|
11
11
|
var archive_default = defineMetabaseCommand({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { parseId } from "./parse-id-
|
|
5
|
-
import { Document, documentView } from "./document-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { Document, documentView } from "./document-D4zB-5a0.mjs";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/document/archive.ts
|
|
8
8
|
var archive_default = defineMetabaseCommand({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { parseId } from "./parse-id-
|
|
5
|
-
import { Snippet, snippetView } from "./snippet-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { Snippet, snippetView } from "./snippet-C8PVaPY9.mjs";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/snippet/archive.ts
|
|
8
8
|
var archive_default = defineMetabaseCommand({
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { TimelineEvent, timelineEventView } from "./timeline-DEaiuB5V.mjs";
|
|
6
|
+
|
|
7
|
+
//#region src/commands/timeline-event/archive.ts
|
|
8
|
+
var archive_default = defineMetabaseCommand({
|
|
9
|
+
meta: {
|
|
10
|
+
name: "archive",
|
|
11
|
+
description: "Archive (soft-delete) a timeline event by id"
|
|
12
|
+
},
|
|
13
|
+
capabilities: { minVersion: 58 },
|
|
14
|
+
args: {
|
|
15
|
+
...outputFlags,
|
|
16
|
+
...profileFlag,
|
|
17
|
+
...connectionFlags,
|
|
18
|
+
id: {
|
|
19
|
+
type: "positional",
|
|
20
|
+
description: "Timeline event id",
|
|
21
|
+
required: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
outputSchema: TimelineEvent,
|
|
25
|
+
examples: ["mb timeline-event archive 1", "mb timeline-event archive 1 --json"],
|
|
26
|
+
async run({ args, ctx, getClient }) {
|
|
27
|
+
const id = parseId(args.id);
|
|
28
|
+
const client = await getClient();
|
|
29
|
+
const updated = await client.requestParsed(TimelineEvent, `/api/timeline-event/${id}`, {
|
|
30
|
+
method: "PUT",
|
|
31
|
+
body: { archived: true }
|
|
32
|
+
});
|
|
33
|
+
renderSummary(updated, timelineEventView, `Archived timeline event ${updated.id} "${updated.name}".`, ctx);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { archive_default as default };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
4
|
import "./embedding-CKdw8q7p.mjs";
|
|
5
5
|
import "./parameter-BZ6y-Gfs.mjs";
|
|
6
|
-
import { parseId } from "./parse-id-
|
|
7
|
-
import { Dashboard, dashboardView } from "./dashboard-
|
|
6
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
7
|
+
import { Dashboard, dashboardView } from "./dashboard-BLihjDXg.mjs";
|
|
8
8
|
|
|
9
9
|
//#region src/commands/dashboard/archive.ts
|
|
10
10
|
var archive_default = defineMetabaseCommand({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { parseId } from "./parse-id-
|
|
5
|
-
import { Measure, measureView } from "./measure-
|
|
6
|
-
import { revisionMessageFlag } from "./revision-message-flag-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
|
+
import { Measure, measureView } from "./measure-C3G1srWb.mjs";
|
|
6
|
+
import { revisionMessageFlag } from "./revision-message-flag-CHrJgFFx.mjs";
|
|
7
7
|
|
|
8
8
|
//#region src/commands/measure/archive.ts
|
|
9
9
|
var archive_default = defineMetabaseCommand({
|
|
@@ -11,10 +11,10 @@ var auth_default = defineCommandGroup({
|
|
|
11
11
|
purpose: "authentication and named profiles"
|
|
12
12
|
}],
|
|
13
13
|
subCommands: {
|
|
14
|
-
login: () => import("./login-
|
|
15
|
-
status: () => import("./status
|
|
16
|
-
list: () => import("./list-
|
|
17
|
-
logout: () => import("./logout-
|
|
14
|
+
login: () => import("./login-CRlmR4op.mjs").then((m) => m.default),
|
|
15
|
+
status: () => import("./status--Dm2Jv6k.mjs").then((m) => m.default),
|
|
16
|
+
list: () => import("./list-wxIVl45_.mjs").then((m) => m.default),
|
|
17
|
+
logout: () => import("./logout-DSZEUxSQ.mjs").then((m) => m.default)
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConfigError } from "./capabilities-
|
|
2
|
-
import { parseJson } from "./runtime-
|
|
3
|
-
import { DEFAULT_FLAG_NAME, readInput } from "./input-
|
|
1
|
+
import { ConfigError } from "./capabilities-CiaAfUgX.mjs";
|
|
2
|
+
import { parseJson } from "./runtime-C6ASrgVA.mjs";
|
|
3
|
+
import { DEFAULT_FLAG_NAME, readInput } from "./input-BGyHn0Kr.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/runtime/body.ts
|
|
6
6
|
async function readBody(sources, schema) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-
|
|
1
|
+
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import "./poll-
|
|
5
|
-
import { REMOTE_SYNC_PATHS } from "./poll-task-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import "./poll-CuTlWBwI.mjs";
|
|
5
|
+
import { REMOTE_SYNC_PATHS } from "./poll-task-DhsYs8Hx.mjs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
|
|
8
8
|
//#region src/commands/git-sync/branches.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import { parseId } from "./parse-id-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/transform/cancel.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-
|
|
1
|
+
import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
4
|
-
import "./poll-
|
|
5
|
-
import { REMOTE_SYNC_PATHS, SyncTask, syncTaskView } from "./poll-task-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
|
+
import "./poll-CuTlWBwI.mjs";
|
|
5
|
+
import { REMOTE_SYNC_PATHS, SyncTask, syncTaskView } from "./poll-task-DhsYs8Hx.mjs";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/git-sync/cancel-task.ts
|
|
8
8
|
var cancel_task_default = defineMetabaseCommand({
|
|
@@ -266,7 +266,7 @@ function errorMessage(value) {
|
|
|
266
266
|
//#endregion
|
|
267
267
|
//#region package.json
|
|
268
268
|
var name = "@metabase/cli";
|
|
269
|
-
var version = "0.2.
|
|
269
|
+
var version = "0.2.1-alpha.bcm-ghy-4075-spawn-default-profile.eb120d1";
|
|
270
270
|
var description = "Metabase CLI";
|
|
271
271
|
var license = "AGPL-3.0";
|
|
272
272
|
var repository = {
|
|
@@ -13,12 +13,12 @@ var card_default = defineCommandGroup({
|
|
|
13
13
|
purpose: "choose display and visualization_settings"
|
|
14
14
|
}],
|
|
15
15
|
subCommands: {
|
|
16
|
-
list: () => import("./list-
|
|
17
|
-
get: () => import("./get-
|
|
18
|
-
query: () => import("./query-
|
|
19
|
-
create: () => import("./create-
|
|
20
|
-
update: () => import("./update-
|
|
21
|
-
archive: () => import("./archive-
|
|
16
|
+
list: () => import("./list-Be8xMtS3.mjs").then((mod) => mod.default),
|
|
17
|
+
get: () => import("./get-DTkvGu_J.mjs").then((mod) => mod.default),
|
|
18
|
+
query: () => import("./query-Dfx69iJ4.mjs").then((mod) => mod.default),
|
|
19
|
+
create: () => import("./create-VrSowEbj.mjs").then((mod) => mod.default),
|
|
20
|
+
update: () => import("./update-C1_aIL6X.mjs").then((mod) => mod.default),
|
|
21
|
+
archive: () => import("./archive-BmhehbS0.mjs").then((mod) => mod.default)
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-
|
|
1
|
+
import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-CiaAfUgX.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import { defineMetabaseCommand } from "./runtime-
|
|
3
|
+
import { defineMetabaseCommand } from "./runtime-C6ASrgVA.mjs";
|
|
4
4
|
import "./embedding-CKdw8q7p.mjs";
|
|
5
5
|
import "./parameter-BZ6y-Gfs.mjs";
|
|
6
|
-
import { parseId } from "./parse-id-
|
|
7
|
-
import { DashboardDetail, DashcardCompact, dashcardView } from "./dashboard-
|
|
6
|
+
import { parseId } from "./parse-id-xS1tWJAq.mjs";
|
|
7
|
+
import { DashboardDetail, DashcardCompact, dashcardView } from "./dashboard-BLihjDXg.mjs";
|
|
8
8
|
|
|
9
9
|
//#region src/commands/dashboard/cards.ts
|
|
10
10
|
const DashcardListEnvelope = listEnvelopeSchema(DashcardCompact);
|