drizzle-cube 0.10.1 → 0.11.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 (319) hide show
  1. package/dist/adapters/ActivityGridChart.config-XMtoteb6.js +2 -0
  2. package/dist/adapters/ActivityGridChart.config-h1AXPvn0.cjs +1 -0
  3. package/dist/adapters/AreaChart.config-DYf9wufo.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-We6b53aT.js +2 -0
  5. package/dist/adapters/BarChart.config-4SX44IYv.cjs +1 -0
  6. package/dist/adapters/BarChart.config-CwBnyptL.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-BzNe-FlW.cjs +1 -0
  8. package/dist/adapters/BoxPlotChart.config-mfAHqmcp.js +2 -0
  9. package/dist/adapters/BubbleChart.config-CBT5jMdc.cjs +1 -0
  10. package/dist/adapters/BubbleChart.config-DxG_Umal.js +2 -0
  11. package/dist/adapters/CandlestickChart.config-Cqw3XP1h.js +2 -0
  12. package/dist/adapters/CandlestickChart.config-DPSSlzUD.cjs +1 -0
  13. package/dist/adapters/DataTable.config-DS1bvaDu.js +2 -0
  14. package/dist/adapters/DataTable.config-D_NsMeyz.cjs +1 -0
  15. package/dist/adapters/DotStripChart.config-BApWn6QV.cjs +1 -0
  16. package/dist/adapters/DotStripChart.config-Bdk5-YfB.js +2 -0
  17. package/dist/adapters/FunnelChart.config-BT5up_Bg.cjs +1 -0
  18. package/dist/adapters/FunnelChart.config-ISZiz9fn.js +2 -0
  19. package/dist/adapters/GaugeChart.config-Biaq1cKc.cjs +1 -0
  20. package/dist/adapters/GaugeChart.config-BjGfB84t.js +2 -0
  21. package/dist/adapters/HeatMapChart.config-Bmca8KiH.cjs +1 -0
  22. package/dist/adapters/HeatMapChart.config-uWvR0B-N.js +2 -0
  23. package/dist/adapters/KpiDelta.config-CJeDdj_1.js +2 -0
  24. package/dist/adapters/KpiDelta.config-CKr9pAxL.cjs +1 -0
  25. package/dist/adapters/KpiNumber.config-6YLEF2fy.cjs +1 -0
  26. package/dist/adapters/KpiNumber.config-C00M46GA.js +2 -0
  27. package/dist/adapters/KpiText.config-C8Av_D2W.cjs +1 -0
  28. package/dist/adapters/KpiText.config-bKTHob0C.js +2 -0
  29. package/dist/adapters/LineChart.config-DH68HT_B.js +2 -0
  30. package/dist/adapters/LineChart.config-DPq7GvL9.cjs +1 -0
  31. package/dist/adapters/MarkdownChart.config-CaaJPO3c.js +2 -0
  32. package/dist/adapters/MarkdownChart.config-ca_UyhWJ.cjs +1 -0
  33. package/dist/adapters/MeasureProfileChart.config-C1Il0IqL.cjs +1 -0
  34. package/dist/adapters/MeasureProfileChart.config-DMOnkmb6.js +2 -0
  35. package/dist/adapters/PieChart.config-Bg-8cxWK.js +2 -0
  36. package/dist/adapters/PieChart.config-joJcF--K.cjs +1 -0
  37. package/dist/adapters/ProportionBarChart.config-B2sltKsI.cjs +1 -0
  38. package/dist/adapters/ProportionBarChart.config-BlCedy1v.js +2 -0
  39. package/dist/adapters/RadarChart.config-DD1pX6FZ.js +2 -0
  40. package/dist/adapters/RadarChart.config-DVCCLSVw.cjs +1 -0
  41. package/dist/adapters/RadialBarChart.config--VIE2jMM.js +2 -0
  42. package/dist/adapters/RadialBarChart.config-BZwyWhTg.cjs +1 -0
  43. package/dist/adapters/RecordsTable.config-CTBQc-2r.js +2 -0
  44. package/dist/adapters/RecordsTable.config-DPdO0DL5.cjs +1 -0
  45. package/dist/adapters/RetentionCombinedChart.config-PGVxnkRL.js +2 -0
  46. package/dist/adapters/RetentionCombinedChart.config-mX5PMh82.cjs +1 -0
  47. package/dist/adapters/RetentionHeatmap.config-Co-JMzBm.js +2 -0
  48. package/dist/adapters/RetentionHeatmap.config-Cub3-ksy.cjs +1 -0
  49. package/dist/adapters/SankeyChart.config-BkIyUcAE.cjs +1 -0
  50. package/dist/adapters/SankeyChart.config-DGTnRmYg.js +2 -0
  51. package/dist/adapters/ScatterChart.config-CdZrBorg.js +2 -0
  52. package/dist/adapters/ScatterChart.config-CwN9niUL.cjs +1 -0
  53. package/dist/adapters/SunburstChart.config-D0ZkRSJv.cjs +1 -0
  54. package/dist/adapters/SunburstChart.config-RF3uu5Sa.js +2 -0
  55. package/dist/adapters/TreeMapChart.config-B2Yn_V7p.cjs +1 -0
  56. package/dist/adapters/TreeMapChart.config-diJtcs4D.js +2 -0
  57. package/dist/adapters/WaterfallChart.config-B10PxftT.cjs +1 -0
  58. package/dist/adapters/WaterfallChart.config-BImlkLmR.js +2 -0
  59. package/dist/adapters/chartConfigHelpers-BhME7ow_.cjs +1 -0
  60. package/dist/adapters/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
  61. package/dist/adapters/{compiler-Dw5tYox7.cjs → compiler-B-yljK02.cjs} +6 -6
  62. package/dist/adapters/{compiler-C8fOs43d.js → compiler-BhityGUO.js} +197 -186
  63. package/dist/adapters/core/index.cjs +1 -1
  64. package/dist/adapters/core/index.js +1 -1
  65. package/dist/adapters/{core-BP6GiYzO.cjs → core-CQOrzBNh.cjs} +1 -1
  66. package/dist/adapters/{core-z6vXJ8nF.js → core-xZE0miIu.js} +2 -2
  67. package/dist/adapters/express/index.cjs +1 -1
  68. package/dist/adapters/express/index.js +5 -5
  69. package/dist/adapters/fastify/index.cjs +1 -1
  70. package/dist/adapters/fastify/index.js +5 -5
  71. package/dist/adapters/{handler-CI3Rt-Zt.js → handler-ByeQ0-1r.js} +237 -234
  72. package/dist/adapters/handler-DSNmfv1R.cjs +16 -0
  73. package/dist/adapters/hono/index.cjs +1 -1
  74. package/dist/adapters/hono/index.js +4 -4
  75. package/dist/adapters/mcp-app-html-CNp0VqS_.cjs +1 -0
  76. package/dist/adapters/mcp-app-html-CvWoYMO3.js +5 -0
  77. package/dist/adapters/mcp-app-html.cjs +1 -1
  78. package/dist/adapters/mcp-app-html.js +1 -1
  79. package/dist/adapters/mcp-tools.cjs +1 -1
  80. package/dist/adapters/mcp-tools.js +3 -3
  81. package/dist/adapters/{mcp-transport-DpS_e0gL.js → mcp-transport-Cy6n4uj1.js} +1 -1
  82. package/dist/adapters/{mcp-transport-Bc7-KSG_.cjs → mcp-transport-DnLP5FPL.cjs} +1 -1
  83. package/dist/adapters/nextjs/index.cjs +1 -1
  84. package/dist/adapters/nextjs/index.js +5 -5
  85. package/dist/adapters/{openai-7064EJ1j.cjs → openai-BQl0yJCS.cjs} +1 -1
  86. package/dist/adapters/{openai-CnUBYFyY.js → openai-C4HrjyJj.js} +1 -1
  87. package/dist/adapters/{openai-DpGdZL3m.js → openai-D3Nt6Bj7.js} +1 -1
  88. package/dist/adapters/{openai-B0mByiYQ.cjs → openai-z1ai-G4Q.cjs} +1 -1
  89. package/dist/adapters/{utils-CN_bxSiq.js → utils-BaxFceDq.js} +6 -1
  90. package/dist/adapters/{utils-CvC1czqb.cjs → utils-a2p2B6x8.cjs} +2 -2
  91. package/dist/adapters/utils.cjs +1 -1
  92. package/dist/adapters/utils.js +1 -1
  93. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +5 -0
  94. package/dist/cjs/client/components/AnalysisBuilder/types.d.ts +4 -0
  95. package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +6 -1
  96. package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
  97. package/dist/cjs/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
  98. package/dist/cjs/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
  99. package/dist/cjs/client/hooks/useAnalysisQuery.d.ts +6 -1
  100. package/dist/cjs/client/index.d.ts +2 -0
  101. package/dist/cjs/client/types.d.ts +5 -0
  102. package/dist/cjs/client/utils/gapFilling.d.ts +52 -0
  103. package/dist/cjs/client/utils/index.d.ts +1 -0
  104. package/dist/cjs/server/ai/query-schema.d.ts +1 -1
  105. package/dist/cjs/server/execution/result-post-processor.d.ts +4 -2
  106. package/dist/cjs/server/executor.d.ts +2 -0
  107. package/dist/cjs/server/gap-filler.d.ts +8 -43
  108. package/dist/cjs/server/types/core.d.ts +2 -0
  109. package/dist/cjs/server/types/cube.d.ts +12 -0
  110. package/dist/cjs/server/types/metadata.d.ts +5 -0
  111. package/dist/cjs/server/types/query.d.ts +2 -1
  112. package/dist/client/charts/chartConfigHelpers.d.ts +5 -0
  113. package/dist/client/charts.js +12 -12
  114. package/dist/client/chunks/{DashboardEditModal-5ZSP--FQ.js → DashboardEditModal-DifODH4h.js} +2360 -2548
  115. package/dist/client/chunks/DashboardEditModal-DifODH4h.js.map +1 -0
  116. package/dist/client/chunks/{DotStripChart-DTukhwG-.js → DotStripChart-B9IVCFPO.js} +3 -3
  117. package/dist/client/chunks/{DotStripChart-DTukhwG-.js.map → DotStripChart-B9IVCFPO.js.map} +1 -1
  118. package/dist/client/chunks/{ProportionBarChart-CPZ2cHxH.js → ProportionBarChart-DieF9AzP.js} +3 -3
  119. package/dist/client/chunks/{ProportionBarChart-CPZ2cHxH.js.map → ProportionBarChart-DieF9AzP.js.map} +1 -1
  120. package/dist/client/chunks/{RecordsTable-BC5l67Dc.js → RecordsTable-Mo3ai5_M.js} +4 -4
  121. package/dist/client/chunks/{RecordsTable-BC5l67Dc.js.map → RecordsTable-Mo3ai5_M.js.map} +1 -1
  122. package/dist/client/chunks/{RetentionCombinedChart-aj5xblfu.js → RetentionCombinedChart-Bie4ADyA.js} +3 -3
  123. package/dist/client/chunks/{RetentionCombinedChart-aj5xblfu.js.map → RetentionCombinedChart-Bie4ADyA.js.map} +1 -1
  124. package/dist/client/chunks/{RetentionHeatmap-CKckuEMF.js → RetentionHeatmap-qstIAx5B.js} +2 -2
  125. package/dist/client/chunks/{RetentionHeatmap-CKckuEMF.js.map → RetentionHeatmap-qstIAx5B.js.map} +1 -1
  126. package/dist/client/chunks/{analysis-builder-Db4umQtd.js → analysis-builder-D78aDJoL.js} +41 -41
  127. package/dist/client/chunks/analysis-builder-D78aDJoL.js.map +1 -0
  128. package/dist/client/chunks/{analysis-builder-shared-BEvvX6ln.js → analysis-builder-shared-CsIs4-Xf.js} +538 -523
  129. package/dist/client/chunks/analysis-builder-shared-CsIs4-Xf.js.map +1 -0
  130. package/dist/client/chunks/{chart-activity-grid-Bbc58UJD.js → chart-activity-grid-Ly_-2B-f.js} +7 -2
  131. package/dist/client/chunks/chart-activity-grid-Ly_-2B-f.js.map +1 -0
  132. package/dist/client/chunks/{chart-area-9uCXIvMN.js → chart-area-D3l-71Wy.js} +2 -2
  133. package/dist/client/chunks/{chart-area-9uCXIvMN.js.map → chart-area-D3l-71Wy.js.map} +1 -1
  134. package/dist/client/chunks/{chart-bar-C5a1T9Ce.js → chart-bar-BaTyQOqs.js} +3 -3
  135. package/dist/client/chunks/{chart-bar-C5a1T9Ce.js.map → chart-bar-BaTyQOqs.js.map} +1 -1
  136. package/dist/client/chunks/{chart-box-plot-BbBrZsaJ.js → chart-box-plot-Cem6PHjz.js} +2 -2
  137. package/dist/client/chunks/{chart-box-plot-BbBrZsaJ.js.map → chart-box-plot-Cem6PHjz.js.map} +1 -1
  138. package/dist/client/chunks/{chart-bubble-dt5ESb7m.js → chart-bubble-DFlfqCDG.js} +2 -2
  139. package/dist/client/chunks/{chart-bubble-dt5ESb7m.js.map → chart-bubble-DFlfqCDG.js.map} +1 -1
  140. package/dist/client/chunks/{chart-candlestick-2A2J_NsK.js → chart-candlestick-BkAFBXtZ.js} +2 -2
  141. package/dist/client/chunks/{chart-candlestick-2A2J_NsK.js.map → chart-candlestick-BkAFBXtZ.js.map} +1 -1
  142. package/dist/client/chunks/{chart-config-area-DsrZCIwF.js → chart-config-area-BnsRQ-MY.js} +35 -14
  143. package/dist/client/chunks/chart-config-area-BnsRQ-MY.js.map +1 -0
  144. package/dist/client/chunks/{chart-config-bar-BixSs43E.js → chart-config-bar-G2HJJBVV.js} +8 -7
  145. package/dist/client/chunks/chart-config-bar-G2HJJBVV.js.map +1 -0
  146. package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js → chart-config-kpi-delta-BIAq1Ftg.js} +2 -2
  147. package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js.map → chart-config-kpi-delta-BIAq1Ftg.js.map} +1 -1
  148. package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js → chart-config-kpi-number-Dgc4gIYu.js} +2 -2
  149. package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js.map → chart-config-kpi-number-Dgc4gIYu.js.map} +1 -1
  150. package/dist/client/chunks/{chart-config-line-CBF9Px9b.js → chart-config-line-DLkRs1Zr.js} +9 -8
  151. package/dist/client/chunks/chart-config-line-DLkRs1Zr.js.map +1 -0
  152. package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js → chart-config-pie-XrHim0C8.js} +2 -2
  153. package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js.map → chart-config-pie-XrHim0C8.js.map} +1 -1
  154. package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js → chart-config-radar-xNS6Juqc.js} +2 -2
  155. package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js.map → chart-config-radar-xNS6Juqc.js.map} +1 -1
  156. package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js → chart-config-radial-bar-ChUChsEe.js} +2 -2
  157. package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js.map → chart-config-radial-bar-ChUChsEe.js.map} +1 -1
  158. package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js → chart-config-tree-map-CnrJ7OC1.js} +2 -2
  159. package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js.map → chart-config-tree-map-CnrJ7OC1.js.map} +1 -1
  160. package/dist/client/chunks/{chart-data-table-zSjYEy0r.js → chart-data-table-Cxd0cdAl.js} +36 -36
  161. package/dist/client/chunks/{chart-data-table-zSjYEy0r.js.map → chart-data-table-Cxd0cdAl.js.map} +1 -1
  162. package/dist/client/chunks/{chart-funnel-CuOSCsbt.js → chart-funnel-71Kn4eeF.js} +2 -2
  163. package/dist/client/chunks/{chart-funnel-CuOSCsbt.js.map → chart-funnel-71Kn4eeF.js.map} +1 -1
  164. package/dist/client/chunks/{chart-gauge-DxKeqCCD.js → chart-gauge-BddS_9oS.js} +3 -3
  165. package/dist/client/chunks/{chart-gauge-DxKeqCCD.js.map → chart-gauge-BddS_9oS.js.map} +1 -1
  166. package/dist/client/chunks/{chart-heat-map-C1dvW-ov.js → chart-heat-map-BQIsrn8m.js} +3 -3
  167. package/dist/client/chunks/{chart-heat-map-C1dvW-ov.js.map → chart-heat-map-BQIsrn8m.js.map} +1 -1
  168. package/dist/client/chunks/{chart-kpi-delta-CgehGc9d.js → chart-kpi-delta-DndbqdZT.js} +3 -3
  169. package/dist/client/chunks/{chart-kpi-delta-CgehGc9d.js.map → chart-kpi-delta-DndbqdZT.js.map} +1 -1
  170. package/dist/client/chunks/{chart-kpi-number-C31-6A6m.js → chart-kpi-number-DAbfoHMt.js} +5 -5
  171. package/dist/client/chunks/{chart-kpi-number-C31-6A6m.js.map → chart-kpi-number-DAbfoHMt.js.map} +1 -1
  172. package/dist/client/chunks/{chart-kpi-text-D2ydQIEn.js → chart-kpi-text-D8oQgpxL.js} +3 -3
  173. package/dist/client/chunks/{chart-kpi-text-D2ydQIEn.js.map → chart-kpi-text-D8oQgpxL.js.map} +1 -1
  174. package/dist/client/chunks/{chart-line-CjW9Yo03.js → chart-line-BNqjUowg.js} +3 -3
  175. package/dist/client/chunks/{chart-line-CjW9Yo03.js.map → chart-line-BNqjUowg.js.map} +1 -1
  176. package/dist/client/chunks/{chart-markdown-Cgs62had.js → chart-markdown-DtgpU3xd.js} +2 -2
  177. package/dist/client/chunks/{chart-markdown-Cgs62had.js.map → chart-markdown-DtgpU3xd.js.map} +1 -1
  178. package/dist/client/chunks/{chart-measure-profile-Cg39gYjR.js → chart-measure-profile-D5nZMWlI.js} +3 -3
  179. package/dist/client/chunks/{chart-measure-profile-Cg39gYjR.js.map → chart-measure-profile-D5nZMWlI.js.map} +1 -1
  180. package/dist/client/chunks/{chart-pie-BTb5nKd7.js → chart-pie-D8r9HCZ4.js} +3 -3
  181. package/dist/client/chunks/{chart-pie-BTb5nKd7.js.map → chart-pie-D8r9HCZ4.js.map} +1 -1
  182. package/dist/client/chunks/{chart-radar-8384sPlX.js → chart-radar-R4PuCIWp.js} +3 -3
  183. package/dist/client/chunks/{chart-radar-8384sPlX.js.map → chart-radar-R4PuCIWp.js.map} +1 -1
  184. package/dist/client/chunks/{chart-radial-bar-CuBmmOTU.js → chart-radial-bar-hmrSFa6O.js} +3 -3
  185. package/dist/client/chunks/{chart-radial-bar-CuBmmOTU.js.map → chart-radial-bar-hmrSFa6O.js.map} +1 -1
  186. package/dist/client/chunks/{chart-sankey-CoIuG7Nu.js → chart-sankey-CFXPybny.js} +2 -2
  187. package/dist/client/chunks/{chart-sankey-CoIuG7Nu.js.map → chart-sankey-CFXPybny.js.map} +1 -1
  188. package/dist/client/chunks/{chart-scatter-Bdj95OeV.js → chart-scatter-CH82md0L.js} +3 -3
  189. package/dist/client/chunks/{chart-scatter-Bdj95OeV.js.map → chart-scatter-CH82md0L.js.map} +1 -1
  190. package/dist/client/chunks/{chart-sunburst-CuG8520_.js → chart-sunburst-CTj95eEC.js} +3 -3
  191. package/dist/client/chunks/{chart-sunburst-CuG8520_.js.map → chart-sunburst-CTj95eEC.js.map} +1 -1
  192. package/dist/client/chunks/{chart-tree-map-CtJADX87.js → chart-tree-map-CmysE4bF.js} +3 -3
  193. package/dist/client/chunks/{chart-tree-map-CtJADX87.js.map → chart-tree-map-CmysE4bF.js.map} +1 -1
  194. package/dist/client/chunks/{chart-waterfall-D430fO48.js → chart-waterfall-Bv1mPvlB.js} +3 -3
  195. package/dist/client/chunks/{chart-waterfall-D430fO48.js.map → chart-waterfall-Bv1mPvlB.js.map} +1 -1
  196. package/dist/client/chunks/{charts-core-BSmlKmf0.js → charts-core-BdEQgbqN.js} +2 -2
  197. package/dist/client/chunks/{charts-core-BSmlKmf0.js.map → charts-core-BdEQgbqN.js.map} +1 -1
  198. package/dist/client/chunks/charts-loader-DoLQqFXg.js +87 -0
  199. package/dist/client/chunks/{charts-loader-Bz9yHkW1.js.map → charts-loader-DoLQqFXg.js.map} +1 -1
  200. package/dist/client/chunks/gapFilling-DKBRHcQL.js +391 -0
  201. package/dist/client/chunks/gapFilling-DKBRHcQL.js.map +1 -0
  202. package/dist/client/chunks/{nl-NL-BrqrWoAj.js → nl-NL-DVZXf8U7.js} +6 -1
  203. package/dist/client/chunks/nl-NL-DVZXf8U7.js.map +1 -0
  204. package/dist/client/chunks/{schema-visualization-D2NvjQny.js → schema-visualization-MlRrcJQH.js} +3 -3
  205. package/dist/client/chunks/{schema-visualization-D2NvjQny.js.map → schema-visualization-MlRrcJQH.js.map} +1 -1
  206. package/dist/client/chunks/{useDirtyStateTracking-DL_AnCWZ.js → useDirtyStateTracking-DUyYwuN_.js} +318 -293
  207. package/dist/client/chunks/useDirtyStateTracking-DUyYwuN_.js.map +1 -0
  208. package/dist/client/chunks/{useExplainAI-CdPWtj7E.js → useExplainAI-BtoS3tb5.js} +4 -4
  209. package/dist/client/chunks/{useExplainAI-CdPWtj7E.js.map → useExplainAI-BtoS3tb5.js.map} +1 -1
  210. package/dist/client/chunks/utils-CToHkuhU.js.map +1 -1
  211. package/dist/client/chunks/{vendor-Bpaolt6h.js → vendor-BfBpNmMa.js} +2 -2
  212. package/dist/client/chunks/{vendor-Bpaolt6h.js.map → vendor-BfBpNmMa.js.map} +1 -1
  213. package/dist/client/components/AnalysisBuilder/types.d.ts +4 -0
  214. package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +6 -1
  215. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
  216. package/dist/client/components.js +2 -2
  217. package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
  218. package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
  219. package/dist/client/hooks/useAnalysisQuery.d.ts +6 -1
  220. package/dist/client/hooks.js +3 -3
  221. package/dist/client/icons.js +1 -1
  222. package/dist/client/index.d.ts +2 -0
  223. package/dist/client/index.js +193 -192
  224. package/dist/client/index.js.map +1 -1
  225. package/dist/client/providers.js +1 -1
  226. package/dist/client/schema.js +1 -1
  227. package/dist/client/types.d.ts +5 -0
  228. package/dist/client/utils/gapFilling.d.ts +52 -0
  229. package/dist/client/utils/index.d.ts +1 -0
  230. package/dist/client/utils.js +9 -8
  231. package/dist/client/utils.js.map +1 -1
  232. package/dist/client-bundle-stats.html +1 -1
  233. package/dist/mcp-app/mcp-app.html +101 -101
  234. package/dist/server/ai/query-schema.d.ts +1 -1
  235. package/dist/server/chartConfigHelpers-BhME7ow_.cjs +1 -0
  236. package/dist/server/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
  237. package/dist/server/execution/result-post-processor.d.ts +4 -2
  238. package/dist/server/executor.d.ts +2 -0
  239. package/dist/server/gap-filler.d.ts +8 -43
  240. package/dist/server/index.cjs +34 -34
  241. package/dist/server/index.js +2049 -2030
  242. package/dist/server/types/core.d.ts +2 -0
  243. package/dist/server/types/cube.d.ts +12 -0
  244. package/dist/server/types/metadata.d.ts +5 -0
  245. package/dist/server/types/query.d.ts +2 -1
  246. package/package.json +1 -1
  247. package/dist/adapters/ActivityGridChart.config-BpGv0FYq.js +0 -2
  248. package/dist/adapters/ActivityGridChart.config-DWs9dRl7.cjs +0 -1
  249. package/dist/adapters/AreaChart.config-Cn8nAQqj.cjs +0 -1
  250. package/dist/adapters/AreaChart.config-NDMkAi9w.js +0 -2
  251. package/dist/adapters/BarChart.config-CuGCupRX.cjs +0 -1
  252. package/dist/adapters/BarChart.config-D4Ct_ZuS.js +0 -2
  253. package/dist/adapters/BoxPlotChart.config-BEHZDgrz.js +0 -2
  254. package/dist/adapters/BoxPlotChart.config-DnC3xk7q.cjs +0 -1
  255. package/dist/adapters/BubbleChart.config-D0ouKOKS.cjs +0 -1
  256. package/dist/adapters/BubbleChart.config-Du8aEfdQ.js +0 -2
  257. package/dist/adapters/CandlestickChart.config-B0B6dKYG.cjs +0 -1
  258. package/dist/adapters/CandlestickChart.config-DBilZaFc.js +0 -2
  259. package/dist/adapters/DataTable.config-BXalzUPO.cjs +0 -1
  260. package/dist/adapters/DataTable.config-CF8BzQHu.js +0 -2
  261. package/dist/adapters/DotStripChart.config-0ggseDij.cjs +0 -1
  262. package/dist/adapters/DotStripChart.config-CfHh0XSW.js +0 -2
  263. package/dist/adapters/FunnelChart.config-AcSpen_Q.js +0 -2
  264. package/dist/adapters/FunnelChart.config-D6k89qDc.cjs +0 -1
  265. package/dist/adapters/GaugeChart.config-B5BcrEvW.cjs +0 -1
  266. package/dist/adapters/GaugeChart.config-BChbha74.js +0 -2
  267. package/dist/adapters/HeatMapChart.config-BgkP8kiW.js +0 -2
  268. package/dist/adapters/HeatMapChart.config-Crq7vBwj.cjs +0 -1
  269. package/dist/adapters/KpiDelta.config-Cqu1WOkV.js +0 -2
  270. package/dist/adapters/KpiDelta.config-edWLG1bM.cjs +0 -1
  271. package/dist/adapters/KpiNumber.config-BLkE67us.cjs +0 -1
  272. package/dist/adapters/KpiNumber.config-DNsH72Rs.js +0 -2
  273. package/dist/adapters/KpiText.config-CAnLZYht.cjs +0 -1
  274. package/dist/adapters/KpiText.config-CQGd10Hj.js +0 -2
  275. package/dist/adapters/LineChart.config-C7l_xff-.js +0 -2
  276. package/dist/adapters/LineChart.config-DOxwtnfG.cjs +0 -1
  277. package/dist/adapters/MarkdownChart.config-BV5j1oJl.cjs +0 -1
  278. package/dist/adapters/MarkdownChart.config-CBkJAEpW.js +0 -2
  279. package/dist/adapters/MeasureProfileChart.config-CyyFz-x_.cjs +0 -1
  280. package/dist/adapters/MeasureProfileChart.config-VIvr7lq6.js +0 -2
  281. package/dist/adapters/PieChart.config-BP8OlSJ4.js +0 -2
  282. package/dist/adapters/PieChart.config-BaMxIlBa.cjs +0 -1
  283. package/dist/adapters/ProportionBarChart.config-CtZaP8Xn.js +0 -2
  284. package/dist/adapters/ProportionBarChart.config-DAyEQ8Pn.cjs +0 -1
  285. package/dist/adapters/RadarChart.config-CG07QZUT.cjs +0 -1
  286. package/dist/adapters/RadarChart.config-DJJuD-Tb.js +0 -2
  287. package/dist/adapters/RadialBarChart.config-BNgzWkot.cjs +0 -1
  288. package/dist/adapters/RadialBarChart.config-DVM_jg9B.js +0 -2
  289. package/dist/adapters/RecordsTable.config-BEQmKQ-S.cjs +0 -1
  290. package/dist/adapters/RecordsTable.config-d4s8HV9m.js +0 -2
  291. package/dist/adapters/RetentionCombinedChart.config-DJ4N-ffd.cjs +0 -1
  292. package/dist/adapters/RetentionCombinedChart.config-DV1h3rW2.js +0 -2
  293. package/dist/adapters/RetentionHeatmap.config-CIJDenRg.cjs +0 -1
  294. package/dist/adapters/RetentionHeatmap.config-P3VVn3QJ.js +0 -2
  295. package/dist/adapters/SankeyChart.config-CQ89DYf7.cjs +0 -1
  296. package/dist/adapters/SankeyChart.config-CfMmdmXJ.js +0 -2
  297. package/dist/adapters/ScatterChart.config-C4zrFpF-.cjs +0 -1
  298. package/dist/adapters/ScatterChart.config-DaJ3LVWH.js +0 -2
  299. package/dist/adapters/SunburstChart.config-1ZRhfGr0.cjs +0 -1
  300. package/dist/adapters/SunburstChart.config-DHgrSIkQ.js +0 -2
  301. package/dist/adapters/TreeMapChart.config-Cy3sAsJP.js +0 -2
  302. package/dist/adapters/TreeMapChart.config-D365WWEK.cjs +0 -1
  303. package/dist/adapters/WaterfallChart.config-DYEf1vQT.js +0 -2
  304. package/dist/adapters/WaterfallChart.config-s8pICbm8.cjs +0 -1
  305. package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +0 -1
  306. package/dist/adapters/handler-B78akmC_.cjs +0 -16
  307. package/dist/adapters/mcp-app-html-C1fEW5oE.js +0 -5
  308. package/dist/adapters/mcp-app-html-CGk4ubE0.cjs +0 -1
  309. package/dist/client/chunks/DashboardEditModal-5ZSP--FQ.js.map +0 -1
  310. package/dist/client/chunks/analysis-builder-Db4umQtd.js.map +0 -1
  311. package/dist/client/chunks/analysis-builder-shared-BEvvX6ln.js.map +0 -1
  312. package/dist/client/chunks/chart-activity-grid-Bbc58UJD.js.map +0 -1
  313. package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +0 -1
  314. package/dist/client/chunks/chart-config-bar-BixSs43E.js.map +0 -1
  315. package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +0 -1
  316. package/dist/client/chunks/charts-loader-Bz9yHkW1.js +0 -87
  317. package/dist/client/chunks/nl-NL-BrqrWoAj.js.map +0 -1
  318. package/dist/client/chunks/useDirtyStateTracking-DL_AnCWZ.js.map +0 -1
  319. package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +0 -1
@@ -1,31 +1,32 @@
1
- import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-Bpaolt6h.js";
1
+ import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-BfBpNmMa.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, 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-zSjYEy0r.js";
4
- import { n as N, r as P } from "./chunks/chart-sankey-CoIuG7Nu.js";
5
- import { $ as F, A as I, B as L, G as ee, H as te, I as R, J as ne, K as re, L as ie, M as ae, N as oe, O as se, P as ce, Q as le, R as ue, U as de, V as fe, W as pe, X as me, Y as he, Z as ge, a as _e, ct as ve, et as ye, g as be, h as xe, i as Se, it as Ce, j as we, l as Te, lt as Ee, m as De, n as Oe, nt as ke, o as Ae, p as je, q as Me, r as Ne, rt as Pe, t as Fe, tt as Ie, y as Le, z as Re } from "./chunks/DashboardEditModal-5ZSP--FQ.js";
6
- import { r as ze } from "./chunks/chart-markdown-Cgs62had.js";
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-Cxd0cdAl.js";
4
+ import { n as N, r as P } from "./chunks/chart-sankey-CFXPybny.js";
5
+ import { $ as F, A as I, B as L, D as ee, F as te, G as R, H as ne, I as re, J as ie, K as ae, L as oe, N as se, O as ce, P as le, Q as ue, R as de, T as fe, U as pe, V as me, W as he, X as ge, Y as _e, Z as ve, a as ye, at as be, et as xe, g as Se, h as Ce, i as we, j as Te, k as Ee, l as De, m as Oe, n as ke, o as Ae, ot as je, p as Me, q as Ne, r as Pe, t as Fe, tt as Ie, y as Le, z as Re } from "./chunks/DashboardEditModal-DifODH4h.js";
6
+ import { r as ze } from "./chunks/chart-markdown-DtgpU3xd.js";
7
7
  import { C as Be, D as Ve, E as He, O as Ue, S as We, T as Ge, _ as Ke, a as qe, b as Je, g as Ye, h as Xe, i as Ze, k as Qe, m as $e, n as et, o as tt, p as nt, r as rt, s as it, t as at, u as ot, v as st, w as ct, x as lt, y as ut } from "./chunks/dashboardExport-Db3rmUP1.js";
8
- import { S as dt, _ as ft, b as pt, c as mt, d as ht, f as gt, g as _t, h as vt, l as yt, m as bt, o as xt, p as St, s as Ct, v as wt, y as Tt } from "./chunks/useDirtyStateTracking-DL_AnCWZ.js";
9
- import { B as Et, F as z, S as Dt, _ as Ot, b as kt, g as At, h as jt, m as Mt, p as Nt, v as Pt, x as Ft, y as It } from "./chunks/chart-activity-grid-Bbc58UJD.js";
10
- import { a as Lt, i as Rt, n as zt, o as Bt, r as Vt, t as Ht } from "./chunks/useExplainAI-CdPWtj7E.js";
11
- import { a as Ut, c as Wt, i as Gt, l as Kt, o as qt, r as Jt, s as Yt } from "./chunks/chart-funnel-CuOSCsbt.js";
12
- import { a as Xt, i as Zt, n as Qt, o as $t, r as en, s as tn, t as nn } from "./chunks/charts-loader-Bz9yHkW1.js";
13
- import { H as B } from "./chunks/chart-area-9uCXIvMN.js";
14
- import { A as rn, C as an, D as on, E as sn, F as cn, N as ln, O as un, P as dn, T as fn, _ as pn, a as mn, b as hn, c as gn, d as _n, f as vn, g as yn, h as bn, i as xn, j as Sn, k as Cn, l as wn, m as Tn, n as En, o as Dn, r as On, s as kn, t as An, u as jn, v as Mn, w as Nn, x as Pn, y as Fn } from "./chunks/analysis-builder-shared-BEvvX6ln.js";
15
- import { t as In } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
16
- import { n as Ln } from "./chunks/chart-bubble-dt5ESb7m.js";
17
- import { i as Rn, t as zn } from "./chunks/utils-CToHkuhU.js";
18
- import V, { createContext as Bn, useCallback as H, useContext as Vn, useEffect as U, useMemo as W, useRef as G, useState as K } from "react";
8
+ import { S as dt, _ as ft, b as pt, c as mt, d as ht, f as gt, g as _t, h as vt, l as yt, m as bt, o as xt, p as St, s as Ct, v as wt, y as Tt } from "./chunks/useDirtyStateTracking-DUyYwuN_.js";
9
+ import { B as Et, F as z, S as Dt, _ as Ot, b as kt, g as At, h as jt, m as Mt, p as Nt, v as Pt, x as Ft, y as It } from "./chunks/chart-activity-grid-Ly_-2B-f.js";
10
+ import { n as Lt, t as Rt } from "./chunks/gapFilling-DKBRHcQL.js";
11
+ import { a as zt, i as Bt, n as Vt, o as Ht, r as Ut, t as Wt } from "./chunks/useExplainAI-BtoS3tb5.js";
12
+ import { a as Gt, c as Kt, i as qt, l as Jt, o as Yt, r as Xt, s as Zt } from "./chunks/chart-funnel-71Kn4eeF.js";
13
+ import { a as Qt, i as $t, n as en, o as tn, r as nn, s as rn, t as an } from "./chunks/charts-loader-DoLQqFXg.js";
14
+ import { H as B } from "./chunks/chart-area-D3l-71Wy.js";
15
+ import { A as on, C as sn, D as cn, E as ln, F as un, N as dn, O as fn, P as pn, T as mn, _ as hn, a as gn, b as _n, c as vn, d as yn, f as bn, g as xn, h as Sn, i as Cn, j as wn, k as Tn, l as En, m as Dn, n as On, o as kn, r as An, s as jn, t as Mn, u as Nn, v as Pn, w as Fn, x as In, y as Ln } from "./chunks/analysis-builder-shared-CsIs4-Xf.js";
16
+ import { t as Rn } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
17
+ import { n as zn } from "./chunks/chart-bubble-DFlfqCDG.js";
18
+ import { i as Bn, t as Vn } from "./chunks/utils-CToHkuhU.js";
19
+ import V, { createContext as Hn, useCallback as H, useContext as Un, useEffect as U, useMemo as W, useRef as G, useState as K } from "react";
19
20
  import { Fragment as q, jsx as J, jsxs as Y } from "react/jsx-runtime";
20
21
  //#region src/client/stores/notebookStore.tsx
21
- var Hn = () => ({
22
+ var Wn = () => ({
22
23
  blocks: [],
23
24
  messages: [],
24
25
  isStreaming: !1,
25
26
  sessionId: null,
26
27
  inputValue: ""
27
28
  });
28
- function Un(e, t) {
29
+ function Gn(e, t) {
29
30
  return {
30
31
  addBlock: (t) => e((e) => ({ blocks: [...e.blocks, t] })),
31
32
  removeBlock: (t) => e((e) => ({ blocks: e.blocks.filter((e) => e.id !== t) })),
@@ -89,38 +90,38 @@ function Un(e, t) {
89
90
  blocks: t.blocks || [],
90
91
  messages: t.messages || []
91
92
  }),
92
- reset: () => e(Hn())
93
+ reset: () => e(Wn())
93
94
  };
94
95
  }
95
- function Wn() {
96
- let t = Hn();
96
+ function Kn() {
97
+ let t = Wn();
97
98
  return i()(r(e((e, n) => ({
98
99
  ...t,
99
- ...Un(e, n)
100
+ ...Gn(e, n)
100
101
  })), { name: "NotebookStore" }));
101
102
  }
102
- var Gn = Bn(null);
103
- function Kn({ children: e, initialConfig: t }) {
103
+ var qn = Hn(null);
104
+ function Jn({ children: e, initialConfig: t }) {
104
105
  let n = G(null);
105
106
  if (!n.current) {
106
- let e = Wn();
107
+ let e = Kn();
107
108
  t && e.getState().load(t), n.current = e;
108
109
  }
109
- return /* @__PURE__ */ J(Gn.Provider, {
110
+ return /* @__PURE__ */ J(qn.Provider, {
110
111
  value: n.current,
111
112
  children: e
112
113
  });
113
114
  }
114
115
  function X(e) {
115
- let t = Vn(Gn);
116
+ let t = Un(qn);
116
117
  if (!t) throw Error("useNotebookStore must be used within NotebookStoreProvider");
117
118
  return n(t, e);
118
119
  }
119
- var qn = (e) => e.blocks, Jn = (e) => e.messages, Yn = (e) => e.isStreaming, Xn = (e) => e.sessionId, Zn = (e) => e.inputValue, Qn = (e) => ({
120
+ var Yn = (e) => e.blocks, Xn = (e) => e.messages, Zn = (e) => e.isStreaming, Qn = (e) => e.sessionId, $n = (e) => e.inputValue, er = (e) => ({
120
121
  messages: e.messages,
121
122
  isStreaming: e.isStreaming,
122
123
  inputValue: e.inputValue
123
- }), $n = (e) => ({
124
+ }), tr = (e) => ({
124
125
  addMessage: e.addMessage,
125
126
  appendToLastAssistantMessage: e.appendToLastAssistantMessage,
126
127
  setLastAssistantError: e.setLastAssistantError,
@@ -129,7 +130,7 @@ var qn = (e) => e.blocks, Jn = (e) => e.messages, Yn = (e) => e.isStreaming, Xn
129
130
  setIsStreaming: e.setIsStreaming,
130
131
  setInputValue: e.setInputValue,
131
132
  setSessionId: e.setSessionId
132
- }), er = (e) => ({
133
+ }), nr = (e) => ({
133
134
  addBlock: e.addBlock,
134
135
  removeBlock: e.removeBlock,
135
136
  moveBlock: e.moveBlock,
@@ -138,7 +139,7 @@ var qn = (e) => e.blocks, Jn = (e) => e.messages, Yn = (e) => e.isStreaming, Xn
138
139
  width: "16px",
139
140
  height: "16px",
140
141
  color: "currentColor"
141
- }, tr = j("chevronUp"), nr = j("chevronDown"), rr = j("edit"), ir = j("delete"), ar = V.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
142
+ }, rr = j("chevronUp"), ir = j("chevronDown"), ar = j("edit"), or = j("delete"), sr = V.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
142
143
  let [c, l] = K(null), u = H((e) => {
143
144
  l(e);
144
145
  }, []);
@@ -151,7 +152,7 @@ var qn = (e) => e.blocks, Jn = (e) => e.messages, Yn = (e) => e.isStreaming, Xn
151
152
  children: [/* @__PURE__ */ J("h3", {
152
153
  className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
153
154
  children: e.title || "Untitled"
154
- }), c && /* @__PURE__ */ J(ce, {
155
+ }), c && /* @__PURE__ */ J(Te, {
155
156
  chartConfig: c.chartConfig,
156
157
  displayConfig: c.displayConfig,
157
158
  queryObject: c.queryObject,
@@ -166,31 +167,31 @@ var qn = (e) => e.blocks, Jn = (e) => e.messages, Yn = (e) => e.isStreaming, Xn
166
167
  onClick: () => r(e.id),
167
168
  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
169
  title: "Move up",
169
- children: /* @__PURE__ */ J(tr, { style: Z })
170
+ children: /* @__PURE__ */ J(rr, { style: Z })
170
171
  }),
171
172
  !s && /* @__PURE__ */ J("button", {
172
173
  onClick: () => i(e.id),
173
174
  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
175
  title: "Move down",
175
- children: /* @__PURE__ */ J(nr, { style: Z })
176
+ children: /* @__PURE__ */ J(ir, { style: Z })
176
177
  }),
177
178
  /* @__PURE__ */ J("button", {
178
179
  onClick: () => a(e),
179
180
  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
181
  title: "Edit visualization",
181
- children: /* @__PURE__ */ J(rr, { style: Z })
182
+ children: /* @__PURE__ */ J(ar, { style: Z })
182
183
  }),
183
184
  /* @__PURE__ */ J("button", {
184
185
  onClick: () => n(e.id),
185
186
  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
187
  title: "Remove",
187
- children: /* @__PURE__ */ J(ir, { style: Z })
188
+ children: /* @__PURE__ */ J(or, { style: Z })
188
189
  })
189
190
  ]
190
191
  })]
191
192
  }), /* @__PURE__ */ J("div", {
192
193
  className: "dc:flex-1 dc:min-h-0",
193
- children: /* @__PURE__ */ J(ye, {
194
+ children: /* @__PURE__ */ J(ve, {
194
195
  query: e.query,
195
196
  chartType: e.chartType,
196
197
  chartConfig: e.chartConfig,
@@ -205,7 +206,7 @@ var qn = (e) => e.blocks, Jn = (e) => e.messages, Yn = (e) => e.isStreaming, Xn
205
206
  });
206
207
  //#endregion
207
208
  //#region src/client/components/markdownOverrides.tsx
208
- function or({ children: e, ...t }) {
209
+ function cr({ children: e, ...t }) {
209
210
  return /* @__PURE__ */ J("div", {
210
211
  className: "dc:overflow-x-auto dc:my-2",
211
212
  children: /* @__PURE__ */ J("table", {
@@ -214,7 +215,7 @@ function or({ children: e, ...t }) {
214
215
  })
215
216
  });
216
217
  }
217
- var sr = {
218
+ var lr = {
218
219
  code: { props: { className: "dc:px-1 dc:py-0.5 dc:rounded-sm dc:text-xs bg-dc-surface-secondary text-dc-accent dc:font-mono" } },
219
220
  pre: { props: { className: "dc:rounded-lg dc:p-3 dc:my-2 dc:overflow-x-auto dc:text-xs bg-dc-surface-secondary text-dc-text dc:font-mono" } },
220
221
  a: { props: {
@@ -223,14 +224,14 @@ var sr = {
223
224
  rel: "noopener noreferrer"
224
225
  } },
225
226
  table: {
226
- component: or,
227
+ component: cr,
227
228
  props: { className: "dc:w-full dc:border-collapse dc:text-sm" }
228
229
  },
229
230
  thead: { props: { className: "bg-dc-surface-secondary" } },
230
231
  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" } },
231
232
  td: { props: { className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text border-dc-border dc:border-b" } },
232
233
  tr: { props: { className: "dc:hover:opacity-80" } }
233
- }, cr = { overrides: {
234
+ }, ur = { overrides: {
234
235
  h1: { props: { className: "dc:text-lg dc:font-bold text-dc-text dc:mb-2 dc:mt-3" } },
235
236
  h2: { props: { className: "dc:text-base dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
236
237
  h3: { props: { className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
@@ -241,8 +242,8 @@ var sr = {
241
242
  li: { props: { className: "dc:text-sm text-dc-text" } },
242
243
  hr: { props: { className: "dc:my-3 border-dc-border" } },
243
244
  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" } },
244
- ...sr
245
- } }, lr = { overrides: {
245
+ ...lr
246
+ } }, dr = { overrides: {
246
247
  h1: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
247
248
  h2: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
248
249
  h3: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
@@ -253,19 +254,19 @@ var sr = {
253
254
  li: { props: { className: "dc:leading-snug" } },
254
255
  hr: { props: { className: "dc:my-2 border-dc-border" } },
255
256
  blockquote: { props: { className: "dc:border-l-2 border-dc-accent dc:pl-2 dc:my-1.5 dc:italic text-dc-text-secondary" } },
256
- ...sr
257
+ ...lr
257
258
  } }, Q = {
258
259
  width: "16px",
259
260
  height: "16px",
260
261
  color: "currentColor"
261
- }, ur = j("documentText"), dr = j("chevronUp"), fr = j("chevronDown"), pr = j("delete"), mr = V.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
262
+ }, fr = j("documentText"), pr = j("chevronUp"), mr = j("chevronDown"), hr = j("delete"), gr = V.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
262
263
  return /* @__PURE__ */ Y("div", {
263
264
  className: "dc:relative dc:mb-4 bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
264
265
  children: [/* @__PURE__ */ Y("div", {
265
266
  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",
266
267
  children: [/* @__PURE__ */ Y("div", {
267
268
  className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
268
- children: [/* @__PURE__ */ J(ur, { style: Q }), /* @__PURE__ */ J("h3", {
269
+ children: [/* @__PURE__ */ J(fr, { style: Q }), /* @__PURE__ */ J("h3", {
269
270
  className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
270
271
  children: e.title || "Markdown"
271
272
  })]
@@ -276,26 +277,26 @@ var sr = {
276
277
  onClick: () => n(e.id),
277
278
  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",
278
279
  title: "Move up",
279
- children: /* @__PURE__ */ J(dr, { style: Q })
280
+ children: /* @__PURE__ */ J(pr, { style: Q })
280
281
  }),
281
282
  !a && /* @__PURE__ */ J("button", {
282
283
  onClick: () => r(e.id),
283
284
  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",
284
285
  title: "Move down",
285
- children: /* @__PURE__ */ J(fr, { style: Q })
286
+ children: /* @__PURE__ */ J(mr, { style: Q })
286
287
  }),
287
288
  /* @__PURE__ */ J("button", {
288
289
  onClick: () => t(e.id),
289
290
  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",
290
291
  title: "Remove",
291
- children: /* @__PURE__ */ J(pr, { style: Q })
292
+ children: /* @__PURE__ */ J(hr, { style: Q })
292
293
  })
293
294
  ]
294
295
  })]
295
296
  }), /* @__PURE__ */ J("div", {
296
297
  className: "dc:p-4 dc:min-w-0 dc:overflow-hidden",
297
298
  children: /* @__PURE__ */ J(ze, {
298
- options: cr,
299
+ options: ur,
299
300
  children: e.content
300
301
  })
301
302
  })]
@@ -303,7 +304,7 @@ var sr = {
303
304
  });
304
305
  //#endregion
305
306
  //#region src/client/components/AgenticNotebook/NotebookCanvas.tsx
306
- function hr(e) {
307
+ function _r(e) {
307
308
  let { analysisConfig: t } = nt(e);
308
309
  if (!t) return null;
309
310
  let n = t.charts[t.analysisType];
@@ -315,14 +316,14 @@ function hr(e) {
315
316
  displayConfig: n?.displayConfig
316
317
  };
317
318
  }
318
- var gr = V.memo(function({ colorPalette: e }) {
319
- let { t: n } = z(), r = e ?? I(), i = X(qn), { removeBlock: a, moveBlock: o, updateBlock: s } = X(t(er)), c = G(null), [l, u] = K(null), d = G(i.length);
319
+ var vr = V.memo(function({ colorPalette: e }) {
320
+ let { t: n } = z(), r = e ?? ee(), i = X(Yn), { removeBlock: a, moveBlock: o, updateBlock: s } = X(t(nr)), c = G(null), [l, u] = K(null), d = G(i.length);
320
321
  U(() => {
321
322
  i.length > d.current && c.current?.scrollIntoView({ behavior: "smooth" }), d.current = i.length;
322
323
  }, [i.length]);
323
324
  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) => {
324
325
  if (!l) return;
325
- let t = hr(e);
326
+ let t = _r(e);
326
327
  t && s(l.id, t), u(null);
327
328
  }, [l, s]);
328
329
  return i.length === 0 ? /* @__PURE__ */ J("div", {
@@ -342,7 +343,7 @@ var gr = V.memo(function({ colorPalette: e }) {
342
343
  children: [
343
344
  i.map((e, t) => {
344
345
  let n = t === 0, a = t === i.length - 1;
345
- return e.type === "portlet" ? /* @__PURE__ */ J(ar, {
346
+ return e.type === "portlet" ? /* @__PURE__ */ J(sr, {
346
347
  block: e,
347
348
  colorPalette: r,
348
349
  onRemove: f,
@@ -351,7 +352,7 @@ var gr = V.memo(function({ colorPalette: e }) {
351
352
  onEdit: h,
352
353
  isFirst: n,
353
354
  isLast: a
354
- }, e.id) : e.type === "markdown" ? /* @__PURE__ */ J(mr, {
355
+ }, e.id) : e.type === "markdown" ? /* @__PURE__ */ J(gr, {
355
356
  block: e,
356
357
  onRemove: f,
357
358
  onMoveUp: p,
@@ -361,7 +362,7 @@ var gr = V.memo(function({ colorPalette: e }) {
361
362
  }, e.id) : null;
362
363
  }),
363
364
  /* @__PURE__ */ J("div", { ref: c }),
364
- /* @__PURE__ */ J(Te, {
365
+ /* @__PURE__ */ J(De, {
365
366
  isOpen: !!l,
366
367
  onClose: () => u(null),
367
368
  onSave: g,
@@ -383,17 +384,17 @@ var gr = V.memo(function({ colorPalette: e }) {
383
384
  })
384
385
  ]
385
386
  });
386
- }), _r = {
387
+ }), yr = {
387
388
  discover_cubes: "Discovering cubes",
388
389
  get_cube_metadata: "Reading metadata",
389
390
  execute_query: "Executing query",
390
391
  add_portlet: "Adding visualization",
391
392
  add_markdown: "Adding explanation"
392
393
  };
393
- function vr(e, t, n) {
394
+ function br(e, t, n) {
394
395
  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";
395
396
  }
396
- function yr({ toolCall: e, loadingComponent: t }) {
397
+ function xr({ toolCall: e, loadingComponent: t }) {
397
398
  return e.status === "running" ? t ? /* @__PURE__ */ J("span", {
398
399
  className: "dc:inline-flex dc:items-center dc:justify-center dc:h-3 dc:w-3",
399
400
  children: t
@@ -402,24 +403,24 @@ function yr({ toolCall: e, loadingComponent: t }) {
402
403
  children: e.status === "error" ? "✗" : "✓"
403
404
  });
404
405
  }
405
- function br(e) {
406
+ function Sr(e) {
406
407
  return typeof e == "string" ? e : JSON.stringify(e, null, 2);
407
408
  }
408
- function xr({ result: e }) {
409
+ function Cr({ result: e }) {
409
410
  return e == null ? null : /* @__PURE__ */ J("pre", {
410
411
  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",
411
- children: br(e)
412
+ children: Sr(e)
412
413
  });
413
414
  }
414
- function Sr({ toolCall: e, loadingComponent: t }) {
415
- let [n, r] = K(!1), i = _r[e.name] || e.name, a = e.status === "running";
415
+ function wr({ toolCall: e, loadingComponent: t }) {
416
+ let [n, r] = K(!1), i = yr[e.name] || e.name, a = e.status === "running";
416
417
  return /* @__PURE__ */ Y("div", {
417
418
  className: "dc:my-1 dc:text-xs",
418
419
  children: [/* @__PURE__ */ Y("button", {
419
420
  onClick: () => r(!n),
420
421
  className: "dc:flex dc:items-center dc:gap-1.5 text-dc-text-secondary dc:hover:opacity-80 dc:transition-opacity",
421
422
  children: [
422
- /* @__PURE__ */ J(yr, {
423
+ /* @__PURE__ */ J(xr, {
423
424
  toolCall: e,
424
425
  loadingComponent: t
425
426
  }),
@@ -429,10 +430,10 @@ function Sr({ toolCall: e, loadingComponent: t }) {
429
430
  children: n ? "▲" : "▼"
430
431
  })
431
432
  ]
432
- }), n && /* @__PURE__ */ J(xr, { result: e.result })]
433
+ }), n && /* @__PURE__ */ J(Cr, { result: e.result })]
433
434
  });
434
435
  }
435
- function Cr({ error: e, hasContent: t }) {
436
+ function Tr({ error: e, hasContent: t }) {
436
437
  return /* @__PURE__ */ Y("div", {
437
438
  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" : ""}`,
438
439
  children: [/* @__PURE__ */ J("span", {
@@ -444,7 +445,7 @@ function Cr({ error: e, hasContent: t }) {
444
445
  })]
445
446
  });
446
447
  }
447
- function wr(e) {
448
+ function Er(e) {
448
449
  let t = e.role === "user", n = !!e.content?.trim(), r = !!e.error, i = e.toolCalls ?? [], a = i.length > 0;
449
450
  return {
450
451
  isUser: t,
@@ -455,7 +456,7 @@ function wr(e) {
455
456
  shouldRender: t || n || r || a
456
457
  };
457
458
  }
458
- function Tr({ message: e, flags: t, loadingComponent: n }) {
459
+ function Dr({ message: e, flags: t, loadingComponent: n }) {
459
460
  let { isUser: r, hasContent: i, hasError: a, hasToolCalls: o, toolCalls: s } = t;
460
461
  return /* @__PURE__ */ Y(q, { children: [
461
462
  i && (r ? /* @__PURE__ */ J("div", {
@@ -464,25 +465,25 @@ function Tr({ message: e, flags: t, loadingComponent: n }) {
464
465
  }) : /* @__PURE__ */ J("div", {
465
466
  className: "dc:break-words dc:min-w-0",
466
467
  children: /* @__PURE__ */ J(ze, {
467
- options: lr,
468
+ options: dr,
468
469
  children: e.content
469
470
  })
470
471
  })),
471
- a && /* @__PURE__ */ J(Cr, {
472
+ a && /* @__PURE__ */ J(Tr, {
472
473
  error: e.error,
473
474
  hasContent: i
474
475
  }),
475
- o && /* @__PURE__ */ J(Er, {
476
+ o && /* @__PURE__ */ J(Or, {
476
477
  toolCalls: s,
477
478
  loadingComponent: n,
478
479
  separated: i || a
479
480
  })
480
481
  ] });
481
482
  }
482
- function Er({ toolCalls: e, loadingComponent: t, separated: n }) {
483
+ function Or({ toolCalls: e, loadingComponent: t, separated: n }) {
483
484
  return /* @__PURE__ */ J("div", {
484
485
  className: n ? "dc:mt-1 dc:border-t dc:border-current dc:border-opacity-10 dc:pt-1" : "",
485
- children: e.map((e, n) => /* @__PURE__ */ J(Sr, {
486
+ children: e.map((e, n) => /* @__PURE__ */ J(wr, {
486
487
  toolCall: e,
487
488
  loadingComponent: t
488
489
  }, e.id || n))
@@ -490,23 +491,23 @@ function Er({ toolCalls: e, loadingComponent: t, separated: n }) {
490
491
  }
491
492
  //#endregion
492
493
  //#region src/client/components/AgenticNotebook/ChatMessage.tsx
493
- var Dr = { animation: "dc-msg-in 100ms ease-out" }, Or = V.memo(function({ message: e, loadingComponent: t }) {
494
- let n = wr(e);
494
+ var kr = { animation: "dc-msg-in 100ms ease-out" }, Ar = V.memo(function({ message: e, loadingComponent: t }) {
495
+ let n = Er(e);
495
496
  if (!n.shouldRender) return null;
496
497
  let { isUser: r, hasContent: i, hasError: a } = n;
497
498
  return /* @__PURE__ */ J("div", {
498
499
  className: `dc:flex dc:mb-3 ${r ? "dc:justify-end" : "dc:justify-start"}`,
499
- style: Dr,
500
+ style: kr,
500
501
  children: /* @__PURE__ */ J("div", {
501
- className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${vr(r, a, i)}`,
502
- children: /* @__PURE__ */ J(Tr, {
502
+ className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${br(r, a, i)}`,
503
+ children: /* @__PURE__ */ J(Dr, {
503
504
  message: e,
504
505
  flags: n,
505
506
  loadingComponent: t
506
507
  })
507
508
  })
508
509
  });
509
- }), kr = V.memo(function({ value: e, onChange: t, onSend: n, onStop: r, onContinue: i, isStreaming: a = !1, showContinue: o = !1, disabled: s = !1, placeholder: c }) {
510
+ }), jr = V.memo(function({ value: e, onChange: t, onSend: n, onStop: r, onContinue: i, isStreaming: a = !1, showContinue: o = !1, disabled: s = !1, placeholder: c }) {
510
511
  let { t: l } = z(), u = c ?? l("notebook.chatInput.placeholder"), d = G(null);
511
512
  U(() => {
512
513
  let e = d.current;
@@ -550,7 +551,7 @@ var Dr = { animation: "dc-msg-in 100ms ease-out" }, Or = V.memo(function({ messa
550
551
  });
551
552
  //#endregion
552
553
  //#region src/client/hooks/agentChatStream.ts
553
- function Ar(e) {
554
+ function Mr(e) {
554
555
  if (e.startsWith("{") || e.includes("\"type\":\"error\"")) try {
555
556
  let t = JSON.parse(e.replace(/^Error:\s*/, ""));
556
557
  return {
@@ -568,7 +569,7 @@ function Ar(e) {
568
569
  }
569
570
  return e;
570
571
  }
571
- function jr(e, t) {
572
+ function Nr(e, t) {
572
573
  switch (e.type) {
573
574
  case "text_delta":
574
575
  t.onTextDelta(e.data);
@@ -609,13 +610,13 @@ function jr(e, t) {
609
610
  case "error": t.onError(e.data.message);
610
611
  }
611
612
  }
612
- function Mr(e, t) {
613
+ function Pr(e, t) {
613
614
  let n = e.trim().split("\n");
614
615
  for (let e of n) if (e.startsWith("data: ")) try {
615
616
  t(JSON.parse(e.slice(6)));
616
617
  } catch {}
617
618
  }
618
- function Nr(e) {
619
+ function Fr(e) {
619
620
  let t = {
620
621
  "Content-Type": "application/json",
621
622
  ...e.baseHeaders
@@ -624,16 +625,16 @@ function Nr(e) {
624
625
  }
625
626
  //#endregion
626
627
  //#region src/client/hooks/useAgentChat.ts
627
- function Pr(e) {
628
+ function Ir(e) {
628
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);
629
630
  return d.current = e, {
630
631
  sendMessage: H(async (e, c, l) => {
631
- let f = (e) => jr(e, d.current);
632
+ let f = (e) => Nr(e, d.current);
632
633
  s.current && s.current.abort();
633
634
  let p = new AbortController();
634
635
  s.current = p, u(!0);
635
636
  try {
636
- let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u = Nr({
637
+ let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u = Fr({
637
638
  baseHeaders: o.headers,
638
639
  agentApiKey: n,
639
640
  agentProvider: r,
@@ -662,13 +663,13 @@ function Pr(e) {
662
663
  g += h.decode(t, { stream: !0 });
663
664
  let n = g.split("\n\n");
664
665
  g = n.pop() || "";
665
- for (let e of n) Mr(e, f);
666
+ for (let e of n) Pr(e, f);
666
667
  }
667
- g.trim() && Mr(g, f);
668
+ g.trim() && Pr(g, f);
668
669
  } catch (e) {
669
670
  if (e.name !== "AbortError") {
670
671
  let t = e instanceof Error ? e.message : "Stream failed";
671
- d.current.onError(Ar(t));
672
+ d.current.onError(Mr(t));
672
673
  }
673
674
  } finally {
674
675
  u(!1), s.current = null;
@@ -689,8 +690,8 @@ function Pr(e) {
689
690
  }
690
691
  //#endregion
691
692
  //#region src/client/components/AgenticNotebook/useAgentChatController.ts
692
- function Fr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onDashboardSaved: o, messages: s, isStreaming: c }) {
693
- 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($n)), S = X((e) => e.sessionId), C = X((e) => e.addBlock), w = X((e) => e.updateBlock), T = G(s);
693
+ function Lr({ 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(tr)), S = X((e) => e.sessionId), C = X((e) => e.addBlock), w = X((e) => e.updateBlock), T = G(s);
694
695
  T.current = s;
695
696
  let E = G(c);
696
697
  E.current = c;
@@ -704,7 +705,7 @@ function Fr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
704
705
  toolCalls: [],
705
706
  timestamp: Date.now()
706
707
  }));
707
- }, [m]), { sendMessage: k, abort: A } = Pr({
708
+ }, [m]), { sendMessage: k, abort: A } = Ir({
708
709
  agentEndpoint: e,
709
710
  agentApiKey: n,
710
711
  agentProvider: r,
@@ -792,20 +793,20 @@ function Fr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
792
793
  }
793
794
  //#endregion
794
795
  //#region src/client/components/AgenticNotebook/agentChatParts.tsx
795
- var Ir = j("thumbUp"), Lr = j("thumbDown");
796
- function Rr(...e) {
796
+ var Rr = j("thumbUp"), zr = j("thumbDown");
797
+ function Br(...e) {
797
798
  return e.every(Boolean);
798
799
  }
799
- function zr(e) {
800
- let t = Rr(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
800
+ function Vr(e) {
801
+ let t = Br(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
801
802
  return {
802
- showSaveAsDashboard: Rr(t, e.onDashboardSaved, e.portletBlockCount > 0),
803
+ showSaveAsDashboard: Br(t, e.onDashboardSaved, e.portletBlockCount > 0),
803
804
  showClear: e.messageCount > 0,
804
- showFeedback: Rr(t, e.onScore, !!e.lastTraceId, !n),
805
+ showFeedback: Br(t, e.onScore, !!e.lastTraceId, !n),
805
806
  lastScored: n
806
807
  };
807
808
  }
808
- function Br({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
809
+ function Hr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
809
810
  let { t: a } = z();
810
811
  return /* @__PURE__ */ Y("div", {
811
812
  className: "dc:flex dc:items-center dc:justify-between dc:px-4 dc:py-3 border-dc-border dc:border-b",
@@ -829,7 +830,7 @@ function Br({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDash
829
830
  })]
830
831
  });
831
832
  }
832
- function Vr({ scored: e, onScore: t }) {
833
+ function Ur({ scored: e, onScore: t }) {
833
834
  let { t: n } = z();
834
835
  return /* @__PURE__ */ J("div", {
835
836
  className: "dc:flex dc:items-center dc:justify-center dc:gap-3 dc:py-4 dc:mt-2",
@@ -844,16 +845,16 @@ function Vr({ scored: e, onScore: t }) {
844
845
  children: [/* @__PURE__ */ Y("button", {
845
846
  onClick: () => t(1),
846
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-success hover:bg-dc-success-bg dc:transition-colors bg-dc-surface dc:cursor-pointer",
847
- children: [/* @__PURE__ */ J(Ir, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
848
+ children: [/* @__PURE__ */ J(Rr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
848
849
  }), /* @__PURE__ */ Y("button", {
849
850
  onClick: () => t(0),
850
851
  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",
851
- children: [/* @__PURE__ */ J(Lr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
852
+ children: [/* @__PURE__ */ J(zr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
852
853
  })]
853
854
  })] })
854
855
  });
855
856
  }
856
- function Hr({ loadingComponent: e }) {
857
+ function Wr({ loadingComponent: e }) {
857
858
  let { t } = z();
858
859
  return /* @__PURE__ */ J("div", {
859
860
  className: "dc:flex dc:mb-3 dc:justify-start",
@@ -867,7 +868,7 @@ function Hr({ loadingComponent: e }) {
867
868
  })
868
869
  });
869
870
  }
870
- function Ur() {
871
+ function Gr() {
871
872
  let { t: e } = z();
872
873
  return /* @__PURE__ */ J("div", {
873
874
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
@@ -896,14 +897,14 @@ function Ur() {
896
897
  }
897
898
  //#endregion
898
899
  //#region src/client/components/AgenticNotebook/AgentChatPanel.tsx
899
- function Wr({ messages: e, loadingComponent: t }) {
900
- return e.length === 0 ? /* @__PURE__ */ J(Ur, {}) : /* @__PURE__ */ J(q, { children: e.map((e) => /* @__PURE__ */ J(Or, {
900
+ function Kr({ messages: e, loadingComponent: t }) {
901
+ return e.length === 0 ? /* @__PURE__ */ J(Gr, {}) : /* @__PURE__ */ J(q, { children: e.map((e) => /* @__PURE__ */ J(Ar, {
901
902
  message: e,
902
903
  loadingComponent: t
903
904
  }, e.id)) });
904
905
  }
905
- var Gr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onClear: o, onDashboardSaved: s, onScore: c, loadingComponent: l, initialPrompt: u }) {
906
- let { t: d } = z(), f = G(null), p = G(!1), [m, h] = K(/* @__PURE__ */ new Set()), { messages: g, isStreaming: _, inputValue: v } = X(t(Qn)), 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 } = Fr({
906
+ var qr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onClear: o, onDashboardSaved: s, onScore: c, loadingComponent: l, initialPrompt: u }) {
907
+ let { t: d } = z(), f = G(null), p = G(!1), [m, h] = K(/* @__PURE__ */ new Set()), { messages: g, isStreaming: _, inputValue: v } = X(t(er)), 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 } = Lr({
907
908
  agentEndpoint: e,
908
909
  agentApiKey: n,
909
910
  agentProvider: r,
@@ -952,7 +953,7 @@ var Gr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
952
953
  traceId: O,
953
954
  value: e
954
955
  }), h((e) => new Set(e).add(O)));
955
- }, [O, c]), { showSaveAsDashboard: L, showClear: ee, showFeedback: te, lastScored: R } = zr({
956
+ }, [O, c]), { showSaveAsDashboard: L, showClear: ee, showFeedback: te, lastScored: R } = Vr({
956
957
  onDashboardSaved: !!s,
957
958
  onScore: !!c,
958
959
  isStreaming: _,
@@ -964,7 +965,7 @@ var Gr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
964
965
  return /* @__PURE__ */ Y("div", {
965
966
  className: "dc:flex dc:flex-col dc:h-full bg-dc-surface",
966
967
  children: [
967
- /* @__PURE__ */ J(Br, {
968
+ /* @__PURE__ */ J(Hr, {
968
969
  showSaveAsDashboard: L,
969
970
  showClear: ee,
970
971
  isStreaming: _,
@@ -974,19 +975,19 @@ var Gr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
974
975
  /* @__PURE__ */ Y("div", {
975
976
  className: "dc:flex-1 dc:overflow-y-auto dc:px-4 dc:py-3",
976
977
  children: [
977
- /* @__PURE__ */ J(Wr, {
978
+ /* @__PURE__ */ J(Kr, {
978
979
  messages: g,
979
980
  loadingComponent: l
980
981
  }),
981
- E && /* @__PURE__ */ J(Hr, { loadingComponent: l }),
982
- (te || R) && /* @__PURE__ */ J(Vr, {
982
+ E && /* @__PURE__ */ J(Wr, { loadingComponent: l }),
983
+ (te || R) && /* @__PURE__ */ J(Ur, {
983
984
  scored: R,
984
985
  onScore: I
985
986
  }),
986
987
  /* @__PURE__ */ J("div", { ref: f })
987
988
  ]
988
989
  }),
989
- /* @__PURE__ */ J(kr, {
990
+ /* @__PURE__ */ J(jr, {
990
991
  value: v,
991
992
  onChange: y,
992
993
  onSend: M,
@@ -1000,7 +1001,7 @@ var Gr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
1000
1001
  });
1001
1002
  //#endregion
1002
1003
  //#region src/client/components/AgenticNotebook/useNotebookAutosave.ts
1003
- function Kr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
1004
+ function Jr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
1004
1005
  let a = G(void 0), o = G(!1), s = G(i);
1005
1006
  s.current = i;
1006
1007
  let c = G(e > 0 || t > 0), l = H(() => {
@@ -1040,7 +1041,7 @@ function Kr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
1040
1041
  }
1041
1042
  //#endregion
1042
1043
  //#region src/client/components/AgenticNotebook/index.tsx
1043
- function qr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1044
+ function Yr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1044
1045
  let { t: i } = z(), a = j("bookOpen"), o = j("documentText");
1045
1046
  return /* @__PURE__ */ Y("button", {
1046
1047
  type: "button",
@@ -1070,7 +1071,7 @@ function qr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1070
1071
  })]
1071
1072
  });
1072
1073
  }
1073
- function Jr({ onExpand: e }) {
1074
+ function Xr({ onExpand: e }) {
1074
1075
  let { t } = z(), n = j("sparkles");
1075
1076
  return /* @__PURE__ */ Y("button", {
1076
1077
  type: "button",
@@ -1084,8 +1085,8 @@ function Jr({ onExpand: e }) {
1084
1085
  })]
1085
1086
  });
1086
1087
  }
1087
- function Yr({ 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 }) {
1088
- let [p, m] = K(60), h = G(null), g = G(!1), { containerRef: _, layoutMode: v } = In(), [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);
1088
+ function Zr({ 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 }) {
1089
+ let [p, m] = K(60), h = G(null), g = G(!1), { containerRef: _, layoutMode: v } = Rn(), [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);
1089
1090
  U(() => {
1090
1091
  T.current === "narrow" && v === "wide" && b("chat"), T.current = v;
1091
1092
  }, [v]);
@@ -1133,7 +1134,7 @@ function Yr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1133
1134
  O,
1134
1135
  o
1135
1136
  ]);
1136
- let { clearSave: F } = Kr({
1137
+ let { clearSave: F } = Jr({
1137
1138
  blockCount: D,
1138
1139
  messageCount: O,
1139
1140
  isStreaming: k,
@@ -1149,7 +1150,7 @@ function Yr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1149
1150
  g.current = !1, document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", n);
1150
1151
  };
1151
1152
  document.addEventListener("mousemove", t), document.addEventListener("mouseup", n);
1152
- }, []), L = /* @__PURE__ */ J(Gr, {
1153
+ }, []), L = /* @__PURE__ */ J(qr, {
1153
1154
  agentEndpoint: e,
1154
1155
  agentApiKey: t,
1155
1156
  agentProvider: n,
@@ -1164,7 +1165,7 @@ function Yr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1164
1165
  return v === "narrow" ? /* @__PURE__ */ J("div", {
1165
1166
  ref: N,
1166
1167
  className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
1167
- children: y === "chat" ? /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J(qr, {
1168
+ children: y === "chat" ? /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J(Yr, {
1168
1169
  blocks: E,
1169
1170
  pulsingBlockId: x,
1170
1171
  nudge: C,
@@ -1174,8 +1175,8 @@ function Yr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1174
1175
  children: L
1175
1176
  })] }) : /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J("div", {
1176
1177
  className: "dc:h-full dc:overflow-hidden dc:flex-1",
1177
- children: /* @__PURE__ */ J(gr, { colorPalette: l })
1178
- }), /* @__PURE__ */ J(Jr, { onExpand: () => b("chat") })] })
1178
+ children: /* @__PURE__ */ J(vr, { colorPalette: l })
1179
+ }), /* @__PURE__ */ J(Xr, { onExpand: () => b("chat") })] })
1179
1180
  }) : /* @__PURE__ */ Y("div", {
1180
1181
  ref: N,
1181
1182
  className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
@@ -1183,7 +1184,7 @@ function Yr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1183
1184
  /* @__PURE__ */ J("div", {
1184
1185
  className: "dc:h-full dc:overflow-hidden",
1185
1186
  style: { width: `${p}%` },
1186
- children: /* @__PURE__ */ J(gr, { colorPalette: l })
1187
+ children: /* @__PURE__ */ J(vr, { colorPalette: l })
1187
1188
  }),
1188
1189
  /* @__PURE__ */ J("div", {
1189
1190
  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",
@@ -1197,10 +1198,10 @@ function Yr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1197
1198
  ]
1198
1199
  });
1199
1200
  }
1200
- var Xr = V.memo(function({ config: e, colorPalette: t, ...n }) {
1201
- return /* @__PURE__ */ J(Kn, {
1201
+ var Qr = V.memo(function({ config: e, colorPalette: t, ...n }) {
1202
+ return /* @__PURE__ */ J(Jn, {
1202
1203
  initialConfig: e,
1203
- children: /* @__PURE__ */ J(Yr, {
1204
+ children: /* @__PURE__ */ J(Zr, {
1204
1205
  ...n,
1205
1206
  colorPalette: t
1206
1207
  })
@@ -1208,28 +1209,28 @@ var Xr = V.memo(function({ config: e, colorPalette: t, ...n }) {
1208
1209
  });
1209
1210
  //#endregion
1210
1211
  //#region src/client/components/AnalyticsPage.tsx
1211
- function Zr() {
1212
+ function $r() {
1212
1213
  let { t: e } = z();
1213
1214
  return /* @__PURE__ */ J("div", { children: e("analyticsPage.title") });
1214
1215
  }
1215
1216
  //#endregion
1216
1217
  //#region src/client/stores/dataBrowserStore.tsx
1217
- var Qr = "dc-data-browser-column-widths";
1218
- function $r(e) {
1218
+ var ei = "dc-data-browser-column-widths";
1219
+ function ti(e) {
1219
1220
  try {
1220
- let t = localStorage.getItem(Qr);
1221
+ let t = localStorage.getItem(ei);
1221
1222
  return t ? JSON.parse(t)[e] ?? {} : {};
1222
1223
  } catch {
1223
1224
  return {};
1224
1225
  }
1225
1226
  }
1226
- function ei(e, t) {
1227
+ function ni(e, t) {
1227
1228
  try {
1228
- let n = localStorage.getItem(Qr), r = n ? JSON.parse(n) : {};
1229
- r[e] = t, localStorage.setItem(Qr, JSON.stringify(r));
1229
+ let n = localStorage.getItem(ei), r = n ? JSON.parse(n) : {};
1230
+ r[e] = t, localStorage.setItem(ei, JSON.stringify(r));
1230
1231
  } catch {}
1231
1232
  }
1232
- function ti(e = {}) {
1233
+ function ri(e = {}) {
1233
1234
  return i()((t, n) => ({
1234
1235
  selectedCube: e.defaultCube ?? null,
1235
1236
  visibleColumns: e.defaultColumns ?? [],
@@ -1240,7 +1241,7 @@ function ti(e = {}) {
1240
1241
  filters: [],
1241
1242
  showFilterBar: !1,
1242
1243
  showColumnPicker: !1,
1243
- columnWidths: e.defaultCube ? $r(e.defaultCube) : {},
1244
+ columnWidths: e.defaultCube ? ti(e.defaultCube) : {},
1244
1245
  selectCube: (e, n) => t({
1245
1246
  selectedCube: e,
1246
1247
  visibleColumns: n,
@@ -1249,7 +1250,7 @@ function ti(e = {}) {
1249
1250
  page: 0,
1250
1251
  filters: [],
1251
1252
  showFilterBar: !1,
1252
- columnWidths: $r(e)
1253
+ columnWidths: ti(e)
1253
1254
  }),
1254
1255
  setVisibleColumns: (e) => t({
1255
1256
  visibleColumns: e,
@@ -1296,39 +1297,39 @@ function ti(e = {}) {
1296
1297
  ...t.columnWidths,
1297
1298
  [e]: n
1298
1299
  };
1299
- return t.selectedCube && ei(t.selectedCube, r), { columnWidths: r };
1300
+ return t.selectedCube && ni(t.selectedCube, r), { columnWidths: r };
1300
1301
  }),
1301
1302
  setColumnWidths: (e) => {
1302
1303
  let r = n().selectedCube;
1303
- r && ei(r, e), t({ columnWidths: e });
1304
+ r && ni(r, e), t({ columnWidths: e });
1304
1305
  }
1305
1306
  }));
1306
1307
  }
1307
- var ni = Bn(null);
1308
- function ri({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
1308
+ var ii = Hn(null);
1309
+ function ai({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
1309
1310
  let i = G(null);
1310
- return i.current ||= ti({
1311
+ return i.current ||= ri({
1311
1312
  defaultPageSize: t,
1312
1313
  defaultCube: n,
1313
1314
  defaultColumns: r
1314
- }), /* @__PURE__ */ J(ni.Provider, {
1315
+ }), /* @__PURE__ */ J(ii.Provider, {
1315
1316
  value: i.current,
1316
1317
  children: e
1317
1318
  });
1318
1319
  }
1319
1320
  function $(e) {
1320
- let t = Vn(ni);
1321
+ let t = Un(ii);
1321
1322
  if (!t) throw Error("useDataBrowserStore must be used within DataBrowserStoreProvider");
1322
1323
  return n(t, e);
1323
1324
  }
1324
1325
  //#endregion
1325
1326
  //#region src/client/hooks/useDataBrowser.ts
1326
- function ii(e, t) {
1327
+ function oi(e, t) {
1327
1328
  if (!t) return !0;
1328
1329
  let [n, r] = e.split("."), i = t.cubes.find((e) => e.name === n);
1329
1330
  return !i || i.dimensions.some((e) => e.name === `${n}.${r}`);
1330
1331
  }
1331
- function ai(e, t) {
1332
+ function si(e, t) {
1332
1333
  if (!t) return "string";
1333
1334
  let [n] = e.split("."), r = t.cubes.find((e) => e.name === n);
1334
1335
  if (!r) return "string";
@@ -1337,7 +1338,7 @@ function ai(e, t) {
1337
1338
  let a = r.measures.find((t) => t.name === e);
1338
1339
  return a ? a.type : "string";
1339
1340
  }
1340
- function oi(e, t) {
1341
+ function ci(e, t) {
1341
1342
  if (!t) return {
1342
1343
  dimensions: [],
1343
1344
  measures: []
@@ -1359,7 +1360,7 @@ function oi(e, t) {
1359
1360
  measures: n.measures.filter((e) => r.has(e.type)).map((e) => e.name)
1360
1361
  };
1361
1362
  }
1362
- function si() {
1363
+ function li() {
1363
1364
  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) => ({
1364
1365
  selectCube: e.selectCube,
1365
1366
  setVisibleColumns: e.setVisibleColumns,
@@ -1379,7 +1380,7 @@ function si() {
1379
1380
  return n ? n.name : t.dimensions.length > 0 ? t.dimensions[0].name : null;
1380
1381
  }, [d, e]), m = r ?? p, h = r ? i : "asc", g = W(() => {
1381
1382
  if (!e || n.length === 0) return null;
1382
- let t = n.filter((e) => ii(e, d)), r = n.filter((e) => !ii(e, d));
1383
+ let t = n.filter((e) => oi(e, d)), r = n.filter((e) => !oi(e, d));
1383
1384
  if (t.length === 0) return null;
1384
1385
  let i = {
1385
1386
  dimensions: t,
@@ -1433,8 +1434,8 @@ function si() {
1433
1434
  }
1434
1435
  //#endregion
1435
1436
  //#region src/client/components/DataBrowser/DataBrowserSidebar.tsx
1436
- var ci = j("search"), li = j("cube");
1437
- function ui({ cubes: e, selectedCube: t, onSelectCube: n }) {
1437
+ var ui = j("search"), di = j("cube");
1438
+ function fi({ cubes: e, selectedCube: t, onSelectCube: n }) {
1438
1439
  let { t: r } = z(), [i, a] = K(""), o = W(() => {
1439
1440
  let t = [...e].sort((e, t) => (e.title || e.name).localeCompare(t.title || t.name));
1440
1441
  if (!i) return t;
@@ -1450,7 +1451,7 @@ function ui({ cubes: e, selectedCube: t, onSelectCube: n }) {
1450
1451
  children: r("dataBrowser.sidebar.cubes")
1451
1452
  }), /* @__PURE__ */ Y("div", {
1452
1453
  className: "dc:relative",
1453
- children: [/* @__PURE__ */ J(ci, { 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", {
1454
+ children: [/* @__PURE__ */ J(ui, { 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", {
1454
1455
  type: "text",
1455
1456
  value: i,
1456
1457
  onChange: (e) => a(e.target.value),
@@ -1463,7 +1464,7 @@ function ui({ cubes: e, selectedCube: t, onSelectCube: n }) {
1463
1464
  children: [o.map((e) => /* @__PURE__ */ Y("button", {
1464
1465
  onClick: () => n(e.name),
1465
1466
  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"}`,
1466
- children: [/* @__PURE__ */ J(li, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ J("span", {
1467
+ children: [/* @__PURE__ */ J(di, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ J("span", {
1467
1468
  className: "dc:truncate",
1468
1469
  children: e.title || e.name
1469
1470
  })]
@@ -1476,8 +1477,8 @@ function ui({ cubes: e, selectedCube: t, onSelectCube: n }) {
1476
1477
  }
1477
1478
  //#endregion
1478
1479
  //#region src/client/components/DataBrowser/DataBrowserToolbar.tsx
1479
- var di = j("filter"), fi = j("settings"), pi = j("chevronLeft"), mi = j("chevronRight"), hi = j("refresh");
1480
- function gi({ 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 }) {
1480
+ var pi = j("filter"), mi = j("settings"), hi = j("chevronLeft"), gi = j("chevronRight"), _i = j("refresh");
1481
+ function vi({ 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 }) {
1481
1482
  let { t: p } = z();
1482
1483
  return /* @__PURE__ */ Y("div", {
1483
1484
  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",
@@ -1486,7 +1487,7 @@ function gi({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1486
1487
  onClick: n,
1487
1488
  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"}`,
1488
1489
  children: [
1489
- /* @__PURE__ */ J(di, { className: "dc:w-3.5 dc:h-3.5" }),
1490
+ /* @__PURE__ */ J(pi, { className: "dc:w-3.5 dc:h-3.5" }),
1490
1491
  p("dataBrowser.toolbar.filters"),
1491
1492
  t > 0 && /* @__PURE__ */ J("span", {
1492
1493
  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",
@@ -1497,7 +1498,7 @@ function gi({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1497
1498
  /* @__PURE__ */ Y("button", {
1498
1499
  onClick: r,
1499
1500
  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",
1500
- children: [/* @__PURE__ */ J(fi, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
1501
+ children: [/* @__PURE__ */ J(mi, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
1501
1502
  }),
1502
1503
  /* @__PURE__ */ J("div", { className: "dc:flex-1" }),
1503
1504
  /* @__PURE__ */ J("span", {
@@ -1508,7 +1509,7 @@ function gi({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1508
1509
  onClick: f,
1509
1510
  className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:transition-colors",
1510
1511
  title: "Refresh",
1511
- children: /* @__PURE__ */ J(hi, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
1512
+ children: /* @__PURE__ */ J(_i, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
1512
1513
  }),
1513
1514
  /* @__PURE__ */ Y("select", {
1514
1515
  value: a,
@@ -1536,7 +1537,7 @@ function gi({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1536
1537
  onClick: () => l(i - 1),
1537
1538
  disabled: !c,
1538
1539
  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",
1539
- children: /* @__PURE__ */ J(pi, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1540
+ children: /* @__PURE__ */ J(hi, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1540
1541
  }),
1541
1542
  /* @__PURE__ */ J("span", {
1542
1543
  className: "dc:text-xs dc:font-medium text-dc-text dc:min-w-[2rem] dc:text-center",
@@ -1546,7 +1547,7 @@ function gi({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1546
1547
  onClick: () => l(i + 1),
1547
1548
  disabled: !s,
1548
1549
  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",
1549
- children: /* @__PURE__ */ J(mi, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1550
+ children: /* @__PURE__ */ J(gi, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1550
1551
  })
1551
1552
  ]
1552
1553
  })
@@ -1555,9 +1556,9 @@ function gi({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1555
1556
  }
1556
1557
  //#endregion
1557
1558
  //#region src/client/components/DataBrowser/DataBrowserTable.tsx
1558
- var _i = j("chevronUp"), vi = j("chevronDown");
1559
- function yi(e, t) {
1560
- let n = ai(e, t);
1559
+ var yi = j("chevronUp"), bi = j("chevronDown");
1560
+ function xi(e, t) {
1561
+ let n = si(e, t);
1561
1562
  return {
1562
1563
  string: "text",
1563
1564
  number: "num",
@@ -1569,13 +1570,13 @@ function yi(e, t) {
1569
1570
  max: "num"
1570
1571
  }[n] || n;
1571
1572
  }
1572
- function bi(e, t) {
1573
- return yi(e, t) === "num";
1573
+ function Si(e, t) {
1574
+ return xi(e, t) === "num";
1574
1575
  }
1575
- function xi(e) {
1576
+ function Ci(e) {
1576
1577
  return e == null ? "" : typeof e == "number" ? e.toLocaleString() : typeof e == "boolean" ? e ? "true" : "false" : e instanceof Date ? e.toISOString() : String(e);
1577
1578
  }
1578
- var Si = 60, Ci = 150, wi = 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 }) {
1579
+ var wi = 60, Ti = 150, Ei = 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 }) {
1579
1580
  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) => {
1580
1581
  e.preventDefault(), e.stopPropagation();
1581
1582
  let r = e.clientX;
@@ -1588,10 +1589,10 @@ var Si = 60, Ci = 150, wi = V.memo(function({ data: e, columns: t, sortColumn: n
1588
1589
  i && (n[i] = e.getBoundingClientRect().width);
1589
1590
  }), m(n);
1590
1591
  }
1591
- let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : Ci, s = (e) => {
1592
+ let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : Ti, s = (e) => {
1592
1593
  let t = e.clientX - r;
1593
1594
  Math.abs(t) > 2 && (g.current = !0);
1594
- let i = Math.max(Si, o + t);
1595
+ let i = Math.max(wi, o + t);
1595
1596
  p(n, i);
1596
1597
  }, c = () => {
1597
1598
  document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", c), document.body.style.cursor = "", document.body.style.userSelect = "", requestAnimationFrame(() => {
@@ -1605,7 +1606,7 @@ var Si = 60, Ci = 150, wi = V.memo(function({ data: e, columns: t, sortColumn: n
1605
1606
  m
1606
1607
  ]), v = H((e) => {
1607
1608
  g.current || i(e);
1608
- }, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? Ci), 0) : void 0;
1609
+ }, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? Ti), 0) : void 0;
1609
1610
  return l ? e ? e.length === 0 && !s && !c ? /* @__PURE__ */ J("div", {
1610
1611
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
1611
1612
  children: /* @__PURE__ */ Y("div", {
@@ -1629,12 +1630,12 @@ var Si = 60, Ci = 150, wi = V.memo(function({ data: e, columns: t, sortColumn: n
1629
1630
  minWidth: "100%"
1630
1631
  },
1631
1632
  children: [
1632
- /* @__PURE__ */ J("colgroup", { children: t.map((e) => /* @__PURE__ */ J("col", { style: { width: f[e] ?? Ci } }, e)) }),
1633
+ /* @__PURE__ */ J("colgroup", { children: t.map((e) => /* @__PURE__ */ J("col", { style: { width: f[e] ?? Ti } }, e)) }),
1633
1634
  /* @__PURE__ */ J("thead", {
1634
1635
  className: "dc:sticky dc:top-0 dc:z-20",
1635
1636
  style: { backgroundColor: "var(--dc-surface-secondary)" },
1636
1637
  children: /* @__PURE__ */ J("tr", { children: t.map((e, i) => {
1637
- let s = n === e, c = a(e), l = yi(e, o), u = i === t.length - 1, d = bi(e, o);
1638
+ let s = n === e, c = a(e), l = xi(e, o), u = i === t.length - 1, d = Si(e, o);
1638
1639
  return /* @__PURE__ */ Y("th", {
1639
1640
  onClick: () => v(e),
1640
1641
  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"}`,
@@ -1651,7 +1652,7 @@ var Si = 60, Ci = 150, wi = V.memo(function({ data: e, columns: t, sortColumn: n
1651
1652
  className: "dc:text-[10px] dc:opacity-50 dc:shrink-0",
1652
1653
  children: l
1653
1654
  }),
1654
- s && J(r === "asc" ? _i : vi, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
1655
+ s && J(r === "asc" ? yi : bi, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
1655
1656
  ]
1656
1657
  }), /* @__PURE__ */ J("div", {
1657
1658
  onMouseDown: (t) => _(t, e),
@@ -1671,11 +1672,11 @@ var Si = 60, Ci = 150, wi = V.memo(function({ data: e, columns: t, sortColumn: n
1671
1672
  e.currentTarget.style.backgroundColor = "";
1672
1673
  },
1673
1674
  children: t.map((n, r) => {
1674
- let i = r === t.length - 1, a = bi(n, o);
1675
+ let i = r === t.length - 1, a = Si(n, o);
1675
1676
  return /* @__PURE__ */ J("td", {
1676
1677
  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" : ""}`,
1677
1678
  style: { color: "var(--dc-text)" },
1678
- children: xi(e[n])
1679
+ children: Ci(e[n])
1679
1680
  }, n);
1680
1681
  })
1681
1682
  }, n)) })
@@ -1703,12 +1704,12 @@ var Si = 60, Ci = 150, wi = V.memo(function({ data: e, columns: t, sortColumn: n
1703
1704
  });
1704
1705
  //#endregion
1705
1706
  //#region src/client/components/DataBrowser/index.tsx
1706
- function Ti({ className: e = "", maxHeight: t = "100vh", loadingComponent: n }) {
1707
- 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 } = si(), k = W(() => v ? v.cubes.map((e) => ({
1707
+ function Di({ className: e = "", maxHeight: t = "100vh", loadingComponent: n }) {
1708
+ 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 } = li(), k = W(() => v ? v.cubes.map((e) => ({
1708
1709
  name: e.name,
1709
1710
  title: e.title || e.name
1710
1711
  })) : [], [v]), A = H((e) => {
1711
- let { dimensions: t } = oi(e, v);
1712
+ let { dimensions: t } = ci(e, v);
1712
1713
  b(e, t);
1713
1714
  }, [v, b]), j = W(() => {
1714
1715
  function e(t) {
@@ -1729,7 +1730,7 @@ function Ti({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1729
1730
  className: `dc:flex dc:border border-dc-border dc:rounded-lg dc:overflow-hidden bg-dc-surface ${e}`,
1730
1731
  style: { height: t },
1731
1732
  children: [
1732
- /* @__PURE__ */ J(ui, {
1733
+ /* @__PURE__ */ J(fi, {
1733
1734
  cubes: k,
1734
1735
  selectedCube: r,
1735
1736
  onSelectCube: A
@@ -1737,7 +1738,7 @@ function Ti({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1737
1738
  /* @__PURE__ */ Y("div", {
1738
1739
  className: "dc:flex dc:flex-col dc:flex-1 dc:min-w-0",
1739
1740
  children: [
1740
- r && /* @__PURE__ */ J(gi, {
1741
+ r && /* @__PURE__ */ J(vi, {
1741
1742
  showFilterBar: u,
1742
1743
  filterCount: j,
1743
1744
  onToggleFilterBar: T,
@@ -1754,13 +1755,13 @@ function Ti({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1754
1755
  }),
1755
1756
  r && u && /* @__PURE__ */ J("div", {
1756
1757
  className: "dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface",
1757
- children: /* @__PURE__ */ J(cn, {
1758
+ children: /* @__PURE__ */ J(un, {
1758
1759
  filters: l,
1759
1760
  schema: M,
1760
1761
  onFiltersChange: w
1761
1762
  })
1762
1763
  }),
1763
- /* @__PURE__ */ J(wi, {
1764
+ /* @__PURE__ */ J(Ei, {
1764
1765
  data: f,
1765
1766
  columns: i,
1766
1767
  sortColumn: a,
@@ -1786,11 +1787,11 @@ function Ti({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1786
1787
  ]
1787
1788
  });
1788
1789
  }
1789
- function Ei({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight: r, loadingComponent: i }) {
1790
- return /* @__PURE__ */ J(ri, {
1790
+ function Oi({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight: r, loadingComponent: i }) {
1791
+ return /* @__PURE__ */ J(ai, {
1791
1792
  defaultPageSize: n,
1792
1793
  defaultCube: t,
1793
- children: /* @__PURE__ */ J(Ti, {
1794
+ children: /* @__PURE__ */ J(Di, {
1794
1795
  className: e,
1795
1796
  maxHeight: r,
1796
1797
  loadingComponent: i
@@ -1799,13 +1800,13 @@ function Ei({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight:
1799
1800
  }
1800
1801
  //#endregion
1801
1802
  //#region src/client/components/DashboardThumbnailPlaceholder.tsx
1802
- var Di = j("segment");
1803
- function Oi({ className: e = "" }) {
1803
+ var ki = j("segment");
1804
+ function Ai({ className: e = "" }) {
1804
1805
  return /* @__PURE__ */ J("div", {
1805
1806
  className: `dc:flex dc:items-center dc:justify-center bg-dc-bg-secondary ${e}`,
1806
1807
  children: /* @__PURE__ */ Y("div", {
1807
1808
  className: "dc:text-center",
1808
- children: [/* @__PURE__ */ J(Di, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ J("span", {
1809
+ children: [/* @__PURE__ */ J(ki, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ J("span", {
1809
1810
  className: "dc:text-xs text-dc-text-muted",
1810
1811
  children: "No preview"
1811
1812
  })]
@@ -1813,6 +1814,6 @@ function Oi({ className: e = "" }) {
1813
1814
  });
1814
1815
  }
1815
1816
  //#endregion
1816
- export { Xr as AgenticNotebook, je as AnalysisBuilder, Ne as AnalyticsDashboard, Zr as AnalyticsPage, ye as AnalyticsPortlet, Pe as ChartErrorBoundary, Ae as ConfirmModal, x as CubeClient, D as CubeProvider, f as CubeQueryError, u as DEFAULT_ICONS, Fe as DashboardEditModal, be as DashboardFilterBar, Se as DashboardGrid, xe as DashboardGridSurface, _e as DashboardModals, we as DashboardProvider, ue as DashboardStoreProvider, Oi as DashboardThumbnailPlaceholder, se as DashboardToolbar, Ei as DataBrowser, Ie as DrillBreadcrumb, ke as DrillMenu, ln as ExecutionPlanPanel, dn as ExplainAIPanel, nn as LazyChart, B as LoadingIndicator, De as Modal, Kn as NotebookStoreProvider, Te as PortletAnalysisModal, Oe as PortletContainer, o as ScrollContainerProvider, Nt as THEME_PRESETS, Mt as applyTheme, Jt as buildFunnelConfigFromQueries, Gt as buildServerFunnelQuery, g as captureThumbnail, E as chartPluginRegistry, wn as compressAndEncode, b as createCubeClient, at as createDashboardExport, zn as createDashboardLayout, Re as createDashboardStore, Ye as createDefaultConfig, Ke as createDefaultFlowConfig, st as createDefaultFunnelConfig, ut as createDefaultQueryConfig, Je as createDefaultRetentionConfig, lt as createDefaultWorkspace, zt as createExplainQueryKey, xt as createFlowQueryKey, mt as createFunnelQueryKey, Wn as createNotebookStore, et as dashboardExportFilename, jn as decodeAndDecompress, bn as detectAsymmetricDateRanges, yn as detectMeasureCollisions, rt as downloadDashboardExport, T as exportPortletToXlsx, Rn as formatChartData, Ut as formatDuration, gt as generateQueryLabel, _n as generateShareUrl, An as getAvailableBindingKeyDimensions, Qt as getAvailableChartTypes, qt as getBindingKeyField, En as getBindingKeyLabel, S as getChartTypeIcon, St as getCombinedFields, Yt as getCubeNameFromQuery, O as getFieldTypeIcon, j as getIcon, C as getIconData, A as getIconRegistry, v as getIconsByCategory, l as getMeasureTypeIcon, bt as getQueryIndices, vt as getQueryLabels, jt as getTheme, At as getThemeVariable, en as getUnavailableChartTypes, pn as getValidationSummary, ot as highlightCodeBlocks, Zt as isChartTypeAvailable, Ot as isDarkMode, m as isExportAvailable, We as isFlowConfig, Be as isFunnelConfig, Wt as isFunnelData, On as isMinimumFunnelConfigValid, ct as isMultiQuery, ve as isMultiQueryConfig, _t as isMultiQueryData, Mn as isMultiQueryValid, Ge as isQueryConfig, He as isRetentionConfig, N as isSankeyData, P as isServerFlowQuery, Ee as isServerFunnelQuery, vn as isShareableSize, Ve as isSingleQuery, p as isThumbnailCaptureAvailable, Ue as isValidAnalysisConfig, Qe as isValidAnalysisWorkspace, Xt as isValidChartType, ft as mergeQueryResults, wt as mergeResultsByKey, Tt as mergeResultsConcat, $e as migrateConfig, Xe as migrateLegacyPortlet, Ze as normalizeDashboardConfigForExport, qe as parseDashboardExport, Tn as parseShareUrl, $t as preloadChart, tn as preloadCharts, tt as readDashboardExportFile, k as registerIcons, y as resetIcons, Pt as resetTheme, L as selectAllActions, er as selectBlockActions, qn as selectBlocks, an as selectBreakdowns, Nn as selectChartConfig, $n as selectChatActions, Qn as selectChatState, fn as selectCurrentState, fe as selectDebugData, te as selectDebugDataActions, de as selectEditModeActions, pe as selectEditModeState, sn as selectFilters, on as selectFunnelState, Zn as selectInputValue, Yn as selectIsStreaming, ee as selectLayoutActions, re as selectLayoutState, Jn as selectMessages, un as selectMetrics, Me as selectModalActions, ne as selectModalState, Cn as selectMultiQueryState, he as selectPortletDebugData, Xn as selectSessionId, me as selectThumbnailDirty, rn as selectUIState, it as serializeDashboardExport, d as setIcon, It as setTheme, kt as setThemeVariable, Kt as transformServerFunnelResult, Pr as useAgentChat, gn as useAnalysisBuilder, Sn as useAnalysisBuilderStore, c as useCubeApi, w as useCubeContext, s as useCubeFeatures, Dt as useCubeFieldLabel, dt as useCubeLoadQuery, dt as useCubeQuery, Et as useCubeMeta, M as useCubeMetaQuery, oe as useDashboard, ae as useDashboardContext, ge as useDashboardStore, le as useDashboardStoreApi, F as useDashboardStoreOptional, si as useDataBrowser, Ce as useDrillInteraction, Rt as useDryRunQueries, Lt as useDryRunQuery, R as useElementVisibility, Ht as useExplainAI, Vt as useExplainQuery, Ct as useFlowQuery, yt as useFunnelQuery, ht as useMultiCubeLoadQuery, Bt as useMultiDryRunQueries, X as useNotebookStore, a as useScrollContainer, ie as useScrollDetection, Ln as useTheme, xn as validateBindingKeyExists, mn as validateBindingKeyForSteps, Dn as validateFunnelConfig, pt as validateMergeKey, Fn as validateMergeKeys, hn as validateMultiQueryConfig, kn as validateStepQueries, Pn as validateTimeDimensionAlignment, h as warnIfExcelJsMissing, _ as warnIfScreenshotLibMissing, Ft as watchThemeChanges };
1817
+ export { Qr as AgenticNotebook, Me as AnalysisBuilder, Pe as AnalyticsDashboard, $r as AnalyticsPage, ve as AnalyticsPortlet, xe as ChartErrorBoundary, Ae as ConfirmModal, x as CubeClient, D as CubeProvider, f as CubeQueryError, u as DEFAULT_ICONS, Fe as DashboardEditModal, Se as DashboardFilterBar, we as DashboardGrid, Ce as DashboardGridSurface, ye as DashboardModals, ce as DashboardProvider, te as DashboardStoreProvider, Ai as DashboardThumbnailPlaceholder, fe as DashboardToolbar, Oi as DataBrowser, ue as DrillBreadcrumb, F as DrillMenu, dn as ExecutionPlanPanel, pn as ExplainAIPanel, an as LazyChart, B as LoadingIndicator, Oe as Modal, Jn as NotebookStoreProvider, De as PortletAnalysisModal, ke as PortletContainer, o as ScrollContainerProvider, Nt as THEME_PRESETS, Mt as applyTheme, Xt as buildFunnelConfigFromQueries, qt as buildServerFunnelQuery, g as captureThumbnail, E as chartPluginRegistry, En as compressAndEncode, b as createCubeClient, at as createDashboardExport, Vn as createDashboardLayout, re as createDashboardStore, Ye as createDefaultConfig, Ke as createDefaultFlowConfig, st as createDefaultFunnelConfig, ut as createDefaultQueryConfig, Je as createDefaultRetentionConfig, lt as createDefaultWorkspace, Vt as createExplainQueryKey, xt as createFlowQueryKey, mt as createFunnelQueryKey, Kn as createNotebookStore, et as dashboardExportFilename, Nn as decodeAndDecompress, Sn as detectAsymmetricDateRanges, xn as detectMeasureCollisions, rt as downloadDashboardExport, T as exportPortletToXlsx, Rt as fillChartRows, Bn as formatChartData, Gt as formatDuration, gt as generateQueryLabel, yn as generateShareUrl, Mn as getAvailableBindingKeyDimensions, en as getAvailableChartTypes, Yt as getBindingKeyField, On as getBindingKeyLabel, S as getChartTypeIcon, St as getCombinedFields, Zt as getCubeNameFromQuery, O as getFieldTypeIcon, j as getIcon, C as getIconData, A as getIconRegistry, v as getIconsByCategory, l as getMeasureTypeIcon, bt as getQueryIndices, vt as getQueryLabels, jt as getTheme, At as getThemeVariable, nn as getUnavailableChartTypes, hn as getValidationSummary, ot as highlightCodeBlocks, $t as isChartTypeAvailable, Ot as isDarkMode, m as isExportAvailable, We as isFlowConfig, Be as isFunnelConfig, Kt as isFunnelData, An as isMinimumFunnelConfigValid, ct as isMultiQuery, be as isMultiQueryConfig, _t as isMultiQueryData, Pn as isMultiQueryValid, Ge as isQueryConfig, He as isRetentionConfig, N as isSankeyData, P as isServerFlowQuery, je as isServerFunnelQuery, bn as isShareableSize, Ve as isSingleQuery, p as isThumbnailCaptureAvailable, Ue as isValidAnalysisConfig, Qe as isValidAnalysisWorkspace, Qt as isValidChartType, ft as mergeQueryResults, wt as mergeResultsByKey, Tt as mergeResultsConcat, $e as migrateConfig, Xe as migrateLegacyPortlet, Ze as normalizeDashboardConfigForExport, qe as parseDashboardExport, Dn as parseShareUrl, tn as preloadChart, rn as preloadCharts, tt as readDashboardExportFile, k as registerIcons, y as resetIcons, Pt as resetTheme, oe as selectAllActions, nr as selectBlockActions, Yn as selectBlocks, sn as selectBreakdowns, Fn as selectChartConfig, tr as selectChatActions, er as selectChatState, mn as selectCurrentState, de as selectDebugData, Re as selectDebugDataActions, L as selectEditModeActions, me as selectEditModeState, ln as selectFilters, cn as selectFunnelState, $n as selectInputValue, Zn as selectIsStreaming, ne as selectLayoutActions, pe as selectLayoutState, Xn as selectMessages, fn as selectMetrics, he as selectModalActions, R as selectModalState, Tn as selectMultiQueryState, ae as selectPortletDebugData, Qn as selectSessionId, Ne as selectThumbnailDirty, on as selectUIState, it as serializeDashboardExport, d as setIcon, It as setTheme, kt as setThemeVariable, Jt as transformServerFunnelResult, Ir as useAgentChat, vn as useAnalysisBuilder, wn as useAnalysisBuilderStore, c as useCubeApi, w as useCubeContext, s as useCubeFeatures, Dt as useCubeFieldLabel, dt as useCubeLoadQuery, dt as useCubeQuery, Et as useCubeMeta, M as useCubeMetaQuery, I as useDashboard, Ee as useDashboardContext, ie as useDashboardStore, _e as useDashboardStoreApi, ge as useDashboardStoreOptional, li as useDataBrowser, Ie as useDrillInteraction, Bt as useDryRunQueries, zt as useDryRunQuery, se as useElementVisibility, Wt as useExplainAI, Ut as useExplainQuery, Ct as useFlowQuery, yt as useFunnelQuery, ht as useMultiCubeLoadQuery, Ht as useMultiDryRunQueries, X as useNotebookStore, a as useScrollContainer, le as useScrollDetection, zn as useTheme, Cn as validateBindingKeyExists, gn as validateBindingKeyForSteps, kn as validateFunnelConfig, pt as validateMergeKey, Ln as validateMergeKeys, _n as validateMultiQueryConfig, jn as validateStepQueries, In as validateTimeDimensionAlignment, h as warnIfExcelJsMissing, _ as warnIfScreenshotLibMissing, Ft as watchThemeChanges, Lt as withChartGapFilling };
1817
1818
 
1818
1819
  //# sourceMappingURL=index.js.map