drizzle-cube 0.6.0 → 0.6.2

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 (1099) hide show
  1. package/dist/adapters/express/index.cjs +1 -1
  2. package/dist/adapters/{adapters/express → express}/index.d.ts +3 -3
  3. package/dist/adapters/express/index.js +2 -2
  4. package/dist/adapters/fastify/index.cjs +1 -1
  5. package/dist/adapters/{adapters/fastify → fastify}/index.d.ts +3 -3
  6. package/dist/adapters/fastify/index.js +2 -2
  7. package/dist/adapters/{handler-CfgE0JSL.js → handler-CtaSua-i.js} +1 -1
  8. package/dist/adapters/{handler-Cn0dOctE.cjs → handler-OwxSBJH8.cjs} +1 -1
  9. package/dist/adapters/{adapters/hono → hono}/agent-handler.d.ts +3 -3
  10. package/dist/adapters/hono/index.cjs +1 -1
  11. package/dist/adapters/{adapters/hono → hono}/index.d.ts +4 -4
  12. package/dist/adapters/hono/index.js +2 -2
  13. package/dist/adapters/{adapters/hono → hono}/mcp-handler.d.ts +2 -2
  14. package/dist/adapters/{adapters/locale.d.ts → locale.d.ts} +1 -1
  15. package/dist/adapters/{adapters/mcp-tools-handlers.d.ts → mcp-tools-handlers.d.ts} +2 -2
  16. package/dist/adapters/mcp-tools.cjs +1 -1
  17. package/dist/adapters/{adapters/mcp-tools.d.ts → mcp-tools.d.ts} +5 -5
  18. package/dist/adapters/mcp-tools.js +1 -1
  19. package/dist/adapters/mcp-transport-B7ddET3M.cjs +40 -0
  20. package/dist/adapters/mcp-transport-Dfuj4j4q.js +591 -0
  21. package/dist/adapters/{adapters/mcp-transport.d.ts → mcp-transport.d.ts} +3 -3
  22. package/dist/adapters/nextjs/index.cjs +1 -1
  23. package/dist/adapters/{adapters/nextjs → nextjs}/index.d.ts +3 -3
  24. package/dist/adapters/nextjs/index.js +2 -2
  25. package/dist/adapters/{adapters/nextjs → nextjs}/mcp-handler.d.ts +2 -2
  26. package/dist/adapters/{openai-B5jEiqiB.js → openai-CmVRIbUg.js} +18 -2
  27. package/dist/adapters/{openai-cDlFSTk6.js → openai-CtXqeznO.js} +1 -1
  28. package/dist/{server/openai-D0musiYP.cjs → adapters/openai-D-6l1Y8h.cjs} +3 -3
  29. package/dist/adapters/{openai-vXvLni8v.cjs → openai-DTSTMiXL.cjs} +1 -1
  30. package/dist/adapters/{adapters/types.d.ts → types.d.ts} +1 -1
  31. package/dist/adapters/{adapters/utils.d.ts → utils.d.ts} +16 -16
  32. package/dist/cjs/adapters/express/index.d.ts +114 -0
  33. package/dist/cjs/adapters/fastify/index.d.ts +113 -0
  34. package/dist/cjs/adapters/hono/agent-handler.d.ts +9 -0
  35. package/dist/cjs/adapters/hono/index.d.ts +120 -0
  36. package/dist/cjs/adapters/hono/mcp-handler.d.ts +37 -0
  37. package/dist/cjs/adapters/locale.d.ts +8 -0
  38. package/dist/cjs/adapters/mcp-tools-handlers.d.ts +18 -0
  39. package/dist/cjs/adapters/mcp-tools.d.ts +134 -0
  40. package/dist/cjs/adapters/mcp-transport.d.ts +158 -0
  41. package/dist/cjs/adapters/nextjs/index.d.ts +196 -0
  42. package/dist/cjs/adapters/nextjs/mcp-handler.d.ts +36 -0
  43. package/dist/cjs/adapters/types.d.ts +41 -0
  44. package/dist/cjs/adapters/utils.d.ts +354 -0
  45. package/dist/cjs/client/adapters/adapterRegistry.d.ts +44 -0
  46. package/dist/cjs/client/adapters/flowModeAdapter.d.ts +3 -0
  47. package/dist/cjs/client/adapters/funnelModeAdapter.d.ts +19 -0
  48. package/dist/cjs/client/adapters/index.d.ts +29 -0
  49. package/dist/cjs/client/adapters/modeAdapter.d.ts +117 -0
  50. package/dist/cjs/client/adapters/queryModeAdapter.d.ts +16 -0
  51. package/dist/cjs/client/adapters/retentionModeAdapter.d.ts +3 -0
  52. package/dist/cjs/client/charts/ChartLoader.d.ts +69 -0
  53. package/dist/cjs/client/charts/chartComponentRegistry.d.ts +46 -0
  54. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +38 -0
  55. package/dist/cjs/client/charts/chartConfigRegistry.d.ts +15 -0
  56. package/dist/cjs/client/charts/chartConfigs.d.ts +142 -0
  57. package/dist/cjs/client/charts/chartPlugin.d.ts +74 -0
  58. package/dist/cjs/client/charts/lazyChartConfigRegistry.d.ts +100 -0
  59. package/dist/cjs/client/charts.d.ts +17 -0
  60. package/dist/cjs/client/client/BatchCoordinator.d.ts +38 -0
  61. package/dist/cjs/client/client/CubeClient.d.ts +32 -0
  62. package/dist/cjs/client/components/AIAssistant/constants.d.ts +11 -0
  63. package/dist/cjs/client/components/AIAssistant/index.d.ts +10 -0
  64. package/dist/cjs/client/components/AIAssistant/types.d.ts +49 -0
  65. package/dist/cjs/client/components/AIAssistant/utils.d.ts +17 -0
  66. package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +27 -0
  67. package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +14 -0
  68. package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +9 -0
  69. package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +6 -0
  70. package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +12 -0
  71. package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +15 -0
  72. package/dist/cjs/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  73. package/dist/cjs/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  74. package/dist/cjs/client/components/AgenticNotebook/index.d.ts +56 -0
  75. package/dist/cjs/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  76. package/dist/cjs/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  77. package/dist/cjs/client/components/AnalysisBuilder/AnalysisAIPanel.d.ts +25 -0
  78. package/dist/cjs/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +29 -0
  79. package/dist/cjs/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +18 -0
  80. package/dist/cjs/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +11 -0
  81. package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +20 -0
  82. package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +14 -0
  83. package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +16 -0
  84. package/dist/cjs/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +27 -0
  85. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +12 -0
  86. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  87. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  88. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +14 -0
  89. package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +17 -0
  90. package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  91. package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +12 -0
  92. package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  93. package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +9 -0
  94. package/dist/cjs/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  95. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +49 -0
  96. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  97. package/dist/cjs/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +16 -0
  98. package/dist/cjs/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +4 -0
  99. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchItem.d.ts +6 -0
  100. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchModal.d.ts +2 -0
  101. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  102. package/dist/cjs/client/components/AnalysisBuilder/FilterConfigModal.d.ts +17 -0
  103. package/dist/cjs/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  104. package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +28 -0
  105. package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  106. package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +57 -0
  107. package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  108. package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +21 -0
  109. package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +24 -0
  110. package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +48 -0
  111. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +25 -0
  112. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +26 -0
  113. package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  114. package/dist/cjs/client/components/AnalysisBuilder/LimitSection.d.ts +14 -0
  115. package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +11 -0
  116. package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  117. package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +9 -0
  118. package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +36 -0
  119. package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +71 -0
  120. package/dist/cjs/client/components/AnalysisBuilder/SectionHeading.d.ts +12 -0
  121. package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  122. package/dist/cjs/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  123. package/dist/cjs/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  124. package/dist/cjs/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  125. package/dist/cjs/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  126. package/dist/cjs/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  127. package/dist/cjs/client/components/AnalysisBuilder/index.d.ts +9 -0
  128. package/dist/cjs/client/components/AnalysisBuilder/types.d.ts +851 -0
  129. package/dist/cjs/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  130. package/dist/cjs/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  131. package/dist/cjs/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +69 -0
  132. package/dist/cjs/client/components/AnalysisBuilder/utils/filterUtils.d.ts +19 -0
  133. package/dist/cjs/client/components/AnalysisBuilder/utils/idUtils.d.ts +11 -0
  134. package/dist/cjs/client/components/AnalysisBuilder/utils/index.d.ts +11 -0
  135. package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +11 -0
  136. package/dist/cjs/client/components/AnalysisBuilder/utils/recentFieldsUtils.d.ts +14 -0
  137. package/dist/cjs/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  138. package/dist/cjs/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  139. package/dist/cjs/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  140. package/dist/cjs/client/components/AnalysisBuilder/utils/storageUtils.d.ts +44 -0
  141. package/dist/cjs/client/components/AnalysisBuilderLazy.d.ts +4 -0
  142. package/dist/cjs/client/components/AnalyticsDashboard.d.ts +2 -0
  143. package/dist/cjs/client/components/AnalyticsPage.d.ts +1 -0
  144. package/dist/cjs/client/components/AnalyticsPortlet.d.ts +10 -0
  145. package/dist/cjs/client/components/ChartErrorBoundary.d.ts +21 -0
  146. package/dist/cjs/client/components/ChartTypeSelector.d.ts +15 -0
  147. package/dist/cjs/client/components/ColorPaletteSelector.d.ts +11 -0
  148. package/dist/cjs/client/components/ConfirmModal.d.ts +30 -0
  149. package/dist/cjs/client/components/DashboardEditModal.d.ts +15 -0
  150. package/dist/cjs/client/components/DashboardFilterPanel.d.ts +15 -0
  151. package/dist/cjs/client/components/DashboardFilters/CompactFilterBar.d.ts +13 -0
  152. package/dist/cjs/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  153. package/dist/cjs/client/components/DashboardFilters/CustomDateDropdown.d.ts +10 -0
  154. package/dist/cjs/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +20 -0
  155. package/dist/cjs/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  156. package/dist/cjs/client/components/DashboardFilters/DashboardFilterItem.d.ts +14 -0
  157. package/dist/cjs/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  158. package/dist/cjs/client/components/DashboardFilters/DatePresetChips.d.ts +8 -0
  159. package/dist/cjs/client/components/DashboardFilters/EditModeFilterList.d.ts +13 -0
  160. package/dist/cjs/client/components/DashboardFilters/FilterChip.d.ts +12 -0
  161. package/dist/cjs/client/components/DashboardFilters/FilterEditModal.d.ts +15 -0
  162. package/dist/cjs/client/components/DashboardFilters/FilterValuePopover.d.ts +11 -0
  163. package/dist/cjs/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +13 -0
  164. package/dist/cjs/client/components/DashboardFilters/XTDDropdown.d.ts +10 -0
  165. package/dist/cjs/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  166. package/dist/cjs/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  167. package/dist/cjs/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  168. package/dist/cjs/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  169. package/dist/cjs/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  170. package/dist/cjs/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  171. package/dist/cjs/client/components/DashboardGrid.d.ts +22 -0
  172. package/dist/cjs/client/components/DashboardPortletCard.d.ts +4 -0
  173. package/dist/cjs/client/components/DashboardThumbnailPlaceholder.d.ts +13 -0
  174. package/dist/cjs/client/components/DataBrowser/DataBrowserSidebar.d.ts +16 -0
  175. package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +16 -0
  176. package/dist/cjs/client/components/DataBrowser/DataBrowserToolbar.d.ts +22 -0
  177. package/dist/cjs/client/components/DataBrowser/index.d.ts +28 -0
  178. package/dist/cjs/client/components/DataHistogram.d.ts +27 -0
  179. package/dist/cjs/client/components/DebugModal.d.ts +17 -0
  180. package/dist/cjs/client/components/DrillBreadcrumb.d.ts +7 -0
  181. package/dist/cjs/client/components/DrillMenu.d.ts +8 -0
  182. package/dist/cjs/client/components/FloatingEditToolbar.d.ts +30 -0
  183. package/dist/cjs/client/components/LoadingIndicator.d.ts +16 -0
  184. package/dist/cjs/client/components/MobileStackedLayout.d.ts +14 -0
  185. package/dist/cjs/client/components/Modal.d.ts +16 -0
  186. package/dist/cjs/client/components/PortletAnalysisModal.d.ts +27 -0
  187. package/dist/cjs/client/components/PortletContainer.d.ts +10 -0
  188. package/dist/cjs/client/components/PortletFilterConfigModal.d.ts +13 -0
  189. package/dist/cjs/client/components/RowManagedLayout.d.ts +19 -0
  190. package/dist/cjs/client/components/ScaledGridWrapper.d.ts +12 -0
  191. package/dist/cjs/client/components/SchemaVisualization/CubeNode.d.ts +25 -0
  192. package/dist/cjs/client/components/SchemaVisualization/FieldDetailPanel.d.ts +15 -0
  193. package/dist/cjs/client/components/SchemaVisualization/RelationshipEdge.d.ts +13 -0
  194. package/dist/cjs/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +3 -0
  195. package/dist/cjs/client/components/SchemaVisualization/index.d.ts +10 -0
  196. package/dist/cjs/client/components/SchemaVisualization/useERDLayout.d.ts +39 -0
  197. package/dist/cjs/client/components/SchemaVisualization/xyflowContext.d.ts +11 -0
  198. package/dist/cjs/client/components/TextPortletModal.d.ts +12 -0
  199. package/dist/cjs/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  200. package/dist/cjs/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  201. package/dist/cjs/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  202. package/dist/cjs/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  203. package/dist/cjs/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  204. package/dist/cjs/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  205. package/dist/cjs/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  206. package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  207. package/dist/cjs/client/components/charts/ActivityGridChart.config.d.ts +5 -0
  208. package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +4 -0
  209. package/dist/cjs/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  210. package/dist/cjs/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  211. package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +19 -0
  212. package/dist/cjs/client/components/charts/AreaChart.config.d.ts +5 -0
  213. package/dist/cjs/client/components/charts/AreaChart.d.ts +4 -0
  214. package/dist/cjs/client/components/charts/AxisFormatControls.d.ts +37 -0
  215. package/dist/cjs/client/components/charts/BarChart.config.d.ts +5 -0
  216. package/dist/cjs/client/components/charts/BarChart.d.ts +4 -0
  217. package/dist/cjs/client/components/charts/BarChart.helpers.d.ts +23 -0
  218. package/dist/cjs/client/components/charts/BarSeries.d.ts +29 -0
  219. package/dist/cjs/client/components/charts/BoxPlotChart.config.d.ts +5 -0
  220. package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +4 -0
  221. package/dist/cjs/client/components/charts/BubbleChart.config.d.ts +5 -0
  222. package/dist/cjs/client/components/charts/BubbleChart.d.ts +4 -0
  223. package/dist/cjs/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  224. package/dist/cjs/client/components/charts/BubbleChart.render.d.ts +21 -0
  225. package/dist/cjs/client/components/charts/CandlestickChart.config.d.ts +5 -0
  226. package/dist/cjs/client/components/charts/CandlestickChart.d.ts +4 -0
  227. package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -0
  228. package/dist/cjs/client/components/charts/ChartLegend.d.ts +7 -0
  229. package/dist/cjs/client/components/charts/ChartStates.d.ts +38 -0
  230. package/dist/cjs/client/components/charts/ChartTooltip.d.ts +7 -0
  231. package/dist/cjs/client/components/charts/DataTable.config.d.ts +5 -0
  232. package/dist/cjs/client/components/charts/DataTable.d.ts +4 -0
  233. package/dist/cjs/client/components/charts/FunnelChart.config.d.ts +9 -0
  234. package/dist/cjs/client/components/charts/FunnelChart.d.ts +11 -0
  235. package/dist/cjs/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  236. package/dist/cjs/client/components/charts/FunnelViews.d.ts +16 -0
  237. package/dist/cjs/client/components/charts/GaugeChart.config.d.ts +5 -0
  238. package/dist/cjs/client/components/charts/GaugeChart.d.ts +4 -0
  239. package/dist/cjs/client/components/charts/HeatMapCanvas.d.ts +25 -0
  240. package/dist/cjs/client/components/charts/HeatMapChart.config.d.ts +8 -0
  241. package/dist/cjs/client/components/charts/HeatMapChart.d.ts +10 -0
  242. package/dist/cjs/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  243. package/dist/cjs/client/components/charts/KpiDelta.config.d.ts +5 -0
  244. package/dist/cjs/client/components/charts/KpiDelta.d.ts +4 -0
  245. package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  246. package/dist/cjs/client/components/charts/KpiNumber.config.d.ts +5 -0
  247. package/dist/cjs/client/components/charts/KpiNumber.d.ts +4 -0
  248. package/dist/cjs/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  249. package/dist/cjs/client/components/charts/KpiStates.d.ts +19 -0
  250. package/dist/cjs/client/components/charts/KpiText.config.d.ts +5 -0
  251. package/dist/cjs/client/components/charts/KpiText.d.ts +4 -0
  252. package/dist/cjs/client/components/charts/LineChart.config.d.ts +5 -0
  253. package/dist/cjs/client/components/charts/LineChart.d.ts +4 -0
  254. package/dist/cjs/client/components/charts/MarkdownChart.config.d.ts +5 -0
  255. package/dist/cjs/client/components/charts/MarkdownChart.d.ts +4 -0
  256. package/dist/cjs/client/components/charts/MeasureProfileChart.config.d.ts +5 -0
  257. package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +4 -0
  258. package/dist/cjs/client/components/charts/MissingDependencyFallback.d.ts +12 -0
  259. package/dist/cjs/client/components/charts/PieChart.config.d.ts +5 -0
  260. package/dist/cjs/client/components/charts/PieChart.d.ts +4 -0
  261. package/dist/cjs/client/components/charts/RadarChart.config.d.ts +5 -0
  262. package/dist/cjs/client/components/charts/RadarChart.d.ts +4 -0
  263. package/dist/cjs/client/components/charts/RadialBarChart.config.d.ts +5 -0
  264. package/dist/cjs/client/components/charts/RadialBarChart.d.ts +4 -0
  265. package/dist/cjs/client/components/charts/RetentionCombinedChart.config.d.ts +2 -0
  266. package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +14 -0
  267. package/dist/cjs/client/components/charts/RetentionHeatmap.config.d.ts +2 -0
  268. package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +7 -0
  269. package/dist/cjs/client/components/charts/SankeyChart.config.d.ts +9 -0
  270. package/dist/cjs/client/components/charts/SankeyChart.d.ts +10 -0
  271. package/dist/cjs/client/components/charts/ScatterChart.config.d.ts +5 -0
  272. package/dist/cjs/client/components/charts/ScatterChart.d.ts +4 -0
  273. package/dist/cjs/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  274. package/dist/cjs/client/components/charts/ScatterSeries.d.ts +17 -0
  275. package/dist/cjs/client/components/charts/ScatterTooltip.d.ts +21 -0
  276. package/dist/cjs/client/components/charts/SunburstChart.config.d.ts +9 -0
  277. package/dist/cjs/client/components/charts/SunburstChart.d.ts +10 -0
  278. package/dist/cjs/client/components/charts/TreeMapChart.config.d.ts +5 -0
  279. package/dist/cjs/client/components/charts/TreeMapChart.d.ts +4 -0
  280. package/dist/cjs/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  281. package/dist/cjs/client/components/charts/TreeMapContent.d.ts +24 -0
  282. package/dist/cjs/client/components/charts/TreeMapLegend.d.ts +13 -0
  283. package/dist/cjs/client/components/charts/WaterfallChart.config.d.ts +5 -0
  284. package/dist/cjs/client/components/charts/WaterfallChart.d.ts +4 -0
  285. package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  286. package/dist/cjs/client/components/charts/chartAxisResolution.d.ts +32 -0
  287. package/dist/cjs/client/components/charts/chartScaffolding.d.ts +77 -0
  288. package/dist/cjs/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  289. package/dist/cjs/client/components/charts/index.d.ts +25 -0
  290. package/dist/cjs/client/components/charts/kpiTextHelpers.d.ts +46 -0
  291. package/dist/cjs/client/components/charts/radarChartHelpers.d.ts +14 -0
  292. package/dist/cjs/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  293. package/dist/cjs/client/components/charts/useChartDimensions.d.ts +20 -0
  294. package/dist/cjs/client/components/charts/useKpiDimensions.d.ts +30 -0
  295. package/dist/cjs/client/components/dashboard/DashboardContext.d.ts +113 -0
  296. package/dist/cjs/client/components/dashboard/DashboardCoordinator.d.ts +2 -0
  297. package/dist/cjs/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  298. package/dist/cjs/client/components/dashboard/DashboardFilterBar.d.ts +8 -0
  299. package/dist/cjs/client/components/dashboard/DashboardGridSurface.d.ts +8 -0
  300. package/dist/cjs/client/components/dashboard/DashboardModals.d.ts +8 -0
  301. package/dist/cjs/client/components/dashboard/DashboardProvider.d.ts +2 -0
  302. package/dist/cjs/client/components/dashboard/DashboardToolbar.d.ts +11 -0
  303. package/dist/cjs/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  304. package/dist/cjs/client/components/dashboard/dashboardGridUtils.d.ts +17 -0
  305. package/dist/cjs/client/components/dashboard/index.d.ts +13 -0
  306. package/dist/cjs/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  307. package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  308. package/dist/cjs/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  309. package/dist/cjs/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  310. package/dist/cjs/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  311. package/dist/cjs/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  312. package/dist/cjs/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  313. package/dist/cjs/client/components/shared/DateRangeFilter.d.ts +4 -0
  314. package/dist/cjs/client/components/shared/DateRangeSelector.d.ts +13 -0
  315. package/dist/cjs/client/components/shared/FilterBuilder.d.ts +4 -0
  316. package/dist/cjs/client/components/shared/FilterGroup.d.ts +4 -0
  317. package/dist/cjs/client/components/shared/FilterItem.d.ts +4 -0
  318. package/dist/cjs/client/components/shared/FilterValueSelector.d.ts +4 -0
  319. package/dist/cjs/client/components/shared/dateRangeUtils.d.ts +40 -0
  320. package/dist/cjs/client/components/shared/filterDisplayUtils.d.ts +10 -0
  321. package/dist/cjs/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  322. package/dist/cjs/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  323. package/dist/cjs/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  324. package/dist/cjs/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  325. package/dist/cjs/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  326. package/dist/cjs/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  327. package/dist/cjs/client/components/shared/queryFieldUtils.d.ts +21 -0
  328. package/dist/cjs/client/components/shared/types.d.ts +60 -0
  329. package/dist/cjs/client/components/shared/utils.d.ts +71 -0
  330. package/dist/cjs/client/components.d.ts +17 -0
  331. package/dist/cjs/client/hooks/agentChatStream.d.ts +39 -0
  332. package/dist/cjs/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  333. package/dist/cjs/client/hooks/dashboard/layoutUtils.d.ts +7 -0
  334. package/dist/cjs/client/hooks/dashboard/useDashboardController.d.ts +53 -0
  335. package/dist/cjs/client/hooks/dashboard/useGridLayoutEngine.d.ts +10 -0
  336. package/dist/cjs/client/hooks/dashboard/useRowLayoutEngine.d.ts +18 -0
  337. package/dist/cjs/client/hooks/drillNavigation.d.ts +25 -0
  338. package/dist/cjs/client/hooks/queries/index.d.ts +20 -0
  339. package/dist/cjs/client/hooks/queries/useCubeLoadQuery.d.ts +85 -0
  340. package/dist/cjs/client/hooks/queries/useCubeMetaQuery.d.ts +51 -0
  341. package/dist/cjs/client/hooks/queries/useDryRunQuery.d.ts +153 -0
  342. package/dist/cjs/client/hooks/queries/useExplainAI.d.ts +62 -0
  343. package/dist/cjs/client/hooks/queries/useExplainQuery.d.ts +62 -0
  344. package/dist/cjs/client/hooks/queries/useFlowQuery.d.ts +72 -0
  345. package/dist/cjs/client/hooks/queries/useFunnelQuery.d.ts +20 -0
  346. package/dist/cjs/client/hooks/queries/useMultiCubeLoadQuery.d.ts +70 -0
  347. package/dist/cjs/client/hooks/queries/useRetentionQuery.d.ts +67 -0
  348. package/dist/cjs/client/hooks/useAgentChat.d.ts +60 -0
  349. package/dist/cjs/client/hooks/useAnalysisAI.d.ts +56 -0
  350. package/dist/cjs/client/hooks/useAnalysisBuilderHook.d.ts +245 -0
  351. package/dist/cjs/client/hooks/useAnalysisChartDefaults.d.ts +35 -0
  352. package/dist/cjs/client/hooks/useAnalysisCombinedFields.d.ts +18 -0
  353. package/dist/cjs/client/hooks/useAnalysisInitialization.d.ts +25 -0
  354. package/dist/cjs/client/hooks/useAnalysisQueryBuilder.d.ts +32 -0
  355. package/dist/cjs/client/hooks/useAnalysisQueryExecution.d.ts +144 -0
  356. package/dist/cjs/client/hooks/useAnalysisShare.d.ts +18 -0
  357. package/dist/cjs/client/hooks/useAnalysisUIState.d.ts +24 -0
  358. package/dist/cjs/client/hooks/useCubeFieldLabel.d.ts +16 -0
  359. package/dist/cjs/client/hooks/useDashboardHook.d.ts +123 -0
  360. package/dist/cjs/client/hooks/useDataBrowser.d.ts +67 -0
  361. package/dist/cjs/client/hooks/useDebounce.d.ts +12 -0
  362. package/dist/cjs/client/hooks/useDebounceQuery.d.ts +48 -0
  363. package/dist/cjs/client/hooks/useDirtyStateTracking.d.ts +37 -0
  364. package/dist/cjs/client/hooks/useDragAutoScroll.d.ts +18 -0
  365. package/dist/cjs/client/hooks/useDrillInteraction.d.ts +9 -0
  366. package/dist/cjs/client/hooks/useElementVisibility.d.ts +30 -0
  367. package/dist/cjs/client/hooks/useFilterValues.d.ts +19 -0
  368. package/dist/cjs/client/hooks/useNotebookLayout.d.ts +8 -0
  369. package/dist/cjs/client/hooks/useResponsiveDashboard.d.ts +16 -0
  370. package/dist/cjs/client/hooks/useScrollDetection.d.ts +29 -0
  371. package/dist/cjs/client/hooks/useTheme.d.ts +11 -0
  372. package/dist/cjs/client/hooks/useTranslation.d.ts +21 -0
  373. package/dist/cjs/client/hooks.d.ts +17 -0
  374. package/dist/cjs/client/icons/customIcons.d.ts +22 -0
  375. package/dist/cjs/client/icons/defaultIcons.d.ts +5 -0
  376. package/dist/cjs/client/icons/index.d.ts +22 -0
  377. package/dist/cjs/client/icons/registry.d.ts +64 -0
  378. package/dist/cjs/client/icons/types.d.ts +129 -0
  379. package/dist/cjs/client/icons.d.ts +2 -0
  380. package/dist/cjs/client/index.d.ts +76 -0
  381. package/dist/cjs/client/providers/CubeApiProvider.d.ts +24 -0
  382. package/dist/cjs/client/providers/CubeFeaturesProvider.d.ts +19 -0
  383. package/dist/cjs/client/providers/CubeMetaContext.d.ts +11 -0
  384. package/dist/cjs/client/providers/CubeMetaProvider.d.ts +6 -0
  385. package/dist/cjs/client/providers/CubeProvider.d.ts +70 -0
  386. package/dist/cjs/client/providers/I18nProvider.d.ts +18 -0
  387. package/dist/cjs/client/providers/ScrollContainerContext.d.ts +19 -0
  388. package/dist/cjs/client/providers.d.ts +10 -0
  389. package/dist/cjs/client/schema.d.ts +13 -0
  390. package/dist/cjs/client/shared/chartConfigBuilders.d.ts +18 -0
  391. package/dist/cjs/client/shared/chartDefaults.d.ts +59 -0
  392. package/dist/cjs/client/shared/components/CodeBlock.d.ts +13 -0
  393. package/dist/cjs/client/shared/components/QueryAnalysisPanel.d.ts +7 -0
  394. package/dist/cjs/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  395. package/dist/cjs/client/shared/index.d.ts +11 -0
  396. package/dist/cjs/client/shared/queryKey.d.ts +1 -0
  397. package/dist/cjs/client/shared/queryTransforms.d.ts +20 -0
  398. package/dist/cjs/client/shared/types.d.ts +184 -0
  399. package/dist/cjs/client/shared/utils.d.ts +104 -0
  400. package/dist/cjs/client/stores/analysisBuilderStore.d.ts +578 -0
  401. package/dist/cjs/client/stores/dashboardStore.d.ts +292 -0
  402. package/dist/cjs/client/stores/dataBrowserStore.d.ts +34 -0
  403. package/dist/cjs/client/stores/index.d.ts +13 -0
  404. package/dist/cjs/client/stores/notebookStore.d.ts +157 -0
  405. package/dist/cjs/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  406. package/dist/cjs/client/stores/slices/coreSlice.d.ts +96 -0
  407. package/dist/cjs/client/stores/slices/flowSlice.d.ts +69 -0
  408. package/dist/cjs/client/stores/slices/funnelSlice.d.ts +61 -0
  409. package/dist/cjs/client/stores/slices/index.d.ts +13 -0
  410. package/dist/cjs/client/stores/slices/querySlice.d.ts +55 -0
  411. package/dist/cjs/client/stores/slices/retentionSlice.d.ts +66 -0
  412. package/dist/cjs/client/stores/slices/uiSlice.d.ts +52 -0
  413. package/dist/cjs/client/theme/index.d.ts +135 -0
  414. package/dist/cjs/client/types/analysisConfig.d.ts +185 -0
  415. package/dist/cjs/client/types/drill.d.ts +240 -0
  416. package/dist/cjs/client/types/flow.d.ts +191 -0
  417. package/dist/cjs/client/types/funnel.d.ts +288 -0
  418. package/dist/cjs/client/types/retention.d.ts +301 -0
  419. package/dist/cjs/client/types.d.ts +600 -0
  420. package/dist/cjs/client/utils/axisValueFormatting.d.ts +32 -0
  421. package/dist/cjs/client/utils/chartConstants.d.ts +16 -0
  422. package/dist/cjs/client/utils/chartUtils.d.ts +35 -0
  423. package/dist/cjs/client/utils/colorPalettes.d.ts +35 -0
  424. package/dist/cjs/client/utils/comparisonUtils.d.ts +96 -0
  425. package/dist/cjs/client/utils/configMigration.d.ts +85 -0
  426. package/dist/cjs/client/utils/drillQueryBuilder.d.ts +41 -0
  427. package/dist/cjs/client/utils/exportXlsx.d.ts +20 -0
  428. package/dist/cjs/client/utils/filterUtils.d.ts +113 -0
  429. package/dist/cjs/client/utils/funnelExecution.d.ts +211 -0
  430. package/dist/cjs/client/utils/funnelValidation.d.ts +46 -0
  431. package/dist/cjs/client/utils/index.d.ts +94 -0
  432. package/dist/cjs/client/utils/joinReachability.d.ts +27 -0
  433. package/dist/cjs/client/utils/measureIcons.d.ts +11 -0
  434. package/dist/cjs/client/utils/multiQueryUtils.d.ts +86 -0
  435. package/dist/cjs/client/utils/multiQueryValidation.d.ts +69 -0
  436. package/dist/cjs/client/utils/periodUtils.d.ts +40 -0
  437. package/dist/cjs/client/utils/pivotUtils.d.ts +87 -0
  438. package/dist/cjs/client/utils/shareUtils.d.ts +61 -0
  439. package/dist/cjs/client/utils/syntaxHighlighting.d.ts +36 -0
  440. package/dist/cjs/client/utils/targetUtils.d.ts +36 -0
  441. package/dist/cjs/client/utils/thumbnail.d.ts +36 -0
  442. package/dist/cjs/client/utils/timeValueFormatting.d.ts +32 -0
  443. package/dist/cjs/client/utils.d.ts +8 -0
  444. package/dist/cjs/package.json +3 -0
  445. package/dist/{server → cjs}/server/adapters/base-adapter.d.ts +1 -1
  446. package/dist/{server → cjs}/server/adapters/databend-adapter.d.ts +2 -2
  447. package/dist/{server → cjs}/server/adapters/duckdb-adapter.d.ts +2 -2
  448. package/dist/{server → cjs}/server/adapters/mysql-adapter.d.ts +2 -2
  449. package/dist/{server → cjs}/server/adapters/postgres-adapter.d.ts +2 -2
  450. package/dist/{server → cjs}/server/adapters/singlestore-adapter.d.ts +1 -1
  451. package/dist/{server → cjs}/server/adapters/snowflake-adapter.d.ts +2 -2
  452. package/dist/{server → cjs}/server/adapters/sqlite-adapter.d.ts +2 -2
  453. package/dist/{server → cjs}/server/adapters/window-function-builder.d.ts +1 -1
  454. package/dist/{server → cjs}/server/agent/handler-steps.d.ts +3 -3
  455. package/dist/{server → cjs}/server/agent/handler.d.ts +3 -3
  456. package/dist/cjs/server/agent/index.d.ts +11 -0
  457. package/dist/{server → cjs}/server/agent/providers/anthropic.d.ts +1 -1
  458. package/dist/{server → cjs}/server/agent/providers/factory.d.ts +1 -1
  459. package/dist/{server → cjs}/server/agent/providers/google.d.ts +1 -1
  460. package/dist/cjs/server/agent/providers/index.d.ts +6 -0
  461. package/dist/{server → cjs}/server/agent/providers/openai.d.ts +1 -1
  462. package/dist/{server → cjs}/server/agent/system-prompt.d.ts +1 -1
  463. package/dist/{server → cjs}/server/agent/tools.d.ts +4 -4
  464. package/dist/{server → cjs}/server/agent/types.d.ts +1 -1
  465. package/dist/{server → cjs}/server/ai/discovery-helpers.d.ts +1 -1
  466. package/dist/{server → cjs}/server/ai/discovery.d.ts +2 -2
  467. package/dist/{server → cjs}/server/ai/index.d.ts +6 -6
  468. package/dist/{server → cjs}/server/ai/suggestion-helpers.d.ts +1 -1
  469. package/dist/{server → cjs}/server/ai/suggestion.d.ts +2 -2
  470. package/dist/{server → cjs}/server/ai/validation-helpers.d.ts +4 -4
  471. package/dist/{server → cjs}/server/ai/validation.d.ts +2 -2
  472. package/dist/{server → cjs}/server/builders/analysis-utils.d.ts +1 -1
  473. package/dist/{server → cjs}/server/builders/comparison-query-builder.d.ts +2 -2
  474. package/dist/{server → cjs}/server/builders/cte-builder.d.ts +2 -2
  475. package/dist/{server → cjs}/server/builders/date-time-builder.d.ts +2 -2
  476. package/dist/{server → cjs}/server/builders/date-time-helpers.d.ts +1 -1
  477. package/dist/{server → cjs}/server/builders/filter-builder.d.ts +3 -3
  478. package/dist/{server → cjs}/server/builders/filter-operators.d.ts +3 -3
  479. package/dist/{server → cjs}/server/builders/flow-query-builder.d.ts +4 -4
  480. package/dist/{server → cjs}/server/builders/funnel-query-builder.d.ts +3 -3
  481. package/dist/{server → cjs}/server/builders/group-by-builder.d.ts +2 -2
  482. package/dist/cjs/server/builders/index.d.ts +13 -0
  483. package/dist/{server → cjs}/server/builders/measure-builder.d.ts +3 -3
  484. package/dist/{server → cjs}/server/builders/retention-query-builder.d.ts +3 -3
  485. package/dist/cjs/server/cache-providers/index.d.ts +5 -0
  486. package/dist/{server → cjs}/server/cache-providers/memory.d.ts +1 -1
  487. package/dist/{server → cjs}/server/cache-utils.d.ts +1 -1
  488. package/dist/{server → cjs}/server/compiler-metadata.d.ts +1 -1
  489. package/dist/{server → cjs}/server/compiler.d.ts +3 -3
  490. package/dist/{server → cjs}/server/cube-utils.d.ts +1 -1
  491. package/dist/{server → cjs}/server/database-utils.d.ts +1 -1
  492. package/dist/{server → cjs}/server/execution/annotation-builder.d.ts +1 -1
  493. package/dist/{server → cjs}/server/execution/filter-cache-preloader.d.ts +3 -3
  494. package/dist/{server → cjs}/server/execution/mode-router.d.ts +5 -5
  495. package/dist/{server → cjs}/server/execution/query-result-cache.d.ts +1 -1
  496. package/dist/{server → cjs}/server/execution/result-post-processor.d.ts +2 -2
  497. package/dist/{server → cjs}/server/executor.d.ts +3 -3
  498. package/dist/{server → cjs}/server/executors/base-executor.d.ts +2 -2
  499. package/dist/{server → cjs}/server/executors/databend-executor.d.ts +2 -2
  500. package/dist/{server → cjs}/server/executors/duckdb-executor.d.ts +2 -2
  501. package/dist/{server → cjs}/server/executors/index.d.ts +9 -9
  502. package/dist/{server → cjs}/server/executors/mysql-executor.d.ts +2 -2
  503. package/dist/{server → cjs}/server/executors/postgres-executor.d.ts +2 -2
  504. package/dist/{server → cjs}/server/executors/singlestore-executor.d.ts +2 -2
  505. package/dist/{server → cjs}/server/executors/snowflake-executor.d.ts +2 -2
  506. package/dist/{server → cjs}/server/executors/sqlite-executor.d.ts +2 -2
  507. package/dist/{server → cjs}/server/explain/databend-parser.d.ts +1 -1
  508. package/dist/{server → cjs}/server/explain/duckdb-parser.d.ts +1 -1
  509. package/dist/{server → cjs}/server/explain/explain-tree.d.ts +1 -1
  510. package/dist/cjs/server/explain/index.d.ts +9 -0
  511. package/dist/{server → cjs}/server/explain/mysql-parser.d.ts +1 -1
  512. package/dist/{server → cjs}/server/explain/postgres-parser.d.ts +1 -1
  513. package/dist/{server → cjs}/server/explain/snowflake-parser.d.ts +1 -1
  514. package/dist/{server → cjs}/server/explain/sqlite-parser.d.ts +1 -1
  515. package/dist/{server → cjs}/server/filter-cache.d.ts +1 -1
  516. package/dist/{server → cjs}/server/gap-filler.d.ts +2 -2
  517. package/dist/{server → cjs}/server/index.d.ts +25 -25
  518. package/dist/{server → cjs}/server/logical-plan/cte-planner-helpers.d.ts +1 -1
  519. package/dist/{server → cjs}/server/logical-plan/cte-planner.d.ts +4 -4
  520. package/dist/{server → cjs}/server/logical-plan/filter-propagation.d.ts +1 -1
  521. package/dist/{server → cjs}/server/logical-plan/index.d.ts +11 -11
  522. package/dist/{server → cjs}/server/logical-plan/join-planner.d.ts +3 -3
  523. package/dist/{server → cjs}/server/logical-plan/logical-plan-builder.d.ts +5 -5
  524. package/dist/{server → cjs}/server/logical-plan/logical-planner.d.ts +2 -2
  525. package/dist/{server → cjs}/server/logical-plan/optimiser.d.ts +1 -1
  526. package/dist/{server → cjs}/server/logical-plan/plan-analysis-reporter.d.ts +2 -2
  527. package/dist/{server → cjs}/server/logical-plan/planner-utils.d.ts +2 -2
  528. package/dist/{server → cjs}/server/logical-plan/types.d.ts +3 -3
  529. package/dist/{server → cjs}/server/measure-classification.d.ts +1 -1
  530. package/dist/{server → cjs}/server/physical-plan/drizzle-plan-builder.d.ts +5 -5
  531. package/dist/{server → cjs}/server/physical-plan/drizzle-sql-builder.d.ts +3 -3
  532. package/dist/cjs/server/physical-plan/index.d.ts +2 -0
  533. package/dist/{server → cjs}/server/physical-plan/processors/cte-processor.d.ts +2 -2
  534. package/dist/cjs/server/physical-plan/processors/index.d.ts +8 -0
  535. package/dist/{server → cjs}/server/physical-plan/processors/joins-processor.d.ts +2 -2
  536. package/dist/{server → cjs}/server/physical-plan/processors/keys-dedup-processor.d.ts +2 -2
  537. package/dist/{server → cjs}/server/physical-plan/processors/multi-fact-processor.d.ts +2 -2
  538. package/dist/{server → cjs}/server/physical-plan/processors/predicates-processor.d.ts +2 -2
  539. package/dist/{server → cjs}/server/physical-plan/processors/selection-processor.d.ts +2 -2
  540. package/dist/{server → cjs}/server/physical-plan/processors/shared.d.ts +4 -4
  541. package/dist/{server → cjs}/server/physical-plan/processors/window-processor.d.ts +2 -2
  542. package/dist/{server → cjs}/server/query-handlers.d.ts +3 -3
  543. package/dist/{server → cjs}/server/query-modes.d.ts +1 -1
  544. package/dist/{server → cjs}/server/query-validator.d.ts +1 -1
  545. package/dist/{server → cjs}/server/resolvers/calculated-measure-resolver.d.ts +1 -1
  546. package/dist/{server → cjs}/server/resolvers/index.d.ts +2 -2
  547. package/dist/{server → cjs}/server/resolvers/join-path-resolver.d.ts +1 -1
  548. package/dist/{server → cjs}/server/template-substitution.d.ts +1 -1
  549. package/dist/{server → cjs}/server/types/cache.d.ts +1 -1
  550. package/dist/{server → cjs}/server/types/cube.d.ts +4 -4
  551. package/dist/{server → cjs}/server/types/executor.d.ts +2 -2
  552. package/dist/{server → cjs}/server/types/flow.d.ts +2 -2
  553. package/dist/{server → cjs}/server/types/funnel.d.ts +1 -1
  554. package/dist/cjs/server/types/index.d.ts +11 -0
  555. package/dist/{server → cjs}/server/types/metadata.d.ts +1 -1
  556. package/dist/{server → cjs}/server/types/query.d.ts +4 -4
  557. package/dist/{server → cjs}/server/types/retention.d.ts +1 -1
  558. package/dist/{server → cjs}/server/types/utils.d.ts +1 -1
  559. package/dist/cli/index.cjs +2 -2
  560. package/dist/client/adapters/adapterRegistry.d.ts +2 -2
  561. package/dist/client/adapters/flowModeAdapter.d.ts +2 -2
  562. package/dist/client/adapters/funnelModeAdapter.d.ts +2 -2
  563. package/dist/client/adapters/index.d.ts +9 -9
  564. package/dist/client/adapters/modeAdapter.d.ts +1 -1
  565. package/dist/client/adapters/queryModeAdapter.d.ts +3 -3
  566. package/dist/client/adapters/retentionModeAdapter.d.ts +2 -2
  567. package/dist/client/charts/ChartLoader.d.ts +2 -2
  568. package/dist/client/charts/chartComponentRegistry.d.ts +1 -1
  569. package/dist/client/charts/chartConfigHelpers.d.ts +1 -1
  570. package/dist/client/charts/chartConfigRegistry.d.ts +1 -1
  571. package/dist/client/charts/chartPlugin.d.ts +3 -3
  572. package/dist/client/charts/lazyChartConfigRegistry.d.ts +2 -2
  573. package/dist/client/charts.d.ts +8 -8
  574. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -1
  575. package/dist/client/chunks/RetentionCombinedChart-BgbDhsPz.js.map +1 -1
  576. package/dist/client/chunks/RetentionHeatmap-DjXZaTPq.js.map +1 -1
  577. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -1
  578. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -1
  579. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -1
  580. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -1
  581. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -1
  582. package/dist/client/chunks/chart-box-plot-kkBixZ27.js.map +1 -1
  583. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -1
  584. package/dist/client/chunks/chart-candlestick-DZp19Tzh.js.map +1 -1
  585. package/dist/client/chunks/chart-config-activity-grid-D_UX4NHC.js.map +1 -1
  586. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -1
  587. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -1
  588. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -1
  589. package/dist/client/chunks/chart-config-bubble-gIoqVyjZ.js.map +1 -1
  590. package/dist/client/chunks/chart-config-candlestick-N6DchAA3.js.map +1 -1
  591. package/dist/client/chunks/chart-config-data-table-d7VBY-y_.js.map +1 -1
  592. package/dist/client/chunks/chart-config-funnel-DEYMcxsD.js.map +1 -1
  593. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -1
  594. package/dist/client/chunks/chart-config-heat-map-CfRnRNcw.js.map +1 -1
  595. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -1
  596. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -1
  597. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -1
  598. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -1
  599. package/dist/client/chunks/chart-config-markdown-BtRIe8JN.js.map +1 -1
  600. package/dist/client/chunks/chart-config-measure-profile-DxRGa-zf.js.map +1 -1
  601. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -1
  602. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -1
  603. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -1
  604. package/dist/client/chunks/chart-config-sankey-BTnWA7EW.js.map +1 -1
  605. package/dist/client/chunks/chart-config-scatter-DSYTjwRb.js.map +1 -1
  606. package/dist/client/chunks/chart-config-sunburst-Bwjtdf7X.js.map +1 -1
  607. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -1
  608. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -1
  609. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -1
  610. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -1
  611. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -1
  612. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -1
  613. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -1
  614. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -1
  615. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -1
  616. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -1
  617. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +1 -1
  618. package/dist/client/chunks/chart-measure-profile-Ket8fJyf.js.map +1 -1
  619. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -1
  620. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -1
  621. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -1
  622. package/dist/client/chunks/chart-sankey-DjrvKw6K.js.map +1 -1
  623. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -1
  624. package/dist/client/chunks/chart-sunburst-leGpuDj7.js.map +1 -1
  625. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -1
  626. package/dist/client/chunks/chart-waterfall-DyvQReN5.js.map +1 -1
  627. package/dist/client/chunks/charts-core-DaXSt1Dd.js.map +1 -1
  628. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -1
  629. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  630. package/dist/client/chunks/schema-visualization-Cb_E9_Gd.js.map +1 -1
  631. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -1
  632. package/dist/client/chunks/useExplainAI-evnZkjCY.js.map +1 -1
  633. package/dist/client/chunks/utils-3P6z1vz5.js.map +1 -1
  634. package/dist/client/client/BatchCoordinator.d.ts +1 -1
  635. package/dist/client/client/CubeClient.d.ts +1 -1
  636. package/dist/client/components/AIAssistant/index.d.ts +3 -3
  637. package/dist/client/components/AIAssistant/utils.d.ts +1 -1
  638. package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  639. package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +1 -1
  640. package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  641. package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +2 -2
  642. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +1 -1
  643. package/dist/client/components/AgenticNotebook/index.d.ts +2 -2
  644. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +1 -1
  645. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +1 -1
  646. package/dist/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +1 -1
  647. package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +4 -4
  648. package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +1 -1
  649. package/dist/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +2 -2
  650. package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +2 -2
  651. package/dist/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +2 -2
  652. package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +1 -1
  653. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  654. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +3 -3
  655. package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  656. package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  657. package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  658. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +2 -2
  659. package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  660. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +2 -2
  661. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  662. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +1 -1
  663. package/dist/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +1 -1
  664. package/dist/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +1 -1
  665. package/dist/client/components/AnalysisBuilder/FieldSearchItem.d.ts +1 -1
  666. package/dist/client/components/AnalysisBuilder/FieldSearchModal.d.ts +1 -1
  667. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +2 -2
  668. package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +2 -2
  669. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +2 -2
  670. package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  671. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  672. package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +3 -3
  673. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  674. package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  675. package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  676. package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +2 -2
  677. package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  678. package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  679. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  680. package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  681. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +2 -2
  682. package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  683. package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  684. package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +3 -3
  685. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +2 -2
  686. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +2 -2
  687. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +1 -1
  688. package/dist/client/components/AnalysisBuilder/index.d.ts +1 -1
  689. package/dist/client/components/AnalysisBuilder/types.d.ts +28 -28
  690. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +1 -1
  691. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +2 -2
  692. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +2 -2
  693. package/dist/client/components/AnalysisBuilder/utils/filterUtils.d.ts +1 -1
  694. package/dist/client/components/AnalysisBuilder/utils/index.d.ts +6 -6
  695. package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +2 -2
  696. package/dist/client/components/AnalysisBuilder/utils/recentFieldsUtils.d.ts +2 -2
  697. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +16 -16
  698. package/dist/client/components/AnalysisBuilder/utils/storageUtils.d.ts +2 -2
  699. package/dist/client/components/AnalysisBuilderLazy.d.ts +1 -1
  700. package/dist/client/components/AnalyticsDashboard.d.ts +1 -1
  701. package/dist/client/components/AnalyticsPortlet.d.ts +1 -1
  702. package/dist/client/components/ChartTypeSelector.d.ts +2 -2
  703. package/dist/client/components/DashboardFilterPanel.d.ts +1 -1
  704. package/dist/client/components/DashboardFilters/CompactFilterBar.d.ts +1 -1
  705. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +1 -1
  706. package/dist/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +2 -2
  707. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +2 -2
  708. package/dist/client/components/DashboardFilters/DashboardFilterItem.d.ts +2 -2
  709. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +2 -2
  710. package/dist/client/components/DashboardFilters/EditModeFilterList.d.ts +1 -1
  711. package/dist/client/components/DashboardFilters/FilterChip.d.ts +1 -1
  712. package/dist/client/components/DashboardFilters/FilterEditModal.d.ts +2 -2
  713. package/dist/client/components/DashboardFilters/FilterValuePopover.d.ts +1 -1
  714. package/dist/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +2 -2
  715. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +2 -2
  716. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +1 -1
  717. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +6 -6
  718. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +2 -2
  719. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +1 -1
  720. package/dist/client/components/DashboardGrid.d.ts +2 -2
  721. package/dist/client/components/DashboardPortletCard.d.ts +1 -1
  722. package/dist/client/components/DebugModal.d.ts +2 -2
  723. package/dist/client/components/DrillBreadcrumb.d.ts +1 -1
  724. package/dist/client/components/DrillMenu.d.ts +1 -1
  725. package/dist/client/components/FloatingEditToolbar.d.ts +1 -1
  726. package/dist/client/components/MobileStackedLayout.d.ts +2 -2
  727. package/dist/client/components/PortletAnalysisModal.d.ts +1 -1
  728. package/dist/client/components/PortletContainer.d.ts +1 -1
  729. package/dist/client/components/PortletFilterConfigModal.d.ts +1 -1
  730. package/dist/client/components/RowManagedLayout.d.ts +1 -1
  731. package/dist/client/components/SchemaVisualization/CubeNode.d.ts +1 -1
  732. package/dist/client/components/SchemaVisualization/FieldDetailPanel.d.ts +1 -1
  733. package/dist/client/components/SchemaVisualization/RelationshipEdge.d.ts +1 -1
  734. package/dist/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +1 -1
  735. package/dist/client/components/TextPortletModal.d.ts +2 -2
  736. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +4 -4
  737. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +5 -5
  738. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +2 -2
  739. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +3 -3
  740. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +3 -3
  741. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +4 -4
  742. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +2 -2
  743. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +4 -4
  744. package/dist/client/components/charts/ActivityGridChart.config.d.ts +1 -1
  745. package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
  746. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +1 -1
  747. package/dist/client/components/charts/ActivityGridChart.render.d.ts +3 -3
  748. package/dist/client/components/charts/AreaChart.config.d.ts +1 -1
  749. package/dist/client/components/charts/AreaChart.d.ts +1 -1
  750. package/dist/client/components/charts/AxisFormatControls.d.ts +1 -1
  751. package/dist/client/components/charts/BarChart.config.d.ts +1 -1
  752. package/dist/client/components/charts/BarChart.d.ts +1 -1
  753. package/dist/client/components/charts/BarChart.helpers.d.ts +1 -1
  754. package/dist/client/components/charts/BarSeries.d.ts +2 -2
  755. package/dist/client/components/charts/BoxPlotChart.config.d.ts +1 -1
  756. package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
  757. package/dist/client/components/charts/BubbleChart.config.d.ts +1 -1
  758. package/dist/client/components/charts/BubbleChart.d.ts +1 -1
  759. package/dist/client/components/charts/BubbleChart.helpers.d.ts +1 -1
  760. package/dist/client/components/charts/BubbleChart.render.d.ts +2 -2
  761. package/dist/client/components/charts/CandlestickChart.config.d.ts +1 -1
  762. package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
  763. package/dist/client/components/charts/DataTable.config.d.ts +1 -1
  764. package/dist/client/components/charts/DataTable.d.ts +1 -1
  765. package/dist/client/components/charts/FunnelChart.config.d.ts +1 -1
  766. package/dist/client/components/charts/FunnelChart.d.ts +1 -1
  767. package/dist/client/components/charts/FunnelChart.helpers.d.ts +2 -2
  768. package/dist/client/components/charts/FunnelViews.d.ts +2 -2
  769. package/dist/client/components/charts/GaugeChart.config.d.ts +1 -1
  770. package/dist/client/components/charts/GaugeChart.d.ts +1 -1
  771. package/dist/client/components/charts/HeatMapCanvas.d.ts +1 -1
  772. package/dist/client/components/charts/HeatMapChart.config.d.ts +1 -1
  773. package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
  774. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +1 -1
  775. package/dist/client/components/charts/KpiDelta.config.d.ts +1 -1
  776. package/dist/client/components/charts/KpiDelta.d.ts +1 -1
  777. package/dist/client/components/charts/KpiDelta.helpers.d.ts +1 -1
  778. package/dist/client/components/charts/KpiNumber.config.d.ts +1 -1
  779. package/dist/client/components/charts/KpiNumber.d.ts +1 -1
  780. package/dist/client/components/charts/KpiNumber.helpers.d.ts +1 -1
  781. package/dist/client/components/charts/KpiText.config.d.ts +1 -1
  782. package/dist/client/components/charts/KpiText.d.ts +1 -1
  783. package/dist/client/components/charts/LineChart.config.d.ts +1 -1
  784. package/dist/client/components/charts/LineChart.d.ts +1 -1
  785. package/dist/client/components/charts/MarkdownChart.config.d.ts +1 -1
  786. package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
  787. package/dist/client/components/charts/MeasureProfileChart.config.d.ts +1 -1
  788. package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
  789. package/dist/client/components/charts/PieChart.config.d.ts +1 -1
  790. package/dist/client/components/charts/PieChart.d.ts +1 -1
  791. package/dist/client/components/charts/RadarChart.config.d.ts +1 -1
  792. package/dist/client/components/charts/RadarChart.d.ts +1 -1
  793. package/dist/client/components/charts/RadialBarChart.config.d.ts +1 -1
  794. package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
  795. package/dist/client/components/charts/RetentionCombinedChart.config.d.ts +1 -1
  796. package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  797. package/dist/client/components/charts/RetentionHeatmap.config.d.ts +1 -1
  798. package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
  799. package/dist/client/components/charts/SankeyChart.config.d.ts +1 -1
  800. package/dist/client/components/charts/SankeyChart.d.ts +1 -1
  801. package/dist/client/components/charts/ScatterChart.config.d.ts +1 -1
  802. package/dist/client/components/charts/ScatterChart.d.ts +1 -1
  803. package/dist/client/components/charts/ScatterChart.helpers.d.ts +2 -2
  804. package/dist/client/components/charts/ScatterSeries.d.ts +2 -2
  805. package/dist/client/components/charts/ScatterTooltip.d.ts +2 -2
  806. package/dist/client/components/charts/SunburstChart.config.d.ts +1 -1
  807. package/dist/client/components/charts/SunburstChart.d.ts +1 -1
  808. package/dist/client/components/charts/TreeMapChart.config.d.ts +1 -1
  809. package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
  810. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +1 -1
  811. package/dist/client/components/charts/TreeMapContent.d.ts +3 -3
  812. package/dist/client/components/charts/TreeMapLegend.d.ts +2 -2
  813. package/dist/client/components/charts/WaterfallChart.config.d.ts +1 -1
  814. package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
  815. package/dist/client/components/charts/cartesianChartHelpers.d.ts +1 -1
  816. package/dist/client/components/charts/chartAxisResolution.d.ts +1 -1
  817. package/dist/client/components/charts/chartScaffolding.d.ts +1 -1
  818. package/dist/client/components/charts/gaugeChartHelpers.d.ts +1 -1
  819. package/dist/client/components/charts/index.d.ts +21 -21
  820. package/dist/client/components/charts/kpiTextHelpers.d.ts +1 -1
  821. package/dist/client/components/charts/radialBarChartHelpers.d.ts +1 -1
  822. package/dist/client/components/dashboard/DashboardContext.d.ts +6 -6
  823. package/dist/client/components/dashboard/DashboardCoordinator.d.ts +1 -1
  824. package/dist/client/components/dashboard/DashboardProvider.d.ts +1 -1
  825. package/dist/client/components/dashboard/dashboardGridUtils.d.ts +1 -1
  826. package/dist/client/components/dashboard/index.d.ts +7 -7
  827. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +1 -1
  828. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -2
  829. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +1 -1
  830. package/dist/client/components/dashboardPortletCard/filterField.d.ts +1 -1
  831. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +2 -2
  832. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +1 -1
  833. package/dist/client/components/shared/DateRangeFilter.d.ts +1 -1
  834. package/dist/client/components/shared/FilterBuilder.d.ts +1 -1
  835. package/dist/client/components/shared/FilterGroup.d.ts +1 -1
  836. package/dist/client/components/shared/FilterItem.d.ts +1 -1
  837. package/dist/client/components/shared/FilterValueSelector.d.ts +1 -1
  838. package/dist/client/components/shared/dateRangeUtils.d.ts +1 -1
  839. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +1 -1
  840. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +1 -1
  841. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +1 -1
  842. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +1 -1
  843. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +2 -2
  844. package/dist/client/components/shared/queryFieldUtils.d.ts +2 -2
  845. package/dist/client/components/shared/types.d.ts +8 -8
  846. package/dist/client/components/shared/utils.d.ts +7 -7
  847. package/dist/client/components.d.ts +11 -11
  848. package/dist/client/hooks/agentChatStream.d.ts +1 -1
  849. package/dist/client/hooks/dashboard/layoutUtils.d.ts +1 -1
  850. package/dist/client/hooks/dashboard/useDashboardController.d.ts +2 -2
  851. package/dist/client/hooks/dashboard/useGridLayoutEngine.d.ts +1 -1
  852. package/dist/client/hooks/dashboard/useRowLayoutEngine.d.ts +1 -1
  853. package/dist/client/hooks/drillNavigation.d.ts +2 -2
  854. package/dist/client/hooks/queries/index.d.ts +9 -9
  855. package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +2 -2
  856. package/dist/client/hooks/queries/useCubeMetaQuery.d.ts +2 -2
  857. package/dist/client/hooks/queries/useDryRunQuery.d.ts +2 -2
  858. package/dist/client/hooks/queries/useExplainAI.d.ts +1 -1
  859. package/dist/client/hooks/queries/useExplainQuery.d.ts +1 -1
  860. package/dist/client/hooks/queries/useFlowQuery.d.ts +1 -1
  861. package/dist/client/hooks/queries/useFunnelQuery.d.ts +1 -1
  862. package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +1 -1
  863. package/dist/client/hooks/queries/useRetentionQuery.d.ts +1 -1
  864. package/dist/client/hooks/useAgentChat.d.ts +1 -1
  865. package/dist/client/hooks/useAnalysisAI.d.ts +4 -4
  866. package/dist/client/hooks/useAnalysisBuilderHook.d.ts +27 -27
  867. package/dist/client/hooks/useAnalysisChartDefaults.d.ts +4 -4
  868. package/dist/client/hooks/useAnalysisCombinedFields.d.ts +2 -2
  869. package/dist/client/hooks/useAnalysisInitialization.d.ts +1 -1
  870. package/dist/client/hooks/useAnalysisQueryBuilder.d.ts +3 -3
  871. package/dist/client/hooks/useAnalysisQueryExecution.d.ts +7 -7
  872. package/dist/client/hooks/useAnalysisShare.d.ts +1 -1
  873. package/dist/client/hooks/useAnalysisUIState.d.ts +2 -2
  874. package/dist/client/hooks/useDashboardHook.d.ts +2 -2
  875. package/dist/client/hooks/useDataBrowser.d.ts +5 -5
  876. package/dist/client/hooks/useDrillInteraction.d.ts +1 -1
  877. package/dist/client/hooks/useTheme.d.ts +1 -1
  878. package/dist/client/hooks/useTranslation.d.ts +1 -1
  879. package/dist/client/hooks.d.ts +11 -11
  880. package/dist/client/icons/defaultIcons.d.ts +1 -1
  881. package/dist/client/icons/index.d.ts +3 -3
  882. package/dist/client/icons/registry.d.ts +1 -1
  883. package/dist/client/index.d.ts +74 -74
  884. package/dist/client/index.js.map +1 -1
  885. package/dist/client/providers/CubeApiProvider.d.ts +3 -3
  886. package/dist/client/providers/CubeFeaturesProvider.d.ts +1 -1
  887. package/dist/client/providers/CubeMetaContext.d.ts +1 -1
  888. package/dist/client/providers/CubeProvider.d.ts +7 -7
  889. package/dist/client/providers/I18nProvider.d.ts +1 -1
  890. package/dist/client/providers.d.ts +4 -4
  891. package/dist/client/schema.d.ts +2 -2
  892. package/dist/client/shared/chartConfigBuilders.d.ts +2 -2
  893. package/dist/client/shared/chartDefaults.d.ts +4 -4
  894. package/dist/client/shared/components/QueryAnalysisPanel.d.ts +1 -1
  895. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +1 -1
  896. package/dist/client/shared/index.d.ts +7 -7
  897. package/dist/client/shared/queryTransforms.d.ts +1 -1
  898. package/dist/client/shared/types.d.ts +1 -1
  899. package/dist/client/shared/utils.d.ts +3 -3
  900. package/dist/client/stores/analysisBuilderStore.d.ts +9 -9
  901. package/dist/client/stores/dashboardStore.d.ts +3 -3
  902. package/dist/client/stores/dataBrowserStore.d.ts +1 -1
  903. package/dist/client/stores/notebookStore.d.ts +1 -1
  904. package/dist/client/stores/optionsToAnalysisConfig.d.ts +4 -4
  905. package/dist/client/stores/slices/coreSlice.d.ts +3 -3
  906. package/dist/client/stores/slices/flowSlice.d.ts +3 -3
  907. package/dist/client/stores/slices/funnelSlice.d.ts +3 -3
  908. package/dist/client/stores/slices/index.d.ts +7 -7
  909. package/dist/client/stores/slices/querySlice.d.ts +3 -3
  910. package/dist/client/stores/slices/retentionSlice.d.ts +3 -3
  911. package/dist/client/stores/slices/uiSlice.d.ts +2 -2
  912. package/dist/client/types/analysisConfig.d.ts +4 -4
  913. package/dist/client/types/drill.d.ts +5 -5
  914. package/dist/client/types/flow.d.ts +2 -2
  915. package/dist/client/types/funnel.d.ts +1 -1
  916. package/dist/client/types/retention.d.ts +2 -2
  917. package/dist/client/types.d.ts +12 -12
  918. package/dist/client/utils/axisValueFormatting.d.ts +1 -1
  919. package/dist/client/utils/chartUtils.d.ts +1 -1
  920. package/dist/client/utils/configMigration.d.ts +2 -2
  921. package/dist/client/utils/drillQueryBuilder.d.ts +2 -2
  922. package/dist/client/utils/exportXlsx.d.ts +2 -2
  923. package/dist/client/utils/filterUtils.d.ts +1 -1
  924. package/dist/client/utils/funnelExecution.d.ts +2 -2
  925. package/dist/client/utils/funnelValidation.d.ts +2 -2
  926. package/dist/client/utils/index.d.ts +10 -10
  927. package/dist/client/utils/joinReachability.d.ts +1 -1
  928. package/dist/client/utils/multiQueryUtils.d.ts +1 -1
  929. package/dist/client/utils/multiQueryValidation.d.ts +1 -1
  930. package/dist/client/utils/pivotUtils.d.ts +1 -1
  931. package/dist/client/utils/shareUtils.d.ts +1 -1
  932. package/dist/client/utils/thumbnail.d.ts +1 -1
  933. package/dist/client/utils.d.ts +2 -2
  934. package/dist/mcp-app/mcp-app.html +33 -33
  935. package/dist/server/adapters/base-adapter.d.ts +332 -0
  936. package/dist/server/adapters/databend-adapter.d.ts +63 -0
  937. package/dist/server/adapters/duckdb-adapter.d.ts +68 -0
  938. package/dist/server/adapters/mysql-adapter.d.ts +65 -0
  939. package/dist/server/adapters/postgres-adapter.d.ts +55 -0
  940. package/dist/server/adapters/singlestore-adapter.d.ts +4 -0
  941. package/dist/server/adapters/snowflake-adapter.d.ts +53 -0
  942. package/dist/server/adapters/sqlite-adapter.d.ts +120 -0
  943. package/dist/server/adapters/window-function-builder.d.ts +11 -0
  944. package/dist/server/agent/chart-validation.d.ts +22 -0
  945. package/dist/server/agent/handler-steps.d.ts +37 -0
  946. package/dist/server/agent/handler.d.ts +25 -0
  947. package/dist/server/agent/index.d.ts +11 -0
  948. package/dist/server/agent/providers/anthropic.d.ts +24 -0
  949. package/dist/server/agent/providers/factory.d.ts +12 -0
  950. package/dist/server/agent/providers/google.d.ts +23 -0
  951. package/dist/server/agent/providers/index.d.ts +6 -0
  952. package/dist/server/agent/providers/openai.d.ts +26 -0
  953. package/dist/server/agent/providers/types.d.ts +95 -0
  954. package/dist/server/agent/system-prompt.d.ts +5 -0
  955. package/dist/server/agent/tools.d.ts +28 -0
  956. package/dist/server/agent/types.d.ts +192 -0
  957. package/dist/server/ai/discovery-helpers.d.ts +29 -0
  958. package/dist/server/ai/discovery.d.ts +66 -0
  959. package/dist/server/ai/index.d.ts +10 -0
  960. package/dist/server/ai/mcp-prompts.d.ts +83 -0
  961. package/dist/server/ai/query-schema.d.ts +258 -0
  962. package/dist/server/ai/schemas.d.ts +63 -0
  963. package/dist/server/ai/suggestion-helpers.d.ts +33 -0
  964. package/dist/server/ai/suggestion.d.ts +16 -0
  965. package/dist/server/ai/validation-helpers.d.ts +21 -0
  966. package/dist/server/ai/validation.d.ts +31 -0
  967. package/dist/server/builders/analysis-utils.d.ts +106 -0
  968. package/dist/server/builders/comparison-query-builder.d.ts +70 -0
  969. package/dist/server/builders/cte-builder.d.ts +108 -0
  970. package/dist/server/builders/date-time-builder.d.ts +34 -0
  971. package/dist/server/builders/date-time-helpers.d.ts +34 -0
  972. package/dist/server/builders/filter-builder.d.ts +25 -0
  973. package/dist/server/builders/filter-operators.d.ts +23 -0
  974. package/dist/server/builders/flow-query-builder.d.ts +136 -0
  975. package/dist/server/builders/funnel-query-builder.d.ts +145 -0
  976. package/dist/server/builders/group-by-builder.d.ts +38 -0
  977. package/dist/server/builders/index.d.ts +13 -0
  978. package/dist/server/builders/measure-builder.d.ts +185 -0
  979. package/dist/server/builders/retention-query-builder.d.ts +98 -0
  980. package/dist/server/cache-providers/index.d.ts +5 -0
  981. package/dist/server/cache-providers/memory.d.ts +105 -0
  982. package/dist/server/cache-utils.d.ts +85 -0
  983. package/dist/server/compiler-metadata.d.ts +11 -0
  984. package/dist/server/compiler.d.ts +212 -0
  985. package/dist/server/cube-utils.d.ts +158 -0
  986. package/dist/server/database-utils.d.ts +18 -0
  987. package/dist/server/execution/annotation-builder.d.ts +12 -0
  988. package/dist/server/execution/filter-cache-preloader.d.ts +19 -0
  989. package/dist/server/execution/mode-router.d.ts +25 -0
  990. package/dist/server/execution/query-result-cache.d.ts +21 -0
  991. package/dist/server/execution/result-post-processor.d.ts +10 -0
  992. package/dist/server/executor.d.ts +186 -0
  993. package/dist/server/executors/base-executor.d.ts +16 -0
  994. package/dist/server/executors/databend-executor.d.ts +33 -0
  995. package/dist/server/executors/duckdb-executor.d.ts +33 -0
  996. package/dist/server/executors/explain-utils.d.ts +28 -0
  997. package/dist/server/executors/index.d.ts +21 -0
  998. package/dist/server/executors/mysql-executor.d.ts +27 -0
  999. package/dist/server/executors/postgres-executor.d.ts +27 -0
  1000. package/dist/server/executors/singlestore-executor.d.ts +9 -0
  1001. package/dist/server/executors/snowflake-executor.d.ts +33 -0
  1002. package/dist/server/executors/sqlite-executor.d.ts +28 -0
  1003. package/dist/server/explain/databend-parser.d.ts +16 -0
  1004. package/dist/server/explain/duckdb-parser.d.ts +28 -0
  1005. package/dist/server/explain/explain-tree.d.ts +20 -0
  1006. package/dist/server/explain/index.d.ts +9 -0
  1007. package/dist/server/explain/mysql-parser.d.ts +38 -0
  1008. package/dist/server/explain/postgres-parser.d.ts +18 -0
  1009. package/dist/server/explain/snowflake-parser.d.ts +17 -0
  1010. package/dist/server/explain/sqlite-parser.d.ts +23 -0
  1011. package/dist/server/filter-cache.d.ts +73 -0
  1012. package/dist/server/gap-filler.d.ts +48 -0
  1013. package/dist/server/index.cjs +1 -1
  1014. package/dist/server/index.d.ts +38 -2
  1015. package/dist/server/index.js +1 -1
  1016. package/dist/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  1017. package/dist/server/logical-plan/cte-planner.d.ts +104 -0
  1018. package/dist/server/logical-plan/filter-propagation.d.ts +44 -0
  1019. package/dist/server/logical-plan/index.d.ts +19 -0
  1020. package/dist/server/logical-plan/join-planner.d.ts +27 -0
  1021. package/dist/server/logical-plan/logical-plan-builder.d.ts +58 -0
  1022. package/dist/server/logical-plan/logical-planner.d.ts +39 -0
  1023. package/dist/server/logical-plan/optimiser.d.ts +34 -0
  1024. package/dist/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  1025. package/dist/server/logical-plan/planner-utils.d.ts +20 -0
  1026. package/dist/server/logical-plan/types.d.ts +199 -0
  1027. package/dist/server/measure-classification.d.ts +40 -0
  1028. package/dist/server/{openai-B5jEiqiB.js → openai-CmVRIbUg.js} +18 -2
  1029. package/dist/server/{openai-cDlFSTk6.js → openai-CtXqeznO.js} +1 -1
  1030. package/dist/{adapters/openai-D0musiYP.cjs → server/openai-D-6l1Y8h.cjs} +3 -3
  1031. package/dist/server/{openai-vXvLni8v.cjs → openai-DTSTMiXL.cjs} +1 -1
  1032. package/dist/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
  1033. package/dist/server/physical-plan/drizzle-sql-builder.d.ts +118 -0
  1034. package/dist/server/physical-plan/index.d.ts +2 -0
  1035. package/dist/server/physical-plan/processors/cte-processor.d.ts +6 -0
  1036. package/dist/server/physical-plan/processors/index.d.ts +8 -0
  1037. package/dist/server/physical-plan/processors/joins-processor.d.ts +6 -0
  1038. package/dist/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  1039. package/dist/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  1040. package/dist/server/physical-plan/processors/predicates-processor.d.ts +6 -0
  1041. package/dist/server/physical-plan/processors/selection-processor.d.ts +6 -0
  1042. package/dist/server/physical-plan/processors/shared.d.ts +38 -0
  1043. package/dist/server/physical-plan/processors/window-processor.d.ts +6 -0
  1044. package/dist/server/prompts/explain-analysis-prompt.d.ts +47 -0
  1045. package/dist/server/prompts/index.d.ts +27 -0
  1046. package/dist/server/prompts/single-step-prompt.d.ts +31 -0
  1047. package/dist/server/prompts/step0-validation-prompt.d.ts +39 -0
  1048. package/dist/server/prompts/step1-shape-prompt.d.ts +29 -0
  1049. package/dist/server/prompts/step2-complete-prompt.d.ts +19 -0
  1050. package/dist/server/prompts/types.d.ts +37 -0
  1051. package/dist/server/query-handlers.d.ts +79 -0
  1052. package/dist/server/query-modes.d.ts +28 -0
  1053. package/dist/server/query-validator.d.ts +9 -0
  1054. package/dist/server/resolvers/calculated-measure-resolver.d.ts +98 -0
  1055. package/dist/server/resolvers/index.d.ts +6 -0
  1056. package/dist/server/resolvers/join-path-resolver.d.ts +158 -0
  1057. package/dist/server/sql-format.d.ts +11 -0
  1058. package/dist/server/template-substitution.d.ts +57 -0
  1059. package/dist/server/types/analysis.d.ts +189 -0
  1060. package/dist/server/types/cache.d.ts +132 -0
  1061. package/dist/server/types/core.d.ts +164 -0
  1062. package/dist/server/types/cube.d.ts +544 -0
  1063. package/dist/server/types/executor.d.ts +156 -0
  1064. package/dist/server/types/flow.d.ts +144 -0
  1065. package/dist/server/types/funnel.d.ts +118 -0
  1066. package/dist/server/types/index.d.ts +11 -0
  1067. package/dist/server/types/metadata.d.ts +113 -0
  1068. package/dist/server/types/query.d.ts +153 -0
  1069. package/dist/server/types/retention.d.ts +141 -0
  1070. package/dist/server/types/utils.d.ts +11 -0
  1071. package/dist/server/types/validation.d.ts +14 -0
  1072. package/package.json +83 -29
  1073. package/dist/adapters/mcp-transport-Chiaj4ll.cjs +0 -40
  1074. package/dist/adapters/mcp-transport-H96VG3WY.js +0 -591
  1075. package/dist/server/server/agent/index.d.ts +0 -11
  1076. package/dist/server/server/agent/providers/index.d.ts +0 -6
  1077. package/dist/server/server/builders/index.d.ts +0 -13
  1078. package/dist/server/server/cache-providers/index.d.ts +0 -5
  1079. package/dist/server/server/explain/index.d.ts +0 -9
  1080. package/dist/server/server/physical-plan/index.d.ts +0 -2
  1081. package/dist/server/server/physical-plan/processors/index.d.ts +0 -8
  1082. package/dist/server/server/types/index.d.ts +0 -11
  1083. /package/dist/{server → cjs}/server/agent/chart-validation.d.ts +0 -0
  1084. /package/dist/{server → cjs}/server/agent/providers/types.d.ts +0 -0
  1085. /package/dist/{server → cjs}/server/ai/mcp-prompts.d.ts +0 -0
  1086. /package/dist/{server → cjs}/server/ai/query-schema.d.ts +0 -0
  1087. /package/dist/{server → cjs}/server/ai/schemas.d.ts +0 -0
  1088. /package/dist/{server → cjs}/server/executors/explain-utils.d.ts +0 -0
  1089. /package/dist/{server → cjs}/server/prompts/explain-analysis-prompt.d.ts +0 -0
  1090. /package/dist/{server → cjs}/server/prompts/index.d.ts +0 -0
  1091. /package/dist/{server → cjs}/server/prompts/single-step-prompt.d.ts +0 -0
  1092. /package/dist/{server → cjs}/server/prompts/step0-validation-prompt.d.ts +0 -0
  1093. /package/dist/{server → cjs}/server/prompts/step1-shape-prompt.d.ts +0 -0
  1094. /package/dist/{server → cjs}/server/prompts/step2-complete-prompt.d.ts +0 -0
  1095. /package/dist/{server → cjs}/server/prompts/types.d.ts +0 -0
  1096. /package/dist/{server → cjs}/server/sql-format.d.ts +0 -0
  1097. /package/dist/{server → cjs}/server/types/analysis.d.ts +0 -0
  1098. /package/dist/{server → cjs}/server/types/core.d.ts +0 -0
  1099. /package/dist/{server → cjs}/server/types/validation.d.ts +0 -0
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-_whV4fXL.cjs"),t=require("../locale-ZLUUNUxr.cjs"),n=require("../mcp-transport-Chiaj4ll.cjs");let r=require("express");r=e.k(r,1);let i=require("cors");i=e.k(i,1);function a(a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,jsonLimit:p=`10mb`,cache:m,mcp:h={enabled:!0},agent:g}=a;if(!o||o.length===0)throw Error(`At least one cube must be provided in the cubes array`);let _=(0,r.Router)(),v=async(e,n)=>t.r(await l(e,n),t.n(t=>e.get(t)));if(d){let e={...d,allowedHeaders:t.t(d.allowedHeaders)};_.use((0,i.default)(e))}_.use(r.default.json({limit:p})),_.use(r.default.urlencoded({extended:!0,limit:p}));let y=new t.i({drizzle:s,schema:c,engineType:u,cache:m,rlsSetup:a.rlsSetup});if(o.forEach(e=>{y.registerCube(e)}),_.post(`${f}/load`,async(t,n)=>{try{let r=t.body.query||t.body,i=await v(t,n),a=y.validateQuery(r);if(!a.isValid)return n.status(400).json(e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=t.headers[`x-cache-control`]===`no-cache`,s=await y.executeMultiCubeQuery(r,i,{skipCache:o});n.json(e.r(r,s,y))}catch(t){console.error(`Query execution error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Query execution failed`,500))}}),_.get(`${f}/load`,async(t,n)=>{try{let r=t.query.query;if(!r)return n.status(400).json(e.i(`Query parameter is required`,400));let i;try{i=JSON.parse(r)}catch{return n.status(400).json(e.i(`Invalid JSON in query parameter`,400))}let a=await v(t,n),o=y.validateQuery(i);if(!o.isValid)return n.status(400).json(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=t.headers[`x-cache-control`]===`no-cache`,c=await y.executeMultiCubeQuery(i,a,{skipCache:s});n.json(e.r(i,c,y))}catch(t){console.error(`Query execution error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Query execution failed`,500))}}),_.post(`${f}/batch`,async(t,n)=>{try{let{queries:r}=t.body;if(!r||!Array.isArray(r))return n.status(400).json(e.i(`Request body must contain a "queries" array`,400));if(r.length===0)return n.status(400).json(e.i(`Queries array cannot be empty`,400));let i=await e.l(r,await v(t,n),y,{skipCache:t.headers[`x-cache-control`]===`no-cache`});n.json(i)}catch(t){console.error(`Batch execution error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Batch execution failed`,500))}}),_.get(`${f}/meta`,(t,n)=>{try{let t=y.getMetadata();n.json(e.a(t))}catch(t){console.error(`Metadata error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Failed to fetch metadata`,500))}}),_.post(`${f}/sql`,async(t,n)=>{try{let r=t.body,i=await v(t,n),a=y.validateQuery(r);if(!a.isValid)return n.status(400).json(e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return n.status(400).json(e.i(`No measures or dimensions specified`,400));let s=o.split(`.`)[0],c=await y.generateSQL(s,r,i);n.json(e.o(r,c))}catch(t){console.error(`SQL generation error:`,String(t).replace(/\n|\r/g,``)),n.status(500).json(e.i(t instanceof Error?t.message:`SQL generation failed`,500))}}),_.get(`${f}/sql`,async(t,n)=>{try{let r=t.query.query;if(!r)return n.status(400).json(e.i(`Query parameter is required`,400));let i=JSON.parse(r),a=await v(t,n),o=y.validateQuery(i);if(!o.isValid)return n.status(400).json(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=i.measures?.[0]||i.dimensions?.[0];if(!s)return n.status(400).json(e.i(`No measures or dimensions specified`,400));let c=s.split(`.`)[0],l=await y.generateSQL(c,i,a);n.json(e.o(i,l))}catch(t){console.error(`SQL generation error:`,String(t).replace(/\n|\r/g,``)),n.status(500).json(e.i(t instanceof Error?t.message:`SQL generation failed`,500))}}),_.post(`${f}/dry-run`,async(t,n)=>{try{let r=await e.u(t.body.query||t.body,await v(t,n),y);n.json(r)}catch(e){console.error(`Dry-run error:`,e),n.status(400).json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),_.get(`${f}/dry-run`,async(t,n)=>{try{let r=t.query.query;if(!r)return n.status(400).json({error:`Query parameter is required`,valid:!1});let i=await e.u(JSON.parse(r),await v(t,n),y);n.json(i)}catch(e){console.error(`Dry-run error:`,e),n.status(400).json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),_.post(`${f}/explain`,async(e,t)=>{try{let n=e.body.query||e.body,r=e.body.options||{},i=await v(e,t),a=y.validateQuery(n);if(!a.isValid)return t.status(400).json({error:`Query validation failed: ${a.errors.join(`, `)}`});let o=await y.explainQuery(n,i,r);t.json(o)}catch(e){console.error(`Explain error:`,e),t.status(500).json({error:e instanceof Error?e.message:`Explain query failed`})}}),g&&_.post(`${f}/agent/chat`,async(e,t)=>{try{let{handleAgentChat:n}=await Promise.resolve().then(()=>require("../handler-Cn0dOctE.cjs")),{message:r,sessionId:i,history:a}=e.body;if(!r||typeof r!=`string`)return t.status(400).json({error:`message is required and must be a string`});let o=(g.apiKey||``).trim();if(g.allowClientApiKey){let t=e.headers[`x-agent-api-key`];t&&(o=t.trim())}if(!o)return t.status(401).json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`});let s=g.allowClientApiKey?e.headers[`x-agent-provider`]:void 0,c=g.allowClientApiKey?e.headers[`x-agent-model`]:void 0,l=g.allowClientApiKey?e.headers[`x-agent-provider-endpoint`]:void 0,u=await v(e,t),d=g.buildSystemContext?.(u);t.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});try{let e=n({message:r,sessionId:i,history:a,semanticLayer:y,securityContext:u,agentConfig:g,apiKey:o,systemContext:d,providerOverride:s,modelOverride:c,baseURLOverride:l});for await(let n of e)t.write(`data: ${JSON.stringify(n)}\n\n`)}catch(e){let n={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};t.write(`data: ${JSON.stringify(n)}\n\n`)}finally{t.end()}}catch(e){console.error(`Agent chat error:`,e),t.headersSent||t.status(500).json({error:e instanceof Error?e.message:`Agent chat failed`})}}),h.enabled!==!1){let e=n.o(y,h.resources),t=n.y(h.prompts),r=n.v(h.instructions),i=h.basePath??`/mcp`;_.post(`${i}`,async(i,a)=>{if(h.resourceMetadataUrl&&!n.u(i.headers.authorization))return a.setHeader(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),a.status(401).json({error:`Bearer token required`});let o=n.S(i.headers.origin,h.allowedOrigins?{allowedOrigins:h.allowedOrigins}:{});if(!o.valid)return a.status(403).json(n.i(null,-32600,o.reason));let s=i.headers.accept;if(!n.x(s))return a.status(400).json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`));let c=n.h(i.headers);if(!c.ok)return a.status(426).json({error:`Unsupported MCP protocol version`,supported:c.supported});let l=n.g(i.body);if(!l)return a.status(400).json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`));let u=n.C(s),d=l.method===`initialize`;try{let o=await n.l(l.method,l.params,{semanticLayer:y,extractSecurityContext:(e,t)=>v(e,t),rawRequest:i,rawResponse:a,negotiatedProtocol:c.negotiated,resources:e,prompts:t,instructions:r,appEnabled:!!h.app,appConfig:typeof h.app==`object`?h.app:void 0,serverName:h.serverName});if(n.m(l))return a.status(202).end();let s=d&&o&&typeof o==`object`&&`sessionId`in o?o.sessionId:void 0;s&&a.setHeader(n.r,s);let f=n.a(l.id??null,o);if(u){let e=n._();return a.status(200),a.setHeader(`Content-Type`,`text/event-stream`),a.setHeader(`Cache-Control`,`no-cache`),a.setHeader(`Connection`,`keep-alive`),a.write(`id: ${e}\n\n`),a.write(n.b(f,e)),a.end()}return a.json(f)}catch(e){if(n.m(l))return console.error(`MCP notification processing error:`,String(e).replace(/\n|\r/g,``)),a.status(202).end();console.error(`MCP RPC error:`,String(e).replace(/\n|\r/g,``));let t=e?.code??-32603,r=e?.data,i=e.message||`MCP request failed`,o=n.i(l.id??null,t,i,r);if(u){let e=n._();return a.status(200),a.setHeader(`Content-Type`,`text/event-stream`),a.setHeader(`Cache-Control`,`no-cache`),a.setHeader(`Connection`,`keep-alive`),a.write(`id: ${e}\n\n`),a.write(n.b(o,e)),a.end()}return a.status(200).json(o)}}),_.get(`${i}`,async(e,t)=>{if(h.resourceMetadataUrl&&!n.u(e.headers.authorization))return t.setHeader(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),t.status(401).json({error:`Bearer token required`});let r=n._();t.status(200),t.setHeader(`Content-Type`,`text/event-stream`),t.setHeader(`Cache-Control`,`no-cache`),t.setHeader(`Connection`,`keep-alive`),t.write(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3));let i=setInterval(()=>{t.write(`: keep-alive
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("express");r=e.k(r,1);let i=require("cors");i=e.k(i,1);function a(a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,jsonLimit:p=`10mb`,cache:m,mcp:h={enabled:!0},agent:g}=a;if(!o||o.length===0)throw Error(`At least one cube must be provided in the cubes array`);let _=(0,r.Router)(),v=async(e,n)=>t.r(await l(e,n),t.n(t=>e.get(t)));if(d){let e={...d,allowedHeaders:t.t(d.allowedHeaders)};_.use((0,i.default)(e))}_.use(r.default.json({limit:p})),_.use(r.default.urlencoded({extended:!0,limit:p}));let y=new t.i({drizzle:s,schema:c,engineType:u,cache:m,rlsSetup:a.rlsSetup});if(o.forEach(e=>{y.registerCube(e)}),_.post(`${f}/load`,async(t,n)=>{try{let r=t.body.query||t.body,i=await v(t,n),a=y.validateQuery(r);if(!a.isValid)return n.status(400).json(e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=t.headers[`x-cache-control`]===`no-cache`,s=await y.executeMultiCubeQuery(r,i,{skipCache:o});n.json(e.r(r,s,y))}catch(t){console.error(`Query execution error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Query execution failed`,500))}}),_.get(`${f}/load`,async(t,n)=>{try{let r=t.query.query;if(!r)return n.status(400).json(e.i(`Query parameter is required`,400));let i;try{i=JSON.parse(r)}catch{return n.status(400).json(e.i(`Invalid JSON in query parameter`,400))}let a=await v(t,n),o=y.validateQuery(i);if(!o.isValid)return n.status(400).json(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=t.headers[`x-cache-control`]===`no-cache`,c=await y.executeMultiCubeQuery(i,a,{skipCache:s});n.json(e.r(i,c,y))}catch(t){console.error(`Query execution error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Query execution failed`,500))}}),_.post(`${f}/batch`,async(t,n)=>{try{let{queries:r}=t.body;if(!r||!Array.isArray(r))return n.status(400).json(e.i(`Request body must contain a "queries" array`,400));if(r.length===0)return n.status(400).json(e.i(`Queries array cannot be empty`,400));let i=await e.l(r,await v(t,n),y,{skipCache:t.headers[`x-cache-control`]===`no-cache`});n.json(i)}catch(t){console.error(`Batch execution error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Batch execution failed`,500))}}),_.get(`${f}/meta`,(t,n)=>{try{let t=y.getMetadata();n.json(e.a(t))}catch(t){console.error(`Metadata error:`,t),n.status(500).json(e.i(t instanceof Error?t.message:`Failed to fetch metadata`,500))}}),_.post(`${f}/sql`,async(t,n)=>{try{let r=t.body,i=await v(t,n),a=y.validateQuery(r);if(!a.isValid)return n.status(400).json(e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return n.status(400).json(e.i(`No measures or dimensions specified`,400));let s=o.split(`.`)[0],c=await y.generateSQL(s,r,i);n.json(e.o(r,c))}catch(t){console.error(`SQL generation error:`,String(t).replace(/\n|\r/g,``)),n.status(500).json(e.i(t instanceof Error?t.message:`SQL generation failed`,500))}}),_.get(`${f}/sql`,async(t,n)=>{try{let r=t.query.query;if(!r)return n.status(400).json(e.i(`Query parameter is required`,400));let i=JSON.parse(r),a=await v(t,n),o=y.validateQuery(i);if(!o.isValid)return n.status(400).json(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=i.measures?.[0]||i.dimensions?.[0];if(!s)return n.status(400).json(e.i(`No measures or dimensions specified`,400));let c=s.split(`.`)[0],l=await y.generateSQL(c,i,a);n.json(e.o(i,l))}catch(t){console.error(`SQL generation error:`,String(t).replace(/\n|\r/g,``)),n.status(500).json(e.i(t instanceof Error?t.message:`SQL generation failed`,500))}}),_.post(`${f}/dry-run`,async(t,n)=>{try{let r=await e.u(t.body.query||t.body,await v(t,n),y);n.json(r)}catch(e){console.error(`Dry-run error:`,e),n.status(400).json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),_.get(`${f}/dry-run`,async(t,n)=>{try{let r=t.query.query;if(!r)return n.status(400).json({error:`Query parameter is required`,valid:!1});let i=await e.u(JSON.parse(r),await v(t,n),y);n.json(i)}catch(e){console.error(`Dry-run error:`,e),n.status(400).json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),_.post(`${f}/explain`,async(e,t)=>{try{let n=e.body.query||e.body,r=e.body.options||{},i=await v(e,t),a=y.validateQuery(n);if(!a.isValid)return t.status(400).json({error:`Query validation failed: ${a.errors.join(`, `)}`});let o=await y.explainQuery(n,i,r);t.json(o)}catch(e){console.error(`Explain error:`,e),t.status(500).json({error:e instanceof Error?e.message:`Explain query failed`})}}),g&&_.post(`${f}/agent/chat`,async(e,t)=>{try{let{handleAgentChat:n}=await Promise.resolve().then(()=>require("../handler-OwxSBJH8.cjs")),{message:r,sessionId:i,history:a}=e.body;if(!r||typeof r!=`string`)return t.status(400).json({error:`message is required and must be a string`});let o=(g.apiKey||``).trim();if(g.allowClientApiKey){let t=e.headers[`x-agent-api-key`];t&&(o=t.trim())}if(!o)return t.status(401).json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`});let s=g.allowClientApiKey?e.headers[`x-agent-provider`]:void 0,c=g.allowClientApiKey?e.headers[`x-agent-model`]:void 0,l=g.allowClientApiKey?e.headers[`x-agent-provider-endpoint`]:void 0,u=await v(e,t),d=g.buildSystemContext?.(u);t.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});try{let e=n({message:r,sessionId:i,history:a,semanticLayer:y,securityContext:u,agentConfig:g,apiKey:o,systemContext:d,providerOverride:s,modelOverride:c,baseURLOverride:l});for await(let n of e)t.write(`data: ${JSON.stringify(n)}\n\n`)}catch(e){let n={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};t.write(`data: ${JSON.stringify(n)}\n\n`)}finally{t.end()}}catch(e){console.error(`Agent chat error:`,e),t.headersSent||t.status(500).json({error:e instanceof Error?e.message:`Agent chat failed`})}}),h.enabled!==!1){let e=n.o(y,h.resources),t=n.y(h.prompts),r=n.v(h.instructions),i=h.basePath??`/mcp`;_.post(`${i}`,async(i,a)=>{if(h.resourceMetadataUrl&&!n.u(i.headers.authorization))return a.setHeader(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),a.status(401).json({error:`Bearer token required`});let o=n.S(i.headers.origin,h.allowedOrigins?{allowedOrigins:h.allowedOrigins}:{});if(!o.valid)return a.status(403).json(n.i(null,-32600,o.reason));let s=i.headers.accept;if(!n.x(s))return a.status(400).json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`));let c=n.h(i.headers);if(!c.ok)return a.status(426).json({error:`Unsupported MCP protocol version`,supported:c.supported});let l=n.g(i.body);if(!l)return a.status(400).json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`));let u=n.C(s),d=l.method===`initialize`;try{let o=await n.l(l.method,l.params,{semanticLayer:y,extractSecurityContext:(e,t)=>v(e,t),rawRequest:i,rawResponse:a,negotiatedProtocol:c.negotiated,resources:e,prompts:t,instructions:r,appEnabled:!!h.app,appConfig:typeof h.app==`object`?h.app:void 0,serverName:h.serverName});if(n.m(l))return a.status(202).end();let s=d&&o&&typeof o==`object`&&`sessionId`in o?o.sessionId:void 0;s&&a.setHeader(n.r,s);let f=n.a(l.id??null,o);if(u){let e=n._();return a.status(200),a.setHeader(`Content-Type`,`text/event-stream`),a.setHeader(`Cache-Control`,`no-cache`),a.setHeader(`Connection`,`keep-alive`),a.write(`id: ${e}\n\n`),a.write(n.b(f,e)),a.end()}return a.json(f)}catch(e){if(n.m(l))return console.error(`MCP notification processing error:`,String(e).replace(/\n|\r/g,``)),a.status(202).end();console.error(`MCP RPC error:`,String(e).replace(/\n|\r/g,``));let t=e?.code??-32603,r=e?.data,i=e.message||`MCP request failed`,o=n.i(l.id??null,t,i,r);if(u){let e=n._();return a.status(200),a.setHeader(`Content-Type`,`text/event-stream`),a.setHeader(`Cache-Control`,`no-cache`),a.setHeader(`Connection`,`keep-alive`),a.write(`id: ${e}\n\n`),a.write(n.b(o,e)),a.end()}return a.status(200).json(o)}}),_.get(`${i}`,async(e,t)=>{if(h.resourceMetadataUrl&&!n.u(e.headers.authorization))return t.setHeader(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),t.status(401).json({error:`Bearer token required`});let r=n._();t.status(200),t.setHeader(`Content-Type`,`text/event-stream`),t.setHeader(`Cache-Control`,`no-cache`),t.setHeader(`Connection`,`keep-alive`),t.write(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3));let i=setInterval(()=>{t.write(`: keep-alive
2
2
 
3
3
  `)},15e3);e.on(`close`,()=>{clearInterval(i)})}),_.delete(`${i}`,(e,t)=>h.resourceMetadataUrl&&!n.u(e.headers.authorization)?(t.setHeader(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),t.status(401).json({error:`Bearer token required`})):t.status(405).json({error:`Session termination not supported`}))}return _.use((t,n,r,i)=>{console.error(`Express adapter error:`,t),r.headersSent||r.status(500).json(e.i(t,500))}),_}function o(e,t){let n=a(t);return e.use(`/`,n),e}function s(e){return o((0,r.default)(),e)}exports.createCubeApp=s,exports.createCubeRouter=a,exports.mountCubeRoutes=o;
@@ -1,11 +1,11 @@
1
1
  import { Router, Request, Response, Express } from 'express';
2
2
  import { CorsOptions } from 'cors';
3
- import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server';
4
- import { AgentConfig } from '../../server/agent/types';
3
+ import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
4
+ import { AgentConfig } from '../../server/agent/types.js';
5
5
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
6
6
  import { MySql2Database } from 'drizzle-orm/mysql2';
7
7
  import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
8
- import { MCPOptions } from '../utils';
8
+ import { MCPOptions } from '../utils.js';
9
9
  export interface ExpressAdapterOptions {
10
10
  /**
11
11
  * Array of cube definitions to register
@@ -1,6 +1,6 @@
1
1
  import { a as e, i as t, l as n, o as r, r as i, u as a } from "../utils-BPWZsX7k.js";
2
2
  import { i as o, n as s, r as c, t as l } from "../locale-DDvZDFVn.js";
3
- import { C as u, S as d, _ as f, a as p, b as m, c as h, g, h as _, i as v, l as y, m as b, o as x, r as S, u as C, v as w, x as T, y as E } from "../mcp-transport-H96VG3WY.js";
3
+ import { C as u, S as d, _ as f, a as p, b as m, c as h, g, h as _, i as v, l as y, m as b, o as x, r as S, u as C, v as w, x as T, y as E } from "../mcp-transport-Dfuj4j4q.js";
4
4
  import D, { Router as O } from "express";
5
5
  import k from "cors";
6
6
  //#region src/adapters/express/index.ts
@@ -131,7 +131,7 @@ function A(A) {
131
131
  }
132
132
  }), V && H.post(`${L}/agent/chat`, async (e, t) => {
133
133
  try {
134
- let { handleAgentChat: n } = await import("../handler-CfgE0JSL.js"), { message: r, sessionId: i, history: a } = e.body;
134
+ let { handleAgentChat: n } = await import("../handler-CtaSua-i.js"), { message: r, sessionId: i, history: a } = e.body;
135
135
  if (!r || typeof r != "string") return t.status(400).json({ error: "message is required and must be a string" });
136
136
  let o = (V.apiKey || "").trim();
137
137
  if (V.allowClientApiKey) {
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-_whV4fXL.cjs"),t=require("../locale-ZLUUNUxr.cjs"),n=require("../mcp-transport-Chiaj4ll.cjs");var r=function(r,i,a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,bodyLimit:p=10485760,cache:m,mcp:h={enabled:!0},agent:g}=i;if(!o||o.length===0)return a(Error(`At least one cube must be provided in the cubes array`));let _=async e=>t.r(await l(e),t.n(t=>e.headers[t.toLowerCase()]));if(d){let e={...d,allowedHeaders:t.t(d.allowedHeaders)};r.register(import(`@fastify/cors`),e)}r.addHook(`onRequest`,async(e,t)=>{e.method===`POST`&&(e.body=void 0)});let v=new t.i({drizzle:s,schema:c,engineType:u,cache:m,rlsSetup:i.rlsSetup});if(o.forEach(e=>{v.registerCube(e)}),r.post(`${f}/load`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(t,n)=>{try{let r=t.body,i=r.query||r,a=await _(t),o=v.validateQuery(i);if(!o.isValid)return n.status(400).send(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=t.headers[`x-cache-control`]===`no-cache`;return e.r(i,await v.executeMultiCubeQuery(i,a,{skipCache:s}),v)}catch(r){return t.log.error(r,`Query execution error`),n.status(500).send(e.i(r instanceof Error?r.message:`Query execution failed`,500))}}),r.get(`${f}/load`,{schema:{querystring:{type:`object`,properties:{query:{type:`string`}},required:[`query`]}}},async(t,n)=>{try{let{query:r}=t.query,i;try{i=JSON.parse(r)}catch{return n.status(400).send(e.i(`Invalid JSON in query parameter`,400))}let a=await _(t),o=v.validateQuery(i);if(!o.isValid)return n.status(400).send(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=t.headers[`x-cache-control`]===`no-cache`,c=await v.executeMultiCubeQuery(i,a,{skipCache:s});return e.r(i,c,v)}catch(r){return t.log.error(r,`Query execution error`),n.status(500).send(e.i(r instanceof Error?r.message:`Query execution failed`,500))}}),r.post(`${f}/batch`,{bodyLimit:p,schema:{body:{type:`object`,required:[`queries`],properties:{queries:{type:`array`,items:{type:`object`}}}}}},async(t,n)=>{try{let{queries:r}=t.body;return!r||!Array.isArray(r)?n.status(400).send(e.i(`Request body must contain a "queries" array`,400)):r.length===0?n.status(400).send(e.i(`Queries array cannot be empty`,400)):await e.l(r,await _(t),v,{skipCache:t.headers[`x-cache-control`]===`no-cache`})}catch(r){return t.log.error(r,`Batch execution error`),n.status(500).send(e.i(r instanceof Error?r.message:`Batch execution failed`,500))}}),r.get(`${f}/meta`,async(t,n)=>{try{return e.a(v.getMetadata())}catch(r){return t.log.error(r,`Metadata error`),n.status(500).send(e.i(r instanceof Error?r.message:`Failed to fetch metadata`,500))}}),r.post(`${f}/sql`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(t,n)=>{try{let r=t.body,i=await _(t),a=v.validateQuery(r);if(!a.isValid)return n.status(400).send(e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return n.status(400).send(e.i(`No measures or dimensions specified`,400));let s=o.split(`.`)[0];return e.o(r,await v.generateSQL(s,r,i))}catch(r){return t.log.error({err:String(r).replace(/\n|\r/g,``)},`SQL generation error`),n.status(500).send(e.i(r instanceof Error?r.message:`SQL generation failed`,500))}}),r.get(`${f}/sql`,{schema:{querystring:{type:`object`,properties:{query:{type:`string`}},required:[`query`]}}},async(t,n)=>{try{let{query:r}=t.query,i=JSON.parse(r),a=await _(t),o=v.validateQuery(i);if(!o.isValid)return n.status(400).send(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=i.measures?.[0]||i.dimensions?.[0];if(!s)return n.status(400).send(e.i(`No measures or dimensions specified`,400));let c=s.split(`.`)[0];return e.o(i,await v.generateSQL(c,i,a))}catch(r){return t.log.error({err:String(r).replace(/\n|\r/g,``)},`SQL generation error`),n.status(500).send(e.i(r instanceof Error?r.message:`SQL generation failed`,500))}}),r.post(`${f}/dry-run`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(t,n)=>{try{let n=t.body;return await e.u(n.query||n,await _(t),v)}catch(e){return t.log.error(e,`Dry-run error`),n.status(400).send({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),r.get(`${f}/dry-run`,{schema:{querystring:{type:`object`,properties:{query:{type:`string`}},required:[`query`]}}},async(t,n)=>{try{let{query:n}=t.query;return await e.u(JSON.parse(n),await _(t),v)}catch(e){return t.log.error(e,`Dry-run error`),n.status(400).send({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),r.post(`${f}/explain`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(e,t)=>{try{let n=e.body,r=n.query||n,i=n.options||{},a=await _(e),o=v.validateQuery(r);return o.isValid?await v.explainQuery(r,a,i):t.status(400).send({error:`Query validation failed: ${o.errors.join(`, `)}`})}catch(n){return e.log.error(n,`Explain error`),t.status(500).send({error:n instanceof Error?n.message:`Explain query failed`})}}),g&&r.post(`${f}/agent/chat`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(e,t)=>{try{let{handleAgentChat:n}=await Promise.resolve().then(()=>require("../handler-Cn0dOctE.cjs")),{message:r,sessionId:i,history:a}=e.body;if(!r||typeof r!=`string`)return t.status(400).send({error:`message is required and must be a string`});let o=(g.apiKey||``).trim();if(g.allowClientApiKey){let t=e.headers[`x-agent-api-key`];t&&(o=t.trim())}if(!o)return t.status(401).send({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`});let s=g.allowClientApiKey?e.headers[`x-agent-provider`]:void 0,c=g.allowClientApiKey?e.headers[`x-agent-model`]:void 0,l=g.allowClientApiKey?e.headers[`x-agent-provider-endpoint`]:void 0,u=await _(e),d=g.buildSystemContext?.(u);t.raw.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});try{let e=n({message:r,sessionId:i,history:a,semanticLayer:v,securityContext:u,agentConfig:g,apiKey:o,systemContext:d,providerOverride:s,modelOverride:c,baseURLOverride:l});for await(let n of e)t.raw.write(`data: ${JSON.stringify(n)}\n\n`)}catch(e){let n={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};t.raw.write(`data: ${JSON.stringify(n)}\n\n`)}finally{t.raw.end()}}catch(n){if(e.log.error(n,`Agent chat error`),!t.raw.headersSent)return t.status(500).send({error:n instanceof Error?n.message:`Agent chat failed`})}}),h.enabled!==!1){let e=n.o(v,h.resources),t=n.y(h.prompts),i=n.v(h.instructions),a=h.basePath??`/mcp`;r.post(`${a}`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(r,a)=>{if(h.resourceMetadataUrl&&!n.u(r.headers.authorization))return a.header(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),a.status(401).send({error:`Bearer token required`});let o=n.S(r.headers.origin,h.allowedOrigins?{allowedOrigins:h.allowedOrigins}:{});if(!o.valid)return a.status(403).send(n.i(null,-32600,o.reason));let s=r.headers.accept;if(!n.x(s))return a.status(400).send(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`));let c=n.h(r.headers);if(!c.ok)return a.status(426).send({error:`Unsupported MCP protocol version`,supported:c.supported});let l=n.g(r.body);if(!l)return a.status(400).send(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`));let u=n.C(s),d=l.method===`initialize`;try{let o=await n.l(l.method,l.params,{semanticLayer:v,extractSecurityContext:(e,t)=>_(e),rawRequest:r,rawResponse:a,negotiatedProtocol:c.negotiated,resources:e,prompts:t,instructions:i,appEnabled:!!h.app,appConfig:typeof h.app==`object`?h.app:void 0,serverName:h.serverName});if(n.m(l))return a.status(202).send();let s=d&&o&&typeof o==`object`&&`sessionId`in o?o.sessionId:void 0;s&&a.header(n.r,s);let f=n.a(l.id??null,o);if(u){let e=n._();a.header(`Content-Type`,`text/event-stream`).header(`Cache-Control`,`no-cache`).header(`Connection`,`keep-alive`).send(`id: ${e}\n\n${n.b(f,e)}`);return}return a.send(f)}catch(e){if(n.m(l))return r.log.error({err:String(e).replace(/\n|\r/g,``)},`MCP notification processing error`),a.status(202).send();r.log.error({err:String(e).replace(/\n|\r/g,``)},`MCP RPC error`);let t=e?.code??-32603,i=e?.data,o=e.message||`MCP request failed`,s=n.i(l.id??null,t,o,i);if(u){let e=n._();a.header(`Content-Type`,`text/event-stream`).header(`Cache-Control`,`no-cache`).header(`Connection`,`keep-alive`).send(`id: ${e}\n\n${n.b(s,e)}`);return}return a.send(s)}}),r.get(`${a}`,async(e,t)=>{if(h.resourceMetadataUrl&&!n.u(e.headers.authorization))return t.header(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),t.status(401).send({error:`Bearer token required`});let r=n._();t.raw.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}),t.raw.write(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3));let i=setInterval(()=>{t.raw.write(`: keep-alive
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");var r=function(r,i,a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,bodyLimit:p=10485760,cache:m,mcp:h={enabled:!0},agent:g}=i;if(!o||o.length===0)return a(Error(`At least one cube must be provided in the cubes array`));let _=async e=>t.r(await l(e),t.n(t=>e.headers[t.toLowerCase()]));if(d){let e={...d,allowedHeaders:t.t(d.allowedHeaders)};r.register(import(`@fastify/cors`),e)}r.addHook(`onRequest`,async(e,t)=>{e.method===`POST`&&(e.body=void 0)});let v=new t.i({drizzle:s,schema:c,engineType:u,cache:m,rlsSetup:i.rlsSetup});if(o.forEach(e=>{v.registerCube(e)}),r.post(`${f}/load`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(t,n)=>{try{let r=t.body,i=r.query||r,a=await _(t),o=v.validateQuery(i);if(!o.isValid)return n.status(400).send(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=t.headers[`x-cache-control`]===`no-cache`;return e.r(i,await v.executeMultiCubeQuery(i,a,{skipCache:s}),v)}catch(r){return t.log.error(r,`Query execution error`),n.status(500).send(e.i(r instanceof Error?r.message:`Query execution failed`,500))}}),r.get(`${f}/load`,{schema:{querystring:{type:`object`,properties:{query:{type:`string`}},required:[`query`]}}},async(t,n)=>{try{let{query:r}=t.query,i;try{i=JSON.parse(r)}catch{return n.status(400).send(e.i(`Invalid JSON in query parameter`,400))}let a=await _(t),o=v.validateQuery(i);if(!o.isValid)return n.status(400).send(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=t.headers[`x-cache-control`]===`no-cache`,c=await v.executeMultiCubeQuery(i,a,{skipCache:s});return e.r(i,c,v)}catch(r){return t.log.error(r,`Query execution error`),n.status(500).send(e.i(r instanceof Error?r.message:`Query execution failed`,500))}}),r.post(`${f}/batch`,{bodyLimit:p,schema:{body:{type:`object`,required:[`queries`],properties:{queries:{type:`array`,items:{type:`object`}}}}}},async(t,n)=>{try{let{queries:r}=t.body;return!r||!Array.isArray(r)?n.status(400).send(e.i(`Request body must contain a "queries" array`,400)):r.length===0?n.status(400).send(e.i(`Queries array cannot be empty`,400)):await e.l(r,await _(t),v,{skipCache:t.headers[`x-cache-control`]===`no-cache`})}catch(r){return t.log.error(r,`Batch execution error`),n.status(500).send(e.i(r instanceof Error?r.message:`Batch execution failed`,500))}}),r.get(`${f}/meta`,async(t,n)=>{try{return e.a(v.getMetadata())}catch(r){return t.log.error(r,`Metadata error`),n.status(500).send(e.i(r instanceof Error?r.message:`Failed to fetch metadata`,500))}}),r.post(`${f}/sql`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(t,n)=>{try{let r=t.body,i=await _(t),a=v.validateQuery(r);if(!a.isValid)return n.status(400).send(e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return n.status(400).send(e.i(`No measures or dimensions specified`,400));let s=o.split(`.`)[0];return e.o(r,await v.generateSQL(s,r,i))}catch(r){return t.log.error({err:String(r).replace(/\n|\r/g,``)},`SQL generation error`),n.status(500).send(e.i(r instanceof Error?r.message:`SQL generation failed`,500))}}),r.get(`${f}/sql`,{schema:{querystring:{type:`object`,properties:{query:{type:`string`}},required:[`query`]}}},async(t,n)=>{try{let{query:r}=t.query,i=JSON.parse(r),a=await _(t),o=v.validateQuery(i);if(!o.isValid)return n.status(400).send(e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=i.measures?.[0]||i.dimensions?.[0];if(!s)return n.status(400).send(e.i(`No measures or dimensions specified`,400));let c=s.split(`.`)[0];return e.o(i,await v.generateSQL(c,i,a))}catch(r){return t.log.error({err:String(r).replace(/\n|\r/g,``)},`SQL generation error`),n.status(500).send(e.i(r instanceof Error?r.message:`SQL generation failed`,500))}}),r.post(`${f}/dry-run`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(t,n)=>{try{let n=t.body;return await e.u(n.query||n,await _(t),v)}catch(e){return t.log.error(e,`Dry-run error`),n.status(400).send({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),r.get(`${f}/dry-run`,{schema:{querystring:{type:`object`,properties:{query:{type:`string`}},required:[`query`]}}},async(t,n)=>{try{let{query:n}=t.query;return await e.u(JSON.parse(n),await _(t),v)}catch(e){return t.log.error(e,`Dry-run error`),n.status(400).send({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}),r.post(`${f}/explain`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(e,t)=>{try{let n=e.body,r=n.query||n,i=n.options||{},a=await _(e),o=v.validateQuery(r);return o.isValid?await v.explainQuery(r,a,i):t.status(400).send({error:`Query validation failed: ${o.errors.join(`, `)}`})}catch(n){return e.log.error(n,`Explain error`),t.status(500).send({error:n instanceof Error?n.message:`Explain query failed`})}}),g&&r.post(`${f}/agent/chat`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(e,t)=>{try{let{handleAgentChat:n}=await Promise.resolve().then(()=>require("../handler-OwxSBJH8.cjs")),{message:r,sessionId:i,history:a}=e.body;if(!r||typeof r!=`string`)return t.status(400).send({error:`message is required and must be a string`});let o=(g.apiKey||``).trim();if(g.allowClientApiKey){let t=e.headers[`x-agent-api-key`];t&&(o=t.trim())}if(!o)return t.status(401).send({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`});let s=g.allowClientApiKey?e.headers[`x-agent-provider`]:void 0,c=g.allowClientApiKey?e.headers[`x-agent-model`]:void 0,l=g.allowClientApiKey?e.headers[`x-agent-provider-endpoint`]:void 0,u=await _(e),d=g.buildSystemContext?.(u);t.raw.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});try{let e=n({message:r,sessionId:i,history:a,semanticLayer:v,securityContext:u,agentConfig:g,apiKey:o,systemContext:d,providerOverride:s,modelOverride:c,baseURLOverride:l});for await(let n of e)t.raw.write(`data: ${JSON.stringify(n)}\n\n`)}catch(e){let n={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};t.raw.write(`data: ${JSON.stringify(n)}\n\n`)}finally{t.raw.end()}}catch(n){if(e.log.error(n,`Agent chat error`),!t.raw.headersSent)return t.status(500).send({error:n instanceof Error?n.message:`Agent chat failed`})}}),h.enabled!==!1){let e=n.o(v,h.resources),t=n.y(h.prompts),i=n.v(h.instructions),a=h.basePath??`/mcp`;r.post(`${a}`,{bodyLimit:p,schema:{body:{type:`object`,additionalProperties:!0}}},async(r,a)=>{if(h.resourceMetadataUrl&&!n.u(r.headers.authorization))return a.header(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),a.status(401).send({error:`Bearer token required`});let o=n.S(r.headers.origin,h.allowedOrigins?{allowedOrigins:h.allowedOrigins}:{});if(!o.valid)return a.status(403).send(n.i(null,-32600,o.reason));let s=r.headers.accept;if(!n.x(s))return a.status(400).send(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`));let c=n.h(r.headers);if(!c.ok)return a.status(426).send({error:`Unsupported MCP protocol version`,supported:c.supported});let l=n.g(r.body);if(!l)return a.status(400).send(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`));let u=n.C(s),d=l.method===`initialize`;try{let o=await n.l(l.method,l.params,{semanticLayer:v,extractSecurityContext:(e,t)=>_(e),rawRequest:r,rawResponse:a,negotiatedProtocol:c.negotiated,resources:e,prompts:t,instructions:i,appEnabled:!!h.app,appConfig:typeof h.app==`object`?h.app:void 0,serverName:h.serverName});if(n.m(l))return a.status(202).send();let s=d&&o&&typeof o==`object`&&`sessionId`in o?o.sessionId:void 0;s&&a.header(n.r,s);let f=n.a(l.id??null,o);if(u){let e=n._();a.header(`Content-Type`,`text/event-stream`).header(`Cache-Control`,`no-cache`).header(`Connection`,`keep-alive`).send(`id: ${e}\n\n${n.b(f,e)}`);return}return a.send(f)}catch(e){if(n.m(l))return r.log.error({err:String(e).replace(/\n|\r/g,``)},`MCP notification processing error`),a.status(202).send();r.log.error({err:String(e).replace(/\n|\r/g,``)},`MCP RPC error`);let t=e?.code??-32603,i=e?.data,o=e.message||`MCP request failed`,s=n.i(l.id??null,t,o,i);if(u){let e=n._();a.header(`Content-Type`,`text/event-stream`).header(`Cache-Control`,`no-cache`).header(`Connection`,`keep-alive`).send(`id: ${e}\n\n${n.b(s,e)}`);return}return a.send(s)}}),r.get(`${a}`,async(e,t)=>{if(h.resourceMetadataUrl&&!n.u(e.headers.authorization))return t.header(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),t.status(401).send({error:`Bearer token required`});let r=n._();t.raw.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}),t.raw.write(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3));let i=setInterval(()=>{t.raw.write(`: keep-alive
2
2
 
3
3
  `)},15e3);e.raw.on(`close`,()=>{clearInterval(i)})}),r.delete(`${a}`,async(e,t)=>h.resourceMetadataUrl&&!n.u(e.headers.authorization)?(t.header(`WWW-Authenticate`,n.c(h.resourceMetadataUrl)),t.status(401).send({error:`Bearer token required`})):t.status(405).send({error:`Session termination not supported`}))}r.setErrorHandler(async(t,n,r)=>(n.log.error(t,`Fastify cube adapter error`),r.statusCode<400&&r.status(500),e.i(t instanceof Error?t:String(t),r.statusCode))),a()};async function i(e,t){await e.register(r,t)}function a(e){let t=require("fastify")({logger:!0});return t.register(r,e),t}exports.createCubeApp=a,exports.cubePlugin=r,exports.registerCubeRoutes=i;
@@ -1,11 +1,11 @@
1
1
  import { FastifyPluginCallback, FastifyRequest, FastifyInstance } from 'fastify';
2
2
  import { FastifyCorsOptions } from '@fastify/cors';
3
- import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server';
4
- import { AgentConfig } from '../../server/agent/types';
3
+ import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
4
+ import { AgentConfig } from '../../server/agent/types.js';
5
5
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
6
6
  import { MySql2Database } from 'drizzle-orm/mysql2';
7
7
  import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
8
- import { MCPOptions } from '../utils';
8
+ import { MCPOptions } from '../utils.js';
9
9
  export interface FastifyAdapterOptions {
10
10
  /**
11
11
  * Array of cube definitions to register
@@ -1,6 +1,6 @@
1
1
  import { a as e, i as t, k as n, l as r, o as i, r as a, u as o } from "../utils-BPWZsX7k.js";
2
2
  import { i as s, n as c, r as l, t as u } from "../locale-DDvZDFVn.js";
3
- import { C as d, S as f, _ as p, a as m, b as h, c as g, g as _, h as v, i as y, l as b, m as x, o as S, r as C, u as w, v as T, x as E, y as D } from "../mcp-transport-H96VG3WY.js";
3
+ import { C as d, S as f, _ as p, a as m, b as h, c as g, g as _, h as v, i as y, l as b, m as x, o as S, r as C, u as w, v as T, x as E, y as D } from "../mcp-transport-Dfuj4j4q.js";
4
4
  //#region src/adapters/fastify/index.ts
5
5
  var O = function(n, O, k) {
6
6
  let { cubes: A, drizzle: j, schema: M, extractSecurityContext: N, engineType: P, cors: F, basePath: I = "/cubejs-api/v1", bodyLimit: L = 10485760, cache: R, mcp: z = { enabled: !0 }, agent: B } = O;
@@ -165,7 +165,7 @@ var O = function(n, O, k) {
165
165
  } }
166
166
  }, async (e, t) => {
167
167
  try {
168
- let { handleAgentChat: n } = await import("../handler-CfgE0JSL.js"), { message: r, sessionId: i, history: a } = e.body;
168
+ let { handleAgentChat: n } = await import("../handler-CtaSua-i.js"), { message: r, sessionId: i, history: a } = e.body;
169
169
  if (!r || typeof r != "string") return t.status(400).send({ error: "message is required and must be a string" });
170
170
  let o = (B.apiKey || "").trim();
171
171
  if (B.allowClientApiKey) {
@@ -2474,7 +2474,7 @@ async function L(e, t, n) {
2474
2474
  return new e(t);
2475
2475
  }
2476
2476
  case "openai": {
2477
- let { OpenAIProvider: e } = await import("./openai-cDlFSTk6.js");
2477
+ let { OpenAIProvider: e } = await import("./openai-CtXqeznO.js");
2478
2478
  return new e(t, n);
2479
2479
  }
2480
2480
  case "google": {
@@ -22,4 +22,4 @@ The query is validated before adding. The portlet fetches its own data.`,paramet
22
22
  [IMPORTANT: Your next response MUST start with a brief text message BEFORE any tool calls. Now call add_markdown and add_portlet to visualize these results.]`}}catch(e){let n={measures:t.measures,dimensions:t.dimensions,filters:t.filters,timeDimensions:t.timeDimensions,order:t.order,limit:t.limit,...t.funnel?{funnel:t.funnel}:{},...t.flow?{flow:t.flow}:{},...t.retention?{retention:t.retention}:{}};return{result:`Query execution failed: ${e instanceof Error?e.message:`Unknown error`}\n\nAttempted query:\n${JSON.stringify(n,null,2)}`,isError:!0}}}),i.set(`add_portlet`,async t=>{let r={number:`kpiNumber`,retention:`retentionHeatmap`}[t.chartType]??t.chartType,i;try{i=JSON.parse(t.query)}catch{return{result:"Invalid query: could not parse JSON string. Ensure `query` is a valid JSON string.",isError:!0}}i=e.h(i);let a=n.validateQuery(i);if(!a.isValid)return{result:`Invalid query — fix these errors and retry:\n${a.errors.join(`
23
23
  `)}\n\nAttempted query:\n${JSON.stringify(i,null,2)}`,isError:!0};let o=!!(i.funnel||i.flow||i.retention),s;if(o)s=t.chartConfig??{};else{let e=T(r,t.chartConfig,i),n=S(r,e,i);if(!n.isValid)return{result:`Chart config invalid — fix these errors and retry:\n${n.errors.join(`
24
24
  `)}`,isError:!0};s=e}let c=`portlet-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,l={id:c,title:t.title,query:t.query,chartType:r,chartConfig:s,displayConfig:t.displayConfig};return{result:`Portlet "${t.title}" added to notebook (id: ${c}, chart: ${r}). [Reminder: in your next response, start with a brief sentence about what you will do next BEFORE making any tool calls.]`,sideEffect:{type:`add_portlet`,data:l}}}),i.set(`add_markdown`,async e=>{let t=`markdown-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,n=e.content||e.text||e.markdown||``,r={id:t,title:e.title,content:n};return{result:`Markdown block added to notebook (id: ${t}). [Reminder: in your next response, start with a brief sentence about what you will do next BEFORE making any tool calls.]`,sideEffect:{type:`add_markdown`,data:r}}}),i.set(`save_as_dashboard`,async t=>{try{let r=t.portlets;if(!r||r.length===0)return{result:`Dashboard must contain at least one portlet.`,isError:!0};let i=[];for(let t of r){if(t.chartType===`markdown`)continue;let r=t.query;if(!r){i.push(`Portlet "${t.title}": missing query`);continue}let a;try{a=JSON.parse(r)}catch{i.push(`Portlet "${t.title}": invalid JSON query`);continue}a=e.h(a);let o=n.validateQuery(a);o.isValid||i.push(`Portlet "${t.title}": ${o.errors.join(`, `)}`)}if(i.length>0)return{result:`Dashboard has invalid portlets — fix these errors and retry:\n${i.join(`
25
- `)}`,isError:!0};let a={portlets:r.map(e=>{let t=e.chartType,n=t===`markdown`,r=n?`query`:e.analysisType||`query`,i=r===`funnel`?`funnel`:r===`flow`?`flow`:r===`retention`?`retention`:`query`,a=e.query||`{}`,o;try{o=JSON.parse(a)}catch{o={}}let s={version:1,analysisType:i,activeView:`chart`,charts:{[i]:{chartType:t,chartConfig:e.chartConfig||{},displayConfig:e.displayConfig||{}}},query:n?{}:o};return{id:e.id,title:e.title,analysisConfig:s,dashboardFilterMapping:e.dashboardFilterMapping,w:e.w,h:e.h,x:e.x,y:e.y}}),filters:t.filters,colorPalette:t.colorPalette},o=t.title;return{result:`Dashboard "${o}" created with ${a.portlets.length} portlets and ${a.filters?.length||0} filters.`,sideEffect:{type:`dashboard_saved`,data:{title:o,description:t.description,dashboardConfig:a}}}}catch(e){return{result:`Failed to save dashboard: ${e instanceof Error?e.message:`Unknown error`}`,isError:!0}}}),i}async function A(e,t,n){switch(e){case`anthropic`:{let{AnthropicProvider:e}=await Promise.resolve().then(()=>require("./anthropic-DG4r1LSm.cjs"));return new e(t)}case`openai`:{let{OpenAIProvider:e}=await Promise.resolve().then(()=>require("./openai-vXvLni8v.cjs"));return new e(t,n)}case`google`:{let{GoogleProvider:e}=await Promise.resolve().then(()=>require("./google-BOnRIN1w.cjs"));return new e(t)}default:throw Error(`Unknown LLM provider: "${e}". Supported providers: anthropic, openai, google`)}}function j(e,t){if(Array.isArray(t))for(let n of t)e.push(n);else e.push(t)}function M(e){if(e)try{e()}catch{}}function N(e,t){let n=[];if(!e||e.length===0)return n;for(let r of e){if(r.role===`user`){n.push({role:`user`,content:r.content});continue}if(r.role!==`assistant`)continue;let e=[];if(r.content&&e.push({type:`text`,text:r.content}),r.toolCalls&&r.toolCalls.length>0){for(let t of r.toolCalls)e.push({type:`tool_use`,id:t.id,name:t.name,input:t.input||{}});n.push({role:`assistant`,content:e});let i=r.toolCalls.map(e=>({toolUseId:e.id,toolName:e.name,content:typeof e.result==`string`?e.result:JSON.stringify(e.result??``),isError:e.status===`error`}));j(n,t.formatToolResults(i))}else e.length>0&&n.push({role:`assistant`,content:r.content})}return n}function P(e,t){if(!(e?.type!==`tool_use`||!t))try{e.input=JSON.parse(t)}catch{e.input={}}}function F(e,t){let n=e.contentBlocks[e.contentBlocks.length-1];n&&n.type===`text`?n.text=(n.text||``)+t:e.contentBlocks.push({type:`text`,text:t})}function I(e,t){if(e.currentBlockIsToolUse&&e.currentToolInputJson){let t=e.contentBlocks[e.contentBlocks.length-1];if(t?.type===`tool_use`)try{t.input=JSON.parse(e.currentToolInputJson)}catch{}}e.contentBlocks.push({type:`tool_use`,id:t.id,name:t.name,input:{},...t.metadata?{metadata:t.metadata}:{}}),e.currentToolInputJson=``,e.currentBlockIsToolUse=!0}function L(e,t){if(t.id&&t.input){let n=e.contentBlocks.find(e=>e.type===`tool_use`&&e.id===t.id);n&&(n.input=t.input)}else if(e.currentBlockIsToolUse){let t=e.contentBlocks[e.contentBlocks.length-1];t?.type===`tool_use`&&e.currentToolInputJson&&(P(t,e.currentToolInputJson),e.currentToolInputJson=``),e.currentBlockIsToolUse=!1}}async function*R(e,t){let n={contentBlocks:[],currentToolInputJson:``,currentBlockIsToolUse:!1,stopReason:``};for await(let r of e.parseStreamEvents(t)){let e=r;switch(e.type){case`text_delta`:F(n,e.text),yield{type:`text_delta`,data:e.text};break;case`tool_use_start`:I(n,e),yield{type:`tool_use_start`,data:{id:e.id,name:e.name,input:void 0}};break;case`tool_input_delta`:n.currentToolInputJson+=e.json;break;case`tool_use_end`:L(n,e);break;case`message_meta`:e.inputTokens!=null&&(n.inputTokens=e.inputTokens),e.outputTokens!=null&&(n.outputTokens=e.outputTokens),e.stopReason&&(n.stopReason=e.stopReason);break}}return{contentBlocks:n.contentBlocks,stopReason:n.stopReason,inputTokens:n.inputTokens,outputTokens:n.outputTokens}}async function*z(e,t){let{executor:n,observability:r,traceId:i,turn:a}=t,o=e.name,s=e.input||{},c=e.id,l=n.get(o);if(!l)return yield{type:`tool_use_result`,data:{id:c,name:o,result:`Unknown tool: ${o}`,isError:!0}},{toolUseId:c,toolName:o,content:`Unknown tool: ${o}`,isError:!0};let u=Date.now();try{let e=await l(s);return e.sideEffect&&(yield e.sideEffect),yield{type:`tool_use_result`,data:{id:c,name:o,result:e.result,...e.isError?{isError:!0}:{}}},M(()=>r?.onToolEnd?.({traceId:i,turn:a,toolName:o,toolUseId:c,isError:!!e.isError,durationMs:Date.now()-u})),{toolUseId:c,toolName:o,content:e.result,...e.isError?{isError:!0}:{}}}catch(e){let t=e instanceof Error?e.message:`Tool execution failed`;return yield{type:`tool_use_result`,data:{id:c,name:o,result:t,isError:!0}},M(()=>r?.onToolEnd?.({traceId:i,turn:a,toolName:o,toolUseId:c,isError:!0,durationMs:Date.now()-u})),{toolUseId:c,toolName:o,content:t,isError:!0}}}async function*B(e,t){let n=[];for(let r of e){if(r.type!==`tool_use`)continue;let e=yield*z(r,t);n.push(e)}return n}var V={anthropic:`claude-sonnet-4-6`,openai:`gpt-4.1-mini`,google:`gemini-3-flash-preview`};async function*H(t){let{message:n,history:r,semanticLayer:i,securityContext:a,agentConfig:o,apiKey:c}=t,l=t.sessionId||crypto.randomUUID(),u=o.observability,d=crypto.randomUUID(),f=Date.now(),p=t.providerOverride||o.provider||`anthropic`,m=t.modelOverride||o.model||V[p]||`claude-sonnet-4-6`,h=t.baseURLOverride||o.baseURL,g=o.maxTurns||25,_=o.maxTokens||4096,v;try{v=await A(p,c,{baseURL:h})}catch(t){console.error(`[agent] Failed to create %s provider: %s`,String(p).replace(/\n|\r/g,``),String(t instanceof Error?t.message:t).replace(/\n|\r/g,``)),yield{type:`error`,data:{message:t instanceof Error?t.message:e.O(`server.errors.llmInitFailed`)}};return}let y=O(),b=k({semanticLayer:i,securityContext:a}),x=s(i.getMetadata());t.systemContext&&(x+=`\n\n## User Context\n\n${t.systemContext}`),M(()=>u?.onChatStart?.({traceId:d,sessionId:l,message:n,model:m,historyLength:r?.length??0}));let S=N(r,v);S.push({role:`user`,content:n});let C=0;try{for(let e=0;e<g;e++){C=e+1;let t=await v.createStream({model:m,maxTokens:_,system:x,tools:y,messages:S}),n=Date.now(),{contentBlocks:r,stopReason:i,inputTokens:a,outputTokens:o}=yield*R(v,t);if(M(()=>u?.onGenerationEnd?.({traceId:d,turn:e,model:m,stopReason:i,inputTokens:a,outputTokens:o,durationMs:Date.now()-n,input:S,output:r})),S.push({role:`assistant`,content:r}),!v.shouldContinue(i))break;let s=yield*B(r,{executor:b,observability:u,traceId:d,turn:e});yield{type:`turn_complete`,data:{}},j(S,v.formatToolResults(s))}M(()=>u?.onChatEnd?.({traceId:d,sessionId:l,totalTurns:C,durationMs:Date.now()-f})),yield{type:`done`,data:{sessionId:l||``,traceId:d}}}catch(e){try{u?.onChatEnd?.({traceId:d,sessionId:l,totalTurns:0,durationMs:Date.now()-f,error:e instanceof Error?e.message:`Unknown error`})}catch{}console.error(`[agent] Chat error (provider=%s, model=%s): %s`,String(p).replace(/\n|\r/g,``),String(m).replace(/\n|\r/g,``),String(e instanceof Error?e.message:e).replace(/\n|\r/g,``)),yield{type:`error`,data:{message:v.formatError(e)}}}}exports.handleAgentChat=H;
25
+ `)}`,isError:!0};let a={portlets:r.map(e=>{let t=e.chartType,n=t===`markdown`,r=n?`query`:e.analysisType||`query`,i=r===`funnel`?`funnel`:r===`flow`?`flow`:r===`retention`?`retention`:`query`,a=e.query||`{}`,o;try{o=JSON.parse(a)}catch{o={}}let s={version:1,analysisType:i,activeView:`chart`,charts:{[i]:{chartType:t,chartConfig:e.chartConfig||{},displayConfig:e.displayConfig||{}}},query:n?{}:o};return{id:e.id,title:e.title,analysisConfig:s,dashboardFilterMapping:e.dashboardFilterMapping,w:e.w,h:e.h,x:e.x,y:e.y}}),filters:t.filters,colorPalette:t.colorPalette},o=t.title;return{result:`Dashboard "${o}" created with ${a.portlets.length} portlets and ${a.filters?.length||0} filters.`,sideEffect:{type:`dashboard_saved`,data:{title:o,description:t.description,dashboardConfig:a}}}}catch(e){return{result:`Failed to save dashboard: ${e instanceof Error?e.message:`Unknown error`}`,isError:!0}}}),i}async function A(e,t,n){switch(e){case`anthropic`:{let{AnthropicProvider:e}=await Promise.resolve().then(()=>require("./anthropic-DG4r1LSm.cjs"));return new e(t)}case`openai`:{let{OpenAIProvider:e}=await Promise.resolve().then(()=>require("./openai-DTSTMiXL.cjs"));return new e(t,n)}case`google`:{let{GoogleProvider:e}=await Promise.resolve().then(()=>require("./google-BOnRIN1w.cjs"));return new e(t)}default:throw Error(`Unknown LLM provider: "${e}". Supported providers: anthropic, openai, google`)}}function j(e,t){if(Array.isArray(t))for(let n of t)e.push(n);else e.push(t)}function M(e){if(e)try{e()}catch{}}function N(e,t){let n=[];if(!e||e.length===0)return n;for(let r of e){if(r.role===`user`){n.push({role:`user`,content:r.content});continue}if(r.role!==`assistant`)continue;let e=[];if(r.content&&e.push({type:`text`,text:r.content}),r.toolCalls&&r.toolCalls.length>0){for(let t of r.toolCalls)e.push({type:`tool_use`,id:t.id,name:t.name,input:t.input||{}});n.push({role:`assistant`,content:e});let i=r.toolCalls.map(e=>({toolUseId:e.id,toolName:e.name,content:typeof e.result==`string`?e.result:JSON.stringify(e.result??``),isError:e.status===`error`}));j(n,t.formatToolResults(i))}else e.length>0&&n.push({role:`assistant`,content:r.content})}return n}function P(e,t){if(!(e?.type!==`tool_use`||!t))try{e.input=JSON.parse(t)}catch{e.input={}}}function F(e,t){let n=e.contentBlocks[e.contentBlocks.length-1];n&&n.type===`text`?n.text=(n.text||``)+t:e.contentBlocks.push({type:`text`,text:t})}function I(e,t){if(e.currentBlockIsToolUse&&e.currentToolInputJson){let t=e.contentBlocks[e.contentBlocks.length-1];if(t?.type===`tool_use`)try{t.input=JSON.parse(e.currentToolInputJson)}catch{}}e.contentBlocks.push({type:`tool_use`,id:t.id,name:t.name,input:{},...t.metadata?{metadata:t.metadata}:{}}),e.currentToolInputJson=``,e.currentBlockIsToolUse=!0}function L(e,t){if(t.id&&t.input){let n=e.contentBlocks.find(e=>e.type===`tool_use`&&e.id===t.id);n&&(n.input=t.input)}else if(e.currentBlockIsToolUse){let t=e.contentBlocks[e.contentBlocks.length-1];t?.type===`tool_use`&&e.currentToolInputJson&&(P(t,e.currentToolInputJson),e.currentToolInputJson=``),e.currentBlockIsToolUse=!1}}async function*R(e,t){let n={contentBlocks:[],currentToolInputJson:``,currentBlockIsToolUse:!1,stopReason:``};for await(let r of e.parseStreamEvents(t)){let e=r;switch(e.type){case`text_delta`:F(n,e.text),yield{type:`text_delta`,data:e.text};break;case`tool_use_start`:I(n,e),yield{type:`tool_use_start`,data:{id:e.id,name:e.name,input:void 0}};break;case`tool_input_delta`:n.currentToolInputJson+=e.json;break;case`tool_use_end`:L(n,e);break;case`message_meta`:e.inputTokens!=null&&(n.inputTokens=e.inputTokens),e.outputTokens!=null&&(n.outputTokens=e.outputTokens),e.stopReason&&(n.stopReason=e.stopReason);break}}return{contentBlocks:n.contentBlocks,stopReason:n.stopReason,inputTokens:n.inputTokens,outputTokens:n.outputTokens}}async function*z(e,t){let{executor:n,observability:r,traceId:i,turn:a}=t,o=e.name,s=e.input||{},c=e.id,l=n.get(o);if(!l)return yield{type:`tool_use_result`,data:{id:c,name:o,result:`Unknown tool: ${o}`,isError:!0}},{toolUseId:c,toolName:o,content:`Unknown tool: ${o}`,isError:!0};let u=Date.now();try{let e=await l(s);return e.sideEffect&&(yield e.sideEffect),yield{type:`tool_use_result`,data:{id:c,name:o,result:e.result,...e.isError?{isError:!0}:{}}},M(()=>r?.onToolEnd?.({traceId:i,turn:a,toolName:o,toolUseId:c,isError:!!e.isError,durationMs:Date.now()-u})),{toolUseId:c,toolName:o,content:e.result,...e.isError?{isError:!0}:{}}}catch(e){let t=e instanceof Error?e.message:`Tool execution failed`;return yield{type:`tool_use_result`,data:{id:c,name:o,result:t,isError:!0}},M(()=>r?.onToolEnd?.({traceId:i,turn:a,toolName:o,toolUseId:c,isError:!0,durationMs:Date.now()-u})),{toolUseId:c,toolName:o,content:t,isError:!0}}}async function*B(e,t){let n=[];for(let r of e){if(r.type!==`tool_use`)continue;let e=yield*z(r,t);n.push(e)}return n}var V={anthropic:`claude-sonnet-4-6`,openai:`gpt-4.1-mini`,google:`gemini-3-flash-preview`};async function*H(t){let{message:n,history:r,semanticLayer:i,securityContext:a,agentConfig:o,apiKey:c}=t,l=t.sessionId||crypto.randomUUID(),u=o.observability,d=crypto.randomUUID(),f=Date.now(),p=t.providerOverride||o.provider||`anthropic`,m=t.modelOverride||o.model||V[p]||`claude-sonnet-4-6`,h=t.baseURLOverride||o.baseURL,g=o.maxTurns||25,_=o.maxTokens||4096,v;try{v=await A(p,c,{baseURL:h})}catch(t){console.error(`[agent] Failed to create %s provider: %s`,String(p).replace(/\n|\r/g,``),String(t instanceof Error?t.message:t).replace(/\n|\r/g,``)),yield{type:`error`,data:{message:t instanceof Error?t.message:e.O(`server.errors.llmInitFailed`)}};return}let y=O(),b=k({semanticLayer:i,securityContext:a}),x=s(i.getMetadata());t.systemContext&&(x+=`\n\n## User Context\n\n${t.systemContext}`),M(()=>u?.onChatStart?.({traceId:d,sessionId:l,message:n,model:m,historyLength:r?.length??0}));let S=N(r,v);S.push({role:`user`,content:n});let C=0;try{for(let e=0;e<g;e++){C=e+1;let t=await v.createStream({model:m,maxTokens:_,system:x,tools:y,messages:S}),n=Date.now(),{contentBlocks:r,stopReason:i,inputTokens:a,outputTokens:o}=yield*R(v,t);if(M(()=>u?.onGenerationEnd?.({traceId:d,turn:e,model:m,stopReason:i,inputTokens:a,outputTokens:o,durationMs:Date.now()-n,input:S,output:r})),S.push({role:`assistant`,content:r}),!v.shouldContinue(i))break;let s=yield*B(r,{executor:b,observability:u,traceId:d,turn:e});yield{type:`turn_complete`,data:{}},j(S,v.formatToolResults(s))}M(()=>u?.onChatEnd?.({traceId:d,sessionId:l,totalTurns:C,durationMs:Date.now()-f})),yield{type:`done`,data:{sessionId:l||``,traceId:d}}}catch(e){try{u?.onChatEnd?.({traceId:d,sessionId:l,totalTurns:0,durationMs:Date.now()-f,error:e instanceof Error?e.message:`Unknown error`})}catch{}console.error(`[agent] Chat error (provider=%s, model=%s): %s`,String(p).replace(/\n|\r/g,``),String(m).replace(/\n|\r/g,``),String(e instanceof Error?e.message:e).replace(/\n|\r/g,``)),yield{type:`error`,data:{message:v.formatError(e)}}}}exports.handleAgentChat=H;
@@ -1,7 +1,7 @@
1
1
  import { Context } from 'hono';
2
- import { SemanticLayerCompiler } from '../../server/compiler';
3
- import { SecurityContext } from '../../server';
4
- import { AgentConfig } from '../../server/agent/types';
2
+ import { SemanticLayerCompiler } from '../../server/compiler.js';
3
+ import { SecurityContext } from '../../server/index.js';
4
+ import { AgentConfig } from '../../server/agent/types.js';
5
5
  /**
6
6
  * Handle a `POST /agent/chat` request: validate input, resolve the API key and
7
7
  * overrides, then stream agent events as SSE. Mirrors the previous inline route.
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-_whV4fXL.cjs"),t=require("../locale-ZLUUNUxr.cjs"),n=require("../mcp-transport-Chiaj4ll.cjs");let r=require("hono");var i=e=>{let t={origin:`*`,allowMethods:[`GET`,`HEAD`,`PUT`,`POST`,`DELETE`,`PATCH`],allowHeaders:[],exposeHeaders:[],...e},n=(e=>typeof e==`string`?e===`*`?()=>e:t=>e===t?t:null:typeof e==`function`?e:t=>e.includes(t)?t:null)(t.origin),r=(e=>typeof e==`function`?e:Array.isArray(e)?()=>e:()=>[])(t.allowMethods);return async function(e,i){function a(t,n){e.res.headers.set(t,n)}let o=await n(e.req.header(`origin`)||``,e);if(o&&a(`Access-Control-Allow-Origin`,o),t.credentials&&a(`Access-Control-Allow-Credentials`,`true`),t.exposeHeaders?.length&&a(`Access-Control-Expose-Headers`,t.exposeHeaders.join(`,`)),e.req.method===`OPTIONS`){t.origin!==`*`&&a(`Vary`,`Origin`),t.maxAge!=null&&a(`Access-Control-Max-Age`,t.maxAge.toString());let n=await r(e.req.header(`origin`)||``,e);n.length&&a(`Access-Control-Allow-Methods`,n.join(`,`));let i=t.allowHeaders;if(!i?.length){let t=e.req.header(`Access-Control-Request-Headers`);t&&(i=t.split(/\s*,\s*/))}return i?.length&&(a(`Access-Control-Allow-Headers`,i.join(`,`)),e.res.headers.append(`Vary`,`Access-Control-Request-Headers`)),e.res.headers.delete(`Content-Length`),e.res.headers.delete(`Content-Type`),new Response(null,{headers:e.res.headers,status:204,statusText:`No Content`})}await i(),t.origin!==`*`&&e.header(`Vary`,`Origin`,{append:!0})}};async function a(e,t){if(t.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(t.resourceMetadataUrl)),{response:e.json({error:`Bearer token required`},401)};let r=n.S(e.req.header(`origin`),t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{});if(!r.valid)return{response:e.json(n.i(null,-32600,r.reason),403)};let i=e.req.header(`accept`);if(!n.x(i))return{response:e.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),400)};let a=n.h(e.req.header());if(!a.ok)return{response:e.json({error:`Unsupported MCP protocol version`,supported:a.supported},426)};let o=n.g(await e.req.json().catch(()=>null));return o?{rpcRequest:o,acceptHeader:i,negotiatedProtocol:a.negotiated}:{response:e.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),400)}}function o(e,t){let r=new TextEncoder,i=n._(),a=new ReadableStream({start(t){t.enqueue(r.encode(`id: ${i}\n\n`)),t.enqueue(r.encode(n.b(e,i))),t.close()}});return new Response(a,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...t}})}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){return n.C(e)}function u(e,t,r,i){if(n.m(t))return e.body(null,202);let a=n.a(t.id??null,r),c=s(t.method===`initialize`,r,n.r);return i?o(a,c):e.json(a,200,c)}function d(e,t,r,i){if(n.m(t))return console.error(`MCP notification processing error:`,r),e.body(null,202);console.error(`MCP RPC error:`,r);let a=c(r,t.id);return i?o(a):e.json(a,200)}async function f(e,t,r,i){try{return u(e,t,await n.l(t.method,t.params,i),r)}catch(n){return d(e,t,n,r)}}function p(e,t){let n=(t.apiKey||``).trim();if(t.allowClientApiKey){let t=e.req.header(`x-agent-api-key`);t&&(n=t.trim())}return n}function m(e,t){return t.allowClientApiKey?{providerOverride:e.req.header(`x-agent-provider`),modelOverride:e.req.header(`x-agent-model`),baseURLOverride:e.req.header(`x-agent-provider-endpoint`)}:{}}function h(e){let t=new TextEncoder,n=new ReadableStream({async start(n){try{for await(let r of e)n.enqueue(t.encode(`data: ${JSON.stringify(r)}\n\n`))}catch(e){let r={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};n.enqueue(t.encode(`data: ${JSON.stringify(r)}\n\n`))}finally{n.close()}}});return new Response(n,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}async function g(e,t,n,r){try{let{handleAgentChat:i}=await Promise.resolve().then(()=>require("../handler-Cn0dOctE.cjs")),{message:a,sessionId:o,history:s}=await e.req.json();if(!a||typeof a!=`string`)return e.json({error:`message is required and must be a string`},400);let c=p(e,t);if(!c)return e.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},401);let{providerOverride:l,modelOverride:u,baseURLOverride:d}=m(e,t),f=await r(e),g=t.buildSystemContext?.(f);return h(i({message:a,sessionId:o,history:s,semanticLayer:n,securityContext:f,agentConfig:t,apiKey:c,systemContext:g,providerOverride:l,modelOverride:u,baseURLOverride:d}))}catch(t){return console.error(`Agent chat error:`,t),e.json({error:t instanceof Error?t.message:`Agent chat failed`},500)}}function _(o){let{cubes:s,drizzle:c,schema:u,extractSecurityContext:d,engineType:p,cors:m,basePath:h=`/cubejs-api/v1`,cache:_,mcp:v={enabled:!0},agent:y}=o;if(!o.semanticLayer&&(!s||s.length===0))throw Error(`Either semanticLayer or a non-empty cubes array must be provided`);let b=new r.Hono,x=async e=>t.r(await d(e),t.n(t=>e.req.header(t)));if(m){let e={...m,allowHeaders:t.t(m.allowHeaders)};b.use(`/*`,i(e))}let S=o.semanticLayer??new t.i({drizzle:c,schema:u,engineType:p,cache:_,rlsSetup:o.rlsSetup});if(!o.semanticLayer&&s&&s.forEach(e=>{S.registerCube(e)}),b.post(`${h}/load`,async t=>{try{let n=await t.req.json(),r=n.query||n,i=await x(t),a=S.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await S.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,S))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),b.get(`${h}/load`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r;try{r=JSON.parse(n)}catch{return t.json({error:`Invalid JSON in query parameter`},400)}let i=await x(t),a=S.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await S.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,S))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),b.post(`${h}/batch`,async t=>{try{let{queries:n}=await t.req.json();if(!n||!Array.isArray(n))return t.json({error:`Request body must contain a "queries" array`},400);if(n.length===0)return t.json({error:`Queries array cannot be empty`},400);let r=await e.l(n,await x(t),S,{skipCache:t.req.header(`x-cache-control`)===`no-cache`});return t.json(r)}catch(e){return console.error(`Batch execution error:`,e),t.json({error:e instanceof Error?e.message:`Batch execution failed`},500)}}),b.get(`${h}/meta`,t=>{try{let n=S.getMetadata();return t.json(e.a(n))}catch(e){return console.error(`Metadata error:`,e),t.json({error:e instanceof Error?e.message:`Failed to fetch metadata`},500)}}),b.post(`${h}/sql`,async t=>{try{let n=await t.req.json(),r=await x(t),i=S.validateQuery(n);if(!i.isValid)return t.json({error:`Query validation failed: ${i.errors.join(`, `)}`},400);let a=n.measures?.[0]||n.dimensions?.[0];if(!a)return t.json({error:`No measures or dimensions specified`},400);let o=a.split(`.`)[0],s=await S.generateSQL(o,n,r);return t.json(e.o(n,s))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),b.get(`${h}/sql`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r=JSON.parse(n),i=await x(t),a=S.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return t.json({error:`No measures or dimensions specified`},400);let s=o.split(`.`)[0],c=await S.generateSQL(s,r,i);return t.json(e.o(r,c))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),b.post(`${h}/dry-run`,async t=>{try{let n=await t.req.json(),r=await e.u(n.query||n,await x(t),S);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),b.get(`${h}/dry-run`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`,valid:!1},400);let r=await e.u(JSON.parse(n),await x(t),S);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),b.post(`${h}/explain`,async e=>{try{let t=await e.req.json(),n=t.query||t,r=t.options||{},i=await x(e),a=S.validateQuery(n);if(!a.isValid)return e.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=await S.explainQuery(n,i,r);return e.json(o)}catch(t){return console.error(`Explain error:`,t),e.json({error:t instanceof Error?t.message:`Explain query failed`},500)}}),y&&b.post(`${h}/agent/chat`,e=>g(e,y,S,x)),v.enabled!==!1){let e=n.o(S,v.resources),t=n.y(v.prompts),r=n.v(v.instructions),i=v.basePath??`/mcp`;b.post(`${i}`,async n=>{let i=await a(n,v);if(i.response)return i.response;let o=i.rpcRequest;return f(n,o,l(i.acceptHeader),{semanticLayer:S,extractSecurityContext:(e,t)=>x(e),rawRequest:n,rawResponse:null,negotiatedProtocol:i.negotiatedProtocol,resources:e,prompts:t,instructions:r,appEnabled:!!v.app,appConfig:typeof v.app==`object`?v.app:void 0,serverName:v.serverName})}),b.delete(`${i}`,e=>v.resourceMetadataUrl&&!n.u(e.req.header(`authorization`))?(e.header(`WWW-Authenticate`,n.c(v.resourceMetadataUrl)),e.json({error:`Bearer token required`},401)):e.json({error:`Session termination not supported`},405)),b.get(`${i}`,e=>{if(v.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(v.resourceMetadataUrl)),e.json({error:`Bearer token required`},401);let t=new TextEncoder,r=n._(),i,a=new ReadableStream({start(e){e.enqueue(t.encode(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3))),i=setInterval(()=>{e.enqueue(t.encode(`: keep-alive
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-_whV4fXL.cjs"),t=require("../locale-ZLUUNUxr.cjs"),n=require("../mcp-transport-B7ddET3M.cjs");let r=require("hono");var i=e=>{let t={origin:`*`,allowMethods:[`GET`,`HEAD`,`PUT`,`POST`,`DELETE`,`PATCH`],allowHeaders:[],exposeHeaders:[],...e},n=(e=>typeof e==`string`?e===`*`?()=>e:t=>e===t?t:null:typeof e==`function`?e:t=>e.includes(t)?t:null)(t.origin),r=(e=>typeof e==`function`?e:Array.isArray(e)?()=>e:()=>[])(t.allowMethods);return async function(e,i){function a(t,n){e.res.headers.set(t,n)}let o=await n(e.req.header(`origin`)||``,e);if(o&&a(`Access-Control-Allow-Origin`,o),t.credentials&&a(`Access-Control-Allow-Credentials`,`true`),t.exposeHeaders?.length&&a(`Access-Control-Expose-Headers`,t.exposeHeaders.join(`,`)),e.req.method===`OPTIONS`){t.origin!==`*`&&a(`Vary`,`Origin`),t.maxAge!=null&&a(`Access-Control-Max-Age`,t.maxAge.toString());let n=await r(e.req.header(`origin`)||``,e);n.length&&a(`Access-Control-Allow-Methods`,n.join(`,`));let i=t.allowHeaders;if(!i?.length){let t=e.req.header(`Access-Control-Request-Headers`);t&&(i=t.split(/\s*,\s*/))}return i?.length&&(a(`Access-Control-Allow-Headers`,i.join(`,`)),e.res.headers.append(`Vary`,`Access-Control-Request-Headers`)),e.res.headers.delete(`Content-Length`),e.res.headers.delete(`Content-Type`),new Response(null,{headers:e.res.headers,status:204,statusText:`No Content`})}await i(),t.origin!==`*`&&e.header(`Vary`,`Origin`,{append:!0})}};async function a(e,t){if(t.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(t.resourceMetadataUrl)),{response:e.json({error:`Bearer token required`},401)};let r=n.S(e.req.header(`origin`),t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{});if(!r.valid)return{response:e.json(n.i(null,-32600,r.reason),403)};let i=e.req.header(`accept`);if(!n.x(i))return{response:e.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),400)};let a=n.h(e.req.header());if(!a.ok)return{response:e.json({error:`Unsupported MCP protocol version`,supported:a.supported},426)};let o=n.g(await e.req.json().catch(()=>null));return o?{rpcRequest:o,acceptHeader:i,negotiatedProtocol:a.negotiated}:{response:e.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),400)}}function o(e,t){let r=new TextEncoder,i=n._(),a=new ReadableStream({start(t){t.enqueue(r.encode(`id: ${i}\n\n`)),t.enqueue(r.encode(n.b(e,i))),t.close()}});return new Response(a,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...t}})}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){return n.C(e)}function u(e,t,r,i){if(n.m(t))return e.body(null,202);let a=n.a(t.id??null,r),c=s(t.method===`initialize`,r,n.r);return i?o(a,c):e.json(a,200,c)}function d(e,t,r,i){if(n.m(t))return console.error(`MCP notification processing error:`,r),e.body(null,202);console.error(`MCP RPC error:`,r);let a=c(r,t.id);return i?o(a):e.json(a,200)}async function f(e,t,r,i){try{return u(e,t,await n.l(t.method,t.params,i),r)}catch(n){return d(e,t,n,r)}}function p(e,t){let n=(t.apiKey||``).trim();if(t.allowClientApiKey){let t=e.req.header(`x-agent-api-key`);t&&(n=t.trim())}return n}function m(e,t){return t.allowClientApiKey?{providerOverride:e.req.header(`x-agent-provider`),modelOverride:e.req.header(`x-agent-model`),baseURLOverride:e.req.header(`x-agent-provider-endpoint`)}:{}}function h(e){let t=new TextEncoder,n=new ReadableStream({async start(n){try{for await(let r of e)n.enqueue(t.encode(`data: ${JSON.stringify(r)}\n\n`))}catch(e){let r={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};n.enqueue(t.encode(`data: ${JSON.stringify(r)}\n\n`))}finally{n.close()}}});return new Response(n,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}async function g(e,t,n,r){try{let{handleAgentChat:i}=await Promise.resolve().then(()=>require("../handler-OwxSBJH8.cjs")),{message:a,sessionId:o,history:s}=await e.req.json();if(!a||typeof a!=`string`)return e.json({error:`message is required and must be a string`},400);let c=p(e,t);if(!c)return e.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},401);let{providerOverride:l,modelOverride:u,baseURLOverride:d}=m(e,t),f=await r(e),g=t.buildSystemContext?.(f);return h(i({message:a,sessionId:o,history:s,semanticLayer:n,securityContext:f,agentConfig:t,apiKey:c,systemContext:g,providerOverride:l,modelOverride:u,baseURLOverride:d}))}catch(t){return console.error(`Agent chat error:`,t),e.json({error:t instanceof Error?t.message:`Agent chat failed`},500)}}function _(o){let{cubes:s,drizzle:c,schema:u,extractSecurityContext:d,engineType:p,cors:m,basePath:h=`/cubejs-api/v1`,cache:_,mcp:v={enabled:!0},agent:y}=o;if(!o.semanticLayer&&(!s||s.length===0))throw Error(`Either semanticLayer or a non-empty cubes array must be provided`);let b=new r.Hono,x=async e=>t.r(await d(e),t.n(t=>e.req.header(t)));if(m){let e={...m,allowHeaders:t.t(m.allowHeaders)};b.use(`/*`,i(e))}let S=o.semanticLayer??new t.i({drizzle:c,schema:u,engineType:p,cache:_,rlsSetup:o.rlsSetup});if(!o.semanticLayer&&s&&s.forEach(e=>{S.registerCube(e)}),b.post(`${h}/load`,async t=>{try{let n=await t.req.json(),r=n.query||n,i=await x(t),a=S.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await S.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,S))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),b.get(`${h}/load`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r;try{r=JSON.parse(n)}catch{return t.json({error:`Invalid JSON in query parameter`},400)}let i=await x(t),a=S.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await S.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,S))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),b.post(`${h}/batch`,async t=>{try{let{queries:n}=await t.req.json();if(!n||!Array.isArray(n))return t.json({error:`Request body must contain a "queries" array`},400);if(n.length===0)return t.json({error:`Queries array cannot be empty`},400);let r=await e.l(n,await x(t),S,{skipCache:t.req.header(`x-cache-control`)===`no-cache`});return t.json(r)}catch(e){return console.error(`Batch execution error:`,e),t.json({error:e instanceof Error?e.message:`Batch execution failed`},500)}}),b.get(`${h}/meta`,t=>{try{let n=S.getMetadata();return t.json(e.a(n))}catch(e){return console.error(`Metadata error:`,e),t.json({error:e instanceof Error?e.message:`Failed to fetch metadata`},500)}}),b.post(`${h}/sql`,async t=>{try{let n=await t.req.json(),r=await x(t),i=S.validateQuery(n);if(!i.isValid)return t.json({error:`Query validation failed: ${i.errors.join(`, `)}`},400);let a=n.measures?.[0]||n.dimensions?.[0];if(!a)return t.json({error:`No measures or dimensions specified`},400);let o=a.split(`.`)[0],s=await S.generateSQL(o,n,r);return t.json(e.o(n,s))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),b.get(`${h}/sql`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r=JSON.parse(n),i=await x(t),a=S.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return t.json({error:`No measures or dimensions specified`},400);let s=o.split(`.`)[0],c=await S.generateSQL(s,r,i);return t.json(e.o(r,c))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),b.post(`${h}/dry-run`,async t=>{try{let n=await t.req.json(),r=await e.u(n.query||n,await x(t),S);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),b.get(`${h}/dry-run`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`,valid:!1},400);let r=await e.u(JSON.parse(n),await x(t),S);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),b.post(`${h}/explain`,async e=>{try{let t=await e.req.json(),n=t.query||t,r=t.options||{},i=await x(e),a=S.validateQuery(n);if(!a.isValid)return e.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=await S.explainQuery(n,i,r);return e.json(o)}catch(t){return console.error(`Explain error:`,t),e.json({error:t instanceof Error?t.message:`Explain query failed`},500)}}),y&&b.post(`${h}/agent/chat`,e=>g(e,y,S,x)),v.enabled!==!1){let e=n.o(S,v.resources),t=n.y(v.prompts),r=n.v(v.instructions),i=v.basePath??`/mcp`;b.post(`${i}`,async n=>{let i=await a(n,v);if(i.response)return i.response;let o=i.rpcRequest;return f(n,o,l(i.acceptHeader),{semanticLayer:S,extractSecurityContext:(e,t)=>x(e),rawRequest:n,rawResponse:null,negotiatedProtocol:i.negotiatedProtocol,resources:e,prompts:t,instructions:r,appEnabled:!!v.app,appConfig:typeof v.app==`object`?v.app:void 0,serverName:v.serverName})}),b.delete(`${i}`,e=>v.resourceMetadataUrl&&!n.u(e.req.header(`authorization`))?(e.header(`WWW-Authenticate`,n.c(v.resourceMetadataUrl)),e.json({error:`Bearer token required`},401)):e.json({error:`Session termination not supported`},405)),b.get(`${i}`,e=>{if(v.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(v.resourceMetadataUrl)),e.json({error:`Bearer token required`},401);let t=new TextEncoder,r=n._(),i,a=new ReadableStream({start(e){e.enqueue(t.encode(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3))),i=setInterval(()=>{e.enqueue(t.encode(`: keep-alive
2
2
 
3
3
  `))},15e3)},cancel(){clearInterval(i)}});return new Response(a,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})})}return b}function v(e,t){let n=_(t);return e.route(`/`,n),e}function y(e){return v(new r.Hono,e)}exports.createCubeApp=y,exports.createCubeRoutes=_,exports.mountCubeRoutes=v;
@@ -1,11 +1,11 @@
1
1
  import { Hono } from 'hono';
2
- import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server';
3
- import { AgentConfig } from '../../server/agent/types';
4
- import { SemanticLayerCompiler } from '../../server/compiler';
2
+ import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
3
+ import { AgentConfig } from '../../server/agent/types.js';
4
+ import { SemanticLayerCompiler } from '../../server/compiler.js';
5
5
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
6
6
  import { MySql2Database } from 'drizzle-orm/mysql2';
7
7
  import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
8
- import { MCPOptions } from '../utils';
8
+ import { MCPOptions } from '../utils.js';
9
9
  export interface HonoAdapterOptions {
10
10
  /**
11
11
  * Array of cube definitions to register.
@@ -1,6 +1,6 @@
1
1
  import { a as e, l as t, o as n, r, u as i } from "../utils-BPWZsX7k.js";
2
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";
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-Dfuj4j4q.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) => {
@@ -146,7 +146,7 @@ function R(e) {
146
146
  }
147
147
  async function z(e, t, n, r) {
148
148
  try {
149
- let { handleAgentChat: i } = await import("../handler-CfgE0JSL.js"), { message: a, sessionId: o, history: s } = await e.req.json();
149
+ let { handleAgentChat: i } = await import("../handler-CtaSua-i.js"), { message: a, sessionId: o, history: s } = await e.req.json();
150
150
  if (!a || typeof a != "string") return e.json({ error: "message is required and must be a string" }, 400);
151
151
  let c = I(e, t);
152
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);
@@ -1,5 +1,5 @@
1
1
  import { Context } from 'hono';
2
- import { JsonRpcRequest, McpDispatchContext } from '../mcp-transport';
2
+ import { JsonRpcRequest, McpDispatchContext } from '../mcp-transport.js';
3
3
  /** MCP endpoint config fields the handler helpers depend on. */
4
4
  export interface HonoMcpHandlerConfig {
5
5
  resourceMetadataUrl?: string;
@@ -27,7 +27,7 @@ export declare function buildMcpSseResponse(payload: unknown, extraHeaders?: Rec
27
27
  /** Extract the MCP-Session-Id header value from an `initialize` result, if present. */
28
28
  export declare function extractMcpSessionHeaders(isInitialize: boolean, result: unknown, headerName: string): Record<string, string>;
29
29
  /** Build a JSON-RPC error response from a thrown error (preserving code/data). */
30
- export declare function buildMcpErrorPayload(error: unknown, id: JsonRpcRequest['id']): import('../mcp-transport').JsonRpcResponse;
30
+ export declare function buildMcpErrorPayload(error: unknown, id: JsonRpcRequest['id']): import('../mcp-transport.js').JsonRpcResponse;
31
31
  /** Wrap `wantsEventStream` so the handler imports a single helper module. */
32
32
  export declare function clientWantsStream(acceptHeader?: string): boolean;
33
33
  /**
@@ -1,4 +1,4 @@
1
- import { SecurityContext } from '../server';
1
+ import { SecurityContext } from '../server/index.js';
2
2
  export declare const DC_LOCALE_HEADER = "x-dc-locale";
3
3
  export declare const DEFAULT_LOCALE = "en-GB";
4
4
  type HeaderValue = string | string[] | null | undefined;
@@ -1,5 +1,5 @@
1
- import { SemanticLayerCompiler, SecurityContext } from '../server';
2
- import { MCPToolResult } from './mcp-tools';
1
+ import { SemanticLayerCompiler, SecurityContext } from '../server/index.js';
2
+ import { MCPToolResult } from './mcp-tools.js';
3
3
  export interface CubeToolHandlerDeps {
4
4
  semanticLayer: SemanticLayerCompiler;
5
5
  getSecurityContext: (meta?: unknown) => SecurityContext | Promise<SecurityContext>;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-_whV4fXL.cjs"),t=require("./mcp-transport-Chiaj4ll.cjs");function n(t,n){return e.p(t.semanticLayer,n||{}).then(t.wrapContent)}async function r(t,n,r){let i=n||{};if(!i.query)return t.wrapError(`query is required`);let a;try{a=await t.getSecurityContext(r)}catch{}return t.wrapContent(await e.f(t.semanticLayer,i,a))}async function i(t,n,r){let i=n||{};if(!i.query)return t.wrapError(`query is required`);let a=await t.getSecurityContext(r);return t.wrapContent(await e.m(t.semanticLayer,a,i))}function a(e){return{content:[{type:`text`,text:typeof e==`string`?e:JSON.stringify(e)}],isError:!1}}function o(e){return{content:[{type:`text`,text:e instanceof Error?e.message:String(e)}],isError:!0}}function s(e){let{semanticLayer:s,getSecurityContext:l,toolPrefix:u=`drizzle_cube_`,tools:d=[`discover`,`validate`,`load`,`chart`],prompts:f=t.d(),resources:p,app:m=!1}=e,h=!!m,g=typeof m==`object`?m:void 0,_=p??t.f(),v=h?[..._,...c(g)]:_,y=t.s({appEnabled:h}),b=new Map(y.map(e=>[e.name,e])),x=d.filter(e=>b.has(e)).map(e=>{let t=b.get(e),n={name:`${u}${e}`,description:t.description,inputSchema:t.inputSchema},r=t._meta;return r&&(n._meta=r),n}),S=x.map(e=>e.name),C=new Set;for(let e of d)C.add(e),C.add(`${u}${e}`);function w(e){return C.has(e)}let T={semanticLayer:s,getSecurityContext:l,wrapContent:a,wrapError:o},E={discover:e=>n(T,e),validate:(e,t)=>r(T,e,t),load:(e,t)=>i(T,e,t),chart:(e,t)=>i(T,e,t)};async function D(e,t,n){let r=e.startsWith(u)?e.slice(u.length):e,i=d.includes(r)?E[r]:void 0;if(!i)return o(`Unknown tool: ${e}`);try{return await i(t,n)}catch(e){return o(e)}}return{definitions:x,handle:D,handles:w,prompts:f,resources:v,toolNames:S}}function c(e){let n=t.p(e);return n?[{uri:t.n,name:`Drizzle Cube Visualization`,description:`Interactive chart visualization for query results`,mimeType:t.t,text:n}]:[]}exports.getCubeTools=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-_whV4fXL.cjs"),t=require("./mcp-transport-B7ddET3M.cjs");function n(t,n){return e.p(t.semanticLayer,n||{}).then(t.wrapContent)}async function r(t,n,r){let i=n||{};if(!i.query)return t.wrapError(`query is required`);let a;try{a=await t.getSecurityContext(r)}catch{}return t.wrapContent(await e.f(t.semanticLayer,i,a))}async function i(t,n,r){let i=n||{};if(!i.query)return t.wrapError(`query is required`);let a=await t.getSecurityContext(r);return t.wrapContent(await e.m(t.semanticLayer,a,i))}function a(e){return{content:[{type:`text`,text:typeof e==`string`?e:JSON.stringify(e)}],isError:!1}}function o(e){return{content:[{type:`text`,text:e instanceof Error?e.message:String(e)}],isError:!0}}function s(e){let{semanticLayer:s,getSecurityContext:l,toolPrefix:u=`drizzle_cube_`,tools:d=[`discover`,`validate`,`load`,`chart`],prompts:f=t.d(),resources:p,app:m=!1}=e,h=!!m,g=typeof m==`object`?m:void 0,_=p??t.f(),v=h?[..._,...c(g)]:_,y=t.s({appEnabled:h}),b=new Map(y.map(e=>[e.name,e])),x=d.filter(e=>b.has(e)).map(e=>{let t=b.get(e),n={name:`${u}${e}`,description:t.description,inputSchema:t.inputSchema},r=t._meta;return r&&(n._meta=r),n}),S=x.map(e=>e.name),C=new Set;for(let e of d)C.add(e),C.add(`${u}${e}`);function w(e){return C.has(e)}let T={semanticLayer:s,getSecurityContext:l,wrapContent:a,wrapError:o},E={discover:e=>n(T,e),validate:(e,t)=>r(T,e,t),load:(e,t)=>i(T,e,t),chart:(e,t)=>i(T,e,t)};async function D(e,t,n){let r=e.startsWith(u)?e.slice(u.length):e,i=d.includes(r)?E[r]:void 0;if(!i)return o(`Unknown tool: ${e}`);try{return await i(t,n)}catch(e){return o(e)}}return{definitions:x,handle:D,handles:w,prompts:f,resources:v,toolNames:S}}function c(e){let n=t.p(e);return n?[{uri:t.n,name:`Drizzle Cube Visualization`,description:`Interactive chart visualization for query results`,mimeType:t.t,text:n}]:[]}exports.getCubeTools=s;
@@ -1,9 +1,9 @@
1
- import { SemanticLayerCompiler, SecurityContext } from '../server';
2
- import { DiscoverRequest, ValidateRequest, LoadRequest } from './utils';
3
- import { MCPPrompt } from '../server/ai/mcp-prompts';
4
- import { MCPResource, McpAppConfig } from './mcp-transport';
1
+ import { SemanticLayerCompiler, SecurityContext } from '../server/index.js';
2
+ import { DiscoverRequest, ValidateRequest, LoadRequest } from './utils.js';
3
+ import { MCPPrompt } from '../server/ai/mcp-prompts.js';
4
+ import { MCPResource, McpAppConfig } from './mcp-transport.js';
5
5
  export type { MCPPrompt, MCPResource, DiscoverRequest, ValidateRequest, LoadRequest };
6
- export type { SecurityContext } from '../server';
6
+ export type { SecurityContext } from '../server/index.js';
7
7
  /**
8
8
  * MCP tool content block (matches MCP spec)
9
9
  */
@@ -1,5 +1,5 @@
1
1
  import { f as e, m as t, p as n } from "./utils-BPWZsX7k.js";
2
- import { d as r, f as i, n as a, p as o, s, t as c } from "./mcp-transport-H96VG3WY.js";
2
+ import { d as r, f as i, n as a, p as o, s, t as c } from "./mcp-transport-Dfuj4j4q.js";
3
3
  //#region src/adapters/mcp-tools-handlers.ts
4
4
  function l(e, t) {
5
5
  return n(e.semanticLayer, t || {}).then(e.wrapContent);