drizzle-cube 0.6.1 → 0.6.2
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/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +1 -1
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +1 -1
- package/dist/adapters/{handler-CfgE0JSL.js → handler-CtaSua-i.js} +1 -1
- package/dist/adapters/{handler-Cn0dOctE.cjs → handler-OwxSBJH8.cjs} +1 -1
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +1 -1
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +1 -1
- package/dist/{server/openai-B5jEiqiB.js → adapters/openai-CmVRIbUg.js} +18 -2
- package/dist/adapters/{openai-cDlFSTk6.js → openai-CtXqeznO.js} +1 -1
- package/dist/{server/openai-D0musiYP.cjs → adapters/openai-D-6l1Y8h.cjs} +3 -3
- package/dist/adapters/{openai-vXvLni8v.cjs → openai-DTSTMiXL.cjs} +1 -1
- package/dist/cjs/adapters/express/index.d.ts +114 -0
- package/dist/cjs/adapters/fastify/index.d.ts +113 -0
- package/dist/cjs/adapters/hono/agent-handler.d.ts +9 -0
- package/dist/cjs/adapters/hono/index.d.ts +120 -0
- package/dist/cjs/adapters/hono/mcp-handler.d.ts +37 -0
- package/dist/cjs/adapters/locale.d.ts +8 -0
- package/dist/cjs/adapters/mcp-tools-handlers.d.ts +18 -0
- package/dist/cjs/adapters/mcp-tools.d.ts +134 -0
- package/dist/cjs/adapters/mcp-transport.d.ts +158 -0
- package/dist/cjs/adapters/nextjs/index.d.ts +196 -0
- package/dist/cjs/adapters/nextjs/mcp-handler.d.ts +36 -0
- package/dist/cjs/adapters/types.d.ts +41 -0
- package/dist/cjs/adapters/utils.d.ts +354 -0
- package/dist/cjs/client/adapters/adapterRegistry.d.ts +44 -0
- package/dist/cjs/client/adapters/flowModeAdapter.d.ts +3 -0
- package/dist/cjs/client/adapters/funnelModeAdapter.d.ts +19 -0
- package/dist/cjs/client/adapters/index.d.ts +29 -0
- package/dist/cjs/client/adapters/modeAdapter.d.ts +117 -0
- package/dist/cjs/client/adapters/queryModeAdapter.d.ts +16 -0
- package/dist/cjs/client/adapters/retentionModeAdapter.d.ts +3 -0
- package/dist/cjs/client/charts/ChartLoader.d.ts +69 -0
- package/dist/cjs/client/charts/chartComponentRegistry.d.ts +46 -0
- package/dist/cjs/client/charts/chartConfigHelpers.d.ts +38 -0
- package/dist/cjs/client/charts/chartConfigRegistry.d.ts +15 -0
- package/dist/cjs/client/charts/chartConfigs.d.ts +142 -0
- package/dist/cjs/client/charts/chartPlugin.d.ts +74 -0
- package/dist/cjs/client/charts/lazyChartConfigRegistry.d.ts +100 -0
- package/dist/cjs/client/charts.d.ts +17 -0
- package/dist/cjs/client/client/BatchCoordinator.d.ts +38 -0
- package/dist/cjs/client/client/CubeClient.d.ts +32 -0
- package/dist/cjs/client/components/AIAssistant/constants.d.ts +11 -0
- package/dist/cjs/client/components/AIAssistant/index.d.ts +10 -0
- package/dist/cjs/client/components/AIAssistant/types.d.ts +49 -0
- package/dist/cjs/client/components/AIAssistant/utils.d.ts +17 -0
- package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +27 -0
- package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +14 -0
- package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +9 -0
- package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +6 -0
- package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +12 -0
- package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +15 -0
- package/dist/cjs/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
- package/dist/cjs/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
- package/dist/cjs/client/components/AgenticNotebook/index.d.ts +56 -0
- package/dist/cjs/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
- package/dist/cjs/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisAIPanel.d.ts +25 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +29 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +18 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +11 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +20 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +14 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +16 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +27 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +12 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +14 -0
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +17 -0
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +12 -0
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +9 -0
- package/dist/cjs/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
- package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +49 -0
- package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
- package/dist/cjs/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +16 -0
- package/dist/cjs/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +4 -0
- package/dist/cjs/client/components/AnalysisBuilder/FieldSearchItem.d.ts +6 -0
- package/dist/cjs/client/components/AnalysisBuilder/FieldSearchModal.d.ts +2 -0
- package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
- package/dist/cjs/client/components/AnalysisBuilder/FilterConfigModal.d.ts +17 -0
- package/dist/cjs/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
- package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +28 -0
- package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
- package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +57 -0
- package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
- package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +21 -0
- package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +24 -0
- package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +48 -0
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +25 -0
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +26 -0
- package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
- package/dist/cjs/client/components/AnalysisBuilder/LimitSection.d.ts +14 -0
- package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +11 -0
- package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
- package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +9 -0
- package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +36 -0
- package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +71 -0
- package/dist/cjs/client/components/AnalysisBuilder/SectionHeading.d.ts +12 -0
- package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
- package/dist/cjs/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
- package/dist/cjs/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
- package/dist/cjs/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
- package/dist/cjs/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
- package/dist/cjs/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
- package/dist/cjs/client/components/AnalysisBuilder/index.d.ts +9 -0
- package/dist/cjs/client/components/AnalysisBuilder/types.d.ts +851 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +69 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/filterUtils.d.ts +19 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/idUtils.d.ts +11 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/index.d.ts +11 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +11 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/recentFieldsUtils.d.ts +14 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
- package/dist/cjs/client/components/AnalysisBuilder/utils/storageUtils.d.ts +44 -0
- package/dist/cjs/client/components/AnalysisBuilderLazy.d.ts +4 -0
- package/dist/cjs/client/components/AnalyticsDashboard.d.ts +2 -0
- package/dist/cjs/client/components/AnalyticsPage.d.ts +1 -0
- package/dist/cjs/client/components/AnalyticsPortlet.d.ts +10 -0
- package/dist/cjs/client/components/ChartErrorBoundary.d.ts +21 -0
- package/dist/cjs/client/components/ChartTypeSelector.d.ts +15 -0
- package/dist/cjs/client/components/ColorPaletteSelector.d.ts +11 -0
- package/dist/cjs/client/components/ConfirmModal.d.ts +30 -0
- package/dist/cjs/client/components/DashboardEditModal.d.ts +15 -0
- package/dist/cjs/client/components/DashboardFilterPanel.d.ts +15 -0
- package/dist/cjs/client/components/DashboardFilters/CompactFilterBar.d.ts +13 -0
- package/dist/cjs/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
- package/dist/cjs/client/components/DashboardFilters/CustomDateDropdown.d.ts +10 -0
- package/dist/cjs/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +20 -0
- package/dist/cjs/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
- package/dist/cjs/client/components/DashboardFilters/DashboardFilterItem.d.ts +14 -0
- package/dist/cjs/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
- package/dist/cjs/client/components/DashboardFilters/DatePresetChips.d.ts +8 -0
- package/dist/cjs/client/components/DashboardFilters/EditModeFilterList.d.ts +13 -0
- package/dist/cjs/client/components/DashboardFilters/FilterChip.d.ts +12 -0
- package/dist/cjs/client/components/DashboardFilters/FilterEditModal.d.ts +15 -0
- package/dist/cjs/client/components/DashboardFilters/FilterValuePopover.d.ts +11 -0
- package/dist/cjs/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +13 -0
- package/dist/cjs/client/components/DashboardFilters/XTDDropdown.d.ts +10 -0
- package/dist/cjs/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
- package/dist/cjs/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
- package/dist/cjs/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
- package/dist/cjs/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
- package/dist/cjs/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
- package/dist/cjs/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
- package/dist/cjs/client/components/DashboardGrid.d.ts +22 -0
- package/dist/cjs/client/components/DashboardPortletCard.d.ts +4 -0
- package/dist/cjs/client/components/DashboardThumbnailPlaceholder.d.ts +13 -0
- package/dist/cjs/client/components/DataBrowser/DataBrowserSidebar.d.ts +16 -0
- package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +16 -0
- package/dist/cjs/client/components/DataBrowser/DataBrowserToolbar.d.ts +22 -0
- package/dist/cjs/client/components/DataBrowser/index.d.ts +28 -0
- package/dist/cjs/client/components/DataHistogram.d.ts +27 -0
- package/dist/cjs/client/components/DebugModal.d.ts +17 -0
- package/dist/cjs/client/components/DrillBreadcrumb.d.ts +7 -0
- package/dist/cjs/client/components/DrillMenu.d.ts +8 -0
- package/dist/cjs/client/components/FloatingEditToolbar.d.ts +30 -0
- package/dist/cjs/client/components/LoadingIndicator.d.ts +16 -0
- package/dist/cjs/client/components/MobileStackedLayout.d.ts +14 -0
- package/dist/cjs/client/components/Modal.d.ts +16 -0
- package/dist/cjs/client/components/PortletAnalysisModal.d.ts +27 -0
- package/dist/cjs/client/components/PortletContainer.d.ts +10 -0
- package/dist/cjs/client/components/PortletFilterConfigModal.d.ts +13 -0
- package/dist/cjs/client/components/RowManagedLayout.d.ts +19 -0
- package/dist/cjs/client/components/ScaledGridWrapper.d.ts +12 -0
- package/dist/cjs/client/components/SchemaVisualization/CubeNode.d.ts +25 -0
- package/dist/cjs/client/components/SchemaVisualization/FieldDetailPanel.d.ts +15 -0
- package/dist/cjs/client/components/SchemaVisualization/RelationshipEdge.d.ts +13 -0
- package/dist/cjs/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +3 -0
- package/dist/cjs/client/components/SchemaVisualization/index.d.ts +10 -0
- package/dist/cjs/client/components/SchemaVisualization/useERDLayout.d.ts +39 -0
- package/dist/cjs/client/components/SchemaVisualization/xyflowContext.d.ts +11 -0
- package/dist/cjs/client/components/TextPortletModal.d.ts +12 -0
- package/dist/cjs/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
- package/dist/cjs/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
- package/dist/cjs/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
- package/dist/cjs/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
- package/dist/cjs/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
- package/dist/cjs/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
- package/dist/cjs/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
- package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.render.d.ts +31 -0
- package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +19 -0
- package/dist/cjs/client/components/charts/AreaChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/AreaChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/AxisFormatControls.d.ts +37 -0
- package/dist/cjs/client/components/charts/BarChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/BarChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/BarChart.helpers.d.ts +23 -0
- package/dist/cjs/client/components/charts/BarSeries.d.ts +29 -0
- package/dist/cjs/client/components/charts/BoxPlotChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/BubbleChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/BubbleChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/BubbleChart.helpers.d.ts +43 -0
- package/dist/cjs/client/components/charts/BubbleChart.render.d.ts +21 -0
- package/dist/cjs/client/components/charts/CandlestickChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/CandlestickChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -0
- package/dist/cjs/client/components/charts/ChartLegend.d.ts +7 -0
- package/dist/cjs/client/components/charts/ChartStates.d.ts +38 -0
- package/dist/cjs/client/components/charts/ChartTooltip.d.ts +7 -0
- package/dist/cjs/client/components/charts/DataTable.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/DataTable.d.ts +4 -0
- package/dist/cjs/client/components/charts/FunnelChart.config.d.ts +9 -0
- package/dist/cjs/client/components/charts/FunnelChart.d.ts +11 -0
- package/dist/cjs/client/components/charts/FunnelChart.helpers.d.ts +25 -0
- package/dist/cjs/client/components/charts/FunnelViews.d.ts +16 -0
- package/dist/cjs/client/components/charts/GaugeChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/GaugeChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/HeatMapCanvas.d.ts +25 -0
- package/dist/cjs/client/components/charts/HeatMapChart.config.d.ts +8 -0
- package/dist/cjs/client/components/charts/HeatMapChart.d.ts +10 -0
- package/dist/cjs/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
- package/dist/cjs/client/components/charts/KpiDelta.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/KpiDelta.d.ts +4 -0
- package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +20 -0
- package/dist/cjs/client/components/charts/KpiNumber.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/KpiNumber.d.ts +4 -0
- package/dist/cjs/client/components/charts/KpiNumber.helpers.d.ts +30 -0
- package/dist/cjs/client/components/charts/KpiStates.d.ts +19 -0
- package/dist/cjs/client/components/charts/KpiText.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/KpiText.d.ts +4 -0
- package/dist/cjs/client/components/charts/LineChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/LineChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/MarkdownChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/MarkdownChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/MeasureProfileChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/MissingDependencyFallback.d.ts +12 -0
- package/dist/cjs/client/components/charts/PieChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/PieChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/RadarChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/RadarChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/RadialBarChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/RadialBarChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/RetentionCombinedChart.config.d.ts +2 -0
- package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +14 -0
- package/dist/cjs/client/components/charts/RetentionHeatmap.config.d.ts +2 -0
- package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +7 -0
- package/dist/cjs/client/components/charts/SankeyChart.config.d.ts +9 -0
- package/dist/cjs/client/components/charts/SankeyChart.d.ts +10 -0
- package/dist/cjs/client/components/charts/ScatterChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/ScatterChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/ScatterChart.helpers.d.ts +43 -0
- package/dist/cjs/client/components/charts/ScatterSeries.d.ts +17 -0
- package/dist/cjs/client/components/charts/ScatterTooltip.d.ts +21 -0
- package/dist/cjs/client/components/charts/SunburstChart.config.d.ts +9 -0
- package/dist/cjs/client/components/charts/SunburstChart.d.ts +10 -0
- package/dist/cjs/client/components/charts/TreeMapChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/TreeMapChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
- package/dist/cjs/client/components/charts/TreeMapContent.d.ts +24 -0
- package/dist/cjs/client/components/charts/TreeMapLegend.d.ts +13 -0
- package/dist/cjs/client/components/charts/WaterfallChart.config.d.ts +5 -0
- package/dist/cjs/client/components/charts/WaterfallChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +126 -0
- package/dist/cjs/client/components/charts/chartAxisResolution.d.ts +32 -0
- package/dist/cjs/client/components/charts/chartScaffolding.d.ts +77 -0
- package/dist/cjs/client/components/charts/gaugeChartHelpers.d.ts +36 -0
- package/dist/cjs/client/components/charts/index.d.ts +25 -0
- package/dist/cjs/client/components/charts/kpiTextHelpers.d.ts +46 -0
- package/dist/cjs/client/components/charts/radarChartHelpers.d.ts +14 -0
- package/dist/cjs/client/components/charts/radialBarChartHelpers.d.ts +22 -0
- package/dist/cjs/client/components/charts/useChartDimensions.d.ts +20 -0
- package/dist/cjs/client/components/charts/useKpiDimensions.d.ts +30 -0
- package/dist/cjs/client/components/dashboard/DashboardContext.d.ts +113 -0
- package/dist/cjs/client/components/dashboard/DashboardCoordinator.d.ts +2 -0
- package/dist/cjs/client/components/dashboard/DashboardEditBar.d.ts +5 -0
- package/dist/cjs/client/components/dashboard/DashboardFilterBar.d.ts +8 -0
- package/dist/cjs/client/components/dashboard/DashboardGridSurface.d.ts +8 -0
- package/dist/cjs/client/components/dashboard/DashboardModals.d.ts +8 -0
- package/dist/cjs/client/components/dashboard/DashboardProvider.d.ts +2 -0
- package/dist/cjs/client/components/dashboard/DashboardToolbar.d.ts +11 -0
- package/dist/cjs/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
- package/dist/cjs/client/components/dashboard/dashboardGridUtils.d.ts +17 -0
- package/dist/cjs/client/components/dashboard/index.d.ts +13 -0
- package/dist/cjs/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
- package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
- package/dist/cjs/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
- package/dist/cjs/client/components/dashboardPortletCard/filterField.d.ts +12 -0
- package/dist/cjs/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
- package/dist/cjs/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
- package/dist/cjs/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
- package/dist/cjs/client/components/shared/DateRangeFilter.d.ts +4 -0
- package/dist/cjs/client/components/shared/DateRangeSelector.d.ts +13 -0
- package/dist/cjs/client/components/shared/FilterBuilder.d.ts +4 -0
- package/dist/cjs/client/components/shared/FilterGroup.d.ts +4 -0
- package/dist/cjs/client/components/shared/FilterItem.d.ts +4 -0
- package/dist/cjs/client/components/shared/FilterValueSelector.d.ts +4 -0
- package/dist/cjs/client/components/shared/dateRangeUtils.d.ts +40 -0
- package/dist/cjs/client/components/shared/filterDisplayUtils.d.ts +10 -0
- package/dist/cjs/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
- package/dist/cjs/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
- package/dist/cjs/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
- package/dist/cjs/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
- package/dist/cjs/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
- package/dist/cjs/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
- package/dist/cjs/client/components/shared/queryFieldUtils.d.ts +21 -0
- package/dist/cjs/client/components/shared/types.d.ts +60 -0
- package/dist/cjs/client/components/shared/utils.d.ts +71 -0
- package/dist/cjs/client/components.d.ts +17 -0
- package/dist/cjs/client/hooks/agentChatStream.d.ts +39 -0
- package/dist/cjs/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
- package/dist/cjs/client/hooks/dashboard/layoutUtils.d.ts +7 -0
- package/dist/cjs/client/hooks/dashboard/useDashboardController.d.ts +53 -0
- package/dist/cjs/client/hooks/dashboard/useGridLayoutEngine.d.ts +10 -0
- package/dist/cjs/client/hooks/dashboard/useRowLayoutEngine.d.ts +18 -0
- package/dist/cjs/client/hooks/drillNavigation.d.ts +25 -0
- package/dist/cjs/client/hooks/queries/index.d.ts +20 -0
- package/dist/cjs/client/hooks/queries/useCubeLoadQuery.d.ts +85 -0
- package/dist/cjs/client/hooks/queries/useCubeMetaQuery.d.ts +51 -0
- package/dist/cjs/client/hooks/queries/useDryRunQuery.d.ts +153 -0
- package/dist/cjs/client/hooks/queries/useExplainAI.d.ts +62 -0
- package/dist/cjs/client/hooks/queries/useExplainQuery.d.ts +62 -0
- package/dist/cjs/client/hooks/queries/useFlowQuery.d.ts +72 -0
- package/dist/cjs/client/hooks/queries/useFunnelQuery.d.ts +20 -0
- package/dist/cjs/client/hooks/queries/useMultiCubeLoadQuery.d.ts +70 -0
- package/dist/cjs/client/hooks/queries/useRetentionQuery.d.ts +67 -0
- package/dist/cjs/client/hooks/useAgentChat.d.ts +60 -0
- package/dist/cjs/client/hooks/useAnalysisAI.d.ts +56 -0
- package/dist/cjs/client/hooks/useAnalysisBuilderHook.d.ts +245 -0
- package/dist/cjs/client/hooks/useAnalysisChartDefaults.d.ts +35 -0
- package/dist/cjs/client/hooks/useAnalysisCombinedFields.d.ts +18 -0
- package/dist/cjs/client/hooks/useAnalysisInitialization.d.ts +25 -0
- package/dist/cjs/client/hooks/useAnalysisQueryBuilder.d.ts +32 -0
- package/dist/cjs/client/hooks/useAnalysisQueryExecution.d.ts +144 -0
- package/dist/cjs/client/hooks/useAnalysisShare.d.ts +18 -0
- package/dist/cjs/client/hooks/useAnalysisUIState.d.ts +24 -0
- package/dist/cjs/client/hooks/useCubeFieldLabel.d.ts +16 -0
- package/dist/cjs/client/hooks/useDashboardHook.d.ts +123 -0
- package/dist/cjs/client/hooks/useDataBrowser.d.ts +67 -0
- package/dist/cjs/client/hooks/useDebounce.d.ts +12 -0
- package/dist/cjs/client/hooks/useDebounceQuery.d.ts +48 -0
- package/dist/cjs/client/hooks/useDirtyStateTracking.d.ts +37 -0
- package/dist/cjs/client/hooks/useDragAutoScroll.d.ts +18 -0
- package/dist/cjs/client/hooks/useDrillInteraction.d.ts +9 -0
- package/dist/cjs/client/hooks/useElementVisibility.d.ts +30 -0
- package/dist/cjs/client/hooks/useFilterValues.d.ts +19 -0
- package/dist/cjs/client/hooks/useNotebookLayout.d.ts +8 -0
- package/dist/cjs/client/hooks/useResponsiveDashboard.d.ts +16 -0
- package/dist/cjs/client/hooks/useScrollDetection.d.ts +29 -0
- package/dist/cjs/client/hooks/useTheme.d.ts +11 -0
- package/dist/cjs/client/hooks/useTranslation.d.ts +21 -0
- package/dist/cjs/client/hooks.d.ts +17 -0
- package/dist/cjs/client/icons/customIcons.d.ts +22 -0
- package/dist/cjs/client/icons/defaultIcons.d.ts +5 -0
- package/dist/cjs/client/icons/index.d.ts +22 -0
- package/dist/cjs/client/icons/registry.d.ts +64 -0
- package/dist/cjs/client/icons/types.d.ts +129 -0
- package/dist/cjs/client/icons.d.ts +2 -0
- package/dist/cjs/client/index.d.ts +76 -0
- package/dist/cjs/client/providers/CubeApiProvider.d.ts +24 -0
- package/dist/cjs/client/providers/CubeFeaturesProvider.d.ts +19 -0
- package/dist/cjs/client/providers/CubeMetaContext.d.ts +11 -0
- package/dist/cjs/client/providers/CubeMetaProvider.d.ts +6 -0
- package/dist/cjs/client/providers/CubeProvider.d.ts +70 -0
- package/dist/cjs/client/providers/I18nProvider.d.ts +18 -0
- package/dist/cjs/client/providers/ScrollContainerContext.d.ts +19 -0
- package/dist/cjs/client/providers.d.ts +10 -0
- package/dist/cjs/client/schema.d.ts +13 -0
- package/dist/cjs/client/shared/chartConfigBuilders.d.ts +18 -0
- package/dist/cjs/client/shared/chartDefaults.d.ts +59 -0
- package/dist/cjs/client/shared/components/CodeBlock.d.ts +13 -0
- package/dist/cjs/client/shared/components/QueryAnalysisPanel.d.ts +7 -0
- package/dist/cjs/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
- package/dist/cjs/client/shared/index.d.ts +11 -0
- package/dist/cjs/client/shared/queryKey.d.ts +1 -0
- package/dist/cjs/client/shared/queryTransforms.d.ts +20 -0
- package/dist/cjs/client/shared/types.d.ts +184 -0
- package/dist/cjs/client/shared/utils.d.ts +104 -0
- package/dist/cjs/client/stores/analysisBuilderStore.d.ts +578 -0
- package/dist/cjs/client/stores/dashboardStore.d.ts +292 -0
- package/dist/cjs/client/stores/dataBrowserStore.d.ts +34 -0
- package/dist/cjs/client/stores/index.d.ts +13 -0
- package/dist/cjs/client/stores/notebookStore.d.ts +157 -0
- package/dist/cjs/client/stores/optionsToAnalysisConfig.d.ts +17 -0
- package/dist/cjs/client/stores/slices/coreSlice.d.ts +96 -0
- package/dist/cjs/client/stores/slices/flowSlice.d.ts +69 -0
- package/dist/cjs/client/stores/slices/funnelSlice.d.ts +61 -0
- package/dist/cjs/client/stores/slices/index.d.ts +13 -0
- package/dist/cjs/client/stores/slices/querySlice.d.ts +55 -0
- package/dist/cjs/client/stores/slices/retentionSlice.d.ts +66 -0
- package/dist/cjs/client/stores/slices/uiSlice.d.ts +52 -0
- package/dist/cjs/client/theme/index.d.ts +135 -0
- package/dist/cjs/client/types/analysisConfig.d.ts +185 -0
- package/dist/cjs/client/types/drill.d.ts +240 -0
- package/dist/cjs/client/types/flow.d.ts +191 -0
- package/dist/cjs/client/types/funnel.d.ts +288 -0
- package/dist/cjs/client/types/retention.d.ts +301 -0
- package/dist/cjs/client/types.d.ts +600 -0
- package/dist/cjs/client/utils/axisValueFormatting.d.ts +32 -0
- package/dist/cjs/client/utils/chartConstants.d.ts +16 -0
- package/dist/cjs/client/utils/chartUtils.d.ts +35 -0
- package/dist/cjs/client/utils/colorPalettes.d.ts +35 -0
- package/dist/cjs/client/utils/comparisonUtils.d.ts +96 -0
- package/dist/cjs/client/utils/configMigration.d.ts +85 -0
- package/dist/cjs/client/utils/drillQueryBuilder.d.ts +41 -0
- package/dist/cjs/client/utils/exportXlsx.d.ts +20 -0
- package/dist/cjs/client/utils/filterUtils.d.ts +113 -0
- package/dist/cjs/client/utils/funnelExecution.d.ts +211 -0
- package/dist/cjs/client/utils/funnelValidation.d.ts +46 -0
- package/dist/cjs/client/utils/index.d.ts +94 -0
- package/dist/cjs/client/utils/joinReachability.d.ts +27 -0
- package/dist/cjs/client/utils/measureIcons.d.ts +11 -0
- package/dist/cjs/client/utils/multiQueryUtils.d.ts +86 -0
- package/dist/cjs/client/utils/multiQueryValidation.d.ts +69 -0
- package/dist/cjs/client/utils/periodUtils.d.ts +40 -0
- package/dist/cjs/client/utils/pivotUtils.d.ts +87 -0
- package/dist/cjs/client/utils/shareUtils.d.ts +61 -0
- package/dist/cjs/client/utils/syntaxHighlighting.d.ts +36 -0
- package/dist/cjs/client/utils/targetUtils.d.ts +36 -0
- package/dist/cjs/client/utils/thumbnail.d.ts +36 -0
- package/dist/cjs/client/utils/timeValueFormatting.d.ts +32 -0
- package/dist/cjs/client/utils.d.ts +8 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/server/adapters/base-adapter.d.ts +332 -0
- package/dist/cjs/server/adapters/databend-adapter.d.ts +63 -0
- package/dist/cjs/server/adapters/duckdb-adapter.d.ts +68 -0
- package/dist/cjs/server/adapters/mysql-adapter.d.ts +65 -0
- package/dist/cjs/server/adapters/postgres-adapter.d.ts +55 -0
- package/dist/cjs/server/adapters/singlestore-adapter.d.ts +4 -0
- package/dist/cjs/server/adapters/snowflake-adapter.d.ts +53 -0
- package/dist/cjs/server/adapters/sqlite-adapter.d.ts +120 -0
- package/dist/cjs/server/adapters/window-function-builder.d.ts +11 -0
- package/dist/cjs/server/agent/chart-validation.d.ts +22 -0
- package/dist/cjs/server/agent/handler-steps.d.ts +37 -0
- package/dist/cjs/server/agent/handler.d.ts +25 -0
- package/dist/cjs/server/agent/index.d.ts +11 -0
- package/dist/cjs/server/agent/providers/anthropic.d.ts +24 -0
- package/dist/cjs/server/agent/providers/factory.d.ts +12 -0
- package/dist/cjs/server/agent/providers/google.d.ts +23 -0
- package/dist/cjs/server/agent/providers/index.d.ts +6 -0
- package/dist/cjs/server/agent/providers/openai.d.ts +26 -0
- package/dist/cjs/server/agent/providers/types.d.ts +95 -0
- package/dist/cjs/server/agent/system-prompt.d.ts +5 -0
- package/dist/cjs/server/agent/tools.d.ts +28 -0
- package/dist/cjs/server/agent/types.d.ts +192 -0
- package/dist/cjs/server/ai/discovery-helpers.d.ts +29 -0
- package/dist/cjs/server/ai/discovery.d.ts +66 -0
- package/dist/cjs/server/ai/index.d.ts +10 -0
- package/dist/cjs/server/ai/mcp-prompts.d.ts +83 -0
- package/dist/cjs/server/ai/query-schema.d.ts +258 -0
- package/dist/cjs/server/ai/schemas.d.ts +63 -0
- package/dist/cjs/server/ai/suggestion-helpers.d.ts +33 -0
- package/dist/cjs/server/ai/suggestion.d.ts +16 -0
- package/dist/cjs/server/ai/validation-helpers.d.ts +21 -0
- package/dist/cjs/server/ai/validation.d.ts +31 -0
- package/dist/cjs/server/builders/analysis-utils.d.ts +106 -0
- package/dist/cjs/server/builders/comparison-query-builder.d.ts +70 -0
- package/dist/cjs/server/builders/cte-builder.d.ts +108 -0
- package/dist/cjs/server/builders/date-time-builder.d.ts +34 -0
- package/dist/cjs/server/builders/date-time-helpers.d.ts +34 -0
- package/dist/cjs/server/builders/filter-builder.d.ts +25 -0
- package/dist/cjs/server/builders/filter-operators.d.ts +23 -0
- package/dist/cjs/server/builders/flow-query-builder.d.ts +136 -0
- package/dist/cjs/server/builders/funnel-query-builder.d.ts +145 -0
- package/dist/cjs/server/builders/group-by-builder.d.ts +38 -0
- package/dist/cjs/server/builders/index.d.ts +13 -0
- package/dist/cjs/server/builders/measure-builder.d.ts +185 -0
- package/dist/cjs/server/builders/retention-query-builder.d.ts +98 -0
- package/dist/cjs/server/cache-providers/index.d.ts +5 -0
- package/dist/cjs/server/cache-providers/memory.d.ts +105 -0
- package/dist/cjs/server/cache-utils.d.ts +85 -0
- package/dist/cjs/server/compiler-metadata.d.ts +11 -0
- package/dist/cjs/server/compiler.d.ts +212 -0
- package/dist/cjs/server/cube-utils.d.ts +158 -0
- package/dist/cjs/server/database-utils.d.ts +18 -0
- package/dist/cjs/server/execution/annotation-builder.d.ts +12 -0
- package/dist/cjs/server/execution/filter-cache-preloader.d.ts +19 -0
- package/dist/cjs/server/execution/mode-router.d.ts +25 -0
- package/dist/cjs/server/execution/query-result-cache.d.ts +21 -0
- package/dist/cjs/server/execution/result-post-processor.d.ts +10 -0
- package/dist/cjs/server/executor.d.ts +186 -0
- package/dist/cjs/server/executors/base-executor.d.ts +16 -0
- package/dist/cjs/server/executors/databend-executor.d.ts +33 -0
- package/dist/cjs/server/executors/duckdb-executor.d.ts +33 -0
- package/dist/cjs/server/executors/explain-utils.d.ts +28 -0
- package/dist/cjs/server/executors/index.d.ts +21 -0
- package/dist/cjs/server/executors/mysql-executor.d.ts +27 -0
- package/dist/cjs/server/executors/postgres-executor.d.ts +27 -0
- package/dist/cjs/server/executors/singlestore-executor.d.ts +9 -0
- package/dist/cjs/server/executors/snowflake-executor.d.ts +33 -0
- package/dist/cjs/server/executors/sqlite-executor.d.ts +28 -0
- package/dist/cjs/server/explain/databend-parser.d.ts +16 -0
- package/dist/cjs/server/explain/duckdb-parser.d.ts +28 -0
- package/dist/cjs/server/explain/explain-tree.d.ts +20 -0
- package/dist/cjs/server/explain/index.d.ts +9 -0
- package/dist/cjs/server/explain/mysql-parser.d.ts +38 -0
- package/dist/cjs/server/explain/postgres-parser.d.ts +18 -0
- package/dist/cjs/server/explain/snowflake-parser.d.ts +17 -0
- package/dist/cjs/server/explain/sqlite-parser.d.ts +23 -0
- package/dist/cjs/server/filter-cache.d.ts +73 -0
- package/dist/cjs/server/gap-filler.d.ts +48 -0
- package/dist/cjs/server/index.d.ts +38 -0
- package/dist/cjs/server/logical-plan/cte-planner-helpers.d.ts +37 -0
- package/dist/cjs/server/logical-plan/cte-planner.d.ts +104 -0
- package/dist/cjs/server/logical-plan/filter-propagation.d.ts +44 -0
- package/dist/cjs/server/logical-plan/index.d.ts +19 -0
- package/dist/cjs/server/logical-plan/join-planner.d.ts +27 -0
- package/dist/cjs/server/logical-plan/logical-plan-builder.d.ts +58 -0
- package/dist/cjs/server/logical-plan/logical-planner.d.ts +39 -0
- package/dist/cjs/server/logical-plan/optimiser.d.ts +34 -0
- package/dist/cjs/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
- package/dist/cjs/server/logical-plan/planner-utils.d.ts +20 -0
- package/dist/cjs/server/logical-plan/types.d.ts +199 -0
- package/dist/cjs/server/measure-classification.d.ts +40 -0
- package/dist/cjs/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
- package/dist/cjs/server/physical-plan/drizzle-sql-builder.d.ts +118 -0
- package/dist/cjs/server/physical-plan/index.d.ts +2 -0
- package/dist/cjs/server/physical-plan/processors/cte-processor.d.ts +6 -0
- package/dist/cjs/server/physical-plan/processors/index.d.ts +8 -0
- package/dist/cjs/server/physical-plan/processors/joins-processor.d.ts +6 -0
- package/dist/cjs/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
- package/dist/cjs/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
- package/dist/cjs/server/physical-plan/processors/predicates-processor.d.ts +6 -0
- package/dist/cjs/server/physical-plan/processors/selection-processor.d.ts +6 -0
- package/dist/cjs/server/physical-plan/processors/shared.d.ts +38 -0
- package/dist/cjs/server/physical-plan/processors/window-processor.d.ts +6 -0
- package/dist/cjs/server/prompts/explain-analysis-prompt.d.ts +47 -0
- package/dist/cjs/server/prompts/index.d.ts +27 -0
- package/dist/cjs/server/prompts/single-step-prompt.d.ts +31 -0
- package/dist/cjs/server/prompts/step0-validation-prompt.d.ts +39 -0
- package/dist/cjs/server/prompts/step1-shape-prompt.d.ts +29 -0
- package/dist/cjs/server/prompts/step2-complete-prompt.d.ts +19 -0
- package/dist/cjs/server/prompts/types.d.ts +37 -0
- package/dist/cjs/server/query-handlers.d.ts +79 -0
- package/dist/cjs/server/query-modes.d.ts +28 -0
- package/dist/cjs/server/query-validator.d.ts +9 -0
- package/dist/cjs/server/resolvers/calculated-measure-resolver.d.ts +98 -0
- package/dist/cjs/server/resolvers/index.d.ts +6 -0
- package/dist/cjs/server/resolvers/join-path-resolver.d.ts +158 -0
- package/dist/cjs/server/sql-format.d.ts +11 -0
- package/dist/cjs/server/template-substitution.d.ts +57 -0
- package/dist/cjs/server/types/analysis.d.ts +189 -0
- package/dist/cjs/server/types/cache.d.ts +132 -0
- package/dist/cjs/server/types/core.d.ts +164 -0
- package/dist/cjs/server/types/cube.d.ts +544 -0
- package/dist/cjs/server/types/executor.d.ts +156 -0
- package/dist/cjs/server/types/flow.d.ts +144 -0
- package/dist/cjs/server/types/funnel.d.ts +118 -0
- package/dist/cjs/server/types/index.d.ts +11 -0
- package/dist/cjs/server/types/metadata.d.ts +113 -0
- package/dist/cjs/server/types/query.d.ts +153 -0
- package/dist/cjs/server/types/retention.d.ts +141 -0
- package/dist/cjs/server/types/utils.d.ts +11 -0
- package/dist/cjs/server/types/validation.d.ts +14 -0
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/{adapters/openai-B5jEiqiB.js → server/openai-CmVRIbUg.js} +18 -2
- package/dist/server/{openai-cDlFSTk6.js → openai-CtXqeznO.js} +1 -1
- package/dist/{adapters/openai-D0musiYP.cjs → server/openai-D-6l1Y8h.cjs} +3 -3
- package/dist/server/{openai-vXvLni8v.cjs → openai-DTSTMiXL.cjs} +1 -1
- package/package.json +75 -29
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Router, Request, Response, Express } from 'express';
|
|
2
|
+
import { CorsOptions } from 'cors';
|
|
3
|
+
import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
|
|
4
|
+
import { AgentConfig } from '../../server/agent/types.js';
|
|
5
|
+
import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
|
|
6
|
+
import { MySql2Database } from 'drizzle-orm/mysql2';
|
|
7
|
+
import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
|
|
8
|
+
import { MCPOptions } from '../utils.js';
|
|
9
|
+
export interface ExpressAdapterOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Array of cube definitions to register
|
|
12
|
+
*/
|
|
13
|
+
cubes: Cube[];
|
|
14
|
+
/**
|
|
15
|
+
* Drizzle database instance (REQUIRED)
|
|
16
|
+
* This is the core of drizzle-cube - Drizzle ORM integration
|
|
17
|
+
* Accepts PostgreSQL, MySQL, or SQLite database instances
|
|
18
|
+
*/
|
|
19
|
+
drizzle: PostgresJsDatabase<any> | MySql2Database<any> | BetterSQLite3Database<any> | DrizzleDatabase;
|
|
20
|
+
/**
|
|
21
|
+
* Database schema for type inference (RECOMMENDED)
|
|
22
|
+
* Provides full type safety for cube definitions
|
|
23
|
+
*/
|
|
24
|
+
schema?: any;
|
|
25
|
+
/**
|
|
26
|
+
* Extract security context from incoming HTTP request.
|
|
27
|
+
* Called for EVERY API request to determine user permissions and multi-tenant isolation.
|
|
28
|
+
*
|
|
29
|
+
* This is your security boundary - ensure proper authentication and authorization here.
|
|
30
|
+
*
|
|
31
|
+
* @param req - Express Request object containing the incoming HTTP request
|
|
32
|
+
* @param res - Express Response object
|
|
33
|
+
* @returns Security context with organisationId, userId, roles, etc.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* extractSecurityContext: async (req, res) => {
|
|
37
|
+
* // Extract JWT from Authorization header
|
|
38
|
+
* const token = req.headers.authorization?.replace('Bearer ', '')
|
|
39
|
+
* const decoded = await verifyJWT(token)
|
|
40
|
+
*
|
|
41
|
+
* // Return context that will be available in all cube SQL functions
|
|
42
|
+
* return {
|
|
43
|
+
* organisationId: decoded.orgId,
|
|
44
|
+
* userId: decoded.userId,
|
|
45
|
+
* roles: decoded.roles
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
*/
|
|
49
|
+
extractSecurityContext: (req: Request, res: Response) => SecurityContext | Promise<SecurityContext>;
|
|
50
|
+
/**
|
|
51
|
+
* Database engine type (optional - auto-detected if not provided)
|
|
52
|
+
*/
|
|
53
|
+
engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
|
|
54
|
+
/**
|
|
55
|
+
* CORS configuration (optional)
|
|
56
|
+
*/
|
|
57
|
+
cors?: CorsOptions;
|
|
58
|
+
/**
|
|
59
|
+
* API base path (default: '/cubejs-api/v1')
|
|
60
|
+
*/
|
|
61
|
+
basePath?: string;
|
|
62
|
+
/**
|
|
63
|
+
* JSON body parser limit (default: '10mb')
|
|
64
|
+
*/
|
|
65
|
+
jsonLimit?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Cache configuration for query result caching
|
|
68
|
+
* When provided, query results will be cached using the specified provider
|
|
69
|
+
*/
|
|
70
|
+
cache?: CacheConfig;
|
|
71
|
+
/**
|
|
72
|
+
* MCP (AI-Ready) endpoint configuration
|
|
73
|
+
* Enables AI agents to discover and query your data
|
|
74
|
+
* @default { enabled: true }
|
|
75
|
+
*/
|
|
76
|
+
mcp?: MCPOptions;
|
|
77
|
+
/**
|
|
78
|
+
* Agent configuration for the agentic AI notebook feature.
|
|
79
|
+
* When provided, enables the POST /agent/chat SSE endpoint.
|
|
80
|
+
* Requires `@anthropic-ai/sdk` as a peer dependency.
|
|
81
|
+
*/
|
|
82
|
+
agent?: AgentConfig;
|
|
83
|
+
/**
|
|
84
|
+
* Row-Level Security setup function.
|
|
85
|
+
* When provided, every query execution opens a transaction, calls this function
|
|
86
|
+
* to configure RLS (e.g., set JWT claims and switch Postgres roles), then runs the query.
|
|
87
|
+
*/
|
|
88
|
+
rlsSetup?: RLSSetupFn;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create Express router for Cube.js-compatible API
|
|
92
|
+
*/
|
|
93
|
+
export declare function createCubeRouter(options: ExpressAdapterOptions): Router;
|
|
94
|
+
/**
|
|
95
|
+
* Convenience function to mount Cube routes on an existing Express app
|
|
96
|
+
*/
|
|
97
|
+
export declare function mountCubeRoutes(app: Express, options: ExpressAdapterOptions): Express;
|
|
98
|
+
/**
|
|
99
|
+
* Create a complete Express app with Cube.js routes
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* const app = createCubeApp({
|
|
103
|
+
* cubes: [salesCube, employeesCube],
|
|
104
|
+
* drizzle: db,
|
|
105
|
+
* schema,
|
|
106
|
+
* extractSecurityContext: async (req, res) => {
|
|
107
|
+
* const token = req.headers.authorization?.replace('Bearer ', '')
|
|
108
|
+
* const decoded = await verifyJWT(token)
|
|
109
|
+
* return { organisationId: decoded.orgId, userId: decoded.userId }
|
|
110
|
+
* }
|
|
111
|
+
* })
|
|
112
|
+
*/
|
|
113
|
+
export declare function createCubeApp(options: ExpressAdapterOptions): Express;
|
|
114
|
+
export type { SecurityContext, DatabaseExecutor, SemanticQuery, DrizzleDatabase, CorsOptions };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { FastifyPluginCallback, FastifyRequest, FastifyInstance } from 'fastify';
|
|
2
|
+
import { FastifyCorsOptions } from '@fastify/cors';
|
|
3
|
+
import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
|
|
4
|
+
import { AgentConfig } from '../../server/agent/types.js';
|
|
5
|
+
import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
|
|
6
|
+
import { MySql2Database } from 'drizzle-orm/mysql2';
|
|
7
|
+
import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
|
|
8
|
+
import { MCPOptions } from '../utils.js';
|
|
9
|
+
export interface FastifyAdapterOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Array of cube definitions to register
|
|
12
|
+
*/
|
|
13
|
+
cubes: Cube[];
|
|
14
|
+
/**
|
|
15
|
+
* Drizzle database instance (REQUIRED)
|
|
16
|
+
* This is the core of drizzle-cube - Drizzle ORM integration
|
|
17
|
+
* Accepts PostgreSQL, MySQL, or SQLite database instances
|
|
18
|
+
*/
|
|
19
|
+
drizzle: PostgresJsDatabase<any> | MySql2Database<any> | BetterSQLite3Database<any> | DrizzleDatabase;
|
|
20
|
+
/**
|
|
21
|
+
* Database schema for type inference (RECOMMENDED)
|
|
22
|
+
* Provides full type safety for cube definitions
|
|
23
|
+
*/
|
|
24
|
+
schema?: any;
|
|
25
|
+
/**
|
|
26
|
+
* Extract security context from incoming HTTP request.
|
|
27
|
+
* Called for EVERY API request to determine user permissions and multi-tenant isolation.
|
|
28
|
+
*
|
|
29
|
+
* This is your security boundary - ensure proper authentication and authorization here.
|
|
30
|
+
*
|
|
31
|
+
* @param request - Fastify Request object containing the incoming HTTP request
|
|
32
|
+
* @returns Security context with organisationId, userId, roles, etc.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* extractSecurityContext: async (request) => {
|
|
36
|
+
* // Extract JWT from Authorization header
|
|
37
|
+
* const token = request.headers.authorization?.replace('Bearer ', '')
|
|
38
|
+
* const decoded = await verifyJWT(token)
|
|
39
|
+
*
|
|
40
|
+
* // Return context that will be available in all cube SQL functions
|
|
41
|
+
* return {
|
|
42
|
+
* organisationId: decoded.orgId,
|
|
43
|
+
* userId: decoded.userId,
|
|
44
|
+
* roles: decoded.roles
|
|
45
|
+
* }
|
|
46
|
+
* }
|
|
47
|
+
*/
|
|
48
|
+
extractSecurityContext: (request: FastifyRequest) => SecurityContext | Promise<SecurityContext>;
|
|
49
|
+
/**
|
|
50
|
+
* Database engine type (optional - auto-detected if not provided)
|
|
51
|
+
*/
|
|
52
|
+
engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
|
|
53
|
+
/**
|
|
54
|
+
* CORS configuration (optional)
|
|
55
|
+
*/
|
|
56
|
+
cors?: FastifyCorsOptions;
|
|
57
|
+
/**
|
|
58
|
+
* API base path (default: '/cubejs-api/v1')
|
|
59
|
+
*/
|
|
60
|
+
basePath?: string;
|
|
61
|
+
/**
|
|
62
|
+
* JSON body parser limit (default: 10485760 - 10MB)
|
|
63
|
+
*/
|
|
64
|
+
bodyLimit?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Cache configuration for query result caching
|
|
67
|
+
* When provided, query results will be cached using the specified provider
|
|
68
|
+
*/
|
|
69
|
+
cache?: CacheConfig;
|
|
70
|
+
/**
|
|
71
|
+
* MCP (AI-Ready) endpoint configuration
|
|
72
|
+
* Enables AI agents to discover and query your data
|
|
73
|
+
* @default { enabled: true }
|
|
74
|
+
*/
|
|
75
|
+
mcp?: MCPOptions;
|
|
76
|
+
/**
|
|
77
|
+
* Agent configuration for the agentic AI notebook feature.
|
|
78
|
+
* When provided, enables the POST /agent/chat SSE endpoint.
|
|
79
|
+
* Requires `@anthropic-ai/sdk` as a peer dependency.
|
|
80
|
+
*/
|
|
81
|
+
agent?: AgentConfig;
|
|
82
|
+
/**
|
|
83
|
+
* Row-Level Security setup function.
|
|
84
|
+
* When provided, every query execution opens a transaction, calls this function
|
|
85
|
+
* to configure RLS (e.g., set JWT claims and switch Postgres roles), then runs the query.
|
|
86
|
+
*/
|
|
87
|
+
rlsSetup?: RLSSetupFn;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Fastify plugin for Cube.js-compatible API
|
|
91
|
+
*/
|
|
92
|
+
export declare const cubePlugin: FastifyPluginCallback<FastifyAdapterOptions>;
|
|
93
|
+
/**
|
|
94
|
+
* Helper function to register cube routes on an existing Fastify instance
|
|
95
|
+
*/
|
|
96
|
+
export declare function registerCubeRoutes(fastify: FastifyInstance, options: FastifyAdapterOptions): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Create a complete Fastify instance with Cube.js routes
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* const app = createCubeApp({
|
|
102
|
+
* cubes: [salesCube, employeesCube],
|
|
103
|
+
* drizzle: db,
|
|
104
|
+
* schema,
|
|
105
|
+
* extractSecurityContext: async (request) => {
|
|
106
|
+
* const token = request.headers.authorization?.replace('Bearer ', '')
|
|
107
|
+
* const decoded = await verifyJWT(token)
|
|
108
|
+
* return { organisationId: decoded.orgId, userId: decoded.userId }
|
|
109
|
+
* }
|
|
110
|
+
* })
|
|
111
|
+
*/
|
|
112
|
+
export declare function createCubeApp(options: FastifyAdapterOptions): FastifyInstance;
|
|
113
|
+
export type { SecurityContext, DatabaseExecutor, SemanticQuery, DrizzleDatabase, FastifyCorsOptions };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Context } from 'hono';
|
|
2
|
+
import { SemanticLayerCompiler } from '../../server/compiler.js';
|
|
3
|
+
import { SecurityContext } from '../../server/index.js';
|
|
4
|
+
import { AgentConfig } from '../../server/agent/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Handle a `POST /agent/chat` request: validate input, resolve the API key and
|
|
7
|
+
* overrides, then stream agent events as SSE. Mirrors the previous inline route.
|
|
8
|
+
*/
|
|
9
|
+
export declare function handleAgentChatRequest(c: Context, agentConfig: AgentConfig, semanticLayer: SemanticLayerCompiler, extractSecurityContext: (c: Context) => Promise<SecurityContext>): Promise<Response>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import { SemanticQuery, SecurityContext, DatabaseExecutor, DrizzleDatabase, Cube, CacheConfig, RLSSetupFn } from '../../server/index.js';
|
|
3
|
+
import { AgentConfig } from '../../server/agent/types.js';
|
|
4
|
+
import { SemanticLayerCompiler } from '../../server/compiler.js';
|
|
5
|
+
import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
|
|
6
|
+
import { MySql2Database } from 'drizzle-orm/mysql2';
|
|
7
|
+
import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
|
|
8
|
+
import { MCPOptions } from '../utils.js';
|
|
9
|
+
export interface HonoAdapterOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Array of cube definitions to register.
|
|
12
|
+
* Optional when `semanticLayer` is provided (caller manages registration).
|
|
13
|
+
*/
|
|
14
|
+
cubes?: Cube[];
|
|
15
|
+
/**
|
|
16
|
+
* Pre-configured SemanticLayerCompiler instance.
|
|
17
|
+
* When provided, skips creating a new compiler and cube registration (caller manages it).
|
|
18
|
+
*/
|
|
19
|
+
semanticLayer?: SemanticLayerCompiler;
|
|
20
|
+
/**
|
|
21
|
+
* Drizzle database instance.
|
|
22
|
+
* Required unless `semanticLayer` is provided.
|
|
23
|
+
* Accepts PostgreSQL, MySQL, or SQLite database instances.
|
|
24
|
+
*/
|
|
25
|
+
drizzle?: PostgresJsDatabase<any> | MySql2Database<any> | BetterSQLite3Database<any> | DrizzleDatabase;
|
|
26
|
+
/**
|
|
27
|
+
* Database schema for type inference (RECOMMENDED)
|
|
28
|
+
* Provides full type safety for cube definitions
|
|
29
|
+
*/
|
|
30
|
+
schema?: any;
|
|
31
|
+
/**
|
|
32
|
+
* Extract security context from incoming HTTP request.
|
|
33
|
+
* Called for EVERY API request to determine user permissions and multi-tenant isolation.
|
|
34
|
+
*
|
|
35
|
+
* This is your security boundary - ensure proper authentication and authorization here.
|
|
36
|
+
*
|
|
37
|
+
* @param c - Hono context containing the incoming HTTP request
|
|
38
|
+
* @returns Security context with organisationId, userId, roles, etc.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* extractSecurityContext: async (c) => {
|
|
42
|
+
* // Extract JWT from Authorization header
|
|
43
|
+
* const token = c.req.header('Authorization')?.replace('Bearer ', '')
|
|
44
|
+
* const decoded = await verifyJWT(token)
|
|
45
|
+
*
|
|
46
|
+
* // Return context that will be available in all cube SQL functions
|
|
47
|
+
* return {
|
|
48
|
+
* organisationId: decoded.orgId,
|
|
49
|
+
* userId: decoded.userId,
|
|
50
|
+
* roles: decoded.roles
|
|
51
|
+
* }
|
|
52
|
+
* }
|
|
53
|
+
*/
|
|
54
|
+
extractSecurityContext: (c: any) => SecurityContext | Promise<SecurityContext>;
|
|
55
|
+
/**
|
|
56
|
+
* Database engine type (optional - auto-detected if not provided)
|
|
57
|
+
*/
|
|
58
|
+
engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | 'snowflake';
|
|
59
|
+
/**
|
|
60
|
+
* CORS configuration (optional)
|
|
61
|
+
*/
|
|
62
|
+
cors?: {
|
|
63
|
+
origin?: string | string[] | ((origin: string, c: any) => string | null | undefined);
|
|
64
|
+
allowMethods?: string[];
|
|
65
|
+
allowHeaders?: string[];
|
|
66
|
+
credentials?: boolean;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* API base path (default: '/cubejs-api/v1')
|
|
70
|
+
*/
|
|
71
|
+
basePath?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Cache configuration for query result caching
|
|
74
|
+
* When provided, query results will be cached using the specified provider
|
|
75
|
+
*/
|
|
76
|
+
cache?: CacheConfig;
|
|
77
|
+
/**
|
|
78
|
+
* MCP (AI-Ready) endpoint configuration
|
|
79
|
+
* Enables AI agents to discover and query your data
|
|
80
|
+
* @default { enabled: true }
|
|
81
|
+
*/
|
|
82
|
+
mcp?: MCPOptions;
|
|
83
|
+
/**
|
|
84
|
+
* Agent configuration for the agentic AI notebook feature.
|
|
85
|
+
* When provided, enables the POST /agent/chat SSE endpoint.
|
|
86
|
+
* Requires `@anthropic-ai/sdk` as a peer dependency.
|
|
87
|
+
*/
|
|
88
|
+
agent?: AgentConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Row-Level Security setup function.
|
|
91
|
+
* When provided, every query execution opens a transaction, calls this function
|
|
92
|
+
* to configure RLS (e.g., set JWT claims and switch Postgres roles), then runs the query.
|
|
93
|
+
*/
|
|
94
|
+
rlsSetup?: RLSSetupFn;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create Hono routes for Cube.js-compatible API
|
|
98
|
+
*/
|
|
99
|
+
export declare function createCubeRoutes(options: HonoAdapterOptions): Hono<import('hono/types').BlankEnv, import('hono/types').BlankSchema, "/">;
|
|
100
|
+
/**
|
|
101
|
+
* Convenience function to create routes and mount them on an existing Hono app
|
|
102
|
+
*/
|
|
103
|
+
export declare function mountCubeRoutes(app: Hono, options: HonoAdapterOptions): Hono<import('hono/types').BlankEnv, import('hono/types').BlankSchema, "/">;
|
|
104
|
+
/**
|
|
105
|
+
* Create a complete Hono app with Cube.js routes
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* const app = createCubeApp({
|
|
109
|
+
* cubes: [salesCube, employeesCube],
|
|
110
|
+
* drizzle: db,
|
|
111
|
+
* schema,
|
|
112
|
+
* extractSecurityContext: async (c) => {
|
|
113
|
+
* const token = c.req.header('Authorization')
|
|
114
|
+
* const decoded = await verifyJWT(token)
|
|
115
|
+
* return { organisationId: decoded.orgId, userId: decoded.userId }
|
|
116
|
+
* }
|
|
117
|
+
* })
|
|
118
|
+
*/
|
|
119
|
+
export declare function createCubeApp(options: HonoAdapterOptions): Hono<import('hono/types').BlankEnv, import('hono/types').BlankSchema, "/">;
|
|
120
|
+
export type { SecurityContext, DatabaseExecutor, SemanticQuery, DrizzleDatabase };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Context } from 'hono';
|
|
2
|
+
import { JsonRpcRequest, McpDispatchContext } from '../mcp-transport.js';
|
|
3
|
+
/** MCP endpoint config fields the handler helpers depend on. */
|
|
4
|
+
export interface HonoMcpHandlerConfig {
|
|
5
|
+
resourceMetadataUrl?: string;
|
|
6
|
+
allowedOrigins?: string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Result of the pre-dispatch validation gauntlet. When `response` is set the
|
|
10
|
+
* caller must return it immediately (short-circuit); otherwise `rpcRequest`,
|
|
11
|
+
* `acceptHeader`, and `protocol` are populated for dispatch.
|
|
12
|
+
*/
|
|
13
|
+
export interface McpRequestPrep {
|
|
14
|
+
response?: Response;
|
|
15
|
+
rpcRequest?: JsonRpcRequest;
|
|
16
|
+
acceptHeader?: string;
|
|
17
|
+
negotiatedProtocol?: string | null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Run the MCP POST validation sequence (auth, origin, Accept, protocol, body).
|
|
21
|
+
* Returns a short-circuit `response` on the first failure, or the parsed
|
|
22
|
+
* request + negotiated protocol on success.
|
|
23
|
+
*/
|
|
24
|
+
export declare function prepareMcpPostRequest(c: Context, mcp: HonoMcpHandlerConfig): Promise<McpRequestPrep>;
|
|
25
|
+
/** Build a single-event SSE `Response` carrying one JSON-RPC payload. */
|
|
26
|
+
export declare function buildMcpSseResponse(payload: unknown, extraHeaders?: Record<string, string>): Response;
|
|
27
|
+
/** Extract the MCP-Session-Id header value from an `initialize` result, if present. */
|
|
28
|
+
export declare function extractMcpSessionHeaders(isInitialize: boolean, result: unknown, headerName: string): Record<string, string>;
|
|
29
|
+
/** Build a JSON-RPC error response from a thrown error (preserving code/data). */
|
|
30
|
+
export declare function buildMcpErrorPayload(error: unknown, id: JsonRpcRequest['id']): import('../mcp-transport.js').JsonRpcResponse;
|
|
31
|
+
/** Wrap `wantsEventStream` so the handler imports a single helper module. */
|
|
32
|
+
export declare function clientWantsStream(acceptHeader?: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Dispatch a validated MCP JSON-RPC request and build the Hono `Response`
|
|
35
|
+
* (success or error path). Keeps the route handler a thin wrapper.
|
|
36
|
+
*/
|
|
37
|
+
export declare function dispatchMcpPost(c: Context, rpcRequest: JsonRpcRequest, wantsStream: boolean, ctx: McpDispatchContext): Promise<Response>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SecurityContext } from '../server/index.js';
|
|
2
|
+
export declare const DC_LOCALE_HEADER = "x-dc-locale";
|
|
3
|
+
export declare const DEFAULT_LOCALE = "en-GB";
|
|
4
|
+
type HeaderValue = string | string[] | null | undefined;
|
|
5
|
+
export declare function resolveRequestLocale(getHeader: (name: string) => HeaderValue): string | undefined;
|
|
6
|
+
export declare function withLocaleInSecurityContext(securityContext: SecurityContext, requestLocale?: string): SecurityContext;
|
|
7
|
+
export declare function ensureLocaleHeader(allowHeaders?: string[] | string): string[];
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SemanticLayerCompiler, SecurityContext } from '../server/index.js';
|
|
2
|
+
import { MCPToolResult } from './mcp-tools.js';
|
|
3
|
+
export interface CubeToolHandlerDeps {
|
|
4
|
+
semanticLayer: SemanticLayerCompiler;
|
|
5
|
+
getSecurityContext: (meta?: unknown) => SecurityContext | Promise<SecurityContext>;
|
|
6
|
+
wrapContent: (result: unknown) => MCPToolResult;
|
|
7
|
+
wrapError: (error: unknown) => MCPToolResult;
|
|
8
|
+
}
|
|
9
|
+
/** Execute the `discover` tool. */
|
|
10
|
+
export declare function runDiscoverTool(deps: CubeToolHandlerDeps, args: unknown): Promise<MCPToolResult>;
|
|
11
|
+
/** Execute the `validate` tool — security context is optional (SQL omitted without auth). */
|
|
12
|
+
export declare function runValidateTool(deps: CubeToolHandlerDeps, args: unknown, meta?: unknown): Promise<MCPToolResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Execute the `load` / `chart` tools. Both run the same query path; `chart`
|
|
15
|
+
* additionally carries `_meta.ui` on its definition so the result renders in the
|
|
16
|
+
* MCP App UI.
|
|
17
|
+
*/
|
|
18
|
+
export declare function runLoadTool(deps: CubeToolHandlerDeps, args: unknown, meta?: unknown): Promise<MCPToolResult>;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { SemanticLayerCompiler, SecurityContext } from '../server/index.js';
|
|
2
|
+
import { DiscoverRequest, ValidateRequest, LoadRequest } from './utils.js';
|
|
3
|
+
import { MCPPrompt } from '../server/ai/mcp-prompts.js';
|
|
4
|
+
import { MCPResource, McpAppConfig } from './mcp-transport.js';
|
|
5
|
+
export type { MCPPrompt, MCPResource, DiscoverRequest, ValidateRequest, LoadRequest };
|
|
6
|
+
export type { SecurityContext } from '../server/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* MCP tool content block (matches MCP spec)
|
|
9
|
+
*/
|
|
10
|
+
export interface MCPToolContent {
|
|
11
|
+
type: 'text';
|
|
12
|
+
text: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* MCP tool result (matches MCP spec CallToolResult)
|
|
16
|
+
*/
|
|
17
|
+
export interface MCPToolResult {
|
|
18
|
+
content: MCPToolContent[];
|
|
19
|
+
isError: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* MCP tool definition (matches MCP spec Tool)
|
|
23
|
+
*/
|
|
24
|
+
export interface MCPToolDefinition {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: 'object';
|
|
29
|
+
required?: string[];
|
|
30
|
+
properties: Record<string, unknown>;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Options for creating composable cube tools
|
|
35
|
+
*/
|
|
36
|
+
export interface GetCubeToolsOptions {
|
|
37
|
+
/** The semantic layer compiler instance with registered cubes */
|
|
38
|
+
semanticLayer: SemanticLayerCompiler;
|
|
39
|
+
/**
|
|
40
|
+
* Extract security context for query execution.
|
|
41
|
+
* Called when the `load` tool is invoked.
|
|
42
|
+
* Receives whatever metadata your MCP server provides (auth info, request context, etc.)
|
|
43
|
+
*/
|
|
44
|
+
getSecurityContext: (meta?: unknown) => SecurityContext | Promise<SecurityContext>;
|
|
45
|
+
/**
|
|
46
|
+
* Optional tool name prefix. Defaults to 'drizzle_cube_'.
|
|
47
|
+
* Set to '' for no prefix, or provide your own like 'analytics_'.
|
|
48
|
+
*/
|
|
49
|
+
toolPrefix?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Which tools to expose. Defaults to all: ['discover', 'validate', 'load']
|
|
52
|
+
*/
|
|
53
|
+
tools?: ('discover' | 'validate' | 'load')[];
|
|
54
|
+
/** Custom MCP prompts (defaults to built-in drizzle-cube prompts) */
|
|
55
|
+
prompts?: MCPPrompt[];
|
|
56
|
+
/** Custom MCP resources (defaults to built-in drizzle-cube resources) */
|
|
57
|
+
resources?: MCPResource[];
|
|
58
|
+
/**
|
|
59
|
+
* Enable MCP App visualization for the load tool.
|
|
60
|
+
* Pass `true` to enable with defaults, or a config object to set locale options.
|
|
61
|
+
* @example app: { defaultLocale: 'nl-NL', detectBrowserLocale: false }
|
|
62
|
+
*/
|
|
63
|
+
app?: boolean | McpAppConfig;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The composable tools object returned by getCubeTools()
|
|
67
|
+
*/
|
|
68
|
+
export interface CubeTools {
|
|
69
|
+
/** Tool definitions for MCP tools/list responses */
|
|
70
|
+
definitions: MCPToolDefinition[];
|
|
71
|
+
/**
|
|
72
|
+
* Execute a tool by name. Returns MCP-spec-compliant result.
|
|
73
|
+
* @param name - Tool name (with or without prefix)
|
|
74
|
+
* @param args - Tool arguments from the MCP client
|
|
75
|
+
* @param meta - Optional metadata passed to getSecurityContext
|
|
76
|
+
*/
|
|
77
|
+
handle: (name: string, args: unknown, meta?: unknown) => Promise<MCPToolResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Check if a tool name is handled by these cube tools
|
|
80
|
+
* @param name - Tool name to check (with or without prefix)
|
|
81
|
+
*/
|
|
82
|
+
handles: (name: string) => boolean;
|
|
83
|
+
/** MCP prompts for prompts/list responses */
|
|
84
|
+
prompts: MCPPrompt[];
|
|
85
|
+
/** MCP resources for resources/list responses */
|
|
86
|
+
resources: MCPResource[];
|
|
87
|
+
/** The tool names this instance handles (with prefix applied) */
|
|
88
|
+
toolNames: string[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create composable MCP tools for your semantic layer.
|
|
92
|
+
*
|
|
93
|
+
* Returns tool definitions, a handler function, and prompts/resources
|
|
94
|
+
* that you can register on any MCP server.
|
|
95
|
+
*
|
|
96
|
+
* @example With @modelcontextprotocol/sdk
|
|
97
|
+
* ```typescript
|
|
98
|
+
* import { Server } from '@modelcontextprotocol/sdk/server/index.js'
|
|
99
|
+
* import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'
|
|
100
|
+
* import { getCubeTools } from 'drizzle-cube/mcp'
|
|
101
|
+
*
|
|
102
|
+
* const cubeTools = getCubeTools({
|
|
103
|
+
* semanticLayer,
|
|
104
|
+
* getSecurityContext: async (meta) => ({ orgId: meta.authInfo?.orgId })
|
|
105
|
+
* })
|
|
106
|
+
*
|
|
107
|
+
* const server = new Server({ name: 'my-server', version: '1.0.0' })
|
|
108
|
+
*
|
|
109
|
+
* server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
110
|
+
* tools: [...myOtherTools, ...cubeTools.definitions]
|
|
111
|
+
* }))
|
|
112
|
+
*
|
|
113
|
+
* server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
114
|
+
* if (cubeTools.handles(req.params.name)) {
|
|
115
|
+
* return cubeTools.handle(req.params.name, req.params.arguments, req)
|
|
116
|
+
* }
|
|
117
|
+
* return handleOtherTools(req)
|
|
118
|
+
* })
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @example With Hono + postgrest-mcp style
|
|
122
|
+
* ```typescript
|
|
123
|
+
* import { getCubeTools } from 'drizzle-cube/mcp'
|
|
124
|
+
*
|
|
125
|
+
* const cubeTools = getCubeTools({
|
|
126
|
+
* semanticLayer,
|
|
127
|
+
* getSecurityContext: async () => ({ orgId: 'default' })
|
|
128
|
+
* })
|
|
129
|
+
*
|
|
130
|
+
* // Merge with your existing PostgREST tools
|
|
131
|
+
* const allTools = [...postgrestTools, ...cubeTools.definitions]
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export declare function getCubeTools(options: GetCubeToolsOptions): CubeTools;
|