drizzle-cube 0.6.1 → 0.6.3

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 (796) hide show
  1. package/dist/adapters/ActivityGridChart.config-BtECymia.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-CTd5HYjI.js +2 -0
  3. package/dist/adapters/AreaChart.config-1B8iQnfn.js +2 -0
  4. package/dist/adapters/AreaChart.config-hnncyQL4.cjs +1 -0
  5. package/dist/adapters/BarChart.config-C-QCf1rL.cjs +1 -0
  6. package/dist/adapters/BarChart.config-CFelK1qP.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-CD9WEPyF.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-DEbLA0BX.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-B_M4hzzV.js +2 -0
  10. package/dist/adapters/BubbleChart.config-dRZZlAke.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-Dsil2Fop.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-fuhyFvob.js +2 -0
  13. package/dist/adapters/DataTable.config-q2gqBi6t.cjs +1 -0
  14. package/dist/adapters/DataTable.config-wIQnHX5R.js +2 -0
  15. package/dist/adapters/FunnelChart.config-Dz710ssx.js +2 -0
  16. package/dist/adapters/FunnelChart.config-YNP9CeS-.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-BG9FcMCn.cjs +1 -0
  18. package/dist/adapters/GaugeChart.config-CgwniXkd.js +2 -0
  19. package/dist/adapters/HeatMapChart.config-1zSMXXoN.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-YVEWx6s5.js +2 -0
  21. package/dist/adapters/KpiDelta.config-BWvYXuFp.cjs +1 -0
  22. package/dist/adapters/KpiDelta.config-C_dYM64q.js +2 -0
  23. package/dist/adapters/KpiNumber.config-CXg6toZG.js +2 -0
  24. package/dist/adapters/KpiNumber.config-CZmV-yU1.cjs +1 -0
  25. package/dist/adapters/KpiText.config-BY-SJvAF.js +2 -0
  26. package/dist/adapters/KpiText.config-GSIxy0CE.cjs +1 -0
  27. package/dist/adapters/LineChart.config-CJtF8SOu.js +2 -0
  28. package/dist/adapters/LineChart.config-d0y60gw9.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-B6w0spya.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-BuIQcWOn.js +2 -0
  31. package/dist/adapters/MeasureProfileChart.config-Bo2n5Ae5.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-C5d34lsc.js +2 -0
  33. package/dist/adapters/PieChart.config-CDxfXCIt.cjs +1 -0
  34. package/dist/adapters/PieChart.config-CuZxQc5m.js +2 -0
  35. package/dist/adapters/RadarChart.config-DpdVWyh5.cjs +1 -0
  36. package/dist/adapters/RadarChart.config-KrxwaaGu.js +2 -0
  37. package/dist/adapters/RadialBarChart.config-DpRZd0FW.js +2 -0
  38. package/dist/adapters/RadialBarChart.config-faIY4jpE.cjs +1 -0
  39. package/dist/adapters/RetentionCombinedChart.config-CUnScqnS.cjs +1 -0
  40. package/dist/adapters/RetentionCombinedChart.config-Dd8FuawP.js +2 -0
  41. package/dist/adapters/RetentionHeatmap.config-CPd6GeoQ.js +2 -0
  42. package/dist/adapters/RetentionHeatmap.config-CPlHbLom.cjs +1 -0
  43. package/dist/adapters/SankeyChart.config-DbIUqi-H.cjs +1 -0
  44. package/dist/adapters/SankeyChart.config-kzAnW0C7.js +2 -0
  45. package/dist/adapters/ScatterChart.config-4Okvn27v.js +2 -0
  46. package/dist/adapters/ScatterChart.config-4f9nNw3e.cjs +1 -0
  47. package/dist/adapters/SunburstChart.config-BsUQkIM_.js +2 -0
  48. package/dist/adapters/SunburstChart.config-lvnYkWs7.cjs +1 -0
  49. package/dist/adapters/TreeMapChart.config-S0qsgAFW.js +2 -0
  50. package/dist/adapters/TreeMapChart.config-jbwKsTYt.cjs +1 -0
  51. package/dist/adapters/WaterfallChart.config-CDQ74-pS.cjs +1 -0
  52. package/dist/adapters/WaterfallChart.config-XdtH-O5g.js +2 -0
  53. package/dist/adapters/chartConfigHelpers-CcvqrIWF.js +72 -0
  54. package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +1 -0
  55. package/dist/adapters/{locale-ZLUUNUxr.cjs → compiler-ChGO4ZLU.cjs} +1 -1
  56. package/dist/adapters/{locale-DDvZDFVn.js → compiler-LKTN9PTt.js} +2 -21
  57. package/dist/adapters/core/cube-http-handler.d.ts +27 -0
  58. package/dist/adapters/core/http-port.d.ts +39 -0
  59. package/dist/adapters/core/index.cjs +1 -0
  60. package/dist/adapters/core/index.d.ts +11 -0
  61. package/dist/adapters/core/index.js +2 -0
  62. package/dist/adapters/core/mcp-handler.d.ts +13 -0
  63. package/dist/adapters/core/rest-handlers.d.ts +14 -0
  64. package/dist/adapters/core/security-context.d.ts +17 -0
  65. package/dist/adapters/core-Bbchr0ui.js +244 -0
  66. package/dist/adapters/core-F1pCQPde.cjs +1 -0
  67. package/dist/adapters/express/index.cjs +2 -2
  68. package/dist/adapters/express/index.js +93 -201
  69. package/dist/adapters/fastify/index.cjs +2 -2
  70. package/dist/adapters/fastify/index.js +79 -217
  71. package/dist/adapters/handler-DRZb2ip6.cjs +25 -0
  72. package/dist/adapters/{handler-CfgE0JSL.js → handler-u8FyzPBT.js} +1572 -1500
  73. package/dist/adapters/hono/index.cjs +2 -2
  74. package/dist/adapters/hono/index.js +69 -225
  75. package/dist/adapters/mcp-tools.cjs +1 -1
  76. package/dist/adapters/mcp-tools.js +1 -1
  77. package/dist/adapters/mcp-transport-Bw_zqky2.js +591 -0
  78. package/dist/adapters/mcp-transport-CNIPoe1i.cjs +40 -0
  79. package/dist/adapters/nextjs/index.cjs +1 -1
  80. package/dist/adapters/nextjs/index.d.ts +8 -9
  81. package/dist/adapters/nextjs/index.js +181 -288
  82. package/dist/adapters/nextjs/mcp-handler.d.ts +0 -28
  83. package/dist/adapters/{openai-D0musiYP.cjs → openai-B4kAJTSD.cjs} +3 -3
  84. package/dist/adapters/{openai-vXvLni8v.cjs → openai-Cdf2wWZA.cjs} +1 -1
  85. package/dist/adapters/{openai-B5jEiqiB.js → openai-CmMzrs1Y.js} +18 -2
  86. package/dist/adapters/{openai-cDlFSTk6.js → openai-DhzGY9R4.js} +1 -1
  87. package/dist/cjs/adapters/core/cube-http-handler.d.ts +27 -0
  88. package/dist/cjs/adapters/core/http-port.d.ts +39 -0
  89. package/dist/cjs/adapters/core/index.d.ts +11 -0
  90. package/dist/cjs/adapters/core/mcp-handler.d.ts +13 -0
  91. package/dist/cjs/adapters/core/rest-handlers.d.ts +14 -0
  92. package/dist/cjs/adapters/core/security-context.d.ts +17 -0
  93. package/dist/cjs/adapters/express/index.d.ts +114 -0
  94. package/dist/cjs/adapters/fastify/index.d.ts +113 -0
  95. package/dist/cjs/adapters/hono/agent-handler.d.ts +9 -0
  96. package/dist/cjs/adapters/hono/index.d.ts +120 -0
  97. package/dist/cjs/adapters/locale.d.ts +8 -0
  98. package/dist/cjs/adapters/mcp-tools-handlers.d.ts +18 -0
  99. package/dist/cjs/adapters/mcp-tools.d.ts +134 -0
  100. package/dist/cjs/adapters/mcp-transport.d.ts +158 -0
  101. package/dist/cjs/adapters/nextjs/index.d.ts +195 -0
  102. package/dist/cjs/adapters/nextjs/mcp-handler.d.ts +8 -0
  103. package/dist/cjs/adapters/types.d.ts +41 -0
  104. package/dist/cjs/adapters/utils.d.ts +354 -0
  105. package/dist/cjs/client/adapters/adapterRegistry.d.ts +44 -0
  106. package/dist/cjs/client/adapters/flowModeAdapter.d.ts +3 -0
  107. package/dist/cjs/client/adapters/funnelModeAdapter.d.ts +19 -0
  108. package/dist/cjs/client/adapters/index.d.ts +29 -0
  109. package/dist/cjs/client/adapters/modeAdapter.d.ts +117 -0
  110. package/dist/cjs/client/adapters/queryModeAdapter.d.ts +16 -0
  111. package/dist/cjs/client/adapters/retentionModeAdapter.d.ts +3 -0
  112. package/dist/cjs/client/charts/ChartLoader.d.ts +69 -0
  113. package/dist/cjs/client/charts/chartComponentRegistry.d.ts +38 -0
  114. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +38 -0
  115. package/dist/cjs/client/charts/chartConfigRegistry.d.ts +19 -0
  116. package/dist/cjs/client/charts/chartConfigs.d.ts +142 -0
  117. package/dist/cjs/client/charts/chartPlugin.d.ts +73 -0
  118. package/dist/cjs/client/charts/chartRegistry.d.ts +73 -0
  119. package/dist/cjs/client/charts/lazyChartConfigRegistry.d.ts +100 -0
  120. package/dist/cjs/client/charts.d.ts +17 -0
  121. package/dist/cjs/client/client/BatchCoordinator.d.ts +38 -0
  122. package/dist/cjs/client/client/CubeClient.d.ts +32 -0
  123. package/dist/cjs/client/components/AIAssistant/constants.d.ts +11 -0
  124. package/dist/cjs/client/components/AIAssistant/index.d.ts +10 -0
  125. package/dist/cjs/client/components/AIAssistant/types.d.ts +49 -0
  126. package/dist/cjs/client/components/AIAssistant/utils.d.ts +17 -0
  127. package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +27 -0
  128. package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +14 -0
  129. package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +9 -0
  130. package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +6 -0
  131. package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +12 -0
  132. package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +15 -0
  133. package/dist/cjs/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  134. package/dist/cjs/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  135. package/dist/cjs/client/components/AgenticNotebook/index.d.ts +56 -0
  136. package/dist/cjs/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  137. package/dist/cjs/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  138. package/dist/cjs/client/components/AnalysisBuilder/AnalysisAIPanel.d.ts +25 -0
  139. package/dist/cjs/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +29 -0
  140. package/dist/cjs/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +18 -0
  141. package/dist/cjs/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +11 -0
  142. package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +20 -0
  143. package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +14 -0
  144. package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +16 -0
  145. package/dist/cjs/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +27 -0
  146. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +12 -0
  147. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  148. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  149. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +14 -0
  150. package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +17 -0
  151. package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  152. package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +12 -0
  153. package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  154. package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +9 -0
  155. package/dist/cjs/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  156. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +49 -0
  157. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  158. package/dist/cjs/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +16 -0
  159. package/dist/cjs/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +4 -0
  160. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchItem.d.ts +6 -0
  161. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchModal.d.ts +2 -0
  162. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  163. package/dist/cjs/client/components/AnalysisBuilder/FilterConfigModal.d.ts +17 -0
  164. package/dist/cjs/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  165. package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +28 -0
  166. package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  167. package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +57 -0
  168. package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  169. package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +21 -0
  170. package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +24 -0
  171. package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +48 -0
  172. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +25 -0
  173. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +26 -0
  174. package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  175. package/dist/cjs/client/components/AnalysisBuilder/LimitSection.d.ts +14 -0
  176. package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +11 -0
  177. package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  178. package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +9 -0
  179. package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +36 -0
  180. package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +71 -0
  181. package/dist/cjs/client/components/AnalysisBuilder/SectionHeading.d.ts +12 -0
  182. package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  183. package/dist/cjs/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  184. package/dist/cjs/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  185. package/dist/cjs/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  186. package/dist/cjs/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  187. package/dist/cjs/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  188. package/dist/cjs/client/components/AnalysisBuilder/index.d.ts +9 -0
  189. package/dist/cjs/client/components/AnalysisBuilder/types.d.ts +851 -0
  190. package/dist/cjs/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  191. package/dist/cjs/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  192. package/dist/cjs/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +69 -0
  193. package/dist/cjs/client/components/AnalysisBuilder/utils/filterUtils.d.ts +19 -0
  194. package/dist/cjs/client/components/AnalysisBuilder/utils/idUtils.d.ts +11 -0
  195. package/dist/cjs/client/components/AnalysisBuilder/utils/index.d.ts +11 -0
  196. package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +11 -0
  197. package/dist/cjs/client/components/AnalysisBuilder/utils/recentFieldsUtils.d.ts +14 -0
  198. package/dist/cjs/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  199. package/dist/cjs/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  200. package/dist/cjs/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  201. package/dist/cjs/client/components/AnalysisBuilder/utils/storageUtils.d.ts +44 -0
  202. package/dist/cjs/client/components/AnalysisBuilderLazy.d.ts +4 -0
  203. package/dist/cjs/client/components/AnalyticsDashboard.d.ts +2 -0
  204. package/dist/cjs/client/components/AnalyticsPage.d.ts +1 -0
  205. package/dist/cjs/client/components/AnalyticsPortlet.d.ts +10 -0
  206. package/dist/cjs/client/components/ChartErrorBoundary.d.ts +21 -0
  207. package/dist/cjs/client/components/ChartTypeSelector.d.ts +15 -0
  208. package/dist/cjs/client/components/ColorPaletteSelector.d.ts +11 -0
  209. package/dist/cjs/client/components/ConfirmModal.d.ts +30 -0
  210. package/dist/cjs/client/components/DashboardEditModal.d.ts +15 -0
  211. package/dist/cjs/client/components/DashboardFilterPanel.d.ts +15 -0
  212. package/dist/cjs/client/components/DashboardFilters/CompactFilterBar.d.ts +13 -0
  213. package/dist/cjs/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  214. package/dist/cjs/client/components/DashboardFilters/CustomDateDropdown.d.ts +10 -0
  215. package/dist/cjs/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +20 -0
  216. package/dist/cjs/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  217. package/dist/cjs/client/components/DashboardFilters/DashboardFilterItem.d.ts +14 -0
  218. package/dist/cjs/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  219. package/dist/cjs/client/components/DashboardFilters/DatePresetChips.d.ts +8 -0
  220. package/dist/cjs/client/components/DashboardFilters/EditModeFilterList.d.ts +13 -0
  221. package/dist/cjs/client/components/DashboardFilters/FilterChip.d.ts +12 -0
  222. package/dist/cjs/client/components/DashboardFilters/FilterEditModal.d.ts +15 -0
  223. package/dist/cjs/client/components/DashboardFilters/FilterValuePopover.d.ts +11 -0
  224. package/dist/cjs/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +13 -0
  225. package/dist/cjs/client/components/DashboardFilters/XTDDropdown.d.ts +10 -0
  226. package/dist/cjs/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  227. package/dist/cjs/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  228. package/dist/cjs/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  229. package/dist/cjs/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  230. package/dist/cjs/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  231. package/dist/cjs/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  232. package/dist/cjs/client/components/DashboardGrid.d.ts +22 -0
  233. package/dist/cjs/client/components/DashboardPortletCard.d.ts +4 -0
  234. package/dist/cjs/client/components/DashboardThumbnailPlaceholder.d.ts +13 -0
  235. package/dist/cjs/client/components/DataBrowser/DataBrowserSidebar.d.ts +16 -0
  236. package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +16 -0
  237. package/dist/cjs/client/components/DataBrowser/DataBrowserToolbar.d.ts +22 -0
  238. package/dist/cjs/client/components/DataBrowser/index.d.ts +28 -0
  239. package/dist/cjs/client/components/DataHistogram.d.ts +27 -0
  240. package/dist/cjs/client/components/DebugModal.d.ts +17 -0
  241. package/dist/cjs/client/components/DrillBreadcrumb.d.ts +7 -0
  242. package/dist/cjs/client/components/DrillMenu.d.ts +8 -0
  243. package/dist/cjs/client/components/FloatingEditToolbar.d.ts +30 -0
  244. package/dist/cjs/client/components/LoadingIndicator.d.ts +16 -0
  245. package/dist/cjs/client/components/MobileStackedLayout.d.ts +14 -0
  246. package/dist/cjs/client/components/Modal.d.ts +16 -0
  247. package/dist/cjs/client/components/PortletAnalysisModal.d.ts +27 -0
  248. package/dist/cjs/client/components/PortletContainer.d.ts +10 -0
  249. package/dist/cjs/client/components/PortletFilterConfigModal.d.ts +13 -0
  250. package/dist/cjs/client/components/RowManagedLayout.d.ts +19 -0
  251. package/dist/cjs/client/components/ScaledGridWrapper.d.ts +12 -0
  252. package/dist/cjs/client/components/SchemaVisualization/CubeNode.d.ts +25 -0
  253. package/dist/cjs/client/components/SchemaVisualization/FieldDetailPanel.d.ts +15 -0
  254. package/dist/cjs/client/components/SchemaVisualization/RelationshipEdge.d.ts +13 -0
  255. package/dist/cjs/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +3 -0
  256. package/dist/cjs/client/components/SchemaVisualization/index.d.ts +10 -0
  257. package/dist/cjs/client/components/SchemaVisualization/useERDLayout.d.ts +39 -0
  258. package/dist/cjs/client/components/SchemaVisualization/xyflowContext.d.ts +11 -0
  259. package/dist/cjs/client/components/TextPortletModal.d.ts +12 -0
  260. package/dist/cjs/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  261. package/dist/cjs/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  262. package/dist/cjs/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  263. package/dist/cjs/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  264. package/dist/cjs/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  265. package/dist/cjs/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  266. package/dist/cjs/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  267. package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  268. package/dist/cjs/client/components/charts/ActivityGridChart.config.d.ts +10 -0
  269. package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +4 -0
  270. package/dist/cjs/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  271. package/dist/cjs/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  272. package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +19 -0
  273. package/dist/cjs/client/components/charts/AreaChart.config.d.ts +10 -0
  274. package/dist/cjs/client/components/charts/AreaChart.d.ts +4 -0
  275. package/dist/cjs/client/components/charts/AxisFormatControls.d.ts +37 -0
  276. package/dist/cjs/client/components/charts/BarChart.config.d.ts +10 -0
  277. package/dist/cjs/client/components/charts/BarChart.d.ts +4 -0
  278. package/dist/cjs/client/components/charts/BarChart.helpers.d.ts +23 -0
  279. package/dist/cjs/client/components/charts/BarSeries.d.ts +29 -0
  280. package/dist/cjs/client/components/charts/BoxPlotChart.config.d.ts +10 -0
  281. package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +4 -0
  282. package/dist/cjs/client/components/charts/BubbleChart.config.d.ts +10 -0
  283. package/dist/cjs/client/components/charts/BubbleChart.d.ts +4 -0
  284. package/dist/cjs/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  285. package/dist/cjs/client/components/charts/BubbleChart.render.d.ts +21 -0
  286. package/dist/cjs/client/components/charts/CandlestickChart.config.d.ts +10 -0
  287. package/dist/cjs/client/components/charts/CandlestickChart.d.ts +4 -0
  288. package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -0
  289. package/dist/cjs/client/components/charts/ChartLegend.d.ts +7 -0
  290. package/dist/cjs/client/components/charts/ChartStates.d.ts +38 -0
  291. package/dist/cjs/client/components/charts/ChartTooltip.d.ts +7 -0
  292. package/dist/cjs/client/components/charts/DataTable.config.d.ts +10 -0
  293. package/dist/cjs/client/components/charts/DataTable.d.ts +4 -0
  294. package/dist/cjs/client/components/charts/FunnelChart.config.d.ts +14 -0
  295. package/dist/cjs/client/components/charts/FunnelChart.d.ts +11 -0
  296. package/dist/cjs/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  297. package/dist/cjs/client/components/charts/FunnelViews.d.ts +16 -0
  298. package/dist/cjs/client/components/charts/GaugeChart.config.d.ts +10 -0
  299. package/dist/cjs/client/components/charts/GaugeChart.d.ts +4 -0
  300. package/dist/cjs/client/components/charts/HeatMapCanvas.d.ts +25 -0
  301. package/dist/cjs/client/components/charts/HeatMapChart.config.d.ts +13 -0
  302. package/dist/cjs/client/components/charts/HeatMapChart.d.ts +10 -0
  303. package/dist/cjs/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  304. package/dist/cjs/client/components/charts/KpiDelta.config.d.ts +10 -0
  305. package/dist/cjs/client/components/charts/KpiDelta.d.ts +4 -0
  306. package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  307. package/dist/cjs/client/components/charts/KpiNumber.config.d.ts +10 -0
  308. package/dist/cjs/client/components/charts/KpiNumber.d.ts +4 -0
  309. package/dist/cjs/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  310. package/dist/cjs/client/components/charts/KpiStates.d.ts +19 -0
  311. package/dist/cjs/client/components/charts/KpiText.config.d.ts +10 -0
  312. package/dist/cjs/client/components/charts/KpiText.d.ts +4 -0
  313. package/dist/cjs/client/components/charts/LineChart.config.d.ts +10 -0
  314. package/dist/cjs/client/components/charts/LineChart.d.ts +4 -0
  315. package/dist/cjs/client/components/charts/MarkdownChart.config.d.ts +10 -0
  316. package/dist/cjs/client/components/charts/MarkdownChart.d.ts +4 -0
  317. package/dist/cjs/client/components/charts/MeasureProfileChart.config.d.ts +10 -0
  318. package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +4 -0
  319. package/dist/cjs/client/components/charts/MissingDependencyFallback.d.ts +12 -0
  320. package/dist/cjs/client/components/charts/PieChart.config.d.ts +10 -0
  321. package/dist/cjs/client/components/charts/PieChart.d.ts +4 -0
  322. package/dist/cjs/client/components/charts/RadarChart.config.d.ts +10 -0
  323. package/dist/cjs/client/components/charts/RadarChart.d.ts +4 -0
  324. package/dist/cjs/client/components/charts/RadialBarChart.config.d.ts +10 -0
  325. package/dist/cjs/client/components/charts/RadialBarChart.d.ts +4 -0
  326. package/dist/cjs/client/components/charts/RetentionCombinedChart.config.d.ts +2 -0
  327. package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +14 -0
  328. package/dist/cjs/client/components/charts/RetentionHeatmap.config.d.ts +2 -0
  329. package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +7 -0
  330. package/dist/cjs/client/components/charts/SankeyChart.config.d.ts +14 -0
  331. package/dist/cjs/client/components/charts/SankeyChart.d.ts +10 -0
  332. package/dist/cjs/client/components/charts/ScatterChart.config.d.ts +10 -0
  333. package/dist/cjs/client/components/charts/ScatterChart.d.ts +4 -0
  334. package/dist/cjs/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  335. package/dist/cjs/client/components/charts/ScatterSeries.d.ts +17 -0
  336. package/dist/cjs/client/components/charts/ScatterTooltip.d.ts +21 -0
  337. package/dist/cjs/client/components/charts/SunburstChart.config.d.ts +14 -0
  338. package/dist/cjs/client/components/charts/SunburstChart.d.ts +10 -0
  339. package/dist/cjs/client/components/charts/TreeMapChart.config.d.ts +10 -0
  340. package/dist/cjs/client/components/charts/TreeMapChart.d.ts +4 -0
  341. package/dist/cjs/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  342. package/dist/cjs/client/components/charts/TreeMapContent.d.ts +24 -0
  343. package/dist/cjs/client/components/charts/TreeMapLegend.d.ts +13 -0
  344. package/dist/cjs/client/components/charts/WaterfallChart.config.d.ts +10 -0
  345. package/dist/cjs/client/components/charts/WaterfallChart.d.ts +4 -0
  346. package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  347. package/dist/cjs/client/components/charts/chartAxisResolution.d.ts +32 -0
  348. package/dist/cjs/client/components/charts/chartScaffolding.d.ts +77 -0
  349. package/dist/cjs/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  350. package/dist/cjs/client/components/charts/index.d.ts +25 -0
  351. package/dist/cjs/client/components/charts/kpiTextHelpers.d.ts +46 -0
  352. package/dist/cjs/client/components/charts/radarChartHelpers.d.ts +14 -0
  353. package/dist/cjs/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  354. package/dist/cjs/client/components/charts/useChartDimensions.d.ts +20 -0
  355. package/dist/cjs/client/components/charts/useKpiDimensions.d.ts +30 -0
  356. package/dist/cjs/client/components/dashboard/DashboardContext.d.ts +113 -0
  357. package/dist/cjs/client/components/dashboard/DashboardCoordinator.d.ts +2 -0
  358. package/dist/cjs/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  359. package/dist/cjs/client/components/dashboard/DashboardFilterBar.d.ts +8 -0
  360. package/dist/cjs/client/components/dashboard/DashboardGridSurface.d.ts +8 -0
  361. package/dist/cjs/client/components/dashboard/DashboardModals.d.ts +8 -0
  362. package/dist/cjs/client/components/dashboard/DashboardProvider.d.ts +2 -0
  363. package/dist/cjs/client/components/dashboard/DashboardToolbar.d.ts +11 -0
  364. package/dist/cjs/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  365. package/dist/cjs/client/components/dashboard/dashboardGridUtils.d.ts +17 -0
  366. package/dist/cjs/client/components/dashboard/index.d.ts +13 -0
  367. package/dist/cjs/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  368. package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  369. package/dist/cjs/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  370. package/dist/cjs/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  371. package/dist/cjs/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  372. package/dist/cjs/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  373. package/dist/cjs/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  374. package/dist/cjs/client/components/shared/DateRangeFilter.d.ts +4 -0
  375. package/dist/cjs/client/components/shared/DateRangeSelector.d.ts +13 -0
  376. package/dist/cjs/client/components/shared/FilterBuilder.d.ts +4 -0
  377. package/dist/cjs/client/components/shared/FilterGroup.d.ts +4 -0
  378. package/dist/cjs/client/components/shared/FilterItem.d.ts +4 -0
  379. package/dist/cjs/client/components/shared/FilterValueSelector.d.ts +4 -0
  380. package/dist/cjs/client/components/shared/dateRangeUtils.d.ts +40 -0
  381. package/dist/cjs/client/components/shared/filterDisplayUtils.d.ts +10 -0
  382. package/dist/cjs/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  383. package/dist/cjs/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  384. package/dist/cjs/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  385. package/dist/cjs/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  386. package/dist/cjs/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  387. package/dist/cjs/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  388. package/dist/cjs/client/components/shared/queryFieldUtils.d.ts +21 -0
  389. package/dist/cjs/client/components/shared/types.d.ts +60 -0
  390. package/dist/cjs/client/components/shared/utils.d.ts +71 -0
  391. package/dist/cjs/client/components.d.ts +17 -0
  392. package/dist/cjs/client/hooks/agentChatStream.d.ts +39 -0
  393. package/dist/cjs/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  394. package/dist/cjs/client/hooks/dashboard/layoutUtils.d.ts +7 -0
  395. package/dist/cjs/client/hooks/dashboard/useDashboardController.d.ts +53 -0
  396. package/dist/cjs/client/hooks/dashboard/useGridLayoutEngine.d.ts +10 -0
  397. package/dist/cjs/client/hooks/dashboard/useRowLayoutEngine.d.ts +18 -0
  398. package/dist/cjs/client/hooks/drillNavigation.d.ts +25 -0
  399. package/dist/cjs/client/hooks/queries/index.d.ts +20 -0
  400. package/dist/cjs/client/hooks/queries/useCubeLoadQuery.d.ts +85 -0
  401. package/dist/cjs/client/hooks/queries/useCubeMetaQuery.d.ts +51 -0
  402. package/dist/cjs/client/hooks/queries/useDryRunQuery.d.ts +153 -0
  403. package/dist/cjs/client/hooks/queries/useExplainAI.d.ts +62 -0
  404. package/dist/cjs/client/hooks/queries/useExplainQuery.d.ts +62 -0
  405. package/dist/cjs/client/hooks/queries/useFlowQuery.d.ts +72 -0
  406. package/dist/cjs/client/hooks/queries/useFunnelQuery.d.ts +20 -0
  407. package/dist/cjs/client/hooks/queries/useMultiCubeLoadQuery.d.ts +70 -0
  408. package/dist/cjs/client/hooks/queries/useRetentionQuery.d.ts +67 -0
  409. package/dist/cjs/client/hooks/useAgentChat.d.ts +60 -0
  410. package/dist/cjs/client/hooks/useAnalysisBuilderHook.d.ts +245 -0
  411. package/dist/cjs/client/hooks/useAnalysisEffects.d.ts +33 -0
  412. package/dist/{client/hooks/useAnalysisQueryExecution.d.ts → cjs/client/hooks/useAnalysisQuery.d.ts} +3 -3
  413. package/dist/cjs/client/hooks/useAnalysisState.d.ts +165 -0
  414. package/dist/cjs/client/hooks/useCubeFieldLabel.d.ts +16 -0
  415. package/dist/cjs/client/hooks/useDashboardHook.d.ts +123 -0
  416. package/dist/cjs/client/hooks/useDataBrowser.d.ts +67 -0
  417. package/dist/cjs/client/hooks/useDebounce.d.ts +12 -0
  418. package/dist/cjs/client/hooks/useDebounceQuery.d.ts +48 -0
  419. package/dist/cjs/client/hooks/useDirtyStateTracking.d.ts +37 -0
  420. package/dist/cjs/client/hooks/useDragAutoScroll.d.ts +18 -0
  421. package/dist/cjs/client/hooks/useDrillInteraction.d.ts +9 -0
  422. package/dist/cjs/client/hooks/useElementVisibility.d.ts +30 -0
  423. package/dist/cjs/client/hooks/useFilterValues.d.ts +19 -0
  424. package/dist/cjs/client/hooks/useNotebookLayout.d.ts +8 -0
  425. package/dist/cjs/client/hooks/useResponsiveDashboard.d.ts +16 -0
  426. package/dist/cjs/client/hooks/useScrollDetection.d.ts +29 -0
  427. package/dist/cjs/client/hooks/useTheme.d.ts +11 -0
  428. package/dist/cjs/client/hooks/useTranslation.d.ts +21 -0
  429. package/dist/cjs/client/hooks.d.ts +17 -0
  430. package/dist/cjs/client/icons/customIcons.d.ts +22 -0
  431. package/dist/cjs/client/icons/defaultIcons.d.ts +5 -0
  432. package/dist/cjs/client/icons/index.d.ts +22 -0
  433. package/dist/cjs/client/icons/registry.d.ts +58 -0
  434. package/dist/cjs/client/icons/types.d.ts +134 -0
  435. package/dist/cjs/client/icons.d.ts +2 -0
  436. package/dist/cjs/client/index.d.ts +76 -0
  437. package/dist/cjs/client/providers/CubeApiProvider.d.ts +24 -0
  438. package/dist/cjs/client/providers/CubeFeaturesProvider.d.ts +19 -0
  439. package/dist/cjs/client/providers/CubeMetaContext.d.ts +11 -0
  440. package/dist/cjs/client/providers/CubeMetaProvider.d.ts +6 -0
  441. package/dist/cjs/client/providers/CubeProvider.d.ts +70 -0
  442. package/dist/cjs/client/providers/I18nProvider.d.ts +18 -0
  443. package/dist/cjs/client/providers/ScrollContainerContext.d.ts +19 -0
  444. package/dist/cjs/client/providers.d.ts +10 -0
  445. package/dist/cjs/client/schema.d.ts +13 -0
  446. package/dist/cjs/client/shared/chartConfigBuilders.d.ts +18 -0
  447. package/dist/cjs/client/shared/chartDefaults.d.ts +59 -0
  448. package/dist/cjs/client/shared/components/CodeBlock.d.ts +13 -0
  449. package/dist/cjs/client/shared/components/QueryAnalysisPanel.d.ts +7 -0
  450. package/dist/cjs/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  451. package/dist/cjs/client/shared/index.d.ts +11 -0
  452. package/dist/cjs/client/shared/queryKey.d.ts +1 -0
  453. package/dist/cjs/client/shared/queryTransforms.d.ts +20 -0
  454. package/dist/cjs/client/shared/types.d.ts +184 -0
  455. package/dist/cjs/client/shared/utils.d.ts +104 -0
  456. package/dist/cjs/client/stores/analysisBuilderStore.d.ts +578 -0
  457. package/dist/cjs/client/stores/dashboardStore.d.ts +292 -0
  458. package/dist/cjs/client/stores/dataBrowserStore.d.ts +34 -0
  459. package/dist/cjs/client/stores/index.d.ts +13 -0
  460. package/dist/cjs/client/stores/notebookStore.d.ts +157 -0
  461. package/dist/cjs/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  462. package/dist/cjs/client/stores/slices/coreSlice.d.ts +96 -0
  463. package/dist/cjs/client/stores/slices/flowSlice.d.ts +69 -0
  464. package/dist/cjs/client/stores/slices/funnelSlice.d.ts +61 -0
  465. package/dist/cjs/client/stores/slices/index.d.ts +13 -0
  466. package/dist/cjs/client/stores/slices/querySlice.d.ts +55 -0
  467. package/dist/cjs/client/stores/slices/retentionSlice.d.ts +66 -0
  468. package/dist/cjs/client/stores/slices/uiSlice.d.ts +52 -0
  469. package/dist/cjs/client/theme/index.d.ts +135 -0
  470. package/dist/cjs/client/types/analysisConfig.d.ts +185 -0
  471. package/dist/cjs/client/types/drill.d.ts +240 -0
  472. package/dist/cjs/client/types/flow.d.ts +191 -0
  473. package/dist/cjs/client/types/funnel.d.ts +288 -0
  474. package/dist/cjs/client/types/retention.d.ts +301 -0
  475. package/dist/cjs/client/types.d.ts +600 -0
  476. package/dist/cjs/client/utils/axisValueFormatting.d.ts +32 -0
  477. package/dist/cjs/client/utils/chartConstants.d.ts +16 -0
  478. package/dist/cjs/client/utils/chartUtils.d.ts +35 -0
  479. package/dist/cjs/client/utils/colorPalettes.d.ts +35 -0
  480. package/dist/cjs/client/utils/comparisonUtils.d.ts +96 -0
  481. package/dist/cjs/client/utils/configMigration.d.ts +85 -0
  482. package/dist/cjs/client/utils/drillQueryBuilder.d.ts +41 -0
  483. package/dist/cjs/client/utils/exportXlsx.d.ts +20 -0
  484. package/dist/cjs/client/utils/filterUtils.d.ts +113 -0
  485. package/dist/cjs/client/utils/funnelExecution.d.ts +211 -0
  486. package/dist/cjs/client/utils/funnelValidation.d.ts +46 -0
  487. package/dist/cjs/client/utils/index.d.ts +94 -0
  488. package/dist/cjs/client/utils/joinReachability.d.ts +27 -0
  489. package/dist/cjs/client/utils/measureIcons.d.ts +11 -0
  490. package/dist/cjs/client/utils/multiQueryUtils.d.ts +86 -0
  491. package/dist/cjs/client/utils/multiQueryValidation.d.ts +69 -0
  492. package/dist/cjs/client/utils/periodUtils.d.ts +40 -0
  493. package/dist/cjs/client/utils/pivotUtils.d.ts +87 -0
  494. package/dist/cjs/client/utils/shareUtils.d.ts +61 -0
  495. package/dist/cjs/client/utils/syntaxHighlighting.d.ts +36 -0
  496. package/dist/cjs/client/utils/targetUtils.d.ts +36 -0
  497. package/dist/cjs/client/utils/thumbnail.d.ts +36 -0
  498. package/dist/cjs/client/utils/timeValueFormatting.d.ts +32 -0
  499. package/dist/cjs/client/utils.d.ts +8 -0
  500. package/dist/cjs/package.json +3 -0
  501. package/dist/cjs/server/adapters/base-adapter.d.ts +332 -0
  502. package/dist/cjs/server/adapters/databend-adapter.d.ts +63 -0
  503. package/dist/cjs/server/adapters/duckdb-adapter.d.ts +68 -0
  504. package/dist/cjs/server/adapters/mysql-adapter.d.ts +65 -0
  505. package/dist/cjs/server/adapters/postgres-adapter.d.ts +55 -0
  506. package/dist/cjs/server/adapters/singlestore-adapter.d.ts +4 -0
  507. package/dist/cjs/server/adapters/snowflake-adapter.d.ts +53 -0
  508. package/dist/cjs/server/adapters/sqlite-adapter.d.ts +120 -0
  509. package/dist/cjs/server/adapters/window-function-builder.d.ts +11 -0
  510. package/dist/cjs/server/agent/chart-validation.d.ts +22 -0
  511. package/dist/cjs/server/agent/handler-steps.d.ts +37 -0
  512. package/dist/cjs/server/agent/handler.d.ts +25 -0
  513. package/dist/cjs/server/agent/index.d.ts +11 -0
  514. package/dist/cjs/server/agent/providers/anthropic.d.ts +24 -0
  515. package/dist/cjs/server/agent/providers/factory.d.ts +12 -0
  516. package/dist/cjs/server/agent/providers/google.d.ts +23 -0
  517. package/dist/cjs/server/agent/providers/index.d.ts +6 -0
  518. package/dist/cjs/server/agent/providers/openai.d.ts +26 -0
  519. package/dist/cjs/server/agent/providers/types.d.ts +95 -0
  520. package/dist/cjs/server/agent/system-prompt.d.ts +5 -0
  521. package/dist/cjs/server/agent/tools.d.ts +28 -0
  522. package/dist/cjs/server/agent/types.d.ts +192 -0
  523. package/dist/cjs/server/ai/discovery-helpers.d.ts +29 -0
  524. package/dist/cjs/server/ai/discovery.d.ts +66 -0
  525. package/dist/cjs/server/ai/index.d.ts +10 -0
  526. package/dist/cjs/server/ai/mcp-prompts.d.ts +83 -0
  527. package/dist/cjs/server/ai/query-schema.d.ts +258 -0
  528. package/dist/cjs/server/ai/schemas.d.ts +63 -0
  529. package/dist/cjs/server/ai/suggestion-helpers.d.ts +33 -0
  530. package/dist/cjs/server/ai/suggestion.d.ts +16 -0
  531. package/dist/cjs/server/ai/validation-helpers.d.ts +21 -0
  532. package/dist/cjs/server/ai/validation.d.ts +31 -0
  533. package/dist/cjs/server/builders/analysis-utils.d.ts +106 -0
  534. package/dist/cjs/server/builders/comparison-query-builder.d.ts +70 -0
  535. package/dist/cjs/server/builders/cte-builder.d.ts +108 -0
  536. package/dist/cjs/server/builders/date-time-builder.d.ts +34 -0
  537. package/dist/cjs/server/builders/date-time-helpers.d.ts +34 -0
  538. package/dist/cjs/server/builders/filter-builder.d.ts +25 -0
  539. package/dist/cjs/server/builders/filter-operators.d.ts +23 -0
  540. package/dist/cjs/server/builders/flow-query-builder.d.ts +136 -0
  541. package/dist/cjs/server/builders/funnel-query-builder.d.ts +145 -0
  542. package/dist/cjs/server/builders/group-by-builder.d.ts +38 -0
  543. package/dist/cjs/server/builders/index.d.ts +13 -0
  544. package/dist/cjs/server/builders/measure-builder.d.ts +185 -0
  545. package/dist/cjs/server/builders/retention-query-builder.d.ts +98 -0
  546. package/dist/cjs/server/cache-providers/index.d.ts +5 -0
  547. package/dist/cjs/server/cache-providers/memory.d.ts +105 -0
  548. package/dist/cjs/server/cache-utils.d.ts +85 -0
  549. package/dist/cjs/server/compiler-metadata.d.ts +11 -0
  550. package/dist/cjs/server/compiler.d.ts +212 -0
  551. package/dist/cjs/server/cube-utils.d.ts +158 -0
  552. package/dist/cjs/server/database-utils.d.ts +18 -0
  553. package/dist/cjs/server/execution/annotation-builder.d.ts +12 -0
  554. package/dist/cjs/server/execution/filter-cache-preloader.d.ts +19 -0
  555. package/dist/cjs/server/execution/mode-router.d.ts +25 -0
  556. package/dist/cjs/server/execution/query-result-cache.d.ts +21 -0
  557. package/dist/cjs/server/execution/result-post-processor.d.ts +10 -0
  558. package/dist/cjs/server/executor.d.ts +186 -0
  559. package/dist/cjs/server/executors/base-executor.d.ts +16 -0
  560. package/dist/cjs/server/executors/databend-executor.d.ts +33 -0
  561. package/dist/cjs/server/executors/duckdb-executor.d.ts +33 -0
  562. package/dist/cjs/server/executors/explain-utils.d.ts +28 -0
  563. package/dist/cjs/server/executors/index.d.ts +21 -0
  564. package/dist/cjs/server/executors/mysql-executor.d.ts +27 -0
  565. package/dist/cjs/server/executors/postgres-executor.d.ts +27 -0
  566. package/dist/cjs/server/executors/singlestore-executor.d.ts +9 -0
  567. package/dist/cjs/server/executors/snowflake-executor.d.ts +33 -0
  568. package/dist/cjs/server/executors/sqlite-executor.d.ts +28 -0
  569. package/dist/cjs/server/explain/databend-parser.d.ts +16 -0
  570. package/dist/cjs/server/explain/duckdb-parser.d.ts +28 -0
  571. package/dist/cjs/server/explain/explain-tree.d.ts +20 -0
  572. package/dist/cjs/server/explain/index.d.ts +9 -0
  573. package/dist/cjs/server/explain/mysql-parser.d.ts +38 -0
  574. package/dist/cjs/server/explain/postgres-parser.d.ts +18 -0
  575. package/dist/cjs/server/explain/snowflake-parser.d.ts +17 -0
  576. package/dist/cjs/server/explain/sqlite-parser.d.ts +23 -0
  577. package/dist/cjs/server/filter-cache.d.ts +73 -0
  578. package/dist/cjs/server/gap-filler.d.ts +48 -0
  579. package/dist/cjs/server/index.d.ts +38 -0
  580. package/dist/cjs/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  581. package/dist/cjs/server/logical-plan/cte-planner.d.ts +104 -0
  582. package/dist/cjs/server/logical-plan/filter-propagation.d.ts +44 -0
  583. package/dist/cjs/server/logical-plan/index.d.ts +19 -0
  584. package/dist/cjs/server/logical-plan/join-planner.d.ts +27 -0
  585. package/dist/cjs/server/logical-plan/logical-plan-builder.d.ts +58 -0
  586. package/dist/cjs/server/logical-plan/logical-planner.d.ts +39 -0
  587. package/dist/cjs/server/logical-plan/optimiser.d.ts +34 -0
  588. package/dist/cjs/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  589. package/dist/cjs/server/logical-plan/planner-utils.d.ts +20 -0
  590. package/dist/cjs/server/logical-plan/types.d.ts +199 -0
  591. package/dist/cjs/server/measure-classification.d.ts +40 -0
  592. package/dist/cjs/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
  593. package/dist/cjs/server/physical-plan/drizzle-sql-builder.d.ts +118 -0
  594. package/dist/cjs/server/physical-plan/index.d.ts +2 -0
  595. package/dist/cjs/server/physical-plan/processors/cte-processor.d.ts +6 -0
  596. package/dist/cjs/server/physical-plan/processors/index.d.ts +8 -0
  597. package/dist/cjs/server/physical-plan/processors/joins-processor.d.ts +6 -0
  598. package/dist/cjs/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  599. package/dist/cjs/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  600. package/dist/cjs/server/physical-plan/processors/predicates-processor.d.ts +6 -0
  601. package/dist/cjs/server/physical-plan/processors/selection-processor.d.ts +6 -0
  602. package/dist/cjs/server/physical-plan/processors/shared.d.ts +38 -0
  603. package/dist/cjs/server/physical-plan/processors/window-processor.d.ts +6 -0
  604. package/dist/cjs/server/prompts/explain-analysis-prompt.d.ts +47 -0
  605. package/dist/cjs/server/prompts/index.d.ts +27 -0
  606. package/dist/cjs/server/prompts/single-step-prompt.d.ts +31 -0
  607. package/dist/cjs/server/prompts/step0-validation-prompt.d.ts +39 -0
  608. package/dist/cjs/server/prompts/step1-shape-prompt.d.ts +29 -0
  609. package/dist/cjs/server/prompts/step2-complete-prompt.d.ts +19 -0
  610. package/dist/cjs/server/prompts/types.d.ts +37 -0
  611. package/dist/cjs/server/query-handlers.d.ts +79 -0
  612. package/dist/cjs/server/query-modes.d.ts +28 -0
  613. package/dist/cjs/server/query-validator.d.ts +9 -0
  614. package/dist/cjs/server/resolvers/calculated-measure-resolver.d.ts +98 -0
  615. package/dist/cjs/server/resolvers/index.d.ts +6 -0
  616. package/dist/cjs/server/resolvers/join-path-resolver.d.ts +158 -0
  617. package/dist/cjs/server/sql-format.d.ts +11 -0
  618. package/dist/cjs/server/template-substitution.d.ts +57 -0
  619. package/dist/cjs/server/types/analysis.d.ts +189 -0
  620. package/dist/cjs/server/types/cache.d.ts +132 -0
  621. package/dist/cjs/server/types/core.d.ts +164 -0
  622. package/dist/cjs/server/types/cube.d.ts +544 -0
  623. package/dist/cjs/server/types/executor.d.ts +156 -0
  624. package/dist/cjs/server/types/flow.d.ts +144 -0
  625. package/dist/cjs/server/types/funnel.d.ts +118 -0
  626. package/dist/cjs/server/types/index.d.ts +11 -0
  627. package/dist/cjs/server/types/metadata.d.ts +113 -0
  628. package/dist/cjs/server/types/query.d.ts +153 -0
  629. package/dist/cjs/server/types/retention.d.ts +141 -0
  630. package/dist/cjs/server/types/utils.d.ts +11 -0
  631. package/dist/cjs/server/types/validation.d.ts +14 -0
  632. package/dist/client/charts/chartComponentRegistry.d.ts +1 -9
  633. package/dist/client/charts/chartConfigRegistry.d.ts +5 -1
  634. package/dist/client/charts/chartPlugin.d.ts +1 -2
  635. package/dist/client/charts/chartRegistry.d.ts +73 -0
  636. package/dist/client/charts.js +3 -3
  637. package/dist/client/chunks/{DashboardEditModal-okVfH8ZK.js → DashboardEditModal-CWurUU2B.js} +7 -7
  638. package/dist/client/chunks/{DashboardEditModal-okVfH8ZK.js.map → DashboardEditModal-CWurUU2B.js.map} +1 -1
  639. package/dist/client/chunks/{analysis-builder-DB88FojM.js → analysis-builder-Uj_Fxv0-.js} +1588 -1857
  640. package/dist/client/chunks/analysis-builder-Uj_Fxv0-.js.map +1 -0
  641. package/dist/client/chunks/{analysis-builder-shared-BVK4TYfR.js → analysis-builder-shared-AdAYIfj_.js} +1531 -1266
  642. package/dist/client/chunks/analysis-builder-shared-AdAYIfj_.js.map +1 -0
  643. package/dist/client/chunks/{chart-config-activity-grid-D_UX4NHC.js → chart-config-activity-grid-BU_bkvER.js} +1 -11
  644. package/dist/client/chunks/chart-config-activity-grid-BU_bkvER.js.map +1 -0
  645. package/dist/client/chunks/{chart-config-area-BNigHUy8.js → chart-config-area-DxwIZ4Uf.js} +1 -5
  646. package/dist/client/chunks/{chart-config-area-BNigHUy8.js.map → chart-config-area-DxwIZ4Uf.js.map} +1 -1
  647. package/dist/client/chunks/{chart-config-bar-DSO_LRTx.js → chart-config-bar-Cc8GY9aQ.js} +5 -9
  648. package/dist/client/chunks/chart-config-bar-Cc8GY9aQ.js.map +1 -0
  649. package/dist/client/chunks/{chart-config-box-plot-oW8axV2q.js → chart-config-box-plot-Bs8ovYvV.js} +3 -8
  650. package/dist/client/chunks/chart-config-box-plot-Bs8ovYvV.js.map +1 -0
  651. package/dist/client/chunks/{chart-config-bubble-gIoqVyjZ.js → chart-config-bubble-BfgY7pt8.js} +1 -11
  652. package/dist/client/chunks/chart-config-bubble-BfgY7pt8.js.map +1 -0
  653. package/dist/client/chunks/{chart-config-candlestick-N6DchAA3.js → chart-config-candlestick-jaeNNEtC.js} +1 -11
  654. package/dist/client/chunks/chart-config-candlestick-jaeNNEtC.js.map +1 -0
  655. package/dist/client/chunks/{chart-config-data-table-d7VBY-y_.js → chart-config-data-table-CRk0C0rW.js} +1 -4
  656. package/dist/client/chunks/chart-config-data-table-CRk0C0rW.js.map +1 -0
  657. package/dist/client/chunks/{chart-config-funnel-DEYMcxsD.js → chart-config-funnel-boT_LNfl.js} +1 -4
  658. package/dist/client/chunks/chart-config-funnel-boT_LNfl.js.map +1 -0
  659. package/dist/client/chunks/{chart-config-gauge-Dq-_H9UN.js → chart-config-gauge-C5uJEr97.js} +3 -8
  660. package/dist/client/chunks/chart-config-gauge-C5uJEr97.js.map +1 -0
  661. package/dist/client/chunks/{chart-config-heat-map-CfRnRNcw.js → chart-config-heat-map-CCarP44-.js} +1 -11
  662. package/dist/client/chunks/chart-config-heat-map-CCarP44-.js.map +1 -0
  663. package/dist/client/chunks/{chart-config-kpi-delta-DSQbvqu_.js → chart-config-kpi-delta-DYopvwyG.js} +3 -8
  664. package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +1 -0
  665. package/dist/client/chunks/{chart-config-kpi-number-EFSWY1We.js → chart-config-kpi-number-BhMdoArB.js} +3 -8
  666. package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +1 -0
  667. package/dist/client/chunks/{chart-config-kpi-text-KM3V5X2u.js → chart-config-kpi-text-DE6Zdi53.js} +3 -8
  668. package/dist/client/chunks/chart-config-kpi-text-DE6Zdi53.js.map +1 -0
  669. package/dist/client/chunks/{chart-config-line-D6jG8PCH.js → chart-config-line-CBfM0Rds.js} +6 -10
  670. package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +1 -0
  671. package/dist/client/chunks/{chart-config-markdown-BtRIe8JN.js → chart-config-markdown-BCDyBI8K.js} +1 -4
  672. package/dist/client/chunks/chart-config-markdown-BCDyBI8K.js.map +1 -0
  673. package/dist/client/chunks/{chart-config-measure-profile-DxRGa-zf.js → chart-config-measure-profile-BgQIH1u2.js} +1 -8
  674. package/dist/client/chunks/chart-config-measure-profile-BgQIH1u2.js.map +1 -0
  675. package/dist/client/chunks/{chart-config-pie-BhzW-fdn.js → chart-config-pie-ChfFz6DV.js} +5 -9
  676. package/dist/client/chunks/chart-config-pie-ChfFz6DV.js.map +1 -0
  677. package/dist/client/chunks/{chart-config-radar-D7REP1q_.js → chart-config-radar-BlAIGnww.js} +5 -9
  678. package/dist/client/chunks/chart-config-radar-BlAIGnww.js.map +1 -0
  679. package/dist/client/chunks/{chart-config-radial-bar-Byx6qOPU.js → chart-config-radial-bar-VFerwbCO.js} +5 -9
  680. package/dist/client/chunks/chart-config-radial-bar-VFerwbCO.js.map +1 -0
  681. package/dist/client/chunks/{chart-config-sankey-BTnWA7EW.js → chart-config-sankey-BhrDxIgj.js} +1 -4
  682. package/dist/client/chunks/chart-config-sankey-BhrDxIgj.js.map +1 -0
  683. package/dist/client/chunks/{chart-config-scatter-DSYTjwRb.js → chart-config-scatter-q_olh54e.js} +1 -11
  684. package/dist/client/chunks/chart-config-scatter-q_olh54e.js.map +1 -0
  685. package/dist/client/chunks/{chart-config-sunburst-Bwjtdf7X.js → chart-config-sunburst-BOmkOnKn.js} +1 -4
  686. package/dist/client/chunks/chart-config-sunburst-BOmkOnKn.js.map +1 -0
  687. package/dist/client/chunks/{chart-config-tree-map-DVrvf3yQ.js → chart-config-tree-map-BjX88YBY.js} +5 -9
  688. package/dist/client/chunks/chart-config-tree-map-BjX88YBY.js.map +1 -0
  689. package/dist/client/chunks/{chart-config-waterfall-DmFeQdIk.js → chart-config-waterfall-QsWXVSoF.js} +3 -8
  690. package/dist/client/chunks/chart-config-waterfall-QsWXVSoF.js.map +1 -0
  691. package/dist/client/chunks/{chart-data-table-CKauQXme.js → chart-data-table-D4g5_jfF.js} +1277 -1094
  692. package/dist/client/chunks/chart-data-table-D4g5_jfF.js.map +1 -0
  693. package/dist/client/chunks/{chart-kpi-delta-Dn-jjO-2.js → chart-kpi-delta-BvWOt8-D.js} +2 -2
  694. package/dist/client/chunks/{chart-kpi-delta-Dn-jjO-2.js.map → chart-kpi-delta-BvWOt8-D.js.map} +1 -1
  695. package/dist/client/chunks/{chart-kpi-number-P_WBiO5S.js → chart-kpi-number-xgZmMiQY.js} +3 -3
  696. package/dist/client/chunks/{chart-kpi-number-P_WBiO5S.js.map → chart-kpi-number-xgZmMiQY.js.map} +1 -1
  697. package/dist/client/chunks/{chart-kpi-text-C-Y4eb5H.js → chart-kpi-text-ZO3eFi7t.js} +2 -2
  698. package/dist/client/chunks/{chart-kpi-text-C-Y4eb5H.js.map → chart-kpi-text-ZO3eFi7t.js.map} +1 -1
  699. package/dist/client/chunks/{charts-loader-DdTeCeNo.js → charts-loader-B0DOQMFH.js} +6 -6
  700. package/dist/client/chunks/{charts-loader-DdTeCeNo.js.map → charts-loader-B0DOQMFH.js.map} +1 -1
  701. package/dist/client/chunks/{schema-visualization-Cb_E9_Gd.js → schema-visualization-DJPTktM6.js} +2 -2
  702. package/dist/client/chunks/{schema-visualization-Cb_E9_Gd.js.map → schema-visualization-DJPTktM6.js.map} +1 -1
  703. package/dist/client/chunks/{useDirtyStateTracking-MbpxH_v6.js → useDirtyStateTracking-BY_IIG1n.js} +2 -2
  704. package/dist/client/chunks/{useDirtyStateTracking-MbpxH_v6.js.map → useDirtyStateTracking-BY_IIG1n.js.map} +1 -1
  705. package/dist/client/chunks/{useExplainAI-evnZkjCY.js → useExplainAI-PjMBmj2p.js} +4 -4
  706. package/dist/client/chunks/{useExplainAI-evnZkjCY.js.map → useExplainAI-PjMBmj2p.js.map} +1 -1
  707. package/dist/client/chunks/{utils-3P6z1vz5.js → utils-Cq-j5E5I.js} +2 -2
  708. package/dist/client/chunks/{utils-3P6z1vz5.js.map → utils-Cq-j5E5I.js.map} +1 -1
  709. package/dist/client/chunks/{vendor-DSpR0IW6.js → vendor-D4jADu8t.js} +2 -2
  710. package/dist/client/chunks/{vendor-DSpR0IW6.js.map → vendor-D4jADu8t.js.map} +1 -1
  711. package/dist/client/components/AIAssistant/index.d.ts +2 -2
  712. package/dist/client/components/charts/ActivityGridChart.config.d.ts +6 -1
  713. package/dist/client/components/charts/AreaChart.config.d.ts +6 -1
  714. package/dist/client/components/charts/BarChart.config.d.ts +6 -1
  715. package/dist/client/components/charts/BoxPlotChart.config.d.ts +6 -1
  716. package/dist/client/components/charts/BubbleChart.config.d.ts +6 -1
  717. package/dist/client/components/charts/CandlestickChart.config.d.ts +6 -1
  718. package/dist/client/components/charts/DataTable.config.d.ts +6 -1
  719. package/dist/client/components/charts/FunnelChart.config.d.ts +5 -0
  720. package/dist/client/components/charts/GaugeChart.config.d.ts +6 -1
  721. package/dist/client/components/charts/HeatMapChart.config.d.ts +6 -1
  722. package/dist/client/components/charts/KpiDelta.config.d.ts +6 -1
  723. package/dist/client/components/charts/KpiNumber.config.d.ts +6 -1
  724. package/dist/client/components/charts/KpiText.config.d.ts +6 -1
  725. package/dist/client/components/charts/LineChart.config.d.ts +6 -1
  726. package/dist/client/components/charts/MarkdownChart.config.d.ts +6 -1
  727. package/dist/client/components/charts/MeasureProfileChart.config.d.ts +6 -1
  728. package/dist/client/components/charts/PieChart.config.d.ts +6 -1
  729. package/dist/client/components/charts/RadarChart.config.d.ts +6 -1
  730. package/dist/client/components/charts/RadialBarChart.config.d.ts +6 -1
  731. package/dist/client/components/charts/SankeyChart.config.d.ts +5 -0
  732. package/dist/client/components/charts/ScatterChart.config.d.ts +6 -1
  733. package/dist/client/components/charts/SunburstChart.config.d.ts +5 -0
  734. package/dist/client/components/charts/TreeMapChart.config.d.ts +6 -1
  735. package/dist/client/components/charts/WaterfallChart.config.d.ts +6 -1
  736. package/dist/client/components.js +2 -2
  737. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +1 -1
  738. package/dist/client/hooks/useAnalysisEffects.d.ts +33 -0
  739. package/dist/client/hooks/useAnalysisQuery.d.ts +144 -0
  740. package/dist/client/hooks/useAnalysisState.d.ts +165 -0
  741. package/dist/client/hooks.js +3 -3
  742. package/dist/client/icons/registry.d.ts +0 -6
  743. package/dist/client/icons/types.d.ts +5 -0
  744. package/dist/client/icons.js +1 -1
  745. package/dist/client/index.js +9 -9
  746. package/dist/client/providers.js +1 -1
  747. package/dist/client/schema.js +1 -1
  748. package/dist/client/utils.js +3 -3
  749. package/dist/client-bundle-stats.html +1 -1
  750. package/dist/mcp-app/mcp-app.html +34 -34
  751. package/dist/server/chartConfigHelpers-CcvqrIWF.js +72 -0
  752. package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +1 -0
  753. package/dist/server/index.cjs +68 -68
  754. package/dist/server/index.js +3800 -3728
  755. package/dist/server/{openai-D0musiYP.cjs → openai-B4kAJTSD.cjs} +3 -3
  756. package/dist/server/{openai-vXvLni8v.cjs → openai-Cdf2wWZA.cjs} +1 -1
  757. package/dist/server/{openai-B5jEiqiB.js → openai-CmMzrs1Y.js} +18 -2
  758. package/dist/server/{openai-cDlFSTk6.js → openai-DhzGY9R4.js} +1 -1
  759. package/package.json +85 -29
  760. package/dist/adapters/handler-Cn0dOctE.cjs +0 -25
  761. package/dist/adapters/hono/mcp-handler.d.ts +0 -37
  762. package/dist/adapters/mcp-transport-B7ddET3M.cjs +0 -40
  763. package/dist/adapters/mcp-transport-Dfuj4j4q.js +0 -591
  764. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +0 -1
  765. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +0 -1
  766. package/dist/client/chunks/chart-config-activity-grid-D_UX4NHC.js.map +0 -1
  767. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +0 -1
  768. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +0 -1
  769. package/dist/client/chunks/chart-config-bubble-gIoqVyjZ.js.map +0 -1
  770. package/dist/client/chunks/chart-config-candlestick-N6DchAA3.js.map +0 -1
  771. package/dist/client/chunks/chart-config-data-table-d7VBY-y_.js.map +0 -1
  772. package/dist/client/chunks/chart-config-funnel-DEYMcxsD.js.map +0 -1
  773. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +0 -1
  774. package/dist/client/chunks/chart-config-heat-map-CfRnRNcw.js.map +0 -1
  775. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +0 -1
  776. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +0 -1
  777. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +0 -1
  778. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +0 -1
  779. package/dist/client/chunks/chart-config-markdown-BtRIe8JN.js.map +0 -1
  780. package/dist/client/chunks/chart-config-measure-profile-DxRGa-zf.js.map +0 -1
  781. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +0 -1
  782. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +0 -1
  783. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +0 -1
  784. package/dist/client/chunks/chart-config-sankey-BTnWA7EW.js.map +0 -1
  785. package/dist/client/chunks/chart-config-scatter-DSYTjwRb.js.map +0 -1
  786. package/dist/client/chunks/chart-config-sunburst-Bwjtdf7X.js.map +0 -1
  787. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +0 -1
  788. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +0 -1
  789. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +0 -1
  790. package/dist/client/hooks/useAnalysisAI.d.ts +0 -56
  791. package/dist/client/hooks/useAnalysisChartDefaults.d.ts +0 -35
  792. package/dist/client/hooks/useAnalysisCombinedFields.d.ts +0 -18
  793. package/dist/client/hooks/useAnalysisInitialization.d.ts +0 -25
  794. package/dist/client/hooks/useAnalysisQueryBuilder.d.ts +0 -32
  795. package/dist/client/hooks/useAnalysisShare.d.ts +0 -18
  796. package/dist/client/hooks/useAnalysisUIState.d.ts +0 -24
@@ -119,7 +119,7 @@ var ce = (e, t) => {
119
119
  } catch {
120
120
  return;
121
121
  }
122
- }, ue = (e) => new Promise((t) => setTimeout(t, e)), de = "6.42.0", fe = () => typeof window < "u" && window.document !== void 0 && typeof navigator < "u";
122
+ }, ue = (e) => new Promise((t) => setTimeout(t, e)), de = "6.44.0", fe = () => typeof window < "u" && window.document !== void 0 && typeof navigator < "u";
123
123
  function pe() {
124
124
  return typeof Deno < "u" && Deno.build != null ? "deno" : typeof EdgeRuntime < "u" ? "edge" : Object.prototype.toString.call(globalThis.process === void 0 ? 0 : globalThis.process) === "[object process]" ? "node" : "unknown";
125
125
  }
@@ -1399,7 +1399,10 @@ I = /* @__PURE__ */ new WeakSet(), hn = function() {
1399
1399
  }, _n = function() {
1400
1400
  for (let e = this.messages.length - 1; e >= 0; e--) {
1401
1401
  let t = this.messages[e];
1402
- if (Qt(t) && t?.tool_calls?.length) return t.tool_calls.filter((e) => e.type === "function").at(-1)?.function;
1402
+ if (Qt(t) && t?.tool_calls?.length) for (let e = t.tool_calls.length - 1; e >= 0; e--) {
1403
+ let n = t.tool_calls[e];
1404
+ if (n?.type === "function") return n.function;
1405
+ }
1403
1406
  }
1404
1407
  }, vn = function() {
1405
1408
  for (let e = this.messages.length - 1; e >= 0; e--) {
@@ -2080,6 +2083,12 @@ var Gn = class extends N {
2080
2083
  __security: { adminAPIKeyAuth: !0 }
2081
2084
  });
2082
2085
  }
2086
+ retrieve(e, t) {
2087
+ return this._client.get(P`/organization/spend_alerts/${e}`, {
2088
+ ...t,
2089
+ __security: { adminAPIKeyAuth: !0 }
2090
+ });
2091
+ }
2083
2092
  update(e, t, n) {
2084
2093
  return this._client.post(P`/organization/spend_alerts/${e}`, {
2085
2094
  body: t,
@@ -2469,6 +2478,13 @@ var nr = class extends N {
2469
2478
  __security: { adminAPIKeyAuth: !0 }
2470
2479
  });
2471
2480
  }
2481
+ retrieve(e, t, n) {
2482
+ let { project_id: r } = t;
2483
+ return this._client.get(P`/organization/projects/${r}/spend_alerts/${e}`, {
2484
+ ...n,
2485
+ __security: { adminAPIKeyAuth: !0 }
2486
+ });
2487
+ }
2472
2488
  update(e, t, n) {
2473
2489
  let { project_id: r, ...i } = t;
2474
2490
  return this._client.post(P`/organization/projects/${r}/spend_alerts/${e}`, {
@@ -70,7 +70,7 @@ var r = class {
70
70
  try {
71
71
  let t = await import(
72
72
  /* webpackIgnore: true */
73
- "./openai-B5jEiqiB.js"
73
+ "./openai-CmMzrs1Y.js"
74
74
  );
75
75
  e = t.default || t.OpenAI || t;
76
76
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-cube",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "description": "Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.",
5
5
  "main": "./dist/server/index.js",
6
6
  "types": "./dist/server/index.d.ts",
@@ -14,14 +14,24 @@
14
14
  ],
15
15
  "exports": {
16
16
  ".": {
17
- "types": "./dist/server/index.d.ts",
18
- "import": "./dist/server/index.js",
19
- "require": "./dist/server/index.cjs"
17
+ "import": {
18
+ "types": "./dist/server/index.d.ts",
19
+ "default": "./dist/server/index.js"
20
+ },
21
+ "require": {
22
+ "types": "./dist/cjs/server/index.d.ts",
23
+ "default": "./dist/server/index.cjs"
24
+ }
20
25
  },
21
26
  "./server": {
22
- "types": "./dist/server/index.d.ts",
23
- "import": "./dist/server/index.js",
24
- "require": "./dist/server/index.cjs"
27
+ "import": {
28
+ "types": "./dist/server/index.d.ts",
29
+ "default": "./dist/server/index.js"
30
+ },
31
+ "require": {
32
+ "types": "./dist/cjs/server/index.d.ts",
33
+ "default": "./dist/server/index.cjs"
34
+ }
25
35
  },
26
36
  "./client": {
27
37
  "types": "./dist/client/index.d.ts",
@@ -57,39 +67,84 @@
57
67
  },
58
68
  "./client/styles.css": "./dist/client/styles.css",
59
69
  "./adapters/hono": {
60
- "types": "./dist/adapters/hono/index.d.ts",
61
- "import": "./dist/adapters/hono/index.js",
62
- "require": "./dist/adapters/hono/index.cjs"
70
+ "import": {
71
+ "types": "./dist/adapters/hono/index.d.ts",
72
+ "default": "./dist/adapters/hono/index.js"
73
+ },
74
+ "require": {
75
+ "types": "./dist/cjs/adapters/hono/index.d.ts",
76
+ "default": "./dist/adapters/hono/index.cjs"
77
+ }
63
78
  },
64
79
  "./adapters/express": {
65
- "types": "./dist/adapters/express/index.d.ts",
66
- "import": "./dist/adapters/express/index.js",
67
- "require": "./dist/adapters/express/index.cjs"
80
+ "import": {
81
+ "types": "./dist/adapters/express/index.d.ts",
82
+ "default": "./dist/adapters/express/index.js"
83
+ },
84
+ "require": {
85
+ "types": "./dist/cjs/adapters/express/index.d.ts",
86
+ "default": "./dist/adapters/express/index.cjs"
87
+ }
68
88
  },
69
89
  "./adapters/fastify": {
70
- "types": "./dist/adapters/fastify/index.d.ts",
71
- "import": "./dist/adapters/fastify/index.js",
72
- "require": "./dist/adapters/fastify/index.cjs"
90
+ "import": {
91
+ "types": "./dist/adapters/fastify/index.d.ts",
92
+ "default": "./dist/adapters/fastify/index.js"
93
+ },
94
+ "require": {
95
+ "types": "./dist/cjs/adapters/fastify/index.d.ts",
96
+ "default": "./dist/adapters/fastify/index.cjs"
97
+ }
73
98
  },
74
99
  "./adapters/nextjs": {
75
- "types": "./dist/adapters/nextjs/index.d.ts",
76
- "import": "./dist/adapters/nextjs/index.js",
77
- "require": "./dist/adapters/nextjs/index.cjs"
100
+ "import": {
101
+ "types": "./dist/adapters/nextjs/index.d.ts",
102
+ "default": "./dist/adapters/nextjs/index.js"
103
+ },
104
+ "require": {
105
+ "types": "./dist/cjs/adapters/nextjs/index.d.ts",
106
+ "default": "./dist/adapters/nextjs/index.cjs"
107
+ }
108
+ },
109
+ "./adapters/core": {
110
+ "import": {
111
+ "types": "./dist/adapters/core/index.d.ts",
112
+ "default": "./dist/adapters/core/index.js"
113
+ },
114
+ "require": {
115
+ "types": "./dist/cjs/adapters/core/index.d.ts",
116
+ "default": "./dist/adapters/core/index.cjs"
117
+ }
78
118
  },
79
119
  "./adapters/utils": {
80
- "types": "./dist/adapters/utils.d.ts",
81
- "import": "./dist/adapters/utils.js",
82
- "require": "./dist/adapters/utils.cjs"
120
+ "import": {
121
+ "types": "./dist/adapters/utils.d.ts",
122
+ "default": "./dist/adapters/utils.js"
123
+ },
124
+ "require": {
125
+ "types": "./dist/cjs/adapters/utils.d.ts",
126
+ "default": "./dist/adapters/utils.cjs"
127
+ }
83
128
  },
84
129
  "./adapters/types": {
85
- "types": "./dist/adapters/types.d.ts",
86
- "import": "./dist/adapters/types.js",
87
- "require": "./dist/adapters/types.cjs"
130
+ "import": {
131
+ "types": "./dist/adapters/types.d.ts",
132
+ "default": "./dist/adapters/types.js"
133
+ },
134
+ "require": {
135
+ "types": "./dist/cjs/adapters/types.d.ts",
136
+ "default": "./dist/adapters/types.cjs"
137
+ }
88
138
  },
89
139
  "./mcp": {
90
- "types": "./dist/adapters/mcp-tools.d.ts",
91
- "import": "./dist/adapters/mcp-tools.js",
92
- "require": "./dist/adapters/mcp-tools.cjs"
140
+ "import": {
141
+ "types": "./dist/adapters/mcp-tools.d.ts",
142
+ "default": "./dist/adapters/mcp-tools.js"
143
+ },
144
+ "require": {
145
+ "types": "./dist/cjs/adapters/mcp-tools.d.ts",
146
+ "default": "./dist/adapters/mcp-tools.cjs"
147
+ }
93
148
  }
94
149
  },
95
150
  "files": [
@@ -105,6 +160,7 @@
105
160
  "dev:build-server": "vite build src/server --watch --mode development",
106
161
  "dev:build-client": "vite build src/client --watch --mode development",
107
162
  "dev:mcp-app": "vite build --config vite.config.mcp-app.ts --watch",
163
+ "prebuild": "node -e \"require('node:fs').rmSync('dist/cjs', { recursive: true, force: true })\"",
108
164
  "build": "npm run build:server && npm run build:mcp-app && npm run build:client && npm run build:adapters && npm run build:cli",
109
165
  "build:mcp-app": "vite build --config vite.config.mcp-app.ts && tsx scripts/generate-mcp-app-html.ts",
110
166
  "build:server": "vite build --config vite.config.server.ts",
@@ -349,7 +405,7 @@
349
405
  "eslint-plugin-unused-imports": "^4.4.1",
350
406
  "exceljs": "^4.4.0",
351
407
  "express": "^5.1.0",
352
- "fallow": "2.96.0",
408
+ "fallow": "2.99.0",
353
409
  "fastify": "^5.6.2",
354
410
  "globals": "^17.0.0",
355
411
  "hono": "^4.0.0",
@@ -1,25 +0,0 @@
1
- const e=require("./utils-_whV4fXL.cjs");function t(e,t){if(!(!t.measures||t.measures.length===0)){e.push(``),e.push(`**Measures:**`);for(let n of t.measures){let r=n.description?` - ${n.description}`:``;e.push(`- \`${t.name}.${n.name}\` (${n.type})${r}`)}}}function n(e,t){if(!(!t.dimensions||t.dimensions.length===0)){e.push(``),e.push(`**Dimensions:**`);for(let n of t.dimensions){let r=n.description?` - ${n.description}`:``;e.push(`- \`${t.name}.${n.name}\` (${n.type})${r}`)}}}function r(e,t){if(!(!t.relationships||t.relationships.length===0)){e.push(``),e.push(`**Joins:**`);for(let n of t.relationships)e.push(`- → \`${n.targetCube}\` (${n.relationship})`)}}function i(e,t){t.meta?.eventStream&&(e.push(``),e.push(`**Event Stream:** Yes (supports funnel, flow, retention queries)`),t.meta.eventStream.bindingKey&&e.push(`- Binding key: \`${t.name}.${t.meta.eventStream.bindingKey}\``),t.meta.eventStream.timeDimension&&e.push(`- Time dimension: \`${t.name}.${t.meta.eventStream.timeDimension}\``))}function a(e){if(e.length===0)return`No cubes are currently available.`;let a=[`## Available Cubes`,``];for(let o of e)a.push(`### ${o.name}`),o.description&&a.push(o.description),t(a,o),n(a,o),r(a,o),i(a,o),a.push(``);return a.join(`
2
- `)}function o(e){return e.messages.map(e=>e.content.text).join(`
3
-
4
- `)}function s(t){return[`# Drizzle Cube Analytics Agent`,``,`You are an analytics agent that helps users explore and visualize data.`,`You have access to a semantic layer with cubes (data models) that you can query.`,``,`## Your Workflow`,``,`For EACH insight, follow this cycle — do NOT batch all queries first:`,``,"1. **Discover** available cubes using `discover_cubes` (once at the start)",`2. **For each analysis point**, repeat this cycle:`," a. `execute_query` — get the data"," b. `add_markdown` — explain the results and insight"," c. `add_portlet` — visualize the results",``,`Call all three (query → markdown → portlet) in a single turn before moving on to the next analysis.`,`Do NOT run multiple queries first and add charts later — the user sees results in real-time.`,``,`## Important Guidelines`,``,`- ALWAYS discover cubes first before attempting queries`,"- Field names MUST be EXACTLY `CubeName.fieldName` — two parts separated by a single dot. Examples: `PullRequests.count`, `Teams.name`, `Employees.department`."," WRONG patterns that WILL FAIL: `Teams.Teams.name` (double-prefixed), `PullRequests.PullRequests.count` (double-prefixed), `PullRequests` (bare cube), `Teams_count` (underscore). Use the EXACT field names from discover results — copy them verbatim, do not prefix them again.",`- Order keys MUST be one of the measures or dimensions already listed in that query. You CANNOT order by a field that is not in measures or dimensions — add it to measures first, or remove it from order.`,"- After EVERY `execute_query`, IMMEDIATELY call `add_markdown` and `add_portlet` in the SAME turn — never defer visualizations to a later turn",`- Choose appropriate chart types: bar for categories, line for trends, table for detailed data`,`- If a query fails, explain the error and try an alternative approach`,``,`## Output Format Rules`,``,`### CRITICAL: Always think before acting`,`- EVERY single turn MUST begin with a text message (1-2 sentences) BEFORE any tool calls. This is your #1 rule — never violate it.`,`- This applies to EVERY turn, including turns where you are adding visualizations or explanations to the notebook.`,`- Even when adding multiple charts in sequence, each turn must start with a brief status like "Now I'll chart the productivity breakdown." or "Next, let me show the department comparison."`,`- Example good turn: "Let me see what data is available." → discover_cubes`,`- Example good turn: "I'll add a chart showing the top employees." → add_markdown → add_portlet`,`- Example bad turn: (no text) → add_portlet ← NEVER do this`,``,`### Text vs Notebook`,"- ALL analysis, findings, methodology, and insights MUST go through `add_markdown` tool calls — never in your text responses",`- Your text responses must be 1-2 short sentences (under 50 words) summarizing what you are about to do next — status updates only`,`- Never use markdown formatting (headers, bullets, bold, code blocks) in text responses — plain sentences only`,`- Write text responses as a friendly analyst would — use plain business language the user understands`,`- NEVER mention internal terms like "cube", "query syntax", "field names", "measures", "dimensions", "portlet", "prefix format", or tool names in text responses`,`- Instead of "Let me correct the query syntax and retry" → "Let me fix that and try again"`,`- Instead of "I'll query the PullRequests cube" → "I'll look at the pull request data"`,`- Instead of "Adding a portlet with the results" → "Here's a chart of the results"`,``,`### Notebook content rules`,"- Before each `add_portlet`, ALWAYS call `add_markdown` first to explain WHY you are adding this visualization and what it shows","- Before calling `add_portlet`, verify the query is valid: all fields in `order` must also appear in `measures` or `dimensions`",'- Never put data tables in markdown blocks — use `add_portlet` with chartType "table" instead',"- Think out loud in the notebook: use `add_markdown` to share your reasoning at each step so users can follow along",`- NEVER use emojis in text responses or markdown content — no 📊, 📈, ✅, 🔍, etc. Write in plain, professional language.`,``,`## Chart Selection Guide`,``,`Choose the chart type that best communicates the answer to the user's question. Think about what the data represents and what insight the user needs — do NOT default to the first option in this table. Consider the number of data points, whether values are categorical or temporal, and whether the user is comparing, trending, or summarizing.`,``,`| Intent / Data Shape | Chart Type |`,`|---|---|`,"| Compare discrete categories or rankings | `bar` |","| Trend over time (one or few series) | `line` |","| Trend over time showing volume/magnitude | `area` |","| Part-of-whole breakdown | `pie` (≤7 slices) |","| Correlation between two measures | `scatter` |","| Correlation with size/color third dimension | `bubble` |","| Intensity across two categorical dimensions | `heatmap` |","| Multi-variable comparison across categories | `radar` |","| Distribution/spread of values | `boxPlot` |","| Detailed row-level data or many columns | `table` |","| Single headline number — ONLY when user explicitly asks for a KPI card or single number | `kpiNumber` |","| Headline metric with period-over-period change — ONLY when user asks about change in a single metric | `kpiDelta` |",``,`Analysis-mode-specific chart types (require the corresponding analysis mode):`,``,`| Analysis Mode | Chart Type | Description |`,`|---|---|---|`,"| Funnel | `funnel` | Sequential step conversion bars with conversion rates |","| Flow | `sankey` | Flow diagram showing paths between states/steps |","| Flow | `sunburst` | Radial rings showing forward paths from a starting event |","| Retention | `retentionHeatmap` | Cohort × period retention matrix |","| Retention | `retentionCombined` | Retention with line chart, heatmap, or combined modes |",``,'**Chart selection priorities:** Default to `bar` for categories, `line` for time series, `table` for exploratory data. Use `kpiNumber`/`kpiDelta` only as a last resort — they are appropriate only when the user explicitly asks for a single headline number or KPI card. If the query returns multiple rows or the user asks a general question like "show me revenue", prefer `bar` or `table` over `kpiNumber`.',``,`## Chart Axis Configuration Rules`,``,"**Bar charts MUST have an xAxis.** Put a dimension in `chartConfig.xAxis` so bars have category labels. If your query has no dimensions, add one or use `table` instead.",``,"**Never duplicate xAxis in series.** Putting the same dimension in both `xAxis` and `series` creates a sparse, broken-looking chart. The `series` field is ONLY for splitting bars into grouped/stacked sub-series by a SECOND dimension.",``,`Correct bar chart examples:`,'- Categories only: `xAxis: ["Cube.category"], yAxis: ["Cube.count"]` — no series needed','- Grouped bars: `xAxis: ["Cube.category"], yAxis: ["Cube.count"], series: ["Cube.status"]` — series is a DIFFERENT dimension','- Multiple measures: `xAxis: ["Cube.category"], yAxis: ["Cube.count", "Cube.total"]` — each measure becomes a bar group',``,`Wrong:`,'- `xAxis: [], yAxis: ["Cube.avg1", "Cube.avg2"]` — missing xAxis, bars have no labels','- `xAxis: ["Cube.size"], series: ["Cube.size"]` — same field in both, creates sparse chart',``,"**Dual Y-axis for multi-measure charts.** When a `bar`, `line`, or `area` chart has 2+ measures with different scales (e.g. revenue in thousands vs conversion rate as a percentage), use `chartConfig.yAxisAssignment` to put them on separate axes:","```json",`{`,` "xAxis": ["Sales.month"],`,` "yAxis": ["Sales.revenue", "Sales.conversionRate"],`,` "yAxisAssignment": { "Sales.revenue": "left", "Sales.conversionRate": "right" }`,`}`,"```",`Only use dual axis when measures have genuinely different scales. If both measures share the same unit/scale, keep them on the same (left) axis — omit yAxisAssignment entirely.`,``,`## Analysis Mode Decision Tree`,``,`The default mode is **query** (standard measures/dimensions). Switch to a special mode only when the user's question matches:`,``,`- **Funnel mode** — "What is the conversion rate from step A → B → C?"`," - Requires: an event-stream cube with `capabilities.funnel = true` from `discover_cubes`"," - Execute: `execute_query` with `funnel` param:",' `{ bindingKey: "Events.userId", timeDimension: "Events.timestamp", steps: [{ name: "Signup", filter: { member: "Events.eventName", operator: "equals", values: ["signup"] }}, { name: "Purchase", filter: { member: "Events.eventName", operator: "equals", values: ["purchase"] }}] }`',' - Visualize: `add_portlet` with `chartType: "funnel"` and `query` as JSON string containing `{ "funnel": { ... } }`',``,`- **Flow mode** — "What paths do users take after signup?"`," - Requires: `capabilities.flow = true` from `discover_cubes`"," - Execute: `execute_query` with `flow` param:",' `{ bindingKey: "Events.userId", timeDimension: "Events.timestamp", eventDimension: "Events.eventName", startingStep: { name: "Signup", filter: { member: "Events.eventName", operator: "equals", values: ["signup"] }}, stepsBefore: 0, stepsAfter: 3 }`',' - Visualize: `add_portlet` with `chartType: "sankey"` (or `"sunburst"`) and `query` as JSON string containing `{ "flow": { ... } }`',``,`- **Retention mode** — "What % of users come back after 7 days?"`," - Requires: `capabilities.retention = true` from `discover_cubes`"," - Execute: `execute_query` with `retention` param:",' `{ timeDimension: "Events.timestamp", bindingKey: "Events.userId", dateRange: { start: "2024-01-01", end: "2024-03-31" }, granularity: "week", periods: 8, retentionType: "classic" }`',' - Visualize: `add_portlet` with `chartType: "retentionCombined"` (or `"retentionHeatmap"`) and `query` as JSON string containing `{ "retention": { ... } }`',``,"Before using funnel/flow/retention, check the `capabilities` object returned by `discover_cubes`. If the required capability is `false`, explain to the user that the data model does not support that analysis mode.",``,`Event-stream cubes are marked in the Available Cubes section below with **Event Stream: Yes** and list their binding key and time dimension.`,``,`---`,``,o(e._),``,`---`,``,o(e.v),``,`---`,``,o(e.g),``,`---`,``,`## Save as Dashboard`,``,"ONLY call `save_as_dashboard` when the user EXPLICITLY asks to save, export, or convert the notebook into a dashboard. NEVER save a dashboard on your own initiative — wait for the user to request it.",``,`### Layout Rules`,`- Dashboard grid is 12 columns wide`,`- KPI cards: w=3, h=3 — place at the top in a row of 4`,`- Overview charts (bar, line, area): w=6, h=4`,`- Wide charts (heatmap, table): w=12, h=5`,`- Section headers (markdown): w=12, h=1`,``,`### Section Headers`,'Use `chartType: "markdown"` portlets as section headers to organize the dashboard:',"```json",`{`,` "id": "header-overview",`,` "title": "Overview",`,` "chartType": "markdown",`,` "displayConfig": {`,` "content": "## Overview",`,` "hideHeader": true,`,` "transparentBackground": true,`,` "autoHeight": true`,` },`,` "w": 12, "h": 1, "x": 0, "y": 0`,`}`,"```",``,`### Dashboard Filters`,"- ALWAYS include a universal date filter with `isUniversalTime: true`",`- Add dimension filters for key fields used across portlets (e.g., department, status, region)`,`- Use human-readable labels (e.g., "Department" not "Employees.departmentName")`,"- Map filters to portlets using `dashboardFilterMapping` — list the filter IDs that apply","- To apply a filter to a different field for one portlet, use `{ filterId, member }` instead of a plain ID (e.g. remap a Customer filter to `Invoices.customerId`); the target field must be join-reachable from the portlet query",`- When promoting a hardcoded filter to a dashboard filter, REMOVE that filter from the portlet query`,``,`### Analysis Types`,'- Standard query portlets: `analysisType: "query"` (default)','- Funnel portlets: `analysisType: "funnel"`, query contains `{ "funnel": {...} }`, chartType `"funnel"`','- Flow portlets: `analysisType: "flow"`, query contains `{ "flow": {...} }`, chartType `"sankey"` or `"sunburst"`','- Retention portlets: `analysisType: "retention"`, query contains `{ "retention": {...} }`, chartType `"retentionHeatmap"` or `"retentionCombined"`',``,`### CRITICAL: Only use portlets from the notebook`,"- ONLY include portlets that you already added to the notebook via `add_portlet` during this conversation",`- Do NOT invent new queries or charts that were not part of the analysis — the dashboard is a direct conversion of the notebook`,`- Reuse the exact same queries, chart types, and chart configs from the notebook portlets`,`- Arrange the existing portlets in a sensible layout (KPIs at top, charts in middle, tables at bottom)`,`- You may add section header markdown portlets to organize the layout, but do not add new data portlets`,``,`---`,``,a(t)].join(`
5
- `)}function c({measureCount:e,dimensionCount:t}){return e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:t<1?{available:!1,reason:`chart.availability.requiresDimension`}:{available:!0}}function l({measureCount:e}){return e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:{available:!0}}var u={key:`target`,label:`chart.option.target.label`,type:`string`,placeholder:`e.g., 100 or 50,75 for spread`,description:`chart.option.target.description`},d={key:`connectNulls`,label:`chart.option.connectNulls.label`,type:`boolean`,defaultValue:!1,description:`chart.option.connectNulls.description`},f={key:`leftYAxisFormat`,label:`chart.option.leftYAxisFormat.label`,type:`axisFormat`,description:`chart.option.leftYAxisFormat.description`},p={key:`rightYAxisFormat`,label:`chart.option.rightYAxisFormat.label`,type:`axisFormat`,description:`chart.option.rightYAxisFormat.description`};function m(e=`chart.option.valueFormat.description`){return{key:`leftYAxisFormat`,label:`chart.option.valueFormat.label`,type:`axisFormat`,description:e}}function h(e){return{key:`stackType`,label:`chart.option.stacking.label`,type:`select`,defaultValue:`none`,options:[{value:`none`,label:`chart.option.accentBorder.none`},{value:`normal`,label:`chart.option.stacking.stacked`},{value:`percent`,label:`chart.option.stacking.percent`}],description:e}}var g={bar:{label:`chart.bar.label`,description:`chart.bar.description`,useCase:`chart.bar.useCase`,clickableElements:{bar:!0},isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.dropZone.xAxis.label`,description:`chart.dropZone.xAxis.description`,mandatory:!1,acceptTypes:[`dimension`,`timeDimension`],emptyText:`chart.bar.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.dropZone.yAxis.label`,description:`chart.configText.measures_for_bar_heights`,mandatory:!0,acceptTypes:[`measure`],emptyText:`chart.bar.dropZone.yAxis.empty`,enableDualAxis:!0},{key:`series`,label:`chart.dropZone.series.label`,description:`chart.dropZone.series.description`,mandatory:!1,acceptTypes:[`dimension`],emptyText:`chart.bar.dropZone.series.empty`}],displayOptions:[`showLegend`,`showGrid`,`showTooltip`,`showAllXLabels`,`hideHeader`],displayOptionsConfig:[h(`chart.configText.how_to_stack_multiple_bar_series`),u,f,p]},line:{label:`chart.line.label`,description:`chart.line.description`,useCase:`chart.line.useCase`,clickableElements:{point:!0},isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.configText.x_axis_time_categories`,description:`chart.configText.time_dimensions_or_dimensions_for_x_axis`,mandatory:!0,acceptTypes:[`dimension`,`timeDimension`],emptyText:`chart.line.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.dropZone.yAxis.label`,description:`chart.configText.measures_for_line_values`,mandatory:!0,acceptTypes:[`measure`],emptyText:`chart.line.dropZone.yAxis.empty`,enableDualAxis:!0},{key:`series`,label:`chart.configText.series_multiple_lines`,description:`chart.configText.dimensions_to_create_separate_lines`,mandatory:!1,acceptTypes:[`dimension`],emptyText:`chart.line.dropZone.series.empty`}],displayOptions:[`showLegend`,`showGrid`,`showTooltip`,`showAllXLabels`,`hideHeader`],displayOptionsConfig:[d,u,{key:`priorPeriodStyle`,label:`chart.option.priorPeriodStyle.label`,type:`select`,defaultValue:`dashed`,options:[{value:`dashed`,label:`chart.option.priorPeriodStyle.dashed`},{value:`dotted`,label:`chart.option.priorPeriodStyle.dotted`},{value:`solid`,label:`chart.option.priorPeriodStyle.solid`}],description:`chart.option.priorPeriodStyle.description`},{key:`priorPeriodOpacity`,label:`chart.option.priorPeriodOpacity.label`,type:`number`,defaultValue:.5,min:.1,max:1,step:.1,description:`chart.option.priorPeriodOpacity.description`},f,p]},area:{label:`chart.area.label`,description:`chart.area.description`,useCase:`chart.area.useCase`,isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.configText.x_axis_time_categories`,description:`chart.configText.time_dimensions_or_dimensions_for_x_axis`,mandatory:!0,acceptTypes:[`dimension`,`timeDimension`],emptyText:`chart.area.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.dropZone.yAxis.label`,description:`chart.configText.measures_for_area_values`,mandatory:!0,acceptTypes:[`measure`],emptyText:`chart.area.dropZone.yAxis.empty`,enableDualAxis:!0},{key:`series`,label:`chart.configText.series_stack_areas`,description:`chart.configText.dimensions_to_create_stacked_areas`,mandatory:!1,acceptTypes:[`dimension`],emptyText:`chart.area.dropZone.series.empty`}],displayOptions:[`showLegend`,`showGrid`,`showTooltip`,`showAllXLabels`,`hideHeader`],displayOptionsConfig:[h(`chart.configText.how_to_stack_multiple_area_series`),d,u,f,p]},pie:{label:`chart.pie.label`,description:`chart.pie.description`,useCase:`chart.pie.useCase`,clickableElements:{slice:!0},isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.configText.categories`,description:`chart.configText.dimension_for_pie_slices`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.pie.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.values`,description:`chart.configText.measure_for_slice_sizes`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.pie.dropZone.yAxis.empty`}],displayOptions:[`showLegend`,`showTooltip`,`hideHeader`],displayOptionsConfig:[{key:`innerRadius`,label:`chart.option.innerRadius.label`,type:`select`,description:`chart.configText.hollow_center_size_0_percent_solid_pie_higher_donut_style`,defaultValue:`0%`,options:[{value:`0%`,label:`chart.configText.none_pie`},{value:`20%`,label:`chart.configText.20_percent`},{value:`40%`,label:`chart.configText.40_percent`},{value:`60%`,label:`chart.configText.60_percent`},{value:`80%`,label:`chart.configText.80_percent`}]},m()]},scatter:{label:`chart.scatter.label`,description:`chart.scatter.description`,useCase:`chart.scatter.useCase`,isAvailable:({measureCount:e,dimensionCount:t})=>e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:e<2&&t<1?{available:!1,reason:`chart.availability.scatter`}:{available:!0},dropZones:[{key:`xAxis`,label:`chart.runtime.axisFormat.xAxis`,description:`chart.configText.measure_or_dimension_for_x_position`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`,`timeDimension`,`measure`],emptyText:`chart.scatter.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.y_axis`,description:`chart.configText.measure_for_y_position`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.scatter.dropZone.yAxis.empty`},{key:`series`,label:`chart.configText.series_color_groups`,description:`chart.configText.dimension_to_color_points_by_category`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.scatter.dropZone.series.empty`}],displayOptions:[`showLegend`,`showGrid`,`showTooltip`,`hideHeader`],displayOptionsConfig:[{key:`xAxisFormat`,label:`chart.option.xAxisFormat.label`,type:`axisFormat`,description:`chart.option.xAxisFormat.description`},{key:`leftYAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.option.yAxisFormat.description`}]},bubble:{label:`chart.bubble.label`,description:`chart.bubble.description`,useCase:`chart.bubble.useCase`,isAvailable:({measureCount:e,dimensionCount:t})=>e<2?{available:!1,reason:`chart.availability.requiresTwoMeasures`}:t<1?{available:!1,reason:`chart.availability.bubble`}:{available:!0},dropZones:[{key:`xAxis`,label:`chart.runtime.axisFormat.xAxis`,description:`chart.configText.horizontal_axis_position`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`,`timeDimension`,`measure`],emptyText:`chart.bubble.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.y_axis`,description:`chart.configText.vertical_axis_position`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.bubble.dropZone.yAxis.empty`},{key:`sizeField`,label:`chart.configText.bubble_radius`,description:`chart.configText.size_of_bubbles_based_on_this_measure`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.bubble.dropZone.sizeField.empty`},{key:`series`,label:`chart.configText.bubble_labels`,description:`chart.configText.field_to_use_for_bubble_labels_and_identification`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.bubble.dropZone.series.empty`},{key:`colorField`,label:`chart.configText.bubble_colour`,description:`chart.configText.color_bubbles_by_this_field_optional`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`,`measure`],emptyText:`chart.bubble.dropZone.colorField.empty`}],displayOptions:[`showLegend`,`showGrid`,`showTooltip`,`minBubbleSize`,`maxBubbleSize`,`bubbleOpacity`,`hideHeader`],displayOptionsConfig:[{key:`xAxisFormat`,label:`chart.option.xAxisFormat.label`,type:`axisFormat`,description:`chart.option.xAxisFormat.description`},{key:`leftYAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_y_axis_and_values`}]},radar:{label:`chart.radar.label`,description:`chart.radar.description`,useCase:`chart.radar.useCase`,isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.configText.axes_categories`,description:`chart.configText.dimensions_for_radar_axes`,mandatory:!0,acceptTypes:[`dimension`],emptyText:`chart.radar.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.values`,description:`chart.configText.measures_for_radar_values`,mandatory:!0,acceptTypes:[`measure`],emptyText:`chart.radar.dropZone.yAxis.empty`},{key:`series`,label:`chart.configText.series_multiple_shapes`,description:`chart.configText.dimensions_to_create_multiple_radar_shapes`,mandatory:!1,acceptTypes:[`dimension`],emptyText:`chart.radar.dropZone.series.empty`}],displayOptions:[`showLegend`,`showGrid`,`showTooltip`,`hideHeader`],displayOptionsConfig:[m()]},radialBar:{label:`chart.radialBar.label`,description:`chart.radialBar.description`,useCase:`chart.radialBar.useCase`,isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.configText.categories`,description:`chart.configText.dimensions_for_radial_segments`,mandatory:!0,acceptTypes:[`dimension`],emptyText:`chart.radialBar.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.values`,description:`chart.configText.measures_for_radial_bar_lengths`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.radialBar.dropZone.yAxis.empty`}],displayOptions:[`showLegend`,`showTooltip`,`hideHeader`],displayOptionsConfig:[m()]},treemap:{label:`chart.treemap.label`,description:`chart.treemap.description`,useCase:`chart.treemap.useCase`,isAvailable:c,dropZones:[{key:`xAxis`,label:`chart.configText.categories`,description:`chart.configText.dimensions_for_treemap_rectangles`,mandatory:!0,acceptTypes:[`dimension`],emptyText:`chart.treemap.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.size`,description:`chart.configText.measure_for_rectangle_sizes`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.treemap.dropZone.yAxis.empty`},{key:`series`,label:`chart.configText.color_groups`,description:`chart.configText.dimension_to_color_rectangles_by_category`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.treemap.dropZone.series.empty`}],displayOptions:[`showLegend`,`showTooltip`,`hideHeader`],displayOptionsConfig:[m(`chart.configText.number_formatting_for_size_values`)],clickableElements:{cell:!0}},table:{label:`chart.table.label`,description:`chart.table.description`,useCase:`chart.table.useCase`,dropZones:[{key:`xAxis`,label:`chart.configText.columns`,description:`chart.configText.all_fields_to_display_as_columns`,mandatory:!1,acceptTypes:[`dimension`,`timeDimension`,`measure`],emptyText:`chart.table.dropZone.xAxis.empty`}],displayOptions:[`hideHeader`],displayOptionsConfig:[{key:`leftYAxisFormat`,label:`chart.option.valueFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_numeric_values`}]},activityGrid:{label:`chart.activityGrid.label`,description:`chart.activityGrid.description`,useCase:`chart.activityGrid.useCase`,isAvailable:({measureCount:e,timeDimensionCount:t})=>e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:t<1?{available:!1,reason:`chart.availability.requiresTimeDimension`}:{available:!0},dropZones:[{key:`dateField`,label:`chart.configText.time_dimension`,description:`chart.configText.time_field_that_determines_grid_structure_granularity_affects_layout`,mandatory:!0,maxItems:1,acceptTypes:[`timeDimension`],emptyText:`chart.activityGrid.dropZone.dateField.empty`},{key:`valueField`,label:`chart.configText.activity_measure`,description:`chart.configText.measure_used_for_activity_intensity_color_coding`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.activityGrid.dropZone.valueField.empty`}],displayOptions:[`showLabels`,`showTooltip`,`hideHeader`],displayOptionsConfig:[{key:`fitToWidth`,label:`chart.option.fitToWidth.label`,type:`boolean`,defaultValue:!1,description:`chart.option.fitToWidth.description`}],validate:e=>{let{dateField:t,valueField:n}=e;return!t||Array.isArray(t)&&t.length===0?{isValid:!1,message:`chart.activityGrid.validation.timeDimensionRequired`}:!n||Array.isArray(n)&&n.length===0?{isValid:!1,message:`chart.activityGrid.validation.measureRequired`}:{isValid:!0}},clickableElements:{cell:!0}},kpiNumber:{label:`chart.kpiNumber.label`,description:`chart.kpiNumber.description`,useCase:`chart.kpiNumber.useCase`,isAvailable:l,dropZones:[{key:`yAxis`,label:`chart.configText.value`,description:`chart.configText.measure_to_display_as_kpi_number`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.kpiNumber.dropZone.yAxis.empty`}],displayOptionsConfig:[{key:`target`,label:`chart.runtime.tooltip.targetValue`,type:`string`,placeholder:`e.g., 100`,description:`chart.configText.target_value_to_compare_against_first_value_used_if_multiple_provided`},{key:`prefix`,label:`chart.option.prefix.label`,type:`string`,placeholder:`e.g., $, €, #`,description:`chart.option.prefix.description`},{key:`suffix`,label:`chart.option.suffix.label`,type:`string`,placeholder:`e.g., %, units, items`,description:`chart.option.suffix.description`},{key:`decimals`,label:`chart.option.decimals.label`,type:`number`,defaultValue:0,min:0,max:10,step:1,description:`chart.option.decimals.description`},{key:`valueColorIndex`,label:`chart.configText.value_color`,type:`paletteColor`,defaultValue:0,description:`chart.configText.color_from_the_dashboard_palette_for_the_kpi_value_text`},{key:`useLastCompletePeriod`,label:`chart.option.useLastCompletePeriod.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.exclude_current_incomplete_period_from_aggregation_e_g_partial_week_mont`},{key:`skipLastPeriod`,label:`chart.option.skipLastPeriod.label`,type:`boolean`,defaultValue:!1,description:`chart.option.skipLastPeriod.description`}],displayOptions:[`hideHeader`]},kpiDelta:{label:`chart.kpiDelta.label`,description:`chart.kpiDelta.description`,useCase:`chart.kpiDelta.useCase`,isAvailable:c,dropZones:[{key:`yAxis`,label:`chart.configText.value`,description:`chart.configText.measure_to_track_changes_for`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.kpiDelta.dropZone.yAxis.empty`},{key:`xAxis`,label:`chart.configText.dimension_optional`,description:`chart.configText.dimension_for_ordering_data_typically_time`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`,`timeDimension`],emptyText:`chart.kpiDelta.dropZone.xAxis.empty`}],displayOptionsConfig:[{key:`prefix`,label:`chart.option.prefix.label`,type:`string`,placeholder:`e.g., $, €, #`,description:`chart.option.prefix.description`},{key:`suffix`,label:`chart.option.suffix.label`,type:`string`,placeholder:`e.g., %, units, items`,description:`chart.option.suffix.description`},{key:`decimals`,label:`chart.option.decimals.label`,type:`number`,defaultValue:1,min:0,max:10,step:1,description:`chart.option.decimals.description`},{key:`positiveColorIndex`,label:`chart.configText.positive_change_color`,type:`paletteColor`,defaultValue:2,description:`chart.configText.color_for_positive_changes_increases`},{key:`negativeColorIndex`,label:`chart.configText.negative_change_color`,type:`paletteColor`,defaultValue:3,description:`chart.configText.color_for_negative_changes_decreases`},{key:`showHistogram`,label:`chart.option.showHistogram.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showHistogram.description`},{key:`useLastCompletePeriod`,label:`chart.option.useLastCompletePeriod.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.exclude_current_incomplete_period_from_delta_calculation_e_g_partial_wee`},{key:`skipLastPeriod`,label:`chart.option.skipLastPeriod.label`,type:`boolean`,defaultValue:!1,description:`chart.option.skipLastPeriod.description`}],displayOptions:[`hideHeader`],validate:e=>!e.yAxis||Array.isArray(e.yAxis)&&e.yAxis.length===0?{isValid:!1,message:`chart.kpiDelta.validation.measureRequired`}:{isValid:!0}},kpiText:{label:`chart.kpiText.label`,description:`chart.kpiText.description`,useCase:`chart.kpiText.useCase`,isAvailable:l,dropZones:[{key:`yAxis`,label:`chart.configText.value`,description:`chart.configText.measure_to_display_in_the_kpi_text_template`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.kpiText.dropZone.yAxis.empty`}],displayOptionsConfig:[{key:`template`,label:`chart.configText.text_template`,type:`string`,placeholder:"e.g., Total Revenue: ${value}",description:`chart.configText.template_for_displaying_the_text_use_value_to_insert_the_measure_value`},{key:`decimals`,label:`chart.option.decimals.label`,type:`number`,defaultValue:0,min:0,max:10,step:1,description:`chart.configText.number_of_decimal_places_to_display_for_numeric_values`},{key:`valueColorIndex`,label:`chart.configText.value_color`,type:`paletteColor`,defaultValue:0,description:`chart.configText.color_from_the_dashboard_palette_for_the_kpi_value_text`}],displayOptions:[`hideHeader`]},markdown:{label:`chart.markdown.label`,description:`chart.markdown.description`,useCase:`chart.markdown.useCase`,skipQuery:!0,dropZones:[],displayOptionsConfig:[{key:`content`,label:`chart.configText.markdown_content`,type:`string`,placeholder:`# Welcome
6
-
7
- Add your **markdown** content here:
8
-
9
- - Lists with bullets
10
- - [Links](https://example.com)
11
- - *Italic* and **bold** text
12
-
13
- ---
14
-
15
- Use --- for horizontal rules.`,description:`chart.configText.enter_markdown_text_supports_headers_bold_text_italic_text_links_text_ur`},{key:`accentColorIndex`,label:`chart.configText.accent_color`,type:`paletteColor`,defaultValue:0,description:`chart.configText.color_from_the_dashboard_palette_for_headers_bullets_and_links`},{key:`fontSize`,label:`chart.option.fontSize.label`,type:`select`,defaultValue:`medium`,options:[{value:`small`,label:`chart.option.fontSize.small`},{value:`medium`,label:`chart.option.fontSize.medium`},{value:`large`,label:`chart.option.fontSize.large`}],description:`chart.configText.overall_text_size_for_the_markdown_content`},{key:`alignment`,label:`chart.option.alignment.label`,type:`select`,defaultValue:`left`,options:[{value:`left`,label:`chart.option.accentBorder.left`},{value:`center`,label:`chart.option.alignment.center`},{value:`right`,label:`chart.option.alignment.right`}],description:`chart.configText.horizontal_alignment_of_the_markdown_content`},{key:`hideHeader`,label:`chart.option.hideHeader.label`,type:`boolean`,defaultValue:!0,description:`chart.option.hideHeader.description`},{key:`transparentBackground`,label:`chart.option.transparentBackground.label`,type:`boolean`,defaultValue:!1,description:`chart.option.transparentBackground.description`},{key:`autoHeight`,label:`chart.option.autoHeight.label`,type:`boolean`,defaultValue:!0,description:`chart.option.autoHeight.description`},{key:`accentBorder`,label:`chart.option.accentBorder.label`,type:`select`,defaultValue:`none`,options:[{value:`none`,label:`chart.option.accentBorder.none`},{value:`left`,label:`chart.option.accentBorder.left`},{value:`top`,label:`chart.option.accentBorder.top`},{value:`bottom`,label:`chart.option.accentBorder.bottom`}],description:`chart.configText.add_an_accent_colored_border_on_one_side_of_the_content`}]},funnel:{label:`chart.funnel.label`,description:`chart.funnel.description`,useCase:`chart.funnel.useCase`,dropZones:[{key:`xAxis`,label:`chart.configText.step_name`,description:`chart.configText.step_names_auto_populated_from_funnel_steps`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.funnel.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.step_count`,description:`chart.configText.count_at_each_step_auto_calculated`,mandatory:!1,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.funnel.dropZone.yAxis.empty`}],displayOptions:[`hideHeader`],displayOptionsConfig:[{key:`funnelStyle`,label:`chart.option.funnelStyle.label`,type:`buttonGroup`,defaultValue:`bars`,options:[{value:`bars`,label:`chart.option.funnelStyle.bars`},{value:`funnel`,label:`chart.option.funnelStyle.funnel`}],description:`chart.configText.visualization_style`},{key:`funnelOrientation`,label:`chart.option.funnelOrientation.label`,type:`buttonGroup`,defaultValue:`horizontal`,options:[{value:`horizontal`,label:`chart.option.funnelOrientation.horizontal`},{value:`vertical`,label:`chart.option.funnelOrientation.vertical`}]},{key:`hideSummaryFooter`,label:`chart.option.hideSummaryFooter.label`,type:`boolean`,defaultValue:!1,description:`chart.option.hideSummaryFooter.description`},{key:`showFunnelConversion`,label:`chart.option.showConversion.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showConversion.description`},{key:`showFunnelAvgTime`,label:`chart.option.showAvgTime.label`,type:`boolean`,defaultValue:!1,description:`chart.option.showAvgTime.description`},{key:`showFunnelMedianTime`,label:`chart.option.showMedianTime.label`,type:`boolean`,defaultValue:!1,description:`chart.option.showMedianTime.description`},{key:`showFunnelP90Time`,label:`chart.option.showP90Time.label`,type:`boolean`,defaultValue:!1,description:`chart.option.showP90Time.description`}]},sankey:{label:`chart.sankey.label`,description:`chart.sankey.description`,useCase:`chart.sankey.useCase`,dropZones:[{key:`xAxis`,label:`chart.configText.event_type`,description:`chart.configText.event_dimension_that_categorizes_flow_nodes`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.sankey.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.flow_count`,description:`chart.configText.count_of_entities_following_each_path`,mandatory:!1,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.sankey.dropZone.yAxis.empty`}],displayOptions:[`hideHeader`],displayOptionsConfig:[{key:`linkOpacity`,label:`chart.option.linkOpacity.label`,type:`buttonGroup`,defaultValue:`0.5`,options:[{value:`0.3`,label:`chart.option.linkOpacity.light`},{value:`0.5`,label:`chart.option.fontSize.medium`},{value:`0.7`,label:`chart.option.linkOpacity.dark`}],description:`chart.configText.opacity_of_flow_links`},{key:`showNodeLabels`,label:`chart.option.showNodeLabels.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showNodeLabels.description`},{key:`hideSummaryFooter`,label:`chart.option.hideSummaryFooter.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.hide_the_statistics_footer_below_the_chart`}]},sunburst:{label:`chart.sunburst.label`,description:`chart.sunburst.description`,useCase:`chart.sunburst.useCase`,dropZones:[{key:`xAxis`,label:`chart.configText.event_type`,description:`chart.configText.event_dimension_that_categorizes_flow_nodes`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.sunburst.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.flow_count`,description:`chart.configText.count_of_entities_following_each_path`,mandatory:!1,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.sunburst.dropZone.yAxis.empty`}],displayOptions:[`hideHeader`],displayOptionsConfig:[{key:`innerRadius`,label:`chart.option.innerRadius.label`,type:`number`,defaultValue:40,min:0,max:100,step:10,description:`chart.configText.size_of_the_center_hole_0_for_full_circle`},{key:`hideSummaryFooter`,label:`chart.option.hideSummaryFooter.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.hide_the_statistics_footer_below_the_chart`}]},heatmap:{label:`chart.heatmap.label`,description:`chart.heatmap.description`,useCase:`chart.heatmap.useCase`,isAvailable:({measureCount:e,dimensionCount:t})=>e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:t<2?{available:!1,reason:`chart.availability.requiresTwoDimensions`}:{available:!0},dropZones:[{key:`xAxis`,label:`chart.configText.columns_x_axis`,description:`chart.configText.dimension_for_column_categories`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.heatmap.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.rows_y_axis`,description:`chart.configText.dimension_for_row_categories`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.heatmap.dropZone.yAxis.empty`},{key:`valueField`,label:`chart.configText.value_color_intensity`,description:`chart.configText.measure_that_determines_cell_color`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.heatmap.dropZone.valueField.empty`}],displayOptions:[`showLegend`,`showTooltip`],displayOptionsConfig:[{key:`showLabels`,label:`chart.option.showLabels.label`,type:`boolean`,defaultValue:!1,description:`chart.option.showLabels.description`},{key:`cellShape`,label:`chart.option.cellShape.label`,type:`select`,defaultValue:`rect`,options:[{value:`rect`,label:`chart.option.cellShape.rectangle`},{value:`circle`,label:`chart.option.cellShape.circle`}]},{key:`xAxisFormat`,label:`chart.option.xAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_x_axis_labels`},{key:`yAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_y_axis_labels`},{key:`valueFormat`,label:`chart.option.valueFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_cell_values_and_legend`}],validate:e=>e.xAxis?.length?e.yAxis?.length?e.valueField?.length?{isValid:!0}:{isValid:!1,message:`chart.heatmap.validation.valueRequired`}:{isValid:!1,message:`chart.heatmap.validation.yAxisRequired`}:{isValid:!1,message:`chart.heatmap.validation.xAxisRequired`}},retentionHeatmap:{label:`chart.retentionHeatmap.label`,dropZones:[],displayOptionsConfig:[{key:`showLegend`,label:`chart.option.showLegend.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.show_the_color_intensity_legend`},{key:`showTooltip`,label:`chart.option.showTooltip.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showTooltip.description`}],description:`chart.retentionHeatmap.description`,useCase:`chart.retentionHeatmap.useCase`},retentionCombined:{label:`chart.retentionCombined.label`,dropZones:[],displayOptionsConfig:[{key:`retentionDisplayMode`,label:`chart.option.retentionDisplayMode.label`,type:`select`,defaultValue:`line`,options:[{value:`line`,label:`chart.option.retentionDisplayMode.lineChart`},{value:`heatmap`,label:`chart.option.retentionDisplayMode.heatmapTable`},{value:`combined`,label:`chart.option.retentionDisplayMode.combined`}],description:`chart.configText.choose_how_to_visualize_retention_data`},{key:`showLegend`,label:`chart.option.showLegend.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.show_the_legend_for_breakdown_segments`},{key:`showGrid`,label:`chart.option.showGrid.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showGrid.description`},{key:`showTooltip`,label:`chart.option.showTooltip.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showTooltip.description`}],description:`chart.retentionCombined.description`,useCase:`chart.retentionCombined.useCase`},boxPlot:{label:`chart.boxPlot.label`,description:`chart.boxPlot.description`,useCase:`chart.boxPlot.useCase`,isAvailable:c,displayOptions:[`hideHeader`],dropZones:[{key:`xAxis`,label:`chart.configText.x_axis_groups`,description:`chart.configText.dimension_to_group_boxes_by_e_g_symbol_platform`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`,`timeDimension`],emptyText:`chart.boxPlot.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.y_axis_measures`,description:`chart.configText.drop_1_measure_for_auto_mode_3_for_avg_stddev_median_mode_or_5_for_min_q`,mandatory:!0,maxItems:5,acceptTypes:[`measure`],emptyText:`chart.boxPlot.dropZone.yAxis.empty`}],displayOptionsConfig:[{key:`leftYAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_the_value_axis`}]},waterfall:{label:`chart.waterfall.label`,description:`chart.waterfall.description`,useCase:`chart.waterfall.useCase`,clickableElements:{bar:!0},isAvailable:c,displayOptions:[`showTooltip`,`hideHeader`],dropZones:[{key:`xAxis`,label:`chart.dropZone.xAxis.label`,description:`chart.configText.dimension_labels_for_each_bar_segment_e_g_symbol_transaction_type`,mandatory:!0,maxItems:1,acceptTypes:[`dimension`,`timeDimension`],emptyText:`chart.waterfall.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.y_axis_value`,description:`chart.configText.single_measure_whose_values_are_summed_cumulatively`,mandatory:!0,maxItems:1,acceptTypes:[`measure`],emptyText:`chart.waterfall.dropZone.yAxis.empty`}],displayOptionsConfig:[{key:`showTotal`,label:`chart.option.showTotal.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showTotal.description`},{key:`showConnectorLine`,label:`chart.option.showConnectorLine.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showConnectorLine.description`},{key:`showDataLabels`,label:`chart.option.showDataLabels.label`,type:`boolean`,defaultValue:!1,description:`chart.configText.display_the_value_above_each_bar_segment`},{key:`leftYAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_the_y_axis`}]},candlestick:{label:`chart.candlestick.label`,description:`chart.candlestick.description`,useCase:`chart.candlestick.useCase`,clickableElements:{bar:!0},displayOptions:[`hideHeader`],isAvailable:({measureCount:e,dimensionCount:t})=>e<2?{available:!1,reason:`chart.availability.requiresTwoMeasures`}:t<1?{available:!1,reason:`chart.availability.requiresDimension`}:{available:!0},dropZones:[{key:`xAxis`,label:`chart.configText.x_axis_time_category`,description:`chart.configText.time_dimension_or_category_for_each_candle_e_g_date_symbol`,mandatory:!0,maxItems:1,acceptTypes:[`timeDimension`,`dimension`],emptyText:`chart.candlestick.dropZone.xAxis.empty`},{key:`yAxis`,label:`chart.configText.ohlc_measures_open_close_high_low`,description:`chart.configText.drop_2_4_measures_in_order_open_close_high_low_ohlc_mode_for_range_mode_`,mandatory:!0,acceptTypes:[`measure`],emptyText:`chart.candlestick.dropZone.yAxis.empty`}],displayOptionsConfig:[{key:`rangeMode`,label:`chart.option.rangeMode.label`,type:`select`,defaultValue:`ohlc`,options:[{value:`ohlc`,label:`chart.option.rangeMode.ohlc`},{value:`range`,label:`chart.option.rangeMode.range`}],description:`chart.option.rangeMode.description`},{key:`bullColor`,label:`chart.option.bullColor.label`,type:`color`,defaultValue:`#22c55e`,description:`chart.option.bullColor.description`},{key:`bearColor`,label:`chart.option.bearColor.label`,type:`color`,defaultValue:`#ef4444`,description:`chart.option.bearColor.description`},{key:`showWicks`,label:`chart.option.showWicks.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showWicks.description`},{key:`leftYAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_the_price_axis`}]},measureProfile:{label:`chart.measureProfile.label`,description:`chart.measureProfile.description`,useCase:`chart.measureProfile.useCase`,displayOptions:[`showLegend`,`showTooltip`,`hideHeader`],isAvailable:({measureCount:e})=>e<2?{available:!1,reason:`chart.availability.requiresTwoMeasures`}:{available:!0},dropZones:[{key:`yAxis`,label:`chart.configText.measures_x_axis_order`,description:`chart.configText.add_2_or_more_measures_they_become_the_x_axis_categories_in_the_order_li`,mandatory:!0,acceptTypes:[`measure`],emptyText:`chart.measureProfile.dropZone.yAxis.empty`},{key:`series`,label:`chart.configText.series_split_into_multiple_lines`,description:`chart.configText.dimension_to_split_data_into_separate_profile_lines_e_g_symbol_platform`,mandatory:!1,maxItems:1,acceptTypes:[`dimension`],emptyText:`chart.measureProfile.dropZone.series.empty`}],displayOptionsConfig:[{key:`showReferenceLineAtZero`,label:`chart.option.showReferenceLineAtZero.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showReferenceLineAtZero.description`},{key:`showDataLabels`,label:`chart.option.showDataLabels.label`,type:`boolean`,defaultValue:!1,description:`chart.configText.display_value_at_each_data_point`},{key:`showLegend`,label:`chart.option.showLegend.label`,type:`boolean`,defaultValue:!0,description:`chart.configText.show_series_legend_only_visible_with_a_series_dimension`},{key:`lineType`,label:`chart.option.lineType.label`,type:`select`,defaultValue:`monotone`,options:[{value:`monotone`,label:`chart.option.lineType.smooth`},{value:`linear`,label:`chart.option.lineType.linear`},{value:`step`,label:`chart.option.lineType.step`}],description:`chart.option.lineType.description`},{key:`leftYAxisFormat`,label:`chart.option.yAxisFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_the_y_axis`}]},gauge:{label:`chart.gauge.label`,description:`chart.gauge.description`,useCase:`chart.gauge.useCase`,clickableElements:{},displayOptions:[`hideHeader`],isAvailable:l,dropZones:[{key:`yAxis`,label:`chart.configText.value_measure`,description:`chart.configText.current_value_to_display_on_the_gauge_e_g_current_equity_margin_used`,mandatory:!0,maxItems:2,acceptTypes:[`measure`],emptyText:`chart.gauge.dropZone.yAxis.empty`}],displayOptionsConfig:[{key:`minValue`,label:`chart.option.minValue.label`,type:`number`,defaultValue:0,description:`chart.option.minValue.description`},{key:`maxValue`,label:`chart.option.maxValue.label`,type:`number`,description:`chart.option.maxValue.description`},{key:`thresholds`,label:`chart.configText.threshold_bands`,type:`string`,placeholder:`[{"value":0.33,"color":"#22c55e"},{"value":0.66,"color":"#f59e0b"},{"value":1,"color":"#ef4444"}]`,description:`chart.configText.array_of_value_0_1_fraction_color_bands_shown_as_outer_arc_markers`},{key:`showCenterLabel`,label:`chart.option.showCentreLabel.label`,type:`boolean`,defaultValue:!0,description:`chart.option.showCentreLabel.description`},{key:`showPercentage`,label:`chart.option.showPercentage.label`,type:`boolean`,defaultValue:!1,description:`chart.option.showPercentage.description`},{key:`leftYAxisFormat`,label:`chart.option.valueFormat.label`,type:`axisFormat`,description:`chart.configText.number_formatting_for_the_displayed_value_and_axis_labels`}]}};function _(e){return Array.isArray(e)?e.length>0:!!e}function v(t,n,r,i){for(let a of t.dropZones){if(!a.mandatory||_(r?.[a.key]))continue;let t=a.acceptTypes?.join(`/`)??`fields`;i.push(e.O(`server.validation.chart.dropZoneRequired`,{key:a.key,chartType:n,label:a.label,acceptDesc:t}))}}function y(t,n,r){if(_(t?.xAxis))return;let i=n.dimensions??[],a=n.timeDimensions??[],o=i.length>0||a.length>0;r.push(e.O(o?`server.validation.chart.barXAxisRequired`:`server.validation.chart.barNeedsDimension`))}function b(e){return Array.isArray(e)?e:[e]}function x(t,n){if(!t?.xAxis||!t?.series)return;let r=new Set(b(t.xAxis)),i=b(t.series).filter(e=>r.has(e));i.length>0&&n.push(e.O(`server.validation.chart.seriesDuplicatesXAxis`,{duplicates:i.join(`, `)}))}function S(e,t,n){let r=g[e];if(!r||r.skipQuery)return{isValid:!0,errors:[]};let i=[];return v(r,e,t,i),e===`bar`&&y(t,n,i),x(t,i),{isValid:i.length===0,errors:i}}function C(e,t,n,r){if(!(e.acceptTypes??[]).includes(`measure`))return;let i=new Set;for(let r of t.dropZones){if(r.key===e.key)continue;let t=n[r.key];Array.isArray(t)?t.forEach(e=>i.add(e)):typeof t==`string`&&i.add(t)}let a=r.filter(e=>!i.has(e));a.length>0&&(n[e.key]=a[0])}function w(e,t,n){let r=e.acceptTypes??[],i=[];if(r.includes(`dimension`)&&i.push(...n.dimensions),r.includes(`timeDimension`)&&i.push(...n.timeDimFields),r.includes(`measure`)&&i.push(...n.measures),i.length===0)return;let a=i;if(e.key===`series`){let e=new Set(Array.isArray(t.xAxis)?t.xAxis:t.xAxis?[t.xAxis]:[]);if(a=i.filter(t=>!e.has(t)),a.length===0)return}let o=e.maxItems??1/0,s=a.slice(0,o);s.length>0&&(t[e.key]=s)}function T(e,t,n){let r=g[e];if(!r)return t??{};let i={...t},a=n.timeDimensions??[],o={measures:n.measures??[],dimensions:n.dimensions??[],timeDimFields:a.map(e=>e.dimension)};for(let e of r.dropZones)_(i[e.key])||(e.key===`sizeField`||e.key===`colorField`?C(e,r,i,o.measures):w(e,i,o));return i}function E(e){let t=[`
16
- Chart config requirements by type:`];for(let n of e){let e=g[n];if(!e)continue;let r=[e.description??``,e.useCase??``].filter(Boolean).join(`. `),i=r?` — ${r}.`:``,a=e.dropZones.filter(e=>e.mandatory);if(a.length===0&&!e.skipQuery){t.push(` ${n}${i} chartConfig auto-inferred from query.`);continue}if(e.skipQuery){t.push(` ${n}${i} No query needed.`);continue}let o=a.map(e=>{let t=e.acceptTypes?.join(`/`)??`any`,n=e.maxItems?` (max ${e.maxItems})`:``;return`${e.key}=[${t}]${n}`});t.push(` ${n}${i} Requires ${o.join(`, `)}.`)}return t.join(`
17
- `)}var D=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`bubble`,`table`,`kpiNumber`,`kpiDelta`,`funnel`,`heatmap`,`sankey`,`sunburst`,`retentionHeatmap`,`retentionCombined`,`boxPlot`,`markdown`];function O(){return[{name:`discover_cubes`,description:`Search for available data cubes by topic or intent. Call this FIRST to understand what data is available. Returns cube names, measures, dimensions, and relationships.`,parameters:{type:`object`,properties:{topic:{type:`string`,description:`Keyword to search (e.g., "sales", "employees")`},intent:{type:`string`,description:`Natural language goal (e.g., "analyze productivity trends")`},limit:{type:`number`,description:`Max results (default: 10)`},minScore:{type:`number`,description:`Min relevance 0-1 (default: 0.1)`}}}},{name:`get_cube_metadata`,description:`Get full metadata for all registered cubes including all measures, dimensions, types, and relationships. Use this for detailed schema information.`,parameters:{type:`object`,properties:{}}},{name:`execute_query`,description:`Execute a semantic query and return data results. Supports standard queries (measures/dimensions) and analysis modes (funnel/flow/retention). Only provide ONE mode per call.`,parameters:{type:`object`,properties:e.x}},{name:`add_portlet`,description:`Add a chart visualization to the notebook.
18
- `+E(D)+`
19
- The query is validated before adding. The portlet fetches its own data.`,parameters:{type:`object`,properties:{title:{type:`string`,description:`Title for the visualization`},query:{type:`string`,description:`JSON string of the query. Standard: {"measures":[...],"dimensions":[...]}. Funnel: {"funnel":{"bindingKey":"...","timeDimension":"...","steps":[...]}}. Flow: {"flow":{"bindingKey":"...","timeDimension":"...","eventDimension":"...","startingStep":{...}}}. Retention: {"retention":{"timeDimension":"...","bindingKey":"...","dateRange":{"start":"...","end":"..."},"granularity":"...","periods":N}}.`},chartType:{type:`string`,enum:D,description:`Chart type to render`},chartConfig:{type:`object`,properties:{xAxis:{type:`array`,items:{type:`string`}},yAxis:{type:`array`,items:{type:`string`}},series:{type:`array`,items:{type:`string`}},sizeField:{type:`string`},colorField:{type:`string`},yAxisAssignment:{type:`object`,description:`Dual Y-axis: map measure fields to "left" or "right" axis. Only for bar, line, area charts with 2+ measures of different scales. Example: {"Sales.revenue": "left", "Sales.conversionRate": "right"}`}},description:`Chart axis configuration`},displayConfig:{type:`object`,properties:{showLegend:{type:`boolean`},showGrid:{type:`boolean`},showTooltip:{type:`boolean`},stacked:{type:`boolean`},orientation:{type:`string`,enum:[`horizontal`,`vertical`]}},description:`Chart display configuration`}},required:[`title`,`query`,`chartType`]}},{name:`add_markdown`,description:`Add an explanation or analysis text block to the notebook. Use markdown formatting. Use this to explain findings, methodology, and insights alongside visualizations.`,parameters:{type:`object`,properties:{title:{type:`string`,description:`Optional title for the text block`},content:{type:`string`,description:`Markdown content to display`}},required:[`content`]}},{name:`save_as_dashboard`,description:`Convert the current notebook analysis into a persistent dashboard. Constructs a professional DashboardConfig with proper grid layout, section headers (markdown portlets), and dashboard-level filters. Call this when the user asks to save/export the notebook as a dashboard.`,parameters:{type:`object`,properties:{title:{type:`string`,description:`Dashboard title`},description:{type:`string`,description:`Optional dashboard description`},portlets:{type:`array`,items:{type:`object`,properties:{id:{type:`string`,description:`Unique portlet ID`},title:{type:`string`,description:`Portlet title`},chartType:{type:`string`,enum:D,description:`Chart type. Use "markdown" for section headers.`},query:{type:`string`,description:`JSON string of the query. Omit or leave empty for markdown portlets.`},chartConfig:{type:`object`,properties:{xAxis:{type:`array`,items:{type:`string`}},yAxis:{type:`array`,items:{type:`string`}},series:{type:`array`,items:{type:`string`}},sizeField:{type:`string`},colorField:{type:`string`}},description:`Chart axis configuration`},displayConfig:{type:`object`,description:`Chart display configuration (for markdown: { content, hideHeader, transparentBackground, autoHeight })`},dashboardFilterMapping:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,properties:{filterId:{type:`string`,description:`Dashboard filter ID`},member:{type:`string`,description:`Optional field to remap the filter to for this portlet (e.g. "Invoices.customerId")`}},required:[`filterId`]}]},description:`Dashboard filters that apply to this portlet: filter IDs, or { filterId, member } entries to remap a filter to a different field for this portlet`},analysisType:{type:`string`,enum:[`query`,`funnel`,`flow`,`retention`],description:`Analysis type (default: "query")`},w:{type:`number`,description:`Grid width (1-12)`},h:{type:`number`,description:`Grid height in row units`},x:{type:`number`,description:`Grid x position (0-11)`},y:{type:`number`,description:`Grid y position`}},required:[`id`,`title`,`chartType`,`w`,`h`,`x`,`y`]},description:`Array of portlet configurations for the dashboard`},filters:{type:`array`,items:{type:`object`,properties:{id:{type:`string`,description:`Unique filter ID`},label:{type:`string`,description:`Display label for the filter`},filter:{type:`object`,properties:{member:{type:`string`},operator:{type:`string`},values:{type:`array`,items:{}}},required:[`member`,`operator`],description:`The filter definition`},isUniversalTime:{type:`boolean`,description:`When true, applies to all time dimensions in portlets`}},required:[`id`,`label`,`filter`]},description:`Dashboard-level filters`},colorPalette:{type:`string`,description:`Color palette name`}},required:[`title`,`portlets`]}}]}function k(t){let{semanticLayer:n,securityContext:r}=t,i=new Map;i.set(`discover_cubes`,async t=>{let r={cubes:(await e.p(n,{topic:t.topic,intent:t.intent,limit:t.limit,minScore:t.minScore})).cubes.map(e=>({cube:e.cube,title:e.title,description:e.description,relevanceScore:e.relevanceScore,suggestedMeasures:e.suggestedMeasures,suggestedDimensions:e.suggestedDimensions,capabilities:e.capabilities,...e.capabilities.funnel||e.capabilities.flow||e.capabilities.retention?{analysisConfig:{candidateBindingKeys:e.analysisConfig?.candidateBindingKeys?.map(e=>e.dimension)??[],candidateTimeDimensions:e.analysisConfig?.candidateTimeDimensions?.map(e=>e.dimension)??[],...e.analysisConfig?.candidateEventDimensions?.length?{candidateEventDimensions:e.analysisConfig.candidateEventDimensions.map(e=>e.dimension)}:{}}}:{}}))};return{result:JSON.stringify(r)+`
20
- [IMPORTANT: Your next response MUST start with a brief text message BEFORE any tool calls.]`}}),i.set(`get_cube_metadata`,async()=>{let e=n.getMetadata();return{result:JSON.stringify(e)}});let a=new Map;for(let e of n.getMetadata())a.set(e.name,{measures:(e.measures||[]).map(e=>e.name),dimensions:(e.dimensions||[]).map(e=>e.name)});let o=(e,t)=>{let n=a.get(e),r=t===`measures`?n?.measures:n?.dimensions;return!r||r.length===0?``:` Available ${t}: ${r.slice(0,5).map(e=>`"${e}"`).join(`, `)}`};return i.set(`execute_query`,async t=>{try{let i=(e,t)=>{if(!Array.isArray(e))return;let n=[];for(let r of e){if(typeof r!=`string`)continue;let e=r.split(`.`);e.length===1?n.push(`"${r}" is not valid — must be "CubeName.fieldName".${o(r,t)}`):e.length===2&&e[0]===e[1]&&n.push(`"${r}" is WRONG — "${e[0]}" is the cube name, not a ${t.replace(/s$/,``)}.${o(e[0],t)}`)}if(n.length>0)throw Error(`Invalid ${t}:\n${n.join(`
21
- `)}`)};i(t.measures,`measures`),i(t.dimensions,`dimensions`);let a;a=t.funnel?{funnel:t.funnel}:t.flow?{flow:t.flow}:t.retention?{retention:t.retention}:{measures:t.measures,dimensions:t.dimensions,filters:t.filters,timeDimensions:t.timeDimensions,order:t.order,limit:t.limit,offset:t.offset,ungrouped:t.ungrouped};let s=await e.m(n,r,{query:a});return{result:JSON.stringify({rowCount:s.data.length,data:s.data,annotation:s.annotation})+`
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
- `)}\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
- `)}`,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;
@@ -1,37 +0,0 @@
1
- import { Context } from 'hono';
2
- import { JsonRpcRequest, McpDispatchContext } from '../mcp-transport.js';
3
- /** MCP endpoint config fields the handler helpers depend on. */
4
- export interface HonoMcpHandlerConfig {
5
- resourceMetadataUrl?: string;
6
- allowedOrigins?: string[];
7
- }
8
- /**
9
- * Result of the pre-dispatch validation gauntlet. When `response` is set the
10
- * caller must return it immediately (short-circuit); otherwise `rpcRequest`,
11
- * `acceptHeader`, and `protocol` are populated for dispatch.
12
- */
13
- export interface McpRequestPrep {
14
- response?: Response;
15
- rpcRequest?: JsonRpcRequest;
16
- acceptHeader?: string;
17
- negotiatedProtocol?: string | null;
18
- }
19
- /**
20
- * Run the MCP POST validation sequence (auth, origin, Accept, protocol, body).
21
- * Returns a short-circuit `response` on the first failure, or the parsed
22
- * request + negotiated protocol on success.
23
- */
24
- export declare function prepareMcpPostRequest(c: Context, mcp: HonoMcpHandlerConfig): Promise<McpRequestPrep>;
25
- /** Build a single-event SSE `Response` carrying one JSON-RPC payload. */
26
- export declare function buildMcpSseResponse(payload: unknown, extraHeaders?: Record<string, string>): Response;
27
- /** Extract the MCP-Session-Id header value from an `initialize` result, if present. */
28
- export declare function extractMcpSessionHeaders(isInitialize: boolean, result: unknown, headerName: string): Record<string, string>;
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.js').JsonRpcResponse;
31
- /** Wrap `wantsEventStream` so the handler imports a single helper module. */
32
- export declare function clientWantsStream(acceptHeader?: string): boolean;
33
- /**
34
- * Dispatch a validated MCP JSON-RPC request and build the Hono `Response`
35
- * (success or error path). Keeps the route handler a thin wrapper.
36
- */
37
- export declare function dispatchMcpPost(c: Context, rpcRequest: JsonRpcRequest, wantsStream: boolean, ctx: McpDispatchContext): Promise<Response>;