drizzle-cube 0.5.8 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/{adapters/express → express}/index.d.ts +3 -3
- package/dist/adapters/express/index.js +50 -50
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/{adapters/fastify → fastify}/index.d.ts +3 -3
- package/dist/adapters/fastify/index.js +78 -78
- package/dist/adapters/google-BOnRIN1w.cjs +2 -0
- package/dist/{server/google-CFYljAOF.js → adapters/google-CvKM9yVM.js} +83 -71
- package/dist/adapters/{handler-Cx8QYLk6.js → handler-CfgE0JSL.js} +499 -576
- package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
- package/dist/adapters/hono/agent-handler.d.ts +9 -0
- package/dist/adapters/hono/index.cjs +2 -2
- package/dist/adapters/{adapters/hono → hono}/index.d.ts +4 -4
- package/dist/adapters/hono/index.js +205 -175
- package/dist/adapters/hono/mcp-handler.d.ts +37 -0
- package/dist/adapters/locale-DDvZDFVn.js +8114 -0
- package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
- package/dist/adapters/{adapters/locale.d.ts → locale.d.ts} +1 -1
- package/dist/adapters/mcp-tools-handlers.d.ts +18 -0
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/{adapters/mcp-tools.d.ts → mcp-tools.d.ts} +5 -5
- package/dist/adapters/mcp-tools.js +49 -38
- package/dist/adapters/mcp-transport-B7ddET3M.cjs +40 -0
- package/dist/adapters/mcp-transport-Dfuj4j4q.js +591 -0
- package/dist/adapters/{adapters/mcp-transport.d.ts → mcp-transport.d.ts} +3 -3
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/{adapters/nextjs → nextjs}/index.d.ts +3 -3
- package/dist/adapters/nextjs/index.js +190 -197
- package/dist/adapters/nextjs/mcp-handler.d.ts +36 -0
- package/dist/adapters/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
- package/dist/adapters/openai-vXvLni8v.cjs +1 -0
- package/dist/adapters/{adapters/types.d.ts → types.d.ts} +1 -1
- package/dist/adapters/{utils-D9JPLmfl.js → utils-BPWZsX7k.js} +1271 -1218
- package/dist/adapters/utils-_whV4fXL.cjs +128 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/{adapters/utils.d.ts → utils.d.ts} +17 -92
- package/dist/adapters/utils.js +2 -2
- package/dist/cli/index.cjs +2 -2
- package/dist/client/adapters/adapterRegistry.d.ts +2 -2
- package/dist/client/adapters/flowModeAdapter.d.ts +2 -2
- package/dist/client/adapters/funnelModeAdapter.d.ts +2 -2
- package/dist/client/adapters/index.d.ts +9 -9
- package/dist/client/adapters/modeAdapter.d.ts +1 -1
- package/dist/client/adapters/queryModeAdapter.d.ts +3 -3
- package/dist/client/adapters/retentionModeAdapter.d.ts +2 -2
- package/dist/client/charts/ChartLoader.d.ts +3 -17
- package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
- package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
- package/dist/client/charts/chartConfigRegistry.d.ts +1 -1
- package/dist/client/charts/chartPlugin.d.ts +3 -3
- package/dist/client/charts/lazyChartConfigRegistry.d.ts +2 -2
- package/dist/client/charts.d.ts +8 -8
- package/dist/client/charts.js +14 -13
- package/dist/client/chunks/{DashboardEditModal-CjCIAT-J.js → DashboardEditModal-okVfH8ZK.js} +5296 -4544
- package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
- package/dist/client/chunks/RetentionCombinedChart-BgbDhsPz.js.map +1 -0
- package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
- package/dist/client/chunks/RetentionHeatmap-DjXZaTPq.js.map +1 -0
- package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
- package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-CYVwSPqt.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
- package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-DmruKPab.js → chart-activity-grid-DX0SJbxs.js} +635 -492
- package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
- package/dist/client/chunks/chart-area-of01_62R.js +775 -0
- package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
- package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
- package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
- package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js → chart-box-plot-kkBixZ27.js} +2 -2
- package/dist/client/chunks/chart-box-plot-kkBixZ27.js.map +1 -0
- package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
- package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
- package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js → chart-candlestick-DZp19Tzh.js} +2 -2
- package/dist/client/chunks/chart-candlestick-DZp19Tzh.js.map +1 -0
- package/dist/client/chunks/chart-config-activity-grid-D_UX4NHC.js.map +1 -1
- package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
- package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
- package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
- package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
- package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
- package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
- package/dist/client/chunks/chart-config-bubble-gIoqVyjZ.js.map +1 -1
- package/dist/client/chunks/chart-config-candlestick-N6DchAA3.js.map +1 -1
- package/dist/client/chunks/chart-config-data-table-d7VBY-y_.js.map +1 -1
- package/dist/client/chunks/chart-config-funnel-DEYMcxsD.js.map +1 -1
- package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
- package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
- package/dist/client/chunks/chart-config-heat-map-CfRnRNcw.js.map +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
- package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
- package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
- package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
- package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
- package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
- package/dist/client/chunks/chart-config-markdown-BtRIe8JN.js.map +1 -1
- package/dist/client/chunks/chart-config-measure-profile-DxRGa-zf.js.map +1 -1
- package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
- package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
- package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
- package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
- package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
- package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
- package/dist/client/chunks/chart-config-sankey-BTnWA7EW.js.map +1 -1
- package/dist/client/chunks/chart-config-scatter-DSYTjwRb.js.map +1 -1
- package/dist/client/chunks/chart-config-sunburst-Bwjtdf7X.js.map +1 -1
- package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
- package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
- package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
- package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
- package/dist/client/chunks/{chart-data-table-BO4sXsim.js → chart-data-table-CKauQXme.js} +1046 -1121
- package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-DnWRsmnS.js → chart-funnel-CToKSBaL.js} +184 -222
- package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
- package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
- package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
- package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
- package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
- package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
- package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
- package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
- package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
- package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
- package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
- package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
- package/dist/client/chunks/{chart-markdown-dgUetjyM.js → chart-markdown-CV75S_zL.js} +2 -2
- package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js → chart-measure-profile-Ket8fJyf.js} +7 -7
- package/dist/client/chunks/chart-measure-profile-Ket8fJyf.js.map +1 -0
- package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
- package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
- package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
- package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
- package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
- package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
- package/dist/client/chunks/{chart-sankey-M3XpO_ah.js → chart-sankey-DjrvKw6K.js} +36 -39
- package/dist/client/chunks/chart-sankey-DjrvKw6K.js.map +1 -0
- package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
- package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
- package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js → chart-sunburst-leGpuDj7.js} +3 -3
- package/dist/client/chunks/chart-sunburst-leGpuDj7.js.map +1 -0
- package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
- package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
- package/dist/client/chunks/{chart-waterfall-BuhMoagf.js → chart-waterfall-DyvQReN5.js} +7 -7
- package/dist/client/chunks/chart-waterfall-DyvQReN5.js.map +1 -0
- package/dist/client/chunks/{charts-core-jRtb0S2M.js → charts-core-DaXSt1Dd.js} +2 -2
- package/dist/client/chunks/charts-core-DaXSt1Dd.js.map +1 -0
- package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
- package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
- package/dist/client/chunks/{nl-NL-CpVs7ox3.js → nl-NL-2zTAWTej.js} +2 -1
- package/dist/client/chunks/{nl-NL-CpVs7ox3.js.map → nl-NL-2zTAWTej.js.map} +1 -1
- package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
- package/dist/client/chunks/{schema-visualization-DE09kQE3.js → schema-visualization-Cb_E9_Gd.js} +12 -12
- package/dist/client/chunks/schema-visualization-Cb_E9_Gd.js.map +1 -0
- package/dist/client/chunks/{useDirtyStateTracking-CoeQbprt.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
- package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
- package/dist/client/chunks/{useExplainAI-DlnXWdmz.js → useExplainAI-evnZkjCY.js} +14 -14
- package/dist/client/chunks/useExplainAI-evnZkjCY.js.map +1 -0
- package/dist/client/chunks/{utils-CTKNaXS8.js → utils-3P6z1vz5.js} +2 -2
- package/dist/client/chunks/utils-3P6z1vz5.js.map +1 -0
- package/dist/client/chunks/{vendor-CPIYyeuD.js → vendor-DSpR0IW6.js} +43 -43
- package/dist/client/chunks/{vendor-CPIYyeuD.js.map → vendor-DSpR0IW6.js.map} +1 -1
- package/dist/client/client/BatchCoordinator.d.ts +1 -1
- package/dist/client/client/CubeClient.d.ts +1 -1
- package/dist/client/components/AIAssistant/index.d.ts +3 -3
- package/dist/client/components/AIAssistant/utils.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +2 -2
- package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
- package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
- package/dist/client/components/AgenticNotebook/index.d.ts +2 -2
- package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
- package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
- package/dist/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +4 -4
- package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
- package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
- 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 +13 -0
- package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
- package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
- package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
- package/dist/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchItem.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchModal.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
- package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
- package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
- package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +3 -3
- package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
- 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 +2 -2
- 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 +8 -0
- package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
- 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 +3 -3
- package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
- package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
- package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
- package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
- package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
- package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
- package/dist/client/components/AnalysisBuilder/index.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/types.d.ts +28 -28
- package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
- package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
- package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +7 -2
- package/dist/client/components/AnalysisBuilder/utils/filterUtils.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/utils/index.d.ts +6 -6
- package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/utils/recentFieldsUtils.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
- package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
- package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
- package/dist/client/components/AnalysisBuilder/utils/storageUtils.d.ts +2 -2
- package/dist/client/components/AnalysisBuilderLazy.d.ts +1 -1
- package/dist/client/components/AnalyticsDashboard.d.ts +1 -1
- package/dist/client/components/AnalyticsPortlet.d.ts +1 -1
- package/dist/client/components/ChartTypeSelector.d.ts +2 -2
- package/dist/client/components/DashboardFilterPanel.d.ts +1 -1
- package/dist/client/components/DashboardFilters/CompactFilterBar.d.ts +1 -1
- package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
- package/dist/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +2 -2
- package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
- package/dist/client/components/DashboardFilters/DashboardFilterItem.d.ts +2 -2
- package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
- package/dist/client/components/DashboardFilters/EditModeFilterList.d.ts +1 -1
- package/dist/client/components/DashboardFilters/FilterChip.d.ts +1 -1
- package/dist/client/components/DashboardFilters/FilterEditModal.d.ts +2 -2
- package/dist/client/components/DashboardFilters/FilterValuePopover.d.ts +1 -1
- package/dist/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +2 -2
- package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
- package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
- package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
- package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
- package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
- package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
- package/dist/client/components/DashboardGrid.d.ts +2 -2
- package/dist/client/components/DashboardPortletCard.d.ts +2 -57
- package/dist/client/components/DebugModal.d.ts +2 -2
- package/dist/client/components/DrillBreadcrumb.d.ts +1 -1
- package/dist/client/components/DrillMenu.d.ts +1 -1
- package/dist/client/components/FloatingEditToolbar.d.ts +1 -1
- package/dist/client/components/MobileStackedLayout.d.ts +2 -2
- package/dist/client/components/PortletAnalysisModal.d.ts +1 -1
- package/dist/client/components/PortletContainer.d.ts +1 -1
- package/dist/client/components/PortletFilterConfigModal.d.ts +1 -1
- package/dist/client/components/RowManagedLayout.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/CubeNode.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/FieldDetailPanel.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/RelationshipEdge.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +1 -1
- package/dist/client/components/TextPortletModal.d.ts +2 -2
- package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
- package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
- package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
- package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
- package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
- package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
- package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
- package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
- package/dist/client/components/charts/ActivityGridChart.config.d.ts +1 -1
- package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
- package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
- package/dist/client/components/charts/AreaChart.config.d.ts +1 -1
- package/dist/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/client/components/charts/AxisFormatControls.d.ts +4 -2
- package/dist/client/components/charts/BarChart.config.d.ts +1 -1
- package/dist/client/components/charts/BarChart.d.ts +1 -1
- package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
- package/dist/client/components/charts/BarSeries.d.ts +29 -0
- package/dist/client/components/charts/BoxPlotChart.config.d.ts +1 -1
- package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/client/components/charts/BubbleChart.config.d.ts +1 -1
- package/dist/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
- package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
- package/dist/client/components/charts/CandlestickChart.config.d.ts +1 -1
- package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/client/components/charts/ChartStates.d.ts +38 -0
- package/dist/client/components/charts/DataTable.config.d.ts +1 -1
- package/dist/client/components/charts/DataTable.d.ts +1 -1
- package/dist/client/components/charts/FunnelChart.config.d.ts +1 -1
- package/dist/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
- package/dist/client/components/charts/FunnelViews.d.ts +16 -0
- package/dist/client/components/charts/GaugeChart.config.d.ts +1 -1
- package/dist/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
- package/dist/client/components/charts/HeatMapChart.config.d.ts +1 -1
- package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
- package/dist/client/components/charts/KpiDelta.config.d.ts +1 -1
- package/dist/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
- package/dist/client/components/charts/KpiNumber.config.d.ts +1 -1
- package/dist/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
- package/dist/client/components/charts/KpiStates.d.ts +19 -0
- package/dist/client/components/charts/KpiText.config.d.ts +1 -1
- package/dist/client/components/charts/KpiText.d.ts +1 -1
- package/dist/client/components/charts/LineChart.config.d.ts +1 -1
- package/dist/client/components/charts/LineChart.d.ts +1 -1
- package/dist/client/components/charts/MarkdownChart.config.d.ts +1 -1
- package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/client/components/charts/MeasureProfileChart.config.d.ts +1 -1
- package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/client/components/charts/PieChart.config.d.ts +1 -1
- package/dist/client/components/charts/PieChart.d.ts +1 -1
- package/dist/client/components/charts/RadarChart.config.d.ts +1 -1
- package/dist/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/client/components/charts/RadialBarChart.config.d.ts +1 -1
- package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionCombinedChart.config.d.ts +1 -1
- package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionHeatmap.config.d.ts +1 -1
- package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/client/components/charts/SankeyChart.config.d.ts +1 -1
- package/dist/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/client/components/charts/ScatterChart.config.d.ts +1 -1
- package/dist/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
- package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
- package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
- package/dist/client/components/charts/SunburstChart.config.d.ts +1 -1
- package/dist/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/client/components/charts/TreeMapChart.config.d.ts +1 -1
- package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
- package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
- package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
- package/dist/client/components/charts/WaterfallChart.config.d.ts +1 -1
- package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
- package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
- package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
- package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
- package/dist/client/components/charts/index.d.ts +21 -21
- package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
- package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
- package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
- package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
- package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
- package/dist/client/components/dashboard/DashboardContext.d.ts +6 -6
- package/dist/client/components/dashboard/DashboardCoordinator.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
- package/dist/client/components/dashboard/DashboardProvider.d.ts +1 -1
- package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
- package/dist/client/components/dashboard/dashboardGridUtils.d.ts +1 -1
- package/dist/client/components/dashboard/index.d.ts +7 -7
- package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
- package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
- package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
- package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
- package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
- package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
- package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
- package/dist/client/components/shared/DateRangeFilter.d.ts +1 -1
- package/dist/client/components/shared/FilterBuilder.d.ts +1 -1
- package/dist/client/components/shared/FilterGroup.d.ts +1 -1
- package/dist/client/components/shared/FilterItem.d.ts +1 -1
- package/dist/client/components/shared/FilterValueSelector.d.ts +1 -1
- package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
- package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
- package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
- package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
- package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
- package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
- package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
- package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
- package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
- package/dist/client/components/shared/types.d.ts +8 -8
- package/dist/client/components/shared/utils.d.ts +7 -46
- package/dist/client/components.d.ts +11 -11
- package/dist/client/components.js +3 -3
- package/dist/client/hooks/agentChatStream.d.ts +39 -0
- package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
- package/dist/client/hooks/dashboard/layoutUtils.d.ts +1 -1
- package/dist/client/hooks/dashboard/useDashboardController.d.ts +2 -2
- package/dist/client/hooks/dashboard/useGridLayoutEngine.d.ts +1 -1
- package/dist/client/hooks/dashboard/useRowLayoutEngine.d.ts +1 -1
- package/dist/client/hooks/drillNavigation.d.ts +25 -0
- package/dist/client/hooks/queries/index.d.ts +9 -9
- package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +2 -2
- package/dist/client/hooks/queries/useCubeMetaQuery.d.ts +2 -2
- package/dist/client/hooks/queries/useDryRunQuery.d.ts +2 -2
- package/dist/client/hooks/queries/useExplainAI.d.ts +1 -1
- package/dist/client/hooks/queries/useExplainQuery.d.ts +1 -1
- package/dist/client/hooks/queries/useFlowQuery.d.ts +1 -1
- package/dist/client/hooks/queries/useFunnelQuery.d.ts +1 -1
- package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +1 -1
- package/dist/client/hooks/queries/useRetentionQuery.d.ts +1 -1
- package/dist/client/hooks/useAgentChat.d.ts +1 -1
- package/dist/client/hooks/useAnalysisAI.d.ts +4 -4
- package/dist/client/hooks/useAnalysisBuilderHook.d.ts +27 -27
- package/dist/client/hooks/useAnalysisChartDefaults.d.ts +4 -4
- package/dist/client/hooks/useAnalysisCombinedFields.d.ts +2 -2
- package/dist/client/hooks/useAnalysisInitialization.d.ts +1 -1
- package/dist/client/hooks/useAnalysisQueryBuilder.d.ts +3 -3
- package/dist/client/hooks/useAnalysisQueryExecution.d.ts +7 -7
- package/dist/client/hooks/useAnalysisShare.d.ts +1 -1
- package/dist/client/hooks/useAnalysisUIState.d.ts +2 -2
- package/dist/client/hooks/useDashboardHook.d.ts +2 -2
- package/dist/client/hooks/useDataBrowser.d.ts +5 -5
- package/dist/client/hooks/useDrillInteraction.d.ts +1 -1
- package/dist/client/hooks/useTheme.d.ts +1 -1
- package/dist/client/hooks/useTranslation.d.ts +1 -1
- package/dist/client/hooks.d.ts +11 -11
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons/defaultIcons.d.ts +1 -1
- package/dist/client/icons/index.d.ts +3 -3
- package/dist/client/icons/registry.d.ts +1 -1
- package/dist/client/icons.js +2 -2
- package/dist/client/index.d.ts +74 -74
- package/dist/client/index.js +816 -669
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers/CubeApiProvider.d.ts +3 -3
- package/dist/client/providers/CubeFeaturesProvider.d.ts +1 -1
- package/dist/client/providers/CubeMetaContext.d.ts +1 -1
- package/dist/client/providers/CubeProvider.d.ts +7 -7
- package/dist/client/providers/I18nProvider.d.ts +1 -1
- package/dist/client/providers.d.ts +4 -4
- package/dist/client/providers.js +3 -3
- package/dist/client/schema.d.ts +2 -2
- package/dist/client/schema.js +1 -1
- package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
- package/dist/client/shared/chartDefaults.d.ts +4 -4
- package/dist/client/shared/components/QueryAnalysisPanel.d.ts +1 -1
- package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
- package/dist/client/shared/index.d.ts +7 -7
- package/dist/client/shared/queryTransforms.d.ts +20 -0
- package/dist/client/shared/types.d.ts +1 -1
- package/dist/client/shared/utils.d.ts +4 -6
- package/dist/client/stores/analysisBuilderStore.d.ts +9 -9
- package/dist/client/stores/dashboardStore.d.ts +3 -3
- package/dist/client/stores/dataBrowserStore.d.ts +1 -1
- package/dist/client/stores/notebookStore.d.ts +1 -1
- package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
- package/dist/client/stores/slices/coreSlice.d.ts +3 -3
- package/dist/client/stores/slices/flowSlice.d.ts +3 -3
- package/dist/client/stores/slices/funnelSlice.d.ts +3 -3
- package/dist/client/stores/slices/index.d.ts +7 -7
- package/dist/client/stores/slices/querySlice.d.ts +3 -3
- package/dist/client/stores/slices/retentionSlice.d.ts +3 -3
- package/dist/client/stores/slices/uiSlice.d.ts +2 -2
- package/dist/client/styles.css +1 -1
- package/dist/client/types/analysisConfig.d.ts +4 -4
- package/dist/client/types/drill.d.ts +5 -5
- package/dist/client/types/flow.d.ts +2 -2
- package/dist/client/types/funnel.d.ts +1 -1
- package/dist/client/types/retention.d.ts +2 -2
- package/dist/client/types.d.ts +12 -12
- package/dist/client/utils/axisValueFormatting.d.ts +32 -0
- package/dist/client/utils/chartUtils.d.ts +1 -1
- package/dist/client/utils/configMigration.d.ts +2 -2
- package/dist/client/utils/drillQueryBuilder.d.ts +2 -2
- package/dist/client/utils/exportXlsx.d.ts +2 -2
- package/dist/client/utils/filterUtils.d.ts +1 -1
- package/dist/client/utils/funnelExecution.d.ts +2 -2
- package/dist/client/utils/funnelValidation.d.ts +2 -2
- package/dist/client/utils/index.d.ts +10 -10
- package/dist/client/utils/joinReachability.d.ts +1 -1
- package/dist/client/utils/multiQueryUtils.d.ts +1 -1
- package/dist/client/utils/multiQueryValidation.d.ts +1 -1
- package/dist/client/utils/pivotUtils.d.ts +1 -1
- package/dist/client/utils/shareUtils.d.ts +1 -1
- package/dist/client/utils/thumbnail.d.ts +1 -1
- package/dist/client/utils/timeValueFormatting.d.ts +32 -0
- package/dist/client/utils.d.ts +2 -2
- package/dist/client/utils.js +6 -6
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +55 -55
- package/dist/server/{server/adapters → adapters}/base-adapter.d.ts +81 -36
- package/dist/server/adapters/databend-adapter.d.ts +63 -0
- package/dist/server/{server/adapters → adapters}/duckdb-adapter.d.ts +6 -60
- package/dist/server/adapters/mysql-adapter.d.ts +65 -0
- package/dist/server/adapters/postgres-adapter.d.ts +55 -0
- package/dist/server/{server/adapters → adapters}/singlestore-adapter.d.ts +1 -1
- package/dist/server/adapters/snowflake-adapter.d.ts +53 -0
- package/dist/server/{server/adapters → adapters}/sqlite-adapter.d.ts +13 -33
- package/dist/server/adapters/window-function-builder.d.ts +11 -0
- package/dist/server/{server/agent → agent}/chart-validation.d.ts +0 -5
- package/dist/server/agent/handler-steps.d.ts +37 -0
- package/dist/server/{server/agent → agent}/handler.d.ts +3 -3
- package/dist/server/agent/index.d.ts +11 -0
- package/dist/server/{server/agent → agent}/providers/anthropic.d.ts +1 -1
- package/dist/server/{server/agent → agent}/providers/factory.d.ts +1 -1
- package/dist/server/{server/agent → agent}/providers/google.d.ts +1 -1
- package/dist/server/agent/providers/index.d.ts +6 -0
- package/dist/server/{server/agent → agent}/providers/openai.d.ts +1 -1
- package/dist/server/{server/agent → agent}/system-prompt.d.ts +1 -1
- package/dist/server/{server/agent → agent}/tools.d.ts +4 -4
- package/dist/server/{server/agent → agent}/types.d.ts +1 -1
- package/dist/server/ai/discovery-helpers.d.ts +29 -0
- package/dist/server/{server/ai → ai}/discovery.d.ts +6 -2
- package/dist/server/{server/ai → ai}/index.d.ts +6 -6
- package/dist/server/ai/suggestion-helpers.d.ts +33 -0
- package/dist/server/{server/ai → ai}/suggestion.d.ts +2 -5
- package/dist/server/ai/validation-helpers.d.ts +21 -0
- package/dist/server/{server/ai → ai}/validation.d.ts +2 -5
- package/dist/server/builders/analysis-utils.d.ts +106 -0
- package/dist/server/{server/builders → builders}/comparison-query-builder.d.ts +2 -2
- package/dist/server/{server/builders → builders}/cte-builder.d.ts +48 -2
- package/dist/server/{server/builders → builders}/date-time-builder.d.ts +7 -2
- package/dist/server/builders/date-time-helpers.d.ts +34 -0
- package/dist/server/{server/builders → builders}/filter-builder.d.ts +5 -3
- package/dist/server/builders/filter-operators.d.ts +23 -0
- package/dist/server/builders/flow-query-builder.d.ts +136 -0
- package/dist/server/{server/builders → builders}/funnel-query-builder.d.ts +18 -7
- package/dist/server/{server/builders → builders}/group-by-builder.d.ts +13 -2
- package/dist/server/builders/index.d.ts +13 -0
- package/dist/server/{server/builders → builders}/measure-builder.d.ts +46 -3
- package/dist/server/{server/builders → builders}/retention-query-builder.d.ts +14 -16
- package/dist/server/cache-providers/index.d.ts +5 -0
- package/dist/server/{server/cache-providers → cache-providers}/memory.d.ts +1 -1
- package/dist/server/{server/cache-utils.d.ts → cache-utils.d.ts} +26 -6
- package/dist/server/compiler-metadata.d.ts +11 -0
- package/dist/server/{server/compiler.d.ts → compiler.d.ts} +9 -15
- package/dist/server/{server/cube-utils.d.ts → cube-utils.d.ts} +29 -4
- package/dist/server/{server/database-utils.d.ts → database-utils.d.ts} +1 -1
- package/dist/server/execution/annotation-builder.d.ts +12 -0
- package/dist/server/execution/filter-cache-preloader.d.ts +19 -0
- package/dist/server/execution/mode-router.d.ts +25 -0
- package/dist/server/execution/query-result-cache.d.ts +21 -0
- package/dist/server/execution/result-post-processor.d.ts +10 -0
- package/dist/server/{server/executor.d.ts → executor.d.ts} +35 -32
- package/dist/server/{server/executors → executors}/base-executor.d.ts +2 -2
- package/dist/server/{server/executors → executors}/databend-executor.d.ts +2 -2
- package/dist/server/{server/executors → executors}/duckdb-executor.d.ts +2 -2
- package/dist/server/executors/explain-utils.d.ts +28 -0
- package/dist/server/{server/executors → executors}/index.d.ts +9 -9
- package/dist/server/{server/executors → executors}/mysql-executor.d.ts +2 -2
- package/dist/server/{server/executors → executors}/postgres-executor.d.ts +2 -2
- package/dist/server/{server/executors → executors}/singlestore-executor.d.ts +2 -2
- package/dist/server/{server/executors → executors}/snowflake-executor.d.ts +2 -2
- package/dist/server/{server/executors → executors}/sqlite-executor.d.ts +2 -2
- package/dist/server/{server/explain → explain}/databend-parser.d.ts +1 -1
- package/dist/server/{server/explain → explain}/duckdb-parser.d.ts +1 -1
- package/dist/server/explain/explain-tree.d.ts +20 -0
- package/dist/server/explain/index.d.ts +9 -0
- package/dist/server/{server/explain → explain}/mysql-parser.d.ts +1 -1
- package/dist/server/{server/explain → explain}/postgres-parser.d.ts +1 -1
- package/dist/server/{server/explain → explain}/snowflake-parser.d.ts +1 -1
- package/dist/server/{server/explain → explain}/sqlite-parser.d.ts +1 -1
- package/dist/server/{server/filter-cache.d.ts → filter-cache.d.ts} +2 -2
- package/dist/server/{server/gap-filler.d.ts → gap-filler.d.ts} +8 -2
- package/dist/server/google-BOnRIN1w.cjs +2 -0
- package/dist/{adapters/google-CFYljAOF.js → server/google-CvKM9yVM.js} +83 -71
- package/dist/server/index.cjs +179 -211
- package/dist/server/index.d.ts +38 -2
- package/dist/server/index.js +6330 -6458
- package/dist/server/logical-plan/cte-planner-helpers.d.ts +37 -0
- package/dist/server/logical-plan/cte-planner.d.ts +104 -0
- package/dist/server/logical-plan/filter-propagation.d.ts +44 -0
- package/dist/server/{server/logical-plan → logical-plan}/index.d.ts +11 -6
- package/dist/server/logical-plan/join-planner.d.ts +27 -0
- package/dist/server/{server/logical-plan → logical-plan}/logical-plan-builder.d.ts +5 -5
- package/dist/server/logical-plan/logical-planner.d.ts +39 -0
- package/dist/server/{server/logical-plan → logical-plan}/optimiser.d.ts +4 -2
- package/dist/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
- package/dist/server/logical-plan/planner-utils.d.ts +20 -0
- package/dist/server/{server/logical-plan → logical-plan}/types.d.ts +18 -10
- package/dist/server/measure-classification.d.ts +40 -0
- package/dist/server/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
- package/dist/server/openai-vXvLni8v.cjs +1 -0
- package/dist/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
- package/dist/server/{server/physical-plan → physical-plan}/drizzle-sql-builder.d.ts +14 -3
- package/dist/server/physical-plan/index.d.ts +2 -0
- package/dist/server/{server/physical-plan → physical-plan}/processors/cte-processor.d.ts +2 -2
- package/dist/server/physical-plan/processors/index.d.ts +8 -0
- package/dist/server/{server/physical-plan → physical-plan}/processors/joins-processor.d.ts +2 -2
- package/dist/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
- package/dist/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
- package/dist/server/{server/physical-plan → physical-plan}/processors/predicates-processor.d.ts +2 -2
- package/dist/server/{server/physical-plan → physical-plan}/processors/selection-processor.d.ts +2 -2
- package/dist/server/{server/physical-plan → physical-plan}/processors/shared.d.ts +9 -4
- package/dist/server/{server/physical-plan → physical-plan}/processors/window-processor.d.ts +2 -2
- package/dist/server/query-handlers.d.ts +79 -0
- package/dist/server/query-modes.d.ts +28 -0
- package/dist/server/query-validator.d.ts +9 -0
- package/dist/server/{server/resolvers → resolvers}/calculated-measure-resolver.d.ts +6 -1
- package/dist/server/{server/resolvers → resolvers}/index.d.ts +2 -2
- package/dist/server/{server/resolvers → resolvers}/join-path-resolver.d.ts +7 -1
- package/dist/server/sql-format.d.ts +11 -0
- package/dist/server/{server/template-substitution.d.ts → template-substitution.d.ts} +1 -1
- package/dist/server/{server/types → types}/cache.d.ts +1 -1
- package/dist/server/{server/types → types}/cube.d.ts +22 -8
- package/dist/server/{server/types → types}/executor.d.ts +2 -2
- package/dist/server/{server/types → types}/flow.d.ts +7 -6
- package/dist/server/{server/types → types}/funnel.d.ts +1 -1
- package/dist/server/types/index.d.ts +11 -0
- package/dist/server/{server/types → types}/metadata.d.ts +1 -1
- package/dist/server/{server/types → types}/query.d.ts +4 -4
- package/dist/server/{server/types → types}/retention.d.ts +1 -1
- package/dist/server/{server/types → types}/utils.d.ts +1 -1
- package/dist/server/types/validation.d.ts +14 -0
- package/package.json +22 -7
- package/dist/adapters/google-DUlXeeDA.cjs +0 -2
- package/dist/adapters/handler-CzbCuS6_.cjs +0 -25
- package/dist/adapters/locale-BPB7flIG.js +0 -8249
- package/dist/adapters/locale-tIMrNcCr.cjs +0 -198
- package/dist/adapters/mcp-transport-C2QzXm6h.cjs +0 -40
- package/dist/adapters/mcp-transport-D0B3S1tB.js +0 -579
- package/dist/adapters/openai-D_U4V0kT.cjs +0 -1
- package/dist/adapters/utils-KV37IBIv.cjs +0 -128
- package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +0 -1
- package/dist/client/chunks/RetentionCombinedChart-BPkfcTa8.js.map +0 -1
- package/dist/client/chunks/RetentionHeatmap-DGzLzr7h.js.map +0 -1
- package/dist/client/chunks/analysis-builder-MuMIzoRq.js +0 -5367
- package/dist/client/chunks/analysis-builder-MuMIzoRq.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-CYVwSPqt.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-DmruKPab.js.map +0 -1
- package/dist/client/chunks/chart-area-DHCPM4Em.js +0 -450
- package/dist/client/chunks/chart-area-DHCPM4Em.js.map +0 -1
- package/dist/client/chunks/chart-bar-KddciGDv.js +0 -271
- package/dist/client/chunks/chart-bar-KddciGDv.js.map +0 -1
- package/dist/client/chunks/chart-box-plot-DYKfyOI8.js.map +0 -1
- package/dist/client/chunks/chart-bubble-CfqiB538.js +0 -273
- package/dist/client/chunks/chart-bubble-CfqiB538.js.map +0 -1
- package/dist/client/chunks/chart-candlestick-Dwc92Mrj.js.map +0 -1
- package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
- package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
- package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
- package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
- package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
- package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
- package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
- package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
- package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
- package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
- package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
- package/dist/client/chunks/chart-data-table-BO4sXsim.js.map +0 -1
- package/dist/client/chunks/chart-funnel-DnWRsmnS.js.map +0 -1
- package/dist/client/chunks/chart-gauge-CgMeqeGb.js +0 -424
- package/dist/client/chunks/chart-gauge-CgMeqeGb.js.map +0 -1
- package/dist/client/chunks/chart-heat-map-DcGm9SWK.js +0 -231
- package/dist/client/chunks/chart-heat-map-DcGm9SWK.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js +0 -343
- package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-gWYF44ol.js +0 -322
- package/dist/client/chunks/chart-kpi-number-gWYF44ol.js.map +0 -1
- package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js +0 -149
- package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js.map +0 -1
- package/dist/client/chunks/chart-line-9BEGN5Ti.js +0 -433
- package/dist/client/chunks/chart-line-9BEGN5Ti.js.map +0 -1
- package/dist/client/chunks/chart-markdown-dgUetjyM.js.map +0 -1
- package/dist/client/chunks/chart-measure-profile-ClfpLs4q.js.map +0 -1
- package/dist/client/chunks/chart-pie-BjAIhyOi.js +0 -172
- package/dist/client/chunks/chart-pie-BjAIhyOi.js.map +0 -1
- package/dist/client/chunks/chart-radar-Dgkcl2bN.js +0 -154
- package/dist/client/chunks/chart-radar-Dgkcl2bN.js.map +0 -1
- package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js +0 -148
- package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js.map +0 -1
- package/dist/client/chunks/chart-sankey-M3XpO_ah.js.map +0 -1
- package/dist/client/chunks/chart-scatter-DaHYP_OL.js +0 -255
- package/dist/client/chunks/chart-scatter-DaHYP_OL.js.map +0 -1
- package/dist/client/chunks/chart-sunburst-A_u6lqlS.js.map +0 -1
- package/dist/client/chunks/chart-tree-map-uiwUU4nb.js +0 -298
- package/dist/client/chunks/chart-tree-map-uiwUU4nb.js.map +0 -1
- package/dist/client/chunks/chart-waterfall-BuhMoagf.js.map +0 -1
- package/dist/client/chunks/charts-core-jRtb0S2M.js.map +0 -1
- package/dist/client/chunks/schema-visualization-DE09kQE3.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-CoeQbprt.js.map +0 -1
- package/dist/client/chunks/useExplainAI-DlnXWdmz.js.map +0 -1
- package/dist/client/chunks/utils-CTKNaXS8.js.map +0 -1
- package/dist/server/google-DUlXeeDA.cjs +0 -2
- package/dist/server/openai-D_U4V0kT.cjs +0 -1
- package/dist/server/server/adapters/databend-adapter.d.ts +0 -114
- package/dist/server/server/adapters/mysql-adapter.d.ts +0 -122
- package/dist/server/server/adapters/postgres-adapter.d.ts +0 -119
- package/dist/server/server/adapters/snowflake-adapter.d.ts +0 -116
- package/dist/server/server/agent/index.d.ts +0 -11
- package/dist/server/server/agent/providers/index.d.ts +0 -6
- package/dist/server/server/builders/flow-query-builder.d.ts +0 -109
- package/dist/server/server/builders/index.d.ts +0 -13
- package/dist/server/server/cache-providers/index.d.ts +0 -5
- package/dist/server/server/explain/index.d.ts +0 -9
- package/dist/server/server/index.d.ts +0 -36
- package/dist/server/server/logical-plan/logical-planner.d.ts +0 -232
- package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +0 -50
- package/dist/server/server/physical-plan/index.d.ts +0 -2
- package/dist/server/server/physical-plan/processors/index.d.ts +0 -6
- package/dist/server/server/types/index.d.ts +0 -11
- /package/dist/server/{server/agent → agent}/providers/types.d.ts +0 -0
- /package/dist/server/{server/ai → ai}/mcp-prompts.d.ts +0 -0
- /package/dist/server/{server/ai → ai}/query-schema.d.ts +0 -0
- /package/dist/server/{server/ai → ai}/schemas.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/explain-analysis-prompt.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/index.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/single-step-prompt.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/step0-validation-prompt.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/step1-shape-prompt.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/step2-complete-prompt.d.ts +0 -0
- /package/dist/server/{server/prompts → prompts}/types.d.ts +0 -0
- /package/dist/server/{server/types → types}/analysis.d.ts +0 -0
- /package/dist/server/{server/types → types}/core.d.ts +0 -0
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
-
import { TimeGranularity } from '../types';
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Database capabilities for feature detection
|
|
5
5
|
* Used for graceful degradation when functions aren't supported
|
|
6
6
|
*/
|
|
7
7
|
export interface DatabaseCapabilities {
|
|
8
|
-
/** Whether the database supports STDDEV_POP/STDDEV_SAMP */
|
|
9
|
-
supportsStddev: boolean;
|
|
10
|
-
/** Whether the database supports VAR_POP/VAR_SAMP */
|
|
11
|
-
supportsVariance: boolean;
|
|
12
8
|
/** Whether the database supports PERCENTILE_CONT or similar */
|
|
13
9
|
supportsPercentile: boolean;
|
|
14
|
-
/** Whether the database supports window functions (LAG, LEAD, RANK, etc.) */
|
|
15
|
-
supportsWindowFunctions: boolean;
|
|
16
|
-
/** Whether the database supports frame clauses (ROWS BETWEEN, RANGE BETWEEN) */
|
|
17
|
-
supportsFrameClause: boolean;
|
|
18
10
|
/** Whether the database supports LATERAL joins (PostgreSQL 9.3+, MySQL 8.0.14+) */
|
|
19
11
|
supportsLateralJoins: boolean;
|
|
20
12
|
/** Whether percentile functions work in subqueries against CTEs (false for DuckDB) */
|
|
21
13
|
supportsPercentileSubqueries: boolean;
|
|
22
|
-
/** Whether derived tables (subqueries) work in FROM clauses inside CTEs (false for Databend) */
|
|
23
|
-
supportsDerivedTablesInCTE: boolean;
|
|
24
14
|
/** Whether correlated LATERAL subqueries can reference CTEs (false for Snowflake) */
|
|
25
15
|
supportsLateralSubqueriesInCTE: boolean;
|
|
26
16
|
}
|
|
@@ -50,12 +40,6 @@ export interface DatabaseAdapter {
|
|
|
50
40
|
* Get the database engine type this adapter supports
|
|
51
41
|
*/
|
|
52
42
|
getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
|
|
53
|
-
/**
|
|
54
|
-
* Check if the database supports LATERAL joins
|
|
55
|
-
* Required for optimized flow queries with index-backed seeks
|
|
56
|
-
* @returns true for PostgreSQL 9.3+, MySQL 8.0.14+, SingleStore; false for SQLite
|
|
57
|
-
*/
|
|
58
|
-
supportsLateralJoins(): boolean;
|
|
59
43
|
/**
|
|
60
44
|
* Build SQL INTERVAL from ISO 8601 duration string
|
|
61
45
|
* Used for time window constraints in funnel analysis
|
|
@@ -225,39 +209,100 @@ export interface DatabaseAdapter {
|
|
|
225
209
|
*/
|
|
226
210
|
export declare abstract class BaseDatabaseAdapter implements DatabaseAdapter {
|
|
227
211
|
abstract getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
|
|
228
|
-
abstract supportsLateralJoins(): boolean;
|
|
229
212
|
abstract buildIntervalFromISO(duration: string): SQL;
|
|
230
213
|
abstract buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
|
|
231
214
|
abstract buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
232
|
-
abstract buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
|
|
233
215
|
abstract buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
|
|
234
216
|
abstract buildPeriodSeriesSubquery(maxPeriod: number): SQL;
|
|
235
217
|
abstract buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
236
|
-
abstract buildStringCondition(fieldExpr: AnyColumn | SQL, operator: 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'like' | 'notLike' | 'ilike' | 'regex' | 'notRegex', value: string): SQL;
|
|
237
218
|
abstract castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
238
|
-
abstract buildAvg(fieldExpr: AnyColumn | SQL): SQL;
|
|
239
|
-
abstract buildCaseWhen(conditions: Array<{
|
|
240
|
-
when: SQL;
|
|
241
|
-
then: any;
|
|
242
|
-
}>, elseValue?: any): SQL;
|
|
243
|
-
abstract buildBooleanLiteral(value: boolean): SQL;
|
|
244
|
-
abstract convertFilterValue(value: any): any;
|
|
245
|
-
abstract prepareDateValue(date: Date): any;
|
|
246
|
-
abstract isTimestampInteger(): boolean;
|
|
247
|
-
abstract convertTimeDimensionResult(value: any): any;
|
|
248
219
|
abstract getCapabilities(): DatabaseCapabilities;
|
|
249
|
-
abstract buildStddev(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
|
|
250
|
-
abstract buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
|
|
251
220
|
abstract buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL | null;
|
|
252
|
-
abstract buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
|
|
253
|
-
field: AnyColumn | SQL;
|
|
254
|
-
direction: 'asc' | 'desc';
|
|
255
|
-
}>, config?: WindowFunctionConfig): SQL | null;
|
|
256
221
|
/**
|
|
257
222
|
* Default implementation returns template unchanged
|
|
258
223
|
* Override in specific adapters for database-specific preprocessing
|
|
259
224
|
*/
|
|
260
225
|
preprocessCalculatedTemplate(calculatedSql: string): string;
|
|
226
|
+
/**
|
|
227
|
+
* Wrap an aggregate so NULL (empty set) becomes 0.
|
|
228
|
+
* Default uses COALESCE; engines without COALESCE (MySQL/SQLite) override with IFNULL.
|
|
229
|
+
*/
|
|
230
|
+
protected nullToZero(expr: SQL): SQL;
|
|
231
|
+
/**
|
|
232
|
+
* Case-insensitive LIKE matching for contains/startsWith/endsWith/ilike.
|
|
233
|
+
* Default uses native ILIKE (PostgreSQL/DuckDB/Snowflake); engines without ILIKE
|
|
234
|
+
* (MySQL/SQLite/Databend) override with LOWER()+LIKE.
|
|
235
|
+
* @param pattern - the LIKE pattern in its original case (already wrapped with % as needed)
|
|
236
|
+
*/
|
|
237
|
+
protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
|
|
238
|
+
/**
|
|
239
|
+
* Regular-expression matching. Default uses PostgreSQL's ~* / !~* operators;
|
|
240
|
+
* each other engine overrides with its own regex syntax (REGEXP, GLOB, regexp_matches, REGEXP_LIKE).
|
|
241
|
+
*/
|
|
242
|
+
protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
|
|
243
|
+
/**
|
|
244
|
+
* Build a string matching condition. The case-insensitive and regex families are
|
|
245
|
+
* delegated to the caseInsensitiveLike()/regexCondition() hooks; plain LIKE/NOT LIKE
|
|
246
|
+
* are identical across all engines.
|
|
247
|
+
*/
|
|
248
|
+
buildStringCondition(fieldExpr: AnyColumn | SQL, operator: 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'like' | 'notLike' | 'ilike' | 'regex' | 'notRegex', value: string): SQL;
|
|
249
|
+
/**
|
|
250
|
+
* Build conditional aggregation. Default uses portable CASE WHEN
|
|
251
|
+
* (MySQL/SQLite/Databend/Snowflake); PostgreSQL/DuckDB override with the FILTER clause.
|
|
252
|
+
*/
|
|
253
|
+
buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
|
|
254
|
+
/**
|
|
255
|
+
* Build AVG with null-to-zero handling (COALESCE/IFNULL via nullToZero()).
|
|
256
|
+
*/
|
|
257
|
+
buildAvg(fieldExpr: AnyColumn | SQL): SQL;
|
|
258
|
+
/**
|
|
259
|
+
* Build CASE WHEN conditional expression.
|
|
260
|
+
* SQLite overrides this to handle embedded SQL objects in THEN/ELSE.
|
|
261
|
+
*/
|
|
262
|
+
buildCaseWhen(conditions: Array<{
|
|
263
|
+
when: SQL;
|
|
264
|
+
then: any;
|
|
265
|
+
}>, elseValue?: any): SQL;
|
|
266
|
+
/**
|
|
267
|
+
* Build boolean literal. Default uses TRUE/FALSE keywords; SQLite overrides with 1/0.
|
|
268
|
+
*/
|
|
269
|
+
buildBooleanLiteral(value: boolean): SQL;
|
|
270
|
+
/**
|
|
271
|
+
* Convert filter values to database-compatible types.
|
|
272
|
+
* Default is a pass-through; SQLite overrides to handle booleans/dates as integers.
|
|
273
|
+
*/
|
|
274
|
+
convertFilterValue(value: any): any;
|
|
275
|
+
/**
|
|
276
|
+
* Prepare a Date for storage. Default passes the Date through (native timestamps);
|
|
277
|
+
* SQLite overrides to convert to integer milliseconds.
|
|
278
|
+
*/
|
|
279
|
+
prepareDateValue(date: Date): any;
|
|
280
|
+
/**
|
|
281
|
+
* Whether timestamps are stored as integers. Default false; SQLite overrides to true.
|
|
282
|
+
*/
|
|
283
|
+
isTimestampInteger(): boolean;
|
|
284
|
+
/**
|
|
285
|
+
* Convert a time-dimension result value. Default is a pass-through.
|
|
286
|
+
*/
|
|
287
|
+
convertTimeDimensionResult(value: any): any;
|
|
288
|
+
/**
|
|
289
|
+
* Build STDDEV aggregation. Default uses STDDEV_POP/STDDEV_SAMP with null-to-zero.
|
|
290
|
+
* Engines without native STDDEV (SQLite) override to return null.
|
|
291
|
+
*/
|
|
292
|
+
buildStddev(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
|
|
293
|
+
/**
|
|
294
|
+
* Build VARIANCE aggregation. Default uses VAR_POP/VAR_SAMP with null-to-zero.
|
|
295
|
+
* SQLite overrides to null; Databend overrides to a COVAR-based workaround.
|
|
296
|
+
*/
|
|
297
|
+
buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL | null;
|
|
298
|
+
/**
|
|
299
|
+
* Build a window function expression. Identical across all supported engines
|
|
300
|
+
* (standard SQL:2003 window syntax), so it lives here as a shared default.
|
|
301
|
+
*/
|
|
302
|
+
buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
|
|
303
|
+
field: AnyColumn | SQL;
|
|
304
|
+
direction: 'asc' | 'desc';
|
|
305
|
+
}>, config?: WindowFunctionConfig): SQL | null;
|
|
261
306
|
/**
|
|
262
307
|
* Helper method to build pattern for string matching
|
|
263
308
|
* Can be overridden by specific adapters if needed
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
|
+
import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
|
|
4
|
+
export declare class DatabendAdapter extends BaseDatabaseAdapter {
|
|
5
|
+
getEngineType(): 'databend';
|
|
6
|
+
/**
|
|
7
|
+
* Build Databend INTERVAL from ISO 8601 duration
|
|
8
|
+
* Databend supports INTERVAL n UNIT syntax (e.g., INTERVAL 7 DAY)
|
|
9
|
+
*/
|
|
10
|
+
buildIntervalFromISO(duration: string): SQL;
|
|
11
|
+
/**
|
|
12
|
+
* Build Databend time difference in seconds
|
|
13
|
+
* Uses TIMESTAMPDIFF(SECOND, start, end)
|
|
14
|
+
*/
|
|
15
|
+
buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
|
|
16
|
+
/**
|
|
17
|
+
* Build Databend timestamp + interval expression
|
|
18
|
+
* Uses timestamp + INTERVAL n UNIT syntax (Databend doesn't support DATE_ADD function)
|
|
19
|
+
*/
|
|
20
|
+
buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
21
|
+
/**
|
|
22
|
+
* Build Databend date difference in periods using DATE_DIFF
|
|
23
|
+
*/
|
|
24
|
+
buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
|
|
25
|
+
/**
|
|
26
|
+
* Build Databend period series using generate_series via numbers table
|
|
27
|
+
* Databend has a numbers() table function that can be used similarly
|
|
28
|
+
*/
|
|
29
|
+
buildPeriodSeriesSubquery(maxPeriod: number): SQL;
|
|
30
|
+
/**
|
|
31
|
+
* Build Databend time dimension using DATE_TRUNC function
|
|
32
|
+
* Databend supports DATE_TRUNC with unquoted granularity keywords
|
|
33
|
+
*/
|
|
34
|
+
buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
35
|
+
/**
|
|
36
|
+
* Databend has no ILIKE — use LOWER()+LIKE with SQL-side LOWER() on the pattern.
|
|
37
|
+
*/
|
|
38
|
+
protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
|
|
39
|
+
/**
|
|
40
|
+
* Databend regex matching uses the REGEXP operator
|
|
41
|
+
*/
|
|
42
|
+
protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
|
|
43
|
+
/**
|
|
44
|
+
* Build Databend type casting
|
|
45
|
+
* Databend supports both :: syntax and CAST() function
|
|
46
|
+
*/
|
|
47
|
+
castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
48
|
+
/**
|
|
49
|
+
* Databend capabilities - start conservative
|
|
50
|
+
*/
|
|
51
|
+
getCapabilities(): DatabaseCapabilities;
|
|
52
|
+
/**
|
|
53
|
+
* Build Databend VARIANCE aggregation
|
|
54
|
+
* Databend doesn't have VAR_POP/VAR_SAMP, but COVAR_POP(x,x) = VAR_POP(x)
|
|
55
|
+
* and COVAR_SAMP(x,x) = VAR_SAMP(x) mathematically
|
|
56
|
+
*/
|
|
57
|
+
buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL;
|
|
58
|
+
/**
|
|
59
|
+
* Build Databend PERCENTILE aggregation
|
|
60
|
+
* Databend may support QUANTILE or PERCENTILE_CONT - start with unsupported
|
|
61
|
+
*/
|
|
62
|
+
buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL;
|
|
63
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
-
import { TimeGranularity } from '../types';
|
|
3
|
-
import { BaseDatabaseAdapter, DatabaseCapabilities
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
|
+
import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
|
|
4
4
|
export declare class DuckDBAdapter extends BaseDatabaseAdapter {
|
|
5
5
|
getEngineType(): 'duckdb';
|
|
6
6
|
/**
|
|
@@ -8,7 +8,6 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
|
|
|
8
8
|
* which is required for the LATERAL join strategy in flow queries.
|
|
9
9
|
* Use window function strategy instead.
|
|
10
10
|
*/
|
|
11
|
-
supportsLateralJoins(): boolean;
|
|
12
11
|
/**
|
|
13
12
|
* Build DuckDB INTERVAL from ISO 8601 duration
|
|
14
13
|
* DuckDB supports PostgreSQL-style INTERVAL literal syntax: INTERVAL '7 days'
|
|
@@ -25,9 +24,8 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
|
|
|
25
24
|
*/
|
|
26
25
|
buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
27
26
|
/**
|
|
28
|
-
* Build DuckDB conditional aggregation using
|
|
29
|
-
* DuckDB supports
|
|
30
|
-
* Using FILTER clause as DuckDB does support it
|
|
27
|
+
* Build DuckDB conditional aggregation using the FILTER clause
|
|
28
|
+
* DuckDB supports the standard SQL FILTER clause like PostgreSQL
|
|
31
29
|
*/
|
|
32
30
|
buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
|
|
33
31
|
/**
|
|
@@ -46,48 +44,14 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
|
|
|
46
44
|
*/
|
|
47
45
|
buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
48
46
|
/**
|
|
49
|
-
*
|
|
50
|
-
* DuckDB supports ILIKE like PostgreSQL
|
|
47
|
+
* DuckDB uses function-style regex matching: regexp_matches(field, pattern)
|
|
51
48
|
*/
|
|
52
|
-
|
|
49
|
+
protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
|
|
53
50
|
/**
|
|
54
51
|
* Build DuckDB type casting
|
|
55
52
|
* DuckDB supports both :: syntax and CAST() function
|
|
56
53
|
*/
|
|
57
54
|
castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
58
|
-
/**
|
|
59
|
-
* Build DuckDB AVG aggregation with COALESCE for NULL handling
|
|
60
|
-
*/
|
|
61
|
-
buildAvg(fieldExpr: AnyColumn | SQL): SQL;
|
|
62
|
-
/**
|
|
63
|
-
* Build DuckDB CASE WHEN conditional expression
|
|
64
|
-
*/
|
|
65
|
-
buildCaseWhen(conditions: Array<{
|
|
66
|
-
when: SQL;
|
|
67
|
-
then: any;
|
|
68
|
-
}>, elseValue?: any): SQL;
|
|
69
|
-
/**
|
|
70
|
-
* Build DuckDB boolean literal
|
|
71
|
-
* DuckDB uses TRUE/FALSE keywords
|
|
72
|
-
*/
|
|
73
|
-
buildBooleanLiteral(value: boolean): SQL;
|
|
74
|
-
/**
|
|
75
|
-
* Convert filter values - DuckDB uses native types
|
|
76
|
-
*/
|
|
77
|
-
convertFilterValue(value: any): any;
|
|
78
|
-
/**
|
|
79
|
-
* Prepare date value for DuckDB
|
|
80
|
-
* DuckDB accepts Date objects directly
|
|
81
|
-
*/
|
|
82
|
-
prepareDateValue(date: Date): any;
|
|
83
|
-
/**
|
|
84
|
-
* DuckDB stores timestamps as native timestamp types
|
|
85
|
-
*/
|
|
86
|
-
isTimestampInteger(): boolean;
|
|
87
|
-
/**
|
|
88
|
-
* DuckDB time dimensions already return proper values
|
|
89
|
-
*/
|
|
90
|
-
convertTimeDimensionResult(value: any): any;
|
|
91
55
|
/**
|
|
92
56
|
* DuckDB has full support for statistical and window functions
|
|
93
57
|
* Note: supportsPercentileSubqueries is false because DuckDB's QUANTILE_CONT
|
|
@@ -96,27 +60,9 @@ export declare class DuckDBAdapter extends BaseDatabaseAdapter {
|
|
|
96
60
|
* LIMIT in correlated subqueries, which is required for flow query LATERAL joins
|
|
97
61
|
*/
|
|
98
62
|
getCapabilities(): DatabaseCapabilities;
|
|
99
|
-
/**
|
|
100
|
-
* Build DuckDB STDDEV aggregation
|
|
101
|
-
* Uses STDDEV_POP for population, STDDEV_SAMP for sample
|
|
102
|
-
*/
|
|
103
|
-
buildStddev(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL;
|
|
104
|
-
/**
|
|
105
|
-
* Build DuckDB VARIANCE aggregation
|
|
106
|
-
* Uses VAR_POP for population, VAR_SAMP for sample
|
|
107
|
-
*/
|
|
108
|
-
buildVariance(fieldExpr: AnyColumn | SQL, useSample?: boolean): SQL;
|
|
109
63
|
/**
|
|
110
64
|
* Build DuckDB PERCENTILE aggregation
|
|
111
65
|
* DuckDB uses QUANTILE_CONT instead of PERCENTILE_CONT
|
|
112
66
|
*/
|
|
113
67
|
buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL;
|
|
114
|
-
/**
|
|
115
|
-
* Build DuckDB window function expression
|
|
116
|
-
* DuckDB has full window function support
|
|
117
|
-
*/
|
|
118
|
-
buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
|
|
119
|
-
field: AnyColumn | SQL;
|
|
120
|
-
direction: 'asc' | 'desc';
|
|
121
|
-
}>, config?: WindowFunctionConfig): SQL;
|
|
122
68
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
|
+
import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
|
|
4
|
+
export declare class MySQLAdapter extends BaseDatabaseAdapter {
|
|
5
|
+
getEngineType(): 'mysql' | 'singlestore';
|
|
6
|
+
/**
|
|
7
|
+
* Build MySQL INTERVAL from ISO 8601 duration
|
|
8
|
+
* MySQL has no standalone interval literal usable in arithmetic, so we convert
|
|
9
|
+
* to total seconds for consistent handling.
|
|
10
|
+
*/
|
|
11
|
+
buildIntervalFromISO(duration: string): SQL;
|
|
12
|
+
/**
|
|
13
|
+
* Build MySQL time difference in seconds using TIMESTAMPDIFF
|
|
14
|
+
* Returns (end - start) as seconds
|
|
15
|
+
*/
|
|
16
|
+
buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
|
|
17
|
+
/**
|
|
18
|
+
* Build MySQL timestamp + interval expression
|
|
19
|
+
* Uses a chain of DATE_ADD calls, one per duration component
|
|
20
|
+
*/
|
|
21
|
+
buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
22
|
+
/**
|
|
23
|
+
* Build MySQL date difference in periods using TIMESTAMPDIFF
|
|
24
|
+
* For retention analysis period calculations
|
|
25
|
+
*/
|
|
26
|
+
buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
|
|
27
|
+
/**
|
|
28
|
+
* Build MySQL period series using recursive CTE
|
|
29
|
+
* MySQL 8.0+ supports recursive CTEs for generating sequences
|
|
30
|
+
*/
|
|
31
|
+
buildPeriodSeriesSubquery(maxPeriod: number): SQL;
|
|
32
|
+
/**
|
|
33
|
+
* Build MySQL time dimension using DATE_FORMAT function
|
|
34
|
+
* MySQL equivalent to PostgreSQL's DATE_TRUNC
|
|
35
|
+
*/
|
|
36
|
+
buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
37
|
+
/**
|
|
38
|
+
* MySQL has no ILIKE — use LOWER()+LIKE with the pattern lowercased in JS.
|
|
39
|
+
*/
|
|
40
|
+
protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
|
|
41
|
+
/**
|
|
42
|
+
* MySQL regex matching uses the REGEXP operator
|
|
43
|
+
*/
|
|
44
|
+
protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
|
|
45
|
+
/**
|
|
46
|
+
* Build MySQL type casting using CAST() function
|
|
47
|
+
* MySQL equivalent to PostgreSQL's :: casting syntax
|
|
48
|
+
*/
|
|
49
|
+
castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
50
|
+
/**
|
|
51
|
+
* MySQL AVG/STDDEV/VARIANCE use IFNULL (no COALESCE-for-zero idiom mismatch,
|
|
52
|
+
* but IFNULL is the MySQL-idiomatic null guard).
|
|
53
|
+
*/
|
|
54
|
+
protected nullToZero(expr: SQL): SQL;
|
|
55
|
+
/**
|
|
56
|
+
* MySQL 8.0+ has support for statistical and window functions
|
|
57
|
+
* but not PERCENTILE_CONT
|
|
58
|
+
*/
|
|
59
|
+
getCapabilities(): DatabaseCapabilities;
|
|
60
|
+
/**
|
|
61
|
+
* MySQL does not support PERCENTILE_CONT
|
|
62
|
+
* Returns null for graceful degradation
|
|
63
|
+
*/
|
|
64
|
+
buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL | null;
|
|
65
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
|
+
import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
|
|
4
|
+
export declare class PostgresAdapter extends BaseDatabaseAdapter {
|
|
5
|
+
getEngineType(): 'postgres';
|
|
6
|
+
/**
|
|
7
|
+
* Build PostgreSQL INTERVAL from ISO 8601 duration
|
|
8
|
+
* PostgreSQL supports INTERVAL literal syntax: INTERVAL '7 days'
|
|
9
|
+
*/
|
|
10
|
+
buildIntervalFromISO(duration: string): SQL;
|
|
11
|
+
/**
|
|
12
|
+
* Build PostgreSQL time difference in seconds using EXTRACT(EPOCH FROM ...)
|
|
13
|
+
* Returns (end - start) as seconds
|
|
14
|
+
*/
|
|
15
|
+
buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
|
|
16
|
+
/**
|
|
17
|
+
* Build PostgreSQL timestamp + interval expression
|
|
18
|
+
*/
|
|
19
|
+
buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
20
|
+
/**
|
|
21
|
+
* Build PostgreSQL conditional aggregation using FILTER clause
|
|
22
|
+
* PostgreSQL supports the standard SQL FILTER clause for efficient conditional aggregation
|
|
23
|
+
* Example: AVG(time_diff) FILTER (WHERE step_1_time IS NOT NULL)
|
|
24
|
+
*/
|
|
25
|
+
buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
|
|
26
|
+
/**
|
|
27
|
+
* Build PostgreSQL date difference in periods using AGE and EXTRACT
|
|
28
|
+
* For retention analysis period calculations
|
|
29
|
+
*/
|
|
30
|
+
buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
|
|
31
|
+
/**
|
|
32
|
+
* Build PostgreSQL period series using generate_series
|
|
33
|
+
* PostgreSQL's generate_series returns a set directly usable as a table
|
|
34
|
+
*/
|
|
35
|
+
buildPeriodSeriesSubquery(maxPeriod: number): SQL;
|
|
36
|
+
/**
|
|
37
|
+
* Build PostgreSQL time dimension using DATE_TRUNC function
|
|
38
|
+
* Extracted from executor.ts:649-670 and multi-cube-builder.ts:306-320
|
|
39
|
+
*/
|
|
40
|
+
buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
41
|
+
/**
|
|
42
|
+
* Build PostgreSQL type casting using :: syntax
|
|
43
|
+
* Extracted from various locations where ::timestamp was used
|
|
44
|
+
*/
|
|
45
|
+
castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
46
|
+
/**
|
|
47
|
+
* PostgreSQL has full support for statistical and window functions
|
|
48
|
+
*/
|
|
49
|
+
getCapabilities(): DatabaseCapabilities;
|
|
50
|
+
/**
|
|
51
|
+
* Build PostgreSQL PERCENTILE_CONT aggregation
|
|
52
|
+
* Uses ordered-set aggregate function
|
|
53
|
+
*/
|
|
54
|
+
buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL;
|
|
55
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
|
+
import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
|
|
4
|
+
export declare class SnowflakeAdapter extends BaseDatabaseAdapter {
|
|
5
|
+
getEngineType(): 'snowflake';
|
|
6
|
+
/**
|
|
7
|
+
* Build Snowflake INTERVAL from ISO 8601 duration
|
|
8
|
+
* Snowflake doesn't have a standalone INTERVAL type like PostgreSQL.
|
|
9
|
+
* We convert to total seconds for use in DATEADD; callers should prefer buildDateAddInterval.
|
|
10
|
+
*/
|
|
11
|
+
buildIntervalFromISO(duration: string): SQL;
|
|
12
|
+
/**
|
|
13
|
+
* Build Snowflake time difference in seconds
|
|
14
|
+
* Uses DATEDIFF('SECOND', start, end)
|
|
15
|
+
*/
|
|
16
|
+
buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
|
|
17
|
+
/**
|
|
18
|
+
* Build Snowflake timestamp + interval expression
|
|
19
|
+
* Uses chained DATEADD(unit, amount, timestamp) calls
|
|
20
|
+
*/
|
|
21
|
+
buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
22
|
+
/**
|
|
23
|
+
* Build Snowflake date difference in periods using DATEDIFF
|
|
24
|
+
*/
|
|
25
|
+
buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
|
|
26
|
+
/**
|
|
27
|
+
* Build Snowflake period series using TABLE(GENERATOR(ROWCOUNT => n)) + ROW_NUMBER()
|
|
28
|
+
*/
|
|
29
|
+
buildPeriodSeriesSubquery(maxPeriod: number): SQL;
|
|
30
|
+
/**
|
|
31
|
+
* Build Snowflake time dimension using DATE_TRUNC function
|
|
32
|
+
* Snowflake supports DATE_TRUNC with quoted granularity like PostgreSQL
|
|
33
|
+
*/
|
|
34
|
+
buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
35
|
+
/**
|
|
36
|
+
* Snowflake uses function-style regex matching: REGEXP_LIKE(field, pattern)
|
|
37
|
+
*/
|
|
38
|
+
protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
|
|
39
|
+
/**
|
|
40
|
+
* Build Snowflake type casting using :: syntax
|
|
41
|
+
* Snowflake supports both :: syntax and CAST() function
|
|
42
|
+
*/
|
|
43
|
+
castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
44
|
+
/**
|
|
45
|
+
* Snowflake capabilities - full SQL support
|
|
46
|
+
*/
|
|
47
|
+
getCapabilities(): DatabaseCapabilities;
|
|
48
|
+
/**
|
|
49
|
+
* Build Snowflake PERCENTILE_CONT aggregation
|
|
50
|
+
* Uses ordered-set aggregate function
|
|
51
|
+
*/
|
|
52
|
+
buildPercentile(fieldExpr: AnyColumn | SQL, percentile: number): SQL;
|
|
53
|
+
}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
-
import { TimeGranularity } from '../types';
|
|
3
|
-
import { BaseDatabaseAdapter, DatabaseCapabilities
|
|
2
|
+
import { TimeGranularity } from '../types/index.js';
|
|
3
|
+
import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter.js';
|
|
4
4
|
export declare class SQLiteAdapter extends BaseDatabaseAdapter {
|
|
5
5
|
getEngineType(): 'sqlite';
|
|
6
|
-
/**
|
|
7
|
-
* SQLite does not support LATERAL joins
|
|
8
|
-
* Flow queries require LATERAL for efficient execution and are not supported on SQLite
|
|
9
|
-
*/
|
|
10
|
-
supportsLateralJoins(): boolean;
|
|
11
6
|
/**
|
|
12
7
|
* Build SQLite INTERVAL from ISO 8601 duration
|
|
13
8
|
* SQLite doesn't have native interval types, so we convert to seconds
|
|
@@ -25,12 +20,6 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
|
|
|
25
20
|
* Since SQLite stores timestamps as Unix seconds, just add the seconds
|
|
26
21
|
*/
|
|
27
22
|
buildDateAddInterval(timestamp: SQL, duration: string): SQL;
|
|
28
|
-
/**
|
|
29
|
-
* Build SQLite conditional aggregation using CASE WHEN
|
|
30
|
-
* SQLite doesn't support FILTER clause, so we use CASE WHEN pattern
|
|
31
|
-
* Example: AVG(CASE WHEN step_1_time IS NOT NULL THEN time_diff END)
|
|
32
|
-
*/
|
|
33
|
-
buildConditionalAggregation(aggFn: 'count' | 'avg' | 'min' | 'max' | 'sum', expr: SQL | null, condition: SQL): SQL;
|
|
34
23
|
/**
|
|
35
24
|
* Build SQLite date difference in periods
|
|
36
25
|
* SQLite uses Julian day calculations for date arithmetic
|
|
@@ -50,22 +39,26 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
|
|
|
50
39
|
*/
|
|
51
40
|
buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
|
|
52
41
|
/**
|
|
53
|
-
*
|
|
54
|
-
|
|
42
|
+
* SQLite has no ILIKE — use LOWER()+LIKE with the pattern lowercased in JS.
|
|
43
|
+
*/
|
|
44
|
+
protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
|
|
45
|
+
/**
|
|
46
|
+
* SQLite regex requires loading an extension, so GLOB is used as a fallback.
|
|
55
47
|
*/
|
|
56
|
-
|
|
48
|
+
protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
|
|
57
49
|
/**
|
|
58
50
|
* Build SQLite type casting using CAST() function
|
|
59
51
|
* SQLite has dynamic typing but supports CAST for consistency
|
|
60
52
|
*/
|
|
61
53
|
castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
|
|
62
54
|
/**
|
|
63
|
-
*
|
|
64
|
-
* SQLite AVG returns NULL for empty sets, using IFNULL for consistency
|
|
55
|
+
* SQLite AVG uses IFNULL rather than COALESCE for null-to-zero handling.
|
|
65
56
|
*/
|
|
66
|
-
|
|
57
|
+
protected nullToZero(expr: SQL): SQL;
|
|
67
58
|
/**
|
|
68
|
-
* Build SQLite CASE WHEN conditional expression
|
|
59
|
+
* Build SQLite CASE WHEN conditional expression.
|
|
60
|
+
* Unlike the base implementation, SQLite must detect embedded SQL objects in THEN/ELSE
|
|
61
|
+
* and inline them rather than binding them as parameters.
|
|
69
62
|
*/
|
|
70
63
|
buildCaseWhen(conditions: Array<{
|
|
71
64
|
when: SQL;
|
|
@@ -104,11 +97,6 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
|
|
|
104
97
|
* SQLite stores timestamps as integers (milliseconds)
|
|
105
98
|
*/
|
|
106
99
|
isTimestampInteger(): boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Convert SQLite time dimension results back to Date objects
|
|
109
|
-
* SQLite time dimensions return datetime strings, but clients expect Date objects
|
|
110
|
-
*/
|
|
111
|
-
convertTimeDimensionResult(value: any): any;
|
|
112
100
|
/**
|
|
113
101
|
* SQLite has limited statistical support (no native STDDEV/VARIANCE/PERCENTILE)
|
|
114
102
|
* but supports window functions since SQLite 3.25
|
|
@@ -129,12 +117,4 @@ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
|
|
|
129
117
|
* Returns null for graceful degradation
|
|
130
118
|
*/
|
|
131
119
|
buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL | null;
|
|
132
|
-
/**
|
|
133
|
-
* Build SQLite window function expression
|
|
134
|
-
* SQLite 3.25+ supports window functions
|
|
135
|
-
*/
|
|
136
|
-
buildWindowFunction(type: WindowFunctionType, fieldExpr: AnyColumn | SQL | null, partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
|
|
137
|
-
field: AnyColumn | SQL;
|
|
138
|
-
direction: 'asc' | 'desc';
|
|
139
|
-
}>, config?: WindowFunctionConfig): SQL;
|
|
140
120
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SQL, AnyColumn } from 'drizzle-orm';
|
|
2
|
+
import { WindowFunctionType, WindowFunctionConfig } from './base-adapter.js';
|
|
3
|
+
type FieldExpr = AnyColumn | SQL | null;
|
|
4
|
+
/** Build the full `OVER (...)` clause from partition/order/frame components. */
|
|
5
|
+
export declare function buildWindowOverClause(partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
|
|
6
|
+
field: AnyColumn | SQL;
|
|
7
|
+
direction: 'asc' | 'desc';
|
|
8
|
+
}>, config?: WindowFunctionConfig): SQL;
|
|
9
|
+
/** Build the window function expression for a given type and pre-built OVER clause. */
|
|
10
|
+
export declare function buildWindowExpression(type: WindowFunctionType, fieldExpr: FieldExpr, over: SQL, config?: WindowFunctionConfig): SQL;
|
|
11
|
+
export {};
|
|
@@ -13,11 +13,6 @@ interface ValidationResult {
|
|
|
13
13
|
* Validate chartConfig against the chart type's drop zone requirements.
|
|
14
14
|
*/
|
|
15
15
|
export declare function validateChartConfig(chartType: string, chartConfig: Record<string, unknown> | undefined, _query: Record<string, unknown>): ValidationResult;
|
|
16
|
-
/**
|
|
17
|
-
* Auto-infer missing chartConfig fields from the query structure.
|
|
18
|
-
* Fills in xAxis, yAxis, series, sizeField, etc. based on query measures/dimensions
|
|
19
|
-
* and the chart type's drop zone acceptTypes.
|
|
20
|
-
*/
|
|
21
16
|
export declare function inferChartConfig(chartType: string, chartConfig: Record<string, unknown> | undefined, query: Record<string, unknown>): Record<string, unknown>;
|
|
22
17
|
/**
|
|
23
18
|
* Build per-chart-type requirements text for the agent tool description.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AgentSSEEvent, AgentHistoryMessage, AgentConfig } from './types.js';
|
|
2
|
+
import { ContentBlock, InternalMessage, ToolResult, LLMProvider } from './providers/types.js';
|
|
3
|
+
import { ToolExecutionResult } from './tools.js';
|
|
4
|
+
type AgentObservability = AgentConfig['observability'];
|
|
5
|
+
type ToolExecutorMap = Map<string, (input: Record<string, unknown>) => Promise<ToolExecutionResult>>;
|
|
6
|
+
/** Push provider-formatted tool results onto the message list (array or single). */
|
|
7
|
+
export declare function pushFormattedResults(messages: InternalMessage[], formatted: unknown): void;
|
|
8
|
+
/** Run an observability callback, swallowing any error (must never break the agent). */
|
|
9
|
+
export declare function safeObserve(fn: (() => void) | undefined): void;
|
|
10
|
+
/** Rebuild conversation messages from stored history (e.g. after notebook reload). */
|
|
11
|
+
export declare function rebuildMessagesFromHistory(history: AgentHistoryMessage[] | undefined, provider: LLMProvider): InternalMessage[];
|
|
12
|
+
/** Accumulated result of consuming one assistant generation stream. */
|
|
13
|
+
export interface ConsumedStream {
|
|
14
|
+
contentBlocks: ContentBlock[];
|
|
15
|
+
stopReason: string;
|
|
16
|
+
inputTokens?: number;
|
|
17
|
+
outputTokens?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Consume a provider's normalized stream, accumulating the assistant's content
|
|
21
|
+
* blocks and yielding text/tool SSE events. Returns the accumulated blocks,
|
|
22
|
+
* stop reason and token usage.
|
|
23
|
+
*/
|
|
24
|
+
export declare function consumeAssistantStream(provider: LLMProvider, stream: AsyncIterable<unknown>): AsyncGenerator<AgentSSEEvent, ConsumedStream>;
|
|
25
|
+
/** Context shared across tool executions within a single turn. */
|
|
26
|
+
export interface ToolExecContext {
|
|
27
|
+
executor: ToolExecutorMap;
|
|
28
|
+
observability: AgentObservability;
|
|
29
|
+
traceId: string;
|
|
30
|
+
turn: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Execute all tool-use blocks in the assistant's response, yielding their SSE
|
|
34
|
+
* events and returning the collected ToolResults.
|
|
35
|
+
*/
|
|
36
|
+
export declare function executeToolCalls(contentBlocks: ContentBlock[], ctx: ToolExecContext): AsyncGenerator<AgentSSEEvent, ToolResult[]>;
|
|
37
|
+
export {};
|