drizzle-cube 0.6.6 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +231 -106
- package/dist/adapters/ActivityGridChart.config-CA4DWvoH.js +2 -0
- package/dist/adapters/ActivityGridChart.config-DC2PXV56.cjs +1 -0
- package/dist/adapters/AreaChart.config-BY4hUUJY.js +2 -0
- package/dist/adapters/AreaChart.config-CPwW53vL.cjs +1 -0
- package/dist/adapters/BarChart.config-Be-PGzp5.js +2 -0
- package/dist/adapters/BarChart.config-CfdsJtHY.cjs +1 -0
- package/dist/adapters/BoxPlotChart.config-BYwJZm4S.js +2 -0
- package/dist/adapters/BoxPlotChart.config-BoZN94lR.cjs +1 -0
- package/dist/adapters/BubbleChart.config-DX9aSqMD.js +2 -0
- package/dist/adapters/BubbleChart.config-ijpB_fme.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-C3iEXUN1.js +2 -0
- package/dist/adapters/CandlestickChart.config-DIGeboSZ.cjs +1 -0
- package/dist/adapters/DataTable.config-BjFTY-Md.js +2 -0
- package/dist/adapters/DataTable.config-ClJZRtsp.cjs +1 -0
- package/dist/adapters/FunnelChart.config-DYDd9Y2z.cjs +1 -0
- package/dist/adapters/FunnelChart.config-cVxnY9hD.js +2 -0
- package/dist/adapters/GaugeChart.config-BxWKW2b5.js +2 -0
- package/dist/adapters/GaugeChart.config-DsmevM9y.cjs +1 -0
- package/dist/adapters/HeatMapChart.config-BhO-Wj54.js +2 -0
- package/dist/adapters/HeatMapChart.config-HWcgNRuG.cjs +1 -0
- package/dist/adapters/KpiDelta.config-D3JOnd5n.js +2 -0
- package/dist/adapters/KpiDelta.config-DmLmTPSH.cjs +1 -0
- package/dist/adapters/KpiNumber.config-CVghzBbF.cjs +1 -0
- package/dist/adapters/KpiNumber.config-aK-Ueuhk.js +2 -0
- package/dist/adapters/KpiText.config-DLl8NWit.js +2 -0
- package/dist/adapters/KpiText.config-DbWJ42vd.cjs +1 -0
- package/dist/adapters/LineChart.config-C3i3Tgro.cjs +1 -0
- package/dist/adapters/LineChart.config-El3XPCFT.js +2 -0
- package/dist/adapters/MarkdownChart.config-D39QzWHW.js +2 -0
- package/dist/adapters/MarkdownChart.config-e_9gUs93.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-BWQ82qcV.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-l9WITF80.cjs +1 -0
- package/dist/adapters/PieChart.config-CO3Gib0h.js +2 -0
- package/dist/adapters/PieChart.config-yqXTNkix.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-B7CtjFwg.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-tGjQou_c.js +2 -0
- package/dist/adapters/RadarChart.config-B2YZnD_e.js +2 -0
- package/dist/adapters/RadarChart.config-DwJmHK8y.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-B9XP-cQ1.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-y2riBDwJ.js +2 -0
- package/dist/adapters/RetentionCombinedChart.config-Fzxwm_WV.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-ohy-zQbu.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-0ykBWgUp.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-DF_4ARr0.cjs +1 -0
- package/dist/adapters/SankeyChart.config-ChdkKqAn.cjs +1 -0
- package/dist/adapters/SankeyChart.config-Cl8kxpKq.js +2 -0
- package/dist/adapters/ScatterChart.config-BIqh_Z8u.cjs +1 -0
- package/dist/adapters/ScatterChart.config-D4v0Z_w4.js +2 -0
- package/dist/adapters/SunburstChart.config-CGMw6hSr.cjs +1 -0
- package/dist/adapters/SunburstChart.config-CmK6DVYQ.js +2 -0
- package/dist/adapters/TreeMapChart.config-B6WC-TVm.js +2 -0
- package/dist/adapters/TreeMapChart.config-q-kBddZC.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-BiOMGjjF.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-C_K8zN09.js +2 -0
- package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +1 -0
- package/dist/adapters/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
- package/dist/adapters/compiler-CGJQlQ6Q.cjs +166 -0
- package/dist/adapters/{compiler-ZruQ85ff.js → compiler-mz2Uudwd.js} +116 -60
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-BMZhIzaI.js → core-4WY4M7hp.js} +8 -8
- package/dist/adapters/core-FpI2NfHt.cjs +1 -0
- package/dist/adapters/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
- package/dist/adapters/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +5 -5
- package/dist/adapters/fastify/index.cjs +2 -2
- package/dist/adapters/fastify/index.js +10 -6
- package/dist/adapters/google-BhvizbFR.cjs +2 -0
- package/dist/adapters/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
- package/dist/adapters/{handler-xR2P1EI4.js → handler-PjEeNmXY.js} +230 -152
- package/dist/adapters/{handler-_PXp3G47.cjs → handler-g8k2CZG2.cjs} +9 -9
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +26 -18
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +2 -2
- package/dist/adapters/mcp-transport-OBc8jVG5.js +603 -0
- package/dist/adapters/mcp-transport-n1r1Kqzn.cjs +40 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +14 -11
- package/dist/adapters/openai-7xjDI7R2.cjs +19 -0
- package/dist/adapters/{openai-B6hWZk_r.js → openai-CcY2fW3E.js} +18 -17
- package/dist/adapters/openai-DHjN2OwG.js +9295 -0
- package/dist/{server/openai-C3-mjSAc.cjs → adapters/openai-DnWF0wCU.cjs} +1 -1
- package/dist/adapters/utils-DJ0_72_G.cjs +128 -0
- package/dist/adapters/{utils-U7gV5wQL.js → utils-G52pPkce.js} +51 -17
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/cjs/client/charts/chartConfigHelpers.d.ts +20 -0
- package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
- package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/index.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
- package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
- package/dist/cjs/client/components/DashboardPortletCard.d.ts +1 -1
- package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
- package/dist/cjs/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +5 -0
- package/dist/cjs/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -1
- package/dist/cjs/client/components/charts/ChartSummaryHeader.d.ts +31 -0
- package/dist/cjs/client/components/charts/DataTable.d.ts +1 -1
- package/dist/cjs/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiCompactLayout.d.ts +31 -0
- package/dist/cjs/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +2 -0
- package/dist/cjs/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiStates.d.ts +7 -2
- package/dist/cjs/client/components/charts/KpiText.d.ts +1 -1
- package/dist/cjs/client/components/charts/LineChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/PieChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ProportionBarChart.config.d.ts +10 -0
- package/dist/cjs/client/components/charts/ProportionBarChart.d.ts +12 -0
- package/dist/cjs/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/cjs/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +62 -0
- package/dist/cjs/client/components/charts/chartScaffolding.d.ts +29 -0
- package/dist/cjs/client/icons/types.d.ts +1 -0
- package/dist/cjs/client/types.d.ts +7 -1
- package/dist/cli/index.cjs +6 -5
- package/dist/client/charts/chartConfigHelpers.d.ts +20 -0
- package/dist/client/charts.js +13 -13
- package/dist/client/chunks/{DashboardEditModal-9o16JNF0.js → DashboardEditModal-BEG0d7wI.js} +4599 -1321
- package/dist/client/chunks/DashboardEditModal-BEG0d7wI.js.map +1 -0
- package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js +109 -0
- package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js → RetentionCombinedChart-DeFz5wJh.js} +8 -8
- package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js.map → RetentionCombinedChart-DeFz5wJh.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js → RetentionHeatmap-DkJOiNwz.js} +6 -6
- package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js.map → RetentionHeatmap-DkJOiNwz.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-BDWychCW.js → analysis-builder-BWLL6ztg.js} +421 -413
- package/dist/client/chunks/analysis-builder-BWLL6ztg.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-DkL0e-wU.js → analysis-builder-shared-Ba3JsRNw.js} +454 -452
- package/dist/client/chunks/analysis-builder-shared-Ba3JsRNw.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js → chart-activity-grid-CyVDJSAI.js} +43 -6
- package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js.map → chart-activity-grid-CyVDJSAI.js.map} +1 -1
- package/dist/client/chunks/chart-area-b5UAS6NZ.js +963 -0
- package/dist/client/chunks/chart-area-b5UAS6NZ.js.map +1 -0
- package/dist/client/chunks/{chart-bar-DAO3PPcE.js → chart-bar-aVNonvWw.js} +71 -64
- package/dist/client/chunks/chart-bar-aVNonvWw.js.map +1 -0
- package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js → chart-box-plot-Bx6M97VL.js} +3 -3
- package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js.map → chart-box-plot-Bx6M97VL.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-DvP_6_n9.js → chart-bubble-EWd4_ucG.js} +5 -5
- package/dist/client/chunks/{chart-bubble-DvP_6_n9.js.map → chart-bubble-EWd4_ucG.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js → chart-candlestick-CG5EX67b.js} +3 -3
- package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js.map → chart-candlestick-CG5EX67b.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js → chart-config-activity-grid-C4vXGQNu.js} +2 -2
- package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js.map → chart-config-activity-grid-C4vXGQNu.js.map} +1 -1
- package/dist/client/chunks/{chart-config-area-DxwIZ4Uf.js → chart-config-area-DsrZCIwF.js} +35 -4
- package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +1 -0
- package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js → chart-config-bar-BixSs43E.js} +7 -7
- package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js.map → chart-config-bar-BixSs43E.js.map} +1 -1
- package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js → chart-config-box-plot-DMuJZqkr.js} +2 -2
- package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js.map → chart-config-box-plot-DMuJZqkr.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js → chart-config-bubble-1IyZinH0.js} +2 -2
- package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js.map → chart-config-bubble-1IyZinH0.js.map} +1 -1
- package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js → chart-config-candlestick-QwQwJB_-.js} +2 -2
- package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js.map → chart-config-candlestick-QwQwJB_-.js.map} +1 -1
- package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js → chart-config-data-table-CrGyS7aJ.js} +2 -2
- package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js.map → chart-config-data-table-CrGyS7aJ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js → chart-config-funnel-DMLLKtPF.js} +2 -2
- package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js.map → chart-config-funnel-DMLLKtPF.js.map} +1 -1
- package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js → chart-config-gauge-DNafFwfS.js} +2 -2
- package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js.map → chart-config-gauge-DNafFwfS.js.map} +1 -1
- package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js → chart-config-heat-map-CJF65SyL.js} +2 -2
- package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js.map → chart-config-heat-map-CJF65SyL.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-DYopvwyG.js → chart-config-kpi-delta-Cl7k6jTj.js} +13 -4
- package/dist/client/chunks/chart-config-kpi-delta-Cl7k6jTj.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-number-BhMdoArB.js → chart-config-kpi-number-DCcnANWC.js} +6 -4
- package/dist/client/chunks/chart-config-kpi-number-DCcnANWC.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js → chart-config-kpi-text-DnnxvOSA.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js.map → chart-config-kpi-text-DnnxvOSA.js.map} +1 -1
- package/dist/client/chunks/{chart-config-line-CBfM0Rds.js → chart-config-line-CBF9Px9b.js} +9 -7
- package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +1 -0
- package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js → chart-config-markdown-C5kBQOjP.js} +2 -2
- package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js.map → chart-config-markdown-C5kBQOjP.js.map} +1 -1
- package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js → chart-config-measure-profile-CRSRIpKh.js} +2 -2
- package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js.map → chart-config-measure-profile-CRSRIpKh.js.map} +1 -1
- package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js → chart-config-pie-DZLa6Eqm.js} +3 -3
- package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js.map → chart-config-pie-DZLa6Eqm.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radar-BlAIGnww.js → chart-config-radar-DR6vHHyd.js} +3 -3
- package/dist/client/chunks/{chart-config-radar-BlAIGnww.js.map → chart-config-radar-DR6vHHyd.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js → chart-config-radial-bar-DVFou4fB.js} +3 -3
- package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js.map → chart-config-radial-bar-DVFou4fB.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js → chart-config-sankey-De8E0C1A.js} +2 -2
- package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js.map → chart-config-sankey-De8E0C1A.js.map} +1 -1
- package/dist/client/chunks/{chart-config-scatter-q_olh54e.js → chart-config-scatter-CWA89oX4.js} +2 -2
- package/dist/client/chunks/{chart-config-scatter-q_olh54e.js.map → chart-config-scatter-CWA89oX4.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js → chart-config-sunburst-B4NUYHMH.js} +2 -2
- package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js.map → chart-config-sunburst-B4NUYHMH.js.map} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js → chart-config-tree-map-Uhise6Bx.js} +3 -3
- package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js.map → chart-config-tree-map-Uhise6Bx.js.map} +1 -1
- package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js → chart-config-waterfall-DlQb_PLh.js} +2 -2
- package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js.map → chart-config-waterfall-DlQb_PLh.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-BP6DMdom.js → chart-data-table-D6Cu86m_.js} +1072 -1034
- package/dist/client/chunks/chart-data-table-D6Cu86m_.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-xeVGBy-p.js → chart-funnel-CLRYMbFj.js} +3 -3
- package/dist/client/chunks/{chart-funnel-xeVGBy-p.js.map → chart-funnel-CLRYMbFj.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js → chart-gauge-BRqb8eNU.js} +62 -62
- package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js.map → chart-gauge-BRqb8eNU.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js → chart-heat-map-BCfr3nYJ.js} +4 -4
- package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js.map → chart-heat-map-BCfr3nYJ.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-nXQnRRBr.js → chart-kpi-delta-ISxzG6g_.js} +122 -48
- package/dist/client/chunks/chart-kpi-delta-ISxzG6g_.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js +263 -0
- package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js.map +1 -0
- package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js → chart-kpi-text-BUm932QA.js} +4 -4
- package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js.map → chart-kpi-text-BUm932QA.js.map} +1 -1
- package/dist/client/chunks/chart-line-BM_DrpQW.js +117 -0
- package/dist/client/chunks/chart-line-BM_DrpQW.js.map +1 -0
- package/dist/client/chunks/{chart-markdown-BVrqqygz.js → chart-markdown-BNrsZpqM.js} +1550 -1349
- package/dist/client/chunks/chart-markdown-BNrsZpqM.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js → chart-measure-profile-DttUWxIu.js} +6 -5
- package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js.map → chart-measure-profile-DttUWxIu.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-BDaaYt7a.js → chart-pie-D7pxCMll.js} +11 -11
- package/dist/client/chunks/{chart-pie-BDaaYt7a.js.map → chart-pie-D7pxCMll.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-Bz07PIVe.js → chart-radar-sUnyHn3a.js} +10 -10
- package/dist/client/chunks/{chart-radar-Bz07PIVe.js.map → chart-radar-sUnyHn3a.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js → chart-radial-bar-Df9zbhst.js} +11 -11
- package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js.map → chart-radial-bar-Df9zbhst.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-BAeNbI-p.js → chart-sankey-d_iS5fjB.js} +3 -3
- package/dist/client/chunks/{chart-sankey-BAeNbI-p.js.map → chart-sankey-d_iS5fjB.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-CRhGLCcy.js → chart-scatter-DD5v7r4K.js} +10 -10
- package/dist/client/chunks/{chart-scatter-CRhGLCcy.js.map → chart-scatter-DD5v7r4K.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js → chart-sunburst-jL5f9PiB.js} +4 -4
- package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js.map → chart-sunburst-jL5f9PiB.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js → chart-tree-map-DK-pNvh4.js} +31 -29
- package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js.map → chart-tree-map-DK-pNvh4.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js → chart-waterfall-CBGewe2Z.js} +4 -4
- package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js.map → chart-waterfall-CBGewe2Z.js.map} +1 -1
- package/dist/client/chunks/{charts-core-Cs-UIsQa.js → charts-core-BHjcM-rm.js} +2 -2
- package/dist/client/chunks/{charts-core-Cs-UIsQa.js.map → charts-core-BHjcM-rm.js.map} +1 -1
- package/dist/client/chunks/charts-loader-FXj1JiQZ.js +85 -0
- package/dist/client/chunks/charts-loader-FXj1JiQZ.js.map +1 -0
- package/dist/client/chunks/{core-D7vPfUIe.js → core-BWRP9s8x.js} +9 -8
- package/dist/client/chunks/core-BWRP9s8x.js.map +1 -0
- package/dist/client/chunks/{dist-BwQr11Fz.js → dist-BPmPx7kz.js} +56 -51
- package/dist/client/chunks/{dist-BwQr11Fz.js.map → dist-BPmPx7kz.js.map} +1 -1
- package/dist/client/chunks/{exceljs.min-Dey-qIFL.js → exceljs.min-DWC_b8G9.js} +236 -202
- package/dist/client/chunks/{exceljs.min-Dey-qIFL.js.map → exceljs.min-DWC_b8G9.js.map} +1 -1
- package/dist/client/chunks/{javascript-DFnKaHmQ.js → javascript-D6aJaG8F.js} +7 -5
- package/dist/client/chunks/javascript-D6aJaG8F.js.map +1 -0
- package/dist/client/chunks/json-BrJhaXJI.js +44 -0
- package/dist/client/chunks/json-BrJhaXJI.js.map +1 -0
- package/dist/client/chunks/{nl-NL-2zTAWTej.js → nl-NL-B1MNDJT-.js} +39 -2
- package/dist/client/chunks/{nl-NL-2zTAWTej.js.map → nl-NL-B1MNDJT-.js.map} +1 -1
- package/dist/client/chunks/{rolldown-runtime-CWhphoD1.js → rolldown-runtime-DArdT4gl.js} +2 -2
- package/dist/client/chunks/{schema-visualization-BGT_cNon.js → schema-visualization-BXdd320w.js} +10 -10
- package/dist/client/chunks/schema-visualization-BXdd320w.js.map +1 -0
- package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js → syntaxHighlighting-Cm43as8i.js} +2 -2
- package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js.map → syntaxHighlighting-Cm43as8i.js.map} +1 -1
- package/dist/client/chunks/{useDebounce-7suCFq9v.js → useDirtyStateTracking-CFgSTyny.js} +112 -50
- package/dist/client/chunks/useDirtyStateTracking-CFgSTyny.js.map +1 -0
- package/dist/client/chunks/{useExplainAI-DueJjb0r.js → useExplainAI-CisDjZNp.js} +18 -18
- package/dist/client/chunks/{useExplainAI-DueJjb0r.js.map → useExplainAI-CisDjZNp.js.map} +1 -1
- package/dist/client/chunks/{utils-DjLiJKS_.js → utils-CToHkuhU.js} +2 -2
- package/dist/client/chunks/{utils-DjLiJKS_.js.map → utils-CToHkuhU.js.map} +1 -1
- package/dist/client/chunks/{vendor-ChnlgSP0.js → vendor-D5xADz_A.js} +223 -167
- package/dist/client/chunks/vendor-D5xADz_A.js.map +1 -0
- package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
- package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/index.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
- package/dist/client/components/DashboardPortletCard.d.ts +1 -1
- package/dist/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
- package/dist/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
- package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/client/components/charts/AngledXAxisTick.d.ts +5 -0
- package/dist/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/client/components/charts/BarChart.d.ts +1 -1
- package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/client/components/charts/ChartContainer.d.ts +7 -1
- package/dist/client/components/charts/ChartSummaryHeader.d.ts +31 -0
- package/dist/client/components/charts/DataTable.d.ts +1 -1
- package/dist/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/client/components/charts/KpiCompactLayout.d.ts +31 -0
- package/dist/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/client/components/charts/KpiDelta.helpers.d.ts +2 -0
- package/dist/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/client/components/charts/KpiStates.d.ts +7 -2
- package/dist/client/components/charts/KpiText.d.ts +1 -1
- package/dist/client/components/charts/LineChart.d.ts +1 -1
- package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/client/components/charts/PieChart.d.ts +1 -1
- package/dist/client/components/charts/ProportionBarChart.config.d.ts +10 -0
- package/dist/client/components/charts/ProportionBarChart.d.ts +12 -0
- package/dist/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/client/components/charts/cartesianChartHelpers.d.ts +62 -0
- package/dist/client/components/charts/chartScaffolding.d.ts +29 -0
- package/dist/client/components.js +3 -4
- package/dist/client/hooks.js +4 -5
- package/dist/client/icons/types.d.ts +1 -0
- package/dist/client/icons.js +1 -1
- package/dist/client/index.js +48 -49
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/styles.d.css.ts +2 -0
- package/dist/client/types.d.ts +7 -1
- package/dist/client/utils.js +13 -9
- package/dist/client/utils.js.map +1 -1
- package/dist/client-bundle-stats.html +388 -33
- package/dist/mcp-app/mcp-app.html +152 -165
- package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +1 -0
- package/dist/server/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
- package/dist/server/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
- package/dist/server/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
- package/dist/server/google-BhvizbFR.cjs +2 -0
- package/dist/server/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
- package/dist/server/index.cjs +84 -84
- package/dist/server/index.js +2418 -2260
- package/dist/server/openai-CUf4vc3Q.js +9295 -0
- package/dist/server/openai-Cu4TXXjl.cjs +19 -0
- package/dist/server/{openai-B6hWZk_r.js → openai-Czk1BdHa.js} +18 -17
- package/dist/{adapters/openai-C3-mjSAc.cjs → server/openai-DBwI1OSu.cjs} +1 -1
- package/dist/server/rolldown-runtime-B0aSnxlc.js +20 -0
- package/dist/server/rolldown-runtime-DF3sbh8G.cjs +1 -0
- package/package.json +14 -10
- package/dist/adapters/ActivityGridChart.config-BK3hB9co.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-C-68HsAw.js +0 -2
- package/dist/adapters/AreaChart.config-5G7_E-7u.cjs +0 -1
- package/dist/adapters/AreaChart.config-C7S67Qt4.js +0 -2
- package/dist/adapters/BarChart.config-C6kG_uEt.cjs +0 -1
- package/dist/adapters/BarChart.config-DQcicZYy.js +0 -2
- package/dist/adapters/BoxPlotChart.config-B4xDTwop.js +0 -2
- package/dist/adapters/BoxPlotChart.config-DifAPvo0.cjs +0 -1
- package/dist/adapters/BubbleChart.config-BS2edxZ5.cjs +0 -1
- package/dist/adapters/BubbleChart.config-C5AYou9n.js +0 -2
- package/dist/adapters/CandlestickChart.config-Duknkqyk.js +0 -2
- package/dist/adapters/CandlestickChart.config-jk3ZXIAQ.cjs +0 -1
- package/dist/adapters/DataTable.config-BG_5hx63.cjs +0 -1
- package/dist/adapters/DataTable.config-Bkv6CmFa.js +0 -2
- package/dist/adapters/FunnelChart.config-Dvy0S17e.js +0 -2
- package/dist/adapters/FunnelChart.config-DzqGZgKz.cjs +0 -1
- package/dist/adapters/GaugeChart.config-DAWIU33N.js +0 -2
- package/dist/adapters/GaugeChart.config-DC0NW8XT.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-BlQDS9nY.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-DccGkzHI.js +0 -2
- package/dist/adapters/KpiDelta.config-DvpALT3Z.js +0 -2
- package/dist/adapters/KpiDelta.config-u2AlJkZ3.cjs +0 -1
- package/dist/adapters/KpiNumber.config-CF_LqRh-.cjs +0 -1
- package/dist/adapters/KpiNumber.config-lhEzZOFR.js +0 -2
- package/dist/adapters/KpiText.config-BCYGZdnx.js +0 -2
- package/dist/adapters/KpiText.config-FbnsbjdV.cjs +0 -1
- package/dist/adapters/LineChart.config-B7qWURRH.js +0 -2
- package/dist/adapters/LineChart.config-B9JKd48E.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-BIS9PqHh.js +0 -2
- package/dist/adapters/MarkdownChart.config-BfM9NaQe.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-1hh--3nI.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-cmL8wp6a.cjs +0 -1
- package/dist/adapters/PieChart.config-DzzCeT7z.cjs +0 -1
- package/dist/adapters/PieChart.config-aRJJwYx4.js +0 -2
- package/dist/adapters/RadarChart.config-AcZ7kWG8.js +0 -2
- package/dist/adapters/RadarChart.config-CddBTWAo.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-D4qPexJV.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-y-NBkq5N.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-BkRNE7lX.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-WoX6n6D5.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-ByjWidhh.cjs +0 -1
- package/dist/adapters/RetentionHeatmap.config-DjXLk03y.js +0 -2
- package/dist/adapters/SankeyChart.config-BWO9LszQ.cjs +0 -1
- package/dist/adapters/SankeyChart.config-SuP0jjib.js +0 -2
- package/dist/adapters/ScatterChart.config-Dk1G4Eaj.cjs +0 -1
- package/dist/adapters/ScatterChart.config-DzVXd1ZM.js +0 -2
- package/dist/adapters/SunburstChart.config-Cu4ib4Ui.cjs +0 -1
- package/dist/adapters/SunburstChart.config-_0gUzNs7.js +0 -2
- package/dist/adapters/TreeMapChart.config-DbwYrje4.js +0 -2
- package/dist/adapters/TreeMapChart.config-hM8PukgE.cjs +0 -1
- package/dist/adapters/WaterfallChart.config-CjUHeE8R.js +0 -2
- package/dist/adapters/WaterfallChart.config-Dwxt0kK-.cjs +0 -1
- package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +0 -1
- package/dist/adapters/compiler-D0v5KJhv.cjs +0 -166
- package/dist/adapters/core-VK-KVH9q.cjs +0 -1
- package/dist/adapters/google-BOnRIN1w.cjs +0 -2
- package/dist/adapters/mcp-transport-C2v5BTDF.cjs +0 -40
- package/dist/adapters/mcp-transport-CyDBoYEe.js +0 -601
- package/dist/adapters/openai-B1pC8nVM.js +0 -6178
- package/dist/adapters/openai-DQZaHN0V.cjs +0 -18
- package/dist/adapters/utils-CBR-9AMD.cjs +0 -128
- package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +0 -3283
- package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +0 -1
- package/dist/client/chunks/DashboardEditModal-9o16JNF0.js.map +0 -1
- package/dist/client/chunks/analysis-builder-BDWychCW.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-DkL0e-wU.js.map +0 -1
- package/dist/client/chunks/chart-area-BHxPNsmc.js +0 -775
- package/dist/client/chunks/chart-area-BHxPNsmc.js.map +0 -1
- package/dist/client/chunks/chart-bar-DAO3PPcE.js.map +0 -1
- package/dist/client/chunks/chart-config-area-DxwIZ4Uf.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +0 -1
- package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +0 -1
- package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-nXQnRRBr.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js +0 -244
- package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js.map +0 -1
- package/dist/client/chunks/chart-line-sJK-cJc0.js +0 -101
- package/dist/client/chunks/chart-line-sJK-cJc0.js.map +0 -1
- package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +0 -1
- package/dist/client/chunks/charts-loader-DAJbAD7a.js +0 -84
- package/dist/client/chunks/charts-loader-DAJbAD7a.js.map +0 -1
- package/dist/client/chunks/core-D7vPfUIe.js.map +0 -1
- package/dist/client/chunks/javascript-DFnKaHmQ.js.map +0 -1
- package/dist/client/chunks/json-Cu6rbgWf.js +0 -38
- package/dist/client/chunks/json-Cu6rbgWf.js.map +0 -1
- package/dist/client/chunks/schema-visualization-BGT_cNon.js.map +0 -1
- package/dist/client/chunks/useDebounce-7suCFq9v.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +0 -66
- package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +0 -1
- package/dist/client/chunks/vendor-ChnlgSP0.js.map +0 -1
- package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +0 -1
- package/dist/server/google-BOnRIN1w.cjs +0 -2
- package/dist/server/openai-B1pC8nVM.js +0 -6178
- package/dist/server/openai-DQZaHN0V.cjs +0 -18
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as e, D as t, E as n, O as r, S as i, T as a, w as o } from "./utils-
|
|
1
|
+
import { C as e, D as t, E as n, O as r, S as i, T as a, w as o } from "./utils-G52pPkce.js";
|
|
2
2
|
//#region node_modules/drizzle-orm/entity.js
|
|
3
3
|
var s = Symbol.for("drizzle:entityKind");
|
|
4
4
|
function c(e, t) {
|
|
@@ -421,21 +421,24 @@ function ye(e) {
|
|
|
421
421
|
function be(e, t) {
|
|
422
422
|
if (Array.isArray(t)) {
|
|
423
423
|
if (t.length === 0) throw Error("arrayContains requires at least one value");
|
|
424
|
-
|
|
424
|
+
let n = T`${D(t, e)}`;
|
|
425
|
+
return T`${e} @> ${n}`;
|
|
425
426
|
}
|
|
426
427
|
return T`${e} @> ${D(t, e)}`;
|
|
427
428
|
}
|
|
428
429
|
function xe(e, t) {
|
|
429
430
|
if (Array.isArray(t)) {
|
|
430
431
|
if (t.length === 0) throw Error("arrayContained requires at least one value");
|
|
431
|
-
|
|
432
|
+
let n = T`${D(t, e)}`;
|
|
433
|
+
return T`${e} <@ ${n}`;
|
|
432
434
|
}
|
|
433
435
|
return T`${e} <@ ${D(t, e)}`;
|
|
434
436
|
}
|
|
435
437
|
function Se(e, t) {
|
|
436
438
|
if (Array.isArray(t)) {
|
|
437
439
|
if (t.length === 0) throw Error("arrayOverlaps requires at least one value");
|
|
438
|
-
|
|
440
|
+
let n = T`${D(t, e)}`;
|
|
441
|
+
return T`${e} && ${n}`;
|
|
439
442
|
}
|
|
440
443
|
return T`${e} && ${D(t, e)}`;
|
|
441
444
|
}
|
|
@@ -485,7 +488,9 @@ function Me(e) {
|
|
|
485
488
|
}
|
|
486
489
|
function Ne(e, t, n) {
|
|
487
490
|
let r = [];
|
|
488
|
-
|
|
491
|
+
e && e.length > 0 && r.push(Oe(e)), t && t.length > 0 && r.push(ke(t)), n?.frame && r.push(Me(n.frame));
|
|
492
|
+
let i = r.length > 0 ? T.join(r, T` `) : T``;
|
|
493
|
+
return T`OVER (${i})`;
|
|
489
494
|
}
|
|
490
495
|
function Pe(e, t, n, r) {
|
|
491
496
|
let i = r?.defaultValue === void 0 ? T`` : T`, ${r.defaultValue}`;
|
|
@@ -615,7 +620,8 @@ var N = class {
|
|
|
615
620
|
return T`EXTRACT(EPOCH FROM (${e} - ${t}))`;
|
|
616
621
|
}
|
|
617
622
|
buildDateAddInterval(e, t) {
|
|
618
|
-
|
|
623
|
+
let n = this.buildIntervalFromISO(t);
|
|
624
|
+
return T`(${e} + ${n})`;
|
|
619
625
|
}
|
|
620
626
|
buildConditionalAggregation(e, t, n) {
|
|
621
627
|
let r = e.toUpperCase();
|
|
@@ -662,14 +668,16 @@ var N = class {
|
|
|
662
668
|
};
|
|
663
669
|
}
|
|
664
670
|
buildPercentile(e, t) {
|
|
665
|
-
|
|
671
|
+
let n = t / 100;
|
|
672
|
+
return T`PERCENTILE_CONT(${n}) WITHIN GROUP (ORDER BY ${e})`;
|
|
666
673
|
}
|
|
667
674
|
}, ze = class extends N {
|
|
668
675
|
getEngineType() {
|
|
669
676
|
return "mysql";
|
|
670
677
|
}
|
|
671
678
|
buildIntervalFromISO(e) {
|
|
672
|
-
|
|
679
|
+
let t = this.durationToSeconds(e);
|
|
680
|
+
return T`${t}`;
|
|
673
681
|
}
|
|
674
682
|
buildTimeDifferenceSeconds(e, t) {
|
|
675
683
|
return T`TIMESTAMPDIFF(SECOND, ${t}, ${e})`;
|
|
@@ -746,13 +754,15 @@ var N = class {
|
|
|
746
754
|
return "sqlite";
|
|
747
755
|
}
|
|
748
756
|
buildIntervalFromISO(e) {
|
|
749
|
-
|
|
757
|
+
let t = this.durationToSeconds(e);
|
|
758
|
+
return T`${t}`;
|
|
750
759
|
}
|
|
751
760
|
buildTimeDifferenceSeconds(e, t) {
|
|
752
761
|
return T`(${e} - ${t})`;
|
|
753
762
|
}
|
|
754
763
|
buildDateAddInterval(e, t) {
|
|
755
|
-
|
|
764
|
+
let n = this.durationToSeconds(t);
|
|
765
|
+
return T`(${e} + ${n})`;
|
|
756
766
|
}
|
|
757
767
|
buildDateDiffPeriods(e, t, n) {
|
|
758
768
|
switch (n) {
|
|
@@ -783,9 +793,18 @@ var N = class {
|
|
|
783
793
|
case "month": return T`datetime(${t}, 'unixepoch', 'start of month')`;
|
|
784
794
|
case "week": return T`date(datetime(${t}, 'unixepoch'), 'weekday 1', '-6 days')`;
|
|
785
795
|
case "day": return T`datetime(${t}, 'unixepoch', 'start of day')`;
|
|
786
|
-
case "hour":
|
|
787
|
-
|
|
788
|
-
|
|
796
|
+
case "hour": {
|
|
797
|
+
let e = T`datetime(${t}, 'unixepoch')`;
|
|
798
|
+
return T`datetime(strftime('%Y-%m-%d %H:00:00', ${e}))`;
|
|
799
|
+
}
|
|
800
|
+
case "minute": {
|
|
801
|
+
let e = T`datetime(${t}, 'unixepoch')`;
|
|
802
|
+
return T`datetime(strftime('%Y-%m-%d %H:%M:00', ${e}))`;
|
|
803
|
+
}
|
|
804
|
+
case "second": {
|
|
805
|
+
let e = T`datetime(${t}, 'unixepoch')`;
|
|
806
|
+
return T`datetime(strftime('%Y-%m-%d %H:%M:%S', ${e}))`;
|
|
807
|
+
}
|
|
789
808
|
default: return T`datetime(${t}, 'unixepoch')`;
|
|
790
809
|
}
|
|
791
810
|
}
|
|
@@ -866,7 +885,8 @@ var N = class {
|
|
|
866
885
|
return T`(EPOCH(${e}) - EPOCH(${t}))`;
|
|
867
886
|
}
|
|
868
887
|
buildDateAddInterval(e, t) {
|
|
869
|
-
|
|
888
|
+
let n = this.buildIntervalFromISO(t);
|
|
889
|
+
return T`(${e} + ${n})`;
|
|
870
890
|
}
|
|
871
891
|
buildConditionalAggregation(e, t, n) {
|
|
872
892
|
let r = e.toUpperCase();
|
|
@@ -911,7 +931,8 @@ var N = class {
|
|
|
911
931
|
};
|
|
912
932
|
}
|
|
913
933
|
buildPercentile(e, t) {
|
|
914
|
-
|
|
934
|
+
let n = t / 100;
|
|
935
|
+
return T`QUANTILE_CONT(${e}, ${n})`;
|
|
915
936
|
}
|
|
916
937
|
}, Ue = class extends N {
|
|
917
938
|
getEngineType() {
|
|
@@ -928,7 +949,8 @@ var N = class {
|
|
|
928
949
|
return T`EXTRACT(EPOCH FROM TIMESTAMP_DIFF(${e}, ${t}))`;
|
|
929
950
|
}
|
|
930
951
|
buildDateAddInterval(e, t) {
|
|
931
|
-
|
|
952
|
+
let n = this.buildIntervalFromISO(t);
|
|
953
|
+
return T`(${e} + ${n})`;
|
|
932
954
|
}
|
|
933
955
|
buildDateDiffPeriods(e, t, n) {
|
|
934
956
|
return T`DATE_DIFF('${T.raw(n)}', ${e}::TIMESTAMP, ${t}::TIMESTAMP)`;
|
|
@@ -983,7 +1005,8 @@ var N = class {
|
|
|
983
1005
|
return "snowflake";
|
|
984
1006
|
}
|
|
985
1007
|
buildIntervalFromISO(e) {
|
|
986
|
-
|
|
1008
|
+
let t = this.durationToSeconds(e);
|
|
1009
|
+
return T`${t}`;
|
|
987
1010
|
}
|
|
988
1011
|
buildTimeDifferenceSeconds(e, t) {
|
|
989
1012
|
return T`DATEDIFF('SECOND', ${t}, ${e})`;
|
|
@@ -1248,7 +1271,7 @@ var it = class extends P {
|
|
|
1248
1271
|
convertNumericFields(e, t) {
|
|
1249
1272
|
if (!e || typeof e != "object") return e;
|
|
1250
1273
|
let n = {};
|
|
1251
|
-
for (let [r, i] of Object.entries(e)) t && t.includes(r) ?
|
|
1274
|
+
for (let [r, i] of Object.entries(e)) n[r] = t && t.includes(r) ? this.coerceToNumber(i) : i;
|
|
1252
1275
|
return n;
|
|
1253
1276
|
}
|
|
1254
1277
|
coerceToNumber(e) {
|
|
@@ -1365,7 +1388,7 @@ var ct = class extends P {
|
|
|
1365
1388
|
convertNumericFields(e, t) {
|
|
1366
1389
|
if (!e || typeof e != "object") return e;
|
|
1367
1390
|
let n = {};
|
|
1368
|
-
for (let [r, i] of Object.entries(e)) t && t.includes(r) ?
|
|
1391
|
+
for (let [r, i] of Object.entries(e)) n[r] = t && t.includes(r) ? this.coerceToNumber(i) : i;
|
|
1369
1392
|
return n;
|
|
1370
1393
|
}
|
|
1371
1394
|
coerceToNumber(e) {
|
|
@@ -1490,8 +1513,9 @@ var ft = class extends P {
|
|
|
1490
1513
|
if (this.db.all) {
|
|
1491
1514
|
let n = this.db.all(e);
|
|
1492
1515
|
return Array.isArray(n) ? this.convertNumericFieldsInPlace(n, t) : n;
|
|
1493
|
-
}
|
|
1494
|
-
|
|
1516
|
+
}
|
|
1517
|
+
if (this.db.run) return this.db.run(e);
|
|
1518
|
+
throw Error("SQLite database instance must have an all() or run() method");
|
|
1495
1519
|
} catch (e) {
|
|
1496
1520
|
throw Error(`SQLite execution failed: ${e instanceof Error ? e.message : "Unknown error"}`, { cause: e });
|
|
1497
1521
|
}
|
|
@@ -1687,7 +1711,7 @@ var yt = class extends P {
|
|
|
1687
1711
|
convertNumericFields(e, t) {
|
|
1688
1712
|
if (!e || typeof e != "object") return e;
|
|
1689
1713
|
let n = {};
|
|
1690
|
-
for (let [r, i] of Object.entries(e)) t && t.includes(r) ?
|
|
1714
|
+
for (let [r, i] of Object.entries(e)) n[r] = t && t.includes(r) ? this.coerceToNumber(i) : i;
|
|
1691
1715
|
return n;
|
|
1692
1716
|
}
|
|
1693
1717
|
coerceToNumber(e) {
|
|
@@ -1862,7 +1886,7 @@ var wt = class extends P {
|
|
|
1862
1886
|
convertNumericFields(e, t) {
|
|
1863
1887
|
if (!e || typeof e != "object") return e;
|
|
1864
1888
|
let n = {};
|
|
1865
|
-
for (let [r, i] of Object.entries(e)) t && t.includes(r) ?
|
|
1889
|
+
for (let [r, i] of Object.entries(e)) n[r] = t && t.includes(r) ? this.coerceToNumber(i) : i;
|
|
1866
1890
|
return n;
|
|
1867
1891
|
}
|
|
1868
1892
|
coerceToNumber(e) {
|
|
@@ -2019,7 +2043,7 @@ var At = class extends P {
|
|
|
2019
2043
|
convertNumericFields(e, t) {
|
|
2020
2044
|
if (!e || typeof e != "object") return e;
|
|
2021
2045
|
let n = {};
|
|
2022
|
-
for (let [r, i] of Object.entries(e)) t && t.includes(r) ?
|
|
2046
|
+
for (let [r, i] of Object.entries(e)) n[r] = t && t.includes(r) ? this.coerceToNumber(i) : i;
|
|
2023
2047
|
return n;
|
|
2024
2048
|
}
|
|
2025
2049
|
coerceToNumber(e) {
|
|
@@ -2771,8 +2795,8 @@ function An(e, t) {
|
|
|
2771
2795
|
ref: `{${t}}`,
|
|
2772
2796
|
measureName: u
|
|
2773
2797
|
}));
|
|
2774
|
-
let f = T`${
|
|
2775
|
-
s.set(t,
|
|
2798
|
+
let f = d(), p = T`${f}`;
|
|
2799
|
+
s.set(t, p);
|
|
2776
2800
|
}
|
|
2777
2801
|
let c = [], l = [], u = 0;
|
|
2778
2802
|
for (let t of o) {
|
|
@@ -3175,15 +3199,18 @@ var X = class e {
|
|
|
3175
3199
|
if (t.dimensions) for (let e of t.dimensions) {
|
|
3176
3200
|
let [t, a] = e.split("."), o = i.get(t);
|
|
3177
3201
|
if (o && o.dimensions && o.dimensions[a]) {
|
|
3178
|
-
let t = o.dimensions[a];
|
|
3179
|
-
r[e] = T`${
|
|
3202
|
+
let t = o.dimensions[a], i = B(t.sql, n);
|
|
3203
|
+
r[e] = T`${i}`.as(e);
|
|
3180
3204
|
}
|
|
3181
3205
|
}
|
|
3182
3206
|
if (t.measures) {
|
|
3183
3207
|
let e = this.buildResolvedMeasures(t.measures, i, n);
|
|
3184
3208
|
for (let n of t.measures) {
|
|
3185
3209
|
let t = e.get(n);
|
|
3186
|
-
t && typeof t == "function"
|
|
3210
|
+
if (t && typeof t == "function") {
|
|
3211
|
+
let e = t();
|
|
3212
|
+
r[n] = T`${e}`.as(n);
|
|
3213
|
+
}
|
|
3187
3214
|
}
|
|
3188
3215
|
}
|
|
3189
3216
|
if (t.timeDimensions) for (let e of t.timeDimensions) {
|
|
@@ -3223,7 +3250,8 @@ var X = class e {
|
|
|
3223
3250
|
if (t.has(n) && i.has(n) && !a.has(n)) {
|
|
3224
3251
|
o.push(...i.get(n)), a.add(n);
|
|
3225
3252
|
return;
|
|
3226
|
-
}
|
|
3253
|
+
}
|
|
3254
|
+
if (a.has(n)) return;
|
|
3227
3255
|
}
|
|
3228
3256
|
let s = this.processFilter(e, t, n, "where", r);
|
|
3229
3257
|
s && o.push(s);
|
|
@@ -4208,9 +4236,7 @@ function Zn(e, t) {
|
|
|
4208
4236
|
case "right":
|
|
4209
4237
|
e = e.rightJoin(n.table, n.on);
|
|
4210
4238
|
break;
|
|
4211
|
-
case "full":
|
|
4212
|
-
e = e.fullJoin(n.table, n.on);
|
|
4213
|
-
break;
|
|
4239
|
+
case "full": e = e.fullJoin(n.table, n.on);
|
|
4214
4240
|
}
|
|
4215
4241
|
return e;
|
|
4216
4242
|
}
|
|
@@ -4261,14 +4287,20 @@ var Qn = class {
|
|
|
4261
4287
|
let i = t.name;
|
|
4262
4288
|
for (let a of n.dimensions || []) {
|
|
4263
4289
|
let [n, o] = a.split(".");
|
|
4264
|
-
n === i && t.dimensions?.[o]
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4290
|
+
if (n === i && t.dimensions?.[o]) {
|
|
4291
|
+
let n = this.queryBuilder.buildMeasureExpression({
|
|
4292
|
+
sql: t.dimensions[o].sql,
|
|
4293
|
+
type: "number"
|
|
4294
|
+
}, r);
|
|
4295
|
+
e[o] = T`${n}`.as(o);
|
|
4296
|
+
}
|
|
4268
4297
|
}
|
|
4269
4298
|
for (let a of n.timeDimensions || []) {
|
|
4270
4299
|
let [n, o] = a.dimension.split(".");
|
|
4271
|
-
n === i && t.dimensions?.[o]
|
|
4300
|
+
if (n === i && t.dimensions?.[o]) {
|
|
4301
|
+
let n = this.queryBuilder.buildTimeDimensionExpression(t.dimensions[o].sql, a.granularity, r);
|
|
4302
|
+
e[o] = T`${n}`.as(o);
|
|
4303
|
+
}
|
|
4272
4304
|
}
|
|
4273
4305
|
}
|
|
4274
4306
|
applyIntermediateJoins(e, t, n, r) {
|
|
@@ -4373,7 +4405,8 @@ var Qn = class {
|
|
|
4373
4405
|
if (o.length === 1) {
|
|
4374
4406
|
let { source: e, target: n } = o[0], i = t.db.select({ pk: e }).from(r.from);
|
|
4375
4407
|
return i = Zn(i, r), i = i.where(a), T`${n} IN ${i}`;
|
|
4376
|
-
}
|
|
4408
|
+
}
|
|
4409
|
+
{
|
|
4377
4410
|
let e = k(...o.map((e) => O(e.source, e.target)), a), n = t.db.select({ one: T`1` }).from(r.from);
|
|
4378
4411
|
return n = Zn(n, r), n = n.where(e), T`EXISTS ${n}`;
|
|
4379
4412
|
}
|
|
@@ -4589,9 +4622,7 @@ function cr(e, t) {
|
|
|
4589
4622
|
n.setUTCMonth(e, 1), n.setUTCHours(0, 0, 0, 0);
|
|
4590
4623
|
break;
|
|
4591
4624
|
}
|
|
4592
|
-
case "year":
|
|
4593
|
-
n.setUTCMonth(0, 1), n.setUTCHours(0, 0, 0, 0);
|
|
4594
|
-
break;
|
|
4625
|
+
case "year": n.setUTCMonth(0, 1), n.setUTCHours(0, 0, 0, 0);
|
|
4595
4626
|
}
|
|
4596
4627
|
return n;
|
|
4597
4628
|
}
|
|
@@ -4619,9 +4650,7 @@ function lr(e, t) {
|
|
|
4619
4650
|
case "quarter":
|
|
4620
4651
|
n.setUTCMonth(n.getUTCMonth() + 3);
|
|
4621
4652
|
break;
|
|
4622
|
-
case "year":
|
|
4623
|
-
n.setUTCFullYear(n.getUTCFullYear() + 1);
|
|
4624
|
-
break;
|
|
4653
|
+
case "year": n.setUTCFullYear(n.getUTCFullYear() + 1);
|
|
4625
4654
|
}
|
|
4626
4655
|
return n;
|
|
4627
4656
|
}
|
|
@@ -5255,10 +5284,10 @@ var qr = class {
|
|
|
5255
5284
|
let r = typeof e == "string" ? new Date(e) : e, i = t.getTime(), a = r.getTime();
|
|
5256
5285
|
switch (n) {
|
|
5257
5286
|
case "second": return Math.floor((a - i) / 1e3);
|
|
5258
|
-
case "minute": return Math.floor((a - i) /
|
|
5259
|
-
case "hour": return Math.floor((a - i) /
|
|
5260
|
-
case "day": return Math.floor((a - i) /
|
|
5261
|
-
case "week": return Math.floor((a - i) /
|
|
5287
|
+
case "minute": return Math.floor((a - i) / 6e4);
|
|
5288
|
+
case "hour": return Math.floor((a - i) / 36e5);
|
|
5289
|
+
case "day": return Math.floor((a - i) / 864e5);
|
|
5290
|
+
case "week": return Math.floor((a - i) / 6048e5);
|
|
5262
5291
|
case "month": {
|
|
5263
5292
|
let e = t.getUTCFullYear(), n = t.getUTCMonth(), i = r.getUTCFullYear(), a = r.getUTCMonth();
|
|
5264
5293
|
return (i - e) * 12 + (a - n);
|
|
@@ -5268,7 +5297,7 @@ var qr = class {
|
|
|
5268
5297
|
return (i - e) * 4 + (a - n);
|
|
5269
5298
|
}
|
|
5270
5299
|
case "year": return r.getUTCFullYear() - t.getUTCFullYear();
|
|
5271
|
-
default: return Math.floor((a - i) /
|
|
5300
|
+
default: return Math.floor((a - i) / 864e5);
|
|
5272
5301
|
}
|
|
5273
5302
|
}
|
|
5274
5303
|
addPeriodMetadata(e, t, n, r) {
|
|
@@ -6258,10 +6287,12 @@ var ti = {
|
|
|
6258
6287
|
return n.db.$with("cohort_base").as(s);
|
|
6259
6288
|
}
|
|
6260
6289
|
buildDateRangeCondition(e, t) {
|
|
6261
|
-
|
|
6290
|
+
let n = this.databaseAdapter.castToType(T`${t.start}`, "timestamp"), r = this.databaseAdapter.buildDateAddInterval(this.databaseAdapter.castToType(T`${t.end}`, "timestamp"), "P1D");
|
|
6291
|
+
return T`${e} >= ${n} AND ${e} < ${r}`;
|
|
6262
6292
|
}
|
|
6263
6293
|
buildDateRangeHavingCondition(e, t) {
|
|
6264
|
-
|
|
6294
|
+
let n = this.databaseAdapter.castToType(T`${t.start}`, "timestamp"), r = this.databaseAdapter.buildDateAddInterval(this.databaseAdapter.castToType(T`${t.end}`, "timestamp"), "P1D");
|
|
6295
|
+
return T`MIN(${e}) >= ${n} AND MIN(${e}) < ${r}`;
|
|
6265
6296
|
}
|
|
6266
6297
|
buildActivityPeriodsCTE(e, t, n) {
|
|
6267
6298
|
let r = t.cube.sql(n), i = [];
|
|
@@ -6819,7 +6850,11 @@ function pi(e, t, n, r, i, a) {
|
|
|
6819
6850
|
let [f, p] = d.split("."), m = i.get(f);
|
|
6820
6851
|
if (!m?.measures?.[p]) continue;
|
|
6821
6852
|
let h = m.measures[p], g = t.preAggregationCTEs?.find((e) => e.cube?.name === f && e.measures?.includes(d)), _;
|
|
6822
|
-
|
|
6853
|
+
if (g) {
|
|
6854
|
+
let e = T`${T.identifier(g.cteAlias)}.${T.identifier(p)}`;
|
|
6855
|
+
_ = T`sum(${e})`;
|
|
6856
|
+
} else _ = a.queryBuilder.buildMeasureExpression(h, r, m);
|
|
6857
|
+
e[d] || (e[d] = T`${_}`.as(d));
|
|
6823
6858
|
let v = mi(u, _, n, r, l, t, a);
|
|
6824
6859
|
v && (e[o] = T`${v}`.as(o));
|
|
6825
6860
|
}
|
|
@@ -7286,10 +7321,22 @@ function Wi(e) {
|
|
|
7286
7321
|
}
|
|
7287
7322
|
function Gi(e, t, n, r) {
|
|
7288
7323
|
switch (e) {
|
|
7289
|
-
case "min":
|
|
7290
|
-
|
|
7291
|
-
|
|
7292
|
-
|
|
7324
|
+
case "min": {
|
|
7325
|
+
let e = T`${T.identifier(t)}.${T.identifier(n)}`;
|
|
7326
|
+
return T`min(${e})`.as(r);
|
|
7327
|
+
}
|
|
7328
|
+
case "max": {
|
|
7329
|
+
let e = T`${T.identifier(t)}.${T.identifier(n)}`;
|
|
7330
|
+
return T`max(${e})`.as(r);
|
|
7331
|
+
}
|
|
7332
|
+
case "avg": {
|
|
7333
|
+
let e = T`${T.identifier(t)}.${T.identifier(`__avg_sum__${n}`)}`, i = T`${T.identifier(t)}.${T.identifier(`__avg_count__${n}`)}`;
|
|
7334
|
+
return T`sum(${e}) / nullif(sum(${i}), 0)`.as(r);
|
|
7335
|
+
}
|
|
7336
|
+
default: {
|
|
7337
|
+
let e = T`${T.identifier(t)}.${T.identifier(n)}`;
|
|
7338
|
+
return T`coalesce(sum(${e}), 0)`.as(r);
|
|
7339
|
+
}
|
|
7293
7340
|
}
|
|
7294
7341
|
}
|
|
7295
7342
|
//#endregion
|
|
@@ -7305,8 +7352,14 @@ function Ki(e, t, n, r, i) {
|
|
|
7305
7352
|
}
|
|
7306
7353
|
function qi(e, t, n) {
|
|
7307
7354
|
let r = {};
|
|
7308
|
-
for (let e of t)
|
|
7309
|
-
|
|
7355
|
+
for (let e of t) {
|
|
7356
|
+
let t = ea(n, e);
|
|
7357
|
+
r[e] = T`${t}`.as(e);
|
|
7358
|
+
}
|
|
7359
|
+
for (let t of e.groups) for (let e of t.measures) {
|
|
7360
|
+
let n = T`${T.identifier(t.alias)}.${T.identifier(e)}`;
|
|
7361
|
+
r[e] = T`coalesce(${n}, 0)`.as(e);
|
|
7362
|
+
}
|
|
7310
7363
|
return r;
|
|
7311
7364
|
}
|
|
7312
7365
|
function Ji(e, t, n) {
|
|
@@ -7327,7 +7380,10 @@ function Yi(e, t, n, r, i, a, o) {
|
|
|
7327
7380
|
function Xi(e, t, n, r, i, a) {
|
|
7328
7381
|
let o = "mf_all_keys", s = r.groups.map((e) => T`select ${Zi(e.alias, a)} from ${T.identifier(e.alias)}`), c = T`${T.join(s, T` union `)}`, l = t.db.$with(o).as(c), u = {};
|
|
7329
7382
|
for (let e of a) u[e] = T`${T.identifier(o)}.${T.identifier(e)}`.as(e);
|
|
7330
|
-
for (let e of r.groups) for (let t of e.measures)
|
|
7383
|
+
for (let e of r.groups) for (let t of e.measures) {
|
|
7384
|
+
let n = T`${T.identifier(e.alias)}.${T.identifier(t)}`;
|
|
7385
|
+
u[t] = T`coalesce(${n}, 0)`.as(t);
|
|
7386
|
+
}
|
|
7331
7387
|
let d = t.db.with(...i, l).select(u).from(T`${T.identifier(o)}`);
|
|
7332
7388
|
for (let e of r.groups) {
|
|
7333
7389
|
let t = a.map((t) => O(T`${T.identifier(o)}.${T.identifier(t)}`, T`${T.identifier(e.alias)}.${T.identifier(t)}`)), n = t.length === 1 ? t[0] : k(...t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../core-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../core-FpI2NfHt.cjs");exports.createCubeHttpHandler=e.t,exports.resolveSecurityContext=e.n,exports.withLocaleFromHeaders=e.r;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../core-
|
|
1
|
+
import { n as e, r as t, t as n } from "../core-4WY4M7hp.js";
|
|
2
2
|
export { n as createCubeHttpHandler, e as resolveSecurityContext, t as withLocaleFromHeaders };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as e, i as t, l as n, o as r, r as i, u as a } from "./utils-
|
|
2
|
-
import { C as o, S as s, _ as c, a as l, b as u, c as d, g as f, h as p, i as m, l as h, m as g, o as _, r as v, u as y, v as b, w as x, x as S, y as C } from "./mcp-transport-
|
|
1
|
+
import { a as e, i as t, l as n, o as r, r as i, u as a } from "./utils-G52pPkce.js";
|
|
2
|
+
import { C as o, S as s, _ as c, a as l, b as u, c as d, g as f, h as p, i as m, l as h, m as g, o as _, r as v, u as y, v as b, w as x, x as S, y as C } from "./mcp-transport-OBc8jVG5.js";
|
|
3
3
|
//#region src/adapters/locale.ts
|
|
4
4
|
var w = "x-dc-locale";
|
|
5
5
|
function T(e) {
|
|
@@ -76,8 +76,8 @@ function M(i) {
|
|
|
76
76
|
}
|
|
77
77
|
async function u(e, t) {
|
|
78
78
|
try {
|
|
79
|
-
let n = await e.getBody(), r =
|
|
80
|
-
return e.send(200,
|
|
79
|
+
let n = await e.getBody(), r = n?.query || n, o = await A(t, (t) => e.getHeader(t)), s = await a(r, o, i);
|
|
80
|
+
return e.send(200, s);
|
|
81
81
|
} catch (t) {
|
|
82
82
|
return console.error("Dry-run error:", t), e.send(400, {
|
|
83
83
|
error: t instanceof Error ? t.message : "Dry-run validation failed",
|
|
@@ -92,8 +92,8 @@ function M(i) {
|
|
|
92
92
|
error: "Query parameter is required",
|
|
93
93
|
valid: !1
|
|
94
94
|
});
|
|
95
|
-
let r =
|
|
96
|
-
return e.send(200,
|
|
95
|
+
let r = JSON.parse(n), o = await A(t, (t) => e.getHeader(t)), s = await a(r, o, i);
|
|
96
|
+
return e.send(200, s);
|
|
97
97
|
} catch (t) {
|
|
98
98
|
return console.error("Dry-run error:", t), e.send(400, {
|
|
99
99
|
error: t instanceof Error ? t.message : "Dry-run validation failed",
|
|
@@ -106,8 +106,8 @@ function M(i) {
|
|
|
106
106
|
let a = (await e.getBody())?.queries;
|
|
107
107
|
if (!a || !Array.isArray(a)) return e.send(400, t("Request body must contain a \"queries\" array", 400));
|
|
108
108
|
if (a.length === 0) return e.send(400, t("Queries array cannot be empty", 400));
|
|
109
|
-
let o = await
|
|
110
|
-
return e.send(200,
|
|
109
|
+
let o = await A(r, (t) => e.getHeader(t)), s = e.getHeader("x-cache-control") === "no-cache", c = await n(a, o, i, { skipCache: s });
|
|
110
|
+
return e.send(200, c);
|
|
111
111
|
} catch (n) {
|
|
112
112
|
return console.error("Batch execution error:", n), e.send(500, t(n instanceof Error ? n.message : "Batch execution failed", 500));
|
|
113
113
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./utils-DJ0_72_G.cjs"),t=require("./mcp-transport-n1r1Kqzn.cjs");var n=`x-dc-locale`;function r(e){if(!e)return;let t=(Array.isArray(e)?e[0]:e).split(`,`)[0]?.trim();if(t&&/^[A-Za-z0-9-]{2,35}$/.test(t))return t}function i(e){return r(e(n))}function a(e,t){let n=e&&typeof e==`object`?e:{},r=typeof n.locale==`string`?n.locale:void 0,i=t??r??`en-GB`;return r===i?n:{...n,locale:i}}function o(e){let t=Array.isArray(e)?[...e]:(e??``).split(`,`).map(e=>e.trim()).filter(Boolean);return t.some(e=>e.toLowerCase()===`x-dc-locale`)||t.push(`X-DC-Locale`),t}function s(e,t){return a(e,i(t))}async function c(e,t){return s(await e(),t)}function l(e){return String(e).replace(/\n|\r/g,``)}function u(t){async function n(n,r,i){let a=t.validateQuery(n);if(!a.isValid)return i.send(400,e.i(`Query validation failed: ${a.errors.join(`, `)}`,400));let o=n.measures?.[0]||n.dimensions?.[0];if(!o)return i.send(400,e.i(`No measures or dimensions specified`,400));let s=o.split(`.`)[0],c=await t.generateSQL(s,n,r);return i.send(200,e.o(n,c))}function r(n){try{return n.send(200,e.a(t.getMetadata()))}catch(t){return console.error(`Metadata error:`,t),n.send(500,e.i(t instanceof Error?t.message:`Failed to fetch metadata`,500))}}async function i(t,r){try{let e=await t.getBody();return await n(e?.query||e,await c(r,e=>t.getHeader(e)),t)}catch(n){return console.error(`SQL generation error:`,l(n)),t.send(500,e.i(n instanceof Error?n.message:`SQL generation failed`,500))}}async function a(t,r){try{let i=t.getQueryParam(`query`);if(!i)return t.send(400,e.i(`Query parameter is required`,400));let a;try{a=JSON.parse(i)}catch{return t.send(400,e.i(`Invalid JSON in query parameter`,400))}let o=await c(r,e=>t.getHeader(e));return await n(a,o,t)}catch(n){return console.error(`SQL generation error:`,l(n)),t.send(500,e.i(n instanceof Error?n.message:`SQL generation failed`,500))}}async function o(n,r){try{let i=await n.getBody(),a=i?.query||i,o=await c(r,e=>n.getHeader(e)),s=await e.u(a,o,t);return n.send(200,s)}catch(e){return console.error(`Dry-run error:`,e),n.send(400,{error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}async function s(n,r){try{let i=n.getQueryParam(`query`);if(!i)return n.send(400,{error:`Query parameter is required`,valid:!1});let a=JSON.parse(i),o=await c(r,e=>n.getHeader(e)),s=await e.u(a,o,t);return n.send(200,s)}catch(e){return console.error(`Dry-run error:`,e),n.send(400,{error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1})}}async function u(n,r){try{let i=(await n.getBody())?.queries;if(!i||!Array.isArray(i))return n.send(400,e.i(`Request body must contain a "queries" array`,400));if(i.length===0)return n.send(400,e.i(`Queries array cannot be empty`,400));let a=await c(r,e=>n.getHeader(e)),o=n.getHeader(`x-cache-control`)===`no-cache`,s=await e.l(i,a,t,{skipCache:o});return n.send(200,s)}catch(t){return console.error(`Batch execution error:`,t),n.send(500,e.i(t instanceof Error?t.message:`Batch execution failed`,500))}}async function d(e,n){try{let r=await e.getBody(),i=r?.query||r,a=r?.options||{},o=await c(n,t=>e.getHeader(t)),s=t.validateQuery(i);if(!s.isValid)return e.send(400,{error:`Query validation failed: ${s.errors.join(`, `)}`});let l=await t.explainQuery(i,o,a);return e.send(200,l)}catch(t){return console.error(`Explain error:`,t),e.send(500,{error:t instanceof Error?t.message:`Explain query failed`})}}return{handleMetaGet:r,handleSqlGet:a,handleSqlPost:i,handleDryRunGet:s,handleDryRunPost:o,handleBatchPost:u,handleExplainPost:d}}function d(e,n){let r=e?.code??-32603,i=e?.data,a=e.message||`MCP request failed`;return t.i(n??null,r,a,i)}function f(e,n){let r=!!n.app,i=typeof n.app==`object`?n.app:void 0,a;function o(){return a||={resources:t.o(e,n.resources),prompts:t.b(n.prompts),instructions:t.y(n.instructions)},a}async function s(a,s){if(n.resourceMetadataUrl&&!t.u(a.getHeader(`authorization`)))return a.setHeader(`WWW-Authenticate`,t.c(n.resourceMetadataUrl)),a.send(401,{error:`Bearer token required`});let u=t.C(a.getHeader(`origin`),t.g(n));if(!u.valid)return a.send(403,t.i(null,-32600,u.reason));let f=a.getHeader(`accept`);if(!t.S(f))return a.send(400,t.i(null,-32600,`Accept header must include both application/json and text/event-stream`));let p=t.h({"mcp-protocol-version":a.getHeader(`mcp-protocol-version`)});if(!p.ok)return a.send(426,{error:`Unsupported MCP protocol version`,supported:p.supported});let m=t._(await a.getBody());if(!m)return a.send(400,t.i(null,-32600,`Invalid JSON-RPC 2.0 request`));let h=t.w(f),g=m.method===`initialize`,{resources:_,prompts:v,instructions:y}=o();try{let o=await t.l(m.method,m.params,{semanticLayer:e,extractSecurityContext:()=>c(s,e=>a.getHeader(e)),rawRequest:void 0,rawResponse:void 0,negotiatedProtocol:p.negotiated,resources:_,prompts:v,instructions:y,appEnabled:r,appConfig:i,serverName:n.serverName});if(t.m(m))return a.sendEmpty(202);let l=g&&o&&typeof o==`object`&&`sessionId`in o?o.sessionId:void 0;l&&a.setHeader(t.r,l);let u=t.a(m.id??null,o);if(h){let e=t.v();return a.sendSse(200,`id: ${e}\n\n`+t.x(u,e))}return a.send(200,u)}catch(e){if(t.m(m))return console.error(`MCP notification processing error:`,l(e)),a.sendEmpty(202);console.error(`MCP RPC error:`,l(e));let n=d(e,m.id);if(h){let e=t.v();return a.sendSse(200,`id: ${e}\n\n`+t.x(n,e))}return a.send(200,n)}}return{handleMcpPost:s}}function p(t){let{semanticLayer:n,onError:r,mcp:i={}}=t,a=u(n),{handleMcpPost:o}=f(n,i);function s(t,n){return r(t),n.send(500,e.i(t instanceof Error?t.message:`Query execution failed`,500))}async function l(t,r,i){let a=await c(i,e=>r.getHeader(e)),o=n.validateQuery(t);if(!o.isValid)return r.send(400,e.i(`Query validation failed: ${o.errors.join(`, `)}`,400));let s=r.getHeader(`x-cache-control`)===`no-cache`,l=await n.executeMultiCubeQuery(t,a,{skipCache:s});return r.send(200,e.r(t,l,n))}async function d(e,t){try{let n=await e.getBody();return await l(n?.query||n,e,t)}catch(t){return s(t,e)}}async function p(t,n){try{let r=t.getQueryParam(`query`);if(!r)return t.send(400,e.i(`Query parameter is required`,400));let i;try{i=JSON.parse(r)}catch{return t.send(400,e.i(`Invalid JSON in query parameter`,400))}return await l(i,t,n)}catch(e){return s(e,t)}}return{handleLoadGet:p,handleLoadPost:d,handleMcpPost:o,...a}}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
|
|
@@ -146,18 +146,21 @@ function O(e) {
|
|
|
146
146
|
if (e.candidates && e.candidates.length > 0) {
|
|
147
147
|
if (e.candidates.length > 1 && console.warn(`This response had ${e.candidates.length} candidates. Returning text from the first candidate only. Access response.candidates directly to use the other candidates.`), j(e.candidates[0])) throw new p(`${M(e)}`, e);
|
|
148
148
|
return k(e);
|
|
149
|
-
}
|
|
149
|
+
}
|
|
150
|
+
if (e.promptFeedback) throw new p(`Text not available. ${M(e)}`, e);
|
|
150
151
|
return "";
|
|
151
152
|
}, e.functionCall = () => {
|
|
152
153
|
if (e.candidates && e.candidates.length > 0) {
|
|
153
154
|
if (e.candidates.length > 1 && console.warn(`This response had ${e.candidates.length} candidates. Returning function calls from the first candidate only. Access response.candidates directly to use the other candidates.`), j(e.candidates[0])) throw new p(`${M(e)}`, e);
|
|
154
155
|
return console.warn("response.functionCall() is deprecated. Use response.functionCalls() instead."), A(e)[0];
|
|
155
|
-
}
|
|
156
|
+
}
|
|
157
|
+
if (e.promptFeedback) throw new p(`Function call not available. ${M(e)}`, e);
|
|
156
158
|
}, e.functionCalls = () => {
|
|
157
159
|
if (e.candidates && e.candidates.length > 0) {
|
|
158
160
|
if (e.candidates.length > 1 && console.warn(`This response had ${e.candidates.length} candidates. Returning function calls from the first candidate only. Access response.candidates directly to use the other candidates.`), j(e.candidates[0])) throw new p(`${M(e)}`, e);
|
|
159
161
|
return A(e);
|
|
160
|
-
}
|
|
162
|
+
}
|
|
163
|
+
if (e.promptFeedback) throw new p(`Function call not available. ${M(e)}`, e);
|
|
161
164
|
}, e;
|
|
162
165
|
}
|
|
163
166
|
function k(e) {
|
|
@@ -498,7 +501,7 @@ async function ce(e, t, n, r) {
|
|
|
498
501
|
}
|
|
499
502
|
var $ = class {
|
|
500
503
|
constructor(e, t, n = {}) {
|
|
501
|
-
this.apiKey = e, this._requestOptions = n, t.model.includes("/") ?
|
|
504
|
+
this.apiKey = e, this._requestOptions = n, this.model = t.model.includes("/") ? t.model : `models/${t.model}`, this.generationConfig = t.generationConfig || {}, this.safetySettings = t.safetySettings || [], this.tools = t.tools, this.toolConfig = t.toolConfig, this.systemInstruction = U(t.systemInstruction), this.cachedContent = t.cachedContent;
|
|
502
505
|
}
|
|
503
506
|
async generateContent(e, t = {}) {
|
|
504
507
|
let n = q(e), r = Object.assign(Object.assign({}, this._requestOptions), t);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e;(function(e){e.STRING=`string`,e.NUMBER=`number`,e.INTEGER=`integer`,e.BOOLEAN=`boolean`,e.ARRAY=`array`,e.OBJECT=`object`})(e||={});var t;(function(e){e.LANGUAGE_UNSPECIFIED=`language_unspecified`,e.PYTHON=`python`})(t||={});var n;(function(e){e.OUTCOME_UNSPECIFIED=`outcome_unspecified`,e.OUTCOME_OK=`outcome_ok`,e.OUTCOME_FAILED=`outcome_failed`,e.OUTCOME_DEADLINE_EXCEEDED=`outcome_deadline_exceeded`})(n||={});var r=[`user`,`model`,`function`,`system`],i;(function(e){e.HARM_CATEGORY_UNSPECIFIED=`HARM_CATEGORY_UNSPECIFIED`,e.HARM_CATEGORY_HATE_SPEECH=`HARM_CATEGORY_HATE_SPEECH`,e.HARM_CATEGORY_SEXUALLY_EXPLICIT=`HARM_CATEGORY_SEXUALLY_EXPLICIT`,e.HARM_CATEGORY_HARASSMENT=`HARM_CATEGORY_HARASSMENT`,e.HARM_CATEGORY_DANGEROUS_CONTENT=`HARM_CATEGORY_DANGEROUS_CONTENT`,e.HARM_CATEGORY_CIVIC_INTEGRITY=`HARM_CATEGORY_CIVIC_INTEGRITY`})(i||={});var a;(function(e){e.HARM_BLOCK_THRESHOLD_UNSPECIFIED=`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,e.BLOCK_LOW_AND_ABOVE=`BLOCK_LOW_AND_ABOVE`,e.BLOCK_MEDIUM_AND_ABOVE=`BLOCK_MEDIUM_AND_ABOVE`,e.BLOCK_ONLY_HIGH=`BLOCK_ONLY_HIGH`,e.BLOCK_NONE=`BLOCK_NONE`})(a||={});var o;(function(e){e.HARM_PROBABILITY_UNSPECIFIED=`HARM_PROBABILITY_UNSPECIFIED`,e.NEGLIGIBLE=`NEGLIGIBLE`,e.LOW=`LOW`,e.MEDIUM=`MEDIUM`,e.HIGH=`HIGH`})(o||={});var s;(function(e){e.BLOCKED_REASON_UNSPECIFIED=`BLOCKED_REASON_UNSPECIFIED`,e.SAFETY=`SAFETY`,e.OTHER=`OTHER`})(s||={});var c;(function(e){e.FINISH_REASON_UNSPECIFIED=`FINISH_REASON_UNSPECIFIED`,e.STOP=`STOP`,e.MAX_TOKENS=`MAX_TOKENS`,e.SAFETY=`SAFETY`,e.RECITATION=`RECITATION`,e.LANGUAGE=`LANGUAGE`,e.BLOCKLIST=`BLOCKLIST`,e.PROHIBITED_CONTENT=`PROHIBITED_CONTENT`,e.SPII=`SPII`,e.MALFORMED_FUNCTION_CALL=`MALFORMED_FUNCTION_CALL`,e.OTHER=`OTHER`})(c||={});var l;(function(e){e.TASK_TYPE_UNSPECIFIED=`TASK_TYPE_UNSPECIFIED`,e.RETRIEVAL_QUERY=`RETRIEVAL_QUERY`,e.RETRIEVAL_DOCUMENT=`RETRIEVAL_DOCUMENT`,e.SEMANTIC_SIMILARITY=`SEMANTIC_SIMILARITY`,e.CLASSIFICATION=`CLASSIFICATION`,e.CLUSTERING=`CLUSTERING`})(l||={});var u;(function(e){e.MODE_UNSPECIFIED=`MODE_UNSPECIFIED`,e.AUTO=`AUTO`,e.ANY=`ANY`,e.NONE=`NONE`})(u||={});var d;(function(e){e.MODE_UNSPECIFIED=`MODE_UNSPECIFIED`,e.MODE_DYNAMIC=`MODE_DYNAMIC`})(d||={});var f=class extends Error{constructor(e){super(`[GoogleGenerativeAI Error]: ${e}`)}},p=class extends f{constructor(e,t){super(e),this.response=t}},m=class extends f{constructor(e,t,n,r){super(e),this.status=t,this.statusText=n,this.errorDetails=r}},h=class extends f{},g=class extends f{},ee=`https://generativelanguage.googleapis.com`,_=`v1beta`,v=`0.24.1`,te=`genai-js`,y;(function(e){e.GENERATE_CONTENT=`generateContent`,e.STREAM_GENERATE_CONTENT=`streamGenerateContent`,e.COUNT_TOKENS=`countTokens`,e.EMBED_CONTENT=`embedContent`,e.BATCH_EMBED_CONTENTS=`batchEmbedContents`})(y||={});var b=class{constructor(e,t,n,r,i){this.model=e,this.task=t,this.apiKey=n,this.stream=r,this.requestOptions=i}toString(){let e=this.requestOptions?.apiVersion||_,t=`${this.requestOptions?.baseUrl||ee}/${e}/${this.model}:${this.task}`;return this.stream&&(t+=`?alt=sse`),t}};function x(e){let t=[];return e?.apiClient&&t.push(e.apiClient),t.push(`${te}/${v}`),t.join(` `)}async function S(e){let t=new Headers;t.append(`Content-Type`,`application/json`),t.append(`x-goog-api-client`,x(e.requestOptions)),t.append(`x-goog-api-key`,e.apiKey);let n=e.requestOptions?.customHeaders;if(n){if(!(n instanceof Headers))try{n=new Headers(n)}catch(e){throw new h(`unable to convert customHeaders value ${JSON.stringify(n)} to Headers: ${e.message}`)}for(let[e,r]of n.entries()){if(e===`x-goog-api-key`)throw new h(`Cannot set reserved header name ${e}`);if(e===`x-goog-api-client`)throw new h(`Header name ${e} can only be set using the apiClient field`);t.append(e,r)}}return t}async function ne(e,t,n,r,i,a){let o=new b(e,t,n,r,a);return{url:o.toString(),fetchOptions:Object.assign(Object.assign({},D(a)),{method:`POST`,headers:await S(o),body:i})}}async function C(e,t,n,r,i,a={},o=fetch){let{url:s,fetchOptions:c}=await ne(e,t,n,r,i,a);return w(s,c,o)}async function w(e,t,n=fetch){let r;try{r=await n(e,t)}catch(t){T(t,e)}return r.ok||await E(r,e),r}function T(e,t){let n=e;throw n.name===`AbortError`?(n=new g(`Request aborted when fetching ${t.toString()}: ${e.message}`),n.stack=e.stack):e instanceof m||e instanceof h||(n=new f(`Error fetching from ${t.toString()}: ${e.message}`),n.stack=e.stack),n}async function E(e,t){let n=``,r;try{let t=await e.json();n=t.error.message,t.error.details&&(n+=` ${JSON.stringify(t.error.details)}`,r=t.error.details)}catch{}throw new m(`Error fetching from ${t.toString()}: [${e.status} ${e.statusText}] ${n}`,e.status,e.statusText,r)}function D(e){let t={};if(e?.signal!==void 0||e?.timeout>=0){let n=new AbortController;e?.timeout>=0&&setTimeout(()=>n.abort(),e.timeout),e?.signal&&e.signal.addEventListener(`abort`,()=>{n.abort()}),t.signal=n.signal}return t}function O(e){return e.text=()=>{if(e.candidates&&e.candidates.length>0){if(e.candidates.length>1&&console.warn(`This response had ${e.candidates.length} candidates. Returning text from the first candidate only. Access response.candidates directly to use the other candidates.`),j(e.candidates[0]))throw new p(`${M(e)}`,e);return k(e)}
|
|
2
|
-
`+n.executableCode.code+"\n```\n"),n.codeExecutionResult&&t.push("\n```\n"+n.codeExecutionResult.output+"\n```\n");return t.length>0?t.join(``):``}function A(e){let t=[];if(e.candidates?.[0].content?.parts)for(let n of e.candidates?.[0].content?.parts)n.functionCall&&t.push(n.functionCall);if(t.length>0)return t}var re=[c.RECITATION,c.SAFETY,c.LANGUAGE];function j(e){return!!e.finishReason&&re.includes(e.finishReason)}function M(e){let t=``;if((!e.candidates||e.candidates.length===0)&&e.promptFeedback)t+=`Response was blocked`,e.promptFeedback?.blockReason&&(t+=` due to ${e.promptFeedback.blockReason}`),e.promptFeedback?.blockReasonMessage&&(t+=`: ${e.promptFeedback.blockReasonMessage}`);else if(e.candidates?.[0]){let n=e.candidates[0];j(n)&&(t+=`Candidate was blocked due to ${n.finishReason}`,n.finishMessage&&(t+=`: ${n.finishMessage}`))}return t}function N(e){return this instanceof N?(this.v=e,this):new N(e)}function P(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},o(`next`),o(`throw`),o(`return`),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||s(e,t)})})}function s(e,t){try{c(r[e](t))}catch(e){d(a[0][3],e)}}function c(e){e.value instanceof N?Promise.resolve(e.value.v).then(l,u):d(a[0][2],e)}function l(e){s(`next`,e)}function u(e){s(`throw`,e)}function d(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}var F=/^data\: (.*)(?:\n\n|\r\r|\r\n\r\n)/;function I(e){let[t,n]=z(e.body.pipeThrough(new TextDecoderStream(`utf8`,{fatal:!0}))).tee();return{stream:R(t),response:L(n)}}async function L(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)return O(B(t));t.push(r)}}function R(e){return P(this,arguments,function*(){let t=e.getReader();for(;;){let{value:e,done:n}=yield N(t.read());if(n)break;yield yield N(O(e))}})}function z(e){let t=e.getReader();return new ReadableStream({start(e){let n=``;return r();function r(){return t.read().then(({value:t,done:i})=>{if(i){if(n.trim()){e.error(new f(`Failed to parse stream`));return}e.close();return}n+=t;let a=n.match(F),o;for(;a;){try{o=JSON.parse(a[1])}catch{e.error(new f(`Error parsing JSON response: "${a[1]}"`));return}e.enqueue(o),n=n.substring(a[0].length),a=n.match(F)}return r()}).catch(e=>{let t=e;throw t.stack=e.stack,t=t.name===`AbortError`?new g(`Request aborted when reading from the stream`):new f(`Error reading from the stream`),t})}}})}function B(e){let t={promptFeedback:e[e.length-1]?.promptFeedback};for(let n of e){if(n.candidates){let e=0;for(let r of n.candidates)if(t.candidates||=[],t.candidates[e]||(t.candidates[e]={index:e}),t.candidates[e].citationMetadata=r.citationMetadata,t.candidates[e].groundingMetadata=r.groundingMetadata,t.candidates[e].finishReason=r.finishReason,t.candidates[e].finishMessage=r.finishMessage,t.candidates[e].safetyRatings=r.safetyRatings,r.content&&r.content.parts){t.candidates[e].content||(t.candidates[e].content={role:r.content.role||`user`,parts:[]});let n={};for(let i of r.content.parts)i.text&&(n.text=i.text),i.functionCall&&(n.functionCall=i.functionCall),i.executableCode&&(n.executableCode=i.executableCode),i.codeExecutionResult&&(n.codeExecutionResult=i.codeExecutionResult),Object.keys(n).length===0&&(n.text=``),t.candidates[e].content.parts.push(n)}e++}n.usageMetadata&&(t.usageMetadata=n.usageMetadata)}return t}async function V(e,t,n,r){return I(await C(t,y.STREAM_GENERATE_CONTENT,e,!0,JSON.stringify(n),r))}async function H(e,t,n,r){return{response:O(await(await C(t,y.GENERATE_CONTENT,e,!1,JSON.stringify(n),r)).json())}}function U(e){if(e!=null){if(typeof e==`string`)return{role:`system`,parts:[{text:e}]};if(e.text)return{role:`system`,parts:[e]};if(e.parts)return e.role?e:{role:`system`,parts:e.parts}}}function W(e){let t=[];if(typeof e==`string`)t=[{text:e}];else for(let n of e)typeof n==`string`?t.push({text:n}):t.push(n);return G(t)}function G(e){let t={role:`user`,parts:[]},n={role:`function`,parts:[]},r=!1,i=!1;for(let a of e)`functionResponse`in a?(n.parts.push(a),i=!0):(t.parts.push(a),r=!0);if(r&&i)throw new f(`Within a single message, FunctionResponse cannot be mixed with other type of part in the request for sending chat message.`);if(!r&&!i)throw new f(`No content is provided for sending chat message.`);return r?t:n}function K(e,t){let n={model:t?.model,generationConfig:t?.generationConfig,safetySettings:t?.safetySettings,tools:t?.tools,toolConfig:t?.toolConfig,systemInstruction:t?.systemInstruction,cachedContent:t?.cachedContent?.name,contents:[]},r=e.generateContentRequest!=null;if(e.contents){if(r)throw new h(`CountTokensRequest must have one of contents or generateContentRequest, not both.`);n.contents=e.contents}else if(r)n=Object.assign(Object.assign({},n),e.generateContentRequest);else{let t=W(e);n.contents=[t]}return{generateContentRequest:n}}function q(e){let t;return t=e.contents?e:{contents:[W(e)]},e.systemInstruction&&(t.systemInstruction=U(e.systemInstruction)),t}function J(e){return typeof e==`string`||Array.isArray(e)?{content:W(e)}:e}var Y=[`text`,`inlineData`,`functionCall`,`functionResponse`,`executableCode`,`codeExecutionResult`],ie={user:[`text`,`inlineData`],function:[`functionResponse`],model:[`text`,`functionCall`,`executableCode`,`codeExecutionResult`],system:[`text`]};function ae(e){let t=!1;for(let n of e){let{role:e,parts:i}=n;if(!t&&e!==`user`)throw new f(`First content should be with role 'user', got ${e}`);if(!r.includes(e))throw new f(`Each item should include role field. Got ${e} but valid roles are: ${JSON.stringify(r)}`);if(!Array.isArray(i))throw new f(`Content should have 'parts' property with an array of Parts`);if(i.length===0)throw new f(`Each Content should have at least one part`);let a={text:0,inlineData:0,functionCall:0,functionResponse:0,fileData:0,executableCode:0,codeExecutionResult:0};for(let e of i)for(let t of Y)t in e&&(a[t]+=1);let o=ie[e];for(let t of Y)if(!o.includes(t)&&a[t]>0)throw new f(`Content with role '${e}' can't contain '${t}' part`);t=!0}}function X(e){if(e.candidates===void 0||e.candidates.length===0)return!1;let t=e.candidates[0]?.content;if(t===void 0||t.parts===void 0||t.parts.length===0)return!1;for(let e of t.parts)if(e===void 0||Object.keys(e).length===0||e.text!==void 0&&e.text===``)return!1;return!0}var Z=`SILENT_ERROR`,Q=class{constructor(e,t,n,r={}){this.model=t,this.params=n,this._requestOptions=r,this._history=[],this._sendPromise=Promise.resolve(),this._apiKey=e,n?.history&&(ae(n.history),this._history=n.history)}async getHistory(){return await this._sendPromise,this._history}async sendMessage(e,t={}){await this._sendPromise;let n=W(e),r={safetySettings:this.params?.safetySettings,generationConfig:this.params?.generationConfig,tools:this.params?.tools,toolConfig:this.params?.toolConfig,systemInstruction:this.params?.systemInstruction,cachedContent:this.params?.cachedContent,contents:[...this._history,n]},i=Object.assign(Object.assign({},this._requestOptions),t),a;return this._sendPromise=this._sendPromise.then(()=>H(this._apiKey,this.model,r,i)).then(e=>{if(X(e.response)){this._history.push(n);let t=Object.assign({parts:[],role:`model`},e.response.candidates?.[0].content);this._history.push(t)}else{let t=M(e.response);t&&console.warn(`sendMessage() was unsuccessful. ${t}. Inspect response object for details.`)}a=e}).catch(e=>{throw this._sendPromise=Promise.resolve(),e}),await this._sendPromise,a}async sendMessageStream(e,t={}){await this._sendPromise;let n=W(e),r={safetySettings:this.params?.safetySettings,generationConfig:this.params?.generationConfig,tools:this.params?.tools,toolConfig:this.params?.toolConfig,systemInstruction:this.params?.systemInstruction,cachedContent:this.params?.cachedContent,contents:[...this._history,n]},i=Object.assign(Object.assign({},this._requestOptions),t),a=V(this._apiKey,this.model,r,i);return this._sendPromise=this._sendPromise.then(()=>a).catch(e=>{throw Error(Z)}).then(e=>e.response).then(e=>{if(X(e)){this._history.push(n);let t=Object.assign({},e.candidates[0].content);t.role||=`model`,this._history.push(t)}else{let t=M(e);t&&console.warn(`sendMessageStream() was unsuccessful. ${t}. Inspect response object for details.`)}}).catch(e=>{e.message!==Z&&console.error(e)}),a}};async function oe(e,t,n,r){return(await C(t,y.COUNT_TOKENS,e,!1,JSON.stringify(n),r)).json()}async function se(e,t,n,r){return(await C(t,y.EMBED_CONTENT,e,!1,JSON.stringify(n),r)).json()}async function ce(e,t,n,r){let i=n.requests.map(e=>Object.assign(Object.assign({},e),{model:t}));return(await C(t,y.BATCH_EMBED_CONTENTS,e,!1,JSON.stringify({requests:i}),r)).json()}var $=class{constructor(e,t,n={}){this.apiKey=e,this._requestOptions=n,t.model.includes(`/`)?this.model=t.model:this.model=`models/${t.model}`,this.generationConfig=t.generationConfig||{},this.safetySettings=t.safetySettings||[],this.tools=t.tools,this.toolConfig=t.toolConfig,this.systemInstruction=U(t.systemInstruction),this.cachedContent=t.cachedContent}async generateContent(e,t={}){let n=q(e),r=Object.assign(Object.assign({},this._requestOptions),t);return H(this.apiKey,this.model,Object.assign({generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent?.name},n),r)}async generateContentStream(e,t={}){let n=q(e),r=Object.assign(Object.assign({},this._requestOptions),t);return V(this.apiKey,this.model,Object.assign({generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent?.name},n),r)}startChat(e){return new Q(this.apiKey,this.model,Object.assign({generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent?.name},e),this._requestOptions)}async countTokens(e,t={}){let n=K(e,{model:this.model,generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent}),r=Object.assign(Object.assign({},this._requestOptions),t);return oe(this.apiKey,this.model,n,r)}async embedContent(e,t={}){let n=J(e),r=Object.assign(Object.assign({},this._requestOptions),t);return se(this.apiKey,this.model,n,r)}async batchEmbedContents(e,t={}){let n=Object.assign(Object.assign({},this._requestOptions),t);return ce(this.apiKey,this.model,e,n)}},le=class{constructor(e){this.apiKey=e}getGenerativeModel(e,t){if(!e.model)throw new f(`Must provide a model name. Example: genai.getGenerativeModel({ model: 'my-model-name' })`);return new $(this.apiKey,e,t)}getGenerativeModelFromCachedContent(e,t,n){if(!e.name)throw new h("Cached content must contain a `name` field.");if(!e.model)throw new h("Cached content must contain a `model` field.");for(let n of[`model`,`systemInstruction`])if(t?.[n]&&e[n]&&t?.[n]!==e[n]){if(n===`model`&&(t.model.startsWith(`models/`)?t.model.replace(`models/`,``):t.model)===(e.model.startsWith(`models/`)?e.model.replace(`models/`,``):e.model))continue;throw new h(`Different value for "${n}" specified in modelParams (${t[n]}) and cachedContent (${e[n]})`)}let r=Object.assign(Object.assign({},t),{model:e.model,tools:e.tools,toolConfig:e.toolConfig,systemInstruction:e.systemInstruction,cachedContent:e});return new $(this.apiKey,r,n)}};Object.defineProperty(exports,"BlockReason",{enumerable:!0,get:function(){return s}}),exports.ChatSession=Q,Object.defineProperty(exports,"DynamicRetrievalMode",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"ExecutableCodeLanguage",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"FinishReason",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"FunctionCallingMode",{enumerable:!0,get:function(){return u}}),exports.GenerativeModel=$,exports.GoogleGenerativeAI=le,exports.GoogleGenerativeAIAbortError=g,exports.GoogleGenerativeAIError=f,exports.GoogleGenerativeAIFetchError=m,exports.GoogleGenerativeAIRequestInputError=h,exports.GoogleGenerativeAIResponseError=p,Object.defineProperty(exports,"HarmBlockThreshold",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"HarmCategory",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"HarmProbability",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"Outcome",{enumerable:!0,get:function(){return n}}),exports.POSSIBLE_ROLES=r,Object.defineProperty(exports,"SchemaType",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"TaskType",{enumerable:!0,get:function(){return l}});
|
|
1
|
+
var e;(function(e){e.STRING=`string`,e.NUMBER=`number`,e.INTEGER=`integer`,e.BOOLEAN=`boolean`,e.ARRAY=`array`,e.OBJECT=`object`})(e||={});var t;(function(e){e.LANGUAGE_UNSPECIFIED=`language_unspecified`,e.PYTHON=`python`})(t||={});var n;(function(e){e.OUTCOME_UNSPECIFIED=`outcome_unspecified`,e.OUTCOME_OK=`outcome_ok`,e.OUTCOME_FAILED=`outcome_failed`,e.OUTCOME_DEADLINE_EXCEEDED=`outcome_deadline_exceeded`})(n||={});var r=[`user`,`model`,`function`,`system`],i;(function(e){e.HARM_CATEGORY_UNSPECIFIED=`HARM_CATEGORY_UNSPECIFIED`,e.HARM_CATEGORY_HATE_SPEECH=`HARM_CATEGORY_HATE_SPEECH`,e.HARM_CATEGORY_SEXUALLY_EXPLICIT=`HARM_CATEGORY_SEXUALLY_EXPLICIT`,e.HARM_CATEGORY_HARASSMENT=`HARM_CATEGORY_HARASSMENT`,e.HARM_CATEGORY_DANGEROUS_CONTENT=`HARM_CATEGORY_DANGEROUS_CONTENT`,e.HARM_CATEGORY_CIVIC_INTEGRITY=`HARM_CATEGORY_CIVIC_INTEGRITY`})(i||={});var a;(function(e){e.HARM_BLOCK_THRESHOLD_UNSPECIFIED=`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,e.BLOCK_LOW_AND_ABOVE=`BLOCK_LOW_AND_ABOVE`,e.BLOCK_MEDIUM_AND_ABOVE=`BLOCK_MEDIUM_AND_ABOVE`,e.BLOCK_ONLY_HIGH=`BLOCK_ONLY_HIGH`,e.BLOCK_NONE=`BLOCK_NONE`})(a||={});var o;(function(e){e.HARM_PROBABILITY_UNSPECIFIED=`HARM_PROBABILITY_UNSPECIFIED`,e.NEGLIGIBLE=`NEGLIGIBLE`,e.LOW=`LOW`,e.MEDIUM=`MEDIUM`,e.HIGH=`HIGH`})(o||={});var s;(function(e){e.BLOCKED_REASON_UNSPECIFIED=`BLOCKED_REASON_UNSPECIFIED`,e.SAFETY=`SAFETY`,e.OTHER=`OTHER`})(s||={});var c;(function(e){e.FINISH_REASON_UNSPECIFIED=`FINISH_REASON_UNSPECIFIED`,e.STOP=`STOP`,e.MAX_TOKENS=`MAX_TOKENS`,e.SAFETY=`SAFETY`,e.RECITATION=`RECITATION`,e.LANGUAGE=`LANGUAGE`,e.BLOCKLIST=`BLOCKLIST`,e.PROHIBITED_CONTENT=`PROHIBITED_CONTENT`,e.SPII=`SPII`,e.MALFORMED_FUNCTION_CALL=`MALFORMED_FUNCTION_CALL`,e.OTHER=`OTHER`})(c||={});var l;(function(e){e.TASK_TYPE_UNSPECIFIED=`TASK_TYPE_UNSPECIFIED`,e.RETRIEVAL_QUERY=`RETRIEVAL_QUERY`,e.RETRIEVAL_DOCUMENT=`RETRIEVAL_DOCUMENT`,e.SEMANTIC_SIMILARITY=`SEMANTIC_SIMILARITY`,e.CLASSIFICATION=`CLASSIFICATION`,e.CLUSTERING=`CLUSTERING`})(l||={});var u;(function(e){e.MODE_UNSPECIFIED=`MODE_UNSPECIFIED`,e.AUTO=`AUTO`,e.ANY=`ANY`,e.NONE=`NONE`})(u||={});var d;(function(e){e.MODE_UNSPECIFIED=`MODE_UNSPECIFIED`,e.MODE_DYNAMIC=`MODE_DYNAMIC`})(d||={});var f=class extends Error{constructor(e){super(`[GoogleGenerativeAI Error]: ${e}`)}},p=class extends f{constructor(e,t){super(e),this.response=t}},m=class extends f{constructor(e,t,n,r){super(e),this.status=t,this.statusText=n,this.errorDetails=r}},h=class extends f{},g=class extends f{},ee=`https://generativelanguage.googleapis.com`,_=`v1beta`,v=`0.24.1`,te=`genai-js`,y;(function(e){e.GENERATE_CONTENT=`generateContent`,e.STREAM_GENERATE_CONTENT=`streamGenerateContent`,e.COUNT_TOKENS=`countTokens`,e.EMBED_CONTENT=`embedContent`,e.BATCH_EMBED_CONTENTS=`batchEmbedContents`})(y||={});var b=class{constructor(e,t,n,r,i){this.model=e,this.task=t,this.apiKey=n,this.stream=r,this.requestOptions=i}toString(){let e=this.requestOptions?.apiVersion||_,t=`${this.requestOptions?.baseUrl||ee}/${e}/${this.model}:${this.task}`;return this.stream&&(t+=`?alt=sse`),t}};function x(e){let t=[];return e?.apiClient&&t.push(e.apiClient),t.push(`${te}/${v}`),t.join(` `)}async function S(e){let t=new Headers;t.append(`Content-Type`,`application/json`),t.append(`x-goog-api-client`,x(e.requestOptions)),t.append(`x-goog-api-key`,e.apiKey);let n=e.requestOptions?.customHeaders;if(n){if(!(n instanceof Headers))try{n=new Headers(n)}catch(e){throw new h(`unable to convert customHeaders value ${JSON.stringify(n)} to Headers: ${e.message}`)}for(let[e,r]of n.entries()){if(e===`x-goog-api-key`)throw new h(`Cannot set reserved header name ${e}`);if(e===`x-goog-api-client`)throw new h(`Header name ${e} can only be set using the apiClient field`);t.append(e,r)}}return t}async function ne(e,t,n,r,i,a){let o=new b(e,t,n,r,a);return{url:o.toString(),fetchOptions:Object.assign(Object.assign({},D(a)),{method:`POST`,headers:await S(o),body:i})}}async function C(e,t,n,r,i,a={},o=fetch){let{url:s,fetchOptions:c}=await ne(e,t,n,r,i,a);return w(s,c,o)}async function w(e,t,n=fetch){let r;try{r=await n(e,t)}catch(t){T(t,e)}return r.ok||await E(r,e),r}function T(e,t){let n=e;throw n.name===`AbortError`?(n=new g(`Request aborted when fetching ${t.toString()}: ${e.message}`),n.stack=e.stack):e instanceof m||e instanceof h||(n=new f(`Error fetching from ${t.toString()}: ${e.message}`),n.stack=e.stack),n}async function E(e,t){let n=``,r;try{let t=await e.json();n=t.error.message,t.error.details&&(n+=` ${JSON.stringify(t.error.details)}`,r=t.error.details)}catch{}throw new m(`Error fetching from ${t.toString()}: [${e.status} ${e.statusText}] ${n}`,e.status,e.statusText,r)}function D(e){let t={};if(e?.signal!==void 0||e?.timeout>=0){let n=new AbortController;e?.timeout>=0&&setTimeout(()=>n.abort(),e.timeout),e?.signal&&e.signal.addEventListener(`abort`,()=>{n.abort()}),t.signal=n.signal}return t}function O(e){return e.text=()=>{if(e.candidates&&e.candidates.length>0){if(e.candidates.length>1&&console.warn(`This response had ${e.candidates.length} candidates. Returning text from the first candidate only. Access response.candidates directly to use the other candidates.`),j(e.candidates[0]))throw new p(`${M(e)}`,e);return k(e)}if(e.promptFeedback)throw new p(`Text not available. ${M(e)}`,e);return``},e.functionCall=()=>{if(e.candidates&&e.candidates.length>0){if(e.candidates.length>1&&console.warn(`This response had ${e.candidates.length} candidates. Returning function calls from the first candidate only. Access response.candidates directly to use the other candidates.`),j(e.candidates[0]))throw new p(`${M(e)}`,e);return console.warn(`response.functionCall() is deprecated. Use response.functionCalls() instead.`),A(e)[0]}if(e.promptFeedback)throw new p(`Function call not available. ${M(e)}`,e)},e.functionCalls=()=>{if(e.candidates&&e.candidates.length>0){if(e.candidates.length>1&&console.warn(`This response had ${e.candidates.length} candidates. Returning function calls from the first candidate only. Access response.candidates directly to use the other candidates.`),j(e.candidates[0]))throw new p(`${M(e)}`,e);return A(e)}if(e.promptFeedback)throw new p(`Function call not available. ${M(e)}`,e)},e}function k(e){let t=[];if(e.candidates?.[0].content?.parts)for(let n of e.candidates?.[0].content?.parts)n.text&&t.push(n.text),n.executableCode&&t.push("\n```"+n.executableCode.language+`
|
|
2
|
+
`+n.executableCode.code+"\n```\n"),n.codeExecutionResult&&t.push("\n```\n"+n.codeExecutionResult.output+"\n```\n");return t.length>0?t.join(``):``}function A(e){let t=[];if(e.candidates?.[0].content?.parts)for(let n of e.candidates?.[0].content?.parts)n.functionCall&&t.push(n.functionCall);if(t.length>0)return t}var re=[c.RECITATION,c.SAFETY,c.LANGUAGE];function j(e){return!!e.finishReason&&re.includes(e.finishReason)}function M(e){let t=``;if((!e.candidates||e.candidates.length===0)&&e.promptFeedback)t+=`Response was blocked`,e.promptFeedback?.blockReason&&(t+=` due to ${e.promptFeedback.blockReason}`),e.promptFeedback?.blockReasonMessage&&(t+=`: ${e.promptFeedback.blockReasonMessage}`);else if(e.candidates?.[0]){let n=e.candidates[0];j(n)&&(t+=`Candidate was blocked due to ${n.finishReason}`,n.finishMessage&&(t+=`: ${n.finishMessage}`))}return t}function N(e){return this instanceof N?(this.v=e,this):new N(e)}function P(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},o(`next`),o(`throw`),o(`return`),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||s(e,t)})})}function s(e,t){try{c(r[e](t))}catch(e){d(a[0][3],e)}}function c(e){e.value instanceof N?Promise.resolve(e.value.v).then(l,u):d(a[0][2],e)}function l(e){s(`next`,e)}function u(e){s(`throw`,e)}function d(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}var F=/^data\: (.*)(?:\n\n|\r\r|\r\n\r\n)/;function I(e){let[t,n]=z(e.body.pipeThrough(new TextDecoderStream(`utf8`,{fatal:!0}))).tee();return{stream:R(t),response:L(n)}}async function L(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)return O(B(t));t.push(r)}}function R(e){return P(this,arguments,function*(){let t=e.getReader();for(;;){let{value:e,done:n}=yield N(t.read());if(n)break;yield yield N(O(e))}})}function z(e){let t=e.getReader();return new ReadableStream({start(e){let n=``;return r();function r(){return t.read().then(({value:t,done:i})=>{if(i){if(n.trim()){e.error(new f(`Failed to parse stream`));return}e.close();return}n+=t;let a=n.match(F),o;for(;a;){try{o=JSON.parse(a[1])}catch{e.error(new f(`Error parsing JSON response: "${a[1]}"`));return}e.enqueue(o),n=n.substring(a[0].length),a=n.match(F)}return r()}).catch(e=>{let t=e;throw t.stack=e.stack,t=t.name===`AbortError`?new g(`Request aborted when reading from the stream`):new f(`Error reading from the stream`),t})}}})}function B(e){let t={promptFeedback:e[e.length-1]?.promptFeedback};for(let n of e){if(n.candidates){let e=0;for(let r of n.candidates)if(t.candidates||=[],t.candidates[e]||(t.candidates[e]={index:e}),t.candidates[e].citationMetadata=r.citationMetadata,t.candidates[e].groundingMetadata=r.groundingMetadata,t.candidates[e].finishReason=r.finishReason,t.candidates[e].finishMessage=r.finishMessage,t.candidates[e].safetyRatings=r.safetyRatings,r.content&&r.content.parts){t.candidates[e].content||(t.candidates[e].content={role:r.content.role||`user`,parts:[]});let n={};for(let i of r.content.parts)i.text&&(n.text=i.text),i.functionCall&&(n.functionCall=i.functionCall),i.executableCode&&(n.executableCode=i.executableCode),i.codeExecutionResult&&(n.codeExecutionResult=i.codeExecutionResult),Object.keys(n).length===0&&(n.text=``),t.candidates[e].content.parts.push(n)}e++}n.usageMetadata&&(t.usageMetadata=n.usageMetadata)}return t}async function V(e,t,n,r){return I(await C(t,y.STREAM_GENERATE_CONTENT,e,!0,JSON.stringify(n),r))}async function H(e,t,n,r){return{response:O(await(await C(t,y.GENERATE_CONTENT,e,!1,JSON.stringify(n),r)).json())}}function U(e){if(e!=null){if(typeof e==`string`)return{role:`system`,parts:[{text:e}]};if(e.text)return{role:`system`,parts:[e]};if(e.parts)return e.role?e:{role:`system`,parts:e.parts}}}function W(e){let t=[];if(typeof e==`string`)t=[{text:e}];else for(let n of e)typeof n==`string`?t.push({text:n}):t.push(n);return G(t)}function G(e){let t={role:`user`,parts:[]},n={role:`function`,parts:[]},r=!1,i=!1;for(let a of e)`functionResponse`in a?(n.parts.push(a),i=!0):(t.parts.push(a),r=!0);if(r&&i)throw new f(`Within a single message, FunctionResponse cannot be mixed with other type of part in the request for sending chat message.`);if(!r&&!i)throw new f(`No content is provided for sending chat message.`);return r?t:n}function K(e,t){let n={model:t?.model,generationConfig:t?.generationConfig,safetySettings:t?.safetySettings,tools:t?.tools,toolConfig:t?.toolConfig,systemInstruction:t?.systemInstruction,cachedContent:t?.cachedContent?.name,contents:[]},r=e.generateContentRequest!=null;if(e.contents){if(r)throw new h(`CountTokensRequest must have one of contents or generateContentRequest, not both.`);n.contents=e.contents}else if(r)n=Object.assign(Object.assign({},n),e.generateContentRequest);else{let t=W(e);n.contents=[t]}return{generateContentRequest:n}}function q(e){let t;return t=e.contents?e:{contents:[W(e)]},e.systemInstruction&&(t.systemInstruction=U(e.systemInstruction)),t}function J(e){return typeof e==`string`||Array.isArray(e)?{content:W(e)}:e}var Y=[`text`,`inlineData`,`functionCall`,`functionResponse`,`executableCode`,`codeExecutionResult`],ie={user:[`text`,`inlineData`],function:[`functionResponse`],model:[`text`,`functionCall`,`executableCode`,`codeExecutionResult`],system:[`text`]};function ae(e){let t=!1;for(let n of e){let{role:e,parts:i}=n;if(!t&&e!==`user`)throw new f(`First content should be with role 'user', got ${e}`);if(!r.includes(e))throw new f(`Each item should include role field. Got ${e} but valid roles are: ${JSON.stringify(r)}`);if(!Array.isArray(i))throw new f(`Content should have 'parts' property with an array of Parts`);if(i.length===0)throw new f(`Each Content should have at least one part`);let a={text:0,inlineData:0,functionCall:0,functionResponse:0,fileData:0,executableCode:0,codeExecutionResult:0};for(let e of i)for(let t of Y)t in e&&(a[t]+=1);let o=ie[e];for(let t of Y)if(!o.includes(t)&&a[t]>0)throw new f(`Content with role '${e}' can't contain '${t}' part`);t=!0}}function X(e){if(e.candidates===void 0||e.candidates.length===0)return!1;let t=e.candidates[0]?.content;if(t===void 0||t.parts===void 0||t.parts.length===0)return!1;for(let e of t.parts)if(e===void 0||Object.keys(e).length===0||e.text!==void 0&&e.text===``)return!1;return!0}var Z=`SILENT_ERROR`,Q=class{constructor(e,t,n,r={}){this.model=t,this.params=n,this._requestOptions=r,this._history=[],this._sendPromise=Promise.resolve(),this._apiKey=e,n?.history&&(ae(n.history),this._history=n.history)}async getHistory(){return await this._sendPromise,this._history}async sendMessage(e,t={}){await this._sendPromise;let n=W(e),r={safetySettings:this.params?.safetySettings,generationConfig:this.params?.generationConfig,tools:this.params?.tools,toolConfig:this.params?.toolConfig,systemInstruction:this.params?.systemInstruction,cachedContent:this.params?.cachedContent,contents:[...this._history,n]},i=Object.assign(Object.assign({},this._requestOptions),t),a;return this._sendPromise=this._sendPromise.then(()=>H(this._apiKey,this.model,r,i)).then(e=>{if(X(e.response)){this._history.push(n);let t=Object.assign({parts:[],role:`model`},e.response.candidates?.[0].content);this._history.push(t)}else{let t=M(e.response);t&&console.warn(`sendMessage() was unsuccessful. ${t}. Inspect response object for details.`)}a=e}).catch(e=>{throw this._sendPromise=Promise.resolve(),e}),await this._sendPromise,a}async sendMessageStream(e,t={}){await this._sendPromise;let n=W(e),r={safetySettings:this.params?.safetySettings,generationConfig:this.params?.generationConfig,tools:this.params?.tools,toolConfig:this.params?.toolConfig,systemInstruction:this.params?.systemInstruction,cachedContent:this.params?.cachedContent,contents:[...this._history,n]},i=Object.assign(Object.assign({},this._requestOptions),t),a=V(this._apiKey,this.model,r,i);return this._sendPromise=this._sendPromise.then(()=>a).catch(e=>{throw Error(Z)}).then(e=>e.response).then(e=>{if(X(e)){this._history.push(n);let t=Object.assign({},e.candidates[0].content);t.role||=`model`,this._history.push(t)}else{let t=M(e);t&&console.warn(`sendMessageStream() was unsuccessful. ${t}. Inspect response object for details.`)}}).catch(e=>{e.message!==Z&&console.error(e)}),a}};async function oe(e,t,n,r){return(await C(t,y.COUNT_TOKENS,e,!1,JSON.stringify(n),r)).json()}async function se(e,t,n,r){return(await C(t,y.EMBED_CONTENT,e,!1,JSON.stringify(n),r)).json()}async function ce(e,t,n,r){let i=n.requests.map(e=>Object.assign(Object.assign({},e),{model:t}));return(await C(t,y.BATCH_EMBED_CONTENTS,e,!1,JSON.stringify({requests:i}),r)).json()}var $=class{constructor(e,t,n={}){this.apiKey=e,this._requestOptions=n,this.model=t.model.includes(`/`)?t.model:`models/${t.model}`,this.generationConfig=t.generationConfig||{},this.safetySettings=t.safetySettings||[],this.tools=t.tools,this.toolConfig=t.toolConfig,this.systemInstruction=U(t.systemInstruction),this.cachedContent=t.cachedContent}async generateContent(e,t={}){let n=q(e),r=Object.assign(Object.assign({},this._requestOptions),t);return H(this.apiKey,this.model,Object.assign({generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent?.name},n),r)}async generateContentStream(e,t={}){let n=q(e),r=Object.assign(Object.assign({},this._requestOptions),t);return V(this.apiKey,this.model,Object.assign({generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent?.name},n),r)}startChat(e){return new Q(this.apiKey,this.model,Object.assign({generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent?.name},e),this._requestOptions)}async countTokens(e,t={}){let n=K(e,{model:this.model,generationConfig:this.generationConfig,safetySettings:this.safetySettings,tools:this.tools,toolConfig:this.toolConfig,systemInstruction:this.systemInstruction,cachedContent:this.cachedContent}),r=Object.assign(Object.assign({},this._requestOptions),t);return oe(this.apiKey,this.model,n,r)}async embedContent(e,t={}){let n=J(e),r=Object.assign(Object.assign({},this._requestOptions),t);return se(this.apiKey,this.model,n,r)}async batchEmbedContents(e,t={}){let n=Object.assign(Object.assign({},this._requestOptions),t);return ce(this.apiKey,this.model,e,n)}},le=class{constructor(e){this.apiKey=e}getGenerativeModel(e,t){if(!e.model)throw new f(`Must provide a model name. Example: genai.getGenerativeModel({ model: 'my-model-name' })`);return new $(this.apiKey,e,t)}getGenerativeModelFromCachedContent(e,t,n){if(!e.name)throw new h("Cached content must contain a `name` field.");if(!e.model)throw new h("Cached content must contain a `model` field.");for(let n of[`model`,`systemInstruction`])if(t?.[n]&&e[n]&&t?.[n]!==e[n]){if(n===`model`&&(t.model.startsWith(`models/`)?t.model.replace(`models/`,``):t.model)===(e.model.startsWith(`models/`)?e.model.replace(`models/`,``):e.model))continue;throw new h(`Different value for "${n}" specified in modelParams (${t[n]}) and cachedContent (${e[n]})`)}let r=Object.assign(Object.assign({},t),{model:e.model,tools:e.tools,toolConfig:e.toolConfig,systemInstruction:e.systemInstruction,cachedContent:e});return new $(this.apiKey,r,n)}};Object.defineProperty(exports,"BlockReason",{enumerable:!0,get:function(){return s}}),exports.ChatSession=Q,Object.defineProperty(exports,"DynamicRetrievalMode",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"ExecutableCodeLanguage",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"FinishReason",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"FunctionCallingMode",{enumerable:!0,get:function(){return u}}),exports.GenerativeModel=$,exports.GoogleGenerativeAI=le,exports.GoogleGenerativeAIAbortError=g,exports.GoogleGenerativeAIError=f,exports.GoogleGenerativeAIFetchError=m,exports.GoogleGenerativeAIRequestInputError=h,exports.GoogleGenerativeAIResponseError=p,Object.defineProperty(exports,"HarmBlockThreshold",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"HarmCategory",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"HarmProbability",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"Outcome",{enumerable:!0,get:function(){return n}}),exports.POSSIBLE_ROLES=r,Object.defineProperty(exports,"SchemaType",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"TaskType",{enumerable:!0,get:function(){return l}});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-DJ0_72_G.cjs"),t=require("../compiler-CGJQlQ6Q.cjs"),n=require("../mcp-transport-n1r1Kqzn.cjs"),r=require("../core-FpI2NfHt.cjs");let i=require("express");i=e.j(i,1);let a=require("cors");a=e.j(a,1);function o(e,t){return{getHeader:t=>e.get(t),getBody:async()=>e.body,getQueryParam:t=>e.query[t],send:(e,n)=>t.status(e).json(n),setHeader:(e,n)=>{t.setHeader(e,n)},sendEmpty:e=>t.status(e).end(),sendSse:(e,n)=>(t.status(e),t.setHeader(`Content-Type`,`text/event-stream`),t.setHeader(`Cache-Control`,`no-cache`),t.setHeader(`Connection`,`keep-alive`),t.write(n),t.end())}}function s(s){let{cubes:c,drizzle:l,schema:u,extractSecurityContext:d,engineType:f,cors:p,basePath:m=`/cubejs-api/v1`,jsonLimit:h=`10mb`,cache:g,mcp:_={enabled:!0},agent:v}=s;if(!c||c.length===0)throw Error(`At least one cube must be provided in the cubes array`);let y=(0,i.Router)();if(p){let e={...p,allowedHeaders:r.i(p.allowedHeaders)};y.use((0,a.default)(e))}y.use(i.default.json({limit:h})),y.use(i.default.urlencoded({extended:!0,limit:h}));let b=new t.t({drizzle:l,schema:u,engineType:f,cache:g,rlsSetup:s.rlsSetup});c.forEach(e=>{b.registerCube(e)});let x=r.t({semanticLayer:b,onError:e=>console.error(`Query execution error:`,e),mcp:_}),S=(e,t)=>()=>d(e,t);if(y.post(`${m}/load`,async(e,t)=>{await x.handleLoadPost(o(e,t),S(e,t))}),y.get(`${m}/load`,async(e,t)=>{await x.handleLoadGet(o(e,t),S(e,t))}),y.post(`${m}/batch`,async(e,t)=>{await x.handleBatchPost(o(e,t),S(e,t))}),y.get(`${m}/meta`,(e,t)=>{x.handleMetaGet(o(e,t))}),y.post(`${m}/sql`,async(e,t)=>{await x.handleSqlPost(o(e,t),S(e,t))}),y.get(`${m}/sql`,async(e,t)=>{await x.handleSqlGet(o(e,t),S(e,t))}),y.post(`${m}/dry-run`,async(e,t)=>{await x.handleDryRunPost(o(e,t),S(e,t))}),y.get(`${m}/dry-run`,async(e,t)=>{await x.handleDryRunGet(o(e,t),S(e,t))}),y.post(`${m}/explain`,async(e,t)=>{await x.handleExplainPost(o(e,t),S(e,t))}),v&&y.post(`${m}/agent/chat`,async(e,t)=>{try{let{handleAgentChat:n}=await Promise.resolve().then(()=>require("../handler-g8k2CZG2.cjs")),{message:i,sessionId:a,history:o}=e.body;if(!i||typeof i!=`string`)return t.status(400).json({error:`message is required and must be a string`});let s=(v.apiKey||``).trim();if(v.allowClientApiKey){let t=e.headers[`x-agent-api-key`];t&&(s=t.trim())}if(!s)return t.status(401).json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`});let c=v.allowClientApiKey?e.headers[`x-agent-provider`]:void 0,l=v.allowClientApiKey?e.headers[`x-agent-model`]:void 0,u=v.allowClientApiKey?e.headers[`x-agent-provider-endpoint`]:void 0,f=r.r(await d(e,t),t=>e.get(t)),p=v.buildSystemContext?.(f);t.writeHead(200,{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});try{let e=n({message:i,sessionId:a,history:o,semanticLayer:b,securityContext:f,agentConfig:v,apiKey:s,systemContext:p,providerOverride:c,modelOverride:l,baseURLOverride:u});for await(let n of e)t.write(`data: ${JSON.stringify(n)}\n\n`)}catch(e){let n={type:`error`,data:{message:e instanceof Error?e.message:`Stream failed`}};t.write(`data: ${JSON.stringify(n)}\n\n`)}finally{t.end()}}catch(e){console.error(`Agent chat error:`,e),t.headersSent||t.status(500).json({error:e instanceof Error?e.message:`Agent chat failed`})}}),_.enabled!==!1){let e=_.basePath??`/mcp`;y.post(`${e}`,async(e,t)=>{await x.handleMcpPost(o(e,t),S(e,t))}),y.get(`${e}`,async(e,t)=>{let r=n.C(e.headers.origin,n.g(_));if(!r.valid)return t.status(403).json({error:r.reason});if(_.resourceMetadataUrl&&!n.u(e.headers.authorization))return t.setHeader(`WWW-Authenticate`,n.c(_.resourceMetadataUrl)),t.status(401).json({error:`Bearer token required`});let i=n.v();t.status(200),t.setHeader(`Content-Type`,`text/event-stream`),t.setHeader(`Cache-Control`,`no-cache`),t.setHeader(`Connection`,`keep-alive`),t.write(n.x({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},i,15e3));let a=setInterval(()=>{t.write(`: keep-alive
|
|
2
2
|
|
|
3
3
|
`)},15e3);e.on(`close`,()=>{clearInterval(a)})}),y.delete(`${e}`,(e,t)=>{let r=n.C(e.headers.origin,n.g(_));return r.valid?_.resourceMetadataUrl&&!n.u(e.headers.authorization)?(t.setHeader(`WWW-Authenticate`,n.c(_.resourceMetadataUrl)),t.status(401).json({error:`Bearer token required`})):t.status(405).json({error:`Session termination not supported`}):t.status(403).json({error:r.reason})})}return y.use((t,n,r,i)=>{console.error(`Express adapter error:`,t),r.headersSent||r.status(500).json(e.i(t,500))}),y}function c(e,t){let n=s(t);return e.use(`/`,n),e}function l(e){return c((0,i.default)(),e)}exports.createCubeApp=l,exports.createCubeRouter=s,exports.mountCubeRoutes=c;
|