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
@@ -1,26 +1,16 @@
1
1
  import { SQL, AnyColumn } from 'drizzle-orm';
2
- import { TimeGranularity } from '../types';
2
+ import { TimeGranularity } from '../types/index.js';
3
3
  /**
4
4
  * Database capabilities for feature detection
5
5
  * Used for graceful degradation when functions aren't supported
6
6
  */
7
7
  export interface DatabaseCapabilities {
8
- /** Whether the database supports STDDEV_POP/STDDEV_SAMP */
9
- supportsStddev: boolean;
10
- /** Whether the database supports VAR_POP/VAR_SAMP */
11
- supportsVariance: boolean;
12
8
  /** Whether the database supports PERCENTILE_CONT or similar */
13
9
  supportsPercentile: boolean;
14
- /** Whether the database supports window functions (LAG, LEAD, RANK, etc.) */
15
- supportsWindowFunctions: boolean;
16
- /** Whether the database supports frame clauses (ROWS BETWEEN, RANGE BETWEEN) */
17
- supportsFrameClause: boolean;
18
10
  /** Whether the database supports LATERAL joins (PostgreSQL 9.3+, MySQL 8.0.14+) */
19
11
  supportsLateralJoins: boolean;
20
12
  /** Whether percentile functions work in subqueries against CTEs (false for DuckDB) */
21
13
  supportsPercentileSubqueries: boolean;
22
- /** Whether derived tables (subqueries) work in FROM clauses inside CTEs (false for Databend) */
23
- supportsDerivedTablesInCTE: boolean;
24
14
  /** Whether correlated LATERAL subqueries can reference CTEs (false for Snowflake) */
25
15
  supportsLateralSubqueriesInCTE: boolean;
26
16
  }
@@ -50,12 +40,6 @@ export interface DatabaseAdapter {
50
40
  * Get the database engine type this adapter supports
51
41
  */
52
42
  getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
53
- /**
54
- * Check if the database supports LATERAL joins
55
- * Required for optimized flow queries with index-backed seeks
56
- * @returns true for PostgreSQL 9.3+, MySQL 8.0.14+, SingleStore; false for SQLite
57
- */
58
- supportsLateralJoins(): boolean;
59
43
  /**
60
44
  * Build SQL INTERVAL from ISO 8601 duration string
61
45
  * Used for time window constraints in funnel analysis
@@ -225,39 +209,100 @@ export interface DatabaseAdapter {
225
209
  */
226
210
  export declare abstract class BaseDatabaseAdapter implements DatabaseAdapter {
227
211
  abstract getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
228
- abstract supportsLateralJoins(): boolean;
229
212
  abstract buildIntervalFromISO(duration: string): SQL;
230
213
  abstract buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
231
214
  abstract buildDateAddInterval(timestamp: SQL, duration: string): SQL;
232
- abstract buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
233
215
  abstract buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
234
216
  abstract buildPeriodSeriesSubquery(maxPeriod: number): SQL;
235
217
  abstract buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
236
- abstract buildStringCondition(fieldExpr: AnyColumn | SQL, operator: 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'like' | 'notLike' | 'ilike' | 'regex' | 'notRegex', value: string): SQL;
237
218
  abstract castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
238
- abstract buildAvg(fieldExpr: AnyColumn | SQL): SQL;
239
- abstract buildCaseWhen(conditions: Array<{
240
- when: SQL;
241
- then: any;
242
- }>, elseValue?: any): SQL;
243
- abstract buildBooleanLiteral(value: boolean): SQL;
244
- abstract convertFilterValue(value: any): any;
245
- abstract prepareDateValue(date: Date): any;
246
- abstract isTimestampInteger(): boolean;
247
- abstract convertTimeDimensionResult(value: any): any;
248
219
  abstract getCapabilities(): DatabaseCapabilities;
249
- abstract buildStddev(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
250
- abstract buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
251
220
  abstract buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL | null;
252
- abstract buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
253
- field: AnyColumn | SQL;
254
- direction: 'asc' | 'desc';
255
- }>, config?: WindowFunctionConfig): SQL | null;
256
221
  /**
257
222
  * Default implementation returns template unchanged
258
223
  * Override in specific adapters for database-specific preprocessing
259
224
  */
260
225
  preprocessCalculatedTemplate(calculatedSql: string): string;
226
+ /**
227
+ * Wrap an aggregate so NULL (empty set) becomes 0.
228
+ * Default uses COALESCE; engines without COALESCE (MySQL/SQLite) override with IFNULL.
229
+ */
230
+ protected nullToZero(expr: SQL): SQL;
231
+ /**
232
+ * Case-insensitive LIKE matching for contains/startsWith/endsWith/ilike.
233
+ * Default uses native ILIKE (PostgreSQL/DuckDB/Snowflake); engines without ILIKE
234
+ * (MySQL/SQLite/Databend) override with LOWER()+LIKE.
235
+ * @param pattern - the LIKE pattern in its original case (already wrapped with % as needed)
236
+ */
237
+ protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
238
+ /**
239
+ * Regular-expression matching. Default uses PostgreSQL's ~* / !~* operators;
240
+ * each other engine overrides with its own regex syntax (REGEXP, GLOB, regexp_matches, REGEXP_LIKE).
241
+ */
242
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
243
+ /**
244
+ * Build a string matching condition. The case-insensitive and regex families are
245
+ * delegated to the caseInsensitiveLike()/regexCondition() hooks; plain LIKE/NOT LIKE
246
+ * are identical across all engines.
247
+ */
248
+ buildStringCondition(fieldExpr: AnyColumn | SQL, operator: 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'like' | 'notLike' | 'ilike' | 'regex' | 'notRegex', value: string): SQL;
249
+ /**
250
+ * Build conditional aggregation. Default uses portable CASE WHEN
251
+ * (MySQL/SQLite/Databend/Snowflake); PostgreSQL/DuckDB override with the FILTER clause.
252
+ */
253
+ buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
254
+ /**
255
+ * Build AVG with null-to-zero handling (COALESCE/IFNULL via nullToZero()).
256
+ */
257
+ buildAvg(fieldExpr: AnyColumn | SQL): SQL;
258
+ /**
259
+ * Build CASE WHEN conditional expression.
260
+ * SQLite overrides this to handle embedded SQL objects in THEN/ELSE.
261
+ */
262
+ buildCaseWhen(conditions: Array<{
263
+ when: SQL;
264
+ then: any;
265
+ }>, elseValue?: any): SQL;
266
+ /**
267
+ * Build boolean literal. Default uses TRUE/FALSE keywords; SQLite overrides with 1/0.
268
+ */
269
+ buildBooleanLiteral(value: boolean): SQL;
270
+ /**
271
+ * Convert filter values to database-compatible types.
272
+ * Default is a pass-through; SQLite overrides to handle booleans/dates as integers.
273
+ */
274
+ convertFilterValue(value: any): any;
275
+ /**
276
+ * Prepare a Date for storage. Default passes the Date through (native timestamps);
277
+ * SQLite overrides to convert to integer milliseconds.
278
+ */
279
+ prepareDateValue(date: Date): any;
280
+ /**
281
+ * Whether timestamps are stored as integers. Default false; SQLite overrides to true.
282
+ */
283
+ isTimestampInteger(): boolean;
284
+ /**
285
+ * Convert a time-dimension result value. Default is a pass-through.
286
+ */
287
+ convertTimeDimensionResult(value: any): any;
288
+ /**
289
+ * Build STDDEV aggregation. Default uses STDDEV_POP/STDDEV_SAMP with null-to-zero.
290
+ * Engines without native STDDEV (SQLite) override to return null.
291
+ */
292
+ buildStddev(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
293
+ /**
294
+ * Build VARIANCE aggregation. Default uses VAR_POP/VAR_SAMP with null-to-zero.
295
+ * SQLite overrides to null; Databend overrides to a COVAR-based workaround.
296
+ */
297
+ buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
298
+ /**
299
+ * Build a window function expression. Identical across all supported engines
300
+ * (standard SQL:2003 window syntax), so it lives here as a shared default.
301
+ */
302
+ buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
303
+ field: AnyColumn | SQL;
304
+ direction: 'asc' | 'desc';
305
+ }>, config?: WindowFunctionConfig): SQL | null;
261
306
  /**
262
307
  * Helper method to build pattern for string matching
263
308
  * Can be overridden by specific adapters if needed
@@ -0,0 +1,63 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { TimeGranularity } from '../types/index.js';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
4
+ export declare class DatabendAdapter extends BaseDatabaseAdapter {
5
+ getEngineType(): 'databend';
6
+ /**
7
+ * Build Databend INTERVAL from ISO 8601 duration
8
+ * Databend supports INTERVAL n UNIT syntax (e.g., INTERVAL 7 DAY)
9
+ */
10
+ buildIntervalFromISO(duration: string): SQL;
11
+ /**
12
+ * Build Databend time difference in seconds
13
+ * Uses TIMESTAMPDIFF(SECOND, start, end)
14
+ */
15
+ buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
16
+ /**
17
+ * Build Databend timestamp + interval expression
18
+ * Uses timestamp + INTERVAL n UNIT syntax (Databend doesn't support DATE_ADD function)
19
+ */
20
+ buildDateAddInterval(timestamp: SQL, duration: string): SQL;
21
+ /**
22
+ * Build Databend date difference in periods using DATE_DIFF
23
+ */
24
+ buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
25
+ /**
26
+ * Build Databend period series using generate_series via numbers table
27
+ * Databend has a numbers() table function that can be used similarly
28
+ */
29
+ buildPeriodSeriesSubquery(maxPeriod: number): SQL;
30
+ /**
31
+ * Build Databend time dimension using DATE_TRUNC function
32
+ * Databend supports DATE_TRUNC with unquoted granularity keywords
33
+ */
34
+ buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
35
+ /**
36
+ * Databend has no ILIKE — use LOWER()+LIKE with SQL-side LOWER() on the pattern.
37
+ */
38
+ protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
39
+ /**
40
+ * Databend regex matching uses the REGEXP operator
41
+ */
42
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
43
+ /**
44
+ * Build Databend type casting
45
+ * Databend supports both :: syntax and CAST() function
46
+ */
47
+ castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
48
+ /**
49
+ * Databend capabilities - start conservative
50
+ */
51
+ getCapabilities(): DatabaseCapabilities;
52
+ /**
53
+ * Build Databend VARIANCE aggregation
54
+ * Databend doesn't have VAR_POP/VAR_SAMP, but COVAR_POP(x,x) = VAR_POP(x)
55
+ * and COVAR_SAMP(x,x) = VAR_SAMP(x) mathematically
56
+ */
57
+ buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL;
58
+ /**
59
+ * Build Databend PERCENTILE aggregation
60
+ * Databend may support QUANTILE or PERCENTILE_CONT - start with unsupported
61
+ */
62
+ buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL;
63
+ }
@@ -1,6 +1,6 @@
1
1
  import { SQL, AnyColumn } from 'drizzle-orm';
2
- import { TimeGranularity } from '../types';
3
- import { BaseDatabaseAdapter, DatabaseCapabilities, WindowFunctionType, WindowFunctionConfig } from './base-adapter';
2
+ import { TimeGranularity } from '../types/index.js';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
4
4
  export declare class DuckDBAdapter extends BaseDatabaseAdapter {
5
5
  getEngineType(): 'duckdb';
6
6
  /**
@@ -8,7 +8,6 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
8
8
  * which is required for the LATERAL join strategy in flow queries.
9
9
  * Use window function strategy instead.
10
10
  */
11
- supportsLateralJoins(): boolean;
12
11
  /**
13
12
  * Build DuckDB INTERVAL from ISO 8601 duration
14
13
  * DuckDB supports PostgreSQL-style INTERVAL literal syntax: INTERVAL '7 days'
@@ -25,9 +24,8 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
25
24
  */
26
25
  buildDateAddInterval(timestamp: SQL, duration: string): SQL;
27
26
  /**
28
- * Build DuckDB conditional aggregation using CASE WHEN
29
- * DuckDB supports FILTER clause, but CASE WHEN provides broader compatibility
30
- * Using FILTER clause as DuckDB does support it
27
+ * Build DuckDB conditional aggregation using the FILTER clause
28
+ * DuckDB supports the standard SQL FILTER clause like PostgreSQL
31
29
  */
32
30
  buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
33
31
  /**
@@ -46,48 +44,14 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
46
44
  */
47
45
  buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
48
46
  /**
49
- * Build DuckDB string matching conditions using ILIKE (case-insensitive)
50
- * DuckDB supports ILIKE like PostgreSQL
47
+ * DuckDB uses function-style regex matching: regexp_matches(field, pattern)
51
48
  */
52
- buildStringCondition(fieldExpr: AnyColumn | SQL, operator: 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'like' | 'notLike' | 'ilike' | 'regex' | 'notRegex', value: string): SQL;
49
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
53
50
  /**
54
51
  * Build DuckDB type casting
55
52
  * DuckDB supports both :: syntax and CAST() function
56
53
  */
57
54
  castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
58
- /**
59
- * Build DuckDB AVG aggregation with COALESCE for NULL handling
60
- */
61
- buildAvg(fieldExpr: AnyColumn | SQL): SQL;
62
- /**
63
- * Build DuckDB CASE WHEN conditional expression
64
- */
65
- buildCaseWhen(conditions: Array<{
66
- when: SQL;
67
- then: any;
68
- }>, elseValue?: any): SQL;
69
- /**
70
- * Build DuckDB boolean literal
71
- * DuckDB uses TRUE/FALSE keywords
72
- */
73
- buildBooleanLiteral(value: boolean): SQL;
74
- /**
75
- * Convert filter values - DuckDB uses native types
76
- */
77
- convertFilterValue(value: any): any;
78
- /**
79
- * Prepare date value for DuckDB
80
- * DuckDB accepts Date objects directly
81
- */
82
- prepareDateValue(date: Date): any;
83
- /**
84
- * DuckDB stores timestamps as native timestamp types
85
- */
86
- isTimestampInteger(): boolean;
87
- /**
88
- * DuckDB time dimensions already return proper values
89
- */
90
- convertTimeDimensionResult(value: any): any;
91
55
  /**
92
56
  * DuckDB has full support for statistical and window functions
93
57
  * Note: supportsPercentileSubqueries is false because DuckDB's QUANTILE_CONT
@@ -96,27 +60,9 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
96
60
  * LIMIT in correlated subqueries, which is required for flow query LATERAL joins
97
61
  */
98
62
  getCapabilities(): DatabaseCapabilities;
99
- /**
100
- * Build DuckDB STDDEV aggregation
101
- * Uses STDDEV_POP for population, STDDEV_SAMP for sample
102
- */
103
- buildStddev(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL;
104
- /**
105
- * Build DuckDB VARIANCE aggregation
106
- * Uses VAR_POP for population, VAR_SAMP for sample
107
- */
108
- buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL;
109
63
  /**
110
64
  * Build DuckDB PERCENTILE aggregation
111
65
  * DuckDB uses QUANTILE_CONT instead of PERCENTILE_CONT
112
66
  */
113
67
  buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL;
114
- /**
115
- * Build DuckDB window function expression
116
- * DuckDB has full window function support
117
- */
118
- buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
119
- field: AnyColumn | SQL;
120
- direction: 'asc' | 'desc';
121
- }>, config?: WindowFunctionConfig): SQL;
122
68
  }
@@ -0,0 +1,65 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { TimeGranularity } from '../types/index.js';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
4
+ export declare class MySQLAdapter extends BaseDatabaseAdapter {
5
+ getEngineType(): 'mysql' | 'singlestore';
6
+ /**
7
+ * Build MySQL INTERVAL from ISO 8601 duration
8
+ * MySQL has no standalone interval literal usable in arithmetic, so we convert
9
+ * to total seconds for consistent handling.
10
+ */
11
+ buildIntervalFromISO(duration: string): SQL;
12
+ /**
13
+ * Build MySQL time difference in seconds using TIMESTAMPDIFF
14
+ * Returns (end - start) as seconds
15
+ */
16
+ buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
17
+ /**
18
+ * Build MySQL timestamp + interval expression
19
+ * Uses a chain of DATE_ADD calls, one per duration component
20
+ */
21
+ buildDateAddInterval(timestamp: SQL, duration: string): SQL;
22
+ /**
23
+ * Build MySQL date difference in periods using TIMESTAMPDIFF
24
+ * For retention analysis period calculations
25
+ */
26
+ buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
27
+ /**
28
+ * Build MySQL period series using recursive CTE
29
+ * MySQL 8.0+ supports recursive CTEs for generating sequences
30
+ */
31
+ buildPeriodSeriesSubquery(maxPeriod: number): SQL;
32
+ /**
33
+ * Build MySQL time dimension using DATE_FORMAT function
34
+ * MySQL equivalent to PostgreSQL's DATE_TRUNC
35
+ */
36
+ buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
37
+ /**
38
+ * MySQL has no ILIKE — use LOWER()+LIKE with the pattern lowercased in JS.
39
+ */
40
+ protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
41
+ /**
42
+ * MySQL regex matching uses the REGEXP operator
43
+ */
44
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
45
+ /**
46
+ * Build MySQL type casting using CAST() function
47
+ * MySQL equivalent to PostgreSQL's :: casting syntax
48
+ */
49
+ castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
50
+ /**
51
+ * MySQL AVG/STDDEV/VARIANCE use IFNULL (no COALESCE-for-zero idiom mismatch,
52
+ * but IFNULL is the MySQL-idiomatic null guard).
53
+ */
54
+ protected nullToZero(expr: SQL): SQL;
55
+ /**
56
+ * MySQL 8.0+ has support for statistical and window functions
57
+ * but not PERCENTILE_CONT
58
+ */
59
+ getCapabilities(): DatabaseCapabilities;
60
+ /**
61
+ * MySQL does not support PERCENTILE_CONT
62
+ * Returns null for graceful degradation
63
+ */
64
+ buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL | null;
65
+ }
@@ -0,0 +1,55 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { TimeGranularity } from '../types/index.js';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
4
+ export declare class PostgresAdapter extends BaseDatabaseAdapter {
5
+ getEngineType(): 'postgres';
6
+ /**
7
+ * Build PostgreSQL INTERVAL from ISO 8601 duration
8
+ * PostgreSQL supports INTERVAL literal syntax: INTERVAL '7 days'
9
+ */
10
+ buildIntervalFromISO(duration: string): SQL;
11
+ /**
12
+ * Build PostgreSQL time difference in seconds using EXTRACT(EPOCH FROM ...)
13
+ * Returns (end - start) as seconds
14
+ */
15
+ buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
16
+ /**
17
+ * Build PostgreSQL timestamp + interval expression
18
+ */
19
+ buildDateAddInterval(timestamp: SQL, duration: string): SQL;
20
+ /**
21
+ * Build PostgreSQL conditional aggregation using FILTER clause
22
+ * PostgreSQL supports the standard SQL FILTER clause for efficient conditional aggregation
23
+ * Example: AVG(time_diff) FILTER (WHERE step_1_time IS NOT NULL)
24
+ */
25
+ buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
26
+ /**
27
+ * Build PostgreSQL date difference in periods using AGE and EXTRACT
28
+ * For retention analysis period calculations
29
+ */
30
+ buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
31
+ /**
32
+ * Build PostgreSQL period series using generate_series
33
+ * PostgreSQL's generate_series returns a set directly usable as a table
34
+ */
35
+ buildPeriodSeriesSubquery(maxPeriod: number): SQL;
36
+ /**
37
+ * Build PostgreSQL time dimension using DATE_TRUNC function
38
+ * Extracted from executor.ts:649-670 and multi-cube-builder.ts:306-320
39
+ */
40
+ buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
41
+ /**
42
+ * Build PostgreSQL type casting using :: syntax
43
+ * Extracted from various locations where ::timestamp was used
44
+ */
45
+ castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
46
+ /**
47
+ * PostgreSQL has full support for statistical and window functions
48
+ */
49
+ getCapabilities(): DatabaseCapabilities;
50
+ /**
51
+ * Build PostgreSQL PERCENTILE_CONT aggregation
52
+ * Uses ordered-set aggregate function
53
+ */
54
+ buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL;
55
+ }
@@ -1,4 +1,4 @@
1
- import { MySQLAdapter } from './mysql-adapter';
1
+ import { MySQLAdapter } from './mysql-adapter.js';
2
2
  export declare class SingleStoreAdapter extends MySQLAdapter {
3
3
  getEngineType(): 'singlestore';
4
4
  }
@@ -0,0 +1,53 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { TimeGranularity } from '../types/index.js';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
4
+ export declare class SnowflakeAdapter extends BaseDatabaseAdapter {
5
+ getEngineType(): 'snowflake';
6
+ /**
7
+ * Build Snowflake INTERVAL from ISO 8601 duration
8
+ * Snowflake doesn't have a standalone INTERVAL type like PostgreSQL.
9
+ * We convert to total seconds for use in DATEADD; callers should prefer buildDateAddInterval.
10
+ */
11
+ buildIntervalFromISO(duration: string): SQL;
12
+ /**
13
+ * Build Snowflake time difference in seconds
14
+ * Uses DATEDIFF('SECOND', start, end)
15
+ */
16
+ buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
17
+ /**
18
+ * Build Snowflake timestamp + interval expression
19
+ * Uses chained DATEADD(unit, amount, timestamp) calls
20
+ */
21
+ buildDateAddInterval(timestamp: SQL, duration: string): SQL;
22
+ /**
23
+ * Build Snowflake date difference in periods using DATEDIFF
24
+ */
25
+ buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
26
+ /**
27
+ * Build Snowflake period series using TABLE(GENERATOR(ROWCOUNT => n)) + ROW_NUMBER()
28
+ */
29
+ buildPeriodSeriesSubquery(maxPeriod: number): SQL;
30
+ /**
31
+ * Build Snowflake time dimension using DATE_TRUNC function
32
+ * Snowflake supports DATE_TRUNC with quoted granularity like PostgreSQL
33
+ */
34
+ buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
35
+ /**
36
+ * Snowflake uses function-style regex matching: REGEXP_LIKE(field, pattern)
37
+ */
38
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
39
+ /**
40
+ * Build Snowflake type casting using :: syntax
41
+ * Snowflake supports both :: syntax and CAST() function
42
+ */
43
+ castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
44
+ /**
45
+ * Snowflake capabilities - full SQL support
46
+ */
47
+ getCapabilities(): DatabaseCapabilities;
48
+ /**
49
+ * Build Snowflake PERCENTILE_CONT aggregation
50
+ * Uses ordered-set aggregate function
51
+ */
52
+ buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL;
53
+ }
@@ -1,13 +1,8 @@
1
1
  import { SQL, AnyColumn } from 'drizzle-orm';
2
- import { TimeGranularity } from '../types';
3
- import { BaseDatabaseAdapter, DatabaseCapabilities, WindowFunctionType, WindowFunctionConfig } from './base-adapter';
2
+ import { TimeGranularity } from '../types/index.js';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
4
4
  export declare class SQLiteAdapter extends BaseDatabaseAdapter {
5
5
  getEngineType(): 'sqlite';
6
- /**
7
- * SQLite does not support LATERAL joins
8
- * Flow queries require LATERAL for efficient execution and are not supported on SQLite
9
- */
10
- supportsLateralJoins(): boolean;
11
6
  /**
12
7
  * Build SQLite INTERVAL from ISO 8601 duration
13
8
  * SQLite doesn't have native interval types, so we convert to seconds
@@ -25,12 +20,6 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
25
20
  * Since SQLite stores timestamps as Unix seconds, just add the seconds
26
21
  */
27
22
  buildDateAddInterval(timestamp: SQL, duration: string): SQL;
28
- /**
29
- * Build SQLite conditional aggregation using CASE WHEN
30
- * SQLite doesn't support FILTER clause, so we use CASE WHEN pattern
31
- * Example: AVG(CASE WHEN step_1_time IS NOT NULL THEN time_diff END)
32
- */
33
- buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
34
23
  /**
35
24
  * Build SQLite date difference in periods
36
25
  * SQLite uses Julian day calculations for date arithmetic
@@ -50,22 +39,26 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
50
39
  */
51
40
  buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
52
41
  /**
53
- * Build SQLite string matching conditions using LOWER() + LIKE for case-insensitive matching
54
- * SQLite LIKE is case-insensitive by default, but LOWER() ensures consistency
42
+ * SQLite has no ILIKE use LOWER()+LIKE with the pattern lowercased in JS.
43
+ */
44
+ protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
45
+ /**
46
+ * SQLite regex requires loading an extension, so GLOB is used as a fallback.
55
47
  */
56
- buildStringCondition(fieldExpr: AnyColumn | SQL, operator: 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'like' | 'notLike' | 'ilike' | 'regex' | 'notRegex', value: string): SQL;
48
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
57
49
  /**
58
50
  * Build SQLite type casting using CAST() function
59
51
  * SQLite has dynamic typing but supports CAST for consistency
60
52
  */
61
53
  castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
62
54
  /**
63
- * Build SQLite AVG aggregation with IFNULL for NULL handling
64
- * SQLite AVG returns NULL for empty sets, using IFNULL for consistency
55
+ * SQLite AVG uses IFNULL rather than COALESCE for null-to-zero handling.
65
56
  */
66
- buildAvg(fieldExpr: AnyColumn | SQL): SQL;
57
+ protected nullToZero(expr: SQL): SQL;
67
58
  /**
68
- * Build SQLite CASE WHEN conditional expression
59
+ * Build SQLite CASE WHEN conditional expression.
60
+ * Unlike the base implementation, SQLite must detect embedded SQL objects in THEN/ELSE
61
+ * and inline them rather than binding them as parameters.
69
62
  */
70
63
  buildCaseWhen(conditions: Array<{
71
64
  when: SQL;
@@ -104,11 +97,6 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
104
97
  * SQLite stores timestamps as integers (milliseconds)
105
98
  */
106
99
  isTimestampInteger(): boolean;
107
- /**
108
- * Convert SQLite time dimension results back to Date objects
109
- * SQLite time dimensions return datetime strings, but clients expect Date objects
110
- */
111
- convertTimeDimensionResult(value: any): any;
112
100
  /**
113
101
  * SQLite has limited statistical support (no native STDDEV/VARIANCE/PERCENTILE)
114
102
  * but supports window functions since SQLite 3.25
@@ -129,12 +117,4 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
129
117
  * Returns null for graceful degradation
130
118
  */
131
119
  buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL | null;
132
- /**
133
- * Build SQLite window function expression
134
- * SQLite 3.25+ supports window functions
135
- */
136
- buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
137
- field: AnyColumn | SQL;
138
- direction: 'asc' | 'desc';
139
- }>, config?: WindowFunctionConfig): SQL;
140
120
  }
@@ -0,0 +1,11 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { WindowFunctionType, WindowFunctionConfig } from './base-adapter.js';
3
+ type FieldExpr = AnyColumn | SQL | null;
4
+ /** Build the full `OVER (...)` clause from partition/order/frame components. */
5
+ export declare function buildWindowOverClause(partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
6
+ field: AnyColumn | SQL;
7
+ direction: 'asc' | 'desc';
8
+ }>, config?: WindowFunctionConfig): SQL;
9
+ /** Build the window function expression for a given type and pre-built OVER clause. */
10
+ export declare function buildWindowExpression(type: WindowFunctionType, fieldExpr: FieldExpr, over: SQL, config?: WindowFunctionConfig): SQL;
11
+ export {};
@@ -13,11 +13,6 @@ interface ValidationResult {
13
13
  * Validate chartConfig against the chart type's drop zone requirements.
14
14
  */
15
15
  export declare function validateChartConfig(chartType: string, chartConfig: Record<string, unknown> | undefined, _query: Record<string, unknown>): ValidationResult;
16
- /**
17
- * Auto-infer missing chartConfig fields from the query structure.
18
- * Fills in xAxis, yAxis, series, sizeField, etc. based on query measures/dimensions
19
- * and the chart type's drop zone acceptTypes.
20
- */
21
16
  export declare function inferChartConfig(chartType: string, chartConfig: Record<string, unknown> | undefined, query: Record<string, unknown>): Record<string, unknown>;
22
17
  /**
23
18
  * Build per-chart-type requirements text for the agent tool description.
@@ -0,0 +1,37 @@
1
+ import { AgentSSEEvent, AgentHistoryMessage, AgentConfig } from './types.js';
2
+ import { ContentBlock, InternalMessage, ToolResult, LLMProvider } from './providers/types.js';
3
+ import { ToolExecutionResult } from './tools.js';
4
+ type AgentObservability = AgentConfig['observability'];
5
+ type ToolExecutorMap = Map<string, (input: Record<string, unknown>) => Promise<ToolExecutionResult>>;
6
+ /** Push provider-formatted tool results onto the message list (array or single). */
7
+ export declare function pushFormattedResults(messages: InternalMessage[], formatted: unknown): void;
8
+ /** Run an observability callback, swallowing any error (must never break the agent). */
9
+ export declare function safeObserve(fn: (() => void) | undefined): void;
10
+ /** Rebuild conversation messages from stored history (e.g. after notebook reload). */
11
+ export declare function rebuildMessagesFromHistory(history: AgentHistoryMessage[] | undefined, provider: LLMProvider): InternalMessage[];
12
+ /** Accumulated result of consuming one assistant generation stream. */
13
+ export interface ConsumedStream {
14
+ contentBlocks: ContentBlock[];
15
+ stopReason: string;
16
+ inputTokens?: number;
17
+ outputTokens?: number;
18
+ }
19
+ /**
20
+ * Consume a provider's normalized stream, accumulating the assistant's content
21
+ * blocks and yielding text/tool SSE events. Returns the accumulated blocks,
22
+ * stop reason and token usage.
23
+ */
24
+ export declare function consumeAssistantStream(provider: LLMProvider, stream: AsyncIterable<unknown>): AsyncGenerator<AgentSSEEvent, ConsumedStream>;
25
+ /** Context shared across tool executions within a single turn. */
26
+ export interface ToolExecContext {
27
+ executor: ToolExecutorMap;
28
+ observability: AgentObservability;
29
+ traceId: string;
30
+ turn: number;
31
+ }
32
+ /**
33
+ * Execute all tool-use blocks in the assistant's response, yielding their SSE
34
+ * events and returning the collected ToolResults.
35
+ */
36
+ export declare function executeToolCalls(contentBlocks: ContentBlock[], ctx: ToolExecContext): AsyncGenerator<AgentSSEEvent, ToolResult[]>;
37
+ export {};