drizzle-cube 0.5.8 → 0.6.0

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 (388) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/adapters/hono/agent-handler.d.ts +9 -0
  3. package/dist/adapters/adapters/hono/mcp-handler.d.ts +37 -0
  4. package/dist/adapters/adapters/mcp-tools-handlers.d.ts +18 -0
  5. package/dist/adapters/adapters/nextjs/mcp-handler.d.ts +36 -0
  6. package/dist/adapters/adapters/utils.d.ts +6 -81
  7. package/dist/adapters/express/index.cjs +1 -1
  8. package/dist/adapters/express/index.js +50 -50
  9. package/dist/adapters/fastify/index.cjs +1 -1
  10. package/dist/adapters/fastify/index.js +78 -78
  11. package/dist/adapters/google-BOnRIN1w.cjs +2 -0
  12. package/dist/adapters/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
  13. package/dist/adapters/{handler-Cx8QYLk6.js → handler-CfgE0JSL.js} +499 -576
  14. package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
  15. package/dist/adapters/hono/index.cjs +2 -2
  16. package/dist/adapters/hono/index.js +205 -175
  17. package/dist/adapters/locale-DDvZDFVn.js +8114 -0
  18. package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
  19. package/dist/adapters/mcp-tools.cjs +1 -1
  20. package/dist/adapters/mcp-tools.js +49 -38
  21. package/dist/adapters/mcp-transport-Chiaj4ll.cjs +40 -0
  22. package/dist/adapters/mcp-transport-H96VG3WY.js +591 -0
  23. package/dist/adapters/nextjs/index.cjs +1 -1
  24. package/dist/adapters/nextjs/index.js +190 -197
  25. package/dist/adapters/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  26. package/dist/adapters/openai-vXvLni8v.cjs +1 -0
  27. package/dist/adapters/{utils-D9JPLmfl.js → utils-BPWZsX7k.js} +1271 -1218
  28. package/dist/adapters/utils-_whV4fXL.cjs +128 -0
  29. package/dist/adapters/utils.cjs +1 -1
  30. package/dist/adapters/utils.js +2 -2
  31. package/dist/client/charts/ChartLoader.d.ts +2 -16
  32. package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
  33. package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
  34. package/dist/client/charts.js +14 -13
  35. package/dist/client/chunks/{DashboardEditModal-CjCIAT-J.js → DashboardEditModal-okVfH8ZK.js} +5296 -4544
  36. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
  37. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
  38. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js.map → RetentionCombinedChart-BgbDhsPz.js.map} +1 -1
  39. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
  40. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js.map → RetentionHeatmap-DjXZaTPq.js.map} +1 -1
  41. package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
  42. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
  43. package/dist/client/chunks/{analysis-builder-shared-CYVwSPqt.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
  44. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
  45. package/dist/client/chunks/{chart-activity-grid-DmruKPab.js → chart-activity-grid-DX0SJbxs.js} +635 -492
  46. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
  47. package/dist/client/chunks/chart-area-of01_62R.js +775 -0
  48. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
  49. package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
  50. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
  51. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js → chart-box-plot-kkBixZ27.js} +2 -2
  52. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js.map → chart-box-plot-kkBixZ27.js.map} +1 -1
  53. package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
  54. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
  55. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js → chart-candlestick-DZp19Tzh.js} +2 -2
  56. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js.map → chart-candlestick-DZp19Tzh.js.map} +1 -1
  57. package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
  58. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
  59. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
  60. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
  61. package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
  62. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
  63. package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
  64. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
  65. package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
  66. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
  67. package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
  68. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
  69. package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
  70. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
  71. package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
  72. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
  73. package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
  74. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
  75. package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
  76. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
  77. package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
  78. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
  79. package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
  80. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
  81. package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
  82. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
  83. package/dist/client/chunks/{chart-data-table-BO4sXsim.js → chart-data-table-CKauQXme.js} +1046 -1121
  84. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
  85. package/dist/client/chunks/{chart-funnel-DnWRsmnS.js → chart-funnel-CToKSBaL.js} +184 -222
  86. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
  87. package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
  88. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
  89. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
  90. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
  91. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
  92. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
  93. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
  94. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
  95. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
  96. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
  97. package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
  98. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
  99. package/dist/client/chunks/{chart-markdown-dgUetjyM.js → chart-markdown-CV75S_zL.js} +2 -2
  100. package/dist/client/chunks/{chart-markdown-dgUetjyM.js.map → chart-markdown-CV75S_zL.js.map} +1 -1
  101. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js → chart-measure-profile-Ket8fJyf.js} +7 -7
  102. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js.map → chart-measure-profile-Ket8fJyf.js.map} +1 -1
  103. package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
  104. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
  105. package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
  106. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
  107. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
  108. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
  109. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js → chart-sankey-DjrvKw6K.js} +36 -39
  110. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js.map → chart-sankey-DjrvKw6K.js.map} +1 -1
  111. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
  112. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
  113. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js → chart-sunburst-leGpuDj7.js} +3 -3
  114. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js.map → chart-sunburst-leGpuDj7.js.map} +1 -1
  115. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
  116. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
  117. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js → chart-waterfall-DyvQReN5.js} +7 -7
  118. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js.map → chart-waterfall-DyvQReN5.js.map} +1 -1
  119. package/dist/client/chunks/{charts-core-jRtb0S2M.js → charts-core-DaXSt1Dd.js} +2 -2
  120. package/dist/client/chunks/{charts-core-jRtb0S2M.js.map → charts-core-DaXSt1Dd.js.map} +1 -1
  121. package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
  122. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
  123. package/dist/client/chunks/{nl-NL-CpVs7ox3.js → nl-NL-2zTAWTej.js} +2 -1
  124. package/dist/client/chunks/{nl-NL-CpVs7ox3.js.map → nl-NL-2zTAWTej.js.map} +1 -1
  125. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  126. package/dist/client/chunks/{schema-visualization-DE09kQE3.js → schema-visualization-Cb_E9_Gd.js} +12 -12
  127. package/dist/client/chunks/{schema-visualization-DE09kQE3.js.map → schema-visualization-Cb_E9_Gd.js.map} +1 -1
  128. package/dist/client/chunks/{useDirtyStateTracking-CoeQbprt.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
  129. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
  130. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js → useExplainAI-evnZkjCY.js} +14 -14
  131. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js.map → useExplainAI-evnZkjCY.js.map} +1 -1
  132. package/dist/client/chunks/{utils-CTKNaXS8.js → utils-3P6z1vz5.js} +2 -2
  133. package/dist/client/chunks/{utils-CTKNaXS8.js.map → utils-3P6z1vz5.js.map} +1 -1
  134. package/dist/client/chunks/{vendor-CPIYyeuD.js → vendor-DSpR0IW6.js} +43 -43
  135. package/dist/client/chunks/{vendor-CPIYyeuD.js.map → vendor-DSpR0IW6.js.map} +1 -1
  136. package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  137. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  138. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  139. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  140. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  141. package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  142. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  143. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  144. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  145. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  146. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  147. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  148. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  149. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  150. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  151. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  152. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  153. package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  154. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  155. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  156. package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  157. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  158. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  159. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  160. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +5 -0
  161. package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  162. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  163. package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  164. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  165. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  166. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  167. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  168. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  169. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  170. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  171. package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  172. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  173. package/dist/client/components/DashboardPortletCard.d.ts +2 -57
  174. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  175. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  176. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  177. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  178. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  179. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  180. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  181. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  182. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  183. package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  184. package/dist/client/components/charts/AxisFormatControls.d.ts +3 -1
  185. package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
  186. package/dist/client/components/charts/BarSeries.d.ts +29 -0
  187. package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  188. package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
  189. package/dist/client/components/charts/ChartStates.d.ts +38 -0
  190. package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  191. package/dist/client/components/charts/FunnelViews.d.ts +16 -0
  192. package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
  193. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  194. package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  195. package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  196. package/dist/client/components/charts/KpiStates.d.ts +19 -0
  197. package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  198. package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
  199. package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
  200. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  201. package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
  202. package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
  203. package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  204. package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
  205. package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
  206. package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  207. package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
  208. package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
  209. package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  210. package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
  211. package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
  212. package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  213. package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  214. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  215. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  216. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  217. package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  218. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  219. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  220. package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  221. package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
  222. package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
  223. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  224. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  225. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  226. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  227. package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  228. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  229. package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
  230. package/dist/client/components/shared/utils.d.ts +4 -43
  231. package/dist/client/components.js +3 -3
  232. package/dist/client/hooks/agentChatStream.d.ts +39 -0
  233. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  234. package/dist/client/hooks/drillNavigation.d.ts +25 -0
  235. package/dist/client/hooks.js +3 -3
  236. package/dist/client/icons.js +2 -2
  237. package/dist/client/index.js +816 -669
  238. package/dist/client/index.js.map +1 -1
  239. package/dist/client/providers.js +3 -3
  240. package/dist/client/schema.js +1 -1
  241. package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
  242. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  243. package/dist/client/shared/queryTransforms.d.ts +20 -0
  244. package/dist/client/shared/utils.d.ts +2 -4
  245. package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  246. package/dist/client/styles.css +1 -1
  247. package/dist/client/utils/axisValueFormatting.d.ts +32 -0
  248. package/dist/client/utils/timeValueFormatting.d.ts +32 -0
  249. package/dist/client/utils.js +6 -6
  250. package/dist/client-bundle-stats.html +1 -1
  251. package/dist/mcp-app/mcp-app.html +55 -55
  252. package/dist/server/google-BOnRIN1w.cjs +2 -0
  253. package/dist/server/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
  254. package/dist/server/index.cjs +179 -211
  255. package/dist/server/index.js +6330 -6458
  256. package/dist/server/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  257. package/dist/server/openai-vXvLni8v.cjs +1 -0
  258. package/dist/server/server/adapters/base-adapter.d.ts +80 -35
  259. package/dist/server/server/adapters/databend-adapter.d.ts +8 -59
  260. package/dist/server/server/adapters/duckdb-adapter.d.ts +5 -59
  261. package/dist/server/server/adapters/mysql-adapter.d.ts +13 -70
  262. package/dist/server/server/adapters/postgres-adapter.d.ts +1 -65
  263. package/dist/server/server/adapters/snowflake-adapter.d.ts +5 -68
  264. package/dist/server/server/adapters/sqlite-adapter.d.ts +12 -32
  265. package/dist/server/server/adapters/window-function-builder.d.ts +11 -0
  266. package/dist/server/server/agent/chart-validation.d.ts +0 -5
  267. package/dist/server/server/agent/handler-steps.d.ts +37 -0
  268. package/dist/server/server/ai/discovery-helpers.d.ts +29 -0
  269. package/dist/server/server/ai/discovery.d.ts +4 -0
  270. package/dist/server/server/ai/suggestion-helpers.d.ts +33 -0
  271. package/dist/server/server/ai/suggestion.d.ts +0 -3
  272. package/dist/server/server/ai/validation-helpers.d.ts +21 -0
  273. package/dist/server/server/ai/validation.d.ts +0 -3
  274. package/dist/server/server/builders/analysis-utils.d.ts +106 -0
  275. package/dist/server/server/builders/cte-builder.d.ts +46 -0
  276. package/dist/server/server/builders/date-time-builder.d.ts +5 -0
  277. package/dist/server/server/builders/date-time-helpers.d.ts +34 -0
  278. package/dist/server/server/builders/filter-builder.d.ts +2 -0
  279. package/dist/server/server/builders/filter-operators.d.ts +23 -0
  280. package/dist/server/server/builders/flow-query-builder.d.ts +46 -19
  281. package/dist/server/server/builders/funnel-query-builder.d.ts +16 -5
  282. package/dist/server/server/builders/group-by-builder.d.ts +11 -0
  283. package/dist/server/server/builders/measure-builder.d.ts +43 -0
  284. package/dist/server/server/builders/retention-query-builder.d.ts +12 -14
  285. package/dist/server/server/cache-utils.d.ts +25 -5
  286. package/dist/server/server/compiler-metadata.d.ts +11 -0
  287. package/dist/server/server/compiler.d.ts +8 -14
  288. package/dist/server/server/cube-utils.d.ts +29 -4
  289. package/dist/server/server/execution/annotation-builder.d.ts +12 -0
  290. package/dist/server/server/execution/filter-cache-preloader.d.ts +19 -0
  291. package/dist/server/server/execution/mode-router.d.ts +25 -0
  292. package/dist/server/server/execution/query-result-cache.d.ts +21 -0
  293. package/dist/server/server/execution/result-post-processor.d.ts +10 -0
  294. package/dist/server/server/executor.d.ts +33 -30
  295. package/dist/server/server/executors/explain-utils.d.ts +28 -0
  296. package/dist/server/server/explain/explain-tree.d.ts +20 -0
  297. package/dist/server/server/filter-cache.d.ts +2 -2
  298. package/dist/server/server/gap-filler.d.ts +6 -0
  299. package/dist/server/server/index.d.ts +3 -1
  300. package/dist/server/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  301. package/dist/server/server/logical-plan/cte-planner.d.ts +104 -0
  302. package/dist/server/server/logical-plan/filter-propagation.d.ts +44 -0
  303. package/dist/server/server/logical-plan/index.d.ts +6 -1
  304. package/dist/server/server/logical-plan/join-planner.d.ts +27 -0
  305. package/dist/server/server/logical-plan/logical-planner.d.ts +7 -200
  306. package/dist/server/server/logical-plan/optimiser.d.ts +3 -1
  307. package/dist/server/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  308. package/dist/server/server/logical-plan/planner-utils.d.ts +20 -0
  309. package/dist/server/server/logical-plan/types.d.ts +17 -9
  310. package/dist/server/server/measure-classification.d.ts +40 -0
  311. package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +21 -21
  312. package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +11 -0
  313. package/dist/server/server/physical-plan/processors/index.d.ts +2 -0
  314. package/dist/server/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  315. package/dist/server/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  316. package/dist/server/server/physical-plan/processors/shared.d.ts +5 -0
  317. package/dist/server/server/query-handlers.d.ts +79 -0
  318. package/dist/server/server/query-modes.d.ts +28 -0
  319. package/dist/server/server/query-validator.d.ts +9 -0
  320. package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +5 -0
  321. package/dist/server/server/resolvers/join-path-resolver.d.ts +6 -0
  322. package/dist/server/server/sql-format.d.ts +11 -0
  323. package/dist/server/server/types/cube.d.ts +18 -4
  324. package/dist/server/server/types/flow.d.ts +6 -5
  325. package/dist/server/server/types/index.d.ts +1 -1
  326. package/dist/server/server/types/validation.d.ts +14 -0
  327. package/package.json +11 -4
  328. package/dist/adapters/google-DUlXeeDA.cjs +0 -2
  329. package/dist/adapters/handler-CzbCuS6_.cjs +0 -25
  330. package/dist/adapters/locale-BPB7flIG.js +0 -8249
  331. package/dist/adapters/locale-tIMrNcCr.cjs +0 -198
  332. package/dist/adapters/mcp-transport-C2QzXm6h.cjs +0 -40
  333. package/dist/adapters/mcp-transport-D0B3S1tB.js +0 -579
  334. package/dist/adapters/openai-D_U4V0kT.cjs +0 -1
  335. package/dist/adapters/utils-KV37IBIv.cjs +0 -128
  336. package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +0 -1
  337. package/dist/client/chunks/analysis-builder-MuMIzoRq.js +0 -5367
  338. package/dist/client/chunks/analysis-builder-MuMIzoRq.js.map +0 -1
  339. package/dist/client/chunks/analysis-builder-shared-CYVwSPqt.js.map +0 -1
  340. package/dist/client/chunks/chart-activity-grid-DmruKPab.js.map +0 -1
  341. package/dist/client/chunks/chart-area-DHCPM4Em.js +0 -450
  342. package/dist/client/chunks/chart-area-DHCPM4Em.js.map +0 -1
  343. package/dist/client/chunks/chart-bar-KddciGDv.js +0 -271
  344. package/dist/client/chunks/chart-bar-KddciGDv.js.map +0 -1
  345. package/dist/client/chunks/chart-bubble-CfqiB538.js +0 -273
  346. package/dist/client/chunks/chart-bubble-CfqiB538.js.map +0 -1
  347. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
  348. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
  349. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
  350. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
  351. package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
  352. package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
  353. package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
  354. package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
  355. package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
  356. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
  357. package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
  358. package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
  359. package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
  360. package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
  361. package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
  362. package/dist/client/chunks/chart-data-table-BO4sXsim.js.map +0 -1
  363. package/dist/client/chunks/chart-funnel-DnWRsmnS.js.map +0 -1
  364. package/dist/client/chunks/chart-gauge-CgMeqeGb.js +0 -424
  365. package/dist/client/chunks/chart-gauge-CgMeqeGb.js.map +0 -1
  366. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js +0 -231
  367. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js.map +0 -1
  368. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js +0 -343
  369. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js.map +0 -1
  370. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js +0 -322
  371. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js.map +0 -1
  372. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js +0 -149
  373. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js.map +0 -1
  374. package/dist/client/chunks/chart-line-9BEGN5Ti.js +0 -433
  375. package/dist/client/chunks/chart-line-9BEGN5Ti.js.map +0 -1
  376. package/dist/client/chunks/chart-pie-BjAIhyOi.js +0 -172
  377. package/dist/client/chunks/chart-pie-BjAIhyOi.js.map +0 -1
  378. package/dist/client/chunks/chart-radar-Dgkcl2bN.js +0 -154
  379. package/dist/client/chunks/chart-radar-Dgkcl2bN.js.map +0 -1
  380. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js +0 -148
  381. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js.map +0 -1
  382. package/dist/client/chunks/chart-scatter-DaHYP_OL.js +0 -255
  383. package/dist/client/chunks/chart-scatter-DaHYP_OL.js.map +0 -1
  384. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js +0 -298
  385. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js.map +0 -1
  386. package/dist/client/chunks/useDirtyStateTracking-CoeQbprt.js.map +0 -1
  387. package/dist/server/google-DUlXeeDA.cjs +0 -2
  388. package/dist/server/openai-D_U4V0kT.cjs +0 -1
@@ -1,6 +1,6 @@
1
- import { a as e, f as t, o as n, r, u as i } from "../utils-D9JPLmfl.js";
2
- import { i as a, n as o, r as s, t as c } from "../locale-BPB7flIG.js";
3
- import { C as l, S as u, _ as d, a as f, b as p, c as m, g as h, h as g, i as _, l as v, m as y, o as b, r as x, u as S, v as C, x as w, y as T } from "../mcp-transport-D0B3S1tB.js";
1
+ import { a as e, l as t, o as n, r, u as i } from "../utils-BPWZsX7k.js";
2
+ import { i as a, n as o, r as s, t as c } from "../locale-DDvZDFVn.js";
3
+ import { C as l, S as u, _ as d, a as f, b as p, c as m, g as h, h as g, i as _, l as v, m as y, o as b, r as x, u as S, v as C, x as w, y as T } from "../mcp-transport-H96VG3WY.js";
4
4
  import { Hono as E } from "hono";
5
5
  //#region node_modules/hono/dist/middleware/cors/index.js
6
6
  var D = (e) => {
@@ -42,37 +42,164 @@ var D = (e) => {
42
42
  };
43
43
  };
44
44
  //#endregion
45
+ //#region src/adapters/hono/mcp-handler.ts
46
+ async function O(e, t) {
47
+ if (t.resourceMetadataUrl && !S(e.req.header("authorization"))) return e.header("WWW-Authenticate", m(t.resourceMetadataUrl)), { response: e.json({ error: "Bearer token required" }, 401) };
48
+ let n = u(e.req.header("origin"), t.allowedOrigins ? { allowedOrigins: t.allowedOrigins } : {});
49
+ if (!n.valid) return { response: e.json(_(null, -32600, n.reason), 403) };
50
+ let r = e.req.header("accept");
51
+ if (!w(r)) return { response: e.json(_(null, -32600, "Accept header must include both application/json and text/event-stream"), 400) };
52
+ let i = g(e.req.header());
53
+ if (!i.ok) return { response: e.json({
54
+ error: "Unsupported MCP protocol version",
55
+ supported: i.supported
56
+ }, 426) };
57
+ let a = h(await e.req.json().catch(() => null));
58
+ return a ? {
59
+ rpcRequest: a,
60
+ acceptHeader: r,
61
+ negotiatedProtocol: i.negotiated
62
+ } : { response: e.json(_(null, -32600, "Invalid JSON-RPC 2.0 request"), 400) };
63
+ }
64
+ function k(e, t) {
65
+ let n = new TextEncoder(), r = d(), i = new ReadableStream({ start(t) {
66
+ t.enqueue(n.encode(`id: ${r}\n\n`)), t.enqueue(n.encode(p(e, r))), t.close();
67
+ } });
68
+ return new Response(i, {
69
+ status: 200,
70
+ headers: {
71
+ "Content-Type": "text/event-stream",
72
+ "Cache-Control": "no-cache",
73
+ Connection: "keep-alive",
74
+ ...t
75
+ }
76
+ });
77
+ }
78
+ function A(e, t, n) {
79
+ let r = e && t && typeof t == "object" && "sessionId" in t ? t.sessionId : void 0;
80
+ return r ? { [n]: r } : {};
81
+ }
82
+ function j(e, t) {
83
+ let n = e?.code ?? -32603, r = e?.data, i = e.message || "MCP request failed";
84
+ return _(t ?? null, n, i, r);
85
+ }
86
+ function M(e) {
87
+ return l(e);
88
+ }
89
+ function N(e, t, n, r) {
90
+ if (y(t)) return e.body(null, 202);
91
+ let i = f(t.id ?? null, n), a = A(t.method === "initialize", n, x);
92
+ return r ? k(i, a) : e.json(i, 200, a);
93
+ }
94
+ function P(e, t, n, r) {
95
+ if (y(t)) return console.error("MCP notification processing error:", n), e.body(null, 202);
96
+ console.error("MCP RPC error:", n);
97
+ let i = j(n, t.id);
98
+ return r ? k(i) : e.json(i, 200);
99
+ }
100
+ async function F(e, t, n, r) {
101
+ try {
102
+ return N(e, t, await v(t.method, t.params, r), n);
103
+ } catch (r) {
104
+ return P(e, t, r, n);
105
+ }
106
+ }
107
+ //#endregion
108
+ //#region src/adapters/hono/agent-handler.ts
109
+ function I(e, t) {
110
+ let n = (t.apiKey || "").trim();
111
+ if (t.allowClientApiKey) {
112
+ let t = e.req.header("x-agent-api-key");
113
+ t && (n = t.trim());
114
+ }
115
+ return n;
116
+ }
117
+ function L(e, t) {
118
+ return t.allowClientApiKey ? {
119
+ providerOverride: e.req.header("x-agent-provider"),
120
+ modelOverride: e.req.header("x-agent-model"),
121
+ baseURLOverride: e.req.header("x-agent-provider-endpoint")
122
+ } : {};
123
+ }
124
+ function R(e) {
125
+ let t = new TextEncoder(), n = new ReadableStream({ async start(n) {
126
+ try {
127
+ for await (let r of e) n.enqueue(t.encode(`data: ${JSON.stringify(r)}\n\n`));
128
+ } catch (e) {
129
+ let r = {
130
+ type: "error",
131
+ data: { message: e instanceof Error ? e.message : "Stream failed" }
132
+ };
133
+ n.enqueue(t.encode(`data: ${JSON.stringify(r)}\n\n`));
134
+ } finally {
135
+ n.close();
136
+ }
137
+ } });
138
+ return new Response(n, {
139
+ status: 200,
140
+ headers: {
141
+ "Content-Type": "text/event-stream",
142
+ "Cache-Control": "no-cache",
143
+ Connection: "keep-alive"
144
+ }
145
+ });
146
+ }
147
+ async function z(e, t, n, r) {
148
+ try {
149
+ let { handleAgentChat: i } = await import("../handler-CfgE0JSL.js"), { message: a, sessionId: o, history: s } = await e.req.json();
150
+ if (!a || typeof a != "string") return e.json({ error: "message is required and must be a string" }, 400);
151
+ let c = I(e, t);
152
+ if (!c) return e.json({ error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." }, 401);
153
+ let { providerOverride: l, modelOverride: u, baseURLOverride: d } = L(e, t), f = await r(e), p = t.buildSystemContext?.(f);
154
+ return R(i({
155
+ message: a,
156
+ sessionId: o,
157
+ history: s,
158
+ semanticLayer: n,
159
+ securityContext: f,
160
+ agentConfig: t,
161
+ apiKey: c,
162
+ systemContext: p,
163
+ providerOverride: l,
164
+ modelOverride: u,
165
+ baseURLOverride: d
166
+ }));
167
+ } catch (t) {
168
+ return console.error("Agent chat error:", t), e.json({ error: t instanceof Error ? t.message : "Agent chat failed" }, 500);
169
+ }
170
+ }
171
+ //#endregion
45
172
  //#region src/adapters/hono/index.ts
46
- function O(O) {
47
- let { cubes: k, drizzle: A, schema: j, extractSecurityContext: M, engineType: N, cors: P, basePath: F = "/cubejs-api/v1", cache: I, mcp: L = { enabled: !0 }, agent: R } = O;
48
- if (!O.semanticLayer && (!k || k.length === 0)) throw Error("Either semanticLayer or a non-empty cubes array must be provided");
49
- let z = new E(), B = async (e) => s(await M(e), o((t) => e.req.header(t)));
50
- if (P) {
173
+ function B(l) {
174
+ let { cubes: u, drizzle: f, schema: h, extractSecurityContext: g, engineType: _, cors: v, basePath: y = "/cubejs-api/v1", cache: x, mcp: w = { enabled: !0 }, agent: k } = l;
175
+ if (!l.semanticLayer && (!u || u.length === 0)) throw Error("Either semanticLayer or a non-empty cubes array must be provided");
176
+ let A = new E(), j = async (e) => s(await g(e), o((t) => e.req.header(t)));
177
+ if (v) {
51
178
  let e = {
52
- ...P,
53
- allowHeaders: c(P.allowHeaders)
179
+ ...v,
180
+ allowHeaders: c(v.allowHeaders)
54
181
  };
55
- z.use("/*", D(e));
182
+ A.use("/*", D(e));
56
183
  }
57
- let V = O.semanticLayer ?? new a({
58
- drizzle: A,
59
- schema: j,
60
- engineType: N,
61
- cache: I,
62
- rlsSetup: O.rlsSetup
184
+ let N = l.semanticLayer ?? new a({
185
+ drizzle: f,
186
+ schema: h,
187
+ engineType: _,
188
+ cache: x,
189
+ rlsSetup: l.rlsSetup
63
190
  });
64
- if (!O.semanticLayer && k && k.forEach((e) => {
65
- V.registerCube(e);
66
- }), z.post(`${F}/load`, async (e) => {
191
+ if (!l.semanticLayer && u && u.forEach((e) => {
192
+ N.registerCube(e);
193
+ }), A.post(`${y}/load`, async (e) => {
67
194
  try {
68
- let t = await e.req.json(), n = t.query || t, i = await B(e), a = V.validateQuery(n);
195
+ let t = await e.req.json(), n = t.query || t, i = await j(e), a = N.validateQuery(n);
69
196
  if (!a.isValid) return e.json({ error: `Query validation failed: ${a.errors.join(", ")}` }, 400);
70
- let o = e.req.header("x-cache-control") === "no-cache", s = await V.executeMultiCubeQuery(n, i, { skipCache: o });
71
- return e.json(r(n, s, V));
197
+ let o = e.req.header("x-cache-control") === "no-cache", s = await N.executeMultiCubeQuery(n, i, { skipCache: o });
198
+ return e.json(r(n, s, N));
72
199
  } catch (t) {
73
200
  return console.error("Query execution error:", t), e.json({ error: t instanceof Error ? t.message : "Query execution failed" }, 500);
74
201
  }
75
- }), z.get(`${F}/load`, async (e) => {
202
+ }), A.get(`${y}/load`, async (e) => {
76
203
  try {
77
204
  let t = e.req.query("query");
78
205
  if (!t) return e.json({ error: "Query parameter is required" }, 400);
@@ -82,206 +209,109 @@ function O(O) {
82
209
  } catch {
83
210
  return e.json({ error: "Invalid JSON in query parameter" }, 400);
84
211
  }
85
- let i = await B(e), a = V.validateQuery(n);
212
+ let i = await j(e), a = N.validateQuery(n);
86
213
  if (!a.isValid) return e.json({ error: `Query validation failed: ${a.errors.join(", ")}` }, 400);
87
- let o = e.req.header("x-cache-control") === "no-cache", s = await V.executeMultiCubeQuery(n, i, { skipCache: o });
88
- return e.json(r(n, s, V));
214
+ let o = e.req.header("x-cache-control") === "no-cache", s = await N.executeMultiCubeQuery(n, i, { skipCache: o });
215
+ return e.json(r(n, s, N));
89
216
  } catch (t) {
90
217
  return console.error("Query execution error:", t), e.json({ error: t instanceof Error ? t.message : "Query execution failed" }, 500);
91
218
  }
92
- }), z.post(`${F}/batch`, async (e) => {
219
+ }), A.post(`${y}/batch`, async (e) => {
93
220
  try {
94
- let { queries: t } = await e.req.json();
95
- if (!t || !Array.isArray(t)) return e.json({ error: "Request body must contain a \"queries\" array" }, 400);
96
- if (t.length === 0) return e.json({ error: "Queries array cannot be empty" }, 400);
97
- let n = await i(t, await B(e), V, { skipCache: e.req.header("x-cache-control") === "no-cache" });
98
- return e.json(n);
221
+ let { queries: n } = await e.req.json();
222
+ if (!n || !Array.isArray(n)) return e.json({ error: "Request body must contain a \"queries\" array" }, 400);
223
+ if (n.length === 0) return e.json({ error: "Queries array cannot be empty" }, 400);
224
+ let r = await t(n, await j(e), N, { skipCache: e.req.header("x-cache-control") === "no-cache" });
225
+ return e.json(r);
99
226
  } catch (t) {
100
227
  return console.error("Batch execution error:", t), e.json({ error: t instanceof Error ? t.message : "Batch execution failed" }, 500);
101
228
  }
102
- }), z.get(`${F}/meta`, (t) => {
229
+ }), A.get(`${y}/meta`, (t) => {
103
230
  try {
104
- let n = V.getMetadata();
231
+ let n = N.getMetadata();
105
232
  return t.json(e(n));
106
233
  } catch (e) {
107
234
  return console.error("Metadata error:", e), t.json({ error: e instanceof Error ? e.message : "Failed to fetch metadata" }, 500);
108
235
  }
109
- }), z.post(`${F}/sql`, async (e) => {
236
+ }), A.post(`${y}/sql`, async (e) => {
110
237
  try {
111
- let t = await e.req.json(), r = await B(e), i = V.validateQuery(t);
238
+ let t = await e.req.json(), r = await j(e), i = N.validateQuery(t);
112
239
  if (!i.isValid) return e.json({ error: `Query validation failed: ${i.errors.join(", ")}` }, 400);
113
240
  let a = t.measures?.[0] || t.dimensions?.[0];
114
241
  if (!a) return e.json({ error: "No measures or dimensions specified" }, 400);
115
- let o = a.split(".")[0], s = await V.generateSQL(o, t, r);
242
+ let o = a.split(".")[0], s = await N.generateSQL(o, t, r);
116
243
  return e.json(n(t, s));
117
244
  } catch (t) {
118
245
  return console.error("SQL generation error:", t), e.json({ error: t instanceof Error ? t.message : "SQL generation failed" }, 500);
119
246
  }
120
- }), z.get(`${F}/sql`, async (e) => {
247
+ }), A.get(`${y}/sql`, async (e) => {
121
248
  try {
122
249
  let t = e.req.query("query");
123
250
  if (!t) return e.json({ error: "Query parameter is required" }, 400);
124
- let r = JSON.parse(t), i = await B(e), a = V.validateQuery(r);
251
+ let r = JSON.parse(t), i = await j(e), a = N.validateQuery(r);
125
252
  if (!a.isValid) return e.json({ error: `Query validation failed: ${a.errors.join(", ")}` }, 400);
126
253
  let o = r.measures?.[0] || r.dimensions?.[0];
127
254
  if (!o) return e.json({ error: "No measures or dimensions specified" }, 400);
128
- let s = o.split(".")[0], c = await V.generateSQL(s, r, i);
255
+ let s = o.split(".")[0], c = await N.generateSQL(s, r, i);
129
256
  return e.json(n(r, c));
130
257
  } catch (t) {
131
258
  return console.error("SQL generation error:", t), e.json({ error: t instanceof Error ? t.message : "SQL generation failed" }, 500);
132
259
  }
133
- }), z.post(`${F}/dry-run`, async (e) => {
260
+ }), A.post(`${y}/dry-run`, async (e) => {
134
261
  try {
135
- let n = await e.req.json(), r = await t(n.query || n, await B(e), V);
136
- return e.json(r);
262
+ let t = await e.req.json(), n = await i(t.query || t, await j(e), N);
263
+ return e.json(n);
137
264
  } catch (t) {
138
265
  return console.error("Dry-run error:", t), e.json({
139
266
  error: t instanceof Error ? t.message : "Dry-run validation failed",
140
267
  valid: !1
141
268
  }, 400);
142
269
  }
143
- }), z.get(`${F}/dry-run`, async (e) => {
270
+ }), A.get(`${y}/dry-run`, async (e) => {
144
271
  try {
145
- let n = e.req.query("query");
146
- if (!n) return e.json({
272
+ let t = e.req.query("query");
273
+ if (!t) return e.json({
147
274
  error: "Query parameter is required",
148
275
  valid: !1
149
276
  }, 400);
150
- let r = await t(JSON.parse(n), await B(e), V);
151
- return e.json(r);
277
+ let n = await i(JSON.parse(t), await j(e), N);
278
+ return e.json(n);
152
279
  } catch (t) {
153
280
  return console.error("Dry-run error:", t), e.json({
154
281
  error: t instanceof Error ? t.message : "Dry-run validation failed",
155
282
  valid: !1
156
283
  }, 400);
157
284
  }
158
- }), z.post(`${F}/explain`, async (e) => {
285
+ }), A.post(`${y}/explain`, async (e) => {
159
286
  try {
160
- let t = await e.req.json(), n = t.query || t, r = t.options || {}, i = await B(e), a = V.validateQuery(n);
287
+ let t = await e.req.json(), n = t.query || t, r = t.options || {}, i = await j(e), a = N.validateQuery(n);
161
288
  if (!a.isValid) return e.json({ error: `Query validation failed: ${a.errors.join(", ")}` }, 400);
162
- let o = await V.explainQuery(n, i, r);
289
+ let o = await N.explainQuery(n, i, r);
163
290
  return e.json(o);
164
291
  } catch (t) {
165
292
  return console.error("Explain error:", t), e.json({ error: t instanceof Error ? t.message : "Explain query failed" }, 500);
166
293
  }
167
- }), R && z.post(`${F}/agent/chat`, async (e) => {
168
- try {
169
- let { handleAgentChat: t } = await import("../handler-Cx8QYLk6.js"), { message: n, sessionId: r, history: i } = await e.req.json();
170
- if (!n || typeof n != "string") return e.json({ error: "message is required and must be a string" }, 400);
171
- let a = (R.apiKey || "").trim();
172
- if (R.allowClientApiKey) {
173
- let t = e.req.header("x-agent-api-key");
174
- t && (a = t.trim());
175
- }
176
- if (!a) return e.json({ error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." }, 401);
177
- let o = R.allowClientApiKey ? e.req.header("x-agent-provider") : void 0, s = R.allowClientApiKey ? e.req.header("x-agent-model") : void 0, c = R.allowClientApiKey ? e.req.header("x-agent-provider-endpoint") : void 0, l = await B(e), u = R.buildSystemContext?.(l), d = new TextEncoder(), f = new ReadableStream({ async start(e) {
178
- try {
179
- let f = t({
180
- message: n,
181
- sessionId: r,
182
- history: i,
183
- semanticLayer: V,
184
- securityContext: l,
185
- agentConfig: R,
186
- apiKey: a,
187
- systemContext: u,
188
- providerOverride: o,
189
- modelOverride: s,
190
- baseURLOverride: c
191
- });
192
- for await (let t of f) {
193
- let n = `data: ${JSON.stringify(t)}\n\n`;
194
- e.enqueue(d.encode(n));
195
- }
196
- } catch (t) {
197
- let n = {
198
- type: "error",
199
- data: { message: t instanceof Error ? t.message : "Stream failed" }
200
- };
201
- e.enqueue(d.encode(`data: ${JSON.stringify(n)}\n\n`));
202
- } finally {
203
- e.close();
204
- }
205
- } });
206
- return new Response(f, {
207
- status: 200,
208
- headers: {
209
- "Content-Type": "text/event-stream",
210
- "Cache-Control": "no-cache",
211
- Connection: "keep-alive"
212
- }
294
+ }), k && A.post(`${y}/agent/chat`, (e) => z(e, k, N, j)), w.enabled !== !1) {
295
+ let e = b(N, w.resources), t = T(w.prompts), n = C(w.instructions), r = w.basePath ?? "/mcp";
296
+ A.post(`${r}`, async (r) => {
297
+ let i = await O(r, w);
298
+ if (i.response) return i.response;
299
+ let a = i.rpcRequest;
300
+ return F(r, a, M(i.acceptHeader), {
301
+ semanticLayer: N,
302
+ extractSecurityContext: (e, t) => j(e),
303
+ rawRequest: r,
304
+ rawResponse: null,
305
+ negotiatedProtocol: i.negotiatedProtocol,
306
+ resources: e,
307
+ prompts: t,
308
+ instructions: n,
309
+ appEnabled: !!w.app,
310
+ appConfig: typeof w.app == "object" ? w.app : void 0,
311
+ serverName: w.serverName
213
312
  });
214
- } catch (t) {
215
- return console.error("Agent chat error:", t), e.json({ error: t instanceof Error ? t.message : "Agent chat failed" }, 500);
216
- }
217
- }), L.enabled !== !1) {
218
- let e = b(V, L.resources), t = T(L.prompts), n = C(L.instructions), r = L.basePath ?? "/mcp";
219
- z.post(`${r}`, async (r) => {
220
- if (L.resourceMetadataUrl && !S(r.req.header("authorization"))) return r.header("WWW-Authenticate", m(L.resourceMetadataUrl)), r.json({ error: "Bearer token required" }, 401);
221
- let i = u(r.req.header("origin"), L.allowedOrigins ? { allowedOrigins: L.allowedOrigins } : {});
222
- if (!i.valid) return r.json(_(null, -32600, i.reason), 403);
223
- let a = r.req.header("accept");
224
- if (!w(a)) return r.json(_(null, -32600, "Accept header must include both application/json and text/event-stream"), 400);
225
- let o = g(r.req.header());
226
- if (!o.ok) return r.json({
227
- error: "Unsupported MCP protocol version",
228
- supported: o.supported
229
- }, 426);
230
- let s = h(await r.req.json().catch(() => null));
231
- if (!s) return r.json(_(null, -32600, "Invalid JSON-RPC 2.0 request"), 400);
232
- let c = l(a), b = s.method === "initialize";
233
- try {
234
- let i = await v(s.method, s.params, {
235
- semanticLayer: V,
236
- extractSecurityContext: (e, t) => B(e),
237
- rawRequest: r,
238
- rawResponse: null,
239
- negotiatedProtocol: o.negotiated,
240
- resources: e,
241
- prompts: t,
242
- instructions: n,
243
- appEnabled: !!L.app,
244
- appConfig: typeof L.app == "object" ? L.app : void 0,
245
- serverName: L.serverName
246
- });
247
- if (y(s)) return r.body(null, 202);
248
- let a = f(s.id ?? null, i), l = b && i && typeof i == "object" && "sessionId" in i ? i.sessionId : void 0, u = {};
249
- if (l && (u[x] = l), c) {
250
- let e = new TextEncoder(), t = d(), n = new ReadableStream({ start(n) {
251
- n.enqueue(e.encode(`id: ${t}\n\n`)), n.enqueue(e.encode(p(a, t))), n.close();
252
- } });
253
- return new Response(n, {
254
- status: 200,
255
- headers: {
256
- "Content-Type": "text/event-stream",
257
- "Cache-Control": "no-cache",
258
- Connection: "keep-alive",
259
- ...u
260
- }
261
- });
262
- }
263
- return r.json(a, 200, u);
264
- } catch (e) {
265
- if (y(s)) return console.error("MCP notification processing error:", e), r.body(null, 202);
266
- console.error("MCP RPC error:", e);
267
- let t = e?.code ?? -32603, n = e?.data, i = e.message || "MCP request failed", a = _(s.id ?? null, t, i, n);
268
- if (c) {
269
- let e = new TextEncoder(), t = d(), n = new ReadableStream({ start(n) {
270
- n.enqueue(e.encode(`id: ${t}\n\n`)), n.enqueue(e.encode(p(a, t))), n.close();
271
- } });
272
- return new Response(n, {
273
- status: 200,
274
- headers: {
275
- "Content-Type": "text/event-stream",
276
- "Cache-Control": "no-cache",
277
- Connection: "keep-alive"
278
- }
279
- });
280
- }
281
- return r.json(a, 200);
282
- }
283
- }), z.delete(`${r}`, (e) => L.resourceMetadataUrl && !S(e.req.header("authorization")) ? (e.header("WWW-Authenticate", m(L.resourceMetadataUrl)), e.json({ error: "Bearer token required" }, 401)) : e.json({ error: "Session termination not supported" }, 405)), z.get(`${r}`, (e) => {
284
- if (L.resourceMetadataUrl && !S(e.req.header("authorization"))) return e.header("WWW-Authenticate", m(L.resourceMetadataUrl)), e.json({ error: "Bearer token required" }, 401);
313
+ }), A.delete(`${r}`, (e) => w.resourceMetadataUrl && !S(e.req.header("authorization")) ? (e.header("WWW-Authenticate", m(w.resourceMetadataUrl)), e.json({ error: "Bearer token required" }, 401)) : e.json({ error: "Session termination not supported" }, 405)), A.get(`${r}`, (e) => {
314
+ if (w.resourceMetadataUrl && !S(e.req.header("authorization"))) return e.header("WWW-Authenticate", m(w.resourceMetadataUrl)), e.json({ error: "Bearer token required" }, 401);
285
315
  let t = new TextEncoder(), n = d(), r, i = new ReadableStream({
286
316
  start(e) {
287
317
  e.enqueue(t.encode(p({
@@ -306,14 +336,14 @@ function O(O) {
306
336
  });
307
337
  });
308
338
  }
309
- return z;
339
+ return A;
310
340
  }
311
- function k(e, t) {
312
- let n = O(t);
341
+ function V(e, t) {
342
+ let n = B(t);
313
343
  return e.route("/", n), e;
314
344
  }
315
- function A(e) {
316
- return k(new E(), e);
345
+ function H(e) {
346
+ return V(new E(), e);
317
347
  }
318
348
  //#endregion
319
- export { A as createCubeApp, O as createCubeRoutes, k as mountCubeRoutes };
349
+ export { H as createCubeApp, B as createCubeRoutes, V as mountCubeRoutes };