drizzle-cube 0.6.6 → 0.6.7

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 (499) hide show
  1. package/README.md +231 -106
  2. package/dist/adapters/ActivityGridChart.config-CA4DWvoH.js +2 -0
  3. package/dist/adapters/ActivityGridChart.config-DC2PXV56.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-BY4hUUJY.js +2 -0
  5. package/dist/adapters/AreaChart.config-CPwW53vL.cjs +1 -0
  6. package/dist/adapters/BarChart.config-Be-PGzp5.js +2 -0
  7. package/dist/adapters/BarChart.config-CfdsJtHY.cjs +1 -0
  8. package/dist/adapters/BoxPlotChart.config-BYwJZm4S.js +2 -0
  9. package/dist/adapters/BoxPlotChart.config-BoZN94lR.cjs +1 -0
  10. package/dist/adapters/BubbleChart.config-DX9aSqMD.js +2 -0
  11. package/dist/adapters/BubbleChart.config-ijpB_fme.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-C3iEXUN1.js +2 -0
  13. package/dist/adapters/CandlestickChart.config-DIGeboSZ.cjs +1 -0
  14. package/dist/adapters/DataTable.config-BjFTY-Md.js +2 -0
  15. package/dist/adapters/DataTable.config-ClJZRtsp.cjs +1 -0
  16. package/dist/adapters/FunnelChart.config-DYDd9Y2z.cjs +1 -0
  17. package/dist/adapters/FunnelChart.config-cVxnY9hD.js +2 -0
  18. package/dist/adapters/GaugeChart.config-BxWKW2b5.js +2 -0
  19. package/dist/adapters/GaugeChart.config-DsmevM9y.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-BhO-Wj54.js +2 -0
  21. package/dist/adapters/HeatMapChart.config-HWcgNRuG.cjs +1 -0
  22. package/dist/adapters/KpiDelta.config-D3JOnd5n.js +2 -0
  23. package/dist/adapters/KpiDelta.config-DmLmTPSH.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-CVghzBbF.cjs +1 -0
  25. package/dist/adapters/KpiNumber.config-aK-Ueuhk.js +2 -0
  26. package/dist/adapters/KpiText.config-DLl8NWit.js +2 -0
  27. package/dist/adapters/KpiText.config-DbWJ42vd.cjs +1 -0
  28. package/dist/adapters/LineChart.config-C3i3Tgro.cjs +1 -0
  29. package/dist/adapters/LineChart.config-El3XPCFT.js +2 -0
  30. package/dist/adapters/MarkdownChart.config-D39QzWHW.js +2 -0
  31. package/dist/adapters/MarkdownChart.config-e_9gUs93.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-BWQ82qcV.js +2 -0
  33. package/dist/adapters/MeasureProfileChart.config-l9WITF80.cjs +1 -0
  34. package/dist/adapters/PieChart.config-CO3Gib0h.js +2 -0
  35. package/dist/adapters/PieChart.config-yqXTNkix.cjs +1 -0
  36. package/dist/adapters/ProportionBarChart.config-B7CtjFwg.cjs +1 -0
  37. package/dist/adapters/ProportionBarChart.config-tGjQou_c.js +2 -0
  38. package/dist/adapters/RadarChart.config-B2YZnD_e.js +2 -0
  39. package/dist/adapters/RadarChart.config-DwJmHK8y.cjs +1 -0
  40. package/dist/adapters/RadialBarChart.config-B9XP-cQ1.cjs +1 -0
  41. package/dist/adapters/RadialBarChart.config-y2riBDwJ.js +2 -0
  42. package/dist/adapters/RetentionCombinedChart.config-Fzxwm_WV.cjs +1 -0
  43. package/dist/adapters/RetentionCombinedChart.config-ohy-zQbu.js +2 -0
  44. package/dist/adapters/RetentionHeatmap.config-0ykBWgUp.js +2 -0
  45. package/dist/adapters/RetentionHeatmap.config-DF_4ARr0.cjs +1 -0
  46. package/dist/adapters/SankeyChart.config-ChdkKqAn.cjs +1 -0
  47. package/dist/adapters/SankeyChart.config-Cl8kxpKq.js +2 -0
  48. package/dist/adapters/ScatterChart.config-BIqh_Z8u.cjs +1 -0
  49. package/dist/adapters/ScatterChart.config-D4v0Z_w4.js +2 -0
  50. package/dist/adapters/SunburstChart.config-CGMw6hSr.cjs +1 -0
  51. package/dist/adapters/SunburstChart.config-CmK6DVYQ.js +2 -0
  52. package/dist/adapters/TreeMapChart.config-B6WC-TVm.js +2 -0
  53. package/dist/adapters/TreeMapChart.config-q-kBddZC.cjs +1 -0
  54. package/dist/adapters/WaterfallChart.config-BiOMGjjF.cjs +1 -0
  55. package/dist/adapters/WaterfallChart.config-C_K8zN09.js +2 -0
  56. package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +1 -0
  57. package/dist/adapters/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
  58. package/dist/adapters/compiler-CGJQlQ6Q.cjs +166 -0
  59. package/dist/adapters/{compiler-ZruQ85ff.js → compiler-mz2Uudwd.js} +116 -60
  60. package/dist/adapters/core/index.cjs +1 -1
  61. package/dist/adapters/core/index.js +1 -1
  62. package/dist/adapters/{core-BMZhIzaI.js → core-4WY4M7hp.js} +8 -8
  63. package/dist/adapters/core-FpI2NfHt.cjs +1 -0
  64. package/dist/adapters/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
  65. package/dist/adapters/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
  66. package/dist/adapters/express/index.cjs +1 -1
  67. package/dist/adapters/express/index.js +5 -5
  68. package/dist/adapters/fastify/index.cjs +2 -2
  69. package/dist/adapters/fastify/index.js +10 -6
  70. package/dist/adapters/google-BhvizbFR.cjs +2 -0
  71. package/dist/adapters/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
  72. package/dist/adapters/{handler-xR2P1EI4.js → handler-PjEeNmXY.js} +230 -152
  73. package/dist/adapters/{handler-_PXp3G47.cjs → handler-g8k2CZG2.cjs} +9 -9
  74. package/dist/adapters/hono/index.cjs +1 -1
  75. package/dist/adapters/hono/index.js +26 -18
  76. package/dist/adapters/mcp-tools.cjs +1 -1
  77. package/dist/adapters/mcp-tools.js +2 -2
  78. package/dist/adapters/mcp-transport-OBc8jVG5.js +603 -0
  79. package/dist/adapters/mcp-transport-n1r1Kqzn.cjs +40 -0
  80. package/dist/adapters/nextjs/index.cjs +1 -1
  81. package/dist/adapters/nextjs/index.js +14 -11
  82. package/dist/adapters/openai-7xjDI7R2.cjs +19 -0
  83. package/dist/adapters/{openai-B6hWZk_r.js → openai-CcY2fW3E.js} +18 -17
  84. package/dist/adapters/openai-DHjN2OwG.js +9295 -0
  85. package/dist/{server/openai-C3-mjSAc.cjs → adapters/openai-DnWF0wCU.cjs} +1 -1
  86. package/dist/adapters/utils-DJ0_72_G.cjs +128 -0
  87. package/dist/adapters/{utils-U7gV5wQL.js → utils-G52pPkce.js} +51 -17
  88. package/dist/adapters/utils.cjs +1 -1
  89. package/dist/adapters/utils.js +1 -1
  90. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +20 -0
  91. package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
  92. package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
  93. package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  94. package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
  95. package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  96. package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
  97. package/dist/cjs/client/components/AgenticNotebook/index.d.ts +1 -1
  98. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  99. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  100. package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  101. package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
  102. package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  103. package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
  104. package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  105. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  106. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
  107. package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  108. package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  109. package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
  110. package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  111. package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  112. package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  113. package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
  114. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  115. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  116. package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  117. package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  118. package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
  119. package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  120. package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  121. package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
  122. package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
  123. package/dist/cjs/client/components/DashboardPortletCard.d.ts +1 -1
  124. package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
  125. package/dist/cjs/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
  126. package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +1 -1
  127. package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +5 -0
  128. package/dist/cjs/client/components/charts/AreaChart.d.ts +1 -1
  129. package/dist/cjs/client/components/charts/BarChart.d.ts +1 -1
  130. package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +1 -1
  131. package/dist/cjs/client/components/charts/BubbleChart.d.ts +1 -1
  132. package/dist/cjs/client/components/charts/CandlestickChart.d.ts +1 -1
  133. package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -1
  134. package/dist/cjs/client/components/charts/ChartSummaryHeader.d.ts +31 -0
  135. package/dist/cjs/client/components/charts/DataTable.d.ts +1 -1
  136. package/dist/cjs/client/components/charts/FunnelChart.d.ts +1 -1
  137. package/dist/cjs/client/components/charts/GaugeChart.d.ts +1 -1
  138. package/dist/cjs/client/components/charts/HeatMapChart.d.ts +1 -1
  139. package/dist/cjs/client/components/charts/KpiCompactLayout.d.ts +31 -0
  140. package/dist/cjs/client/components/charts/KpiDelta.d.ts +1 -1
  141. package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +2 -0
  142. package/dist/cjs/client/components/charts/KpiNumber.d.ts +1 -1
  143. package/dist/cjs/client/components/charts/KpiStates.d.ts +7 -2
  144. package/dist/cjs/client/components/charts/KpiText.d.ts +1 -1
  145. package/dist/cjs/client/components/charts/LineChart.d.ts +1 -1
  146. package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
  147. package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +1 -1
  148. package/dist/cjs/client/components/charts/PieChart.d.ts +1 -1
  149. package/dist/cjs/client/components/charts/ProportionBarChart.config.d.ts +10 -0
  150. package/dist/cjs/client/components/charts/ProportionBarChart.d.ts +12 -0
  151. package/dist/cjs/client/components/charts/RadarChart.d.ts +1 -1
  152. package/dist/cjs/client/components/charts/RadialBarChart.d.ts +1 -1
  153. package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  154. package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +1 -1
  155. package/dist/cjs/client/components/charts/SankeyChart.d.ts +1 -1
  156. package/dist/cjs/client/components/charts/ScatterChart.d.ts +1 -1
  157. package/dist/cjs/client/components/charts/SunburstChart.d.ts +1 -1
  158. package/dist/cjs/client/components/charts/TreeMapChart.d.ts +1 -1
  159. package/dist/cjs/client/components/charts/WaterfallChart.d.ts +1 -1
  160. package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +62 -0
  161. package/dist/cjs/client/components/charts/chartScaffolding.d.ts +29 -0
  162. package/dist/cjs/client/icons/types.d.ts +1 -0
  163. package/dist/cjs/client/types.d.ts +7 -1
  164. package/dist/cli/index.cjs +6 -5
  165. package/dist/client/charts/chartConfigHelpers.d.ts +20 -0
  166. package/dist/client/charts.js +13 -13
  167. package/dist/client/chunks/{DashboardEditModal-9o16JNF0.js → DashboardEditModal-BEG0d7wI.js} +4599 -1321
  168. package/dist/client/chunks/DashboardEditModal-BEG0d7wI.js.map +1 -0
  169. package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js +109 -0
  170. package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js.map +1 -0
  171. package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js → RetentionCombinedChart-DeFz5wJh.js} +8 -8
  172. package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js.map → RetentionCombinedChart-DeFz5wJh.js.map} +1 -1
  173. package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js → RetentionHeatmap-DkJOiNwz.js} +6 -6
  174. package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js.map → RetentionHeatmap-DkJOiNwz.js.map} +1 -1
  175. package/dist/client/chunks/{analysis-builder-BDWychCW.js → analysis-builder-BWLL6ztg.js} +421 -413
  176. package/dist/client/chunks/analysis-builder-BWLL6ztg.js.map +1 -0
  177. package/dist/client/chunks/{analysis-builder-shared-DkL0e-wU.js → analysis-builder-shared-Ba3JsRNw.js} +454 -452
  178. package/dist/client/chunks/analysis-builder-shared-Ba3JsRNw.js.map +1 -0
  179. package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js → chart-activity-grid-CyVDJSAI.js} +43 -6
  180. package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js.map → chart-activity-grid-CyVDJSAI.js.map} +1 -1
  181. package/dist/client/chunks/chart-area-b5UAS6NZ.js +963 -0
  182. package/dist/client/chunks/chart-area-b5UAS6NZ.js.map +1 -0
  183. package/dist/client/chunks/{chart-bar-DAO3PPcE.js → chart-bar-aVNonvWw.js} +71 -64
  184. package/dist/client/chunks/chart-bar-aVNonvWw.js.map +1 -0
  185. package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js → chart-box-plot-Bx6M97VL.js} +3 -3
  186. package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js.map → chart-box-plot-Bx6M97VL.js.map} +1 -1
  187. package/dist/client/chunks/{chart-bubble-DvP_6_n9.js → chart-bubble-EWd4_ucG.js} +5 -5
  188. package/dist/client/chunks/{chart-bubble-DvP_6_n9.js.map → chart-bubble-EWd4_ucG.js.map} +1 -1
  189. package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js → chart-candlestick-CG5EX67b.js} +3 -3
  190. package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js.map → chart-candlestick-CG5EX67b.js.map} +1 -1
  191. package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js → chart-config-activity-grid-C4vXGQNu.js} +2 -2
  192. package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js.map → chart-config-activity-grid-C4vXGQNu.js.map} +1 -1
  193. package/dist/client/chunks/{chart-config-area-DxwIZ4Uf.js → chart-config-area-DsrZCIwF.js} +35 -4
  194. package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +1 -0
  195. package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js → chart-config-bar-BixSs43E.js} +7 -7
  196. package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js.map → chart-config-bar-BixSs43E.js.map} +1 -1
  197. package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js → chart-config-box-plot-DMuJZqkr.js} +2 -2
  198. package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js.map → chart-config-box-plot-DMuJZqkr.js.map} +1 -1
  199. package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js → chart-config-bubble-1IyZinH0.js} +2 -2
  200. package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js.map → chart-config-bubble-1IyZinH0.js.map} +1 -1
  201. package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js → chart-config-candlestick-QwQwJB_-.js} +2 -2
  202. package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js.map → chart-config-candlestick-QwQwJB_-.js.map} +1 -1
  203. package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js → chart-config-data-table-CrGyS7aJ.js} +2 -2
  204. package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js.map → chart-config-data-table-CrGyS7aJ.js.map} +1 -1
  205. package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js → chart-config-funnel-DMLLKtPF.js} +2 -2
  206. package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js.map → chart-config-funnel-DMLLKtPF.js.map} +1 -1
  207. package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js → chart-config-gauge-DNafFwfS.js} +2 -2
  208. package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js.map → chart-config-gauge-DNafFwfS.js.map} +1 -1
  209. package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js → chart-config-heat-map-CJF65SyL.js} +2 -2
  210. package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js.map → chart-config-heat-map-CJF65SyL.js.map} +1 -1
  211. package/dist/client/chunks/{chart-config-kpi-delta-DYopvwyG.js → chart-config-kpi-delta-Cl7k6jTj.js} +13 -4
  212. package/dist/client/chunks/chart-config-kpi-delta-Cl7k6jTj.js.map +1 -0
  213. package/dist/client/chunks/{chart-config-kpi-number-BhMdoArB.js → chart-config-kpi-number-DCcnANWC.js} +6 -4
  214. package/dist/client/chunks/chart-config-kpi-number-DCcnANWC.js.map +1 -0
  215. package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js → chart-config-kpi-text-DnnxvOSA.js} +2 -2
  216. package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js.map → chart-config-kpi-text-DnnxvOSA.js.map} +1 -1
  217. package/dist/client/chunks/{chart-config-line-CBfM0Rds.js → chart-config-line-CBF9Px9b.js} +9 -7
  218. package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +1 -0
  219. package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js → chart-config-markdown-C5kBQOjP.js} +2 -2
  220. package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js.map → chart-config-markdown-C5kBQOjP.js.map} +1 -1
  221. package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js → chart-config-measure-profile-CRSRIpKh.js} +2 -2
  222. package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js.map → chart-config-measure-profile-CRSRIpKh.js.map} +1 -1
  223. package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js → chart-config-pie-DZLa6Eqm.js} +3 -3
  224. package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js.map → chart-config-pie-DZLa6Eqm.js.map} +1 -1
  225. package/dist/client/chunks/{chart-config-radar-BlAIGnww.js → chart-config-radar-DR6vHHyd.js} +3 -3
  226. package/dist/client/chunks/{chart-config-radar-BlAIGnww.js.map → chart-config-radar-DR6vHHyd.js.map} +1 -1
  227. package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js → chart-config-radial-bar-DVFou4fB.js} +3 -3
  228. package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js.map → chart-config-radial-bar-DVFou4fB.js.map} +1 -1
  229. package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js → chart-config-sankey-De8E0C1A.js} +2 -2
  230. package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js.map → chart-config-sankey-De8E0C1A.js.map} +1 -1
  231. package/dist/client/chunks/{chart-config-scatter-q_olh54e.js → chart-config-scatter-CWA89oX4.js} +2 -2
  232. package/dist/client/chunks/{chart-config-scatter-q_olh54e.js.map → chart-config-scatter-CWA89oX4.js.map} +1 -1
  233. package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js → chart-config-sunburst-B4NUYHMH.js} +2 -2
  234. package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js.map → chart-config-sunburst-B4NUYHMH.js.map} +1 -1
  235. package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js → chart-config-tree-map-Uhise6Bx.js} +3 -3
  236. package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js.map → chart-config-tree-map-Uhise6Bx.js.map} +1 -1
  237. package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js → chart-config-waterfall-DlQb_PLh.js} +2 -2
  238. package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js.map → chart-config-waterfall-DlQb_PLh.js.map} +1 -1
  239. package/dist/client/chunks/{chart-data-table-BP6DMdom.js → chart-data-table-D6Cu86m_.js} +1072 -1034
  240. package/dist/client/chunks/chart-data-table-D6Cu86m_.js.map +1 -0
  241. package/dist/client/chunks/{chart-funnel-xeVGBy-p.js → chart-funnel-CLRYMbFj.js} +3 -3
  242. package/dist/client/chunks/{chart-funnel-xeVGBy-p.js.map → chart-funnel-CLRYMbFj.js.map} +1 -1
  243. package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js → chart-gauge-BRqb8eNU.js} +62 -62
  244. package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js.map → chart-gauge-BRqb8eNU.js.map} +1 -1
  245. package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js → chart-heat-map-BCfr3nYJ.js} +4 -4
  246. package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js.map → chart-heat-map-BCfr3nYJ.js.map} +1 -1
  247. package/dist/client/chunks/{chart-kpi-delta-nXQnRRBr.js → chart-kpi-delta-ISxzG6g_.js} +122 -48
  248. package/dist/client/chunks/chart-kpi-delta-ISxzG6g_.js.map +1 -0
  249. package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js +263 -0
  250. package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js.map +1 -0
  251. package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js → chart-kpi-text-BUm932QA.js} +4 -4
  252. package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js.map → chart-kpi-text-BUm932QA.js.map} +1 -1
  253. package/dist/client/chunks/chart-line-BM_DrpQW.js +117 -0
  254. package/dist/client/chunks/chart-line-BM_DrpQW.js.map +1 -0
  255. package/dist/client/chunks/{chart-markdown-BVrqqygz.js → chart-markdown-BNrsZpqM.js} +1550 -1349
  256. package/dist/client/chunks/chart-markdown-BNrsZpqM.js.map +1 -0
  257. package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js → chart-measure-profile-DttUWxIu.js} +6 -5
  258. package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js.map → chart-measure-profile-DttUWxIu.js.map} +1 -1
  259. package/dist/client/chunks/{chart-pie-BDaaYt7a.js → chart-pie-D7pxCMll.js} +11 -11
  260. package/dist/client/chunks/{chart-pie-BDaaYt7a.js.map → chart-pie-D7pxCMll.js.map} +1 -1
  261. package/dist/client/chunks/{chart-radar-Bz07PIVe.js → chart-radar-sUnyHn3a.js} +10 -10
  262. package/dist/client/chunks/{chart-radar-Bz07PIVe.js.map → chart-radar-sUnyHn3a.js.map} +1 -1
  263. package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js → chart-radial-bar-Df9zbhst.js} +11 -11
  264. package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js.map → chart-radial-bar-Df9zbhst.js.map} +1 -1
  265. package/dist/client/chunks/{chart-sankey-BAeNbI-p.js → chart-sankey-d_iS5fjB.js} +3 -3
  266. package/dist/client/chunks/{chart-sankey-BAeNbI-p.js.map → chart-sankey-d_iS5fjB.js.map} +1 -1
  267. package/dist/client/chunks/{chart-scatter-CRhGLCcy.js → chart-scatter-DD5v7r4K.js} +10 -10
  268. package/dist/client/chunks/{chart-scatter-CRhGLCcy.js.map → chart-scatter-DD5v7r4K.js.map} +1 -1
  269. package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js → chart-sunburst-jL5f9PiB.js} +4 -4
  270. package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js.map → chart-sunburst-jL5f9PiB.js.map} +1 -1
  271. package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js → chart-tree-map-DK-pNvh4.js} +31 -29
  272. package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js.map → chart-tree-map-DK-pNvh4.js.map} +1 -1
  273. package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js → chart-waterfall-CBGewe2Z.js} +4 -4
  274. package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js.map → chart-waterfall-CBGewe2Z.js.map} +1 -1
  275. package/dist/client/chunks/{charts-core-Cs-UIsQa.js → charts-core-BHjcM-rm.js} +2 -2
  276. package/dist/client/chunks/{charts-core-Cs-UIsQa.js.map → charts-core-BHjcM-rm.js.map} +1 -1
  277. package/dist/client/chunks/charts-loader-FXj1JiQZ.js +85 -0
  278. package/dist/client/chunks/charts-loader-FXj1JiQZ.js.map +1 -0
  279. package/dist/client/chunks/{core-D7vPfUIe.js → core-BWRP9s8x.js} +9 -8
  280. package/dist/client/chunks/core-BWRP9s8x.js.map +1 -0
  281. package/dist/client/chunks/{dist-BwQr11Fz.js → dist-BPmPx7kz.js} +56 -51
  282. package/dist/client/chunks/{dist-BwQr11Fz.js.map → dist-BPmPx7kz.js.map} +1 -1
  283. package/dist/client/chunks/{exceljs.min-Dey-qIFL.js → exceljs.min-DWC_b8G9.js} +236 -202
  284. package/dist/client/chunks/{exceljs.min-Dey-qIFL.js.map → exceljs.min-DWC_b8G9.js.map} +1 -1
  285. package/dist/client/chunks/{javascript-DFnKaHmQ.js → javascript-D6aJaG8F.js} +7 -5
  286. package/dist/client/chunks/javascript-D6aJaG8F.js.map +1 -0
  287. package/dist/client/chunks/json-BrJhaXJI.js +44 -0
  288. package/dist/client/chunks/json-BrJhaXJI.js.map +1 -0
  289. package/dist/client/chunks/{nl-NL-2zTAWTej.js → nl-NL-B1MNDJT-.js} +39 -2
  290. package/dist/client/chunks/{nl-NL-2zTAWTej.js.map → nl-NL-B1MNDJT-.js.map} +1 -1
  291. package/dist/client/chunks/{rolldown-runtime-CWhphoD1.js → rolldown-runtime-DArdT4gl.js} +2 -2
  292. package/dist/client/chunks/{schema-visualization-BGT_cNon.js → schema-visualization-BXdd320w.js} +10 -10
  293. package/dist/client/chunks/schema-visualization-BXdd320w.js.map +1 -0
  294. package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js → syntaxHighlighting-Cm43as8i.js} +2 -2
  295. package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js.map → syntaxHighlighting-Cm43as8i.js.map} +1 -1
  296. package/dist/client/chunks/{useDebounce-7suCFq9v.js → useDirtyStateTracking-CFgSTyny.js} +112 -50
  297. package/dist/client/chunks/useDirtyStateTracking-CFgSTyny.js.map +1 -0
  298. package/dist/client/chunks/{useExplainAI-DueJjb0r.js → useExplainAI-CisDjZNp.js} +18 -18
  299. package/dist/client/chunks/{useExplainAI-DueJjb0r.js.map → useExplainAI-CisDjZNp.js.map} +1 -1
  300. package/dist/client/chunks/{utils-DjLiJKS_.js → utils-CToHkuhU.js} +2 -2
  301. package/dist/client/chunks/{utils-DjLiJKS_.js.map → utils-CToHkuhU.js.map} +1 -1
  302. package/dist/client/chunks/{vendor-ChnlgSP0.js → vendor-D5xADz_A.js} +223 -167
  303. package/dist/client/chunks/vendor-D5xADz_A.js.map +1 -0
  304. package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
  305. package/dist/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
  306. package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  307. package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
  308. package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  309. package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
  310. package/dist/client/components/AgenticNotebook/index.d.ts +1 -1
  311. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  312. package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  313. package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  314. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
  315. package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  316. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
  317. package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  318. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  319. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
  320. package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  321. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  322. package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
  323. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  324. package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  325. package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  326. package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
  327. package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  328. package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  329. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  330. package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  331. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
  332. package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  333. package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  334. package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
  335. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
  336. package/dist/client/components/DashboardPortletCard.d.ts +1 -1
  337. package/dist/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
  338. package/dist/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
  339. package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
  340. package/dist/client/components/charts/AngledXAxisTick.d.ts +5 -0
  341. package/dist/client/components/charts/AreaChart.d.ts +1 -1
  342. package/dist/client/components/charts/BarChart.d.ts +1 -1
  343. package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
  344. package/dist/client/components/charts/BubbleChart.d.ts +1 -1
  345. package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
  346. package/dist/client/components/charts/ChartContainer.d.ts +7 -1
  347. package/dist/client/components/charts/ChartSummaryHeader.d.ts +31 -0
  348. package/dist/client/components/charts/DataTable.d.ts +1 -1
  349. package/dist/client/components/charts/FunnelChart.d.ts +1 -1
  350. package/dist/client/components/charts/GaugeChart.d.ts +1 -1
  351. package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
  352. package/dist/client/components/charts/KpiCompactLayout.d.ts +31 -0
  353. package/dist/client/components/charts/KpiDelta.d.ts +1 -1
  354. package/dist/client/components/charts/KpiDelta.helpers.d.ts +2 -0
  355. package/dist/client/components/charts/KpiNumber.d.ts +1 -1
  356. package/dist/client/components/charts/KpiStates.d.ts +7 -2
  357. package/dist/client/components/charts/KpiText.d.ts +1 -1
  358. package/dist/client/components/charts/LineChart.d.ts +1 -1
  359. package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
  360. package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
  361. package/dist/client/components/charts/PieChart.d.ts +1 -1
  362. package/dist/client/components/charts/ProportionBarChart.config.d.ts +10 -0
  363. package/dist/client/components/charts/ProportionBarChart.d.ts +12 -0
  364. package/dist/client/components/charts/RadarChart.d.ts +1 -1
  365. package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
  366. package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  367. package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
  368. package/dist/client/components/charts/SankeyChart.d.ts +1 -1
  369. package/dist/client/components/charts/ScatterChart.d.ts +1 -1
  370. package/dist/client/components/charts/SunburstChart.d.ts +1 -1
  371. package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
  372. package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
  373. package/dist/client/components/charts/cartesianChartHelpers.d.ts +62 -0
  374. package/dist/client/components/charts/chartScaffolding.d.ts +29 -0
  375. package/dist/client/components.js +3 -4
  376. package/dist/client/hooks.js +4 -5
  377. package/dist/client/icons/types.d.ts +1 -0
  378. package/dist/client/icons.js +1 -1
  379. package/dist/client/index.js +48 -49
  380. package/dist/client/index.js.map +1 -1
  381. package/dist/client/providers.js +1 -1
  382. package/dist/client/schema.js +1 -1
  383. package/dist/client/styles.css +1 -1
  384. package/dist/client/styles.d.css.ts +2 -0
  385. package/dist/client/types.d.ts +7 -1
  386. package/dist/client/utils.js +13 -9
  387. package/dist/client/utils.js.map +1 -1
  388. package/dist/client-bundle-stats.html +388 -33
  389. package/dist/mcp-app/mcp-app.html +152 -165
  390. package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +1 -0
  391. package/dist/server/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
  392. package/dist/server/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
  393. package/dist/server/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
  394. package/dist/server/google-BhvizbFR.cjs +2 -0
  395. package/dist/server/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
  396. package/dist/server/index.cjs +84 -84
  397. package/dist/server/index.js +2418 -2260
  398. package/dist/server/openai-CUf4vc3Q.js +9295 -0
  399. package/dist/server/openai-Cu4TXXjl.cjs +19 -0
  400. package/dist/server/{openai-B6hWZk_r.js → openai-Czk1BdHa.js} +18 -17
  401. package/dist/{adapters/openai-C3-mjSAc.cjs → server/openai-DBwI1OSu.cjs} +1 -1
  402. package/dist/server/rolldown-runtime-B0aSnxlc.js +20 -0
  403. package/dist/server/rolldown-runtime-DF3sbh8G.cjs +1 -0
  404. package/package.json +14 -10
  405. package/dist/adapters/ActivityGridChart.config-BK3hB9co.cjs +0 -1
  406. package/dist/adapters/ActivityGridChart.config-C-68HsAw.js +0 -2
  407. package/dist/adapters/AreaChart.config-5G7_E-7u.cjs +0 -1
  408. package/dist/adapters/AreaChart.config-C7S67Qt4.js +0 -2
  409. package/dist/adapters/BarChart.config-C6kG_uEt.cjs +0 -1
  410. package/dist/adapters/BarChart.config-DQcicZYy.js +0 -2
  411. package/dist/adapters/BoxPlotChart.config-B4xDTwop.js +0 -2
  412. package/dist/adapters/BoxPlotChart.config-DifAPvo0.cjs +0 -1
  413. package/dist/adapters/BubbleChart.config-BS2edxZ5.cjs +0 -1
  414. package/dist/adapters/BubbleChart.config-C5AYou9n.js +0 -2
  415. package/dist/adapters/CandlestickChart.config-Duknkqyk.js +0 -2
  416. package/dist/adapters/CandlestickChart.config-jk3ZXIAQ.cjs +0 -1
  417. package/dist/adapters/DataTable.config-BG_5hx63.cjs +0 -1
  418. package/dist/adapters/DataTable.config-Bkv6CmFa.js +0 -2
  419. package/dist/adapters/FunnelChart.config-Dvy0S17e.js +0 -2
  420. package/dist/adapters/FunnelChart.config-DzqGZgKz.cjs +0 -1
  421. package/dist/adapters/GaugeChart.config-DAWIU33N.js +0 -2
  422. package/dist/adapters/GaugeChart.config-DC0NW8XT.cjs +0 -1
  423. package/dist/adapters/HeatMapChart.config-BlQDS9nY.cjs +0 -1
  424. package/dist/adapters/HeatMapChart.config-DccGkzHI.js +0 -2
  425. package/dist/adapters/KpiDelta.config-DvpALT3Z.js +0 -2
  426. package/dist/adapters/KpiDelta.config-u2AlJkZ3.cjs +0 -1
  427. package/dist/adapters/KpiNumber.config-CF_LqRh-.cjs +0 -1
  428. package/dist/adapters/KpiNumber.config-lhEzZOFR.js +0 -2
  429. package/dist/adapters/KpiText.config-BCYGZdnx.js +0 -2
  430. package/dist/adapters/KpiText.config-FbnsbjdV.cjs +0 -1
  431. package/dist/adapters/LineChart.config-B7qWURRH.js +0 -2
  432. package/dist/adapters/LineChart.config-B9JKd48E.cjs +0 -1
  433. package/dist/adapters/MarkdownChart.config-BIS9PqHh.js +0 -2
  434. package/dist/adapters/MarkdownChart.config-BfM9NaQe.cjs +0 -1
  435. package/dist/adapters/MeasureProfileChart.config-1hh--3nI.js +0 -2
  436. package/dist/adapters/MeasureProfileChart.config-cmL8wp6a.cjs +0 -1
  437. package/dist/adapters/PieChart.config-DzzCeT7z.cjs +0 -1
  438. package/dist/adapters/PieChart.config-aRJJwYx4.js +0 -2
  439. package/dist/adapters/RadarChart.config-AcZ7kWG8.js +0 -2
  440. package/dist/adapters/RadarChart.config-CddBTWAo.cjs +0 -1
  441. package/dist/adapters/RadialBarChart.config-D4qPexJV.cjs +0 -1
  442. package/dist/adapters/RadialBarChart.config-y-NBkq5N.js +0 -2
  443. package/dist/adapters/RetentionCombinedChart.config-BkRNE7lX.cjs +0 -1
  444. package/dist/adapters/RetentionCombinedChart.config-WoX6n6D5.js +0 -2
  445. package/dist/adapters/RetentionHeatmap.config-ByjWidhh.cjs +0 -1
  446. package/dist/adapters/RetentionHeatmap.config-DjXLk03y.js +0 -2
  447. package/dist/adapters/SankeyChart.config-BWO9LszQ.cjs +0 -1
  448. package/dist/adapters/SankeyChart.config-SuP0jjib.js +0 -2
  449. package/dist/adapters/ScatterChart.config-Dk1G4Eaj.cjs +0 -1
  450. package/dist/adapters/ScatterChart.config-DzVXd1ZM.js +0 -2
  451. package/dist/adapters/SunburstChart.config-Cu4ib4Ui.cjs +0 -1
  452. package/dist/adapters/SunburstChart.config-_0gUzNs7.js +0 -2
  453. package/dist/adapters/TreeMapChart.config-DbwYrje4.js +0 -2
  454. package/dist/adapters/TreeMapChart.config-hM8PukgE.cjs +0 -1
  455. package/dist/adapters/WaterfallChart.config-CjUHeE8R.js +0 -2
  456. package/dist/adapters/WaterfallChart.config-Dwxt0kK-.cjs +0 -1
  457. package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +0 -1
  458. package/dist/adapters/compiler-D0v5KJhv.cjs +0 -166
  459. package/dist/adapters/core-VK-KVH9q.cjs +0 -1
  460. package/dist/adapters/google-BOnRIN1w.cjs +0 -2
  461. package/dist/adapters/mcp-transport-C2v5BTDF.cjs +0 -40
  462. package/dist/adapters/mcp-transport-CyDBoYEe.js +0 -601
  463. package/dist/adapters/openai-B1pC8nVM.js +0 -6178
  464. package/dist/adapters/openai-DQZaHN0V.cjs +0 -18
  465. package/dist/adapters/utils-CBR-9AMD.cjs +0 -128
  466. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +0 -3283
  467. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +0 -1
  468. package/dist/client/chunks/DashboardEditModal-9o16JNF0.js.map +0 -1
  469. package/dist/client/chunks/analysis-builder-BDWychCW.js.map +0 -1
  470. package/dist/client/chunks/analysis-builder-shared-DkL0e-wU.js.map +0 -1
  471. package/dist/client/chunks/chart-area-BHxPNsmc.js +0 -775
  472. package/dist/client/chunks/chart-area-BHxPNsmc.js.map +0 -1
  473. package/dist/client/chunks/chart-bar-DAO3PPcE.js.map +0 -1
  474. package/dist/client/chunks/chart-config-area-DxwIZ4Uf.js.map +0 -1
  475. package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +0 -1
  476. package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +0 -1
  477. package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +0 -1
  478. package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +0 -1
  479. package/dist/client/chunks/chart-kpi-delta-nXQnRRBr.js.map +0 -1
  480. package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js +0 -244
  481. package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js.map +0 -1
  482. package/dist/client/chunks/chart-line-sJK-cJc0.js +0 -101
  483. package/dist/client/chunks/chart-line-sJK-cJc0.js.map +0 -1
  484. package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +0 -1
  485. package/dist/client/chunks/charts-loader-DAJbAD7a.js +0 -84
  486. package/dist/client/chunks/charts-loader-DAJbAD7a.js.map +0 -1
  487. package/dist/client/chunks/core-D7vPfUIe.js.map +0 -1
  488. package/dist/client/chunks/javascript-DFnKaHmQ.js.map +0 -1
  489. package/dist/client/chunks/json-Cu6rbgWf.js +0 -38
  490. package/dist/client/chunks/json-Cu6rbgWf.js.map +0 -1
  491. package/dist/client/chunks/schema-visualization-BGT_cNon.js.map +0 -1
  492. package/dist/client/chunks/useDebounce-7suCFq9v.js.map +0 -1
  493. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +0 -66
  494. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +0 -1
  495. package/dist/client/chunks/vendor-ChnlgSP0.js.map +0 -1
  496. package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +0 -1
  497. package/dist/server/google-BOnRIN1w.cjs +0 -2
  498. package/dist/server/openai-B1pC8nVM.js +0 -6178
  499. package/dist/server/openai-DQZaHN0V.cjs +0 -18
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ![Drizzle Cube Dashboard](https://try.drizzle-cube.dev/dashboard_light.png)
6
6
 
7
- Build a semantic layer on top of your Drizzle schema. Define cubes with measures, dimensions, and joins—then query them from dashboards, AI agents, or your own code. All with full TypeScript inference and SQL injection protection.
7
+ Build a semantic layer on top of your existing Drizzle ORM schema. Define cubes with measures, dimensions, joins, and security filters in TypeScript, then query them through Cube.js-compatible HTTP APIs, React analytics components, framework adapters, or MCP-enabled AI tools. SQL is generated through Drizzle ORM and parameterized query primitives; your application remains responsible for authentication, authorization, and tenant scoping.
8
8
 
9
9
  - **[Documentation](https://www.drizzle-cube.dev/)**
10
10
  - **[Try the Sandbox](https://try.drizzle-cube.dev/)**
@@ -13,54 +13,87 @@ Build a semantic layer on top of your Drizzle schema. Define cubes with measures
13
13
 
14
14
  [![NPM Version](https://img.shields.io/npm/v/drizzle-cube)](https://www.npmjs.com/package/drizzle-cube)
15
15
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue)](https://www.typescriptlang.org/)
16
- [![Drizzle ORM](https://img.shields.io/badge/Drizzle%20ORM-0.44.4+-green)](https://orm.drizzle.team/)
16
+ [![Drizzle ORM](https://img.shields.io/badge/Drizzle%20ORM-0.45+-green)](https://orm.drizzle.team/)
17
17
  [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)
18
18
 
19
19
  ## What is a Semantic Layer?
20
20
 
21
21
  A semantic layer sits between your database and your applications. It provides:
22
22
 
23
- - **Business-friendly abstractions** - Define "Revenue" once, use it everywhere
24
- - **Consistent metrics** - Everyone uses the same calculation for "Active Users"
25
- - **Security isolation** - Multi-tenant filtering built into every query
26
- - **Self-service analytics** - Users explore data without writing SQL
27
- - **Decoupling** - Reports and AI agents continue to work when you change your underlying data model
23
+ - **Business-friendly abstractions** - define "Revenue" once and use it everywhere.
24
+ - **Consistent metrics** - every dashboard, API caller, and AI agent uses the same calculation for "Active Users".
25
+ - **Security hooks** - route verified identity into `securityContext` and apply tenant filters or database RLS consistently.
26
+ - **Self-service analytics** - users explore data without writing SQL.
27
+ - **Decoupling** - reports and AI agents continue to work when you change the underlying data model.
28
28
 
29
- Drizzle Cube brings this to the Drizzle ORM ecosystem with full type safety.
29
+ Drizzle Cube brings this to the Drizzle ORM ecosystem with full TypeScript inference, Cube.js-compatible APIs, React components, framework adapters, and MCP integration.
30
30
 
31
31
  ## Why Drizzle Cube?
32
32
 
33
33
  | Feature | Drizzle Cube | Raw SQL | Other BI Tools |
34
- |---------|-------------|---------|----------------|
35
- | Type Safety | Full TypeScript inference | Manual types | None |
36
- | SQL Injection | Impossible (parameterized) | Risk | Varies |
37
- | Multi-tenant | Built-in security context | Manual | Complex |
38
- | AI Integration | MCP server included | Build yourself | Limited |
39
- | Setup | Minutes | Hours | Days |
34
+ |---------|--------------|---------|----------------|
35
+ | Type safety | TypeScript cube definitions and inferred schema types | Manual types | Varies |
36
+ | SQL generation | Drizzle ORM query builder and parameterized SQL | Manual, error-prone | Tool-specific |
37
+ | Multi-tenant isolation | Application-provided `securityContext`, cube filters, and RLS hooks | Manual | Tool-specific |
38
+ | AI integration | MCP endpoint included in adapters | Build yourself | Varies |
39
+ | Setup | Add cubes to your existing Drizzle app | Build API and UI yourself | Often separate infrastructure |
40
40
 
41
41
  ## Quick Start
42
42
 
43
+ This example uses Hono, PostgreSQL, and `postgres` as one concrete path. Substitute your Drizzle driver and preferred adapter as needed.
44
+
43
45
  ### 1. Install
44
46
 
45
47
  ```bash
46
- npm install drizzle-cube drizzle-orm
48
+ npm install drizzle-cube drizzle-orm hono postgres
47
49
  ```
48
50
 
51
+ React client usage also requires the optional React/client peers used by your app and the shipped stylesheet import shown below.
52
+
49
53
  ### 2. Define Cubes on Your Schema
50
54
 
55
+ Drizzle Cube does not infer or generate cube models from your database schema today. Define cubes in TypeScript, using your existing Drizzle tables. The CLI commands `npx drizzle-cube charts list` and `npx drizzle-cube charts init` scaffold custom chart plugins, not cube definitions.
56
+
51
57
  ```typescript
52
58
  import { defineCube } from 'drizzle-cube/server'
53
59
  import { eq } from 'drizzle-orm'
54
- import { employees, departments } from './schema'
60
+ import { departments, employees } from './schema'
61
+
62
+ export const departmentsCube = defineCube('Departments', {
63
+ sql: (ctx) => ({
64
+ from: departments,
65
+ where: eq(departments.organisationId, ctx.securityContext.organisationId)
66
+ }),
67
+
68
+ measures: {
69
+ count: {
70
+ name: 'count',
71
+ type: 'count',
72
+ sql: departments.id
73
+ }
74
+ },
75
+
76
+ dimensions: {
77
+ id: {
78
+ name: 'id',
79
+ type: 'number',
80
+ sql: departments.id,
81
+ primaryKey: true
82
+ },
83
+ name: {
84
+ name: 'name',
85
+ type: 'string',
86
+ sql: departments.name
87
+ }
88
+ }
89
+ })
55
90
 
56
91
  export const employeesCube = defineCube('Employees', {
57
- // Security: filter by organisation automatically
58
92
  sql: (ctx) => ({
59
93
  from: employees,
60
94
  where: eq(employees.organisationId, ctx.securityContext.organisationId)
61
95
  }),
62
96
 
63
- // Define relationships for cross-cube queries
64
97
  joins: {
65
98
  Departments: {
66
99
  targetCube: () => departmentsCube,
@@ -70,50 +103,92 @@ export const employeesCube = defineCube('Employees', {
70
103
  },
71
104
 
72
105
  measures: {
73
- count: { type: 'count', sql: employees.id },
74
- avgSalary: { type: 'avg', sql: employees.salary },
75
- totalSalary: { type: 'sum', sql: employees.salary }
106
+ count: {
107
+ name: 'count',
108
+ type: 'count',
109
+ sql: employees.id
110
+ },
111
+ avgSalary: {
112
+ name: 'avgSalary',
113
+ type: 'avg',
114
+ sql: employees.salary
115
+ },
116
+ totalSalary: {
117
+ name: 'totalSalary',
118
+ type: 'sum',
119
+ sql: employees.salary
120
+ }
76
121
  },
77
122
 
78
123
  dimensions: {
79
- name: { type: 'string', sql: employees.name },
80
- email: { type: 'string', sql: employees.email },
81
- hiredAt: { type: 'time', sql: employees.hiredAt }
124
+ id: {
125
+ name: 'id',
126
+ type: 'number',
127
+ sql: employees.id,
128
+ primaryKey: true
129
+ },
130
+ name: {
131
+ name: 'name',
132
+ type: 'string',
133
+ sql: employees.name
134
+ },
135
+ email: {
136
+ name: 'email',
137
+ type: 'string',
138
+ sql: employees.email
139
+ },
140
+ hiredAt: {
141
+ name: 'hiredAt',
142
+ type: 'time',
143
+ sql: employees.hiredAt
144
+ }
82
145
  }
83
146
  })
84
147
  ```
85
148
 
86
- ### 3. Create API Server
149
+ ### 3. Create an API Server
87
150
 
88
151
  ```typescript
89
- import { Hono } from 'hono'
90
152
  import { createCubeApp } from 'drizzle-cube/adapters/hono'
91
- import { employeesCube, departmentsCube } from './cubes'
153
+ import { drizzle } from 'drizzle-orm/postgres-js'
154
+ import postgres from 'postgres'
155
+ import { departmentsCube, employeesCube } from './cubes'
156
+ import * as schema from './schema'
157
+
158
+ const client = postgres(process.env.DATABASE_URL!)
159
+ const db = drizzle(client, { schema })
92
160
 
93
161
  const app = createCubeApp({
94
- cubes: [employeesCube, departmentsCube],
162
+ cubes: [departmentsCube, employeesCube],
95
163
  drizzle: db,
96
164
  schema,
97
- extractSecurityContext: async (req) => ({
98
- organisationId: req.user.orgId // Multi-tenant isolation
99
- })
165
+ extractSecurityContext: async (c) => {
166
+ const organisationId = c.req.header('x-organisation-id')
167
+
168
+ if (!organisationId) {
169
+ throw new Error('Missing organisation context')
170
+ }
171
+
172
+ return { organisationId }
173
+ }
100
174
  })
101
175
 
102
176
  export default app
103
177
  ```
104
178
 
105
- ### 4. Query from Anywhere
179
+ > **Security note:** `x-organisation-id` is a local demonstration shortcut. In production, derive tenant and user identity from verified authentication, then return it from `extractSecurityContext`. Treat this function as your authentication and authorization boundary.
106
180
 
107
- ```typescript
108
- // From React components
109
- import { AnalysisBuilder, AnalyticsDashboard } from 'drizzle-cube/client'
181
+ Adapter defaults expose Cube.js-compatible REST routes at `/cubejs-api/v1` and the MCP endpoint at `/mcp` with MCP enabled by default. See the adapter documentation for [Express](https://www.drizzle-cube.dev/frameworks/express/), [Fastify](https://www.drizzle-cube.dev/frameworks/fastify/), [Hono](https://www.drizzle-cube.dev/frameworks/hono/), and [Next.js](https://www.drizzle-cube.dev/frameworks/nextjs/) variants.
110
182
 
111
- // From AI agents via MCP
112
- // Connect Claude, ChatGPT, or n8n to /mcp
183
+ ### 4. Query from Your App
113
184
 
114
- // From your own code
115
- const result = await fetch('/cubejs-api/v1/load', {
185
+ ```typescript
186
+ const response = await fetch('/cubejs-api/v1/load', {
116
187
  method: 'POST',
188
+ headers: {
189
+ 'Content-Type': 'application/json',
190
+ 'x-organisation-id': 'demo-org'
191
+ },
117
192
  body: JSON.stringify({
118
193
  query: {
119
194
  measures: ['Employees.count', 'Employees.avgSalary'],
@@ -121,65 +196,113 @@ const result = await fetch('/cubejs-api/v1/load', {
121
196
  }
122
197
  })
123
198
  })
199
+
200
+ if (!response.ok) {
201
+ throw new Error(`Cube query failed: ${response.status}`)
202
+ }
203
+
204
+ const result = await response.json()
124
205
  ```
125
206
 
207
+ ### 5. Add React Analytics Components
208
+
209
+ ```tsx
210
+ import { AnalysisBuilder, CubeProvider } from 'drizzle-cube/client'
211
+ import 'drizzle-cube/client/styles.css'
212
+
213
+ export function AnalyticsPage() {
214
+ return (
215
+ <CubeProvider
216
+ apiOptions={{
217
+ apiUrl: '/cubejs-api/v1',
218
+ headers: { 'x-organisation-id': 'demo-org' }
219
+ }}
220
+ >
221
+ <AnalysisBuilder />
222
+ </CubeProvider>
223
+ )
224
+ }
225
+ ```
226
+
227
+ Use `AnalyticsDashboard` when you want to compose and persist dashboard layouts in your own application storage. AI agents can connect to `/mcp`; those requests use the same adapter security context as the REST API.
228
+
126
229
  ## Analysis Modes
127
230
 
128
- Drizzle Cube supports multiple analysis modes out of the box:
231
+ Drizzle Cube supports multiple analysis modes at the semantic-layer level:
129
232
 
130
233
  ### Query Builder (Analysis Builder)
131
- Build ad-hoc queries with measures, dimensions, filters, and time ranges. Search-first field picker, drag-and-drop chart configuration, and multiple visualization options.
234
+
235
+ Build ad-hoc queries with measures, dimensions, filters, and time ranges. The React Analysis Builder includes a search-first field picker, chart configuration, and multiple visualization options.
132
236
 
133
237
  ![Analysis Builder](https://try.drizzle-cube.dev/dashboard_light.png)
134
238
 
135
239
  **[Try the Analysis Builder →](https://try.drizzle-cube.dev/analysis-builder)**
136
240
 
137
241
  ### Funnel Analysis
138
- Track conversion through multi-step processes. Define funnel steps, measure drop-off rates, and analyze time-to-convert metrics (average, median, p90).
242
+
243
+ Track conversion through ordered steps, drop-off rates, and time-to-convert metrics. Funnels require a binding key, an event time dimension, and ordered step filters. A canonical request nests the funnel configuration under `funnel`:
139
244
 
140
245
  ```typescript
141
- // Funnel query example
142
246
  {
143
- analysisType: 'funnel',
144
- steps: [
145
- { name: 'Signed Up', filter: { member: 'Users.status', operator: 'equals', values: ['registered'] } },
146
- { name: 'Activated', filter: { member: 'Users.activated', operator: 'equals', values: [true] } },
147
- { name: 'Subscribed', filter: { member: 'Users.plan', operator: 'notEquals', values: ['free'] } }
148
- ],
149
- timeDimension: 'Users.createdAt',
150
- dateRange: ['2024-01-01', '2024-12-31']
247
+ funnel: {
248
+ bindingKey: 'Users.id',
249
+ timeDimension: 'Events.timestamp',
250
+ includeTimeMetrics: true,
251
+ steps: [
252
+ {
253
+ name: 'Signed Up',
254
+ filter: { member: 'Events.type', operator: 'equals', values: ['signed_up'] }
255
+ },
256
+ {
257
+ name: 'Activated',
258
+ filter: { member: 'Events.type', operator: 'equals', values: ['activated'] }
259
+ },
260
+ {
261
+ name: 'Subscribed',
262
+ filter: { member: 'Events.type', operator: 'equals', values: ['subscribed'] }
263
+ }
264
+ ]
265
+ }
151
266
  }
152
267
  ```
153
268
 
154
269
  ### Flow Analysis
155
- Visualize user journeys and navigation paths through your application. Understand how users move between states or pages.
270
+
271
+ Visualize user journeys and navigation paths through states, pages, or events. Flow analysis needs event-style dimensions that identify the actor, timestamp, and step value.
156
272
 
157
273
  ### Retention Analysis
158
- Measure user retention over time with cohort analysis. Track how many users return after their first interaction across days, weeks, or months.
274
+
275
+ Measure cohort retention over days, weeks, or months. Retention analysis requires suitable cohort, return-event, and time dimensions.
159
276
 
160
277
  ### Dashboards
161
- Compose multiple charts into persistent dashboards with grid layouts, filters, and real-time updates. Save and share dashboard configurations.
278
+
279
+ Compose multiple charts into dashboards with grid layouts, filters, themes, and custom chart plugins. Applications own dashboard persistence and sharing workflows.
162
280
 
163
281
  **[Try the Dashboard Builder →](https://try.drizzle-cube.dev/)**
164
282
 
283
+ Validation surfaces missing mode prerequisites and engine capability differences before execution. See the [analysis documentation](https://www.drizzle-cube.dev/client/analysis-builder/) for detailed mode configuration.
284
+
165
285
  ## AI & MCP Integration
166
286
 
167
- Drizzle Cube includes a built-in **MCP server** that lets AI agents query your semantic layer:
287
+ Drizzle Cube adapters include a default-enabled MCP endpoint at `/mcp`, allowing AI agents to discover metadata, validate queries, and load results through the same security boundary as other API calls.
168
288
 
169
289
  ![Claude using Drizzle Cube MCP](https://try.drizzle-cube.dev/claude_mcp.png)
170
290
 
171
291
  ### Available MCP Tools
172
292
 
173
- | Tool | Purpose |
174
- |------|---------|
175
- | `drizzle_cube_discover` | Find relevant cubes by topic |
176
- | `drizzle_cube_validate` | Validate queries with auto-corrections |
177
- | `drizzle_cube_load` | Execute queries and return data |
178
- | `drizzle_cube_chart` | Execute queries with interactive chart visualization |
293
+ | Tool | Availability | Purpose |
294
+ |------|--------------|---------|
295
+ | `discover` | Always available | Find relevant cubes and members by topic. |
296
+ | `validate` | Always available | Validate queries and return corrections before execution. |
297
+ | `load` | Always available | Execute validated queries and return data. |
298
+ | `chart` | Conditional | Available only when MCP App support is enabled with `mcp.app`; returns interactive chart visualizations. |
299
+
300
+ For public deployments, configure verified bearer-token handling, resource metadata, and explicit browser origins as appropriate for your MCP clients. `extractSecurityContext` remains the application authentication boundary.
179
301
 
180
302
  ### Connect AI Tools
181
303
 
182
- **Claude Desktop** - Add to `claude_desktop_config.json`:
304
+ Connector setup varies by client and transport. For example, Claude Desktop can use `mcp-remote`:
305
+
183
306
  ```json
184
307
  {
185
308
  "mcpServers": {
@@ -191,74 +314,76 @@ Drizzle Cube includes a built-in **MCP server** that lets AI agents query your s
191
314
  }
192
315
  ```
193
316
 
194
- **Claude.ai** - Settings Connectors Add your MCP URL
195
-
196
- **ChatGPT** - Settings → Connectors → Developer Mode → Add MCP URL
197
-
198
- **n8n** - Use the MCP Client node in your workflows
199
-
200
- **[Learn more about AI integration →](https://www.drizzle-cube.dev/ai/mcp-endpoints/)**
317
+ See the [MCP endpoint documentation](https://www.drizzle-cube.dev/ai/mcp-endpoints/) for transport, authentication, and client-specific guidance.
201
318
 
202
319
  ## Claude Code Plugin
203
320
 
204
- Query your semantic layer with natural language directly from Claude Code:
321
+ Query your semantic layer with natural language directly from Claude Code. In Claude Code, run the interactive command:
205
322
 
206
- ```bash
207
- claude /install-plugin github:cliftonc/drizzle-cube-plugin
323
+ ```text
324
+ /plugin install cliftonc/drizzle-cube-plugin
208
325
  ```
209
326
 
210
- Then configure your API endpoint in `.drizzle-cube.json` and ask Claude things like:
211
- - "Show me revenue by region for the last quarter"
212
- - "Which departments have the highest average salary?"
213
- - "Create a dashboard showing key HR metrics"
214
-
215
- **[Plugin documentation →](https://www.drizzle-cube.dev/ai/claude-code-plugin/)**
327
+ The plugin repository is the source of truth for installation and configuration: **[cliftonc/drizzle-cube-plugin](https://github.com/cliftonc/drizzle-cube-plugin)**. For custom servers, configure Claude's `.mcp.json` plus the plugin's `.drizzle-cube.json` endpoint settings.
216
328
 
217
329
  ## Features
218
330
 
219
331
  ### Semantic Layer
220
- - **Cubes** - Define measures, dimensions, and calculated fields
221
- - **Joins** - belongsTo, hasOne, hasMany, belongsToMany relationships
222
- - **Security** - Multi-tenant isolation via security context
223
- - **Cross-cube queries** - Automatic join resolution
224
332
 
225
- ### Modeling Note: Multi-Fact Queries
226
- - For `FactA -> Dimension <- FactB` (star/snowflake patterns), define reverse `hasMany` joins on the center dimension back to each fact.
333
+ - **Cubes** - define measures, dimensions, hierarchies, calculated measures, and member metadata.
334
+ - **Joins** - model `belongsTo`, `hasOne`, `hasMany`, and `belongsToMany` relationships.
335
+ - **Query planning** - resolve cross-cube paths, validate queries, dry-run generated SQL, and explain plans.
336
+ - **Security hooks** - pass application-authenticated context into cube SQL and optional database RLS patterns.
337
+ - **Performance hooks** - configure query caching and execution options where appropriate.
338
+
339
+ ### Modeling Limitation: Multi-Fact Queries
340
+
341
+ - For `FactA -> Dimension <- FactB` star or snowflake patterns, define reverse `hasMany` joins on the center dimension back to each fact.
227
342
  - Example: if `Sales` and `Inventory` both `belongsTo Products`, `Products` should define `hasMany Sales` and `hasMany Inventory`.
228
- - Why: join-path traversal is directional. Without reverse joins, the planner may not be able to pick the center dimension as the primary cube, which can lead to fan-out-prone execution plans.
229
- - If you cannot add reverse joins immediately, include the center join key dimension (for example `Products.id`) in the query grain to reduce aggregation ambiguity.
343
+ - Join-path traversal is directional. Without reverse joins, the planner may not be able to pick the center dimension as the primary cube, which can lead to fan-out-prone execution plans.
344
+ - If you cannot add reverse joins immediately, include the center join key dimension, such as `Products.id`, in the query grain to reduce aggregation ambiguity.
230
345
 
231
346
  ### Client Components
232
- - **AnalysisBuilder** - Interactive query builder with chart visualization
233
- - **AnalyticsDashboard** - Configurable dashboards with grid layouts
234
- - **Chart components** - Bar, line, area, pie, funnel, heatmap, and more
235
347
 
236
- ### Framework Support
237
- - Express, Fastify, Hono, Next.js adapters
238
- - PostgreSQL, MySQL, SQLite, DuckDB databases
239
- - React components with TanStack Query
348
+ - **AnalysisBuilder** - interactive query builder for ad-hoc exploration.
349
+ - **AnalyticsDashboard** - dashboard composition with application-owned persistence.
350
+ - **Data browser** - metadata-driven field exploration.
351
+ - **Analysis modes** - query, funnel, flow, and retention.
352
+ - **Charts** - 26 built-in chart types, including Cartesian, pie, KPI, funnel, Sankey, sunburst, heatmap, retention, statistical, financial, profile, and gauge visualizations.
353
+ - **Customization** - theming, i18n, and custom chart plugins.
354
+
355
+ ### Framework and Database Support
356
+
357
+ - **Framework adapters** - Express, Fastify, Hono, and Next.js.
358
+ - **Database engines** - PostgreSQL, MySQL, SQLite, DuckDB, Snowflake, Databend, and SingleStore.
359
+ - **Client runtime** - React components with TanStack Query integration and optional feature-specific peer dependencies.
360
+
361
+ ### Responsibilities and Limitations
240
362
 
241
- ### Theming
242
- Three built-in themes (light, dark, neon) with semantic CSS variables. Add custom themes without changing components.
363
+ - Provide a connected Drizzle instance and schema for the selected driver.
364
+ - Install optional peer dependencies for selected adapters, chart types, and client features.
365
+ - Authenticate every request before returning `securityContext`.
366
+ - Apply tenant filters in cube SQL or configure database RLS for the same isolation goal.
367
+ - Persist dashboard configurations, sharing permissions, and user preferences in your application.
243
368
 
244
369
  ## Documentation
245
370
 
246
- - **[Getting Started](https://www.drizzle-cube.dev/getting-started/)** - Installation and setup
247
- - **[Semantic Layer](https://www.drizzle-cube.dev/semantic-layer/)** - Cubes, measures, dimensions, joins
248
- - **[Client Components](https://www.drizzle-cube.dev/client/)** - React components and hooks
249
- - **[AI Integration](https://www.drizzle-cube.dev/ai/)** - MCP server and Claude plugin
250
- - **[API Reference](https://www.drizzle-cube.dev/api-reference/)** - Complete API documentation
371
+ - **[Getting Started](https://www.drizzle-cube.dev/getting-started/)** - installation and setup.
372
+ - **[Semantic Layer](https://www.drizzle-cube.dev/semantic-layer/)** - cubes, measures, dimensions, joins, and security context.
373
+ - **[Client Components](https://www.drizzle-cube.dev/client/)** - React components, dashboards, charts, and analysis modes.
374
+ - **[AI Integration](https://www.drizzle-cube.dev/ai/)** - MCP endpoints and Claude Code plugin.
375
+ - **[API Reference](https://www.drizzle-cube.dev/api-reference/)** - detailed API documentation.
251
376
 
252
377
  ## Examples
253
378
 
254
- - **[Hono Example](https://github.com/cliftonc/drizzle-cube/tree/main/examples/hono)** - Cloudflare Workers compatible
255
- - **[Express Example](https://github.com/cliftonc/drizzle-cube/tree/main/examples/express)** - Traditional Node.js server
256
- - **[Fastify Example](https://github.com/cliftonc/drizzle-cube/tree/main/examples/fastify)** - High-performance server
257
- - **[Next.js Example](https://github.com/cliftonc/drizzle-cube/tree/main/examples/nextjs)** - Full-stack React
379
+ - **[Hono Example](https://github.com/cliftonc/drizzle-cube-hono)** - Hono server integration.
380
+ - **[Express Example](https://github.com/cliftonc/drizzle-cube-express)** - Express server integration.
381
+ - **[Fastify Example](https://github.com/cliftonc/drizzle-cube-fastify)** - Fastify server integration.
382
+ - **[Next.js Example](https://github.com/cliftonc/drizzle-cube-nextjs)** - full-stack Next.js integration.
258
383
 
259
384
  ## Contributing
260
385
 
261
- We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md).
386
+ We welcome contributions. Please see our [Contributing Guide](./CONTRIBUTING.md).
262
387
 
263
388
  Query performance is benchmarked on every push to `main` — browse the historical trends at the **[Performance Dashboard](https://cliftonc.github.io/drizzle-cube/dev/bench/)**.
264
389
 
@@ -272,7 +397,7 @@ MIT © [Clifton Cunningham](https://github.com/cliftonc)
272
397
 
273
398
  ---
274
399
 
275
- **Built with ❤️ for the Drizzle ORM community**
400
+ Built for the Drizzle ORM community.
276
401
 
277
402
  ---
278
403
 
@@ -0,0 +1,2 @@
1
+ import { _ as e } from "./handler-PjEeNmXY.js";
2
+ export { e as activityGridChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.activityGridChartConfig=e._;
@@ -0,0 +1,2 @@
1
+ import { T as e } from "./handler-PjEeNmXY.js";
2
+ export { e as areaChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.areaChartConfig=e.T;
@@ -0,0 +1,2 @@
1
+ import { D as e } from "./handler-PjEeNmXY.js";
2
+ export { e as barChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.barChartConfig=e.D;
@@ -0,0 +1,2 @@
1
+ import { o as e } from "./handler-PjEeNmXY.js";
2
+ export { e as boxPlotChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.boxPlotChartConfig=e.o;
@@ -0,0 +1,2 @@
1
+ import { S as e } from "./handler-PjEeNmXY.js";
2
+ export { e as bubbleChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.bubbleChartConfig=e.S;
@@ -0,0 +1,2 @@
1
+ import { i as e } from "./handler-PjEeNmXY.js";
2
+ export { e as candlestickChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.candlestickChartConfig=e.i;
@@ -0,0 +1,2 @@
1
+ import { v as e } from "./handler-PjEeNmXY.js";
2
+ export { e as dataTableConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.dataTableConfig=e.v;
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.funnelChartConfig=e.f;
@@ -0,0 +1,2 @@
1
+ import { f as e } from "./handler-PjEeNmXY.js";
2
+ export { e as funnelChartConfig };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./handler-PjEeNmXY.js";
2
+ export { e as gaugeChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.gaugeChartConfig=e.t;
@@ -0,0 +1,2 @@
1
+ import { l as e } from "./handler-PjEeNmXY.js";
2
+ export { e as heatmapChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.heatmapChartConfig=e.l;
@@ -0,0 +1,2 @@
1
+ import { h as e } from "./handler-PjEeNmXY.js";
2
+ export { e as kpiDeltaConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.kpiDeltaConfig=e.h;
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.kpiNumberConfig=e.g;
@@ -0,0 +1,2 @@
1
+ import { g as e } from "./handler-PjEeNmXY.js";
2
+ export { e as kpiNumberConfig };
@@ -0,0 +1,2 @@
1
+ import { m as e } from "./handler-PjEeNmXY.js";
2
+ export { e as kpiTextConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.kpiTextConfig=e.m;
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.lineChartConfig=e.E;
@@ -0,0 +1,2 @@
1
+ import { E as e } from "./handler-PjEeNmXY.js";
2
+ export { e as lineChartConfig };
@@ -0,0 +1,2 @@
1
+ import { p as e } from "./handler-PjEeNmXY.js";
2
+ export { e as markdownConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.markdownConfig=e.p;
@@ -0,0 +1,2 @@
1
+ import { r as e } from "./handler-PjEeNmXY.js";
2
+ export { e as measureProfileChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.measureProfileChartConfig=e.r;
@@ -0,0 +1,2 @@
1
+ import { w as e } from "./handler-PjEeNmXY.js";
2
+ export { e as pieChartConfig };
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.pieChartConfig=e.w;
@@ -0,0 +1 @@
1
+ const e=require("./handler-g8k2CZG2.cjs");exports.proportionBarChartConfig=e.n;
@@ -0,0 +1,2 @@
1
+ import { n as e } from "./handler-PjEeNmXY.js";
2
+ export { e as proportionBarChartConfig };
@@ -0,0 +1,2 @@
1
+ import { x as e } from "./handler-PjEeNmXY.js";
2
+ export { e as radarChartConfig };