drizzle-cube 0.6.4 → 0.6.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.
Files changed (255) hide show
  1. package/dist/adapters/ActivityGridChart.config-Bvi50jl_.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-BwswifOD.js +2 -0
  3. package/dist/adapters/AreaChart.config-Cehf1Kjo.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-DC-gnmli.js +2 -0
  5. package/dist/adapters/BarChart.config-BY53r96T.cjs +1 -0
  6. package/dist/adapters/BarChart.config-DJN5Oqmw.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-9hLT3yMs.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-D9P4PMTf.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-CEVSsy7u.js +2 -0
  10. package/dist/adapters/BubbleChart.config-Cji0z0Tb.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-DPv76FmM.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-tcHTorLu.js +2 -0
  13. package/dist/adapters/DataTable.config-D4txBrlQ.cjs +1 -0
  14. package/dist/adapters/DataTable.config-DrObkanI.js +2 -0
  15. package/dist/adapters/FunnelChart.config-BFYSkibE.js +2 -0
  16. package/dist/adapters/FunnelChart.config-BTSFeha-.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-BFz6NZfT.js +2 -0
  18. package/dist/adapters/GaugeChart.config-DJKD6oh8.cjs +1 -0
  19. package/dist/adapters/HeatMapChart.config-C3EZl9Sy.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-jUCb5NAE.js +2 -0
  21. package/dist/adapters/KpiDelta.config-DhuealNk.js +2 -0
  22. package/dist/adapters/KpiDelta.config-m6FEIeWo.cjs +1 -0
  23. package/dist/adapters/KpiNumber.config-Cmd7eHmg.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-KQdKrkK-.js +2 -0
  25. package/dist/adapters/KpiText.config-D_pU4jH3.cjs +1 -0
  26. package/dist/adapters/KpiText.config-V8SvhllA.js +2 -0
  27. package/dist/adapters/LineChart.config-BuWM0TJx.js +2 -0
  28. package/dist/adapters/LineChart.config-CsxJ3f5A.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-CJdjenj7.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-oCWrAuom.js +2 -0
  31. package/dist/adapters/MeasureProfileChart.config-DBLnhtOk.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-DWg0jzxA.js +2 -0
  33. package/dist/adapters/PieChart.config-D3qI6nbM.cjs +1 -0
  34. package/dist/adapters/PieChart.config-R2rcul2D.js +2 -0
  35. package/dist/adapters/RadarChart.config-BlK8QuDi.js +2 -0
  36. package/dist/adapters/RadarChart.config-fH3ce10I.cjs +1 -0
  37. package/dist/adapters/RadialBarChart.config-CqCnb27I.js +2 -0
  38. package/dist/adapters/RadialBarChart.config-DQQHJOCs.cjs +1 -0
  39. package/dist/adapters/RetentionCombinedChart.config-BFJ8i-kp.js +2 -0
  40. package/dist/adapters/RetentionCombinedChart.config-B_Wd_YjX.cjs +1 -0
  41. package/dist/adapters/RetentionHeatmap.config-BLqu9-Ft.js +2 -0
  42. package/dist/adapters/RetentionHeatmap.config-MvOPw_Dd.cjs +1 -0
  43. package/dist/adapters/SankeyChart.config-C_4u9Xiq.js +2 -0
  44. package/dist/adapters/SankeyChart.config-EH6wsjPr.cjs +1 -0
  45. package/dist/adapters/ScatterChart.config-D-MlQ7mP.js +2 -0
  46. package/dist/adapters/ScatterChart.config-DmwiEBN-.cjs +1 -0
  47. package/dist/adapters/SunburstChart.config-BRr_as_L.js +2 -0
  48. package/dist/adapters/SunburstChart.config-CptDj8e4.cjs +1 -0
  49. package/dist/adapters/TreeMapChart.config-D5wX2xaT.cjs +1 -0
  50. package/dist/adapters/TreeMapChart.config-Dyhwpwq3.js +2 -0
  51. package/dist/adapters/WaterfallChart.config-B_LGJIov.js +2 -0
  52. package/dist/adapters/WaterfallChart.config-Q4Fv196W.cjs +1 -0
  53. package/dist/adapters/{compiler-DyyBaLry.cjs → compiler-D0v5KJhv.cjs} +2 -2
  54. package/dist/adapters/{compiler-lG6eNsoI.js → compiler-ZruQ85ff.js} +35 -30
  55. package/dist/adapters/core/index.cjs +1 -1
  56. package/dist/adapters/core/index.js +1 -1
  57. package/dist/adapters/{core-F1pCQPde.cjs → core-CVqTwOR3.cjs} +1 -1
  58. package/dist/adapters/{core-Bbchr0ui.js → core-DoSUiMmv.js} +60 -60
  59. package/dist/adapters/express/index.cjs +2 -2
  60. package/dist/adapters/express/index.js +80 -75
  61. package/dist/adapters/fastify/index.cjs +2 -2
  62. package/dist/adapters/fastify/index.js +63 -58
  63. package/dist/adapters/{handler-DRZb2ip6.cjs → handler-DyIyrFFp.cjs} +3 -3
  64. package/dist/adapters/{handler-u8FyzPBT.js → handler-j74EJDdo.js} +28 -28
  65. package/dist/adapters/hono/index.cjs +2 -2
  66. package/dist/adapters/hono/index.js +57 -52
  67. package/dist/adapters/mcp-tools.cjs +1 -1
  68. package/dist/adapters/mcp-tools.js +2 -2
  69. package/dist/adapters/mcp-transport-BuU5CrKL.cjs +40 -0
  70. package/dist/adapters/mcp-transport-l8DhKzR5.js +601 -0
  71. package/dist/adapters/mcp-transport.d.ts +21 -3
  72. package/dist/adapters/nextjs/index.cjs +1 -1
  73. package/dist/adapters/nextjs/index.js +110 -105
  74. package/dist/adapters/{openai-CmMzrs1Y.js → openai-BCSKRcbD.js} +10 -10
  75. package/dist/{server/openai-DhzGY9R4.js → adapters/openai-BjR3ohaS.js} +1 -1
  76. package/dist/{server/openai-B4kAJTSD.cjs → adapters/openai-ClVVLjNl.cjs} +2 -2
  77. package/dist/adapters/{openai-Cdf2wWZA.cjs → openai-CsVXOcJZ.cjs} +1 -1
  78. package/dist/adapters/utils-CBR-9AMD.cjs +128 -0
  79. package/dist/adapters/{utils-BPWZsX7k.js → utils-U7gV5wQL.js} +789 -788
  80. package/dist/adapters/utils.cjs +1 -1
  81. package/dist/adapters/utils.d.ts +16 -4
  82. package/dist/adapters/utils.js +1 -1
  83. package/dist/cjs/adapters/mcp-transport.d.ts +21 -3
  84. package/dist/cjs/adapters/utils.d.ts +16 -4
  85. package/dist/cjs/server/executors/sqlite-executor.d.ts +8 -2
  86. package/dist/client/charts.js +13 -13
  87. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +3283 -0
  88. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +1 -0
  89. package/dist/client/chunks/{DashboardEditModal-Cs1ig1_V.js → DashboardEditModal-DFQSxR_C.js} +1134 -4389
  90. package/dist/client/chunks/DashboardEditModal-DFQSxR_C.js.map +1 -0
  91. package/dist/client/chunks/{RetentionCombinedChart-BgbDhsPz.js → RetentionCombinedChart-DY7wKLs5.js} +3 -3
  92. package/dist/client/chunks/{RetentionCombinedChart-BgbDhsPz.js.map → RetentionCombinedChart-DY7wKLs5.js.map} +1 -1
  93. package/dist/client/chunks/{RetentionHeatmap-DjXZaTPq.js → RetentionHeatmap-iNCG-dLd.js} +2 -2
  94. package/dist/client/chunks/{RetentionHeatmap-DjXZaTPq.js.map → RetentionHeatmap-iNCG-dLd.js.map} +1 -1
  95. package/dist/client/chunks/{analysis-builder-B64yaeDe.js → analysis-builder-CBZ7lOC-.js} +311 -311
  96. package/dist/client/chunks/{analysis-builder-B64yaeDe.js.map → analysis-builder-CBZ7lOC-.js.map} +1 -1
  97. package/dist/client/chunks/{analysis-builder-shared-CD0n2Nb8.js → analysis-builder-shared-8alCn-zw.js} +411 -411
  98. package/dist/client/chunks/{analysis-builder-shared-CD0n2Nb8.js.map → analysis-builder-shared-8alCn-zw.js.map} +1 -1
  99. package/dist/client/chunks/{chart-activity-grid-DX0SJbxs.js → chart-activity-grid-DDqFVWoa.js} +5 -2
  100. package/dist/client/chunks/{chart-activity-grid-DX0SJbxs.js.map → chart-activity-grid-DDqFVWoa.js.map} +1 -1
  101. package/dist/client/chunks/{chart-area-of01_62R.js → chart-area-BHxPNsmc.js} +2 -2
  102. package/dist/client/chunks/{chart-area-of01_62R.js.map → chart-area-BHxPNsmc.js.map} +1 -1
  103. package/dist/client/chunks/{chart-bar-BqelQE_I.js → chart-bar-DAO3PPcE.js} +3 -3
  104. package/dist/client/chunks/{chart-bar-BqelQE_I.js.map → chart-bar-DAO3PPcE.js.map} +1 -1
  105. package/dist/client/chunks/{chart-box-plot-kkBixZ27.js → chart-box-plot-CUpFyQQk.js} +2 -2
  106. package/dist/client/chunks/{chart-box-plot-kkBixZ27.js.map → chart-box-plot-CUpFyQQk.js.map} +1 -1
  107. package/dist/client/chunks/{chart-bubble-B2he1--4.js → chart-bubble-DvP_6_n9.js} +2 -2
  108. package/dist/client/chunks/{chart-bubble-B2he1--4.js.map → chart-bubble-DvP_6_n9.js.map} +1 -1
  109. package/dist/client/chunks/{chart-candlestick-DZp19Tzh.js → chart-candlestick-Dx8ZCMzl.js} +2 -2
  110. package/dist/client/chunks/{chart-candlestick-DZp19Tzh.js.map → chart-candlestick-Dx8ZCMzl.js.map} +1 -1
  111. package/dist/client/chunks/{chart-data-table-D4g5_jfF.js → chart-data-table-BP6DMdom.js} +32 -16
  112. package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +1 -0
  113. package/dist/client/chunks/{chart-funnel-CToKSBaL.js → chart-funnel-xeVGBy-p.js} +2 -2
  114. package/dist/client/chunks/{chart-funnel-CToKSBaL.js.map → chart-funnel-xeVGBy-p.js.map} +1 -1
  115. package/dist/client/chunks/{chart-gauge-DTVezSk7.js → chart-gauge-DXQ4r3cb.js} +3 -3
  116. package/dist/client/chunks/{chart-gauge-DTVezSk7.js.map → chart-gauge-DXQ4r3cb.js.map} +1 -1
  117. package/dist/client/chunks/{chart-heat-map-DTuUl0BR.js → chart-heat-map-Pnk6rhqQ.js} +3 -3
  118. package/dist/client/chunks/{chart-heat-map-DTuUl0BR.js.map → chart-heat-map-Pnk6rhqQ.js.map} +1 -1
  119. package/dist/client/chunks/{chart-kpi-delta-BvWOt8-D.js → chart-kpi-delta-nXQnRRBr.js} +3 -3
  120. package/dist/client/chunks/{chart-kpi-delta-BvWOt8-D.js.map → chart-kpi-delta-nXQnRRBr.js.map} +1 -1
  121. package/dist/client/chunks/{chart-kpi-number-xgZmMiQY.js → chart-kpi-number-m8UGJfBr.js} +5 -5
  122. package/dist/client/chunks/{chart-kpi-number-xgZmMiQY.js.map → chart-kpi-number-m8UGJfBr.js.map} +1 -1
  123. package/dist/client/chunks/{chart-kpi-text-ZO3eFi7t.js → chart-kpi-text-CurpqmaD.js} +7 -4
  124. package/dist/client/chunks/{chart-kpi-text-ZO3eFi7t.js.map → chart-kpi-text-CurpqmaD.js.map} +1 -1
  125. package/dist/client/chunks/{chart-line-DKgrQA6c.js → chart-line-sJK-cJc0.js} +3 -3
  126. package/dist/client/chunks/{chart-line-DKgrQA6c.js.map → chart-line-sJK-cJc0.js.map} +1 -1
  127. package/dist/client/chunks/{chart-markdown-CV75S_zL.js → chart-markdown-BVrqqygz.js} +1263 -1192
  128. package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +1 -0
  129. package/dist/client/chunks/{chart-measure-profile-Ket8fJyf.js → chart-measure-profile-k9_QDQbB.js} +3 -3
  130. package/dist/client/chunks/{chart-measure-profile-Ket8fJyf.js.map → chart-measure-profile-k9_QDQbB.js.map} +1 -1
  131. package/dist/client/chunks/{chart-pie-ByieAX5H.js → chart-pie-BDaaYt7a.js} +3 -3
  132. package/dist/client/chunks/{chart-pie-ByieAX5H.js.map → chart-pie-BDaaYt7a.js.map} +1 -1
  133. package/dist/client/chunks/{chart-radar-CiSwHWp4.js → chart-radar-Bz07PIVe.js} +3 -3
  134. package/dist/client/chunks/{chart-radar-CiSwHWp4.js.map → chart-radar-Bz07PIVe.js.map} +1 -1
  135. package/dist/client/chunks/{chart-radial-bar-BF6Mhl6f.js → chart-radial-bar-DpyxKQMj.js} +3 -3
  136. package/dist/client/chunks/{chart-radial-bar-BF6Mhl6f.js.map → chart-radial-bar-DpyxKQMj.js.map} +1 -1
  137. package/dist/client/chunks/{chart-sankey-DjrvKw6K.js → chart-sankey-BAeNbI-p.js} +2 -2
  138. package/dist/client/chunks/{chart-sankey-DjrvKw6K.js.map → chart-sankey-BAeNbI-p.js.map} +1 -1
  139. package/dist/client/chunks/{chart-scatter-Dd9WFqnS.js → chart-scatter-CRhGLCcy.js} +3 -3
  140. package/dist/client/chunks/{chart-scatter-Dd9WFqnS.js.map → chart-scatter-CRhGLCcy.js.map} +1 -1
  141. package/dist/client/chunks/{chart-sunburst-leGpuDj7.js → chart-sunburst-D3wV5OrK.js} +3 -3
  142. package/dist/client/chunks/{chart-sunburst-leGpuDj7.js.map → chart-sunburst-D3wV5OrK.js.map} +1 -1
  143. package/dist/client/chunks/{chart-tree-map-Ceq5sLZA.js → chart-tree-map-iI3ewOKY.js} +3 -3
  144. package/dist/client/chunks/{chart-tree-map-Ceq5sLZA.js.map → chart-tree-map-iI3ewOKY.js.map} +1 -1
  145. package/dist/client/chunks/{chart-waterfall-DyvQReN5.js → chart-waterfall-BrrYTZfs.js} +3 -3
  146. package/dist/client/chunks/{chart-waterfall-DyvQReN5.js.map → chart-waterfall-BrrYTZfs.js.map} +1 -1
  147. package/dist/client/chunks/{charts-core-DaXSt1Dd.js → charts-core-Cs-UIsQa.js} +2 -2
  148. package/dist/client/chunks/{charts-core-DaXSt1Dd.js.map → charts-core-Cs-UIsQa.js.map} +1 -1
  149. package/dist/client/chunks/charts-loader-DAJbAD7a.js +84 -0
  150. package/dist/client/chunks/{charts-loader-B0DOQMFH.js.map → charts-loader-DAJbAD7a.js.map} +1 -1
  151. package/dist/client/chunks/core-D7vPfUIe.js.map +1 -1
  152. package/dist/client/chunks/{dist-zPWyTBdU.js → dist-BwQr11Fz.js} +251 -252
  153. package/dist/client/chunks/{dist-zPWyTBdU.js.map → dist-BwQr11Fz.js.map} +1 -1
  154. package/dist/client/chunks/{exceljs.min-CIqBqwTW.js → exceljs.min-Dey-qIFL.js} +16 -16
  155. package/dist/client/chunks/{exceljs.min-CIqBqwTW.js.map → exceljs.min-Dey-qIFL.js.map} +1 -1
  156. package/dist/client/chunks/javascript-DFnKaHmQ.js.map +1 -1
  157. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  158. package/dist/client/chunks/{schema-visualization-DJPTktM6.js → schema-visualization-BGT_cNon.js} +12 -12
  159. package/dist/client/chunks/{schema-visualization-DJPTktM6.js.map → schema-visualization-BGT_cNon.js.map} +1 -1
  160. package/dist/client/chunks/sql-CmVzGP4w.js.map +1 -1
  161. package/dist/client/chunks/syntaxHighlighting-Bq2Bj9Xt.js +30 -0
  162. package/dist/client/chunks/syntaxHighlighting-Bq2Bj9Xt.js.map +1 -0
  163. package/dist/client/chunks/{useDirtyStateTracking-BT6zqCFl.js → useDebounce-7suCFq9v.js} +47 -109
  164. package/dist/client/chunks/useDebounce-7suCFq9v.js.map +1 -0
  165. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +66 -0
  166. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +1 -0
  167. package/dist/client/chunks/{useExplainAI-Dq_meKNN.js → useExplainAI-CEf04DPE.js} +14 -14
  168. package/dist/client/chunks/{useExplainAI-Dq_meKNN.js.map → useExplainAI-CEf04DPE.js.map} +1 -1
  169. package/dist/client/chunks/useNotebookLayout-Ck3Z3uzg.js.map +1 -1
  170. package/dist/client/chunks/utils-DjLiJKS_.js +104 -0
  171. package/dist/client/chunks/utils-DjLiJKS_.js.map +1 -0
  172. package/dist/client/chunks/{vendor-D4jADu8t.js → vendor-DFAQ4Ucl.js} +5 -3
  173. package/dist/client/chunks/{vendor-D4jADu8t.js.map → vendor-DFAQ4Ucl.js.map} +1 -1
  174. package/dist/client/components.js +4 -3
  175. package/dist/client/hooks.js +5 -4
  176. package/dist/client/icons.js +1 -1
  177. package/dist/client/index.js +33 -29
  178. package/dist/client/index.js.map +1 -1
  179. package/dist/client/providers.js +1 -1
  180. package/dist/client/schema.js +1 -1
  181. package/dist/client/styles.css +1 -1
  182. package/dist/client/utils.js +32 -6
  183. package/dist/client/utils.js.map +1 -0
  184. package/dist/client-bundle-stats.html +1 -1
  185. package/dist/mcp-app/mcp-app.html +145 -50
  186. package/dist/server/executors/sqlite-executor.d.ts +8 -2
  187. package/dist/server/index.cjs +33 -33
  188. package/dist/server/index.js +1268 -1262
  189. package/dist/server/{openai-CmMzrs1Y.js → openai-BCSKRcbD.js} +10 -10
  190. package/dist/{adapters/openai-DhzGY9R4.js → server/openai-BjR3ohaS.js} +1 -1
  191. package/dist/{adapters/openai-B4kAJTSD.cjs → server/openai-ClVVLjNl.cjs} +2 -2
  192. package/dist/server/{openai-Cdf2wWZA.cjs → openai-CsVXOcJZ.cjs} +1 -1
  193. package/package.json +11 -7
  194. package/dist/adapters/ActivityGridChart.config-BtECymia.cjs +0 -1
  195. package/dist/adapters/ActivityGridChart.config-CTd5HYjI.js +0 -2
  196. package/dist/adapters/AreaChart.config-1B8iQnfn.js +0 -2
  197. package/dist/adapters/AreaChart.config-hnncyQL4.cjs +0 -1
  198. package/dist/adapters/BarChart.config-C-QCf1rL.cjs +0 -1
  199. package/dist/adapters/BarChart.config-CFelK1qP.js +0 -2
  200. package/dist/adapters/BoxPlotChart.config-CD9WEPyF.js +0 -2
  201. package/dist/adapters/BoxPlotChart.config-DEbLA0BX.cjs +0 -1
  202. package/dist/adapters/BubbleChart.config-B_M4hzzV.js +0 -2
  203. package/dist/adapters/BubbleChart.config-dRZZlAke.cjs +0 -1
  204. package/dist/adapters/CandlestickChart.config-Dsil2Fop.cjs +0 -1
  205. package/dist/adapters/CandlestickChart.config-fuhyFvob.js +0 -2
  206. package/dist/adapters/DataTable.config-q2gqBi6t.cjs +0 -1
  207. package/dist/adapters/DataTable.config-wIQnHX5R.js +0 -2
  208. package/dist/adapters/FunnelChart.config-Dz710ssx.js +0 -2
  209. package/dist/adapters/FunnelChart.config-YNP9CeS-.cjs +0 -1
  210. package/dist/adapters/GaugeChart.config-BG9FcMCn.cjs +0 -1
  211. package/dist/adapters/GaugeChart.config-CgwniXkd.js +0 -2
  212. package/dist/adapters/HeatMapChart.config-1zSMXXoN.cjs +0 -1
  213. package/dist/adapters/HeatMapChart.config-YVEWx6s5.js +0 -2
  214. package/dist/adapters/KpiDelta.config-BWvYXuFp.cjs +0 -1
  215. package/dist/adapters/KpiDelta.config-C_dYM64q.js +0 -2
  216. package/dist/adapters/KpiNumber.config-CXg6toZG.js +0 -2
  217. package/dist/adapters/KpiNumber.config-CZmV-yU1.cjs +0 -1
  218. package/dist/adapters/KpiText.config-BY-SJvAF.js +0 -2
  219. package/dist/adapters/KpiText.config-GSIxy0CE.cjs +0 -1
  220. package/dist/adapters/LineChart.config-CJtF8SOu.js +0 -2
  221. package/dist/adapters/LineChart.config-d0y60gw9.cjs +0 -1
  222. package/dist/adapters/MarkdownChart.config-B6w0spya.cjs +0 -1
  223. package/dist/adapters/MarkdownChart.config-BuIQcWOn.js +0 -2
  224. package/dist/adapters/MeasureProfileChart.config-Bo2n5Ae5.cjs +0 -1
  225. package/dist/adapters/MeasureProfileChart.config-C5d34lsc.js +0 -2
  226. package/dist/adapters/PieChart.config-CDxfXCIt.cjs +0 -1
  227. package/dist/adapters/PieChart.config-CuZxQc5m.js +0 -2
  228. package/dist/adapters/RadarChart.config-DpdVWyh5.cjs +0 -1
  229. package/dist/adapters/RadarChart.config-KrxwaaGu.js +0 -2
  230. package/dist/adapters/RadialBarChart.config-DpRZd0FW.js +0 -2
  231. package/dist/adapters/RadialBarChart.config-faIY4jpE.cjs +0 -1
  232. package/dist/adapters/RetentionCombinedChart.config-CUnScqnS.cjs +0 -1
  233. package/dist/adapters/RetentionCombinedChart.config-Dd8FuawP.js +0 -2
  234. package/dist/adapters/RetentionHeatmap.config-CPd6GeoQ.js +0 -2
  235. package/dist/adapters/RetentionHeatmap.config-CPlHbLom.cjs +0 -1
  236. package/dist/adapters/SankeyChart.config-DbIUqi-H.cjs +0 -1
  237. package/dist/adapters/SankeyChart.config-kzAnW0C7.js +0 -2
  238. package/dist/adapters/ScatterChart.config-4Okvn27v.js +0 -2
  239. package/dist/adapters/ScatterChart.config-4f9nNw3e.cjs +0 -1
  240. package/dist/adapters/SunburstChart.config-BsUQkIM_.js +0 -2
  241. package/dist/adapters/SunburstChart.config-lvnYkWs7.cjs +0 -1
  242. package/dist/adapters/TreeMapChart.config-S0qsgAFW.js +0 -2
  243. package/dist/adapters/TreeMapChart.config-jbwKsTYt.cjs +0 -1
  244. package/dist/adapters/WaterfallChart.config-CDQ74-pS.cjs +0 -1
  245. package/dist/adapters/WaterfallChart.config-XdtH-O5g.js +0 -2
  246. package/dist/adapters/mcp-transport-Bw_zqky2.js +0 -591
  247. package/dist/adapters/mcp-transport-CNIPoe1i.cjs +0 -40
  248. package/dist/adapters/utils-_whV4fXL.cjs +0 -128
  249. package/dist/client/chunks/DashboardEditModal-Cs1ig1_V.js.map +0 -1
  250. package/dist/client/chunks/chart-data-table-D4g5_jfF.js.map +0 -1
  251. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +0 -1
  252. package/dist/client/chunks/charts-loader-B0DOQMFH.js +0 -84
  253. package/dist/client/chunks/useDirtyStateTracking-BT6zqCFl.js.map +0 -1
  254. package/dist/client/chunks/utils-Cq-j5E5I.js +0 -155
  255. package/dist/client/chunks/utils-Cq-j5E5I.js.map +0 -1
@@ -82,12 +82,16 @@ export declare const MCP_PROTOCOL_VERSION_HEADER = "mcp-protocol-version";
82
82
  export declare function validateAcceptHeader(accept: string | null | undefined): boolean;
83
83
  export interface OriginValidationOptions {
84
84
  /**
85
- * List of allowed origins (e.g., ['http://localhost:3000', 'https://myapp.com'])
86
- * If not provided, defaults to localhost origins only
85
+ * List of allowed origins (e.g., ['http://localhost:3000', 'https://myapp.com']).
86
+ * If not provided, the default policy admits loopback origins (localhost / 127.x /
87
+ * [::1]) plus non-browser clients that send no Origin header; any other browser
88
+ * Origin is rejected. Include the wildcard `'*'` to allow ALL origins (permissive
89
+ * mode — discouraged; prefer listing exact origins or enabling auth).
87
90
  */
88
91
  allowedOrigins?: string[];
89
92
  /**
90
- * If true, allows requests without an Origin header (non-browser clients)
93
+ * If true, allows requests without an Origin header (non-browser / server-to-server
94
+ * clients such as the Claude MCP connector, curl, Postman).
91
95
  * @default true
92
96
  */
93
97
  allowMissingOrigin?: boolean;
@@ -97,6 +101,11 @@ export interface OriginValidationOptions {
97
101
  * Servers MUST validate Origin to prevent DNS rebinding attacks.
98
102
  * If Origin is present and invalid, MUST respond with 403 Forbidden.
99
103
  *
104
+ * Default policy (no `allowedOrigins`): admit loopback origins and requests with no
105
+ * Origin header (non-browser / server-to-server clients); reject every other browser
106
+ * Origin. Configure `allowedOrigins` to expose a browser front-end, or include `'*'`
107
+ * to restore fully-permissive behavior.
108
+ *
100
109
  * @returns { valid: true } if allowed, or { valid: false, reason: string } if blocked
101
110
  */
102
111
  export declare function validateOriginHeader(origin: string | null | undefined, options?: OriginValidationOptions): {
@@ -105,6 +114,15 @@ export declare function validateOriginHeader(origin: string | null | undefined,
105
114
  valid: false;
106
115
  reason: string;
107
116
  };
117
+ /**
118
+ * Build {@link OriginValidationOptions} from an MCP config, forwarding the
119
+ * configured allowlist (if any) so `validateOriginHeader` applies the same policy
120
+ * for POST, GET, and DELETE `/mcp` across every adapter. When `allowedOrigins` is
121
+ * absent, the loopback-only default policy applies.
122
+ */
123
+ export declare function originOptionsFromMcp(mcp: {
124
+ allowedOrigins?: string[];
125
+ }): OriginValidationOptions;
108
126
  /**
109
127
  * Extract a Bearer token from an Authorization header.
110
128
  * Returns the token string if present and well-formed, or null otherwise.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-_whV4fXL.cjs"),t=require("../compiler-DyyBaLry.cjs"),n=require("../mcp-transport-CNIPoe1i.cjs"),r=require("../core-F1pCQPde.cjs");let i=require("next/server");function a(e,t){let r=new TextEncoder,a=n._(),o=new ReadableStream({start(e){e.enqueue(r.encode(n.b({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 e.p(r,await t.json());return i.NextResponse.json(a,{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 e.m(a,await n(t,o),s);return i.NextResponse.json(l,{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){return c.resourceMetadataUrl&&!n.u(t.headers.get(`authorization`))?i.NextResponse.json({error:`Bearer token required`},{status:401,headers:{"WWW-Authenticate":n.c(c.resourceMetadataUrl)}}):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-DRZb2ip6.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-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,12 +1,12 @@
1
- import { d as e, f as t, i as n, m as r, p as i } from "../utils-BPWZsX7k.js";
2
- import { t as a } from "../compiler-lG6eNsoI.js";
3
- import { _ as o, b as s, c, u as l } from "../mcp-transport-Bw_zqky2.js";
4
- import { a as u, i as d, o as f, r as p, t as m } from "../core-Bbchr0ui.js";
5
- import { NextResponse as h } from "next/server";
1
+ import { d as e, f as t, i as n, m as r, p as i } from "../utils-U7gV5wQL.js";
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";
5
+ import { NextResponse as _ } from "next/server";
6
6
  //#region src/adapters/nextjs/mcp-handler.ts
7
- function g(e, t) {
8
- let n = new TextEncoder(), r = o(), i = new ReadableStream({ start(e) {
9
- e.enqueue(n.encode(s({
7
+ function v(e, t) {
8
+ let n = new TextEncoder(), r = u(), i = new ReadableStream({ start(e) {
9
+ e.enqueue(n.encode(d({
10
10
  jsonrpc: "2.0",
11
11
  method: "mcp/ready",
12
12
  params: { protocol: "streamable-http" }
@@ -16,14 +16,14 @@ function g(e, t) {
16
16
  "Cache-Control": "no-cache",
17
17
  Connection: "keep-alive"
18
18
  });
19
- return t(e, a), new h(i, {
19
+ return t(e, a), new _(i, {
20
20
  status: 200,
21
21
  headers: a
22
22
  });
23
23
  }
24
24
  //#endregion
25
25
  //#region src/adapters/nextjs/index.ts
26
- function _(e) {
26
+ function y(e) {
27
27
  if (e.semanticLayer) return e.semanticLayer;
28
28
  let { cubes: t, drizzle: n, schema: r, engineType: i, cache: o, rlsSetup: s } = e;
29
29
  if (!t || t.length === 0) throw Error("At least one cube must be provided in the cubes array");
@@ -38,37 +38,37 @@ function _(e) {
38
38
  c.registerCube(e);
39
39
  }), c;
40
40
  }
41
- function v(e) {
41
+ function b(e) {
42
42
  return {
43
- extractSecurityContext: async (t, n) => f(await e.extractSecurityContext(t, n), u((e) => t.headers.get(e))),
43
+ extractSecurityContext: async (t, n) => m(await e.extractSecurityContext(t, n), f((e) => t.headers.get(e))),
44
44
  cors: e.cors ? {
45
45
  ...e.cors,
46
- allowedHeaders: d(e.cors.allowedHeaders)
46
+ allowedHeaders: p(e.cors.allowedHeaders)
47
47
  } : void 0
48
48
  };
49
49
  }
50
- function y(e, t) {
50
+ function x(e, t) {
51
51
  let n = e.headers.get("origin"), r = {};
52
52
  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;
53
53
  }
54
- function b(e) {
55
- let t = m({
56
- semanticLayer: _(e),
54
+ function S(e) {
55
+ let t = g({
56
+ semanticLayer: y(e),
57
57
  onError: (e) => {
58
58
  process.env.NODE_ENV !== "test" && console.error("Next.js handler error:", e);
59
59
  },
60
60
  mcp: e.mcp
61
61
  }), n = e.cors ? {
62
62
  ...e.cors,
63
- allowedHeaders: d(e.cors.allowedHeaders)
63
+ allowedHeaders: p(e.cors.allowedHeaders)
64
64
  } : void 0;
65
65
  return {
66
66
  httpHandler: t,
67
- corsHeaders: (e) => n ? y(e, n) : {},
67
+ corsHeaders: (e) => n ? x(e, n) : {},
68
68
  baseContext: (t, n) => () => e.extractSecurityContext(t, n)
69
69
  };
70
70
  }
71
- function x(e, t) {
71
+ function C(e, t) {
72
72
  let n = {};
73
73
  return {
74
74
  getHeader: (t) => e.headers.get(t) ?? void 0,
@@ -80,7 +80,7 @@ function x(e, t) {
80
80
  }
81
81
  },
82
82
  getQueryParam: (t) => e.nextUrl.searchParams.get(t) ?? void 0,
83
- send: (e, r) => h.json(r, {
83
+ send: (e, r) => _.json(r, {
84
84
  status: e,
85
85
  headers: {
86
86
  ...t,
@@ -90,14 +90,14 @@ function x(e, t) {
90
90
  setHeader: (e, t) => {
91
91
  n[e] = t;
92
92
  },
93
- sendEmpty: (e) => new h(null, {
93
+ sendEmpty: (e) => new _(null, {
94
94
  status: e,
95
95
  headers: {
96
96
  ...t,
97
97
  ...n
98
98
  }
99
99
  }),
100
- sendSse: (e, r) => new h(r, {
100
+ sendSse: (e, r) => new _(r, {
101
101
  status: e,
102
102
  headers: {
103
103
  "Content-Type": "text/event-stream",
@@ -109,11 +109,11 @@ function x(e, t) {
109
109
  })
110
110
  };
111
111
  }
112
- function S(e) {
112
+ function w(e) {
113
113
  return async function(t) {
114
- let n = y(t, {
114
+ let n = x(t, {
115
115
  ...e,
116
- allowedHeaders: d(e.allowedHeaders)
116
+ allowedHeaders: p(e.allowedHeaders)
117
117
  });
118
118
  return new Response(null, {
119
119
  status: 200,
@@ -121,142 +121,147 @@ function S(e) {
121
121
  });
122
122
  };
123
123
  }
124
- function C(e) {
125
- let { httpHandler: t, corsHeaders: r, baseContext: i } = b(e);
124
+ function T(e) {
125
+ let { httpHandler: t, corsHeaders: r, baseContext: i } = S(e);
126
126
  return async function(e, a) {
127
- let o = x(e, r(e));
128
- return e.method === "POST" ? t.handleLoadPost(o, i(e, a)) : e.method === "GET" ? t.handleLoadGet(o, i(e, a)) : h.json(n("Method not allowed", 405), { status: 405 });
127
+ let o = C(e, r(e));
128
+ return e.method === "POST" ? t.handleLoadPost(o, i(e, a)) : e.method === "GET" ? t.handleLoadGet(o, i(e, a)) : _.json(n("Method not allowed", 405), { status: 405 });
129
129
  };
130
130
  }
131
- function w(e) {
132
- let { httpHandler: t, corsHeaders: n } = b(e);
131
+ function E(e) {
132
+ let { httpHandler: t, corsHeaders: n } = S(e);
133
133
  return async function(e, r) {
134
- return t.handleMetaGet(x(e, n(e)));
134
+ return t.handleMetaGet(C(e, n(e)));
135
135
  };
136
136
  }
137
- function T(e) {
138
- let { httpHandler: t, corsHeaders: r, baseContext: i } = b(e);
137
+ function D(e) {
138
+ let { httpHandler: t, corsHeaders: r, baseContext: i } = S(e);
139
139
  return async function(e, a) {
140
- let o = x(e, r(e));
141
- return e.method === "POST" ? t.handleSqlPost(o, i(e, a)) : e.method === "GET" ? t.handleSqlGet(o, i(e, a)) : h.json(n("Method not allowed", 405), { status: 405 });
140
+ let o = C(e, r(e));
141
+ return e.method === "POST" ? t.handleSqlPost(o, i(e, a)) : e.method === "GET" ? t.handleSqlGet(o, i(e, a)) : _.json(n("Method not allowed", 405), { status: 405 });
142
142
  };
143
143
  }
144
- function E(e) {
145
- let { httpHandler: t, corsHeaders: n, baseContext: r } = b(e);
144
+ function O(e) {
145
+ let { httpHandler: t, corsHeaders: n, baseContext: r } = S(e);
146
146
  return async function(e, i) {
147
- let a = x(e, n(e));
148
- return e.method === "POST" ? t.handleDryRunPost(a, r(e, i)) : e.method === "GET" ? t.handleDryRunGet(a, r(e, i)) : h.json({
147
+ let a = C(e, n(e));
148
+ return e.method === "POST" ? t.handleDryRunPost(a, r(e, i)) : e.method === "GET" ? t.handleDryRunGet(a, r(e, i)) : _.json({
149
149
  error: "Method not allowed",
150
150
  valid: !1
151
151
  }, { status: 405 });
152
152
  };
153
153
  }
154
- function D(e) {
155
- let { httpHandler: t, corsHeaders: r, baseContext: i } = b(e);
154
+ function k(e) {
155
+ let { httpHandler: t, corsHeaders: r, baseContext: i } = S(e);
156
156
  return async function(e, a) {
157
- return e.method === "POST" ? t.handleBatchPost(x(e, r(e)), i(e, a)) : h.json(n("Method not allowed - use POST", 405), { status: 405 });
157
+ return e.method === "POST" ? t.handleBatchPost(C(e, r(e)), i(e, a)) : _.json(n("Method not allowed - use POST", 405), { status: 405 });
158
158
  };
159
159
  }
160
- function O(e) {
161
- let { httpHandler: t, corsHeaders: n, baseContext: r } = b(e);
160
+ function A(e) {
161
+ let { httpHandler: t, corsHeaders: n, baseContext: r } = S(e);
162
162
  return async function(e, i) {
163
- return e.method === "POST" ? t.handleExplainPost(x(e, n(e)), r(e, i)) : h.json({ error: "Method not allowed" }, { status: 405 });
163
+ return e.method === "POST" ? t.handleExplainPost(C(e, n(e)), r(e, i)) : _.json({ error: "Method not allowed" }, { status: 405 });
164
164
  };
165
165
  }
166
- function k(e) {
167
- let { cors: t } = v(e), r = _(e);
166
+ function j(e) {
167
+ let { cors: t } = b(e), r = y(e);
168
168
  return async function(e, a) {
169
169
  try {
170
- if (e.method !== "POST") return h.json(n("Method not allowed - use POST", 405), { status: 405 });
171
- let a = await i(r, await e.json());
172
- return h.json(a, { headers: t ? y(e, t) : {} });
170
+ if (e.method !== "POST") return _.json(n("Method not allowed - use POST", 405), { status: 405 });
171
+ let a = await e.json(), o = await i(r, a);
172
+ return _.json(o, { headers: t ? x(e, t) : {} });
173
173
  } catch (e) {
174
- return process.env.NODE_ENV !== "test" && console.error("Next.js discover handler error:", e), h.json(n(e instanceof Error ? e.message : "Discovery failed", 500), { status: 500 });
174
+ return process.env.NODE_ENV !== "test" && console.error("Next.js discover handler error:", e), _.json(n(e instanceof Error ? e.message : "Discovery failed", 500), { status: 500 });
175
175
  }
176
176
  };
177
177
  }
178
- function A(t) {
179
- let { cors: r } = v(t), i = _(t);
178
+ function M(t) {
179
+ let { cors: r } = b(t), i = y(t);
180
180
  return async function(t, a) {
181
181
  try {
182
- if (t.method !== "POST") return h.json(n("Method not allowed - use POST", 405), { status: 405 });
182
+ if (t.method !== "POST") return _.json(n("Method not allowed - use POST", 405), { status: 405 });
183
183
  let a = await t.json();
184
- if (!a.naturalLanguage) return h.json(n("naturalLanguage field is required", 400), { status: 400 });
184
+ if (!a.naturalLanguage) return _.json(n("naturalLanguage field is required", 400), { status: 400 });
185
185
  let o = await e(i, a);
186
- return h.json(o, { headers: r ? y(t, r) : {} });
186
+ return _.json(o, { headers: r ? x(t, r) : {} });
187
187
  } catch (e) {
188
- return process.env.NODE_ENV !== "test" && console.error("Next.js suggest handler error:", e), h.json(n(e instanceof Error ? e.message : "Query suggestion failed", 500), { status: 500 });
188
+ return process.env.NODE_ENV !== "test" && console.error("Next.js suggest handler error:", e), _.json(n(e instanceof Error ? e.message : "Query suggestion failed", 500), { status: 500 });
189
189
  }
190
190
  };
191
191
  }
192
- function j(e) {
193
- let { cors: r } = v(e), i = _(e);
192
+ function N(e) {
193
+ let { cors: r } = b(e), i = y(e);
194
194
  return async function(e, a) {
195
195
  try {
196
- if (e.method !== "POST") return h.json(n("Method not allowed - use POST", 405), { status: 405 });
196
+ if (e.method !== "POST") return _.json(n("Method not allowed - use POST", 405), { status: 405 });
197
197
  let a = await e.json();
198
- if (!a.query) return h.json(n("query field is required", 400), { status: 400 });
198
+ if (!a.query) return _.json(n("query field is required", 400), { status: 400 });
199
199
  let o = await t(i, a);
200
- return h.json(o, { headers: r ? y(e, r) : {} });
200
+ return _.json(o, { headers: r ? x(e, r) : {} });
201
201
  } catch (e) {
202
- return process.env.NODE_ENV !== "test" && console.error("Next.js validate handler error:", e), h.json(n(e instanceof Error ? e.message : "Query validation failed", 500), { status: 500 });
202
+ return process.env.NODE_ENV !== "test" && console.error("Next.js validate handler error:", e), _.json(n(e instanceof Error ? e.message : "Query validation failed", 500), { status: 500 });
203
203
  }
204
204
  };
205
205
  }
206
- function M(e) {
207
- let { extractSecurityContext: t, cors: i } = v(e), a = _(e);
206
+ function P(e) {
207
+ let { extractSecurityContext: t, cors: i } = b(e), a = y(e);
208
208
  return async function(e, o) {
209
209
  try {
210
- if (e.method !== "POST") return h.json(n("Method not allowed - use POST", 405), { status: 405 });
210
+ if (e.method !== "POST") return _.json(n("Method not allowed - use POST", 405), { status: 405 });
211
211
  let s = await e.json();
212
- if (!s.query) return h.json(n("query field is required", 400), { status: 400 });
213
- let c = await r(a, await t(e, o), s);
214
- return h.json(c, { headers: i ? y(e, i) : {} });
212
+ if (!s.query) return _.json(n("query field is required", 400), { status: 400 });
213
+ let c = await t(e, o), l = await r(a, c, s);
214
+ return _.json(l, { headers: i ? x(e, i) : {} });
215
215
  } catch (e) {
216
- return process.env.NODE_ENV !== "test" && console.error("Next.js MCP load handler error:", e), h.json(n(e instanceof Error ? e.message : "Query execution failed", 500), { status: 500 });
216
+ return process.env.NODE_ENV !== "test" && console.error("Next.js MCP load handler error:", e), _.json(n(e instanceof Error ? e.message : "Query execution failed", 500), { status: 500 });
217
217
  }
218
218
  };
219
219
  }
220
- function N(e) {
221
- let { httpHandler: t, corsHeaders: r, baseContext: i } = b(e), { mcp: a = { enabled: !0 } } = e, o = (e, t) => {
220
+ function F(e) {
221
+ let { httpHandler: t, corsHeaders: r, baseContext: i } = S(e), { mcp: a = { enabled: !0 } } = e, u = (e, t) => {
222
222
  Object.entries(r(e)).forEach(([e, n]) => t.set(e, n));
223
223
  };
224
- return async function(e, s) {
225
- return a.resourceMetadataUrl && !l(e.headers.get("authorization")) ? h.json({ error: "Bearer token required" }, {
224
+ return async function(e, d) {
225
+ if (a.resourceMetadataUrl && !l(e.headers.get("authorization"))) return _.json({ error: "Bearer token required" }, {
226
226
  status: 401,
227
- headers: { "WWW-Authenticate": c(a.resourceMetadataUrl) }
228
- }) : e.method === "DELETE" ? h.json({ error: "Session termination not supported" }, { status: 405 }) : e.method === "GET" ? g(e, o) : e.method === "POST" ? t.handleMcpPost(x(e, r(e)), i(e, s)) : h.json(n("Method not allowed - use POST", 405), { status: 405 });
227
+ headers: { "WWW-Authenticate": s(a.resourceMetadataUrl) }
228
+ });
229
+ if (e.method === "DELETE" || e.method === "GET") {
230
+ let t = o(e.headers.get("origin"), c(a));
231
+ if (!t.valid) return _.json({ error: t.reason }, { status: 403 });
232
+ }
233
+ return e.method === "DELETE" ? _.json({ error: "Session termination not supported" }, { status: 405 }) : e.method === "GET" ? v(e, u) : e.method === "POST" ? t.handleMcpPost(C(e, r(e)), i(e, d)) : _.json(n("Method not allowed - use POST", 405), { status: 405 });
229
234
  };
230
235
  }
231
- function P(e) {
232
- let { cors: t } = v(e), { agent: n } = e;
236
+ function I(e) {
237
+ let { cors: t } = b(e), { agent: n } = e;
233
238
  if (!n) throw Error("agent config is required for createAgentChatHandler");
234
- let r = _(e);
239
+ let r = y(e);
235
240
  return async function(i, a) {
236
241
  try {
237
- if (i.method !== "POST") return h.json({ error: "Method not allowed - use POST" }, { status: 405 });
238
- let { handleAgentChat: o } = await import("../handler-u8FyzPBT.js"), { message: s, sessionId: c, history: l } = await i.json();
239
- if (!s || typeof s != "string") return h.json({ error: "message is required and must be a string" }, { status: 400 });
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();
244
+ if (!s || typeof s != "string") return _.json({ error: "message is required and must be a string" }, { status: 400 });
240
245
  let u = (n.apiKey || "").trim();
241
246
  if (n.allowClientApiKey) {
242
247
  let e = i.headers.get("x-agent-api-key");
243
248
  e && (u = e.trim());
244
249
  }
245
- if (!u) return h.json({ error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." }, { status: 401 });
246
- let d = n.allowClientApiKey && i.headers.get("x-agent-provider") || void 0, f = n.allowClientApiKey && i.headers.get("x-agent-model") || void 0, m = n.allowClientApiKey && i.headers.get("x-agent-provider-endpoint") || void 0, g = p(await e.extractSecurityContext(i, a), (e) => i.headers.get(e) ?? void 0), _ = n.buildSystemContext?.(g), v = new TextEncoder(), b = new ReadableStream({ async start(e) {
250
+ if (!u) return _.json({ error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." }, { status: 401 });
251
+ let d = n.allowClientApiKey && i.headers.get("x-agent-provider") || void 0, f = n.allowClientApiKey && i.headers.get("x-agent-model") || void 0, p = n.allowClientApiKey && i.headers.get("x-agent-provider-endpoint") || void 0, m = h(await e.extractSecurityContext(i, a), (e) => i.headers.get(e) ?? void 0), g = n.buildSystemContext?.(m), v = new TextEncoder(), y = new ReadableStream({ async start(e) {
247
252
  try {
248
253
  let t = o({
249
254
  message: s,
250
255
  sessionId: c,
251
256
  history: l,
252
257
  semanticLayer: r,
253
- securityContext: g,
258
+ securityContext: m,
254
259
  agentConfig: n,
255
260
  apiKey: u,
256
- systemContext: _,
261
+ systemContext: g,
257
262
  providerOverride: d,
258
263
  modelOverride: f,
259
- baseURLOverride: m
264
+ baseURLOverride: p
260
265
  });
261
266
  for await (let n of t) {
262
267
  let t = `data: ${JSON.stringify(n)}\n\n`;
@@ -271,37 +276,37 @@ function P(e) {
271
276
  } finally {
272
277
  e.close();
273
278
  }
274
- } }), x = new Headers({
279
+ } }), b = new Headers({
275
280
  "Content-Type": "text/event-stream",
276
281
  "Cache-Control": "no-cache",
277
282
  Connection: "keep-alive"
278
283
  });
279
284
  if (t) {
280
- let e = y(i, t);
281
- Object.entries(e).forEach(([e, t]) => x.set(e, t));
285
+ let e = x(i, t);
286
+ Object.entries(e).forEach(([e, t]) => b.set(e, t));
282
287
  }
283
- return new Response(b, {
288
+ return new Response(y, {
284
289
  status: 200,
285
- headers: x
290
+ headers: b
286
291
  });
287
292
  } catch (e) {
288
- return process.env.NODE_ENV !== "test" && console.error("Next.js agent chat handler error:", e), h.json({ error: e instanceof Error ? e.message : "Agent chat failed" }, { status: 500 });
293
+ return process.env.NODE_ENV !== "test" && console.error("Next.js agent chat handler error:", e), _.json({ error: e instanceof Error ? e.message : "Agent chat failed" }, { status: 500 });
289
294
  }
290
295
  };
291
296
  }
292
- function F(e) {
293
- let { mcp: t = { enabled: !0 } } = e, n = _(e), r = {
297
+ function L(e) {
298
+ let { mcp: t = { enabled: !0 } } = e, n = y(e), r = {
294
299
  ...e,
295
300
  semanticLayer: n
296
301
  }, i = {
297
- load: C(r),
298
- meta: w(r),
299
- sql: T(r),
300
- dryRun: E(r),
301
- batch: D(r),
302
- explain: O(r)
302
+ load: T(r),
303
+ meta: E(r),
304
+ sql: D(r),
305
+ dryRun: O(r),
306
+ batch: k(r),
307
+ explain: A(r)
303
308
  };
304
- return t.enabled !== !1 && (i.mcpRpc = N(r)), e.agent && (i.agentChat = P(r)), i;
309
+ return t.enabled !== !1 && (i.mcpRpc = F(r)), e.agent && (i.agentChat = I(r)), i;
305
310
  }
306
311
  //#endregion
307
- export { P as createAgentChatHandler, D as createBatchHandler, F as createCubeHandlers, k as createDiscoverHandler, E as createDryRunHandler, O as createExplainHandler, C as createLoadHandler, M as createMcpLoadHandler, N as createMcpRpcHandler, w as createMetaHandler, S as createOptionsHandler, T as createSqlHandler, A as createSuggestHandler, j as createValidateHandler };
312
+ export { I as createAgentChatHandler, k as createBatchHandler, L as createCubeHandlers, j as createDiscoverHandler, O as createDryRunHandler, A as createExplainHandler, T as createLoadHandler, P as createMcpLoadHandler, F as createMcpRpcHandler, E as createMetaHandler, w as createOptionsHandler, D as createSqlHandler, M as createSuggestHandler, N as createValidateHandler };
@@ -15,7 +15,7 @@ function t(e, t, n, r) {
15
15
  var n = function() {
16
16
  let { crypto: e } = globalThis;
17
17
  if (e?.randomUUID) return n = e.randomUUID.bind(e), e.randomUUID();
18
- let t = new Uint8Array(1), r = e ? () => e.getRandomValues(t)[0] : () => Math.random() * 255 & 255;
18
+ let t = /* @__PURE__ */ new Uint8Array(1), r = e ? () => e.getRandomValues(t)[0] : () => Math.random() * 255 & 255;
19
19
  return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (e) => (e ^ r() & 15 >> e / 4).toString(16));
20
20
  };
21
21
  //#endregion
@@ -481,7 +481,7 @@ function qe(e) {
481
481
  //#region node_modules/openai/internal/decoders/line.mjs
482
482
  var T, E, Je = class {
483
483
  constructor() {
484
- T.set(this, void 0), E.set(this, void 0), e(this, T, new Uint8Array(), "f"), e(this, E, null, "f");
484
+ T.set(this, void 0), E.set(this, void 0), e(this, T, /* @__PURE__ */ new Uint8Array(), "f"), e(this, E, null, "f");
485
485
  }
486
486
  decode(n) {
487
487
  if (n == null) return [];
@@ -506,7 +506,7 @@ var T, E, Je = class {
506
506
  return t(this, T, "f").length ? this.decode("\n") : [];
507
507
  }
508
508
  };
509
- T = /* @__PURE__ */ new WeakMap(), E = /* @__PURE__ */ new WeakMap(), Je.NEWLINE_CHARS = new Set(["\n", "\r"]), Je.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
509
+ T = /* @__PURE__ */ new WeakMap(), E = /* @__PURE__ */ new WeakMap(), Je.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]), Je.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
510
510
  function Ye(e, t) {
511
511
  for (let n = t ?? 0; n < e.length; n++) {
512
512
  if (e[n] === 10) return {
@@ -689,7 +689,7 @@ async function* ot(e, t) {
689
689
  }
690
690
  }
691
691
  async function* st(e) {
692
- let t = new Uint8Array();
692
+ let t = /* @__PURE__ */ new Uint8Array();
693
693
  for await (let n of e) {
694
694
  if (n == null) continue;
695
695
  let e = n instanceof ArrayBuffer ? new Uint8Array(n) : typeof n == "string" ? Ge(n) : n, r = new Uint8Array(t.length + e.length);
@@ -837,7 +837,7 @@ var mt, ht = class {
837
837
  return this.data ?? [];
838
838
  }
839
839
  hasNextPage() {
840
- return this.has_more === !1 ? !1 : super.hasNextPage();
840
+ return this.has_more !== !1 && super.hasNextPage();
841
841
  }
842
842
  nextPageRequestOptions() {
843
843
  let e = this.getPaginatedItems(), t = e[e.length - 1]?.id;
@@ -857,7 +857,7 @@ var mt, ht = class {
857
857
  return this.data ?? [];
858
858
  }
859
859
  hasNextPage() {
860
- return this.has_more === !1 ? !1 : super.hasNextPage();
860
+ return this.has_more !== !1 && super.hasNextPage();
861
861
  }
862
862
  nextPageRequestOptions() {
863
863
  let e = this.last_id;
@@ -877,7 +877,7 @@ var mt, ht = class {
877
877
  return this.data ?? [];
878
878
  }
879
879
  hasNextPage() {
880
- return this.has_more === !1 ? !1 : super.hasNextPage();
880
+ return this.has_more !== !1 && super.hasNextPage();
881
881
  }
882
882
  nextPageRequestOptions() {
883
883
  let e = this.next;
@@ -1466,7 +1466,7 @@ var On = (e, t) => {
1466
1466
  throw new En(`${e} at position ${r}`);
1467
1467
  }, o = () => (d(), r >= n && i("Unexpected end of input"), e[r] === "\"" ? s() : e[r] === "{" ? c() : e[r] === "[" ? l() : e.substring(r, r + 4) === "null" || L.NULL & t && n - r < 4 && "null".startsWith(e.substring(r)) ? (r += 4, null) : e.substring(r, r + 4) === "true" || L.BOOL & t && n - r < 4 && "true".startsWith(e.substring(r)) ? (r += 4, !0) : e.substring(r, r + 5) === "false" || L.BOOL & t && n - r < 5 && "false".startsWith(e.substring(r)) ? (r += 5, !1) : e.substring(r, r + 8) === "Infinity" || L.INFINITY & t && n - r < 8 && "Infinity".startsWith(e.substring(r)) ? (r += 8, Infinity) : e.substring(r, r + 9) === "-Infinity" || L.MINUS_INFINITY & t && 1 < n - r && n - r < 9 && "-Infinity".startsWith(e.substring(r)) ? (r += 9, -Infinity) : e.substring(r, r + 3) === "NaN" || L.NAN & t && n - r < 3 && "NaN".startsWith(e.substring(r)) ? (r += 3, NaN) : u()), s = () => {
1468
1468
  let o = r, s = !1;
1469
- for (r++; r < n && (e[r] !== "\"" || s && e[r - 1] === "\\");) s = e[r] === "\\" ? !s : !1, r++;
1469
+ for (r++; r < n && (e[r] !== "\"" || s && e[r - 1] === "\\");) s = e[r] === "\\" && !s, r++;
1470
1470
  if (e.charAt(r) == "\"") try {
1471
1471
  return JSON.parse(e.substring(o, ++r - Number(s)));
1472
1472
  } catch (e) {
@@ -3924,7 +3924,7 @@ var di = class extends N {
3924
3924
  });
3925
3925
  }
3926
3926
  async waitForProcessing(e, { pollInterval: t = 5e3, maxWait: n = 1800 * 1e3 } = {}) {
3927
- let r = new Set([
3927
+ let r = /* @__PURE__ */ new Set([
3928
3928
  "processed",
3929
3929
  "error",
3930
3930
  "deleted"
@@ -5375,7 +5375,7 @@ var ga = class extends $ {
5375
5375
  };
5376
5376
  return n.bearerAuth && typeof this._options.apiKey == "string" ? U([{ "api-key": this.apiKey }]) : super.authHeaders(e, n);
5377
5377
  }
5378
- }, _a = new Set([
5378
+ }, _a = /* @__PURE__ */ new Set([
5379
5379
  "/completions",
5380
5380
  "/chat/completions",
5381
5381
  "/embeddings",
@@ -70,7 +70,7 @@ var r = class {
70
70
  try {
71
71
  let t = await import(
72
72
  /* webpackIgnore: true */
73
- "./openai-CmMzrs1Y.js"
73
+ "./openai-BCSKRcbD.js"
74
74
  );
75
75
  e = t.default || t.OpenAI || t;
76
76
  } catch {