drizzle-cube 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/dist/adapters/ActivityGridChart.config-DXUUgx0N.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-Dyozu3VW.js +2 -0
  3. package/dist/adapters/AreaChart.config-Di5odBXp.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-KEaXP_4K.js +2 -0
  5. package/dist/adapters/BarChart.config-B-hBHykR.cjs +1 -0
  6. package/dist/adapters/BarChart.config-C5sqbn0A.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-B1R4Br7L.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-C82Fhd3c.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-CoBxmmfp.js +2 -0
  10. package/dist/adapters/BubbleChart.config-DfOnNjL-.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-C5ggV_3j.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-ZaJpWVuL.js +2 -0
  13. package/dist/adapters/DataTable.config-Cx2_ACdY.cjs +1 -0
  14. package/dist/adapters/DataTable.config-DkAgD-iz.js +2 -0
  15. package/dist/adapters/FunnelChart.config-CvzcECUB.js +2 -0
  16. package/dist/adapters/FunnelChart.config-DVH7IFnb.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-Csx8rt8o.cjs +1 -0
  18. package/dist/adapters/GaugeChart.config-DEmrNgMa.js +2 -0
  19. package/dist/adapters/HeatMapChart.config-BfD_dpP7.js +2 -0
  20. package/dist/adapters/HeatMapChart.config-D_jlyPJL.cjs +1 -0
  21. package/dist/adapters/KpiDelta.config-CVBdUL_n.cjs +1 -0
  22. package/dist/adapters/KpiDelta.config-D4dCXOxl.js +2 -0
  23. package/dist/adapters/KpiNumber.config-BK5pgIKz.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-D6XqjZrm.js +2 -0
  25. package/dist/adapters/KpiText.config-ChphMwG5.js +2 -0
  26. package/dist/adapters/KpiText.config-fO1wc6FH.cjs +1 -0
  27. package/dist/adapters/LineChart.config-CXJrgz1s.js +2 -0
  28. package/dist/adapters/LineChart.config-Cg_h-SiJ.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-ByPjX-4O.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-Df2yY9AT.js +2 -0
  31. package/dist/adapters/MeasureProfileChart.config-BBWGIteF.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-C9OFbN9Z.js +2 -0
  33. package/dist/adapters/PieChart.config-C6jJj6xm.js +2 -0
  34. package/dist/adapters/PieChart.config-CmCw_8eN.cjs +1 -0
  35. package/dist/adapters/ProportionBarChart.config-B9NEyFEe.js +2 -0
  36. package/dist/adapters/ProportionBarChart.config-C3GAVPWn.cjs +1 -0
  37. package/dist/adapters/RadarChart.config-5AMwEqUJ.cjs +1 -0
  38. package/dist/adapters/RadarChart.config-Ct_b7IM5.js +2 -0
  39. package/dist/adapters/RadialBarChart.config-Bp-Sl0cm.js +2 -0
  40. package/dist/adapters/RadialBarChart.config-D14yoexI.cjs +1 -0
  41. package/dist/adapters/RecordsTable.config-D2-qmG06.cjs +1 -0
  42. package/dist/adapters/RecordsTable.config-DIwoqZCU.js +2 -0
  43. package/dist/adapters/RetentionCombinedChart.config-BWHipi5M.cjs +1 -0
  44. package/dist/adapters/RetentionCombinedChart.config-D40UgTcl.js +2 -0
  45. package/dist/adapters/RetentionHeatmap.config-GlnSLrjn.js +2 -0
  46. package/dist/adapters/RetentionHeatmap.config-MlhZf26c.cjs +1 -0
  47. package/dist/adapters/SankeyChart.config-Bf1_NHiv.js +2 -0
  48. package/dist/adapters/SankeyChart.config-BoYf6BFE.cjs +1 -0
  49. package/dist/adapters/ScatterChart.config-CV2rdGJp.js +2 -0
  50. package/dist/adapters/ScatterChart.config-DywduGF3.cjs +1 -0
  51. package/dist/adapters/SunburstChart.config-CrqiE1UZ.js +2 -0
  52. package/dist/adapters/SunburstChart.config-D5tbF_GJ.cjs +1 -0
  53. package/dist/adapters/TreeMapChart.config-BJ8HnZU0.cjs +1 -0
  54. package/dist/adapters/TreeMapChart.config-DxgIqIIj.js +2 -0
  55. package/dist/adapters/WaterfallChart.config-Cns8fLFu.js +2 -0
  56. package/dist/adapters/WaterfallChart.config-D_kdL9SN.cjs +1 -0
  57. package/dist/adapters/compiler-BxZHh0UD.cjs +166 -0
  58. package/dist/adapters/{compiler-CQJ5GOwF.js → compiler-CBGD_4Et.js} +1160 -1861
  59. package/dist/adapters/core/index.cjs +1 -1
  60. package/dist/adapters/core/index.js +1 -1
  61. package/dist/adapters/{core-DgTGXxDu.cjs → core-CIGuwGuI.cjs} +1 -1
  62. package/dist/adapters/{core-DXkuSUBg.js → core-DAAnqPyN.js} +3 -3
  63. package/dist/adapters/express/index.cjs +1 -1
  64. package/dist/adapters/express/index.js +5 -5
  65. package/dist/adapters/fastify/index.cjs +1 -1
  66. package/dist/adapters/fastify/index.js +23 -23
  67. package/dist/{server/google-eKAc20al.js → adapters/google-DRY7jnOh.js} +46 -28
  68. package/dist/adapters/{google-BhvizbFR.cjs → google-PsZzwedr.cjs} +2 -2
  69. package/dist/adapters/{handler-DrRT6c14.cjs → handler-BcYTw6zB.cjs} +12 -12
  70. package/dist/adapters/{handler-CphYSZRh.js → handler-eA0VJDHj.js} +334 -237
  71. package/dist/adapters/hono/index.cjs +1 -1
  72. package/dist/adapters/hono/index.js +4 -4
  73. package/dist/adapters/mcp-tools.cjs +1 -1
  74. package/dist/adapters/mcp-tools.js +2 -2
  75. package/dist/adapters/mcp-transport-BpG44Fvn.js +730 -0
  76. package/dist/adapters/mcp-transport-CDxZXpc-.cjs +42 -0
  77. package/dist/adapters/nextjs/index.cjs +1 -1
  78. package/dist/adapters/nextjs/index.js +5 -5
  79. package/dist/adapters/{openai-D-VMcPao.js → openai-BZ48ioYp.js} +1 -1
  80. package/dist/adapters/{openai-CSzWluuv.cjs → openai-Bw1j-OiP.cjs} +1 -1
  81. package/dist/adapters/{openai-CI9vGKSf.cjs → openai-CLjyL5_J.cjs} +2 -2
  82. package/dist/adapters/{openai-CBrN4nxl.js → openai-CYYjUG_3.js} +3 -3
  83. package/dist/adapters/{utils-DkmShl5f.js → utils-BagURNRb.js} +1947 -1122
  84. package/dist/adapters/utils-BiKIg2tk.cjs +128 -0
  85. package/dist/adapters/utils.cjs +1 -1
  86. package/dist/adapters/utils.d.ts +17 -3
  87. package/dist/adapters/utils.js +1 -1
  88. package/dist/cjs/adapters/utils.d.ts +17 -3
  89. package/dist/cjs/client/charts/chartConfigRegistry.d.ts +7 -0
  90. package/dist/cjs/client/charts/chartConfigs.d.ts +17 -1
  91. package/dist/cjs/client/client/CubeClient.d.ts +11 -1
  92. package/dist/cjs/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +4 -2
  93. package/dist/cjs/client/components/AnalysisBuilder/ColumnFormatsEditor.d.ts +10 -0
  94. package/dist/cjs/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +3 -2
  95. package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +7 -1
  96. package/dist/cjs/client/components/analyticsPortlet/PortletChart.d.ts +2 -1
  97. package/dist/cjs/client/components/analyticsPortlet/PortletChartView.d.ts +4 -1
  98. package/dist/cjs/client/components/analyticsPortlet/usePortletDeadMembers.d.ts +24 -0
  99. package/dist/cjs/client/components/analyticsPortlet/usePortletPagination.d.ts +21 -0
  100. package/dist/cjs/client/components/charts/RecordsTable.config.d.ts +10 -0
  101. package/dist/cjs/client/components/charts/RecordsTable.d.ts +4 -0
  102. package/dist/cjs/client/components/charts/recordsTableHooks.d.ts +68 -0
  103. package/dist/cjs/client/icons/types.d.ts +1 -0
  104. package/dist/cjs/client/index.d.ts +2 -2
  105. package/dist/cjs/client/types.d.ts +92 -1
  106. package/dist/cjs/client/utils/recordsTableUtils.d.ts +71 -0
  107. package/dist/cjs/client/utils/rowLinkUtils.d.ts +35 -0
  108. package/dist/cjs/server/agent/chart-validation.d.ts +1 -1
  109. package/dist/cjs/server/ai/chart-schema.d.ts +117 -0
  110. package/dist/cjs/server/ai/discovery-helpers.d.ts +14 -0
  111. package/dist/cjs/server/ai/discovery.d.ts +6 -0
  112. package/dist/cjs/server/ai/query-schema.d.ts +1 -1
  113. package/dist/cjs/server/attribute-dimensions.d.ts +11 -8
  114. package/dist/cjs/server/builders/group-by-builder.d.ts +15 -0
  115. package/dist/cjs/server/compiler.d.ts +3 -4
  116. package/dist/cjs/server/executor.d.ts +15 -0
  117. package/dist/cjs/server/index.d.ts +2 -0
  118. package/dist/cjs/server/query-handlers.d.ts +1 -0
  119. package/dist/cjs/server/query-validator.d.ts +36 -4
  120. package/dist/cjs/server/types/core.d.ts +5 -0
  121. package/dist/cjs/server/types/cube.d.ts +12 -0
  122. package/dist/cjs/server/types/query.d.ts +8 -0
  123. package/dist/cli/index.cjs +130 -52
  124. package/dist/client/charts/chartConfigRegistry.d.ts +7 -0
  125. package/dist/client/charts/chartConfigs.d.ts +17 -1
  126. package/dist/client/charts.js +13 -13
  127. package/dist/client/chunks/{DashboardEditModal-9An5EDAz.js → DashboardEditModal-_ZDMwaGX.js} +1653 -1188
  128. package/dist/client/chunks/DashboardEditModal-_ZDMwaGX.js.map +1 -0
  129. package/dist/client/chunks/{ProportionBarChart-BVcbGY2C.js → ProportionBarChart-qfpAWhIg.js} +3 -3
  130. package/dist/client/chunks/{ProportionBarChart-BVcbGY2C.js.map → ProportionBarChart-qfpAWhIg.js.map} +1 -1
  131. package/dist/client/chunks/RecordsTable-KmJy94xN.js +556 -0
  132. package/dist/client/chunks/RecordsTable-KmJy94xN.js.map +1 -0
  133. package/dist/client/chunks/{RetentionCombinedChart-D68Rvdi-.js → RetentionCombinedChart-C7X6aj97.js} +3 -3
  134. package/dist/client/chunks/{RetentionCombinedChart-D68Rvdi-.js.map → RetentionCombinedChart-C7X6aj97.js.map} +1 -1
  135. package/dist/client/chunks/{RetentionHeatmap-CE7BAjrB.js → RetentionHeatmap-PpRpiqR_.js} +2 -2
  136. package/dist/client/chunks/{RetentionHeatmap-CE7BAjrB.js.map → RetentionHeatmap-PpRpiqR_.js.map} +1 -1
  137. package/dist/client/chunks/{analysis-builder-D1pYvvwc.js → analysis-builder-DaqyOjLX.js} +169 -168
  138. package/dist/client/chunks/{analysis-builder-D1pYvvwc.js.map → analysis-builder-DaqyOjLX.js.map} +1 -1
  139. package/dist/client/chunks/{analysis-builder-shared-BQvwUc6z.js → analysis-builder-shared-ow9KAHDP.js} +965 -954
  140. package/dist/client/chunks/analysis-builder-shared-ow9KAHDP.js.map +1 -0
  141. package/dist/client/chunks/{chart-activity-grid-DvD_4wJz.js → chart-activity-grid-DO82rrbW.js} +137 -84
  142. package/dist/client/chunks/chart-activity-grid-DO82rrbW.js.map +1 -0
  143. package/dist/client/chunks/{chart-area-DPp3hSOK.js → chart-area-9SBeG0GM.js} +21 -21
  144. package/dist/client/chunks/{chart-area-DPp3hSOK.js.map → chart-area-9SBeG0GM.js.map} +1 -1
  145. package/dist/client/chunks/{chart-bar-Od3pOyZ0.js → chart-bar-tfgmLK2D.js} +5 -5
  146. package/dist/client/chunks/{chart-bar-Od3pOyZ0.js.map → chart-bar-tfgmLK2D.js.map} +1 -1
  147. package/dist/client/chunks/{chart-box-plot-l0iFn2n2.js → chart-box-plot-BuYW6j6g.js} +2 -2
  148. package/dist/client/chunks/{chart-box-plot-l0iFn2n2.js.map → chart-box-plot-BuYW6j6g.js.map} +1 -1
  149. package/dist/client/chunks/{chart-bubble-Dl0RcP8N.js → chart-bubble-BNmonWqW.js} +2 -2
  150. package/dist/client/chunks/{chart-bubble-Dl0RcP8N.js.map → chart-bubble-BNmonWqW.js.map} +1 -1
  151. package/dist/client/chunks/{chart-candlestick-DZMqbscF.js → chart-candlestick-BYeWNkKl.js} +2 -2
  152. package/dist/client/chunks/{chart-candlestick-DZMqbscF.js.map → chart-candlestick-BYeWNkKl.js.map} +1 -1
  153. package/dist/client/chunks/{chart-data-table-DgiNBOWf.js → chart-data-table-C_oHiK6N.js} +1094 -1029
  154. package/dist/client/chunks/chart-data-table-C_oHiK6N.js.map +1 -0
  155. package/dist/client/chunks/{chart-funnel-YLZlyN1X.js → chart-funnel-B_CWC3cL.js} +2 -2
  156. package/dist/client/chunks/{chart-funnel-YLZlyN1X.js.map → chart-funnel-B_CWC3cL.js.map} +1 -1
  157. package/dist/client/chunks/{chart-gauge-BsqE2wwF.js → chart-gauge-D7VxwPnx.js} +3 -3
  158. package/dist/client/chunks/{chart-gauge-BsqE2wwF.js.map → chart-gauge-D7VxwPnx.js.map} +1 -1
  159. package/dist/client/chunks/{chart-heat-map-BsND8RM_.js → chart-heat-map-q7Vf_dog.js} +3 -3
  160. package/dist/client/chunks/{chart-heat-map-BsND8RM_.js.map → chart-heat-map-q7Vf_dog.js.map} +1 -1
  161. package/dist/client/chunks/{chart-kpi-delta-m0azuva-.js → chart-kpi-delta-PEuA3iGs.js} +3 -3
  162. package/dist/client/chunks/{chart-kpi-delta-m0azuva-.js.map → chart-kpi-delta-PEuA3iGs.js.map} +1 -1
  163. package/dist/client/chunks/{chart-kpi-number-6JS15SqF.js → chart-kpi-number-DlxrO6Pq.js} +5 -5
  164. package/dist/client/chunks/{chart-kpi-number-6JS15SqF.js.map → chart-kpi-number-DlxrO6Pq.js.map} +1 -1
  165. package/dist/client/chunks/{chart-kpi-text-BqX8p8Jn.js → chart-kpi-text-Cx6cJu2s.js} +3 -3
  166. package/dist/client/chunks/{chart-kpi-text-BqX8p8Jn.js.map → chart-kpi-text-Cx6cJu2s.js.map} +1 -1
  167. package/dist/client/chunks/{chart-line-NCmpxBfE.js → chart-line-pDe25JzB.js} +3 -3
  168. package/dist/client/chunks/{chart-line-NCmpxBfE.js.map → chart-line-pDe25JzB.js.map} +1 -1
  169. package/dist/client/chunks/{chart-markdown-ZOobqiiX.js → chart-markdown-CRY15yp0.js} +2 -2
  170. package/dist/client/chunks/{chart-markdown-ZOobqiiX.js.map → chart-markdown-CRY15yp0.js.map} +1 -1
  171. package/dist/client/chunks/{chart-measure-profile-CBAZaicJ.js → chart-measure-profile-DyQ-vvuC.js} +3 -3
  172. package/dist/client/chunks/{chart-measure-profile-CBAZaicJ.js.map → chart-measure-profile-DyQ-vvuC.js.map} +1 -1
  173. package/dist/client/chunks/{chart-pie-ChrasEI8.js → chart-pie-ZrnBycy1.js} +15 -15
  174. package/dist/client/chunks/{chart-pie-ChrasEI8.js.map → chart-pie-ZrnBycy1.js.map} +1 -1
  175. package/dist/client/chunks/{chart-radar-CxSVF7yL.js → chart-radar-BXbnYMUJ.js} +13 -13
  176. package/dist/client/chunks/{chart-radar-CxSVF7yL.js.map → chart-radar-BXbnYMUJ.js.map} +1 -1
  177. package/dist/client/chunks/{chart-radial-bar--SN0Wph0.js → chart-radial-bar-CYxH3ryh.js} +3 -3
  178. package/dist/client/chunks/{chart-radial-bar--SN0Wph0.js.map → chart-radial-bar-CYxH3ryh.js.map} +1 -1
  179. package/dist/client/chunks/{chart-sankey-CDOSGg9r.js → chart-sankey-C9R_TDDh.js} +2 -2
  180. package/dist/client/chunks/{chart-sankey-CDOSGg9r.js.map → chart-sankey-C9R_TDDh.js.map} +1 -1
  181. package/dist/client/chunks/{chart-scatter-DgcEF-kI.js → chart-scatter-DrwRkzzl.js} +3 -3
  182. package/dist/client/chunks/{chart-scatter-DgcEF-kI.js.map → chart-scatter-DrwRkzzl.js.map} +1 -1
  183. package/dist/client/chunks/{chart-sunburst-MB-jlGBm.js → chart-sunburst-Bs1yqIPp.js} +3 -3
  184. package/dist/client/chunks/{chart-sunburst-MB-jlGBm.js.map → chart-sunburst-Bs1yqIPp.js.map} +1 -1
  185. package/dist/client/chunks/{chart-tree-map-DeDXveVd.js → chart-tree-map-BNjHhhVq.js} +3 -3
  186. package/dist/client/chunks/{chart-tree-map-DeDXveVd.js.map → chart-tree-map-BNjHhhVq.js.map} +1 -1
  187. package/dist/client/chunks/{chart-waterfall-ur4vkO1j.js → chart-waterfall-CyoC0uLT.js} +3 -3
  188. package/dist/client/chunks/{chart-waterfall-ur4vkO1j.js.map → chart-waterfall-CyoC0uLT.js.map} +1 -1
  189. package/dist/client/chunks/charts-core-DCQ7od_L.js +190 -0
  190. package/dist/client/chunks/charts-core-DCQ7od_L.js.map +1 -0
  191. package/dist/client/chunks/charts-loader-Bya_zDIA.js +86 -0
  192. package/dist/client/chunks/charts-loader-Bya_zDIA.js.map +1 -0
  193. package/dist/client/chunks/{en-US-BE6VoG0o.js → en-US-HP6FHuNy.js} +3 -1
  194. package/dist/client/chunks/{en-US-BE6VoG0o.js.map → en-US-HP6FHuNy.js.map} +1 -1
  195. package/dist/client/chunks/{nl-NL-CMXHDBr0.js → nl-NL-CEdoCz6Q.js} +51 -1
  196. package/dist/client/chunks/nl-NL-CEdoCz6Q.js.map +1 -0
  197. package/dist/client/chunks/{schema-visualization-BEbFtUIL.js → schema-visualization-DfXxFBIY.js} +3 -3
  198. package/dist/client/chunks/{schema-visualization-BEbFtUIL.js.map → schema-visualization-DfXxFBIY.js.map} +1 -1
  199. package/dist/client/chunks/{useDirtyStateTracking-CSDg96Rw.js → useDirtyStateTracking-BFJHiiVK.js} +15 -15
  200. package/dist/client/chunks/{useDirtyStateTracking-CSDg96Rw.js.map → useDirtyStateTracking-BFJHiiVK.js.map} +1 -1
  201. package/dist/client/chunks/{useExplainAI-BnkoZ-zS.js → useExplainAI-_C4WQE5I.js} +16 -16
  202. package/dist/client/chunks/{useExplainAI-BnkoZ-zS.js.map → useExplainAI-_C4WQE5I.js.map} +1 -1
  203. package/dist/client/chunks/{vendor-BmJDaduD.js → vendor-Gb3lH0cc.js} +49 -49
  204. package/dist/client/chunks/{vendor-BmJDaduD.js.map → vendor-Gb3lH0cc.js.map} +1 -1
  205. package/dist/client/client/CubeClient.d.ts +11 -1
  206. package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +4 -2
  207. package/dist/client/components/AnalysisBuilder/ColumnFormatsEditor.d.ts +10 -0
  208. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +3 -2
  209. package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +7 -1
  210. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +2 -1
  211. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +4 -1
  212. package/dist/client/components/analyticsPortlet/usePortletDeadMembers.d.ts +24 -0
  213. package/dist/client/components/analyticsPortlet/usePortletPagination.d.ts +21 -0
  214. package/dist/client/components/charts/RecordsTable.config.d.ts +10 -0
  215. package/dist/client/components/charts/RecordsTable.d.ts +4 -0
  216. package/dist/client/components/charts/recordsTableHooks.d.ts +68 -0
  217. package/dist/client/components.js +1 -1
  218. package/dist/client/hooks.js +3 -3
  219. package/dist/client/icons/types.d.ts +1 -0
  220. package/dist/client/icons.js +2 -2
  221. package/dist/client/index.d.ts +2 -2
  222. package/dist/client/index.js +213 -213
  223. package/dist/client/providers.js +1 -1
  224. package/dist/client/schema.js +1 -1
  225. package/dist/client/styles.css +1 -1
  226. package/dist/client/types.d.ts +92 -1
  227. package/dist/client/utils/recordsTableUtils.d.ts +71 -0
  228. package/dist/client/utils/rowLinkUtils.d.ts +35 -0
  229. package/dist/client/utils.js +14 -14
  230. package/dist/client-bundle-stats.html +1 -1
  231. package/dist/mcp-app/mcp-app.html +107 -107
  232. package/dist/server/agent/chart-validation.d.ts +1 -1
  233. package/dist/server/ai/chart-schema.d.ts +117 -0
  234. package/dist/server/ai/discovery-helpers.d.ts +14 -0
  235. package/dist/server/ai/discovery.d.ts +6 -0
  236. package/dist/server/ai/query-schema.d.ts +1 -1
  237. package/dist/server/attribute-dimensions.d.ts +11 -8
  238. package/dist/server/builders/group-by-builder.d.ts +15 -0
  239. package/dist/server/compiler.d.ts +3 -4
  240. package/dist/server/executor.d.ts +15 -0
  241. package/dist/{adapters/google-eKAc20al.js → server/google-DRY7jnOh.js} +46 -28
  242. package/dist/server/{google-BhvizbFR.cjs → google-PsZzwedr.cjs} +2 -2
  243. package/dist/server/index.cjs +34 -34
  244. package/dist/server/index.d.ts +2 -0
  245. package/dist/server/index.js +1755 -1445
  246. package/dist/server/query-handlers.d.ts +1 -0
  247. package/dist/server/query-validator.d.ts +36 -4
  248. package/dist/server/types/core.d.ts +5 -0
  249. package/dist/server/types/cube.d.ts +12 -0
  250. package/dist/server/types/query.d.ts +8 -0
  251. package/package.json +1 -1
  252. package/dist/adapters/ActivityGridChart.config-BQhBE_Mr.js +0 -2
  253. package/dist/adapters/ActivityGridChart.config-C3tSuOGV.cjs +0 -1
  254. package/dist/adapters/AreaChart.config-3cme8HyQ.js +0 -2
  255. package/dist/adapters/AreaChart.config-BSxrT52Z.cjs +0 -1
  256. package/dist/adapters/BarChart.config-BKS8IecE.cjs +0 -1
  257. package/dist/adapters/BarChart.config-lt_7PdIi.js +0 -2
  258. package/dist/adapters/BoxPlotChart.config-B7qvRnrF.cjs +0 -1
  259. package/dist/adapters/BoxPlotChart.config-Dv6ECj2j.js +0 -2
  260. package/dist/adapters/BubbleChart.config-BrIH7OAy.cjs +0 -1
  261. package/dist/adapters/BubbleChart.config-Fhotb7Pg.js +0 -2
  262. package/dist/adapters/CandlestickChart.config-CWH41FmF.cjs +0 -1
  263. package/dist/adapters/CandlestickChart.config-RPtXuxsX.js +0 -2
  264. package/dist/adapters/DataTable.config-71L0GzlT.js +0 -2
  265. package/dist/adapters/DataTable.config-BsOMQq3J.cjs +0 -1
  266. package/dist/adapters/FunnelChart.config-Cqte9C04.cjs +0 -1
  267. package/dist/adapters/FunnelChart.config-DJtwWeNz.js +0 -2
  268. package/dist/adapters/GaugeChart.config-WkwZ9VdS.cjs +0 -1
  269. package/dist/adapters/GaugeChart.config-vpVQlP5B.js +0 -2
  270. package/dist/adapters/HeatMapChart.config-DcmkDl07.cjs +0 -1
  271. package/dist/adapters/HeatMapChart.config-DsmMgGxJ.js +0 -2
  272. package/dist/adapters/KpiDelta.config-DVy561BH.js +0 -2
  273. package/dist/adapters/KpiDelta.config-dpqwLHNE.cjs +0 -1
  274. package/dist/adapters/KpiNumber.config-927l8nq8.js +0 -2
  275. package/dist/adapters/KpiNumber.config-BqFBMfPf.cjs +0 -1
  276. package/dist/adapters/KpiText.config-C-fZXuHq.cjs +0 -1
  277. package/dist/adapters/KpiText.config-CWoXuhMA.js +0 -2
  278. package/dist/adapters/LineChart.config-DTp7pqOY.js +0 -2
  279. package/dist/adapters/LineChart.config-DUGvSjcH.cjs +0 -1
  280. package/dist/adapters/MarkdownChart.config-23Dmv2Ty.cjs +0 -1
  281. package/dist/adapters/MarkdownChart.config-Cb2TnS0I.js +0 -2
  282. package/dist/adapters/MeasureProfileChart.config-B2qbWdhy.cjs +0 -1
  283. package/dist/adapters/MeasureProfileChart.config-CvBCeI5b.js +0 -2
  284. package/dist/adapters/PieChart.config-BzJb13QA.js +0 -2
  285. package/dist/adapters/PieChart.config-plCn5Ehr.cjs +0 -1
  286. package/dist/adapters/ProportionBarChart.config-1r-_moBH.cjs +0 -1
  287. package/dist/adapters/ProportionBarChart.config-CN6TtHTp.js +0 -2
  288. package/dist/adapters/RadarChart.config-BYhdj9M7.js +0 -2
  289. package/dist/adapters/RadarChart.config-CeUMP-1g.cjs +0 -1
  290. package/dist/adapters/RadialBarChart.config-B88yXNsq.cjs +0 -1
  291. package/dist/adapters/RadialBarChart.config-ZMK9HMoh.js +0 -2
  292. package/dist/adapters/RetentionCombinedChart.config-B5yvgUHM.cjs +0 -1
  293. package/dist/adapters/RetentionCombinedChart.config-Dd-YMdK8.js +0 -2
  294. package/dist/adapters/RetentionHeatmap.config-BYzDleoV.cjs +0 -1
  295. package/dist/adapters/RetentionHeatmap.config-Dvj7yTB0.js +0 -2
  296. package/dist/adapters/SankeyChart.config-CPFRmgFb.cjs +0 -1
  297. package/dist/adapters/SankeyChart.config-ClgqXM1N.js +0 -2
  298. package/dist/adapters/ScatterChart.config-CvJiqPa5.cjs +0 -1
  299. package/dist/adapters/ScatterChart.config-DLZ3rYMq.js +0 -2
  300. package/dist/adapters/SunburstChart.config-C_1V5hoQ.cjs +0 -1
  301. package/dist/adapters/SunburstChart.config-FNU75NCg.js +0 -2
  302. package/dist/adapters/TreeMapChart.config-CprZk_YF.js +0 -2
  303. package/dist/adapters/TreeMapChart.config-DNwd0ge9.cjs +0 -1
  304. package/dist/adapters/WaterfallChart.config-BBhcN_Fh.cjs +0 -1
  305. package/dist/adapters/WaterfallChart.config-H7s6SSV3.js +0 -2
  306. package/dist/adapters/compiler-BaLO10VN.cjs +0 -166
  307. package/dist/adapters/mcp-transport-BGkSz-ZT.cjs +0 -40
  308. package/dist/adapters/mcp-transport-fJud19xz.js +0 -606
  309. package/dist/adapters/utils-BY0-KFyI.cjs +0 -128
  310. package/dist/client/chunks/DashboardEditModal-9An5EDAz.js.map +0 -1
  311. package/dist/client/chunks/analysis-builder-shared-BQvwUc6z.js.map +0 -1
  312. package/dist/client/chunks/chart-activity-grid-DvD_4wJz.js.map +0 -1
  313. package/dist/client/chunks/chart-data-table-DgiNBOWf.js.map +0 -1
  314. package/dist/client/chunks/charts-core-BAH5pkSB.js +0 -215
  315. package/dist/client/chunks/charts-core-BAH5pkSB.js.map +0 -1
  316. package/dist/client/chunks/charts-loader-eToV8je7.js +0 -85
  317. package/dist/client/chunks/charts-loader-eToV8je7.js.map +0 -1
  318. package/dist/client/chunks/nl-NL-CMXHDBr0.js.map +0 -1
@@ -1,31 +1,31 @@
1
- import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-BmJDaduD.js";
1
+ import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-Gb3lH0cc.js";
2
2
  import { n as a, t as o } from "./chunks/providers-DwQCKdGW.js";
3
- import { A as s, B as c, C as l, E as u, I as d, L as f, M as p, N as m, R as h, S as g, T as _, V as v, _ as y, b, c as x, g as S, j as C, k as w, l as T, s as E, v as D, w as O, x as k, y as A, z as j } from "./chunks/chart-data-table-DgiNBOWf.js";
4
- import { n as M, r as N } from "./chunks/chart-sankey-CDOSGg9r.js";
5
- import { $ as P, A as F, B as I, D as L, E as ee, F as te, G as R, H as ne, I as re, J as ie, K as ae, L as oe, M as se, N as ce, O as le, P as ue, Q as de, R as fe, St as pe, U as me, V as he, W as ge, X as _e, Y as ve, Z as ye, _t as be, a as xe, at as Se, bt as Ce, c as we, ct as Te, dt as Ee, et as De, f as Oe, ft as ke, gt as Ae, h as je, ht as Me, i as Ne, it as Pe, k as Fe, lt as Ie, m as Le, mt as Re, n as ze, o as Be, ot as Ve, p as He, pt as Ue, q as We, r as Ge, st as Ke, t as qe, ut as Je, v as Ye, vt as Xe, w as Ze, xt as Qe, yt as $e, z as et } from "./chunks/DashboardEditModal-9An5EDAz.js";
6
- import { S as tt, _ as nt, b as rt, c as it, d as at, f as ot, g as st, h as ct, l as lt, m as ut, o as dt, p as ft, s as pt, v as mt, y as ht } from "./chunks/useDirtyStateTracking-CSDg96Rw.js";
7
- import { P as z, S as gt, _ as _t, b as vt, g as yt, h as bt, m as xt, p as St, v as Ct, x as wt, y as Tt, z as Et } from "./chunks/chart-activity-grid-DvD_4wJz.js";
8
- import { a as Dt, i as Ot, n as kt, o as At, r as jt, t as Mt } from "./chunks/useExplainAI-BnkoZ-zS.js";
9
- import { a as Nt, c as Pt, i as Ft, l as It, o as Lt, r as Rt, s as zt } from "./chunks/chart-funnel-YLZlyN1X.js";
10
- import { a as Bt, i as Vt, n as Ht, o as Ut, r as Wt, s as Gt, t as Kt } from "./chunks/charts-loader-eToV8je7.js";
11
- import { H as B } from "./chunks/chart-area-DPp3hSOK.js";
12
- import { r as qt } from "./chunks/syntaxHighlighting-Cm43as8i.js";
13
- import { A as Jt, C as Yt, D as Xt, E as Zt, F as Qt, N as $t, O as en, P as tn, T as nn, _ as rn, a as an, b as on, c as sn, d as cn, f as ln, g as un, h as dn, i as fn, j as pn, k as mn, l as hn, m as gn, n as _n, o as vn, r as yn, s as bn, t as xn, u as Sn, v as Cn, w as wn, x as Tn, y as En } from "./chunks/analysis-builder-shared-BQvwUc6z.js";
14
- import { r as Dn } from "./chunks/chart-markdown-ZOobqiiX.js";
15
- import { t as On } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
16
- import { n as kn } from "./chunks/chart-bubble-Dl0RcP8N.js";
17
- import { i as An, t as jn } from "./chunks/utils-CToHkuhU.js";
18
- import V, { createContext as Mn, useCallback as H, useContext as Nn, useEffect as U, useMemo as W, useRef as G, useState as K } from "react";
3
+ import { A as s, B as c, C as l, D as u, E as d, H as f, L as p, M as m, N as h, P as g, R as _, S as v, T as y, U as b, V as x, _ as S, b as C, c as w, j as T, l as E, s as D, v as O, w as k, x as A, y as j, z as M } from "./chunks/chart-data-table-C_oHiK6N.js";
4
+ import { n as N, r as P } from "./chunks/chart-sankey-C9R_TDDh.js";
5
+ import { $ as F, A as I, B as L, D as ee, E as te, F as R, G as ne, H as re, I as ie, J as ae, K as oe, L as se, M as ce, N as le, O as ue, P as de, Q as fe, R as pe, St as me, U as he, V as ge, W as _e, X as ve, Y as ye, Z as be, _t as xe, a as Se, at as Ce, bt as we, c as Te, ct as Ee, dt as De, et as Oe, f as ke, ft as Ae, gt as je, h as Me, ht as Ne, i as Pe, it as Fe, k as Ie, lt as Le, m as Re, mt as ze, n as Be, o as Ve, ot as He, p as Ue, pt as We, q as Ge, r as Ke, st as qe, t as Je, ut as Ye, v as Xe, vt as Ze, w as Qe, xt as $e, yt as et, z as tt } from "./chunks/DashboardEditModal-_ZDMwaGX.js";
6
+ import { S as nt, _ as rt, b as it, c as at, d as ot, f as st, g as ct, h as lt, l as ut, m as dt, o as ft, p as pt, s as mt, v as ht, y as gt } from "./chunks/useDirtyStateTracking-BFJHiiVK.js";
7
+ import { B as _t, F as z, S as vt, _ as yt, b as bt, g as xt, h as St, m as Ct, p as wt, v as Tt, x as Et, y as Dt } from "./chunks/chart-activity-grid-DO82rrbW.js";
8
+ import { a as Ot, i as kt, n as At, o as jt, r as Mt, t as Nt } from "./chunks/useExplainAI-_C4WQE5I.js";
9
+ import { a as Pt, c as Ft, i as It, l as Lt, o as Rt, r as zt, s as Bt } from "./chunks/chart-funnel-B_CWC3cL.js";
10
+ import { a as Vt, i as Ht, n as Ut, o as Wt, r as Gt, s as Kt, t as qt } from "./chunks/charts-loader-Bya_zDIA.js";
11
+ import { H as B } from "./chunks/chart-area-9SBeG0GM.js";
12
+ import { r as Jt } from "./chunks/syntaxHighlighting-Cm43as8i.js";
13
+ import { A as Yt, C as Xt, D as Zt, E as Qt, F as $t, N as en, O as tn, P as nn, T as rn, _ as an, a as on, b as sn, c as cn, d as ln, f as un, g as dn, h as fn, i as pn, j as mn, k as hn, l as gn, m as _n, n as vn, o as yn, r as bn, s as xn, t as Sn, u as Cn, v as wn, w as Tn, x as En, y as Dn } from "./chunks/analysis-builder-shared-ow9KAHDP.js";
14
+ import { r as On } from "./chunks/chart-markdown-CRY15yp0.js";
15
+ import { t as kn } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
16
+ import { n as An } from "./chunks/chart-bubble-BNmonWqW.js";
17
+ import { i as jn, t as Mn } from "./chunks/utils-CToHkuhU.js";
18
+ import V, { createContext as Nn, useCallback as H, useContext as Pn, useEffect as U, useMemo as W, useRef as G, useState as K } from "react";
19
19
  import { Fragment as q, jsx as J, jsxs as Y } from "react/jsx-runtime";
20
20
  //#region src/client/stores/notebookStore.tsx
21
- var Pn = () => ({
21
+ var Fn = () => ({
22
22
  blocks: [],
23
23
  messages: [],
24
24
  isStreaming: !1,
25
25
  sessionId: null,
26
26
  inputValue: ""
27
27
  });
28
- function Fn(e, t) {
28
+ function In(e, t) {
29
29
  return {
30
30
  addBlock: (t) => e((e) => ({ blocks: [...e.blocks, t] })),
31
31
  removeBlock: (t) => e((e) => ({ blocks: e.blocks.filter((e) => e.id !== t) })),
@@ -89,38 +89,38 @@ function Fn(e, t) {
89
89
  blocks: t.blocks || [],
90
90
  messages: t.messages || []
91
91
  }),
92
- reset: () => e(Pn())
92
+ reset: () => e(Fn())
93
93
  };
94
94
  }
95
- function In() {
96
- let t = Pn();
95
+ function Ln() {
96
+ let t = Fn();
97
97
  return i()(r(e((e, n) => ({
98
98
  ...t,
99
- ...Fn(e, n)
99
+ ...In(e, n)
100
100
  })), { name: "NotebookStore" }));
101
101
  }
102
- var Ln = Mn(null);
103
- function Rn({ children: e, initialConfig: t }) {
102
+ var Rn = Nn(null);
103
+ function zn({ children: e, initialConfig: t }) {
104
104
  let n = G(null);
105
105
  if (!n.current) {
106
- let e = In();
106
+ let e = Ln();
107
107
  t && e.getState().load(t), n.current = e;
108
108
  }
109
- return /* @__PURE__ */ J(Ln.Provider, {
109
+ return /* @__PURE__ */ J(Rn.Provider, {
110
110
  value: n.current,
111
111
  children: e
112
112
  });
113
113
  }
114
114
  function X(e) {
115
- let t = Nn(Ln);
115
+ let t = Pn(Rn);
116
116
  if (!t) throw Error("useNotebookStore must be used within NotebookStoreProvider");
117
117
  return n(t, e);
118
118
  }
119
- var zn = (e) => e.blocks, Bn = (e) => e.messages, Vn = (e) => e.isStreaming, Hn = (e) => e.sessionId, Un = (e) => e.inputValue, Wn = (e) => ({
119
+ var Bn = (e) => e.blocks, Vn = (e) => e.messages, Hn = (e) => e.isStreaming, Un = (e) => e.sessionId, Wn = (e) => e.inputValue, Gn = (e) => ({
120
120
  messages: e.messages,
121
121
  isStreaming: e.isStreaming,
122
122
  inputValue: e.inputValue
123
- }), Gn = (e) => ({
123
+ }), Kn = (e) => ({
124
124
  addMessage: e.addMessage,
125
125
  appendToLastAssistantMessage: e.appendToLastAssistantMessage,
126
126
  setLastAssistantError: e.setLastAssistantError,
@@ -129,7 +129,7 @@ var zn = (e) => e.blocks, Bn = (e) => e.messages, Vn = (e) => e.isStreaming, Hn
129
129
  setIsStreaming: e.setIsStreaming,
130
130
  setInputValue: e.setInputValue,
131
131
  setSessionId: e.setSessionId
132
- }), Kn = (e) => ({
132
+ }), qn = (e) => ({
133
133
  addBlock: e.addBlock,
134
134
  removeBlock: e.removeBlock,
135
135
  moveBlock: e.moveBlock,
@@ -138,7 +138,7 @@ var zn = (e) => e.blocks, Bn = (e) => e.messages, Vn = (e) => e.isStreaming, Hn
138
138
  width: "16px",
139
139
  height: "16px",
140
140
  color: "currentColor"
141
- }, qn = D("chevronUp"), Jn = D("chevronDown"), Yn = D("edit"), Xn = D("delete"), Zn = V.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
141
+ }, Jn = j("chevronUp"), Yn = j("chevronDown"), Xn = j("edit"), Zn = j("delete"), Qn = V.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
142
142
  let [c, l] = K(null), u = H((e) => {
143
143
  l(e);
144
144
  }, []);
@@ -151,7 +151,7 @@ var zn = (e) => e.blocks, Bn = (e) => e.messages, Vn = (e) => e.isStreaming, Hn
151
151
  children: [/* @__PURE__ */ J("h3", {
152
152
  className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
153
153
  children: e.title || "Untitled"
154
- }), c && /* @__PURE__ */ J(F, {
154
+ }), c && /* @__PURE__ */ J(I, {
155
155
  chartConfig: c.chartConfig,
156
156
  displayConfig: c.displayConfig,
157
157
  queryObject: c.queryObject,
@@ -166,31 +166,31 @@ var zn = (e) => e.blocks, Bn = (e) => e.messages, Vn = (e) => e.isStreaming, Hn
166
166
  onClick: () => r(e.id),
167
167
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
168
168
  title: "Move up",
169
- children: /* @__PURE__ */ J(qn, { style: Z })
169
+ children: /* @__PURE__ */ J(Jn, { style: Z })
170
170
  }),
171
171
  !s && /* @__PURE__ */ J("button", {
172
172
  onClick: () => i(e.id),
173
173
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
174
174
  title: "Move down",
175
- children: /* @__PURE__ */ J(Jn, { style: Z })
175
+ children: /* @__PURE__ */ J(Yn, { style: Z })
176
176
  }),
177
177
  /* @__PURE__ */ J("button", {
178
178
  onClick: () => a(e),
179
179
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
180
180
  title: "Edit visualization",
181
- children: /* @__PURE__ */ J(Yn, { style: Z })
181
+ children: /* @__PURE__ */ J(Xn, { style: Z })
182
182
  }),
183
183
  /* @__PURE__ */ J("button", {
184
184
  onClick: () => n(e.id),
185
185
  className: "dc:p-1 dc:mr-0.5 dc:bg-transparent dc:border-none dc:rounded-sm dc:cursor-pointer dc:hover:bg-dc-danger-bg text-dc-danger dc:transition-colors",
186
186
  title: "Remove",
187
- children: /* @__PURE__ */ J(Xn, { style: Z })
187
+ children: /* @__PURE__ */ J(Zn, { style: Z })
188
188
  })
189
189
  ]
190
190
  })]
191
191
  }), /* @__PURE__ */ J("div", {
192
192
  className: "dc:flex-1 dc:min-h-0",
193
- children: /* @__PURE__ */ J(_e, {
193
+ children: /* @__PURE__ */ J(ve, {
194
194
  query: e.query,
195
195
  chartType: e.chartType,
196
196
  chartConfig: e.chartConfig,
@@ -206,8 +206,8 @@ var zn = (e) => e.blocks, Bn = (e) => e.messages, Vn = (e) => e.isStreaming, Hn
206
206
  width: "16px",
207
207
  height: "16px",
208
208
  color: "currentColor"
209
- }, Qn = D("documentText"), $n = D("chevronUp"), er = D("chevronDown"), tr = D("delete");
210
- function nr({ children: e, ...t }) {
209
+ }, $n = j("documentText"), er = j("chevronUp"), tr = j("chevronDown"), nr = j("delete");
210
+ function rr({ children: e, ...t }) {
211
211
  return /* @__PURE__ */ J("div", {
212
212
  className: "dc:overflow-x-auto dc:my-2",
213
213
  children: /* @__PURE__ */ J("table", {
@@ -216,7 +216,7 @@ function nr({ children: e, ...t }) {
216
216
  })
217
217
  });
218
218
  }
219
- var rr = { overrides: {
219
+ var ir = { overrides: {
220
220
  h1: { props: { className: "dc:text-lg dc:font-bold text-dc-text dc:mb-2 dc:mt-3" } },
221
221
  h2: { props: { className: "dc:text-base dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
222
222
  h3: { props: { className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
@@ -235,21 +235,21 @@ var rr = { overrides: {
235
235
  hr: { props: { className: "dc:my-3 border-dc-border" } },
236
236
  blockquote: { props: { className: "dc:border-l-4 border-dc-accent dc:pl-3 dc:my-2 dc:italic text-dc-text-secondary dc:text-sm" } },
237
237
  table: {
238
- component: nr,
238
+ component: rr,
239
239
  props: { className: "dc:w-full dc:border-collapse dc:text-sm" }
240
240
  },
241
241
  thead: { props: { className: "bg-dc-surface-secondary" } },
242
242
  th: { props: { className: "dc:px-3 dc:py-2 dc:text-left dc:font-semibold dc:text-xs text-dc-text-secondary dc:uppercase dc:tracking-wider border-dc-border dc:border-b" } },
243
243
  td: { props: { className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text border-dc-border dc:border-b" } },
244
244
  tr: { props: { className: "dc:hover:opacity-80" } }
245
- } }, ir = V.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
245
+ } }, ar = V.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
246
246
  return /* @__PURE__ */ Y("div", {
247
247
  className: "dc:relative dc:mb-4 bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
248
248
  children: [/* @__PURE__ */ Y("div", {
249
249
  className: "dc:flex dc:items-center dc:justify-between dc:px-3 dc:py-1.5 dc:border-b border-dc-border dc:shrink-0 bg-dc-surface-secondary dc:rounded-t-lg",
250
250
  children: [/* @__PURE__ */ Y("div", {
251
251
  className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
252
- children: [/* @__PURE__ */ J(Qn, { style: Q }), /* @__PURE__ */ J("h3", {
252
+ children: [/* @__PURE__ */ J($n, { style: Q }), /* @__PURE__ */ J("h3", {
253
253
  className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
254
254
  children: e.title || "Markdown"
255
255
  })]
@@ -260,26 +260,26 @@ var rr = { overrides: {
260
260
  onClick: () => n(e.id),
261
261
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
262
262
  title: "Move up",
263
- children: /* @__PURE__ */ J($n, { style: Q })
263
+ children: /* @__PURE__ */ J(er, { style: Q })
264
264
  }),
265
265
  !a && /* @__PURE__ */ J("button", {
266
266
  onClick: () => r(e.id),
267
267
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
268
268
  title: "Move down",
269
- children: /* @__PURE__ */ J(er, { style: Q })
269
+ children: /* @__PURE__ */ J(tr, { style: Q })
270
270
  }),
271
271
  /* @__PURE__ */ J("button", {
272
272
  onClick: () => t(e.id),
273
273
  className: "dc:p-1 dc:mr-0.5 dc:bg-transparent dc:border-none dc:rounded-sm dc:cursor-pointer dc:hover:bg-dc-danger-bg text-dc-danger dc:transition-colors",
274
274
  title: "Remove",
275
- children: /* @__PURE__ */ J(tr, { style: Q })
275
+ children: /* @__PURE__ */ J(nr, { style: Q })
276
276
  })
277
277
  ]
278
278
  })]
279
279
  }), /* @__PURE__ */ J("div", {
280
280
  className: "dc:p-4 dc:min-w-0 dc:overflow-hidden",
281
- children: /* @__PURE__ */ J(Dn, {
282
- options: rr,
281
+ children: /* @__PURE__ */ J(On, {
282
+ options: ir,
283
283
  children: e.content
284
284
  })
285
285
  })]
@@ -287,8 +287,8 @@ var rr = { overrides: {
287
287
  });
288
288
  //#endregion
289
289
  //#region src/client/components/AgenticNotebook/NotebookCanvas.tsx
290
- function ar(e) {
291
- let { analysisConfig: t } = Pe(e);
290
+ function or(e) {
291
+ let { analysisConfig: t } = Fe(e);
292
292
  if (!t) return null;
293
293
  let n = t.charts[t.analysisType];
294
294
  return {
@@ -299,14 +299,14 @@ function ar(e) {
299
299
  displayConfig: n?.displayConfig
300
300
  };
301
301
  }
302
- var or = V.memo(function({ colorPalette: e }) {
303
- let { t: n } = z(), r = e ?? ee(), i = X(zn), { removeBlock: a, moveBlock: o, updateBlock: s } = X(t(Kn)), c = G(null), [l, u] = K(null), d = G(i.length);
302
+ var sr = V.memo(function({ colorPalette: e }) {
303
+ let { t: n } = z(), r = e ?? te(), i = X(Bn), { removeBlock: a, moveBlock: o, updateBlock: s } = X(t(qn)), c = G(null), [l, u] = K(null), d = G(i.length);
304
304
  U(() => {
305
305
  i.length > d.current && c.current?.scrollIntoView({ behavior: "smooth" }), d.current = i.length;
306
306
  }, [i.length]);
307
307
  let f = H((e) => a(e), [a]), p = H((e) => o(e, "up"), [o]), m = H((e) => o(e, "down"), [o]), h = H((e) => u(e), []), g = H((e) => {
308
308
  if (!l) return;
309
- let t = ar(e);
309
+ let t = or(e);
310
310
  t && s(l.id, t), u(null);
311
311
  }, [l, s]);
312
312
  return i.length === 0 ? /* @__PURE__ */ J("div", {
@@ -326,7 +326,7 @@ var or = V.memo(function({ colorPalette: e }) {
326
326
  children: [
327
327
  i.map((e, t) => {
328
328
  let n = t === 0, a = t === i.length - 1;
329
- return e.type === "portlet" ? /* @__PURE__ */ J(Zn, {
329
+ return e.type === "portlet" ? /* @__PURE__ */ J(Qn, {
330
330
  block: e,
331
331
  colorPalette: r,
332
332
  onRemove: f,
@@ -335,7 +335,7 @@ var or = V.memo(function({ colorPalette: e }) {
335
335
  onEdit: h,
336
336
  isFirst: n,
337
337
  isLast: a
338
- }, e.id) : e.type === "markdown" ? /* @__PURE__ */ J(ir, {
338
+ }, e.id) : e.type === "markdown" ? /* @__PURE__ */ J(ar, {
339
339
  block: e,
340
340
  onRemove: f,
341
341
  onMoveUp: p,
@@ -345,7 +345,7 @@ var or = V.memo(function({ colorPalette: e }) {
345
345
  }, e.id) : null;
346
346
  }),
347
347
  /* @__PURE__ */ J("div", { ref: c }),
348
- /* @__PURE__ */ J(we, {
348
+ /* @__PURE__ */ J(Te, {
349
349
  isOpen: !!l,
350
350
  onClose: () => u(null),
351
351
  onSave: g,
@@ -370,7 +370,7 @@ var or = V.memo(function({ colorPalette: e }) {
370
370
  });
371
371
  //#endregion
372
372
  //#region src/client/components/AgenticNotebook/chatMessageParts.tsx
373
- function sr(e) {
373
+ function cr(e) {
374
374
  let t = [], n = e, r = 0;
375
375
  for (; n;) {
376
376
  let e = n.match(/^(.*?)`([^`]+)`(.*)$/);
@@ -396,17 +396,17 @@ function sr(e) {
396
396
  }
397
397
  return t;
398
398
  }
399
- var cr = {
399
+ var lr = {
400
400
  discover_cubes: "Discovering cubes",
401
401
  get_cube_metadata: "Reading metadata",
402
402
  execute_query: "Executing query",
403
403
  add_portlet: "Adding visualization",
404
404
  add_markdown: "Adding explanation"
405
405
  };
406
- function lr(e, t, n) {
406
+ function ur(e, t, n) {
407
407
  return e ? "bg-dc-accent text-dc-accent-text dc:rounded-br-sm" : t && !n ? "bg-dc-warning-bg text-dc-text dc:rounded-bl-sm" : "bg-dc-surface-secondary text-dc-text dc:rounded-bl-sm";
408
408
  }
409
- function ur({ toolCall: e, loadingComponent: t }) {
409
+ function dr({ toolCall: e, loadingComponent: t }) {
410
410
  return e.status === "running" ? t ? /* @__PURE__ */ J("span", {
411
411
  className: "dc:inline-flex dc:items-center dc:justify-center dc:h-3 dc:w-3",
412
412
  children: t
@@ -415,24 +415,24 @@ function ur({ toolCall: e, loadingComponent: t }) {
415
415
  children: e.status === "error" ? "✗" : "✓"
416
416
  });
417
417
  }
418
- function dr(e) {
418
+ function fr(e) {
419
419
  return typeof e == "string" ? e : JSON.stringify(e, null, 2);
420
420
  }
421
- function fr({ result: e }) {
421
+ function pr({ result: e }) {
422
422
  return e == null ? null : /* @__PURE__ */ J("pre", {
423
423
  className: "dc:mt-1 dc:p-2 dc:rounded-sm dc:text-[11px] dc:overflow-x-auto dc:max-h-32 dc:overflow-y-auto bg-dc-surface-secondary text-dc-text-secondary",
424
- children: dr(e)
424
+ children: fr(e)
425
425
  });
426
426
  }
427
- function pr({ toolCall: e, loadingComponent: t }) {
428
- let [n, r] = K(!1), i = cr[e.name] || e.name, a = e.status === "running";
427
+ function mr({ toolCall: e, loadingComponent: t }) {
428
+ let [n, r] = K(!1), i = lr[e.name] || e.name, a = e.status === "running";
429
429
  return /* @__PURE__ */ Y("div", {
430
430
  className: "dc:my-1 dc:text-xs",
431
431
  children: [/* @__PURE__ */ Y("button", {
432
432
  onClick: () => r(!n),
433
433
  className: "dc:flex dc:items-center dc:gap-1.5 text-dc-text-secondary dc:hover:opacity-80 dc:transition-opacity",
434
434
  children: [
435
- /* @__PURE__ */ J(ur, {
435
+ /* @__PURE__ */ J(dr, {
436
436
  toolCall: e,
437
437
  loadingComponent: t
438
438
  }),
@@ -442,10 +442,10 @@ function pr({ toolCall: e, loadingComponent: t }) {
442
442
  children: n ? "▲" : "▼"
443
443
  })
444
444
  ]
445
- }), n && /* @__PURE__ */ J(fr, { result: e.result })]
445
+ }), n && /* @__PURE__ */ J(pr, { result: e.result })]
446
446
  });
447
447
  }
448
- function mr({ error: e, hasContent: t }) {
448
+ function hr({ error: e, hasContent: t }) {
449
449
  return /* @__PURE__ */ Y("div", {
450
450
  className: `dc:flex dc:items-start dc:gap-2 ${t ? "dc:mt-2 dc:pt-2 dc:border-t dc:border-current dc:border-opacity-10" : ""}`,
451
451
  children: [/* @__PURE__ */ J("span", {
@@ -457,7 +457,7 @@ function mr({ error: e, hasContent: t }) {
457
457
  })]
458
458
  });
459
459
  }
460
- function hr(e) {
460
+ function gr(e) {
461
461
  let t = e.role === "user", n = !!e.content?.trim(), r = !!e.error, i = e.toolCalls ?? [], a = i.length > 0;
462
462
  return {
463
463
  isUser: t,
@@ -468,28 +468,28 @@ function hr(e) {
468
468
  shouldRender: t || n || r || a
469
469
  };
470
470
  }
471
- function gr({ message: e, flags: t, loadingComponent: n }) {
471
+ function _r({ message: e, flags: t, loadingComponent: n }) {
472
472
  let { isUser: r, hasContent: i, hasError: a, hasToolCalls: o, toolCalls: s } = t;
473
473
  return /* @__PURE__ */ Y(q, { children: [
474
474
  i && /* @__PURE__ */ J("div", {
475
475
  className: "dc:whitespace-pre-wrap dc:break-words",
476
- children: r ? e.content : sr(e.content)
476
+ children: r ? e.content : cr(e.content)
477
477
  }),
478
- a && /* @__PURE__ */ J(mr, {
478
+ a && /* @__PURE__ */ J(hr, {
479
479
  error: e.error,
480
480
  hasContent: i
481
481
  }),
482
- o && /* @__PURE__ */ J(_r, {
482
+ o && /* @__PURE__ */ J(vr, {
483
483
  toolCalls: s,
484
484
  loadingComponent: n,
485
485
  separated: i || a
486
486
  })
487
487
  ] });
488
488
  }
489
- function _r({ toolCalls: e, loadingComponent: t, separated: n }) {
489
+ function vr({ toolCalls: e, loadingComponent: t, separated: n }) {
490
490
  return /* @__PURE__ */ J("div", {
491
491
  className: n ? "dc:mt-1 dc:border-t dc:border-current dc:border-opacity-10 dc:pt-1" : "",
492
- children: e.map((e, n) => /* @__PURE__ */ J(pr, {
492
+ children: e.map((e, n) => /* @__PURE__ */ J(mr, {
493
493
  toolCall: e,
494
494
  loadingComponent: t
495
495
  }, e.id || n))
@@ -497,23 +497,23 @@ function _r({ toolCalls: e, loadingComponent: t, separated: n }) {
497
497
  }
498
498
  //#endregion
499
499
  //#region src/client/components/AgenticNotebook/ChatMessage.tsx
500
- var vr = { animation: "dc-msg-in 100ms ease-out" }, yr = V.memo(function({ message: e, loadingComponent: t }) {
501
- let n = hr(e);
500
+ var yr = { animation: "dc-msg-in 100ms ease-out" }, br = V.memo(function({ message: e, loadingComponent: t }) {
501
+ let n = gr(e);
502
502
  if (!n.shouldRender) return null;
503
503
  let { isUser: r, hasContent: i, hasError: a } = n;
504
504
  return /* @__PURE__ */ J("div", {
505
505
  className: `dc:flex dc:mb-3 ${r ? "dc:justify-end" : "dc:justify-start"}`,
506
- style: vr,
506
+ style: yr,
507
507
  children: /* @__PURE__ */ J("div", {
508
- className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${lr(r, a, i)}`,
509
- children: /* @__PURE__ */ J(gr, {
508
+ className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${ur(r, a, i)}`,
509
+ children: /* @__PURE__ */ J(_r, {
510
510
  message: e,
511
511
  flags: n,
512
512
  loadingComponent: t
513
513
  })
514
514
  })
515
515
  });
516
- }), br = V.memo(function({ value: e, onChange: t, onSend: n, onStop: r, onContinue: i, isStreaming: a = !1, showContinue: o = !1, disabled: s = !1, placeholder: c }) {
516
+ }), xr = V.memo(function({ value: e, onChange: t, onSend: n, onStop: r, onContinue: i, isStreaming: a = !1, showContinue: o = !1, disabled: s = !1, placeholder: c }) {
517
517
  let { t: l } = z(), u = c ?? l("notebook.chatInput.placeholder"), d = G(null);
518
518
  U(() => {
519
519
  let e = d.current;
@@ -557,7 +557,7 @@ var vr = { animation: "dc-msg-in 100ms ease-out" }, yr = V.memo(function({ messa
557
557
  });
558
558
  //#endregion
559
559
  //#region src/client/hooks/agentChatStream.ts
560
- function xr(e) {
560
+ function Sr(e) {
561
561
  if (e.startsWith("{") || e.includes("\"type\":\"error\"")) try {
562
562
  let t = JSON.parse(e.replace(/^Error:\s*/, ""));
563
563
  return {
@@ -575,7 +575,7 @@ function xr(e) {
575
575
  }
576
576
  return e;
577
577
  }
578
- function Sr(e, t) {
578
+ function Cr(e, t) {
579
579
  switch (e.type) {
580
580
  case "text_delta":
581
581
  t.onTextDelta(e.data);
@@ -610,13 +610,13 @@ function Sr(e, t) {
610
610
  case "error": t.onError(e.data.message);
611
611
  }
612
612
  }
613
- function Cr(e, t) {
613
+ function wr(e, t) {
614
614
  let n = e.trim().split("\n");
615
615
  for (let e of n) if (e.startsWith("data: ")) try {
616
616
  t(JSON.parse(e.slice(6)));
617
617
  } catch {}
618
618
  }
619
- function wr(e) {
619
+ function Tr(e) {
620
620
  let t = {
621
621
  "Content-Type": "application/json",
622
622
  ...e.baseHeaders
@@ -625,54 +625,54 @@ function wr(e) {
625
625
  }
626
626
  //#endregion
627
627
  //#region src/client/hooks/useAgentChat.ts
628
- function Tr(e) {
629
- let { agentEndpoint: t, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a } = e, { cubeApi: o } = j(), s = G(null), [c, l] = K(!1), u = G(e);
630
- return u.current = e, {
631
- sendMessage: H(async (e, c, d) => {
632
- let f = (e) => Sr(e, u.current);
628
+ function Er(e) {
629
+ let { agentEndpoint: t, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a } = e, { cubeApi: o } = c(), s = G(null), [l, u] = K(!1), d = G(e);
630
+ return d.current = e, {
631
+ sendMessage: H(async (e, c, l) => {
632
+ let f = (e) => Cr(e, d.current);
633
633
  s.current && s.current.abort();
634
634
  let p = new AbortController();
635
- s.current = p, l(!0);
635
+ s.current = p, u(!0);
636
636
  try {
637
- let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, l = wr({
637
+ let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u = Tr({
638
638
  baseHeaders: o.headers,
639
639
  agentApiKey: n,
640
640
  agentProvider: r,
641
641
  agentModel: i,
642
642
  agentProviderEndpoint: a
643
- }), u = await fetch(s, {
643
+ }), d = await fetch(s, {
644
644
  method: "POST",
645
- headers: l,
645
+ headers: u,
646
646
  credentials: o.credentials ?? "include",
647
647
  body: JSON.stringify({
648
648
  message: e,
649
649
  ...c ? { sessionId: c } : {},
650
- ...d && d.length > 0 ? { history: d } : {}
650
+ ...l && l.length > 0 ? { history: l } : {}
651
651
  }),
652
652
  signal: p.signal
653
653
  });
654
- if (!u.ok) {
655
- let e = await u.json().catch(() => ({}));
656
- throw Error(e.error || `Agent request failed: ${u.status}`);
654
+ if (!d.ok) {
655
+ let e = await d.json().catch(() => ({}));
656
+ throw Error(e.error || `Agent request failed: ${d.status}`);
657
657
  }
658
- if (!u.body) throw Error("No response body received");
659
- let m = u.body.getReader(), h = new TextDecoder(), g = "";
658
+ if (!d.body) throw Error("No response body received");
659
+ let m = d.body.getReader(), h = new TextDecoder(), g = "";
660
660
  for (;;) {
661
661
  let { done: e, value: t } = await m.read();
662
662
  if (e) break;
663
663
  g += h.decode(t, { stream: !0 });
664
664
  let n = g.split("\n\n");
665
665
  g = n.pop() || "";
666
- for (let e of n) Cr(e, f);
666
+ for (let e of n) wr(e, f);
667
667
  }
668
- g.trim() && Cr(g, f);
668
+ g.trim() && wr(g, f);
669
669
  } catch (e) {
670
670
  if (e.name !== "AbortError") {
671
671
  let t = e instanceof Error ? e.message : "Stream failed";
672
- u.current.onError(xr(t));
672
+ d.current.onError(Sr(t));
673
673
  }
674
674
  } finally {
675
- l(!1), s.current = null;
675
+ u(!1), s.current = null;
676
676
  }
677
677
  }, [
678
678
  o,
@@ -682,16 +682,16 @@ function Tr(e) {
682
682
  i,
683
683
  a
684
684
  ]),
685
- isStreaming: c,
685
+ isStreaming: l,
686
686
  abort: H(() => {
687
- s.current && (s.current.abort(), s.current = null, l(!1));
687
+ s.current && (s.current.abort(), s.current = null, u(!1));
688
688
  }, [])
689
689
  };
690
690
  }
691
691
  //#endregion
692
692
  //#region src/client/components/AgenticNotebook/useAgentChatController.ts
693
- function Er({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onDashboardSaved: o, messages: s, isStreaming: c }) {
694
- let [l, u] = K(!1), [d, f] = K(null), p = G(!1), { addMessage: m, appendToLastAssistantMessage: h, setLastAssistantError: g, addToolCallToLastAssistant: _, updateLastToolCall: v, setIsStreaming: y, setInputValue: b, setSessionId: x } = X(t(Gn)), S = X((e) => e.sessionId), C = X((e) => e.addBlock), w = G(s);
693
+ function Dr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onDashboardSaved: o, messages: s, isStreaming: c }) {
694
+ let [l, u] = K(!1), [d, f] = K(null), p = G(!1), { addMessage: m, appendToLastAssistantMessage: h, setLastAssistantError: g, addToolCallToLastAssistant: _, updateLastToolCall: v, setIsStreaming: y, setInputValue: b, setSessionId: x } = X(t(Kn)), S = X((e) => e.sessionId), C = X((e) => e.addBlock), w = G(s);
695
695
  w.current = s;
696
696
  let T = G(c);
697
697
  T.current = c;
@@ -705,7 +705,7 @@ function Er({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
705
705
  toolCalls: [],
706
706
  timestamp: Date.now()
707
707
  }));
708
- }, [m]), { sendMessage: O, abort: k } = Tr({
708
+ }, [m]), { sendMessage: O, abort: k } = Er({
709
709
  agentEndpoint: e,
710
710
  agentApiKey: n,
711
711
  agentProvider: r,
@@ -789,20 +789,20 @@ function Er({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
789
789
  }
790
790
  //#endregion
791
791
  //#region src/client/components/AgenticNotebook/agentChatParts.tsx
792
- var Dr = D("thumbUp"), Or = D("thumbDown");
793
- function kr(...e) {
792
+ var Or = j("thumbUp"), kr = j("thumbDown");
793
+ function Ar(...e) {
794
794
  return e.every(Boolean);
795
795
  }
796
- function Ar(e) {
797
- let t = kr(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
796
+ function jr(e) {
797
+ let t = Ar(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
798
798
  return {
799
- showSaveAsDashboard: kr(t, e.onDashboardSaved, e.portletBlockCount > 0),
799
+ showSaveAsDashboard: Ar(t, e.onDashboardSaved, e.portletBlockCount > 0),
800
800
  showClear: e.messageCount > 0,
801
- showFeedback: kr(t, e.onScore, !!e.lastTraceId, !n),
801
+ showFeedback: Ar(t, e.onScore, !!e.lastTraceId, !n),
802
802
  lastScored: n
803
803
  };
804
804
  }
805
- function jr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
805
+ function Mr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
806
806
  let { t: a } = z();
807
807
  return /* @__PURE__ */ Y("div", {
808
808
  className: "dc:flex dc:items-center dc:justify-between dc:px-4 dc:py-3 border-dc-border dc:border-b",
@@ -826,7 +826,7 @@ function jr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDash
826
826
  })]
827
827
  });
828
828
  }
829
- function Mr({ scored: e, onScore: t }) {
829
+ function Nr({ scored: e, onScore: t }) {
830
830
  let { t: n } = z();
831
831
  return /* @__PURE__ */ J("div", {
832
832
  className: "dc:flex dc:items-center dc:justify-center dc:gap-3 dc:py-4 dc:mt-2",
@@ -841,16 +841,16 @@ function Mr({ scored: e, onScore: t }) {
841
841
  children: [/* @__PURE__ */ Y("button", {
842
842
  onClick: () => t(1),
843
843
  className: "dc:flex dc:items-center dc:gap-1.5 dc:px-3 dc:py-1.5 dc:rounded-lg dc:text-sm dc:font-medium border-dc-border dc:border text-dc-success hover:bg-dc-success-bg dc:transition-colors bg-dc-surface dc:cursor-pointer",
844
- children: [/* @__PURE__ */ J(Dr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
844
+ children: [/* @__PURE__ */ J(Or, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
845
845
  }), /* @__PURE__ */ Y("button", {
846
846
  onClick: () => t(0),
847
847
  className: "dc:flex dc:items-center dc:gap-1.5 dc:px-3 dc:py-1.5 dc:rounded-lg dc:text-sm dc:font-medium border-dc-border dc:border text-dc-error hover:bg-dc-danger-bg dc:transition-colors bg-dc-surface dc:cursor-pointer",
848
- children: [/* @__PURE__ */ J(Or, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
848
+ children: [/* @__PURE__ */ J(kr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
849
849
  })]
850
850
  })] })
851
851
  });
852
852
  }
853
- function Nr({ loadingComponent: e }) {
853
+ function Pr({ loadingComponent: e }) {
854
854
  let { t } = z();
855
855
  return /* @__PURE__ */ J("div", {
856
856
  className: "dc:flex dc:mb-3 dc:justify-start",
@@ -864,7 +864,7 @@ function Nr({ loadingComponent: e }) {
864
864
  })
865
865
  });
866
866
  }
867
- function Pr() {
867
+ function Fr() {
868
868
  let { t: e } = z();
869
869
  return /* @__PURE__ */ J("div", {
870
870
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
@@ -893,14 +893,14 @@ function Pr() {
893
893
  }
894
894
  //#endregion
895
895
  //#region src/client/components/AgenticNotebook/AgentChatPanel.tsx
896
- function Fr({ messages: e, loadingComponent: t }) {
897
- return e.length === 0 ? /* @__PURE__ */ J(Pr, {}) : /* @__PURE__ */ J(q, { children: e.map((e) => /* @__PURE__ */ J(yr, {
896
+ function Ir({ messages: e, loadingComponent: t }) {
897
+ return e.length === 0 ? /* @__PURE__ */ J(Fr, {}) : /* @__PURE__ */ J(q, { children: e.map((e) => /* @__PURE__ */ J(br, {
898
898
  message: e,
899
899
  loadingComponent: t
900
900
  }, e.id)) });
901
901
  }
902
- var Ir = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onClear: o, onDashboardSaved: s, onScore: c, loadingComponent: l, initialPrompt: u }) {
903
- let { t: d } = z(), f = G(null), p = G(!1), [m, h] = K(/* @__PURE__ */ new Set()), { messages: g, isStreaming: _, inputValue: v } = X(t(Wn)), y = X((e) => e.setInputValue), b = X((e) => e.reset), x = X((e) => e.setIsStreaming), S = X((e) => e.blocks.filter((e) => e.type === "portlet").length), { doSend: C, handleStop: w, abort: T, isThinking: E, setIsThinking: D, lastTraceId: O, setLastTraceId: k } = Er({
902
+ var Lr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onClear: o, onDashboardSaved: s, onScore: c, loadingComponent: l, initialPrompt: u }) {
903
+ let { t: d } = z(), f = G(null), p = G(!1), [m, h] = K(/* @__PURE__ */ new Set()), { messages: g, isStreaming: _, inputValue: v } = X(t(Gn)), y = X((e) => e.setInputValue), b = X((e) => e.reset), x = X((e) => e.setIsStreaming), S = X((e) => e.blocks.filter((e) => e.type === "portlet").length), { doSend: C, handleStop: w, abort: T, isThinking: E, setIsThinking: D, lastTraceId: O, setLastTraceId: k } = Dr({
904
904
  agentEndpoint: e,
905
905
  agentApiKey: n,
906
906
  agentProvider: r,
@@ -949,7 +949,7 @@ var Ir = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
949
949
  traceId: O,
950
950
  value: e
951
951
  }), h((e) => new Set(e).add(O)));
952
- }, [O, c]), { showSaveAsDashboard: L, showClear: ee, showFeedback: te, lastScored: R } = Ar({
952
+ }, [O, c]), { showSaveAsDashboard: L, showClear: ee, showFeedback: te, lastScored: R } = jr({
953
953
  onDashboardSaved: !!s,
954
954
  onScore: !!c,
955
955
  isStreaming: _,
@@ -961,7 +961,7 @@ var Ir = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
961
961
  return /* @__PURE__ */ Y("div", {
962
962
  className: "dc:flex dc:flex-col dc:h-full bg-dc-surface",
963
963
  children: [
964
- /* @__PURE__ */ J(jr, {
964
+ /* @__PURE__ */ J(Mr, {
965
965
  showSaveAsDashboard: L,
966
966
  showClear: ee,
967
967
  isStreaming: _,
@@ -971,19 +971,19 @@ var Ir = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
971
971
  /* @__PURE__ */ Y("div", {
972
972
  className: "dc:flex-1 dc:overflow-y-auto dc:px-4 dc:py-3",
973
973
  children: [
974
- /* @__PURE__ */ J(Fr, {
974
+ /* @__PURE__ */ J(Ir, {
975
975
  messages: g,
976
976
  loadingComponent: l
977
977
  }),
978
- E && /* @__PURE__ */ J(Nr, { loadingComponent: l }),
979
- (te || R) && /* @__PURE__ */ J(Mr, {
978
+ E && /* @__PURE__ */ J(Pr, { loadingComponent: l }),
979
+ (te || R) && /* @__PURE__ */ J(Nr, {
980
980
  scored: R,
981
981
  onScore: I
982
982
  }),
983
983
  /* @__PURE__ */ J("div", { ref: f })
984
984
  ]
985
985
  }),
986
- /* @__PURE__ */ J(br, {
986
+ /* @__PURE__ */ J(xr, {
987
987
  value: v,
988
988
  onChange: y,
989
989
  onSend: M,
@@ -997,7 +997,7 @@ var Ir = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
997
997
  });
998
998
  //#endregion
999
999
  //#region src/client/components/AgenticNotebook/useNotebookAutosave.ts
1000
- function Lr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
1000
+ function Rr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
1001
1001
  let a = G(), o = G(!1), s = G(i);
1002
1002
  s.current = i;
1003
1003
  let c = G(e > 0 || t > 0), l = H(() => {
@@ -1037,8 +1037,8 @@ function Lr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
1037
1037
  }
1038
1038
  //#endregion
1039
1039
  //#region src/client/components/AgenticNotebook/index.tsx
1040
- function Rr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1041
- let { t: i } = z(), a = D("bookOpen"), o = D("documentText");
1040
+ function zr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1041
+ let { t: i } = z(), a = j("bookOpen"), o = j("documentText");
1042
1042
  return /* @__PURE__ */ Y("button", {
1043
1043
  type: "button",
1044
1044
  onClick: r,
@@ -1067,8 +1067,8 @@ function Rr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1067
1067
  })]
1068
1068
  });
1069
1069
  }
1070
- function zr({ onExpand: e }) {
1071
- let { t } = z(), n = D("sparkles");
1070
+ function Br({ onExpand: e }) {
1071
+ let { t } = z(), n = j("sparkles");
1072
1072
  return /* @__PURE__ */ Y("button", {
1073
1073
  type: "button",
1074
1074
  onClick: e,
@@ -1081,8 +1081,8 @@ function zr({ onExpand: e }) {
1081
1081
  })]
1082
1082
  });
1083
1083
  }
1084
- function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r, agentProviderEndpoint: i, onSave: a, onDirtyStateChange: o, onDashboardSaved: s, onScore: c, colorPalette: l, loadingComponent: u, className: d, initialPrompt: f }) {
1085
- let [p, m] = K(60), h = G(null), g = G(!1), { containerRef: _, layoutMode: v } = On(), [y, b] = K("chat"), [x, S] = K(null), [C, w] = K(!1), T = G(v), E = X((e) => e.blocks), D = E.length, O = X((e) => e.messages.length), k = X((e) => e.isStreaming), A = X((e) => e.save);
1084
+ function Vr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r, agentProviderEndpoint: i, onSave: a, onDirtyStateChange: o, onDashboardSaved: s, onScore: c, colorPalette: l, loadingComponent: u, className: d, initialPrompt: f }) {
1085
+ let [p, m] = K(60), h = G(null), g = G(!1), { containerRef: _, layoutMode: v } = kn(), [y, b] = K("chat"), [x, S] = K(null), [C, w] = K(!1), T = G(v), E = X((e) => e.blocks), D = E.length, O = X((e) => e.messages.length), k = X((e) => e.isStreaming), A = X((e) => e.save);
1086
1086
  U(() => {
1087
1087
  T.current === "narrow" && v === "wide" && b("chat"), T.current = v;
1088
1088
  }, [v]);
@@ -1130,7 +1130,7 @@ function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1130
1130
  O,
1131
1131
  o
1132
1132
  ]);
1133
- let { clearSave: F } = Lr({
1133
+ let { clearSave: F } = Rr({
1134
1134
  blockCount: D,
1135
1135
  messageCount: O,
1136
1136
  isStreaming: k,
@@ -1146,7 +1146,7 @@ function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1146
1146
  g.current = !1, document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", n);
1147
1147
  };
1148
1148
  document.addEventListener("mousemove", t), document.addEventListener("mouseup", n);
1149
- }, []), L = /* @__PURE__ */ J(Ir, {
1149
+ }, []), L = /* @__PURE__ */ J(Lr, {
1150
1150
  agentEndpoint: e,
1151
1151
  agentApiKey: t,
1152
1152
  agentProvider: n,
@@ -1161,7 +1161,7 @@ function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1161
1161
  return v === "narrow" ? /* @__PURE__ */ J("div", {
1162
1162
  ref: N,
1163
1163
  className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
1164
- children: y === "chat" ? /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J(Rr, {
1164
+ children: y === "chat" ? /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J(zr, {
1165
1165
  blocks: E,
1166
1166
  pulsingBlockId: x,
1167
1167
  nudge: C,
@@ -1171,8 +1171,8 @@ function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1171
1171
  children: L
1172
1172
  })] }) : /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J("div", {
1173
1173
  className: "dc:h-full dc:overflow-hidden dc:flex-1",
1174
- children: /* @__PURE__ */ J(or, { colorPalette: l })
1175
- }), /* @__PURE__ */ J(zr, { onExpand: () => b("chat") })] })
1174
+ children: /* @__PURE__ */ J(sr, { colorPalette: l })
1175
+ }), /* @__PURE__ */ J(Br, { onExpand: () => b("chat") })] })
1176
1176
  }) : /* @__PURE__ */ Y("div", {
1177
1177
  ref: N,
1178
1178
  className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
@@ -1180,7 +1180,7 @@ function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1180
1180
  /* @__PURE__ */ J("div", {
1181
1181
  className: "dc:h-full dc:overflow-hidden",
1182
1182
  style: { width: `${p}%` },
1183
- children: /* @__PURE__ */ J(or, { colorPalette: l })
1183
+ children: /* @__PURE__ */ J(sr, { colorPalette: l })
1184
1184
  }),
1185
1185
  /* @__PURE__ */ J("div", {
1186
1186
  className: "dc:w-1 dc:h-full dc:cursor-col-resize dc:flex-shrink-0 dc:transition-colors bg-dc-border dc:hover:bg-dc-accent",
@@ -1194,10 +1194,10 @@ function Br({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1194
1194
  ]
1195
1195
  });
1196
1196
  }
1197
- var Vr = V.memo(function({ config: e, colorPalette: t, ...n }) {
1198
- return /* @__PURE__ */ J(Rn, {
1197
+ var Hr = V.memo(function({ config: e, colorPalette: t, ...n }) {
1198
+ return /* @__PURE__ */ J(zn, {
1199
1199
  initialConfig: e,
1200
- children: /* @__PURE__ */ J(Br, {
1200
+ children: /* @__PURE__ */ J(Vr, {
1201
1201
  ...n,
1202
1202
  colorPalette: t
1203
1203
  })
@@ -1205,28 +1205,28 @@ var Vr = V.memo(function({ config: e, colorPalette: t, ...n }) {
1205
1205
  });
1206
1206
  //#endregion
1207
1207
  //#region src/client/components/AnalyticsPage.tsx
1208
- function Hr() {
1208
+ function Ur() {
1209
1209
  let { t: e } = z();
1210
1210
  return /* @__PURE__ */ J("div", { children: e("analyticsPage.title") });
1211
1211
  }
1212
1212
  //#endregion
1213
1213
  //#region src/client/stores/dataBrowserStore.tsx
1214
- var Ur = "dc-data-browser-column-widths";
1215
- function Wr(e) {
1214
+ var Wr = "dc-data-browser-column-widths";
1215
+ function Gr(e) {
1216
1216
  try {
1217
- let t = localStorage.getItem(Ur);
1217
+ let t = localStorage.getItem(Wr);
1218
1218
  return t ? JSON.parse(t)[e] ?? {} : {};
1219
1219
  } catch {
1220
1220
  return {};
1221
1221
  }
1222
1222
  }
1223
- function Gr(e, t) {
1223
+ function Kr(e, t) {
1224
1224
  try {
1225
- let n = localStorage.getItem(Ur), r = n ? JSON.parse(n) : {};
1226
- r[e] = t, localStorage.setItem(Ur, JSON.stringify(r));
1225
+ let n = localStorage.getItem(Wr), r = n ? JSON.parse(n) : {};
1226
+ r[e] = t, localStorage.setItem(Wr, JSON.stringify(r));
1227
1227
  } catch {}
1228
1228
  }
1229
- function Kr(e = {}) {
1229
+ function qr(e = {}) {
1230
1230
  return i()((t, n) => ({
1231
1231
  selectedCube: e.defaultCube ?? null,
1232
1232
  visibleColumns: e.defaultColumns ?? [],
@@ -1237,7 +1237,7 @@ function Kr(e = {}) {
1237
1237
  filters: [],
1238
1238
  showFilterBar: !1,
1239
1239
  showColumnPicker: !1,
1240
- columnWidths: e.defaultCube ? Wr(e.defaultCube) : {},
1240
+ columnWidths: e.defaultCube ? Gr(e.defaultCube) : {},
1241
1241
  selectCube: (e, n) => t({
1242
1242
  selectedCube: e,
1243
1243
  visibleColumns: n,
@@ -1246,7 +1246,7 @@ function Kr(e = {}) {
1246
1246
  page: 0,
1247
1247
  filters: [],
1248
1248
  showFilterBar: !1,
1249
- columnWidths: Wr(e)
1249
+ columnWidths: Gr(e)
1250
1250
  }),
1251
1251
  setVisibleColumns: (e) => t({
1252
1252
  visibleColumns: e,
@@ -1293,39 +1293,39 @@ function Kr(e = {}) {
1293
1293
  ...t.columnWidths,
1294
1294
  [e]: n
1295
1295
  };
1296
- return t.selectedCube && Gr(t.selectedCube, r), { columnWidths: r };
1296
+ return t.selectedCube && Kr(t.selectedCube, r), { columnWidths: r };
1297
1297
  }),
1298
1298
  setColumnWidths: (e) => {
1299
1299
  let r = n().selectedCube;
1300
- r && Gr(r, e), t({ columnWidths: e });
1300
+ r && Kr(r, e), t({ columnWidths: e });
1301
1301
  }
1302
1302
  }));
1303
1303
  }
1304
- var qr = Mn(null);
1305
- function Jr({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
1304
+ var Jr = Nn(null);
1305
+ function Yr({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
1306
1306
  let i = G(null);
1307
- return i.current ||= Kr({
1307
+ return i.current ||= qr({
1308
1308
  defaultPageSize: t,
1309
1309
  defaultCube: n,
1310
1310
  defaultColumns: r
1311
- }), /* @__PURE__ */ J(qr.Provider, {
1311
+ }), /* @__PURE__ */ J(Jr.Provider, {
1312
1312
  value: i.current,
1313
1313
  children: e
1314
1314
  });
1315
1315
  }
1316
1316
  function $(e) {
1317
- let t = Nn(qr);
1317
+ let t = Pn(Jr);
1318
1318
  if (!t) throw Error("useDataBrowserStore must be used within DataBrowserStoreProvider");
1319
1319
  return n(t, e);
1320
1320
  }
1321
1321
  //#endregion
1322
1322
  //#region src/client/hooks/useDataBrowser.ts
1323
- function Yr(e, t) {
1323
+ function Xr(e, t) {
1324
1324
  if (!t) return !0;
1325
1325
  let [n, r] = e.split("."), i = t.cubes.find((e) => e.name === n);
1326
1326
  return !i || i.dimensions.some((e) => e.name === `${n}.${r}`);
1327
1327
  }
1328
- function Xr(e, t) {
1328
+ function Zr(e, t) {
1329
1329
  if (!t) return "string";
1330
1330
  let [n] = e.split("."), r = t.cubes.find((e) => e.name === n);
1331
1331
  if (!r) return "string";
@@ -1334,7 +1334,7 @@ function Xr(e, t) {
1334
1334
  let a = r.measures.find((t) => t.name === e);
1335
1335
  return a ? a.type : "string";
1336
1336
  }
1337
- function Zr(e, t) {
1337
+ function Qr(e, t) {
1338
1338
  if (!t) return {
1339
1339
  dimensions: [],
1340
1340
  measures: []
@@ -1356,7 +1356,7 @@ function Zr(e, t) {
1356
1356
  measures: n.measures.filter((e) => r.has(e.type)).map((e) => e.name)
1357
1357
  };
1358
1358
  }
1359
- function Qr() {
1359
+ function $r() {
1360
1360
  let e = $((e) => e.selectedCube), n = $((e) => e.visibleColumns), r = $((e) => e.sortColumn), i = $((e) => e.sortDirection), a = $((e) => e.page), o = $((e) => e.pageSize), s = $((e) => e.filters), c = $((e) => e.showFilterBar), l = $((e) => e.showColumnPicker), u = $(t((e) => ({
1361
1361
  selectCube: e.selectCube,
1362
1362
  setVisibleColumns: e.setVisibleColumns,
@@ -1368,7 +1368,7 @@ function Qr() {
1368
1368
  setFilters: e.setFilters,
1369
1369
  toggleFilterBar: e.toggleFilterBar,
1370
1370
  setShowColumnPicker: e.setShowColumnPicker
1371
- }))), { meta: d, getFieldLabel: f } = Et(), p = W(() => {
1371
+ }))), { meta: d, getFieldLabel: f } = _t(), p = W(() => {
1372
1372
  if (!d || !e) return null;
1373
1373
  let t = d.cubes.find((t) => t.name === e);
1374
1374
  if (!t) return null;
@@ -1376,7 +1376,7 @@ function Qr() {
1376
1376
  return n ? n.name : t.dimensions.length > 0 ? t.dimensions[0].name : null;
1377
1377
  }, [d, e]), m = r ?? p, h = r ? i : "asc", g = W(() => {
1378
1378
  if (!e || n.length === 0) return null;
1379
- let t = n.filter((e) => Yr(e, d)), r = n.filter((e) => !Yr(e, d));
1379
+ let t = n.filter((e) => Xr(e, d)), r = n.filter((e) => !Xr(e, d));
1380
1380
  if (t.length === 0) return null;
1381
1381
  let i = {
1382
1382
  dimensions: t,
@@ -1394,7 +1394,7 @@ function Qr() {
1394
1394
  a,
1395
1395
  o,
1396
1396
  d
1397
- ]), { rawData: _, isLoading: v, isFetching: y, isDebouncing: b, error: x, refetch: S } = tt(g, {
1397
+ ]), { rawData: _, isLoading: v, isFetching: y, isDebouncing: b, error: x, refetch: S } = nt(g, {
1398
1398
  skip: !g,
1399
1399
  debounceMs: 400,
1400
1400
  keepPreviousData: !0,
@@ -1430,8 +1430,8 @@ function Qr() {
1430
1430
  }
1431
1431
  //#endregion
1432
1432
  //#region src/client/components/DataBrowser/DataBrowserSidebar.tsx
1433
- var $r = D("search"), ei = D("cube");
1434
- function ti({ cubes: e, selectedCube: t, onSelectCube: n }) {
1433
+ var ei = j("search"), ti = j("cube");
1434
+ function ni({ cubes: e, selectedCube: t, onSelectCube: n }) {
1435
1435
  let { t: r } = z(), [i, a] = K(""), o = W(() => {
1436
1436
  let t = [...e].sort((e, t) => (e.title || e.name).localeCompare(t.title || t.name));
1437
1437
  if (!i) return t;
@@ -1447,7 +1447,7 @@ function ti({ cubes: e, selectedCube: t, onSelectCube: n }) {
1447
1447
  children: r("dataBrowser.sidebar.cubes")
1448
1448
  }), /* @__PURE__ */ Y("div", {
1449
1449
  className: "dc:relative",
1450
- children: [/* @__PURE__ */ J($r, { className: "dc:absolute dc:left-2 dc:top-1/2 dc:-translate-y-1/2 dc:w-3.5 dc:h-3.5 text-dc-text-muted" }), /* @__PURE__ */ J("input", {
1450
+ children: [/* @__PURE__ */ J(ei, { className: "dc:absolute dc:left-2 dc:top-1/2 dc:-translate-y-1/2 dc:w-3.5 dc:h-3.5 text-dc-text-muted" }), /* @__PURE__ */ J("input", {
1451
1451
  type: "text",
1452
1452
  value: i,
1453
1453
  onChange: (e) => a(e.target.value),
@@ -1460,7 +1460,7 @@ function ti({ cubes: e, selectedCube: t, onSelectCube: n }) {
1460
1460
  children: [o.map((e) => /* @__PURE__ */ Y("button", {
1461
1461
  onClick: () => n(e.name),
1462
1462
  className: `dc:flex dc:items-center dc:gap-2 dc:w-full dc:px-3 dc:py-1.5 dc:text-left dc:text-sm dc:transition-colors ${t === e.name ? "bg-dc-accent-bg text-dc-accent dc:font-medium" : "text-dc-text dc:hover:bg-dc-surface-hover"}`,
1463
- children: [/* @__PURE__ */ J(ei, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ J("span", {
1463
+ children: [/* @__PURE__ */ J(ti, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ J("span", {
1464
1464
  className: "dc:truncate",
1465
1465
  children: e.title || e.name
1466
1466
  })]
@@ -1473,8 +1473,8 @@ function ti({ cubes: e, selectedCube: t, onSelectCube: n }) {
1473
1473
  }
1474
1474
  //#endregion
1475
1475
  //#region src/client/components/DataBrowser/DataBrowserToolbar.tsx
1476
- var ni = D("filter"), ri = D("settings"), ii = D("chevronLeft"), ai = D("chevronRight"), oi = D("refresh");
1477
- function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleColumnPicker: r, page: i, pageSize: a, rowCount: o, hasNextPage: s, hasPrevPage: c, onPageChange: l, onPageSizeChange: u, isFetching: d, onRefresh: f }) {
1476
+ var ri = j("filter"), ii = j("settings"), ai = j("chevronLeft"), oi = j("chevronRight"), si = j("refresh");
1477
+ function ci({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleColumnPicker: r, page: i, pageSize: a, rowCount: o, hasNextPage: s, hasPrevPage: c, onPageChange: l, onPageSizeChange: u, isFetching: d, onRefresh: f }) {
1478
1478
  let { t: p } = z();
1479
1479
  return /* @__PURE__ */ Y("div", {
1480
1480
  className: "dc:flex dc:items-center dc:gap-2 dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface-secondary",
@@ -1483,7 +1483,7 @@ function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1483
1483
  onClick: n,
1484
1484
  className: `dc:flex dc:items-center dc:gap-1.5 dc:px-2.5 dc:py-1.5 dc:text-xs dc:font-medium dc:rounded-sm dc:border dc:transition-colors ${e ? "border-dc-accent bg-dc-accent-bg text-dc-accent" : "border-dc-border bg-dc-surface text-dc-text dc:hover:bg-dc-surface-hover"}`,
1485
1485
  children: [
1486
- /* @__PURE__ */ J(ni, { className: "dc:w-3.5 dc:h-3.5" }),
1486
+ /* @__PURE__ */ J(ri, { className: "dc:w-3.5 dc:h-3.5" }),
1487
1487
  p("dataBrowser.toolbar.filters"),
1488
1488
  t > 0 && /* @__PURE__ */ J("span", {
1489
1489
  className: "dc:inline-flex dc:items-center dc:justify-center dc:w-4 dc:h-4 dc:text-[10px] dc:font-bold dc:rounded-full bg-dc-accent text-dc-surface",
@@ -1494,7 +1494,7 @@ function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1494
1494
  /* @__PURE__ */ Y("button", {
1495
1495
  onClick: r,
1496
1496
  className: "dc:flex dc:items-center dc:gap-1.5 dc:px-2.5 dc:py-1.5 dc:text-xs dc:font-medium dc:rounded-sm dc:border border-dc-border bg-dc-surface text-dc-text dc:hover:bg-dc-surface-hover dc:transition-colors",
1497
- children: [/* @__PURE__ */ J(ri, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
1497
+ children: [/* @__PURE__ */ J(ii, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
1498
1498
  }),
1499
1499
  /* @__PURE__ */ J("div", { className: "dc:flex-1" }),
1500
1500
  /* @__PURE__ */ J("span", {
@@ -1505,7 +1505,7 @@ function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1505
1505
  onClick: f,
1506
1506
  className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:transition-colors",
1507
1507
  title: "Refresh",
1508
- children: /* @__PURE__ */ J(oi, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
1508
+ children: /* @__PURE__ */ J(si, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
1509
1509
  }),
1510
1510
  /* @__PURE__ */ Y("select", {
1511
1511
  value: a,
@@ -1533,7 +1533,7 @@ function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1533
1533
  onClick: () => l(i - 1),
1534
1534
  disabled: !c,
1535
1535
  className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:disabled:opacity-30 dc:disabled:cursor-not-allowed dc:transition-colors",
1536
- children: /* @__PURE__ */ J(ii, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1536
+ children: /* @__PURE__ */ J(ai, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1537
1537
  }),
1538
1538
  /* @__PURE__ */ J("span", {
1539
1539
  className: "dc:text-xs dc:font-medium text-dc-text dc:min-w-[2rem] dc:text-center",
@@ -1543,7 +1543,7 @@ function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1543
1543
  onClick: () => l(i + 1),
1544
1544
  disabled: !s,
1545
1545
  className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:disabled:opacity-30 dc:disabled:cursor-not-allowed dc:transition-colors",
1546
- children: /* @__PURE__ */ J(ai, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1546
+ children: /* @__PURE__ */ J(oi, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1547
1547
  })
1548
1548
  ]
1549
1549
  })
@@ -1552,9 +1552,9 @@ function si({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1552
1552
  }
1553
1553
  //#endregion
1554
1554
  //#region src/client/components/DataBrowser/DataBrowserTable.tsx
1555
- var ci = D("chevronUp"), li = D("chevronDown");
1556
- function ui(e, t) {
1557
- let n = Xr(e, t);
1555
+ var li = j("chevronUp"), ui = j("chevronDown");
1556
+ function di(e, t) {
1557
+ let n = Zr(e, t);
1558
1558
  return {
1559
1559
  string: "text",
1560
1560
  number: "num",
@@ -1566,13 +1566,13 @@ function ui(e, t) {
1566
1566
  max: "num"
1567
1567
  }[n] || n;
1568
1568
  }
1569
- function di(e, t) {
1570
- return ui(e, t) === "num";
1569
+ function fi(e, t) {
1570
+ return di(e, t) === "num";
1571
1571
  }
1572
- function fi(e) {
1572
+ function pi(e) {
1573
1573
  return e == null ? "" : typeof e == "number" ? e.toLocaleString() : typeof e == "boolean" ? e ? "true" : "false" : e instanceof Date ? e.toISOString() : String(e);
1574
1574
  }
1575
- var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n, sortDirection: r, onSort: i, getFieldLabel: a, meta: o, isLoading: s, isFetching: c, selectedCube: l, loadingComponent: u }) {
1575
+ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n, sortDirection: r, onSort: i, getFieldLabel: a, meta: o, isLoading: s, isFetching: c, selectedCube: l, loadingComponent: u }) {
1576
1576
  let { t: d } = z(), f = $((e) => e.columnWidths), p = $((e) => e.setColumnWidth), m = $((e) => e.setColumnWidths), h = G(null), g = G(!1), _ = H((e, n) => {
1577
1577
  e.preventDefault(), e.stopPropagation();
1578
1578
  let r = e.clientX;
@@ -1585,10 +1585,10 @@ var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n
1585
1585
  i && (n[i] = e.getBoundingClientRect().width);
1586
1586
  }), m(n);
1587
1587
  }
1588
- let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : mi, s = (e) => {
1588
+ let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : hi, s = (e) => {
1589
1589
  let t = e.clientX - r;
1590
1590
  Math.abs(t) > 2 && (g.current = !0);
1591
- let i = Math.max(pi, o + t);
1591
+ let i = Math.max(mi, o + t);
1592
1592
  p(n, i);
1593
1593
  }, c = () => {
1594
1594
  document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", c), document.body.style.cursor = "", document.body.style.userSelect = "", requestAnimationFrame(() => {
@@ -1602,7 +1602,7 @@ var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n
1602
1602
  m
1603
1603
  ]), v = H((e) => {
1604
1604
  g.current || i(e);
1605
- }, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? mi), 0) : void 0;
1605
+ }, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? hi), 0) : void 0;
1606
1606
  return l ? e ? e.length === 0 && !s && !c ? /* @__PURE__ */ J("div", {
1607
1607
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
1608
1608
  children: /* @__PURE__ */ Y("div", {
@@ -1626,12 +1626,12 @@ var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n
1626
1626
  minWidth: "100%"
1627
1627
  },
1628
1628
  children: [
1629
- /* @__PURE__ */ J("colgroup", { children: t.map((e) => /* @__PURE__ */ J("col", { style: { width: f[e] ?? mi } }, e)) }),
1629
+ /* @__PURE__ */ J("colgroup", { children: t.map((e) => /* @__PURE__ */ J("col", { style: { width: f[e] ?? hi } }, e)) }),
1630
1630
  /* @__PURE__ */ J("thead", {
1631
1631
  className: "dc:sticky dc:top-0 dc:z-20",
1632
1632
  style: { backgroundColor: "var(--dc-surface-secondary)" },
1633
1633
  children: /* @__PURE__ */ J("tr", { children: t.map((e, i) => {
1634
- let s = n === e, c = a(e), l = ui(e, o), u = i === t.length - 1, d = di(e, o);
1634
+ let s = n === e, c = a(e), l = di(e, o), u = i === t.length - 1, d = fi(e, o);
1635
1635
  return /* @__PURE__ */ Y("th", {
1636
1636
  onClick: () => v(e),
1637
1637
  className: `dc:relative dc:px-3 dc:py-2 dc:text-xs dc:font-normal dc:cursor-pointer dc:select-none dc:border-b border-dc-border dc:transition-colors${u ? "" : " dc:border-r"}${d ? " dc:text-right" : " dc:text-left"}`,
@@ -1648,7 +1648,7 @@ var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n
1648
1648
  className: "dc:text-[10px] dc:opacity-50 dc:shrink-0",
1649
1649
  children: l
1650
1650
  }),
1651
- s && J(r === "asc" ? ci : li, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
1651
+ s && J(r === "asc" ? li : ui, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
1652
1652
  ]
1653
1653
  }), /* @__PURE__ */ J("div", {
1654
1654
  onMouseDown: (t) => _(t, e),
@@ -1668,11 +1668,11 @@ var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n
1668
1668
  e.currentTarget.style.backgroundColor = "";
1669
1669
  },
1670
1670
  children: t.map((n, r) => {
1671
- let i = r === t.length - 1, a = di(n, o);
1671
+ let i = r === t.length - 1, a = fi(n, o);
1672
1672
  return /* @__PURE__ */ J("td", {
1673
1673
  className: `dc:px-3 dc:py-1.5 dc:text-sm dc:overflow-hidden dc:text-ellipsis dc:whitespace-nowrap${i ? "" : " dc:border-r border-dc-border"}${a ? " dc:text-right dc:tabular-nums" : ""}`,
1674
1674
  style: { color: "var(--dc-text)" },
1675
- children: fi(e[n])
1675
+ children: pi(e[n])
1676
1676
  }, n);
1677
1677
  })
1678
1678
  }, n)) })
@@ -1700,12 +1700,12 @@ var pi = 60, mi = 150, hi = V.memo(function({ data: e, columns: t, sortColumn: n
1700
1700
  });
1701
1701
  //#endregion
1702
1702
  //#region src/client/components/DataBrowser/index.tsx
1703
- function gi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n }) {
1704
- let { selectedCube: r, visibleColumns: i, sortColumn: a, sortDirection: o, page: s, pageSize: c, filters: l, showFilterBar: u, showColumnPicker: d, rawData: f, isLoading: p, isFetching: m, rowCount: h, hasNextPage: g, hasPrevPage: _, meta: v, getFieldLabel: y, selectCube: b, setSort: x, setPage: S, setPageSize: C, setFilters: w, toggleFilterBar: T, setShowColumnPicker: E, toggleColumn: D, refetch: O } = Qr(), k = W(() => v ? v.cubes.map((e) => ({
1703
+ function _i({ className: e = "", maxHeight: t = "100vh", loadingComponent: n }) {
1704
+ let { selectedCube: r, visibleColumns: i, sortColumn: a, sortDirection: o, page: s, pageSize: c, filters: l, showFilterBar: u, showColumnPicker: d, rawData: f, isLoading: p, isFetching: m, rowCount: h, hasNextPage: g, hasPrevPage: _, meta: v, getFieldLabel: y, selectCube: b, setSort: x, setPage: S, setPageSize: C, setFilters: w, toggleFilterBar: T, setShowColumnPicker: E, toggleColumn: D, refetch: O } = $r(), k = W(() => v ? v.cubes.map((e) => ({
1705
1705
  name: e.name,
1706
1706
  title: e.title || e.name
1707
1707
  })) : [], [v]), A = H((e) => {
1708
- let { dimensions: t } = Zr(e, v);
1708
+ let { dimensions: t } = Qr(e, v);
1709
1709
  b(e, t);
1710
1710
  }, [v, b]), j = W(() => {
1711
1711
  function e(t) {
@@ -1726,7 +1726,7 @@ function gi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1726
1726
  className: `dc:flex dc:border border-dc-border dc:rounded-lg dc:overflow-hidden bg-dc-surface ${e}`,
1727
1727
  style: { height: t },
1728
1728
  children: [
1729
- /* @__PURE__ */ J(ti, {
1729
+ /* @__PURE__ */ J(ni, {
1730
1730
  cubes: k,
1731
1731
  selectedCube: r,
1732
1732
  onSelectCube: A
@@ -1734,7 +1734,7 @@ function gi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1734
1734
  /* @__PURE__ */ Y("div", {
1735
1735
  className: "dc:flex dc:flex-col dc:flex-1 dc:min-w-0",
1736
1736
  children: [
1737
- r && /* @__PURE__ */ J(si, {
1737
+ r && /* @__PURE__ */ J(ci, {
1738
1738
  showFilterBar: u,
1739
1739
  filterCount: j,
1740
1740
  onToggleFilterBar: T,
@@ -1751,13 +1751,13 @@ function gi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1751
1751
  }),
1752
1752
  r && u && /* @__PURE__ */ J("div", {
1753
1753
  className: "dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface",
1754
- children: /* @__PURE__ */ J(Qt, {
1754
+ children: /* @__PURE__ */ J($t, {
1755
1755
  filters: l,
1756
1756
  schema: M,
1757
1757
  onFiltersChange: w
1758
1758
  })
1759
1759
  }),
1760
- /* @__PURE__ */ J(hi, {
1760
+ /* @__PURE__ */ J(gi, {
1761
1761
  data: f,
1762
1762
  columns: i,
1763
1763
  sortColumn: a,
@@ -1772,7 +1772,7 @@ function gi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1772
1772
  })
1773
1773
  ]
1774
1774
  }),
1775
- d && M && /* @__PURE__ */ J(Ye, {
1775
+ d && M && /* @__PURE__ */ J(Xe, {
1776
1776
  isOpen: d,
1777
1777
  onClose: () => E(!1),
1778
1778
  onSelect: N,
@@ -1783,11 +1783,11 @@ function gi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1783
1783
  ]
1784
1784
  });
1785
1785
  }
1786
- function _i({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight: r, loadingComponent: i }) {
1787
- return /* @__PURE__ */ J(Jr, {
1786
+ function vi({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight: r, loadingComponent: i }) {
1787
+ return /* @__PURE__ */ J(Yr, {
1788
1788
  defaultPageSize: n,
1789
1789
  defaultCube: t,
1790
- children: /* @__PURE__ */ J(gi, {
1790
+ children: /* @__PURE__ */ J(_i, {
1791
1791
  className: e,
1792
1792
  maxHeight: r,
1793
1793
  loadingComponent: i
@@ -1796,13 +1796,13 @@ function _i({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight:
1796
1796
  }
1797
1797
  //#endregion
1798
1798
  //#region src/client/components/DashboardThumbnailPlaceholder.tsx
1799
- var vi = D("segment");
1800
- function yi({ className: e = "" }) {
1799
+ var yi = j("segment");
1800
+ function bi({ className: e = "" }) {
1801
1801
  return /* @__PURE__ */ J("div", {
1802
1802
  className: `dc:flex dc:items-center dc:justify-center bg-dc-bg-secondary ${e}`,
1803
1803
  children: /* @__PURE__ */ Y("div", {
1804
1804
  className: "dc:text-center",
1805
- children: [/* @__PURE__ */ J(vi, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ J("span", {
1805
+ children: [/* @__PURE__ */ J(yi, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ J("span", {
1806
1806
  className: "dc:text-xs text-dc-text-muted",
1807
1807
  children: "No preview"
1808
1808
  })]
@@ -1810,6 +1810,6 @@ function yi({ className: e = "" }) {
1810
1810
  });
1811
1811
  }
1812
1812
  //#endregion
1813
- export { Vr as AgenticNotebook, Oe as AnalysisBuilder, Ge as AnalyticsDashboard, Hr as AnalyticsPage, _e as AnalyticsPortlet, P as ChartErrorBoundary, Be as ConfirmModal, c as CubeClient, E as CubeProvider, u as DEFAULT_ICONS, qe as DashboardEditModal, je as DashboardFilterBar, Ne as DashboardGrid, Le as DashboardGridSurface, xe as DashboardModals, L as DashboardProvider, ue as DashboardStoreProvider, yi as DashboardThumbnailPlaceholder, Ze as DashboardToolbar, _i as DataBrowser, ye as DrillBreadcrumb, de as DrillMenu, $t as ExecutionPlanPanel, tn as ExplainAIPanel, Kt as LazyChart, B as LoadingIndicator, He as Modal, Rn as NotebookStoreProvider, we as PortletAnalysisModal, ze as PortletContainer, o as ScrollContainerProvider, St as THEME_PRESETS, xt as applyTheme, Rt as buildFunnelConfigFromQueries, Ft as buildServerFunnelQuery, m as captureThumbnail, T as chartPluginRegistry, hn as compressAndEncode, v as createCubeClient, jn as createDashboardLayout, te as createDashboardStore, Ke as createDefaultConfig, Te as createDefaultFlowConfig, Ie as createDefaultFunnelConfig, Je as createDefaultQueryConfig, Ee as createDefaultRetentionConfig, ke as createDefaultWorkspace, kt as createExplainQueryKey, dt as createFlowQueryKey, it as createFunnelQueryKey, In as createNotebookStore, Sn as decodeAndDecompress, dn as detectAsymmetricDateRanges, un as detectMeasureCollisions, s as exportPortletToXlsx, An as formatChartData, Nt as formatDuration, ot as generateQueryLabel, cn as generateShareUrl, xn as getAvailableBindingKeyDimensions, Ht as getAvailableChartTypes, Lt as getBindingKeyField, _n as getBindingKeyLabel, S as getChartTypeIcon, ft as getCombinedFields, zt as getCubeNameFromQuery, y as getFieldTypeIcon, D as getIcon, A as getIconData, b as getIconRegistry, k as getIconsByCategory, g as getMeasureTypeIcon, ut as getQueryIndices, ct as getQueryLabels, bt as getTheme, yt as getThemeVariable, Wt as getUnavailableChartTypes, rn as getValidationSummary, qt as highlightCodeBlocks, Vt as isChartTypeAvailable, _t as isDarkMode, C as isExportAvailable, Ue as isFlowConfig, Re as isFunnelConfig, Pt as isFunnelData, yn as isMinimumFunnelConfigValid, Me as isMultiQuery, Qe as isMultiQueryConfig, st as isMultiQueryData, Cn as isMultiQueryValid, Ae as isQueryConfig, be as isRetentionConfig, M as isSankeyData, N as isServerFlowQuery, pe as isServerFunnelQuery, ln as isShareableSize, Xe as isSingleQuery, d as isThumbnailCaptureAvailable, $e as isValidAnalysisConfig, Ce as isValidAnalysisWorkspace, Bt as isValidChartType, nt as mergeQueryResults, mt as mergeResultsByKey, ht as mergeResultsConcat, Se as migrateConfig, Ve as migrateLegacyPortlet, gn as parseShareUrl, Ut as preloadChart, Gt as preloadCharts, l as registerIcons, O as resetIcons, Ct as resetTheme, re as selectAllActions, Kn as selectBlockActions, zn as selectBlocks, Yt as selectBreakdowns, wn as selectChartConfig, Gn as selectChatActions, Wn as selectChatState, nn as selectCurrentState, oe as selectDebugData, fe as selectDebugDataActions, et as selectEditModeActions, I as selectEditModeState, Zt as selectFilters, Xt as selectFunnelState, Un as selectInputValue, Vn as selectIsStreaming, he as selectLayoutActions, ne as selectLayoutState, Bn as selectMessages, en as selectMetrics, me as selectModalActions, ge as selectModalState, mn as selectMultiQueryState, R as selectPortletDebugData, Hn as selectSessionId, ae as selectThumbnailDirty, Jt as selectUIState, _ as setIcon, Tt as setTheme, vt as setThemeVariable, It as transformServerFunnelResult, Tr as useAgentChat, sn as useAnalysisBuilder, pn as useAnalysisBuilderStore, j as useCubeApi, x as useCubeContext, w as useCubeFeatures, gt as useCubeFieldLabel, tt as useCubeLoadQuery, tt as useCubeQuery, Et as useCubeMeta, h as useCubeMetaQuery, Fe as useDashboard, le as useDashboardContext, We as useDashboardStore, ie as useDashboardStoreApi, ve as useDashboardStoreOptional, Qr as useDataBrowser, De as useDrillInteraction, Ot as useDryRunQueries, Dt as useDryRunQuery, se as useElementVisibility, Mt as useExplainAI, jt as useExplainQuery, pt as useFlowQuery, lt as useFunnelQuery, at as useMultiCubeLoadQuery, At as useMultiDryRunQueries, X as useNotebookStore, a as useScrollContainer, ce as useScrollDetection, kn as useTheme, fn as validateBindingKeyExists, an as validateBindingKeyForSteps, vn as validateFunnelConfig, rt as validateMergeKey, En as validateMergeKeys, on as validateMultiQueryConfig, bn as validateStepQueries, Tn as validateTimeDimensionAlignment, p as warnIfExcelJsMissing, f as warnIfScreenshotLibMissing, wt as watchThemeChanges };
1813
+ export { Hr as AgenticNotebook, ke as AnalysisBuilder, Ke as AnalyticsDashboard, Ur as AnalyticsPage, ve as AnalyticsPortlet, F as ChartErrorBoundary, Ve as ConfirmModal, x as CubeClient, D as CubeProvider, f as CubeQueryError, u as DEFAULT_ICONS, Je as DashboardEditModal, Me as DashboardFilterBar, Pe as DashboardGrid, Re as DashboardGridSurface, Se as DashboardModals, ee as DashboardProvider, de as DashboardStoreProvider, bi as DashboardThumbnailPlaceholder, Qe as DashboardToolbar, vi as DataBrowser, be as DrillBreadcrumb, fe as DrillMenu, en as ExecutionPlanPanel, nn as ExplainAIPanel, qt as LazyChart, B as LoadingIndicator, Ue as Modal, zn as NotebookStoreProvider, Te as PortletAnalysisModal, Be as PortletContainer, o as ScrollContainerProvider, wt as THEME_PRESETS, Ct as applyTheme, zt as buildFunnelConfigFromQueries, It as buildServerFunnelQuery, g as captureThumbnail, E as chartPluginRegistry, gn as compressAndEncode, b as createCubeClient, Mn as createDashboardLayout, R as createDashboardStore, qe as createDefaultConfig, Ee as createDefaultFlowConfig, Le as createDefaultFunnelConfig, Ye as createDefaultQueryConfig, De as createDefaultRetentionConfig, Ae as createDefaultWorkspace, At as createExplainQueryKey, ft as createFlowQueryKey, at as createFunnelQueryKey, Ln as createNotebookStore, Cn as decodeAndDecompress, fn as detectAsymmetricDateRanges, dn as detectMeasureCollisions, T as exportPortletToXlsx, jn as formatChartData, Pt as formatDuration, st as generateQueryLabel, ln as generateShareUrl, Sn as getAvailableBindingKeyDimensions, Ut as getAvailableChartTypes, Rt as getBindingKeyField, vn as getBindingKeyLabel, S as getChartTypeIcon, pt as getCombinedFields, Bt as getCubeNameFromQuery, O as getFieldTypeIcon, j as getIcon, C as getIconData, A as getIconRegistry, v as getIconsByCategory, l as getMeasureTypeIcon, dt as getQueryIndices, lt as getQueryLabels, St as getTheme, xt as getThemeVariable, Gt as getUnavailableChartTypes, an as getValidationSummary, Jt as highlightCodeBlocks, Ht as isChartTypeAvailable, yt as isDarkMode, m as isExportAvailable, We as isFlowConfig, ze as isFunnelConfig, Ft as isFunnelData, bn as isMinimumFunnelConfigValid, Ne as isMultiQuery, $e as isMultiQueryConfig, ct as isMultiQueryData, wn as isMultiQueryValid, je as isQueryConfig, xe as isRetentionConfig, N as isSankeyData, P as isServerFlowQuery, me as isServerFunnelQuery, un as isShareableSize, Ze as isSingleQuery, p as isThumbnailCaptureAvailable, et as isValidAnalysisConfig, we as isValidAnalysisWorkspace, Vt as isValidChartType, rt as mergeQueryResults, ht as mergeResultsByKey, gt as mergeResultsConcat, Ce as migrateConfig, He as migrateLegacyPortlet, _n as parseShareUrl, Wt as preloadChart, Kt as preloadCharts, k as registerIcons, y as resetIcons, Tt as resetTheme, ie as selectAllActions, qn as selectBlockActions, Bn as selectBlocks, Xt as selectBreakdowns, Tn as selectChartConfig, Kn as selectChatActions, Gn as selectChatState, rn as selectCurrentState, se as selectDebugData, pe as selectDebugDataActions, tt as selectEditModeActions, L as selectEditModeState, Qt as selectFilters, Zt as selectFunnelState, Wn as selectInputValue, Hn as selectIsStreaming, ge as selectLayoutActions, re as selectLayoutState, Vn as selectMessages, tn as selectMetrics, he as selectModalActions, _e as selectModalState, hn as selectMultiQueryState, ne as selectPortletDebugData, Un as selectSessionId, oe as selectThumbnailDirty, Yt as selectUIState, d as setIcon, Dt as setTheme, bt as setThemeVariable, Lt as transformServerFunnelResult, Er as useAgentChat, cn as useAnalysisBuilder, mn as useAnalysisBuilderStore, c as useCubeApi, w as useCubeContext, s as useCubeFeatures, vt as useCubeFieldLabel, nt as useCubeLoadQuery, nt as useCubeQuery, _t as useCubeMeta, M as useCubeMetaQuery, Ie as useDashboard, ue as useDashboardContext, Ge as useDashboardStore, ae as useDashboardStoreApi, ye as useDashboardStoreOptional, $r as useDataBrowser, Oe as useDrillInteraction, kt as useDryRunQueries, Ot as useDryRunQuery, ce as useElementVisibility, Nt as useExplainAI, Mt as useExplainQuery, mt as useFlowQuery, ut as useFunnelQuery, ot as useMultiCubeLoadQuery, jt as useMultiDryRunQueries, X as useNotebookStore, a as useScrollContainer, le as useScrollDetection, An as useTheme, pn as validateBindingKeyExists, on as validateBindingKeyForSteps, yn as validateFunnelConfig, it as validateMergeKey, Dn as validateMergeKeys, sn as validateMultiQueryConfig, xn as validateStepQueries, En as validateTimeDimensionAlignment, h as warnIfExcelJsMissing, _ as warnIfScreenshotLibMissing, Et as watchThemeChanges };
1814
1814
 
1815
1815
  //# sourceMappingURL=index.js.map