drizzle-cube 0.6.5 → 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.
- package/README.md +231 -106
- package/dist/adapters/ActivityGridChart.config-CA4DWvoH.js +2 -0
- package/dist/adapters/ActivityGridChart.config-DC2PXV56.cjs +1 -0
- package/dist/adapters/AreaChart.config-BY4hUUJY.js +2 -0
- package/dist/adapters/AreaChart.config-CPwW53vL.cjs +1 -0
- package/dist/adapters/BarChart.config-Be-PGzp5.js +2 -0
- package/dist/adapters/BarChart.config-CfdsJtHY.cjs +1 -0
- package/dist/adapters/BoxPlotChart.config-BYwJZm4S.js +2 -0
- package/dist/adapters/BoxPlotChart.config-BoZN94lR.cjs +1 -0
- package/dist/adapters/BubbleChart.config-DX9aSqMD.js +2 -0
- package/dist/adapters/BubbleChart.config-ijpB_fme.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-C3iEXUN1.js +2 -0
- package/dist/adapters/CandlestickChart.config-DIGeboSZ.cjs +1 -0
- package/dist/adapters/DataTable.config-BjFTY-Md.js +2 -0
- package/dist/adapters/DataTable.config-ClJZRtsp.cjs +1 -0
- package/dist/adapters/FunnelChart.config-DYDd9Y2z.cjs +1 -0
- package/dist/adapters/FunnelChart.config-cVxnY9hD.js +2 -0
- package/dist/adapters/GaugeChart.config-BxWKW2b5.js +2 -0
- package/dist/adapters/GaugeChart.config-DsmevM9y.cjs +1 -0
- package/dist/adapters/HeatMapChart.config-BhO-Wj54.js +2 -0
- package/dist/adapters/HeatMapChart.config-HWcgNRuG.cjs +1 -0
- package/dist/adapters/KpiDelta.config-D3JOnd5n.js +2 -0
- package/dist/adapters/KpiDelta.config-DmLmTPSH.cjs +1 -0
- package/dist/adapters/KpiNumber.config-CVghzBbF.cjs +1 -0
- package/dist/adapters/KpiNumber.config-aK-Ueuhk.js +2 -0
- package/dist/adapters/KpiText.config-DLl8NWit.js +2 -0
- package/dist/adapters/KpiText.config-DbWJ42vd.cjs +1 -0
- package/dist/adapters/LineChart.config-C3i3Tgro.cjs +1 -0
- package/dist/adapters/LineChart.config-El3XPCFT.js +2 -0
- package/dist/adapters/MarkdownChart.config-D39QzWHW.js +2 -0
- package/dist/adapters/MarkdownChart.config-e_9gUs93.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-BWQ82qcV.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-l9WITF80.cjs +1 -0
- package/dist/adapters/PieChart.config-CO3Gib0h.js +2 -0
- package/dist/adapters/PieChart.config-yqXTNkix.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-B7CtjFwg.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-tGjQou_c.js +2 -0
- package/dist/adapters/RadarChart.config-B2YZnD_e.js +2 -0
- package/dist/adapters/RadarChart.config-DwJmHK8y.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-B9XP-cQ1.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-y2riBDwJ.js +2 -0
- package/dist/adapters/RetentionCombinedChart.config-Fzxwm_WV.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-ohy-zQbu.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-0ykBWgUp.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-DF_4ARr0.cjs +1 -0
- package/dist/adapters/SankeyChart.config-ChdkKqAn.cjs +1 -0
- package/dist/adapters/SankeyChart.config-Cl8kxpKq.js +2 -0
- package/dist/adapters/ScatterChart.config-BIqh_Z8u.cjs +1 -0
- package/dist/adapters/ScatterChart.config-D4v0Z_w4.js +2 -0
- package/dist/adapters/SunburstChart.config-CGMw6hSr.cjs +1 -0
- package/dist/adapters/SunburstChart.config-CmK6DVYQ.js +2 -0
- package/dist/adapters/TreeMapChart.config-B6WC-TVm.js +2 -0
- package/dist/adapters/TreeMapChart.config-q-kBddZC.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-BiOMGjjF.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-C_K8zN09.js +2 -0
- package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +1 -0
- package/dist/adapters/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
- package/dist/adapters/compiler-CGJQlQ6Q.cjs +166 -0
- package/dist/adapters/{compiler-ZruQ85ff.js → compiler-mz2Uudwd.js} +116 -60
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-DoSUiMmv.js → core-4WY4M7hp.js} +8 -8
- package/dist/adapters/core-FpI2NfHt.cjs +1 -0
- package/dist/adapters/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
- package/dist/adapters/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +5 -5
- package/dist/adapters/fastify/index.cjs +2 -2
- package/dist/adapters/fastify/index.js +10 -6
- package/dist/adapters/google-BhvizbFR.cjs +2 -0
- package/dist/adapters/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
- package/dist/adapters/{handler-j74EJDdo.js → handler-PjEeNmXY.js} +230 -152
- package/dist/adapters/{handler-DyIyrFFp.cjs → handler-g8k2CZG2.cjs} +9 -9
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +26 -18
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +2 -2
- package/dist/adapters/mcp-transport-OBc8jVG5.js +603 -0
- package/dist/adapters/mcp-transport-n1r1Kqzn.cjs +40 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +14 -11
- package/dist/adapters/openai-7xjDI7R2.cjs +19 -0
- package/dist/adapters/{openai-BjR3ohaS.js → openai-CcY2fW3E.js} +18 -17
- package/dist/adapters/openai-DHjN2OwG.js +9295 -0
- package/dist/{server/openai-CsVXOcJZ.cjs → adapters/openai-DnWF0wCU.cjs} +1 -1
- package/dist/adapters/utils-DJ0_72_G.cjs +128 -0
- package/dist/adapters/{utils-U7gV5wQL.js → utils-G52pPkce.js} +51 -17
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/cjs/client/charts/chartConfigHelpers.d.ts +20 -0
- package/dist/cjs/client/charts.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
- package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/index.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
- package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
- package/dist/cjs/client/components/DashboardPortletCard.d.ts +1 -1
- package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
- package/dist/cjs/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +5 -0
- package/dist/cjs/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -1
- package/dist/cjs/client/components/charts/ChartSummaryHeader.d.ts +31 -0
- package/dist/cjs/client/components/charts/DataTable.d.ts +1 -1
- package/dist/cjs/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiCompactLayout.d.ts +31 -0
- package/dist/cjs/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +2 -0
- package/dist/cjs/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiStates.d.ts +7 -2
- package/dist/cjs/client/components/charts/KpiText.d.ts +1 -1
- package/dist/cjs/client/components/charts/LineChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/PieChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ProportionBarChart.config.d.ts +10 -0
- package/dist/cjs/client/components/charts/ProportionBarChart.d.ts +12 -0
- package/dist/cjs/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/cjs/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +62 -0
- package/dist/cjs/client/components/charts/chartScaffolding.d.ts +29 -0
- package/dist/cjs/client/icons/types.d.ts +1 -0
- package/dist/cjs/client/index.d.ts +1 -1
- package/dist/cjs/client/types.d.ts +7 -1
- package/dist/cli/index.cjs +6 -5
- package/dist/client/charts/chartConfigHelpers.d.ts +20 -0
- package/dist/client/charts.d.ts +1 -1
- package/dist/client/charts.js +13 -13
- package/dist/client/chunks/{DashboardEditModal-DFQSxR_C.js → DashboardEditModal-BEG0d7wI.js} +4599 -1321
- package/dist/client/chunks/DashboardEditModal-BEG0d7wI.js.map +1 -0
- package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js +109 -0
- package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js → RetentionCombinedChart-DeFz5wJh.js} +8 -8
- package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js.map → RetentionCombinedChart-DeFz5wJh.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js → RetentionHeatmap-DkJOiNwz.js} +6 -6
- package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js.map → RetentionHeatmap-DkJOiNwz.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-CBZ7lOC-.js → analysis-builder-BWLL6ztg.js} +421 -413
- package/dist/client/chunks/analysis-builder-BWLL6ztg.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-8alCn-zw.js → analysis-builder-shared-Ba3JsRNw.js} +454 -452
- package/dist/client/chunks/analysis-builder-shared-Ba3JsRNw.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js → chart-activity-grid-CyVDJSAI.js} +43 -6
- package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js.map → chart-activity-grid-CyVDJSAI.js.map} +1 -1
- package/dist/client/chunks/chart-area-b5UAS6NZ.js +963 -0
- package/dist/client/chunks/chart-area-b5UAS6NZ.js.map +1 -0
- package/dist/client/chunks/{chart-bar-DAO3PPcE.js → chart-bar-aVNonvWw.js} +71 -64
- package/dist/client/chunks/chart-bar-aVNonvWw.js.map +1 -0
- package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js → chart-box-plot-Bx6M97VL.js} +3 -3
- package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js.map → chart-box-plot-Bx6M97VL.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-DvP_6_n9.js → chart-bubble-EWd4_ucG.js} +5 -5
- package/dist/client/chunks/{chart-bubble-DvP_6_n9.js.map → chart-bubble-EWd4_ucG.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js → chart-candlestick-CG5EX67b.js} +3 -3
- package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js.map → chart-candlestick-CG5EX67b.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js → chart-config-activity-grid-C4vXGQNu.js} +2 -2
- package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js.map → chart-config-activity-grid-C4vXGQNu.js.map} +1 -1
- package/dist/client/chunks/{chart-config-area-DxwIZ4Uf.js → chart-config-area-DsrZCIwF.js} +35 -4
- package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +1 -0
- package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js → chart-config-bar-BixSs43E.js} +7 -7
- package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js.map → chart-config-bar-BixSs43E.js.map} +1 -1
- package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js → chart-config-box-plot-DMuJZqkr.js} +2 -2
- package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js.map → chart-config-box-plot-DMuJZqkr.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js → chart-config-bubble-1IyZinH0.js} +2 -2
- package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js.map → chart-config-bubble-1IyZinH0.js.map} +1 -1
- package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js → chart-config-candlestick-QwQwJB_-.js} +2 -2
- package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js.map → chart-config-candlestick-QwQwJB_-.js.map} +1 -1
- package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js → chart-config-data-table-CrGyS7aJ.js} +2 -2
- package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js.map → chart-config-data-table-CrGyS7aJ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js → chart-config-funnel-DMLLKtPF.js} +2 -2
- package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js.map → chart-config-funnel-DMLLKtPF.js.map} +1 -1
- package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js → chart-config-gauge-DNafFwfS.js} +2 -2
- package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js.map → chart-config-gauge-DNafFwfS.js.map} +1 -1
- package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js → chart-config-heat-map-CJF65SyL.js} +2 -2
- package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js.map → chart-config-heat-map-CJF65SyL.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-DYopvwyG.js → chart-config-kpi-delta-Cl7k6jTj.js} +13 -4
- package/dist/client/chunks/chart-config-kpi-delta-Cl7k6jTj.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-number-BhMdoArB.js → chart-config-kpi-number-DCcnANWC.js} +6 -4
- package/dist/client/chunks/chart-config-kpi-number-DCcnANWC.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js → chart-config-kpi-text-DnnxvOSA.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js.map → chart-config-kpi-text-DnnxvOSA.js.map} +1 -1
- package/dist/client/chunks/{chart-config-line-CBfM0Rds.js → chart-config-line-CBF9Px9b.js} +9 -7
- package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +1 -0
- package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js → chart-config-markdown-C5kBQOjP.js} +2 -2
- package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js.map → chart-config-markdown-C5kBQOjP.js.map} +1 -1
- package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js → chart-config-measure-profile-CRSRIpKh.js} +2 -2
- package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js.map → chart-config-measure-profile-CRSRIpKh.js.map} +1 -1
- package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js → chart-config-pie-DZLa6Eqm.js} +3 -3
- package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js.map → chart-config-pie-DZLa6Eqm.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radar-BlAIGnww.js → chart-config-radar-DR6vHHyd.js} +3 -3
- package/dist/client/chunks/{chart-config-radar-BlAIGnww.js.map → chart-config-radar-DR6vHHyd.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js → chart-config-radial-bar-DVFou4fB.js} +3 -3
- package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js.map → chart-config-radial-bar-DVFou4fB.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js → chart-config-sankey-De8E0C1A.js} +2 -2
- package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js.map → chart-config-sankey-De8E0C1A.js.map} +1 -1
- package/dist/client/chunks/{chart-config-scatter-q_olh54e.js → chart-config-scatter-CWA89oX4.js} +2 -2
- package/dist/client/chunks/{chart-config-scatter-q_olh54e.js.map → chart-config-scatter-CWA89oX4.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js → chart-config-sunburst-B4NUYHMH.js} +2 -2
- package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js.map → chart-config-sunburst-B4NUYHMH.js.map} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js → chart-config-tree-map-Uhise6Bx.js} +3 -3
- package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js.map → chart-config-tree-map-Uhise6Bx.js.map} +1 -1
- package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js → chart-config-waterfall-DlQb_PLh.js} +2 -2
- package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js.map → chart-config-waterfall-DlQb_PLh.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-BP6DMdom.js → chart-data-table-D6Cu86m_.js} +1072 -1034
- package/dist/client/chunks/chart-data-table-D6Cu86m_.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-xeVGBy-p.js → chart-funnel-CLRYMbFj.js} +3 -3
- package/dist/client/chunks/{chart-funnel-xeVGBy-p.js.map → chart-funnel-CLRYMbFj.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js → chart-gauge-BRqb8eNU.js} +62 -62
- package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js.map → chart-gauge-BRqb8eNU.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js → chart-heat-map-BCfr3nYJ.js} +4 -4
- package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js.map → chart-heat-map-BCfr3nYJ.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-nXQnRRBr.js → chart-kpi-delta-ISxzG6g_.js} +122 -48
- package/dist/client/chunks/chart-kpi-delta-ISxzG6g_.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js +263 -0
- package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js.map +1 -0
- package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js → chart-kpi-text-BUm932QA.js} +4 -4
- package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js.map → chart-kpi-text-BUm932QA.js.map} +1 -1
- package/dist/client/chunks/chart-line-BM_DrpQW.js +117 -0
- package/dist/client/chunks/chart-line-BM_DrpQW.js.map +1 -0
- package/dist/client/chunks/{chart-markdown-BVrqqygz.js → chart-markdown-BNrsZpqM.js} +1550 -1349
- package/dist/client/chunks/chart-markdown-BNrsZpqM.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js → chart-measure-profile-DttUWxIu.js} +6 -5
- package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js.map → chart-measure-profile-DttUWxIu.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-BDaaYt7a.js → chart-pie-D7pxCMll.js} +11 -11
- package/dist/client/chunks/{chart-pie-BDaaYt7a.js.map → chart-pie-D7pxCMll.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-Bz07PIVe.js → chart-radar-sUnyHn3a.js} +10 -10
- package/dist/client/chunks/{chart-radar-Bz07PIVe.js.map → chart-radar-sUnyHn3a.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js → chart-radial-bar-Df9zbhst.js} +11 -11
- package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js.map → chart-radial-bar-Df9zbhst.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-BAeNbI-p.js → chart-sankey-d_iS5fjB.js} +3 -3
- package/dist/client/chunks/{chart-sankey-BAeNbI-p.js.map → chart-sankey-d_iS5fjB.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-CRhGLCcy.js → chart-scatter-DD5v7r4K.js} +10 -10
- package/dist/client/chunks/{chart-scatter-CRhGLCcy.js.map → chart-scatter-DD5v7r4K.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js → chart-sunburst-jL5f9PiB.js} +4 -4
- package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js.map → chart-sunburst-jL5f9PiB.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js → chart-tree-map-DK-pNvh4.js} +31 -29
- package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js.map → chart-tree-map-DK-pNvh4.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js → chart-waterfall-CBGewe2Z.js} +4 -4
- package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js.map → chart-waterfall-CBGewe2Z.js.map} +1 -1
- package/dist/client/chunks/{charts-core-Cs-UIsQa.js → charts-core-BHjcM-rm.js} +2 -2
- package/dist/client/chunks/{charts-core-Cs-UIsQa.js.map → charts-core-BHjcM-rm.js.map} +1 -1
- package/dist/client/chunks/charts-loader-FXj1JiQZ.js +85 -0
- package/dist/client/chunks/charts-loader-FXj1JiQZ.js.map +1 -0
- package/dist/client/chunks/{core-D7vPfUIe.js → core-BWRP9s8x.js} +9 -8
- package/dist/client/chunks/core-BWRP9s8x.js.map +1 -0
- package/dist/client/chunks/{dist-BwQr11Fz.js → dist-BPmPx7kz.js} +56 -51
- package/dist/client/chunks/{dist-BwQr11Fz.js.map → dist-BPmPx7kz.js.map} +1 -1
- package/dist/client/chunks/{exceljs.min-Dey-qIFL.js → exceljs.min-DWC_b8G9.js} +236 -202
- package/dist/client/chunks/{exceljs.min-Dey-qIFL.js.map → exceljs.min-DWC_b8G9.js.map} +1 -1
- package/dist/client/chunks/{javascript-DFnKaHmQ.js → javascript-D6aJaG8F.js} +7 -5
- package/dist/client/chunks/javascript-D6aJaG8F.js.map +1 -0
- package/dist/client/chunks/json-BrJhaXJI.js +44 -0
- package/dist/client/chunks/json-BrJhaXJI.js.map +1 -0
- package/dist/client/chunks/{nl-NL-2zTAWTej.js → nl-NL-B1MNDJT-.js} +39 -2
- package/dist/client/chunks/{nl-NL-2zTAWTej.js.map → nl-NL-B1MNDJT-.js.map} +1 -1
- package/dist/client/chunks/{rolldown-runtime-CWhphoD1.js → rolldown-runtime-DArdT4gl.js} +2 -2
- package/dist/client/chunks/{schema-visualization-BGT_cNon.js → schema-visualization-BXdd320w.js} +10 -10
- package/dist/client/chunks/schema-visualization-BXdd320w.js.map +1 -0
- package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js → syntaxHighlighting-Cm43as8i.js} +2 -2
- package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js.map → syntaxHighlighting-Cm43as8i.js.map} +1 -1
- package/dist/client/chunks/{useDebounce-7suCFq9v.js → useDirtyStateTracking-CFgSTyny.js} +112 -50
- package/dist/client/chunks/useDirtyStateTracking-CFgSTyny.js.map +1 -0
- package/dist/client/chunks/{useExplainAI-CEf04DPE.js → useExplainAI-CisDjZNp.js} +18 -18
- package/dist/client/chunks/{useExplainAI-CEf04DPE.js.map → useExplainAI-CisDjZNp.js.map} +1 -1
- package/dist/client/chunks/{utils-DjLiJKS_.js → utils-CToHkuhU.js} +2 -2
- package/dist/client/chunks/{utils-DjLiJKS_.js.map → utils-CToHkuhU.js.map} +1 -1
- package/dist/client/chunks/{vendor-DFAQ4Ucl.js → vendor-D5xADz_A.js} +225 -167
- package/dist/client/chunks/vendor-D5xADz_A.js.map +1 -0
- package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
- package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/index.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
- package/dist/client/components/DashboardPortletCard.d.ts +1 -1
- package/dist/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
- package/dist/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
- package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/client/components/charts/AngledXAxisTick.d.ts +5 -0
- package/dist/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/client/components/charts/BarChart.d.ts +1 -1
- package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/client/components/charts/ChartContainer.d.ts +7 -1
- package/dist/client/components/charts/ChartSummaryHeader.d.ts +31 -0
- package/dist/client/components/charts/DataTable.d.ts +1 -1
- package/dist/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/client/components/charts/KpiCompactLayout.d.ts +31 -0
- package/dist/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/client/components/charts/KpiDelta.helpers.d.ts +2 -0
- package/dist/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/client/components/charts/KpiStates.d.ts +7 -2
- package/dist/client/components/charts/KpiText.d.ts +1 -1
- package/dist/client/components/charts/LineChart.d.ts +1 -1
- package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/client/components/charts/PieChart.d.ts +1 -1
- package/dist/client/components/charts/ProportionBarChart.config.d.ts +10 -0
- package/dist/client/components/charts/ProportionBarChart.d.ts +12 -0
- package/dist/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/client/components/charts/cartesianChartHelpers.d.ts +62 -0
- package/dist/client/components/charts/chartScaffolding.d.ts +29 -0
- package/dist/client/components.js +3 -4
- package/dist/client/hooks.js +4 -5
- package/dist/client/icons/types.d.ts +1 -0
- package/dist/client/icons.js +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +48 -49
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/styles.d.css.ts +2 -0
- package/dist/client/types.d.ts +7 -1
- package/dist/client/utils.js +13 -9
- package/dist/client/utils.js.map +1 -1
- package/dist/client-bundle-stats.html +388 -33
- package/dist/mcp-app/mcp-app.html +146 -159
- package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +1 -0
- package/dist/server/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
- package/dist/server/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
- package/dist/server/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
- package/dist/server/google-BhvizbFR.cjs +2 -0
- package/dist/server/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
- package/dist/server/index.cjs +84 -84
- package/dist/server/index.js +2418 -2260
- package/dist/server/openai-CUf4vc3Q.js +9295 -0
- package/dist/server/openai-Cu4TXXjl.cjs +19 -0
- package/dist/server/{openai-BjR3ohaS.js → openai-Czk1BdHa.js} +18 -17
- package/dist/{adapters/openai-CsVXOcJZ.cjs → server/openai-DBwI1OSu.cjs} +1 -1
- package/dist/server/rolldown-runtime-B0aSnxlc.js +20 -0
- package/dist/server/rolldown-runtime-DF3sbh8G.cjs +1 -0
- package/package.json +18 -14
- package/dist/adapters/ActivityGridChart.config-Bvi50jl_.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-BwswifOD.js +0 -2
- package/dist/adapters/AreaChart.config-Cehf1Kjo.cjs +0 -1
- package/dist/adapters/AreaChart.config-DC-gnmli.js +0 -2
- package/dist/adapters/BarChart.config-BY53r96T.cjs +0 -1
- package/dist/adapters/BarChart.config-DJN5Oqmw.js +0 -2
- package/dist/adapters/BoxPlotChart.config-9hLT3yMs.js +0 -2
- package/dist/adapters/BoxPlotChart.config-D9P4PMTf.cjs +0 -1
- package/dist/adapters/BubbleChart.config-CEVSsy7u.js +0 -2
- package/dist/adapters/BubbleChart.config-Cji0z0Tb.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-DPv76FmM.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-tcHTorLu.js +0 -2
- package/dist/adapters/DataTable.config-D4txBrlQ.cjs +0 -1
- package/dist/adapters/DataTable.config-DrObkanI.js +0 -2
- package/dist/adapters/FunnelChart.config-BFYSkibE.js +0 -2
- package/dist/adapters/FunnelChart.config-BTSFeha-.cjs +0 -1
- package/dist/adapters/GaugeChart.config-BFz6NZfT.js +0 -2
- package/dist/adapters/GaugeChart.config-DJKD6oh8.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-C3EZl9Sy.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-jUCb5NAE.js +0 -2
- package/dist/adapters/KpiDelta.config-DhuealNk.js +0 -2
- package/dist/adapters/KpiDelta.config-m6FEIeWo.cjs +0 -1
- package/dist/adapters/KpiNumber.config-Cmd7eHmg.cjs +0 -1
- package/dist/adapters/KpiNumber.config-KQdKrkK-.js +0 -2
- package/dist/adapters/KpiText.config-D_pU4jH3.cjs +0 -1
- package/dist/adapters/KpiText.config-V8SvhllA.js +0 -2
- package/dist/adapters/LineChart.config-BuWM0TJx.js +0 -2
- package/dist/adapters/LineChart.config-CsxJ3f5A.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-CJdjenj7.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-oCWrAuom.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-DBLnhtOk.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-DWg0jzxA.js +0 -2
- package/dist/adapters/PieChart.config-D3qI6nbM.cjs +0 -1
- package/dist/adapters/PieChart.config-R2rcul2D.js +0 -2
- package/dist/adapters/RadarChart.config-BlK8QuDi.js +0 -2
- package/dist/adapters/RadarChart.config-fH3ce10I.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-CqCnb27I.js +0 -2
- package/dist/adapters/RadialBarChart.config-DQQHJOCs.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-BFJ8i-kp.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-B_Wd_YjX.cjs +0 -1
- package/dist/adapters/RetentionHeatmap.config-BLqu9-Ft.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-MvOPw_Dd.cjs +0 -1
- package/dist/adapters/SankeyChart.config-C_4u9Xiq.js +0 -2
- package/dist/adapters/SankeyChart.config-EH6wsjPr.cjs +0 -1
- package/dist/adapters/ScatterChart.config-D-MlQ7mP.js +0 -2
- package/dist/adapters/ScatterChart.config-DmwiEBN-.cjs +0 -1
- package/dist/adapters/SunburstChart.config-BRr_as_L.js +0 -2
- package/dist/adapters/SunburstChart.config-CptDj8e4.cjs +0 -1
- package/dist/adapters/TreeMapChart.config-D5wX2xaT.cjs +0 -1
- package/dist/adapters/TreeMapChart.config-Dyhwpwq3.js +0 -2
- package/dist/adapters/WaterfallChart.config-B_LGJIov.js +0 -2
- package/dist/adapters/WaterfallChart.config-Q4Fv196W.cjs +0 -1
- package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +0 -1
- package/dist/adapters/compiler-D0v5KJhv.cjs +0 -166
- package/dist/adapters/core-CVqTwOR3.cjs +0 -1
- package/dist/adapters/google-BOnRIN1w.cjs +0 -2
- package/dist/adapters/mcp-transport-BuU5CrKL.cjs +0 -40
- package/dist/adapters/mcp-transport-l8DhKzR5.js +0 -601
- package/dist/adapters/openai-BCSKRcbD.js +0 -5447
- package/dist/adapters/openai-ClVVLjNl.cjs +0 -17
- package/dist/adapters/utils-CBR-9AMD.cjs +0 -128
- package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +0 -3283
- package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +0 -1
- package/dist/client/chunks/DashboardEditModal-DFQSxR_C.js.map +0 -1
- package/dist/client/chunks/analysis-builder-CBZ7lOC-.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-8alCn-zw.js.map +0 -1
- package/dist/client/chunks/chart-area-BHxPNsmc.js +0 -775
- package/dist/client/chunks/chart-area-BHxPNsmc.js.map +0 -1
- package/dist/client/chunks/chart-bar-DAO3PPcE.js.map +0 -1
- package/dist/client/chunks/chart-config-area-DxwIZ4Uf.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +0 -1
- package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +0 -1
- package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-nXQnRRBr.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js +0 -244
- package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js.map +0 -1
- package/dist/client/chunks/chart-line-sJK-cJc0.js +0 -101
- package/dist/client/chunks/chart-line-sJK-cJc0.js.map +0 -1
- package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +0 -1
- package/dist/client/chunks/charts-loader-DAJbAD7a.js +0 -84
- package/dist/client/chunks/charts-loader-DAJbAD7a.js.map +0 -1
- package/dist/client/chunks/core-D7vPfUIe.js.map +0 -1
- package/dist/client/chunks/javascript-DFnKaHmQ.js.map +0 -1
- package/dist/client/chunks/json-Cu6rbgWf.js +0 -38
- package/dist/client/chunks/json-Cu6rbgWf.js.map +0 -1
- package/dist/client/chunks/schema-visualization-BGT_cNon.js.map +0 -1
- package/dist/client/chunks/useDebounce-7suCFq9v.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +0 -66
- package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +0 -1
- package/dist/client/chunks/vendor-DFAQ4Ucl.js.map +0 -1
- package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +0 -1
- package/dist/server/google-BOnRIN1w.cjs +0 -2
- package/dist/server/openai-BCSKRcbD.js +0 -5447
- package/dist/server/openai-ClVVLjNl.cjs +0 -17
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
Build a semantic layer on top of your Drizzle schema. Define cubes with measures, dimensions, and
|
|
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
|
[](https://www.npmjs.com/package/drizzle-cube)
|
|
15
15
|
[](https://www.typescriptlang.org/)
|
|
16
|
-
[](https://orm.drizzle.team/)
|
|
17
17
|
[](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** -
|
|
24
|
-
- **Consistent metrics** -
|
|
25
|
-
- **Security
|
|
26
|
-
- **Self-service analytics** -
|
|
27
|
-
- **Decoupling** -
|
|
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
|
|
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
|
|
36
|
-
| SQL
|
|
37
|
-
| Multi-tenant |
|
|
38
|
-
| AI
|
|
39
|
-
| Setup |
|
|
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 {
|
|
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: {
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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 {
|
|
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: [
|
|
162
|
+
cubes: [departmentsCube, employeesCube],
|
|
95
163
|
drizzle: db,
|
|
96
164
|
schema,
|
|
97
|
-
extractSecurityContext: async (
|
|
98
|
-
organisationId
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
112
|
-
// Connect Claude, ChatGPT, or n8n to /mcp
|
|
183
|
+
### 4. Query from Your App
|
|
113
184
|
|
|
114
|
-
|
|
115
|
-
const
|
|
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
|
|
231
|
+
Drizzle Cube supports multiple analysis modes at the semantic-layer level:
|
|
129
232
|
|
|
130
233
|
### Query Builder (Analysis Builder)
|
|
131
|
-
|
|
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
|

|
|
134
238
|
|
|
135
239
|
**[Try the Analysis Builder →](https://try.drizzle-cube.dev/analysis-builder)**
|
|
136
240
|
|
|
137
241
|
### Funnel Analysis
|
|
138
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|

|
|
170
290
|
|
|
171
291
|
### Available MCP Tools
|
|
172
292
|
|
|
173
|
-
| Tool | Purpose |
|
|
174
|
-
|
|
175
|
-
| `
|
|
176
|
-
| `
|
|
177
|
-
| `
|
|
178
|
-
| `
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
```
|
|
207
|
-
|
|
323
|
+
```text
|
|
324
|
+
/plugin install cliftonc/drizzle-cube-plugin
|
|
208
325
|
```
|
|
209
326
|
|
|
210
|
-
|
|
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
|
-
|
|
226
|
-
-
|
|
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
|
-
-
|
|
229
|
-
- If you cannot add reverse joins immediately, include the center join key dimension
|
|
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
|
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
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
|
-
|
|
242
|
-
|
|
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/)** -
|
|
247
|
-
- **[Semantic Layer](https://www.drizzle-cube.dev/semantic-layer/)** -
|
|
248
|
-
- **[Client Components](https://www.drizzle-cube.dev/client/)** - React components and
|
|
249
|
-
- **[AI Integration](https://www.drizzle-cube.dev/ai/)** - MCP
|
|
250
|
-
- **[API Reference](https://www.drizzle-cube.dev/api-reference/)** -
|
|
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
|
|
255
|
-
- **[Express Example](https://github.com/cliftonc/drizzle-cube
|
|
256
|
-
- **[Fastify Example](https://github.com/cliftonc/drizzle-cube
|
|
257
|
-
- **[Next.js Example](https://github.com/cliftonc/drizzle-cube
|
|
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
|
|
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
|
-
|
|
400
|
+
Built for the Drizzle ORM community.
|
|
276
401
|
|
|
277
402
|
---
|
|
278
403
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.activityGridChartConfig=e._;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.areaChartConfig=e.T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.barChartConfig=e.D;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.boxPlotChartConfig=e.o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.bubbleChartConfig=e.S;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.candlestickChartConfig=e.i;
|
|
@@ -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 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.gaugeChartConfig=e.t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.heatmapChartConfig=e.l;
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.markdownConfig=e.p;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./handler-g8k2CZG2.cjs");exports.measureProfileChartConfig=e.r;
|
|
@@ -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;
|