drizzle-cube 0.5.4 → 0.5.5
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/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +4 -4
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +4 -4
- package/dist/adapters/{handler-CNn3q29F.cjs → handler-C1Qs8JMY.cjs} +3 -3
- package/dist/adapters/{handler-_TKfigrZ.js → handler-CoaNnZyf.js} +122 -1
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +4 -4
- package/dist/adapters/{locale-Dl_3R6hP.cjs → locale-CTuvUGBs.cjs} +1 -1
- package/dist/adapters/{locale-BQQrZYhz.js → locale-wMBdZ3Ks.js} +1 -1
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +8 -3
- package/dist/adapters/mcp-transport-B_HoB1HQ.js +579 -0
- package/dist/adapters/mcp-transport-bQzyrBPI.cjs +40 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +4 -4
- package/dist/adapters/utils-CIRA5_JO.cjs +128 -0
- package/dist/adapters/{utils-DG8ti3FT.js → utils-hC7Z8V39.js} +19 -5
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.d.ts +6 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/client/charts/chartConfigs.d.ts +34 -0
- package/dist/client/charts.js +12 -12
- package/dist/client/chunks/{DashboardEditModal-BBcB0E2g.js → DashboardEditModal-DayTXEH0.js} +10 -10
- package/dist/client/chunks/{DashboardEditModal-BBcB0E2g.js.map → DashboardEditModal-DayTXEH0.js.map} +1 -1
- package/dist/client/chunks/{FieldSearchModal-CisOov-_.js → FieldSearchModal-B7Mr8UNT.js} +4 -4
- package/dist/client/chunks/{FieldSearchModal-CisOov-_.js.map → FieldSearchModal-B7Mr8UNT.js.map} +1 -1
- package/dist/client/chunks/KpiDelta-C-hZ1x01.js +2 -0
- package/dist/client/chunks/KpiNumber-Beo8CK0a.js +2 -0
- package/dist/client/chunks/KpiText-ytYiRTRO.js +2 -0
- package/dist/client/chunks/{RetentionCombinedChart-DiyZwiPv.js → RetentionCombinedChart-D3dRmoos.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-DiyZwiPv.js.map → RetentionCombinedChart-D3dRmoos.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-usGF7BCo.js → RetentionHeatmap-DHPnn0qH.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-usGF7BCo.js.map → RetentionHeatmap-DHPnn0qH.js.map} +1 -1
- package/dist/client/chunks/SchemaVisualization-DbYZBTyi.js +2 -0
- package/dist/client/chunks/SchemaVisualizationLazy-BGo-1S3q.js +2 -0
- package/dist/client/chunks/{af-ZA-xDmO5F0s.js → af-ZA-BtTNqvHF.js} +8 -3
- package/dist/client/chunks/af-ZA-BtTNqvHF.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-0o1W-k3K.js → analysis-builder-lcGl099d.js} +245 -255
- package/dist/client/chunks/analysis-builder-lcGl099d.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-Cz4KAlIC.js → analysis-builder-shared-6BRZcEnu.js} +391 -459
- package/dist/client/chunks/analysis-builder-shared-6BRZcEnu.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-VFFm85hC.js → chart-activity-grid-BnY-jaoa.js} +10 -5
- package/dist/client/chunks/chart-activity-grid-BnY-jaoa.js.map +1 -0
- package/dist/client/chunks/{chart-area-CwwIHTmK.js → chart-area-G3OvLLK4.js} +2 -2
- package/dist/client/chunks/{chart-area-CwwIHTmK.js.map → chart-area-G3OvLLK4.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-Bmny922L.js → chart-bar-MLIWiLrc.js} +3 -3
- package/dist/client/chunks/{chart-bar-Bmny922L.js.map → chart-bar-MLIWiLrc.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-DM7GwtCV.js → chart-box-plot-c2XqKTWq.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-DM7GwtCV.js.map → chart-box-plot-c2XqKTWq.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-DJOq4IpT.js → chart-bubble-CAGvnYb1.js} +2 -2
- package/dist/client/chunks/{chart-bubble-DJOq4IpT.js.map → chart-bubble-CAGvnYb1.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-C2nzVCv1.js → chart-candlestick-oSPk-KQp.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-C2nzVCv1.js.map → chart-candlestick-oSPk-KQp.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-C-EkgYoa.js → chart-config-activity-grid-Dssynumw.js} +8 -1
- package/dist/client/chunks/chart-config-activity-grid-Dssynumw.js.map +1 -0
- package/dist/client/chunks/{chart-config-area-CMZpbIah.js → chart-config-area-40fbx2Ah.js} +8 -1
- package/dist/client/chunks/chart-config-area-40fbx2Ah.js.map +1 -0
- package/dist/client/chunks/{chart-config-bar-B8_V4YLg.js → chart-config-bar-CUWHwOPN.js} +8 -1
- package/dist/client/chunks/chart-config-bar-CUWHwOPN.js.map +1 -0
- package/dist/client/chunks/{chart-config-box-plot-Dwj7sEbU.js → chart-config-box-plot-D3Y0ien3.js} +8 -1
- package/dist/client/chunks/chart-config-box-plot-D3Y0ien3.js.map +1 -0
- package/dist/client/chunks/{chart-config-bubble-B0w0ZVp4.js → chart-config-bubble-BXSTKLn-.js} +8 -1
- package/dist/client/chunks/chart-config-bubble-BXSTKLn-.js.map +1 -0
- package/dist/client/chunks/{chart-config-candlestick-Bvo3zeIn.js → chart-config-candlestick-DEuD2Av0.js} +8 -1
- package/dist/client/chunks/chart-config-candlestick-DEuD2Av0.js.map +1 -0
- package/dist/client/chunks/{chart-config-gauge-C5ZiyZy7.js → chart-config-gauge-CCva3FfA.js} +5 -1
- package/dist/client/chunks/chart-config-gauge-CCva3FfA.js.map +1 -0
- package/dist/client/chunks/{chart-config-heat-map-Cv8qNnVP.js → chart-config-heat-map-Db4Z8UUn.js} +8 -1
- package/dist/client/chunks/chart-config-heat-map-Db4Z8UUn.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-delta-BraHQc2E.js → chart-config-kpi-delta-BfLf3iyi.js} +8 -1
- package/dist/client/chunks/chart-config-kpi-delta-BfLf3iyi.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-number-CeCkx7mC.js → chart-config-kpi-number-DWKFc9PX.js} +5 -1
- package/dist/client/chunks/chart-config-kpi-number-DWKFc9PX.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-text-CImM3SvH.js → chart-config-kpi-text-Dr4OG6cY.js} +5 -1
- package/dist/client/chunks/chart-config-kpi-text-Dr4OG6cY.js.map +1 -0
- package/dist/client/chunks/{chart-config-line-BVKapAQK.js → chart-config-line-DGYYdDw9.js} +8 -1
- package/dist/client/chunks/chart-config-line-DGYYdDw9.js.map +1 -0
- package/dist/client/chunks/{chart-config-measure-profile-KTVV1gO3.js → chart-config-measure-profile-sB3n_Azv.js} +5 -1
- package/dist/client/chunks/chart-config-measure-profile-sB3n_Azv.js.map +1 -0
- package/dist/client/chunks/{chart-config-pie-BZxVl25X.js → chart-config-pie-kte7OXa9.js} +8 -1
- package/dist/client/chunks/chart-config-pie-kte7OXa9.js.map +1 -0
- package/dist/client/chunks/{chart-config-radar-B7FByX3t.js → chart-config-radar-C9IxP5tc.js} +8 -1
- package/dist/client/chunks/chart-config-radar-C9IxP5tc.js.map +1 -0
- package/dist/client/chunks/{chart-config-radial-bar-UfW_3yyX.js → chart-config-radial-bar-C3WJ8Uhm.js} +8 -1
- package/dist/client/chunks/chart-config-radial-bar-C3WJ8Uhm.js.map +1 -0
- package/dist/client/chunks/{chart-config-scatter-BVVJuOnt.js → chart-config-scatter-BVN_29G5.js} +8 -1
- package/dist/client/chunks/chart-config-scatter-BVN_29G5.js.map +1 -0
- package/dist/client/chunks/{chart-config-tree-map-IHp97OyV.js → chart-config-tree-map-meeJEDi8.js} +8 -1
- package/dist/client/chunks/chart-config-tree-map-meeJEDi8.js.map +1 -0
- package/dist/client/chunks/{chart-config-waterfall-BdqG1V-x.js → chart-config-waterfall-CaPeWZMl.js} +8 -1
- package/dist/client/chunks/chart-config-waterfall-CaPeWZMl.js.map +1 -0
- package/dist/client/chunks/{chart-data-table-zZtwLf55.js → chart-data-table-BRXHT2H-.js} +65 -65
- package/dist/client/chunks/{chart-data-table-zZtwLf55.js.map → chart-data-table-BRXHT2H-.js.map} +1 -1
- package/dist/client/chunks/{chart-funnel-COTJy8BP.js → chart-funnel-aQ7G_CqU.js} +2 -2
- package/dist/client/chunks/{chart-funnel-COTJy8BP.js.map → chart-funnel-aQ7G_CqU.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-C8lIneI0.js → chart-gauge-DqbDKr9E.js} +2 -2
- package/dist/client/chunks/{chart-gauge-C8lIneI0.js.map → chart-gauge-DqbDKr9E.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-BJXt3RMt.js → chart-heat-map--6QnhUM8.js} +2 -2
- package/dist/client/chunks/{chart-heat-map-BJXt3RMt.js.map → chart-heat-map--6QnhUM8.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-DHkNqufb.js → chart-kpi-delta-DOSpRjfs.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-DHkNqufb.js.map → chart-kpi-delta-DOSpRjfs.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-BrXw7m-S.js → chart-kpi-number-BcMjeKm8.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-BrXw7m-S.js.map → chart-kpi-number-BcMjeKm8.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-D0plngLV.js → chart-kpi-text-BI9isc2i.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-D0plngLV.js.map → chart-kpi-text-BI9isc2i.js.map} +1 -1
- package/dist/client/chunks/{chart-line-DKvW32U-.js → chart-line-C0IHQteu.js} +3 -3
- package/dist/client/chunks/{chart-line-DKvW32U-.js.map → chart-line-C0IHQteu.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-CJU2hUq3.js → chart-markdown-BmgSMqPg.js} +2 -2
- package/dist/client/chunks/{chart-markdown-CJU2hUq3.js.map → chart-markdown-BmgSMqPg.js.map} +1 -1
- package/dist/client/chunks/{chart-measure-profile-DNT_tbh4.js → chart-measure-profile-DEyLW1fd.js} +3 -3
- package/dist/client/chunks/{chart-measure-profile-DNT_tbh4.js.map → chart-measure-profile-DEyLW1fd.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-CzYnncO-.js → chart-pie-DSIekr7p.js} +3 -3
- package/dist/client/chunks/{chart-pie-CzYnncO-.js.map → chart-pie-DSIekr7p.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-8iAt3QZl.js → chart-radar-SGl62hK8.js} +3 -3
- package/dist/client/chunks/{chart-radar-8iAt3QZl.js.map → chart-radar-SGl62hK8.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-CJbG7RIe.js → chart-radial-bar-C42EykOa.js} +3 -3
- package/dist/client/chunks/{chart-radial-bar-CJbG7RIe.js.map → chart-radial-bar-C42EykOa.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-C-wLBUmb.js → chart-sankey-DguImp0W.js} +2 -2
- package/dist/client/chunks/{chart-sankey-C-wLBUmb.js.map → chart-sankey-DguImp0W.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-NMjD1lbW.js → chart-scatter-Doeox4OP.js} +3 -3
- package/dist/client/chunks/{chart-scatter-NMjD1lbW.js.map → chart-scatter-Doeox4OP.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-HtJ-LJ7n.js → chart-sunburst-F3tgCpL-.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-HtJ-LJ7n.js.map → chart-sunburst-F3tgCpL-.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-CetaLMt8.js → chart-tree-map-DvuSCIc8.js} +3 -3
- package/dist/client/chunks/{chart-tree-map-CetaLMt8.js.map → chart-tree-map-DvuSCIc8.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-ontNp1Sd.js → chart-waterfall-Be5duXlO.js} +3 -3
- package/dist/client/chunks/{chart-waterfall-ontNp1Sd.js.map → chart-waterfall-Be5duXlO.js.map} +1 -1
- package/dist/client/chunks/{charts-core-B5UXUg6_.js → charts-core-XlOwoP_r.js} +2 -2
- package/dist/client/chunks/{charts-core-B5UXUg6_.js.map → charts-core-XlOwoP_r.js.map} +1 -1
- package/dist/client/chunks/{nl-NL-DDf0OdfW.js → nl-NL-BLDeSy_P.js} +8 -3
- package/dist/client/chunks/nl-NL-BLDeSy_P.js.map +1 -0
- package/dist/client/chunks/{schema-visualization-cnB2xZxn.js → schema-visualization-CM5ikSWB.js} +4 -4
- package/dist/client/chunks/{schema-visualization-cnB2xZxn.js.map → schema-visualization-CM5ikSWB.js.map} +1 -1
- package/dist/client/chunks/{useDebounce-BOBSvhHy.js → useDebounce-NEZQbfxN.js} +4 -4
- package/dist/client/chunks/{useDebounce-BOBSvhHy.js.map → useDebounce-NEZQbfxN.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-B_Pi4eXW.js → useExplainAI-DivfI0dW.js} +4 -4
- package/dist/client/chunks/{useExplainAI-B_Pi4eXW.js.map → useExplainAI-DivfI0dW.js.map} +1 -1
- package/dist/client/chunks/{utils-BIuqPQuJ.js → utils-Ctl_cVNR.js} +2 -2
- package/dist/client/chunks/{utils-BIuqPQuJ.js.map → utils-Ctl_cVNR.js.map} +1 -1
- package/dist/client/chunks/{vendor-BxLCTfvm.js → vendor-BcLQ6iVZ.js} +2 -2
- package/dist/client/chunks/{vendor-BxLCTfvm.js.map → vendor-BcLQ6iVZ.js.map} +1 -1
- package/dist/client/components/AnalysisBuilder/types.d.ts +2 -2
- package/dist/client/components.js +3 -3
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons.js +1 -1
- package/dist/client/index.js +14 -14
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/shared/chartDefaults.d.ts +5 -10
- package/dist/client/utils.js +5 -5
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +5 -5
- package/dist/server/index.cjs +4 -4
- package/dist/server/index.js +128 -2
- package/package.json +2 -2
- package/dist/adapters/mcp-transport-CkyawtUT.cjs +0 -40
- package/dist/adapters/mcp-transport-DSbd6M_u.js +0 -586
- package/dist/adapters/utils-DrWvXf0G.cjs +0 -128
- package/dist/client/chunks/KpiDelta-D09hA_UJ.js +0 -2
- package/dist/client/chunks/KpiNumber-B7F9F9fC.js +0 -2
- package/dist/client/chunks/KpiText-C3ZXOF8b.js +0 -2
- package/dist/client/chunks/SchemaVisualization-DP4k1fPp.js +0 -2
- package/dist/client/chunks/SchemaVisualizationLazy-Brqv_PY9.js +0 -2
- package/dist/client/chunks/af-ZA-xDmO5F0s.js.map +0 -1
- package/dist/client/chunks/analysis-builder-0o1W-k3K.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-Cz4KAlIC.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-VFFm85hC.js.map +0 -1
- package/dist/client/chunks/chart-config-activity-grid-C-EkgYoa.js.map +0 -1
- package/dist/client/chunks/chart-config-area-CMZpbIah.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-B8_V4YLg.js.map +0 -1
- package/dist/client/chunks/chart-config-box-plot-Dwj7sEbU.js.map +0 -1
- package/dist/client/chunks/chart-config-bubble-B0w0ZVp4.js.map +0 -1
- package/dist/client/chunks/chart-config-candlestick-Bvo3zeIn.js.map +0 -1
- package/dist/client/chunks/chart-config-gauge-C5ZiyZy7.js.map +0 -1
- package/dist/client/chunks/chart-config-heat-map-Cv8qNnVP.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-BraHQc2E.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-CeCkx7mC.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-text-CImM3SvH.js.map +0 -1
- package/dist/client/chunks/chart-config-line-BVKapAQK.js.map +0 -1
- package/dist/client/chunks/chart-config-measure-profile-KTVV1gO3.js.map +0 -1
- package/dist/client/chunks/chart-config-pie-BZxVl25X.js.map +0 -1
- package/dist/client/chunks/chart-config-radar-B7FByX3t.js.map +0 -1
- package/dist/client/chunks/chart-config-radial-bar-UfW_3yyX.js.map +0 -1
- package/dist/client/chunks/chart-config-scatter-BVVJuOnt.js.map +0 -1
- package/dist/client/chunks/chart-config-tree-map-IHp97OyV.js.map +0 -1
- package/dist/client/chunks/chart-config-waterfall-BdqG1V-x.js.map +0 -1
- package/dist/client/chunks/nl-NL-DDf0OdfW.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../utils-DrWvXf0G.cjs`),t=require(`../locale-Dl_3R6hP.cjs`),n=require(`../mcp-transport-CkyawtUT.cjs`);let r=require(`hono`);var i=e=>{let t={origin:`*`,allowMethods:[`GET`,`HEAD`,`PUT`,`POST`,`DELETE`,`PATCH`],allowHeaders:[],exposeHeaders:[],...e},n=(e=>typeof e==`string`?e===`*`?t.credentials?e=>e||null:()=>e:t=>e===t?t:null:typeof e==`function`?e:t=>e.includes(t)?t:null)(t.origin),r=(e=>typeof e==`function`?e:Array.isArray(e)?()=>e:()=>[])(t.allowMethods);return async function(e,i){function a(t,n){e.res.headers.set(t,n)}let o=await n(e.req.header(`origin`)||``,e);if(o&&a(`Access-Control-Allow-Origin`,o),t.credentials&&a(`Access-Control-Allow-Credentials`,`true`),t.exposeHeaders?.length&&a(`Access-Control-Expose-Headers`,t.exposeHeaders.join(`,`)),e.req.method===`OPTIONS`){(t.origin!==`*`||t.credentials)&&a(`Vary`,`Origin`),t.maxAge!=null&&a(`Access-Control-Max-Age`,t.maxAge.toString());let n=await r(e.req.header(`origin`)||``,e);n.length&&a(`Access-Control-Allow-Methods`,n.join(`,`));let i=t.allowHeaders;if(!i?.length){let t=e.req.header(`Access-Control-Request-Headers`);t&&(i=t.split(/\s*,\s*/))}return i?.length&&(a(`Access-Control-Allow-Headers`,i.join(`,`)),e.res.headers.append(`Vary`,`Access-Control-Request-Headers`)),e.res.headers.delete(`Content-Length`),e.res.headers.delete(`Content-Type`),new Response(null,{headers:e.res.headers,status:204,statusText:`No Content`})}await i(),(t.origin!==`*`||t.credentials)&&e.header(`Vary`,`Origin`,{append:!0})}};function a(a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,cache:p,mcp:m={enabled:!0},agent:h}=a;if(!a.semanticLayer&&(!o||o.length===0))throw Error(`Either semanticLayer or a non-empty cubes array must be provided`);let g=new r.Hono,_=async e=>t.r(await l(e),t.n(t=>e.req.header(t)));if(d){let e={...d,allowHeaders:t.t(d.allowHeaders)};g.use(`/*`,i(e))}let v=a.semanticLayer??new t.i({drizzle:s,schema:c,engineType:u,cache:p,rlsSetup:a.rlsSetup});if(!a.semanticLayer&&o&&o.forEach(e=>{v.registerCube(e)}),g.post(`${f}/load`,async t=>{try{let n=await t.req.json(),r=n.query||n,i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.get(`${f}/load`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r;try{r=JSON.parse(n)}catch{return t.json({error:`Invalid JSON in query parameter`},400)}let i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.post(`${f}/batch`,async t=>{try{let{queries:n}=await t.req.json();if(!n||!Array.isArray(n))return t.json({error:`Request body must contain a "queries" array`},400);if(n.length===0)return t.json({error:`Queries array cannot be empty`},400);let r=await e.u(n,await _(t),v,{skipCache:t.req.header(`x-cache-control`)===`no-cache`});return t.json(r)}catch(e){return console.error(`Batch execution error:`,e),t.json({error:e instanceof Error?e.message:`Batch execution failed`},500)}}),g.get(`${f}/meta`,t=>{try{let n=v.getMetadata();return t.json(e.a(n))}catch(e){return console.error(`Metadata error:`,e),t.json({error:e instanceof Error?e.message:`Failed to fetch metadata`},500)}}),g.post(`${f}/sql`,async t=>{try{let n=await t.req.json(),r=await _(t),i=v.validateQuery(n);if(!i.isValid)return t.json({error:`Query validation failed: ${i.errors.join(`, `)}`},400);let a=n.measures?.[0]||n.dimensions?.[0];if(!a)return t.json({error:`No measures or dimensions specified`},400);let o=a.split(`.`)[0],s=await v.generateSQL(o,n,r);return t.json(e.o(n,s))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.get(`${f}/sql`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r=JSON.parse(n),i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return t.json({error:`No measures or dimensions specified`},400);let s=o.split(`.`)[0],c=await v.generateSQL(s,r,i);return t.json(e.o(r,c))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.post(`${f}/dry-run`,async t=>{try{let n=await t.req.json(),r=await e.f(n.query||n,await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.get(`${f}/dry-run`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`,valid:!1},400);let r=await e.f(JSON.parse(n),await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.post(`${f}/explain`,async e=>{try{let t=await e.req.json(),n=t.query||t,r=t.options||{},i=await _(e),a=v.validateQuery(n);if(!a.isValid)return e.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=await v.explainQuery(n,i,r);return e.json(o)}catch(t){return console.error(`Explain error:`,t),e.json({error:t instanceof Error?t.message:`Explain query failed`},500)}}),h&&g.post(`${f}/agent/chat`,async e=>{try{let{handleAgentChat:t}=await Promise.resolve().then(()=>require(`../handler-CNn3q29F.cjs`)),{message:n,sessionId:r,history:i}=await e.req.json();if(!n||typeof n!=`string`)return e.json({error:`message is required and must be a string`},400);let a=(h.apiKey||``).trim();if(h.allowClientApiKey){let t=e.req.header(`x-agent-api-key`);t&&(a=t.trim())}if(!a)return e.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},401);let o=h.allowClientApiKey?e.req.header(`x-agent-provider`):void 0,s=h.allowClientApiKey?e.req.header(`x-agent-model`):void 0,c=h.allowClientApiKey?e.req.header(`x-agent-provider-endpoint`):void 0,l=await _(e),u=h.buildSystemContext?.(l),d=new TextEncoder,f=new ReadableStream({async start(e){try{let f=t({message:n,sessionId:r,history:i,semanticLayer:v,securityContext:l,agentConfig:h,apiKey:a,systemContext:u,providerOverride:o,modelOverride:s,baseURLOverride:c});for await(let t of f){let n=`data: ${JSON.stringify(t)}\n\n`;e.enqueue(d.encode(n))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(d.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}});return new Response(f,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}catch(t){return console.error(`Agent chat error:`,t),e.json({error:t instanceof Error?t.message:`Agent chat failed`},500)}}),m.enabled!==!1){let e=n.o(v,m.resources),t=n.y(m.prompts),r=n.v(m.instructions),i=m.basePath??`/mcp`;g.post(`${i}`,async i=>{if(m.resourceMetadataUrl&&!n.u(i.req.header(`authorization`)))return i.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),i.json({error:`Bearer token required`},401);let a=n.S(i.req.header(`origin`),m.allowedOrigins?{allowedOrigins:m.allowedOrigins}:{});if(!a.valid)return i.json(n.i(null,-32600,a.reason),403);let o=i.req.header(`accept`);if(!n.x(o))return i.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),400);let s=n.h(i.req.header());if(!s.ok)return i.json({error:`Unsupported MCP protocol version`,supported:s.supported},426);let c=n.g(await i.req.json().catch(()=>null));if(!c)return i.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),400);let l=n.C(o),u=c.method===`initialize`;try{let a=await n.l(c.method,c.params,{semanticLayer:v,extractSecurityContext:(e,t)=>_(e),rawRequest:i,rawResponse:null,negotiatedProtocol:s.negotiated,resources:e,prompts:t,instructions:r,appEnabled:!!m.app,appConfig:typeof m.app==`object`?m.app:void 0,serverName:m.serverName});if(n.m(c))return i.body(null,202);let o=n.a(c.id??null,a),d=u&&a&&typeof a==`object`&&`sessionId`in a?a.sessionId:void 0,f={};if(d&&(f[n.r]=d),l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...f}})}return i.json(o,200,f)}catch(e){if(n.m(c))return console.error(`MCP notification processing error:`,e),i.body(null,202);console.error(`MCP RPC error:`,e);let t=e?.code??-32603,r=e?.data,a=e.message||`MCP request failed`,o=n.i(c.id??null,t,a,r);if(l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}return i.json(o,200)}}),g.delete(`${i}`,e=>m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`))?(e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401)):e.json({error:`Session termination not supported`},405)),g.get(`${i}`,e=>{if(m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401);let t=new TextEncoder,r=n._(),i,a=new ReadableStream({start(e){e.enqueue(t.encode(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3))),i=setInterval(()=>{e.enqueue(t.encode(`: keep-alive
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../utils-CIRA5_JO.cjs`),t=require(`../locale-CTuvUGBs.cjs`),n=require(`../mcp-transport-bQzyrBPI.cjs`);let r=require(`hono`);var i=e=>{let t={origin:`*`,allowMethods:[`GET`,`HEAD`,`PUT`,`POST`,`DELETE`,`PATCH`],allowHeaders:[],exposeHeaders:[],...e},n=(e=>typeof e==`string`?e===`*`?t.credentials?e=>e||null:()=>e:t=>e===t?t:null:typeof e==`function`?e:t=>e.includes(t)?t:null)(t.origin),r=(e=>typeof e==`function`?e:Array.isArray(e)?()=>e:()=>[])(t.allowMethods);return async function(e,i){function a(t,n){e.res.headers.set(t,n)}let o=await n(e.req.header(`origin`)||``,e);if(o&&a(`Access-Control-Allow-Origin`,o),t.credentials&&a(`Access-Control-Allow-Credentials`,`true`),t.exposeHeaders?.length&&a(`Access-Control-Expose-Headers`,t.exposeHeaders.join(`,`)),e.req.method===`OPTIONS`){(t.origin!==`*`||t.credentials)&&a(`Vary`,`Origin`),t.maxAge!=null&&a(`Access-Control-Max-Age`,t.maxAge.toString());let n=await r(e.req.header(`origin`)||``,e);n.length&&a(`Access-Control-Allow-Methods`,n.join(`,`));let i=t.allowHeaders;if(!i?.length){let t=e.req.header(`Access-Control-Request-Headers`);t&&(i=t.split(/\s*,\s*/))}return i?.length&&(a(`Access-Control-Allow-Headers`,i.join(`,`)),e.res.headers.append(`Vary`,`Access-Control-Request-Headers`)),e.res.headers.delete(`Content-Length`),e.res.headers.delete(`Content-Type`),new Response(null,{headers:e.res.headers,status:204,statusText:`No Content`})}await i(),(t.origin!==`*`||t.credentials)&&e.header(`Vary`,`Origin`,{append:!0})}};function a(a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,cache:p,mcp:m={enabled:!0},agent:h}=a;if(!a.semanticLayer&&(!o||o.length===0))throw Error(`Either semanticLayer or a non-empty cubes array must be provided`);let g=new r.Hono,_=async e=>t.r(await l(e),t.n(t=>e.req.header(t)));if(d){let e={...d,allowHeaders:t.t(d.allowHeaders)};g.use(`/*`,i(e))}let v=a.semanticLayer??new t.i({drizzle:s,schema:c,engineType:u,cache:p,rlsSetup:a.rlsSetup});if(!a.semanticLayer&&o&&o.forEach(e=>{v.registerCube(e)}),g.post(`${f}/load`,async t=>{try{let n=await t.req.json(),r=n.query||n,i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.get(`${f}/load`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r;try{r=JSON.parse(n)}catch{return t.json({error:`Invalid JSON in query parameter`},400)}let i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.post(`${f}/batch`,async t=>{try{let{queries:n}=await t.req.json();if(!n||!Array.isArray(n))return t.json({error:`Request body must contain a "queries" array`},400);if(n.length===0)return t.json({error:`Queries array cannot be empty`},400);let r=await e.u(n,await _(t),v,{skipCache:t.req.header(`x-cache-control`)===`no-cache`});return t.json(r)}catch(e){return console.error(`Batch execution error:`,e),t.json({error:e instanceof Error?e.message:`Batch execution failed`},500)}}),g.get(`${f}/meta`,t=>{try{let n=v.getMetadata();return t.json(e.a(n))}catch(e){return console.error(`Metadata error:`,e),t.json({error:e instanceof Error?e.message:`Failed to fetch metadata`},500)}}),g.post(`${f}/sql`,async t=>{try{let n=await t.req.json(),r=await _(t),i=v.validateQuery(n);if(!i.isValid)return t.json({error:`Query validation failed: ${i.errors.join(`, `)}`},400);let a=n.measures?.[0]||n.dimensions?.[0];if(!a)return t.json({error:`No measures or dimensions specified`},400);let o=a.split(`.`)[0],s=await v.generateSQL(o,n,r);return t.json(e.o(n,s))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.get(`${f}/sql`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r=JSON.parse(n),i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return t.json({error:`No measures or dimensions specified`},400);let s=o.split(`.`)[0],c=await v.generateSQL(s,r,i);return t.json(e.o(r,c))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.post(`${f}/dry-run`,async t=>{try{let n=await t.req.json(),r=await e.f(n.query||n,await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.get(`${f}/dry-run`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`,valid:!1},400);let r=await e.f(JSON.parse(n),await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.post(`${f}/explain`,async e=>{try{let t=await e.req.json(),n=t.query||t,r=t.options||{},i=await _(e),a=v.validateQuery(n);if(!a.isValid)return e.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=await v.explainQuery(n,i,r);return e.json(o)}catch(t){return console.error(`Explain error:`,t),e.json({error:t instanceof Error?t.message:`Explain query failed`},500)}}),h&&g.post(`${f}/agent/chat`,async e=>{try{let{handleAgentChat:t}=await Promise.resolve().then(()=>require(`../handler-C1Qs8JMY.cjs`)),{message:n,sessionId:r,history:i}=await e.req.json();if(!n||typeof n!=`string`)return e.json({error:`message is required and must be a string`},400);let a=(h.apiKey||``).trim();if(h.allowClientApiKey){let t=e.req.header(`x-agent-api-key`);t&&(a=t.trim())}if(!a)return e.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},401);let o=h.allowClientApiKey?e.req.header(`x-agent-provider`):void 0,s=h.allowClientApiKey?e.req.header(`x-agent-model`):void 0,c=h.allowClientApiKey?e.req.header(`x-agent-provider-endpoint`):void 0,l=await _(e),u=h.buildSystemContext?.(l),d=new TextEncoder,f=new ReadableStream({async start(e){try{let f=t({message:n,sessionId:r,history:i,semanticLayer:v,securityContext:l,agentConfig:h,apiKey:a,systemContext:u,providerOverride:o,modelOverride:s,baseURLOverride:c});for await(let t of f){let n=`data: ${JSON.stringify(t)}\n\n`;e.enqueue(d.encode(n))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(d.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}});return new Response(f,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}catch(t){return console.error(`Agent chat error:`,t),e.json({error:t instanceof Error?t.message:`Agent chat failed`},500)}}),m.enabled!==!1){let e=n.o(v,m.resources),t=n.y(m.prompts),r=n.v(m.instructions),i=m.basePath??`/mcp`;g.post(`${i}`,async i=>{if(m.resourceMetadataUrl&&!n.u(i.req.header(`authorization`)))return i.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),i.json({error:`Bearer token required`},401);let a=n.S(i.req.header(`origin`),m.allowedOrigins?{allowedOrigins:m.allowedOrigins}:{});if(!a.valid)return i.json(n.i(null,-32600,a.reason),403);let o=i.req.header(`accept`);if(!n.x(o))return i.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),400);let s=n.h(i.req.header());if(!s.ok)return i.json({error:`Unsupported MCP protocol version`,supported:s.supported},426);let c=n.g(await i.req.json().catch(()=>null));if(!c)return i.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),400);let l=n.C(o),u=c.method===`initialize`;try{let a=await n.l(c.method,c.params,{semanticLayer:v,extractSecurityContext:(e,t)=>_(e),rawRequest:i,rawResponse:null,negotiatedProtocol:s.negotiated,resources:e,prompts:t,instructions:r,appEnabled:!!m.app,appConfig:typeof m.app==`object`?m.app:void 0,serverName:m.serverName});if(n.m(c))return i.body(null,202);let o=n.a(c.id??null,a),d=u&&a&&typeof a==`object`&&`sessionId`in a?a.sessionId:void 0,f={};if(d&&(f[n.r]=d),l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...f}})}return i.json(o,200,f)}catch(e){if(n.m(c))return console.error(`MCP notification processing error:`,e),i.body(null,202);console.error(`MCP RPC error:`,e);let t=e?.code??-32603,r=e?.data,a=e.message||`MCP request failed`,o=n.i(c.id??null,t,a,r);if(l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}return i.json(o,200)}}),g.delete(`${i}`,e=>m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`))?(e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401)):e.json({error:`Session termination not supported`},405)),g.get(`${i}`,e=>{if(m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401);let t=new TextEncoder,r=n._(),i,a=new ReadableStream({start(e){e.enqueue(t.encode(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3))),i=setInterval(()=>{e.enqueue(t.encode(`: keep-alive
|
|
2
2
|
|
|
3
3
|
`))},15e3)},cancel(){clearInterval(i)}});return new Response(a,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})})}return g}function o(e,t){let n=a(t);return e.route(`/`,n),e}function s(e){return o(new r.Hono,e)}exports.createCubeApp=s,exports.createCubeRoutes=a,exports.mountCubeRoutes=o;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as e, f as t, o as n, r, u as i } from "../utils-
|
|
2
|
-
import { i as a, n as o, r as s, t as c } from "../locale-
|
|
3
|
-
import { C as l, S as u, _ as d, a as f, b as p, c as m, g as h, h as g, i as _, l as v, m as y, o as b, r as x, u as S, v as C, x as w, y as T } from "../mcp-transport-
|
|
1
|
+
import { a as e, f as t, o as n, r, u as i } from "../utils-hC7Z8V39.js";
|
|
2
|
+
import { i as a, n as o, r as s, t as c } from "../locale-wMBdZ3Ks.js";
|
|
3
|
+
import { C as l, S as u, _ as d, a as f, b as p, c as m, g as h, h as g, i as _, l as v, m as y, o as b, r as x, u as S, v as C, x as w, y as T } from "../mcp-transport-B_HoB1HQ.js";
|
|
4
4
|
import { Hono as E } from "hono";
|
|
5
5
|
//#region node_modules/hono/dist/middleware/cors/index.js
|
|
6
6
|
var D = (e) => {
|
|
@@ -166,7 +166,7 @@ function O(O) {
|
|
|
166
166
|
}
|
|
167
167
|
}), R && z.post(`${F}/agent/chat`, async (e) => {
|
|
168
168
|
try {
|
|
169
|
-
let { handleAgentChat: t } = await import("../handler-
|
|
169
|
+
let { handleAgentChat: t } = await import("../handler-CoaNnZyf.js"), { message: n, sessionId: r, history: i } = await e.req.json();
|
|
170
170
|
if (!n || typeof n != "string") return e.json({ error: "message is required and must be a string" }, 400);
|
|
171
171
|
let a = (R.apiKey || "").trim();
|
|
172
172
|
if (R.allowClientApiKey) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require(`./utils-DrWvXf0G.cjs`);var t=Symbol.for(`drizzle:entityKind`);function n(e,n){if(!e||typeof e!=`object`)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,t))throw Error(`Class "${n.name??`<unknown>`}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)for(;r;){if(t in r&&r[t]===n[t])return!0;r=Object.getPrototypeOf(r)}return!1}var r=class{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[t]=`Column`;name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!==`byDefault`}},i=Symbol.for(`drizzle:Name`),a=Symbol.for(`drizzle:isPgEnum`);function o(e){return!!e&&typeof e==`function`&&a in e&&e[a]===!0}var s=class{static[t]=`Subquery`;constructor(e,t,n,r=!1,i=[]){this._={brand:`Subquery`,sql:e,selectedFields:t,alias:n,isWith:r,usedTables:i}}},c={startActiveSpan(e,t){return t()}},l=Symbol.for(`drizzle:ViewBaseConfig`),u=Symbol.for(`drizzle:Schema`),d=Symbol.for(`drizzle:Columns`),f=Symbol.for(`drizzle:ExtraConfigColumns`),p=Symbol.for(`drizzle:OriginalName`),m=Symbol.for(`drizzle:BaseName`),h=Symbol.for(`drizzle:IsAlias`),g=Symbol.for(`drizzle:ExtraConfigBuilder`),_=Symbol.for(`drizzle:IsDrizzleTable`),v=class{static[t]=`Table`;static Symbol={Name:i,Schema:u,OriginalName:p,Columns:d,ExtraConfigColumns:f,BaseName:m,IsAlias:h,ExtraConfigBuilder:g};[i];[p];[u];[d];[f];[m];[h]=!1;[_]=!0;[g]=void 0;constructor(e,t,n){this[i]=this[p]=e,this[u]=t,this[m]=n}};function y(e){return e!=null&&typeof e.getSQL==`function`}function b(e){let t={sql:``,params:[]};for(let n of e)t.sql+=n.sql,t.params.push(...n.params),n.typings?.length&&(t.typings||=[],t.typings.push(...n.typings));return t}var x=class{static[t]=`StringChunk`;value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new S([this])}},S=class e{constructor(e){this.queryChunks=e;for(let t of e)if(n(t,v)){let e=t[v.Symbol.Schema];this.usedTables.push(e===void 0?t[v.Symbol.Name]:e+`.`+t[v.Symbol.Name])}}static[t]=`SQL`;decoder=T;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return c.startActiveSpan(`drizzle.buildSQL`,t=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,i){let a=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:u,escapeParam:d,prepareTyping:f,inlineParams:p,paramStartIndex:m}=a;return b(t.map(t=>{if(n(t,x))return{sql:t.value.join(``),params:[]};if(n(t,C))return{sql:u(t.value),params:[]};if(t===void 0)return{sql:``,params:[]};if(Array.isArray(t)){let e=[new x(`(`)];for(let[n,r]of t.entries())e.push(r),n<t.length-1&&e.push(new x(`, `));return e.push(new x(`)`)),this.buildQueryFromSourceParams(e,a)}if(n(t,e))return this.buildQueryFromSourceParams(t.queryChunks,{...a,inlineParams:p||t.shouldInlineParams});if(n(t,v)){let e=t[v.Symbol.Schema],n=t[v.Symbol.Name];return{sql:e===void 0||t[h]?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,r)){let e=c.getColumnCasing(t);if(i.invokeSource===`indexes`)return{sql:u(e),params:[]};let n=t.table[v.Symbol.Schema];return{sql:t.table[h]||n===void 0?u(t.table[v.Symbol.Name])+`.`+u(e):u(n)+`.`+u(t.table[v.Symbol.Name])+`.`+u(e),params:[]}}if(n(t,j)){let e=t[l].schema,n=t[l].name;return{sql:e===void 0||t[l].isAlias?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,D)){if(n(t.value,k))return{sql:d(m.value++,t),params:[t],typings:[`none`]};let r=t.value===null?null:t.encoder.mapToDriverValue(t.value);if(n(r,e))return this.buildQueryFromSourceParams([r],a);if(p)return{sql:this.mapInlineParam(r,a),params:[]};let i=[`none`];return f&&(i=[f(t.encoder)]),{sql:d(m.value++,r),params:[r],typings:i}}return n(t,k)?{sql:d(m.value++,t),params:[t],typings:[`none`]}:n(t,e.Aliased)&&t.fieldAlias!==void 0?{sql:u(t.fieldAlias),params:[]}:n(t,s)?t._.isWith?{sql:u(t._.alias),params:[]}:this.buildQueryFromSourceParams([new x(`(`),t._.sql,new x(`) `),new C(t._.alias)],a):o(t)?t.schema?{sql:u(t.schema)+`.`+u(t.enumName),params:[]}:{sql:u(t.enumName),params:[]}:y(t)?t.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([t.getSQL()],a):this.buildQueryFromSourceParams([new x(`(`),t.getSQL(),new x(`)`)],a):p?{sql:this.mapInlineParam(t,a),params:[]}:{sql:d(m.value++,t),params:[t],typings:[`none`]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return`null`;if(typeof e==`number`||typeof e==`boolean`)return e.toString();if(typeof e==`string`)return t(e);if(typeof e==`object`){let n=e.toString();return t(n===`[object Object]`?JSON.stringify(e):n)}throw Error(`Unexpected param value: `+e)}getSQL(){return this}as(t){return t===void 0?this:new e.Aliased(this,t)}mapWith(e){return this.decoder=typeof e==`function`?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}},C=class{constructor(e){this.value=e}static[t]=`Name`;brand;getSQL(){return new S([this])}};function w(e){return typeof e==`object`&&!!e&&`mapToDriverValue`in e&&typeof e.mapToDriverValue==`function`}var T={mapFromDriverValue:e=>e},E={mapToDriverValue:e=>e};({...T,...E});var D=class{constructor(e,t=E){this.value=e,this.encoder=t}static[t]=`Param`;brand;getSQL(){return new S([this])}};function O(e,...t){let n=[];(t.length>0||e.length>0&&e[0]!==``)&&n.push(new x(e[0]));for(let[r,i]of t.entries())n.push(i,new x(e[r+1]));return new S(n)}(e=>{function t(){return new S([])}e.empty=t;function n(e){return new S(e)}e.fromList=n;function r(e){return new S([new x(e)])}e.raw=r;function i(e,t){let n=[];for(let[r,i]of e.entries())r>0&&t!==void 0&&n.push(t),n.push(i);return new S(n)}e.join=i;function a(e){return new C(e)}e.identifier=a;function o(e){return new k(e)}e.placeholder=o;function s(e,t){return new D(e,t)}e.param=s})(O||={}),(e=>{class n{constructor(e,t){this.sql=e,this.fieldAlias=t}static[t]=`SQL.Aliased`;isSelectionField=!1;getSQL(){return this.sql}clone(){return new n(this.sql,this.fieldAlias)}}e.Aliased=n})(S||={});var k=class{constructor(e){this.name=e}static[t]=`Placeholder`;getSQL(){return new S([this])}},A=Symbol.for(`drizzle:IsDrizzleView`),j=class{static[t]=`View`;[l];[A]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[l]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new S([this])}};r.prototype.getSQL=function(){return new S([this])},v.prototype.getSQL=function(){return new S([this])},s.prototype.getSQL=function(){return new S([this])};function M(e,t){return w(t)&&!y(e)&&!n(e,D)&&!n(e,k)&&!n(e,r)&&!n(e,v)&&!n(e,j)?new D(e,t):e}var N=(e,t)=>O`${e} = ${M(t,e)}`,P=(e,t)=>O`${e} <> ${M(t,e)}`;function F(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` and `)),new x(`)`)])}function I(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` or `)),new x(`)`)])}var ee=(e,t)=>O`${e} > ${M(t,e)}`,L=(e,t)=>O`${e} >= ${M(t,e)}`,te=(e,t)=>O`${e} < ${M(t,e)}`,R=(e,t)=>O`${e} <= ${M(t,e)}`;function ne(e,t){return Array.isArray(t)?t.length===0?O`false`:O`${e} in ${t.map(t=>M(t,e))}`:O`${e} in ${M(t,e)}`}function re(e,t){return Array.isArray(t)?t.length===0?O`true`:O`${e} not in ${t.map(t=>M(t,e))}`:O`${e} not in ${M(t,e)}`}function ie(e){return O`${e} is null`}function ae(e){return O`${e} is not null`}function oe(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContains requires at least one value`);return O`${e} @> ${O`${M(t,e)}`}`}return O`${e} @> ${M(t,e)}`}function se(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContained requires at least one value`);return O`${e} <@ ${O`${M(t,e)}`}`}return O`${e} <@ ${M(t,e)}`}function ce(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayOverlaps requires at least one value`);return O`${e} && ${O`${M(t,e)}`}`}return O`${e} && ${M(t,e)}`}function le(e){return O`${e} asc`}function ue(e){return O`${e} desc`}function de(e){return O`count(${e||O.raw(`*`)})`.mapWith(Number)}function fe(e){return O`count(distinct ${e})`.mapWith(Number)}function z(e){return O`sum(${e})`.mapWith(String)}function B(e){return O`max(${e})`.mapWith(n(e,r)?e:String)}function V(e){return O`min(${e})`.mapWith(n(e,r)?e:String)}var H=class{preprocessCalculatedTemplate(e){return e}buildPattern(e,t){switch(e){case`contains`:case`notContains`:return`%${t}%`;case`startsWith`:return`${t}%`;case`endsWith`:return`%${t}`;default:return t}}parseISODuration(e){let t={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},n=e.match(/^P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/);if(!n)throw Error(`Invalid ISO 8601 duration format: ${e}`);return t.years=parseInt(n[1]||`0`,10),t.months=parseInt(n[2]||`0`,10),t.days=parseInt(n[3]||`0`,10),t.hours=parseInt(n[4]||`0`,10),t.minutes=parseInt(n[5]||`0`,10),t.seconds=parseFloat(n[6]||`0`),t}durationToSeconds(e){let t=this.parseISODuration(e);return t.years*365*24*60*60+t.months*30*24*60*60+t.days*24*60*60+t.hours*60*60+t.minutes*60+t.seconds}},pe=class extends H{getEngineType(){return`postgres`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];t.years&&n.push(`${t.years} years`),t.months&&n.push(`${t.months} months`),t.days&&n.push(`${t.days} days`),t.hours&&n.push(`${t.hours} hours`),t.minutes&&n.push(`${t.minutes} minutes`),t.seconds&&n.push(`${t.seconds} seconds`);let r=n.join(` `)||`0 seconds`;return O`INTERVAL '${O.raw(r)}'`}buildTimeDifferenceSeconds(e,t){return O`EXTRACT(EPOCH FROM (${e} - ${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(*) FILTER (WHERE ${n})`:O`${O.raw(r)}(${t}) FILTER (WHERE ${n})`}buildDateDiffPeriods(e,t,n){switch(n){case`day`:return O`(${t}::date - ${e}::date)`;case`week`:return O`FLOOR((${t}::date - ${e}::date) / 7)`;case`month`:return O`(EXTRACT(YEAR FROM AGE(${t}::timestamp, ${e}::timestamp)) * 12 + EXTRACT(MONTH FROM AGE(${t}::timestamp, ${e}::timestamp)))::integer`;default:throw Error(`Unsupported date diff unit: ${n}`)}}buildPeriodSeriesSubquery(e){return O`(SELECT generate_series(0, ${e}) as period_number) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('year', ${t}::timestamp)`;case`quarter`:return O`DATE_TRUNC('quarter', ${t}::timestamp)`;case`month`:return O`DATE_TRUNC('month', ${t}::timestamp)`;case`week`:return O`DATE_TRUNC('week', ${t}::timestamp)`;case`day`:return O`DATE_TRUNC('day', ${t}::timestamp)::timestamp`;case`hour`:return O`DATE_TRUNC('hour', ${t}::timestamp)`;case`minute`:return O`DATE_TRUNC('minute', ${t}::timestamp)`;case`second`:return O`DATE_TRUNC('second', ${t}::timestamp)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`${e} ~* ${n}`;case`notRegex`:return O`${e} !~* ${n}`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::timestamp`;case`decimal`:return O`${e}::decimal`;case`integer`:return O`${e}::integer`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!0,supportsPercentileSubqueries:!0,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!0}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){return O`PERCENTILE_CONT(${t/100}) WITHIN GROUP (ORDER BY ${e})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},me=class extends H{getEngineType(){return`mysql`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];return t.years&&n.push(`${t.years} YEAR`),t.months&&n.push(`${t.months} MONTH`),t.days&&n.push(`${t.days} DAY`),t.hours&&n.push(`${t.hours} HOUR`),t.minutes&&n.push(`${t.minutes} MINUTE`),t.seconds&&n.push(`${t.seconds} SECOND`),O`${this.durationToSeconds(e)}`}buildTimeDifferenceSeconds(e,t){return O`TIMESTAMPDIFF(SECOND, ${t}, ${e})`}buildDateAddInterval(e,t){let n=this.parseISODuration(t),r=e;return n.years&&(r=O`DATE_ADD(${r}, INTERVAL ${n.years} YEAR)`),n.months&&(r=O`DATE_ADD(${r}, INTERVAL ${n.months} MONTH)`),n.days&&(r=O`DATE_ADD(${r}, INTERVAL ${n.days} DAY)`),n.hours&&(r=O`DATE_ADD(${r}, INTERVAL ${n.hours} HOUR)`),n.minutes&&(r=O`DATE_ADD(${r}, INTERVAL ${n.minutes} MINUTE)`),n.seconds&&(r=O`DATE_ADD(${r}, INTERVAL ${n.seconds} SECOND)`),r}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){let r=n.toUpperCase();return O`TIMESTAMPDIFF(${O.raw(r)}, ${e}, ${t})`}buildPeriodSeriesSubquery(e){return O`(
|
|
1
|
+
const e=require(`./utils-CIRA5_JO.cjs`);var t=Symbol.for(`drizzle:entityKind`);function n(e,n){if(!e||typeof e!=`object`)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,t))throw Error(`Class "${n.name??`<unknown>`}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)for(;r;){if(t in r&&r[t]===n[t])return!0;r=Object.getPrototypeOf(r)}return!1}var r=class{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[t]=`Column`;name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!==`byDefault`}},i=Symbol.for(`drizzle:Name`),a=Symbol.for(`drizzle:isPgEnum`);function o(e){return!!e&&typeof e==`function`&&a in e&&e[a]===!0}var s=class{static[t]=`Subquery`;constructor(e,t,n,r=!1,i=[]){this._={brand:`Subquery`,sql:e,selectedFields:t,alias:n,isWith:r,usedTables:i}}},c={startActiveSpan(e,t){return t()}},l=Symbol.for(`drizzle:ViewBaseConfig`),u=Symbol.for(`drizzle:Schema`),d=Symbol.for(`drizzle:Columns`),f=Symbol.for(`drizzle:ExtraConfigColumns`),p=Symbol.for(`drizzle:OriginalName`),m=Symbol.for(`drizzle:BaseName`),h=Symbol.for(`drizzle:IsAlias`),g=Symbol.for(`drizzle:ExtraConfigBuilder`),_=Symbol.for(`drizzle:IsDrizzleTable`),v=class{static[t]=`Table`;static Symbol={Name:i,Schema:u,OriginalName:p,Columns:d,ExtraConfigColumns:f,BaseName:m,IsAlias:h,ExtraConfigBuilder:g};[i];[p];[u];[d];[f];[m];[h]=!1;[_]=!0;[g]=void 0;constructor(e,t,n){this[i]=this[p]=e,this[u]=t,this[m]=n}};function y(e){return e!=null&&typeof e.getSQL==`function`}function b(e){let t={sql:``,params:[]};for(let n of e)t.sql+=n.sql,t.params.push(...n.params),n.typings?.length&&(t.typings||=[],t.typings.push(...n.typings));return t}var x=class{static[t]=`StringChunk`;value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new S([this])}},S=class e{constructor(e){this.queryChunks=e;for(let t of e)if(n(t,v)){let e=t[v.Symbol.Schema];this.usedTables.push(e===void 0?t[v.Symbol.Name]:e+`.`+t[v.Symbol.Name])}}static[t]=`SQL`;decoder=T;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return c.startActiveSpan(`drizzle.buildSQL`,t=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,i){let a=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:u,escapeParam:d,prepareTyping:f,inlineParams:p,paramStartIndex:m}=a;return b(t.map(t=>{if(n(t,x))return{sql:t.value.join(``),params:[]};if(n(t,C))return{sql:u(t.value),params:[]};if(t===void 0)return{sql:``,params:[]};if(Array.isArray(t)){let e=[new x(`(`)];for(let[n,r]of t.entries())e.push(r),n<t.length-1&&e.push(new x(`, `));return e.push(new x(`)`)),this.buildQueryFromSourceParams(e,a)}if(n(t,e))return this.buildQueryFromSourceParams(t.queryChunks,{...a,inlineParams:p||t.shouldInlineParams});if(n(t,v)){let e=t[v.Symbol.Schema],n=t[v.Symbol.Name];return{sql:e===void 0||t[h]?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,r)){let e=c.getColumnCasing(t);if(i.invokeSource===`indexes`)return{sql:u(e),params:[]};let n=t.table[v.Symbol.Schema];return{sql:t.table[h]||n===void 0?u(t.table[v.Symbol.Name])+`.`+u(e):u(n)+`.`+u(t.table[v.Symbol.Name])+`.`+u(e),params:[]}}if(n(t,j)){let e=t[l].schema,n=t[l].name;return{sql:e===void 0||t[l].isAlias?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,D)){if(n(t.value,k))return{sql:d(m.value++,t),params:[t],typings:[`none`]};let r=t.value===null?null:t.encoder.mapToDriverValue(t.value);if(n(r,e))return this.buildQueryFromSourceParams([r],a);if(p)return{sql:this.mapInlineParam(r,a),params:[]};let i=[`none`];return f&&(i=[f(t.encoder)]),{sql:d(m.value++,r),params:[r],typings:i}}return n(t,k)?{sql:d(m.value++,t),params:[t],typings:[`none`]}:n(t,e.Aliased)&&t.fieldAlias!==void 0?{sql:u(t.fieldAlias),params:[]}:n(t,s)?t._.isWith?{sql:u(t._.alias),params:[]}:this.buildQueryFromSourceParams([new x(`(`),t._.sql,new x(`) `),new C(t._.alias)],a):o(t)?t.schema?{sql:u(t.schema)+`.`+u(t.enumName),params:[]}:{sql:u(t.enumName),params:[]}:y(t)?t.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([t.getSQL()],a):this.buildQueryFromSourceParams([new x(`(`),t.getSQL(),new x(`)`)],a):p?{sql:this.mapInlineParam(t,a),params:[]}:{sql:d(m.value++,t),params:[t],typings:[`none`]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return`null`;if(typeof e==`number`||typeof e==`boolean`)return e.toString();if(typeof e==`string`)return t(e);if(typeof e==`object`){let n=e.toString();return t(n===`[object Object]`?JSON.stringify(e):n)}throw Error(`Unexpected param value: `+e)}getSQL(){return this}as(t){return t===void 0?this:new e.Aliased(this,t)}mapWith(e){return this.decoder=typeof e==`function`?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}},C=class{constructor(e){this.value=e}static[t]=`Name`;brand;getSQL(){return new S([this])}};function w(e){return typeof e==`object`&&!!e&&`mapToDriverValue`in e&&typeof e.mapToDriverValue==`function`}var T={mapFromDriverValue:e=>e},E={mapToDriverValue:e=>e};({...T,...E});var D=class{constructor(e,t=E){this.value=e,this.encoder=t}static[t]=`Param`;brand;getSQL(){return new S([this])}};function O(e,...t){let n=[];(t.length>0||e.length>0&&e[0]!==``)&&n.push(new x(e[0]));for(let[r,i]of t.entries())n.push(i,new x(e[r+1]));return new S(n)}(e=>{function t(){return new S([])}e.empty=t;function n(e){return new S(e)}e.fromList=n;function r(e){return new S([new x(e)])}e.raw=r;function i(e,t){let n=[];for(let[r,i]of e.entries())r>0&&t!==void 0&&n.push(t),n.push(i);return new S(n)}e.join=i;function a(e){return new C(e)}e.identifier=a;function o(e){return new k(e)}e.placeholder=o;function s(e,t){return new D(e,t)}e.param=s})(O||={}),(e=>{class n{constructor(e,t){this.sql=e,this.fieldAlias=t}static[t]=`SQL.Aliased`;isSelectionField=!1;getSQL(){return this.sql}clone(){return new n(this.sql,this.fieldAlias)}}e.Aliased=n})(S||={});var k=class{constructor(e){this.name=e}static[t]=`Placeholder`;getSQL(){return new S([this])}},A=Symbol.for(`drizzle:IsDrizzleView`),j=class{static[t]=`View`;[l];[A]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[l]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new S([this])}};r.prototype.getSQL=function(){return new S([this])},v.prototype.getSQL=function(){return new S([this])},s.prototype.getSQL=function(){return new S([this])};function M(e,t){return w(t)&&!y(e)&&!n(e,D)&&!n(e,k)&&!n(e,r)&&!n(e,v)&&!n(e,j)?new D(e,t):e}var N=(e,t)=>O`${e} = ${M(t,e)}`,P=(e,t)=>O`${e} <> ${M(t,e)}`;function F(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` and `)),new x(`)`)])}function I(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` or `)),new x(`)`)])}var ee=(e,t)=>O`${e} > ${M(t,e)}`,L=(e,t)=>O`${e} >= ${M(t,e)}`,te=(e,t)=>O`${e} < ${M(t,e)}`,R=(e,t)=>O`${e} <= ${M(t,e)}`;function ne(e,t){return Array.isArray(t)?t.length===0?O`false`:O`${e} in ${t.map(t=>M(t,e))}`:O`${e} in ${M(t,e)}`}function re(e,t){return Array.isArray(t)?t.length===0?O`true`:O`${e} not in ${t.map(t=>M(t,e))}`:O`${e} not in ${M(t,e)}`}function ie(e){return O`${e} is null`}function ae(e){return O`${e} is not null`}function oe(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContains requires at least one value`);return O`${e} @> ${O`${M(t,e)}`}`}return O`${e} @> ${M(t,e)}`}function se(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContained requires at least one value`);return O`${e} <@ ${O`${M(t,e)}`}`}return O`${e} <@ ${M(t,e)}`}function ce(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayOverlaps requires at least one value`);return O`${e} && ${O`${M(t,e)}`}`}return O`${e} && ${M(t,e)}`}function le(e){return O`${e} asc`}function ue(e){return O`${e} desc`}function de(e){return O`count(${e||O.raw(`*`)})`.mapWith(Number)}function fe(e){return O`count(distinct ${e})`.mapWith(Number)}function z(e){return O`sum(${e})`.mapWith(String)}function B(e){return O`max(${e})`.mapWith(n(e,r)?e:String)}function V(e){return O`min(${e})`.mapWith(n(e,r)?e:String)}var H=class{preprocessCalculatedTemplate(e){return e}buildPattern(e,t){switch(e){case`contains`:case`notContains`:return`%${t}%`;case`startsWith`:return`${t}%`;case`endsWith`:return`%${t}`;default:return t}}parseISODuration(e){let t={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},n=e.match(/^P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/);if(!n)throw Error(`Invalid ISO 8601 duration format: ${e}`);return t.years=parseInt(n[1]||`0`,10),t.months=parseInt(n[2]||`0`,10),t.days=parseInt(n[3]||`0`,10),t.hours=parseInt(n[4]||`0`,10),t.minutes=parseInt(n[5]||`0`,10),t.seconds=parseFloat(n[6]||`0`),t}durationToSeconds(e){let t=this.parseISODuration(e);return t.years*365*24*60*60+t.months*30*24*60*60+t.days*24*60*60+t.hours*60*60+t.minutes*60+t.seconds}},pe=class extends H{getEngineType(){return`postgres`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];t.years&&n.push(`${t.years} years`),t.months&&n.push(`${t.months} months`),t.days&&n.push(`${t.days} days`),t.hours&&n.push(`${t.hours} hours`),t.minutes&&n.push(`${t.minutes} minutes`),t.seconds&&n.push(`${t.seconds} seconds`);let r=n.join(` `)||`0 seconds`;return O`INTERVAL '${O.raw(r)}'`}buildTimeDifferenceSeconds(e,t){return O`EXTRACT(EPOCH FROM (${e} - ${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(*) FILTER (WHERE ${n})`:O`${O.raw(r)}(${t}) FILTER (WHERE ${n})`}buildDateDiffPeriods(e,t,n){switch(n){case`day`:return O`(${t}::date - ${e}::date)`;case`week`:return O`FLOOR((${t}::date - ${e}::date) / 7)`;case`month`:return O`(EXTRACT(YEAR FROM AGE(${t}::timestamp, ${e}::timestamp)) * 12 + EXTRACT(MONTH FROM AGE(${t}::timestamp, ${e}::timestamp)))::integer`;default:throw Error(`Unsupported date diff unit: ${n}`)}}buildPeriodSeriesSubquery(e){return O`(SELECT generate_series(0, ${e}) as period_number) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('year', ${t}::timestamp)`;case`quarter`:return O`DATE_TRUNC('quarter', ${t}::timestamp)`;case`month`:return O`DATE_TRUNC('month', ${t}::timestamp)`;case`week`:return O`DATE_TRUNC('week', ${t}::timestamp)`;case`day`:return O`DATE_TRUNC('day', ${t}::timestamp)::timestamp`;case`hour`:return O`DATE_TRUNC('hour', ${t}::timestamp)`;case`minute`:return O`DATE_TRUNC('minute', ${t}::timestamp)`;case`second`:return O`DATE_TRUNC('second', ${t}::timestamp)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`${e} ~* ${n}`;case`notRegex`:return O`${e} !~* ${n}`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::timestamp`;case`decimal`:return O`${e}::decimal`;case`integer`:return O`${e}::integer`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!0,supportsPercentileSubqueries:!0,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!0}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){return O`PERCENTILE_CONT(${t/100}) WITHIN GROUP (ORDER BY ${e})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},me=class extends H{getEngineType(){return`mysql`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];return t.years&&n.push(`${t.years} YEAR`),t.months&&n.push(`${t.months} MONTH`),t.days&&n.push(`${t.days} DAY`),t.hours&&n.push(`${t.hours} HOUR`),t.minutes&&n.push(`${t.minutes} MINUTE`),t.seconds&&n.push(`${t.seconds} SECOND`),O`${this.durationToSeconds(e)}`}buildTimeDifferenceSeconds(e,t){return O`TIMESTAMPDIFF(SECOND, ${t}, ${e})`}buildDateAddInterval(e,t){let n=this.parseISODuration(t),r=e;return n.years&&(r=O`DATE_ADD(${r}, INTERVAL ${n.years} YEAR)`),n.months&&(r=O`DATE_ADD(${r}, INTERVAL ${n.months} MONTH)`),n.days&&(r=O`DATE_ADD(${r}, INTERVAL ${n.days} DAY)`),n.hours&&(r=O`DATE_ADD(${r}, INTERVAL ${n.hours} HOUR)`),n.minutes&&(r=O`DATE_ADD(${r}, INTERVAL ${n.minutes} MINUTE)`),n.seconds&&(r=O`DATE_ADD(${r}, INTERVAL ${n.seconds} SECOND)`),r}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){let r=n.toUpperCase();return O`TIMESTAMPDIFF(${O.raw(r)}, ${e}, ${t})`}buildPeriodSeriesSubquery(e){return O`(
|
|
2
2
|
WITH RECURSIVE periods(period_number) AS (
|
|
3
3
|
SELECT 0
|
|
4
4
|
UNION ALL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./utils-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./utils-CIRA5_JO.cjs`),t=require(`./mcp-transport-bQzyrBPI.cjs`);function n(e){return{content:[{type:`text`,text:typeof e==`string`?e:JSON.stringify(e)}],isError:!1}}function r(e){return{content:[{type:`text`,text:e instanceof Error?e.message:String(e)}],isError:!0}}function i(i){let{semanticLayer:o,getSecurityContext:s,toolPrefix:c=`drizzle_cube_`,tools:l=[`discover`,`validate`,`load`,`chart`],prompts:u=t.d(),resources:d,app:f=!1}=i,p=!!f,m=typeof f==`object`?f:void 0,h=d??t.f(),g=p?[...h,...a(m)]:h,_=t.s({appEnabled:p}),v=new Map(_.map(e=>[e.name,e])),y=l.filter(e=>v.has(e)).map(e=>{let t=v.get(e),n={name:`${c}${e}`,description:t.description,inputSchema:t.inputSchema},r=t._meta;return r&&(n._meta=r),n}),b=y.map(e=>e.name),x=new Set;for(let e of l)x.add(e),x.add(`${c}${e}`);function S(e){return x.has(e)}async function C(t,i,a){let u=t.startsWith(c)?t.slice(c.length):t;if(!l.includes(u))return r(`Unknown tool: ${t}`);try{switch(u){case`discover`:return n(await e.d(o,i||{}));case`validate`:{let t=i||{};if(!t.query)return r(`query is required`);let c;try{c=await s(a)}catch{}return n(await e.h(o,t,c))}case`load`:{let t=i||{};return t.query?n(await e.p(o,await s(a),t)):r(`query is required`)}case`chart`:{let t=i||{};return t.query?n(await e.p(o,await s(a),t)):r(`query is required`)}default:return r(`Unknown tool: ${t}`)}}catch(e){return r(e)}}return{definitions:y,handle:C,handles:S,prompts:u,resources:g,toolNames:b}}function a(e){let n=t.p(e);return n?[{uri:t.n,name:`Drizzle Cube Visualization`,description:`Interactive chart visualization for query results`,mimeType:t.t,text:n}]:[]}exports.getCubeTools=i;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as e, h as t, p as n } from "./utils-
|
|
2
|
-
import { d as r, f as i, n as a, p as o, s, t as c } from "./mcp-transport-
|
|
1
|
+
import { d as e, h as t, p as n } from "./utils-hC7Z8V39.js";
|
|
2
|
+
import { d as r, f as i, n as a, p as o, s, t as c } from "./mcp-transport-B_HoB1HQ.js";
|
|
3
3
|
//#region src/adapters/mcp-tools.ts
|
|
4
4
|
function l(e) {
|
|
5
5
|
return {
|
|
@@ -45,7 +45,12 @@ function d(a) {
|
|
|
45
45
|
case "discover": return l(await e(o, i || {}));
|
|
46
46
|
case "validate": {
|
|
47
47
|
let e = i || {};
|
|
48
|
-
|
|
48
|
+
if (!e.query) return u("query is required");
|
|
49
|
+
let n;
|
|
50
|
+
try {
|
|
51
|
+
n = await c(a);
|
|
52
|
+
} catch {}
|
|
53
|
+
return l(await t(o, e, n));
|
|
49
54
|
}
|
|
50
55
|
case "load": {
|
|
51
56
|
let e = i || {};
|