drizzle-cube 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/README.md +231 -106
  2. package/dist/adapters/ActivityGridChart.config-CA4DWvoH.js +2 -0
  3. package/dist/adapters/ActivityGridChart.config-DC2PXV56.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-BY4hUUJY.js +2 -0
  5. package/dist/adapters/AreaChart.config-CPwW53vL.cjs +1 -0
  6. package/dist/adapters/BarChart.config-Be-PGzp5.js +2 -0
  7. package/dist/adapters/BarChart.config-CfdsJtHY.cjs +1 -0
  8. package/dist/adapters/BoxPlotChart.config-BYwJZm4S.js +2 -0
  9. package/dist/adapters/BoxPlotChart.config-BoZN94lR.cjs +1 -0
  10. package/dist/adapters/BubbleChart.config-DX9aSqMD.js +2 -0
  11. package/dist/adapters/BubbleChart.config-ijpB_fme.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-C3iEXUN1.js +2 -0
  13. package/dist/adapters/CandlestickChart.config-DIGeboSZ.cjs +1 -0
  14. package/dist/adapters/DataTable.config-BjFTY-Md.js +2 -0
  15. package/dist/adapters/DataTable.config-ClJZRtsp.cjs +1 -0
  16. package/dist/adapters/FunnelChart.config-DYDd9Y2z.cjs +1 -0
  17. package/dist/adapters/FunnelChart.config-cVxnY9hD.js +2 -0
  18. package/dist/adapters/GaugeChart.config-BxWKW2b5.js +2 -0
  19. package/dist/adapters/GaugeChart.config-DsmevM9y.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-BhO-Wj54.js +2 -0
  21. package/dist/adapters/HeatMapChart.config-HWcgNRuG.cjs +1 -0
  22. package/dist/adapters/KpiDelta.config-D3JOnd5n.js +2 -0
  23. package/dist/adapters/KpiDelta.config-DmLmTPSH.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-CVghzBbF.cjs +1 -0
  25. package/dist/adapters/KpiNumber.config-aK-Ueuhk.js +2 -0
  26. package/dist/adapters/KpiText.config-DLl8NWit.js +2 -0
  27. package/dist/adapters/KpiText.config-DbWJ42vd.cjs +1 -0
  28. package/dist/adapters/LineChart.config-C3i3Tgro.cjs +1 -0
  29. package/dist/adapters/LineChart.config-El3XPCFT.js +2 -0
  30. package/dist/adapters/MarkdownChart.config-D39QzWHW.js +2 -0
  31. package/dist/adapters/MarkdownChart.config-e_9gUs93.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-BWQ82qcV.js +2 -0
  33. package/dist/adapters/MeasureProfileChart.config-l9WITF80.cjs +1 -0
  34. package/dist/adapters/PieChart.config-CO3Gib0h.js +2 -0
  35. package/dist/adapters/PieChart.config-yqXTNkix.cjs +1 -0
  36. package/dist/adapters/ProportionBarChart.config-B7CtjFwg.cjs +1 -0
  37. package/dist/adapters/ProportionBarChart.config-tGjQou_c.js +2 -0
  38. package/dist/adapters/RadarChart.config-B2YZnD_e.js +2 -0
  39. package/dist/adapters/RadarChart.config-DwJmHK8y.cjs +1 -0
  40. package/dist/adapters/RadialBarChart.config-B9XP-cQ1.cjs +1 -0
  41. package/dist/adapters/RadialBarChart.config-y2riBDwJ.js +2 -0
  42. package/dist/adapters/RetentionCombinedChart.config-Fzxwm_WV.cjs +1 -0
  43. package/dist/adapters/RetentionCombinedChart.config-ohy-zQbu.js +2 -0
  44. package/dist/adapters/RetentionHeatmap.config-0ykBWgUp.js +2 -0
  45. package/dist/adapters/RetentionHeatmap.config-DF_4ARr0.cjs +1 -0
  46. package/dist/adapters/SankeyChart.config-ChdkKqAn.cjs +1 -0
  47. package/dist/adapters/SankeyChart.config-Cl8kxpKq.js +2 -0
  48. package/dist/adapters/ScatterChart.config-BIqh_Z8u.cjs +1 -0
  49. package/dist/adapters/ScatterChart.config-D4v0Z_w4.js +2 -0
  50. package/dist/adapters/SunburstChart.config-CGMw6hSr.cjs +1 -0
  51. package/dist/adapters/SunburstChart.config-CmK6DVYQ.js +2 -0
  52. package/dist/adapters/TreeMapChart.config-B6WC-TVm.js +2 -0
  53. package/dist/adapters/TreeMapChart.config-q-kBddZC.cjs +1 -0
  54. package/dist/adapters/WaterfallChart.config-BiOMGjjF.cjs +1 -0
  55. package/dist/adapters/WaterfallChart.config-C_K8zN09.js +2 -0
  56. package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +1 -0
  57. package/dist/adapters/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
  58. package/dist/adapters/compiler-CGJQlQ6Q.cjs +166 -0
  59. package/dist/adapters/{compiler-ZruQ85ff.js → compiler-mz2Uudwd.js} +116 -60
  60. package/dist/adapters/core/index.cjs +1 -1
  61. package/dist/adapters/core/index.js +1 -1
  62. package/dist/adapters/{core-BMZhIzaI.js → core-4WY4M7hp.js} +8 -8
  63. package/dist/adapters/core-FpI2NfHt.cjs +1 -0
  64. package/dist/adapters/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
  65. package/dist/adapters/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
  66. package/dist/adapters/express/index.cjs +1 -1
  67. package/dist/adapters/express/index.js +5 -5
  68. package/dist/adapters/fastify/index.cjs +2 -2
  69. package/dist/adapters/fastify/index.js +10 -6
  70. package/dist/adapters/google-BhvizbFR.cjs +2 -0
  71. package/dist/adapters/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
  72. package/dist/adapters/{handler-xR2P1EI4.js → handler-PjEeNmXY.js} +230 -152
  73. package/dist/adapters/{handler-_PXp3G47.cjs → handler-g8k2CZG2.cjs} +9 -9
  74. package/dist/adapters/hono/index.cjs +1 -1
  75. package/dist/adapters/hono/index.js +26 -18
  76. package/dist/adapters/mcp-tools.cjs +1 -1
  77. package/dist/adapters/mcp-tools.js +2 -2
  78. package/dist/adapters/mcp-transport-OBc8jVG5.js +603 -0
  79. package/dist/adapters/mcp-transport-n1r1Kqzn.cjs +40 -0
  80. package/dist/adapters/nextjs/index.cjs +1 -1
  81. package/dist/adapters/nextjs/index.js +14 -11
  82. package/dist/adapters/openai-7xjDI7R2.cjs +19 -0
  83. package/dist/adapters/{openai-B6hWZk_r.js → openai-CcY2fW3E.js} +18 -17
  84. package/dist/adapters/openai-DHjN2OwG.js +9295 -0
  85. package/dist/{server/openai-C3-mjSAc.cjs → adapters/openai-DnWF0wCU.cjs} +1 -1
  86. package/dist/adapters/utils-DJ0_72_G.cjs +128 -0
  87. package/dist/adapters/{utils-U7gV5wQL.js → utils-G52pPkce.js} +51 -17
  88. package/dist/adapters/utils.cjs +1 -1
  89. package/dist/adapters/utils.js +1 -1
  90. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +20 -0
  91. package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
  92. package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
  93. package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  94. package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
  95. package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  96. package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
  97. package/dist/cjs/client/components/AgenticNotebook/index.d.ts +1 -1
  98. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  99. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  100. package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  101. package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
  102. package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  103. package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
  104. package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  105. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  106. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
  107. package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  108. package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  109. package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
  110. package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  111. package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  112. package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  113. package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
  114. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  115. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  116. package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  117. package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  118. package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
  119. package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  120. package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  121. package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
  122. package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
  123. package/dist/cjs/client/components/DashboardPortletCard.d.ts +1 -1
  124. package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
  125. package/dist/cjs/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
  126. package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +1 -1
  127. package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +5 -0
  128. package/dist/cjs/client/components/charts/AreaChart.d.ts +1 -1
  129. package/dist/cjs/client/components/charts/BarChart.d.ts +1 -1
  130. package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +1 -1
  131. package/dist/cjs/client/components/charts/BubbleChart.d.ts +1 -1
  132. package/dist/cjs/client/components/charts/CandlestickChart.d.ts +1 -1
  133. package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -1
  134. package/dist/cjs/client/components/charts/ChartSummaryHeader.d.ts +31 -0
  135. package/dist/cjs/client/components/charts/DataTable.d.ts +1 -1
  136. package/dist/cjs/client/components/charts/FunnelChart.d.ts +1 -1
  137. package/dist/cjs/client/components/charts/GaugeChart.d.ts +1 -1
  138. package/dist/cjs/client/components/charts/HeatMapChart.d.ts +1 -1
  139. package/dist/cjs/client/components/charts/KpiCompactLayout.d.ts +31 -0
  140. package/dist/cjs/client/components/charts/KpiDelta.d.ts +1 -1
  141. package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +2 -0
  142. package/dist/cjs/client/components/charts/KpiNumber.d.ts +1 -1
  143. package/dist/cjs/client/components/charts/KpiStates.d.ts +7 -2
  144. package/dist/cjs/client/components/charts/KpiText.d.ts +1 -1
  145. package/dist/cjs/client/components/charts/LineChart.d.ts +1 -1
  146. package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
  147. package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +1 -1
  148. package/dist/cjs/client/components/charts/PieChart.d.ts +1 -1
  149. package/dist/cjs/client/components/charts/ProportionBarChart.config.d.ts +10 -0
  150. package/dist/cjs/client/components/charts/ProportionBarChart.d.ts +12 -0
  151. package/dist/cjs/client/components/charts/RadarChart.d.ts +1 -1
  152. package/dist/cjs/client/components/charts/RadialBarChart.d.ts +1 -1
  153. package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  154. package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +1 -1
  155. package/dist/cjs/client/components/charts/SankeyChart.d.ts +1 -1
  156. package/dist/cjs/client/components/charts/ScatterChart.d.ts +1 -1
  157. package/dist/cjs/client/components/charts/SunburstChart.d.ts +1 -1
  158. package/dist/cjs/client/components/charts/TreeMapChart.d.ts +1 -1
  159. package/dist/cjs/client/components/charts/WaterfallChart.d.ts +1 -1
  160. package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +62 -0
  161. package/dist/cjs/client/components/charts/chartScaffolding.d.ts +29 -0
  162. package/dist/cjs/client/icons/types.d.ts +1 -0
  163. package/dist/cjs/client/types.d.ts +7 -1
  164. package/dist/cli/index.cjs +6 -5
  165. package/dist/client/charts/chartConfigHelpers.d.ts +20 -0
  166. package/dist/client/charts.js +13 -13
  167. package/dist/client/chunks/{DashboardEditModal-9o16JNF0.js → DashboardEditModal-BEG0d7wI.js} +4599 -1321
  168. package/dist/client/chunks/DashboardEditModal-BEG0d7wI.js.map +1 -0
  169. package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js +109 -0
  170. package/dist/client/chunks/ProportionBarChart-xLX6XD4W.js.map +1 -0
  171. package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js → RetentionCombinedChart-DeFz5wJh.js} +8 -8
  172. package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js.map → RetentionCombinedChart-DeFz5wJh.js.map} +1 -1
  173. package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js → RetentionHeatmap-DkJOiNwz.js} +6 -6
  174. package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js.map → RetentionHeatmap-DkJOiNwz.js.map} +1 -1
  175. package/dist/client/chunks/{analysis-builder-BDWychCW.js → analysis-builder-BWLL6ztg.js} +421 -413
  176. package/dist/client/chunks/analysis-builder-BWLL6ztg.js.map +1 -0
  177. package/dist/client/chunks/{analysis-builder-shared-DkL0e-wU.js → analysis-builder-shared-Ba3JsRNw.js} +454 -452
  178. package/dist/client/chunks/analysis-builder-shared-Ba3JsRNw.js.map +1 -0
  179. package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js → chart-activity-grid-CyVDJSAI.js} +43 -6
  180. package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js.map → chart-activity-grid-CyVDJSAI.js.map} +1 -1
  181. package/dist/client/chunks/chart-area-b5UAS6NZ.js +963 -0
  182. package/dist/client/chunks/chart-area-b5UAS6NZ.js.map +1 -0
  183. package/dist/client/chunks/{chart-bar-DAO3PPcE.js → chart-bar-aVNonvWw.js} +71 -64
  184. package/dist/client/chunks/chart-bar-aVNonvWw.js.map +1 -0
  185. package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js → chart-box-plot-Bx6M97VL.js} +3 -3
  186. package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js.map → chart-box-plot-Bx6M97VL.js.map} +1 -1
  187. package/dist/client/chunks/{chart-bubble-DvP_6_n9.js → chart-bubble-EWd4_ucG.js} +5 -5
  188. package/dist/client/chunks/{chart-bubble-DvP_6_n9.js.map → chart-bubble-EWd4_ucG.js.map} +1 -1
  189. package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js → chart-candlestick-CG5EX67b.js} +3 -3
  190. package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js.map → chart-candlestick-CG5EX67b.js.map} +1 -1
  191. package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js → chart-config-activity-grid-C4vXGQNu.js} +2 -2
  192. package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js.map → chart-config-activity-grid-C4vXGQNu.js.map} +1 -1
  193. package/dist/client/chunks/{chart-config-area-DxwIZ4Uf.js → chart-config-area-DsrZCIwF.js} +35 -4
  194. package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +1 -0
  195. package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js → chart-config-bar-BixSs43E.js} +7 -7
  196. package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js.map → chart-config-bar-BixSs43E.js.map} +1 -1
  197. package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js → chart-config-box-plot-DMuJZqkr.js} +2 -2
  198. package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js.map → chart-config-box-plot-DMuJZqkr.js.map} +1 -1
  199. package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js → chart-config-bubble-1IyZinH0.js} +2 -2
  200. package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js.map → chart-config-bubble-1IyZinH0.js.map} +1 -1
  201. package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js → chart-config-candlestick-QwQwJB_-.js} +2 -2
  202. package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js.map → chart-config-candlestick-QwQwJB_-.js.map} +1 -1
  203. package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js → chart-config-data-table-CrGyS7aJ.js} +2 -2
  204. package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js.map → chart-config-data-table-CrGyS7aJ.js.map} +1 -1
  205. package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js → chart-config-funnel-DMLLKtPF.js} +2 -2
  206. package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js.map → chart-config-funnel-DMLLKtPF.js.map} +1 -1
  207. package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js → chart-config-gauge-DNafFwfS.js} +2 -2
  208. package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js.map → chart-config-gauge-DNafFwfS.js.map} +1 -1
  209. package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js → chart-config-heat-map-CJF65SyL.js} +2 -2
  210. package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js.map → chart-config-heat-map-CJF65SyL.js.map} +1 -1
  211. package/dist/client/chunks/{chart-config-kpi-delta-DYopvwyG.js → chart-config-kpi-delta-Cl7k6jTj.js} +13 -4
  212. package/dist/client/chunks/chart-config-kpi-delta-Cl7k6jTj.js.map +1 -0
  213. package/dist/client/chunks/{chart-config-kpi-number-BhMdoArB.js → chart-config-kpi-number-DCcnANWC.js} +6 -4
  214. package/dist/client/chunks/chart-config-kpi-number-DCcnANWC.js.map +1 -0
  215. package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js → chart-config-kpi-text-DnnxvOSA.js} +2 -2
  216. package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js.map → chart-config-kpi-text-DnnxvOSA.js.map} +1 -1
  217. package/dist/client/chunks/{chart-config-line-CBfM0Rds.js → chart-config-line-CBF9Px9b.js} +9 -7
  218. package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +1 -0
  219. package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js → chart-config-markdown-C5kBQOjP.js} +2 -2
  220. package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js.map → chart-config-markdown-C5kBQOjP.js.map} +1 -1
  221. package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js → chart-config-measure-profile-CRSRIpKh.js} +2 -2
  222. package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js.map → chart-config-measure-profile-CRSRIpKh.js.map} +1 -1
  223. package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js → chart-config-pie-DZLa6Eqm.js} +3 -3
  224. package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js.map → chart-config-pie-DZLa6Eqm.js.map} +1 -1
  225. package/dist/client/chunks/{chart-config-radar-BlAIGnww.js → chart-config-radar-DR6vHHyd.js} +3 -3
  226. package/dist/client/chunks/{chart-config-radar-BlAIGnww.js.map → chart-config-radar-DR6vHHyd.js.map} +1 -1
  227. package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js → chart-config-radial-bar-DVFou4fB.js} +3 -3
  228. package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js.map → chart-config-radial-bar-DVFou4fB.js.map} +1 -1
  229. package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js → chart-config-sankey-De8E0C1A.js} +2 -2
  230. package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js.map → chart-config-sankey-De8E0C1A.js.map} +1 -1
  231. package/dist/client/chunks/{chart-config-scatter-q_olh54e.js → chart-config-scatter-CWA89oX4.js} +2 -2
  232. package/dist/client/chunks/{chart-config-scatter-q_olh54e.js.map → chart-config-scatter-CWA89oX4.js.map} +1 -1
  233. package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js → chart-config-sunburst-B4NUYHMH.js} +2 -2
  234. package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js.map → chart-config-sunburst-B4NUYHMH.js.map} +1 -1
  235. package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js → chart-config-tree-map-Uhise6Bx.js} +3 -3
  236. package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js.map → chart-config-tree-map-Uhise6Bx.js.map} +1 -1
  237. package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js → chart-config-waterfall-DlQb_PLh.js} +2 -2
  238. package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js.map → chart-config-waterfall-DlQb_PLh.js.map} +1 -1
  239. package/dist/client/chunks/{chart-data-table-BP6DMdom.js → chart-data-table-D6Cu86m_.js} +1072 -1034
  240. package/dist/client/chunks/chart-data-table-D6Cu86m_.js.map +1 -0
  241. package/dist/client/chunks/{chart-funnel-xeVGBy-p.js → chart-funnel-CLRYMbFj.js} +3 -3
  242. package/dist/client/chunks/{chart-funnel-xeVGBy-p.js.map → chart-funnel-CLRYMbFj.js.map} +1 -1
  243. package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js → chart-gauge-BRqb8eNU.js} +62 -62
  244. package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js.map → chart-gauge-BRqb8eNU.js.map} +1 -1
  245. package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js → chart-heat-map-BCfr3nYJ.js} +4 -4
  246. package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js.map → chart-heat-map-BCfr3nYJ.js.map} +1 -1
  247. package/dist/client/chunks/{chart-kpi-delta-nXQnRRBr.js → chart-kpi-delta-ISxzG6g_.js} +122 -48
  248. package/dist/client/chunks/chart-kpi-delta-ISxzG6g_.js.map +1 -0
  249. package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js +263 -0
  250. package/dist/client/chunks/chart-kpi-number-OmRCPf7D.js.map +1 -0
  251. package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js → chart-kpi-text-BUm932QA.js} +4 -4
  252. package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js.map → chart-kpi-text-BUm932QA.js.map} +1 -1
  253. package/dist/client/chunks/chart-line-BM_DrpQW.js +117 -0
  254. package/dist/client/chunks/chart-line-BM_DrpQW.js.map +1 -0
  255. package/dist/client/chunks/{chart-markdown-BVrqqygz.js → chart-markdown-BNrsZpqM.js} +1550 -1349
  256. package/dist/client/chunks/chart-markdown-BNrsZpqM.js.map +1 -0
  257. package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js → chart-measure-profile-DttUWxIu.js} +6 -5
  258. package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js.map → chart-measure-profile-DttUWxIu.js.map} +1 -1
  259. package/dist/client/chunks/{chart-pie-BDaaYt7a.js → chart-pie-D7pxCMll.js} +11 -11
  260. package/dist/client/chunks/{chart-pie-BDaaYt7a.js.map → chart-pie-D7pxCMll.js.map} +1 -1
  261. package/dist/client/chunks/{chart-radar-Bz07PIVe.js → chart-radar-sUnyHn3a.js} +10 -10
  262. package/dist/client/chunks/{chart-radar-Bz07PIVe.js.map → chart-radar-sUnyHn3a.js.map} +1 -1
  263. package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js → chart-radial-bar-Df9zbhst.js} +11 -11
  264. package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js.map → chart-radial-bar-Df9zbhst.js.map} +1 -1
  265. package/dist/client/chunks/{chart-sankey-BAeNbI-p.js → chart-sankey-d_iS5fjB.js} +3 -3
  266. package/dist/client/chunks/{chart-sankey-BAeNbI-p.js.map → chart-sankey-d_iS5fjB.js.map} +1 -1
  267. package/dist/client/chunks/{chart-scatter-CRhGLCcy.js → chart-scatter-DD5v7r4K.js} +10 -10
  268. package/dist/client/chunks/{chart-scatter-CRhGLCcy.js.map → chart-scatter-DD5v7r4K.js.map} +1 -1
  269. package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js → chart-sunburst-jL5f9PiB.js} +4 -4
  270. package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js.map → chart-sunburst-jL5f9PiB.js.map} +1 -1
  271. package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js → chart-tree-map-DK-pNvh4.js} +31 -29
  272. package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js.map → chart-tree-map-DK-pNvh4.js.map} +1 -1
  273. package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js → chart-waterfall-CBGewe2Z.js} +4 -4
  274. package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js.map → chart-waterfall-CBGewe2Z.js.map} +1 -1
  275. package/dist/client/chunks/{charts-core-Cs-UIsQa.js → charts-core-BHjcM-rm.js} +2 -2
  276. package/dist/client/chunks/{charts-core-Cs-UIsQa.js.map → charts-core-BHjcM-rm.js.map} +1 -1
  277. package/dist/client/chunks/charts-loader-FXj1JiQZ.js +85 -0
  278. package/dist/client/chunks/charts-loader-FXj1JiQZ.js.map +1 -0
  279. package/dist/client/chunks/{core-D7vPfUIe.js → core-BWRP9s8x.js} +9 -8
  280. package/dist/client/chunks/core-BWRP9s8x.js.map +1 -0
  281. package/dist/client/chunks/{dist-BwQr11Fz.js → dist-BPmPx7kz.js} +56 -51
  282. package/dist/client/chunks/{dist-BwQr11Fz.js.map → dist-BPmPx7kz.js.map} +1 -1
  283. package/dist/client/chunks/{exceljs.min-Dey-qIFL.js → exceljs.min-DWC_b8G9.js} +236 -202
  284. package/dist/client/chunks/{exceljs.min-Dey-qIFL.js.map → exceljs.min-DWC_b8G9.js.map} +1 -1
  285. package/dist/client/chunks/{javascript-DFnKaHmQ.js → javascript-D6aJaG8F.js} +7 -5
  286. package/dist/client/chunks/javascript-D6aJaG8F.js.map +1 -0
  287. package/dist/client/chunks/json-BrJhaXJI.js +44 -0
  288. package/dist/client/chunks/json-BrJhaXJI.js.map +1 -0
  289. package/dist/client/chunks/{nl-NL-2zTAWTej.js → nl-NL-B1MNDJT-.js} +39 -2
  290. package/dist/client/chunks/{nl-NL-2zTAWTej.js.map → nl-NL-B1MNDJT-.js.map} +1 -1
  291. package/dist/client/chunks/{rolldown-runtime-CWhphoD1.js → rolldown-runtime-DArdT4gl.js} +2 -2
  292. package/dist/client/chunks/{schema-visualization-BGT_cNon.js → schema-visualization-BXdd320w.js} +10 -10
  293. package/dist/client/chunks/schema-visualization-BXdd320w.js.map +1 -0
  294. package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js → syntaxHighlighting-Cm43as8i.js} +2 -2
  295. package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js.map → syntaxHighlighting-Cm43as8i.js.map} +1 -1
  296. package/dist/client/chunks/{useDebounce-7suCFq9v.js → useDirtyStateTracking-CFgSTyny.js} +112 -50
  297. package/dist/client/chunks/useDirtyStateTracking-CFgSTyny.js.map +1 -0
  298. package/dist/client/chunks/{useExplainAI-DueJjb0r.js → useExplainAI-CisDjZNp.js} +18 -18
  299. package/dist/client/chunks/{useExplainAI-DueJjb0r.js.map → useExplainAI-CisDjZNp.js.map} +1 -1
  300. package/dist/client/chunks/{utils-DjLiJKS_.js → utils-CToHkuhU.js} +2 -2
  301. package/dist/client/chunks/{utils-DjLiJKS_.js.map → utils-CToHkuhU.js.map} +1 -1
  302. package/dist/client/chunks/{vendor-ChnlgSP0.js → vendor-D5xADz_A.js} +223 -167
  303. package/dist/client/chunks/vendor-D5xADz_A.js.map +1 -0
  304. package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
  305. package/dist/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
  306. package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  307. package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
  308. package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  309. package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
  310. package/dist/client/components/AgenticNotebook/index.d.ts +1 -1
  311. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  312. package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  313. package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  314. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
  315. package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  316. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
  317. package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  318. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  319. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
  320. package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  321. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  322. package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
  323. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  324. package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  325. package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  326. package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
  327. package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  328. package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  329. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  330. package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  331. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
  332. package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  333. package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  334. package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
  335. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
  336. package/dist/client/components/DashboardPortletCard.d.ts +1 -1
  337. package/dist/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
  338. package/dist/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
  339. package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
  340. package/dist/client/components/charts/AngledXAxisTick.d.ts +5 -0
  341. package/dist/client/components/charts/AreaChart.d.ts +1 -1
  342. package/dist/client/components/charts/BarChart.d.ts +1 -1
  343. package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
  344. package/dist/client/components/charts/BubbleChart.d.ts +1 -1
  345. package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
  346. package/dist/client/components/charts/ChartContainer.d.ts +7 -1
  347. package/dist/client/components/charts/ChartSummaryHeader.d.ts +31 -0
  348. package/dist/client/components/charts/DataTable.d.ts +1 -1
  349. package/dist/client/components/charts/FunnelChart.d.ts +1 -1
  350. package/dist/client/components/charts/GaugeChart.d.ts +1 -1
  351. package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
  352. package/dist/client/components/charts/KpiCompactLayout.d.ts +31 -0
  353. package/dist/client/components/charts/KpiDelta.d.ts +1 -1
  354. package/dist/client/components/charts/KpiDelta.helpers.d.ts +2 -0
  355. package/dist/client/components/charts/KpiNumber.d.ts +1 -1
  356. package/dist/client/components/charts/KpiStates.d.ts +7 -2
  357. package/dist/client/components/charts/KpiText.d.ts +1 -1
  358. package/dist/client/components/charts/LineChart.d.ts +1 -1
  359. package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
  360. package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
  361. package/dist/client/components/charts/PieChart.d.ts +1 -1
  362. package/dist/client/components/charts/ProportionBarChart.config.d.ts +10 -0
  363. package/dist/client/components/charts/ProportionBarChart.d.ts +12 -0
  364. package/dist/client/components/charts/RadarChart.d.ts +1 -1
  365. package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
  366. package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  367. package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
  368. package/dist/client/components/charts/SankeyChart.d.ts +1 -1
  369. package/dist/client/components/charts/ScatterChart.d.ts +1 -1
  370. package/dist/client/components/charts/SunburstChart.d.ts +1 -1
  371. package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
  372. package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
  373. package/dist/client/components/charts/cartesianChartHelpers.d.ts +62 -0
  374. package/dist/client/components/charts/chartScaffolding.d.ts +29 -0
  375. package/dist/client/components.js +3 -4
  376. package/dist/client/hooks.js +4 -5
  377. package/dist/client/icons/types.d.ts +1 -0
  378. package/dist/client/icons.js +1 -1
  379. package/dist/client/index.js +48 -49
  380. package/dist/client/index.js.map +1 -1
  381. package/dist/client/providers.js +1 -1
  382. package/dist/client/schema.js +1 -1
  383. package/dist/client/styles.css +1 -1
  384. package/dist/client/styles.d.css.ts +2 -0
  385. package/dist/client/types.d.ts +7 -1
  386. package/dist/client/utils.js +13 -9
  387. package/dist/client/utils.js.map +1 -1
  388. package/dist/client-bundle-stats.html +388 -33
  389. package/dist/mcp-app/mcp-app.html +152 -165
  390. package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +1 -0
  391. package/dist/server/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
  392. package/dist/server/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
  393. package/dist/server/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
  394. package/dist/server/google-BhvizbFR.cjs +2 -0
  395. package/dist/server/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
  396. package/dist/server/index.cjs +84 -84
  397. package/dist/server/index.js +2418 -2260
  398. package/dist/server/openai-CUf4vc3Q.js +9295 -0
  399. package/dist/server/openai-Cu4TXXjl.cjs +19 -0
  400. package/dist/server/{openai-B6hWZk_r.js → openai-Czk1BdHa.js} +18 -17
  401. package/dist/{adapters/openai-C3-mjSAc.cjs → server/openai-DBwI1OSu.cjs} +1 -1
  402. package/dist/server/rolldown-runtime-B0aSnxlc.js +20 -0
  403. package/dist/server/rolldown-runtime-DF3sbh8G.cjs +1 -0
  404. package/package.json +14 -10
  405. package/dist/adapters/ActivityGridChart.config-BK3hB9co.cjs +0 -1
  406. package/dist/adapters/ActivityGridChart.config-C-68HsAw.js +0 -2
  407. package/dist/adapters/AreaChart.config-5G7_E-7u.cjs +0 -1
  408. package/dist/adapters/AreaChart.config-C7S67Qt4.js +0 -2
  409. package/dist/adapters/BarChart.config-C6kG_uEt.cjs +0 -1
  410. package/dist/adapters/BarChart.config-DQcicZYy.js +0 -2
  411. package/dist/adapters/BoxPlotChart.config-B4xDTwop.js +0 -2
  412. package/dist/adapters/BoxPlotChart.config-DifAPvo0.cjs +0 -1
  413. package/dist/adapters/BubbleChart.config-BS2edxZ5.cjs +0 -1
  414. package/dist/adapters/BubbleChart.config-C5AYou9n.js +0 -2
  415. package/dist/adapters/CandlestickChart.config-Duknkqyk.js +0 -2
  416. package/dist/adapters/CandlestickChart.config-jk3ZXIAQ.cjs +0 -1
  417. package/dist/adapters/DataTable.config-BG_5hx63.cjs +0 -1
  418. package/dist/adapters/DataTable.config-Bkv6CmFa.js +0 -2
  419. package/dist/adapters/FunnelChart.config-Dvy0S17e.js +0 -2
  420. package/dist/adapters/FunnelChart.config-DzqGZgKz.cjs +0 -1
  421. package/dist/adapters/GaugeChart.config-DAWIU33N.js +0 -2
  422. package/dist/adapters/GaugeChart.config-DC0NW8XT.cjs +0 -1
  423. package/dist/adapters/HeatMapChart.config-BlQDS9nY.cjs +0 -1
  424. package/dist/adapters/HeatMapChart.config-DccGkzHI.js +0 -2
  425. package/dist/adapters/KpiDelta.config-DvpALT3Z.js +0 -2
  426. package/dist/adapters/KpiDelta.config-u2AlJkZ3.cjs +0 -1
  427. package/dist/adapters/KpiNumber.config-CF_LqRh-.cjs +0 -1
  428. package/dist/adapters/KpiNumber.config-lhEzZOFR.js +0 -2
  429. package/dist/adapters/KpiText.config-BCYGZdnx.js +0 -2
  430. package/dist/adapters/KpiText.config-FbnsbjdV.cjs +0 -1
  431. package/dist/adapters/LineChart.config-B7qWURRH.js +0 -2
  432. package/dist/adapters/LineChart.config-B9JKd48E.cjs +0 -1
  433. package/dist/adapters/MarkdownChart.config-BIS9PqHh.js +0 -2
  434. package/dist/adapters/MarkdownChart.config-BfM9NaQe.cjs +0 -1
  435. package/dist/adapters/MeasureProfileChart.config-1hh--3nI.js +0 -2
  436. package/dist/adapters/MeasureProfileChart.config-cmL8wp6a.cjs +0 -1
  437. package/dist/adapters/PieChart.config-DzzCeT7z.cjs +0 -1
  438. package/dist/adapters/PieChart.config-aRJJwYx4.js +0 -2
  439. package/dist/adapters/RadarChart.config-AcZ7kWG8.js +0 -2
  440. package/dist/adapters/RadarChart.config-CddBTWAo.cjs +0 -1
  441. package/dist/adapters/RadialBarChart.config-D4qPexJV.cjs +0 -1
  442. package/dist/adapters/RadialBarChart.config-y-NBkq5N.js +0 -2
  443. package/dist/adapters/RetentionCombinedChart.config-BkRNE7lX.cjs +0 -1
  444. package/dist/adapters/RetentionCombinedChart.config-WoX6n6D5.js +0 -2
  445. package/dist/adapters/RetentionHeatmap.config-ByjWidhh.cjs +0 -1
  446. package/dist/adapters/RetentionHeatmap.config-DjXLk03y.js +0 -2
  447. package/dist/adapters/SankeyChart.config-BWO9LszQ.cjs +0 -1
  448. package/dist/adapters/SankeyChart.config-SuP0jjib.js +0 -2
  449. package/dist/adapters/ScatterChart.config-Dk1G4Eaj.cjs +0 -1
  450. package/dist/adapters/ScatterChart.config-DzVXd1ZM.js +0 -2
  451. package/dist/adapters/SunburstChart.config-Cu4ib4Ui.cjs +0 -1
  452. package/dist/adapters/SunburstChart.config-_0gUzNs7.js +0 -2
  453. package/dist/adapters/TreeMapChart.config-DbwYrje4.js +0 -2
  454. package/dist/adapters/TreeMapChart.config-hM8PukgE.cjs +0 -1
  455. package/dist/adapters/WaterfallChart.config-CjUHeE8R.js +0 -2
  456. package/dist/adapters/WaterfallChart.config-Dwxt0kK-.cjs +0 -1
  457. package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +0 -1
  458. package/dist/adapters/compiler-D0v5KJhv.cjs +0 -166
  459. package/dist/adapters/core-VK-KVH9q.cjs +0 -1
  460. package/dist/adapters/google-BOnRIN1w.cjs +0 -2
  461. package/dist/adapters/mcp-transport-C2v5BTDF.cjs +0 -40
  462. package/dist/adapters/mcp-transport-CyDBoYEe.js +0 -601
  463. package/dist/adapters/openai-B1pC8nVM.js +0 -6178
  464. package/dist/adapters/openai-DQZaHN0V.cjs +0 -18
  465. package/dist/adapters/utils-CBR-9AMD.cjs +0 -128
  466. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +0 -3283
  467. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +0 -1
  468. package/dist/client/chunks/DashboardEditModal-9o16JNF0.js.map +0 -1
  469. package/dist/client/chunks/analysis-builder-BDWychCW.js.map +0 -1
  470. package/dist/client/chunks/analysis-builder-shared-DkL0e-wU.js.map +0 -1
  471. package/dist/client/chunks/chart-area-BHxPNsmc.js +0 -775
  472. package/dist/client/chunks/chart-area-BHxPNsmc.js.map +0 -1
  473. package/dist/client/chunks/chart-bar-DAO3PPcE.js.map +0 -1
  474. package/dist/client/chunks/chart-config-area-DxwIZ4Uf.js.map +0 -1
  475. package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +0 -1
  476. package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +0 -1
  477. package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +0 -1
  478. package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +0 -1
  479. package/dist/client/chunks/chart-kpi-delta-nXQnRRBr.js.map +0 -1
  480. package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js +0 -244
  481. package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js.map +0 -1
  482. package/dist/client/chunks/chart-line-sJK-cJc0.js +0 -101
  483. package/dist/client/chunks/chart-line-sJK-cJc0.js.map +0 -1
  484. package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +0 -1
  485. package/dist/client/chunks/charts-loader-DAJbAD7a.js +0 -84
  486. package/dist/client/chunks/charts-loader-DAJbAD7a.js.map +0 -1
  487. package/dist/client/chunks/core-D7vPfUIe.js.map +0 -1
  488. package/dist/client/chunks/javascript-DFnKaHmQ.js.map +0 -1
  489. package/dist/client/chunks/json-Cu6rbgWf.js +0 -38
  490. package/dist/client/chunks/json-Cu6rbgWf.js.map +0 -1
  491. package/dist/client/chunks/schema-visualization-BGT_cNon.js.map +0 -1
  492. package/dist/client/chunks/useDebounce-7suCFq9v.js.map +0 -1
  493. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +0 -66
  494. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +0 -1
  495. package/dist/client/chunks/vendor-ChnlgSP0.js.map +0 -1
  496. package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +0 -1
  497. package/dist/server/google-BOnRIN1w.cjs +0 -2
  498. package/dist/server/openai-B1pC8nVM.js +0 -6178
  499. package/dist/server/openai-DQZaHN0V.cjs +0 -18
@@ -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-U7gV5wQL.js";
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
- return T`${e} @> ${T`${D(t, e)}`}`;
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
- return T`${e} <@ ${T`${D(t, e)}`}`;
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
- return T`${e} && ${T`${D(t, e)}`}`;
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
- return e && e.length > 0 && r.push(Oe(e)), t && t.length > 0 && r.push(ke(t)), n?.frame && r.push(Me(n.frame)), T`OVER (${r.length > 0 ? T.join(r, T` `) : T``})`;
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
- return T`(${e} + ${this.buildIntervalFromISO(t)})`;
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
- return T`PERCENTILE_CONT(${t / 100}) WITHIN GROUP (ORDER BY ${e})`;
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
- return T`${this.durationToSeconds(e)}`;
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
- return T`${this.durationToSeconds(e)}`;
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
- return T`(${e} + ${this.durationToSeconds(t)})`;
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": return T`datetime(strftime('%Y-%m-%d %H:00:00', ${T`datetime(${t}, 'unixepoch')`}))`;
787
- case "minute": return T`datetime(strftime('%Y-%m-%d %H:%M:00', ${T`datetime(${t}, 'unixepoch')`}))`;
788
- case "second": return T`datetime(strftime('%Y-%m-%d %H:%M:%S', ${T`datetime(${t}, 'unixepoch')`}))`;
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
- return T`(${e} + ${this.buildIntervalFromISO(t)})`;
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
- return T`QUANTILE_CONT(${e}, ${t / 100})`;
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
- return T`(${e} + ${this.buildIntervalFromISO(t)})`;
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
- return T`${this.durationToSeconds(e)}`;
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) ? n[r] = this.coerceToNumber(i) : n[r] = i;
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) ? n[r] = this.coerceToNumber(i) : n[r] = i;
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
- } else if (this.db.run) return this.db.run(e);
1494
- else throw Error("SQLite database instance must have an all() or run() method");
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) ? n[r] = this.coerceToNumber(i) : n[r] = i;
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) ? n[r] = this.coerceToNumber(i) : n[r] = i;
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) ? n[r] = this.coerceToNumber(i) : n[r] = i;
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`${d()}`;
2775
- s.set(t, f);
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`${B(t.sql, n)}`.as(e);
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" && (r[n] = T`${t()}`.as(n));
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
- } else if (a.has(n)) return;
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] && (e[o] = T`${this.queryBuilder.buildMeasureExpression({
4265
- sql: t.dimensions[o].sql,
4266
- type: "number"
4267
- }, r)}`.as(o));
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] && (e[o] = T`${this.queryBuilder.buildTimeDimensionExpression(t.dimensions[o].sql, a.granularity, r)}`.as(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
- } else {
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) / (1e3 * 60));
5259
- case "hour": return Math.floor((a - i) / (1e3 * 60 * 60));
5260
- case "day": return Math.floor((a - i) / (1e3 * 60 * 60 * 24));
5261
- case "week": return Math.floor((a - i) / (1e3 * 60 * 60 * 24 * 7));
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) / (1e3 * 60 * 60 * 24));
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
- return T`${e} >= ${this.databaseAdapter.castToType(T`${t.start}`, "timestamp")} AND ${e} < ${this.databaseAdapter.buildDateAddInterval(this.databaseAdapter.castToType(T`${t.end}`, "timestamp"), "P1D")}`;
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
- return T`MIN(${e}) >= ${this.databaseAdapter.castToType(T`${t.start}`, "timestamp")} AND MIN(${e}) < ${this.databaseAdapter.buildDateAddInterval(this.databaseAdapter.castToType(T`${t.end}`, "timestamp"), "P1D")}`;
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
- _ = g ? T`sum(${T`${T.identifier(g.cteAlias)}.${T.identifier(p)}`})` : a.queryBuilder.buildMeasureExpression(h, r, m), e[d] || (e[d] = T`${_}`.as(d));
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": return T`min(${T`${T.identifier(t)}.${T.identifier(n)}`})`.as(r);
7290
- case "max": return T`max(${T`${T.identifier(t)}.${T.identifier(n)}`})`.as(r);
7291
- case "avg": return T`sum(${T`${T.identifier(t)}.${T.identifier(`__avg_sum__${n}`)}`}) / nullif(sum(${T`${T.identifier(t)}.${T.identifier(`__avg_count__${n}`)}`}), 0)`.as(r);
7292
- default: return T`coalesce(sum(${T`${T.identifier(t)}.${T.identifier(n)}`}), 0)`.as(r);
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) r[e] = T`${ea(n, e)}`.as(e);
7309
- for (let t of e.groups) for (let e of t.measures) r[e] = T`coalesce(${T`${T.identifier(t.alias)}.${T.identifier(e)}`}, 0)`.as(e);
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) u[t] = T`coalesce(${T`${T.identifier(e.alias)}.${T.identifier(t)}`}, 0)`.as(t);
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-VK-KVH9q.cjs");exports.createCubeHttpHandler=e.t,exports.resolveSecurityContext=e.n,exports.withLocaleFromHeaders=e.r;
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-BMZhIzaI.js";
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-U7gV5wQL.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-CyDBoYEe.js";
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 = await a(n?.query || n, await A(t, (t) => e.getHeader(t)), i);
80
- return e.send(200, r);
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 = await a(JSON.parse(n), await A(t, (t) => e.getHeader(t)), i);
96
- return e.send(200, r);
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 n(a, await A(r, (t) => e.getHeader(t)), i, { skipCache: e.getHeader("x-cache-control") === "no-cache" });
110
- return e.send(200, o);
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
- } else if (e.promptFeedback) throw new p(`Text not available. ${M(e)}`, e);
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
- } else if (e.promptFeedback) throw new p(`Function call not available. ${M(e)}`, e);
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
- } else if (e.promptFeedback) throw new p(`Function call not available. ${M(e)}`, e);
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("/") ? 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;
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)}else 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]}else 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)}else 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,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-CBR-9AMD.cjs"),t=require("../compiler-D0v5KJhv.cjs"),n=require("../mcp-transport-C2v5BTDF.cjs"),r=require("../core-VK-KVH9q.cjs");let i=require("express");i=e.k(i,1);let a=require("cors");a=e.k(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-_PXp3G47.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
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;