@metabase/cli 0.3.1 → 0.3.2-alpha.fix-transform-test-ee-path.041c793
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/dist/{add-collection-CYDUm_XO.mjs → add-collection-73X1DmCM.mjs} +6 -9
- package/dist/{alert-ClyhtxIz.mjs → alert-BB38lWSL.mjs} +7 -7
- package/dist/{alerts-Dt3D1gcz.mjs → alerts-DxyzqLSU.mjs} +7 -7
- package/dist/{append-Bl_Ensmr.mjs → append-CHme1Enm.mjs} +5 -5
- package/dist/{archive-DSMqHRr1.mjs → archive-BGiDxu8O.mjs} +4 -4
- package/dist/{archive-D3a3Wgz0.mjs → archive-BMyvyf62.mjs} +4 -4
- package/dist/{archive-BdHXQg4I.mjs → archive-C4Y2B58q.mjs} +4 -4
- package/dist/{archive-CWceyy8x.mjs → archive-CP5Hlqjw.mjs} +5 -5
- package/dist/{archive-BOyKhNOz.mjs → archive-Cq3fnc0v2.mjs} +6 -6
- package/dist/{archive-DVGDg8mP.mjs → archive-CqKqNdUh.mjs} +6 -6
- package/dist/{archive-DDru3vdy.mjs → archive-Czo5T0Lp.mjs} +4 -4
- package/dist/{archive-nKD3mOB8.mjs → archive-DBcxZwLd.mjs} +6 -6
- package/dist/{archive-CNblz55j.mjs → archive-DKFPJ9j3.mjs} +6 -6
- package/dist/{archive-BJZ7Dace.mjs → archive-DPL1qOuL.mjs} +6 -6
- package/dist/{archive-DiGxCojL.mjs → archive-eS-XA74p.mjs} +4 -4
- package/dist/{auth-aCksg8q2.mjs → auth-6YyB0HNB.mjs} +5 -5
- package/dist/{body-DxRSAMNC.mjs → body-OjAWKVaU.mjs} +3 -3
- package/dist/{branches-_0VWR2Zm.mjs → branches-D5YLVFDK.mjs} +4 -7
- package/dist/{cancel-ctpVE8uC.mjs → cancel-DeRIq1YJ.mjs} +4 -4
- package/dist/{cancel-task-FtxBka-M.mjs → cancel-task-CqExODVm.mjs} +5 -8
- package/dist/card-BMSqofd7.mjs +24 -0
- package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
- package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
- package/dist/{cards-DHOWAvfv.mjs → cards-B813G9I5.mjs} +7 -7
- package/dist/cli.mjs +572 -69
- package/dist/client-cJ7aw0Gt.mjs +4092 -0
- package/dist/collection-BfNg7tEg.mjs +20 -0
- package/dist/{collection-CfulNRBG.mjs → collection-BxdPxD38.mjs} +1 -1
- package/dist/{collection-CGoVLvcD.mjs → collection-DYM0p3Xl.mjs} +1 -1
- package/dist/{collection-namespace-CEoQ7G08.mjs → collection-namespace-CVzDgJV0.mjs} +2 -2
- package/dist/{content-translation-DNKerjS3.mjs → content-translation-QKWt9l76.mjs} +3 -3
- package/dist/{create-e650zxzX.mjs → create-4UnoQvsy.mjs} +5 -5
- package/dist/{create-DaYRnK5P.mjs → create-BJad6MR82.mjs} +8 -8
- package/dist/{create-CcLchJAN.mjs → create-BLiB2xqo.mjs} +7 -7
- package/dist/{create-C9vy4ZG6.mjs → create-BWp6L_dW.mjs} +5 -5
- package/dist/{create-C78g8Crb.mjs → create-Bef5eBCA.mjs} +5 -5
- package/dist/{create-F4Lf09xq.mjs → create-CMV3qlzJ.mjs} +4 -4
- package/dist/{create-DmvoibX8.mjs → create-CWGsiFvU.mjs} +4 -4
- package/dist/{create-C3IaXXty.mjs → create-CoFg1p6m.mjs} +4 -4
- package/dist/{create-CEydRMWS.mjs → create-CvIeb1NU.mjs} +7 -7
- package/dist/{create-vlrlY-2E.mjs → create-CvpeAcFc.mjs} +4 -4
- package/dist/{create-wJR4CxHA.mjs → create-D50TxVTk.mjs} +5 -8
- package/dist/{create-CLG2-bso.mjs → create-DEBgYRlM.mjs} +6 -6
- package/dist/{create-7ddYK4TA.mjs → create-DJm0YuLW.mjs} +6 -6
- package/dist/{create-BdPVWYSi.mjs → create-DmKwDQCY2.mjs} +6 -6
- package/dist/{create-branch-B8C7jl-J.mjs → create-branch-BN5iH-GM.mjs} +5 -9
- package/dist/{create-DIVhBIyE.mjs → create-bvpl6Fn5.mjs} +11 -7
- package/dist/create-uanpKsPo.mjs +34 -0
- package/dist/{csv-BLPJtlSC.mjs → csv-BhuX9fwh.mjs} +5 -5
- package/dist/{current-task-C-ldJbWE.mjs → current-task-BMt2NeqV.mjs} +5 -8
- package/dist/{dashboard-CtO_3EfC.mjs → dashboard-Ct_ajSYI.mjs} +10 -10
- package/dist/{dashboard-CKUR8ZpQ.mjs → dashboard-D0hwTC-f.mjs} +11 -2
- package/dist/{dashboard-BlbNszi8.mjs → dashboard-DgK81azj.mjs} +1 -1
- package/dist/{database-B19qlLKZ.mjs → database-C3E9PZSx.mjs} +1 -1
- package/dist/{database-C8G6ZKG0.mjs → database-JtHTqSpq.mjs} +1 -1
- package/dist/{db-xXselnBq.mjs → db-B_LW2VE-.mjs} +7 -7
- package/dist/{delete-ZJJyqsRh.mjs → delete-BOcPK_H9.mjs} +5 -5
- package/dist/{delete-BZZHw6pm.mjs → delete-CowGO4rh.mjs} +5 -5
- package/dist/{delete-D6WxgWRp.mjs → delete-D0f7VatX.mjs} +5 -5
- package/dist/{delete-BwSPQy7m.mjs → delete-D2bUV6uo.mjs} +5 -5
- package/dist/delete-DZ_ICQug.mjs +44 -0
- package/dist/{delete-BZwAOQxG.mjs → delete-Ur7b11no.mjs} +5 -5
- package/dist/{delete-runtime-D74s6vhu.mjs → delete-runtime-BKEzJn22.mjs} +1 -2
- package/dist/{delete-table-CJktZE3w.mjs → delete-table-Dd8X573t.mjs} +5 -5
- package/dist/{dependencies-BdqIqEIy.mjs → dependencies-XDVLBwko.mjs} +7 -7
- package/dist/{dirty-BW2As2wS.mjs → dirty-k-JmGLsS.mjs} +6 -9
- package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
- package/dist/document-BW9iow8R.mjs +19 -0
- package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
- package/dist/{download-mfFJ9oRS.mjs → download-CQjPIYDO.mjs} +3 -6
- package/dist/{eid-DZ-4t2xe.mjs → eid-CNTKDgwj.mjs} +4 -5
- package/dist/{events-D6yFmXP1.mjs → events-BshWlkDp.mjs} +5 -5
- package/dist/{export-DYZjz1WP.mjs → export-Dq6ecU8h.mjs} +7 -10
- package/dist/{field-BJ54wmIX.mjs → field-Bo2ISMO4.mjs} +5 -5
- package/dist/{field-Cr2DPUG9.mjs → field-CcN4oZy6.mjs} +16 -1
- package/dist/{field-BPsNa-TO.mjs → field-fDtIrY6D.mjs} +1 -1
- package/dist/{fields-FUWCgPOa.mjs → fields-CVctqn5G.mjs} +7 -7
- package/dist/{get-BraVQ1FJ.mjs → get-7xTeNGAo.mjs} +6 -6
- package/dist/{get-LAew34ID.mjs → get-8b5Sh50q.mjs} +6 -6
- package/dist/{get-CWnriw33.mjs → get-B4RgW-VT.mjs} +6 -6
- package/dist/{get-C_5AbfpO.mjs → get-BD81MHl_.mjs} +4 -4
- package/dist/{get-ByZJf9nO.mjs → get-Bl3OmlBP.mjs} +5 -5
- package/dist/get-BtTetWzm.mjs +32 -0
- package/dist/{get-_ggLr1tY.mjs → get-BvSA_mmf.mjs} +6 -6
- package/dist/{get-DhkltKIV.mjs → get-BvgEF--n.mjs} +4 -4
- package/dist/{get-DYaQpixt.mjs → get-C5sWciaE.mjs} +6 -6
- package/dist/get-CO6X4nZH.mjs +93 -0
- package/dist/{get-DVyesErX.mjs → get-CTPvdcud.mjs} +6 -6
- package/dist/{get-DMECsioX.mjs → get-CrpwxWOV.mjs} +4 -4
- package/dist/{get-Ba2HRdrx.mjs → get-D4oGhZWX.mjs} +6 -6
- package/dist/{get-CsN7NBI0.mjs → get-Df6cGHCM.mjs} +4 -4
- package/dist/{get-BWl3vzsf.mjs → get-DfMVlz64.mjs} +6 -6
- package/dist/{get-C5q49Dgx.mjs → get-Dr-U321T2.mjs} +6 -6
- package/dist/{get-DAOSGt5Z.mjs → get-Dw7jAno3.mjs} +6 -6
- package/dist/{get-DRJtsS1_.mjs → get-PWhOdz1z.mjs} +4 -4
- package/dist/{get-CQ0-fFWP.mjs → get-RslzBaXx.mjs} +5 -8
- package/dist/{get-run-oH4dRCBx.mjs → get-run-CZdDqfUj.mjs} +6 -6
- package/dist/{get-DCutQeiV.mjs → get-wjIgUlNl.mjs} +4 -4
- package/dist/git-sync-BmoRk0UV.mjs +28 -0
- package/dist/{git-sync-BDnxPrqU.mjs → git-sync-BwBRmEhE.mjs} +18 -1
- package/dist/{git-sync-DxD_ng48.mjs → git-sync-TjX1r_wF.mjs} +1 -1
- package/dist/{group-DBM87IgC.mjs → group-YQQ5GIcP.mjs} +2 -2
- package/dist/{has-remote-changes-CnmyIw_7.mjs → has-remote-changes-i-3MVxat.mjs} +5 -8
- package/dist/{import-B7Si-bSI.mjs → import-DWEKejya.mjs} +7 -10
- package/dist/{input-DH9i67x_.mjs → input-DEvkIjGr.mjs} +1 -1
- package/dist/{is-dirty-BOH_VEA8.mjs → is-dirty-C5ipqd4v.mjs} +3 -6
- package/dist/{items-DouHkWev.mjs → items-hKJ2ZDwy.mjs} +7 -7
- package/dist/{key-BEhqIzIQ.mjs → key-PYetuQ13.mjs} +1 -1
- package/dist/{library-1J_4Dicw.mjs → library-B7_04UVK.mjs} +5 -5
- package/dist/library-BPIzb3K_.mjs +81 -0
- package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
- package/dist/{list-BK_6VNm_.mjs → list-1vdClKSE.mjs} +4 -4
- package/dist/{list-DWLGpMvr.mjs → list-6myofqMv.mjs} +7 -7
- package/dist/{list-DhViDVx_.mjs → list-B-9QOX9Y.mjs} +6 -6
- package/dist/{list-aKUk-a1Y.mjs → list-Bs7_Rysg.mjs} +7 -7
- package/dist/list-CHuhMXet.mjs +35 -0
- package/dist/{list-DptEWB5Y.mjs → list-CLZU_EOf.mjs} +4 -4
- package/dist/{list-B2Ddf4W0.mjs → list-Cen-7uTo.mjs} +5 -5
- package/dist/{list-D2IYZ6lk.mjs → list-CgH-H-O6.mjs} +6 -6
- package/dist/{list-BeMYIeiI.mjs → list-CjNXskB4.mjs} +7 -7
- package/dist/{list-C1bAtgO1.mjs → list-CmFh1GQ_.mjs} +4 -4
- package/dist/{list-Cy0w4Fap.mjs → list-D6tTvYUP.mjs} +4 -4
- package/dist/{list-C7UvO3Uw.mjs → list-DI820W6w.mjs} +6 -6
- package/dist/{list-D25ofn4v.mjs → list-DKZnQ4Ts.mjs} +7 -7
- package/dist/{list-C0zJ2ehz.mjs → list-DKcC4cm0.mjs} +6 -6
- package/dist/{list-qs9wAtC3.mjs → list-DfRqNH1N.mjs} +4 -4
- package/dist/list-DjwnsyXM.mjs +60 -0
- package/dist/{list-sDpy4nDU.mjs → list-VNC-_E59.mjs} +6 -6
- package/dist/{list-DJK9_BEF.mjs → list-eKDT1XXk.mjs} +14 -13
- package/dist/{list-BXlTYsYA.mjs → list-oX2SMzxZ.mjs} +4 -4
- package/dist/{login-BmyCAfRV.mjs → login-DumZaWXK.mjs} +18 -15
- package/dist/{logout-DUR32q0V.mjs → logout-BsXPRc-3.mjs} +3 -4
- package/dist/{measure-DdVp-8jw.mjs → measure-BFxkbAoa.mjs} +6 -6
- package/dist/{notification-Fcq1fIPw.mjs → notification-DVrLkjFT.mjs} +1 -1
- package/dist/{parameter-DUKR8NXo.mjs → parameter-Celg0wZa.mjs} +1 -1
- package/dist/{parameter-values-CBR-cBev.mjs → parameter-values-CoF9Hx1p.mjs} +5 -6
- package/dist/{parse-enum-D0Jfm_Bz.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
- package/dist/{parse-id-B3YwNojT.mjs → parse-id-DmFJgpY6.mjs} +1 -1
- package/dist/{parse-ref-ibKVB0J4.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
- package/dist/{path-D8BQmEhL.mjs → path-BQ4lRDyN.mjs} +5 -5
- package/dist/{poll-75SvT7Zv.mjs → poll-CZeXepUQ.mjs} +2 -2
- package/dist/{preflight-CoF1Em99.mjs → preflight-BTQe4swo.mjs} +3 -4
- package/dist/{process-DBOOrmET.mjs → process-CTrfxxaC.mjs} +1 -1
- package/dist/{publish-Cb7XrQ3X.mjs → publish-CFB2Cc5A.mjs} +9 -9
- package/dist/{pulse-BmsDenXm.mjs → pulse-Dz0ocv0l.mjs} +1 -1
- package/dist/{pulse-DhG6I9mI.mjs → pulse-x0gFxWfG.mjs} +2 -2
- package/dist/{query-D35B588l.mjs → query-BJbUnAHf.mjs} +10 -12
- package/dist/query-CV2KCS5O.mjs +114 -0
- package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
- package/dist/{remove-collection-DJem6V26.mjs → remove-collection-D3yvKH3e.mjs} +6 -9
- package/dist/{render-CI93iP0I.mjs → render-BJRCs7rA.mjs} +13 -2
- package/dist/{replace-CtsWICrD.mjs → replace-uj4WTqx_.mjs} +5 -5
- package/dist/{rescan-values-CaXUL6z5.mjs → rescan-values-CzxQU318.mjs} +6 -6
- package/dist/{run-CM-Amtbf.mjs → run-B2f_omHu.mjs} +26 -14
- package/dist/run-DlO1J1Sx.mjs +50 -0
- package/dist/{run-BeLm17F4.mjs → run-yX2dtmE5.mjs} +6 -6
- package/dist/{runs-DFG63zgr.mjs → runs-DzUO45wU.mjs} +7 -7
- package/dist/{runtime-z8rra6-I.mjs → runtime-arKqJqIT.mjs} +994 -252
- package/dist/{schema-tables-COAHkIcy.mjs → schema-tables-DZCNzuQ6.mjs} +7 -7
- package/dist/{schemas-BX5BATiV.mjs → schemas-2ejqaVsG.mjs} +5 -5
- package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
- package/dist/{search-CPvvmhdt.mjs → search-DcihauDZ.mjs} +6 -6
- package/dist/{segment-C62L6BI3.mjs → segment-BQT2poPG.mjs} +6 -6
- package/dist/{selectors-P4QnrORk.mjs → selectors-BzestDld.mjs} +3 -3
- package/dist/{send-PZh5IKF8.mjs → send-DMxoLFo7.mjs} +4 -4
- package/dist/{set-DbCtUoFd.mjs → set-CDmiD0vv.mjs} +5 -5
- package/dist/{set-active-DL4QzWDO.mjs → set-active-RrvWR9NY.mjs} +5 -5
- package/dist/{setting-BlRcZbhC.mjs → setting-BiBLCcxz.mjs} +4 -4
- package/dist/{setup-D_SLaC-3.mjs → setup-DYsTzkWO.mjs} +4 -4
- package/dist/{signal-CMd0EFUa.mjs → signal-k7cm5N6h.mjs} +11 -2
- package/dist/skill-list-D9_1Pmt7.mjs +76 -0
- package/dist/skills-BPHXUfeL.mjs +351 -0
- package/dist/{skills-D991LB1M.mjs → skills-C3bxxC6a.mjs} +3 -3
- package/dist/snippet-BtfxE60H.mjs +19 -0
- package/dist/{stash-DyBxFoP6.mjs → stash-DdheS0Ad.mjs} +7 -11
- package/dist/{status-cfDHqK2Q.mjs → status-BuIzXRX1.mjs} +12 -11
- package/dist/{status-DUsiogz5.mjs → status-CXouQJ31.mjs} +11 -9
- package/dist/{subscription-Bn0AU7GN.mjs → subscription-CJ8Igs1U.mjs} +6 -6
- package/dist/{subscriptions-DwqjCVlc.mjs → subscriptions-D0NpGvCQ.mjs} +7 -7
- package/dist/{summary-BGwSNzf4.mjs → summary-D04S8gGj.mjs} +6 -6
- package/dist/{sync-schema-dtkDOAKe.mjs → sync-schema-DrA5zkdl.mjs} +7 -7
- package/dist/{sync-task-BACcrs0i.mjs → sync-task-BXeWuARG.mjs} +1 -1
- package/dist/{table-CsIJNPFf.mjs → table-C6h4tIRw.mjs} +1 -1
- package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
- package/dist/{table-BJoEAoCU.mjs → table-Dntbz7Q2.mjs} +5 -5
- package/dist/timeline-8jwsldo3.mjs +21 -0
- package/dist/{timeline-event-BsF7YqzZ.mjs → timeline-event-BbB1xEdI.mjs} +6 -6
- package/dist/{transform-DoTyyXAu.mjs → transform-CtqB1WYo.mjs} +2 -2
- package/dist/{transform-D3QX0jxA.mjs → transform-DiW7bREn.mjs} +68 -5
- package/dist/{transform-job-50GZHhKH.mjs → transform-job-AaMZRxAq.mjs} +1 -1
- package/dist/transform-job-B-1YAbvy.mjs +22 -0
- package/dist/{transform-job-DRrK28IH.mjs → transform-job-CCguL6LP.mjs} +41 -4
- package/dist/transform-m6s4kkWU.mjs +28 -0
- package/dist/{transform-tag-VM9R7Q_M.mjs → transform-tag-PjryheLF.mjs} +5 -5
- package/dist/transform-test-BjjCQ2xm.mjs +169 -0
- package/dist/transform-test-DSTkKKNC.mjs +16 -0
- package/dist/transform-test-gzDcbypy.mjs +25 -0
- package/dist/{transforms-BjACGbBp.mjs → transforms-CijX3VE7.mjs} +7 -7
- package/dist/{tree-BwS6JAmk.mjs → tree-Cmb3O6rH.mjs} +4 -5
- package/dist/{unpublish-DWdPnENY.mjs → unpublish-DkP_AcK5.mjs} +4 -7
- package/dist/{update-DKEHY-gt.mjs → update-8UmD1prT.mjs} +7 -7
- package/dist/{update-C1FBVLfC.mjs → update-BFyRBc-H.mjs} +8 -8
- package/dist/{update-tLIhVIPp.mjs → update-BrXGg3QO.mjs} +8 -8
- package/dist/{update-DCjAjihm.mjs → update-C91m9YAR.mjs} +6 -6
- package/dist/{update-BpPaacCF.mjs → update-COcx61Ur.mjs} +6 -6
- package/dist/update-Ci8YL4_2.mjs +41 -0
- package/dist/{update-BR_vkkd1.mjs → update-CtLbFCd_.mjs} +5 -5
- package/dist/{update-DTmRHBik.mjs → update-D6Zzvc7F.mjs} +7 -7
- package/dist/{update-cqR1U6DU.mjs → update-D8htjzNJ.mjs} +5 -5
- package/dist/{update-B2CF2DK4.mjs → update-D9kOTr0n.mjs} +6 -6
- package/dist/{update-C4y3iQsv.mjs → update-DPTio6i1.mjs} +7 -7
- package/dist/{update-DsZttiSC.mjs → update-DlWB9s0v.mjs} +5 -5
- package/dist/{update-BCT9qpVr.mjs → update-DubrpPbz.mjs} +5 -5
- package/dist/{update-3idz42uD.mjs → update-Dz47cKBk.mjs} +7 -7
- package/dist/{update-DkviXwSg.mjs → update-FCP5Lop2.mjs} +7 -7
- package/dist/{update-DlTaD1x3.mjs → update-KSHnb6vB.mjs} +9 -9
- package/dist/{update-dashcard-DlE_bb2F.mjs → update-dashcard-BlibHa5o.mjs} +7 -7
- package/dist/{upgrade-mNV7XuJG.mjs → upgrade-EwL6wPSY.mjs} +6 -8
- package/dist/upload-BZshRJIM.mjs +13 -0
- package/dist/{upload-CEGVxmYB.mjs → upload-D0KaTqUE.mjs} +4 -7
- package/dist/{upload-CD555ui1.mjs → upload-Do2PBSeH.mjs} +2 -2
- package/dist/{uuid-C4hqn3kA.mjs → uuid-DjKLDIVE.mjs} +10 -7
- package/dist/{validate-query-DaGYSmpQ.mjs → validate-query-D6_ad-Gi.mjs} +3 -4
- package/dist/{validate-BWchyW0V.mjs → validate-xR_MHBNR.mjs} +69 -23
- package/dist/{values-C0O3eNaW.mjs → values-Dc9612_L.mjs} +6 -6
- package/dist/{verify-DfTjYF7s.mjs → verify-DVN1eqXZ.mjs} +3 -18
- package/dist/{wait-WZmFenN_.mjs → wait-C-ovOTAZ.mjs} +7 -10
- package/dist/{wait-flags-BbfDSP8R.mjs → wait-flags-BQNmuvIj.mjs} +2 -2
- package/dist/{window-BkvrP0gB.mjs → window-DSb1tqSe.mjs} +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +31 -15
- package/skill-data/dashboard/SKILL.md +1 -1
- package/skill-data/data-workflow/references/building-clean-tables.md +6 -2
- package/skill-data/data-workflow/references/reusable-definitions.md +11 -3
- package/skill-data/document/SKILL.md +4 -1
- package/skill-data/git-sync/SKILL.md +5 -0
- package/skill-data/mbql/SKILL.md +84 -115
- package/skill-data/mbql/references/operators.md +77 -231
- package/skill-data/metadata/SKILL.md +1 -1
- package/skill-data/metadata/references/semantic-types.md +7 -1
- package/skill-data/native-sql/SKILL.md +8 -9
- package/skill-data/native-sql/references/template-tags.md +27 -27
- package/skill-data/notification/SKILL.md +7 -1
- package/skill-data/transform/SKILL.md +76 -4
- package/skill-data/transform-test-plan/SKILL.md +171 -0
- package/skill-data/transform-test-plan/references/checklist.md +81 -0
- package/skill-data/transform-test-plan/references/checks.md +260 -0
- package/skill-data/visualization/SKILL.md +13 -6
- package/skill-data/visualization/references/settings.md +13 -11
- package/skills/metabase-cli/SKILL.md +1 -1
- package/dist/card-CGCXbdmD.mjs +0 -24
- package/dist/client-mKuHg_sc.mjs +0 -2218
- package/dist/collection-D8Tk8i3a.mjs +0 -20
- package/dist/document-KbcHhzFz.mjs +0 -19
- package/dist/get-BC8J8BXB.mjs +0 -80
- package/dist/git-sync-Dik8nKfw.mjs +0 -28
- package/dist/library-ClLgrAXy.mjs +0 -19
- package/dist/list-CW5PdYCX.mjs +0 -98
- package/dist/network-error-D6CiOEBw.mjs +0 -431
- package/dist/predicates-Bkm2IoeX.mjs +0 -170
- package/dist/query-C256WBYG.mjs +0 -87
- package/dist/skills-DTCrMcix.mjs +0 -216
- package/dist/snippet-DTDO55Cg.mjs +0 -19
- package/dist/timeline-DcXPshcT.mjs +0 -21
- package/dist/transform-Dsf_wHAj.mjs +0 -28
- package/dist/transform-job-B1yLv5l-.mjs +0 -22
- package/dist/upload-DsYCf5kB.mjs +0 -13
package/dist/skills-DTCrMcix.mjs
DELETED
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import { d as ValidationError, f as errorMessage, i as ConfigError, p as isFileNotFoundError } from "./predicates-Bkm2IoeX.mjs";
|
|
2
|
-
import { O as readEnv, w as ENV_SKILLS_DIR } from "./cli.mjs";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
|
|
5
|
-
import { dirname, join, resolve } from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
|
-
import { YAMLParseError, parse } from "yaml";
|
|
8
|
-
//#region src/runtime/yaml.ts
|
|
9
|
-
function parseYamlResult(input, schema, opts = {}) {
|
|
10
|
-
const sourcePrefix = opts.source ? `${opts.source}: ` : "";
|
|
11
|
-
let raw;
|
|
12
|
-
try {
|
|
13
|
-
raw = parse(input);
|
|
14
|
-
} catch (error) {
|
|
15
|
-
if (error instanceof YAMLParseError) return {
|
|
16
|
-
ok: false,
|
|
17
|
-
error: new ConfigError(`${sourcePrefix}invalid YAML: ${error.message}`)
|
|
18
|
-
};
|
|
19
|
-
return {
|
|
20
|
-
ok: false,
|
|
21
|
-
error: new ConfigError(`${sourcePrefix}invalid YAML: ${errorMessage(error)}`)
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const parsed = schema.safeParse(raw);
|
|
25
|
-
if (!parsed.success) return {
|
|
26
|
-
ok: false,
|
|
27
|
-
error: new ValidationError(`${sourcePrefix}value did not match expected schema`, {
|
|
28
|
-
source: opts.source ?? "<input>",
|
|
29
|
-
zodIssues: parsed.error.issues
|
|
30
|
-
})
|
|
31
|
-
};
|
|
32
|
-
return {
|
|
33
|
-
ok: true,
|
|
34
|
-
value: parsed.data
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
//#region src/core/skills.ts
|
|
39
|
-
const Frontmatter = z.object({
|
|
40
|
-
name: z.string().min(1),
|
|
41
|
-
description: z.string().default(""),
|
|
42
|
-
hidden: z.boolean().default(false)
|
|
43
|
-
}).loose();
|
|
44
|
-
const SkillExtraFile = z.object({
|
|
45
|
-
path: z.string(),
|
|
46
|
-
content: z.string()
|
|
47
|
-
});
|
|
48
|
-
const SkillContent = z.object({
|
|
49
|
-
name: z.string(),
|
|
50
|
-
description: z.string(),
|
|
51
|
-
body: z.string(),
|
|
52
|
-
references: z.array(SkillExtraFile),
|
|
53
|
-
templates: z.array(SkillExtraFile)
|
|
54
|
-
});
|
|
55
|
-
const SKILL_DIR_NAMES = ["skills", "skill-data"];
|
|
56
|
-
const SKILL_MD_FILENAME = "SKILL.md";
|
|
57
|
-
const SKILL_REFERENCES_DIR = "references";
|
|
58
|
-
const SKILL_TEMPLATES_DIR = "templates";
|
|
59
|
-
const FRONTMATTER_PREFIX_BYTES = 8192;
|
|
60
|
-
const FRONTMATTER_FENCE = "---";
|
|
61
|
-
function loadAllSkills() {
|
|
62
|
-
return discoverSkills(resolveSkillDirs());
|
|
63
|
-
}
|
|
64
|
-
function loadVisibleSkills() {
|
|
65
|
-
return loadAllSkills().filter((s) => !s.hidden);
|
|
66
|
-
}
|
|
67
|
-
function findSkillByName(all, name) {
|
|
68
|
-
const hit = all.find((s) => s.name === name);
|
|
69
|
-
if (hit === void 0) throw new ConfigError(`unknown skill name: ${name} (${availableSkillNames(all)})`);
|
|
70
|
-
return hit;
|
|
71
|
-
}
|
|
72
|
-
function selectSkillsByNames(all, requested) {
|
|
73
|
-
if (requested.length === 0) throw new ConfigError("no skill names provided");
|
|
74
|
-
const byName = new Map(all.map((s) => [s.name, s]));
|
|
75
|
-
const missing = [];
|
|
76
|
-
const found = [];
|
|
77
|
-
for (const name of requested) {
|
|
78
|
-
const hit = byName.get(name);
|
|
79
|
-
if (hit === void 0) {
|
|
80
|
-
missing.push(name);
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
found.push(hit);
|
|
84
|
-
}
|
|
85
|
-
if (missing.length > 0) throw new ConfigError(`unknown skill name(s): ${missing.join(", ")} (${availableSkillNames(all)})`);
|
|
86
|
-
return found;
|
|
87
|
-
}
|
|
88
|
-
function availableSkillNames(all) {
|
|
89
|
-
const names = all.filter((s) => !s.hidden).map((s) => s.name);
|
|
90
|
-
return `available: ${names.length === 0 ? "none" : names.join(", ")}`;
|
|
91
|
-
}
|
|
92
|
-
function resolveSkillDirs() {
|
|
93
|
-
const override = readEnv(ENV_SKILLS_DIR);
|
|
94
|
-
if (override !== void 0 && override !== "") {
|
|
95
|
-
if (!isDirectory(override)) throw new ConfigError(`${ENV_SKILLS_DIR} points at ${override}, which is not a directory`);
|
|
96
|
-
return [resolve(override)];
|
|
97
|
-
}
|
|
98
|
-
const root = findPackageRoot();
|
|
99
|
-
if (root === null) return [];
|
|
100
|
-
return SKILL_DIR_NAMES.map((name) => join(root, name)).filter(isDirectory);
|
|
101
|
-
}
|
|
102
|
-
function findPackageRoot() {
|
|
103
|
-
let dir = dirname(fileURLToPath(import.meta.url));
|
|
104
|
-
while (true) {
|
|
105
|
-
for (const name of SKILL_DIR_NAMES) if (isDirectory(join(dir, name))) return dir;
|
|
106
|
-
const parent = dirname(dir);
|
|
107
|
-
if (parent === dir) return null;
|
|
108
|
-
dir = parent;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function discoverSkills(dirs) {
|
|
112
|
-
const skills = [];
|
|
113
|
-
for (const dir of dirs) {
|
|
114
|
-
let entries;
|
|
115
|
-
try {
|
|
116
|
-
entries = readdirSync(dir);
|
|
117
|
-
} catch (error) {
|
|
118
|
-
if (isFileNotFoundError(error)) continue;
|
|
119
|
-
throw error;
|
|
120
|
-
}
|
|
121
|
-
for (const entryName of entries) {
|
|
122
|
-
const skillDir = join(dir, entryName);
|
|
123
|
-
const fm = readFrontmatterFromSkill(skillDir);
|
|
124
|
-
if (fm === null) continue;
|
|
125
|
-
skills.push({
|
|
126
|
-
name: fm.name,
|
|
127
|
-
description: fm.description,
|
|
128
|
-
hidden: fm.hidden,
|
|
129
|
-
dir: skillDir
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
skills.sort((a, b) => a.name.localeCompare(b.name));
|
|
134
|
-
return skills;
|
|
135
|
-
}
|
|
136
|
-
function readFrontmatterFromSkill(skillDir) {
|
|
137
|
-
const prefix = readFilePrefix(join(skillDir, SKILL_MD_FILENAME), FRONTMATTER_PREFIX_BYTES);
|
|
138
|
-
if (prefix === null) return null;
|
|
139
|
-
return parseFrontmatter(prefix);
|
|
140
|
-
}
|
|
141
|
-
function readFilePrefix(path, maxBytes) {
|
|
142
|
-
let fd;
|
|
143
|
-
try {
|
|
144
|
-
fd = openSync(path, "r");
|
|
145
|
-
} catch (error) {
|
|
146
|
-
if (isFileNotFoundError(error)) return null;
|
|
147
|
-
throw error;
|
|
148
|
-
}
|
|
149
|
-
try {
|
|
150
|
-
const buffer = Buffer.alloc(maxBytes);
|
|
151
|
-
const bytesRead = readSync(fd, buffer, 0, maxBytes, 0);
|
|
152
|
-
return buffer.toString("utf8", 0, bytesRead);
|
|
153
|
-
} finally {
|
|
154
|
-
closeSync(fd);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
function parseFrontmatter(content) {
|
|
158
|
-
const trimmed = content.trimStart();
|
|
159
|
-
if (!trimmed.startsWith(FRONTMATTER_FENCE)) return null;
|
|
160
|
-
const afterOpening = trimmed.slice(3);
|
|
161
|
-
const closingIndex = afterOpening.indexOf(`\n${FRONTMATTER_FENCE}`);
|
|
162
|
-
if (closingIndex < 0) return null;
|
|
163
|
-
const result = parseYamlResult(afterOpening.slice(0, closingIndex), Frontmatter);
|
|
164
|
-
if (!result.ok) return null;
|
|
165
|
-
return result.value;
|
|
166
|
-
}
|
|
167
|
-
function readSkillContent(info, opts) {
|
|
168
|
-
const body = readFileSync(join(info.dir, SKILL_MD_FILENAME), "utf8");
|
|
169
|
-
if (!opts.includeExtras) return {
|
|
170
|
-
name: info.name,
|
|
171
|
-
description: info.description,
|
|
172
|
-
body,
|
|
173
|
-
references: [],
|
|
174
|
-
templates: []
|
|
175
|
-
};
|
|
176
|
-
return {
|
|
177
|
-
name: info.name,
|
|
178
|
-
description: info.description,
|
|
179
|
-
body,
|
|
180
|
-
references: collectExtraFiles(info.dir, SKILL_REFERENCES_DIR),
|
|
181
|
-
templates: collectExtraFiles(info.dir, SKILL_TEMPLATES_DIR)
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
function collectExtraFiles(skillDir, subdirName) {
|
|
185
|
-
const subdir = join(skillDir, subdirName);
|
|
186
|
-
if (!isDirectory(subdir)) return [];
|
|
187
|
-
const entries = readdirSync(subdir).toSorted();
|
|
188
|
-
const out = [];
|
|
189
|
-
for (const entry of entries) {
|
|
190
|
-
const full = join(subdir, entry);
|
|
191
|
-
if (!isFile(full)) continue;
|
|
192
|
-
out.push({
|
|
193
|
-
path: `${subdirName}/${entry}`,
|
|
194
|
-
content: readFileSync(full, "utf8")
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
return out;
|
|
198
|
-
}
|
|
199
|
-
function isDirectory(path) {
|
|
200
|
-
try {
|
|
201
|
-
return statSync(path).isDirectory();
|
|
202
|
-
} catch (error) {
|
|
203
|
-
if (isFileNotFoundError(error)) return false;
|
|
204
|
-
throw error;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
function isFile(path) {
|
|
208
|
-
try {
|
|
209
|
-
return statSync(path).isFile();
|
|
210
|
-
} catch (error) {
|
|
211
|
-
if (isFileNotFoundError(error)) return false;
|
|
212
|
-
throw error;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
//#endregion
|
|
216
|
-
export { readSkillContent as a, loadVisibleSkills as i, findSkillByName as n, selectSkillsByNames as o, loadAllSkills as r, SkillContent as t };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
-
//#region src/commands/snippet/index.ts
|
|
3
|
-
var snippet_default = defineCommandGroup({
|
|
4
|
-
name: "snippet",
|
|
5
|
-
description: "Manage Metabase native query snippets",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "core",
|
|
8
|
-
purpose: "native-SQL snippets and body input"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-C1bAtgO1.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-CsN7NBI0.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-vlrlY-2E.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-cqR1U6DU.mjs").then((mod) => mod.default),
|
|
15
|
-
archive: () => import("./archive-D3a3Wgz0.mjs").then((mod) => mod.default)
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
//#endregion
|
|
19
|
-
export { snippet_default as default };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
-
//#region src/commands/timeline/index.ts
|
|
3
|
-
var timeline_default = defineCommandGroup({
|
|
4
|
-
name: "timeline",
|
|
5
|
-
description: "Manage Metabase timelines (event annotations for time-series charts)",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "core",
|
|
8
|
-
purpose: "collection scoping — events render only on questions in the timeline's collection"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-BK_6VNm_.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-DCutQeiV.mjs").then((mod) => mod.default),
|
|
13
|
-
events: () => import("./events-D6yFmXP1.mjs").then((mod) => mod.default),
|
|
14
|
-
create: () => import("./create-C3IaXXty.mjs").then((mod) => mod.default),
|
|
15
|
-
update: () => import("./update-DsZttiSC.mjs").then((mod) => mod.default),
|
|
16
|
-
archive: () => import("./archive-DDru3vdy.mjs").then((mod) => mod.default),
|
|
17
|
-
delete: () => import("./delete-D6WxgWRp.mjs").then((mod) => mod.default)
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
//#endregion
|
|
21
|
-
export { timeline_default as default };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
-
//#region src/commands/transform/index.ts
|
|
3
|
-
var transform_default = defineCommandGroup({
|
|
4
|
-
name: "transform",
|
|
5
|
-
description: "Manage Metabase transforms",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "transform",
|
|
8
|
-
purpose: "body shape, run-with-wait, iterate"
|
|
9
|
-
}, {
|
|
10
|
-
skill: "mbql",
|
|
11
|
-
purpose: "MBQL source.query bodies"
|
|
12
|
-
}],
|
|
13
|
-
subCommands: {
|
|
14
|
-
list: () => import("./list-C7UvO3Uw.mjs").then((mod) => mod.default),
|
|
15
|
-
get: () => import("./get-BraVQ1FJ.mjs").then((mod) => mod.default),
|
|
16
|
-
dependencies: () => import("./dependencies-BdqIqEIy.mjs").then((mod) => mod.default),
|
|
17
|
-
create: () => import("./create-DaYRnK5P.mjs").then((mod) => mod.default),
|
|
18
|
-
update: () => import("./update-DlTaD1x3.mjs").then((mod) => mod.default),
|
|
19
|
-
delete: () => import("./delete-BwSPQy7m.mjs").then((mod) => mod.default),
|
|
20
|
-
"delete-table": () => import("./delete-table-CJktZE3w.mjs").then((mod) => mod.default),
|
|
21
|
-
run: () => import("./run-BeLm17F4.mjs").then((mod) => mod.default),
|
|
22
|
-
cancel: () => import("./cancel-ctpVE8uC.mjs").then((mod) => mod.default),
|
|
23
|
-
"get-run": () => import("./get-run-oH4dRCBx.mjs").then((mod) => mod.default),
|
|
24
|
-
runs: () => import("./runs-DFG63zgr.mjs").then((mod) => mod.default)
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
//#endregion
|
|
28
|
-
export { transform_default as default };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
-
//#region src/commands/transform-job/index.ts
|
|
3
|
-
var transform_job_default = defineCommandGroup({
|
|
4
|
-
name: "transform-job",
|
|
5
|
-
description: "Manage Metabase transform jobs",
|
|
6
|
-
skills: [{
|
|
7
|
-
skill: "transform",
|
|
8
|
-
purpose: "tag-driven job schedules"
|
|
9
|
-
}],
|
|
10
|
-
subCommands: {
|
|
11
|
-
list: () => import("./list-D2IYZ6lk.mjs").then((mod) => mod.default),
|
|
12
|
-
get: () => import("./get-Ba2HRdrx.mjs").then((mod) => mod.default),
|
|
13
|
-
create: () => import("./create-7ddYK4TA.mjs").then((mod) => mod.default),
|
|
14
|
-
update: () => import("./update-3idz42uD.mjs").then((mod) => mod.default),
|
|
15
|
-
delete: () => import("./delete-BZwAOQxG.mjs").then((mod) => mod.default),
|
|
16
|
-
run: () => import("./run-CM-Amtbf.mjs").then((mod) => mod.default),
|
|
17
|
-
transforms: () => import("./transforms-BjACGbBp.mjs").then((mod) => mod.default),
|
|
18
|
-
"set-active": () => import("./set-active-DL4QzWDO.mjs").then((mod) => mod.default)
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
//#endregion
|
|
22
|
-
export { transform_job_default as default };
|
package/dist/upload-DsYCf5kB.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
|
|
2
|
-
//#region src/commands/upload/index.ts
|
|
3
|
-
var upload_default = defineCommandGroup({
|
|
4
|
-
name: "upload",
|
|
5
|
-
description: "Upload CSV files into Metabase",
|
|
6
|
-
subCommands: {
|
|
7
|
-
csv: () => import("./csv-BLPJtlSC.mjs").then((m) => m.default),
|
|
8
|
-
append: () => import("./append-Bl_Ensmr.mjs").then((m) => m.default),
|
|
9
|
-
replace: () => import("./replace-CtsWICrD.mjs").then((m) => m.default)
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
//#endregion
|
|
13
|
-
export { upload_default as default };
|