drizzle-cube 0.6.2 → 0.6.4

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 (328) hide show
  1. package/dist/adapters/ActivityGridChart.config-BtECymia.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-CTd5HYjI.js +2 -0
  3. package/dist/adapters/AreaChart.config-1B8iQnfn.js +2 -0
  4. package/dist/adapters/AreaChart.config-hnncyQL4.cjs +1 -0
  5. package/dist/adapters/BarChart.config-C-QCf1rL.cjs +1 -0
  6. package/dist/adapters/BarChart.config-CFelK1qP.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-CD9WEPyF.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-DEbLA0BX.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-B_M4hzzV.js +2 -0
  10. package/dist/adapters/BubbleChart.config-dRZZlAke.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-Dsil2Fop.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-fuhyFvob.js +2 -0
  13. package/dist/adapters/DataTable.config-q2gqBi6t.cjs +1 -0
  14. package/dist/adapters/DataTable.config-wIQnHX5R.js +2 -0
  15. package/dist/adapters/FunnelChart.config-Dz710ssx.js +2 -0
  16. package/dist/adapters/FunnelChart.config-YNP9CeS-.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-BG9FcMCn.cjs +1 -0
  18. package/dist/adapters/GaugeChart.config-CgwniXkd.js +2 -0
  19. package/dist/adapters/HeatMapChart.config-1zSMXXoN.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-YVEWx6s5.js +2 -0
  21. package/dist/adapters/KpiDelta.config-BWvYXuFp.cjs +1 -0
  22. package/dist/adapters/KpiDelta.config-C_dYM64q.js +2 -0
  23. package/dist/adapters/KpiNumber.config-CXg6toZG.js +2 -0
  24. package/dist/adapters/KpiNumber.config-CZmV-yU1.cjs +1 -0
  25. package/dist/adapters/KpiText.config-BY-SJvAF.js +2 -0
  26. package/dist/adapters/KpiText.config-GSIxy0CE.cjs +1 -0
  27. package/dist/adapters/LineChart.config-CJtF8SOu.js +2 -0
  28. package/dist/adapters/LineChart.config-d0y60gw9.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-B6w0spya.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-BuIQcWOn.js +2 -0
  31. package/dist/adapters/MeasureProfileChart.config-Bo2n5Ae5.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-C5d34lsc.js +2 -0
  33. package/dist/adapters/PieChart.config-CDxfXCIt.cjs +1 -0
  34. package/dist/adapters/PieChart.config-CuZxQc5m.js +2 -0
  35. package/dist/adapters/RadarChart.config-DpdVWyh5.cjs +1 -0
  36. package/dist/adapters/RadarChart.config-KrxwaaGu.js +2 -0
  37. package/dist/adapters/RadialBarChart.config-DpRZd0FW.js +2 -0
  38. package/dist/adapters/RadialBarChart.config-faIY4jpE.cjs +1 -0
  39. package/dist/adapters/RetentionCombinedChart.config-CUnScqnS.cjs +1 -0
  40. package/dist/adapters/RetentionCombinedChart.config-Dd8FuawP.js +2 -0
  41. package/dist/adapters/RetentionHeatmap.config-CPd6GeoQ.js +2 -0
  42. package/dist/adapters/RetentionHeatmap.config-CPlHbLom.cjs +1 -0
  43. package/dist/adapters/SankeyChart.config-DbIUqi-H.cjs +1 -0
  44. package/dist/adapters/SankeyChart.config-kzAnW0C7.js +2 -0
  45. package/dist/adapters/ScatterChart.config-4Okvn27v.js +2 -0
  46. package/dist/adapters/ScatterChart.config-4f9nNw3e.cjs +1 -0
  47. package/dist/adapters/SunburstChart.config-BsUQkIM_.js +2 -0
  48. package/dist/adapters/SunburstChart.config-lvnYkWs7.cjs +1 -0
  49. package/dist/adapters/TreeMapChart.config-S0qsgAFW.js +2 -0
  50. package/dist/adapters/TreeMapChart.config-jbwKsTYt.cjs +1 -0
  51. package/dist/adapters/WaterfallChart.config-CDQ74-pS.cjs +1 -0
  52. package/dist/adapters/WaterfallChart.config-XdtH-O5g.js +2 -0
  53. package/dist/adapters/chartConfigHelpers-CcvqrIWF.js +72 -0
  54. package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +1 -0
  55. package/dist/adapters/compiler-DyyBaLry.cjs +166 -0
  56. package/dist/adapters/{locale-DDvZDFVn.js → compiler-lG6eNsoI.js} +215 -230
  57. package/dist/adapters/core/cube-http-handler.d.ts +27 -0
  58. package/dist/adapters/core/http-port.d.ts +39 -0
  59. package/dist/adapters/core/index.cjs +1 -0
  60. package/dist/adapters/core/index.d.ts +11 -0
  61. package/dist/adapters/core/index.js +2 -0
  62. package/dist/adapters/core/mcp-handler.d.ts +13 -0
  63. package/dist/adapters/core/rest-handlers.d.ts +14 -0
  64. package/dist/adapters/core/security-context.d.ts +17 -0
  65. package/dist/adapters/core-Bbchr0ui.js +244 -0
  66. package/dist/adapters/core-F1pCQPde.cjs +1 -0
  67. package/dist/adapters/express/index.cjs +2 -2
  68. package/dist/adapters/express/index.js +93 -201
  69. package/dist/adapters/fastify/index.cjs +2 -2
  70. package/dist/adapters/fastify/index.js +79 -217
  71. package/dist/adapters/handler-DRZb2ip6.cjs +25 -0
  72. package/dist/adapters/{handler-CtaSua-i.js → handler-u8FyzPBT.js} +1572 -1500
  73. package/dist/adapters/hono/index.cjs +2 -2
  74. package/dist/adapters/hono/index.js +69 -225
  75. package/dist/adapters/mcp-tools.cjs +1 -1
  76. package/dist/adapters/mcp-tools.js +1 -1
  77. package/dist/adapters/mcp-transport-Bw_zqky2.js +591 -0
  78. package/dist/adapters/mcp-transport-CNIPoe1i.cjs +40 -0
  79. package/dist/adapters/nextjs/index.cjs +1 -1
  80. package/dist/adapters/nextjs/index.d.ts +18 -9
  81. package/dist/adapters/nextjs/index.js +186 -289
  82. package/dist/adapters/nextjs/mcp-handler.d.ts +0 -28
  83. package/dist/adapters/{openai-D-6l1Y8h.cjs → openai-B4kAJTSD.cjs} +1 -1
  84. package/dist/adapters/{openai-DTSTMiXL.cjs → openai-Cdf2wWZA.cjs} +1 -1
  85. package/dist/adapters/{openai-CmVRIbUg.js → openai-CmMzrs1Y.js} +1 -1
  86. package/dist/adapters/{openai-CtXqeznO.js → openai-DhzGY9R4.js} +1 -1
  87. package/dist/cjs/adapters/core/cube-http-handler.d.ts +27 -0
  88. package/dist/cjs/adapters/core/http-port.d.ts +39 -0
  89. package/dist/cjs/adapters/core/index.d.ts +11 -0
  90. package/dist/cjs/adapters/core/mcp-handler.d.ts +13 -0
  91. package/dist/cjs/adapters/core/rest-handlers.d.ts +14 -0
  92. package/dist/cjs/adapters/core/security-context.d.ts +17 -0
  93. package/dist/cjs/adapters/nextjs/index.d.ts +18 -9
  94. package/dist/cjs/adapters/nextjs/mcp-handler.d.ts +0 -28
  95. package/dist/cjs/client/charts/chartComponentRegistry.d.ts +1 -9
  96. package/dist/cjs/client/charts/chartConfigRegistry.d.ts +5 -1
  97. package/dist/cjs/client/charts/chartPlugin.d.ts +1 -2
  98. package/dist/cjs/client/charts/chartRegistry.d.ts +73 -0
  99. package/dist/cjs/client/components/AIAssistant/index.d.ts +2 -2
  100. package/dist/cjs/client/components/AnalysisBuilder/utils/filterUtils.d.ts +4 -10
  101. package/dist/cjs/client/components/charts/ActivityGridChart.config.d.ts +6 -1
  102. package/dist/cjs/client/components/charts/AreaChart.config.d.ts +6 -1
  103. package/dist/cjs/client/components/charts/BarChart.config.d.ts +6 -1
  104. package/dist/cjs/client/components/charts/BoxPlotChart.config.d.ts +6 -1
  105. package/dist/cjs/client/components/charts/BubbleChart.config.d.ts +6 -1
  106. package/dist/cjs/client/components/charts/CandlestickChart.config.d.ts +6 -1
  107. package/dist/cjs/client/components/charts/DataTable.config.d.ts +6 -1
  108. package/dist/cjs/client/components/charts/FunnelChart.config.d.ts +5 -0
  109. package/dist/cjs/client/components/charts/GaugeChart.config.d.ts +6 -1
  110. package/dist/cjs/client/components/charts/HeatMapChart.config.d.ts +6 -1
  111. package/dist/cjs/client/components/charts/KpiDelta.config.d.ts +6 -1
  112. package/dist/cjs/client/components/charts/KpiNumber.config.d.ts +6 -1
  113. package/dist/cjs/client/components/charts/KpiText.config.d.ts +6 -1
  114. package/dist/cjs/client/components/charts/LineChart.config.d.ts +6 -1
  115. package/dist/cjs/client/components/charts/MarkdownChart.config.d.ts +6 -1
  116. package/dist/cjs/client/components/charts/MeasureProfileChart.config.d.ts +6 -1
  117. package/dist/cjs/client/components/charts/PieChart.config.d.ts +6 -1
  118. package/dist/cjs/client/components/charts/RadarChart.config.d.ts +6 -1
  119. package/dist/cjs/client/components/charts/RadialBarChart.config.d.ts +6 -1
  120. package/dist/cjs/client/components/charts/SankeyChart.config.d.ts +5 -0
  121. package/dist/cjs/client/components/charts/ScatterChart.config.d.ts +6 -1
  122. package/dist/cjs/client/components/charts/SunburstChart.config.d.ts +5 -0
  123. package/dist/cjs/client/components/charts/TreeMapChart.config.d.ts +6 -1
  124. package/dist/cjs/client/components/charts/WaterfallChart.config.d.ts +6 -1
  125. package/dist/cjs/client/components/shared/utils.d.ts +2 -1
  126. package/dist/cjs/client/hooks/analysisQueryExecutionModes.d.ts +1 -1
  127. package/dist/cjs/client/hooks/useAnalysisEffects.d.ts +33 -0
  128. package/dist/{client/hooks/useAnalysisQueryExecution.d.ts → cjs/client/hooks/useAnalysisQuery.d.ts} +3 -3
  129. package/dist/cjs/client/hooks/useAnalysisState.d.ts +165 -0
  130. package/dist/cjs/client/icons/registry.d.ts +0 -6
  131. package/dist/cjs/client/icons/types.d.ts +5 -0
  132. package/dist/cjs/client/shared/filters/filterOperations.d.ts +95 -0
  133. package/dist/cjs/client/shared/filters/index.d.ts +10 -0
  134. package/dist/cjs/client/shared/filters/operators.d.ts +23 -0
  135. package/dist/cjs/client/shared/index.d.ts +3 -2
  136. package/dist/cjs/client/shared/types.d.ts +3 -10
  137. package/dist/cjs/client/shared/utils.d.ts +1 -59
  138. package/dist/cjs/client/utils/filterUtils.d.ts +2 -9
  139. package/dist/cjs/server/logical-plan/logical-plan-builder.d.ts +0 -5
  140. package/dist/cjs/server/logical-plan/schema-builder.d.ts +19 -0
  141. package/dist/client/charts/chartComponentRegistry.d.ts +1 -9
  142. package/dist/client/charts/chartConfigRegistry.d.ts +5 -1
  143. package/dist/client/charts/chartPlugin.d.ts +1 -2
  144. package/dist/client/charts/chartRegistry.d.ts +73 -0
  145. package/dist/client/charts.js +3 -3
  146. package/dist/client/chunks/{DashboardEditModal-okVfH8ZK.js → DashboardEditModal-Cs1ig1_V.js} +1522 -1121
  147. package/dist/client/chunks/DashboardEditModal-Cs1ig1_V.js.map +1 -0
  148. package/dist/client/chunks/{analysis-builder-DB88FojM.js → analysis-builder-B64yaeDe.js} +1609 -1878
  149. package/dist/client/chunks/analysis-builder-B64yaeDe.js.map +1 -0
  150. package/dist/client/chunks/{analysis-builder-shared-BVK4TYfR.js → analysis-builder-shared-CD0n2Nb8.js} +1545 -1355
  151. package/dist/client/chunks/analysis-builder-shared-CD0n2Nb8.js.map +1 -0
  152. package/dist/client/chunks/{chart-config-activity-grid-D_UX4NHC.js → chart-config-activity-grid-BU_bkvER.js} +1 -11
  153. package/dist/client/chunks/chart-config-activity-grid-BU_bkvER.js.map +1 -0
  154. package/dist/client/chunks/{chart-config-area-BNigHUy8.js → chart-config-area-DxwIZ4Uf.js} +1 -5
  155. package/dist/client/chunks/{chart-config-area-BNigHUy8.js.map → chart-config-area-DxwIZ4Uf.js.map} +1 -1
  156. package/dist/client/chunks/{chart-config-bar-DSO_LRTx.js → chart-config-bar-Cc8GY9aQ.js} +5 -9
  157. package/dist/client/chunks/chart-config-bar-Cc8GY9aQ.js.map +1 -0
  158. package/dist/client/chunks/{chart-config-box-plot-oW8axV2q.js → chart-config-box-plot-Bs8ovYvV.js} +3 -8
  159. package/dist/client/chunks/chart-config-box-plot-Bs8ovYvV.js.map +1 -0
  160. package/dist/client/chunks/{chart-config-bubble-gIoqVyjZ.js → chart-config-bubble-BfgY7pt8.js} +1 -11
  161. package/dist/client/chunks/chart-config-bubble-BfgY7pt8.js.map +1 -0
  162. package/dist/client/chunks/{chart-config-candlestick-N6DchAA3.js → chart-config-candlestick-jaeNNEtC.js} +1 -11
  163. package/dist/client/chunks/chart-config-candlestick-jaeNNEtC.js.map +1 -0
  164. package/dist/client/chunks/{chart-config-data-table-d7VBY-y_.js → chart-config-data-table-CRk0C0rW.js} +1 -4
  165. package/dist/client/chunks/chart-config-data-table-CRk0C0rW.js.map +1 -0
  166. package/dist/client/chunks/{chart-config-funnel-DEYMcxsD.js → chart-config-funnel-boT_LNfl.js} +1 -4
  167. package/dist/client/chunks/chart-config-funnel-boT_LNfl.js.map +1 -0
  168. package/dist/client/chunks/{chart-config-gauge-Dq-_H9UN.js → chart-config-gauge-C5uJEr97.js} +3 -8
  169. package/dist/client/chunks/chart-config-gauge-C5uJEr97.js.map +1 -0
  170. package/dist/client/chunks/{chart-config-heat-map-CfRnRNcw.js → chart-config-heat-map-CCarP44-.js} +1 -11
  171. package/dist/client/chunks/chart-config-heat-map-CCarP44-.js.map +1 -0
  172. package/dist/client/chunks/{chart-config-kpi-delta-DSQbvqu_.js → chart-config-kpi-delta-DYopvwyG.js} +3 -8
  173. package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +1 -0
  174. package/dist/client/chunks/{chart-config-kpi-number-EFSWY1We.js → chart-config-kpi-number-BhMdoArB.js} +3 -8
  175. package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +1 -0
  176. package/dist/client/chunks/{chart-config-kpi-text-KM3V5X2u.js → chart-config-kpi-text-DE6Zdi53.js} +3 -8
  177. package/dist/client/chunks/chart-config-kpi-text-DE6Zdi53.js.map +1 -0
  178. package/dist/client/chunks/{chart-config-line-D6jG8PCH.js → chart-config-line-CBfM0Rds.js} +6 -10
  179. package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +1 -0
  180. package/dist/client/chunks/{chart-config-markdown-BtRIe8JN.js → chart-config-markdown-BCDyBI8K.js} +1 -4
  181. package/dist/client/chunks/chart-config-markdown-BCDyBI8K.js.map +1 -0
  182. package/dist/client/chunks/{chart-config-measure-profile-DxRGa-zf.js → chart-config-measure-profile-BgQIH1u2.js} +1 -8
  183. package/dist/client/chunks/chart-config-measure-profile-BgQIH1u2.js.map +1 -0
  184. package/dist/client/chunks/{chart-config-pie-BhzW-fdn.js → chart-config-pie-ChfFz6DV.js} +5 -9
  185. package/dist/client/chunks/chart-config-pie-ChfFz6DV.js.map +1 -0
  186. package/dist/client/chunks/{chart-config-radar-D7REP1q_.js → chart-config-radar-BlAIGnww.js} +5 -9
  187. package/dist/client/chunks/chart-config-radar-BlAIGnww.js.map +1 -0
  188. package/dist/client/chunks/{chart-config-radial-bar-Byx6qOPU.js → chart-config-radial-bar-VFerwbCO.js} +5 -9
  189. package/dist/client/chunks/chart-config-radial-bar-VFerwbCO.js.map +1 -0
  190. package/dist/client/chunks/{chart-config-sankey-BTnWA7EW.js → chart-config-sankey-BhrDxIgj.js} +1 -4
  191. package/dist/client/chunks/chart-config-sankey-BhrDxIgj.js.map +1 -0
  192. package/dist/client/chunks/{chart-config-scatter-DSYTjwRb.js → chart-config-scatter-q_olh54e.js} +1 -11
  193. package/dist/client/chunks/chart-config-scatter-q_olh54e.js.map +1 -0
  194. package/dist/client/chunks/{chart-config-sunburst-Bwjtdf7X.js → chart-config-sunburst-BOmkOnKn.js} +1 -4
  195. package/dist/client/chunks/chart-config-sunburst-BOmkOnKn.js.map +1 -0
  196. package/dist/client/chunks/{chart-config-tree-map-DVrvf3yQ.js → chart-config-tree-map-BjX88YBY.js} +5 -9
  197. package/dist/client/chunks/chart-config-tree-map-BjX88YBY.js.map +1 -0
  198. package/dist/client/chunks/{chart-config-waterfall-DmFeQdIk.js → chart-config-waterfall-QsWXVSoF.js} +3 -8
  199. package/dist/client/chunks/chart-config-waterfall-QsWXVSoF.js.map +1 -0
  200. package/dist/client/chunks/{chart-data-table-CKauQXme.js → chart-data-table-D4g5_jfF.js} +1277 -1094
  201. package/dist/client/chunks/chart-data-table-D4g5_jfF.js.map +1 -0
  202. package/dist/client/chunks/{chart-kpi-delta-Dn-jjO-2.js → chart-kpi-delta-BvWOt8-D.js} +2 -2
  203. package/dist/client/chunks/{chart-kpi-delta-Dn-jjO-2.js.map → chart-kpi-delta-BvWOt8-D.js.map} +1 -1
  204. package/dist/client/chunks/{chart-kpi-number-P_WBiO5S.js → chart-kpi-number-xgZmMiQY.js} +3 -3
  205. package/dist/client/chunks/{chart-kpi-number-P_WBiO5S.js.map → chart-kpi-number-xgZmMiQY.js.map} +1 -1
  206. package/dist/client/chunks/{chart-kpi-text-C-Y4eb5H.js → chart-kpi-text-ZO3eFi7t.js} +2 -2
  207. package/dist/client/chunks/{chart-kpi-text-C-Y4eb5H.js.map → chart-kpi-text-ZO3eFi7t.js.map} +1 -1
  208. package/dist/client/chunks/{charts-loader-DdTeCeNo.js → charts-loader-B0DOQMFH.js} +6 -6
  209. package/dist/client/chunks/{charts-loader-DdTeCeNo.js.map → charts-loader-B0DOQMFH.js.map} +1 -1
  210. package/dist/client/chunks/{schema-visualization-Cb_E9_Gd.js → schema-visualization-DJPTktM6.js} +2 -2
  211. package/dist/client/chunks/{schema-visualization-Cb_E9_Gd.js.map → schema-visualization-DJPTktM6.js.map} +1 -1
  212. package/dist/client/chunks/{useDirtyStateTracking-MbpxH_v6.js → useDirtyStateTracking-BT6zqCFl.js} +250 -591
  213. package/dist/client/chunks/useDirtyStateTracking-BT6zqCFl.js.map +1 -0
  214. package/dist/client/chunks/{useExplainAI-evnZkjCY.js → useExplainAI-Dq_meKNN.js} +4 -4
  215. package/dist/client/chunks/{useExplainAI-evnZkjCY.js.map → useExplainAI-Dq_meKNN.js.map} +1 -1
  216. package/dist/client/chunks/{utils-3P6z1vz5.js → utils-Cq-j5E5I.js} +2 -2
  217. package/dist/client/chunks/{utils-3P6z1vz5.js.map → utils-Cq-j5E5I.js.map} +1 -1
  218. package/dist/client/chunks/{vendor-DSpR0IW6.js → vendor-D4jADu8t.js} +2 -2
  219. package/dist/client/chunks/{vendor-DSpR0IW6.js.map → vendor-D4jADu8t.js.map} +1 -1
  220. package/dist/client/components/AIAssistant/index.d.ts +2 -2
  221. package/dist/client/components/AnalysisBuilder/utils/filterUtils.d.ts +4 -10
  222. package/dist/client/components/charts/ActivityGridChart.config.d.ts +6 -1
  223. package/dist/client/components/charts/AreaChart.config.d.ts +6 -1
  224. package/dist/client/components/charts/BarChart.config.d.ts +6 -1
  225. package/dist/client/components/charts/BoxPlotChart.config.d.ts +6 -1
  226. package/dist/client/components/charts/BubbleChart.config.d.ts +6 -1
  227. package/dist/client/components/charts/CandlestickChart.config.d.ts +6 -1
  228. package/dist/client/components/charts/DataTable.config.d.ts +6 -1
  229. package/dist/client/components/charts/FunnelChart.config.d.ts +5 -0
  230. package/dist/client/components/charts/GaugeChart.config.d.ts +6 -1
  231. package/dist/client/components/charts/HeatMapChart.config.d.ts +6 -1
  232. package/dist/client/components/charts/KpiDelta.config.d.ts +6 -1
  233. package/dist/client/components/charts/KpiNumber.config.d.ts +6 -1
  234. package/dist/client/components/charts/KpiText.config.d.ts +6 -1
  235. package/dist/client/components/charts/LineChart.config.d.ts +6 -1
  236. package/dist/client/components/charts/MarkdownChart.config.d.ts +6 -1
  237. package/dist/client/components/charts/MeasureProfileChart.config.d.ts +6 -1
  238. package/dist/client/components/charts/PieChart.config.d.ts +6 -1
  239. package/dist/client/components/charts/RadarChart.config.d.ts +6 -1
  240. package/dist/client/components/charts/RadialBarChart.config.d.ts +6 -1
  241. package/dist/client/components/charts/SankeyChart.config.d.ts +5 -0
  242. package/dist/client/components/charts/ScatterChart.config.d.ts +6 -1
  243. package/dist/client/components/charts/SunburstChart.config.d.ts +5 -0
  244. package/dist/client/components/charts/TreeMapChart.config.d.ts +6 -1
  245. package/dist/client/components/charts/WaterfallChart.config.d.ts +6 -1
  246. package/dist/client/components/shared/utils.d.ts +2 -1
  247. package/dist/client/components.js +3 -3
  248. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +1 -1
  249. package/dist/client/hooks/useAnalysisEffects.d.ts +33 -0
  250. package/dist/{cjs/client/hooks/useAnalysisQueryExecution.d.ts → client/hooks/useAnalysisQuery.d.ts} +3 -3
  251. package/dist/client/hooks/useAnalysisState.d.ts +165 -0
  252. package/dist/client/hooks.js +3 -3
  253. package/dist/client/icons/registry.d.ts +0 -6
  254. package/dist/client/icons/types.d.ts +5 -0
  255. package/dist/client/icons.js +1 -1
  256. package/dist/client/index.js +17 -17
  257. package/dist/client/index.js.map +1 -1
  258. package/dist/client/providers.js +1 -1
  259. package/dist/client/schema.js +1 -1
  260. package/dist/client/shared/filters/filterOperations.d.ts +95 -0
  261. package/dist/client/shared/filters/index.d.ts +10 -0
  262. package/dist/client/shared/filters/operators.d.ts +23 -0
  263. package/dist/client/shared/index.d.ts +3 -2
  264. package/dist/client/shared/types.d.ts +3 -10
  265. package/dist/client/shared/utils.d.ts +1 -59
  266. package/dist/client/utils/filterUtils.d.ts +2 -9
  267. package/dist/client/utils.js +3 -3
  268. package/dist/client-bundle-stats.html +1 -1
  269. package/dist/mcp-app/mcp-app.html +34 -34
  270. package/dist/server/chartConfigHelpers-CcvqrIWF.js +72 -0
  271. package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +1 -0
  272. package/dist/server/index.cjs +68 -68
  273. package/dist/server/index.js +3899 -3823
  274. package/dist/server/logical-plan/logical-plan-builder.d.ts +0 -5
  275. package/dist/server/logical-plan/schema-builder.d.ts +19 -0
  276. package/dist/server/{openai-D-6l1Y8h.cjs → openai-B4kAJTSD.cjs} +1 -1
  277. package/dist/server/{openai-DTSTMiXL.cjs → openai-Cdf2wWZA.cjs} +1 -1
  278. package/dist/server/{openai-CmVRIbUg.js → openai-CmMzrs1Y.js} +1 -1
  279. package/dist/server/{openai-CtXqeznO.js → openai-DhzGY9R4.js} +1 -1
  280. package/package.json +13 -3
  281. package/dist/adapters/handler-OwxSBJH8.cjs +0 -25
  282. package/dist/adapters/hono/mcp-handler.d.ts +0 -37
  283. package/dist/adapters/locale-ZLUUNUxr.cjs +0 -166
  284. package/dist/adapters/mcp-transport-B7ddET3M.cjs +0 -40
  285. package/dist/adapters/mcp-transport-Dfuj4j4q.js +0 -591
  286. package/dist/cjs/adapters/hono/mcp-handler.d.ts +0 -37
  287. package/dist/cjs/client/hooks/useAnalysisAI.d.ts +0 -56
  288. package/dist/cjs/client/hooks/useAnalysisChartDefaults.d.ts +0 -35
  289. package/dist/cjs/client/hooks/useAnalysisCombinedFields.d.ts +0 -18
  290. package/dist/cjs/client/hooks/useAnalysisInitialization.d.ts +0 -25
  291. package/dist/cjs/client/hooks/useAnalysisQueryBuilder.d.ts +0 -32
  292. package/dist/cjs/client/hooks/useAnalysisShare.d.ts +0 -18
  293. package/dist/cjs/client/hooks/useAnalysisUIState.d.ts +0 -24
  294. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +0 -1
  295. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +0 -1
  296. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +0 -1
  297. package/dist/client/chunks/chart-config-activity-grid-D_UX4NHC.js.map +0 -1
  298. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +0 -1
  299. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +0 -1
  300. package/dist/client/chunks/chart-config-bubble-gIoqVyjZ.js.map +0 -1
  301. package/dist/client/chunks/chart-config-candlestick-N6DchAA3.js.map +0 -1
  302. package/dist/client/chunks/chart-config-data-table-d7VBY-y_.js.map +0 -1
  303. package/dist/client/chunks/chart-config-funnel-DEYMcxsD.js.map +0 -1
  304. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +0 -1
  305. package/dist/client/chunks/chart-config-heat-map-CfRnRNcw.js.map +0 -1
  306. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +0 -1
  307. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +0 -1
  308. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +0 -1
  309. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +0 -1
  310. package/dist/client/chunks/chart-config-markdown-BtRIe8JN.js.map +0 -1
  311. package/dist/client/chunks/chart-config-measure-profile-DxRGa-zf.js.map +0 -1
  312. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +0 -1
  313. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +0 -1
  314. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +0 -1
  315. package/dist/client/chunks/chart-config-sankey-BTnWA7EW.js.map +0 -1
  316. package/dist/client/chunks/chart-config-scatter-DSYTjwRb.js.map +0 -1
  317. package/dist/client/chunks/chart-config-sunburst-Bwjtdf7X.js.map +0 -1
  318. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +0 -1
  319. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +0 -1
  320. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +0 -1
  321. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +0 -1
  322. package/dist/client/hooks/useAnalysisAI.d.ts +0 -56
  323. package/dist/client/hooks/useAnalysisChartDefaults.d.ts +0 -35
  324. package/dist/client/hooks/useAnalysisCombinedFields.d.ts +0 -18
  325. package/dist/client/hooks/useAnalysisInitialization.d.ts +0 -25
  326. package/dist/client/hooks/useAnalysisQueryBuilder.d.ts +0 -32
  327. package/dist/client/hooks/useAnalysisShare.d.ts +0 -18
  328. package/dist/client/hooks/useAnalysisUIState.d.ts +0 -24
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-_whV4fXL.cjs"),t=require("../locale-ZLUUNUxr.cjs"),n=require("../mcp-transport-B7ddET3M.cjs");let r=require("next/server");function i(e,t){let i=new TextEncoder,a=n._(),o=new ReadableStream({start(e){e.enqueue(i.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 r.NextResponse(o,{status:200,headers:s})}async function a(e,t){let i=n.S(e.headers.get(`origin`),t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{});if(!i.valid)return{response:r.NextResponse.json(n.i(null,-32600,i.reason),{status:403})};let a=e.headers.get(`accept`);if(!n.x(a))return{response:r.NextResponse.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),{status:400})};let o=n.h(Object.fromEntries(e.headers.entries()));if(!o.ok)return{response:r.NextResponse.json({error:`Unsupported MCP protocol version`,supported:o.supported},{status:426})};let s;try{s=await e.json()}catch{s=null}let c=n.g(s);return c?{rpcRequest:c,acceptHeader:a}:{response:r.NextResponse.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),{status:400})}}function o(e,t,i,a={}){let o=new TextEncoder,s=n._(),c=new ReadableStream({start(e){e.enqueue(o.encode(`id: ${s}\n\n`)),e.enqueue(o.encode(n.b(t,s))),e.close()}}),l=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...a});return i(e,l),new r.NextResponse(c,{status:200,headers:l})}function s(e,t,n){let r=e&&t&&typeof t==`object`&&`sessionId`in t?t.sessionId:void 0;return r?{[n]:r}:{}}function c(e,t){let r=e?.code??-32603,i=e?.data,a=e.message||`MCP request failed`;return n.i(t??null,r,a,i)}function l(e){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.i({drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s});return n.forEach(e=>{c.registerCube(e)}),c}function u(e){return{extractSecurityContext:async(n,r)=>t.r(await e.extractSecurityContext(n,r),t.n(e=>n.headers.get(e))),cors:e.cors?{...e.cors,allowedHeaders:t.t(e.cors.allowedHeaders)}:void 0}}function d(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 f(e){return async function(n){let r=d(n,{...e,allowedHeaders:t.t(e.allowedHeaders)});return new Response(null,{status:200,headers:r})}}function p(t){let{extractSecurityContext:n,cors:i}=u(t),a=l(t);return async function(t,o){try{let s;if(t.method===`POST`){let e=await t.json();s=e.query||e}else if(t.method===`GET`){let n=t.nextUrl.searchParams.get(`query`);if(!n)return r.NextResponse.json(e.i(`Query parameter is required`,400),{status:400});try{s=JSON.parse(n)}catch{return r.NextResponse.json(e.i(`Invalid JSON in query parameter`,400),{status:400})}}else return r.NextResponse.json(e.i(`Method not allowed`,405),{status:405});let c=await n(t,o),l=a.validateQuery(s);if(!l.isValid)return r.NextResponse.json(e.i(`Query validation failed: ${l.errors.join(`, `)}`,400),{status:400});let u=t.headers.get(`x-cache-control`)===`no-cache`,f=await a.executeMultiCubeQuery(s,c,{skipCache:u}),p=e.r(s,f,a);return r.NextResponse.json(p,{headers:i?d(t,i):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js load handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function m(t){let{cors:n}=u(t),i=l(t);return async function(t,a){try{let a=e.a(i.getMetadata());return r.NextResponse.json(a,{headers:n?d(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js meta handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Failed to fetch metadata`,500),{status:500})}}}function h(t){let{extractSecurityContext:n,cors:i}=u(t),a=l(t);return async function(t,o){try{let s;if(t.method===`POST`){let e=await t.json();s=e.query||e}else if(t.method===`GET`){let n=t.nextUrl.searchParams.get(`query`);if(!n)return r.NextResponse.json(e.i(`Query parameter is required`,400),{status:400});try{s=JSON.parse(n)}catch{return r.NextResponse.json(e.i(`Invalid JSON in query parameter`,400),{status:400})}}else return r.NextResponse.json(e.i(`Method not allowed`,405),{status:405});let c=await n(t,o),l=a.validateQuery(s);if(!l.isValid)return r.NextResponse.json(e.i(`Query validation failed: ${l.errors.join(`, `)}`,400),{status:400});let u=s.measures?.[0]||s.dimensions?.[0];if(!u)return r.NextResponse.json(e.i(`No measures or dimensions specified`,400),{status:400});let f=u.split(`.`)[0],p=await a.generateSQL(f,s,c),m=e.o(s,p);return r.NextResponse.json(m,{headers:i?d(t,i):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js SQL handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`SQL generation failed`,500),{status:500})}}}function g(t){let{extractSecurityContext:n,cors:i}=u(t),a=l(t);return async function(t,o){try{let s;if(t.method===`POST`){let e=await t.json();s=e.query||e}else if(t.method===`GET`){let e=t.nextUrl.searchParams.get(`query`);if(!e)return r.NextResponse.json({error:`Query parameter is required`,valid:!1},{status:400});try{s=JSON.parse(e)}catch{return r.NextResponse.json({error:`Invalid JSON in query parameter`,valid:!1},{status:400})}}else return r.NextResponse.json({error:`Method not allowed`,valid:!1},{status:405});let c=await n(t,o),l=await e.u(s,c,a);return r.NextResponse.json(l,{headers:i?d(t,i):{}})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js dry-run handler error:`,e),r.NextResponse.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},{status:400})}}}function _(t){let{extractSecurityContext:n,cors:i}=u(t),a=l(t);return async function(t,o){try{if(t.method!==`POST`)return r.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let{queries:s}=await t.json();if(!s||!Array.isArray(s))return r.NextResponse.json(e.i(`Request body must contain a "queries" array`,400),{status:400});if(s.length===0)return r.NextResponse.json(e.i(`Queries array cannot be empty`,400),{status:400});let c=await e.l(s,await n(t,o),a,{skipCache:t.headers.get(`x-cache-control`)===`no-cache`});return r.NextResponse.json(c,{headers:i?d(t,i):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js batch handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Batch execution failed`,500),{status:500})}}}function v(e){let{extractSecurityContext:t,cors:n}=u(e),i=l(e);return async function(e,a){try{if(e.method!==`POST`)return r.NextResponse.json({error:`Method not allowed`},{status:405});let o=await e.json(),s=o.query||o,c=o.options||{},l=await t(e,a),u=i.validateQuery(s);if(!u.isValid)return r.NextResponse.json({error:`Query validation failed: ${u.errors.join(`, `)}`},{status:400});let f=await i.explainQuery(s,l,c);return r.NextResponse.json(f,{headers:n?d(e,n):{}})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js explain handler error:`,e),r.NextResponse.json({error:e instanceof Error?e.message:`Explain query failed`},{status:500})}}}function y(t){let{cors:n}=u(t),i=l(t);return async function(t,a){try{if(t.method!==`POST`)return r.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await e.p(i,await t.json());return r.NextResponse.json(a,{headers:n?d(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js discover handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Discovery failed`,500),{status:500})}}}function b(t){let{cors:n}=u(t),i=l(t);return async function(t,a){try{if(t.method!==`POST`)return r.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json();if(!a.naturalLanguage)return r.NextResponse.json(e.i(`naturalLanguage field is required`,400),{status:400});let o=await e.d(i,a);return r.NextResponse.json(o,{headers:n?d(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js suggest handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Query suggestion failed`,500),{status:500})}}}function x(t){let{cors:n}=u(t),i=l(t);return async function(t,a){try{if(t.method!==`POST`)return r.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=await t.json();if(!a.query)return r.NextResponse.json(e.i(`query field is required`,400),{status:400});let o=await e.f(i,a);return r.NextResponse.json(o,{headers:n?d(t,n):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js validate handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Query validation failed`,500),{status:500})}}}function S(t){let{extractSecurityContext:n,cors:i}=u(t),a=l(t);return async function(t,o){try{if(t.method!==`POST`)return r.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let s=await t.json();if(!s.query)return r.NextResponse.json(e.i(`query field is required`,400),{status:400});let c=await e.m(a,await n(t,o),s);return r.NextResponse.json(c,{headers:i?d(t,i):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP load handler error:`,t),r.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function C(t){let{extractSecurityContext:f,cors:p}=u(t),{mcp:m={enabled:!0}}=t,h=l(t),g=n.o(h,m.resources),_=n.y(m.prompts),v=n.v(m.instructions),y=(e,t)=>{if(!p)return;let n=d(e,p);Object.entries(n).forEach(([e,n])=>t.set(e,n))},b=async e=>{let t=await a(e,m);if(t.response)return t.response;let i=t.rpcRequest,l=n.C(t.acceptHeader),u=i.method===`initialize`,b=(t,n=200,i={})=>r.NextResponse.json(t,{status:n,headers:{...p?d(e,p):{},...i}});try{let t=await n.l(i.method,i.params,{semanticLayer:h,extractSecurityContext:e=>f(e),rawRequest:e,rawResponse:null,resources:g,prompts:_,instructions:v,appEnabled:!!m.app,appConfig:typeof m.app==`object`?m.app:void 0,serverName:m.serverName});if(n.m(i))return new r.NextResponse(null,{status:202});let a=s(u,t,n.r),c=n.a(i.id??null,t);return l?o(e,c,y,a):b(c,200,a)}catch(t){if(n.m(i))return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP notification processing error:`,t),new r.NextResponse(null,{status:202});process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP RPC handler error:`,t);let a=c(t,i.id);return l?o(e,a,y):b(a,200)}};return async function(t){return m.resourceMetadataUrl&&!n.u(t.headers.get(`authorization`))?r.NextResponse.json({error:`Bearer token required`},{status:401,headers:{"WWW-Authenticate":n.c(m.resourceMetadataUrl)}}):t.method===`DELETE`?r.NextResponse.json({error:`Session termination not supported`},{status:405}):t.method===`GET`?i(t,y):t.method===`POST`?b(t):r.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405})}}function w(e){let{extractSecurityContext:t,cors:n}=u(e),{agent:i}=e;if(!i)throw Error(`agent config is required for createAgentChatHandler`);let a=l(e);return async function(e,o){try{if(e.method!==`POST`)return r.NextResponse.json({error:`Method not allowed - use POST`},{status:405});let{handleAgentChat:s}=await Promise.resolve().then(()=>require("../handler-OwxSBJH8.cjs")),{message:c,sessionId:l,history:u}=await e.json();if(!c||typeof c!=`string`)return r.NextResponse.json({error:`message is required and must be a string`},{status:400});let f=(i.apiKey||``).trim();if(i.allowClientApiKey){let t=e.headers.get(`x-agent-api-key`);t&&(f=t.trim())}if(!f)return r.NextResponse.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},{status:401});let p=i.allowClientApiKey&&e.headers.get(`x-agent-provider`)||void 0,m=i.allowClientApiKey&&e.headers.get(`x-agent-model`)||void 0,h=i.allowClientApiKey&&e.headers.get(`x-agent-provider-endpoint`)||void 0,g=await t(e,o),_=i.buildSystemContext?.(g),v=new TextEncoder,y=new ReadableStream({async start(e){try{let t=s({message:c,sessionId:l,history:u,semanticLayer:a,securityContext:g,agentConfig:i,apiKey:f,systemContext:_,providerOverride:p,modelOverride:m,baseURLOverride:h});for await(let n of t){let t=`data: ${JSON.stringify(n)}\n\n`;e.enqueue(v.encode(t))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(v.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}}),b=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(n){let t=d(e,n);Object.entries(t).forEach(([e,t])=>b.set(e,t))}return new Response(y,{status:200,headers:b})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js agent chat handler error:`,e),r.NextResponse.json({error:e instanceof Error?e.message:`Agent chat failed`},{status:500})}}}function T(e){let{mcp:t={enabled:!0}}=e,n={load:p(e),meta:m(e),sql:h(e),dryRun:g(e),batch:_(e),explain:v(e)};return t.enabled!==!1&&(n.mcpRpc=C(e)),e.agent&&(n.agentChat=w(e)),n}exports.createAgentChatHandler=w,exports.createBatchHandler=_,exports.createCubeHandlers=T,exports.createDiscoverHandler=y,exports.createDryRunHandler=g,exports.createExplainHandler=v,exports.createLoadHandler=p,exports.createMcpLoadHandler=S,exports.createMcpRpcHandler=C,exports.createMetaHandler=m,exports.createOptionsHandler=f,exports.createSqlHandler=h,exports.createSuggestHandler=b,exports.createValidateHandler=x;
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,6 +1,7 @@
1
1
  import { NextRequest } from 'next/server';
2
2
  import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
3
3
  import { AgentConfig } from '../../server/agent/types.js';
4
+ import { SemanticLayerCompiler } from '../../server/compiler.js';
4
5
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
5
6
  import { MySql2Database } from 'drizzle-orm/mysql2';
6
7
  import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
@@ -100,6 +101,15 @@ export interface NextAdapterOptions {
100
101
  * to configure RLS (e.g., set JWT claims and switch Postgres roles), then runs the query.
101
102
  */
102
103
  rlsSetup?: RLSSetupFn;
104
+ /**
105
+ * Pre-built semantic layer to reuse across handlers.
106
+ * When provided, the adapter reuses this compiler instead of constructing a
107
+ * new one (and skips cube registration — register cubes on it yourself).
108
+ * `createCubeHandlers` sets this internally so every handler it returns shares
109
+ * one compiler, keeping metadata/result caches consistent. Mirrors the Hono
110
+ * adapter's `semanticLayer` option.
111
+ */
112
+ semanticLayer?: SemanticLayerCompiler;
103
113
  }
104
114
  export interface RouteContext {
105
115
  params?: Record<string, string | string[]>;
@@ -120,7 +130,7 @@ export interface CubeHandlers {
120
130
  */
121
131
  export declare function createOptionsHandler(corsOptions: NextCorsOptions): RouteHandler;
122
132
  /**
123
- * Create load handler - Execute queries
133
+ * Create load handler - Execute queries (GET + POST via the core)
124
134
  */
125
135
  export declare function createLoadHandler(options: NextAdapterOptions): RouteHandler;
126
136
  /**
@@ -128,21 +138,19 @@ export declare function createLoadHandler(options: NextAdapterOptions): RouteHan
128
138
  */
129
139
  export declare function createMetaHandler(options: NextAdapterOptions): RouteHandler;
130
140
  /**
131
- * Create SQL handler - Generate SQL without execution
141
+ * Create SQL handler - Generate SQL without execution (GET + POST via the core)
132
142
  */
133
143
  export declare function createSqlHandler(options: NextAdapterOptions): RouteHandler;
134
144
  /**
135
- * Create dry-run handler - Validate queries without execution
145
+ * Create dry-run handler - Validate queries without execution (GET + POST via the core)
136
146
  */
137
147
  export declare function createDryRunHandler(options: NextAdapterOptions): RouteHandler;
138
148
  /**
139
- * Create batch handler - Execute multiple queries in a single request
140
- * Optimizes network overhead for dashboards with many portlets
149
+ * Create batch handler - Execute multiple queries in a single request (POST via the core)
141
150
  */
142
151
  export declare function createBatchHandler(options: NextAdapterOptions): RouteHandler;
143
152
  /**
144
- * Create explain handler - Get execution plan for a query
145
- * Returns normalized EXPLAIN output across PostgreSQL, MySQL, and SQLite
153
+ * Create explain handler - Get execution plan for a query (POST via the core)
146
154
  */
147
155
  export declare function createExplainHandler(options: NextAdapterOptions): RouteHandler;
148
156
  /**
@@ -164,13 +172,14 @@ export declare function createValidateHandler(options: NextAdapterOptions): Rout
164
172
  export declare function createMcpLoadHandler(options: NextAdapterOptions): RouteHandler;
165
173
  /**
166
174
  * Create MCP Streamable HTTP handler (JSON-RPC 2.0 + optional SSE)
167
- * Implements MCP 2025-11-25 spec
175
+ * Implements MCP 2025-11-25 spec. POST is dispatched via the core; the GET
176
+ * streaming connection and DELETE lifecycle stay inline (transport-bound).
168
177
  */
169
178
  export declare function createMcpRpcHandler(options: NextAdapterOptions): RouteHandler;
170
179
  /**
171
180
  * Create agent chat handler - Agentic AI notebook chat
172
181
  * Streams SSE events as the agent discovers data, executes queries,
173
- * and creates visualizations.
182
+ * and creates visualizations. Inherently transport-bound, so it stays inline.
174
183
  */
175
184
  export declare function createAgentChatHandler(options: NextAdapterOptions): RouteHandler;
176
185
  /**