drizzle-cube 0.6.5 → 0.6.6

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.
Files changed (157) hide show
  1. package/dist/adapters/ActivityGridChart.config-BK3hB9co.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-C-68HsAw.js +2 -0
  3. package/dist/adapters/AreaChart.config-5G7_E-7u.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-C7S67Qt4.js +2 -0
  5. package/dist/adapters/BarChart.config-C6kG_uEt.cjs +1 -0
  6. package/dist/adapters/BarChart.config-DQcicZYy.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-B4xDTwop.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-DifAPvo0.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-BS2edxZ5.cjs +1 -0
  10. package/dist/adapters/BubbleChart.config-C5AYou9n.js +2 -0
  11. package/dist/adapters/CandlestickChart.config-Duknkqyk.js +2 -0
  12. package/dist/adapters/CandlestickChart.config-jk3ZXIAQ.cjs +1 -0
  13. package/dist/adapters/DataTable.config-BG_5hx63.cjs +1 -0
  14. package/dist/adapters/DataTable.config-Bkv6CmFa.js +2 -0
  15. package/dist/adapters/FunnelChart.config-Dvy0S17e.js +2 -0
  16. package/dist/adapters/FunnelChart.config-DzqGZgKz.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-DAWIU33N.js +2 -0
  18. package/dist/adapters/GaugeChart.config-DC0NW8XT.cjs +1 -0
  19. package/dist/adapters/HeatMapChart.config-BlQDS9nY.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-DccGkzHI.js +2 -0
  21. package/dist/adapters/KpiDelta.config-DvpALT3Z.js +2 -0
  22. package/dist/adapters/KpiDelta.config-u2AlJkZ3.cjs +1 -0
  23. package/dist/adapters/KpiNumber.config-CF_LqRh-.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-lhEzZOFR.js +2 -0
  25. package/dist/adapters/KpiText.config-BCYGZdnx.js +2 -0
  26. package/dist/adapters/KpiText.config-FbnsbjdV.cjs +1 -0
  27. package/dist/adapters/LineChart.config-B7qWURRH.js +2 -0
  28. package/dist/adapters/LineChart.config-B9JKd48E.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-BIS9PqHh.js +2 -0
  30. package/dist/adapters/MarkdownChart.config-BfM9NaQe.cjs +1 -0
  31. package/dist/adapters/MeasureProfileChart.config-1hh--3nI.js +2 -0
  32. package/dist/adapters/MeasureProfileChart.config-cmL8wp6a.cjs +1 -0
  33. package/dist/adapters/PieChart.config-DzzCeT7z.cjs +1 -0
  34. package/dist/adapters/PieChart.config-aRJJwYx4.js +2 -0
  35. package/dist/adapters/RadarChart.config-AcZ7kWG8.js +2 -0
  36. package/dist/adapters/RadarChart.config-CddBTWAo.cjs +1 -0
  37. package/dist/adapters/RadialBarChart.config-D4qPexJV.cjs +1 -0
  38. package/dist/adapters/RadialBarChart.config-y-NBkq5N.js +2 -0
  39. package/dist/adapters/RetentionCombinedChart.config-BkRNE7lX.cjs +1 -0
  40. package/dist/adapters/RetentionCombinedChart.config-WoX6n6D5.js +2 -0
  41. package/dist/adapters/RetentionHeatmap.config-ByjWidhh.cjs +1 -0
  42. package/dist/adapters/RetentionHeatmap.config-DjXLk03y.js +2 -0
  43. package/dist/adapters/SankeyChart.config-BWO9LszQ.cjs +1 -0
  44. package/dist/adapters/SankeyChart.config-SuP0jjib.js +2 -0
  45. package/dist/adapters/ScatterChart.config-Dk1G4Eaj.cjs +1 -0
  46. package/dist/adapters/ScatterChart.config-DzVXd1ZM.js +2 -0
  47. package/dist/adapters/SunburstChart.config-Cu4ib4Ui.cjs +1 -0
  48. package/dist/adapters/SunburstChart.config-_0gUzNs7.js +2 -0
  49. package/dist/adapters/TreeMapChart.config-DbwYrje4.js +2 -0
  50. package/dist/adapters/TreeMapChart.config-hM8PukgE.cjs +1 -0
  51. package/dist/adapters/WaterfallChart.config-CjUHeE8R.js +2 -0
  52. package/dist/adapters/WaterfallChart.config-Dwxt0kK-.cjs +1 -0
  53. package/dist/adapters/core/index.cjs +1 -1
  54. package/dist/adapters/core/index.js +1 -1
  55. package/dist/adapters/{core-DoSUiMmv.js → core-BMZhIzaI.js} +1 -1
  56. package/dist/adapters/{core-CVqTwOR3.cjs → core-VK-KVH9q.cjs} +1 -1
  57. package/dist/adapters/express/index.cjs +1 -1
  58. package/dist/adapters/express/index.js +3 -3
  59. package/dist/adapters/fastify/index.cjs +1 -1
  60. package/dist/adapters/fastify/index.js +3 -3
  61. package/dist/adapters/{handler-DyIyrFFp.cjs → handler-_PXp3G47.cjs} +2 -2
  62. package/dist/adapters/{handler-j74EJDdo.js → handler-xR2P1EI4.js} +27 -27
  63. package/dist/adapters/hono/index.cjs +1 -1
  64. package/dist/adapters/hono/index.js +3 -3
  65. package/dist/adapters/mcp-tools.cjs +1 -1
  66. package/dist/adapters/mcp-tools.js +1 -1
  67. package/dist/adapters/mcp-transport-C2v5BTDF.cjs +40 -0
  68. package/dist/adapters/mcp-transport-CyDBoYEe.js +601 -0
  69. package/dist/adapters/nextjs/index.cjs +1 -1
  70. package/dist/adapters/nextjs/index.js +3 -3
  71. package/dist/adapters/{openai-BCSKRcbD.js → openai-B1pC8nVM.js} +2082 -1351
  72. package/dist/adapters/{openai-BjR3ohaS.js → openai-B6hWZk_r.js} +1 -1
  73. package/dist/adapters/{openai-CsVXOcJZ.cjs → openai-C3-mjSAc.cjs} +1 -1
  74. package/dist/adapters/openai-DQZaHN0V.cjs +18 -0
  75. package/dist/cjs/client/charts.d.ts +1 -1
  76. package/dist/cjs/client/index.d.ts +1 -1
  77. package/dist/client/charts.d.ts +1 -1
  78. package/dist/client/chunks/{DashboardEditModal-DFQSxR_C.js → DashboardEditModal-9o16JNF0.js} +3 -3
  79. package/dist/client/chunks/{DashboardEditModal-DFQSxR_C.js.map → DashboardEditModal-9o16JNF0.js.map} +1 -1
  80. package/dist/client/chunks/{analysis-builder-CBZ7lOC-.js → analysis-builder-BDWychCW.js} +3 -3
  81. package/dist/client/chunks/{analysis-builder-CBZ7lOC-.js.map → analysis-builder-BDWychCW.js.map} +1 -1
  82. package/dist/client/chunks/{analysis-builder-shared-8alCn-zw.js → analysis-builder-shared-DkL0e-wU.js} +3 -3
  83. package/dist/client/chunks/{analysis-builder-shared-8alCn-zw.js.map → analysis-builder-shared-DkL0e-wU.js.map} +1 -1
  84. package/dist/client/chunks/{useExplainAI-CEf04DPE.js → useExplainAI-DueJjb0r.js} +2 -2
  85. package/dist/client/chunks/{useExplainAI-CEf04DPE.js.map → useExplainAI-DueJjb0r.js.map} +1 -1
  86. package/dist/client/chunks/{vendor-DFAQ4Ucl.js → vendor-ChnlgSP0.js} +29 -27
  87. package/dist/client/chunks/vendor-ChnlgSP0.js.map +1 -0
  88. package/dist/client/components.js +1 -1
  89. package/dist/client/hooks.js +1 -1
  90. package/dist/client/index.d.ts +1 -1
  91. package/dist/client/index.js +4 -4
  92. package/dist/client-bundle-stats.html +1 -1
  93. package/dist/mcp-app/mcp-app.html +100 -100
  94. package/dist/server/index.cjs +1 -1
  95. package/dist/server/index.js +1 -1
  96. package/dist/server/{openai-BCSKRcbD.js → openai-B1pC8nVM.js} +2082 -1351
  97. package/dist/server/{openai-BjR3ohaS.js → openai-B6hWZk_r.js} +1 -1
  98. package/dist/server/{openai-CsVXOcJZ.cjs → openai-C3-mjSAc.cjs} +1 -1
  99. package/dist/server/openai-DQZaHN0V.cjs +18 -0
  100. package/package.json +7 -7
  101. package/dist/adapters/ActivityGridChart.config-Bvi50jl_.cjs +0 -1
  102. package/dist/adapters/ActivityGridChart.config-BwswifOD.js +0 -2
  103. package/dist/adapters/AreaChart.config-Cehf1Kjo.cjs +0 -1
  104. package/dist/adapters/AreaChart.config-DC-gnmli.js +0 -2
  105. package/dist/adapters/BarChart.config-BY53r96T.cjs +0 -1
  106. package/dist/adapters/BarChart.config-DJN5Oqmw.js +0 -2
  107. package/dist/adapters/BoxPlotChart.config-9hLT3yMs.js +0 -2
  108. package/dist/adapters/BoxPlotChart.config-D9P4PMTf.cjs +0 -1
  109. package/dist/adapters/BubbleChart.config-CEVSsy7u.js +0 -2
  110. package/dist/adapters/BubbleChart.config-Cji0z0Tb.cjs +0 -1
  111. package/dist/adapters/CandlestickChart.config-DPv76FmM.cjs +0 -1
  112. package/dist/adapters/CandlestickChart.config-tcHTorLu.js +0 -2
  113. package/dist/adapters/DataTable.config-D4txBrlQ.cjs +0 -1
  114. package/dist/adapters/DataTable.config-DrObkanI.js +0 -2
  115. package/dist/adapters/FunnelChart.config-BFYSkibE.js +0 -2
  116. package/dist/adapters/FunnelChart.config-BTSFeha-.cjs +0 -1
  117. package/dist/adapters/GaugeChart.config-BFz6NZfT.js +0 -2
  118. package/dist/adapters/GaugeChart.config-DJKD6oh8.cjs +0 -1
  119. package/dist/adapters/HeatMapChart.config-C3EZl9Sy.cjs +0 -1
  120. package/dist/adapters/HeatMapChart.config-jUCb5NAE.js +0 -2
  121. package/dist/adapters/KpiDelta.config-DhuealNk.js +0 -2
  122. package/dist/adapters/KpiDelta.config-m6FEIeWo.cjs +0 -1
  123. package/dist/adapters/KpiNumber.config-Cmd7eHmg.cjs +0 -1
  124. package/dist/adapters/KpiNumber.config-KQdKrkK-.js +0 -2
  125. package/dist/adapters/KpiText.config-D_pU4jH3.cjs +0 -1
  126. package/dist/adapters/KpiText.config-V8SvhllA.js +0 -2
  127. package/dist/adapters/LineChart.config-BuWM0TJx.js +0 -2
  128. package/dist/adapters/LineChart.config-CsxJ3f5A.cjs +0 -1
  129. package/dist/adapters/MarkdownChart.config-CJdjenj7.cjs +0 -1
  130. package/dist/adapters/MarkdownChart.config-oCWrAuom.js +0 -2
  131. package/dist/adapters/MeasureProfileChart.config-DBLnhtOk.cjs +0 -1
  132. package/dist/adapters/MeasureProfileChart.config-DWg0jzxA.js +0 -2
  133. package/dist/adapters/PieChart.config-D3qI6nbM.cjs +0 -1
  134. package/dist/adapters/PieChart.config-R2rcul2D.js +0 -2
  135. package/dist/adapters/RadarChart.config-BlK8QuDi.js +0 -2
  136. package/dist/adapters/RadarChart.config-fH3ce10I.cjs +0 -1
  137. package/dist/adapters/RadialBarChart.config-CqCnb27I.js +0 -2
  138. package/dist/adapters/RadialBarChart.config-DQQHJOCs.cjs +0 -1
  139. package/dist/adapters/RetentionCombinedChart.config-BFJ8i-kp.js +0 -2
  140. package/dist/adapters/RetentionCombinedChart.config-B_Wd_YjX.cjs +0 -1
  141. package/dist/adapters/RetentionHeatmap.config-BLqu9-Ft.js +0 -2
  142. package/dist/adapters/RetentionHeatmap.config-MvOPw_Dd.cjs +0 -1
  143. package/dist/adapters/SankeyChart.config-C_4u9Xiq.js +0 -2
  144. package/dist/adapters/SankeyChart.config-EH6wsjPr.cjs +0 -1
  145. package/dist/adapters/ScatterChart.config-D-MlQ7mP.js +0 -2
  146. package/dist/adapters/ScatterChart.config-DmwiEBN-.cjs +0 -1
  147. package/dist/adapters/SunburstChart.config-BRr_as_L.js +0 -2
  148. package/dist/adapters/SunburstChart.config-CptDj8e4.cjs +0 -1
  149. package/dist/adapters/TreeMapChart.config-D5wX2xaT.cjs +0 -1
  150. package/dist/adapters/TreeMapChart.config-Dyhwpwq3.js +0 -2
  151. package/dist/adapters/WaterfallChart.config-B_LGJIov.js +0 -2
  152. package/dist/adapters/WaterfallChart.config-Q4Fv196W.cjs +0 -1
  153. package/dist/adapters/mcp-transport-BuU5CrKL.cjs +0 -40
  154. package/dist/adapters/mcp-transport-l8DhKzR5.js +0 -601
  155. package/dist/adapters/openai-ClVVLjNl.cjs +0 -17
  156. package/dist/client/chunks/vendor-DFAQ4Ucl.js.map +0 -1
  157. package/dist/server/openai-ClVVLjNl.cjs +0 -17
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-CBR-9AMD.cjs"),t=require("../compiler-D0v5KJhv.cjs"),n=require("../mcp-transport-BuU5CrKL.cjs"),r=require("../core-CVqTwOR3.cjs");let i=require("next/server");function a(e,t){let r=new TextEncoder,a=n.v(),o=new ReadableStream({start(e){e.enqueue(r.encode(n.x({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},a,15e3)))}}),s=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});return t(e,s),new i.NextResponse(o,{status:200,headers:s})}function o(e){if(e.semanticLayer)return e.semanticLayer;let{cubes:n,drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s}=e;if(!n||n.length===0)throw Error(`At least one cube must be provided in the cubes array`);let c=new t.t({drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s});return n.forEach(e=>{c.registerCube(e)}),c}function s(e){return{extractSecurityContext:async(t,n)=>r.o(await e.extractSecurityContext(t,n),r.a(e=>t.headers.get(e))),cors:e.cors?{...e.cors,allowedHeaders:r.i(e.cors.allowedHeaders)}:void 0}}function c(e,t){let n=e.headers.get(`origin`),r={};return t.origin&&(typeof t.origin==`string`?r[`Access-Control-Allow-Origin`]=t.origin:Array.isArray(t.origin)?n&&t.origin.includes(n)&&(r[`Access-Control-Allow-Origin`]=n):typeof t.origin==`function`&&n&&t.origin(n)&&(r[`Access-Control-Allow-Origin`]=n)),t.methods&&(r[`Access-Control-Allow-Methods`]=t.methods.join(`, `)),t.allowedHeaders&&(r[`Access-Control-Allow-Headers`]=t.allowedHeaders.join(`, `)),t.credentials&&(r[`Access-Control-Allow-Credentials`]=`true`),r}function l(e){let t=r.t({semanticLayer:o(e),onError:e=>{process.env.NODE_ENV!==`test`&&console.error(`Next.js handler error:`,e)},mcp:e.mcp}),n=e.cors?{...e.cors,allowedHeaders:r.i(e.cors.allowedHeaders)}:void 0;return{httpHandler:t,corsHeaders:e=>n?c(e,n):{},baseContext:(t,n)=>()=>e.extractSecurityContext(t,n)}}function u(e,t){let n={};return{getHeader:t=>e.headers.get(t)??void 0,getBody:async()=>{try{return await e.json()}catch{return null}},getQueryParam:t=>e.nextUrl.searchParams.get(t)??void 0,send:(e,r)=>i.NextResponse.json(r,{status:e,headers:{...t,...n}}),setHeader:(e,t)=>{n[e]=t},sendEmpty:e=>new i.NextResponse(null,{status:e,headers:{...t,...n}}),sendSse:(e,r)=>new i.NextResponse(r,{status:e,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...t,...n}})}}function d(e){return async function(t){let n=c(t,{...e,allowedHeaders:r.i(e.allowedHeaders)});return new Response(null,{status:200,headers:n})}}function f(t){let{httpHandler:n,corsHeaders:r,baseContext:a}=l(t);return async function(t,o){let s=u(t,r(t));return t.method===`POST`?n.handleLoadPost(s,a(t,o)):t.method===`GET`?n.handleLoadGet(s,a(t,o)):i.NextResponse.json(e.i(`Method not allowed`,405),{status:405})}}function p(e){let{httpHandler:t,corsHeaders:n}=l(e);return async function(e,r){return t.handleMetaGet(u(e,n(e)))}}function m(t){let{httpHandler:n,corsHeaders:r,baseContext:a}=l(t);return async function(t,o){let s=u(t,r(t));return t.method===`POST`?n.handleSqlPost(s,a(t,o)):t.method===`GET`?n.handleSqlGet(s,a(t,o)):i.NextResponse.json(e.i(`Method not allowed`,405),{status:405})}}function h(e){let{httpHandler:t,corsHeaders:n,baseContext:r}=l(e);return async function(e,a){let o=u(e,n(e));return e.method===`POST`?t.handleDryRunPost(o,r(e,a)):e.method===`GET`?t.handleDryRunGet(o,r(e,a)):i.NextResponse.json({error:`Method not allowed`,valid:!1},{status:405})}}function g(t){let{httpHandler:n,corsHeaders:r,baseContext:a}=l(t);return async function(t,o){return t.method===`POST`?n.handleBatchPost(u(t,r(t)),a(t,o)):i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405})}}function _(e){let{httpHandler:t,corsHeaders:n,baseContext:r}=l(e);return async function(e,a){return e.method===`POST`?t.handleExplainPost(u(e,n(e)),r(e,a)):i.NextResponse.json({error:`Method not allowed`},{status:405})}}function v(t){let{cors:n}=s(t),r=o(t);return async function(t,a){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json(),o=await e.p(r,a);return i.NextResponse.json(o,{headers:n?c(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js discover handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Discovery failed`,500),{status:500})}}}function y(t){let{cors:n}=s(t),r=o(t);return async function(t,a){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json();if(!a.naturalLanguage)return i.NextResponse.json(e.i(`naturalLanguage field is required`,400),{status:400});let o=await e.d(r,a);return i.NextResponse.json(o,{headers:n?c(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js suggest handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Query suggestion failed`,500),{status:500})}}}function b(t){let{cors:n}=s(t),r=o(t);return async function(t,a){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json();if(!a.query)return i.NextResponse.json(e.i(`query field is required`,400),{status:400});let o=await e.f(r,a);return i.NextResponse.json(o,{headers:n?c(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js validate handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Query validation failed`,500),{status:500})}}}function x(t){let{extractSecurityContext:n,cors:r}=s(t),a=o(t);return async function(t,o){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let s=await t.json();if(!s.query)return i.NextResponse.json(e.i(`query field is required`,400),{status:400});let l=await n(t,o),u=await e.m(a,l,s);return i.NextResponse.json(u,{headers:r?c(t,r):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP load handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function S(t){let{httpHandler:r,corsHeaders:o,baseContext:s}=l(t),{mcp:c={enabled:!0}}=t,d=(e,t)=>{Object.entries(o(e)).forEach(([e,n])=>t.set(e,n))};return async function(t,l){if(c.resourceMetadataUrl&&!n.u(t.headers.get(`authorization`)))return i.NextResponse.json({error:`Bearer token required`},{status:401,headers:{"WWW-Authenticate":n.c(c.resourceMetadataUrl)}});if(t.method===`DELETE`||t.method===`GET`){let e=n.C(t.headers.get(`origin`),n.g(c));if(!e.valid)return i.NextResponse.json({error:e.reason},{status:403})}return t.method===`DELETE`?i.NextResponse.json({error:`Session termination not supported`},{status:405}):t.method===`GET`?a(t,d):t.method===`POST`?r.handleMcpPost(u(t,o(t)),s(t,l)):i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405})}}function C(e){let{cors:t}=s(e),{agent:n}=e;if(!n)throw Error(`agent config is required for createAgentChatHandler`);let a=o(e);return async function(o,s){try{if(o.method!==`POST`)return i.NextResponse.json({error:`Method not allowed - use POST`},{status:405});let{handleAgentChat:l}=await Promise.resolve().then(()=>require("../handler-DyIyrFFp.cjs")),{message:u,sessionId:d,history:f}=await o.json();if(!u||typeof u!=`string`)return i.NextResponse.json({error:`message is required and must be a string`},{status:400});let p=(n.apiKey||``).trim();if(n.allowClientApiKey){let e=o.headers.get(`x-agent-api-key`);e&&(p=e.trim())}if(!p)return i.NextResponse.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},{status:401});let m=n.allowClientApiKey&&o.headers.get(`x-agent-provider`)||void 0,h=n.allowClientApiKey&&o.headers.get(`x-agent-model`)||void 0,g=n.allowClientApiKey&&o.headers.get(`x-agent-provider-endpoint`)||void 0,_=r.r(await e.extractSecurityContext(o,s),e=>o.headers.get(e)??void 0),v=n.buildSystemContext?.(_),y=new TextEncoder,b=new ReadableStream({async start(e){try{let t=l({message:u,sessionId:d,history:f,semanticLayer:a,securityContext:_,agentConfig:n,apiKey:p,systemContext:v,providerOverride:m,modelOverride:h,baseURLOverride:g});for await(let n of t){let t=`data: ${JSON.stringify(n)}\n\n`;e.enqueue(y.encode(t))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(y.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}}),x=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(t){let e=c(o,t);Object.entries(e).forEach(([e,t])=>x.set(e,t))}return new Response(b,{status:200,headers:x})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js agent chat handler error:`,e),i.NextResponse.json({error:e instanceof Error?e.message:`Agent chat failed`},{status:500})}}}function w(e){let{mcp:t={enabled:!0}}=e,n=o(e),r={...e,semanticLayer:n},i={load:f(r),meta:p(r),sql:m(r),dryRun:h(r),batch:g(r),explain:_(r)};return t.enabled!==!1&&(i.mcpRpc=S(r)),e.agent&&(i.agentChat=C(r)),i}exports.createAgentChatHandler=C,exports.createBatchHandler=g,exports.createCubeHandlers=w,exports.createDiscoverHandler=v,exports.createDryRunHandler=h,exports.createExplainHandler=_,exports.createLoadHandler=f,exports.createMcpLoadHandler=x,exports.createMcpRpcHandler=S,exports.createMetaHandler=p,exports.createOptionsHandler=d,exports.createSqlHandler=m,exports.createSuggestHandler=y,exports.createValidateHandler=b;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-CBR-9AMD.cjs"),t=require("../compiler-D0v5KJhv.cjs"),n=require("../mcp-transport-C2v5BTDF.cjs"),r=require("../core-VK-KVH9q.cjs");let i=require("next/server");function a(e,t){let r=new TextEncoder,a=n.v(),o=new ReadableStream({start(e){e.enqueue(r.encode(n.x({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},a,15e3)))}}),s=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});return t(e,s),new i.NextResponse(o,{status:200,headers:s})}function o(e){if(e.semanticLayer)return e.semanticLayer;let{cubes:n,drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s}=e;if(!n||n.length===0)throw Error(`At least one cube must be provided in the cubes array`);let c=new t.t({drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s});return n.forEach(e=>{c.registerCube(e)}),c}function s(e){return{extractSecurityContext:async(t,n)=>r.o(await e.extractSecurityContext(t,n),r.a(e=>t.headers.get(e))),cors:e.cors?{...e.cors,allowedHeaders:r.i(e.cors.allowedHeaders)}:void 0}}function c(e,t){let n=e.headers.get(`origin`),r={};return t.origin&&(typeof t.origin==`string`?r[`Access-Control-Allow-Origin`]=t.origin:Array.isArray(t.origin)?n&&t.origin.includes(n)&&(r[`Access-Control-Allow-Origin`]=n):typeof t.origin==`function`&&n&&t.origin(n)&&(r[`Access-Control-Allow-Origin`]=n)),t.methods&&(r[`Access-Control-Allow-Methods`]=t.methods.join(`, `)),t.allowedHeaders&&(r[`Access-Control-Allow-Headers`]=t.allowedHeaders.join(`, `)),t.credentials&&(r[`Access-Control-Allow-Credentials`]=`true`),r}function l(e){let t=r.t({semanticLayer:o(e),onError:e=>{process.env.NODE_ENV!==`test`&&console.error(`Next.js handler error:`,e)},mcp:e.mcp}),n=e.cors?{...e.cors,allowedHeaders:r.i(e.cors.allowedHeaders)}:void 0;return{httpHandler:t,corsHeaders:e=>n?c(e,n):{},baseContext:(t,n)=>()=>e.extractSecurityContext(t,n)}}function u(e,t){let n={};return{getHeader:t=>e.headers.get(t)??void 0,getBody:async()=>{try{return await e.json()}catch{return null}},getQueryParam:t=>e.nextUrl.searchParams.get(t)??void 0,send:(e,r)=>i.NextResponse.json(r,{status:e,headers:{...t,...n}}),setHeader:(e,t)=>{n[e]=t},sendEmpty:e=>new i.NextResponse(null,{status:e,headers:{...t,...n}}),sendSse:(e,r)=>new i.NextResponse(r,{status:e,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...t,...n}})}}function d(e){return async function(t){let n=c(t,{...e,allowedHeaders:r.i(e.allowedHeaders)});return new Response(null,{status:200,headers:n})}}function f(t){let{httpHandler:n,corsHeaders:r,baseContext:a}=l(t);return async function(t,o){let s=u(t,r(t));return t.method===`POST`?n.handleLoadPost(s,a(t,o)):t.method===`GET`?n.handleLoadGet(s,a(t,o)):i.NextResponse.json(e.i(`Method not allowed`,405),{status:405})}}function p(e){let{httpHandler:t,corsHeaders:n}=l(e);return async function(e,r){return t.handleMetaGet(u(e,n(e)))}}function m(t){let{httpHandler:n,corsHeaders:r,baseContext:a}=l(t);return async function(t,o){let s=u(t,r(t));return t.method===`POST`?n.handleSqlPost(s,a(t,o)):t.method===`GET`?n.handleSqlGet(s,a(t,o)):i.NextResponse.json(e.i(`Method not allowed`,405),{status:405})}}function h(e){let{httpHandler:t,corsHeaders:n,baseContext:r}=l(e);return async function(e,a){let o=u(e,n(e));return e.method===`POST`?t.handleDryRunPost(o,r(e,a)):e.method===`GET`?t.handleDryRunGet(o,r(e,a)):i.NextResponse.json({error:`Method not allowed`,valid:!1},{status:405})}}function g(t){let{httpHandler:n,corsHeaders:r,baseContext:a}=l(t);return async function(t,o){return t.method===`POST`?n.handleBatchPost(u(t,r(t)),a(t,o)):i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405})}}function _(e){let{httpHandler:t,corsHeaders:n,baseContext:r}=l(e);return async function(e,a){return e.method===`POST`?t.handleExplainPost(u(e,n(e)),r(e,a)):i.NextResponse.json({error:`Method not allowed`},{status:405})}}function v(t){let{cors:n}=s(t),r=o(t);return async function(t,a){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json(),o=await e.p(r,a);return i.NextResponse.json(o,{headers:n?c(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js discover handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Discovery failed`,500),{status:500})}}}function y(t){let{cors:n}=s(t),r=o(t);return async function(t,a){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json();if(!a.naturalLanguage)return i.NextResponse.json(e.i(`naturalLanguage field is required`,400),{status:400});let o=await e.d(r,a);return i.NextResponse.json(o,{headers:n?c(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js suggest handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Query suggestion failed`,500),{status:500})}}}function b(t){let{cors:n}=s(t),r=o(t);return async function(t,a){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json();if(!a.query)return i.NextResponse.json(e.i(`query field is required`,400),{status:400});let o=await e.f(r,a);return i.NextResponse.json(o,{headers:n?c(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js validate handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Query validation failed`,500),{status:500})}}}function x(t){let{extractSecurityContext:n,cors:r}=s(t),a=o(t);return async function(t,o){try{if(t.method!==`POST`)return i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let s=await t.json();if(!s.query)return i.NextResponse.json(e.i(`query field is required`,400),{status:400});let l=await n(t,o),u=await e.m(a,l,s);return i.NextResponse.json(u,{headers:r?c(t,r):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP load handler error:`,t),i.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function S(t){let{httpHandler:r,corsHeaders:o,baseContext:s}=l(t),{mcp:c={enabled:!0}}=t,d=(e,t)=>{Object.entries(o(e)).forEach(([e,n])=>t.set(e,n))};return async function(t,l){if(c.resourceMetadataUrl&&!n.u(t.headers.get(`authorization`)))return i.NextResponse.json({error:`Bearer token required`},{status:401,headers:{"WWW-Authenticate":n.c(c.resourceMetadataUrl)}});if(t.method===`DELETE`||t.method===`GET`){let e=n.C(t.headers.get(`origin`),n.g(c));if(!e.valid)return i.NextResponse.json({error:e.reason},{status:403})}return t.method===`DELETE`?i.NextResponse.json({error:`Session termination not supported`},{status:405}):t.method===`GET`?a(t,d):t.method===`POST`?r.handleMcpPost(u(t,o(t)),s(t,l)):i.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405})}}function C(e){let{cors:t}=s(e),{agent:n}=e;if(!n)throw Error(`agent config is required for createAgentChatHandler`);let a=o(e);return async function(o,s){try{if(o.method!==`POST`)return i.NextResponse.json({error:`Method not allowed - use POST`},{status:405});let{handleAgentChat:l}=await Promise.resolve().then(()=>require("../handler-_PXp3G47.cjs")),{message:u,sessionId:d,history:f}=await o.json();if(!u||typeof u!=`string`)return i.NextResponse.json({error:`message is required and must be a string`},{status:400});let p=(n.apiKey||``).trim();if(n.allowClientApiKey){let e=o.headers.get(`x-agent-api-key`);e&&(p=e.trim())}if(!p)return i.NextResponse.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},{status:401});let m=n.allowClientApiKey&&o.headers.get(`x-agent-provider`)||void 0,h=n.allowClientApiKey&&o.headers.get(`x-agent-model`)||void 0,g=n.allowClientApiKey&&o.headers.get(`x-agent-provider-endpoint`)||void 0,_=r.r(await e.extractSecurityContext(o,s),e=>o.headers.get(e)??void 0),v=n.buildSystemContext?.(_),y=new TextEncoder,b=new ReadableStream({async start(e){try{let t=l({message:u,sessionId:d,history:f,semanticLayer:a,securityContext:_,agentConfig:n,apiKey:p,systemContext:v,providerOverride:m,modelOverride:h,baseURLOverride:g});for await(let n of t){let t=`data: ${JSON.stringify(n)}\n\n`;e.enqueue(y.encode(t))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(y.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}}),x=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(t){let e=c(o,t);Object.entries(e).forEach(([e,t])=>x.set(e,t))}return new Response(b,{status:200,headers:x})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js agent chat handler error:`,e),i.NextResponse.json({error:e instanceof Error?e.message:`Agent chat failed`},{status:500})}}}function w(e){let{mcp:t={enabled:!0}}=e,n=o(e),r={...e,semanticLayer:n},i={load:f(r),meta:p(r),sql:m(r),dryRun:h(r),batch:g(r),explain:_(r)};return t.enabled!==!1&&(i.mcpRpc=S(r)),e.agent&&(i.agentChat=C(r)),i}exports.createAgentChatHandler=C,exports.createBatchHandler=g,exports.createCubeHandlers=w,exports.createDiscoverHandler=v,exports.createDryRunHandler=h,exports.createExplainHandler=_,exports.createLoadHandler=f,exports.createMcpLoadHandler=x,exports.createMcpRpcHandler=S,exports.createMetaHandler=p,exports.createOptionsHandler=d,exports.createSqlHandler=m,exports.createSuggestHandler=y,exports.createValidateHandler=b;
@@ -1,7 +1,7 @@
1
1
  import { d as e, f as t, i as n, m as r, p as i } from "../utils-U7gV5wQL.js";
2
2
  import { t as a } from "../compiler-ZruQ85ff.js";
3
- import { C as o, c as s, g as c, u as l, v as u, x as d } from "../mcp-transport-l8DhKzR5.js";
4
- import { a as f, i as p, o as m, r as h, t as g } from "../core-DoSUiMmv.js";
3
+ import { C as o, c as s, g as c, u as l, v as u, x as d } from "../mcp-transport-CyDBoYEe.js";
4
+ import { a as f, i as p, o as m, r as h, t as g } from "../core-BMZhIzaI.js";
5
5
  import { NextResponse as _ } from "next/server";
6
6
  //#region src/adapters/nextjs/mcp-handler.ts
7
7
  function v(e, t) {
@@ -240,7 +240,7 @@ function I(e) {
240
240
  return async function(i, a) {
241
241
  try {
242
242
  if (i.method !== "POST") return _.json({ error: "Method not allowed - use POST" }, { status: 405 });
243
- let { handleAgentChat: o } = await import("../handler-j74EJDdo.js"), { message: s, sessionId: c, history: l } = await i.json();
243
+ let { handleAgentChat: o } = await import("../handler-xR2P1EI4.js"), { message: s, sessionId: c, history: l } = await i.json();
244
244
  if (!s || typeof s != "string") return _.json({ error: "message is required and must be a string" }, { status: 400 });
245
245
  let u = (n.apiKey || "").trim();
246
246
  if (n.allowClientApiKey) {