drizzle-cube 0.5.8 → 0.6.1

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 (725) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/express/index.cjs +1 -1
  3. package/dist/adapters/{adapters/express → express}/index.d.ts +3 -3
  4. package/dist/adapters/express/index.js +50 -50
  5. package/dist/adapters/fastify/index.cjs +1 -1
  6. package/dist/adapters/{adapters/fastify → fastify}/index.d.ts +3 -3
  7. package/dist/adapters/fastify/index.js +78 -78
  8. package/dist/adapters/google-BOnRIN1w.cjs +2 -0
  9. package/dist/{server/google-CFYljAOF.js → adapters/google-CvKM9yVM.js} +83 -71
  10. package/dist/adapters/{handler-Cx8QYLk6.js → handler-CfgE0JSL.js} +499 -576
  11. package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
  12. package/dist/adapters/hono/agent-handler.d.ts +9 -0
  13. package/dist/adapters/hono/index.cjs +2 -2
  14. package/dist/adapters/{adapters/hono → hono}/index.d.ts +4 -4
  15. package/dist/adapters/hono/index.js +205 -175
  16. package/dist/adapters/hono/mcp-handler.d.ts +37 -0
  17. package/dist/adapters/locale-DDvZDFVn.js +8114 -0
  18. package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
  19. package/dist/adapters/{adapters/locale.d.ts → locale.d.ts} +1 -1
  20. package/dist/adapters/mcp-tools-handlers.d.ts +18 -0
  21. package/dist/adapters/mcp-tools.cjs +1 -1
  22. package/dist/adapters/{adapters/mcp-tools.d.ts → mcp-tools.d.ts} +5 -5
  23. package/dist/adapters/mcp-tools.js +49 -38
  24. package/dist/adapters/mcp-transport-B7ddET3M.cjs +40 -0
  25. package/dist/adapters/mcp-transport-Dfuj4j4q.js +591 -0
  26. package/dist/adapters/{adapters/mcp-transport.d.ts → mcp-transport.d.ts} +3 -3
  27. package/dist/adapters/nextjs/index.cjs +1 -1
  28. package/dist/adapters/{adapters/nextjs → nextjs}/index.d.ts +3 -3
  29. package/dist/adapters/nextjs/index.js +190 -197
  30. package/dist/adapters/nextjs/mcp-handler.d.ts +36 -0
  31. package/dist/adapters/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  32. package/dist/adapters/openai-vXvLni8v.cjs +1 -0
  33. package/dist/adapters/{adapters/types.d.ts → types.d.ts} +1 -1
  34. package/dist/adapters/{utils-D9JPLmfl.js → utils-BPWZsX7k.js} +1271 -1218
  35. package/dist/adapters/utils-_whV4fXL.cjs +128 -0
  36. package/dist/adapters/utils.cjs +1 -1
  37. package/dist/adapters/{adapters/utils.d.ts → utils.d.ts} +17 -92
  38. package/dist/adapters/utils.js +2 -2
  39. package/dist/cli/index.cjs +2 -2
  40. package/dist/client/adapters/adapterRegistry.d.ts +2 -2
  41. package/dist/client/adapters/flowModeAdapter.d.ts +2 -2
  42. package/dist/client/adapters/funnelModeAdapter.d.ts +2 -2
  43. package/dist/client/adapters/index.d.ts +9 -9
  44. package/dist/client/adapters/modeAdapter.d.ts +1 -1
  45. package/dist/client/adapters/queryModeAdapter.d.ts +3 -3
  46. package/dist/client/adapters/retentionModeAdapter.d.ts +2 -2
  47. package/dist/client/charts/ChartLoader.d.ts +3 -17
  48. package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
  49. package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
  50. package/dist/client/charts/chartConfigRegistry.d.ts +1 -1
  51. package/dist/client/charts/chartPlugin.d.ts +3 -3
  52. package/dist/client/charts/lazyChartConfigRegistry.d.ts +2 -2
  53. package/dist/client/charts.d.ts +8 -8
  54. package/dist/client/charts.js +14 -13
  55. package/dist/client/chunks/{DashboardEditModal-CjCIAT-J.js → DashboardEditModal-okVfH8ZK.js} +5296 -4544
  56. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
  57. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
  58. package/dist/client/chunks/RetentionCombinedChart-BgbDhsPz.js.map +1 -0
  59. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
  60. package/dist/client/chunks/RetentionHeatmap-DjXZaTPq.js.map +1 -0
  61. package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
  62. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
  63. package/dist/client/chunks/{analysis-builder-shared-CYVwSPqt.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
  64. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
  65. package/dist/client/chunks/{chart-activity-grid-DmruKPab.js → chart-activity-grid-DX0SJbxs.js} +635 -492
  66. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
  67. package/dist/client/chunks/chart-area-of01_62R.js +775 -0
  68. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
  69. package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
  70. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
  71. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js → chart-box-plot-kkBixZ27.js} +2 -2
  72. package/dist/client/chunks/chart-box-plot-kkBixZ27.js.map +1 -0
  73. package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
  74. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
  75. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js → chart-candlestick-DZp19Tzh.js} +2 -2
  76. package/dist/client/chunks/chart-candlestick-DZp19Tzh.js.map +1 -0
  77. package/dist/client/chunks/chart-config-activity-grid-D_UX4NHC.js.map +1 -1
  78. package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
  79. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
  80. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
  81. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
  82. package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
  83. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
  84. package/dist/client/chunks/chart-config-bubble-gIoqVyjZ.js.map +1 -1
  85. package/dist/client/chunks/chart-config-candlestick-N6DchAA3.js.map +1 -1
  86. package/dist/client/chunks/chart-config-data-table-d7VBY-y_.js.map +1 -1
  87. package/dist/client/chunks/chart-config-funnel-DEYMcxsD.js.map +1 -1
  88. package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
  89. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
  90. package/dist/client/chunks/chart-config-heat-map-CfRnRNcw.js.map +1 -1
  91. package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
  92. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
  93. package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
  94. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
  95. package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
  96. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
  97. package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
  98. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
  99. package/dist/client/chunks/chart-config-markdown-BtRIe8JN.js.map +1 -1
  100. package/dist/client/chunks/chart-config-measure-profile-DxRGa-zf.js.map +1 -1
  101. package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
  102. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
  103. package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
  104. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
  105. package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
  106. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
  107. package/dist/client/chunks/chart-config-sankey-BTnWA7EW.js.map +1 -1
  108. package/dist/client/chunks/chart-config-scatter-DSYTjwRb.js.map +1 -1
  109. package/dist/client/chunks/chart-config-sunburst-Bwjtdf7X.js.map +1 -1
  110. package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
  111. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
  112. package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
  113. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
  114. package/dist/client/chunks/{chart-data-table-BO4sXsim.js → chart-data-table-CKauQXme.js} +1046 -1121
  115. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
  116. package/dist/client/chunks/{chart-funnel-DnWRsmnS.js → chart-funnel-CToKSBaL.js} +184 -222
  117. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
  118. package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
  119. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
  120. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
  121. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
  122. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
  123. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
  124. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
  125. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
  126. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
  127. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
  128. package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
  129. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
  130. package/dist/client/chunks/{chart-markdown-dgUetjyM.js → chart-markdown-CV75S_zL.js} +2 -2
  131. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +1 -0
  132. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js → chart-measure-profile-Ket8fJyf.js} +7 -7
  133. package/dist/client/chunks/chart-measure-profile-Ket8fJyf.js.map +1 -0
  134. package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
  135. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
  136. package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
  137. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
  138. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
  139. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
  140. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js → chart-sankey-DjrvKw6K.js} +36 -39
  141. package/dist/client/chunks/chart-sankey-DjrvKw6K.js.map +1 -0
  142. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
  143. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
  144. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js → chart-sunburst-leGpuDj7.js} +3 -3
  145. package/dist/client/chunks/chart-sunburst-leGpuDj7.js.map +1 -0
  146. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
  147. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
  148. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js → chart-waterfall-DyvQReN5.js} +7 -7
  149. package/dist/client/chunks/chart-waterfall-DyvQReN5.js.map +1 -0
  150. package/dist/client/chunks/{charts-core-jRtb0S2M.js → charts-core-DaXSt1Dd.js} +2 -2
  151. package/dist/client/chunks/charts-core-DaXSt1Dd.js.map +1 -0
  152. package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
  153. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
  154. package/dist/client/chunks/{nl-NL-CpVs7ox3.js → nl-NL-2zTAWTej.js} +2 -1
  155. package/dist/client/chunks/{nl-NL-CpVs7ox3.js.map → nl-NL-2zTAWTej.js.map} +1 -1
  156. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  157. package/dist/client/chunks/{schema-visualization-DE09kQE3.js → schema-visualization-Cb_E9_Gd.js} +12 -12
  158. package/dist/client/chunks/schema-visualization-Cb_E9_Gd.js.map +1 -0
  159. package/dist/client/chunks/{useDirtyStateTracking-CoeQbprt.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
  160. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
  161. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js → useExplainAI-evnZkjCY.js} +14 -14
  162. package/dist/client/chunks/useExplainAI-evnZkjCY.js.map +1 -0
  163. package/dist/client/chunks/{utils-CTKNaXS8.js → utils-3P6z1vz5.js} +2 -2
  164. package/dist/client/chunks/utils-3P6z1vz5.js.map +1 -0
  165. package/dist/client/chunks/{vendor-CPIYyeuD.js → vendor-DSpR0IW6.js} +43 -43
  166. package/dist/client/chunks/{vendor-CPIYyeuD.js.map → vendor-DSpR0IW6.js.map} +1 -1
  167. package/dist/client/client/BatchCoordinator.d.ts +1 -1
  168. package/dist/client/client/CubeClient.d.ts +1 -1
  169. package/dist/client/components/AIAssistant/index.d.ts +3 -3
  170. package/dist/client/components/AIAssistant/utils.d.ts +1 -1
  171. package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  172. package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +1 -1
  173. package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  174. package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +2 -2
  175. package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  176. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  177. package/dist/client/components/AgenticNotebook/index.d.ts +2 -2
  178. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  179. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  180. package/dist/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +1 -1
  181. package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +4 -4
  182. package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +1 -1
  183. package/dist/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +2 -2
  184. package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +2 -2
  185. package/dist/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +2 -2
  186. package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +1 -1
  187. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  188. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  189. package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  190. package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  191. package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  192. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  193. package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  194. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  195. package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  196. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  197. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  198. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  199. package/dist/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +1 -1
  200. package/dist/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +1 -1
  201. package/dist/client/components/AnalysisBuilder/FieldSearchItem.d.ts +1 -1
  202. package/dist/client/components/AnalysisBuilder/FieldSearchModal.d.ts +1 -1
  203. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  204. package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +2 -2
  205. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  206. package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  207. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  208. package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +3 -3
  209. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  210. package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  211. package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  212. package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +2 -2
  213. package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  214. package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  215. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  216. package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  217. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  218. package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  219. package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  220. package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +3 -3
  221. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  222. package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  223. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  224. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  225. package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  226. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  227. package/dist/client/components/AnalysisBuilder/index.d.ts +1 -1
  228. package/dist/client/components/AnalysisBuilder/types.d.ts +28 -28
  229. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  230. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  231. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +7 -2
  232. package/dist/client/components/AnalysisBuilder/utils/filterUtils.d.ts +1 -1
  233. package/dist/client/components/AnalysisBuilder/utils/index.d.ts +6 -6
  234. package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +2 -2
  235. package/dist/client/components/AnalysisBuilder/utils/recentFieldsUtils.d.ts +2 -2
  236. package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  237. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  238. package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  239. package/dist/client/components/AnalysisBuilder/utils/storageUtils.d.ts +2 -2
  240. package/dist/client/components/AnalysisBuilderLazy.d.ts +1 -1
  241. package/dist/client/components/AnalyticsDashboard.d.ts +1 -1
  242. package/dist/client/components/AnalyticsPortlet.d.ts +1 -1
  243. package/dist/client/components/ChartTypeSelector.d.ts +2 -2
  244. package/dist/client/components/DashboardFilterPanel.d.ts +1 -1
  245. package/dist/client/components/DashboardFilters/CompactFilterBar.d.ts +1 -1
  246. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  247. package/dist/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +2 -2
  248. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  249. package/dist/client/components/DashboardFilters/DashboardFilterItem.d.ts +2 -2
  250. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  251. package/dist/client/components/DashboardFilters/EditModeFilterList.d.ts +1 -1
  252. package/dist/client/components/DashboardFilters/FilterChip.d.ts +1 -1
  253. package/dist/client/components/DashboardFilters/FilterEditModal.d.ts +2 -2
  254. package/dist/client/components/DashboardFilters/FilterValuePopover.d.ts +1 -1
  255. package/dist/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +2 -2
  256. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  257. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  258. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  259. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  260. package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  261. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  262. package/dist/client/components/DashboardGrid.d.ts +2 -2
  263. package/dist/client/components/DashboardPortletCard.d.ts +2 -57
  264. package/dist/client/components/DebugModal.d.ts +2 -2
  265. package/dist/client/components/DrillBreadcrumb.d.ts +1 -1
  266. package/dist/client/components/DrillMenu.d.ts +1 -1
  267. package/dist/client/components/FloatingEditToolbar.d.ts +1 -1
  268. package/dist/client/components/MobileStackedLayout.d.ts +2 -2
  269. package/dist/client/components/PortletAnalysisModal.d.ts +1 -1
  270. package/dist/client/components/PortletContainer.d.ts +1 -1
  271. package/dist/client/components/PortletFilterConfigModal.d.ts +1 -1
  272. package/dist/client/components/RowManagedLayout.d.ts +1 -1
  273. package/dist/client/components/SchemaVisualization/CubeNode.d.ts +1 -1
  274. package/dist/client/components/SchemaVisualization/FieldDetailPanel.d.ts +1 -1
  275. package/dist/client/components/SchemaVisualization/RelationshipEdge.d.ts +1 -1
  276. package/dist/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +1 -1
  277. package/dist/client/components/TextPortletModal.d.ts +2 -2
  278. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  279. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  280. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  281. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  282. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  283. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  284. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  285. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  286. package/dist/client/components/charts/ActivityGridChart.config.d.ts +1 -1
  287. package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
  288. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  289. package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  290. package/dist/client/components/charts/AreaChart.config.d.ts +1 -1
  291. package/dist/client/components/charts/AreaChart.d.ts +1 -1
  292. package/dist/client/components/charts/AxisFormatControls.d.ts +4 -2
  293. package/dist/client/components/charts/BarChart.config.d.ts +1 -1
  294. package/dist/client/components/charts/BarChart.d.ts +1 -1
  295. package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
  296. package/dist/client/components/charts/BarSeries.d.ts +29 -0
  297. package/dist/client/components/charts/BoxPlotChart.config.d.ts +1 -1
  298. package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
  299. package/dist/client/components/charts/BubbleChart.config.d.ts +1 -1
  300. package/dist/client/components/charts/BubbleChart.d.ts +1 -1
  301. package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  302. package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
  303. package/dist/client/components/charts/CandlestickChart.config.d.ts +1 -1
  304. package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
  305. package/dist/client/components/charts/ChartStates.d.ts +38 -0
  306. package/dist/client/components/charts/DataTable.config.d.ts +1 -1
  307. package/dist/client/components/charts/DataTable.d.ts +1 -1
  308. package/dist/client/components/charts/FunnelChart.config.d.ts +1 -1
  309. package/dist/client/components/charts/FunnelChart.d.ts +1 -1
  310. package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  311. package/dist/client/components/charts/FunnelViews.d.ts +16 -0
  312. package/dist/client/components/charts/GaugeChart.config.d.ts +1 -1
  313. package/dist/client/components/charts/GaugeChart.d.ts +1 -1
  314. package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
  315. package/dist/client/components/charts/HeatMapChart.config.d.ts +1 -1
  316. package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
  317. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  318. package/dist/client/components/charts/KpiDelta.config.d.ts +1 -1
  319. package/dist/client/components/charts/KpiDelta.d.ts +1 -1
  320. package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  321. package/dist/client/components/charts/KpiNumber.config.d.ts +1 -1
  322. package/dist/client/components/charts/KpiNumber.d.ts +1 -1
  323. package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  324. package/dist/client/components/charts/KpiStates.d.ts +19 -0
  325. package/dist/client/components/charts/KpiText.config.d.ts +1 -1
  326. package/dist/client/components/charts/KpiText.d.ts +1 -1
  327. package/dist/client/components/charts/LineChart.config.d.ts +1 -1
  328. package/dist/client/components/charts/LineChart.d.ts +1 -1
  329. package/dist/client/components/charts/MarkdownChart.config.d.ts +1 -1
  330. package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
  331. package/dist/client/components/charts/MeasureProfileChart.config.d.ts +1 -1
  332. package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
  333. package/dist/client/components/charts/PieChart.config.d.ts +1 -1
  334. package/dist/client/components/charts/PieChart.d.ts +1 -1
  335. package/dist/client/components/charts/RadarChart.config.d.ts +1 -1
  336. package/dist/client/components/charts/RadarChart.d.ts +1 -1
  337. package/dist/client/components/charts/RadialBarChart.config.d.ts +1 -1
  338. package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
  339. package/dist/client/components/charts/RetentionCombinedChart.config.d.ts +1 -1
  340. package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  341. package/dist/client/components/charts/RetentionHeatmap.config.d.ts +1 -1
  342. package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
  343. package/dist/client/components/charts/SankeyChart.config.d.ts +1 -1
  344. package/dist/client/components/charts/SankeyChart.d.ts +1 -1
  345. package/dist/client/components/charts/ScatterChart.config.d.ts +1 -1
  346. package/dist/client/components/charts/ScatterChart.d.ts +1 -1
  347. package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  348. package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
  349. package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
  350. package/dist/client/components/charts/SunburstChart.config.d.ts +1 -1
  351. package/dist/client/components/charts/SunburstChart.d.ts +1 -1
  352. package/dist/client/components/charts/TreeMapChart.config.d.ts +1 -1
  353. package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
  354. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  355. package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
  356. package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
  357. package/dist/client/components/charts/WaterfallChart.config.d.ts +1 -1
  358. package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
  359. package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  360. package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
  361. package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
  362. package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  363. package/dist/client/components/charts/index.d.ts +21 -21
  364. package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
  365. package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
  366. package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  367. package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
  368. package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
  369. package/dist/client/components/dashboard/DashboardContext.d.ts +6 -6
  370. package/dist/client/components/dashboard/DashboardCoordinator.d.ts +1 -1
  371. package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  372. package/dist/client/components/dashboard/DashboardProvider.d.ts +1 -1
  373. package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  374. package/dist/client/components/dashboard/dashboardGridUtils.d.ts +1 -1
  375. package/dist/client/components/dashboard/index.d.ts +7 -7
  376. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  377. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  378. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  379. package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  380. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  381. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  382. package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  383. package/dist/client/components/shared/DateRangeFilter.d.ts +1 -1
  384. package/dist/client/components/shared/FilterBuilder.d.ts +1 -1
  385. package/dist/client/components/shared/FilterGroup.d.ts +1 -1
  386. package/dist/client/components/shared/FilterItem.d.ts +1 -1
  387. package/dist/client/components/shared/FilterValueSelector.d.ts +1 -1
  388. package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
  389. package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
  390. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  391. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  392. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  393. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  394. package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  395. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  396. package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
  397. package/dist/client/components/shared/types.d.ts +8 -8
  398. package/dist/client/components/shared/utils.d.ts +7 -46
  399. package/dist/client/components.d.ts +11 -11
  400. package/dist/client/components.js +3 -3
  401. package/dist/client/hooks/agentChatStream.d.ts +39 -0
  402. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  403. package/dist/client/hooks/dashboard/layoutUtils.d.ts +1 -1
  404. package/dist/client/hooks/dashboard/useDashboardController.d.ts +2 -2
  405. package/dist/client/hooks/dashboard/useGridLayoutEngine.d.ts +1 -1
  406. package/dist/client/hooks/dashboard/useRowLayoutEngine.d.ts +1 -1
  407. package/dist/client/hooks/drillNavigation.d.ts +25 -0
  408. package/dist/client/hooks/queries/index.d.ts +9 -9
  409. package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +2 -2
  410. package/dist/client/hooks/queries/useCubeMetaQuery.d.ts +2 -2
  411. package/dist/client/hooks/queries/useDryRunQuery.d.ts +2 -2
  412. package/dist/client/hooks/queries/useExplainAI.d.ts +1 -1
  413. package/dist/client/hooks/queries/useExplainQuery.d.ts +1 -1
  414. package/dist/client/hooks/queries/useFlowQuery.d.ts +1 -1
  415. package/dist/client/hooks/queries/useFunnelQuery.d.ts +1 -1
  416. package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +1 -1
  417. package/dist/client/hooks/queries/useRetentionQuery.d.ts +1 -1
  418. package/dist/client/hooks/useAgentChat.d.ts +1 -1
  419. package/dist/client/hooks/useAnalysisAI.d.ts +4 -4
  420. package/dist/client/hooks/useAnalysisBuilderHook.d.ts +27 -27
  421. package/dist/client/hooks/useAnalysisChartDefaults.d.ts +4 -4
  422. package/dist/client/hooks/useAnalysisCombinedFields.d.ts +2 -2
  423. package/dist/client/hooks/useAnalysisInitialization.d.ts +1 -1
  424. package/dist/client/hooks/useAnalysisQueryBuilder.d.ts +3 -3
  425. package/dist/client/hooks/useAnalysisQueryExecution.d.ts +7 -7
  426. package/dist/client/hooks/useAnalysisShare.d.ts +1 -1
  427. package/dist/client/hooks/useAnalysisUIState.d.ts +2 -2
  428. package/dist/client/hooks/useDashboardHook.d.ts +2 -2
  429. package/dist/client/hooks/useDataBrowser.d.ts +5 -5
  430. package/dist/client/hooks/useDrillInteraction.d.ts +1 -1
  431. package/dist/client/hooks/useTheme.d.ts +1 -1
  432. package/dist/client/hooks/useTranslation.d.ts +1 -1
  433. package/dist/client/hooks.d.ts +11 -11
  434. package/dist/client/hooks.js +3 -3
  435. package/dist/client/icons/defaultIcons.d.ts +1 -1
  436. package/dist/client/icons/index.d.ts +3 -3
  437. package/dist/client/icons/registry.d.ts +1 -1
  438. package/dist/client/icons.js +2 -2
  439. package/dist/client/index.d.ts +74 -74
  440. package/dist/client/index.js +816 -669
  441. package/dist/client/index.js.map +1 -1
  442. package/dist/client/providers/CubeApiProvider.d.ts +3 -3
  443. package/dist/client/providers/CubeFeaturesProvider.d.ts +1 -1
  444. package/dist/client/providers/CubeMetaContext.d.ts +1 -1
  445. package/dist/client/providers/CubeProvider.d.ts +7 -7
  446. package/dist/client/providers/I18nProvider.d.ts +1 -1
  447. package/dist/client/providers.d.ts +4 -4
  448. package/dist/client/providers.js +3 -3
  449. package/dist/client/schema.d.ts +2 -2
  450. package/dist/client/schema.js +1 -1
  451. package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
  452. package/dist/client/shared/chartDefaults.d.ts +4 -4
  453. package/dist/client/shared/components/QueryAnalysisPanel.d.ts +1 -1
  454. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  455. package/dist/client/shared/index.d.ts +7 -7
  456. package/dist/client/shared/queryTransforms.d.ts +20 -0
  457. package/dist/client/shared/types.d.ts +1 -1
  458. package/dist/client/shared/utils.d.ts +4 -6
  459. package/dist/client/stores/analysisBuilderStore.d.ts +9 -9
  460. package/dist/client/stores/dashboardStore.d.ts +3 -3
  461. package/dist/client/stores/dataBrowserStore.d.ts +1 -1
  462. package/dist/client/stores/notebookStore.d.ts +1 -1
  463. package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  464. package/dist/client/stores/slices/coreSlice.d.ts +3 -3
  465. package/dist/client/stores/slices/flowSlice.d.ts +3 -3
  466. package/dist/client/stores/slices/funnelSlice.d.ts +3 -3
  467. package/dist/client/stores/slices/index.d.ts +7 -7
  468. package/dist/client/stores/slices/querySlice.d.ts +3 -3
  469. package/dist/client/stores/slices/retentionSlice.d.ts +3 -3
  470. package/dist/client/stores/slices/uiSlice.d.ts +2 -2
  471. package/dist/client/styles.css +1 -1
  472. package/dist/client/types/analysisConfig.d.ts +4 -4
  473. package/dist/client/types/drill.d.ts +5 -5
  474. package/dist/client/types/flow.d.ts +2 -2
  475. package/dist/client/types/funnel.d.ts +1 -1
  476. package/dist/client/types/retention.d.ts +2 -2
  477. package/dist/client/types.d.ts +12 -12
  478. package/dist/client/utils/axisValueFormatting.d.ts +32 -0
  479. package/dist/client/utils/chartUtils.d.ts +1 -1
  480. package/dist/client/utils/configMigration.d.ts +2 -2
  481. package/dist/client/utils/drillQueryBuilder.d.ts +2 -2
  482. package/dist/client/utils/exportXlsx.d.ts +2 -2
  483. package/dist/client/utils/filterUtils.d.ts +1 -1
  484. package/dist/client/utils/funnelExecution.d.ts +2 -2
  485. package/dist/client/utils/funnelValidation.d.ts +2 -2
  486. package/dist/client/utils/index.d.ts +10 -10
  487. package/dist/client/utils/joinReachability.d.ts +1 -1
  488. package/dist/client/utils/multiQueryUtils.d.ts +1 -1
  489. package/dist/client/utils/multiQueryValidation.d.ts +1 -1
  490. package/dist/client/utils/pivotUtils.d.ts +1 -1
  491. package/dist/client/utils/shareUtils.d.ts +1 -1
  492. package/dist/client/utils/thumbnail.d.ts +1 -1
  493. package/dist/client/utils/timeValueFormatting.d.ts +32 -0
  494. package/dist/client/utils.d.ts +2 -2
  495. package/dist/client/utils.js +6 -6
  496. package/dist/client-bundle-stats.html +1 -1
  497. package/dist/mcp-app/mcp-app.html +55 -55
  498. package/dist/server/{server/adapters → adapters}/base-adapter.d.ts +81 -36
  499. package/dist/server/adapters/databend-adapter.d.ts +63 -0
  500. package/dist/server/{server/adapters → adapters}/duckdb-adapter.d.ts +6 -60
  501. package/dist/server/adapters/mysql-adapter.d.ts +65 -0
  502. package/dist/server/adapters/postgres-adapter.d.ts +55 -0
  503. package/dist/server/{server/adapters → adapters}/singlestore-adapter.d.ts +1 -1
  504. package/dist/server/adapters/snowflake-adapter.d.ts +53 -0
  505. package/dist/server/{server/adapters → adapters}/sqlite-adapter.d.ts +13 -33
  506. package/dist/server/adapters/window-function-builder.d.ts +11 -0
  507. package/dist/server/{server/agent → agent}/chart-validation.d.ts +0 -5
  508. package/dist/server/agent/handler-steps.d.ts +37 -0
  509. package/dist/server/{server/agent → agent}/handler.d.ts +3 -3
  510. package/dist/server/agent/index.d.ts +11 -0
  511. package/dist/server/{server/agent → agent}/providers/anthropic.d.ts +1 -1
  512. package/dist/server/{server/agent → agent}/providers/factory.d.ts +1 -1
  513. package/dist/server/{server/agent → agent}/providers/google.d.ts +1 -1
  514. package/dist/server/agent/providers/index.d.ts +6 -0
  515. package/dist/server/{server/agent → agent}/providers/openai.d.ts +1 -1
  516. package/dist/server/{server/agent → agent}/system-prompt.d.ts +1 -1
  517. package/dist/server/{server/agent → agent}/tools.d.ts +4 -4
  518. package/dist/server/{server/agent → agent}/types.d.ts +1 -1
  519. package/dist/server/ai/discovery-helpers.d.ts +29 -0
  520. package/dist/server/{server/ai → ai}/discovery.d.ts +6 -2
  521. package/dist/server/{server/ai → ai}/index.d.ts +6 -6
  522. package/dist/server/ai/suggestion-helpers.d.ts +33 -0
  523. package/dist/server/{server/ai → ai}/suggestion.d.ts +2 -5
  524. package/dist/server/ai/validation-helpers.d.ts +21 -0
  525. package/dist/server/{server/ai → ai}/validation.d.ts +2 -5
  526. package/dist/server/builders/analysis-utils.d.ts +106 -0
  527. package/dist/server/{server/builders → builders}/comparison-query-builder.d.ts +2 -2
  528. package/dist/server/{server/builders → builders}/cte-builder.d.ts +48 -2
  529. package/dist/server/{server/builders → builders}/date-time-builder.d.ts +7 -2
  530. package/dist/server/builders/date-time-helpers.d.ts +34 -0
  531. package/dist/server/{server/builders → builders}/filter-builder.d.ts +5 -3
  532. package/dist/server/builders/filter-operators.d.ts +23 -0
  533. package/dist/server/builders/flow-query-builder.d.ts +136 -0
  534. package/dist/server/{server/builders → builders}/funnel-query-builder.d.ts +18 -7
  535. package/dist/server/{server/builders → builders}/group-by-builder.d.ts +13 -2
  536. package/dist/server/builders/index.d.ts +13 -0
  537. package/dist/server/{server/builders → builders}/measure-builder.d.ts +46 -3
  538. package/dist/server/{server/builders → builders}/retention-query-builder.d.ts +14 -16
  539. package/dist/server/cache-providers/index.d.ts +5 -0
  540. package/dist/server/{server/cache-providers → cache-providers}/memory.d.ts +1 -1
  541. package/dist/server/{server/cache-utils.d.ts → cache-utils.d.ts} +26 -6
  542. package/dist/server/compiler-metadata.d.ts +11 -0
  543. package/dist/server/{server/compiler.d.ts → compiler.d.ts} +9 -15
  544. package/dist/server/{server/cube-utils.d.ts → cube-utils.d.ts} +29 -4
  545. package/dist/server/{server/database-utils.d.ts → database-utils.d.ts} +1 -1
  546. package/dist/server/execution/annotation-builder.d.ts +12 -0
  547. package/dist/server/execution/filter-cache-preloader.d.ts +19 -0
  548. package/dist/server/execution/mode-router.d.ts +25 -0
  549. package/dist/server/execution/query-result-cache.d.ts +21 -0
  550. package/dist/server/execution/result-post-processor.d.ts +10 -0
  551. package/dist/server/{server/executor.d.ts → executor.d.ts} +35 -32
  552. package/dist/server/{server/executors → executors}/base-executor.d.ts +2 -2
  553. package/dist/server/{server/executors → executors}/databend-executor.d.ts +2 -2
  554. package/dist/server/{server/executors → executors}/duckdb-executor.d.ts +2 -2
  555. package/dist/server/executors/explain-utils.d.ts +28 -0
  556. package/dist/server/{server/executors → executors}/index.d.ts +9 -9
  557. package/dist/server/{server/executors → executors}/mysql-executor.d.ts +2 -2
  558. package/dist/server/{server/executors → executors}/postgres-executor.d.ts +2 -2
  559. package/dist/server/{server/executors → executors}/singlestore-executor.d.ts +2 -2
  560. package/dist/server/{server/executors → executors}/snowflake-executor.d.ts +2 -2
  561. package/dist/server/{server/executors → executors}/sqlite-executor.d.ts +2 -2
  562. package/dist/server/{server/explain → explain}/databend-parser.d.ts +1 -1
  563. package/dist/server/{server/explain → explain}/duckdb-parser.d.ts +1 -1
  564. package/dist/server/explain/explain-tree.d.ts +20 -0
  565. package/dist/server/explain/index.d.ts +9 -0
  566. package/dist/server/{server/explain → explain}/mysql-parser.d.ts +1 -1
  567. package/dist/server/{server/explain → explain}/postgres-parser.d.ts +1 -1
  568. package/dist/server/{server/explain → explain}/snowflake-parser.d.ts +1 -1
  569. package/dist/server/{server/explain → explain}/sqlite-parser.d.ts +1 -1
  570. package/dist/server/{server/filter-cache.d.ts → filter-cache.d.ts} +2 -2
  571. package/dist/server/{server/gap-filler.d.ts → gap-filler.d.ts} +8 -2
  572. package/dist/server/google-BOnRIN1w.cjs +2 -0
  573. package/dist/{adapters/google-CFYljAOF.js → server/google-CvKM9yVM.js} +83 -71
  574. package/dist/server/index.cjs +179 -211
  575. package/dist/server/index.d.ts +38 -2
  576. package/dist/server/index.js +6330 -6458
  577. package/dist/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  578. package/dist/server/logical-plan/cte-planner.d.ts +104 -0
  579. package/dist/server/logical-plan/filter-propagation.d.ts +44 -0
  580. package/dist/server/{server/logical-plan → logical-plan}/index.d.ts +11 -6
  581. package/dist/server/logical-plan/join-planner.d.ts +27 -0
  582. package/dist/server/{server/logical-plan → logical-plan}/logical-plan-builder.d.ts +5 -5
  583. package/dist/server/logical-plan/logical-planner.d.ts +39 -0
  584. package/dist/server/{server/logical-plan → logical-plan}/optimiser.d.ts +4 -2
  585. package/dist/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  586. package/dist/server/logical-plan/planner-utils.d.ts +20 -0
  587. package/dist/server/{server/logical-plan → logical-plan}/types.d.ts +18 -10
  588. package/dist/server/measure-classification.d.ts +40 -0
  589. package/dist/server/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  590. package/dist/server/openai-vXvLni8v.cjs +1 -0
  591. package/dist/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
  592. package/dist/server/{server/physical-plan → physical-plan}/drizzle-sql-builder.d.ts +14 -3
  593. package/dist/server/physical-plan/index.d.ts +2 -0
  594. package/dist/server/{server/physical-plan → physical-plan}/processors/cte-processor.d.ts +2 -2
  595. package/dist/server/physical-plan/processors/index.d.ts +8 -0
  596. package/dist/server/{server/physical-plan → physical-plan}/processors/joins-processor.d.ts +2 -2
  597. package/dist/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  598. package/dist/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  599. package/dist/server/{server/physical-plan → physical-plan}/processors/predicates-processor.d.ts +2 -2
  600. package/dist/server/{server/physical-plan → physical-plan}/processors/selection-processor.d.ts +2 -2
  601. package/dist/server/{server/physical-plan → physical-plan}/processors/shared.d.ts +9 -4
  602. package/dist/server/{server/physical-plan → physical-plan}/processors/window-processor.d.ts +2 -2
  603. package/dist/server/query-handlers.d.ts +79 -0
  604. package/dist/server/query-modes.d.ts +28 -0
  605. package/dist/server/query-validator.d.ts +9 -0
  606. package/dist/server/{server/resolvers → resolvers}/calculated-measure-resolver.d.ts +6 -1
  607. package/dist/server/{server/resolvers → resolvers}/index.d.ts +2 -2
  608. package/dist/server/{server/resolvers → resolvers}/join-path-resolver.d.ts +7 -1
  609. package/dist/server/sql-format.d.ts +11 -0
  610. package/dist/server/{server/template-substitution.d.ts → template-substitution.d.ts} +1 -1
  611. package/dist/server/{server/types → types}/cache.d.ts +1 -1
  612. package/dist/server/{server/types → types}/cube.d.ts +22 -8
  613. package/dist/server/{server/types → types}/executor.d.ts +2 -2
  614. package/dist/server/{server/types → types}/flow.d.ts +7 -6
  615. package/dist/server/{server/types → types}/funnel.d.ts +1 -1
  616. package/dist/server/types/index.d.ts +11 -0
  617. package/dist/server/{server/types → types}/metadata.d.ts +1 -1
  618. package/dist/server/{server/types → types}/query.d.ts +4 -4
  619. package/dist/server/{server/types → types}/retention.d.ts +1 -1
  620. package/dist/server/{server/types → types}/utils.d.ts +1 -1
  621. package/dist/server/types/validation.d.ts +14 -0
  622. package/package.json +22 -7
  623. package/dist/adapters/google-DUlXeeDA.cjs +0 -2
  624. package/dist/adapters/handler-CzbCuS6_.cjs +0 -25
  625. package/dist/adapters/locale-BPB7flIG.js +0 -8249
  626. package/dist/adapters/locale-tIMrNcCr.cjs +0 -198
  627. package/dist/adapters/mcp-transport-C2QzXm6h.cjs +0 -40
  628. package/dist/adapters/mcp-transport-D0B3S1tB.js +0 -579
  629. package/dist/adapters/openai-D_U4V0kT.cjs +0 -1
  630. package/dist/adapters/utils-KV37IBIv.cjs +0 -128
  631. package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +0 -1
  632. package/dist/client/chunks/RetentionCombinedChart-BPkfcTa8.js.map +0 -1
  633. package/dist/client/chunks/RetentionHeatmap-DGzLzr7h.js.map +0 -1
  634. package/dist/client/chunks/analysis-builder-MuMIzoRq.js +0 -5367
  635. package/dist/client/chunks/analysis-builder-MuMIzoRq.js.map +0 -1
  636. package/dist/client/chunks/analysis-builder-shared-CYVwSPqt.js.map +0 -1
  637. package/dist/client/chunks/chart-activity-grid-DmruKPab.js.map +0 -1
  638. package/dist/client/chunks/chart-area-DHCPM4Em.js +0 -450
  639. package/dist/client/chunks/chart-area-DHCPM4Em.js.map +0 -1
  640. package/dist/client/chunks/chart-bar-KddciGDv.js +0 -271
  641. package/dist/client/chunks/chart-bar-KddciGDv.js.map +0 -1
  642. package/dist/client/chunks/chart-box-plot-DYKfyOI8.js.map +0 -1
  643. package/dist/client/chunks/chart-bubble-CfqiB538.js +0 -273
  644. package/dist/client/chunks/chart-bubble-CfqiB538.js.map +0 -1
  645. package/dist/client/chunks/chart-candlestick-Dwc92Mrj.js.map +0 -1
  646. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
  647. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
  648. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
  649. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
  650. package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
  651. package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
  652. package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
  653. package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
  654. package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
  655. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
  656. package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
  657. package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
  658. package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
  659. package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
  660. package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
  661. package/dist/client/chunks/chart-data-table-BO4sXsim.js.map +0 -1
  662. package/dist/client/chunks/chart-funnel-DnWRsmnS.js.map +0 -1
  663. package/dist/client/chunks/chart-gauge-CgMeqeGb.js +0 -424
  664. package/dist/client/chunks/chart-gauge-CgMeqeGb.js.map +0 -1
  665. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js +0 -231
  666. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js.map +0 -1
  667. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js +0 -343
  668. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js.map +0 -1
  669. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js +0 -322
  670. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js.map +0 -1
  671. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js +0 -149
  672. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js.map +0 -1
  673. package/dist/client/chunks/chart-line-9BEGN5Ti.js +0 -433
  674. package/dist/client/chunks/chart-line-9BEGN5Ti.js.map +0 -1
  675. package/dist/client/chunks/chart-markdown-dgUetjyM.js.map +0 -1
  676. package/dist/client/chunks/chart-measure-profile-ClfpLs4q.js.map +0 -1
  677. package/dist/client/chunks/chart-pie-BjAIhyOi.js +0 -172
  678. package/dist/client/chunks/chart-pie-BjAIhyOi.js.map +0 -1
  679. package/dist/client/chunks/chart-radar-Dgkcl2bN.js +0 -154
  680. package/dist/client/chunks/chart-radar-Dgkcl2bN.js.map +0 -1
  681. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js +0 -148
  682. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js.map +0 -1
  683. package/dist/client/chunks/chart-sankey-M3XpO_ah.js.map +0 -1
  684. package/dist/client/chunks/chart-scatter-DaHYP_OL.js +0 -255
  685. package/dist/client/chunks/chart-scatter-DaHYP_OL.js.map +0 -1
  686. package/dist/client/chunks/chart-sunburst-A_u6lqlS.js.map +0 -1
  687. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js +0 -298
  688. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js.map +0 -1
  689. package/dist/client/chunks/chart-waterfall-BuhMoagf.js.map +0 -1
  690. package/dist/client/chunks/charts-core-jRtb0S2M.js.map +0 -1
  691. package/dist/client/chunks/schema-visualization-DE09kQE3.js.map +0 -1
  692. package/dist/client/chunks/useDirtyStateTracking-CoeQbprt.js.map +0 -1
  693. package/dist/client/chunks/useExplainAI-DlnXWdmz.js.map +0 -1
  694. package/dist/client/chunks/utils-CTKNaXS8.js.map +0 -1
  695. package/dist/server/google-DUlXeeDA.cjs +0 -2
  696. package/dist/server/openai-D_U4V0kT.cjs +0 -1
  697. package/dist/server/server/adapters/databend-adapter.d.ts +0 -114
  698. package/dist/server/server/adapters/mysql-adapter.d.ts +0 -122
  699. package/dist/server/server/adapters/postgres-adapter.d.ts +0 -119
  700. package/dist/server/server/adapters/snowflake-adapter.d.ts +0 -116
  701. package/dist/server/server/agent/index.d.ts +0 -11
  702. package/dist/server/server/agent/providers/index.d.ts +0 -6
  703. package/dist/server/server/builders/flow-query-builder.d.ts +0 -109
  704. package/dist/server/server/builders/index.d.ts +0 -13
  705. package/dist/server/server/cache-providers/index.d.ts +0 -5
  706. package/dist/server/server/explain/index.d.ts +0 -9
  707. package/dist/server/server/index.d.ts +0 -36
  708. package/dist/server/server/logical-plan/logical-planner.d.ts +0 -232
  709. package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +0 -50
  710. package/dist/server/server/physical-plan/index.d.ts +0 -2
  711. package/dist/server/server/physical-plan/processors/index.d.ts +0 -6
  712. package/dist/server/server/types/index.d.ts +0 -11
  713. /package/dist/server/{server/agent → agent}/providers/types.d.ts +0 -0
  714. /package/dist/server/{server/ai → ai}/mcp-prompts.d.ts +0 -0
  715. /package/dist/server/{server/ai → ai}/query-schema.d.ts +0 -0
  716. /package/dist/server/{server/ai → ai}/schemas.d.ts +0 -0
  717. /package/dist/server/{server/prompts → prompts}/explain-analysis-prompt.d.ts +0 -0
  718. /package/dist/server/{server/prompts → prompts}/index.d.ts +0 -0
  719. /package/dist/server/{server/prompts → prompts}/single-step-prompt.d.ts +0 -0
  720. /package/dist/server/{server/prompts → prompts}/step0-validation-prompt.d.ts +0 -0
  721. /package/dist/server/{server/prompts → prompts}/step1-shape-prompt.d.ts +0 -0
  722. /package/dist/server/{server/prompts → prompts}/step2-complete-prompt.d.ts +0 -0
  723. /package/dist/server/{server/prompts → prompts}/types.d.ts +0 -0
  724. /package/dist/server/{server/types → types}/analysis.d.ts +0 -0
  725. /package/dist/server/{server/types → types}/core.d.ts +0 -0
@@ -0,0 +1,136 @@
1
+ import { DatabaseAdapter } from '../adapters/base-adapter.js';
2
+ import { FlowQueryConfig, FlowResultRow } from '../types/flow.js';
3
+ import { AnalysisConfigValidationResult } from '../types/validation.js';
4
+ import { Cube, QueryContext, SemanticQuery } from '../types/index.js';
5
+ export declare class FlowQueryBuilder {
6
+ private filterBuilder;
7
+ private dateTimeBuilder;
8
+ private databaseAdapter;
9
+ constructor(databaseAdapter: DatabaseAdapter);
10
+ /**
11
+ * Check if query contains flow configuration
12
+ */
13
+ hasFlow(query: SemanticQuery): boolean;
14
+ /**
15
+ * Validate flow configuration
16
+ */
17
+ validateConfig(config: FlowQueryConfig, cubes: Map<string, Cube>): AnalysisConfigValidationResult;
18
+ /**
19
+ * Validate a `Cube.dimension` member string: format, cube existence, and
20
+ * dimension existence. i18n message factories let each call site supply its
21
+ * own keys while sharing the branch structure.
22
+ */
23
+ private validateMemberDimension;
24
+ /** Validate the flow binding key (single member or per-cube mappings). */
25
+ private validateBindingKey;
26
+ /** Validate the flow starting step (required + filter + name warning). */
27
+ private validateStartingStep;
28
+ /** Validate flow step-depth bounds and emit high-depth performance warnings. */
29
+ private validateDepthBounds;
30
+ /** Validate the flow join strategy and its engine support. */
31
+ private validateJoinStrategy;
32
+ /**
33
+ * Build complete flow query using Drizzle's query builder pattern
34
+ *
35
+ * Creates a series of CTEs to:
36
+ * 1. Find entities at the starting step
37
+ * 2. Walk backwards N steps to find preceding events
38
+ * 3. Walk forwards N steps to find following events
39
+ * 4. Aggregate into nodes and links for Sankey visualization
40
+ */
41
+ buildFlowQuery(config: FlowQueryConfig, cubes: Map<string, Cube>, context: QueryContext): ReturnType<typeof context.db.select>;
42
+ /**
43
+ * Transform raw SQL result to FlowResultRow
44
+ * The raw result contains rows with record_type = 'node' or 'link'
45
+ */
46
+ transformResult(rawResult: Record<string, unknown>[]): FlowResultRow;
47
+ /**
48
+ * Resolve flow configuration to SQL expressions
49
+ */
50
+ private resolveFlowConfig;
51
+ /**
52
+ * Resolve the cube for flow analysis
53
+ */
54
+ private resolveCube;
55
+ /**
56
+ * Resolve binding key expression
57
+ */
58
+ private resolveBindingKey;
59
+ /**
60
+ * Resolve time dimension expression
61
+ */
62
+ private resolveTimeDimension;
63
+ /**
64
+ * Resolve event dimension expression
65
+ */
66
+ private resolveEventDimension;
67
+ /**
68
+ * Build filter conditions for the starting step
69
+ */
70
+ private buildStartingStepFilters;
71
+ /**
72
+ * Build a single filter condition
73
+ */
74
+ private buildFilterCondition;
75
+ /** Build the non-null sub-conditions of a logical/group filter. */
76
+ private buildSubConditions;
77
+ /** Combine sub-conditions with AND/OR, collapsing the 0- and 1-element cases. */
78
+ private combineConditions;
79
+ /**
80
+ * Build the starting entities CTE
81
+ * Finds all entities matching the starting step filter with their start time and event type
82
+ * For sunburst mode, also initializes event_path with the starting event type
83
+ */
84
+ private buildStartingEntitiesCTE;
85
+ /**
86
+ * Build CTEs for steps BEFORE/AFTER the starting point using LATERAL joins
87
+ *
88
+ * Direction-parameterised: 'before' walks backwards (time `<` reference,
89
+ * ORDER BY DESC, `before_step_N` aliases, bounded by `stepsBefore`); 'after'
90
+ * walks forwards (time `>`, ORDER BY ASC, `after_step_N`, `stepsAfter`).
91
+ * Uses ORDER BY ... LIMIT 1 to fetch the immediate predecessor/successor via index.
92
+ */
93
+ private buildDirectionalCTEsLateral;
94
+ /**
95
+ * Build CTEs for steps BEFORE/AFTER the starting point using ROW_NUMBER()
96
+ *
97
+ * Direction-parameterised: 'before' finds the immediate predecessor (time `<`
98
+ * reference, ROW_NUMBER ORDER BY DESC, `before_step_N` aliases, bounded by
99
+ * `stepsBefore`); 'after' finds the immediate successor (time `>`, ORDER BY ASC,
100
+ * `after_step_N`, `stepsAfter`). For sunburst mode, accumulates event_path
101
+ * (prepend for before, append for after).
102
+ */
103
+ private buildDirectionalCTEsWindow;
104
+ /**
105
+ * Build a single node-aggregation UNION arm for a before/after step.
106
+ *
107
+ * Sankey groups by `event_type` (converging paths); sunburst groups by
108
+ * `event_path` (unique tree branches). The node-id prefix and layer are
109
+ * emitted via sql.raw() because they're hardcoded constants (not user input)
110
+ * and avoid multi-digit parameter issues in DuckDB.
111
+ */
112
+ private buildNodeArm;
113
+ /**
114
+ * Build a single link-aggregation UNION arm between two adjacent step CTEs
115
+ * (before→before or after→after). Sankey keys transitions on `event_type`,
116
+ * sunburst on `event_path`. Source/target id prefixes are sql.raw() constants.
117
+ */
118
+ private buildAdjacentLinkArm;
119
+ /**
120
+ * Build the nodes aggregation CTE
121
+ * Aggregates counts per (layer, event_type) combination using UNION ALL
122
+ * For sunburst mode, aggregates by event_path for unique tree branches
123
+ */
124
+ private buildNodesAggregationCTE;
125
+ /**
126
+ * Build the links aggregation CTE
127
+ * Counts transitions between adjacent layers
128
+ * For sunburst mode, uses event_path for unique branch identification
129
+ */
130
+ private buildLinksAggregationCTE;
131
+ /**
132
+ * Build the final result CTE
133
+ * Combines nodes and links into a single result set with record_type discriminator
134
+ */
135
+ private buildFinalResultCTE;
136
+ }
@@ -1,6 +1,6 @@
1
- import { DatabaseAdapter } from '../adapters/base-adapter';
2
- import { FunnelQueryConfig, FunnelResultRow } from '../types/funnel';
3
- import { Cube, QueryContext, SemanticQuery } from '../types';
1
+ import { DatabaseAdapter } from '../adapters/base-adapter.js';
2
+ import { FunnelQueryConfig, FunnelResultRow } from '../types/funnel.js';
3
+ import { Cube, QueryContext, SemanticQuery, AnalysisConfigValidationResult } from '../types/index.js';
4
4
  export declare class FunnelQueryBuilder {
5
5
  private databaseAdapter;
6
6
  private filterBuilder;
@@ -13,10 +13,15 @@ export declare class FunnelQueryBuilder {
13
13
  /**
14
14
  * Validate funnel configuration
15
15
  */
16
- validateConfig(config: FunnelQueryConfig, cubes: Map<string, Cube>): {
17
- isValid: boolean;
18
- errors: string[];
19
- };
16
+ validateConfig(config: FunnelQueryConfig, cubes: Map<string, Cube>): AnalysisConfigValidationResult;
17
+ /** Validate the funnel binding key (single member or per-cube mappings). */
18
+ private validateBindingKey;
19
+ /** Validate the funnel time dimension member. */
20
+ private validateTimeDimension;
21
+ /** Validate a single funnel step (name, cube, filters, timeToConvert). */
22
+ private validateStep;
23
+ /** Validate the member filters of a single funnel step. */
24
+ private validateStepFilters;
20
25
  /**
21
26
  * Build complete funnel query using Drizzle's query builder pattern
22
27
  *
@@ -32,6 +37,8 @@ export declare class FunnelQueryBuilder {
32
37
  * Transform raw SQL result to FunnelResultRow[]
33
38
  */
34
39
  transformResult(rawResult: Record<string, unknown>[], config: FunnelQueryConfig): FunnelResultRow[];
40
+ /** Attach the per-step conversion-time metrics to a funnel result row. */
41
+ private applyTimeMetrics;
35
42
  /**
36
43
  * Extract cube names referenced in step filters
37
44
  */
@@ -68,6 +75,10 @@ export declare class FunnelQueryBuilder {
68
75
  * @param context - Query context with security context
69
76
  */
70
77
  private buildFilterCondition;
78
+ /** Combine a logical/group filter's sub-conditions into a single SQL condition. */
79
+ private buildLogicalFilterCondition;
80
+ /** Build a simple (member) filter condition, validating values and cross-cube join paths. */
81
+ private buildSimpleFilterCondition;
71
82
  /**
72
83
  * Build CTE for a single step using Drizzle's $with() pattern
73
84
  *
@@ -1,6 +1,6 @@
1
1
  import { SQL, AnyColumn } from 'drizzle-orm';
2
- import { Cube, SemanticQuery, QueryContext, PhysicalQueryPlan } from '../types';
3
- import { DateTimeBuilder } from './date-time-builder';
2
+ import { Cube, SemanticQuery, QueryContext, PhysicalQueryPlan } from '../types/index.js';
3
+ import { DateTimeBuilder } from './date-time-builder.js';
4
4
  export declare class GroupByBuilder {
5
5
  private dateTimeBuilder;
6
6
  constructor(dateTimeBuilder: DateTimeBuilder);
@@ -24,4 +24,15 @@ export declare class GroupByBuilder {
24
24
  * Window functions do not require GROUP BY and operate on individual rows.
25
25
  */
26
26
  buildGroupByFields(cubes: Map<string, Cube> | Cube, query: SemanticQuery, context: QueryContext, queryPlan?: PhysicalQueryPlan): (SQL | AnyColumn)[];
27
+ /**
28
+ * Determine whether the query contains at least one aggregate (or calculated,
29
+ * or post-aggregation window over an aggregate) measure — which forces GROUP BY.
30
+ */
31
+ private hasAggregateMeasures;
32
+ /** True when `measure` is a post-aggregation window over an aggregate base measure. */
33
+ private isWindowOverAggregate;
34
+ /** Resolve a single dimension into its GROUP BY expression (CTE-aware). */
35
+ private resolveDimensionGroupField;
36
+ /** Resolve a single time dimension into its GROUP BY expression (CTE-aware). */
37
+ private resolveTimeDimensionGroupField;
27
38
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Builders Index
3
+ * Re-exports all query builder components for modular imports
4
+ */
5
+ export { DateTimeBuilder } from './date-time-builder.js';
6
+ export { FilterBuilder } from './filter-builder.js';
7
+ export { GroupByBuilder } from './group-by-builder.js';
8
+ export { MeasureBuilder } from './measure-builder.js';
9
+ export { CTEBuilder } from './cte-builder.js';
10
+ export { ComparisonQueryBuilder } from './comparison-query-builder.js';
11
+ export { FunnelQueryBuilder } from './funnel-query-builder.js';
12
+ export { FlowQueryBuilder } from './flow-query-builder.js';
13
+ export { RetentionQueryBuilder } from './retention-query-builder.js';
@@ -1,7 +1,7 @@
1
1
  import { SQL } from 'drizzle-orm';
2
- import { Cube, QueryContext, PhysicalQueryPlan } from '../types';
3
- import { DatabaseAdapter } from '../adapters/base-adapter';
4
- import { ResolvedMeasures } from '../template-substitution';
2
+ import { Cube, QueryContext, PhysicalQueryPlan } from '../types/index.js';
3
+ import { DatabaseAdapter } from '../adapters/base-adapter.js';
4
+ import { ResolvedMeasures } from '../template-substitution.js';
5
5
  export declare class MeasureBuilder {
6
6
  private databaseAdapter;
7
7
  constructor(databaseAdapter: DatabaseAdapter);
@@ -17,6 +17,17 @@ export declare class MeasureBuilder {
17
17
  * @returns Map of measure names to SQL builder functions
18
18
  */
19
19
  buildResolvedMeasures(measureNames: string[], cubeMap: Map<string, Cube>, context: QueryContext, customMeasureBuilder?: (measureName: string, measure: any, cube: Cube) => SQL): ResolvedMeasures;
20
+ /**
21
+ * First-pass classification of a user-requested measure: sorts it into the
22
+ * regular/calculated buckets and seeds `allMeasuresToResolve` with its
23
+ * (transitive) dependencies. Post-aggregation windows only contribute their
24
+ * base measure as a dependency.
25
+ */
26
+ private classifyRequestedMeasure;
27
+ /** Seed `allMeasuresToResolve` with the direct + transitive deps of a calculated measure. */
28
+ private collectCalculatedDependencies;
29
+ /** Second-pass classification of a dependency measure into the regular/calculated buckets. */
30
+ private classifyDependencyMeasure;
20
31
  /**
21
32
  * Build calculated measure expression by substituting {member} references
22
33
  * with resolved SQL expressions
@@ -41,10 +52,21 @@ export declare class MeasureBuilder {
41
52
  measures: string[];
42
53
  cube: Cube;
43
54
  }, allCubes: Map<string, Cube>, context: QueryContext): SQL;
55
+ /**
56
+ * Re-aggregate a pre-aggregated CTE column based on the original measure type.
57
+ * For pre-aggregated values in CTEs we re-aggregate properly:
58
+ * - count/sum/number → SUM
59
+ * - avg → AVG (ideally a weighted average, but simple AVG for now)
60
+ * - min/max → MIN/MAX
61
+ * - anything else → SUM
62
+ */
63
+ private reAggregateCteColumn;
44
64
  /**
45
65
  * Build measure expression for HAVING clause, handling CTE references correctly
46
66
  */
47
67
  buildHavingMeasureExpression(cubeName: string, fieldKey: string, measure: any, context: QueryContext, queryPlan?: PhysicalQueryPlan): SQL;
68
+ /** Build a HAVING measure expression that references a pre-aggregation CTE column. */
69
+ private buildHavingCteMeasure;
48
70
  /**
49
71
  * Build measure expression with aggregation and filters
50
72
  * Note: This should NOT be called for calculated measures
@@ -54,6 +76,27 @@ export declare class MeasureBuilder {
54
76
  * @param cube - Optional cube reference for resolving dimension references (window functions)
55
77
  */
56
78
  buildMeasureExpression(measure: any, context: QueryContext, cube?: Cube): SQL;
79
+ /**
80
+ * Wrap a base expression in a CASE WHEN for measures carrying `filters`,
81
+ * producing conditional aggregation. Returns the original expression when
82
+ * there are no filters.
83
+ */
84
+ private applyMeasureFilters;
85
+ /** Apply the aggregation function implied by `measure.type` to `baseExpr`. */
86
+ private applyAggregation;
87
+ /**
88
+ * Run a statistical-function builder, falling back to MAX(NULL) with a warning
89
+ * when the engine doesn't support it (shared by stddev/variance/percentile).
90
+ */
91
+ private buildStatistical;
92
+ /** Resolve the percentile value implied by a percentile-family measure type. */
93
+ private resolvePercentile;
94
+ /** Build a (per-row) window-function measure expression. */
95
+ private buildWindowMeasure;
96
+ /** Resolve a window function's partitionBy dimension references to SQL expressions. */
97
+ private resolveWindowPartitions;
98
+ /** Resolve a window function's orderBy dimension/measure references to SQL expressions. */
99
+ private resolveWindowOrder;
57
100
  /**
58
101
  * List of measure types that are window functions
59
102
  * Window functions require special handling in CTEs:
@@ -1,6 +1,6 @@
1
- import { DatabaseAdapter } from '../adapters/base-adapter';
2
- import { RetentionQueryConfig, RetentionResultRow } from '../types/retention';
3
- import { Cube, QueryContext, SemanticQuery } from '../types';
1
+ import { DatabaseAdapter } from '../adapters/base-adapter.js';
2
+ import { RetentionQueryConfig, RetentionResultRow } from '../types/retention.js';
3
+ import { Cube, QueryContext, SemanticQuery, AnalysisConfigValidationResult } from '../types/index.js';
4
4
  export declare class RetentionQueryBuilder {
5
5
  private databaseAdapter;
6
6
  private filterBuilder;
@@ -13,10 +13,17 @@ export declare class RetentionQueryBuilder {
13
13
  /**
14
14
  * Validate retention configuration against registered cubes
15
15
  */
16
- validateConfig(config: RetentionQueryConfig, cubes: Map<string, Cube>): {
17
- isValid: boolean;
18
- errors: string[];
19
- };
16
+ validateConfig(config: RetentionQueryConfig, cubes: Map<string, Cube>): AnalysisConfigValidationResult;
17
+ /** Validate the retention time dimension (used for cohort entry and activity). */
18
+ private validateTimeDimension;
19
+ /** Validate the retention binding key (single member or per-cube mappings). */
20
+ private validateBindingKey;
21
+ /** Validate optional retention breakdown dimensions. */
22
+ private validateBreakdownDimensions;
23
+ /** Validate retention period bounds, granularity, and retention type. */
24
+ private validatePeriodsAndEnums;
25
+ /** Validate the (required) retention date range: presence, parseability, ordering. */
26
+ private validateDateRange;
20
27
  /**
21
28
  * Build the retention SQL query using CTEs
22
29
  *
@@ -38,10 +45,6 @@ export declare class RetentionQueryBuilder {
38
45
  * Same cube/dimension used for both cohort entry and activity detection
39
46
  */
40
47
  private resolveConfig;
41
- /**
42
- * Resolve binding key expression for a cube
43
- */
44
- private resolveBindingKey;
45
48
  /**
46
49
  * Build filter conditions from config filters
47
50
  */
@@ -92,9 +95,4 @@ export declare class RetentionQueryBuilder {
92
95
  * Build period number expression using database-specific DATE_DIFF
93
96
  */
94
97
  private buildPeriodNumberExpression;
95
- /**
96
- * Extract dimension name from a dimension reference
97
- * Handles both 'CubeName.dimName' and just 'dimName' formats
98
- */
99
- private extractDimensionName;
100
98
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Cache providers for Drizzle Cube
3
+ */
4
+ export { MemoryCacheProvider } from './memory.js';
5
+ export type { MemoryCacheProviderOptions } from './memory.js';
@@ -1,4 +1,4 @@
1
- import { CacheProvider, CacheGetResult } from '../types';
1
+ import { CacheProvider, CacheGetResult } from '../types/index.js';
2
2
  /**
3
3
  * Options for MemoryCacheProvider
4
4
  */
@@ -1,4 +1,4 @@
1
- import { SemanticQuery, SecurityContext } from './types';
1
+ import { SemanticQuery, SecurityContext } from './types/index.js';
2
2
  /**
3
3
  * Configuration for cache key generation
4
4
  */
@@ -15,10 +15,11 @@ export interface CacheKeyConfig {
15
15
  *
16
16
  * Key structure: {prefix}query:{queryHash}:ctx:{securityHash}
17
17
  *
18
- * Uses FNV-1a hash for:
19
- * - Speed: ~3x faster than SHA-256
20
- * - Simplicity: No dependencies required
21
- * - Sufficient collision resistance for cache keys
18
+ * Uses a 128-bit FNV-1a-based hash (see {@link strongHash}) for both the query
19
+ * and the security context. A 128-bit digest is required here for correctness,
20
+ * not just speed: the security-context hash provides tenant isolation, and a
21
+ * collision serves one tenant's cached result to another. The full input is
22
+ * hashed (no truncation) so large queries cannot collide on a shared prefix.
22
23
  *
23
24
  * @param query - The semantic query to cache
24
25
  * @param securityContext - Security context for tenant isolation
@@ -42,7 +43,7 @@ export declare function normalizeQuery(query: SemanticQuery): SemanticQuery;
42
43
  */
43
44
  export declare function sortObject<T>(obj: T): T;
44
45
  /**
45
- * FNV-1a hash - fast, non-cryptographic hash function
46
+ * FNV-1a hash - fast, non-cryptographic 32-bit hash function
46
47
  * Returns hex string for cache key readability
47
48
  *
48
49
  * Properties:
@@ -50,10 +51,29 @@ export declare function sortObject<T>(obj: T): T;
50
51
  * - Low collision rate for similar strings
51
52
  * - Deterministic across runs
52
53
  *
54
+ * Note: a 32-bit digest is too narrow to isolate tenants by itself — use
55
+ * {@link strongHash} for cache keys. Retained for backwards compatibility.
56
+ *
53
57
  * @param str - String to hash
54
58
  * @returns 8-character hex string
55
59
  */
56
60
  export declare function fnv1aHash(str: string): string;
61
+ /**
62
+ * 128-bit FNV-1a-based hash for cache keys.
63
+ *
64
+ * Computes four independent 32-bit FNV-1a lanes (distinct offset bases, each
65
+ * mixed with the byte position) and concatenates them into a 32-character hex
66
+ * digest. This widens the key space from 2^32 to 2^128 so security-context and
67
+ * query collisions are vanishingly unlikely — collisions here are not merely a
68
+ * cache miss, they are a cross-tenant data-disclosure risk.
69
+ *
70
+ * The entire input is hashed (no truncation), and the input length is mixed in
71
+ * to disambiguate shared prefixes. `Math.imul` performs a true 32-bit multiply.
72
+ *
73
+ * @param str - String to hash
74
+ * @returns 32-character hex string (128 bits)
75
+ */
76
+ export declare function strongHash(str: string): string;
57
77
  /**
58
78
  * Generate invalidation pattern for a cube
59
79
  * Used when cube data changes and all related cache entries need clearing
@@ -0,0 +1,11 @@
1
+ import { Cube, MeasureMetadata, DimensionMetadata, CubeRelationshipMetadata, HierarchyMetadata, TimeGranularity } from './types/index.js';
2
+ /** Default time granularities used when a time dimension omits `granularities`. */
3
+ export declare const DEFAULT_TIME_GRANULARITIES: TimeGranularity[];
4
+ /** Build measure metadata, normalizing drillMembers to fully-qualified names. */
5
+ export declare function buildMeasureMetadata(cube: Cube): MeasureMetadata[];
6
+ /** Build dimension metadata, including granularities for time dimensions. */
7
+ export declare function buildDimensionMetadata(cube: Cube): DimensionMetadata[];
8
+ /** Build relationship metadata from a cube's joins, resolving target cubes. */
9
+ export declare function buildRelationshipMetadata(cube: Cube, cubes: Map<string, Cube>, getColumnName: (column: any) => string): CubeRelationshipMetadata[];
10
+ /** Build hierarchy metadata, qualifying level names to full member names. */
11
+ export declare function buildHierarchyMetadata(cube: Cube): HierarchyMetadata[];
@@ -1,9 +1,12 @@
1
- import { SemanticQuery, QueryResult, SecurityContext, DatabaseExecutor, CubeMetadata, Cube, QueryAnalysis, CacheConfig, ExplainOptions, ExplainResult, ExecutionOptions, RLSSetupFn } from './types';
1
+ import { SemanticQuery, QueryResult, SecurityContext, DatabaseExecutor, CubeMetadata, Cube, QueryAnalysis, CacheConfig, ExplainOptions, ExplainResult, ExecutionOptions, RLSSetupFn } from './types/index.js';
2
+ import { PlanOptimiser } from './logical-plan/index.js';
3
+ export { validateQueryAgainstCubes } from './query-validator.js';
2
4
  export declare class SemanticLayerCompiler {
3
5
  private cubes;
4
6
  private metadataCache?;
5
7
  private cacheConfig?;
6
8
  private rlsSetup?;
9
+ private planOptimiser?;
7
10
  private db?;
8
11
  private schema?;
9
12
  private engineType?;
@@ -21,6 +24,11 @@ export declare class SemanticLayerCompiler {
21
24
  * Dry-run/SQL generation is NOT wrapped in a transaction.
22
25
  */
23
26
  rlsSetup?: RLSSetupFn;
27
+ /**
28
+ * Optional logical-plan optimiser injected into every QueryExecutor.
29
+ * Defaults to a no-op IdentityOptimiser when omitted.
30
+ */
31
+ planOptimiser?: PlanOptimiser;
24
32
  });
25
33
  /**
26
34
  * Set or update the database connection
@@ -105,14 +113,8 @@ export declare class SemanticLayerCompiler {
105
113
  * Handles different column types and extracts the actual column name
106
114
  */
107
115
  private getColumnName;
108
- /**
109
- * Default time granularities for time dimensions (ordered from least to most granular)
110
- * Used when dimension.granularities is not specified
111
- */
112
- private static readonly DEFAULT_TIME_GRANULARITIES;
113
116
  /**
114
117
  * Generate cube metadata for API responses from cubes
115
- * Optimized version that minimizes object iterations
116
118
  * Includes drill-down support: drillMembers on measures, granularities on time dimensions, hierarchies
117
119
  */
118
120
  private generateCubeMetadata;
@@ -208,11 +210,3 @@ export declare class SemanticLayerCompiler {
208
210
  */
209
211
  analyzeQuery(query: SemanticQuery, securityContext: SecurityContext): QueryAnalysis;
210
212
  }
211
- /**
212
- * Validate a query against a cubes map
213
- * Standalone function that can be used by both compiler and executor
214
- */
215
- export declare function validateQueryAgainstCubes(cubes: Map<string, Cube>, query: SemanticQuery): {
216
- isValid: boolean;
217
- errors: string[];
218
- };
@@ -1,5 +1,5 @@
1
1
  import { SQL, AnyColumn } from 'drizzle-orm';
2
- import { Cube, CubeJoin, QueryContext, MultiCubeQueryContext, SqlExpression, SecurityContext } from './types';
2
+ import { Cube, CubeJoin, Dimension, QueryContext, MultiCubeQueryContext, SqlExpression } from './types/index.js';
3
3
  /**
4
4
  * Resolve cube reference (handles direct, lazy, and string name references)
5
5
  *
@@ -99,6 +99,18 @@ export declare function safeKey(key: string): string;
99
99
  * @returns Isolated SQL expression safe for reuse
100
100
  */
101
101
  export declare function resolveSqlExpression(expr: AnyColumn | SQL | ((ctx: QueryContext) => AnyColumn | SQL), ctx: QueryContext): AnyColumn | SQL;
102
+ /**
103
+ * Resolve a dimension's SQL expression for use in a filter condition.
104
+ *
105
+ * For non-time dimensions, use the raw column so Drizzle preserves column type
106
+ * metadata for proper parameter binding (e.g. UUID columns need type info) — this
107
+ * deliberately bypasses isolateSqlExpression. For time dimensions, keep isolated
108
+ * SQL because normalizeDate() returns strings.
109
+ *
110
+ * Centralises the filter-field resolution that was previously copy-pasted across
111
+ * the filter builder, executor, and funnel/flow/retention builders.
112
+ */
113
+ export declare function resolveFilterFieldExpr(dimension: Dimension, ctx: QueryContext): AnyColumn | SQL;
102
114
  /**
103
115
  * Helper to create multi-cube query context
104
116
  */
@@ -111,6 +123,16 @@ export declare function isFunctionSqlExpression(expr: SqlExpression): expr is (c
111
123
  * Helper function to create cubes
112
124
  */
113
125
  export declare function defineCube(name: string, definition: Omit<Cube, 'name'>): Cube;
126
+ /**
127
+ * Build the Drizzle join condition for a regular (belongsTo/hasOne/hasMany)
128
+ * join from its symbolic CubeJoin definition. Columns are isolated to prevent
129
+ * Drizzle's mutable queryChunks from corrupting reused expressions. The
130
+ * condition is symmetric, so it is correct for reversed joins as-is.
131
+ *
132
+ * This is the materialization counterpart used by DrizzlePlanBuilder; it
133
+ * mirrors JoinPathResolver.buildJoinCondition(joinDef, null, null).
134
+ */
135
+ export declare function buildRegularJoinCondition(joinDef: CubeJoin): SQL;
114
136
  /**
115
137
  * Expanded join information for belongsToMany relationships
116
138
  */
@@ -121,13 +143,16 @@ export interface ExpandedBelongsToManyJoin {
121
143
  table: any;
122
144
  condition: SQL;
123
145
  }>;
124
- /** Security conditions for junction table (if any) */
125
- junctionSecurityConditions?: SQL[];
126
146
  }
127
147
  /**
128
148
  * Expand a belongsToMany join into junction table joins
129
149
  * This converts a many-to-many relationship into two separate joins:
130
150
  * 1. Source cube -> Junction table
131
151
  * 2. Junction table -> Target cube
152
+ *
153
+ * Junction-table security is intentionally NOT materialized here: it must be
154
+ * applied (in the WHERE clause) at physical-build time from the stored
155
+ * `through.securitySql` function with the request's security context, so the
156
+ * join conditions here are a pure function of the join definition.
132
157
  */
133
- export declare function expandBelongsToManyJoin(joinDef: CubeJoin, securityContext: SecurityContext): ExpandedBelongsToManyJoin;
158
+ export declare function expandBelongsToManyJoin(joinDef: CubeJoin): ExpandedBelongsToManyJoin;
@@ -1,4 +1,4 @@
1
- import { DatabaseAdapter } from './adapters/base-adapter';
1
+ import { DatabaseAdapter } from './adapters/base-adapter.js';
2
2
  /**
3
3
  * Create a database adapter for the specified engine type
4
4
  * @param engineType - The database engine type
@@ -0,0 +1,12 @@
1
+ import { PhysicalQueryPlan, SemanticQuery, MeasureAnnotation, DimensionAnnotation, TimeDimensionAnnotation } from '../types/index.js';
2
+ /**
3
+ * Generate annotations for UI metadata - unified approach.
4
+ * Collects measure/dimension/timeDimension titles from every cube in the plan
5
+ * (primary + joins + multi-fact merge groups).
6
+ */
7
+ export declare function buildAnnotations(queryPlan: PhysicalQueryPlan, query: SemanticQuery): {
8
+ measures: Record<string, MeasureAnnotation>;
9
+ dimensions: Record<string, DimensionAnnotation>;
10
+ segments: Record<string, never>;
11
+ timeDimensions: Record<string, TimeDimensionAnnotation>;
12
+ };
@@ -0,0 +1,19 @@
1
+ import { Cube, SemanticQuery, QueryContext } from '../types/index.js';
2
+ import { FilterCacheManager } from '../filter-cache.js';
3
+ import { DrizzleSqlBuilder } from '../physical-plan/drizzle-sql-builder.js';
4
+ export declare class FilterCachePreloader {
5
+ private readonly queryBuilder;
6
+ constructor(queryBuilder: DrizzleSqlBuilder);
7
+ /**
8
+ * Pre-build filter SQL and store in cache for reuse across CTEs and main query
9
+ * This enables parameter deduplication - the same filter values are shared
10
+ * rather than appearing as separate parameters in different parts of the query
11
+ */
12
+ preload(query: SemanticQuery, filterCache: FilterCacheManager, cubes: Map<string, Cube>, context: QueryContext): void;
13
+ /** Resolve the dimension a filter/time-dimension member refers to, or null. */
14
+ private resolveMemberDimension;
15
+ /** Pre-build and cache the SQL for a single simple (non-logical) filter. */
16
+ private preloadRegularFilter;
17
+ /** Pre-build and cache the date-range SQL for a single time dimension. */
18
+ private preloadTimeDimensionFilter;
19
+ }
@@ -0,0 +1,25 @@
1
+ import { Cube, SemanticQuery } from '../types/index.js';
2
+ import { ComparisonQueryBuilder } from '../builders/comparison-query-builder.js';
3
+ import { FunnelQueryBuilder } from '../builders/funnel-query-builder.js';
4
+ import { FlowQueryBuilder } from '../builders/flow-query-builder.js';
5
+ import { RetentionQueryBuilder } from '../builders/retention-query-builder.js';
6
+ export type QueryExecutionMode = 'regular' | 'comparison' | 'funnel' | 'flow' | 'retention';
7
+ export interface ModeRouterBuilders {
8
+ comparison: ComparisonQueryBuilder;
9
+ funnel: FunnelQueryBuilder;
10
+ flow: FlowQueryBuilder;
11
+ retention: RetentionQueryBuilder;
12
+ }
13
+ export declare class ModeRouter {
14
+ private readonly builders;
15
+ constructor(builders: ModeRouterBuilders);
16
+ /**
17
+ * Resolve the single active execution mode for a query.
18
+ * Throws if more than one analysis mode is present.
19
+ */
20
+ resolveMode(query: SemanticQuery): QueryExecutionMode;
21
+ /**
22
+ * Validate a query for its resolved mode. Throws a translated error on failure.
23
+ */
24
+ validateForMode(mode: QueryExecutionMode, cubes: Map<string, Cube>, query: SemanticQuery): void;
25
+ }
@@ -0,0 +1,21 @@
1
+ import { SecurityContext, SemanticQuery, QueryResult, CacheConfig } from '../types/index.js';
2
+ export declare class QueryResultCache {
3
+ private readonly cacheConfig?;
4
+ constructor(cacheConfig?: CacheConfig | undefined);
5
+ /**
6
+ * Returns the cache key when caching is enabled and a provider is configured,
7
+ * otherwise undefined (which disables lookup and store).
8
+ */
9
+ generateKey(query: SemanticQuery, securityContext: SecurityContext): string | undefined;
10
+ /**
11
+ * Look up a cached result. Returns the cached value (with cache metadata
12
+ * attached) on a hit, or undefined on miss / bypass / no-cache. Emits
13
+ * hit/miss events; lookup errors are non-fatal.
14
+ */
15
+ lookup(cacheKey: string | undefined, skipCache: boolean): Promise<QueryResult | undefined>;
16
+ /**
17
+ * Store a fresh result under the given key. No-ops when caching is disabled
18
+ * or the key is undefined. Store errors are non-fatal.
19
+ */
20
+ store(cacheKey: string | undefined, result: QueryResult): Promise<void>;
21
+ }