drizzle-cube 0.6.2 → 0.6.4

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 (328) hide show
  1. package/dist/adapters/ActivityGridChart.config-BtECymia.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-CTd5HYjI.js +2 -0
  3. package/dist/adapters/AreaChart.config-1B8iQnfn.js +2 -0
  4. package/dist/adapters/AreaChart.config-hnncyQL4.cjs +1 -0
  5. package/dist/adapters/BarChart.config-C-QCf1rL.cjs +1 -0
  6. package/dist/adapters/BarChart.config-CFelK1qP.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-CD9WEPyF.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-DEbLA0BX.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-B_M4hzzV.js +2 -0
  10. package/dist/adapters/BubbleChart.config-dRZZlAke.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-Dsil2Fop.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-fuhyFvob.js +2 -0
  13. package/dist/adapters/DataTable.config-q2gqBi6t.cjs +1 -0
  14. package/dist/adapters/DataTable.config-wIQnHX5R.js +2 -0
  15. package/dist/adapters/FunnelChart.config-Dz710ssx.js +2 -0
  16. package/dist/adapters/FunnelChart.config-YNP9CeS-.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-BG9FcMCn.cjs +1 -0
  18. package/dist/adapters/GaugeChart.config-CgwniXkd.js +2 -0
  19. package/dist/adapters/HeatMapChart.config-1zSMXXoN.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-YVEWx6s5.js +2 -0
  21. package/dist/adapters/KpiDelta.config-BWvYXuFp.cjs +1 -0
  22. package/dist/adapters/KpiDelta.config-C_dYM64q.js +2 -0
  23. package/dist/adapters/KpiNumber.config-CXg6toZG.js +2 -0
  24. package/dist/adapters/KpiNumber.config-CZmV-yU1.cjs +1 -0
  25. package/dist/adapters/KpiText.config-BY-SJvAF.js +2 -0
  26. package/dist/adapters/KpiText.config-GSIxy0CE.cjs +1 -0
  27. package/dist/adapters/LineChart.config-CJtF8SOu.js +2 -0
  28. package/dist/adapters/LineChart.config-d0y60gw9.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-B6w0spya.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-BuIQcWOn.js +2 -0
  31. package/dist/adapters/MeasureProfileChart.config-Bo2n5Ae5.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-C5d34lsc.js +2 -0
  33. package/dist/adapters/PieChart.config-CDxfXCIt.cjs +1 -0
  34. package/dist/adapters/PieChart.config-CuZxQc5m.js +2 -0
  35. package/dist/adapters/RadarChart.config-DpdVWyh5.cjs +1 -0
  36. package/dist/adapters/RadarChart.config-KrxwaaGu.js +2 -0
  37. package/dist/adapters/RadialBarChart.config-DpRZd0FW.js +2 -0
  38. package/dist/adapters/RadialBarChart.config-faIY4jpE.cjs +1 -0
  39. package/dist/adapters/RetentionCombinedChart.config-CUnScqnS.cjs +1 -0
  40. package/dist/adapters/RetentionCombinedChart.config-Dd8FuawP.js +2 -0
  41. package/dist/adapters/RetentionHeatmap.config-CPd6GeoQ.js +2 -0
  42. package/dist/adapters/RetentionHeatmap.config-CPlHbLom.cjs +1 -0
  43. package/dist/adapters/SankeyChart.config-DbIUqi-H.cjs +1 -0
  44. package/dist/adapters/SankeyChart.config-kzAnW0C7.js +2 -0
  45. package/dist/adapters/ScatterChart.config-4Okvn27v.js +2 -0
  46. package/dist/adapters/ScatterChart.config-4f9nNw3e.cjs +1 -0
  47. package/dist/adapters/SunburstChart.config-BsUQkIM_.js +2 -0
  48. package/dist/adapters/SunburstChart.config-lvnYkWs7.cjs +1 -0
  49. package/dist/adapters/TreeMapChart.config-S0qsgAFW.js +2 -0
  50. package/dist/adapters/TreeMapChart.config-jbwKsTYt.cjs +1 -0
  51. package/dist/adapters/WaterfallChart.config-CDQ74-pS.cjs +1 -0
  52. package/dist/adapters/WaterfallChart.config-XdtH-O5g.js +2 -0
  53. package/dist/adapters/chartConfigHelpers-CcvqrIWF.js +72 -0
  54. package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +1 -0
  55. package/dist/adapters/compiler-DyyBaLry.cjs +166 -0
  56. package/dist/adapters/{locale-DDvZDFVn.js → compiler-lG6eNsoI.js} +215 -230
  57. package/dist/adapters/core/cube-http-handler.d.ts +27 -0
  58. package/dist/adapters/core/http-port.d.ts +39 -0
  59. package/dist/adapters/core/index.cjs +1 -0
  60. package/dist/adapters/core/index.d.ts +11 -0
  61. package/dist/adapters/core/index.js +2 -0
  62. package/dist/adapters/core/mcp-handler.d.ts +13 -0
  63. package/dist/adapters/core/rest-handlers.d.ts +14 -0
  64. package/dist/adapters/core/security-context.d.ts +17 -0
  65. package/dist/adapters/core-Bbchr0ui.js +244 -0
  66. package/dist/adapters/core-F1pCQPde.cjs +1 -0
  67. package/dist/adapters/express/index.cjs +2 -2
  68. package/dist/adapters/express/index.js +93 -201
  69. package/dist/adapters/fastify/index.cjs +2 -2
  70. package/dist/adapters/fastify/index.js +79 -217
  71. package/dist/adapters/handler-DRZb2ip6.cjs +25 -0
  72. package/dist/adapters/{handler-CtaSua-i.js → handler-u8FyzPBT.js} +1572 -1500
  73. package/dist/adapters/hono/index.cjs +2 -2
  74. package/dist/adapters/hono/index.js +69 -225
  75. package/dist/adapters/mcp-tools.cjs +1 -1
  76. package/dist/adapters/mcp-tools.js +1 -1
  77. package/dist/adapters/mcp-transport-Bw_zqky2.js +591 -0
  78. package/dist/adapters/mcp-transport-CNIPoe1i.cjs +40 -0
  79. package/dist/adapters/nextjs/index.cjs +1 -1
  80. package/dist/adapters/nextjs/index.d.ts +18 -9
  81. package/dist/adapters/nextjs/index.js +186 -289
  82. package/dist/adapters/nextjs/mcp-handler.d.ts +0 -28
  83. package/dist/adapters/{openai-D-6l1Y8h.cjs → openai-B4kAJTSD.cjs} +1 -1
  84. package/dist/adapters/{openai-DTSTMiXL.cjs → openai-Cdf2wWZA.cjs} +1 -1
  85. package/dist/adapters/{openai-CmVRIbUg.js → openai-CmMzrs1Y.js} +1 -1
  86. package/dist/adapters/{openai-CtXqeznO.js → openai-DhzGY9R4.js} +1 -1
  87. package/dist/cjs/adapters/core/cube-http-handler.d.ts +27 -0
  88. package/dist/cjs/adapters/core/http-port.d.ts +39 -0
  89. package/dist/cjs/adapters/core/index.d.ts +11 -0
  90. package/dist/cjs/adapters/core/mcp-handler.d.ts +13 -0
  91. package/dist/cjs/adapters/core/rest-handlers.d.ts +14 -0
  92. package/dist/cjs/adapters/core/security-context.d.ts +17 -0
  93. package/dist/cjs/adapters/nextjs/index.d.ts +18 -9
  94. package/dist/cjs/adapters/nextjs/mcp-handler.d.ts +0 -28
  95. package/dist/cjs/client/charts/chartComponentRegistry.d.ts +1 -9
  96. package/dist/cjs/client/charts/chartConfigRegistry.d.ts +5 -1
  97. package/dist/cjs/client/charts/chartPlugin.d.ts +1 -2
  98. package/dist/cjs/client/charts/chartRegistry.d.ts +73 -0
  99. package/dist/cjs/client/components/AIAssistant/index.d.ts +2 -2
  100. package/dist/cjs/client/components/AnalysisBuilder/utils/filterUtils.d.ts +4 -10
  101. package/dist/cjs/client/components/charts/ActivityGridChart.config.d.ts +6 -1
  102. package/dist/cjs/client/components/charts/AreaChart.config.d.ts +6 -1
  103. package/dist/cjs/client/components/charts/BarChart.config.d.ts +6 -1
  104. package/dist/cjs/client/components/charts/BoxPlotChart.config.d.ts +6 -1
  105. package/dist/cjs/client/components/charts/BubbleChart.config.d.ts +6 -1
  106. package/dist/cjs/client/components/charts/CandlestickChart.config.d.ts +6 -1
  107. package/dist/cjs/client/components/charts/DataTable.config.d.ts +6 -1
  108. package/dist/cjs/client/components/charts/FunnelChart.config.d.ts +5 -0
  109. package/dist/cjs/client/components/charts/GaugeChart.config.d.ts +6 -1
  110. package/dist/cjs/client/components/charts/HeatMapChart.config.d.ts +6 -1
  111. package/dist/cjs/client/components/charts/KpiDelta.config.d.ts +6 -1
  112. package/dist/cjs/client/components/charts/KpiNumber.config.d.ts +6 -1
  113. package/dist/cjs/client/components/charts/KpiText.config.d.ts +6 -1
  114. package/dist/cjs/client/components/charts/LineChart.config.d.ts +6 -1
  115. package/dist/cjs/client/components/charts/MarkdownChart.config.d.ts +6 -1
  116. package/dist/cjs/client/components/charts/MeasureProfileChart.config.d.ts +6 -1
  117. package/dist/cjs/client/components/charts/PieChart.config.d.ts +6 -1
  118. package/dist/cjs/client/components/charts/RadarChart.config.d.ts +6 -1
  119. package/dist/cjs/client/components/charts/RadialBarChart.config.d.ts +6 -1
  120. package/dist/cjs/client/components/charts/SankeyChart.config.d.ts +5 -0
  121. package/dist/cjs/client/components/charts/ScatterChart.config.d.ts +6 -1
  122. package/dist/cjs/client/components/charts/SunburstChart.config.d.ts +5 -0
  123. package/dist/cjs/client/components/charts/TreeMapChart.config.d.ts +6 -1
  124. package/dist/cjs/client/components/charts/WaterfallChart.config.d.ts +6 -1
  125. package/dist/cjs/client/components/shared/utils.d.ts +2 -1
  126. package/dist/cjs/client/hooks/analysisQueryExecutionModes.d.ts +1 -1
  127. package/dist/cjs/client/hooks/useAnalysisEffects.d.ts +33 -0
  128. package/dist/{client/hooks/useAnalysisQueryExecution.d.ts → cjs/client/hooks/useAnalysisQuery.d.ts} +3 -3
  129. package/dist/cjs/client/hooks/useAnalysisState.d.ts +165 -0
  130. package/dist/cjs/client/icons/registry.d.ts +0 -6
  131. package/dist/cjs/client/icons/types.d.ts +5 -0
  132. package/dist/cjs/client/shared/filters/filterOperations.d.ts +95 -0
  133. package/dist/cjs/client/shared/filters/index.d.ts +10 -0
  134. package/dist/cjs/client/shared/filters/operators.d.ts +23 -0
  135. package/dist/cjs/client/shared/index.d.ts +3 -2
  136. package/dist/cjs/client/shared/types.d.ts +3 -10
  137. package/dist/cjs/client/shared/utils.d.ts +1 -59
  138. package/dist/cjs/client/utils/filterUtils.d.ts +2 -9
  139. package/dist/cjs/server/logical-plan/logical-plan-builder.d.ts +0 -5
  140. package/dist/cjs/server/logical-plan/schema-builder.d.ts +19 -0
  141. package/dist/client/charts/chartComponentRegistry.d.ts +1 -9
  142. package/dist/client/charts/chartConfigRegistry.d.ts +5 -1
  143. package/dist/client/charts/chartPlugin.d.ts +1 -2
  144. package/dist/client/charts/chartRegistry.d.ts +73 -0
  145. package/dist/client/charts.js +3 -3
  146. package/dist/client/chunks/{DashboardEditModal-okVfH8ZK.js → DashboardEditModal-Cs1ig1_V.js} +1522 -1121
  147. package/dist/client/chunks/DashboardEditModal-Cs1ig1_V.js.map +1 -0
  148. package/dist/client/chunks/{analysis-builder-DB88FojM.js → analysis-builder-B64yaeDe.js} +1609 -1878
  149. package/dist/client/chunks/analysis-builder-B64yaeDe.js.map +1 -0
  150. package/dist/client/chunks/{analysis-builder-shared-BVK4TYfR.js → analysis-builder-shared-CD0n2Nb8.js} +1545 -1355
  151. package/dist/client/chunks/analysis-builder-shared-CD0n2Nb8.js.map +1 -0
  152. package/dist/client/chunks/{chart-config-activity-grid-D_UX4NHC.js → chart-config-activity-grid-BU_bkvER.js} +1 -11
  153. package/dist/client/chunks/chart-config-activity-grid-BU_bkvER.js.map +1 -0
  154. package/dist/client/chunks/{chart-config-area-BNigHUy8.js → chart-config-area-DxwIZ4Uf.js} +1 -5
  155. package/dist/client/chunks/{chart-config-area-BNigHUy8.js.map → chart-config-area-DxwIZ4Uf.js.map} +1 -1
  156. package/dist/client/chunks/{chart-config-bar-DSO_LRTx.js → chart-config-bar-Cc8GY9aQ.js} +5 -9
  157. package/dist/client/chunks/chart-config-bar-Cc8GY9aQ.js.map +1 -0
  158. package/dist/client/chunks/{chart-config-box-plot-oW8axV2q.js → chart-config-box-plot-Bs8ovYvV.js} +3 -8
  159. package/dist/client/chunks/chart-config-box-plot-Bs8ovYvV.js.map +1 -0
  160. package/dist/client/chunks/{chart-config-bubble-gIoqVyjZ.js → chart-config-bubble-BfgY7pt8.js} +1 -11
  161. package/dist/client/chunks/chart-config-bubble-BfgY7pt8.js.map +1 -0
  162. package/dist/client/chunks/{chart-config-candlestick-N6DchAA3.js → chart-config-candlestick-jaeNNEtC.js} +1 -11
  163. package/dist/client/chunks/chart-config-candlestick-jaeNNEtC.js.map +1 -0
  164. package/dist/client/chunks/{chart-config-data-table-d7VBY-y_.js → chart-config-data-table-CRk0C0rW.js} +1 -4
  165. package/dist/client/chunks/chart-config-data-table-CRk0C0rW.js.map +1 -0
  166. package/dist/client/chunks/{chart-config-funnel-DEYMcxsD.js → chart-config-funnel-boT_LNfl.js} +1 -4
  167. package/dist/client/chunks/chart-config-funnel-boT_LNfl.js.map +1 -0
  168. package/dist/client/chunks/{chart-config-gauge-Dq-_H9UN.js → chart-config-gauge-C5uJEr97.js} +3 -8
  169. package/dist/client/chunks/chart-config-gauge-C5uJEr97.js.map +1 -0
  170. package/dist/client/chunks/{chart-config-heat-map-CfRnRNcw.js → chart-config-heat-map-CCarP44-.js} +1 -11
  171. package/dist/client/chunks/chart-config-heat-map-CCarP44-.js.map +1 -0
  172. package/dist/client/chunks/{chart-config-kpi-delta-DSQbvqu_.js → chart-config-kpi-delta-DYopvwyG.js} +3 -8
  173. package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +1 -0
  174. package/dist/client/chunks/{chart-config-kpi-number-EFSWY1We.js → chart-config-kpi-number-BhMdoArB.js} +3 -8
  175. package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +1 -0
  176. package/dist/client/chunks/{chart-config-kpi-text-KM3V5X2u.js → chart-config-kpi-text-DE6Zdi53.js} +3 -8
  177. package/dist/client/chunks/chart-config-kpi-text-DE6Zdi53.js.map +1 -0
  178. package/dist/client/chunks/{chart-config-line-D6jG8PCH.js → chart-config-line-CBfM0Rds.js} +6 -10
  179. package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +1 -0
  180. package/dist/client/chunks/{chart-config-markdown-BtRIe8JN.js → chart-config-markdown-BCDyBI8K.js} +1 -4
  181. package/dist/client/chunks/chart-config-markdown-BCDyBI8K.js.map +1 -0
  182. package/dist/client/chunks/{chart-config-measure-profile-DxRGa-zf.js → chart-config-measure-profile-BgQIH1u2.js} +1 -8
  183. package/dist/client/chunks/chart-config-measure-profile-BgQIH1u2.js.map +1 -0
  184. package/dist/client/chunks/{chart-config-pie-BhzW-fdn.js → chart-config-pie-ChfFz6DV.js} +5 -9
  185. package/dist/client/chunks/chart-config-pie-ChfFz6DV.js.map +1 -0
  186. package/dist/client/chunks/{chart-config-radar-D7REP1q_.js → chart-config-radar-BlAIGnww.js} +5 -9
  187. package/dist/client/chunks/chart-config-radar-BlAIGnww.js.map +1 -0
  188. package/dist/client/chunks/{chart-config-radial-bar-Byx6qOPU.js → chart-config-radial-bar-VFerwbCO.js} +5 -9
  189. package/dist/client/chunks/chart-config-radial-bar-VFerwbCO.js.map +1 -0
  190. package/dist/client/chunks/{chart-config-sankey-BTnWA7EW.js → chart-config-sankey-BhrDxIgj.js} +1 -4
  191. package/dist/client/chunks/chart-config-sankey-BhrDxIgj.js.map +1 -0
  192. package/dist/client/chunks/{chart-config-scatter-DSYTjwRb.js → chart-config-scatter-q_olh54e.js} +1 -11
  193. package/dist/client/chunks/chart-config-scatter-q_olh54e.js.map +1 -0
  194. package/dist/client/chunks/{chart-config-sunburst-Bwjtdf7X.js → chart-config-sunburst-BOmkOnKn.js} +1 -4
  195. package/dist/client/chunks/chart-config-sunburst-BOmkOnKn.js.map +1 -0
  196. package/dist/client/chunks/{chart-config-tree-map-DVrvf3yQ.js → chart-config-tree-map-BjX88YBY.js} +5 -9
  197. package/dist/client/chunks/chart-config-tree-map-BjX88YBY.js.map +1 -0
  198. package/dist/client/chunks/{chart-config-waterfall-DmFeQdIk.js → chart-config-waterfall-QsWXVSoF.js} +3 -8
  199. package/dist/client/chunks/chart-config-waterfall-QsWXVSoF.js.map +1 -0
  200. package/dist/client/chunks/{chart-data-table-CKauQXme.js → chart-data-table-D4g5_jfF.js} +1277 -1094
  201. package/dist/client/chunks/chart-data-table-D4g5_jfF.js.map +1 -0
  202. package/dist/client/chunks/{chart-kpi-delta-Dn-jjO-2.js → chart-kpi-delta-BvWOt8-D.js} +2 -2
  203. package/dist/client/chunks/{chart-kpi-delta-Dn-jjO-2.js.map → chart-kpi-delta-BvWOt8-D.js.map} +1 -1
  204. package/dist/client/chunks/{chart-kpi-number-P_WBiO5S.js → chart-kpi-number-xgZmMiQY.js} +3 -3
  205. package/dist/client/chunks/{chart-kpi-number-P_WBiO5S.js.map → chart-kpi-number-xgZmMiQY.js.map} +1 -1
  206. package/dist/client/chunks/{chart-kpi-text-C-Y4eb5H.js → chart-kpi-text-ZO3eFi7t.js} +2 -2
  207. package/dist/client/chunks/{chart-kpi-text-C-Y4eb5H.js.map → chart-kpi-text-ZO3eFi7t.js.map} +1 -1
  208. package/dist/client/chunks/{charts-loader-DdTeCeNo.js → charts-loader-B0DOQMFH.js} +6 -6
  209. package/dist/client/chunks/{charts-loader-DdTeCeNo.js.map → charts-loader-B0DOQMFH.js.map} +1 -1
  210. package/dist/client/chunks/{schema-visualization-Cb_E9_Gd.js → schema-visualization-DJPTktM6.js} +2 -2
  211. package/dist/client/chunks/{schema-visualization-Cb_E9_Gd.js.map → schema-visualization-DJPTktM6.js.map} +1 -1
  212. package/dist/client/chunks/{useDirtyStateTracking-MbpxH_v6.js → useDirtyStateTracking-BT6zqCFl.js} +250 -591
  213. package/dist/client/chunks/useDirtyStateTracking-BT6zqCFl.js.map +1 -0
  214. package/dist/client/chunks/{useExplainAI-evnZkjCY.js → useExplainAI-Dq_meKNN.js} +4 -4
  215. package/dist/client/chunks/{useExplainAI-evnZkjCY.js.map → useExplainAI-Dq_meKNN.js.map} +1 -1
  216. package/dist/client/chunks/{utils-3P6z1vz5.js → utils-Cq-j5E5I.js} +2 -2
  217. package/dist/client/chunks/{utils-3P6z1vz5.js.map → utils-Cq-j5E5I.js.map} +1 -1
  218. package/dist/client/chunks/{vendor-DSpR0IW6.js → vendor-D4jADu8t.js} +2 -2
  219. package/dist/client/chunks/{vendor-DSpR0IW6.js.map → vendor-D4jADu8t.js.map} +1 -1
  220. package/dist/client/components/AIAssistant/index.d.ts +2 -2
  221. package/dist/client/components/AnalysisBuilder/utils/filterUtils.d.ts +4 -10
  222. package/dist/client/components/charts/ActivityGridChart.config.d.ts +6 -1
  223. package/dist/client/components/charts/AreaChart.config.d.ts +6 -1
  224. package/dist/client/components/charts/BarChart.config.d.ts +6 -1
  225. package/dist/client/components/charts/BoxPlotChart.config.d.ts +6 -1
  226. package/dist/client/components/charts/BubbleChart.config.d.ts +6 -1
  227. package/dist/client/components/charts/CandlestickChart.config.d.ts +6 -1
  228. package/dist/client/components/charts/DataTable.config.d.ts +6 -1
  229. package/dist/client/components/charts/FunnelChart.config.d.ts +5 -0
  230. package/dist/client/components/charts/GaugeChart.config.d.ts +6 -1
  231. package/dist/client/components/charts/HeatMapChart.config.d.ts +6 -1
  232. package/dist/client/components/charts/KpiDelta.config.d.ts +6 -1
  233. package/dist/client/components/charts/KpiNumber.config.d.ts +6 -1
  234. package/dist/client/components/charts/KpiText.config.d.ts +6 -1
  235. package/dist/client/components/charts/LineChart.config.d.ts +6 -1
  236. package/dist/client/components/charts/MarkdownChart.config.d.ts +6 -1
  237. package/dist/client/components/charts/MeasureProfileChart.config.d.ts +6 -1
  238. package/dist/client/components/charts/PieChart.config.d.ts +6 -1
  239. package/dist/client/components/charts/RadarChart.config.d.ts +6 -1
  240. package/dist/client/components/charts/RadialBarChart.config.d.ts +6 -1
  241. package/dist/client/components/charts/SankeyChart.config.d.ts +5 -0
  242. package/dist/client/components/charts/ScatterChart.config.d.ts +6 -1
  243. package/dist/client/components/charts/SunburstChart.config.d.ts +5 -0
  244. package/dist/client/components/charts/TreeMapChart.config.d.ts +6 -1
  245. package/dist/client/components/charts/WaterfallChart.config.d.ts +6 -1
  246. package/dist/client/components/shared/utils.d.ts +2 -1
  247. package/dist/client/components.js +3 -3
  248. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +1 -1
  249. package/dist/client/hooks/useAnalysisEffects.d.ts +33 -0
  250. package/dist/{cjs/client/hooks/useAnalysisQueryExecution.d.ts → client/hooks/useAnalysisQuery.d.ts} +3 -3
  251. package/dist/client/hooks/useAnalysisState.d.ts +165 -0
  252. package/dist/client/hooks.js +3 -3
  253. package/dist/client/icons/registry.d.ts +0 -6
  254. package/dist/client/icons/types.d.ts +5 -0
  255. package/dist/client/icons.js +1 -1
  256. package/dist/client/index.js +17 -17
  257. package/dist/client/index.js.map +1 -1
  258. package/dist/client/providers.js +1 -1
  259. package/dist/client/schema.js +1 -1
  260. package/dist/client/shared/filters/filterOperations.d.ts +95 -0
  261. package/dist/client/shared/filters/index.d.ts +10 -0
  262. package/dist/client/shared/filters/operators.d.ts +23 -0
  263. package/dist/client/shared/index.d.ts +3 -2
  264. package/dist/client/shared/types.d.ts +3 -10
  265. package/dist/client/shared/utils.d.ts +1 -59
  266. package/dist/client/utils/filterUtils.d.ts +2 -9
  267. package/dist/client/utils.js +3 -3
  268. package/dist/client-bundle-stats.html +1 -1
  269. package/dist/mcp-app/mcp-app.html +34 -34
  270. package/dist/server/chartConfigHelpers-CcvqrIWF.js +72 -0
  271. package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +1 -0
  272. package/dist/server/index.cjs +68 -68
  273. package/dist/server/index.js +3899 -3823
  274. package/dist/server/logical-plan/logical-plan-builder.d.ts +0 -5
  275. package/dist/server/logical-plan/schema-builder.d.ts +19 -0
  276. package/dist/server/{openai-D-6l1Y8h.cjs → openai-B4kAJTSD.cjs} +1 -1
  277. package/dist/server/{openai-DTSTMiXL.cjs → openai-Cdf2wWZA.cjs} +1 -1
  278. package/dist/server/{openai-CmVRIbUg.js → openai-CmMzrs1Y.js} +1 -1
  279. package/dist/server/{openai-CtXqeznO.js → openai-DhzGY9R4.js} +1 -1
  280. package/package.json +13 -3
  281. package/dist/adapters/handler-OwxSBJH8.cjs +0 -25
  282. package/dist/adapters/hono/mcp-handler.d.ts +0 -37
  283. package/dist/adapters/locale-ZLUUNUxr.cjs +0 -166
  284. package/dist/adapters/mcp-transport-B7ddET3M.cjs +0 -40
  285. package/dist/adapters/mcp-transport-Dfuj4j4q.js +0 -591
  286. package/dist/cjs/adapters/hono/mcp-handler.d.ts +0 -37
  287. package/dist/cjs/client/hooks/useAnalysisAI.d.ts +0 -56
  288. package/dist/cjs/client/hooks/useAnalysisChartDefaults.d.ts +0 -35
  289. package/dist/cjs/client/hooks/useAnalysisCombinedFields.d.ts +0 -18
  290. package/dist/cjs/client/hooks/useAnalysisInitialization.d.ts +0 -25
  291. package/dist/cjs/client/hooks/useAnalysisQueryBuilder.d.ts +0 -32
  292. package/dist/cjs/client/hooks/useAnalysisShare.d.ts +0 -18
  293. package/dist/cjs/client/hooks/useAnalysisUIState.d.ts +0 -24
  294. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +0 -1
  295. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +0 -1
  296. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +0 -1
  297. package/dist/client/chunks/chart-config-activity-grid-D_UX4NHC.js.map +0 -1
  298. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +0 -1
  299. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +0 -1
  300. package/dist/client/chunks/chart-config-bubble-gIoqVyjZ.js.map +0 -1
  301. package/dist/client/chunks/chart-config-candlestick-N6DchAA3.js.map +0 -1
  302. package/dist/client/chunks/chart-config-data-table-d7VBY-y_.js.map +0 -1
  303. package/dist/client/chunks/chart-config-funnel-DEYMcxsD.js.map +0 -1
  304. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +0 -1
  305. package/dist/client/chunks/chart-config-heat-map-CfRnRNcw.js.map +0 -1
  306. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +0 -1
  307. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +0 -1
  308. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +0 -1
  309. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +0 -1
  310. package/dist/client/chunks/chart-config-markdown-BtRIe8JN.js.map +0 -1
  311. package/dist/client/chunks/chart-config-measure-profile-DxRGa-zf.js.map +0 -1
  312. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +0 -1
  313. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +0 -1
  314. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +0 -1
  315. package/dist/client/chunks/chart-config-sankey-BTnWA7EW.js.map +0 -1
  316. package/dist/client/chunks/chart-config-scatter-DSYTjwRb.js.map +0 -1
  317. package/dist/client/chunks/chart-config-sunburst-Bwjtdf7X.js.map +0 -1
  318. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +0 -1
  319. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +0 -1
  320. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +0 -1
  321. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +0 -1
  322. package/dist/client/hooks/useAnalysisAI.d.ts +0 -56
  323. package/dist/client/hooks/useAnalysisChartDefaults.d.ts +0 -35
  324. package/dist/client/hooks/useAnalysisCombinedFields.d.ts +0 -18
  325. package/dist/client/hooks/useAnalysisInitialization.d.ts +0 -25
  326. package/dist/client/hooks/useAnalysisQueryBuilder.d.ts +0 -32
  327. package/dist/client/hooks/useAnalysisShare.d.ts +0 -18
  328. package/dist/client/hooks/useAnalysisUIState.d.ts +0 -24
@@ -5,5 +5,10 @@ import { ChartTypeConfig } from '../../charts/chartConfigs.js';
5
5
  * Funnel charts visualize sequential conversion data.
6
6
  * They work with data from useFunnelQuery which provides
7
7
  * pre-calculated step names, values, and conversion rates.
8
+ *
9
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
10
+ * unified `chartRegistry` entry (the single source of truth) — see
11
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
12
+ * drop zones, display options, clickable elements, validation.
8
13
  */
9
14
  export declare const funnelChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the gauge chart type
3
+ * Configuration for the gauge chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const gaugeChartConfig: ChartTypeConfig;
@@ -1,8 +1,13 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the heatmap chart type
3
+ * Configuration for the heatmap chart type.
4
4
  *
5
5
  * Heatmap charts visualize intensity across two dimensions as a color matrix.
6
6
  * Best for showing patterns in matrix data like correlations, schedules, or category comparisons.
7
+ *
8
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
9
+ * unified `chartRegistry` entry (the single source of truth) — see
10
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
11
+ * drop zones, display options, clickable elements, validation.
7
12
  */
8
13
  export declare const heatmapChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the KPI Delta chart type
3
+ * Configuration for the KPI Delta chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const kpiDeltaConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the KPI Number chart type
3
+ * Configuration for the KPI Number chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const kpiNumberConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the KPI Text chart type
3
+ * Configuration for the KPI Text chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const kpiTextConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the line chart type
3
+ * Configuration for the line chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const lineChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the Markdown chart type
3
+ * Configuration for the Markdown chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const markdownConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the measure profile chart type
3
+ * Configuration for the measure profile chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const measureProfileChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the pie chart type
3
+ * Configuration for the pie chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const pieChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the radar chart type
3
+ * Configuration for the radar chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const radarChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the radial bar chart type
3
+ * Configuration for the radial bar chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const radialBarChartConfig: ChartTypeConfig;
@@ -5,5 +5,10 @@ import { ChartTypeConfig } from '../../charts/chartConfigs.js';
5
5
  * Sankey charts visualize flow data between nodes.
6
6
  * They work with data from flow queries which provide
7
7
  * nodes and links representing user journeys.
8
+ *
9
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
10
+ * unified `chartRegistry` entry (the single source of truth) — see
11
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
12
+ * drop zones, display options, clickable elements, validation.
8
13
  */
9
14
  export declare const sankeyChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the scatter chart type
3
+ * Configuration for the scatter chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const scatterChartConfig: ChartTypeConfig;
@@ -5,5 +5,10 @@ import { ChartTypeConfig } from '../../charts/chartConfigs.js';
5
5
  * Sunburst charts visualize hierarchical flow data as concentric rings.
6
6
  * They work with the same flow data as Sankey but show only "after" steps
7
7
  * radiating outward from the central starting step.
8
+ *
9
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
10
+ * unified `chartRegistry` entry (the single source of truth) — see
11
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
12
+ * drop zones, display options, clickable elements, validation.
8
13
  */
9
14
  export declare const sunburstChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the treemap chart type
3
+ * Configuration for the treemap chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const treemapChartConfig: ChartTypeConfig;
@@ -1,5 +1,10 @@
1
1
  import { ChartTypeConfig } from '../../charts/chartConfigs.js';
2
2
  /**
3
- * Configuration for the waterfall chart type
3
+ * Configuration for the waterfall chart type.
4
+ *
5
+ * Eager metadata (`label`, `description`, `useCase`, `isAvailable`) lives in the
6
+ * unified `chartRegistry` entry (the single source of truth) — see
7
+ * `src/client/charts/chartRegistry.ts`. This file owns the lazy-loaded shape:
8
+ * drop zones, display options, clickable elements, validation.
4
9
  */
5
10
  export declare const waterfallChartConfig: ChartTypeConfig;
@@ -4,7 +4,8 @@ export { getSortDirection, getSortTooltip, getNextSortDirection, } from './query
4
4
  export type { DatePreset } from './dateRangeUtils.js';
5
5
  export { DATE_PRESETS, XTD_OPTIONS, calculateDateRange, formatDateRangeDisplay, detectPresetFromDateRange, } from './dateRangeUtils.js';
6
6
  export { formatFilterValueDisplay } from './filterDisplayUtils.js';
7
- export { isSimpleFilter, isGroupFilter, isAndFilter, isOrFilter, flattenFilters, countFilters, createSimpleFilter, createAndFilter, createOrFilter, cleanupFilters, transformFiltersForServer, transformFiltersFromServer, hasQueryContent, cleanQuery, cleanQueryForServer, transformQueryForUI, getCubeNameFromField, getFieldType, getFieldTitle, getAvailableOperators, getAllFilterableFields, convertDateRangeTypeToValue, requiresNumberInput, formatDateForCube, } from '../../shared/utils.js';
7
+ export { isSimpleFilter, isGroupFilter, isAndFilter, isOrFilter, flattenFilters, countFilters, createSimpleFilter, createAndFilter, createOrFilter, cleanupFilters, transformFiltersForServer, transformFiltersFromServer, getAvailableOperators, } from '../../shared/filters/index.js';
8
+ export { hasQueryContent, cleanQuery, cleanQueryForServer, transformQueryForUI, getCubeNameFromField, getFieldType, getFieldTitle, getAllFilterableFields, convertDateRangeTypeToValue, requiresNumberInput, formatDateForCube, } from '../../shared/utils.js';
8
9
  /**
9
10
  * Check if a field is selected in the current query
10
11
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Pure mode-selection helpers for useAnalysisQueryExecution.
2
+ * Pure mode-selection helpers for useAnalysisQuery.
3
3
  *
4
4
  * The hook coordinates five execution modes (retention, flow, funnel, multi,
5
5
  * single). Almost every derived value is "pick the field from whichever mode is
@@ -0,0 +1,33 @@
1
+ import { CubeQuery, ChartType, ChartAxisConfig, ChartDisplayConfig } from '../types.js';
2
+ import { AIState } from '../components/AnalysisBuilder/types.js';
3
+ import { UseAnalysisStateResult } from './useAnalysisState.js';
4
+ import { UseAnalysisQueryResult } from './useAnalysisQuery.js';
5
+ export interface UseAnalysisEffectsOptions {
6
+ /** State responsibility hook result (store reads/derivation + actions) */
7
+ state: UseAnalysisStateResult;
8
+ /** Query responsibility hook result (execution + hasDebounced) */
9
+ query: UseAnalysisQueryResult;
10
+ /** AI endpoint URL */
11
+ aiEndpoint?: string;
12
+ /** Callback when query changes */
13
+ onQueryChange?: (query: CubeQuery) => void;
14
+ /** Callback when chart config changes */
15
+ onChartConfigChange?: (config: {
16
+ chartType: ChartType;
17
+ chartConfig: ChartAxisConfig;
18
+ displayConfig: ChartDisplayConfig;
19
+ }) => void;
20
+ }
21
+ export declare function useAnalysisEffects(options: UseAnalysisEffectsOptions): {
22
+ aiState: AIState;
23
+ openAI: () => void;
24
+ closeAI: () => void;
25
+ setAIPrompt: (prompt: string) => void;
26
+ generateAI: () => Promise<void>;
27
+ acceptAI: () => void;
28
+ cancelAI: () => void;
29
+ shareButtonState: "idle" | "copied" | "copied-no-chart";
30
+ share: () => Promise<void>;
31
+ canShare: boolean;
32
+ };
33
+ export type UseAnalysisEffectsResult = ReturnType<typeof useAnalysisEffects>;
@@ -4,7 +4,7 @@ import { ExecutionStatus } from '../components/AnalysisBuilder/types.js';
4
4
  import { ServerFunnelQuery } from '../types/funnel.js';
5
5
  import { ServerFlowQuery, FlowChartData } from '../types/flow.js';
6
6
  import { ServerRetentionQuery, RetentionChartData } from '../types/retention.js';
7
- export interface UseAnalysisQueryExecutionOptions {
7
+ export interface UseAnalysisQueryOptions {
8
8
  /** Current query (for single-query mode) */
9
9
  currentQuery: CubeQuery;
10
10
  /** All queries (for dry-run and multi-query) */
@@ -57,7 +57,7 @@ export interface UseAnalysisQueryExecutionOptions {
57
57
  warnings: string[];
58
58
  } | null;
59
59
  }
60
- export interface UseAnalysisQueryExecutionResult {
60
+ export interface UseAnalysisQueryResult {
61
61
  /** Query execution status */
62
62
  executionStatus: ExecutionStatus;
63
63
  /** Query results (merged for multi-query) */
@@ -141,4 +141,4 @@ export interface UseAnalysisQueryExecutionResult {
141
141
  */
142
142
  warnings: import('../shared/types.js').QueryWarning[] | undefined;
143
143
  }
144
- export declare function useAnalysisQueryExecution(options: UseAnalysisQueryExecutionOptions): UseAnalysisQueryExecutionResult;
144
+ export declare function useAnalysisQuery(options: UseAnalysisQueryOptions): UseAnalysisQueryResult;
@@ -0,0 +1,165 @@
1
+ import { MultiQueryValidationResult } from '../utils/multiQueryValidation.js';
2
+ import { ColorPalette } from '../utils/colorPalettes.js';
3
+ import { MultiQueryConfig, ChartType, ChartAxisConfig, ChartDisplayConfig } from '../types.js';
4
+ import { MetricItem, BreakdownItem } from '../components/AnalysisBuilder/types.js';
5
+ import { ChartAvailabilityMap } from '../shared/chartDefaults.js';
6
+ import { MetaField } from '../shared/types.js';
7
+ export interface UseAnalysisStateOptions {
8
+ /** External color palette (overrides local) */
9
+ externalColorPalette?: string[] | ColorPalette;
10
+ }
11
+ export declare function useAnalysisState(options?: UseAnalysisStateOptions): {
12
+ storeApi: import('zustand').StoreApi<import('../index.js').AnalysisBuilderStore>;
13
+ queryState: import('../components/AnalysisBuilder/types.js').AnalysisBuilderState;
14
+ queryStates: import('../components/AnalysisBuilder/types.js').AnalysisBuilderState[];
15
+ activeQueryIndex: number;
16
+ mergeStrategy: import('../types.js').QueryMergeStrategy;
17
+ isMultiQueryMode: boolean;
18
+ mergeKeys: string[] | undefined;
19
+ currentQuery: import('../types.js').CubeQuery;
20
+ allQueries: import('../types.js').CubeQuery[];
21
+ multiQueryConfig: MultiQueryConfig | null;
22
+ multiQueryValidation: MultiQueryValidationResult | null;
23
+ /** Raw query/multi validity (independent of mode) */
24
+ isValidQuery: boolean | undefined;
25
+ /** Mode-aware validity (funnel/flow/retention/query) */
26
+ effectiveIsValidQuery: boolean;
27
+ combinedMetrics: MetricItem[];
28
+ combinedBreakdowns: BreakdownItem[];
29
+ effectiveBreakdowns: BreakdownItem[];
30
+ analysisType: import('../types.js').AnalysisType;
31
+ funnelBindingKey: import('../types.js').FunnelBindingKey | null;
32
+ isFunnelModeEnabled: boolean;
33
+ funnelCube: string | null;
34
+ funnelSteps: import('../types.js').FunnelStepState[];
35
+ activeFunnelStepIndex: number;
36
+ funnelTimeDimension: string | null;
37
+ funnelChartType: ChartType;
38
+ funnelChartConfig: ChartAxisConfig;
39
+ funnelDisplayConfig: ChartDisplayConfig;
40
+ serverFunnelQuery: import('../types.js').ServerFunnelQuery | null;
41
+ flowCube: string | null;
42
+ flowBindingKey: import('../types.js').FunnelBindingKey | null;
43
+ flowTimeDimension: string | null;
44
+ eventDimension: string | null;
45
+ startingStep: import('../types.js').FlowStartingStep;
46
+ stepsBefore: number;
47
+ stepsAfter: number;
48
+ joinStrategy: "auto" | "lateral" | "window";
49
+ flowDisplayConfig: ChartDisplayConfig;
50
+ serverFlowQuery: import('../types.js').ServerFlowQuery | null;
51
+ retentionCube: string | null;
52
+ retentionBindingKey: import('../types.js').FunnelBindingKey | null;
53
+ retentionTimeDimension: string | null;
54
+ retentionDateRange: import('../types/retention.js').DateRange;
55
+ retentionCohortFilters: import('../types.js').Filter[];
56
+ retentionActivityFilters: import('../types.js').Filter[];
57
+ retentionBreakdowns: import('../types/retention.js').RetentionBreakdownItem[];
58
+ retentionViewGranularity: import('../types/retention.js').RetentionGranularity;
59
+ retentionPeriods: number;
60
+ retentionType: import('../types/retention.js').RetentionType;
61
+ retentionDisplayConfig: ChartDisplayConfig | undefined;
62
+ serverRetentionQuery: import('../types/retention.js').ServerRetentionQuery | null;
63
+ retentionValidation: {
64
+ isValid: boolean;
65
+ errors: string[];
66
+ warnings: string[];
67
+ } | null;
68
+ chartType: ChartType;
69
+ chartConfig: ChartAxisConfig;
70
+ displayConfig: ChartDisplayConfig;
71
+ colorPalette: ColorPalette;
72
+ localPaletteName: string;
73
+ chartAvailability: ChartAvailabilityMap;
74
+ userManuallySelectedChart: boolean;
75
+ activeTab: import('../components/AnalysisBuilder/types.js').QueryPanelTab;
76
+ activeView: "table" | "chart";
77
+ displayLimit: number;
78
+ showFieldModal: boolean;
79
+ fieldModalMode: import('../index.js').FieldModalMode;
80
+ activeTableIndex: number;
81
+ adapterValidation: import('../adapters/modeAdapter.js').ValidationResult;
82
+ getQueryConfig: () => import('../types.js').CubeQuery | import('../types.js').ServerFunnelQuery | {
83
+ queries: import('../types.js').CubeQuery[];
84
+ mergeStrategy: import('../types.js').QueryMergeStrategy;
85
+ mergeKeys: string[] | undefined;
86
+ queryLabels: string[];
87
+ funnelBindingKey: import('../types.js').FunnelBindingKey | null;
88
+ stepTimeToConvert: (string | null)[];
89
+ };
90
+ getChartConfig: () => {
91
+ chartType: ChartType;
92
+ chartConfig: ChartAxisConfig;
93
+ displayConfig: ChartDisplayConfig;
94
+ };
95
+ getAnalysisType: () => import('../types.js').AnalysisType;
96
+ actions: {
97
+ setActiveQueryIndex: (index: number) => void;
98
+ setMergeStrategy: (strategy: import('../types.js').QueryMergeStrategy) => void;
99
+ addQuery: () => void;
100
+ removeQuery: (index: number) => void;
101
+ openMetricsModal: () => void;
102
+ addMetric: (field: string, label?: string) => void;
103
+ removeMetric: (id: string) => void;
104
+ toggleMetric: (fieldName: string) => void;
105
+ reorderMetrics: (fromIndex: number, toIndex: number) => void;
106
+ openBreakdownsModal: () => void;
107
+ addBreakdown: (field: string, isTimeDimension: boolean, granularity?: string) => void;
108
+ removeBreakdown: (id: string) => void;
109
+ toggleBreakdown: (fieldName: string, isTimeDimension: boolean, granularity?: string) => void;
110
+ setBreakdownGranularity: (id: string, granularity: string) => void;
111
+ toggleBreakdownComparison: (id: string) => void;
112
+ reorderBreakdowns: (fromIndex: number, toIndex: number) => void;
113
+ setFilters: (filters: import('../types.js').Filter[]) => void;
114
+ dropFieldToFilter: (field: string) => void;
115
+ setOrder: (fieldName: string, direction: "asc" | "desc" | null) => void;
116
+ setLimit: (limit: number | undefined) => void;
117
+ setFunnelBindingKey: (bindingKey: import('../types.js').FunnelBindingKey | null) => void;
118
+ setAnalysisType: (type: import('../types.js').AnalysisType) => void;
119
+ setFunnelCube: (cube: string | null) => void;
120
+ addFunnelStep: () => void;
121
+ removeFunnelStep: (index: number) => void;
122
+ updateFunnelStep: (index: number, updates: Partial<import('../types.js').FunnelStepState>) => void;
123
+ setActiveFunnelStepIndex: (index: number) => void;
124
+ reorderFunnelSteps: (fromIndex: number, toIndex: number) => void;
125
+ setFunnelTimeDimension: (dimension: string | null) => void;
126
+ setFunnelDisplayConfig: (config: ChartDisplayConfig) => void;
127
+ setFlowCube: (cube: string | null) => void;
128
+ setFlowBindingKey: (key: import('../types.js').FunnelBindingKey | null) => void;
129
+ setFlowTimeDimension: (dim: string | null) => void;
130
+ setEventDimension: (dim: string | null) => void;
131
+ setStartingStepName: (name: string) => void;
132
+ setStartingStepFilters: (filters: import('../types.js').Filter[]) => void;
133
+ setStepsBefore: (count: number) => void;
134
+ setStepsAfter: (count: number) => void;
135
+ setJoinStrategy: (strategy: "auto" | "lateral" | "window") => void;
136
+ setFlowDisplayConfig: (config: ChartDisplayConfig) => void;
137
+ setRetentionCube: (cube: string | null) => void;
138
+ setRetentionBindingKey: (key: import('../types.js').FunnelBindingKey | null) => void;
139
+ setRetentionTimeDimension: (dim: string | null) => void;
140
+ setRetentionDateRange: (range: import('../types/retention.js').DateRange) => void;
141
+ setRetentionCohortFilters: (filters: import('../types.js').Filter[]) => void;
142
+ setRetentionActivityFilters: (filters: import('../types.js').Filter[]) => void;
143
+ setRetentionBreakdowns: (breakdowns: import('../types/retention.js').RetentionBreakdownItem[]) => void;
144
+ addRetentionBreakdown: (breakdown: import('../types/retention.js').RetentionBreakdownItem) => void;
145
+ removeRetentionBreakdown: (field: string) => void;
146
+ setRetentionViewGranularity: (granularity: import('../types/retention.js').RetentionGranularity) => void;
147
+ setRetentionPeriods: (periods: number) => void;
148
+ setRetentionType: (type: import('../types/retention.js').RetentionType) => void;
149
+ setRetentionDisplayConfig: (config: ChartDisplayConfig) => void;
150
+ setChartType: (type: ChartType) => void;
151
+ setChartConfig: (config: ChartAxisConfig) => void;
152
+ setDisplayConfig: (config: ChartDisplayConfig) => void;
153
+ setLocalPaletteName: (name: string) => void;
154
+ setUserManuallySelectedChart: (value: boolean) => void;
155
+ setActiveTab: (tab: import('../components/AnalysisBuilder/types.js').QueryPanelTab) => void;
156
+ setActiveView: (view: "table" | "chart") => void;
157
+ setDisplayLimit: (limit: number) => void;
158
+ closeFieldModal: () => void;
159
+ setActiveTableIndex: import('react').Dispatch<import('react').SetStateAction<number>>;
160
+ clearQuery: () => void;
161
+ clearCurrentMode: () => void;
162
+ handleFieldSelected: (field: MetaField, fieldType: "measure" | "dimension" | "timeDimension", _cubeName: string, keepOpen?: boolean) => void;
163
+ };
164
+ };
165
+ export type UseAnalysisStateResult = ReturnType<typeof useAnalysisState>;
@@ -1,12 +1,6 @@
1
1
  import { IconifyIcon } from '@iconify/types';
2
2
  import { ComponentType } from 'react';
3
3
  import { IconRegistry, IconName, IconCategory, IconProps, PartialIconRegistry } from './types.js';
4
- /**
5
- * Set a custom icon resolver for chart plugin types.
6
- * Called by chartPlugin.ts during initialization.
7
- * @internal
8
- */
9
- export declare function setCustomChartIconResolver(resolver: (chartType: string) => ComponentType<IconProps> | undefined): void;
10
4
  /**
11
5
  * Get the full icon registry
12
6
  */
@@ -90,6 +90,11 @@ export interface IconRegistry {
90
90
  chartSunburst: IconDefinition;
91
91
  chartHeatmap: IconDefinition;
92
92
  chartRetention: IconDefinition;
93
+ chartBoxPlot: IconDefinition;
94
+ chartWaterfall: IconDefinition;
95
+ chartCandlestick: IconDefinition;
96
+ chartMeasureProfile: IconDefinition;
97
+ chartGauge: IconDefinition;
93
98
  measureCount: IconDefinition;
94
99
  measureCountDistinct: IconDefinition;
95
100
  measureCountDistinctApprox: IconDefinition;
@@ -0,0 +1,95 @@
1
+ import { CubeQuery, Filter, SimpleFilter, GroupFilter, CubeMeta } from '../../types.js';
2
+ /**
3
+ * Check if a filter is a simple filter.
4
+ *
5
+ * Discriminates against GroupFilter (which has `type`/`filters`, never
6
+ * `member`/`operator`). `values` is intentionally NOT required: valueless
7
+ * filters such as an `inDateRange` carrying only a `dateRange` are still simple.
8
+ */
9
+ export declare function isSimpleFilter(filter: Filter): filter is SimpleFilter;
10
+ /**
11
+ * Check if a filter is a group filter
12
+ */
13
+ export declare function isGroupFilter(filter: Filter): filter is GroupFilter;
14
+ /**
15
+ * Check if a filter is an AND filter
16
+ */
17
+ export declare function isAndFilter(filter: Filter): filter is GroupFilter;
18
+ /**
19
+ * Check if a filter is an OR filter
20
+ */
21
+ export declare function isOrFilter(filter: Filter): filter is GroupFilter;
22
+ /**
23
+ * Create a new simple filter
24
+ */
25
+ export declare function createSimpleFilter(member: string, operator?: string, values?: any[]): SimpleFilter;
26
+ /**
27
+ * Create a new AND filter group
28
+ */
29
+ export declare function createAndFilter(filters?: Filter[]): GroupFilter;
30
+ /**
31
+ * Create a new OR filter group
32
+ */
33
+ export declare function createOrFilter(filters?: Filter[]): GroupFilter;
34
+ /**
35
+ * Clean up filters - backward compatible (returns filters unchanged)
36
+ * @deprecated This function is no longer used as we now support filtering on any schema field
37
+ */
38
+ export declare function cleanupFilters(filters: Filter[], _query?: CubeQuery): Filter[];
39
+ /**
40
+ * Flatten all simple filters from a hierarchical filter structure
41
+ */
42
+ export declare function flattenFilters(filters: Filter[]): SimpleFilter[];
43
+ /**
44
+ * Count total simple filters in a hierarchical structure
45
+ */
46
+ export declare function countFilters(filters: Filter[]): number;
47
+ /**
48
+ * Extract all member names from a filter tree (handles nested group filters).
49
+ * Returns names in traversal order, including duplicates; callers that need
50
+ * unique fields should de-duplicate.
51
+ */
52
+ export declare function extractFilterMembers(filters: Filter[]): string[];
53
+ /**
54
+ * Add a simple filter at a specific path in the filter tree.
55
+ * Path is an array of indices, e.g. [0, 2] means filters[0].filters[2].
56
+ * An empty path adds at the root, wrapping bare filters in an AND group as needed.
57
+ */
58
+ export declare function addFilterAtPath(filters: Filter[], path: number[], newFilter: SimpleFilter): Filter[];
59
+ /**
60
+ * Remove a top-level filter by index, unwrapping a sole remaining single-filter
61
+ * group back to a bare filter (keeps the tree as shallow as possible).
62
+ */
63
+ export declare function removeFilterAtIndex(filters: Filter[], index: number): Filter[];
64
+ /**
65
+ * Return a copy of a group with its type toggled between AND and OR
66
+ */
67
+ export declare function toggleGroupType(group: GroupFilter): GroupFilter;
68
+ /**
69
+ * Find the first inDateRange filter for a given member, searching nested
70
+ * groups. Returns its dateRange (preferring the dateRange property).
71
+ */
72
+ export declare function findDateFilterForField(filters: Filter[], field: string): {
73
+ dateRange: string | string[];
74
+ } | undefined;
75
+ /**
76
+ * Remove every simple filter matching a member (optionally restricted to an
77
+ * operator) from a filter tree, pruning groups that become empty. Immutable.
78
+ */
79
+ export declare function removeFilterForMember(filters: Filter[], member: string, operator?: string): Filter[];
80
+ /**
81
+ * Transform filters from the UI GroupFilter format to the legacy server format.
82
+ * Server expects { and: [...] } / { or: [...] } instead of { type, filters }.
83
+ */
84
+ export declare function transformFiltersForServer(filters: Filter[]): any[];
85
+ /**
86
+ * Transform filters from server/API format to UI format.
87
+ * Converts { and: [...] } / { or: [...] } to { type, filters } GroupFilters.
88
+ */
89
+ export declare function transformFiltersFromServer(filters: any[]): Filter[];
90
+ /**
91
+ * Check if a filter's field(s) exist in the cube metadata. Helps identify
92
+ * filters that may not apply to a specific portlet's data. Fails open when no
93
+ * metadata is available.
94
+ */
95
+ export declare function validateFilterForCube(filter: Filter, cubeMeta: CubeMeta | null): boolean;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Filter module — the single home for filter types, operator definitions, and
3
+ * add/remove/update-group manipulation logic. Consumed by both the dashboard
4
+ * filter UI and the analysis-builder filter UI; the two surfaces differ only in
5
+ * their value-source wiring, not in filter semantics.
6
+ */
7
+ export type { Filter, SimpleFilter, GroupFilter, FilterOperator } from '../../types.js';
8
+ export type { FilterOperatorMeta } from './operators.js';
9
+ export { FILTER_OPERATORS, getAvailableOperators, normalizeFilterFieldType } from './operators.js';
10
+ export { isSimpleFilter, isGroupFilter, isAndFilter, isOrFilter, createSimpleFilter, createAndFilter, createOrFilter, cleanupFilters, flattenFilters, countFilters, extractFilterMembers, addFilterAtPath, removeFilterAtIndex, toggleGroupType, findDateFilterForField, removeFilterForMember, transformFiltersForServer, transformFiltersFromServer, validateFilterForCube } from './filterOperations.js';
@@ -0,0 +1,23 @@
1
+ import { FilterOperator } from '../../types.js';
2
+ export interface FilterOperatorMeta {
3
+ label: string;
4
+ description: string;
5
+ requiresValues: boolean;
6
+ supportsMultipleValues: boolean;
7
+ valueType: 'string' | 'number' | 'date' | 'boolean' | 'any';
8
+ fieldTypes: string[];
9
+ }
10
+ export declare const FILTER_OPERATORS: Record<FilterOperator, FilterOperatorMeta>;
11
+ /**
12
+ * Normalize a raw field/measure type to the category used by FILTER_OPERATORS.
13
+ * Measure aggregation types collapse to 'number' so the numeric operators apply
14
+ * (without this, e.g. a `countDistinct` measure would expose no operators).
15
+ */
16
+ export declare function normalizeFilterFieldType(fieldType: string): string;
17
+ /**
18
+ * Get available operators for a field type
19
+ */
20
+ export declare function getAvailableOperators(fieldType: string): Array<{
21
+ operator: string;
22
+ label: string;
23
+ }>;
@@ -3,8 +3,9 @@
3
3
  * Common types, utilities, and components used across QueryBuilder and AnalysisBuilder
4
4
  */
5
5
  export type { MetaField, MetaCube, MetaResponse, QueryAnalysis, PrimaryCubeSelectionReason, PrimaryCubeCandidate, PrimaryCubeAnalysis, JoinPathStep, JoinPathAnalysis, PreAggregationAnalysis, QuerySummary, ValidationResult, FilterOperatorMeta, DateRangeType, DateRangeOption, TimeGranularity } from './types.js';
6
- export { FILTER_OPERATORS, DATE_RANGE_OPTIONS, TIME_GRANULARITIES } from './types.js';
7
- export { isSimpleFilter, isGroupFilter, isAndFilter, isOrFilter, flattenFilters, countFilters, createSimpleFilter, createAndFilter, createOrFilter, transformFiltersForServer, transformFiltersFromServer, hasQueryContent, cleanQuery, cleanQueryForServer, transformQueryForUI, getCubeNameFromField, getFieldType, getFieldTitle, getAvailableOperators, getAllFilterableFields, convertDateRangeTypeToValue, requiresNumberInput, formatDateForCube } from './utils.js';
6
+ export { DATE_RANGE_OPTIONS, TIME_GRANULARITIES } from './types.js';
7
+ export { FILTER_OPERATORS, getAvailableOperators, isSimpleFilter, isGroupFilter, isAndFilter, isOrFilter, flattenFilters, countFilters, createSimpleFilter, createAndFilter, createOrFilter, transformFiltersForServer, transformFiltersFromServer } from './filters/index.js';
8
+ export { hasQueryContent, cleanQuery, cleanQueryForServer, transformQueryForUI, getCubeNameFromField, getFieldType, getFieldTitle, getAllFilterableFields, convertDateRangeTypeToValue, requiresNumberInput, formatDateForCube } from './utils.js';
8
9
  export { default as QueryAnalysisPanel } from './components/QueryAnalysisPanel.js';
9
10
  export { default as CodeBlock } from './components/CodeBlock.js';
10
11
  export { getChartAvailability, getAllChartAvailability, selectBestChartType, getSmartChartDefaults, shouldAutoSwitchChartType, mergeChartConfigWithDefaults } from './chartDefaults.js';